(57)【要約】 【課題】拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させる。【解決手段】マーカ端末２１１において、符号化部２１２は、伝達すべき情報を、図形コードの列に符号化する。マーカ生成部２１３は、図形コードのそれぞれに基準画像を合成したマーカ画像を生成する。マーカ表示部２１４は、生成されたマーカ画像を表示する。撮影端末２３１において、撮影部２３２は、現実世界を撮影する。マーカ認識部２３３は、撮影画像からマーカ画像を認識する。復号部２３４は、順次認識されたマーカ画像から図形コードの列を得て、伝達された情報を復号する。画像生成部２３５は、伝達された情報にオブジェクト画像を生成して、撮影画像を背景としてオブジェクト画像を合成し、拡張現実画像を生成する。【選択図】図２
2011204047.tif 000002
【特許請求の範囲】
【請求項１】
１次元コードもしくは２次元コードからなる図形コードを用い、マーカ端末と撮影端末とを有する拡張現実システムであって、
（ａ）前記マーカ端末は、
１つの図形コードにより表現可能な情報量が指定されると、前記撮影端末に伝達すべき情報を、当該指定された情報量を表現可能な図形コードの列に符号化する符号化部、
前記符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成するマーカ生成部、
前記生成された複数のマーカ画像を、当該生成された順に画面に表示するマーカ表示部、
あらかじめ定めた複数の情報量のそれぞれについて、前記符号化部に当該情報量を指定して、前記マーカ表示部に複数のマーカ画像を順に表示させる処理を繰り返す繰返制御部
を備え、
（ｂ）前記撮影端末は、
現実世界を順次撮影する撮影部、
前記順次撮影された画像のそれぞれから、前記マーカ端末の画面に表示されたマーカ画像を認識するマーカ認識部、
前記マーカ画像が順次認識されると、当該マーカ画像に含まれるコード画像を取得し、当該コード画像に含まれる図形コードが表現可能な情報量ごとに分類して、当該分類された図形コードの列ごとに、前記マーカ端末から伝達された情報を復号する復号部、
前記復号された情報に対応付けられるオブジェクト画像を生成して、前記撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する画像生成部
を備えることを特徴とする拡張現実システム。
【請求項２】
請求項１に記載の拡張現実システムであって、
前記撮影端末は、前記情報が復号できた図形コードの列のうち、当該図形コードが表現可能な情報量が最大のものを選択し、当該最大の情報量から、前記マーカ端末と、前記撮影端末と、の間の距離を推定する距離推定部をさらに備え、
前記撮影端末において、前記画像生成部は、前記オブジェクト画像を、前記復号された情報と、前記推定された距離と、に基づいて生成する
ことを特徴とする拡張現実システム。
【請求項３】
請求項１に記載の拡張現実システムであって、
前記撮影端末は、前記情報が復号できると、その旨を前記マーカ端末に通知し、
前記マーカ端末において、前記繰返制御部は、前記マーカ端末からの通知に基づいて、前記複数の情報量のそれぞれを前記符号化部に指定する頻度を変化させる
ことを特徴とする拡張現実システム。
【請求項４】
請求項１から３のいずれか１項に記載の拡張現実システムであって、
前記基準画像は、前記図形コードを囲むように合成される
ことを特徴とする拡張現実システム。
【請求項５】
請求項１から３のいずれか１項に記載の拡張現実システムであって、
前記基準画像は、前記図形コードに隣り合うように合成される
ことを特徴とする拡張現実システム。
【請求項６】
請求項４または５に記載の拡張現実システムであって、
前記基準画像と、前記図形コードと、は、異なる色彩であり、
前記マーカ認識部は、前記順次撮影された画像のそれぞれに前記図形コードの色彩が打ち消され、もしくは、前記基準画像の色彩が強調されるフィルタを適用し、当該適用結果から前記基準画像が透視変換された結果を抽出することにより、当該適用前の画像において当該マーカ画像が配置されている領域を認識し、
前記復号部は、前記認識された領域の画像に前記透視変換の逆変換を施すことによりコード画像を復元して、当該復元されたコード画像から情報を復号する
ことを特徴とする拡張現実システム。
【請求項７】
請求項１から５のいずれか１項に記載の拡張現実システムにおけるマーカ端末。
【請求項８】
請求項１から５のいずれか１項に記載の拡張現実システムにおける撮影端末。
【請求項９】
１次元コードもしくは２次元コードからなる図形コードを用い、マーカ端末と撮影端末とが実行する拡張現実方法であって、前記マーカ端末は、符号化部、マーカ生成部、マーカ表示部、繰返制御部を備え、前記撮影端末は、撮影部、マーカ認識部、復号部、画像生成部を備え、当該拡張現実方法は、
（ａ）前記マーカ端末において、
前記符号化部が、１つの図形コードにより表現可能な情報量が指定されると、前記撮影端末に伝達すべき情報を、当該指定された情報量を表現可能な図形コードの列に符号化する符号化工程、
前記マーカ生成部が、前記符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成するマーカ生成工程、
前記マーカ表示部が、前記生成された複数のマーカ画像を、当該生成された順に画面に表示するマーカ表示工程、
前記繰返制御部が、あらかじめ定めた複数の情報量のそれぞれについて、前記マーカ生成工程に対して、当該情報量を指定して、前記マーカ表示工程において、複数のマーカ画像を順に表示させる処理を繰り返す繰返制御工程
を備え、
（ｂ）前記撮影端末において、
前記撮影部が、現実世界を順次撮影する撮影工程、
前記マーカ認識部が、前記順次撮影された画像のそれぞれから、前記マーカ端末の画面に表示されたマーカ画像を認識するマーカ認識工程、
前記復号部が、前記マーカ画像が順次認識されると、当該マーカ画像に含まれるコード画像を取得し、当該コード画像に含まれる図形コードが表現可能な情報量ごとに分類して、当該分類された図形コードの列ごとに、前記マーカ端末から伝達された情報を復号する復号工程、
前記画像生成部が、前記復号された情報に対応付けられるオブジェクト画像を生成して、前記撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する画像生成工程
を備えることを特徴とする拡張現実方法。
【請求項１０】
第１のコンピュータを、１次元コードもしくは２次元コードからなる図形コードを用いるマーカ端末として機能させるマーカ用プログラムと、第２のコンピュータを、当該マーカ端末に対する撮影端末として機能させる撮影用プログラムと、が記録されたコンピュータ読取可能な情報記録媒体であって、
（ａ）前記マーカ用プログラムは、前記第１のコンピュータを、
１つの図形コードにより表現可能な情報量が指定されると、前記撮影端末に伝達すべき情報を、当該指定された情報量を表現可能な図形コードの列に符号化する符号化部、
前記符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成するマーカ生成部、
前記生成された複数のマーカ画像を、当該生成された順に画面に表示するマーカ表示部、
あらかじめ定めた複数の情報量のそれぞれについて、前記符号化部に当該情報量を指定して、前記マーカ表示部に複数のマーカ画像を順に表示させる処理を繰り返す繰返制御部
として機能させ、
（ｂ）前記撮影用プログラムは、前記第２のコンピュータを、
現実世界を順次撮影する撮影部、
前記順次撮影された画像のそれぞれから、前記マーカ端末の画面に表示されたマーカ画像を認識するマーカ認識部、
前記マーカ画像が順次認識されると、当該マーカ画像に含まれるコード画像を取得し、当該コード画像に含まれる図形コードが表現可能な情報量ごとに分類して、当該分類された図形コードの列ごとに、前記マーカ端末から伝達された情報を復号する復号部、
前記復号された情報に対応付けられるオブジェクト画像を生成して、前記撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する画像生成部
として機能させることを特徴とする情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実（ＡＲ；Augmented Reality）画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させるのに好適な拡張現実システム、マーカ端末、撮影端末、拡張現実方法、ならびに、これらをコンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記録媒体に関する。
【背景技術】
【０００２】
従来から、現実世界を撮影した画像を背景にして仮想的なオブジェクトの画像を合成することにより、現実を拡張した画像を生成する拡張現実技術が提案されている。
【０００３】
拡張現実技術では、マーカと呼ばれる所定の形状の図形を現実世界に配置する。撮影機器は、このマーカを含む現実世界を撮影する。したがって、マーカは、撮影された画像内において透視変換された様子で配置されることになる。
【０００４】
撮影された画像に含まれるマーカが画像認識される際には、透視変換のパラメータも取得される。
【０００５】
そして、マーカに対応付けられるオブジェクトに対して、この透視変換が適用される。
【０００６】
そして、撮影された画像を背景にして得られたオブジェクト画像が合成されると、拡張現実画像が生成される。拡張現実画像においては、オブジェクト画像はマーカを隠す位置やマーカの近傍に描画されることになる。
【０００７】
このような拡張現実技術については、以下の文献に開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２３４７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、マーカに対応付けられるオブジェクトの形状や模様、色彩などを変化させたい、という要望は強い。また、マーカと撮影機器との距離に応じて、オブジェクトの形状や模様、色彩などを変化させたい、という要望もある。
【００１０】
本発明は、上記のような課題を解決するもので、拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させるのに好適な拡張現実システム、マーカ端末、撮影端末、拡張現実方法、ならびに、これらをコンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１２】
本発明の第１の観点に係る拡張現実システムは、１次元コードもしくは２次元コードからなる図形コードを用い、マーカ端末と撮影端末とを有し、以下のように構成する。
【００１３】
ここで、１次元コードとは、複数の線分を並べる際にその間隔や太さを変化させることによって情報を符号化するものであり、いわゆるバーコードが相当する。
【００１４】
また、２次元コードとは、複数のバーコードを、線が並ぶ方向とは垂直の方向に並べたものや、正方形や長方形を複数の桝目（セル；cell）に区切り、各桝目に塗る色を黒や白（あるいは無色）に変化させることによって情報を符号化するものであり、データマトリックスと呼ばれることもある。日本では、２次元コードとして、ＱＲコード（登録商標）が普及している。
【００１５】
マーカ端末は、拡張現実用のマーカ画像を画面に表示する端末であり、撮影端末は、画面に表示されたマーカ画像と、その周囲の現実世界の様子を撮影して、拡張現実画像を生成するものである。両者はいずれも、典型的には、携帯型のゲーム機やパーソナルコンピュータで所定のプログラムを動作させることによって実現される。
【００１６】
ここで、マーカ端末は、符号化部、マーカ生成部、マーカ表示部、繰返制御部を有し、撮影端末は、撮影部、マーカ認識部、復号部、画像生成部を有する。
【００１７】
そして、符号化部は、１つの図形コードにより表現可能な情報量が指定されると、撮影端末に伝達すべき情報を、当該指定された情報量を表現可能な図形コードの列に符号化する。
【００１８】
ここで、１つの図形コードにより表現可能な情報量とは、たとえば、バーコードの場合には、表現できる数値の桁数に相当し、２次元コードの場合には、セルの個数に相当する。たとえば、４行４列の桝目からなる２次元コードが表現可能な情報量は、４×４＝１６ビットである。
【００１９】
一方、撮影端末に伝達すべき情報は、より多いビット数（たとえば、１２８ビット。）で表現しなければならないこともある。
【００２０】
このような場合、符号化部は、１２８／１６＝８個の２次元コードの列により、撮影端末に伝達すべき情報を符号化する。
【００２１】
なお、実際には、図形コードには、当該図形コードが列中の何番目かを表すビットや、パリティビット、誤り訂正ビット等を含むこととするのが典型的である。この場合、１２８ビットの情報を４行４列の図形コードで符号化しようとすると、８個よりも多い図形コードが必要となる。
【００２２】
また、図形コードは、表現可能な情報量にかかわらず、縦横のドット数を一定とするのが典型的である。たとえば、４行４列の桝目の２次元コードの各桝目の幅や高さは、７行７列の桝目の２次元コードの各桝目の幅や高さの７／４＝１.７５倍の長さとなる。
【００２３】
さらに、マーカ生成部は、符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成する。
【００２４】
ここで、基準画像とは、ＡＲ認識に適した形状を有する画像であり、典型的には正方形の辺を太線で描いて枠状にしたものや、これに、方向を表すための図形を付加したものが利用される。
【００２５】
合成の際には、後述するように、基準画像の枠形状の中にコード画像を埋め込んだり、基準画像とコード画像を隣り合わせて配置するなどの手法が採用できる。
【００２６】
上記のようにコード画像は、表現可能な情報量にかかわらず、その幅や高さは一定であるから、マーカ画像の幅や高さも一定である。
【００２７】
そして、マーカ表示部は、生成された複数のマーカ画像を、当該生成された順に画面に表示する。
【００２８】
上記のように、伝送すべき情報が複数の図形コードによって表現されるので、複数のマーカ画像が順に画面に表示されることになる。
【００２９】
さらに、繰返制御部は、あらかじめ定めた複数の情報量のそれぞれについて、符号化部に当該情報量を指定して、マーカ表示部に複数のマーカ画像を順に表示させる処理を繰り返す。
【００３０】
たとえば、符号化部に対して「４行４列」「５行５列」「６行６列」「７行７列」の４通りの情報量を指定すると、それぞれに応じた異なる桝目の大きさのマーカ画像の列が、順次表示されることになる。
【００３１】
一方、撮影部は、現実世界を順次撮影する。
【００３２】
一般には撮影部は、動画撮影を行い、現実世界を撮影することによって、マーカ画像を画面に表示しているマーカ端末も撮影されることになる。
【００３３】
さらに、マーカ認識部は、順次撮影された画像のそれぞれから、マーカ端末の画面に表示されたマーカ画像を認識する。
【００３４】
マーカ画像の認識には、通常のＡＲ認識技術を適用することが可能であるが、後述するように、まず基準画像を認識し、その後にコード画像の認識を行うような手法を採用することも可能である。
【００３５】
さらに、復号部は、マーカ画像が順次認識されると、当該マーカ画像に含まれるコード画像を取得し、当該コード画像に含まれる図形コードが表現可能な情報量ごとに分類して、当該分類された図形コードの列ごとに、マーカ端末から伝達された情報を復号する。
【００３６】
すなわち、復号部は、コード画像が「４行４列」「５行５列」「６行６列」「７行７列」「８行８列」のいずれの図形コードを表すものであるか、を、列の中の順序を表すビットや、パリティビット等によって識別し、その種類ごとに分類して、元の情報を復号するのである。
【００３７】
そして、画像生成部は、復号された情報に対応付けられるオブジェクト画像を生成して、撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する。
【００３８】
一般的なＡＲ技術では、１つのマーカに対応付けられるオブジェクトは１つであり、マーカが撮影された向きや大きさに応じてオブジェクトの向きや大きさを変更するのみであるが、本発明では、伝送される情報に基づいてオブジェクト画像を生成する。
【００３９】
したがって、オブジェクトそのものの形状や色彩、模様等を変化させることが可能となる。たとえば、オブジェクトにゲームのキャラクターを採用した場合には、キャラクターの姿勢や表情、服装等を変化させることが可能となる。
【００４０】
本発明によれば、拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させることができる。
【００４１】
また、本発明の拡張現実システムにおいて、撮影端末は、距離推定部をさらに備え、以下のように構成することができる。
【００４２】
ここで、距離推定部は、情報が復号できた図形コードの列のうち、当該図形コードが表現可能な情報量が最大のものを選択し、当該最大の情報量から、マーカ端末と、撮影端末と、の間の距離を推定する。
【００４３】
ここで推定される距離は、座標に基づく距離ではなく、視界の良好性に基づく距離である。すなわち、観察対象がはっきり明瞭に見える場合には近く、ぼんやり不明瞭に見える場合には遠い、と判定されるような距離を採用する。
【００４４】
たとえば、同じ大きさのマーカ画像が撮影されたとしても、認識できた図形コードが「４行４列」のものだけである場合と、「８行８列」のものまで認識できた場合とでは、前者は後者に比べて「遠い」ことになる。
【００４５】
たとえば、撮影時の明暗や塵埃、煙、乱反射などの影響によって、認識できた図形コードの表現可能な情報量が変化し、「距離」も変化することになる。
【００４６】
そして、撮影端末において、画像生成部は、オブジェクト画像を、復号された情報と、推定された距離と、に基づいて生成する。
【００４７】
たとえば、推定された距離が「遠い」場合には、オブジェクト画像のシャープネスを変更してぼんやりさせると、背景の現実世界とマッチした画像が得られると考えられる。このほか、推定された距離の「遠さ」に基づいて、オブジェクトが表現するキャラクターの表情や姿勢、セリフ等を変更することとしても良い。
【００４８】
本発明によれば、認識できた図形コードの情報量に基づいて、マーカ端末と撮影端末との間の視界の良好性に基づく距離により、オブジェクト画像を適切に変化させることができるようになる。
【００４９】
また、本発明の拡張現実システムにおいて、撮影端末は、情報が復号できると、その旨を前記マーカ端末に通知し、マーカ端末において、繰返制御部は、マーカ端末からの通知に基づいて、複数の情報量のそれぞれを符号化部に指定する頻度を変化させるように構成することができる。
【００５０】
たとえば、情報が復号できるごとに、撮影端末は、ビープ音声や無線通信で情報を送信することによって、その旨をマーカ端末に通知する。
【００５１】
マーカ端末は、マイクでビープ音声を検知したり、無線通信で情報を受信することによって、どんな情報量のコード画像であれば、撮影端末が認識できるか、を知得することができる。
【００５２】
そして、認識できた情報量のうち、できるだけ高い情報量、すなわち、桝目の多いコード画像によって情報を伝達するように、情報量の指定の頻度を変化させるのである。
【００５３】
本発明によれば、撮影端末からマーカ端末へ認識の可否を知らせることで、できるだけ高速な情報伝送が可能となる。
【００５４】
また、本発明の拡張現実システムにおいて、基準画像は、図形コードを囲むように合成されるように構成することができる。
【００５５】
本発明は上記発明の好適実施形態に係るもので、基準画像が枠状の形状を有する場合に、その内部に図形コードを配置することで、コンパクトな形状のマーカ画像を生成するものである。
【００５６】
また、本発明の拡張現実システムにおいて、基準画像は、図形コードに隣り合うように合成されるように構成することができる。
【００５７】
本発明は上記発明の好適実施形態に係るもので、基準画像と図形コードとを近接する位置に配置することで、既存のライブラリを利用して基準図形のみをＡＲ認識した後に、図形コードを認識することができるようになる。
【００５８】
また、本発明の拡張現実システムにおいて、基準画像と、図形コードと、は、異なる色彩であり、マーカ認識部は、順次撮影された画像のそれぞれに図形コードの色彩が打ち消され、もしくは、基準画像の色彩が強調されるフィルタを適用し、当該適用結果から基準画像が透視変換された結果を抽出することにより、当該適用前の画像において当該マーカ画像が配置されている領域を認識し、復号部は、認識された領域の画像に透視変換の逆変換を施すことによりコード画像を復元して、当該復元されたコード画像から情報を復号するように構成することができる。
【００５９】
たとえば、既存のＡＲライブラリがモノクローム画像からマーカを認識するようなものである場合に、基準画像として黒色の図形を採用し、図形コードを赤色で描くような態様を考える。
【００６０】
この場合に、撮影された画像から、赤色の成分を除去して、その他の色成分によってモノクローム画像を生成するフィルタ処理を行う。すると、既存のＡＲライブラリを利用するだけで、基準画像がＡＲ認識できる。
【００６１】
基準画像がＡＲ認識できたら、元の撮影された画像に、透視変換の逆変換を施せば、図形コードの元の姿が復元できる。そして、復元された姿から、情報を復号するのである。
【００６２】
本発明によれば、たとえば、既存のＡＲライブラリを利用しつつ、図形コードを用いた情報伝送が可能となる。
【００６３】
本発明のその他の観点に係るマーカ端末は、上記拡張現実システムにおけるマーカ端末である。
【００６４】
本発明のその他の観点に係る撮影端末は、上記の拡張現実システムにおける撮影端末である。
【００６５】
本発明のその他の観点に係る拡張現実方法は、１次元コードもしくは２次元コードからなる図形コードを用い、マーカ端末と撮影端末とが実行する。
【００６６】
ここで、マーカ端末は、符号化部、マーカ生成部、マーカ表示部、繰返制御部を備え、撮影端末は、撮影部、マーカ認識部、復号部、画像生成部を備える。
【００６７】
一方、当該拡張現実方法は、符号化工程、マーカ生成工程、マーカ表示工程、繰返制御工程、撮影工程、マーカ認識工程、復号工程、画像生成工程を備える。
【００６８】
ここで、マーカ端末において、符号化工程では、符号化部が、１つの図形コードにより表現可能な情報量が指定されると、撮影端末に伝達すべき情報を、当該指定された情報量を表現可能な図形コードの列に符号化する。
【００６９】
一方、マーカ生成工程では、マーカ生成部が、符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成する。
【００７０】
さらに、マーカ表示工程では、マーカ表示部が、生成された複数のマーカ画像を、当該生成された順に画面に表示する。
【００７１】
そして、繰返制御工程では、繰返制御部が、あらかじめ定めた複数の情報量のそれぞれについて、マーカ生成工程に対して、当該情報量を指定して、マーカ表示工程において、複数のマーカ画像を順に表示させる処理を繰り返す。
【００７２】
一方、撮影端末において、撮影工程では、撮影部が、現実世界を順次撮影する。
【００７３】
さらに、マーカ認識工程では、マーカ認識部が、順次撮影された画像のそれぞれから、マーカ端末の画面に表示されたマーカ画像を認識する。
【００７４】
そして、復号工程では、復号部が、マーカ画像が順次認識されると、当該マーカ画像に含まれるコード画像を取得し、当該コード画像に含まれる図形コードが表現可能な情報量ごとに分類して、当該分類された図形コードの列ごとに、マーカ端末から伝達された情報を復号する。
【００７５】
一方、画像生成工程では、画像生成部が、復号された情報に対応付けられるオブジェクト画像を生成して、撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する。
【００７６】
本発明のその他の観点に係るコンピュータ読取可能な情報記録媒体は、第１のコンピュータを、上記のマーカ端末として機能させるマーカ用プログラムと、第２のコンピュータを、当該マーカ端末に対する撮影端末として機能させる撮影用プログラムと、が記録されるように構成する。
【００７７】
また、これらのプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００７８】
これらのプログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００７９】
本発明によれば、拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させるのに好適な拡張現実システム、マーカ端末、撮影端末、拡張現実方法、ならびに、これらをコンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記録媒体を提供することができる。
【図面の簡単な説明】
【００８０】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態に係る拡張現実システムの概要構成を示す模式図である。
【図３Ａ】２次元コードを表すコード画像の様子を示す説明図である。
【図３Ｂ】２次元コードを表すコード画像の様子を示す説明図である。
【図３Ｃ】２次元コードを表すコード画像の様子を示す説明図である。
【図３Ｄ】２次元コードを表すコード画像の様子を示す説明図である。
【図４】基準画像の様子を示す説明図である。
【図５Ａ】マーカ画像の様子を示す説明図である。
【図５Ｂ】マーカ画像の様子を示す説明図である。
【図６】マーカ端末を実現する情報処理装置において実行されるマーカ表示処理の制御の流れを示すフローチャートである。
【図７Ａ】あるマーカ画像を液晶ディスプレイの画面に表示しているマーカ端末を含むように、撮影された現実世界の様子を表す画像の説明図である。
【図７Ｂ】あるマーカ画像を液晶ディスプレイの画面に表示しているマーカ端末を含むように、撮影された現実世界の様子を表す画像の説明図である。
【図８】撮影画像に色彩フィルタを施した結果を表す説明図である。
【図９】元の撮影画像において描画されているコード画像を示す説明図である。
【図１０】撮影されたコード画像に対して逆変換を施した結果を表す説明図である。
【図１１】拡張現実画像の様子を示す説明図である。
【図１２】撮影端末にて実行される撮影処理の制御の流れを示すフローチャートである。
【図１３】拡張現実画像の様子を示す説明図である。
【発明を実施するための形態】
【００８１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【００８２】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００８３】
（情報処理装置）
図１は、プログラムを実行することにより、本実施形態の拡張現実システムに係るマーカ端末や撮影端末として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００８４】
本図に示す情報処理装置１０１は、携帯可能なマルチメディア端末であり、ＣＰＵ（Central Processing Unit）１０２、ＲＡＭ（Random Access Memory）１０３、ＲＯＭ（Read Only Memory）１０４、入力装置１０５、画像処理部１０６、液晶ディスプレイ１０７、音声処理部１０８、ヘッドホン１０９、カセットリーダ１１０、ＲＯＭカセット１１１、外部メモリ１１２、ＲＴＣ（Real Time Clock）１１３、無線ＬＡＮ（Local Area Network）インターフェース１１４、カメラ１１５を備える。
【００８５】
本実施形態に係るプログラムが記録されたＲＯＭカセット１１１を、情報処理装置１０１のカセットリーダ１１０に装着することによって、本実施形態に係るマーカ端末や撮影端末が実現される。
【００８６】
ここで、ＣＰＵ  １０２は、情報処理装置１０１の各部を制御するとともに、各種の演算処理や判断処理を行う。
【００８７】
情報処理装置１０１に電源が投入されると、ＣＰＵ  １０２は、ＲＯＭ  １０４に記録されたＩＰＬ（Initial Program Loader）を実行し、その処理の過程で、カセットリーダ１１０を介して接続されたＲＯＭカセット１１１に記録されたプログラムに処理を移行する。
【００８８】
情報処理装置１０１で実行されるゲームプログラムやマルチメディア情報再生プログラムは、ＲＯＭカセット１１１によって提供されるのが一般的であるが、ＲＯＭ  １０４内にあらかじめ用意しておくことも可能である。
【００８９】
また、ＲＯＭ  １０４内には、ＢＩＯＳ（Basic Input Output System）と呼ばれるプログラム群が用意されており、入力装置１０５や画像処理部１０６、音声処理部１０８の制御を行うことができる。
【００９０】
ＲＡＭ  １０３は、一時的な情報を記憶するための領域であり、外部メモリ１１２は、不揮発な情報を記憶するための領域である。外部メモリ１１２としては、ハードディスクなど、主として情報処理装置１０１に内蔵されるもののほか、各種のメモリカードなど、情報処理装置１０１に抜挿されるものを利用しても良い。
【００９１】
入力装置１０５は、各種のボタンやキーボード、マウス、ジョイスティック等により実現されるのが一般的であるが、液晶ディスプレイ１０７と一体に形成されたタッチスクリーンを入力装置１０５として利用することも可能である。
【００９２】
画像処理部１０６は、ＣＰＵ  １０２の制御の下、各種の文字情報や画像情報を液晶ディスプレイ１０７の画面に表示させるものであり、一般には、垂直同期割込周期（典型的には、３０分の１秒や６０分の１秒程度である。）ごとに、ＲＡＭ  １０３内に用意されたフレームバッファに記憶された画素情報を液晶ディスプレイ１０７の各画素に反映させる。
【００９３】
なお、画像の表示先は、必ずしも液晶ディスプレイ１０７に限られるものではなく、画像処理部１０６に接続されるテレビジョン装置やＣＲＴ（Cathode Ray Tube）など、各種の表示用のモニターを利用することが可能である。
【００９４】
ユーザからの指示入力は、液晶ディスプレイ１０７に表示されたカーソルを入力装置１０５の移動ボタン操作により移動して、所望のメニュー項目にカーソルを合わせ、決定ボタン操作によって当該メニュー項目を選択するのが一般的であるが、タッチスクリーンを利用する場合にはカーソルは不要である。また、入力装置１０５の各ボタンに割り当てられる機能があらかじめ決まっている場合には、液晶ディスプレイ１０７に対する表示は、必ずしも必要ない。
【００９５】
音声処理部１０８は、ＲＡＭ  １０３やＲＯＭ  １０４、ＲＯＭカセット１１１、外部メモリ１１２に用意された音声データをヘッドホン１０９に出力する。音声データとしては、音声の波形データをディジタル化したＰＣＭ（Pulse Code Modulation）データや、ＰＣＭデータを圧縮してサイズを小さくしたＭＰ３（MPeg audio layer-3）データ等を利用することが可能であるほか、ＭＩＤＩ（Music Instruction Data Interface）データのように、音高、音長、音量、音色の種類を定義するデータを用意し、これにしたがって、あらかじめ用意された音源波形データを適宜選択・変形して再生する手法を採用しても良い。
【００９６】
ＲＴＣ  １１３は、現在の日時を計測するもので、情報処理装置１０１を初めて利用する際に時刻合わせを行うのが一般的であるが、無線ＬＡＮインターフェース１１４を介してＮＴＰ（Network Time Protocol）サーバに接続することで、自動的に時刻合わせを行うような態様を採用することも可能である。
【００９７】
また、アラーム割込を発生させる機能を持つＲＴＣ  １１３もある。設定された時刻になるとアラーム割込が発生して、ＣＰＵ  １０２は、現在実行中のプログラムを一時中断し、あらかじめ設定された割込ハンドラを実行してから、中断したプログラムを再開する。
【００９８】
無線ＬＡＮインターフェース１１４は、自宅や会社、街角に用意された無線ＬＡＮアクセスポイントを介してインターネットに接続したり、近傍に配置された他の情報処理装置１０１と、アドホックに通信路を確立し、１対１で通信を行うこと等が可能である。
【００９９】
カメラ１１５は、情報処理装置１０１によってディジタルカメラの機能を実現するものであり、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）撮像素子などの技術を適用することが可能である。撮影された画像は、一時的にＲＡＭ  １０３に展開された後、外部メモリ１１２等に保存される。
【０１００】
このほか、ビジネス用コンピュータ、携帯電話、ＰＤＡ（Personal Data Assistant）、携帯マーカ端末やエンタテインメント端末、多機能テレビジョン装置、ＤＶＤ（Digital Versatile Disc）プレイヤー、携帯音楽プレイヤーなどを、本発明のマーカ端末や撮影端末が実現される情報処理装置として採用することもできる。
【０１０１】
（拡張現実システム）
図２は、本実施形態に係る拡張現実システムの概要構成を示す模式図である。以下、本図を参照して説明する。
【０１０２】
本図に示すように、拡張現実システム２０１は、マーカ端末２１１と撮影端末２３１とを有する。
【０１０３】
ここで、マーカ端末２１１は、情報処理装置１００においてＲＯＭカセット１１１から読み出したマーカ端末用プログラムをＣＰＵ  １０２が実行して各部を制御することにより実現される。
【０１０４】
ここで、また撮影端末２３１も、情報処理装置１００においてＲＯＭカセット１１１から読み出した撮影端末用プログラムをＣＰＵ  １０２が実行して各部を制御することにより実現される。
【０１０５】
なお、マーカ端末２１１と撮影端末２３１を実現するための情報処理装置１００は、必ずしも同一の構成とする必要はない。たとえば、マーカ端末２１１としては、カメラの塔載されていない携帯用端末を利用し、撮影端末２３１として、ＵＳＢ（Universal Serial Bus）カメラを接続した携帯用パーソナルコンピュータを利用する等、種々の態様を採用することが可能である。
【０１０６】
マーカ端末２１１は、ＡＲ技術におけるマーカ画像を表示する端末である。従来のＡＲ技術では、マーカは、紙などに印刷して壁や地面、テーブル等に配置するのが一般的であるが、本実施形態では、マーカ端末２１１を実現する情報処理装置１００の液晶ディスプレイ１０７に、マーカ画像が表示される。また、本実施形態では、マーカ画像は時間の経過とともに変化する。
【０１０７】
一方、撮影端末２３１は、マーカ端末２１１が含まれる現実世界の様子を情報処理装置１００のカメラ１１５で撮影して、画像内に撮影されたマーカ画像の位置に、仮想的なオブジェクト画像を合成することにより、拡張現実画像を生成し、これをユーザに提示できるようにする。
【０１０８】
本実施形態に係る拡張現実システムでは、図形コードとして、１次元コードもしくは２次元コードを用いることが可能である。
【０１０９】
ここで、１次元コードとは、複数の線分を並べる際にその間隔や太さを変化させることによって情報を符号化するものであり、いわゆるバーコードが相当する。
【０１１０】
また、２次元コードとは、複数のバーコードを、線が並ぶ方向とは垂直の方向に並べたものや、正方形や長方形を複数の桝目に区切り、各桝目に塗る色を黒や白（あるいは無色）に変化させることによって情報を符号化するものであり、データマトリックスと呼ばれることもある。日本では、２次元コードとして、ＱＲコード（登録商標）が普及している。
【０１１１】
以下では、理解を容易にするため、簡単な２次元コードを例として説明する。
【０１１２】
（マーカ端末）
以下では、マーカ端末２１１の構成について概説した後、マーカ端末２１１にて実行される処理についてさらに詳細に説明する。
【０１１３】
図２に示すように、マーカ端末２１１は、符号化部２１２、マーカ生成部２１３、マーカ表示部２１４、繰返制御部２１５を有する。
【０１１４】
また、マーカ端末２１１は、省略可能な要素として通知受付部２１６を有する。なお、通知受付部２１６の機能については、実施例２において説明する。
【０１１５】
まず、符号化部２１２は、繰返制御部２１５により、「１つの図形コードにより表現可能な情報量」が指定されると、それに応じて、撮影端末２３１が合成するオブジェクト画像を生成する際の情報を図形コードの列に符号化する。
【０１１６】
したがって、符号化部２１２は、ＣＰＵ  １０２がＲＡＭ  １０３等と共働することによって実現される。
【０１１７】
本実施形態では、拡張現実で合成されるオブジェクトとしてゲームのキャラクターを採用する。この場合、オブジェクト画像を生成するための情報とは、たとえば以下のようなものが含まれる。
【０１１８】
（１）当該オブジェクトが表すキャラクターの種類パラメータ。キャラクターの基本的な形状が種類パラメータによって決定される。
【０１１９】
（２）当該キャラクターの頭や腕、足、胴体などの姿勢を表す姿勢パラメータ。このパラメータに基づいて、キャラクターの基本的な形状を定めるボーンの位置や向きを変化させると、キャラクターが姿勢を変える。
【０１２０】
（３）当該キャラクターの感情パラメータ。このパラメータに基づいて、キャラクターの目や口の形状を表すボーンを移動させたり、頬部分のサーフェスに貼り付けるテクスチャの色彩を変化させると、キャラクターの表情が変わる。
【０１２１】
（４）当該キャラクターが発するセリフ。オブジェクト画像の一部として、マンガの吹き出しのようにメッセージを合成することができる。
【０１２２】
（５）当該キャラクターの服装パラメータ。このパラメータに基づいて、キャラクターの周縁に配置されるサーフェスや、当該サーフェスに貼り付けられるテクスチャなどが変化する。
【０１２３】
１つの図形コードにより表現可能な情報量とは、たとえば、バーコードの場合には、表現できる数値の桁数に相当し、２次元コードの場合には、セルの個数に相当する。たとえば、４行４列の桝目からなる２次元コードが表現可能な情報量は、４×４＝１６ビットである。
【０１２４】
本実施形態では、２次元コードとして、「４行４列」「５行５列」「６行６列」「７行７列」の４通りの情報量が表現可能なものを採用するが、用途やハードウェアの性能によっては、他の行数、列数を適宜選択したり、２次元コードの種類の数を増減させたような態様を採用することができる。
【０１２５】
図３Ａ、図３Ｂ、図３Ｃ、図３Ｄは、それぞれ、「４行４列」「５行５列」「６行６列」「７行７列」の２次元コードを表すコード画像の様子を示す説明図である。以下、これらの図を参照して説明する。
【０１２６】
これらの図に示すように、コード画像３０１は、複数の桝目３０２からなり、各桝目３０２は、無色（図中では白）または有色（図中では黒色）に塗り分けられている。
【０１２７】
本図では、コード画像３０１全体の領域を示すため、縁に点線を描いているが、実際にはこの点線は使用しない。また、２次元コードでは、桝目３０２同士の境界には線を描かないのが一般的である。
【０１２８】
１つの桝目３０２を塗る色彩をいずれにするかによって、１ビットの情報が表現できる。したがって、図３Ａに示すような４行４列の２次元コードは、４×４＝１６ビットの情報量が、図３Ｂに示すような５行５列の２次元コードは、５×５＝２５ビットの情報量が、図３Ｃに示すような６行６列の２次元コードは、６×６＝３６ビットの情報量が、図３Ｄに示すような７行７列の２次元コードは、７×７＝４９ビットの情報量が、それぞれ表現可能である。
【０１２９】
本実施形態では、コード画像３０１の高さと幅は、いずれも同じ長さを用いる。したがって、１つの桝目３０２の大きさは、図３Ａに示す４行４列の２次元コードが最も大きく、図３Ｄに示す７行７列の２次元コードが最も小さい。
【０１３０】
一般に、コード画像３０１をカメラ１１５で撮影すると、その画像情報は劣化してしまう。カメラ１１５とコード画像３０１の距離や相対的な角度、その間の空気の透明度、塵埃や湯気などが存在しているか否か等によって、劣化の程度は異なる。
【０１３１】
しかしながら、桝目３０２が大きければ大きいほど、劣化は少ないと考えられる。したがって、カメラ１１５によって撮影されたコード画像３０１の画像から、元の情報が正しく復元できる可能性は、図３Ａに示す４行４列のコード画像３０１が最も確率が高く、図３Ｄに示す７行７列のコード画像３０１が最も確率が低いことになる。
【０１３２】
一方、１枚のコード画像３０１で伝送できる情報量は、図３Ａに示す４行４列のコード画像３０１が最も少なく、図３Ｄに示す７行７列のコード画像３０１が最も多い。
【０１３３】
そこで、情報を伝送するためにコード画像３０１を複数枚利用することとする。
【０１３４】
たとえば、４行４列のコード画像３０１を８枚利用する場合を考える。この場合、個々のコード画像３０１が何番目か（０番目〜７番目）を表すのに、３ビットを要する。また、個々のコード画像３０１のパリティビットとして１ビットを採用する。すると、１枚のコード画像３０１に埋め込める残りの情報量は、４×４−３−１＝１２ビットである。したがって、４行４列のコード画像３０１が８枚並んだ列によって撮影端末２３１に伝送される情報全体は、１２×８＝９６ビットということになる。
【０１３５】
これと同じ情報量を伝送するには、他の２次元コードでは、以下のような枚数およびフォーマットを採用する。
（１）５行５列の場合には、５枚。０番目〜４番目を表すために３ビット、パリティに１ビットとすれば、（５×５−３−１）×５＝１０５ビットまで表現できる。
（２）６行６列の場合には、３枚。０番目〜３番目を表すために２ビット、パリティに１ビットとすれば、（６×６−２−１）×３＝９９ビットまで表現できる。
（３）７行７列の場合には、３枚。０番目〜３番目を表すために２ビット、パリティに１ビットとすれば、（７×７−２−１）×３＝１３８ビットまで表現できる。
【０１３６】
なお、５行５列の場合には１０５−９６＝９ビット、６行６列の場合には９９−９６＝３ビット、７行７列の場合には１３８−９６＝４２ビットの余裕がある。そこで、この余裕ビットに誤り訂正符号を埋め込む等の手法を採用することとすれば、情報伝送の信頼性を高めることができる。誤り訂正符号を埋め込む際には、パリティビットを省略して、その分を誤り訂正符号用のビットとして利用することが可能である。
【０１３７】
さて、マーカ生成部２１３は、符号化部２１２により符号化された列に含まれる図形コードのそれぞれを所定の大きさで描画したコード画像と、所定の基準画像と、を合成したマーカ画像を順に生成する。
【０１３８】
したがって、マーカ生成部２１３は、ＣＰＵ  １０２の制御の下、画像処理部１０６等が動作することによって実現され、生成されたマーカ画像はＲＡＭ  １０３内に一時的に保存される。
【０１３９】
図４は、基準画像の様子を示す説明図である。以下、本図を参照して説明する。
【０１４０】
本実施形態では、基準画像４０１として、既存のライブラリを利用した際のＡＲ認識に適した形状を有する基準図形を描画した画像を採用する。本図に示すように、基準画像４０１は、正方形の各辺４０２を一定の太さの黒（有色）で描き、さらに、３つの角の内側に小さい正方形４０３を黒（有色）で描いた形状をしているが、この形状は、適宜変更が可能である。
【０１４１】
図５Ａ、図５Ｂは、マーカ画像の様子を示す説明図である。以下、本図を参照して説明する。
【０１４２】
図５Ａに示すマーカ画像５０１は、基準画像４０１の枠内にコード画像３０１を埋め込んだもの、すなわち、コード画像３０１の周りを囲むように基準画像４０１を描いたものである。
【０１４３】
図５Ａに示すマーカ画像５０１を採用する際には、基準画像４０１とコード画像３０１とを異なる色彩で描くことが望ましい。このように、異なる色彩で描画すると、マーカ画像５０１を撮影した後で、当該撮影結果に適切な色彩フィルタを適用することで、コード画像３０１に相当する部分を容易に除去あるいは減衰させることができるからである。
【０１４４】
一方、図５Ｂに示すマーカ画像５０１は、コード画像３０１と基準画像４０１とを一定の距離を持って隣り合うように配置したものである。
【０１４５】
本態様では、マーカ画像５０１の撮影結果に対して、従来のＡＲ認識を用いるだけで、基準画像４０１の認識が可能である。
【０１４６】
したがって、当該認識結果を利用して、マーカ画像５０１の撮影結果から、元のコード画像３０１を復元することができる。
【０１４７】
また、マーカ画像５０１とコード画像３０１とは、同じ色彩で描いても良い。
【０１４８】
本実施形態では、コード画像３０１の高さや幅、基準画像４０１の高さや幅は一定であるから、マーカ画像５０１の高さや幅は一定となる。
【０１４９】
そして、マーカ表示部２１４は、生成された複数のマーカ画像５０１を、当該生成された順に画面に表示する。
【０１５０】
したがって、マーカ表示部２１４は、ＣＰＵ  １０２の制御の下、ＲＡＭ  １０３、画像処理部１０６、液晶ディスプレイ１０７が共働することによって実現される。
【０１５１】
１枚のマーカ画像５０１を画面に表示する時間長は、撮影端末２３１における認識時間に応じて実験等により適切な値を求め、適宜設定することが望ましいが、数フレーム〜十数フレームの時間長（すなわち、垂直同期周期の数倍から十数倍。）とするのが典型的である。
【０１５２】
さて、繰返制御部２１５は、あらかじめ定めた複数の情報量のそれぞれについて、符号化部２１２に当該情報量を指定して、マーカ表示部２１４に複数のマーカ画像を順に表示させる処理を繰り返す。したがって、繰返制御部２１５は、ＣＰＵ  １０２によって実現される。
【０１５３】
本実施例では、繰返制御部２１５は、符号化部２１２に対して「４行４列」「５行５列」「６行６列」「７行７列」の４通りの情報量を指定することによって、マーカ表示部２１４は、マーカ画像５０１の列を４種類、それぞれ順次表示することになる。
【０１５４】
通知受付部２１６の機能については、後述する実施例において説明する。
【０１５５】
さて、図６は、マーカ端末２１１を実現する情報処理装置１０１において実行されるマーカ表示処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１５６】
本処理が開始されると、ＣＰＵ  １０２は、各種の初期化を行う（ステップＳ６０１）。この初期化には、撮影端末２３１に伝送すべきキャラクターのオブジェクトのパラメータを、外部メモリ１１２からＲＡＭ  １０３内に読み出す、等の設定が含まれる。
【０１５７】
ついで、ＣＰＵ  １０１は、以下の処理を繰り返す（ステップＳ６０２〜）。
【０１５８】
まず、ＣＰＵ  １０２は、上記４種類の情報量のうちいずれかの情報量を選択する（ステップＳ６０３）。選択の手法として最も単純なものは、４種類の情報量をラウンドロビンで順に選択する、というものである。その他の手法については、後述する実施例において説明する。
【０１５９】
ステップＳ６０３における情報量の選択は、繰返制御部２１５による符号化部２１２に対する情報量の指定に相当する。
【０１６０】
ついで、ＣＰＵ  １０１は、ステップＳ６０３で選択された情報量の図形コードで、ＲＡＭ  １０３内に格納されたパラメータ、すなわち、撮影端末２３１に伝送すべき情報を符号化して、図形コードの列を得る（ステップＳ６０４）。
【０１６１】
上記のように、本実施形態では、伝送すべき情報は９６ビットであり、表現可能な情報量が「４行４列」に相当する場合は、８枚の図形コードからなる列が、「５行５列」の場合は５枚の列が、「６行６列」と「７行７列」の場合は３枚の列が、それぞれ生成されることになる。
【０１６２】
ついで、図形コードの列に含まれる図形コードのそれぞれについて、順に、以下の処理を繰り返す（ステップＳ６０５〜）。
【０１６３】
まず、ＣＰＵ  １０２と画像処理部１０６は、当該図形コードを表すコード画像３０１をＲＡＭ  １０３内に生成する（ステップＳ６０６）。
【０１６４】
ついで、ＣＰＵ  １０２と画像処理部１０６は、生成されたコード画像３０１と、基準画像４０１と、を合成して、マーカ画像５０１を生成する（ステップＳ６０７）。
【０１６５】
この後、垂直同期割込が発生するまで待機する（ステップＳ６０８）。この待機中には、他の処理をコルーチン的に適宜実行することが可能である。
【０１６６】
垂直同期割込が発生したら、生成されたマーカ画像５０１をＲＡＭ  １０３から転送して、液晶ディスプレイ１０７の画面に表示する（ステップＳ６０９）。
【０１６７】
この後、ＣＰＵ  １０２は、所定の回数（N回）の垂直同期割込が生じるまで待機する（ステップＳ６１０）。この処理によって、垂直同期割込周期が1/60秒であるとすると、１枚のマーカ画像５０１は、N/60秒だけ表示されることになる。
【０１６８】
この表示時間は、撮影端末２３１において、１枚のマーカ画像５０１を認識してコード画像３０１を復元し、当該コード画像３０１により表現される情報を得るのに要する時間以上の長さであることが望ましい。実験によって時間長を求めることによってNを定数として定めるのが最も典型的である。その他の態様については、後述する。
【０１６９】
なお、ステップＳ６１０における待機中も、ステップＳ６０８の待機中と同様に、他の処理をコルーチン的に実行することが可能である。
【０１７０】
このようにして、１枚のマーカ画像５０１を液晶ディスプレイ１０７の所定時間（N/60秒）画面に表示したら、列に含まれる図形コードのすべてについて処理がされるまで、ステップＳ６０５以降の処理を繰り返す（ステップＳ６１１）。
【０１７１】
得られた図形コードの列に含まれる図形コードのすべてについて繰り返しがなされたら、ＣＰＵ  １０２は、必要があれば、ＲＡＭ  １０３撮影端末２３１に伝送すべきパラメータを更新して（ステップＳ６１２）、ステップＳ６０２以降の処理を繰り返す（ステップＳ６１３）。
【０１７２】
このような処理を繰り返すことによって、マーカ端末２１１は、画面に、最新のパラメータ情報を表現する種々の行数桁数の図形コードを、順次表示することになる。
【０１７３】
一方、撮影端末２３１は、当該マーカ端末２１１の液晶ディスプレイ１０７の画面が視界に入るようなアングルで、現実世界を動画撮影する。以下、撮影端末２３１の構成ならびに処理について詳細に説明する。
【０１７４】
（撮影端末）
図２に示すように、本実施形態に係る撮影端末２３１は、撮影部２３２、マーカ認識部２３３、復号部２３４、画像生成部２３５を有する。
【０１７５】
また、本図に示すように、撮影端末２３１は、省略可能な要素として、距離推定部２３６や通知報告部２３７を備える。なお、距離推定部２３６と通知報告部２３７の機能については、後述する実施例において説明する。
【０１７６】
まず、撮影部２３２は、現実世界を順次撮影する。
【０１７７】
一般には、撮影部２３２は、動画撮影を行い、現実世界を撮影する。この際に、ユーザは、マーカ端末２１１が撮影範囲に入るように、撮影端末２３１の位置や向きを調整する。したがって、撮影された画像には、マーカ端末２１１が液晶ディスプレイ１０７の画面に表示したマーカ画像５０１も含まれることになる。
【０１７８】
したがって、撮影部２３２は、ＣＰＵ  １０２の制御の下でカメラ１１５によって実現され、撮影結果である撮影画像は、一時的にＲＡＭ  １０３に記憶される。
【０１７９】
図７Ａ、図７Ｂは、撮影部によって、あるマーカ画像５０１を液晶ディスプレイ１０７の画面に表示しているマーカ端末２１１を含むように、撮影された現実世界の様子を表す画像の説明図である。以下、本図を参照して説明する。
【０１８０】
本図に示す撮影画像７０１には、情報処理装置１０１によって実現されるマーカ端末２１１が撮影されているほか、マーカ端末２１１が設置されているテーブル７２１、手摺り７２２、遠くには山７２３などが撮影されている。
【０１８１】
本図に示すように撮影画像７０１には、液晶ディスプレイ１０７に表示されたマーカ画像５０１が、透視投影されて配置されることになる。なお、ここでいう「透視投影」とは、カメラ１１５のレンズによる屈折を考慮した投影を意味するものであり、たとえばピントが合わずに画像がぼけてしまう、等の現象が生じうる。
【０１８２】
ただし、本実施形態のように、マーカ画像５０１のほかに現実世界の様子が撮影されるような状況では、「透視投影」を、一点透視による透視投影や、平行投影とみなして、ＡＲ画像認識を進めることも可能である。
【０１８３】
図７Ａに示すマーカ画像５０１では、コード画像３０１と基準画像４０１が異なる色彩で描かれており、図５Ａに示すマーカ画像５０１を、アフィン変換したような形状となっている。また、コード画像３０１は、基準画像４０１に囲まれている。
【０１８４】
図７Ｂに示すマーカ画像５０１では、コード画像３０１と基準画像４０１が同じ色彩で描かれており、図５Ｂに示すマーカ画像５０１を、アフィン変換したような形状となっている。コード画像３０１は、基準画像４０１に隣り合わせに配置されている。
【０１８５】
さて、マーカ認識部２３３は、このようにして撮影された画像７０１からマーカ端末２１１の画面に表示されたマーカ画像５０１を認識する。
【０１８６】
マーカ画像の認識には、通常のＡＲ認識技術を適用することが可能であるが、まず基準画像を認識し、その後にコード画像の認識を行うような手法を採用することも可能である。
【０１８７】
したがって、マーカ認識部２３３は、画像７０１が一時的に記憶されるＲＡＭ  １０３とＣＰＵ  １０２が共働することによって実現される。
【０１８８】
図７Ｂに示す撮影画像７０１では、基準画像４０１がコード画像３０１とは独立した図形として液晶ディスプレイ１０７に表示されている。したがって、各種のＡＲ認識ライブラリを利用することによって、撮影画像７０１から、基準画像４０１が投影されている領域を認識するとともに、元の基準画像４０１と、撮影画像７０１に含まれる基準画像４０１と、の間の透視変換ならびにその逆変換が計算できる。
【０１８９】
このように、基準画像４０１とコード画像３０１とを近接する位置に配置することで、既存のライブラリを利用して基準図形のみをＡＲ認識した後に、図形コードを認識することができるようになる。
【０１９０】
一方、図７Ａに示す撮影画像７０１では、基準画像４０１の内部にコード画像３０１が埋め込まれている。これは、基準画像４０１が枠状の形状を有する場合に、その内部にコード画像３０１を配置することで、コンパクトな形状のマーカ画像５０１を生成するためである。しかしながら、このままでは、既存のＡＲ認識ライブラリを利用できない場合がある。
【０１９１】
たとえば、ＡＲ認識ライブラリがモノクロームの画像のみを認識する場合で、認識可能なマーカ画像５０１のパターンの数に上限がある場合等である。ちなみに、本実施形態では、９６ビットの情報を伝送するので、単純に全マーカ画像５０１をパターンとして登録しようとすると、各行数・列数ごとに少なくとも296種類のパターンを、ＡＲ認識ライブラリに登録しなければならないが、これは事実上不可能である。
【０１９２】
そのような場合には、撮影画像７０１に対して、色彩フィルタを適用する。
【０１９３】
たとえば、コード画像３０１が赤色で描かれており、基準画像４０１が黒色で描かれている場合を考える。この場合の最も単純な色彩フィルタは、撮影画像７０１から赤色成分を除去するものである。すなわち、撮影画像７０１の各画素のRGB成分が(r,g,b)である場合に、当該画素を明度(g+b)/2のモノクローム画素に変換するような色彩フィルタである。このような色彩フィルタは、コード画像３０１を描く色彩に応じて、適宜調整が可能である。
【０１９４】
図８は、図７Ａに示す撮影画像７０１に色彩フィルタを施した結果を表す説明図である。以下、本図を参照して説明する。
【０１９５】
本図に示すように、撮影画像７０１に色彩フィルタを施した結果画像７０２では、コード画像３０１が消えてしまっており、基準画像４０１が独立して配置されているかのように見える。
【０１９６】
したがって、図７Ｂに示す撮影画像をＡＲ認識する場合と同様に、図７Ａに示す撮影画像を認識する際にも、各種のＡＲ認識ライブラリを利用することができる。
【０１９７】
なお一般には、撮影画像７０１に色彩フィルタを適用したとしても、コード画像３０１が完全に消去されるとは限らない。カメラ１１５による撮影が行われた条件によって、元のコード画像３０１がある色彩で描画されていたとしても、撮影画像７０１におけるコード画像３０１の色彩は、これとは微妙に異なるのが一般的だからである。
【０１９８】
しかしながら、色彩フィルタを施すことによって、コード画像３０１の色合いを薄くすることができる。
【０１９９】
したがって、既存のＡＲ認識ライブラリを利用した場合であっても、撮影画像７０１から、基準画像４０１が投影されている領域が認識できる可能性は、色彩フィルタを施すことで飛躍的に高まることになる。
【０２００】
このようにして、元の基準画像４０１から撮影画像７０１に含まれる基準画像４０１へ透視変換（あるいは、これを近似するアフィン変換等。）、ならびに、その逆変換が計算される。これらの変換は、変換行列によって表現され、当該変換行列の各要素の値は、ＲＡＭ  １０３内に一時的に保存される。
【０２０１】
さて、復号部２３４は、上記のようにマーカ画像５０１が認識されると、マーカ画像５０１に含まれるコード画像３０１を取得して、当該コード画像３０１が「４行４列」「５行５列」「６行６列」「７行７列」のいずれの図形コードを表すものであるか、何枚目の図形コードであるか、を復号する。
【０２０２】
したがって、ＣＰＵ  １０２が、一時的に各種の画像や変換行列が記憶されるＲＡＭ  １０３と共働ことによって実現される。
【０２０３】
具体的には、まず、元の撮影画像７０１において、コード画像３０１が描画されている領域を求める。既に基準画像４０１がＡＲ認識されており、基準画像４０１には向きの情報が付与されている。したがって、当該基準画像４０１の位置や向きを基準にすれば、コード画像３０１が配置されている領域は容易に得られる。
【０２０４】
図９は、元の撮影画像７０１において描画されているコード画像３０１を示す説明図である。一般に、撮影画像７０１におけるコード画像３０１は、マーカ端末２１１と撮影端末２３１との間の塵埃や乱反射、湯煙などの影響のほか、カメラ１１５の画素数の影響で、その画質が劣化している。
【０２０５】
次に、当該領域に対して、上記のように得られた逆変換を施す。図１０は、撮影されたコード画像３０１に対して逆変換を施した結果を表す説明図である。以下、本図を参照して説明する。
【０２０６】
本図のように、逆変換を施すことで、復元画像７５１が得られる。復元画像７５１は、元のコード画像３０１に、各種のノイズが付加されたような画像である。
【０２０７】
そして、得られた復元画像７５１の復号を試みる。２次元の画像から元の符号を復号する処理は、一般的な２次元コードの復号技術を適用することができる。すなわち、当該復元画像７５１が「４行４列」「５行５列」「６行６列」「７行７列」のいずれかの図形コードであると仮定してパターンマッチを行って、最も適合するものを復号結果とする。なお、撮影状況によっては、復元画像７５１からの復号に失敗することもありうる。
【０２０８】
このようにして、復元画像７５１から、「４行４列」「５行５列」「６行６列」「７行７列」のいずれの図形コードを表すものであるか、何枚目の図形コードであるか、含まれるビット列の具体的な値は何か、が得られたら、行数・列数ごとに、得られた図形コードの順序に基づいて、ビット列を並べることによって、伝送された情報全体を復号することができる。
【０２０９】
上記のように、ビット列にはパリティビットや誤り訂正符号を含めるのが典型的である。これらの情報を用いれば、情報の伝送ができるだけ正しく行われるようにすることができる。
【０２１０】
さて、このようにして、マーカ端末２１１から伝送されたオブジェクトの形状等を表すためのパラメータ情報が復号できたら、画像生成部２３５は、復号された情報に対応付けられるオブジェクト画像を生成し、撮影された画像を背景として当該オブジェクト画像を合成した拡張現実画像を生成する。
【０２１１】
したがって、ＣＰＵ  １０２は、ＲＡＭ  １０３や画像処理部１０６と共働して、画像生成部２３５として機能する。なお、典型的には、ここで生成された拡張現実画像は、撮影端末２３１を実現する情報処理装置１０１の液晶ディスプレイ１０７に表示されるが、外部メモリ１１２等に適宜保存するのみとしても良い。
【０２１２】
図１１は、拡張現実画像の様子を示す説明図である。以下、本図を参照して説明する。
【０２１３】
本図に示すように、拡張現実画像８０１は、撮影画像７０１を背景として、その中のマーカ画像５０１の位置や向きに合わせてオブジェクト画像８５１を生成して描画したものである。
【０２１４】
なお、本図は、図７Ａにおける撮影画像７０１にオブジェクト画像８５１を合成したものであるが、図７Ｂにおける撮影画像７０１を元にした拡張現実画像８０１も、同様の手法により作られる。
【０２１５】
一般的なＡＲ技術では、１つのマーカに対応付けられるオブジェクトは１つであり、マーカが撮影された向きや大きさに応じてオブジェクトの向きや大きさを変更するのみであるが、本実施形態では、伝送されるパラメータ情報に基づいてオブジェクト画像８５１を生成する。
【０２１６】
したがって、拡張現実画像８０１に含まれるオブジェクトそのものの形状や色彩、模様等を変化させることが可能となる。たとえば、オブジェクトにゲームのキャラクターを採用した場合には、キャラクターの姿勢や表情、服装等を変化させることが可能となる。
【０２１７】
図１２は、撮影端末２３１にて実行される撮影処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０２１８】
本処理が開始されると、ＣＰＵ  １０２は、各種の初期化を行う（ステップＳ９０１）。この初期化では、たとえば、ＲＯＭカセット１１１からキャラクターのオブジェクトを構成するボーンやスキン、テクスチャなどの情報をＲＡＭ  １０３に読み出す等の処理が行われる。
【０２１９】
このほか、マーカ端末２１１から伝送される情報は、上記の４種類の行数・列数の図形コード列内の各図形コードに分割されるため、今までに受け付けた図形コードから取得された情報を一時的に記憶する領域が、ＲＡＭ  １０３内に確保される。
【０２２０】
そして、ＣＰＵ  １０２は、以下の処理を繰り返す（ステップＳ９０２〜）。
【０２２１】
まず、ＣＰＵ  １０２は、カメラ１１５を制御して撮影を行い、撮影結果である撮影画像７０１をＲＡＭ  １０３内に一時的に保存する（ステップＳ９０３）。
【０２２２】
ついで、ＣＰＵ  １０２は、撮影画像７０１から、マーカ画像５０１を認識するため、撮影画像７０１に色彩フィルタを適用して、結果画像７０２をＲＡＭ  １０３内に得る（ステップＳ９０４）。なお、この処理は、基準画像４０１の内部にコード画像３０１が配置されない態様では不要である。
【０２２３】
そして、得られた結果に対してＡＲ認識を試行して、元の基準画像４０１に対する透視変換行列の計算を試みる（ステップＳ９０５）。
【０２２４】
ここで、ＡＲ認識が成功すれば（ステップＳ９０５；成功）、元の基準画像４０１から撮影画像７０１内の基準画像４０１への透視変換行列が得られることになるから、当該行列の逆行列を計算することにより、逆変換を取得する（ステップＳ９０６）。
【０２２５】
そして、ＣＰＵ  １０２は、撮影画像７０１内におけるコード画像３０１の描画領域を抽出して（ステップＳ９０７）、その結果をＲＡＭ  １０３内に得る。
【０２２６】
そして、得られた描画領域の画像に対して、ステップＳ９０５において得られた逆変換を施して、復元画像７５１を得る（ステップＳ９０８）。
【０２２７】
さらに、当該復元画像７５１に対して２次元コード認識を試行する（ステップＳ９０９）。２次元コード認識が成功すれば（ステップＳ９０９；成功）、以下の情報が取得され、ＲＡＭ  １０３内に保存される。
（１）当該復元画像７５１による図形コードが何行何列かの情報。すなわち、当該復元画像７５１によって表現可能な情報量。
（２）当該復元画像７５１は、伝送された図形コード列のうち、何番目の図形コードか、を表す順番の情報。
（３）当該復元画像７５１により表現されるビット列。
【０２２８】
本実施形態では、２次元コード認識は、４行４列から７行７列までのそれぞれのパターンと、復元画像７５１との適合度に基づいて行われる。さらに、復元を試行した結果のビット列におけるビットパターンとパリティビットとの関係から、認識が失敗したか否かを判定することも可能である。
【０２２９】
ついで、ＲＡＭ  １０３内に保存された情報から、現在の行数・列数の図形コードについて、列内の順序の通りにすべてのビット列が取得されたか否かを調べる（ステップＳ９１０）。
【０２３０】
すべてのビット列が取得された場合（ステップＳ９１０；Ｙｅｓ）、当該ビット列をマーカ端末２１１から伝送されたパラメータ情報としてＲＡＭ  １０３内のオブジェクトに関する設定情報を更新して（ステップＳ９１１）、ステップＳ９１２に進む。
【０２３１】
一方、ビット列全体がまだ得られていない場合（ステップＳ９１０；Ｎｏ）や、２次元コード認識に失敗した場合（ステップＳ９０９；失敗）は、パラメータ情報の更新はおこなわず、そのままステップＳ９１２に進む。
【０２３２】
そして、ＲＡＭ  １０３内のオブジェクトに関する設定情報と、ステップＳ９０４におけるＡＲ認識によって得られる透視変換行列と、から、オブジェクト画像８５１を生成する（ステップＳ９１２）。
【０２３３】
キャラクターのオブジェクトの設定情報に基づいて、キャラクターの各ボーンの向きを決め、ボーンとともに連動する制御点の座標からスキンの形状を定め、当該スキンにテクスチャを貼り込み、必要に応じてセリフなどの画像を付加することによって、オブジェクト画像８５１が生成される。この際に、透視変換行列により、この際のオブジェクトに対する視点の相対的な位置や視線の相対的な方向が定められる。
【０２３４】
そして、ＣＰＵ  １０２は、画像処理部１０６を制御して、ＲＡＭ  １０３内に保存された撮影画像７０１に対し、これを背景にしてオブジェクト画像８５１を合成して、拡張現実画像８０１を生成して（ステップＳ９１３）、ステップＳ９１４に進む。
【０２３５】
一方、ＡＲ認識に失敗した場合（ステップＳ９０５；Ｎｏ）、撮影画像７０１をそのまま拡張現実画像８０１として取り扱うこととして（ステップＳ９１６）、ステップＳ９１４に進む。
【０２３６】
この後、ＣＰＵ  １０２は、垂直同期割込が生じるまで待機してから（ステップＳ９１４）、画像処理部１０６を制御して拡張現実画像８０１を液晶ディスプレイ１０７に転送させ、拡張現実画像８０１をモニター画面に表示し（ステップＳ９１５）、ステップＳ９１７に進む。
【０２３７】
なお、ステップＳ９１４においては、ＣＰＵ  １０２は、コルーチン的に他の処理を実行することが可能である。
【０２３８】
このため、ＡＲ認識に成功した場合には、マーカ端末２１１から伝送された最新の情報に基づいて、その形状や色彩、模様、表情などを変化させるキャラクターのオブジェクトが現実世界の様子と合成されて描画された拡張現実画像８０１が、モニター画面に表示され、ＡＲ認識に失敗した場合には、オブジェクト画像８５１は合成されないので、カメラ１１５によって撮影された現実世界の様子を表す撮影画像７０１がそのまま液晶ディスプレイ１０７のモニター画面に表示されることになる。
【０２３９】
これらのステップＳ９０２からの処理を繰り返すことによって（ステップＳ９１７）、液晶ディスプレイ１０７のモニター画面には、マーカ画像５０１の認識に成功している間、撮影画像７０１にオブジェクト画像８５１を合成した画像が動画表示され、マーカ画像５０１の認識に失敗している間は、撮影画像７０１がそのまま動画表示されることになる。
【０２４０】
このように、本実施形態によれば、拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させることができる。
【０２４１】
たとえばオブジェクト画像としてゲームのキャラクターを採用した場合に、時間の経過等とともにキャラクターの表情や姿勢を変化させて、身振りや手振りをさせたり、踊らせたり等、拡張現実キャラクターを動画表示することが可能となる。
【実施例２】
【０２４２】
上記実施形態では、表現可能な情報量が互いに異なる複数の種類の図形コード列を用いて、マーカ端末２１１から撮影端末２３１へ情報を転送していた。
【０２４３】
本実施形態は、各行数・列数の図形コードのそれぞれについて、情報転送の成功の頻度を測定し、その結果に基づいて、マーカ端末２１１と撮影端末２３１との間の「距離」を推定するものである。
【０２４４】
すなわち、撮影端末２３１は、距離推定部２３６をさらに備える。ここで、距離推定部２３６は、情報が復号できた図形コードの列のうち、当該図形コードが表現可能な情報量が最大のものを選択し、当該最大の情報量から、マーカ端末２１１と、撮影端末２３１と、の間の距離を推定する。
【０２４５】
ここで推定される距離は、座標に基づく距離ではなく、視界の良好性に基づく距離である。すなわち、観察対象がはっきり明瞭に見える場合には近く、ぼんやり不明瞭に見える場合には遠い、と判定されるような距離を採用する。
【０２４６】
たとえば、同じ大きさのマーカ画像が撮影されたとしても、認識できた図形コードが「４行４列」のものだけである場合と、「７行７列」のものまで認識できた場合とでは、前者は後者に比べて「遠い」ことになる。
【０２４７】
たとえば、撮影時の明暗や塵埃、煙、乱反射などの影響によって、認識できた図形コードの表現可能な情報量が変化し、「距離」も変化することになる。
【０２４８】
具体的には、ステップＳ９０１の初期化の際に、ＲＡＭ  １０３内に、変数vを確保し、その値を０に設定する。
【０２４９】
そして、上記フローチャートのステップＳ９１０において、c行・c列の図形コード列について、すべてのビット列が取得された場合（ステップＳ９１０；Ｙｅｓ）、v≦cであれば、vの値をcに設定し、c＜vであれば、vの値に０以上１未満の定数（典型的には、０.８〜０.９程度の定数。）を乗じる、あるいは、vの値を所定の定数（典型的には０.５〜１程度の定数。）だけ減らす。
【０２５０】
このような処理を行うと、変数vによって、「マーカ端末２１１と撮影端末２３１との間は、v行v列の図形コードであればぎりぎり見える距離である」ことがわかる。
【０２５１】
本実施形態においては、このようにして得られた「距離」によっても、オブジェクト画像８５１に変更を加えることが望ましい。
【０２５２】
たとえば、「距離」が長ければ、すなわち、vが小さければ小さいほど、オブジェクト画像８５１を不明瞭にし、vが大きければ大きいほど、オブジェクト画像８５１を明瞭にするように、オブジェクト画像生成時のシャープネスを変更したり、ぼかしフィルタを適用したりすることができる。
【０２５３】
このような処理を行うと、撮影画像７０１の質感（距離感）とオブジェクト画像８５１の質感（距離感）とを揃えることができるので、両者を合成して拡張現実画像８０１を得る際にも、より「リアル」な画像が得られることになる。
【０２５４】
このほかの手法として、「距離」を表す画像をオブジェクト画像８５１に新たに付加する手法もありうる。
【０２５５】
図１３は、拡張現実画像の様子を示す説明図である。以下、本図を参照して説明する。
【０２５６】
本図に示す拡張現実画像８０１においては、オブジェクト画像８５１に、半透明画像８５２が付加されている。この半透明画像８５２によって、たとえば、温泉において湯煙にキャラクターが隠れており、キャラクターがはっきりとは見えないというような状況を表す演出をオブジェクト画像８５１に与えることができる。
【０２５７】
また、本図におけるオブジェクト画像８５１においては、「距離」に応じてキャラクターの顔の表情や姿勢も変化させている。
【０２５８】
このほか、「距離」が長ければ、すなわち、vが小さければ小さいほど、オブジェクト画像８５１を小さくし、vが大きければ大きいほど、オブジェクト画像８５１を大きくする、という手法を採用しても良い。
【０２５９】
従来のＡＲ技術に置いては、オブジェクト画像８５１の大きさは、撮影画像７０１内におけるマーカ画像５０１の大きさに連動して決まることとなっているが、この手法では、マーカ画像５０１の大きさだけではなく、マーカ画像５０１の明瞭度によって、オブジェクト画像８５１の大きさを変更することができるようになる。
【実施例３】
【０２６０】
上記実施形態では、どの図形コード列が認識でき、どの図形コード列が認識できなかったか、の情報は、撮影端末２３１のみで利用されていたが、本実施形態では、この情報をマーカ端末２１１に返送する。
【０２６１】
すなわち、撮影端末２３１の通知報告部２３７は、ステップＳ９１０において、c行・c列の図形コード列について、すべてのビット列が取得された場合（ステップＳ９１０；Ｙｅｓ）、その旨を、マーカ端末２１１に通知する。
【０２６２】
すると、マーカ端末２１１の通知受付部２１６は、この通知を受け付ける。
【０２６３】
通知のやりとりは、たとえば、撮影端末２３１として、情報処理装置１０１においてヘッドホン１０９のかわりにスピーカやブザー（図示せず。）を接続したものを利用することとし、伝送された情報が復号できたことがステップＳ９１０において判明したら、その旨を表す通知音を発するものとする。
【０２６４】
一方、マーカ端末２１１として、情報処理装置１０１にマイク（図示せず。）を接続したものを利用することとして、マイクにより、上記の通知音を監視する。
【０２６５】
マーカ端末２１１においては、上述のフローチャートのステップＳ６１２とステップＳ６１３の間で、一定時間の間だけ、マイクからの入力を監視すれば良い。この段階で上記の通知音が認識できた場合には、「撮影端末２３１に対しては、直前まで利用していた図形コード列の行数・列数であれば、情報が伝送できる」ことがわかる。
【０２６６】
そこで、本実施形態では、「情報が伝送できると認定された行数・列数」がステップＳ６０３で選択される確率を上げるのである。このような処理を行うことで、繰返制御部２１５は、マーカ端末２１１からの通知に基づいて、複数の情報量のそれぞれを符号化部２１２に指定する頻度を変化させることになる。
【０２６７】
たとえば、以下のような手法により、頻度を変更することが可能である。すなわち、ステップＳ６０１において、ＲＡＭ  １０３内に配列aを用意し、それぞれの要素の値を、適当な正の定数に設定する。a[0]は、「４行４列」の頻度、a[1]は、「５行５列」の頻度、a[2]は、「６行６列」の頻度、a[3]は、「７行７列」の頻度に、それぞれ相当する。
【０２６８】
そして、ステップＳ６１２とステップＳ６１３の間で、c行c列の図形コード列による情報伝送が成功したことが判明したら、配列の全要素に０以上１未満の正定数（典型的には０.８〜０.９５程度。）を乗じ、さらに、要素a[c-4]に１を加算する。この後、全要素に所定の定数（典型的には、０.５〜１.０程度。）を加算することとしても良い。
【０２６９】
一方、c行c列の図形コード列による情報伝送が失敗したことが判明したら、要素a[c-4]に０以上１未満の正定数（典型的には０.８〜０.９５程度。）を乗じる。
【０２７０】
そして、ステップＳ６０３において、行数・列数を選択する際には、a[0]〜a[3]を確率密度分布（ヒストグラム）と考え、乱数を発生させて、「４行４列」「５行５列」「６行６列」「７行７列」のいずれかを選択するのである。
【０２７１】
本実施形態では、c行c列の図形コード列による情報伝送が成功すると、以降にc行c列が選択される確率が高くなる。また、それ以外の行数・列数がまったく選択されない、というわけではないので、環境が変化した場合にも、伝送に適した情報量を検索することが可能となる。このため、次第に、できるだけ多い行数・列数の図形コードが選択されるようになる。
【０２７２】
なお、上記の態様に限らず、c行c列の図形コード列による情報伝送が成功したことがc行c列が選択される可能性を高くするような手法であれば、選択の頻度を修正する手法として採用することができる。
【０２７３】
また、音声による通知ではなく、たとえば、無線ＬＡＮインターフェース１１４を用いて、マーカ端末２１１と撮影端末２３１とをアドホック通信で接続し、無線通信を用いて通知を行うような態様を採用しても良い。
【０２７４】
本実施形態によれば、撮影端末２３１からマーカ端末２１１へ認識の可否を知らせることで、できるだけ高速な情報伝送が可能となる。
【産業上の利用可能性】
【０２７５】
以上説明したように、本発明によれば、拡張現実画像において、現実世界の様子を表す画像に合成されるオブジェクト画像を適切に変化させるのに好適な拡張現実システム、マーカ端末、撮影端末、拡張現実方法、ならびに、これらをコンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記録媒体を提供することができる。
【符号の説明】
【０２７６】
１０１  情報処理装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  ＲＯＭ
１０５  入力装置
１０６  画像処理部
１０７  液晶ディスプレイ
１０８  音声処理部
１０９  ヘッドホン
１１０  カセットリーダ
１１１  ＲＯＭカセット
１１２  外部メモリ
１１３  ＲＴＣ
１１４  無線ＬＡＮインターフェース
１１５  カメラ
２０１  拡張現実システム
２１１  マーカ端末
２１２  符号化部
２１３  マーカ生成部
２１４  マーカ表示部
２１５  繰返制御部
２１６  通知受付部
２３１  撮影端末
２３２  撮影部
２３３  マーカ認識部
２３４  復号部
２３５  画像生成部
２３６  距離推定部
２３７  通知報告部
３０１  コード画像
３０２  桝目
４０１  基準画像
４０２  正方形の辺
４０３  小さい正方形
５０１  マーカ画像
７０１  撮影画像
７０２  結果画像
７５１  復元画像
８０１  拡張現実画像
８５１  オブジェクト画像
８５２  半透明画像
【図１】
2011204047.tif 000003
【図２】
2011204047.tif 000004
【図３Ａ】
2011204047.tif 000005
【図３Ｂ】
2011204047.tif 000006
【図３Ｃ】
2011204047.tif 000007
【図３Ｄ】
2011204047.tif 000008
【図４】
2011204047.tif 000009
【図５Ａ】
2011204047.tif 000010
【図５Ｂ】
2011204047.tif 000011
【図６】
2011204047.tif 000012
【図７Ａ】
2011204047.tif 000013
【図７Ｂ】
2011204047.tif 000014
【図８】
2011204047.tif 000015
【図９】
2011204047.tif 000016
【図１０】
2011204047.tif 000017
【図１１】
2011204047.tif 000018
【図１２】
2011204047.tif 000019
【図１３】
2011204047.tif 000020