(57)【要約】  本技術は、低レイテンシ化して撮像した画像をリアルタイムに近い状態で表示できるようにする画像処理装置および方法、並びに手術システムに関する。CPU３１のDMAコントローラ５１は、IFカード３４を介して入力された画像データを水平方向にGPUカード３５−１，３５−２の数で分割して割り当てると共に、各GPUカード３５−１，３５−２においては、画像データが垂直方向に時分割処理される。これにより複数のGPUカード３５−１，３５−２を利用することで画像データの表示に係る処理の高速化を図り、低レイテンシ化することで、高速表示を実現する。本技術は、内視鏡カメラや手術用顕微鏡などに適用することができる。
2015163171.tif 000002
【特許請求の範囲】
【請求項１】
患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理装置。
【請求項２】
前記複数の演算処理部は、複数のGPU（Graphical Processing Unit）により構成され、
前記演算処理部は、前記GPUの数で水平方向に分割された前記画像に処理を施す
請求項１に記載の画像処理装置。
【請求項３】
前記画像に施す処理は、ｎ段のフィルタを掛ける処理である
請求項１に記載の画像処理装置。
【請求項４】
前記ｎ段の前記フィルタは、それぞれ前記画像を垂直方向に分割した範囲を、前記垂直方向の最上段の範囲から下方向に向かって順次時分割で処理を施す
請求項３に記載の画像処理装置。
【請求項５】
前記画像の前記水平方向の分割数、および前記垂直方向の分割数に基づいて算出される前記画像に施す処理量と、前記演算処理部の処理速度とに基づいて、前記演算処理部の演算のタイミングを制御するタイミング制御部をさらに含む
請求項１に記載の画像処理装置。
【請求項６】
前記画像を前記垂直方向に時分割した範囲のうち、第１の期間の処理範囲には、前記第１の期間より後の第２の期間の処理に必要とされる参照ピクセルが含まれる
請求項１に記載の画像処理装置。
【請求項７】
前記演算処理部は、処理結果をバッファリングするメモリを含み、
前記第２の期間の処理では、前記メモリにバッファリングされた前記第１の期間の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行する
請求項６に記載の画像処理装置。
【請求項８】
前記演算処理部は、処理結果をバッファリングするメモリを含み、
前記画像を垂直方向に分割した範囲のうち、各段の前記フィルタによる前記垂直方向の最上段の処理範囲は、前記垂直方向の２段目以下の処理範囲における前記フィルタの処理に必要とされる参照ピクセルのライン数を含む範囲とし、
前記演算処理部は、前記フィルタによる処理のための演算処理を実行するにあたり、前記参照ピクセルを利用する処理は、前記メモリにバッファリングされた前段までのフィルタ処理の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行する
請求項３に記載の画像処理装置。
【請求項９】
前記演算処理部は、前記患者の術部が撮像された画像に対して、少なくとも拡大処理を施す
請求項１に記載の画像処理装置。
【請求項１０】
前記患者の術部が撮像された画像は、内視鏡により撮像された画像である
請求項１に記載の画像処理装置。
【請求項１１】
前記患者の術部が撮像された画像は、顕微鏡により撮像された画像である
請求項１に記載の画像処理装置。
【請求項１２】
患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含む画像処理装置の画像処理方法において、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理方法。
【請求項１３】
前記画像は、内視鏡により撮像された画像である
請求項１２に記載の画像処理方法。
【請求項１４】
前記画像は、顕微鏡により撮像された画像である
請求項１２に記載の画像処理方法。
【請求項１５】
患者の術部を撮像する撮像装置と、
前記撮像装置により撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理装置と
を有する手術システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理装置および方法、並びに手術システムに関し、特に、低レイテンシでの画像表示を実現できるようにした画像処理装置および方法、並びに手術システムに関する。
【背景技術】
【０００２】
近年、医療現場において従来の開腹手術に代わって、内視鏡下手術が行われている。内視鏡下手術等において使用される画像処理装置としては、特に、低レイテンシでの画像表示を実現することが求められている。【０００３】
一方で、撮像された画像を、タイムラグを最小にして高速で表示できるようにする技術が提案されている。【０００４】
例えば、画像を垂直方向に分割し、複数のプロセッサを用いて、分割された領域毎に並列処理させることにより高速で表示させる技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−０４０６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に記載の技術では、ライン単位に画像を分割すると、GPU（Graphics Processing Unit）のように、それぞれ処理用のメモリを独立して持つ構成の場合、ライン単位でオーバラップする必要があり、オーバヘッドが大きくなる。【０００７】
結果として、オーバヘッドを処理するため、全体として処理ライン数が増えることで、演算量が増加して、処理速度を向上させることができないことがあった。【０００８】
本技術は、このような状況に鑑みてなされたものであり、特に、画像を水平方向に分割して、複数のプロセッサに割り付けると共に、各プロセッサでは割り付けられた領域を垂直方向に時分割処理し、かつ、垂直方向に分割された各領域について、先頭領域に最も大きなオーバヘッドを設定して順次処理させるようにすることで、撮像した画像を高速で表示できるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の一側面の画像処理装置は、患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す。【００１０】
前記複数の演算処理部には、複数のGPU（Graphical Processing Unit）により構成され、前記演算処理部は、前記GPUの数で水平方向に分割された前記画像に処理を施すようにさせることができる。【００１１】
前記画像に施す処理は、ｎ段のフィルタを掛ける処理とすることができる。【００１２】
前記ｎ段の前記フィルタは、それぞれ前記画像を垂直方向に分割した範囲を、前記垂直方向の最上段の範囲から下方向に向かって順次時分割で処理を施す。【００１３】
前記画像の前記水平方向の分割数、および前記垂直方向の分割数に基づいて算出される前記画像に施す処理量と、前記演算処理部の処理速度とに基づいて、前記演算処理部の演算のタイミングを制御するタイミング制御部をさらに含ませるようにすることができる。【００１４】
前記画像を前記垂直方向に時分割した範囲のうち、第１の期間の処理範囲には、前記第１の期間より後の第２の期間の処理に必要とされる参照ピクセルが含まれるようにすることができる。【００１５】
前記演算処理部には、処理結果をバッファリングするメモリを含ませるようにすることができ、前記第２の期間の処理では、前記メモリにバッファリングされた前記第１の期間の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行させるようにすることができる。【００１６】
前記演算処理部には、処理結果をバッファリングするメモリを含ませるようにすることができ、前記画像を垂直方向に分割した範囲のうち、各段の前記フィルタによる前記垂直方向の最上段の処理範囲は、前記垂直方向の２段目以下の処理範囲における前記フィルタの処理に必要とされる参照ピクセルのライン数を含む範囲とすることができ、前記演算処理部には、前記フィルタによる処理のための演算処理を実行するにあたり、前記参照ピクセルを利用する処理では、前記メモリにバッファリングされた前段までのフィルタ処理の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行させるようにすることができる。【００１７】
前記演算処理部には、前記患者の術部が撮像された画像に対して、少なくとも拡大処理を施すようにさせることができる。【００１８】
前記患者の術部が撮像された画像は、内視鏡により撮像された画像とすることができる。【００１９】
前記患者の術部が撮像された画像は、顕微鏡により撮像された画像とすることができる。【００２０】
本技術の一側面の画像処理方法は、患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含む画像処理装置の画像処理方法であって、前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す。【００２１】
前記画像は、内視鏡により撮像された画像とすることができる。【００２２】
前記画像は、顕微鏡により撮像された画像とすることができる。【００２３】
本技術の一側面の手術システムは、患者の術部を撮像する撮像装置と、前記撮像装置により撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す画像処理装置とを有する。【００２４】
本技術の一側面においては、複数の演算処理部により、患者の術部が撮像された画像が垂直方向に分割された範囲毎に時分割で処理が施され、前記演算処理部の数で、水平方向に分割された前記画像が、前記垂直方向に時分割で処理が施される。
【発明の効果】
【００２５】
本技術の一側面によれば、撮像した画像の表示処理を低レイテンシで実現し、撮像した画像をリアルタイムで高速に表示させることが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本技術を適用した画像処理装置の一実施の形態の構成を説明するブロック図である。
【図２】図１の画像処理装置による処理を説明する図である。
【図３】従来の画像処理と本技術の画像処理との違いを説明する図である。
【図４】図１の画像処理装置が水平方向にGPUカード数で分割して並列処理することを説明する図である。
【図５】図１の画像処理装置が水平方向にGPUカード数で分割して並列処理すると共に、垂直方向に時分割処理することを説明する図である。
【図６】画像を処理するフィルタの一例を示す図である。
【図７】フィルタ処理における注目画素と参照ピクセルとの関係を説明する図である。
【図８】各処理領域でフィルタ処理する際に発生するオーバヘッドを説明する図である。
【図９】各処理領域でフィルタ処理する際に発生する具体的なオーバヘッドの一例を説明する図である。
【図１０】図１の画像処理装置における各フィルタ処理における処理範囲の設定方法を説明する図である。
【図１１】図１の画像処理装置による低レイテンシ表示処理を説明するフローチャートである。
【図１２】水平方向の処理量を計算する方法を説明する図である。
【図１３】垂直方向の処理量を計算する方法を説明する図である。
【図１４】処理範囲に応じて処理時間が変化してしまうことを説明する図である。
【図１５】処理範囲で出力するライン数を調整して、処理範囲毎の処理時間を均一化することを説明する図である。
【図１６】処理範囲毎に生じる処理時間差が生じるときに、リアルタイム性が求められない処理を空いた時間に実行させることで、処理範囲毎の処理時間を均一化することを説明する図である。
【図１７】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための最良の形態】
【００２７】
＜画像処理装置の構成例＞
図１は、本技術を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。【００２８】
図１の画像処理装置１１は、図示せぬカメラ等の撮像装置により撮像された画像データの入力を受け付けて、各種の処理を施した後、図示せぬディスプレイ等の表示装置に出力して画像として表示させるものである。【００２９】
より詳細には、画像処理装置１１は、CPU（Central Processing Unit）３１、メインメモリ３２、バス３３、IF（Interface）カード３４、およびGPU（Graphical Processing Unit）カード３５−１，３５−２を備えている。尚、GPUカード３５−１，３５−２について、特に区別する必要が無い場合、単に、GPUカード３５と称するものとし、その他の構成についても同様に称するものとする。【００３０】
CPU（Central Processing Unit）３１は、画像処理装置１１の動作の全体を制御する。また、CPU３１は、DMA（Direct Memory Access）コントローラ５１を備えている。尚、ここでいうDMAとは、Direct Memory Accessを表すものであり、CPU３１による管理が直接なされることなく、バス３３を介してIFカード３４、メインメモリ３２、およびGPUカード３５間の相互に直接データを転送する動作を表している。すなわち、DMAコントローラ５１は、このCPU３１によって直接管理されないDMAによる転送動作のうち、転送元と転送先、および転送タイミングを制御する。【００３１】
より詳細には、DMAコントローラ５１は、IFカード３４およびバス３３を介して図示せぬカメラより入力信号として供給される画像データを、一旦、メインメモリ３２に記憶させる。また、DMAコントローラ５１は、メインメモリ３２に記憶させた画像データと、GPUカード３５−１，３５−２のプロセッサ９２−１，９２−１の処理能力と、処理内容に応じて、メインメモリ３２に記憶された画像データを分割する。また、DMAコントローラ５１は、分割した画像データを範囲毎に読み出すタイミング、および処理された画像データを再び格納するタイミングを割り付ける。さらに、DMAコントローラ５１は、割り付けたタイミングで分割された画像データを順次GPUカード３５−１，３５−２に供給すると共に、処理済みの画像データを順次メインメモリ３２に記憶させる。そして、DMAコントローラ５１は、メインメモリ３２に記憶された処理済みの画像データをバス３３、およびIFカード３４を介して出力信号として図示せぬディスプレイに出力して表示させる。【００３２】
IF（Interface）カード３４は、カメラIF７１、ディスプレイIF７２、およびPCIe（Peripheral Component Interconnect Express）ブリッジ７３を備えている。IFカード３４のカメラIF７１は、DMAコントローラ５１による管理の下で、図示せぬカメラより入力信号として供給されてくる画像データを受け付けると、PCIeブリッジ７３、およびバス３３を介してメインメモリ３２に供給する。また、IFカード３４のディスプレイIF７２は、DMAコントローラ５１による管理の下で、メインメモリ３２よりバス３３、およびPCIeブリッジ７３を介して供給されてくる処理済みの画像データを、図示せぬディスプレイに出力信号として出力する。【００３３】
GPUカード３５−１，３５−２は、それぞれPCIeブリッジ９１−１，９１−２、プロセッサ９２−１，９２−２、およびメモリ９３−１，９３−２を備えている。GPUカード３５は、CPU３１のDMAコントローラ５１の管理の下で、メインメモリ３２よりバス３３、およびPCIeブリッジ９１を介して供給されてくる画像データをメモリ９３に一旦記憶させる。そして、プロセッサ９１は、メモリ９３に記憶された画像データを、順次読み出しながら所定の処理を施し、処理結果を必要に応じてメモリ９３にバッファリングすると共に、PCIeブリッジ９１、およびバス３３を介してCPU３１に出力する。尚、GPUカード３５は、図１においては、２枚である例が示されているが、２枚以上の枚数であってもよいものである。【００３４】
＜画像処理の概要について＞
次に、図２を参照して、図１の画像処理装置１１による画像処理について説明する。【００３５】
図２中、左上部から矢印で示されるように、図示せぬカメラにより撮像された、例えば、ベイヤ配列の画素配列からなる画像データ（最左部）は、欠陥補正処理、およびRAWNR（Noise Reduction）処理が施されると、デモザイク処理により、R（赤色）画像、G（緑色）画像、およびB（青色）画像（図中のRGB画像）が生成される。さらに、デモザイク処理されたR（赤色）画像、G（緑色）画像、およびB（青色）画像には、高画質化処理が施された後、拡大処理がなされて、出力画像を構成するR（赤色）画像、G（緑色）画像、およびB（青色）画像が生成される。このようにして生成されたR（赤色）画像、G（緑色）画像、およびB（青色）画像が、出力信号として図示せぬディスプレイなどの表示部に出力されて表示される。【００３６】
＜低レイテンシ化＞
上述したような画像処理を、従来のようにフレーム単位で実行した場合、処理は、図３の上段で示されるようなタイムチャートとなる。尚、ここでは、画像に対してなされる処理は、処理Ａ，Ｂの２種類のみであるものとする。また、図３の上段においては、GPUカード３５と同一のGPUカードが１枚存在する構成であるものとする。【００３７】
すなわち、時刻ｔ０乃至ｔ１において、図中の「DMA INPUT #0」で示されるように、DMAコントローラ５１により入力信号として供給される画像データがメインメモリ３２に書き込まれて記憶される。【００３８】
時刻ｔ１乃至ｔ２において、図中の「Kernel A #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データがGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ａが実行される。【００３９】
時刻ｔ３乃至ｔ４において、図中の「Kernel B #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データがGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ｂが実行されて、処理結果がメインメモリ３２に戻される。【００４０】
時刻ｔ５乃至ｔ６において、図中の「DMA OUTPUT #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に格納されている処理Ａ，Ｂが施された画像データが読み出されて出力される。【００４１】
この場合、１のGPUカード３５でフレーム全体を処理してから表示しようとすると、１フレーム分の処理結果が生成されるまでは、画像として表示されることがなく、また、処理時間が膨大なものとなり、レイテンシが大きなものとなるので、表示に遅れが生じる恐れがある。【００４２】
そこで、図１の画像処理装置１１においては、図３の下段で示されるように、フレームを垂直方向にいくつかの範囲に分割し、処理を小分けにして実行することでレイテンシを小さくしている。尚、図３の下段においては、フレームを３分割して画像データ#0乃至#2にした場合に、それぞれに対する処理がなされる場合の例が示されている。【００４３】
すなわち、図３の下段においては、時刻ｔ２１乃至ｔ２２において、図中の「DMA INPUT #0」で示されるように、DMAコントローラ５１により入力信号として供給される画像データ#0がメインメモリ３２に書き込まれて記憶される。【００４４】
時刻ｔ３１乃至ｔ３２において、図中の「処理 A #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データ#0がGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ａが実行される。【００４５】
このとき、「処理 A #0」の処理と並行して時刻ｔ２２乃至ｔ２３において、図中の「DMA INPUT #1」で示されるように、DMAコントローラ５１により入力信号として供給される画像データ#1をメインメモリ３２に記憶させる。【００４６】
時刻ｔ３３乃至ｔ３４において、図中の「処理 B #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データがGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ｂが実行されて、処理結果がメインメモリ３２に戻される。【００４７】
時刻ｔ５１乃至ｔ５２において、図中の「DMA OUTPUT #0」で示されるように、DMAコントローラ５１により、メインメモリ３２に格納されている処理Ａ，Ｂが施された画像データ#0が出力される。【００４８】
「DMA OUTPUT #0」の処理に並行して、時刻ｔ３５乃至ｔ３６において、図中の「処理 A #1」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データ#1がGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ａが実行される。【００４９】
さらに、「処理 A #1」の処理に並行して時刻ｔ２４乃至ｔ２５において、図中の「DMA INPUT #2」で示されるように、DMAコントローラ５１により入力信号として供給される画像データ#2をメインメモリ３２に記憶させる。【００５０】
時刻ｔ３７乃至ｔ３８において、図中の「処理 B #1」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データ#1がGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ｂが実行されて、処理結果がメインメモリ３２に戻される。【００５１】
時刻ｔ５３乃至ｔ５４において、図中の「DMA OUTPUT #1」で示されるように、DMAコントローラ５１により、メインメモリ３２に格納されている処理Ａ，Ｂが施された画像データ#1が出力される。【００５２】
「DMA OUTPUT #1」の処理に並行して、時刻ｔ３９乃至ｔ４０において、図中の「処理 A #2」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データ#2がGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ａが実行される。【００５３】
時刻ｔ４１乃至ｔ４２において、図中の「処理 B #2」で示されるように、DMAコントローラ５１により、メインメモリ３２に記憶された画像データ#2がGPUカード３５に供給されて、GPUカード３５のプロセッサ９２により処理Ｂが実行されて、処理結果がメインメモリ３２に戻される。【００５４】
時刻ｔ５５乃至ｔ５６において、図中の「DMA OUTPUT #2」で示されるように、DMAコントローラ５１により、メインメモリ３２に格納されている処理Ａ，Ｂが施された画像データ#2が出力される。【００５５】
このような処理により、画像データ#0乃至#2が時分割処理されて、「DMA INPUT」、「処理A」、「処理B」、および「DMA OUTPUT」が必要に応じて並列処理されることにより、全体としてもレイテンシを低減させることが可能となる。また、処理Ａ，Ｂが施された画像データ#0乃至#2が、処理が終了すると共に部分的に表示されることになるので、体感的にも表示が速くなり、低レイテンシ化を図ることが可能となる。【００５６】
＜水平分割＞
上述したように、垂直方向に画像を分割して低レイテンシ化を実現させると共に、さらに、図１の画像処理装置１１は、複数のGPUカード３５が設けられているので、同様の処理を並列処理する。すなわち、図４の左部で示される画像データＰ１が入力される場合、図４の右上部で示されるように、水平方向に分割し、それぞれ図３を参照して説明したように、垂直方向に時分割処理する。【００５７】
尚、図４の右上部においては、画像データＰ１の左部で示される領域Ｚ１が、GPUカード３５−１に対応する「GPU#0」による処理範囲であり、画像データＰ１の右部で示される領域Ｚ２が、GPUカード３５−２に対応する「GPU#1」による処理範囲である。尚、図４の右下部においては、従来の並列処理における垂直方向の分割方式の例が示されており、上段が領域Ｚ１１で示されるGPUカード３５−１に対応する「GPU#0」による処理範囲であり、下段が領域Ｚ１２で示されるGPUカード３５−２に対応する「GPU#1」による処理範囲である。すなわち、図４の右下部においては、GPUカード３５毎に垂直方向に２分割する例が示されている。【００５８】
＜垂直分割＞
また、図１の画像処理装置１１は、図５で示されるように、画像Ｐ１の領域Ｚ１，Ｚ２がそれぞれ、上から垂直方向に範囲Ｃ１乃至Ｃ４に４分割されるとき、GPUカード３５−１を制御して、領域Ｚ１においては範囲Ｃ１乃至Ｃ４の順序で（上から順に下に向かう順序で）時分割処理する。同様に、図１の画像処理装置１１は、GPUカード３５−２を制御して、領域Ｚ２において範囲Ｃ１乃至Ｃ４の順序で時分割処理する。【００５９】
このように水平方向に対しては複数の（図５では２個の）GPUカード３５により並列に処理がなされ、さらに、垂直方向にはそれぞれのGPUカード３５により時分割処理されることにより画像処理を高速化し、低レイテンシ化を実現することが可能となる。【００６０】
＜オーバヘッド＞
GPUカード３５のプロセッサ９２により画像に対して実行される処理は、一般的に、フィルタ処理である。例えば、図６で示されるようなガウシアンフィルタを、各画素に対して３回処理する必要がある場合を考える。尚、図６においては、３画素×３画素のガウシアンフィルタであり、注目画素に４／１６が、注目画素の上下左右の４画素に２／１６が、注目画素の左右斜め上下の４画素に１／１６がそれぞれ重み係数として設定され、これらの関和を画素として演算するフィルタである。【００６１】
この場合、図７の左上部で示されるように、処理対象となる注目画素Ｐを中心とした５画素×５画素の範囲に１回目のフィルタ処理が施される。この場合、５画素×５画素の範囲の上下左右の端部の画素にフィルタを掛けるには、その端部の１画素分だけ注目画素に向かって反対側に隣接する画素も必要となる。また、５画素×５画素の範囲の角の画素については、さらに、斜め方向の注目画素に対して反対側に隣接する１画素も必要となる。すなわち、「１」が付されたマス目で示される５画素×５画素の範囲に対して１回目のフィルタ処理を施すには、図中の注目画素Ｐを中心とした合計７画素×７画素が必要となる。【００６２】
次に、図７の中央上部で示されるように、注目画素Ｐを中心とした３画素×３画素の範囲に２回目のフィルタ処理が施されることになる。この場合も、３画素×３画素の範囲の上下左右の端部の画素にフィルタを掛けるには、その端部の１画素分だけ注目画素に向かって反対側に隣接する画素も必要となる。また、３画素×３画素の範囲の角の画素については、さらに、斜め方向にも注目画素に対して反対側に隣接する１画素が必要となる。すなわち、２回目のフィルタ処理では、図中の「２」が付されたマス目で示される、３画素×３画素の範囲の合計９画素が必要となる。【００６３】
そして、図７の右上部で示されるように、このようにして求められた２回目までの処理がなされた８画素が利用されて、注目画素Ｐは、「３」が付されるように、３回のフィルタ処理がなされることになる。【００６４】
結果として、図７の下部で示されるように、注目画素Ｐに３回のフィルタ処理を施すには、注目画素Ｐを中心とした斜線部で示される７画素×７画素の範囲の画素を利用することで、注目画素Ｐに３回のフィルタ処理を施すことが可能となる。すなわち、注目画素に３回フィルタ処理を掛ける場合、３回目の処理で注目画素を中心とした３画素×３画素の領域の画素が参照ピクセルとなる。また、２回目の処理で３回目の参照ピクセルとなる３画素×３画素の各画素について２回目のフィルタの処理に必要な参照ピクセルが、９画素のそれぞれを中心とした９画素分必要となるので、５画素×５画素の範囲が参照ピクセルとなる。さらに、１回目の処理で２回目の参照ピクセルのそれぞれについて５画素×５画素の各画素が参照ピクセルとされることにより、結果として、７画素×７画素の範囲が参照ピクセルとして必要となる。【００６５】
ここで、処理対象となる画素、すなわち、注目画素に処理を施す際に必要とされる、注目画素以外の参照ピクセル、または、参照ピクセル数をオーバヘッドと称するものとし、その参照ピクセルが存在する領域をオーバヘッド領域と称する。従って、図７の場合、１画素の注目画素については、図７の左下部で示されるように、注目画素から上下左右にオーバヘッド幅Ｄｐ＝４画素分の領域がオーバヘッド領域として、発生することになる。すなわち、図７の場合、オーバヘッドとなる画素は、注目画素を除く４８画素分だけ発生することになる。ただし、参照ピクセルでも、別途、注目画素となり得る画素については、オーバヘッド画素ではない。あくまでも、処理対象とはならないが、参照ピクセルとしてのみ必要とされる画素をオーバヘッドと称する。【００６６】
尚、以降においては、注目画素に対して発生するオーバヘッドの量を表現する手法としてオーバヘッド幅Ｄｐを採用する。オーバヘッド幅Ｄｐは、図７の左下部で示されるように、注目画素Ｐからみたオーバヘッドとなるピクセルの上下左右のいずれかの端部までのピクセル数である。従って、オーバヘッド幅Ｄｐ＝４であれば、オーバヘッドとなるピクセル数は４８画素となる。【００６７】
処理対象となる画素が存在する領域には、複数の画素が存在することになるが、上述したように、１フレーム分の画像を水平方向に２分割して、それぞれGPUカード３５−１，３５−２のそれぞれのプロセッサ９２−１，９２−２により、垂直方向に４分割した範囲毎に順次時分割処理がなされる場合、例えば、図８で示されるようなオーバヘッドが発生する。【００６８】
すなわち、図８においては、画像Ｐ１に対して、図中左側の領域Ｚ１における上から２段目の範囲Ｃ２で特定される領域Ｚ１Ｃ２においては、オーバヘッド領域ＯＨＺ１Ｃ２が発生する。【００６９】
従って、図８で示されるように、領域Ｚ１，Ｚ２のそれぞれについて、垂直方向に４分割した範囲Ｃ１乃至Ｃ４の合計８領域に分割される場合、オーバヘッドは、概算でオーバヘッド領域ＯＨＺ１Ｃ２の８倍発生することになる。【００７０】
また、各オーバヘッドについても、上述した３画素×３画素のフィルタの場合、１画素について、オーバヘッド幅Ｄｐ＝４画素のオーバヘッド（４８画素）が発生する例について説明したが、実際の処理は、これ以上のオーバヘッドが発生する。【００７１】
例えば、図９で示されるように、欠陥補正処理、ＲＡＷＮＲ処理、デモザイク処理、高画質化処理、および拡大処理に係るそれぞれの処理に際して、オーバヘッド幅Ｄｐ＝２，６，８，４０，８画素のオーバヘッドが発生するものとすると、合計オーバヘッド幅Ｄｐ＝６４画素のオーバヘッドが発生する。すなわち、１２９画素×１２９画素の範囲で、注目画素を除く画素数のオーバヘッド画素が発生することになる。また、例えば、水平方向に２分割し、垂直方向に４分割するとき、オーバヘッドは、分割処理しない場合に比べて、３０％程度増加することがある。【００７２】
＜オーバヘッドの削減方法＞
以上のようにオーバヘッドが増えると演算処理量が膨大なものとなり、処理時間が大きくなることで、リアルタイムを達成するためにより演算性能の高いプロセッサを必要としてしまう。そこで、図１の画像処理装置１１においては、次のような演算によりオーバヘッドを削減している。すなわち、GPUカード３５−１，３５−２のそれぞれに画像Ｐ１のうちの処理領域として領域Ｚ１，Ｚ２が割り付けられている場合、メモリ９３−１，９３−２に前段のフィルタ処理結果をバッファリングさせて、後段のフィルタ処理で流用できるようにする。【００７３】
すなわち、ｎ段のフィルタ処理が全体として必要な場合、図１０の左上部の右上がりの斜線部で示されるように、第１フィルタ処理（フィルタ#1）による範囲Ｃ１における処理領域については、以降の処理において必要とされる全参照ピクセルのライン数を含む１フレーム分の垂直方向の全ライン数の１／４よりも広いライン数の範囲とする。そして、それ以降については、全ライン数の１／４の範囲となるように、範囲Ｃ２，Ｃ３を設定し、最後の範囲Ｃ４については、残りの範囲を設定する。尚、図１０においては、左から第１フィルタ処理（フィルタ#1）、第２フィルタ処理（フィルタ#2）、および第ｎフィルタ処理（フィルタ#n）される場合、上から順次範囲Ｃ１乃至Ｃ４が順次処理されるときの画像Ｐ１の全体に対してなされる処理範囲を示したものである。【００７４】
このようにすると、範囲Ｃ１の処理結果がメモリ９３にバッファリングされることにより、範囲Ｃ２の処理については、右下がりの斜線部で示されるように、必要な参照ピクセルの存在する領域が予め範囲Ｃ１において処理済みとされることにより、これを参照することで済むので、オーバヘッドが発生しない。また、範囲Ｃ１が全ライン数の１／４よりも広いライン数の範囲とされていることから、範囲Ｃ２の位置は、本来の範囲Ｃ２よりも範囲Ｃ３に寄った位置の全ライン数の１／４の範囲とされる。これにより、範囲Ｃ３における参照ピクセルの存在する領域が範囲Ｃ２の処理結果としてバッファリングされることにより、再びフィルタ処理する必要がないのでオーバヘッドの発生が抑制される。【００７５】
同様に、範囲Ｃ３の位置は、本来の範囲Ｃ３の位置よりも範囲Ｃ４に寄った位置の全ライン数の１／４の範囲とされるので、右下がりの斜線部で示されるように、範囲Ｃ４における参照ピクセルが存在する領域が範囲Ｃ３の処理結果としてバッファリングされることにより、再びフィルタ処理する必要がないのでオーバヘッドの発生が抑制される。【００７６】
また、図１０の中央上部で示される右上がりの斜線部で示されるように、第２フィルタ処理（フィルタ#2）による範囲Ｃ１における処理領域については、以降における参照ピクセルを含む全ライン数の１／４よりも広い範囲であって、図１０の左上部の右上がり斜線部で示される第１フィルタ処理（フィルタ#1）のライン数よりも狭い範囲である。そして、それ以降については、１／４の範囲となるように、範囲Ｃ２，Ｃ３を設定し、最後の範囲Ｃ４については、残りの範囲を設定する。【００７７】
すなわち、第２フィルタ処理（フィルタ#2）の範囲Ｃ１のライン数については、第１フィルタ処理（フィルタ#1）よりも後段のフィルタ数が少ない分だけ参照ピクセルが存在する領域も狭くなることから、図１０の中央上部の右上がりの斜線部で示されるように、全ライン数の１／４よりも広い範囲ではあるが、第１フィルタ処理（フィルタ#1）の範囲Ｃ１よりも狭い範囲となる。【００７８】
この結果、範囲Ｃ２，Ｃ３についても、本来の全ライン数の１／４の範囲に近い位置にずれて設定され、範囲Ｃ４については、第１フィルタ処理（フィルタ#1）における範囲Ｃ１よりも、範囲Ｃ１のライン数が減った分だけ広くなる。【００７９】
以降、残りのフィルタ数が減るにつれて、範囲Ｃ１のライン数が全ライン数の１／４のライン数に近づいていき、範囲Ｃ２，Ｃ３の位置が本来の全ライン数の１／４の位置に近づいていく。そして、最後の第ｎフィルタ処理（フィルタ#n）においては、後段のフィルタの参照ピクセルを考慮する必要がなくなるので、図１０の右部で示されるように、範囲Ｃ１乃至Ｃ４が、本来の全ライン数の１／４のライン数の位置とされる。【００８０】
以上のように、後段のフィルタ処理で必要とされる参照ピクセルの存在する範囲のラインについて、前段のフィルタ処理において先にフィルタ処理して、処理結果をバッファリングし、後段のフィルタ処理で利用することで、オーバヘッドの発生を抑制することが可能となる。【００８１】
＜低レイテンシ表示処理＞
次に、図１１のフローチャートを参照して、図１の画像処理装置１１による低レイテンシ表示処理について説明する。【００８２】
ステップＳ１１において、IFカード３４のカメラIF７１は、図示せぬカメラより撮像された画像データの入力を受け付けて、PCIeブリッジ７３およびバス３３を介してCPU５１に供給する。CPU５１は、この供給を受けて入力された画像データをメインメモリ３２に格納させる。【００８３】
ステップＳ１２において、DMAコントローラ５１は、メインメモリ３２に格納された画像データに基づいて、画像を水平方向にGPUカード３５の数に応じて分割し、さらに、各分割された領域を垂直方向に時分割処理する上での分割数に分割するときの範囲数と、処理に係るフィルタ数とその参照ピクセルの存在する領域の情報に基づいて、処理量を計算する。【００８４】
すなわち、処理量は、大きく分けて垂直方向の処理に係る処理量と、水平方向の処理に係る処理量との２種類があり、DMAコントローラ５１は、それぞれを計算した後、合算する。【００８５】
＜垂直方向の処理量＞
すなわち、垂直方向については、最終的にメインメモリ３２に格納された後に、DMA出力される出力バッファサイズを基準として、第１フィルタ処理#1（フィルタ#1）による処理から第ｎフィルタ処理（フィルタ#n）による処理までの各フィルタ処理における参照ピクセル数と処理単位ブロックとにより順次、処理順序と逆の順序で求められる。【００８６】
すなわち、図１２で示されるように、通常の垂直方向に順次なされるフィルタ処理は、第１フィルタ処理（フィルタ#1）によりなされた処理結果が、第２フィルタ（フィルタ#2）により処理され、さらに、第３フィルタ処理（フィルタ#3）により処理されるといった処理が繰り返されて、最終的に第nフィルタ処理がなされて、DMA転送されて出力される（図中最右上部の出力DMA）。【００８７】
従って、垂直方向の処理量の計算は、出力DMAのライン数から、順次逆方向に各フィルタ処理での参照ピクセル数と処理単位ブロックとから求められていく。すなわち、例えば、出力バッファサイズとなるライン数をＰＹ（ＤＭＡ）とすると、第ｎフィルタ処理（フィルタ#n）により求められるライン数は、画像を構成する画素数により予め決められることになるので、例えば、ライン数ＰＹ（ｎ）＝ＰＹ（ＤＭＡ）となる。【００８８】
この場合、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）のライン数ＰＹ（ｎ−１）は、以下の式（１）により求められることになる。【００８９】
ＰＹ（ｎ−１）＝ＰＹ（ｎ）＋ＢＹ（ｎ−１）×ｚ
・・・（１）【００９０】
ここで、ＰＹ（ｎ−１）は、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）のライン数を、ＰＹ（ｎ）は、第ｎフィルタ処理（フィルタ#n）のライン数を、ＢＹ（ｎ−１）は、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）における処理単位ブロックの大きさを示すライン数をそれぞれ示している。【００９１】
また、ｚは、ＢＹ（ｎ−１）×Ａが参照ピクセル数よりも大きく、かつ、Ａが最小となる値である。【００９２】
すなわち、図１２の右下部で示されるように、第ｎフィルタ処理（フィルタ#n）により出力されるライン数（処理ライン数）に対して、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）における参照ピクセルを構成するライン数が、格子状に塗られた範囲である場合を考える。【００９３】
ここで、第ｎフィルタ処理（フィルタ#n）における処理ライン数は、図１２の右下部の右下がりの斜線部で示される所定のライン数からなる処理単位ブロックの４ブロック分である。また、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）における参照ピクセルは、図１２の右下部の格子状での範囲として示されるように、２ブロック分と、１ブロックに満たない数ライン分の範囲である。【００９４】
ところで、各フィルタ処理は、所定のライン数からなる処理単位ブロック毎にしか実施できない。そこで、図１２の右下部のような場合、１ブロック分に満たないライン数の部分についても１ブロック分であるものとみなす。これにより、図１２の右下部においては、式（１）で示されるｚは、３として求められることになる。【００９５】
このため、図１２の右下部の場合、第（ｎ−１）フィルタ処理（フィルタ#(n-1)）の処理ライン数は、実質的に、７ブロック分のライン数が求められることになる。【００９６】
以降、第１フィルタ処理（フィルタ#1）までの処理単位ブロック数が計算されて、処理単位ブロック数に応じた処理量が順次計算されて、その総合計が垂直方向の処理量として計算される。【００９７】
尚、ここでも、各フィルタ処理において必要とされるライン数は、図１０を参照して説明したように、オーバヘッドが削減されるように、各フィルタの後段で必要な参照ピクセルを含めたライン数が設定される。【００９８】
＜水平方向の処理量＞
水平方向の処理量についても、最終的にメインメモリ３２に格納された後に、DMA出力される出力バッファサイズを基準として、第１フィルタ処理（フィルタ#1）から第ｎフィルタ処理（フィルタ#n）までの各フィルタ処理における参照ピクセル数と処理単位ブロックとにより順次、処理順序と逆の順序で求められる。【００９９】
すなわち、図１３で示されるように、通常の水平方向に順次なされるフィルタ処理は、第１フィルタ処理（フィルタ#1）によりなされた処理結果が、第２フィルタ処理（フィルタ#2）により処理され、さらに、第３フィルタ処理（フィルタ#3）されるといった処理が繰り返されて、最終的に第nフィルタ処理（フィルタ#n）がなされて、DMA転送されて出力される（図中の出力DMA）。【０１００】
従って、水平方向の処理量の計算は、出力DMAの水平方向の処理単位ブロックの倍数で定義される幅から、順次逆方向に各フィルタ処理での参照ピクセル数と処理単位ブロックとから求められていく。ただし、水平方向の処理においては、垂直方向の処理におけるオーバヘッドを削減する処理を行わず、各フィルタ処理における水平方向の幅に、各フィルタ処理における参照ピクセル数に応じた処理単位ブロック数分の幅が単純に加算された水平方向の幅に対応した処理量となる。【０１０１】
すなわち、例えば、第ｋフィルタ処理#ｋにおける処理量を計算する上で必要とされる水平方向の幅Ｘｋは、以下の式（２）で表される。【０１０２】
Ｘｋ＝ｗ＋ｚｋ×ｘｋ
・・・（２）【０１０３】
ここで、Ｘｋは、第ｋフィルタ処理#ｋにおける処理量を計算する上で必要とされる幅であり、ｗは、第ｎフィルタ処理#nにおける処理単位ブロックの倍数で設定される水平方向の幅であり、ｚｘは、処理単位ブロックの幅である。【０１０４】
また、ｚｋは、第ｉフィルタ処理（フィルタ#i）の参照ピクセル数をｒｉとしたときの、それまでのフィルタ処理の参照ピクセル数の総和（ｒ１＋ｒ２＋・・・＋ｒ（ｋ−１）＋ｒｋ）よりも大きく、かつ、ｚｋ×ｘｋが最小となる値である。【０１０５】
すなわち、図１３の右下部の最下段の格子柄のマスで示されるように、第ｎフィルタ処理（フィルタ#n（ｎ＝１乃至６：ｎ＝６は最終段））により出力される水平方向の幅に対して、出力バッファサイズとなる第ｎフィルタ処理（フィルタ#n）に対応する第６フィルタ処理（フィルタ#6）の幅に対して、第５フィルタ処理（フィルタ#5）における参照ピクセル数が２であるものとする。【０１０６】
そして、図１３の右下部の下から２段目の格子柄のマスで示されるように、第４フィルタ処理（フィルタ#4）において、参照ピクセル数が１であるものとすれば、この場合、第５フィルタ処理（フィルタ#5）における右下がりの斜線部のマスで示されるように参照ピクセル数である２が加算されて、３となる。【０１０７】
同様にして、図１３の右下部の下から３段目の格子柄のマスで示されるように、第３フィルタ処理（フィルタ#3）において、参照ピクセル数が３であるものとすれば、この場合、右下がりの斜線部のマスで示されるように第４フィルタ処理（フィルタ#4）までの参照ピクセル数である３が加算されて、６となる。【０１０８】
さらに、図１３の右下部の下から４段目で示されるように、第２フィルタ処理（フィルタ#2）において、参照ピクセル数が１であるものとすれば、この場合、右下がりの斜線部のマスで示されるように第３フィルタ処理（フィルタ#3）までの参照ピクセル数である６が加算されて、７となる。【０１０９】
そして、図１３の右下部の最上段で示されるように、第１フィルタ処理（フィルタ#1）において、参照ピクセル数が１であるものとすれば、この場合、右下がりの斜線部のマスで示されるように第２フィルタ処理（フィルタ#2）までの参照ピクセル数である７が加算されて、８となる。【０１１０】
すなわち、この場合、例えば、図１３の右下部の下から３段目で示されるように、処理単位ブロックが１ピクセルで構成される場合、第３フィルタ処理（フィルタ#3）における、上述した式（２）のｚｋ（＝ｚ３）は、２となる。【０１１１】
以上のような手法により、水平方向の各フィルタにおける処理対象となる処理単位ブロックの倍数となる幅の合算結果に対応する処理量が順次求められる。【０１１２】
DMAコントローラ５１は、画像の水平方向の分割数、および垂直方向の分割数に応じて、上述した垂直方向の処理量および水平方向の処理量を計算し、双方を合算することにより処理に必要とされる処理量を計算する。【０１１３】
ステップ１３において、DMAコントローラ５１は、GPUカード３５にそれぞれ搭載されているプロセッサ９２の処理能力と、上述した計算により求められた処理量とに応じて、各種のフィルタ処理に係る処理時間を計算し、さらに、求められた処理時間から画像データの読み出し、または転送タイミング等の各種のタイミングを計算する。この処理により、以降の処理において、どのタイミングでどの画像データを、どこのGPUカード３５に転送するのかを示すタイミングチャートを構築する。【０１１４】
ステップＳ１４において、DMAコントローラ５１は、所定のタイミングから、このタイミングチャートに基づいて処理を開始し、今現在、次の処理のタイミングになったか否かを判定し、次の処理のタイミングになるまで、同様の処理を繰り返す。【０１１５】
ステップＳ１４において、例えば、次の処理を開始するタイミングであると判定された場合、処理は、ステップＳ１５に進む。【０１１６】
ステップＳ１５において、DMAコントローラ５１は、タイミングチャートに基づいて、次の処理として設定されている画像データをメインメモリ３２より読み出して、転送先として設定されているGPUカード３５に転送させ、同時に、GPUカード３５のプロセッサ９２に処理を実行させる。または、DMAコントローラ５１は、GPUカード３５のプロセッサ９２による処理が実行されて、処理結果が送信されてくると、これを受け取って、メインメモリ３２に格納する。【０１１７】
ステップＳ１６において、DMAコントローラ５１は、タイミングチャートを参照して、次の処理が存在するか否かを判定し、例えば、次の処理がある場合、処理は、ステップＳ１４に戻り、以降の処理が繰り返される。【０１１８】
すなわち、ステップＳ１６において、次の処理がないと判定されるまで、ステップＳ１４乃至Ｓ１６の処理が繰り返される。そして、ステップＳ１４乃至Ｓ１６の処理が繰り返されて、タイミングチャートに設定された全ての処理が完了すると、ステップＳ１６において、次の処理がないとみなされて、処理は、ステップＳ１７に進む。【０１１９】
ステップＳ１７において、DMAコントローラ５１は、メインメモリ３２に格納されている高画質化等の処理がなされた画像データをバス３３、およびIFカード３４のPCIeブリッジ７３を介してディスプレイIF７２より図示せぬディスプレイに出力させる。【０１２０】
ステップＳ１８において、DMAコントローラ５１は、次の画像が供給されてきているか否かを判定し、次の画像が存在する場合、処理は、ステップＳ１１に戻り、それ以降の処理が繰り返される。【０１２１】
そして、ステップＳ１８において、次の画像の供給がないとみなされた場合、処理は、終了する。【０１２２】
すなわち、以上のように、複数のGPUカード３５のプロセッサ９２により水平方向に画像を分割して、各プロセッサ９２により分担して処理させるようにした。また、各プロセッサ９２による垂直方向に所定数の範囲に分割して、分割した範囲を時分割処理するようにした。また、この時分割処理において、後段のフィルタ処理における参照ピクセルの存在する範囲を前段のフィルタ処理で実行して、メモリ９３にバッファリングさせるようにした。【０１２３】
これにより、複数のGPUカード３５におけるプロセッサ９２により並列に処理を実行させるようにすることが可能となり、例えば、図３の下段で示されるような並列処理が可能となった。また、垂直方向に時分割処理するにあたって、参照ピクセルを繰り返し計算し直すといったオーバヘッドが削減されるように、各プロセッサ９２による処理効率を向上させるようにした。【０１２４】
結果として、画像データを高画質化して表示させるまでの速度が向上し、低レイテンシ化を実現することが可能となる。【０１２５】
＜処理時間を均一にする＞
以上の処理により、垂直方向のフィルタ処理におけるオーバヘッド削減とのトレードオフにより、各種の処理時間が変化することがある。【０１２６】
すなわち、図１４の左部は、欠陥補正、ＲＡＷＮＲ、デモザイク、高画質化、拡大、および出力DMAといった各種の処理に当たってオーバヘッドを削減するように、前段のフィルタ処理で後段のフィルタ処理における参照ピクセルをバッファリングするようにしたときの範囲Ｃ１乃至Ｃ４に設定されるライン数の一例を示したものである。【０１２７】
図１４の左部においては、欠陥補正処理における範囲Ｃ１乃至Ｃ４の各ライン数は、６０４，５４０，５４０，４７６ラインであり、ＲＡＷＮＲ処理における範囲Ｃ１乃至Ｃ４の各ライン数は、５９６，５４０，５４０，４８４ラインであり、デモザイク処理における範囲Ｃ１乃至Ｃ４の各ライン数は、５８８，５４０，５４０，４９２ラインであることが示されている。また、高画質化処理における範囲Ｃ１乃至Ｃ４の各ライン数は、５４８，５４０，５４０，５３２ラインであり、拡大処理の範囲Ｃ１乃至Ｃ４の各ライン数は、５４０，５４０，５４０，５４０ラインであり、出力ＤＭＡ処理の範囲Ｃ１乃至Ｃ４の各ライン数は、５４０，５４０，５４０，５４０ラインであることが示されている。【０１２８】
この場合、範囲Ｃ１乃至Ｃ４における処理時間は、図１４の右部で示されるようなものとなり、範囲Ｃ１乃至Ｃ４における処理時間の合計における最大差Δは、例えば、範囲Ｃ１，Ｃ４の処理時間の差であり、範囲Ｃ１の処理時間に対する５％前後の時間となる。これは、垂直方向のフィルタ処理におけるオーバヘッド削減を目的として処理ライン数が変化することに起因したものであり各種の処理時間が変化することにより生じるものである。尚、図１４の右部においては、左から範囲Ｃ１乃至Ｃ４のそれぞれの処理時間の総合計とその内訳が示されている。【０１２９】
このように処理時間が不均一となることの対策として、例えば、範囲Ｃ１乃至Ｃ４において、最終的に出力するライン数を調整して、処理時間を平滑化することが考えられる。【０１３０】
すなわち、例えば、図１５の左下部で示されるように、出力ＤＭＡ処理におけるライン数を範囲Ｃ１については５２０ラインに、範囲Ｃ４については５６０ラインにするといったように、処理時間の不均一が解消するように不均一にする。【０１３１】
このようにすると、図１５の右下部で示されるように、範囲Ｃ１，Ｃ４における処理時間差Δがほぼ０の状態に解消され、処理時間を全体として平滑化されて均一なものとすることが可能となる。尚、図１５の左上部および右上部は、それぞれ図１４の左部および右部と同一のものである。【０１３２】
また、例えば、範囲Ｃ１乃至Ｃ４のうち、処理時間が早い範囲については、処理速度をリアルタイムで調整する必要のない処理を分担させるようにしてもよく、例えば、図１６で示されるように、範囲Ｃ２乃至Ｃ４における最上段の黒色の範囲で示される時間帯に、検波処理などに割り当てるようにして、総じて処理時間が均一なものとなるようにしてもよい。【０１３３】
以上の処理により、画像を水平方向に分割して、複数のプロセッサに割り付け、水平分割された各領域を、垂直方向に時分割処理し、かつ、垂直方向に分割された各範囲については、先頭の範囲に後段の処理に必要とされる参照ピクセルを含む範囲を設定する。そして、先頭範囲の処理において、先行して参照ピクセルの処理も含めてフィルタ処理を実施した上でバッファリングし、以降のフィルタ処理においては、バッファリングしたものを参照して処理を実行させるようにした。これにより、撮像した画像の表示処理を低レイテンシ化させることが可能となり、撮像した画像を撮像した実時間により近いタイミングで高速に表示させることが可能となる。【０１３４】
このため、図１の画像処理装置１１は、例えば、患者の術部を撮像する撮像装置として内視鏡下手術に利用される内視鏡や脳神経外科手術等に利用される顕微鏡などにより患者の術部が撮像された画像を処理する画像処理装置、さらには、撮像装置としての内視鏡や顕微鏡を含めた手術システムに適用させることができる。また、GPUカード３５におけるプロセッサ９２を利用するにあたって、画像を表示させる上でのタイムラグ等への考慮を低減させることが可能となるので、プログラマビリティを向上させることが可能となる。さらに、放送波などを介して受信された画像を表示するにあたっても、低レイテンシ化を図ることができるので、タイムラグを抑制して表示させることが可能となる。【０１３５】
さらに、画像を処理するにあたって、DMAコントローラ５１により、処理に使用するフィルタに応じた参照ピクセル数と処理単位ブロックとに応じて、予め処理量を計算した上で、画像データの読み出しタイミングや書き込みタイミングを最適化した後、処理を実行するようにしているので、処理内容に寄らず、最適な状態で低レイテンシ化を図ることが可能となる。【０１３６】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。【０１３７】
図１７は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。【０１３８】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。【０１３９】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。【０１４０】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。【０１４１】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。【０１４２】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。【０１４３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。【０１４４】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。【０１４５】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。【０１４６】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。【０１４７】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。【０１４８】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。【０１４９】
尚、本技術は、以下のような構成も取ることができる。
（１）  患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理装置。
（２）  前記複数の演算処理部は、複数のGPU（Graphical Processing Unit）により構成され、
前記演算処理部は、前記GPUの数で水平方向に分割された前記画像に処理を施す
（１）に記載の画像処理装置。
（３）  前記画像に施す処理は、ｎ段のフィルタを掛ける処理である
（１）または（２）に記載の画像処理装置。
（４）  前記ｎ段の前記フィルタは、それぞれ前記画像を垂直方向に分割した範囲を、前記垂直方向の最上段の範囲から下方向に向かって順次時分割で処理を施す
（３）に記載の画像処理装置。
（５）  前記画像の前記水平方向の分割数、および前記垂直方向の分割数に基づいて算出される前記画像に施す処理量と、前記演算処理部の処理速度とに基づいて、前記演算処理部の演算のタイミングを制御するタイミング制御部をさらに含む
（１）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記画像を前記垂直方向に時分割した範囲のうち、第１の期間の処理範囲には、前記第１の期間より後の第２の期間の処理に必要とされる参照ピクセルが含まれる
（１）乃至（５）のいずれかに記載の画像処理装置。
（７）  前記演算処理部は、処理結果をバッファリングするメモリを含み、
前記第２の期間の処理では、前記メモリにバッファリングされた前記第１の期間の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行する
（６）に記載の画像処理装置。
（８）  前記演算処理部は、処理結果をバッファリングするメモリを含み、
前記画像を垂直方向に分割した範囲のうち、各段の前記フィルタによる前記垂直方向の最上段の処理範囲は、前記垂直方向の２段目以下の処理範囲における前記フィルタの処理に必要とされる参照ピクセルのライン数を含む範囲とし、
前記演算処理部は、前記フィルタによる処理のための演算処理を実行するにあたり、前記参照ピクセルを利用する処理は、前記メモリにバッファリングされた前段までのフィルタ処理の処理結果から、前記参照ピクセルに対応する処理結果を利用して演算処理を実行する
（３）に記載の画像処理装置。
（９）  前記演算処理部は、前記患者の術部が撮像された画像に対して、少なくとも拡大処理を施す
（１）乃至（８）のいずれかに記載の画像処理装置。
（１０）  前記患者の術部が撮像された画像は、内視鏡により撮像された画像である
（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）  前記患者の術部が撮像された画像は、顕微鏡により撮像された画像である
（１）乃至（９）のいずれかに記載の画像処理装置。
（１２）  患者の術部が撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含む画像処理装置の画像処理方法において、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理方法。
（１３）  前記画像は、内視鏡により撮像された画像である
（１２）に記載の画像処理方法。
（１４）  前記画像は、顕微鏡により撮像された画像である
（１２）に記載の画像処理方法。
（１５）  患者の術部を撮像する撮像装置と、
前記撮像装置により撮像された画像を垂直方向に分割された範囲毎に時分割で処理を施す複数の演算処理部を含み、
前記演算処理部は、前記演算処理部の数で、水平方向に分割された前記画像を、前記垂直方向に時分割して処理を施す
画像処理装置と
を有する手術システム。
【符号の説明】
【０１５０】
１１  情報処理部，  ３１  CPU，  ３２  メインメモリ，  ３３  バス，  ３４  IFカード，  ３５，３５−１，３５−２  GPUカード，  ５１  DMAコントローラ，  ７１  カメラIF，  ７２  ディスプレイIF，  ７３，９１，９１−１，９１−２  PCIeブリッジ，  ９２，９２−１，９２−２  プロセッサ，  ９３，９３−１，９３−２  メモリ
【図１】
2015163171.tif 000003
【図２】
2015163171.tif 000004
【図３】
2015163171.tif 000005
【図４】
2015163171.tif 000006
【図５】
2015163171.tif 000007
【図６】
2015163171.tif 000008
【図７】
2015163171.tif 000009
【図８】
2015163171.tif 000010
【図９】
2015163171.tif 000011
【図１０】
2015163171.tif 000012
【図１１】
2015163171.tif 000013
【図１２】
2015163171.tif 000014
【図１３】
2015163171.tif 000015
【図１４】
2015163171.tif 000016
【図１５】
2015163171.tif 000017
【図１６】
2015163171.tif 000018
【図１７】
2015163171.tif 000019
【国際調査報告】
2015163171.tif 000020
2015163171.tif 000021
2015163171.tif 000022
2015163171.tif 000023