(57)【特許請求の範囲】
【請求項１】
ガス状の形状から成る自然現象物体を、コンピュータグラフィック画像として生成し、これを面定義物体との３次元空間内での合成を行う回路に関して、
ガス状物体を表現する最小図形要素をプリミティブと定義し、このプリミティブは３次元座標値と輝度から成り、第一の乱数と確率分布関数回路を用いて生成すると共に、このプリミティブが持つ座標点を参照点として、さらに第二の乱数と確率分布関数回路によってプリミティブを生成させるこの階層的プロセスを少なくとも２レベル以上もつ第一の手段と、
それぞれの階層における確率分布関数の密度および分布率をそれぞれ独立に定義してガス状物体の形状を生成する第二の手段と、
プリミティブを画像メモリに記憶する際、陰面消去処理と、同一視点座標軸上で重なり合うプリミティブがある場合にはこれを計数する手段において、画像メモリに記憶されたプリミティブ情報のうち、プリミティブ輝度は平滑化フィルタに加えて平滑化する一方、プリミティブと面定義物体の視点軸座標値をそれぞれ比較し、プリミティブのもつ座標値が視点に対し、面定義物体より遠方あるいは前方のそれぞれに対して、前記プリミティブの重なり数を所定の値に設定した後、平滑フィルタリングする第三の手段と、
前記平滑フィルタリングによって得られた平滑化重なり数から面定義物体に対する透明度値を決定し、これら透明度値をそれぞれプリミティブおよび面定義物体輝度に乗算した後、それぞれを加算して面定義物体とガス状物体とを合成する第四の手段を有する画像合成回路。
【発明の詳細な説明】
この発明は自然現象例えば霧、雲などのガス状の形状を成す物体をコンピュータ・グラフィックスによって３次元空間内に生成し、動的に可視化するためのハードウェア回路とそのボリュームレンダリングに関するものである。
【０００１】
［従来の技術］
コンピュータ・グラフィックスによって三次元物体を表示する多くの形状モデルは曲面あるいはソリッドモデルであり、これらの面に対して光源あるいは物体間の反射や影を計算することにより、リアルな映像を生成している。これらの多くはレイトレーシングあるいはラディオシティ法と呼ばれるレンダリング技法が用いられる。この曲面モデル等の物体表示法とは異なり、霧や雲などの自然現象を表現することは形状の複雑性、動的な変化、乱反射等の計算を必要とすることから多量の計算時間を要している。またこれらガス状物体を曲面モデルと三次元空間内で合成する処理も必要である。このような観点から、今日までボリュームレンダリングとしてのガス状物体のハードウェアによるコンピュータ・グラフィックス表示は特願平７−２０１２５１に示された回路以外にはほとんど例がなく、ソフトウェアによってのみ生成されていた。一方、特願平７−２０１２５１ではガス状物体をブラッシング効果の様な、よりリアルに表示するための方法として、プリミティブの重なり数、および視点座標値Ｚをそれぞれ平滑化フィルタリングした後、面定義物体に対しＺ値の判定を行い、Ｚ値が面物体よりも視点に近いプリミティブのみに対して輝度と透視率を計算し面定義物体と合成する方法をとっていた。この方法ではプリミティブの存在が粗な場合、平滑化後のＺ値は著しく減少し、面定義物体の後方に移動してしまうことになり、幾らかのガス状物体が面定義物体の前面に存在していても表示されない現象が生じていた。目的は面定義物体をガス状物体が取り囲む場合、その密度、位置に応じて連続的且つ適切な透明感を与えることである。本発明ではこの効果を効果的に得るために、２つの方法を導入した。一つはガウス分布をもつガス状物体（プリミティブ）を生成した後、それぞれのプリミティブが持つ座標点に対して、その点を中心にさらにガウス分布をもつプリミティブを生成する。またさらにこうして発生した第二のプリミティブの点を中心に第三のプリミティブを生成する。以上のような処理を繰り返すことによって階層的な構造をもつガス状物体図形が構成される。この結果、下位の階層の密度を上位よりもより上げることによって局所的に高密度をもつガス状物体のイメージが表現でき、これをフィルタリングすることで粒子状の粗なイメージが減少する。
他の手法は従来のようにＺ値をフィルタリングすることなく、まず直接、ガス状および面定義物体とのＺ値を比較し、もしガス状物体のＺ値が面定義物体よりも視点に近い場合には、重なり数値をそのままとし、一方遠い場合には特定の値、例えばゼロに設定してその後これらの重なり数をフィルタリングし、この重なり数が存在する位置にはその重なり数に対応するプリミティブが存在するものと見なし、この値と、プリミティブ輝度とを用いて面定義物体に対する透明度を決定するものである。この方法は、従来方式と異なり、プリミティブのＺ値によってガス状物体の表示の有無を決定するではなく、重なり数の平均化によってその濃度分布を平均化することを意味することから、より自然な輝度の変化が得られる特徴をもつ。これによって、本発明では、Ｚ値を基本とする表示より、表現力のあるリアルな映像を提供できるようになった。
【０００２】
［課題を解決するための手段］
面定義物体とは多面体によって物体を定義する形状モデルの一つである。
特願平７−２０１２５１に示されたように、ガス状物体と面定義物体とを合成するためには透過率を計算しなければならない。この方法として、まず面定義物体とガス状物体をそれぞれ画像メモリに記憶し、この際にそれぞれが独立して隠面消去を行う。プリミティブの画像メモリへの記憶処理においては、メモリへの書き込み時にその場所にすでに記憶されたプリミティブが存在した場合、そのプリミティブのＺ値（視点からの距離）を比較し、視点に近い方の情報を画像メモリに記憶する。よって画像メモリには常に視点に最も近い一つのプリミティブだけが記憶される。この隠面消去の段階で、すでにプリミティブが存在し、オーバラップする場合はその都度、重なり数を計数する。この重なり数により、画像メモリには最も視点に近い座標値しか記憶されていないものの、ガス状物体を構成するプリミティブの視点軸に対する三次元空間上の密度が分かる。すなわち、重なり数が多い場合、単位面積（ＸＹ面）当りのプリミティブ数が多いことになり、高密度分布となる。
高密度分布では面定義物体の前にガス状物体が存在する場合、透過率は低下することになる。面定義物体とガス状物体との合成においては、まずガス状物体および面定義物体は個別に画像メモリに記憶され、それぞれはイメージ（カラーあるいは輝度）情報とＺ値の二種類のデータをもつ。これに加えてガス状物体では、重なり数をそれぞれのプリミティブ（画素）毎にもつことになる。ガス状物体と面定義物体の描画がそれぞれ終了すると、それぞれの画像メモリから、イメージとＺ値（ガス状物体は重なり数を含め）が表示装置のための走査手順に乗っ取り、順次読み出される。これら重なり数をアルファーブレンディングのように用いて単純にイメージの合成を行うと、散在するプリミティブからなるガス状物体では、面定義物体の曲面上にプリミティブのまだらなスポット状の模様ができる。これはわずかなプリミティブの場合、特に散在した状態が強調される結果である。
このスポット状をなくすためには平滑化フィルタリングが必要である。一方、単純に一つのガウス分布に基づく点群の集まりでは点の位置づけは粗になりフィルタの効果は余り得られない。このため階層的にガウス分布に基づきそれぞれの点を中心にガウス分布からなる点群を生成して局所的に高密度をもった状態にした後、フィルタリングすることが効果的となる。
特願平７−２０１２５１ではガス状物体が画像メモリからシリアルデータとして読み出された時点で３×３の平滑化フィルタリングを輝度、Ｚ値および重なり数それぞれに対して加えられた。これに対して、本発明ではＺ値に対してはフィルタリングを行わないでそのまま比較する。もし、プリミティブが面定義物体より視点に近いのであれば、重なり数はそのままフィルタ回路に与えられる。
一方、遠方にある場合には、特定のより小さい値に変更され、その後フィルタ回路に与えられる。
この結果、平滑化後の重なり数は、面定義物体との視点軸に対する前後関係で変化することになる。
すなわち、面物体の後面に多くのプリミティブが位置する場合は、重なり数は減少し、手前にある場合は増加する。本発明では平滑化によって重なり数が存在する（値がゼロではない）すべての投影座標（視点軸に垂直な）にはガス状プリミティブが存在するものと見なし、この値とすでに平滑化されたそのプリミティブがもつ輝度とから、面との透過率を考慮したカラーブレンディングを行う。この方法は従来方式より透過率を制御するのに容易である。この透過率は重なり数の逆数によって決定される。
よって、特願平７−２０１２５１では視点に対し、面より遠い位置にある場合にはガス状物体は単純に削除されたため、面定義物体がガス状物体空間内に位置する場合、ガス状プリミティブのあるものはそのＺ値によって削除、あるものは表示されていたのに対して、本発明では、プリミティブの存在はＺ値の有無とは無関係に平滑化によって位置づけされる。Ｚ値は重なり数すなわち、透過率を決定するのみに利用される。
【０００３】
［実施例］
本発明のガス状物体発生回路例を図１に示す。
図１においてガス状物体は乱数およびガウス分布回路１によって所定の数のプリミティブが生成され、この段階においてはプリミティブは３次元座標点で構成される。回路２は回路１と同様に乱数およびガウス分布回路である。回路３も同様である。回路１から出力される第一のプリミティブの座標値Ａは参照点Ｐ０と加算器４ａによって加算された後、回路２から出力されるプリミティブ座標値Ｂのベース値（中心点）となり、加算器４ｂで第二のプリミティブがＰ０＋Ａ＋Ｂに位置づれられる。
またこの値は回路３から出力されるプリミティブ座標値Ｃに加算器４ｃで加算される。よって３階層においてはプリミティブの位置はＰ０＋Ａ＋Ｂ＋Ｃとなる。１から３までのそれぞれの回路において分布率および密度を独立に定義することにより局所性を持った点群が構成できる。
図２は本発明に関する回路である。図１において生成されたプリミティブは所定の処理の後、輝度および３次元座標値として画像メモリ５に記憶される。この画像メモリ５に対するデータの書き込みの際、隠面消去および重なり数が隠面消去回路６で計数される。画像メモリ５に記憶された輝度（ｆｌ）、Ｚ値（ｆｚ）および重なり数（ｍ）は表示装置のビディオ周波数に同期して走査手順で読み出される。このデータのうち輝度（ｆｌ）は平滑化フィルター回路７に入力して平滑化される。またＺ値（ｆｚ）は面定義物体とのＺ値（ｓｚ）の比較が比較回路８において画素ごとに行われ、比較結果は、セレクタ９に与えられる。セレクタ９では比較結果に基づきガス状物体が面定義物体前面にある場合には重なり数（ｍ）をそのままに、一方、後面にある場合にはゼロあるいは所定の値（ｎ）を選択する。この選択された重なり数は第二の平滑化フィルタ１０に加えられる。平滑化された重なり数は記憶素子１１を通して所定の透視係数に変換され、それぞれ平滑化後のガス状物体の輝度（ｇｌ）と面定義物体の輝度（ｓｌ）と乗算器１２ａおよび１２ｂで乗算された後、これらが加算器１３で加算されて、合成イメージを得る。
【０００４】
［効果］
本発明のハードウエア化により、ガス状物体と面定義物体が３次元空間内で高速に合成でき、仮想現実システムの描画に不可欠なリアルタイム表示が可能と成る。
【図面の簡単な説明】
【図１】本発明のプリミティブ発生回路
【図２】本発明のガス状物体表示回路
【符号の説明】
１−３      乱数およびガウス分布回路
４ａ−４ｃ  加算器
５  画像メモリ
６  隠面消去回路
７  平滑化フィルタ回路
８  比較回路
９  セレクタ
１０  平滑化フィルタ回路
１１  記憶素子
１２  乗算回路
１３  加算回路
【図１】
0003733493.tif 000002
【図２】
0003733493.tif 000003