(57)【要約】【課題】適応データ表現、レイキャスティング、及びデータ補間技術を用いてボリュームデータセットをレンダリングする方法及びシステムを提供する。【解決手段】適応画像ボリュームレンダリングシステムは、最初に３Ｄデータセットを複数のサブボリュームにフラグメント化し、各サブボリュームがオクトリ上の１つのノードに関連するオクトリ構造を構成する。システムは、次に２Ｄ画像平面を確立し、各々がサブボリュームの部分集合と適応して相互作用する複数のレイを３Ｄデータセットに向けて選択的に放出する。各サブボリュームによって反射されたレイエネルギは、修正フォン照射モデルを用いて推定され、２Ｄ画像平面上のレイ原点でのピクセル値を構成する。最後に、システムは、複数の選択された位置でのピクセル値を補間し、３Ｄデータセットの２Ｄ画像を発生させる。【選択図】図１（Ａ）【特許請求の範囲】
【請求項１】
適応直接ボリュームレンダリングの方法であって、
スカラー場の採取した３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化し、一組のデータ値パラメータに付随する各サブボリュームが、該サブボリューム内の該スカラー場のデータ値分布を特徴付ける段階と、
前記スカラー場のデータ値と照射モデルとに依存する不透明性伝達関数を定義する段階と、
各々が初期レイエネルギと断面とを有する複数のレイを２Ｄ画像平面から前記採取データセットに向けて選択的に投射する段階と、
を含み、
前記２Ｄ画像平面上の選択された位置から投射された各レイに対しては、
前記レイと相互作用するための前記複数のサブボリュームの部分集合を選択する段階と、
前記不透明性伝達関数及び前記照射モデルを用いて、前記部分集合の各サブボリュームによって反射された前記レイエネルギを推定する段階と、
前記２Ｄ画像平面上の前記選択された位置でのピクセル値として前記反射レイエネルギを合計する段階と、
を含み、
前記選択された位置での前記ピクセル値を用いて、前記２Ｄ画像平面上の他の位置のピクセル値を推定する段階、
を更に含むことを特徴とする方法。
【請求項２】
前記採取３Ｄデータセットをフラグメント化する段階は、
前記３Ｄデータセットを８つのサブボリュームにフラグメント化する段階と、
各サブボリュームに対して、それを最小サブボリュームのサイズが所定のサイズ限界に到達するまで８つのより小さなサブボリュームに再帰的にフラグメント化する段階と、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記所定のサイズ限界は、２×２×２の３Ｄセルを含むサブボリュームであり、各セルの８つのコーナは、前記スカラー場の８つのデータ値に関連していることを特徴とする請求項２に記載の方法。
【請求項４】
前記セル内の位置での前記データ値は、該セルの前記８つのコーナの前記８つのデータ値を用いてトリリニア補間されることを特徴とする請求項３に記載の方法。
【請求項５】
前記パラメータの組は、前記サブボリューム内の前記スカラー場の最大値、平均値、及び最小データ値を含むことを特徴とする請求項１に記載の方法。
【請求項６】
ルートノードと複数の中間ノードと複数の葉ノードとを含むオクトリを構成する段階と、
前記ルートノードを前記３Ｄデータセットに関連付ける段階と、
前記複数の葉ノードの各々を前記複数のサブボリュームからの最小サブボリュームに関連付ける段階と、
前記複数の中間ノードの各々を前記最小サブボリュームよりも大きな前記複数のサブボリュームからのサブボリュームに関連付ける段階と、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記２Ｄ画像平面から複数のレイを投射する段階は、
前記２Ｄ画像平面を複数のサブ平面に細分化する段階、
を含み、
前記複数のサブ平面の各々に対しては、
前記サブ平面の４つのコーナから４つのレイを投射し、各コーナでのピクセル値を推定する段階と、
前記サブ平面内の最大ピクセル値変動を計算する段階と、
前記サブ平面の前記最大ピクセル値変動が所定の画像化誤差閾値よりも小さくなるまで、該サブ平面の中心からレイを投射することにより、該サブ平面をより小さなサイズの複数の子サブ平面に再帰的に細分化する段階と、
を含む、
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記サブ平面内の最大ピクセル値変動は、該サブ平面の前記４つのコーナのピクセル値の該サブ平面の平均ピクセル値からの最大偏差として定義されることを特徴とする請求項７に記載の方法。
【請求項９】
前記所定の画像化誤差閾値は、ユーザによって提供された画像レンダリング速度、前記３Ｄデータセットに埋められたオブジェクトの縁部までの距離、及び適応レイキャスティングから推定されたピクセル値とバイリニア補間から推定されたピクセル値との間の差によって調整されることを特徴とする請求項７に記載の方法。
【請求項１０】
前記レイと相互作用するための複数のサブボリュームの部分集合を選択する段階は、
前記レイ経路に沿った最大サブボリュームとそれに対応する最大及び最小データ値とを識別する段階と、
前記不透明性伝達関数が前記最大及び最小スカラー場値の間で単調に変化するかを検査する段階と、
を含み、
前記関数が単調に変化しない場合には、再帰的に、
前記レイ経路に沿ったより小さなサブボリュームとそれに対応する最大及び最小データ値とを識別し、
前記不透明性伝達関数が前記より小さなサブボリュームの前記最大及び最小スカラー場値の間で単調に変化するかを検査する、
段階を含み、
前記関数が単調に変化する場合には、
前記サブボリュームが前記レイと相互作用している間に該サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項１に記載の方法。
【請求項１１】
２つのルックアップテーブルが、前記不透明性伝達関数に関して構成され、それによって順方向ルックアップテーブルが、前記データ値の増加方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含み、逆方向ルックアップテーブルが、該データ値の減少方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記サブボリュームの前記最大データ値が、該サブボリュームの前記最小データ値と前記順方向ルックアップテーブルに格納されたそれに対応するデータ値差との合計よりも小さいか、又は該サブボリュームの該最小データ値が、該サブボリュームの該最大データ値と前記逆方向ルックアップテーブルに格納されたそれに対応するデータ値差との間の差よりも大きい場合には、前記不透明性伝達関数は、該最小及び最大データ値の間で単調に変化することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記部分集合の各サブボリュームによって反射したレイエネルギを推定する段階は、
前記サブボリュームの最大エネルギ差を推定する段階と、
前記最大エネルギ差を所定のエネルギ誤差閾値に対して比較する段階と、
を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも大きい場合には、再帰的に、
前記レイ経路に沿ってより小さなサブボリュームを選択し、
前記より小さなサブボリュームの新しい最大エネルギ差を推定する、
段階を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも小さい場合には、
前記照射モデルを用いて前記サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項１に記載の方法。
【請求項１４】
前記最大エネルギ差は、前記不透明性伝達関数と前記サブボリュームの前記最大、平均、及び最小データ値とに依存することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記サブボリュームによって反射したレイエネルギの量は、該サブボリューム内のレイ経路の長さ、該サブボリューム内の前記不透明性伝達関数、該サブボリュームの前記平均スカラー場値、及び該サブボリューム内のスカラー場の局所勾配ベクトルに依存することを特徴とする請求項１３に記載の方法。
【請求項１６】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化しない場合には、該３Ｄセルは、最小サブセルの寸法が前記レイの断面の寸法に到達するまで複数のサブセルに更に分割されることを特徴とする請求項１３に記載の方法。
【請求項１７】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化する場合には、該３Ｄセルの最大エネルギ差は、該サブボリュームの最大エネルギ差を２で割ることによって推定されることを特徴とする請求項１３に記載の方法。
【請求項１８】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性伝達関数が該セル内で単調に変化し、かつ等表面が該３Ｄセルに存在する場合には、該３Ｄセルの最大エネルギ差は、該３Ｄセルの前記コーナでの８つのデータ値と該不透明性伝達関数とを用いて計算されることを特徴とする請求項１３に記載の方法。
【請求項１９】
前記所定のエネルギ誤差閾値は、平行投影の場合には、ユーザによって指定された画像レンダリング速度とズーム因子により、又は透視投影の場合には、透視角と前記画像平面及び前記３Ｄデータセット間の透視距離とにより調整されることを特徴とする請求項１３に記載の方法。
【請求項２０】
前記２Ｄ画像平面上の他の位置のピクセル値を推定する段階は、
各位置に対して、
前記位置を取り囲む４つのレイ原点に付随する４つのピクセル値を選択する段階と、
前記４つのピクセル値を用いて前記位置でのピクセル値をバイリニア補間する段階と、
を含むことを特徴とする請求項１に記載の方法。
【請求項２１】
適応直接ボリュームレンダリングシステムであって、
プログラムを実行するための１つ又はそれよりも多くの中央演算処理装置と、
複数のボリュームレンダリングパラメータを受け取るためのユーザインタフェースと、
前記１つ又はそれよりも多くの中央演算処理装置によって実行可能な適応ボリュームレンダリングエンジンモジュールと、
を含み、
前記モジュールは、
スカラー場の採取３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化し、一組のデータ値パラメータに関連する各サブボリュームが、該サブボリューム内の該スカラー場のデータ値分布を特徴付けるような命令と、
前記スカラー場のデータ値と照射モデルとに依存する不透明性伝達関数を定義するための命令と、
各々が初期レイエネルギと断面とを有する複数のレイを２Ｄ画像平面から前記採取データセットに向けて選択的に投射するための命令と、
を含み、
前記２Ｄ画像平面上の選択された位置から放出された各レイに対しては、
前記レイと相互作用するための前記複数のサブボリュームの部分集合を選択するための命令と、
前記不透明性伝達関数と前記照射モデルを用いて、前記部分集合の各サブボリュームによって反射した前記レイエネルギを推定するための命令と、
前記２Ｄ画像平面上の前記選択された位置のピクセル値として、前記反射したレイエネルギを合計するための命令と、
を含み、
前記選択された位置での前記ピクセル値を用いて、前記２Ｄ画像平面上の他の位置のピクセル値を推定するための命令、
を更に含む、
ことを特徴とするシステム。
【請求項２２】
前記採取３Ｄデータセットをフラグメント化する段階は、
前記３Ｄデータセットを８つのサブボリュームにフラグメント化する段階と、
各サブボリュームに対して、それを最小サブボリュームのサイズが所定のサイズ限界に達するまで８つのより小さなサブボリュームに再帰的にフラグメント化する段階と、
を含むことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記所定のサイズ限界は、２×２×２の３Ｄセルを含むサブボリュームであり、各セルの８つのコーナは、前記スカラー場の８つのデータ値に関連していることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記セル内のどの位置の前記データ値も、該セルの前記８つのコーナの前記８つのデータ値を用いてトリリニア補間されることを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記パラメータの組は、前記サブボリューム内の前記スカラー場の最大値、平均値、及び最小データ値を含むことを特徴とする請求項２１に記載のシステム。
【請求項２６】
ルートノードと複数の中間ノードと複数の葉ノードとを含むオクトリを構成するための命令と、
前記ルートノードを前記３Ｄデータセットに関連付けるための命令と、
前記複数の葉ノードの各々を前記複数のサブボリュームからの最小サブボリュームに関連付けるための命令と、
前記複数の中間ノードの各々を前記最小サブボリュームよりも大きな前記複数のサブボリュームからのサブボリュームに関連付けるための命令と、
を更に含むことを特徴とする請求項２１に記載のシステム。
【請求項２７】
前記２Ｄ画像平面から複数のレイを選択的に投射するための命令は、
前記２Ｄ画像平面を複数のサブ平面に細分化する段階、
を含み、
前記複数のサブ平面の各々に対しては、
前記サブ平面の４つのコーナから４つのレイを投射し、各コーナでのピクセル値を推定する段階と、
前記サブ平面内の最大ピクセル値変動を計算する段階と、
前記サブ平面の前記最大ピクセル値変動が所定の画像化誤差閾値よりも小さくなるまで、該サブ平面の中心からレイを投射することにより、該サブ平面をより小さなサイズの複数の子サブ平面に再帰的に細分化する段階と、
を含む、
ことを特徴とする請求項２１に記載のシステム。
【請求項２８】
前記サブ平面内の最大ピクセル値変動は、該サブ平面の前記４つのコーナのピクセル値の該サブ平面の平均ピクセル値からの最大偏差として定義されることを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記所定の画像化誤差閾値は、ユーザによって提供された画像レンダリング速度、前記３Ｄデータセットに埋められたオブジェクトの縁部までの距離、及び適応レイキャスティングから推定されたピクセル値とバイリニア補間から推定されたピクセル値との間の差によって調整されることを特徴とする請求項２７に記載のシステム。
【請求項３０】
前記レイと相互作用するための複数のサブボリュームの部分集合を選択するための命令は、
前記レイ経路に沿った最大サブボリュームとそれに対応する最大及び最小データ値とを識別する段階と、
前記不透明性伝達関数が前記最大及び最小スカラー場値の間で単調に変化するかを検査する段階と、
を含み、
前記関数が単調に変化しない場合には、再帰的に、
前記レイ経路に沿ったより小さなサブボリュームとそれに対応する最大及び最小データ値とを識別し、
前記不透明性伝達関数が前記より小さなサブボリュームの前記最大及び最小スカラー場値の間で単調に変化するかを検査する、
段階を含み、
前記関数が単調に変化する場合には、
前記サブボリュームが前記レイと相互作用している間に該サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項２１に記載のシステム。
【請求項３１】
２つのルックアップテーブルが、前記不透明性伝達関数に関して構成され、それによって順方向ルックアップテーブルが、前記データ値の増加方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含み、逆方向ルックアップテーブルが、該データ値の減少方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含むことを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記サブボリュームの前記最大データ値が、該サブボリュームの前記最小データ値と前記順方向ルックアップテーブルに格納されたそれに対応するデータ値差との合計よりも小さいか、又は該サブボリュームの該最小データ値が、該サブボリュームの該最大データ値と前記逆方向ルックアップテーブルに格納されたそれに対応するデータ値差との間の差よりも大きい場合には、前記不透明性伝達関数は、該最小及び最大データ値の間で単調に変化することを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記部分集合の各サブボリュームによって反射したレイエネルギを推定するための命令は、
前記サブボリュームの最大エネルギ差を推定する段階と、
前記最大エネルギ差を所定のエネルギ誤差閾値に対して比較する段階と、
を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも大きい場合には、再帰的に、
前記レイ経路に沿ってより小さなサブボリュームを選択し、
前記より小さなサブボリュームの新しい最大エネルギ差を推定する、
段階を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも小さい場合には、
前記照射モデルを用いて前記サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項２１に記載のシステム。
【請求項３４】
前記最大エネルギ差は、前記不透明性伝達関数と前記サブボリュームの前記最大、平均、及び最小データ値とに依存することを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記サブボリュームによって反射したレイエネルギの量は、該サブボリューム内のレイ経路の長さ、該サブボリューム内の前記不透明性伝達関数、該サブボリュームの前記平均スカラー場値、及び該サブボリューム内のスカラー場の局所勾配ベクトルに依存することを特徴とする請求項３３に記載のシステム。
【請求項３６】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化しない場合には、該３Ｄセルは、最小サブセルの寸法が前記レイの断面の寸法に到達するまで複数のサブセルに更に分割されることを特徴とする請求項３３に記載のシステム。
【請求項３７】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化する場合には、該３Ｄセルの最大エネルギ差は、該サブボリュームの最大エネルギ差を２で割ることによって推定されることを特徴とする請求項３３に記載のシステム。
【請求項３８】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性伝達関数が該セル内で単調に変化し、かつ等表面が該３Ｄセルに存在する場合には、該３Ｄセルの最大エネルギ差は、該３Ｄセルの前記コーナでの８つのデータ値と該不透明性伝達関数とを用いて計算されることを特徴とする請求項３３に記載のシステム。
【請求項３９】
前記所定のエネルギ誤差閾値は、平行投影の場合には、ユーザによって指定された画像レンダリング速度とズーム因子により、又は透視投影の場合には、透視角と前記画像平面及び前記３Ｄデータセット間の透視距離とにより調整されることを特徴とする請求項３３に記載のシステム。
【請求項４０】
前記２Ｄ画像平面上の他の位置のピクセル値を推定するための命令は、
各位置に対して、
前記位置を取り囲む４つのレイ原点に付随する４つのピクセル値を選択する段階と、
前記４つのピクセル値を用いて前記位置でのピクセル値をバイリニア補間する段階と、
を含むことを特徴とする請求項２１に記載のシステム。
【請求項４１】
コンピュータ可読記憶媒体とそこに組み込まれたコンピュータプログラム機構とを含む、コンピュータシステムと共に使用するためのコンピュータプログラム製品であって、
前記コンピュータプログラム機構が、
スカラー場の採取３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化し、一組のデータ値パラメータに関連する各サブボリュームが、該サブボリューム内の該スカラー場のデータ値分布を特徴付けるような命令と、
前記スカラー場のデータ値と照射モデルとに依存する不透明性伝達関数を定義するための命令と、
各々が初期レイエネルギと断面とを有する複数のレイを２Ｄ画像平面から前記採取データセットに向けて選択的に投射するための命令と、
を含み、
前記２Ｄ画像平面上の選択された位置から放出された各レイに対しては、
前記レイと相互作用するための前記複数のサブボリュームの部分集合を選択するための命令と、
前記不透明性伝達関数と前記照射モデルを用いて、前記部分集合の各サブボリュームによって反射した前記レイエネルギを推定するための命令と、
前記２Ｄ画像平面上の前記選択された位置のピクセル値として、前記反射したレイエネルギを合計するための命令と、
を含み、
前記選択された位置での前記ピクセル値を用いて、前記２Ｄ画像平面上の他の位置のピクセル値を推定するための命令、
を更に含む、
ことを特徴とする製品。
【請求項４２】
前記採取３Ｄデータセットをフラグメント化する段階は、
前記３Ｄデータセットを８つのサブボリュームにフラグメント化する段階と、
各サブボリュームに対して、それを最小サブボリュームのサイズが所定のサイズ限界に達するまで８つのより小さなサブボリュームに再帰的にフラグメント化する段階と、
を含むことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項４３】
前記所定のサイズ限界は、２×２×２の３Ｄセルを含むサブボリュームであり、各セルの８つのコーナは、前記スカラー場の８つのデータ値に関連していることを特徴とする請求項４２に記載のコンピュータプログラム製品。
【請求項４４】
前記セル内のどの位置の前記データ値も、該セルの前記８つのコーナの前記８つのデータ値を用いてトリリニア補間されることを特徴とする請求項４３に記載のコンピュータプログラム製品。
【請求項４５】
前記パラメータの組は、前記サブボリューム内の前記スカラー場の最大値、平均値、及び最小データ値を含むことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項４６】
ルートノードと複数の中間ノードと複数の葉ノードとを含むオクトリを構成するための命令と、
前記ルートノードを前記３Ｄデータセットに関連付けるための命令と、
前記複数の葉ノードの各々を前記複数のサブボリュームからの最小サブボリュームに関連付けるための命令と、
前記複数の中間ノードの各々を前記最小サブボリュームよりも大きな前記複数のサブボリュームからのサブボリュームに関連付けるための命令と、
を更に含むことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項４７】
前記２Ｄ画像平面から複数のレイを選択的に投射するための命令は、
前記２Ｄ画像平面を複数のサブ平面に細分化する段階、
を含み、
前記複数のサブ平面の各々に対しては、
前記サブ平面の４つのコーナから４つのレイを投射し、各コーナでのピクセル値を推定する段階と、
前記サブ平面内の最大ピクセル値変動を計算する段階と、
前記サブ平面の前記最大ピクセル値変動が所定の画像化誤差閾値よりも小さくなるまで、該サブ平面の中心からレイを投射することにより、該サブ平面をより小さなサイズの複数の子サブ平面に再帰的に細分化する段階と、
を含む、
ことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項４８】
前記サブ平面内の最大ピクセル値変動は、該サブ平面の前記４つのコーナのピクセル値の該サブ平面の平均ピクセル値からの最大偏差として定義されることを特徴とする請求項４７に記載のコンピュータプログラム製品。
【請求項４９】
前記所定の画像化誤差閾値は、ユーザによって提供された画像レンダリング速度、前記３Ｄデータセットに埋められたオブジェクトの縁部までの距離、及び適応レイキャスティングから推定されたピクセル値とバイリニア補間から推定されたピクセル値との間の差によって調整されることを特徴とする請求項４７に記載のコンピュータプログラム製品。
【請求項５０】
前記レイと相互作用するための複数のサブボリュームの部分集合を選択するための命令は、
前記レイ経路に沿った最大サブボリュームとそれに対応する最大及び最小データ値とを識別する段階と、
前記不透明性伝達関数が前記最大及び最小スカラー場値の間で単調に変化するかを検査する段階と、
を含み、
前記関数が単調に変化しない場合には、再帰的に、
前記レイ経路に沿ったより小さなサブボリュームとそれに対応する最大及び最小データ値とを識別し、
前記不透明性伝達関数が前記より小さなサブボリュームの前記最大及び最小スカラー場値の間で単調に変化するかを検査する、
段階を含み、
前記関数が単調に変化する場合には、
前記サブボリュームが前記レイと相互作用している間に該サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項５１】
２つのルックアップテーブルが、前記不透明性伝達関数に関して構成され、それによって順方向ルックアップテーブルが、前記データ値の増加方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含み、逆方向ルックアップテーブルが、該データ値の減少方向に沿った該不透明性伝達関数の最も近い極値に対する該データ値の差を含むことを特徴とする請求項５０に記載のコンピュータプログラム製品。
【請求項５２】
前記サブボリュームの前記最大データ値が、該サブボリュームの前記最小データ値と前記順方向ルックアップテーブルに格納されたそれに対応するデータ値差との合計よりも小さいか、又は該サブボリュームの該最小データ値が、該サブボリュームの該最大データ値と前記逆方向ルックアップテーブルに格納されたそれに対応するデータ値差との間の差よりも大きい場合には、前記不透明性伝達関数は、該最小及び最大データ値の間で単調に変化することを特徴とする請求項５１に記載のコンピュータプログラム製品。
【請求項５３】
前記部分集合の各サブボリュームによって反射したレイエネルギを推定するための命令は、
前記サブボリュームの最大エネルギ差を推定する段階と、
前記最大エネルギ差を所定のエネルギ誤差閾値に対して比較する段階と、
を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも大きい場合には、再帰的に、
前記レイ経路に沿ってより小さなサブボリュームを選択し、
前記より小さなサブボリュームの新しい最大エネルギ差を推定する、
段階を含み、
前記最大エネルギ差が前記所定のエネルギ誤差閾値よりも小さい場合には、
前記照射モデルを用いて前記サブボリュームによって反射したレイエネルギの量を計算する段階、
を含む、
ことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項５４】
前記最大エネルギ差は、前記不透明性伝達関数と前記サブボリュームの前記最大、平均、及び最小データ値とに依存することを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項５５】
前記サブボリュームによって反射したレイエネルギの量は、該サブボリューム内のレイ経路の長さ、該サブボリューム内の前記不透明性伝達関数、該サブボリュームの前記平均スカラー場値、及び該サブボリューム内のスカラー場の局所勾配ベクトルに依存することを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項５６】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化しない場合には、該３Ｄセルは、最小サブセルの寸法が前記レイの断面の寸法に到達するまで複数のサブセルに更に分割されることを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項５７】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性関数が、該セル内で単調に変化する場合には、該３Ｄセルの最大エネルギ差は、該サブボリュームの最大エネルギ差を２で割ることによって推定されることを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項５８】
前記サブボリュームが、２×２×２の３Ｄセルを含む最小サブボリュームである場合には、前記より小さなサブボリュームは、該最小サブボリューム内の３Ｄセルであり、前記不透明性伝達関数が該セル内で単調に変化し、かつ等表面が該３Ｄセルに存在する場合には、該３Ｄセルの最大エネルギ差は、該３Ｄセルの前記コーナでの８つのデータ値と該不透明性伝達関数とを用いて計算されることを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項５９】
前記所定のエネルギ誤差閾値は、平行投影の場合には、ユーザによって指定された画像レンダリング速度とズーム因子により、又は透視投影の場合には、透視角と前記画像平面及び前記３Ｄデータセット間の透視距離とにより調整されることを特徴とする請求項５３に記載のコンピュータプログラム製品。
【請求項６０】
前記２Ｄ画像平面上の他の位置のピクセル値を推定するための命令は、
各位置に対して、
前記位置を取り囲む４つのレイ原点に付随する４つのピクセル値を選択する段階と、
前記４つのピクセル値を用いて前記位置でのピクセル値をバイリニア補間する段階と、
を含むことを特徴とする請求項４１に記載のコンピュータプログラム製品。
【請求項６１】
採取した３Ｄデータセットによって表された３Ｄオブジェクトの２Ｄ画像を発生させる方法であって、
採取した３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化し、一組のデータ値パラメータに関連する各サブボリュームが、該サブボリューム内のデータ値分布を特徴付ける段階と、
２Ｄ放射面から前記複数のサブボリュームに向けて、各々が初期レイエネルギと断面とを有し、かつ該２Ｄ放射面に対して所定の方向に放出される複数のレイを選択的に投射する段階と、
２Ｄ画像平面上の複数の位置で、前記複数のサブボリュームの部分集合によって反射される少なくとも１つのレイに付随するレイエネルギの量を各々が特徴付ける複数のピクセル値を選択的に発生させる段階と、
前記２Ｄ画像平面上の前記複数の位置の前記複数のピクセル値の部分集合を用いて、該２Ｄ画像平面上の他の位置のピクセル値を推定する段階と、
を含むことを特徴とする方法。
【請求項６２】
初期レイエネルギのレイがその経路に沿って３Ｄデータセットと相互作用する時に、３Ｄオブジェクトを表す該３Ｄデータセットによって反射したレイエネルギの量を推定する方法であって、
３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化し、一組のデータ値パラメータに関連する各サブボリュームが、該サブボリューム内の最大、平均、及び最小データ値を含む段階と、
前記３Ｄデータセットのデータ値に依存し、異なるデータ値で複数の極値を有する不透明性伝達関数を定義する段階と、
順方向ルックアップテーブルと逆方向ルックアップテーブルを構成し、該順方向ルックアップテーブルの各エントリが、データ値の増加方向に沿った前記不透明性伝達関数の極値に対するデータ値の差を含み、該逆方向ルックアップテーブルの各エントリが、データ値の減少方向に沿った該不透明性伝達関数の極値に対するデータ値の差を含む段階と、
選択したサブボリュームの最大データ値が、該選択したサブボリュームの最小データ値と前記順方向ルックアップテーブルによるそれに対応するデータ値差との合計よりも小さいか、又は最小データ値が、最大データ値と前記逆方向ルックアップテーブルによるそれに対応するデータ値差との間の差よりも大きいように、前記レイ経路に沿って一組のサブボリュームを選択する段階と、
前記選択した組の各サブボリュームに対して、所定の照射モデルに従って、前記サブボリュームにより所定の反射方向に反射されたレイエネルギの量を推定する段階と、
前記３Ｄデータセットによって反射したレイエネルギの量として、前記選択した組の各サブボリュームによって反射された前記レイエネルギの量を互いに合計する段階と、
を含むことを特徴とする方法。
【請求項６３】
第１の変数値と第２の変数値の間の変数によって変化する関数の単調性を判断する方法であって、
第１の変数値に最も近く、かつそれよりも大きい第１の極値を特定する段階と、
前記第１の極値を第２の変数値と比較する段階と、
前記第２の変数値に最も近く、かつそれよりも小さい第２の極値を特定する段階と、
前記第２の極値を前記第１の変数値と比較する段階と、
を含むことを特徴とする方法。
【請求項６４】
前記関数は、前記第１の極値が前記第２の変数値よりも大きいか又は前記第２の極値が前記第１の変数値よりも小さいかのいずれかの場合に、該第１の変数値と該第２の変数値の間で単調であることを特徴とする請求項６３に記載の方法。
【請求項６５】
画像ボリュームを表すためのデータ構造であって、
ルートノードと複数の中間ノードと複数の葉ノードとを有し、各非葉ノードが８つの子ノードを有するオクトリの構成と、
前記オクトリの前記ルートノードとの画像ボリュームの関連付けと、
前記画像ボリュームの８つのサブボリュームへのフラグメント化、及び前記ルートノードの１つの子とのサブボリュームの関連付けと、
再帰的な、サブボリュームの８つのより小さなサブボリュームへのフラグメント化及び該サブボリュームに付随するノードの１つの子とのより小さなサブボリュームの関連付けと、
を含むことを特徴とする構造。
【請求項６６】
適応直接ボリュームレンダリングシステムであって、
プログラムを実行するための１つ又はそれよりも多くの中央演算処理装置を各々が有する複数のホストと、
複数のボリュームレンダリングパラメータを受け取るためのユーザインタフェースと、
画像ボリュームを格納するためのデータ記憶装置と、
各々が前記複数のホストの少なくとも１つで実行される複数の適応直接ボリュームレンダリングエンジンと、
を含むことを特徴とするシステム。
【請求項６７】
前記画像ボリュームは、複数のサブボリュームに仕切られ、各エンジンは、少なくとも１つのサブボリュームを処理して少なくとも１つのサブ画像を発生させることを特徴とする請求項６６に記載のシステム。
【請求項６８】
前記複数のホストの少なくとも１つは、複数の前記サブ画像を一緒に集めてディスプレイ又は出力装置上に画像を作り出すことを特徴とする請求項６７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ボリュームデータレンダリングの分野に関するものであり、より詳細には、適応データ表現、レイキャスティング、及びデータ補間技術を用いてボリュームデータセットをレンダリングする方法及びシステムに関する。
【背景技術】
【０００２】
３Ｄオブジェクト及び２Ｄ画像の内部構造の可視化は、コンピュータグラフィックの分野内の重要な話題であり、医学、地球科学、製造、及び薬物発見を含む多くの産業に応用されている。
【０００３】
例えば、ＣＴスキャナは、異なる器官、例えば心臓を含む患者の身体の数百又は数千の平行２Ｄ画像スライスを生成することができ、各スライスは、データ値の２Ｄアレイを含み、各データ値は、特定の部位での身体のスカラー属性、例えば密度を表している。全てのスライスを互いに積み重ねて、心臓が埋め込まれた患者の身体の画像ボリューム又はボリュームデータセットを形成する。心臓の３Ｄ構造特性を示す２Ｄ画像は、心血管疾患の診断における重要な助けになる。
【０００４】
別の例として、石油業界では、地震学的撮像技術を用いて地球内の３Ｄ領域の３Ｄ画像ボリュームを作り出している。断層又は岩塩ドームのような一部の重要な地質構造は、その領域内に埋め込まれている場合があり、必ずしも領域の表面上とは限らない。同様に、これらの構造の３Ｄ特性を完全に示す２Ｄ画像は、石油生産を増す上で極めて重要である。
【０００５】
直接ボリュームレンダリングは３Ｄ画像ボリュームによって表された中実領域の内部を２Ｄ画像平面上、例えばコンピュータモニタ上に可視化するために開発された技術である。一般的に、画像ボリューム内のいずれの点のスカラー属性又はボクセも、一組のルックアップテーブルによって定義することができる色又は不透明性のような複数の光学特性と関連付けられる。２Ｄ画像平面は、各々が赤色、緑色、及び青色成分を有する画素つまりピクセルの規則的に離間したグリッドから成っている。複数のレイが２Ｄ画像平面からボリュームの中に投射され、それらは、そのボリュームによって減衰又は反射される。各レイの減衰又は反射レイエネルギの量は、画像ボリューム内に埋められたオブジェクトの３Ｄ特性、例えば、それらの形状及び向きを示し、更に、対応するレイ経路に沿ったボリュームの不透明性及び色マッピングに従って２Ｄ画像平面上のピクセル値を判断する。２Ｄ画像平面上の複数のレイ原点に付随するピクセル値により、コンピュータモニタ上でレンダリングすることができる画像が形成される。直接ボリュームレンダリングのより詳細な説明は、Ｆｏｌｅｙ、Ｖａｎ  Ｄａｍ、Ｆｅｉｎｅｒ、及びＨｕｇｈｅｓ共著「コンピュータグラフィックの原理と実施」、第２版、「Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ」（１９９６年）、１１３４頁から１１３９頁で説明されている。
【０００６】
上述のＣＴの例に戻ると、医師がいずれかの方向に画像ボリュームを遮ることによって心臓の２Ｄ画像スライスを任意に作り出すことができるとしても、どの単一の画像スライスも心臓の表面全体を可視化することはできない。これとは対照的に、ＣＴ画像ボリュームの直接ボリュームレンダリングを通じて作り出した２Ｄ画像は、心臓の３Ｄ特性を容易に示すことができ、これは、多くの種類の心血管疾患診断において非常に重要である。同様に、石油探査においては、３Ｄ地震データの直接ボリュームレンダリングは、石油技術者が潜在的な油田である領域に埋め込まれた地質構造の３Ｄ特性をより正確に判断して石油生産を大幅に増すことを助けることができる強力なツールであることが証明されている。
【０００７】
直接ボリュームレンダリングは、多くの重要な分野で重要な役割を果たすとしても、直接ボリュームレンダリング技術の幅広い展開を保証するために克服する必要があるいくつかの技術的課題が存在する。第１に、直接ボリュームレンダリングは、計算的に高価な処理である。３Ｄターゲットの３Ｄ特性を捕捉することができる高品質２Ｄ画像を生成するためには、直接ボリュームレンダリングでは、大きな３Ｄデータセットを処理する必要があり、これは、通常は多数の計算を意味する。例えば、５１２3ボクセルの一般的な３Ｄデータセットに対して、従来の直接ボリュームレンダリングアルゴリズムを用いて５１２2ピクセルの２Ｄ画像を生成するのに少なくとも１億４０００万回の計算が必要である。
【０００８】
更に、多くの用途では、各２Ｄ画像が異なる視角又は可視化パラグラフを有する３Ｄデータセットの連続２Ｄ画像をユーザが大きな遅延なく見ることができるように、３Ｄデータセットの直接ボリュームレンダリングは、リアルタイムで作動することが要求される。医療用撮像においては、毎秒少なくとも６フレームの連続２Ｄ画像レンダリングがリアルタイム対話式フィードバックに対する必要性を満たすことが一般的に受け入れられている。これは、毎秒ほほ１０億回の計算と同等である。
【０００９】
最新コンピュータの限定された計算能力に鑑みて、直接ボリュームレンダリングの計算コストを低減するためにより効率的なアルゴリズムが開発されてきた。しかし、これらのアルゴリズムの多くは、作り出された２Ｄ画像の品質を犠牲にしてその効率を達成している。例えば、連続オブジェクトの個別の表現に関する一般的な問題は、ジッター効果であり、これは、ユーザが連続オブジェクトの更に詳細を見るために拡大した時に最も明白である。ジッター効果が慎重に制御されなかった場合、それは、直接ボリュームレンダリングアルゴリズムによって作り出された画像の品質を大幅に損なう場合がある。
【００１０】
従って、レンダリング効率を増し、同時に画質品質に及ぼす影響がより小さいか又は好ましくは感知できない新しい直接ボリュームレンダリング方法及びシステムを開発することが望ましいと考えられる。
【００１１】
【非特許文献１】Ｆｏｌｅｙ、Ｖａｎ  Ｄａｍ、Ｆｅｉｎｅｒ、及びＨｕｇｈｅｓ共著「コンピュータグラフィックの原理と実施」、第２版、「Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ」（１９９６年）、１１３４頁から１１３９頁
【発明の開示】
【００１２】
本発明の好ましい実施形態は、適応データ表現技術、レイキャスティング技術、及びデータ補間技術を用いて３Ｄデータセットによって表された３Ｄオブジェクトの高品質２Ｄ画像を発生させる適応直接ボリュームレンダリング方法及びシステムである。
【００１３】
本方法及びシステムは、最初に、３Ｄデータセットを異なるサイズの複数のサブボリュームにフラグメント化してデータ構造、例えばオクトリを構成し、オクトリのノードをデータセットの異なるサブボリュームに関連付け、各サブボリュームはまた、サブボリューム内のデータ値分布を特徴付ける一組のデータ値パラメータを有する。
【００１４】
本方法及びシステムは、次に、複数のレイを２Ｄ放射面から３Ｄデータセットに向けて投射する。一般的に平行投影と称する一実施形態では、複数のレイは、互いに平行であり、各レイは、その固有の原点を有する。一般的に透視投影と称する別の実施形態では、複数のレイは、全てが同じ原点から放出され、各レイは、３Ｄデータセットに対して固有の放出角を形成する。ある一定の初期エネルギを運び、かつある一定の断面又はレイ厚みを有する各レイは、その経路に沿って３Ｄデータセット内の一連のサブボリュームと相互作用する。
【００１５】
レイとサブボリュームの間の各相互作用に対して、レイが所定の不透明性伝達関数に従ってその初期エネルギの一部分を損失する計算が行われる。レイキャスティング処理は、レイの残留エネルギが所定の残留エネルギ閾値よりも小さいか又はレイがデータセットを出るまで、レイ経路上の連続的なサブボリュームを通じて続行される。損失レイエネルギの一部は、所定の照射モデルに従って２Ｄ画像平面に向けて反射される。異なるサブボリュームによって反射されたレイエネルギは、２Ｄ画像平面の選択された位置に蓄積され、データセットに埋められた３Ｄオブジェクトの画像が生成される。
【００１６】
レイキャスティングの計算経費を低減するために、本方法及びシステムは、常に、レイと相互作用するためのある一定の所定の条件を満たす最大サイズのサブボリュームを選択しようとする。重要な条件の１つは、不透明性伝達関数がレイと相互作用するサブボリューム内で単調に変化することを要求する。一実施形態では、オクトリのルートノードに付随する画像ボリューム全体が、レイと相互作用するために選択される。不透明性伝達関数は、画像ボリューム全体内で単調に変化することは稀であるから、画像ボリュームは、より小さなサブボリュームにフラグメント化され、レイ経路に沿ってレイ原点に最も近く、かつルートノードの子ノードに付随するより小さなサブボリュームの１つが次に試験され、所定の条件を満足するかが判断される。このフラグメント化及び試験処理は、全ての条件を満足するサブボリュームが見つかるまで再帰的に続行される。
【００１７】
サブボリューム内の不透明性伝達関数分布を迅速に判断するために、２つの予め構成したルックアップテーブル、つまり、順方向ルックアップテーブルと逆方向ルックアップテーブルが、不透明性伝達関数の複数の極値に関連して作り出される。具体的には、順方向ルックアップテーブルの各エントリは、増加方向に沿った最も近くの極値に対するデータ値からの差を含み、逆方向ルックアップテーブルの各エントリは、減少方向に沿った最も近くの極値に対するデータ値からの差を含む。
【００１８】
レイと相互作用するためのサブボリュームを最終的に選択した状態で、反射レイエネルギ量を計算するために修正フォン照射モデルを使用する。修正フォン照射モデルによると、サブボリュームは、一定の不透明性を有する均質体として処理される。更に、サブボリューム内のデータ値分布の勾配が推定され、サブボリューム内の反射面の方向を表す。勾配は、レイとの入射角を形成する。この情報に基づいて、修正フォン照射モデルに従って反射レイエネルギを計算することは容易である。
【００１９】
一実施形態では、２Ｄ放射面は、２Ｄ画像平面と部分的に重複し、選択された位置は、複数のレイの原点である。この場合、修正フォン照射モデルを用いた反射レイエネルギの計算は、入射角と反射角は同じであることから更に簡単である。その結果、各レイ経路に沿って一連のサブボリュームによって反射したレイエネルギは、２Ｄ放射面上のレイ原点でのピクセル値として集められる。
【００２０】
直接ボリュームレンダリングアルゴリズムの計算経費及び画像解像度は、主としてレイの数によって判断される。最新のコンピュータハードウエアで妥当な期間内に処理することができる限定された数のレイに鑑みて、本方法及びシステムは、２Ｄ放射面上のレイ原点を、２Ｄ画像平面上のそれらのレイに付随するピクセル値がデータセットに埋め込まれた３Ｄオブジェクトの重要な３Ｄ特性を有効に捕捉することができるように最適化する。
【００２１】
一実施形態では、４つのレイが、最初に２Ｄ放射面の４つのコーナから放出される。２Ｄ画像平面の４つのコーナでの４つピクセル値を取得した後に、本方法及びシステムは、所定の画像化誤差閾値に照らしてそれらの値の変動を検査する。変動が閾値を超える場合、更に１つのレイを放射面の中心から放出し、それによって２Ｄ放射面及び２Ｄ画像平面をそれぞれ４つのサブ平面に分割する。各サブ平面内のピクセル値の変動は、所定の画像化誤差閾値に照らして更に検査される。変動が閾値を超えるあらゆるサブ平面は、どのサブ平面の変動も閾値よりも小さくなるまで更に再帰的に分割される。
【００２２】
最後に、本方法及びシステムは、画像平面上の周囲ピクセル値に基づいて、レイ原点ではない２Ｄ画像平面上の各ピクセルにおける値を推定する。一実施形態では、これらのピクセル値は、所定の画像化誤差閾値を満足した最小サブ平面の４つのコーナにあるピクセル値のバイリニア補間の結果である。
【００２３】
本発明の以上の特徴及び利点、並びにその付加的な特徴及び利点は、図面と共に本発明の好ましい実施形態の詳細説明の結果として以下においてより明確に理解されるであろう。
【発明を実施するための最良の形態】
【００２４】
図１（Ａ）及び図１（Ｂ）は、本発明の２つの実施形態を用いて直接ボリュームレンダリングの基本原理を概略的に示している。直交座標（ｘ、ｙ、ｚ）によって表された３Ｄドメインにおいては、１つ又はそれよりも多くの３Ｄオブジェクトを表す画像ボリューム１０６がある。直接ボリュームレンダリングでは、複数のレイ１０４を画像ボリューム１０６に投射し、３Ｄオブジェクトの３Ｄ特性を可視化するようにレイと画像ボリュームの間の相互作用を模擬することによって２Ｄ画像を発生させる。尚、本発明の状況におけるレイの形状は１Ｄ線ではなく、以下で説明する異なるレイ構成に依存するが３Ｄチューブ又はコーンである。
【００２５】
図１（Ａ）に示す実施形態では、複数のレイ１０４を放射面１０２上の異なる位置から放出すると、各レイは、別のものに平行に画像ボリューム１０６に向けて進む。レイの形状は、レイ厚みとも呼ばれる一定のサイズの断面を有するチューブ１０３である。異なるレイは、２Ｄ放射面１０２に部分的に重なる２Ｄ画像平面１０１上の異なるピクセルに対応し、各ピクセル値は、少なくとも１つのレイと画像ボリュームの間の相互作用によって判断される。このようなレイ構成は、平行投影と呼ばれる。
【００２６】
図１（Ｂ）に示す実施形態では、複数のレイ１０４を放射面１０２上の同じレイ原点１０７から放出し、各レイは、画像ボリューム１０６に対して固有の透視角を有する。その結果、各個々のレイの形状は、レイ経路に沿って可変サイズの断面を有するコーン１０５であり、従って、レイ厚みは、視角１０８とレイ原点及び画像ボリューム間の距離１０９の両方の関数である。同様に、異なるレイは、２Ｄ画像平面１０１上の異なるピクセルに対応し、各ピクセル値は、少なくとも１つのレイと画像ボリュームの間の相互作用によって判断される。このようなレイ構成は、透視投影と呼ばれる。
【００２７】
放射面１０２と画像平面１０１は、上述の２つの実施形態では互いに重なり合うことに注意されたい。しかし、この２つの平面が異なる位置に位置決めされた場合も同じ原理がまだ有効である。従って、これらの場合に本発明の教示内容を適用することは、当業者には簡単である。簡素化を期して、以下では図１（Ａ）及び図１（Ｂ）に示す２つの実施形態を中心に説明する。
【００２８】
一般的に２Ｄ画像の画像解像度は、単位面積当たりのピクセル数に依存する。実際には、画像当たりのピクセル総数は、定数、例えば５１２2であることが多く、これは、コンピュータモニタ上のピクセル数に依存する。従って、レイチューブ１０３の断面積を小さくすることによって単位面積当たりのピクセル数を多くすることにより、より高い画像解像度が達成され、放射面をレイ経路に沿って画像ボリューム１０６から離したり又は近づけたりしても画像解像度には影響はない。これとは対照的に、視角１０８又は距離１０９又はその両方を小さくすることにより、透視投影においてより高い解像度が達成される。
【００２９】
一例として、図１（Ｃ）は、画像解像度がレイ厚みとして変化する様子を示している。簡素化を期すために、各画像は、１０2＝１００ピクセルのみを有する。グリッド１１０−１のレイ厚みがＳの場合は、それぞれ、１１２−１のレイ厚みは４Ｓ、１１４−１のレイ厚みは１６Ｓである。その結果、グリッド１１４−２上に発生した画像１１４−２は、最低の解像度を有し、グリッド１１０−１上に発生した画像１１０−２は、最高の解像度を有する。平行投影では、放射面のサイズを小さくしてその平面上の単位面積当たりのレイ原点の密度を大きくすることによってこのような拡大効果を達成し、また、透視投影では、放射面を３Ｄオブジェクトに近づけることによって同じ効果を達成することができる。
【００３０】
初期エネルギ量を有する各レイは、レイ経路に沿って画像ボリューム１０６の一部と相互作用する。画像ボリュームの異なる物理的特性、例えば、不透明性により、レイが画像ボリュームを通る時に損失するレイエネルギ量は異なる場合がある。例えば、レイ経路に沿った画像ボリューム１０６の不透明性がゼロ、つまり、画像ボリューム１０６のその部分が透明である場合は、レイが損失するエネルギはないと考えられ、又は、表面の画像ボリューム１０６の不透明性が１、つまり、画像ボリュームのその部分が完全に不透明である場合は、全てのレイエネルギは、画像ボリューム１０６の表面によって反射されると考えられる。より一般的かつ複雑なシナリオとしては、レイと画像ボリュームの間の相互作用の最中に、レイエネルギの一部がレイ経路に沿って画像ボリューム１０６内に埋められた異なるオブジェクトによって反射し、レイは、ある一定量の残留エネルギを伴って他方の側から画像ボリューム１０６を出る。レイ経路上のある地点での全ての反射エネルギの蓄積は、そのレイ原点でのピクセル値になる。従って、放射面１０２上の全てのピクセル値は、画像ボリューム１０６内に埋められた３Ｄオブジェクトの画像を構成する。
【００３１】
画像ボリューム１０６は、通常、図１（Ｄ）に示すように３Ｄデータセット１１６によって表される。３Ｄデータセットの各ボクセルは、画像ボリューム内の特定の位置にある画像の少なくとも１つの物理的属性を示すスカラー値である。図１（Ｄ）に示すように、３Ｄデータセット１１６は、３つの直交する座標（ｘ、ｙ、ｚ）を有する。いずれの座標に沿っても、データセットは、その方向に垂直方向に向けられた２Ｄデータスライスのスタックを含む。各データスライスは、他の２つの座標に沿った規則的な格子上のボクセルデータ値の２Ｄアレイである。例えば、それぞれ、方向ｚ、ｘ、及びｙに垂直な３つの直交データスライス１１６−１、１１６−２、１１６−３は、画像ボリューム１０６の３つの異なる限定された透視になる。
【００３２】
本発明の直接ボリュームレンダリング方法は、図２に示すように３つの大きな段階を含むことが好ましい。段階２０１で、本方法は、最初に画像ボリュームを異なるサイズの複数のサブボリュームにフラグメント化し、各サブボリュームは、サブボリューム内のデータ分布を特徴付ける一組のパラメータと関連付けられる。
【００３３】
段階２０３で、本方法は、画像ボリュームからある一定の距離を隔てて位置し、かつ画像ボリュームに向けてある一定の方向に向けられた画像平面から、画像ボリュームに向けて複数のレイを放出させる。各レイは、ある一定のレイエネルギ量を運び、レイ経路に沿って位置するサブボリュームの部分集合と選択的に相互作用する。一組の所定の可視化パラメータに従ってレイと相互作用するサブボリュームによって反射したレイエネルギを合計すると、画像平面上のレイ原点でのピクセル値になる。反射レイエネルギの計算に関する更なる詳細を以下に示す。
【００３４】
最後に、段階２０５で、本方法は、レイ原点ではない画像平面上のいずれの位置のピクセル値も推定し、画像平面の位置及び方向から見た画像ボリュームの３Ｄ特性を可視化する２Ｄ画像を生成する。段階２０３及び段階２０５を繰り返すと、画像平面の位置及び方向が変化するか又は異なる可視化パラメータが適用された時に一連の新しい画像を発生させることができる。
【００３５】
画像ボリュームフラグメント化
本発明の一実施形態によれば、画像ボリュームをまず一組のサブボリュームにフラグメント化する。各サブボリュームを更により小さなサブボリュームにまでフラグメント化する。このような再帰的フラグメント化は、最小サブボリュームが所定のサイズ限界に到達するまで続行される。最後に、全てのサブボリュームをデータ構造に関連付けて元の画像ボリュームの新しい図を形成する。
【００３６】
図３（Ａ）は、複数のサブボリューム、この場合は５８５個のサブボリュームへの３Ｄデータセット３０２のフラグメント化の一例を示すものである。これらの５８５個のサブボリュームは、４つのフラグメント化レベルＩ、ＩＩ、ＩＩＩ、及びＩＶに属する。例示を目的として、より小さなサイズの他のサブボリュームを露出させるために、異なるサイズのいくつかのサブボリューム、例えば、ＩＩ−２、ＩＩＩ−２、ＩＶ−２を図３のデータセット３０２から既に取り除いている。５８５個のサブボリュームの各々をサイズに基づいてオクトリデータ構造３０４の１つのノードと関連付ける。図示を簡素化するために、図３（Ａ）のオクトリ３０４では、サブボリュームの部分集合のみを示している。
【００３７】
フラグメント化レベルＩから始まって、データセット３０２全体は、１つのサブボリュームＩ−１として処理され、オクトリ３０４のルートノードに関連する。フラグメント化レベルＩＩでは、データセット３０２は、仕切られて同じサイズの８つのサブボリュームにされ、各サブボリューム、例えばＩＩ−６は、レベルＩＩでオクトリ３０４の１つの中間ノードに関連する。更に、フラグメント化レベルＩＩＩでは、サブボリュームＩＩ−６のような各サブボリュームは、８つのより小さなサブボリュームＩＩＩ−１、ＩＩＩ−２、．．．、及びＩＩＩ−８に分割され、同様に、ＩＩＩ−６のような各サブボリュームは、レベルＩＩＩの中間ノードに関連する。最後に、フラグメント化レベルＩＶでは、サブボリュームＩＩＩ−６のような各サブボリュームは、仕切られて別の８つのサブボリューム（サブボリュームＩＶ−６を含む）にされ、レベルＩＶの各サブボリュームは、オクトリ３０４の葉ノードに関連する。レベルＩには８0個のサブボリュームがあり、レベルＩＩには８1個のサブボリュームがあり、レベルＩＩＩには８2個のサブボリュームがあり、レベルＩＶには８3個のサブボリュームがあることから、データセット３０２を異なるフラグメント化レベルで合計で、
８0＋８1＋８2＋８3＝１＋８＋６４＋５１２＝５８５
個のサブボリュームにフラグメント化する。
【００３８】
各サブボリュームは、このサブボリューム内のデータ分布を特徴付ける一組のパラメータと関連する。一実施形態では、この組のパラメータとしては、３つの要素がある。
・サブボリューム内の画像データの最小値を表すＶmin、
・サブボリューム内の画像データの平均値を表すＶavg、及び
・サブボリューム内の画像データの最大値を表すＶmax
【００３９】
図３（Ａ）に示すように、画像ボリュームフラグメント化は、再帰的処理である。このフラグメント化処理は、最小サブボリュームが指定のサイズ限界に到達するまで停止されない。一実施形態では、この所定のサイズ限界つまりオクトリ葉ノードに付随する最小サブボリュームは、画像データセット内の２×２×２セル又はボクセルを含むサブボリュームである。セル又はボクセルは、画像ボリュームのいくつかのデータ値に付随する画像データセット内の最小単位である。例えば、画像ボリュームが直接ボリュームレンダリングでは一般的である５１２3個のセルを有し、かつ最小サブボリュームが２×２×２セルを有する場合、画像ボリュームフラグメント化処理は、フラグメント化レベルＩＸまで続くと、最小サブボリュームの数は２５６3である。
【００４０】
図３（Ｂ）は、３つの直交方向の各々に互いに隣接する２つのセル又はボクセルがあるように配置されたサブボリューム３０６の８つのセル又はボクセルを示している。ボクセル３０８は、１つの採取データ値、例えば、Ｖ0に中心がある立方体である。ボクセル内のデータ値は一定であることが好ましく、従って、ボクセルの境界に沿ってデータ値の不連続があるとすることができる。これとは対照的に、セル３１０は、８つの採取データ値Ｖ1からＶ8を立方体の８つのコーナの各々に１つずつ有する同じサイズの立方体である。本発明の一実施形態では、セル内のいずれの点のデータ値もトリリニア補間によって概算し、データ値は、セルの境界に沿って変動する。
【００４１】
原点がセル３１０の中心にある３Ｄ直交座標系があり、セルの３つの縁部の長さが、それぞれ、Ｄx、Ｄy、Ｄzであると仮定すると、セル内のいずれかの点Ｖ（ｘ、ｙ、ｚ）でのデータ値は、以下のように、セルＶ1からＶ8の８つのコーナでのデータ値の関数としてトリリニア補間によって表すことができる。
【数１】
2007503060.tif 000002
【００４２】
本発明は、いずれのフォーマット、セル、又はボクセルで表された画像ボリュームにも等しく適用されることが当業者には明らかである。簡素化を期すために、以下では一例としてセル表示を中心として説明する。
【００４３】
最小サブボリュームのサイズの選択は、直接ボリュームレンダリングアルゴリズムの効率、精度、及び計算経費間の妥協点になる。一般的に、最小サブボリュームサイズが大きくなる場合、直接ボリュームレンダリングに必要とされるメモリなどのコンピュータリソース数は少なくなり、対応する画像レンダリング速度つまり毎秒のフレーム（ＦＰＳ）は大きくなるが、より低い画像解像度という犠牲を払っている。他方、最小サブボリュームのサイズが単一のセルのレベルまで小さくなり、それによってより高い画像解像度が達成される場合、対応するオクトリを割り当てるのに使用されるメモリは、図３（Ａ）のオクトリ３０４を割り当てるのに使用されるメモリの８倍になることになる。
【００４４】
図４は、上述の画像ボリュームフラグメント化並びオクトリ構造のコンピュータプログラムを要約した流れ図である。段階４０１では、コンピュータプログラムは３Ｄデータセットを受け取り、３Ｄデータセットをオクトリのルートノードと関連付けることにより、オクトリデータ構造を初期化する。段階４０３では、データセットを８つのサブボリュームにフラグメント化し、各サブボリュームがルートノードの１つの子ノードに関連付けられるように、８つの子ノードをルートノードで発生させる。
【００４５】
段階４０５から始まって、最小サブボリュームが指定のサイズ限界に達するまで、各サブボリュームをより小さなサブボリュームに再帰的にフラグメント化する。段階４０５では、コンピュータプログラムは、最初に、サブボリュームのサイズが指定のサイズ限界、例えば、２×２×２セルのサブボリュームに達したかを検査する。達していない場合、段階４０７では、サブボリュームを８つのより小さなサブボリュームにフラグメント化する。８つのより小さなサブボリュームの１つを拾うと、再帰的フラグメント化が段階４０５で再び始まる。
【００４６】
サブボリュームのサイズが指定のサイズ限界、例えば、２×２×２セルに達した場合、コンピュータプログラムは、段階４０９でこのサブボリュームをフラグメント化するのを止め、サブボリュームに付随するオクトリの対応するノードは、オクトリの葉ノードの１つである。段階４１１では、コンピュータプログラムは、２×２×２セルまでフラグメント化されていない他のサブボリュームがあるかを検査する。ある場合には、上述のサブボリュームの１つを選択して、再帰的フラグメント化も再度段階４０５で開始される。ない場合には、画像ボリュームフラグメント化は終了である。
【００４７】
上述のように、各サブボリュームは、２Ｄ画像平面上のピクセル値を計算するのに使用される（Ｖmin、Ｖavg、Ｖmax）のような一組のパラメータに関連付けられる。一実施形態では、この計算は、図３（Ａ）のオクトリ３０４のような画像ボリュームのフラグメント化した表現からの恩典を得るために、上述の再帰的画像ボリュームフラグメント化から分離されている。例えば、３Ｄデータセットをフラグメント化してオクトリを構成した後に、コンピュータは、オクトリの葉ノードレベルから始まり、図３（Ａ）のサブボリュームＩＶ−６のような葉ノードに付随するサブボリュームに対する対応するＶmin、Ｖavg、及びＶmaxを計算する。葉ノードに付随する各サブボリュームは、８つのセルを含むのみであり、かつ、各セルは、大半は２つ又はそれよりも多くのセルによって共有される８つのデータ値を有することから、コンピュータは、ハードディスクのようなコンピュータ記憶装置から２７個のボクセルデータ値を検索し、サブボリュームの（Ｖmin、Ｖavg、Ｖmax）を計算する必要があるだけである。
【００４８】
葉ノードレベルの全てのサブボリュームを処理した後に、コンピュータプログラムは、オクトリ３０４に沿ってレベルを１つ上げ、中間ノードに付随するＩＩＩ−６のようなサブボリュームの対応するパラメータを計算する。そして、これは、それがルートノードに達するまでオクトリ３０４に沿って登り続ける。各中間ノードは、８つの子ノードを有し、各子ノードは、パラメータが既に前の段階で判断されているサブボリュームに付随するものであることから、この中間ノードの各データ値パラメータを８つの子ノードに付随する８つのパラメータの関数として容易に表すことができる。
・Ｖmin＝Ｍｉｎ（Ｖmin_1，Ｖmin_2，．．．，Ｖmin_8）、
・Ｖavg＝（Ｖavg_1＋Ｖavg_2＋．．．＋Ｖavg_8）／８、及び
・Ｖmax＝Ｍａｘ（Ｖmax_1，Ｖmax_2，．．．，Ｖmax_8）
【００４９】
以下で明らかになるように、データ値パラメータのこの発生は、図３（Ａ）に示すようにルートノードレベルで始まって葉ノードレベルまで下方に移動するオクトリ構成とは反対の方向に進む。データ値パラメータ発生のこの下から上の手法は、オクトリのより低いレベルにある計算結果を最大に再利用することから最も効率的である。
【００５０】
段階２０１の終わりでは、元の画像ボリュームの新しい表現が直接ボリュームレンダリング方法の段階２０３に利用可能である。この表現は、オクトリ及び異なるサイズの複数のサブボリュームを含み、オクトリの１つのノードに付随し、かつ一組のデータパラメータを有する各サブボリュームは、サブボリューム内のデータ分布を特徴付ける。
【００５１】
３Ｄ適応レイキャスティング
図１に示すように、画像ボリューム１０６の２Ｄ画像１０８を発生させるために、２Ｄ画像平面１０２を画像ボリュームの近くに定め（又は画像ボリューム内とすることができる）、その後、複数のレイ１０４が２Ｄ画像平面１０２から画像ボリューム１０６に向けて放出されると仮定する。レイキャスティングの基本的な考え方は、３Ｄオブジェクトを貫通する光線などの物理的処理を模擬することである。現実の世界では、光線と３Ｄオブジェクトの間の相互作用のために、光線エネルギの一部は光線原点に反射し、一部は全ての方向に散乱し、一部は吸収され、残りのエネルギはオブジェクトを通る。異なる位置（平行投影）又は同じ位置（透視投影）から放出された複数の光線に付随する全ての反射エネルギを合計すると、３Ｄオブジェクトの画像が得られる。すなわち、反射エネルギは、オブジェクトの可視特性、例えば、その色合いや輝度をある程度を反映することができる。不透明性、放射率、色などのようなオブジェクトの光学的属性、並びに形状及び向きのような幾何学的特性により、３Ｄオブジェクトの部分が異なれば、反射することができるレイエネルギ量が異なる。
【００５２】
本発明は、上述の物理的処理を模擬する数値アルゴリズムを含む。このアルゴリズムでは、最初に、ある一定の初期レイエネルギ量及び断面を有するレイの数学的モデルを構築し、３Ｄオブジェクトを個別の３Ｄデータセットとして表し、データセットの各要素は、所定の伝達関数、例えば、レイと３Ｄオブジェクトの間の相互作用中に消散されるレイエネルギ量を決める不透明性伝達関数に従ってオブジェクトの特定の位置でのある一定の物理的特性を特徴付ける。次に、このアルゴリズムでは、数値解析を用いて、レイ経路に沿ったオブジェクトのレイと異なる位置との間の物理的相互作用を模擬する。具体的には、このアルゴリズムでは、３Ｄデータセット内の対応する要素及び理論的照射モデルに基づいて、レイ経路に沿った位置によって反射した反射エネルギを計算する。最後に、このアルゴリズムでは、画像平面上の特定のピクセルでの異なる位置によって反射した反射エネルギを蓄積し、反射レイエネルギを色値に変換する。一実施形態では、レイの原点を特定のピクセルとして選択し、ピクセル値は、３つの成分、すなわち、赤色、緑色、及び青色を含む。
【００５３】
直接ボリュームレンダリングにおいては、３Ｄデータセットに付随する複数の伝達関数があるとすることができる。上述の不透明性伝達関数は、不透明性が、最終的なレンダリングがいかに分かりやすくかつ有用なものになるかを判断する際に本質的な役目を果たすので最も重要なものの１つである。オブジェクトの不透明性が通常は固定のものである現実の世界に反して、直接ボリュームレンダリングにおける不透明性伝達関数は、任意に選択することができる。任意の不透明性伝達関数を有することの重要な利点は、同じ３Ｄデータセットに適用した時の不透明性伝達関数が異なれば、明らかにすることができるデータセットの特性が異なるということである。
【００５４】
図５（Ａ）は、直接ボリュームレンダリングで使用することができる不透明性伝達関数の例である。縦軸は、０．０から１．０まで不透明性によって目盛りが付けられ、横軸は、３Ｄデータセットにおけるデータ値の大きさである。不透明性曲線５０２は、データ値の関数として０．０と１．０の間で変動することにより、データ値の大きさが不透明性レベルに関連付けられる。例示的に、８と１０の間のマグニチュードを有するどのデータ値も不透明性曲線の部分５０２−Ａによって示すように、１．０という不透明性値を有する。このようなデータ値を有する３Ｄデータセットの部分は、完全に不透明として処理し、いずれかの残留レイエネルギを伴ってこのような部分を貫通することができるレイはない。同様に、１３と１７の間又は２４と２６の間のマグニチュードを有するどのデータ値も、部分５０２−Ｂ及び５０２−Ｃによって示すように０．０という不透明性値を有する。このようなデータを有する３Ｄデータセットの部分を透明として処理し、レイが３Ｄデータセットのこのような部分を通る時にレイエネルギ損失はない。図５（Ｂ）及び図５（Ｃ）は、図５（Ａ）に示す不透明性伝達関数に応答する２つのルックアップテーブル、つまり、順方向ルックアップテーブル（ＦＬＴ）５０６及び逆方向ルックアップテーブル（ＢＬＴ）５０８を示している。これらの表は、サブボリュームがレイと相互作用するか否かを迅速に判断するのに使用される。これらの２つの表の特定の機能に対して以下でより詳細に説明する。
【００５５】
図６は、レイと３Ｄデータセット内の一連のサブボリュームの間の一連の相互作用を示している。簡素化を期すために、ボックス６１０から６１６は、互いに隣接するｎ個のサブボリュームを示すと仮定する。各サブボリュームは、同じ物理的寸法及び固有のデータ値Ｖnを有する。初期エネルギＥ0を有するレイ６１８は、それが最終サブボリューム６１６から出るまで、一方の側面に垂直にサブボリューム６１０に入り、反対側から出て、すぐに次のサブボリューム６１２に入る。レイが右側からサブボリューム６１０を出た時、レイの残留エネルギは、以下の通り推定される。
【数２】
2007503060.tif 000003
ただし、Ｏｐ（Ｖ）は、図５（Ａ）に示す曲線５０２のような不透明性伝達関数であり、Ｔｒ（Ｖ）は、透明度伝達関数とも称するＯｐ（Ｖ）に対して補完的なものである。従って、レイがサブボリューム５１０を貫通する時の損失エネルギは、初期エネルギと残留エネルギの間の差である。
【数３】
2007503060.tif 000004
【００５６】
同様に、サブボリューム５１６を出た直後に、残留レイエネルギは、以下の通りである。
【数４】
2007503060.tif 000005
また、損失レイエネルギは、以下の通りである。
【数５】
2007503060.tif 000006
【００５７】
上述のように、レイとサブボリュームの間の相互作用中に消散されるエネルギの全てがレイ原点に反射されるわけではない。コンピュータグラフィックで多くの照射モデルがこれまでに開発されている。本発明においては、レイがサブボリュームと相互作用する時にレイ原点に反射されるレイエネルギを計算するのに、公知のフォン照射モデルの修正バージョンを使用する。
【００５８】
フォン照射モデルでは、表面からの３つの形式の反射光が考慮されている。それらは、以下の通りである。
・全ての方向から表面に達する光の反射である周囲反射Ｅa、
・全ての方向に散乱する無光沢面からの光の反射である拡散反射Ｅd、及び
・特定の１つの方向に入射光を反射させる鏡状の面からの光の反射である鏡面反射Ｅs
【００５９】
図７（Ａ）は、全ての方向で一定の値である周囲反射Ｅaを示している。
【００６０】
図７（Ｂ）は、拡散反射Ｅdを示している。エネルギＥ0を有する光が光の方向：
2007503060.tif 000007
と、表面の方向：
2007503060.tif 000008
との間で形成された入射角θで無光沢面Ｓに当たる時、いずれかの方向での拡散反射光Ｅdのエネルギを以下のように推定することができる。
【数６】
2007503060.tif 000009
又は、
【数７】
2007503060.tif 000010
ただし、ｒは、反射点と見る者の位置の間の距離であり、ｋは、ｒが小さすぎる時のコンピュータ実装における割り算オーバーフローを回避するために選択する定数である。
【００６１】
図７（Ｃ）は、鏡面反射を示している。エネルギＥ0を有する光が光の方向：
2007503060.tif 000011
と、表面の方向：
2007503060.tif 000012
との間に形成された入射角θで鏡上の表面Ｓ’に当たる時、エネルギのほとんど全ては、表面の方向：
2007503060.tif 000013
で反射角θを形成する方向：
2007503060.tif 000014
に鏡面反射される。表面Ｓ’が完全な鏡である場合、鏡面反射は、方向：
2007503060.tif 000015
でしか見ることができない。現実の世界では、完全な鏡が存在するのは稀であり、点線による円錐Ｃで示すように、常に、ある一定の量の光が反射方向：
2007503060.tif 000016
の回りに散乱する。方向：
2007503060.tif 000017
の鏡面反射Ｅsの実験的推定値は、以下の通りである。
【数８】
2007503060.tif 000018
又は、
【数９】
2007503060.tif 000019
ただし、ｎは、表面Ｓ’の滑らかさを示すパラメータである。光沢面に対しては、ｎを１２８などの高い値に設定し、光沢面から反射したエネルギの大部分が方向：
2007503060.tif 000020
に集中して角度φが大きくなる時に鏡面反射Ｅsが落ちる現象を模擬する。無光沢面に対しては、角度φが大きくなる時に比較的緩やかな割合で鏡面反射Ｅsが落ちるようにｎを８などの低い値に設定する。
【００６２】
周囲反射Ｅa、拡散反射Ｅd、及び鏡面反射Ｅsを組み合わせると、フォン照射モデルによる全反射の推定値は、以下の通りである。
【数１０】
2007503060.tif 000021
又は、
【数１１】
2007503060.tif 000022
ただし、Ｋa、Ｋd、及びＫsは、それぞれ、表面の周囲反射、拡散反射、及び鏡面反射の係数である。係数Ｋsは、通常は定数であり、係数Ｋa及びＫdは、通常は入射光の波長及び表面材料に依存する。
【００６３】
コンピュータグラフィックでは、画像の色は、通常は光の３原色、つまり、赤色、緑色、及び青色による構成として指定される。従って、直接ボリュームレンダリングにおいては、フォン照射モデルにおける全反射レイエネルギＥは、以下の３つの成分に分解することができる。
【数１２】
2007503060.tif 000023
ただし、鏡面反射係数Ｋsは、全ての色に対して同じであり、一方、周囲反射係数及び拡散反射係数は、波長の関数である。
【００６４】
本来のフォン照射モデルでは、拡散反射Ｅd及び拡散反射Ｅsの両方を推定する時、表面の方向：
2007503060.tif 000024
は既知であると仮定される。直接ボリュームレンダリングでは、可視化ターゲットは、通常は心臓や地質断層などの連続的オブジェクトを表す採取３Ｄスカラー場である。このような画像ボリュームにおけるオブジェクトの表面の方向を定めることは困難である。その結果、採取位置で推定したデータ値の局所勾配ベクトルを修正フォン照射モデルにおける表面方向の代用として使用する。当業者に公知である多くの勾配ベクトル推定法がある。一実施形態では、反射係数は、不透明性伝達関数と同様に、データ値の関数として定義される。ユーザは、これらの係数を自由に調整することができる。
【００６５】
図８は、ユーザが定めた不透明性伝達関数及び修正フォン照射モデルを使用してレイが画像ボリュームと相互作用する時に反射レイエネルギを推定するコンピュータプログラムの作動の流れ図である。画像ボリュームは、図３（Ａ）に示すように、オクトリに付随する複数のサブボリュームに既にフラグメント化されていることから、レイと画像ボリュームの間の相互作用は、レイとサブボリュームの一部との間の一連の相互作用になる。各相互作用では、レイエネルギの一部が消費され、消費エネルギの一部は、画像平面上のレイ原点に反射される場合がある。この一連の相互作用からの反射レイエネルギの蓄積は、レイ原点でのピクセル値になる。
【００６６】
段階８０２で、コンピュータプログラムは、初期エネルギをＥ0に設定し、かつ画像ボリュームを表す３Ｄデータセットに対して２Ｄ画像平面上の位置及び向きを指定することによってレイを初期化する。
【００６７】
段階８０４で、コンピュータプログラムは、オクトリの１つのノードに付随する３Ｄデータセットのサブボリュームを選択し、このサブボリュームが反射レイエネルギ計算に適格であるかを検査する。レイがいずれのサブボリュームとも相互作用しなかった場合、最初に、ルートノードに付随する最大サブボリュームをこの検査作業に選択する。レイが１つのサブボリュームと相互作用したばかりである場合、レイ経路に沿った同じサイズの次のサブボリュームをこの検査作業に選択する。以下の図９は、このサブボリューム選択法に関する更なる詳細を示すものである。画像化誤差を低減するために、サブボリュームは、反射レイエネルギ計算に適格になるための以下の２つの試験に合格すべきである。
・このサブボリュームのＶmin及びＶmaxの間の不透明性伝達関数が単調であること、及び
・このサブボリュームの最大エネルギ差（ＭＥＤ）が所定のエネルギ誤差閾値よりも小さいこと。
【００６８】
段階８０６で、コンピュータプログラムは、第１の試験を行って不透明性伝達関数が段階８０４で選択したサブボリュームのＶminとＶmaxとの間で単調に変化するか否かを判断する。この試験の合格は、あらゆるサブボリュームが反射レイエネルギ計算に適格であるために必要であることから、この試験を行う効率は、本発明の効率に実質的に影響を与える。本発明の一実施形態では、図５（Ｂ）に示すＦＬＴ５０６及びＢＬＴ５０８などの２つのルックアップテーブルに基づいて高速のアルゴリズムが開発されている。これらのテーブルは、不透明性伝達関数がコンピュータに取り込まれた時に埋められる。
【００６９】
上述のように、不透明性伝達関数により、０．０から１．０のスケールの不透明性と３Ｄデータセットにおけるデータ値のマグニチュードの関係が得られる。曲線５０２などの任意の不透明性伝達関数は、部分５０２−Ａ、５０２−Ｂ、５０２−Ｃなどのある一定のデータ値での複数の極値部分を有する場合がある。各極値部分は、図５（Ａ）に示す水平軸上の２つのデータ値つまり２つの点によって制約される。例えば、部分５０２−Ａは、点Ｂ1及びＦ1によって制約される。特殊な場合として、点Ｂ3とＦ3の間の極値部分の長さはゼロであり、これに対応して、２つの点Ｂ3とＦ3は、１つの点に合併される。これらの点は、均一に２つのグループに分割され、１つのグループは、Ｂ1からＢ4を含み、他方のグループは、Ｆ1からＦ4を含む。分割判断基準は、データ値増加方向に沿って移動する時に、第１の遭遇点をＢ1と定め、第２の点をＦ1と定め、第３の点をＢ2と定めるなどということである。
【００７０】
順方向ルックアップテーブル５０６と逆方向ルックアップテーブル５０８の両方には複数のエントリがあり、これらの表の各エントリは、データ値表（ＤＶＴ）５０４内のデータ値エントリに対応する。順方向ルックアップテーブル５０６内の各エントリは、ＤＶＴ５０４における対応するデータ値と、Ｆ1からＦ4を含む第２のグループから選択したデータ値増加方向の最も近くの極値に対応するＤＶＴ５０４におけるデータ値との間の差であるデータ値を含む。逆方向ルックアップテーブル５０８における各エントリは、ＤＶＴ５０４における対応するデータ値と、Ｂ1からＢ4を含む第１のグループから選択したデータ値減少方向の最も近くの極値に対応するＤＶＴ５０４におけるデータ値との間の差であるデータ値を含む。
【００７１】
例えば、１０、１７、２１、及び２６のデータ値エントリに対応するＦＬＴ５０６におけるエントリは、各々が図５（Ａ）の１つの極値Ｆ1からＦ4に対応するのでゼロに設定し、１２のデータ値エントリに対応するエントリには、図５（Ａ）のデータ値軸上のデータ値１２の右寄りにあるＦ1からＦ4の間の最も近くの極値が、データ値のマグニチュードが１７である点であるＦ2であるから、データ値差｜１２−１７｜＝５を割り当てる。同様に、８、１３、２１、及び２４のデータ値エントリに対応するＢＬＴ５０８におけるエントリは、各々が図５の１つの極値Ｂ1からＢ4に対応するのでゼロに設定し、１９のデータ値エントリに対応するエントリには、図５（Ａ）のデータ値軸上のデータ値１９の左寄りにあるＢ1からＢ4の間の最も近くの極値が、データ値のマグニチュードが１３である点であるＢ2であるから、｜１３−１９｜＝６というデータ値差を割り当てる。
【００７２】
これらの２つのルックアップテーブルに基づいて、不透明性伝達関数は、以下の２つの条件の１つが満足された場合は、ＶminとＶmaxとの間で単調に変化する。
・Ｖmax≦Ｖmin＋Ｆmin、又は
・Ｖmin≧Ｖmax−Ｂmax
ただし、Ｆminは、順方向ルックアップテーブルに格納されたＶminのデータ値差であり、Ｂmaxは、逆方向ルックアップテーブルに格納されたＶmaxのデータ値差である。これは、第１のグループＢ1からＢ4又は第２のグループＦ1からＦ4からの２つの連続的な点によって境界付けられたいずれかのデータ値部分にわたる不透明性伝達関数が単調に変化するからである。例えば、図５（Ａ）の曲線５０２では、Ｆ1とＦ2との間では単調に減少し、Ｂ1とＢ2との間では単調に増加する。このアルゴリズムに基づくコンピュータプログラムは、非常に高速であり、これは、本発明による直接ボリュームレンダリングの性能に対して重要なものである。
【００７３】
一例として、サブボリュームはＶmin＝１２とＶmax＝１９を有すると仮定すると、Ｖmin＝１２に対する対応する順方向ルックアップ値は、Ｆmin＝５であり、Ｖmax＝１９に対する対応する逆方向ルックアップ値は、Ｂmax＝６である。Ｖmax＝１９がＶmin＝１２とＦmin＝５の合計よりも大きく、また、Ｖmin＝１２は、Ｖmax＝１９とＢmax＝６の間の差よりも小さいことから、上述の２つの条件のいずれも満足されず、このサブボリュームには、適応レイキャスティングを行うことができない。
【００７４】
段階８０６の結果が偽りである場合、コンピュータプログラムは、更に、調査中のサブボリュームが段階８０７の対応するオクトリ上の最小のものであるかを検査する。そうである場合、反射レイエネルギ推定は、セル又はサブセルレベルで行われ、これは、以下の図１１で説明する。依然として偽りである場合、このサブボリュームをより小さなサブボリュームにフラグメント化し、段階８０８でレイ経路上の１つのこのような子サブボリュームを選択する。その後、この新たに選択した子サブボリュームを同じ方法で単調であるかを試験する。コンピュータプログラムは、サブボリューム内の不透明性伝達関数が単調に変化するか又はサブボリュームのサイズが所定のサイズ限界、例えば、２×２×２セルに到達するまで段階８０６、段階８０７、及び段階８０８を繰り返す。後者の場合に対しては、以下でより詳細に説明する。
【００７５】
サブボリュームが段階８０６で第１の試験に合格した場合、その後、段階８１２で試験して最大エネルギ差（ＭＥＤ）が所定のエネルギ誤差閾値を下回っているか否かを判断する。この第２の試験では、サブボリュームが直接ボリュームレンダリングを目的として均質であるとして処理するのに十分に小さいか否かを評価し、これはまた、本発明の計算の性能に対して重要なものである。サブボリュームを均質に処理することができる場合、このサブボリュームによって反射したレイエネルギを計算する経費は、比較的低いものであり、これは、サブボリュームにはそれ以上のフラグメント化が必要ないからである。
【００７６】
段階８１０で、サブボリュームＳkの最大エネルギ差（ＭＥＤ）を以下のように計算する。
ＭＥＤ（Ｓk）＝ＭＡＸ（｜Ｅk・（Ｔ（Ｖavg）−Ｔ（Ｖmin））｜，｜Ｅk・（Ｔ（Ｖavg）−Ｔ（Ｖmax））｜）
ただし、Ｅkは、サブボリュームＳkと相互作用するレイの残留レイエネルギであり、サブボリュームＳkは、一組のデータ値パラメータ（Ｖmin、Ｖavg、Ｖmax）を有する。
【００７７】
最大エネルギ差は、Ｔ（Ｖmin）とＴ（Ｖmax）の間で変動する透明度を有するサブボリュームの代わりに均質な透明度Ｔ（Ｖavg）及び同じサイズを有する別のサブボリュームを使用する時に、反射レイエネルギ推定に導入される近似誤差の量の尺度となる。最大エネルギ差は、複数のパラメータの関数であることから、以下の３つのパラメータの少なくとも１つを低くするなどの近似誤差を小さくする複数の方法がある。
・サブボリュームのサイズ、従って、ＶminとＶmaxの間の差、
・ＶminとＶmaxの間の不透明性伝達関数の勾配、及び
・残留レイエネルギＥk
【００７８】
段階８１２で、コンピュータプログラムは、サブボリュームのＭＥＤをユーザが定めた所定のエネルギ誤差閾値と照らして比較する。ＭＥＤが所定のエネルギ誤差閾値よりも大きい場合、コンピュータプログラムは、更に段階８１３で、調査中のサブボリュームが対応するオクトリ上の最小のものであるかを検査する。そうである場合、反射レイエネルギ推定は、セル又はサブセルレベルで行われ、これは、以下の図１１で説明する。そうでなければ、オクトリ上の最小サブボリュームではないことを条件として、サブボリュームをフラグメント化し、１つのこのような子サブボリュームを段階８１４での更に別の処理に向けて選択する。オクトリ上の最小サブボリュームであるサブボリュームを処理するために既に設計された特殊手順を図１０、図１１、及び図１２で以下に示している。ＭＥＤが所定のエネルギ誤差閾値よりも小さい場合、修正フォン照射モデルを用いて段階８１６でこのサブボリュームからの反射レイエネルギを推定する。レイとサブボリュームの間の一連の相互作用からの蓄積反射レイエネルギは、２Ｄ画像平面上の１つのピクセル値の役目を果たすものである。
【００７９】
このサブボリュームを貫通した後、レイは、画像ボリュームの反対側から出るか、又はレイ経路に沿った別のサブボリュームに当たる。第１のシナリオにおいては、レイキャスティングは終了になる。第２のシナリオにおいては、対応するレイキャスティングが継続されるべきか又は停止すべきかは、残留レイエネルギ量に依存する。サブボリュームとレイの間の全ての相互作用は残留レイエネルギの一部を取り去ることから、残留レイエネルギが所定のエネルギレベルよりも小さいサブボリュームとレイの間の相互作用は、画像平面上のピクセル値に対する貢献はほとんどない。段階８１８で、残留レイエネルギを所定のエネルギレベルに照らして比較する。残留レイエネルギがそのレベルを上回り、かつレイがまだ画像ボリューム内を進む場合、レイキャスティングは、段階８０４から継続される。そうでなければ、特定のレイのレイキャスティングは完了であるから停止される。
【００８０】
図９（Ａ）及び図９（Ｂ）は、本発明による適応レイキャスティングの重要な特徴を示す単純な２Ｄ実施例を示すものである。この例においては、３Ｄ画像ボリュームが２Ｄ画像正方形９００で置き換えられ、２Ｄ画像平面が、２Ｄ画像正方形９００内に位置する１Ｄ画像線９０２で置き換えられる。２Ｄ画像正方形９００を再帰的に４回フラグメント化すると、合計は、
４0＋４1＋４2＋４3＋４4＝１＋４＋１６＋６４＋２５６＝３４１
個のサブ正方形（画像正方形９００を含む）になり、各サブ正方形は、図９（Ｂ）の四分木９０６の１つと関連する。例示する目的で、図９（Ａ）は、実際にレイ９０４と相互作用する９１０から９２２の異なるサイズの１３個の隣接サブボリュームを含むサブ正方形の部分集合のみを含み、同様に、図９（Ｂ）は、１３個のサブ正方形に対応するノードを含む全ての四分木ノードの部分集合のみを示している。
【００８１】
図９（Ａ）は、サブ正方形９１０内の点ｐ0で始まる適応レイキャスティングの直観的表示を示している。レイ９０４の軌跡上には１２個の点ｐ1からｐ12があり、各点は、２つの隣接するサブ正方形の境界上に位置する。例えば、ｐ1は、レイ９０４がサブ正方形９１０から出て第２のサブ正方形９１１に入る位置を表す。レイ９０４がサブ正方形９１５などのサブ正方形を通った時、修正フォン照射モデルに従ってレイエネルギの一部は、サブ正方形によって反射される。１３個のサブ正方形によって反射されたレイエネルギの蓄積は、点ｐ0におけるピクセル値を構成する。
【００８２】
これに対応して、図９（Ｂ）は、四分木９０６という状況における同じ適応レイキャスティングを示している。図９（Ａ）のサブ正方形は、図９（Ｂ）では小さなブロックで表され、例えば、画像正方形９００全体は、ルートノードにおけるブロックによって表される。図９（Ａ）の点は、図９（Ｂ）のカスケード経路まで延び、例えば、点ｐ0は、レベルＩからレベルＩＩＩまでの二脚経路になる。図９（Ａ）においては、２つのサブ正方形は互いに隣り合っていることから、レイ９０４が１つのサブ正方形から出て別のサブ正方形に入る時を観察することは簡単である。例えば、サブ正方形９１６は、サブ正方形９１７の隣にある。しかし、同じ２つのサブ正方形は、四分木９０６上の２つの隣接するノードとは、一般的に関連付けられない。同じ例を用いて、サブ正方形９１６は、レベルＶの１つの葉ノードと関連付けられ、サブ正方形９１７は、レベルＩＩＩの１つの中間ノードと関連付けられる。
【００８３】
図９の点ｐ0のピクセル値を計算するために、コンピュータプログラムは、最初に、レイ９０４がルートノードに付随する画像正方形９００と相互作用するかを試験する。図８の段階８０６及び段階８１２に従って、画像正方形９００は、反射レイエネルギを計算する前に２つの試験に合格すべきである。画像正方形９００がいずれかの試験に不合格となった場合、コンピュータプログラムは、図８の段階８０８及び段階８１４後の更に別の試験のためにレベルＩのより小さなサブ正方形を選択する。このより小さなサブ正方形はやはり不合格になることから、コンピュータプログラムは、四分木９０６のレベルＩＩＩまで更に下がってサブ正方形９１０を選択する。図９（Ａ）及び図９（Ｂ）に示す例においては、このサブ正方形は、両方の試験に合格し、コンピュータプログラムは、修正フォン照射モデルを用いてサブ正方形９１０によって反射したレイエネルギを計算する。
【００８４】
その後、コンピュータプログラムは、サブ正方形９１０の兄弟のいずれかがレイ９０４と相互作用するか否かを検査する。この例においては、サブ正方形９１１は、図９（Ｂ）の経路Ｐ1で示すように、コンピュータプログラムによって特定される。レイ経路上に他の兄弟のサブ正方形がない場合、コンピュータは、四分木９０６でレベルを１つ上げて、親サブ正方形の兄弟のいずれかが相互作用に適格であるかを検査する。例えば、サブ正方形９１６によって反射したレイエネルギを計算した後に、コンピュータプログラムは、最初に、サブ正方形９１６の兄弟を評価する。適合するものがないので、コンピュータプログラムは、経路Ｐ7に沿ってレベルＩＶまで移動し、サブ正方形９１６の親ノード内の兄弟間の候補を探す。コンピュータプログラムは、経路Ｐ7の第４の脚で示すように、レベルＩＩでの適合を見つけるまで四分木９０６を検索し続ける。その後、コンピュータプログラムは、レベルＩＩで見つかった候補に２つの試験を適用する。図９（Ａ）及び図９（Ｂ）の例においては、それは試験のいずれにも合格せず、コンピュータプログラムは、その後、レベルＩＩＩまで下がる。最後に、次の反射レイエネルギ計算に向けてサブ正方形９１７が特定される。
【００８５】
図８によると、不透明性伝達関数がサブボリューム内で単調に分布していない場合（段階８０６）、又はサブボリュームのＭＥＤが所定のエネルギ誤差閾値を超える場合（段階８１２）、サブボリュームを更にフラグメント化し、１つのこのような子サブボリュームを更に別の処理に向けて選択する。しかし、画像ボリュームを無制限にフラグメント化することは実用的ではない。第１に、フラグメント化の回数が多いほど、生成されるサブボリュームの数が多くなり、消費するコンピュータリソースが多くなり、直接ボリュームレンダリング方法が経費の掛かるものになり、かつ非効率的なものになる。第２に、上述のように、適応レイキャスティングで使用されるレイは、画像解像度を決めるある一定のレイ厚みを有する。レイ厚みよりも小さいサブボリュームの計算経費増加時の画質に対する貢献度はほとんどない。
【００８６】
他方、２×２×２セルを含むサブボリュームが最小であっても、段階８０６及び段階８１２で行う２つの試験のいずれかに不合格になる可能性がある。例えば、２×２×２セルを有する最小サブボリュームが、ほとんどの医療画像ボリュームにおいて２つの試験のいずれかに合格することができることは稀である。このシナリオにおいては、最小サブボリュームを依然として均質体として処理する場合は、適応レイキャスティングに導入される誤差が多すぎる。レイの厚みは、通常は３Ｄセルよりも小さいことから、セル又はサブセルレベルではより正確な反射レイエネルギ推定を達成すべきである。しかし、この現象は、図８及び図９に関連して説明した本発明の原理を無効にしない。第１に、オクトリ構造により、反射レイエネルギ推定に向けたセルを正確に指摘することが容易になる。第２に、セル又はサブセルレベルで使用するアルゴリズムは、サブボリュームレベルで使用するものと酷似のものである。
【００８７】
また、セル又はサブセルレベルでの反射レイエネルギの正確な推定には、セル内の不透明性伝達関数の分布及びセルの最大エネルギ差に関する情報が必要である。このような情報を３Ｄデータセット及び不透明性伝達関数に付随する２つのルックアップテーブルから検索することができたとしても、本発明は、最小サブボリュームレベルからセル又はサブセルレベルまでさえも情報を伝播させることによってこの情報を収集するより効率的手法を提案するものである。
【００８８】
図１０に示すように、ＶminとＶmaxの間にデータ値を有する２×２×２セルを含む最小サブボリュームが与えられると、サブボリューム内の不透明性分布のほぼ３つの大きなカテゴリが存在する。
・ＶminとＶmaxとの間で単調に変化する不透明性（図１０（Ａ））、
・ＶminとＶmaxの間に極値を有する不透明性（図１０（Ｂ））、及び
・ＶminとＶmaxの間のデータ値Ｖisoで不連続な不透明性（図１０（Ｃ））とＶminとＶisoの間又はＶisoとＶmaxの間でゼロである不透明性。
【００８９】
この最小サブボリュームが段階８０６及び段階８１２で２つの試験のいずれかに合格しなかった場合、コンピュータプログラムは、このサブボリュームからの８つのセルの１つを選択して反射レイエネルギのより正確な概算を生成する。図８に示すように、図１１は、セル又はサブセルレベルで反射レイエネルギを推定する処理を示す流れ図である。より具体的には、図１１は、図１０に示す不透明性分布の異なるカテゴリを処理する時に本発明によって使用される異なる方法を示している。
【００９０】
段階１１０２で、コンピュータプログラムは、最小サブボリュームを構成する８つのセルからレイ経路に沿ってレイ原点に最も近いセルを選択し、その後、段階１１０３で、サブボリュームのＶminとＶmaxの間の不透明性伝達関数の種類を推定する。サブボリュームのＶminとＶmaxは既にオクトリ構成中に既知であることから、段階１１０４で順方向ルックアップテーブル及び逆方向ルックアップテーブルを用いて、サブボリューム内の不透明性伝達関数の種類を判断することは非常に容易である。
【００９１】
不透明性伝達関数がＶminとＶmaxの間で単調であり、すなわち、ＭＥＤが図８の段階８１０で最小サブボリュームが得られるように既に計算済みであることから、セルレベルで反射レイエネルギを推定する理由は、サブボリュームが段階８１２で試験に合格しないからである。不透明性分布は、サブボリューム内では単調であることから、サブボリュームのどのセル内でも単調である。その結果、３Ｄデータセット内に格納されたセルの８つのコーナでのデータ値を用いてどのセルの正確なＭＥＤを計算する段階も飛び越すことができる。その代わりに、段階１１０６でサブボリュームのＭＥＤを２で割ることにより、セルの妥当に正確なＭＥＤを達成する。８つのセルコーナでのデータ値を用いて正確なＭＥＤを推定する計算経費と比較すると、この手法は非常に効率的であり、反射レイエネルギ推定における近似誤差は無視することができるものである。この手法は、セル又はサブセルレベルでのＭＥＤ計算に限定されるものではなく、サブボリュームレベルにも拡張することができることを当業者には更に注意されたい。
【００９２】
段階１１０８でＭＥＤの半値が所定のエネルギ誤差閾値よりも小さい場合、選択したセルは、段階１１２４で反射レイエネルギを推定する際に均質体として処理するのに十分に小さいものである。修正フォン照射モデルに従って、セル（又はサブセル）によって反射したレイエネルギ量を推定するために、以下のパラメータが利用可能であるべきである。
・セルでの一定のデータ値Ｖconst、
・セルでの局所データ値勾配ベクトル：
2007503060.tif 000025
及び
・セル内のレイ経路の長さＬ。
【００９３】
一定のデータ値Ｖconstを選択する時には異なる選択肢がある。一実施形態では、セルの８つのコーナでのデータ値の平均Ｖavgを取ることによって一定のデータ値Ｖconstをセルの中心のデータ値として選択する。更に別の実施形態では、一定のデータ値Ｖconstをセル内のレイ経路の中心のトリリニア補間データ値として選択する。図１２（Ａ）は、点Ｃに中心がある２Ｄセル１２０３を用いた２つの実施形態を示している。レイ１２０２は、点Ｅ1で２Ｄセル１２０３に入り、点Ｅ2で出て、セル内のレイ経路の中心は点Ｃ’である。第１の実施形態では、点Ｃでのデータ値は、反射レイエネルギ推定に使用され、点Ｃ’の補間データ値は、第２の実施形態で使用する。
【００９４】
一定のデータ値Ｖconstの他に、別の重要なパラメータは、セルでの局所データ値勾配ベクトル：
2007503060.tif 000026
である。一実施形態では、３つの座標ｘ、ｙ、及びｚに対して前に明らかにしたトリリニア補間データ値Ｖ（ｘ、ｙ、ｚ）の導関数を取ることによって局所勾配ベクトル：
2007503060.tif 000027
を以下のように推定する。
【数１３】
2007503060.tif 000028
更に別の実施形態では、ｘ、ｙ、及びｚに沿った２つの隣接セルのデータ値差を取ることによって局所勾配ベクトルを推定する。
【数１４】
2007503060.tif 000029
ただし、Δx、Δy、及びΔzは、各座標に沿ったセルのサイズを表している。図１２（Ｂ）は、第２の実施形態による局所勾配ベクトルの計算の２Ｄバージョンを示している。
【数１５】
2007503060.tif 000030
【００９５】
最後に、セルによって反射したレイエネルギ量は、セル内のレイ経路の長さに依存する。
2007503060.tif 000031
が、一定のデータ値Ｖconst及び局所勾配ベクトル：
2007503060.tif 000032
を有するセル内のレイ経路の単位長さ当たりの反射レイエネルギ量を表すとすると、反射レイエネルギ総量は、以下のように表現することができる。
【数１６】
2007503060.tif 000033
ただし、Ｌは、セル内のレイ経路の長さである。
【００９６】
図１２（Ｃ）及び図１２（Ｄ）は、セル又はサブセル内のレイ経路の長さを計算する方法を示している。図１２（Ｃ）に示すように、レイは、セルの１つのコーナである点Ｏでセルに入り、点Ｅでセルを出る。３つの座標ｘ、ｙ、及びｚ上のセル内のレイ経路Ｌの投影は、以下のように表現することができる。
【数１７】
2007503060.tif 000034
ただし、角α及びβは、図１２（Ｃ）で定められている。従って、セル内のレイ経路の長さは、以下の通りである。
【数１８】
2007503060.tif 000035
又は、
【数１９】
2007503060.tif 000036
ただし、
【数２０】
2007503060.tif 000037
【００９７】
図１２（Ｄ）は、α及びβの関数として変動するパラメータｈのグラフであり、ただし、０≦α≦π／２及び０≦β≦π／２である。本発明においては、パラメータｈを予め計算してルックアップテーブル内に格納している。一組の投影（ａ、ｂ、ｃ）及びその付随する角α及びβを取得した後に、ルックアップテーブル内の対応するパラメータｈ及び従ってセル内のレイ経路の長さを見つけることは非常に効率的である。
【００９８】
段階１１０８でＭＥＤの半値が所定のエネルギ誤差閾値を依然として超える場合、コンピュータプログラムは、段階１１１０で、セルサブセルがレイ厚みのサイズに到達するかを検査する。上述のように、レイ厚みよりも小さいセル又はサブセルは、反射レイエネルギに対する貢献度がほとんどない。そうである場合、コンピュータプログラムは、更にセルをフラグメント化するのを止めて段階１１２４で反射レイエネルギを計算する。そうでなければ、段階１１１２でセルを８つのサブセルにフラグメント化し、各サブセル内のＭＥＤの更なる半値が所定のエネルギ誤差閾値よりも小さいか又はサブセルがレイ厚みのサイズに到達するまで、ＭＥＤの半値を更に相応に半分にする。
【００９９】
図１２（Ｅ）及び図１２（Ｄ）は、異なる数のサブセルにフラグメント化した後に段階１１０８で条件を満足した２つの２Ｄセルを示している。図１２（Ｅ）においては、セル１２０５を４つのサブセルにフラグメント化し、各サブセル内のレイ経路の長さによって示すように、その中で２つのサブセル１２０５−１及び１２０５−２は、レイ１２０４と実質的な相互作用を行い、サブセル１２０５−３は、ほとんど相互作用を行わない。図１２（Ｆ）においては、セル１２０７は、段階１１０８で試験に合格するために１６個のサブセルにフラグメント化しなければならず、そのうちの６個（１２０７−１から１２０７−６）は、レイ１００６と実質的な相互作用を行い、サブセル１２０７−７は、レイ１２０６とはほとんど相互作用を行わない。１２０５−３及び１２０７−７などのサブセルを飛び越すと、あまり多くの誤差を導入することなく反射レイエネルギを推定する際の計算経費のかなりの量の節約になる。各サブセルには一定のデータ値を割り当てる。サブセルに対して反射レイエネルギを計算する方法は、段階１１１０でセル１２０３に対して反射エネルギを計算するのに使用する方法と同じものである。
【０１００】
不透明性伝達関数がサブボリューム（図１０（Ｂ））のＶminとＶmaxの間で単調でない場合、コンピュータプログラムは、段階１１０２で選択したセルを段階１１１４で８つのサブセルにフラグメント化し、その後、段階１１１６でサブセルがレイ厚みのサイズに到達するかを検査する。そうである場合、コンピュータプログラムは、段階１１２４に移動して反射レイエネルギを計算する。そうでなければ、コンピュータプログラムは、段階１１１４に戻って、最小サブセルがレイ経路のサイズに到達するまで各サブセルをより小さなものにフラグメント化する。
【０１０１】
最小サブボリューム内の不透明性分布が単調ではない時の適応レイキャスティングの２Ｄ実施例として図１２（Ｅ）及び図１２（Ｄ）を再度使用する。具体的には、レイ１２０６の厚みＷ2は、レイ１２０４の厚みＷ1よりも小さいことから、セル１２０７は、既に４×４つまり１６個のサブセルにフラグメント化されており、一方、セル１２０５は、２×２つまり４個のサブセルにフラグメント化されている。一実施形態では、図１２（Ｅ）及び図１２（Ｄ）の異なる充填パターンで示すように、サブセルの中心の補間データ値に基づいて、各サブセルに一定のデータ値を割り当てる。レイ１２０４の点線による中心線は、レイが２つのサブセル１２０５−１及び１２０５−２と実質的に相互作用し、その各々が一部の反射エネルギをレイ原点に反射することを示している。２つのサブセル１２０５−１及び１２０５−２からの反射レイエネルギの合計は、セル１２０５によって反射したレイエネルギを構成する。同様に、６つのサブセル１２０７−１から１２０７−６からの反射レイエネルギの合計は、セル１２０７から反射したレイエネルギを構成する。これとは対照的に、図１２（Ｅ）のサブセル１２０５−３及び図１２（Ｆ）のサブセル１２０７−７は、それぞれ、レイ１２０４及び１２０６とはほとんど相互作用しないことから、反射レイエネルギを推定する際には飛び越される。
【０１０２】
一般的に、図１２（Ｆ）などのセルのより細かなフラグメント化では、通常、より正確な反射エネルギ推定が得られるが、レイとサブセルの間の相互作用の回数が２回から５回に増加することから計算経費が高くなる。コンピュータプログラムは、計算経費と画質の間の光学的均衡が得られるように、所定のエネルギ誤差閾値及びレイ厚みを調整することによってフラグメント化レベルを制御する。
【０１０３】
最後に、不透明性伝達関数は、不連続、例えば、ＶminとＶmaxの間のデータ値Ｖisoでゼロに落ちるか又はゼロからジャンプする不透明性を有することができる（図１０（Ｃ））。不透明性伝達関数内に不連続を有する目的は、このような不透明性伝達関数が見る者に興味深くない画像ボリュームのある一定の部分にゼロ不透明性を持たせ、従ってレイに対して透明であるようにすることができるということである。レイは、不透明性がゼロである画像ボリューム内のいずれかの区域を通る時には、いかなるエネルギも失わない。その結果、見る者により興味深い画像ボリュームの他の区域を照明するのにより多くのレイエネルギが使用される。例えば、患者の心臓のより良い画像をもたらすためには、レイが心臓の表面に到達する前にレイエネルギ損失がないように、心臓を取り囲む組織にはゼロ不透明性を割り当てることが好ましい。
【０１０４】
最小サブボリュームが図１０（Ｃ）に類似した不透明性伝達関数を有する時には、サブボリュームは、Ｔ（Ｖmin）＝０又はＴ（Ｖmax）＝０であることによってＭＥＤが所定のエネルギ誤差閾値よりも大きいので、図８の段階８１２で試験に合格しない場合がある。関数がＶminとＶmaxの間で単調であったとしても、ＭＥＤを推定するのに使用する方法は、段階１１０６にはもはや適切ではない場合がある。すなわち、不透明性伝達関数に不連続があるために、最小サブボリュームのＭＥＤの半値は、最小サブボリューム内のセルのＭＥＤの妥当な推定値とはなり得ない。
【０１０５】
例えば、図１０に示すように、セルの最小及び最大のデータ値がそれぞれＶ1及びＶ2である場合、段階１１０６で計算したＭＥＤの半値は、Ｖ1及びＶ2に対応するＯ1及びＯ2の間の不透明性差が非常に小さいことから、Ｖ1及びＶ2に基づいてセルの正確なＭＥＤよりも実質的に高くなることになる。代わりに、コンピュータプログラムは、段階１１１８でセルの８つのコーナでのデータ値からＶ1及びＶ2を選択する。その後、コンピュータプログラムは、段階１１２０でＶ1及びＶ2の間の不透明性伝達関数の種類を評価する。不透明性伝達関数がセル内で単調である場合、コンピュータプログラムは、段階１１２２でＶ1及びＶ2を用いてセルの正確なＭＥＤを計算し、セルは、その後、第１のカテゴリと同じとして処理される。不透明性伝達関数が単調ではない場合、セルは、第２のカテゴリと同じとして処理される。
【０１０６】
上述で明らかにしたように、所定のエネルギ誤差閾値は、本発明による直接ボリュームレンダリング方法の効率及び精度に直接に影響を与える重要なパラメータである。この閾値は、セル又はサブセルが一定の不透明性値を有する均質体として処理されるために画像ボリュームをいかに小さくフラグメント化すべきであるかを実質的に判断するものである。閾値を小さくすると、結果的にレイと相互作用するより小さなサブセル数が大きくなり、それによって適応レイキャスティング当たりの計算経費が増え、閾値を大きくすると、全く反対の結果が出る。
【０１０７】
本発明の一実施形態では、所定のエネルギ誤差閾値は、画像間の定数ではなく、許容可能な経費で最適な画像を発生させるためにレイキャスティング間で動的に調整するものである。Ｅ0は異なる可視化パラメータを有する一連の画像に対してユーザが定めた初期エネルギ誤差閾値であると仮定して、カスタマイズされたエネルギ誤差閾値を以下のように定める。
・平行投影の場合は、Ｅ（Ｅ0，Ｐzoom）＝Ｅ0／Ｓｑｒｔ（Ｐzoom）、ただし、Ｐzoomは、画像の物理的サイズを示すズーム因子であり、
・透視投影の場合は、Ｅ（Ｅ0，Ｐdistance）＝Ｅ0*Ｌｏｇ2（Ｐdistance）、ただし、Ｐdistanceは、レイ原点と画像ボリュームの中心との間の距離である。
【０１０８】
明らかに、平行投影の場合にズーム因子Ｐzoomを大きくすると所定のエネルギ誤差閾値は小さくなり、従って、画像ボリュームは、反射レイエネルギを推定する時にはより小さなサブボリュームにフラグメント化すべきである。その結果、画像解像度は向上し、画像上で感知されるジッター効果は小さくなる。これとは対照的に、透視投影の場合にレイ原点と画像との間の距離Ｐdistanceを大きくすると、画質には反対の影響を与える。
【０１０９】
画質の他に、使い易さは、直接ボリュームレンダリングアルゴリズムを評価する時の別の重要な要素である。例えば、画像平面を画像ボリュームに対して位置決めする時間と画像をコンピュータモニタ上でレンダリングする時間との間の時間遅延は、心血管疾患診断などの動的用途においては非常に不便なものである。このような遅延を低減して診断処理にわたってユーザにより多くの制御を与えるために、所定のエネルギ誤差閾値は、望ましい毎秒フレーム数（ＤＦＰＳ）と実際の毎秒フレーム数（ＡＦＰＳ）との間の比率によって更に修正することができる。
・平行投影の場合、Ｅ（Ｅ0，Ｐzoom，ＤＦＰＳ，ＡＦＰＳ）＝Ｅ（Ｅ0，Ｐzoom）*ＤＦＰＳ／ＡＦＰＳ、及び
・透視投影の場合、Ｅ（Ｅ0，Ｐdistance，ＤＦＰＳ，ＡＦＰＳ）＝Ｅ（Ｅ0，Ｐdistance）*ＤＦＰＳ／ＡＦＰＳ
【０１１０】
その名称が示すように、ＤＦＰＳは、ユーザが好む画像レンダリング速度であり、ＡＦＰＳは、以下に限定されるものではないが、コンピュータハードウエア、画像平面上のピクセル数、及び画像ボリューム、並びにデフォルト画像解像度を含むシステム設定によって限定されるものである。従って、好ましい画像レンダリング速度がシステム設定によって提供されたものよりも高い、つまり、ＤＦＰＳがＡＦＰＳよりも高い場合、所定のエネルギ誤差閾値は、相応に大きくなる。この場合、ユーザが好む画像レンダリング速度を達成するために画質を若干犠牲にすることは許容可能である。他方、好ましい画像レンダリング速度がシステム設定で到達することができるものより低い、つまり、ＤＦＰＳがＡＦＰＳよりも低い場合、所定のエネルギ誤差閾値は、ユーザが定めた速度でより品質が高い画像を発生させるように相応に小さくなる。
【０１１１】
２Ｄ画像推定
各レイに対して、３Ｄ適応レイキャスティングでは、一連のサブボリュームから２Ｄ画像平面上の特定の位置に向けて反射したレイエネルギを推定する。一実施形態では、特定の位置は、レイ原点になるように選択される。各レイ原点での反射レイエネルギを合計し、その後、ピクセル値に変換する。３Ｄ適応レイキャスティングは、相対的に高価である作業であることから、本発明による直接ボリュームレンダリングアルゴリズムの効率は、２Ｄ画像を発生させるように投射すべきであるレイの数に依存する。図１３（Ａ）は、２Ｄ画像推定が、画質に及ぼす影響が知覚できないものではないにしても無視可能であるようにレイキャスティングの回数を低減するような最適な方法で適応レイキャスティング処理を誘導する、好ましい実施形態、例えば、コンピュータプログラムを示している。
【０１１２】
段階１３０２で、コンピュータプログラムは、図１（Ａ）及び図１（Ｂ）に示すように、３Ｄデータセットからある一定の距離を隔てて、かつ３Ｄデータセットからある一定の方向に向けられた２Ｄ画像平面を定める。画像平面は、通常はＮ×Ｎ個の要素を含む２Ｄアレイによって表され、２Ｄアレイの各要素は、画像平面上の対応する位置の１つのピクセル値を格納する。従って、平面上に発生した画像は、Ｎ×Ｎ個のピクセル、例えば、５１２×５１２個のピクセルを有する。
【０１１３】
段階１３０４で、コンピュータプログラムは、画像平面を同じサイズの複数のサブ平面に細分化し、各サブ平面は、２Ｄアレイ内の１つの部分に対応する。一実施形態では、５１２×５１２個のピクセルを含む画像平面を３２×３２（＝１０２４）個のサブ平面に細分化し、各サブ平面は、１６×１６個のピクセルを含む。サブ平面のサイズは、隣接するサブ平面の間にかなりの程度のピクセル値変動があるという仮定で選択される。
【０１１４】
段階１３０６で、前の段階で発生した各サブ平面に対して、コンピュータプログラムは、サブ平面の４つのコーナからの４つのレイを各コーナに１つ３Ｄデータセットに投射し、適応レイキャスティングを用いて４つのコーナの４つのピクセル値を計算する。
【０１１５】
段階１３０７から始めて２Ｄアレイ内の全ての要素をピクセル値と関連付けるために、各サブ平面を再帰的に処理する。この再帰的処理の終わりには、３Ｄデータセットの２Ｄ画像が２Ｄアレイ内に発生している。より具体的には、１つのサブ平面を選択し、段階１３０７でレイをサブ平面の中心から３Ｄデータセットに向けて反射させ、これによって中心にピクセル値が生成され、また、サブ平面が４つのより小さな子サブ平面に細分化される。例えば、選択したサブ平面が１６×１６個のピクセルを有する場合、各子サブ平面は、８×８個のピクセルを有する。
【０１１６】
段階１３０８で、コンピュータプログラムは、親サブ平面上の全てのピクセルが補間又はレイキャスティングによって固有のピクセル値を有するように全ての４つの子サブ平面が処理されているかを検査する。そうである場合、コンピュータプログラムは、更に、段階１３１２で処理されていない親サブ平面で段階１３０４で発生したものがあるかを検査する。段階１３１２での結果が偽の場合、２Ｄアレイ内の全ての要素にはピクセル値が割り当てられており、グラフィック表示装置、例えば、コンピュータモニタ上でのレンダリングに対して準備完了である２Ｄ画像がアレイ内に形成されていることを意味する。段階１３１２からの結果が真の場合、コンピュータプログラムは、段階１３０７に戻って段階１３０４で発生した次のサブ平面を処理し始める。
【０１１７】
段階１３０８からの結果が偽の場合、コンピュータプログラムは、１つの未処理子サブ平面を選択して子サブ平面の他のコーナでピクセル値を計算する。図１３（Ｂ）は、段階１３０７及び段階１３１０で行う作業を示す例である。サブ平面１３４０は、１６×１６個のピクセルを含み、ピクセル値Ｐ1からＰ4をサブ平面の４つのコーナのピクセルと関連付ける。段階１３０７で、新たなレイをサブ平面の中心から投射すると、新しいピクセル値Ｐ5が発生し、かつ、サブ平面１３４０は、４つの子サブ平面１３４９から１３４８に細分化される。段階１３１０で、コンピュータプログラムは、１つの子サブ平面、例えば、１３４４を選択し、サブ平面の他の３つのコーナから３つのレイを反射させると、更に３つのピクセル値Ｐ6からＰ8が発生する。
【０１１８】
段階１３１４で、コンピュータプログラムは、子サブ平面内のピクセル数が２×２（＝４）個であるか否かを検査する。ピクセル数が４である場合、段階１３１０でピクセル値なし状態のピクセルはないので、コンピュータプログラムは、段階１３０８に戻って次の子サブ平面があれば処理する。
【０１１９】
ピクセル数が４ではない、例えば、サブ平面１３４４が８×８個のピクセルを有する場合、段階１３１６で、コンピュータプログラムは、この子サブ平面の最大ピクセル値変動（ＭＰＶＶ）を計算する。その名称が示すように、ＭＰＶＶは、子サブ平面内のピクセル値分布を測るものである。一実施形態では、ＭＰＶＶは、以下のように定められる。
【数２１】
2007503060.tif 000038
ただし、Ｓは、サブ平面内のピクセル総数であり、Ｐ1からＰ4は、サブ平面のコーナのピクセル値であり、Ｐavgは、以下のようにＰ1からＰ4の平均である。
【数２２】
2007503060.tif 000039
【０１２０】
段階１３１７で、コンピュータプログラムは、本発明における画像解像度及び画像レンダリング速度に実質的に影響を及ぼす重要なパラメータである所定の画像化誤差閾値を修正する。例えば、所定の画像化誤差閾値を小さくすると、段階１３２０で子サブ平面１３４４はより小さな子サブ平面にフラグメント化される。これに応答して、コンピュータプログラムが各子サブ平面の中心で行う適応レイキャスティングの回数が多くなる。この結果、適応レイキャスティングによって発生したピクセル値がバイリニア補間によって発生したものよりも正確であるために、内部構造の縁部に対応する子サブ平面１３４４内の画像、例えば、医療画像内の骨の解像度が高くなる。他方、適応レイキャスティングは、バイリニア補間よりも遥かに経費の掛かる作業である。所定の画像化誤差閾値の修正に関するより詳細は、図１４（Ａ）から図１４（Ｃ）に関連して以下に示している。
【０１２１】
段階１３１８では、子サブ平面１３４４のＭＰＶＶを段階１３１７で修正した所定の画像化誤差閾値と比較する。子サブ平面１３４４のＭＰＶＶが所定の画像化誤差閾値を超える場合、段階１３２０で新しいレイをこの子サブ平面の中心から放出し、これによって新しいピクセル値Ｐ9が発生する。その後、子サブ平面１３４４を４つのより小さな子サブ平面に細分化し、各サブ平面は、４×４個のピクセルのみを含む。
【０１２２】
段階１３１８で子サブ平面１３４４のＭＰＶＶが所定の画像化誤差閾値よりも小さい場合、子サブ平面内のピクセル値変動を補間によって概算することができる。一実施形態では、サブ平面内のピクセル値分布をサブ平面のコーナの４つのピクセル値のバイリニア補間によって概算する。図１３（Ｃ）に示すように、どの位置（ｘ、ｙ）のピクセル値Ｐ（ｘ、ｙ）も以下のようにバイリニア補間することができる。
【数２３】
2007503060.tif 000040
【０１２３】
段階１３２０又は段階１３２２の後に、コンピュータプログラムは、段階１３０８に戻って次の子サブ平面があれば処理する。この処理は、２Ｄアレイ内の全ての要素が３Ｄ適応レイキャスティング又はレイキャスティング結果のバイリニア補間のいずれかを通じて作成された画像平面上の１つの位置に対応するピクセル値を格納するまで続く。最後に、コンピュータモニタなどのグラフィック表示装置上にレンダリングすることができる３Ｄデータセットの２Ｄ画像が作り出される。
【０１２４】
上述のように、所定の画像化誤差閾値を使用して本発明の画像解像度及び画像レンダリング速度を調整することができる。具体的には、２Ｄ画像の異なる部分の異なる画像解像度要件に対応するように、所定の画像化誤差閾値をサブ平面間で動的に調整する。例えば、サブ平面がオブジェクトの縁部などの複雑な内部構造又は高周波画像成分を含まない場合、所定の画像化誤差閾値は、比較的高いマグニチュードに設定され、その逆も可能である。一実施形態では、画質と画像レンダリング速度との均衡が得られるように、所定の画像化誤差閾値を調整する時に３つの方法を使用する。図１３（Ａ）の段階１３１７で示すように、それらは以下のものである。
・シェーディング縁部検出、
・バイリニア補間誤差分析、及び
・オクトリ横縁部検出。
【０１２５】
一般的に、人間の目は高周波成分に対して敏感であるから、画像の解像度は、高周波成分、例えば、オブジェクトの縁部により多く依存する。しかし、バイリニア補間は、たとえ効率的であっても、本質的にローパスフィルタであるために画像の高周波成分を不鮮明にする傾向がある。従って、本発明では、適応レイキャスティングを使用して、必要な時にいつでも画像化誤差閾値を小さくすることによってピクセル値を推定する。そうするために、コンピュータプログラムは、縁部を含むか又はそれに接近するサブ平面を処理することになることを予め知る必要がある。シェーディング縁部検出は、このような目的で設計された方法である。
【０１２６】
図１４（Ａ）は、２Ｄ実施例を用いたシェーディング縁部検出の原理を示している。複数のレイ１４１０を画像線１４２０から画像ボリューム内に埋められた２Ｄオブジェクトに向けて放出させた時、その一部、例えばレイ１４１０−３は、オブジェクトの中央区域と相互作用し、その一部、例えばレイ１４１０−１は、オブジェクトの縁部と相互作用する。上述のように、異なるレイ経路に対応するオブジェクトの局所勾配ベクトルは、矢印１４４０−１及び１４４０−３のような反射レイエネルギを推定するために既に計算されている。
【０１２７】
その後、コンピュータプログラムは、各局所勾配ベクトルを対応するレイ経路上に投影し、投影勾配ベクトルの長さ、つまり、勾配ベクトルとレイ経路の間の角度の余弦値は、レイがオブジェクトの縁部に接近するか否かを示している。例えば、矢印１４５０−１のようなより小さな余弦値は、レイ１４１０−１がオブジェクト１４３０の左縁部に非常に近いことを示しており、この区域のピクセル値は、バイリニア補間ではなく、適応レイキャスティングを通じて推定すべきであることを示唆している。これに応答して、コンピュータプログラムは、段階１３１８での条件を満足するためにレイ１４１０−１の原点近くのサブ平面をより小さな子サブ平面に細分化すべきであるように、所定の画像化誤差閾値を小さくする。
【０１２８】
これとは対照的に、矢印１４５０−３のようなより大きな余弦値は、レイ１４１０−３の原点近くの画像変動が小さく、また、バイリニア補間によるピクセル値が十分に正確であることを示唆している。その結果、その区域内の所定の画像化誤差閾値は、小さくなる必要がないか又は大きくなることさえできる。画像化誤差閾値のこのような適応配置により、確実に必要な場合にのみ高価である適応レイキャスティング作業が行われ、また、画像解像度の損失がほとんどなくコンピュータリソースの使用量が少なくなる。
【０１２９】
ピクセル値のレイキャスティングバージョンの方が正確であるにしても、それは、対応する補間バージョンを無用にするものではない。実際には、２つのバージョンの差又はバイリニア補間誤差は、画像化誤差閾値を異なるサブ平面に適応させる方法に関する重要な指示の役目を果たすものである。図１４（Ｂ）に示すように、サブ平面１４６０は、４つのコーナに４つの既知のピクセル値Ｐ1からＰ4を有する。サブ平面１４６０の中心にあるバイリニア補間ピクセル値Ｐ5'は以下のように定められる。
【数２４】
2007503060.tif 000041
【０１３０】
一方、サブ平面１４６０を４つのより小さなサブ平面に細分化した時にピクセル値Ｐ5も適応レイキャスティングで発生し、２つのピクセル値の間の絶対差｜Ｐ5−Ｐ5'｜は、バイリニア補間の結果がこのサブ平面１４６０内でいかに正確であるかを示すものであると仮定する。例えば、より大きな絶対差は、サブ平面を更にフラグメント化する必要があるということを意味するばかりでなく、サブ平面４６０内に実質的なピクセル値変動がある可能性があることも示唆している。これに対応して、コンピュータプログラムは、サブ平面上の画像ボリューム内の内部構造の３Ｄ特性を完全に捕捉するように大幅に画像化誤差閾値を小さくすることができる。他方、画像レンダリング速度を向上させるが画像解像度をあまり多く損失しないように、より小さな絶対差に応答して所定の画像化誤差閾値を大きくすることができる。
【０１３１】
オクトリ横縁部検出とは、反射レイエネルギを推定するために選択したサブボリューム、セル、又はサブセルと、画像ボリューム内に埋められたより小さな３Ｄオブジェクト又は３Ｄオブジェクトの鋭い縁部を捕捉するための画像平面との間のサイズ差を検査することによって画像化誤差閾値を調整する方法を意味する。図１４（Ｃ）の例においては、２Ｄデータセット１４８０は、少なくとも２つのオブジェクト１４８２及び１４８４を含み、２Ｄデータセットの長さはＤである。データセット１４８０の内側には、画像平面１４７０があり、画像平面１４７０の長さはＬである。反射レイエネルギ推定に寄与する異なるサイズの一連のサブボリュームがレイ経路１４７２に沿って存在する。拡大ビュー１４９０は、オブジェクト１４８２内のこれらのサブボリュームの一部の詳細を示している。データセットの最大フラグメント化レベルがＱである仮定すると、小さなオブジェクト又はレイ経路近くのオブジェクトの鋭い縁部の存在を示すパラメータＺが以下のように定められる。
【数２５】
2007503060.tif 000042
【０１３２】
正のＺは、拡大ビュー１４９０内にオブジェクト１４８２の鋭い縁部を含む小さなブロックのような、レイと相互作用するいくつかの非常に小さいサブボリュームがレイ経路１４７２に沿って存在することを意味する。すなわち、正のＺは、レイ経路１４７２の原点近くの画像平面１４７０上の所定の画像化誤差閾値が小さなオブジェクト又は鋭い縁部を見失わないように小さくなるべきであることを示唆している。
【０１３３】
最後に、所定のエネルギ誤差閾値と類似である所定の画像化誤差閾値も、望ましい毎秒フレーム数と実際の毎秒フレーム数との比率に従って調整することができる。比率が１よりも大きいと、レンダリングする必要がある画像フレーム数は、システムのデフォルトレンダリング能力よりも多くなる。その結果、所定の画像化誤差閾値は大きくなり、各画像フレームに対して割り当てられるシステムリソースは少なくなる。比率が１よりも小さいと、レンダリングする必要がある画像フレーム数は、システムのデフォルトレンダリング能力よりも少なくて済む。従って、所定の画像化誤差閾値は小さくなり、各画像フレームに対して割り当てられるシステムリソースは多くなる。
【０１３４】
上述の適応直接ボリュームレンダリング方法は、一般的なコンピュータシステム内で実施することができ、特別なハードウエアサポートは不要である。図１５は、本発明によるこのようなシステム１５００を示している。適応直接ボリュームレンダリングシステム１５００は、一般的に、１つ又はそれよりも多くの中央演算処理装置（ＣＰＵ）１５０２、メモリ１５１４、及びシステム１５００の様々な構成要素を相互接続する１つ又はそれよりも多くの通信バス１５１２を含む。また、適応直接ボリュームレンダリングシステム１５００は、例えば、３Ｄデータセットの２Ｄ画像を表示する表示装置及びユーザの画像レンダリング要求を受け取るためのキーボード１５０８を含むユーザインタフェース１５０４を含む。システム１５００は、任意的に、３Ｄデータセットを遠隔記憶装置から検索するか又はレンダリング結果を遠隔地のクライアントに送信するネットワーク又は他の通信インタフェースを含むことができる。
【０１３５】
メモリ１５１４は、高速ランダムアクセスメモリを含み、１つ又はそれよりも多くの磁気ディスク記憶装置のような不揮発性メモリ（図示せず）も含むことができる。また、メモリ１５１４は、中央演算処理装置１５０２から遠隔に位置する大容量記憶装置を含むことができる。メモリは、以下を格納することが好ましい。
・様々な基本的なシステムサービスを処理し、かつハードウエア依存タスクを実行するための手順を含むオペレーティングシステム１５１６、
・「インターネット」、他の広域ネットワーク、ローカルエリアネットワーク、及びメトロポリタンエリアネットワークなどのような１つ又はそれよりも多くの通信ネットワーク（有線又は無線）を通じて、システム１５００を様々なセキュリティ装置又はクライアントコンピュータ（図示せず）及び場合によっては他のサーバ又はコンピュータに接続するのに使用されるネットワーク通信モジュール１５１８、
・システム１５００の作動に必要とされるメモリ１５１４に記憶された他のモジュール及びデータ構造を初期化するシステム初期化モジュール１５２０、
・３Ｄデータセットの２Ｄ画像を発生させて表示装置１５０６上でレンダリングする適応ボリュームレンダリングエンジンモジュール１５２２、
・３Ｄデータセット、及びフラグメント化した３Ｄデータセットを表す対応するオクトリ構造、
・２Ｄ画像データセット、及びフラグメント化した２Ｄ画像を表す対応する四分木構造、及び
・３Ｄデータセット内の各要素の不透明性値を判断する不透明性伝達関数表。
【０１３６】
直接ボリュームレンダリングエンジンモジュール１５２２は、実行可能な手順、サブ手順、及び以下のような適応ボリュームレンダリング処理をサポートする他のデータ構造を含む。
・３Ｄデータセットを複数のサブボリュームにフラグメント化し、各サブボリュームに対して一組のデータ値パラメータを計算し、オクトリ構造を構成し、各サブボリュームをオクトリ上の１つのノードに関連付ける３Ｄデータセットフラグメント化モジュール１５２４、
・所定のエネルギ誤差閾値に基づいてレイと相互作用する一連のサブボリュームを選択し、その後、修正フォン照射モデルを用いて各サブボリュームによって反射レイエネルギを推定する３Ｄ適応レイキャスティングモジュール１５２６、及び
・３Ｄ適応レイキャスティングモジュールを選択的に呼び出し、適応レイキャスティングによって推定したピクセル値に対して四分木構造を構成し、２Ｄ画像平面上のレイ原点でピクセル値を補間することによって３Ｄデータセットの２Ｄ画像を構成する２Ｄ画像レンダリングモジュール１５２８。
【０１３７】
レイと相互作用することができるサブボリュームの位置を迅速に見つけるために、不透明性伝達関数表１５４４は、以下を含むことが好ましい。
・任意のデータ値と不透明性が極値になる任意のデータ値よりも高い指定のデータ値との間のデータ値差を格納する順方向ルックアップテーブル１５４６、及び
・任意のデータ値と不透明性が極値になる任意のデータ値よりも低い指定のデータ値との間のデータ値差を格納する逆方向ルックアップテーブル１５４８。
【０１３８】
図１３（Ａ）に示すように、２Ｄ画像推定中に、システム１５００は、最初に画像平面を複数のサブ平面に細分化し、その後、各サブ平面を順次処理し、バイリニア補間又は必要であれば適応レイキャスティングを通じて、サブ平面上の全てのピクセルがピクセル値と関連付けられる。最後に、システム１５００は、異なるサブ平面に付随するピクセル値を単一の２Ｄ画像に組み立て、コンピュータモニタ上でそれをレンダリングする。１つのサブ平面の処理結果は、別のサブ平面のものとは独立したものであるから、適応直接ボリュームレンダリングアルゴリズムは、実際には、パラレルコンピュータ又はコンピュータクラスター上で実行することができるパラレルアルゴリズムである。
【０１３９】
図１６は、コンピュータクラスター１６００を使用する本発明の一実施形態を示している。クラスター１６００は、以下を含む。
・１つ又はそれよりも多くの画像ボリュームを格納するデータ記憶装置１６１０、例えばハードディスク、
・各サーバが好ましくは１つ又はそれよりも多くのＣＰＵと直接ボリュームレンダリングソフトウエアを格納する独自のメモリとを有する複数のコンピュータサーバ１６３０、
・クラスターによって発生した画像を表示するコンピュータモニタ１６５０、
・指令及びレンダリングパラメータをユーザから受け取るキーボード１６７０及びマウス１６９０、及び
・様々な構成要素を接続する通信バス１６２０。
【０１４０】
例示的に、クラスター１６００内には４つのサーバがあり、各サーバは、部分画像１６４０によって示すように、最終画像の１／４を発生させることを担っている。各サーバ内では、サーバ当たりに１つよりも多いＣＰＵがある場合は、異なるＣＰＵ間でジョブを更に仕切ることができる。全ての部分画像１６４０が発生した後に、サーバの１つは、部分画像１６４０を完全な画像に組み立て、モニタ１６５０上でそれをレンダリングする。
【実施例】
【０１４１】
図１７から図２０は、異なる産業上の用途に即した本発明の使用例を示している。図１７Ａ及び図１７Ｂは、ＣＴスキャンで生成した医療画像ボリュームから発生した２つの画像である。画像１７１０は、異なる骨及び器官並びに人体内での相対的位置を示している。画像１７２０は、特定の骨に関するかなりの詳細を明らかにしている。
【０１４２】
図１８は、異なる位置かつ異なる可視化パラメータ、例えば、不透明性伝達関数を用いて同じ画像から発生した人体の３つの画像を示している。画像１８１０を発生させる時に、かなりの量のレイエネルギが人体の皮膚から反射されるように可視化パラメータを選択する。その結果、内臓及び人体の輪郭の両方を画像内で見ることができる。これとは対照的に、結腸を残して肉体組織及び内臓の大部分は画像１８２０から除去されており、これは、通常のＸ線写真と類似ものであるがそれよりも精巧である。画像１８２０のような画像を発生させる利点は、医師が患者に不便さを引き起こすことなく、画像１８３０内に示すような仮想結腸鏡検査を行うことができるという点である。
【０１４３】
図１９は、エンジンの異なる部分を示している。画像１９１０及び１９２０は、発生位置は同じであるが、可視化パラメータが僅かに異なっている。その結果、画像１９２０のエンジンは、画像１９２０よりも透明に見える。この差は、拡大画像１９３０及び１９４０間でより明白である。最後に、図２０は、エンジンの異なる構成要素を示す一組の画像である。
【０１４４】
以上の説明は、説明を目的として特定的な実施形態を参照して行ったものである。しかし、上述の例示的な説明は、網羅的であること又は開示した正確な形態に本発明を限定することを意図していない。多くの修正及び変形が以上の教示の見地から可能である。実施形態は、本発明の原理及びその実際的な用途を最も良く説明し、それによって当業者が予想される特定の使用に適するような様々な修正を用いて本発明及び様々な実施形態を最も良く利用することができるように選んで説明したものである。
【図面の簡単な説明】
【０１４５】
【図１（Ａ）】本発明の実施形態による直接ボリュームレンダリングの基本原理を理解する際に有用な概略図である。
【図１（Ｂ）】本発明の実施形態による直接ボリュームレンダリングの基本原理を理解する際に有用な概略図である。
【図１（Ｃ）】異なる画像解像度の３Ｄオブジェクトの３つの画像を示す図である。
【図１（Ｄ）】３Ｄ採取データセットの形で表された３Ｄオブジェクトを示す図である。
【図２】本発明の一実施形態による直接ボリュームレンダリングアルゴリズムを示す流れ図である。
【図３（Ａ）】３Ｄデータセットフラグメント化の１つの特定的な実施形態を示す図である。
【図３（Ｂ）】８つのセル又はボクセル含むサブボリュームと、ボクセル又はセル内のスカラー場分布とを示す図である。
【図４】３Ｄデータセットフラグメント化のコンピュータ実装を示す流れ図である。
【図５（Ａ）】直接ボリュームレンダリングで使用される不透明性伝達関数を示す図である。
【図５（Ｂ）】不透明性伝達関数に付随する２つのルックアップテーブル、すなわち、順方向ルックアップテーブル及び逆方向ルックアップテーブルを示す図である。
【図６】レイと一連のサブボリュームとの間の相互作用によるレイエネルギ損失を示す図である。
【図７（Ａ）】フォン照射モデルによる３つの形式の反射の１つである周囲反射を示す図である。
【図７（Ｂ）】フォン照射モデルによる３つの形式の反射の１つである拡散反射を示す図である。
【図７（Ｃ）】フォン照射モデルによる３つの形式の反射の１つである鏡面反射を示す図である。
【図８】本発明の実施形態による反射レイエネルギを推定するためのコンピュータプログラムを示す流れ図である。
【図９（Ａ）】本発明による適応レイキャスティングの重要な特徴を示す単純な２Ｄ実施例の一方を示す図である。
【図９（Ｂ）】本発明による適応レイキャスティングの重要な特徴を示す単純な２Ｄ実施例の他方を示す図である。
【図１０（Ａ）】サブボリューム内の不透明性分布の３つのカテゴリの１つを示す図である。
【図１０（Ｂ）】サブボリューム内の不透明性分布の３つのカテゴリの１つを示す図である。
【図１０（Ｃ）】サブボリューム内の不透明性分布の３つのカテゴリの１つを示す図である。
【図１１】セル又はサブセルレベルでの反射レイエネルギ推定の異なる手法を示す流れ図である。
【図１２（Ａ）】セル又はサブセルレベルでの反射レイエネルギ推定の異なる手法を示す２Ｄ実施例を示す図である。
【図１２（Ｂ）】セル又はサブセルレベルでの反射レイエネルギ推定の異なる手法を示す２Ｄ実施例を示す図である。
【図１２（Ｃ）】セル又はサブセル内のレイ経路の長さを計算する方法を示す図である。
【図１２（Ｄ）】セル又はサブセル内のレイ経路の長さを計算する方法を示す図である。
【図１２（Ｅ）】異なるサブセル数にフラグメント化された２Ｄセルを示す図である。
【図１２（Ｆ）】異なるサブセル数にフラグメント化された２Ｄセルを示す図である。
【図１３（Ａ）】本発明による２Ｄ画像推定を示す流れ図である。
【図１３（Ｂ）】本発明によるサブ平面内の２Ｄ画像推定の例を示す図である。
【図１３（Ｃ）】ピクセル値のバイリニア補間の例を示す図である。
【図１４（Ａ）】所定の画像化誤差閾値を修正する３つの１つの方法を示す図である。
【図１４（Ｂ）】所定の画像化誤差閾値を修正する３つの１つの方法を示す図である。
【図１４（Ｃ）】所定の画像化誤差閾値を修正する３つの１つの方法を示す図である。
【図１５】本発明による適応画像ボリュームレンダリングシステムのブロック図である。
【図１６】本発明によりコンピュータクラスターに実装された適応画像ボリュームレンダリングシステムのブロック図である。
【図１７】医療画像ボリュームの適応直接ボリュームレンダリングを通じて人体の異なる部分の２つの画像を示す図である。
【図１８】適応直接ボリュームレンダリングシステムが異なる可視化パラメータ、例えば、異なる不透明性伝達関数を使用する時に同じ医療画像ボリュームの異なる３Ｄ特性を有する３つの画像を示す図である。
【図１９】システムが異なる不透明性可視化パラメータ、例えば、異なる不透明性伝達関数を使用する時の自動車エンジンの４つの画像を示す図である。
【図２０】自動車エンジンの異なる部分の別の４つの画像を示す図である。
【符号の説明】
【０１４６】
１０１  ２Ｄ画像平面
１０２  放射面
１０４  レイ
１０６  画像ボリューム
【図１（Ａ）】
2007503060.tif 000043
【図１（Ｂ）】
2007503060.tif 000044
【図１（Ｃ）】
2007503060.tif 000045
【図１（Ｄ）】
2007503060.tif 000046
【図２】
2007503060.tif 000047
【図３（Ａ）】
2007503060.tif 000048
【図３（Ｂ）】
2007503060.tif 000049
【図４】
2007503060.tif 000050
【図５（Ａ）】
2007503060.tif 000051
【図５（Ｂ）】
2007503060.tif 000052
【図６】
2007503060.tif 000053
【図７】
2007503060.tif 000054
【図８】
2007503060.tif 000055
【図９（Ａ）】
2007503060.tif 000056
【図９（Ｂ）】
2007503060.tif 000057
【図１０】
2007503060.tif 000058
【図１１】
2007503060.tif 000059
【図１２】
2007503060.tif 000060
【図１２】
2007503060.tif 000061
【図１２】
2007503060.tif 000062
【図１３（Ａ）】
2007503060.tif 000063
【図１３（Ｂ）】
2007503060.tif 000064
【図１３（Ｃ）】
2007503060.tif 000065
【図１４（Ａ）】
2007503060.tif 000066
【図１４（Ｂ）】
2007503060.tif 000067
【図１４（Ｃ）】
2007503060.tif 000068
【図１５】
2007503060.tif 000069
【図１６】
2007503060.tif 000070
【図１７】
2007503060.tif 000071
【図１８】
2007503060.tif 000072
【図１９】
2007503060.tif 000073
【図２０】
2007503060.tif 000074
【国際調査報告】
2007503060.tif 000075
2007503060.tif 000076
2007503060.tif 000077