(57)【要約】【課題】ＡＲ（拡張現実）、特にＭＲ表示を行なう表示装置であって、仮想オブジェクトを適切に表示することのできる表示装置を提供する。【解決手段】表示装置は映像画像に仮想オブジェクトを重ねて表示することで拡張現実を表示することが可能であって、撮影画像からマーカー画像を認識すると（Ｓ１０３でＹＥＳ）、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、そのマーカー画像に関連付けられた仮想オブジェクトと表示位置とを特定する（Ｓ１０５）。同一の仮想オブジェクトに関連付けられた複数のマーカー画像が撮影画像から認識された場合（Ｓ１０７でＹＥＳ）、複数のマーカー画像のうちの１つのマーカー画像を選択して（Ｓ１１１）、そのマーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示するステップ（Ｓ１１３）。【選択図】図２９
2014203382.tif 000002
【特許請求の範囲】
【請求項１】
映像画像に仮想オブジェクトを重ねて表示することで拡張現実を表示可能な表示装置であって、
撮影画像からマーカー画像を認識するための認識手段と、
マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、前記撮影画像から認識された前記マーカー画像に関連付けられた仮想オブジェクトと、前記仮想オブジェクトの表示位置とを特定するための特定手段と、
前記マーカー画像に関連付けられた前記仮想オブジェクトを、前記撮影画像の、前記表示情報で規定された前記表示位置に表示するための表示手段とを備え、
前記表示手段は、同一の仮想オブジェクトに関連付けられた複数のマーカー画像が前記撮影画像から認識された場合に、前記複数のマーカー画像のうちの１つのマーカー画像を選択するための選択手段を含み、
前記表示手段は、前記複数のマーカー画像のうちの前記選択手段によって選択された前記１つのマーカー画像の表示情報に基づいて、前記１つのマーカー画像に関連付けられた仮想オブジェクトを前記１つのマーカー画像に関連付けられた表示位置に表示する、表示装置。
【請求項２】
前記表示情報に規定される前記仮想オブジェクトの表示位置は、前記マーカー画像の位置に対して相対的に規定されており、
前記選択手段は、前記複数のマーカー画像それぞれの関連付けられた前記仮想オブジェクトの表示位置に基づいて、前記複数のマーカー画像のうちから前記１つのマーカー画像を選択する、請求項１に記載の表示装置。
【請求項３】
前記選択手段は、前記複数のマーカー画像のうち、マーカー画像の位置から関連付けられた仮想オブジェクトの表示位置までの距離が最小であるマーカー画像を選択する、請求項２に記載の表示装置。
【請求項４】
前記表示情報は、前記複数のマーカー画像の表示優先度を含み、
前記選択手段は、前記複数のマーカー画像のうちの表示優先度の最も高いマーカー画像を選択する、請求項１に記載の表示装置。
【請求項５】
撮影画像に仮想オブジェクトを重ねて表示することで拡張現実を表示する方法であって、
撮影画像からマーカー画像を認識するステップと、
認識された前記マーカー画像について、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、関連付けられた仮想オブジェクトとその表示位置とを特定するステップと、
前記マーカー画像に関連付けられた前記仮想オブジェクトを、前記撮影画像の、前記表示情報で規定された前記表示位置に表示するステップとを備え、
前記表示するステップでは、前記認識するステップにおいて同一の仮想オブジェクトに関連付けられた複数のマーカー画像が前記撮影画像から認識された場合に、前記複数のマーカー画像のうちの１つのマーカー画像を選択して、前記１つのマーカー画像の表示情報に基づいて、前記１つのマーカー画像に関連付けられた仮想オブジェクトを前記１つのマーカー画像に関連付けられた表示位置に表示する、表示方法。
【請求項６】
コンピューターに、撮影画像に仮想オブジェクトを重ねて表示することで拡張現実を表示する処理を実行させるためのプログラムであって、
撮影画像からマーカー画像を認識するステップと、
認識された前記マーカー画像について、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、関連付けられた仮想オブジェクトとその表示位置とを特定するステップと、
前記マーカー画像に関連付けられた前記仮想オブジェクトを、前記撮影画像の、前記表示情報で規定された前記表示位置に表示するステップとを、前記コンピューターに実行させ、
前記表示するステップでは、前記認識するステップにおいて同一の仮想オブジェクトに関連付けられた複数のマーカー画像が前記撮影画像から認識された場合に、前記複数のマーカー画像のうちの１つのマーカー画像を選択して、前記１つのマーカー画像の表示情報に基づいて、前記１つのマーカー画像に関連付けられた仮想オブジェクトを前記１つのマーカー画像に関連付けられた表示位置に表示する、表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は表示装置、表示方法、および表示プログラムに関し、特に、拡張現実を表示する表示装置、表示方法、および表示プログラムに関する。
【背景技術】
【０００２】
拡張現実（ＡＲ：Augmented  Reality）とは、「拡張現実」または「強化現実」とも言われ、現実感をコンピューターにより補助してユーザーの五感に届ける技術を指すものである。視覚的に現実と仮想情報とを重ねる場合は、ＡＲの中でも特にＭＲ（Mixed  Reality）や「複合現実感」と呼ばれる。ＭＲ技術として、撮影画像から所定の画像（マーカー）を認識して、該マーカーに関連付けられた仮想オブジェクトを撮影画像に重ねて表示する技術がある。
【０００３】
ところが、撮影画像からマーカーが検出されなかったり、カメラとマーカーとの位置関係などからうまく撮影されていなかったりすると、仮想オブジェクトが表示されなくなる。
【０００４】
この問題に対して、たとえば特開２０１２−１０３７８９号公報（以下、特許文献１）は、マーカーが検出できなった場合に、マーカーが検出できた過去の画像とマーカーを検出できなかった画像との間の変化に基づいて仮想オブジェクトの表示位置や態様を予想する技術を開示している。
【０００５】
また、特開２００８−２６１７５３号公報（以下、特許文献２）には、試薬容器にバーコード面を生成して、試薬収納庫に収納された状態でバーコードを読み取り可能とする技術において、試薬容器にバーコード面を複数面形成して各バーコード面にバーコードラベルを貼付することによって、２以上のバーコードの読み取りを可能とすることが開示されている。これによれば、たとえばいずれかのバーコードが剥がれたり擦れたりして読取ミスが発生した場合であっても、他のバーコードを読み取ることで試薬情報が取得される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１０３７８９号公報
【特許文献２】特開２００８−２６１７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の特許文献１の技術ではマーカー周囲の特徴が小さいと仮想オブジェクトの表示位置や態様を精度よく予想できない、という問題がある。
【０００８】
そこで、上記の特許文献２の開示を応用して、所定位置に仮想オブジェクトを確実に表示させるために、同一の仮想オブジェクトに関連付けられている複数のマーカーを配置することが考えられる。しかしながら、撮影画像から複数のマーカーが検出されてしまうとマーカーごとに仮想オブジェクトが表示されてしまい、複数の仮想オブジェクトが重複して表示されることになる、という問題がある。
【０００９】
逆に、特定画像を撮影画像に含めるように撮影しようとすると、撮影装置の可動範囲が制約されてしまうという問題もある。
【００１０】
本発明はこのような問題に鑑みてなされたものであって、ＡＲ（拡張現実）、特にＭＲ表示を行なう表示装置であって、仮想オブジェクトを適切に表示することのできる表示装置、表示方法、および表示プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のある局面に従うと、表示装置は映像画像に仮想オブジェクトを重ねて表示することで拡張現実を表示可能な表示装置であって、撮影画像からマーカー画像を認識するための認識手段と、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、撮影画像から認識されたマーカー画像に関連付けられた仮想オブジェクトと、仮想オブジェクトの表示位置とを特定するための特定手段と、マーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示するための表示手段とを備える。表示手段は、同一の仮想オブジェクトに関連付けられた複数のマーカー画像が撮影画像から認識された場合に、複数のマーカー画像のうちの１つのマーカー画像を選択するための選択手段を含み、表示手段は、複数のマーカー画像のうちの選択手段によって選択された１つのマーカー画像の表示情報に基づいて、１つのマーカー画像に関連付けられた仮想オブジェクトを１つのマーカー画像に関連付けられた表示位置に表示する。
【００１２】
好ましくは、表示情報に規定される仮想オブジェクトの表示位置は、マーカー画像の位置に対して相対的に規定されており、選択手段は、複数のマーカー画像それぞれの関連付けられた仮想オブジェクトの表示位置に基づいて、複数のマーカー画像のうちから１つのマーカー画像を選択する。
【００１３】
より好ましくは、選択手段は、複数のマーカー画像のうち、マーカー画像の位置から関連付けられた仮想オブジェクトの表示位置までの距離が最小であるマーカー画像を選択する。
【００１４】
好ましくは、表示情報は、複数のマーカー画像の表示優先度を含み、選択手段は、複数のマーカー画像のうちの表示優先度の最も高いマーカー画像を選択する。
【００１５】
本発明の他の局面に従うと、表示方法は撮影画像に仮想オブジェクトを重ねて表示することで拡張現実を表示する方法であって、撮影画像からマーカー画像を認識するステップと、認識されたマーカー画像について、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、関連付けられた仮想オブジェクトとその表示位置とを特定するステップと、マーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示するステップとを備える。表示するステップでは、認識するステップにおいて同一の仮想オブジェクトに関連付けられた複数のマーカー画像が撮影画像から認識された場合に、複数のマーカー画像のうちの１つのマーカー画像を選択して、１つのマーカー画像の表示情報に基づいて、１つのマーカー画像に関連付けられた仮想オブジェクトを１つのマーカー画像に関連付けられた表示位置に表示する。
【００１６】
本発明のさらに他の局面に従うと、表示プログラムは、コンピューターに、撮影画像に仮想オブジェクトを重ねて表示することで拡張現実を表示する処理を実行させるためのプログラムであって、撮影画像からマーカー画像を認識するステップと、認識されたマーカー画像について、マーカー画像ごとに規定された仮想オブジェクトを表示するための表示情報を参照して、関連付けられた仮想オブジェクトとその表示位置とを特定するステップと、マーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示するステップとを、コンピューターに実行させる。表示するステップでは、認識するステップにおいて同一の仮想オブジェクトに関連付けられた複数のマーカー画像が撮影画像から認識された場合に、複数のマーカー画像のうちの１つのマーカー画像を選択して、１つのマーカー画像の表示情報に基づいて、１つのマーカー画像に関連付けられた仮想オブジェクトを１つのマーカー画像に関連付けられた表示位置に表示する。
【発明の効果】
【００１７】
この発明によると、ＡＲ（拡張現実）、特にＭＲ表示を行なう表示装置において、仮想オブジェクトを適切に表示することのできる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態にかかる表示装置としての、端末装置の外観の具体例を表わした図である。
【図２】端末装置のハードウェア構成の概略を表わしたブロック図である。
【図３】表示装置の他の例を表わした図である。
【図４】第１の動作例での、表示情報の具体例を示した図である。
【図５】図４に規定されるマーカー画像「１」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図６】図４に規定されるマーカー画像「２」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図７】図４に規定されるマーカー画像「３」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図８】撮影画像から認識されたマーカー画像と、表示すると決定された仮想オブジェクトが関連付けられているマーカー画像との関係を表わした図である。
【図９】第１の動作例での仮想オブジェクトの表示方法を表わした図である。
【図１０】第１の動作例での仮想オブジェクトの表示方法を表わした図である。
【図１１】第１の動作例での仮想オブジェクトの表示方法を表わした図である。
【図１２】図８の関係のうちのいくつかを図示したものである。
【図１３】第２の動作例での表示情報の具体例を示した図である。
【図１４】図１３に規定されるマーカー画像「１」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図１５】図１３に規定されるマーカー画像「２」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図１６】図１３に規定されるマーカー画像「３」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図１７】図１３に規定されるマーカー画像「４」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図１８】第２の動作例での仮想オブジェクトの表示方法を表わした図である。
【図１９】第２の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２０】第２の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２１】第２の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２２】第３の動作例での表示情報の具体例を示した図である。
【図２３】図２２に規定されるマーカー画像「１」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図２４】図２２に規定されるマーカー画像「２」についての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。
【図２５】第３の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２６】第３の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２７】第３の動作例での仮想オブジェクトの表示方法を表わした図である。
【図２８】端末装置の機能構成の具体例を示すブロック図である。
【図２９】端末装置での第１の動作例での動作の流れの具体例を表わしたフローチャートである。
【図３０】端末装置での第２の動作例での動作の流れの具体例を表わしたフローチャートである。
【図３１】端末装置での第３の動作例での動作の流れの具体例を表わしたフローチャートである。
【発明を実施するための形態】
【００１９】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２０】
＜装置構成＞
図１は、本実施の形態にかかる表示装置であって映像画像に仮想オブジェクトを重ねて表示することで拡張現実を表示可能な表示装置としての、端末装置１００の外観の具体例を表わした図である。図１を参照して、端末装置１００は、ある一面に配置された、表示部の一例としてのタッチパネル１４と、入力部の一例としてのスイッチ１５と、撮影画像の入力部の一例としてのカメラ１３とを含む。
【００２１】
図２は、端末装置１００のハードウェア構成の概略を表わしたブロック図である。図２を参照して、端末装置１００は、装置全体を制御するためのＣＰＵ（Central  Processing  Unit）１０と、メモリであるＲＯＭ（Read  Only  Memory）１１およびＲＡＭ（Random  Access  Memory）１２と、カメラ１３と、タッチパネル１４と、スイッチ１５と、他の装置との通信を制御するための通信コントローラー１８とを含む。
【００２２】
メモリであるＲＯＭ１１には、ＣＰＵ１０で実行されるプログラムが記憶される。ＣＰＵ１０は、ＲＯＭ１１から上記プログラムを読み出して実行することで、図２の各部を制御する。その際、ＲＡＭ１２は、ＣＰＵ１０による作業領域ともなる。
【００２３】
本実施の形態にかかる表示装置は、少なくとも、表示部と、ユーザーからの指示入力を得受け付けるための入力部と、撮影画像の入力部とを備えるものであればいかなる装置であってもよい。一例として、図１に表わされたような、カメラ機能付きの携帯電話機などが挙げられる。他の例として、他の装置と通信したり、記録媒体から読み出したりして撮影画像が入力可能なＰＣ（パーソナルコンピュータ）などであってもよい。図３は、表示装置の他の例を表わした図である。すなわち、本実施の形態にかかる表示装置は、図３（Ａ）に示されたように、相互に通信可能な端末装置１００とサーバー２００とを含むシステムで構成されてもよい。または、図３（Ｂ）に示されたように、ＷＥＢカメラのようなカメラ１３が搭載されたＰＣ１００’であってもよい。
【００２４】
＜動作概要＞
端末装置１００は、現実映像である入力された撮影画像に、仮想情報である仮想オブジェクトを重ねてタッチパネル１４に表示することで、拡張現実を表示する。詳しくは、端末装置１００は、まず、入力された撮影画像からマーカー画像を認識する。次に、端末装置１００は、予め記憶している、（または、サーバー等、他の装置に記憶されている）表示情報を参照して、認識されたマーカー画像について、関連付けられた仮想オブジェクトとその表示位置とを特定する。ここで「表示情報」とは、マーカー画像ごとに規定された仮想オブジェクトを表示するための情報を指す。詳しくは、表示情報には、マーカー画像ごとに、表示する仮想オブジェクト（図形や画像）と、撮影画像における表示位置とが規定される。そして、端末装置１００は、その仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示する。
【００２５】
このとき、１つの撮影画像から、同一の仮想オブジェクトに関連付けられた複数のマーカー画像が認識された場合、端末装置１００は、その複数のマーカー画像のうちの１つのマーカー画像を選択する。そして、端末装置１００は、選択した１つのマーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、その１つのマーカー画像に関連付けられた表示位置に表示する。
【００２６】
（第１の動作例）
第１の動作例として、仮想オブジェクトの表示位置は、表示情報において、撮影画像上のマーカー画像の位置に対して相対的に規定されている。図４は、第１の動作例での、表示情報の具体例を示した図である。図４を参照して、第１の動作例では、表示情報は、マーカー画像ごとに、仮想オブジェクトの表示位置を、撮影画像上におけるそのマーカー画像の位置からの相対的な位置で規定している。すなわち、図４を参照して、第１の動作例では、表示情報が、一例として、マーカー画像「１」〜「３」それぞれに対して、その中心位置からの相対的な差分を有する位置を表示位置とした、仮想オブジェクト「１」が規定されている。なお、マーカー画像は矩形画像とし、横軸方向をｘ軸、縦軸方向をｙ軸と設定して、ｘ軸方向の長さが基準長さａ、ｙ軸方向の長さを基準長さｂとする。これは、以降の他の動作例でも同様である。
【００２７】
図５〜図７は、図４に規定されるマーカー画像「１」〜「３」それぞれについての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。図５（Ａ）、図６（Ａ）、および図７（Ａ）は、マーカー画像「１」〜「３」それぞれの撮影画像上の位置を表わしている。図５（Ｂ）、図６（Ｂ）、および図７（Ｂ）は、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置にマーカー画像「１」〜「３」それぞれが認識された場合の、仮想オブジェクト「１」の表示位置を表わしている。なお、図５（Ａ）、図６（Ａ）、および図７（Ａ）中の実線四角形はマーカー画像を表わし、その中の数字がマーカー画像「１」〜「３」を表わしている。また、図５（Ｂ）、図６（Ｂ）、および図７（Ｂ）中の縦方向の実線は仮想オブジェクトの中心位置を示し、矢印はマーカー画像の位置からの相対的な位置の差分を示している。これは、以降の他の動作例でも同様である。
【００２８】
詳しくは、図４の表示情報は、マーカー画像「１」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「１」の位置からｘ軸方向に０、ｙ軸方向に０の位置と規定している。従って、図５（Ａ）および図５（Ｂ）を参照して、マーカー画像「１」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「１」と同じ位置に表示される。
【００２９】
また、図４の表示情報は、マーカー画像「２」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「２」の位置からｘ軸方向に＋１．５ａ、ｙ軸方向に０の位置と規定している。従って、図６（Ａ）および図６（Ｂ）を参照して、マーカー画像「２」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「２」の位置からｘ軸方向に＋１．５ａの位置に表示される。
【００３０】
また、図４の表示情報は、マーカー画像「３」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「３」の位置からｘ軸方向に＋１．５ａ、ｙ軸方向に−１．５ｂの位置と規定している。従って、図７（Ａ）および図７（Ｂ）を参照して、マーカー画像「３」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「３」の位置からｘ軸方向に＋１．５ａ、ｙ軸方向に−１．５ｂの位置に表示される。
【００３１】
端末装置１００は、１つの撮影画像から、同じ仮想オブジェクト「１」に関連付けられているマーカー画像「１」〜「３」のうちの複数のマーカー画像が認識された場合、第１の動作を実行する。すなわち、第１の動作は、これら複数のマーカー画像それぞれの関連付けられた仮想オブジェクトの表示位置に基づいて１つのマーカー画像を選択する動作である。好ましくは、端末装置１００は、認識された複数のマーカー画像のうち、撮影画像上のそれぞれのマーカー画像の位置から関連付けられた仮想オブジェクトの表示位置までの距離が最小であるマーカー画像を選択する。
【００３２】
図８は、１つの撮影画像中のマーカー画像の位置関係が図５（Ａ）、図６（Ａ）、および図７（Ａ）に表わされたものであり、図４の表示情報を用いた場合の、撮影画像から認識されたマーカー画像と、表示すると決定された仮想オブジェクトが関連付けられているマーカー画像との関係を表わした図である。また、図９〜図１２は、図８の関係のうちのいくつかを図示したものである。
【００３３】
図８を参照して、１つの撮影画像から、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係にあるマーカー画像「１」〜「３」すべてが認識された場合には、端末装置１００は、マーカー画像「１」〜「３」それぞれについての、撮影画像上の位置と表示情報で規定された仮想オブジェクト「１」との距離を比較する。また、１つの撮影画像からマーカー画像「１」「２」が認識された場合には、端末装置１００は、マーカー画像「１」「２」についての、撮影画像上の位置と表示情報で規定された仮想オブジェクト「１」との距離を比較する。また、１つの撮影画像からマーカー画像「１」「３」が認識された場合には、端末装置１００は、マーカー画像「１」「３」についての、撮影画像上の位置と表示情報で規定された仮想オブジェクト「１」との距離を比較する。そして、端末装置１００は、最も距離の近い（小さい）マーカー画像「１」を仮想オブジェクトを表示するために用いるマーカー画像に採用する。
【００３４】
また、１つの撮影画像からマーカー画像「２」「３」が認識された場合には、端末装置１００は、マーカー画像「２」「３」についての、撮影画像上の位置と表示情報で規定された仮想オブジェクト「１」との距離を比較する。そして、端末装置１００は、最も距離の近い（小さい）マーカー画像「２」を仮想オブジェクトを表示するために用いるマーカー画像に採用する。
【００３５】
もちろん、１つの撮影画像からいずれか１つのマーカー画像しか認識されなかった場合には、端末装置１００は、そのマーカー画像を仮想オブジェクトを表示するために用いるマーカー画像に採用する。
【００３６】
図９は、１つの撮影画像から、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係にあるマーカー画像「１」〜「３」すべてが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。なお、図９（Ａ）中の太線四角形はマーカー画像を表わし、そのうちの黒塗りされたものは認識が不成功であったマーカー画像を表わしている。また、図９（Ｂ）の円柱は仮想オブジェクト「１」を示している。以降の例でも同様とする。
【００３７】
すなわち、図９（Ａ）に示されたように、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係でマーカー画像「１」〜「３」すべてが認識された場合には、図８に示されたように、端末装置１００は、マーカー画像「１」を仮想オブジェクトを表示するために採用する。そこで、端末装置１００は、図４の表示情報に従って、図９（Ｂ）に示されたように、撮影画像中のマーカー画像「１」の位置に仮想オブジェクト「１」を表示する。
【００３８】
図１０は、１つの撮影画像から、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係にあるマーカー画像「１」〜「３」のうち、マーカー画像「２」「３」が認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図１０（Ａ）に示されたように、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係でマーカー画像「２」「３」が認識され、マーカー画像「１」の認識が不成功であった場合には、図８に示されたように、端末装置１００は、マーカー画像「２」を仮想オブジェクトを表示するために採用する。そこで、端末装置１００は、図４の表示情報に従って、図１０（Ｂ）に示されたように、撮影画像中のマーカー画像「２」の位置からｘ軸方向に＋１．５ａの位置に仮想オブジェクト「１」を表示する。
【００３９】
図１１は、１つの撮影画像から、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係にあるマーカー画像「１」〜「３」のうち、マーカー画像「３」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図１１（Ａ）に示されたように、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係でマーカー画像「３」のみが認識され、マーカー画像「１」「２」の認識が不成功であった場合には、図８に示されたように、端末装置１００は、マーカー画像「３」を仮想オブジェクトを表示するために採用する。そこで、端末装置１００は、図４の表示情報に従って、図１１（Ｂ）に示されたように、撮影画像中のマーカー画像「３」の位置からｘ軸方向に＋１．５ａ、ｙ軸方向に−１．５ｂの位置に仮想オブジェクト「１」を表示する。
【００４０】
図１２は、１つの撮影画像から、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係にあるマーカー画像「１」〜「３」のうち、マーカー画像「２」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図１２（Ａ）に示されたように、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係でマーカー画像「２」のみが認識され、マーカー画像「１」「３」の認識が不成功であった場合には、図８に示されたように、端末装置１００は、マーカー画像「２」を仮想オブジェクトを表示するために採用する。そこで、端末装置１００は、図４の表示情報に従って、図１２（Ｂ）に示されたように、撮影画像中のマーカー画像「２」の位置からｘ軸方向に＋１．５ａの位置に仮想オブジェクト「１」を表示する。
【００４１】
端末装置１００は、上記の第１の動作を行なうことで、図５（Ａ）、図６（Ａ）、および図７（Ａ）の位置関係で撮影範囲に置かれたマーカー画像「１」〜「３」のうち、撮影画像から少なくとも１つでも認識が成功すると、マーカー画像「１」と同じ位置に仮想オブジェクト「１」を表示する。
【００４２】
ユーザーは、予め、各マーカー画像に対応付けられた仮想オブジェクトの表示位置を把握した上で、撮影範囲にマーカー画像を置く。すなわち、図４の表示情報の場合、ユーザーは、仮想オブジェクト「１」を撮影画像内の意図した位置に表示させるため、撮影範囲の、仮想オブジェクト「１」を表示させることを意図した位置にマーカー画像「１」を、仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に−１．５ａの位置にマーカー画像「２」を、および仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に−１．５ａ、ｙ軸方向に＋１．５ｂの位置にマーカー画像「３」を置く。このようにすることで、撮影画像からたとえすべてのマーカー画像が認識されなかったとしても、１つでも認識されると、図９（Ｂ）、図１０（Ｂ）、図１１（Ｂ）、および図１２（Ｂ）に表わされたように、マーカー画像「１」と同じ位置である、意図した位置に仮想オブジェクト「１」を表示させることができる。
【００４３】
（第２の動作）
第２の動作例では、表示情報において、仮想オブジェクトの表示位置は必ずしも撮影画像上のマーカー画像の位置に対して相対的に規定されていなくてもよい。図１３は、第２の動作例での表示情報の具体例を示した図である。図１３に表わされた以下の例では、一例として、第１の動作例と同様に仮想オブジェクトの表示位置が表示情報において撮影画像上のマーカー画像の位置に対して相対的に規定されているものとしているに過ぎない。すなわち、図１３を参照して、第２の動作例では、表示情報が、一例として、マーカー画像「１」〜「４」それぞれに対して、その中心位置からの相対的な差分を有する位置を表示位置とした、仮想オブジェクト「１」が規定されている。
【００４４】
図１４〜図１７は、図１３に規定されるマーカー画像「１」〜「４」それぞれについての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）は、マーカー画像「１」〜「４」それぞれの撮影画像上の位置を表わしている。図１４（Ｂ）、図１５（Ｂ）、図１６（Ｂ）、および図１７（Ｂ）は、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置にマーカー画像「１」〜「４」それぞれが認識された場合の、仮想オブジェクト「１」の表示位置を表わしている。
【００４５】
詳しくは、図１３の表示情報は、マーカー画像「１」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「１」の位置からｘ軸方向に−０．５ａ、ｙ軸方向に＋０．５ｂの位置と規定している。従って、図１４（Ａ）および図１４（Ｂ）を参照して、マーカー画像「１」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「１」の位置からｘ軸方向に−０．５ａ、ｙ軸方向に＋０．５ｂの位置に表示される。
【００４６】
また、図１３の表示情報は、マーカー画像「２」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「２」の位置からｘ軸方向に＋０．５ａ、ｙ軸方向に＋０．５ｂの位置と規定している。従って、図１５（Ａ）および図１５（Ｂ）を参照して、マーカー画像「２」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「１」の位置からｘ軸方向に＋０．５ａ、ｙ軸方向に＋０．５ｂの位置に表示される。
【００４７】
また、図１３の表示情報は、マーカー画像「３」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「３」の位置からｘ軸方向に＋０．５ａ、ｙ軸方向に−０．５ｂの位置と規定している。従って、図１６（Ａ）および図１６（Ｂ）を参照して、マーカー画像「３」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「３」の位置からｘ軸方向に＋０．５ａ、ｙ軸方向に−０．５ｂの位置に表示される。
【００４８】
また、図１３の表示情報は、マーカー画像「４」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「４」の位置からｘ軸方向に−０．５ａ、ｙ軸方向に−０．５ｂの位置と規定している。従って、図１７（Ａ）および図１７（Ｂ）を参照して、マーカー画像「４」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「４」の位置からｘ軸方向に−０．５ａ、ｙ軸方向に−０．５ｂの位置に表示される。
【００４９】
端末装置１００は、１つの撮影画像から、同じ仮想オブジェクト「１」に関連付けられているマーカー画像「１」〜「４」のうちの複数のマーカー画像が認識された場合、第２の動作を実行する。すなわち、第２の動作は、これら複数のマーカー画像から１つのマーカー画像を無作為に選択する動作である。
【００５０】
図１８は、１つの撮影画像から、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置関係にあるマーカー画像「１」〜「４」すべてが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図１８（Ａ）に示されたようにマーカー画像「１」〜「４」すべてが認識された場合、端末装置１００は、このうちのいずれか一つを仮想オブジェクトを表示するために選択し、図１８（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００５１】
図１９は、１つの撮影画像から、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置関係にあるマーカー画像「１」〜「４」のうちのマーカー画像「２」〜「４」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図１９（Ａ）に示されたようにマーカー画像「２」〜「４」のみが認識された場合、端末装置１００は、このうちのいずれか一つを仮想オブジェクトを表示するために選択し、図１９（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００５２】
図２０は、１つの撮影画像から、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置関係にあるマーカー画像「１」〜「４」のうちのマーカー画像「３」〜「４」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図２０（Ａ）に示されたようにマーカー画像「３」「４」のみが認識された場合、端末装置１００は、このうちの一方を仮想オブジェクトを表示するために選択し、図２０（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００５３】
図２１は、１つの撮影画像から、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置関係にあるマーカー画像「１」〜「４」のうちのマーカー画像「２」〜「４」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図２１（Ａ）に示されたようにマーカー画像「２」「４」のみが認識された場合、端末装置１００は、このうちの一方を仮想オブジェクトを表示するために選択し、図２１（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００５４】
端末装置１００は、上記の第２の動作を行なうことで、図１４（Ａ）、図１５（Ａ）、図１６（Ａ）、および図１７（Ａ）の位置関係で撮影範囲に置かれたマーカー画像「１」〜「４」のうち、撮影画像から少なくとも１つでも認識が成功すると仮想オブジェクト「１」を表示する。
【００５５】
ユーザーは、予め、各マーカー画像に対応付けられた仮想オブジェクトの表示位置を把握した上で、撮影範囲にマーカー画像を置く。すなわち、図１３の表示情報の場合、ユーザーは、仮想オブジェクト「１」を撮影画像内の意図した位置に表示させるため、撮影範囲の、仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に＋０．５ａ、ｙ軸方向に−０．５ｂの位置にマーカー画像「１」を、仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に−０．５ａ、ｙ軸方向に−０．５ｂの位置にマーカー画像「２」を、仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に−１．５ａ、ｙ軸方向に＋０．５ｂの位置にマーカー画像「３」を、および仮想オブジェクト「１」を表示させることを意図した位置からｘ軸方向に＋０．５ａ、ｙ軸方向に＋０．５ｂの位置にマーカー画像「４」を置く。このようにすることで、撮影画像からたとえすべてのマーカー画像が認識されなかったとしても、１つでも認識されると、図１８（Ｂ）、図１９（Ｂ）、図２０（Ｂ）、および図２１（Ｂ）に表わされたように、意図した位置に仮想オブジェクト「１」を表示させることができる。
【００５６】
（第３の動作）
第３の動作例でもまた、表示情報において、仮想オブジェクトの表示位置は必ずしも撮影画像上のマーカー画像の位置に対して相対的に規定されていなくてもよい。第３の動作例では、表示情報において、同一の仮想オブジェクトに関連付けられたマーカー画像について表示優先度が規定されている。図２２は、第３の動作例での表示情報の具体例を示した図である。図２２に表わされた以下の例でも、一例として、第１の動作例と同様に仮想オブジェクトの表示位置が表示情報において撮影画像上のマーカー画像の位置に対して相対的に規定されているものとしているに過ぎない。すなわち、図２２を参照して、第３の動作例では、表示情報が、一例として、マーカー画像「１」「２」それぞれに対して、その中心位置からの相対的な差分を有する位置を表示位置とした、仮想オブジェクト「１」が規定されていると共に、表示優先度が規定されている。
【００５７】
図２３および図２４は、図２２に規定されるマーカー画像「１」「２」それぞれについての、関連付けられた仮想オブジェクト「１」の表示位置を説明するための図である。図２３（Ａ）および図２４（Ａ）は、マーカー画像「１」「２」それぞれの撮影画像上の位置を表わしている。図２３（Ｂ）および図２４（Ｂ）は、図２３（Ａ）および図２４（Ａ）の位置にマーカー画像「１」「２」それぞれが認識された場合の、仮想オブジェクト「１」の表示位置を表わしている。なお、図２３（Ｂ）および図２４（Ｂ）中の実線円は仮想オブジェクトの中心位置を示している。
【００５８】
詳しくは、図２２の表示情報は、マーカー画像「１」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「１」の位置から鉛直方向に＋ａ、水平方向に０の位置と規定している。従って、図２３（Ａ）および図２３（Ｂ）を参照して、マーカー画像「１」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「１」の位置から鉛直方向に＋ａの位置に表示される。
【００５９】
また、図１３の表示情報は、マーカー画像「２」に仮想オブジェクト「１」を関連付け、仮想オブジェクト「１」の位置を、撮影画像上のマーカー画像「２」の位置から周直方向に０、水平方向に＋ｂの位置と規定している。従って、図２４（Ａ）および図２４（Ｂ）を参照して、マーカー画像「２」に関連付けられた仮想オブジェクト「１」は、撮影画像上のマーカー画像「１」の位置から水平方向に＋ｂの位置に表示される。
【００６０】
端末装置１００は、１つの撮影画像から、同じ仮想オブジェクト「１」に関連付けられている複数のマーカー画像「１」「２」が認識された場合、第３の動作を実行する。すなわち、第３の動作は、これら複数のマーカー画像それぞれに設定された表示優先度に基づいて１つのマーカー画像を選択する動作である。端末装置１００は、認識された複数のマーカー画像「１」「２」のうち、最も表示優先度の高いマーカー画像を選択する。
【００６１】
図２５は、１つの撮影画像から、図２４（Ａ）および図２５（Ａ）の位置関係にあるマーカー画像「１」「２」すべてが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図２５（Ａ）に示されたようにマーカー画像「１」「２」すべてが認識された場合、端末装置１００は、このうちの表示優先度の高い方のマーカー画像「１」を仮想オブジェクトを表示するために選択し、図２５（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００６２】
図２６は、１つの撮影画像から、図２４（Ａ）および図２５（Ａ）の位置関係にあるマーカー画像「１」「２」のうちのマーカー画像「２」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図２６（Ａ）に示されたようにマーカー画像「１」の認識が不成功でマーカー画像「２」のみが認識された場合、端末装置１００は、マーカー画像「２」の表示情報に基づいて、図２６（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００６３】
図２７は、１つの撮影画像から、図２４（Ａ）および図２５（Ａ）の位置関係にあるマーカー画像「１」「２」のうちのマーカー画像「１」のみが認識された場合の仮想オブジェクト「１」の表示方法を表わした図である。すなわち、図２７（Ａ）に示されたようにマーカー画像「２」の認識が不成功でマーカー画像「１」のみが認識された場合、端末装置１００は、マーカー画像「１」の表示情報に基づいて、図２７（Ｂ）に示されたように、表示情報で規定された位置に仮想オブジェクト「１」を表示する。
【００６４】
端末装置１００は、上記の第３の動作を行なうことで、図２４（Ａ）および図２５（Ａ）の位置関係で撮影範囲に置かれたマーカー画像「１」「２」のうち、撮影画像から少なくとも１つでも認識が成功すると仮想オブジェクト「１」を表示する。
【００６５】
ユーザーは、予め、各マーカー画像に対応付けられた仮想オブジェクトの表示位置を把握した上で、撮影範囲にマーカー画像を置く。すなわち、図２２の表示情報の場合、ユーザーは、仮想オブジェクト「１」を撮影画像内の意図した位置に表示させるため、撮影範囲の、仮想オブジェクト「１」を表示させることを意図した位置から鉛直方向に−ａの位置にマーカー画像「１」を、仮想オブジェクト「１」を表示させることを意図した位置から水平方向に−ｂの位置にマーカー画像「２」を置く。このようにすることで、撮影画像からたとえすべてのマーカー画像が認識されなかったとしても、１つでも認識されると、図２５（Ｂ）、図２６（Ｂ）、および図２７（Ｂ）に表わされたように、意図した位置に仮想オブジェクト「１」を表示させることができる。
【００６６】
＜機能構成＞
図２８は、上記動作を行なうための端末装置１００の機能構成の具体例を示すブロック図である。図２８の各機能は、端末装置１００のＣＰＵ１０が、ＲＯＭ１１に記憶されているプログラムを読み出して実行することで、主にＣＰＵ１０によって実現される。しかしながら、少なくとも一部が、図２に図示されたハードウェア構成、または図２には示されていない電気回路などハードウェア構成によって実現されてもよい。
【００６７】
図２８を参照して、ＲＯＭ１１などのメモリには、図８、図１３、および図２２のような表示情報を記憶するための記憶領域である表示情報記憶部１１１が設けられる。さらに図２８を参照して、ＣＰＵ１０は、カメラ１３からの撮影画像の入力を受け付けるための撮影画像入力部１０１と、撮影画像からマーカー画像を認識するための認識部１０２と、認識されたマーカー画像についての表示情報をメモリから読み出すための読出部１０４と、読み出された表示情報を参照して、認識されたマーカー画像に関連付けられた仮想オブジェクトとその表示位置とを特定するための特定部１０３と、認識されたマーカー画像に関連付けられた仮想オブジェクトを、撮影画像の、表示情報で規定された表示位置に表示するための表示部１０５とを含む。表示部１０５は、さらに、同一の仮想オブジェクトに関連付けられた複数のマーカー画像が撮影画像から認識された場合に、その複数のマーカー画像のうちの１つのマーカー画像を選択するための選択部１０６を含む。この場合、表示部１０５は、複数のマーカー画像のうちの選択部１０６によって選択された１つのマーカー画像の表示情報に基づいて、その１つのマーカー画像に関連付けられた仮想オブジェクトをその１つのマーカー画像に関連付けられた表示位置に表示する。
【００６８】
＜動作フロー＞
図２９〜図３１は、端末装置１００での動作の流れの具体例を表わしたフローチャートであって、それぞれ、上記の第１の動作例、第２の動作例、および第３の動作例での動作の流れの具体例を表わしている。これらフローチャートに表わされた動作は、端末装置１００のＣＰＵ１０がＲＯＭ１１に記憶されているプログラムを読み出して実行し、図２８の各機能を発揮することによって実現される。
【００６９】
すなわち、第１の動作例の場合、図２９を参照して、以降の動作を継続する場合（ステップＳ１０１でＹＥＳ）、ＣＰＵ１０は、撮影画像からマーカー画像を認識する処理を実行する。ＣＰＵ１０によるここでの処理は特定の処理に限定されない。ＣＰＵ１０は、たとえばテンプレートマッチングなど、通常の手法を採用することができる。以降のフローチャートでも同様である。
【００７０】
撮影画像中にマーカー画像を認識した場合（ステップＳ１０３でＹＥＳ）、ＣＰＵ１０は、認識したマーカー画像についての表示情報を参照して、関連付けられている仮想オブジェクトとその表示位置とを特定する（ステップＳ１０５）。
【００７１】
同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識していない場合、つまり、同一の仮想オブジェクトについては単一のマーカー画像のみ認識した場合には（ステップＳ１０７でＮＯ）、ＣＰＵ１０は、そのマーカー画像を、仮想オブジェクトの表示に用いるマーカー画像として選択する（ステップＳ１０９）。一方、同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識した場合（ステップＳ１０７でＹＥＳ）、ＣＰＵ１０は、各マーカー画像の表示情報を参照して、各マーカー画像の撮影画像における位置から仮想オブジェクトの表示位置までの距離（差の絶対値）が最も小さいマーカー画像を選択する（ステップＳ１１１）。そして、ＣＰＵ１０は、ステップＳ１０９またはステップＳ１１１で選択したマーカー画像の表示情報に基づき、表示情報に規定される表示位置にそのマーカー画像に関連付けられた仮想オブジェクトを表示する（ステップＳ１１３）。
【００７２】
ＣＰＵ１０は、以上の処理を、撮影画像からマーカー画像が認識されなくなるまで継続し、すべてのマーカー画像についての処理が終わると（ステップＳ１０１でＮＯ）、一連の処理を終了する。
【００７３】
第２の動作例の場合、図３０を参照して、以降の動作を継続する場合（ステップＳ２０１でＹＥＳ）、ＣＰＵ１０は、撮影画像からマーカー画像を認識する処理を実行する。撮影画像中にマーカー画像を認識した場合（ステップＳ２０３でＹＥＳ）、ＣＰＵ１０は、認識したマーカー画像についての表示情報を参照して、関連付けられている仮想オブジェクトとその表示位置とを特定する（ステップＳ２０５）。
【００７４】
同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識していない場合、つまり、同一の仮想オブジェクトについては単一のマーカー画像のみ認識した場合には（ステップＳ２０７でＮＯ）、ＣＰＵ１０は、そのマーカー画像を、仮想オブジェクトの表示に用いるマーカー画像として選択する（ステップＳ２０９）。一方、同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識した場合（ステップＳ２０７でＹＥＳ）、ＣＰＵ１０は、認識された複数のマーカー画像から無作為に１つのマーカー画像を選択する（ステップＳ２１１）。ここでの選択方法は特定の方法に限定されない。一例として乱数表を用いたり、乱数発生用のプログラムを用いたりする方法が挙げられる。そして、ＣＰＵ１０は、ステップＳ２０９またはステップＳ２１１で選択したマーカー画像の表示情報に基づき、表示情報に規定される表示位置にそのマーカー画像に関連付けられた仮想オブジェクトを表示する（ステップＳ２１３）。
【００７５】
ＣＰＵ１０は、以上の処理を、撮影画像からマーカー画像が認識されなくなるまで継続し、すべてのマーカー画像についての処理が終わると（ステップＳ２０１でＮＯ）、一連の処理を終了する。
【００７６】
第３の動作例の場合、図３１を参照して、以降の動作を継続する場合（ステップＳ３０１でＹＥＳ）、ＣＰＵ１０は、撮影画像からマーカー画像を認識する処理を実行する。撮影画像中にマーカー画像を認識した場合（ステップＳ３０３でＹＥＳ）、ＣＰＵ１０は、認識したマーカー画像についての表示情報を参照して、関連付けられている仮想オブジェクトとその表示位置とを特定する（ステップＳ３０５）。
【００７７】
同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識していない場合、つまり、同一の仮想オブジェクトについては単一のマーカー画像のみ認識した場合には（ステップＳ３０７でＮＯ）、ＣＰＵ１０は、そのマーカー画像を、仮想オブジェクトの表示に用いるマーカー画像として選択する（ステップＳ３０９）。一方、同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識した場合（ステップＳ３０７でＹＥＳ）、ＣＰＵ１０は、各マーカー画像の表示情報を参照して、各マーカー画像に規定されている表示優先度のうち、最も表示優先度の高いマーカー画像を選択する（ステップＳ３１１）。そして、ＣＰＵ１０は、ステップＳ３０９またはステップＳ３１１で選択したマーカー画像の表示情報に基づき、表示情報に規定される表示位置にそのマーカー画像に関連付けられた仮想オブジェクトを表示する（ステップＳ３１３）。
【００７８】
ＣＰＵ１０は、以上の処理を、撮影画像からマーカー画像が認識されなくなるまで継続し、すべてのマーカー画像についての処理が終わると（ステップＳ３０１でＮＯ）、一連の処理を終了する。
【００７９】
＜変形例１＞
なお、以上の説明では、第１の動作〜第３の動作が独立した動作として示されている。端末装置１００がこれら動作のうちのいずれの動作を行なって仮想オブジェクトを表示するかは、予め規定されていてもよいし、動作の都度、ユーザーが設定するものであってもよい。または、ＣＰＵ１０が、同一の仮想オブジェクトに関連付けられた複数のマーカー画像を同一の撮影画像から認識したときに、それら複数のマーカー画像の表示情報に基づいて第１の動作〜第３の動作のうちの行なう動作を一つ選択するようにしてもよい。一例として、ＣＰＵ１０は、認識された複数のマーカー画像についての表示情報を分析し、それら表示情報のいずれにも表示優先度が設定されているときには表示優先度に従って１つのマーカー画像を選択し、表示優先度が規定されておらず、かつ、仮想オブジェクトの表示位置がマーカー画像の位置からの相対的な位置として規定されている場合には、その間の距離に基づいて１つのマーカー画像を選択し、いずれでもない場合には無作為に選択する、という方法が挙げられる。
【００８０】
または、第１の動作〜第３の動作が組み合わされてもよい。たとえば、表示情報において同じ表示優先度が規定されたマーカー画像が複数認識された場合、端末装置１００は、それら複数のマーカー画像のうち、仮想オブジェクトの表示位置までの距離が最も小さいマーカー画像を選択する、または、その中から無作為に選択する、という方法が挙げられる。
【００８１】
＜変形例２＞
以上の説明では、端末装置１００単体ですべての動作を行なうものとしているが、たとえば図３（Ａ）に挙げられたように、他の装置と連携して行なってもよい。すなわち、サーバー２００が上記の認識部１０２や特定部１０３や読出部１０４や表示部１０５を含んで上記の動作を行なってもよい。この場合、端末装置１００はサーバー２００に対して撮影画像を送信し、サーバー２００からの表示の指示に基づいて仮想オブジェクトを表示することになる。また、端末装置１００は必ずしもカメラ１３を含んでいなくてもよく、他の装置から撮影画像を受信したり、記録媒体から撮影画像を読み出したりして取得するようにしてもよい。
【００８２】
＜実施の形態の効果＞
現実映像である入力された撮影画像に、仮想情報である仮想オブジェクトを重ねて表示することで、ＡＲ（拡張現実）、特にＭＲ表示を行なう表示装置において、適切な位置に仮想情報である仮想オブジェクトを表示させることができる。すなわち、撮影画像中に、ユーザーによって同一の表示位置に表示することを意図して配置された、同一の仮想オブジェクトに関連付けられている複数のマーカー画像が配置されている場合、本実施の形態にかかる端末装置１００では、たとえいずれかのマーカー画像が障害物等によって認識されなくても、そのうちの少なくも１つでも認識することで、仮想オブジェクトを、上記のユーザーの意図した表示位置に表示することができる。
【００８３】
一方で、そのようにすると同一の仮想オブジェクトに関連付けられている複数のマーカー画像が１つの撮影画像から認識されてしまい、同一の仮想オブジェクトが重複して表示され、視認性が損なわれる可能性もある。しかしながら、本実施の形態にかかる端末装置１００では、１つの撮影画像から同一の仮想オブジェクトに関連付けられている複数のマーカー画像が認識された場合にはそのうちの１つのマーカー画像を選択して、そのマーカー画像を用いて仮想オブジェクトを表示する。そのため、仮想オブジェクトの視認性を損なうことがない。
【００８４】
さらに、上述の表示の処理を端末装置１００のＣＰＵ１０に実行させるためのプログラムを提供することもできる。このようなプログラムは、コンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００８５】
なお、本発明にかかるプログラムは、コンピューターのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００８６】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００８７】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００８８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８９】
１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  カメラ、１４  タッチパネル、１５  スイッチ、１８  通信コントローラー、１００  端末装置、１００’  ＰＣ、１０１  撮影画像入力部、１０２  認識部、１０３  特定部、１０４  読出部、１０５  表示部、１０６  選択部、１１１  表示情報記憶部、２００  サーバー。
【図１】
2014203382.tif 000003
【図２】
2014203382.tif 000004
【図３】
2014203382.tif 000005
【図４】
2014203382.tif 000006
【図５】
2014203382.tif 000007
【図６】
2014203382.tif 000008
【図７】
2014203382.tif 000009
【図８】
2014203382.tif 000010
【図９】
2014203382.tif 000011
【図１０】
2014203382.tif 000012
【図１１】
2014203382.tif 000013
【図１２】
2014203382.tif 000014
【図１３】
2014203382.tif 000015
【図１４】
2014203382.tif 000016
【図１５】
2014203382.tif 000017
【図１６】
2014203382.tif 000018
【図１７】
2014203382.tif 000019
【図１８】
2014203382.tif 000020
【図１９】
2014203382.tif 000021
【図２０】
2014203382.tif 000022
【図２１】
2014203382.tif 000023
【図２２】
2014203382.tif 000024
【図２３】
2014203382.tif 000025
【図２４】
2014203382.tif 000026
【図２５】
2014203382.tif 000027
【図２６】
2014203382.tif 000028
【図２７】
2014203382.tif 000029
【図２８】
2014203382.tif 000030
【図２９】
2014203382.tif 000031
【図３０】
2014203382.tif 000032
【図３１】
2014203382.tif 000033