(57)【要約】【課題】  複合現実感の提示中にユーザ視点が計測不能になっても、ユーザにはその理由および現在の計測制度が提示されないため、より良い計測精度を得るために移動することは困難であった。【解決手段】  予め、視点検出装置によるユーザ視点計測を可能とする計測可能領域を現実世界に設定し、該計測可能領域に対して計測時に生じるノイズの分布マップを作成しておく。そしてステップＳ３０７でノイズ分布マップに基づいて、現在のユーザの視点位置における視点検出装置による計測状態を判定し、ステップＳ３０８で現在の計測状態を示す情報を前記ユーザに提示する。視点検出装置による計測が不可能である場合にはステップＳ３０６でユーザにその旨を警告する。【選択図】  図５
2007156561.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの視点位置を視点検出装置によって検出し、該視点位置から観測される現実世界画像に仮想世界画像を合成した合成画像を該ユーザに提示する複合現実感提示方法であって、
前記視点検出装置による計測を可能とする計測可能領域に、前記視点検出装置の計測時の計測状態に対応する複数の領域を設定する領域設定工程と、
前記領域設定工程において設定された複数の領域に基づいて、現在のユーザの視点位置における前記視点検出装置による計測状態を判定する計測状態判定工程と、
前記計測状態判定工程で判定された現在の計測状態を示す情報を前記ユーザに提示する計測状態提示工程と、
を備えることを特徴とする複合現実感提示方法。
【請求項２】
前記領域設定工程においては、前記ユーザの視点位置における前記視点検出装置による計測時のノイズ発生量に応じて、前記複数の領域を設定することを特徴とする請求項１記載の複合現実感提示方法。
【請求項３】
前記領域設定工程においては、前記ノイズ発生量のレベルに応じて前記複数の領域を設定することを特徴とする請求項２記載の複合現実感提示方法。
【請求項４】
前記計測状態提示工程においては、前記ノイズ発生量のレベルを計測状態レベルとして提示することを特徴とする請求項３記載の複合現実感提示方法。
【請求項５】
前記計測状態判定工程においては、前記ノイズ発生量が予め定められた範囲外であれば、該視点位置が安全計測領域外であると判定し、
前記計測状態提示工程においては、前記計測状態判定工程で前記ユーザの視点位置が前記安全領域外であると判定された場合、該ユーザに対して安全計測領域外である旨を警告することを特徴とする請求項４記載の複合現実感提示方法。
【請求項６】
前記計測状態提示工程における警告は、前記ユーザに対する音声による警告として行われることを特徴とする請求項５記載の複合現実感提示方法。
【請求項７】
さらに、前記計測状態判定工程において現在のユーザの視点位置が前記計測可能領域内にあるが計測不可能であると判定された場合に、前記視点検出装置による計測が可能な他のユーザにより妨害されたか否かを判定する妨害ユーザ判定工程を有し、
前記計測状態提示工程においては、前記妨害ユーザ判定工程で前記他のユーザにより妨害されたと判定された場合に、現在のユーザに対してその旨を提示することを特徴とする請求項５または６記載の複合現実感提示方法。
【請求項８】
前記計測状態提示工程においては、前記妨害ユーザ判定工程で前記他のユーザによる妨害と判定された場合に、さらに他のユーザに対してその旨を提示することを特徴とする請求項７記載の複合現実感提示方法。
【請求項９】
前記計測状態提示工程においては、前記妨害ユーザ判定工程で前記他のユーザによる妨害でないと判定された場合に、現在のユーザに対し、前記視点検出装置による計測が不可能な物体により妨害された旨を提示することを特徴とする請求項７または８記載の複合現実感提示方法。
【請求項１０】
前記妨害ユーザ判定工程においては、計測不可能となる直前の現在のユーザに対する前記他のユーザの位置に応じて、他のユーザによる妨害であるか否かを判定することを特徴とする請求項７乃至９のいずれかに記載の複合現実感提示方法。
【請求項１１】
前記計測状態提示工程においては、前記計測状態判定工程で判定された現在の計測状態を示す情報を前記合成画像上に示すことを特徴とする請求項１乃至１０のいずれかに記載の複合現実感提示方法。
【請求項１２】
前記計測状態提示工程においては、前記合成画像上に前記領域設定工程で設定された複数の領域を示すことを特徴とする請求項１１記載の複合現実感提示方法。
【請求項１３】
前記計測状態提示工程においてはさらに、前記合成画像上に前記計測可能領域を示すことを特徴とする請求項１２記載の複合現実感提示方法。
【請求項１４】
前記視点検出装置は、ユーザの視点位置および視線方向を検出することを特徴とする請求項１乃至１３のいずれかに記載の複合現実感提示方法。
【請求項１５】
ユーザの視点位置を検出する視点検出装置と、前記視点検出装置によって検出された該視点位置から観測される現実世界画像に仮想世界画像を合成した合成画像を生成する画像処理装置と、前記合成画像を前記ユーザに提示する画像提示装置と、によって構成される複合現実感提示システムであって、
前記画像処理装置は、
前記視点検出装置による計測を可能とする計測可能領域に、前記視点検出装置の計測時の計測状態に対応する複数の領域を設定する領域設定手段と、
前記領域設定手段で設定された複数の領域に基づいて、現在のユーザの視点位置における前記視点検出装置による計測状態を判定する計測状態判定手段と、を有し、
前記画像提示装置は、
前記現実世界画像を撮像する撮像手段と、
前記合成画像を表示する表示手段と、
前記計測状態判定手段で判定された現在の計測状態を示す情報を前記ユーザに提示する計測状態提示手段と、
を有することを特徴とする複合現実感提示システム。
【請求項１６】
前記計測状態判定手段は、前記ユーザの視点位置における前記視点検出装置による計測時のノイズ発生量が予め定められた範囲外であれば、該視点位置が安全計測領域外であると判定し、
前記計測状態提示手段は、前記計測状態判定手段で前記ユーザの視点位置が前記安全計測領域外であると判定された場合、該ユーザに対して安全領域外である旨を警告することを特徴とする請求項１５記載の複合現実感提示システム。
【請求項１７】
前記計測状態提示手段による警告は、前記ユーザに対する音声による警告として行われることを特徴とする請求項１５または１６記載の複合現実感提示システム。
【請求項１８】
前記領域設定手段は、前記ユーザの視点位置における前記視点検出装置による計測時のノイズ発生量に応じて前記複数の領域を設定し、
前記計測状態提示手段は、前記ノイズ発生量のレベルを計測状態レベルとして前記ユーザに提示することを特徴とする請求項１５乃至１７のいずれかに記載の複合現実感提示システム。
【請求項１９】
前記画像処理装置はさらに、前記計測状態判定手段で現在のユーザの視点位置が前記計測可能領域内にあるが計測不可能であると判定された場合に、前記視点検出装置による計測が可能な他のユーザにより妨害されたか否かを判定する妨害ユーザ判定手段を有し、
前記計測状態提示手段は、前記妨害ユーザ判定手段で前記他のユーザにより妨害されたと判定された場合に、現在のユーザに対してその旨を提示することを特徴とする請求項１５乃至１８のいずれかに記載の複合現実感提示システム。
【請求項２０】
前記計測状態提示手段は、前記妨害ユーザ判定手段で前記他のユーザによる妨害でないと判定された場合に、現在のユーザに対し、前記視点検出装置による計測が不可能な物体により妨害された旨を提示することを特徴とする請求項１９記載の複合現実感提示システム。
【請求項２１】
前記妨害ユーザ判定手段は、計測不可能となる直前の現在のユーザに対する前記他のユーザの位置に応じて、他のユーザによる妨害であるか否かを判定することを特徴とする請求項１９または２０記載の複合現実感提示システム。
【請求項２２】
前記計測状態提示手段は、前記計測状態判定手段で判定された現在の計測状態を示す情報を前記合成画像上に示すことを特徴とする請求項１５乃至２１のいずれかに記載の複合現実感提示方法。
【請求項２３】
前記計測状態提示手段は、前記合成画像上に前記領域設定手段で設定した複数の領域を示すことを特徴とする請求項２２記載の複合現実感提示システム。
【請求項２４】
前記計測状態提示手段はさらに、前記合成画像上に前記計測可能領域を示すことを特徴とする請求項２３記載の複合現実感提示システム。
【請求項２５】
前記視点検出装置は、ユーザの視点位置および視線方向を検出することを特徴とする請求項１５乃至２４のいずれかに記載の複合現実感提示システム。
【請求項２６】
前記画像提示装置は、前記ユーザに装着される装置であることを特徴とする請求項１５乃至２５のいずれかに記載の複合現実感提示システム。
【請求項２７】
情報処理装置上で実行されることによって、該情報処理装置を請求項１５乃至請求項２６の何れかに記載された画像処理装置として動作させることを特徴とするプログラム。
【請求項２８】
請求項２７に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実世界画像と仮想世界画像を合成して複合現実感を提示する複合現実感提示方法および複合現実感提示システムに関する。
【背景技術】
【０００２】
近年、現実世界と仮想世界とを違和感なく自然に結合する複合現実感（ＭＲ：Mixed Reality）の技術を応用した装置が数多く提案されている。一般に複合現実感装置においては、カメラなどの撮像装置によって撮影した現実世界の画像に対し、コンピュータグラフィックス（ＣＧ：Computer Graphics）で描画した仮想世界の画像を合成する。そして、該合成された画像をヘッドマウントディスプレイ（ＨＭＤ：Head-Mounted Display）などの表示装置に表示することで、複合現実感を装置のユーザに提示するものである。
【０００３】
これら従来の複合現実感装置においては、現実世界の画像の変化に追従させて仮想世界の画像を生成するために、装置のユーザの視点位置・姿勢をリアルタイムで取得する必要がある。ユーザの視点位置・姿勢を取得するためのセンサ装置は広く知られている。複合現実感装置では、このセンサ装置によって計測したユーザの視点位置・姿勢を仮想世界での仮想の視点位置・姿勢として設定し、この設定に基づいて仮想世界の画像をＣＧにより描画して、現実世界の画像と合成する。
【０００４】
これにより、複合現実感装置のユーザは、あたかも現実世界の中に仮想の物体が存在しているかのような画像を観察することができる。
【０００５】
上述したセンサ装置は、位置・姿勢を計測する方式によって、光学式・磁気式・超音波式、機械式などに分類されるが、いずれの方式においても、無制限に位置・姿勢を計測できるわけではなく、その計測範囲に制約を受けている。
【０００６】
例えば、受動型光学式センサ装置の場合は、発光ダイオード（ＬＥＤ：Light Emitting Diode）などの素子を用いた発光部、およびカメラやラインセンサなどの受光部を備えることによって、計測を行う。すなわち、発光部をセンサ制御装置の制御によって発光させ、受光部がその発光部からの光を捉え、その受光情報に基づいて計測対象の視点位置・姿勢を決定する。
【０００７】
そのため、発光部が発する光を受光部が認識できない状況、例えば、発光部と受光部との距離が離れすぎていたり、発光部と受光部との間に遮蔽物が存在するような状況においては、センサ装置は計測対象の位置・姿勢を計測することができない。さらに、発光部と受光部との距離に応じて、ジッターノイズ（高周波で微細なノイズ）が発生する。この制約は、能動型の光学式センサ装置でも同様である。なお、能動型の光学式センサ装置とは、カメラ側に付けた発光部からの光を再帰性反射マーカで反射させ、その光を捉えることで、位置姿勢計測を行う装置である。
【０００８】
また例えば、磁気式センサ装置の場合には、センサ制御ユニットの制御によって、トランスミッタから磁界を発生させ、レシーバがトランスミッタが発生した磁界の強さを計測する。トランスミッタが発生させた磁界の方向と、レシーバが計測した磁界の強さに基づいて、計測対象の視線位置・姿勢が決定される。そのため、トランスミッタが発生させた磁界をレシーバが正しく感知できない状況、例えば、トランスミッタとレシーバとの距離が離れすぎているような状況では、センサ装置は計測対象の位置・姿勢を計測することができない。さらに、トランスミッタとレシーバとの距離に応じて、やはりジッターノイズは発生する。また、トランスミッタとレシーバとの距離が離れていない場合においても、計測する空間の近傍に金属や磁性体が存在するような場合には、トランスミッタが発生させる磁界が歪むため、計測される位置・姿勢に著しい誤差が生じてしまう。
【０００９】
一般的な複合現実感装置においては、現実世界と仮想世界とを違和感なく結合するために、センサ装置に対して厳密な精度を要求することが多い。このため、位置・姿勢に関して計測誤差が生じるような状況下では、現実問題として、複合現実感装置を使用することはできなくなってしまう。また、位置・姿勢情報にジッターノイズが含まれる場合、体験者に提示する仮想世界がジッターノイズの影響を受け、微細に振動してしまう。その結果、体験者は現実世界と仮想世界の融合に違和感を覚えてしまう。
【００１０】
複合現実感装置のユーザは、必ずしも移動可能領域を意識しながら複合現実感装置を使用するとは限らない。ユーザは、無意識のうちに移動可能領域の外に移動してしまったり、環境中の物体に遮蔽されてしまった際に、センサ装置による適切な計測が不可能となり、仮想のＣＧが正しく描画されなくなった時点で、はじめて異常を認識することが多い。また、この時点で複合現実感装置のユーザは、何らかの異常を感じつつも、その原因が移動可能領域の外側に出てしまったことであると認識できない場合も多い。そのため、複合現実感装置のユーザは異常の発生原因と対処方法がわからず、不安感を抱いてしまう。
【００１１】
このような問題に対処するために、特許文献１によれば、センサ装置の計測対象の位置・姿勢を正確に計測できる範囲を予め定め、ユーザがその計測範囲外に出た場合にユーザにその旨を報知する複合現実感装置が提案されている。この装置においてはさらに、ユーザが環境中の物体および他のユーザによって遮蔽され、センサ装置から見えなくなることによって計測ができなくなった場合にも同様に、ユーザに対する報知を行っている。
【特許文献１】特開2005-165848公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら上記特許文献１に記載された技術においては、ユーザが計測範囲外に出た場合と、ユーザが環境中の物体および他のユーザによって遮蔽された場合とで、同様の報知が行われていた。したがってユーザは、計測がなされない理由が、計測範囲外に出たためであるのか、それとも環境中の物体および他のユーザに遮蔽されたためであるのか、判断できなかった。
【００１３】
また、現在のセンサ精度がどの程度であるのかといった情報も表示されていなかった。そのため、ユーザが精度の良い状態で観測したいという要望を持っていても、どの位置に移動すれば良いかという情報を得ることができなかった。
【００１４】
本発明は上述した課題に鑑みてなされたものである。すなわち、ユーザに対する複合現実感の提示中に、該ユーザに現在の視点計測状態を適切に提示するとともに、計測不能となった場合にもその旨を提示する複合現実感提示方法および複合現実感提示システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための一手法として、本発明の画像処理方法は以下の工程を備える。すなわち、ユーザの視点位置を視点検出装置によって検出し、該視点位置から観測される現実世界画像に仮想世界画像を合成した合成画像を該ユーザに提示する複合現実感提示方法であって、前記視点検出装置による計測を可能とする計測可能領域に、前記視点検出装置の計測時の計測状態に対応する複数の領域を設定する領域設定工程と、前記領域設定工程において設定された複数の領域に基づいて、現在のユーザの視点位置における前記視点検出装置による計測状態を判定する計測状態判定工程と、前記計測状態判定工程で判定された現在の計測状態を示す情報を前記ユーザに提示する計測状態提示工程と、を備えることを特徴とする。
【発明の効果】
【００１６】
以上の構成からなる本発明によれば、ユーザに対する複合現実感の提示中に、該ユーザに現在の視点計測状態を適切に提示するとともに、計測不能となった場合にもその旨を提示することができる。したがって、ユーザを良好な計測地点へ誘導することが簡便かつ合理的に実現される。
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の各実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
＜第１実施形態＞
●複合現実感空間
まず、図６〜図９を参照して、本実施形態の複合現実感提示システムが使用される空間について説明する。図６は、本実施形態の複合現実感提示システム（以降、「本システム」と表記する）で使用されるセンサ装置およびその計測領域を説明する図である。
【００１９】
図６において、センサ装置０１０は、センサ計測領域０２０によって示される領域（図中台形で示された領域）中で、計測対象である本システムのユーザの視点位置・姿勢を計測することができる。センサ計測領域０２０内の色の違いは、計測精度の信頼度を示している。図６においては、センサ装置０１０に最も近い範囲（最も色が濃い範囲）は精度の信頼度が最も高く、センサ装置０１０から離れるほど（色が薄くなるほど）、精度の信頼度が低下していくことを示している。一方、センサ計測領域０２０の外側の領域では、センサ装置０１０は視点位置・姿勢を計測するとはできない。また、センサ計測領域０２０およびその境界線、境界内における計測状態を肉眼で観測することはできない。
【００２０】
図８は、本実施形態におけるセンサ計測領域０２０をさらに詳細に示す図である。同図には、本実施形態における状態予測計測点０３０と計測状態予測範囲レベル０４０〜０４２、および境界計測点０５０が示される。
【００２１】
状態予測計測点０３０は、計測範囲内のある地点における計測値の信頼度を予測しておくために、予め実際の計測を行って、計測値の信頼度を算出した三次元空間中の点である。また、計測状態予測範囲とは、計測範囲において計測値がどの程度信頼できるかを予め計測したデータから予測した範囲のことであり、この計測状態予測範囲の作成方法については、後述する。計測状態予測範囲レベル０４０〜０４２は、計測状態予測範囲を段階的にレベル分けしたものである。レベルの分け方は、構築するシステムによって好適な手段を選択すればよい。
【００２２】
次に境界計測点０５０について、図７を用いて説明する。図７において、本システムのユーザＡはセンサ計測領域２０の内側にいる。すなわち、ユーザＡの状態では、センサ装置０１０からユーザＡの視点位置・姿勢が計測されている。これに対し、ユーザＢは、センサ計測領域０２０の外側にいる。すなわち、ユーザＢの状態では、センサ装置１０によってユーザＢの視点位置・姿勢を計測することはできない。本システムのユーザが、図７に示すユーザＡの状態からユーザＢの状態に移行した時（計測対象がセンサ計測領域０２０から外れたとき）に、ユーザＡの状態で位置・姿勢が計測された点を、境界計測点０５０とする。すなわち境界計測点０５０は、センサ計測領域０２０の内側で最後に位置・姿勢が計測された点である。
【００２３】
本実施形態では図８に示すように、本システムを利用する空間内、特にセンサ計測領域０２０の境界付近の多数の個所において、センサ装置０１０で境界計測点０５０の位置を測定する。このように、数多くの境界計測点０５０（図中×印）を測定し、収集・蓄積することによって、センサ装置０１０が計測可能であるとみなせる領域、すなわちセンサ計測領域０２０が求められる。
【００２４】
図９は、センサ計測領域０２０内の安全領域、警告領域、移動可能領域について説明する図である。図９に示されるように、上述したように収集した境界計測点０５０（図中×印）を順に線で結ぶことによって、一つの閉領域を作ることができる。境界計測点０５０の数が十分大きいときには、この閉領域はセンサ計測領域０２０にほぼ等しいと考えることができ、この領域（図中斜線部およびドット部）を移動可能領域０６０とする。なお、移動可能領域０６０はセンサ計測領域０２０とは厳密には等しくないが、移動可能領域０６０はセンサ計測領域０２０に内包される領域であり、その領域内ではセンサ装置０１０で位置・姿勢を計測できることが保証される。
【００２５】
本実施形態では図９に示すように、移動可能領域０６０の内側周辺の領域を警告領域０７０とする。警告領域０７０は、センサ装置０１０で計測することのできる領域ではあるが、センサ計測領域０２０の境界が近傍にあり、センサ計測領域０２０の外側に出てしまうと位置姿勢の計測が行えなくなる可能性が高い領域である。また、移動可能領域０６０内で警告領域０７０以外の領域は、センサ計測領域０２０の境界からある程度離れており、センサ装置０１０の計測を確実に行うことができる領域とみなされる。この領域を安全領域０８０とする。上述した計測状態予測範囲は、この安全領域０８０における計測値の信頼度を予測した範囲となる。
【００２６】
本実施形態では、複合現実感提示システムのユーザに対し、本システムの使用中に計測値の信頼度を計測状態として表示すると共に、ユーザが警告領域０５０内に立ち入ったときに境界計測点の位置を示して警告を発することを特徴とする。
【００２７】
●システム構成
図１は、本実施形態における複合現実感提示システムの概略構成を示すブロック図である。図１において、演算処理部１００はコンピュータなどの計算機から構成され、その内部にＣＰＵ１０１、ＲＡＭ１０２、音声出力装置１０３、画像出力装置１０４、システムバス１０５、ディスク１０６、入力装置１０７、画像入力装置１０８等を備える。
【００２８】
ＣＰＵ１０１は、不図示のＲＯＭ又はＲＡＭ１０２に格納された複合現実感プログラムに基づき、複合現実感処理を制御する。ＣＰＵ１０１はシステムバス１０５に接続され、ＲＡＭ１０２、音声出力装置１０３、画像出力装置１０４、ディスク１０６、入力装置１０７、画像入力装置１０８と相互に通信することが可能である。
【００２９】
ＲＡＭ１０２は、メモリ等の主記憶装置によって実現される。ＲＡＭ１０２は、システムバス１０５を介して、複合現実感プログラムのプログラムコードやプログラムの制御情報、ＣＧデータや計測領域データ、センサの計測値等の各種データを一時的に保持する。
【００３０】
音声出力装置１０３は、サウンドカードなどの機器によって実現され、システムバス１０５を介して、ＣＰＵ１０１上で実行されるプログラムによって生成された音声情報を入力し、音声情報を適切な音声信号に変換してスピーカ装置２０３に送出する。
【００３１】
画像出力装置１０４は、グラフィックスカードなどの機器によって実現される。一般的に、画像出力装置１０４は不図示のグラフィックスメモリを保持している。ＣＰＵ１０１上で実行されるプログラムによって生成された画像情報は、システムバス１０５を介して、画像出力装置１０４が保持するグラフィックスメモリに書き込まれる。画像出力装置１０４は、グラフィックスメモリに書き込まれた画像情報を適切な画像信号に変換して表示装置２０１に送出する。なお、グラフィックスメモリは必ずしも画像出力装置１０４が保持する必要はなく、ＲＡＭ１０２によってグラフィックスメモリの機能を実現してもよい。
【００３２】
システムバス１０５は、演算処理部１００を構成する各機器が接続され、上記機器が相互に通信するための通信路である。
【００３３】
ディスク１０６は、ハードディスク等の補助記憶装置によって実現され、複合現実感プログラムのプログラムコードやプログラムの制御情報、仮想世界のＣＧオブジェクトデータ、境界計測点データ、領域情報などを保持する。
【００３４】
入力装置１０７は、各種インタフェース機器によって実現される。例えば、演算処理部１００の外部に接続された機器からの信号をデータとして入力し、システムバス１０５を介して、ＲＡＭ１０２にデータを書き込む等の機能を実現する。画像入力装置１０８は、キャプチャカードなどの機器によって実現され、撮像装置２０２から送出される画像信号を入力し、システムバス１０５を介して、ＲＡＭ１０２またはグラフィックスメモリに画像データを書き込む。なお、表示装置２０１に光学シースルー型の表示装置を用いる場合には、画像入力装置１０８を具備する必要はない。
【００３５】
頭部装着部２００は、本実施形態の複合現実感提示システムを体験するために、本システムのユーザが装着する。頭部装着部２００は、表示装置２０１、撮像装置２０２、スピーカ装置２０３、計測対象３０１から構成される。本実施形態では、頭部装着部２００を構成する装置をユーザが装着しているものとして以下説明するが、ユーザが複合現実感を体験できる形態であれば、必ずしも頭部装着部２００の形態である必要はなく、据え置き型のディスプレイ装置を用いてもよい。
【００３６】
表示装置２０１は、ビデオシースルー型ＨＭＤなどのディスプレイによって実現される。表示装置２０１は、画像出力装置１０４から送出される画像信号を表示し、本システムのユーザに複合現実感を提示するために用いられる。表示装置２０１は頭部装着部２００を構成する装置であるが、必ずしもユーザが装着する必要はない。ユーザが画像を確認することができる手段であれば、例えば表示装置２０１として据え置き型のディスプレイ装置を用いてもよい。
【００３７】
撮像装置２０２は、ＣＣＤカメラなどの１つ以上の撮像装置によって実現される。撮像装置２０２は、本装置のユーザの視点から見た現実世界の画像を撮像するために用いられる。そのため、撮像装置２０２はユーザの頭部の中でも視点位置に近い場所に装着することが望ましいが、ユーザの視点から見た画像が取得できる手段であればこれに限定されない。撮像装置２０２が撮像した画像は画像信号として画像入力装置１０８に送出される。なお、表示装置２０１に光学シースルー型の表示装置を用いる場合には、本システムのユーザは表示装置２０１を透過する現実世界を直接観察することになるため、撮像装置２０２を具備する必要はない。
【００３８】
スピーカ装置２０３は、音声出力装置１０３が送出した音声信号を本システムのユーザに提示するために用いられる。本実施形態では、スピーカ装置２０３は頭部装着部２００を構成する装置であるが、ユーザが音声を確認することができれば、必ずしもユーザが装着する必要はない。また、音声を用いない場合には、スピーカ装置２０３を具備する必要はない。
【００３９】
センサ部３００は、本システムのユーザの視点位置・姿勢を計測するものであり、計測対象３０１、計測装置３０２、センサ制御装置３０３から構成される。
【００４０】
計測対象３０１は、センサ部３００によって計測される対象であり、本システムのユーザが装着する頭部装着部２００に設けられる。すなわち、計測対象３０１は、頭部装着部２００、センサ部３００双方の構成要素となる。
【００４１】
計測部３０２は、計測対象３０１の位置・姿勢を計測する。計測部３０２は本システムのユーザに装着されることはなく、計測対象３０１を計測可能な位置に設置される。例えば、図６に示すセンサ装置０１０がこれに相当する。
【００４２】
センサ制御部３０３は、計測対象３０１、計測部３０２に制御命令を送出し、また、計測対象３０１、計測部３０２から観測データを取得する。センサ制御部３０３は、取得した観測データをもとに、計測対象３０１の位置・姿勢情報を算出し、それを計測値として入力装置１０７に送出する。
【００４３】
なお、計測対象３０１、計測部３０２、センサ制御部３０３は、センサ部３００として適用される機種によって、その構成が異なる場合がある。
【００４４】
例えばセンサ部３００として、Northern Digital社の光学式のセンサOPTOTRAK 3020および OPTOTRAK Certusを用いる場合は、上記構成は以下のようになる。すなわち、計測対象３０１は発光装置によって構成され、センサ制御部３０３の指令によって発光する。そして計測部３０２は受光装置によって構成され、計測対象３０１の発光装置から発した光を観測する。センサ制御部３０３は計測部３０２の観測データをもとに、計測対象３０１の位置・姿勢を算出する。
【００４５】
また例えば、センサ部３００として、Vicon Motion Systems 社の光学式センサを用いる場合は、上記構成は以下のようになる。すなわち計測対象３０１には再帰性反射素材を使用したマーカが取り付けられ、センサ計測部３０２に取り付けられた発光装置により赤外線等の波長の光がマーカに照射される。センサ計測部３０２は計測対象３０１に取り付けられたマーカの反射を画像としてセンシングする。そして、センサ制御部３０３は複数のセンサ計測部３０２の観測データより計測対象３０１の位置・姿勢を算出する。
【００４６】
更に例えば、センサ部３００として3rdTech社の光学式センサHiBallを用いた場合は、計測対象３０１は受光装置によって構成され、計測部３０２は発光装置によって構成される。計測部３０２は、センサ制御部３０３の指令によって発光し、その発光を計測対象３０１が観測する。センサ制御部３０３は計測対象３０１の観測データ、計測部３０２の配置データをもとに、計測対象３０１の位置・姿勢を算出する。
【００４７】
更に例えば、センサ部３００としてPolhemus社の磁気センサFastrakを用いた場合は、計測対象３０１はレシーバによって構成され、計測部３０２のトランスミッタが発する磁界を観測し、観測データを生成する。計測部３０２はトランスミッタによって構成され、センサ制御部３０３の指令によって、磁界を発生する。センサ制御部３０３は計測対象３０１の観測データをもとに、計測対象３０１の位置・姿勢を算出する。
【００４８】
また、本システムのユーザが不図示のマーカを装着し、撮像装置２０２とは別に、外部に設置した不図示の撮像装置によって撮像された画像に対して画像処理を行って画像中からマーカを抽出することもできる。すなわち、マーカの画像中の位置から本システムのユーザの位置・姿勢を算出する。この場合は、計測対象３０１がマーカ、計測部３０２が外部の撮像装置、センサ制御部３０３が上記画像処理を行う計算機、にそれぞれ相当する。また、本システムのユーザが明示的なマーカを装着せずに、撮像装置が本システムのユーザを撮像し、本システムのユーザの画像特徴から本システムのユーザの位置・姿勢を算出する手法を用いることもできる。この場合は、計測対象３０１が本システムのユーザとなる。
【００４９】
更に、本システムを使用する空間中にランドマークとなる複数の不図示のマーカを設置し、撮像装置２０２によって撮像された画像に対して画像処理を行い、画像中のマーカの位置から本システムのユーザの位置・姿勢を算出する方法を用いることもできる。この場合は、計測対象３０１をマーカ、計測部３０２を撮像装置２０２、センサ制御部３０３を上記画像処理を行う計算機とすればよい。また、本システムを使用する空間中にランドマークとして明示的なマーカを設置せずに、撮像装置２０２が撮像した画像から画像特徴を抽出することによって、本システムのユーザの位置・姿勢を算出するようにしてもよい。この場合には、計測対象３０１は本システムを使用している空間そのものということになる。
【００５０】
また、複数のセンサ装置や計測手法を組み合わせることによって、本システムのユーザの位置・姿勢を計測する場合においても、全体としてセンサ部３００を構成するとみなすことができる。すなわちセンサ部３００は、計測部３０２が計測対象３０１を観測し、観測データをもとにセンサ制御部３０３が計測対象３０１の位置・姿勢を出力すれば良く、位置・姿勢を算出する原理や手法については、これを問わない。
【００５１】
また、本実施形態において、センサ部３００は本システムのユーザの位置・姿勢を計測しているが、位置・姿勢のいずれか一方のみを計測するものであっても構わない。
【００５２】
●複合現実感制御
以上のような構成からなる本実施形態の複合現実感提示システムの制御について、以下に説明する。
【００５３】
図２は、本実施形態の複合現実感提示システムにおいて実行される処理を示すフローチャートである。なお、同フローチャートに従ったプログラムコードは、本実施形態のシステム内のディスク１０６やＲＡＭ１０２などの記憶装置内に格納され、ＣＰＵ１０１により読み出され、実行される。
【００５４】
まずステップＳ１００において、本システムにおける複合現実感を提示するために、後述するステップＳ３００で必要となる境界計測値収集処理を行う。ここで境界計測値収集処理とは、センサ部３００で計測された、図６および図７で説明した境界計測点０５０の情報と現在のユーザの位置から、計測状態を算出する処理である。なお、境界計測点０５０の情報すなわち境界計測値の収集方法については、図３のフローチャートを用いて後述する。
【００５５】
そしてステップＳ２００において、境界計測点０５０で囲まれる安全領域０８０内部での計測値の信頼度マップ（計測状態予測マップ）の作成処理、すなわち計測状態予測地点の収集および、その範囲レベル０４０〜０４２の算出を行う。なお、計測状態予測マップの作成方法の詳細については図４のフローチャートを用いて後述する。
【００５６】
次にステップＳ３００において、本システムのユーザに対して複合現実感の提示を行う。なお、複合現実感提示処理の詳細については図５のフローチャートを用いて後述する。
【００５７】
●境界計測値収集処理
図３は、ステップＳ１００における境界計測値収集処理の詳細を示すフローチャートである。
【００５８】
まずステップＳ１０１において、境界計測値収集処理に必要な各種の初期化処理を行う。次にステップＳ１０２において、入力装置１０７は、センサ部３００のセンサ制御部３０３が出力した計測値を取得する。するとＣＰＵ１０１は、取得した計測値（計測対象３０１の位置、姿勢情報）を本システムのユーザの視点での位置・姿勢情報に変換する。次にステップＳ１０３では、ステップＳ１０２において正確な計測値が得られたか否かを判定する。ここで「正確」とは、計測値の誤差が許容する値よりも小さいことを意味する。正確な計測値が得られた場合にはステップＳ１０４に進み、その計測値をＲＡＭ１０２に保持する。
【００５９】
例えば、センサ部３００に光学式センサを用いた場合、計測対象３０１がセンサ計測領域の外部に出てしまうと計測値が全く得られなくなる。従って、ステップＳ１０３における判定処理は、計測値が得られたか否かによって行なうことができ、容易である。しかしながら、例えばセンサ部３００に磁気式センサを用いた場合には、計測対象３０１がセンサ計測領域の外部に出てしまった場合でも計測の誤差が拡大するのみであり、計測値自体は取得される。このような場合は、例えば、ステップＳ１０２において計測値を履歴として保持しておき、ステップＳ１０３において計測値の変化量が既定値を超えた場合に正確な計測値が得られなかったと判定することで、対処可能である。この既定値は、本システムのユーザに対して想定することができる移動量（センサ装置による計測サンプリング間隔内の最大移動量）とセンサ装置が保証する誤差から算出することができる。例えば、「最大移動量＋誤差」を既定値として用いることができる。
【００６０】
さて、ステップＳ１０４においては、ステップＳ１０２で取得した計測値をＲＡＭ１０２に保持するが、既にＲＡＭ１０２に計測値が保持されていた場合には、古い計測値は破棄される。すなわち、センサ計測部３００によって計測された計測値のうち最も新しい計測値のみが保持されることになる。
【００６１】
一方、ステップＳ１０３で正確な計測値が得られなかった場合にはステップＳ１０５に進み、ＲＡＭ１０２に計測値が保持されているか否かを判定する。計測値が保持されている場合にはステップＳ１０６に進み、ＲＡＭ１０２が保持している計測値を境界計測点０５０の計測値（境界計測値）としてディスク１０６に保存する。本実施形態では、センサ部３００による直前の計測では正確な計測値が得られているが、今回の計測では正確な計測値が得られなかった場合にステップＳ１０６に到達する。これは、図７においてユーザＡの状態からユーザＢの状態に遷移したことを表し、その時点でＲＡＭ１０２が保持している計測値が境界計測値として採用される。なお、境界計測値の保存後は、ＲＡＭ１０２で保持している計測値を破棄してもよい。
【００６２】
なお、本実施形態では、計測された境界計測値を全てディスク１０６に保存する例を示したが、必ずしも全ての境界計測値を保存しなくてもよい。例えば、保存されている境界計測値に対して、統計的な手法によって境界計測値を分析し、精度が低いと判断される境界計測値を除外するようにしてもよい。あるいは、境界計測値をディスク１０６に保存する際に、これまでに計測された境界計測値との連続性を考慮して、保存するか否かを判断するようにしてもよい。
【００６３】
一方、ステップＳ１０５でＲＡＭ１０２に計測値が保持されていない場合には、そのままステップＳ１０７へ進む。
【００６４】
ステップＳ１０７では、境界計測値収集処理を終了するか否かを判定する。この終了判定は例えば、ユーザにより終了指示操作がなされたか否かを判定することにより行なう。境界計測値の収集を続ける場合にはステップＳ１０２に戻り、そうでない場合には、境界計測値収集処理を終了する。
【００６５】
なお本実施形態では、境界計測値を収集する過程において、ステップＳ１０６で境界計測値を逐一ディスク１０６に保存する例を示した。または、境界計測値を収集する過程では境界計測値をＲＡＭ１０２に保持しておき、境界計測値収集処理を終了する時点で、一括してディスク１０６に保存するようにしてもよい。
【００６６】
●計測状態予測マップの作成処理
図４は、ステップＳ２００における計測状態予測マップの作成処理を示すフローチャートである。本実施形態における計測状態予測マップは上述したように、計測状態予測地点の情報を収集することによって行われる。
【００６７】
まずステップＳ２０１において、計測値収集処理に必要な各種の初期化処理を行う。次にステップＳ２０２において、ステップＳ１００において収集された境界計測点０５０の計測値情報に基づいて安全領域０８０を決定し、該安全領域０８０内にセンサ部３００を固定する。なお、安全領域０８０の決定方法については、図５のステップＳ３０４にて後述する。
【００６８】
ステップＳ２０３では、ステップＳ２０２での固定位置におけるセンサ部３００の検出値を採取するために、一定期間検出を行ってその値を保存する。ここで「一定期間」とは、ある地点において生じるセンサのジッターノイズを算出するために必要となるデータを採取する期間である。検出時間が短すぎる場合は信用に足るデータを採取することができないため、この一定期間として数十秒以上を確保しておく必要がある。
【００６９】
次にステップＳ２０４において、ステップＳ２０３で得られたデータからノイズの強度を算出する。このノイズの算出方法としては種々の方法が考えられる。例えば最も簡単な方法としては、位置と姿勢の６自由度（x,y,z,roll,pitch,yaw）の各値に対し、時系列データから平均および分散を算出し、ノイズの強度とする方法が考えられる。
【００７０】
一般に複合現実感提示システムにおいて、６自由度の中でセンサのジッターノイズの影響が大きいのは、位置のデータよりも姿勢データである。したがって、姿勢データのみでノイズ強度を算出しても、十分に信頼できるデータを算出することが可能である。
【００７１】
次にステップＳ２０５において、ステップＳ２０４で算出したノイズ強度に基づき、データ採取地点のノイズレベルを決定する。例えばNorthern digital社の光学式センサOPTOTRAKの場合は、仕様としてセンサの位置から２ｍ、４ｍ、６ｍの地点での奥行き値に関する参考数値が公表されている。したがって、センサ装置の仕様に基づきセンサから２ｍの位置までを状態予測範囲レベル１（０４０）、２ｍ〜４ｍまでを状態予測範囲レベル２（０４１）、４ｍ〜６ｍまでを状態予測範囲レベル３（０４３）、というように設定しておく。
【００７２】
ただし、これはあくまで仕様上の参考数値であり、実際に測定した結果はそれよりも精度が悪い場合が多い。したがって本実施形態では予め、計測範囲とノイズレベルの関係を仕様に基づいてマップ化した計測状態予測マップを作成しておき、ステップＳ２０２での固定位置においてステップＳ２０５で算出したノイズレベルにより、そのマップを更新していく。
【００７３】
ステップＳ２０６では、計測状態予測マップの作成処理、すなわち計測状態予測地点の情報収集を終了するか否かを判定する。この終了判定は例えば、ユーザにより終了指示操作がなされたか否かを判定することにより行なう。ユーザは例えば、計測状態予測マップを作成するに十分な数のデータを採取したのであれば、この情報収集処理の終了を指示する。計測状態予測地点の情報収集を続ける場合にはステップＳ２０２に戻るが、そうでない場合には処理を終了する。
【００７４】
●複合現実感提示処理
図５は、ステップＳ３００における複合現実感提示処理を示すフローチャートである。  まずステップＳ３０１において、複合現実感提示処理に必要な各種の初期化処理を行う。例えばＣＰＵ１０１は、複合現実感提示処理に必要なデータをディスク１０６から読み出し、ＲＡＭ１０２に書き込む。ここで必要なデータとは例えば、仮想世界ＣＧオブジェクトデータ、警告用ＣＧオブジェクトデータ、計測状態表示用ＣＧオブジェクトデータ、境界計測値ＣＧオブジェクトデータ、警告用音声データやプログラム制御データなどがある。また、上述した境界計測値収集処理（Ｓ１００）で保存された境界計測値データや、計測状態予測地点の情報収集処理（Ｓ２００）で保存された計測状態予測地点データも初期化の際にディスク１０６から読み込まれる。
【００７５】
次にステップＳ３０２において、画像入力装置１０８は撮像装置２０２によって撮像された本システムのユーザの視点からの現実世界画像を入力し、ＲＡＭ１０２に書き込む。するとＣＰＵ１０１はＲＡＭ１０２から現実世界画像を読み出し、必要に応じて補正処理を行った後に、画像出力装置１０４のグラフィックスメモリ上のフレーム・バッファに書き込む。なお、ＲＡＭ１０２を介さずに、画像入力装置１０８が入力した画像を画像出力装置１０４のグラフィックスメモリ上のフレーム・バッファに直接書き込むようにしてもよい。なお、表示装置２０１として光学シースルー型の表示装置を用いている場合には、ステップＳ２０２の処理を行う必要は無い。
【００７６】
次にステップＳ３０３において、入力装置１０７はセンサ部３００のセンサ制御部３０３が出力した計測値を取得する。するとＣＰＵ１０１は、取得した計測値を本システムのユーザの視点での位置・姿勢に変換し、ＲＡＭ１０２に書き込む。
【００７７】
次にステップＳ３０４において、上記ステップＳ１００で計測された境界計測値と、ステップＳ２００で作成された計測状態予測マップをディスク１０６から読み込み、ＲＡＭ１０２に格納する。するとＣＰＵ１０１は、ステップＳ３０３で変換した本システムのユーザの視点位置とＲＡＭ１０２に格納した複数の境界計測値群とを照合し、本システムのユーザの視点位置が図９に示した各領域のいずれに存在するかを判定する。
【００７８】
ここで、本システムのユーザの視点位置の存在領域の判定方法について説明する。ここでは、境界計測点０５０はすべて地平面上に存在する点群であり、その座標は２次元であるものとする。また、安全領域０８０は、移動可能領域０６０の内側に存在し、移動可能領域０６０と相似であるものとする。警告領域０７０は、移動可能領域０６０から安全領域０８０を除いた領域であるとする。また、安全領域０８０の大きさは、ある定数ｋ（ｋは０から１までの任意の実数）によって定められる。安全領域０８０はｋ＝０のときには大きさが０となり存在しないこととなる。また、ｋ＝１のときには移動可能領域０６０と一致し、警告領域０７０が存在しないこととなる。
【００７９】
まず、移動可能領域０６０、安全領域０８０、警告領域０７０の設定方法の一例を、図１１を用いて説明する。
【００８０】
最初に、境界計測点０５０の集合である境界計測点群をＰ（Ｐ1，Ｐ2…）とし、これら境界計測点群Ｐの重心となる点Ｇを求める。次に、点Ｇと境界計測点群Ｐ中の任意の１点Ｐnとを結ぶ線分について、これをｋ：（１−ｋ）の比に分割する点Ｑnを求める。点Ｑnは、安全領域０８０と警告領域０７０の境界上の点となる。すべての境界計測点群Ｐについて点Ｑ1、Ｑ2…を求め、その集合を警告領域境界点群Ｑとする。
【００８１】
次に、点群Ｐ及びＱから安全領域０８０と警告領域０７０を定める。点群Ｐを構成する各点を順に結ぶこと、または点群Ｑを構成する各点を順に線で結んでいくことによって、ある閉領域の輪郭線を構成することができる。点群Ｐから構成される閉領域が移動可能領域０６０、点群Ｑから構成される閉領域が安全領域０８０となる。点群から三角形メッシュで各領域を分割することによって、これらの閉領域を求めることができる。
【００８２】
点群から三角形メッシュを構成して領域を分割するための手法としては、デローニ（Delaunay）の領域分割法が知られている。デローニの分割法は、与えられた点群中の任意の３点を頂点とし、その外接円の内側に点群中の他のいずれの点も含まない三角形を、点群中のすべての点について構成する方法である。
【００８３】
点群ＰとＱの和集合（Ｐ∪Ｑ）と、点群Ｑのそれぞれについて、上記デローニの領域分割法などの領域分割の手法を適用して、三角形メッシュＭおよびＳを構成する。点群Ｐ∪Ｑについて構成された三角形メッシュＭは移動可能領域０６０を構成し、点群Ｑについて構成された三角形メッシュＳは安全領域０８０を構成する。三角形メッシュＭからＳを除いたものが、警告領域０７０を構成する三角形メッシュＡである。
【００８４】
以上のようにして安全領域０８０と警告領域０７０を定めた後に、ステップＳ３０３において取得された本システムのユーザの視点位置Ｖを地平面上の点Ｖ’に射影する。そして、この点Ｖ’が三角形メッシュＳまたはＡを構成する三角形のいずれかの内部に存在するか否かを調べる。点Ｖ’が三角形メッシュを構成する三角形のいずれかの内部にあれば、点Ｖ’は三角形メッシュに対応する領域の内側に存在すると判定される。すなわち、点Ｖ’が三角形メッシュＳの内部に存在すれば、点Ｖ'は安全領域０８０の内側に存在すると判定され、三角形メッシュＡの内部に存在すれば点Ｖ'は警告領域０７０の内側に存在すると判定される。また、点Ｖ’が安全領域０８０、警告領域０７０のいずれの内部にも存在しない場合には、視点位置Ｖは移動可能領域０６０の外に存在すると判定される。
【００８５】
なお本実施形態では、境界計測点０５０が地平面上に存在する２次元の点であると仮定したが、これを３次元の点として扱うことも可能である。その場合、安全領域０８０、警告領域０７０、移動可能領域０６０は３次元閉領域となり、本システムのユーザの視点位置Ｖがこれら３次元閉領域の内部に存在するか否かを判定することになる。すなわち、点群から閉領域の面をなす三角形メッシュを求め、この三角形メッシュの内部に視点位置Ｖが存在するか否かを判定すればよい。なお、三角形メッシュを求める手順は、３次元コンピュータ・グラフィックスの分野において３次元の点群からＣＧモデルのポリゴンを構成する手順と同等である。したがって、上記方法以外にもフリー・メッシュ法やバブル・メッシュ法など、数多くの周知の手法が適用可能である。
【００８６】
以上、ユーザの視点位置が安全領域０８０、警告領域０７０の内部に存在するか否かを判定する方法について述べた。この方法はさらに、後述するステップＳ３０７において、ユーザの視点位置が安全領域０８０内でどの計測状態のレベルに属しているかを判定する方法としても適用可能である。
【００８７】
なお、本実施形態では、閉領域を定めるために境界測定点群から三角形メッシュを構成する例を示したが、もちろんこの方法に限られるものではない。本システムのユーザの視点位置が安全領域０８０および警告領域０７０に存在するか否かを境界測定点群から判定できれば、どのような方法を用いてもよい。
【００８８】
図５に戻り、ステップＳ３０５では、ステップＳ３０４で判定された本システムのユーザの視点位置が含まれる領域の種別によって、その後の処理を制御する。すなわち、ユーザの視点位置が安全領域０８０内に存在する場合にはステップＳ３０７に進み、ユーザの視点位置が警告領域０７０内に存在する、または移動可能領域０６０の外である場合にはステップＳ３０６に進む。
【００８９】
ステップＳ３０６では、視点位置が安全領域０８０の内部に存在しない旨をユーザに報知するために警告音声を出力する。すなわち、ＣＰＵ１０１は、視点位置が警告領域０７０内または移動可能領域０６０外である旨の警告音声データをＲＡＭ１０２から読み出し、音声出力装置１０３に送出する。このような警告を行うことによって、本システムのユーザに対して、現在、移動可能領域０６０の限界付近である旨を明確に通知することができる。なお、視点位置が警告領域０７０内に存在する場合と、移動可能領域０６０外である場合とで、警告内容を変更してもよい。また、この警告は音声によるものに限らず、例えば合成画像にさらに警告メッセージを合成することによってユーザに報知しても良い。ステップＳ３０６による警告処理の終了後、ステップＳ３０８へ進む。なお、警告音声を出力しない場合には、ステップＳ３０６の処理は行わずにそのままステップＳ３０８へ進む。
【００９０】
一方、ステップＳ３０７では上述した方法により、安全領域０８０内におけるユーザの計測状態レベルを判定し、ステップＳ３０８へ進む。
【００９１】
ステップＳ３０８において、ＣＰＵ１０１はＲＡＭ１０２から仮想世界のＣＧオブジェクトのデータを読み出し、ステップＳ３０３で算出した本システムのユーザの視点位置・姿勢から仮想ＣＧを描画する。そして、該描画された仮想ＣＧを画像出力装置１０４内のグラフィックスメモリ上の所定バッファに出力する。このとき、ステップＳ３０７で判定された計測状態レベルを示す計測状態表示ＣＧも同時に描画される。画像出力装置１０４は、グラフィックスメモリ上のフレームバッファに描画された現実世界画像と、所定バッファに描画された仮想ＣＧおよび計測状態表示ＣＧを合成し、合成結果として得られた画像信号を、頭部装着部２００の表示装置２０１に対して送出する。なお、画像出力装置１０４がグラフィックスアクセラレータ等の描画専用の演算装置を具備している場合には、ステップＳ３０８における全ての処理を画像出力装置１０４で行う。
【００９２】
なお、ステップＳ３０８のＣＧ描画処理の際に、ステップＳ３０５で視点位置が警告領域０７０内に存在すると判定されていた場合には、ＣＰＵ１０１はさらに、計測状態予測範囲および境界計測点を地平面に射影した座標に、それぞれ対応するＣＧを描画する。すなわち、計測状態予測範囲ＣＧおよび境界計測点ＣＧを描画する。この描画の詳細については、図１０を用いて後述する。これにより、本システムのユーザに対して、現在位置がどのような計測状態の領域であるのか、また現在位置が移動可能領域０６０の限界付近である旨等を、視覚的に通知することができる。するとユーザは、この計測状態予測範囲を視認することによって、より高精度な領域でＣＧを観察したい場合にはそれが可能となる領域へ直感的に移動することができる。
【００９３】
なお、計測状態レベルの表示には、ノイズの強度を示すようなシンボル（例えば、一般的な携帯電話に表示される電波状態を示すシンボル等）を利用してもよい。さらに、視点位置が警告領域０７０内に存在すると判定された場合には、境界計測値描画用ＣＧに代えて、警告領域０７０の地平面や領域境界線をＣＧで描画することによって、ユーザに対して移動可能領域０６０の限界付近である旨を通知してもよい。なお、ステップＳ３０５で視点位置が移動可能領域０６０の外であると判定された場合には、ステップＳ３０８の処理は行わないようにしてもよい。
【００９４】
また、前述のパッシブな光学式センサ（VICON等）をシステムに利用する場合は、計測対象３０１が何個の計測装置によってセンシングされているかが直接的に位置・姿勢の算出精度に影響してくる。従って、上述に記載するように何個の計測装置によって計測されているかを精度の強度としてシンボル表示するなどしてもよい。
【００９５】
そしてステップＳ３０９において、複合現実感提示処理を続行するか否か、すなわち終了指示操作の有無を判定する。処理を続行する場合にはステップＳ３０２に戻り、そうでない場合には、複合現実感提示処理を終了する。
【００９６】
●複合現実感画面例
図１０は、表示装置２０１に表示される画像例を示す図である。図１０における方形の枠内が、表示装置２０１に表示される合成画像９０を表している。合成画像９０は、現実世界の画像に対して仮想世界の画像を重畳した画像である。
【００９７】
上述した図５のステップＳ３０５において、ユーザの視点位置が安全領域０８０の内部に存在すると判定された場合には、合成画像９０は、不図示の現実世界画像と仮想ＣＧオブジェクト０８０Ｃ、および計測状態表示ＣＧオブジェクト０３０Ｃとで構成される。
【００９８】
これに対し、ユーザの視点位置が警告領域０７０の内部に存在すると判定された場合および、ユーザが計測状態の可視化を要望した場合には、合成画像９０は以下のオブジェクトから構成される。すなわち、上記現実世界画像と仮想ＣＧ，計測状態表示ＣＧの各オブジェクト（０８０Ｃ，０３０Ｃ）に加えて、境界計測点ＣＧオブジェクト０５０Ｃ、移動可能領域ＣＧオブジェクト０６０Ｃから構成される。この場合さらに、図１０には不図示であるが、計測状態予測範囲ＣＧオブジェクトを加えることが有効である。この計測状態予測範囲ＣＧオブジェクトについては、計測状態の精度によって色分け表示を行うなど、システムによって好適な表示手段を選べばよい。
【００９９】
以上説明したように本実施形態によれば、複合現実感提示システムのユーザが、現在位置における計測状態を簡単に認識することができる。したがって、ユーザをより良好な計測地点へ容易に誘導することができる。
【０１００】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。なお、第２実施形態におけるシステム構成は上述した第１実施形態と同様であるため、ここでは説明を省略する。
【０１０１】
第２実施形態では、上述した第１実施形態においてユーザが安全領域内に存在する状態で、他のユーザ等によってセンサ計測が妨げられた場合に、その旨をユーザに報知することを特徴とする。
【０１０２】
図１２は、第２実施形態における処理概略を示す図である。上述した第１実施形態と同様に、センサ装置０１０のセンサ計測領域０２０の内部にユーザが存在している場合について考える。このとき、他のユーザ等、センサの計測を妨げるような何らかの物体がセンサ装置０１０とユーザの間に割って入ったとすると、センサ死角領域１００が必ず生じ、ユーザの位置・姿勢計測を行うことが不可能となってしまう。そのため、このような場合にはユーザにその旨を報知する必要がある。
【０１０３】
図１３は、第２実施形態の複合現実感提示システムにおいて、安全領域０８０内でユーザの位置・姿勢が計測不能になった場合に行われる報知処理の詳細を示すフローチャートである。
【０１０４】
まずステップＳ４０１において、複合現実感提示処理に必要な各種の初期化処理を行う。次にステップＳ４０２において、画像入力装置１０８は撮像装置２０２によって撮像された本システムのユーザの視点からの現実世界画像を入力し、ＲＡＭ１０２に書き込む。するとＣＰＵ１０１はＲＡＭ１０２から現実世界画像を読み出し、必要に応じて補正処理を行った後に、画像出力装置１０４のグラフィックスメモリ上のフレーム・バッファに書き込む。
【０１０５】
次にステップＳ４０３において、入力装置１０７でセンサ部３００のセンサ制御部３０３が出力した計測値を取得し、センサ部３００がユーザを計測できたか否かを判定する。この判定方法はセンサの機種によって異なる。計測できていない場合に計測不可の信号を出力するセンサであればその信号によって判定可能であるが、それ以外の場合は、第１実施形態で説明したようにユーザが移動可能範囲内であるか否かの判定を行えば良い。
【０１０６】
ステップＳ４０３で計測可能と判定された場合はステップＳ４０４に進み、センサ制御部３０３の出力値をＣＰＵ１０１に送り、取得した計測値（計測対象３０１の位置、姿勢）を本システムのユーザの視点での位置・姿勢に変換する。次にステップＳ４０５において、ユーザの位置・姿勢が安全領域０８０内のどの計測状態であるか、すなわち計測状態レベルを判定する。そしてステップＳ４０６において、計測した値（以下、センサ値）をＲＡＭ１０２に保持する。
【０１０７】
一方、ステップＳ４０３においてユーザの位置姿勢が計測不可能だった場合、ステップＳ４０７に進んでＲＡＭ１０２に保持されている前フレームのセンサ値を読み込み、その値が安全領域０８０内にあるか否かを判定する。この時点で、ユーザの視点位置が警告領域０７０にあった場合は、現在の視点位置が移動可能範囲外に出てしまったものとみなしてステップＳ４１１に進む。ステップＳ４１１ではステップＳ４０７の判定結果を受けて、ユーザが現在移動可能範囲外にいる旨の警告表示または、警告音声の出力を行う。
【０１０８】
一方、前フレームにおいてユーザが安全領域０８０内にいた場合は、ステップＳ４０８に進む。ステップＳ４０８では、他のセンシング可能なユーザが近傍にいるか否かを、前フレームにおける他のユーザの視点位置から算出する。他のユーザが近傍にいるか否かの判定は、前フレームにおけるユーザと他のユーザの距離に基づいて行う。他のユーザが十分遠い距離にいる場合は、他のユーザではない別の理由、例えば、環境中にセンシングされていない人物や物体が進入してきたことによりユーザのセンシングが妨げられたものと推定し、ステップＳ４１１に進む。ステップＳ４１１ではステップＳ４０８の判定結果を受けて、環境中の物体により位置姿勢の計測が不可能になった旨の警告表示または、警告音声の出力を行う。
【０１０９】
一方、ステップＳ４０８で他のユーザが近傍にいたと判定された場合、他のユーザによりセンシングが妨げられたと判定し、ステップＳ４１１において他のユーザによって妨げられた旨の警告表示または、警告音声の出力を行う。このとき、センシングを妨害した他のユーザに対し、妨げとなっている旨を警告しても良い。
【０１１０】
そしてステップＳ４１２において第１実施形態と同様に、ＣＰＵ１０１がＲＡＭ１０２から仮想世界のＣＧオブジェクトのデータを読み出す。そして、ステップＳ４０６でＲＡＭ１０２に保持されたユーザの視点位置・姿勢からＣＧを描画して、画像出力装置１０４内のグラフィックスメモリ上に出力する。画像出力装置１０４は、グラフィックスメモリ上の各種バッファに描画された現実世界画像と仮想ＣＧ、および計測状態表示ＣＧ等を合成し、表示装置２０１に対して画像信号を送出する。
【０１１１】
そしてステップＳ４１３において、複合現実感提示処理を続行するか否か、すなわち終了指示操作の有無を判定する。処理を続行する場合にはステップＳ４０２に戻り、そうでない場合には、複合現実感提示処理を終了する
なお、第２実施形態ではユーザの前フレームにおける位置姿勢に基づいて現在の計測不能状態を判定したが、システムによっては、計測値を利用して次フレームにおけるユーザの位置姿勢を予測し、警告を行うようにしても良い。
【０１１２】
また、ステップＳ４０８で他のユーザ（妨害ユーザ）によりセンシングが妨げられたと判定した場合に、妨害ユーザにより検出不可能となる範囲を死角領域として算出し、当該ユーザが該死角領域に入った場合にのみ、他ユーザによる妨害を警告しても良い。この場合、ユーザが死角領域外であればステップＳ４０８の判定処理における否の場合と同様に、環境中の物体により計測不可能である旨を警告する。
【０１１３】
以上説明したように第２実施形態によれば、本システムのユーザのセンシングが他のユーザ等の何らかの物体により妨げられた場合に、ユーザにその旨を警告する。これにより、ユーザは良好な計測が行える位置に移動する等、計測状態の回復を図ることができる。
【０１１４】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１５】
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
【０１１６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１１７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１１８】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【０１１９】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１２０】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【０１２１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１２２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【０１２３】
【図１】本発明に係る一実施形態における複合現実感提示システムの概略構成を示すブロック図である。
【図２】複合現実感提示処理の全体を示すフローチャートである。
【図３】境界計測値収集処理を示すフローチャートである。
【図４】計測状態予測範囲マップの作成処理を示すフローチャートである。
【図５】複合現実感提示処理を示すフローチャートである。
【図６】本システムで使用されるセンサ装置およびその計測領域を説明する図である
【図７】境界計測点について説明する図である。
【図８】センサ装置と状態予測範囲の関係を説明する図である。
【図９】安全領域、警告領域、移動可能領域について説明する図である。
【図１０】本実施形態において表示される複合現実感画像例を示した図である。
【図１１】閉領域の算出方法を説明する図である。
【図１２】第２実施形態におけるセンサの死角領域を説明する図である。
【図１３】第２実施形態における複合現実感提示処理を示すフローチャートである。
【図１】
2007156561.tif 000003
【図２】
2007156561.tif 000004
【図３】
2007156561.tif 000005
【図４】
2007156561.tif 000006
【図５】
2007156561.tif 000007
【図６】
2007156561.tif 000008
【図７】
2007156561.tif 000009
【図８】
2007156561.tif 000010
【図９】
2007156561.tif 000011
【図１０】
2007156561.tif 000012
【図１１】
2007156561.tif 000013
【図１２】
2007156561.tif 000014
【図１３】
2007156561.tif 000015