説明

画像生成装置及び方法

【課題】自然な操作感を保ちながら、視点位置にCGオブジェクトを接近させた状態の画像を安定して提供可能にする、及び/又は、大きなCGオブジェクトの全体を観察可能とすべくCGオブジェクトを視点位置から遠ざけた状態の画像を提供可能にする。
【解決手段】第1検出手段により現実画像を撮影するビデオカメラの位置、姿勢を検出し、第2検出手段によりコンピュータグラフィックス(CG)画像を生成すべき位置、姿勢を検出し、第1及び第2検出手段による位置、姿勢の検出結果に基づいて現実画像とCGが合成される。ここで、第1及び第2検出手段で検出された位置間の距離が所定範囲にあるか否かが判定され、所定範囲外にあると判定された場合は、第2検出手段で検出された位置よりCGの生成すべき位置を変更する(S205)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成技術に関し、より具体的には、現実世界の映像とコンピュータによって生成された映像を重畳し、かつ、両者の映像を位置合わせして表示することができる複合現実感画像の提示に関するものである。
【背景技術】
【0002】
従来より、現実世界の映像と、3次元モデリングされたコンピュータ画像(CG)による映像を重畳して表示し、あたかも現実の世界中にCGで描かれた物体(仮想物体)が存在しているかのように見せることができるような複合現実感(MR:Mixed Reality)を提示する装置が存在する(特許文献1)。この種の装置は、現実の映像を撮影するための現実映像撮影部(たとえばビデオカメラ)と、現実の映像を撮影している位置から見たようにCG映像を作り出すCG映像生成部と、両者を合成して表示することのできる映像表示部(たとえばHMD(ヘッドマウントディスプレイ)またはモニタ)を備える。また、現実映像撮影部の視線の位置姿勢が変化してもCGと現実映像との位置関係を正しく表示するために、現実映像撮影部(ビデオカメラ)の視線位置と視線方向を検出するための、視線位置姿勢検出部(たとえば位置姿勢センサ)を備えている。
【0003】
CG映像生成部は、3次元モデリングされたCGを、現実空間と同じスケールの仮想空間に置き、視線位置姿勢検出部によって検出された視線位置、視線方向から観察されたものとしてCGをレンダリングする。このようにして生成されたCG映像と現実の映像とを重畳すると、結果として、現実映像撮影部がどの視線位置・視線方向から観察した場合でも、現実空間の中に正しくCGで生成された映像が置かれているような映像を表示ことができる。CGの種類や配置の変更、アニメーションなどは、一般的なCGと同様に、自由に行える。CGの位置を指定するためにもうひとつ位置姿勢センサを設けて、この位置姿勢センサの値に従った場所にCGを描画することも可能である。更に、そのような構成において、CGの位置を決定するための位置姿勢センサを手に持ち、観察者が自在にCGの位置、姿勢を変化させながらCGを観察することが従来より行われている。
【0004】
なお、現実空間の映像を撮影する現実映像撮影部は、たとえばビデオカメラであり、カメラの視線方向にある映像を撮影し、メモリ中にキャプチャする。現実空間の映像とCGとを合成して表示する映像表示装置としては、たとえばHMD(ヘッドマウントディスプレイ)が用いられる。通常のモニタでなくHMDを用いて、さらに上記ビデオカメラをHMDの視線方向に装着することにより、観察者が向いている方向の映像をHMDに映し出すことができ、かつ、その方向を向いたときのCGの描画も行えるため、観察者の没入感を高めることができる。
【0005】
なお、映像表示装置は、ビデオカメラを備えずにHMD前面の様子をそのままシースルーで観察できるような、光学シースルー式と呼ばれるHMDであってもよい。この場合は先に説明した現実映像撮影部はビデオ撮影によるものではなく光学的にHMDの前面の現実空間を表示装置にそのまま映し出すものとなる。このようなタイプのHMDでは、観察者の前面の風景はデジタル処理なしでそのままシースルーで観察でき、さらにその画面にCGを重畳して表示することができる。
【0006】
また、位置姿勢検出部としては、磁気方式による位置姿勢センサなどが用いられ、これを上記ビデオカメラ(またはビデオカメラが取り付けられているHMD)に取り付ることによって、ビデオカメラの視線の位置姿勢を検出する。磁気方式の位置姿勢センサとは、磁気発生装置(発信機)と磁気センサ(受信機)との間の相対位置・姿勢を検出するものであり、米国ポヒマス(Polhemus)社の製品FASTRAK(商標)などがあげられる。これは特定の領域内で、センサの3次元位置(X,Y,Z)と姿勢(Roll, Pitch, Yaw)をリアルタイムに検出する装置である。
【0007】
上記の構成により、観察者はHMDを通じて、現実映像とCG映像が重畳された世界を観察することができるようになる。例えば、HMDを装着した観察者が周囲を見回すと、HMDに備え付けられた現実映像撮影装置(ビデオカメラ)が現実の映像を撮影し、HMDに備え付けられた視線位置姿勢検出部(位置姿勢センサ)がビデオカメラの位置視線方向を検出し、これに応じてCG映像生成部はその視線位置・姿勢から見たCG映像を生成(レンダリング)し、これを現実映像に重畳して表示する。
【特許文献1】特開2000−350859号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来のシステムでは、手で保持した位置姿勢センサの場所にCGオブジェクトを描画する場合、次のような課題が存在した。即ち、
(1)CGの内部を観察するためにセンサを目に近付けると、HMDの電気や金属などの影響でセンサが誤動作し、CGの表示位置が不安定となっていた。
(2)大きなCGオブジェクトを表示した場合には、レシーバを持った手をいっぱいまで伸ばしても十分に遠ざけることができず、CGオブジェクト全体を観察することができなかった。
【0009】
本発明は上記の課題に鑑みてなされたものであり、自然な操作感を保ちながら、視点位置にCGオブジェクトを接近させた状態の画像を安定して提供可能にすること、及び/又は、大きなCGオブジェクトの全体を観察可能とすべくCGオブジェクトを視点位置から遠ざけた状態の画像を提供可能にすることを目的とする。
【課題を解決するための手段】
【0010】
上記の目的を達成するための本発明による画像生成装置は以下の構成を備える。即ち、
撮影手段によって撮影された現実画像にコンピュータ画像を重畳した画像を生成する画像生成装置であって、
前記撮影手段の位置、姿勢を検出する第1検出手段と、
前記コンピュータ画像を生成すべき位置、姿勢を検出する第2検出手段と、
前記第1及び第2検出手段によって検出された位置、姿勢に基づいて、前記撮像手段によって得られた現実画像に前記コンピュータ画像を合成する合成手段と、
前記第1及び第2検出手段で検出された位置間の距離が所定範囲にあるか否かを判定する判定手段と、
前記判定手段により前記関係が所定範囲外にあると判定された場合、前記コンピュータ画像の生成すべき位置を変更する変更手段とを備える。
【0011】
また、上記の目的を達成するための本発明による画像生成方法は、
撮影手段によって撮影された現実画像にコンピュータ画像を重畳した画像を生成する画像生成方法であって、
前記撮影手段の位置、姿勢を検出する第1検出工程と、
前記コンピュータ画像を生成すべき位置、姿勢を検出する第2検出工程と、
前記第1及び第2検出工程によって検出された位置、姿勢に基づいて、前記撮像手段によって得られた現実画像に前記コンピュータ画像を合成する合成工程と、
前記第1及び第2検出工程で検出された位置間の距離が所定範囲にあるか否かを判定する判定工程と、
前記判定工程により前記関係が所定範囲外にあると判定された場合、前記コンピュータ画像の生成すべき位置を変更する変更工程とを備える。
【発明の効果】
【0012】
本発明によれば、自然な操作感を保ちながら、視点位置にCGオブジェクトを接近させた状態の画像を安定して提供することが可能となる、及び/又は、大きなCGオブジェクトの全体を観察可能とすべくCGオブジェクトを視点位置から遠ざけた状態の画像を提供することが可能となる。
【発明を実施するための最良の形態】
【0013】
以下、添付の図面を参照して、本発明の好適な実施形態について説明する。
【0014】
<第1実施形態>
図1は、第1実施形態による複合現実感提示システムの構成を示すブロック図である。図1に示されるように、バス102を介して、位置姿勢センサコントローラ103、HMDコントローラ130、メモリ106,107がCPU101に接続されている。HMDコントローラ130にはHMD104及びビデオカメラ105が接続され、ビデオカメラ105からの映像の入力や、HMDへ表示すべき映像の出力を制御する。位置姿勢センサコントローラ103には位置姿勢センサ108,109が接続されている。位置姿勢センサ108はHMD104にとりつけられ、HMD104にとりつけられたビデオカメラ106の視線位置姿勢を検出するために用いられる。一方、位置姿勢センサ109はMR空間に表示するCGの位置姿勢を指定するためのものである。また、ここではセンサは2つとしたがこれに限られるものではなく、システムにおいて必要なだけ設けることが可能である。この場合、複数のCGを各位置姿勢センサに割り当てることも可能である。また、HMDを2つ以上用意して観察者を2人以上とするものであってもかまわない。
【0015】
なお、ビデオカメラ105の視線位置姿勢によって表されるビデオカメラ105の位置(視線位置)は、観察者の位置、即ち視点位置となる。以下の実施形態では、このような視点位置を視線位置と称することにする。
【0016】
メモリ106に含まれる、参照番号110〜116で示される各部は、対応する処理部の機能をCPU101によって実現するための制御プログラムである。また、メモリ107に格納される、参照番号120〜129で示される各データ、パラメータは、本実施形態の複合現実感提示処理の実行に際して用いるべく保持されているものである。なお、メモリ106と107は同じものであっても構わない。メモリ106,107の各部の機能や各領域については、以下に詳述する複合現実感提示動作により明らかとなろう。
【0017】
メモリ106内の移動設定部116は、CGオブジェクトが視線位置に所定距離よりも近づいた場合や、視線位置から所定距離よりも遠ざかった場合をどのように判定し、どのようにオブジェクト位置を移動させるかを設定するものである。具体的には、メモリ107の近限界距離125、遠限界距離126、近倍率127、遠倍率128の各値を設定する。
【0018】
近限界距離125は、CGオブジェクトが視線位置に対してどこまで近づいてきたら当該オブジェクトの移動処理を行うかを指定する値である。同様に、遠限界距離126は、CGオブジェクトが視線位置からどこまで遠ざかったら移動処理を行うかを指定する値である。近倍率127は、CGオブジェクトが近限界距離125よりも視線位置に近づいてきたときに、実際の距離よりもどれくらい視点に近づけて表示するかを指定する係数である。なお、この近倍率127を用いたCGオブジェクト位置の計算の詳細はCGオブジェクト移動部115の処理の説明の中で述べる。また、遠倍率128は、CGオブジェクトが遠限界距離126よりも視線位置から遠ざかったときに、実際の距離よりもどれくらい視点から遠ざけて表示するかを指定するものである。この遠倍率128を用いたCGオブジェクト位置の計算の詳細についてもCGオブジェクト移動部125の処理の説明の中で述べる。以上の各値は、移動設定部116が不図示のユーザインターフェースを提供することにより、複合現実感画像の提示に先立ってシステムにセットしておくものとする。この場合のユーザインターフェースの形態等はいかようなものであってもかまわない。
【0019】
次に、本実施形態による画像提示処理の全体の流れについて説明する。図2は、全体の処理の流れを説明するためのフローチャートである。
【0020】
まずステップS201において、現実映像撮影部110は、ビデオカメラ105を用いて撮影した映像をキャプチャし、現実画像120としてメモリ107に書き込む。次にステップS202において、位置姿勢検出部112は、位置姿勢センサ108を用いてビデオカメラ105の位置姿勢を検出し、これを視線位置姿勢121としてメモリ107に記録する。続いて、ステップS203において、位置姿勢検出部112は更に、位置姿勢センサ109の位置姿勢を検出し、これをCG位置姿勢122としてメモリ107に記録する。
【0021】
次に、ステップS204において、CGオブジェクト距離算出部114は、ビデオカメラ105の視線位置とCGの位置(それぞれ視線位置姿勢121、CG位置姿勢122として記録されている)との間の距離を求める。空間上の2点p1(x1,y1,z1)とp2(x2,y2,z2)の間の距離Lは、
L = √{(x2−x1)2 + (y2−y1)2 + (z2−z1)2}
によって求まる。CGオブジェクト距離算出部114は上記式により算出した値をオブジェクト距離129としてメモリ107に記録する。
【0022】
次に、ステップS205で、CGオブジェクト移動部115は、CGオブジェクトの位置とビデオカメラの視線位置との位置関係が所定の条件を満たすかか否かを判断し、満たす場合にはCGオブジェクトを移動し、CG位置姿勢122を更新する。CGオブジェクト移動部115の処理については図3乃至図5を参照して後述する。
【0023】
次に、ステップS206において、CG映像生成部111は、CG映像をCG画像124としてメモリ107に書き込む。なお、CGは、従来の複合現実感提示装置と同様に、CG位置姿勢122で決定される位置及び姿勢で存在するCGモデルを、視線位置姿勢121で決定されるビデオカメラの位置姿勢から見たように、CGモデルデータ123をレンダリングするものである。
【0024】
ステップS207では、映像表示部113によって、メモリ107に記録された現実画像120とCG画像124を合成して、複合現実感画像(MR画像)を生成し、これを表示装置(本例ではHMD106)に表示する。
【0025】
以上で一画面分のMR画像を表示できることになるが、この処理全体を次々とくり返し連続して行うことで、動画としてMR画像を提示することが可能である。
【0026】
次に、CGオブジェクト移動部115の詳細を説明する。図3はCGオブジェクト移動手段部115による処理を説明するフローチャートである。なお、以下、Pe(Xe,Ye,Ze)は視線位置を示す位置ベクトル、Ps(Xs,Ys,Zs)は位置姿勢センサ109が示す位置を示す位置ベクトル、Po(Xo,Yo,Zo)はCGオブジェクト移動部115によって移動する先のCGオブジェクト位置を示す位置ベクトルである。また、各位置間の距離は、L(Pn,Pm)と記述し、これにより2点PnとPmの間の距離を示す。例えばL(Pe,Ps)はセンサ位置Psと視線位置Peの間の距離である。また図1におけるメモリ107の近限界距離125はLn、遠限界距離126はLf、近倍率127はMn、遠倍率128はMfと記載する。
【0027】
CGオブジェクト移動部115は、まず、ステップS301において、オブジェクト距離129が近限界距離125よりも視線位置に近いかどうかを判定する。近いと判定された場合はステップS303において図4の(A)で後述する方法によりオブジェクト位置を計算し、CGオブジェクト表示位置を変更する。近くない場合はステップS302に進む。
【0028】
ステップS302では、オブジェクト距離129が遠限界距離126よりも遠いかどうかを判定する。遠いと判定された場合はステップS304において、図4の(B)で後述する方法によりオブジェクト位置を計算し、CGオブジェクト表示位置を変更する。遠くない場合はそのまま本終了する。
【0029】
まず、図4の(A)を参照して、ステップS303におけるオブジェクト位置の計算方法について述べる。図4の(A)では、位置姿勢センサ109の位置Psが近限界距離125(Ln)よりも視線位置Peに近い場合を示している。なお、図4の(A)における、Pi(Xi,Yi,Zi)は、PeからPsへ結んだ先の直線上にあり、Peとの距離がLn(あらかじめ設定された近限界距離126)であるような位置を示す位置ベクトルである。したがって、Piは、
Pi = Pe + U(Pe,Ps)×Ln
のように表すことができる。上式中U(Pe,Ps)は、PeからPsに向かう単位ベクトルを表すものとする。
【0030】
このとき、移動させるべきオブジェクトの位置を示す位置ベクトルPoは、次式、
Po = Ps + (Ps − Pi)×Mn
によって求まる。なお、上式の(Ps − Pi)は点Piから点Psへのベクトルを示す。即ち、近限界距離125よりも視線位置に近い位置に位置姿勢センサ109が存在する場合は、CGオブジェクトの位置が、より視線位置に近い位置Poに変更される。なお、移動量は近倍率127(Mn)の値により調整することができる。
【0031】
以上のようなオブジェクトの位置調整を行なうことにより、位置姿勢センサ109を極端に目(視線位置)に近づけなくてもCGオブジェクトを視点に近づけることが可能となる。このため、HMD104の電気や金属などの影響でセンサが誤動作してCGの表示位置が不安定となるといったことなく、CGオブジェクトを近距離で観察することができる。
【0032】
次に、図4の(B)を参照して、ステップS304におけるオブジェクト位置の計算方法について述べる。図4の(B)では、位置姿勢センサ109の位置が遠限界距離126よりも位置姿勢センサ108によって検出された視線位置から遠い場合を示している。図4(B)中のPi(Xi,Yi,Zi)は、PeからPsを結んだ線分上にあり、Peとの距離がLf(あらかじめ設定された遠限界距離126)であるような位置を示す位置ベクトルである。この場合、Piは
Pi = Pe + U(Pe,Ps)×Lf
のように表すことができる。上式中のU(Pe,Ps)は、PeからPsに向かう単位ベクトルを表すものとする。
【0033】
このとき、移動させるべきオブジェクトの位置を示す位置ベクトルPoは、次式、
Po = Ps + (Ps − Pi)×Mf
によって求まる。上式において、(Pi - Ps)は点Piから点Psへのベクトルを示す。このように、遠限界距離126よりも視線位置から遠い位置に位置姿勢センサ109が存在する場合は、CGオブジェクトの位置が、より視線位置から遠い位置Poに変更される。なお、移動量は遠倍率128(Mf)の値により調整することができる。
【0034】
以上のようなオブジェクトの位置調整を行なうことにより、位置姿勢センサ109を持った手をいっぱいに遠ざけても全体が確認できないような大きなCGオブジェクトの全体像を、手を伸ばしてセンサ109を遠ざけるだけで観察することが可能になる。
【0035】
以上説明したように、第1実施形態によれば、位置姿勢センサ109を目(HMD)に近づけずにCGオブジェクトを視点に近づけることが可能となる。このため、HMD104の電気や金属などの影響で位置姿勢センサ109が誤動作してCGの表示位置が不安定となることなく、近接した状態のCGオブジェクトを観察できる。また、位置姿勢検出船さ109を持った手をいっぱいに遠ざけても全体が確認できないような大きなCGオブジェクトの全体についても、手をいっぱいに伸ばすだけで観察することが可能になる。更に、視点から通常の距離にあるCGオブジェクトであれば位置姿勢センサ109を持った手の位置に表示することができるとともに、その範囲からCGオブジェクトが視点に近い、または遠い状態に移行したときもそれほどの違和感を生じずに位置移動を行う複合現実感を提示可能となる。
【0036】
<第2実施形態>
遠倍率128に関して、第1実施形態では事前になんらかの値を設定しておくものとしている。第2実施形態では観察対象のオブジェクトの大きさに応じて遠倍率を設定可能とする。例えば、位置姿勢センサ109を手に持って最大限に腕を伸ばした位置でCGオブジェクトのおおよそ全体が映像表示装置(例えばHMD)の画面に表示できる位置まで遠ざけるような遠倍率を計算し、遠倍率128として決定することが可能である。第2実施形態ではこの処理について説明する。
【0037】
図5、図6は、第2実施形態による遠倍率128の決定方法を説明するための図である。図5において、映像表示装置の画角θは既知であり、表示対象のCGオブジェクトの全体を包み込むバウンダリボックス501のサイズも既知であるものとする。映像表示装置の画角とCGオブジェクトのサイズがわかれば、CGオブジェクトが視点からどれくらい離れていればCG全体が画面に表示できるかどうかを計算することが可能である。CGオブジェクト全体が画面に表示できるようなCGオブジェクトと視点との間の距離を、図5に示すようにPfとする。
【0038】
今、図6に示すように、CGオブジェクトの位置を指定するための姿勢位置センサ109を持った観察者が、位置姿勢センサ109を持った腕を伸ばしきった状態での、位置姿勢センサ109の位置と視線位置(位置姿勢センサ108による検出位置)との間の距離をSfとする。第1実施形態と同様に、遠限界距離126をLfとする。手を伸ばした状態でCGオブジェクトの全体を観察できるようにするためには、この状態(距離がSfの状態)でCGオブジェクトは視点からPfの距離に表示されるようにすればよい。
【0039】
図6の場合において、CGオブジェクトと視線位置との間の距離Pfは、遠倍率をMfとすると、
Pf = Sf + (Sf−Lf)×Mf
であるので、遠倍率Mfは、
Mf = (Pf − Sf)/(Sf − Lf)
となる。
【0040】
表示装置の画角と表示するCGオブジェクトのサイズと最大に腕を伸ばした状態での視線位置と位置姿勢センサ109から得られるセンサ位置との間の距離が既知であれば、遠倍率128を上述のように自動的に設定することが可能である。これによって位置センサを持った腕を伸ばした状態でCG全体を観察できるような遠倍率の設定を自動的に行うことができる。
【0041】
この場合、ユーザは、例えばCGオブジェクトのサイズと画像表示装置の画角θから当該CGオブジェクトの全体が画面に収まる距離Pfを求め、メモリ107に記録しておく(CPU101により自動的に算出するようにしてもよい)。そして、例えば位置姿勢センサ109を持った手をいっぱいに伸ばした状態で所定の指示入力を与えることで、その状態で検出される視線位置とオブジェクト位置の距離をSfに決定する。上記PfとSf、及び予め設定された遠限界距離Lfにより、上記式を用いてMfが算出されるので、これを遠倍率128としてメモリ107に記録する。以降の処理は第1実施形態と同様であるので説明を省略する。
【0042】
以上説明したように、上記各実施形態によれば、位置姿勢検出センサ109が視線位置から通常の距離(近限界距離125の位置と遠限界距離126の位置の間)にあるCGオブジェクトであれば、位置姿勢検出センサ109によって決定される位置にCGオブジェクトが表示され、その範囲からCGオブジェクトが視線位置に近い、または遠い状態に移行した場合には、それぞれ近倍率127、遠倍率128にしたがってCGオブジェクトの位置が変更される。上記実施形態では、近限界距離125の位置よりも視線位置側に位置姿勢検出センサ109が存在する場合には、CGオブジェクトの位置をより視線位置側に近づけて描画され、遠限界距離126の位置よりも遠い位置に位置姿勢検出センサ109が存在する場合には、CGオブジェクトの位置をより遠くに変更して描画される。
【0043】
以上のように、第2実施形態によれば、CGオブジェクトのサイズに応じて適切な遠倍率128が自動的に設定されるので、操作性が向上する。
【0044】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0045】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0046】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0047】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0048】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0049】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0050】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0051】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0052】
【図1】実施形態による複合現実感提示システムの構成を示すブロック図である。
【図2】実施形態による複合現実感提示処理を説明するフローチャートである。
【図3】実施形態によるCGオブジェクト位置の変更処理を説明するフローチャートである。
【図4】CGオブジェクトの移動処理を説明する図である。
【図5】第2実施形態による、CGオブジェクトの全体を表示可能とするCGオブジェクトと視線位置の関係を説明する図である。
【図6】第2実施形態による遠倍率の計算方法を説明する図である。

