(57)【要約】【課題】同定に失敗した指標をユーザにわかりやすくて維持することを可能とし、指標の同定に関するミスをユーザが容易に発見できるようにする。【解決手段】撮像装置により撮影された画像中より指標を検出する。また、予め指標位置が登録された指標について、撮像装置の位置姿勢の計測結果に基づいて当該画像中における指標の位置を推定する。推定された指標の位置と検出された指標の位置に基づいて指標の同定を行い、位置が推定された指標のうち同定に失敗した指標を他の指標と区別して表示する。【選択図】  図１１
2006293485.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮影された画像中より指標を検出する検出工程と、
予め指標位置が登録された指標について、前記撮像装置の位置姿勢の計測結果に基づいて前記画像中における前記指標の位置を推定する推定工程と、
前記推定工程で推定された前記指標の位置と前記検出工程で検出された指標の位置に基づいて指標を同定する同定工程と、
前記推定工程で位置が推定された指標のうち前記同定工程で同定に失敗した指標を他の指標と区別して表示する表示工程とを備えることを特徴とする指標表示方法。
【請求項２】
前記表示工程は、前記同定工程において同定に失敗した指標を、ハイライト表示もしくは点滅表示することを特徴とする請求項１に記載の指標表示方法。
【請求項３】
前記同定工程による同定に失敗した指標に関して、前記推定工程で推定された位置から所定の距離の範囲内に存在する指標を特定する特定工程を更に備え、
前記表示工程は、前記特定工程で指標が特定された場合には、前記同定に失敗した指標と前記特定工程で特定された指標とを関連付けた表示を行うことを特徴とする請求項１に記載の指標表示方法。
【請求項４】
前記表示工程は、前記同定に失敗した指標と前記特定工程で特定された指標とを矢印で結ぶように表示することを特徴とする請求項３に記載の指標表示方法。
【請求項５】
請求項１乃至４のいずれかに記載の指標表示方法を実現するためのプログラム。
【請求項６】
請求項１乃至４のいずれかに記載の指標表示方法を実現するためのプログラムを記録した記録媒体。
【請求項７】
撮像装置により撮影された画像中より指標を検出する検出手段と、
予め指標位置が登録された指標について、前記撮像装置の位置姿勢の計測結果に基づいて前記画像中における前記指標の位置を推定する推定手段と、
前記推定手段で推定された前記指標の位置と前記検出手段で検出された指標の位置に基づいて指標を同定する同定手段と、
前記推定手段で位置が推定された指標のうち前記同定手段で同定に失敗した指標を他の指標と区別して表示する表示手段とを備えることを特徴とする画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複合現実感システム（ＭＲ（Mixed Reality）システム）において必要な実写画像とＣＧ画像との位置合わせに用いられる指標の検出、表示に関する。
【背景技術】
【０００２】
近年ＨＭＤ（Head Mount Display）と小型カメラを組み合わせ、実写映像とＣＧ映像を合成してＨＭＤに表示するＭＲ技術が現れている。ＭＲ技術を使用することで、あたかも現実世界の中に仮想の物体が現れたかのように見せることができるようになってきた。
【０００３】
このＭＲ技術を実現するためには、実写映像中の意図した位置に正確にＣＧ映像を表示する必要がある。即ち、実写映像とＣＧ映像の正確な位置合わせが要求される。このような位置合わせは実写映像を取り込む、ＨＭＤに搭載されたビデオカメラの位置、姿勢を３次元センサにより検出し、その検出値に基づいて行われる。しかしながら、センサ検出値は誤差を含むため、その検出値を補正する必要がある。そこで取り込んだ実写映像の中にＣＧ映像を描画する際に、実写映像に写った指標を元にＣＧの表示位置を微調整することで実写映像とＣＧ映像の位置合わせを行っていた。或いは、専ら映像中の指標位置に基づいてビデオカメラの位置、姿勢を検出することも可能であり、そのような方法で位置合わせを行うＭＲシステムも提案されている。
【非特許文献１】S. Uchiyama, K. Takemoto, K. Satoh, H. Yamamoto, and H. Tamura："MR Platform： A basic body on which mixed reality applications are built," Proc. IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2002), pp.246-253, 2002
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のような映像中の指標による位置合わせを正常に行うためには、指標を適切に配置する必要がある。指標はよく見える位置に配置しなければならないし、予め指標の位置を正確に計測してＭＲシステムに設定しなければならないことは言うまでもない。
【０００５】
しかしこのような作業は間違いが生じやすい。例えば次のような問題が生じることがあった。
（ａ） 通常の使用では陰になってほとんど指標を検出できない位置に指標を張ってしまう。
（ｂ） 指標の位置を測り損ねてＭＲシステムに間違った位置データを設定してしまう。
（ｃ）ＭＲシステムに入力した位置に指標を張ったつもりが張り忘れてしまう。
【０００６】
本発明は上記の課題に鑑みてなされたものであり、同定に失敗した指標をユーザにわかりやすく提示することを可能とし、指標の同定に関するミスをユーザが容易に発見できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための本発明による指標表示方法は、
撮像装置により撮影された画像中より指標を検出する検出工程と、
予め指標位置が登録された指標について、前記撮像装置の位置姿勢の計測結果に基づいて前記画像中における前記指標の位置を推定する推定工程と、
前記推定工程で推定された前記指標の位置と前記検出工程で検出された指標の位置に基づいて指標を同定する同定工程と、
前記推定工程で位置が推定された指標のうち前記同定工程で同定に失敗した指標を他の指標と区別して表示する表示工程とを備える。
【０００８】
また、上記の目的を達成するための本発明の他の態様による画像形成装置は以下の構成を備える。即ち、
撮像装置により撮影された画像中より指標を検出する検出手段と、
予め指標位置が登録された指標について、前記撮像装置の位置姿勢の計測結果に基づいて前記画像中における前記指標の位置を推定する推定手段と、
前記推定手段で推定された前記指標の位置と前記検出手段で検出された指標の位置に基づいて指標を同定する同定手段と、
前記推定手段で位置が推定された指標のうち前記同定手段で同定に失敗した指標を他の指標と区別して表示する表示手段とを備える。
【発明の効果】
【０００９】
本発明によれば、同定に失敗した指標をユーザにわかりやすく提示することが可能となるので、指標の同定に関するミスをユーザが容易に発見できる。
【発明を実施するための最良の形態】
【００１０】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１１】
図１は本実施形態による複合現実感システム（以下、ＭＲシステム）の構成を説明する図である。また、図２は本実施形態のＭＲシステムの機器構成を示すブロック図である。図１、図２に示すようなＭＲシステムによれば、ＭＲ技術を利用したゲーム装置等を実現できる。
【００１２】
図１に示すように、ＭＲシステムは、ヘッドマウントディスプレイ（ＨＭＤ）１００、３次元センサ本体２００、３次元センサ固定局２１０、計算機３００、ディスプレイ３４０、ゲームフィールド４００により構成される。ＨＭＤ１００はビデオシースルー方式を採用している。図３に示すように、ＨＭＤ１００は右目カメラ１１０、左目カメラ１１１、３次元センサ移動局としてのＨＭＤ内蔵位置センサ１２０、右目ＬＣＤ１３０、左目ＬＣＤ１３１を備えている。
【００１３】
以上のような構成により、プレイヤーはＨＭＤ１００を装着してゲームをプレーすることができる。例えば、図４に示されるように、ＨＭＤ１００内の右目ＬＣＤ１３０及び左目ＬＣＤ１３１には、右目カメラ１１０及び左目カメラ１１１で撮影された実写映像４０１とＣＧ画像４０２が合成された合成画像４０３が表示される。
【００１４】
ＨＭＤ１００内の右目ＬＣＤ１３０及び左目ＬＣＤ１３１に表示される映像は、図２のブロック図に示されるように、計算機３００により作成される。計算機３００はＣＰＵ３０１、メモリ３０２、ＰＣＩブリッジ３０３、シリアルＩ／Ｏ３１０、ビデオキャプチャカード３２０，３２１、ビデオカード３３０〜３３２を具備する。ディスプレイ３４０は、ＣＰＵ３０１の制御下で動作するビデオカード３３２の出力に従って可視像を表示する。例えば、図１１に示すような、計算機３００がＨＭＤ１００からの映像を画像処理した結果等を表示する（図１１の表示内容については後述する）。
【００１５】
図１のゲームフィールド４００には、図５に示すようにブロック４１０〜４１３が置かれており、それぞれのブロックの側面には指標４５０〜４５３が貼付されている。ゲームフィールド４００の位置はブロック４１０〜４１３と指標４５０〜４５３の位置を含めて正確に測定してある。
【００１６】
３次元位置センサは、３次元位置センサ本体２００、３次元位置センサ固定局２１０及びＨＭＤ内蔵位置センサ１２０からなる。３次元位置センサ本体２００は磁気により３次元位置センサ固定局２１０とＨＭＤ内蔵位置センサ１２０との相対位置を測定する。得られる位置情報はｘ，ｙ，ｚ，roll，pitch，yawの６自由度に関する測定結果である。３次元位置センサ２００は計算機３００とシリアルＩ／Ｏ３１０を介して通信する。３次元位置センサ固定局２１０の位置は事前に正確に測定してある。よって、ＨＭＤ内蔵位置センサ１２０の３次元位置センサ固定局２１０に対する相対位置が得られれば、ＨＭＤ１００の絶対位置を得ることができる。なお、図１のＭＲシステムにおいて、絶対値とはゲームフィールド４００の中心を原点とした位置であるとする。
【００１７】
なお、上記の構成では３次元位置センサを用いてＨＭＤ１００の位置を取得したが、これは本発明を制限するものではない。例えば、ＨＭＤ１００が備えるカメラ１１０，１１１によって得られる映像中に存在する絶対位置が既知である指標（例えば指標４５０〜４５３）からＨＭＤ１００の姿勢を推定してもよい。なお、映像中の指標４５０〜４５３から、ＨＭＤ１００の姿勢を推定する方法はよく知られているので、ここでは説明を省略する。また、本実施形態のＭＲシステムでは、３次元位置センサを用いて取得したＨＭＤ１００（右目カメラ１１０，左目カメラ１１１）の位置、姿勢を、映像中の指標位置を用いて補正するものとする。
【００１８】
計算機３００のＨＭＤ１００への表示スレッドのフローチャートを図６に示す。左右のＬＣＤに対する処理は基本的に同じなので、ここでは右目ＬＣＤ１３０への表示処理について説明する。なお、図６に示した処理は、ＣＰＵ３０１がメモリ３０２に格納されている制御プログラムを実行することによって実現される。
【００１９】
計算機３００はステップＳ１００において、右目カメラ１１０からの実写映像はビデオキャプチャカード３２０を介してに取り込む。そして、ステップＳ１０１において、取り込んだ実写映像をメモリ３０２上のビデオバッファに映像データとして書き込む。このビデオバッファは、作成途中の映像を格納するための作業領域としてメモリ３０２に確保されたものである。取り込んだ実写映像をメモリ３０２に書き込むことで、当該実写映像をコンピュータグラフィックス画像（ＣＧ画像）の背景画像とすることができる。
【００２０】
次に、ステップＳ１０２において、シリアルＩ／Ｏ３１０を介して３次元位置センサ本体２００からＨＭＤ１００の位置情報を得る。なお、ＨＭＤ１００の位置はワールド座標に変換してから格納する。ワールド座標は、ゲームフィールド４００の中心を原点とした座標系であり、本実施形態全体で使用される。ワールド座標への変換は、あらかじめ測定してあるゲームフィールド４００、３次元位置センサ固定局２１０の位置を用いることにより、周知の方法で実現できる。
【００２１】
次に、ステップＳ１０３において、計算機３００はＣＧの描画に使用する射影変換のための行列（射影変換行列）と、モデリング変換のための行列（モデリング変換行列）を作成する。モデリング変換行列はＨＭＤのワールド座標を用いて作成される。射影変換行列は、あらかじめ測定しておいたカメラの焦点距離などのパラメータから作成される。但し、射影変換行列の作成は最初の１回のみでよく、以降は最初に作成された射影変換行列を再利用して表示処理を行う。
【００２２】
ステップＳ１０４において、ビデオカメラ１００に写ったゲームフィールド４００上の指標４５０，４５１…を使ってＣＧ画像と実写映像の位置合わせをする。ここで、位置の補正はカメラの方向を補正する変換行列を作成し、これをモデリング変換行列に乗ずる。位置合わせの詳細については後述する。
【００２３】
ステップＳ１０５では、出来上がったモデリング変換行列を用いてＣＧデータをメモリ３０２の上記ビデオバッファにＣＧ画像を描画する。ＣＧ画像をビデオバッファに上書き描画することで、実写映像中にＣＧが描画されることになる。なお、ＣＧデータは別スレッドが必要に応じて作成しているものとする。本実施形態では図４に示したように魚とロケットのＣＧ画像４０２を動かすものとするが、このようなＣＧ画像の動かし方は周知であり、説明を省略する。ステップＳ１０６では、ＣＧデータの描画が終わると、ビデオバッファ内のデータをビデオボード３３０上のフレームバッファに転送されることによって、ＨＭＤ１００内のＬＣＤ１３０に映像が描画される。
【００２４】
実写映像とＣＧ画像との位置合わせ方法の概略を図７を用いて説明する。補正は、ゲームフィールド４００が写っている実写映像７００をｎ値化（後述する）して得られた指標４５０〜４５３の位置と、ＨＭＤ１００の内蔵位置センサ１２０によって得られた位置情報から予測される指標位置（指標７５０〜７５３の位置）との差分（７６０〜７６３）を用いて行われる。位置情報から予測される指標位置とは、内蔵位置センサ１２０から得られた位置及び姿勢であり、カメラを置いた場合に、座標が既知の指標が見えると予測される位置である。実際の補正は、カメラの方向をずらすことにより行われる。この補正の結果、ＣＧの描画位置が図７の７８０に示されるように補正される。各指標位置に関して得られる差分値からＣＧ画像の補正値を求める手順については図１３を参照して後述する。
【００２５】
以上説明した位置合わせのアルゴリズムのフローチャートを図８に示す。まず、ステップＳ２００、Ｓ２０１により、３次元位置センサからの位置情報と指標の位置情報（指標の位置情報は予めＭＲシステムのメモリ３０２に登録されている）から指標が見えると予測される位置を求める。まず、ステップＳ２００において、ＨＭＤ内蔵位置センサ１２０からの位置情報から得られるカメラ位置に基づいてモデリング変換行列を作成する。また、あらかじめ測定しておいたカメラの画角情報などから射影変換行列を作成する。各指標はゲームフィールド４００上に固定されているので座標は既知である。従って、ステップＳ２０１において、上記作成したモデリング変換行列と射影変換行列を使ってこれら指標の座標を変換し、指標が画面上で表示される予想位置を求める。以上の処理により、図７の７２０に示されるように、各指標の画面上の予測位置が７５０〜７５３のように求まる。
【００２６】
次に、実写映像７００から指標を探す。本実施形態では、６色（赤、紫、青、緑、黄、橙）の指標を使用しており、これらのいずれかの色を有する画像領域を映像中より抽出して、映像中の指標を同定する。以下、具体的に説明する。
【００２７】
指標の識別においては、まず、各画素の色をＣｂ、Ｃｒで表し、ＣｂＣｒ平面のどの領域の色であるかを判定する。図９は、本実施形態の指標色として識別する領域をＣｂ、Ｃｒ平面に表した図である。本実施形態では、原点から放射状に伸びる長方形として、赤、紫、青、緑、黄、橙の領域を定めている。ステップＳ２０２では、まず、カメラから取り込んだ実写映像の各画素の色値をＹ，Ｃｂ，Ｃｒに変換し、得られたＣｂ，Ｃｒの値が図９に示した各色の長方形領域のいずれかに入っているかを判定する。Ｃｂ，Ｃｒの値がいずれかの指標色の長方形領域に入っている場合、その画素の色を指標色として認識する。こうして得られた認識結果を用いて映像をｎ値化する。
【００２８】
ｎ値化について図１０を参照して説明する。例えば、指標色がｎ−１色の場合、各指標色に１〜ｎ−１の値を割り当て、その他の色を０として各画素に値を割り当てる。図９の例では６色あるので、１〜６が各指標色に割り当てられ、その他の色に０が割り当てられる。こうして、実写映像が７値化される。図１０（Ａ），（Ｂ）では、青に１、赤に２、黄に３が割り当てられている。図１０の（Ａ）において、白、黒、茶等の画素は色値が何れの長方形領域にも属さない画素であり、図１０（Ｂ）に示されるように「０」が割り当てられる。
【００２９】
次に、ステップＳ２０３において、ｎ値化した映像をブロックに分割するために、映像をラベリングする。ラベリングのアルゴリズムは一般に知られているのでここでは説明を省略する。ラベリングが終了したら、ステップＳ２０４において、一定以上の面積（本実施例では１０ドット以上）を有するブロックについてその重心を求める。ブロックの重心は、ブロックを構成する画素の座標の平均値を求めることで得ることができる。このブロックの重心（中心座標）が実写映像から検出した指標の画面上の位置となる。
【００３０】
次に、ステップＳ２０５において、ステップＳ２０１において得られた各指標の予想位置に関して、同じ色で、重心が最も近い位置にあるブロックを抽出する。そして、指標の予想位置と当該指標に関して抽出されたブロックの重心との距離が所定距離内にある場合には、それらを対応付けて、その対応関係を記録する。ステップＳ２０６では、ステップＳ２０５で求めた指標の対応関係をディスプレイ３４０に表示する。そして、ユーザの指示に応じて指標の位置情報を修正、または指標の登録を行う。図１１は、ディスプレイ３４０に表示されるプレビュー画面１１００の例を示す図である。なお、図示の簡略化と説明のしやすさから、図１１に示されるプレビューはテーブル１１０１上に指標が配置されている様子を示している。
【００３１】
図１１では、RED-0、YELLOW-0、YELLOW-1、BLUE-0の各指標が検出、同定されている。RED-1はその上に置かれたキーボード１１０２によって隠されており、検出に失敗している。GREEN-0は検出されているものの予想位置とは離れた位置に見えており、同定に失敗している。
【００３２】
なお、本実施形態では、図１１のプレビューに応じて、図１４のユーザインターフェース７０１を用いて指標の位置情報を修正することができる。図１１のプレビュー表示の後、ユーザの所定の操作に応じてユーザインターフェース７０１が表示される。ユーザインターフェース７０１において７０２は指標の一覧を示す表示領域であり、指標の座標の位置関係に基づきツリー上で表示される。図１４の例では世界座標系（基準座標系）で指標の位置座標が設定されていることを示している。そして、表示領域７０２の上で選択された指標（図１４ではGREEN-0）の情報（指標名７０３、位置情報７０４）が表示される。また、新規の指標の情報を登録することも可能である。
【００３３】
指標の対応関係を示すプレビュー映像は、ディスプレイ３４０に表示される実写映像の上に、各指標について図１２のフローチャートに示した処理を行うことで得られる。
【００３４】
ステップＳ３０１において、指標と同じ色のブロックを探す。ただし同じ色のブロックが複数あった場合には、指標の予測位置から最も近いブロックを選ぶ。ステップＳ３０２では、ステップＳ３０１で選んだブロックと上記指標の予測位置が第１の距離内にあるかを判断する。指標の予測位置と選ばれたブロックとの距離が第１の距離以内にあった場合には、ステップＳ３０３へ進み、当該指標とラベリングされたブロックを対応付ける。これは図８のステップＳ２０５と同じ処理を行っていることに相当する。そして、ステップＳ３０４において、その指標が検出、同定されたことを示すために、ディスプレイ３４０のプレビュー画像上の当該ブロックの座標に円を表示する。以上の処理により、図１１のRED-0，YELLOW-0，YELLOW-0，BLUE-0という指標名および同定結果（円）を表示することができる。
【００３５】
一方、ステップＳ３０２において、ステップＳ３０１で選ばれたブロックが対応する指標の予測位置から第１の距離内にない場合は、ステップＳ３０５へ進む。ステップＳ３０５では、その指標が同定されていないことを示すために、ディスプレイ３４０のプレビュー画像上の対応する指標の予測位置に×を表示する。図１１のRED-1，GREEN-0に関しては、このステップＳ３０５の処理結果として×が表示されている。
【００３６】
なお、この「×」の表示を点滅させて、より利用者の注意を促すようにしてもよい。「×」の点滅は、例えば、周期的にステップＳ３０５による「×」の表示を行わないようにすることで実現できる。
【００３７】
次に、ステップＳ３０６において、上記選ばれたブロックと指標の予測位置の距離がステップＳ３０２で用いた第１の距離よりも大きい第２の距離の範囲内であるかを判定する。第２の距離の範囲内であった場合は、ステップＳ３０７へ進み、当該選ばれたブロックから対応する指標の予想位置に向けて矢印を描画する。これは図１１のGREEN-0に対する処理に相当する。
【００３８】
以上のステップＳ３０１〜Ｓ３０７の処理を各指標に対して行うことにより、ステップＳ２０６でのプレビュー表示を実現することが出来る。なお、上記実施形態では、予測位置に最も近い指標の重心位置と予測位置との距離が第１の距離内にあれば同定に成功したものとし、それ以外の指標は同定に失敗したものとしている。これは、予測位置から所定距離（第１の距離）内に対応する指標の重心位置があるか否かを探索し、所定距離内に指標の重心位置が存在すれば同定に成功したものと判定することと等価である。所定距離内に２つ以上の指標が検出された場合に、それらのうち最も予測位置に近いものを選択するようにすれば図１２に示した処理と結果は全く同じになる。或いは、所定距離内に２つ以上の指標が検出された場合に、他の条件を加味して、たとえばブロックの大きさが指標に最も近いものを選択するようにしてもよい。また、同定には失敗したが、矢印等により対応が推測される指標との関連付けを示す場合においても、予測された指標位置から第１の距離の範囲外であって第２の距離の範囲内である指標を探索して対応を示すようにすればよい。この場合も、複数の指標が検出された場合に、最も予測位置に近い指標に対して矢印を表示するようにすれば図１２で示した処理と全く同じ結果になるが、検出された全ての指標に向かって矢印を表示してもよいし、ブロックのサイズ等の別の条件に基づいて指標を決定し、これに向かって矢印を表示するようにしてもよい。
【００３９】
本実施形態によれば、プレビュー表示に基づき、指標の位置情報の修正または新規指標の登録を行うことができる。よって、指標の位置設定に関する間違いを低減させることができる。
【００４０】
さらに、プレビュー表示において、同定に失敗した指標の予測位置および指標名が表示される。よって、ユーザが位置情報を修正すべき指標を簡単に把握することができる。そして、図１４のユーザインターフェース７０１を用いて指標の位置情報を修正することができる。
【００４１】
また、プレビュー表示において、撮影画像から検出された指標と、指標の予測位置との対応関係が矢印によって表示される。よって、ユーザは、指標の位置情報をどのように修正すればいいのかを簡単に把握することができる。
【００４２】
図８に戻り、ステップＳ２０７において、対応の取れた指標について各指標について予想位置とラベリングしたブロックとの変位を求める。より具体的には、「対応の取れた指標表示予測位置すべての座標をベクトルとみなしたときの平均ベクトル」と「対応の取れた実写映像から検出した指標位置すべての座標をベクトルとみなしたときの平均ベクトル」を計算する。こうして得られた２つの平均ベクトルの差異は、予想位置と実際の指標位置との間の変位を表す。
【００４３】
ステップＳ２０８では、指標表示予想位置の平均ベクトルと、実写映像から検出した指標位置の平均ベクトルから、補正のためにカメラを回転する方向を求める。カメラ位置の補正のための回転方向と角度の求め方を図１３に示す。
【００４４】
図１３において、指標表示予測位置の平均ベクトルを(ｍx, ｍy)、実写映像から検出した指標位置の平均ベクトルを(ｌx, ｌy)としたとき、カメラの焦点距離（正確には焦点距離［mm］を１画素のサイズ［mm/pixel］で割った値）をdとして、ベクトルＭ，Ｌ、
Ｍ = (ｍx, ｍy, d)
Ｌ = (ｌx, ｌy, d)
のなす角度θを求める。このθがカメラ位置を回転させる角度となる。なお、θはベクトルＭとＬの内積、
|Ｍ|・|Ｌ|・cosθ = Ｍ・Ｌ
を解くことで求めることができる。
【００４５】
また回転軸は、回転軸と平行するベクトルをＭとＬの外積（Ｍ×Ｌ）により求めることができる。以上の方法により求めた回転方向と角度を元に、カメラ位置補正のための回転行列を作成し、これをカメラ位置の補正行列とする。なお、厳密に言えば、本実施形態では、カメラ自体を回転させる代わりに世界全体を回転させている。
【００４６】
ステップＳ２０９では、以上のようにして得られた補正行列をモデリング変換行列に乗ずる。
【００４７】
以上の構成により、プレビュー画面にて、画像中に写っているはずだが認識できていない指標や、同定に失敗した指標がユーザに提示される。このため、指標の張り忘れや、指標に関する位置姿勢の誤入力等のミスをユーザが早期に発見できるようになる。特に、同定に失敗した指標について画像中の指標が存在すると予想される位置に「×」のような所定の印を表示し、これをハイライト表示したり、もしくは点滅表示するので、ユーザは即座に異常のあった指標を発見できる。
【００４８】
また、同定に失敗した指標について、指標があると予想される場所の近隣に同種の指標が認識されている場合に、それらの関連を、例えば矢印等で明示している。このため、ユーザは修正すべき指標を容易に発見でき、操作性が向上する。
【００４９】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００５０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯS）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５３】
【図１】本実施形態の全体図である。
【図２】本実施形態の模式図である。
【図３】ＨＭＤ１００の概略図である。
【図４】ＭＲ技術の概略を示した図である。
【図５】ゲームフィールド400を示した図である。
【図６】画像表示スレッドの動作(片目分)を示したフローチャートである。
【図７】ＣＧの描画位置補正方法の概略を示した図である。
【図８】ＣＧの描画位置補正方法のフローチャートである。
【図９】Cb,Cr平面上での領域を指定することにより、色を指定することを説明した図である。
【図１０】画像の色によるn値化の様子を示した図である。
【図１１】本実施形態におけるプレビュー画面で、検出されていない指標や同定されていない指標の表示例である。
【図１２】プレビュー画面を描画するための動作を示したフローチャートである。
【図１３】描画位置補正のためにカメラ位置を回転させる方法の概略を示した図である。
【図１４】指標の位置修正が可能なユーザインターフェースの例を示す図である。
【図１】
2006293485.tif 000003
【図２】
2006293485.tif 000004
【図３】
2006293485.tif 000005
【図４】
2006293485.tif 000006
【図５】
2006293485.tif 000007
【図６】
2006293485.tif 000008
【図７】
2006293485.tif 000009
【図８】
2006293485.tif 000010
【図９】
2006293485.tif 000011
【図１０】
2006293485.tif 000012
【図１１】
2006293485.tif 000013
【図１２】
2006293485.tif 000014
【図１３】
2006293485.tif 000015
【図１４】
2006293485.tif 000016