(57)【特許請求の範囲】
【請求項１】
現実空間と仮想物体との映像の合成処理を行う映像処理装置であって、
現実空間を撮像する撮像手段と、
前記撮像手段の位置姿勢を計測する計測手段と、
前記計測手段による前記撮像手段の位置姿勢に基づいて、前記撮像手段により撮像された現実空間を含む前景の映像を生成する前景映像生成手段と、
前記計測手段による前記撮像手段の位置姿勢に基づいて、前記前景映像生成手段による前景の背景映像を生成する背景映像生成手段と、
前記前景映像生成手段による前景の映像のクロマキー色の領域に、前記背景映像生成手段による背景の映像を合成するクロマキー合成処理を行う合成手段と、
前記合成手段が合成する対象である前記前景の映像と前記背景映像とを同期して前記合成手段に入力するための同期信号を発生する同期信号発生手段とを備え、
前記合成手段は、クロマキー合成の対象外とする前記現実空間における現実物体に含まれるクロマキー色の領域の位置及び形状を、前記計測手段による前記撮像手段の位置姿勢に基づいて、変換することでクロマキー対象外領域を生成し、該クロマキー対象外領域以外の前記前景の映像のクロマキー色の領域に対して、前記クロマキー合成処理を行い、
前記前景映像生成手段、及び前記背景映像生成手段は夫々独立に設定されている所定時間分のウェイト処理を行うことにより、前記同期信号に応じて同期のとれた前景、背景の映像を夫々前記合成手段に入力することを特徴とする映像処理装置。
【請求項２】
前記前景映像生成手段は前記撮像手段による現実空間の手前に仮想物体を設ける場合、
所定の格納手段に格納された仮想物体の描画に関する情報を用いて前記計測手段による前記撮像手段の位置姿勢に基づいた前記仮想物体の映像を生成し、前記撮像された現実空間に合成することで前景の映像を生成することを特徴とする請求項１に記載の映像処理装置。
【請求項３】
前記前景映像生成手段は、前記撮像手段により撮像された現実空間の映像に同期した前記計測された前記撮像手段の位置姿勢を用いて前景の映像を生成することを特徴とする請求項２に記載の映像処理装置。
【請求項４】
前記背景映像生成手段は所定の格納手段に格納された背景のデータを用いて、
前記計測手段による前記撮像手段の位置姿勢で見える背景の映像を生成することを特徴とする請求項１乃至３のいずれか１項に記載の映像処理装置。
【請求項５】
現実空間と仮想物体との映像の合成処理を行う映像処理方法であって、
現実空間を撮像する撮像手段の位置姿勢を計測する計測工程と、
前記計測工程による前記撮像手段の位置姿勢に基づいて、前記撮像手段により撮像された現実空間を含む前景の映像を生成する前景映像生成工程と、
前記計測工程による前記撮像手段の位置姿勢に基づいて、前記前景映像生成工程による前景の背景映像を生成する背景映像生成工程と、
前記前景映像生成工程による前景の映像のクロマキー色の領域に、前記背景映像生成工程による背景の映像を合成するクロマキー合成処理を行う合成工程と、
前記合成工程で合成する対象である前記前景の映像と前記背景映像とを同期して前記合成工程で合成するための同期信号を発生する同期信号発生工程とを備え、
前記合成工程では、クロマキー合成の対象外とする前記現実空間における現実物体に含まれるクロマキー色の領域の位置及び形状を、前記計測工程による前記撮像手段の位置姿勢に基づいて、変換することでクロマキー対象外領域を生成し、該クロマキー対象外領域以外の前記前景の映像のクロマキー色の領域に対して、前記クロマキー合成処理を行い、
前記前景映像生成工程、及び前記背景映像生成工程では夫々独立に設定されている所定時間分のウェイト処理を行うことにより、前記同期信号に応じて同期のとれた前景、背景の映像を夫々前記合成工程で用いることを特徴とする映像処理方法。
【請求項６】
コンピュータに請求項５に記載の映像処理方法を実行させるプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、現実空間と仮想物体との映像の合成処理を行う映像処理装置及びその方法並びに記憶媒体に関するものである。
【０００２】
【従来の技術】
複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ  ；  以下、ＭＲ）を体感するためには、コンピュータにより仮想物体（仮想空間）の映像を生成し、生成した仮想物体の映像とカメラにより撮像した現実空間の映像とを合成した合成映像（複合現実感映像）を生成する必要がある。複合現実感映像を生成する際、カメラにより撮像された現実物体の背景に仮想物体の映像を合成した複合現実感映像を生成する場合がある。従来ではこのような複合現実感映像を生成する際、以下に記載の方法を用いていた。つまり、クロマキー色の背景板を現実物体の背景に配置し、背景が背景板となるように現実物体を撮像する。そして撮像した映像と、仮想物体の映像とのクロマキー合成を行う。
【０００３】
【発明が解決しようとする課題】
＜  クロマキー色の変化  ＞
しかし従来では光源の位置、姿勢とカメラの位置、姿勢とによっては、撮像される背景のクロマキー色が変化してしまい、クロマキー合成がうまくいかなかった。つまり光源からの光が背景板で反射している場合、反射する方向から背景板を含む現実物体の撮像を行えば、背景板はより白っぽく撮像されてしまう。この場合、クロマキー色の変化により、クロマキー合成を行うことが困難となってしまう。
＜  クロマキー合成対象外の部分のクロマキー合成  ＞
また従来では背景以外にクロマキー色を部分的に有する現実物体が存在した場合（例えば現実物体が建物であった場合、窓の色がクロマキー色に近い場合）、クロマキー合成の対象でない部分もクロマキー合成が行われてしまう。
＜  複合現実感映像を生成する際の生成の同期  ＞
また従来では複合現実感映像を生成する際に、前景の映像を生成するタイミングと、背景に用いる仮想物体の映像の生成のタイミングとは、処理速度の理由から異なってしまい、同期のとれた複合現実感映像を生成することは困難となってしまう。
【０００４】
本発明は以上の問題に鑑みてなされたものであり、撮像手段の位置、姿勢に依存することなく、合成対象領域のみ現実空間と仮想物体との合成を行い、同期のとれた映像を生成することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の映像処理装置は以下の構成を備える。すなわち、現実空間と仮想物体との映像の合成処理を行う映像処理装置であって、
現実空間を撮像する撮像手段と、
前記撮像手段の位置姿勢を計測する計測手段と、
前記計測手段による前記撮像手段の位置姿勢に基づいて、前記撮像手段により撮像された現実空間を含む前景の映像を生成する前景映像生成手段と、
前記計測手段による前記撮像手段の位置姿勢に基づいて、前記前景映像生成手段による前景の背景映像を生成する背景映像生成手段と、
前記前景映像生成手段による前景の映像のクロマキー色の領域に、前記背景映像生成手段による背景の映像を合成するクロマキー合成処理を行う合成手段と、
前記合成手段が合成する対象である前記前景の映像と前記背景映像とを同期して前記合成手段に入力するための同期信号を発生する同期信号発生手段とを備え、
前記合成手段は、クロマキー合成の対象外とする前記現実空間における現実物体に含まれるクロマキー色の領域の位置及び形状を、前記計測手段による前記撮像手段の位置姿勢に基づいて、変換することでクロマキー対象外領域を生成し、該クロマキー対象外領域以外の前記前景の映像のクロマキー色の領域に対して、前記クロマキー合成処理を行い、
前記前景映像生成手段、及び前記背景映像生成手段は夫々独立に設定されている所定時間分のウェイト処理を行うことにより、前記同期信号に応じて同期のとれた前景、背景の映像を夫々前記合成手段に入力することを特徴とする。
【０００７】
【発明の実施の形態】
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
【０００８】
［第１の実施形態］
本実施形態における映像処理装置の概略構成を図１に示す。１０１はカメラで、本実施形態ではクロマキー色の背景板を背景に現実物体の撮像を行う。図３にこの撮像の様子を示す。
【０００９】
３０１はクロマキー色の背景板、３０２，３０３は現実物体であって、カメラ１０１は背景板３０１が背景となるように現実物体３０２，３０３を撮像する。
【００１０】
図１に戻って、１０２，１０３はグラフィック処理用のワークステーションで、グラフィック処理を行うソフトウェアを実行することができる。なお１０２，１０３は上記のソフトウェアを実行できる一般のコンピュータでも良い。ワークステーション１０２，１０３の内部構成を図４に示す。
【００１１】
４０１はＣＰＵで、ＲＡＭ４０２やＲＯＭ４０３内に格納されたプログラムコードやデータを用いてワークステーション全体の制御を行い、また各種の映像処理やマトリクス演算なども行う。４０２はＲＡＭで、ＣＰＵ４０１により外部記憶装置４０４からロードされたプログラムコードやデータを一時的に格納するエリアを備えると共に、ＣＰＵ４０１が各種の処理を行う際に使用するワークエリアも備える。４０３はＲＯＭで、ワークステーションの起動プログラムや起動後の設定などを格納すると共に、文字コードなども格納する。４０４は外部記憶装置で、ＣＤ−ＲＯＭやフロッピーディスクなどの記憶媒体から読み込んだプログラムコードやデータなどを保存する。４０５は操作部で、キーボードやマウスなどのポインティングデバイスにより構成されており、ユーザが各種の指示を入力するためのインターフェースである。４０６は表示部で、ＣＲＴや液晶画面などにより構成されており、各種の映像の生成結果や、システムメッセージなどを表示することができる。４０７はインターフェース（Ｉ／Ｆ）部で、周辺機器や他のワークステーションと接続することができ、データの送受信を行うことができる。４０８はＮＣＵで、通信回線を介して他の機器とのデータの送受信を行うことができる。４０９は上述の各部を繋ぐバスである。
【００１２】
図１に戻って、１０４は位置姿勢計測装置で、カメラ１０１の位置、姿勢を計測し、計測結果としての位置、姿勢データを出力する。１０５は同期信号発生器で、一定の時間間隔で同期信号を出力する。１０６はクロマキー合成装置で、入力された映像同士のクロマキー合成を行い、合成結果としての複合現実感映像を出力する。なお、用いるクロマキー色（図３に示した例では、背景板３０１のクロマキー色）は、クロマキー合成装置１０６が認識できるように、同装置１０６に予め登録しておく必要がある。１０７はモニタで、入力された映像を表示することができる。
【００１３】
以上の構成を備える映像処理装置が行う処理の大まかな流れを図２を用いて説明する。カメラ１０１の位置、姿勢は位置姿勢計測装置１０４により計測され、カメラ１０１の位置姿勢データとしてワークステーション１０２、ワークステーション１０３に夫々出力される。
【００１４】
カメラ１０１により撮像された実写映像はワークステーション１０２に（ＲＡＭ４０２内に）入力され、融合映像（前景）としてクロマキー合成装置１０６に出力される。なお、ワークステーション１０２（ワークステーション１０３）が有する外部記憶装置４０４内には仮想物体のデータが保存されており、カメラ１０１から入力した現実映像よりも手前に仮想物体の映像を表示させたい場合には（以下、この仮想物体を前景仮想物体、前景仮想物体の映像を前景仮想物体映像と呼ぶ）、前景仮想物体のデータ（前景仮想物体の３次元形状のデータ、表面マテリアルのデータ）を外部記憶装置４０４からＲＡＭ４０２にロードする。また、前景仮想物体を配置する座標値が記載された不図示のテーブルも一緒にロードする。そして位置姿勢計測装置１０４より入力されたカメラ１０１の位置姿勢データに基づいて、前景仮想物体のビューイング変換行列を生成し、カメラ１０１の位置姿勢から見た前景仮想物体映像を生成する。そして生成された前景仮想物体映像と実写映像とを合成し、融合映像を生成する。以上、生成された融合映像はクロマキー合成装置１０６に出力される。
【００１５】
一方、ワークステーション１０３内にカメラ１０１の位置姿勢データが入力されると、ワークステーション１０３はこの位置姿勢データに基づいて、背景の映像（ＣＧ映像）を生成する。カメラ１０１の位置姿勢データに基づいた背景の映像の生成方法については詳しくは後述する。以上、生成されたＣＧ映像はクロマキー合成装置１０６に出力される。
【００１６】
クロマキー合成装置１０６は入力された融合映像とＣＧ映像とを用いてクロマキー合成を行い、複合現実感映像を生成する。クロマキー合成装置１０６が行うクロマキー合成処理について図５を用いて説明する。
【００１７】
５０１はワークステーション１０２から入力された融合映像で、５０２はワークステーション１０３から入力されたＣＧ映像である。融合映像５０１内には、現実物体の映像５０１ａ，５０１ｂ、前景仮想物体映像５０１ｃ、そしてクロマキー色の背景板の映像５０１ｄが含まれている。融合映像５０１とＣＧ映像５０２とのクロマキー合成を行うと、融合映像５０１内の背景板の映像５０１ｄの領域にＣＧ映像５０２の該当領域の映像が合成された複合現実感映像５０３が生成される。
【００１８】
そして上述の説明による方法でクロマキー合成装置１０６により生成された複合現実感映像はモニタ１０７に出力され、表示される。
【００１９】
なお、以上の各部（カメラ１０１、ワークステーション１０２、ワークステーション１０３、位置姿勢計測装置１０４、クロマキー合成装置１０６）は同期信号発生器１０５により出力される同期信号に同期して動作している。つまり、同期信号に同期して、カメラ１０１からの実写映像の出力、ワークステーション１０２からの融合映像の出力、ワークステーション１０３からのＣＧ映像の出力、位置姿勢計測装置１０４によるカメラ１０１の位置姿勢の計測及び位置姿勢データの出力、クロマキー合成装置１０６によるクロマキー合成処理の開始を行う。以下、上述の各部の動作の同期について更に詳しく説明する。
【００２０】
上述の通り、同期信号に応じてカメラ１０１からの実写映像の出力と、位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データの出力が行われるが、ワークステーション１０２において、キャプチャ（ワークステーション１０２内のＲＡＭ４０２内に実写映像を取り込む作業）する実写映像と、カメラ１０１の位置姿勢データを同期させるために、実写映像のキャプチャに要する時間をｘフレームとすると、位置姿勢計測装置１０４はｘフレーム前のカメラ１０１の位置姿勢データを出力する。このようにすることで、カメラ１０１からの実写映像と、位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データとが同期をとってワークステーション１０２内のＲＡＭ４０２に入力される。
【００２１】
もしくは、カメラ１０１と位置姿勢計測装置１０４から夫々実写映像とカメラ１０１の位置姿勢データとをワークステーション１０２に入力し、カメラ１０１の位置姿勢データをＲＡＭ４０２に蓄積しておいて、融合映像を生成する際に、ＲＡＭ４０２内の位置姿勢データのうち、ｘフレーム前のものを用いても良い。なお、実写映像のキャプチャに要する時間は予め測定しておく。
【００２２】
また、ワークステーション１０２とワークステーション１０３とで、夫々融合映像、ＣＧ映像を生成する際に要する時間が異なることが多い。この場合のワークステーション１０２とワークステーション１０３との映像の生成処理及び出力のタイミングチャートを図６に示す。
【００２３】
同図において、ｔ１はワークステーション１０２が融合映像を生成するのに要する時間、ＷＴ１は後述するウェイト時間、ｔ２はワークステーション１０３がＣＧ映像を生成するのに要する時間、ＷＴ２は後述するウェイト時間、ｔ３はクロマキー合成装置１０６がクロマキー合成処理を行うのに要する時間を示す。
【００２４】
ＷＴ１，ＷＴ２はワークステーション１０２とワークステーション１０３とで夫々の１回の繰り返し計算に要する時間の差を１フレーム以内に納めるために、及びクロマキー合成装置１０６によるクロマキー合成処理が終了するタイミングを待つために、夫々ワークステーション１０２、ワークステーション１０３に対して設けられたウェイト時間である。このように夫々ウェイト時間ＷＴ１，ＷＴ２を設けることで、同期信号に応じてワークステーション１０２、ワークステーション１０３から夫々同期をとって融合映像、ＣＧ映像が出力され、クロマキー合成装置１０６に入力される。
【００２５】
次に、背景の映像の生成方法について説明する。背景の映像は遠景であることが多いために、微細な３次元形状の再現はあまり必要ではない。よって、背景の映像を生成する際に要する時間はより短い方がよい。本実施形態における背景の生成方法として、図７に示すように、前景７０２を含むような半球体７０１を仮想的に設定し、この半球体７０１の内側に予め魚眼レンズなどで撮影した画像をマッピングする。
【００２６】
その結果、位置姿勢計測装置１０４から入力されるカメラ１０１の位置姿勢データに基づいて、カメラ１０１の位置姿勢により見える半球体７０１内の画像を生成し、背景として用いる。なお、前景７０２を含む形状は半球体に限定されず、他にも上面が閉じた円柱であっても良い。なお、上述の半球体７０１のデータ（背景のデータ）はワークステーション１０３の外部記憶装置４０４内に保存されており、必要に応じて読み出される。
【００２７】
以上の各処理において、ワークステーション１０２、ワークステーション１０３における処理のフローチャートを夫々図８、図９に示し、以下説明する。なお、夫々のフローチャートに従ったプログラムコードは夫々のワークステーションの夫々の外部記憶装置４０４内に保存され、必要に応じてＲＡＭ４０２に読み出され、夫々のワークステーション内の夫々のＣＰＵ４０１により読み出され、実行される。
【００２８】
まず、ワークステーション１０２における処理について説明する。まず、同期信号発生器１０５からの同期信号待ちとなる（ステップＳ８０１）。処理を開始するとまず、カメラ１０１から実写映像をキャプチャする（ステップＳ８０２）。そして位置姿勢計測装置１０４からカメラ１０１の位置姿勢データを入力する（ステップＳ８０３）。ステップＳ８０２とステップＳ８０３の各処理の順序は逆でも良いし、並列に行っても良い。そして次にキャプチャした実写映像をＲＡＭ４０２内で描画する（ステップＳ８０４）。また、入力したカメラ１０１の位置姿勢データ（予め測定したフレーム数遅延させた位置姿勢データ）に基づいて、前景仮想物体映像を生成するためのビューイング変換行列を算出し（ステップＳ８０５）、算出されたビューイング変換行列に基づいて生成された前景仮想物体映像を実写映像に合成し、融合映像を生成する（ステップＳ８０６）。
【００２９】
そして最後にウェイト時間ＷＴ１だけウェイトし（ステップＳ８０７）、その後、融合映像をクロマキー合成装置１０６に出力する（ステップＳ８０８）。その後に処理をステップＳ８０１に移行する。なお前景仮想物体映像を描画しない場合にはステップＳ８０５，Ｓ８０６及びＳ８０３における処理は必要ない。
【００３０】
次にワークステーション１０３における処理について、図９を用いて説明する。
【００３１】
ステップＳ８０１と同様に同期待ちとなり（ステップＳ９０１）、処理を開始したらステップＳ８０３と同様にカメラ１０１の位置姿勢データの入力を行い（ステップＳ９０２）、この位置姿勢データに基づいて、背景ＣＧを生成する（ステップＳ９０４）。そしてＷＴ２以上ウェイトすれば、背景のＣＧ映像を出力し、処理をステップＳ９０１に移行する。
【００３２】
また、クロマキー合成装置１０６における処理のフローチャートを図１０に示し、以下説明する。なお、同図のフローチャートに従ったプログラムコードはクロマキー合成装置１０６内の不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【００３３】
まず同期待ちで（ステップＳ１００１）、処理を開始すればまず融合映像、ＣＧ映像を入力する（ステップＳ１００２）。次にクロマキー合成処理を行い（ステップＳ１００３）、その結果生成された複合現実感映像をモニタ１０７に出力する（ステップＳ１００４）。
【００３４】
なお本実施形態において、融合映像とＣＧ映像を生成するワークステーションは別としたが、同じワークステーション内で行っても良い。その際にはこのワークステーションが有する外部記憶装置内には図８，９に示したフローチャートに従ったプログラムコードが保存されることになる。
【００３５】
以上の説明による本実施形態における映像処理装置は、同期のとれた複合現実感映像を生成することができる。
【００３６】
［第２の実施形態］
第１の実施形態において、カメラ１０１の位置姿勢と、不図示の光源の位置姿勢によっては、カメラ１０１で撮影した画像中で背景板（図３では３０１、図５では５０１ｄ）の色が変化してしまう場合がある。その場合、光源の位置姿勢は固定と考えると、カメラ１０１の位置姿勢の変化に応じてクロマキー合成装置１０６におけるクロマキー合成パラメータを実時間で変化させる必要がある。本実施形態では、このようなクロマキー合成装置１０６について説明する。なお本実施形態における映像処理装置の概略構成は、図１において、位置姿勢計測装置１０４とクロマキー合成装置１０６とが繋がっており、クロマキー合成装置１０６に位置姿勢計測装置１０４からカメラ１０１の位置姿勢データが入力される。
【００３７】
まず、予め異なるカメラの位置姿勢に応じたクロマキー合成パラメータを調節し、テーブル（クロマキー合成パラメータテーブル）として保持しておく。クロマキー合成パラメータの要素には色相、クリップ、ゲイン、色相範囲、彩度等があり、記載した順番に従ってより厳密に調節しておく必要がある。図１１にクロマキー合成パラメータテーブルの構成例を示す。
【００３８】
同図のテーブル１１００内には、カメラ１０１の位置データが記載された欄１１０１、カメラ１０１の姿勢データが記載された欄１１０２と、欄１１０１，欄１１０２内に記載されたカメラ１０１の位置姿勢で特定されるクロマキー合成パラメータが記載された欄１１０３が含まれる。なお、欄１１０１，１１０２内には必ずしもデータが記載されているとは限らず、例えばカメラ１０１の位置が背景板から十分に離れている場合には、カメラ１０１の位置データは欄１１０１に記載しなくても良い。その場合、カメラ１０１の姿勢データのみで、クロマキー合成パラメータを決定しても誤差が少ないからである。
【００３９】
次に実際にクロマキー合成パラメータテーブルを参照して、カメラ１０１の位置姿勢データが与えられた際に対応するクロマキー合成パラメータを特定する処理について同処理のフローチャートを図１６に示し、以下説明する。
【００４０】
カメラ１０１の位置姿勢データが与えられた場合（ステップＳ１６０１）、クロマキー合成パラメータテーブルを参照し（ステップＳ１６０２）、このデータがクロマキー合成パラメータテーブル（欄図１１の例では１１０１，欄１１０２）に記載されたデータであれば（ステップＳ１６０３）、そのデータに応じたクロマキー合成パラメータを用いればよい（ステップＳ１６０４）。しかし、カメラ１０１の位置姿勢データがクロマキー合成パラメータテーブル（図１１の例では欄１１０１，１１０２）に記載されていない場合（ステップＳ１６０３）、記載された位置姿勢データとクロマキー合成パラメータを用いて補間し（ステップＳ１６０５）、テーブルに記載されていない位置姿勢データに応じたクロマキー合成パラメータを特定することができる（ステップＳ１６０６）。補間の方法としては特に限定しないが、例えばスプライン補間等を用いても良い。
【００４１】
以上の方法により、カメラ１０１の位置姿勢により撮像されるクロマキー色が変化しても、本実施形態におけるクロマキー合成装置１０６は、クロマキー合成処理を行うことができる。
【００４２】
［第３の実施形態］
現実物体にクロマキー色が含まれている場合、例えば現実物体が建物であって窓の色がクロマキー色であった場合、この窓の部分はクロマキー合成により背景のＣＧ映像の該当部分が合成されることになる。よって、本実施形態では現実物体にクロマキー色の領域（以下、マスク領域）が含まれていても、このマスク領域をクロマキー合成の対象から外す処理について説明する。
【００４３】
まず予め、現実物体においてマスク領域の形状、位置を３次元空間内で特定し、ワークステーション内の外部記憶装置４０４内に格納しておく。そしてカメラ１０１の位置姿勢データに基づいて生成されるビューイング変換行列を用いて３次元マスク形状データを変換する事で、クロマキー合成処理対象の映像中におけるマスク領域の形状、位置が特定される。よってこの領域の情報をクロマキー合成装置１０６内に出力することで、この領域をクロマキー合成処理の対象外領域とする事ができる。
【００４４】
［第４の実施形態］
第１の実施形態における映像処理装置が行う処理は他の構成によっても実現できる。図１２に本実施形態における映像処理装置の概略構成を示す。
【００４５】
各部に用いる機器は第１の実施形態と同じであるが、夫々の機器間の接続形式や各機器の動作タイミングなどが異なる。本実施形態の映像処理装置において各処理の流れを図１３を用いて説明する。
【００４６】
ワークステーション１０２の外部記憶装置４０４内には背景のデータが保存されており、必要に応じてＣＰＵ４０１によりＲＡＭ４０２に読み出される。よって、ワークステーション１０２は位置姿勢計測装置１０４から入力したカメラ１０１の位置姿勢データに基づいて第１の実施形態と同様にカメラ１０１の位置姿勢に基づいた背景のＣＧ映像を生成し、生成した背景のＣＧ映像をクロマキー合成装置１０６に出力する。
【００４７】
またカメラ１０１により撮像された実写映像はダイレクトにクロマキー合成装置１０６に入力される。そしてクロマキー合成装置１０６は、入力された実写映像と背景のＣＧ映像をクロマキー合成し、前景仮想物体が含まれていない複合現実感映像を生成する。生成された（前景仮想物体が含まれていない）複合現実感映像はワークステーション１０３に入力される。ワークステーション１０３の外部記憶装置４０４内には前景仮想物体のデータが保存されており、ＣＰＵ４０１によりＲＡＭ４０２に読み出した後に、位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データに基づいた前景仮想物体映像を生成し、クロマキー合成装置１０６から入力された映像と合成し、複合現実感映像を生成した後にモニタ１０７に出力する。
【００４８】
又第１の実施形態と同様、以上の各部（カメラ１０１、ワークステーション１０２、ワークステーション１０３、位置姿勢計測装置１０４、クロマキー合成装置１０６）は同期信号発生器１０５により出力される同期信号に同期して動作している。つまり、同期信号に同期して、カメラ１０１からの実写映像の出力、ワークステーション１０２からのＣＧ映像の出力、ワークステーション１０３からの複合現実感映像の出力、位置姿勢計測装置１０４によるカメラ１０１の位置姿勢の計測及び位置姿勢データの出力、クロマキー合成装置１０６によるクロマキー合成処理の開始を行う。
【００４９】
なお、クロマキー合成装置１０６に入力されるカメラ１０１からの実写映像と、ワークステーション１０２からの背景のＣＧ映像の同期をとるため、カメラ１０１からの実写映像はクロマキー合成装置１０６内の不図示のメモリ内に蓄積しておき、適当な時間（理想的にはワークステーション１０２からのＣＧ映像が入力されたタイミングと、このＣＧ映像を生成する際に用いたカメラ１０１の位置姿勢による実写映像が入力されたタイミングとの差分時間）遅延させて用いる。なお、この遅延時間は予め測定しておく。例えば、カメラ１０１からの実写映像とワークステーション１０２からの背景のＣＧ映像とに夫々「生成された時間」の情報（生成時間情報）を付加しておき、夫々同じ生成時間情報を有する映像がクロマキー合成装置１０６に入力された時間のずれを測定する。その結果、このずれが遅延時間となる。
【００５０】
またワークステーション１０３は、クロマキー合成装置１０６から入力される映像と、位置姿勢計測装置１０４から入力される位置姿勢データの同期をとるため、位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データをＲＡＭ４０２内に蓄積しておき、適当な時間（理想的には位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データが入力されたタイミングと、この位置姿勢データを用いたクロマキー合成装置１０６からの映像が入力されたタイミングとの差分時間）遅延させて用いる。
【００５１】
上述のワークステーション１０２、ワークステーション１０３夫々の処理のフローチャートを図１４，１５に示し、以下説明する。なお、夫々のフローチャートに従ったプログラムコードは夫々のワークステーションのぞれぞれの外部記憶装置４０４内に保存され、必要に応じてＲＡＭ４０２に読み出され、夫々のワークステーション内の夫々のＣＰＵ４０１により読み出され、実行される。
【００５２】
まずワークステーション１０２における処理について説明する。まず同期待ちとなり（ステップＳ１４０１）、処理を開始するとまず、位置姿勢計測装置１０４からカメラ１０１の位置姿勢データを入力する（ステップＳ１４０２）。入力された位置姿勢データを上述の通り適当な時間遅延させたこの位置姿勢データに基づいて、背景のＣＧ映像を生成する（ステップＳ１４０４）。そして生成された背景のＣＧ映像を出力する（ステップＳ１４０５）。
【００５３】
次にワークステーション１０３における処理について説明する。まず同期待ちとなり（ステップＳ１５０１）、処理を開始するとまずカメラ１０１から実写映像をキャプチャする（ステップＳ１５０２）。そして位置姿勢計測装置１０４からカメラ１０１の位置姿勢データを入力する（ステップＳ１５０３）。ステップＳ１５０２とステップＳ１５０３の各処理の順序は逆でも良いし、並列に行っても良い。そして次にキャプチャした実写映像をＲＡＭ４０２内で描画する（ステップＳ１５０４）。そして、入力したカメラ１０１の位置姿勢データのうち、予め測定したフレーム数遅延させた位置姿勢データに基づいて、前景仮想物体映像を生成するためのビューイング変換行列を算出し（ステップＳ１５０５）、算出されたビューイング変換行列に基づいて生成された前景仮想物体映像をクロマキー合成装置１０６からの映像に合成し、複合現実感映像を生成する（ステップＳ１５０６）。そして生成された複合現実感映像を出力する（ステップＳ１５０７）。
【００５４】
なおクロマキー合成装置１０６における処理のフローチャートは図１０におけるフローチャートにおいて、ステップＳ１００２で実写映像と背景のＣＧ映像を入力し、ステップＳ１００３で入力したこれらの映像のクロマキー合成を行うとしたフローチャートである。
【００５５】
なお本実施形態におけるワークステーション１０２，ワークステーション１０３は、一つのプロセッサ（ＣＰＵ４０１）でカメラ１０１の位置姿勢データの受付とその他の処理の制御を行っている。つまりワークステーション１０２ではカメラ１０１の位置姿勢データの受付と背景画像の生成を行っている。一方、ワークステーション１０３では、一つのプロセッサで位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データの受付と、クロマキー合成装置１０６からの映像の受付を行っている。
【００５６】
しかしそれ以外にも、夫々のワークステーション内に位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データの受信専用プロセッサを新たに設けても良い。つまり、この受信専用プロセッサは定期的に位置姿勢計測装置１０４からのカメラ１０１の位置姿勢データを受信し、夫々のワークステーション内のＲＡＭ４０２に蓄積する。この蓄積に要する時間はほぼ０に等しい。しかし、夫々のワークステーション内ではこの他にもＣＧ映像の生成待ち、クロマキー合成装置１０６からの映像の入力待ち行っている。そのために夫々のワークステーション内の受信専用プロセッサにはウェイト時間（待っている時間分の）を設ける必要がある。あるいはウェイトをせず、単に「カメラの位置姿勢データの受信→ＲＡＭ４０２に蓄積」という処理を繰り返すだけでも良い。そして過去の位置姿勢データを処理に用いる場合には、ＲＡＭ４０２内で用いる時刻の位置姿勢データを参照すればよい。
【００５７】
以上の方法は映像を扱うプロセッサを映像データを受信する専用のプロセッサと、映像データを処理するプロセッサとで分けた場合で、映像データを遅延させる際にも適応させることができる。
【００５８】
［第５の実施形態］
又上述の実施形態において、前景と背景の合成にはクロマキー合成以外にも例えばルミナンスキー合成技術を用いても良い。また、上述の実施形態では複合現実感映像はモニタ１０７に出力していたが、これに限らずに、例えばビデオなどに出力して、録画しても良い。
【００５９】
［第６の実施形態］
上述の実施形態では複合現実感映像を生成する際の生成の同期をとっていたが、この同期をとらなくても大きく問題にならないために同期処理を行わない場合もある。その際の映像処理装置の構成としては、図１、図２、図１２，図１３において同期信号発生器１０５は必要が無く、また、上述の各部のウェイトを設ける必要もない。
【００６０】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図８、及び／又は図９、及び／又は図１０、及び／又は図１４、及び／又は図１５、及び／又は図１６に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００６３】
【発明の効果】
以上の説明した通り本発明によれば、撮像手段の位置、姿勢に依存することなく、合成対象領域のみ現実空間と仮想物体との合成を行い、同期のとれた映像を生成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における映像処理装置の概略構成を示す模式図である。
【図２】本発明の第１の実施形態における映像処理装置が行う処理の大まかな流れを示すブロック図である。
【図３】カメラ１０１でクロマキー色の背景板を背景に現実物体の撮像を行う様子を示す図である。
【図４】ワークステーション１０２，１０３の内部構成を示す図である。
【図５】クロマキー合成装置１０６が行うクロマキー合成処理を説明する図である。
【図６】ワークステーション１０２、１０３が行う映像の生成処理及び出力のタイミングチャートを示す図である。
【図７】背景の生成方法を説明する図である。
【図８】本発明の第１の実施形態におけるワークステーション１０２が行う処理のフローチャートである。
【図９】本発明の第１の実施形態におけるワークステーション１０３が行う処理のフローチャートである。
【図１０】本発明の第１の実施形態におけるクロマキー合成装置１０６が行う処理のフローチャートである。
【図１１】クロマキー合成パラメータテーブルの構成例を示す図である。
【図１２】本発明の第２の実施形態における映像処理装置の概略構成を示す図である。
【図１３】本発明の第２の実施形態における映像処理装置が行う処理の大まかな流れを示すブロック図である。
【図１４】本発明の第２の実施形態における映像処理装置が行う処理のフローチャートである。
【図１５】本発明の第２の実施形態における映像処理装置が行う処理のフローチャートである。
【図１６】クロマキー合成パラメータテーブルを参照して、カメラ１０１の位置姿勢データが与えられた際に、対応するクロマキー合成パラメータを特定する処理のフローチャートである。
【図１】
0003631117.tif 000002
【図２】
0003631117.tif 000003
【図３】
0003631117.tif 000004
【図４】
0003631117.tif 000005
【図５】
0003631117.tif 000006
【図６】
0003631117.tif 000007
【図７】
0003631117.tif 000008
【図８】
0003631117.tif 000009
【図９】
0003631117.tif 000010
【図１０】
0003631117.tif 000011
【図１１】
0003631117.tif 000012
【図１２】
0003631117.tif 000013
【図１３】
0003631117.tif 000014
【図１４】
0003631117.tif 000015
【図１５】
0003631117.tif 000016
【図１６】
0003631117.tif 000017