(57)【要約】【課題】  姿勢センサを用いて、任意に設定された基準座標系における物体の姿勢計測を行う際に、センサ座標系から基準座標系への変換を行うために必要なアライメントデータの設定を容易に行うこと。【解決手段】  姿勢センサ１３０は、センサ座標系における姿勢センサ１３０自身の姿勢を計測し、姿勢計測値を出力する。第一のアライメントデータ設定部４１０は、不図示の外部記憶装置に記録されている、基準座標系における重力の方向を表す第一のアライメントデータを読み出し、これを姿勢算出部９４０に設定する。第二のアライメントデータ設定部４２０は、不図示のコマンド入力部より操作者によって入力されたコマンドに応じて、センサ座標系と基準座標系との間の方位方向の相違角を表す第二のアライメントデータを、姿勢算出部９４０に設定する。姿勢算出部９４０は、第一及び第二のアライメントデータを利用して、姿勢センサ１３０から入力される姿勢計測値に基づいて基準座標系における物体の姿勢を算出し、これを出力する。【選択図】  図９
2005107248.tif 000002
【特許請求の範囲】
【請求項１】
姿勢センサによって定義されるセンサ座標系における姿勢データを前記センサ座標系と異なる基準座標系における姿勢データに変換するデータ変換方法であって、
前記基準座標系における重力の方向を表す第一のアライメントデータを設定する第一の設定工程と、
センサ座標系と前記基準座標系との間の方位方向の相違角を表す第二のアライメントデータを設定する第二の設定工程と、
前記センサ座標系における姿勢データを入力する入力工程と、
前記センサ座標系における重力の方向を表すデータ及び、前記第一及び前記第二のアライメントデータに基づいて、前記入力工程において入力した前記センサ座標系における姿勢データを、前記基準座標系における姿勢データに変換する変換工程とを備えることを特徴とするデータ変換方法。
【請求項２】
姿勢センサによって定義されるセンサ座標系における姿勢データを前記センサ座標系と異なる基準座標系における姿勢データに変換するデータ変換方法であって、
前記基準座標系における重力の方向と、前記センサ座標系における重力の方向とから、前記基準座標系における重力方向に、前記センサ座標系の重力方向を合わせるための第１の座標変換を求める工程と、
前記世界座標系における重力の方向を回転軸とし、前記センサ座標系の座標値と前記基準座標系との間の方位方向の相違角回転を行う第２の座標変換を求める工程と、
前記センサ座標系における姿勢データを入力する入力工程と、
前記第１の座標変換および前記第２の座標変換を用いて、前記入力工程において入力した前記センサ座標系における姿勢データを、前記基準座標系における姿勢データに変換する変換工程とを備えることを特徴とするデータ変換方法。
【請求項３】
前記センサ座標系における重力の方向を表すデータを設定する工程をさらに備えることを特徴とする請求項１又は請求項２に記載のデータ変換方法。
【請求項４】
前記センサ座標系の座標軸の１つが、重力方向に等しいことを特徴とする請求項１乃至請求項３のいずれか１項に記載のデータ変換方法。
【請求項５】
前記入力工程において入力される姿勢データは、前記姿勢センサの姿勢を表す姿勢データであり、
前記変換工程はさらに、前記姿勢センサの姿勢を表す姿勢データを前記姿勢センサが取り付けられた撮像手段の姿勢を表す姿勢データに変換する工程を有し、さらに、
前記撮像手段が撮像した実写画像に、前記基準座標系における前記撮像手段の位置データと、前記変換工程において変換された前記基準座標系における前記撮像手段の姿勢データとを用いて生成した画像を重畳した重畳画像を生成する画像生成工程と、
前記重畳画像を表示する表示工程を有することを特徴とする請求項１ないし請求項４のいずれか１項に記載のデータ変換方法。
【請求項６】
姿勢センサによって定義されるセンサ座標系における姿勢データを前記センサ座標系と異なる基準座標系における姿勢データに変換するデータ変換装置であって、
前記基準座標系における重力の方向を表す第一のアライメントデータを設定する第一の設定手段と、
センサ座標系と前記基準座標系との間の方位方向の相違角を表す第二のアライメントデータを設定する第二の設定手段と、
前記センサ座標系における姿勢データを入力する入力手段と、
前記センサ座標系における重力の方向を表すデータ及び、前記第一及び前記第二のアライメントデータに基づいて、前記入力手段によって入力した前記センサ座標系における姿勢データを、前記基準座標系における姿勢データに変換する変換手段とを備えることを特徴とするデータ変換装置。
【請求項７】
姿勢センサによって定義されるセンサ座標系における姿勢データを前記センサ座標系と異なる基準座標系における姿勢データに変換するデータ変換装置であって、
前記基準座標系における重力の方向と、前記センサ座標系における重力の方向とから、前記基準座標系における重力方向に、前記センサ座標系の重力方向を合わせるための第１の座標変換を求める手段と、
前記世界座標系における重力の方向を回転軸とし、前記センサ座標系の座標値と前記基準座標系との間の方位方向の相違角回転を行う第２の座標変換を求める手段と、
前記センサ座標系における姿勢データを入力する入力手段と、
前記第１の座標変換および前記第２の座標変換を用いて、前記入力手段によって入力した前記センサ座標系における姿勢データを、前記基準座標系における姿勢をデータに変換する変換手段とを備えることを特徴とするデータ変換装置。
【請求項８】
前記入力手段によって入力される姿勢データは、前記姿勢センサの姿勢を表す姿勢データであり、
前記変換手段はさらに、前期姿勢センサの姿勢を表す姿勢データを前記姿勢センサが取り付けられた撮像手段の姿勢を表す姿勢データに変換する手段を有し、さらに、
前記撮像手段が撮像した実写画像に、前記基準座標系における前記撮像手段の位置データと、前記変換手段によって変換された前記基準座標系における前記撮像手段の姿勢データとを用いて生成した画像を重畳した重畳画像を生成する画像生成手段と、
前記重畳画像を表示する表示手段をさらに有することを特徴とする請求項６又は請求項７記載のデータ変換装置。
【請求項９】
請求項１乃至請求項５のいずれか１項に記載のデータ変換方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項６乃至請求項８のいずれか１項に記載のデータ変換装置としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
請求項９または１０に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項１２】
姿勢センサと、請求項６乃至請求項８のいずれか１項に記載のデータ変換装置とを備え、前記基準座標系における物体の姿勢を計測することを特徴とする姿勢計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢センサを用いて物体の姿勢を計測する技術に関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間の繋ぎ目のない結合を目的とした、複合現実感(MR:Mixed Reality)に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラなどの撮像装置によって撮像された現実空間の画像に、撮像装置の位置及び姿勢に応じて生成した仮想空間の画像（たとえばコンピュータ・グラフィックスにより描画された仮想物体や文字情報など）を重畳描画した画像を表示する装置によって実現される。
【０００３】
このような画像表示装置の応用としては、市街地を撮像した現実空間の画像中に含まれる著名な建造物等の名称や案内を仮想空間画像として重畳表示するナビゲーションや、ビルの建設予定地を撮像した画像中に建設予定のビルのコンピュータ・グラフィックス映像を重畳表示する景観シミュレーションなどが期待されている。
【０００４】
これらの応用に対して共通に要求されるのは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。現実空間と仮想空間の間の位置合わせを正確に行うためには、仮想空間の画像を生成するためのカメラパラメータ（内部パラメータ及び外部パラメータ）を、撮像装置のカメラパラメータと常に一致させればよい。撮像装置の内部パラメータが既知であるとすれば、複合現実感における位置合わせの問題は、撮像装置の外部パラメータ、すなわち、現実空間に設定した基準座標系における撮像装置の位置及び姿勢を求める問題に帰結される。
【０００５】
現実空間に設定した基準座標系における撮像装置の位置及び姿勢を求める方法として、例えば非特許文献１においては、姿勢センサを用いた撮像装置の姿勢計測と、全地球測位システム等による撮像装置の位置計測との併用によって撮像装置の位置及び姿勢を得ることが提案されている。
【０００６】
このような方法に用いられる姿勢センサの代表的なものに、株式会社トキメックのTISS-5-40や、米国InterSense社のInertiaCube2が存在する。これらの姿勢センサは、３軸方向の角速度を検出するジャイロセンサと、３軸方向の加速度を検出する加速度センサによって主に構成されており、それらの計測値の組み合わせによって３軸の姿勢（方位角、ピッチ角、ロール角）を計測する。一般に、ジャイロセンサのみによって得られる角度情報は、ある時刻の姿勢に対する姿勢の相対的な変化のみであるが、これらの姿勢センサは、加速度センサによって地球の重力方向を計測することで、傾斜角（すなわち、ピッチ角及びロール角）については重力方向を基準とした絶対角を得ることができることを特徴としている。
【０００７】
姿勢センサが出力する姿勢計測値は、基準座標系とは無関係にセンサ自身が定義するセンサ座標系におけるセンサ自身の姿勢を表している。センサ座標系は、例えば上述のTISS-5-40の場合には、重力方向（下方向）をＺ軸、このＺ軸によって定められるＸ−Ｙ平面上におけるセンサ初期化時のセンサの正面方向をＸ軸として定義される。また、InertiaCube2の場合には、重力方向（下方向）をＺ軸、このＺ軸によって定められるＸ−Ｙ平面上において、内蔵する地磁気センサがセンサ初期化時に示している北方向をＸ軸として定義される。このように、姿勢センサによる姿勢計測値は、取得したい情報である基準座標系における計測対象物体（複合現実感を提示する画像表示装置の場合には撮像装置）の姿勢そのものではないことが一般的である。
【０００８】
すなわち、姿勢センサによる姿勢計測値をそのまま基準座標系における計測対象物体の姿勢として用いることはできず、何らかの座標変換を行う必要がある。具体的には、センサ自身の姿勢を計測対象物体の姿勢に変換する座標変換と、センサ座標系における計測対象物体の姿勢を基準座標系における姿勢に変換する座標変換が必要となる。
【０００９】
なお、本明細書において、センサ自身の姿勢を計測対象物体の姿勢に変換する座標変換を行うためのデータを、オフセットデータと呼ぶこととする。また、センサ座標系における計測対象物体の姿勢を基準座標系における姿勢に変換する座標変換を行うためのデータを、アライメントデータと呼ぶこととする。
【００１０】
以下では、重力方向を基準とした絶対角として傾斜角を計測可能な姿勢センサを利用して、計測対象物体の姿勢を計測する姿勢計測方法の従来技術を、複合現実感を提示する一般的な画像表示装置を例にとって説明する。特に、従来におけるアライメントデータの設定方法及び利用方法に関して説明する。
【００１１】
図１は、複合現実感を提示する一般的な画像表示装置の構成を示す図である。
頭部装着部１００には、カメラ１１０、表示部１２０及び姿勢センサ１３０が固定されている。
姿勢センサ１３０は、センサ座標系における姿勢センサ１３０自身の姿勢を計測し、３自由度の姿勢計測値を出力する。姿勢センサ１３０は、例えば、上述したTISS-5-40やInertiaCube2によって構成される。
【００１２】
姿勢算出部１４０は、姿勢センサ１３０より姿勢計測値を入力し、不図示の内部メモリが保持するアライメントデータ及びオフセットデータに従って姿勢計測値に座標変換を加え、基準座標系におけるカメラ１１０の姿勢を算出して、姿勢情報として画像生成部１５０に出力する。
【００１３】
画像生成部１５０は、姿勢算出部１４０より入力した姿勢情報と、不図示の位置算出部（例えば、全地球測位システムの受信装置）より入力した、基準座標系におけるカメラ１１０の位置情報に従って、カメラ１１０の位置及び姿勢に対応した仮想画像を生成し、これをカメラ１１０から入力した実写画像に重畳して出力する。表示部１２０は、画像生成部１５０が出力した画像を入力しこれを表示する。
【００１４】
以上の構成により、不図示の観察者（すなわち、頭部装着部１００の装着者）は、眼前に配置された表示部１２０上に表示される、実写画像（現実空間の画像）と仮想画像（仮想空間の画像）とが合成された画像を観察することとなる。
【００１５】
次に、図２を用いて、姿勢算出部１４０において、基準座標系におけるカメラ１１０の姿勢を算出する方法を説明する。
初めに、同図における変数について説明する。
ＲＷＶ：基準座標系２００（現実空間に固定された座標系）におけるカメラ１１０の姿勢を表す。
ＲＷＴ：基準座標系２００におけるセンサ座標系２１０の姿勢を表す。
ＲＴＳ：センサ座標系２１０における姿勢センサ１３０の姿勢を表す。
ＲＳＶ：姿勢センサ１３０からみたカメラ１１０の姿勢を表す。
【００１６】
なお、本明細書では、座標系Ａにおける対象Ｂの姿勢を、３×３の行列ＲＡＢによって記述する。ここで、ＲＡＢは、対象Ｂが定義する座標系Ｂから座標系Ａへの座標変換行列であり、座標系Ｂにおける座標ＰＢ＝（ＸＢ，ＹＢ，ＺＢ）Ｔを座標系Ａにおける座標ＰＡ＝（ＸＡ，ＹＡ，ＺＡ）Ｔに変換する変換式、ＰＡ＝ＲＡＢ・ＰＢを定義するものである。すなわち、基準座標系２００におけるカメラ１１０の姿勢ＲＷＶは、カメラ座標系２２０における座標ＰＶ＝（ＸＶ，ＹＶ，ＺＶ）Ｔを基準座標系２００における座標ＰＷ＝（ＸＷ，ＹＷ，ＺＷ）Ｔに変換するための座標変換行列（ＰＷ＝ＲＷＶ・ＰＶ）と言い換えることもできる。
【００１７】
このとき，ＲＷＴ，ＲＴＳ，ＲＳＶ，及びＲＷＶの関係は（式Ａ）によって示すことができる。
ＲＷＶ＝ＲＷＴ・ＲＴＳ・ＲＳＶ  ...（式Ａ）
【００１８】
（式Ａ）において、ＲＴＳが姿勢センサ１３０から姿勢算出部１４０への入力データ、ＲＷＶが姿勢算出部１４０からの出力データ、ＲＳＶがオフセットデータ、ＲＷＴがアライメントデータに相当する。姿勢算出部１４０は、姿勢センサ１３０から入力されるＲＴＳと、内部メモリが保持するＲＳＶ及びＲＷＴとを用いて、（式Ａ）に基づいてＲＷＶを算出し、これを画像生成部１５０へと出力する。
【００１９】
したがって、現実空間と仮想空間の正確な位置合わせを行うためには、何らかの手段によって正確なＲＳＶ及びＲＷＴを姿勢算出部１４０の内部メモリに設定する必要がある。
【００２０】
オフセットデータＲＳＶの値は、姿勢センサ１３０とカメラ１１０の相対的な姿勢の関係が変化しない限り、常に一定である。図１で示した画像表示装置の場合、両者は共に頭部装着部１００に固定されているので、オフセットデータの導出作業は、頭部装着部１００に姿勢センサ１３０及びカメラ１１０を設置した際にのみ行えばよい。一般に、姿勢の計測対象物体とそれを計測しようとする姿勢センサは剛体性を保つように固定されるので、オフセットデータの導出作業は、計測対象物体に姿勢センサを設置した際にのみ行えばよい。
【００２１】
同様に、基準座標系２００とセンサ座標系２１０の相対的な姿勢の関係が変化しなければ、アライメントデータＲＷＴの値も常に一定であり、その導出作業は、基準座標系２００を定義した際にのみ行えばよいことになる。しかし実際には、上述したように、例えばTISS-5-40の場合には、センサ初期化時の姿勢センサ１３０の姿勢に依存してセンサ座標系２１０が決定されるため、センサ初期化時の姿勢センサ１３０の姿勢が異なれば、センサ座標系２１０は異なったものとなる。またInertiaCube2の場合には、センサ初期化時に地磁気センサが示す北方向に依存してセンサ座標系２１０が決定されるため、センサ初期化時の磁気環境の変化によっては、センサ座標系２１０は異なったものとなる。
【００２２】
そのため、一度導出したアライメントデータを変更なしに用いるためには、姿勢センサ１３０の初期化を常に同じ姿勢や同じ磁気環境で行わなくてはならないという制約があった。
【００２３】
この制約を必要としない一つの方法として、本出願人による特許文献１に記載された方法がある。以下では、本従来方法について説明する。
上記の制約を設けない場合、センサ座標系２１０の定義は姿勢センサ１３０を初期化した際の姿勢や磁気環境等によって変化する。したがって、アライメントデータの適切な値は一定ではなく、姿勢センサ１３０の初期化毎に再導出する必要がある。本従来手法では、アライメントデータの導出を容易にすることで、センサ座標系２１０が変化した場合でも正しい姿勢を計測可能とする。
【００２４】
一般に、重力方向を基準とした絶対角として傾斜角を計測可能な姿勢センサは、センサ座標系２１０の軸の一つが、重力方向（あるいはその逆方向）に設定されるという特徴を有している。例えば、TISS-5-40やInertiaCube2では、図３に示すように、センサ座標系２１０のＺ軸が重力方向に設定される。以下の説明では、センサ座標系２１０のＺ軸が重力方向を示しているものとする。
【００２５】
本従来方法では、アライメントデータの導出を容易にするために、基準座標系２００の設計の自由度を限定する。具体的には、図３に示すように、センサ座標系２１０を方位方向に回転させることで表現可能な姿勢のみを、基準座標系２００の姿勢として定義できるものとする。言い換えれば、基準座標系２００のＺ軸を必ず重力方向に定義しなくてはならないという条件を、基準座標系２００を設計する際の制約として規定する。
【００２６】
このような制約下で基準座標系２００を設計すると、基準座標系２００とセンサ座標系２１０のＺ軸の方向が一致する。そのため、センサ座標系２１０における姿勢を基準座標系２００における姿勢に変換するために必要なデータであるアライメントデータＲＷＴは、方位方向の回転を表す回転行列によって表すことができる。言い換えれば、アライメントデータＲＷＴは、Ｚ軸まわりの回転角を表す１つのスカラー量φＷＴのみによって表現することができる。すなわち、
【００２７】
【数１】
2005107248.tif 000003
となる。
【００２８】
上述したように、アライメントデータの適切な値は一定ではなく、姿勢センサ１３０の初期化毎に再導出する必要がある。本従来手法では、アライメントデータはφＷＴのみによって定義されるので、姿勢センサ１３０の初期化毎に再導出しなくてはならない値は、１つのスカラー量φＷＴのみとなる。
【００２９】
例えば、姿勢センサ１３０の初期化後に、表示部１２０に表示される画像（実写画像に仮想画像を重畳した画像）を観察しながら、実写画像と仮想画像の位置合わせが正確に行われるように、ジョイスティックなど不図示の入力装置を介して、姿勢算出部１４０が保持するφＷＴの値を対話的に増減すればよい。この作業は、変化させる変数が１つであり、また変数の自由度が１であるため、非常に容易に行うことができる。
【００３０】
このように、本従来手法では、基準座標系２００の設計自由度を限定してアライメントデータの再導出を容易にすることで、姿勢センサ１３０の初期化を常に同じ姿勢や同じ磁気環境で行わなくてはならないという制約を設けることなく、正しい姿勢計測を行うことを可能とした。
【００３１】
【特許文献１】特開２００３−１３２３７４号公報
【非特許文献１】T. H_llerer, S. Feiner, and J. Pavlik, Situated documentaries: embedding multimedia presentations in the real world, Proc. International Symposium on Wearable Computers '99, pp.79-86, 1999.
【発明の開示】
【発明が解決しようとする課題】
【００３２】
しかしこの方法では、基準座標系を自由に設計することができないという問題があった。そのため、アプリケーションの設計の自由度が制限される。また、すでに独自の基準座標系を有する既存のアプリケーションに本手法を適用することが難しいという制約があった。
【００３３】
本発明は以上の課題に鑑みてなされたものであり、基準座標系の設計に制約を与えず、かつ、アライメントデータを容易に再導出可能とすることを目的とする。
【課題を解決するための手段】
【００３４】
上述の目的は、姿勢センサによって定義されるセンサ座標系における姿勢データをセンサ座標系と異なる基準座標系における姿勢データに変換するデータ変換方法であって、基準座標系における重力の方向を表す第一のアライメントデータを設定する第一の設定工程と、センサ座標系と基準座標系との間の方位方向の相違角を表す第二のアライメントデータを設定する第二の設定工程と、センサ座標系における姿勢データを入力する入力工程と、センサ座標系における重力の方向を表すデータ及び、第一及び第二のアライメントデータに基づいて、入力工程において入力したセンサ座標系における姿勢データを、基準座標系における姿勢データに変換する変換工程とを備えることを特徴とするデータ変換方法によって達成される。
【００３５】
また、上述の目的は、姿勢センサによって定義されるセンサ座標系における姿勢データをセンサ座標系と異なる基準座標系における姿勢データに変換するデータ変換方法であって、基準座標系における重力の方向と、センサ座標系における重力の方向とから、基準座標系における重力方向に、センサ座標系の重力方向を合わせるための第１の座標変換を求める工程と、世界座標系における重力の方向を回転軸とし、センサ座標系の座標値と基準座標系との間の方位方向の相違角回転を行う第２の座標変換を求める工程と、センサ座標系における姿勢データを入力する入力工程と、第１の座標変換および第２の座標変換を用いて、入力工程において入力したセンサ座標系における姿勢データを、基準座標系における姿勢データに変換する変換工程とを備えることを特徴とするデータ変換方法によっても達成される。
【００３６】
さらに、上述の目的は、姿勢センサによって定義されるセンサ座標系における姿勢データをセンサ座標系と異なる基準座標系における姿勢データに変換するデータ変換装置であって、基準座標系における重力の方向を表す第一のアライメントデータを設定する第一の設定手段と、センサ座標系と基準座標系との間の方位方向の相違角を表す第二のアライメントデータを設定する第二の設定手段と、センサ座標系における姿勢データを入力する入力手段と、センサ座標系における重力の方向を表すデータ及び、第一及び第二のアライメントデータに基づいて、入力手段によって入力したセンサ座標系における姿勢データを、基準座標系における姿勢データに変換する変換手段とを備えることを特徴とするデータ変換装置によっても達成される。
【００３７】
さらに、上述の目的は、姿勢センサによって定義されるセンサ座標系における姿勢データをセンサ座標系と異なる基準座標系における姿勢データに変換するデータ変換装置であって、基準座標系における重力の方向と、センサ座標系における重力の方向とから、基準座標系における重力方向に、センサ座標系の重力方向を合わせるための第１の座標変換を求める手段と、世界座標系における重力の方向を回転軸とし、センサ座標系の座標値と基準座標系との間の方位方向の相違角回転を行う第２の座標変換を求める手段と、センサ座標系における姿勢データを入力する入力手段と、第１の座標変換および第２の座標変換を用いて、入力手段によって入力したセンサ座標系における姿勢データを、基準座標系における姿勢をデータに変換する変換手段とを備えることを特徴とするデータ変換装置によっても達成される。
【００３８】
また、上述の目的は、姿勢センサと、本発明によるデータ変換装置とを備え、基準座標系における物体の姿勢を計測することを特徴とする姿勢計測装置によっても達成される。
加えて、本発明の姿勢計測方法をコンピュータに実行させることを特徴とするプログラム、本発明の姿勢計測装置としてコンピュータを機能させることを特徴とするプログラム及びこれらのプログラムを格納したコンピュータ読み取り可能な記憶媒体によっても上述の目的は達成される。
【発明の効果】
【００３９】
本発明によれば、センサ座標系における姿勢を、任意の基準座標系における姿勢に変換するために必要なアライメントデータを容易に設定できるため、独自の基準座標系を有するアプリケーションにおいて、正確な姿勢計測が容易に行える。
【発明を実施するための最良の形態】
【００４０】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
［第１の実施形態］
本実施形態では、本発明の姿勢計測方法を、複合現実感を提示する画像表示装置に適用した場合について説明する。
【００４１】
図４は、本実施形態における画像表示装置の装置構成を示している。同図に示したように、本実施形態における画像表示装置は、図１に示した画像表示装置における姿勢算出部１４０に相当する構成要素として、姿勢算出部４４０を構成要素として有した構成となる。また、第一のアライメントデータ設定部４１０及び第二のアライメントデータ設定部４２０が構成要素として追加されている。尚、頭部装着部１００、カメラ１１０、表示部１２０、姿勢センサ１３０、及び画像生成部１５０の動作は図１に示した画像表示装置と同様であるので、説明を省略する。なお、本実施形態においては、頭部装着部１００以外の構成を処理部４００として取り扱う。
【００４２】
姿勢算出部４４０は、その不図示の内部メモリに、基準座標系２００における重力の方向を表す第一のアライメントデータと、センサ座標系２１０と基準座標系２００との間の方位方向の相違角（重力方向の軸（重力軸）周りの回転角）を表す第二のアライメントデータを保持している。また、内部メモリには、姿勢センサ１３０の姿勢をカメラ１１０の姿勢に変換するための座標変換行列ＲＳＶ（すなわち、オフセットデータ）が、姿勢センサ１３０とカメラ１１０との相対的な姿勢が変化しないことから、既知の値として保持されている。姿勢算出部４４０は、内部メモリが保持する第一及び第二のアライメントデータを用いて、図２を用いて説明した座標変換行列ＲＷＴを算出する。第一及び第二のアライメントデータの具体的構成や、第一及び第二のアライメントデータからＲＷＴを算出する方法については、後に詳細を説明する。
【００４３】
姿勢算出部４４０はさらに、算出したＲＷＴと、内部メモリが保持するＲＳＶと、姿勢センサ１３０から入力されるＲＴＳとを用いて、姿勢算出部１４０と同様に（式Ａ）に基づいてＲＷＶを算出し、これを画像生成部１５０へと出力する。
【００４４】
第一のアライメントデータ設定部４１０は、不図示の外部記憶装置に記録されている第一のアライメントデータを読み出し、これを姿勢算出部４４０の内部メモリに設定する処理を行う。
【００４５】
第二のアライメントデータ設定部４２０は、操作者からのコマンド入力を受け入れる不図示のコマンド入力部を有し、入力されたコマンドに応じて姿勢算出部４４０の内部メモリに保持されている第二のアライメントデータの値を変更する処理を行う。
【００４６】
なお、図４において処理部４００を構成する、姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、及び画像生成部１５０の夫々は独立した装置として構成しても良いし、その一部又は全部をソフトウェアで実現し、１つもしくは複数のコンピュータのＣＰＵにより実行することで、その機能を実現するようにしても良い。本実施形態では、各部（姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、及び画像生成部１５０）は全てソフトウェアによって実現され、かつ１台のコンピュータ内で実行されるものとする。
【００４７】
図５は姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、画像生成部１５０の夫々を、ソフトウェアを実行することで実現する、処理部４００として利用可能なコンピュータの基本構成例を示す図である。
【００４８】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されたプログラムやデータを用いてコンピュータ全体の制御を行うと共に、姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、画像生成部１５０の夫々を実現するソフトウェアを実行し、各部として機能する。
【００４９】
ＲＡＭ５０２は、外部記憶装置５０７や記憶媒体ドライブ５０８からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、ＣＰＵ５０１が各種の処理を行うために必要とするワークエリアを備える。例えば、上述した姿勢算出部４４０の不図示の内部メモリとして機能する。
【００５０】
ＲＯＭ５０３は、一般にコンピュータが起動時に実行するソフトウェアプログラムや設定データなどが格納されている。キーボード５０４、マウス５０５は、上述した図示しない入力装置の一例であり、操作者はこれらを用いて、各種の指示をＣＰＵ５０１に入力することができる。例えば、キーボード５０４及びマウス５０５は、第二のアライメントデータ設定部４２０のコマンド入力部（後述）として機能する。
【００５１】
ＧＰＵ(Graphics Processing Unit)５０６は、グラフィックス処理を行うためのプロセッサであり、ＣＲＴや液晶モニタなど、表示装置への画像出力機能も有する。本実施形態では、ＧＰＵ５０６は表示部１２０へ画像出力を行う。
【００５２】
外部記憶装置５０７は、ハードディスクなどの大容量情報記憶装置として機能する装置であって、ここにＯＳ（オペレーティングシステム）や、姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、画像生成部１５０の夫々として機能するソフトウェアのプログラム等を保存する。また本実施形態の説明において、既知であると説明する情報もここに保存する。
【００５３】
記憶媒体ドライブ５０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのリムーバブル記憶媒体に記憶されているプログラムやデータをＣＰＵ５０１からの指示に従って読み出して、ＲＡＭ５０２や外部記憶装置５０７に出力する。
【００５４】
Ｉ／Ｆ５０９は、姿勢センサ１３０やカメラ１１０を接続するためのものであって、夫々の出力は、Ｉ／Ｆ５０９を介してＲＡＭ５０２に取り込まれる。バス５１０はコンピュータ内部の各部を接続する。
【００５５】
図６は、ＣＰＵ５０１がソフトウェアプログラムを実行することにより実現する、本実施形態における画像表示装置の処理のフローチャートである。なお、図６に示す処理を行う前に、姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、及び画像生成部１５０の夫々の機能を実現するためのソフトウェアのプログラムは外部記憶装置５０７や記憶媒体ドライブ５０８等からＲＡＭ５０２に既にロードされているものとする。
【００５６】
ステップＳ６１０において、第一のアライメントデータ設定部４１０は、例えば記憶媒体ドライブ５０８に挿入されている記憶媒体に保存されている第一のアライメントデータを読み出し、ＲＡＭ５０２上に定義されている所定の変数にその値を設定する。第一のアライメントデータは、基準座標系２００における重力の方向を示す３次元ベクトルｇｗ=(ｇｗＸ,ｇｗＹ,ｇｗＺ)によって構成されている。なお、例えば記憶媒体ドライブ５０８中の記憶媒体には、所定のフォーマットに従ったデータファイル等の形態で、基準座標系２００の設計に応じた３次元ベクトルｇｗの値が第一のアライメントデータとして予め保存されており、この値は必要に応じて変更可能であるものとする。
【００５７】
ステップＳ６２０において、第二のアライメントデータ設定部４２０は、操作者からのコマンド入力がコマンド入力部を介して行われた場合に、入力されたコマンドに応じて、ＲＡＭ５０２上に定義されている所定の変数に保持されている第二のアライメントデータの値を変更する。第二のアライメントデータは、センサ座標系２１０と基準座標系２００との間の方位方向の相違角（重力方向の軸（重力軸）周りの回転角）を表す１つのスカラー量φＷＴによって構成されている。コマンドの入力は、例えば、マウス５０５の右クリックによりφＷＴの値を規定値（例えば１度）だけ増加させる、マウス５０５の左クリックによりφＷＴの値を規定値だけ減少させる、あるいはキーボード５０４のテンキーによりφＷＴの増減値を直接入力する等によって行うことができる。
【００５８】
この、第二のアライメントデータの調整は、例えば、画像生成部１５０で調整用の画像（実写画像に仮想画像を重畳した画像）を表示部１２０に表示させ、操作者が表示部１２０を観察しながら、実写画像と仮想画像の位置合わせが正確に行われるように、マウス５０５やキーボード５０４を用いて対話的に行うことができる。この作業は、変化させる変数が１つであり、また変数の自由度が１であるため、非常に容易に行うことができる。
【００５９】
なお、ステップＳ６２０が最初に実行される際には、調整用画像の表示に必要な変換Ｒ１（後述）が計算されていないため、たとえばユーザの入力有無をチェックせずに直ちにステップＳ６３０へ移行する。
【００６０】
ステップＳ６３０において、姿勢算出部４４０は、ＲＡＭ５０２に保持されている第一及び第二のアライメントデータを用いて、センサ座標系２１０における姿勢を基準座標系２００における姿勢に変換する座標変換行列ＲＷＴを算出する。以下、その算出処理の詳細を説明する。
【００６１】
センサ座標系２１０における重力の方向を示す３次元ベクトルをｇｓと表記する。本実施形態におけるセンサはＺ軸が重力方向を示しているので、ｇｓ＝（０，０，１）となる。本実施形態では、ｇｓの値は、既知の値としてＲＡＭ５０２に予め保持されているものとする。
【００６２】
始めに、姿勢算出部４４０は、センサ座標系における重力方向を示すベクトルｇｓと、基準座標系２００における重力方向を示すベクトルである第一のアライメントデータｇｗとの内積ｇｓ・ｇｗに基づいて両ベクトルの成す角βを算出する。また、ｇｓと第一のアライメントデータｇｗとの外積により、両ベクトルによって構成される平面の法線ベクトルｎ＝ｇｓ×ｇｗを算出する。ただし、βの値が略１８０°の場合（本実施形態では、すなわち、ｇｗが略（０，０，−１）の場合）にはｎの値が不安定になるので、ｇｓと直交する適当な定数ベクトル（本実施形態では、例えば（０，１，０））を法線ベクトルｎとして設定する。
【００６３】
次に、姿勢算出部４４０は、法線ベクトルｎを回転軸、角βを回転角とするような座標変換を行う座標変換行列Ｒ１を算出する。すなわち、変換Ｒ１は、センサ座標系の重力方向ｇｓと世界座標系の重力方向ｇｗとの変換である。回転軸と回転角が与えられたときの座標変換行列の算出方法は公知であるので、詳細な説明は省略する。
【００６４】
次に、姿勢算出部４４０は、第一のアライメントデータｇｗを回転軸、第二のアライメントデータφＷＴを回転角とするような座標変換を行う座標変換行列Ｒ２を算出する。回転軸と回転角が与えられたときの座標変換行列の算出方法は公知であるので、詳細な説明は省略する。
【００６５】
最後に、姿勢算出部４４０は、Ｒ２とＲ１の積、すなわち、
ＲＷＴ＝Ｒ２・Ｒ１...（式Ｃ）
によって、座標変換行列ＲＷＴを算出する。
以上によって、ステップＳ６３０において、座標変換行列ＲＷＴが算出される。
【００６６】
ステップＳ６４０において、姿勢算出部４４０は、Ｉ／Ｆ５０９を介して姿勢センサ１００から姿勢計測値ＲＴＳを入力する。
ステップＳ６５０において、姿勢算出部４４０は、ステップＳ６３０で算出したＲＷＴと、ステップＳ６４０で入力したＲＴＳと、既知の値として保持されているＲＳＶとを用いて、（式Ａ）に基づいてＲＷＶ（すなわち、基準座標系２００におけるカメラ１１０の姿勢）を算出する。
【００６７】
ステップＳＳ６６０において、画像生成部１５０は、Ｉ／Ｆ５０９を介してカメラ１１０から実写画像を入力し、これに、ステップＳ６３０で算出したカメラ１１０の姿勢と不図示の位置計測手段から入力したカメラ１１０の位置に基づいた仮想画像を重畳描画して出力する。
【００６８】
ステップ６７０において、ＣＰＵ５０１はプログラムの終了指示の有無を判定し、終了指示がなければステップＳ６２０以降の処理を繰り返し実行する。終了指示が与えられている場合には、プログラムの実行を終了する。
以上によって、基準座標系の設計の自由度を制限することなく、センサ座標系から基準座標系への変換を行うために必要なアライメントデータの設定を、容易に行うことが可能となる。
【００６９】
［第２の実施形態］
上記第１の実施形態では、TISS-5-40あるいはInertiaCube2のように、重力方向をＺ軸とした姿勢センサを使用した場合を説明したが、本発明の適用範囲は、このようなセンサを利用した構成に限られるものではない。センサ座標系が重力方向に関連づけて設定される姿勢センサであれば、本発明の姿勢計測方法はいずれのセンサに対しても適用可能である。
【００７０】
本実施形態では、複合現実感を提示する画像表示装置が、重力方向がＺ軸以外に設定されている姿勢センサを備えている際に、本発明の姿勢計測方法を適用した場合について説明する。
【００７１】
図７は、本実施形態における画像表示装置の装置構成を示している。同図に示したように、本実施形態における画像表示装置は、図４に示した画像表示装置における姿勢算出部４４０に相当する構成要素として姿勢算出部７４０を、姿勢センサ１３０相当する構成要素として姿勢センサ７３０を構成要素として有した構成となる。また、第三のアライメントデータ設定部７２０が構成要素として追加されている。尚、頭部装着部１００、カメラ１１０、表示画面１２０、画像生成部１５０、第一のアライメントデータ設定部４１０、及び第二のアライメントデータ設定部４２０の動作は図４に示した画像表示装置と同様であるので、説明を省略する。
【００７２】
姿勢センサ７３０は、センサ座標系の重力方向がＺ軸以外であるような設計がなされている姿勢センサであって、センサ座標系における姿勢センサ７３０自身の姿勢を計測し、３自由度の姿勢計測値を出力する。本実施形態では、例として、姿勢センサ７３０のセンサ座標系における重力方向が−Ｙ軸であると仮定して、以下の説明を行う。
【００７３】
姿勢算出部７４０は、姿勢算出部４４０と同様に、その不図示の内部メモリに、基準座標系２００における重力の方向を表す第一のアライメントデータと、センサ座標系２１０と基準座標系２００との間の方位方向の相違角（重力方向の軸（重力軸）周りの回転角）を表す第二のアライメントデータΦＷＴを保持している。また、内部メモリには、姿勢算出部４４０と同様に、姿勢センサ７３０の姿勢をカメラ１１０の姿勢に変換するための座標変換行列ＲＳＶ（すなわち、オフセットデータ）が、既知の値として保持されている。姿勢算出部７４０はさらに、これらのデータに加え、センサ座標系２１０における重力の方向を表す第三のアライメントデータを保持している。姿勢算出部７４０は、内部メモリが保持する第一、第二及び第三のアライメントデータを用いて、座標変換行列ＲＷＴを算出する。第三のアライメントデータの具体的構成や、第一、第二及び第三のアライメントデータからＲＷＴを算出する方法については、後に詳細を説明する。
【００７４】
姿勢算出部７４０はさらに、姿勢算出部４４０と同様に、算出したＲＷＴと、内部メモリが保持するＲＳＶと、姿勢センサ１３０から入力されるＲＴＳとを用いて、（式Ａ）に基づいてＲＷＶを算出し、これを画像生成部１５０へと出力する。
【００７５】
第三のアライメントデータ設定部７２０は、不図示の外部記憶装置に記録されている第三のアライメントデータを読み出し、これを姿勢算出部７４０の内部メモリに設定する処理を行う。
【００７６】
なお、図７において処理部７００を構成する、姿勢算出部７４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、第三のアライメントデータ設定部７２０及び画像生成部１５０の夫々は独立した装置として構成しても良いし、その一部又は全部をソフトウェアで実現し、１つもしくは複数のコンピュータのＣＰＵにより実行することで、その機能を実現するようにしても良い。本実施形態では、各部（姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、第三のアライメントデータ設定部７２０及び画像生成部１５０）は全てソフトウェアによって実現され、かつ１台のコンピュータ内で実行されるものとする。
【００７７】
姿勢算出部４４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、第三のアライメントデータ設定部７２０及び画像生成部１５０の夫々を、ソフトウェアを実行することで実現する、処理部７００として利用可能なコンピュータは、第１の実施形態と同様に、図５に示す構成を有する。
【００７８】
図８は、ＣＰＵ５０１がソフトウェアプログラムを実行することにより実現する、本実施形態における画像表示装置の処理のフローチャートである。なお、以下の処理を行う前に、姿勢算出部７４０、第一のアライメントデータ設定部４１０、第二のアライメントデータ設定部４２０、第三のアライメントデータ設定部７２０及び画像生成部１５０の夫々の機能を実現するためのソフトウェアのプログラムは外部記憶装置５０７や記憶媒体ドライブ５０８等からＲＡＭ５０２に既にロードされているものとする。なお、図６と同じ番号で示されるステップ（Ｓ６１０，Ｓ６２０，Ｓ６４０，Ｓ６５０，Ｓ６６０，Ｓ６７０）の処理内容は何れも第１の実施形態と同様であるので、説明を省略する。
【００７９】
ステップＳ８１０において、第三のアライメントデータ設定部７２０は、例えば記憶媒体ドライブ５０８中の記憶媒体に保存されている第三のアライメントデータを読み出し、ＲＡＭ５０２上に定義されている所定の変数にその値を設定する。第三のアライメントデータは、センサ座標系２１０における重力の方向を示す３次元ベクトルｇｓ＝(ｇｓＸ,ｇｓＹ,ｇｓＺ)によって構成されている。なお、記憶媒体には、所定のフォーマットに従ったデータファイル等の形態で、第三のアライメントデータとして、姿勢センサ７３０の仕様に応じた３次元ベクトルｇｓの値（本例では（０，−１，０））が予め保存されており、必要に応じて変更可能であるものとする。
【００８０】
ステップＳ８３０において、姿勢算出部７４０は、ＲＡＭ５０２に保持されている第一、第二及び第三のアライメントデータを用いて、センサ座標系２１０における姿勢を基準座標系２００における姿勢に変換する座標変換行列ＲＷＴを算出する。ステップＳ６３０との相違は、ｇｓの値が既知の値としてＲＡＭ５０２に予め保持されているものではなく、ステップＳ８１０において第三のアライメントデータ設定部７２０によって設定された値であるということのみであり、他の処理内容は同一である。
【００８１】
以上によって、姿勢センサに固有なセンサ座標系の仕様に関わらず、センサ座標系から基準座標系への変換を行うために必要なアライメントデータの設定を、容易に行うことが可能となる。
【００８２】
［第３の実施形態］
上記実施形態は、本発明の姿勢計測装置及びその方法を、複合現実感を提示する画像表示装置に適用したものであったが、本発明の姿勢計測装置及び姿勢計測方法は、姿勢センサを用いて物体の姿勢計測を行う種々の用途に用いることが可能である。
【００８３】
図９は、本実施形態における姿勢計測装置の装置構成例を示している。同図に示したように、本実施形態における姿勢計測装置は、コンピュータ９００と、第１の実施形態と同様な姿勢センサ１３０によって構成されている。
姿勢センサ１３０は、任意の計測対象物体９１０に固定されている。
【００８４】
コンピュータ９００は、第１の実施形態における姿勢算出部４４０に相当する構成要素として、姿勢算出部９４０を有している。また、第１の実施形態と同様に、第一のアライメントデータ設定部４１０及び第二のアライメントデータ設定部４２０を構成要素として有している。
【００８５】
姿勢算出部９４０は、姿勢算出部４４０と同様に、第一のアライメントデータ設定部４１０及び第二のアライメントデータ設定部４２０によって設定された第一及び第二のアライメントデータから、座標変換行列ＲＷＴを算出する。姿勢算出部９４０はさらに、姿勢算出部４４０と同様に、算出したＲＷＴと、内部メモリが保持するＲＳＶと、姿勢センサ１３０から入力されるＲＴＳとを用いて、（式Ａ）に基づいて、基準座標系における計測対象物体９１０の姿勢ＲＷＶを算出する。
【００８６】
第１の実施形態において、姿勢算出部４４０は、算出した姿勢ＲＷＶを、画像生成部１５０へと出力していた。本実施形態では、姿勢算出部９４０は、算出した姿勢ＲＷＶを、不図示のＩ／Ｆを介して、任意の機器に出力する。あるいは、姿勢算出部９４０は、算出した姿勢ＲＷＶを、コンピュータ９００の内部で並列実行されている任意のアプリケーションプログラムに送信する。
【００８７】
なお、本実施形態において、第二のアライメントデータを調整する際に必要な調整用画像の生成及び表示は、他のアプリケーションによって行う。この場合、算出した姿勢ＲＷＶなど、第二のアライメントデータの調整に必要なパラメータを他のアプリケーションに供給する。
以上によって、姿勢センサを用いて物体の姿勢計測を行う種々の用途において、基準座標系における計測対象物体の姿勢を取得することができる。
【００８８】
＜変形例１＞
上記実施形態では、第一のアライメントデータ設定部４１０は、記憶媒体ドライブ５０８に保存されている第一のアライメントデータを読み出すことにより、ＲＡＭ５０２上の変数に設定すべき第一のアライメントデータの値を取得していた。しかし、第一のアライメントデータの値を取得する方法は、これに限定されるものではない。例えば、第一のアライメントデータ設定部４１０の機能を実現するためのソフトウェアのプログラム中に第一のアライメントデータの値を直接コーディングすることでも、その値を取得することができる。また、ステップＳ６１０において、操作者が、キーボード５０４等を介してその値を直接入力してもよい。また、外部記憶装置５０７に記憶しておいても良いし、コンピュータネットワークを介して他のコンピュータから取得しても良い。
【００８９】
＜変形例２＞
上述の実施形態では、姿勢センサ１３０（７３０）とは別のコンピュータが姿勢算出部４４０（７４０）を具備していたが、姿勢センサ１３０（７３０）自体もしくはその付随装置に姿勢算出部４４０（７４０）と同等の機能を有することでも、本発明の効果を得ることができる。この場合、姿勢センサもしくはその付随回路は、第一乃至第三のアライメントデータ設定部のうち必要なものからのアライメントデータを入力する機能を具備する必要がある。
【００９０】
＜変形例３＞
上記実施形態では、第一のアライメントデータ設定部４１０が第一のアライメントデータとして設定した基準座標系２００における重力の方向を示すベクトルｇｗと、センサ座標系２１０における重力の方向を示すベクトルｇｓに基づいて座標変換行列Ｒ１を算出している。しかし、第一のアライメントデータは、必ずしも基準座標系２００における重力の方向ｇｗでなくてもよい。例えば、基準座標系２００における重力の方向ｇｗ及びセンサ座標系２１０における重力の方向ｇｓから座標変換行列Ｒ１を算出する算出装置が別途存在しており、第一のアライメントデータ設定部４１０は、座標変換行列Ｒ１を第一のアライメントデータとして姿勢算出部４４０に設定する構成であってもよい。この場合、ステップＳ６３０では、ｇｗ及びｇｓから座標変換行列Ｒ１を算出する処理は省略される。
【００９１】
同様に、基準座標系２００における重力の方向ｇｗとセンサ座標系２１０における重力の方向ｇｓから回転軸（法線ベクトル）ｎ及び回転角βを算出する算出装置が別途存在しており、第一のアライメントデータ設定部４１０は、回転軸ｎ及び回転角βを第一のアライメントデータとして姿勢算出部４４０に設定する構成であってもよい。この場合、ステップＳ６３０では、基準座標系２００における重力の方向ｇｗとセンサ座標系２１０における重力の方向ｇｓから回転軸ｎ及び回転角βを算出する処理は省略される。
【００９２】
このように、他の装置で座標変換行列Ｒ１や回転軸ｎ及び回転角βを算出する場合、算出に必要なパラメータ（ｇｓ、ｇｗ）を姿勢算出部が例えばその装置に供給し、算出結果を得るように構成すればよい。
【００９３】
なお、本変形例において、操作者が他の手段によって導出したＲ１、またはｎ及びβを第一のアライメントデータ設定部４１０によって設定したとしても、同様の効果が得られる。また、Ｒ１の設定は、回転行列を表現可能な他の記述方法（例えばロール角、ピッチ角、ヨー角によって構成されるオイラー角表現）によって指定することも可能であることは明白である。
【００９４】
［他の実施形態］
上述の第３の実施形態においては、第１の実施形態で説明した姿勢測定方法を用いる姿勢測定装置についてのみ説明したが、第２の実施形態で説明した姿勢測定方法も同様に適用可能であることは言うまでもない。この場合、コンピュータ９００は第三のアライメントデータ設定部７２０を含む。
【００９５】
また、上述の実施形態においては、頭部装着部又は姿勢センサを含む構成についてのみ説明したが、測定値や撮像画像が得られさえすれば、姿勢センサやカメラを有している必要はなく、また画像表示機能が不要であれば第３の実施形態に示すように表示部や画像生成部も必要もない。
【００９６】
上述の実施形態においては、１つの機器から構成される処理部についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【００９７】
尚、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図６、図８のいずれか１つ以上に示すフローチャートに対応したプログラム）を、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００９８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１００】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【０１０１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０４】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０５】
【図１】複合現実感の提示を行う一般的な画像表示装置の機能構成を示す図である。
【図２】基準座標系におけるカメラの姿勢を算出する方法を説明する図である。
【図３】従来手法における基準座標系とセンサ座標系の関係を説明する図である。
【図４】本発明の第１の実施形態としての画像表示装置の機能構成を示す図である。
【図５】本発明の実施形態における処理部として利用可能なコンピュータの基本構成を示す図である。
【図６】本発明の第１の実施形態における画像表示装置が行う処理を示すフローチャートである。
【図７】本発明の第２の実施形態としての画像表示装置の機能構成を示す図である。
【図８】本発明の第２の実施形態における画像表示装置が行う処理を示すフローチャートである。
【図９】本発明の第３の実施形態としての姿勢計測装置の機能構成を示す図である。
【図１】
2005107248.tif 000004
【図２】
2005107248.tif 000005
【図３】
2005107248.tif 000006
【図４】
2005107248.tif 000007
【図５】
2005107248.tif 000008
【図６】
2005107248.tif 000009
【図７】
2005107248.tif 000010
【図８】
2005107248.tif 000011
【図９】
2005107248.tif 000012