(57)【要約】【課題】  指標に記されている識別情報を所定の複数の視点の何れから観察しても、例えば斜め方向から観察した場合でも、この識別情報を読み取り、読み取った識別情報を正しく識別するための技術を提供すること。【解決手段】  識別子を所定の複数の視点の何れから観察しても略同じ像となるべく、識別子の観察像を光学的に変化させるレンチキュラレンズを有する指標、が複数配された現実空間の画像を取得し、画像における指標の投影像を検出し（Ｓ２０１）、検出した指標の投影像から識別子を読み取ることで、この指標を識別する（Ｓ２０４）。【選択図】  図８
2006267879.tif 000002
【特許請求の範囲】
【請求項１】
識別情報が記されており、且つ当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該識別情報の観察像を光学的に変化させる構成を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から識別情報を読み取ることで、当該指標を識別する識別工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記指標にはレンチキュラレンズが備わっており、
当該レンチキュラレンズ、及び当該指標に記されている識別情報は、当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく構成されていることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記指標に記されている識別情報はホログラムによって記されており、
当該ホログラムは、当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく構成されていることを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記指標にはインテグラルフォトグラフィーレンズが備わっており、
当該インテグラルフォトグラフィーレンズ、及び当該指標に記されている識別情報は、当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく構成されていることを特徴とする請求項１に記載の画像処理方法。
【請求項５】
第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別工程と、
前記検出工程で検出した指標の投影像から前記第２の識別情報を読み取ることで、前記視点の位置を推定する推定工程と、
前記推定工程で推定した位置の視点から見える画像上の指標の位置と、前記検出工程で検出した当該指標の位置とを用いて、当該指標に対する前記識別工程における識別処理をチェックするチェック工程と
を備えることを特徴とする画像処理方法。
【請求項６】
第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別工程と、
前記検出工程で検出した指標の投影像から前記第２の識別情報を読み取り、読み取った前記第２の識別情報に基づいて、前記検出工程で検出した指標に優先度を設定する設定工程と
を備えることを特徴とする画像処理方法。
【請求項７】
識別情報が記されており、且つ当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該識別情報の観察像を光学的に変化させる構成を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から識別情報を読み取ることで、当該指標を識別する識別手段と
を備えることを特徴とする画像処理装置。
【請求項８】
第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別手段と、
前記検出手段が検出した指標の投影像から前記第２の識別情報を読み取ることで、前記視点の位置を推定する推定手段と、
前記推定手段が推定した位置の視点から見える画像上の指標の位置と、前記検出手段が検出した当該指標の位置とを用いて、当該指標に対する前記識別手段による識別処理をチェックするチェック手段と
を備えることを特徴とする画像処理装置。
【請求項９】
第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別手段と、
前記検出手段が検出した指標の投影像から前記第２の識別情報を読み取り、読み取った前記第２の識別情報に基づいて、前記検出手段が検出した指標に優先度を設定する設定手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータに請求項１乃至６の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項１２】
撮影画像内のマーカ位置に基づき撮影部の位置を求めるためのマーカであって、
マーカを識別するための識別子画像を有する物体と、
前記物体上に配置されたレンズと
を有することを特徴とするマーカ。
【請求項１３】
前記識別子画像、及び前記レンズは、前記識別子画像を所定の複数の視点の何れから観察しても略同じ像となるべく、前記識別子画像の観察像を光学的に変化させるよう構成されていることを特徴とする請求項１２に記載のマーカ。
【請求項１４】
前記識別子画像は、２次元マトリクスパターンであることを特徴とする請求項１３に記載のマーカ。
【請求項１５】
前記レンズは、レンチキュラレンズであることを特徴とする請求項１３に記載のマーカ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の指標が配された現実空間の画像に係る画像処理技術に関するものである。
【背景技術】
【０００２】
近年、複合現実感（Mixed Reality; MR）技術の研究が盛んに行われている。MR技術は、現実空間と、コンピュータによって作られる仮想空間と、を継ぎ目なく融合する技術である。MR技術の中でも、現実空間に仮想空間を重ね合わせて表示するAugmented Reality（AR、拡張現実感、増強現実感とも呼ばれる）技術が特に注目を集めている。
【０００３】
ARの画像表示装置は、ビデオカメラなどの撮像装置によって撮影された現実空間の画像に、この撮像装置の位置及び姿勢に応じて生成された仮想空間（コンピュータグラフィクスにより描画された仮想物体や文字情報など）の画像を重畳描画した合成画像を表示するビデオシースルー方式か、あるいは観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する光学シースルー方式によって実現される。
【０００４】
AR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組立作業時に作業手順を重畳表示する組み立て支援など様々な分野への応用が期待される。
【０００５】
AR技術において最も重要な課題の一つは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。ARにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における（すなわち世界座標系における）撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。
【０００６】
前者の問題を解決する方法として、シーン中に複数の指標を配置あるいは設定し、撮像装置が撮影した画像内における指標の投影像の座標を検出することで、シーン中における撮像装置の位置及び姿勢を求めることが一般的に行われている。また、後者の問題を解決する方法として、計測対象物（すなわち観察者の頭部あるいはディスプレイ）に撮像装置を装着し、前者と同様な方法によって撮像装置の位置及び姿勢を求め、それに基いて計測対象物の位置及び姿勢を求めることが一般的に行われている。
【０００７】
図１を用いて、撮像装置が撮影した画像から指標を検出することで、この撮像装置の位置及び姿勢を計測する位置姿勢計測装置の従来例について説明する。図１は、従来の位置姿勢計測装置の機能構成を示すブロック図である。
【０００８】
同図に示す如く、従来の位置姿勢計測装置１００は、指標検出部１１０及び位置姿勢算出部１２０によって構成されており、指標検出部１１０には撮像装置１３０が接続されている。
【０００９】
また、現実空間中の複数の位置には、撮像装置１３０によって撮影するための指標として、世界座標系における位置が既知である複数個の指標Ｑｋ（ｋ＝１，２，・・・，Ｋ１）が配置されている。図１では、４個の指標Ｑ１、Ｑ２、Ｑ３、Ｑ４が配置されており、そのうちの３個Ｑ１、Ｑ３、Ｑ４が撮像装置１３０の視野内に含まれている。
【００１０】
指標Ｑｋは、例えばそれぞれが異なる色を有する円形状のマーカなど、撮影画像上における投影像の画像座標が検出可能であって、かつ何れの指標であるかが同定可能であるような指標であれば何れの形態であってもよい。
【００１１】
撮像装置１３０が出力する画像は、指標検出部１１０に入力される。指標検出部１１０は、撮像装置１３０から入力した画像上に撮影されている指標Ｑｋの画像座標を検出する。例えば、指標Ｑｋの各々が異なる色を有するマーカによって構成されている場合には、入力画像上から各々のマーカ色に対応する領域を検出し、その重心位置を指標の検出座標とする。
【００１２】
さらに指標検出部１１０は、検出された各々の指標Ｑｋｎの画像座標uQknとその識別子ｋｎを位置姿勢算出部１２０へと出力する。ここで、ｎ（＝１，・・・，Ｎ）は検出された指標の通し番号を表す変数であり、Ｎは検出された指標の総数を表している。例えば図１の場合には、Ｎ＝３であり、指標検出部１１０は、識別子ｋ１＝１、ｋ２＝３、ｋ３＝４と、これらに対応する画像座標ｕＱｋ１、ｕＱｋ２、ｕＱｋ３を位置姿勢算出部１２０に出力する。
【００１３】
位置姿勢算出部１２０は、検出された各々の指標Ｑｋｎの画像座標ｕＱｋｎと、既知な情報として予め保持している指標Ｑｋｎの世界座標との対応関係に基いて、撮像装置１３０の位置及び姿勢を算出する。指標の世界座標と画像座標の組から撮像装置の位置及び姿勢を算出する方法は、写真測量の分野において古くから提案されている（例えば、非特許文献１、非特許文献２を参照）。位置姿勢算出部１２０は、例えば非特許文献１に記載の手法によって、撮像装置１３０の位置及び姿勢を算出する。
【００１４】
以上の方法によって、撮像装置が撮影した画像に基づいて、この撮像装置の位置及び姿勢を取得することが従来からなされてきた。
【００１５】
一方、例えば特許文献１、２および非特許文献３で開示されているように、計測対象である撮像装置に磁気センサや超音波センサなどの６自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測することも行われている。この方法では、特にセンサによる計測値を画像情報によって補正するという枠組みで処理を行うことで、真の解から大きく外れた解が得られることを避けることができるため、安定した動作が期待できる。
【００１６】
ところで、前述のような、指標を利用して撮像装置の位置及び姿勢を算出する場合には、指標の識別子を正しく同定し、画像内の指標がどの指標であるかを正しく知る必要がある。
【００１７】
前述のような、異なる色を有する円形状のマーカを指標として用いる場合で、似た色のマーカが存在する場合には、照明条件などにより一意に同定することができなくなる。また、前フレームにおける指標の画像座標や、６自由度位置姿勢センサの計測値を利用して予測される指標の画像座標を用いて指標の追跡を行う場合でも、撮像装置の位置または姿勢の変動が大きかったり、指標の数が多かったりする場合には一意に同定することができなくなる。
【００１８】
これに対して、２次元パターンが描かれたマーカを指標として用いることによって、利用できる指標の数を増やし、撮影画像上に投影された指標の２次元パターンを読み取ることによって、撮影画像だけをもとに指標の識別子を一意に同定することが行われている（例えば非特許文献４、非特許文献５を参照）。非特許文献４では、２次元マトリクスコードを２次元パターンとして用いており、識別子の同定は画像上に投影されたパターンからビット情報を直接読み取ることで行っている。また、非特許文献５では、任意の２次元パターンをパターンマッチングによって同定することにより、指標の同定を行っている。
【特許文献１】特開平１１-０８４３０７号公報
【特許文献２】特開２０００-０４１１７３号公報
【非特許文献１】R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: Review and analysis of solutions of the three point perspective pose estimation problem, International Journal of Computer Vision, vol.１３, no.３, pp.３３１-３５６, １９９４.
【非特許文献２】D. G. Lowe: Fitting parameterized three-dimensional models to images, IEEE Transactions on PAMI, vol.１３, no.５, pp.４４１-４５０, １９９１.
【非特許文献３】A. State, G. Hirota, D. T. Chen, W. F. Garrett and M. A. Livingston: Superior augmented reality registration by integrating landmark tracking and magnetic tracking, Proc. SIGGRAPH’９６, pp.４２９-４３８, １９９６.
【非特許文献４】暦本純一： ２次元マトリックスコードを利用した拡張現実感の構成手法，インタラクティブシステムとソフトウェア IV，近代科学社，１９９６.
【非特許文献５】加藤博一，M. Billinghurst，浅野浩一，橘啓八郎： マーカー追跡に基づく拡張現実感システムとそのキャリブレーション， 日本バーチャルリアリティ学会論文誌，vol.４, no.４, pp.６０７-６１６，１９９９.
【発明の開示】
【発明が解決しようとする課題】
【００１９】
前述のような２次元パターンが描かれた指標は、斜め方向から観察した場合（指標の法線ベクトルと視線ベクトルのなす角度が９０°に近くなる場合）、射影変換の影響によって指標が画像面上で奥行き方向につぶれて観察され、正しく２次元パターンを読み取れずに同定ができなくなるという問題があった。
【００２０】
また、２次元パターンが読み取れた場合でも、誤った読み取りを行って指標の同定を間違えるため、位置姿勢算出において正しい位置姿勢が求められないという問題があった。
【００２１】
また、観察された指標の中から実際に位置姿勢算出に用いる指標を決定する際の基準がなかった。
【００２２】
本発明は以上の問題に鑑みてなされたものであり、指標に記されている識別情報を所定の複数の視点の何れから観察しても、例えば斜め方向から観察した場合でも、この識別情報を読み取り、読み取った識別情報を正しく識別するための技術を提供することを目的とする。
【００２３】
また、更に、識別情報の識別を誤ってしまった場合であっても、その誤りを検出できるようにする。
【００２４】
また、更に、観察される多数の指標の中から、実際に位置姿勢算出に用いる指標を、優先度を基準として決定する。
【課題を解決するための手段】
【００２５】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００２６】
即ち、識別情報が記されており、且つ当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該識別情報の観察像を光学的に変化させる構成を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から識別情報を読み取ることで、当該指標を識別する識別工程と
を備えることを特徴とする。
【００２７】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００２８】
即ち、第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別工程と、
前記検出工程で検出した指標の投影像から前記第２の識別情報を読み取ることで、前記視点の位置を推定する推定工程と、
前記推定工程で推定した位置の視点から見える画像上の指標の位置と、前記検出工程で検出した当該指標の位置とを用いて、当該指標に対する前記識別工程における識別処理をチェックするチェック工程と
を備えることを特徴とする。
【００２９】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００３０】
即ち、第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像における指標の投影像を検出する検出工程と、
前記検出工程で検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別工程と、
前記検出工程で検出した指標の投影像から前記第２の識別情報を読み取り、読み取った前記第２の識別情報に基づいて、前記検出工程で検出した指標に優先度を設定する設定工程と
を備えることを特徴とする。
【００３１】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００３２】
即ち、識別情報が記されており、且つ当該識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該識別情報の観察像を光学的に変化させる構成を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から識別情報を読み取ることで、当該指標を識別する識別手段と
を備えることを特徴とする。
【００３３】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００３４】
即ち、第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別手段と、
前記検出手段が検出した指標の投影像から前記第２の識別情報を読み取ることで、前記視点の位置を推定する推定手段と、
前記推定手段が推定した位置の視点から見える画像上の指標の位置と、前記検出手段が検出した当該指標の位置とを用いて、当該指標に対する前記識別手段による識別処理をチェックするチェック手段と
を備えることを特徴とする。
【００３５】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００３６】
即ち、第１の識別情報、第２の識別情報が記されており、当該第１の識別情報を所定の複数の視点の何れから観察しても略同じ像となるべく、当該第１の識別情報の観察像を光学的に変化させる構成、及び当該第２識別情報を観察する視点が存在する観察領域に応じて当該第２の識別情報の像を異ならせるべく、当該第２の識別情報の観察像を光学的に変化させる構成、を有する指標、が複数配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像における指標の投影像を検出する検出手段と、
前記検出手段が検出した指標の投影像から前記第１の識別情報を読み取ることで、当該指標を識別する識別手段と、
前記検出手段が検出した指標の投影像から前記第２の識別情報を読み取り、読み取った前記第２の識別情報に基づいて、前記検出手段が検出した指標に優先度を設定する設定手段と
を備えることを特徴とする。
【００３７】
本発明の目的を達成するために、例えば、本発明のマーカは以下の構成を備える。
【００３８】
即ち、撮影画像内のマーカ位置に基づき撮影部の位置を求めるためのマーカであって、
マーカを識別するための識別子画像を有する物体と、
前記物体上に配置されたレンズと
を有することを特徴とする。
【発明の効果】
【００３９】
本発明の構成により、指標に記されている識別情報を所定の複数の視点の何れから観察しても、例えば斜め方向から観察した場合でも、この識別情報を読み取り、読み取った識別情報を正しく識別することができる。
【００４０】
また、更に、識別情報の識別を誤ってしまった場合であっても、その誤りを検出することができる。
【００４１】
また、更に、観察される多数の指標の中から、実際に位置姿勢算出に用いる指標を、優先度を基準として決定することができる。
【発明を実施するための最良の形態】
【００４２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００４３】
［第１の実施形態］
図２は、現実空間と仮想空間とを合成した複合現実空間の画像を観察者に提示するための、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、撮像部２１０と、複合現実感体験装置２とで構成されている。
【００４４】
先ず、撮像部２１０について説明する。撮像部２１０は、例えばカメラであり、現実空間の動画像を撮像し、撮像した各フレームの画像を後段の複合現実感体験装置２に送出する。なお、現実空間中には後述する指標（マーカ）が複数配されている。従って、撮像部２１０が撮像した画像内には複数の指標が写っていることになる。
【００４５】
次に、複合現実感体験装置２について説明する。複合現実感体験装置２は、画像取り込み部２２０、指標同定部２３０、位置姿勢算出部２４０、画像合成部２６０、仮想空間描画部２５０により構成されている。
【００４６】
画像取り込み部２２０は、撮像部２１０によって撮影された各フレームの画像を本装置内に入力し、画像合成部２６０、指標同定部２３０にそれぞれ出力する。
【００４７】
指標同定部２３０は、画像取り込み部２２０から受けた画像内に写っている指標の投影像を検出する。ここで「指標の投影像を検出する」とは、画像内における指標の画像座標値と、この指標を識別する為の情報（識別情報）とを検出することである。そして、識別情報を検出すると、この指標を同定する処理を行う。そして、指標を同定すると、この指標を識別するための識別子と、この指標の画像座標とを位置姿勢算出部２４０に送出する。
【００４８】
位置姿勢算出部２４０は、それぞれの指標の世界座標系（現実空間中の１点を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）における位置を保持しているので、指標同定部２３０から、指標の識別子とこの指標の画像座標とを受けると、受けた識別子で特定される指標の世界座標系を読み出し、これと、指標同定部２３０から受けた画像座標とを用いて周知の技術でもって、撮像部２１０の位置姿勢を算出する。
【００４９】
仮想空間描画部２５０は、位置姿勢算出部２４０が算出した撮像部２１０の位置姿勢を用いて、この撮像部２１０から見えるであろう仮想空間の画像を生成する。
【００５０】
画像合成部２６０は、画像取り込み部２２０から受けた現実空間の画像上に、仮想空間描画部２５０が生成した仮想空間の画像を重畳させた合成画像、即ち、複合現実空間の画像を生成し、表示部２７０に出力する。
【００５１】
これにより、表示部２７０には、撮像部２１０から見える複合現実空間の画像を表示することができる。
【００５２】
図３は、上記複合現実感体験装置２に適用可能なコンピュータ、及びその周辺機器のハードウェア構成を示すブロック図である。
【００５３】
３０１はＣＰＵで、ＲＡＭ３０７やＲＯＭ３０６に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。即ち、図２に示した指標同定部２３０、位置姿勢算出部２４０、仮想空間描画部２５０、画像合成部２６０のそれぞれの機能（若しくは制御機能）を実行する。
【００５４】
３０２はグラフィックアクセラレータで、仮想空間の画像生成処理や、複合現実空間の画像生成処理など、画像処理の一部を処理する。そして生成した複合現実空間の画像をＨＭＤ（ヘッドマウントディスプレイ）３０４に送出する。なお、このグラフィックアクセラレータ３０２は、ＣＰＵ３０１による制御に従って動作する。
【００５５】
３０４はＨＭＤで、周知の如く、観察者の頭部に装着すると、上記表示部２７０に相当する表示装置がこの観察者の眼前に位置するように設けられている。
【００５６】
３０５は外部記憶装置で、ハードディスクドライブ装置等に代表される大容量情報記憶装置であり、ここにＯＳ（オペレーティングシステム）や、ＣＰＵ３０１に、コンピュータが行う後述の各処理を実行させるためのプログラムやデータが保存されており、これらはＣＰＵ３０１による制御に従って適宜ＲＡＭ３０７にロードされる。
【００５７】
３０６はＲＯＭで、本コンピュータの設定データやブートプログラムなどを格納する。
【００５８】
３０７はＲＡＭで、外部記憶装置３０５からロードされたプログラムやデータを一時的に記憶するためのエリア、画像取り込み器３１０を介してカメラ３１１から受信した画像データを一時的に記憶するためのエリア、センサ３１２から受信した位置姿勢データを一時的に記憶するためのエリア、ＣＰＵ３０１が各種の処理を実行する際に用いるワークエリア等、各種のエリアを適宜提供することができる。
【００５９】
３０８，３０９はそれぞれマウス、キーボードで、本コンピュータの操作者が操作することで、各種の指示をＣＰＵ３０１に対して入力することができる。
【００６０】
３１０は画像取り込み器で、例えばビデオキャプチャボードであり、カメラ３１１が撮像した現実空間の画像のデータを本コンピュータに入力するためのＩ／Ｆとして機能するものである。即ち、画像取り込み部２２０として機能する。
【００６１】
カメラ３１１は、ＨＭＤ３０４を頭部に装着する観察者の視点位置近傍に位置するように、ＨＭＤ３０４に取り付けられるものであり、現実空間の動画像を撮像し、撮像した各フレームの画像は画像取り込み器３１０に出力する。カメラ３１１は、上記撮像部２１０として機能するものである。
【００６２】
センサ３１２（６自由度センサ、姿勢センサ、慣性センサなど）は、ＨＭＤ３０４を頭部に装着する観察者の視点位置近傍に位置するように、ＨＭＤ３０４に取り付けられるものであり、自身の位置姿勢を計測する。計測した結果はＲＡＭ３０７に入力される。なお、センサ３１２による自身の位置姿勢の計測方法については特に限定するものではない。
【００６３】
次に、現実空間中に複数配される指標について説明する。
【００６４】
図４は、本実施形態で用いる指標を説明する図である。図４（ａ）は、指標の上面図で、同図に示す如く、指標は、この指標を固有に識別するための識別子が画像（識別子画像）として記された識別子領域と、これを囲む境界領域とで構成されており、例えば紙にこのような各領域をプリントすることで得られる。なお、本実施形態では同図に示す如く、識別子として２次元マトリクスパターンを用いるが、識別子として用いることができるのはこれに限定するものではなく、これ以外にも考えられる。
【００６５】
図４（ｂ）は、指標の一辺に沿った、指標の断面図で、同図に示す如く、識別子領域はレンチキュラによって構成されている。即ち、識別子領域内に記された２次元マトリクスパターンを有する物体（例えば２次元マトリクスパターンが記された面を有する平面物体）上にレンチキュラレンズが配置されている。
【００６６】
通常レンチキュラは、視点ごとに異なる像が観察されるようにすることによって三次元画像表示を実現するものであるが、本実施形態では、異なる視点から観察したときでも、識別子領域の投影像がほぼ同じであるようにする。
【００６７】
図５（ａ）は、正面から見た指標（指標を見る観察者の視線ベクトルと指標の法線ベクトルとが略平行となる場合に、この観察者に見える指標）を示す図で、図５（ｂ）は、斜めから見た指標（指標を見る観察者の視線ベクトルと、レンチキュラレンズの長手方向とが略直交している場合に、この観察者に見える指標）を示す図である。それぞれに示すように、指標そのものの画像上での投影像は透視変換の影響を受けているが、識別子領域部分はレンチキュラによってほぼ同一の投影像として観察される。
【００６８】
図６は、指標の一辺に沿った、指標の断面図である。識別子領域は、レンチキュラレンズと識別子画像から構成される。観察領域ｖ１、ｖ２、ｖ３では、それぞれ異なる画像が観察されるが、同一領域内では同じ画像が観察される。各観察領域は同図に示す如く四角形となる。四角形がレンズ中心から結像面への方向（奥行き方向）に向かって伸びるほど、同じ画像を観察できる領域が奥行き方向に広がる。レンチキュラレンズの焦点距離をｆ、画像とレンズ中心との距離をａ、レンズ中心と結像面との距離をｂとした場合、次の式が成り立つ。
【００６９】
１／ｆ＝１／ａ＋１／ｂ
観察領域を奥行き方向に広げるためにはレンズ中心と結像面との距離ｂを大きくする必要があるため、焦点距離ｆが固定の場合には識別子画像とレンズ中心との距離ａを小さく、つまりレンチキュラレンズと画像とを近づける。また、識別子画像とレンズ中心との距離ａが固定の場合には、レンチキュラレンズの焦点距離ｆを大きくする。一方、ｂは指標を観察する視点位置によって決まるものでもあるため、想定される観察位置でのｂを決めてからａ、ｆを調整してもよい。また、識別子領域の大きさＬを変えることによっても、奥行き方向の観察領域の広さを変えることが可能である。Ｌを小さくすることで奥行き方向の観察領域を広げることが出来るが、通常カメラの解像度は有限なので、撮影画像の解像度とのトレードオフになる。
【００７０】
水平方向（結像面に平行な方向）の観察領域を広げるためには、画像とレンズ中心との距離ａを小さくするか、または識別子画像を大きくしなければならない。しかし、単純に識別子画像を大きくすると、隣のレンズに写りこむ場合があるため、レンズも同時に大きくしなければならない。これは識別子領域の大きさＬを固定とした場合には、レンチキュラレンズの数を減らすことにつながる。また、画像面上での画像位置とレンズ中心とのずれを大きくすることによっても、水平方向（結像面に平行な方向）の観察領域を広げることができる。
【００７１】
観察可能な視点の数（図６では３個）は、任意に設定できるが、識別子領域の大きさＬと同様に撮影画像の解像度とのトレードオフになる。
【００７２】
本実施形態では、観察領域v１、v２、v３のどの領域から指標を観察しても、識別子領域の投影像がほぼ同じになるように識別子画像を生成しなければならない。観察領域内のすべての点において識別子領域の投影像が同じになるようにすることはできないので、各観察領域内で代表となる点を一つ選び、この代表点において観察する場合に、識別子領域の投影像が同じになるようにする。図６において６０１〜６０３で示す各点は結像面上の点であり、観察される指標のフォーカスが各観察領域内で最も合っている点である。本実施形態では、６０１〜６０３で示される点を代表点として用いる。
【００７３】
図７は識別子画像の構成方法を説明する図である。観察領域内の結像面上の点p１、ｐ２、ｐ３にカメラを置き、指標中心方向を向けて指標を撮影する。点ｐ１、ｐ２、ｐ３において撮影される画像はそれぞれ画像１、画像２、画像３である。図７において、点ｐ２と指標中心を結ぶ方向がレンチキュラと垂直であるとすると、指標を撮影したときの投影像が元の指標と同じ形状となる。そこで、点ｐ１、ｐ３において撮影される指標の識別子領域の投影像が、点ｐ２で撮影された画像２における指標の識別子領域の投影像と略同じ形状になるように識別子画像を構成する。各レンズごとに生成しなければならない観察領域ｖ１、ｖ２、ｖ３用の画像のうち、観察領域ｖ２用の画像は、識別子領域のパターンをそのまま用いる。観察領域ｖ１、ｖ３用の画像は、それぞれ画像１、画像３と、点ｐ１、点ｐ３とレンズ中心を結ぶ線分の交点を求め、その交点座標と同じ画像２上の点の画素を用いる。
【００７４】
本実施形態では、以上のようにして構成された指標を複数現実空間中に配する。また、外部記憶装置３０５内には、指標の識別子とこの指標の世界座標系における位置（指標の位置としては、例えば、指標の重心位置を用いる）のセットが指標毎に予め登録されている。従って、ある識別子を指定すると、この指標の世界座標系における位置は外部記憶装置３０５内を検索すれば得られる。
【００７５】
次に、上記コンピュータが行う処理について説明する。上述の通り、現実空間中には上述のような指標が複数配されている。ＨＭＤ３０４に取り付けられているカメラ３１１は、このような現実空間を撮像するので、撮像した画像は画像取り込み器３１０を介してＲＡＭ３０７に入力され、そこに一時的に記憶される。
【００７６】
次に、ＣＰＵ３０１は、指標同定部２３０として機能し、ＲＡＭ３０７に入力した画像から、指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定する処理を行う。図８は、このような処理、即ち、指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定する処理のフローチャートである。
【００７７】
先ず、画像から、指標と思われる投影像（指標領域）を検出する処理を行う（ステップＳ２０１）。このような検出処理としては、例えば、画像を構成する各画素値を参照し、特定の色を表す画素をＹＵＶ色空間画像の特定領域にあるかどうかで抽出し、連結している画素をラベリングすることによって、指標の境界領域を検出する。なお、本ステップにおける検出処理では、検出した指標領域の画像座標をも検出する。なお、本ステップにおける処理は周知のものであるので、これ以上の説明は省略する。
【００７８】
このようにして、画像から指標領域の検出処理を行う。そして検出すると、変数ｎを１つインクリメントする。即ち変数ｎには、現在検出した指標領域の数が格納されていることになる。なお、この変数ｎは本処理の開始時には０に初期化されている。
【００７９】
次に、以上の検出処理を終えると、変数ｎの値を参照し、０であるか否かをチェックする（ステップＳ２０２）。チェックの結果、変数ｎの値が０である場合、即ち、画像中に１つも指標領域が検出されなかった場合には、本処理を終了するのであるが、変数ｎの値が１以上である場合には処理をステップＳ２０３に進め、変数ｉを１に初期化する（ステップＳ２０３）。変数ｉは、検出した指標領域に対するインデックスを示すものである。
【００８０】
そして、指標領域ｉ内の識別子を読み出す処理を行う（ステップＳ２０４）。識別子の読み出しは、例えばパターンマッチングなどによって行う。また、識別子のパターンが２次元マトリクスコードである場合には、マトリクス領域を検出し、画像から直接画素を読み出すことで識別子の読み出しを行う。なお、撮像画像に写っているパターンを読み出し、そのパターンを解析する処理については周知のものであるので、これに関する説明は省略する。
【００８１】
ここで、レンチキュラの視点数や、実際の視点と観察領域の代表点（図７におけるｐ１、ｐ２、ｐ３）とのずれによって、必ずしも透視投影の影響がなくなるわけではないが、指標の大きさＬに比べて観察距離（レンチキュラのレンズ中心から結像面までの距離）ｂが十分に大きいと仮定して、透視投影の影響を無視する。指標の識別子領域が透視投影の影響を受けていないとすると、カメラ３１１で撮影される画像中の識別子領域の投影像をそのまま識別子の読み出しに用いることが出来る。
【００８２】
次に、変数ｉの値が変数ｎの値と同じであるか否か、即ち、検出した全ての指標領域についてステップＳ２０４による識別子読み出し処理を行ったか否かを判断し（ステップＳ２０５）、ｉ＝ｎ、即ち、検出した全ての指標領域についてステップＳ２０４による識別子読み出し処理を行った場合には本処理を終了するのであるが、ｉ≠ｎの場合、即ち、検出した全ての指標領域についてステップＳ２０４による識別子読み出し処理を行っていない場合には処理をステップＳ２０６に進め、変数ｉを１つインクリメントし、未だ識別子読み取り処理を行っていない次の指標領域についてステップＳ２０４以降の処理を行う。
【００８３】
このように、レンチキュラレンズを用いることによって、指標に対するカメラ３１１の撮影角度に関係なく、指標に記された識別子を読み取ることができる。
【００８４】
次に、ＣＰＵ３０１は位置姿勢算出部２４０として機能し、カメラ３１１の位置姿勢を算出する。そのために先ず、ＣＰＵ３０１は、上記ステップＳ２０４で読み出したそれぞれの識別子に対応して外部記憶装置３０５に保存されている世界座標系における位置を読み出す。そして、ステップＳ２０１で検出した「それぞれの指標領域の画像面上における座標位置と、それぞれの指標の世界座標系における位置と、を用いて周知の方法により、カメラ３１１の位置姿勢を算出する。
【００８５】
例えば、非特許文献２の方法を利用してカメラ３１１の世界座標系における位置姿勢を求める場合について説明する。非特許文献２の方法では、カメラとカメラによって撮影されるオブジェクトの相対位置姿勢をモデルフィッティングによって求めている。つまり、撮影されるオブジェクトのモデルデータがコンピュータ内に保持されており、相対位置姿勢をもとに計算される画像面上でのモデルの位置と、オブジェクトの実際に撮影された画像上での位置との誤差が最小になるように、ニュートン法による繰り返し演算によってモデルの位置姿勢を最適化する。本実施形態では、複数の指標をまとめて一つのグループ（モデル）とすることによって、指標のグループのカメラに対する相対位置姿勢を求め、さらに既知である指標の世界座標系における位置をもとにカメラの世界座標系における位置姿勢を求める。なお、相対位置姿勢には初期値が必要であるが、ここでは前フレームでのカメラの位置姿勢を用いる。この場合、初期フレームでは固定位置にカメラを置くなどして、初期値を設定する。
【００８６】
また、センサ３１２の出力を利用できる場合には、例えば特許文献１に開示されている方法などを用いてカメラ３１１の世界座標系における位置姿勢を算出する。センサ３１２として６自由度センサを用いている場合を想定すると、６自由度センサの出力値をカメラ３１１の位置姿勢として、世界座標系での位置が既知のマーカの画像上での投影位置を計算し、実際の画像における投影位置とのずれを、カメラ３１１の姿勢または位置を補正することによって修正することによって、カメラ３１１の位置姿勢を求める。
【００８７】
次に、ＣＰＵ３０１はグラフィックアクセラレータ３０２を制御して、上述の処理で求めたカメラ３１１の世界座標系における位置姿勢と、予めキャリブレーション済みのカメラ３１１の内部パラメータ（焦点距離、主点位置など）に基づいて、このカメラ３１１から見える仮想空間の画像を生成する。
【００８８】
次に、ＣＰＵ３０１は、画像合成部２６０として機能し、先にＲＡＭ３０７に格納された現実空間の画像上に、仮想空間の画像を重畳させることで、複合現実空間の画像を生成する。そして、生成した画像をＨＭＤ３０４に出力する。
【００８９】
以上の説明により、本実施形態によって、複数の異なる観察視点における指標の識別子領域の投影像がほぼ同一となるように構成された指標を用いて、斜め方向から指標を観察した場合でも指標を正しく同定することが可能になる。
【００９０】
［第２の実施形態］
本実施形態で用いる指標は、第１の実施形態で用いた指標に更に、指標領域内の識別子を誤って識別することを防ぐ為の構成を付加したものを用いる。
【００９１】
図９は、本実施形態で用いる指標を説明する図である。図９（ａ）は、指標の上面図で、同図に示す如く、本実施形態に係る指標は、識別子領域に加え、どの観察領域から指標を観察しているか（例えば、図６に示した観察領域代表点６０１〜６０３の何れから観察しているのか）を示す識別子（視点識別子）を記した領域（視点識別子領域）が境界領域内に設けられている。なお、本実施形態では同図に示す如く、視点識別子として１次元マトリクスパターンを用いるが、視点識別子として用いることができるのはこれに限定するものではなく、これ以外にも考えられる。
【００９２】
図９（ｂ）は、指標の一辺に沿った、指標の断面図で、同図に示す如く、識別子領域、視点識別子領域はレンチキュラによって構成されている。即ち、識別子領域内に記された２次元マトリクスパターン、視点識別子領域内に記された１次元マトリクスパターン上にレンチキュラレンズが配置されている。本実施形態では、異なる視点から観察したときでも、識別子領域の投影像がほぼ同じであるようにするのは第１の実施形態と同じであるが、視点識別子領域については、上述の通り、この領域内に記される視点識別子が、どの観察領域から指標を観察しているかを示すものであるので、異なる視点から観察した場合には、その視点が属する観察領域に応じたパターンが観察されるようにする。
【００９３】
図１０（ａ）は、正面から見た指標（指標を見る観察者の視線ベクトルと指標の法線ベクトルとが略平行となる場合に、この観察者に見える指標）を示す図で、図１０（ｂ）は、斜めから見た指標（指標を見る観察者の視線ベクトルと、レンチキュラレンズの長手方向とが略直交している場合に、この観察者に見える指標）を示す図である。それぞれに示すように、指標そのものの画像上での投影像は透視変換の影響を受けているが、識別子領域部分はレンチキュラによってほぼ同一の投影像として観察される。しかし、視点識別子領域部分については、視点を変化させると、それに応じて異なる投影像が観察される。
【００９４】
図１１は、指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定すると共に、同定した結果が誤ったものであるのか否かをチェックする処理のフローチャートである。なお、同図のフローチャートに従った処理を、上記図８のフローチャートに従った処理の代わりに行うことで、より高精度な指標検出に基いて、カメラ３１１の位置姿勢算出処理を行うことができる。
【００９５】
先ず、画像から、指標と思われる投影像（指標領域）を検出する処理を行う（ステップＳ３０１）。本ステップにおける処理は、上記ステップＳ２０１と同様にして行う。そして検出すると、変数ｎを１つインクリメントする。なお、この変数ｎは本処理の開始時には０に初期化されている。
【００９６】
次に、以上の検出処理を終えると、変数ｎの値を参照し、０であるか否かをチェックする（ステップＳ３０２）。チェックの結果、変数ｎの値が０である場合、即ち、画像中に１つも指標領域が検出されなかった場合には、本処理を終了するのであるが、変数ｎの値が１以上である場合には処理をステップＳ３０３に進め、以降の処理で使用するフラグＦｉ（ｉ＝１，２，３，、、、ｎ）をＦＡＬＳＥに初期化する（ステップＳ３０３）。このフラグは検出された指標が正しく同定されて位置姿勢算出において利用可能かを示すフラグである。
【００９７】
次に、変数ｉを１に初期化する（ステップＳ３０４）。変数ｉは、検出した指標領域に対するインデックスを示すものである。そして、指標領域ｉ内の識別子を読み出す処理を行う（ステップＳ３０５）。本ステップにおける処理は、上記ステップＳ２０４と同様にして行う。
【００９８】
次に、変数ｉの値が変数ｎの値と同じであるか否か、即ち、検出した全ての指標領域についてステップＳ３０５による識別子読み出し処理を行ったか否かを判断し（ステップＳ３０６）、ｉ＝ｎ、即ち、検出した全ての指標領域についてステップＳ３０５による識別子読み出し処理を行った場合には処理をステップＳ３０８に進めるのであるが、ｉ≠ｎの場合、即ち、検出した全ての指標領域についてステップＳ３０５による識別子読み出し処理を行っていない場合には処理をステップＳ３０７に進め、変数ｉを１つインクリメントし、未だ識別子読み取り処理を行っていない次の指標領域についてステップＳ３０５以降の処理を行う。
【００９９】
以上の処理により、指標検出処理を行うことができる。次に、ステップＳ３０８以降の処理によって、この検出したそれぞれの指標が正しく同定されて位置姿勢算出において利用可能かをチェックする。
【０１００】
先ず、以降の処理で用いる変数ｉを１に初期化する（ステップＳ３０８）。そして、指標領域ｉ内の視点識別子を読み出す処理を行う（ステップＳ３０９）。本ステップにおける処理は、上記ステップＳ２０４と同様にして行う。なお、視点識別子の読み出しは識別子の読み出しと同時に行ってもよい。
【０１０１】
次に、指標領域ｉが正しく同定されたか否かをチェックする（ステップＳ３１０）。このチェック処理は、識別子と視点識別子の双方が正しく読み出されているかどうかを判定することによって行われる。
【０１０２】
より具体的には、先ず、読み出された視点識別子から、カメラ３１１のおおまかな位置姿勢を求める。視点識別子は、複数の観察領域の何れから指標を観察しているのかを示すものであるので、この視点識別子を読み取れば、この視点識別子を観察しているカメラ３１１が配置されている観察領域を特定することができる。ここでは、特定した観察領域内の代表点にカメラ３１１が配置されているものとする。例えば、読み取った視点識別子が観察領域ｖ１を示すものである場合には、カメラ３１１は６０１で示す位置に配置されていると大まかに推定する。
【０１０３】
また、カメラ３１１の姿勢については、大まかに推定したカメラ３１１の配置位置から、指標領域ｉ内の識別子で特定される指標の世界座標系における位置に向かう方向をカメラ３１１の姿勢とする。
【０１０４】
よって、外部記憶装置３０５には予め、視点識別子と、この視点識別子が示す観察領域内の代表点の位置とをセットにして、視点識別子毎に登録しておく。これにより、視点識別子が決まると、代表点の位置が一意に決まる。また、求めた代表点の位置から、指標への方向をカメラ３１１の姿勢として求めることができる。
【０１０５】
そして、大まかに決めたカメラ３１１の位置姿勢と、既知である指標の世界座標における位置、カメラ３１１の内部パラメータをもとに、大まかに推定した位置姿勢を有するカメラ３１１から見える画像面上での指標の座標位置を計算で求める。よって、この座標位置と、ステップＳ３０１で検出した指標領域ｉの座標位置とを比べ、両方とも画像内に位置し、且つ所定距離以内に位置する場合には、指標領域ｉの指標については誤った同定は行っていないものとして判断する。
【０１０６】
なお、指標領域ｉが正しく同定されたか否かをチェックする処理についてはこれ以外にも考えられ、以上の処理に限定するものではない。
【０１０７】
そして以上のチェック処理の結果、指標領域ｉが正しく同定された場合には処理をステップＳ３１１に進め、フラグＦｉをＴＲＵＥにセットする（ステップＳ３１１）。
【０１０８】
次に、変数ｉの値が変数ｎの値と同じであるか否か、即ち、検出した全ての指標領域についてステップＳ３０９〜ステップＳ３１１の処理を行ったか否かを判断し（ステップＳ３１２）、ｉ＝ｎ、即ち、検出した全ての指標領域についてステップＳ３０９〜ステップＳ３１１の処理を行った場合には本処理を終了するのであるが、ｉ≠ｎの場合、即ち、検出した全ての指標領域についてステップＳ３０９〜ステップＳ３１１の処理を行っていない場合には処理をステップＳ３１３に進め、変数ｉを１つインクリメントし、未だステップＳ３０９〜ステップＳ３１１の処理を行っていない次の指標領域についてステップＳ３０９以降の処理を行う。
【０１０９】
次に、ＣＰＵ３０１は位置姿勢算出部２４０として機能し、第１の実施形態と同様にしてカメラ３１１の位置姿勢を算出するのであるが、その際、用いる指標は、フラグＦｉがＴＲＵＥであるもののみを用いる。
【０１１０】
以上の説明により、本実施形態によって、指標が空間中のどのあたりから撮影されたかを同定するために、視点識別子領域を加えることで、誤った同定が行われた指標を検出することができる。
【０１１１】
なお、本実施形態において指標領域について誤った同定処理が行われたのかのチェック処理は、上述したようにチェック対象の指標領域の画像面上での位置に基づいて行ってもよいし、複数の指標領域の画像面上での位置に基づいて行ってもよい。
【０１１２】
［第３の実施形態］
本実施形態では、第２の実施形態で用いた指標と同じものを用いて、指標の優先度を決定する。即ち、コンピュータのＣＰＵパワーなどの問題から、位置姿勢算出に用いる指標の数を限定したい場合、またはなるべく信頼性の高い指標だけを使って位置姿勢算出を行いたい場合には、信頼性をもとに利用する指標に優先度を与え、優先度の高いものから利用する。
【０１１３】
レンチキュラを用いた指標を観察する場合、指標を真上から観察するよりも、斜め方向から観察する方が観察領域から外れやすい。そのため、真上から観察されている指標の優先度を最も高くし、視線方向と指標の法線方向が垂直に近くなればなるほど優先度を低くすることによって、観察された指標に優先度を与えることができる。
【０１１４】
図１２は、指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定すると共に、同定した指標に対して優先度を設定するための処理のフローチャートである。
【０１１５】
先ず、ステップＳ２０１と同様にして、画像から、指標と思われる投影像（指標領域）を検出する処理を行う（ステップＳ４０１）。そして検出すると、変数ｎを１つインクリメントする。即ち変数ｎには、現在検出した指標領域の数が格納されていることになる。なお、この変数ｎは本処理の開始時には０に初期化されている。
【０１１６】
次に、以上の検出処理を終えると、変数ｎの値を参照し、０であるか否かをチェックする（ステップＳ４０２）。チェックの結果、変数ｎの値が０である場合、即ち、画像中に１つも指標領域が検出されなかった場合には、本処理を終了するのであるが、変数ｎの値が１以上である場合には処理をステップＳ４０３に進め、変数ｉを１に初期化する（ステップＳ４０３）。変数ｉは、検出した指標領域に対するインデックスを示すものである。
【０１１７】
そして、ステップＳ３０９と同様にして、指標領域ｉ内の視点識別子を読み出す処理を行う（ステップＳ４０４）。そして、読み出した視点識別子を用いて、指標領域ｉに対する優先度を設定する（ステップＳ４０５）。この優先度の設定について、図１３を用いて説明する。図１３は、優先度の設定について説明する図である。上述の通り、指標中心の真上の観察領域を最も優先度を高くし、観察領域が指標中心からずれるに従って優先度を低くしていく。
【０１１８】
上述の通り、視点識別子は、複数の観察領域の何れから指標を観察しているのかを示すものであるので、この視点識別子を読み取れば、これに対応する観察領域が、指標中心に近いものであるのか否かをチェックすることができる。例えば、視点識別子として、指標領域を真上から見た場合に見える視点識別子をパターン１、指標領域を真上から斜め４５°から見た場合に見える視点識別子をパターン２、指標領域を真上から斜め６０°から見た見た場合に見える視点識別子をパターン３とすると、パターン１、パターン２、パターン３の順に高い優先度を外部記憶装置３０５に登録しておく。
【０１１９】
これにより、ステップＳ４０４で指標領域ｉ内の識別子領域としてパターン２が読み取られると、この指標領域ｉに対しては２番目に高い優先度を設定する。
【０１２０】
次に、変数ｉの値が変数ｎの値と同じであるか否か、即ち、検出した全ての指標領域についてステップＳ４０４，Ｓ４０５の処理を行ったか否かを判断し（ステップＳ４０６）、ｉ＝ｎ、即ち、検出した全ての指標領域についてステップＳ４０４，Ｓ４０５による処理を行った場合には処理をステップＳ４０８に進めるのであるが、ｉ≠ｎの場合、即ち、検出した全ての指標領域についてステップＳ４０４，Ｓ４０５による処理を行っていない場合には処理をステップＳ４０７に進め、変数ｉを１つインクリメントし、未だステップＳ４０４，Ｓ４０５の処理を行っていない次の指標領域についてステップＳ４０４以降の処理を行う。
【０１２１】
以上の処理により、それぞれの指標領域に対して、読み取られた視点識別子に基づいて優先度を設定することができる。次に、ステップＳ４０８以降の処理によって、優先度に基づいて、実際に使用する指標を選択する処理について説明する。
【０１２２】
次に、設定された優先度が高いもの順にそれぞれの指標領域をソートする（ステップＳ４０８）。次に、以降の処理で用いる変数ｊを１に初期化する（ステップＳ４０９）。そして、次に、上記ステップＳ２０４と同様にして、指標領域ｊ内の識別子を読み出す処理を行う（ステップＳ４１０）。即ち、ステップＳ４１０で最初に読み出されるものは、最も優先度が高い指標領域内の識別子となる。なお、識別子の読み出しは、視点識別子読出しと同時に行ってもよい。
【０１２３】
次に、変数ｊの値が、カメラ３１１の位置姿勢算出のために用いる指標の数として予め決めた値ｍと同じであるのか否かを判断し（ステップＳ４１１）、ｊ＝ｍである場合には本処理を終了するのであるが、ｊ≠ｍである場合には、処理をステップＳ４１２に進め、変数ｊの値が画像中の指標領域の数ｎに同じであるか否かを判断し（ステップＳ４１２）、同じである場合には本処理を終了するのであるが、同じではない場合には処理をステップＳ４１３に進め、変数ｊの値を１つインクリメントし（ステップＳ４１３）、ステップＳ４１０以降の処理を繰り返す。
【０１２４】
なお、以上の処理では、カメラ３１１の位置姿勢算出に用いる指標の数をあらかじめ決めておいたが、優先度に対して閾値を設定し、閾値以上の（または閾値より大きい）優先度を持つ指標だけを位置姿勢算出に用いるようにしてもよい。
【０１２５】
以上の説明により、本実施形態によれば、視点識別子領域から読み出される視点識別子を用いて指標の優先度を設定し、設定した優先度に基づいて位置姿勢算出に用いる指標を決定するので、より信頼度の高い指標のみを用いてカメラ３１１の位置姿勢を算出することができ、より精度の高い位置姿勢算出処理を行うことができる。
【０１２６】
［第４の実施形態］
第２，３の実施形態では、識別子領域、視点識別子領域を別個に設けているので、識別子の読み取りと、視点識別子の読み取りを別個に行っていた。本実施形態では、これらを１つにまとめ、識別子、視点識別子をまとめて読み取る。以下では、識別子と視点識別子とをまとめた１つの識別子を統一識別子と呼称する。
【０１２７】
図１４は、本実施形態で用いる指標を説明する図である。図１４（ａ）は、指標の上面図である。図１４（ｂ）は、指標の一辺に沿った、指標の断面図である。それぞれの図に示すように、統一識別子のうち、識別子については何れの視点から見ても略同じパターンが観察されるが、視点識別子については視点に応じて、観察されるパターンが異なる。よって、それぞれのパターン、及びレンチキュラレンズを上述のように調整する必要がある。
【０１２８】
図１５は統一識別子の構成を示す図である。以下、同図を用いて、統一識別子から識別子と視点識別子とを得る処理について説明する。同図では統一識別子は４×４の１６ビットからなる。同図では、このうち１２ビットを指標識別子に、４ビットを視点識別子に与えており、読み出された１６ビットの統一識別子からそれぞれ１２ビット、４ビットずつ取り出すことで指標識別子、視点識別子を得る。
【０１２９】
本実施形態における指標同定及び誤同定指標検出の手順は、上述の方法で指標識別子、視点識別子を得る以外は、第２，３の実施形態と同じである。
【０１３０】
以上の説明により、本実施形態によれば、視点識別子領域と指標識別子領域をまとめて一つの識別子領域とすることで、識別子の読出し処理を一つにまとめて処理を簡略化することが可能になる。
【０１３１】
［第５の実施形態］
上記各実施形態では、異なる視点から観察したときでも、識別子領域の投影像がほぼ同じとなるように、また、視点識別子が、観察している視点が属する観察領域に応じて異なるパターンで観察されるように、それぞれの識別子の観察像を光学的に変換するために、レンチキュラを用いたが、本実施形態ではインテグラルフォトグラフィーを用いる。
【０１３２】
図１６は、本実施形態で用いる指標を説明する図である。図１６（ａ）は、指標の上面図で、第１の実施形態と同様の領域構成を有する。図１６（ｂ）は、指標の一辺に沿った、指標の断面図で、同図に示す如く、識別子領域はインテグラルフォトグラフィーによって構成されている。即ち、識別子領域内に記された２次元マトリクスパターン上に蝿の目レンズ（インテグラルフォトグラフィーレンズ）が配置されている。
【０１３３】
図１７は、蝿の目レンズの構成を示す図である。図１７（ａ）は、蝿の目レンズの上面図で、同図に示す如く、蝿の目レンズとは小さいレンズを縦横に並べたレンズアレイである。インテグラルフォトグラフィーは、蝿の目レンズを通して画像を観察することで三次元画像表示を行う。レンチキュラでは視点変化は一次元であるが、インテグラルフォトグラフィーでは二次元の視点変化が可能になっている。
【０１３４】
また図１７（ｂ）は、蝿の目レンズの切断面ｌ，ｍにおける断面図を示している。同図に示す如く、蝿の目レンズを一方向から見た場合、レンチキュラレンズの断面と同等のものである。このインテグラルフォトグラフィーを用いることで、複数の異なる観察視点における指標の識別子領域の投影像がほぼ同一になるようにする。
【０１３５】
レンチキュラレンズと異なり、インテグラルフォトグラフィーは図１８に示す如く、体積を持つ観察領域が２次元的に並ぶ。図１８は、インテグラルフォトグラフィーを用いた場合の観察領域を示す図である。
【０１３６】
この各観察領域の代表点において指標を観察する場合に、識別子領域の投影像が同じになるようにする。具体的には、図７を用いて説明した上述の方法を二次元的に並ぶ観察領域すべてについて行い、識別子画像上には蝿の目レンズの各レンズごとに２次元のパターンが並ぶようにする。
【０１３７】
なお、インテグラルフォトグラフィーは、視点識別子に対しても用いても良い。
【０１３８】
［第６の実施形態］
上記各実施形態では、異なる視点から観察したときでも、識別子領域の投影像がほぼ同じとなるように、また、視点識別子が、観察している視点が属する観察領域に応じて異なるパターンで観察されるように、それぞれの識別子の観察像を光学的に変換するために、レンチキュラを用いたが、本実施形態ではホログラムを用いる。
【０１３９】
ホログラムは光の干渉を利用して、記録材料に光の強さだけでなく光が飛来した方向をも記録することによって三次元表示を実現する技術である。この技術を用いて、視点を変えても観察される識別子領域の投影像が同じになるようにする。
【０１４０】
具体的には、図１９に示すように、識別子領域の正面像をフィルムに焼き付け、そのフィルムにレーザを照射してスクリーンに投影し、視点位置ごとにスリットを移動させながら記録材料に記録していくことによって識別子領域のホログラムを生成する。これにより、視点を変えても、識別子領域の投影像は同じになる。図１９は、識別子領域のホログラムを作成する様子を示す模式図である。
【０１４１】
なお、ホログラムは、視点識別子に対しても用いても良い。
【０１４２】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１４３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１４６】
【図１】従来の位置姿勢計測装置の機能構成を示すブロック図である。
【図２】現実空間と仮想空間とを合成した複合現実空間の画像を観察者に提示するための、本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図３】複合現実感体験装置２に適用可能なコンピュータ、及びその周辺機器のハードウェア構成を示すブロック図である。
【図４】本発明の第１の実施形態で用いる指標を説明する図である。
【図５】（ａ）は、正面から見た指標を示す図で、（ｂ）は、斜めから見た指標を示す図である。
【図６】指標の一辺に沿った、指標の断面図である。
【図７】識別子画像の構成方法を説明する図である。
【図８】指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定する処理のフローチャートである。
【図９】本発明の第２の実施形態で用いる指標を説明する図である。
【図１０】（ａ）は、正面から見た指標を示す図で、（ｂ）は、斜めから見た指標を示す図である。
【図１１】指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定すると共に、同定した結果が誤ったものであるのか否かをチェックする処理のフローチャートである。
【図１２】指標と思われる投影像を検出し、検出した投影像が何れの指標の投影像であるのかを同定すると共に、同定した指標に対して優先度を設定するための処理のフローチャートである。
【図１３】優先度の設定について説明する図である。
【図１４】本発明の第４の実施形態で用いる指標を説明する図である。
【図１５】統一識別子の構成を示す図である。
【図１６】本発明の第５の実施形態で用いる指標を説明する図である。
【図１７】蝿の目レンズの構成を示す図である。
【図１８】インテグラルフォトグラフィーを用いた場合の観察領域を示す図である。
【図１９】識別子領域のホログラムを作成する様子を示す模式図である。
【図１】
2006267879.tif 000003
【図２】
2006267879.tif 000004
【図３】
2006267879.tif 000005
【図４】
2006267879.tif 000006
【図５】
2006267879.tif 000007
【図６】
2006267879.tif 000008
【図７】
2006267879.tif 000009
【図８】
2006267879.tif 000010
【図９】
2006267879.tif 000011
【図１０】
2006267879.tif 000012
【図１１】
2006267879.tif 000013
【図１２】
2006267879.tif 000014
【図１３】
2006267879.tif 000015
【図１４】
2006267879.tif 000016
【図１５】
2006267879.tif 000017
【図１６】
2006267879.tif 000018
【図１７】
2006267879.tif 000019
【図１８】
2006267879.tif 000020
【図１９】
2006267879.tif 000021