JP2007299080A - 画像生成方法及び画像生成装置 - Google Patents

画像生成方法及び画像生成装置 Download PDF

Info

Publication number
JP2007299080A
JP2007299080A JP2006124656A JP2006124656A JP2007299080A JP 2007299080 A JP2007299080 A JP 2007299080A JP 2006124656 A JP2006124656 A JP 2006124656A JP 2006124656 A JP2006124656 A JP 2006124656A JP 2007299080 A JP2007299080 A JP 2007299080A
Authority
JP
Japan
Prior art keywords
image
line
patch
virtual
generation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006124656A
Other languages
English (en)
Inventor
Masanori Kakimoto
正憲 柿本
Haru Ko
春 耿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SGI Japan Ltd
Original Assignee
SGI Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGI Japan Ltd filed Critical SGI Japan Ltd
Priority to JP2006124656A priority Critical patent/JP2007299080A/ja
Publication of JP2007299080A publication Critical patent/JP2007299080A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】反射又は屈折する物体の表面における画像を、インタラクティブ性と正確性とを両立させながら生成することが可能な方法及び装置を提供する。
【解決手段】視点2から、パッチ5におけるサンプル頂点7へ向けて延びる視線8がパッチ5で反射又は屈折した後に延びて行く方向を、視線ベクトル9として求める。ついで、視線ベクトル9又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点Pとして求める。ついで、視線ベクトル9の方向を実質的に全て含むように仮想視野Vを求める。ついで、仮想視点Pから見た、仮想視野における投影画像を求める。ついで、投影画像をテクスチャ画像としてパッチに貼り付けることによってテクスチャマッピングを行う。
【選択図】図8

Description

