(57)【要約】【課題】大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができる画像処理装置１０を提供する。【解決手段】画像処理装置１０は、複数の分割数のそれぞれについて、当該分割数に基づいてテスト用のボリュームデータを分割し、使用する可視化アルゴリズムのそれぞれを用いて、テスト用のボリュームデータの２次元画像を生成し、テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを、可視化アルゴリズム毎に算出する。画像処理装置１０は、この算出された分割サイズにボリュームデータを分割して可視化処理を行う。【選択図】図１
2008084295.tif 000002
【特許請求の範囲】
【請求項１】
３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置であって、
画像処理手段と、
分割サイズ決定手段と
を備え、
前記画像処理手段は、
ボリュームデータの分割サイズを格納する分割サイズ格納手段と、
前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段と
を有し、
前記分割サイズ決定手段は、
前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、
前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテスト手段と、
前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段と
を有することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記テスト手段は、さらに、
データサイズの異なる複数の前記テスト用のボリュームデータのそれぞれについて、可視化処理を実行し、
前記分割サイズ算出手段は、
それぞれの前記テスト用のボリュームデータについて、前記テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して、当該分割サイズに対応するテスト用のボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて前記分割数格納手段に格納し、
前記可視化処理手段は、
前記分割サイズ格納手段を参照して、処理対象のボリュームデータのデータサイズが含まれる前記範囲に対応付けられている分割サイズを用いてボリュームデータの可視化処理を実行することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記分割サイズ決定手段は、
画像処理用の作業メモリの記憶容量を取得するメモリ容量取得手段をさらに有し、
前記テスト手段は、少なくとも、
前記メモリ容量取得手段によって取得された前記作業メモリの記憶容量よりも大きなデータサイズのテスト用のボリュームデータ、および、前記記憶容量よりも小さなデータサイズのテスト用のボリュームデータのそれぞれについて、可視化処理を実行することを特徴とする画像処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の画像処理装置であって、
前記可視化処理手段は、
複数の可視化アルゴリズムを有し、当該複数の可視化アルゴリズムのいずれかを用いてボリュームデータの可視化処理を実行し、
前記アルゴリズム取得手段は、
前記可視化処理手段が有する複数の可視化アルゴリズムを全て取得し、
前記テスト手段は、
前記アルゴリズム取得手段によって取得された複数の可視化アルゴリズムのそれぞれを用いて可視化処理を実行し、
前記分割サイズ算出手段は、
前記算出した分割サイズを、当該分割サイズを算出するために使用された可視化アルゴリズムを識別する情報にさらに対応付けて前記分割サイズ格納手段に格納することを特徴とする画像処理装置。
【請求項５】
請求項１から４のいずれか一項に記載の画像処理装置であって、
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
をさらに備え、
前記構成情報収集手段は、
前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記分割サイズ決定手段に分割サイズを出力させることを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
構成情報として収集すべきハードウェアおよびソフトウェアの項目である収集項目を複数格納する収集項目格納手段と、
ユーザから受け付けた前記収集項目の追加または削除の指示に応じて、前記収集項目格納手段内のデータを変更する収集項目変更手段と
をさらに備え、
前記構成情報収集手段は、
前記収集項目格納手段内に格納されている複数の収集項目のそれぞれについて構成情報を収集することを特徴とする画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、
前記構成情報収集手段は、少なくとも、
当該画像処理装置が有する主演算装置および画像処理用の副演算装置の種類を構成情報として収集することを特徴とする画像処理装置。
【請求項８】
３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置を制御するプログラムであって、
前記画像処理装置を、
ボリュームデータの分割サイズを格納する分割サイズ格納手段と、
前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段と
を有する画像処理手段、および
前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、
前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテスト手段と、
前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段と
を有する分割数決定手段
として機能させることを特徴とするプログラム。
【請求項９】
３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置における画像処理方法であって、
前記画像処理装置は、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を、自画像処理装置が管理する記憶領域に複数格納する分割数格納ステップと、
前記記憶領域に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて、前記テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテストステップと、
前記テストステップにおける可視化処理の結果から、前記テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記記憶領域に格納する分割サイズ算出ステップと、
前記記憶領域に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理ステップと
を実行することを特徴とする画像処理方法。
【請求項１０】
３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置であって、
データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段と、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段と、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段と、
ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて格納する分割アルゴリズム格納手段と、
外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段と、
前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段と
を備えることを特徴とする画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置であって、
前記分割アルゴリズム格納手段には、
ボリュームデータを同一のデータサイズに分割する分割アルゴリズム、または、ボリュームデータを複数の異なるデータサイズに分割する分割アルゴリズムの、少なくともいずれか一方が格納されることを特徴とする画像処理装置。
【請求項１２】
請求項１０または１１に記載の画像処理装置であって、
前記処理時間格納手段は、さらに、
データサイズ毎に、当該データサイズのテスト用のボリュームデータが主演算装置から画像処理専用の副演算装置へ転送されるのにかかる第一の時間、および、当該データサイズのテスト用のボリュームデータが副演算装置によって可視化処理されたデータである可視化データが、副演算装置から主演算装置へ転送されるのにかかる第二の時間を示す情報を格納し、
前記可視化試行手段は、
前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、前記第一の時間および前記第二の時間を計測し、計測した前記第一の時間および前記第二の時間を当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段にさらに格納し、
前記可視化処理時間算出手段は、
外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間、第一の時間、および第二の時間を前記処理時間格納手段から取得し、取得した可視化処理時間、第一の時間、および第二の時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出することを特徴とする画像処理装置。
【請求項１３】
請求項１０から１２のいずれか一項に記載の画像処理装置であって、
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
をさらに備え、
前記構成情報収集手段は、
前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記可視化試行手段にテスト用のボリュームデータ毎に可視化処理時間を算出させること
を特徴とする画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置であって、
構成情報として収集すべきハードウェアおよびソフトウェアの項目である収集項目を複数格納する収集項目格納手段と、
ユーザから受け付けた前記収集項目の追加または削除の指示に応じて、前記収集項目格納手段内のデータを変更する収集項目変更手段と
をさらに備え、
前記構成情報収集手段は、
前記収集項目格納手段内に格納されている複数の収集項目のそれぞれについて構成情報を収集することを特徴とする画像処理装置。
【請求項１５】
請求項１３または１４に記載の画像処理装置であって、
前記構成情報収集手段は、少なくとも、
当該画像処理装置が有する主演算装置および画像処理用の副演算装置の種類を構成情報として収集することを特徴とする画像処理装置。
【請求項１６】
コンピュータを、３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置として機能させるプログラムであって、
前記コンピュータを、
データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、
前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段、
ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて格納する分割アルゴリズム格納手段、
外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段、および
前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段
として機能させることを特徴とするプログラム。
【請求項１７】
３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置における画像処理方法であって、
前記画像処理装置は、
データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて、自画像処理装置が管理する記憶領域に格納するテストデータ格納ステップと、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を前記記憶領域に格納する処理時間格納ステップと、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
前記記憶領域に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記記憶領域に格納する可視化試行ステップと、
ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて前記記憶領域に格納する分割アルゴリズム格納ステップと、
外部から可視化対象のボリュームデータを受け付けた場合に、前記記憶領域に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記記憶領域から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出ステップと、
前記可視化処理時間算出ステップにおいて算出したボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理ステップと
を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元情報を有するボリュームデータを分割して可視化処理することにより２次元画像を生成する技術に関し、特に、Ｘ線ＣＴ（X-ray Computed Tomography）やＭＲＩ（Magnetic Resonance Imaging）等で撮影された３次元のボリュームデータの可視化処理において、グラフィックスボードに搭載されているＧＰＵ（Graphics Processing Unit）を利用して高速に可視化処理を実行するための技術に関する。
【背景技術】
【０００２】
医療現場では、Ｘ線ＣＴやＭＲＩ等で撮像されたボリュームデータを表示装置に視認可能な２次元画像として表示する場合がある。可視化処理としては、例えばＭＩＰ（Maximum Intensity Projection）やボリュームレンダリング等の方法が知られている。これらの可視化処理は、大量のボリュームデータのサンプリング計算等が必要となるめ、可視化処理に時間がかかる場合が多い。
【０００３】
また、近年、汎用のコンピュータにおいて様々な画像を表示する必要性から、汎用コンピュータに画像処理専用のグラフィックスボードが搭載されることが多い。このグラフィックスボードには、ＧＰＵ（Graphics Processing Unit）と呼ばれる画像処理に特化した専用の演算装置が搭載されている。近年のＧＰＵは、処理性能が向上していると共に、実行する処理を外部からプログラミングすることが可能となってきており、ＧＰＵを本来のコンピュータグラフィックスのアクセラレーション以外の目的に利用する動きが活発化している。
【０００４】
ＧＰＵの特徴は、並列化とパイプライン処理であり、上記のＭＩＰやボリュームレンダリング等の医療用のボリュームデータの可視化処理に向いている。しかしながら、グラフィックスボードに搭載されているビデオメモリの容量はあまり大きくなく、大容量の医療用のボリュームデータに対してそのまま可視化処理を適用しただけでは、高速な可視化処理を実現することはできない。
【０００５】
そこで、特許文献１では、ボリュームデータを固定サイズに分割し、分割データ毎に最適な解像度を決定し、決定した解像度までそれぞれの分割データの解像度を落とし、ボリュームデータ全体をグラフィックスボードのビデオメモリに搭載可能なサイズに縮小することにより、可視化処理を高速化する技術が開示されている。また、非特許文献１には、ＧＰＵのキャッシュサイズ等の条件に合わせてボリュームデータを分割することによって、ＧＰＵの処理過程におけるデータアクセスの待ち時間を短縮して可視化処理を高速化する技術が開示されている。
【０００６】
【特許文献１】特開２００３−２６３６５１号公報
【非特許文献１】G． Kiefer、et al、"Visualization of Large Medical Data Sets Using Memory-Optimized CPU and GPU Algorithms"、SPIE Medical Imaging 2005、Proc. of SPIE Voｌ．5744、p．677-686、2005
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、近年の計測技術の進歩に伴って、取得される医療用のボリュームデータは、解像度が高く大容量となっており、ボリュームデータ全体をグラフィックスボードのビデオメモリに搭載可能なサイズに縮小するためには、解像度をかなり落さなければならない場合が多い。しかし、医療現場では、画像のわずかな変化がその後の医療方針に役立つ場合があり、あまりに低い解像度の画像では、医療用の画像としては役に立たない場合が多い。
【０００８】
また、非特許文献１に示された技術を利用する場合には、あらかじめＧＰＵ内のキャッシュ容量や汎用コンピュータのバス性能等の詳細な情報を入手しなければならないが、これらの情報は必ずしも入手可能であるとか限らない。そのため、非特許文献１に示された方法を用いても、汎用のコンピュータにおいて可視化処理を高速化することができない場合が多い。
【０００９】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができるようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、分割数を変えながら、予め定められたテスト用のボリュームデータの可視化処理時間を測定し、最も可視化処理時間が短い分割数における分割サイズを、最適な分割サイズとして算出する。
【００１１】
例えば、本発明の第１の態様は、３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置であって、画像処理手段と、分割サイズ決定手段とを備え、画像処理手段は、ボリュームデータの分割サイズを格納する分割サイズ格納手段と、分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段とを有し、分割サイズ決定手段は、可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいてテスト用のボリュームデータを分割し、アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテスト手段と、テスト手段による可視化処理の結果から、テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して分割サイズ格納手段に格納する分割サイズ算出手段とを有することを特徴とする画像処理装置を提供する。
【００１２】
また、本発明の第２の態様は、３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置を制御するプログラムであって、画像処理装置を、ボリュームデータの分割サイズを格納する分割サイズ格納手段と、分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段とを有する画像処理手段、および、可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいてテスト用のボリュームデータを分割し、アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテスト手段と、テスト手段による可視化処理の結果から、テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して分割サイズ格納手段に格納する分割サイズ算出手段とを有する分割数決定手段として機能させることを特徴とするプログラムを提供する。
【００１３】
また、本発明の第３の態様は、３次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより２次元画像を生成する画像処理装置における画像処理方法であって、画像処理装置は、可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を、自画像処理装置が管理する記憶領域に複数格納する分割数格納ステップと、記憶領域に格納された複数の分割数のそれぞれについて、当該分割数に基づいてテスト用のボリュームデータを分割し、アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて、テスト用のボリュームデータの２次元画像を生成する可視化処理を実行するテストステップと、テストステップにおける可視化処理の結果から、テスト用のボリュームデータから２次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して記憶領域に格納する分割サイズ算出ステップと、記憶領域に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理ステップとを実行することを特徴とする画像処理方法を提供する。
【００１４】
また、本発明の第４の態様は、３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置であって、データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段と、データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段と、可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて処理時間格納手段に格納する可視化試行手段と、ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて格納する分割アルゴリズム格納手段と、外部から可視化対象のボリュームデータを受け付けた場合に、分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段と、可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段とを備えることを特徴とする画像処理装置を提供する。
【００１５】
また、本発明の第５の態様は、コンピュータを、３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置として機能させるプログラムであって、コンピュータを、データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段、データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段、可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて処理時間格納手段に格納する可視化試行手段、ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて格納する分割アルゴリズム格納手段、外部から可視化対象のボリュームデータを受け付けた場合に、分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、とうがい分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段、および可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段として機能させることを特徴とするプログラムを提供する。
【００１６】
また、本発明の第６の態様は、３次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより２次元画像を生成する画像処理装置における画像処理方法であって、画像処理装置は、データサイズが２のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて、自画像処理装置が管理する記憶領域に格納するテストデータ格納ステップと、データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を記憶領域に格納する処理時間格納ステップと、可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、記憶領域に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて記憶領域に格納する可視化試行ステップと、ボリュームデータをデータサイズが２のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムＩＤに対応付けて記憶領域に格納する分割アルゴリズム格納ステップと、外部から可視化対象のボリュームデータを受け付けた場合に、記憶領域に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を記憶領域から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出ステップと、可視化処理時間算出ステップにおいて算出したボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理ステップとを実行することを特徴とする画像処理方法を提供する。
【発明の効果】
【００１７】
本発明によれば、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができる。これにより、ユーザはハードウェアの構成やソフトウェアのバージョンを意識することなく、ユーザ環境におけるより適切な処理によって、高速な可視化処理を行うことが可能となり、医療現場の効率向上が期待できる。
【発明を実施するための最良の形態】
【００１８】
まず、本発明の第一の実施形態について説明する。
【００１９】
図１は、第一の実施形態における画像処理装置１０の構成を例示するシステム構成図である。画像処理装置１０は、起動制御部２０、画像処理部３０、および分割サイズ決定部４０を備える。
【００２０】
起動制御部２０は、入力装置１１を介して可視化処理の起動指示を受信した場合に、画像処理装置１０のハードウェアおよびソフトウェアの構成情報を収集し、前回起動時に収集した構成情報と一致した場合には、画像処理部３０に可視化処理の起動を指示する。一方、収集した構成情報が前回起動時に収集した構成情報と異なる場合、起動制御部２０は、分割サイズ決定部４０に分割サイズの決定処理の起動を指示する。
【００２１】
画像処理部３０は、起動制御部２０から可視化処理の起動を指示された場合に、入力装置１１からの入力操作に応じて、画像処理装置１０内に格納された、あるいは、通信ネットワーク（図示せず）を介して取得した３次元のボリュームデータを２次元画像に変換し、変換した２次元画像を表示装置１２に表示する可視化処理を実行する。画像処理部３０は、ボリュームデータを分割して可視化処理を実行する。
【００２２】
分割サイズ決定部４０は、起動制御部２０から分割サイズの決定処理の起動を指示された場合に、内蔵するテスト用のボリュームデータを用いて、複数種類の分割数について２次元画像への変換処理を実行する。そして、分割サイズ決定部４０は、２次元画像への変換の処理時間が最も短い分割数を取得し、取得した分割数から、そのときの分割サイズを算出して画像処理部３０に提供する。
【００２３】
図２は、起動制御部２０の詳細な機能構成を例示するブロック図である。起動制御部２０は、収集項目変更受付部２１、収集項目格納部２２、構成情報収集部２３、および構成情報格納部２４を備える。
【００２４】
収集項目格納部２２は、例えば図３に示すように、可視化処理をユーザから指示された場合に収集する画像処理装置１０の構成情報の収集項目２２０を格納する。収集項目２２０には、画像処理装置１０の主演算装置であるＣＰＵ（Central Processing Unit）、画像処理装置１０における副演算装置であって、画像処理装置１０に搭載されたグラフィックスボード内のＧＰＵ、およびメインメモリ等に関するハードウェアについての項目２２１と、ＢＩＯＳ（Basic Input Output System）やＯＳ（Operating System）、グラフィックスドライバ、グラフィックスライブラリ、および可視化アルゴリズム等に関するソフトウェアについての項目２２２とが含まれる。可視化アルゴリズムには、ＭＩＰやボリュームレンダリング等の複数の種類が存在する。
【００２５】
構成情報格納部２４は、例えば図４に示すように、構成情報収集部２３によって収集された画像処理装置１０内の構成情報２４１を、対応する項目２４０と共に格納する。構成情報収集部２３は、入力装置１１を介して、ユーザから可視化処理の起動指示を受け付けた場合に、収集項目格納部２２を参照して、収集項目格納部２２に格納されたそれぞれの項目についての構成情報を、例えばＯＳが有する機能であるシステムコール等を利用して収集する。そして、構成情報収集部２３は、構成情報格納部２４を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する。
【００２６】
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合、構成情報収集部２３は、可視化処理の起動を画像処理部３０に指示する。一方、いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合、構成情報収集部２３は、分割サイズ決定部４０に分割サイズの決定処理の起動を指示すると共に、今回収集した構成情報で、構成情報格納部２４内の構成情報を更新する。
【００２７】
収集項目変更受付部２１は、入力装置１１を介してユーザから、収集項目格納部２２内の収集項目の追加または削除の指示を受け付けた場合に、受け付けた指示に応じて、収集項目格納部２２内の収集項目を変更する。ユーザが、ハードウェアまたはソフトウェアを追加または削除した場合に、収集項目変更受付部２１を介して、当該追加したハードウェアまたはソフトウェアの項目を追加または削除することにより、構成情報収集部２３は、ハードウェアまたはソフトウェアの追加または削除に応じて、構成情報の変化を検出することができる。
【００２８】
図５は、画像処理部３０の詳細な機能構成を例示するブロック図である。画像処理部３０は、可視化処理部３１および分割サイズ格納部３２を備える。
【００２９】
分割サイズ格納部３２は、例えば図６に示すように、可視化処理部３１が使用する可視化アルゴリズムの種類毎に、可視化処理の際にボリュームデータを分割する分割サイズ３２１を、可視化処理対象のボリュームデータのデータサイズの範囲を示すデータサイズ範囲３２０に対応付けて格納する。図６のデータサイズ範囲３２０に示される「０〜１９２ＭＢ」は、可視化処理対象のボリュームデータのデータサイズが０メガバイト以上、１９２メガバイト未満の範囲であることを示している。分割サイズ格納部３２内のデータは、分割サイズ決定部４０によって書き換えられる。
【００３０】
可視化処理部３１は、ユーザによって画像処理装置１０にインストールされた複数の可視化アルゴリズムのいずれかを用いて可視化処理を実行することができ、いずれの可視化アルゴリズムを用いるかは、入力装置１１を介してユーザから指定される。可視化処理部３１は、起動制御部２０または分割サイズ決定部４０から可視化処理の起動を指示された場合に、ユーザから可視化アルゴリズムおよび可視化処理の対象となるボリュームデータの指定を受け付ける。
【００３１】
そして、可視化処理部３１は、分割サイズ格納部３２を参照して、ユーザから指定された可視化アルゴリズムに対応する分割サイズであって、可視化処理の対象となるボリュームデータのデータサイズが含まれるデータサイズ範囲に対応する分割サイズを抽出する。そして、可視化処理部３１は、可視化処理の対象となるボリュームデータを、抽出した分割サイズに分割して、可視化処理を実行し、実行結果を表示装置１２に表示する。
【００３２】
なお、可視化処理の対象となるボリュームデータのデータサイズが、抽出した分割サイズの倍数でない場合、可視化処理部３１は、可視化処理の対象となるボリュームデータに０を示すデータを付加することにより、当該ボリュームデータを、抽出した分割サイズの倍数にした上で、当該ボリュームデータを、抽出した分割サイズに分割する。
【００３３】
図７は、分割サイズ決定部４０の詳細な機能構成を例示するブロック図である。分割サイズ決定部４０は、アルゴリズム取得部４１、分割サイズ算出部４２、テスト用可視化処理部４３、分割数格納部４４、メモリ容量取得部４５、およびテスト用ボリュームデータ格納部４６を備える。
【００３４】
アルゴリズム取得部４１は、起動制御部２０内の構成情報格納部２４から可視化アルゴリズムに関する情報を取得する。可視化アルゴリズムに関する情報が構成情報格納部２４内に複数ある場合には、アルゴリズム取得部４１は、全ての可視化アルゴリズムに関する情報を構成情報格納部２４から取得してテスト用可視化処理部４３に提供する。メモリ容量取得部４５は、可視化処理に用いられるビデオメモリの容量を、起動制御部２０内の構成情報格納部２４から取得してテスト用可視化処理部４３に提供する。
【００３５】
分割数格納部４４は、分割サイズの決定処理においてボリュームデータを分割する分割数を複数格納する。本実施形態において、分割数格納部４４は、分割数として、例えば８、１６、３２、および６４の４つの数値を格納する。なお、他の例として、分割数格納部４４内の分割数は、画像処理装置１０の外部から変更可能なように構成されていてもよく、分割サイズ決定部４０は、通信ネットワーク等を介して、画像処理装置１０の外部から分割数を取得してもよい。
【００３６】
テスト用ボリュームデータ格納部４６は、例えば図８に示すように、テスト用に用いられるボリュームデータであるデータ本体４６１を、当該ボリュームデータのデータサイズ４６０と共に格納する。テスト用に用いられるボリュームデータは、実際の医療用画像に近いものが好ましく、例えばファントムを実際に撮像した画像等が用いられる。
【００３７】
テスト用可視化処理部４３は、起動制御部２０から分割サイズの決定処理の起動を指示された場合に、メモリ容量取得部４５にビデオメモリの容量を取得させる。そして、テスト用可視化処理部４３は、テスト用ボリュームデータ格納部４６を参照して、少なくとも、メモリ容量取得部４５によって取得されたビデオメモリの容量よりも小さいデータサイズのテスト用のボリュームデータと、大きいデータサイズのテスト用のボリュームデータとを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
【００３８】
本実施形態では、分割サイズの決定処理に用いられるテスト用のボリュームデータの初期値として、データサイズが１２８、２５６、および５１２ＭＢの３種類のテスト用のボリュームデータが指定されており、テスト用可視化処理部４３は、メモリ容量取得部４５によって取得されたビデオメモリの容量が、これら３種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれる場合には、これら３種類のボリュームデータを分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
【００３９】
メモリ容量取得部４５によって取得されたビデオメモリの容量が、上記３種類のボリュームデータの最小のデータサイズ以下である場合、テスト用可視化処理部４３は、６４、１２８、および２５６ＭＢのテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。メモリ容量取得部４５によって取得されたビデオメモリの容量が、これら３種類のボリュームデータの最大のデータサイズ以上である場合、テスト用可視化処理部４３は、２５６、５１２、および１０２４ＭＢの３種類のテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
【００４０】
テスト用可視化処理部４３は、アルゴリズム取得部４１によって取得された可視化アルゴリズムの中で未選択の可視化アルゴリズムを１つ選択する。そして、テスト用可視化処理部４３は、抽出した３種類のテスト用のボリュームデータの中で未選択のボリュームデータを１つ選択する。そして、テスト用可視化処理部４３は、分割数格納部４４に格納されている分割数の中で未選択の分割数を１つ選択する。
【００４１】
次に、テスト用可視化処理部４３は、選択した可視化アルゴリズムおよび選択した分割数を用いて、選択したテスト用のボリュームデータから２次元画像を生成する可視化処理を実行する。可視化処理が終了した場合、テスト用可視化処理部４３は、使用した可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数を、可視化処理にかかった処理時間と共に分割サイズ算出部４２へ送る。
【００４２】
アルゴリズム取得部４１によって取得された可視化アルゴリズム、メモリ容量取得部４５によって取得されたメモリ容量に基づいて選択したデータサイズ、および分割数格納部４４に格納された分割数の全ての組み合わせについて可視化処理を実行して処理時間を分割サイズ算出部４２へ送った場合、テスト用可視化処理部４３は、テスト用の可視化処理が終了した旨を分割サイズ算出部４２に通知する。
【００４３】
分割サイズ算出部４２は、テスト用可視化処理部４３から受け取った処理時間を、当該処理時間と共に受けとった可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数に対応付けて保持する。そして、テスト用の可視化処理が終了した旨をテスト用可視化処理部４３から通知された場合、分割サイズ算出部４２は、保持していた処理時間を参照して、可視化アルゴリズムの識別情報およびデータサイズの組み合わせ毎に、可視化処理にかかる時間が最小となる分割数を選択する。そして、分割サイズ算出部４２は、選択した分割数と、当該分割数に対応するテスト用ボリュームデータのデータサイズとから、分割されたボリュームデータのデータサイズである分割サイズを算出する。
【００４４】
次に、分割サイズ算出部４２は、算出した分割サイズを、当該分割サイズの算出元となった分割数に対応するテスト用ボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて、画像処理部３０内の分割サイズ格納部３２に格納し、可視化処理部３１に可視化処理の起動を指示する。
【００４５】
例えば、可視化処理に用いたテスト用のボリュームデータが、１２８、２５６、および５１２ＭＢの３種類であり、それぞれを用いて算出した分割サイズが、１６、６４、および１２８ＭＢであった場合、分割サイズ算出部４２は、１２８ＭＢと２５６ＭＢとの中点である１９２ＭＢ、および、２５６ＭＢと５１２ＭＢとの中点である３８４ＭＢを境界として、「０〜１９２ＭＢ」のデータサイズ範囲に１６ＭＢを、「１９２〜３８４ＭＢ」のデータサイズ範囲に６４ＭＢを、「３８４ＭＢ〜」のデータサイズ範囲に１２８ＭＢをそれぞれ対応付けて分割サイズ格納部３２に格納する。
【００４６】
図９は、画像処理装置１０の動作の一例を示すフローチャートである。例えば入力装置１１を介してユーザから可視化処理の起動指示を受信した場合に、画像処理装置１０は、本フローチャートに示す処理を開始する。
【００４７】
まず、構成情報収集部２３は、収集項目格納部２２を参照して、収集項目格納部２２に格納されたそれぞれの項目についての構成情報を収集し（Ｓ１００）、構成情報格納部２４を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する（Ｓ１０１）。
【００４８】
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合（Ｓ１０１：Ｙｅｓ）、構成情報収集部２３は、可視化処理の起動を画像処理部３０に指示する。そして、可視化処理部３１は、分割サイズ格納部３２を参照して、ユーザから指定された可視化アルゴリズムに対応する分割サイズであって、可視化処理対象のボリュームデータが含まれるデータサイズ範囲に対応付けられている分割サイズを用いて、可視化処理対象のボリュームデータを分割して、可視化処理を実行し（Ｓ１０３）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００４９】
いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合（Ｓ１０１：Ｎｏ）、構成情報収集部２３は、分割サイズ決定部４０に分割サイズの決定処理の起動を指示すると共に、今回収集した構成情報で、構成情報格納部２４内の構成情報を更新する（Ｓ１０２）。そして、分割サイズ決定部４０は、後述する分割サイズの決定処理を実行し（Ｓ２００）、分割サイズ決定部４０による分割サイズの決定処理が終了した場合に、可視化処理部３１は、ステップＳ１０３に示した処理を実行する。
【００５０】
図１０は、分割サイズ決定処理（Ｓ２００）の詳細を例示するフローチャートである。
【００５１】
まず、アルゴリズム取得部４１は、起動制御部２０内の構成情報格納部２４から可視化アルゴリズムに関する情報を取得してテスト用可視化処理部４３に提供する（Ｓ２００）。そして、メモリ容量取得部４５は、可視化処理に用いられる画像処理装置１０内のビデオメモリの容量を、起動制御部２０内の構成情報格納部２４から取得してテスト用可視化処理部４３に提供する（Ｓ２０１）。
【００５２】
次に、テスト用可視化処理部４３は、テスト用ボリュームデータ格納部４６を参照して、メモリ容量取得部４５によって取得されたビデオメモリの容量が、テスト用の３種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれるか否かを判定する（Ｓ２０２）。
【００５３】
メモリ容量取得部４５によって取得されたビデオメモリの容量が、テスト用の３種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれていない場合（Ｓ２０２：Ｎｏ）、テスト用可視化処理部４３は、メモリ容量取得部４５によって取得されたビデオメモリの容量が、テスト用の３種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれるように、テスト用のボリュームデータを抽出し直し（Ｓ２０３）、ステップＳ２０４に示す処理を実行する。
【００５４】
メモリ容量取得部４５によって取得されたビデオメモリの容量が、テスト用の３種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれる場合（Ｓ２０２：Ｙｅｓ）、テスト用可視化処理部４３は、当該３種類のテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。そして、テスト用可視化処理部４３は、アルゴリズム取得部４１によって取得された可視化アルゴリズムの中で未選択の可視化アルゴリズムを１つ選択し（Ｓ２０４）、抽出した３種類のテスト用のボリュームデータの中で未選択のボリュームデータを１つ選択し（Ｓ２０５）、分割数格納部４４に格納されている分割数の中で未選択の分割数を１つ選択する（Ｓ２０６）。
【００５５】
次に、テスト用可視化処理部４３は、選択した可視化アルゴリズムおよび分割数を用いて、選択したテスト用のボリュームデータから２次元画像を生成する可視化処理を実行する（Ｓ２０７）。可視化処理が終了した場合、テスト用可視化処理部４３は、使用した可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数を、可視化処理にかかった処理時間と共に分割サイズ算出部４２へ送る。分割サイズ算出部４２は、テスト用可視化処理部４３から受け取った処理時間を、当該処理時間と共に受けとった可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数に対応付けて保持する（Ｓ２０８）。
【００５６】
次に、テスト用可視化処理部４３は、分割数格納部４４に格納された全ての分割数についてステップＳ２０７およびステップＳ２０８に示した処理を実行したか否かを判定する（Ｓ２０９）。全ての分割数についてステップＳ２０７およびステップＳ２０８に示した処理を実行していない場合（Ｓ２０９：Ｎｏ）、テスト用可視化処理部４３は、再びステップＳ２０６に示した処理を実行する。
【００５７】
全ての分割数についてステップＳ２０７およびステップＳ２０８に示した処理を実行した場合（Ｓ２０９：Ｙｅｓ）、テスト用可視化処理部４３は、テスト用として抽出した全てのボリュームデータについてステップＳ２０７およびステップＳ２０８に示した処理を実行したか否かを判定する（Ｓ２１０）。テスト用として抽出した全てのボリュームデータについてステップＳ２０７およびステップＳ２０８に示した処理を実行していない場合（Ｓ２１０：Ｎｏ）、テスト用可視化処理部４３は、再びステップＳ２０５に示した処理を実行する。
【００５８】
テスト用として抽出した全てのボリュームデータについてステップＳ２０７およびステップＳ２０８に示した処理を実行した場合（Ｓ２１０：Ｙｅｓ）、テスト用可視化処理部４３は、アルゴリズム取得部４１によって取得された全ての可視化アルゴリズムについてステップＳ２０７およびステップＳ２０８に示した処理を実行したか否かを判定する（Ｓ２１１）。アルゴリズム取得部４１によって取得された全ての可視化アルゴリズムについてステップＳ２０７およびステップＳ２０８に示した処理を実行していない場合（Ｓ２１１：Ｎｏ）、テスト用可視化処理部４３は、再びステップＳ２０４に示した処理を実行する。
【００５９】
アルゴリズム取得部４１によって取得された全ての可視化アルゴリズムについてステップＳ２０７およびステップＳ２０８に示した処理を実行した場合（Ｓ２１１：Ｙｅｓ）、テスト用可視化処理部４３は、テスト用の可視化処理が終了した旨を分割サイズ算出部４２に通知する。そして、分割サイズ算出部４２は、保持していた処理時間を参照して、可視化アルゴリズムの識別情報およびデータサイズの組み合わせ毎に、可視化処理の処理時間が最小となる分割数を選択する（Ｓ２１２）。
【００６０】
次に、分割サイズ算出部４２は、選択した分割数と、当該分割数に対応するテスト用ボリュームデータのデータサイズとから分割サイズを算出し、算出した分割サイズを、当該分割サイズの算出元となった分割数に対応するテスト用ボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて、画像処理部３０内の分割サイズ格納部３２に格納する（Ｓ２１３）。そして、分割サイズ算出部４２は、可視化処理部３１に可視化処理の起動を指示し（Ｓ２１４）、分割サイズ決定部４０は、本フローチャートに示す処理を終了する。
【００６１】
以上、本発明の第一の実施形態について説明した。
【００６２】
上記説明から明らかなように、画像処理装置１０によれば、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができる。これにより、画像処理装置１０を利用するユーザは、ハードウェアの構成やソフトウェアのバージョンを意識することなく、ユーザ環境におけるより適切な処理によって、高速な可視化処理を行うことが可能となり、医療現場の効率向上が期待できる。
【００６３】
次に、本発明の第二の実施形態について説明する。
【００６４】
図１１は、第二の実施形態における画像処理装置１０の構成を例示するシステム構成図である。画像処理装置１０は、起動制御部２０、可視化処理部７０、およびテスト部８０を備える。なお、以下に説明する点を除き、図１１において、図１と同じ符号を付した構成は、図１における構成と同一または同様の機能を有するため説明を省略する。
【００６５】
起動制御部２０は、入力装置１１を介して、ユーザから可視化処理の起動指示を受信した場合に、画像処理装置１０のハードウェアおよびソフトウェアの構成情報を収集する。そして、前回起動時に収集した構成情報と一致した場合に、起動制御部２０は、可視化処理部７０に可視化処理の起動を指示する。一方、収集した構成情報が前回起動時に収集した構成情報と異なる場合、起動制御部２０は、テスト部８０にテスト用のボリュームデータ毎の可視化処理時間の計測を指示する。
【００６６】
テスト部８０は、起動制御部２０から可視化処理時間の計測を指示された場合に、データサイズが異なる複数のテスト用ボリュームデータのそれぞれについて可視化処理を実行し、データサイズ毎に可視化処理にかかる時間を計測して保持する。データサイズ毎の可視化処理時間の計測が終了した場合、テスト部８０は、可視化処理の起動を可視化処理部７０に指示する。
【００６７】
可視化処理部７０は、起動制御部２０またはテスト部８０から可視化処理の起動を指示された場合に、入力装置１１を介してユーザから可視化対象のボリュームデータを特定する情報を取得する。可視化処理部７０は、ボリュームデータの分割方法を規定する複数の分割アルゴリズムを予め格納しており、当該分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を、それぞれの分割データのデータサイズに基づいて、テスト部８０によって算出された可視化処理時間の中から抽出する。
【００６８】
そして、可視化処理部７０は、分割アルゴリズム毎に、分割データの可視化処理時間を合計することにより、可視化対象のボリュームデータ全体の可視化処理時間を算出する。そして、可視化処理部７０は、最も可視化処理時間が短い分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムで分割して可視化処理を実行する。
【００６９】
図１２は、テスト部８０の詳細な機能構成を例示するブロック図である。テスト部８０は、処理時間格納部８１、アルゴリズム取得部８２、テスト用可視化処理部８３、およびテスト用ボリュームデータ格納部８４を備える。
【００７０】
テスト用ボリュームデータ格納部８４には、例えば図１３に示すように、テスト用のボリュームデータのデータ本体８４４が、当該ボリュームデータのデータサイズ８４０、当該ボリュームデータのｘ軸方向のボクセル数８４１、当該ボリュームデータのｙ軸方向のボクセル数８４２、および当該ボリュームデータのｚ軸方向のボクセル数８４３に対応付けて格納されている。
【００７１】
本実施形態において、テスト用のボリュームデータは、各辺が２のべき乗のボクセル数で表される直方体である。また、本実施形態では、同一のデータサイズにおいて、各軸方向のボクセル数が異なるテスト用のボリュームデータを複数用意する。
【００７２】
アルゴリズム取得部８２は、起動制御部２０から可視化処理時間の計測を指示された場合に、起動制御部２０内の構成情報格納部２４から可視化アルゴリズムを特定する情報を取得し、取得した情報に対応する可視化アルゴリズムを、画像処理装置１０の内部、あるいは、通信ネットワーク（図示せず）を介して他の機器から取得してテスト用可視化処理部８３に提供する。可視化アルゴリズムに関する情報が構成情報格納部２４内に複数ある場合には、アルゴリズム取得部８２は、全ての可視化アルゴリズムを取得してテスト用可視化処理部８３に提供する。
【００７３】
テスト用可視化処理部８３は、起動制御部２０から可視化処理時間の計測を指示された場合に、テスト用ボリュームデータ格納部８４を参照して、それぞれのテスト用ボリュームデータについて、アルゴリズム取得部８２から供給された可視化アルゴリズム毎に、当該可視化アルゴリズムをＧＰＵにおいて実行することにより、当該テスト用ボリュームデータを可視化処理する。
【００７４】
そして、テスト用可視化処理部８３は、ＧＰＵによる可視化処理にかかった時間である可視化処理時間、当該テスト用ボリュームデータをＣＰＵからＧＰＵへ転送するのにかかる第一の転送時間、当該テスト用ボリュームデータがＧＰＵによって可視化処理された２次元画像がＧＰＵからＣＰＵへ転送されるのにかかる第二の転送時間を、当該テスト用ボリュームデータのデータサイズおよび各軸方向のボクセル数に対応付けて処理時間格納部８１に格納する。
【００７５】
ここで、テスト用可視化処理部８３は、ＣＰＵからＧＰＵへテスト用ボリュームデータの最初のビットの転送が始まってから当該ボリュームデータの最後のビットの転送が終了するまでの時間を測定し、測定した時間を第一の転送時間として処理時間格納部８１に格納する。また、テスト用可視化処理部８３は、ＣＰＵからＧＰＵへテスト用ボリュームデータの最後のビットの転送が終わってから、ＧＰＵからＣＰＵへ当該ボリュームデータに対応する２次元画像の最初のビットの転送が始まるまでの時間を測定し、測定した時間を可視化処理時間として処理時間格納部８１に格納する。また、ＧＰＵからＣＰＵへ２次元画像の最初のビットの転送が始まってから、当該２次元画像の最後のビットの転送が終了するまでの時間を測定し、測定した時間を第二の転送時間として処理時間格納部８１に格納する。
【００７６】
処理時間格納部８１には、例えば図１４に示すように、テスト用ボリュームデータのデータサイズ８１０、当該ボリュームデータのｘ軸方向のボクセル数８１１、当該ボリュームデータのｙ軸方向のボクセル数８１２、および当該ボリュームデータのｚ軸方向のボクセル数８１３に対応付けて、当該ボリュームデータの可視化アルゴリズム毎の可視化処理時間８１４、当該ボリュームデータにおける第一の転送時間８１５、および当該ボリュームデータにおける第二の転送時間８１６が格納される。
【００７７】
なお、第一の転送時間および第二の転送時間が可視化処理時間に比べて十分小さく（例えば１０分の一以下）、異なるテスト用ボリュームデータ間でほとんど差がない場合には、処理時間格納部８１には、第一の転送時間および第二の転送時間を格納しなくてもよい。
【００７８】
図１５は、可視化処理部７０の詳細な機能構成を例示するブロック図である。可視化処理部７０は、可視化処理時間算出部７１、可視化実行部７２、可視化処理時間格納部７３、および分割アルゴリズム格納部７４を備える。
【００７９】
分割アルゴリズム格納部７４には、例えば図１６に示すように、可視化対象のボリュームデータを、各辺が２のべき乗の数値で表される分割データに分割する方法を規定する分割アルゴリズム７４１が、当該分割アルゴリズム７４１を識別するアルゴリズムＩＤ７４０に対応付けて格納されている。分割アルゴリズムとしては、例えば、同一のデータサイズの複数の分割データに分割する方法や、異なるデータサイズの複数の分割データに分割する方法等がある。
【００８０】
図１７（ｂ）は、図１７（ａ）に示すボリュームデータ９０を同一のデータサイズの複数の分割データに分割する場合の分割アルゴリズムの例を示している。図１７（ｂ）では、１００×１００×２００のボリュームデータ９０が、１２８×１２８×６４の分割データ４個に分割されている。なお、それぞれの分割データにおいて、可視化対象のボリュームデータ９０以外の領域９１は０を示すデータで満たされる。この他にも、ボリュームデータ９０を異なるデータサイズの分割データに分割することにより、データサイズが同一の分割データに分割する分割方法は、無数に考えられる。
【００８１】
図１７（ｃ）は、図１７（ａ）に示すボリュームデータ９０を異なるデータサイズの複数の分割データに分割する場合の分割アルゴリズムの例を示している。図１７（ｃ）では、１００×１００×２００のボリュームデータ９０が、１２８×１２８×６４の分割データ３個と、１２８×１２８×８の分割データ１個とに分割されている。なお、それぞれの分割データにおいて、可視化対象のボリュームデータ９０以外の領域９２は０を示すデータで満たされる。
【００８２】
図１７（ｃ）のように分割する場合の分割アルゴリズムは、例えば図１８のようなフローチャートとなる。図１８において、まず、可視化対象のボリュームデータ９０のｘ軸方向のボクセル数をｘ０、ｙ軸方向のボクセル数をｙ０、ｚ軸方向のボクセル数をｚ０とし、変数ｓｘ１、ｓｙ１、およびｓｚ１に、それぞれ、ｘ０、ｙ０、およびｚ０／２が代入される（Ｓ３００）。
【００８３】
次に、変数ｓｘ１およびｓｙ１の中で大きい方の数値以上で、かつ、最小の２のべき乗の数値ａが求められる（Ｓ３０１）。そして、変数ｓｚ１以下で、かつ、最大の２のべき乗の数値ｂが求められる（Ｓ３０２）。
【００８４】
次に、ｚ０がｂで割り切れる場合には（Ｓ３０３：Ｙｅｓ）、ｘ軸方向のボクセル数およびｙ軸方向のボクセル数が共にａであり、ｚ軸方向のボクセル数がｂである分割データで可視化対象のボリュームデータ９０が分割される（Ｓ３０８）。ステップＳ３０８が実行される場合、可視化対象のボリュームデータ９０は、同一のデータサイズの分割データで分割される。
【００８５】
一方、ｚ０がｂで割り切れない場合には（Ｓ３０３：Ｎｏ）、ｚ０をｂで割ったときの商ｃが求められ（Ｓ３０４）、ｃにｂを乗じた値ｄが求められる（Ｓ３０５）。そして、ｚ０からｄを引いた値以上で、かつ、最小の２のべき乗の数値ｅが求められる（Ｓ３０６）。
【００８６】
次に、ｘ軸方向のボクセル数およびｙ軸方向のボクセル数が共にａであり、ｚ軸方向のボクセル数がｂである分割データｃ個と、ｘ軸方向のボクセル数およびｙ軸方向のボクセル数が共にａであり、ｚ軸方向のボクセル数がｅである分割データ１個で可視化対象のボリュームデータ９０が分割される（Ｓ３０７）。
【００８７】
このような処理により、図１７（ａ）のボリュームデータ９０が図１７（ｃ）のように分割される。なお、この他にも、ボリュームデータ９０を様々なデータサイズの分割データに分割することにより、データサイズが異なる複数の分割データに分割する分割方法は無数に考えられる。
【００８８】
可視化処理時間算出部７１は、起動制御部２０またはテスト部８０から可視化処理の起動を指示された場合に、入力装置１１を介して、ユーザから可視化アルゴリズムおよび可視化対象のボリュームデータの指定を受け付ける。そして、可視化処理時間算出部７１は、指定されたボリュームデータを、画像処理装置１０内部、あるいは、通信ネットワーク（図示せず）を介して他の機器から取得する。そして、可視化処理時間算出部７１は、分割アルゴリズム格納部７４に格納された分割アルゴリズム毎に、可視化対象のボリュームデータを分割する。
【００８９】
そして、可視化処理時間算出部７１は、分割されたデータ毎に、当該分割データの各辺のボクセル数から、対応するテストデータの可視化処理時間、第一の転送時間、および第二の転送時間を処理時間格納部８１から取得する。そして、可視化処理時間算出部７１は、取得した可視化処理時間、第一の転送時間、および第二の転送時間を合計することにより、分割アルゴリズム毎の可視化処理時間を算出し、算出した可視化処理時間を、例えば図１９に示すように、対応する分割アルゴリズムのアルゴリズムＩＤと共に可視化処理時間格納部７３に格納する。そして、分割アルゴリズム格納部７４内の全ての分割アルゴリズムについて可視化処理時間を算出した場合、可視化処理時間算出部７１は、可視化処理時間の算出終了を可視化実行部７２に通知する。
【００９０】
可視化実行部７２は、画像処理装置１０にインストールされた複数の可視化アルゴリズムのいずれかを用いて可視化処理を実行することができる。可視化実行部７２は、入力装置１１を介してユーザから可視化アルゴリズムおよび可視化対象のボリュームデータを特定するための情報を受け付ける。そして、可視化実行部７２は、可視化処理時間算出部７１から可視化処理時間の算出終了が通知された場合に、可視化処理時間格納部７３を参照して、可視化処理時間が最小の分割アルゴリズムのアルゴリズムＩＤを特定する。
【００９１】
そして、可視化実行部７２は、可視化対象のボリュームデータを、画像処理装置１０の内部、あるいは、通信ネットワーク（図示せず）を介して他の機器から取得し、取得したボリュームデータを、特定した分割アルゴリズムを用いて分割し、ユーザから指示された可視化アルゴリズムを用いて可視化処理を実行し、生成した２次元画像を表示装置１２に表示する。
【００９２】
図２０は、第二の実施形態における画像処理装置１０の動作の一例を示すフローチャートである。例えば入力装置１１を介してユーザから可視化処理の起動指示を受信した場合に、画像処理装置１０は、本フローチャートに示す処理を開始する。
【００９３】
まず、構成情報収集部２３は、収集項目格納部２２を参照して、収集項目格納部２２に格納されたそれぞれの項目についての構成情報を収集し（Ｓ４００）、構成情報格納部２４を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する（Ｓ４０１）。
【００９４】
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合（Ｓ４０１：Ｙｅｓ）、構成情報収集部２３は、可視化処理の起動を可視化処理部７０に指示する。可視化処理時間算出部７１は、後述する分割アルゴリズム毎の可視化処理時間算出処理を実行して（Ｓ６００）、分割サイズ毎の可視化処理時間を算出する。
【００９５】
次に、可視化実行部７２は、可視化処理時間格納部７３を参照して、可視化処理時間が最小の分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行し（Ｓ４０３）、画像処理装置１０は、本フローチャートに示す動作を終了する。
【００９６】
いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合（Ｓ４０１：Ｎｏ）、構成情報収集部２３は、テスト部８０に可視化処理時間の計測を指示すると共に、今回収集した構成情報で、構成情報格納部２４内の構成情報を更新する（Ｓ４０２）。そして、テスト部８０は、後述するテスト用ボリュームデータの可視化処理を実行し（Ｓ５００）、ステップＳ６００に示す処理を実行する。
【００９７】
図２１は、テスト用ボリュームデータの可視化処理（Ｓ５００）の詳細を例示するフローチャートである。
【００９８】
まず、アルゴリズム取得部８２は、起動制御部２０内の構成情報格納部２４から可視化アルゴリズムを特定する情報を取得し、取得した情報に対応する可視化アルゴリズムを、画像処理装置１０の内部、あるいは、通信ネットワーク（図示せず）を介して他の機器から取得してテスト用可視化処理部８３に提供する（Ｓ５０１）。そして、テスト用可視化処理部８３は、アルゴリズム取得部８２から提供された可視化アルゴリズムの中で、未選択の可視化アルゴリズムを１つ選択し（Ｓ５０２）、テスト用ボリュームデータ格納部８４を参照して、未選択のテスト用ボリュームデータを１つ選択する（Ｓ５０３）。
【００９９】
次に、テスト用可視化処理部８３は、ステップＳ５０３で選択したテスト用ボリュームデータを、ステップＳ５０２で選択した可視化アルゴリズムを用いて可視化処理する（Ｓ５０４）。そして、テスト用可視化処理部８３は、使用した可視化アルゴリズム、ならびに、テスト用ボリュームデータのデータサイズおよび各軸方向のボクセル数の組み合わせに対応付けて、可視化処理時間、第一の転送時間、および第二の転送時間を処理時間格納部８１に格納する（Ｓ５０５）。
【０１００】
次に、テスト用可視化処理部８３は、テスト用ボリュームデータ格納部８４に格納されている全てのテスト用ボリュームデータについて可視化処理を実行したか否かを判定する（Ｓ５０６）。可視化処理が行われていないテスト用ボリュームデータがテスト用ボリュームデータ格納部８４内にある場合（Ｓ５０６：Ｎｏ）、テスト用可視化処理部８３は、再びステップＳ５０３に示した処理を実行する。
【０１０１】
テスト用ボリュームデータ格納部８４内の全てのテスト用ボリュームデータについて可視化処理を実行した場合（Ｓ５０６：Ｙｅｓ）、テスト用可視化処理部８３は、アルゴリズム取得部８２から受信した全ての可視化アルゴリズムについて可視化処理を実行したか否かを判定する（Ｓ５０７）。可視化処理が実行されていない可視化アルゴリズムがある場合（Ｓ５０７：Ｎｏ）、テスト用可視化処理部８３は、再びステップＳ５０２に示した処理を実行する。アルゴリズム取得部８２から受信した全ての可視化アルゴリズムについて可視化処理を実行した場合（Ｓ５０７：Ｙｅｓ）、画像処理装置１０は、本フローチャートに示したテスト用ボリュームデータの可視化処理を終了する。
【０１０２】
図２２は、分割アルゴリズム毎の可視化処理時間算出処理（Ｓ６００）の詳細を例示するフローチャートである。
【０１０３】
まず、可視化処理時間算出部７１は、入力装置１１を介して、ユーザから可視化アルゴリズムおよび可視化対象のボリュームデータの指定を受け付け、指定されたボリュームデータを取得する（Ｓ６０１）。そして、可視化処理時間算出部７１は、分割アルゴリズム格納部７４を参照して、未選択の分割アルゴリズムを１つ選択する（Ｓ６０２）。そして、可視化処理時間算出部７１は、可視化対象のボリュームデータを、選択した分割アルゴリズムを用いて分割する（Ｓ６０３）。
【０１０４】
次に、可視化処理時間算出部７１は、処理時間格納部８１を参照して、それぞれの分割データについて、可視化処理時間、第一の転送時間、および第二の転送時間を取得し（Ｓ６０４）、取得した可視化処理時間、第一の転送時間、および第二の転送時間を合計した時間を、可視化処理時間として、ステップＳ６０２で選択した分割アルゴリズムのアルゴリズムＩＤに対応付けて可視化処理時間格納部７３に格納する（Ｓ６０５）。
【０１０５】
次に、可視化処理時間算出部７１は、分割アルゴリズム格納部７４に格納されている全ての分割アルゴリズムについて、可視化処理時間を算出したか否かを判定する（Ｓ６０６）。可視化処理時間が算出されていない分割アルゴリズムが分割アルゴリズム格納部７４内にある場合（Ｓ６０６：Ｎｏ）、可視化処理時間算出部７１は、再びステップＳ６０２に示した処理を実行する。
【０１０６】
分割アルゴリズム格納部７４に格納されている全ての分割アルゴリズムについて可視化処理時間を算出した場合（Ｓ６０６：Ｙｅｓ）、可視化処理時間算出部７１は、可視化処理時間の算出終了を可視化実行部７２に通知し（Ｓ６０７）、画像処理装置１０は、本フローチャートに示した、分割アルゴリズム毎の可視化処理時間算出処理を終了する。
【０１０７】
以上、本発明の第二の実施形態について説明した。
【０１０８】
本実施形態の画像処理装置１０によれば、可視化対象のボリュームデータを、各軸方向のボクセル数が２のべき乗の数値となるように分割するので、各軸方向のボクセル数が２のべき乗の数値となるボクセルデータの可視化処理を高速に行うことができるＧＰＵに最適なデータの分割方法を特定することができる。これにより、より高速にボリュームデータの可視化処理を実行することができる。
【０１０９】
なお、上記第一の実施形態または第二の実施形態における画像処理装置１０は、例えば図２３に示す構成の情報処理装置５０によって実現される。情報処理装置５０は、ＣＰＵ５１、ＲＡＭ（Random Access Memory）５２、ＲＯＭ（Read Only Memory）５３、ＨＤＤ（Hard Disk Drive）５４、チップセット５５、通信インターフェイス（Ｉ／Ｆ）５６、入力インターフェイス（Ｉ／Ｆ）５７、グラフィックスボード５８、およびメディアインターフェイス（Ｉ／Ｆ）５９を備える。
【０１１０】
チップセット５５は、ＣＰＵ５１、ＲＡＭ５２、ＲＯＭ５３、ＨＤＤ５４、通信インターフェイス５６、入力インターフェイス５７、グラフィックスボード５８、およびメディアインターフェイス５９に接続され、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）等のバス方式により、これらが入出力するデータを中継する。ＣＰＵ５１は、ＲＯＭ５３またはＨＤＤ５４に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ５３は、情報処理装置５０の起動時にＣＰＵ５１が実行するブートプログラムや、情報処理装置５０のハードウェアに依存するプログラム等を格納する。
【０１１１】
ＨＤＤ５４は、ＣＰＵ５１が実行するプログラムおよびＣＰＵ５１が使用するデータ等を格納する。通信インターフェイス５６は、通信ネットワークを介してデータを受信してＣＰＵ５１へ送ると共に、ＣＰＵ５１が生成したデータを、当該通信ネットワークを介して他の機器へ送信する。ＣＰＵ５１は、入力インターフェイス５７を介して、キーボードやマウス等の入力装置１１を制御し、入力装置１１から操作データを取得する。また、ＣＰＵ５１は、グラフィックスボード５８を介して、ＬＣＤ（Liquid Crystal Display）等の表示装置１２に画像を表示する。
【０１１２】
グラフィックスボード５８は、ＧＰＵ５８０およびビデオメモリ５８１を有する。ＧＰＵ５８０は、ＣＰＵ５１から受信した描画コマンド等に応じて、ＨＤＤ５４に格納された、あるいは通信インターフェイス５６を介して取得したボリュームデータを２次元画像に変換する可視化処理を実行する。ビデオメモリ５８１は、ＧＰＵ５８０による可視化処理の可過程で使用するデータや、生成した２次元画像等を格納する。可視化処理されてビデオメモリ５８１に格納された２次元画像は、表示装置１２に表示される。
【０１１３】
メディアインターフェイス５９は、記録媒体６０に格納されたプログラムまたはデータを読み取り、ＲＡＭ５２に提供する。ＲＡＭ５２を介してＣＰＵ５１に提供されるプログラムは、記録媒体６０に格納されている。当該プログラムは、記録媒体６０から読み出されて、ＲＡＭ５２を介して情報処理装置５０にインストールされ、ＣＰＵ５１によって実行される。
【０１１４】
情報処理装置５０が、第一の実施形態における画像処理装置１０として機能する場合、ＲＡＭ５２、ＲＯＭ５３、またはＨＤＤ５４には、収集項目格納部２２、構成情報格納部２４、分割サイズ格納部３２、分割数格納部４４、およびテスト用ボリュームデータ格納部４６内のデータが格納される。情報処理装置５０が、第一の実施形態における画像処理装置１０として機能する場合、情報処理装置５０にインストールされて実行されるプログラムは、情報処理装置５０を、収集項目変更受付部２１、収集項目格納部２２、構成情報収集部２３、構成情報格納部２４、可視化処理部３１、分割サイズ格納部３２、アルゴリズム取得部４１、分割サイズ算出部４２、テスト用可視化処理部４３、分割数格納部４４、メモリ容量取得部４５、およびテスト用ボリュームデータ格納部４６として機能させる。
【０１１５】
また、情報処理装置５０が、第二の実施形態における画像処理装置１０として機能する場合、ＲＡＭ５２、ＲＯＭ５３、またはＨＤＤ５４には、収集項目格納部２２、構成情報格納部２４、可視化処理時間格納部７３、分割アルゴリズム格納部７４、処理時間格納部８１、およびテスト用ボリュームデータ格納部８４内のデータが格納される。情報処理装置５０が、第二の実施形態における画像処理装置１０として機能する場合、情報処理装置５０にインストールされて実行されるプログラムは、情報処理装置５０を、収集項目変更受付部２１、収集項目格納部２２、構成情報収集部２３、構成情報格納部２４、可視化処理時間算出部７１、可視化実行部７２、可視化処理時間格納部７３、分割アルゴリズム格納部７４、処理時間格納部８１、アルゴリズム取得部８２、テスト用可視化処理部８３、およびテスト用ボリュームデータ格納部８４として機能させる。
【０１１６】
なお、ＲＡＭ５２、ＲＯＭ５３、またはＨＤＤ５４の少なくともいずれか一つは、情報処理装置５０によって管理される記憶装置を構成し、請求項に記載された記憶領域は、当該記憶装置内の記憶領域を指す。また、第一の実施形態および第二の実施形態において、当該記憶装置は、情報処理装置５０内に設けられるが、他の形態として、当該記憶装置は、情報処理装置５０の外部に設けられ、情報処理装置５０は、通信回線等を介して当該外部の記憶装置からデータを取得したり、書き込んだりしてもよい。
【０１１７】
記録媒体６０は、例えばＤＶＤ、ＰＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。情報処理装置５０は、これらのプログラムを、記録媒体６０から読み取って実行するが、他の例として、通信ネットワークを介して他の装置からこれらのプログラムを取得してもよい。
【０１１８】
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１１９】
例えば、第一の実施形態において、分割サイズ決定部４０は、テスト用ボリュームデータ格納部４６内に複数のデータサイズのテスト用のボリュームデータを予め格納していたが、他の形態として、分割サイズ決定部４０は、複数のデータサイズのテスト用のボリュームデータを、通信ネットワークを介して外部から取得するようにしてもよい。
【０１２０】
また、第一の実施形態における起動制御部２０、画像処理部３０、および分割サイズ決定部４０、または、第二の実施形態における起動制御部２０、可視化処理部７０、およびテスト部８０は、１つの装置として一体に構成されたが、本発明はこれに限られず、それぞれ別個の装置として構成されて、互いにネットワーク接続されていてもよい。
【０１２１】
また、上記した各実施形態において、構成情報収集部２３は、ハードウェアおよびソフトウェアについての構成情報を収集して構成情報格納部２４に格納したが、他の形態として、構成情報収集部２３は、ハードウェアについての構成情報のみを構成情報格納部２４に格納するようにし、ハードウェアについての構成情報が前回と一致するか否かに応じて分割サイズの算出処理を実行してもよい。
【０１２２】
また、上記した第一の実施形態において、構成情報収集部２３は、取得した構成情報が前回取得した構成情報と異なる場合に、分割サイズの算出処理を分割サイズ決定部４０に指示したが、他の形態として、構成情報収集部２３は、取得した構成情報が前回取得した構成情報と異なる場合に、分割サイズの算出処理を実行するか否かをユーザに問い合わせ、分割サイズの算出処理をユーザから指示された場合に、分割サイズ決定部４０に分割サイズの算出処理を指示するようにしてもよい。
【０１２３】
同様に、上記した第二の実施形態において、構成情報収集部２３は、取得した構成情報が前回取得した構成情報と異なる場合に、可視化処理時間の計測をテスト部８０に指示したが、他の形態として、構成情報収集部２３は、取得した構成情報が前回取得した構成情報と異なる場合に、可視化処理時間の計測を実行するか否かをユーザに問い合わせ、可視化処理時間の計測をユーザから指示された場合に、テスト部８０に可視化処理時間の計測を指示するようにしてもよい。
【０１２４】
また、上記した各実施形態において、画像処理装置１０は、可視化処理の起動を指示された場合に、前回取得した構成情報との一致を判定したが、他の例として、新たなハードウェアまたはソフトウェアがインストールされた場合や、収集項目変更受付部２１を介して、収集項目格納部２２内の収集項目が変更された場合に、前回取得した構成情報との一致を判定して分割サイズの決定処理を実行するようにしてもよい。これにより、画像処理装置１０は、ユーザから可視化処理の起動指示を受ける前に分割サイズの算出処理を実行することができ、可視化処理の実行をユーザから指示された段階で、最適化された分割サイズを用いて迅速に可視化処理を開始することができる。
【０１２５】
また、上記した第二の実施形態において、分割アルゴリズム格納部７４内のそれぞれの分割アルゴリズムは、可視化対象のボリュームデータを、各辺が２のべき乗の数値のボクセル数で表される分割データに分割したが、本発明はこれに限られない。例えば、図２４に示すように、可視化対象のボリュームデータを、各辺が２のべき乗の数値のボクセル数で表される同一のデータサイズの分割データで分割し、残りを、少なくともいずれかの辺が２のべき乗の数値のボクセル数ではない分割データで分割するようにしてもよい。
【０１２６】
図２４に示す例では、１００×２００×３００のボリュームデータ９３が、３２×３２×１２８の分割データ３６個、１００×２００×４４の分割データ１個、４×２００×２５６の分割データ１個、および、９６×８×２５６の分割データ１個に分割されている。このように分割することにより、全ての分割データの各辺が２のべき乗の数値のボクセル数ではないものの、不用なデータを付加する必要がなくなり、全体のデータサイズの増加を抑えることができる。
【０１２７】
また、この場合、各辺が２のべき乗のボクセル数で表されるテスト用のボリュームデータについて、それぞれの辺毎に、ボクセル数を１つ増やしたテスト用のボリュームデータについても可視化処理時間、第一の転送時間、および第二の転送時間を算出して処理時間格納部８１に格納しておく。
【０１２８】
具体的には、ｘ軸方向のボクセル数がｘ０、ｙ軸方向のボクセル数がｙ０、ｚ軸方向のボクセル数がｚ０のテスト用のボリュームデータ（ｘ０，ｙ０，ｚ０）について、（ｘ０＋１，ｙ０，ｚ０）、（ｘ０−１，ｙ０，ｚ０）、（ｘ０，ｙ０＋１，ｚ０）、（ｘ０，ｙ０−１，ｚ０）、（ｘ０，ｙ０，ｚ０＋１）、および（ｘ０，ｙ０，ｚ０＋１）のテスト用ボリュームデータについても可視化処理時間、第一の転送時間、および第二の転送時間を算出して処理時間格納部８１に格納しておく。
【０１２９】
そして、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ０）の可視化処理時間、第一の転送時間、および第二の転送時間の合計をＴ１、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ０−１）の可視化処理時間、第一の転送時間、および第二の転送時間の合計をＴ２、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ０＋１）の可視化処理時間、第一の転送時間、および第二の転送時間の合計をＴ３とする。
【０１３０】
ｚ軸方向のボクセル数がｚ０／２よりも大きく、ｚ０よりも小さいｚ１であるテスト用ボリュームデータ（ｘ０，ｙ０，ｚ１）の可視化処理時間、第一の転送時間、および第二の転送時間の合計Ｔ４は、例えば図２５のように線形補間によりおおよその値が求められる。Ｔ４の方がＴ１よりも短い場合には、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ１）を分割データとして採用する。一方、Ｔ４の方がＴ１よりも長い場合には、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ０）を採用する。図２５に示した例では、Ｔ４の方がＴ１よりも長いため、テスト用ボリュームデータ（ｘ０，ｙ０，ｚ０）が採用される。
【図面の簡単な説明】
【０１３１】
【図１】第一の実施形態における画像処理装置１０の構成を例示するシステム構成図。
【図２】起動制御部２０の詳細な機能構成を例示するブロック図。
【図３】収集項目格納部２２に格納されるデータ構造を例示する図。
【図４】構成情報格納部２４に格納されるデータ構造を例示する図。
【図５】画像処理部３０の詳細な機能構成を例示するブロック図。
【図６】分割サイズ格納部３２に格納されるデータ構造を例示する図。
【図７】分割サイズ決定部４０の詳細な機能構成を例示するブロック図。
【図８】テスト用ボリュームデータ格納部４６に格納されるデータ構造を例示する図。
【図９】第一の実施形態における画像処理装置１０の動作の一例を示すフローチャート。
【図１０】分割サイズ決定処理（Ｓ２００）の詳細を例示するフローチャート。
【図１１】第二の実施形態における画像処理装置１０の構成を例示するシステム構成図。
【図１２】テスト部８０の詳細な機能構成を例示するブロック図。
【図１３】テスト用ボリュームデータ格納部８４に格納されるデータ構造を例示する図。
【図１４】処理時間格納部８１に格納されるデータ構造を例示する図。
【図１５】可視化処理部７０の詳細な機能構成を例示するブロック図。
【図１６】分割アルゴリズム格納部７４に格納されるデータ構造を例示する図。
【図１７】ボリュームデータの分割方法を説明するための概念図。
【図１８】分割アルゴリズムの一例を示すフローチャート。
【図１９】可視化処理時間格納部７３に格納されるデータ構造を例示する図。
【図２０】第二の実施形態における画像処理装置１０の動作の一例を示すフローチャート。
【図２１】テスト用ボリュームデータの可視化処理（Ｓ５００）の詳細を例示するフローチャート。
【図２２】分割アルゴリズム毎の可視化処理時間算出処理（Ｓ６００）の詳細を例示するフローチャート。
【図２３】画像処理装置１０の機能を実現する情報処理装置５０の構成を例示するハードウェア構成図。
【図２４】ボリュームデータの分割方法の他の例を説明するための概念図。
【図２５】ボクセル数と可視化処理時間の関係を説明するための概念図。
【符号の説明】
【０１３２】
１０・・・画像処理装置、１１・・・入力装置、１２・・・表示装置、２０・・・起動制御部、２１・・・収集項目変更受付部、２２・・・収集項目格納部、２３・・・構成情報収集部、２４・・・構成情報格納部、３０・・・画像処理部、３１・・・可視化処理部、３２・・・分割サイズ格納部、４０・・・分割サイズ決定部、４１・・・アルゴリズム取得部、４２・・・分割サイズ算出部、４３・・・テスト用可視化処理部、４４・・・分割数格納部、４５・・・メモリ容量取得部、４６・・・テスト用ボリュームデータ格納部、５０・・・情報処理装置、５１・・・ＣＰＵ、５２・・・ＲＡＭ、５３・・・ＲＯＭ、５４・・・ＨＤＤ、５５・・・チップセット、５６・・・通信インターフェイス、５７・・・入力インターフェイス、５８・・・グラフィックスボード、５８０・・・ＧＰＵ、５８１・・・ビデオメモリ、５９・・・メディアインターフェイス、６０・・・記録媒体、７０・・・可視化処理部、７１・・・可視化処理時間算出部、７２・・・可視化実行部、７３・・・可視化処理時間格納部、７４・・・分割アルゴリズム格納部、８０・・・テスト部、８１・・・処理時間格納部、８２・・・アルゴリズム取得部、８３・・・テスト用可視化処理部、８４・・・テスト用ボリュームデータ格納部
【図１】
2008084295.tif 000003
【図２】
2008084295.tif 000004
【図３】
2008084295.tif 000005
【図４】
2008084295.tif 000006
【図５】
2008084295.tif 000007
【図６】
2008084295.tif 000008
【図７】
2008084295.tif 000009
【図８】
2008084295.tif 000010
【図９】
2008084295.tif 000011
【図１０】
2008084295.tif 000012
【図１１】
2008084295.tif 000013
【図１２】
2008084295.tif 000014
【図１３】
2008084295.tif 000015
【図１４】
2008084295.tif 000016
【図１５】
2008084295.tif 000017
【図１６】
2008084295.tif 000018
【図１７】
2008084295.tif 000019
【図１８】
2008084295.tif 000020
【図１９】
2008084295.tif 000021
【図２０】
2008084295.tif 000022
【図２１】
2008084295.tif 000023
【図２２】
2008084295.tif 000024
【図２３】
2008084295.tif 000025
【図２４】
2008084295.tif 000026
【図２５】
2008084295.tif 000027