(57)【要約】【課題】局所構造強調テクスチャのテンソルボリュームデータ以外に、テンソルボリュームデータに関連する属性値を属性値ボリュームデータとして入力し、その値を使って、局所構造強調テクスチャの色と不透明度を変更する。【解決手段】テンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成する。そして局所構造強調テクスチャのボリュームデータの濃淡値と不透明度データとを乗算したものを局所構造強調テクスチャの不透明度とする。また色データと他の情報から得た色データとを加算したものを局所構造強調テクスチャの色としてテンソルボリュームデータを実時間で可視化する。【選択図】  図１３
2005011043.tif 000002
【特許請求の範囲】
【請求項１】
三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更して前記テンソルボリュームデータを実時間で可視化する方法であって、
前記テンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成し、
前記局所構造強調テクスチャのボリュームデータの濃淡値と前記不透明度データとを乗算したものを前記局所構造強調テクスチャの前記不透明度とし、
前記色データと他の情報から得た色データとを加算したものを前記局所構造強調テクスチャの前記色として前記テンソルボリュームデータを実時間で可視化することを特徴とするテンソルボリュームデータの実時間可視化方法。
【請求項２】
前記他の情報から得た色データとは、１以上の照射情報から求めた陰影の色データである請求項１に記載のテンソルボリュームデータの実時間可視化方法。
【請求項３】
前記局所構造強調テクスチャは、３Ｄ  ＬＩＣテクスチャまたはダイアドべクションテクスチャである請求項１または２に記載のテンソルボリュームデータの実時間可視化方法。
【請求項４】
三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更する色及び不透明度変更手段を備えて、前記色と前記不透明度とを変更することにより前記テンソルボリュームデータを実時間で可視化する装置であって、
前記色及び不透明度変更手段は、
前記テンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成する色及び不透明度データ生成手段と、
前記局所構造強調テクスチャのボリュームデータの濃淡値を生成する濃淡値生成手段と、
前記濃淡値と前記不透明度データとを乗算したものを前記局所構造強調テクスチャの前記不透明度として出力する不透明度出力部と、
前記色データと他の情報から得た色データとを加算したものを前記局所構造強調テクスチャの前記色として出力する色出力部とを備えていることを特徴とするテンソルボリュームデータの実時間可視化装置。
【請求項５】
流体の流れについての三次元空間のベクトルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更して前記流体の流れを実時間で可視化する方法であって、
前記ベクトルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ等の属性値と伝達関数とから色データと不透明度データとを生成し、
前記局所構造強調テクスチャのボリュームデータの濃淡値と前記不透明度データとを乗算したものを前記局所構造強調テクスチャの前記不透明度とし、
前記色データと他の情報から得た色データとを加算したものを前記局所構造強調テクスチャの前記色として前記ベクトルボリュームデータを実時間で可視化することを特徴とする流体の流れを実時間で可視化する方法。
【請求項６】
流体の拡散についての三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更して前記流体の拡散を実時間で可視化する方法であって、
前記テンソルボリュームデータに関連する属性値ボリュームデータに含まれる固有値、固有ベクトルの方向、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成し、
前記局所構造強調テクスチャのボリュームデータの濃淡値と前記不透明度データとを乗算したものを前記局所構造強調テクスチャの前記不透明度とし、
前記色データと他の情報から得た色データとを加算したものを前記局所構造強調テクスチャの前記色として前記テンソルボリュームデータを実時間で可視化することを特徴とする流体の拡散を実時間で可視化する方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テンソルボリュームデータを実時間で可視化する方法及び装置並びに流体の流れ及び流体の拡散を実時間で処理する方法に関するものである。
【０００２】
【従来の技術】
ボリュームレンダリングは、三次元空間の各点に色（ＲＧＢ）と不透明度（α）を与えることにより、透かして見る過程を計算機でシミュレーションすることで実現される。具体的には、図１に示すように、１本の視線に沿って色・不透明度（Ｒ，Ｇ，Ｂ，α）を手前から順番に積算し、視線に対応する画素の色・不透明度（Ｒ’，Ｇ’，Ｂ’，α’）を決定する。
【０００３】
各点のＲ，Ｇ，Ｂ，α（以下ＲＧＢαと言う）は、三次元ＣＴ画像や、数値シミュレーション結果等のスカラーボリューム値ｗから、伝達関数と呼ばれる対応関係によって、Ｒ（ｗ）、  Ｇ（ｗ）、  Ｂ（ｗ）、  α（ｗ）のように決められる。伝達関数は、離散値を扱うコンピュータでは、単純なテーブル参照によって実現される。
【０００４】
このボリュームレンダリング処理をソフトウェアで実行すると時間がかかる。しかしながら三次元テクスチャマッピング機能を持つ最新のパーソナルコンピュータ用グラフィックスアクセラレータを適切にプログラムすると、リアルタイム即ち実時間でのボリュームレンダリングが可能になることが知られている。テクスチャマッピングとは、コンピュータグラフィックスで形の表現に使われるポリゴン（多角形）の表面に模様（テクスチャ）を貼り付ける手法である。ハイエンドのグラフィックスアクセラレータでは、テクスチャとして任意の三次元画像（例えば、大理石模様や木目など）を使うことができる。つまり図２のように、ボリュームデータ（各点がＲＧＢαを持つとする）をグラフィックスアクセラレータの三次元テクスチャメモリにロードし、視線に垂直なポリゴンを手前から順番に等間隔に生成し、その頂点の空間座標とテクスチャアドレスを対応付ける。生成したポリゴンを、グラフィックスアクセラレータのアルファブレンディング機能を使って、手前から順番に重ねて描画すると、ボリュームレンダリングと同等の画像をリアルタイムに生成することができる。
【０００５】
最新のグラフィックスアクセラレータのプログラミング機能はさらに優れており、各点がＲＧＢαを持つ三次元テクスチャを用意しなくても、１個のスカラー値だけを持つ三次元テクスチャに、別に与えた伝達関数テーブルを適用して、グラフィックスアクセラレータ内部でＲＧＢαを発生したり、あるいは、複数のテクスチャの値を使って演算を行った結果からＲＧＢαを発生するようにプログラムすることができる。したがって、差分演算でスカラーボリュームデータの三次元勾配（δｗ／δｘ、  δｗ／δｙ、  δｗ／δｚ）を計算し、ＲＧＢの代わりに（−δｗ／δｘ、  −δｗ／δｙ、  −δｗ／δｚ）を格納した法線ベクトルボリュームデータを用意し、拡散反射（デフューズ）モデルや、鏡面反射（スペキュラー）モデルを用いた陰影付けを行い、より立体感のある画像を生成するようにプログラムすることもできる。
【０００６】
図３は従来のグラフィックスアクセラレータで使用するプログラムにより実現する色及び不透明度変更手段１０１の構成を示すブロック図である。色及び不透明度変更手段１０１は、色・不透明度（アンビエント）発生部１０２と、陰影（デフューズ、スペキュラー）発生部１０３とから構成される。図４は、図３中の色・不透明度（アンビエント）発生部１０２を実現するプログラムのアルゴリズムを示している。この従来プログラムで使用する方法（アルゴリズム）は、３ＤＣＴ画像のようなスカラーボリュームデータの可視化には適している。しかしながら、計算流体力学などで生成されるベクトルボリュームデータや、拡散強調ＭＲＩで得られる拡散テンソルボリュームデータ等のいわゆるテンソルボリュームデータの可視化には適していない。
【０００７】
流れや拡散は直接見ることができないため、これまで数多くの可視化法が提案されてきた。中でもＬｉｎｅ  Ｉｎｔｅｇｒａｌ  Ｃｏｎｖｏｌｕｔｉｏｎ  （ＬＩＣ）と呼ばれる方法は、密な流れ構造を表現できることから、最近、頻繁に利用されている。基本的にＬＩＣ法は、図５に示すように、ランダムドットを流線に沿ってぼかす処理である。図５（Ａ）はランダムドットを示しており、図５（Ｂ）はベクトルデータから流線を抽出する概念を示しており、図５（Ｃ）はＬＩＣ法によりランダムドットを流線に沿ってぼかした結果を示している。
【０００８】
ＬＩＣ法はホワイトノイズテクスチャとベクトル場データを入力し、流線に沿ってテクスチャをぼかしたような画像を生成する流れ場の可視化法である。オリジナルの二次元ＬＩＣアルゴリズムでは、図５（Ｂ）のような二次元直交格子にベクトル場を与え、ある一つのセルの中心Ｐ（ｘ，ｙ）を始点として各セルのベクトルに沿って一定の長さの折れ線状の局所流線を生成する。オリジナルな二次元ＬＩＣアルゴリズムは、Ｂ．  Ｃａｂｒａｌ，  Ｌ．  Ｌｅｅｄｏｍ著の“Ｉｍａｇｉｎｇ  ｖｅｃｔｏｒ  ｆｉｅｌｄｓ  ｕｓｉｎｇ  ｌｉｎｅ  ｉｎｔｅｇｒａｌ  ｃｏｎｖｏｌｕｔｉｏｎ”  ［Ｉｎ  Ｐｒｏｃ．  ＳＩＧ−ＧＲＡＰＨ  ９３，  Ａｕｇｕｓｔ  １９９３，  ｐｐ．２６３−２７０］［非特許文献１］に記載されている。
【０００９】
このとき、まずＰ（ｘ，ｙ）から正方向に折れ線の長さを下記式で求める。
【００１０】
【数１】
2005011043.tif 000003
そしてこの長さが定数ｌ以下になるようにセル数ｎを定める。ここでΔＳｉはセルｉを横切る折れ線の長さとする。同様に負方向についても、Ｐ（ｘ，ｙ）の中心を始点としてｍ個の画素値を抽出する。次に、各ΔＳｉを重みとしてｎ＋ｍ個の画素値（色）を対応する大きさのホワイトノイズテクスチャから抽出し、ｎ＋ｍ個の画素値の重み和を計算してＰ（ｘ，ｙ）における出力画素値を下記の式で求める。
【００１１】
【数２】
2005011043.tif 000004
上記式は、流線に沿ったホワイトノイズテクスチャの線積分に相当する。
【００１２】
ここでｈｉは
【数３】
2005011043.tif 000005
であり、Ｓｏ＝０、Ｓｉ＝Ｓｉ−１  ＋ΔＳｉ  であり、Ｆｉｎ（ｘ，ｙ）はホワイトノイズテクスチャの画素値，Ｐｉ；Ｐｉ´は正負方向のｉ番目に通過する画素，ｋ（ｗ）はＢｏｘフィルタ等の窓関数である。以上の操作をすべての画素について繰り返すことで、二次元ＬＩＣ画像が得られる。また、ＬＩＣ法では周期的な位相をもつフィルタをかけることで、その位相をシフトさせた時系列テクスチャをアニメーション表示し、流速を表現することができる。
【００１３】
３Ｄ  ＬＩＣボリュームは、この二次元の原理をそのまま三次元に拡張して生成できる。セルＰ（ｘ，ｙ；ｚ）における流線は，図６（Ａ）に示すように三次元の流線として生成され、この流線にそって三次元ホワイトノイズテクスチャのボクセル値をぼかし、二次元の場合と同様のパラメタを用いて出力セル値Ｆｏｕｔ（ｘ，ｙ；ｚ）を決定する。しかし単純にＦｏｕｔ（ｘ，ｙ；ｚ）のボリュームレンダリングを行うことは、流線状の相関テクスチャが視線方向に重なってしまうため従来は効果的でないと考えられてきた。しかし流体位相解析から導出される重要度マップと、三次元流線にハイライト効果を与える照明モデルを用いて、位相の特徴部分を選択的にボリュームレンダリングすることが提案されている。例えば、一例は、鈴木靖子、藤代一成、陳莉著の論文「重要度マップと流線照明モデルに基づく選択的３  次元ＬＩＣ  ボリュームレンダリング」［画像電子学会誌，ｖｏｌ．３０，  ｎｏ．４，ｐｐ．３７９−３８７，２００１年７月］［非特許文献２］に記載されている。
【００１４】
また位相シフト法により時系列３Ｄ  ＬＩＣテクスチャを生成し、ＶｏｌｕｍｅＰｒｏ５００カード（商標）を用いることでレンダリングを高速化し、流れ場の様子をアニメーション表示することも提案されている。この提案は、Ｙ．Ｓｕｚｕｋｉ，  Ｉ．  Ｆｕｊｉｓｈｉｒｏ，  Ｌ．  Ｃｈｅｎ，  Ｈ．  Ｎａｋａｍｕｒａ著の“Ｈａｒｄｗａｒｅ−ａｃｃｅｌｅｒａｔｅｄ  ｓｅｌｅｃｔｉｖｅ  ｖｏｌｕｍｅ  ｒｅｎｄｅｒｉｎｇ  ｏｆ  ３Ｄ  ＬＩＣ  ｔｅｘｔｕｒｅｓ”［Ｉｎ  Ｐｒｏｃ．  ＩＥＥＥ  Ｖｉｓｕａｌｉｚａｔｉｏｎ’  ０２，  Ｂｏｓｔｏｎ，  Ｏｃｔｏｂｅｒ−Ｎｏｖｅｍｂｅｒ  ２００２，ｐｐ．４８５−４８８］［非特許文献３］に記載されている。
【００１５】
また村木茂、鈴木靖子、藤代一成著の「ボリュームグラフィックス（ＶＧ）  クラスタによる３Ｄ  ＬＩＣ  レンダリングの並列化」［情報処理学会研究報告２００２−ＣＧ−１０８−１２，２００２年８月、ｐｐ．６７−７２］［非特許文献４］には、ＶＧクラスタ上に実装することでさらなる高速化を図り、よりサイズの大きなデータを扱える技術が提案されている。このＶＧクラスタを用いてＬＩＣ法をそのまま三次元へ拡張した可視化例が図６（Ｂ）に示したものである。この可視化したデータは、竜巻のシミュレーションにより生成された１２０３ボクセルの三次元ベクトルボリュームデータである。なおこの例では、ＶＧクラスタで並列に、時相の異なる８個の３Ｄ  ＬＩＣテクスチャを生成した。そしてシェーディングのための法線は、３Ｄ  ＬＩＣテクスチャの勾配の逆方向としている。
【００１６】
またＬＩＣ法の他にも、ダイアドべクションと呼ばれる類似法も存在する。
【００１７】
【発明が解決しようとする課題】
これらの局所構造を強調するテクスチャを三次元に拡張することは容易であるが、そうして生成した局所構造強調テクスチャボリュームデータに、図３に示すような色及び不透明度変更手段１０１でボリュームレンダリングを行うと、視線方向にテクスチャが重なり、三次元の流れや拡散構造の把握が非常に難しいことが報告されている。図６（Ｂ）は竜巻のベクトルデータから生成した３Ｄ  ＬＩＣテクスチャを、図３の従来のボリュームレンダリング法で用いる色及び不透明度変更手段１０１で可視化した例である。しかしながらこのような画像から竜巻の内部構造を知ることは困難である。
【００１８】
本発明の目的は、局所構造強調テクスチャのテンソルボリュームデータ以外に、テンソルボリュームデータに関連する属性値を属性値ボリュームデータとして入力し、その値を使って、局所構造強調テクスチャの色と不透明度を変更する方法及び装置を提供することにある。
【００１９】
本発明の他の目的は、流体の流れについてのベクトル（１階のテンソル）や流体の拡散についてのテンソルなどの、三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更して流体の流れや拡散を実時間で可視化する方法及び装置を提供することにある。
【００２０】
【課題を解決するための手段】
本発明の方法は、三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更してテンソルボリュームデータを実時間で可視化する方法を改良の対象とする。本発明においては、テンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成する。そして局所構造強調テクスチャのボリュームデータの濃淡値と不透明度データとを乗算したものを局所構造強調テクスチャの不透明度とする。また色データと他の情報から得た色データとを加算したものを局所構造強調テクスチャの色としてテンソルボリュームデータを実時間で可視化する。ここで局所構造強調テクスチャとしては、３Ｄ  ＬＩＣテクスチャやダイアドべクションテクスチャを用いることができる。また属性値ボリュームデータは、計算流体力学では計算過程で自然に導出され（流速、温度、圧力、ベクトルの長さなど）、拡散強調ＭＲＩ画像などの実測データでも、計算や他の計測手段によって容易に入手できる（固有値の不等方度など）。また「他の情報から得た色データ」とは、例えば、１以上の照射情報から求めた陰影の色データである。照射情報は好ましくは２以上の照射情報を用いるのが好ましい。また陰影のデータの他に、ノンフォトリアリスティックレンダリング法により生成されたデータ等も他の色データとして用いることができる。
【００２１】
本発明によれば、３Ｄ  ＬＩＣなどの局所構造強調テクスチャの色と不透明度を、属性値によって変更することにより、流体の流れや流体の拡散などの構造を従来よりも明瞭に可視化することができる。
【００２２】
なお本発明の方法により流体の流れについての三次元空間のベクトル（１階のテンソル）ボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更すると、流体の流れを実時間で明瞭に可視化することができる。この場合には、特に１階のテンソルボリュームデータであるベクトルボリュームデータを扱うことになる。また本発明の方法によれば、流体の拡散を実時間で可視化することも可能である。流体の拡散を可視化する場合には、２階以上のテンソルボリュームデータを扱うことになる。
【００２３】
本発明の装置は、三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更する色及び不透明度変更手段を備えて、前記色と不透明度とを変更することによりテンソルボリュームデータを実時間で可視化する。色及び不透明度変更手段は、テンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と伝達関数とから色データと不透明度データとを生成する色及び不透明度データ生成手段と、局所構造強調テクスチャのボリュームデータの濃淡値を生成する濃淡値生成手段と、濃淡値と不透明度データとを乗算したものを局所構造強調テクスチャの不透明度として出力する不透明度出力部と、色データと他の情報から得た色データとを加算したものを局所構造強調テクスチャの色として出力する色出力部とを備えている。
【００２４】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態の一例を詳細に説明する。前述の通り、特徴部分を選択的にボリュームレンダリングすることで３Ｄ  ＬＩＣ法が改良され［非特許文献２］、さらにＶｏｌｕｍｅＰｒｏ５００  カードを用いて３Ｄ  ＬＩＣの高速化が図され［非特許文献３］、高並列計算可視化システムであるＶＧ（Ｖｏｌｕｍｅ  Ｇｒａｐｈｉｃｓ）クラスタ上への実装が行われていること［非特許文献４］が、本発明の実施の形態の基本前提である。科学現象のシミュレーションや計測から実際に得られる流れ場のデータは、ベクトル量だけでなく、流速や圧力，温度，密度といった流れとは何らかの因果関係をもつ特性量を有する場合が多い。しかし、フィールド値を一つしか持てないＶｏｌｕｍｅＰｒｏ  ５００（商標）では、ＬＩＣテクスチャ以外の特性量を十分効果的に可視化できず、因果関係の解析を対話的に行うことができなかった。以下の実施の形態では、以下の二つの技術をＶＧクラスタシステムに実装して、属性付き三次元流のリアルタイムアニメーションを対話的に生成し、かつスケーラブルなシステムを提供する。１つの技術は、プログラム可能なＰＣ用グラフィックスエンジン（ＧＰＵ）を使い、３Ｄ  ＬＩＣテクスチャの色と不透明度を、流速などの属性値によって変更できるハードウェアボリュームレンダラであり、この技術が本発明の対象となる。もう一つの技術は、ボリュームの位相構造を表すボリューム骨格木（Ｖｏｌｕｍｅ  Ｓｋｅｌｔｏｎ  Ｔｒｅｅ：ＶＳＴ）を利用して、特徴を強調した伝達関数が設計可能な伝達関数エディタである（この技術は本発明の対象となるものではない）。
【００２５】
本発明の実施の形態の処理プロセスの概要を図７に示す。まず流れ場を表す三次元ベクトルデータを入力し、３Ｄ  ＬＩＣの時系列テクスチャを生成する。ＬＩＣ法のオリジナルアルゴリズムとその三次元化については後に説明する。次にベクトルのノルム計算から流速ボリュームを求め、その位相的骨格を示すＶＳＴを生成し、位相の特徴的な領域を選択的に強調描画するような伝達関数を自動生成する。ユーザは目的に応じて、伝達関数エディタを用いて対話的に伝達関数を編集できる。次に、プログラム可能なＧＰＵを用いたＶＧクラスタ上で、３Ｄ  ＬＩＣテクスチャと、流速から得られた色と不透明度を合成し、三次元の流れ場を可視化する。ＧＰＵを用いたハードウェアボリュームレンダリングと、その実験結果は後に説明する。
【００２６】
実施の形態における実装環境は、ＮＶＩＤＩＡ社製ＧｅＦｏｒｃｅ４  Ｔｉ  ４６００（商標）を搭載したＸｅｏｎ（１．７ＧＨｚ）Ｄｕａｌ（商標）ＰＣシステム１７台と，三菱プレシジョン社製フレーム重畳装置３台を用いてＶＧクラスタを構築した。なおこのフレーム重畳装置については、Ｓ．Ｍｕｒａｋｉ，Ｍ．Ｏａｔａ，Ｋ．Ｋａｊｉｈａｒａ，Ｋ−Ｌ．Ｍａ，Ｋ．Ｋｏｓｈｉｚｕｋａ，Ｘ．Ｌｉｕ，Ｙ．Ｎａｇａｎｏ，Ｋ．Ｓｈｉｍｏｋａｗａ著の“Ｎｅｘｔ−ｇｅｎｅｒａｔｉｏｎ  ｖｉｓｕａｌ  ｓｕ−ｐｅｒｃｏｍｐｕｔｉｎｇ  ｕｓｉｎｇ  ＰＣ  ｃｌｕｓｔｅｒｓ  ｗｉｔｈ  ｖｏｌｕｍｅｇｒａｐｈｉｃｓ  ｈａｒｄｗａｒｅ  ｄｅｖｉｃｅｓ”［Ｉｎ  Ｐｒｏｃ．ＩＥＥＥ  ＳＣ２００１，Ｎｏｖｅｍｂｅｒ  ２００１］に詳しく説明されている。また伝達関数エディタとボリュームレンダラは、ＲｅｄＨａｔ  Ｌｉｎｕｘ  ７．３（商標）をベースとするＰＣクラスタ用ＯＳ（ＰＣ  クラスタコンソーシアム製ＳＣｏｒｅ  ５．２）上にＣ＋＋で実装した。またレジスタコンビナーのプログラミングは、ＮＶＩＤＩＡ社のホームページからダウンロードできるＬｉｎｕｘ（商標）ディスプレイドライバ（Ｖｅｒ．１．０−４１９１）とＯｐｅｎＧＬの拡張命令を使用した。
【００２７】
ここでボリューム骨格木を用いた伝達関数設計について説明する。三次元流れ場の形状構造を決定する要素として，流速を表すスカラー値の分布を解析し、それに基づき伝達関数を設計する。具体的には、流速の値に応じた等値面の特徴的な変化を強調することで、より流れ場の構造を視覚化できるような伝達関数を設計する。ここではそのような等値面の特徴的な変化をボリューム骨格木（ＶＳＴ）によって表現する。
【００２８】
ボリュームデータは三次元一価関数ｗ＝ｆ（ｘ，ｙ，ｚ）の離散表現と考えることができる。フィールド値が小さくなる方向に沿って等値面の変化を追うと、あるフィールド値で等値面が併合，分岐など位相的な変化を起こす点がみられる。このような点を臨界点（ｃｒｉｔｉｃａｌ  ｐｏｉｎｔ）、そのフィールド値を臨界フィールド値（ｃｒｉｔｉｃａｌ  ｆｉｅｌｄ  ｖａｌｕｅ）と呼ぶ。臨界点は等値面の生成，併合，分岐，消滅に対応して、極大点（Ｃ３），鞍点（Ｃ２），鞍点（Ｃ１），極小点（Ｃ０）の４つに分類できる。なおこの点は、竹島由里子，高橋成雄，藤代一成著の「ボリューム骨格抽出とその伝達関数設計への応用」と題する論文［画像電子学会Ｖｉｓｕａｌ  Ｃｏｍｐｕｔｉｎｇ  情報処理学会グラフィクスとＣＡＤの合同シンポジウム２００１  予稿集，２００１年６月，ｐｐ．７９−８４］に詳しく説明されている。等値面の生成（Ｃ３），消滅（Ｃ０）の変化，そして併合（Ｃ２），分岐（Ｃ１）の変化を図８に示す。ＶＳＴはこれらの臨界点をノードで表し、等値面の各連結成分の（位相変化を伴わない）遷移をリンクで表すようなグラフとして定義され、図９に示されるような要素を組み合わせて構成される。
【００２９】
実際の解析では、対象ボリュームデータを三次元の球と同相にするために仮想極小点を導入する。これにより、臨界点の個数は次のオイラーの公式を満たすことが数学的に知られている。
【００３０】
Ｎ（Ｃ３）−Ｎ（Ｃ２）＋Ｎ（Ｃ１）−Ｎ（Ｃ０）＝０
ここで、Ｎ（Ｃｉ）は指数ｉの臨界点の個数を示す。現実のデータに対してボリューム位相解析を行う場合は、データにノイズが含まれているため、局所的な臨界点が多数発生してしまい、ボリューム全体としての構造を隠してしまう。そこで、２つの臨界フィールド値の差が、ある閾値以下になる臨界点のペアを削除してＶＳＴを簡単化することで、ボリュームデータの大局的な特徴を抽出する。図６（Ｂ）に示した可視化した竜巻の流速データを位相解析した結果のＶＳＴと、臨界フィールド値における等値面を図１０に示す。このＶＳＴには，大局的な特徴を表す８個の臨界点が含まれている。
【００３１】
次に、伝達関数編集について説明する。臨界点に対応する流速ｗの値を臨界フィールド値としてとらえ、その値付近を強調するような伝達関数を生成する。臨界点の周辺に見るべき特徴が分布している可能性が高いという仮定に基づき、本エディタでは属性ボリュームのＶＳＴを読み込み、半自動的に以下のように伝達関数を設計する。色相伝達関数は、ＨＬＳ表色系に基づき、青（２＝３）から赤（０）に変化し、かつ位相変化を伴わない区間内で線形に変化するように設計する（図１１（Ａ））。一方、不透明度伝達関数は、図１１（Ｂ）のような山型の関数を使い、臨界フィールド値の等値面を強調する。また、遮蔽の効果を極小化するように、フィールド値が高いほど不透明度が高くなるように設計する。伝達関数エディタで、竜巻の流速データのＶＳＴ（図１０）から図１１（Ａ）（Ｂ）の方針にそって自動的に設計された伝達関数が表示されている様子を図１２に示す。本エディタでは色、不透明度とも各臨界フィールド値の位置にカーソルが割り当てられており、目的に応じてユーザが簡単に各フィールド値における色と不透明度の設定を対話的に編集することができる。
【００３２】
図１３は、本発明のテンソルボリュームデータを実時間で可視化する方法を実施するための装置において、三次元空間のテンソルボリュームデータから生成した局所構造強調テクスチャの色と不透明度とを変更する色及び不透明度変更手段１の構成を示すブロック図である。この構成は、プログラムにより実現されるものである。色及び不透明度変更手段１は、色・不透明度（アンビエント）発生部２と、陰影（デフューズ、スペキュラー）発生部３と、加算部４とから構成される。色及び不透明度変更手段１の詳細は、図１４に示すとおりである。そして図１５は、色・不透明度（アンビエント）発生部２を実現するプログラムのアルゴリズムを示している。色・不透明度（アンビエント）発生部２は、色及び不透明度データ生成手段２１と、濃淡値生成手段２２と、不透明度出力部２３とから構成される。色及び不透明度データ生成手段２１は、局所構造強調テクスチャ（例えば３Ｄ  ＬＩＣ）のテンソルボリュームデータに関連する属性値ボリュームデータに含まれる流速、温度、圧力、ベクトルの長さ、固有値の不等方度等の属性値と前述の伝達関数とから色データと不透明度データとを生成する。濃淡値生成手段２２は、局所構造強調テクスチャのボリュームデータの濃淡値を生成する。濃淡値は、例えば、三次元ベクトル場データに３Ｄ  ＬＩＣ法を適用することにより生成することができる。不透明度出力部２３は、濃淡値と不透明度データとを乗算したものを局所構造強調テクスチャの不透明度として出力する。図１４の他の色データ発生部３´は、図１３の陰影（デフューズ、スペキュラー）発生部３に相当するものである。また色出力部４´は、色及び不透明度データ生成手段２１から出力された陰影（デフューズ、スペキュラー）発生部３等の他の色データ発生部３´から出力された色データとを加算したものを局所構造強調テクスチャの色として出力する。陰影（デフューズ、スペキュラー）発生部３は、照明情報１（方向と色）から照明情報ｎ（方向、色）を差分演算でスカラーボリュームデータの三次元勾配（δｗ／δｘ、  δｗ／δｙ、  δｗ／δｚ）を計算する。そしてこの計算結果と、ＲＧＢの代わりに（−δｗ／δｘ、  −δｗ／δｙ、  −δｗ／δｚ）を格納した法線ベクトルボリュームデータとを入力として、拡散反射（デフューズ）モデルや、鏡面反射（スペキュラー）モデルを用いた陰影付けを行って、陰影（デフューズ、スペキュラー）発生部３は他の色データを出力する。ここで照明情報（方向と色）とは、可視化対象となるテンソルボリュームデータを照らす仮想的な平行光源などの方向と色などである。
【００３３】
図１５のアルゴリズムに示すように、本実施の形態では、伝達関数テーブルによって属性値から参照された（即ち属性値の大きさにより一意に決定された）不透明度α（ｗ）に、局所構造強調テクスチャの濃淡値（最小値０、最大値１）を乗算したものを不透明度として出力する。これによって、３Ｄ  ＬＩＣなどの局所構造強調テクスチャの色と不透明度を、属性値によって自由に変更し、流れなどの構造を明瞭に可視化することができる。
【００３４】
次に実際に試験的に作製した、３Ｄ  ＬＩＣテクスチャを局所構造強調テクスチャとする場合におけるハードウエアボリュームレンダリングについて説明する。３Ｄ  ＬＩＣテクスチャは，三次元ベクトルデータの方向に沿って、２値の三次元ホワイトノイズをぼかした濃淡ボリュームデータである。一方、三次元ベクトルデータは、数値流体力学などのシミュレーションや、拡散強調ＭＲＩなどの実測値から得られるが、各ボクセルには流速，温度，密度，固有値の不等方度などの複数の属性値を伴う場合が多い。ＶｏｌｕｍｅＰｒｏ  ５００（商標）のようなリアルタイムボリュームグラフィックスエンジンは、３Ｄ  ＬＩＣテクスチャだけを高速に可視化する用途には適しているが、複数のパラメータを同時に表示する機能はない。
【００３５】
そこでプログラム可能なマルチテクスチャ機能を有するＧＰＵを用いて、３ＤＬＩＣテクスチャに１つの属性値（スカラー値）を加えて可視化するボリュームレンダラを作製した。プログラム可能なマルチテクスチャ機能については、Ｃ．Ｒｅｚｋ−Ｓａｌａｍａ，Ｋ．Ｅｎｇｅｌ，Ｍ．Ｂａｕｅｒ，Ｇ．Ｇｒｅｉｎｅｒ，Ｔ．  Ｅｒｔｌ著の“Ｉｎｔｅｒａｃｔｉｖｅ  ｖｏｌｕｍｅｒｅｎｄｅｒｉｎｇ  ｏｎ  ｓｔａｎｄａｒｄ  ＰＣ  ｇｒａｐｈｉｃｓ  ｈａｒｄｗａｒｅ  ｕｓｉｎｇ  ｍｕｌｔｉ−ｔｅｘｔｕｒｅｓ  ａｎｄ  ｍｕｌｔｉ−ｓｔａｇｅ  ｒａｓｔｅｒｉｚａｔｉｏｎ”と題する論文［Ｉｎ  Ｐｒｏｃ．  ＡＣＭＳＩＧＧＲＡＰＨ／Ｅｕｒｏｇｒａｐｈｉｃｓ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｈａｒｄｗａｒｅ  ２０００，  Ａｕｇｕｓｔ  ２０００，ｐｐ．１０９−１１８］に詳しく説明されている。
【００３６】
ＬＩＣテクスチャに属性を付加した先行研究（Ｈ−Ｗ．Ｓｈｅｎ，Ｃ．Ｊｏｈｎｓｏｎ，Ｋ−Ｌ．Ｍａ著の“Ｖｉｓｕａｌｉｚｉｎｇ  ｖｅｃｔｏｒ  ｆｉｅｌｄｓ  ｕｓｉｎｇ  ｌｉｎｅ  ｉｎｔｅｇｒａｌ  ｃｏｎｖｏｌｕｔｉｏｎ  ａｎｄ  ｄｙｅ  ａｄｖｅｃｔｉｏｎ”［Ｉｎ  Ｐｒｏｃ．  ＩＥＥＥ  １９９６  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｖｏｌｕｍｅ  Ｖｉｓｕａｌｉｚａｔｉｏｎ，Ｏｃｔｏｂｅｒ  １９９６，  ｐｐ．６３−７０］）では、スカラー属性量により定義された等値面や不透明部分にＬＩＣテクスチャをマッピングすることで、ベクトル場とその属性データセットを合成している。これに対して本実施の形態では、ＬＩＣテクスチャがその画素値の最大値（１）で不透明、最小値（０）で透明になると仮定し、属性データの伝達関数で参照される不透明度にＬＩＣテクスチャの画素値を掛け合わせてボリュームレンダリングに使用する。これにより、ユーザが属性値に合わせて対話的にＬＩＣテクスチャの不透明度と色を編集することが可能になる。
【００３７】
図１６は、本発明の実施の形態で用いるボリュームレンダラを、ＮＶＩＤＩＡ社製ＧｅＦｏｒｃｅ４  Ｔｉ  ４６００（商標）のレジスタコンビナー設定で構成した場合の設定構成を示している。この設定では、光源２個の拡散照明モデルによる陰影付けも行える。この構成では、３Ｄ  ＬＩＣテクスチャ（Ｌ：８ビットスカラ）からなる局所構造強調テクスチャと属性値テクスチャ（ｗ：８ビットスカラ：本例では流速）と法線ベクトル（各成分８ビットの三次元ベクトル）ボリュームデータの３つの三次元テクスチャ、属性値用の伝達関数テーブルを入力とする。法線は可視化する対象によって異なった計算法がある。
【００３８】
例えば、Ｙ．Ｓｕｚｕｋｉ，Ｉ．Ｆｕｊｉｓｈｉｒｏ，Ｌ．Ｃｈｅｎ，Ｈ．Ｎａｋａｍｕｒａ著の“Ｈａｒｄｗａｒｅ−ａｃｃｅｌｅｒａｔｅｄ  ｓｅｌｅｃｔｉｖｅ  ｖｏｌｕｍｅ  ｒｅｎｄｅｒｉｎｇ  ｏｆ  ３Ｄ  ＬＩＣ  ｔｅｘｔｕｒｅｓ”と題する論文［Ｉｎ  Ｐｒｏｃ．  ＩＥＥＥ  Ｖｉｓｕａｌｉｚａｔｉｏｎ’０２，  Ｂｏｓｔｏｎ，  Ｏｃｔｏｂｅｒ−Ｎｏｖｅｍｂｅｒ  ２００２，ｐｐ．４８５−４８８］には、その一例が示されている。本実施の形態では、流速の減少方向を使っている。この実施の形態では、属性値テクスチャの画素値から伝達関数テーブルによってＲＧＢ値と不透明度（α値）が生成される。そしてα値にはレジスタコンビナーＲＣによってＬＩＣテクスチャの画素値が掛け合わされて出力される。この設定でボリュームデータの断面を切り出せば、３ＤＬＩＣテクスチャの色と不透明度を属性値により変化させ、任意に設定した２つの平行光源による拡散照明をピクセル毎に施したポリゴンが生成できる。視線に垂直に手前から順にポリゴンを切り出し、画面上でブレンドすることでボリュームレンダリングが高速に実行できる。３Ｄ  ＬＩＣテクスチャの時系列（４Ｄ画像）のアニメーションを生成する場合は、時系列をｚ軸方向につないで一つの大きな三次元ボリュームとみなし、各時相の部分ボリュームを順次可視化すればよい。しかし、ＧｅＦｏｒｃｅ４  Ｔｉ  ４６００（商標）のメモリの容量が１２８Ｍバイト、三次元テクスチャの１辺の長さｎはｎ＝２ｍに制限されていることと、さらに本ボリュームレンダラがボクセルごとに５バイトのメモリを消費することから、可視化できるボリュームのサイズや時系列の長さには制限がある。また、一般にＧＰＵの描画速度は、使用する三次元テクスチャメモリが大きいほど低下する。ＶＧクラスタを用いて空間を分割して処理することで、こうしたＧＰＵの制限を越えた大規模ベクトルボリュームデータの高速レンダリングが可能になる。
【００３９】
図６（Ｂ）に可視化した竜巻のシミュレーションデータを本実施の形態により可視化した。図１７は、それらを連続にアニメーション表示した際の一コマである。図１７（Ａ）はＶＳＴから自動生成された伝達関数を用いた可視化結果であり、図１２の伝達関数エディタを用いて対話的に不透明度を調整して得られた結果を図１７（Ｂ）に示す。両者とも竜巻の流速の層状構造が明瞭に描出されているのがわかる。この例では、ベクトルのノルム（長さ）を属性とし、異なる２つの伝達関数テーブルを使った例を示している。図６（Ｂ）と異なり、竜巻の内部構造がはっきりと把握できる。
【００４０】
ＬＩＣ法では、流線に沿ってぼかしを行う際に位相をずらすことで、本来変動しないベクトルデータに、流れ方向を強調する周期的な動きをつけることが可能である（位相シフト法）。本発明では、その位相シフト法とリアルタイム可視化性能を併用し、実時間アニメーションを生成することで、より効果的にベクトルデータを可視化することも可能である。
【００４１】
また、ＶＧクラスタの性能を調べるため、アニメーションのフレームレートを測定した結果を図１８に示す。画像サイズを２５６×２５６，５１２×５１２，７６８×７６８の三通りで、クラスタのパーソナルコンピュータの台数を変えて実験した。この実験より、画像サイズが大きくなるほど描画に時間がかかることがわかる。また、並列度を上げるほどフレームレートが増す傾向があるので、大規模なベクトル場の可視化に有効であることが分かる。
【００４２】
【発明の効果】
本発明によれば、３Ｄ  ＬＩＣなどの局所構造強調テクスチャの色と不透明度を、属性値によって変更することにより、流体の流れや流体の拡散などの構造を従来よりも明瞭に可視化することができる利点が得られる。
【図面の簡単な説明】
【図１】ボリュームレンダリングの概念を示す図である。
【図２】テクスチャベースボリュームレンダリングを説明するために用いる図である。
【図３】従来の構成を示すブロックである。
【図４】従来の方法で用いるプログラムのアルゴリズムを示す図である。
【図５】（Ａ）はランダムドットを示しており、（Ｂ）はベクトルデータから流線を抽出する概念を示しており、（Ｃ）はＬＩＣ法によりランダムドットを流線に沿ってぼかした結果を示している。
【図６】（Ａ）は三次元局所流線の定義を説明するための図であり、（Ｂ）は３Ｄ  ＬＩＣによる竜巻データの可視化結果を示す図である。
【図７】実施の形態の処理プロセスの概要を図である。
【図８】臨界点における等値面の変化の例を示す図である。
【図９】臨界点周りのＶＳＴの構成要素を示す図である。
【図１０】竜巻の流速データのＶＳＴと臨界等値面の一例を示す図である。
【図１１】（Ａ）は位相強調型伝達関数の設定法の色相の一例を示す図であり、（Ｂ）はその不透明度の一例を示す図である。
【図１２】位相解析機能を備えた伝達関数エディタの一例を示す図である。
【図１３】実施の形態で用いる色・不透明度変更手段の構成を示すブロック図である。
【図１４】図１３のより具体的な構成を示すブロック図である。
【図１５】図１３の色・不透明（アンビエント）発生部をプログラムで実現する場合のアルゴリズムを示す図である。
【図１６】実施の形態で用いるレジスタコンビナーの設定を示す図である。
【図１７】（Ａ）は流速と３Ｄ  ＬＩＣテクスチャを使った竜巻のアニメーションからのスナップで自動生成伝達関数を用いたときのスナップの図であり、（Ｂ）は伝達関数編集後のスナップの図である。
【図１８】ＶＧクラスタを用いたＬＩＣボリュームレンダリングのフレームレートを示す図である。
【符号の説明】
１  色及び不透明度変更手段
２  色・不透明度（アンビエント）発生部
３  陰影（デフューズ、スペキュラー）発生部
４  加算部
２１  色及び不透明度データ生成手段
２２  濃淡値生成手段
２３  不透明度出力部
【図１】
2005011043.tif 000006
【図２】
2005011043.tif 000007
【図３】
2005011043.tif 000008
【図４】
2005011043.tif 000009
【図５】
2005011043.tif 000010
【図６】
2005011043.tif 000011
【図７】
2005011043.tif 000012
【図８】
2005011043.tif 000013
【図９】
2005011043.tif 000014
【図１０】
2005011043.tif 000015
【図１１】
2005011043.tif 000016
【図１２】
2005011043.tif 000017
【図１３】
2005011043.tif 000018
【図１４】
2005011043.tif 000019
【図１５】
2005011043.tif 000020
【図１６】
2005011043.tif 000021
【図１７】
2005011043.tif 000022
【図１８】
2005011043.tif 000023