本発明は、画像生成方法及び画像生成装置に関するものである。特に、本発明は、光線の反射や屈折を生じる物体の表面における画像を、コンピュータグラフィックスによって生成するための方法及び装置に関するものである。
コンピュータグラフィックスにおいて、反射や屈折の表現は、リアルな画像の生成のための重要な要素である。レイトレーシング[非特許文献1]は、反射・屈折を正確にシミュレートする手法である。
レイトレーシングの高速化はさまざまな観点から提案されている。しかしながら、実用的な規模のシーンを、リアルタイムな、あるいはインタラクティブ操作可能なフレームレートで表示することは、依然困難である。
一方で、映りこみの効果を高速に表示するためには環境マッピングとその派生的な手法が使われている。環境マッピング[非特許文献2]は、グラフィックスハードウェアに実装することができるため[非特許文献3]、リアルタイム処理が可能である。リアルタイムグラフィックスで設定する通常の光源のかわりに、光源位置を反映した環境マップを作成し、光源マップ(light map) として使用することにより、大域照明の効果を出すのにも、この技術が用いられている。ただし、環境マッピングでは、反射や屈折を正確にシミュレートすることが難しい。
通常、環境マッピングでは、静的な画像を環境マップとして用いるが、これを動的に生成するのがキューブマッピングである。キューブマッピング[非特許文献4] では、反射物体の中心付近の代表点から6 方向に向けて6 回描画を行い環境マップを作成し、それを使って反射物体の描画を行う。
一般に環境マッピングでは、視線方向が違う場合には異なるマップを用意する必要がある。これを解決するために、Cabral らは複数視線方向の環境マップを用意し、実行時の視線方向に応じて最近傍の3 つのマップを重み付けして合成する手法を発表した[非特許文献5]。同様に、Hakura ら[非特許文献6] は、反射物体の周りの多数の視点から見た場合の環境マップを別々にレイトレーシングで前計算しておくことにより、実行時にレイトレーシングと同等の描画を行った。これらの方法は止まった物体あるいは移動の少ない物体を周りから見るのには適しているが、物体がシーンの中を動き回るような場合、膨大な前処理が必要になってしまう。
レイトレーシングの高速化の一手法として、光束追跡法[非特許文献7] [非特許文献8] も存在するが、これでもリアルタイムでの画像生成は、現状のCPU性能を前提とすれば困難である。
曲面での反射画像の生成を、インタラクティブな操作可能な速さで実現するための別のアプローチとして、Ofek らによるExplosion Map がある[非特許文献9]。彼らは、映りこむ物体を反射曲面の形状に応じて変形させた物体を虚像の位置に置いて描画を行う手法を提案した。この手法では、CPUの演算によって形状の変形とテセレーションを行うため、大規模なデータの扱いに難点がある。映りこむ物体の数が多いか、あるいは、異なる反射面が複数あってそれぞれ別の変形が必要な場合は、それらの数に応じて前処理時間がかかるため、インタラクティブ性に問題が出てくる。
[1] T. Whitted. An Improved Illumination Model for Shaded Display. Communications of the ACM, Vol. 23, No. 6, pp. 343-349, 1980. [2] J. F. Blinn and M. E. Newell. Texture and reflection in computer generated images. Communications of the ACM, Vol. 19, No. 10, pp. 542-547, 1976. [3] Paul Haeberli and Kurt Akeley. The accumulation buffer: hardware support for high-quality rendering. Proc. SIGGRAPH ’90, pp. 309-318, 1990. [4] Douglas Voorhies and Jim Foran. Reflection vector shading hardware. Proc. SIGGRAPH '94, pp. 163-166, 1994. [5] Brian Cabral, Marc Olano, and Philip Nemec. Reflection space image based rendering. Proc. SIGGRAPH '99, pp. 165-170, 1999. [6] Ziyad S. Hakura, John M. Snyder, and Jerome E. Lengyel. Parameterized environment maps. SI3D '01: Proceedings of the 2001 symposium on Interactive 3D graphics, pp. 203-208, 2001. [7] Mikio Shinya, T. Takahashi, and Seiichiro Naito. Principles and applications of pencil tracing. Proc. SIGGRAPH ’98, pp. 45-54, 1987. [8] 新谷幹夫, 高橋時市郎. 光束追跡の理論と誤差解析. 電子情報通信学会論文誌., Vol. Vol. J72-D-II, No. 12, pp. 2000-2011, 1989. [9] Eyal Ofek and Ari Rappoport. Interactive reflections on curved objects. Proc. SIGGRAPH '98, pp. 333-342, 1998. [10] Scott Vallance and Paul Calder. Inward looking projections. Proc. GRAPHITE '03, pp. 219-222, 2003.
本発明は、前記した事情に鑑みてなされたものである。本発明は、反射又は屈折する物体の表面における画像を、リアルタイム性ないしインタラクティブ性と正確性ないし画質とを両立させながら生成することが可能な方法及び装置を提供することを目的としている。
請求項1に記載の方法は、頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する方法であって、さらに、以下のステップを備えている:
(1)視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるステップ;
(2)前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるステップ;
(3)前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるステップ;
(4)前記仮想視点から見た、前記仮想視野における投影画像を求めるステップ;
(5)前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うステップ。
請求項2に記載の方法は、請求項1に記載の方法における前記ステップ(5)が、以下のステップを含んでいるものである:
(5a)前記視点から前記頂点へ延び、その後に前記頂点で反射又は屈折された視線と、前記視野内での物体の交点を求めるステップ;
(5b)前記交点に対応する、前記投影画像上の位置を求めるステップ;
(5c)前記投影画像上の位置を前記テクスチャ画像上の位置として割り当てて、前記テクスチャマッピングを行うステップ。
請求項3に記載の方法は、請求項1又は2に記載の方法において、前記ステップ(5)の後に、さらに以下のステップを備えたものである:
(6)前記視点から見た、前記パッチ上のテクスチャ画像を含む全景の画像を生成して表示するステップ。
請求項4に記載の方法は、請求項1〜3のいずれか1項に記載の方法において、前記パッチが、反射体表面の全部又は一部を構成しているものである。
請求項5に記載の方法は、請求項1〜3のいずれか1項に記載の方法において、前記パッチが、レンズ表面の全部又は一部を構成しているものである。
請求項6に記載の装置は、頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する装置であって、さらに、視線ベクトル生成部と、仮想視点生成部と、視野生成部と、仮想視点画像生成部と、表示画像生成部とを備えている。前記視線ベクトル生成部は、視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるものである。前記仮想視点生成部は、前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるものである。前記視野生成部は、前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるものであある。前記仮想視点画像生成部は、前記仮想視点から見た、前記仮想視野における投影画像を求めるものである。前記表示画像生成部は、前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うものである。
請求項7に記載のコンピュータプログラムは、頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する方法であって、さらに、以下のステップを備えた方法を、コンピュータにより実行させるものである:
(1)視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるステップ;
(2)前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるステップ;
(3)前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるステップ;
(4)前記仮想視点から見た、前記仮想視野における投影画像を求めるステップ;
(5)前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うステップ。
請求項8に記載の画像データは、請求項1に記載の方法により得られた前記投影画像が、テクスチャ画像として前記パッチの領域に貼り付けられているものである。
請求項9に記載の画像データは、請求項2に記載の方法により得られた前記投影画像が、テクスチャ画像として前記パッチの領域に貼り付けられており、さらに、前記交点に対応する、前記投影画像上の位置の画素値が、前記テクスチャ画像における交点の画素値として割り当てられているものである。
本発明によれば、反射又は屈折する物体の表面における画像を、リアルタイム性ないしインタラクティブ性と正確性ないし画質とを両立させながら生成することが可能な方法及び装置を提供することができる。
以下、本発明の一実施形態を、添付図面を参照して説明する。この実施形態の説明では、理解を容易とするために、まずは反射面を前提とする。屈折については後述する。
(前提の説明)
まず、本実施形態で生成される画像の前提を、図1〜図3を参照しながら説明する。
本実施形態における基本的な考え方はキューブマッピングと同様である。まず、3Dモデリング空間内に、様々な物体(人間や動物を含んでもよい)が存在すると仮定する。さらに、この空間内に、反射面1が存在すると仮定する。
この反射面1を、3Dモデリング空間に存在する(と仮定される)観察者の視点2から見る。すると、反射面1には、物体3の像4のように、反射面1で反射された光線によって得られた画像が見えるはずである。したがって、コンピュータグラフィックスを行うソフトウエア又はハードウエアは、この画像を生成して描画する必要がある。
ここで、前提として、反射面1における領域をパッチ5と称する。図2は、反射面1に一つのパッチ5が存在する例を示している。ただし、図3に示すように、反射面1において複数のパッチ5a及び5bが存在してもよい。パッチの数は使用者が適宜に設定できる。
各パッチ5には、図2に示すように、複数のポリゴン6が存在する。すなわち、3Dモデリング空間においては、パッチ5の表面形状は、ポリゴン6の集合により表現される。各ポリゴン6は、複数の頂点7を有する。図示の例では、各ポリゴンが三つの頂点を持っている。頂点の数は4以上であってもよい。物体の形状をポリゴンで表す方法は従来から知られているので説明を省略する。
(画像生成装置)
つぎに、本実施形態にかかる画像生成装置を、図4に基づいて説明する。この画像生成装置は、入力部10と、入力インタフェース11と、表示部20と、出力インタフェース21と、記憶部30と、画像生成部40と、バス50とを備えている。これらの構成要素は、ワークステーションやコンピュータなどのハードウエア自体、又は、ハードウエアにコンピュータプログラムを組み込むことによって構成することができる。
入力部10は、入力インタフェース11を介してバス50に接続されている。入力部10は、例えばキーボードやマウスやタッチパッドなどの適宜な入力機器であり、これを用いて操作者からの指令を入力できるようになっている。
表示部20は、出力インタフェース21を介してバス50に接続されている。出力部20は、例えばディスプレイやプリンタなどの適宜な出力機器であり、これを用いて利用者に画像を提示できるようになっている。
記憶部30は、データ(コンピュータプログラムを含む)の記憶や読み出しができる機器である。記憶部30としては、磁気的記憶装置(例えばハードディスク)、半導体記憶装置(例えばメモリボード)、光学的記憶装置(例えば光ディスクを用いた記憶装置)など、適宜の装置を用いることができる。記憶部30は、ワークステーションやコンピュータに内蔵されているものでも、インターフェース機器を介して外部に接続されるものでもよい。さらに、記憶部30としては、ネットワークを介して利用できる記憶装置であってもよい。記憶部30は、物理的には複数存在する記憶装置によって構成されていてもよい。
本実施形態に係る記憶部30には、ワークステーションやコンピュータを用いて画像生成部40を構成するためのコンピュータプログラムや、本実施形態の方法の実施に用いるデータが予め格納されている。また、記憶部30は、本実施形態の方法の実施に伴って生成されるデータを格納できるようになっている。
画像生成部40は、図5に示すように、視線ベクトル生成部41と、仮想視点生成部42と、視野生成部43と、仮想視点画像生成部44と、表示画像生成部45とを備えている。画像生成部40は、ワークステーションやコンピュータ上で、コンピュータプログラムを実行することにより、機能要素として構成されるものである。
視線ベクトル生成部41は、視点2から頂点7の全部又は一部へ向けて延びる視線8(図1参照)がパッチ5で反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるものである。
仮想視点生成部42は、視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるものである。
視野生成部43は、視線ベクトル(ないしその角度)を実質的に全て含むように仮想視野を求めるものである。
仮想視点画像生成部44は、仮想視点から見た、仮想視野における投影画像を求めるものである。
表示画像生成部45は、投影画像をテクスチャ画像としてパッチ5に貼り付けることによってテクスチャマッピングを行うものである。表示画像生成部45としては、専用のグラフィックスハードウエアを用いることが高速化のために好適であるが、ソフトウエアによりこの機能を実現することもできる。
前記した各部の詳しい動作は、本実施形態に係る画像生成方法の説明(後述)において述べる。
バス50は、前記した各部間でのデータのやりとりを可能にする伝送路である。バス50としては、一本のバスを共用する構成に限らず、専用のバスを別途用いる構成であってもよい。
(本実施形態に係る画像生成方法)
つぎに、本実施形態に係る画像生成方法を、図6に示されるフローチャートを主に参照しながら説明する。
(図6のステップSA−1)
前提として、パッチ5(図2参照)が複数のポリゴン6で構成されているものとする。また、ポリゴン6の全頂点7のうち、以降の処理の対象とするべきサンプル頂点を選んでおくものとする。サンプル頂点の選び方は、操作者が任意に指定してもよいし、何らかのルールで自動的に選択しても良い。また、全頂点をサンプル頂点としてもよい。描画精度を上げるためにはサンプル頂点の数を増すことが好ましく、描画高速化のためにはサンプル頂点の数を減らすことが好ましい。処理結果として生成された画像を見てから操作者がサンプル頂点の数を調整することもできる。以下の説明ではサンプル頂点にも符号7を付して参照する。
このステップSA−1では、視点8(図1参照)から、ポリゴン6におけるサンプル頂点7へ向けて延びる視線が、反射面1におけるパッチ5(より具体的には、そのサンプル頂点7)で反射した後に延びて行く方向を、視線ベクトル9として求める(図7参照)。この操作は視線ベクトル生成部41で行われる。
(図6のステップSA−2)
ついで、仮想視点生成部42は、視線ベクトル9又はそれを延長して得られる複数の直線どうし(図8参照)がほぼ収束している点を、仮想視点Pとして求める。仮想視点Pは、視線ベクトル9又はそれを延長して得られる直線からの距離がほぼ最小となる点であることが好ましい。このような点は、例えば最小自乗法を用いて求めることができる。
仮想視点Pを求める方法の一例を図9を用いて説明する。
(1)まず、二本の直線に対して、それらへの距離が最小となる点P1を求める。
(2)つぎに、別の新たな直線が存在すれば、それに対して、点P1から垂線をおろす。(3)垂線の線分上で新たな直線に対して近づけながら、これまで計算に用いた各直線までの距離の2乗を評価し、合計が最小となる点P2を見つける。
(4)上記(2)及び(3)を逐次行う。N本の直線が存在すれば、N−1回繰り返す。これによって点PN−1を得ることができる。この点PN−1を仮想視点Pとして用いることができる。
(図6のステップSA−3)
ついで、視野生成部43は、視線ベクトル9の方向を実質的に全て含むように仮想視野Vを求める(図7及び図8参照)。仮想視野Vは、ニアクリッピング面NCとファークリッピング面FCとを備えている。仮想視野Vはビューボリュームとも呼ばれ、透視変換する領域を画定するためのものである。ニアクリッピング面NCは、投影面ないしスクリーンとも呼ばれ、透視変換された画像(投影画像)が映し出されると仮定される面である。ファークリッピング面FCは、仮想視野Vの後側(視点から離間した側)の領域を区切っている。
(図6のステップSA−4)
ついで、仮想視点画像生成部44は、仮想視点Pから見た、仮想視野Vにおける投影画像を求める。投影画像は、前記した通り、透視変換によってニアクリッピング面NCに映し出されるべき画像である。これにより、仮想視野Vの中に存在する物体を仮想視点Pから見たときの2D画像を得ることができる。透視変換を行う仮想視点画像生成部44としては、専用のハードウエアを用いたいわゆるジオメトリエンジンを用いることが高速化のためには好適である。ただし、ソフトウエアによって透視変換を行うことも可能である。
(図6のステップSA−5)
ついで、表示画像生成部45は、投影画像をテクスチャ画像としてパッチ5に貼り付けることによってテクスチャマッピングを行う。さらに、表示生成部45は、本来の視点2から見た全景の画像(図1の視点2から見たときの視野内の透視画像)を生成する。この全景の画像における反射面1の画像として、前記したパッチ5に貼り付けられた画像が用いられる。表示画像生成部45は、生成した画像を、従来と同様の方法で表示部20に送って表示することができる。
本実施形態では、前記のようにして、視線ベクトルから得られた仮想視点から見た画像をパッチ5に貼り付けているので、反射面1に映し出される反射画像の正確性を高めることができる。
また、本実施形態では、レイトレーシングと異なり、全ての画素についての視線追跡を行う必要がない。このため、画像生成のための処理時間が短く、インタラクティブ操作可能な速さでの画像生成が可能となる。例えば、移動する反射面1に映り込む画像を、反射面1の移動に伴って次々に作成して、直ちに表示することができる。ここで、インタラクティブ操作可能な速さとは、一般的には、1秒間あたり6フレーム程度、好ましくは10フレーム程度の速さをいう。もちろん、この速さは、扱うシーンのデータ量によって変動する。本実施形態においても、扱うデータ量が過大になれば、画像生成速度は低下する。ただし、本実施形態によれば、扱うデータ量が同じと仮定すれば、レイトレーシングよりも高速に画像生成を行うことができる。このため、本実施形態により、インタラクティブ操作可能な速さでの画像生成が十分に期待できる。また、データ量や用いるハードウエアの能力によっては、リアルタイムでの画像生成(1秒間あたり30フレーム程度、好ましくは60フレーム程度の画像生成)も期待できる。
(テクスチャ画像生成の具体例)
以下、前記したステップSA−5におけるテクスチャ画像の生成手法の具体例を、図10に示すフローチャートを参照しながら説明する。図10に示す方法は、要するに、投影画像をそのままテクスチャ画像に用いるのではなく、より精度を高めた上でテクスチャマッピングを行う方法である。
(図10のステップSB−1)
まず、図11に示すように、視点2からサンプル頂点7へ延び、その後にサンプル頂点7で反射された視線8の視線ベクトル9と、仮想視野V(図8参照)内での物体3との交点Sを求める。この交点Sとしては、最初の交点(すなわち反射面1に最も近い交点)を選ぶことが望ましい。交点Sの座標としては、世界座標を用いる。
(図10のステップSB−2)
つぎに、交点Sと仮想視点Pとの直線とニアクリッピング面NCとが交差する点を求める。これにより、交点Sに対応する、投影画像上の位置Qを求める。すなわち、表示画像生成部45は、交点Sを表す画素が、ニアクリッピング面NCの上に投影される画像において、どの位置に存在するかを算出する。例えば、この位置は、ニアクリッピング面NCにおけるローカル座標系において(0.65,0.65)のような数値で表される。
(図10のステップSB−3)
つぎに、投影画像上の位置(ローカル座標系での位置)を、テクスチャ画像の位置として割り当てて、テクスチャマッピングを行う。すなわち、投影画像上の位置が例えば(0.65,0.65)であれば、元のサンプル頂点7に割り当てられるべきテクスチャ座標(すなわちテクスチャ画像上の位置)としても(0.65,0.65)を割り当てて、テクスチャマッピングを行う。このように位置を割り当てれば、実際のテクスチャマッピングは、従来から用いられているテクスチャマッピング用エンジンを用いて高速に行うことができる。特にハードウエアのエンジンを用いれば、描画速度を向上させることができる。
以上の操作を各サンプル頂点7について行う。これにより、各サンプル頂点7においては、視点2から反射面1を見たときに見えるべき画素(交点Sの画素)を割り当てることができる。したがって、各サンプル頂点7においては、精度の高い画像形成が行われる。
サンプル頂点7の間に、サンプル頂点でない頂点(これを以下「非サンプル頂点」という)が存在する場合は、非サンプル頂点におけるテクスチャ座標の割り当てを、補間により行うことができる。例えば、簡単のために一次元で説明すると、あるサンプル頂点に割り当てた、投影画像上の位置(テクスチャ座標)が0.2であり、それに隣接するサンプル頂点に割り当てた位置が0.4であれば、その中間に存在する非サンプル頂点のために、投影画像上の0.3の位置を割り当てて、テクスチャマッピングを行う。サンプル頂点から非サンプル頂点への距離に応じて重みづけを行うこともできる。また、2次元の場合は、非サンプル頂点を囲む三つのサンプル頂点からの距離に応じて重みづけ補間を行う、いわゆるバリセントリック・インターポレーション(barycentric interpolation)などの、適宜な補間方法を用いることができる。サンプル頂点7として全ての頂点を選んだ場合は、この補間を行う必要はない。
各頂点7どうしの間の画素については、従来から行われているテクスチャマッピングにおける補間処理によって、そのテクスチャ座標(すなわちテクスチャ画像上の位置)が割り当てられる。
以上から判るように、本実施形態で生成される画像データは、投影画像が、テクスチャ画像としてパッチ5の領域に貼り付けられている。さらに、交点Sに対応する、投影画像上の位置の画素値が、テクスチャ画像における交点Sの画素値として割り当てられているものとなっている。
(図6のステップSA−6)
さらに、表示画像生成部45は、視点2から見た、パッチ5上のテクスチャ画像を含む全景の画像を生成する。生成された画像データは、動画データであれば、画像表示用のフレームバッファ(図示せず)に格納される。ついで、画像データは、出力インタフェース21を介して表示部20で表示される。フレームバッファは、記憶部30の一部として構成することもできるし、別途の専用ハードウエアとして構成することもできる。動画を生成する場合は、以上の処理を1フレーム内で行う。
(多数のパッチが存在する場合)
なお、前記実施形態では、一つのパッチ5について説明したが、反射面1が複数回湾曲されている場合や、曲率が数カ所で変化している場合は、反射面1を複数のパッチ5に仮想的に分割することが好ましい。この場合は、各パッチ5a、5b、…についてそれぞれ仮想視点Pa、Pb、…を求める(図12参照)。他の処理は前記と同様なので詳しい説明は省略する。
ここで、反射面1が複数のパッチ5で構成される場合、パッチ5どうしの隣接部分においては、複数のサンプル頂点が共有されていることが好ましい。サンプル頂点の間においては、座標値が補間により生成されるため、サンプル頂点が共有されていないと、貼り付けたテクスチャ画像どうしがずれるおそれがあるからである。これに対して、なるべく多数の頂点を共有するようにすると、パッチ5どうしの間で、画像の連続性を高めることができ、得られた全景画像の精度を高くすることができる。具体的には、共有される辺の中間部分において、サンプル頂点を共有することが好ましい。もちろん、共有するサンプル頂点の数や、共有するか否かについては、目的とする画像の精度やパッチの大きさに応じて変更することができる。
また、反射面1を複数のパッチ5に分割する場合、それぞれのパッチ5に応じて仮想視点Pからの投影画像を取得する。一般に、投影画像の画素数はソフトウエアあるいはシステム側で既定となっている(例えば512×512画素)。このため、複数のパッチ5に分割して投影画像を取得し、それに基づいて反射面1の描画を行うことにより、結果として、得られる画像の解像度を高めることができる。
(凹面鏡の場合)
反射面が凹面で、かつ、視線ベクトル9が視野内で交差する場合でも、本実施形態の方法は有効である。この場合の処理の一例を、図13に基づいて説明する。
この例でも前記と同様の方法で、仮想視点Pを設定する。ついで、仮想視点から、視線ベクトル9の延長方向への仮想視野V1について、前記と同様の方法で投影画像を求める。このとき、仮想視野V1における投影画像については、天地が反転する。これは、視線ベクトルが互いに交差しているために生じるものである。
一方、反射面1への方向への仮想視野V2も設定し、これについて、前記と同様の方法で投影画像を求める。ただし、仮想視野V2内に物体3が存在する場合、仮想視点Pに近い側の、物体3の面は、反射面1上に現れる画像では見えないはずである。そこで、通常の処理とは逆に、仮想視点Pから遠い面を優先して描画し、近い面の画素が遠い面の画素に隠蔽される処理とする。このような処理は、Zバッファ処理の評価関数を変更することで実装可能である(非特許文献10参照)。
このように仮想視野V1及びV2から得られた二つの投影画像を、この順番で重ね合わせる。すなわち、仮想視野V1から得られた画像の上に、仮想視野V2から得られた画像を上書きするようにして重ね合わせる。これにより、反射面1のパッチ5に貼り付けるべきテクスチャ画像を得ることができる。他の処理は前記と同様で良いので、詳しい説明を省略する。
(凹レンズの場合)
前記した実施形態の説明では、物体3の表面に反射面1が存在すると仮定した。しかしながら、本実施形態の方法は、物体3がレンズである場合、あるいは、物体3がレンズを含む場合にも適用できる。この場合の処理方法の一例を、図14に基づいて説明する。
この例でも、前記と同様の方法で、仮想視点Pを設定することができる。すなわち、視線ベクトル9を延長し、それに最も近い点を選ぶことで、仮想視点Pを得ることができる。その後の処理は前記と同様なので詳しい説明を省略する。
(凸レンズの場合)
物体3が凸レンズである場合は、反射面が凹面である場合と基本的に同様に処理することができる。
(複合反射の場合)
例えば、反射面1に、他の反射面が映り込む画像も、本実施形態の方法で生成できる。この場合、まず、他の反射面の画像を、前記した実施形態の方法で描画する。ついで、その反射面の画像を、反射面1に、前記実施形態の方法で描画する。
(隠蔽処理)
前記したステップSB−1〜SB−3を実行した場合、オクルージョンによって画像の正確性が悪くなることが考えられる。その例を図16により説明する。
この例では、物体3における交点Sと、仮想視点Pとの間に、他の物体3aが存在している。この場合は、仮想視点Pから見ることで得られた投影画像上では、物体3aを表示するための画素が存在する。すると、パッチ5へのテクスチャマッピングの座標として、投影画像上の位置を割り当てても、正確な表現はできない。本来は、その位置には、物体3が表示されるべきであり、物体3aは表示されるべきでないからである。
このような問題が生じる場合は、パッチ5をより細かく分割し、仮想視点を増やすことで対応することができる。このようにすれば、隠蔽が少なくなり、画像の精度を向上させることができる。操作者は、隠蔽の程度に応じて、パッチ5の分割数を調整することも可能である。
なお、本発明の範囲は、前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることはもちろんである。
例えば、前記した各構成要素は、機能ブロックとして存在していればよく、独立したハードウエアとして存在しなくても良い。また、実装方法としては、ハードウエアを用いてもコンピュータソフトウエアを用いても良い。さらに、本発明における一つの機能要素が複数の機能要素の集合によって実現されても良い。本発明における複数の機能要素が一つの機能要素により実現されても良い。
また、機能要素は、物理的に離間した位置に配置されていてもよい。この場合、機能要素どうしがネットワークにより接続されていても良い。
反射面とそれに映り込む物体との関係を説明するための説明図である。 反射面(パッチ)を形成するポリゴンを説明するための説明図である。 反射面が複数のパッチで形成された例を説明するための説明図である。 本実施形態に係る画像生成装置の、概略的な機能ブロック図である。 画像生成部についての、概略的な機能ブロック図である。 本実施形態に係る画像生成方法を説明するためのフローチャートである。 視線ベクトルを含む仮想視野を説明するための説明図である。 視線ベクトルを含む仮想視野を説明するための説明図である。 仮想視点を決める方法を説明するための説明図であって、図(a)は直線が二本の場合、図(b)は直線が三本の場合である。 投影画像を用いたテクスチャマッピングを説明するためのフローチャートである。 投影画像を用いたテクスチャマッピングの具体例を説明するための説明図である。 反射面を複数のパッチに分けた場合の仮想視点を示す説明図である。 反射面として凹面鏡を用いた例を説明するための説明図である。 物体として凹レンズを用いた例を説明するための説明図である。 物体として凸レンズを用いた例を説明するための説明図である。 隠蔽の処理方法を説明するための説明図である。
符号の説明
P 仮想視点
Q ニアクリッピング面上の位置
S 交点
V・V1・V2 仮想視野
NC ニアクリッピング面
FC ファークリッピング面
1 反射面
2 視点
3・3a 物体
4 像
5・5a・5b・… パッチ
6 ポリゴン
7 頂点
8 視線
9 視線ベクトル
10 入力部
11 入力インタフェース
20 表示部
21 出力インタフェース
30 記憶部
40 画像生成部
41 視線ベクトル生成部
42 仮想視点生成部
43 視野生成部
44 仮想視点画像生成部
45 表示画像生成部
50 バス

