JP2006227913A - 画像処理方法、画像処理装置 - Google Patents
画像処理方法、画像処理装置 Download PDFInfo
- Publication number
- JP2006227913A JP2006227913A JP2005040893A JP2005040893A JP2006227913A JP 2006227913 A JP2006227913 A JP 2006227913A JP 2005040893 A JP2005040893 A JP 2005040893A JP 2005040893 A JP2005040893 A JP 2005040893A JP 2006227913 A JP2006227913 A JP 2006227913A
- Authority
- JP
- Japan
- Prior art keywords
- light source
- viewpoint
- image
- region
- data
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 仮想空間の画像を生成するために用いる光源をユーザの視点の位置に応じて好適な光源に切り替える為の技術を提供すること。
【解決手段】 現実空間を複数の領域に分割した場合に、視点の位置が何れの分割領域に属するのかを判定し(S1040)、仮想空間に対して設定可能な複数種の光源のうち、視点の位置が属すると判定された分割領域に応じた光源に係るデータを用いて、観察者の視点から見える仮想空間の画像を生成し(S1060)、生成した画像を外部に出力する。
【選択図】 図4
【解決手段】 現実空間を複数の領域に分割した場合に、視点の位置が何れの分割領域に属するのかを判定し(S1040)、仮想空間に対して設定可能な複数種の光源のうち、視点の位置が属すると判定された分割領域に応じた光源に係るデータを用いて、観察者の視点から見える仮想空間の画像を生成し(S1060)、生成した画像を外部に出力する。
【選択図】 図4
Description
本発明は、現実空間に仮想空間の画像を重畳させて観察者に提示するための技術に関するものである。
現実世界と仮想世界とを違和感なく自然に結合する複合現実感(MR: Mixed Reality)の技術を応用した提示装置が盛んに提案されている。これらの複合現実感提示装置は、カメラなどの撮像装置によって撮影した現実世界の画像に対し、コンピュータグラフィックス(CG: Computer Graphics)で描画した仮想世界の画像を結合し、ヘッドマウントディスプレイ(HMD: Head-Mounted Display)などの表示装置に表示することで、複合現実感提示装置の使用者に提示している。
これらの複合現実感提示装置は、現実世界の画像の変化に追従させるかたちで仮想世界の画像を生成するために、装置のユーザの視点位置・姿勢をリアルタイムで取得する必要がある。この視点位置・姿勢の取得には、6自由度センサ装置が広く用いられている。複合現実感提示装置は、センサ装置によって計測した使用者の視点位置・姿勢を仮想世界での仮想の視点位置・姿勢として設定し、CGによって仮想世界の画像を描画して、現実世界の画像と結合する。このことにより、複合現実感装置の使用者は、あたかも現実世界の中に仮想の物体が存在しているかのような画像を観察することができる。
複合現実感提示装置を用いて、工業製品の設計段階で検証を行うという応用が考えられている。これは、設計対象をCGによって仮想化し、実際に使用される環境を想定した現実世界の画像と重ねて検証を行うというものである。従来は、製品を実際に試作することによって検証を行っていたが、期間やコストの面から何度も試作を繰り返すことは容易ではない。
そのため、設計者がCADなどのツールを用いて設計した製品をCGで描画し、その描画結果をディスプレイ装置などで確認するという方法と併用されてきた。しかし、ディスプレイ装置に表示されるCGを観察するだけでは、現実のものとの比較が難しく、実際の大きさや、部品間の干渉などが実感として把握しにくいため、最終的な検証は試作や製作によって行い、試作や製作の回数を削減するためにCGによる検証で補完することが一般的であった。複合現実感提示装置を用いることによって、検証対象の製品を仮想化し、実物と同じ大きさで現実の空間中に存在するかのように観察することができるため、試作や製作による検証を代替するものとして期待されている。
このような複合現実感提示装置には、撮像装置によって取得される現実の画像と、CGによって描画される仮想の画像とを整合させるということが要求される。
特に、CGで描画される仮想の画像の陰影や色合いを、現実のものに近づけるためには、CGを描画する際に、複合現実感提示装置が使用される現実の環境と同一の照明を設定する必要がある。非特許文献1には、現実空間の光源環境を推定し、それをもとにCGによって描画される仮想の画像の陰影をより正確に表現する手法が述べられている。
I. Sato, Y. Sato, and K. Ikeuchi, "Acquiring a radiance distribution to superimpose virtual objects onto a real scene," IEEE Transactions on Visualization and Computer Graphics, Vol. 5, No. 1, pp. 1-12, January-March 1999.
I. Sato, Y. Sato, and K. Ikeuchi, "Acquiring a radiance distribution to superimpose virtual objects onto a real scene," IEEE Transactions on Visualization and Computer Graphics, Vol. 5, No. 1, pp. 1-12, January-March 1999.
自動車や航空機、建造物といった大型の物品・製品を対象とする場合、これらの物品をCGによって仮想化した仮想オブジェクトの外部から外観を検証するだけではなく、仮想オブジェクトの内部に入り、内観についても検証を行う状況が発生する。
仮想オブジェクトがCGではなく現実のものであれば、オブジェクトの内部では、屋根や壁面等、オブジェクトの外部と内部との境界物によって、オブジェクト外部からの光源が遮られ、オブジェクト内部には、外部光源が減衰して到達する。すなわち、オブジェクトの内部は、外部よりも暗い光で照光される。しかし、一般的にCGで(仮想)オブジェクトを描画した場合には、光源から照光された光は間に存在するオブジェクトによって遮蔽されないため、(仮想)オブジェクト内部は(仮想)オブジェクト外部と同じ強さの光源で照光される。
すなわち、現実環境の光源を推定し、CGを描画する際にその光源のパラメータで照光しても、仮想オブジェクトの内部を観察するような場合には、完全に対処することができない。
そのため、従来は、仮想オブジェクト外部を観察するための光源と、仮想オブジェクト内部を観察するための光源の2種類をあらかじめ用意し、ユーザがオペレータに指示し、オペレータはユーザからの指示を受けて、光源を手動で切り換えるという方法が採られていた。
本発明は以上の問題に鑑みてなされたものであり、仮想空間の画像を生成するために用いる光源をユーザの視点の位置に応じて好適な光源に切り替える為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下構成を備える。
即ち、観察者の視点の位置姿勢を取得する取得工程と、
現実空間を複数の領域に分割した場合に、前記視点の位置が何れの分割領域に属するのかを判定する判定工程と、
仮想空間に対して設定可能な複数種の光源のうち、前記視点の位置が属すると判定された分割領域に応じた光源に係るデータを用いて、前記取得工程で取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成工程と
を備えることを特徴とする。
現実空間を複数の領域に分割した場合に、前記視点の位置が何れの分割領域に属するのかを判定する判定工程と、
仮想空間に対して設定可能な複数種の光源のうち、前記視点の位置が属すると判定された分割領域に応じた光源に係るデータを用いて、前記取得工程で取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下構成を備える。
即ち、観察者の視点の位置姿勢を取得する取得手段と、
現実空間領域と光源情報を対応づけて管理する管理手段と、
前記視点の位置が属する現実空間領域を判定する判定手段と、
前記管理手段によって管理されている情報に基づき、前記判定された視点の位置が属する現実空間領域に対応する光源情報を用いて、前記取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と
を備えることを特徴とする。
現実空間領域と光源情報を対応づけて管理する管理手段と、
前記視点の位置が属する現実空間領域を判定する判定手段と、
前記管理手段によって管理されている情報に基づき、前記判定された視点の位置が属する現実空間領域に対応する光源情報を用いて、前記取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と
を備えることを特徴とする。
本発明の構成により、仮想空間の画像を生成するために用いる光源を、ユーザの視点の位置に応じた好適な光源に切り替えることで、視点の位置近傍の仮想空間の状態に応じた光源を用いて仮想空間の画像を生成することができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1実施形態]
本実施形態では現実空間と仮想空間とが融合した複合現実空間を観察する観察者の視点の位置に応じて、仮想空間の画像を生成するために用いる光源を適宜切り替える。
本実施形態では現実空間と仮想空間とが融合した複合現実空間を観察する観察者の視点の位置に応じて、仮想空間の画像を生成するために用いる光源を適宜切り替える。
先ず、観察者が移動可能な現実空間について説明する。
図2は、観察者が移動可能な現実空間の鳥瞰図である。観察者が移動可能な現実空間は、後述するセンサの構成や配置に依存して定められる。同図に示す如く、観察者の移動可能な空間40の中央部分には現実物体の一例として車が配置されており、この車を基準としてこの空間40は3つの領域に分割される。即ち、車の内部領域20、車の外部領域10、そしてその境界部分の領域30の3つに分割されている。
外部領域10は、車の外側を構成する領域であり、観察者が主として車の外観を観察すると想定される領域を外部領域10とする。
内部領域20は、車の内側を構成する領域であり、観察者が主として車の内観を観察すると想定される領域を内部領域20とする。
境界領域30は、外部領域10と内部領域20との境界付近を構成する領域であり、観察者が車の外観と内観を同時に観察する可能性があるとされる領域を境界領域30とする。
このように、空間40は3つの領域(外部領域10、内部領域20、境界領域30)に分割されているので、それぞれの分割領域は排他的に存在することになり、且つそれぞれの領域は重なって存在するものではないので、その結果、観察者は常に何れか1つの領域内に位置していることになる。
図3は、空間40と観察者の視点位置50との関係を示す図で、同図の場合、視点の位置50は、空間40の外部に位置しているため、以降の処理は行えない、以下の説明では、このように、観察者は、空間40からは出ないものとして説明する。即ち、観察者は常に何れかの領域内に位置しているものとする。
次に、本実施形態に係るシステムについて説明する。
<本実施形態に係るシステムについて>
図1は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。本実施形態に係るシステムは上述の通り、現実空間と仮想空間とが融合した複合現実空間を観察者に提供する際に、仮想空間の画像を生成するために用いる光源を適宜切り替える為の構成を有する。
図1は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。本実施形態に係るシステムは上述の通り、現実空間と仮想空間とが融合した複合現実空間を観察者に提供する際に、仮想空間の画像を生成するために用いる光源を適宜切り替える為の構成を有する。
同図に示す如く、本実施形態に係るシステムは、コンピュータ100、HMD200、センサ制御装置300、操作入力部400により構成されている。
先ずHMD200について説明する。HMD200は表示装置201、撮像装置202、センサ計測部203により構成されている。
表示装置201は観察者がHMD200を自身の頭部に装着した際に、観察者の眼前に位置するようにHMD200に取り付けられたものであり、コンピュータ100から送信された画像信号に基づく画像を表示する。これにより、HMD200を頭部に装着した観察者はコンピュータ100から送出された画像信号に基づいた画像を眼前に見ることができる。
撮像装置202は1以上のCCD等により構成されており、現実空間の動画像を撮像する。撮像した各フレームの画像は画像信号として逐次コンピュータ100に送出される。
センサ計測部203は、自身の位置姿勢を計測するためのものであり、本実施形態では磁気センサであるとする。よって、現実空間中の所定の位置には磁界の発生源が設置されている。発生源からは磁界が発生され、センサ計測部203は自身の位置姿勢に応じた磁気の変化を検知する。検知した結果を示す信号はセンサ制御装置300に出力する。センサ制御装置300は受けた信号に基づいて「センサ座標系(上記発生源の位置を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系)におけるセンサ計測部203の位置姿勢を示すデータ」を生成し、コンピュータ100に出力する。
なお、本実施形態では観察者に複合現実空間の画像を提示するためにHMD200を用いているが、同様の目的が達成されるのであれば、HMD200を用いることに限定しない。
次に、コンピュータ100について説明する。コンピュータ100は同図に示す如く、CPU101、RAM102、画像出力装置103、ディスク装置106、入力装置107、画像入力装置108、システムバス105により構成されている。
CPU101は、RAM102に格納されているプログラムやデータを用いてコンピュータ100全体の制御を行うと共に、コンピュータ100が行う後述の各処理を実行する。
RAM102は、ディスク装置106からロードされたプログラムやデータを一時的に記憶するためのエリア、入力装置107を介して操作入力部400、センサ制御装置300から受信した各種の情報を一時的に記憶するためのエリア、画像入力装置108を介して撮像装置202から受信した現実空間の画像データを一時的に記憶するためのエリア、そして、CPU101が各種の処理を実行する際に用いるワークエリアなど、各種のエリアを適宜提供することができる。
画像出力装置103は、グラフィックスカードなどの機器により構成されており、その内部にグラフィックスメモリを有している。よってCPU101がこのグラフィックスメモリに生成した画像、即ち、複合現実空間の画像のデータを書き込むことで、このデータを画像信号に変換し、HMD200に備わっている表示装置201に出力する。なお、グラフィックスメモリは必ずしも画像出力装置103が保持する必要はなく、RAM102によってグラフィックスメモリの機能を実現してもよい。
ディスク装置106はハードディスクドライブ装置に代表される大容量情報記憶装置で、ここにはOS(オペレーティングシステム)や、コンピュータ100が行う後述の各処理をCPU101に実行させるためのプログラムやデータが保存されている。
このデータには、仮想空間を構成する各仮想物体の描画データも含まれている。描画データとは、例えば仮想物体がポリゴンでもって構成されている場合には、各ポリゴンの法線ベクトルデータ、各ポリゴンのカラーデータ、ポリゴンを構成する各頂点の座標値データ、そして仮想物体にテクスチャマッピングを施す場合にはテクスチャのデータ等により構成されている。
また、ディスク装置106には、シーングラフのデータなど、仮想空間(シーン)全体に関するデータなども保存されている。シーングラフとは、シーンの構成要素である仮想物体を階層化・構造化してシーンに配置することによって、シーン全体を記述するためのデータ構造であり、一般的には多分木または有向グラフで表現されるデータである。
また、仮想物体の配置位置姿勢についても、シーングラフによって記述される。例えばSGI社のグラフィックス・ライブラリであるOpen Inventor TMでは、シーングラフを走査する過程において描画処理を行うことによって、シーン全体を効率的に描画している。
また、本実施形態では、シーングラフのデータには、観察者の視点位置が外部領域10に属する場合に用いられる光源に係るデータ(外部領域用光源データ)、観察者の視点位置が内部領域20に属する場合に用いられる光源に係るデータ(内部領域用光源データ)、観察者の視点位置が境界領域30に属する場合に用いられる光源に係るデータ(境界領域用光源データ)が含まれているものとする。それぞれの光源データには、光源の位置や明るさ、光の色などのパラメータが含まれている。
また、ディスク装置106には、上記外部領域10、内部領域20、境界領域30を規定するためのデータ(領域規定データ)も保存されている。このようなデータについては後述する。
以上のようなデータ、及びプログラムはCPU101の制御に従って適宜RAM102にロードされ、CPU101による処理対象となる。
入力装置107は、操作入力部400から受けた指示情報をCPU101に送出したり、センサ制御装置300から受けたセンサ計測部203のセンサ座標系における位置姿勢データをRAM102に送出したりする。
画像入力装置108は、キャプチャーボードなどにより構成されており、撮像装置202から受けた各フレームの画像データを順次RAM102に転送する。なお、HMD200が光学シースルー型のものである場合(即ち撮像装置202を省略した場合)、画像入力装置108は省略することができる。
システムバス105は、コンピュータ100を構成する上記各部を繋ぐものであり、それぞれはこのシステムバス105を介して互いにデータ通信を行っている。
操作入力部400は、キーボードやマウスなどにより構成されており、コンピュータ100の操作者が操作することで、各種の指示をCPU101に対して入力することができる。
<複合現実空間の画像生成処理>
次に、以上の構成を有するシステムによって複合現実空間を生成し、これを観察者に提示する為の一連の処理について説明する。
次に、以上の構成を有するシステムによって複合現実空間を生成し、これを観察者に提示する為の一連の処理について説明する。
図4は、複合現実空間の画像を生成し、HMD200に出力するための処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU101に実行させるためのプログラムやデータはディスク装置106に保存されており、これらはCPU101の制御に従って適宜RAM102にロードされ、CPU101がこれを用いて処理を実行することで、コンピュータ100は同図のフローチャートに従った処理を実行することになる。
先ず、コンピュータ100は以下説明する処理の前段で、各種の初期化処理を行う(ステップS1010)。この初期化処理には例えば以下の処理のために用いるプログラムやデータをディスク装置106からRAM102にロードしたり、センサ制御装置300やセンサ計測部203が計測する座標系の設定や計測範囲の設定などの初期化も行う。
次に、センサ計測部203は自身の位置姿勢に応じた磁気の変化を検知し、検知結果を示す信号をセンサ制御装置300に出力するので、センサ制御装置300はこの信号に基づいて「センサ制御装置300におけるセンサ計測部203の位置姿勢を示すデータ」を生成し、コンピュータ100に入力する。
よってCPU101はこのデータが入力装置107に入力されたことを検知すると、これを一端RAM102に格納する。一方、予め表示装置201(以下「(観察者の)視点」と呼称する場合がある)とセンサ計測部203との位置姿勢関係を計測し、これをバイアスデータとしてディスク装置106に保存している。よってCPU101は、センサ制御装置300から取得した「センサ制御装置300におけるセンサ計測部203の位置姿勢を示すデータ」にこのバイアスデータを加えることで、「センサ座標系における視点の位置姿勢を示すデータ」を得る(ステップS1020)。
また、撮像装置202からは撮像された現実空間の各フレームの画像が順次コンピュータ100に入力されるので、CPU101は画像入力装置108を介して入力された各フレームの画像データを順次RAM102(ディスク装置106でも良い)に取得するのであるが、CPU101は取得した画像を一端読み出して、必要に応じてレンズ歪み等の補正処理を行い、その後、処理済みの画像データを画像出力装置103のグラフィックスメモリ上のフレームバッファに書き込む(ステップS1030)。なお、入力した画像をRAM102を介さず画像出力装置103のグラフィックスメモリ上のフレームバッファに直接書き込んでもよい。なお、HMD200が光学シースルー型のものである場合には、ステップS1030の処理は省略する。
なお、ステップS1020,1030のそれぞれの処理は独立して行っているために、この順に実行されることには限定しない。
次に、CPU101は、ディスク装置106に保存されているそれぞれの領域(外部領域10、内部領域20、境界領域30)を規定する為のデータを読み出し、ステップS1020で求めた視点の位置が何れの領域に属しているのかを判定(特定)する(ステップS1040)。
ステップS1040における判定処理の一例を以下に示す。先ず、各領域の境界を構成する点群はすべて地平面上に存在する点群であるとし、その座標は2次元であるものとする。
まず、二次元平面上の1点Pが、特定の領域の内部に含まれるか否かを判定する方法について説明する。
対象とする領域の境界を構成する点群をQとする。Qを構成する各点を順に線で結んでいくことによって、ある閉領域の輪郭線を構成することができる。点群Qから三角形メッシュで各領域を分割し、点Pがこれらの三角形メッシュ群Tのいずれかに含まれていれば、点Pは領域の内部に含まれていると判定することができる。
点群から三角形メッシュを構成して領域を分割するための手段には、デローニ(Delaunay)の領域分割法が広く知られている。デローニの分割法は、与えられた点群中の任意の3点を頂点とし、外接円の内側に点群中の他のいずれの頂点をも含まない三角形を、点群中のすべての点について構成する方法である。
点群Qについて、デローニの領域分割法などの領域を分割する手段を適用して、三角形メッシュTを構成する。
三角形メッシュTを構成する各三角形について、ステップS1020において取得した視点位置Vを地平面上の点V’に射影し、この点V’が三角形の内部に存在するか否かを調べる。V’が三角形メッシュを構成する三角形のうち、いずれかの内部にあれば、Vは対象とする領域の内側に存在すると判定する。
すなわち、ステップS1040では、外部領域10に対応する点群Q1、内部領域20に対応する点群Q2、境界領域30に対応する点群Q3について、それぞれデローニの領域分割法などの手段で、三角形メッシュT1、T2、T3をそれぞれ算出する。そして視点位置を地平面に投影した点V’が三角形メッシュT1、T2、T3を構成する三角形の内部に存在するか否かについて、それぞれ判定する。
そしてV’が三角形メッシュT1を構成する三角形の内部に存在すれば、視点位置は外部領域10の内部に存在すると判定する。同様にT2を構成する三角形の内部に存在すれば、視点は内部領域20の内部に存在すると判定する。T3を構成する三角形の内部に存在すれば、視点は境界領域30の内部に存在すると判定する。
よって、この場合、領域規定データは、外部領域10に対応する点群Q1の位置データ、内部領域20に対応する点群Q2の位置データ、境界領域30に対応する点群Q3の位置データとしても良いし、それぞれの領域を三角メッシュで分割した場合に、それぞれの三角メッシュの領域を示すデータであっても良い。
なお、本実施形態では、領域の境界を構成する点群は地平面上に存在する2次元の点であると仮定したが、これらの点群を3次元の点として扱うことも可能である。その場合、外部領域10、内部領域20、境界領域30は3次元閉領域となり、観察者の視点位置Vが3次元閉領域の内部に存在するか否かを判定することになる。すなわち、点群から閉領域の面をなす三角形メッシュを求め、この三角形メッシュの内部に視点位置Vが存在するか否かを判定すればよい。この場合、三角形メッシュを求める手順は、3次元コンピュータ・グラフィックスの分野において、3次元の点群からCGモデルのポリゴンを構成する手順と同等であり、デローニの領域分割法以外にもフリー・メッシュ法やバブル・メッシュ法など、数多くの方法が提案されており、それらを適用することが可能である。
本実施形態では、観察者の視点位置Vが特定の領域の内部に存在するか否かを判定するために領域の境界を構成する点群から三角形メッシュを構成しているが、この方法に限られるものではない。即ち、視点位置Vが外部領域10、内部領域20、境界領域30のうちいずれの領域中に存在するかということを判定できる手段であれば、どのような方法を用いてもよい。
図4に戻って、次に、ステップS1040で視点の位置が属すると判定された領域に応じて、外部領域用光源データ、内部領域用光源データ、境界領域用光源データのうち何れを用いるのかを決定し、決定したした光源データを用いて仮想空間の画像を生成するよう、シーングラフデータを更新する(ステップS1050)。
即ち、ステップS1040で視点の位置が外部領域10に属すると判定された場合には、外部領域用光源データのみを使用すると設定し、内部領域用光源データ、境界領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
また、ステップS1040で視点の位置が内部領域20に属すると判定された場合には、内部領域用光源データのみを使用すると設定し、外部領域用光源データ、境界領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
また、ステップS1040で視点の位置が境界領域30に属すると判定された場合には、境界領域用光源データのみを使用すると設定し、外部領域用光源データ、内部領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
これにより、予め用意された光源データのうち、視点の位置が属する分割領域に応じた光源データを選択することができる。
ここで外部領域10は車の外であるが故に、内部領域20よりも明るい。そこで外部領域用光源データは、内部領域用光源データよりも明るい光を照射する光源のデータである。逆に内部領域20は車の内部であるが故に、外部領域10よりも暗い。そこで内部領域用光源データは、外部領域用光源データよりも暗い光を照射する光源のデータである。また、境界領域用光源データは、例えば外部領域10における明るさと内部領域20における明るさとの中間の明るさを有する光源のデータである。
よって、視点の位置が属する領域に応じて生成する仮想空間の明るさを適宜変更することができる。なお、変更させるのは明るさに限定するものではなく、様々なものが考えられる。その場合、変更させたいものを光源データに含めさせておく必要がある。
次に、CPU101は、ステップS1050で更新したシーングラフデータに従った仮想空間、即ち、ステップS1050で選択した光源によって光が照射された仮想空間を、ステップS1020で求めた位置姿勢を有する視点から見た場合に見える画像(仮想空間の画像)を生成する(ステップS1060)。尚、シーングラフデータに従った仮想空間を、所定の位置姿勢を有する視点から見た場合に見える画像を生成する処理については周知であるので、これに関する説明は省略する。
なお、生成した画像のデータは画像出力装置103のグラフィックスメモリ上のフレームバッファに書き込む。画像出力装置103のグラフィックスメモリ上のフレームバッファにはステップS1030で現実空間の画像が描画されているので、ステップS1060でこのフレームバッファに仮想空間の画像を描画することで、結果としてこのフレームバッファには複合現実空間の画像が描画されることになる。
その結果、画像出力装置103はこのフレームバッファに描画された複合現実空間の画像をHMD200の表示装置201に出力するので、HMD200を頭部に装着した観察者の眼前には自身の視点の位置姿勢に応じた複合現実空間の画像が表示される。また、表示される画像のうち、仮想物体については、視点の位置が属する領域に応じた光源によって光が照射されたものとなっている。
次に、コンピュータ100の操作者が操作入力部400を用いて本処理を終了する旨の指示を入力すれば、CPU101はこれを検知し、本処理を終了するのであるが、検知していない場合には処理をステップS1070を介してステップS1020に戻し、以降の処理を繰り返す。
なお、本実施形態ではセンサとして磁気センサを用いているが、センサとしてはこれ以外にも考えられ、例えば超音波センサ、光学式センサなど、その他のセンサを用いるようにしても良い。
また、本実施形態ではHMD200の位置姿勢はセンサを用いて取得しているが、取得形態についてはこれに限定するものではない。例えば、現実空間中にマーカを配置し、この配置位置、及びマーカを撮像装置202でもって撮像した画像上における座標位置を用いてHMD200の位置姿勢を取得する方法を用いるようにしても良い。
また、本実施形態では観察者の移動可能な空間を図2に示すような空間で、且つこの空間を同図に示すような境界線で3つの領域に分割したが、分割領域の数や形状についてはこれに限定するものではない。これは以下の実施形態についても同様である。
また、図2に示したような空間内で視点の位置が属する分割領域を求める方法には以下のような方法もある。
例えば、空間40において,地平面の鉛直方向をZ軸、地平面に平行かつ互いに直交する軸をX軸、Y軸とし、空間40内の座標値(x、y,z)をセンサ座標系で表現する場合に、内部領域20の存在範囲R2が[X2min,X2max]、[Y2min,Y2max]で、内部領域20を含む境界領域30の存在範囲R3が[X3min,X3max]、[Y3min,Y3max]で、内部領域20、境界領域30を含む外部領域10(即ち空間40)の存在範囲R1が[X1min,X1max]、[Y1min,Y1max]であるとすると、センサ座標系における視点の位置(x、y、z)がX2min≦x≦X2max且つY2min≦y≦Y2maxであれば、「視点の位置は内部領域20に属している」と判定することができ、X2min≦x≦X2maxを満たさず且つX3min≦x≦X3maxを満たし、且つY2min≦y≦Y2maxを満たさず且つY3min≦y≦Y3maxを満たす場合には、「視点の位置は境界領域30に属している」と判定することができ、X3min≦x≦X3maxを満たさず且つX1min≦x≦X1maxを満たし、且つY3min≦y≦Y3maxを満たさず且つY1min≦y≦Y1maxを満たす場合には、「視点の位置は外部領域10に属している」と判定することができる。
また、本実施形態では、仮想空間の画像を生成して上記フレームバッファに格納する処理はCPU101が行っているが、コンピュータ100に更にグラフィックス・プロセッサを設ければ、このような処理はグラフィックス・プロセッサが行った方が、全体の処理としてはより高速に行うことができ、好適である。
[第2の実施形態]
第1の実施形態では視点が外部領域10に属している場合には外部領域用光源でもって仮想空間の画像を生成するし、視点が内部領域20に属している場合には内部領域用光源でもって仮想空間の画像を生成するし、視点が境界領域30に属している場合には境界領域用光源でもって仮想空間の画像を生成する。本実施形態では視点が境界領域30に属している場合には境界領域用光源は用いずに、外部領域用光源、内部領域用光源のそれぞれの照度を視点の位置に応じた比率で用いる。
第1の実施形態では視点が外部領域10に属している場合には外部領域用光源でもって仮想空間の画像を生成するし、視点が内部領域20に属している場合には内部領域用光源でもって仮想空間の画像を生成するし、視点が境界領域30に属している場合には境界領域用光源でもって仮想空間の画像を生成する。本実施形態では視点が境界領域30に属している場合には境界領域用光源は用いずに、外部領域用光源、内部領域用光源のそれぞれの照度を視点の位置に応じた比率で用いる。
なお、本実施形態では、シーングラフデータには境界領域用光源データが含まれておらず、更に、視点が境界領域30に属している場合には外部領域用光源、内部領域用光源のそれぞれを用いること以外は、第1の実施形態と同じである。
よって、本実施形態に係る複合現実空間画像生成処理は、図4のフローチャートに従った処理を以下のように変更したものとなる。
先ず、ステップS1050では、ステップS1040で視点の位置が属すると判定された領域に応じて、外部領域用光源データ、内部領域用光源データのうち何れか一方、若しくは両方を用いるのかを決定し、決定した光源データを用いて仮想空間の画像を生成するよう、シーングラフデータを更新する。
より詳しくは、ステップS1040で視点の位置が外部領域10に属すると判定された場合には、外部領域用光源データのみを使用すると設定し、内部領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
また、ステップS1040で視点の位置が内部領域20に属すると判定された場合には、内部領域用光源データのみを使用すると設定し、外部領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
また、ステップS1040で視点の位置が境界領域30に属すると判定された場合には、外部領域用光源データ、内部領域用光源データの両方を使用すると設定するのであるが、それぞれの光源による照度を以下説明する比率でもって用いるように設定する。これにより、シーングラフデータを更新する。
外部領域用光源の照度(視点の位置が外部領域10に属する場合に用いられる光源の照度)をI1、内部領域用光源の照度(視点の位置が内部領域20に属する場合に用いられる光源の照度)をI2とすると、視点の位置が境界領域30に属する場合の外部領域用光源の照度I’1、内部領域用光源の照度I’2は以下の式に従って求めることができる。
I’1=k×I1
I’2=(1−k)×I2
ここでkは0≦k≦1を満たす実数である。この実数kは視点の位置に応じて決まる。以下ではこの実数kの決定方法について説明する。
I’2=(1−k)×I2
ここでkは0≦k≦1を満たす実数である。この実数kは視点の位置に応じて決まる。以下ではこの実数kの決定方法について説明する。
外部領域10と境界領域30との境界を構成している点群をR、内部領域20と境界領域30との境界を構成している点群をSとする。観察者の視点位置Vを地平面に射影した点V’が境界領域30の内部に存在するとき、Rに含まれる各点とV’との距離、Sに含まれる各点とV’との距離を算出する。このとき、距離を最小にする点をそれぞれr、sとし、そのときの距離をそれぞれd1,d2とする。このとき、以下の式が成り立つ。
d1=|RV’|
d2=|SV’|
よって求めるべき実数kは以下の式に従って求める。
d2=|SV’|
よって求めるべき実数kは以下の式に従って求める。
k=d2/(d1+d2)
よって、ステップS1050ではこのようにして実数kを求め、求めたkを用いてI’1、I’2を求め、シーングラフデータにおいて、外部領域用光源の照度データをI’1に更新すると共に、内部領域用光源の照度データをI’2に更新する。
よって、ステップS1050ではこのようにして実数kを求め、求めたkを用いてI’1、I’2を求め、シーングラフデータにおいて、外部領域用光源の照度データをI’1に更新すると共に、内部領域用光源の照度データをI’2に更新する。
これにより、視点が境界領域30に位置する場合には、外部領域用光源と内部領域用光源とが実数kで決まる比率で配合された光源に従って、仮想空間の画像を生成することになる。よって、視点位置が外部領域10により近いときには、外部領域用光源による影響が強くなる。また逆に、視点位置が内部領域20により近いときには、内部領域用光源による影響が強くなる。
本実施形態では、視点位置が境界領域30の内部に存在する場合に、視点位置と、外部領域10と境界領域30との境界点、及び内部領域20と境界領域30との境界点との距離の逆数の比によって重みづけし、外部領域用光源と内部領域用光源とを混合するようにしているが、混合するための手法はこれに限るものではない。
なお、以上の説明したような処理は図2に示した領域構成に限定するものではなく、ある領域Xの近傍に2つの領域Y、Zが存在し、視点位置が領域Xに属している場合には、領域Y用の光源による照度に対する重み値、領域Z用の光源による照度に対する重み値を上記処理により求め、求めた重み値でもって重み付けされた領域Y用の光源、領域Z用の光源を用いて仮想空間の画像を生成すれば良い。
[第3の実施形態]
第1,2の実施形態では空間40は外部領域10、内部領域20、境界領域30の3つの領域に分割されていたが、外部領域10、内部領域20の2つに分割しても良い。その場合、シーングラフデータには境界領域用光源データは含まれておらず、更に、ステップS1050では、ステップS1040で視点の位置が外部領域10に属すると判定された場合には、外部領域用光源データのみを使用すると設定し、内部領域用光源データについては使用しないと設定することで、シーングラフデータを更新するし、ステップS1040で視点の位置が内部領域20に属すると判定された場合には、内部領域用光源データのみを使用すると設定し、外部領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
第1,2の実施形態では空間40は外部領域10、内部領域20、境界領域30の3つの領域に分割されていたが、外部領域10、内部領域20の2つに分割しても良い。その場合、シーングラフデータには境界領域用光源データは含まれておらず、更に、ステップS1050では、ステップS1040で視点の位置が外部領域10に属すると判定された場合には、外部領域用光源データのみを使用すると設定し、内部領域用光源データについては使用しないと設定することで、シーングラフデータを更新するし、ステップS1040で視点の位置が内部領域20に属すると判定された場合には、内部領域用光源データのみを使用すると設定し、外部領域用光源データについては使用しないと設定することで、シーングラフデータを更新する。
これ以外の処理については第1の実施形態と同じである。
[第4の実施形態]
本実施形態では、観察者が移動可能な領域を任意に分割する。図5は、観察者が移動可能な領域500の鳥瞰図である。同図に示す如く、領域500は5つの領域(領域A、領域B、領域C、領域D、領域E)に分割されている。その場合、シーングラフデータには領域A用光源データ、領域B用光源データ、領域C用光源データ、領域D用光源データ、領域E用光源データが含まれている。
本実施形態では、観察者が移動可能な領域を任意に分割する。図5は、観察者が移動可能な領域500の鳥瞰図である。同図に示す如く、領域500は5つの領域(領域A、領域B、領域C、領域D、領域E)に分割されている。その場合、シーングラフデータには領域A用光源データ、領域B用光源データ、領域C用光源データ、領域D用光源データ、領域E用光源データが含まれている。
よって、本実施形態に係る複合現実空間画像生成処理は、図4のフローチャートに従った処理を以下のように変更したものとなる。
ステップS1040では、視点の位置が上記5つの領域の何れに属しているのかを判定する。そしてステップS1050では、ステップS1040で属していると判定された領域用の光源データのみを用いるように、シーングラフデータを更新する。
即ち、第1の実施形態でも説明したが、領域の数や形状が変わろうとも、それぞれの領域毎に光源データを設け、それぞれの光源データのうち、視点の位置が属する領域の光源データを用いて仮想空間データを生成するという処理の本質は第1の実施形態と同じである。
[第5の実施形態]
第4の実施形態では5つの領域それぞれに光源データを設けていたが、第2の実施形態のように、それぞれの領域毎に光源データを設けずに、ある領域についてはその他の領域のための光源データを用いるというようにしても良い。
第4の実施形態では5つの領域それぞれに光源データを設けていたが、第2の実施形態のように、それぞれの領域毎に光源データを設けずに、ある領域についてはその他の領域のための光源データを用いるというようにしても良い。
本実施形態ではシーングラフデータには領域A用光源データ、領域B用光源データ、領域D用光源データ、領域E用光源データを含め、領域C用の光源データは含めない。このような場合に、視点の位置が領域Cに属している場合の仮想空間画像生成処理について説明する。なお、以下の説明の本質は、領域C用の光源データの代わりに他の光源データをシーングラフデータに含めないようにしても変わらない。
よって、本実施形態に係る複合現実空間画像生成処理は、図4のフローチャートに従った処理を以下のように変更したものとなる。
ステップS1050では、ステップS1040で視点の位置が領域A、領域B、領域D、領域Eの何れかに属すると判定された場合には、判定された領域用の光源データのみを使用すると設定し、それ以外の光源データについては使用しないと設定することで、シーングラフデータを更新するし、ステップS1040で視点の位置が領域Cに属すると判定された場合には、領域A、領域B、領域Eのそれぞれの領域用の光源による照度を以下説明する比率でもって用いるように設定する。これにより、シーングラフデータを更新する。
領域A用光源の照度(視点の位置が領域Aに属する場合に用いられる光源の照度)をI1、領域B用光源の照度(視点の位置が領域Bに属する場合に用いられる光源の照度)をI2、領域E用光源の照度(視点の位置が領域Eに属する場合に用いられる光源の照度)をI3とすると、視点の位置が領域Cに属する場合の領域A用光源の照度I’1、領域B用光源の照度I’2、領域E用光源の照度I’3は以下の式に従って求めることができる。
I’1=k1×I1
I’2=k2×I2
I’3=k3×I3
但し、k1+k2+k3=1
この実数k1、k2、k3は視点の位置に応じて決まる。以下ではこの実数k1、k2、k3の決定方法について説明する。
I’2=k2×I2
I’3=k3×I3
但し、k1+k2+k3=1
この実数k1、k2、k3は視点の位置に応じて決まる。以下ではこの実数k1、k2、k3の決定方法について説明する。
領域Aと領域Cとの境界を構成している点群をR1、領域Bと領域Cとの境界を構成している点群をR2、領域Eと領域Cとの境界を構成している点群をR3とする。観察者の視点位置Vを地平面に射影した点V’が領域Cの内部に存在するとき、R1に含まれる各点とV’との距離、R2に含まれる各点とV’との距離、R3に含まれる各点とV’との距離を算出する。このとき、この距離を最小にする点をそれぞれr1、r2、r3とし、そのときの距離をそれぞれd1,d2,d3とする。このとき、以下の式が成り立つ。
d1=|R1V’|
d2=|R2V’|
d3=|R3V’|
よって求めるべき実数k1、k2、k3は以下の式に従って求める。
d2=|R2V’|
d3=|R3V’|
よって求めるべき実数k1、k2、k3は以下の式に従って求める。
k1=1/d1×1/(1/d1+1/d2+1/d3)
k2=1/d2×1/(1/d1+1/d2+1/d3)
k3=1/d3×1/(1/d1+1/d2+1/d3)
よって、ステップS1050ではこのようにして実数k1、k2、k3を求め、求めたk1、k2、k3を用いてI’1、I’2、I’3を求め、シーングラフデータにおいて、領域A用光源の照度データをI’1に更新し、領域B用光源の照度データをI’2に更新し、領域E用光源の照度データをI’3に更新する。
k2=1/d2×1/(1/d1+1/d2+1/d3)
k3=1/d3×1/(1/d1+1/d2+1/d3)
よって、ステップS1050ではこのようにして実数k1、k2、k3を求め、求めたk1、k2、k3を用いてI’1、I’2、I’3を求め、シーングラフデータにおいて、領域A用光源の照度データをI’1に更新し、領域B用光源の照度データをI’2に更新し、領域E用光源の照度データをI’3に更新する。
これにより、視点が領域Cに属する場合には、照度がI’1の領域A用光源と照度がI’2の領域B用光源と照度がI’3の領域C用光源とが配合された光源に従って、仮想空間の画像を生成することになる。よって、視点位置がより近い領域の光源による影響が強くなる。
なお、重み付けするための手法はこれに限られない。例えば、距離の逆数以外のパラメータによって重み付けを行ってもよい。
なお、以上の説明したような処理は図5に示した領域構成に限定するものではなく、より一般的な状況下においても適用することが可能である。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (7)
- 観察者の視点の位置姿勢を取得する取得工程と、
現実空間を複数の領域に分割した場合に、前記視点の位置が何れの分割領域に属するのかを判定する判定工程と、
仮想空間に対して設定可能な複数種の光源のうち、前記視点の位置が属すると判定された分割領域に応じた光源に係るデータを用いて、前記取得工程で取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成工程と
を備えることを特徴とする画像処理方法。 - 更に前記現実空間の画像を取得する第2の取得工程を備え、
前記出力工程では、前記生成工程で生成した画像を前記第2の取得工程で取得した画像に重畳させた状態で外部に出力することを特徴とする請求項1に記載の画像処理方法。 - 前記生成工程では、前記分割領域毎に設定された光源のうち、前記視点の位置が属すると判定された分割領域について設定された光源に係るデータを用いて、前記取得工程で取得した位置姿勢を有する視点から見える仮想空間の画像を生成することを特徴とする請求項1又は2に記載の画像処理方法。
- 前記生成工程では、前記視点の位置が属すると判定された分割領域近傍のそれぞれの領域について設定された光源の照度を、前記視点の位置に応じて重み付けし、照度が重み付けされたそれぞれの光源に係るデータを用いて、前記取得工程で取得した位置姿勢を有する視点から見える仮想空間の画像を生成することを特徴とする請求項1又は2に記載の画像処理方法。
- 観察者の視点の位置姿勢を取得する取得手段と、
現実空間領域と光源情報を対応づけて管理する管理手段と、
前記視点の位置が属する現実空間領域を判定する判定手段と、
前記管理手段によって管理されている情報に基づき、前記判定された視点の位置が属する現実空間領域に対応する光源情報を用いて、前記取得手段が取得した位置姿勢を有する視点から見える仮想空間の画像を生成する生成手段と
を備えることを特徴とする画像処理装置。 - コンピュータに請求項1乃至4の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
- 請求項6に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005040893A JP2006227913A (ja) | 2005-02-17 | 2005-02-17 | 画像処理方法、画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005040893A JP2006227913A (ja) | 2005-02-17 | 2005-02-17 | 画像処理方法、画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006227913A true JP2006227913A (ja) | 2006-08-31 |
Family
ID=36989251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005040893A Withdrawn JP2006227913A (ja) | 2005-02-17 | 2005-02-17 | 画像処理方法、画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006227913A (ja) |
-
2005
- 2005-02-17 JP JP2005040893A patent/JP2006227913A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7443602B2 (ja) | 仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法 | |
JP7095189B2 (ja) | 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法 | |
KR102366140B1 (ko) | 가상 콘텐츠 워핑을 갖는 혼합 현실 시스템 및 이를 사용하여 가상 콘텐츠를 생성하는 방법 | |
JP4739002B2 (ja) | 画像処理方法、画像処理装置 | |
JP4667111B2 (ja) | 画像処理装置、画像処理方法 | |
US20190362539A1 (en) | Environment Synthesis for Lighting An Object | |
CN109643465A (zh) | 用于创建混合现实环境的系统等 | |
JP4999711B2 (ja) | 画像処理装置、画像処理方法 | |
JP2009123018A (ja) | 画像処理装置、画像処理方法 | |
JP7182976B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN115244492A (zh) | 物理对象对增强现实中的虚拟对象的遮挡 | |
CN116228943A (zh) | 虚拟对象面部重建方法、面部重建网络训练方法及装置 | |
CN108734772A (zh) | 基于Kinect fusion的高精度深度图像获取方法 | |
JP2006215750A (ja) | 画像処理方法、画像処理装置 | |
JP2006227913A (ja) | 画像処理方法、画像処理装置 | |
JP7465133B2 (ja) | 情報処理装置、情報処理方法 | |
JP6660159B2 (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP2022112228A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2006252059A (ja) | 画像処理方法、画像処理装置 | |
Bapat | Integration of multiple vision systems and toolbox development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |