(57)【要約】【課題】表示物体の照明状態を、リアルかつ高速に表現する画像生成手段を実現すること。【解決手段】フレームバッファと、表示手段と、部分空間の境界形状に対して、画素ごとに、特定の位置からの奥行きデータを出力する境界レンダリング手段と、画素が、特定の位置から見て、特定の位置側に存在するか否かを判断し、奥行きデータの加減算処理を、総ての、境界形状を構成する画素に対して行なう差分演算手段と、該手段による処理結果を格納する積和バッファと、積和バッファの格納データに基づいて、光の減衰量を計算して、さらに、前記フレームバッファの格納位置の色情報、予め定められている部分空間の色情報、および、光の減衰量に基づいて、当該画素の色情報を定める処理を行なう合成手段と、を有する。【選択図】  図１
2005310188.tif 000002
【特許請求の範囲】
【請求項１】
画素ごとに色情報を格納するフレームバッファと、
該フレームバッファの内容を参照して表示出力を行なう表示手段と、
ある体積を占める空間である部分空間の境界形状に対して、境界形状を構成する画素ごとに、特定の位置からの奥行きデータを出力する境界レンダリング手段と、
前記境界形状を構成する画素が、前記特定の位置から見て、特定の位置側に存在するか否かを判断し、予め定めた規則にしたがって、対応する奥行きデータの符号付けを行ない、奥行きデータの加減算処理を、総ての、境界形状を構成する画素に対して行なう差分演算手段と、
各画素に対する該差分演算手段による処理結果を格納する積和バッファと、
各画素に対して、積和バッファの格納データに基づいて、光の減衰量を計算して、さらに、対応する前記フレームバッファの格納位置の色情報、予め定められている部分空間の色情報、および、光の減衰量に基づいて、当該画素の色情報を定め、フレームバッファ内の対応する位置に格納する処理を行なう合成手段と、を有する画像生成装置。
【請求項２】
表示対象となる物体の形状、配置情報を含むモデルデータ、および、該物体を観察する視点の位置情報を格納するモデルデータ格納手段と、
前記モデルデータ、および、前記視点の位置情報を参照して、視点位置から物体を観察した２次元画像を生成する処理の制御を行なう画像生成制御手段と、
前記モデルデータを参照して、前記画像生成制御手段の制御動作に従い、２次元画像の描画生成処理を行なう形状レンダリング手段と、
形状レンダリング手段の処理結果を、画像データとして画素ごとに格納するフレームバッファと、
隠面消去処理を行なうための、視点位置からモデルデータまでの奥行きデータを格納する奥行きバッファと、
前記フレームバッファの内容を参照して表示出力を行なう表示手段と、を具備し、さらに、
ある体積を占める空間である部分空間の境界形状に対して、境界形状を構成する画素ごとに、特定の位置からの奥行きデータを出力する境界レンダリング手段と、前記境界形状を構成する画素が、前記特定の位置から見て、特定の位置側に存在するか否かを判断し、予め定めた規則にしたがって、対応する奥行きデータの符号付けを行ない、奥行きデータの加減算処理を、総ての、境界形状を構成する画素に対して行なう差分演算手段と、各画素に対する該差分演算手段による処理結果を格納する積和バッファと、
各画素に対して、積和バッファの格納データに基づいて、光の減衰量を計算して、さらに、対応する前記フレームバッファの格納位置の色情報、予め定められている部分空間の色情報、および、光の減衰量に基づいて、当該画素の色情報を定め、フレームバッファ内の対応する位置に格納する処理を行なう合成手段と、を備える画像生成装置。
【請求項３】
請求項２において、前記画像生成制御手段は、
第１に、前記フレームバッファ、前記奥行きバッファ、前記積和バッファを初期化し、
第２に、前記モデルデータ格納手段からモデルデータを読みだし、前記形状レンダリング手段を起動して、視点から見た画像生成を行ない、前記フレームバッファに、画像生成したデータを格納し、
第３に、前記部分空間の境界形状を生成し、前記境界レンダリング手段および差分演算手段を起動し、差分演算手段による処理結果を、前記積和バッファに格納し、
第４に、前記合成手段を起動することを特徴とする、画像生成装置。
【請求項４】
請求項２において、光源と障害物が存在すると想定し、
前記部分空間は、光源からの照射光が到達する、所定量の体積を示す空間とし、前記画像生成制御手段は、前記照射光によって影を作ることになる障害物の境界形状を、光の照射方向とは反対方向に延長して生成し、生成した境界形状を、前記境界レンダリング手段に与えることを特徴とする、画像生成装置。
【請求項５】
請求項２において、３次元空間に分布するデータを想定し、
前記部分空間は、前記データの分布密度が、所定値以上または所定値以下の空間を示し、
前記画像生成制御手段は、データの分布密度が、所定値以上または所定値以下の部分空間に対して生成した境界形状を、前記境界レンダリング手段に与えることを特徴とする、画像生成装置。
【請求項６】
画素ごとに色情報を格納するフレームバッファと、
該フレームバッファの内容を参照して表示出力を行なう表示手段と、
３次元物体を照明する光源、および、障害物が存在すると想定したとき、照射方向に平行な複数の面を生成し、各面に沿って、該光源と光を遮る障害物との距離を求め、該面に対して、光源からの距離にしたがった透明度を設定する光ぼうプレート生成手段と、
各面に対して、透明度にしたがった描画を行ない、描画結果を前記フレームバッファに格納する形状レンダリング部と、を有する画像生成装置。
【請求項７】
表示対象となる物体の形状、配置情報を含むモデルデータ、および、該物体を観察する視点の位置情報を格納するモデルデータ格納手段と、
前記モデルデータ、および、前記視点の位置情報を参照して、視点位置から物体を観察した２次元画像を生成する処理の制御を行なう画像生成制御手段と、
前記モデルデータを参照して、前記画像生成制御手段の制御動作に従い、２次元画像の描画生成処理を行なう形状レンダリング手段と、
形状レンダリング手段の処理結果を、画像データとして画素ごとに格納するフレームバッファと、
隠面消去処理を行なうための、視点位置からモデルデータまでの奥行きデータを格納する奥行きバッファと、
前記フレームバッファの内容を参照して表示出力を行なう表示手段と、を具備し、さらに、
３次元物体を照明する光源、および、障害物が存在すると想定したとき、照射方向に平行な複数の面を生成し、各面に沿って、該光源と光を遮る障害物との距離を求め、該面に対して、光源からの距離にしたがった透明度を設定する光ぼうプレート生成手段とを備え、
また、前記形状レンダリング手段は、各面に対して、透明度にしたがった描画を行ない、描画結果を前記フレームバッファに格納する機能を有する、画像生成装置。
【請求項８】
画素ごとに色情報を格納するフレームバッファと、
該フレームバッファの内容を参照して表示出力を行なう表示手段と、
予め定めた複数種類のグレアパターンをマッピングするグレア処理手段と、を備え、
該グレア処理手段は、表示画面の中心位置と光源の存在位置とを結ぶ直線上に、１以上のグレアパターンをマッピングするように、グレアパターンを前記フレームバッファに格納する、画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画対象となるモデルの３次元表示手段に係わり、特に、光ぼうやグレアをリアルかつ高速に描画表現する手段に関する。
【背景技術】
【０００２】
従来の３次元描画手法においては、描画対象であるモデルを、三角形等の形状で構成するものとして登録する。そして、描画の際には、登録された形状モデルを参照して、レンダリングを行なっていた。
【０００３】
さらに、光源等が存在する場合、光源よる光の照射の影響を考慮して、形状の輝度を計算し、この輝度情報に基づき、描画を行なうものであった。このため、モデルデータが存在しない場合には、描画が行なわれない。
【０００４】
光が、空間内に存在する微粒子を照射したときに発生する「光ぼう（こうぼう）」や、光の回折現象で生じるグレアは、それ自体が、形状データで表現できないため、従来の描画手法では表現不可能である。
【０００５】
このような状態を表現する手法として、光ぼうの表現に関して、従来２つの手法が提案されていた。
【０００６】
第１の手法は、光ぼうの表現を、ボリュームレンダリングと称される手法で行なうものである。この手法は、「コンピュータグラフィックス、プリンシプルアンドプラクティス、セカンドエディション、アディソンウエズリー（１９９０年）第１０３４頁から第１０３９頁（Computer Graphics, Principles and Practice, Addison Wesley(1990), pp1034-pp1039）」等の文献に詳しく述べられている。
【０００７】
即ち、本手法は、描画対象となる空間を、複数の小空間に分割し、視線が小空間を通過する様子を、各小空間における輝度変化を積分することによって求めて、光ぼうを表現する手法である。
【０００８】
また、第２の手法は、光ぼうの表現を、形状を生成することによって行なうものである。この手法は、光ぼう現象が発生する位置に、光ぼうを表現するための、新たな仮想形状を生成し、半透明状態で該仮想形状を描画するものである。
【０００９】
さらに、グレア表現に関しては、「シーグラフ９０コンファレンスプロシーディングス、Vol.24、No.4、August1990、第３９５頁から第４０４頁（SIGGRAPH90 Conference Proceedings Vol.24,No.4, August1990、pp395-404）」等の文献に詳しく述べられている。本手法によれば、生成された画像の輝度データに基づき、特殊な画像処理を行なうことによって、グレア表現を行なうものである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上述したような従来技術、即ち、光ぼう表現の第１の従来技術によれば、空間積分を行なう際の処理時間が考慮がされておらず、著しく処理時間がかかってしまうという問題があった。また、光ぼう表現の第２の従来技術によれば、処理時間がさほど要しないものの、光ぼうを表現する色が均質になるため、リアルな表現を行なうことが不可能であったという問題があった。
【００１１】
また、グレア表現に関しても、従来技術においては、生成された画像に対し、画素単位での画像処理を行なうため、処理速度の点で問題があった。
【００１２】
そこで、本発明の目的は、光芒の表現を、リアルかつ高速に行なう手段を提供するとともに、グレア表現も、リアルかつ高速に行なう手段を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決し、本発明の目的を達成するために、以下の手段がある。
【００１４】
即ち、画素ごとに色情報を格納するフレームバッファと、該フレームバッファの内容を参照して表示出力を行なう表示手段と、ある体積を占める空間である部分空間の境界形状に対して、境界形状を構成する画素ごとに、特定の位置からの奥行きデータを出力する境界レンダリング手段と、前記境界形状を構成する画素が、前記特定の位置から見て、特定の位置側に存在するか否かを判断し、予め定めた規則にしたがって、対応する奥行きデータの符号付けを行ない、奥行きデータの加減算処理を、総ての、境界形状を構成する画素に対して行なう差分演算手段と、各画素に対する該差分演算手段による処理結果を格納する積和バッファと、各画素に対して、積和バッファの格納データに基づいて、光の減衰量を計算して、さらに、対応する前記フレームバッファの格納位置の色情報、予め定められている部分空間の色情報、および、光の減衰量に基づいて、当該画素の色情報を定め、フレームバッファ内の対応する位置に格納する処理を行なう合成手段と、を有する画像生成装置である。
【００１５】
また、本発明の他の態様として、以下に示す手段がある。
【００１６】
即ち、画素ごとに色情報を格納するフレームバッファと、該フレームバッファの内容を参照して表示出力を行なう表示手段と、３次元物体を照明する光源、および、障害物が存在すると想定したとき、照射方向に平行な複数の面を生成し、各面に沿って、該光源と光を遮る障害物との距離を求め、該面に対して、光源からの距離にしたがった透明度を設定する光ぼうプレート生成手段と、各面に対して、透明度にしたがった描画を行ない、描画結果を前記フレームバッファに格納する形状レンダリング部と、を有する画像生成装置である。
【００１７】
さらにまた、本発明の他の態様として、以下に示す手段がある。
【００１８】
即ち、画素ごとに色情報を格納するフレームバッファと、該フレームバッファの内容を参照して表示出力を行なう表示手段と、予め定めた複数種類のグレアパターンをマッピングするグレア処理手段とを備える。そして、該グレア処理手段は、表示画面の中心位置と光源の存在位置とを結ぶ直線上に、１以上のグレアパターンをマッピングするように、グレアパターンを前記フレームバッファに格納する、画像生成装置である。
【発明の効果】
【００１９】
以上のように、本発明によれば、微粒子や三次元断層データ等が存在する部分空間を考慮してレンダリングを行なうことによって、光ぼうを、リアルかつ高速に表現できる。また、本発明によれば、グレアの表現を、リアルかつ高速に表現できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を、図面を参照して説明する。
【００２１】
なお、本発明の理解の容易化を図るため、図２、３、４、５を参照して、本発明によって描画される画像生成の例と、動作原理について説明し、その後、具体的な装置構成を示して、本実施形態を説明する。
【００２２】
図３は、本実施形態による表示部１１１の表示画面例である。
【００２３】
図３に示すように、例えば、微粒子物体が、空間内に部分的に存在する「部分空間」２０３に対して光を照射した場合、その部分空間の厚みが把握できるように表示するものである。このような状態は、例えば、煙や霧等が存在する部分空間に対して、光を照射して生ずる、光ぼう現象を表現したものである。
【００２４】
また、部分空間のような半透明空間と、不透明な物体２０１が共存しても、部分空間の見える厚みを考慮してリアルに画像生成することを可能とするものである。
【００２５】
次に、図２は、図３に示したＡ−Ａ'の線を、図面に垂直の上方向から見た様
子を示す図面である。
【００２６】
したがって、図２の「Ａ」「Ａ'」は、図３の「Ａ」「Ａ'」に対応し、また、図２の「Ｂ」は、図３の点「Ｂ」に対応する。
【００２７】
図２では、３種類の部分空間２０３が存在しており、背景２０２は、不透明の物体である。点Ｂを視点方向に延長することを想定した場合の、背景２０２との接触点を点Ｂ'としている。
【００２８】
もちろん、図２および図３における、物体２０１は、共通したものであるが、視点の位置が異なるため、物体２０１の形状は異なっている。
【００２９】
Ｂ-Ｂ'の視線に注目して、拡大した様子を表現する図面が図４である。
【００３０】
図４において、４０１は、視点、２０３は部分空間、２０２は、不透明物体である。
【００３１】
また、各部分空間２０３の色情報Ｃｖ、不透明物体２０２の色情報Ｃｂは、予め定められている。また、Ｃｅは、視点位置で観測される色を表現する色情報である。なお、色情報としては、例えば（Ｒ、Ｇ、Ｂ）を数値表現したデータを採用すれば良い。また、４０２、４０３、４０４、４０５、４０６、４０７は、各部分空間２０３の境界面である。なお、各境界面の法線ベクトルを調べれば、各境界面が、視線側にあるか否かが判断できる。以下、適宜、視点側にある境界面、例えば、４０２を「表側」、その反対側にある境界面、例えば、４０３を「裏側」として説明を行なう。
【００３２】
ここで、部分空間を視線が通過する距離は、次のようにして求めることができる。
【００３３】
まず、不透明物体２０２の描画を行ない、不透明物体２０２の、視点位置からの奥行き距離Ｚ０を定めておく。その後、部分空間の境界面４０２、４０３、４０４、４０５、４０６、４０７を求め、各境界面と視点位置との距離、Ｚ１、Ｚ２、Ｚ３、Ｚ４、Ｚ５を求める。さらに、各境界面が視点側に存在するか否か、即ち、表側であるか裏側であるかをによって、各境界面と視点位置との距離の加減算を行なう。これにより、視線が、部分空間を通過する距離ｄを求めることができる。
【００３４】
なお、図では、不透明物体２０２からの各境界面までの距離を、「Ｚn'＝Ｚ０−Ｚn(n=0、1、2、3、4、5、6)」として求め、さらに、表側を正、裏側を負として、距離ｄを求めている。その結果、「ｄ＝Ｚ1'−Ｚ2'＋Ｚ3'−Ｚ4'＋Ｚ5'−Ｚ6'」なる式で、距離ｄが求まることが分かる。
【００３５】
さて、均質な微粒子が存在する部分空間を通過する光は、その通過距離に従い、対数的に減衰するので、図５に示す式で、視点に到達する色Ｃｅを決定することが可能である。即ち、Ｋを減衰定数として、「ａ＝ｅｘｐ（−Ｋ・ｄ）」なる式で減衰量ａを定めている。よって、（１−ａ）は、透過度を示している。
【００３６】
図５では、横軸に距離ｄをとり、ｄの変化に従って、ａ、（１−ａ）が変化する様子を示している。
【００３７】
そして、色Ｃｅは、「Ｃｅ＝Ｃｂ・ａ＋Ｃｖ・（１−ａ）」なる式で求めている。但し、Ｃｂは、不透明物体２０２の色（または、背景色）、Ｃｖは、部分空間の色である。
【００３８】
次に、図１を参照して、上述したような処理を行なう装置の位置構成形態を説明する。
【００３９】
本装置は、モデルデータ格納部１０１と、画像生成制御部１０２と、形状レンダリング部１０３と、画素ごとに色情報を格納するフレームバッファ１０６と、該フレームバッファの内容を参照して表示出力を行なう表示部１１１と、光ぼう生成部１１０とを有して構成されている。また、光ぼう生成部１１０は、境界レンダリング部１０４、差分演算部１０５、積和バッファ１０８、および合成部１０９を備えている。
【００４０】
表示部１１１は、ＣＲＴ、液晶ディスプレイ等で実現可能であり、また、各バッファは、ＲＡＭ等のメモリデバイスで実現できる。その他の構成要素も、例えば、各種の処理を行なうＣＰＵ、予めプログラムを内蔵したＲＯＭ、記憶素子やワークエリアとして機能するＲＡＭ、各種の論理演算を行なう論理素子等の電子デバイスで実現できる。したがって、本装置は、１台の計算機上で実現可能である。
【００４１】
モデルデータ格納部１０１は、モデルデータや、視点情報を格納する。
【００４２】
モデルデータとしては、表示対象となる３次元空間内に存在する物体の形を表す形状データ、配置や大きさを示す配置データ、色や質感を示す属性データ、照明の設定条件や照射方向を示す照明データがある。また、視点情報としては、視点４０１の位置、方向、画角等を示すデータが挙げられる。
【００４３】
奥行きバッファ１０７は、隠面消去を行なうために、特定位置、例えば視点位置から、モデルデータまでの奥行きデータを格納する。
【００４４】
画像生成制御部１０２は、モデルデータ格納部１０１の格納内容を参照して、視点４０１から見た、物体の３次元データを、２次元画像データに変換、生成するために、各種バッファへのアクセス動作を行なうとともに、形状レンダリング部１０３の動作を制御する。
【００４５】
形状レンダリング部１０３は、モデルデータ等を参照して、２次元画像の描画生成処理を行なう。
【００４６】
画像生成制御部１０２は、画像生成を行なう際に、まず、画像情報を格納するフレームバッファ１０６と、画像を生成する際に使用する作業バッファ、図１に示す例では、奥行きバッファ１０７1を初期化する。
【００４７】
フレームバッファ１０６の初期化は、生成する画像の背景色、例えば黒色のデータを、バッファに格納することで行なえばよい。奥行きバッファ１０７の初期化は、バッファに、無限遠の値を設定しておけばよい。
【００４８】
画像生成制御部１０２は、この初期化処理の後、形状の描画を行なう。
【００４９】
即ち、画像生成制御部１０２は、形状レンダリング部１０３に対し、視点データ、照明データを与え、その後、形状データを順次、形状レンダリング部１０３に与えることによって、形状レンダリング部に画像生成を行なわせる。
【００５０】
形状レンダリング部１０３は、形状データを、視点データを参照して投影変換し、形状データのフレームバッファ１０６内での格納位置、および、視点位置からの奥行距離を、画素単位で求める。
【００５１】
次に、形状レンダリング部１０３は、照明データに従って、各画素の色情報の決定を行なう。この際、隠面消去を行なうため、さらに、以下の処理を行なう。
【００５２】
即ち、奥行きバッファ１０７における、対応する画素位置の奥行きデータを読み出し、既に、形状データに対する奥行データよりも、手前の位置を表す値が、奥行きバッファ１０７に書き込まれている場合には、フレームバッファ１０６への色情報の書き込みは行なわない。一方、奥行きバッファ１０７の値が、手前の位置を表す値でない場合には、フレームバッファ１０６に対し、対応する画素に色情報を書き込む。さらに、奥行きバッファ１０７へ、形状の奥行データの値を書き込む処理を行なう。このような処理を行なうことによって、視点位置から見た３次元モデルの描画のための情報が、フレームバッファ１０６に格納される。
【００５３】
なお、以上説明した、形状レンダリング部１０３が行なうレンダリング処理は、「Z-Buffer法」と称される公知の手法であるため、その詳細な説明については、省略する。
【００５４】
フレームバッファ１０６に格納された画像情報は、表示部１１１によって、画面表示される。
【００５５】
次に、３次元空間内に、微粒子が部分的に存在する部分空間を画像として生成する処理について説明する。微粒子が部分的に存在するモデルとしては、例えば、微粒子に照射された光が拡散して、光が到達している部分の微粒子が可視状態となることによって生じる光ぼう現象や、ＣＴスキャナを備えた三次元断層撮影等によって得られる、データの存在密度に分布があるモデル等が考えられる。
【００５６】
前者の具体例としては、霧の中を、自動車のヘッドライトが照射した状態や、タバコの煙に、光を照するケース等が考えられる。また、光が、窓から室内に向けて、さしこむ状態も考えられる。
【００５７】
後者の例としては、人間の頭部の断層写真が示すデータ等が挙げられる。
【００５８】
次に、本発明の主要部である、光ぼう生成部１１０が行なう処理を説明する。
【００５９】
まず、画像生成制御部１０２は、部分空間の境界を、形状データとして作成する。作成方法としては、図２に示すように、ある体積を占める部分空間を、複数配置するのが一般的である。
【００６０】
他の作成方法としては、光ぼうに関しては、光の遮蔽物（不透明物体）の輪郭線を、光源が存在する位置とは反対方向に、掃引することで、部分空間の境界形状を求める。ここで、掃引とは、形状を所定方向に伸ばした状態を想定して形状データを生成することを意味し、グラフィック処理の一般的な手法である。
【００６１】
また、三次元断層撮影データの例では、データの分布密度が、ある値以上となる（または、ある値以下になる）領域の境界線を、境界形状として生成する。
【００６２】
なお、境界形状を生成する際には、境界形状に対する法線の方向が、部分空間の内側または外側のいずれか一方を向くようにしておく。これにより、境界形状が、視点から見たときに、部分空間の視点側の境界なのか、反対側の境界なのか、即ち、表・裏を判別することができる。
【００６３】
画像生成制御部１０２は、境界レンダリング部１０４に対し、視点データ、照明データを与えた後、求めた境界形状の情報を与える。境界レンダリング部１０４は、指示された境界形状の、表裏判定を行なう。これは、境界形状の法線方向と、視線の方向とを比較することによって求めることが可能である。この判定結果を、差分演算部１０５に与える。
【００６４】
次に、境界レンダリング部１０４は、境界形状のレンダリングを行なう。レンダリング処理は、形状レンダリング部１０３と同様の処理によって行うが、このとき輝度計算は行なわず、奥行きバッファ１０７を参照して、部分空間の境界面に対する奥行データを求めることのみ行なう。
【００６５】
視点位置から見える境界形状ならば、その奥行きデータを、差分演算部１０５に与える。レンダリングにおける各画素毎の奥行き情報の計算は、形状レンダリング部１０３1においても使用する「３DDDA」と称される、一般的な手法を採用
して行なう。専用ハードウエアを備えることにより、処理の高速化が図れる。
【００６６】
ここで、差分演算部１０５の処理概要を、図６を参照して説明する。
【００６７】
図６（ａ）には、境界レンダリング部１０４、奥行きバッファ１０７、積和バッファ１０８、および、差分演算部１０５を示している。
【００６８】
積和バッファ１０８は、部分空間の画像生成処理の前に、「０」で初期化される。その後、境界レンダリング部１０４により、視点位置から見えると判断された画素（図中「画素」と、図示した１画素）の奥行きデータが、差分演算部１０５が備える減算部に与えられる。
【００６９】
次に、奥行きバッファ１０７の対応する画素の奥行きデータ６０２を参照し、６０１と６０２の差分を求める。この差分値が、図４に示す「Ｚｎ’」である。
【００７０】
差分演算部１０５が備える加減算部は、境界レンダリング１０４が求めた法線方向から表裏判定を行ない、表側ならば、「Ｚｎ’」に「＋」の符号を付加し、裏側ならば「Ｚｎ’」に「−」の符号を付加していき、積和バッファ１０８の画素の対応するデータ６０３の値と、求まった差分値の演算を行ない、演算結果を再び積和バッファ１０８の画素６０３に対するエリアに格納する。
【００７１】
これにより、視線が部分空間を通過する距離、即ち、図４に示すｄを求めることができる。
【００７２】
このようにして、画素単位の距離情報が、積和バッファ１０８に格納される。
【００７３】
なお、三次元断層撮影データのように、部分空間のデータのみで、不透明物体が存在しないモデルの場合には、差分演算部１０５の構成を簡素にすることができる。これを図６(ｂ)に示す。図示するように、奥行きバッファ１０７との差分処理がなくなり、積和バッファ１０８との演算処理のみとなる。また、演算処理は境界形状が視点側にある場合には減算処理、反対側にある場合には加算処理とする。加減算部は、このような処理によって、部分空間中を視線が通過する距離ｄを求め、積和バッファ１０８に格納する。
【００７４】
次に、画像生成制御部１０２は、合成部１０９に対して、部分空間のレンダリング画像の合成を指示する。合成部１０９は、積和バッファ１０８に格納された距離データｄを使用して、各画素毎に次の演算を行なう。
【００７５】
ａ＝ｅｘｐ(−Ｋ・ｄ)  （式１）
（但し、Ｋは、部分空間内を光線が通過する際の減衰率を示す定数）
なる式で、光の減衰量を求める。そして、
Ｃｅ＝Ｃｂ・ａ＋Ｃｖ・(1.0−ａ)  （式２）
なる式で、画素ごとに、視点位置からの色情報を定める。
【００７６】
Ｃｂは、フレームバッファ１０６に格納されている色情報であり、Ｃｖは、部分空間の色情報を示す。また、aは次の式で求める。
【００７７】
合成部１０９は、以上のような計算を行ない、Ｃｅの値を、フレームバッファ１０６格納する。
【００７８】
これによって、表示部１１１は、部分空間への光の照射を考慮した画像を表示出力できる。
【００７９】
以上説明してきたように、本実施形態によれば、部分空間に均質に存在する微粒子状のモデルを、その厚みがわかるように、リアルかつ高速に生成することが可能となる。これにより、光ぼう、三次元断層データ等を、リアルかつ高速に表現を可能な画像生成装置を実現できる。
【００８０】
次に、光ぼうの表現を行なうための、第２の実施形態について、図７、図８を参照して説明する。
【００８１】
図７に、第２の実施形態における構成例を示す。
【００８２】
本装置は、モデルデータ格納部１０１と、形状レンダリング部１０３と、フレームバッファ１０６と、奥行きバッファ１０７と、表示部１１１と、光ぼうプレート生成部７０２と、各構成要素の動作を制御する画像生成制御部７０１とを有して構成される。
【００８３】
なお、モデルデータ格納部１０１、形状レンダリング部１０３、フレームバッファ１０６、奥行きバッファ１０７、および表示部１１１は、図１において同じ符号を付したものと、同一のものである。
【００８４】
画像生成制御部７０１は、光ぼう以外のモデルデータのレンダリングを、形状レンダリング部１０３を起動することによって行ない、光ぼうの表現を、光ぼうプレート生成部７０２を起動することによって行なう。
【００８５】
さて、図８を参照して、光ぼうプレート生成部７０２が行なう、光ぼう表現の処理概要を説明する。
【００８６】
ここで、図８（ａ）に示すように、照明の光源８０１と視点４０１が存在することを想定する。光源８０１は、光を照射する対象物８０２上の点８０３を原点とした、Ｘ、Ｙ、Ｚ座標系のＺ軸上に存在し、領域８０４が照明エリアとなっている。視点４０１の座標は、（Ｅｘ、Ｅｙ、Ｅｚ）であり、座標（Ａｘ、Ａｙ、Ａｚ）である注視点８０５を注視している。また、視線は、８０６で表現している。
【００８７】
光ぼうを表現するための、光ぼうプレート８１１は、図８（ｂ）、（ｃ）に示すようにして生成する。
【００８８】
まず、視線８０６をＸＹ平面に投射した直線８０７を計算により求める。次に、直線８０７と平行で、座標系原点８０３を通る直線８０８を定める。次に、ＸＹ平面上の直線で、直線８０８と直交する直線８０９を、照明の照射エリア８０４をカバーするように、所定間隔で生成する。次に、直線８０９と平行で、光源位置８０１を通る直線８１０を求める。
【００８９】
そして、光ぼうプレート８１１は、直線８１０と各直線８０９とを含む平面として生成する。
【００９０】
以上のようにして生成した、光ぼうプレート８１１に対して、図８（ｄ）、（ｅ）に示すようにして、半透明の属性パターンを生成する。図８（ｄ）は、視点４０１から見た画像であるとする。図８（ｄ）に示すように、光源位置８０１からの光は、照射対象物である８０２、８１２に照射される。
【００９１】
なお、８１４は、照射対象物である８０２、８１２等に遮られた光ぼうを示している。
【００９２】
図８（ｅ）は、図８（ｄ）において、照射対象物８０２、８１２を、光源位置８０１から、光の照射方向に投影した際の、奥行きバッファ１０７の内容を示す。図８（ｅ）に示すように、奥行きバッファ１０７には、光源位置８０１から、照射対象物である８０２、８１２までの距離Ｚ０、Ｚ１が、図に示すように格納される。なお、図８（ｅ）において、８１６、８１５は、夫々、奥行きバッファ１０７に対するｘ軸、ｙ軸である。奥行きバッファ１０７に格納するデータは、形状レンダリング部１０３が作成する。つまり、画像生成制御部７０１は、照明位置および照明方向を、視点情報として、形状レンダリング部１０３に与え、さらに、光が照射される照射エリアの形状データを、形状レンダリング部１０３に与えることによって、奥行きバッファ１０７に格納するデータを生成する。そして、生成した奥行きデータを基に、光ぼうプレートの半透明属性パターンを、各プレート毎に決定する。
【００９３】
図８（ｅ）に示すように、光ぼうプレートは、光源位置から見ると、直線８１７のように観測される。この直線８１７を辿って、奥行きデータを得ることによって、光ぼうプレート８１１上で、照明の到達する距離を求めることができる。
【００９４】
また、光ぼうプレート８１１上の光源位置８１３を起点として、奥行きバッファ１０７に格納された値が示す距離まで、半透明属性を設定する。
【００９５】
また、奥行きバッファ１０７に格納された値が示す距離以上の部分、または、照明領域にならない部分は、透明の属性を設定しておけば良い。図８（ｅ）下図は、各光ぼうプレート８１１を示している。白色の部分が、半透明属性を設定する部分である。
【００９６】
このような処理によって、光ぼうプレート８１１上に、光ぼうの断面を生成することができる。半透明の属性パターンは、一般には、テクスチャマッピングと称される手法によって、形状の表面属性として表現できる。
【００９７】
以上の処理によって生成した、光ぼうプレート８１１を、形状レンダリング部１０３に描画指示することによって、照射対象物８０２、８１２等に遮られた、光ぼうを表現することが可能になる。このとき、光ぼうプレート８１１の描画は、視点位置から遠いものから順に、行なっていけば良い。
【００９８】
また、光ぼうプレートの属性設定の際には、図９に示すように、中心部の透明度が小さく、周辺部に向かうほど透明度が高くなる属性パターン９０１を複数種類予め用意しておき、その中から、必要な部分のみを切り出して、属性パターンを設定することも可能である（図９、９０２参照）。なお、透明度を、中心からの距離に対し線形、または、中心からの距離の２乗に反比例させて、変化させるようにすることによって、照明光の、距離による減衰状態をリアルに表現することが可能となる。
【００９９】
なお、光源位置から見た場合の、奥行きバッファ１０７への格納データを作成する際に、視点方向が、バッファのＸ軸８１６の方向またはＹ軸８１５の方向と等しくなるように、奥行き情報を生成しておくと、光ぼうプレート８１１の属性設定処理が容易になり好ましい。
【０１００】
光ぼうプレートの生成量が多いほど、光ぼうの表現がリアルになるが、視点位置４０１と、光ぼうの位置に応じて、光ぼうプレートの生成量を変化させることも考えられる。すなわち、視点位置４０１と光ぼうの位置とが近い場合には、光ぼうプレートを多く生成し、遠い場合には、光ぼうプレートの生成量を少なくする。なお、このような遠近は、しきい値を設けて判定すれば良い。また、照明を遮蔽する物体の数に応じて変化させることも考えられる。
【０１０１】
以上述べたように、第２の実施形態によれば、遮蔽物に遮られた光ぼうの表現を、リアルかつ高速に行なうことが可能となる。また、光が減衰する状態も、リアルに表現可能となる。
【０１０２】
次に、輝度が高いものを見たときに、光の回折現象で起きる、いわゆるグレアの表現方法の一実施形態について、図１０、１１、１２を参照して説明する。
【０１０３】
図１０は、第３の実施形態における装置構成例である。
【０１０４】
本装置は、モデルデータ格納部１０１と、形状レンダリング部１０３と、フレームバッファ１０６と、奥行きバッファ１０７と、表示部１１１と、グレアプレート生成部１００２と、各部の動作を制御して画像生成を行なわせる画像生成制御部１００１とを有して構成される。なお、モデルデータ格納部１０１、形状レンダリング部１０３、フレームバッファ１０６、奥行きバッファ１０７、および、表示部１１１は、図１にて示した、同一符号を付したものと同一のものである。
【０１０５】
画像生成制御部１００１は、グレア以外のモデルデータのレンダリングを、形状レンダリング部１０３に行なわせ、グレアの表現生成は、グレアプレート生成部１００２に行なわせる。
【０１０６】
グレアプレート生成部１００２は、図１１（ａ）に示すようなグレアの表現を行なうための画像データ、即ち、グレアパターン１１０１、１１０２を予め作成して用意しておく。なお、図示したグレアパターンは一例であることは言うまでもない。
【０１０７】
これらのグレアパターンに対しては、透明度を変化させるような属性を設定する。即ち、グレア表現に関係のない部分を透明とし、グレアパターンの部分だけ半透明の属性を設定しておく。
【０１０８】
次に、モデルデータに対する照明情報から、その照明が、表示部１１１の画面１１０３上に投影されるべき点１１０４の位置を計算する。
【０１０９】
図１１（ｂ）に、表示部１１１の表示画面１１０３上の、点１１０４を示す。
【０１１０】
次に、グレアプレート生成部１００２は、照明情報から、どれくらいの強度で照明が視点に入射するかを計算する。この計算は次式で行なう。
【０１１１】
Ｉ＝Ｉo・Ｆ(θ)/ｒ２  （式３）
但し、Ioは、照明の輝度、ｒは、光源位置までの距離を示す。また、Ｆ(θ)は、照明の指向性を考慮した値であり、スポットライトのように指向性を有する場合、指向特性を考慮した値となり、一方、指向性の無い光源に対しては、一定値となる。なお、θは、図１２に示すように、照明位置１２０１における照明の照射方向１２０２と視点位置４０１とのなす角である。なお、１２０３は、ある視点位置において、照明光が可視状態となる、最も外側の光線を示している。
【０１１２】
さて、求まった視点における照明の輝度にもとづき、グレアプレート生成部１００２は、グレアパターン１１０１の大きさ、透明度を適宜変更し、照明の投影位置１１０４に重畳合成する。
【０１１３】
重畳合成の方法としては、グレアパターンをテクスチャデータとして、平面にマッピングすることで、テクスチャマッピングの半透明マッピング機能を利用し、高速にグレアを表現できる。このとき、テクスチャマッピングを行う平面は、視線に垂直に正対させ、位置は、照明位置に置くことにする。また、平面のレンダリング時点においては、Z-Bufferの比較処理は、行わない。
【０１１４】
また、高輝度の照明を写真等で撮影したときに生じるレンズフレアは、画面中心位置（図１１（ｃ）の直線ａ、ｂの光点）と照明の投影位置１１０４とを結ぶ線上に、適宜配置することで表現することができる。この様子を、図１１（ｃ）に示す。
【０１１５】
なお、形状レンダリング部１０３による照度計算処理の結果から、画面上の高輝度な部分を抽出して、グレア表現することも考えられる。つまり、形状レンダリング部１０３により、形状をレンダリングした結果は、フレームバッファ１０６に格納されている。このフレームバッファ１０６に格納されているデータを順次調べ、カメラの特性から、表現できる明るさ以上の輝度が格納されているエリアを求める。その後、求まった高輝度の位置に対して、その輝度値に応じて、グレアパターン１１０１の大きさ、透明度を変更し、重畳合成する。このような手法によっても、高輝度部に対してのグレアの表現が可能となる。
【０１１６】
以上のように、本実施形態によれば、リアルかつ高速なグレアの表現が可能となる。
【０１１７】
次に、光ぼう生成部１１０と、グレア生成部とを備えた装置形態について、図１３を参照して説明する。
【０１１８】
本装置は、モデルデータ格納部１０１と、形状レンダリング部１０３と、フレームバッファ１０６と、奥行きバッファ１０７と、表示部１１１と、グレアプレート生成部１００２と、光ぼう生成部１１０と、各部の動作を制御して画像生成を行なわせる画像生成制御部１３０１とを有して構成される。
【０１１９】
ここで、モデルデータ格納部１０１、形状レンダリング部１０３、フレームバッファ１０６、奥行きバッファ１０７、表示部１１１は、図１にて示した、同一符号を付したものと同一のものである。
【０１２０】
また、グレアプレート生成部１００２は、図１０にて示した、同一符号を付したものと同一のものである
これらに対して、光ぼう生成部１１０は、図１に示した光ぼう生成部１１０または図７に示した光ぼう生成部のいずれかを採用すれば良い。
【０１２１】
また、画像生成制御部１３０１は、図１に示した画像生成制御部１０２または図７に示した画像生成制御部７０１の機能と、図１０に示した画像生成制御部１００１の機能を兼ねた手段である。
【０１２２】
詳細な動作は、前述した通りなので、重複説明することは避けるが、本装置によって、光ぼう、グレアを、リアルかつ高速に表現できる。
【０１２３】
本装置が行なう処理によって、例えば、図１４に示すように、車のヘッドライトによる光ぼうと、ヘッドライトのグレアの表現とが可能となる。このような描画処理は、ドライブシミュレータ、フライトシミュレータ等のシステムへ応用し、高品質の画像表示を行なうシステムを構築できる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１実施形態の構成図である。
【図２】図３のA-A'線の断面図である。
【図３】本発明による画像生成例の説明図である。
【図４】図２のB-B'線の拡大図である。
【図５】減衰量の説明図である。
【図６】差分演算部が行なう処理の説明図である。
【図７】本発明の第２実施形態の構成図である。
【図８】第２実施形態による処理の説明図である。
【図９】透明度を表現する属性パターンの説明図である。
【図１０】本発明の第３実施形態の構成図である。
【図１１】第３実施形態による処理の説明図である。
【図１２】照明照射方向と視線との関係の説明図である。
【図１３】本発明の他の実施形態の構成図である。
【図１４】他の実施形態による処理結果の説明図である。
【符号の説明】
【０１２５】
１０１…モデルデータ格納部、１０２…画像生成制御部、１０３…形状レンダリング部、１０４…境界レンダリング部、１０５…差分演算部、１０６…フレームバッファ、１０７…奥行きバッファ、１０８…積和バッファ、１０９…合成部、１１０…光ぼう生成部、１１１…表示部
【図１】
2005310188.tif 000003
【図２】
2005310188.tif 000004
【図３】
2005310188.tif 000005
【図４】
2005310188.tif 000006
【図５】
2005310188.tif 000007
【図６】
2005310188.tif 000008
【図７】
2005310188.tif 000009
【図８】
2005310188.tif 000010
【図９】
2005310188.tif 000011
【図１０】
2005310188.tif 000012
【図１１】
2005310188.tif 000013
【図１２】
2005310188.tif 000014
【図１３】
2005310188.tif 000015
【図１４】
2005310188.tif 000016
【手続補正書】
【提出日】平成17年7月29日(2005.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画素ごとに色情報を格納するフレームバッファと、
該フレームバッファの内容を参照して表示出力を行なう表示手段と、
予め定めた複数種類のグレアパターンをマッピングするグレア処理手段と、を備え、
該グレア処理手段は、表示画面の中心位置と光源の存在位置とを結ぶ直線上に、１以上のグレアパターンをマッピングするように、グレアパターンを前記フレームバッファに格納する画像生成装置。
【請求項２】
表示対象となる物体の形状を示す情報および該物体に対する照明の設定条件を示す照明情報と、該物体を観察する視点の視点位置を含む視点情報とを利用して画像処理を行う画像生成装置であって、
画素ごとに色情報を格納するフレームバッファと、
前記フレームバッファの内容を参照して表示画面に表示出力を行なう表示手段と、
予め定めた複数種類のグレアパターンをマッピングするグレア処理手段と、を有し、
前記グレア処理手段は、
前記照明情報を用いて前記表示画面上における照明の投影位置を求め、前記視点情報および前記照明情報を用いて、視点に入射する照明の輝度を算出し、該算出した視点に入射する照明の輝度を用いて、前記グレアパターンの大きさおよび透明度を求め、
前記表示画面上における照明の投影位置に前記求めた大きさおよび透明度のグレアパターンをマッピングするように、該グレアパターンを前記フレームバッファに格納すること
を特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記照明情報には、照明の位置、照明の照射方向、および照明の輝度を示す情報が含まれていて、
前記グレア処理手段は、
前記照明に指向性がある場合、前記照明の位置における照射方向と前記視点位置とがなす角度を求めると共に、前記視点位置と前記照明の位置との距離を求め、前記求めた角度により定まる値と、前記求めた距離と、前記照明の輝度とを用いて前記視点に入射する照明の輝度を算出し、
前記照明に指向性が無い場合、前記視点位置と前記照明の位置との距離を求め、前記求めた距離と、前記照明の輝度と、所定の定数とを用いて前記視点に入射する照明の輝度を算出すること
を特徴とする画像生成装置。
【請求項４】
表示対象となる物体の形状を示す情報および該物体に対する照明の設定条件を示す照明情報と、該物体を観察する視点の視点位置を含む視点情報とを利用して画像処理を行う画像生成装置であって、
フレームバッファと、
前記形状を示す情報、前記照明情報、および前記視点情報を用いて、前記視点位置から見た物体の形状を示す画像情報を生成し、該画像情報をフレームバッファに格納する形状レンダリング手段と、
前記フレームバッファの内容を参照して表示出力を行なう表示手段と、
予め定めた複数種類のグレアパターンをマッピングするグレア処理手段と、を有し、
前記グレア処理手段は、
前記フレームバッファに格納されている物体の形状を示す画像情報を順次調べ、所定の明るさ以上の輝度の画像情報が格納されているエリアを求め、該求めたエリアの輝度に応じてグレアパターンの大きさおよび透明度を求め、
前記所定の明るさ以上の輝度が格納されているエリアに、該エリアの輝度に応じて求めた大きさおよび透明度のグレアパターンをマッピングするように、該グレアパターンを前記フレームバッファに格納すること
を特徴とする画像生成装置。
【請求項５】
表示対象となる物体の形状を示す情報および該物体に対する照明の設定条件を示す照明情報と、該物体を観察する視点の視点位置を含む視点情報とを利用して画像処理を実行する計算機が行う画像生成方法であって、
前記計算機には、フレームバッファと、該フレームバッファの内容を参照して表示出力を行なう表示手段とが設けられていて、
予め定めた複数種類のグレアパターンを作成するステップと、
前記照明情報を用いて表示画面上における照明の投影位置を求めるステップと、
前記表示画面の中心位置と前記投影位置とを結ぶ直線上に、予め定めた１以上のグレアパターンをマッピングするように、グレアパターンを前記フレームバッファに格納するステップとを行うこと
を特徴とする画像生成方法。
【請求項６】
表示対象となる物体の形状を示す情報および該物体に対する照明の設定条件を示す照明情報と、該物体を観察する視点の視点位置を含む視点情報とを利用して画像処理を実行する計算機が行う画像生成方法であって、
前記計算機には、フレームバッファと、該フレームバッファの内容を参照して表示画面に表示出力を行なう表示手段とが設けられていて、
予め定めた複数種類のグレアパターンを作成するステップと、
前記照明情報を用いて前記表示画面上における照明の投影位置を求めるステップと、
前記視点情報および前記照明情報を用いて、視点に入射する照明の輝度を算出するステップと、
前記算出した視点に入射する照明の輝度を用いて、前記グレアパターンの大きさおよび透明度を求めるステップと、
前記表示画面上における照明の投影位置に前記求めた大きさおよび透明度のグレアパターンをマッピングするように、該グレアパターンを前記フレームバッファに格納するステップと、を行うこと
を特徴とする画像生成方法。