特開2018-187032(P2018-187032A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧
特開2018-187032医用画像処理装置、医用画像処理方法、及び、内視鏡システム
<>
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000003
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000004
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000005
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000006
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000007
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000008
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000009
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000010
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000011
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000012
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000013
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000014
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000015
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000016
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000017
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000018
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000019
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000020
  • 特開2018187032-医用画像処理装置、医用画像処理方法、及び、内視鏡システム 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2018-187032(P2018-187032A)
(43)【公開日】2018年11月29日
(54)【発明の名称】医用画像処理装置、医用画像処理方法、及び、内視鏡システム
(51)【国際特許分類】
   A61B 1/04 20060101AFI20181102BHJP
   G02B 23/24 20060101ALI20181102BHJP
   H04N 7/18 20060101ALI20181102BHJP
【FI】
   A61B1/04 510
   G02B23/24 B
   H04N7/18 M
【審査請求】未請求
【請求項の数】11
【出願形態】OL
【全頁数】29
(21)【出願番号】特願2017-91329(P2017-91329)
(22)【出願日】2017年5月1日
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニー株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】山根 真人
(72)【発明者】
【氏名】平山 智之
(72)【発明者】
【氏名】杉江 雄生
(72)【発明者】
【氏名】中野 毅人
【テーマコード(参考)】
2H040
4C161
5C054
【Fターム(参考)】
2H040GA10
2H040GA11
4C161AA24
4C161BB01
4C161BB08
4C161CC06
4C161DD01
4C161DD03
4C161JJ11
4C161LL03
4C161NN10
4C161SS01
4C161SS21
4C161TT09
4C161WW04
5C054CA04
5C054CC02
5C054HA12
(57)【要約】
【課題】より低レイテンシを実現する。
【解決手段】分配集約部は、CPU(Central Processing Unit)が管理するメモリを介さずに、医用画像の画像処理を行う複数の画像処理部それぞれが出力する医用画像を集約するとともに、複数の画像処理部それぞれに対して、医用画像を分配する。本技術は、例えば、内視鏡等で撮影された医用画像を処理する場合等に適用することができる。
【選択図】図8
【特許請求の範囲】
【請求項1】
医用画像の画像処理を行う複数の画像処理部と、
CPU(Central Processing Unit)が管理するメモリを介さずに、前記複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する分配集約部と
を備える医用画像処理装置。
【請求項2】
前記分配集約部は、さらに、前記複数の画像処理部それぞれに対して、前記医用画像の入出力I/F(Interface)が出力する前記医用画像を分配するとともに、集約後の前記医用画像を、前記入出力I/Fに供給する
請求項1に記載の医用画像処理装置。
【請求項3】
前記分配集約部による前記医用画像の分配及び集約を制御することにより、前記医用画像の画像処理のデータフローを制御する制御部をさらに備える
請求項1に記載の医用画像処理装置。
【請求項4】
前記医用画像の集約後、前記医用画像の分配の前に、前記医用画像に、所定の信号処理を施す信号処理部をさらに備える
請求項1に記載の医用画像処理装置。
【請求項5】
前記分配集約部は、
前記医用画像の集約を行う集約部と、
前記集約部が出力する前記医用画像に、所定の信号処理を施す前記信号処理部と、
前記信号処理部が出力する前記医用画像を分配する分配部と
を有する
請求項4に記載の医用画像処理装置。
【請求項6】
前記画像処理部は、GPU(Graphical Processing Unit)で構成される
請求項1に記載の医用画像処理装置。
【請求項7】
前記分配集約部は、FPGA(Field-Programmable Gate Array)で構成される
請求項1に記載の医用画像処理装置。
【請求項8】
前記画像処理部と前記分配集約部とは、所定の転送速度より高速でのデータ転送が可能なバスI/F(Interface)を介して接続される
請求項1に記載の医用画像処理装置。
【請求項9】
前記バスI/Fは、PCIe(Peripheral Component Interconnect Express)のI/Fである
請求項8に記載の医用画像処理装置。
【請求項10】
CPU(Central Processing Unit)が管理するメモリを介さずに、医用画像の画像処理を行う複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する
ことを含む医用画像処理方法。
【請求項11】
医用画像を撮影する内視鏡と、
前記医用画像を処理する医用画像処理装置と
を備え、
前記医用画像処理装置は、
前記医用画像の画像処理を行う複数の画像処理部と、
CPU(Central Processing Unit)が管理するメモリを介さずに、前記複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する分配集約部と
を有する
内視鏡システム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、医用画像処理装置、医用画像処理方法、及び、内視鏡システムに関し、特に、例えば、より低レイテンシを実現することができるようにする医用画像処理装置、医用画像処理方法、及び、内視鏡システムに関する。
【背景技術】
【0002】
例えば、内視鏡で撮影される、医療の用に供される医用画像については、医師が、医用画像を見ながら手術等を行うため、撮影から表示までを低レイテンシで行うことが要請される。
【0003】
例えば、画像を水平方向に並ぶ複数の領域に分割し、複数のGPU(Graphical Processing Unit)を用いて、複数の領域をそれぞれ処理する並列処理を行うことで、低レイテンシを実現する画像処理装置が提案されている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2015/163171号
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、画像を撮影するイメージセンサの性能の向上に伴い、内視鏡等で撮影される医用画像が、いわゆる4K画像や8K画像等のような多画素(高画素)の画像になりつつある。かかる多画素の医用画像の撮影から表示までを低レイテンシで行うには、特許文献1に記載のように、複数のGPUを用いた並列処理が有効である。
【0006】
しかしながら、特許文献1に記載の画像処理装置は、PC(Personal Computer)アーキテクチャをベースに構成され、複数のGPUが処理する前の医用画像や処理した後の医用画像が、CPU(Central Processing Unit)が管理するメモリに転送されて記憶される。
【0007】
したがって、GPUの処理を高速化しても、GPUとCPUが管理するメモリとの間の医用画像の転送に要する時間が、少なくともレイテンシとして生じる。
【0008】
本技術は、このような状況に鑑みてなされたものであり、医用画像の撮影から表示までを、より低レイテンシで行うことができるようにするものである。
【課題を解決するための手段】
【0009】
本技術の医用画像処理装置又は内視鏡システムは、医用画像の画像処理を行う複数の画像処理部と、CPU(Central Processing Unit)が管理するメモリを介さずに、前記複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する分配集約部とを備える医用画像処理装置、又は、そのような医用画像処理装置を備える内視鏡システムである。
【0010】
本技術の医用画像処理方法は、CPU(Central Processing Unit)が管理するメモリを介さずに、医用画像の画像処理を行う複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配することを含む医用画像処理方法である。
【0011】
本技術の医用画像処理装置、医用画像処理方法、及び、内視鏡システムにおいては、 CPU(Central Processing Unit)が管理するメモリを介さずに、医用画像の画像処理を行う複数の画像処理部それぞれが出力する前記医用画像が集約されるとともに、前記複数の画像処理部それぞれに対して、前記医用画像が分配される。
【0012】
なお、医用画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【0013】
本技術によれば、より低レイテンシを実現することができる。
【0014】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0015】
図1】本技術を適用した内視鏡手術システムの一実施の形態の構成例を示す図である。
図2】CCU201の第1の構成例を示すブロック図である。
図3】CCU201で医用画像に対して行われる手ぶれ補正(処理)の概要を説明する図である。
図4】CCU201で医用画像に対して行われる手ぶれ補正を含む画像処理の例の概要を説明するフローチャートである。
図5】画像処理の開始時に、必要な医用画像の領域が未知の画像処理を施す場合に並列処理の効率が著しく劣化することを説明する図である。
図6】処理対象画像に、手ぶれ補正を含む画像処理が施される場合の分配集約の例を説明する図である。
図7】分配集約を、CPU303が行う場合の、CCU201の第1の構成例の処理の例を説明するフローチャートである。
図8】CCU201の第2の構成例を示すブロック図である。
図9】分配集約部312の構成例を示すブロック図である。
図10】GPU315iの構成例を示すブロック図である。
図11】CCU201の第2の構成例の処理の例を説明するフローチャートである。
図12】CCU201の第1の構成例と、CCU201の第2の構成例との処理のタイミングの例を説明する図である。
図13】CCU201の第2の構成例で処理が行われる場合のデータフローの第1の例を示す図である。
図14】CCU201の第2の構成例で処理が行われる場合のデータフローの第2の例を示す図である。
図15】CCU201の第2の構成例で処理が行われる場合のデータフローの第3の例を示す図である。
図16】CCU201が処理対象とする処理対象画像の例を示す図である。
図17】分配集約部312の他の構成例を示すブロック図である。
図18】CCU201の第3の構成例を示すブロック図である。
図19】本技術を適用し得るコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
<本技術を適用した内視鏡手術システムの一実施の形態>
【0017】
図1は、本技術を適用した内視鏡手術システムの一実施の形態の構成例を示す図である。
【0018】
図1では、術者(医師)131が、内視鏡手術システム10を用いて、患者ベッド133上の患者132に手術を行っている様子が図示されている。図示するように、内視鏡手術システム10は、内視鏡100と、気腹チューブ111やエネルギ処置具112等の、その他の術具110と、内視鏡100を支持する支持アーム装置120と、内視鏡下手術のための各種の装置が搭載されたカート200と、から構成される。
【0019】
内視鏡100は、先端から所定の長さの領域が患者132の体腔内に挿入される鏡筒101と、鏡筒101の基端に接続されるカメラヘッド102と、から構成される。図示する例では、硬性の鏡筒101を有するいわゆる硬性鏡として構成される内視鏡100を図示しているが、内視鏡100は、軟性の鏡筒を有するいわゆる軟性鏡として構成されてもよい。
【0020】
鏡筒101の先端には、対物レンズが嵌め込まれた開口部が設けられている。内視鏡100には光源装置203が接続されており、光源装置203によって生成された光が、鏡筒101の内部に延設されるライトガイドによって鏡筒101の先端まで導光され、対物レンズを介して患者132の体腔内の観察対象に向かって照射される。なお、内視鏡100は、直視鏡であってもよいし、斜視鏡又は側視鏡であってもよい。
【0021】
カメラヘッド102の内部には、光学系及びイメージセンサ(撮像素子)が設けられており、観察対象からの反射光(観察光)は、光学系によってイメージセンサに集光される。イメージセンサによって観察光が光電変換され、観察光に対応する電気信号、すなわち観察像に対応する画像信号が生成される。画像信号は、RAWデータとしてカメラコントロールユニット(CCU: Camera Control Unit)201に送信される。
【0022】
なお、カメラヘッド102(のイメージセンサ)での画像信号の生成、すなわち、画像の撮影では、例えば、4K画像や8K画像の多画素の医用画像を撮影することができる。
【0023】
CCU201は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等によって構成され、内視鏡100及び表示装置202の動作を統括的に制御する。さらに、CCU201は、カメラヘッド102から画像信号(画像データ)を受け取り、その画像信号に対して、例えば、現像処理(デモザイク処理)等の、画像信号に対応する医用画像を表示するための各種の画像処理を施す。
【0024】
すなわち、CCU201は、内視鏡100(のカメラヘッド102)で撮影された医用画像を処理する医用画像処理装置として機能する。
【0025】
表示装置202は、CCU201からの制御により、CCU201によって画像処理が施された画像信号に対応する医用画像を表示する。
【0026】
光源装置203は、例えばLED(Light Emitting Diode)等の光源から構成され、術部等の観察対象を撮影する際の照射光を内視鏡100に供給する。
【0027】
入力装置204は、内視鏡手術システム10に対する入力インタフェースである。ユーザは、入力装置204を介して、内視鏡手術システム10に対して各種の情報の入力や指示入力を行うことができる。例えば、ユーザは、内視鏡100による撮像条件(照射光の種類、倍率及び焦点距離等)を変更する旨の指示等を入力する。
【0028】
処置具制御装置205は、組織の焼灼、切開又は血管の封止等のためのエネルギ処置具112の駆動を制御する。気腹装置206は、内視鏡100による視野の確保及び術者(ユーザ)の作業空間の確保の目的で、患者132の体腔を膨らめるために、気腹チューブ111を介して体腔内にガスを送り込む。レコーダ207は、手術に関する各種の情報を記録可能な装置である。プリンタ208は、手術に関する各種の情報を、テキスト、画像又はグラフ等各種の形式で印刷可能な装置である。
【0029】
なお、内視鏡100に術部を撮影する際の照射光を供給する光源装置203は、例えばLED、レーザ光源又はこれらの組み合わせによって構成される白色光源から構成することができる。RGB(Red, Green, Blue)レーザ光源の組み合わせにより白色光源が構成される場合には、各色(各波長)の出力強度及び出力タイミングを高精度に制御することができるため、光源装置203において画像のホワイトバランスの調整を行うことができる。また、この場合には、RGBレーザ光源それぞれからのレーザ光を時分割で術部に照射し、その照射タイミングに同期してカメラヘッド102のイメージセンサの駆動を制御することにより、RGBそれぞれに対応した画像を時分割で撮像することも可能である。以上のようなイメージセンサの駆動の制御を行う場合には、イメージセンサにカラーフィルタを設けなくても、カラー画像を得ることができる。
【0030】
また、光源装置203は、出力する光の強度を所定の時間ごとに変更するようにその駆動が制御されてもよい。その光の強度の変更のタイミングに同期してカメラヘッド102のイメージセンサの駆動を制御して時分割で画像を取得し、その画像を合成することにより、いわゆる黒つぶれ及び白とびのない高ダイナミックレンジの画像を生成することができる。
【0031】
また、光源装置203は、特殊光観察に対応した所定の波長帯域の光を供給可能に構成されてもよい。特殊光観察では、例えば、体組織における光の吸収の波長依存性を利用して、通常の観察時における照射光(すなわち、白色光)に比べて狭帯域の光を照射することにより、粘膜表層の血管等の所定の組織を高コントラストで撮影する、いわゆる狭帯域光観察(Narrow Band Imaging)が行われる。あるいは、特殊光観察では、励起光を照射することにより発生する蛍光により画像を得る蛍光観察が行われてもよい。蛍光観察では、体組織に励起光を照射し、その体組織からの蛍光を観察すること(自家蛍光観察)、又はインドシアニングリーン(ICG)等の試薬を体組織に局注するとともに、体組織にその試薬の蛍光波長に対応した励起光を照射し蛍光像を得ること等を行うことができる。光源装置203は、このような特殊光観察に対応した狭帯域光及び/又は励起光を供給可能に構成され得る。
【0032】
<CCU201の第1の構成例>
【0033】
図2は、図1のCCU201の第1の構成例を示すブロック図である。
【0034】
図2において、CCU201は、PCアーキテクチャをベースに構成され、カメラ入出力I/F(Interface)301、PCI(Peripheral Component Interconnect)スイッチ302、CPU(Central Processing Unit)303、及び、メモリ304、並びに、複数である、例えば、3個のGPU3051,3052、及び、3053を有する。
【0035】
カメラ入出力I/F301は、図1のカメラヘッド102や表示装置202との間で、医用画像をやりとりするためのI/Fであり、カメラヘッド102から供給される、内視鏡100で撮影された医用画像(の画像データ)を、PCIスイッチ302に供給するとともに、PCIスイッチ302から供給される医用画像を、表示装置202に供給する。
【0036】
PCIスイッチ302は、カメラ入出力I/F301、CPU303、及び、GPU3051ないし3053とバスを介して接続されている。PCIスイッチ302は、PCIのバス規格に従って、カメラ入出力I/F301、CPU303、及び、GPU305iの間での医用画像その他のデータのやりとりを中継する。
【0037】
したがって、カメラ入出力I/F301、PCIスイッチ302、CPU303、及び、GPU3051ないし3053は、バスに接続するためのバスI/Fとして、PCIのI/Fを内蔵する。
【0038】
CPU303は、所定のプログラムに従って、CCU201の全体を制御する。例えば、CPU303は、メモリ304を管理し、PCIスイッチ302から供給される医用画像を記憶させるとともに、メモリ304に記憶された医用画像を読み出し、PCIスイッチ302に供給する。なお、CPU303が実行するプログラムは、あらかじめメモリ304にインストールすることや、図示せぬ記録媒体から、メモリ304にインストールすること、サイトからダウンロードして、メモリ304にインストールすること等が可能である。
【0039】
メモリ304は、CPU303の管理の下、医用画像その他のデータを記憶する。なお、図2では、メモリ304に対しては、医用画像の読み書きが行われるので、医用画像の撮影から表示までを低レイテンシで行う観点から、メモリ304としては、高速なメモリを採用することが望ましい。また、メモリ304に対する医用画像その他のデータの読み書きは、DMA(Direct Memory Access)によって行うことができる。メモリ304に対するデータの読み書きは、CPU303の関与なしに行うことができるが、それでも、メモリ304は、CPU303に管理されるメモリであることに変わりはない。
【0040】
GPU305iは(図2では、i=1,2,3)、PCIスイッチ302から供給される医用画像の画像処理を行う画像処理部の一例であり、画像処理後の医用画像を、PCIスイッチ302に供給する。
【0041】
ここで、図2では、CCU201に、3個のGPU3051ないし3053が設けられているが、GPUの数は、3個に限定されるものではない。すなわち、CCU201には、2個、又は、4個以上の複数の数のGPUを設けることができる。
【0042】
以上のように構成されるCCU201では、カメラ入出力I/F301が、カメラヘッド102から供給される医用画像を、PCIスイッチ302を介して、CPU303に出力し、CPU303は、カメラ入出力I/F301が出力する医用画像を、メモリ304に記憶させる。
【0043】
さらに、CPU303は、メモリ304に記憶された医用画像の全部又は一部を読み出し、PCIスイッチ302を介して、GPU305iに、必要に応じて供給する。
【0044】
GPU305iは、PCIスイッチ302を介して供給される医用画像の画像処理を行い、その結果得られる医用画像を、PCIスイッチ302を介して、CPU303に出力する。
【0045】
CPU303は、GPU305iが出力する医用画像を、メモリ304に記憶させる。
【0046】
メモリ304に記憶された医用画像のGPU305iへの供給、GPU305iによる医用画像の画像処理、及び、GPU305iが出力する画像処理後の医用画像のメモリ304への記憶は、必要に応じて繰り返される。
【0047】
そして、GPU305iにおいて必要な画像処理がすべて行われ、その画像処理後の医用画像がメモリ304に記憶されると、CPU303は、メモリ304に記憶された医用画像を読み出し、PCIスイッチ302を介して、カメラ入出力I/F301に供給する。
【0048】
カメラ入出力I/F301は、CPU303から供給される、必要な画像処理のすべて行われた後の医療画像を、表示装置202に供給する。
【0049】
<CCU201で行われる画像処理の例>
【0050】
図3は、CCU201で医用画像に対して行われる画像処理の一例としての手ぶれ補正(処理)の概要を説明する図である。
【0051】
手ぶれ補正では、医用画像に映る術部等の被写体(像)が、手ぶれをキャンセルするように変形される。図3では、手ぶれ補正としての医用画像の変形として、医用画像に映る被写体が、時計回りに所定の角度だけ回転され、かつ、左方向に所定の距離だけ平行移動されている。
【0052】
医師やスコピスト等のユーザが、内視鏡100を手に持って撮影を行う場合には、内視鏡100が揺れてしまうことに起因して、内視鏡100で撮影される医用画像がぶれた画像になり、そのようなぶれた医用画像が表示装置202に表示されることがあり得る。手ぶれ補正によれば、医用画像に映る被写体のぶれを抑制し、ユーザが見やすい医用画像を表示することができる。
【0053】
なお、手ぶれ補正としての医用画像の変形は、例えば、アフィン変換によって行うことができる。
【0054】
図4は、CCU201で医用画像に対して行われる手ぶれ補正を含む画像処理の例の概要を説明するフローチャートである。
【0055】
ステップS11において、GPU305iは、内視鏡100で撮影された医用画像の現像処理を行い、処理は、ステップS12に進む。
【0056】
ステップS12では、GPU305iは、現像処理後の医用画像の検波処理を行い、処理は、ステップS13及びS14に進む。ここで、医用画像の検波処理では、医用画像の1以上の画素ごとの動き量その他の特徴量が検出される。検波処理の結果(検波結果)としての動き量等は、GPU305iからPCIスイッチ302を介して、CPU303に供給される。
【0057】
ステップS13では、GPU305iは、検波処理後の医用画像に対して、ノイズリダクション等の高画質化処理を行う。
【0058】
ステップS14では、CPU303は、GPU305iからの検波結果に応じて、医用画像全体(全画面)の動きを推定し、その動きに応じて、手ぶれ補正としての医用画像の変形を行う変形パラメータを生成するパラメータ生成処理を行う。パラメータ生成処理では、例えば、手ぶれ補正としてのアフィン変換を行う行列の要素が、変形パラメータとして生成される。CPU303は、変形パラメータを、PCIスイッチ302を介して、GPU305iに供給する。
【0059】
なお、ここでは、ステップS14のパラメータ生成処理を、CPU303が行うこととしたが、パラメータ生成処理は、CPU303ではなく、GPU305iで行うことができる。
【0060】
ステップS13及びS14の後、処理は、ステップS15に進み、GPU305iは、CPU303から供給される変形パラメータに従って、高画質化処理後の医用画像を変形する変形処理を行うことで、手ぶれ補正を行う。
【0061】
手ぶれ補正後の医用画像は、カメラ入出力I/F301から表示装置202に供給されて表示される。
【0062】
なお、ステップS12の検波処理は、ステップS11の現像処理の直前や、ステップS13の高画質化処理の直後等の、ステップS14の変形処理の前の任意のタイミングで行うことができる。また、ステップS13の高画質化処理は、ステップS15の変形処理の後に行うことができる。
【0063】
ところで、図2では、CCU201は、複数としての3個のGPU3051ないし3053を有するので、その3個のGPU3051ないし3053を用いて、医用画像の画像処理を、並列(分散)処理で行うことができる。医用画像の画像処理を、並列処理で行うことで、医用画像の撮影から表示までを低レイテンシで行うことができる。
【0064】
例えば、単純には、医用画像を、GPU3051ないし3053の数と同一の3個の水平方向に並ぶ領域に等分に分割し、1個の領域(の画像)の画像処理を、1個のGPU305iが担当することで、大まかには、1個のGPUで、分割しない医用画像全体の画像処理を担当する場合に比較して、画像処理に要する時間を1/3に削減することができる。
【0065】
しかしながら、医用画像に、手ぶれ補正としての変形(処理)のように、画像処理の開始時に、必要な医用画像の領域(範囲)が未知の画像処理を施す場合には、並列処理の効率が著しく劣化することがある。
【0066】
図5は、画像処理の開始時に、必要な医用画像の領域が未知の画像処理を施す場合に並列処理の効率が著しく劣化することを説明する図である。
【0067】
ここで、以下では、医用画像に施す画像処理として、例えば、手ぶれ補正を含む画像処理を採用することとする。また、画像処理は、医用画像の、例えば、1ピクチャ(フレーム)を、処理対象の処理対象画像として行うこととする。さらに、以下では、GPU3051,3052,3053を、それぞれ、GPU#1, GPU#2, GPU#3とも記載する。
【0068】
なお、医用画像に施す画像処理は、手ぶれ補正を含む画像処理に限定されるものではない。
【0069】
いま、例えば、図5に示すように、処理対象画像としての1ピクチャの医用画像を、並列処理を行うGPU#1ないし#3の数と同一の3個の水平方向に並ぶ3個の領域A1, A2, A3に等分に分割し、GPU#iが、手ぶれ補正後の処理対象画像の領域A#iを、担当領域A#iとして、その担当領域A#iの画像Q#iの出力を担当することとする(ここでは、i=1,2,3)。
【0070】
ここで、GPU#iにおいて、手ぶれ補正として、変形量がゼロでない変形が行われる場合、手ぶれ補正前の処理対象画像の担当領域A#iの画像P#iと、手ぶれ補正後の処理対象画像の担当領域A#iの画像Q#iとは、一致しない。
【0071】
GPU#iは、担当領域A#iの画像Q#iの出力するために、変形パラメータに従って、手ぶれ補正前の処理対象画像を変形することで、手ぶれ補正後の処理対象画像の担当領域A#iの画像Q#iを生成する。
【0072】
担当領域A#iの画像Q#iの生成にあたり、手ぶれ補正前の処理対象画像において、変形パラメータに従った変形の対象となる対象領域は、変形パラメータに従って変形したときに、担当領域A#iとなる領域であり、変形パラメータが求められる(生成される)までは、未知である。
【0073】
上述の図4では、変形パラメータの生成が、現像処理及び検波処理の後、高画質化処理と並列して行われるため、最悪の場合、変形パラメータは、現像処理、検波処理、及び、高画質化処理の後に求められる。
【0074】
したがって、変形パラメータ、ひいては、変形パラメータに従った変形の対象となる対象領域は、現像処理、検波処理、及び、高画質化処理が終了するまでは、未知である。
【0075】
一方、GPU#iは、メモリを内蔵し、画像を、内蔵するメモリに適宜記憶させて、画像処理を行うが、GPU#1ないし#3が内蔵するメモリそれぞれは、独立しており、GPU#1ないし#3の間で、(直接的な)データのやりとりは行われない。
【0076】
したがって、各GPU#iは、手ぶれ補正前の処理対象画像のうちの、変形パラメータに従った変形の対象となる対象領域の画像は、内蔵するメモリに記憶しておく必要がある。
【0077】
対象領域は、現像処理、検波処理、及び、高画質化処理が終了するまでは、未知であるため、各GPU#iは、手ぶれ補正前の処理対象画像の、どの領域が対象領域になっても対処することができるように、手ぶれ補正前の処理対象画像の全体を、内蔵するメモリに記憶しておく必要がある。
【0078】
したがって、図5に示すように、GPU#1ないし#3は、それぞれ、別個独立に、処理対象画像の全領域Aの画像Pの現像処理及び高画質化処理を少なくとも担当する必要がある(処理対象画像の全領域Aの画像Pの検波処理は、GPU#1ないし#3のうちのいずれか1つが行えばよい)。
【0079】
その結果、GPU#1ないし#3iのそれぞれが、同一の処理対象画像に対する現像処理及び高画質化処理を行うこととなり、並列処理の効率が著しく劣化する。
【0080】
変形パラメータに従った変形の最大量が制限されること等によって既知である場合も、各GPU#iは、手ぶれ補正前の処理対象画像のうちの、ゼロから既知の最大量までの変形に必要な領域の画像を、内蔵するメモリに記憶し、現像処理及び高画質化処理を行う必要がある。したがって、やはり、並列処理の効率が著しく劣化する。
【0081】
手ぶれ補正としての変形等のように、画像処理の開始時に、必要な処理対象画像の領域が未知の画像処理を施す場合に、上述のように、並列処理の効率が著しく劣化することを抑制する方法としては、並列処理を行う各GPU#iに対して処理対象画像の必要な部分を分配するとともに、各GPU#iの画像処理後の処理対象画像(の担当領域A#iの画像)を集約する分配集約を行う方法がある。
【0082】
<分配集約>
【0083】
図6は、処理対象画像に、図4で説明した手ぶれ補正を含む画像処理が施される場合の分配集約の例を説明する図である。
【0084】
ここで、以下では、説明を簡単にするため、例えば、図5で説明したように、処理対象画像を、並列処理を行うGPU#1ないし#3の数と同一の3個の水平方向に並ぶ3個の領域A1, A2, A3に等分に分割し、GPU#iが、手ぶれ補正後の処理対象画像の領域A#iを、担当領域A#iとして、その担当領域A#iの画像Q#iの出力を担当することとする。
【0085】
なお、担当領域A1, A2, A3は、処理対象画像を等分に分割した同一のサイズの領域に限定されるものではない。すなわち、担当領域A1, A2, A3としては、例えば、異なるサイズの領域を採用することができる。また、担当領域A1, A2, A3としては、例えば、一部がオーバーラップする領域を採用することができる。
【0086】
処理対象画像の領域A#iの画像P#iは、その領域A#iを担当するGPU#iに分配される。GPU#iは、画像が分配される領域A#iを担当領域A#iとして、その担当領域A#iの画像P#iに、第1の画像処理として、現像処理、検波処理、及び、高画質化処理を施す。
【0087】
また、各GPU#iは、担当領域A#iの画像P#iに対する検波処理の検波結果を、CPU303に供給し、CPU303は、各GPU#iからの検波結果を用いて、変形パラメータを生成し、各GPU#iに供給する。
【0088】
各GPU#iの第1の画像処理後の担当領域A#iの画像は、処理対象画像の全領域Aの画像Pとして集約され、その集約後の全領域Aの画像Pが、各GPU#iに分配される。
【0089】
各GPU#iは、CPU303からの変形パラメータに基づき、第1の画像処理後に集約された処理対象画像の全領域Aの画像Pのうちの、担当領域A#iの手ぶれ補正後の画像Q#iを生成するのに必要な領域の画像を、変形の対象領域の画像として特定する、さらに、各GPU#iは、対象領域の画像を、CPU303から供給される変形パラメータに従って変形する変形処理を、第2の画像処理として行うことで、担当領域A#iについてだけ、手ぶれ補正後の画像Q#iを求める。
【0090】
各GPU#iの第2の画像処理後の担当領域A#iの画像Q#iは、処理対象画像の全領域Aの画像として集約され、その集約後の全領域Aの画像が、手ぶれ補正後の変形画像として、CCU201から、表示装置202に出力される。
【0091】
以上のように、分配集約を行う場合には、GPU#iは、担当領域A#iの画像P#iを対象に、第1の画像処理としての現像処理、検波処理、及び、高画質化処理を行うとともに、担当領域A#iの手ぶれ補正後の画像Q#iを生成するのに必要な領域の画像を、変形の対象領域の画像として、第2の画像処理としての変形処理を行えばよいので、図5で説明したような、GPU#1ないし#3の並列処理の効率の著しい劣化を抑制することができる。
【0092】
なお、図2のCCU201の第1の構成例では、図6で説明した分配集約は、CPU303が行う。
【0093】
<分配集約を、CPU303が行う場合のCCU201の処理>
【0094】
図7は、分配集約を、CPU303が行う場合の、図2のCCU201の第1の構成例の処理の例を説明するフローチャートである。
【0095】
なお、図7では、図2で説明したように、第1の画像処理としての現像処理、検波処理、及び、高画質化処理が行われるとともに、第2の画像処理としての変形処理が行われることとする。
【0096】
内視鏡100で撮影された医用画像は、カメラ入出力I/F301に供給され、カメラ入出力I/F301は、内視鏡100からの医用画像を、PCIスイッチ302に出力する。
【0097】
ステップS21において、CPU303は、カメラ入出力I/F301が出力する医用画像を、PCIスイッチ302及びCPU303を介して、メモリ304に転送して記憶させ、メモリ304に記憶された医用画像の1ピクチャを、処理対象画像に設定する。
【0098】
ステップS22において、CPU303は、メモリ304に記憶された処理対象画像のうちの、各GPU#iが担当する担当領域A#iの画像(P#i)を、メモリ304から、CPU303及びPCIスイッチ302を介して、各GPU#iに転送することで、担当領域A#i(の画像)を、GPU#iに分配する。
【0099】
ステップS23では、GPU#iは、担当領域A#iの画像を対象に、第1の画像処理としての現像処理、検波処理、及び、高画質化処理を行い、その第1の画像処理後の担当領域A#iの画像を、PCIスイッチ302に出力する。さらに、GPU#iは、検波処理の検波結果を、PCIスイッチ302を介して、CPU303に供給する。CPU303は、各GPU#iからの検波結果に応じて、手ぶれ補正としての変形に用いる変形パラメータを生成し、PCIスイッチ302を介して、GPU#iに供給する。
【0100】
ステップS24において、CPU303は、各GPU#iが出力する第1の画像処理後の担当領域A#iの画像を、PCIスイッチ302、及び、CPU303を介して、メモリ304に転送して記憶させることで、各GPU#iの第1の画像処理後の担当領域A#iの画像を、処理対象画像の全領域Aの画像として集約する。
【0101】
ステップS25において、CPU303は、メモリ304に記憶された集約後の処理対象画像の全領域Aの画像を、CPU303及びPCIスイッチ302を介して、各GPU#iに転送することで、全領域Aの画像を、各GPU#iに分配する。
【0102】
ステップS26において、各GPU#iは、CPU303から分配された処理対象画像の全領域Aの画像(P)のうちの、変形処理後に担当領域A#iの画像となる部分を、変形の対象領域の画像に設定する。さらに、各GPU#iは、対象領域の画像を、CPU303からの変形パラメータに従って変形する変形処理を、第2の画像処理として行うことで、担当領域A#iについてだけ、手ぶれ補正後の画像Q#iを求め、PCIスイッチ302に出力する。
【0103】
ステップS27において、CPU303は、各GPU#iが出力する担当領域A#iの手ぶれ補正後の画像(Q#i)を、PCIスイッチ302、及び、CPU303を介して、メモリ304に転送して記憶させることで、各GPU#iの担当領域A#iの手ぶれ補正後の画像を、手ぶれ補正後の処理対象画像の全領域Aの画像として集約する。
【0104】
ステップS28において、CPU303は、メモリ304に記憶された手ぶれ補正後の処理対象画像の全領域Aの画像を、メモリ304から、CPU303及びPCIスイッチ302を介して、カメラ入出力I/F301に転送する。
【0105】
カメラ入出力I/F301に転送された手ぶれ補正後の処理対象画像は、カメラ入出力I/F301から、表示装置202に供給される。
【0106】
ところで、図2のCCU201の第1の構成例において、分配集約を行う場合には、CPU303が、分配や集約の対象となる画像を、CPU303が管理するメモリ304に転送して記憶させる。
【0107】
したがって、GPU#iの処理を高速化しても、分配や集約の対象となる画像のメモリ304に対する転送(メモリ304への転送、及び、メモリ304からの転送)に要する時間が、医用画像の撮影から表示までのレイテンシとして、少なくとも生じる。
【0108】
そこで、以下、医用画像の撮影から表示までを、より低レイテンシで行うことができるCCU201について説明する。
【0109】
<CCU201の第2の構成例>
【0110】
図8は、図1のCCU201の第2の構成例を示すブロック図である。
【0111】
図8において、CCU201は、図2の場合と同様に、PCアーキテクチャをベースに構成され、カメラ入出力I/F311、分配集約部312、CPU313、及び、メモリ314、並びに、複数である、例えば、3個のGPU3151,3152、及び、3153を有する。
【0112】
カメラ入出力I/F311は、図1のカメラヘッド102や表示装置202との間で、医用画像をやりとりするためのI/Fであり、カメラヘッド102から供給される、内視鏡100で撮影された医用画像(の画像データ)を、分配集約部312に供給するとともに、分配集約部312から供給される医用画像を、表示装置202に供給する。
【0113】
分配集約部312は、カメラ入出力I/F311、CPU313、及び、GPU3151ないし3153とバスを介して接続されている。分配集約部312は、例えば、PCIの転送速度等の所定の転送速度より高速でのデータ転送が可能な高速バスI/Fの1つである、例えば、PCIe(PCI Express)の規格に従って、カメラ入出力I/F311、CPU313、及び、GPU315iの間での医用画像その他のデータのやりとりを中継する。
【0114】
したがって、カメラ入出力I/F311、分配集約部312、CPU313、及び、GPU3151ないし3153は、バスに接続するためのバスI/Fとして、PCIeのI/Fを内蔵する。カメラ入出力I/F311、CPU313、及び、GPU315iは、バスI/Fとして、高速なPCIeのI/Fを内蔵する点で、バスI/Fとして、PCIのI/Fを内蔵する図2のカメラ入出力I/F301、CPU303、及び、GPU305iとそれぞれ相違する。
【0115】
以上のように、図8では、PCIよりも高速なPCIeのバスI/Fが採用されるので、その高速な分だけ、より低レイテンシを実現することができる。
【0116】
また、分配集約部312は、CPU313が管理するメモリ314を介さずに、画像の分配集約を行う。すなわち、分配集約部312は、メモリ314を介さずに、GPU3151ないし3153それぞれが出力する医用画像を集約するとともに、GPU3151ないし3153それぞれに対して、医用画像を分配する。
【0117】
さらに、分配集約部312は、メモリ314を介さずに、GPU3151ないし3153それぞれに対して、カメラ入出力I/F311が出力する医用画像を分配するとともに、集約後の医用画像を、カメラ入出力I/F311に供給する。
【0118】
以上のように、図8では、図2のように、CPU313(303)が分配集約を行うのではなく、CPU313とは別個の分配集約部312が、分配集約を行う。
【0119】
CPU313は、所定のプログラムに従って、CCU201の全体を制御する。例えば、CPU313は、分配集約部312の分配集約を制御する。CPU313が実行するプログラムは、あらかじめメモリ314にインストールすることや、図示せぬ記録媒体から、メモリ314にインストールすること、サイトからダウンロードして、メモリ314にインストールすること等が可能である。
【0120】
メモリ314は、CPU313の管理の下、必要なデータを記憶する。なお、図8では、メモリ314に対しては、医用画像の読み書きは行われない。したがって、メモリ314については、図2のメモリ304のように、医用画像の撮影から表示までを低レイテンシで行う観点から、高速なメモリを採用する必要はない。すなわち、メモリ314としては、例えば、図2のメモリ304より低速なメモリを採用することができる。
【0121】
GPU315iは(図8では、i=1,2,3)、分配集約部312から供給される医用画像の画像処理を行う画像処理部の一例であり、画像処理後の医用画像を、分配集約部312に供給する。
【0122】
ここで、図8では、CCU201に、3個のGPU3151ないし3153が設けられているが、GPUの数は、3個に限定されるものではない。すなわち、CCU201には、2個、又は、4個以上の複数の数のGPUを設けることができる。
【0123】
以上のように構成されるCCU201では、カメラ入出力I/F311が、カメラヘッド102から供給される医用画像を、分配集約部312に出力する。分配集約部312は、カメラ入出力I/F311が出力する医用画像を、GPU315iに分配する。
【0124】
GPU315iは、分配集約部312から分配された医用画像の画像処理を行い、その結果得られる医用画像を、分配集約部312に出力する。
【0125】
分配集約部312は、GPU315iが出力する医用画像を集約し、その集約後の画像を、カメラ入出力I/F311に出力するか、GPU315iに分配する。
【0126】
分配集約部312が、集約後の画像を、GPU315iに分配する場合には、その分配と、GPU315iが出力する画像処理後の医用画像の集約とが必要に応じて繰り返される。
【0127】
そして、GPU315iにおいて必要な画像処理がすべて行われ、その画像処理後の医用画像が、GPU315iから分配集約部312に出力されると、分配集約部312は、GPU315iが出力する医用画像を集約し、その集約後の画像を、カメラ入出力I/F311に出力する。
【0128】
カメラ入出力I/F311は、分配集約部312が出力する集約後の医療画像を、表示装置202に供給する。
【0129】
<分配集約部312の構成例>
【0130】
図9は、図8の分配集約部312の構成例を示すブロック図である。
【0131】
図9において、分配集約部312は、PCIe I/F321、集約部322、分配部323、及び、制御部324を有し、例えば、FPGA(Field-Programmable Gate Array)で構成される。
【0132】
PCIe I/F321は、PCIeの規格に従い、カメラ入出力I/F311やGPU315iとの間で、医用画像その他のデータのやりとりを行う。そして、PCIe I/F321は、カメラ入出力I/F311が出力する医用画像を、分配部323に供給するとともに、集約部322が出力する医用画像を、カメラ入出力I/F311に供給する。また、PCIe I/F321は、GPU315iが出力する医用画像を、集約部322に供給するとともに、分配部323が出力する医用画像を、GPU315iに供給する。
【0133】
集約部322は、GPU315iから、PCIe I/F321を介して供給される医用画像を集約し、その集約後の医用画像を、分配部323に供給する。また、集約部322は、集約後の医用画像を、PCIe I/F321を介して、カメラ入出力I/F311に供給する。
【0134】
分配部323は、カメラ入出力I/F311からPCIe I/F321を介して供給される医用画像や、集約部322から供給される集約後の医用画像を、PCIe I/F321を介して、GPU315iに分配する。
【0135】
制御部324は、CPU313の制御に従い、集約部322の集約、及び、分配部323の分配を制御することにより、医用画像の画像処理のデータフローを制御する。
【0136】
<GPU315iの構成例>
【0137】
図10は、図8のGPU315iの構成例を示すブロック図である。
【0138】
図10において、GPU315iは、PCIe I/F331、プロセッサ332、及び、メモリ333を有する。
【0139】
PCIe I/F331は、PCIeの規格に従い、分配集約部312との間で、医用画像その他のデータのやりとりを行う。そして、PCIe I/F331は、分配集約部312が出力(分配)する医用画像を、プロセッサ332やメモリ333に供給するとともに、プロセンサ332で処理が行われた後の医用画像や、メモリ333に記憶された医用画像を、分配集約部312に出力する。
【0140】
プロセッサ332は、所定の画像処理のプログラムを実行することで、所定の画像処理を行う。メモリ333は、プロセッサ332の動作上必要なデータを記憶する。
【0141】
<CCU201の処理>
【0142】
図11は、図8のCCU201の第2の構成例の処理の例を説明するフローチャートである。
【0143】
すなわち、図11は、医用画像に対して、手ぶれ補正を含む画像処理が行われる場合の、図8のCCU201の第2の構成例の処理の例を示している。
【0144】
ここで、上述したように、医用画像に施す画像処理は、手ぶれ補正を含む画像処理に限定されるものではない。
【0145】
また、以下では、GPU3151,3152,3153を、それぞれ、GPU#1, GPU#2, GPU#3とも記載する。
【0146】
さらに、以下でも、図5で説明したように、処理対象画像としての1ピクチャの医用画像を、並列処理を行うGPU#1ないし#3の数と同一の3個の水平方向に並ぶ3個の領域A1, A2, A3に等分に分割し、GPU#iが、手ぶれ補正後の処理対象画像の領域A#iを、担当領域A#iとして、その担当領域A#iの画像Q#iの出力を担当することとする。
【0147】
なお、図6で説明したように、担当領域A1, A2, A3は、処理対象画像を等分に分割した同一のサイズの領域に限定されるものではない。すなわち、担当領域A1, A2, A3としては、例えば、異なるサイズの領域や、一部がオーバーラップする領域を採用することができる。
【0148】
内視鏡100で撮影された医用画像は、カメラ入出力I/F311に供給され、カメラ入出力I/F311は、内視鏡100からの医用画像を、分配集約部312に出力する。
【0149】
ステップS41において、分配集約部41は、カメラ入出力I/F311が出力する医用画像の1ピクチャを、処理対象画像に設定する。さらに、分配集約部312は、処理対象画像のうちの、各GPU#iが担当する担当領域A#iの画像(P#i)を、各GPU#iに分配する。
【0150】
ステップS42において、GPU#iは、担当領域A#iの画像を対象に、第1の画像処理としての現像処理、検波処理、及び、高画質化処理を行い、その第1の画像処理後の担当領域A#iの画像を、分配集約部312に出力する。さらに、GPU#iは、担当領域A#iの画像に対する検波処理の検波結果を、分配集約部312を介して、CPU313に供給する。CPU313は、各GPU#iからの検波結果に応じて、手ぶれ補正としての変形に用いる変形パラメータを生成し、分配集約部312を介して、GPU#iに供給する。
【0151】
ステップS43において、分配集約部312は、各GPU#iが出力する第1の画像処理後の担当領域A#iの画像を、処理対象画像の全領域Aの画像として集約する。さらに、分配集約部312は、集約後の処理対象画像の全領域Aの画像を、各GPU#iに分配する。
【0152】
ステップS44において、各GPU#iは、分配集約部312から分配された処理対象画像の全領域Aの画像(P)のうちの、変形処理後に担当領域A#iの画像となる部分を、変形の対象領域の画像に設定する。さらに、各GPU#iは、対象領域の画像を、CPU313からの変形パラメータに従って変形する変形処理を、第2の画像処理として行うことで、担当領域A#iについてだけ、手ぶれ補正後の画像Q#iを求め、分配集約部312に出力する。
【0153】
ステップS45において、分配集約部312は、各GPU#iが出力する担当領域A#iの手ぶれ補正後の画像(Q#i)を、手ぶれ補正後の処理対象画像の全領域Aの画像として集約する。そして、分配集約部312は、集約後の画像、すなわち、手ぶれ補正後の処理対象画像の全領域Aの画像を、カメラ入出力I/F311に転送する。
【0154】
分配集約部312がカメラ入出力I/F311に転送した手ぶれ補正後の処理対象画像は、カメラ入出力I/F311から、表示装置202に供給される。
【0155】
以上のように、図8のCCU201の第2の構成例では、分配集約部312が、CPU313が管理するメモリ314を介さずに、分配集約を行うので、メモリ314(304)に対する転送時間をなくし、医用画像の撮影から表示までを、より低レイテンシで行うことができる。
【0156】
<処理のタイミング>
【0157】
図12は、図2のCCU201の第1の構成例と、図8のCCU201の第2の構成例との処理のタイミングの例を説明する図である。
【0158】
ここで、CCU201の第1及び第2の構成例では、図7及び図11のフローチャートで説明した1ステップが、所定の単位時間で行われることとする。
【0159】
また、医用画像のフレームには、初期値を0とする昇順の整数が、フレーム番号として付与されていることとする。
【0160】
図12は、図7及び図11のフローチャートの各ステップと、そのステップで処理が行われる処理対象画像となっている医用画像のフレーム番号との関係を示している。
【0161】
図12に示すように、CCU201の第1の構成例では、フレーム番号がfのフレーム(f=0,1,2,…)について、ステップS21の処理が開始されてから、ステップS28の処理が終了するまでの時間が、8単位時間であるのに対して、CCU201の第2の構成例では、フレーム番号がfのフレームについて、ステップS41の処理が開始されてから、ステップS45の処理が終了するまでの時間が、メモリ314(304)に対する転送がない分だけ短く、5単位時間になっている。
【0162】
したがって、CCU201の第2の構成例では、CCU201の第1の構成例よりも、3(=8−5)単位時間だけ短い低レイテンシを実現することができる。
【0163】
<データフローの制御>
【0164】
図13は、図8のCCU201の第2の構成例で処理が行われる場合のデータフローの第1の例を示す図である。
【0165】
すなわち、図13は、CCU201の第2の構成例で、図11のフローチャートにしたがった処理が行われる場合のデータフローを示している。
【0166】
図13のデータフローの第1の例では、カメラ入出力I/F311が出力する処理対象画像が、3個のGPU#1ないし#3それぞれに分配され、GPU#1ないし#3それぞれにおいて、分配された処理対象画像に画像処理が施される。そして、その画像処理後の処理対象画像は、GPU#1ないし#3それぞれから分配集約部312に出力される。
【0167】
分配集約部312では、GPU#1ないし#3それぞれが出力する画像処理後の処理対象画像が集約され、その集約後の処理対象画像が、GPU#1ないし#3それぞれに分配される。GPU#1ないし#3それぞれでは、分配された処理対象画像に画像処理が施され、その画像処理後の処理対象画像が、分配集約部312に出力される。
【0168】
分配集約部312では、GPU#1ないし#3それぞれが出力する画像処理後の処理対象画像が集約され、その集約後の処理対象画像が、カメラ入出力I/F311に出力される。
【0169】
図13のデータフローの第1の例では、分配及び集約が2回ずつ行われるが、分配及び集約の数は、2回に限定されるものではなく、1回や3回以上の回数であってもよい。
【0170】
また、図13のデータフローの第1の例では、1回目の分配、及び、2回目の分配のいずれの分配でも、処理対象画像が、3個のGPU#1ないし#3のGPUのすべてに分配されるが、分配先のGPUとしては、3個のGPU#1ないし#3のうちの1個以上の任意のGPUを採用することができる。さらに、1回目の分配と、2回目の分配とでは、分配先のGPUとして、異なるGPUを採用することができる。
【0171】
図14は、図8のCCU201の第2の構成例で処理が行われる場合のデータフローの第2の例を示す図である。
【0172】
図14のデータフローの第2の例では、図14のデータフローの第1の例の場合と同様に、分配及び集約が2回ずつ行われる。
【0173】
但し、図14では、1回目の分配については、分配先が、3個のGPU#1ないし#3のGPUのうちの、2個のGPU#1及び#2になっており、2回目の分配については、分配先が、3個のGPU#1ないし#3になっている。したがって、1回目の集約は、2個のGPU#1及び#2の出力を対象に行われ、2回目の集約は、3個のGPU#1ないし#3の出力を対象に行われる。
【0174】
図15は、図8のCCU201の第2の構成例で処理が行われる場合のデータフローの第3の例を示す図である。
【0175】
図15のデータフローの第3の例では、分配及び集約が3回ずつ行われる。1回目ないし3回目の1個の分配先は、GPU#1ないしGPU#3に、それぞれなっており、1回目ないし3回目の集約は、GPU#1ないしGPU#3の出力を、それぞれ対象に行われる。図15では、集約が、1個のGPU#iの出力を対象として行われるため、集約後の画像は、集約の対象の1個のGPU#iの出力に等しく、集約では、例えば、集約の対象の1個のGPU#iの出力が、そのまま集約後の画像とされる。
【0176】
分配集約部312(図9)において、制御部324は、CPU313の制御に従い、分配部323による分配の分配先となるGPUや、集約部322による集約の対象となるGPU(の出力)、集約部322による集約及び分配部323による分配の回数を制御し、これにより、CCU201で行われる医用画像の画像処理について、データフローを動的に変化させ、図13ないし図15に示したデータフローや、その他のデータフローを、容易に実現することができる。
【0177】
<処理対象画像>
【0178】
図16は、CCU201が処理対象とする処理対象画像の例を示す図である。
【0179】
CCU201では、図16に示すように、例えば、1ピクチャの医用画像の全体を、処理対象画像とすることができる。
【0180】
また、CCU201では、図16に示すように、例えば、1ピクチャの医用画像を、上下に2分割して得られる画像P11及びP12それぞれを、処理対象画像とすることができる。
【0181】
さらに、CCU201では、図16に示すように、例えば、1ピクチャの医用画像を、上下に4分割して得られる画像P21, P22, P23, P24それぞれを、処理対象画像とすることができる。
【0182】
その他、CCU201では、1ピクチャの医用画像を、上下に任意の数に分割して得られる画像それぞれを、処理対象画像とすることができる。
【0183】
そして、CCU201では、処理対象画像を、最大で、GPU#1ないし#3の数と同一の3個の水平方向に並ぶ領域に分割し、GPU#1ないし#3において、各領域の画像処理を、並列処理で行うことができる。
【0184】
<分配集約部312の他の構成例>
【0185】
図17は、図8の分配集約部312の他の構成例を示すブロック図である。
【0186】
なお、図中、図9の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0187】
図17の分配集約部312は、PCIe I/F321、集約部322、分配部323、制御部324、及び、HW(Hardware)信号処理部341を有し、例えば、FPGAで構成される。
【0188】
したがって、図17の分配集約部312は、PCIe I/F321ないし制御部324を有する点で、図9の場合と共通する。但し、図17の分配集約部312は、HW信号処理部341が新たに設けられている点で、図9の場合と相違する。
【0189】
HW信号処理部341は、集約部322が出力する処理対象画像(医用画像)に、所定の信号処理を施し、その所定の信号処理後の処理対象画像を、分配部341に出力する。
【0190】
したがって、図17では、分配部341は、HW信号処理部341が出力する処理対象画像の分配を行う。
【0191】
HW信号処理部341が行う所定の信号処理としては、任意の信号処理を採用することができる。例えば、GPU#iが行う画像処理の一部を、HW信号処理部341が行う所定の信号処理として採用することができる。
【0192】
分配集約部312に、HW信号処理部341を設け、そのHW信号処理部341に、CCU201で行うべき画像処理の一部を担当させることにより、CCU201で行うべき画像処理のアクセラレーションを実現し、さらなる低レイテンシを実現することができる。
【0193】
なお、HW信号処理部341は、必要に応じて、集約部322が出力する処理対象画像に、特に、信号処理を施さずに、その処理対象画像を、そのまま、分配部341に出力することができる。HW信号処理部341で信号処理を行うかどうかは、制御部324(図17)によって制御することができ、その制御により、CCU201で行われる画像処理のデータフローを制御することができる。
【0194】
また、HW信号処理部341では、分配部323が出力する処理対象画像に信号処理を施し、その信号処理後の処理対象画像を、GPU#iに供給することができる。
【0195】
<CCU201の第3の構成例>
【0196】
図18は、図1のCCU201の第3の構成例を示すブロック図である。
【0197】
なお、図中、図8の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0198】
図18において、CCU201は、図8の場合と同様に、PCアーキテクチャをベースに構成され、カメラ入出力I/F311、分配集約部312、CPU313、メモリ314、GPU3151,3152、及び、3153、並びに、複数である、例えば、2個のHW信号処理部3511及び3512を有する。
【0199】
したがって、図18のCCU201は、カメラ入出力I/F311ないしGPU3153を有する点で、図8の場合と共通する。但し、図18のCCU201は、HW信号処理部3511及び3512が新たに設けられている点で、図8の場合と相違する。
【0200】
図18では、分配集約部312は、集約後の処理対象画像を、HW信号処理部351jにも、必要に応じて供給する。
【0201】
HW信号処理部351jは(図18では、j=1,2)、分配集約部312から供給される処理対象画像としての医用画像に所定の信号処理を施し、その所定の信号処理後の処理対象画像を、分配集約部312に供給する。したがって、HW信号処理部351jは、処理対象画像の集約後、その集約後の処理対象画像の分配の前に、集約後の処理対象画像に、所定の信号処理を施す。
【0202】
HW信号処理部351jは、例えば、FPGAその他の特定の信号処理を行う専用のハードウエアで構成し、所定の信号処理を高速で行わせることができる。この場合、CCU201で行うべき画像処理のアクセラレーションを実現し、より低レイテンシを実現することができる。
【0203】
ここで、図18では、CCU201に、2個のHW信号処理部3511及び3512が設けられているが、HW信号処理部351jの数は、2個に限定されるものではない。すなわち、CCU201には、1個、2個、又は、4個以上の任意の数のHW信号処理部351jを設けることができる。
【0204】
また、HW信号処理部351jが行う所定の信号処理としては、任意の信号処理を採用することができる。例えば、GPU#iが行う画像処理の一部を、HW信号処理部351jが行う所定の信号処理として採用することができる。
【0205】
さらに、分配集約部312では、制御部324(図9図17)の制御に従い、HW信号処理部351jに対して、集約後の処理対象画像を出力することや、処理対象画像の分配により、処理対象画像の一部を出力することができる。
【0206】
例えば、分配集約部312(図17)において、HW信号処理部351jに、集約部322での集約後の処理対象画像を出力し、HW信号処理部351jが出力する信号処理後の処理対象画像を、分配部323でのGPU#iへの分配の対象とすることにより、HW信号処理部351jは、図17のHW信号処理部341と同様に、処理対象画像の集約後、その集約後の処理対象画像の分配の前に、集約後の処理対象画像に、所定の信号処理を施すことになる。
【0207】
分配集約部312において、HW信号処理部351jへの処理対象画像の出力(供給)は、制御部324(図9図17)によって制御することができ、その制御により、CCU201で行われる画像処理のデータフローを制御することができる。
【0208】
なお、本技術は、内視鏡手術システムの他、電子顕微鏡その他の、医用画像を処理する任意の装置に適用することができる。また、本技術は、医用画像を処理する装置の他、任意の画像を処理する装置に適用することができる。
【0209】
<本技術を適用し得るコンピュータの説明>
【0210】
図19は、本技術を適用し得るコンピュータの一実施の形態の構成例を示すブロック図である。
【0211】
コンピュータは、CPU402を内蔵しており、CPU402には、バス401を介して、入出力インタフェース410が接続されている。
【0212】
CPU402は、入出力インタフェース410を介して、ユーザによって、入力部407が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)403に格納されているプログラムを実行する。あるいは、CPU402は、ハードディスク405に格納されたプログラムを、RAM(Random Access Memory)404にロードして実行する。
【0213】
これにより、CPU402は、所定の処理を行う。そして、CPU402は、その処理結果を、必要に応じて、例えば、入出力インタフェース410を介して、出力部406から出力、あるいは、通信部408から送信、さらには、ハードディスク405に記録等させる。
【0214】
なお、入力部407は、キーボードや、マウス、マイク等で構成される。また、出力部406は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0215】
また、CPU402が実行するプログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク405やROM403に予め記録しておくことができる。
【0216】
さらに、プログラムは、リムーバブル記録媒体411に格納(記録)しておくことができる。このようなリムーバブル記録媒体411は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体411としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0217】
また、プログラムは、上述したようなリムーバブル記録媒体411からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク405にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0218】
図19のコンピュータには、カメラ入出力I/F311、分配集約部312、及び、GPU315i、並びに、必要なHW信号処理部351jを設け、CCU201として機能させることができる。
【0219】
ここで、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0220】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0221】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0222】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0223】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0224】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0225】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0226】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0227】
なお、本技術は、以下の構成をとることができる。
【0228】
<1>
医用画像の画像処理を行う複数の画像処理部と、
CPU(Central Processing Unit)が管理するメモリを介さずに、前記複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する分配集約部と
を備える医用画像処理装置。
<2>
前記分配集約部は、さらに、前記複数の画像処理部それぞれに対して、前記医用画像の入出力I/F(Interface)が出力する前記医用画像を分配するとともに、集約後の前記医用画像を、前記入出力I/Fに供給する
<1>に記載の医用画像処理装置。
<3>
前記分配集約部による前記医用画像の分配及び集約を制御することにより、前記医用画像の画像処理のデータフローを制御する制御部をさらに備える
<1>又は<2>に記載の医用画像処理装置。
<4>
前記医用画像の集約後、前記医用画像の分配の前に、前記医用画像に、所定の信号処理を施す信号処理部をさらに備える
<1>ないし<3>のいずれかに記載の医用画像処理装置。
<5>
前記分配集約部は、
前記医用画像の集約を行う集約部と、
前記集約部が出力する前記医用画像に、所定の信号処理を施す前記信号処理部と、
前記信号処理部が出力する前記医用画像を分配する分配部と
を有する
<4>に記載の医用画像処理装置。
<6>
前記画像処理部は、GPU(Graphical Processing Unit)で構成される
<1>ないし<5>のいずれかに記載の医用画像処理装置。
<7>
前記分配集約部は、FPGA(Field-Programmable Gate Array)で構成される
<1>ないし<6>のいずれかに記載の医用画像処理装置。
<8>
前記画像処理部と前記分配集約部とは、所定の転送速度より高速でのデータ転送が可能なバスI/F(Interface)を介して接続される
<1>ないし<7>のいずれかに記載の医用画像処理装置。
<9>
前記バスI/Fは、PCIe(Peripheral Component Interconnect Express)のI/Fである
<8>に記載の医用画像処理装置。
<10>
CPU(Central Processing Unit)が管理するメモリを介さずに、医用画像の画像処理を行う複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する
ことを含む医用画像処理方法。
<11>
医用画像を撮影する内視鏡と、
前記医用画像を処理する医用画像処理装置と
を備え、
前記医用画像処理装置は、
前記医用画像の画像処理を行う複数の画像処理部と、
CPU(Central Processing Unit)が管理するメモリを介さずに、前記複数の画像処理部それぞれが出力する前記医用画像を集約するとともに、前記複数の画像処理部それぞれに対して、前記医用画像を分配する分配集約部と
を有する
内視鏡システム。
【符号の説明】
【0229】
10 内視鏡, 100 内視鏡, 101 鏡筒, 102 カメラヘッド, 110 術具, 111 気腹チューブ, 112 エネルギ処置具, 120 支持アーム装置, 131 術者, 132 患者, 133 患者ベッド, 200 カート, 201 CCU, 202 表示装置, 203 光源装置, 204 入力装置, 205 処置具制御装置, 206 気腹装置, 207 レコーダ, 208 プリンタ, 301 カメラ入出力I/F, 302 PCIスイッチ, 303 CPU, 304 メモリ, 3051ないし3053 GPU, 311 カメラ入出力I/F, 312 分配集約部, 313 CPU, 314 メモリ, 3151ないし3153 GPU, 321 PCIe I/F, 322 集約部, 323 分配部, 324 制御部, 331 PCIe I/F, 332 プロセッサ, 333 メモリ, 341,3511,3512 HW信号処理部, 401 バス, 402 CPU, 403 ROM, 404 RAM, 405 ハードディスク, 406 出力部, 407 入力部, 408 通信部, 409 ドライブ, 410 入出力インタフェース, 411 リムーバブル記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19