(57)【要約】【課題】  画像特徴の一部が隠蔽されていても、この画像特徴を識別するための技術を提供すること。【解決手段】  現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数配する。【選択図】  図２
2006064585.tif 000002
【特許請求の範囲】
【請求項１】
画像処理方法であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を現実空間中に配置した場合に、当該特徴物体の現実空間中の位置情報をメモリに保持する保持工程と、
前記特徴物体を含む現実空間の映像を撮像する撮像工程と、
前記現実空間の映像から、前記特徴物体を抽出する抽出工程と、
前記抽出工程で抽出された前記特徴物体の表面に配されるコードを読み取る読み取り工程と、
前記読み取り工程で読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出工程と、
前記コード抽出工程で抽出した１セットのコードが表す識別子によって特定される特徴物体の位置情報を前記メモリから読み出す読み出し工程と、
前記抽出工程で抽出した前記特徴物体の前記映像上の位置と、前記読み出し工程で読み出した位置情報が示す位置とに基づいて、前記撮像工程で現実空間を撮像した際の視点の位置姿勢を求める計算工程と
を備えることを特徴とする画像処理方法。
【請求項２】
画像処理方法であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を撮像する撮像工程と、
前記撮像工程で撮像された映像から、前記特徴物体を抽出する抽出工程と、
前記抽出工程で抽出された前記特徴物体の表面に配されるコードを読み取る読み取り工程と、
前記読み取り工程で読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出工程と、
前記コード抽出工程で抽出した１セットのコードが表す識別子によって前記現実物体を特定する特定工程と、
を備えることを特徴とする画像処理方法。
【請求項３】
前記特徴物体の表面上には、１次元バーコードが閉曲線上に複数セット配置されていると共に、それぞれの１次元バーコードの先頭位置近傍には、当該先頭位置、及び１次元バーコードの読み取り方向を示すためのマーカが配置されていることを特徴とする請求項１または２に記載の画像処理方法。
【請求項４】
前記特徴物体の表面上には、２次元バーコードが閉曲線上に複数セット配置されていると共に、それぞれの２次元バーコードの位置近傍には、２次元バーコードの上下を示すためのマーカが配置されていることを特徴とする請求項１または２に記載の画像処理方法。
【請求項５】
前記計算工程では、少なくとも３つの特徴物体のそれぞれの前記映像上の位置と、前記読み出し工程で読み出した前記３つの特徴物体のそれぞれの位置情報が示す位置とに基づいて、前記撮像工程で現実空間を撮像した際の視点の位置姿勢を求めることを特徴とする請求項１または２に記載の画像処理方法。
【請求項６】
画像処理装置であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体、を現実空間中に配置した場合に、当該特徴物体の現実空間中の位置情報を保持する保持手段と、
前記特徴物体を含む現実空間の映像を撮像する撮像手段と、
前記現実空間の映像から、前記特徴物体を抽出する抽出手段と、
前記抽出手段によって抽出された前記特徴物体の表面に配されるコードを読み取る読み取り手段と、
前記読み取り手段が読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出手段と、
前記コード抽出手段が抽出した１セットのコードが表す識別子によって特定される特徴物体の位置情報を前記保持手段から読み出す読み出し手段と、
前記抽出手段が抽出した前記特徴物体の前記映像上の位置と、前記読み出し手段が読み出した位置情報が示す位置とに基づいて、前記撮像手段が現実空間を撮像した際の視点の位置姿勢を求める計算手段と
を備えることを特徴とする画像処理装置。
【請求項７】
画像処理装置であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を撮像する撮像手段と、
前記撮像手段が撮像された映像から、前記特徴物体を抽出する抽出手段と、
前記抽出手段が抽出した前記特徴物体の表面に配されるコードを読み取る読み取り手段と、
前記読み取り手段が読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出手段と、
前記コード抽出手段が抽出した１セットのコードが表す識別子によって前記現実物体を特定する特定手段と、
を備えることを特徴とする画像処理装置。
【請求項８】
コンピュータに請求項１乃至５の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間に仮想空間の映像を重畳させて観察者に提示するための技術に関するものである。
【背景技術】
【０００２】
近年、現実空間と仮想空間との繋ぎ目のない結合を目的とした複合現実感（以下、「ＭＲ」（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）と称す）に関する研究が盛んになっている。
【０００３】
ＭＲ技術とは、現実空間画像に仮想空間画像を重ね合わせて、ＭＲを体験するユーザの頭部に装着されたＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）に提示する技術のことである。その応用としては、患者の体内の様子を透視しているように医師に提示する医療補助の用途や、工場において製品の組み立て手順を実物に重ねて表示する作業補助の用途などがある。
【０００４】
このＭＲの実現において、もっとも重要な課題となっているのが、現実空間画像と仮想空間画像とを正確に重ね合わせる問題である。この問題は、具体的には、現実空間を観察する視点の位置および姿勢を正確に求める問題に帰着される。そして、カメラなどでリアルタイムに撮影した現実空間画像とＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）などの仮想空間画像とをコンピュータ内で重ね合わせる「ビデオシースルー方式」のＭＲの場合には、撮影視点の位置姿勢を求める問題となる。一方、ＨＭＤに現実空間の風景を光学的に透過させつつ、その透過面に仮想空間画像を表示して観察者の網膜上で両者を重ね合わせる「光学シースルー方式」のＭＲの場合には、観察者視点の位置姿勢を求める問題となる。
【０００５】
撮影視点、もしくは、観察者視点の位置および姿勢を求める方法の一つには、撮影視点画像、もしくは、観察者視点付近から撮影した画像を利用するものがある。これは従来からコンピュータビジョンの分野で研究されている方法で、現実空間上にあるマーカー等の画像特徴が投影される領域を撮影画像から抽出・識別し、画像特徴の現実空間座標と撮影画像上に投影されている画像特徴の画像座標の関係を満たすような撮影視点の位置および姿勢を得るものである。
【０００６】
原理的には、現実空間座標が既知である３つの画像特徴が撮影されていれば、非線形方程式を解くことで解析的に６自由度の位置と姿勢を求めることができる。また、何らかの方法で、例えばセンサを利用して、初期値となる撮影視点の位置と姿勢を得てから、その初期値に従って投影される画像特徴の画像座標と、実際に投影されている画像特徴の画像座標との誤差が最小になる撮影視点位置・姿勢を、数値計算的に求める方法もある。
【０００７】
上述した方法における現実空間上にある画像特徴の識別に関しては、特徴の色や形状などを利用する技術が従来から存在する（例えば非特許文献１，２を参照）。色や形状といった特徴は扱いやすいという利点がある一方で、精度良く、短時間で、安定して識別できる種類に限りがあるという欠点がある。そのため、観察範囲を狭い領域に限定して少ない種類の画像特徴識別ができれば良いようにしたり、色や形状からだけでなくセンサなどを利用して得た初期値や直前の観察位置算出結果も利用して画像特徴識別を行ったりする工夫が必要となる。
【０００８】
より多くの種類が識別できる画像特徴としては、情報がコーディングされた画像パターンを含む画像特徴が良く知られている。例えば、２次元バーコードを含む画像特徴を利用して観察視点の位置および姿勢を求める方法が従来から存在する（例えば非特許文献３を参照）。より広い範囲を観察対象にしたい場合や、より多くの仮想物体を選択的に重畳表示したい場合などに、この多くの種類が識別できる画像特徴が利用されている。ただし、そのような画像特徴は、多くの情報が表現される画像パターンを含むために、比較的広い面積を占めることになる。
【非特許文献１】“Ｙ．Ｃｈｏ  ａｎｄ  Ｕ．Ｎｅｕｍａｎｎ：Ｍｕｌｔｉ−ｒｉｎｇ  ｃｏｌｏｒ  ｆｉｄｕｃｉａｌ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｓｃａｌａｂｌｅ  ｆｉｄｕｃｉａｌ  ｔｒａｃｋｉｎｇ  ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ，Ｐｒｏｃ．ＶＲＡＩＳ‘９８，ｐａｇｅ２１２，Ｍａｒ．１９９８．”
【非特許文献２】“加藤，Ｂｌｉｎｇｈｕｒｓｔ，浅野，橘：マーカー追跡に基づく拡張現実感システムとそのキャリブレーション，日本バーチャルリアリティ学会論文誌，ｖｏｌ．４，ｎｏ．４，ｐｐ．６０７−６１６，Ｄｅｃ．１９９９．”
【非特許文献３】“暦本純一：２次元マトリックスコードを利用した拡張現実感システムの構成手法，インタラクティブシステムとソフトウェアＩＶ，近代科学社，ｐｐ．１９９−２０８，Ｄｅｃ．１９９６．”
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、上述した情報がコーディングされた画像パターンは、画像特徴全体でもってコーディングされた情報を示すものが一般的である。そのため、手や物体などが撮影視点と画像特徴の間に現れた場合には、現実空間画像に投影された画像特徴の一部が隠蔽されて画像パターン全体を読み取ることができず、正しく画像特徴の識別ができないという問題があった。
【００１０】
また、この画像特徴は平面的であることが一般的である。そのため、斜めの方向からその画像特徴を観察した場合には、撮影視点に対して奥側に位置する遠くの画像パターンは撮影画像中のサイズが小さくなるため、その読み取りに失敗して画像特徴の識別を誤る場合があるという問題もあった。
【００１１】
情報がコーディングされた画像パターンの読み取り間違い対策としては、パリティチェックやハミングコードに代表されるエラーチェック用の情報を画像パターン内に用意する方法がよく知られているが、この対策は画像パターンの一部で読み取り間違いが起きた場合に有効な方法であり、画像パターンの一部が（読み間違いではなく）読み取れない場合には効果がなかった。
【００１２】
また、画像特徴の位置は、例えばその重心位置などを利用して定義されることが多いが、現実空間画像に投影された画像特徴の一部が隠蔽された場合には、画像特徴の位置が正しく算出できないという問題もあった。
【００１３】
本発明は以上の問題に鑑みて成されたものであり、画像特徴の一部が隠蔽されていても、この画像特徴を識別するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の目的を達成する為に、例えば、本発明の画像処理方法は以下の構成を備える。
【００１５】
即ち、画像処理方法であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を現実空間中に配置した場合に、当該特徴物体の現実空間中の位置情報をメモリに保持する保持工程と、
前記特徴物体を含む現実空間の映像を撮像する撮像工程と、
前記現実空間の映像から、前記特徴物体を抽出する抽出工程と、
前記抽出工程で抽出された前記特徴物体の表面に配されるコードを読み取る読み取り工程と、
前記読み取り工程で読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出工程と、
前記コード抽出工程で抽出した１セットのコードが表す識別子によって特定される特徴物体の位置情報を前記メモリから読み出す読み出し工程と、
前記抽出工程で抽出した前記特徴物体の前記映像上の位置と、前記読み出し工程で読み出した位置情報が示す位置とに基づいて、前記撮像工程で現実空間を撮像した際の視点の位置姿勢を求める計算工程と
を備えることを特徴とする。
【００１６】
本発明の目的を達成する為に、例えば、本発明の画像処理方法は以下の構成を備える。
【００１７】
即ち、画像処理方法であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を撮像する撮像工程と、
前記撮像工程で撮像された映像から、前記特徴物体を抽出する抽出工程と、
前記抽出工程で抽出された前記特徴物体の表面に配されるコードを読み取る読み取り工程と、
前記読み取り工程で読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出工程と、
前記コード抽出工程で抽出した１セットのコードが表す識別子によって前記現実物体を特定する特定工程と、
を備えることを特徴とする。
【００１８】
本発明の目的を達成する為に、例えば、本発明の画像処理装置は以下の構成を備える。
【００１９】
即ち、画像処理装置であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体、を現実空間中に配置した場合に、当該特徴物体の現実空間中の位置情報を保持する保持手段と、
前記特徴物体を含む現実空間の映像を撮像する撮像手段と、
前記現実空間の映像から、前記特徴物体を抽出する抽出手段と、
前記抽出手段によって抽出された前記特徴物体の表面に配されるコードを読み取る読み取り手段と、
前記読み取り手段が読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出手段と、
前記コード抽出手段が抽出した１セットのコードが表す識別子によって特定される特徴物体の位置情報を前記保持手段から読み出す読み出し手段と、
前記抽出手段が抽出した前記特徴物体の前記映像上の位置と、前記読み出し手段が読み出した位置情報が示す位置とに基づいて、前記撮像手段が現実空間を撮像した際の視点の位置姿勢を求める計算手段と
を備えることを特徴とする。
【００２０】
本発明の目的を達成する為に、例えば、本発明の画像処理装置は以下の構成を備える。
【００２１】
即ち、画像処理装置であって、
現実物体の表面上に当該現実物体を特定するための識別子を表す１セットのコードを複数セット配した特徴物体を撮像する撮像手段と、
前記撮像手段が撮像された映像から、前記特徴物体を抽出する抽出手段と、
前記抽出手段が抽出した前記特徴物体の表面に配されるコードを読み取る読み取り手段と、
前記読み取り手段が読み取ったコードから、識別子を表す１セットのコードを抽出するコード抽出手段と、
前記コード抽出手段が抽出した１セットのコードが表す識別子によって前記現実物体を特定する特定手段と、
を備えることを特徴とする。
【発明の効果】
【００２２】
本発明の構成により、画像特徴の一部が隠蔽されていても、この画像特徴を識別することができる。
【発明を実施するための最良の形態】
【００２３】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２４】
［第１の実施形態］
本実施形態では、現実空間における視点の位置姿勢の算出に利用する画像特徴の識別に、画像特徴内の閉曲線上に繰り返し（曲線に対して）同じ向きに並んだ画像パターンを利用するシステムについて説明する。
【００２５】
図１は、本実施形態に係るシステムの機能構成を示すブロック図である。本実施形態に係るシステムは、画像撮影部１０１，画像処理装置１２１、センサ部１０５に大別される。
【００２６】
以下、本実施形態に係るシステムを構成する画像撮影部１０１、画像処理装置１２１、センサ部１０５の各部について詳細に説明する。
【００２７】
画像撮影部１０１は、現実空間の映像を撮像する為の撮像装置であり、現実空間と仮想空間とが融合された複合現実空間を観察する観察者の視点位置近傍に設けられるものである。一般に複合現実空間を観察するためには、観察者は自身の頭部にＨＭＤを装着するのであるが、このＨＭＤがビデオシースルー型のものであれば、このＨＭＤには現実空間の映像を撮像するためのカメラが備わっており、画像撮影部１０１はこのカメラに相当する。本実施形態ではこのＨＭＤはビデオシースルー型のものであるとする。
【００２８】
画像撮影部１０１が撮像した現実空間の映像（動画像）はフレーム毎に後段の画像処理装置１２１に入力される。
【００２９】
次に、画像処理装置１２１について説明する。
【００３０】
本実施形態では、図１に示した画像処理装置１２１を構成する各部はハードウェアでもって構成されているものとして説明する。
【００３１】
画像処理装置１２１に入力された現実空間の映像は、画像特徴抽出部１０２、そして後段のＭＲ空間画像生成部１０９に入力される。なお、上記ＨＭＤが光学シースルー型のものである場合には、画像処理装置１２１に入力された現実空間の映像は、ＭＲ画像生成部１０９には入力されず、画像特徴抽出部１０２のみに入力される。
【００３２】
画像特徴抽出部１０２は、入力された現実空間の映像中の画像特徴の候補を抽出する処理を行う。
【００３３】
ここで「画像特徴」とは、上記観察者の視点の位置、姿勢を算出するために現実空間中に複数配置される現実物体であり、それぞれの画像特徴の配置位置は既知のものとして後段の画像特徴位置記憶部１０６に保存されている。また、画像特徴は、例えば、あらかじめ決められた色、及び／又は形状を有するベース部分と、そのベース部分上の閉曲線上に繰り返し（曲線に対して）同じ向きに並ぶ画像パターンから構成される。ベース部分の形状は平面に限らず、半球、円柱、立方体といった立体形状でも、もちろん良い。
【００３４】
図３〜６はそれぞれ異なる画像特徴の例を示す図である。
【００３５】
図３に示した画像特徴の例では、円形状のベース部分３００上に、その円周に沿って１次元バーコードパターン３０１（画像パターン）が繰り返し並んでいると共に、１次元バーコードパターン３０１の始点のバー３０５の位置近傍に、この位置を示し、且つ１次元バーコードパターン３０１を読み取る方向を示すマーカ３０２が配置されている。従って、１つの１次元バーコードパターンとは、マーカが示す位置のバーから、次のマーカが示す位置よりも１つ前のバーまでの１セットのバー群でもって表現されるものである。よって、同図に示した画像特徴には８セットの１次元バーコードパターンと、それぞれの１次元バーコードパターンの先頭バーの位置、及びバーコードの読み取り方向を示すマーカとが配置されていることになる。なお、１つの１次元バーコードパターンを構成する各バー（同図では１つの１次元バーコードパターンは７つのバーにより構成されている）は１もしくは０を示すものであり、例えば斜線部で示すバーは「１」を、白で示すバーは「０」を示す。このように、バーの色が表す情報の値（１もしくは０）は既知のデータとして画像処理装置１２１が保持しているものとする。
【００３６】
一方、図４に示した画像特徴の例では、円形状のベース部分４００上に、その円周に沿って２次元バーコードパターン４０１（画像パターン）が繰り返し並んでいると共に、２次元バーコードパターン４０１の上側がどの辺であるのかを示すマーカ４０２が配置されている。よって、同図に示した画像特徴には１２セットの２次元バーコードパターンと、それぞれの２次元バーコードパターンの上側がどの辺であるのかを示すマーカとが配置されていることになる。なお、１つの２次元バーコードパターンを構成する各ます（同図では１つの２次元バーコードパターンは９つのますにより構成されている）は１もしくは０を示すものであり、例えば斜線部で示すますは「１」を、白で示すますは「０」を示す。このように、ますの色が表す情報の値（１もしくは０）は既知のデータとして画像処理装置１２１が保持しているものとする。
【００３７】
一方、図５に示した画像特徴の例では、四角形のベース部分５００上に、円周に沿って「ＡＢ」なる文字パターン（画像パターン）が繰り返し並んでいる。また、この文字パターン中に必ず含まれることとする線対称でも点対称でない文字の方向から、パターンの方向を判別することができる。同図に示した画像特徴には８セットの文字パターンが配置されていることになる。
【００３８】
一方、図６に示した画像特徴の例では、円柱の上面、下面に図３に示した画像特徴のパターンを張り付け、円柱の側面には図３に示した１セットの１次元バーコードパターンを複数セット１次元状に並べたものを張り付けている。側面のベース部は円柱の上面、下面と同じ色である。なお、画像特徴は、ベース部の形状、色、画像パターンの種類、沿う閉曲線の形状は上記に限定するものではない。
【００３９】
また、画像特徴のベース部分上に繰り返し並ぶ画像パターンの一つ一つには、その画像特徴を識別するための情報がコーディングされている。例えば図３に示した画像特徴の例では、１次元バーコードパターン３０１は、図３に示した画像特徴を識別するための情報をコーディングすることで得られるものであり、この１次元バーコードパターン３０１は、図３に示した画像特徴を識別するための識別子を示すものである。これは２次元バーコードパターン、文字パターンについても同様である。
【００４０】
図１に戻って、画像特徴抽出部１０２は、現実空間の映像から画像特徴の候補を抽出する処理を行う。
【００４１】
例えば、画像特徴のベース部分が赤色である場合、抽出方法の例としては、次のようなものが考えられる。すなわち、画像特徴抽出部１０２は、画像撮影部１０１から得られた現実空間の映像を構成する各画素の画素値を参照し、画素値（Ｒ、Ｇ、Ｂ）が下記の（式１）を満たす画素を赤色の画素であると判定し、赤と判断した画素で囲まれる領域のうち、赤の画素を所定個数以上含む領域を、抽出する画像特徴候補とする。
【００４２】
Ｒ−（Ｇ＋Ｂ）／２＞θ        （１）
ここでθは適当な閾値である。
【００４３】
ここで、抽出した画像特徴候補は、単に赤の画素を所定個数以上含む領域であるので、画像特徴であるとは限らないことに注意されたい。また、画像特徴候補が画像特徴であったとしても、観察者の手や机などの現実物体によって部分的に隠蔽された画像特徴である可能性もあることに注意されたい。また、画像特徴候補の抽出処理についてはこれに限定するものではない。
【００４４】
そして、画像特徴抽出部１０２が現実空間の映像から画像特徴候補を抽出すると、抽出した座標位置（現実空間の映像内における画像特徴候補の座標位置）を求め、これを後段の識別子決定部１０４に送出すると共に、抽出した画像特徴候補の映像データを後段の画像パターン読み取り部１０３に送出する。
【００４５】
現実空間の映像における画像特徴候補の座標位置の求め方については特に限定するものではないが、例えば、画像特徴候補の領域を構成する全ての画素の座標位置の重心位置を計算し、計算した重心位置を、この画像特徴候補の座標位置とする。
【００４６】
次に、画像パターン読取部１０３は、画像特徴抽出部１０２から送出された画像特徴候補に含まれる画像パターンを読み出し、読み出した画像パターンにコーディングされた情報（識別子）を解釈する処理を行うのであるが、上述の通り、画像特徴候補が画像特徴ではない場合もある。よって画像特徴候補から画像パターンの読み取りができなかった場合には、この画像特徴候補は画像特徴を表すものではないということになる。
【００４７】
図３〜図６に例示したように、画像パターンは、バーコードパターンや文字パターンであり、前述したように、画像特徴には繰り返し同じ画像パターンが含まれている。よって画像特徴の一部が隠蔽され、画像特徴全体が画像撮影部１０１に撮影されていなくても、得られた現実空間の映像中の画像特徴にいくつかの画像パターンが含まれている可能性が高い。
【００４８】
そこで、画像パターン読取部１０３は、現実空間の映像中の画像特徴候補に画像パターンが含まれていれば、全ての画像パターン（１つの画像パターンの部分パターンである可能性もある）を読み取る処理を行い、読み取った画像パターンを識別子候補として識別子決定部１０４へと送出する。
【００４９】
ここで、画像パターン読み取り部１０３による、画像パターン読み取り処理をより具体的に説明するために、画像パターンが図３〜５のそれぞれである場合を例に取り、それぞれの場合における画像パターンの読み取り処理について以下説明する。
【００５０】
先ず、画像パターンが図３に例示した１次元バーコードパターンである場合について説明する。
【００５１】
この場合、画像パターン読み取り部１０３は先ず、画像特徴抽出部１０２から送出された画像特徴候補の端に探索領域を設け、この探索領域内で線特徴の探索を行う。画像から線特徴を検索、抽出する処理については周知のものであるので、これに関する説明は省略する。
【００５２】
線特徴が探索できなければ、探索領域を移動させる。一つの線特徴が探索できたら、その線特徴の色（実際には現実空間の映像における線特徴を構成する画素の値）が「１」を示す色に近いものであるのか「０」を示す色に近いものであるのかを判断し、判断した結果（１もしくは０）のビット値を記録する。
【００５３】
そして、その線特徴周辺から、１次元バーコードパターンの開始位置、及び１次元バーコードパターンを読み取る方向を示す目印（図３ではマーカ３０２に相当）を探索する。図３の場合には、マーカ３０２の形状は反時計回りを意味しているので、このマーカ３０２の形状を認識すれば、マーカ３０２が時計回り、反時計回りの何れを示しているのかを認識する事ができる。目印が見つかった場合には、その目印が有った旨を示す情報と、その目印が示す方向を、先に記録したビット値と共に記録する。
【００５４】
ここで、目印の検索処理としては、例えば、図１２に示す如く、探索した線特徴１２０１を包含する長方形であって、且つこの長方形の長手方向の辺を画像特徴候補の位置１２００に向けて（矢印１２０３で示す方向に向けて）所定量延長した長方形領域１２０２を設定し、この長方形領域１２０２内で、目印を探索する。図１２は、目印の探索処理を説明する図である。
【００５５】
続いて、１次元バーコードパターンが配列している閉曲線上に、１次元バーコードパターンが（曲線に対して）同じ向きに並んでいることを利用して、探索領域を移動させる。探索領域の移動については、例えば、現在探索した線特徴が示す線分の傾きと直交し、且つ現在の探索領域の位置から画像特徴候補の位置に向けた方向に所定量移動させる。
【００５６】
そして移動後の探索領域内で更に新たな線特徴の探索処理、及び探索した線特徴が示すビット値を記録する処理、線特徴の近傍位置に目印が位置する場合には位置する旨を示す情報と目印が示す向きを記録する処理を行う。
【００５７】
以上の処理を繰り返し、探索領域を移動させても線特徴が得られない場合、探索領域内の画素において赤の画素の数が所定個数以下の場合（探索領域の位置が画像特徴候補外の位置にある場合）、移動後の探索領域の位置がはじめに探索領域を設定した位置である場合、には１次元バーコードパターンの読み取り処理を終了する。これにより、画像特徴候補に１次元バーコードパターンが配されていた場合には、このバーコードが示すビット列（即ち識別子）を得ることができる。
【００５８】
なお、上述の通り、画像特徴候補が画像特徴でない場合は、探索領域をいくら移動させても、線特徴は得られない。その場合には、この画像特徴候補は画像特徴ではないと判断し、その他の画像特徴候補について上記１次元バーコードパターンの読み取り処理を行う。
【００５９】
図７は、以上説明した、画像特徴候補から１次元バーコードパターンを読み取る処理のフローチャートである。各ステップにおける処理の内容については上述の通りであるので、ここでは簡単に説明する。
【００６０】
先ず、画像特徴候補における初期位置に探索領域を設定し、設定した探索領域内で線特徴を探索する処理を行う（ステップＳ７０１）。そして探索の結果、線特徴を見つけた場合には処理をステップＳ７０２に進め、この線特徴を構成する画素の値を参照し、参照した画素値がビット値「１」を示すものであるのか、ビット値「０」を示すものであるのかを認識し（ステップＳ７０２）、認識したビット値を記録する（ステップＳ７０３）。そして見つけた線特徴の位置近傍で目印を検索し、目印が存在すれば、存在した旨を示す情報、目印が示す方向をステップＳ７０３で記録したビット値と共に記録する（ステップＳ７０４）。目印が存在しなければ当然ステップＳ７０４では何も記録しない。
【００６１】
そして次の線特徴を探索すべく、探索領域を移動させる（ステップＳ７０５）。そして、移動させた先の位置が、最初に探索領域を設定した位置でもないし、探索領域が画像特徴候補外の位置にあるわけでもない場合には処理をステップＳ７０６を介してステップＳ７０１に戻し、上記処理を繰り返す。
【００６２】
一方、探索領域を移動させた先の位置が、最初に探索領域を設定した位置である場合、もしくは探索領域が画像特徴候補外の位置にある場合には処理をステップＳ７０６を介してステップＳ７０７に進め、１つ以上の線特徴を検出したか、換言すれば、１つ以上のビット値をステップＳ７０３で記録したか否かを判断し、１つも記録していない場合、即ち、この画像特徴候補が画像特徴ではない場合には本処理を終了し、次の画像特徴候補について、同図のフローチャートに従った処理を行う。
【００６３】
一方、ステップＳ７０７で１つ以上の線特徴を検出した場合、換言すれば、１つ以上のビット値をステップＳ７０３で記録した場合には処理をステップＳ７０８に進め、記録したビット列から、識別子候補を特定する処理を行う。
【００６４】
図８は、ステップＳ７０８における処理を説明する図である。同図において８００は以上の処理で記録されたビット列である。また８０２ａ〜８０２ｄはそれぞれ、目印が見つかった旨を示す情報を便宜上記号化して示したものである。上述の通り、目印は、１次元バーコードパターンの先頭位置、及びバーコードの読み取り方向を示すものであるので、同図の場合、１次元バーコードパターンは、目印のついたビットから次の目印がついたビットの手前のビットまで、目印が示す方向（同図矢印８０３で示す方向）に読み取ったビット列を示すことになり、「０１１００１」となる。即ち、同図の場合、１次元バーコードパターンはビット列「０１１００１」をコーディングしたものとなる。同図では１次元バーコードパターンは８０５で示す如く３セット存在することになる。
【００６５】
一方、ビット列８００には目印に挟まれていないビット列８０１，８０４も存在する。これは、画像特徴候補の一部が隠蔽され、その結果、部分的にしか観測されなかった１次元バーコードパターンから読み取ったビット列である。
【００６６】
よって、図７のフローチャートに従って得られたビット列８００から、部分的な１次元バーコードパターンではなく、少なくとも１セット分の完全な１次元バーコードパターンを識別子候補として出力する。同図の場合、３セット分の１次元バーコードパターンを識別子候補として出力することになる（ステップＳ７０９）。
【００６７】
次に、画像パターンが図４に例示した２次元バーコードパターンである場合について説明する。
【００６８】
この場合、画像パターン読み取り部１０３は先ず、画像特徴抽出部１０２から送出された画像特徴候補の端に探索領域を設け、この探索領域内で２次元バーコードパターンの探索処理を行う。画像から２次元バーコードパターンを検索、抽出する処理については周知のものであるので、これに関する説明は省略する。
【００６９】
２次元バーコードパターンが探索できなければ、探索領域を移動させる。一つの２次元バーコードパターンが探索できたら、このときの探索領域のサイズを大きく更新し、サイズ更新後の探索領域内で、２次元バーコードパターンの上側を示すマーカ（図４ではマーカ４０２に相当）を探索する。
【００７０】
そして、読み取った２次元バーコードパターンをマーカが示す上側から解読する。即ち、各ますの色（実際には現実空間の映像におけるますを構成する画素の値）が「１」を示す色に近いものであるのか「０」を示す色に近いものであるのかを判断し、判断した結果（１もしくは０）のビット値を記録する。
【００７１】
続いて、２次元バーコードパターンが配列している閉曲線上に、２次元バーコードパターンが（曲線に対して）同じ向きに並んでいることを利用して、探索領域を移動させる。探索領域の移動については、例えば、マーカにより２次元バーコードパターンの上側が分かるので、これと直交する方向（左右何れかの方向）、且つ現在の探索領域の位置から画像特徴候補の位置に向けた方向に所定量移動させる。
【００７２】
そして移動後の探索領域内で更に新たな２次元バーコードパターン、マーカの探索処理、及び探索した２次元バーコードパターンが示すビット列を記録する処理を行う。
【００７３】
以上の処理を繰り返し、探索領域を移動させても２次元バーコードパターンが得られない場合、探索領域内の画素において赤の画素の数が所定個数以下の場合（探索領域の位置が画像特徴候補外の位置にある場合）、移動後の探索領域の位置がはじめに探索領域を設定した位置である場合、には２次元バーコードパターンの読み取り処理を終了する。これにより、画像特徴候補に２次元バーコードパターンが配されていた場合には、このバーコードが示すビット列（即ち識別子）を得ることができる。
【００７４】
なお、上述の通り、画像特徴候補が画像特徴でない場合は、探索領域をいくら移動させても、２次元バーコードパターンは得られない。その場合には、この画像特徴候補は画像特徴ではないと判断し、その他の画像特徴候補について上記２次元バーコードパターンの読み取り処理を行う。
【００７５】
図９は、以上説明した、画像特徴候補から２次元バーコードパターンを読み取る処理のフローチャートである。各ステップにおける処理の内容については上述の通りであるので、ここでは簡単に説明する。
【００７６】
先ず、画像特徴候補における初期位置に探索領域を設定し、設定した探索領域内で２次元バーコードパターンを探索する処理を行う（ステップＳ９０１）。そして探索の結果、２次元バーコードパターンを見つけた場合には処理をステップＳ９０２に進め、その近傍位置にあるマーカを探索する（ステップＳ９０２）。
【００７７】
そして見つけた２次元バーコードパターンを構成する各ますの画素の値を、見つけたマーカで示される上側から参照し、参照した画素値がビット値「１」を示すものであるのか、ビット値「０」を示すものであるのかを認識し（ステップＳ９０３）、認識したビット列を記録する（ステップＳ９０４）。
【００７８】
そして次の２次元バーコードパターンを探索すべく、探索領域を移動させる（ステップＳ９０５）。そして、移動させた先の位置が、最初に探索領域を設定した位置でもないし、探索領域が画像特徴候補外の位置にあるわけでもない場合には処理をステップＳ９０６を介してステップＳ９０１に戻し、上記処理を繰り返す。
【００７９】
一方、探索領域を移動させた先の位置が、最初に探索領域を設定した位置である場合、もしくは探索領域が画像特徴候補外の位置にある場合には処理をステップＳ９０６を介してステップＳ９０７に進め、１つ以上の２次元バーコードパターンを検出したか否かを判断し、１つも記録していない場合、即ち、この画像特徴候補が画像特徴ではない場合には本処理を終了し、次の画像特徴候補について、同図のフローチャートに従った処理を行う。
【００８０】
一方、ステップＳ９０７で１つ以上の２次元バーコードパターンを検出した場合には処理をステップＳ９０８に進め、記録したビット列が即ち、見つけた２次元バーコードパターン毎のビット列であるので、これらを識別子候補として特定し、識別子決定部１０４に出力する。
【００８１】
次に、画像パターンが図５に例示した文字パターンである場合について説明する。
【００８２】
この場合、画像パターン読み取り部１０３は先ず、画像特徴抽出部１０２から送出された画像特徴候補の端に探索領域を設け、この探索領域内で、（読み取られる可能性のある全ての）文字パターンのテンプレートとのマッチングをとる。その際、文字パターンが映像上で回転・変形している可能性があることも考慮する。なお、このような文字パターンを検索、抽出する処理については周知のものであるので、これに関する説明は省略する。
【００８３】
文字パターンが探索できなければ、探索領域を移動させる。一つの文字パターンが探索できたら、その文字パターンが示す文字のコードを記録する。このように文字パターンが示す文字を認識し、認識した文字のコードを特定する処理については周知のものであるので、これに関する説明は省略する。
【００８４】
続いて、文字パターンが配列している閉曲線上に、文字パターンが（曲線に対して）同じ向きに並んでいることを利用して、探索領域を移動させる。探索領域の移動については、例えば、現在探索した文字パターンの傾きと同じ傾きを有する方向に移動させる。そして所定移動量の移動で新たな文字パターンが見つかれば、先に見つけた文字パターンとセットにして文字コードを記録する。図５の場合、「Ａ」の文字コードと、「Ｂ」の文字コードとはセットにして記録されることになる。
【００８５】
そして所定量移動させても文字パターンが見つからない場合には、セットの文字パターンが存在しないと判断し、前回移動した方向から、画像特徴候補の位置に向けた方向に探索領域を移動させ、次なる文字パターンの探索を行う。
【００８６】
以上の処理を繰り返し、探索領域を移動させても文字パターンが得られない場合、探索領域内の画素において赤の画素の数が所定個数以下の場合（探索領域の位置が画像特徴候補外の位置にある場合）、移動後の探索領域の位置がはじめに探索領域を設定した位置である場合、には文字パターンの読み取り処理を終了する。これにより、画像特徴候補に文字パターンが配されていた場合には、この文字パターンの文字コード（即ち識別子）を得ることができる。
【００８７】
なお、上述の通り、画像特徴候補が画像特徴でない場合は、探索領域をいくら移動させても、文字パターンは得られない。その場合には、この画像特徴候補は画像特徴ではないと判断し、その他の画像特徴候補について上記文字パターンの読み取り処理を行う。
【００８８】
図１０は、以上説明した、画像特徴候補から文字パターンを読み取る処理のフローチャートである。各ステップにおける処理の内容については上述の通りであるので、ここでは簡単に説明する。
【００８９】
先ず、画像特徴候補における初期位置に探索領域を設定し、設定した探索領域内で上記テンプレートマッチング処理でもって文字パターンを探索する処理を行う（ステップＳ１００１）。そして探索の結果、文字パターンを見つけた場合には処理をステップＳ１００２に進め、文字パターンの文字コードを特定する（ステップＳ１００２）。
【００９０】
そして、従前に見つけた文字パターンから所定距離以内で探索領域を移動させたことで、今回の文字パターンを見つけた場合には、従前に見つけた文字パターンの文字コードとセットで記録する必要があるので、今回見つけた文字パターンの文字コードを、従前に見つけた文字パターンの文字コードとセットで記録すべきかどうかを判断し（ステップＳ１００３）、セットで記録すると判断した場合にはセットで記録し、セットで記録しない場合には、従前に見つけた文字パターンの文字コードとは別に記録する（ステップＳ１００４）。
【００９１】
そして次の文字パターンを探索すべく、探索領域を移動させる（ステップＳ１００５）。そして、移動させた先の位置が、最初に探索領域を設定した位置でもないし、探索領域が画像特徴候補外の位置にあるわけでもない場合には処理をステップＳ１００６を介してステップＳ１００１に戻し、上記処理を繰り返す。
【００９２】
一方、探索領域を移動させた先の位置が、最初に探索領域を設定した位置である場合、もしくは探索領域が画像特徴候補外の位置にある場合には処理をステップＳ１００６を介してステップＳ１００７に進め、１つ以上の文字パターンを検出したか、換言すれば、１つ以上の文字コードをステップＳ１００４で記録したか否かを判断し、１つも記録していない場合、即ち、この画像特徴候補が画像特徴ではない場合には本処理を終了し、次の画像特徴候補について、同図のフローチャートに従った処理を行う。
【００９３】
一方、ステップＳ１００７で１つ以上の文字パターンを検出した場合、換言すれば、１つ以上の文字コードをステップＳ１００４で記録した場合には処理をステップＳ１００８に進め、記録した文字コード列が即ち、見つけた文字パターンセット毎の文字コード列であるので、これらを識別子候補として特定し、識別子決定部１０４に出力する。
【００９４】
以上、画像パターンが図３〜５に示したそれぞれのものである場合に、画像特徴から画像パターンにコーディングされた情報を読み出して識別子決定部１０４に出力する処理について説明したが、何れの場合にも、コーディングされた情報を読み出すための処理については上記方法に限定するものではない。また、画像パターンは上記３種類に限定するものでない。
【００９５】
図１に戻って、識別子決定部１０４は先ず、画像パターン読取部１０３から受け取った識別子候補から、画像特徴を識別するために識別子を決定する処理を行う。より具体的には、識別子決定部１０４は、画像パターン読取部１０３から受け取った識別子候補が一つであれば、それを識別子であると決定して、視点位置姿勢算出部１０７へ送出する。また、画像パターン読取部１０３から受け取った識別子候補が複数であれば、複数の識別子候補を同じ識別子を示すグループに分割し、グループ要素が最も多いグループに含まれている識別子候補を識別子であるとして、この識別子を視点位置姿勢算出部１０７に送出する。これにより、画像特徴から読み取った情報に読取間違いがあっても、識別子の決定に悪影響を及ぼさない。
【００９６】
また、識別子決定部１０４は、上述の処理で求めた、視点位置姿勢算出部１０７に送出した識別子の画像特徴の現実空間の映像中の座標位置、を視点位置姿勢算出部１０７に送出する。
【００９７】
一方、画像特徴位置記憶部１０６には、現実空間内に配置されたそれぞれの画像特徴を識別するための識別子と、それぞれの画像特徴の現実空間における位置（現実空間中の１点を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系における位置）とが関連付けて保持されている。よって、画像特徴の識別子が分かれば、この画像特徴の現実空間における座標位置は、この識別子に関連付けて画像特徴位置記憶部１０６に記憶されている座標位置を読み出すことで得られる。
【００９８】
よって、視点位置姿勢算出部１０７は先ず、識別子決定部１０４から得られた識別子を参照し、これに関連付けられて画像特徴位置記憶部１０６に保持されている座標位置を読み出す。
【００９９】
そして、視点位置姿勢算出部１０７は、識別子決定部１０４から得られる、画像特徴の現実空間の映像中の座標位置と、画像特徴位置記憶部１０６から読み出した座標位置との関係を満たすような画像撮影部１０１（視点）の現実空間における位置および姿勢（現実空間中の１点を原点とし、この原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系における位置及び姿勢）を、周知の技術（非線型方程式の解析や数値計算）を用いて算出する。なお、画像撮影部１０１の位置及び姿勢を求める方法はこれに限定するものではない。
【０１００】
なお、画像撮影部１０１の位置姿勢を求めるためには、３つ以上の画像特徴が必要となる。即ち、現実空間の映像中に、３つ以上の画像特徴が含まれていなくてはいけない。よって、画像特徴は常に３つ以上が画像撮影部１０１に撮影されるように配置する必要がある。
【０１０１】
そして、画像撮影部１０１の視点の位置姿勢を求めるためには、少なくとも３つの画像特徴のそれぞれの現実空間における位置、現実空間の映像上における画像座標を上記処理により求め、これらを用いて画像撮影部１０１の視点の位置姿勢を求める。
【０１０２】
また、本実施形態に係る画像処理装置１２１にはセンサ部１０５が備わっており、このセンサ部１０５からの情報を用いて、画像撮影部１０１の位置及び姿勢を求めるようにしても良い。この場合には、３つ以上の画像特徴が必ずしも得られていなくても良い。以下、このセンサ部１０５からの情報を用いて画像撮影部１０１の位置及び姿勢を求める方法について説明する。
【０１０３】
センサ部１０５は、画像撮影部１０１の現実空間における位置及び姿勢を計測するためのセンサである。このセンサには磁気センサ、超音波センサなどが適用可能であるが、画像撮影部１０１の現実空間における位置及び姿勢を求める方法については既知のものであるので、これに関する説明は省略する。
【０１０４】
よって、センサ部１０５から得た位置及び姿勢の初期値と画像特徴位置記憶部１０６から読み出した座標位置から決定される画像特徴の現実空間の映像中の座標位置と、識別子決定部１０４から得られる画像特徴の現実空間の映像中の座標位置との誤差が最小となるような画像撮影部１０１（視点）の現実空間における位置および姿勢を求める。その算出方法としては、画像ヤコビアンを用いたガウス・ニュートン法のような繰り返し計算によって、誤差を最小化するように画像撮影部１０１（視点）の現実空間における位置および姿勢を最適化する方法などが挙げられる。ここでいう誤差は画像特徴ごとに計算されるが、ただ一つの誤差からでも画像撮影部１０１（視点）の現実空間における位置および姿勢の最適化は可能であるので、３つ以上の画像特徴が得られていなくとも、１つ以上の画像特徴が得られていれば画像撮影部１０１（視点）の現実空間における位置および姿勢を求めることができる。
【０１０５】
求めた結果はＭＲ空間画像生成部１０９に送出される。ＭＲ空間画像生成部１０９は、画像撮影部１０１の位置及び姿勢から見える仮想空間の映像を生成するのであるが、仮想空間に係るデータ（例えば、仮想空間を構成するオブジェクトの配置位置、姿勢、形状、色、テクスチャなどのデータ）はデータ記憶部１０８に保存されているので、ＭＲ空間画像生成部１０９は、データ記憶部１０８からこれらのデータを取得し、視点位置姿勢算出部１０７から送出された、画像撮影部１０１の位置及び姿勢から見える仮想空間の映像を生成する。なお、所定の位置姿勢を有する視点から見える仮想空間の映像を生成する処理については周知の技術であるので、これに関する説明は省略する。
【０１０６】
そして、生成した仮想空間の映像を、画像撮影部１０１によって撮像された現実空間の映像上に重畳させ、複合現実空間の映像を生成する。生成した複合現実空間の映像は後段のＭＲ空間画像表示部１１０に送出され、ＭＲ空間画像表示部１１０は、送出された複合現実空間の映像を表示する。このＭＲ空間画像表示部１１０は、例えば上記ＨＭＤの表示部分に相当するものであるので、このＨＭＤを頭部に装着した観察者は眼前にこの複合現実空間の映像を見ることができる。
【０１０７】
なお、ＨＭＤが光学シースルー型のものである場合には、画像撮影部１０１からＭＲ空間画像生成部１０９への現実空間の映像の入力は行われないので、ＭＲ空間画像生成部１０９は黒の背景上に仮想空間の映像を生成し、ＭＲ空間画像表示部１１０に送出する。
【０１０８】
図２は、以上説明した、画像特徴を用いて画像撮影部１０１の位置及び姿勢を算出し、算出した位置及び姿勢の視点から見える複合現実空間の映像を生成する為の一連の処理のフローチャートである。各ステップにおける処理については上述の通りであるので、ここでは簡単に説明する。なお、ここでもＨＭＤがビデオシースルー型のものであるとするが、光学シースルー型の場合には以下説明する処理を上述のように適宜変更すればよい。
【０１０９】
画像処理装置１２１の画像特徴抽出部１０２、ＭＲ空間画像生成部１０９は、画像撮影部１０１により撮像された現実空間の映像の入力を受け付ける（ステップＳ２００）。
【０１１０】
画像特徴抽出部１０２は、入力された現実空間の映像から、画像特徴の候補を抽出する（ステップＳ２０１）と共に、抽出した画像座標を求める（ステップＳ２０２）。
【０１１１】
そして画像パターン読み取り部１０３は、ステップＳ２０１で抽出した画像特徴における画像パターンから、コーディングされた情報を読み取り、読み取った情報を識別子候補として識別子決定部１０４に出力する（ステップＳ２０３）。ステップＳ２０３では、画像特徴が図３に示したものである場合には、図７に示したフローチャートに従った処理を行い、画像特徴が図４に示したものである場合には、図９に示したフローチャートに従った処理を行い、画像特徴が図５に示したものである場合には、図１０に示したフローチャートに従った処理を行う。
【０１１２】
識別子決定部１０４は、画像パターン読み取り部１０３から受けた識別子候補から、識別子を決定し、決定した識別子とこの識別子で特定される画像特徴の現実空間の映像上における画像座標と共に視点位置姿勢算出部１０７に送出する（ステップＳ２０４）。
【０１１３】
そして、以上ステップＳ２０１〜ステップＳ２０４までの各ステップにおける処理を、現実空間の映像に含まれる全ての画像特徴について行った場合には処理をステップＳ２０５を介してステップＳ２０６に進め、視点位置姿勢算出部１０７は、３つ以上の画像特徴それぞれの現実空間における位置と、それぞれの現実空間の映像上における座標位置とを用いて、画像撮影部１０１の位置及び姿勢を算出し、算出した位置及び姿勢のデータを後段のＭＲ空間画像生成部１０９に送出する（ステップＳ２０６）。
【０１１４】
ＭＲ空間画像生成部１０９は、視点位置姿勢算出部１０７から受けた位置姿勢の視点から見える仮想空間の映像を生成し、画像撮影部１０１から得られた現実空間の映像上に重畳し、ＭＲ空間画像表示部１１０に送出する（ステップＳ２０７）。
【０１１５】
そして本処理の終了指示が入力されない限りは、上記処理を繰り返す（ステップＳ２０８）。
【０１１６】
以上説明したように、本実施形態によれば、画像特徴を識別するための画像パターンが画像特徴の表面上に繰り返し配置されているので、現実空間の映像中の画像特徴を識別する際に画像特徴の一部が隠蔽されていても、１つ以上の画像パターンが映像中に含まれる可能性が高いことから、この画像特徴を識別することができる。
【０１１７】
なお、本実施形態では、現実空間の映像に含まれる全ての画像特徴候補について、画像パターンの抽出処理を行ったが、映像上であまりに小さい画像特徴候補は、例え画像特徴であったとしても、画像撮影部１０１の解像度の問題で、画像パターンが見えないこともあり、このような画像特徴に対してコーディングされた情報を読み取っても、正確な読み取りは困難なものとなる。よって、現実空間の映像中の画像特徴候補のうち、所定画素数以上で構成されている画像特徴候補のみについて、画像パターンの抽出処理を行うようにすれば良い。
【０１１８】
［第２の実施形態］
上記第１の実施形態では、図１に示した画像処理装置１２１を構成する各部はハードウェアでもって構成されているものとして説明しているが、記憶部１０６，１０８，表示部１１０を除く各部のうち一部もしくは全部をソフトウェアでもって構成し、記憶部１０６，１０８については例えばハードディスクドライブ装置などの外部記憶装置内に設け、表示部１１０についてはＣＲＴや液晶画面などの表示装置としても良い。
【０１１９】
このような場合の、画像処理装置１２１の基本構成を図１１に示す。
【０１２０】
図１１は、本実施形態に係る画像処理装置１２１の基本構成を示すブロック図である。本実施形態に係る画像処理装置１２１は、例えば一般のＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータである。
【０１２１】
１８０１はＣＰＵで、ＲＡＭ１８０２やＲＯＭ１８０３に格納されているプログラムやデータを用いて、本装置全体の制御を行うと共に、上記フローチャートに従った処理を実行する。
【０１２２】
１８０２はＲＡＭで、外部記憶装置１８０６からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、ＣＰＵ１８０１が各種の処理を行う際に使用するワークエリアを備える。また、Ｉ／Ｆ１８０７，１８０８を介して受信したデータを一時的に記憶する為のエリアも備える。
【０１２３】
１８０３はＲＯＭで、本装置の設定データ、ブートプログラムなどを格納する。
【０１２４】
１８０４は操作部で、キーボードやマウス等により構成されており、各種の指示をＣＰＵ１８０１に対して入力することができる。
【０１２５】
１８０５は表示部で、ＣＲＴや液晶画面等により構成されており、ＣＰＵ１８０１による処理結果、例えば複合現実空間の映像を表示することができる。
【０１２６】
１８０６は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）や、上記フローチャートに従った処理をＣＰＵ１８０１に実行させるためのプログラム（画像特徴抽出部１０２、画像パターン読み取り部１０３、識別子決定部１０４、視点位置姿勢算出部１０７、ＭＲ空間画像生成部１０９、ＭＲ空間画像表示部１１０のそれぞれの機能をＣＰＵ１８０１に実行させる為のプログラム）やデータ、記憶部１０６、１０８が記憶しているデータ群を保存しており、これらの一部もしくは全部はＣＰＵ１８０１の制御により、ＲＡＭ１８０２にロードされ、ＣＰＵ１８０１がこれを用いて処理を実行することで、本装置は上記フローチャートに従った処理を行うことができる。
【０１２７】
１８０７は本装置とＨＭＤとを繋ぐ為のＩ／Ｆであり、このＩ／Ｆ１８０７を介してＨＭＤに備わっている画像撮影部１０１から現実空間の映像を受信すると共に、本装置が生成した複合現実空間の映像（ＨＭＤが光学シースルー型のものである場合には仮想空間の映像）をＨＭＤに送信する。
【０１２８】
１８０８は本装置をセンサ部１０５と繋ぐ為のＩ／Ｆであり、このＩ／Ｆ１８０８を介してセンサ部１０５が計測した画像撮影部１０１の位置及び姿勢を示すデータを本装置に入力する。
【０１２９】
１８０９は上述の各部を繋ぐバスである。
【０１３０】
なお、以上の実施形態により、以下の効果を奏する。
【０１３１】
即ち、画像特徴の一部分が隠れた場合にも、観察できる部分に情報の読み取りが可能ないくつかの画像パターンが含まれることが期待できるので、隠蔽に対してロバストに画像特徴識別ができるという効果がある。
【０１３２】
また、画像特徴に対して斜めの方向から観察した場合にも、読取処理が比較的容易となる撮影視点に対して手前側の画像領域に、情報全体の読取が可能な画像パターンが含まれることが期待できるので、傾きに対してロバストに画像特徴識別ができるという効果がある。特に、画像特徴が立体である場合には、その各面に画像パターンを用意しておけば、傾きに対してさらにロバストな画像特徴識別が実現される。
【０１３３】
また、画像特徴内に、同じ情報を示す画像パターンを冗長に繰り返し配置することによって、その画像特徴に保持させることができる情報量は、良く知られた画像特徴に比べて減少するが、認識可能な情報量よりもロバストに識別できることが優先される応用には、効果を発揮する。
【０１３４】
また、画像パターン群から一つの画像パターンを見つけることは比較的難しい処理であるが、画像パターン群から一つの画像パターンを抜き出すための目印には、その処理を比較的容易にするという効果がある。同様に、ある画像パターンのそばに存在する別の画像パターンの位置を示す目印にも、その処理を比較的容易にするという効果がある。さらに、画像パターンが閉曲線上に（曲線に対して）同じ向きに並んでいることにも、ある画像パターンの隣に別の画像パターンが存在するので、画像パターンの探索がしやすいという効果がある。
【０１３５】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラミングコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３７】
本発明の上記記憶媒体に適用する場合、その記憶媒体には先に説明した図２に示したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３８】
【図１】本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】画像特徴を用いて画像撮影部１０１の位置及び姿勢を算出し、算出した位置及び姿勢から見える複合現実空間の映像を生成する為の一連の処理のフローチャートである。
【図３】画像特徴の例を示す図である。
【図４】画像特徴の例を示す図である。
【図５】画像特徴の例を示す図である。
【図６】画像特徴の例を示す図である。
【図７】画像特徴候補から１次元バーコードパターンを読み取る処理のフローチャートである。
【図８】ステップＳ７０８における処理を説明する図である。
【図９】画像特徴候補から２次元バーコードパターンを読み取る処理のフローチャートである。
【図１０】画像特徴候補から文字パターンを読み取る処理のフローチャートである。
【図１１】本発明の第２の実施形態に係る画像処理装置１２１の基本構成を示すブロック図である。
【図１２】目印の探索処理を説明する図である。
【図１】
2006064585.tif 000003
【図２】
2006064585.tif 000004
【図３】
2006064585.tif 000005
【図４】
2006064585.tif 000006
【図５】
2006064585.tif 000007
【図６】
2006064585.tif 000008
【図７】
2006064585.tif 000009
【図８】
2006064585.tif 000010
【図９】
2006064585.tif 000011
【図１０】
2006064585.tif 000012
【図１１】
2006064585.tif 000013
【図１２】
2006064585.tif 000014