【特許請求の範囲】
【請求項1】
撮影手段によって撮影された現実画像にコンピュータ画像を重畳した画像を生成する画像生成装置であって、
前記撮影手段の位置、姿勢を検出する第1検出手段と、
前記コンピュータ画像を生成すべき位置、姿勢を検出する第2検出手段と、
前記第1及び第2検出手段によって検出された位置、姿勢に基づいて、前記撮像手段によって得られた現実画像に前記コンピュータ画像を合成する合成手段と、
前記第1及び第2検出手段で検出された位置間の距離が所定範囲にあるか否かを判定する判定手段と、
前記判定手段により前記関係が所定範囲外にあると判定された場合、前記コンピュータ画像の生成すべき位置を変更する変更手段とを備えることを特徴とする画像生成装置。
【請求項2】
前記変更手段は、前記第1及び第2検出手段で検出された位置の距離が第1所定距離よりも長い場合に、前記コンピュータ画像を生成すべき位置を前記撮影手段の位置からより遠くへ離れるように変更することを特徴とする請求項1に記載の画像生成装置。
【請求項3】
前記変更手段は、前記第1及び第2検出手段で検出された位置の距離が第2所定距離よりも短い場合に、前記コンピュータ画像を生成すべき位置を前記撮影手段の位置により近づくように変更することを特徴とする請求項1又は2に記載の画像生成装置。
【請求項4】
前記変更手段は、前記第1及び第2検出手段によって検出された位置間の距離と前記第1所定距離との距離差を算出し、該距離差と所定の第1係数に基づいて移動距離を算出し、前記第2検出手段で検出された位置に対して、前記第1検出手段で検出された位置から遠ざかる方向に前記移動距離を加えて得られた位置を前記コンピュータ画像の生成すべき位置とすることを特徴とする請求項2に記載の画像生成装置。
【請求項5】
前記変更手段は、前記第1及び第2検出手段によって検出された位置間の距離と前記第2所定距離との距離差を算出し、該距離差と所定の第2係数に基づいて移動距離を算出し、前記第2検出手段で検出された位置に対して、前記第1検出手段で検出された位置に近づくように前記移動距離を加えて得られた位置を前記コンピュータ画像の生成すべき位置とすることを特徴とする請求項3に記載の画像生成装置。
【請求項6】
前記第1係数は、前記生成されるコンピュータ画像の大きさと画像表示装置の画角とに基づいて、前記第1及び第2検出手段で検出された位置間の距離がユーザによって指定された距離において、前記コンピュータ画像の全体が該画像表示装置の画面内に収まる大きさとなる距離に変換されるように設定されることを特徴とする請求項4に記載の画像生成装置。
【請求項7】
撮影手段によって撮影された現実画像にコンピュータ画像を重畳した画像を生成する画像生成方法であって、
前記撮影手段の位置、姿勢を検出する第1検出工程と、
前記コンピュータ画像を生成すべき位置、姿勢を検出する第2検出工程と、
前記第1及び第2検出工程によって検出された位置、姿勢に基づいて、前記撮像手段によって得られた現実画像に前記コンピュータ画像を合成する合成工程と、
前記第1及び第2検出工程で検出された位置間の距離が所定範囲にあるか否かを判定する判定工程と、
前記判定工程により前記関係が所定範囲外にあると判定された場合、前記コンピュータ画像の生成すべき位置を変更する変更工程とを備えることを特徴とする画像生成方法。
【請求項8】
前記変更工程は、前記第1及び第2検出工程で検出された位置の距離が第1所定距離よりも長い場合に、前記コンピュータ画像を生成すべき位置を前記撮影手段の位置からより遠くへ離れるように変更することを特徴とする請求項7に記載の画像生成方法。
【請求項9】
前記変更工程は、前記第1及び第2検出工程で検出された位置の距離が第2所定距離よりも短い場合に、前記コンピュータ画像を生成すべき位置を前記撮影手段の位置により近づくように変更することを特徴とする請求項7又は8に記載の画像生成方法。
【請求項10】
前記変更工程は、前記第1及び第2検出工程によって検出された位置間の距離と前記第1所定距離との距離差を算出し、該距離差と所定の第1係数に基づいて移動距離を算出し、前記第2検出工程で検出された位置に対して、前記第1検出工程で検出された位置から遠ざかる方向に前記移動距離を加えて得られた位置を前記コンピュータ画像の生成すべき位置とすることを特徴とする請求項8に記載の画像生成方法。
【請求項11】
前記変更工程は、前記第1及び第2検出工程によって検出された位置間の距離と前記第2所定距離との距離差を算出し、該距離差と所定の第2係数に基づいて移動距離を算出し、前記第2検出工程で検出された位置に対して、前記第1検出工程で検出された位置に近づくように前記移動距離を加えて得られた位置を前記コンピュータ画像の生成すべき位置とすることを特徴とする請求項9に記載の画像生成方法。
【請求項12】
前記第1係数は、前記生成されるコンピュータ画像の大きさと画像表示装置の画角とに基づいて、前記第1及び第2検出工程で検出された位置間の距離がユーザによって指定された距離において、前記コンピュータ画像の全体が該画像表示装置の画面内に収まる大きさとなる距離に変換されるように設定されることを特徴とする請求項10に記載の画像生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−277618(P2006−277618A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−99413(P2005−99413)
【出願日】平成17年3月30日(2005.3.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】