(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-17
(54)【発明の名称】ダイレクトボリュームレンダリング装置
(51)【国際特許分類】
G06T 15/08 20110101AFI20230809BHJP
【FI】
G06T15/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023502727
(86)(22)【出願日】2021-07-15
(85)【翻訳文提出日】2023-03-10
(86)【国際出願番号】 EP2021069732
(87)【国際公開番号】W WO2022013342
(87)【国際公開日】2022-01-20
(32)【優先日】2020-07-16
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】595014653
【氏名又は名称】フラウンホーファー-ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ.
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】シューマン、クリスティアン
(72)【発明者】
【氏名】クラフト、ヴァレンティーン
(72)【発明者】
【氏名】リンク、フロリアーン
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA17
5B080CA01
5B080CA04
5B080FA02
5B080FA03
5B080FA08
5B080FA17
5B080GA06
5B080GA15
5B080GA21
5B080GA22
(57)【要約】
【課題】3次元画像データセットを高フレームレートでボリュームレンダリング可能にすること。
【解決手段】3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置。ダイレクトボリュームレンダリング装置(1)は、3次元画像データセットを通って進み、3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー及び不透明度を提供すること;各一次レイを、夫々の一次レイに沿った不透明度及び/又はカラーに基づいて複数のセグメントへ細分化すること;各セグメントについて、予め決定された照明値計算規則に従ってセグメント照明値を計算すること;一次レイに沿ったカラー及びセグメント照明値を予め決定された投影規則に基づいてピクセルへ投影することによって、ユーザに対して示されるべき2次元画像を計算するよう構成された2次元画像計算機(2)を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置であって、
前記ダイレクトボリュームレンダリング装置(1)は、
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・一次レイに沿ったカラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいてピクセルへ投影すること
によって、ユーザに対して示されるべき2次元画像を計算するよう構成された2次元画像計算機(2)
を含むこと
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項2】
請求項1に記載のダイレクトボリュームレンダリング装置において、
前記3次元画像データセットは複数の画像要素を含むこと、
前記2次元画像計算機(2)は、
・前記3次元画像データセットの各画像要素に(1つの)カラー及び(1つの)不透明度を割り当てること、及び、
・各一次レイについて、一次レイによって通過される画像要素(複数)に割り当てられるカラー(複数)及び不透明度(複数)に基づいて、一次レイに沿ったカラー(複数)及び不透明度(複数)を計算すること
によって、各一次レイについて、夫々の一次レイに沿ったカラー(複数)及び不透明度(複数)を提供するよう、構成されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項3】
請求項1又は2に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は、セグメント境界(複数)を規定することによって、各一次レイを複数のセグメントへ細分化すること、
セグメント境界は、不透明度の及び/又はカラーの関数が予め定められた閾値を超える一次レイに沿った位置によって規定されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項4】
請求項3に記載のダイレクトボリュームレンダリング装置において、
前記不透明度の関数は、不透明度及び/又はカラーに直接適用される及び/又は累積不透明度に適用される、恒等関数、線形関数、積分型関数及び微分型関数からなる群から選択される関数であること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項5】
請求項3又は4に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は幾つかの閾値を提供するよう構成されること、
セグメント境界は、不透明度の及び/又はカラーの関数が提供された前記幾つかの閾値の予め定められた閾値を超える一次レイに沿った位置によって規定されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項6】
請求項5に記載のダイレクトボリュームレンダリング装置において、
隣り合う提供された閾値の間の差は一定であること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項7】
請求項5又は6に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は、予め定められた線形閾値関数又は指数閾値関数に従って前記幾つかの閾値を提供するよう、構成されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項8】
請求項1~7の何れかに記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は、各セグメントについて、
・夫々のセグメント内において照明値決定位置を規定すること、
・夫々の照明値決定位置について、予め決定された照明値計算規則に従って夫々のセグメント照明値を計算すること
によってセグメント照明値を計算するよう、構成されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項9】
請求項8に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は、一次レイがピクセル位置からボリュームへトレーシングされる各セグメントの端部に配置される夫々のセグメントの四半分内に照明値決定位置があるように、夫々のセグメント内において照明値決定位置を規定するよう、構成されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項10】
請求項8又は9に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)アンビエント照明値を計算すること及びb)少なくとも1つの指向性照明値を計算することの少なくとも1つを含むこと
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項11】
請求項2を引用する請求項10に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)第1の入射光の方向と強度を規定する環境マップを提供し、該第1の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによってアンビエント照明値を計算すること、及び、b)仮想光源からの第2の入射光の光強度を表す、照明値決定位置についての指向性照明情報を提供し、該第2の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによって少なくとも1つの指向性照明値を計算すること、を含むこと
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項12】
請求項11に記載のダイレクトボリュームレンダリング装置において、
前記アンビエント照明値は、
・照明値決定位置について半球体内において幾つかのコーンを規定すること、但し、該半球体は該照明値決定位置において画像要素に割り当てられたカラー及び/又は不透明度の勾配によって規定され、該半球体は該勾配の方向へ指向し、該半球体の端面は照明値決定位置と交差しかつ該勾配に対し直角をなし、該コーンの頂点は照明値決定位置に位置付けられること、
・各コーンについて、夫々のコーンの軸に中心を置いた複数の球体を規定すること、但し、該球体の半径は前記頂点への距離が大きくなる程より大きくなること、
・コーン全体について(1つの)オクルージョン値を決定するために、各球体についてオクルージョン値を決定し、夫々のコーンの全ての球体について決定されたオクルージョン値を組み合わせること、
・各コーンについて、夫々のコーンについて決定されたオクルージョン値と環境マップによって規定された夫々のコーンを通って入射する光の光強度に基づいて、修正光強度を決定すること、
・夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された前記修正光強度(複数)を組み合わせること
によって計算されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項13】
請求項1~12に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機(2)は、更に、各セグメントについて、夫々のセグメントに沿ったカラー及び不透明度に基づいて(1つの)セグメントカラーを計算し、及び、セグメントカラー及びセグメント照明値を投影することによって、一次レイに沿ったカラー(複数)及びセグメント照明値(複数)をピクセルへ投影するよう、構成されること
を特徴とする、ダイレクトボリュームレンダリング装置。
【請求項14】
3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング方法において、
前記ダイレクトボリュームレンダリング方法は、以下のステップ:
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った前記不透明度(複数)及び/又は前記カラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・前記一次レイに沿った前記カラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいて前記ピクセル(複数)へ投影すること
を含むこと
を特徴とする、ダイレクトボリュームレンダリング方法。
【請求項15】
3次元画像データセットをボリュームレンダリングするためのコンピュータプログラムにおいて、
前記コンピュータプログラムは、前記コンピュータプログラムが前記ダイレクトボリュームレンダリング装置を制御するコンピュータで実行されるとき、請求項1~13の何れかに記載のダイレクトボリュームレンダリング装置に請求項14に記載のダイレクトボリュームレンダリング方法のステップ(複数)を実行させるプログラムコード手段を含むこと
を特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元画像データセット、とりわけ3次元医用画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング(DVR:direct volume rendering)装置、方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
現代のコンピュータグラフィックスアプリケーションは、使用されるハードウェア及びレンダリング方法に対し解像度、フレームレート及び画質に関し高い要件を課している。大抵のアプリケーションについて、25フレーム/秒(fps:frames per second)のフレームレートは必要最小限の要件をなしている。使用される画像解像度はしばしば2K即ち2048×1080ピクセル以上である。仮想現実(VR:virtual reality)及び拡張現実(AR:augmented reality)のアプリケーションはそれらの要件を一層大きくしている。ここで、60fps以上のフレームレートは、没入感(実体感)がありかつ快適なユーザ体験をもたらすための最低限といわれることが多い。更に、要求されるフレームレートは、対応ヘッドセットの固有のステレオレンダリングのために潜在的に倍増している。近年の多くのヘッドセットは比較的低い解像度を有するが、マイクロソフト社のホロレンズ(HoloLens)2のような次世代のヘッドセットは、片目当たりネイティブ2K解像度を特徴としている。従って、そのようなヘッドセットでの快適なユーザ体験のためには、2つの2K画像が少なくとも凡そ60fpsでレンダリングされる必要がある。同時に、画質及び臨場(現実)感に関する期待は最近では極めて高く、例えばゲーム、医療又はエンターテイメントのような種々の産業における発展の速度の増大によって、押し上げられている。グローバルイルミネーション(大域照明)は、臨場(現実)感がありかつ説得力のある画像を生成するための鍵となる技術であるが、まだ大抵はリアルタイムでは可能ではない。リアルタイム具現化(implementations)は、典型的には、例えばZhukov等による文献“An ambient light illumination model”, Rendering Techniques ’98, 45~55頁 (1998) に記載されているような、アンビエントオクルージョン(AO:ambient occlusion)のような近似に依拠する。該文献の内容は引照を以って本書に繰り込まれており、又はその多くのバリエーションは同様の結果を生じることができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】S. Zhukov et al., "An ambient light illumination model", Rendering Techniques ’98, pages 45 to 55 (1998)
【非特許文献2】M.S. Langer et al., "Depth discrimination from shading under diffuse lighting", Perception 29(6), pages 649 to 660 (2000)
【非特許文献3】F. Lindemann et al., "About the influence of illumination models on image comprehension in direct volume rendering", IEEE Transactions on Visualization and Computer Graphics 17(12), pages 1922 to 1931 (2011)
【発明の概要】
【発明が解決しようとする課題】
【0004】
高フレームレート、高解像度及び高画質の競合的要件は医用可視化(視覚化)の分野にも関係する。この場合、伝統的な表面レンダリングに加えて、DVRは、コンピュータ断層撮影法(CT)及び磁気共鳴法(MR)に基づき人体内部の知見を与えるために使用されるが、多様な医用アプリケーション、例えば術前計画にとって重要である。複数の研究は、好ましい外観に加えて、シャドウ(陰影)のような重要な視覚キューを含む現実的(リアルな)描写(表現)は、例えばM.S. Langer等による文献 "Depth discrimination from shading under diffuse lighting", Perception 29(6), 64~660頁 (2000) 及びF. Lindemann等による文献 "About the influence of illumination models on image comprehension in direct volume rendering", IEEE Transactions on Visualization and Computer Graphics 17(12), 1922~1931頁 (2011) にも記載されているように、空間的理解及び解剖学的構造の認識能力を改善することを示した。なお、これらの文献の内容は引照を以って本書に繰り込まれているものとする。しかしながら、リアルタイムでグローバルイルミネーション(GI:global illumination)に近似することを可能にする方法の全てが、DVRに直ちに適用可能であるのではない。更に、可視化されるボリュームの何れの点も有用な情報を含み得るのに対し、表面レンダリングは個別の(離散的な:discrete)面を処理するに過ぎないため、DVRについての計算量は一般的に表面レンダリングについてのものより多い。その結果、DVRに伝達(適用)可能なアプローチでさえ、一般的には、それらの表面レンダリング対応アプローチよりも遥かにより遅い。従って、DVRにおけるGIのインタラクティブ計算のための方法は全て、何らかの形の前計算及びインタラクティブレンダリング中の再利用のための可視化データセットの各ボクセル毎の照明(lighting)値の記憶に依拠する必要がある。そのような前計算による解決策の制約(限界)は、伝達関数(transfer function)が更新されるか又はボリュームがクリップされる(clipped)毎に再計算の更新が必要になることである。しかしながら、インタラクティブクリッピング及び伝達関数の規定(定義)は多くの可視化シナリオ(scenario)にとっての一要件である。これらの標準的オペレーションは既存のアプローチによっては部分的にのみ可能であり、しばしば、フレームレートの低下を来す。
【0005】
それゆえ、本発明の課題は、より高いフレームレートで3次元画像データセットをボリュームレンダリングするためのDVR(ダイレクトボリュームレンダリング)装置、方法及びコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第1の視点において、3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置が提供される。
前記ダイレクトボリュームレンダリング装置は、
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・一次レイに沿ったカラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいてピクセルへ投影すること
によって、ユーザに対して示されるべき2次元画像を計算するよう構成された2次元画像計算機を含む。
なお、ボリュームレンダリング(volume rendering)とは、3次元的な広がりのあるデータを直接2次元画面に表示することである。
【発明を実施するための形態】
【0007】
【0008】
かくして、必要であるのは、セグメント当たり1つの照明(lighting)値を計算することだけであり、これによって、2次元画像の計算のために必要な計算量は著しく減少される。更に、一次レイの細分化(subdividing)を夫々の一次レイに沿った不透明度及び/又はカラーに基づいて行うことによって、たとえセグメント当たり1つの照明値のみを計算する場合であっても、2次元画像について高画質を達成できるよう、一次レイを細分化することが可能であることが(本発明において)見出された。従って、高品質のボリュームレンダリングを高フレームレートで提供することができる。とりわけ、AR/VRアプリケーションについてさえ、インタラクティブな伝達関数の規定(定義)及びクリッピングに関し如何なる制限も課することなく十分に大きなフレームレートで、近似グローバルイルミネーションによる高品質ボリュームレンダリングを提供することができる。
【0009】
3次元画像データセットは、3つの異なる空間方向へ広がるため、ボリュメトリック画像データセットとみなすことが可能であろう。3次元画像データセットは異なる時間について提供されることも可能であり、この場合、画像データセットは4次元データセットと見なすことが可能であろう。
【0010】
3次元画像データセットは、好ましくはボクセル(複数)である画像要素(複数)を含む。2次元画像計算機は、a)3次元画像データセットの各画像要素に(1つの)カラー及び(1つの)不透明度を割り当てること、及び、b)各一次レイについて、一次レイによって通過される画像要素(複数)に割り当てられるカラー(複数)及び不透明度(複数)に基づいて、一次レイに沿ったカラー(複数)及び不透明度(複数)を計算すること、によって、各一次レイについて、夫々の一次レイに沿ったカラー(複数)及び不透明度(複数)を提供するよう、構成されることが好ましい。カラー(複数)及び不透明度(複数)の画像要素(複数)への割り当ては、伝達関数(TF:transfer function)によって規定(定義)されることが好ましい。更に、好ましくは、DVR装置は、ユーザがTFを修正することを可能にするよう構成された入力受付(receiving)ユニットを含み、2次元画像計算機は、TFの修正に応答して2次元画像のピクセル(複数)を更新するよう、構成される。従って、TFが修正されると、場合により修正された不透明度(複数)及び/又はカラー(複数)に基づく各一次レイの複数のセグメントへの細分化、各セグメントについて、予め決定された照明値計算規則に従った(1つの)セグメント照明値の計算、及び、予め決定された投影規則に基づく、ピクセル(複数)への一次レイ(複数)に沿ったカラー(複数)及びセグメント照明値(複数)の投影が、TFの修正に応答して、繰り返される。これにより、ユーザはTFを修正すること、そして、DVR可視化の変化の仕方を、とりわけリアルタイムでモニタすることが可能になる。
【0011】
一実施形態では、画像要素に割り当てられた不透明度及び一次レイに沿って計算された不透明度はアルファ値で表される。アルファ値は、例えばRGBカラーモデルのようなカラーモデルを補充し、それによって、例えばRGBAカラーモデルを形成するアルファチャンネルのことをいう。
【0012】
更に、2次元画像計算機は、3次元画像データセットの一部分について2次元画像を計算するよう、構成可能であり、この部分は少なくとも1つのクリッピング面によって、とりわけクリッピング面(複数)のセットによって規定(定義)され、ダイレクトボリュームレンダリング装置は、少なくとも1つのクリッピング面、とりわけ少なくとも1つのクリッピング面の位置及び向き(方向)をユーザが修正できるように構成された入力受付装置を含み、2次元画像計算機は、少なくとも1つのクリッピング面の修正に応答して2次元画像のピクセル(複数)を更新するよう、構成される。従って、2次元画像計算機は、2次元画像が少なくとも1つのクリッピング面によって刈り取られない即ち除去されない3次元画像データセットの部分のみを表すように、2次元画像を計算するよう、構成されることができる。これに応じて、2次元画像計算機は、各一次レイを複数のセグメントへ細分化するステップ、各セグメントについて、(1つの)セグメント照明値を計算するステップ、及び、一次レイ(複数)に沿ったカラー(複数)及びセグメント照明値(複数)を、3次元画像データセットの部分についてのみピクセル(複数)へ投影するステップを少なくとも実行するよう、構成され得る。更に、3次元医用画像の各画像要素へ(1つの)カラー及び(1つの)不透明度を割り当てるステップ、及び、3次元画像データセットを通る一次レイ(複数)を規定(定義)するステップの少なくとも1つは、但し各一次レイについて一次レイに沿ったカラー(複数)及び不透明度(複数)は一次レイによって通過される画像要素(複数)に割り当てられるカラー(複数)及び不透明度(複数)に基づいて計算される、3次元画像データセットの規定(定義)された部分についてのみ実行され得る。従って、クリッピング面が修正されると、即ち、画像化されるべき部分が修正されると、2次元画像のピクセル(複数)は更新される。これにより、ユーザは、クリッピング面を修正し、そして、DVR可視化の変化の仕方をとりわけリアルタイムでモニタすることができる。
【0013】
更に、好ましくは、2次元画像計算機は、一次レイが仮想カメラの位置において出発するよう、構成されることができ、ダイレクトボリュームレンダリング装置は、ユーザが仮想カメラの位置及び/又は向き(方向)を修正できるようにするよう構成された入力受付ユニットを含み、2次元画像計算機は、仮想カメラの位置及び/又は向き(方向)の修正に応答して2次元画像のピクセル(複数)を更新するよう、構成される。これに応じて、2次元画像計算機は、仮想カメラの位置が変化されたとき、各一次レイを複数のセグメントへ細分化するステップ、各セグメントについて、(1つの)セグメント照明値を計算するステップ、及び、一次レイに沿ったカラー及びセグメント照明値をピクセルへ投影するステップを少なくとも実行するよう、構成され得る。これにより、ユーザは、仮想カメラの位置及び/又は向き(方向)を修正し、そして、DVR可視化の変化の仕方をとりわけリアルタイムでモニタすることができる。
【0014】
入力受付ユニットは、ユーザによってなされる入力を表す、入力装置からの情報を受け付けるユニットであり得、或いは、入力受付ユニットは入力装置自体であり得る。入力装置は、例えば、キーボード、コンピュータマウス、タッチパッド、とりわけヘッドセットの、マイクロフォン、又は他の入力装置である。2次元画像は、モニタ、ヘッドセットのディスプレイ等のような出力ユニットに表示される。
【0015】
3次元画像データセットは医用画像データセットであることが好ましい。例えば、3次元画像データセットはCT画像データセット、MR画像データセット、又は他のイメージングモダリティの画像データセットであり得る。
【0016】
2次元画像計算機は、立体視を可能にするために、2つの異なる視線方向における3次元画像データセットに基づいて2つの2次元画像を計算するよう、構成されることができる。これにより、ユーザは3次元画像データセットを3次元で見ることができ、2つの2次元画像は2つのディスプレイに表示され得、各ディスプレイは対応する片目によって見られ、2つのディスプレイはヘッドセットのディスプレイであり得る。
【0017】
2次元画像計算機は、各一次レイを、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて細分化するよう、構成される。これは、一般的に、異なる長さを有する複数のセグメントをもたらす。換言すれば、2次元画像計算機は、各一次レイを不透明度(複数)に基づいて及び/又は全てのセグメントが同じ長さを有するということはない(異なる長さのセグメントも存在する)ように細分化するよう、構成される。とりわけ、2次元画像計算機は、セグメント境界(複数)を規定(定義)することによって、各一次レイを複数のセグメントへ細分化するよう、構成され、
セグメント境界は、不透明度(複数)の及び/又はカラー(複数)の関数が予め定められた閾値を超える一次レイに沿った位置によって規定(定義)される。不透明度(複数)の関数は、例えば、不透明度(複数)及び/又はカラー(複数)に直接適用される及び/又は累積不透明度に適用される、恒等関数、線形関数、積分型関数(integrating function)即ち積分及び微分型関数(derivating function)即ち導関数(微分(係数))、正接(tangent)関数及び平方根関数からなる群から選択される関数であり得る。これらの関数を使用することによって、3次元画像データセットの高品質のイメージングを可能にするセグメント(複数)を規定(定義)することができることを(本発明において)見出した。とりわけ、これらのセグメントは、夫々の一次レイに沿ったイルミネーションの高速かつ良好な近似を可能にする。
【0018】
好ましくは、2次元画像計算機は、幾つかの閾値を提供するよう構成され、セグメント境界は、不透明度(の)及び/又はカラーの関数が提供された幾つかの閾値の予め定められた閾値を超える一次レイに沿った位置によって規定(定義)される。隣り合う提供された閾値の間の差は一定であり得る。2次元画像計算機は、例えば、予め定められた線形閾値関数又は指数閾値関数に従って、幾つかの閾値を提供するよう、構成されることができる。例えば、セグメントの最大数が
であれば、幾つかの閾値
を規定(定義)する線形閾値関数は
であり得るが、これも閾値(複数)の等距離性(equidistancy)をもたらす。
【0019】
好ましい一実施形態では、2次元画像計算機は、各一次レイの各セグメントについて、夫々のセグメントにおいて夫々の一次レイに沿って計算されたカラー(複数)及び不透明度(複数)に基づいて(1つの)セグメントカラー及び(1つの)セグメント不透明度を計算するよう、構成される。とりわけ、セグメントカラー及びセグメント不透明度は、積分(integration)に対応する累算(積算:accumulation)によって、夫々のセグメントにおける夫々の一次レイに沿って計算されたカラー(複数)及び不透明度(複数)から生じ得る。積分は、レイに沿ったサンプル(複数)の累算(積算)をもたらす、一定のサンプル距離(複数)によるリーマン和を用いることによって、達成され得る。一次レイに沿って計算された不透明度(複数)が(1つの)アルファ値によって表されるとすれば、セグメント不透明度はセグメントアルファ値を意味し得、累算(積算)は、アルファ合成(compositing)としても知られているアルファブレンディング(blending)によって与えられ得る。従って、(1つの)レイセグメントに沿ったレイトレーシング中に3次元画像データのサンプル(複数)について繰り返す場合、これらのサンプルは、例えばTFを用いて、(1つの)カラー及びアルファ値へとマッピングされ得、レイセグメントに沿ったこれらのカラー及びアルファ値の累算(積算)は、次いで、媒体を通って「進行する」ときの光の減衰の数値近似であるアルファブレンディングによって生成され得る。
【0020】
好ましい一実施形態では、2次元画像計算機は、各レイの各セグメントについて、夫々のセグメント内において(1つの)照明値決定位置を規定(定義)し、夫々の照明値決定位置について即ち夫々の照明値決定位置において、予め決定された照明値計算規則に従って夫々の照明値を計算することによって、(1つの)セグメント照明値を計算するよう、構成される。好ましくは、2次元画像計算機は、一次レイがピクセル位置からボリュームへ向かってトレーシングされる各セグメントの端部に配置される夫々のセグメントの四半分内にあるように夫々のセグメント内において照明値決定位置を規定(定義)するよう、構成され、該四半分は、好ましくは、一次レイが仮想カメラからボリュームへ向かってトレーシングされる各セグメントの端部に配置される夫々のセグメントの四半分に対応する。この照明値決定位置は、従って、夫々のピクセルから離れる方向へ指向される夫々のセグメントの端部にあることが好ましい。このようにして夫々のセグメント内において照明値決定位置を選択することによって、最終的に計算される2次元画像の品質は更に改善されることができる。
【0021】
一実施形態では、予め決定された照明値計算規則は、a)アンビエント照明値を計算すること及びb)少なくとも1つの指向性照明値を計算することの少なくとも1つを含む。好ましくは、予め決定された照明値計算規則は、夫々の照明値決定位置について、(1つの)アンビエント照明値及び少なくとも1つの指向性照明値を計算すること、及び、該アンビエント照明値と該少なくとも1つの指向性照明値を組み合わせることによってセグメント照明値を計算することを含む。例えば、アンビエント照明値と少なくとも1つの指向性照明値を組み合わせることは、加算に相当し得る。とりわけ、予め決定された照明値計算規則は、a)第1の入射光の方向と強度を規定する環境マップを提供し、該第1の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによってアンビエント照明値を計算すること、及び、b)仮想光源からの第2の入射光の光強度を表す、照明値決定位置についての指向性照明情報を提供し、該第2の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによって少なくとも1つの指向性照明値を計算すること、を含む。一実施形態では、環境マップは第1の入射光の方向とカラーも示し得る。
【0022】
一実施形態では、アンビエント照明値は、a)照明値決定位置について半球体内において幾つかのコーンを規定(定義)すること、但し、該半球体は該照明値決定位置において画像要素に割り当てられたカラー及び/又は不透明度の勾配によって規定(定義)され、該半球体は該勾配の方向へ指向し、該半球体の端面は照明値決定位置と交差しかつ該勾配に対し直角をなし、該コーン(複数)の頂点(複数)は照明値決定位置に位置付けられること、b)各コーンについて、夫々のコーンの軸に中心を置いた複数の球体を規定(定義)すること、但し、該球体の半径は対応する頂点への距離が大きくなる程より大きくなること、c)夫々のコーン全体について(1つの)オクルージョン値を決定するために、各球体についてオクルージョン値を決定し、夫々のコーンの全ての球体について決定されたオクルージョン値を組み合わせること、d)各コーンについて、夫々のコーンについて決定されたオクルージョン値と環境マップによって規定(定義)された夫々のコーンを通る第1の入射光の光強度に基づいて、修正光強度を決定すること、及び、e)夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された修正光強度(複数)を組み合わせること、によって計算される。夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された修正光強度(複数)を組み合わせることは、これらの修正光強度の、夫々の勾配に対する各コーンの傾きに依存して重みが付けられた、和であることが好ましい。
【0023】
好ましい一実施形態では、環境マップはコーン(複数)に適合化される、即ち、環境マップは夫々のコーン内における第1の入射光全体の強度を規定(定義)する。これにより、更に、所要の計算(量)は減少される。なぜなら、コーン当たり、夫々のコーンについて決定されたただ1つのオクルージョン値を使用することによって、夫々ただ1つの光強度値を修正することが必要とされるだけだからである。
【0024】
コーン(複数)は、好ましくは、夫々の半球体内において均等に分散配置される。一実施形態では、5つ又は6つのコーンが各半球体に使用される。
【0025】
球体(複数)は、ある球体の半径が直前にある球体の半径の2倍になるように規定されることが好ましい。更に、各球体の半径は、コーン頂点への球体の距離とコーン開口角の半分のサイン(正弦)を乗算したものに等しいことが好ましい。かくして、球体(複数)は可及的に大きい一方で、依然としてコーンにフィットする。
【0026】
好ましくは、(1つの)球体のオクルージョン値は、該球体の中心と該球体を規定するコーンの頂点との距離に対応する詳細度(level of detail)を有するオリジナルの3次元画像データを表すボリュメトリックデータに従って該球体の中心に割り当てられた(1つの)不透明度に基づいて決定される。好ましくは、オリジナルの3次元画像データを表すボリュメトリックデータは、予め定められた数の詳細度の各々について事前計算され、次いで、記憶される。そのようなボリュメトリックデータに基づいて球体のオクルージョン値を決定することによって、オクルージョン値計算のために必要な計算量は、レンダリング品質を実質的に損なうことなく、更に減少することができる。
【0027】
所与の詳細度についてのボリュメトリックデータの所与の画像要素に割り当てられた不透明度は、例えば、該所与の画像要素に対応する、即ち、例えば、該所与の画像要素を生じさせる次のより高い詳細度についてのボリュメトリックデータの画像要素(複数)の割り当てられた不透明度(複数)の和又は平均に対応する。
【0028】
好ましい一実施形態では、球体のオクルージョン値は、コーンについて規定(定義)された球体の中心間の距離対オリジナルの3次元画像データにおける画像要素サイズ、とりわけボクセルサイズの比に基づいて修正される。
【0029】
球体(複数)について決定されたオクルージョン値(複数)は、例えば、加算されて対応するコーンについてのオクルージョン値をもたらすことができる。考慮される球体の個数は、考慮される近隣(neighborhood)のサイズを制限するために、データセットのサイズに又は予め定められた最大レイ長さに依存することができる。いずれにせよ、球体(複数)は、コーン軸が3次元画像データから離れるか又はクリッピング面を貫通するまで、考慮され得るに過ぎない。
【0030】
上記のように、異なるコーン(複数)について決定されたオクルージョン値(複数)及び環境マップによって規定(定義)されるような夫々の(対応する)コーン(複数)を通る第1の入射光の強度に基づき、各コーンについて(1つの)修正光強度が決定され得る。例えば、各コーンについて決定された修正光強度は、夫々のコーンについて決定されたオクルージョン値と環境マップによって規定(定義)されるような夫々のコーンを通る第1の入射光の光強度の積に対応し得る。更に上記のように、夫々の照明値決定位置に対応するコーン(複数)について決定された修正光強度(複数)は、夫々の照明値決定位置についてのアンビエント照明値を決定するために、組み合わせられ得るが、夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された修正光強度(複数)の組み合わせは、これらの修正光強度の、夫々の勾配に対する各コーンの傾きに対応して重みが付けられた、和であることが好ましい。重みは、とりわけ、夫々のコーンの夫々の勾配に対する傾きのコサイン(余弦)によって、与えられ得る。
【0031】
好ましい一実施形態では、少なくとも1つのダイレクト(直接)照明値は、a)照明値決定位置について(1つの)半球体内において幾つかのコーンを規定(定義)すること、但し、該半球体は該照明値決定位置において画像要素(複数)に割り当てられたカラー(複数)及び/又は不透明度(複数)の(1つの)勾配によって規定(定義)され、該半球体は該勾配の方向へ指向し、該半球体の端面は該照明値決定位置と交差しかつ該勾配に対し直角をなし、該コーン(複数)の頂点(複数)は照明値決定位置に位置付けられること、b)各コーンについて、夫々のコーンの軸に中心を置いた複数の球体を規定すること、但し、該球体の半径は前記頂点への距離が大きくなる程より大きくなること、c)コーン全体について(1つの)オクルージョン値を決定するために、各球体についてオクルージョン値を決定し、夫々のコーンの全ての球体について決定されたオクルージョン値を組み合わせること、d)各コーンについて、夫々のコーンに関連付けられた仮想光源からの第2の入射光の光強度の一部分を示す指向性光寄与分(contribution)を決定すること、及び、e)前記幾つかのコーンについて決定されたオクルージョン値(複数)及び指向性光寄与分(複数)に基づき修正光強度を少なくとも1つの指向性光値として決定すること、によって計算される。好ましくは、(1つの)コーンについての指向性光寄与分は、指向性照明情報によって決定される仮想光源の方向及び夫々のコーン軸の方向に、とりわけ、指向性照明情報によって決定される仮想光源の方向と夫々のコーン軸の方向の間の角度に、依存する。例えば、指向性光寄与分は、指向性照明情報によって決定される仮想光源の方向を含むコーンについて最も高いことが可能であり、仮想光源の方向に対する夫々のコーン軸の傾きが大きくなる程より小さくなり得る。指向性光寄与分は、更に、夫々のコーンの開口角、これは全てのコーンについて同じであり得る、にも依存し得る。例えば、第2の入射光を生成する仮想光源が半球体内の何れか1つのコーンによってカバーされる立体角の中から外に他のコーン内へと移動する場合に生じ得る照明不連続を回避するために、寄与分は、如何なるギャップないし大きな跳躍のない隣接コーン間の漸進的(緩やかな)移行が保証されるように、選択されることが望ましいであろう。修正光強度は、従って少なくとも1つの指向性照明値は、第2の入射光の光強度と前記幾つかのコーンのオクルージョン値(複数)の重み付き和との乗算によって得ることができる。ここで、重み(複数)は、指向性照明情報によって決定される仮想光源の方向及び夫々のコーン軸の方向に、とりわけ、指向性照明情報によって決定される仮想光源の方向と夫々のコーン軸の方向の間の角度に、場合によっては更に夫々のコーンの開口角に、依存する。
【0032】
2次元画像計算機は、更に、各セグメントについて、夫々のセグメントに沿ったカラー(複数)及び不透明度(複数)に基づいて(1つの)セグメントカラーを計算し、及び、セグメントカラー(複数)及びセグメント照明値(複数)を投影することによって、一次レイに沿ったカラー(複数)及びセグメント照明値(複数)をピクセル(複数)へ投影するよう、構成されることができる。対応する投影規則は、カラー(複数)及びセグメント照明値(複数)の合成(compositing)の実行の仕方を規定(定義)する。例えば、投影規則に従うカラー(複数)及びセグメント照明値(複数)の合成は、すべてのセグメントについての照明(illuminated)セグメントカラー(複数)の加算(和)になり得るが、(1つの)セグメントについての照明セグメントカラー(即ちイルミネーションを考慮したセグメントについての最終カラー値)は、セグメントカラーと夫々のセグメント照明値との乗算に行って計算されることができる。セグメントカラー(複数)は初期レイトレーシング及び例えばアルファブレンディングを用いた一次レイのセグメント(複数)に沿ったカラー(複数)及び不透明度(複数)の累算(積算)から既に既知であるため、最終投影ステップ、即ち2次元画像において最終照明ピクセル値を取得するために加算の実行は、極めて簡単になる。
【0033】
本発明の他の一視点において、3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング方法が提供される。該ダイレクトボリュームレンダリング方法は、以下のステップ:
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った前記不透明度(複数)及び/又は前記カラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・前記一次レイに沿った前記カラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいて前記ピクセル(複数)へ投影すること
を含む。
【0034】
本発明の更なる一視点において、3次元画像データセットをボリュームレンダリングするためのコンピュータプログラムが提供される。該コンピュータプログラムは、該コンピュータプログラムが前記DVR装置を制御するコンピュータで実行されるとき、請求項1~19[13]の何れかに記載のDVR装置に請求項20[14]に記載のDVR方法の前記ステップ(複数)を実行させるプログラムコード手段を含む。
【0035】
請求項1のシステム、請求項14の方法及び請求項15のコンピュータプログラムは、とりわけ従属請求項に規定されているような、類似の及び/又は同一の好ましい実施形態(複数)を有すると理解すべきである。
【0036】
本発明の好ましい実施形態は、従属請求項(複数)と夫々に対応する独立請求項の任意の組み合わせであり得ると理解すべきである。
【0037】
本発明のこれらの及び他の側面は後述する実施形態(ないし実施例)から明らかになり及びそれらを参照して説明される。
【図面の簡単な説明】
【0038】
【
図1】DVR装置の一実施形態の模式的例示的一例。
【
図2】一次レイに沿った不透明度に基づく一次レイの細分化の模式的例示的一例。
【
図3】等距離閾値の使用による、不透明度値に基づく一次レイの細分化の模式的例示的一例。
【
図4】一次レイの一セグメント内の1つの位置についての一セグメント照明値を計算するために使用される、6個のコーン(円錐体)への半球体の細分化の模式的例示的一例。
【
図5】二次レイに沿って変化するサンプリング密度による1つのコーンのサンプリングの模式的例示的一例。
【
図6】DVR法の一実施形態を例示的に説明するフローチャートの一例。
【実施例】
【0039】
図1は、3次元医用画像データセットをボリュームレンダリングするためのDVR装置1の模式的例示的一例を示す。DVR装置1は、ユーザに示されるべき2次元画像を計算するよう構成された2次元画像計算機2を含む。
【0040】
DVR装置1は、更に、キーボード、コンピュータ用マウス、タッチパッド、とりわけヘッドセットの、マイクロフォン、又は他の入力装置のような入力装置3を含む。2次元画像は、モニタ、ヘッドセットのディスプレイ等のような出力ユニット4に示される。
【0041】
2次元画像計算機2は、3次元医用画像の各ボクセルについて1つのカラー及び1つの不透明度(opacity)を割付け、3次元画像データセットを通る一次レイ(複数)を規定(定義)する。一次レイ(複数)は、仮想(バーチャル)カメラの位置から出発し、3次元医用画像データセットが投影されるべき2次元画像面内の2次元画像の夫々の(対応する)ピクセルを貫通して通過する(traverse)。各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)は、一次レイによって通過されるボクセル(複数)に割付けられたカラー(複数)及び不透明度(複数)に基づいて計算される。
【0042】
更に、2次元画像計算機2は、各一次レイを、当該一次レイに沿った不透明度(複数)に基づいてセグメント(複数)へと細分化する(subdivide)。この実施形態では、2次元画像計算機2は、セグメント境界(複数)を規定(定義)することによって、各一次レイをセグメント(複数)へと細分化するよう構成されており、1つのセグメント境界は、累積(積算)される不透明度(複数)が夫々の(対応する)所定の閾値を超える、一次レイに沿った位置によって規定(定義)される。隣り合う所定の閾値(複数)は、好ましくは、一定の距離を有し、これらは、例えば、
によって規定(定義)され得る。但し、sは夫々のセグメントについてのカウンタ(counter)であり、s
maxはセグメントの最大数であるが、これは2次元画像計算機2によって予め定められるか又は自動的に決定されることが可能である。
【0043】
累積(積算)不透明度は、媒体を通って「進行する(travels)」ラジアンス((放射)輝度:radiance)の減衰度(量)を表す。例えば、0.5の累積不透明度とは、(1つの)レイ(光線)のラジアンスの50%が媒体によって吸収されていることを意味する。これは光の物理法則に基づいており、ボリュームレンダリングでは、(ある)ボリューム内における光の伝搬をシミュレートするための物理的基礎は、例えば、N. Max による文献“Optical Models for Direct Volume Rendering”, IEEE Transactions on Visualization and Computer Graphics, 1(2), pages 99 to 108 (1995) における放出-吸収(emission-absorption)モデルによって、定式化(公式化)された。なお、該文献の内容は引照を以って本書に繰り込まれているものとする。通常は、累積不透明度は、N. Max による上記文献において定式化された物理法則の数値近似であるアルファ(α)ブレンディングと称される技術によって計算されている。好ましくは、累積不透明度は、後述の式(4)の積に従って計算される。
【0044】
図2は、複数のセグメントへと細分化された一次レイ10の模式的例示的一例を示す。同図には、これらのセグメントのうち4つのセグメントI、II、III、IVが示されており、境界11、12、13、14において、夫々の累積不透明度は閾値を超えている。尤も、閾値14は、早期のレイ終結(終端)が適用され得るため、充足されない(到達されない)こともあり得、その場合、レイトレーシングは、0.99又は0.96のようなある所定の累積不透明度値の達成(到達)後に、終了(停止)されることに注意すべきである。
図2において、αは各カラー付け(色付け)領域についてのボリュームの不透明度を表し、一次レイ10に沿って付された値は累積不透明度を表す。
【0045】
図3は、(1つの)一次レイの細分化を説明するための更なる一例を示す。同図において、横軸は対応する一次レイに沿った位置を表し、縦軸は累積不透明度を表す。更に、同図において、ライン20...23は等距離の閾値を表す。同図において見出すことができるように、累積不透明度が閾値20...23の1つに到達するたびに、対応するセグメントI’、II’、III’、IV’の夫々の境界が規定(定義)される。なお、
図2と
図3は異なる不透明度値に基づいていること、即ち、
図3は
図2に示された状況に対応していないことに注意すべきである。
【0046】
2次元画像計算機2は、更に、各セグメントについて、夫々のセグメント内において1つの位置を規定(定義)しかつ、夫々の位置について、夫々の照明値を予め決定される照明値計算規則に従って計算することによって、(1つの)セグメント照明値を計算するよう、構成されている。好ましくは、2次元画像計算機2は、仮想カメラ/ピクセルの位置からボリュームへ向かってトレースされる一次レイ(の方向)に関し各セグメントの末端に位置付けられている夫々のセグメントの四半分内に該位置が存在するように、夫々のセグメント内において該位置を規定(定義)するよう、構成される。
図2では、この「四半分(quarter)」は夫々のセグメントI、II、III、IVの(紙面)右側にあり、同図において、夫々の照明値が計算される夫々の位置は半球体によって描かれている。この例では、夫々の位置は夫々のセグメントI、II、III、IVの夫々の末端にある。
【0047】
この実施形態では、予め決定される照明値計算規則は、夫々の照明値決定位置について、1つのアンビエント照明値と複数の指向性(directional)照明値を計算すること、及び、アンビエント照明値と指向性照明値(複数)を組み合わせることによってセグメント照明値を計算することを含む。とりわけ、予め決定される照明値計算規則は、a)第1の入射光の方向及び強度を規定(定義)する(第1の入射光がどの方向においてどのような強度を有するかについて規定(定義)する)環境マップを提供し、該第1の入射光の強度をボクセル(複数)に割付けられた不透明度(複数)に基づいて修正することによってアンビエント照明値を計算すること、及び、b)仮想光源(複数)からの第2の入射光の光強度を表す、照明値決定位置についての指向性照明情報を提供し、該第2の入射光の強度をボクセル(複数)に割付けられた不透明度(複数)に基づいて修正することによって、指向性照明値(複数)を計算すること、を含む。
【0048】
この実施形態では、各照明値決定位置につき、1つの対応する半球体が規定(定義)される。半球体は照明値決定位置におけるボクセル(複数)に割付けられた不透明度(複数)の(1つの)勾配(gradient)によって規定(定義)され、半球体は勾配の方向に向いて(指向して)おり、半球体の端面は、照明値決定位置と交差し(を横切り)、かつ、勾配に対し直角をなしている。更に、各半球体内には、複数のコーン(円錐体)30が規定(定義)される。コーン(複数)30は、好ましくは、夫々の半球体内において均等に分散配置される。この実施形態では、
図4に示されているように、各半球体内に6つのコーンが使用される。
【0049】
更に、各コーン30について、夫々のコーン30の軸40に中心がある球体(複数)が規定(定義)され、該球体(複数)の半径は、
図5に示されているように、夫々の(コーンの)頂点に対する距離が大きい程より大きい。夫々のコーン30の軸40は二次レイであるとして考えることも可能である。
【0050】
各球体について1つのオクルージョン(occlusion)値が決定され、夫々のコーン30の全ての球体について決定されたオクルージョン値(複数)は、夫々のコーン30全体についての1つのオクルージョン値を決定するために、組み合わせられる。更に、各コーン30について、当該コーン30について決定されたオクルージョン(値)及び環境マップによって規定(定義)されるような当該コーン30を通る第1の入射光の光強度に基づいて1つの修正された光強度(修正光強度)が決定され、及び、夫々の照明値決定位置について1つのアンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)30について決定された修正光強度(複数)が組み合わせられる。夫々の照明値決定位置について1つのアンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)30について決定された修正光強度(複数)の組み合わせは、好ましくは、これらの修正光強度の重み付き(加重)和であり、各修正(光)強度は、対応する各コーンの夫々の勾配に対する傾斜角(inclination)に依存して重み付けされる。重みは、とりわけ、夫々の傾斜角のコサイン(余弦)によって与えられ得る。
【0051】
好ましい一実施形態では、環境マップはコーン(複数)30に適合化される、即ち、環境マップは夫々のコーン30内の第1の入射光全体の強度を規定(定義)する。これにより必要な演算(量)は低減される。なぜなら、コーン30当たり、当該コーン30について決定されたただ1つのオクルージョン値を使用することによって夫々ただ1つの光強度値を修正することのみが必要とされるからである。
【0052】
球体(複数)は、ある球体の半径がその直前にある球体の半径の2倍であるように、規定(定義)される。更に、各球体の半径は、球体(の中心)からコーン(円錐体)の頂点への距離とコーン(円錐体)の開口角(頂角)の2分の1のサイン(正弦)を乗算したものに等しい。
【0053】
夫々のダイレクト照明値は、a)夫々の仮想光源からの第2の入射光のレイを含むコーン30について決定されたオクルージョン(値)とb)指向性照明情報によって規定(定義)されるようなコーン30を通る第2の入射光の光強度に基づいて1つの修正光強度を決定することによって計算される。例えば、修正光強度は、従って、夫々の指向性照明値は、決定されたオクルージョン(値)を第2の入射光の光強度で乗算することによって得られる。
【0054】
とりわけ、修正光強度は、従って、少なくとも1つの指向性照明値は、第2の入射光の光強度を該半球体内の全てのコーンについてのオクルージョン値(複数)についての重み付け和(weighted sum)で乗算することによって、半球体内の全てのコーンについて決定されたオクルージョン値(複数)に基づいて決定されることができる。なお、重み(複数)は、第2の入射光の方向と夫々のコーン(中心)軸の間の夫々の角度に、及び、夫々のコーン(円錐体)開口角(頂角)に依存する。
【0055】
各セグメントについて、即ち、夫々の照明値決定位置の各々について、1つの対応するセグメント照明値が決定された後に、2次元画像計算機は、予め決定される投影規則に基づいて、一次レイ(複数)に沿ったカラー(複数)及びセグメント照明値(複数)をピクセル(複数)へ投影する。とりわけ、2次元画像計算機2は、各セグメントについて、夫々のセグメントに沿ったカラー(複数)及び不透明度(複数)に基づいて1つのセグメントカラーを計算するよう、及び、該セグメントカラー(複数)及びセグメント照明値(複数)を投影することによって一次レイ(複数)に沿ったカラー(複数)及びセグメント照明値(複数)をピクセル(複数)へ投影するよう、構成されている。投影規則は、例えば、各セグメントカラーを夫々のセグメント照明値で乗算すること、及び、その結果生じる積を加算することであり得る。尤も、他の投影規則も使用可能であろう。
【0056】
夫々のセグメント照明値の計算は、上述したように、アンビエントオクルージョン(AO)、即ち、アンビエント照明値を決定するために使用される、3次元(画像)データセットのボクセル(複数)による、夫々の照明値決定位置における入射するアンビエント光のオクルージョン(遮蔽:occlusion)、の計算(computation)を含む。ボリュームデータについてAOを計算するために、一次レイ当たり複数のAOサンプルが、半透明ボリュームデータを求めるために、使用可能であり、この実施形態では、セグメントベース(segment-based)アルゴリズムは、以下の少なくとも3つの基本ステップを含むことができる:(i)詳細度(LOD:level of detail)オクルージョンボリュームの生成、(ii)初期レイトレーシング中におけるオリジナルのボリュームデータからのセグメント情報のギャザリング、及び、(iii)イルミネーション計算及び最終合成、即ち、投影(projecting)。次の段落(複数)においては、一実施形態のステップ(複数)をDVR装置の発展(開発)中に遭遇する諸問題に基づいて説明する。
【0057】
(1つの)ボリュームにおける光の伝搬をシミュレートするための物理的基礎は、例えば、N. Max による上記の文献に記載されている放出-吸収(emission-absorption)モデルのような放出-吸収モデルによって、与えられることができる。Max によるこの文献及び D. Joensson による更なる文献 "A survey of volumetric illumination techniques for interactive volume rendering", Computer Graphics Forum, 33(1), 27~51頁 (2014) (該文献の内容も引照によって本書に繰り込まれているものとする)によれば、ポイント
からレイ(光線)
に沿って、ポイント
に到達する減衰ラジアンスは式(1)(但し放出(emission)は考慮しない)によって与えられる:
ここで、
はレイ
に沿ったサンプル(複数)を表し、
はボリュームに入るバックグランドエネルギであり、
は散乱係数であり、吸収期間は
である。
【0058】
式(1)において、
は、
をマテリアルシェーディング関数、
を全ての方向
からの入射ラジアンスとすると、視線レイ(view ray)における各(every)サンプル位置
についての単位球体に関する全ての入射方向
から方向
へ散乱されるラジアンス
を表す。
【0059】
リアルタイムレンダリングのために十分に効率的にするために、DVRにおいて、式(1)の積分は、一次レイについてのリーマン和の計算及びアルファブレンディングを用いるこれらのサンプルの合成によって近似され、その結果、離散化(discrete)ボリュームレンダリング式:
が得られる。
【0060】
ここで、ボリュームを通って進行する1つのレイ(a ray)についての最終ピクセルカラーは、先行するサンプル(複数)からのアルファブレンディング不透明度値(複数)
及びそれらと当該レイ(the ray)に沿った全てのサンプル
についてのカラー値
との乗算によって決定される。通常は、ローカル照明は、今や各ステップについて計算されており、サンプルカラー
と乗算される。尤も、これは、グローバル照明効果及び(
項で表される)散乱を損なうことになる。なぜなら、これらの効果の計算は、該計算は当該レイに沿った全てのステップについて単位球体全体にわたる入射ラジアンスの評価をまたも伴うため、依然として極めて高コストだからである。(1つの)一般的(共通)近似は、単に点光源(複数)又は指向性光源(複数)を考慮し、シンプルフォング(Phong)シェーディングを計算することである。これは、勿論、依然として、近隣(nearby)構造体(複数)のオクルージョン(遮蔽)及びグローバル照明効果(複数)を損なうことになるが、このことが、AOによるローカルオクルージョンの近似及びハイダイナミックレンジ画像(HDRI)環境マップによる入射光の近似が望まれる理由である。
は全ての方向
からの入射ラジアンスであるため、
はラジアンス環境マップ
によって表されることができる。更に、この実施形態では、勾配
によって規定(定義)される、現在(実際)ポイント(current point)
の上半球体のみが考慮される。とりわけ、勾配は、隣り合うボクセル(複数)の不透明度値(複数)に基づいて計算される。結果として得られるベクトルは、次いで、3次元空間における(1つの)面を規定(定義)することになる、即ち、該面は、勾配に対して直角をなし、かつ、計算が現に実行されているポイントと交差する(を横切る)。半球体は、好ましくは、勾配の方向にある面の側にある半球体である。
【0061】
【0062】
この式において、
は、ベクトル
が、ラジアンス環境マップのラジアンス値(複数)が規定(定義)される球体と交わる位置におけるラジアンス環境マップの値として規定(定義)されるラジアンス値である。更に、
は0と1の間の値を与える視感度関数(visibility function)であり、その値は、ベクトル
の方向においてオクルージョン(遮蔽)が小さくなるほどより大きくなる。方向
に沿った入射レイが、オクルージョンされることにより、位置
に到達しないとすれば、視感度関数は値0を与える。方向
に沿った入射レイが全くオクルージョンされないとすれば、視感度関数は値1を与える。
【0063】
(360°×180°HDRIパノラマ画像として与えられる)ラジアンスマップは、ただ1つの必須サンプリングオペレーションによって、(1つの)コーンのための入射ラジアンスを提供することが望まれる。この目的のために、O. Klehm 等による文献 "Bent Normals and Cones in Screen-Space", VMV 2011 - Vision, Modeling and Visualization, 177~182頁 (2011) (なお、該文献の内容は引照を以って本書に繰り込まれているものとする)に記載されているようなプレコンボリューション(事前畳み込みされた:pre-convolved)照明が採用される。従って、ラジアンスマップは、所要コーン半径に対応する、フィルタリング/ブラーリング(ブラー掛け:blurring)(このフィルタリングは無料のサードパーティのソフトウェアツールによって実行可能である)によって、「標準」環境マップから計算されることができる。複数のコーン半径のサポートが望まれる場合、ラジアンスマップは、フィルタサイズ/ブラーリングの増大を伴う複数のLODレベルを含むことも可能であろう。そして、ラジアンスマップは、"CubeMap texture"としてレンダラ(renderer)/シェーダ(shader)にインポートされ、標準的なGLSL指令の使用によって、サンプリングされることができる。CubeMap は、シーン(scene)の周りの無限大の球体として規定(定義)され、(1つの)方向
とこの球体の交点についての入射ラジアンス値を提供する。
【0064】
が、現在位置
と入射光方向
についての視感度関数であるとし、提案された照明モデルを用いると、完全な式は以下のように記載される:
【0065】
尤も、他の実施形態では、別の照明モデルを使用することも可能である。とりわけ、照明モデルは、容易に、より洗練されたモデル(複数)及び更には指向性光源又は点光源と組み合わせられるか又はそれらへと拡張されることができる。これに関しては、以下の更なる説明も参照されたい。
【0066】
AO(又は
項)が各レイに沿った全ての各(every)ステップについて計算される総当たり(brute-force)アプローチは実行可能ではないため、2次元画像計算機2は、すべての各(every)一次レイが複数のセグメントへと分割されるセグメントベース計算を実行するよう、構成される。これらのセグメントの各々は、レイの対応する部分についてアルファブレンディングされた累積ラジアンスを含み、そのため、最終ラジアンスはそれらのセグメントを単に加え合わせることによって容易にフェッチされる(fetched)ことができる。これは、F. Hernell 等による文献 "Interactive global light propagation in direct volume rendering using local piecewise integration", SPBG’08 Proceedings of the Fifth Eurographics / IEEE VGTC Conference on Point-Based Graphics, 105~112頁 (2008) に記載されている局所的区分積分(local piecewise integration)のアイデアに類似する。なお、該文献の内容は引照を以って本書に繰り込まれているものとする。尤も、この実施形態では、細分化は、不透明度駆動型(方式)であり、二次レイ(複数)の代わりに一次レイについて実行される。
【0067】
2次元画像計算機2は、各一次レイを、夫々の一次レイに沿った累積不透明度に基づいてセグメント(複数)へ細分化するよう、構成されている。即ち、セグメント(複数)の長さ(複数)は、一次レイの(従って変化する)長さのトレーシング中における累積アルファ値に依存する。好ましくは、2次元画像計算機2は、セグメント境界(複数)を規定(定義)することによって各一次レイをセグメント(複数)へ細分化するよう、構成されており、該セグメント境界(複数)は、累積不透明度(複数)が所定の閾値(複数)を超える一次レイに沿った位置(複数)によって規定(定義)される。隣り合う所定の閾(値)間の差は一定であり得る。一般的に、これらは線形分布されることができるが、指数分布のような他の仕方で分布されることも可能である。従って、現在(current)セグメントは、
を現在(実際)セグメント数とし、
をセグメントの最大数として、
次の累積不透明度閾値(これは、最も単純な場合、単なる
である)が到達されるたびに、変化される。
【0068】
セグメントの最大数はユーザが設定してもよい。しかしながら、好ましくは、セグメントの最大数は、DVR装置によって予め定められるか又は自動的に決定されるのであって、ユーザによって設定されるのではない。
【0069】
(1つの)セグメントが変化されるたびに、ボリューム内の現在位置
即ち照明値決定位置、及び式(4)で与えられる、現在累積カラー
(即ち夫々の位置
と夫々のセグメントの夫々のセグメントカラー)は、式(7)を参照して以下において詳細に説明されるように、セグメント照明値を計算すること、及び、減衰されたセグメント(複数)を加え合わせることによって最終ピクセル値を合成することが後にできるよう、記憶される。初期のレイマーチング(ray marching)とセグメント照明値計算の分離は、ロックステップ(lockstep)で動作するスレッドグループ(複数)において並列処理されるのが通常であるレイマーチングが、レイ当たりのセグメント(複数)も変化可能であり、従ってより速いスレッドがより遅いスレッドを待つ必要がないであろうため、セグメント照明値計算によって妨げられないという利点を有する。実際、セグメントの最大数は、(1つの)レイが全ての規定(定義)された不透明度閾値に到達する場合に使用されるに過ぎない。AOはセグメント当たり一回計算されるだけであり、それにより、アンビエントオクルージョン/照明計算についての固有の適応性が得られる。2次元画像の現在ピクセルについてのピクセルカラー
は、従って、離散化ボリュームレンダリング式(4)を
個のセグメントを有することに対応する、
個の部分和(複数)へ分割することによって以下のように与えられる:
【0070】
累積不透明度によって決定を行うことにより、(DVR)装置は、ある程度まで類似の不透明度を有し、セグメント境界を(累積)不透明度の急増(複数)(箇所)の近くに配置する領域(複数)、即ちセグメント(複数)、を同定(特定)することができる。これにより、及び、境界における照明値決定位置を各セグメントの最後の(末尾の)四半分へ配置することにより、明確に定められたサーフェス状構造(複数)は、合理的な(妥当な)照明近似を受ける。但し、累積不透明度の緩慢かつ連続的増加によって特徴付けられる軟組織についても、これらの領域は全く均質でありかつ
の特別な位置決めは重要性が低いため、この発見的解決策は功を奏する。
【0071】
セグメントベース照明(lighting)は、照度(illumination)が1つのセグメント内では過度に大きく変化せずかつ該セグメントの全てのポイントに対し容易に再利用可能であるという仮定に基づいている。尤も、セグメント照明値を使用可能にする方法は他にもある。原理的には、現在セグメントのセグメント照明値及び2つの隣り合うセグメントのセグメント照明値(複数)に基づいてセグメント内の各位置について1つの照度値が補間によって求めることができるであろう。最近傍補間法、線形補間法又は三次補間法のような一般的な補間スキームが使用可能であろう。セグメントの全てのポイントについてセグメント照明値を使用する実用的アプローチは最近傍補間法に類似する。この好ましいアプローチによって、極めて良好な結果をもたらす簡単な補間が可能になる。
【0072】
一次レイのリーマン和は式(4)で既に計算されており、AO値及び照明期間は各セグメントについて一定であると見なされるため、後の合成ステップにおいてそれらとそれらの対応するセグメントカラー
の乗算を行い、最終照明(illuminated)ピクセル値を得ることができる。従って、セグメント(複数)は、照明計算に対して関係があるだけであり、一次レイトレーシングステップを変化させない。最終合成式、これは式(6)についての数値近似であるが、以下の式(8)によって与えられる:
ここで、
はアンビエントオクルージョン項
と入射光
からなる、現在セグメント
に対する照明である。
【0073】
セグメント当たりのアルファ値(複数)は既に初期(最初の)レイトレーシング中にアルファブレンディングされているため、最終ピクセル値を得るためにセグメント(複数)のアルファブレンディングをすることは必要ではない。セグメントの最大数は基礎的データの複雑性によって決定されるが、通常は、これは、オクルージョンの合理的な(妥当な)近似を得るために、非常に低い(小さい)ことが可能である。このパラメータの典型的な値は5~30セグメントの範囲である。これは主として基礎的データの複雑性とTFに依存する。5セグメントの値は既に良好な結果をもたらすことができるが、値が30を超えても、通常は、視覚的(映像的)品質の一層の改善はもたらさない。512×512×512ボクセルの解像度及び典型的なTFを有する典型的なサイズのデータセットに対し、10の最大セグメント数は、パストレーシングされたものに近い良好な結果を既にもたらす。従って、好ましい一実施形態では、レイ当たりのセグメントの最大数は10である。
【0074】
この実施形態では、2次元画像計算機2はボクセルコーントレーシングAOをAOモデルとして使用するために適合化される。AOは、
を方向
についての視感度関数とする、ポイント
の平均アクセス性(accessibility)として以下のように規定(定義)される:
【0075】
この項は、方向についての視感度(visibility)を決定するために、ポイント
の半球体にわたって追加のレイ(複数)即ち二次レイ(複数)をトレーシングすることによって近似されることができる。サーフェスレンダリングでは、従って、視感度関数
は、2つの可能性:レイは他の形状体(geometry)と交差するか又はしないか(透明な表面も考慮される場合を除く)しかないため、通常はバイナリである。ボリュームレンダリングの場合、即ち、本開示の場合、これは、連続的視感度関数に対し適合するために再公式化される(式が立て直される):ここでは、視感度は連続的であり、かつ、二次レイの
によって与えられるが、これは、Max 等による上記の文献に記載されたモデルのような放出-吸収モデルの基礎をなす。従って、(1つの)セグメントについてのAO項は、これはポイント
の半球体にわたる
の二次レイで近似されるが、式(10)によって記述されることができる:
【0076】
AOは各レイに沿った複数の位置において評価されるため、このことは直ちに、ボリュームを通してトレーシングされる必要がある所要の二次レイの量(数)が極めて高くなるという結果をもたらす。この二次レイトレーシングについてのパフォーマンス低下(performance penalty)は頻繁なメモリへのアクセスのために厳しいので、この実施形態では、所要サンプル数を減少する他のスキームが使用される。付加的に、間接光とAOは極めて低頻度であるため、オクルージョンを計算するために最高解像度のボリュームを使用することは必ずしも必要ないことが(本発明において)判明した。実際、初期サンプル位置から遠くに離れれば離れる程、ボリュームの表示(representation)はより幅広になり得る。2次元画像計算機2は、従って、(1つの)メインボリュームの(1つの)正確なコピーを複数の解像度で含む付加的オクルージョンボリュームを生成するよう適合化される。好ましくは、マルチ解像度ボリュームは、TFの完全に動的な変化を求める(account for)ために、TFが変化された時点で、再計算される。ボリュームのダウンサンプリングは2次元画像計算機2の画像処理ユニット(GPU:graphics processing unit)において極めて効率的に実行可能であるため、これは小さなパフォーマンス低下しか加えない。従って、各初期サンプル位置の環境のサンプリングは、二次レイのトレーシングを著しく加速するLOD法として設計されることができる。このことは、既述のように、
図5において説明されているが、コーン30の中心における二次レイ40は、複数のサンプル位置41、42、43においてサンプリングされるが、空間密度は位置
に対応するその位置44への距離がより大きくなるほどより小さくなる。
【0077】
2次元画像計算機2は、C. Crassin 等による文献 "Interactive indirect illumination using voxel cone tracing", Computer Graphics Forum 30(7), 1921~1930頁 (2011) に記載されている方法に類似する方法でAOを計算するよう、構成されている。なお、該文献の内容は引照を以って本書に繰り込まれているものとする。尤も、この文献に記載された方法とは対照的に、2次元画像計算機2は、ボリュームデータは既にボクセル化されているため、シーンのボクセル化を必要としない。付加的に、2次元画像計算機2は、照明計算(複数)のためにオクツリ(八分木:octree)のような階層的データ構造の使用も行わない。なぜなら、ボクセル当たりの隣接情報(neighbor information)は必要とされず、そのため、アルゴリズムの複雑性は著しく低減されるからである。更に、本発明においては、好ましくは、ボクセルコーントレーシング法は、Crassin のオリジナルのアプローチとは異なり、間接照明ではなく、オクルージョンの計算のために適用される。なお、2次元画像計算機2は、そのアプローチのポジティブな側面、主としてノイズの不存在及びパフォーマンスの顕著な改善を阻害する。
【0078】
E.C.D. Favera 等による文献 "Ambient occlusion using cone tracing with scene voxelization", 25th SIBGRAPI Conference on Graphics, Patterns and Images, 142~149 頁 (2012) (該文献の内容は引照を以って本書に繰り込まれているものとする。)に記載されている技術に類似して、2次元画像計算機2は、好ましくは、オクルージョンのギャザリングのためにコーン当たり67°の等しいアパーチャを有する6つのコーンを使用するよう、構成さる。なぜなら、正反射(specular)/高頻度情報は存在せず、かつ、6つのコーン30のレイアウトは、Crassin 等による上記の文献において提案されているオリジナルの5つのコーンのレイアウトよりもより小さいギャップ(複数)を導入する(もたらす)からである。これらのコーンは
図4に模式的例示的に示されている。3つのコーン又はただ1つのコーンを有するレイアウトはパフォーマンスを著しくは改善せず、視覚的により不良な結果をもたらすことが(本発明において)判明した。このことが、2次元画像計算機2が6つのコーンを使用することが好ましい理由である。尤も、他の個数のコーン及び異なるコーンアパーチャを使用することも可能である。
【0079】
さて、コーン当たりのオクルージョン値を計算するために、2次元画像計算機2は、ボリュームを通る対応する二次レイのトレーシングを行い、コーン(円錐体)積分(cone integral)を近似する。このために、マルチ解像度オクルージョンボリュームは、最終近似オクルージョンを得るために、コーンに沿った対応するLODレベル(複数)からのオクルージョン値(複数)を総和することによって、使用される。従って、ステップサイズは、現在LODレベルのセル(cell)の程度がコーンの直径に適合するよう、規定(定義)される。従って、このことは、複数の球体を、新たな球体毎に半径が2倍になるようコーン内へ詰め込むことであると考えることができる。なぜなら、マルチ解像度ボリュームにおける各セルのサイズは各LODレベルから二倍になって次のLODレベルとなるからである(
図5参照)。そして、これは、各LODレベル
についてコーンアパーチャ
とする、コーンの始点からの現在距離
を計算するための、ボクセルで与えられる以下の式(11)を生じる:
【0080】
この結果、2次元画像計算機2が各ポイントの周囲の大きな近傍(neighborhood)を極めて少ない所要サンプル数でサンプリングすることを可能にし、かつ、ローカルAOをシミュレートするだけではなく、大規模オクルージョン効果(複数)と現在ポイントに近接するシャープな詳細(details)(複数)の両方をシミュレートすることを可能にするステップ長さの指数関数的増大がもたらされる。より大きなステップサイズ
に適合するために、各サンプル
の不透明度は、標準ステップ幅である
を有する修正された項によって調節される。これに関しては、Crassin 等による上記文献も参照。
【0081】
2次元画像計算機2は、この実施形態では、ボリュームの各位置がトライリニア的に(trilinearly)サンプリングされるように補間を実行するよう、構成され、これにより、スムーズな補間結果が確保(保証)される。他の実施形態(複数)では、補間は、勿論、他の方法でも実行可能である。
【0082】
2次元画像計算機2は、シーンを照明するためにHDRI環境マップ(複数)を使用するよう、即ち、HDRI環境マップを用いることにより照明値(複数)を計算するよう、構成されることができる。これは、HDRI環境マップは極めて自然かつ現実的な照明を生成できるため、表示されるべき生成された2次元画像はARシナリオで使用可能であるという利点を有する。上述したように、2次元画像計算機2は、セグメント当たり一回だけ照明とオクルージョンを計算することによって、単純化された照明計算(複数)を使用するよう、構成されている。2次元画像計算機2は、各コーンについて入射光を評価することによって指向性照明近似を計算し、次いで、それを対応するオクルージョン値で減衰するために、各コーンについて既に計算されたオクルージョン値を使用することができる。これが必要とすることは、極めて少ない追加のテクスチャが環境マップを参照し(lookups)、しかも、現在セグメントについての入射光の合理的近似をもたらすことだけである。
【0083】
さて、コーン当たりの入射光を計算するために、2次元画像計算機2は、例えば環境マップを複数回サンプリングすることによって、各コーンの立体角について実際に再び積分するよう、構成されることができるであろう。尤も、2次元画像計算機2は、Klehm による上記文献に記載されているようなプレコンボリューション照明を使用することによって、これを回避するよう構成されることが好ましい。この目的のために、各ミップマップが好ましくは90°のコーン半径に対しラジアンスを表す最高ミップマップと事前統合(積分)された(pre-integrated)入射光として有効に機能するミップマップ化(mipmapped)HDRIマップ(複数)を使用することができる。これによって、コーン当たりの入射光は、コーン半径に対応するミップマップレベルにつき一回環境マップをサンプリングすることによってフェッチされる(fetched)。なお、ただ1つの一定の(固定された)コーン開口(アパーチャ)角が使用されれば、1つのマップレベルの事前計算は十分である。
【0084】
個のコーンを有するレイアウトについて、ポイント
当たりの、即ち、照明決定位置当たりの、従って、ポイント
が存在するセグメント当たりの照明、即ち、照明値は、従って、以下の式によって与えられる:
ここで、
は現在コーンKに対する入射光である。(1つの)環境マップがただ1つの光源である場合、
は、二次レイの方向
における環境からの光と環境マップの相応のミップマップレベルに対応するコーンアパーチャ
によって以下のように規定(定義)される:
【0085】
従って、例えば、すべてのコーンについて同一である一定のコーンアパーチャ
について、
は有効に
に依存するのみである。
【0086】
同様の仕方で、これは、指向性光源(複数)(入射光は複数の平行なレイ(光線)を有する)又は点光源(一点から到来する光、入射光レイ(光線)(複数)は平行ではない)のような光源(複数)からの入射光のような近似的指向性照明値(複数)及び夫々のシャドウ(陰影)にも、極めて僅かな計算労力で、拡張されることができる。この目的のために、各光源についてのシャドウ値は、既に計算されている(式(13)参照)、コーン(複数)のオクルージョン値の補間として近似される。方向
からの入射光について、(シャドウのない)コーンK当たりの入射光は、
によって計算されることができる。
【0087】
ここで、
はコーン境界における急激な推移(変化)を回避する平滑化関数であり、
は光源の強度である。両者即ち指向性光源(複数)及び点光源(複数)について、照明値決定位置
に対する入射光の方向
は明確に規定(定義)される。指向性光源の場合、
は光源の性質である。点光源については、
は
から光源の位置へのベクトルによって与えられる。
と
は両方とも大きさ1を有する単位ベクトルである。従って、一実施形態では、2次元画像計算機2は、この式に応じて照明値(複数)を計算するよう、構成される。
【0088】
【0089】
すべてのコーンに関する各光源の寄与が計算されるため、ソフトなシャドウを有する現実的な照明近似が、ノイズを導入することなくかつ極めて僅かな追加の計算によって、提供される。実際、点乗積(dot product)はGPUにおいて極めて高速に評価されることができ、累積アルファは既に計算されているため、このアプローチは殆ど任意の個数の光源に妥当する一方で、依然として、その各々についてソフトシャドウを計算することができる。この方法は、例えば点光源(複数)に類似する放射面上のポイント(複数)を取り扱うことによって、面光源(複数)(即ち矩形又は円形発光体を有する光源)又は任意の形状の光源(複数)のような他のタイプの光源(複数)の組込にも拡張され得る。一代替的アプローチは、そのような光源(複数)の入射光を(
及び
及び
光源のサイズと光源までの距離から導出される開口角(opening angle)によって規定(定義)される)コーン(入射光コーンと称される)としても近似し得、及び、コーントレーシングコーンのオクルージョン値をこれらの入射光コーンによってこれらの2つのタイプのコーンの交差に基づいて変調(modulate)し得る。
【0090】
2次元画像計算機2を更に改善するために、幾つかの最適化が考えられる。アルゴリズムの議論の余地はあり得るが最も重要な部分は、照明とAO(アンビエントオクルージョン)が計算されることになるレイに沿った位置(複数)を決定するセグメント境界(複数)の規定(定義)である。これは、(1つの)レイに沿った累積不透明度の経過を分析することになる。前述したように、ハードな構造体(複数)及び境界(複数)を最適に捉えるために累積不透明度の急増(部)(複数)の前にセグメント境界(複数)を好ましく設定することが望まれる。尤も、一様な領域については、セグメント境界(複数)を可及的に疎らに分散配置することが望まれる。セグメント境界(複数)の直線的分割(linear division)は既に良好な結果をもたらすが、実際のところ、現在不透明度に対応する、累積不透明度の導関数(微分)に基づくセグメント位置決め(positioning)は、更に良好な結果をもたらし得る。2次元画像計算機は、従って、累積不透明度の導関数(微分:derivative)に基づいて各一次レイを複数のセグメントへ細分化するよう、構成されることができる。2次元画像計算機は、セグメント境界(複数)を決定する任意の関数(複数)を使用するよう、構成されることができる。更に、2次元画像計算機は、初期レイトレーシング中にではなく、累積不透明度の完全な経過(進展)が分かる(既知になる)初期レイトレーシング後に、セグメント境界(複数)を規定(定義)するよう、構成されることができる。一般的に、セグメント境界(複数)の選択が良好であればあるほど、アルゴリズムの正解への収斂(の可能性)はより高くなる。
【0091】
付加的に、より高程度に適応性(adaptivity)に基づく思想を導入することによって、パフォーマンスは更に改善されることができる。不透明度が低い領域は不透明度が高い領域よりも最終ピクセル結果に対する寄与がより小さく、かつ、高い不透明度はしばしば剛な(solid)構造体を表す(特徴付ける)という観察結果に基づき、2次元画像計算機は、1つのポイントの現在不透明度に依存する(によって定まる)サンプリング密度を使用するよう、構成されることができる。従って、2次元画像計算機は、不透明度が低い領域が不透明度が高い領域よりもより小さい正確性でサンプリングされるAO計算のためのサンプリングを使用するよう、構成されることができる。2次元画像計算機は、このために異なるコーンサンプルパターンを、即ち、例えば、正確性が低いものに対しては3つのコーンを、正確性がより高いものに対して6つのコーンを使用するよう、構成されることができる。指向性光及び環境光の近似/計算は、任意のコーンレイアウト及びアパーチャで使用可能である。
【0092】
2次元画像計算機は、例えば、OpenGLのようなラスタ化グラフィックスAPIにおける一般的なレイキャスティングベース(ray-casting-based)ダイレクトボリュームレンダラのGLSLフラグメントシェーダにおいて上記の技術を具現化することによって、従って、画像処理ユニット(GPU)の処理能力を用いることによって、形成されることができる。レイキャスティングベースダイレクトボリュームレンダラは、例えば、医用画像化のための周知の“MeVis-Lab”ソフトウェアにおける“ギガボクセルボリュームレンダラ(Giga Voxel volume renderer)”とすることが可能である。尤も、導入されるセグメントベース適応イルミネーションサンプリングに基づく既述のパフォーマンスの改善は、その他の任意のCPUべース、GPUラスタ化ベース又は(例えばCUDAを使用する)GPGPU(汎用GPU)ベースのボリュームレンダラ具現化においても利用可能である。
【0093】
上述のように、2次元画像計算機は、好ましくは基礎データにおける類似の領域(複数)を同定(特定)し、これらの領域について一定の照明値を採用する(assume)ことによって、必要な照明計算を大きく減少するために、セグメントベースレンダリングを使用する。この結果、必要な照明計算及びレイ当たりの可変数の計算は著しく減少する。本発明者等は、更に、ラスタ化ベース(rasterization-based)具現化の場合、AO及び入射光評価を含む照明計算が初期レイトレーシングから分離されると、パフォーマンスは更に改善されることができることを見出した。これは、フラグメントシェーダスレッドグループ(複数)がロックステップで動作し、かつ、より高速なスレッドはより低速のスレッドを待つ必要があることによって引き起こされる。照明が計算される例に沿った位置は隣り合うレイ(複数)についてさえ著しく異なり得るため、初期レイトレーシングと照明計算(複数)との分離は重要である。従って、好ましい一実施形態では、2次元画像計算機は、セグメント(複数)の規定(定義)及び初期レイトレーシング中における後の照明計算(複数)のための関連データの収集のみを行うよう、構成される。全ての各(every)セグメントについて、一実施形態では、このデータは、ボリューム内のセグメントのスタート位置、現在累積カラー及びアルファブレンディングされた累積不透明度から構成される。他の実施形態では、丁度、照明値(複数)が計算されるべき位置のみが記憶される、即ち、他の実施形態では、丁度、照明値決定位置のみが記憶される。これらの値は、セグメント当たり1つの要素を有する一次元行列に記憶されることができる。(1つの)レイが完全な不透明度に到達しないこと、従って全てのセグメントが使用されるとは限らないないこともあり得るため、2次元画像計算機は、後の照明計算ステップのための有効なセグメントの数を計数する付加的カウンタを含むことも好ましい。
【0094】
2次元画像計算機は、レイトレーシング後、複数の有効セグメントについて反復し、各セグメントの記憶されたカラー値と、計算された照明近似即ち計算された照明値及び計算されたAO値とを乗算し、それらを上式(8)に従って加え合わせることによって、現在ピクセルについての最終カラー値を計算するよう、構成されることも可能である。
【0095】
上述したように、2次元画像計算機は、Crassin 等による上記の文献に記載されたようなボクセルコーントレーシングアルゴリズムと同様にAOを計算するよう、構成されるが、DVRに適合化される。Crassin 等による文献と同様に、2次元画像計算機は、従って、詳細度及び解像度の複数のレベルでボリューム(複数)を使用するが、2次元画像計算機は、それをオクトツリ(octree)又は他の階層データ構造を用いた構造化は行わない。従って、LOD表現の生成は単純である。OpenGLベースの(OpenGL-based)具現化は、例えば、ボリュームの3Dテクスチャの生成中におけるOpenGLのビルトインLOD機能を採用するかもしれない。しかしながら、本発明者等は、ボリュームのLODレベル(複数)の後のサンプリングは、ダウンサンプリングが手動で実行され、各LODレベルが別個のサンプラ(sampler)に記憶される場合、より高速であることを見出した。更に、基礎データのサイズ及び複雑性に依存して、4又は7のような少数のLODレベルで既に十分であることを見出した。3次元画像のサイズに基づいてLODレベルの数を自動的に計算することも可能である。更に、2次元画像計算機は、ラスタ化パイプラインを用いることによる、Crassin 等による上記の文献に記載された手法に類似する方法でLODレベル(複数)を生成するよう、構成されることが好ましい。より正確には、2次元画像計算機2は、別個の(separate)オクルージョンボリュームを得るために、フレームバッファオブジェクト(FBO:frame buffer object)においてスライスによってボリュームスライスをレンダリングするボリュームレンダラを採用するよう、構成されることが好ましい。オクルージョンボリュームを焼き付ける(ベイクする:bake)他のボリュームレンダラインスタンスを使用することによって、複数の二次ボリューム、複数のクリッピング面、複数の付加TF等を有する極めて複雑なデータセット(複数)もカバーされることができる。照明(ライティング)又はシェーディングはオクルージョンボリュームについて計算されないため、この付加的なレンダリングステップは極めて高速であり、TFがユーザによって変化されているときオンザフライで(on the fly)容易に実行可能である。そして、このマルチ解像度ボリュームの生成は、先のLODレベルのアンダーサンプリングを実行し、それによって、すべての次元において先のレベルの正確に半分のサイズを有する次のLODレベルを生成するGLSLシェーダを介して、2次元画像計算機2のGPUで効率的に実行可能である。すべてのLODレベルは、カラー化シャドウを可能にする、R16テクスチャのような1チャネル16ビットテクスチャに又はRGBA16テクスチャにさえも記憶可能である。そして、各LODレベルは、別個のサンプラとしてのメインシェーダにバインドされることができる。
【0096】
更に、補間は、例えば、2つのスライス間でより高いレベルのボリューム(複数)をサンプリングする場合にOpenGLハードウェアフィルタリングを利用することによって、効率的に実行可能である。好ましくは、スムーズな結果を確保するために、Crassin 等に類似する、ダウンサンプリング中に3×3ガウシアンフィルタカーネルが付加的に適用される。これらのステップは、マルチ解像度ボリューム中に所望の数のLODレベルが生成されるか又はボリュームの更なる減少が不可能になるまで、繰り返される。2次元画像計算機は、TFがTFの完全に動的な変化(複数)をもたらすよう変化されると、LODレベルを再計算する。これは、動的な更新スキーム又は類似のメカニズムは必要ではないため、アルゴリズムを著しく単純化もする。
【0097】
2次元画像計算機は、立体視(ステレオビュー)を可能にするために、異なる視線方向における2つの2次元画像を計算するよう、構成されることが好ましい。
【0098】
2次元画像計算機は、新たなサンプリングスキームとボクセルコーントレーシングとを組み合わせることによって、高フレームレートDVRにおいて高度なイルミネーション効果(複数)を促進する。サンプリングスキームは一次ビューイングレイに沿ったイルミネーション計算の量を減少する一方で、ボクセルコーントレーシングはイルミネーション計算自体の複雑性を減少する。この組み合わせは、画質の如何なるロスも生じさせることなく、リアルタイムでTF(複数)又はクリッピング面(複数)の規定(定義)を可能にさえもする。
【0099】
上記の実施形態(複数)では、2次元画像計算機は、適応イルミネーションサンプリングを画像ベース(image-based)照明、AO、及びシャドウキャスティング手法によるダイレクトイルミネーションと組み合わせる。尤も、サブサーフェススキャッタリングのような他のイルミネーション手法も使用可能であろう。
【0100】
DVR装置1の入力装置1は、ユーザがa)TF及び/又はb)1つ以上のクリッピング面の位置及び/又は向き(方向)及び/又はc)仮想カメラの位置及び/又は向き(方向)を修正(変更)できるようにするよう構成されることが好ましい。これに応じて、2次元画像計算機2は、完全にインタラクティブなTF及び/又はクリッピング面及び/又は仮想カメラのリアルタイムでの変化を可能にすると共にDVRにおいてAOを計算するよう、構成されることが好ましい。対応するアルゴリズムのコアにおいて、2次元画像計算機2は、レイ(複数)を複数のセグメントへ分割し、以って、ビューイングレイに沿った即ち一次レイに沿ったイルミネーション計算の量の所要の減少を容易にする適応サンプリングスキームを採用する。イルミネーション計算それ自体は、ボクセルコーントレーシングの適合(adaption)を用いて効率的に計算される。これは、最小の事前計算を必要とし、殆ど任意の数の指向性光源又は点光源のための画像ベース照明及びソフトシャドウと組み合わせたAOのノイズレスのオンザフライ計算を可能にする。
【0101】
2次元画像計算機は、既述のアルゴリズムを既存のレイキャスティングベースのボリュームレンダリングパイプライン(複数)へ組み込むことによって容易に形成されることができる。一次ターゲット(primary target)のユースケースについては、これはARであるが、2次元画像計算機は、高フレームレート(複数)とノイズフリーの現実的に照明される(illuminated)画像(複数)との組み合わせによる適切な折衷(compromise)を表す。これは、それ自身をとりわけ画像ベース照明との組み合わせへ加えるが、これにより、レンダリングされた画像とリアル環境とのより深い一体化が容易化され得る。
【0102】
2次元画像計算機において具現化されるセグメントベースレイキャスティングのコンセプトは、(1つの)レイに沿った反復計算が減少される必要があるすべてのシナリオのために使用可能である。従って、セグメントベースレンダリングは、多くのドメイン及びグローバルイルミネーションアルゴリズムのような多くのアルゴリズムにおいて使用可能である。更に、上記の照明項(term)は、例えばカラー化シャドウ、サブサーフェススキャッタリング又は完全グローバルイルミネーションさえもカバーするより多くの洗練された効果又はシェーディングモデルを含むよう拡張され得る。
【0103】
2次元画像計算機によって実行されるAO計算は、「適応(アダプティブ)ボリュメトリックイルミネーションサンプリング(Adaptive Volumetric Illumination Sampling)」と称され、AVISと略称され得るが、AOをレイキャスティングベースDVRで計算するための完全GPUベースリアルタイム手法であることが好ましい。これは、AOをDVRのためにリアルタイムで計算することを可能にすると共に、インタラクティブTF更新と高フレームレート及び高解像度での可視化データのクリッピングをサポートする。この目的のために、提案される手法は、コーントレーシング化AOと、計算量の減少を容易化しかつ最小の再計算のみでノイズフリーAOを生成する適応サンプリングスキームとを組み合わせる。説明された手法は、既存のプロダクションボリュームレンダリングパイプラインへ組み込まれることが可能であり、好ましくは、医用ボリュームレンダリングとの関連ではARセッティングにおいて使用される。好ましくは、これは、医用応用シナリオのために設計され、複雑なデータセットについてさえ良好に機能する。
【0104】
間接照明を近似する手段として遮蔽度(obscurance)―ないしオクルージョン―を使用するというアイデアは、S. Zhukov 等による上記の文献において最初に提案された。彼らの方法は、これは今やアンビエントオクルージョンとして知られているが、分散疑似光源から到来するアンビエント光を変調する(modulate)ために、ある表面点(surface point)におけるオクルージョンの計算量を使用する。典型的には、AOはレイキャスティングによって計算される:半球体をサンプリングするために、複数の(multiple)レイがトレーシングされる。各レイについてオクルージョンの量が計算されるが、表面点のオクルージョン値は全てのオクルージョン値の平均である。
【0105】
AOはグローバルイルミネーションの近似に過ぎないが、依然として計算の点ではコストが大きい。AOのリアルタイムレンダリングを可能にする1つの方策は、AO値又はベント法線(bent normal)を事前計算し、それらをテクスチャ又は3次元グリッドで記憶することである。尤も、これは剛体変換(rigid transformation)を可能にするだけである。
【0106】
完全動的AOは、現在のグラフィックスハードウェアにおいて、2.5D画像スペースプロセス、いわゆるスクリーンスペースアンビエントオクルージョン(SSAO)として実現される。これは、深さ及び表面法線についての遅延(diferred)シェーディングバッファ(複数)に関するオペレーション(複数)に基づいているが、サーフェスベースレンダリングにおいて普及しているだけである。
【0107】
現実イルミネーションモデルに関する作業は当初はサーフェスレンダリングに注目していたが、最終的にはDVRの分野における類似の作業を生じた。U. Behrens 等による文献 "Adding shadows to a texture-based volume renderer", IEEE Symposium on Volume Visualization (2002)、 M. Hadwiger 等による文献 "GPU-Accelerated deep shadow maps for direct volume rendering", Graphics Hardware, 49~52頁 (2006) 及び T. Ropinski 等による文献 "Efficient shadows for GPU-based volume raycasting", International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (2008) に記載されているようなシャドウキャスティングアプローチに加えて(これらの内容は引照を以って本書に繰り込まれているものとする)、アンビエントオクルージョン(AO)方法のボリュームレンダリングへの適用は多くの重要性を得た。DVRのためのAOの最初のアプローチの1つは、A. Stewart による文献 "Vicinity shading for enhanced perception of volumetric data", Proceedings of the IEEE visualization conference, 355~362頁 (2003) (これらの内容は引照を以って本書に繰り込まれているものとする)に記載されているような "Vicinity Shading" であった。この文献では、ローカルイルミネーションは、隣接ボクセル(複数)の遮蔽度を検査することによって計算され、前処理(preprocessing)は、シーン及び結果を記憶するための付加的バッファに関し、すべての修正のために必要とされた。
【0108】
F. Hernell 等による文献 "Local ambient occlusion in direct volume rendering", IEEE Transactions on Visualization and Computer Graphics, 16(4), 548~559頁 (2010)(該文献の内容も引照を以って本書に繰り込み記載されているものとする。)では、事前計算ステップにおいて、最初にダウンサンプリングを行い、ボリュームを複数の解像度を有するブロック(複数)へパッキングすることによって局所近傍(local neighborhood)からオクルージョンを計算するローカルAOが記述されている。AOは、次いで、フレーム当たり1つのAOサンプル方向及びレイ方向(複数)を決定する一定の(規則的)幾何学的パターンによって漸進的に更新されることになる付加的アンビエント光テクスチャに記憶される。一次レイ及び二次レイに沿ったサンプリングは、ステップの長さが基礎ブロックの解像度に基づく適応スキームに従う。これにより、ボリュームの効率的なLODベースのトラヴァージョン(traversion)及びサンプリングが可能になると共に、空スペースをスキップすることが可能になる。このアプローチはもっともらしい結果を生じ、データのクリッピングを可能にしつつ、勾配(複数)(gradients)には依拠しないが、とりわけ基礎マルチ解像度ボリュームはTFの全ての変化について再計算されなければならないため、不連続アーチファクトを伴うと共に、リアルタイムのアプリケーションにとっては過度に低速である。
【0109】
同様に、T. Ropinski 等による文献 "Interactive volumetric lighting simulating scattering and shadowing", IEEE pacific visualization symposium, 169~176頁 (2010) (該文献の内容は引照を以って本書に繰り込まれているものとする)では、光輸送(light transportation)及びスキャッタリングの両方のためのコーン(複数)を用いた、ボリュームの色度(chromaticity)の近い順の(front-to-back)蓄積及び第2パスにおける遠い順(back-to-front order)での光のスキャッタリングによって、イルミネーションボリュームが生成される。適切なシェーディングモデルによって、これは、スキャッタリング及び拡散反射(diffuse)、正反射(specular)及び半透明材料をもたらす一方で、ボリュームは、伝達関数又は光移置が変化する場合、オンザフライで再計算されることができる。しかしながら、1つの動的ポイント又は指向性光のみを有するという制限は全く限定的である。
【0110】
レイ(複数)を複数の区画(pieces)へ分割することにより必要なサンプルを減少するというコンセプトは、F. Hernell等による文献 "Interactive global light propagation in direct volume rendering using local piecewise integration", SPBG’08 Proceedings of the Fifth Eurographics / IEEE VGTC Conference on Point-Based Graphics, 105~112頁 (2008) (該文献の内容は引照を以って本書に繰り込まれているものとする)において研究されているが、この文献では、区分的統合(積分)(piecewise integration)が提供されている。二次元画像生成ユニット2によって使用されるアプローチとは異なり、この文献では、セグメント(複数)は一定のサイズを有しかつ不透明度駆動方式ではない。更に、この文献では、区分的統合は、マルチ解像度LODベースシャドウボリュームの生成中における光レイ(ないし二次レイ)に対してのみ採用され、一次レイに対しては採用されない。結果として生じるシャドウボリュームを使用することにより、この文献では、次いで、F. Hernell 等による "Efficient ambient and emissive tissue illumination using local occlusion in multiresolution volume rendering", Proceedings of Eurographics/IEEE Volume Graphics 2007, 1~8頁 (2007) (該文献の内容も引照を以って本書に繰り込まれているものとする)に記載されているローカルアンビエントオクルージョンに類似する方法によって、ローカル一次スキャッタリング効果が計算される。最後のステップでは、最終画像をレンダリングするために、シングルレイキャスティングパスが使用される。このアプローチはTFのインタラクティブな変化を可能にするが、クリッピング面(複数)はサポートされない。照明(lighting)に関しては、この方法は環境マップをサポートせず、4つまでの点光源(point lights)のみをサポートする。
【0111】
D. Joensson 等による文献 "Historygrams: Enabling interactive global illumination in direct volume rendering using photon mapping", IEEE transactions on visualization and computer graphics, volume 18, 2364~2371頁 (2012) (該文献の内容も引照を以って本書に繰り込まれているものとする)では、ボリュームレンダリングのためのフォトンマッピングアプローチのための適応更新スキームを生成するために、レイ(複数)を複数のセグメント/部分へ分割するアイデアが提案されている。各一次レイ及び(1つの)光源からの各レイについて、レイは、フォトンと媒体の相互作用(スキャッタリング、吸収等)が起きる所では、セグメント(複数)へ分割されることになる。セグメントが最後に更新されたとき全てのレイは使用されたパラメータの履歴を記憶するため、TFがユーザによって変化されるとき、影響を受けたセグメントのみが再計算される。同様に、すべてのフォトンは光パスの完全な履歴を記憶する。この文献において、それらは「ヒストリグラム(historygrams)」と称されており、オブジェクト当たり1つが記憶される。更に、一次レイのセグメント(複数)は均一なサイズで形成され、かつ、不透明度依存性ではない。更に、このアプローチはリアルタイムでは可能ではなく、ARシナリオで起きるような常時変化するカメラ及び光位置は、とりわけフォトンの更新は極めて高コストであるため、問題である。
【0112】
T. Kroes 等による文献 "Exposure render: An interactive photo-realistic volume rendering framework", PLoS ONE, 7(7), https://doi.org/10.1371/journal.pone.0038586 (2012) (該文献の内容も引照を以って本書に繰り込まれているものとする)には、パス(path)トレーシングに基づくDVRにおける完全動的グローバルイルミネーションの実現可能性が示されている。その手法は、シーメンスヘルスニアーズ(Siemens Healthineers)によって適合化され、シネマティックレンダリング(Cinematic Rendering)と命名された。典型的には、パストレーシングは、これはインタラクティブアルゴリズムであるが、数秒以内に低ノイズの結果に収束する。しかしながら、スムーズな結果への集束は、より多くの個数のサンプルを同じビューから捉えることによってのみ達成できる。プロセスは例えばノイズ除去フィルタを用いることによって固定可能であるが、パストレーシングは、医療状況及びARシナリオの場合と同様に、正確性及びスピードに対する高い要求を有するアプリケーションにとっては依然として過度に低速である。尤も、パストレーシングは、物理的に最も正確な方法であるので、依然として最も正確な結果を生成する。
【0113】
文献 "Adaptive Temporal Sampling for Volumetric Path Tracing of Medical Data". Computer Graphics Forum, 38(4), 67~76頁 (2019) (該文献の内容は引照を以って本書に繰り込まれているものとする)には、パストレーシングをバーチャル及びARシナリオのために利用可能にするための方法が説明されている。記載されているアプローチでは、サーフェスベースレンダリングから知られているような、時間相関再射影(temporal reprojection)が、スクリーンスペース履歴バッファに追加情報を記憶することによって及び適応サンプリング手法を採用することによって、パストレーシング型ボリュームレンダリングに適用された。これにより、既に計算された値を再利用することが可能になり、必要な場合にのみサンプルを費やすことが可能になる。これはパストレーシング型ボリュームレンダリングのパフォーマンスを改善するが、結果として得られる画像は依然としてノイズとブラー(ぼけ)を伴うが、このことはとりわけ医用ボリュームレンダリングにおいては好ましくない。これに加えて、TF及びクリッピング面の変化は間接的なものに過ぎず、ある程度しかサポートされない。
【0114】
Crassin 等による上記の文献では、「ボクセルコーントレーシング」技術、即ち、スムーズかつノイズフリーのグローバルイルミネーションを良好な品質かつリアルタイムで可能にする伝統的なサーフェスレンダリングのための技術が提案されている。完全GPUベースアプローチは、シーンをボクセル化し、シーンを異なるLOD(複数)で含む「スパースボクセルオクツリ(Sparse Voxel Octree)」と称される階層的オクツリ構造に情報を記憶する必要性を除き、殆ど事前計算なしに動作する。この場合、基本アルゴリズムは、以下の3つの基本ステップを含む:第1に、シーンが光位置(複数)からレンダリングされて、入射光情報をオクツリに割り当てる、第2に、光がボリュームを通して伝搬させられて、各オクツリノードについてラジアンスをもたらす、第3に、シーンが、カメラの視点から及び各可視的サーフェスポイントについて、再びレンダリングされるが、コーントレーシングを使用する最終ギャザリングは、J. Amanatides による文献 "Ray Tracing With Cones", Computer Graphics (ACM), 18(3), 129~135頁 (1984) (該文献の内容も引照を以って本書に繰り込まれているものとする)に記載されているように実行される。双方向反射率分布関数(BRDF:bidirectional reflectance distribution function)の正反射部についての別個のコーンは正反射性材料を考慮する。Crassin 等によるこの文献には、AOを計算するためのコーントレーシングの使用法についての一例も与えられている。
【0115】
以下に、3次元画像データセットをボリュームレンダリングするためのDVR方法の一実施形態を
図6に示したフローチャートを参照して例示的に説明する。
【0116】
ステップ101において、好ましくはCT又はMR画像データセットのような医用画像データセットである3次元画像データセットが提供される。ステップ102において、3次元画像の各ボクセルに対し、1つのカラー及び1つの不透明度が割り当てられ、そして、ステップ103において、3次元画像データを通過し、3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する複数の一次レイの各一次レイについて、一次レイによって通過されるボクセル(複数)に割り当てられたカラー(複数)及び不透明度(複数)に基づいて一次レイに沿ってカラー(複数)及び不透明度(複数)が計算される。ステップ104において、各一次レイが夫々の一次レイに沿った不透明度(複数)に基づいて複数のセグメントへ細分化され、ステップ105において、各セグメントについて、セグメント照明値が予め決定された照明値計算規則に従って計算される。ステップ106において、2次元画像を生成するために、カラー(複数)及びセグメント照明値(複数)が、予め決定された投影規則に基づいて、一次レイ(複数)に沿ってピクセル(複数)へ投影される。ステップ103とステップ104が統合されること、即ち、初期レイキャスティング中に既に一次レイ(複数)に沿った不透明度(複数)及びカラー(複数)が計算されてセグメント(複数)が決定されることも可能である。とりわけ、好ましい一実施形態では、初期レイキャスティング中に、一次レイ(複数)に沿った不透明度(複数)及びカラー(複数)が計算されて、セグメント(複数)が決定され、更に、(1つの)セグメント照明値が計算されるべき、夫々のセグメント内の位置が決定される。従って、初期レイキャスティング中に既に、照明値決定位置を決定することができる。
【0117】
ステップ107において、カラー(複数)及び不透明度(複数)のボクセル(複数)への割当てが、即ち対応する伝達関数が、入力装置3を用いてユーザによって変更された(amended)かについてチェックされる。変更した場合は、方法はステップ103から続ける。更に、ステップ107において、ユーザがユーザ装置3を用いてクリッピング面を又は仮想カメラの位置及び/又は向き(方向)を修正したかについてチェックされる。この場合も、方法はステップ103から続けることができる。更に、ステップ107において、ユーザがDVR方法が停止されるべきことを入力装置3を介して指示したかについてチェックされる。指示した場合、方法はステップ108において終了する。
【0118】
従って、ユーザはTF、クリッピング面及び/又は仮想カメラの位置を修正する(modify)ことができ、生成された2次元画像は、修正が可視化(visualization)リアルタイムでどのように影響を及ぼしたかについてユーザが認識することができるように、連続的に更新される。
【0119】
一実施形態では、(1つの)決定されたセグメントに関し、1つのサンプルポイント即ち照明値決定位置についての照明値計算が、以下において説明されるように、(1)アンビエント光項と任意の数の(2)指向性光項の和として与えられる。
【0120】
(1)アンビエント光項(term)は、サンプルポイントの半球体にわたり全ての方向から入射する光として計算される。この目的のために、360°×180°パノラマ(360°by 180°panorama)の形ですべての方向から到来する光を特定するために、環境マップが使用される。この光は、Zhukov 等による上記文献に記載された計算に応じアンビエントオクルージョンによって計算されるようにシャドウイングを行うことによって変調される(modulated)。より詳細には、Crassin 等による上記文献に記載されているようなボクセルコーントレーシングが、アンビエントオクルージョンを計算するために使用される。これは、半球体は、該半球体がその表面に結果として生じる円(複数)によって多かれ少なかれカバーされるよう均等に分散配置された少数の(典型的には5つ又は6つの)コーンによってサンプリングされることを意味する。最小のオーバーラップが許容される。67°の開口角を有する6つのコーンが使用されることが好ましい。これらのコーンは、サンプルポイントにおける3次元画像データセットの勾配(gradient)によって配向される(方向付けられる)固定された(一定の)基準フレームにおいて規定(定義)される。各コーンは、このコーンによってカバーされるボリュームの部分(複数)から生じるオクルージョンを計算するために、3次元画像データセットを介してトレーシングされる。以下の説明はこれらのコーンの1つについてのものである:(1つの)コーンのトレーシングは、オリジナルの3次元画像データセットとTFに基づいて事前計算された付加的な詳細度(level of detail:LOD)オクルージョンボリュームをサンプリングすることによって実行(具現化)される。これの背後にあるアイデアは、コーンの頂点から出発し、その主軸に沿ってコーンをたどるに連れて、コーンの横断面は大きくなるということである。代表的なオクルージョン値を計算するためにコーンの全ボリューム内部の多くのポイントにおいてオリジナルの3次元画像データセットをサンプリングする代わりに、コーンの軸上の(2~3の)少数の(a few)球体即ち球エリアがサンプリングされるが、各球はその前にある球よりもより大きい半径を有する。尤も、サンプリング球体(複数)の半径は、各LODのボクセル(複数)が常にそれらのサイズを同様に2倍にするように、常に正確に2倍になることが好ましい。それらはコーンの現在半径にも整合すべきであるため、レイに沿ったサンプリングポイントは自動的に決定される。これらの球体のサンプリングは付加的LODオクルージョンボリュームから値(複数)をフェッチングすることによって実行(具現化)される。レベル(複数)のボクセルサイズは(順次)大きくなる:各レベルはその前のレベルに対してボクセルサイズを2倍にする。より低い解像度レベルからの(1つの)値のフェッチングは、より大きいエリアにおいてサンプル(複数)の統合(積分:integration)を獲得すること、即ちより大きいエリアのオクルージョンを獲得することを意味する。これは、丁度1つのサンプルを有する各球体についてオクルージョン値(複数)を計算するために使用される。少数の球体オクルージョン値の組み合わせは、コーン全体についてのオクルージョン値をもたらす。球体(又はレイに沿ったステップ)の個数は、オクルージョン計算のために考慮されるべき近隣(neighborhood)のサイズ及び3次元画像データセットのサイズに依存する。何れの場合でも、球体(複数)は、コーン軸が3次元画像データを離れるか又はクリッピング面を貫くまでのみ考慮され得る。オクルージョン値は、このコーンを通り抜ける方向(複数)に沿ってサンプルポイントに到達することになる環境マップからの光を変調するために使用される。環境マップからのこの光のフェッチングは、そのマップからの複数のサンプルを取得することを再び必要とするであろう。それに代わり、Klehm 等による上記文献に記載されているようなプレコンボリューション(事前畳み込みされた:pre-convolved)照明が使用される。LODオクルージョンボリュームと同様に、所与の開口角即ち所与のアパーチャを有するコーンを通って入る(fall in)ことになる光を事前統合(積分)する(pre-integrates)環境マップの付加的表示(representation)が使用される。従って、1つのサンプルだけが、当該コーンの方向に対応する位置においてパノラマから取得されればよい。サンプル値は、当該コーンによってカバーされる立体角について入射アンビエント光の量をもたらすよう、当該コーンのオクルージョン値によって変調される。全てのコーン(all cones)について当該処理(複数)を繰り返すことにより、及び、その結果(複数)の重み付き(加重)和を計算することによって(但し重み係数は各コーンの夫々の勾配に対する傾きに依存する)、半球体全体についてのアンビエント光、即ち変調された第1の入射光が計算される。とりわけ、重み係数は、夫々のコーンの勾配に対する傾きのコサインによって与えられることができる。
【0121】
(2)(1つの)所与の光源についての指向性光項は、共通の(common)ローカルイルミネーションモデル、例えばフォング(Phong)モデルと夫々のシャドウ値に基づいて計算される。シャドウ値は、6つのコーン((1)参照)について計算されたオクルージョン値(複数)を再利用することによって近似される。従って、(1つの)光源についてのシャドウ値は、コーンオクルージョン値(複数)の重み付き(加重)和であり、重みは、光方向とコーン軸の間の角度並びにコーン開口角に依存する。このシャドウ値は、ローカルイルミネーションモデルの結果を変調するために使用される。このプロセスはすべての光源について繰り返される。
【0122】
DVR装置及び方法は、更新速度即ち達成可能なフレームレートを増大するために、グローバルイルミネーションの代わりにアンビエントオクルージョンを使用することが好ましい。
【0123】
上記の実施形態(複数)では画像データセットは医用画像データセットであるが、他の実施形態では、画像データセットは、材料科学、流れ可視化等の分野において使用される画像データセットのような他の種類のデータセットでもあり得る。
【0124】
上記の実施形態(複数)では、不透明度とカラーをボクセルに割り当てるために伝達関数を使用したが、他の実施形態(複数)では、不透明度とカラーは伝達関数を使用することなく提供され得る。例えば、ボクセル又は他のタイプの画像要素は既に不透明度及びカラーを含むことがあり得るが、一次レイに関する不透明度及びカラーは、例えば、画像要素の不透明度及びカラーに基づく補間によって決定される。
【0125】
上記の実施形態(複数)では、各一次レイは、夫々の一次レイに沿った不透明度(複数)に基づいて、とりわけ累積不透明度(複数)に基づいて、複数のセグメントへ細分化されるが、代替的に又は追加的に、この細分化は、夫々の一次レイに沿ったカラー(複数)に基づいて実行されることも可能である。例えば、典型的には赤、緑及び青成分についての3つの数値を含む、夫々の一次レイに沿った夫々の部位における夫々のカラーは、1つの数値へとマッピングされることができる。これは、例えば、3つの数値の平均を計算することによって又はY=0.2125×R+0.7145×G+0.0721×Bのような人間の色知覚の考慮を可能にする重み付き(加重)和を計算することによって達成可能である。ここで、Yは3つの数値がマッピングされるべき1つの数値であり、R、G及びBは、例えばCharles A. Poynton による文献 "Rehabilitation of gamma", Photonics West'98 Electronic Imaging, International Society for Optics and Photonics (1998)(該文献の内容は引照を以って本書に繰り込まれているものとする)に記載されているような、赤、緑及び青成分のついての3つの数値である。そして、セグメント境界(複数)の検出は、マッピングによって得られた、従って、夫々の一次レイに沿った夫々のカラー(複数)を表す数値(複数)に基づいて実行されることができる。カラー(複数)を表す得られた数値(複数)に数学関数が適用され、その結果は、とりわけ累積不透明に関して上述したように、セグメント境界(複数)を決定するために、閾値(複数)と比較されることができる。また、セグメント境界(複数)を決定するためにオリジナルの不透明度(複数)が使用されるべきであれば、この場合オリジナルの不透明度(複数)を表す得られた数値(複数)に数学関数が適用され、その結果は、とりわけ累積不透明に関して上述したように、セグメント境界(複数)を決定するために、閾値(複数)と比較されることができる。一実施形態では、数学関数は積分関数、即ち積分であるが、カラー(複数)又はオリジナル不透明度(複数)を表す値(複数)は夫々の一次レイに沿って加算され、夫々のセグメント境界は夫々の閾値を超える和によって規定(定義)される。極めて高速なDVR処理全体を提供する閾値(複数)は較正によって決定可能であり、較正処理中に、閾値(複数)は、DVR処理の速度が増大されるように、とりわけ最大化されるように、決定される。
【0126】
数学関数は、不透明度、カラー又は累積不透明度の導関数(微分:derivative)のような他の関数でもあり得る。導関数(微分)は、典型的には組織境界に対応する強い変化を検出するためにとりわけ有用であり、セグメント境界(複数)はこれらの強い変化の位置に配置されることができる。従って、セグメント境界(複数)は導関数を閾値とすること(thresholding)によって決定可能であり、導関数は、夫々のパラメータ(カラー、不透明度又は累積不透明)が夫々の一次レイに沿ってどの程度変化したかについて規定(定義)する。導関数は、一次レイに沿った引き続いて生じる(subsequent)値の間の差に基づいて決定可能である。
【0127】
上記の一実施形態は、特定のバージョンのアンビエントオクルージョン(ボクセルコーントレーシング)に基づくセグメント照明値及び同様にボクセルコーントレーシングに基づく指向性(直接)光(平行光及びポイント光)の近似を含むが、セグメント照明値は、他の方法で決定されることも可能である。例えば、所与の位置についての光及びシャドウイングの計算のための如何なる方法もその代わりに使用可能であろう。代替的方法は何れも計算数の減少から利点を得られるであろう。一例として、M. Hadwiger による上記文献に記載された確立されたディープシャドウマップ(Deep Shadow Maps)法が使用可能である。レイに沿って各ポイントについてシャドウマップをサンプリングする代わりに、セグメント当たり一回サンプリングすることだけが必要となるであろうし、それによって、レンダリングは高速化されるであろう。
【0128】
セグメント当たり1つの照明値を計算することだけが必要であることについて説明したが、セグメント当たり1つより多くの照明値が計算されることも可能であり、この場合、それにも拘らず、照明値(複数)が決定されるのは、夫々の一次レイに沿った全てのサンプリング位置についてではない、即ち、カラー(複数)及び不透明度(複数)が割り当てられたすべての位置についてではない。例えば、(1つの)夫々のセグメント内のサンプリング位置(複数)の50パーセント未満について、更に好ましくは30パーセント未満について、一層更に好ましくは20パーセント未満について、照明値即ちセグメント照明値が決定される。代替的に、セグメント当たり一定数の照明値が使用可能であろうが、これは、照明値計算の回数を一層より効率的に制限することを可能にするであろう。従って、1つの照明値決定位置を規定(定義)する代わりに、本方法の正確性を大きくするために、1つのセグメントにおいて複数の照明値決定位置を使用することが可能であろうが、それにも拘らず、2次元画像の計算のために必要な計算量の減少は顕著であろう。例えば、(1つの)夫々のセグメントの各四半分内において複数の照明値決定位置を規定(定義)することができるであろう。複数の照明値決定位置について、複数の照明値が、予め決定された照明値計算規則に従って計算されることができる。これらは、(例えばその平均を計算することによって)1つのセグメント照明値へと結合されること又は、各四半分について1つのセグメント照明値が決定される場合、専ら当該四半分について使用されることが可能であろう。また、セグメント照明値(複数)は、照明値決定位置(複数)の間で補間されることが可能であろう。そのようにして、一次レイについて各サンプルにつき1つの照明値を近似することができるであろう。
【0129】
上記の一実施形態では、セグメント照明値とセグメントカラーを乗算することを含む投影規則が説明されているが、他の投影規則も使用可能であろう。例えば、セグメント照明値は、夫々の一次レイに沿ったかつ夫々のセグメント内の1つの、幾つかの又は全てのカラーと乗算されることが可能であろうが、結果として得られる積(複数)は加算されることができる。従って、この代替的具現化例では、セグメント照明値は、例えば、夫々のセグメント内の全てのサンプルについて再利用される。更なる投影規則に従って、セグメント照明値(複数)は、(1つの)夫々のサンプル位置について、従って(1つの)夫々のカラーについて、(1つの)夫々の補間照明値が決定されるよう、セグメント照明位置(複数)の間で補間され、(1つの)夫々のカラーは一次レイに沿った(1つの)夫々の位置において即ち(1つの)夫々のサンプリング位置において(1つの)夫々の補間照明値と乗算され、結果として生じた積(複数)は加算される(summed up)。一般的に、「カラー(複数)及びセグメント照明値(複数)を一次レイ(複数)に沿ってピクセル(複数)へ投影すること」という記載は、夫々の一次レイについて(1つの)夫々のピクセル値が決定されるよう、(1つの)夫々の一次レイに沿ってカラー(複数)とセグメント照明値(複数)を組み合わせる処理を指すところ、この組み合わせることは、上記の補間のようなカラー及びセグメント照明値(複数)の事前処理を、及び、ピクセル値(複数)の事後処理も含むことができる。
【0130】
1つのピクセルについて1つの一次レイがトレーシングされること、又はエイリアシング(aliasing)アーチファクトを減少するために1つのピクセルについて複数の一次レイがトレーシングされることが可能である。後者の場合、説明した方法は、対応するピクセルの好ましくは中心にあるただ1つの位置について一回実行される代わりに、対応するピクセルのエリア内の限定された数の位置について複数回実行される。
【0131】
上記の実施形態(複数)の他の変形形態(複数)は、図面、詳細な説明及び添付の(特許)請求の範囲の検討により、本願に係る発明を実施する当業者によって、理解されかつ実現されることができる。
【0132】
(特許)請求の範囲において、用語「含む(comprising)」は他の要素又はステップを除外せず、不定冠詞“a”又は“an”は複数を除外しない。
【0133】
単一のユニット又は装置は、(特許)請求の範囲に記載された複数の(幾つかの)要素(items)の機能を奏し得る。何らかの措置(手段)(複数)が互いに異なる従属請求項に記載されているという事実だけでは、これらの措置(手段)の組み合わせが有利に使用できないということを意味しない。
【0134】
2次元画像計算機によって実行される、一次レイ(複数)について不透明度(複数)及びカラー(複数)を決定すること、一次レイ(複数)を複数のセグメントへ細分化すること、セグメント照明値(複数)を計算すること、カラー(複数)及びセグメント照明値(複数)を投影すること等のような処理(ないしステップ:procedures)は、他の任意の数のユニット又は装置によって実行されることも可能である。これらの処理及び/又はDVR方法に従うDVR装置の制御は、コンピュータプログラムのプログラムコード手段及び/又は専用ハードウェアとして実現(具現化)されることができる。
【0135】
コンピュータプログラムは、他のハードウェアと一緒に又はその部分として提供される、光学記録媒体又は固体(solid-state)媒体のような適切な媒体に記憶/配信され得るが、インターネット又は他の有線又は無線通信システムを介するもののような、他の形態でも配信され得る。
【0136】
(特許)請求の範囲における図面参照符号はすべて保護範囲を限定するものと理解されるべきではない。
【0137】
本発明は、3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置に関する。3次元画像データセットを通って進み、3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、カラー(複数)及び不透明度(複数)が一次レイに沿って提供される。各一次レイは、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて複数のセグメントへ細分化され、各セグメントについて、(1つの)セグメント照明値が予め決定された照明値計算規則に従って計算される。カラー(複数)及びセグメント照明値(複数)は、最終的に、予め決定された投影規則に基づいて一次レイ(複数)に沿ってピクセル(複数)へ投影される。
【0138】
【手続補正書】
【提出日】2023-05-22
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
本発明の第1の視点において、3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置が提供される。
前記ダイレクトボリュームレンダリング装置は、
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・一次レイに沿ったカラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいてピクセルへ投影すること
によって、ユーザに対して示されるべき2次元画像を計算するよう構成された2次元画像計算機を含む(形態1)。
なお、ボリュームレンダリング(volume rendering)とは、3次元的な広がりのあるデータを直接2次元画面に表示することである。
本発明の第2の視点において、3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング方法が提供される。
前記ダイレクトボリュームレンダリング方法は、以下のステップ:
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った前記不透明度(複数)及び/又は前記カラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・前記一次レイに沿った前記カラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいて前記ピクセル(複数)へ投影すること
を含むこと
を特徴とする(形態14)。
本発明の第3の視点において、3次元画像データセットをボリュームレンダリングするためのコンピュータプログラムが提供される。
前記コンピュータプログラムは、前記コンピュータプログラムが前記ダイレクトボリュームレンダリング装置を制御するコンピュータで実行されるとき、本発明のダイレクトボリュームレンダリング装置に本発明のダイレクトボリュームレンダリング方法のステップ(複数)を実行させるプログラムコード手段を含むこと
を特徴とする(形態15)。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
ここに本発明の好ましい形態を示す。
(形態1)上記本発明の第1の視点参照。
(形態2)上記形態1に記載のダイレクトボリュームレンダリング装置において、
前記3次元画像データセットは複数の画像要素を含むこと、
前記2次元画像計算機は、
・前記3次元画像データセットの各画像要素に(1つの)カラー及び(1つの)不透明度を割り当てること、及び、
・各一次レイについて、一次レイによって通過される画像要素(複数)に割り当てられるカラー(複数)及び不透明度(複数)に基づいて、一次レイに沿ったカラー(複数)及び不透明度(複数)を計算すること
によって、各一次レイについて、夫々の一次レイに沿ったカラー(複数)及び不透明度(複数)を提供するよう、構成されることが好ましい。
(形態3)上記形態1又は2に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、セグメント境界(複数)を規定することによって、各一次レイを複数のセグメントへ細分化すること、
セグメント境界は、不透明度の及び/又はカラーの関数が予め定められた閾値を超える一次レイに沿った位置によって規定されることが好ましい。
(形態4)上記形態3に記載のダイレクトボリュームレンダリング装置において、
前記不透明度の関数は、不透明度及び/又はカラーに直接適用される及び/又は累積不透明度に適用される、恒等関数、線形関数、積分型関数及び微分型関数からなる群から選択される関数であることが好ましい。
(形態5)上記形態3又は4に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は幾つかの閾値を提供するよう構成されること、
セグメント境界は、不透明度の及び/又はカラーの関数が提供された前記幾つかの閾値の予め定められた閾値を超える一次レイに沿った位置によって規定されることが好ましい。
(形態6)上記形態5に記載のダイレクトボリュームレンダリング装置において、
隣り合う提供された閾値の間の差は一定であることが好ましい。
(形態7)上記形態5又は6に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、予め定められた線形閾値関数又は指数閾値関数に従って前記幾つかの閾値を提供するよう、構成されることが好ましい。
(形態8)上記形態1~7の何れかに記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、各セグメントについて、
・夫々のセグメント内において照明値決定位置を規定すること、
・夫々の照明値決定位置について、予め決定された照明値計算規則に従って夫々のセグメント照明値を計算すること
によってセグメント照明値を計算するよう、構成されることが好ましい。
(形態9)上記形態8に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、一次レイがピクセル位置からボリュームへトレーシングされる各セグメントの端部に配置される夫々のセグメントの四半分内に照明値決定位置があるように、夫々のセグメント内において照明値決定位置を規定するよう、構成されることが好ましい。
(形態10)上記形態8又は9に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)アンビエント照明値を計算すること及びb)少なくとも1つの指向性照明値を計算することの少なくとも1つを含むことが好ましい。
(形態11)上記形態2を引用する形態10に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)第1の入射光の方向と強度を規定する環境マップを提供し、該第1の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによってアンビエント照明値を計算すること、及び、b)仮想光源からの第2の入射光の光強度を表す、照明値決定位置についての指向性照明情報を提供し、該第2の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによって少なくとも1つの指向性照明値を計算すること、を含むことが好ましい。
(形態12)上記形態11に記載のダイレクトボリュームレンダリング装置において、
前記アンビエント照明値は、
・照明値決定位置について半球体内において幾つかのコーンを規定すること、但し、該半球体は該照明値決定位置において画像要素に割り当てられたカラー及び/又は不透明度の勾配によって規定され、該半球体は該勾配の方向へ指向し、該半球体の端面は照明値決定位置と交差しかつ該勾配に対し直角をなし、該コーンの頂点は照明値決定位置に位置付けられること、
・各コーンについて、夫々のコーンの軸に中心を置いた複数の球体を規定すること、但し、該球体の半径は前記頂点への距離が大きくなる程より大きくなること、
・コーン全体について(1つの)オクルージョン値を決定するために、各球体についてオクルージョン値を決定し、夫々のコーンの全ての球体について決定されたオクルージョン値を組み合わせること、
・各コーンについて、夫々のコーンについて決定されたオクルージョン値と環境マップによって規定された夫々のコーンを通って入射する光の光強度に基づいて、修正光強度を決定すること、
・夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された前記修正光強度(複数)を組み合わせること
によって計算されることが好ましい。
(形態13)上記形態1~12に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、更に、各セグメントについて、夫々のセグメントに沿ったカラー及び不透明度に基づいて(1つの)セグメントカラーを計算し、及び、セグメントカラー及びセグメント照明値を投影することによって、一次レイに沿ったカラー(複数)及びセグメント照明値(複数)をピクセルへ投影するよう、構成されることが好ましい。
(形態14)上記本発明の第2の視点参照。
(形態15)上記本発明の第3の視点参照。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0138
【補正方法】変更
【補正の内容】
【0138】
ここに本発明の可能な態様を付記する。
[付記1]3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング装置。
前記ダイレクトボリュームレンダリング装置は、
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った不透明度(複数)及び/又はカラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・一次レイに沿ったカラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいてピクセルへ投影すること
によって、ユーザに対して示されるべき2次元画像を計算するよう構成された2次元画像計算機
を含む。
[付記2]上記の、とりわけ付記1に記載のダイレクトボリュームレンダリング装置において、
前記3次元画像データセットは複数の画像要素を含む;
前記2次元画像計算機は、
・前記3次元画像データセットの各画像要素に(1つの)カラー及び(1つの)不透明度を割り当てること、及び、
・各一次レイについて、一次レイによって通過される画像要素(複数)に割り当てられるカラー(複数)及び不透明度(複数)に基づいて、一次レイに沿ったカラー(複数)及び不透明度(複数)を計算すること
によって、各一次レイについて、夫々の一次レイに沿ったカラー(複数)及び不透明度(複数)を提供するよう、構成される。
[付記3]上記の、とりわけ付記1又は2に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、セグメント境界(複数)を規定することによって、各一次レイを複数のセグメントへ細分化する;
セグメント境界は、不透明度の及び/又はカラーの関数が予め定められた閾値を超える一次レイに沿った位置によって規定される。
[付記4]上記の、とりわけ付記3に記載のダイレクトボリュームレンダリング装置において、
前記不透明度の関数は、不透明度及び/又はカラーに直接適用される及び/又は累積不透明度に適用される、恒等関数、線形関数、積分型関数及び微分型関数からなる群から選択される関数である。
[付記5]上記の、とりわけ付記3又は4に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は幾つかの閾値を提供するよう構成される;
セグメント境界は、不透明度の及び/又はカラーの関数が提供された前記幾つかの閾値の予め定められた閾値を超える一次レイに沿った位置によって規定される。
[付記6]上記の、とりわけ付記5に記載のダイレクトボリュームレンダリング装置において、
隣り合う提供された閾値の間の差は一定である。
[付記7]上記の、とりわけ付記5又は6に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、予め定められた線形閾値関数又は指数閾値関数に従って前記幾つかの閾値を提供するよう、構成される。
[付記8]上記の、とりわけ付記1~7の何れかに記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、各セグメントについて、
・夫々のセグメント内において照明値決定位置を規定すること、
・夫々の照明値決定位置について、予め決定された照明値計算規則に従って夫々のセグメント照明値を計算すること
によってセグメント照明値を計算するよう、構成される。
[付記9]上記の、とりわけ付記8に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、一次レイがピクセル位置からボリュームへトレーシングされる各セグメントの端部に配置される夫々のセグメントの四半分内に照明値決定位置があるように、夫々のセグメント内において照明値決定位置を規定するよう、構成される。
[付記10]上記の、とりわけ付記8又は9に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)アンビエント照明値を計算すること及びb)少なくとも1つの指向性照明値を計算することの少なくとも1つを含む。
[付記11]上記の、とりわけ付記2を引用する付記10に記載のダイレクトボリュームレンダリング装置において、
前記予め決定された照明値計算規則は、a)第1の入射光の方向と強度を規定する環境マップを提供し、該第1の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによってアンビエント照明値を計算すること、及び、b)仮想光源からの第2の入射光の光強度を表す、照明値決定位置についての指向性照明情報を提供し、該第2の入射光の強度を画像要素に割り当てられた不透明度に基づいて修正することによって少なくとも1つの指向性照明値を計算すること、を含む。
[付記12]上記の、とりわけ付記11に記載のダイレクトボリュームレンダリング装置において、
前記アンビエント照明値は、
・照明値決定位置について半球体内において幾つかのコーンを規定すること、但し、該半球体は該照明値決定位置において画像要素に割り当てられたカラー及び/又は不透明度の勾配によって規定され、該半球体は該勾配の方向へ指向し、該半球体の端面は照明値決定位置と交差しかつ該勾配に対し直角をなし、該コーンの頂点は照明値決定位置に位置付けられること、
・各コーンについて、夫々のコーンの軸に中心を置いた複数の球体を規定すること、但し、該球体の半径は前記頂点への距離が大きくなる程より大きくなること、
・コーン全体について(1つの)オクルージョン値を決定するために、各球体についてオクルージョン値を決定し、夫々のコーンの全ての球体について決定されたオクルージョン値を組み合わせること、
・各コーンについて、夫々のコーンについて決定されたオクルージョン値と環境マップによって規定された夫々のコーンを通って入射する光の光強度に基づいて、修正光強度を決定すること、
・夫々の照明値決定位置について(1つの)アンビエント照明値を決定するために、夫々の照明値決定位置のコーン(複数)について決定された前記修正光強度(複数)を組み合わせること
によって計算される。
[付記13]上記の、とりわけ付記1~12に記載のダイレクトボリュームレンダリング装置において、
前記2次元画像計算機は、更に、各セグメントについて、夫々のセグメントに沿ったカラー及び不透明度に基づいて(1つの)セグメントカラーを計算し、及び、セグメントカラー及びセグメント照明値を投影することによって、一次レイに沿ったカラー(複数)及びセグメント照明値(複数)をピクセルへ投影するよう、構成される。
[付記14]3次元画像データセットをボリュームレンダリングするためのダイレクトボリュームレンダリング方法。
前記ダイレクトボリュームレンダリング方法は、以下のステップ:
・3次元画像データセットを通って進み、前記3次元画像データセットが投影されるべき2次元画像面における2次元画像の夫々のピクセルに当射する、複数の一次レイの各一次レイについて、一次レイに沿ったカラー(複数)及び不透明度(複数)を提供すること、
・各一次レイを、夫々の一次レイに沿った前記不透明度(複数)及び/又は前記カラー(複数)に基づいて複数のセグメントへ細分化すること、
・各セグメントについて、予め決定された照明値計算規則に従って(1つの)セグメント照明値を計算すること、
・前記一次レイに沿った前記カラー(複数)及びセグメント照明値(複数)を予め決定された投影規則に基づいて前記ピクセル(複数)へ投影すること
を含む。
[付記15]3次元画像データセットをボリュームレンダリングするためのコンピュータプログラム。
前記コンピュータプログラムは、前記コンピュータプログラムが前記ダイレクトボリュームレンダリング装置を制御するコンピュータで実行されるとき、上記の、とりわけ付記1~13の何れかに記載のダイレクトボリュームレンダリング装置に付記14に記載のダイレクトボリュームレンダリング方法のステップ(複数)を実行させるプログラムコード手段を含む。
【国際調査報告】