(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の関数としてトリリニア補間によって表すことができる。
【００３７】
【数１】
2007503061.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）
【００４３】
以下で明らかになるように、データ値パラメータのこの発生は、図３Ａに示すように上から下にルートノードレベルで始まるオクトリ構造と反対の方向に進む。データパラメータ発生のこの下から上の手法は、オクトリのより低いレベルにある計算結果を最大に再利用することから最も効率的である。
【００４４】
段階２０１では、元の画像ボリュームの新しい表現がＭＩＰレイキャスティングの段階２０３に利用可能である。この表現は、オクトリ及び異なるサイズの複数のサブボリュームを含み、オクトリの１つのノードに付随し、かつ一組のデータパラメータを有する各サブボリュームは、サブボリューム内のデータ値分布を特徴付ける。
【００４５】
３Ｄ適応ＭＩＰレイキャスティング
ＭＩＰレイキャスティングは、画像ボリュームに埋め込まれた内部３Ｄ構造を示す２Ｄ画像を発生させるアルゴリズムであり、ピクセルからのレイを画像ボリュームに投射し、レイ経路に沿った最大データ値を識別し、所定の画面転送関数に従って最大データ値をピクセル値に変換することによって２Ｄ画像の各ピクセル値を推定する。本発明の一実施形態によれば、効率的な３Ｄ適応ＭＩＰレイキャスティングアルゴリズムは、以下の３つの段階を含む。
・段階１：アルゴリズムは、所定の現在のデータ値記録及びある一定の断面を有するレイの数学的モデルを構成して３Ｄオブジェクトを個別の３Ｄデータセットとして表し、データセットの各データ値は、オブジェクトの特定の位置でのこのような物理特性を表す。
・段階２：アルゴリズムは、レイ経路に沿った一連のデータ値を一度に１つレイの現在のデータ値記録と比較し、より高いデータ値が識別された場合は現在のデータ値記録を入れ替える。
・段階３：アルゴリズムは、所定の画面転送関数に従ってレイ経路に沿った最高データ値でもあるレイの最終データ値を２Ｄ画像上のピクセル値に変換する。
【００４６】
画面転送関数は、一般的に、３Ｄデータセットに埋め込まれた内部構造の異なる態様を解明するために任意に選択された単調関数である。図５は、ＭＩＰレイキャスティングで使用することができる画面転送関数である。垂直軸は、２Ｄ画像上のピクセル値の大きさを示し、水平軸は、３Ｄデータセットのデータ値のマグニチュードを示している。画面転送関数を３つの部分に分割することができる。Ｖlowよりも小さい一切のデータ値は、一定のピクセル値Ｐlowに対応し、Ｖhighよりも大きな一切のデータ値は、一定のピクセル値Ｐhighに対応し、ＶlowとＶhighの間の一切のデータ値は、ＰlowとＰhighの間にあるピクセル値Ｐiに対応する。
【００４７】
図６は、コンピュータプログラムが本発明の一実施形態に従って特定のレイ経路に沿った画像ボリュームの最高データ値を識別する方法を示す流れ図である。画像ボリュームは、既に図３Ａに示すようにオクトリに付随する複数のサブボリュームにフラグメント化されており、一組のデータパラメータ（Ｖmin、Ｖavg、Ｖmax）を有する各サブボリュームは、データ値分布を特徴付けることから、コンピュータプログラムは、効率を目的として、オクトリのルートノードに付随する画像ボリューム全体に対して識別処理を開始する。
【００４８】
段階６０１では、コンピュータプログラムは、２Ｄ放射面から放出した複数のレイからレイを選択し、そのレイは、２Ｄ放射面上の原点と、画像ボリュームに対する特定の向きと、初期の現在のデータ値記録Ｖrecとを有する。一実施形態では、Ｖlowよりも低い一切のデータ値は、２Ｄ画像上の同じピクセル値Ｐlowに対応することから、図５に示すように、画面転送関数のＶlowになるように初期の現在のデータ値記録を設定する。図７に関連して以下で説明するように、この手法は、オクトリデータ構造に適用した時に、かなりの量の画像ボリュームを識別処理から排除することができ、識別処理がより効率的になる。
【００４９】
段階６０３では、コンピュータプログラムは、オクトリデータ構造からレイに初めて遭遇する最大サブボリュームを選択し、このサブボリューム内のレイ経路がレイの現在のデータ値記録Ｖrecよりも高いデータ値を有する点を含むかを検査する。デフォルトにより、段階６０３で選択される第１のサブボリュームは、常に付随の組のデータ値（Ｖmin、Ｖavg、Ｖmax）を有する画像ボリューム全体である。しかし、図６に示すように、コンピュータプログラムは、一部の条件が満たされた場合は、段階６０８又は６０９を完了した後に段階６０３に再度行くことができる。この場合、コンピュータプログラムは、オクトリデータ構造に付随する少なくとも１つのサブボリュームを検査済みであるはずであり、段階６０３で選択したサブボリュームは、画像ボリューム全体ではなく、レイが出たばかりのサブボリュームの空間的に隣接するサブボリュームになる。
【００５０】
上述のように、コンピュータプログラムのゴールは、画像ボリューム内でレイ経路上にある最高データ値を識別することである。しかし、画像化誤差を低減するために、並びに識別処理を促進させるために、段階６０３で選択したサブボリュームは、Ｖrecよりも高い少なくとも１つのデータ値、例えば、Ｖrec＜Ｖmaxを有することだけの理由により、レイの現在のデータ値記録のより高い値との入れ替えは行わない。むしろ、サブボリュームは、レイの現在のデータ値記録を入れ替えるために以下の３つの判断基準を満足すべきである。
・サブボリューム最大データ値Ｖmaxは、レイの現在のデータ値記録Ｖrecよりも高くなければならない（段階６０５）、
・サブボリューム内の最大画面値差（ＭＳＶＤ）は、所定の閾値を下回らなければならない（段階６０９）、及び
・サブボリューム内のレイ経路上の所定の位置、例えば、サブボリューム内のレイ経路の中点のデータ値Ｖestは、レイの現在のデータ値記録Ｖrecよりも高くなければならない（段階６１５）。
【００５１】
段階６０５では、コンピュータプログラムは、レイの現在のデータ値記録Ｖrecを段階６０３で選択したサブボリュームのサブボリューム最大データ値Ｖmaxと比較する。Ｖrec＞Ｖmaxの場合、レイの現在のデータ値記録が更新される機会はない。従って、コンピュータプログラムは、このサブボリュームを排除し、レイは、サブボリュームを出た時の現在のデータ値記録を維持する。尚、レイは、サブボリュームを出た直後に画像ボリューム全体を通過したと考えられる。従って、コンピュータプログラムは、段階６０８では、これがレイ経路上の最終サブボリュームであるかを検査する。そうである場合、コンピュータプログラムは、レイキャスティングを止め、レイの現在のデータ値記録Ｖrecをレイ経路に沿った最高データ値と処理することになり、次に、この最高データ値を２Ｄ放射面上の対応するピクセル値を推定するのに使用する。そうでなければ又はＶrec＜Ｖmaxの場合には、値がレイの現在のデータ値記録よりも高い少なくとも１つの位置がサブボリューム内にある。しかし、このボクセルをＶrecを更新するのに使用することができるか否かを判断するためには、コンピュータプログラムによって取られるいくつかの更に別の段階が必要である。
【００５２】
段階６０７では、コンピュータプログラムは、所定の画面転送関数（ＳＴＦ）を用いてサブボリュームの最大画面値差（ＭＳＶＤ）を推定する。サブボリュームのＭＳＶＤは、２Ｄ放射面上のピクセル値変動に及ぼすサブボリューム内のデータ値変動の影響を示している。一実施形態では、サブボリュームの付随のデータパラメータＶmin、Ｖavg、Ｖmax、及び現在のデータ値記録Ｖrecのマグニチュードにより、サブボリュームのＭＳＶＤは、以下のように若干異なる定義を有する場合がある。
・Ｖrec＜Ｖminの場合、ＭＳＶＤ＝ＭＡＸ（ＳＴＦ（Ｖmax）−ＳＴＦ（Ｖavg），ＳＴＦ（Ｖavg）−ＳＴＦ（Ｖmin））、
・Ｖmin＜Ｖrec＜Ｖavgの場合、ＭＳＶＤ＝ＭＡＸ（ＳＴＦ（Ｖmax）−ＳＴＦ（Ｖavg），ＳＴＦ（Ｖavg）−ＳＴＦ（Ｖrec））、又は
・Ｖavg＜Ｖrec＜Ｖmaxの場合、ＭＳＶＤ＝ＳＴＦ（Ｖmax）−ＳＴＦ（Ｖrec）
【００５３】
識別処理の目的は、画像ボリューム内のレイ経路上の最高データ値を識別することであることから、値が現在のデータ値記録Ｖrecよりも小さいサブボリュームのあらゆるボクセルは、サブボリュームのＭＳＶＤの推定には関係がないはずである。一方、Ｖavgは、サブボリューム内のデータ値分布全体を特徴付けるという点においてＶmax及びＶminよりも正確であり、Ｖavg並びＶmax及びＶminを伴うＭＳＶＤ定義では、Ｖmax及びＶminを伴うだけのＭＳＶＤ定義よりも正確な画像を生成することができる。一部の代替的実施形態では、平均データ値Ｖavgは、中央データ値Ｖmedで入れ替えることができる。中央データ値は、サブボリュームデータ値の一方の半分よりも高く、サブボリュームのデータ値の他方の半分よりも低いデータ値である。
【００５４】
段階６０９では、コンピュータプログラムは、推定ＭＳＶＤを所定の閾値と比較する。推定ＭＳＶＤが閾値を超える場合、コンピュータプログラムは、オクトリデータ構造に沿って現在サブボリュームに付随するノードから段階的に下り、子ノードの１つに付随するより小さなサブボリュームを選択する（段階６１１）。子ノードに付随する複数のより小さなサブボリュームの中で、コンピュータプログラムは、他の全てのサブボリュームの先にあるレイに遭遇するものを選択し、次に、段階６０５に戻って新たに選択したサブボリュームが段階６０９での試験に合格するのに十分に小さいか否かを判断する。尚、新たに選択したサブボリュームは、固有の組のデータパラメータ（Ｖ’min、Ｖ’avg、Ｖ’max）を有し、特に、最大データ値Ｖ’maxは、親ノードの最大データ値Ｖmaxよりも小さいとすることができる。Ｖ’max＜Ｖrecの場合、コンピュータプログラムは、このより小さなサブボリュームを飛び越して、上述のように段階６０８に移動することになる。
【００５５】
段階６０５から段階６１１を含むループ後に、コンピュータプログラムは、例えば２×２×２セルを有する最小サブボリュームに付随するオクトリデータ構造の葉ノードに到達することができる。最小サブボリュームがまだ段階６０９で試験に合格しない場合、コンピュータプログラムは、８つのセルの１つを選択するか又はセルを８つのサブセルにフラグメント化し、次に、段階６０９で試験に合格するようにサブセルの１つを検査することができる。図３Ｂに示すように、例えば、トリリニア補間を通じて８つのコーナでの８つのデータ値を用いてセル又はサブセル内のいずれかの点でのあらゆるデータ値を推定することができる。他方、レイは、一部の実施形態によれば、ある一定の断面を有するチューブ又はコーンであると見なされる。従って、セル内のフラグメント化は、ある一定の段階では、例えば、サブセルのサイズが断面内のレイの断面よりも小さい場合は停止すべきである。これが発生すると、コンピュータプログラムは、段階６０９での試験が満足されたと仮定して自動的に段階６１３に進むことができる。
【００５６】
段階６０９での試験が満足されたか又はサブボリューム（又はセル又はサブセル）のＭＳＶＤが所定の閾値よりも小さいと仮定して、コンピュータプログラムは、次に、現在のデータ値記録Ｖrecをサブボリューム内のレイ経路上の１つの地点にある推定データ値Ｖestと比較し、ＶrecをＶestで更新すべきか否かを判断する。一部の実施形態では、サブボリューム内のレイ経路の中心点をこの比較のために選択し、一部の他の実施形態では、コンピュータは、レイがサブボリュームに入る／出る位置のような位置を選択することができる。選択した位置が正確にはセルの１つのコーナではないことが多いことから、コンピュータプログラムは、指定の位置にあるデータ値Ｖestを補間すべきである。これを行うために、コンピュータプログラムは、段階６１３では、最初にどのセルが選択した位置を含むか否かを判断し、次に、コンピュータメモリ又はハードディスクからセルの８つのコーナにあるデータ値を検索し、例えば、トリリニア補間を通じてセルの位置にあるデータ値Ｖestを推定する。
【００５７】
Ｖrec＞Ｖest（段階６１５で「ノー」）の場合、レイは、現在のサブボリュームを出ると同時に現在のデータ値記録を維持する。尚、レイがサブボリュームを出る時には常に、コンピュータプログラムは、段階６０８でレイも画像ボリューム全体を出たかを検査すべきである。Ｖrec＜Ｖest（段階６１５で「イエス」）の場合、コンピュータプログラムは、段階６１７で現在のデータ値記録ＶrecをＶestと入れ替え、Ｖestは、レイの現在のデータ値記録になる。次に、コンピュータプログラムは、図５に示すように、Ｖhighを超えるデータ値記録が対応するピクセル値Ｐhighに影響を与えないために、段階６１９でレイの現在のデータ値記録を画面転送関数のＶhighと比較する。Ｖrec＞Ｖhighの場合、レイキャスティングを続ける必要がないので、コンピュータプログラムは、この特定のレイに対してレイキャスティングを直ちに終了する。そうでなければ、レイキャスティングが続行される。しかし、レイはサブボリュームを出たばかりであることから、コンピュータプログラムは、段階６０３でレイキャスティングを再開する前に、最初にレイが画像ボリューム全体の外側にあるか否かを判断する。
【００５８】
図６に示す適応ＭＩＰレイキャスティングアルゴリズムは、本質的には、レイ経路に沿ったサブボリュームのシーケンスを選択し、レイ経路に沿った最高データ値を有するサブボリュームの１つにおける１つの位置を識別する手順である。異なるサブボリュームがオクトリデータ構造の異なるノードに付随し、かつ異なる組のデータパラメータ（Ｖmin、Ｖavg、Ｖmax）によって特徴付けられることから、アルゴリズムは、ＭＩＰレイキャスティング（例えば、段階６０５で）のゴールに関連のないサブボリュームを適切に排除して計算経費を大幅に低減することができる。
【００５９】
図７は、任意に分布させたデータ値のグループ間で最高値を有するボクセルを図６に示す実施形態に従って識別する際にアルゴリズムが作業する方法を示す１Ｄ実施例を示すものである。尚、１Ｄにおけるゴールは、アルゴリズムの２Ｄ又は３Ｄバージョンが、異なるサブボリューム内のレイ経路の異なる部分上のデータ値のシーケンスを推定してその間で最高値を識別する必要があるために、２Ｄ又は３Ｄにおけるゴールよりも達成しやすい。これとは対照的に、最高データ値は、アルゴリズムの１Ｄバージョンには既知のものであり、未知のものはこの最高値の位置であり、一方、レイ経路上の最高値の位置は、２Ｄ又は３Ｄバージョンのアルゴリズムの関心事ではない（たとえ容易に入手可能であっても）。
【００６０】
この例においては、水平軸に沿って１６個のデータサンプル、ＡからＰがある。例えば、サンプルＡは１００、サンプルＪは２２１、サンプルＮは８３であるなどである。直観的な手法は、最初に現在のデータ値記録に任意の値（例えば、１０８）を割り当て、次に、１６個全てのデータサンプルと１つずつ比較することである。サンプルがより高い値を有する場合、現在のデータ値記録は、より高い値と入れ替えられる。この処理は、最終サンプルＰが検査されて最高値を有するサンプルがサンプルＩ（２２７）であると識別されるまで続けられる。
【００６１】
明らかに、この直観的手法の計算経費はＯ（Ｎ）であり、Ｎは、データサンプル数である。Ｍ2グループのデータサンプル（２Ｄ画像を発生させるのに必要とされるＭ2レイキャスティングと類似）がある場合、総計算経費は、Ｏ（ＮＭ2）になる。Ｎが非常に小さい数字である場合、この手法は、成功するであろう。しかし、現実の用途、例えばＣＴスキャン画像ボリュームにおいては、Ｎは、大きな数字（例えば、数百又は千を超えさえもする）であることが多く、Ｏ（ＮＭ2）は、ほとんどのコンピュータシステムでは処理できないほど大きなものになる。
【００６２】
代わりに、１６個のデータサンプルの各々が二進ツリー７００の１６個の葉ノードの１つに関連するように、５レベル二進ツリー７００を構成する。ルートノード７４０を含む二進ツリー７００の全ての非葉ノードは、この非葉ノードの子孫である葉ノードでの最小データ値、平均データ値、及び最大データ値を示す一組のデータパラメータ（Ｖmin、Ｖavg、Ｖmax）と関連する。例えば、ノード７２０は、付随の値がそれぞれ１００及び１２５である２つの葉ノードのみを有することから、一組のデータパラメータ（１００、１１２、１２５）を有し、ルートノード７４０は、１６個全ての葉ノードが子孫であり、１６個の葉ノードの中で葉ノードＩが最高値２２７を有し、葉ノードＬ及びＭが最低値５８を有するので、一組のデータパラメータ（５８、１３８、２２７）を有する。
【００６３】
初期データ値記録は、それぞれ、Ｖrec＝１８０、Ｖlow＝１８０、Ｖhigh＝２２０であると仮定すると、所定の閾値ＴMSVD＝１０であり、画面転送関数ＳＴＦ（Ｖ）＝Ｖ＜Ｖlowであれば１８０、又はＶlow＜Ｖ＜ＶhighであればＶ、又はＶhigh＜Ｖであれば２２０である。段階６０３に従ってルートノードを選択してＶrecと比較する。Ｖrec（１８０）がルートノードのＶmax（２２７）よりも小さいことから、１８０よりも高い付随値を有する１６個のサンプルの少なくとも１つがある。従って、ルートノードのＭＳＶＤを段階６０７に従って（ＳＴＦ（Ｖmax）−ＳＴＦ（Ｖrec））＝２２７−１８０＝４７のように推定する。これは、Ｖrec（１８０）がルートノードのＶavg（１３８）よりも大きいからである。ＭＳＶＤ（４７）は、ＴMSVD（１０）よりも大きいことから、コンピュータプログラムは、段階６１１に従って１つレベルを下げて子ノードの１つに行くことにより、葉ノードのサブグループを検査すべきである。子ノード７６０のＶmaxは、現在のデータ値記録Ｖrec（１８０）よりも小さい１７１のみであることから、段階６０５に従って子ノード７６０の子孫である８つの葉ノードのいずれも考察する必要はない。代わりに、子ノード７８０が選択されるが、その理由は、それが子ノード７６０の隣にあり、かつそのＶmax（２２７）がＶrec（１８０）よりも大きいからである。この処理は、上述の３つ全ての判断基準を満足するノード７８４が識別され、かつ現在のデータ値記録（１８０）と入れ替えるために葉ノードＩでの値（２２７）が選択されるまで続けられる。尚、検査していない葉ノードがまだ６つ（ＫからＰ）あっても、現在のデータ値記録Ｖrec（２２７）がＶhigh（２２０）よりも高く、かつ、より高い値があっても得られるピクセル値には影響を与えないので、これ以上の検査の必要はない。従って、コンピュータプログラムは、段階６１９に従ってこの処理を適切に終了することができる。
【００６４】
数学的には、上述の二進ツリーによる手法の計算経費は、データサンプルの分布が不規則である場合はＯ（ｌｏｇ2Ｎ）のみであり、直観的手法Ｏ（Ｎ）の計算経費よりも大幅に低い。上述のように、３Ｄデータセットを複数のサブボリュームにフラグメント化して各サブボリュームをオクトリデータ構造のノードに関連付けることによってアルゴリズムを３Ｄまで拡張した時に、計算経費は、大幅に落ちる可能性がある。
【００６５】
段階６０９で適応ＭＩＰレイキャスティングに使用した所定の閾値は、アルゴリズムの効率及び精度に影響を与えるパラメータである。所定の画面転送関数が与えられると、閾値は、試験に合格することができるサブボリュームを見つけるまで段階６０９で検査するのにコンピュータプログラムがいくつのサブボリュームを必要とするかを決めるものである。すなわち、閾値が大きいほど、アルゴリズムは効率的になる。一方、段階６１３でのアルゴリズムは、任意に選択した位置、例えば、サブボリューム内のレイ経路の中心点でのデータ値を推定し、この推定値をサブボリューム内のレイ経路上の最大データ値として処理して段階６１５で現在のデータ値記録と比較する。しかし、この任意に選択した位置は、データ値がサブボリューム内のレイ経路上のピークに到達する正確な位置ではない可能性がある。より小さな閾値は、段階６０９での試験に合格することができるより小さなサブボリュームに変換され、従って、任意に選択した位置と正確な位置との間の誤差が小さくなる。実際には、コンピュータプログラムは、適切な閾値を選択することにより、これらの２つの競合するゴール、又は効率と精度を両立させなければならない。
【００６６】
一実施形態によれば、段階６０９で使用した閾値は、静的な値ではなく、妥当な経費で最適な結果を発生させるために画像間で変わる動的な値である。Ｅ0をユーザが定める初期閾値であると仮定して、カスタマイズされた閾値を以下のように定める。
・平行投影の場合、Ｐzoomを画像の物理的サイズを示すズーム因子とすると、Ｅ（Ｅ0，Ｐzoom）＝Ｅ0／Ｓｑｒｔ（Ｐzoom）、及び
・透視投影の場合、Ｐdistanceをレイ原点と画像ボリュームの中心との間の距離とすると、Ｅ（Ｅ0，Ｐdistance）＝Ｅ0*Ｌｏｇ2（Ｐdistance）
【００６７】
平行投影の場合にズーム因子Ｐzoomを大きくすると、閾値が小さくなり、コンピュータプログラムは、レイ経路に沿った最大データ値を識別する前により多くのサブボリュームを試験する必要があり、解像度が高く、かつジッター効果が小さくなった画像が作り出される。これとは対照的に、透視投影の場合にレイ原点と画像ボリュームとの間の距離Ｐdistanceを大きくすると、画質に逆効果を与える。
【００６８】
画質以外に、使い易さは、適応ＭＩＰレイキャスティングアルゴリズムを評価する時の別の要素である。例えば、放射面を画像ボリュームに対して位置決めする時間と画像をコンピュータモニタ上でレンダリングする時間との間のいかなる時間間隔も、心血管疾患診断のような動的画像化用途において望ましくないものである。このような時間遅延を小さくし、ユーザに対して診断処理中により多くの制御を与えるために、一実施形態では、以下のように、望ましいフレーム／秒（ＤＦＰＳ）と実際のフレーム／秒（ＡＦＰＳ）との間の比率によって所定の閾値を調節することができる。
・平行投影の場合、Ｅ（Ｅ0，Ｐzoom，ＤＦＰＳ，ＡＦＰＳ）＝Ｅ（Ｅ0，Ｐzoom）*ＤＦＰＳ／ＡＦＰＳ、及び
・透視投影の場合、Ｅ（Ｅ0，Ｐdistance，ＤＦＰＳ，ＡＦＰＳ）＝Ｅ（Ｅ0，Ｐdistance）*ＤＦＰＳ／ＡＦＰＳ
【００６９】
その名称が示すように、ＤＦＰＳは、ユーザが好む画像レンダリング速度であり、一方、ＡＦＰＳは、コンピュータハードウエア、放射面上のピクセル数、及び処理される画像ボリュームのような画像化システムの設定値によって限定される画像レンダリング速度である。好ましい画像レンダリング速度がシステムによって提供される画像レンダリング速度よりも大きい場合、閾値は、相応に大きくなるべきである。その結果、閾値を大きくすると、画質に妥協して処理することにより、ユーザが好む画像レンダリング速度が達成される。他方、好ましい画像レンダリング速度がシステムが与えることができる画像レンダリング速度よりも小さい場合、システムは、閾値を小さくして、ユーザが許容可能な速度におけるより高品質な画像を発生させるための付加的な機能を有することができる。
【００７０】
２Ｄ画像の推定
３ＤＭＩＰレイキャスティングでは、画像ボリューム内のレイ経路に沿った最大データ値を識別し、次に、所定の画面転送関数に従ってそれを２Ｄ画像平面上の特定の位置のピクセル値に変換する。３ＤＭＩＰ適応レイキャスティングは、計算上高価な作動であることから、アルゴリズムの効率は、実質的にレイキャスティングを通じて発生させなければならない画像平面上のピクセル値の数に依存する。図８は、コンピュータプログラムが画像平面上のどのピクセル値を適応ＭＩＰレイキャスティング方法を通じて発生させる必要があるかを適応して判断する方法、及びどのピクセル値を発生したピクセル値を用いて画質に対して感知不能でないならば無視可能な影響で推定することができるかを示す流れ図である。
【００７１】
段階８０１では、コンピュータプログラムは、図１Ａ及び図１Ｂに示すように、画像ボリュームから隔てたある一定の距離であり、かつ画像ボリュームに対してある一定の方向に向けられた２Ｄ画像平面を構成する。画像平面は、通常、Ｍ×Ｍ（例えば、５１２×５１２）要素を含むコンピュータメモリ内の２Ｄアレイによって表され、２Ｄアレイの各要素は、画像平面上の対応する位置の１つのピクセル値を格納する。
【００７２】
段階８０３では、コンピュータプログラムは、画像平面を同じサイズの複数のミニ平面に細分化し、各ミニ平面は、２Ｄアレイの一部分に対応し、かつＰ×Ｐ（例えば、１６×１６）ピクセルを含む。一実施形態では、ミニ平面は、四分木データ構造のルートノードに関連する。
【００７３】
段階８０５では、段階８０３で作成した各ミニ平面に対して、コンピュータプログラムは、４回の別々の適応ＭＩＰレイキャスティングを行い、ミニ平面の４つのコーナにある４つのピクセル値を推定する。
【００７４】
段階８０７から始めて、コンピュータプログラムは、この再帰的処理が終わると画像ボリュームの２Ｄ画像が２Ｄアレイ内に形成されるように、２Ｄアレイの全ての要素をピクセル値で再帰的に満たす。一実施形態では、コンピュータプログラムは、各々が四分木データ構造の１つの子ノードに付随する複数のより小さなサブ平面にミニ平面を細分化し、適応ＭＩＰレイキャスティング又は補間法を通じてサブ平面の各ピクセルにピクセル値を割り当てる。より詳細には、コンピュータプログラムは、最初に、段階８０７で処理されていないミニ平面があるか否か、すなわち、ピクセル値なしに少なくとも１つのピクセルを含むミニ平面があるかを検査する。ない場合には、画像平面の全てのピクセルには、ピクセル値が既に割り当てられており、コンピュータプログラムは終了する。ある場合には、コンピュータプログラムは、段階８０９で処理されていないサブ平面がないかに関して、段階８０７で識別したミニ平面に関連する四分木データ構造を検査する。
【００７５】
四分木データ構造に関連する全てのサブ平面が処理された場合、コンピュータプログラムは、段階８０７に戻って次のミニ平面を処理する。そうでない場合、コンピュータプログラムは、段階８１１でサブ平面を識別し、このサブ平面が２×２ピクセルのみを含むかを検査する。２×２ピクセルのみを有するサブ平面は、サブ平面を細分化することができる最小サブ平面である。一実施形態では、コンピュータプログラムは、段階８１３で適応ＭＩＰレイキャスティングを通じて、段階８１１で識別したサブ平面上のあらゆるピクセルに対してピクセル値を推定する。段階８１１で識別したサブ平面が２×２ピクセルよりも大きい場合、コンピュータプログラムは、更に別の実験を実施してサブ平面をピクセル値で埋める方法を決めるべきである。
【００７６】
段階８１５では、コンピュータプログラムは、最初にこのサブ平面の最大ピクセル値差（ＭＰＶＤ）を推定する。名称が示すように、ＭＰＶＤは、サブ平面内のピクセル値分布を測るものである。一実施形態では、ＭＰＶＤは、以下のように定められる。
ＭＰＶＤ＝ＭＡＸ（｜Ｐavg−Ｐ1｜，｜Ｐavg−Ｐ2｜，｜Ｐavg−Ｐ3｜，｜Ｐavg−Ｐ4｜）／Ｓ
ただし、Ｓは、サブ平面内のピクセル総数であり、Ｐ1からＰ4は、サブ平面のコーナのピクセル値であり、Ｐavgは、以下のようにＰ1からＰ4の平均である。
Ｐavg＝（１／４）（Ｐ1＋Ｐ2＋Ｐ3＋Ｐ4）
【００７７】
一部の他の実施形態では、平均ピクセル値Ｐavgは、ＭＰＶＤを推定するためにサブ平面の中央ピクセル値Ｐmedと入れ替わることができる。関連のピクセル値を有していないサブ平面内の残りのピクセルを満たす方法を判断するために、ＭＰＶＤを所定の画像化誤差閾値と比較する。
【００７８】
一般的に、補間は、適応ＭＩＰレイキャスティングよりも効率的な代案であり、従って可能な限り使用すべきである。他方、適応ＭＩＰレイキャスティングを通じて発生したピクセル値は、補間を通じて発生したものよりも正確である。２Ｄ画像の異なる部分は、画像ボリューム内の異なる３Ｄ構造を捕捉して異なるレベルの画像解像度を必要とする可能性があることから、２Ｄ画像に沿った汎用画像化誤差閾値は、最も好ましい選択肢ではない。
【００７９】
代わりに、段階８１７では、コンピュータプログラムは、画像ボリュームの異なる部分を処理する時に閾値を選択的に調節する。例えば、コンピュータプログラムは、ある一定の３Ｄ内部構造、例えば医療画像化における骨の縁部に対応する場合がある２Ｄ画像の部分をレンダリングする時により小さな所定の画像化誤差閾値を選択すべきであり、これは、その後、強制的にサブ平面をより小さなサブ平面にフラグメント化させ、その結果、補間ではなく適応ＭＩＰレイキャスティングを通じてサブ平面内により多くのピクセル値を発生させる必要がある。所定の画像化誤差閾値修正のカスタマイズ化に関する更なる詳細は、図１０に関連して以下に与えられている。
【００８０】
段階８１９では、コンピュータプログラムは、サブ平面のＭＰＶＤがカスタマイズされた画像化誤差閾値を超えるかを検査する。超えない場合、コンピュータプログラムは、最初に、適応ＭＩＰレイキャスティングを通じてサブ平面の中心にあるピクセル値を推定し、次に、段階８２３で各々が四分木データ構造の子ノードに付随する複数のより小さなサブ平面にサブ平面を細分化する。ＭＰＶＤがカスタマイズされた画像化誤差閾値よりも高い場合、コンピュータプログラムは、段階８２１で既存のピクセル値の補間を通じてあらゆる満たされていないピクセルに値を割り当てる。一実施形態では、サブ平面のコーナにある４つのピクセル値のバイリニア補間によってサブ平面内のピクセル値分布を推定する。図９に示すように、いずれかの位置（ｘ，ｙ）のピクセル値Ｐ（ｘ，ｙ）は、以下のようにバイリニア補間することができる。
【００８１】
【数２】
2007503061.tif 000003
【００８２】
段階８２１又は８２３後に、コンピュータプログラムは、段階８０９に戻って次のサブ平面があれば処理する。この処理は、２Ｄアレイの全ての要素に、３Ｄ適合レイキャスティング又はバイリニア補間によって作り出された画像平面上の１つの位置に対応するピクセル値が割り当てられるまで続けられる。その結果、コンピュータモニタのようなグラフィック表示装置上でレンダリングすることができる画像ボリュームの２Ｄ画像が形成される。
【００８３】
一般的に、人間の目の方が、オブジェクト、例えば２Ｄ画像の高周波成分に敏感である。しかし、バイリニア補間（図９）は、本質的にローパスフィルタであるために画像の高周波成分を不鮮明にする傾向がある。従って、高周波成分を捕捉して総計算経費を抑えるために、コンピュータプログラムは、いくつかの部分でより高価な適応ＭＩＰレイキャスティングを通じてより多くのピクセル値を発生させ、同時に画像平面の他の部分でバイリニア補間を通じてピクセル値の大部分を推定することができる。
【００８４】
上述のように、画像解像度及び画像レンダリング速度を制御するために所定の画像化誤差閾値を調節することができる。例えば、サブ平面が複雑な内部構造又はオブジェクトの縁部のような高周波成分に対応していない場合、所定の画像化誤差閾値は高い値に上げられ、この逆も可能である。しかし、この目的を達成するために、コンピュータプログラムは、処理されるサブ平面が高周波成分を含むか否かを予測すべきである。
【００８５】
一部の実施形態によれば、２つの方法を用いて所定の画像化誤差閾値を調節し、画質と画像レンダリング速度を両立させることができる。図８の段階８１７に示すように、その方法は以下の通りである。
・バイリニア補間誤差分析、及び
・オクトリ横縁部検出
【００８６】
図１０Ａに示すように、サブ平面１０００は、適応ＭＩＰレイキャスティングが発生させる４つのコーナにある４つの既知のピクセル値Ｐ1からＰ4を有する。従って、サブ平面１０００の中心にあるバイリニア補間したピクセル値Ｐ5'は、以下の通りである。
Ｐ5'＝（１／４）（Ｐ1＋Ｐ2＋Ｐ3＋Ｐ4）
【００８７】
一方、コンピュータプログラムはまた、サブ平面１０００が４つのより小さなサブ平面に細分化された時に、サブ平面１０００の中心での適応ＭＩＰレイキャスティングを通じてピクセル値Ｐ5を発生させる。２つのピクセル値間の絶対差｜Ｐ5−Ｐ5'｜は、バイリニア補間の結果がこのサブ平面１０００内でいかに正確であるかを示している。例えば、より高い絶対差は、サブ平面が更に細分化する必要があることを意味するばかりでなく、サブ平面内には高周波成分がある可能性があることを示唆している。従って、コンピュータプログラムは、画像化誤差閾値を実質的に下げ、サブ平面内の内部構造の３Ｄ特性を完全に捕捉することができる。他方、より小さな絶対差は、サブ平面内の画像が滑らかであり、かつ所定の画像化誤差閾値を相応に大きくして大幅に画像解像度を落とすことなく計算経費を低減することができることを示唆している。
【００８８】
オクトリ横縁部検出は、最大データ値を含む識別されたサブボリューム又はセル又はサブセルと、より小さな３Ｄオブジェクト又は画像ボリュームに埋め込まれた３Ｄオブジェクトの鋭い縁部を捕捉するための画像平面との間のサイズ差を検査することによって画像化誤差閾値を調節する方法である。
【００８９】
簡素化を期すために、図１０Ｂは、少なくとも２つのオブジェクト１１４０及び１１６０を含む２Ｄデータセット１１００を示し、２Ｄデータセットは、Ｎ×Ｎピクセルを含む。データセットの内側には、Ｌピクセルを含む画像線１１２０がある。レイ経路１１３０に沿って、図６に示すような判断基準の少なくとも１つを満足した異なるサイズの一連のサブ平面がある（それぞれ、段階６０５、６０９、及び６１５）。拡大図１１８０は、コンピュータプログラムがレイ経路１１３０に沿った最大データ値１１９０を識別するサブ平面を取り囲む２Ｄデータセットの詳細を示している。最大データ値を含むサブ平面のフラグメント化レベルがＱであると仮定して、小さいオブジェクト又はレイ経路近くのオブジェクトの鋭い縁部の存在を示す因子Ｚは、以下のように定められる。
【００９０】
【数３】
2007503061.tif 000004
【００９１】
Ｑの値が高くなると（すなわち、より小さなサブ平面）、結果的にＺ因子が高くなり、レイ経路１１３０に沿って一部の小さなオブジェクトがある可能性があることを示唆しており、レイ経路に沿った小さなオブジェクト又は鋭い縁部を見失わないように、相応に所定の画像化誤差閾値を下げるべきである。他方、Ｑの値が低くなると（すなわち、より大きなサブ平面）、Ｚ因子が低くなり、レイ経路に沿った小さなオブジェクトを識別する可能性が小さいことを示しており、画像線１１２０上の有意な詳細を失うことなく、所定の画像化誤差閾値を大きくすることができる。尚、Ｚ因子は、レイがデータセットの内側で早期に終了されることなくデータセットを出る時に、所定の画像化誤差閾値を調節する際に有用である。
【００９２】
最後に、望ましいフレーム／秒と実際のフレーム／秒との比率に従って所定の画像化誤差閾値を調節することもできる。前者が後者よりも大きい場合は、画像化誤差閾値は、所定の画像解像度の僅かな損失でシステムのデフォルト能力よりも多くの画像フレームをレンダリングすることができるように増大させることができ、そうでなければ、所定の画像化誤差閾値は、前者が後者よりも小さい場合は減少させることができる。
【００９３】
コンピュータシステム
上述の適応ＭＩＰレイキャスティング方法は、通常のコンピュータシステム内で実施することができ、特別なハードウエアサポートは不要である。図１１は、本発明の一部の実施形態によるこのようなシステム１１００を示している。適応ＭＩＰレイキャスティングシステム１１００は、一般的に１つ又はそれよりも多くの中央演算処理装置（ＣＰＵ）１１２０と、メモリ１１１４と、システム１１００の様々な構成要素を相互に接続する１つ又はそれよりも多くの通信バス１１１２とを含む。適応ＭＩＰレイキャスティングシステム１１００はまた、例えば、３Ｄデータセットの２Ｄ画像を表示する表示装置１１０６とユーザの画像レンダリング要求を受け取るキーボード１１０８とを含むユーザインタフェース１１０４を含む。システム１１００は、任意的に、遠隔操作記憶装置からの３Ｄデータベースを検索するか又はレンダリング結果を遠隔地のクライアントに送出するネットワーク又は他の通信インタフェースを含むことができる。
【００９４】
メモリ１１１４は、高速ランダムアクセスメモリを含み、また、１つ又はそれよりも多くの磁気ディスク記憶装置（図示せず）のような不揮発性メモリを含むこともできる。また、メモリ１１１４は、中央演算処理装置１１０２から遠隔に位置する大容量記憶装置を含むことができる。メモリ１１１４は、以下を格納することが好ましい。
・様々な基本的システムサービスを処理し、かつハードウエア依存のタスクを実行するための手順を含むオペレーティングシステム１１１６、
・「インターネット」、他の広域ネットワーク、ローカルエリアネットワーク、及びメトロポリタンエリアネットワークなどのような１つ又はそれよりも多くの通信ネットワーク（有線又は無線）を通じて、システム１１００を様々なセキュリティ装置又はクライアントコンピュータ（図示せず）及び場合によっては他のサーバ又はコンピュータに接続するのに使用されるネットワーク通信モジュール１１１８、
・システム１１００の作動に必要とされるメモリ１１１４に記憶された他のモジュール及びデータ構造を初期化するシステム初期化モジュール１１２０、
・３Ｄデータセットの２Ｄ画像を発生させて表示装置１１０６上でレンダリングする適応ＭＩＰレイキャスティングエンジン、
・３Ｄデータセット、及びフラグメント化した３Ｄデータセットを表す対応するオクトリデータ構造、
・２Ｄ画像データセット、及びフラグメント化された２Ｄ画像を表す複数の対応する四分木データ構造、及び
・３Ｄデータセットのデータ値を２Ｄ画像データセットのピクセル値に変換する画面転送関数表。
【００９５】
ＭＩＰレイキャスティングエンジン１１２２は、実行可能な手順、副手順、及び以下のような画像発生手順をサポートする他のデータ構造を含む。
・３Ｄデータセットを複数のサブボリュームにフラグメント化し、各サブボリュームに対して一組のデータ値パラメータを推定してオクトリデータ構造を構成し、サブボリュームをオクトリデータ構造上の様々なノードに関連付ける３Ｄデータセットフラグメント化モジュール１１２４、
・一組の所定の判断基準に基づいてレイと相互作用する一連のサブボリュームを選択し、次にレイ経路に沿った最大データ値を識別する３Ｄ適応ＭＩＰレイキャスティングモジュール１１２６、及び
・各々が四分木データ構造に付随する複数のミニ平面に２Ｄ画像平面を細分化し、選択的に３Ｄ適応レイキャスティングモジュール１１２６を呼び出して３Ｄデータセットの２Ｄ画像を構成する２Ｄ画像レンダリングモジュール１１２８。
【００９６】
図８に示すように、２Ｄ画像構成中に、システム１１００は、最初に画像平面を複数のミニ平面に細分化し、次に各ミニ平面を再帰的に処理し、バイリニア補間又は必要であれば適応ＭＩＰレイキャスティングを通じて画像平面内の全てのピクセルをピクセル値に関連付ける。最後に、単一の２Ｄ画像がメモリ１１１４内に形成される。１つのミニ平面の画像化結果は、別のミニ平面から独立していることから、適応ＭＩＰレイキャスティングアルゴリズムは、実際にはパラレルコンピュータ又はコンピュータのクラスター上で実施することができるパラレルアルゴリズムである。
【００９７】
図１２は、コンピュータクラスター１２００を使用する本発明の一実施形態を示している。クラスター１１００は、以下を含む。
・１つ又はそれよりも多くの画像ボリュームを格納するデータ記憶装置１２１０、例えばハードディスク、
・好ましくは１つ又はそれよりも多くのＣＰＵと、ＭＩＰレイキャスティングソフトウエアを格納する独自のメモリとを各々が有する複数のコンピュータサーバ１２３０、
・コンピュータクラスターによって発生した画像を表示するコンピュータモニタ１２５０、
・指令及びレンダリングパラメータをユーザから受け取るためのキーボード１２７０及びマウス１２９０、及び
・様々な構成要素を接続する通信バス１２２０。
【００９８】
説明上、コンピュータクラスター１２００内には４つのサーバがあり、各サーバは、部分画像１２４０で示すような最終画像の１／４の発生を担っている。各サーバ内では、タスクは、サーバ毎に複数のＣＰＵがある場合には異なるＣＰＵ間で更に仕切ることができる。全ての部分画像１２４０が発生した後に、サーバの１つは、部分画像１２４０を合併して完全な画像にし、モニタ１２５０上でレンダリングする。
【実施例】
【００９９】
図１３Ａ及び図１３Ｂは、本発明の一実施形態による適応ＭＩＰレイキャスティングを用いて３ＤのＣＴスキャンデータセットから発生させた２つの画像の実施例を与えている。２つの画像は、図１３Ａのピクセル値が所定の画面転送関数に従ってレイ経路に沿って識別したそれぞれの最大データ値に依存するだけであり、一方、図１３Ｂのピクセル値が画像平面と画像ボリューム内の最大データ値の位置との間の距離によって更に重み付け処理されることを除き、実質的には同じものである。その結果、画像ボリュームの異なる部分で識別した同じ最大データ値は、図１３Ｂの画像上で異なるピクセル値を引き起こす可能性があり、見る者に対してある一定の３Ｄ透視を提供する。例えば、図１３Ａの大腿骨の２つの画像部分１３２０及び１３４０は、事実上同じ輝度を有し、一方、図１３Ｂの同じ２つの部分１３６０及び１３８０は、異なる輝度を有する。特に、部分１３６０は、部分１３８０よりも見る者から離れた位置にあることから、部分１３８０と比較すると若干暗く見える。
【０１００】
以上の説明は、説明を目的として特定的な実施形態を参照して行ったものである。しかし、上述の例示的な説明は、網羅的であること又は開示した正確な形態に本発明を限定することを意図していない。多くの修正及び変形が以上の教示の見地から可能である。実施形態は、本発明の原理及びその実際的な用途を最も良く説明し、それによって当業者が予想される特定の使用に適するような様々な修正を用いて本発明及び様々な実施形態を最も良く利用することができるように選んで説明したものである。
【図面の簡単な説明】
【０１０１】
【図１Ａ】本発明の実施形態の平行投影の概略図である。
【図１Ｂ】本発明の実施形態の透視投影の概略図である。
【図１Ｃ】異なる画像解像度での３Ｄオブジェクトの３つの２Ｄ画像を示す図である。
【図１Ｄ】３Ｄデータセットによって採取された３Ｄオブジェクトを示す図である。
【図２】本発明の一実施形態によるＭＩＰレイキャスティングアルゴリズムを示す流れ図である。
【図３Ａ】３Ｄデータセットフラグメント化の一実施形態を示す図である。
【図３Ｂ】８つのセル又はボクセルを含むサブボリュームとボクセル又はセル内のスカラーデータ値分布とを示す図である。
【図４】３Ｄデータセットフラグメント化のコンピュータ実装を示す流れ図である。
【図５】レイと３Ｄデータセットのサブボリュームの間の一連の相互作用を概略的に示す図である。
【図６】本発明の実施形態によりレイ経路に沿って最大データ値を識別するためのコンピュータプログラムを示す流れ図である。
【図７】本発明の一実施形態による適応ＭＩＰレイキャスティングを示す１Ｄ実施例を表す図である。
【図８】コンピュータプログラムが本発明の一部の実施形態に従って２Ｄ画像を適応して発生させる方法を示す流れ図である。
【図９】ピクセル値のバイリニア補間の例を示す図である。
【図１０Ａ】所定の画像化誤差閾値を調節する２つの方法の一方を示す図である。
【図１０Ｂ】所定の画像化誤差閾値を調節する２つの方法の他方を示す図である。
【図１１】本発明の一実施形態による適応ＭＩＰレイキャスティングシステムのブロック図である。
【図１２】本発明の一実施形態によりコンピュータクラスターに実装された適応ＭＩＰレイキャスティングレンダリングシステムのブロック図である。
【図１３】本発明の一実施形態による適応ＭＩＰレイキャスティングアルゴリズムの異なるバージョンを通じた人体の２つの画像を示す図である。
【符号の説明】
【０１０２】
１０１  ２Ｄ画像平面
１０２  放射面
１０４  レイ
１０６  画像ボリューム
【図１Ａ】
2007503061.tif 000005
【図１Ｂ】
2007503061.tif 000006
【図１Ｃ】
2007503061.tif 000007
【図１Ｄ】
2007503061.tif 000008
【図２】
2007503061.tif 000009
【図３Ａ】
2007503061.tif 000010
【図３Ｂ】
2007503061.tif 000011
【図４】
2007503061.tif 000012
【図５】
2007503061.tif 000013
【図６】
2007503061.tif 000014
【図７】
2007503061.tif 000015
【図８】
2007503061.tif 000016
【図９】
2007503061.tif 000017
【図１０Ａ】
2007503061.tif 000018
【図１０Ｂ】
2007503061.tif 000019
【図１１】
2007503061.tif 000020
【図１２】
2007503061.tif 000021
【図１３Ａ】
2007503061.tif 000022
【図１３Ｂ】
2007503061.tif 000023
【国際調査報告】
2007503061.tif 000024
2007503061.tif 000025
2007503061.tif 000026