(57)【要約】【目的】本発明は、複数の属性をリアルタイムで同時レンダリングし、それによりそれらの属性の合成画像を形成するための視覚化技法に関するものである。【構成】複数の属性から第１の属性および第２の属性を選定するステップと、第１の属性および第２の属性は各々それ自身の頂点を有しており、第１および第２の属性の少なくとも１つを用いて法線マップを作成するステップと、法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するステップと、接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから拡散ライティング成分を計算するステップと、拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つと環境ライティング成分を結合するステップとを含む。【選択図】        図１
2007500901.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトの１つ以上の特徴を映像化するための方法であって、オブジェクトは複数の属性を備えており、方法は、
複数の属性から第１の属性および第２の属性を選定するステップと、第１の属性および第２の属性は各々それ自身の頂点を有しており、
第１および第２の属性の少なくとも１つを用いて法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから拡散ライティング成分を計算するステップと、
その自然環境ではほとんど区別できないオブジェクトの選択特徴を表現している画像を形成するために拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つと環境ライティング成分を結合するステップとを含む、複数属性のリアルタイム同時レンダリング方法。
【請求項２】
第１の属性および第２の属性の少なくとも一方は２つ以上の属性の組合せよりなる、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項３】
２つ以上の属性の組合せは混成属性を形成する、請求項２の、複数属性のリアルタイム同時レンダリング方法。
【請求項４】
第１の属性は、振幅、周波数、位相、力、センブランス（semblance）、コヒーレンシー（coherency）、傾斜、方位角、勾配、フルードファクタ（fluid factor）、音響インピーダンス、速度、圧力、孔隙率、透水性、層序学および岩石学を含む２つ以上の属性のいずれかの組合せよりなり、そして第２の属性は、振幅、周波数、位相、力、センブランス（semblance）、コヒーレンシー（coherency）、傾斜、方位角、勾配、フルードファクタ（fluid factor）、音響インピーダンス、速度、圧力、孔隙率、透水性、層序学および岩石学のうちの少なくとも１つの属性よりなる、請求項２の、複数属性のリアルタイム同時レンダリング方法。
【請求項５】
環境ライティング成分および拡散ライティング成分は第１の属性と結合され、第２の属性は法線マップを作成するために使用される、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項６】
環境ライティング成分および拡散ライティング成分は第１の属性と結合され、第１の属性は法線マップを作成するために使用される、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項７】
第３の属性を選定するステップと、第３の属性はそれ自身の頂点を有しており、
第１、第２および第３の属性のうちの少なくとも１つを用いて別の法線マップを作成するステップと、別の法線マップはそれ自身の頂点を有しており、
別の法線マップ頂点および別の法線マップを作成するために使用された第１、第２および第３の属性のうちの少なくとも１つの頂点を別の接空間法線マップを表現する別の行列に変換するステップと、
別の接空間法線マップおよび別の法線マップを作成するために使用された第１、第２および第３の属性のうちの少なくとも１つから別の拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している別の画像を形成するために別の拡散ライティング成分ならびに第１、第２および第３の属性のうちの少なくとも１つと環境ライティング成分を結合するステップとをさらに含む、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項８】
第３の属性は、環境ライティング成分、拡散ライティング成分および、第１および第２の属性の少なくとも１つの組合せよりなる、請求項７の、複数属性のリアルタイム同時レンダリング方法。
【請求項９】
別の法線マップは第１および第２の属性の少なくとも１つを用いて生成され、第３の属性は別の画像を形成するために環境ライティング成分および別の拡散ライティング成分と結合される、請求項８の、複数属性のリアルタイム同時レンダリング方法。
【請求項１０】
別の法線マップは第３の属性を用いて生成され、第３の属性は別の画像を形成するために環境ライティング成分および別の拡散ライティング成分と結合される、請求項８の、複数属性のリアルタイム同時レンダリング方法。
【請求項１１】
画像の少なくとも一部をユーザに表示するステップをさらに含む、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１２】
表示される画像は、プローブを定義する複数の平面表面の１つの少なくとも一部で表示される、請求項１１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１３】
表示される画像は、プローブを定義する複数の平面表面の内部で少なくとも部分的に表示される、請求項１１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１４】
第１の属性および第２の属性は各々、複数のデータ値よりなり空間座標と関係づけられており、各データ値は３次元空間座標を有する、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１５】
法線マップは、各データ値についての垂直成分および水平成分のクロス積から導出される複数の摂動させた法線ベクトルよりなる、請求項１４の、複数属性のリアルタイム同時レンダリング方法。
【請求項１６】
法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するために頂点プログラムが使用される、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１７】
拡散ライティング成分および環境ライティング成分は各々、レジスタコンバイナを用いて計算される、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項１８】
環境ライティング成分、拡散ライティング成分および、第１および第２の属性の少なくとも１つは、画像を形成するためにレジスタコンバイナを用いて結合される、請求項１７の、複数属性のリアルタイム同時レンダリング方法。
【請求項１９】
第１の属性および第２の属性は医学データよりなる、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項２０】
第１の属性および第２の属性は地震データよりなる、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項２１】
環境ライティング成分は所定の定数である、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項２２】
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから鏡面反射ライティング成分を計算するステップと、
画像を形成するために鏡面反射ライティング成分、環境ライティング成分、拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つを結合するステップとをさらに含む、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項２３】
仮想光源を画像に適用するステップと、
画像の一部をユーザに表示するステップと、
仮想光源および表示された画像のうちの少なくとも一方をユーザに表示された画像の視線に対して会話的に再配置するステップと、
請求項１における最後の３ステップを繰り返すステップとをさらに含む、請求項１の、複数属性のリアルタイム同時レンダリング方法。
【請求項２４】
その自然環境ではほとんど区別できないオブジェクトの選択特徴を映像化するための方法であって、オブジェクトは複数の属性を備えており、方法は、
複数の属性からある属性を選定するステップと、属性はそれ自身の頂点を有しており、
属性を用いて法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および属性の頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび属性から拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している画像を形成するために環境ライティング成分を拡散ライティング成分および属性と結合するステップとを含む、複数属性のリアルタイム同時レンダリング方法。
【請求項２５】
オブジェクトの１つ以上の特徴を映像化するための方法であって、オブジェクトは複数の属性を備えており、
複数の属性から第１の属性および第２の属性を選定するステップと、第１の属性および第２の属性は各々それ自身の頂点を有しており、
第１および第２の属性の少なくとも１つを用いて法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している画像を形成するために拡散ライティング成分ならびに第１および第２の属性の少なくとも１つを環境ライティング成分と結合するステップと、
画像の少なくとも一部をユーザに表示するステップとを含み、表示された画像の部分は第１の属性の少なくとも一部および第２の属性の一部を備えている、複数属性のリアルタイム同時レンダリング方法。
【請求項２６】
オブジェクトの選択特徴はその自然環境ではほとんど区別できない、請求項２５の、複数属性のリアルタイム同時レンダリング方法。
【請求項２７】
機械によって可読のプログラム記憶装置を備えるシステムであって、記憶装置はオブジェクトの１つ以上の特徴を映像化するために機械によって実行可能な命令のプログラムを具体化しており、オブジェクトは複数の属性を備えており、命令は、
複数の属性から第１の属性および第２の属性を選定するステップと、第１の属性および第２の属性は各々それ自身の頂点を有しており、
第１および第２の属性の少なくとも１つから導出される法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから拡散ライティング成分を計算するステップと、
その自然環境ではほとんど区別できないオブジェクトの選択特徴を表現している画像を形成するために拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つと環境ライティング成分を結合するステップとを含む、複数属性のリアルタイム同時レンダリングシステム。
【請求項２８】
第１の属性および第２の属性の少なくとも一方は２つ以上の属性の組合せよりなる、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項２９】
２つ以上の属性の組合せは混成属性を形成する、請求項２８の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３０】
第１の属性は、振幅、周波数、位相、力、センブランス、コヒーレンシー、傾斜、方位角、勾配、フルードファクタ、音響インピーダンス、速度、圧力、孔隙率、透水性、層序学および岩石学を含む２つ以上の属性のいずれかの組合せよりなり、そして第２の属性は、振幅、周波数、位相、力、センブランス、コヒーレンシー、傾斜、方位角、勾配、フルードファクタ、音響インピーダンス、速度、圧力、孔隙率、透水性、層序学および岩石学のうちの少なくとも１つの属性よりなる、請求項２８の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３１】
環境ライティング成分および拡散ライティング成分は第１の属性と結合され、第２の属性は法線マップを作成するために使用される、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３２】
環境ライティング成分および拡散ライティング成分は第１の属性と結合され、第１の属性は法線マップを作成するために使用される、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３３】
第３の属性を選定するステップと、第３の属性はそれ自身の頂点を有しており、
第１、第２および第３の属性のうちの少なくとも１つから導出される別の法線マップを作成するステップと、別の法線マップはそれ自身の頂点を有しており、
別の法線マップ頂点および別の法線マップを作成するために使用された第１、第２および第３の属性のうちの少なくとも１つの頂点を別の接空間法線マップを表現する別の行列に変換するステップと、
別の接空間法線マップおよび別の法線マップを作成するために使用された第１、第２および第３の属性のうちの少なくとも１つから別の拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している別の画像を形成するために別の拡散ライティング成分ならびに第１、第２および第３の属性のうちの少なくとも１つと環境ライティング成分を結合するステップとをさらに含む、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３４】
第３の属性は、環境ライティング成分、拡散ライティング成分および、第１および第２の属性の少なくとも１つの組合せよりなる、請求項３３の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３５】
別の法線マップは第１および第２の属性の少なくとも１つを用いて生成され、第３の属性は別の画像を形成するために環境ライティング成分および別の拡散ライティング成分と結合される、請求項３４の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３６】
別の法線マップは第３の属性を用いて生成され、第３の属性は別の画像を形成するために環境ライティング成分および別の拡散ライティング成分と結合される、請求項３４の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３７】
画像の少なくとも一部をモニタでユーザに表示するステップをさらに含む、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３８】
第１の属性および第２の属性は各々、複数のデータ値および対応する空間座標よりなり、各データ値は３次元空間座標を有する、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項３９】
法線マップは、各データ値についての垂直成分および水平成分のクロス積から導出される複数の摂動させた法線ベクトルよりなる、請求項３８の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４０】
第１の属性および第２の属性は医学データよりなる、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４１】
第１の属性および第２の属性は地震データよりなる、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４２】
環境ライティング成分は所定の定数である、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４３】
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから鏡面反射ライティング成分を計算するステップと、
画像を形成するために鏡面反射ライティング成分、環境ライティング成分、拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つを結合するステップとをさらに含む、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４４】
仮想光源を画像に適用するステップと、
画像の一部をユーザに表示するステップと、
仮想光源および表示された画像のうちの少なくとも一方をユーザに表示された画像の視線に対して会話的に再配置するステップと、
請求項２７における最後の３ステップを繰り返すステップとをさらに含む、請求項２７の、複数属性のリアルタイム同時レンダリングシステム。
【請求項４５】
機械によって可読のプログラム記憶装置を備えるシステムであって、記憶装置はその自然環境ではほとんど区別できないオブジェクトの選択特徴を映像化するために機械によって実行可能な命令のプログラムを具体化しており、オブジェクトは複数の属性を備えており、命令は、
複数の属性からある属性を選定するステップと、属性はそれ自身の頂点を有しており、
属性から導出される法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および属性の頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび属性から拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している画像を形成するために環境ライティング成分を拡散ライティング成分および属性と結合するステップとを含む、
複数属性のリアルタイム同時レンダリングシステム。
【請求項４６】
機械によって可読のプログラム記憶装置を備えるシステムであって、記憶装置はオブジェクトの１つ以上の特徴を映像化するために機械によって実行可能な命令のプログラムを具体化しており、オブジェクトは複数の属性を備えており、命令は、
複数の属性から第１の属性および第２の属性を選定するステップと、第１の属性および第２の属性は各々それ自身の頂点を有しており、
第１および第２の属性のうちの少なくとも１つから導出される法線マップを作成するステップと、法線マップはそれ自身の頂点を有しており、
法線マップ頂点および法線マップを作成するために使用された第１および第２の属性の少なくとも１つの頂点を接空間法線マップを表現する行列に変換するステップと、
接空間法線マップおよび法線マップを作成するために使用された第１および第２の属性の少なくとも１つから拡散ライティング成分を計算するステップと、
オブジェクトの選択特徴を表現している画像を形成するために拡散ライティング成分ならびに第１および第２の属性のうちの少なくとも１つと環境ライティング成分を結合するステップと、
画像の少なくとも一部をユーザに表示するステップとを含み、表示された画像の部分は第１の属性の少なくとも一部および第２の属性の一部を備えている、
複数属性のリアルタイム同時レンダリングシステム。
【請求項４７】
オブジェクトの選択特徴を表現している画像を含む伝送媒体において具体化されたコンピュータデータ信号であって、オブジェクトは複数の属性を備えており、画像は複数の属性から選定された第１の属性および第２の属性を備えており、画像の少なくとも一部はユーザにとって可視であり、可視画像の部分は第１の属性の少なくとも一部および第２の属性の一部を備えているコンピュータ上で動作する、複数属性のリアルタイム同時レンダリングプログラム。
【請求項４８】
その自然環境ではほとんど区別できないオブジェクトの選択特徴を表現している画像を含む伝送媒体において具体化されたコンピュータデータ信号であって、オブジェクトは複数の属性を備えており、画像は複数の属性から選定された属性を備えており、画像の少なくとも一部はユーザにとって可視であるコンピュータ上で動作する、複数属性のリアルタイム同時レンダリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の属性をリアルタイムで同時レンダリングし、それによりそれらの属性の合成画像を形成するための視覚化技法に関する。合成画像は、ほとんど区別できないオブジェクトの特定の特徴を識別するという点で、視覚的に直観的に関するものである。
【背景技術】
【０００２】
応用科学において、種々の研究分野は、個々のデータセットが様々な物理的特性を表現する複数の属性を有し得る２次元（２Ｄ）または３次元（３Ｄ）のボリュームデータセットの分析を必要とする。時にデータ値とも呼ばれる属性は、定義された２次元または３次元空間内でのオブジェクトのある特定の物理的特性を表現する。データ値は、例えば、２５６の可能な値を含む８バイトデータワードであるかもしれない。属性の位置は、（ｘ，ｙ，データ値）または（ｘ，ｙ，ｚ，データ値）によって表現される。属性がある特定の位置の圧力を表現する場合、属性位置は（ｘ，ｙ，ｚ，圧力）として表現され得る。
【０００３】
医学分野において、コンピュータ化体軸断層撮影（ＣＡＴ）スキャナまたは磁気共鳴映像（ＭＲＩ）装置は、一般に座標および所定の属性を表現する、人間の身体のいずれかの特定の領域の映像または診断画像を生成するために使用される。通常、所定の位置内部の各属性は、別の属性とは分離して別に映像化されなければならない。例えば、所定の位置における温度を表現している１つの属性は一般に、同じ位置における圧力を表現している別の属性とは別個に映像化される。従って、それらの属性に基づくある特定の状態の診断は、所定の位置における１つの属性を表示できる能力によって限定される。
【０００４】
地球科学の分野において、地震探査は、地層の地下の地質を調査するために使用される。地下爆発が、地表面下を伝わり地震計によって検出される低周波音波に類似の地震波を引き起こす。地震計は、直接波および反射波両方の地震波の到達時間を記録する。爆発の時間および位置がわかっていれば、内部を通る波の伝達の時間が計算でき、内部における波の速度を測定するために使用され得る。類似の技法が沖合の石油およびガスの探査に使用され得る。沖合探査では、船が音源および水中ハイドロホンを牽引する。低周波（例えば５０Ｈｚ）の音波が、例えば、風船の破裂のように作動する空気式装置によって発生させられる。音は、海底下の岩層に反射して、ハイドロホンによって検知される。どちらの用途でも、断層やドームといった石油を閉じ込める表面下の堆積構造が反射波によってマップされる。
【０００５】
データは収集および処理されて３次元ボリュームデータセットを生成する。３次元ボリュームデータセットは、ｘ，ｙ，ｚ座標を有する「ボクセル」または体素から構成される。各ボクセルは、ある特定の位置における何らかの測定または計算された物理的特性と関係する数値的データ値（属性）を表現する。地質学データ値の例は、振幅、位相、周波数および外観(semblance)を含む。異なるデータ値は異なる３次元ボリュームデータセットに保存され、個々の３次元ボリュームデータセットは異なるデータ値を表現する。「事象」と呼ばれる特定の地質学的構造を分析するために、異なる３次元ボリュームデータセットからの情報は、その事象を分析するために別個に映像化されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、この分野では、相当の制限がないわけではないが、単一の表示において複数の３次元ボリュームデータセットを映像化するための特定の技法が開発されてきた。１例に、ジャック・リース（Jack Lees）による“コンストラクティング・フォールツ・フロム・シード・ピックス・バイ・ボクセル・トラッキング（Constructing Faults from Seed Picks by Voxel Tracking）”と題するザ・リーディング・エッジ（The Leading Edge）誌に発表された技法を含む。この技法は、２つの３次元ボリュームデータセットを単一の表示において結合し、それによって各々の元の２５６値の属性を２５６値全範囲のうちの１２８値に制限する。それ故、表示の解像度は著しく低減され、それによって特定の事象または特徴をデータの残部と区別できる能力を制限する。別の従来の方法は、一部のデータ値を他よりも透明にすることによって、２つの異なる属性を含む２つの３次元ボリュームデータセットの表示を合成する。この技法は、２つ以上の属性が結合される時には維持できなくなる。
【０００７】
同じ画像において２つの異なる３次元ボリュームデータセットを結合するために使用される別の技法は、マジック・アース・インコーポレーテッド（Magic Earth, Inc.）社に譲渡され参照によってここに採り入れられる米国特許出願第０９／９３６７８０号に例証されている。この出願は、第１および第２の属性データ値の各々を予め設定されたデータ値範囲または判定基準と比較することによって、第１の属性を表現する第１の３次元ボリュームデータセットと第２の属性を表現する第２の３次元ボリュームデータセットとを単一の拡張３次元ボリュームデータセットにおいて結合するための技法を記載している。判定基準が満たされた各データ値については、第１の選定されたデータ値が、拡張３次元ボリュームデータセットにおけるそれぞれのデータ値に対応する位置に挿入される。判定基準が満たされていない各データ値については、第２の選定されたデータ値が、拡張３次元ボリュームデータセットにおけるそれぞれのデータ値に対応する位置に挿入される。第１の選定されたデータ値は第１の属性と関連づけられ、第２の選定されたデータ値は第２の属性と関連づけられるとしてよい。結果として得られる画像は、元の第１の３次元ボリュームデータセットおよび第２の３次元ボリュームデータセットの組合せまたは混成よりなる拡張３次元ボリュームデータセットである。その結果、拡張３次元ボリュームデータセットを生成するために必要とされる余分な処理ステップは、解釈の遅延および性能の減速を生じる。さらに、この前処理技法は、別の地震属性を映像化するために１つの地震属性からのデータを損なう“ロッシー”効果によって損なわれる。従って、データ視覚化の著しい損失がある。
【０００８】
非科学用途では、ライティングおよび／またはシェーディング技法によって無生物オブジェクトの表面ディテール（テクスチャ）を定義するための技法が開発されている。例えば、映像またはコンピュータグラフィックス分野において、普通に使用される１技法は、テクスチャマッピングである。テクスチャは一般に、表面の隆起、しわ、溝または他の凹凸を指す。テクスチャ表面は、光が表面の凹凸と相互作用する仕方によって認識される。事実上、これらの凹凸は、オブジェクトの大きさおよび形態に比べて相対的に小さいけれども、オブジェクトの完全な幾何形状の一部である。従来のテクスチャマッピング技法は、テクスチャによって従来意味されたものを実現するために必要な表面ディテールを欠いていることが知られていた。すなわち、従来のテクスチャマッピング技法は、オブジェクトに多彩ではあるが平坦な外観を付与する。このために、テクスチャマッピングは、現在一般にバンプマッピングと呼ばれるものによりこの問題を克服するために増強された。
【０００９】
バンプマッピングは、“ア・プラクティス・アンド・ロバスト・バンプ・マッピング・テクニック・フォー・トゥデイズ・ジー・ピー・ユーズ（A Practical and Robust Bump Mapping Technique for Today's GPU's）”と題するマーク・キルガード（Mark Kilgard）によって書かれた論文（以下、Ｋｉｌｇａｒｄ）において解説されており、これは参照によってここに採り入れられる。この論文において、バンプマッピングは、「それ以外は滑らかな表面のパターン凹凸によって生じるライティング効果をシミュレートするためのテクスチャベースのレンダリング手法である」と記述されている（Ｋｉｌｇａｒｄ，ｐ．１）。Ｋｉｌｇａｒｄによれば、「バンプマッピングは、表面に対する真の幾何学的摂動としてパターンをモデル化する複雑さおよび費用を伴うことなく表面の不規則なライティング外観をシミュレートする」（Ｋｉｌｇａｒｄ，ｐ．１）。それにもかかわらず、１９７８年にジェームズ・ブリン（James Blinn）によって提起された本来のバンプマッピング技法に要した計算は、従来のハードウェアテクスチャマッピングに要したものよりも相当に高価である（Ｋｉｌｇａｒｄ，ｐ．２）。
【００１０】
バンプマッピングをハードウェアインプリメンテーションに適格な形態に定式化し直すために最近２０年にわたって行われてきた多くの試みを考慮して、Ｋｉｌｇａｒｄは新しいバンプマッピング技法を提起している。要約すれば、Ｋｉｌｇａｒｄはバンプマッピングを２つのステップに分割する。最初に、摂動させた表面法線を計算する。その後、摂動させた表面法線を用いてライティング計算を実行する。これらの２つのステップは、バンプマップされた表面の個々のすべての可視フラグメントにおいて実行されなければならない（Ｋｉｌｇａｒｄ）。
【００１１】
Ｋｉｌｇａｒｄの新しい技法は真の幾何学的摂動を表す表面凹凸（テクスチャ）をシミュレートするためには適するかもしれないが、ほとんど区別不可能であり真の幾何学的摂動を表していないオブジェクトの特定の特徴を識別するために類似のライティング効果の使用に取り組んでいない。
【課題を解決するための手段】
【００１２】
従って、本発明は、２次元または３次元オブジェクトを表現する複数属性の合成画像を向上させるためのシステムおよび方法を提供する。１実施形態において、第１の属性が、使用可能な属性源から選定され、オブジェクトの１つの特性を表現する。第２の属性が、同じ属性源から選定され、オブジェクトの別の特性を表現する。使用可能な属性源に応じて、付加的な属性を選定してもよい。
【００１３】
法線マップが第１の属性または第２の属性のどちらかからのボクセルを用いて生成される。法線マップは、第１または第２の属性（以下、「基本属性」）を表現するデータ値から導出され、平面表面の高さ、深さおよび幾何学の錯覚を付与するライティング効果を構成するために使用される。
【００１４】
より正確なライティング効果を得るために、基本属性の平面表面を制約する頂点および法線マップの対応する平面表面を制約する頂点に頂点プログラムが適用される。その結果、新しい座標空間が生成され、それにより、後にレジスタコンバイナによって使用される接空間と一般に呼ばれる行列を形成する。
【００１５】
レジスタコンバイナまたはテクスチャシェーダは、頂点プログラムが適用された後、法線マップについて環境ライティングおよび拡散ライティング効果（照明）を計算し、また第１および第２の属性を表現する強調された画像を形成するために結合される他の第１または第２の属性を計算するために使用される。このようにして、同時レンダリングされた属性の合成画像は表示され、それにより、それらの自然環境ではほとんど区別できない属性によって表現されるオブジェクトの特定の特徴を明らかにする。
【００１６】
別の実施形態において、オブジェクトの選択特徴が、仮想光源の鏡面反射および／または拡散成分を表すライティング係数を変更することによって会話的に強調される。このようにして、レジスタコンバイナは、合成画像が表示される際に、環境および拡散ライティング効果を変更し、オブジェクトの特定の特徴を強調するために再び適用される。
【００１７】
別の実施形態において、光源が会話的に再配置されるか、または合成画像が会話的に回転させられて、属性によって表現されるオブジェクトの選択特徴を明らかにする。画像が回転させられるか、または光源が再配置されると、第１の属性を表現する特定のボクセルが暗く陰影処理されるのに対し、第２の属性を表現する他のものは可視になり、逆もまた同様になる。従って、この実施形態は、それらの自然環境ではオブジェクトの残部から区別できないオブジェクトの選択特徴の画像を強調するために有益である。このようにして、頂点プログラムおよびレジスタコンバイナは再び適用され、画像は表示される。
【００１８】
別の実施形態において、ピクセル単位のライティング高度は会話的に制御される。ピクセル単位のライティング高度は、たいてい、ピクセル単位に基づき生み出されるライティング効果によって定義される隆起の高さまたはくぼみの深さとして言及される。ピクセル単位のライティング高度が変更されると、法線マップは再計算され、頂点プログラムおよびレジスタコンバイナが再び適用されて、画像が表示される。
【００１９】
さらに別の実施形態において、上述のようにしてオブジェクトの他の選択特徴を映像化するために１つ以上の異なる属性が選定される。従って、この実施形態では、新しい合成画像が表示される際に前述のステップおよび技法が再び適用される。
【００２０】
さらに別の実施形態において、合成画像は、異なる位置でオブジェクトの選択特徴を表示するために会話的に制御（移動／リサイズ）される。このようにして、属性がリサンプルされ、法線マップが再計算され、頂点プログラムおよびレジスタコンバイナが再び適用され、合成画像はその新しい位置に表示される。
【実施例】
【００２１】
本発明は現在好ましい実施形態に関連づけて説明するが、本発明をそれらの実施形態に限定するように意図されていないことは理解されるであろう。反対に、本発明の精神の範囲内に含まれる全部の代替、修正および等価物を包括することが意図されている。
【００２２】
本発明は、ハードウェア、ソフトウェアまたはそれらの組合せを用いて具体化することができ、コンピュータシステムまたは他の処理システムにおいて具体化され得る。以下の説明は、本発明を、プローブと呼ばれる指定の空間またはボリューム内部に含まれる種々の地震データ属性に適用する。各プローブは、ｘ，ｙ，ｚ，データ値によって表現されるボクセルデータよりなる。各データ値は、指定の位置（ｘ，ｙ，ｚ）における特定の地震データ属性と関係づけられている。従って、本発明は、マジック・アース・インコーポレーテッド社に譲渡され参照によってここに採り入れられる米国特許出願第０９／１１９，６３４号に記載の通り、プローブを表示し操作するために必要とされるハードウェアおよびソフトウェアシステム構成要素の１つ以上を使用することができる。プローブ要件のより完全な説明のために、第０９／１１９，６３４号出願に言及する。
【００２３】
プローブ要件に加えて、本発明は、リアルタイム性能を保証するために現在の高性能なグラフィックスおよびパーソナルコンピュータ商品ハードウェアを用いて具体化され得る。パーソナルコンピュータに利用可能なハードウェアの例は、ＮＶＩＤＩＡ（エヌビディア（登録商標））によって市販のＧｅＦｏｒｃｅ（ジーフォース（登録商標））のようなグラフィックスカードおよび、Ｉｎｔｅｌ（インテル（登録商標））またはＡＭＤ（エーエムディー（登録商標））が製造する２．４ＧＨｚ，ｘ８６命令セットコンピュータプロセッサを含む。
【００２４】
本発明を具体化するためのソフトウェアまたはプログラム構造の１実施形態が図１に示されている。プログラム構造１００の基礎にはオペレーティングシステム１０２がある。適格なオペレーティングシステムは、例えば、ＵＮＩＸ（ユニックス（登録商標））またはＬＩＮＵＸ（リナックス（登録商標））オペレーティングシステム、ＷｉｎｄｏｗｓＮＴ（ウィンドウズ・エヌティー（登録商標））、および当業において一般に知られている他のオペレーティングシステムを含み得る。
【００２５】
メニュー・インタフェースソフトウェア１０４がオペレーティングシステム１０２の上に位置する。メニュー・インタフェースソフトウェア１０４は、ユーザとの会話を助成するための種々のメニューおよびウインドウを提示し、ユーザ入力および命令を得るために使用される。メニュー・インタフェースソフトウェア１０４は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（マイクロソフト・ウィンドウズ（登録商標））、ＸＦｒｅｅ８６（エックスフリー８６（登録商標））、ＭＯＴＩＦ（モチーフ（登録商標））、および当業において一般に知られている他のメニュー・インタフェースソフトウェアを含み得る。
【００２６】
基本グラフィックスライブラリ１０６がメニュー・インタフェースソフトウェア１０４の上に位置する。基本グラフィックスライブラリ１０６は、３次元コンピュータグラフィックスのためのアプリケーションプログラミングインタフェース（ＡＰＩ）である。基本グラフィックスライブラリ１０６によって実行される機能は、例えば、ジオメトリおよびラスタプリミティブ、ＲＧＢＡまたはカラーインデックスモード、表示リストまたは即時モード、ビューイングおよびモデリング変換、ライティングおよびシェーディング、隠れ面消去、アルファブレンディング（半透明）、アンチエイリアシング、テクスチャマッピング、大気効果（フォグ、スモーク、ヘイズ）、フィードバックおよび選択、ステンシルプレーン、およびアキュムレーションバッファを含む。
【００２７】
特に有用な基本グラフィックスライブラリ１０６は、ＳＧＩ（シリコン・グラフィックス・インコーポレーテッド（登録商標））社によって市販のＯｐｅｎＧＬ（オープンジーエル（登録商標））である。ＯｐｅｎＧＬ（登録商標）ＡＰＩは、ハードウェア、ウインドウおよびオペレーティングシステムに依存しないマルチプラットフォームの業界標準である。ＯｐｅｎＧＬ（登録商標）は、Ｃ、Ｃ＋＋、ＦＯＲＴＲＡＮ、ＡｄａおよびＪａｖａプログラミング言語から呼出し可能であるように設計されている。ＯｐｅｎＧＬ（登録商標）は、基本グラフィックスライブラリ１０６のために上に列挙した機能の各々を実行する。ＯｐｅｎＧＬ（登録商標）における一部のコマンドは、描くべき幾何学オブジェクトを指定し、他のものはオブジェクトがどのように取り扱われるかを制御する。ＯｐｅｎＧＬ（登録商標）ステートの全部の要素は、テクスチャメモリおよびフレームバッファの内容でさえ、ＯｐｅｎＧＬ（登録商標）を用いてクライアントアプリケーションによって取得され得る。ＯｐｅｎＧＬ（登録商標）およびクライアントアプリケーションは、ＯｐｅｎＧＬ（登録商標）がネットワーク透過性であるので、同一または異なる機械上で動作することができる。ＯｐｅｎＧＬ（登録商標）は、ＯｐｅｎＧＬ（登録商標）プログラミングガイド（ＩＳＢＮ：０−２０１−６３２７４−８）およびＯｐｅｎＧＬ（登録商標）リファレンスマニュアル（ＩＳＢＮ：０−２０１−６３２７６−４）においてさらに詳述されており、これらの両方とも参照によってここに採り入れられる。
【００２８】
視覚シミュレーショングラフィックスライブラリ１０８が基本グラフィックスライブラリ１０６の上に位置する。視覚シミュレーショングラフィックスライブラリ１０８は、リアルタイム多重処理３次元視覚シミュレーショングラフィックスアプリケーションを作成するためのＡＰＩである。視覚シミュレーショングラフィックスライブラリ１０８は、ライティング、マテリアル、テクスチャおよび透明度といったグラフィックスライブラリ状態制御機能を一緒にバンドルする機能を提供する。これらの機能は、後にレンダリングされ得る表示リストの状態および作成を追跡する。
【００２９】
特に有用な視覚シミュレーショングラフィックスライブラリ１０８はＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（オープンジーエル・パフォーマ（登録商標））であり、これはＳＧＩ（登録商標）から入手可能である。ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（登録商標）は上述のＯｐｅｎＧＬ（登録商標）グラフィックスライブラリをサポートする。ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（登録商標）は、２つの主ライブラリ（ｌｉｂｐｆおよびｌｉｂｐｒ）および４つの関係するライブラリ（ｌｉｂｐｆｄｕ、ｌｉｂｐｆｄｂ、ｌｉｂｐｆｕｉおよびｌｉｂｐｆｕｔｉｌ）を含む。
【００３０】
ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（登録商標）の基本は、ＧｅｏＳｅｔｓに基づく高速レンダリング機能およびＧｅｏＳｔａｔｅｓを用いたグラフィックス状態制御を付与する低レベルライブラリである、パフォーマンスレンダリングライブラリｌｉｂｐｒである。ＧｅｏＳｅｔｓは、同じタイプのグラフィックスプリミティブ（例えば、三角形または四角形）を１つのデータオブジェクトにまとめるドローワブルジオメトリの集まりである。ＧｅｏＳｅｔはそれ自体いかなるジオメトリも含まず、データ配列およびインデックス配列をポイントするにすぎない。ＧｅｏＳｅｔにおける全部のプリミティブが同じタイプのものであり同じ属性を有するので、大部分のデータベースのレンダリングは最大ハードウェア速度で実行される。ＧｅｏＳｔａｔｅｓは、ＧｅｏＳｅｔｓのためのグラフィックス状態定義（例えばテクスチャまたはマテリアル）を付与する。
【００３１】
ｌｉｂｐｒの上に層をなすのは、多重処理ハードウェアの使用を最適化する高性能マルチプロセスデータベースレンダリングシステムを提供するリアルタイム視覚シミュレーション環境、ｌｉｂｐｆである。データベースユーティリティライブラリｌｉｂｐｆｄｕは、３次元オブジェクトの幾何学属性および外観属性の両方を定義するための機能を提供し、ステートおよびマテリアルを共有し、独立したポリゴン入力から三角形ストリップを生成する。データベースライブラリｌｉｂｐｆｄｂは、データベースファイルを多くの業界標準データベースフォーマットでインポートするためにｌｉｂｐｆｄｕ、ｌｉｂｐｆおよびｌｉｂｐｒの機能を使用する。ｌｉｂｐｆｕｉは、ユーザインタフェースのための操作コンポーネントを書くためのビルディングブロックを提供するユーザインタフェースライブラリである（ＣおよびＣ＋＋プログラミング言語）。最後に、ｌｉｂｐｆｕｔｉｌは、タスクをインプリメントするためのルーチンおよびグラフィカルユーザインタフェース（ＧＵＩ）ツールを提供するユーティリティライブラリである。
【００３２】
ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（登録商標）およびＯｐｅｎＧＬ（登録商標）ＡＰＩを使用するアプリケーションプログラムは一般に、リアルタイム３次元視覚シミュレーションを作成する際に以下のステップを実行する。
【００３３】
１．ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒ（登録商標）を初期化する。
２．グラフィックスパイプラインの数を指定し、多重処理コンフィグレーションを選択し、必要に応じてハードウェアモードを指定する。
【００３４】
３．選択した多重処理モードを初期化する。
４．フレームレートを初期化し、フレームエクステンドポリシーを設定する。
【００３５】
５．必要に応じてウインドウを作成し、構成し、開く。
６．必要に応じて表示チャンネルを作成し、構成する。
【００３６】
アプリケーションプログラムが上記のステップ１〜６を実行することによってグラフィックレンダリング環境を生成し終えると、アプリケーションプログラムは一般に、フレーム当たり１度ずつ以下の主シミュレーションループを繰り返す。
【００３７】
１．ダイナミクスを計算し、モデル行列などを更新する。
２．次のフレーム時間まで遅延させる。
【００３８】
３．レイテンシークリティカルな視点更新を実行する。
４．フレームを描画する。
【００３９】
代替として、Ｏｐｅｎ  Ｓｃｅｎｅ  Ｇｒａｐｈ（オープン・シーン・グラフ（登録商標））を視覚シミュレーショングラフィックスライブラリ１０８として使用することができる。Ｏｐｅｎ  Ｓｃｅｎｅ  Ｇｒａｐｈ（登録商標）は、ＯｐｅｎＧＬ  Ｐｅｒｆｏｒｍｅｒと同様にして動作し、多様なコンピュータプラットホームのためのＣ／Ｃ＋＋で書かれたプログラミングツールを提供する。Ｏｐｅｎ  Ｓｃｅｎｅ  Ｇｒａｐｈ（登録商標）はＯｐｅｎＧＬ（登録商標）に基づいており、ｗｗｗ．ｏｐｅｎｓｃｅｎｅｇｒａｐｈ．ｃｏｍを通じて入手できる。
【００４０】
本発明の複数属性同時レンダリングプログラム１１０は、視覚シミュレーショングラフィックスライブラリ１０８の上に位置する。当業において概ね周知の方法で、プログラム１１０は、視覚シミュレーショングラフィックスライブラリ１０８、基本グラフィックスライブラリ１０６、メニュー・インタフェースソフトウェア１０４、オペレーティングシステム１０２および第’６３４号出願に記載のプローブと会話し、それらによって実行される機能を利用する。プログラム１１０は好ましくは、オブジェクトおよびオブジェクト機能性の生成および使用を可能にするためにオブジェクト指向プログラミング言語で書かれる。１つの好ましいオブジェクト指向プログラミング言語は、Ｃ＋＋である。
【００４１】
この特定の実施形態において、プログラム１１０は、３次元ボリュームデータセットを当業において概ね周知の方法で保存する。例えば、ある特定のデータボリュームのためのフォーマットは２つの部分を含むことができ、ボリュームヘッダに後続して、データセットのサイズと同じ長さであるデータ本体がある。ボリュームヘッダは一般に、データセットのファイルパス（場所）、サイズ、ｘ，ｙおよびｚ方向での次元、ｘ，ｙおよびｚ軸に関する注釈、データ値に関する注釈などといった規定のシーケンスでの情報を含む。データ本体は、バイトのバイナリシーケンスであり、データ値当たり１以上のバイトを含み得る。例えば、第１バイトはボリューム位置（０，０，０）のデータ値であり、第２バイトはボリューム位置（１，０，０）のデータ値であり、そして第３バイトはボリューム位置（２，０，０）のデータ値である。ｘ次元が尽きると、それぞれ、ｙ次元およびｚ次元が増分される。この実施形態は、決してある特定のデータフォーマットに限定されない。
【００４２】
プログラム１１０は、映像化および分析に使用する１つ以上の３次元ボリュームデータセットを識別するためにユーザからの入力を助成する。複数のデータボリュームが使用される場合、複数のデータボリュームの各々についてのデータ値は、同じ地理的空間についての異なる物理的パラメータまたは属性を表現する。例えば、複数のデータボリュームが、地質学ボリューム、温度ボリュームおよび水飽和ボリュームを含むことができよう。地質学ボリュームにおけるボクセルは、形式（ｘ，ｙ，ｚ，地震振幅）で表現され得る。温度ボリュームにおけるボクセルは、形式（ｘ，ｙ，ｚ，℃）で表現され得る。水飽和ボリュームにおけるボクセルは、形式（ｘ，ｙ，ｚ，％飽和）で表現され得る。これらのボリュームの各々におけるボクセルによって定義された物理的または地理的空間は、同じである。しかし、いずれかの特定の空間位置（ｘ０，ｙ０，ｚ０）について、地震振幅は地質学ボリュームに含まれるであろうし、温度は温度ボリュームに、水飽和は水飽和ボリュームに含まれるであろう。プログラム１１０の動作は、図２〜８に関して説明する。
【００４３】
ここで図２に言及すれば、複数の属性を合成画像において同時レンダリングするための方法２００が例示されている。以下の説明は、Ｋｉｌｇａｒｄにおいて検討された特定のバンプマッピングアルゴリズムおよび技法に言及する。
【００４４】
ステップ２０２で、第１の属性および第２の属性が、図１に関して説明したＧＵＩツール（メニュー／インタフェースソフトウェア１０４）を用いて、使用可能な属性から選定される。周波数や位相といった他の使用可能な保存された属性を使用することができるが、図３のプローブ３００において例示された第１の属性としてセンブランスが使用され、図４のプローブ４００において例示された第２の属性として振幅が使用される。地震データは、従来のシェーディング／不透明（テクスチャマッピング）技法を用いてプローブの可視平面表面に表示されているが、当業において概ね周知のボリュームレンダリング技法を用いてプローブを定義している平面表面内部に表示することもできる。こうして説明した方法で地震データを表示するために、ボクセルデータがメモリから読込まれ、特定のテクスチャを表現する指定の色に変換される。テクスチャは、２５６ピクセル×２５６ピクセルの画像にタイルされる。大きいボリュームの場合、多くのタイルがプローブの単一の平面表面に存在する。このプロセスは通常、当業者にはサンプリングと呼ばれており、タイル単位に基づいて複数のＣＰＵ間で調整される。ここで使用されるこれらの技法その他は、第’６３４号出願においてさらに説明され例示されている。
【００４５】
ステップ２０４で、時に高さフィールドとも呼ばれる図３に例示されたテクスチャベースのセンブランス属性を、後にレジスタコンバイナによって使用されるライティング情報を符号化する法線マップに変換するために、法線マップが計算される。この技法は、プローブがボリューメトリックデータを表示するのと同様にしてボリューメトリックデータへのピクセル単位のライティングの適用を可能にする。言い換えると、実際に表示されるのは２次元オブジェクトであるが、それがボクセルデータおよび表示される速度から構成されるので、３次元オブジェクトとして見える。要するに、このステップは、センブランス属性を表現するデータ値を、実際に平面表面が表示される時の深さおよび幾何学の錯覚を与えるライティング効果を計算するためにグラフィックスカードによって使用される摂動させた正規化ベクトルに変換する。
【００４６】
法線マップは、平面表面で高さ、深さおよび幾何学の錯覚を構成するために集合的に使用される複数の摂動させた法線ベクトルを含む。各々の摂動させた法線ベクトルは、図３における所与の表面（例えば３１０）における各データ値の垂直成分および水平成分のクロス積から導出される。各々の摂動させた法線ベクトルはテクスチャ単位（法線マップ）としてハードウェアに記憶され、この場合、各々の摂動させた法線ベクトルの各空間座標（ｘ，ｙ，ｚ）は指定の色の赤、緑または青（ＲＧＢ）の値が割り当てられる。これらの座標がＲＧＢ値を割り当てられている座標空間は一般に、テクスチャ座標空間として知られている。こうして、摂動させた法線ベクトルの青色成分は、空間座標（ｚ）を表現する。従って、すべて青であるテクスチャにおけるピクセルは、図３における表面３１０といった平面オブジェクトでの典型的な接ベクトルを表現するであろう。データ値が変化するにつれて、法線マップの外観は、より青みが少なくなり、ほとんど白亜色に見える。高さフィールドから法線マップを導出するために必要な技法は、Ｋｉｌｇａｒｄの第５．３節に概ね記載されている。図３のプローブ３００に示されたデータ値にＫｉｌｇａｒｄの第２．６節で言及された方程式を適用することによって、法線マップが構成され得る。この方法および技法を実行する１組の命令がＫｉｌｇａｒｄの付録Ｅに例示されている。
【００４７】
より正確なライティング効果を得るために、ステップ２０６で頂点プログラムが、図３に例示された基本属性の平面表面３１０を制約する頂点および法線マップの対応する平面表面を制約する頂点（図示せず）に適用される。新しい座標空間（接空間）が、頂点プログラムによって使用される変換行列に含まれる。グラフィックスカードのプログラム可能なハードウェアは、頂点プログラムを駆動する座標空間変換をレンダリングするために使用される。接空間は、頂点単位に基づいて構成され、一般にＣＰＵが３次元テクスチャ座標として頂点単位の光角度ベクトルおよび半角ベクトルを供給するように要求する。光角度ベクトルおよび半角ベクトルは、接空間行列が乗じられる時に接空間に同様に変換される。このステップは、Ｋｉｌｇａｒｄの第５．１節に概ね記載された技法を使用する。
【００４８】
例えば、法線ベクトルおよび接ベクトルは、図３のプローブ３００のような所与の幾何学モデルについて頂点単位に基づいて計算される。各頂点の接ベクトルおよび法線ベクトル成分のクロス積を得ることによって双法線ベクトルが計算される。こうして、接ベクトル、法線ベクトルおよび双法線ベクトルは、各頂点における正規直交基底を形成する。正規直交基底は、オブジェクト、空間、光および目の位置を接空間に変換するために使用される行列を表現する。この技法を実行するための１組の命令がＫｉｌｇａｒｄの付録Ｃに例示されている。
【００４９】
レジスタコンバイナまたはテクスチャシェーダ（図示せず）が、Ｋｉｌｇａｒｄの第２．５節〜第２．５．１節に記載されたライティング方程式を計算するために、ステップ２０８でグラフィックスカードによって適用される。ＮＶＩＤＩＡ（登録商標）を通じて入手可能なＧｅＦｏｒｃｅ（登録商標）およびＱｕａｄｒｏ（クワドロ（登録商標））レジスタコンバイナは、ピクセル単位のフラグメントカラーリング／シェーディングを決定し、標準のＯｐｅｎＧＬ（登録商標）固定機能テクスチャ環境、カラーサム（color sum）、およびフォグオペレーションを、フラグメントをカラーリング／シェーディングするための強化メカニズムで置換するためのプログラム可能ではないが設定可能な手段を提供する。マルチテクスチャードＯｐｅｎＧＬ（登録商標）により、図４のプローブ４００に例示された法線マップおよび第２の属性（振幅）を表現する各テクスチャ単位からのフィルタされたテクセルは、順にフラグメントのカレントカラーと結合される。レジスタコンバイナは、Ｋｉｌｇａｒｄの第４．２節において、フラグメントのためのＲＧＢＡカラーを出力する最終コンバイナ段階に達する一般的なコンバイナ段階の逐次的な適用として概説されている。ＯｐｅｎＧＬ（登録商標）レジスタコンバイナをプログラムするための１組の命令がＫｉｌｇａｒｄの付録Ｂに例示されている。
【００５０】
Ｋｉｌｇａｒｄの第５．４節でさらに解説されているように、レジスタコンバイナは、当業において概ね周知の手段によってステップ２１０で表示される同時レンダリングされた画像のための環境ライティングおよび拡散ライティングを計算するために設定されている。要約すれば、レジスタコンバイナは、頂点プログラムが適用された後、法線マップについて環境ライティングおよび拡散ライティング効果（照明）を計算し、また第１および第２の属性を表現する強調された画像を形成するために結合される第２の属性を計算するために使用される。合成画像のために結果として得られるデータ値は、第１および第２の属性の両方の混合されたテクスチャまたは結合されたテクスチャを表現する。環境照明および拡散照明を計算するためにレジスタコンバイナをプログラムするための１組の命令がＫｉｌｇａｒｄの付録Ｇに例示されている。
【００５１】
代替として、当業において概ね周知のフラグメントルーチンが、法線マップのためのより洗練されたピクセル単位のライティング効果を付与するためにレジスタコンバイナとともに使用され得る。
【００５２】
図３に例示された通り、黒のカラー値３１２によって表現された断層といった特定の地質学的特徴は、ｚ軸に沿って測定される隣り合うデータ値間の不連続のために青のカラー値３１４と区別される。図４において、同じ地質学的特徴４１２は、複数のカラー値を割り当てられｚ軸に沿ってより矛盾のない隣り合うデータ値を含む異なる属性（振幅）によってそれらが例示されるので、かろうじて区別できるにすぎない。同じ地質学的特徴５１２は、図５では、プローブ５００の平面表面５１０に深さおよび高さを与えるように見える強調された表面テクスチャのために、さらに容易に区別される。
【００５３】
図５において、第１の属性（センブランス）は、種々のカラー値によって示されている第２の属性（振幅）とシェーディングによって区別される。この錯覚は、その自然環境ではほとんど区別できない実際の地質学的特徴には似つかわしくない。両方の属性はプローブ５００の平面表面５１０上で同時に可視ではないが、それらは同じ空間において映像化され、光源に対するプローブ５００の角度に依存して同時に見ることができる。このように、プローブ５００が回転させられると、第１の属性を表現する特定のボクセルはマスクされるようになるのに対し、第２の属性を表現する他のものが可視になり、逆もまた同様である。この技法は、それらの自然環境ではほとんど区別できないオブジェクトの特定の特徴の画像を強調するために有益である。本発明はまた、同じ技法を用いて、ボリュームレンダリングされた地震データ属性を映像化するためにも適用され得る。
【００５４】
画像がステップ２１０で表示される際に、ステップ２１２〜２２０に関して説明されるいくつかのオプションが、種々の画像間のあらゆる差異を比較し分析するためにメニュー／インタフェースソフトウェア１０４を通じて会話的に制御することができる。
【００５５】
ステップ２１２で、鏡面反射または拡散ライティング係数が、合成画像に適用されるシェーディング／ライティング効果を変更するために会話的に制御され得る。それに応じて、レジスタコンバイナは、ステップ２１０で表示される画像を強調するためにステップ２０８で再び適用される。
【００５６】
ステップ２１４で、仮想光源が会話的に再配置され得るかまたは、プローブがその属性によって明らかにされる他の地質学的特徴を映像化するために会話的に回転させられ得る。プローブの移動は、第’６３４号出願において概説された手段によって達成される。図６〜８において、図５に例示されたプローブ５００の平面表面５１０は、光源が会話的に再配置されると、視線に対して垂直な位置に固定される。光源が移動するにつれて、異なるボクセルが光源の位置に従ってライティングされるようになる。その効果は、プローブが回転させられる場合に得られるそれに類似である。それに応じて、ステップ２０６および２０８は、ステップ２１０で表示される画像の異なる視野を付与するために再び適用される。
【００５７】
図６において、例えば、光源はプローブ面６１０の左側に配置されており、その結果、くぼみとして知覚されるボクセル６１２はより暗く見えるのに対し、隆起として知覚されるボクセル６１４はより明るく、またはより多く照明されて見える。図８におけるように、光源がプローブ面８１０の右側に再配置された場合、異なるボクセル８１２，８１４は、図６に例示されたそれらよりもより暗く、またより明るく見える。図７に例示されたように、光源はプローブ面７１０に垂直に配置されており、画像全体はより明るく見える。この効果は、ライティング方程式の鏡面反射成分に帰せられ、光源が再配置されるか、またはプローブが回転させられる際に画像における深さおよび高さの錯覚を強調する。鏡面反射成分を計算するためにレジスタコンバイナを設定する方法を解説している１組の命令がＫｉｌｇａｒｄの付録Ｈに例示されている。このようにして、合成画像は、各属性の明瞭度のごくわずかな損失により複数の属性を同時に明らかにするために会話的に操作され得る。
【００５８】
ステップ２１６で、ピクセル単位のライティング高度は、ステップ２０８に関して述べたようにシェーディングおよびライティングされるくぼみの法線深さおよび／または隆起の高さを変更するために会話的に制御される。ピクセル単位のライティング高度は、あらゆるくぼみまたは隆起を打ち消すゼロから各々の摂動させた法線ベクトルをスケーリングすることによって会話的に制御される。ピクセル単位のライティングが正の増分でスケーリングされる場合、各々の摂動させた法線ベクトル高さ（隆起）または深さ（くぼみ）は増大される。逆に、ピクセル単位のライティングが負の増分でスケーリングされる場合、各々の摂動させた法線ベクトル高さまたは深さは減少する。正味効果は、光源の位置を変更するように見える画像を生成し、それによりオブジェクトの異なる特徴が強調される。それに応じて、ステップ２０４、２０６および２０８は、ステップ２１０で表示される画像の異なる視野を付与するために再び適用される。
【００５９】
ステップ２１８で、ステップ２０２に関して説明した方法で異なる属性が会話的に選定される。それに応じて、ステップ２０４、２０６および２０８は、ステップ２１０で異なるデータ値を例示する完全に新しい画像を提示するために再び適用される。さらに、ステップ２１０で表示される画像は、ステップ２１８で選定される２つより多い属性を例示することができる。例えば、使用可能な属性が振幅、位相およびセンブランスを含む場合、法線マップがこれらの属性のうちのいずれか２つについて、ステップ２０４に関して説明した方法で生成される。言い換えれば、法線マップがその２つの選定された属性の各々について計算され、１つの法線マップにおける各々の摂動させた法線ベクトルについての結果として得られる値はその後、同じ位置で他の法線マップの各々の摂動させた法線ベクトルの値に加えられて、ステップ２０６および２０８に関して説明した方法で使用される単一の法線マップを生成する。代替として、選定された属性の１つについてのボクセルは、同じ位置の他の選定された属性のボクセルに加えられることができ、法線マップがステップ２０４に関して説明した方法で結合されたボクセル値について計算される。法線マップはその後、ステップ２０６および２０８に関して説明した方法で使用される。２つより多い属性が存在するどちらかの適用において、一方の属性はステップ２０８まで静的属性として働き、他方は上述のようにして使用されるであろう。
【００６０】
ステップ２２０で、プローブは、それが第’６３４号出願において詳述された方法でリサイズまたは移動され得るように、会話的に制御される。このステップは必然的に、ステップ２１０で表示される合成画像のプローブの平面表面で表示されるボクセルを変更する。その結果、第１および第２の属性はステップ２２２でリサンプルされなければならず、ステップ２０４、２０６および２０８が、同じ属性を異なる位置で例示するステップ２１０で新しい画像を表示するために再び適用されなければならない。
【００６１】
上述の発明によって説明された技法は、商品ＰＣグラフィックスカードによって提供されるハードウェアグラフィックスルーチンを用いて属性を会話的に処理することによる従来のバンプマッピング技法において通常出会う余分な処理ステップを排除する。従って、これらの技法は、エネルギー資源の発見および開発にとって特に有用である。
【００６２】
本発明の上述の開示および説明はその例証および説明となるものであり、種々の要素の特徴の例示した構成または組合せの細部においてと同様、寸法、形状および材料の種々の変更、機械的等価物の使用が、本発明の精神を逸脱することなく行い得ることは当業者によって認識されるであろう。
【産業上の利用可能性】
【００６３】
本発明は、複数属性のリアルタイム同時レンダリング方法、システムおよびプログラムに関するものである。
【図面の簡単な説明】
【００６４】
【図１】本発明を具体化するためのソフトウェアプログラムの１実施形態を例示しているブロック図であり、
【図２】本発明を具体化するための方法の１実施形態を例示している流れ図であり、
【図３】本発明のセンブランスを地震データ属性として例示している図面であり、
【図４】本発明の振幅を地震データ属性として例示している図面であり、
【図５】本発明の図３および４に例示された両方の属性の合成画像を例示している図面であり、
【図６】本発明の光源が画像の左側に配置されて図５の合成画像を例示している図面である。
【図７】本発明の光源が画像に垂直に配置されて図５の合成画像を例示している図面である。
【図８】本発明の光源が画像の右側に配置されて図５の合成画像を例示している図面である。
【符号の説明】
【００６５】
１０２：オペレーティングシステム
１０４：メニュー／インタフェースソフトウェア
１０６：基本グラフィックスライブラリ
１０８：視覚シミュレーショングラフィックスライブラリ
１１０：複数属性同時レンダリングプログラム
【図１】
2007500901.tif 000003
【図２】
2007500901.tif 000004
【図３】
2007500901.tif 000005
【図４】
2007500901.tif 000006
【図５】
2007500901.tif 000007
【図６】
2007500901.tif 000008
【図７】
2007500901.tif 000009
【図８】
2007500901.tif 000010
【国際調査報告】
2007500901.tif 000011