JP5055214B2 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP5055214B2
JP5055214B2 JP2008185295A JP2008185295A JP5055214B2 JP 5055214 B2 JP5055214 B2 JP 5055214B2 JP 2008185295 A JP2008185295 A JP 2008185295A JP 2008185295 A JP2008185295 A JP 2008185295A JP 5055214 B2 JP5055214 B2 JP 5055214B2
Authority
JP
Japan
Prior art keywords
image
virtual
viewpoint
screen
image processing
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
JP2008185295A
Other languages
English (en)
Other versions
JP2009116856A5 (ja
JP2009116856A (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 JP2008185295A priority Critical patent/JP5055214B2/ja
Priority to EP08015608.6A priority patent/EP2051533B1/en
Priority to US12/237,930 priority patent/US8884947B2/en
Priority to CN200810171559.5A priority patent/CN101414383B/zh
Publication of JP2009116856A publication Critical patent/JP2009116856A/ja
Publication of JP2009116856A5 publication Critical patent/JP2009116856A5/ja
Application granted granted Critical
Publication of JP5055214B2 publication Critical patent/JP5055214B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想空間画像の生成技術に関するものである。
近年、計算機の処理能力の向上により、体験者にリアルな体験を提供するVirtual Reality(仮想現実感)の技術が研究されている(非特許文献1を参照)。係る技術は、コンピュータグラフィックスで仮想空間を表現し、HMD(Head Mounted Display)や壁面型のディスプレイに表示することで成される。
この分野において高品質な体験を体験者に提示するために必要とされる要素が、画像生成の速度である。一般的に体験者の視点移動に追随して仮想空間を画像生成する際に求められる処理速度は、毎秒10〜15フレーム以上であると言われている。そのため、従来より高い表現力を維持したまま高速に画像生成するための技術が開発されてきた。
近年では、計算機の並列化技術と、仮想空間のハンドリング技術の進展により、今まで不可能とされてきた光線追跡(レイトレーシング)法のリアルタイム化が可能になってきている(非特許文献2を参照)。非特許文献2に開示されているレイトレーシング法は、特にリアルタイムレイトレーシングと呼ばれ、研究が盛んに行われている。この技術を利用すると、従来のラスタライゼーション法では困難であった反射や屈折表現、影の高速な生成、グローバルイルミネーションの表現が可能になり、高品質な画像を生成することができる。
このように画像生成処理の表現能力が高まる一方、高品質な画像を得るために費やす計算負荷は増加の一途を辿っている。また、仮想空間中に物体をリアルタイムに表示したいという欲求から、取り扱うデータ量も増加している。そのため、リアルタイムレイトレーシングが実現されても、表現能力を高く維持したまま高フレームレートで出力するためには計算負荷軽減技術が必要不可欠である。
時系列的な関連性を利用し、レイトレーシングによるアニメーション作成を効率化するための手法が特許文献1に開示されている。アニメーションは、少しずつ変化する画面(フレーム)を更新することで動きを表現している。したがって、少しずつ変化する画面には当然見えている物体の位置関係等の時系列的な相関関係(コヒーレンス)が存在している。
一般的に、レイトレーシングによる画像生成処理の中で最も時間がかかるのは、光線追跡の探索時間である。特許文献1では、時系列的な画像間のコヒーレンスを活用し、前フレームと現フレームで変化の無い部分は、前フレームの結果を再利用することで光線追跡法における探索時間の軽減を実現している。
VR世界の構築手法 監修者 舘すすむ、編者 廣瀬通孝、発行所 株式会社 培風館、2000年 Interactive Rendering with Coherent Ray-Tracing Ingo Wald, Carsten Benthin, Markus Wagner, and Philipp Slusallek in Computer Graphics Forum / Proceedings of the EUROGRAPHICS 2001, pp 153-164, 20(3), Manchster, United Kingdom, September 3-7, 2001 特許第2532055号
上記の方法は、レイトレーシングによる画像生成処理の時系列的な効率化と高速化を実現している。しかし、一度に視点の異なる複数枚の画像を生成する処理については全く考慮されていない。例えば、仮想空間内を体験者がHMDを装着して体験する場合、一度に右眼用と左眼用の2枚の画像を生成し、ステレオ画像として体験者に提示する必要がある。ここで、ステレオ画像生成では、右眼用画像と左眼用画像とでは視点位置姿勢が異なるため、光線の反射方向が異なる。そのため時系列的な関連性は利用することができない。したがって、体験者に提示するステレオ画像を生成するためには、左右眼それぞれで画像生成処理を行う必要が生じる。
本発明は以上の問題に鑑みてなされたものであり、複数枚の仮想空間画像を効率的に生成するための技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、第1の視点および該第1の視点とは異なる第2の視点から共通の物体を描画する画像処理装置であって、
仮想空間を構成する複数の仮想物体のデータを管理する管理手段と、
前記第1の視点から観察可能な仮想物体を前記複数の仮想物体から探索し、該探索により見つかった仮想物体の画像を含む、当該第1の視点から前記仮想空間を観察した第1画像を描画する第1の描画手段と、
前記第2の視点から観察可能な仮想物体を前記複数の仮想物体から探索し、該探索により見つかった仮想物体の画像を含む、当該第2の視点から前記仮想空間を観察した第2画像を描画する第2の描画手段とを備え、
前記第1の描画手段は、前記仮想物体を所定の順序で探索し、該探索により見つかった仮想物体が先の順序となるように前記所定の順序を更新し、
前記第2の描画手段は、前記第1の描画手段により更新された所定の順序で前記仮想物体を探索することを特徴とする。
本発明の構成により、左右眼のように視点の位置姿勢が異なる複数枚の仮想空間画像であっても効率的に生成することができる。
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
[第1の実施形態]
本実施形態では、ユーザ(観察者)の右眼、左眼のそれぞれに対して提示する仮想空間画像をレイトレーシング法により生成する場合を想定している。より詳しくは、本実施形態では先ず一方の目に対して提示する仮想空間画像を生成し、係る生成処理の過程で得られる計算結果を記憶する。そして、係る計算結果を、他方の目に対して提示する仮想空間画像の生成処理に利用する。これにより、それぞれの目に対して提示する仮想空間画像の生成処理の効率化と高速化を可能にする。
図1は、本実施形態で行う画像処理の概要を説明する図である。本実施形態では、ユーザが仮想空間に没入して体験を行う際、左眼と右眼でそれぞれ異なる視点位置姿勢で仮想空間の画像をレイトレーシング法により生成する場合を想定している。したがって、ユーザの左眼に対して提示する画像を表示する画面101と、ユーザの右眼に対して提示する画像を表示する画面102のそれぞれには、それぞれ異なる視点位置姿勢に基づいた仮想空間画像が表示されることになる。
また、それぞれの画面101、102に表示される画像の視点位置姿勢は、人間の眼間距離と同様に、それほど大きく離れていないことを想定している。そのため、本実施形態では、画面101に映っている仮想物体は、画面102にも映っていると仮定することができる。このような仮定を用いることで、左眼用の仮想空間画像を生成するために計算した計算結果を、右眼用の仮想空間画像を生成する処理でも利用することが可能となる。
画像処理装置103は、画面101,102に表示する仮想空間画像を、レイトレーシング法により生成する画像処理装置である。
ただし、それぞれの画面101,102における領域104は、左眼と右眼とで視野が重ならない領域である。領域104については、一方の画面に表示した仮想空間画像の生成時における計算結果の再利用ができないため、それぞれの画像生成処理の中で毎回計算を行う必要がある。
レイトレーシング法による画像処理計算において最も処理時間のかかる処理は、光線と交差する仮想物体の探索処理である。
探索の難しさは仮想物体の多さ、つまりはシーンの複雑さに大きく依存する。例えば、シーン中に1万個の仮想物体が存在しているとする。この場合、仮想空間を構成する各要素をツリー構造で管理するシーンツリー中の1万番目のオブジェクトが描画対象であるとすると、仮想空間画像を毎フレーム生成する度に1万回の探索処理を行う必要がある(仮想物体の探索処理の詳細な説明は後述する)。
本実施形態では、一方の目に対して提示する仮想空間画像を生成すべく一方の目に映る仮想物体をシーンデータから検索した場合に、その検索の結果を、他方の目に対して提示する仮想空間画像を生成する処理に利用する。これにより、全体の計算負荷を軽減させ、画像生成処理の高速化を実現する。
図2は、本実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示すブロック図である。なお、コンピュータのハードウェア構成については係る構成に限定するものではなく、処理を実行する実行部とプログラムやデータを記憶する記憶部とを主要な構成とする装置であれば、如何なる構成のコンピュータを用いても良い。
図2において、CPU201は、RAM202やROM203に格納されているコンピュータプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータが行うものとして後述する各処理を実行する。
RAM202は、外部記憶装置204からロードされた処理プログラム205(コンピュータプログラム)やシーンデータ206を一時的に記憶するためのエリアを有すると共に、CPU201が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM202は、各種のエリアを適宜提供することができる。
ROM203には、ブートプログラムや本コンピュータの設定データ等が格納されている。
外部記憶装置204は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置204には、OS(オペレーティングシステム)に加え、処理プログラム205、シーンデータ206が格納されている。更に、外部記憶装置204には、後述の説明において既知の情報として説明するものや、後述の説明において、当業者であれば常識的に用いるであろう情報等もまた、保存されている。外部記憶装置204に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM202にロードされる。そしてCPU201は、このロードされたコンピュータプログラムやデータを用いて各種の処理を実行する。
ここで、外部記憶装置204に保存されている処理プログラム205は、本コンピュータが行うものとして後述する各種の処理をCPU201に実行させる為のコンピュータプログラムである。
シーンデータ206は、仮想空間を構成する各要素をツリー形式(木構造)で管理するためのデータである。例えば、仮想物体を周知のポリゴンで構成する場合、シーンデータ206には、ポリゴンの色データ、法線ベクトルデータ、ポリゴンを構成する各頂点の座標値データ(これらのデータを以下、幾何情報と呼称する)等が含まれる。また、仮想物体に対してテクスチャマッピングを施す場合には、シーンデータ206には、テクスチャマップデータも含まれる。さらに、仮想空間中を照射する仮想光源の種類や輝度情報も、このシーンデータ206に含まれる。
また、仮想空間画像をレイトレーシング法を用いて描画する場合、シーンデータ206には、光線と仮想物体との交差判定を容易にするための空間分割情報等も含まれている。本実施形態では上述の通り、仮想空間画像はレイトレーシング法で描画するものとして説明する。
入力装置207は、仮想空間画像を観察するユーザの右眼の位置姿勢情報、左眼の位置姿勢情報を入力するための装置である。従って入力装置207に適用可能な装置としては様々なものが考え得る。
例えば、キーボードやマウスを入力装置207として用いても良い。この場合、ユーザが入力装置207を用いて手動でそれぞれの眼の位置姿勢情報を入力することになる。
また、位置姿勢センサを入力装置207として用いても良い。この場合、係る位置姿勢センサはユーザの頭部に取り付けることになる。そして係る位置姿勢センサは、計測した結果をRAM202にデータとして入力することになる。CPU201は、係る計測結果のデータと、位置姿勢センサと右眼との位置姿勢関係、位置姿勢センサと左眼との位置姿勢関係、を用いて、右眼、左眼の位置姿勢を求める。
このように、ユーザの右眼、左眼の位置姿勢情報の取得方法については様々なものがあり、何れかの方法に限定するものではない。またそれに従って、入力装置207に適用する装置は適宜決めればよい。
表示装置208は、CPU201が生成した右目用の仮想空間画像、左目用の仮想空間画像を表示するためのものであり、CRTや液晶画面などにより構成されている。もちろん、表示装置208にはこれ以外の情報を表示させても良い。即ち、表示装置208は、CPU201による処理結果を画像や文字等を用いて表示することができる。
209は上述の各部を繋ぐバスである。
次に、図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像(それぞれ右目用仮想空間画像、左目用仮想空間画像)を生成するために行う処理について、同処理のフローチャートを示す図3を用いて説明する。
なお、図3に示したフローチャートに従った処理をCPU201に実行させる為のコンピュータプログラム(処理プログラム205を含む)やデータ(シーンデータ206を含む)は、外部記憶装置204に保存されている。上述の通り、係るコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM202にロードされる。CPU201は、このロードされたコンピュータプログラムやデータを用いて処理を実行するので、本コンピュータは、図3に示したフローチャートに従った処理を実行することになる。
先ずステップS300では、以降の処理のための初期化処理を行う。係る初期化処理には、外部記憶装置204から処理プログラム205を読み出し、RAM202にロードする処理が含まれている。また、係る初期化処理には、RAM202内に、以降の処理で用いる為のエリアを確保する処理も含まれている。
次にステップS301では、外部記憶装置204からシーンデータ206を読み出し、RAM202に順次展開する。この時、RAM202へ展開されるデータは、シーン全体の木構造を記述したシーンツリーとノード情報である。ノード情報とは、シーンツリーの個々の要素となる仮想物体の幾何情報、材質情報、仮想光源等の情報である。
次にステップS302では、仮想空間中における視点(右眼、左眼)のそれぞれの位置姿勢情報をRAM202に取得する。係る取得は上述の通り様々な方法があるが、本実施形態では、入力装置207を用いて手動でユーザが入力したものとする。しかし、予め定められた固定値としての右眼の視点位置姿勢情報、左眼の視点位置姿勢情報を用いても良い。
次に、ステップS303では、ステップS301でRAM202に取得したデータ群、ステップS302でRAM202に取得した右眼、左眼の位置姿勢情報、を用いて、一方の眼(第1の視点)に対して提示する仮想空間画像(第1画像、第1画面)を生成する。そして生成した第1画面を表示装置208の表示画面上に表示する。本ステップにおける処理の詳細については後述する。
次に、ステップS304では、ステップS303における処理において更新されたシーンデータ206を用いて、他方の眼(第2の視点)に対して提示する仮想空間画像(第2画像、第2画面)を生成する。そして生成した第2画面を表示装置208の表示画面上に表示する。本ステップにおける処理の詳細についても後述する。
ステップS305では、本処理を終了するか否かを判断する。本処理を終了させるためには、例えば、ユーザが入力装置207を用いて終了指示を入力するようにしても良いし、処理の終了条件を予め設定しておいても良い。係る判断の結果、本処理を終了するのであれば、本処理を本処理を終了させる。一方、本処理を終了しないのであれば、次のフレームにおける右目用仮想空間画像、左目用仮想空間画像を生成すべく、処理をステップS302に進め、以降の処理を行う。
ここで、レイトレーシング法について、図4を用いて説明する。図4は、レイトレーシング法と仮想空間の分割とについて説明する図である。
レイトレーシング法では、仮想空間中に設定した視点401より仮想スクリーン402の各画素に対して光線(レイ)を飛ばす処理を行う。そして、仮想スクリーン402を通過した光線と、例えば、オクトリー分割した仮想空間403内の仮想物体との交差判定を行う。光線と仮想物体とが交差した場合は、係る仮想物体の情報をシーンデータ206から探索する。そして、探索した情報が示す仮想物体に対する仮想光源405からの光の反射を計算し、仮想スクリーン402上の画素値を決定する。以上の処理を仮想スクリーン402を構成する全ての画素について行う。
ここで、仮想空間403は光線と仮想物体との交差判定を容易にするためオクトリー分割している。レイトレーシング法では空間を分割することにより交差判定を容易にする手法が数多く提案されている。例えば、kd-tree分割やBVH(Boundary Volume Hierarchy)などが挙げられる。本実施形態は空間分割のアルゴリズムに依らないため、如何なる空間分割手法を用いても良い。
また、光線と交差した仮想物体の情報は、シーンデータ206中のシーンツリーの探索を行うことで得られる。
次に、シーンデータ206について説明する。図5は、シーンデータ206が示すツリーの構成例を示す図である。
World501はシーン(仮想空間)の根幹(ルート)ノードに相当するノードで、シーンの絶対座標を定義するノードである。
Camera502は、視点の位置姿勢や画角を格納しているノードである。
Object503は、仮想物体の各種情報を保持しているノードである。一般的に、シーンには複数の仮想物体が存在するため、Object503以下にはシーン内に登場する仮想物体をグループ化したSub-object505が用意される。
Transform506は、World501の絶対座標に対するObject503の位置姿勢を定義するパラメータである。
Sub-object505は、仮想物体を示す最小単位としてのobject1(507)、object2、…をグループ化したノードである。Sub-object505以下にはシーンに登場する仮想物体の数だけobjectノードが関連付けられている。
object1(507)は、shape508、material509、transform510の情報を有している。
Shape508は、object1(507)のポリゴンを構成する各頂点の座標値データや法線ベクトルデータ等の幾何形状の情報を有している。
Material509は、object1(507)のテクスチャ情報や、光源が当たった時の拡散反射情報、鏡面反射情報などが属性データとして格納されている。
transform510は、object1(507)の位置姿勢情報を示している。
最後に、Light504は、仮想空間シーンを照射する為の仮想光源の情報を有しており、仮想光源の位置(幾何情報)と光源の種類(直接光、点光源、スポットライト等)、輝度情報(色味情報も含む)のデータを格納している。
以上の構成から、光線と交差した仮想物体の情報を得るためには、光線と交差した数だけ図5に示したシーンツリーの探索処理(シーンデータ内の探索)が必要になる。すなわち、階層構造の深い場所にある仮想物体に光線が交差した場合や、仮想物体が非常に多いシーン等では、探索処理が膨大に増加してしまう。
次に、シーンデータ206中のシーンツリーの探索について説明する。図6は、シーンツリーの探索について示す図である。
シーンツリー601は、初期状態におけるシーンツリーである。シーンツリー601における子ノード602は、ある視点(着目視点)から見えている仮想物体を示している。そして、探索経路603は、光線が仮想物体(子ノード602)に交差した際に、この仮想物体のノードを探索する為の経路を示している。係る経路は予め設定されている。
ここで、着目視点から見える仮想空間画像を生成する処理では、従来では、子ノード602に対応する仮想物体の表示画面上における画素数分だけ探索経路603に沿って子ノード602の探索を行うことになる。シーンツリー601の場合、子ノード602の位置は探索経路603の末端部分にあるため、毎回の探索には時間がかかる。本実施形態では、係る時間を短縮すべく、子ノード602の位置を、探索経路603の先頭部分に移動させることで、シーンツリー601を更新する。
より詳しくは、子ノード602が探索された時点で、RAM202内に新たなシーンツリーの作成を開始する。即ち、最初にシーンツリー601の複製をRAM202中に作成し、複製シーンツリーにおける子ノード602の位置を探索経路603の先頭部分に移動させることで、複製シーンツリーを更新する。即ち、シーンデータ中における仮想物体のデータの管理順を変更することで、シーンデータを更新する。図6において604は、子ノード602の位置を探索経路603の先頭位置に移動させたことで更新した複製シーンツリーを示す。605で示す如く、子ノード602を探索するまでの経路の長さは、探索経路603と比べても短くなっていることが分かる。なお、子ノード602内のそれぞれのノードの並び順(管理順)に関しては特に限定するものではない。
そして、着目視点から見える仮想空間画像を生成する処理が終了した時点で、シーンツリー601を複製シーンツリーに更新する。そして、更新後のシーンツリー601を、着目視点以外のもう一方の視点から見える仮想空間画像を生成する為に用いるシーンツリーとして設定する。
このように、ある視点についての仮想空間画像の生成処理の過程で更新したシーンツリーは、次の視点についての仮想空間画像を生成するために用いられる。従って、複数の視点についての仮想空間画像を生成する場合、生成処理順で後の視点ほど、探索距離が短くなる。
なお、仮想空間画像の生成過程で探索されなかったノードについては、新シーンツリーの(探索経路603の)最後尾に配置する。このように、探索されなかったノードに関しても、新シーンツリーにコピーしておくことで、第1画面、第2画面で異なる仮想物体を視野に入れていても問題が生じない。つまり、第2画面のみに映っている仮想物体が存在した場合、新シーンツリーにおける並べ替えの対象にはならないが、新シーンツリー内には仮想物体の情報が格納されているため、問題無く表示することが可能である。
このように、一方の視点に対する仮想空間画像の生成時に、探索される仮想物体のノードのシーンツリー中における位置を探索経路の先頭位置に再配置することで、効率的な探索処理を実現することができる。
また、新シーンツリー作成時のノード組み換え操作では、探索順序の代わりに探索を行った頻度をカウントしておき、探索頻度順でシーンツリーを組み替える事も可能である。即ち、ノード毎に探索された回数をカウントしておき、1枚の仮想空間画像の生成処理を完了させた時点でカウント値が大きいものから順に、探索経路の先頭から並べる。
更に、第1画面の画像生成過程で仮想物体が視野に入っていない場合は、第2画面においてシーンツリーの探索処理は不要となる。したがって、第1画面の画像処理過程で仮想物体が視野に入っていない情報を新シーンツリーの情報に付加しておくことで第2画面の画像生成を高速に処理することが可能となる。
第1画面の視野に仮想物体が入っていない場合の第2画面の画像生成処理としては、背景となる画像をテクスチャとして予め用意しておき、レイトレーシング処理を行う代わりにテクスチャレンダリングで画像生成処理を行う。
ただし、仮想物体が第2画面のみに映っている場合がある。この場合は仮想物体の有無情報は利用することができない。しかし、片眼のみに仮想物体が映る現象は、仮想物体と視点位置が極端に近い場合に視差が大きなり生じる現象である。したがって、仮想物体の有無情報を利用する場合は、視差が大きくならないように視点から一定の奥行き値以上に仮想物体が存在する場合に限るように制約を設ける。この制約により仮想物体の有無情報を利用することが可能になる。
第1画面の画像生成における視点位置姿勢が第2画面の画像生成における視点位置姿勢と同一、またはほぼ同一である場合、第1画面の探索結果と第2画面の探索結果は等しくなる。そのため、第1画面で探索した探索結果を第2画面の画像生成過程で再利用することが可能になる。
シーン探索の問題は、種々の画像生成処理(ラスタライゼーション手法、ボリュームレンダリング手法、パーティクルレンダリング法等)で必ず必要となる処理であるため、画像生成処理を変更してもシーン再構築による画像生成の効率化手法は有効である。したがって、本実施形態は種々の画像生成処理一般に応用可能である。
なお、本実施形態では、第1画面、第2画面を、コンピュータが有する表示装置208に表示させていたが、他の表示装置に第1画面、第2画面を表示させても良い。例えば、コンピュータにHMDを接続した場合、HMDが有する右目用の表示画面には右目用仮想空間画像、左目用の表示画面には左目用仮想空間画像を表示させるようにしても良い。
[第2の実施形態]
第1の実施形態では、第1画面、第2画面を逐次処理で生成していた。本実施形態では、第1画面、第2画面を分割し、並列でそれぞれの画面を生成する。
図7は、本実施形態で行う画像処理の概要を説明する図である。
本実施形態では、第1画面、第2画面を上下で2分割し、それぞれの領域を1つのCPUで処理することを想定している。
図7において701は第1画面の上部領域(部分領域)を示し、703は第1画面の下部領域を示している。上部領域701と下部領域703はそれぞれ、第1画面を上下で2分割して得られるものであるので、それぞれの領域で重なる部分はない。
図7において702は第2画面の上部領域を示し、704は第2画面の下部領域を示している。上部領域702と下部領域704はそれぞれ、第2画面を上下で2分割して得られるものであるので、それぞれの領域で重なる部分はない。
本実施形態では、一方の画面の上部領域と他方の画面の下部領域とを並行して生成する。一方の画面の上部領域の生成処理では、オリジナルのシーンデータを複製し、一方の画面の上部領域に登場する仮想物体のノードを、探索経路の先頭に移動させるべく複製シーンツリーを第1の実施形態と同様に更新する。他方の画面の下部領域の生成処理では、オリジナルのシーンデータを複製し、他方の画面の下部領域に登場する仮想物体のノードを、探索経路の先頭に移動させるべく複製シーンツリーを第1の実施形態と同様に更新する。即ち、本実施形態では、一方の画面用のシーンデータ(第1のシーンデータ)と他方の画面用のシーンデータ(第2のシーンデータ)とが生成されることになる。
次に、一方の画面の下部領域と他方の画面の上部領域とを並行して生成する。一方の画面の下部領域の生成処理では、他方の画面の下部領域の生成の過程で更新されたシーンデータを用いる。他方の画面の上部領域の生成処理では、一方の画面の上部領域の生成の過程で更新されたシーンデータを用いる。
このように、2つのプロセスが同時並行で実行されることにより、画像生成が1画面の半分まで終わった時点から、効率良くシーンツリーの探索処理を行うことが可能になる。
図8は、本実施形態で行う画像処理の概要を説明する図である。図8において図1と同じ部分には同じ参照番号を付けており、その説明は省略する。本実施形態では、第1画面101と第2画面102とを並列に生成するために、新たに画面領域分割制御部801が追加されている。これは、第1画面101と第2画面102の画像生成処理を同時平行で行う際に、各々の画面を領域分割した上で画像生成処理を前半と後半に分けている。
また、本実施形態では、画像生成の後半部分で情報交換を行うため、第2画面102の画像生成過程で取得した情報も画像処理装置103へ出力し、第1画面101の画像生成時に利用する点が異なっている。
次に、図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本実施形態に係る処理について、同処理のフローチャートを示す図9を用いて説明する。
なお、図9に示したフローチャートに従った処理をCPU201に実行させる為のコンピュータプログラム(処理プログラム205を含む)やデータ(シーンデータ206を含む)は、外部記憶装置204に保存されている。上述の通り、係るコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM202にロードされる。CPU201は、このロードされたコンピュータプログラムやデータを用いて処理を実行するので、本コンピュータは、図9に示したフローチャートに従った処理を実行することになる。
先ずステップS900では、以降の処理のための初期化処理を行う。係る初期化処理には、外部記憶装置204から処理プログラム205を読み出し、RAM202にロードする処理が含まれている。また、係る初期化処理には、RAM202内に、以降の処理で用いる為のエリアを確保する処理も含まれている。
次にステップS901では、外部記憶装置204からシーンデータ206を読み出し、RAM202に順次展開する。この時、RAM202へ展開されるデータは、シーン全体の木構造を記述したシーンツリーとノード情報である。ノード情報とは、シーンツリーの個々の要素となる仮想物体の幾何情報、材質情報、仮想光源等の情報である。
次にステップS902では、右目用の画面、左目用の画面をそれぞれ上下2分割するので、それぞれの分割領域を示す領域情報を生成し、RAM202に格納する。領域情報には、例えば、どちらの画面(右目用の画面、左目用の画面)における領域であるのかを示す情報、領域の左上隅の座標位置と右下隅の座標位置、が含まれている。
次にステップS903では、仮想空間中における視点(右眼、左眼)のそれぞれの位置姿勢情報をRAM202に取得する。係る取得は上述の通り様々な方法があるが、本実施形態では、入力装置207を用いて手動でユーザが入力したものとする。しかし、予め定められた固定値としての右眼の視点位置姿勢情報、左眼の視点位置姿勢情報を用いても良い。
次に、ステップS904では、ステップS901、S902でRAM202に取得したデータ群、ステップS903でRAM202に取得した右眼、左眼の位置姿勢情報、を用いて、一方の眼に対して提示する仮想空間画像(第1画面)の上部領域を生成する。そして生成した第1画面の上部領域を表示装置208の表示画面上に表示する。
また、ステップS904と並行してステップS905における処理を行う。ステップS905では、ステップS901、S902でRAM202に取得したデータ群、ステップS903でRAM202に取得した右眼、左眼の位置姿勢情報、を用いて、他方の眼に対して提示する仮想空間画像(第2画面)の下部領域を生成する。そして生成した第2画面の下部領域を表示装置208の表示画面上に表示する。
次に、ステップS907では、ステップS905で更新したシーンデータを用いて、第1画面の下部領域を生成する。そして生成した第1画面の下部領域を表示装置208の表示画面上に表示する。
また、ステップS907と並行してステップS908では、ステップS904で更新したシーンデータを用いて、第2画面の上部領域を生成する。そして生成した第2画面の上部領域を表示装置208の表示画面上に表示する。
ステップS909では、本処理を終了するか否かを判断する。本処理を終了させるためには、例えば、ユーザが入力装置207を用いて終了指示を入力するようにしても良いし、処理の終了条件を予め設定しておいても良い。係る判断の結果、本処理を終了するのであれば、本処理を本処理を終了させる。一方、本処理を終了しないのであれば、次のフレームにおける右目用仮想空間画像、左目用仮想空間画像を生成すべく、処理をステップS903に進め、以降の処理を行う。
ここで、本実施形態では、並列数を2として第1画面の画像生成と第2画面の画像生成処理を2つのプロセスで同時に処理することを想定しているが、必ずしも並列数は2である必要性はない。並列数は2以上でも対応が可能であり、その場合は、並列数に応じ画面領域を分割し、探索を効率化するためのシーンツリーをそれぞれのプロセスで生成すればよい。
また、本実施形態では、上下に画面を2分割して画像生成処理を実行することを想定したが、画面の分割方法は必ずしも上下に2分割する必要はない。左右で画面分割を行ってもよい。さらに並列数が上がれば、それに応じて画面領域の分割方法を変更してもよい。したがって、画面の分割方法は構築するシステムや体験を行うシーン毎に好適な手段を選択すればよい。何れにせよ、本実施形態では、一方の視点についての仮想空間画像と他方の視点についての仮想空間画像とを並行して複数回に分けて生成することになる。
<変形例>
ここでは、適応的に画面分割を行う例について説明する。
図10は、適応的に画面分割する処理を説明する図である。
図10(a)において第1画面101では左上隅の位置1001から画像生成処理を行い、第2画面102では右下隅の位置1004から画像生成処理を行う。そして図10(b)に示す如く、現在処理している画素の位置がそれぞれの画面で同じになった場合、残りの領域を処理すべく、第1画面については第2画面の生成で更新したシーンデータを用いる。そして、第2画面については第1画面の生成で更新したシーンデータを用いる。図10(b)において、1002は、現在処理している画素の位置がそれぞれの画面で同じになった場合における、処理済みの領域を示している。
このように、本実施形態によれば、画像生成処理の並列処理能力に応じて画面を分割し、画像生成処理を分担することにより、効果的でかつ高速に画像生成処理を実行することができる。
[第3の実施形態]
第1,2の実施形態では、画像の生成を逐次的に1画素ずつおこなっていた。本実施形態では、画像生成処理の前半過程で一部のみ画像生成を行いシーンデータの更新を行い、再度詳細に画像生成処理を行う点が大きく異なる。
図11は、本実施形態に係る画像生成処理を説明する図である。1104は、視点からの視野内に収まっている仮想空間の画像(スクリーン)であり、上記第1画面や第2画面に相当する。1101は、係る画像1104内に設定されている特定領域で、図11では、等間隔に離散的に設定されている。本実施形態では、特定領域1101は、画像1104の1画素に対応するものとするが、そのサイズについては特に限定するものではないし、特定領域の配置方法についてもこれに限定するものではない。
本実施形態では、1つの仮想空間画像を2回に分けて生成する。1回目の生成(第1の生成)では、特定領域内の画像について生成する。そして2回目の生成(第2の生成)では、第1の画像生成で第1の実施形態と同様にして更新したシーンデータを用いて、残りの領域(特定領域1101を除く領域)の画像を生成する。
本実施形態では、このように離散的に光線を飛ばす領域を設定することにより、スクリーン上の全画素を計算せずともシーン全体のシーンデータを高速に再構築することができる。
そして、特定領域1101以外の領域は、シーン再構築後に再度詳細な画像生成処理を行うことで効率的に画像生成を行うことができる。本実施形態は主に画面上の画素値を決定する際に1画素ずつ計算するレイトレーシングなどの画像生成処理においてとても有用な方法である。
特定領域によるシーンの再構築は、第1画面101および第2画面102に対して両方に適用しても良いし、片方だけに適用した結果を両方の画像生成処理に対して適用してもよい。
[第4の実施形態]
第1の実施形態、第2の実施形態、第3の実施形態では、それぞれの画像生成過程で出力されるシーンデータを交換して利用することで効率良く画像を生成するための処理について説明した。本実施形態では、ラスタライゼーションによる画像生成処理において、左右の眼に対する画像生成過程で出力された奥行き値を視点座標変換して流用する点が異なる。
本実施形態で行う画像処理の概要は、第2の実施形態で説明した概要と重複する点が多いので異なる点のみについて説明する。
まず、本実施形態では、図7に示すように領域分割した上部領域701および下部領域704のそれぞれ重なり合わない部分領域の輝度値を通常の描画方法で計算する。このとき、輝度値を計算する過程で得られる奥行き値(Zバッファの値)、および対象物体の材質情報(マテリアル情報)をRAM202に格納する。
RAM202に格納した奥行き値を、他方の視点の座標系における奥行き値に変換する。係る変換によって求められた奥行き値と、対象物体のマテリアル情報があれば、輝度値は算出可能である。
次に、図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本実施形態に係る処理について、同処理のフローチャートを示す図12を用いて説明する。なお、図12において、図9と同じ処理を行うステップについては同じステップ番号を付けている。
ステップS904,S905では、第2の実施形態で説明した処理に加え、それぞれの分割領域を構成する各画素の輝度値を求める処理を行う。
ステップS1201では、ステップS904,S905における処理の過程で得られる奥行き値(Zバッファの値)、対象物体の各頂点の法線情報、対象物体の材質情報をRAM202に格納する。
ステップS1202では、ステップS1201でRAM202に格納した奥行き値に対して視点の座標変換を行う。係る座標変換は、左眼における奥行き値を右目における奥行き値に変換し、右眼における奥行き値を左眼における奥行き値に変換する処理である。
最後に、ステップS907、S908では、第2の実施形態で説明した処理に加え、ステップS1202で変換したそれぞれの奥行き値に対して、ステップS1201で格納した材質情報から、それぞれの分割領域を構成する各画素の輝度値を計算する。
次に、本実施形態に係る描画処理における、輝度値の決定方法について説明する。
図13は、一般的なラスタライゼーションによる画像生成処理の流れを説明する図である。
モデリング変換1301では、外部記憶装置204内に保存されているシーンデータの情報(3次元座標)をRAM202にロードし、ワールド座標に変換する。つまり、モデリング変換1301では、3次元空間内での仮想物体の回転と変形を行っている。これは拡大縮小と回転のようなローカルなオブジェクト空間上での基本的な座標変換も含んでいる。ここで、モデリング変換1301の処理を行った時点のデータは、視点の位置姿勢に依存しないデータである。従って、右眼と左眼とでデータを共有することができる。
視点変換1302では、ワールド座標上に定義した仮想物体の位置姿勢を、仮想カメラの位置と姿勢に基づいたローカル座標系における位置姿勢に変換する。具体的には、視点変換用の行列を予め求めておき、仮想物体の各頂点に対する行列演算を行いて行う。この結果、元の3次元シーンは仮想カメラから見た座標系におけるシーンに変換される。
視点変換1302での処理を行った時点で、データはそれぞれの視点に依存したデータとなるため、右眼と左眼とでデータを共有することは出来なくなる。
投影変換1303では、仮想カメラで定義した3次元座標系から2次元座標系への変換を行う。投影変換1303により、仮想空間は仮想カメラから見た平面(仮想スクリーン)上に2次元の情報としてマッピングされる。
ラスタライゼーション1304では、クリッピング処理と陰面処理を施した後、仮想スクリーンに投影されるシーンの2次元画像を構成する各画素の輝度値を計算する処理を行う。
クリッピング処理では、視界の外に存在する仮想物体のポリゴンを破棄し、視界の範囲内のポリゴンのみを切り取る処理を行う。隠面処理では、視点方向に向いていない、理論上は視点からは見えないポリゴンを破棄する処理を行う。このとき、視点から見えるはずのポリゴンは視点から最も遠い順にZバッファに書き込まれる。そして順次上書きされていくことで、各画素値に対応する奥行き値が算出されると共に、視点から見えるポリゴンのみが選択される。
さらに、ラスタライゼーション1304では、陰面処理の後、シェーディング(陰影)処理のために各頂点の法線情報および仮想物体の材質情報をシーンデータから抽出する。また、必要に応じてテクスチャ情報も抽出する。ここで、左右の眼で同一の物体を見ていた場合、物体の材質情報は共有することが可能である。抽出したデータと仮想視点の位置姿勢情報を元に反射光を計算し、仮想スクリーン上の各画素の輝度値を算出する。ただし、物体の材質情報から計算した陰影処理の結果は視点の位置姿勢によって異なるため、共有することができない。
表示1305では、最終的に色がついた画素をモニタやその他の表示装置に表示する。
以上、一般的なラスタライゼーションの処理において共通の仮想物体を異なる視点で観察する場合、変換処理をせずに共有できるデータはモデリング変換1301で得られるデータと物体の材質情報である。ただし、ラスタライゼーション1304の処理過程で得られる奥行き値は、視点の座標変換を行うことにより流用可能である。しかし、視点と物体との位置関係によってはオクルージョンが発生し、正しく奥行き値が算出できない場合がある。この場合は、前フレームの対応する画素値を参照することによって輝度値を決定する。
次に、視点座標の変換を行った奥行き値から各画素の輝度値を算出する方法を説明する。
図14は、ステレオ視による3次元座標の推定手法を説明するための図である。
図14に示すように、3次元空間中にxyz絶対座標系1401を定義する。そして、左右のカメラレンズの中心の絶対座標がそれぞれ、OL=(0、0、0)、OR=(d、0、0)となるように距離dだけ離間させて配置する。そして、レンズ焦点距離、即ちレンズ中心と左右の画像面までの距離をfとする。このようにして設定した仮想視点から仮想物体1402を観察し、観察した像が投影される右眼用のスクリーン、左眼用のスクリーンをそれぞれ、仮想スクリーン1403R、1403Lとする。
右眼から仮想物体1402上の点Pを観察した場合、点Pは仮想スクリーン1403R上の点PR(xR、yR)に投影される。また、左眼から仮想物体1402上の点Pを観察した場合、点Pは仮想スクリーン1403L上の点PL(xL、yL)に投影される。但し、点P、点Pの座標はそれぞれ、仮想スクリーン1403L、仮想スクリーン1403Rの中心を原点とする相対座標である。
このとき、対象物体の表面上の点P(xp、yp、zp)を、2台のカメラの中心と計測点からなる三角形を利用した三角測量により、求めることができる。
このようにして、点PLと点PR、各種パラメータ、が既知であれば、対象物の3次元座標が計算可能であるというのが、コンピュータビジョンにおけるステレオ視を利用した一般的な奥行き推定の方法である。
本実施形態では、ステレオ視による奥行き推定方法の原理を応用して、左右どちらか一方の目に対する画面上の画素値とその画素に対応する対象物の3次元座標が既知であった場合に、他方の目に対する画面上の対応する画素の画素値を決定する。例えば、点PR(xR、yR)と、対象物体の表面上の点P(xp、yp、zp)が入力として与えられたとき、点PL(xL、yL)を求めるという問題となる。
従って、視点の位置姿勢が既知で、かつ視点の座標変換を行った奥行き値によって対象物体の表面上の点Pが算出できていた場合、各仮想スクリーン上の対応点を計算することが可能になる。
ステップS907,S908では、第2の実施形態で説明した処理に加え、計算によって求めた仮想スクリーン上の点に対して、RAM202に格納されている物体の材質情報をロードする。そして、ラスタライゼーション1304の処理で、シェーディング処理およびテクスチャマッピング処理を行い、個々の輝度値を算出する。この処理は、未計算の画素が無くなるまで繰り返される。これらのラスタライゼーションによる画像生成手法は、一般的なグラフィックス処理を行うハードウェアで実現されており、公知の技術である。
以上説明した処理により、一方の画面で領域分割した領域の輝度値を計算する過程で得られる情報を共有することで、他方の画面の該当する領域の輝度値を算出することができる。
[第5の実施形態]
第1〜4の実施形態では、ステレオ画像を生成する際に画像生成過程で得られる情報を交換して利用することで効率良く画像を生成するための処理について説明した。本実施形態では、2眼以上のカメラシステムで画像生成を行う場合を想定しており、画面領域を2つ以上の領域に分割してそれぞれの画像生成処理を適用する点が異なる。
図15は、本実施形態で行う画像処理の概要を説明する図である。
3つの視点のそれぞれについて描画した結果は第1画面1501、第2画面1502、および第3画面1503に表示される。本実施形態では、画面を3分割してそれぞれの描画を行う。
領域1504〜1506は、各画面で最初に処理を開始する領域(描画領域)である。本実施形態では、領域1504〜1506は重ならないように設定されている。そして、各画面において領域1504〜1506の描画が完了した時点で、領域1504〜1506の計算結果を参照して未計算領域1507〜1509についての計算に移る。また、未計算領域1507〜1509についての計算が完了すれば、残りの領域を計算する。
次に、図2に示す構成を有するコンピュータが、3眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本実施形態に係る処理について、同処理のフローチャートを示す図16を用いて説明する。なお、図16において、図9と同じ処理を行うステップについては同じステップ番号を付けている。
但し、ステップS902では、3つの画面(第1画面、第2画面、第3画面)をそれぞれ、上段、中段、下段の3段(カメラの台数に相当)に分割するものとする。なお、分割形態については特に限定するものではなく、縦に等分割しても良いし、シーンの複雑さに依存して分割領域を可変にしても良い。
ステップS1601aでは、第1画面の上段の描画処理を行う。ステップS1601bでは、第2画面の中段の描画処理を行う。ステップS1601cでは、第3画面の下段の描画処理を行う。ステップS1601a、1601b、1601cのそれぞれにおける描画処理は、他の実施形態と同様にして行う。
ステップS1602では、ステップS1601a、1601b、1601cのそれぞれにおける描画結果を、RAM202に格納する。
ステップS1603aでは、RAM202に格納されている第1画面の上段の描画結果を参照して、第1画面の中段の領域内の輝度値を決定し、係る中段の描画処理を行う。ステップS1603bでは、RAM202に格納されている第2画面の中段の描画結果を参照して、第2画面の下段の領域内の輝度値を決定し、係る下段の描画処理を行う。ステップS1603cでは、RAM202に格納されている第3画面の下段の描画結果を参照して、第3画面の上段の領域内の輝度値を決定し、係る上段の描画処理を行う。但し、ステップS1603a、1603b、1603cの段階で描画する領域は任意で良く、計算する時点で未計算領域であればよい。
ステップS1604aでは、第1画面の中段の描画結果を参照して、第1画面の下段の領域内の輝度値を決定し、係る下段の描画処理を行う。ステップS1604bでは、第2画面の下段の描画結果を参照して、第2画面の上段の領域内の輝度値を決定し、係る上段の描画処理を行う。ステップS1604cでは、第3画面の上段の描画結果を参照して、第3画面の中段の領域内の輝度値を決定し、係る中段の描画処理を行う。
ここで、本実施形態では、ステップS1603a、1603b、1603cで計算した結果をRAM202に格納していない。しかし、構築するシステムによっては、ステップS1602で格納した情報をステップS1603a、1603b、1603cで計算した情報で上書きしてもよい。
例えば、視点が横に並んでおり、それぞれの視点による画面を視点の並び順で並べた結果が第1の画面、第2の画面、第3の画面、であったとする。この場合、第1画面の画像を生成するにあたり第3画面の描画処理結果を利用するよりも、より視点が近い第2画面結果を利用した方が、効率が良い。従って、得られた情報の参照方法は構築するシステムによって好適な手段を選択すればよい。
このようにして、共通の仮想物体を観察する2つ以上の仮想視点においても、任意の分割数で画面を分割し、各担当領域を計算した結果をそれぞれ共有することによって効率的かつ高速に描画を行うことが可能になる。
[第6の実施形態]
領域分割の際、第1の画面および第2の画面で重なり合う領域が無い場合に最も効率が良くなる。しかし、全く重なり合う領域が無い場合には、境界部分のエッジが目立ってしまうという問題が発生する。そのため、境界エッジの周辺で数ピクセルに渡り重なり合う領域を設け、計算して得られた画像を合成してスムージングすることによりエッジを目立たなくすることが可能となる。領域分割の際に重なり合う領域をどの程度設定するかは、構築するシステムでそれぞれ好適な手段を採用すればよい。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態で行う画像処理の概要を説明する図である。 本発明の第1の実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示すブロック図である。 図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う処理のフローチャートである。 レイトレーシング法と仮想空間の分割とについて説明する図である。 シーンデータ206が示すツリーの構成例を示す図である。 シーンツリーの探索について示す図である。 本発明の第2の実施形態で行う画像処理の概要を説明する図である。 本発明の第2の実施形態で行う画像処理の概要を説明する図である。 図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本発明の第2の実施形態に係る処理のフローチャートである。 適応的に画面分割する処理を説明する図である。 本発明の第3の実施形態に係る画像生成処理を説明する図である。 図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本発明の第4の実施形態に係る処理のフローチャートである。 一般的なラスタライゼーションによる画像生成処理の流れを説明する図である。 ステレオ視による3次元座標の推定手法を説明するための図である。 本発明の第5の実施形態で行う画像処理の概要を説明する図である。 図2に示す構成を有するコンピュータが、ユーザの右眼、左眼のそれぞれに対して提示する仮想空間画像を生成するために行う、本発明の第5の実施形態に係る処理のフローチャートである。

Claims (8)

  1. 第1の視点および該第1の視点とは異なる第2の視点から共通の物体を描画する画像処理装置であって、
    仮想空間を構成する複数の仮想物体のデータを管理する管理手段と、
    前記第1の視点から観察可能な仮想物体を前記複数の仮想物体から探索し該探索により見つかった仮想物体の画像を含む、当該第1の視点から前記仮想空間を観察した第1画像を描画する第1の描画手段と、
    前記第2の視点から観察可能な仮想物体を前記複数の仮想物体から探索し該探索により見つかった仮想物体の画像を含む、当該第2の視点から前記仮想空間を観察した第2画像を描画する第2の描画手段とを備え、
    前記第1の描画手段前記仮想物体を所定の順序で探索し、該探索により見つかった仮想物体が先の順序となるように前記所定の順序を更新し、
    前記第2の描画手段前記第1の描画手段により更新された所定の順序で前記仮想物体を探索することを特徴とする画像処理装置。
  2. 前記第1の描画手段は、
    前記探索により見つかった仮想物体先頭に位置するように、前記所定の順序を更新することを特徴とする請求項に記載の画像処理装置。
  3. 前記第1画像及び前記第2画像の画像領域は、第1の領域と第2の領域とを含み、
    前記第1の描画手段及び前記第2の描画手段はそれぞれ、前記第1画像の前記第1の領域及び前記第2画像の前記第2の領域を描画し、該描画後、前記第1画像の前記第2の領域及び前記第2画像の前記第1の領域を描画し、
    前記第1の描画手段は、前記第1画像の前記第1の領域を描画する際に、前記仮想物体を第1の所定の順序で探索し、該探索により見つかった仮想物体が先の順序となるように前記第1の所定の順序を更新し、
    前記第2の描画手段は、前記第2画像の前記第2の領域を描画する際に、前記仮想物体を第2の所定の順序で探索し、該探索により見つかった仮想物体が先の順序となるように前記第2の所定の順序を更新し、
    前記第1の描画手段は、前記第1画像の前記第2の領域を描画する際に、前記仮想物体を前記第2の描画手段により更新された前記第2の所定の順序で探索し、
    前記第2の描画手段は、前記第2画像の前記第1の領域を描画する際に、前記仮想物体を前記第1の描画手段により更新された前記第1の所定の順序で探索することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記第1の描画手段及び前記第2の描画手段はそれぞれ、描画の過程で得られた奥行き値を他方の視点からの座標系に変換して描画することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記第1の視点は観察者の一方の目に対応しており、前記第2の視点は当該観察者の他方の目に対応していることを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  6. 前記第1の描画手段及び前記第2の描画手段はそれぞれ、前記第1の領域と前記第2の領域とが重ならないように前記画像領域の分割を行うことを特徴とする請求項に記載の画像処理装置。
  7. 第1の視点および該第1の視点とは異なる第2の視点から共通の物体を描画する画像処理装置が行う画像処理方法であって、
    前記画像処理装置の管理手段が、仮想空間を構成する複数の仮想物体のデータを管理する管理工程と、
    前記画像処理装置の第1の描画手段が、前記第1の視点から観察可能な仮想物体を前記複数の仮想物体から探索し該探索により見つかった仮想物体の画像を含む、当該第1の視点から前記仮想空間を観察した第1画像を描画する第1の描画工程と、
    前記画像処理装置の第2の描画手段が、前記第2の視点から観察可能な仮想物体を前記複数の仮想物体から探索し該探索により見つかった仮想物体の画像を含む、当該第2の視点から前記仮想空間を観察した第2画像を描画する第2の描画工程とを有し、
    前記第1の描画工程では前記仮想物体を所定の順序で探索し、該探索により見つかった仮想物体が先の順序となるように前記所定の順序を更新し、
    前記第2の描画工程では前記第1の描画工程で更新された所定の順序で前記仮想物体を探索することを特徴とする画像処理方法。
  8. コンピュータを、請求項1乃至の何れか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
JP2008185295A 2007-10-19 2008-07-16 画像処理装置、画像処理方法 Expired - Fee Related JP5055214B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008185295A JP5055214B2 (ja) 2007-10-19 2008-07-16 画像処理装置、画像処理方法
EP08015608.6A EP2051533B1 (en) 2007-10-19 2008-09-04 3D image rendering apparatus and method
US12/237,930 US8884947B2 (en) 2007-10-19 2008-09-25 Image processing apparatus and image processing method
CN200810171559.5A CN101414383B (zh) 2007-10-19 2008-10-17 图像处理设备和图像处理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007273088 2007-10-19
JP2007273088 2007-10-19
JP2008185295A JP5055214B2 (ja) 2007-10-19 2008-07-16 画像処理装置、画像処理方法

Publications (3)

Publication Number Publication Date
JP2009116856A JP2009116856A (ja) 2009-05-28
JP2009116856A5 JP2009116856A5 (ja) 2011-07-14
JP5055214B2 true JP5055214B2 (ja) 2012-10-24

Family

ID=40594908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008185295A Expired - Fee Related JP5055214B2 (ja) 2007-10-19 2008-07-16 画像処理装置、画像処理方法

Country Status (2)

Country Link
JP (1) JP5055214B2 (ja)
CN (1) CN101414383B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5565126B2 (ja) * 2010-06-17 2014-08-06 大日本印刷株式会社 立体印刷物制作支援装置、プラグインプログラム、立体印刷物制作方法および立体印刷物
EP2461587A1 (en) * 2010-12-01 2012-06-06 Alcatel Lucent Method and devices for transmitting 3D video information from a server to a client
JP5891426B2 (ja) * 2011-03-31 2016-03-23 パナソニックIpマネジメント株式会社 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム
JP6532393B2 (ja) 2015-12-02 2019-06-19 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置及び表示制御方法
CN105657408B (zh) 2015-12-31 2018-11-30 北京小鸟看看科技有限公司 虚拟现实场景的实现方法和虚拟现实装置
JP6833348B2 (ja) * 2016-05-25 2021-02-24 キヤノン株式会社 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
JP6915237B2 (ja) * 2016-07-05 2021-08-04 富士通株式会社 情報処理装置、シミュレータ結果表示方法、及びシミュレータ結果表示プログラム
US10311630B2 (en) * 2017-05-31 2019-06-04 Verizon Patent And Licensing Inc. Methods and systems for rendering frames of a virtual scene from different vantage points based on a virtual entity description frame of the virtual scene
CN107576352A (zh) * 2017-07-18 2018-01-12 朱跃龙 一种检测设备、模型建立方法和计算机处理设备
CN110276260B (zh) * 2019-05-22 2021-06-08 杭州电子科技大学 一种基于深度摄像头的商品检测方法
WO2022195818A1 (ja) * 2021-03-18 2022-09-22 株式会社ソニー・インタラクティブエンタテインメント 画像生成システムおよび画像生成方法
CN115665541B (zh) * 2022-10-11 2023-06-23 深圳市田仓文化传播有限公司 基于智能控制的多功能数字影棚系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528280A (ja) * 1991-07-22 1993-02-05 Nippon Telegr & Teleph Corp <Ntt> 光線追跡方法
JPH10232953A (ja) * 1997-02-20 1998-09-02 Mitsubishi Electric Corp 立体視画像生成装置
US7528830B2 (en) * 2003-09-17 2009-05-05 Koninklijke Philips Electronics N.V. System and method for rendering 3-D images on a 3-D image display screen
JP4039676B2 (ja) * 2004-03-31 2008-01-30 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法及びプログラム
EP1643758B1 (en) * 2004-09-30 2013-06-19 Canon Kabushiki Kaisha Image-capturing device, image-processing device, method for controlling image-capturing device, and associated storage medium
JP2006163547A (ja) * 2004-12-03 2006-06-22 Canon Inc 立体画像生成プログラム、立体画像生成システム及び立体画像生成装置。
JP2007264966A (ja) * 2006-03-28 2007-10-11 Seiko Epson Corp 立体視画像生成装置、立体視画像生成方法、立体視画像生成プログラム、記録媒体、および立体視画像印刷装置

Also Published As

Publication number Publication date
CN101414383B (zh) 2014-06-18
JP2009116856A (ja) 2009-05-28
CN101414383A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
JP5055214B2 (ja) 画像処理装置、画像処理方法
EP2051533B1 (en) 3D image rendering apparatus and method
US11263820B2 (en) Multi-stage block mesh simplification
CN112513712B (zh) 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法
KR101145260B1 (ko) 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치
JP5005090B2 (ja) 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム
CN112270756A (zh) 一种应用于bim模型文件的数据渲染方法
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
JPH10255081A (ja) 画像処理方法及び画像処理装置
US9401044B1 (en) Method for conformal visualization
RU2680355C1 (ru) Способ и система удаления невидимых поверхностей трёхмерной сцены
Petkov et al. Interactive visibility retargeting in vr using conformal visualization
KR101090660B1 (ko) 포인트 프리미티브를 이용한 실시간 볼륨 렌더링 방법
CA3143520C (en) Method of computing simulated surfaces for animation generation and other purposes
Kuzma Occlusion in Augmented Reality: Exploring the problem of rendering semi-occluded objects in augmented reality using a model-based approach.
KR20130117074A (ko) 무안경 3d vr 엔진 개발 방법
Daş Stereoscopic ray tracing on graphics processors

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120615

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: 20120702

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: 20120730

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees