JP4948218B2 - 画像処理装置及びその制御方法 - Google Patents

画像処理装置及びその制御方法 Download PDF

Info

Publication number
JP4948218B2
JP4948218B2 JP2007075398A JP2007075398A JP4948218B2 JP 4948218 B2 JP4948218 B2 JP 4948218B2 JP 2007075398 A JP2007075398 A JP 2007075398A JP 2007075398 A JP2007075398 A JP 2007075398A JP 4948218 B2 JP4948218 B2 JP 4948218B2
Authority
JP
Japan
Prior art keywords
rendering
virtual
axis
virtual space
shadow
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.)
Expired - Fee Related
Application number
JP2007075398A
Other languages
English (en)
Other versions
JP2008234473A (ja
Inventor
大 松村
康生 片野
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007075398A priority Critical patent/JP4948218B2/ja
Priority to US12/047,697 priority patent/US8243061B2/en
Publication of JP2008234473A publication Critical patent/JP2008234473A/ja
Application granted granted Critical
Publication of JP4948218B2 publication Critical patent/JP4948218B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Description

本発明は、仮想空間への3次元モデルの描画処理を行う画像処理装置及びその制御方法に関するものである。
一般に、コンピュータ内部に構築された3次元仮想空間を、カメラで撮影したときのような写実的な画像として生成するレンダリング技術が知られている。このレンダリング技術のうち、より現実に近い光環境を表現するために、仮想空間内にある仮想光源によって照らされた仮想物体の仮想影を描画する影付け技術がある。このような影付け技術には様々な手法が存在するが、より現実性の高い技術としてステンシルシャドウ法やデプスバッファシャドウ法などがある。これらの技術はともに2パスレンダリングといわれる2段階のレンダリング処理を必要としている。例えば、デプスバッファシャドウ法では、
・第1段階:仮想光源から仮想物体を見たときに影となる領域を求る。
・第2段階:カメラ視点から見たときの画像を生成する際に第1段階で求めた影の領域をマッピングすることで影付けを行う。
一方、コンピュータ内部に構築された3次元仮想空間の中で、仮想物体同士が接触しているか否かをチェックする干渉チェック技術がある。例えば、干渉チェック技術を用いたシミュレーションゲームでは、プレーヤのキャクターと障害物との接触を判定することができ、これによりキャラクターが障害物を突き抜けてしまうことを避けることができる。干渉チェックに関する情報は、非特許文献1に記載されている。
また、一般に、干渉チェックにおいても、交差判定と干渉判定の2段階に処理が分かれている。交差判定とは仮想空間内の仮想物体同士が重なり合っているか否かを判定する処理、つまり仮想物体同士が干渉している可能性があるか否かを高速に判定する処理のことをいう。干渉判定は交差判定の結果から干渉の可能性があると判定された仮想物体の対に対して、仮想物体の形状同士が干渉しているか否かを詳細に判定する処理である。
Gino Van Den Bergen著、"CollisionDetection in Interactive 3d Environments";, Morgan Kaufmann Pub ; ISBN:155860801X
しかしながら、上述の影付け処理と干渉チェック処理は、計算負荷が共に大きい。影付け技術に関して述べると、仮想空間内で影付けを行う方法は様々存在するが、基本的にどの手法であっても影の形状やきめなどの精度を求めれば、その分だけ計算負荷が大きくなる。例えば前述したように現実性の高い影付けを行う際は2パスレンダリングを行うのが一般的である。この2パスレンダリングを行う手法であると文字通り2回のレンダリングを行う必要があるので計算負荷が大きくなる。
また、干渉チェック技術に関して述べると、干渉チェック処理を伴って仮想空間をシミュレーションする場合、仮想空間内で動的に動く仮想物体が多数存在し、それらの仮想物体同士をそれぞれに対して干渉チェックを行うシチュエーションがほとんどである。さらに仮想空間における仮想物体は、仮想空間内での現実性を最大限に表現するために複雑な(ポリゴンが多い)形状をしている場合が多々ある。このような条件下で干渉チェックを行うためには膨大な計算負荷を必要とする。
以上の理由により、仮想空間の描画処理において影付け機能と干渉チェック機能を併用した場合、それらをリアルタイムで計算処理するのが困難となってしまう。
本発明は上記の課題に鑑みてなされたものであり、レンダリング結果を利用した複数の処理を高速に実行可能とすることを目的とする。特に、影付け機能と干渉チェック機能を併用した場合でも高速に計算処理を行える仮想空間提示処理を実現することを目的とする。
上記の目的を達成するための本発明の一態様による画像処理装置の制御方法は、
仮想空間における仮想物体間の位置関係の判定と、前記仮想物体の仮想影の生成を行う画像処理装置の制御方法であって、
第1のレンダリング手段が、仮想光源を通る第1の軸を法線とする第1の面に、複数の仮想物体のレンダリングを行う第1のレンダリング工程と、
判定手段が、前記第1のレンダリング工程で取得したレンダリング結果に基づき、前記複数の仮想物体間の位置関係を判定する判定工程と、
生成手段が、前記第1のレンダリング工程で取得したレンダリング結果に基づき、前記複数の仮想物体の影情報を生成する生成工程と、を有し、
前記第1のレンダリング工程で得られたレンダリング結果は、前記判定工程と前記生成工程とで共通に利用される
また、上記の目的を達成するための本発明の他の態様による画像処理装置の制御方法は、
仮想空間に仮想物体を描画するための画像処理方法であって、
仮想空間に含まれる複数の仮想物体に関する第1の処理のために、1つまたは複数の面に前記複数の仮想物体をレンダリングするレンダリング工程と、
前記レンダリング工程によるレンダリング結果に基づいて前記第1の処理を実行する第1実行工程と、
前記レンダリング工程によるレンダリング結果に基づいて前記第1の処理とは異なる、前記複数の仮想物体に関する第2の処理を実行する第2実行工程とを備え
前記第1のレンダリング手段により得られるレンダリング結果は、前記判定手段と前記生成手段とで共通に利用される。
本発明によれば、レンダリング結果を利用した複数の処理を高速に実行することが可能となる。特に、3次元形状物体同士の干渉チェックとその3次元形状物体の仮想影の描画を効率よく行うことが可能となり、影付け機能と干渉チェック機能を併用した場合でも高速に計算処理を行うことができる。
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
[第1実施形態]
第1実施形態の仮想空間提示装置は、レンダリングの結果を影付け機能における仮想影情報生成の処理と干渉チェック機能における交差判定の処理で共有する。このような共有により、3次元仮想空間における3次元仮想物体同士の干渉チェックとその3次元仮想物体の仮想影の描画の各処理を効率よく行う。なお以下の説明で「モデルデータ」とは仮想空間にある3次元の仮想物体(オブジェクト)を表すとする。
図1は本システムが生成する仮想空間の一例である。以下、図1を用いて、第1実施形態の概要を説明する。
図1において、101は仮想空間内における仮想光源を示している。また、102、103はそれぞれサッカーボール、机のモデルデータを描画して得られたモデルデータ(仮想物体)である。104は仮想影であり、図1では、仮想光源101によって作成された、モデルデータ102とモデルデータ103の影である。
第1実施形態では、仮想空間内のモデルデータ102とモデルデータ103との間の干渉チェックを行うとともに、その干渉チェックの処理の一部を利用してモデルデータ102とモデルデータ103の仮想影を求め、表示する。言い換えると、第1実施形態の画像処理装置は、仮想空間内のモデルデータの影情報を生成するためのレンダリング結果を干渉チェック処理の一部に用いることにより、処理の高速化を図る。ここで干渉チェックとは、交差判定処理と干渉判定処理を含んでいる。交差判定処理とは仮想空間内のモデルデータをより低い次元(例えばX軸、Y軸、Z軸など座標軸上)に射影することでモデルデータ同士が重なり合っているかを判定する処理である。即ち、交差判定処理は、モデルデータ同士が干渉している可能性があるか否かを高速に判定する。また、干渉判定処理は交差判定処理の結果を踏まえて、モデルデータの形状同士が干渉しているか否かを詳細に判定する処理である。
本実施形態の交差判定処理では、図1の仮想空間についてモデルデータ102とモデルデータ103の交差判定を行うために、2種類の画像がレンダリングされる。1つは、仮想光源101の位置を視点としてレンダリングされた画像であり、もう1つは、その光源軸とは垂直方向である垂直軸からレンダリングされた画像である。そして、本実施形態の仮想空間提示装置は、上記交差判定処理で用いられた仮想光源101の位置からレンダリングされた画像を仮想影104の生成に利用する。
図2は第1実施形態に係る仮想空間提示処理を実行する画像処理装置の構成を示すブロック図である。本実施形態の画像処理装置は、パーソナルコンピュータ等の情報処理装置に所定の制御プログラムをインストールし、これを実行させることにより実現される。
図2において、仮想空間生成部201は、外部記憶装置206に記憶されている仮想空間情報を基に仮想空間を生成し、これを仮想空間描画部202に出力する。仮想空間にはモデルデータが含まれている。仮想空間描画部202は、仮想空間生成部201から取得した仮想空間をある視点から描画し、描画結果の画像を位置関係判定部203と仮想影情報生成部204に出力する。仮想空間描画部202は、位置関係判定部203や仮想影情報生成部204から干渉チェック情報や仮想影情報を取得し、仮想空間生成部201から取得した上記仮想空間に反映させて仮想空間の描画を行い表示部205に出力する。このように、仮想空間描画部202はマルチパスレンダリングを行う。
位置関係判定部203は、仮想空間描画部202から提供された画像を用いて仮想空間におけるモデルデータ同士の干渉チェックを行い、その結果を仮想空間描画部202に出力する。なお、本実施形態では、位置関係判定部203は、2次元面へのレンダリング結果を用いた交差判定を含む干渉チェックを行なうがこれに限られるものではない。2次元面へのレンダリングの結果を利用して仮想物体間の位置関係を判定する処理が含まれる処理であれば、いかなる処理であっても本発明に適用できる。仮想影情報生成部204は、仮想空間描画部202から提供された画像を用いて仮想空間におけるモデルデータの仮想影情報を生成する。ここで、仮想影情報とはカメラ視点の仮想空間画像に仮想影を表示するために必要となる仮想影に関連した情報である。本実施形態では仮想影の描画方法を既存のデプスバッファシャドウを利用するものとして説明する。デプスバッファシャドウを用いた場合、仮想影情報とはシャドウマップのことを意味する。シャドウマップとは、より具体的には、仮想光源方向から見た仮想空間のデプス値を保存したバッファである。
表示部205は、仮想空間描画部202から取得した仮想空間画像を表示する。例えば表示部205として、2次元平面ディスプレイやHMD(ヘッドマウントディスプレイ)を用いることができる。
外部記憶装置206は、仮想空間を3次元CGとして描画するために必要となる仮想空間情報を記憶している。そのような仮想空間情報としては、仮想空間に配置されるモデルデータの3次元形状(頂点座標、面構成情報、稜線情報、法線ベクトル情報など)、光源情報、マテリアル情報、テクスチャ情報、配置情報など、が挙げられる。
次に、第1実施形態における処理全体の流れを図3を用いて説明する。図3は、上記の画像処理装置が行う仮想空間提示処理におけるメインの処理を示すフローチャートである。なお図3の処理を実現するための制御ログラムは外部記憶装置206に保存されており、必要に応じて報処理装置の不図示のメモリにロードされ、情報処理装置の不図示のCPUにより実行される。こうして、情報処理装置は、図3に示す処理を実行することにより、仮想空間提示を行う画像処理装置として動作する。
処理を開始すると、ステップS301において、仮想空間生成部201は、処理に必要な仮想空間情報を外部記憶装置206から読み込む。ステップS302において、仮想空間生成部201は、外部記憶装置206から取得した仮想空間情報を用いて仮想空間を生成する。ステップS303において、仮想空間描画部202は、仮想空間生成部201が生成した仮想空間を取得し、該仮想空間を2つの視点からレンダリングする(2軸レンダリング)。また、ステップS303においては、位置関係判定部203と仮想影情報生成部204が、仮想空間描画部202のレンダリングにより生成された画像から、モデルデータ間の干渉チェック処理および仮想影情報生成処理を行なう。ステップS303の処理については後に詳細を述べる。
ステップS304において、仮想空間描画部202はステップS303で得られた干渉チェック処理の結果と仮想影情報生成の結果を反映させてカメラ視点からの仮想空間を描画する。ステップS304の処理については後述する。
そして描画により作成された仮想空間画像を表示部205に出力する。ステップS305において、表示部205はステップS303で仮想空間描画部202から送られてきた仮想空間画像を表示する。そして、ステップS306において、画像処理装置は、ユーザから処理終了の指令があったか否か判定し、終了指令があれば処理を終了する。一方、終了指令が無ければ処理はステップ302に戻り、ステップS302〜S306が繰り返される。
次に、図4を用いてステップS304の仮想空間描画処理を説明する。図4は、第1実施形態による仮想空間提示を体験するユーザに提示する仮想空間の一例を示す図であり、カメラ視点から描画された仮想空間画像である。図4の(a)は、仮想影情報や干渉チェック結果などの追加の仮想空間情報が反映される前の仮想空間画像である。図4の(a)において、401、402は仮想空間内に存在するモデルデータから得られたモデルデータである。図4の(b)は、仮想影が描画された仮想空間画像である。図4の(b)において、403は仮想影であり、仮想空間内の仮想光源(不図示)、モデルデータ401、及びモデルデータ402の関係から生成されている。図4の(c)はモデルデータ間に干渉が生じている場合の仮想空間画像の提示例を示す図である。図4の(c)において、404は新しく追加されたモデルデータであり、モデルデータ401に干渉が生じていることを提示するものである。
まず仮想影情報の生成結果を反映する、仮想影の描画方法ついて説明する。本実施形態では、ステップS304において、図4の(b)に示すように仮想空間におけるモデルデータに対して仮想影の描画処理が行われる。第1実施形態ではこのような仮想影の描画方法として既存の技術であるデプスバッファシャドウが利用される。仮想空間描画部202は、仮想影情報生成部204から仮想影情報であるシャドウマップを取得し、これを用いて仮想空間に仮想の影付けを行う。より具体的には、ステップS304において、仮想空間描画部202は、ステップS303で取得されたデプスマップをカメラ視点の仮想空間にマッピングする。一方、カメラ視点の仮想空間画像におけるオブジェクトの各ピクセルに関してオブジェクトと仮想光源との距離を計算してそれをオブジェクトのデプス値とする。次に各ピクセルに関してデプスマップの値と計算で求めたオブジェクトのデプス値とを比較し、デプスマップの値がオブジェクトのデプス値よりも小さい場合は、そのピクセルが影として描画される。
ここで第1実施形態では、仮想影の描画方法にデプスバッファシャドウを用いるとしたが、これに限られるものではない。例えば、投影テクスチャシャドウを仮想影の描画方法として用いてもよい。即ち、仮想光源からのレンダリング結果を利用する仮想影の描画方法であればどのようなものでもよい。
次に、干渉チェック結果の反映を意味する干渉チェック結果の提示方法について説明する。第1実施形態では、ステップS304において、仮想空間において干渉が生じているモデルデータを強調表示することにより提示する。例えば、図4の(c)に示すように、仮想空間描画部202が位置関係判定部203から取得した干渉チェック結果に基づいて、干渉が生じているモデルデータ401の位置に干渉を提示するための新しいモデルデータ404を描画する。
ここで、第1実施形態では、干渉有無の提示方法として新しいモデルデータを描画するとしたが、これに限定されるものではない。例えば、干渉しているモデルデータのバウンディングボックスを表示するようにしてもよい。即ち、干渉しているモデルデータがユーザに認識可能に提示できる方法であればどのような形態を用いても良い。さらにいうと、干渉の発生を音響により通知するなと、少なくとも干渉が生じることを提示できる方法であればどのようなものでもよい。
また、ステップS304において、仮想空間描画部202は、仮想影の描画と干渉チェック結果の描画との同期をとって描画を行う。しかしながら、このような形態に限定されるものでなく、仮想影の描画と干渉チェック結果の描画とを別々に行ってもよい。なお、ここでいう同期とは、描画の更新と干渉チェック計算の更新を同じタイミングで行うということである。従って、同期をとる場合、もしも干渉チェック計算に時間がかかってしまうと、それに引きずられて描画の更新も遅くなってしまう。しかし、長所としては、描画結果として干渉していれば必ず干渉チェック結果も干渉していると判断していることになる。一方、同期をとらない場合は、もし干渉チェック計算に時間がかかっても、それには関係なく描画の更新はされることになる。しかしながら、短所としては、描画結果として干渉していても干渉チェック結果はまだ干渉を認識していないという可能性がある。
次に、上記ステップS303の2軸レンダリング処理、即ち2つの視点からレンダリングすることにより仮想空間におけるモデルデータ間の干渉チェックの処理および仮想影情報生成の処理の詳細について説明する。
図5は、ステップS303の処理の詳細を示すフローチャートである。
処理を開始すると、ステップS501において、仮想空間描画部202は仮想光源位置を視点として仮想空間のレンダリングを行う(光源軸上レンダリング)。即ち、仮想光源を通る軸(仮想光源の視点軸)を法線とする面上への複数の仮想物体のレンダリングを行なう。ステップS502において、仮想影情報生成部204は、ステップS501のレンダリングによって得られた画像を基に仮想影情報としてのシャドウマップを作成する。このシャドウマップには仮想光源の視点からみた仮想空間のデプス値が記録されおり、作成されたシャドウマップはステップS304の仮想影の描画処理で用いられる。こうして、ステップS502では、レンダリングされた複数の仮想物体の影情報が得られることになる。
ステップS503において、位置関係判定部203は、ステップS501のレンダリングによって得られた画像を用いて、複数の仮想物体間の位置関係を判定する。本実施形態では、仮想光源の視点から見てモデルデータ同士が重なり合っていないかどうかを判定する交差判定が行なわれる。より具体的には、2次元平面にレンダリングされたモデルデータの交差判定を行うということになる。ここで行う交差判定の処理には一般的な交差判定の手法を用いればよい。例えば、2次元平面にレンダリングされたモデルデータを1次元の軸上へ射影し、各モデルデータの当該軸上における最大値と最小値の関係から交差を判定することが可能である。
図6の(a)を用いてステップS503による交差判定の処理を説明する。図6の(a)は仮想光源の視点からレンダリングされた仮想空間画像の一例を示す図である。図6の(a)において、601、602はそれぞれボール、机のモデルデータである。
図6の(a)において、b1はモデルデータ601を1次元に射影した際の最小値、e1はモデルデータ601を1次元に射影した際の最大値である。同様に、b2はモデルデータ602を1次元に射影した際の最小値、e2はモデルデータ602を1次元に射影した際の最大値である。また、図6の(a)において、縦軸603と横軸604は2次元面に設定された、仮想光源の視点軸に直交する軸であり、縦軸603と横軸604は互いに直交している。
モデルデータの1次元への射影では、図6の(a)に示されるように、仮想光源の視点からレンダリングされたモデルデータ601,602を画像の横軸604と縦軸603に対してそれぞれ1次元に射影する。そして各モデルデータの形状の最大値と最小値を求める。各モデルデータの最大値と最小値は、各モデルデータの射影軸上における最も端にある頂点である。
上記の如く各軸に射影された各モデルデータの最大値と最小値の関係を比較することにより交差判定処理が行われる。具体的には、各軸について
b1>e2またはb2>e1
が成り立つときは軸上で分離しているといえるので交差がないものと判定することができる。この判定を各軸において行い、すべての軸において交差があれば交差ありと判定され、一軸でも交差がなければ交差がないものと最終的に判定される。
例えば、図6の(a)の場合、横軸604上においては交差が見られるが、縦軸603上には交差がないので、モデルデータ601とモデルデータ602には交差がないと判定される。以上、ステップS503の交差判定の処理について説明した。
次に、ステップS504において、仮想空間描画部202は上記仮想光源の視軸と直交している軸から仮想空間のレンダリングを行う。ステップS505において、位置関係判定部203はステップS504でレンダリングした結果を用いて交差判定を行う。つまり仮想光源の視点軸とは直交する軸から見てモデルデータ同士が重なり合っていないかどうかを判定する。
図6の(b)に、仮想光源の視点軸と直交する軸からレンダリングされた仮想空間画像の一例を示す。図6の(b)で605、606はそれぞれボールと机のモデルデータである。b1はモデルデータ605を1次元に射影した際の最小値、e1はモデルデータ605を1次元に射影した際の最大値、b2はモデルデータ606を1次元に射影した際の最小値、e2はモデルデータ606を1次元に射影した際の最大値である。なお、607、608は、仮想光源の視点軸に直交する軸(603、604)に対して直交する軸であり、それぞれの軸607、608も直交している。
ステップS505の交差判定は、ステップS503と同様である。ステップS506において、位置関係判定部203は、ステップS503とステップS504とで行われた交差判定の結果を参照する。本実施形態では、2つの軸上からの交差判定においてともにモデルデータ間の交差が存在すると判定された場合にのみ交差ありと判定され、処理はステップS506からステップS507へ進む。他の場合は、交差がないと判定され、処理はステップS508に進む。
ステップS507において、位置関係判定部203は仮想空間におけるモデルデータ同士の干渉判定を行う。この干渉判定には一般的な干渉判定方法を用いることができる。例えばGilbert et al.の方法(E. G. Gilbert, D. W. Johnson,and S. S. Keerthi,IEEE Journal of Robotics and Automation, Vol.4, No.2,pp.193-203, 1988.)を用いて干渉判定を行うことが可能である。
最後にステップS508において、ユーザから処理終了の指令があったか否かが判定され、終了指令があれば本処理は終了する。終了指令が無い場合は、処理はステップ501に戻り、上述したステップS501〜S508の処理が繰り返される。以上、第1実施形態の処理の流れを説明した。
なお、第1実施形態では交差判定を行うレンダリング対象をモデルデータとしたがこれに限られるものではない。例えば、交差判定を行う対象をモデルデータから予め作成された境界ボリュームとしてもよい。即ち、交差判定では、モデルデータ間に干渉があるか否かの可能性を判定できる方法であればどのようなオブジェクトを用いてもよい。ここで境界ボリュームとはモデルデータを包み込むボリュームであり、基本的にモデルデータを単純化したものである。例えば境界ボリュームにはAABB(Axis aligned bounding box)やOBB(Oriented bounding box)、Convex Hullがある。交差判定はモデルデータに対して行うよりもモデルデータの境界ボリュームに対して行う方が確実に早く処理できるので、境界ボリュームであることが望ましい。つまり仮想影の形状がモデルデータのように詳細である必要がないのであれば、ステップS501やS504においてモデルデータのAABBやOBBなどの境界ボリュームをレンダリングし、そのレンダリング結果を用いて交差判定を行ってもよい。
以上のように、第1実施形態の仮想空間提示方法によれば、レンダリングの結果を仮想影情報生成処理と交差判定処理が共有するので、仮想空間における3次元形状物体同士の干渉チェックとその3次元形状物体の仮想影の描画を効率よく行える。
なお、上記第1実施形態では、交差判定の処理の処理のために、仮想光源の視点を含む2つの視点からレンダリングを行い、そのうちの仮想光源の視点からのレンダリング結果を用いて仮想影情報を生成したが、これに限られるものではない。例えば、交差判定の処理のために仮想光源の視点を含む3つ以上の視点からレンダリングしてもよい。また、交差判定に用いる複数の視点からのレンダリング結果に複数の仮想光源の視点からのレンダリング結果を含むようにし、仮想影情報生成処理において、複数の仮想光源の視点からのレンダリング結果を用いて仮想影情報を生成するようにしてもよい。
また、上記第1実施形態では、仮想光源を通る軸を法線とする面と、仮想光源を通る軸と直交する軸を法線とする面へのレンダリング結果を利用して交差判定を実行している。即ち、交差判定は2つの直交する軸上に視点を置いて得られたレンダリング結果を用いて行われる。しかしながら、レンダリングを行なう面(視点を置くべき軸)はこのような組み合わせにに限られるものではない。例えば、仮想光源の視点を通る軸と交差する軸上に視点を置いたレンダリング結果や、仮想光源の視点と任意のカメラ視点からのレンダリング結果を用いてもよく、レンダリングの視点軸が直交していることは必須ではない。任意のカメラ視点からのレンダリング結果としては、仮想空間描画部202で最終的に描画すべき特定の視線方向と一致する方向からのレンダリング結果を用いることも可能である。但し、交差判定の精度の観点からは、直交する2軸を法線とした2つの面へのレンダリング結果を用いる方が好ましい。
また上記第1実施形態では、交差判定処理および仮想影情報生成処理のために仮想光源の視点からのレンダリングを行うとしたが、これに限られるものではない。仮想光源以外の位置の視点からのレンダリングを行い、その結果から交差判定の処理および仮想影情報生成の処理を行うようにしてもよい。即ち、偽の影を作成するための仮の仮想光源を設定してもよい。
以上説明したように、第1実施形態によれば、影付けのための仮想影情報の生成に必要となるレンダリング処理と、干渉チェックの1処理である交差判定の処理の一部が共有化される。このため、影付け処理と干渉チェックの処理を併用する場合にも、高速に計算処理を行うことが可能となる。
[第2実施形態]
第1実施形態ではレンダリングされたモデルデータまたは、レンダリングされた境界ボリューム(レンダリング前に予め作成された境界ボリューム)に対して交差判定を行う。この場合、レンダリング前に予め作成された境界ボリュームを用いた場合、交差判定の処理はより高速に行えるようになるが、生成される仮想影の形状が境界ボリュームの形状となってしまう。そこで、第2実施形態では、モデルデータのレンダリング結果から交差判定のために境界ボリュームを算出して、その境界ボリュームを用いて交差判定を行う。このような第2実施形態の処理は、第1実施形態のステップS503、ステップS505の交差判定の処理の中にモデルデータから境界ボリュームを作成する処理を追加することにより実現可能である。
以上のような第2実施形態によれば、レンダリング結果としてモデルデータのそのままの形状情報が得られるのでモデルデータの形状を反映した仮想影を生成することができる。さらに、交差判定はモデルデータの境界ボリュームに対して行なわれるので、より高速に交差判定を行うことができる。
[第3実施形態]
第1実施形態では複数の視点位置からのレンダリング結果を用いて交差判定の処理が行われる。第3実施形態では、仮想光源の視点からの1つのレンダリング結果のみを用いて交差判定の処理と仮想影情報生成の処理を行なう。
第3実施形態が第1実施形態と異なるのはステップS503〜ステップS506の処理である。第3実施形態においては、ステップS504とステップS505の処理は省略されるので、以下、ステップS503とステップS506の処理について説明する。
ステップS503において、位置関係判定部203はステップS501においてレンダリングした結果を用いて交差判定を行う。つまり、図6の(a)により説明したように、仮想光源の視点から見てモデルデータ同士が重なり合っていないかどうかを判定する。
ここで本実施形態のステップS503の処理が第1実施形態のステップS503の処理と異なるのは、1次射影する軸の数である。第1実施形態の交差判定では画像の横軸604、縦軸603の2軸へ1次射影を行ったが、第3実施形態では更にもう1軸を増やして、3軸への1次射影を行う。この3軸は例えば仮想光源のローカル座標系のx軸、y軸、z軸である。
図7を用いて第3実施形態におけるステップS503の交差判定の処理を説明する。図7は仮想光源の視点からレンダリングされた仮想空間画像の一例を示す図である。図7において、701、702はそれぞれ机とボールのモデルデータである。b1はモデルデータ701を1次元に射影した際の最小値、e1はモデルデータ701を1次元に射影した際の最大値、b2はモデルデータ702を1次元に射影した際の最小値、e2はモデルデータ702を1次元に射影した際の最大値である。軸703と軸704は仮想光源の視点軸に直交する軸であり、それぞれの軸も直交している。また、軸705は仮想光源の視点軸である。また、軸705への射影は、デプスバッファやカラーバッファを参照して取得され得る。
第3実施形態では、図7に示されるように、仮想光源の視点からレンダリングされたモデルデータを3軸に対してそれぞれ1次元に射影する。尚、軸703、704への投影は第1実施形態と同様であり、軸705への投影はデプスバッファを用いて実現することができる。そして各モデルデータの各軸における最大値と最小値を求める。このとき、各軸において各モデルデータの最大値と最小値の関係を比較することにより交差判定が行われる。具体的には
b1>e2 または b2>e1
が成り立つときは軸上で分離しているといえるので交差がないものと判定することができる。交差判定では、上記判定を3軸のすべてについて行い、すべての軸において交差があれば交差ありと判定し、1軸でも交差がなければ交差がないものと判定する。
以上のように第3実施形態によれば、第1実施形態の交差判定と比較して交差判定を行う回数が減るため交差判定の精度は落ちるが、レンダリング負荷が減少される。
なお、第3実施形態ではモデルデータを3軸に射影して交差判定を行うとしたがこれに限られるものではない。すなわち、3軸以上、又は、3軸以下にモデルデータを射影して交差判定を行うことも可能である。但し、交差軸(射影を行う軸)が多ければ多いほど判定の精度は上がる。また、1軸でも精度は低いが交差判定は可能である。交差判定の精度と処理速度はトレードオフの関係なので、適切な交差軸の数を設定して交差判定を行うようにしてもよい。
以上、第3実施形態の処理の流れを説明した。第3実施形態によれば、仮想光源の視点軸からの1つのレンダリング結果を生成し、これを仮想影情報生成の処理と交差判定の処理で共有する。このため、仮想空間における3次元形状物体同士の干渉チェックとその3次元形状物体の仮想影の描画をより効率よく行うことができる。
以上のような各実施形態によれば、仮想影の生成のためのレンダリングを他の画像処理に利用する、或いはまたは交差判定のためのレンダリングを他の画像処理に利用するようにした。このため、レンダリング結果を利用した複数の処理を高速に実行可能とすることができる。
[第4実施形態]
上述したように、仮想空間描画部202は、
(1)ある視点からの仮想空間の描画結果を位置関係判定部203と仮想影情報生成部204に出力する、
(2)位置関係判定部203と仮想影情報生成部204からの干渉チェック結果と仮想影情報を反映した、カメラ視点からの仮想空間の描画結果を表示部205に出力する、
という2つの機能を有する。そして、上記の第1乃至第3実施形態では、仮想空間描画部202の上記2つの機能を1つの情報処理装置により実現しているが、これに限られるものではない。第4実施形態では、仮想空間描画部202の上記(1)の機能を実現するユニット(任意視点仮想空間描画部と呼ぶ)と、仮想空間描画部202の上記(2)の機能を実現するユニット(カメラ視点仮想空間描画部と呼ぶ)を別体の情報処理装置で実現する。
第4実施形態の場合、仮想空間生成部201で生成された仮想空間と、仮想影情報生成部204で生成された仮想影情報と、位置関係判定部203による干渉チェック結果をカメラ視点仮想空間描画部に出力することが必要となる。仮想空間や干渉チェック結果、仮想影情報をカメラ視点仮想空間描画部を有する情報処理装置に出力する際には、それらを圧縮して出力するのが好ましい。例えば、仮想影情報がシャドウマップである場合は、普通のフレームバッファを圧縮するとの同様にシャドウマップを圧縮すればよい。
[他の実施形態]
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
第1実施形態による仮想空間の一例を説明する図である。 第1実施形態による画像処理装置の構成例を示すブロック図である。 第1実施形態による画像処理装置の処理の概要を示すフローチャートである。 第1実施形態による仮想空間の一例を示す図である。 第1実施形態の2視点からのレンダリング処理の流れを示すフローチャートである。 第1実施形態の交差判定を説明する図である。 第3実施形態の交差判定を説明する図である。

Claims (11)

  1. 仮想空間における仮想物体間の位置関係の判定と、前記仮想物体の仮想影の生成を行う画像処理装置の制御方法であって、
    第1のレンダリング手段が、仮想光源を通る第1の軸を法線とする第1の面に、複数の仮想物体のレンダリングを行う第1のレンダリング工程と、
    判定手段が、前記第1のレンダリング工程で取得したレンダリング結果に基づき、前記複数の仮想物体間の位置関係を判定する判定工程と、
    生成手段が、前記第1のレンダリング工程で取得したレンダリング結果に基づき、前記複数の仮想物体の影情報を生成する生成工程と、を有し、
    前記第1のレンダリング工程で得られたレンダリング結果は、前記判定工程と前記生成工程とで共通に利用されることを特徴とする画像処理装置の制御方法。
  2. 第2のレンダリング手段が、前記第1の軸とは異なる第2の軸を法線とする第2の面に前記複数の仮想物体のレンダリングを行なう第2のレンダリング工程を更に備え、
    前記判定工程では、前記第1のレンダリング工程と前記第2のレンダリング工程で取得されたレンダリング結果に基づき、前記複数の仮想物体間の位置関係を判定することを特徴とする請求項1に記載の画像処理装置の制御方法。
  3. 前記第1の軸と前記第2の軸とは交差することを特徴とする請求項2に記載の画像処理装置の制御方法。
  4. 前記第1の軸と前記第2の軸とは直交することを特徴とする請求項2に記載の画像処理装置の制御方法。
  5. 第3のレンダリング手段が、前記生成工程で生成された影情報と前記判定工程で判定された位置関係に基づいて、特定の視線方向からの仮想空間をレンダリングする第3のレンダリング工程を更に備え、
    前記第2の軸の方向は前記視線方向と一致していることを特徴とする請求項2に記載の画像処理装置の制御方法。
  6. 前記第1のレンダリング工程では、前記複数の仮想物体のそれぞれの形状を覆う境界ボリュームを用いて前記第1の面へのレンダリングを行なうことを特徴とする請求項1に記載の画像処理装置の制御方法。
  7. 前記判定工程では、前記第1のレンダリング工程でレンダリングされた前記複数の仮想物体について前記複数の仮想物体のそれぞれの形状を覆う境界ボリュームを算出し、算出した境界ボリュームを用いて前記複数の仮想物体の位置関係を判定することを特徴とする請求項1に記載の画像処理装置の制御方法。
  8. 前記判定工程では、前記第1の面に設定された互いに直交する2つの軸と、前記第1の軸のそれぞれへ前記複数の仮想物体を射影した結果に基づいて交差判定を行うことを特徴とする請求項1に記載の画像処理装置の制御方法。
  9. 仮想空間における仮想物体間の位置関係の判定と、前記仮想物体の仮想影の生成を行う画像処理装置であって、
    仮想光源を通る第1の軸を法線とする第1の面に、複数の仮想物体のレンダリングを行う第1のレンダリング手段と、
    前記第1のレンダリング手段で取得したレンダリング結果に基づき、前記複数の仮想物体間の位置関係を判定する判定手段と、
    前記第1のレンダリング手段で取得したレンダリング結果に基づき、前記複数の仮想物体の影情報を生成する生成手段とを備え
    前記第1のレンダリング手段により得られるレンダリング結果は、前記判定手段と前記生成手段とで共通に利用されることを特徴とする画像処理装置。
  10. 請求項1乃至の何れか1項に記載された画像処理装置の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
  11. 請求項10に記載されたコンピュータプログラムを格納したことを特徴とするコンピュータによる読み取りが可能な記憶媒体。
JP2007075398A 2007-03-22 2007-03-22 画像処理装置及びその制御方法 Expired - Fee Related JP4948218B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007075398A JP4948218B2 (ja) 2007-03-22 2007-03-22 画像処理装置及びその制御方法
US12/047,697 US8243061B2 (en) 2007-03-22 2008-03-13 Image processing apparatus and method of controlling operation of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007075398A JP4948218B2 (ja) 2007-03-22 2007-03-22 画像処理装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2008234473A JP2008234473A (ja) 2008-10-02
JP4948218B2 true JP4948218B2 (ja) 2012-06-06

Family

ID=39774227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075398A Expired - Fee Related JP4948218B2 (ja) 2007-03-22 2007-03-22 画像処理装置及びその制御方法

Country Status (2)

Country Link
US (1) US8243061B2 (ja)
JP (1) JP4948218B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4852555B2 (ja) * 2008-01-11 2012-01-11 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
GB2465791A (en) * 2008-11-28 2010-06-02 Sony Corp Rendering shadows in augmented reality scenes
EP2241988B1 (en) * 2009-04-14 2018-07-25 Dassault Systèmes Method, program and product edition system for visualizing objects displayed on a computer screen
KR101598374B1 (ko) 2009-09-21 2016-02-29 삼성전자주식회사 영상 처리 장치 및 방법
KR101601687B1 (ko) * 2009-09-22 2016-03-09 삼성전자주식회사 영상 처리 장치 및 방법
CN101989075B (zh) * 2010-08-24 2012-06-27 北京水晶石数字科技股份有限公司 一种三维软件控制演出的方法
US8872853B2 (en) 2011-12-01 2014-10-28 Microsoft Corporation Virtual light in augmented reality
US9311751B2 (en) 2011-12-12 2016-04-12 Microsoft Technology Licensing, Llc Display of shadows via see-through display
EP2635021A3 (en) * 2012-02-29 2015-06-17 Thomson Licensing Method and apparatus for adding auxiliary visual objects to an image or an image sequence
US20130227609A1 (en) * 2012-02-29 2013-08-29 Thomson Licensing Method and apparatus for adding auxiliary visual objects to an image or an image sequence
KR102054680B1 (ko) * 2013-01-23 2020-01-22 삼성전자주식회사 영상 처리 장치, 초음파 영상 장치 및 영상 처리 방법
JP2015056143A (ja) * 2013-09-13 2015-03-23 ソニー株式会社 情報処理装置および情報処理方法
US9652892B2 (en) 2013-10-29 2017-05-16 Microsoft Technology Licensing, Llc Mixed reality spotlight
JP6442209B2 (ja) * 2014-09-26 2018-12-19 キヤノン株式会社 画像処理装置およびその制御方法
KR102502449B1 (ko) * 2015-10-05 2023-02-22 삼성전자주식회사 조명을 디스플레이하는 방법 및 장치
US9710934B1 (en) * 2015-12-29 2017-07-18 Sony Corporation Apparatus and method for shadow generation of embedded objects
JP6650848B2 (ja) * 2016-08-22 2020-02-19 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP6687751B2 (ja) * 2016-11-01 2020-04-28 株式会社ソニー・インタラクティブエンタテインメント 画像表示システム、画像表示装置、その制御方法、及びプログラム
JP6833575B2 (ja) 2017-03-15 2021-02-24 本田技研工業株式会社 歩行支援装置、歩行支援方法、及びプログラム
CN110998669B (zh) * 2017-08-08 2023-12-08 索尼公司 图像处理装置和方法
US10922878B2 (en) * 2017-10-04 2021-02-16 Google Llc Lighting for inserted content
CN108010118B (zh) * 2017-11-28 2021-11-30 杭州易现先进科技有限公司 虚拟对象处理方法、虚拟对象处理装置、介质和计算设备
US10664988B2 (en) 2018-06-28 2020-05-26 Intel Corporation Methods and apparatus to avoid collisions in shared physical spaces using universal mapping of virtual environments
CN115004237A (zh) * 2020-01-23 2022-09-02 索尼集团公司 信息处理装置、信息处理方法以及程序

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6126548A (en) * 1997-10-08 2000-10-03 Illusion, Inc. Multi-player entertainment system
JP3599268B2 (ja) * 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
JP3625184B2 (ja) * 2000-09-25 2005-03-02 コナミ株式会社 ゲーム用3次元画像処理方法、装置、ゲーム用3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置
JP2003109035A (ja) * 2001-09-28 2003-04-11 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
US7127381B2 (en) * 2002-10-30 2006-10-24 Intel Corporation Methods and apparatus for expediting detecting collision between any of N objects
JP4181430B2 (ja) * 2003-03-10 2008-11-12 シャープ株式会社 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体

Also Published As

Publication number Publication date
JP2008234473A (ja) 2008-10-02
US8243061B2 (en) 2012-08-14
US20080231631A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
JP4948218B2 (ja) 画像処理装置及びその制御方法
EP3008701B1 (en) Using compute shaders as front end for vertex shaders
US8411092B2 (en) 2D imposters for simplifying processing of plural animation objects in computer graphics generation
JP4999711B2 (ja) 画像処理装置、画像処理方法
KR100849693B1 (ko) 정적 그림자 생성 방법 및 정적 그림자 생성 시스템
US8824776B2 (en) Collision detection system, robotic system, collision detection method and program
JP2005506611A (ja) 環境マッピングシステムおよび方法
JP2012528376A (ja) レイトレーシング装置及び方法
JP5873683B2 (ja) 仮想環境でのオクルージョンを推定する方法
Friese et al. Using game engines for visualization in scientific applications
JPH10198822A (ja) 画像合成装置
JP4307222B2 (ja) 複合現実感提示方法、複合現実感提示装置
JP4948273B2 (ja) 情報処理方法及び情報処理装置
JP5916764B2 (ja) 仮想環境における隠蔽の推定方法
JP2005182207A (ja) 画像描画装置及び方法、プログラム並びに記録媒体
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP5864474B2 (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP4931038B2 (ja) 立体視画像装置、ゲーム装置、立体視画像映写装置、立体視画像データ生成方法、制御プログラムおよび可読記録媒体
US10600244B2 (en) Vertex optimization method using depth image in workspace modeling and system therefor
JP2001266175A (ja) 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体
JP6660159B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2009187147A (ja) プログラム及びコンピュータ
JP2007299080A (ja) 画像生成方法及び画像生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120306

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4948218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees