(57)【要約】      （修正有）【課題】レンダリング画像の生成速度を向上させるボリュームレンダリング装置を提供する。【解決手段】ボリュームレンダリング装置は、所定の対象物について所定の間隔で撮影された複数の２次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照して、各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された２次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段３０と、ボクセル画像を用いてレンダリング画像を生成するレンダリング手段７０と、を備える。ボクセル画像作成手段３０は、断層画像の総数をＭ、所定の分割数をＮ（Ｎ＞１かつＮ＜Ｍ）として、Ｍ個の断層画像をＮ個の断層画像群に分割し、Ｎ個の各断層画像群に対して、要素画像を作成する処理を並行して実行する。【選択図】図３
2020038592.tif 000002
【特許請求の範囲】
【請求項１】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された２次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をＮ（Ｎ＞１）として、各前記断層画像をＮ個の断層画像群に分割し、Ｎ個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行するボリュームレンダリング装置。
【請求項２】
各前記要素画像のｘ軸方向の左端に対応する座標をＸｓｏ、ｘ軸方向の右端に対応する座標をＸｅｏ、ｙ軸方向の上端に対応する座標をＹｓｏ、ｙ軸方向の下端に対応する座標をＹｅｏ、第１番目の要素画像が配置されるｚ座標をＺｓｏ、断層画像の総数であるＭ番目の要素画像が配置されるｚ座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす、レンダリング画像を生成する対象となるボクセル画像領域を指定する６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅが定義されている場合、
前記ボクセル画像作成手段は、ｘ≦Ｘｓまたはｘ≧Ｘｅまたはｙ≦Ｙｓまたはｙ≧Ｙｅまたはｚ≦Ｚｓまたはｚ≧Ｚｅを満たす要素画像の各画素の不透明度を０にするようにしている請求項１に記載のボリュームレンダリング装置。
【請求項３】
前記要素画像に対応して、０（表示しない）または１（表示する）の値をもつマスクデータが定義されている場合、
前記ボクセル画像作成手段は、各画素に不透明度および色成分を与えながら前記要素画像を作成する際、当該要素画像に対応する前記マスクデータを参照し、当該画素に対応する前記マスクデータの値が０の場合は、当該要素画像の当該画素の不透明度を０にするようにしている請求項１に記載のボリュームレンダリング装置。
【請求項４】
前記ボクセル画像作成手段は、作成された各要素画像の各画素について、前記各画素を含む少なくともｘｙｚ軸方向の近傍に位置する画素の不透明度を参照して、前記要素画像の画素の色成分の値を補正する陰影付加手段を備える請求項１から請求項３のいずれか一項に記載のボリュームレンダリング装置。
【請求項５】
前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記陰影付加手段は、前記断層画像群の先頭の断層画像から末尾の断層画像までの全ての断層画像について前記要素画像が作成された後、前記先頭の断層画像に対応する要素画像と前記末尾の断層画像に対応する要素画像の画素の色成分の値を補正するようにしている請求項４に記載のボリュームレンダリング装置。
【請求項６】
前記断層画像群において、順に配置された一端を先頭、他端を末尾としたとき、
前記ボクセル画像作成手段は、前記断層画像群の末尾の断層画像について、前記要素画像を作成した後、前記断層画像群の先頭の断層画像から末尾の１つ前の断層画像までの各断層画像に対して、前記要素画像を作成し、
前記陰影付加手段は、前記先頭の断層画像に対応する要素画像、前記末尾の１つ前の断層画像に対応する要素画像および前記末尾の断層画像に対応する要素画像に対して色成分の値を補正する請求項４に記載のボリュームレンダリング装置。
【請求項７】
前記レンダリング手段は、
前記色成分ボクセル画像で構成される３Ｄテクスチャ画像を生成する３Ｄテクスチャ登録手段と、
前記３Ｄテクスチャ画像に対して所定の座標変換を行って変換後３Ｄテクスチャ画像を生成する座標変換手段と、
３次元空間のｘｙ座標面上の四角形をｚ軸方向に並べ、前記各四角形の４頂点の各３次元座標を前記変換後３Ｄテクスチャ画像の所定の４箇所の各３次元座標に対応付けた積層四角形を設定する積層四角形設定手段と、
所定の視点からｚ軸方向に平行な視線上の前記積層四角形上の３次元座標に対応する前記変換後３Ｄテクスチャ画像のボクセルの（Ｒ，Ｇ，Ｂ）で構成される色成分を当該ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られた色成分を、前記レンダリング画像の（Ｒ，Ｇ，Ｂ）で構成される画素値として与えるようにしている画素値算出手段と、
を備えている請求項１から請求項６のいずれか一項にボリュームレンダリング装置。
【請求項８】
前記座標変換手段は、
所定の３次元座標系における回転を定義した４×４行列、視野角度、視点位置、クリッピング位置、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向変倍率を含む所定の座標変換のパラメータを取得し、
前記３Ｄテクスチャ画像に対して、前記取得したパラメータを用いた前記所定の座標変換を行って前記変換後３Ｄテクスチャ画像を生成するようにしている請求項７にボリュームレンダリング装置。
【請求項９】
前記座標変換手段および前記画素値算出手段は、汎用コンピュータのビデオカードに搭載されているＧＰＵおよびフレームメモリを用いて実行するようにしている請求項８にボリュームレンダリング装置。
【請求項１０】
請求項１から請求項９のいずれか一項に記載のボリュームレンダリング装置として、コンピュータを機能させるためのプログラム。
【請求項１１】
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体のボクセルデータであって、
所定の分割数をＮ（Ｎ＞１）として、各前記断層画像に対応して作成された要素画像が、Ｎ個の要素画像群に分割されており、
前記Ｎ個の要素画像群は、Ｎ個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されるボクセルデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、２次元の断層画像を複数枚用いて、３次元的に可視化するためのボリュームレンダリング技術に関する。
【背景技術】
【０００２】
従来、ＣＴ、ＭＲＩ、ＰＥＴなど医療画像診断機器（モダリティ）により所定のスライス間隔で連続的に撮像され、ＤＩＣＯＭ形式等でＰＡＣＳ（Picture Archiving and Communication Systems）等の医療情報システムに保管されている複数の断層画像を基に、臓器等を３次元的に可視化することが行われている。
【０００３】
３Ｄコンピュータグラフィックス分野においては、レンダリング像を２５６色などの限定色で生成し、ハードウェア実装のカラーマップ（カラー・ルックアップテーブル）を対話形式に変更してレンダリング像の色をリアルタイムに変更する手法が用いられている（特許文献１参照）。
【０００４】
また、カラーマップに依存しないＶＩＳボリューム（信号値、陰影輝度値、不透明度強度係数の３パラメータをもつボクセル）でレンダリングする方法も提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−３２１５７７号公報
【特許文献２】特許第２６５１７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、変更できるのはＲＧＢ値のみであり、ボリュームレンダリングで重要な、不透明度を表現したα値を制御することは開示されていない。また、特許文献２に記載の技術では、信号値に対してカラーマップを適用して再レンダリングする場合に比べ、処理に要する時間が１割程度削減できるに留まる。
【０００７】
そこで、本開示は、複数の断層画像に対してカラーマップを適用して、レンダリング画像を生成する際、レンダリング画像の生成処理の速度を向上させることが可能なボリュームレンダリング装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
本開示は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された２次元の要素画像が重ねて配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をＮ（Ｎ＞１）として、各前記断層画像をＮ個の断層画像群に分割し、Ｎ個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行する。
【０００９】
また、本開示では、
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するためのボリュームレンダリング装置であって、
前記カラ−マップを参照して、前記各断層画像の各画素の信号値を変換し、画素値として色成分および不透明度が定義された２次元の要素画像がｚ軸方向に配置されたボクセル画像を作成するボクセル画像作成手段と、
前記ボクセル画像を用いてレンダリング画像を生成するレンダリング手段と、を備え、
前記ボクセル画像作成手段は、所定の分割数をＮ（Ｎ＞１）として、各前記断層画像をＮ個の断層画像群に分割し、Ｎ個の各断層画像群に対して、前記要素画像を作成する処理を並行して実行するボリュームレンダリング装置として、コンピュータを機能させるためのプログラムを提供する。
【００１０】
また、本開示では、
所定の対象物について所定の間隔で撮影された複数の２次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体のボクセルデータであって、
所定の分割数をＮ（Ｎ＞１）として、各前記断層画像に対応して作成された要素画像が、Ｎ個の要素画像群に分割されており、
前記Ｎ個の要素画像群は、Ｎ個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されるボクセルデータを提供する。
【発明の効果】
【００１１】
本開示によれば、複数の断層画像に対してカラーマップを適用して、レンダリング画像を生成する処理を高速に行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】複数の断層画像と、ボリュームレンダリング像として生成されるカラーのレンダリング画像を示す図である。
【図２】本開示の一実施形態に係るボリュームレンダリング装置１００のハードウェア構成図である。
【図３】本実施形態に係るボリュームレンダリング装置の構成を示す機能ブロック図である。
【図４】本実施形態に係るボリュームレンダリング装置の処理動作を示すフローチャートである。
【図５】本実施形態で用いるカラーマップを示す図である。
【図６】図４に示したステップＳ２０におけるボクセル画像作成処理等を並行して行う場合を示すフローチャートである。
【図７】図６に示したステップＳ５１０、Ｓ５３０における要素画像の作成処理を示すフローチャートである。
【図８】３Ｄテクスチャマッピングにおける対応付けを示す図である。
【図９】３Ｄテクスチャマッピング方式の処理を行う場合の、レンダリング手段７０の構成を示す図である。
【図１０】本実施形態のレンダリング手段７０による投影画面設定の一例を示す説明図である。
【図１１】３Ｄテクスチャマッピング方式によるレンダリング処理の詳細を示すフローチャートである。
【図１２】（ａ）クリッピング設定、色値および不透明度の双方をクリッピング処理、（ｂ）マスク設定、色値および不透明度の双方をマスク処理を行った状態のレンダリング画像の表示例を示す図である。
【図１３】（ａ）クリッピング設定、不透明度のみをクリッピング処理、（ｂ）マスク設定、不透明度のみをマスク処理を行った状態のレンダリング画像の表示例を示す図である。
【図１４】コンピュータによりボリュームレンダリング装置１００を実現する場合の並列化処理を示す図である。
【図１５】コンピュータによりボリュームレンダリング装置１００を実現する場合の並列化処理のソフトウェアによる流れを示す図である。
【発明を実施するための形態】
【００１３】
以下、本開示の好適な実施形態について図面を参照して詳細に説明する。
本開示は、複数の断層画像に基づいて、信号値に対して色成分の値と不透明度を対応付けて定義されたカラ−マップを参照してレンダリング画像を生成するものである。図１は、複数の断層画像と、レンダリング画像を示す図である。図１（ａ）は複数の断層画像、図１（ｂ）は１枚の断層画像、図１（ｃ）はレンダリング画像である。図１（ａ）（ｂ）に示す断層画像は、ＤＩＣＯＭ形式のものを示している。図１（ａ）は、３７０枚の断層画像群であり、図１（ｂ）は、そのうちの１枚を拡大したものである。後述する実施形態のボリュームレンダリング装置では、図１（ａ）に示したような複数の断層画像に対してレンダリング処理を実行して、図１（ｃ）に示したような１枚のレンダリング画像を生成する。図１（ｃ）に示したレンダリング画像は、５１２×５１２画素であって、１画素についてＲＧＢ各色８ビットの計２４ビットで表現したものである。
【００１４】
＜１．装置構成＞
図２は、本開示の一実施形態に係るボリュームレンダリング装置１００のハードウェア構成図である。本実施形態に係るボリュームレンダリング装置１００は、汎用のコンピュータで実現することができ、図２に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、ＳＳＤ（Solid State Drive），フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等の指示入力Ｉ／Ｆ（インターフェース）４と、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、グラフィックスに特化した演算処理部であるＧＰＵ（Graphics Processing Unit）７と、表示部６に表示する画像を保持するフレームメモリ８と、を備え、互いにバスを介して接続されている。ＧＰＵ７による演算結果はフレームメモリ８に書き込まれるため、ＧＰＵ７とフレームメモリ８は、表示部６へのインタフェースを備えたビデオカードに搭載されて汎用のコンピュータにバス経由で装着されていることが多い。
【００１５】
本実施形態において、ＣＰＵ１は、マルチコアＣＰＵであり、複数のＣＰＵコアを有し、並列処理が可能となっている。図２の例では、ＲＡＭ２が１つだけ示されているが、ＣＰＵ１の各ＣＰＵコアが、１つのＲＡＭ２にアクセスするように構成されている。なお、ＣＰＵ１は複数であってもよい。またマルチコアＣＰＵは、各々のＣＰＵコアが論理的に複数の実行スレッドを受け入れるＣＰＵであってもよい。
【００１６】
図３は、本実施形態に係るボリュームレンダリング装置の構成を示す機能ブロック図である。図３において、１０は断層画像読込手段、１５はカラーマップ読込手段、２０はＲＯＩクリッピング設定手段、２５はマスク設定手段、３０はボクセル画像作成手段、４０は不透明度補正手段、５０は陰影付加手段、７０はレンダリング手段、８０はレンダリング画像出力手段である。
【００１７】
断層画像読込手段１０は、ＣＴ、ＭＲＩ、ＰＥＴなどの医用画像診断機器により収集および蓄積されたＰＡＣＳから、記憶媒体や入力部を経由して、複数の断層画像を読み込む手段である。断層画像は、対象物に対して所定の間隔で撮影されて得られたものであり、各画素に信号値が付与された２次元の断層画像である。カラーマップ読込手段１５は、図示されていないカラーマップ作成手段により、あらかじめ作成されたカラーマップを記憶媒体や入力部から、カラーマップを読み込む手段である。ＲＯＩクリッピング設定手段２０は、読み込んだ複数の断層画像のうち、ボクセル画像の作成対象を、関心領域であるＲＯＩとして設定する手段である。マスク設定手段２５は、読み込んだ複数の断層画像のうち、表示させない領域をマスク設定する手段である。
【００１８】
ボクセル画像作成手段３０は、信号値に対して色成分の値と不透明度を対応付けて定義されたカラーマップを参照して、複数の断層画像の各画素と対応付けて３次元に配置した各ボクセルに対して、色成分の値と不透明度を与えることによりボクセル画像を作成する手段である。ボクセル画像作成手段３０は、さらに不透明度補正手段４０、陰影付加手段５０を備えている。不透明度補正手段４０は、所定のテーブルを用いてボクセル画像の各画素の不透明度αを補正する手段である。陰影付加手段５０は、色成分ボクセル画像の各ボクセルの（Ｒ，Ｇ，Ｂ）で構成される色成分に対して、そのボクセルの近傍のボクセルの不透明度αを基に、そのボクセルにおける勾配ベクトルを算出し、算出した勾配ベクトルを用いて、陰影値を算出し、色成分（Ｒ，Ｇ，Ｂ）の各値に陰影値を乗算した値に置き換える手段である。
【００１９】
断層画像読込手段１０およびカラーマップ読込手段１５は、ＣＰＵ１が補助しながら、主にデータ入出力Ｉ／Ｆ５において実現される。ＲＯＩクリッピング設定手段２０およびマスク設定手段２５は、ＣＰＵ１が補助しながら、主に指示入力Ｉ／Ｆ４において実現される。ボクセル画像作成手段３０、不透明度補正手段４０、陰影付加手段５０は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。レンダリング手段７０は、ＣＰＵ１が補助しながら、主にＧＰＵ７においてプログラムを実行することにより実現される。レンダリング画像出力手段８０は、ＣＰＵ１が補助しながら、主にフレームメモリ８と表示部６において実現される。
【００２０】
図３に示した各構成手段は、現実には図２に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、ＣＰＵ、ＧＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、ＧＰＵを搭載するタブレットなどの携帯端末や様々な装置に組み込まれたコンピュータも含む。
【００２１】
＜２．処理動作＞
次に、図２、図３に示したボリュームレンダリング装置の処理動作について説明する。図４は、本実施形態に係るボリュームレンダリング装置の処理動作を示すフローチャートである。まず、断層画像読込手段１０が、複数の断層画像を読み込む。複数の断層画像は、図１（ａ）に示したような態様のものである。本実施形態では、ＤＩＣＯＭ形式の断層画像群Ｄｏ（ｘ，ｙ，ｚ）（−３２７６８≦Ｄｏ（ｘ，ｙ，ｚ）≦３２７６７，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）を読み込むものとする。断層画像群Ｄｏ（ｘ，ｙ，ｚ）は１画素が１６ビットで記録されるため、−３２７６８〜３２７６７の信号値Ｄｏ（ｘ，ｙ，ｚ）が記録されている。断層画像群Ｄｏ（ｘ，ｙ，ｚ）は、ｘ座標のサイズ（画素数）がＳｘ、ｙ座標のサイズ（画素数）がＳｙの断層画像が、Ｓｚ枚積層されたものである。なお、以後の説明では、断層画像の枚数ＳｚをＭとも表現する。図１（ｂ）における１枚の断層画像の左右方向がｘ軸、上下方向がｙ軸に対応し、図１（ａ）に示した複数の断層画像を重ねた場合の積層方向がｚ軸に対応する。
【００２２】
ＤＩＣＯＭ形式の複数の断層画像を読み込んだら、ＲＯＩクリッピング設定手段２０が、ＲＯＩクリッピング設定を行う（ステップＳ１０）。ＲＯＩとはＲｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔの略であり、本明細書では３次元空間における関心領域を意味する（学術的には、ＲＯＩは２次元領域を指し、３次元領域の場合、ＶＯＩ（Ｖｏｌｕｍｅ  ｏｆ  Ｉｎｔｅｒｅｓｔ）と称するが、医用画像業界では３次元領域でもＲＯＩが多用される）。ここでは、レンダリング画像およびボクセル画像の作成対象とする範囲を示す。ＲＯＩを設定することにより、３次元的に任意の位置で被写体を断裁したボリュームレンダリング像を生成することができ、体表や骨に隠れた臓器や臓器の内部を描出するのに用いられる。ステップＳ２０以降の処理において、所定の範囲にボクセル画像作成対象が限定されるように、ステップＳ１０においてＲＯＩを設定する。
【００２３】
読み込んだ各断層画像のｘ軸方向の左端に対応する座標をＸｓｏ、ｘ軸方向の右端に対応する座標をＸｅｏ、ｙ軸方向の上端に対応する座標をＹｓｏ、ｙ軸方向の下端に対応する座標をＹｅｏ、第１スライス（先頭：第１番目）の断層画像に対応する座標をＺｓｏ、最終スライス（末尾：第Ｍ番目）の断層画像に対応する座標をＺｅｏとすると、Ｘｓｏ≦Ｘｓ＜Ｘｅ≦Ｘｅｏ、Ｙｓｏ≦Ｙｓ＜Ｙｅ≦Ｙｅｏ、Ｚｓｏ≦Ｚｓ＜Ｚｅ≦Ｚｅｏを満たす［Ｘｓ，Ｘｅ］、［Ｙｓ，Ｙｅ］、［Ｚｓ，Ｚｅ］の直方体で定義される範囲をＲＯＩと定義し処理対象として特定する。すなわち、レンダリング画像を生成する対象となるボクセル画像領域を指定する６つの座標Ｘｓ，Ｘｅ，Ｙｓ，Ｙｅ，Ｚｓ，Ｚｅが定義される。ステップＳ１０におけるＲＯＩクリッピング設定の結果、処理対象の画素数が（Ｘｅｏ−Ｘｓｏ＋１）×（Ｙｅｏ−Ｙｓｏ＋１）×（Ｚｅｏ−Ｚｓｏ＋１）画素から、（Ｘｅ−Ｘｓ＋１）×（Ｙｅ−Ｙｓ＋１）×（Ｚｅ−Ｚｓ＋１）画素に削減されることになる。ＲＯＩクリッピング設定手段２０によるステップＳ１０のＲＯＩクリッピング設定を行うことにより、観察対象の臓器を露出させたボリュームレンダリング像が得られるという効果に加え、処理対象の画素が減って処理負荷を抑え応答性を向上させることができるという二重のメリットがあるため、設定される場合が多いが、必須の処理ではなく省略することも可能である。尚、ステップＳ１０のＲＯＩクリッピング設定の段階では、ＲＯＩクリッピングを適用する範囲を定義するだけで、具体的なクリッピング処理は、ステップＳ２０以降の各処理で実行される。各々の処理において、ボクセル画像のＲＯＩ範囲に限定して演算が行われることにより処理負荷が軽減され、ステップＳ７０のレンダリング処理でクリッピング（断裁）されたボリュームレンダリング像が生成される。
【００２４】
ＲＯＩクリッピング設定手段２０により、ＲＯＩクリッピング設定が行われたら、次に、マスク設定手段２５が、マスク設定を行う（ステップＳ１５）。マスク設定とは、断層画像の各画素を表示させるか否かの設定である。マスク設定の手法は、特に限定されないが、本実施形態では、ステップＳ１０において読み込んだ断層画像群をＭＰＲ画像（アキシャル・コロナル・サジタルの３画面）として画面表示するとともに、本明細書に記載の方法または公知の手法により作成されるボリュームレンダリング像を表示させ、これら２次元投影された複数の画像の中から最も指示がしやすい画像を選択し、選択した画像の２次元領域を指示しながら、マスクして表示させない範囲とマスクせずに表示させる領域を特定する。このマスク設定により、断層画像群に対応した３次元空間におけるマスクデータが得られる。マスクデータＭａｓｋ（ｘ，ｙ，ｚ）は、断層画像群Ｄｏ（ｘ，ｙ，ｚ）の各画素に対応して“０”か“１”かのいずれかの値が設定されたものである。このような３次元マスクを作成する処理は必須の処理に近いが、省略することも可能である。観察対象の臓器を描出する方法として、上述のＲＯＩクリッピングもあるが、３次元マスクに比べ操作が簡便であり、処理負荷も減少するため、ＲＯＩクリッピング処理も併用される頻度が多い。ＲＯＩクリッピング設定手段２０、マスク設定手段２５により表示させるべき特定の領域が設定されることになるが、両手段で設定されている場合は、いずれも表示すべき領域として設定された領域が有効領域となり、いずれか一方が設定されている場合は、その結果、表示すべき領域として設定された領域が有効領域となる。ＲＯＩクリッピング設定手段２０、マスク設定手段２５のどちらにも設定されない場合は、読み込まれた断層画像群の全領域が有効領域となる。
【００２５】
次に、ボクセル画像作成手段３０が、ボクセル画像作成処理を行う（ステップＳ２０）。ボクセル画像とは、断層画像の各画素が３次元空間にボクセルとして配置されたボクセル構造体である。ステップＳ２０における具体的な処理としては、カラーマップ読込手段１５から読み込んだカラーマップを用いて、クリッピング設定後の断層画像のＲＯＩ範囲に含まれる各画素の信号値に対して対応する値を付与し、ボクセル画像を作成する。
【００２６】
図５は、本実施形態で用いるカラーマップを示す図である。図５において、信号値は、断層画像の各画素に記録された信号値であり、Ｒ、Ｇ、Ｂは、それぞれ赤、緑、青の色成分であり、αはそのボクセルの表示の程度を規定する不透明度である。図５は、断層画像の信号値が１６ビットで記録され、−３２７６８〜３２７６７の値をとる場合のカラーマップである。なお、ＣＴ画像の場合は、水（water）成分を０として−２０４８から２０４８の範囲に正規化される場合が多い。図５に示すように、カラーマップには、断層画像の各画素の信号値に対して、Ｒ、Ｇ、Ｂの各色成分と不透明度αが対応付けられている。このようなカラーマップを用いることにより、断層画像の各画素に対応するボクセル画像の各ボクセルに対して、その画素の信号値に対応するＲ、Ｇ、Ｂの各色成分と不透明度αをボクセル値として与えることにより、フルカラーのボリュームレンダリング像を生成するためのボクセル画像を作成することができる。
【００２７】
図５に示したようなカラーマップを用いることにより、断層画像において所定の信号値を有する箇所を、任意の色成分、任意の不透明度で表現することができる。断層画像においては、臓器、器官等の部位に応じて信号値が異なるため、ボリュームレンダリング像において、カラーマップを定義することにより、信号値の相違に基づいて、人為的に、特定の臓器を色分けしたり、特定の器官を透明にして背後に隠れた臓器を露出させたりすることができる。特定の部位の不透明度αを最大値（α＝２５５）に設定すれば、その部位だけが明瞭に表示され、その部位の奥に位置する部位は描出されない。逆に特定の部位の不透明度αを最小値（α＝０）に設定すれば、その部位は不可視（透明）になり、その部位の奥に位置する部位が露出される。特定の部位の不透明度αを中間調（０＜α＜２５５）に設定すれば、その部位が半透明で表示され、その奥に位置する部位が透かし合成されて表示される。また、色成分Ｒ、Ｇ、Ｂとしては、目的とする部位を視認し易くするための任意の値を設定することができる。したがって、カラーマップは、観察対象の部位ごとに設定しておくことができ、同じ断層画像群に対しても、異なるカラーマップを使用することにより、異なるボリュームレンダリング像が得られることになる。すなわち、肺用のカラーマップを用いれば、肺の部分が目立ったボリュームレンダリング像が得られ、心臓用のカラーマップを用いれば、心臓の部分が目立ったボリュームレンダリング像が得られる。ただし、各臓器の信号値分布は互いにオーバーラップしていることもあるため、特定の臓器のみを描出するカラーマップを作成することはできないことが多い。例えば、心臓用のカラーマップでは肋骨・胸骨も同時に描出され、心臓はこれらの骨に隠れてしまうため、ＲＯＩクリッピングを設定して肋骨を仮想的に断裁するなどの工夫が必要になる。
【００２８】
本実施形態では、指示入力Ｉ／Ｆ４を介した操作により、使用中のカラーマップに変更を加えたり、異なるカラーマップを読み込んだりすることが可能となっている。そして、ボリュームレンダリング装置は、変更されたカラーマップまたは新たに読み込まれたカラーマップを参照して、ボリュームレンダリング像として提示するためのレンダリング画像を生成する。本実施形態のボリュームレンダリング装置は、レンダリング画像を高速で生成することが可能であるため、カラーマップの変更に対してリアルタイムにボリュームレンダリング像を更新できる。
【００２９】
ステップＳ２０においては、ボクセル画像作成手段３０が、複数の断層画像のＸｓ＜ｘ＜ＸｅかつＹｓ＜ｙ＜ＹｅかつＺｓ＜ｚ＜Ｚｅの範囲に対応する各画素（ｘ，ｙ，ｚ）における信号値を用いてカラーマップを参照し、信号値に対応する色成分であるＲ、Ｇ、Ｂと、不透明度αの値を取得し、その値を対応するボクセルの値とする。ｘ≦ＸｓまたはＸｅ≦ｘまたはｙ≦ＹｓまたはＹｅ≦ｙまたはｚ≦ＺｓまたはＺｅ≦ｚの範囲のボクセル（ｘ，ｙ，ｚ）の値に対しては、一律にＲ＝Ｇ＝Ｂ＝α＝０を設定する。複数枚の断層画像における全ての画素に対して、この処理を行うことにより、複数枚の断層画像に対応した３次元のボクセル画像が得られる。これにより、ボクセル画像の各ボクセルの値は、Ｒ、Ｇ、Ｂ、αの４つとなる。各色成分Ｒ、Ｇ、Ｂ、αはそれぞれ１画素につき８ビットで記録されるため、ボクセル画像においては、１画素３２ビットで記録されることになる。
【００３０】
本実施形態では、ステップＳ２０におけるボクセル画像作成処理は、複数のＣＰＵコアにより並行して行われる。図６は、ステップＳ２０におけるボクセル画像作成処理等を並行して行う場合を示すフローチャートである。ボクセル画像作成手段３０は、ステップＳ１０で読み込んだ断層画像群をＮ個（Ｎ≧２の整数）に分割し、各ＣＰＵコアで並列処理を行う。（ｘ，ｙ）座標を備えた各断層画像が積層された方向がｚ軸方向となるため、ｚ座標の値に応じてＮ個に分割する。具体的には、各断層画像群の先頭の断層画像の座標をＺ１、末尾の断層画像の座標をＺ２とし、先頭座標Ｚ１、末尾座標Ｚ２に、読み込んだ断層画像を割り当てていく。例えば、１番目のＣＰＵコアには、Ｚ１＝Ｚｓ、Ｚ２＝Ｚｓ＋（Ｚｅ−Ｚｓ＋１）／Ｎ−１が設定される。各断層画像群には、断層画像が順に配置されているが、一端を先頭、他端を末尾としている。
【００３１】
断層画像群がＮ個に分割され、それぞれが各ＣＰＵコアに割り当てられたら、各ＣＰＵコアは、図６に示したフローチャートに従った処理を実行する。はじめに、図６のステップＳ５２０からＳ５５０までのコア部分の処理について概要構成を説明する。この処理は、分割された断層画像群の各断層画像に対して、基本的には先頭Ｚ１から末尾Ｚ２の順に要素画像を作成し（ステップＳ５３０）、作成された要素画像に対して陰影付加処理（ステップＳ５４０）を行い、要素画像を更新するものである。要素画像は、断層画像の各画素値（信号値）を色値（Ｒ，Ｇ，Ｂ）と不透明度（α）に変換した画像で、３次元のボクセル画像において、ｚ座標を特定したものであり、３次元画像の一部である。すなわち、２次元の要素画像が重ねて配置されることによりボクセル画像が得られる。そのため、要素画像の各ボクセルの値は、上述のように、Ｒ、Ｇ、Ｂ、αの４つとなる。座標ｚの要素画像は、座標ｚの断層画像の各画素と１対１に対応して作成されるが、座標ｚの要素画像に対して陰影付加処理（ステップＳ５４０）を実行するためには、座標ｚ−１の要素画像と座標ｚ＋１の要素画像を参照する必要があるため、そのまま続けて実行することはできないという第１の問題が生じる。陰影付加処理（ステップＳ５４０）を実行する段階では、座標ｚ＋１の要素画像は存在しないため、１つ前に作成された座標ｚ−１の要素画像に対して、その前に作成された座標ｚ−２の要素画像と今回作成された座標ｚの要素画像を参照しながら陰影付加処理を行い、１つ前に作成された座標ｚ−１の要素画像を更新するようにしている。即ち、陰影付加処理（ステップＳ５４０）は常にｚ座標が１つ遅れで実行されることになる。
【００３２】
このようにして、先頭Ｚ１から末尾Ｚ２の順にステップＳ５２０からＳ５５０までの処理を繰り返すと、先頭Ｚ１から末尾Ｚ２までの要素画像は全て作成されるが（図６の構成では末尾Ｚ２の１つ前のＺ２−１で止めているため、この処理では末尾Ｚ２の要素画像は作成されない）、先頭Ｚ１および末尾Ｚ２の要素画像に対して陰影付加処理が実行されていない。先頭Ｚ１および末尾Ｚ２の要素画像に対して陰影付加処理を実行させるためには、座標Ｚ１−１の要素画像および座標Ｚ２＋１の要素画像を参照する必要があるが、これらの要素画像は、並列実行されている他のＣＰＵコアで作成される。そこで、ステップＳ５２０からＳ５５０までの一連の処理を終了した後、共有メモリに配置されている他のＣＰＵコアで作成された要素画像を参照しながら、先頭Ｚ１および末尾Ｚ２の要素画像に対して陰影付加処理を実行する。この追加処理が図６のステップＳ５６０に対応する。
【００３３】
ここで、もう１つ問題が生じる。末尾Ｚ２の要素画像に対して陰影付加処理を実行する際、共有メモリに配置されている他のＣＰＵコアで作成された座標Ｚ２＋１の要素画像を参照するが、当該要素画像は他のＣＰＵコアでは先頭Ｚ１の要素画像に対応し、順番的に最初に作成される要素画像になるため、当該ＣＰＵコアが末尾Ｚ２の要素画像に対して陰影付加処理を実行する段階で、座標Ｚ２＋１の要素画像は既に作成されている可能性が高いため問題はない。しかし、先頭Ｚ１の要素画像に対して陰影付加処理を実行する際、他のＣＰＵコアで作成された座標Ｚ１−１の要素画像を参照するが、当該要素画像は他のＣＰＵコアでは末尾Ｚ２の要素画像に対応し、順番的に最後に作成される要素画像になるため、当該ＣＰＵコアが先頭Ｚ１の要素画像に対して陰影付加処理を実行する段階で、座標Ｚ１−１の要素画像の作成が間に合わない可能性がある（実験では間に合わない場合が過半数以上あった）。そこで、各ＣＰＵコアは末尾Ｚ２の要素画像の作成を最優先で行うようにする（ステップＳ５１０）。その後、ステップＳ５２０からＳ５５０までの処理を実行するが、末尾Ｚ２の要素画像の作成は既に終了しているため、繰り返し範囲をステップＳ５５０に示されるように、先頭Ｚ１から末尾Ｚ２−１までに短縮する。そうすると、先頭Ｚ１、末尾Ｚ２の要素画像に加え、座標Ｚ２−１の要素画像に対しても陰影付加処理が未実行となる。そこで、ステップ５６０に示されるように、先頭Ｚ１、末尾Ｚ２および座標Ｚ２−１の３点の要素画像に対して陰影付加処理のみを追加で行う。
【００３４】
以上を踏まえ、図６に示したフローチャートに従って、処理内容を詳細に説明する。まず、末尾のｚ座標となる断層画像に対応する要素画像を作成する（ステップＳ５１０）。なお、ステップＳ５１０においては、必須でない処理として、作成された要素画像の不透明度を補正する処理も行われる。ステップＳ５１０における処理の詳細については後述する。ステップＳ５１０において、末尾の断層画像に対応する要素画像のボクセル値の特定および不透明度の補正を終えたら、次に、先頭のｚ座標となる断層画像に処理対象を移行する（ステップＳ５２０）。具体的には、先頭のｚ＝Ｚ１に処理対象を移行する。Ｚ１は、Ｚｓ≦Ｚ１＜Ｚ２≦Ｚｅを満たす整数である。
【００３５】
次に、処理対象とするｚ座標の断層画像に対応する要素画像を作成する（ステップＳ５３０）。ステップＳ５３０においても、必須でない処理として、作成された要素画像の不透明度を補正する処理が行われる。ステップＳ５３０における具体的な処理は、処理対象の要素画像が異なる以外は、ステップＳ５１０と全く同じである。したがって、ステップＳ５３０における処理の詳細についても後述する。
【００３６】
ステップＳ５３０における要素画像の作成後、ｚと（Ｚ１＋２）を比較し、ｚ≧（Ｚ１＋２）である場合は、陰影付加処理を行う（ステップＳ５４０）。したがって、ｚ＜（Ｚ１＋２）である場合は、ステップＳ５４０における陰影付加処理は行わない。すなわち、先頭の要素画像（ｚ＝Ｚ１）については、陰影付加処理を行わない（先頭から２番目の要素画像（ｚ＝Ｚ１＋１）については、ｚ＝Ｚ１＋２の段階で陰影付加処理が行われる）。ステップＳ５４０における陰影付加処理は、１断層前の要素画像に対して行われる。ステップＳ５４０における処理の詳細についても後述する。
【００３７】
ステップＳ５４０における陰影付加処理を終えたら、ｚをインクリメント（ｚ←ｚ＋１）する。そして、ｚ＜Ｚ２である場合は、ステップＳ５３０に戻って、ステップＳ５５０までの処理を繰り返して行う。一方、ｚ≧Ｚ２である場合は、先頭（ｚ＝Ｚ１）の要素画像、末尾（ｚ＝Ｚ２）の要素画像、末尾の１つ前（ｚ＝Ｚ２−１）の要素画像に対して、陰影付加処理を行う（ステップＳ５６０）。ステップＳ５６０における具体的な処理は、処理対象の要素画像が異なる以外は、ステップＳ５４０と全く同じである。したがって、ステップＳ５６０における処理の詳細についても後述する。
【００３８】
結局、図６のフローチャートに示した処理では、最初に、末尾（ｚ＝Ｚ２）の要素画像の作成を行い（ステップＳ５１０）、次に、先頭（ｚ＝Ｚ１）の要素画像から順番に、末尾の１つ前（ｚ＝Ｚ２−１）までの要素画像の作成と陰影付加処理を繰り返し行う（ステップＳ５３０〜Ｓ５５０）。ただし、先頭の要素画像と末尾の２枚の要素画像については、陰影付加処理を行わない。そして、最後に、陰影付加処理が行われなかった３枚の要素画像に対して陰影付加処理を行う（ステップＳ５６０）。すなわち、ステップＳ５１０〜ステップＳ５５０において、断層画像群の先頭の断層画像から末尾の断層画像までの全ての断層画像について要素画像が作成された後、ステップＳ５６０において、陰影付加手段５０が、先頭の断層画像に対応する要素画像と末尾の２枚の断層画像に対応する要素画像の画素の色成分の値を補正して、陰影付加を行っている。より詳細には、ステップＳ５１０〜ステップＳ５５０において、ボクセル画像作成手段３０が、断層画像群の末尾の断層画像について、要素画像を作成した後、断層画像群の先頭の断層画像から末尾の１つ前の断層画像までの各断層画像に対して要素画像を作成し、ステップＳ５６０において、陰影付加手段５０が、先頭の断層画像に対応する要素画像、末尾の１つ前の断層画像に対応する要素画像および末尾の断層画像に対応する要素画像に対して色成分の値を補正して、陰影付加を行っている。
【００３９】
本実施形態では、複数に分割した断層画像群を複数のＣＰＵコアで並行に処理して、最後に統合し、ボクセル画像を作成する。また、ある要素画像に対する陰影付加処理は、隣接する要素画像を用いて行う必要がある。そのため、先頭の要素画像の陰影付加処理は、他の分割断層画像群の末尾の要素画像が必要となり、末尾の要素画像の陰影付加処理は、他の分割断層画像群の先頭の要素画像が必要となる。ただし、ｚ＝Ｚｓに対応する先頭の要素画像およびｚ＝Ｚｅに対応する末尾の要素画像に対しては陰影付加処理における輝度値の計算を行わず、輝度値として０を与え、当該要素画像の色成分の値を全て０に補正する。なお、本実施形態では、ｚ＝Ｚ１を先頭、ｚ＝Ｚ２を末尾として説明したが、ｚ＝Ｚ１を末尾、ｚ＝Ｚ２を先頭としてもよい。結局は、読み込んだ全ての断層画像の積層構成を変更せず、一方から他方に向かって処理することができるように、先頭と末尾を設定すればよい。
【００４０】
上述のステップＳ５１０、Ｓ５３０の処理の詳細について説明する。図７は、ステップＳ５１０、Ｓ５３０における要素画像の作成処理を示すフローチャートである。まず、対象とするｚ座標の断層画像に対応する要素画像を作成する（ステップＳ５１１）。具体的には、図５に示したようなカラーマップを用いて、断層画像の各画素に対応するボクセル画像の各ボクセルに対して、その画素の信号値に対応するＲ、Ｇ、Ｂの各色成分と不透明度αをボクセル値として与えることにより要素画像を作成する。例えば、ｚ＝ｚｕの場合、ボクセル値Ｖ（ｘ，ｙ，ｚｕ，ｃ）（ｃ＝０（Ｒ）、１、（Ｇ）、２（Ｂ）、３(α)）をもつ要素画像が作成される。
【００４１】
次に、不透明度であるα値の補正を行う（ステップＳ５１２）。具体的には、ボクセル画像の３次元座標値により定まる不透明度補正テーブルＳα（ｘ，ｙ，ｚ）（０≦Ｓα（ｘ，ｙ，ｚ）≦１；０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１）を用いて、以下の〔数式１〕に従った処理を実行することにより、不透明度αを補正する。不透明度補正テーブルＳα（ｘ，ｙ，ｚ）は、あらかじめ（ｘ、ｙ、ｚ）の３次元空間に不透明度に対する補正倍率が定義された多次元伝達関数である。同関数は、内臓が存在する中心部の領域の補正倍率を最大に設定し、周辺に向けて補正倍率を所定の関数で減衰させ、骨領域より外側（体表面：脂肪・筋肉・皮膚層、体外：寝台、ヘッドレスト・固定治具）において補正倍率が０になるように定義される。これを用いて、〔数式１〕に従った処理を実行すると、骨領域より外側が透明になり、内臓領域のみが露出したボリュームレンダリング像を得ることができる。
【００４２】
〔数式１〕
Ｖ´（ｘ，ｙ，ｚｕ，３）＝Ｖ（ｘ，ｙ，ｚｕ，３）・Ｓα（ｘ，ｙ，ｚｕ）
【００４３】
〔数式１〕において、Ｖ（ｘ，ｙ，ｚｕ，３）は、ｃ＝３の場合であるので、補正前の不透明度αを示している。Ｖ´（ｘ，ｙ，ｚｕ，３）は、不透明度補正テーブルＳα（ｘ，ｙ，ｚｕ）による補正後の不透明度αを示している。
【００４４】
本実施形態で作成されるボクセルデータは、複数の２次元の断層画像の各画素に対応し、あらかじめ定義されたカラ−マップを参照して定められた各ボクセルで構成されるボクセル構造体である。このボクセルデータは、断層画像の総数をＭ、所定の分割数をＮ（Ｍ、Ｎは共に整数であり、Ｎ＞１かつＮ＜Ｍを満たす。）として、Ｍ個の断層画像に対応して作成されたＭ個の要素画像が、Ｎ個の要素画像群に分割されており、Ｎ個の要素画像群は、Ｎ個の要素画像群を統合したボクセル画像を作成するボクセル画像作成手段により並行して処理されて作成される。
【００４５】
上述のステップＳ５４０の陰影付加処理の詳細について説明する。ステップＳ５４０においては、陰影付加手段５０が、陰影付加処理を行う。これは、所定の照明環境に対応した陰影をボクセル画像に付加する処理であり、具体的にはＸｓ≦ｘ≦ＸｅかつＹｓ≦ｙ≦ＹｅかつＺｓ≦ｚ≦Ｚｅの範囲のボクセルの不透明度αを参照しながら、Ｘｓ＜ｘ＜ＸｅかつＹｓ＜ｙ＜ＹｅかつＺｓ＜ｚ＜Ｚｅの範囲のボクセルの色成分を更新する処理である。このために、ある平行光源と環境光成分を設定し、付加すべき陰影の計算を行う。具体的には、まず、平行光源の向きを示す単位ベクトルとして光源ベクトル（Ｌｘ，Ｌｙ，Ｌｚ）と、環境光成分Ａｂを設定する。光源ベクトル（Ｌｘ，Ｌｙ，Ｌｚ）、環境光成分Ａｂの数値は、表現したい像の状況に応じて適宜設定することができるが、例えば、（Ｌｘ，Ｌｙ，Ｌｚ）＝（０．５７７３５，０．５７７３５，０．５７７３５）、Ａｂ＝０．２と設定する。Ｌｘ，Ｌｙ，Ｌｚは絶対値が１未満の実数値（負値を含む），Ａｂは０以上１以下の実数値である。そして、ボクセル画像のボクセル（ｘ，ｙ，ｚｕ−１）におけるにおける勾配ベクトル（Ｇｘ，Ｇｙ，Ｇｚ）を以下の〔数式２〕に従った処理を実行することにより算出する。
【００４６】
〔数式２〕
Ｇｘ＝（Ｖ（ｘ＋１，ｙ，ｚｕ−１，３）−Ｖ（ｘ−１，ｙ，ｚｕ−１，３））・（Ｒｘｙ／Ｒｚ）
Ｇｙ＝（Ｖ（ｘ，ｙ＋１，ｚｕ−１，３）−Ｖ（ｘ，ｙ−１，ｚｕ−１，３））・（Ｒｘｙ／Ｒｚ）
Ｇｚ＝（Ｖ（ｘ，ｙ，ｚｕ，３）−Ｖα（ｘ，ｙ，ｚｕ−２，３））
Ｇ＝（Ｇｘ2＋Ｇｙ2＋Ｇｚ2）1/2
【００４７】
〔数式２〕において、Ｖ（ｘ，ｙ，ｚｕ−１，３）はボクセル画像のボクセル（ｘ，ｙ，ｚｕ−１）における不透明度αで、Ｒｘｙは断層画像の解像度（画素間隔の逆数でｍｍあたりの画素数で、ｘ軸方向とｙ軸方向は同一）、Ｒｚは断層画像のスライス解像度（断層画像のスライス間隔の逆数で、ｍｍあたりの断層画像のスライス数）、Ｇは勾配ベクトル（Ｇｘ，Ｇｙ，Ｇｚ）の大きさである。Ｒｘｙ／Ｒｚはｚ軸方向変倍率と定義され、〔数式２〕において、ＧｘとＧｙを算出する式にＲｘｙ／Ｒｚを乗ずる代わりに、Ｇｚを算出する式にＲｚ／Ｒｘｙ、即ちｚ軸方向変倍率の逆数を乗じてもよい。〔数式２〕に示すように、陰影付加手段５０は、ボクセル画像の当該ボクセルのｘ軸方向、ｙ軸方向、ｚ軸方向の各々２近傍のボクセルの不透明度の差分値を勾配ベクトルのｘ軸方向成分、ｙ軸方向成分、ｚ軸方向成分として算出し、あらかじめ定義されたｚ軸方向変倍率に基づいてｘ軸方向・ｙ軸方向成分またはｚ軸方向成分に補正を施した単位ベクトルを、当該ボクセルにおける勾配ベクトルとして算出する。さらに、Ｇ≧１の場合、以下の〔数式３〕に従った処理を実行して、拡散反射成分のみを含んだ輝度値Ｓ（ｘ，ｙ，ｚｕ−１）を算出する。Ｓ（ｘ，ｙ，ｚｕ−１）は、０以上１以下の実数値である。
【００４８】
〔数式３〕
Ｓ（ｘ，ｙ，ｚｕ−１）＝（１−Ａｂ）（｜Ｇｘ・Ｌｘ＋Ｇｙ・Ｌｙ＋Ｇｚ・Ｌｚ｜）／Ｇ＋Ａｂ
【００４９】
一方、〔数式２〕において算出されたＧの値がＧ＜１の場合、不透明度の勾配が存在しない均一な領域（背景部の空気中や肺野など）であるか、最外側であると考えられるため、陰影付加を行わず、輝度値Ｓ（ｘ，ｙ，ｚｕ−１）＝０とする。〔数式３〕において、｜Ｇｘ・Ｌｘ＋Ｇｙ・Ｌｙ＋Ｇｚ・Ｌｚ｜は、絶対値を示し、逆方向の光源ベクトル（−Ｌｘ，−Ｌｙ，−Ｌｚ）も仮想的に同時に照射し、被写体が逆向きのアングルになっても同一の輝度の拡散反射光が得られるようにしている。
【００５０】
そして、算出された輝度値Ｓ（ｘ，ｙ，ｚｕ−１）を用いて以下の〔数式４〕に従った処理を実行して、ボクセル画像の各ボクセル値Ｖ（ｘ，ｙ，ｚｕ−１，ｃ）を補正して、補正後の各ボクセル値Ｖ´（ｘ，ｙ，ｚｕ−１，ｃ）を得る。
【００５１】
〔数式４〕
Ｖ´（ｘ，ｙ，ｚｕ−１，ｃ）＝Ｓ（ｘ，ｙ，ｚｕ−１）・Ｖ（ｘ，ｙ，ｚｕ−１，ｃ）
【００５２】
〔数式４〕において、ｃ＝０，１，２であり、それぞれＲ，Ｇ，Ｂの色成分に対応する。すなわち、〔数式４〕においては、色成分のみを補正する。このようにして、ｚ＝ｚｕ―１の断層について陰影付加処理がなされた要素画像Ｖ´（ｘ，ｙ，ｚｕ−１，ｃ）が得られる。結局、陰影付加手段５０は、〔数式２〕〜〔数式４〕に従った処理を実行することにより、作成された各要素画像（ｚｕ−１）の各画素について、その要素画像に隣接する要素画像（ｚｕ，ｚｕ−２）を含むｘｙｚ軸方向の近傍に位置する画素の不透明度αを参照して、その要素画像（ｚｕ−１）の画素の色成分の値を補正し、陰影付加を行っている。本実施形態では、好ましい例として、不透明度αを参照する画素として隣接する画素を用いたが、隣接する画素に限定されず、近傍の他の画素を参照するようにしてもよい。
【００５３】
図６に示したステップＳ５４０では、（Ｚ１＋１）≦ｚ≦（Ｚ２−２）の各ｚ座標について、上記の陰影付加処理が行われる。また、図６に示したステップＳ５６０では、ｚ＝Ｚ１、ｚ＝Ｚ２−１、ｚ＝Ｚ２の３つの要素画像について、上記の陰影付加処理が行われる。
【００５４】
ステップＳ２０におけるボクセル画像作成処理を終了したら、ボクセル画像を３Ｄテクスチャ画像に登録する（ステップＳ６０）。具体的には、レンダリング手段７０が、３Ｄテクスチャマッピング方式を実行する際に用いられる３Ｄテクスチャ画像としてボクセル画像を登録する。
【００５５】
図８は３Ｄテクスチャマッピングにおける対応付けを示す図である。図８（ａ）は、テクスチャ座標系における３Ｄテクスチャマップ、図８（ｂ）は、ワールド座標系で定義される積層四角形を示す。積層四角形を構成する各四角形の４頂点には、３Ｄテクスチャ画像の４ボクセルが対応付られており、図８のように回転がかかっていない状態では、各四角形はテクスチャマップの基になっている断層画像、要素画像と１対１で対応しており、各四角形の４頂点は断層画像、要素画像の４隅の画素、ボクセルに対応付られている。
【００５６】
具体的には、図８（ｂ）に示すように、定義された積層四角形に対し、３Ｄテクスチャマッピングを行う。この場合、ワールド座標系（視点座標系に対応）における各四角形の４頂点の３次元ワールド座標とテクスチャ座標系（ボクセル座標系に対応）における３Ｄテクスチャ画像の３次元テクスチャ座標とを対応付ける。図８に示すように、（−１，−１，ｚ）、（−１，１，ｚ）、（１，−１，ｚ）、（１，１，ｚ）の４頂点で構成される四角形に対して、ワールド座標の（−１，−１，ｚ）は、テクスチャ座標（０，０，ｒ）に対応付けられている。
【００５７】
後述の通り、アングル変更の指示があると、図８（ａ）のテクスチャマップがテクスチャ座標系において３次元的に回転した、変換後３Ｄテクスチャ画像が生成されるため、各四角形と断層画像、要素画像との対応関係は崩れる。ボクセル画像を、ＯｐｅｎＧＬ（グラフィックＡＰＩ）を介して３Ｄテクスチャ画像として登録する。
【００５８】
続いて、レンダリング処理を行う（ステップＳ７０）。図９は、レンダリング手段７０の構成を示す図である。図９に示すように、レンダリング手段７０は、３Ｄテクスチャ登録手段７１、座標変換手段７２、積層四角形設定手段７３、画素値算出手段７４を有する。上述のように、レンダリング手段７０は、３Ｄテクスチャマッピング方式の場合は、ＣＰＵ１が補助しながら、主にＧＰＵ７においてプログラムを実行することにより実現されるが、特に処理負荷が大きい座標変換手段７２および画素値算出手段７４は、汎用コンピュータのビデオカードに搭載されているＧＰＵおよびフレームメモリを用いて実行するようにすることが好ましい。
【００５９】
３Ｄテクスチャマッピング方式の処理においては、まず投影画面を設定する。図１０は、本実施形態のレンダリング手段７０による投影画面設定の一例を示す説明図である。レンダリング手段７０は、レンダリング画像のスクリーンサイズ（縦横画素数、縦横アスペクト比率）を設定する。レンダリング手段７０は、平行投影（通常の外観レンダリング）又は透視投影（内視鏡モード）のいずれかを設定する。尚、「レンダリング画像」は「ボリュームレンダリング像」と同義で、「ボリュームレンダリング像」を「レンダリング画像」と表記する場合がある。そして、レンダリング手段７０は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度（焦点距離）、視点位置（視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともｚ軸上に設定される。一般に、注視点はワールド座標系の原点に固定）、クリッピング位置（視点からのｚ軸上の距離、近方及び遠方の２箇所）などを含む。なお、クリッピング位置は、近方だけでもよい。図１０に示すように、平行投影の場合には、視点からの視線は全てｚ軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、ｚ軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、視点が積層四角形の内部に入るため、レンダリング対象は近方クリッピングより遠方クリッピング（通常は積層四角形の視点から最も遠い四角形）までの範囲に制限されている。
【００６０】
図１１は３Ｄテクスチャマッピング方式によるレンダリング処理の詳細を示すフローチャートである。まず、図９の３Ｄテクスチャ登録手段７１が、ボクセル画像を３Ｄテクスチャ画像としてＯｐｅｎＧＬに登録する。次に、座標変換手段７２が、３Ｄテクスチャ画像に対して所定の座標変換を行って変換後３Ｄテクスチャ画像を生成する（Ｓ７１〜Ｓ７３）。
【００６１】
具体的には、座標変換手段７２は、所定の３次元座標系における回転を定義した４×４行列、視野角度、視点位置、クリッピング位置、ｘｙｚ各軸方向のオフセット値、ｘｙｚ各軸方向の拡大又は縮小倍率、ｚ軸方向変倍率を含む所定の座標変換のパラメータを取得し、３Ｄテクスチャ画像に対して、取得したパラメータを用いた所定の座標変換を行って変換後３Ｄテクスチャ画像を生成する。
【００６２】
個々のステップについて説明すると、座標変換手段７２は、３Ｄテクスチャ画像に対するスケーリング及びｚ軸方向変倍処理を行う（ステップＳ７１）。スケーリングはｘｙｚ軸方向に対して同一の倍率Ｓｃａｌｅで拡大または縮小をかけるが、ｚ軸方向変倍処理はｘｙ軸方向の解像度Ｒｘｙとｚ軸方向の解像度Ｒｚの相違を補正するため、ｚ軸方向のみに指定倍率Ｓｃｚ（＝Ｒｘｙ／Ｒｚ）で拡大または縮小をかける。そして、座標変換手段７２は、所定の３次元座標系における回転を定義した４×４行列を用いて３Ｄテクスチャ画像に対する回転処理を行う（ステップＳ７２）。
【００６３】
そして、座標変換手段７２は、ｘｙｚ各軸方向のオフセット値（Ｘｏｆｆ，Ｙｏｆｆ，Ｚｏｆｆ）を用いて３Ｄテクスチャ画像に対するオフセット処理を行う（ステップＳ７３）。これらの処理（Ｓ７１〜Ｓ７３）により、変換後３Ｄテクスチャ画像が生成される。次に、積層四角形設定手段７３は、複数の四角形で構成される積層四角形を設定する（ステップＳ７４）。具体的には、３次元空間のｘｙ座標面上の四角形をｚ軸方向に並べた積層四角形を設定する。３Ｄテクスチャマッピングを設定する場合、積層四角形設定手段７３は、複数のｘｙ平面画像の数と同数の四角形をｚ軸方向に並べた積層四角形を設定する。
【００６４】
積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、ｚ軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。そして、図８で示されるように、各四角形の４頂点に対して、対応する変換後３Ｄテクスチャ画像における４箇所のボクセル座標を定義することにより、変換後３Ｄテクスチャ画像との対応付けを行う（ステップＳ７５）。定義するボクセル座標は、不透明度付色成分ボクセル画像の座標系ではなく、ＯｐｅｎＧＬのテクスチャ座標系（ｒ，ｓ，ｔの３軸方向に対し０から１の範囲の実数値）に基づいたものである。
【００６５】
具体的には、図８（ｂ）に示すように、定義された積層四角形に対し、３Ｄテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の４頂点の３次元ワールド座標とテクスチャ座標系における３Ｄテクスチャ画像の３次元テクスチャ座標とを対応付ける。図８に示すように、（−１，−１，ｚ）、（−１，１，ｚ）、（１，−１，ｚ）、（１，１，ｚ）の４頂点で構成される四角形に対して、ワールド座標の（−１，−１，ｚ）は、テクスチャ座標（０，０，ｒ）に対応付けられている。
【００６６】
次に、画素値算出手段７４は、所定の視点からｚ軸方向に平行な視線上の最も遠い四角形から視点に最も近い四角形の順にスキャンコンバージョン（四角形内部の塗りつぶし）を行う（ステップＳ７６）。この時、各四角形に貼りついている変換後３Ｄテクスチャ画像のボクセルの色成分（Ｒ，Ｇ，Ｂ）に基づいて四角形内部を塗りつぶすとともに、同一画素に塗り重ねる際、変換後３Ｄテクスチャ画像のボクセルの不透明度に基づいてアルファブレンディングを併せて行う。このように、積層四角形のｘｙｚ座標に対応する変換後３Ｄテクスチャ画像のボクセルの（Ｒ，Ｇ，Ｂ）で構成される色成分（Ｒ，Ｇ，Ｂ）をボクセルの不透明度に基づいて視点から遠い四角形の順にアルファブレンディングして得られた（Ｒ，Ｇ，Ｂ）で構成される色成分を、ボリュームレンダリング像の画素値として与える。これにより、ボリュームレンダリング像が得られる。
【００６７】
より具体的には、あらかじめレンダリング画像の画素値（ＲＧＢ値）は全て背景色（例えば、Ｒ＝Ｇ＝Ｂ＝０）で初期化しておく。画素値算出手段７４は、視点から最も遠い四角形に対して、貼り付いている変換後３Ｄテクスチャ画像を参照しながら、スキャンコンバージョンを行う。図１０で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系におけるｘｙｚ座標の（−１，−１，−１）からｘ軸方向及びｙ軸方向に、投影されたレンダリング画像に対して塗り潰す画素の座標を（ｉ，ｊ）とし、レンダリング画像における画素間隔に対応する間隔ｕ（レンダリング画像の１画素に対応するワールド座標の間隔をｕとする。例えばｕ＝０．００２）でスキャンコンバージョンを行う。スキャンコンバージョンされた、各ワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１）（ｉ，ｊはレンダリング画像の座標値で、例えば０≦ｉ，ｊ≦５１１の整数）において、各々対応するテクスチャ座標（２ｉｕ，２ｊｕ，０）を算出し、算出したテクスチャ座標に基づいて変換後３Ｄテクスチャ画像を参照し色成分の値（ＲＧＢ値）及び不透明度を取得して、対応するレンダリング画像の座標（ｉ，ｊ）に既に記録されている画素値（ＲＧＢ値）と取得した不透明度に基づいてアルファブレンディング処理を行い、対応するレンダリング画像の座標（ｉ，ｊ）の画素値を更新する。
【００６８】
このようにして、視点から最も遠い単一の四角形が投影されるレンダリング画像の対応する全ての画素についてアルファブレンディング処理が終了すると、ｚ座標をｖ（四角形がｚ軸方向に配置されているワールド座標の間隔をｖとする。例えば、ｖ＝２／Ｓｚ）だけ増やし、視点方向に次に近い四角形（−１＋ｉｕ，−１＋ｊｕ，−１＋ｖ）について同様の処理を繰り返してレンダリング画像を更新する。全ての四角形についてスキャンコンバージョンしてワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）（ｋは四角形の番号で、０≦ｋ≦Ｓｚ−１の整数）に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。アルファブレンディング処理は、以下の〔数式５〕に従った処理として行われる。
【００６９】
〔数式５〕
Ｒ´＝Ｒ・α＋（１−α）・Ｒｂ
Ｇ´＝Ｇ・α＋（１−α）・Ｇｂ
Ｂ´＝Ｂ・α＋（１−α）・Ｂｂ
【００７０】
ここで、Ｒ′、Ｇ′、Ｂ′は、投影面において更新されるレンダリング画像の画素値（ＲＧＢ値）である。Ｒ、Ｇ、Ｂは、四角形のワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応する変換後３Ｄテクスチャ画像のボクセル（２ｉｕ，２ｊｕ，２ｋｖ）における色成分（ＲＧＢ値）であり、重ねる色の値に相当する。αも、四角形のワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応する変換後３Ｄテクスチャ画像のボクセル（２ｉｕ，２ｊｕ，２ｋｖ）におけるα値であり、重ねる割合を制御する。また、Ｒｂ、Ｇｂ、Ｂｂは、ワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応するレンダリング画像の座標（ｉ，ｊ）に既に記録されている画素値（ＲＧＢ値）であり、当該四角形に対して視点と反対側に１つ前に位置する四角形に対して上記〔数式５〕に基づいて算出されたＲ′、Ｇ′、Ｂ′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色（例えば、Ｒｂ＝Ｇｂ＝Ｂｂ＝０）が与えられる。以上のようにして得られたレンダリング画像をレンダリング画像出力手段８０が出力することにより、ボリュームレンダリング像が認識される。
【００７１】
図１２、図１３は、各々クリッピング設定、マスク設定のいずれかを行ったレンダリング画像の表示例を示す図である。図１２（ａ）と図１３（ａ）は、クリッピング設定を行ったもので、同一視点位置から見た画像である。また、図１２（ｂ）と図１３（ｂ）は、マスク設定を行ったもので、同一視点位置から見た画像である。図１２（ａ）のレンダリング画像は、境界面を含むクリッピング領域の全てボクセルの色値および不透明度αを０に設定した場合で、図１３（ａ）のレンダリング画像は、境界面を含むクリッピング領域の全てボクセルの不透明度αのみを０に設定し、色値は元のままにした場合ある。図１２（ａ）と図１３（ａ）を比較すると、色値までクリッピング設定を行った場合は、図１２（ａ）に示すようにモアレが発生するが、色値に対してはクリッピング設定を行わなかった場合は、図１３（ａ）に示すようにモアレが目立たなくなることがわかる。色値に対してクリッピング設定を行った場合と行わない場合とでは、処理負荷にほとんど変化はなかった。図１２（ｂ）のレンダリング画像は、境界面を含むマスク領域の全てボクセルの色値および不透明度αを０に設定した場合で、図１３（ｂ）のレンダリング画像は、境界面を含むマスク領域の全てボクセルの不透明度αのみを０に設定し、色値は元のままにした場合ある。また、図１２（ｂ）と図１３（ｂ）を比較すると、色値までマスク設定を行った場合は、図１２（ｂ）に示すようにモアレが発生するが、色値に対してはマスク設定を行わなかった場合は、図１３（ｂ）に示すようにモアレが目立たなくなることがわかる。色値に対してマスク設定を行った場合と行わない場合とでは、処理負荷にほとんど変化はなかった。クリッピング境界面やマスク境界面のモアレ処理として境界面外の不透明度αの値を０に設定することにより、処理負荷を抑制しながらモアレを抑制することができる。クリッピング境界面やマスク境界面のモアレ処理としては、不透明度α＝０である透明なボクセルの色値の補間処理や、近傍のボクセルを参照して不透明度を平滑化する処理を適用する方法も存在する。しかしながら、これらの処理を用いた場合には一定量の処理負荷がかかるため、処理の高速化を目的とする場合には、本願で提案するように、境界面外の不透明度αの設定の方が好ましい。
【００７２】
上述のように、本実施形態に係るボリュームレンダリング装置１００では、マルチコアＣＰＵであるＣＰＵ１がプログラムを実行することにより、レンダリング手段７０が実現される。このプログラムは、読み込んだ断層画像を複数（例えばＮ個）の断層画像群に分割し、各ＣＰＵスレッドに各断層画像群を割り当てて、各ＣＰＵスレッドが各断層画像群に対応する要素画像群を作成する処理を並行して行う。ボリュームレンダリング装置１００を、汎用的なコンピュータであるパソコンで実現した場合について説明する。図１４は、コンピュータによりボリュームレンダリング装置１００を実現する場合の並列化処理を示す図である。図１４に示すように、レンダリング手段７０が、アプリケーションプログラムにより実現され、例えばＮ＝４個の断層画像群に分割する場合、アプリケーションプログラムは、４個の各断層画像群に対する処理を４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４に分割する。そして、レンダリング手段７０（アプリケーションプログラム）が稼働するマルチタスク・オペレーティングシステムのジョブスケジューラが、複数のＣＰＵコアが有するＣＰＵスレッド＃１〜ＣＰＵスレッド＃８に割り当てる。
【００７３】
図１５は、コンピュータによりボリュームレンダリング装置１００を実現する場合の並列化処理のソフトウェアによる流れを示す図である。図１５に示すように、レンダリング手段７０を実現するアプリケーションプログラムは、４個の各要素画像群に対する処理を４つの処理スレッド♯ｎ１〜処理スレッド♯ｎ４に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、４つのスレッド♯ｎ１〜スレッド♯ｎ４を複数のＣＰＵコアが有するＣＰＵスレッド＃３、ＣＰＵスレッド＃５、ＣＰＵスレッド＃７、ＣＰＵスレッド＃２、にそれぞれ割り当てる。このようにして、オペレーティングシステムにより空いているＣＰＵコアのＣＰＵスレッドに、処理すべき処理スレッドが割り当てられるため、並列処理が可能となる。図１５の例では、アプリケーションプログラムが各ＣＰＵスレッドからの終了メッセージを待ち、全てのＣＰＵスレッドから終了メッセージが得られたら、作成された要素画像群を統合したボクセル画像を作成する。そして、一括してレンダリング処理した後、レンダリング画像を表示部６に出力し、表示を行う。
【００７４】
４コア構成のＣＰＵ(Intel CORE-i7)が実装されているWindows10/64bitsのパーソナルコンピュータで実測した結果、図１５の構成ではシングルスレッド実行時(512×512×370のフル解像度画像のＣＰＵによるボクセル生成時間：約0.9sec)の１．５倍弱程度の処理速度が得られた (同生成時間：約0.6sec)。しかし、一部のＣＰＵスレッドに処理待ちが生じた。そこで、要素画像群の分割数をＮ＝８に上げて、８処理スレッドで並列処理を行ったところ、シングルスレッド実行時のほぼ２倍の処理性能が得られた(同生成時間：約0.45sec)。さらに、Ｎ＞８に上げて実験した結果、処理性能は殆ど変化せず２倍で頭打ちであり、各スレッド間で共有メモリへのアクセス待ちが発生し所望の並列化効果が十分得られていなかった。一方、ボクセル画像作成後のレンダリング処理Ｓ７０はＧＰＵ７で実行され、512×512のフル解像度のレンダリング画像の生成時間は約0.015secであった。
【００７５】
＜３．Ｋ分の１の間引き＞
上記ボリュームレンダリング装置では、ボクセル画像作成手段３０が、複数の断層画像の総画素数と同数のボクセルによるボクセル画像を作成するようにしたが、ボクセルを間引いてボクセル数を少なくしたボクセル画像を作成するようにしてもよい。その場合、ボクセル画像作成手段３０は、複数の断層画像の２次元のｘｙ軸方向、断層画像と直交するｚ軸方向の三軸の各軸方向において、Ｋ画素おきに対応付けて３次元に配置した各ボクセルに対して、そのボクセルの信号値を色成分および不透明度αに置き換え、ボクセル値として色成分および不透明度が定義された不透明度ボクセル画像を作成する。例えば、Ｋ＝２とした場合、ｘｙｚ軸方向を各々１／２に間引くことができるため、処理するボクセル数が１／８となり、高速な処理を行うことができる。これにより、利用者が、指示入力Ｉ／Ｆ４を介して対話的に、カラーマップを連続的に切り替えた場合であっても、画質が粗いボリュームレンダリング像を順次表示させて、カラーマップの更新に追従させながらボリュームレンダリング像を表示することができる。
【００７６】
＜４．断層画像の階調落とし＞
上記実施形態では、各画素が１６ビットの信号値を記録した断層画像をそのまま用いてボクセル画像を作成するようにしたが、断層画像を８ビットに階調変換して階調低下画像を作成した後、ボクセル画像を作成するようにしてもよい。断層画像を８ビットに階調変換することにより、各画素の処理における負荷を削減することができ、ボリュームレンダリング像の高速な生成に寄与する。
【００７７】
この場合、断層画像階調変換手段を更に設け、断層画像読込手段１０が単一の断層画像を読み込むごとに、階調変換を行う。具体的には、一連のＤＩＣＯＭ形式の断層画像Ｄｏ（ｘ，ｙ，ｚ）（−３２７６８≦Ｄｏ（ｘ，ｙ，ｚ）≦３２７６７，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）の中で、Ｓｚ／２番目の中間の断層画像Ｄｏ（ｘ，ｙ，ｚ／２）を最初に読み込み、同断層画像における全ての画素の最小値をＤｍｉｎ、最大値をＤｍａｘとする。ＤｍｉｎとＤｍａｘは全ての断層画像より最小値と最大値を求める方法をとっても良いが、中間の断層画像だけで決定する方法をとると、大容量の１６ビットの原断層画像の全てのスライス分を読み込んでメモリ上に保持することなく、階調低下画像である階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）だけをメモリ上に直接構築できる。続いて、以下の〔数式６〕に従った処理を実行して、下限値Ｌｍｉｎ および上限値Ｌｍａｘを算出する。
【００７８】
〔数式６〕
下限値Ｌｍｉｎ＝(Ｄｍａｘ−Ｄｍｉｎ)・γ＋Ｄｍｉｎ
上限値Ｌｍａｘ＝(Ｄｍａｘ−Ｄｍｉｎ)・(１−γ)＋Ｄｍｉｎ
【００７９】
〔数式６〕において、γは階調圧縮画像のコントラスト調整幅で、０に近いほどコントラストが増大するが輝度が小さくなる。γは０．３未満の実数値であるが、通常はγ＝０．１に設定する。レンダリング画像の輝度コントラストはカラーマップなど種々の設定で調整できるので、γは固定で良い。そして、下限値Ｌｍｉｎおよび上限値Ｌｍａｘの範囲を２５６段階に圧縮して階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）を得る。具体的には、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）（０≦Ｄ８（ｘ，ｙ，ｚ）≦２５５，０≦ｘ≦Ｓｘ−１，０≦ｙ≦Ｓｙ−１，０≦ｚ≦Ｓｚ−１; 解像度：Ｒｘｙ，Ｒｚ）としたとき、以下の〔数式７〕に従った処理を実行して、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ） を算出する。
【００８０】
〔数式７〕
Ｄ８（ｘ，ｙ，ｚ）＝（Ｄｏ（ｘ，ｙ，ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）
Ｄ８（ｘ，ｙ，ｚ）＞２５５の場合：Ｄ８（ｘ，ｙ，ｚ）＝２５５、Ｄ８（ｘ，ｙ，ｚ）＜０の場合：Ｄ８（ｘ，ｙ，ｚ）＝０
【００８１】
〔数式７〕の第２式に示すように、信号値が上限値Ｌｍａｘを超える場合は２５５、下限値Ｌｍｉｎを下回る場合は０として、下限値Ｌｍｉｎから上限値Ｌｍａｘの範囲を０から２５５に線形変換する。なお、階調圧縮断層画像を用いてボクセル画像を作成する場合、図５のカラーマップに代えて、階調低下画像用のカラーマップとして、８ビットの信号値用のカラーマップを用意しておく。具体的には、信号値０〜２５５に対応付けてＲ，Ｇ，Ｂ、αが記録されたカラーマップを用いる。
【００８２】
以上、本開示の好適な実施形態について説明したが、本開示は上記実施形態に限定されず、種々の変形が可能である。本開示の趣旨を逸脱しない範囲で変更された態様は、本開示の技術的範囲に含まれる。
【符号の説明】
【００８３】
１・・・ＣＰＵ（Central Processing Unit）
２・・・ＲＡＭ（Random Access Memory）
３・・・記憶装置
４・・・指示入力Ｉ／Ｆ
５・・・データ入出力Ｉ／Ｆ
６・・・表示部
７・・・ＧＰＵ
８・・・フレームメモリ
１０・・・断層画像読込手段
１５・・・カラーマップ読込手段
２０・・・ＲＯＩクリッピング設定手段
２５・・・マスク設定手段
３０・・・ボクセル画像作成手段
４０・・・不透明度補正手段
５０・・・陰影付加手段
７０・・・レンダリング手段
７１・・・３Ｄテクスチャ登録手段
７２・・・座標変換手段
７３・・・積層四角形設定手段
７４・・・画素値算出手段
８０・・・レンダリング画像出力手段
１００・・・ボリュームレンダリング装置
【図１】
2020038592.tif 000003
【図２】
2020038592.tif 000004
【図３】
2020038592.tif 000005
【図４】
2020038592.tif 000006
【図５】
2020038592.tif 000007
【図６】
2020038592.tif 000008
【図７】
2020038592.tif 000009
【図８】
2020038592.tif 000010
【図９】
2020038592.tif 000011
【図１０】
2020038592.tif 000012
【図１１】
2020038592.tif 000013
【図１２】
2020038592.tif 000014
【図１３】
2020038592.tif 000015
【図１４】
2020038592.tif 000016
【図１５】
2020038592.tif 000017