(57)【要約】【課題】様々な条件下においても高速なレンダリング処理を実現する技術を提供する。【解決手段】画像処理装置（１００）は、ボリュームデータを取得する取得手段（１０１）と、取得したボリュームデータのサイズに応じて、当該ボリュームデータに対して適用する分割手法及び分割数を決定する決定手段（１０４）と、決定した分割手法及び分割数により、ボリュームデータに対してレンダリング処理を行うレンダリング手段（１０５）とを備える。【選択図】  図１
2016130969.tif 000002
【特許請求の範囲】
【請求項１】
ボリュームデータを取得する取得手段と、
取得した前記ボリュームデータのサイズに応じて、当該ボリュームデータに対して適用する分割手法及び分割数を決定する決定手段と、
決定した前記分割手法及び分割数により、前記ボリュームデータに対してレンダリング処理を行うレンダリング手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記決定手段は、レンダリング処理に要する時間がより小さくなるような分割手法及び分割数を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記分割手法として、スクリーン分割及びボリューム分割のいずれかを決定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記決定手段は、ボリュームデータのサイズと分割手法及び分割数との対応関係を示すテーブルを参照して、前記分割手法及び分割数を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記テーブルを事前に作成する作成手段を更に備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記作成手段は、
サンプルのボリュームデータの予め定められた複数のサイズの各々について、
予め定められた複数の分割手法及び複数の分割数の組み合わせによるレンダリング処理に要する時間を測定し、
当該測定された時間が最も小さい組み合わせを当該サイズに対応する分割手法及び分割数として定義することにより前記テーブルを作成する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記作成手段は、様々なサイズのボリュームデータについて、前記レンダリング処理に要する時間が最も小さい分割手法及び分割数の組み合わせを判定することにより、分割手法及び分割数を切り替えるべきボリュームデータのサイズの境界値を決定して前記テーブルを作成することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記レンダリング手段は、前記ボリュームデータのサイズが予め定められた閾値以下である場合、当該ボリュームデータを分割せずにレンダリング処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記レンダリング手段は、前記決定手段が決定した分割数だけ分割された前記ボリュームデータの各々に対して、複数のプロセッサにより並列にレンダリング処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記レンダリング手段は、前記ボリュームデータのサイズが予め定められた閾値以下である場合、１つのプロセッサにより前記ボリュームデータに対してレンダリング処理を行うことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
ボリュームデータを取得する取得手段と、
取得した前記ボリュームデータのサイズに応じて、当該ボリュームデータに対して適用するスクリーン分割及びボリューム分割のいずれかを決定する決定手段と、
該決定した分割手法を用いて、前記ボリュームデータに対してレンダリング処理を行うレンダリング手段と
を備えることを特徴とする画像処理装置。
【請求項１２】
取得手段が、ボリュームデータを取得する取得工程と、
決定手段が、取得した前記ボリュームデータのサイズに応じて、当該ボリュームデータに対して適用する分割手法及び分割数を決定する決定工程と、
レンダリング手段が、決定した前記分割手法及び分割数により、前記ボリュームデータに対してレンダリング処理を行うレンダリング工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１３】
取得手段が、ボリュームデータを取得する取得工程と、
決定手段が、取得した前記ボリュームデータのサイズに応じて、当該ボリュームデータに対して適用するスクリーン分割及びボリューム分割のいずれかを決定する決定工程と、
レンダリング手段が、該決定した分割手法を用いて、前記ボリュームデータに対してレンダリング処理を行うレンダリング工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１４】
コンピュータを請求項１から１１のいずれか１項に記載の画像処理装置が備える各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及びその制御方法、コンピュータプログラムに関し、特に、３次元ボリュームデータのレンダリング処理を行う画像処理技術に関する。
【背景技術】
【０００２】
３次元ボリュームデータに対するレンダリング処理として、ＭＩＰ（Ｍａｘｉｍｕｍ  Ｉｎｔｅｎｓｉｔｙ  Ｐｒｏｊｅｃｔｉｏｎ：最大値投影法）やボリュームレンダリングといった手法が知られている。これら処理はメモリアクセス、計算量が共に多く、処理に時間がかかる場合が多い。処理時間を短縮するために、処理の並列化や画像の解像度・精度を落とすことが知られている。しかし、医療分野において画像の解像度・精度は、医者が診断を行う上で非常に重要な要素であるため、解像度・精度に影響を与えない、処理の並列化によるアプローチを採用する場合が多い。
【０００３】
複数の計算機に処理を分散し並列化を行うレンダリングの手法として、ボリュームを分割し、レンダリングする手法（以下、ボリューム分割）と、スクリーン面を分割し、レンダリングする手法（以下、スクリーン分割）が知られている。ボリューム分割とスクリーン分割との間には、処理時間とメモリ使用量のトレードオフが存在する。すなわち、スクリーン分割は高速な処理が可能であるが、メモリ使用量がボリューム分割よりも大きくなる。一方、ボリューム分割はメモリ使用量を抑えられるが、処理速度がスクリーン分割よりも低速となる。
【０００４】
三次元ボリュームデータを分割してレンダリング処理する手法が特許文献１に記載されている。特許文献１の構成は、ボリューム分割における最適な分割数を事前にボリュームデータサイズ毎に計算しておき、テーブルとして用意しておく。そして、入力ボリュームデータサイズに合った適切な分割数をテーブルから取得し、レンダリング処理を実行する。テーブルの作成は、ボリュームデータサイズ毎に、分割数を変えながらレンダリング処理を試行し、各ボリュームデータサイズにおいて最も処理が高速だった分割数（並列処理数）を判定して行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−８４２９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の構成はレンダリング処理を高速化する上で、次の課題があった。すなわち、従来の構成はボリューム分割を行ってからレンダリング処理をするものであるが、計算機のメモリ容量が大きい且つ計算機が複数利用可能な環境下では、ボリューム分割が必ずしも最適な分割方法ではない。
【０００７】
本発明は、様々な条件下においても高速なレンダリング処理を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明による画像処理装置は以下の構成を備える。即ち、
ボリュームデータを取得する取得手段と、
取得した前記ボリュームデータのサイズに応じて、当該ボリュームデータに対して適用する分割手法及び分割数を決定する決定手段と、
決定した前記分割手法及び分割数により、前記ボリュームデータに対してレンダリング処理を行うレンダリング手段と
を備える。
【発明の効果】
【０００９】
本発明によれば、様々な条件下においても高速なレンダリング処理を実現する技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の機能構成を示すブロック図
【図２】レンダリング処理部のハードウェア構成例を示すブロック図
【図３】計算ノードのハードウェア構成例を示すブロック図
【図４】分割テーブルを作成する処理の処理手順を示すフローチャート
【図５】ハードウェア情報の一例を示す図
【図６】テスト用ボリュームデータの大きさの一例を示す図
【図７】テスト用レンダリング処理で得られる結果の一例を示す図
【図８】分割用テーブルの計算結果の一例を示す図
【図９】レンダリング処理の処理手順を示すフローチャート
【図１０】画像処理装置の機能構成を示すブロック図
【図１１】分割手法・分割数とボリュームデータサイズとの関係を示す図
【図１２】分割テーブルを作成する処理の処理手順を示すフローチャート
【図１３】反復１回目で選択されるボリュームデータサイズを示す図
【図１４】反復２回目で選択されるボリュームデータサイズを示す図
【図１５】反復２回目終了後に得られる分割テーブル最適化結果を示す図
【図１６】レンダリング処理の処理手順を示すフローチャート
【図１７】画像処理の処理手順を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１２】
＜＜実施形態１＞＞
（画像処理装置）
図１は、本発明の一実施形態（実施形態１）に係る画像処理装置の機能構成を示すブロック図である。以下、画像処理装置の主要な構成要素を説明するが、ここに説明するもの以外の構成要素を備えていても構わない。
【００１３】
１００は、３次元ボリュームデータのレンダリング処理を行う画像処理装置である。１０１はボリュームデータ受信部であり、システム外からボリュームデータを受信し、受信したボリュームデータのサイズ、データのタイプを取得する。ボリュームデータとは、３次元空間内における濃度や密度の分布を表したデータである。１０２はテーブル作成部であり、画像処理装置１００内に保持しているデータサイズが異なる複数のテストボリュームデータを用いて、各ボリュームサイズに最適な分割手法（スクリーン分割・ボリューム分割）及び分割数を決定しテーブル化する。テーブル作成部１０２は、レンダリング処理の事前にテーブルを作成する。１０３はテーブルそのもの（分割テーブル）であり、テーブル作成部１０２でテーブル化された、各ボリュームデータサイズに最適な分割手法および分割数を管理する。１０４は決定部であり、テーブル１０３を参照して、ボリュームデータ受信部１０１にて取得したボリュームデータを処理する際の分割手法および分割数を決定する。後述するように、決定部１０４は、レンダリング処理に要する時間がより小さくなるような分割手法及び分割数を決定する。１０５はレンダリング処理部であり、決定部１０４にて決定した分割手法および分割数に基づいて、ボリュームデータ受信部１０１にて受信したボリュームデータのレンダリング処理を行う。１０６は出力部であり、レンダリング処理部１０５にて処理されたデータを出力する。
【００１４】
レンダリング処理部１０５がレンダリング処理を行うためのハードウェア構成について、図２及び図３を用いて説明する。図２は、レンダリング処理を行うレンダリング処理部１０５のハードウェア構成例を示したブロック図である。図２において、２００は、レンダリング処理部１０５を実現するための構成である。２０１は実際にレンダリング処理を行う計算ノードであり、並列演算を行うために、２００内のネットワークを介して複数の計算ノードが接続されている。
【００１５】
計算ノード２０１の具体的なハードウェア構成について図３を用いて説明する。図３は、図２における計算ノード２０１のハードウェア構成を具体的な一例を示すブロック図である。３００は計算ノード２０１全体を制御するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（中央演算処理装置、以下「ＣＰＵ」）であり、オペレーティングシステム（以下「ＯＳ」）等のコンピュータプログラムに基づき装置の処理を制御する。３０１は通信機構であり、接続されている他の計算ノード２０１とのデータのやり取りを行う。３０２は揮発メモリであり、プログラムやデータを一時記憶するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（書込み可能メモリ、以下「ＲＡＭ」）のようなメモリである。３０３は不揮発メモリであり、電源を供給しなくてもデータやプログラムを記録しておくことができる不揮発な記録媒体である。不揮発メモリ３０３は、ハードディスクドライブ（以下「ＨＤＤ」）やソリッドステートドライブ（以下「ＳＳＤ」）により実現することができる。３０４は画像処理を行うＧｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（以下「ＧＰＵ」）であり、ディスプレイ表示やレンダリング処理等を行う。
【００１６】
上記のようなレンダリング処理部１０５を備えた画像処理装置１００は、パーソナルコンピュータ（ＰＣ）、ワークステーション（ＷＳ）、タブレット端末等の情報処理装置により実現することができる。なお、本実施形態では、画像処理装置１００全体の制御を、いずれかの計算ノード２０１のＣＰＵ３００が行うが、全体処理を統括するためのＣＰＵを別途設けるようにしてもよい。
【００１７】
（テーブル作成処理）
次に、図４を用いて図１におけるテーブル作成部１０２にて実施される処理フローを説明する。テーブル作成部１０２は、サンプルのボリュームデータの予め定められた複数のサイズの各々について、予め定められた複数の分割手法及び複数の分割数の組み合わせによるレンダリング処理に要する時間を測定する。そして、当該測定された時間が最も小さい組み合わせを当該サイズに対応する分割手法及び分割数として定義することによりテーブルを作成する。図４は、テーブル作成の処理手順を示すフローチャートである。図４の各ステップは、画像処理装置１００が備えるＣＰＵの制御に基づき実行される。
【００１８】
Ｓ４００では、レンダリング処理で行うことが可能な分割手法一覧を取得する。分割手法の一例として、描画対象のスクリーンを分割するスクリーン分割、レンダリング処理対象のボリュームデータを分割するボリューム分割が挙げられる。本実施形態では、このスクリーン分割、ボリューム分割の二種類の分割手法が取得できる場合について説明する。
【００１９】
Ｓ４０１では、システムを構成するハードウェアの性能を示すハードウェア情報を取得し、後段で分割してレンダリング処理する際、ハードウェアの性能の制約下での分割可能数の最大値を算出する。図５は、ここで取得するハードウェア情報の一例を示している。図５はあくまでも一例であり、取得できるハードウェア情報の種類等は、図示したものに限定されない。
【００２０】
図５において、行５００から行５０２は計算ノード種別を示し、図２におけるレンダリング処理を行う計算ノード２０１の個数だけ存在する。本実施形態では、一例として、ノード１からノード３までの３個の計算ノード２０１が存在する場合を説明する。列５０４から列５０８はハードウェア情報を示す。図５では、ＣＰＵコア数５０３、ＣＰＵコアクロック５０４、ＣＰＵメモリ５０５、ＧＰＵコア数５０６、ＧＰＵコアクロック５０７、ＧＰＵメモリ５０８が取得できる例を示している。
【００２１】
この情報を用いて、Ｓ４０１では、ハードウェア情報を基に分割可能数の最大値を取得する。
【００２２】
図４の説明に戻る。Ｓ４０２では、テストボリュームデータサイズ一覧を取得する。図６は、取得するテストボリュームデータサイズ一覧の一例を示している。図６に示すテストボリュームサイズ一覧はあくまでも一例であり、図示したものに限定されない。図６において、行６００から行６０２はデータ名を示す。本実施形態では、入力データ１から入力データ３までの３個のデータが存在する場合の例を説明する。列６０３から列６０５は実際のデータサイズを数値化した例を示している。図６では、幅６０３、高さ６０４、奥行き６０５が取得できる場合を例示している。
【００２３】
次に、Ｓ４０３では、Ｓ４０４およびＳ４０５の処理を、Ｓ４００で取得した分割手法と、Ｓ４０１から取得した分割可能数と、Ｓ４０２にて取得したテストボリュームデータサイズ数との、全ての組み合わせについて繰り返す。なお、一定の組み合わせがシステム構成上取り得ない場合や、既にテスト済みの組み合わせが存在する場合などには、これらの組み合わせを除いてＳ４０４、Ｓ４０５の処理を行う。
【００２４】
Ｓ４０４では、実際にＳ４０３での組み合わせに基づいてレンダリング処理を実行する。ここでレンダリング処理を分割処理する場合の各計算ノード２０１の処理負担割合は、Ｓ４０１にて取得したコア数５０３、５０６、コアクロック５０４、５０７、メモリ量５０５、５０８を用いて決定する。すなわち、これらの性能に基づいて計算ノード２０１の処理能力を判定し、この処理能力に応じて各計算ノード２０１に割り当てる処理負担を決定する。ここでは、より高い処理能力を有する計算ノード２０１にはより大きな処理負担を分担し、より低い処理能力を有する計算ノード２０１にはより小さな処理負担を分担するようにする。ハードウェア情報に示される各性能と、計算ノード２０１の処理能力との対応関係を予め定めておくことで、Ｓ４０４の処理を高速に行うことができる。
【００２５】
Ｓ４０５では、Ｓ４０４で得られたレンダリング処理時間をＳ４０３での組み合わせ条件と対応付けて保存する。図７は、保存結果の一例を示す図である。図７において、７００から７０２は、図４におけるＳ４０２にて取得したボリュームデータサイズを示し、取得したボリュームデータサイズの個数だけ存在する。本実施形態例では上述したとおり３個のデータサイズが存在する。７０３は分割数であり、Ｓ４０１で算出した分割可能数の最大値以下の、処理時間を測定した分割数が設定される。７０４はＳ４００にて取得した分割手法であり、本実施形態では、スクリーン分割７０５、ボリューム分割７０６に大別される。ボリュームサイズ７００、分割数７０３、分割手法７０４毎に、Ｓ４０４にて実施したレンダリング処理時間が、処理時間７０７として管理されている。
【００２６】
次に、Ｓ４０６では、Ｓ４０５に保存されている結果中から、ボリュームデータサイズ毎に最も処理時間が短い分割手法、分割数を取得し、図１におけるテーブル１０３に保存する。図８は、Ｓ４０６で作成されたテーブルの一例を示す図である。図８のように、テーブルは、ボリュームデータのサイズと分割手法及び分割数との対応関係を示す。８００から８０２は、図４におけるＳ４０２にて取得したボリュームデータサイズを示し、取得した個数だけ存在する。本実施形態では、図７同様、３個のデータサイズが存在する。８０３、８０４は、図４におけるＳ４００、Ｓ４０１にて取得した分割手法と分割数を用いて、Ｓ４０３にてレンダリング処理を行った結果のうち、最も処理時間が短いと判断された分割手法及び分割数を示す。このようにして、ボリュームデータサイズ毎に、処理時間が最も短い分割手法、分割数を示すテーブルが作成される。
【００２７】
（レンダリング処理）
次に、図１におけるボリュームデータ受信部１０１、決定部１０４、レンダリング処理部１０５、出力部１０６により実行される、ボリュームデータに対するレンダリング処理の処理フローについて、図９を用いて説明する。図９は、レンダリング処理の処理手順を示すフローチャートである。
【００２８】
Ｓ９００では、図１におけるボリュームデータ受信部１０１が、システム外からボリュームデータを受信し、受信したボリュームデータのサイズを取得する。ここでは、データサイズが縦×横×奥行き＝１０２４×１０２４×１０２４のボリュームデータを取得した場合を説明する。
【００２９】
Ｓ９０１では、図１における決定部１０４が、テーブル１０３、すなわち図８のテーブルを用いて、Ｓ９００にて取得したボリュームデータサイズで処理する際の分割手法および分割数を特定する。ここでは、Ｓ９００にて取得したボリュームデータサイズは、１０２４×１０２４×１０２４であるため、図８のテーブルより、分割手法はボリューム分割、分割数は３と特定することができる。
【００３０】
Ｓ９０２では、図１におけるレンダリング処理部１０５が、Ｓ９０１にて決定した分割手法および分割数に基づいて、Ｓ９００にて受信したボリュームデータのレンダリング処理を行う。具体的には、Ｓ９０１にて決定した、３分割でのボリューム分割に基づき、図２における計算ノードにて並列にレンダリング処理を行う。
【００３１】
Ｓ９０３では、図１における出力部１０６が、Ｓ９０２にて処理されたデータを出力する。
【００３２】
上記のように、本実施形態では、ボリュームデータを取得し、取得したボリュームデータのサイズに応じて、当該ボリュームデータに対して適用する分割手法及び分割数を決定する。そして、決定した分割手法及び分割数により、ボリュームデータに対してレンダリング処理を行う。このように、ボリュームデータのサイズに応じて分割手法及び分割数を決定するため、メモリ容量が大きい、かつ計算機が複数利用可能な環境下において、ボリューム分割のみならずスクリーン分割を加味した最適な分割手法でレンダリング処理可能となる。これにより、従来手法よりも高速処理が実現できる。
【００３３】
また、本実施形態では、決定部１０４が決定した分割数だけ分割されたボリュームデータの各々に対して、複数のプロセッサにより並列にレンダリング処理を行う。このため、並列処理により高速にレンダリング処理を実行することができる。この場合、ボリュームデータのサイズが予め定められた閾値以下である場合、１つのプロセッサによりボリュームデータに対してレンダリング処理を行うようにしてもよい。これにより、処理を単純化して、高速化を実現することができる。
【００３４】
また、本実施形態では、ボリュームデータを取得し、取得したボリュームデータのサイズに応じて、当該ボリュームデータに対して適用するスクリーン分割及びボリューム分割のいずれかを決定する。そして、決定した分割手法を用いて、ボリュームデータに対してレンダリング処理を行う。このため、ボリュームデータのサイズに応じて最適な分割手法を決定することができ、様々な条件下においても高速な処理を実現することが可能となる。
【００３５】
＜＜実施形態２＞＞
以下、本発明の第二の実施形態（実施形態２）に係る構成について図面およびフローチャートを用いて説明する。実施形態１では、ボリュームデータの予め定められた複数のサイズの各々について、複数の分割手法及び分割数の組み合わせによるレンダリング処理の時間を測定して、テーブルを作成した。本実施形態では、様々なサイズのボリュームデータについて、レンダリング処理の時間が最も小さい分割手法及び分割数の組み合わせを判定することにより、分割手法及び分割数を切り替えるべきボリュームデータのサイズの境界値を決定する。これにより、任意のサイズのボリュームデータについて、最適な分割手法及び分割数を決定してよりレンダリング処理を行うことができる。なお、本発明の技術的範囲はこの実施の形態に限定されない。
【００３６】
（画像処理装置）
図１０は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。以下、画像処理装置の主要な構成要素を説明するが、ここに説明するもの以外の構成要素を備えても構わない。なお、図１０における１００１から１００６は、図１における１０１から１０６と同様の機能ブロックであるため、詳細な説明を省略する。
【００３７】
１００７はテーブル最適化部（テーブル最適化処理部）であり、テーブル作成部１００２にて作成したテーブルの結果を用いて、ボリュームデータサイズを可変することで分割数が変化する境界値を計算する。すなわち、予め定められた固定のサイズではなく、様々なサイズのボリュームデータを用いてレンダリング処理の時間を測定して、分割手法及び分割数を切り替えるべき境界値を決定する。以下、図１１を用いて説明する。
【００３８】
図１１は、ボリュームデータサイズと、分割手法（スクリーン分割・ボリューム分割）・分割数との一般的な関係の一例を示す図である。図１１のように、ボリュームデータサイズ毎の最適なレンダリング処理条件は、ボリュームデータサイズが大きくなるにつれ、分割手法がスクリーン分割からボリューム分割へと変わり、各分割手法の範囲で分割数が増大する傾向がある。本実施形態では、この条件が変わる境界を反復計算することによって求め、テーブルに保存し、それらテーブルを用いてレンダリング処理を行う。
【００３９】
（テーブル作成処理）
ボリュームデータサイズ調整済み分割テーブル作成処理の流れについて説明する。図１２は、ボリュームデータサイズ最適化済みのテーブル作成処理の流れを示すフローチャートである。図４のフローチャートと共通する部分が多いため、処理内容が異なるステップを中心に、特定の条件における結果を交えながら説明する。ここでは、とりうる分割手法として、ボリューム分割、スクリーン分割の２つがあり、ボリュームデータの最大分割数が４である条件の例を説明する。
【００４０】
Ｓ１２００、Ｓ１２０１の処理は、図４のＳ４００、Ｓ４０１と同様であり、分割手法の一覧、及び、ハードウェア情報を取得する。Ｓ１２０２では、テストボリュームデータ一覧を取得し、取得した一覧の中から、最大ボリュームデータサイズ、最小ボリュームデータサイズを抽出する。
【００４１】
Ｓ１２０３では、テスト対象となるボリュームデータサイズを計算し、このボリュームデータサイズのボリュームを生成・選択する。Ｓ１２０３での処理の詳細について図１３を参照して説明する。図１３は、ボリュームデータサイズの初期値と、結果の例を示す図である。図１３では、最小ボリュームデータサイズを最小値１３００、最大ボリュームデータサイズを最大値１３０１としている。そして、最小値、最大値と、最小値〜最大値間に分割手法数×分割数−１個の点を均等な間隔に配置した値１３０２から１３０５をボリュームデータサイズの初期値としている。
【００４２】
次に、繰り返し２回目のボリュームデータサイズと結果を図１４に示す。対象となるボリュームデータサイズは前回までの結果に依存しており、分割手法又は分割数が異なる隣接したボリュームデータサイズ間の値をテスト対象となるボリュームデータサイズとする。１４００から１４０２は、隣接する測定済みボリュームデータサイズ間での分割数の差分が１のため、中間のボリュームデータサイズ１つをテスト対象とする。１４０３、１４０４では測定済みボリュームデータサイズ間での分割数の差分が２のため、１３０５、１３０２の値を３等分し、得た２点のボリュームデータサイズをテスト対象とする。
【００４３】
Ｓ１２０４〜Ｓ１２０７の処理は、図４のＳ４０３〜Ｓ４０６と同様である。Ｓ１２０８では、テーブルを近似処理が予め指定された回数に達したか否かを判定する。上限回数に達した場合（Ｓ１２０８でＹＥＳ）はＳ１２０９へ進み、達していない場合（Ｓ１２０８でＮＯ）はＳ１２０３へ戻る。Ｓ１２０９は各境界に最も近いと想定される値のみを最適化済みテーブルとして、分割手法テーブル、分割数テーブルに保存する。
【００４４】
最適化済みテーブルの結果を図１５に示す。１回目、２回目の計算で得られた結果の中から、分割数又は分割手法が異なる、隣接したボリュームデータサイズのペアにおける小さい方の値１３００、１４０１、１３０４、１４０２、１４０３、１４０４を最適化済みテーブルに保存する。
【００４５】
上記のように、本実施形態では、様々なサイズのボリュームデータについて、レンダリング時間が最も小さい分割手法及び分割数の組み合わせを判定して、分割手法及び分割数を切り替えるべきデータサイズの境界値を決定してテーブルを作成する。このようなテーブルを参照することで、任意のサイズのボリュームデータに対して最適な分割手法及び分割数を決定することができる。
【００４６】
（レンダリング処理）
次に、レンダリング処理について説明する。本実施形態では、ボリュームデータのサイズが予め定められた閾値以下である場合、当該ボリュームデータを分割せずにレンダリング処理を行う。レンダリング処理の流れを図１６に示す。図９との重複部分が多いため、図９との相違点を中心に詳細に説明する。
【００４７】
Ｓ１６０１は、図１０における決定部１００４にて実施され、図１０におけるテーブル最適化部１００７にて決定されたテーブル１００３を用いて、Ｓ１６００にて取得したボリュームデータサイズで処理する際の分割手法および分割数を特定する。入力ボリュームデータサイズとテーブルに保存されているボリュームデータサイズが一致しない場合、テーブルに保存されているデータ内で、次に大きなボリュームデータサイズを保持する設定値を利用する。テーブルから設定値を取得後、各計算ノードに分割するボリュームデータサイズを決定する。
【００４８】
以上のシーケンスにより、本実施系による画像処理装置によれば、テーブルサイズが固定ではなく可変となり、テーブルに存在しないサイズを持つボリュームデータが入力として与えられた場合でも、より高速な設定を利用することが可能となる。これにより、従来手法に比べ、より幅広い条件で高速なレンダリング処理の実現が可能となる。
【００４９】
＜＜実施形態３＞＞
以下、本発明の第三の実施形態（実施形態３）について図面およびフローチャートを用いて説明する。ただし、本発明の技術的範囲は、この実施の形態に限定されるものではない。
【００５０】
図１７は、実施形態３に係る画像処理のフローを示すフローチャートである。以下、画像処理装置の主要工程を説明するが、これ以外の処理工程を備えていても構わない。
【００５１】
Ｓ１７００はテーブル作成工程であり、装置内に保持しているデータサイズが異なる複数のテストボリュームデータを用いて、各ボリュームサイズに最適な分割手法（スクリーン分割・ボリューム分割）及び分割数を決定しテーブル化する。
【００５２】
Ｓ１７０１はボリュームデータ受信工程であり、システム外からボリュームデータを受信し、受信したボリュームデータのサイズ、データのタイプを取得する。
【００５３】
Ｓ１７０２は決定工程であり、１０３のテーブルから１０１のボリュームデータ受信工程にて取得したボリュームデータのサイズで処理する際の分割手法および分割数を特定する。
【００５４】
Ｓ１７０３はレンダリング処理工程であり、Ｓ１７０２の決定工程にて決定した分割手法および分割数に基づいて、Ｓ１７０１のボリュームデータ受信工程にて受信したボリュームデータのレンダリング処理を行う。
【００５５】
以上の各工程により、本実施形態による画像処理によれば、メモリ容量が大きい、かつ計算機が複数利用可能な環境下において、ボリューム分割のみならずスクリーン分割を加味した最適な分割手法でレンダリング処理可能となる。これにより、従来手法よりも高速処理が実現できる。
【００５６】
以上のように、本発明の各実施形態においては、各ボリュームデータサイズに適した分割数、分割手法を保持するテーブルを、分割数、分割手法を変えた複数条件でのレンダリング処理を試行することで予め生成しておく。そして、レンダリング処理実行時に、入力ボリュームデータサイズに応じた最適な設定をテーブルから取得する。このため、より多くの構成、入力ボリュームデータサイズにおいて、処理の高速化を実現することができる。
【００５７】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５８】
１００：画像処理装置、１０１：ボリューム受信部、１０２：テーブル作成部、１０３：分割テーブル、１０４：決定部、１０５：レンダリング処理部、１０６：出力部
【図１】
2016130969.tif 000003
【図２】
2016130969.tif 000004
【図３】
2016130969.tif 000005
【図４】
2016130969.tif 000006
【図５】
2016130969.tif 000007
【図６】
2016130969.tif 000008
【図７】
2016130969.tif 000009
【図８】
2016130969.tif 000010
【図９】
2016130969.tif 000011
【図１０】
2016130969.tif 000012
【図１１】
2016130969.tif 000013
【図１２】
2016130969.tif 000014
【図１３】
2016130969.tif 000015
【図１４】
2016130969.tif 000016
【図１５】
2016130969.tif 000017
【図１６】
2016130969.tif 000018
【図１７】
2016130969.tif 000019