Claims (9)

  1. 頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する方法であって、さらに、以下のステップを備えた方法:
    (1)視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるステップ;
    (2)前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるステップ;
    (3)前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるステップ;
    (4)前記仮想視点から見た、前記仮想視野における投影画像を求めるステップ;
    (5)前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うステップ。
  2. 前記ステップ(5)は、以下のステップを含んでいる、請求項1に記載の画像生成方法:
    (5a)前記視点から前記頂点へ延び、その後に前記頂点で反射又は屈折された視線と、前記視野内での物体の交点を求めるステップ;
    (5b)前記交点に対応する、前記投影画像上の位置を求めるステップ;
    (5c)前記投影画像上の位置を前記テクスチャ画像上の位置として割り当てて、前記テクスチャマッピングを行うステップ。
  3. 前記ステップ(5)の後に、さらに以下のステップを備えることを特徴とする、請求項1又は2に記載の画像生成方法:
    (6)前記視点から見た、前記パッチ上のテクスチャ画像を含む全景の画像を生成して表示するステップ。
  4. 前記パッチは、反射体表面の全部又は一部を構成している、請求項1〜3のいずれか1項に記載の画像生成方法。
  5. 前記パッチは、レンズ表面の全部又は一部を構成している、請求項1〜3のいずれか1項に記載の画像生成方法。
  6. 頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する装置であって、さらに、
    視線ベクトル生成部と、仮想視点生成部と、視野生成部と、仮想視点画像生成部と、表示画像生成部とを備えており、
    前記視線ベクトル生成部は、視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるものであり、
    前記仮想視点生成部は、前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるものであり、
    前記視野生成部は、前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるものであり、
    前記仮想視点画像生成部は、前記仮想視点から見た、前記仮想視野における投影画像を求めるものであり、
    前記表示画像生成部は、前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うものである
    ことを特徴とする画像生成装置。
  7. 頂点を有する複数のポリゴンで構成されたパッチで反射又は屈折された画像を生成する方法であって、さらに、以下のステップを備えた方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム:
    (1)視点から前記頂点の全部又は一部へ向けて延びる視線が前記パッチで反射又は屈折した後に延びて行く方向を、視線ベクトルとして求めるステップ;
    (2)前記視線ベクトル又はそれを延長して得られる直線どうしがほぼ収束している点を、仮想視点として求めるステップ;
    (3)前記視線ベクトルの方向を実質的に全て含むように仮想視野を求めるステップ;
    (4)前記仮想視点から見た、前記仮想視野における投影画像を求めるステップ;
    (5)前記投影画像をテクスチャ画像として前記パッチに貼り付けることによってテクスチャマッピングを行うステップ。
  8. 請求項1に記載の方法により得られた前記投影画像が、テクスチャ画像として前記パッチの領域に貼り付けられていることを特徴とする画像データ。
  9. 請求項2に記載の方法により得られた前記投影画像が、テクスチャ画像として前記パッチの領域に貼り付けられており、さらに、前記交点に対応する、前記投影画像上の位置の画素値が、前記テクスチャ画像における交点の画素値として割り当てられていることを特徴とする画像データ。
