(57)【要約】      （修正有）【課題】モアレを抑制するコンピュータプログラムを提供する。【解決手段】ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、ボクセル構造体の不透明度が所定値である対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値を補正し、ＲＧＢ値が補正されたボクセルで構成される３Ｄテクスチャ画像を生成し、３Ｄテクスチャ画像に所定の変換を行って変換後３Ｄテクスチャ画像を生成し、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定し、所定の視点からＺ軸方向に平行な視線上の四角形のＸＹ座標に対応する変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値をアルファブレンディングして得られたＲＧＢ値に基づいてレンダリング画像を生成する。【選択図】図９
2019114035.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、
前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、
前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と、
ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する処理と、
前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、
３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、
所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行させるコンピュータプログラム。
【請求項２】
コンピュータに、
前記複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、
生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１に記載のコンピュータプログラム。
【請求項３】
コンピュータに、
前記複数のｘｙ平面画像の数及び前記ダミーｘｙ平面画像の数の合計値と同数の前記四角形をＺ軸方向に並べた積層四角形を設定する処理を実行させる請求項２に記載のコンピュータプログラム。
【請求項４】
コンピュータに、
前記複数のｘｙ平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、
生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１から請求項３のいずれか一項に記載のコンピュータプログラム。
【請求項５】
コンピュータに、
ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する処理と、
前記ボクセル構造体のボクセルのうちｘｙｚ座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１から請求項４のいずれか一項に記載のコンピュータプログラム。
【請求項６】
コンピュータに、
前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルを特定する処理と、
特定した近傍ボクセルのＲＧＢ値の統計値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１から請求項５のいずれか一項に記載のコンピュータプログラム。
【請求項７】
コンピュータに、
前記複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び該注目画素のｘｙｚ方向の近傍画素の画素値に基づいて、前記一のｘｙ平面画像を平滑化する処理と、
平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と
を実行させる請求項１から請求項６のいずれか一項に記載のコンピュータプログラム。
【請求項８】
コンピュータに、
前記複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値及び最大値を特定する処理と、
特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
前記複数のｘｙ平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
圧縮した前記複数のｘｙ平面画像それぞれの任意の注目画素及び前記近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理と
を実行させる請求項７に記載のコンピュータプログラム。
【請求項９】
コンピュータに、
画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する処理と、
前記平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルのＲＧＢ値及び不透明度に前記カラーマップデータのＲＧＢ値及び不透明度を対応付けてボクセル構造体を生成する処理と
を実行させる請求項７又は請求項８に記載のコンピュータプログラム。
【請求項１０】
コンピュータに、
前記視線上の前記四角形のＸＹ座標に対応する前記３Ｄテクスチャ画像のｘｙｚ座標を算出する処理と、
算出したｘｙｚ座標に対応する前記変換後３Ｄテクスチャ画像のｘｙｚ座標に対応するボクセルのＲＧＢ値及び不透明度に基づいてアルファブレンディングする処理と
を実行させる請求項１から請求項９のいずれか一項に記載のコンピュータプログラム。
【請求項１１】
コンピュータに、
前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
算出した陰影値に基づいて前記ボクセル構造体のボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１から請求項１０のいずれか一項に記載のコンピュータプログラム。
【請求項１２】
コンピュータに、
前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理と
を実行させる請求項１１に記載のコンピュータプログラム。
【請求項１３】
コンピュータに、
前記勾配ベクトルのｚ軸方向の成分を所定の変倍率で補正する処理を実行させる請求項１１又は請求項１２に記載のコンピュータプログラム。
【請求項１４】
コンピュータに、
前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と
を実行させる請求項１１から請求項１３のいずれか一項に記載のコンピュータプログラム。
【請求項１５】
コンピュータに、
ｘ軸中心、ｙ軸中心及びｚ軸中心の回転角、視野角度、視点位置、クリッピング位置、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、
前記３Ｄテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と
を実行させる請求項１から請求項１４のいずれか一項に記載のコンピュータプログラム。
【請求項１６】
コンピュータに、
前記変換後３Ｄテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をＧＰＵに出力する処理を実行させる請求項１から請求項１５のいずれか一項に記載のコンピュータプログラム。
【請求項１７】
３Ｄテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、
ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する取得部と、
前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成するボクセル構造体生成部と、
前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する色補正部と、
ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する３Ｄテクスチャ画像生成部と、
前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成する変換後３Ｄテクスチャ画像生成部と、
３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する設定部と、
所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部と
を備える画像処理装置。
【請求項１８】
３Ｄテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、
ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得し、
前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、
前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正し、
ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成し、
前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成し、
３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する設定部と、
所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する画像処理方法。
【請求項１９】
ボクセル構造体のボクセルデータであって、
ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、
前記ボクセルデータは、
前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含み、
前記ボクセル構造体のボクセルで構成される３Ｄテクスチャ画像に対して、所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、
３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、
所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
を実行するのに用いられるボクセルデータ。
【請求項２０】
前記ボクセル構造体は、
前記複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、不透明度が前記所定値とされたボクセルであるダミーボクセルを含み、
前記ボクセルデータは、
前記ダミーボクセルが付加されたボクセル構造体の不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む請求項１９に記載のボクセルデータ。
【請求項２１】
前記ボクセル構造体は、
前記複数のｘｙ平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含み、
前記ボクセルデータは、
前記ボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む請求項１９又は請求項２０に記載のボクセルデータ。
【請求項２２】
前記ボクセル構造体は、
ボリュームレンダリング処理の対象領域外であって、不透明度に前記所定値が設定されたボクセルを含み、
前記ボクセルデータは、
前記所定値が設定されたボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む請求項１９から請求項２１のいずれか一項に記載のボクセルデータ。
【請求項２３】
前記ボクセルデータは、
前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルのＲＧＢ値の統計値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む請求項１９から請求項２２のいずれか一項に記載のボクセルデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータに関する。
【背景技術】
【０００２】
医療分野においては、ＣＴ（Computed Tomography）、ＭＲＩ（Magnetic Resonance Imaging）、ＰＥＴ（Positron Emission Tomography）などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、ＤＩＣＯＭ（Digital Imaging and COmmunications in Medicine）形式で保管された２次元の断層画像に基づいて、臓器等の観察対象物を３次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。
【０００３】
観察対象物の内部組織を３次元画像表示する代表的な手法としてボリュームレンダリング手法が知られている。ボリュームレンダリング手法としては、レイキャスティング及びテクスチャベースのレンダリングが知られている。特許文献１には、複数の断層画像を積層して３次元ボクセル空間を構築し、３次元ボクセル空間に対して任意の視点方向からレイ（仮想光線）を照射し、視線上にあるサンプリング点において色及び輝度値を視線に沿って累積計算するレイキャスティングが開示されている。具体的には、視点方向が３次元座標軸のＺ軸と平行になるように座標変換を施し、座標変換後の３次元ボクセル空間に対して、Ｚ軸方向にレイを照射し、ＸＹ平面上の投影面（スクリーン）に、投影結果をピクセル値として算出するものである。
【０００４】
また、特許文献２には、テクスチャマッピング機能とアルファブレンディング機能を用いてボリュームデータ全体をスライスデータの積み重ねで表現することにより、グラフィックスハードウェアのポリゴン表示機能を利用するテクスチャベースのレンダリングが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１７５７４３号公報
【特許文献２】特許第３５８９６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び特許文献２に開示された座標変換は一般に実数演算で行われるが、座標変換後の座標値はボクセル座標という離散的な値に整数化され、この過程で丸め誤差が累積し、周期的なパターンが生成される。この周期的なパターンは単一のスライス画像では肉眼では認識できない微弱なものであるが、本願のように複数のスライス画像が積層された画像を合成しようとすると、たとえ各スライス画像が座標変換によりずれていても、パターンの周期性の位相条件を満たせば干渉縞が生成され、肉眼的に顕著なモアレとして認識される。特に、テクスチャベースのレンダリングでは、レイキャスティングに比べて積層される画像の枚数が多くなるため、モアレが発生しやすい。このようなモアレが発生すると、画質が低下し、病変部が判別しにくくなり、あるいはモアレを誤って病変部と判別する可能性が生じる。
【０００７】
本開示は、斯かる事情に鑑みてなされたものであり、モアレを抑制することができるコンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータを明らかにする。
【課題を解決するための手段】
【０００８】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と、ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する処理と、前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【発明の効果】
【０００９】
本開示によれば、モアレを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態の画像処理装置としてのレイキャスティング装置の構成の一例を示すブロック図である。
【図２】ＤＩＣＯＭ形式の断層画像の一例を示す模式図である。
【図３】本実施の形態のカラーマップデータの第１例を示す説明図である。
【図４】本実施の形態のカラーマップデータの第２例を示す説明図である。
【図５】本実施の形態の３Ｄテクスチャマッピング装置による階調圧縮処理の一例を示す説明図である。
【図６】本実施の形態の３Ｄテクスチャマッピング装置による平滑化処理の一例を示す説明図である。
【図７】本実施の形態の３Ｄテクスチャマッピング装置による３Ｄテクスチャマッピングの概念を示す模式図である。
【図８】本実施の形態の３Ｄテクスチャマッピング装置による３Ｄテクスチャマッピング処理の手順の一例を示すフローチャートである。
【図９】本実施の形態の３Ｄテクスチャマッピング装置による３Ｄテクスチャマッピング処理の手順の一例を示すフローチャートである。
【図１０】本実施の形態の３Ｄテクスチャマッピング装置によるＲＯＩクリッピング領域外のボクセルの透明化処理の一例を示す説明図である。
【図１１】本実施の形態の３Ｄテクスチャマッピング装置によるダミー透明画像付加処理の一例を示す説明図である。
【図１２】本実施の形態の３Ｄテクスチャマッピング装置による断層画像の外縁部のボクセルの透明化処理の一例を示す説明図である。
【図１３】本実施の形態の３Ｄテクスチャマッピング装置による投影画面設定の一例を示す説明図である。
【図１４】本実施の形態の３Ｄテクスチャマッピング装置による透明ボクセルの色補間処理の手順の一例を示すフローチャートである。
【図１５】本実施の形態の３Ｄテクスチャマッピング装置によるレンダリング処理の手順の一例を示すフローチャートである。
【図１６】３Ｄテクスチャマッピングとの対応付け方法の一例を示す説明図である。
【図１７】本実施の形態の画像処理部の構成の他の例を示すブロック図である。
【図１８】曲線状のモアレが発生する様子の一例を示す模式図である。
【図１９】本実施の形態の３Ｄテクスチャマッピング装置によるモアレ対策結果の第１例を示す説明図である。
【図２０】ストライプ・格子状のモアレが発生する様子の一例を示す模式図である。
【図２１】座標変換時の丸め誤差の発生の様子の一例を示す説明図である。
【図２２】座標変換により周期パターンの発生の様子の一例を示す模式図である
【図２３】本実施の形態の３Ｄテクスチャマッピング装置による色補間の様子の一例を示す模式図である。
【図２４】本実施の形態の３Ｄテクスチャマッピング装置によるモアレ対策結果の第２例を示す説明図である。
【図２５】本実施の形態の３Ｄテクスチャマッピング装置によるモアレ対策結果の第３例を示す説明図である。
【図２６】本実施の形態の３Ｄテクスチャマッピング装置によるモアレ対策結果の第４例を示す説明図である。
【図２７】本実施の形態の３Ｄテクスチャマッピング装置によるモアレ対策結果の第５例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、本開示の実施の形態を図面に基づいて説明する。図１は本実施の形態の画像処理装置としての３Ｄテクスチャマッピング装置１００の構成の一例を示すブロック図である。本実施の形態の３Ｄテクスチャマッピング装置１００は、入力部１０、記憶部１１、出力部１２、画像処理部２０などを備える。画像処理部２０は、階調圧縮処理部２１、平滑化処理部２２、ボクセル構造体生成部２３、変換処理部２４、レンダリング処理部２５、３Ｄテクスチャ画像生成部２６、積層四角形設定部２７、色補間部２８、ＲＯＩ（Region of Interest）クリッピング処理部２９などを備える。
【００１２】
入力部１０は、取得部としての機能を有し、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する。より具体的には、入力部１０は、観察対象物（例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位）に対して所定の間隔で断層撮影された複数の２次元の断層画像のＤＩＣＯＭ（Digital Imaging and COmmunications in Medicine）形式の画像データを取得する。
【００１３】
図２はＤＩＣＯＭ形式の断層画像の一例を示す模式図である。図２に示すようにｘｙｚ軸を設定した場合、ｘｙ平面画像である２次元の断層画像が、ｚ軸方向に沿って複数並んでいる。Ｓｘはｘ軸方向の画素数であり、Ｓｙはｙ軸方向の画素数であり、Ｓｚは断層画像の枚数である。なお、Ｓｚはｚ軸方向の画素数を表す。Ｒｘｙはｘ方向及びｙ方向の解像度であり、画素の間隔の逆数、すなわち単位距離あたりの画素数を示す。ｘ軸方向とｙ軸方向の解像度は等しいが、異なっていてもよい。Ｒｚはｚ軸方向の解像度であり、隣り合う断層画像の間隔の逆数、すなわち単位距離あたりの画像数を表す。各断層画像の座標（ｘ，ｙ，ｚ）での画素値をＤｏ（ｘ，ｙ，ｚ）で現す。Ｄｏ（ｘ，ｙ，ｚ）は、−３２７６８以上、３２７６７以下の値を取り得る。画素値Ｄｏ（ｘ，ｙ，ｚ）は、例えば、ＣＴ画像の場合、水が０を示し、水よりも密度の高い組織（例えば、骨など）は正値となり、水よりも密度の低い組織（例えば、脂肪組織など）は負値となる。断層画像の座標（ｘ，ｙ，ｚ）において、ｘ座標は０以上、Ｓｘ−１以下の値をとり、ｙ座標は０以上、Ｓｙ−１以下の値をとり、ｚ座標は０以上、Ｓｚ−１以下の値をとる。
【００１４】
また、入力部１０は、画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する。
【００１５】
図３は本実施の形態のカラーマップデータの第１例を示す説明図である。第１例のカラーマップデータをＣｍａｐ（ｖ，ｃ）で示す。変数ｖは、Ｄｏ（ｘ，ｙ，ｚ）の画素値を示し、Ｄｏ（ｘ，ｙ，ｚ）の範囲と同様に、−３２７６８以上、３２７６７以下の範囲内の数値を表す。変数ｃは、０、１、２、３の値を含み、ｃ＝０は、ＲＧＢのＲ値を示し、ｃ＝１はＧ値を示し、ｃ＝２はＢ値を示す。ｃ＝３は不透明度αを示す。Ｃｍａｐ（ｖ，ｃ）は、０以上、２５５以下の数値を取り得る。図３に示すように、カラーマップデータは、スライス画像の画素値Ｄｏ（ｘ，ｙ，ｚ）とＲＧＢ値及び不透明度αとの関係を定義するものである。例えば、画素値Ｄｏ（ｘ，ｙ，ｚ）が３２７６７の場合、Ｒ値はＲ（３２７６７）となり、Ｇ値はＧ（３２７６７）となり、Ｂ値はＢ（３２７６７）となり、不透明度はα（３２７６７）となる。ここで、Ｒ（３２７６７）、Ｇ（３２７６７）、Ｂ（３２７６７）、及びα（３２７６７）は、画素値３２７６７に対応していることを便宜上示すものであり、実際には適切な数値となる。また、カラーマップデータは、−３２７６８から３２７６７までの全ての画素値に対して定義する必要はなく、ＣＴ画像の場合、通常は−２０４８から２０４８の範囲をとるように調整されるため、−３２７６８から−２０４８の範囲、および２０４８から３２７６７の範囲のＲＧＢ値及び不透明度は全て０に設定するようにしてもよい。
【００１６】
図４は本実施の形態のカラーマップデータの第２例を示す説明図である。第２例のカラーマップデータをＣｍａｐ８（ｖ，ｃ）で示す。後述するように、ＤＩＣＯＭ画像を、例えば、１６ビットから８ビットへ階調圧縮した場合、画素値を、−３２７６８以上、３２７６７以下の範囲から、０以上、２５５以下の範囲とすることができる。Ｃｍａｐ８（ｖ，ｃ）の変数ｖは、０以上、２５５以下の範囲内の数値となる。変数ｃは第１例と同様である。
【００１７】
カラーマップデータＣｍａｐ（ｖ，ｃ）、Ｃｍａｐ８（ｖ，ｃ）を用いることにより、例えば、人体の部位毎に異なる色を付すだけでなく、部位ごとに不透明度を設定することができ、手前に位置する臓器を透明にして奥に隠れている臓器を描出するなど、観察対象を認識しやすくすることができる。
【００１８】
また、入力部１０は、ｘ軸中心の回転角、ｙ軸中心の回転角、ｚ軸中心の回転角、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率、及び注視点から視点までの距離を含む座標変換のパラメータ、ｘｙｚ方向のＲＯＩ（Region of Interest：関心領域）の値、並びに透視変換パラメータなどを取得する。座標変換のパラメータ、ＲＯＩ値、透視変換パラメータの詳細は後述する。
【００１９】
記憶部１１は、入力部１０で取得したデータ、画像処理部２０での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ＲＯＩ値、透視変換パラメータなどを予め記憶部１１に記憶する構成でもよい。
【００２０】
出力部１２は、画像処理部２０での処理結果、例えば、レンダリング処理部２５で生成したレンダリング画像の画像データを表示装置（不図示）に出力する。
【００２１】
階調圧縮処理部２１は、ＤＩＣＯＭ形式の断層画像を、例えば、８ビットの階調圧縮断層画像にする。
【００２２】
図５は本実施の形態の３Ｄテクスチャマッピング装置１００による階調圧縮処理の一例を示す説明図である。階調圧縮処理部２１は、複数の断層画像のうちの所定の断層画像の画素の最小値及び最大値を特定する。例えば、１からＳｚまでの断層画像のうち、Ｓｚ／２番目の中間の断層画像における全ての画素の最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定することができる。なお、所定のスライス画像としては、本来は全てのスライス画像における全ての画素の最小値及び最大値を特定する方法が正確である。しかし、その場合は、一旦全ての大容量の１６ビットのＤＩＣＯＭ形式の断層画像をメモリに保持する必要が生じ、階調圧縮効果が半減する。また、この最小値Ｄｍｉｎ及び最大値Ｄｍａｘは階調圧縮のパラメータに使用するだけで、８ビットの階調圧縮断層画像の精度には直接影響しない。そこで、単一のスライス画像の画素の最小値及び最大値を用いて、おおまかに特定する方法をとる。ただし、先頭のスライス画像では被写体が適切に映っていない場合が多いため、中間のスライス画像だけで最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定する方法をとる。これにより、大容量の１６ビットのＤＩＣＯＭ形式の断層画像をメモリに保持することなく８ビットの階調圧縮断層画像だけをメモリに直接構築することができる。
【００２３】
８ビットの階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）は、Ｄ８（ｘ，ｙ，ｚ）＝（Ｄｏ（ｘ，ｙ，ｚ）−Ｌｍｉｎ）・２５５／（Ｌｍａｘ−Ｌｍｉｎ）という式により生成することができる。ただし、Ｄ８（ｘ，ｙ，ｚ）＞２５５の場合は、Ｄ８（ｘ，ｙ，ｚ）＝２５５とし、Ｄ８（ｘ，ｙ，ｚ）＜０の場合は、Ｄ８（ｘ，ｙ，ｚ）＝０とする。ここで、Ｌｍｉｎ＝（Ｄｍａｘ−Ｄｍｉｎ）・γ＋Ｄｍｉｎ、Ｌｍａｘ＝（Ｄｍａｘ−Ｄｍｉｎ）・（１−γ）＋Ｄｍｉｎである。γは階調圧縮画像のコントラスト調整幅で、０に近いほどコントラストは増大するが輝度は小さくなる。通常は、γ＝０．１に設定する。レンダリング像の輝度コントラストは、例えば、カラーマップデータなどの種々の設定で調整することができるので、γは固定値でよい。また、０≦Ｄ８（ｘ，ｙ，ｚ）≦２５５、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１である。また、ｘｙ方向の解像度はＲｘｙ、ｚ方向の解像度はＲｚである。
【００２４】
なお、８ビットの階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）に対しては、図４に示すカラーマップＣｍａｐ８（ｖ，ｃ）を適用することができる。
【００２５】
上述のように、階調圧縮処理部２１は、複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値Ｄｍｉｎ及び最大値Ｄｍａｘを特定し、特定した最大値よりも小さい上限値Ｌｍａｘ及び特定した最小値よりも大きい下限値Ｌｍｉｎを算出する。階調圧縮処理部２１は、複数のｘｙ平面画像の各画素の画素値の上限値Ｌｍａｘ及び下限値Ｌｍｉｎの範囲内を圧縮する。すなわち、階調圧縮処理部２１は、上限値Ｌｍａｘ及び下限値Ｌｍｉｎの範囲を、例えば、２５６段階に圧縮し、上限値Ｌｍａｘ以上は２５５にし、下限値Ｌｍｉｎ以下は０にする。
【００２６】
平滑化処理部２２は、複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び当該注目画素のｘｙｚ方向の近傍画素の画素値に基づいて、当該一のｘｙ平面画像を平滑化する。ｘｙ平面画像は、ＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）でもよく、階調圧縮処理部２１により階調圧縮された階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）でもよい。
【００２７】
図６は本実施の形態の３Ｄテクスチャマッピング装置１００による平滑化処理の一例を示す説明図である。図６の例では、階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）を図示しているが、ＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）でもよい。図６では、一の断層画像の注目画素Ｄ８（ｘ，ｙ，ｚ）と当該注目画素の近傍に存在する２６個の近傍画素Ｄ８（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ）を示す。ここで、ｉ＝−１、０、１であり、ｊ＝−１、０、１であり、ｋ＝−１、０、１である。なお、便宜上、三つの断層画像（ｚ−１，ｚ，ｚ＋１）を平面的に図示している。ｘｙｚ座標の平滑化された画像をＤ（ｘ，ｙ，ｚ）とすると、Ｄ（ｘ，ｙ，ｚ）は、注目画素と該注目画素の２６近傍画素の画素値の平均値となる。
【００２８】
断層画像には、元々自然に存在する知覚可能な規則性をもたないパターンが存在する。複数の断層画像を座標変換（ｘｙｚ軸回りの回転）することにより、断層画像に存在する前述のようなパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、モアレとなる。
【００２９】
階調圧縮断層画像Ｄ８（ｘ，ｙ，ｚ）、あるいはＤＩＣＯＭ画像Ｄｏ（ｘ，ｙ，ｚ）のｘｙｚ方向の２６近傍画素及び注目画素の画素値の平均値で等方性（ｘｙｚ方向という意味）平滑処理を行うことにより、前述の曲線状の縞模様によるモアレの発生を抑制することができる。特に、スライス間隔が粗いＣＴ画像に対して、モアレの発生を抑制することができる。
【００３０】
ボクセル構造体生成部２３は、各ボクセルに対してＲＧＢ値及び不透明度αが定められ、平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルで構成されるボクセル構造体を生成する。より具体的には、ボクセル構造体生成部２３は、平滑化した複数のｘｙ平面画像それぞれの各画素の画素値に対応するカラーマップデータのＲＧＢ値及び不透明度を対応付けてＲＧＢ値及び不透明度αを設定し、ボクセル構造体を生成する。すなわち、ボクセル構造体は、ボクセルが３次元的に詰まった構成（ボリュームとも称する）をなす。各ボクセルは、ボクセル値（ＲＧＢ値及び不透明度α）を有する。
【００３１】
ボクセル構造体をＶ（ｘ，ｙ，ｚ，ｃ）で表す。ここで、０≦Ｖ（ｘ，ｙ，ｚ，ｃ）≦２５５、ｃ＝０（Ｒ）、１（Ｇ）、２（Ｂ）、３（α）、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ−１である。
【００３２】
また、ボクセル構造体生成部２３は、ＲＧＢ値及び不透明度が所定値であるボクセルを含むボクセル構造体を生成する。所定値としては、ＲＧＢ値がＲ＝Ｇ＝Ｂ＝０（すなわち、無色つまり黒色）で、不透明度α＝０（すなわち、透明）とするが、これらはボリュームレンダリング像の計算に寄与しないボクセルの値であることを意味し、ボリュームレンダリング像の計算に寄与しない値であれば、Ｒ＝Ｇ＝Ｂ＝０及び不透明度α＝０に限定しなくてもよい。
【００３３】
色補間部２８は、色補正部としての機能を有し、ボクセル構造体のＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、色補間して、対象ボクセルのＲＧＢ値を補正する。なお、色補間を色補正とも称する。色補間の詳細は後述する。
【００３４】
３Ｄテクスチャ画像生成部２６は、ＲＧＢ値が色補間されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する。すなわち、３Ｄテクスチャ画像生成部２６は、ボクセル構造体生成部２３で生成されたボクセル（ＲＧＢ値及び不透明度が所定値であるボクセルを含む）に基づいて、３Ｄテクスチャ画像を生成する。３Ｄテクスチャ画像のデータは、３Ｄテクスチャマップとも称し、データの実体はボクセル構造体と同一である。３Ｄテクスチャ画像生成部２６は、ボクセル構造体のボリュームをグラフィックＡＰＩ（例えば、ＯｐｅｎＧＬ）の３Ｄテクスチャマップとして登録する。より具体的には、ボクセル構造体のボリュームは、ＣＰＵのメインメモリからＧＰＵのビデオメモリにグラフィックＡＰＩを介して転送され、グラフィックＡＰＩのテクスチャ形式に変換されてビデオメモリに保持される。本願では以降、説明の便宜上グラフィックＡＰＩとしてＯｐｅｎＧＬを対象に処理の内容を説明するが、これに限定されない。
【００３５】
３ＤテクスチャマップをＴｅｘ（ｘｔ，ｙｔ，ｚｔ，ｃ）で表す。ここで、０≦Ｔｅｘ（ｘｔ，ｙｔ，ｚｔ，ｃ）≦２５５、ｃ＝０（Ｒ）、１（Ｇ）、２（Ｂ）、３（α）、０≦ｘｔ≦Ｓｘ−１、０≦ｙｔ≦Ｓｙ−１、０≦ｚｔ≦Ｓｚ−１である。
【００３６】
なお、ボクセル構造体の座標系をＯｐｅｎＧＬのワールド座標系で定義し、ＸＹＺ座標（−１≦ｘ≦１、−１≦ｙ≦１、−１≦ｚ≦１）で表し、３Ｄテクスチャマップの座標系をテクスチャ座標系で定義し、ＯｐｅｎＧＬではテクスチャ座標系をＳＴＲ座標（０≦ｓ≦１、０≦ｔ≦１、０≦ｒ≦１）で表す習慣がある。座標ｓは座標ｘに対応し、座標ｔは座標ｙに対応し、座標ｒは座標ｚに対応する。本実施の形態では、便宜上、ワールド座標系のＸＹＺをＸＹＺ座標と表し、テクスクチャ座標系のＳＴＲ座標をｘｙｚ座標と表す。
【００３７】
積層四角形設定部２７は、ワールド座標系において、ＸＹ座標面で定義される複数の四角形をＺ軸方向に所定の間隔だけずらして並べた積層四角形を設定する。積層四角形は各々が３次元空間上の４つの頂点で定義された四角形である。
【００３８】
変換処理部２４は、変換後３Ｄテクスチャ画像生成部としての機能を有し、テクスチャ座標系に定義された複数のスライス画像で構成される３Ｄテクスチャ画像に対してテクスチャ座標系において所定の変換を行って変換後３Ｄテクスチャ画像を生成する。所定の変換は、透視変換処理、座標変換処理などを含む。
【００３９】
図７は本実施の形態の３Ｄテクスチャマッピング装置１００による３Ｄテクスチャマッピングの概念を示す模式図である。図７Ａは積層四角形に対して座標変換前の３Ｄテクスチャマップをマッピングした状態を示し、図７Ｂは積層四角形に対して座標変換後の３Ｄテクスチャマップをマッピングした状態を示す。ワールド座標（Ｘ，Ｙ，Ｚ）において、ＸＹ座標面上の四角形がＺ軸方向に沿って複数配置されている。視点は、図７において、投影面（レンダリング像が生成される面）より上側（すなわち、Ｚ軸の正方向）に存在する。ワールド座標系に定義した積層四角形は固定であるため、個々の四角形は、視線に対して常に垂直である。図７中、積層四角形の内部に図示した楕円形状は、マッピングされた３Ｄテクスチャマップ（ボクセルデータ）を示す。３Ｄテクスチャマップは、テクスチャ座標系において適宜所定の変換が行われるが、ワールド座標系とテクスチャ座標系との対応関係（マッピング）は固定であるため、３Ｄテクスチャマップの変換後に積層四角形にマッピングされている３Ｄテクスチャマップの内容は自動的に変更される。
【００４０】
図７Ａに示すように、３Ｄテクスチャマッピングでは、ボクセルデータをテクスチャ座標系に３Ｄテクスチャマップとして定義し、３Ｄテクスチャマップをワールド座標系に定義された積層四角形の各四角形に貼り付ける。すなわち、四角形に３Ｄテクスチャマップの各断面（スライス）をマッピングすることにより、３Ｄテクスチャマップを視線に対して垂直な断面の集まりとして再構成する。
【００４１】
図７Ｂに示すように、視点の変更は、ワールド座標（Ｘ，Ｙ，Ｚ）に定義された積層四角形およびワールド座標系とテクスチャ座標系との対応関係を初期のまま動かさずに、四角形に貼り付けた３Ｄテクスチャマップをテクスチャ座標系で回転させる。これにより、個々の四角形の４頂点と３Ｄテクスチャマップの座標位置（図７では、ｘｙｚ座標で表す）が回転により変更され、視点を変更した画像を得ることができる。
【００４２】
レンダリング処理部２５は、所定の視点からＺ軸方向に平行な視線上の四角形のＸＹ座標に対応する変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたＲＧＢ値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。この場合、レンダリング処理部２５は、レンダリング画像のＸＹ座標と視線方向に交差する四角形の交差座標（ＸＹＺ座標）を算出し、算出した交差座標と対応する変換後３Ｄテクスチャ画像のｘｙｚ座標を算出し、算出したｘｙｚ座標に対応するボクセルのＲＧＢ値及び不透明度に基づいてアルファブレンディングする。すなわち、３Ｄテクスチャマップが貼り付けられた四角形を、視点から遠い順にアルファブレンディングすることでボリュームレンダリングを行う。これらの手順をＯｐｅｎＧＬなどのグラフィックＡＰＩを用いて指示することで、ＧＰＵの機能を利用した高速処理が可能となる。ＧＰＵの機能を利用することにより、待ち時間を抑制して高速にレンダリング画像を生成することができる。本実施の形態であれば、汎用コンピュータに装着されたビデオカードに搭載されたＧＰＵであっても、０．１秒以内でレンダリング処理が可能であり、対話形式で（あるいはインタラクティブ性を確保して）レンダリング画像をリアルタイムに表示させることができる。
【００４３】
上述のように、本実施の形態のボクセル構造体のボクセルデータは、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、ボクセルデータは、ボクセル構造体のボクセルのうちＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値が色補間（色補正）されたデータを含み、ボクセル構造体のボクセルで構成される３Ｄテクスチャ画像に対して、所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、所定の視点からＺ軸方向に平行な視線上の四角形のＸＹ座標に対応する変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたＲＧＢ値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
【００４４】
本実施の形態では、３Ｄテクスチャマッピング法を用いるが、一般的な２Ｄテクスチャマッピング法の場合には、以下のような課題がある。すなわち、２Ｄテクスチャマッピング法では、ボクセルデータを構成する各スライスの輪郭形状をワールド座標系において四角形で表現するところは本願と同様であるが、２次元のテクスチャ座標系においてボクセルデータを構成する各スライスの画像を複数の２Ｄテクスチャマップとして定義する点で異なる（本実施の形態では、全スライスの画像を３次元のテクスチャ座標系において単一の３Ｄテクスチャマップとして定義している）。そして、各四角形に対応するいずれかの２Ｄテクスチャマップを各四角形に貼り付ける（本実施の形態では、各四角形の４頂点に対応する３Ｄテクスチャマップ内の４つの座標を対応付けて貼り付けている）。２Ｄテクスチャマップは２次元のテクスチャ座標系において定義されているため、回転は２次元的にしか行えない。そのため、ワールド座標系において、積層した四角形を３次元的に回転させる方法をとらざるを得ない。そうすると、回転角度により奥行関係が崩れ、あるいは２Ｄテクスチャマップが反転し、積層した四角形をＹ軸中心に９０度回転させると、四角形（厚みが０）は描画されず、レンダリング像は真っ黒になる。
【００４５】
また、スライスと視線とのなす角度が小さくなるにつれて投影面積が小さくなり、サンプリングされるデータの数が減少し、ボリュームレンダリングの意義が失われ、実用的なレンダリング像を得ることができない場合がある。即ち、回転角度により、ワールド座標系の積層四角形とテクスチャ座標系の２Ｄテクスチャマップとの対応関係を補正しないと、適切なレンダリング像を得ることができない。
【００４６】
本実施の形態によれば、２Ｄテクスチャマッピング法における課題、あるいはワールド座標を回転する場合に生じる課題を解決することができる。
【００４７】
次に、本実施の形態の３Ｄテクスチャマッピング装置１００の動作について説明する。
【００４８】
図８及び図９は本実施の形態の３Ｄテクスチャマッピング装置１００による３Ｄテクスチャマッピング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部２０として説明する。画像処理部２０は、ＤＩＣＯＭ画像の画像データを取得し（Ｓ１１）、カラーマップデータを取得する（Ｓ１２）。なお、カラーマップデータは、図３、図４で例示したものである。
【００４９】
画像処理部２０は、変換パラメータを取得し（Ｓ１３）、ｘｙｚ方向のＲＯＩ値を取得する（Ｓ１４）。なお、変換パラメータは、座標変換パラメータ及び透視変換パラメータなどを含む。変換パラメータの詳細は後述する。画像処理部２０は、ＤＩＣＯＭ画像の階調圧縮処理を行い（Ｓ１５）、階調圧縮断層画像Ｄ８に対してカラーマップ定義を行う（Ｓ１６）。カラーマップ定義は、階調圧縮断層画像Ｄ８の画素値に対して、ＲＧＢ値及び不透明度αを定義する。なお、ステップＳ１５の処理は必須ではなく、ステップＳ１５の処理を実施しない場合には、ＤＩＣＯＭ画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはＣＴ画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたＤＩＣＯＭ画像に依存して定義されるものではないため、ステップＳ１６の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。
【００５０】
画像処理部２０は、階調圧縮断層画像Ｄ８の平滑化処理を行い（Ｓ１７）、ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）を生成する（Ｓ１８）。画像処理部２０は、ＲＯＩクリッピング領域外のボクセルの透明化処理を行う（Ｓ１９）。
【００５１】
図１０は本実施の形態の３Ｄテクスチャマッピング装置１００によるＲＯＩクリッピング領域外のボクセルの透明化処理の一例を示す説明図である。図１０は、ｚ番目に位置するｘｙ平面画像の一例を図示している。ＲＯＩによるクリッピングでは、ｘ軸方向のＲＯＩとして、Ｘｓ−Ｘｅを設定し、ｙ軸方向のＲＯＩとして、Ｙｓ−Ｙｅを設定し、図１０には図示されていないが、ｚ軸方向のＲＯＩとして、Ｚｓ−Ｚｅを設定する。ここで、０≦Ｘｓ、Ｘｅ≦Ｓｘ−１、０≦Ｙｓ、Ｙｅ≦Ｓｙ−１、０≦Ｚｓ、Ｚｅ≦Ｓｚ−１である。すなわち、ＲＯＩクリッピング処理部２９は、ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する。ボクセル構造体生成部２３は、ＲＯＩクリッピング領域外のボクセルの透明化処理を行う。
【００５２】
ボクセルの透明化処理では、ｘ＜Ｘｓまたはｘ＞Ｘｅまたはｙ＜Ｙｓまたはｙ＞Ｙｅまたはｚ＜Ｚｓまたはｚ＞Ｚｅの場合、０≦ｃ≦３に対してＶ（ｘ，ｙ，ｚ，ｃ）＝０、すなわち、Ｒ＝Ｇ＝Ｂ＝α＝０とする（すなわち、画素の色を無色つまり黒色で、透明にする）。図１０の例では、ｘ＜Ｘｓ、ｘ＞Ｘｅ、ｙ＜Ｙｓ、及びｙ＞Ｙｅを充足する座標（ｘ，ｙ）の画素の色を無色（黒色）にし、不透明度をα＝０（透明）にする。
【００５３】
なお、色補間部２８は、後述のステップＳ２４において、ＲＯＩクリッピング領域外など透明化処理されたボクセルを含む無色・透明なボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセル（不透明ボクセル）のＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値を色補間する。ただし、透明なボクセルであっても、透明化処理されたものでなく、ＲＧＢ値のいずれかに１以上の値が設定されている場合（肺野の空気など）は、色補間を行わない。
【００５４】
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、ボリュームレンダリング処理の対象領域外であって、ＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値が色補間されたデータを含む。
【００５５】
ＲＯＩクリッピング切断面に限らず、ボリュームレンダリング処理の対象領域である不透明領域（不透明度が１以上の値をもつようにした領域）とボリュームレンダリング処理の対象領域外である透明領域（不透明度が０の値をもつようにした領域）との境界面がモアレの発生源になる。（詳細は後述するが、座標変換により境界面において階段状のパターンが生成されるためである。）そもそも、断層画像には人体・撮影治具（寝台など）など被写体以外の背景部が存在することが一般的で、背景部は空気で無色・透明であるため、不透明な被写体との境界面が元々存在し、モアレの発生源になり得るため、背景部に対して後述の補正対象領域と一緒に色補間を行う必要がある。
【００５６】
ＲＯＩクリッピング切断面に限らず、断層画像の最初のスライスまたは／かつ最後のスライスがそのまま不透明領域と透明領域との境界面となり、当該境界面がモアレの発生源になる場合がある。人体の一部である胸部・腹部などに対してＣＴスキャンされた断層画像の最初のスライスより手前及び最後のスライスの後方には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ＲＯＩクリッピング切断面と同様な特質をもつ。即ち、断層画像の最初のスライスと最後のスライスは、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、最初のスライスより手前及び最後のスライスの後方の領域にボクセルを追加して無色・透明にし、後続処理である色補間することにより、併せてモアレの発生を抑制することができる。色補間の詳細は後述する。
【００５７】
画像処理部２０は、ｚ方向の両端に新たにＲＧＢ値及び不透明度が所定値とされた（ここでは、無色・透明な）ダミー透明画像を付加し（Ｓ２０）、ボクセル構造体にダミー透明画像に対応するボクセルを追加する（Ｓ２１）。ダミー透明画像に対応するボクセルが追加されたボクセル構造体をＶ（ｘ，ｙ，ｚ，ｃ）と表す。ここで、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ＋１である。
【００５８】
図１１は本実施の形態の３Ｄテクスチャマッピング装置１００によるダミー透明画像付加処理の一例を示す説明図である。ｚ軸方向にスライス間隔で並んだ元の断層画像のｚ軸方向の両端に、全ての画素のＲＧＢ値及び不透明度が所定値とされた（ここでは、無色・透明に設定した）ダミー透明画像を追加する。すなわち、ボクセル構造体生成部２３は、複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、ＲＧＢ値及び不透明度が所定値とされたダミーボクセルを付加したボクセル構造体を生成する。具体的には、ボクセル構造体生成部２３は、断層画像のｚ軸方向の両端にダミー透明画像に対応するボクセルを追加する。所定値としては、当該ボクセルがボリュームレンダリング像の生成に寄与しないように、ＲＧＢ値をＲ＝Ｇ＝Ｂ＝０に、不透明度をα＝０（すなわち、無色・透明）とすることができるが、ボリュームレンダリング像の生成に寄与しない値であれば、ＲＧＢ値をＲ＝Ｇ＝Ｂ＝０に限定しなくてもよく、不透明度をα＝０に限定しなくてもよい。
【００５９】
なお、色補間部２８は、後述のステップＳ２４において、生成したボクセル構造体のボクセルのＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値を色補間する。ただし、透明なボクセルであっても、ＲＧＢ値のいずれかに所定値以外の値（ここでは、１以上の値）が設定されている場合（例えば、肺野の空気など）は、色補間を行わない。
【００６０】
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、ＲＧＢ値及び不透明度が所定値とされたボクセルであるダミーボクセルを含み、ボクセルデータは、ダミーボクセルが付加されたボクセル構造体のＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値が色補間されたデータを含む。
【００６１】
ＲＯＩクリッピング切断面に限らず、断層画像の周辺部がそのまま不透明領域と透明領域との境界面となり、モアレの発生源になる場合がある。例えば、ＣＴスキャンの倍率設定により、人体の断層面の周辺部が切れた状態で撮像されることがあり、その場合、ＲＯＩクリッピングの指示を行わなくても、図１０において、ｘ＝０、ｙ＝０、ｘ＝Ｓｘ−１、ｙ＝Ｓｙ−１のいずれかを満たす面は、ｘ＜０、ｙ＜０、ｘ＞Ｓｘ−１、ｙ＞Ｓｙ−１のいずれかの断層画像の外側領域には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ＲＯＩクリッピング切断面と同様な特質をもつ。即ち、ｘ＝０、ｙ＝０、ｘ＝Ｓｘ−１、ｙ＝Ｓｙ−１のいずれかを満たす平面は、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、ＲＯＩクリッピングの指示の有無を問わず、ｘ＝０、ｙ＝０、ｘ＝Ｓｘ−１、ｙ＝Ｓｙ−１のいずれかを満たす１ボクセル幅の外縁部の全てのボクセルに対して、図１０の斜線部と同様に無色・透明にし、後続処理である色補間を併せて行う。即ち、画像処理部２０は、階調圧縮断層画像の外縁部（ボーダー部とも称する）の画素に対応するボクセルの透明化処理を行う（Ｓ２２）。なお、後述のステップＳ２３の処理を行うか否かにかかわらず、ステップＳ２２の処理は実施する。なお、外縁部とは、画像の外側ではなく、画像内の領域であって、画像の縁にあたる部分を意味する。
【００６２】
図１２は本実施の形態の３Ｄテクスチャマッピング装置１００による断層画像の外縁部のボクセルの透明化処理の一例を示す説明図である。ｚ軸方向にスライス間隔で並んだ断層画像それぞれの外縁部の画素に対応するボクセルの色をＲ＝Ｇ＝Ｂ＝０（無色）にし、不透明度αを０（透明）にする。すなわち、ボクセル構造体生成部２３は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。ここで、外縁部とは、例えば、断層画像内の領域であって縁から１画素分とすることができる。ボクセル構造体Ｖ（ｘ，ｙ，ｚ，ｃ）は、Ｖ（ｘ，ｙ，ｚ，ｃ）＝０（ｘ＝０またはｘ＝Ｓｘ−１またはｙ＝０またはｙ＝Ｓｙ−１またはｚ＝０またはｚ＝Ｓｚ＋１、０≦ｃ≦３）となる。すなわち、ボクセル構造体生成部２３は、複数のｘｙ平面画像の外縁部の各画素に対応し、ＲＧＢ値及び不透明度が所定値とされたボクセルを含むボクセル構造体を生成する。具体的には、ボクセル構造体生成部２３は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。なお、外縁部は１画素に限定しなくてもよい。所定値としては、ＲＧＢ値をＲ＝Ｇ＝Ｂ＝０で不透明度α＝０（すなわち、画素の色を無色つまり黒色で、透明）とすることができるが、ボリュレームレンダリングに寄与しないボクセルの値であれば、ＲＧＢ値をＲ＝Ｇ＝Ｂ＝０に限定しなくてもよく、不透明度をα＝０に限定しなくてもよい。
【００６３】
なお、色補間部２８は、後述のステップＳ２４において、断層画像の外縁部の無色・透明な画素に対応するボクセルの対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値を色補間する。ただし、透明なボクセルであっても、ＲＧＢ値のいずれかに所定値以外の値（ここでは、１以上の値）が設定されている場合（例えば、肺野の空気など）は、色補間を行わない。
【００６４】
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のｘｙ平面画像の外縁部の各画素に対応し、ＲＧＢ値及び不透明度が所定値とされたボクセルを含み、ボクセルデータは、ボクセルを含むボクセル構造体のＲＧＢ値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、対象ボクセルのＲＧＢ値が色補間されたデータを含む。
【００６５】
画像処理部２０は、ボクセルの陰影値を算出する（Ｓ２３）。ただし、ステップＳ２３の処理は、必須ではなく、ステップＳ２３の処理を実施しない場合には、ステップＳ２４の処理に進めばよい。
【００６６】
ボクセルの陰影値の算出は、以下のようにすることができる。すなわち、ボクセル構造体生成部２３は、ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出し、算出した勾配ベクトル及び所定の光源ベクトルに基づいてボクセルの陰影値を算出する。
【００６７】
より具体的には、ボクセル構造体生成部２３は、ボクセル構造体のボクセルの不透明度と、当該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。ボクセル構造体生成部２３は、ボクセルと近傍ボクセルとの距離並びにボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいてボクセルの勾配ベクトルを算出する。この場合、近傍ボクセルとの距離を用いるにあたり、ＸＹ方向とＺ方向の解像度が異なることを考慮し、ボクセル構造体生成部２３は、勾配ベクトルのｚ軸方向の成分をｚ軸方向の変倍率Ｒｘｙ／Ｒｚで補正することが必要である。
【００６８】
光源ベクトル（Ｌｘ，Ｌｙ，Ｌｚ）は、例えば、（Ｌｘ，Ｌｙ，Ｌｚ）＝（０．５７７３５，０．５７７３５，０．５７７３５）の如く、平行光源で単位ベクトルとして指定する。また、環境光成分をＡｂとする。ここで、０≦Ａｂ≦１である。例えば、Ａｂ＝０．２とする。
【００６９】
０≦ｘ≦Ｓｘ−２、０≦ｙ≦Ｓｙ−２、０≦ｚ≦Ｓｚの範囲のボクセル（ｘ，ｙ，ｚ）の勾配ベクトル（Ｇｘ，Ｇｙ，Ｇｚ）は、式（１）、（２）、（３）で算出することができる。本実施の形態では、２６近傍のボクセル値と中央のボクセルのボクセル値との差分により高精度に勾配ベクトルを算出することができる。勾配ベクトルを算出する際に、ボクセルは座標変換前でｚ方向変倍処理が行われていないため、ｘｙ方向とｚ方向とでは解像度が異なる点に留意し、勾配ベクトルのｚ方向成分Ｇｚの変倍補正（Ｒｘｙ／Ｒｚの乗算）を行う。
【００７０】
【数１】
2019114035.tif 000003
【００７１】
Ｇ＝｛Ｇｘ2 ＋Ｇｙ2 ＋Ｇｚ2 ｝1/2 とする（Ｇｘの２乗とＧｙの２乗とＧｚの２乗との和の平方根をＧとする）。Ｇ≧１の場合、陰影値Ｓ（ｘ，ｙ，ｚ）は、拡散反射成分のみ算出し、式（４）で与えられる。これにより、視線ベクトルを変更してボクセルを回転させると、立体感を表現することができる。なお、視線を変えても、座標の回転処理を行う前であり、勾配ベクトルは変化しないので、鏡面反射成分は加えない。ボクセル構造体生成部２３は、算出した輝度値に基づいてボクセルのＲＧＢ値を補正する。陰影計算後のボクセルをＶ′（ｘ，ｙ，ｚ，ｃ）で表すと、ボクセルのＲＧＢ値の補正は、０≦ｃ≦２の範囲で式（５）を適用することにより行うことができる。
【００７２】
ＯｐｅｎＧＬを用いた３Ｄテクスチャマッピング法では、ハードウエアレンダリングにおいて、ボクセルの勾配ベクトル、陰影計算に係る処理はサポートされていないため、陰影値として常にα値が与えられている。しかし、本実施の形態では、疑似的に陰影計算を行うことができる。すなわち、陰影計算を正確に行うためには、ボクセルの座標変換後に行う必要があるが、座標変換はハードウエアレンダリングで一緒に行われるため、座標変換前にハードウエアレンダリングに投入するボクセルデータに予め陰影計算結果を組み込むことにより、疑似的に陰影が付与されたレンダリング像を得ることができる。
【００７３】
断層画像の外縁部や背景部のボクセルではＧ＜１となることがあり、その場合、陰影計算を行わずに、一律に無色・透明（Ｒ＝Ｇ＝Ｂ＝α＝０）にする。すなわち、陰影計算後のボクセルをＶ′（ｘ，ｙ，ｚ，ｃ）で表すと、Ｖ′（ｘ，ｙ，ｚ，ｃ）＝０（ｃ＝０，１，２，３）とする。これは、前述のステップＳ２２と同等の処理である。
【００７４】
画像処理部２０は、透明ボクセルの色補間処理を行う（Ｓ２４）。なお、色補間処理の詳細は後述する。
【００７５】
画像処理部２０は、色補間したボクセル構造体を３Ｄテクスチャマップとして登録し（Ｓ２５）、投影画面を設定する（Ｓ２６）。
【００７６】
図１３は本実施の形態の３Ｄテクスチャマッピング装置１００による投影画面設定の一例を示す説明図である。変換処理部２４は、レンダリング画像のスクリーンサイズ（縦横画素数、縦横アスペクト比率）を設定する。変換処理部２４は、平行投影（通常の外観レンダリング）又は透視投影（内視鏡モード）のいずれかを設定する。そして、変換処理部２４は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度（焦点距離）、視点位置（視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともＺ軸上に設定される。一般に、注視点はワールド座標系の原点に固定）、クリッピング位置（視点からのＺ軸上の距離、近方及び遠方の２箇所）などを含む。なお、クリッピング位置は、近方だけでもよい。図１３に示すように、平行投影の場合には、視点からの視線は全てＺ軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、Ｚ軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、レンダリング対象も近方クリッピングによって制限されている。
【００７７】
画像処理部２０は、レンダリング処理を行い（Ｓ２７）、フレームメモリ上にレンダリング画像を生成し（Ｓ２８）、処理を終了する。なお、レンダリング処理の詳細は後述する。
【００７８】
図１４は本実施の形態の３Ｄテクスチャマッピング装置１００による透明ボクセルの色補間処理の手順の一例を示すフローチャートである。画像処理部２０は、ボクセル構造体の、０≦ｘ≦Ｓｘ−１、０≦ｙ≦Ｓｙ−１、０≦ｚ≦Ｓｚ＋１のすべてのボクセルから無色・透明のボクセルを抽出する（Ｓ１０１）。すなわち、式（６）を満たすボクセルを抽出する。
【００７９】
【数２】
2019114035.tif 000004
【００８０】
画像処理部２０は、抽出したボクセルのうち対象ボクセルの近傍ボクセルであって不透明なボクセルを特定する（Ｓ１０２）。対象ボクセルのｘｙｚ座標を（ｘ，ｙ，ｚ）とすると、−１≦ｉ≦１、−１≦ｊ≦１、−１≦ｋ≦１の範囲の対象ボクセルの近傍の２６近傍ボクセルの中からＶ（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ，３）＞０を満たす不透明ボクセルを特定し、式（７）の定義に従いその個数をＣとする。すなわち、ボクセル構造体生成部２３は、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセルを特定する。所定値としては、ボリュームレンダリングに寄与しない不透明度α＝０（すなわち、透明）とすることができるが、ボリュームレンダリングに寄与しなければ、不透明度をα＝０に限定しなくてもよい。
【００８１】
画像処理部２０は、Ｃ＞０であるか即ち不透明ボクセルの有無を判定し（Ｓ１０３）、Ｃ＞０である場合、即ち不透明ボクセルがある場合（Ｓ１０３でＹＥＳ）、不透明ボクセルのＲＧＢ値の平均値で対象ボクセルのＲＧＢ値を更新し（Ｓ１０４）、後述のステップＳ１０６の処理を行う。ＲＧＢ値の平均値をＲａ、Ｇａ、Ｂａとすると、平均値は式（８）、（９）、（１０）によりＶ（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ，３）＞０を満たす不透明ボクセルの各々Ｒ値Ｖ（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ，０）、Ｇ値Ｖ（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ，１）、Ｂ値Ｖ（ｘ＋ｉ，ｙ＋ｊ，ｚ＋ｋ，２）の総和で算出することができる。また、無色・透明の対象ボクセルのＲＧＢ値の更新は、式（１１）、（１２）、（１３）により行うことができる。
【００８２】
Ｃ＝０である場合、即ち不透明ボクセルがない場合（Ｓ１０３でＮＯ）、画像処理部２０は、対象ボクセルのＲＧＢ値を０（すなわち、Ｒａ＝Ｇａ＝Ｂａ＝０）とし（Ｓ１０５）、抽出した無色・透明のボクセルのすべての対象ボクセルの色補間を終了したか否かを判定する（Ｓ１０６）。すべての対象ボクセルの色補間を終了していない場合（Ｓ１０６でＮＯ）、画像処理部２０は、ステップＳ１０２以降の処理を続け、すべての対象ボクセルの色補間を終了した場合（Ｓ１０６でＹＥＳ）、処理を終了する。
【００８３】
色補間処理は、画像処理部２０の色補間部２８が行う。より具体的には、色補間部２８は、特定した近傍ボクセルのＲＧＢ値の統計値に基づいて、対象ボクセルのＲＧＢ値を色補間する。統計値は、平均値を用いることができるが、平均値に限定しなくてもよく、例えば、中央値などを用いることもできる場合がある。
【００８４】
上述のように、本実施の形態のボクセル構造体のボクセルデータは、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセル（すなわち、不透明度αが１以上のボクセル）のＲＧＢ値の統計値に基づいて、対象ボクセルのＲＧＢ値が色補間されたデータを含む。
【００８５】
図１５は本実施の形態の３Ｄテクスチャマッピング装置１００によるレンダリング処理の手順の一例を示すフローチャートである。画像処理部２０は、３Ｄテクスチャマップに対するスケーリング及びｚ方向変倍処理を行い（Ｓ１１１）、３Ｄテクスチャマップに対する回転処理を行う（Ｓ１１２）。
【００８６】
画像処理部２０は、３Ｄテクスチャマップに対するオフセット処理を行い（Ｓ１１３）、複数の四角形で構成される積層四角形を設定する（Ｓ１１４）。画像処理部２０は、積層四角形を構成する各四角形と３Ｄテクスチャマップとの対応付けを行う（Ｓ１１５）。
【００８７】
図１６は３Ｄテクスチャマッピングとの対応付け方法の一例を示す説明図である。図１６Ａに示すように、ＤＩＣＯＭ断層画像をＲＧＢα形式に変換し、グラフィックＡＰＩを介して３Ｄテクスチャマップとして登録する。そして、図１６Ｂに示すように、積層四角形を定義し、３Ｄテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の４頂点の３次元ワールド座標とテクスチャ座標系における３Ｄテクスチャマップの３次元テクスチャ座標とを対応付ける。図１６に示すように、（−１，−１，ｚ）、（−１，１，ｚ）、（１，−１，ｚ）、（１，１，ｚ）の４頂点で構成される四角形に対して、ワールド座標の（−１，−１，ｚ）は、テクスチャ座標（０，０，ｒ）に対応付けられている。
【００８８】
また、３Ｄテクスチャマッピングを設定する場合、積層四角形設定部２７は、複数のｘｙ平面画像の数及びダミーｘｙ平面画像の数の合計値と同数の四角形をＺ軸方向に並べた積層四角形を設定する。
【００８９】
積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、Ｚ軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。
【００９０】
そこで、積層四角形における四角形の数、３Ｄテクスチャマップに登録する２Ｄ断層画像の枚数を元のＤＩＣＯＭ形式の断層画像の枚数＋２枚（ｚ軸方向に追加したダミー透明画像）にする。３Ｄボクセル構造体を構築する際、ＸＹＺ３次元の解像度を統一させた方が、後処理がしやすくなるため、２Ｄ断層画像のスライス間を補間して元のＤＩＣＯＭ形式の断層画像の枚数よりも増やす処理が一般的に行われるが、本実施の形態の方が、モアレを抑制する観点から、より好ましい。
【００９１】
画像処理部２０は、積層四角形に３Ｄテクスチャマップを貼り付けながらスキャンコンバージョンを行い、視点から遠い四角形の順にアルファブレンディング処理を行い（Ｓ１１６）、処理を終了する。
【００９２】
より具体的には、あらかじめレンダリング画像のＲＧＢ値は全て背景色（例えば、Ｒ＝Ｇ＝Ｂ＝０）で初期化しておく。レンダリング処理部２５は、視点から最も遠い四角形に３Ｄテクスチャマップを貼り付け、図１３で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系におけるＸＹＺ座標の（−１，−１，−１）からＸ軸方向及びＹ軸方向に、投影されたレンダリング画像における画素間隔に対応する間隔ｕ（レンダリング画像の１画素に対応するワールド座標の間隔をｕとする。例えばｕ＝０．００２）でスキャンコンバージョンを行う。スキャンコンバージョンされた、各ワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１）（ｉ，ｊはレンダリング画像の座標値で、例えば０≦ｉ，ｊ≦５１１の整数）において、各々対応するテクスチャ座標（２ｉｕ，２ｊｕ，０）を算出し、算出したテクスチャ座標に基づいて３Ｄテクスチャマップを参照しＲＧＢ値及び不透明度を取得して、対応するレンダリング画像の座標（ｉ，ｊ）に既に記録されているＲＧＢ値とアルファブレンディング処理を行い、対応するレンダリング画像の座標（ｉ，ｊ）のＲＧＢ値を更新する。このようにして、視点から最も遠い単一の四角形についてアルファブレンディング処理が終了すると、Ｚ座標をｖ（四角形がＺ軸方向に配置されているワールド座標の間隔をｖとする。例えば、ｖ＝２／Ｓｚ）だけ増やし、視点方向に次に近い四角形（−１＋ｉｕ，−１＋ｊｕ，−１＋ｖ）について同様の処理を繰り返してレンダリング画像を更新する。全ての四角形についてスキャンコンバージョンしてワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）（ｋは四角形の番号で、０≦ｋ≦Ｓｚ−１の整数）に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。
【００９３】
アルファブレンディング処理は、式（１４）、（１５）、（１６）を用いることができる。
【００９４】
【数３】
2019114035.tif 000005
【００９５】
ここで、Ｒ′、Ｇ′、Ｂ′は、投影面において更新されるレンダリング画像のＲＧＢ値である。Ｒ、Ｇ、Ｂは、四角形のワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応する３Ｄテクスチャマップのボクセル（２ｉｕ，２ｊｕ，２ｋｖ）におけるＲＧＢ値であり、重ねる色の値に相当する。αも、四角形のワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応する３Ｄテクスチャマップのボクセル（２ｉｕ，２ｊｕ，２ｋｖ）におけるα値であり、重ねる割合を制御する。また、Ｒｂ、Ｇｂ、Ｂｂは、ワールド座標（−１＋ｉｕ，−１＋ｊｕ，−１＋ｋｖ）に対応するレンダリング画像の座標（ｉ，ｊ）に既に記録されているＲＧＢ値であり、当該四角形に対して視点と反対側に１つ前に位置する四角形に対して式（１４）、（１５）、（１６）に基づいて算出されたＲ′、Ｇ′、Ｂ′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色（例えば、Ｒｂ＝Ｇｂ＝Ｂｂ＝０）が与えられる。
【００９６】
図１７は本実施の形態の画像処理部２０の構成の他の例を示すブロック図である。図１７に示すように、画像処理部２０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＧＰＵ２０４、ビデオメモリ２０５、記録媒体読取部２０６などで構成することができる。記録媒体１に記録されたコンピュータプログラムを記録媒体読取部２０６で読み取ってＲＡＭ２０３に格納することができる。ＲＡＭ２０３に格納されたコンピュータプログラムをＣＰＵ２０１で実行させることにより、階調圧縮処理部２１、平滑化処理部２２、ボクセル構造体生成部２３、変換処理部２４、レンダリング処理部２５、３Ｄテクスチャ画像生成部２６、積層四角形設定部２７、色補間部２８、ＲＯＩクリッピング処理部２９で行う処理を実行することができる。なお、ＣＰＵ２０１は、セントラル・プロセッシングユニットで、通常は複数のコア（プロセッサ）で構成されてＲＡＭ２０３と連携して動作するのに対し、ＧＰＵ２０４は、グラフィックス・プロセッシングユニットで、多くのグラフィックス処理に特化したプロセッサで構成されてビデオメモリ２０５と連携して動作する。また、コンピュータプログラムは、記録媒体読取部２０６で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
【００９７】
また、ＣＰＵ２０１は、ＧＰＵ２０４に対してレンダリング処理などの命令を出力する。ＧＰＵ２０４は、命令を解釈し、レンダリング処理などの所要の処理を実行する。ＧＰＵ２０４のプログラミングには、一般にグラフィクスＡＰＩ（例えば、ＯｐｅｎＧＬなど）を用いることができる。例えば、コンピュータプログラムは、ＣＰＵ２０１に、変換処理、レンダリング処理を実行するための指令をＧＰＵ２０４に出力する処理を実行させることができる。
【００９８】
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第１のタイプとして、曲線状のパターンがある。また、第２のパターンとして、ストライプ・格子状のパターンがある。なお、曲線状のパターン、ストライプ・格子状のパターンは厳密に分離されるものではなく、ボリュームレンダリング像では、両者が複合的に混ざって存在する。以下では、説明の便宜上、分けて説明する。まず、第１の曲線状のパターンについて説明する。
【００９９】
図１８は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像（スライス画像）に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換（ｘｙｚ軸回りの回転）することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。
【０１００】
図１９は本実施の形態の３Ｄテクスチャマッピング装置１００によるモアレ対策結果の第１例を示す説明図である。図１９Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図１９Ｂは、本実施の形態の３Ｄテクスチャマッピング装置１００の平滑化処理部２２により、各断層画像に対して図６で説明したような３Ｄ空間（ｘｙｚ方向の等方性スムージング）で平滑化処理を行った場合を示す。図１９Ａでは曲線状の縞模様が発生しているが、図１９Ｂでは、縞模様が消えていることが分かる。特に、スライス間隔が比較的粗いＣＴ画像では、モアレの抑制効果は大きい。
【０１０１】
次に、モアレの第２のパターンであるストライプ・格子状のパターンについて説明する。
【０１０２】
図２０はストライプ・格子状のモアレが発生する様子の一例を示す模式図である。ストライプ・格子状のパターンの特徴は、第１のパターンと異なり、モアレ発生源は、断層画像そのものにはなく、３Ｄテクスチャマッピング処理の過程で計算により発生した人工的パターンにある。３Ｄテクスチャマップの各断層画像を座標変換（ｘｙｚ軸回りの回転）することにより、座標変換という実数演算の過程で端数を切り捨てて整数化し、整数値のｘｙｚ座標で変換前のボクセル値を参照する過程で、丸め誤差の累積により周期的なパターンが発生し、座標変換後の３Ｄテクスチャマップの断層画像に加わる。個々の断層画像に加わった周期的パターンは知覚できないレベルの微弱なものであるが、複数の断層画像がアルファブレンディング処理により重なり、重なる時のズレ幅が各周期的パターンの位相条件を満たせば、互いに強めあって、いわゆる干渉縞が発生し、ストライプ・格子状のモアレとして知覚可能なレベルになる。
【０１０３】
図２１は座標変換時の丸め誤差の発生の様子の一例を示す説明図である。図２１では、便宜上、ボクセルを２次元で表している。座標変換前のボクセルを、横方向をｘ軸方向、縦方向をｚ軸方向として、Ｖ１１、Ｖ１２、…、Ｖ４９で表す。ｚ軸中心に回転させる座標変換によって、参照するｘ座標値は、実数値のｘ座標の整数化に伴う丸め誤差が累積する。例えば、算出された実数のｘ座標値は、左から右に向かって、１．３、２．６、３．９、５．２、６．５、７．８とする。
【０１０４】
例えば、算出された実数のｘ座標値が、１．３の場合、座標変換後のボクセルは、Ｖ１１×０．７＋Ｖ１２×０．３により、座標変換前のＶ１１及びＶ１２を参照し、０．３という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、２．６の場合、座標変換後のボクセルは、Ｖ１２×０．４＋Ｖ１３×０．６により、座標変換前のＶ１２及びＶ１３を参照し、０．６という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、３．９の場合、座標変換後のボクセルは、座標変換前のＶ１３×０．１＋Ｖ１４×０．９により、Ｖ１３及びＶ１４を参照し、０．９という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のｘ座標値が、５．２の場合、座標変換後のボクセルは、Ｖ１５×０．８＋Ｖ１６×０．２により、座標変換前のＶ１５及びＶ１６を参照し、０．２いう端数に基づく重みを乗算しながら補間されて求めることができる。
【０１０５】
このように、座標変換後の左から４番目のボクセルは、座標変換前のボクセルＶ１４とＶ１５とで補間されず、Ｖ１５とＶ１６とで補間され、座標変換後の左から３番目のボクセルと４番目のボクセルとの間では、ボクセル値に段差が生じる。ただし、この段差はＶ１１からＶ１９で形成される単一の層（断層画像）では知覚可能なレベルではない。しかし、図２１に示されるように、同様な段差がＶ２１からＶ４９で形成される３つの層にも同一の箇所で発生すると、結果として、ｚ軸方向に沿ってストライプ・格子状のモアレとして知覚可能になる。特に色の付いた不透明領域（Ｒ＋Ｇ＋Ｂ＞０、不透明度α＞０）と無色の透明領域（Ｒ＝Ｇ＝Ｂ＝α＝０）との境界面でこのような段差が発生すると、目立ちやすい。
【０１０６】
図２２は座標変換により周期パターンの発生の様子の一例を示す模式図である。モアレ発生の要因となる周期パターンは、不透明領域（Ｒ＋Ｇ＋Ｂ＞０、不透明度α＞０）と透明領域（Ｒ＝Ｇ＝Ｂ＝α＝０）の境界面が発生源になっており、境界面が平面で、不透明領域の色（ＲＧＢ値）または不透明度（α値）が比較的大きい場合にモアレが目立ちやすい。座標変換により境界面の画素（すなわち、ボクセル）が階段状に配置されると、補間処理により、近傍の透明領域のボクセルに対して、１以上の不透明度が設定され半透明になり、色も無色つまり黒色からグレーになる。この補間された透明ボクセルの不透明度と色が、階段状の配置に伴って周期的に変化し、ストライプ・格子状の縞模様が発生することにより、モアレの発生源となる。
【０１０７】
図２３は本実施の形態の３Ｄテクスチャマッピング装置１００による色補間の様子の一例を示す模式図である。本実施の形態では、色補間部２８は、変換処理部２４による座標変換が行われる前に、不透明領域と接する透明領域のボクセルの色を事前に色補間（色補正）する。すなわち、不透明領域と接する透明ボクセルの不透明度は０のままにし、透明ボクセルの色を２６近傍の不透明ボクセルのＲＧＢ値の平均値を与える。そうすると、座標変換により、透明ボクセルの不透明度は、階段状の配置に伴って周期的に変化するが、透明ボクセルの色は殆ど均一になり周期的パターンを知覚できなくなる。つまり、透明領域と不透明領域との境界部（エッジ部）の透明領域内の画素が半透明になっても、近傍の不透明領域と類似した色が付加されているため、色の周期的変化は認知されにくくなる。結果として、本実施の形態による色補間処理によれば、不透明領域と接する透明ボクセルの色が変わるだけで、不透明度は透明なままであるため、ボリュームレンダリングに寄与するボクセルの作用は変化せず、画質劣化を理論上発生させずに、座標変換によるモアレ発生の問題を解消させることができる。
【０１０８】
図２４は本実施の形態の３Ｄテクスチャマッピング装置１００によるモアレ対策結果の第２例を示す説明図である。図２４Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２４Ｂは、本実施の形態の３Ｄテクスチャマッピング装置１００の色補間部２８により、図９のステップＳ１９、ステップＳ２４の処理に基づいてＲＯＩクリッピング領域外のボクセルを無色・透明にし、無色・透明なボクセルの色を近傍の不透明ボクセルのＲＧＢ値に基づいて色補間した場合を示す。図２４Ａではモアレが発生しているが、図２４Ｂではモアレが消えていることが分かる。
【０１０９】
図２５は本実施の形態の３Ｄテクスチャマッピング装置１００によるモアレ対策結果の第３例を示す説明図である。図２５は図２４Ｂの例に対して図９のステップＳ２３の陰影値の算出処理を加えた場合の事例である。図２５Ａは、図２４Ａと同一の比較例であり、陰影を付加しておらず、かつ本実施の形態のモアレ対策を実施していない場合を示す。図２５Ｂは、ステップＳ２３の陰影値の算出処理を加えた上で、本実施の形態の３Ｄテクスチャマッピング装置１００の色補間部２８により、図９のステップＳ１９、ステップＳ２４の処理に基づいてＲＯＩクリッピング領域外のボクセルを透明にし、透明ボクセルの色を近傍の不透明ボクセルのＲＧＢ値に基づいて色補間した場合を示す。図２５Ａではモアレが発生しているが、図２５Ｂでは陰影を付加してもモアレが消えていることが分かる。
【０１１０】
図２６は本実施の形態の３Ｄテクスチャマッピング装置１００によるモアレ対策結果の第４例を示す説明図である。図２６Ａは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図２６Ｂは、本実施の形態の３Ｄテクスチャマッピング装置１００のボクセル構造体生成部２３及び色補間部２８により、図９のステップＳ２０、ステップＳ２４の処理に基づいて断層画像のｚ軸方向の両端にダミー透明画像を追加してダミーボクセルを追加し、透明のボクセルの色を近傍の不透明ボクセルのＲＧＢ値に基づいて色補間した場合を示す。図２６Ａでは斜め縞模様が発生しているが、図２６Ｂでは縞模様が消えていることが分かる。
【０１１１】
図２７は本実施の形態の３Ｄテクスチャマッピング装置１００によるモアレ対策結果の第５例を示す説明図である。図２７は図２６の双方の事例に対して図９のステップＳ２３の陰影値の算出処理を加えた場合の事例である。図２７Ａは、比較例であり、図９のステップＳ２３の陰影値の算出処理を加えているが、本実施の形態のモアレ対策を実施していない場合を示す。図２７Ｂは、ステップＳ２３の陰影値の算出処理を加えた上で、本実施の形態の３Ｄテクスチャマッピング装置１００のボクセル構造体生成部２３及び色補間部２８により、図９のステップＳ２２、ステップＳ２４の処理に基づいて断層画像の外縁部の画素に対応するボクセルを透明にし、透明のボクセルの色を近傍の不透明ボクセルのＲＧＢ値に基づいて色補間した場合を示す。図２７Ａでは斜め縞模様が発生しているが、図２７Ｂでは縞模様が消えていることが分かる。
【０１１２】
上述のように、本実施の形態によれば、レンダリング像の画質劣化を抑えながら、各種のモアレ（曲線状のモアレ、ストライプ・格子状のモアレ）の発生を抑制することができる。
【０１１３】
本実施の形態のコンピュータプログラムは、コンピュータに、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する処理と、前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理と、ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する処理と、前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
【０１１４】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１１５】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像の数及び前記ダミーｘｙ平面画像の数の合計値と同数の前記四角形をＺ軸方向に並べた積層四角形を設定する処理を実行させる。
【０１１６】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１１７】
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するｘｙｚ座標を設定する処理と、前記ボクセル構造体のボクセルのうちｘｙｚ座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１１８】
本実施の形態のコンピュータプログラムは、コンピュータに、前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルを特定する処理と、特定した近傍ボクセルのＲＧＢ値の統計値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１１９】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像それぞれの一のｘｙ平面画像上の任意の注目画素及び該注目画素のｘｙｚ方向の近傍画素の画素値に基づいて、前記一のｘｙ平面画像を平滑化する処理と、平滑化した前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理とを実行させる。
【０１２０】
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のｘｙ平面画像のうちの所定のｘｙ平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のｘｙ平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のｘｙ平面画像それぞれの任意の注目画素及び前記近傍画素の画素値に基づいて、前記複数のｘｙ平面画像を平滑化する処理とを実行させる。
【０１２１】
本実施の形態のコンピュータプログラムは、コンピュータに、画素値に対応付けてＲＧＢ値及び不透明度が定義されたカラーマップデータを取得する処理と、前記平滑化した複数のｘｙ平面画像それぞれの各画素に対応するボクセルのＲＧＢ値及び不透明度に前記カラーマップデータのＲＧＢ値及び不透明度を対応付けてボクセル構造体を生成する処理とを実行させる。
【０１２２】
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上の前記四角形のＸＹ座標に対応する前記３Ｄテクスチャ画像のｘｙｚ座標を算出する処理と、算出したｘｙｚ座標に対応する前記変換後３Ｄテクスチャ画像のｘｙｚ座標に対応するボクセルのＲＧＢ値及び不透明度に基づいてアルファブレンディングする処理とを実行させる。
【０１２３】
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、算出した陰影値に基づいて前記ボクセル構造体のボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１２４】
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理とを実行させる。
【０１２５】
本実施の形態のコンピュータプログラムは、コンピュータに、前記勾配ベクトルのｚ軸方向の成分を所定の変倍率で補正する処理を実行させる。
【０１２６】
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する処理とを実行させる。
【０１２７】
本実施の形態のコンピュータプログラムは、コンピュータに、ｘ軸中心、ｙ軸中心及びｚ軸中心の回転角、視野角度、視点位置、クリッピング位置、ｘｙｚ軸方向のオフセット値、ｘｙｚ軸方向の拡大又は縮小倍率、ｚ軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、前記３Ｄテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理とを実行させる。
【０１２８】
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後３Ｄテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をＧＰＵに出力する処理を実行させる。
【０１２９】
本実施の形態の画像処理装置は、３Ｄテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得する取得部と、前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成するボクセル構造体生成部と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正する色補正部と、ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成する３Ｄテクスチャ画像生成部と、前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成する変換後３Ｄテクスチャ画像生成部と、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する設定部と、所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部とを備える。
【０１３０】
本実施の形態の画像処理方法は、３Ｄテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像の画像データを取得し、前記複数のｘｙ平面画像それぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値を補正し、ＲＧＢ値が補正されたボクセル構造体のボクセルで構成される３Ｄテクスチャ画像を生成し、前記３Ｄテクスチャ画像に対して所定の変換を行って変換後３Ｄテクスチャ画像を生成し、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する設定部と、所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。
【０１３１】
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、ｚ軸方向に沿って所定間隔で撮像された複数のｘｙ平面画像のそれぞれの各画素に対応し、ＲＧＢ値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、前記ボクセルデータは、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含み、前記ボクセル構造体のボクセルで構成される３Ｄテクスチャ画像に対して、所定の変換を行って変換後３Ｄテクスチャ画像を生成する処理と、３次元空間のＸＹ座標面上の四角形をＺ軸方向に並べた積層四角形を設定する処理と、所定の視点からＺ軸方向に平行な視線上の前記四角形のＸＹ座標に対応する前記変換後３Ｄテクスチャ画像のボクセルのＲＧＢ値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたＲＧＢ値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
【０１３２】
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、前記複数のｘｙ平面画像を間にしてｚ軸方向の両端に配置されたダミーｘｙ平面画像の各画素に対応し、不透明度が前記所定値とされたボクセルであるダミーボクセルを含み、前記ボクセルデータは、前記ダミーボクセルが付加されたボクセル構造体の不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む。
【０１３３】
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、前記複数のｘｙ平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含み、前記ボクセルデータは、前記ボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む。
【０１３４】
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、ボリュームレンダリング処理の対象領域外であって、不透明度に前記所定値が設定されたボクセルを含み、前記ボクセルデータは、前記所定値が設定されたボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのＲＧＢ値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む。
【０１３５】
本実施の形態のボクセルデータにおいて、前記ボクセルデータは、前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルのＲＧＢ値の統計値に基づいて、前記対象ボクセルのＲＧＢ値が補正されたデータを含む。
【符号の説明】
【０１３６】
１０  入力部
１１  記憶部
１２  出力部
２０  画像処理部
２１  階調圧縮処理部
２２  平滑化処理部
２３  ボクセル構造体生成部
２４  変換処理部
２５  レンダリング処理部
２６  ３Ｄテクスチャ画像生成部
２７  積層四角形設定部
２８  色補間部
２９  ＲＯＩクリッピング処理部
１００  ３Ｄテクスチャマッピング装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  ＧＰＵ
２０５  ビデオメモリ
２０６  記録媒体読取部
【図１】
2019114035.tif 000006
【図２】
2019114035.tif 000007
【図３】
2019114035.tif 000008
【図４】
2019114035.tif 000009
【図５】
2019114035.tif 000010
【図６】
2019114035.tif 000011
【図７】
2019114035.tif 000012
【図８】
2019114035.tif 000013
【図９】
2019114035.tif 000014
【図１０】
2019114035.tif 000015
【図１１】
2019114035.tif 000016
【図１２】
2019114035.tif 000017
【図１３】
2019114035.tif 000018
【図１４】
2019114035.tif 000019
【図１５】
2019114035.tif 000020
【図１６】
2019114035.tif 000021
【図１７】
2019114035.tif 000022
【図１８】
2019114035.tif 000023
【図１９】
2019114035.tif 000024
【図２０】
2019114035.tif 000025
【図２１】
2019114035.tif 000026
【図２２】
2019114035.tif 000027
【図２３】
2019114035.tif 000028
【図２４】
2019114035.tif 000029
【図２５】
2019114035.tif 000030
【図２６】
2019114035.tif 000031
【図２７】
2019114035.tif 000032