(57)【要約】【課題】  鏡面球が配置された２次元マーカなどの特殊な装置を使用せず、リアルタイムで環境光の変化に対応した現実空間の撮影画像と仮想画像との合成画像を生成することを目的とする。【解決手段】  撮像画像とカメラの位置姿勢情報とから、前記撮像画像の撮像時における前記撮像装置の画角内の前記現実空間の光源情報を推定し、光源情報をリアルタイムに更新する。【選択図】  図２
2008033531.tif 000002
【特許請求の範囲】
【請求項１】
現実空間の撮影画像と仮想画像との合成画像を生成する情報処理方法において、
前記現実空間の光源情報を管理する管理ステップと、
前記現実空間の撮影画像を取得する撮影画像取得ステップと、
前記撮影画像に対応する撮像装置の位置姿勢情報を取得する位置姿勢情報取得ステップと、
前記撮像画像と前記位置姿勢情報とから、前記撮像画像の撮像時における前記撮像装置の画角内の前記現実空間の光源情報を推定する光源情報推定ステップと、
前記推定された光源情報を用いて、前記管理されている光源情報を更新する光源情報更新ステップと、
前記管理されている光源情報と前記位置姿勢情報とを用いて、仮想画像を生成する仮想画像生成ステップとを有することを特徴とする情報処理方法。
【請求項２】
前記光源情報更新ステップは、前記推定された光源情報を前記管理されている光源情報に追加し、前記管理されている光源情報を更新することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記仮想画像生成ステップは、前記管理されている光源情報と前記位置姿勢情報とを用いて、前記管理されている光源情報により示される光源が写り込んだ仮想画像を生成することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記複合現実空間を共有する複数ユーザの各々の撮影画像を取得し、
前記複数のユーザの各々の撮影画像から光源情報を推定し、
前記複数のユーザの各々の撮影画像から推定された光源情報を用いて、前記管理されている光源情報を更新する情報処理方法であり、
前記仮想画像生成ステップは、前記複数のユーザの各々の撮影画像から推定された光源情報を用いて更新された光源情報を用いて、該複数のユーザの各々の位置姿勢情報に応じた仮想画像を生成することを特徴とする請求項１記載の情報処理方法。
【請求項５】
更に、ユーザの指示に基づき、前記光源情報を編集する光源情報編集ステップを有することを特徴とする請求項１に記載の情報処理方法。
【請求項６】
更に、前記現実空間の幾何情報を取得する幾何情報取得ステップを有し、
前記光源情報推定ステップは、前記撮像画像、前記位置姿勢情報および前記幾何情報を用いて、前記光源情報を生成することを特徴とする請求項１に記載の情報処理方法。
【請求項７】
前記光源情報更新ステップは、
前記管理されている光源情報と前記推定された光源情報とから更新光源情報を生成し、
前記生成された更新光源情報を用いて、前記管理されている光源情報を更新することを特徴とする請求項１記載の情報処理方法。
【請求項８】
前記管理されている光源情報と前記推定された光源情報を重み付け処理することにより、前記更新光源情報を生成する請求項１記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実写の風景とコンピュータグラフィックスとを合成して表示する情報処理装置に関する。
【背景技術】
【０００２】
従来から実写風景を背景として、その上にコンピュータグラフィックス（以下、ＣＧと記述）を重畳して提示し、体験者に対して、あたかもその場に仮想の物体が存在するかのような体験を行わせる複合現実感の技術がある。複合現実感の技術は、通信・交通・娯楽などのさまざまな産業の分野で注目を集めている。
【０００３】
実世界と仮想世界を違和感なく融合させるためには、実世界と仮想世界における以下のような３つの整合性を実現しなければならない。
・幾何的整合性：正しい配置で融合させる
・光学的整合性：現実世界の陰影と仮想世界の陰影とを違和感なく融合させる
・時間的整合性：現実世界と仮想世界の時の流れを一致させる
これらの整合性を実現するためには、如何にして実世界を理解し、実世界の情報を仮想世界に取り込むか、という課題の解決が必要となる。
【０００４】
本願は、上記３つの整合性の内、光学的整合性を実現するための手法に関するものである。
従来、光学的整合性の問題を解決するために種々の手法が提案されている。
【０００５】
非特許文献１では、魚眼カメラを利用して、現実世界の全周画像を取得し、取得した全周画像から現実環境中の光源の位置情報を推定し、仮想空間へ反映している。
また、非特許文献２では、正方形の２次元マーカと鏡面球を組み合わせた３次元マーカを利用し実時間で環境光を推定し，仮想光源を配置するシステムを提案している。
【０００６】
これは、まず、正方形の２次元マーカにより視点と仮想オブジェクトの相対位置を計算する。そして、計算された相対位置を用いて、２次元マーカの中央部に組み込まれた鏡面球に映り込む現実環境の光源（鏡面球のハイライト部分）をビデオシースルー型のＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）に搭載されたカメラで撮像することにより光源環境を推定している。
【０００７】
【非特許文献１】Ｉ．Ｓａｔｏ，Ｙ．Ｓａｔｏ，ａｎｄ  Ｋ．Ｉｋｅｕｃｈｉ，“Ａｃｑｕｉｒｉｎｇ  ａ  ｒａｄｉａｎｃｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｔｏ  ｓｕｐｅｒｉｍｐｏｓｅ  ｖｉｒｔｕａｌ  ｏｂｊｅｃｔｓ  ｏｎｔｏ  ａ  ｒｅａｌ  ｓｃｅｎｅ，”ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ，Ｖｏｌ．５，Ｎｏ．１，ｐｐ．１−１２，Ｊａｎｕａｒｙ−Ｍａｒｃｈ  １９９９．
【非特許文献２】神原  誠之，岩尾  友秀，横矢  直和：“拡張現実感のための動的シャドウマップを用いたシャドウレンダリング手法”，画像の認識・理解シンポジウム（ＭＩＲＵ２００５）講演論文集，ｐｐ．２９７−３０４，Ｊｕｌｙ  ２００５．
【発明の開示】
【発明が解決しようとする課題】
【０００８】
非特許文献１に記載された手法では、現実環境中の光源情報を一度の撮影により取得することができるが、照明環境の変化に対しリアルタイムに仮想光源の推定を行い仮想空間に反映させることができなかった。
【０００９】
また、非特許文献２に記載された手法では，現実環境の光源情報をリアルタイムに推定し，仮想環境に反映させることができる。しかし、体験者は２次元マーカを常に視野の中に入れている必要がある上に，鏡面球が配置された２次元のマーカを用意する必要があった。
【００１０】
本発明は、これらの従来の技術に鑑み、鏡面球が配置された２次元マーカなどの特殊な装置を使用せず，リアルタイムで環境光の変化に対応した現実空間の撮影画像と仮想画像との合成画像を生成することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。
【００１２】
現実空間の撮影画像と仮想画像との合成画像を生成する情報処理方法において、前記現実空間の光源情報を管理する管理ステップと、前記現実空間の撮影画像を取得する撮影画像取得ステップと、前記撮影画像に対応する撮像装置の位置姿勢情報を取得する位置姿勢情報取得ステップと、
前記撮像画像と前記位置姿勢情報とから、前記撮像画像の撮像時における前記撮像装置の画角内の前記現実空間の光源情報を推定する光源情報推定ステップと、前記推定された光源情報を用いて、前記管理されている光源情報を更新する光源情報更新ステップと、前記管理されている光源情報と前記位置姿勢情報とを用いて、仮想画像を生成する仮想画像生成ステップとを有することを特徴とする。
【発明の効果】
【００１３】
以上の構成により、鏡面球が配置された２次元マーカなどの特殊な装置を使用せずに、リアルタイムで環境光の変化に対応した現実空間の撮影画像と仮想画像との合成画像を生成することが出来る。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して、好適な実施例を詳細に説明する。
【実施例１】
【００１５】
図２は本実施例における情報処理装置を用いて、観察者が体感する複合現実感を模式的に示す図である。体験者２０１は、位置姿勢を取得可能であるビデオカメラ１０１または、ビデオカメラが内蔵された頭部搭載型画像表示装置（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ、以下ＨＭＤという）を装着する。体験者２０１は、撮影したビデオ映像越しに現実空間を観察する。不図示の情報処理装置は、ビデオカメラ１０１で撮影された現実空間の撮影画像２０５を仮想的に設定した全天球２０６上に繋ぎ合わせ、全天球画像を作成する。本実施例では、作成された全天球画像から現実の光源情報を推定し、推定された光源情報を用いて、違和感のない明るさ・陰影を、計算機で仮想的に生成された仮想物体２０４に設定する。明るさ・陰影が設定された仮想物体を、体験者２０１がビデオカメラ１０１で観察している机２０３などの実画像に重ね込む。重ね込むことにより、合成画像を生成し、生成された合成画像を体験者２０１に表示させる。違和感のない明るさ・陰影が設定された仮想物体が重ね込まれた合成画像を表示するため、体験者２０１は、違和感のない複合現実感を体験することが出来る。
【００１６】
図１は、本実施例における情報処理装置の構成例を示すブロック図である。以下、図１を用いて、情報処理装置の各構成を、詳細に説明する。
【００１７】
図１において、１０１は、現実空間を撮影するビデオカメラ１０１である。前述したように、ビデオカメラ１０１の代わりに、ＨＭＤに内蔵されたカメラを用いてもよい。ＨＭＤ内蔵のカメラは体験者２０１の両目に近い部分に、それぞれ体験者２０１の視線と一致する向きに固定されている。なお、右目用、左目用のカメラを用いる代わりに、単眼のビデオカメラを用いたり、体験者２０１が手で保持するタイプの表示装置（Ｈａｎｄ  Ｈｅｌｄ  Ｄｉｓｐｌａｙ、以下ＨＨＤという）にビデオカメラを取り付けても良い。
【００１８】
また、ＨＭＤは、カメラを内蔵している他に小型ディスプレイを備えている。カメラで撮影された現実空間の画像と計算機で作成された仮想物体２０４の画像を合成した合成画像を、小型のディスプレイに投影することにより、体験者２０１は、仮想物体が重畳された現実空間の画像を観察することができる。
【００１９】
なお、以下では、説明及び理解を簡単にするため、右目用ビデオカメラと左目用ビデオカメラが撮影した一対の画像に対してそれぞれ行われる処理であっても、１つの画像に対する処理として説明する。一対のビデオカメラ（複眼カメラ）を用いる場合には、各ビデオカメラにより撮影された撮影画像に、それぞれ同様の処理を行い、一対の合成画像を生成する。生成された合成画像は、例えばＨＭＤが有する右目用表示装置、左目用表示装置に独立して表示される。
【００２０】
１０２は、ビデオカメラ１０１より撮影された現実空間の映像（画像）を取得する画像入力部１０２である。画像入力部１０２は、ビデオカメラ１０１で撮影された画像信号を、ディジタル画像データに変換する。画像入力部１０２には、例えば、画像信号をディジタル画像データに変換するために、ビデオキャプチャボードなどを用いる。
【００２１】
１０３は、ビデオカメラ１０１の位置姿勢をセンシングする位置姿勢センサ１０３である。位置姿勢センサ１０３には、例えば、ジャイロセンサなどを用いる。
【００２２】
１０４は、位置姿勢センサ１０３の出力をリアルタイムに取得し、ビデオカメラ１０１の３次元位置、姿勢のデータを算出する。
【００２３】
１０５は、画像入力部１０２から供給される画像データと、位置姿勢計測部１０４から供給されるビデオカメラ１０１の３次元位置、姿勢のデータに基づき天球画像を生成し、生成された天球画像を保持する現実環境画像データベース管理部１０５である。現実環境画像データベース管理部１０５には、記録装置として、例えば、データ記録が容易であるハードディスクなどを用いる。
【００２４】
ここで、図３を用いて前述した天球画像の生成方法を述べる。図３に示すように、体験者２０１の周囲に、仮想的に全天球２０６を設定する。全天球の色は、ニュートラルグレイに設定する。次に、体験者２０１がビデオカメラ１０１を用いて周囲を見回すことにより、ビデオカメラ１０１から周囲の撮影画像２０５を取得する。そして、画像入力部１０２に入力された撮影画像２０５を、逐次、図３に示すように、ビデオカメラ１０１の位置・姿勢に基づき、全天球２０６に投影する。投影された投影画像を全天球２０６にマッピングすることにより、全天球２０６は、ニュートラルグレイから投影画像２０６に切り替わっていき、全天球２０６に全天球画像が作成される。以上の処理により、全天球画像を作成し、現実環境画像データベース管理部１０５に登録する。
【００２５】
また、現実環境の壁や現実物体の形状および配置などが予めモデリングしてある場合は、全天球を用いず、撮影画像２０５を予めモデリングされたモデリング形状上にマッピングする。モデルリング形状には、例えば、室内を模した直方体などを用いる。天球画像と同様に、撮影画像２０６がマッピングされたモデリング形状上の画像は、現実環境画像データベース管理部１０５に登録される。なお、従来技術として、パノラマ画像を作成する過程で撮影画像間の繋ぎ目を目立たなくさせるスティッチング技術が数多く提案されている。従って、これらのスティッチング技術を利用すれば、撮影画像間の繋ぎ目の目立たない全天球画像を作成することが出来る。繋ぎ目の目立たない全天球画像を用いることにより、光源位置の検出精度が向上し、良好な光源の推定を行うことが出来る。
【００２６】
１０６は、現実環境画像データベース管理部１０５に保持された全天球画像とビデオカメラ１０１の３次元位置、姿勢のデータとから現実空間における光源情報を推定する光源情報推定部１０６である。一般的にコンピュータグラフィックスにおける光源情報には、光源の種類（平行光源、点光源、スポットライト等）、光源の輝度、光源の色、光源の位置姿勢が含まれる。
【００２７】
光源の種類には、平行光源、点光源、スポットライト等があるが、本実施例においては、処理の簡略化のため、光源の姿勢を算出する必要がない点光源を用いる。光源の種類が点光源である場合、光源情報推定部１０６は、光源の輝度、光源の色、光源の位置を推定する。
【００２８】
ここで、コンピュータグラフィックスでは、無限数の光源を扱うことはできないため、光源情報推定部１０６では、現実環境画像データベース管理部１０５に登録された全天球画像の中から、実際に影響がありそうな有限個の光源を選択して抽出する。
【００２９】
生成された全天球画像から光源を推定する方法には、種々の方法があるが、本実施例では、輝度値が閾値よりも高い領域を抽出する方法を用いる。具体的に、光源の輝度、光源の位置、光源の色を算出する方法を以下に示す。
【００３０】
光源の輝度に関しては、現実環境画像データベース管理部１０５に登録された天球画像から輝度値が閾値よりも高い領域（ハイライト領域）を輝度値の高い順に、あらかじめ設定された数だけ抽出する。そして、算出される輝度値の合計が、予め設定された輝度値になるように、領域ごとに相対的な仮想光源の輝度値を設定する。
【００３１】
次に、光源の色は、現実環境画像データベース管理部１０５に登録された画像データをＲ，Ｇ，Ｂの３原色に分解し、ハイライト領域のそれぞれの画素値を抽出し、領域ごとにＲ，Ｇ，Ｂの平均値を取り、光源の色を設定する。ただし、ＨＭＤに内蔵のカメラで現実環境を取得しているために、現実の光源色と若干色味が異なる場合が生じる。色味が若干異なる場合には、システム起動中にユーザが光源情報の編集を行うことで対応する。
【００３２】
次に、抽出した光源の位置を算出する。算出方法としては、球上に等間隔に点群を配置したジオデシックドームの各点とマッチングを行い、抽出されたハイライト領域中で最も輝度値が高い点に最も近い点に光源を配置する。また、従来から、イメージベーストライティング（ＩＢＬ：Ｉｍａｇｅ  Ｂａｓｅｄ  Ｌｉｇｈｔｉｎｇ）の手法のように天球の各画素が一つ一つ点光源であるとする方法もある。したがって、光源の配置方法においても構築するシステムによって好適な手段を選択すればよい。
Ｉ  ＢＬの参考文献：Ｐａｕｌ  Ｅ．Ｄｅｂｅｖｅｃ．Ｒｅｎｄｅｒｉｎｇ  Ｓｙｎｔｈｅｔｉｃ  Ｏｂｊｅｃｔｓ  ｉｎｔｏ  Ｒｅａｌ  Ｓｃｅｎｅｓ：Ｂｒｉｄｇｉｎｇ  Ｔｒａｄｉｔｉｏｎａｌ  ａｎｄ  Ｉｍａｇｅ−Ｂａｓｅｄ  Ｇｒａｐｈｉｃｓ  ｗｉｔｈ  Ｇｌｏｂａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ  ａｎｄ  Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｐｈｏｔｏｇｒａｐｈｙ．Ｉｎ  ＳＩＧＧＲＡＰＨ９８，Ｊｕｌｙ  １９９８．
また、体験者２０１の装着しているＨＭＤ１１０は両眼でビデオカメラを２台使用しているため、ステレオ視を行うことができる。したがって、両眼に映ったハイライト情報からステレオ計測を行い、現実環境の光源位置を３次元情報として算出し、その位置に仮想光源を配置するなどしてもよい。
【００３３】
本実施例では、光源として点光源を設定したが、ユーザの指示に基づき、他の光源を設定したり、設定された光源情報の編集をしてもよい。以下に、他の光源の位置や姿勢を算出する方法を示す。
【００３４】
例えば、平行光源の場合は、現実環境中にシンプルな棒のような物体を置き、その物体の影を抽出する。抽出された影から光源の位置・姿勢を算出する。また、蛍光灯などの光源を再現する場合、線光源や面光源を設定する。線光源や面光源を再現する場合、線光源や面光源の端点および中点や重心点などに点光源を配置して擬似的に、線光源および面光源を再現する。
【００３５】
１０８は、体験者２０１に表示させる３次元仮想物体のＣＧモデルデータを保持する仮想空間データベース１０８である。１０７は、光源情報推定部１０６によって推定された光源情報に基づき、仮想空間データベース１０８に保持されている３次元仮想物体の明るさ・陰影などの光源情報を管理する光源情報管理部１０７である。また、体験者２０１は、光源情報管理部１０７で管理される光源情報を変更することで、仮想空間データベースに登録された光源情報を変更することができる。
【００３６】
１０９は、体験者２０１の視点から観察されるべき仮想物体の仮想画像と、画像入力部１０２から取得する現実空間の画像との合成画像を生成する画像生成部１０９である。仮想物体の仮想画像を生成する際には、位置姿勢計測部１０４で算出された位置姿勢のデータや、仮想空間データベース１０６に含まれる仮想物体の幾何情報、色やテクスチャなどの属性情報、および光源情報が用いられる。なお、光源情報に基づき、３次元仮想物体の仮想画像を生成する技術は周知の技術であるので、その詳細についての説明は省略する。
【００３７】
１１０は、画像生成部１０９から合成画像のデータを受け、合成画像を表示するＨＭＤ１１０である。表示部１１０に表示された合成画像を観察者が見ると、現実空間の机２０３の上に仮想物体２０４があるかのように見える。
【００３８】
１１１は、現実環境画像データベース管理部１０５の画像情報を用いて、仮想物体２０４への映り込みを擬似的に表現するための環境マップを作成する環境マップ作成部１１１である。環境マップの作成方法と仮想物体への適用方法は、既知の技術である。以下に、環境マップの作成方法を述べる。環境マップは、オブジェクトから見た周囲の環境をいったんレンダリングして作成する。本件では、現実環境画像データベース管理部１０５の画像を使って、レンダリングする。環境マップの作成方法としては、２次元の画像を前後上下左右の６枚を取得して立方体にしたものと、オブジェクトの代わりに半球のミラーボールを視点と正対した形で仮想空間中に設置し、その半球ボールに周囲３６０°から移り込む光をレンダリングして２次元の画像にしたものとがある。環境マップの原理は、レンダリング時に視線から伸びた光線がオブジェクトに当たった点の法線を使って反射させる。そして、反射した光線が環境マップと交差した点の色をオブジェクトの色とするものである。環境マップを考慮した仮想画像を用いると、ユーザに、より自然な合成画像を提供することが出来る。
【００３９】
本システムの構成として、環境マップ作成部１１１は補助的な構成要素であるため、環境マップ作成部１１１を採用するかどうかは構築するシステムによって好適な手段を選択すればよい。
【００４０】
以上述べた情報処理装置の構成うち、ビデオカメラ１０１およびＨＭＤ１１０を除く構成については、ビデオキャプチャボードを装着した汎用コンピュータ装置によって実現することが可能である。従って、以下に説明する情報処理装置の処理は、少なくともその一部をＣＰＵが制御プログラムを実行することによってソフトウェア的に実現することが可能である。
【００４１】
次に、システム全体の処理の概要を図５に示すフローチャートを用いて説明する。Ｓ５００では、システムを起動し、全天球２０６もしくは現実空間のモデリング形状を取得し、初期化を行う。初期化では、全天球２０６もしくはモデリング形状に投影されている画像群があれば、画像群を消去し、一旦ニュートラルグレイの色で塗りつぶす。仮想空間データベースに登録された光源情報も消去する。
【００４２】
Ｓ５０１では、ビデオカメラ１０１の位置姿勢データを位置姿勢計測部１０４より取得する。同時に、Ｓ５０２では、ビデオカメラ１０１で撮影された画像の画像データを画像入力部１０２より取得する。
【００４３】
Ｓ５０３では、Ｓ５０１、Ｓ５０２で取得した画像データおよびカメラの位置姿勢データを元に体験者２０１を取り巻く仮想環境（全天球２０６または、現実環境をモデリングした仮想空間）に撮影画像を投影し、投影することにより生成された全天球画像を現実環境画像データベース管理部１０５に登録する。撮影画像を逐次データベースに登録することにより現実環境データベースは常に最新の現実環境に更新される。本実施例によれば、鏡面球が配置された２次元マーカなどの特殊な装置を使用せずに、現実環境データベースを構築することが出来る。
【００４４】
ここで、撮影画像２０５は、ビデオカメラ１０１により現実を撮影した画像である。そして、全天球２０６は、撮影画像２０５を投影し繋ぎ合わせるための半径無限大の半球である。ビデオカメラ１０１の位置姿勢はセンサ等によりリアルタイムに位置姿勢計測部１０４で計測しているため、撮影画像２０５を取得したときの視線方向がわかる。ここで、カメラの画角がわかっているため、全天球２０６に撮影画像２０５を視線方向に投影することができる。
【００４５】
Ｓ５０４は、Ｓ５０３の処理により得られる現実環境画像データベースから光源の位置、色味、輝度などの光源情報を推定する。ここで、現実環境画像データベースは常に更新されているので、現実環境画像データベースが更新される毎に光源情報も推定し直す。このようにして現実環境の照明変化を、リアルタイムに仮想空間の光源情報に反映させることができる。
【００４６】
Ｓ５０５は、Ｓ５０４で推定した光源情報を元に仮想空間データベース１０８に登録されている光源情報を設定・変更する。
【００４７】
具体的には、仮想空間データベース１０８に登録されている光源情報に、Ｓ５０４で推定した光源情報を追加することにより、光源情報の設定・変更を行う。
【００４８】
Ｓ５０６は、Ｓ５０１で取得したビデオカメラの視点位置姿勢データとＳ５０５で設定された光源情報、および仮想空間データベースに登録されている仮想物体の情報から仮想映像を生成する。
【００４９】
Ｓ５０７は、Ｓ５０２で撮影された撮影画像と、Ｓ５０６で生成された仮想画像を合成し、生成された合成画像をＨＭＤ１１０に出力する。
【００５０】
Ｓ５０８は、システムを終了するかどうか判定し、終了しない場合は、Ｓ５０１に戻り処理を繰り返す。システムの終了は、ＭＲ体験を終了するかどうかのユーザ指示に基づき、判断する。シーン中の光源環境が変化しない前提であれば、現実環境画像データベース管理部１０５の画像が天球モデルまたは、シーンの３次元形状モデルを埋め尽くす（充填率）を算出することで、その充填率が１００％になり、光源情報が再現できた時点で、光源推定処理を終了するなどしてもよい。
【００５１】
また、逐次取得している撮影画像と現実環境画像データベース管理部１０５の画像を比較し、画像全体の輝度値が極端に変化した場合は、現実空間の照明条件が変化したと認識して、再度光源推定処理を開始してもよい。
【００５２】
尚、本実施例において、体験者２０１の視点位置、姿勢を計測または推定する手段としては、センサの計測値を用いた。しかし、センサと２次元マーカと併用する手段、２次元マーカを用いる手段などがある。これらは構築するシステムにより好適な手段を選択すればよい。図３に２次元マーカを用いたシステムの構成図を示す。図３において、マーカ検出部３０３は画像入力部１０２から供給される画像から、図４に示す２次元マーカ４０１を検出する。２次元マーカ４０１は、現実空間上の絶対位置が既知の、画像から抽出可能な特徴（色、形、パターンなど）を有する指標である。従って、マーカ検出部３０３は、２次元マーカ２０５の有する特徴に合致する領域を画像中から探索することにより２次元マーカ４０１を検出する。マーカ検出部３０３が検出したマーカ情報（画像中の位置やマーカ４０１の向き、面積など）と、マーカ４０１の特徴点のマーカ座標系における位置及びビデオカメラ１０１のカメラパラメータなどを用いて、２次元マーカを利用した位置姿勢推定手法は従来から提案されているので、ここでは説明を省略する。
【実施例２】
【００５３】
図６に本実施例の構成図を示す。各構成要素の役割は、光源情報推定部６０１と光源情報管理部６０２を除き、第１の実施例と同じである。
【００５４】
また、本実施例に係る情報処理装置は、図６の構成図に示すように、図１の構成図から現実環境データベース管理部１０５を取り除いたものである。
【００５５】
光源情報推定部６０１は、画像入力部１０２から供給される画像データと、位置姿勢計測部１０４から供給されるビデオカメラ１０１の３次元位置、姿勢のデータから、全天球画像を作成せず、ビデオカメラ１０１の視線方向に存在する光源情報を推定する。
【００５６】
光源情報管理部６０２は、光源情報推定部６０１で推定された光源情報を統合し、仮想空間データベース１０８に登録・設定を行う。ここで光源情報の統合方法として最も簡単な方法は、例えば光源情報で抽出した光源のハイライトの輝度値の最も高いものから順に採用し、所定値以下の輝度値の光源は破棄する方法である。
【００５７】
本実施例におけるシステム全体の処理も、第一の実施例の処理と、ほぼ同様である。本実施例におけるシステム全体の処理は、図５の処理から、Ｓ５０３（撮影画像の投影）を除いた処理である。つまり、本実施例では、現実環境を撮影した撮影画像から天球画像を作成せず、画像入力部に入力された撮影画像から即座に光源情報を推定し仮想空間に設定する。
【００５８】
次に、光源情報管理部６０１における光源情報の推定方法について、説明する。光源情報管理部６０２における光源情報の推定方法は第１の実施例と同様に種々の方法がある。最も簡単な方法は、撮影画像からハイライト部分を抽出し、そのハイライト部分の最も輝度値が高い点または重心位置と視点位置を結ぶ直線方向に光源があると仮定し、全天球２０６上に点光源を配置する方法である。また、予め現実環境の壁や現実物体の形状および配置などがモデリングしてある場合、現実環境のモデリングされたモデリング形状上に光源を配置する。そして、第１の実施例と同様に、本実施例においても、逐次画像入力部１０２に撮影画像が入力されるため、リアルタイムに光源を推定することができる。
【００５９】
以上説明したように、本実施例によっても、ＨＭＤ１１０に搭載したビデオカメラ１０１により撮影した画像を入力として現実環境の光源情報を推定・統合し、仮想空間データベース１０８に設定・変更することができる。また、本実施例によれば、図６のような現実環境画像データベース１０５を有さない構成にすることにより、より簡単な構成で光源の推定を行うことが出来る。
【実施例３】
【００６０】
第３の実施例に係る情報処理装置は、複数人で本システムを体験する場合に用いられる装置である。図７は、本実施例における情報処理装置の構成図である。図７に示すように、図１の構成と異なる点は、ビデオカメラ１０１、位置姿勢センサ１０３、ＨＭＤ１１０を複数台有することである。位置姿勢センサ（１）は、ビデオカメラ（１）の位置姿勢をセンシングする。ＨＭＤ（１）には、ビデオカメラ（１）から入力される撮影画像に基づく仮想画像が表示される。また、ビデオカメラ（２）、ビデオカメラ（３）においても、同様である。画像入力部１０２は、複数のビデオカメラ１０１から取得した撮影画像の画像データを、現実環境画像データベース管理部１０５に入力する。同様に、位置姿勢計測部１０４も、複数の位置姿勢センサ１０３から取得した複数のビデオカメラ１０１の３次元位置、姿勢のデータを現実空間データベース管理部１０５に入力する。
【００６１】
現実環境画像データベース管理部１０５は、複数の画像データと複数のビデオカメラ１０１の３次元位置、姿勢のデータから、実施例１と同様に、全天球画像を生成する。光源情報推定部１０６は、生成された全天球画像から、光源を推定する。本実施例におけるシステム全体の処理も、第１の実施例における図５の処理とほぼ同様であり、複数の撮影画像を同時に処理し、複数のユーザそれぞれに対する合成画像を生成することが異なる。
【００６２】
本実施例によれば、複数台のビデオカメラ１０１から入力される複数の撮影画像を同時に処理し天球画像を作成するため、より現実環境に近い全天球画像を生成し、光源情報の推定の精度を向上させることが出来る。
【００６３】
さらに、光源情報管理部１０７における光源の情報を複数の体験者間で共有することにより、体験者間の光源の情報の差異を無くすことができる。尚、本実施例は、現実環境画像データベース管理部１０５を有さない構成の第２の実施例に適用しても良い。
【実施例４】
【００６４】
第４の実施例は、第１の実施例において、体験者が体験中に、現実環境の照明条件が動的に変更された場合に、仮想環境の光源情報を効果的に変更する。第４の実施例では、図６におけるＳ５０５の処理が、第一の実施例と異なる。本実施例では、光源環境推定部１０６において、光源情報の輝度値や色値に大きな変化（閾値処理等で）があった場合に、図６のＳ５０５における光源情報を予め設定された変化量閾値だけ変更する。そして、Ｓ５０８の処理によりＳ５０５の処理が繰り返される際に、光源環境推定部１０６で推定された光源情報の輝度値もしくは色値に達するまで、変化量閾値ずつ光源情報を変更する。ここで、変化量閾値は、変化しても人が違和感を感じない程度の光源の輝度値もしくは色値の変化量の閾値である。上記処理を行うことにより、時間の経過と共に徐々に光源が変化する仮想画像が表示されるため、光源の急激な変化によるユーザの違和感を少なくすることが出来る。
【実施例５】
【００６５】
本実施例は、第１の実施例において、限られた光源数を仮想空間中に適切に配置する。通常、オフラインレンダリングで面光源や線光源を表現する場合は、面光源や線光源で設定される光源の中に点光源を配置して、擬似的にそれらの光源を表現する手法が一般的である。しかし、実時間でＣＧをレンダリングするシステムでは、仮想空間に無限の光源を配置することができないため、光源数に制約が生じる。
【００６６】
そこで、第５の実施例に係る情報処理装置は、現実環境画像データベース管理部１０３において、例えば、面光源または線光源が存在した場合に、面光源または線光源の輝度値が所定値以上の領域（ハイライト領域）内の特徴点（端点や領域の重心）に点光源を配置する。このとき、シーン中で使用できる光源数に制約があるため、面光源や線光源の中の特徴点に単純に点光源を配置しただけでは、効果的に配置することができない。従って、現実環境画像データベース管理部ではシーン全体のハイライト領域の数を計算し、光源を配置する領域の候補を予め算出する。
【００６７】
配置候補は、ハイライト領域の面積と輝度値を尺度とした寄与率で計算し、寄与率が高い順に優先度（重み）を付け算出する。寄与率は、例えば全周の現実環境中に光源のハイライト領域が占める割合と、輝度値を掛け合わせたもの等で計算する。そして、算出した配置候補の優先度に従って、仮想光源の輝度値に重みをかけて配置する。
【００６８】
さらに、配置できる光源数に余裕がある場合は、環境中の優先度の高い光源に対し、配置する仮想光源の数に重みを付けて増加させる。このとき、仮想光源の配置方法としては、面光源や線光源の端点または重心点や中点といった特徴点であっても良いし、面光源や線光源を配置できる光源でボロノイ領域に分割して配置するなどしてもよい。
【００６９】
このようにして、第５の実施例における情報処理装置は、現実環境画像データベース管理部１０３から得られる現実の光源情報に基づき仮想光源を配置するための優先度（重み）を算出し、それに基づき仮想光源を効果的に配置することができる。
【００７０】
第５の実施例の構成を図１の構成図を元に説明する。
第５の実施例に係る情報処理装置では、第１の実施例と同様に体験者が観察している現実環境の画像が画像入力部１０２に入力される。そして、体験者が周囲の環境を見回すことにより現実環境の光源を推定するために十分な現実環境画像が現実環境画像データベース管理部１０３に格納され、光源情報推定部１０４で光源情報が推定される。このとき、現実環境画像データベース管理部１０３内のハイライト領域の面積および輝度値を算出し、算出した面積値および輝度値を尺度として、現実環境の光源情報に優先度をつける。シーン中に配置する仮想光源は、算出した優先度に従い、光源情報管理部１０５で仮想空間のどの位置に光源情報を配置するかを決定する。最後に、光源環境の推定が終了するとその結果を受け、仮想空間データベース１０８に仮想の光源情報が登録される。
【図面の簡単な説明】
【００７１】
【図１】第１の実施例にいおける情報処理装置の構成例を示すブロック図である。
【図２】図１の情報処理装置を複合現実感アプリケーションに適用した場合の具体的な機器配置と、観察者が体感する複合現実感を模式的に示す図である。
【図３】第１の実施例における位置姿勢センサ代わりにマーカ計測を適用した構成を示すブロック図である。
【図４】図３の情報処理装置が取り扱う２次元マーカを示す図である。
【図５】第２の実施例の情報処理装置におけるシステムの概要を説明するフローチャート。
【図６】第２の実施例における情報処理装置の構成例を示すブロック図である。
【図７】第３の実施例における情報処理装置の構成例を示すブロック図である。
【図１】
2008033531.tif 000003
【図２】
2008033531.tif 000004
【図３】
2008033531.tif 000005
【図４】
2008033531.tif 000006
【図５】
2008033531.tif 000007
【図６】
2008033531.tif 000008
【図７】
2008033531.tif 000009