JP2006124656A 2006-04-28 2006-04-28 画像生成方法及び画像生成装置 Pending JP2007299080A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006124656A JP2007299080A (ja) 2006-04-28 2006-04-28 画像生成方法及び画像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006124656A JP2007299080A (ja) 2006-04-28 2006-04-28 画像生成方法及び画像生成装置

Publications (1)

Publication Number Publication Date
JP2007299080A true JP2007299080A (ja) 2007-11-15

Family

ID=38768537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006124656A Pending JP2007299080A (ja) 2006-04-28 2006-04-28 画像生成方法及び画像生成装置

Country Status (1)

Country Link
JP (1) JP2007299080A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583406B2 (en) 2008-11-06 2013-11-12 Hoya Lens Manufacturing Philippines Inc. Visual simulator for spectacle lens, visual simulation method for spectacle lens, and computer readable recording medium recording computer readable visual simulation program for spectacle lens
JP2021530005A (ja) * 2018-05-21 2021-11-04 アドシル リミテッド 現実世界環境における仮想オブジェクトの光線追跡反射の高速生成

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475180A (ja) * 1990-07-17 1992-03-10 Matsushita Electric Ind Co Ltd 相互反射光の計算方法及び装置
JPH09319891A (ja) * 1996-06-03 1997-12-12 Sega Enterp Ltd 画像処理装置及びその処理方法
JP2001148032A (ja) * 1999-09-10 2001-05-29 Sony Computer Entertainment Inc 画像描画方法、画像描画装置、記録媒体及びプログラム
JP2001184518A (ja) * 1999-12-27 2001-07-06 Nec Corp 3次元画像描画装置及び3次元画像描画方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475180A (ja) * 1990-07-17 1992-03-10 Matsushita Electric Ind Co Ltd 相互反射光の計算方法及び装置
JPH09319891A (ja) * 1996-06-03 1997-12-12 Sega Enterp Ltd 画像処理装置及びその処理方法
JP2001148032A (ja) * 1999-09-10 2001-05-29 Sony Computer Entertainment Inc 画像描画方法、画像描画装置、記録媒体及びプログラム
JP2001184518A (ja) * 1999-12-27 2001-07-06 Nec Corp 3次元画像描画装置及び3次元画像描画方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583406B2 (en) 2008-11-06 2013-11-12 Hoya Lens Manufacturing Philippines Inc. Visual simulator for spectacle lens, visual simulation method for spectacle lens, and computer readable recording medium recording computer readable visual simulation program for spectacle lens
JP2021530005A (ja) * 2018-05-21 2021-11-04 アドシル リミテッド 現実世界環境における仮想オブジェクトの光線追跡反射の高速生成
JP7123041B2 (ja) 2018-05-21 2022-08-22 アドシル リミテッド 現実世界環境における仮想オブジェクトの光線追跡反射の高速生成

