(57)【要約】【課題】現実指標と仮想指標を用いた位置合わせを、如何なるタイミングにおいても実行可能とする。【解決手段】現実空間映像と仮想空間映像とを融合した複合現実映像を生成・表示するＨＭＤ装置は、観察者の視点位置・視線方向を計測する目用位置センサを有する。ＨＭＤ装置は、この目用位置センサの計測座標系を現実空間における世界座標系に変換する変換パラメータを設定し、通常モードではその変換パラメータを用いて生成された仮想空間映像を含む複合現実映像を表示器に表示する（Ｓ５３０、Ｓ５０５、Ｓ５０６）。一方、初期設定モードの場合は、上記生成された仮想空間映像の描画を禁止し、変換パラメータの設定のための仮想指標を含む複合現実映像を表示器に表示する（Ｓ５３０、Ｓ５３１）。このような通常モードと初期設定モードといった運転モードの切替は、ユーザの操作に基づいて任意のタイミングで実行可能である。【選択図】　図５
2004126870.tif 000002
【特許請求の範囲】
【請求項１】
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する装置であって、
現実物体の位置姿勢を計測する計測手段と、
前記計測手段の計測座標系を現実空間の世界座標系に変換する変換パラメータと前記計測手段の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定手段と、
前記決定手段で決定された位置姿勢を用いてシナリオに基づく仮想空間像を生成する生成手段と、
前記生成手段で生成した仮想空間像と現実空間像と合成して表示器に表示する第１動作手段と、
前記生成手段で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作手段と、
前記第１及び第２動作手段の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替手段と
を備えることを特徴とする複合現実感提示装置。
【請求項２】
前記仮想指標は、前記表示器の所定位置に表示されることを特徴とする請求項１に記載の複合現実感提示装置。
【請求項３】
前記第２動作手段に切替られている間、前記生成手段におけるシナリオの進行を停止し、前記第１動作手段に切替られた場合には、該シナリオの当該停止時点から仮想空間像の生成が再開されることを特徴とする請求項１に記載の複合現実感提示装置。
【請求項４】
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する提示装置と、複数の提示装置に接続が可能な管理装置を備えた、複合現実感提示システムであって、
前記提示装置は、
現実物体の位置姿勢を計測する計測手段と、
前記計測手段の計測座標系を現実空間における世界座標系に変換する変換パラメータと前記計測手段の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定手段と、
前記決定手段で決定された変換パラメータと前記管理装置からの仮想空間像情報に基づいて仮想空間像を生成する生成手段と、
前記生成手段で生成された仮想空間像を現実空間像と合成して表示器に表示する第１動作手段と、
前記生成手段で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作手段と、
前記第１及び第２動作手段の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替手段とを備え、
前記管理装置は、
接続された提示装置のうち、前記第１動作手段で動作している装置より前記決定手段で決定された位置姿勢を受信する受信手段と、
前記受信手段で受信した位置姿勢と予め定められたシナリオに基づいて前記仮想空間像情報を生成し、接続された提示装置に出力する出力手段とを備えることを特徴とする複合現実感提示システム。
【請求項５】
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する方法であって、
現実物体の位置姿勢を計測する計測工程と、
前記計測工程の計測座標系を現実空間の世界座標系に変換する変換パラメータと前記計測工程の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定工程と、
前記決定工程で決定された位置姿勢を用いてシナリオに基づく仮想空間像を生成する生成工程と、
前記生成工程で生成した仮想空間像と現実空間像と合成して表示器に表示する第１動作工程と、
前記生成工程で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作工程と、
前記第１及び第２動作工程の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替工程と
を備えることを特徴とする複合現実感提示方法。
【請求項６】
前記仮想指標は、前記表示器の所定位置に表示されることを特徴とする請求項５に記載の複合現実感提示方法。
【請求項７】
前記第２動作工程に切替られている間、前記生成工程におけるシナリオの進行を停止し、前記第１動作工程に切替られた場合には、該シナリオの当該停止時点から仮想空間像の生成が再開されることを特徴とする請求項５に記載の複合現実感提示方法。
【請求項８】
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する提示装置と、複数の提示装置に接続が可能な管理装置を備えたシステムにおける複合現実感提示方法であって、
前記提示装置において、
現実物体の位置姿勢を計測する計測工程と、
前記計測工程の計測座標系を現実空間における世界座標系に変換する変換パラメータと前記計測工程の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定工程と、
前記決定工程で決定された変換パラメータと前記管理装置からの仮想空間像情報に基づいて仮想空間像を生成する生成工程と、
前記生成工程で生成された仮想空間像を現実空間像と合成して表示器に表示する第１動作工程と、
前記生成工程で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作工程と、
前記第１及び第２動作工程の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替工程とを備え、
前記管理装置において、
接続された提示装置のうち、前記第１動作工程で動作している装置より前記決定工程で決定された位置姿勢を受信する受信工程と、
前記受信工程で受信した位置姿勢と予め定められたシナリオに基づいて前記仮想空間像情報を生成し、接続された提示装置に出力する出力工程とを備えることを特徴とする複合現実感提示方法。
【請求項９】
請求項５乃至８のいずれかに記載の複合現実感提示方法をコンピュータによって実行するための制御プログラムを格納した記憶媒体。
【請求項１０】
請求項５乃至８のいずれかに記載の複合現実感提示方法をコンピュータによって実行するための制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオカメラなどから取り込まれた現実空間映像と、位置姿勢計測装置によって計測された視点位置・視線方向における仮想空間映像とを合成し複合現実空間映像を生成する複合現実感装置に関する。特に、現実空間映像と仮想空間映像を正しく合成するための初期位置合わせに関するものである。
【０００２】
【従来の技術】
複合現実感システムでは、現実空間と仮想空間を融合するために何らかの手段によって現実空間物体の３次元位置および姿勢を取得する必要がある。３次元位置及び姿勢の取得には、米国Ｐｏｌｈｅｍｕｓ社製ＦＡＳＴＲＡＫ（商標）に代表されるような位置姿勢計測装置を使うのが一般的な手法の一つである。
【０００３】
このような位置姿勢計測装置を利用する場合、観察者の視点位置・視線方向や現実物体の位置姿勢は位置姿勢計測装置座標系の値として得られる。このため、得られた座標値を複合現実空間の座標系、すなわち世界座標系に変換することが必要である。つまり位置姿勢計測装置座標系から世界座標系への変換パラメータが必要となる．これを取得するための手段として、現実指標と仮想指標を使う方式が知られている。以下具体的な手順を説明する。
【０００４】
複合現実空間として利用する現実空間内に設置される現実物体に、現実指標を予め設置する。そしてこれら現実指標の世界座標系における位置を測量しておき、これらの値を仮想指標に与える。つまり現実指標と仮想指標の位置を同じに設定する。続いてこれら仮想指標が表示画面に表示されるように基準位置姿勢を設定する。そして表示装置に基準位置姿勢での仮想指標を表示し、これらと現実指標が一致して見えるように表示装置の位置姿勢を調整、固定する。そして、この時点での位置姿勢計測装置の出力を記録する。以上の一連の作業で設定もしくは計測された値から変換パラメータが獲得される。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記手順によって、仮想指標と現実指標の表示画面上での位置合わせを行うことにより、表示装置を基準姿勢に固定しようとしている最中であっても、複合現実感システムは与えられたシナリオに沿って複合現実映像の生成を継続的に行っている。このため、場合によっては仮想オブジェクトが仮想指標や現実指標を覆い隠してしまい、位置合わせを行うことが出来なくなる場合があった。
【０００６】
本発明は上記の課題に鑑みてなされたものであり、どの様なタイミングであっても現実指標と仮想指標を用いた位置合わせを実行可能とすることを目的とする。
【０００７】
【課題を解決するための手段】
上記の目的を達成するための本発明による複合現実感提示装置は以下の構成を備える。すなわち、
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する装置であって、
現実物体の位置姿勢を計測する計測手段と、
前記計測手段の計測座標系を現実空間の世界座標系に変換する変換パラメータと前記計測手段の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定手段と、
前記決定手段で決定された位置姿勢を用いてシナリオに基づく仮想空間像を生成する生成手段と、
前記生成手段で生成した仮想空間像と現実空間像と合成して表示器に表示する第１動作手段と、
前記生成手段で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作手段と、
前記第１及び第２動作手段の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替手段とを備える。
【０００８】
また、上記の目的を達成するための本発明による複合現実感提示システムは以下の構成を備える。すなわち、
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する提示装置と、複数の提示装置に接続が可能な管理装置を備えた、複合現実感提示システムであって、
前記提示装置は、
現実物体の位置姿勢を計測する計測手段と、
前記計測手段の計測座標系を現実空間における世界座標系に変換する変換パラメータと前記計測手段の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定手段と、
前記決定手段で決定された変換パラメータと前記管理装置からの仮想空間像情報に基づいて仮想空間像を生成する生成手段と、
前記生成手段で生成された仮想空間像を現実空間像と合成して表示器に表示する第１動作手段と、
前記生成手段で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作手段と、
前記第１及び第２動作手段の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替手段とを備え、
前記管理装置は、
接続された提示装置のうち、前記第１動作手段で動作している装置より前記決定手段で決定された位置姿勢を受信する受信手段と、
前記受信手段で受信した位置姿勢と予め定められたシナリオに基づいて前記仮想空間像情報を生成し、接続された提示装置に出力する出力手段とを備える。
【０００９】
また、上記の目的を達成するための本発明による複合現実感提示方法は、
現実空間映像と仮想空間映像とを融合した複合現実映像を生成・表示する方法であって、
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する方法であって、
現実物体の位置姿勢を計測する計測工程と、
前記計測工程の計測座標系を現実空間の世界座標系に変換する変換パラメータと前記計測工程の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定工程と、
前記決定工程で決定された位置姿勢を用いてシナリオに基づく仮想空間像を生成する生成工程と、
前記生成工程で生成した仮想空間像と現実空間像と合成して表示器に表示する第１動作工程と、
前記生成工程で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作工程と、
前記第１及び第２動作工程の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替工程とを備える。
【００１０】
更に、上記の目的を達成する、本発明の他の形態による複合現実感提示方法は、
現実空間像と仮想空間像とを融合した複合現実映像を生成、表示する提示装置と、複数の提示装置に接続が可能な管理装置を備えたシステムにおける複合現実感提示方法であって、
前記提示装置において、
現実物体の位置姿勢を計測する計測工程と、
前記計測工程の計測座標系を現実空間における世界座標系に変換する変換パラメータと前記計測工程の計測結果に基づいて前記現実物体の前記世界座標系における位置姿勢を決定する決定工程と、
前記決定工程で決定された変換パラメータと前記管理装置からの仮想空間像情報に基づいて仮想空間像を生成する生成工程と、
前記生成工程で生成された仮想空間像を現実空間像と合成して表示器に表示する第１動作工程と、
前記生成工程で生成された仮想空間像の表示を禁止し、前記変換パラメータの設定のための仮想指標を現実空間像と合成して前記表示器に表示する第２動作工程と、
前記第１及び第２動作工程の切替を、ユーザの操作に基づいて任意のタイミングで実行する切替工程とを備え、
前記管理装置において、
接続された提示装置のうち、前記第１動作工程で動作している装置より前記決定工程で決定された位置姿勢を受信する受信工程と、
前記受信工程で受信した位置姿勢と予め定められたシナリオに基づいて前記仮想空間像情報を生成し、接続された提示装置に出力する出力工程とを備える。
【００１１】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
〈第１実施形態〉
図１は第１実施形態による現実物体設置器具を利用して得られた座標系の変換パラメータを取得後、運用される複合現実感システムの全体的な構成を示す図である。
【００１３】
図１において、観察者１００はヘッドマウントディスプレイ（ＨＭＤ）１１０を頭部に、グローブ１２０を手に装着している。
【００１４】
位置姿勢の計測対象である現実物体としてのＨＭＤ１１０は図２で示されるようにビデオカメラ１１１、ＬＣＤ１１２、位置姿勢計測装置受信機（目用位置センサ）１１３、光学プリズム１１４、１１５で構成されている。ビデオカメラ１１１は光学プリズム１１５によって導かれた観察者の視点位置および視線方向の現実空間映像を撮影する。目用位置センサ１１３は観察者の視点位置および視線方向を計測する。ＬＣＤ１１２は複合現実空間映像を表示し、その映像は光学プリズム１１４によって観察者の瞳に導かれる。
【００１５】
グローブ１２０には手用位置センサ１２１、スピーカ（不図示）が内蔵されている。手用位置センサ１２１は観察者の手の位置および方向を計測する。また、スピーカからは手の位置において発生したイベントに応じて音が出力される。例えば、手で仮想空間物体に触ったり叩いたりした時の音や、手の位置に同期して表示される仮想空間物体の状態が変わったときに発生する音などである。
【００１６】
１３０は位置姿勢計測装置発信機（位置センサ発信機）、１３１は位置姿勢計測装置本体（位置センサ本体）である。目用位置センサ１１３、手用位置センサ１２１、位置センサ発信機１３０は位置センサ本体１３１に接続されている。位置センサ発信機１３０からは磁気が発信されており、目用位置センサ１１３、手用位置センサ１２１でこれを受信する。位置センサ本体１３１は各位置センサから出力される受信強度から各位置センサの位置および方向を算出する。ここで位置姿勢計測装置としては米国Ｐｏｌｈｅｍｕｓ社製ＦＡＳＴＲＡＫ（商標）などが利用可能である。
【００１７】
１４０は観察者１人分の複合現実空間映像を生成し、ＨＭＤ１１０に表示する処理装置である。例えばパーソナルコンピュータとビデオキャプチャーカード、ＣＧ描画機能のあるビデオカード、サウンドカード等で構成される。処理装置１４０にはＨＭＤ１１０、スピーカ１２２、位置センサ本体１３１が接続されている。
【００１８】
１６０は本システムが複合現実空間として利用する現実空間領域である。本システムはこの領域内のみ仮想空間映像を合成する。この領域外の現実空間については仮想空間映像の融合は行われない。
【００１９】
１７０は複合現実空間内に設置される現実物体の例である。本システムはこれらの現実物体と仮想物体との接触、視点から見た仮想物体の前後関係を判断して、合理的な複合現実映像を生成している。例えば、視点から見たときに仮想物体がこれら現実物体の奥に位置するような場合、仮想物体の全体もしくは一部が現実物体に覆い隠されているように見える映像を観察者に提供する。このような処理を行うために、本システムはこれら現実物体の形状情報や設置位置を保持している。
【００２０】
図３乃至図５は、処理装置１４０内で動作するプログラムが、複合現実空間映像を生成する手順を説明するフローチャートである。プログラムには観察者が複合現実空間を体験することができる「通常モード」と、補正パラメータ（変換パラメータの一部）を取得する「初期設定モード」の２つのモードがある。
【００２１】
初めに処理装置１４０はメインプログラムを起動する。メインプログラムはまず動作モードを「通常モード」に設定し（ステップＳ３００）、位置姿勢スレッド、映像キャプチャスレッド、映像生成スレッドを起動する。（ステップＳ３０１〜Ｓ３０３）ここでスレッドとは処理装置１４０において並列処理される一連のプログラムである。そのため、動作モードなどの情報はメインプログラムとすべてのスレッドで共有される。
【００２２】
各スレッド起動後、メインプログラムはイベント待ちに入り、何らかのイベントが到着するまで待機しつづける（ステップＳ３０４）。ここでイベントとはユーザインターフェースからの入力、他のスレッドからの情報通知、ハードウェア割り込みなどで、具体的には動作モードの変更（ステップＳ３０５）、初期パラメータの変更（ステップＳ３０６）、補正パラメータ取得（ステップＳ３２０）、仮想指標位置変更（ステップＳ３３０）、終了イベント（ステップＳ３０７）などがある。
【００２３】
これらのイベントが到着した場合には、それぞれに応じた処理（ステップＳ３１０、Ｓ３１１、Ｓ３２１、Ｓ３３１、Ｓ３０８）が行われる。これらの処理の具体的説明は割愛するが、値の入力および変更などのすべてのシステムへの指示は、ウインドウシステムのような一般的なユーザインターフェースによって行うことができるものとする。
【００２４】
なお本実施形態において、変換パラメータとは、初期パラメータと補正パラメータをあわせたものを総称するものとする。これらについては後述する。
【００２５】
ステップＳ３０２で起動された映像キャプチャスレッドは、ビデオカメラ１１１で撮影された映像をデジタルデータとして取り込み、メインスレッドに出力しつづける。終了通知がない限りこの動作を繰り返し行う。
【００２６】
ステップＳ３０１で起動された位置姿勢スレッドの処理について、図４を参照して説明する。まず、位置センサ本体１３１から測定値を取得し（ステップＳ４０１）、動作モードに応じて処理を行う（ステップＳ４０２）。ここで、動作モードが「通常モード」なら、測定値と変換パラメータから世界座標系における測定対象物体の位置姿勢を計算し、その結果をメインスレッドに出力する（ステップＳ４０３，Ｓ４０４）。一方、動作モードが「初期設定モード」なら、測定値と基準姿勢から補正パラメータを計算し、基準位置姿勢をメインスレッドに出力する（ステップＳ４０６，Ｓ４０７）。以上の動作を終了通知が来るまで繰り返し行い続ける（ステップＳ４０５）。
【００２７】
次に、ステップＳ３０３で起動される映像生成スレッドの処理について、図５を参照して説明する。
【００２８】
まず、位置姿勢スレッドからの出力を受け、測定対象物体の位置姿勢を更新する（ステップＳ５０１、Ｓ５１０）。続いて仮想空間の時間を更新し仮想空間の状態（仮想空間物体の種類、位置、状態）を予め定められたシナリオに従って更新する（ステップＳ５０２）。このとき、現実空間物体の位置姿勢に同期して位置姿勢が変化する仮想空間物体がある場合はそれらも合わせて状態を更新する。例えば手の上に常に仮想空間物体のグローブが装着されているように見せる場合は、このステップでグローブの位置姿勢が更新される。また、視点から見た仮想物体の前後関係を判断して、仮想物体の一部もしくは全体が現実物体に覆い隠されているように見せるための処理もここで行われる。
【００２９】
続いて現実空間物体の位置姿勢（手の位置姿勢など）と仮想空間物体の位置姿勢の関係を調べ、あらかじめ定義されているイベントが発生したと判断される場合には、それに応じて仮想空間の状態を更新する（ステップＳ５０３）。例えば手で仮想空間物体に触れた場合に仮想空間物体が爆発するなどが考えられる。
【００３０】
続いてビデオカメラ１１１から得られた観察者の視点位置および視線方向での現実空間映像を取り込む（ステップＳ５０４、Ｓ５２０）。動作モードが「通常モード」であれば（ステップＳ５３０）、ステップＳ５０１で取得された観察者の視点位置および視線方向からの仮想空間映像を、ステップＳ５０２及びＳ５０３で更新された仮想空間の状態に応じて生成する（ステップＳ５０５）。
【００３１】
一方、動作モードが「初期設定モード」ならば、仮想指標のみを設定された位置に描画し、「通常モード」にて描画される仮想オブジェクトは全く描画を行なわない（ステップＳ５３１）。なお、上記処理では、初期設定モードで動作する間もシナリオ辞したがった仮想空間野時間更新が行なわれることになるが、シナリオに従った仮想空間の時間更新を初期設定モードの間は止めておき、通常モードに切り替わった際にはその停止時点からシナリオの進行を継続させるようにしてもよい。
【００３２】
最後に、上記ステップＳ５０５或いはＳ５３１で生成された仮想空間映像と、ステップＳ５０４で取り込まれた現実空間映像とを合成し、ＨＭＤ１１０のＬＣＤ１１２に出力する（ステップＳ５０６）。以上の動作を終了指示がなされるまで繰り返す（ステップＳ５０７）。
【００３３】
以上、本実施形態の複合現実感システムを構成する機器、複合現実空間映像生成の動作について説明した。次に、ステップＳ４０３での位置姿勢計算とステップＳ４０６の補正パラメータ取得の原理を詳細に説明する。
【００３４】
図６は各座標系の配置を示した図である。Ｇは世界座標系、Ｔは位置姿勢センサの発信機座標系、Ｓは位置姿勢センサの受信機座標系、Ｅは視点座標系である。Ｓ’、Ｅ’はそれぞれ視点位置・視線方向を基準位置姿勢に固定したときのセンサ座標系と視点座標系である。また、Ｐは位置を求めるべき点（視点）、Ｐ’は基準位置である。
【００３５】
ここで座標系Ａから見た点Ｐの位置をＡＰと表現することにする。また座標系Ａから見た点Ｐの位置ＡＰと座標系Ｂから見た点Ｐの位置ＢＰの間には、座標系Ａと座標系Ｂとの姿勢を記述する回転行列ＢＡＲを使って、ＡＰ＝ＢＡＲ　ＢＰと表すことができることが知られている。
【００３６】
以上のことより、求めるべき点Ｐの世界座標系における位置ＧＰと姿勢ＥＧＲは、
ＧＰ＝ＧＰ’−Ｅ’ＧＲ　Ｅ’Ｐ’＋ＴＧＲ（ＴＰＥｏｒｇ−ＴＰ’Ｅｏｒｇ）＋ＥＧＲ　ＥＰ
ＥＧＲ＝Ｅ’ＧＲ　Ｓ’ＴＲ−１　ＳＴＲ
と表記することができる。
【００３７】
ここで、ＴＧＲ＝Ｉとなるように位置姿勢センサ発信機を設置すれば、ＧＰ’は基準位置、Ｅ’ＧＲは基準姿勢、Ｅ’Ｐ’、ＥＰはセンサから測定点までのオフセット、ＴＰＥｏｒｇは位置測定値、ＴＰ’Ｅｏｒｇは基準位置姿勢での位置測定値、ＥＧＲは姿勢計算値、ＳＴＲは姿勢測定値、Ｓ’ＴＲ−１は基準位置姿勢での姿勢測定値の逆行列であり、すべて既知の行列で表現できる。つまり位置姿勢発信機座標系に依存せず計算することが可能になる。
【００３８】
なお、本実施形態でいうところの変換パラメータとは、上記、位置測定値ＴＰＥｒｏｇ、姿勢測定値ＳＴＲ以外の行列の総称である。変換パラメータは補正パラメータと初期パラメータに分けられる。
【００３９】
補正パラメータは、基準位置姿勢での位置測定値ＴＰ’Ｅｏｒｇと基準位置姿勢での姿勢測定値の逆行列Ｓ’ＴＲ−１の２つである。補正パラメータはステップＳ４０６で計算され、ステップＳ３２０，３２１の処理でシステムに保持される。
【００４０】
初期パラメータは基準位置ＧＰ’、基準姿勢Ｅ’ＧＲ、センサから測定点までのオフセットＥ’Ｐ’、ＥＰの３つである。初期パラメータはＳ３１１で入力された値もしくは処理装置が保持している値が利用される。
【００４１】
以上位置姿勢計算、変換パラメータについて説明した。次に変換パラメータを設定する手順について説明する。
【００４２】
まず複合現実空間として利用する現実空間内に設置される現実物体に、現実指標を予め設置する。そしてこれら現実指標の世界座標系における位置を測量しておき、これらの値を仮想指標に与える（ステップＳ３３１）。仮想指標の個数は特に限定されるものではなくいくつでもよい。現実指標の位置を変更した場合はその都度、現実指標の世界座標系における位置を再測量し、ステップＳ３３１で変更しなくてはならない。
【００４３】
続いてこれら仮想指標が表示画面に表示されるように基準位置姿勢を設定する。つまり初期パラメータを入力する（ステップＳ３０６，Ｓ３１１）。続いて「初期設定モード」に動作モードを変更する（ステップＳ３１０）。「初期設定モード」では、ＨＭＤ１１０の位置姿勢測定値が基準位置姿勢に固定される（ステップＳ４０７）。また仮想指標１９０が描画、表示される（ステップＳ５３０，５３１）。
【００４４】
続いて、設置器具を配置し、設置器具の所定の位置にＨＭＤ１１０を設置する。そして仮想指標と現実指標が一致して見えるように表示装置の位置姿勢を調整、固定する。最後にこの時点での目用位置センサ１１３による位置姿勢の計測値を用いて、補正パラメータ（基準位置姿勢での位置測定値基準位置姿勢での姿勢測定値の逆行列）を獲得する（ステップＳ３２０，Ｓ３２１）。以上の作業で変換パラメータが獲得される。
【００４５】
次に、ＨＭＤ１１０を基準位置姿勢に設置する方法を詳細に説明する。
【００４６】
図７は一般的な方式でＨＭＤ１１０を基準位置姿勢に設置した際の様子を示した図である。ＨＭＤ１１０を基準位置姿勢に固定するには現実物体設置器具２００が用いられる。現実物体設置器具２００は、現実物体としてのＨＭＤ１１０を基準位置に設置可能なように配置しなくてはならない。２１０はそのための設置用マークである。現実物体設置器具２００をこの設置用マーク２１０の上に配置すればＨＭＤ１１０を基準位置に設置できるように、設置用マーク２１０は予め世界座標系中の所定位置に貼り付けられている。
【００４７】
現実物体としてのＨＭＤ１１０を基準位置に設置するには、この状態でＨＭＤ１１０を現実物体設置器具２００の所定の位置に固定すればよい。現実物体設置器具２００とＨＭＤ１１０には予め印がつけられており、この印が重なるようにＨＭＤ１１０を現実物体設置器具２００にのせることで、ＨＭＤ１１０を基準位置に設置することができるように予め設計されている。より正確を期すためには専用の装着器具を作成し利用するのが望ましい。
【００４８】
ＨＭＤ１１０を基準姿勢に設置するには、「初期設定モード」において仮想指標と現実指標を表示画面上で一致させてやればよい。仮想指標１９０が表示されたときのＨＭＤ１１０の表示状態を図８、図９に示す。図８のように仮想指標１９０と現実指標１８０が表示画面上で一致してない場合は、ＨＭＤ１１０を基準位置からずれないように回転させ、図９に示されるように仮想指標と現実指標が一致するようにする。仮想指標と現実指標が表示画面上で一致すると、ＨＭＤ１１０が基準姿勢に設置された状態となる。
【００４９】
以上説明したように、本実施形態によれば、初期設定モードでは仮想指標以外の仮想画像は表示されないので、変換パラメータ取得のための仮想指標と現実指標の表示画面上での位置合わせ中に仮想オブジェクトが仮想指標や現実指標を覆い隠してしまい、位置合わせを行うことが出来なくなる事態が発生することがない。従って、ユーザはいつのタイミングでもＨＭＤの位置合わせを実行することが可能である。
【００５０】
〈第２実施形態〉
第２実施形態では複数の観察者が同時に同じ複合現実空間を共有できるシステムを説明する。
【００５１】
第２実施形態では、図１と同じ機器構成を複数用意し、イーサネット（登録商標）などのネットワーク１５０で相互接続することで同時に複数の観察者が同じ複合現実空間を共有することを可能にする。初期設定時の手順の大半は第１実施形態に準ずる。主な違いは複数の各処理装置１４０がネットワーク１５０で接続されていること、シナリオを管理し仮想空間のイベントや仮想オブジェクトの状態変更を一元管理するシナリオトーカーというプログラムが存在することである。
【００５２】
シナリオトーカーは、第２実施形態における任意の１つの処理装置上で動作するプログラムであり、すべての仮想空間オブジェクトと仮想空間状態、位置姿勢計算値を管理する。そして各処理装置で動作するプログラムには、シナリオトーカーとの通信処理が追加されている。例えば、映像生成スレッドプログラムからはシナリオや仮想空間イベント、仮想オブジェクトを管理する処理が削除されており、シナリオトーカーからの送信されてくる情報に応じて各観察者用の仮想空間映像を生成、描画する処理のみを担当するようになっている。以下、図１０乃至図１３のフローチャートを参照して、第２実施形態による複合現実映像生成の手順を説明する。
【００５３】
なお、第１実施形態と同様に、プログラムには観察者が複合現実空間を体験することができる「通常モード」と、補正パラメータ（変換パラメータの一部）を取得する「初期設定モード」の２つの動作モードがある。これら動作モードは各処理装置ごとに独立であり、各処理装置の動作モードはシナリオトーカーによって常時把握されている。
【００５４】
図１０は、処理装置１４０の各々において動作するメインプログラムを示すフローチャートである。初めに処理装置１４０はメインプログラムである「プレイヤー」を起動する。プレイヤーはまず動作モードを「通常モード」に設定し（ステップＳ６００）、位置姿勢スレッド、映像キャプチャスレッド、映像生成スレッドを起動する（ステップＳ６０１〜Ｓ６０３）。ここでスレッドとは処理装置１４０において並列処理される一連のプログラムである。動作モードなどの情報はプレイヤーとすべてのスレッドで共有される。
【００５５】
各スレッド起動後、プレイヤーはシナリオトーカーとネットワーク接続する（ステップＳ６０４）。シナリオトーカーと通信するためのネットワークのプロトコルは例えばＴＣＰ／ＩＰなどが利用できる。ネットワーク接続後、プレイヤーはイベント待ちに入り、何らかのイベントが到着するまで待機しつづける（ステップＳ６０５）。ここでイベントとはユーザインターフェースからの入力、他のスレッドからの情報通知、ハードウェア割り込みなどである。具体的には、動作モードの変更（ステップＳ６０６）、初期パラメータの変更（ステップＳ６０７）、補正パラメータ取得（ステップＳ６０８）、仮想指標位置変更（ステップＳ６０９）、終了イベント（ステップＳ６１０）などがある。
【００５６】
これらのイベントが到着した場合、それぞれに応じた処理が行われる。例えば、モード変更イベントが発生した場合は、当該処理装置の動作モードを変更し、変更されたモードをシナリオトーカーに通知する（ステップＳ６２０、Ｓ６２１）。その他、各イベントに応じてステップＳ６３０、Ｓ６４０、Ｓ６５０を実行する。また、終了イベントの場合はすべてのスレッドを終了させ（ステップＳ６１１）、シナリオトーカーとのネットワーク接続を切断し（ステップＳ６１２）、終了する。
【００５７】
これらの処理の具体的説明は割愛するが、値の入力および変更などのすべてのシステムへの指示は、第１実施形態と同様、ウインドウシステムのような一般的なユーザインターフェースによって行うことができるものとする。
【００５８】
ステップＳ６０２で起動された映像キャプチャスレッドは、第１実施形態と同様に、ビデオカメラ１１１で撮影された映像をデジタルデータとして取り込み、メインスレッドに出力しつづける。映像キャプチャスレッドは、終了通知がない限りこの動作を繰り返し行う。
【００５９】
ステップＳ６０１で起動される位置姿勢スレッドも第１実施形態（図４）と同様に動作する。すなわち、位置センサ本体１３１から測定値を取得した後（ステップＳ４０１）、動作モードに応じて処理を行う（ステップＳ４０２）。動作モードが「通常モード」なら、測定値と変換パラメータから世界座標系における測定対象物体の位置姿勢を計算し、メインスレッドに出力する（ステップＳ４０３，Ｓ４０４）。一方、動作モードが「初期設定モード」なら、測定値と基準姿勢から補正パラメータを計算し、基準位置姿勢をメインスレッドに出力する（ステップＳ４０６，Ｓ４０７）。以上の動作を終了通知が来るまで繰り返し行い続ける（ステップＳ４０５）。
【００６０】
ステップＳ６０３で起動される映像生成スレッドは、起動されると、図１１のフローチャートに示す処理を実行する。
【００６１】
まず位置姿勢スレッドからの出力を受け、測定対象の現実物体の位置姿勢を更新する（ステップＳ７２０、Ｓ７０１）。次に動作モードが通常モードなら、測定対象物体の位置姿勢をシナリオトーカーに送信する（ステップＳ７０２、Ｓ７０３）。続いてすべての処理装置の位置姿勢測定値と、仮想空間状態をシナリオトーカーから受信し、観察者の視点位置および視線方向から見た仮想空間映像を生成する（ステップＳ７０４、Ｓ７０５、Ｓ７０６）。一方、ステップＳ７０２において動作モードが初期設定モードであった場合は、上記シナリオトーカーとの通信処理は全く行わない。
【００６２】
続いてビデオカメラ１１１から得られた観察者の視点位置および視線方向での現実空間映像を取り込み、現実空間映像を更新する（ステップＳ７３０、Ｓ７０７）。
【００６３】
次に動作モードが通常モードなら、ステップＳ７０６で生成した仮想空間映像を描画する（ステップＳ７０８、Ｓ７１０）。一方、初期設定モードなら、仮想指標のみを設定された位置に描画し、（ステップＳ７０９）、「通常モード」で描画される仮想オブジェクトについては全く描画しない。そして最後に生成された仮想空間映像と現実空間映像を合成しＨＭＤ１１０のＬＣＤ１１２に出力する（ステップＳ７１１）。以上の処理を終了通知があるまで繰り返す（ステップＳ７１２）。
【００６４】
シナリオトーカーは、初めにプレイヤープログラムからの接続および切断要求を調べ、それがあった場合は適宜処理する。すなわち、接続要求をしてきたプレイヤープログラムとの接続を行ない、切断を要求してきたプレイヤープログラムとの切断を実行する（ステップＳ８０１，Ｓ８０２，Ｓ８１０，Ｓ８２０）。また、各プレイヤーが動作モードを変更した際は通知を受信し、管理テーブルを変更する（ステップＳ８３０，Ｓ８３１）。こうして、シナリオトーカーは接続されているすべてのプレイヤーの動作モードを把握している。
【００６５】
続いて接続されている通常モードのプレイヤーから、プレイヤーの管理している測定対象物体の位置姿勢値を受信する（ステップＳ８０３）。続いて接続されているすべての通常モードのプレイヤーに上記処理で受信した情報をすべて送信する（ステップＳ８０４）。これによりすべての位置姿勢測定対象物体の世界座標系における位置姿勢をすべての通常モードのプレイヤーとシナリオトーカーが知ることになる。
【００６６】
続いてシナリオトーカーはシナリオの更新を行う。より詳細には、仮想空間の時間を進め、仮想空間の状態（仮想空間物体の種類、位置、状態）を更新する。さらにすべての現実空間物体の位置姿勢（手の位置姿勢など）と仮想空間物体の位置姿勢の関係を調べ、あらかじめ定義されているイベントが発生したと判断される場合には、それに応じて仮想空間の状態を更新する（ステップＳ８０５）。そして、最後に、接続されているすべての通常モードのプレイヤーに仮想空間状態を送信する。（ステップＳ８０６）。以上の処理を終了イベントが発生するまで繰り返す（ステップＳ８０７）。
【００６７】
以上、第２実施形態の複合現実感システムの構成機器、複合現実空間映像生成の動作について説明した。
【００６８】
第２実施形態によれば、複数存在する処理装置のうち、任意の処理装置が初期設定モードになっていても、他の処理装置を使っている観察者にとっては無関係にシナリオを体験することが可能になる。また初期設定モードになっている処理装置においては、仮想指標以外の仮想映像は一切表示されない。
【００６９】
また、第２実施形態によれば、シナリオが無限ループになっており、多数の観察者が同時に同じ複合現実空間を共有可能で、観察者が自分の望む時間だけ体験して終了したいと思ったら別の観察者に交代するような複合現実感システムの場合において、任意の処理装置において初期設定を行っていても、システム全体を停止する必要が無いという利点がある。
【００７０】
以上説明したように、通常モード、初期設定モードという概念を設け、初期設定モードにおいて仮想指標以外を表示しないようにしたことで、第１実施形態では、変換パラメータ取得のための仮想指標と現実指標の表示画面上での位置合わせ中に仮想オブジェクトが仮想指標や現実指標を覆い隠してしまい、位置合わせを行うことが出来なくなる事態が発生することがないという効果が得られる。
【００７１】
また、第２実施形態では、第１実施形態の効果に加え、多数の観察者が同時に同じ複合現実空間を共有して、観察者が自分の好きな時間だけ体験して、終わったら別の観察者に交代するような複合現実感システムの場合において、任意の処理装置において初期設定を行っていても、システム全体を停止する必要が無いという効果が得られる。
【００７２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７７】
【発明の効果】
以上説明したように、本発明によれば、どの様なタイミングであっても現実指標と仮想指標を用いた位置合わせを実行することが可能である。
【図面の簡単な説明】
【図１】第１実施形態による複合現実感システムの外観を示す図である。
【図２】第１実施形態によるＨＭＤの構成を示す図である。
【図３】第１実施形態による複合現実空間映像生成プログラム（メインプログラム）の処理を説明するフローチャートである。
【図４】第１実施形態による位置姿勢スレッドの処理を説明するフローチャートである。
【図５】第１実施形態における映像生成スレッドの処理を説明するフローチャートである。
【図６】各座標系への変換の様子を示す図である。
【図７】第１実施形態による変換パラメータ取得時の様子を示す図である。
【図８】変換パラメータ取得時におけるＨＭＤの表示状態を示す図である。
【図９】変換パラメータ取得時の基準位置姿勢におけるＨＭＤの表示状態を示す図である。
【図１０】第２実施形態における複合現実空間映像生成プログラム（プレイヤー）の処理を説明するフローチャートである。
【図１１】第２実施形態における映像生成スレッドの処理を説明するフローチャートである。
【図１２】第２実施形態における仮想空間管理プログラム（シナリオトーカー）の処理を説明するフローチャートである。
【図１】
2004126870.tif 000003
【図２】
2004126870.tif 000004
【図３】
2004126870.tif 000005
【図４】
2004126870.tif 000006
【図５】
2004126870.tif 000007
【図６】
2004126870.tif 000008
【図７】
2004126870.tif 000009
【図８】
2004126870.tif 000010
【図９】
2004126870.tif 000011
【図１０】
2004126870.tif 000012
【図１１】
2004126870.tif 000013
【図１２】
2004126870.tif 000014