(57)【要約】【課題】  現実空間の画像の取得時刻に略同じ時刻に取得された位置姿勢に基づく仮想空間の画像を生成すべく、現実空間の画像の取得時刻と、位置姿勢の取得時刻とのずれを求めるための技術を提供すること。【解決手段】  時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成し（Ｓ６０１からＳ６０５，Ｓ６０９）、このうち指示された１つの画像を生成する際に用いた位置姿勢に対応する時刻（ｔ−ｄ）において、このｄを示すデータを記録する（Ｓ６０７，Ｓ６０８）。【選択図】  図６
2006285786.tif 000002
【特許請求の範囲】
【請求項１】
現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した撮像画像を、当該撮像画像の取得時刻と対応づけて格納する第１の格納制御工程と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得工程と、
前記位置姿勢取得工程で取得した位置姿勢を、当該位置姿勢の取得時刻と対応づけて格納する第２の格納制御工程と、
時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する生成工程と、
前記生成工程で生成した画像群を一覧表示する表示工程と、
前記表示工程で表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記指示された時刻ｔが、前記第１の格納制御工程で格納した取得時刻の何れかであった場合には、
前記生成工程では、前記時刻ｔと対応づけて格納された撮像画像上に、時刻（ｔ−ｄ）と対応づけて格納された位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記指示された時刻ｔは前記第１の格納制御工程で格納した取得時刻の何れでもないが、前記時刻ｔに最も近い時刻がｔ１である場合には、
前記生成工程では、前記時刻ｔ１と対応づけて格納された撮像画像上に、時刻（ｔ１−ｄ）と対応づけて格納された位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記指示された時刻ｔが前記第１の格納制御工程で格納した取得時刻ｔ１，ｔ２に対してｔ１＜ｔ＜ｔ２であった場合には、
前記生成工程は、
前記時刻ｔ１と対応づけて格納された撮像画像と、前記時刻ｔ２と対応づけて格納された撮像画像とを用いて前記時刻ｔにおける撮像画像を補間生成する画像生成工程と、
前記時刻ｔ１と対応づけて格納された位置姿勢と、前記時刻ｔ２と対応づけて格納された位置姿勢とを用いて前記時刻ｔにおける位置姿勢を補間生成する位置姿勢生成工程と、
前記画像生成工程で生成した撮像画像上に、前記位置姿勢生成工程で生成した位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成することを特徴とする請求項１に記載の情報処理方法。
【請求項５】
更に前記生成工程では、指示された複数の時刻ｔのそれぞれについて、時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成することを特徴とする請求項１乃至４の何れか１項に記載の情報処理方法。
【請求項６】
現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した撮像画像を、当該撮像画像の取得時刻とセットにして格納する第１の格納制御工程と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得工程と、
前記位置姿勢取得工程で取得した位置姿勢を、当該位置姿勢の取得時刻とセットにして格納する第２の格納制御工程と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する第１の生成工程と、
前記第１の生成工程で生成した画像群を一覧表示する第１の表示工程と、
前記第１の表示工程で表示した画像群のうち、指示された１つの画像を前記第１の生成工程で生成する際に用いた位置姿勢に対応する前記時刻（ｔ−ｄ）において、当該ｄ近傍の時刻ｄｓ＝ｄｓ１，ｄｓ２，、、、ｄｓＤを設定する設定工程と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄｓ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄｓ＝ｄｓ１，ｄｓ２，、、ｄｓＤのそれぞれについて生成する第２の生成工程と、
前記第２の生成工程で生成した画像群を一覧表示する第２の表示工程と、
前記第２の表示工程で表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定工程と
を備えることを特徴とする情報処理方法。
【請求項７】
現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得手段と、
前記画像取得手段が取得した撮像画像を、当該撮像画像の取得時刻と対応づけて格納する第１の格納制御手段と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得手段と、
前記位置姿勢取得手段が取得した位置姿勢を、当該位置姿勢の取得時刻と対応づけて格納する第２の格納制御手段と、
時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する生成手段と、
前記生成手段が生成した画像群を一覧表示する表示手段と、
前記表示手段が表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項８】
現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得手段と、
前記画像取得手段が取得した撮像画像を、当該撮像画像の取得時刻とセットにして格納する第１の格納制御手段と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得手段と、
前記位置姿勢取得手段が取得した位置姿勢を、当該位置姿勢の取得時刻とセットにして格納する第２の格納制御手段と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する第１の生成手段と、
前記第１の生成手段が生成した画像群を一覧表示する第１の表示手段と、
前記第１の表示手段が表示した画像群のうち、指示された１つの画像を前記第１の生成手段で生成する際に用いた位置姿勢に対応する前記時刻（ｔ−ｄ）において、当該ｄ近傍の時刻ｄｓ＝ｄｓ１，ｄｓ２，、、、ｄｓＤを設定する設定手段と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄｓ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄｓ＝ｄｓ１，ｄｓ２，、、ｄｓＤのそれぞれについて生成する第２の生成手段と、
前記第２の生成手段が生成した画像群を一覧表示する第２の表示手段と、
前記第２の表示手段が表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項９】
コンピュータに請求項１乃至６の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間上に仮想空間の画像を重畳させて提示するための技術に関するものである。
【背景技術】
【０００２】
複合現実感システムでは、操作者の視点位置と視線方向および空間中にある物体の位置を計測する必要がある。位置姿勢の計測システムとしては、米国Polhemus社製FASTRAK（登録商標）に代表されるような位置姿勢計測装置を使うのが一般的な手法の一つである。またジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を画像から計測する方法も取られている。
【特許文献１】特開２００２−２７１８１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来の複合現実感システムにおいて現実空間の映像を取得した時刻と、上記位置姿勢計測装置によって計測した位置姿勢を取得した時刻を一致させることは一般には難しい。
【０００４】
特に、現実空間の映像を一度コンピュータに取り込んで描画し、その後仮想空間の映像を重畳する方式では、現実空間の映像を取り込んでから仮想空間の映像を重畳する間にタイムラグがあるため、仮想空間の映像は現実空間映像の取得時刻よりも遅い時刻に取得したものを用いることになり、結果として、現実空間映像と仮想空間映像とは不一致なものとなる。その結果、これらを合成した映像を見る観察者に違和感を与えることになる。
【０００５】
そのような場合、少し古い計測値を用いて仮想空間映像を生成することで、現実空間映像と仮想空間映像との不整合を解消するといったことも考えられるが、どれだけ前の計測値を用いて良いのかを容易に決定することはできなかった。
【０００６】
本発明は以上の問題に鑑みて成されたものであり、現実空間の画像の取得時刻に略同じ時刻に取得された位置姿勢に基づく仮想空間の画像を生成すべく、現実空間の画像の取得時刻と、位置姿勢の取得時刻とのずれを求めるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【０００８】
即ち、現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した撮像画像を、当該撮像画像の取得時刻と対応づけて格納する第１の格納制御工程と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得工程と、
前記位置姿勢取得工程で取得した位置姿勢を、当該位置姿勢の取得時刻と対応づけて格納する第２の格納制御工程と、
時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する生成工程と、
前記生成工程で生成した画像群を一覧表示する表示工程と、
前記表示工程で表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定工程と
を備えることを特徴とする。
【０００９】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００１０】
即ち、現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した撮像画像を、当該撮像画像の取得時刻とセットにして格納する第１の格納制御工程と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得工程と、
前記位置姿勢取得工程で取得した位置姿勢を、当該位置姿勢の取得時刻とセットにして格納する第２の格納制御工程と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する第１の生成工程と、
前記第１の生成工程で生成した画像群を一覧表示する第１の表示工程と、
前記第１の表示工程で表示した画像群のうち、指示された１つの画像を前記第１の生成工程で生成する際に用いた位置姿勢に対応する前記時刻（ｔ−ｄ）において、当該ｄ近傍の時刻ｄｓ＝ｄｓ１，ｄｓ２，、、、ｄｓＤを設定する設定工程と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄｓ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄｓ＝ｄｓ１，ｄｓ２，、、ｄｓＤのそれぞれについて生成する第２の生成工程と、
前記第２の生成工程で生成した画像群を一覧表示する第２の表示工程と、
前記第２の表示工程で表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定工程と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１２】
即ち、現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得手段と、
前記画像取得手段が取得した撮像画像を、当該撮像画像の取得時刻と対応づけて格納する第１の格納制御手段と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得手段と、
前記位置姿勢取得手段が取得した位置姿勢を、当該位置姿勢の取得時刻と対応づけて格納する第２の格納制御手段と、
時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する生成手段と、
前記生成手段が生成した画像群を一覧表示する表示手段と、
前記表示手段が表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定手段と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１４】
即ち、現実空間の動画像を撮像する撮像装置から、各フレームの撮像画像を取得する画像取得手段と、
前記画像取得手段が取得した撮像画像を、当該撮像画像の取得時刻とセットにして格納する第１の格納制御手段と、
前記撮像装置の位置姿勢を計測するセンサから、前記撮像装置の位置姿勢を順次取得する位置姿勢取得手段と、
前記位置姿勢取得手段が取得した位置姿勢を、当該位置姿勢の取得時刻とセットにして格納する第２の格納制御手段と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄ＝ｄ０，ｄ１，、、Ｄのそれぞれについて生成する第１の生成手段と、
前記第１の生成手段が生成した画像群を一覧表示する第１の表示手段と、
前記第１の表示手段が表示した画像群のうち、指示された１つの画像を前記第１の生成手段で生成する際に用いた位置姿勢に対応する前記時刻（ｔ−ｄ）において、当該ｄ近傍の時刻ｄｓ＝ｄｓ１，ｄｓ２，、、、ｄｓＤを設定する設定手段と、
指示された時刻ｔに対応する撮像画像上に、時刻（ｔ−ｄｓ）に対応する位置姿勢を有する視点から見える仮想空間の画像を重畳させた画像を、ｄｓ＝ｄｓ１，ｄｓ２，、、ｄｓＤのそれぞれについて生成する第２の生成手段と、
前記第２の生成手段が生成した画像群を一覧表示する第２の表示手段と、
前記第２の表示手段が表示した画像群のうち、指示された画像に対応する時刻に基づき時間ズレを調整するための調整条件を設定する設定手段と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の構成によって、現実空間の画像の取得時刻に略同じ時刻に取得された位置姿勢に基づく仮想空間の画像を生成すべく、現実空間の画像の取得時刻と、位置姿勢の取得時刻とのずれを求めることができる。
【発明を実施するための最良の形態】
【００１６】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１７】
［第１の実施形態］
図１は、現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理を実行する、本実施形態に係るシステムの外観を示す図である。
【００１８】
同図において１２０はトランスミッタで、磁場を発生させる。本実施形態では位置姿勢計測のためのシステムとしては、米国Polhemus社製FASTRAK（登録商標）に代表されるような位置姿勢計測装置を用いるのであるが、以下の説明の本質はこれに限定するものではなく、ジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を画像から計測する技術を用いても良い。
【００１９】
１００は観察者の頭部に装着し、現実空間と仮想空間とを合成した画像を観察者の眼前に提供する為の頭部装着型表示装置（以下、ＨＭＤ：Head Mounted Displayと呼称する）で、カメラ１０２Ｒ、１０２Ｌ、表示装置１０１Ｒ、１０１Ｌ、磁気レシーバ１０５により構成されている。
【００２０】
カメラ１０２Ｒ、１０２ＬはそれぞれＨＭＤ１００を頭部に装着した観察者の右目、左目の位置から見える現実空間を連続して撮像するものであり、撮像した各フレームの画像は後段のコンピュータ１０３に出力される。なお、以下では右目用カメラ１０２Ｒ、左目用カメラ１０２Ｌのそれぞれを区別しない限り、まとめて「カメラ１０２」と呼称する場合がある。
【００２１】
表示装置１０１Ｒ、１０１Ｌはそれぞれ、観察者がＨＭＤ１００を頭部に装着したときに右目、左目の眼前に位置するようにＨＭＤ１００に装着されたものであり、後段のコンピュータ１０３から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ１０３が生成した画像が提供されることになる。なお、以下では右目用表示装置１０１Ｒ、左目用表示装置１０１Ｌのそれぞれを区別しない限り、まとめて「表示装置１０１」と呼称する場合がある。
【００２２】
磁気レシーバ１０５は、上記トランスミッタ１２０が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置１０４に出力するものである。検知した結果の信号は、トランスミッタ１２０の位置を原点とし、この原点の位置で互いに直交する３軸をｘ、ｙ、ｚ軸とする座標系（以下、センサ座標系と呼称する）において、磁気レシーバ１０５の位置姿勢に応じて検知される磁場の変化を示す信号である。
【００２３】
位置姿勢計測装置１０４は、この信号に基づいて、センサ座標系における磁気レシーバ１０５の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ１０３に出力される。
【００２４】
１０７は、磁気レシーバ１０５による計測値を補正するために配置されたマーカであるが、補正処理を行わない場合にはこのマーカは必要ない。
【００２５】
１１１は現実物体であり、現実物体１１０に重畳させるべく配置されるものである。これにより、現実物体１１０の色や表面の柄などを変えて観察者に提示することができる。このような機能は、形のみを再現したモックアップに仮想空間映像として、さまざまなデザインを適用し、デザインを検証する用途などで用いられる。
【００２６】
現実物体１１０には磁気レシーバ１０５と同様の磁気レシーバ１０６が取り付けられており、磁気レシーバ１０６は上記トランスミッタ１２０が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置１０４に出力するものである。検知した結果の信号は、センサ座標系において、磁気レシーバ１０６の位置姿勢に応じて検知される磁場の変化を示す信号である。
【００２７】
位置姿勢計測装置１０４は、この信号に基づいて、センサ座標系における磁気レシーバ１０６の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ１０３に出力される。
【００２８】
１０３はコンピュータで、ＨＭＤ１００の表示装置１０１Ｒ、１０１Ｌに出力すべき画像信号を生成したり、位置姿勢計測装置１０４からのデータを受け、これを管理したり等の処理を行う。このコンピュータは一般的には例えばＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等により構成される。図１１は、コンピュータ１０３の基本構成を示す図である。
【００２９】
１１０１はＣＰＵで、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているプログラムやデータを用いてコンピュータ１０３全体の制御を行うと共に、Ｉ／Ｆ１１０７に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ１０３が行うべき処理として後述する各処理を行う。また、ＣＰＵ１１０１内部には不図示のタイマが設けられており、現在時刻を計時することができる。
【００３０】
１１０２はＲＡＭで、外部記憶装置１１０５からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、ＣＰＵ１１０１が各種の処理を実行する際に必要なワークエリアも備える。
【００３１】
１１０３はＲＯＭで、ブートプログラムやコンピュータ１０３の設定データなどを格納する。
【００３２】
１１０４は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、各種の指示をＣＰＵ１１０１に対して入力することができる。
【００３３】
１１０５は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにＯＳ（オペレーティングシステム）やＣＰＵ１１０１に後述する各処理を実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、ＣＰＵ１１０１の制御により、ＲＡＭ１１０２にロードされる。また、後述の説明で、既知のデータ（情報）として説明するもの（もしくは以下説明する処理で必要となるべきデータ）もまたこの外部記憶装置１１０５に保存されており、必要に応じてＣＰＵ１１０１の制御により、ＲＡＭ１１０２にロードされる。
【００３４】
１１０６は表示部で、ＣＲＴや液晶画面等により構成されており、ＣＰＵ１１０１による処理結果を画像や文字等でもって表示することができる。
【００３５】
１１０７はＩ／Ｆで、ここに上記位置姿勢計測装置１０４、ＨＭＤ１００等が接続されており、このＩ／Ｆ１１０７を介して、コンピュータ１０３は位置姿勢計測装置１０４、ＨＭＤ１００等とのデータ通信を行うことができる。
【００３６】
１１０８は上述の各部を繋ぐバスである。
【００３７】
以上の構成を備えるコンピュータ１０３は、カメラ１０２Ｒ、１０２Ｌそれぞれから得られる現実空間の画像を取り込むとと共に、磁気レシーバ１０５、１０６から得られる位置姿勢に基づいてカメラ１０２Ｒ、１０２Ｌから見える仮想物体１１１の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置１０１Ｒ、１０１Ｌに出力する。これにより、ＨＭＤ１００を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
【００３８】
図２は、このような複合現実空間の画像を生成し、ＨＭＤ１００に出力するための一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ１１０１に実行させるためのプログラムやデータは外部記憶装置１１０５に保存されており、これをＲＡＭ１１０２にロードし、ＣＰＵ１１０１の処理対象とすることで、コンピュータ１０３は以下説明する各処理を実行することになる。
【００３９】
先ず、カメラ１０２Ｒ、１０２Ｌより撮像された現実空間の画像はＩ／Ｆ１１０７を介してコンピュータ１０３に入力されるので、これを順次ＲＡＭ１１０２に格納する（ステップＳ２０１）。
【００４０】
次に、ＨＭＤ１０１に固定されたセンサ１０５および現実空間の物体１１０に固定されたセンサ１０６の位置姿勢の計測値を読み取る。計測値は位置姿勢計測装置１０４からシリアル通信などの手段でＰＣ１０３に取り込まれる（ステップＳ２０２）。
【００４１】
次に、ステップＳ２０１でＲＡＭ１１０２に取得した現実空間の画像からマーカ１０７を画像認識し、画像中のマーカ１０７の位置から、ステップＳ２０２で得た「磁気レシーバ１０５の位置姿勢」を補正する（ステップＳ２０３）。本ステップによる処理は、位置姿勢すべての情報を正確に出力できるセンサを用いた場合には不要であるが、一般に多く用いられている磁気センサでは周囲の環境による誤差を補正するため、よく行われる処理である。またセンサが姿勢のみしか計測できない場合、また姿勢にも長時間の計測により姿勢ずれが生じる場合などは、位置の計測を画像によって行ったり、姿勢ずれを画像で補正するといった事が行われる。また、この補正方法についてはこの方法に限定するものではなく、様々な方法が提案されている。
【００４２】
そして、次に、ステップＳ２０１でＲＡＭ１１０２上に取得した現実空間の画像をＲＡＭ１１０２内の所定のエリア内に描画し（ステップＳ２０４）、その上にカメラ１０２Ｒ、１０２Ｌの位置姿勢に応じて見える仮想空間の画像を描画する（ステップＳ２０５）。これにより、ＲＡＭ１１０２内の所定のエリアには複合現実空間の画像が生成されていることになる。
【００４３】
なお、仮想空間の画像を生成する際には、現実物体１１０に取り付けられた磁気レシーバ１０６が計測した位置姿勢でもって仮想物体１１１を仮想空間内に配置する処理を行うので、観察者がこの仮想物体１１１の配置位置側を見ると、この位置に仮想物体１１１が見えることになる。
【００４４】
そしてＲＡＭ１１０２内の所定のエリアに生成された複合現実空間の画像（合成画像）をＩ／Ｆ１１０７を介してＨＭＤ１００の表示装置１０１に出力する（ステップＳ２０６）。
【００４５】
以上、ステップＳ２０１からステップＳ２０６が１フレームの処理であり、ステップＳ２０７で終了の通知を受けるまで以上の処理を繰り返す。
【００４６】
そして、以上の処理の終了指示が、例えば操作部１１０４を操作して入力されたことをＣＰＵ１１０１が検知した場合には本処理を終了する。
【００４７】
なお、本実施形態では、センサとして磁気センサを用いたが、超音波センサなど、他のタイプのものを用いるようにしても良い。
【００４８】
ここで、以上の処理において、実際にはステップＳ２０１における処理、即ち、現実空間の画像の取得には、ステップＳ２０２における処理（センサによる計測値の取得処理）よりも時間がかかるために、ステップＳ２０１でＲＡＭ１１０２上に取り込んだ現実空間の時刻と、ステップＳ２０２で取得した磁気レシーバ１０５の位置姿勢の時刻との間には差（タイムラグ）が生じてしまう。
【００４９】
現実空間の画像の取得は、位置姿勢の取得に遅れる。そして現実空間の画像の取得が完了する頃には、次の（もしくはそれ以降の）位置姿勢が取得されていることになる。よって、観察者が自身の頭部を動かしている最中に、同時に位置姿勢の計測、現実空間の撮像を行っても、ステップＳ２０１で取り込んだ映像が示す現実空間の視点の位置姿勢と、ステップＳ２０２で取得した磁気レシーバ１０５の位置姿勢に基づく視点の位置姿勢とが一致しない。よって、ステップＳ２０２で取得した位置姿勢に基づいて仮想空間の画像を生成しても、現実空間の画像とは異なる位置姿勢の視点で生成されたものとなり、現実物体１１０と仮想物体１１１とは互いにずれて描画されてしまう。
【００５０】
図３は、このタイムラグが生ずるが故に発生する、現実物体１１０と仮想物体１１１とのずれを説明する図である。なお、各画像３０１から３０８は同時に表示されるものではなく、この順に表示されるものである。またそれぞれの画像は、ＨＭＤ１００に備わっている表示装置１０１に表示されるものである。
【００５１】
仮想物体１１１は現実物体１１０の位置に重畳するために、現実物体１１０と同じ位置姿勢で配置する。よって、理想的には表示装置１０１の表示画面には仮想物体１１１は常に現実物体１１０に重なって表示されることになる。
【００５２】
先ず画像３０１では、観察者の頭部は動いていないので、現実物体１１０と仮想物体１１１とが全く同じ位置姿勢でもって表示されている。ここで、観察者が自身の頭部を動かすと、当然、表示装置１０１の表示画面内の仮想物体１１１、現実物体１１０の位置が変わる。ここで頭部を左側に回すと、仮想物体１１１、現実物体１１０は共に表示画面内で右側に動くのであるが、上記タイムラグが生ずるが故に、画像３０２に示す如く、現実物体１１０は、仮想物体１１１を描画するために用いた視点の位置姿勢よりも前に取得された位置姿勢の視点から見たものとなっており、その結果、それらの表示にずれが生じている。これは、頭部の移動に追従して仮想空間の画像は生成されるものの、頭部の移動後に取得されるべき現実空間の画像の取得がまだ終わっていないので（即ち上記タイムラグがあるが故に）、前のフレームの画像のままであることに起因する。
【００５３】
そしてその後も観察者が自身の頭部を左側に見渡し続けると、画像３０３，３０４に示す如く、現実物体１１０は仮想物体１１１の移動に遅れて表示される。
【００５４】
ここで、観察者の頭部を左側に回している途中でいきなり右側に回すと、画像３０５に示す如く、仮想物体１１１は表示画面内では同図矢印３５０で示す方向に移動するのであるが、先の理由により、現実物体１１０は遅れて移動するので、矢印３５１で示す方向に移動する。よって、現実物体１１０、仮想物体１１１のそれぞれが位置して見えるのはこのようなことが原因となっている。
【００５５】
そしてその後も観察者が自身の頭部を右側に回し続けると、画像３０６，３０７に示す如く、現実物体１１０は仮想物体１１１の移動に遅れて表示される。
【００５６】
そして、観察者が自身の頭部の回転を止めると、画像３０１と同様に、仮想物体１１１、現実物体１１０は一致して表示される。
【００５７】
よって、本実施形態では、このタイムラグを求め、現実空間上に重畳させる仮想空間の画像を生成する際には、この現実空間の画像の取得時刻よりも求めたタイムラグ分だけ前に取得した位置姿勢に基づいて仮想空間の画像を生成する。これにより、それぞれの画像で視点の位置姿勢は略一致するので、現実物体１１０と仮想物体１１１とが互いにずれて描画されることはない。
【００５８】
以下では、このタイムラグを求める処理について説明する。
【００５９】
先ず、観察者は自身の頭部にＨＭＤ１００を装着し、自身の頭部を適当に動かす。簡単には、左右に振る。観察者がこのような動作を行っている際、コンピュータ１０３は以下説明する各処理を実行する。
【００６０】
図４は、観察者が上記動作を行っている間にコンピュータ１０３によって行われる処理、即ち、ＨＭＤ１００に備わっているカメラ１０２によって撮像された現実空間の画像を取得し、取得した画像を取得時刻と共に外部記憶装置２０５に保存する処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ１１０１に実行させるためのプログラムやデータは外部記憶装置２０５からＲＡＭ１１０２上にロードされており、ＣＰＵ１１０１がこれを用いて処理を実行することで、コンピュータ１０３は以下説明する各処理を実行することになる。
【００６１】
図５は、観察者が上記動作を行っている間にコンピュータ１０３によって行われる処理、即ち、ＨＭＤ１００に備わっている磁気レシーバ１０５によって計測されたＨＭＤ１００の位置姿勢、磁気レシーバ１０６によって計測された現実物体１１０の位置姿勢を取得し、取得した位置姿勢を取得時刻と共に外部記憶装置２０５に保存する処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ１１０１に実行させるためのプログラムやデータは外部記憶装置２０５からＲＡＭ１１０２上にロードされており、ＣＰＵ１１０１がこれを用いて処理を実行することで、コンピュータ１０３は以下説明する各処理を実行することになる。
【００６２】
なお、図４，５のそれぞれに示したフローチャートに従った処理は遅れなく実行されることが望ましいため、リアルタイムＯＳ上で独立したタスク、マルチスレッドＯＳ上においては別スレッドで実行される事が望ましい。
【００６３】
先ず、図４に示したフローチャートに従った処理について説明する。
【００６４】
ＨＭＤ１００に備わっているカメラ１０２は上述の通り、現実空間の動画像を撮像する。撮像した各フレームの画像はＩ／Ｆ１１０７を介して本コンピュータ１０３に入力される。ＣＰＵ１１０１はこれをＲＡＭ１１０２上に取得する（ステップＳ４０１）。一般に高フレームレートの動画像の取得では、別のスレッドもしくはタスクで独立して画像の取り込みが行われている例が多く、本実施形態でもステップＳ４０１では基本ソフトのAPIからの取り込み処理終了の呼び出しを受けて、既にバッファに一次保存されているデータを、コンピュータ１０３内に取り込む事を想定している。
【００６５】
次に、ＣＰＵ１１０１は現在時刻を内部タイマによって計時しているので、ステップＳ４０１で画像を取得した時刻（Ｉ／Ｆ１１０７を介して入力された画像のデータをＲＡＭ１１０２上に記録完了した時刻）を計時し（ステップＳ４０２）、計時した時刻データを、ステップＳ４０１で取得した画像のデータと対応づけて外部記憶装置２０５に保存する（ステップＳ４０３）。
【００６６】
なお、基本ソフトの仕組みによっては、上記ステップＳ４０１で説明した画像の取得の前に、基本ソフト内での取り込み処理の終了を検知した時点で時刻を計測する事が望ましい場合もある。
【００６７】
そして、次に本コンピュータ１０３に入力される現実空間画像のデータ及び取得時刻を記録するための記録領域を外部記憶装置２０５内に確保すると共に、この記録領域にデータが記録されるように記録位置を更新する（ステップＳ４０４）。なお、予め記録領域を一括して確保している場合には、逐一記録領域の確保処理は必要ない。
【００６８】
以上の処理を処理の終了指示が入力されるまで行う。なお、図４のフローチャートに従った処理の終了判断に関しては、後述する観察者の遅れ時間を判断する処理を始める時に止めて、PCの負荷を減らす事もできるし、処理量に余裕がある場合は、記録領域をリング状に確保し、常に過去一定時間内のデータを保持し続けるようにする事も可能である。
【００６９】
次に、図５に示したフローチャートに従った処理について説明する。
【００７０】
上述の通り、磁気レシーバ１０５は自身の位置姿勢に応じた信号を位置姿勢計測装置１０４に出力し、位置姿勢計測装置１０４はこの信号に基づいたデータをコンピュータ１０３に入力する。磁気レシーバ１０６も同様に自身の位置姿勢に応じた信号を位置姿勢計測装置１０４に出力し、位置姿勢計測装置１０４はこの信号に基づいたデータをコンピュータ１０３に入力する。よって、ＣＰＵ１１０１は磁気レシーバ１０５の位置姿勢を示すデータ（センサ値）、磁気レシーバ１０６の位置姿勢を示すデータ（センサ値）をＲＡＭ１１０２上に取得する（ステップＳ５０１）。
【００７１】
実際にはセンサはシリアル通信等の何らかの通信手段で本コンピュータ１０３に接続されており、アクティブにセンサ値の取得を行うよりも、つねに通信路を監視しており、センサからの出力があった瞬間を検知できるのが、誤差や余分な遅れを伴わない望ましい。
【００７２】
また、ＣＰＵ１１０１は位置姿勢のデータの取得時刻を計測し（ステップＳ５０２）、計測した時刻のデータを、ステップＳ５０１で取得した位置姿勢のデータと対応づけて外部記憶装置２０５に保存する（ステップＳ５０３）。
【００７３】
そして、次に本コンピュータ１０３に入力される位置姿勢のデータ及び取得時刻を記録するための記録領域を外部記憶装置２０５内に確保すると共に、この記録領域にデータが記録されるように記録位置を更新する（ステップＳ５０４）。なお、予め記録領域を一括して確保している場合には、逐一記録領域の確保処理は必要ない。
【００７４】
以上の処理を処理の終了指示が入力されるまで行う。図５の処理の終了判断に関しては、図４の終了処理の判断と同様である。
【００７５】
次に、タイムラグを求める処理について図６を用いて説明する。なお、同図のフローチャートに従った処理をＣＰＵ１１０１に実行させるためのプログラムやデータは外部記憶装置２０５からＲＡＭ１１０２にロードされており、これを用いてＣＰＵ１１０１が処理を行うことで、コンピュータ１０３は以下説明する処理を実行することになる。
【００７６】
なお、同図のフローチャートに従った処理は、図４，５に示したフローチャートに従った処理の完了後に行われるものである。即ち図６に示したフローチャートに従った処理は、図４のフローチャートに従った処理によって外部記憶装置２０５に保存された「現実空間の画像とこの画像の取得時刻とのセット群」、図５のフローチャートに従った処理によって外部記憶装置２０５に保存された「位置姿勢と取得時刻とのセット群」を用いて実行されるものである。
【００７７】
先ず、以下の処理で用いる変数ｄが保持する値を０に初期化する（ステップＳ６０１）。次に、時刻ｔにおける現実空間の画像をＲＡＭ１１０２上に描画する（ステップＳ６０２）。この時刻ｔは、操作者が操作部１１０４を用いて指示する。なお、この時刻ｔは図４（もしくは図５）のフローチャートに従った処理でもって外部記憶装置２０５に保存された「取得時刻」が取りうる範囲内の値とする。
【００７８】
時刻ｔが、図４（もしくは図５）のフローチャートに従った処理でもって外部記憶装置２０５に保存された「取得時刻」の何れかであった場合には、取得時刻ｔと対応づけて外部記憶装置２０５に保存されている現実空間の画像を読み出す。
【００７９】
また、時刻ｔが、図４（もしくは図５）のフローチャートに従った処理でもって外部記憶装置２０５に保存された「取得時刻」の何れでもない場合は、「取得時刻」のうち時刻ｔに最も近い時刻ｔ１に対応づけられて外部記憶装置２０５に保存されている現実空間の画像を読み出す。
【００８０】
また、より高精度な処理を行うために、時刻ｔが「取得時刻」の何れでもない場合は、位置姿勢のデータを補間し、当該時刻の予測データを計算するようにしても構わない。
【００８１】
センサ値の線形補間について具体的に説明する。位置情報を補間するには、典型的に位置情報として計測される、ｘ、ｙ、ｚの座標値のそれぞれを計測時刻をパラメータとして線形補間すればよい。姿勢情報に関してはアジマス、エレベーション、ロールで表されるオイラー角表現がよく使われるが、オイラー角表現では一般に補間ができない事が知られている。
【００８２】
補間を行うには、姿勢情報をクォータニオンに変換し、クォータニオンのそれぞれの要素を補間する事で姿勢の補間が可能である。またクォータニオンを四次元のベクトルとして扱い、そのベクトルを四次元の超球面上で球面線形補間することで、より正確な補間を行う事ができる。さらに線形補間ではなく、三次補間、スプライン補間を適用して、位置および、姿勢を補間することにより、より正確な補間を行うことができる。
【００８３】
以上の処理により、指定された時刻ｔにおける現実空間の画像がＲＡＭ１１０２に読み出される。
【００８４】
次に、時刻（ｔ−ｄ）における位置姿勢を用いて、この位置姿勢を有する視点から見える仮想空間の画像を生成する。
【００８５】
以上のように、時刻（ｔ−ｄ）における位置姿勢から見える仮想空間の画像がＲＡＭ１１０２上に描画される。
【００８６】
以上の処理において、画像や位置姿勢の補間を行う場合があるが、補間の方式は線形補間で十分であるが、スプライン曲線へのフィッティング等よりスムーズな補間も必要とされる可能性もある。
【００８７】
そして次に、ステップＳ６０３で生成した仮想空間の画像を先にステップＳ６０２でＲＡＭ１１０２上に描画した現実空間の画像上に重畳して描画する（ステップＳ６０４）。これにより、複合現実空間の画像が１枚生成できたことになる。
【００８８】
そして、次に、予め決められた枚数の複合現実空間の画像が生成できたのかをチェックし（ステップＳ６０５）、できていない場合には処理をステップＳ６０９に進め、変数ｄが保持する値に値ｘを加算して更新し（ステップＳ６０９）、その後処理をステップＳ６０２に戻し、以降の処理を繰り返す。
【００８９】
よって、所定枚数の複合現実空間の画像が生成された場合、それらは、時刻ｔにおける現実空間の画像上に時刻（ｔ−ｄ）（ｄ＝０，ｘ，２ｘ，、、Ｄ）における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた画像群がＲＡＭ１１０２上に記憶されていることになる。なお、この「Ｄ」については、上記時刻ｔの取りうる範囲がＴ１≦ｔ≦Ｔ２の場合には、Ｄ≦ｔ−Ｔ１を満たすように設定する。また、値ｘについては、例えば磁気レシーバ１０５、１０６による位置姿勢の取得時刻間隔に設定する。
【００９０】
ステップＳ６０５におけるチェック処理で、予め決められた枚数の複合現実空間の画像が生成できたと判断した場合には処理をステップＳ６０６に進め、以上の処理で生成した複数枚の複合現実空間の画像を表示部１１０６の表示画面上に一覧表示する（ステップＳ６０６）。
【００９１】
図７は、生成された複数枚（同図では４枚）の複合現実空間を一覧表示したときの表示例を示す図である。７００は表示部１１０６における表示画面で、表示画面７００内には７０１から７０４で示す如く４枚の複合現実空間の画像が一覧表示されている。ここで、画像７０１はｄ＝０の場合に生成した複合現実空間の画像、画像７０２はｄ＝ｘの場合に生成した複合現実空間の画像、画像７０３はｄ＝２ｘの場合に生成した複合現実空間の画像、画像７０４はｄ＝３ｘの場合に生成した複合現実空間の画像とする。
【００９２】
ここでそれぞれの画像７０１〜７０４を参照すると画像７０１，７０２，７０４では現実物体１１０と仮想物体１１１とはその位置姿勢が異なって描画されているが、画像７０３では現実物体１１０と仮想物体１１１とはその位置姿勢が一致して描画されている。これは即ち、上記タイムラグが３ｘであることを意味している。よって、観察者はこの表示画面７００に表示されているそれぞれの画像を見て、仮想物体１１１と現実物体１１０とがより一致して表示されている画像を操作部１１０４を用いて指示する。指示方法については例えば指示対象の画像上にマウスカーソルを移動させ、画像上でクリックする。
【００９３】
ＣＰＵ１１０１は画像の指示を検知する（ステップＳ６０７）と、指示された画像を生成する際に用いたｄの値を、上記タイムラグとして外部記憶装置２０５に保存する（ステップＳ６０８）。
【００９４】
以上の処理によって、上記タイムラグを取得することができる。
【００９５】
次に、取得したタイムラグを用いて、ＨＭＤ１００の位置姿勢が変化しても、複合現実空間の画像上で現実物体１１０と仮想物体１１１とが一致するような複合現実空間の画像を生成する処理について、図８を用いて説明する。なお、同図において、図２と同じ処理ステップについては同じステップ番号を付けており、その説明は省略する。
【００９６】
なお、同図のフローチャートに従った処理をＣＰＵ１１０１に実行させるためのプログラムやデータは外部記憶装置２０５からＲＡＭ１１０２にロードされており、これを用いてＣＰＵ１１０１が処理を行うことで、コンピュータ１０３は以下説明する処理を実行することになる。
【００９７】
ステップＳ８０１では、磁気レシーバ１０５が計測した位置姿勢、磁気レシーバ１０６が計測した位置姿勢がＩ／Ｆ１１０７を介してＲＡＭ１１０２に入力されるのであるが、これを少なくとも上記処理で求めたタイムラグα分だけ前のものまでをＲＡＭ１１０２上に記録しておき、現在時刻取りもαだけ前のものをステップＳ２０５で用いるものとして取得する。
【００９８】
これにより、ステップＳ２０５では現在時刻ｔよりもタイムラグαの分だけ前の位置姿勢を用いて仮想空間の画像を生成することができ、上記タイムラグに起因して生ずる、複合現実空間の画像上に置ける現実物体１１０と仮想物体１１１とのずれを軽減することができる。
【００９９】
なお本実施形態では、ステップＳ６０２における処理を行うための時刻ｔの設定はコンピュータ１０３の操作者が操作部１１０４を用いて入力していたが、これに限定するものではなく、コンピュータ１０３側で決定するようにしても良い。
【０１００】
例えば、図５に示したフローチャートに従った処理で得られた位置姿勢のデータ群を用いて、平均的な位置姿勢を求め、求めた位置姿勢となる時刻を「時刻ｔ」として設定するようにしても良い。
【０１０１】
また、本実施形態では現実物体１１０に磁気レシーバ１０６を装着していたが、現実物体１１０の位置姿勢を固定する場合には磁気レシーバ１０６を装着せずに、そのセンサ座標系における位置姿勢を予め計測しておいて、これをデータとして外部記憶装置２０５に保存しておき、これを用いるようにしても良い。
【０１０２】
このように、本実施形態は、同じ現実空間の画像に対して、複数の異なる時刻における位置姿勢に基づく仮想画像を合成し、操作者に提示する。そして、操作者から、目視により最も位置が合っているものを選択情報を取得する。本実施形態によれば、現実空間の画像とセンサ値の時間ズレを調整を簡単に行うことができる。
【０１０３】
［第２の実施形態］
第１の実施形態では、１つの現実空間の画像に対して、異なる時刻における位置姿勢に基づく仮想空間の画像を重畳させたものを一覧表示していたが、本実施形態では、それぞれ異なる時刻の現実空間の画像のそれぞれに対して、図６のフローチャートに従った処理を行う。
【０１０４】
即ち、図６のフローチャートでステップＳ６０１からＳ６０５，Ｓ６０９における処理を「時刻ｔ」の代わりに「時刻ｔα」について行い、次に、図６のフローチャートでステップＳ６０１からＳ６０５，Ｓ６０９における処理を「時刻ｔ」の代わりに「時刻ｔβ」について行う。
【０１０５】
よって、それぞれの時刻ｔα、ｔβにおいてそれぞれ４枚の複合現実空間の画像を生成した場合、ステップＳ６０６では図９に示す如く、時刻ｔαにおける現実空間の画像上に、ｄ＝０の場合に生成した仮想空間の画像を重畳させた画像９０１、時刻ｔαにおける現実空間の画像上に、ｄ＝ｘの場合に生成した仮想空間の画像を重畳させた画像９０２、時刻ｔαにおける現実空間の画像上に、ｄ＝２ｘの場合に生成した仮想空間の画像を重畳させた画像９０３、時刻ｔαにおける現実空間の画像上に、ｄ＝３ｘの場合に生成した仮想空間の画像を重畳させた画像９０４が表示されると共に、時刻ｔβにおける現実空間の画像上に、ｄ＝０の場合に生成した仮想空間の画像を重畳させた画像９０５、時刻ｔβにおける現実空間の画像上に、ｄ＝ｘの場合に生成した仮想空間の画像を重畳させた画像９０６、時刻ｔβにおける現実空間の画像上に、ｄ＝２ｘの場合に生成した仮想空間の画像を重畳させた画像９０７、時刻ｔβにおける現実空間の画像上に、ｄ＝３ｘの場合に生成した仮想空間の画像を重畳させた画像９０８が表示される。
【０１０６】
図９は、生成された複数枚（同図では８枚）の複合現実空間を一覧表示したときの表示例を示す図である。
【０１０７】
このように、複数の実写画像に対して候補を表示する事で、操作者は画像９０５のような紛らわしい合成画像に対して画像９０１の融合が正常でない事を容易に認識し、画像９０３、９０７のセンサ値の遅れ時間をより正確に選択する事が可能である。
【０１０８】
なお、以上の説明では、２つの時刻ｔα、ｔβのそれぞれについてｄを異ならせた複合現実空間の画像を、選択候補として一覧表示したが、２以上の時刻について行うようにしても良いことはいうまでもない。
【０１０９】
各調整パラメータについて、複数の画像を確認することができるので、簡単に高精度な調整を行うことができる。
【０１１０】
［第３の実施形態］
第１の実施形態では、一覧表示された複合現実空間の画像群のうち、１つを指示すると、その画像を生成する際の変数ｄの値をタイムラグとして決定していたが、本実施形態ではより性格にタイムラグを求めるべく、１つの画像を指示後、先ず、その画像を生成する際に用いた変数ｄ近傍の時間を複数設定する。例えば「ｄを中心に±０．１秒」というように設定する。この設定はＣＰＵ１１０１が行っても良いし、コンピュータ１０３の操作者が操作部１１０４を用いて入力するようにしても良い。
【０１１１】
次に、設定した複数の時間をｄｓ＝ｄｓ１，ｄｓ２，、ｄ、、、ｄｓＤとすると、図６のフローチャートに従った処理をｄの代わりにこのｄｓを用いて行うことで、時刻ｔにおける現実空間の画像上に、時刻（ｔ−ｄｓ１）における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた複合現実空間画像、時刻ｔにおける現実空間の画像上に、時刻（ｔ−ｄｓ２）における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた複合現実空間画像、、、時刻ｔにおける現実空間の画像上に、時刻（ｔ−ｄ）における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた複合現実空間画像、、、、時刻ｔにおける現実空間の画像上に、時刻（ｔ−ｄｓＤ）における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた複合現実空間画像、が表示部１１０６の表示画面上に一覧表示されることになる。図１０は、ｄｓ＝ｄｓ１，ｄｓ２，ｄｓ３，ｄｓ４のそれぞれの場合の複合現実空間の画像１００１，１００２，１００３，１００４の一覧表示例を示す図である。
【０１１２】
そして、このうち１つの画像を指示すると、指示した画像を生成する際に用いたｄｓの値をタイムラグとして外部記憶装置２０５に保存する。
【０１１３】
このように、一度ｄを決定しても、その近傍の時間で更に現実物体１１０と仮想物体１１１とのずれを確認することができるので、より正確にタイムラグを求めることができる。
【０１１４】
なお、本実施形態は適宜第２の実施形態と組み合わせて用いることもできる。
【０１１５】
本実施形態によれば、詳細な調整を行うことができる。
【０１１６】
［第４の実施形態］
次に第４の実施形態について説明する。
【０１１７】
本実施形態は現実空間の画像と仮想物体の画像とを合成表示する現実感装置において、第１乃至第３の実施形態に記載された計測手段を追加したものである。
【０１１８】
本実施形態の処理の手順を図１２を用いて説明する。基本的な構成に関しては第１の実施形態と同じである。
【０１１９】
まずステップＳ１１０１の複合現実感による合成画像の表示を行う。ここで行われる処理は、図２のステップＳ２０１からステップＳ２０６の処理と同様である。
【０１２０】
次に、ステップＳ１１０２でキーボードや、マウスなどの操作により、モード切替の指示の通知がされていないかを判断する。
【０１２１】
もしモード切替の通知がなければ、ステップＳ１１０５で複合現実感の全体の処理の終了通知の有無を判断し、終了の通知が無ければ、ステップ１１０１の合成画像表示の処理をくりかえす。
【０１２２】
もしステップＳ１１０２でモード切替の通知があった場合には、ステップＳ１１０３の時間ずれ計測処理に進む。
【０１２３】
ステップＳ１１０３の時間ずれ計測処理では、図４、図５、図６と同様の処理が行われる。
【０１２４】
次に、ステップＳ１１０４で計測終了の通知が無ければ、ステップＳ１１０３に戻って計測を続ける。
【０１２５】
ステップＳ１１０４で計測終了の通知が行われた場合には、計測された値に応じて、ステップＳ１１０６において、ステップＳ１１０１で使用される、画像とセンサのずれ時間を更新し、ステップ１１０１の複合現実感の合成画像の表示を行う。
【０１２６】
本実施形態によれば、複合現実感装置において、時間ずれの計測、時間ずれが何らかの外的要因で変化した場合の修正を簡易に、素早く行う事ができる。
【０１２７】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１２８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３０】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３１】
【図１】現実空間に仮想空間を重畳させた複合現実空間を観察者（ユーザ）に提供する処理を実行する、本実施形態に係るシステムの外観を示す図である。
【図２】複合現実空間の画像を生成し、ＨＭＤ１００に出力するための一連の処理のフローチャートである。
【図３】タイムラグが生ずるが故に発生する、現実物体１１０と仮想物体１１１とのずれを説明する図である。
【図４】観察者が上記動作を行っている間にコンピュータ１０３によって行われる処理、即ち、ＨＭＤ１００に備わっているカメラ１０２によって撮像された現実空間の画像を取得し、取得した画像を取得時刻と共に外部記憶装置２０５に保存する処理のフローチャートである。
【図５】観察者が上記動作を行っている間にコンピュータ１０３によって行われる処理、即ち、ＨＭＤ１００に備わっている磁気レシーバ１０５によって計測されたＨＭＤ１００の位置姿勢、磁気レシーバ１０６によって計測された現実物体１１０の位置姿勢を取得し、取得した位置姿勢を取得時刻と共に外部記憶装置２０５に保存する処理のフローチャートである。
【図６】タイムラグを求める処理のフローチャートである。
【図７】生成された複数枚（同図では４枚）の複合現実空間を一覧表示したときの表示例を示す図である。
【図８】取得したタイムラグを用いて、ＨＭＤ１００の位置姿勢が変化しても、複合現実空間の画像上で現実物体１１０と仮想物体１１１とが一致するような複合現実空間の画像を生成する処理のフローチャートである。
【図９】生成された複数枚（同図では８枚）の複合現実空間を一覧表示したときの表示例を示す図である。
【図１０】ｄｓ＝ｄｓ１，ｄｓ２，ｄｓ３，ｄｓ４のそれぞれの場合の複合現実空間の画像１００１，１００２，１００３，１００４の一覧表示例を示す図である。
【図１１】コンピュータ１０３の基本構成を示す図である。
【図１２】本発明の第４の実施形態の処理の手順を説明するフローチャートである。
【図１】
2006285786.tif 000003
【図２】
2006285786.tif 000004
【図３】
2006285786.tif 000005
【図４】
2006285786.tif 000006
【図５】
2006285786.tif 000007
【図６】
2006285786.tif 000008
【図７】
2006285786.tif 000009
【図８】
2006285786.tif 000010
【図９】
2006285786.tif 000011
【図１０】
2006285786.tif 000012
【図１１】
2006285786.tif 000013
【図１２】
2006285786.tif 000014