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