Similar Documents

Publication Publication Date Title
US10083538B2 (en) Variable resolution virtual reality display system
US11790482B2 (en) Mixed reality system with virtual content warping and method of generating virtual content using same
US11410269B2 (en) Mixed reality system with virtual content warping and method of generating virtual content using same
KR102359978B1 (ko) 다중-소스 가상 콘텐츠 합성을 갖는 혼합 현실 시스템 및 이를 사용하여 가상 콘텐츠를 생성하는 방법
US10719912B2 (en) Scaling and feature retention in graphical elements defined based on functions
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
US10586375B2 (en) Hybrid raytracing approach for modeling light reflection
JPH10105734A (ja) 鏡面レンダリング方法及び装置
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
KR102151443B1 (ko) 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
US20230230311A1 (en) Rendering Method and Apparatus, and Device
US9401044B1 (en) Method for conformal visualization
JP2008282171A (ja) グラフィックスプロセッサおよび描画処理方法
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP2007299080A (ja) 画像生成方法及び画像生成装置
JP2952585B1 (ja) 画像生成方法
JP6487578B1 (ja) プログラム、記録媒体、及び影描画方法
KR100865583B1 (ko) 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법
Bell et al. Representing and processing screen space in augmented reality
JP2002230579A (ja) 画像作成方法および装置
JP2004192055A (ja) 画像分割合成方法およびシステム、そのためのプログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090115

A131 Notification of reasons for refusal

Effective date: 20110201

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110712