(57)【要約】      （修正有）【課題】ユーザが存在する環境に応じた情報提供を行う。【解決手段】入力画像を取得し（Ｏｐ．１）、入力画像から基準物（マーカー）を認識し（Ｏｐ．２）、次に該基準物と前記入力画像の撮像位置との位置関係を示す位置情報を算出し（Ｏｐ．３）、前記位置情報に応じた表示情報を選択し（Ｏｐ．４）、表示情報に対応する表示画像を生成して（Ｏｐ．５）、表示画像を表示する（Ｏｐ．６）。【選択図】図２０
2015022737.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から認識された基準物の像に基づいて、該基準物と前記入力画像の撮像位置との位置関係を示す位置情報を算出する算出部と、
前記位置情報に応じた表示情報を決定する決定部と
を有することを特徴とする情報処理装置。
【請求項２】
前記算出部は、前記像の形状に基づき、前記位置情報を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記位置情報に関する条件と、該条件に応じて提供される前記表示情報とを対応付けた対応情報を記憶する記憶部を有し、
前記決定部は、前記対応情報に基づき、前記表示情報を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記条件は、前記位置情報が第一の範囲で示される領域に含まれるか否かに関する条件であって、
前記決定部は、前記位置情報が前記条件に合致する場合、前記表示情報として、前記基準物に対応付けられた複数の画像データのうちの第一の画像データを特定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記条件とは異なる他の条件は、前記撮像位置が、前記第一の範囲とは異なる第二の範囲で示される領域に含まれるか否かに関する条件であって、
前記決定部は、前記撮像位置が前記第二の範囲に含まれる場合、前記表示情報として、前記第一の画像データとは異なる、第二の画像データを特定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記領域は、前記基準物に対して、放射状に設定された領域であることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記領域は、前記基準物に対する距離および方向で示される領域であることを特徴とする請求項４または５に記載の情報処理装置。
【請求項８】
前記表示情報および前記入力画像に基づき、該入力画像に、該表示情報に係る他の画像を重畳表示された表示画像を生成する生成部を備えることを特徴とする請求項１乃至請求項７のいずれか一項に記載の情報処理装置。
【請求項９】
前記算出部は、前記位置情報として、前記基準物を基準とする三次元空間における、前記撮像位置を算出することを特徴とする請求項１乃至請求項８のいずれか一項に記載の情報処理装置。
【請求項１０】
コンピュータに、
入力画像から認識された基準物の像に基づいて、該基準物と前記入力画像の撮像位置との位置関係を示す位置情報を算出し、
前記位置情報に応じた表示情報を決定する処理を実行させることを特徴とする情報提供プログラム。
【請求項１１】
コンピュータが、
入力画像から認識された基準物の像に基づいて、該基準物と前記入力画像の撮像位置との位置関係を示す位置情報を算出し、
前記位置情報に応じた表示情報を決定する処理を実行することを特徴とする情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに情報を提供する技術に関する。
【背景技術】
【０００２】
現実空間に対応する３次元の仮想空間上に配置された３次元物体のモデルデータを、撮像装置が撮像する撮像画像に重ねて表示することが行なわれる。この技術は、人間の知覚（視覚など）により収集される情報を拡張させるため、拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）技術などと呼ばれる。そして、現実空間に対応する３次元の仮想空間上に配置された３次元物体のモデルデータは、ＡＲコンテンツと呼ばれる。
【０００３】
ＡＲコンテンツは現実空間に対応する仮想空間上の位置が設定されており、仮想空間上の位置に基づき、ＡＲコンテンツの投影画像が、撮像画像に重ねて表示される。なお、ＡＲコンテンツの投影画像は、さらに、撮像装置とＡＲコンテンツとの位置関係に基づいて生成される。
【０００４】
撮像装置とＡＲコンテンツとの位置関係を判断するために、現実空間に存在する基準物が用いられる。例えば、基準物として、ＡＲマーカーが用いられることが一般的である。つまり、撮像装置が撮像した撮像画像からＡＲマーカーが検出されると、ＡＲマーカーと撮像装置との位置関係が、撮像装置の撮像画像に写り込んだＡＲマーカーの像に基づいて判断される。そして、当該位置関係を反映して、ＡＲマーカーに対応するＡＲコンテンツの投影画像が、撮像画像に重畳表示される（例えば、特許文献１や特許文献２）。
【０００５】
また、ＡＲサーバーに対してコンテンツの要求を行う端末装置の位置情報に基づき、どこからコンテンツの送信要求がなされたかによって、端末に提供するコンテンツを選択するＡＲサーバーが知られている（特許文献３）。端末装置は、ＧＰＳ受信機が受信した位置情報や、無線基地局によって特定される端末装置の位置情報や、住所、電話番号、郵便番号などのユーザ入力を位置情報として利用する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１０−５３１０８９号公報
【特許文献２】国際公開２００５−１１９５３９号公報
【特許文献３】特開２０１２−２１５９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のＡＲサーバーは、例えば、都道府県Ａにおいて、ＡＲマーカーＸを認識した場合と、他の都道府県Ｂにおいて、同様のＡＲマーカーＸを認識した場合とで、異なるコンテンツを、各端末装置へ提供することができる。
【０００８】
しかし、当該ＡＲサーバーは、ユーザとＡＲマーカーＸとの位置関係に応じたコンテンツを、ユーザに提供することはできない。例えば、ユーザがＡＲマーカーＸに対して左右いずれに存在するのかに応じて、ユーザにとって有益であろうコンテンツが変化するような場合であっても、当該ＡＲサーバーは、ユーザに提供するコンテンツを選択することができなかった。
【０００９】
そこで、本実施例に開示の技術は、ユーザと基準物との位置関係に応じた情報提供を行うことを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する為に、ひとつの実施態様においては、情報処理装置は、入力画像から認識された基準物の像に基づいて、該基準物と前記入力画像の撮像位置との位置関係を示す位置情報を算出する算出部と、前記位置情報に応じた表示情報を決定する決定部とを有する。
【発明の効果】
【００１１】
本発明の一観点によれば、ユーザが存在する環境に応じた情報提供を行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施形態に関する利用シーンの例を説明するための図である。
【図２】図２は、ユーザ１１１により撮像された撮像画像の図である。
【図３】図３は、ユーザ１１１に提供される表示画像の図である。
【図４】図４は、ユーザ１１２により撮像された撮像画像の図である。
【図５】図５は、マーカーＭとユーザ１１２の位置関係を考慮しない場合における、従来の表示画像の図である。
【図６】図６は、本実施例における、ユーザ１１２に提供される表示画像の図である。
【図７】図７は、ユーザ１１３により撮像された撮像画像の図である。
【図８】図８は、本実施例における、ユーザ１１３に提供される表示画像の図である。
【図９】図９は、システム構成図である。
【図１０】図１０は、第一の実施例に係る情報処理装置１の機能ブロック図である。
【図１１】図１１は、カメラ座標系とマーカー座標系との関係を示す。
【図１２】図１２は、マーカー座標系からカメラ座標系への変換行列Ｍと、変換行列Ｍ内の回転行列Ｒを示す。
【図１３】図１３は、回転行列Ｒ１、Ｒ２およびＲ３を示す。
【図１４】図１４は、位置情報を説明するための図である。
【図１５】図１５は、カメラ座標系とマーカー座標系とにおけるＡＲコンテンツＣの例を示す。
【図１６】図１６Ａおよび図１６Ｂは、対応情報テーブルの構成例である。
【図１７】図１７は、ＡＲコンテンツ情報テーブルのデータ構成例を示す図である。
【図１８】図１８は、テンプレート情報テーブルのデータ構成例を示す。
【図１９】図１９は、第一の実施例に係る管理装置の機能ブロック図である。
【図２０】図２０は、第一の実施例に係る情報提供方法のフローチャートである。
【図２１】図２１は、第二の実施例に係る情報処理装置の機能ブロック図である。
【図２２】図２２は、第二の実施例に係る管理装置４の機能ブロック図である。
【図２３】図２３は、第二の実施例に係る情報提供方法のフローチャートである。
【図２４】図２４は、各実施例の情報処理装置のハードウェア構成例である。
【図２５】図２５は、コンピュータ３００で動作するプログラムの構成例を示す。
【図２６】図２６は、各実施例の管理装置のハードウェア構成例である。
【発明を実施するための形態】
【００１３】
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
【００１４】
本実施形態が適用されうる一つの利用シーンについて説明する。図１は、本実施形態に関する利用シーンの例を説明するための図である。なお、図１は、現実空間を図示したものである。例えば、柱状のパイプ１０１に、マーカーＭが添付されている。なお、マーカーＭは、撮像装置とＡＲコンテンツとの位置関係を判断するための基準物の一例である。基準物は、形状から基準物であることを認識可能な物体であればよい。パイプ１０１には、バルブ１０２およびセンサ１０３が設置されている。
【００１５】
図１では、各々異なる位置に存在するユーザを、ユーザ１１１、ユーザ１１２、ユーザ１１３とする。なお、ユーザ１１１、ユーザ１１２、ユーザ１１３は、異なる人物であってもよいし、同一人物が異なる時刻に各位置に存在する場合であってもよい。そして、ユーザ１１１、ユーザ１１２、ユーザ１１３は、撮像装置を含む情報処理装置を有し、各々の位置から、マーカーＭを撮像する。
【００１６】
なお、情報処理装置は、後述する通り、撮像装置が撮像した画像からマーカーＭを認識する。そして、情報処理装置は、当該画像に、マーカーＭに対応するＡＲコンテンツを重畳表示した表示画像を生成するとともに、ディスプレイに表示画像を表示する。ユーザ１１１、ユーザ１１２、ユーザ１１３は、各々の撮像画像に対応する表示画像を閲覧する事で、ＡＲコンテンツの内容を把握することができる。
【００１７】
ＡＲコンテンツによって、各ユーザに提供される情報は、現実空間に存在する情報を、補足、拡張、追加するものである。例えば、ＡＲコンテンツにより提供される情報は、現実空間に存在する物体に対して行うべき作業内容、注意喚起、説明事項等である。
【００１８】
例えば、ユーザ１１１は、マーカーＭに対して、ほぼ正対した位置から、マーカーＭを撮像装置により、撮像する。なお、撮像装置は、ユーザ１１１が所持する情報処理装置が備える。情報処理装置は、後述の通り、スマートフォンやタブレットＰＣである。
【００１９】
図２は、ユーザ１１１により撮像された撮像画像の図である。また、図３は、ユーザ１１１に提供される表示画像の図である。なお、図３の表示画像は、図２に示す撮像画像にＡＲコンテンツが重畳表示された画像である。
【００２０】
例えば、図２に示すように、撮像画像には、パイプ１０１、マーカーＭ、バルブ１０２、センサ１０３が含まれる。一方、図３に示すように、後述する処理に基づき生成される表示画像には、さらに、ＡＲコンテンツが含まれる。なお、マーカーＭに、予めＡＲコンテンツＣ１およびＡＲコンテンツＣ２が対応付けられている場合、図３のような表示画像が生成される。つまり、図３に示すように、表示画像は、実空間に存在するパイプ１０１、マーカーＭ、バルブ１０２、センサ１０３に加えて、ＡＲコンテンツＣ１およびＡＲコンテンツＣ２を含む。
【００２１】
ＡＲコンテンツＣ１およびＡＲコンテンツＣ２各々については、三次元空間のモデルデータとして、吹き出し形状かつ「バルブが閉まっていることを確認」等のテキストデータが規定されている。さらに、ＡＲコンテンツＣ１およびＡＲコンテンツＣ２各々については、予め、マーカーＭに対する位置や回転などの配置が指定されている。
【００２２】
例えば、予めＡＲコンテンツを作成する作成者は、実空間に存在するバルブ１０２の位置にＡＲコンテンツＣ１が表示されるように、ＡＲコンテンツＣ１「バルブが閉まっていることを確認」というテキストを表示する吹き出し形状のモデルデータを作成する。
【００２３】
よって、情報処理装置が、マーカーＭを認識すると、ユーザ１１１とマーカーＭの位置関係、および予め指定された配置の情報に応じて、撮像画像上に、ＡＲコンテンツＣ１が表示される。詳細については後述する。ＡＲコンテンツＣ１が作成された後に、ユーザ１１１がマーカーＭを撮像すると、ＡＲコンテンツＣ１「バルブが閉まっていることを確認」が表示されるため、ユーザ１１１はＡＲコンテンツＣ１を閲覧する事で、実空間に存在するバルブ１０２に対して、確認作業を行うことができる。また、ＡＲコンテンツＣ２についても同様である。
【００２４】
次に、図１におけるユーザ１１２の場合について、説明する。ユーザ１１２は、マーカーＭに対して、左側に存在するため、ユーザ１１２が所持する情報処理装置の撮像装置は、マーカーＭを左から撮像することとなる。図４は、ユーザ１１２により撮像された撮像画像の図である。図４に示すとおり、撮像画像は、パイプ１０１、マーカーＭ、バルブ１０２を含む。なお、ユーザ１１２に位置に起因して、センサ１０３は、撮像画像には撮像されない。
【００２５】
図５は、マーカーＭとユーザ１１２の位置関係を考慮しない場合における、従来の表示画像の図である。図３と同様、マーカーＭに対応付けられたＡＲコンテンツＣ１およびＡＲコンテンツＣ２が、一義的に撮像画像に表示される。なお、マーカーＭとユーザ１１２の位置関係は、マーカーＭとユーザ１１１との位置関係とは異なるため、ＡＲコンテンツＣ１およびＡＲコンテンツＣ２の表示画像における表示位置は、異なる。
【００２６】
ここで、ユーザ１１２は、現実空間において、センサ１０３が見えない状態であるため、ＡＲコンテンツＣ２「センサの値を確認」という内容を閲覧しても、どのセンサを確認すればよいのか把握することができない。また、センサ１０３が見えない状態であるため、当該ＡＲコンテンツＣ２に係る作業の実施を忘れてしまう可能性もある。つまり、本来、ＡＲコンテンツの内容をユーザに提供する事で、ユーザの視覚により収集される情報を確証させることを目的とするＡＲ技術が、十分に活かされない状態となる。
【００２７】
そこで、本実施例においては、マーカーＭとユーザ１１２との位置関係を考慮して、位置関係に応じた適切なＡＲコンテンツをユーザ１１２に提供する。図６は、本実施例における、ユーザ１１２に提供される表示画像の図である。図６は、実空間に存在するパイプ１０１、マーカーＭ、バルブ１０２と、ＡＲコンテンツＣ３およびＡＲコンテンツＣ４を含む。ＡＲコンテンツＣ３およびＡＲコンテンツＣ４は、ユーザ１１２とマーカーＭとの位置関係に基づき、ユーザ１１２の環境（視角）を考慮した、適切な情報を提供するＡＲコンテンツである。
【００２８】
例えば、ＡＲコンテンツＣ３「正面のバルブが閉まっていることを確認」は、ユーザ１１２にとって正面に存在するバルブ１０２に対する作業を指示する内容である。また、ＡＲコンテンツＣ４「裏側にセンサあり」は、ユーザ１１２の死角にセンサ１０３が存在することを示す内容である。なお、ＡＲコンテンツＣ４は、センサ１０３が見える場所へ移動を促す内容であってもよいし、裏側のセンサ１０３の値を確認することを指示する内容であってもよい。
【００２９】
このように、ユーザ１１１の環境（視角）にとっては、ＡＲコンテンツＣ１およびＡＲコンテンツＣ２が、適切な情報であるが、ユーザ１１２の環境（視角）にとっては、ＡＲコンテンツＣ３およびＡＲコンテンツＣ４が適切な情報である。したがって、本実施例は、各ユーザとマーカーＭとの位置関係に応じて、表示対象とするＡＲコンテンツを適切に選択する。なお、位置関係に係る条件と、各条件に応じて提供されるＡＲコンテンツについては、事前に作成者によって設定が行われる。
【００３０】
次に、図１におけるユーザ１１３の場合について、説明する。ユーザ１１３は、マーカーＭに対して、右側に存在するため、ユーザ１１３が所持する情報処理装置の撮像装置は、マーカーＭを右から撮像することとなる。図７は、ユーザ１１３により撮像された撮像画像の図である。図７に示すとおり、撮像画像は、パイプ１０１、マーカーＭ、センサ１０３を含む。なお、ユーザ１１３に位置に起因して、バルブ１０２は、撮像画像には撮像されない。
【００３１】
図８は、本実施例における、ユーザ１１３に提供される表示画像の図である。図８は、現実空間に存在するパイプ１０１、マーカーＭ、センサ１０３と、ＡＲコンテンツＣ５およびＡＲコンテンツＣ６を含む。ＡＲコンテンツＣ５およびＡＲコンテンツＣ６は、ユーザ１１３とマーカーＭとの位置関係に基づき、ユーザ１１３の環境（視角）に応じた、適切な情報を提供するＡＲコンテンツである。
【００３２】
例えば、ＡＲコンテンツＣ５「裏側にバルブあり」は、ユーザ１１３の死角にバルブ１０２が存在することを示す内容である。また、ＡＲコンテンツＣ６「正面のセンサの値を確認」は、ユーザ１１３にとって正面に存在するセンサ１０３に対する作業を指示する内容である。なお、ＡＲコンテンツＣ５は、バルブ１０２が見える場所へ移動を促す内容であってもよいし、裏側のバルブ１０２の開閉を確認することを指示する内容であってもよい。
【００３３】
以上の通り、各ユーザとマーカーとの位置関係に応じて、例えば、図３、図６、図８に示したような表示画像が、表示される。なお、ユーザの位置は、撮像画像を撮像した撮像位置である。また、ＡＲコンテンツは、後述する表示情報の一例である。以下、各実施例について、処理内容を詳細に説明する。
【００３４】
［第一の実施例］
まず、第一の実施例に係る詳細な処理および情報処理装置等の構成について説明する。図９は、システム構成図である。図９の例では、情報処理装置の例として、通信端末１−１および通信端末１−２を示す。以下、これらを総称して、情報処理装置１とする。さらに、情報処理装置１は、ネットワークＮを介して、管理装置２と通信する。情報処理装置１は、例えば、タブレットＰＣやスマートフォンなどのコンピュータである。管理装置２は、例えば、サーバコンピュータであって、情報処理装置１を管理する。ネットワークＮは、例えば、インターネットである。なお、本実施例に係るシステムは、情報処理装置１および管理装置２を含む。
【００３５】
情報処理装置１は、管理装置２の管理の下、ユーザとマーカーとの位置関係に応じた表示画像を表示する。例えば、ユーザとマーカーとの位置関係に応じたＡＲコンテンツを提供する。その結果、表示画像には、ユーザの環境に応じた、適切なＡＲコンテンツが含まれることとなる。
【００３６】
次に、情報処理装置１の機能的構成について説明する。図１０は、第一の実施例に係る情報処理装置１の機能ブロック図である。情報処理装置１は、通信部１０、制御部１１、記憶部１３、表示部１４を含む。また、情報処理装置１は、撮像部１２をさらに備えてもよい。撮像部１２は、撮像装置であるため、ユーザの位置は、当該情報処理装置１の位置となる。
【００３７】
なお、情報処理装置１が撮像部１２を備えない場合は、通信部１０が、他の撮像装置から撮像画像を、取得してもよい。ただし、このとき、ユーザの位置は、情報処理装置１の位置ではなく、他の撮像装置による撮像位置となる。
【００３８】
通信部１０は、他のコンピュータと通信を行う。例えば、管理装置２と通信を行う。そして、通信部１０は、ＡＲコンテンツ情報、テンプレート情報、対応情報を、管理装置２から受信する。詳細は後述するが、ＡＲコンテンツ情報は、ＡＲコンテンツを定義するための情報である。テンプレート情報は、ＡＲコンテンツのモデルデータを描画するための情報である。対応情報は、撮像位置とマーカーとの位置関係に関する条件と、当該条件において提供されるＡＲコンテンツとを対応付けた情報である。
【００３９】
制御部１１は、情報処理装置１が実行する各種処理を制御する。例えば、制御部１１は、撮像部１２が撮像した撮像画像を、入力画像として受け付けるとともに、撮像位置とマーカーとの位置関係に応じた情報提供を行う。なお、制御部１１は、認識部１５、算出部１６、決定部１７、生成部１８を含む。
【００４０】
認識部１５は、入力画像から基準物を認識する。つまり、本実施例においては、マーカーを認識する。マーカーの認識方法は、従来の物体認識方法が適用される。例えば、認識部１５は、マーカーの形状を既定したテンプレートを用い、テンプレートマッチングを行うことでマーカーを認識する。
【００４１】
さらに、認識部は、基準物であるマーカーが撮像装置に含まれることを認識すると、マーカーＩＤを取得する。なお、マーカーＩＤは、マーカーを識別する識別情報である。なお、マーカーＩＤを取得する方法は、従来の取得方法が適用される。例えば、基準物がマーカーである場合には、二次元バーコードと同様に、白と黒の配置から、一意のマーカーＩＤが取得される。
【００４２】
算出部１６は、認識部１５が認識した基準物の像に基づいて、基準物と入力画像の撮像位置との位置関係を示す位置情報を算出する。例えば、入力画像内の基準物（マーカー）の像の形状に基づき、位置情報を算出する。
【００４３】
撮像画像内に写り込んだ基準物の見え方（像）に基づいて、撮像装置と基準物との現実空間における位置関係が求められる。基準物は形状や模様などが既知の物体であり、例えば基準物の像と既知の形状や模様との照合により、基準物がカメラに対してどのような位置にあるかが判別される。
【００４４】
ここで、位置情報の算出方法について、詳細を説明する。まず、カメラ座標系と、マーカー座情景について説明する。図１１は、カメラ座標系とマーカー座標系との関係を示す。
【００４５】
図１１に示されるマーカーＭは、ＡＲコンテンツ表示に用いられる基準物の一例である。図１１に例示されるマーカーＭは、正方形形状であり、予めサイズが定められている（例えば１辺の長さが１０ｃｍなど）。図１１に示されるマーカーＭは正方形形状であるが、複数の視点ののうちのどの視点から撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の基準物が用いられてもよい。他の例として、撮像画像から生成される特徴点などが基準物に用いられる。
【００４６】
カメラ座標系は、（Ｘｃ，Ｙｃ，Ｚｃ）の３次元で構成され、例えばカメラの焦点を原点（原点Ｏｃ）とする。なお、カメラは、本実施例においては、情報処理装置１が備える撮像装置の一例である。例えば、カメラ座標系のＸｃ−Ｙｃ平面はカメラの撮像素子面と平行な面であり、Ｚｃ軸は撮像素子面に垂直な軸（奥行き方向）である。
【００４７】
マーカー座標系は、（Ｘｍ，Ｙｍ，Ｚｍ）の３次元で構成され、例えばマーカーＭの中心を原点（原点Ｏｍ）とする。例えば、マーカー座標系のＸｍ−Ｙｍ平面はマーカーＭの模様の印刷面と平行な面であり、Ｚｍ軸はマーカーＭの印刷面と垂直である。マーカー座標系の原点Ｏｍは、カメラ座標系において位置座標Ｖ１ｃ（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）で示される。
【００４８】
また、カメラ座標系に対するマーカー座標系の回転角は、回転座標Ｇ１ｃ（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）で示される。Ｐ１ｃはＸｃ軸回りの回転角であり、Ｑ１ｃはＹｃ軸回りの回転角であり、Ｒ１ｃはＺｃ軸回りの回転角である。図１１に例示されるマーカーＭはＹｍ軸回りにのみ回転しているため、この場合は、Ｐ１ｃおよびＲ１ｃは０である。
【００４９】
図１２は、マーカー座標系からカメラ座標系への変換行列Ｍと、変換行列Ｍ内の回転行列Ｒを示す。変換行列Ｍは、４×４の行列である。変換行列Ｍは、カメラ座標系におけるマーカーの位置座標Ｖ１ｃ（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）および回転座標Ｇ１ｃ（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）に基づいて算出される。
【００５０】
回転行列Ｒは、既知の形状のマーカーＭ（正方形）を、どのように回転させたら入力画像内のマーカーＭの像と一致するかを示している。よって、回転行列Ｒは、各軸の回転行列Ｒ１、Ｒ２、Ｒ３の積により求められる。なお、回転行列Ｒ１、Ｒ２およびＲ３は、図１３に示す通りである。図１３は、回転行列Ｒ１、Ｒ２およびＲ３を示す図である。
【００５１】
ここで、変換行列Ｍの逆行列Ｍ−１の１〜３行目且つ１〜３列の部分行列（回転行列Ｒ）がカメラ座標系の座標に作用することにより、カメラ座標系の向きとマーカー座標系との向きを合わせるための回転操作が行なわれる。逆行列Ｍ−１の１〜３行目且つ４列目の部分行列が作用することにより、カメラ座標系の向きとマーカー座標系との位置を合わせるための並進操作が行なわれる。
【００５２】
算出部１６は、変換行列を生成したあと、マーカー座標系からカメラ座標系への変換行列Ｍの逆行列Ｍ−１と、列ベクトルＡｃ（Ｘｃ，Ｙｃ，Ｚｃ，１）との積により、列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）を求める。具体的には、算出部１６は、以下の式１により、列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）を求める。
2015022737.tif 000003
【００５３】
なお、撮像位置は、カメラ座標系の原点と略一致すると考えると、撮像位置は（０，０，０）である。よって、Ａｃに列ベクトル（０，０，０，１）を代入する事で、式１により、カメラ座標系の原点が、マーカー座標系のどの点に対応するのかを求めることができる。
【００５４】
以下、カメラ座標系の原点に対応するマーカー座標系の点をＵ（Ｘｕ，Ｙｕ，Ｚｕ）とする。なお、点Ｕは、式１により求められる列ベクトルＡｕ（Ｘｕ，Ｙｕ，Ｚｕ，１）の、３次元までの値により決定される点である。
【００５５】
次に、算出部１６は、点Ｕに基づき、マーカーからの方向を示す位置情報を算出する。図１４は、位置情報を説明するための図である。図１４に示す通り、算出部１６は、本実施例においては、マーカー座標系のＸ軸を基準として、マーカーのＸｍ−Ｙｍ平面を基準としたときの撮像位置の方向θｕを求める。
【００５６】
本実施例においては、以下の式２を用いてｃｏｓθｕを求め、ｃｏｓθｕを位置情報として利用する。なお、ｃｏｓθｕを変換して、位置情報θｕを求めてもよい。さらに、方向θによらない、Ｕ（Ｘｕ，Ｙｕ，Ｚｕ）を位置情報として利用することも可能である。
2015022737.tif 000004
【００５７】
また、上記方法以外の方法によって、位置情報を算出してもよい。例えば、算出部１６は、基準物の像に基づき、位置情報「撮像位置は基準物に対して右である」、または、位置情報「撮像位置は基準物に対して左である」を生成する。例えば、正面から見た場合の形状が正方形である基準物を利用する場合、入力画像内の基準物の像において、左の辺が右の辺よりも一定割合以上短ければ、算出部１６は、位置情報「撮像位置は基準物に対して右である」を生成する。つまり、算出部１６は、基準物の既知の形状を基準として、左の辺と右の辺の長さを比較する事で、基準物に対する撮像位置の位置関係を示す位置情報を算出する。なお、後述の決定部１７は、当該位置情報に応じて表示情報を切り替えて選択する。
【００５８】
図１０に戻る。決定部１７は、算出部１６が算出した位置情報に応じた表示情報を決定する。例えば、決定部１７は、対応情報を参照し、位置情報が合致する条件を特定する。そして、決定部１７は、対応情報において、当該条件に対応づいた表示情報（ＡＲコンテンツ）を特定する。なお、特定された表示情報は、例えば、生成部１８を介して、ユーザに提供される。また、対応情報については、後述する。
【００５９】
生成部１８は、表示情報および入力画像に基づき、表示画像を生成する。例えば、生成部１８は、決定部１７により特定されたＡＲコンテンツを、ＡＲコンテンツ情報およびテンプレート情報に基づき、入力画像に重畳表示させた表示画像を生成する。ＡＲコンテンツ情報およびテンプレート情報については、後述する。
【００６０】
ここで、表示画像の生成方法について説明する。ＡＲコンテンツは、複数の点を含むモデルデータである。そして、複数の点を直線や曲線で補間して得られる複数の面ごとに模様（テクスチャ）や画像が設定され、複数の面が合成されることで３次元のモデルデータが形成される。
【００６１】
また、ＡＲコンテンツの配置においては、ＡＲコンテンツを構成する各点の座標が、現実空間内に存在する基準物を基準として定められる。一方で、先に述べたとおり、カメラが撮像した撮影画像内に写り込んだ基準物の見え方（像）に基づいて、カメラと基準物との現実空間における位置関係が求められる。
【００６２】
したがって、基準物を基準とする座標と、カメラと基準物との位置関係により、カメラとＡＲコンテンツの各点の座標との位置関係を求めることができる。そして、カメラとＡＲコンテンツの各点の座標との位置関係に基づいて、カメラが仮想空間上に存在するＡＲコンテンツを仮に撮像した場合に得られるＡＲコンテンツの像（投影画像）が生成される。なお、カメラ座標系、マーカー座標系については、先に説明した通りである。
【００６３】
図１５は、カメラ座標系とマーカー座標系とにおけるＡＲコンテンツの例を示す。図１５に例示するＡＲコンテンツＣ１は、吹き出し形状のモデルデータであり、吹き出し内に「バルブが閉まっていることを確認」というテキストデータを含む。ＡＲコンテンツＣ１の吹き出しの先端の黒丸は、ＡＲコンテンツＣ１の基準点とする。ＡＲコンテンツＣ１の基準点のマーカー座標系における座標は、Ｖ１ｍ（Ｘ１ｍ，Ｙ１ｍ，Ｚ１ｍ）とする。さらにＡＲコンテンツＣ１の向きは回転座標Ｇ１ｍ（Ｐ１ｍ，Ｑ１ｍ，Ｒ１ｍ）で定められ、ＡＲコンテンツＣ１のサイズは倍率Ｄ１ｍ（Ｊ１ｘ，Ｊ１ｙ，Ｊ１ｚ）で定められる。
【００６４】
ＡＲコンテンツＣ１を構成する各点の座標は、ＡＲコンテンツＣの雛型（ＡＲテンプレート）に定義された各点の座標が、基準点の座標Ｖ１ｍ、回転座標Ｇ１ｍおよび倍率Ｄ１ｍに基づいて調整された座標である。
【００６５】
ＡＲテンプレートに定義される基準点の座標は、例えば、（０，０，０）である。ＡＲテンプレートに含まれる各座標は、設定された回転座標Ｇ１ｍに基づいて回転され、倍率Ｄ１ｍで拡縮され、さらに基準点の座標Ｖ１ｍに基づいて平行移動されて調整される。図３のＡＲコンテンツＣ１は、ＡＲテンプレートに定義された各点が、マーカーＭのマーカー座標系において、基準点の座標Ｖ１ｍ、回転座標Ｇ１ｍおよび倍率Ｄ１ｍに基づいて調整された点に基づいて構成された状態である。
【００６６】
ＡＲコンテンツＣ１に関しては、後述のＡＲコンテンツ情報により、マーカー座標系における基準点の座標や回転座標等の配置に関する情報があらかじめ設定されている。さらに、ＡＲコンテンツＣ１に適用されるテンプレートのテンプレート情報においては、当該テンプレートを構成する各点の情報が設定されている。
【００６７】
したがって、生成部は、ＡＲコンテンツ情報およびテンプレート情報を用いて、ＡＲコンテンツの各点のマーカー座標系での座標をカメラ座標系の座標に変換する。さらに、カメラ座標系の座標は、表示画面内の位置（スクリーン座標系の座標）に変換される。変換された座標に基づいて、ＡＲコンテンツＣ１の投影画像が生成される。
【００６８】
なお、カメラ座標系における座標は、マーカー座標系における座標に対して、座標Ｖ１ｃおよび回転座標Ｇ１ｃに基づく座標変換（モデル−ビュー変換）を行なうことにより算出される。例えば、モデル−ビュー変換が座標Ｖ１ｍに対して行なわれると、基準点のカメラ座標系における座標Ｖ２ｃ（Ｘ２ｃ，Ｙ２ｃ，Ｚ２ｃ）が求められる。
【００６９】
なお、マーカー座標系からカメラ座標系への変換は、図１２および図１３に示した行列式に基づき行われる。生成部１８は、以下の式３を用いて、マーカー座標系からカメラ座標系への変換行列Ｍと列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）との積により、列ベクトルＡｃ（Ｘｃ，Ｙｃ，Ｚｃ，１）を求める。
2015022737.tif 000005
【００７０】
列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）に座標変換（モデル−ビュー変換）対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトルＡｃ（Ｘｃ，Ｙｃ，Ｚｃ，１）が得られる。
【００７１】
なお、図１２に示した変換行列Ｍの１〜３行目且つ１〜３列の部分行列（回転行列Ｒ）がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Ｍの１〜３行目且つ４列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
【００７２】
以上のとおり、ＡＲコンテンツＣを構成する各点のマーカー座標系の座標（Ｘｍ，Ｙｍ，Ｚｍ）は、変換行列Ｍに基づくモデル−ビュー変換により、カメラ座標系の座標（Ｘｃ，Ｙｃ，Ｚｃ）に変換される。図１５に例示される位置座標Ｖ１ｍはモデル−ビュー変換により位置座標Ｖ２ｃに変換される。
【００７３】
次に、表示画像内でのＡＲコンテンツの投影位置を決定するための透視変換について説明する。透視変換は、カメラ座標系からスクリーン座標系への座標変換である。なお、スクリーン座標系は、（Ｘｓ，Ｙｓ）の２次元で構成され、例えばカメラの撮像処理により得られる撮像画像の中心を原点（原点Ｏｓ）とする。ＡＲコンテンツＣの各点のカメラ座標系の座標は、透視変換によりスクリーン座標系に変換される。透視変換により得られる各点のスクリーン座標系の座標に基づいて、ＡＲコンテンツＣの投影画像が生成される。
【００７４】
透視変換は、例えば、カメラの焦点距離ｆに基づいて行なわれる。カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＸｓ座標は、以下の式４で求められる。また、カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＹｓ座標は、以下の式５で求められる。
Ｘｓ＝ｆ・Ｘｃ／Ｚｃ    （式４）
Ｙｓ＝ｆ・Ｙｃ／Ｚｃ    （式５）
【００７５】
ＡＲコンテンツＣを構成する各点の位置座標（カメラ座標系）が透視変換されて得られる位置座標（スクリーン座標系）に基づいて、ＡＲコンテンツＣの投影画像が生成される。ＡＲコンテンツＣに適用されるテンプレートのテンプレート情報には、どの点を補間して面を形成するか、どの面にどのテクスチャ（または画像）をマッピングするかが定義されている。ＡＲコンテンツＣの投影画像は、ＡＲテンプレートの定義に従って各位置座標（スクリーン座標系）を補間して得られる面にテクスチャや画像がマッピングされることにより生成される。
【００７６】
上述のモデル−ビュー変換および透視変換により、マーカー座標系の座標に対応する撮像画像上の座標が算出され、その座標を利用することで、カメラの視点に応じたＡＲコンテンツＣの投影画像が生成される。ＡＲコンテンツＣの投影画像が撮像画像に合成されると、あたかも３次元物体が存在するかのように画面に表示されるため、ユーザに提供される視覚的な情報が拡張される。
【００７７】
また、ＡＲコンテンツ表示の他の例として、透過型ディスプレイにＡＲコンテンツＣの投影画像が表示されてもよい。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ＡＲコンテンツの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。本実施形態におけるＡＲコンテンツの投影画像と撮像画像とを合成して表示する処理などは、透過ディスプレイを用いる場合には、ＡＲコンテンツを表示する処理としてもよい。
【００７８】
以上の処理を、マーカーＭに対応付けられた各ＡＲコンテンツに対して実施することで、現実空間の撮像画像にＡＲコンテンツの投影画像を重畳させた重畳画像が生成される。なお、変換行列Ｍは、算出部１６が生成した変換行列を、生成部１８が利用してもよい。
【００７９】
図１０の説明に戻る。撮像部１２は、画像を撮像する。そして、撮像部１２は、制御部１１へ撮像画像を入力する。なお、撮像部１２は、所定のフレーム間隔で画像を撮像する。
【００８０】
記憶部１３は、制御部１１の制御の下、各種情報を記憶する。記憶部１３は、対応情報、ＡＲコンテンツ情報、テンプレート情報を記憶する。表示部１４は、生成部１８により生成された表示画像等の画像を表示する。
【００８１】
以下、各種情報について説明する。図１６Ａおよび図１６Ｂは、対応情報テーブルの構成例である。対応情報テーブルは、対応情報を格納する。図１６Ａは、各マーカーに対応する条件を管理するための第一の対応情報テーブルである。図１６Ｂは、位置情報に関する条件と、当該条件において提供される表示情報とを管理するための第二の対応情報テーブルである。
【００８２】
まず、第一の対応情報テーブルは、マーカーＩＤと条件ＩＤとを対応付けて記憶する。なお、条件ＩＤは、条件を識別するための識別情報である。例えば、図１６Ａは、マーカーＩＤ「Ｍ１」に対しては、３つの条件ＩＤ「Ｐ１」「Ｐ２」「Ｐ３」が適用されることを示している。
【００８３】
次に、第二の対応情報テーブルは、条件ＩＤ、条件、コンテンツＩＤを対応付けて記憶する。なお、コンテンツＩＤは、ＡＲコンテンツを識別するための識別情報である。例えば、図１６Ｂは、条件ＩＤ「Ｐ１」の条件は、「位置情報ｃｏｓθｕが、ｃｏｓ４５°からｃｏｓ７５°の間である」場合に適用される条件であることを示す。なお、θｕが４５°から７５°の間であるという条件であってもよい。
【００８４】
さらに、図１６Ｂの例では、位置情報が当該条件に該当する場合、コンテンツＩＤ「Ｃ３」およびコンテンツＩＤ「Ｃ４」に対応するＡＲコンテンツが、提供されることを示している。例えば、図１のユーザ１１２について、θｕが６０°であれば、ＡＲコンテンツＣ３とＡＲコンテンツＣ４が提供され対象となる。なお、対応情報テーブルを、決定部１７が参照し、提供する表示情報を特定したあと、生成部１８が表示画像を生成する事で、図６のような表示画像がユーザ１１２に提供される。
【００８５】
また、図１６Ｂの例では、０°から４５°までの範囲および１３５°から１８０°までの範囲については、いずれの条件にも合致しない。これは、マーカーＭの形状を認識可能な範囲が、４５°から１３５°までであるためである。ただし、認識可能な範囲がより広い場合には、条件として設定される範囲も広くなる。
【００８６】
また、位置情報として、Ｕ（Ｘｕ，Ｙｕ，Ｚｕ）を利用する場合には、各軸の値の取りうる範囲が、条件として規定される。さらに、θと併せて、マーカーＭからの距離や、高さなどが条件として規定されてもよい。また、図１６Ｂの場合は、条件ごとにいずれかのＡＲコンテンツが提供される例を示したが、これに限られない。例えば、ある条件のときには、ＡＲコンテンツＣ１およびＣ２を表示するが、他の条件の時はいずれのＡＲコンテンツも表示しないとしてもよい。
【００８７】
他の利用例としては、マーカーに対して、距離Ｄ１、方向Ｄ２の位置に頭上に危険物が存在するとする。このとき、距離Ｄ１および方向Ｄ２の周囲のエリアを条件として規定し、位置情報が当該条件に合致する場合、「頭上注意」というＡＲコンテンツを表示情報として提供するとしてもよい。一方、当該周辺のエリア外を他の条件として規定し、当該他の条件に合致する場合には、特にＡＲコンテンツを表示しないとしてもよい。
【００８８】
図１７は、ＡＲコンテンツ情報テーブルのデータ構成例を示す図である。ＡＲコンテンツ情報テーブルは、ＡＲコンテンツ情報を記憶する。ＡＲコンテンツ情報は、各ＡＲコンテンツについて、コンテンツＩＤ、マーカーＩＤ、テンプレートＩＤ、配置情報、倍率情報、付属情報等を有する。
【００８９】
コンテンツＩＤは、各ＡＲコンテンツを識別する情報である。マーカーＩＤは、各ＡＲマーカーを識別する情報である。テンプレートＩＤは、テンプレートを識別する情報である。なお、テンプレートは、表示画像に表示されるＡＲコンテンツの３次元モデルの形状や模様が定義された情報である。
【００９０】
配置情報は、ＡＲマーカー等の基準物に対するＡＲコンテンツの配置位置や、回転に関わる情報である。具体的には、配置情報は、ＡＲマーカー座標系における位置座標と、回転座標とを含む。倍率情報は、テンプレートに従う三次元モデルを拡大または縮小を定義するための情報である。付属情報は、各ＡＲコンテンツに付属する情報である。例えば、付属情報は、テンプレートに従う三次元モデルに表示するテキスト情報である。
【００９１】
図１７では、例えば、コンテンツＩＤ「Ｃ１」のＡＲコンテンツは、マーカーＩＤ「ＭＡ」のＡＲマーカーに対応付けられており、テンプレートＩＤ「Ｔ１」で規定された三次元モデルで表現される。そして、コンテンツＩＤ「Ｃ１」のＡＲコンテンツは、基準となる位置座標（Ｘ１ｍ，Ｙ１ｍ，Ｚ１ｍ）、回転座標（Ｐ１ｍ，Ｑ１ｍ，Ｒ１ｍ）、倍率（Ｊ１ｘ，Ｊ１ｙ，Ｊ１ｚ）に基づき、カメラとＡＲマーカーの位置関係に応じて、撮像画像上に配置される。さらに、コンテンツＩＤ「Ｃ１」のＡＲコンテンツは、テンプレートＩＤ「Ｔ１」に従った三次元モデルに、付属情報「バルブが閉まっていることを確認」というテキスト情報を配置する。
【００９２】
図１８は、テンプレート情報テーブルのデータ構成例を示す。テンプレート情報テーブルは、テンプレート情報を格納する。テンプレート情報は、ＡＲテンプレートのテンプレートＩＤ、ＡＲテンプレートを構成する各頂点の座標データＴ１１、およびＡＲテンプレートを構成する各面の面構成データＴ１２を含む。面構成データに含まれる各面の情報は、面を構成する頂点の順序である頂点順序と、テクスチャＩＤの指定とを含む。テクスチャＩＤは、面にマッピングされるテクスチャの識別情報（画像ファイルの識別情報）を示す。ＡＲテンプレートの基準点は例えば０番目の頂点である。
【００９３】
ここで、認識部１５が、撮像部１２から取得した撮像画像において、マーカーＩＤ「ＭＡ」に対応するＡＲマーカーを認識すると、算出部１６が位置情報を算出する。位置情報が、ｃｏｓ６０°である場合には、対応情報に基づき、提供対象の表示情報として、ＡＲコンテンツＣ３およびＡＲコンテンツＣ４が特定される。すると、生成部１８は、図１７のＡＲコンテンツ情報および図１８のテンプレート情報を用いて、ＡＲコンテンツＣ３およびＣ４を含む表示画像（図６）を生成する。つまり、撮像位置とマーカーとの位置関係に応じたＡＲコンテンツの投影画像が、撮像画像に配置される。
【００９４】
次に、図９における管理装置２の機能的構成について説明する。図１９は、第一の実施例に係る管理装置２の機能ブロック図である。管理装置２は、通信部２０、制御部２１、記憶部２２を有する。通信部２０は、他の装置と通信を行う。例えば、通信部２０は、情報処理装置１と通信を行うことで、ＡＲコンテンツ情報、テンプレート情報、対応情報等を送信する。
【００９５】
制御部２１は、管理装置２が実行する各種処理を制御する。例えば、情報処理装置１から各種情報の要求を受信した場合、記憶部２２から情報を読み出し、通信部２０を制御することで、情報処理装置１へ情報を送信する。本実施例においては、初めに情報処理装置１から要求を受けた時点で、ＡＲコンテンツ情報、テンプレート情報、対応情報を情報処理装置１へ送信する。情報処理装置１を持ったユーザが施設内で点検業務を行う際、施設内に通信電波が届かない場所等が存在しても、ＡＲを利用した点検業務を実行できるようにするためである。
【００９６】
例えば、制御部２１は、情報処理装置１が存在する場所や、情報処理装置１を操作するユーザに応じて、送信対象とするＡＲコンテンツ情報、テンプレート情報、対応情報を決定してもよい。例えば、制御部２１は、各マーカーが設置されている場所と、各マーカーのマーカーＩＤとを対応付けた管理情報を参照し、情報処理装置１が存在する周囲に存在するマーカーについて、制御部２１は、ＡＲコンテンツ情報、テンプレート情報、対応情報を記憶部２２から抽出する。
【００９７】
また、各業務の業務手順を記したシナリオ情報を予め用意することで、情報処置装置１により選択されたシナリオに関連するマーカーに関する各種情報を、管理装置２は、情報処理装置１へ提供してもよい。シナリオ情報には、業務に関連する場所と、当該場所に設置されたマーカーのマーカーＩＤが含まれる。
【００９８】
記憶部２２は、ＡＲコンテンツ情報、テンプレート情報、対応情報を記憶する。さらに、必要に応じて、各マーカーの設置場所に関する管理情報や、シナリオに関するシナリオ情報を記憶してもよい。記憶部２２に記憶されたＡＲコンテンツ情報、テンプレート情報、対応情報の一部または全部は、情報処理装置１からの要求に応じて、情報処理装置１の記憶部１３に記憶される。
【００９９】
次に、本実施例に係る情報提供方法の処理フローを説明する。図２０は、第一の実施例に係る情報提供方法のフローチャートである。なお、フローチャートに示す処理に先駆けて、情報処理装置１は、管理装置２から、ＡＲコンテンツ情報、テンプレート情報、対応情報を取得し、記憶部１３に格納しているものとする。
【０１００】
まず、認識部１５は、撮像部１２が撮像した撮像画像を、入力画像として取得する（Ｏｐ．１）。そして、認識部１５は、入力画像から、基準物（マーカー）を認識したか否かを判定する（Ｏｐ．２）。例えば、基準物のテンプレートに合致する物体が、入力画像に含まれているかが判定される。基準物を認識しない場合には（Ｏｐ．２Ｎｏ）、情報処理装置１は、情報提供処理を終了する。
【０１０１】
一方、基準物を認識した場合には（Ｏｐ．２Ｙｅｓ）、認識部１５は、さらに、基準物の識別情報を取得するとともに、認識結果と基準物の識別情報を算出部１６へ出力する。例えば、マーカーを認識した旨の認識結果と、マーカーＩＤが算出部１６へ出力される。次に、算出部１６は、入力画像における基準物の像に基づき、基準物と撮像位置の位置関係を示す位置情報を算出する（Ｏｐ．３）。なお、位置情報の算出の方法は、先に述べた算出方法等が適用される。そして、算出部１６は、位置情報とマーカーＩＤとを、決定部１７へ出力する。
【０１０２】
決定部１７は、対応情報と位置情報とマーカーＩＤとに基づき、表示情報を選択する（Ｏｐ．４）。例えば、決定部１７は、第一の対応情報から、マーカーＩＤに対して適用される条件ＩＤを特定するとともに、特定された条件ＩＤのうち、位置情報が示す位置が合致する条件を検索する。そして、検索された条件に対応するＡＲコンテンツを特定する。そして、決定部１７は、特定した表示情報を、生成部１８へ出力する。
【０１０３】
生成部１８は、特定された表示情報、ＡＲコンテンツ情報、テンプレート情報、入力画像に基づき、表示画像を生成する（Ｏｐ．５）。なお、表示画像の生成方法は、先に述べた生成方法等が適用される。そして、表示部１４は、表示画像を表示する（Ｏｐ．６）。以上で、情報処理装置１は、情報提供処理を終了する。
【０１０４】
以上のように、本実施例に開示の情報処理装置１は、ユーザが存在する環境に応じた情報提供を行うことができる。つまり、基準物と撮像位置との位置関係に基づき、ユーザに情報が提供されるため、基準物を基準とした環境に応じた情報が提供される。
【０１０５】
［第二の実施例］
第一の実施例では、情報処理装置が提供する情報の選択を行っていた。第二の実施例では、管理装置が提供する情報の選択を行う。例えば、表示画像に重畳表示されるＡＲコンテンツを、管理装置が選択する。そして、管理装置は、選択したＡＲコンテンツに関するＡＲコンテンツ情報、テンプレート情報を情報処理装置へ送信する。以上のように、第二の実施例においては、事前に、ＡＲコンテンツ情報、テンプレート情報、対応情報を、情報処理装置が記憶する必要がない。
【０１０６】
第二の実施例に係るシステムは、情報処理装置３および管理装置４を含む。なお、情報処理装置３は、第一の実施例と同様に、ユーザが所持する通信端末である。管理装置４は、第一の実施例と同様に、情報処理装置３を管理するサーバコンピュータである。
【０１０７】
まず、第二の実施例に係る情報処理装置３の機能的構成について説明する。図２１は、第二の実施例に係る情報処理装置の機能ブロック図である。情報処理装置３は、通信部３０、制御部３１、撮像部３２、記憶部３３、表示部３４を含む。
【０１０８】
通信部３０は、管理装置４と通信を行う。例えば、通信部３０は、情報提供要求を管理装置４へ送信する。情報提供要求は、認識部３５が認識したマーカーＩＤおよび算出部３６が算出した位置情報を含む。情報提供要求は、さらに、ユーザＩＤや時間情報、ＧＰＳ等で取得した場所情報を含んでもよい。ユーザＩＤや時間情報、ＧＰＳ等で取得した場所情報は、ユーザを識別するために利用される。
【０１０９】
また、通信部３０は、情報提供要求を送信したのち、管理装置４から表示情報を取得する。なお、本実施例における表示情報は、管理装置４により選択されたＡＲコンテンツのＡＲコンテンツ情報および関連するテンプレート情報を含む。
【０１１０】
制御部３１は、情報処理装置３が実行する各種処理を制御する。また、制御部３１は、認識部３５、算出部３６、生成部３７を有する。認識部３５は、第一の実施例に係る認識部１５と同様の処理を行う。算出部３６は、第一の実施例に係る算出部１６と同様の処理を行う。
【０１１１】
さらに、第二の実施例における算出部３６は、位置情報を算出した後、前記情報提供要求を生成する。そして、算出部３６は、通信部３０を制御して、情報提供要求を管理装置４へ送信する。生成部３７は、管理装置４から取得した表示情報に基づき、表示画像を生成する。なお、表示画像の生成については、第一の実施例と同様である。
【０１１２】
記憶部３３は、各種情報を記憶する。ただし、ＡＲコンテンツ情報、テンプレート情報、対応情報を、事前に管理装置４から取得する必要はない。記憶部３３は、管理装置４から取得した表示情報を一時的に記憶する。また、表示部３４は、第一の実施例における表示部１４と同様、表示画像を表示する。
【０１１３】
次に、管理装置４の機能的構成について説明する。図２２は、第二の実施例に係る管理装置４の機能ブロック図である。管理装置４は、通信部４０、制御部４１、記憶部４２を含む。
【０１１４】
通信部４０は、情報処理装置３と通信を行う。例えば、通信部４０は、情報提供要求を情報処理装置３から受信する。また、通信部４０は、制御部４１の制御の下、ユーザの位置とマーカーとの位置関係を示す位置情報に応じた表示情報を、情報処理装置３へ送信する。
【０１１５】
制御部４１は、管理装置４が実行する各種処理を制御する。制御部４１は、決定部４３を含む。決定部４３は、情報提供要求に含まれる位置情報およびマーカーＩＤに基づき、提供する情報を特定する。
【０１１６】
例えば、決定部４３は、対応情報を参照し、条件に合致するＡＲコンテンツを特定する。さらに、特定されたＡＲコンテンツに関連するＡＲコンテンツ情報およびテンプレート情報を、記憶部４２から読み出す。そして、決定部４３は、通信部を制御して、読み出した情報を情報処理装置３へ送信する。
【０１１７】
記憶部４２は、各種情報を記憶する。例えば、ＡＲコンテンツ情報、テンプレート情報、対応情報を記憶する。なお、各種情報のデータ構成は、第一の実施例と同様である。
【０１１８】
次に、情報処理装置３および管理装置４の処理フローについて説明する。図２３は、第二の実施例に係る情報提供方法のフローチャートである。
【０１１９】
まず、情報処理装置３の認識部３５は、撮像部３２より入力画像を取得する（Ｏｐ．１１）。次に、認識部３５は、入力画像から基準物を認識したか否かを判定する（Ｏｐ．１２）。例えば、基準物のテンプレートに合致する物体が、入力画像に含まれているかが判定される。基準物を認識しない場合には（Ｏｐ．１２Ｎｏ）、情報処理装置３は、情報提供処理を終了する。
【０１２０】
一方、基準物を認識した場合には（Ｏｐ．１２Ｙｅｓ）、認識部３５は、認識結果と基準物の識別情報を、算出部３６へ出力する。そして、算出部３６は、入力画像における基準物の像に基づき、基準物と撮像位置の位置関係を示す位置情報を算出する（Ｏｐ．１３）。算出部３６は、位置情報とマーカーＩＤとを含む情報提供要求を生成する。通信部３０は、制御部３１の制御の下、情報提供要求を管理装置４へ送信する（Ｏｐ．１４）。
【０１２１】
一方、管理装置４の通信部４０は、情報提供要求を受信する（Ｏｐ．２１）。そして、決定部４３は、情報提供要求に含まれる位置情報およびマーカーＩＤに基づき、表示情報を選択する（Ｏｐ．２２）。ここでは、対応情報が参照され、条件に合致するＡＲコンテンツが選択されるとともに、当該ＡＲコンテンツのＡＲコンテンツ情報、テンプレート情報が選択される。次に、通信部４０は、制御部４１の制御の下、ＡＲコンテンツ情報およびテンプレート情報を含む表示情報を情報処理装置３へ送信する（Ｏｐ．２３）。
【０１２２】
次に、情報処理装置３の通信部３０は、表示情報を受信する（Ｏｐ．１５）。そして、生成部３７は、受信した表示情報および、Ｏｐ．１１で取得した入力画像を用いて、表示画像を生成する（Ｏｐ．１６）。そして、表示部３４は、表示画像を表示する（Ｏｐ．１７）。
【０１２３】
以上の通り、本実施例によれば、撮像位置とマーカーとの位置関係に応じた情報提供が行われる。また、表示対象のＡＲコンテンツに関わるＡＲコンテンツ情報およびテンプレート情報が、管理装置４から送信されるため、情報処理装置３は、事前にＡＲコンテンツに関わるＡＲコンテンツ情報およびテンプレート情報を取得する必要はない。よって、記憶領域を削減することができる。
【０１２４】
［変形例］
第二の実施例は、以下のように変更することもできる。例えば、情報処理装置３の制御部３１は、生成部３７のみを有する。そして、管理装置４の制御部４１が、情報処理装置３の認識部３５および算出部３６相当の機能を備えてもよい。この場合、情報処理装置３は、表示画像の生成のみを行えばよいため、処理負荷を軽減することができる。
【０１２５】
つまり、情報処理装置３の通信部３０は、情報提供要求として、入力画像を、管理装置４へ送信する。そして、管理装置３における認識部３５、算出部３６、決定部４３が、撮像位置とマーカーとの位置関係に応じた表示情報を選択する。管理装置３の通信部４０は、選択した表示情報を、情報処理装置３へ送信する。その後、表示情報に基づき、情報処理装置３の表示部３４は、表示画像を表示する。
【０１２６】
また、管理装置４の制御部４１が、情報処理装置３の認識部３５、算出部３６、生成部３７相当の機能を備えてもよい。この場合、情報処理装置３は、表示画像の表示のみを行えばよいため、さらに処理負荷を軽減することができる。
【０１２７】
［ハードウェア構成例］
各実施例に示した情報処理装置および管理装置のハードウェア構成について説明する。まず、第一の実施例に示した情報処理装置１、第二の実施例に示した情報処理装置３のハードウェア構成について説明する。なお、変形例として示した情報処理装置も、図２４に示すコンピュータ３００で実現することが可能である。
【０１２８】
図２４は、各実施例の情報処理装置のハードウェア構成例である。各実施例における情報処理装置は、コンピュータ３００によって、実現される。図１０および図２１に示す各機能ブロックは、例えば、図２４に示すハードウェア構成により実現される。コンピュータ３００は、例えば、プロセッサ３０１、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）３０２、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）３０３、ドライブ装置３０４、記憶媒体３０５、入力インターフェース（入力Ｉ／Ｆ）３０６、入力デバイス３０７、出力インターフェース（出力Ｉ／Ｆ）３０８、出力デバイス３０９、通信インターフェース（通信Ｉ／Ｆ）３１０、カメラモジュール３１１、加速度センサ３１２、角速度センサ３１３、表示インターフェース（表示Ｉ／Ｆ）３１４、表示デバイス３１５およびバス３１６などを含む。それぞれのハードウェアはバス３１６を介して接続されている。
【０１２９】
通信インターフェース３１０はネットワーク３を介した通信の制御を行なう。通信インターフェース３１０が制御する通信は、無線通信を利用して、無線基地局を介してネットワークＮにアクセスする態様でもよい。入力インターフェース３０６は、入力デバイス３０７と接続されており、入力デバイス３０７から受信した入力信号をプロセッサ３０１に伝達する。出力インターフェース３０８は、出力デバイス３０９と接続されており、出力デバイス３０９に、プロセッサ３０１の指示に応じた出力を実行させる。
【０１３０】
入力デバイス３０７は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ３００の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス３０９は、プロセッサ３０１の制御に応じて情報を出力する装置である。出力デバイス３０９は、例えば、スピーカーなどの音声出力装置などである。
【０１３１】
表示インターフェース３１４は、表示デバイス３１５と接続されている。表示インターフェース３１４は、表示インターフェース３１４に設けられた表示用バッファにプロセッサ３０１により書き込まれた画像情報を、表示デバイス３１５に表示させる。表示デバイス３１５は、プロセッサ３０１の制御に応じて情報を出力する装置である。表示デバイス３１５は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。
【０１３２】
透過型ディスプレイが用いられる場合には、ＡＲコンテンツの投影画像は、撮像画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とＡＲコンテンツが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス３０７及び表示デバイス３１５として用いられる。また、入力デバイス３０７及び表示デバイス３１５がコンピュータ１内部に組み込まれる代わりに、例えば、入力デバイス３０７及び表示デバイス３１５がコンピュータ３００に外部から接続されてもよい。
【０１３３】
ＲＡＭ３０２は読み書き可能なメモリ装置であって、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などの半導体メモリ、またはＲＡＭ以外にもフラッシュメモリなどが用いられてもよい。ＲＯＭ３０３は、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）なども含む。
【０１３４】
ドライブ装置３０４は、記憶媒体３０５に記憶された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体３０５は、ドライブ装置３０４によって書き込まれた情報を記憶する。記憶媒体３０５は、例えば、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスクなどの種類の記憶媒体のうちの少なくとも１つである。また、例えば、コンピュータ３００は、コンピュータ３００内の記憶媒体３０５の種類に対応したドライブ装置３０４を含む。
【０１３５】
カメラモジュール３１１は、撮像素子（イメージセンサ）を含み、例えば、撮像素子が測定した値を読み出し、カメラモジュール３１１に含まれる入力画像用の画像バッファに書き込む。加速度センサ３１２は、加速度センサ３１２に対して作用する加速度を計測する。角速度センサ３１３は、角速度センサ３１３による動作の角速度を計測する。
【０１３６】
プロセッサ３０１は、ＲＯＭ３０３や記憶媒体３０５に記憶されたプログラムをＲＡＭ３０２に読み出し、読み出されたプログラムの手順に従って処理を行なう。例えば、制御部１１および制御部３１の機能は、プロセッサ３０１が、図２０および図２３に示される情報提供プログラム（ＡＲ制御プログラムの一部であってもよい）に基づいて、他のハードウェアの制御を行なうことにより実現される。通信部１０および通信部３０の機能は、プロセッサ３０１が、通信インターフェース３１０を制御してデータ通信を実行させ、受信したデータを記憶媒体３０５に格納させることにより実現される。
【０１３７】
記憶部１３および記憶部３３の機能は、ＲＯＭ３０３および記憶媒体３０５がプログラムファイルやデータファイルを記憶すること、また、ＲＡＭ３０２がプロセッサ３０１のワークエリアとして用いられることによって実現される。例えば、ＡＲコンテンツ情報、テンプレート情報、対応情報などがＲＡＭ３０２に格納される。
【０１３８】
撮像部１２および撮像処理部３２の機能は、カメラモジュール３１１が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ３０１が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス３１５の表示用バッファに並行して書き込まれる。
【０１３９】
また、表示部１４および表示部３４の機能は、プロセッサ３０１により生成された画像データが表示インターフェース３１４に備えられた表示用バッファに書き込まれ、表示デバイス３１５が表示用バッファ内の画像データの表示を行なうことにより実現される。
【０１４０】
次に、図２５は、コンピュータ３００で動作するプログラムの構成例を示す。コンピュータ３００において、ハードウェア群の制御を行なうＯＳ（オペレーティング・システム）５０２が動作する。ＯＳ５０２に従った手順でプロセッサ３０１が動作して、ハードウェア５０１の制御・管理が行なわれることで、ＡＰ（アプリケーションプログラム）５０４やＭＷ（ミドルウェア）５０３による処理がＨＷ（ハードウェア）５０１上で実行される。
【０１４１】
コンピュータ３００において、ＯＳ５０２、ＭＷ５０３及びＡＰ５０４などのプログラムは、例えば、ＲＡＭ３０２に読み出されてプロセッサ３０１により実行される。また、各実施例に示した情報提供プログラムを含むＡＲ制御プログラムは、例えば、ＭＷ５０３としてＡＰ５０４から呼び出されるプログラムである。または、例えば、情報提供プログラムを含むＡＲ制御プログラムは、ＡＰ５０４としてＡＲ機能を実現させるプログラムである。ＡＲ制御プログラムは、記憶媒体３０５に記憶される。記憶媒体３０５は、本実施例に係る情報提供プログラム単体または、情報提供プログラムを含むＡＲ制御プログラムを記憶した状態で、コンピュータ３００本体と切り離して流通され得る。
【０１４２】
次に、第一の実施例に示した管理装置２および第二の実施例に示した管理装置４のハードウェア構成について説明する。図２６は、各実施例の管理装置のハードウェア構成例である。管理装置２および管理装置４は、コンピュータ４００によって、実現される。なお、変形例として示した管理装置も、図２６に示すコンピュータ４００で実現することが可能である。
【０１４３】
図１９および図２２に示す各機能ブロックは、例えば、図２６に示すハードウェア構成により実現される。コンピュータ４００は、例えば、プロセッサ４０１、ＲＡＭ４０２、ＲＯＭ４０３、ドライブ装置４０４、記憶媒体４０５、入力インターフェース（入力Ｉ／Ｆ）４０６、入力デバイス４０７、出力インターフェース（出力Ｉ／Ｆ）４０８、出力デバイス４０９、通信インターフェース（通信Ｉ／Ｆ）４１０、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）及びバス４１２などを含む。それぞれのハードウェアはバス４１２を介して接続されている。
【０１４４】
例えば、プロセッサ４０１はプロセッサ３０１と同様なハードウェアである。ＲＡＭ４０２は、例えばＲＡＭ３０２と同様なハードウェアである。ＲＯＭ４０３は、例えばＲＯＭ３０３と同様なハードウェアである。ドライブ装置４０４は、例えばドライブ装置３０４と同様なハードウェアである。記憶媒体４０５は、例えば記憶媒体３０５と同様なハードウェアである。入力インターフェース（入力Ｉ／Ｆ）４０６は、例えば入力インターフェース３０６と同様なハードウェアである。入力デバイス４０７は、例えば入力デバイス３０７と同様なハードウェアである。
【０１４５】
出力インターフェース（出力Ｉ／Ｆ）４０８は、例えば出力インターフェース３０８と同様なハードウェアである。出力デバイス４０９は、例えば出力デバイス３０９と同様なハードウェアである。通信インターフェース（通信Ｉ／Ｆ）４１０は、例えば通信インターフェース３１０と同様なハードウェアである。ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）は、コンピュータ４００をＳＡＮに接続するためのインターフェースであり、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）を含む。
【０１４６】
プロセッサ４０１は、ＲＯＭ４０３や記憶媒体４０５に記憶された管理プログラムをＲＡＭ４０２に読み出し、読み出された管理プログラムの手順に従って制御部２１および制御部４１の処理を行なう。その際にＲＡＭ４０２はプロセッサ４０１のワークエリアとして用いられる。なお、管理プログラムは、管理装置２および管理装置４における情報提供処理に係る情報提供プログラムを含む。
【０１４７】
記憶部２２および記憶部４２の機能は、ＲＯＭ４０３および記憶媒体４０５がプログラムファイルやデータファイルを記憶すること、もしくは、ＲＡＭ４０２がプロセッサ４０１のワークエリアとして用いられることによって実現される。また、プロセッサ４０１が通信インターフェース４１０を制御して通信処理を行なうことにより、通信部２０および通信部４０の機能が実現される。
【符号の説明】
【０１４８】
１，  ３    情報処理装置
１０，３０    通信部
１１，３１    制御部
１２，３２    撮像部
１３，３３    記憶部
１４，３４    表示部
２，  ４    管理装置
２０，４０    通信部
２１，４１    制御部
２２，４２    記憶部
【図１】
2015022737.tif 000006
【図２】
2015022737.tif 000007
【図３】
2015022737.tif 000008
【図４】
2015022737.tif 000009
【図５】
2015022737.tif 000010
【図６】
2015022737.tif 000011
【図７】
2015022737.tif 000012
【図８】
2015022737.tif 000013
【図９】
2015022737.tif 000014
【図１０】
2015022737.tif 000015
【図１１】
2015022737.tif 000016
【図１２】
2015022737.tif 000017
【図１３】
2015022737.tif 000018
【図１４】
2015022737.tif 000019
【図１５】
2015022737.tif 000020
【図１６】
2015022737.tif 000021
【図１７】
2015022737.tif 000022
【図１８】
2015022737.tif 000023
【図１９】
2015022737.tif 000024
【図２０】
2015022737.tif 000025
【図２１】
2015022737.tif 000026
【図２２】
2015022737.tif 000027
【図２３】
2015022737.tif 000028
【図２４】
2015022737.tif 000029
【図２５】
2015022737.tif 000030
【図２６】
2015022737.tif 000031