(57)【要約】【課題】  ＡＲコンテンツを作成する際、オブジェクトを配置する位置の指定を、より簡易に行うことを目的とする。【解決手段】  第一の入力画像から認識された基準物の像に基づいて、前記第一の入力画像の撮像位置に対応する仮想空間上での位置情報を算出する算出部と、指定された表示データに、該表示データの前記仮想空間上での表示位置として前記位置情報を対応付けた設定情報を生成する生成部とを有することを特徴とする情報処理装置。【選択図】  図１７
2015026138.tif 000002
【特許請求の範囲】
【請求項１】
第一の入力画像から認識された基準物の像に基づいて、前記第一の入力画像の撮像位置に対応する仮想空間上での位置情報を算出する算出部と、
指定された表示データに、該表示データの前記仮想空間上での表示位置として前記位置情報を対応付けた設定情報を生成する生成部とを有することを特徴とする情報処理装置。
【請求項２】
前記位置情報は、実空間における前記撮像位置に対応する、前記仮想空間における三次元位置であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、前記撮像位置を調整するためのオフセット値を取得した場合、該オフセット値および前記基準物の像に基づき、該オフセット値が適用された前記撮像位置に関する前記位置情報を算出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記オフセット値が適用された前記位置情報を、前記第一の入力画像上に示すガイド表示を表示する表示部を備え、
前記生成部は、前記表示部が前記ガイド表示を行った後に、ユーザから、前記位置情報で確定する旨を示す決定指示を取得した場合に、前記位置情報を含む前記設定情報を生成することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記第一の入力画像とは異なる第二の入力画像を取得するとともに、前記第二の入力画像から前記基準物を認識する認識部と、
前記設定情報に基づき、前記表示データを、前記第二の入力画像上に表示した合成画像を生成する画像生成部とを有することを特徴とする請求項１乃至請求項４のいずれか一項に記載の情報処理装置。
【請求項６】
コンピュータが、
第一の入力画像から認識された基準物の像に基づいて、前記第一の入力画像の撮像位置に対応する仮想空間上での位置情報を算出し、
指定された表示データに、該表示データの前記仮想空間上での表示位置として前記位置情報を対応付けた設定情報を生成する処理を実行することを特徴とする位置指定方法。
【請求項７】
コンピュータに、
第一の入力画像から認識された基準物の像に基づいて、前記第一の入力画像の撮像位置に対応する仮想空間上での位置情報を算出し、
指定された表示データに、該表示データの前記仮想空間上での表示位置として前記位置情報を対応付けた設定情報を生成する処理を実行させることを特徴とする位置指定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間上の位置を指定する技術に関する。
【背景技術】
【０００２】
現実空間に対応する３次元の仮想空間上に配置された３次元物体のモデルデータを、撮像装置が撮像する撮像画像に重ねて表示することが行なわれる。この技術は、人間の知覚（視覚など）により収集される情報を拡張させるため、拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）技術などと呼ばれる。そして、現実空間に対応する３次元の仮想空間上に配置された３次元物体のモデルデータは、ＡＲコンテンツと呼ばれる。なお、３次元物体のモデルデータはオブジェクトとも呼ばれる。
【０００３】
ＡＲコンテンツは、どういったオブジェクトを、三次元空間のどこにどういった姿勢で配置するかが、予め規定された情報である。よって、ＡＲ技術は、予め規定された配置に基づきＡＲオブジェクトの投影画像を生成するとともに、撮像画像に重ねて表示することができる。なお、ＡＲオブジェクトの投影画像は、撮像装置とＡＲコンテンツとの位置関係に基づいて生成される。
【０００４】
撮像装置とＡＲコンテンツとの位置関係を判断するために、基準物が用いられる。例えば、基準物として、ＡＲマーカーが用いられることが一般的である。つまり、撮像装置が撮像した撮像画像からＡＲマーカーが検出されると、ＡＲマーカーと撮像装置との位置関係が、撮像装置の撮像画像に写り込んだＡＲマーカーの像に基づいて判断される。そして、当該位置関係を反映して、ＡＲマーカーに対応付けられたＡＲコンテンツのオブジェクトの投影画像が生成されるとともに、該投影画像が撮像画像に重畳表示される（例えば、特許文献１や特許文献２）。
【０００５】
ここで、ＡＲコンテンツを撮像画像に重畳表示するためには、予め、ＡＲコンテンツを作成する作業（オーサリングとも称される）が必要である。なお、ＡＲコンテンツを作成する作業は、オブジェクトを生成するとともに、当該オブジェクトの３次元空間の配置に関する情報を設定する作業である。なお、配置に関する情報は、基準物を基準としたときの、相対位置や姿勢である。
【０００６】
ここで、入力画像に映る、実空間の物体モデルの面であってユーザにより指定される面を包含する平面上の、ユーザにより指定された指定位置に対応する三次元位置に、仮想オブジェクトを配置する情報処理装置がある（特許文献３）。つまり、当該情報処理装置は、ユーザが指定位置を指示することで、実空間に存在する物体モデルが有する平面の上に、仮想オブジェクトを配置することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１０−５３１０８９号公報
【特許文献２】国際公開２００５−１１９５３９号公報
【特許文献３】特開２０１２−１６８７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記情報処理装置は、予め、実空間に存在する物体の面を規定するモデルデータを準備することで、当該面に対して、仮想オブジェクトを配置する際のオーサリングを行うことができる。しかし、様々な物体の面に、自由度を高く、仮想オブジェクトを配置したいような場合に、仮想オブジェクトを配置したい物体の面それぞれについて、モデルデータを生成することは困難である。
【０００９】
また、当該情報処理装置は、仮想オブジェクトの配置位置を、モデルデータにより規定された物体の面から、変更するためのオフセットを受け付けることができる。しかし、どの程度のオフセットを与えることで、実空間における所望の位置にオブジェクトの配置位置を変更できるのかを、作業者が把握したうえで作業を行う必要がある。
【００１０】
そこで、本実施例に開示の技術は、ＡＲコンテンツを作成する際、オブジェクトを配置する位置の指定を、より簡易に行うことを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決する為に、ひとつの実施態様においては、情報処理装置は、第一の入力画像から認識された基準物の像に基づいて、前記第一の入力画像の撮像位置に対応する仮想空間上での位置情報を算出する算出部と、指定された表示データに、該表示データの前記仮想空間上での表示位置として前記位置情報を対応付けた設定情報を生成する生成部とを有する。
【発明の効果】
【００１２】
本発明の一観点によれば、ＡＲコンテンツを作成する際、オブジェクトを配置する位置の指定を、より簡易に行うことが可能になる。
【図面の簡単な説明】
【００１３】
【図１】図１は、カメラ座標系とマーカー座標系との関係を示す。
【図２】図２は、カメラ座標系とマーカー座標系とにおけるＡＲオブジェクトＥの例を示す。
【図３】図３は、マーカー座標系からカメラ座標系への変換行列Ｍと、変換行列Ｍ内の回転行列Ｒを示す。
【図４】図４は、回転行列Ｒ１、Ｒ２およびＲ３を示す。
【図５】図５は、合成画像の例を示す。
【図６】図６は、ＡＲオブジェクトＥの配置例と情報処理装置との位置関係を示す。
【図７】図７は、他の合成画像の例を示す。
【図８】図８は、ＡＲオブジェクトＥの配置例と情報処理装置との他の位置関係を示す。
【図９】図９は、本実施例における、ＡＲオブジェクトの配置を説明するための図である。
【図１０】図１０は、システム構成図である。
【図１１】図１１は、情報処理装置の機能ブロック図である。
【図１２】図１２は、マーカー管理テーブルＴ１を示す。
【図１３】図１３は、テンプレート情報テーブルＴ２を示す。
【図１４】図１４は、ＡＲコンテンツ情報テーブルＴ３を示す。
【図１５】図１５は、位置指定処理の処理手順例を示す。
【図１６】図１６は、マーカー認識処理の処理手順例を示す。
【図１７】図１７は、編集処理の処理手順例を示す。
【図１８】図１８は、テンプレート選択画面例を示す。
【図１９】図１９は、第三の実施例に係る編集処理の処理手順例である。
【図２０】図２０は、仮の指定位置を示すガイド表示を説明するための図である。
【図２１】図２１は、各実施例の情報処理装置のハードウェア構成例である。
【図２２】図２２は、コンピュータ３００で動作するプログラムの構成例を示す。
【図２３】図２３は、各実施例の管理装置のハードウェア構成例である。
【発明を実施するための形態】
【００１４】
以下詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
【００１５】
まず、現実空間に対応する３次元の仮想空間上に配置されたＡＲオブジェクトを、カメラが撮像する撮像画像に重ねて表示させるＡＲ技術について説明する。ＡＲオブジェクトは、仮想空間上に配置される三次元物体のモデルデータである。また、ＡＲコンテンツは、どういったＡＲオブジェクトを、仮想空間上にどのように配置するかが規定された情報である。
【００１６】
ＡＲオブジェクトは、例えば、複数の点を含むモデルデータである。複数の点を直線や曲線で補間して得られる複数の面ごとに模様（テクスチャ）が設定され、複数の面が合成されることで３次元のモデルが形成される。ＡＲオブジェクトの仮想空間上での配置は、ＡＲオブジェクトを構成する各点の座標が現実空間内に存在する基準物を基準として定められることで行なわれる。現実空間において各点の座標の位置にオブジェクトが存在するわけではなく、各点の座標は基準物を基準として仮想空間上に定められるものである。
【００１７】
ＡＲオブジェクトが仮想空間上に配置される一方で、カメラが撮像した撮像画像内に写り込んだ基準物の見え方（像）に基づいて、カメラと基準物との現実空間における位置関係が求められる。現実空間内に存在する基準物を基準とする仮想空間上の座標と、現実空間におけるカメラと基準物との位置関係により、現実空間に対応する３次元の仮想空間上でのカメラとＡＲオブジェクトの各点の座標との位置関係が求められる。
【００１８】
これらの位置関係に基づいて、仮想空間上でカメラがＡＲオブジェクトを撮像した場合に得られるＡＲオブジェクトの像が決定される。つまり、ＡＲコンテンツが、撮像画像に重畳して表示される。ＡＲオブジェクトの像を算出するための演算について、図１、図２、図３、および図４に基づいてさらに説明する。
【００１９】
図１は、カメラ座標系とマーカー座標系との関係を示す。図１に示されるマーカーＭは、基準物の一例である。図１に例示されるマーカーＭは、正方形形状をしており、予めサイズが定められている（例えば１辺の長さが５ｃｍなど）。なお、図１に示されるマーカーＭは正方形形状であるが、複数の視点のうち、いずれの視点から、撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の物体が、基準物に用いられてもよい。例えば、撮像画像から生成される特徴点などを基準物として用いてもよい。
【００２０】
カメラ座標系は、（Ｘｃ，Ｙｃ，Ｚｃ）の３次元で構成され、例えばカメラの焦点を原点（原点Ｏｃ）とする。例えば、カメラ座標系のＸｃ−Ｙｃ平面はカメラの撮像素子面と平行な面であり、Ｚｃ軸は撮像素子面に垂直な軸である。
【００２１】
マーカー座標系は、（Ｘｍ，Ｙｍ，Ｚｍ）の３次元で構成され、例えばマーカーＭの中心を原点（原点Ｏｍ）とする。例えば、マーカー座標系のＸｍ−Ｙｍ平面はマーカーＭと平行な面であり、Ｚｍ軸はマーカーＭの面と垂直である。原点Ｏｍは、カメラ座標系においては、座標Ｖ１ｃ（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）で示される。
【００２２】
また、カメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）に対するマーカー座標系（Ｘｍ，Ｙｍ，Ｚｍ）の回転角は、回転座標Ｇ１ｃ（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）で示される。Ｐ１ｃはＸｃ軸回りの回転角であり、Ｑ１ｃはＹｃ軸回りの回転角であり、Ｒ１ｃはＺｃ軸回りの回転角である。図１に例示されるマーカー座標系は、Ｙｍ軸回りにのみ回転しているため、Ｐ１ｃおよびＲ１ｃは０である。なお、各々の回転角は、既知の形状を有する基準物が、処理対象となる撮像画像において、どのような像として撮像されているかに基づき、算出される。
【００２３】
図２は、カメラ座標系とマーカー座標系とにおけるＡＲオブジェクトＥの例を示す。図２に示すＡＲオブジェクトＥは、吹き出し形状のオブジェクトであり、吹き出し内に「ヒビあり！」というテキストデータを含む。ＡＲオブジェクトＥの吹き出しの先の黒丸は、ＡＲオブジェクトＥの基準点を示す。ＡＲオブジェクトＥのマーカー座標系における座標は、Ｖ２ｍ（Ｘ２ｍ，Ｙ２ｍ，Ｚ２ｍ）とする。さらにＡＲオブジェクトＥの向きは回転座標Ｇ２ｍ（Ｐ２ｍ，Ｑ２ｍ，Ｒ２ｍ）で定められ、ＡＲオブジェクトＥのサイズは倍率Ｄ（Ｊｘ，Ｊｙ，Ｊｚ）で定められる。
【００２４】
ＡＲオブジェクトＥを構成する各点の座標は、ＡＲオブジェクトＥの雛型である定義データ（ＡＲテンプレート）に定義されている各点の座標が、基準点の座標Ｖ２ｍ、回転座標Ｇ２ｍおよび倍率Ｄに基づいて調整された座標である。なお、ＡＲテンプレートにおいては、基準点の座標を（０，０，０）として、各点の座標が定義される。
【００２５】
その後、当該ＡＲテンプレートを採用したＡＲオブジェクトの基準点Ｖ２ｍが設定されると、ＡＲテンプレートを構成する各点の座標は、座標Ｖ２ｍに基づいて平行移動される。さらに、ＡＲテンプレートに含まれる各座標は、設定された回転座標Ｇ２ｍに基づいて回転され、倍率Ｄで拡縮される。つまり、図２のＡＲオブジェクトＥは、ＡＲテンプレートに定義された各点が、基準点の座標Ｖ２ｍ、回転座標Ｇ２ｍおよび倍率Ｄに基づいて調整された点に基づいて構成された状態を示している。
【００２６】
マーカー座標系で座標が設定されたＡＲオブジェクトＥの各点の座標が、カメラ座標系に変換され、さらにカメラ座標系の座標に基づいて画面内の位置が算出されることにより、ＡＲオブジェクトＥを重畳表示するための像が生成される。
【００２７】
ＡＲオブジェクトＥに含まれる各点のカメラ座標系における座標は、マーカー座標系における各点の座標を、マーカーの原点Ｏｍのカメラ座標系における座標Ｖ１ｃおよび、カメラ座標系に対するマーカー座標系の回転座標Ｇ１ｃに基づき、座標変換（モデル−ビュー変換）することで算出される。例えば、モデル−ビュー変換が、ＡＲオブジェクトＥの基準点Ｖ２ｍに対して行なわれることにより、マーカー座標系で規定された基準点が、カメラ座標系におけるどの点Ｖ２ｃ（Ｘ２ｃ，Ｙ２ｃ，Ｚ２ｃ）に対応するのかが求められる。
【００２８】
図３は、マーカー座標系からカメラ座標系への変換行列Ｍと、変換行列Ｍ内の回転行列Ｒを示す。変換行列Ｍは、４×４の行列である。変換行列Ｍと、マーカー座標系の座標Ｖｍに関する列ベクトル（Ｘｍ，Ｙｍ，Ｚｍ，１）との積により、カメラ座標系の対応する座標Ｖｃに関する列ベクトル（Ｘｃ，Ｙｃ，Ｚｃ，１）が得られる。
【００２９】
すなわち、列ベクトル（Ｘｍ，Ｙｍ，Ｚｍ，１）に座標変換（モデル−ビュー変換）対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル（Ｘｃ，Ｙｃ，Ｚｃ，１）が得られる。
【００３０】
変換行列Ｍの１〜３行目且つ１〜３列の部分行列（回転行列Ｒ）がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Ｍの１〜３行目且つ４列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
【００３１】
図４は、回転行列Ｒ１、Ｒ２およびＲ３を示す。なお、図３に示す回転行列Ｒは、回転行列Ｒ１、Ｒ２およびＲ３の積（Ｒ１・Ｒ２・Ｒ３）により算出される。また、回転行列Ｒ１は、Ｘｃ軸に対するＸｍ軸の回転を示す。回転行列Ｒ２は、Ｙｃ軸に対するＹｍ軸の回転を示す。回転行列Ｒ３は、Ｚｃ軸に対するＺｍ軸の回転を示す。
【００３２】
回転行列Ｒ１、Ｒ２およびＲ３は、撮像画像内の基準物の像に基づき、生成される。つまり、回転角Ｐ１ｃ、Ｑ１ｃ、Ｒ１ｃは、先に述べたとおり、既知の形状を有する基準物が、処理対象となる撮像画像において、どのような像として撮像されているかに基づき、算出される。算出された、回転角Ｐ１ｃ、Ｑ１ｃ、Ｒ１ｃに基づき、各回転行列Ｒ１、Ｒ２およびＲ３は生成される。
【００３３】
ＡＲオブジェクトＥを構成する各点のマーカー座標系の座標（Ｘｍ，Ｙｍ，Ｚｍ）は、変換行列Ｍに基づくモデル−ビュー変換により、カメラ座標系の座標（Ｘｃ，Ｙｃ，Ｚｃ）に変換される。例えば、座標Ｖ２ｍはモデル−ビュー変換により座標Ｖ２ｃに変換される。モデル−ビュー変換により得られた座標（Ｘｃ，Ｙｃ，Ｚｃ）は、ＡＲオブジェクトＥが存在する仮想的な空間にカメラが存在するとした場合のカメラからの相対的な位置を示す。
【００３４】
次に、ＡＲオブジェクトＥの各点のカメラ座標系の座標は、スクリーン座標系に変換される。スクリーン座標系は、（Ｘｓ，Ｙｓ）の２次元で構成される。また、スクリーン座標系（Ｘｓ，Ｙｓ）は、例えばカメラの撮像処理により得られる撮像画像の中心を原点（原点Ｏｓ）とする。この座標変換（透視変換）により得られる各点のスクリーン座標系の座標に基づいて、ＡＲオブジェクトＥを撮像画像に重畳表示する為の像が生成される。
【００３５】
カメラ座標系からスクリーン座標系への座標変換（透視変換）は、例えば、カメラの焦点距離ｆに基づいて行なわれる。カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＸｓ座標は、以下の式１で求められる。また、カメラ座標系における座標（Ｘｃ，Ｙｃ，Ｚｃ）に対応するスクリーン座標系の座標のＹｓ座標は、以下の式２で求められる。
Ｘｓ＝ｆ・Ｘｃ／Ｚｃ    （式１）
Ｙｓ＝ｆ・Ｙｃ／Ｚｃ    （式２）
【００３６】
ＡＲオブジェクトＥを構成する各点の座標（カメラ座標系）が透視変換されて得られる座標（スクリーン座標系）に基づいて、ＡＲオブジェクトＥの像が生成される。ＡＲオブジェクトＥは、ＡＲオブジェクトＥを構成する複数の点を補間して得られる面にテクスチャをマッピングすることにより生成される。ＡＲオブジェクトＥの元になるＡＲテンプレートには、どの点を補間して面を形成するか、どの面に殿テクスチャをマッピングするかが定義される。
【００３７】
上述のモデル−ビュー変換および透視変換により、マーカー座標系の座標に対応する撮像画像上の座標が算出され、その座標を利用することで、カメラの視点に応じたＡＲオブジェクトＥの像が生成される。なお、生成されるＡＲオブジェクトＥの像は、ＡＲオブジェクトＥの投影画像と呼ばれる。ＡＲオブジェクトＥの投影画像が撮像画像に合成されることで、ユーザに提供される視覚的な情報が拡張される。
【００３８】
また、他の態様では、透過型ディスプレイにＡＲオブジェクトＥの投影画像が表示される。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ＡＲオブジェクトの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。
【００３９】
本実施例では、カメラ機能および表示機能を有する情報処理装置１により、上述のＡＲ技術の適用対象であるＡＲオブジェクトＥの位置や向きの指定が行なわれる。情報処理装置１は、ユーザからの入力に応じてＡＲオブジェクトＥの位置や向きの指定を行なう。
【００４０】
図５は、合成画像の例を示す。図５の合成画像Ｓ１は、マーカーＭの像および物体Ｈの像を含む撮像画像に、ＡＲオブジェクトＥの投影画像が合成された合成画像の例である。撮像画像は、例えば、後述する情報処理装置１のカメラ機能により取得された画像であって、現実空間に存在する物体の像をとらえる。なお、情報処理装置１のカメラ機能は、ユーザにより撮像指示が行われなくとも、所定のフレーム間隔で撮像を行う。
【００４１】
撮像画像は工場内で撮像された画像であり、撮像画像内に写り込んだ物体Ｈはカーブしたパイプである。そして、物体Ｈのカーブした部分にひび割れが生じている。工場の保守点検の作業などにおいては、ひび割れなどが生じていた場合に、ひび割れ箇所の指摘を申し送り事項として記録することが行なわれる。
【００４２】
ひび割れ箇所と整合する位置に「ヒビあり！」というメッセージを含む吹き出し形状のＡＲオブジェクトＥが設定されることで、申し送り事項の記録が行なわれる。なお、吹き出し形状のＡＲオブジェクトＥを、ひび割れ箇所と整合する位置に配置する作業は、ＡＲコンテンツを作成する作業の一例である。
【００４３】
後から現場に訪れたユーザは、マーカーＭおよび物体Ｈの像を含む撮像画像に、前の作業者により設定されたＡＲオブジェクトＥの投影画像が、図１乃至図４に示す方法で生成された合成画像を見ることにより、ひび割れ箇所を把握することができる。
【００４４】
ＡＲオブジェクトＥを含むＡＲコンテンツに関するデータが作成された場合、例えば、当該データは、管理装置にアップロードされる。そして、後から現場に訪れるユーザが操作する情報処理装置１は、現場に向かう前かもしくは現場で管理装置から当該データを、管理装置からダウンロードして入手する。なお、ＡＲコンテンツに関するデータは、ＡＲコンテンツ情報と称する。詳細は後述する。また、ＡＲコンテンツを作成する情報処理装置と、後から現場を訪れるユーザが操作する情報処理装置は、同一の装置であってもよいし、異なる装置であってもよい。
【００４５】
そして、情報処理装置１は、撮像画像に含まれるマーカーＭの像（形状およびサイズ）に基づいて、カメラに対するマーカーＭの位置座標Ｖ１ｃおよび回転座標Ｇ１ｃを求める。また、マーカーＭの模様に基づいて、マーカーの識別情報（マーカーＩＤ）などの情報が情報処理装置１に読みとられる。基準物として画像の特徴点を用いる場合には、例えば、情報処理装置１が、特徴点の情報とマーカーＩＤとを予め対応づけておき、その対応関係に基づいてマーカーＩＤを取得する。本実施例におけるマーカーＭは、現実空間内での位置および向きが固定されている。
【００４６】
ＡＲオブジェクトＥの座標（カメラ座標系）は、ＡＲオブジェクトＥに設定された各点の座標（マーカー座標系）を位置座標Ｖ１ｃおよび回転座標Ｇ１ｃに基づきモデル−ビュー変換することにより得られる。情報処理装置１は、ＡＲオブジェクトＥの各点の座標（カメラ座標系）を透視変換して得られるスクリーン座標系の座標に基づいて、ＡＲオブジェクトＥの投影画像を生成する。座標変換については前述の通りである。
【００４７】
情報処理装置１は、前述の座標変換により、ＡＲオブジェクトＥを情報処理装置１のカメラの視点から眺めるという仮想的な状況におけるＡＲオブジェクトの像（投影画像）を生成する。さらに、情報処理装置１は、生成した投影画像を撮像画像に合成することで、ＡＲオブジェクトがあたかも現実空間に存在するかのように見せることができる。
【００４８】
上述の通り、ＡＲ技術により生成される合成画像Ｓ１は、人間の知覚により収集される情報の拡張に用いられる。図５に例示される合成画像Ｓ１では、ＡＲオブジェクトＥがパイプのひび割れ部分に「ヒビあり！」の吹き出しが付加されることで、現実空間に存在する物体に対して情報が付加されている。
【００４９】
ここで、先に述べたとおり、合成画像Ｓ１を生成する為には、事前にＡＲコンテンツを作成することが必要である。しかし、ＡＲコンテンツの作成においてＡＲオブジェクトの配置位置が正確に指定されない場合、情報処理装置１の位置によっては、ＡＲオブジェクトの投影画像は、情報の付加対象とは整合しない位置に表示される可能性がある。よって、現実空間に存在する物体に対する情報の付加という目的が果たされなくなる。
【００５０】
例えば、ＡＲオブジェクトＥがひび割れと異なる位置に配置されてしまうと、ＡＲオブジェクトＥによる申し送りを受けるユーザがひび割れを発見できない可能性がある。さらには、ＡＲオブジェクトＥが情報の付加対象の物体とは異なる物体の位置に指定されてしまうと、誤った情報が提供されることとなってしまう。
【００５１】
ＡＲオブジェクトＥが別のパイプの位置に配置されてしまうと、ＡＲオブジェクトＥによる申し送りを受けた場合に、ひび割れが無い箇所に対してひび割れの存否の確認を行なうという余分な作業が発生する。そのため、ＡＲオブジェクトＥの位置の設定は、ＡＲオブジェクトＥによる申し送りを受けるユーザがＡＲオブジェクトＥと現実空間内の物体（例えばひび割れ箇所）との対応関係を把握可能な程度に現実空間と整合することが求められる。
【００５２】
ここで、ＡＲコンテンツの作成について説明する。なお、ＡＲコンテンツの作成においては、ＡＲオブジェクトを生成するとともに、マーカー座標系における該ＡＲオブジェクトの位置（例えば基準点の位置座標）を指定する。例えば、ＡＲオブジェクトは、予め作成されたＡＲテンプレートから、ユーザは所望のテンプレートを選択することで生成される。
【００５３】
一方、位置の指定に関しては、例えば、ユーザが、表示された撮像画像内の位置を指定することが考えられる。つまり、位置指定を行うユーザは、ＡＲオブジェクトＥの投影画像を表示したい位置を、撮像画像において指定する。
【００５４】
本指定方法ならば、ユーザはＡＲオブジェクトＥの投影画像が、撮像画像のどの位置に合成されるのかを推定して、ＡＲオブジェクトの配置位置を指定することができる。そのため、ユーザが、撮像画像が表示された画面を確認しながら、位置指定を行なうことより、ＡＲオブジェクトＥの投影画像が物体Ｈのひび割れ箇所と整合する位置に配置される。ひいては、申し送りを受けるユーザが所持する情報処理装置１は、ひび割れ箇所と整合した位置にＡＲオブジェクトＥが重畳表示された、合成画像Ｓ１を生成することができる。
【００５５】
ここで、上記指定方法における問題点を説明する。図６は、ＡＲオブジェクトＥの配置例と情報処理装置１との位置関係を示す。図６に示す配置例は、図５に例示されたマーカーＭ、物体ＨおよびＡＲオブジェクトＥを俯瞰した状態の位置関係を示す。ただし、ＡＲオブジェクトＥは、現実空間に存在しないため、仮想的に配置された像である。
【００５６】
さらに、図６に示す配置例は、マーカーＭおよび物体Ｈを撮像する撮像装置を備える情報処理装置１も示す。なお、図６は、情報処理装置１、マーカーＭ、物体ＨおよびＡＲオブジェクトＥをカメラ座標系のＸｃ軸およびＺｃ軸の２次元空間に投影して示した図である。
【００５７】
図６は、図５に例示されるＡＲオブジェクトＥの配置として、２通りの例を示す。情報処理装置１に対して手前に配置された場合のＡＲオブジェクトＥ（Ｅ１）が図６に示される。また、もうひとつの例として、奥に配置された場合のＡＲオブジェクトＥ（Ｅ２）が示される。
【００５８】
すなわち、図５を用いて例示された合成画像Ｓ１内でＡＲオブジェクトＥの位置を設定したとしても、ＡＲオブジェクトＥ（Ｅ１）のように配置されるか、オブジェクトＥ（Ｅ２）のように配置されるかは定められない。２つの例はいずれも、ある位置から撮像された撮像画像を用いた合成画像においては、図５に示す投影画像においては、同一のＡＲオブジェクトＥとして認識される。
【００５９】
ただし、実際の俯瞰図からわかるように、ＡＲオブジェクトＥ（Ｅ１）のように配置されれば、ＡＲオブジェクトＥは、Ｚｃ方向においても、パイプのひび割れと整合した位置に設定されている。その一方で、ＡＲオブジェクトＥ（Ｅ２）のように配置されると、ＡＲオブジェクトＥはパイプと整合しない位置（実質的に離れた位置）に設定されたことになる。
【００６０】
図７は、他の合成画像の例を示す。図７に例示される合成画像Ｓ２も、合成画像Ｓ１と同様に、情報処理装置１が備える撮像装置により撮像された撮像画像と、ＡＲオブジェクトＥの投影画像とが合成されて表示された画面である。ただし、情報処理装置１が、撮像画像を撮像した位置が、図５や図６の例とは異なる。例えば、ＡＲオブジェクトＥが設定された後に現場を訪れたユーザは、合成画像Ｓ２のような画角でＡＲオブジェクトＥを確認する可能性がある。
【００６１】
合成画像Ｓ２内のＡＲオブジェクトＥ（Ｅ１）およびＡＲオブジェクトＥ（Ｅ２）の像は、図６に例示されるＡＲオブジェクトＥ（Ｅ１）およびＡＲオブジェクトＥ（Ｅ２）に対応する投影画像である。なお、実際の合成画像では、いずれかのＡＲオブジェクトが表示されなければならないが、図６を用いて説明したとおり、Ｚｃ方向の位置が指定されていない場合には、図７のように、異なる位置に、複数のＡＲオブジェクトが表示される可能性があることとなる。
【００６２】
図８は、ＡＲオブジェクトＥの配置例と情報処理装置との他の位置関係を示す。図８は、図６と同様に情報処理装置１、マーカーＭ、物体ＨおよびＡＲオブジェクトＥを俯瞰した状態の位置関係を示す。図７に例示される合成画像Ｓ２の撮像画像は、図８に示す位置に配置された情報処理装置１により撮像された撮像画像である。
【００６３】
ＡＲオブジェクトＥの位置が図６におけるＡＲオブジェクトＥ（Ｅ１）の位置であれば、図７に示す合成画像Ｓ２のＡＲオブジェクトＥ（Ｅ１）のように、ＡＲオブジェクトＥの投影画像は物体Ｈと整合した位置に表示される。
【００６４】
その一方で、ＡＲオブジェクトＥの位置が図８におけるＡＲオブジェクトＥ（Ｅ２）の位置であれば、図７に示す合成画像Ｓ２のＡＲオブジェクトＥ（Ｅ２）のように、ＡＲオブジェクトＥの投影画像は、物体Ｈとは異なる位置に表示される。
【００６５】
ＡＲオブジェクトＥ（Ｅ２）のように表示されてしまうと、「ヒビあり！」と情報が付加された位置にはひび割れが存在しないため、「ヒビあり！」という情報の付加という目的が果たされていない。また、ＡＲオブジェクトＥ（Ｅ２）に示される位置にひび割れがあるかのようにユーザに誤解され得る。すなわち、ＡＲオブジェクトＥがＥ２の位置に設定されることにより、必要な情報の提供に漏れが生じるとともに、不要な情報の提供が行なわれてしまう。
【００６６】
このように、ＡＲコンテンツを作成する作業においては、撮像画像（例えば、図５の合成画像Ｓ１からＡＲオブジェクトＥを除いた画像）に対して、ＡＲオブジェクトＥの配置位置が指定されたとしても、Ｚｃ方向の配置位置を適切に指定しない限り、図７のような合成画像Ｓ２が作成されることとなる。つまり、適切なＡＲオブジェクトの配置位置（例えば、ＡＲオブジェクトの基準点の座標Ｖ２ｍ）の指定を行うことができない。
【００６７】
ここで、ＡＲオブジェクトの配置位置を、一意に定めるために、次のようなことが行われていた。なお、以下に説明する方法は、ＡＲオブジェクトの配置位置を一意に定めるための方法であって、必ずしも、適切な位置にＡＲオブジェクトの配置を決定するものではない。
【００６８】
例えば、従来の位置指定方法は、カメラ座標系における、マーカーの原点座標（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）を取得する。そして、当該マーカーの原点座標の「Ｚ１ｃ」と、撮像画像内で指定された位置（Ｘｓ、Ｙｓ）とを利用して、ＡＲオブジェクトの位置Ｖ２ｍ（Ｘｍ、Ｙｍ、Ｚｍ）を決定していた。
【００６９】
従来の位置指定方法は、図６に示すＡＲオブジェクトＥ（Ｅ１）やＡＲオブジェクトＥ（Ｅ２）のうち、マーカーと同じ奥行き方向（Ｚｃ方向）の位置を有するＡＲオブジェクトＥ（Ｅ２）の位置に、ＡＲオブジェクトが仮想提起に配置されることとなる。したがって、図７の合成画像Ｓ２においては、ＡＲオブジェクトＥ（Ｅ２）の投影画像が、合成画像上に表示されることとなり、合成画像を閲覧するユーザは、適切な情報を取得することが難しくなっていた。
【００７０】
上述のように、撮像画像に表示される物体Ｈの像を確認しながらＡＲオブジェクトＥの投影画像の位置を指定したとしても、ＡＲオブジェクトＥのＺｃ方向の位置が、適切に指定されない。そのため、他の角度から撮像した合成画像Ｓ２には、物体Ｈにおけるひび割れ箇所と整合しない位置に、ＡＲオブジェクトの投影画像が表示される事態が生じる。
【００７１】
なお、申し送り作業以外にも、ＡＲ技術は、作業者の作業内容の指示にも利用可能である。例えば、ＡＲコンテンツを作成するユーザは、パイプに設けられたバルブ（図示せず）が、閉まっていることを確認する作業を指示するＡＲコンテンツを作成する。その際、バルブと整合する位置に、「バルブがしまっていることを確認」というメッセージを含む吹き出し形状のＡＲオブジェクトＥ´（図示せず）を配置する必要がある。
【００７２】
ＡＲコンテンツが作成された後に、確認作業を行うユーザが、当該パイプ付近に設置された基準物を情報処理装置で撮像する事で、ＡＲオブジェクトＥ´が重畳表示された合成画像を閲覧することができる。そして、ユーザは、当該バルブが閉まっていることを確認する必要があることを認識することができる。しかし、申し送りの例と同様に、バルブとは整合しない位置にＡＲオブジェクトＥ´が表示されると、ユーザは、確認作業を正確に、またはスムーズに行うことができない。
【００７３】
本実施例に開示の技術においては、ＡＲコンテンツを作成する際に、まず、ユーザは、ＡＲオブジェクトを配置したい位置において撮像操作を行う。なお、ここでいう撮像操作は、シャッターボタンを押下することであって、撮像装置が一定のフレーム間隔で撮像を行う操作とは異なる。
【００７４】
そして、本実施例に係る情報処理装置１は、撮像された画像を入力画像として取得し、入力画像から認識された基準物の像に基づいて、基準物を基準とした撮像位置を示す位置情報を算出する。そして、情報処理装置１は、当該位置情報を、ＡＲオブジェクトの配置位置として設定する。
【００７５】
例えば、ユーザは、パイプＨのヒビが存在する位置から、マーカーＭを撮像する。すると、撮像された撮像画像を、入力画像として取得した情報処理装置１は、マーカー座標系における撮像位置の座標を算出する。そして、当該座標を、ＡＲオブジェクトの基準点の座標Ｖ２ｍとして設定する。
【００７６】
図９は、本実施例における、ＡＲオブジェクトの配置を説明するための図である。情報処理装置１が備える撮像装置は、パイプＨのひび割れ箇所の付近で、撮像を行う。なお、ＸｃおよびＺｃだけでなく、高さＹｃについても、ヒビの位置に接近していることが望ましい。また、撮像装置は、マーカーＭも撮像可能な位置および画角で撮影を行う。
【００７７】
すると、情報処理装置１は、マーカー座標系における、情報処理装置１の座標を示す位置情報（Ｘｍ，Ｙｍ，Ｚｍ）を算出する。つまり、マーカー座標系における、カメラ座標系の原点が対応する座標が求められる。詳細は後述する。そして、位置情報は、ＡＲオブジェクトの配置位置として設定される。
【００７８】
例えば、図９における情報処理装置１の位置に、ＡＲオブジェクトは仮想的に配置されることとなる。よって、後から、同様のマーカーＭを撮像した情報処理装置１は、図９における情報処理装置１の位置にＡＲオブジェクトが配置された仮想的な空間を、撮像したような合成画像を生成することとなる。なお、後から同様のマーカーＭを撮像する情報処理装置１の位置がいずれの位置であっても、合成画像における適切な位置に、ＡＲオブジェクトの投影画像が表示されることとなる。
【００７９】
以上のように、ＡＲコンテンツを作成するユーザは撮像操作を実行するだけで、ＡＲオブジェクトの配置位置を指定することができる。つまり、ＡＲコンテンツの作成作業を簡略化することができる。なお、ＡＲコンテンツが示す内容が関連する対象箇所に近接した位置で、撮像操作が行われる。
【００８０】
［第一の実施例］
まず、第一の実施例に係る詳細な処理および情報処理装置等の構成について説明する。図１０は、システム構成図である。図１０の例では、情報処理装置の例として、通信端末１−１および通信端末１−２を示す。以下、これらを総称して、情報処理装置１とする。さらに、情報処理装置１は、ネットワークＮを介して、管理装置２と通信する。
【００８１】
情報処理装置１は、例えば、撮像装置を有する、タブレットＰＣやスマートフォンなどのコンピュータである。管理装置２は、例えば、サーバコンピュータであって、情報処理装置１を管理する。ネットワークＮは、例えば、インターネットである。なお、本実施例に係るシステムは、情報処理装置１および管理装置２を含む。
【００８２】
情報処理装置１は、ＡＲコンテンツの作成を行う。情報処理装置１は、具体的には、ＡＲオブジェクトの作成および、マーカー座標系におけるＡＲオブジェクトの配置位置を決定する。そして、情報処理装置１は、作成したＡＲコンテンツに関わるＡＲコンテンツ情報を生成する。また、情報処理装置１は、作成されたＡＲコンテンツ情報を利用して、合成画像を生成してもよい。
【００８３】
一方、管理装置２は、情報処理装置１が作成したＡＲコンテンツの情報を管理する。例えば情報処理装置１は、ＡＲコンテンツの作成が終了した場合、作成したＡＲコンテンツに関するＡＲコンテンツ情報を、管理装置２へ送信する。管理装置２は、ＡＲコンテンツ情報を受信すると、管理装置２の記憶部にＡＲコンテンツ情報を格納する。
【００８４】
また、情報処理装置１が、ＡＲコンテンツ情報を利用した合成画像を生成する場合に、管理装置２は、情報処理装置１からＡＲコンテンツ情報の要求を受信する。管理装置２は、要求に応じてＡＲコンテンツ情報を情報処理装置１へ送信する。なお、後述するように、ＡＲ表示においてはＡＲコンテンツ情報以外に、ＡＲオブジェクトのテンプレートを規定するテンプレート情報も必要である。よって、管理装置２は、テンプレート情報も併せて情報処理装置１へ送信する。
【００８５】
詳細は後述するが、ＡＲコンテンツ情報は、ＡＲコンテンツを定義するための情報である。本実施例においては、ＡＲコンテンツ情報は、情報処理装置１により作成される。テンプレート情報は、ＡＲコンテンツのモデルデータを描画するための情報である。また、ＡＲコンテンツ情報は、設定情報の一例である。
【００８６】
次に、情報処理装置１の機能的構成について説明する。図１１は、情報処理装置１の機能ブロック図である。情報処理装置１は、通信部１１、撮像部１２、制御部１３、記憶部１４、表示部１５を含む。また、情報処理装置１が撮像部１２を有さない場合は、他の撮像装置から撮像画像を、通信により取得してもよい。この場合には、他の撮像装置による撮像位置が、ＡＲコンテンツの作成に利用される。
【００８７】
通信部１１は、他のコンピュータと通信を行う。例えば、通信部１１は、生成したＡＲコンテンツ情報を管理装置２へ送信する。また、合成画像を生成する為に、ＡＲコンテンツ情報、テンプレート情報を、管理装置２から受信する。
【００８８】
撮像部１２は、画像を撮像する。そして、撮像部１２は、撮像した画像を、制御部１３へ入力する。
【００８９】
制御部１３は、情報処理装置１が実行する各種処理を制御する。例えば、制御部１３は、撮像部１２が撮像した撮像画像を、入力画像として受け付けるとともに、マーカーを基準とした場合の撮像位置に関する位置情報を算出する。さらに、制御部１３は、ＡＲコンテンツ情報を生成する。なお、制御部１３は、認識部１６、算出部１７、コンテンツ生成部１８、画像生成部１９を含む。
【００９０】
認識部１６は、入力画像から基準物を認識する。本実施例においては、認識部１６は、マーカーＭを認識する。マーカーＭの認識方法は、従来の物体認識方法が適用される。例えば、認識部１６は、マーカーＭの形状を既定したテンプレートを用い、テンプレートマッチングを行うことでマーカーＭを認識する。
【００９１】
さらに、認識部１６は、基準物が撮像装置に含まれることを認識すると、基準物を識別する識別情報を取得する。例えば、マーカーＩＤが取得される。なお、マーカーＩＤは、マーカーを識別する識別情報である。また、マーカーＩＤを取得する方法は、従来の取得方法が適用される。例えば、基準物がマーカーである場合には、二次元バーコードと同様に、白と黒の配置から、一意のマーカーＩＤが取得される。
【００９２】
また、認識部１６は、基準物を認識した場合、基準物の像に基づいて、基準物の位置・回転座標を算出する。なお、基準物の位置・回転座標は、カメラ座標系での値である。さらに、認識部１６は、基準物の位置・回転座標に基づき、変換行列Ｍを生成する。
【００９３】
次に、算出部１７は、認識部１６が認識した基準物の像に基づいて、基準物を基準としたときの、入力画像の撮像位置を示す位置情報を算出する。なお、ここでは、認識部１６が生成した変換行列Ｍが利用される。例えば、算出部１７は、入力画像内のマーカーの像の形状に基づき、マーカー座標系の座標位置を算出する。
【００９４】
ここで、位置情報の算出方法について、図１、図３および図４を用いて、説明する。まず、認識部１６は変換行列Ｍを生成する。なお、変換行列Ｍの生成方法は、先に述べたとおりである。算出部１７は、認識部１６により変換行列Ｍが生成されたあと、マーカー座標系からカメラ座標系への変換行列Ｍの逆行列Ｍ−１と、列ベクトルＡｃ（Ｘｃ，Ｙｃ，Ｚｃ，１）との積により、列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）を求める。具体的には、算出部１７は、以下の式３により、列ベクトルＡｍ（Ｘｍ，Ｙｍ，Ｚｍ，１）を求める。
2015026138.tif 000003
【００９５】
なお、撮像位置は、カメラ座標系の原点と略一致すると考えると、撮像位置は（０，０，０）である。よって、Ａｃに列ベクトル（０，０，０，１）を代入する事で、式１により、カメラ座標系の原点が、マーカー座標系のどの点に対応するのかを求めることができる。
【００９６】
以下、カメラ座標系の原点に対応するマーカー座標系の点をＵ（Ｘｕ，Ｙｕ，Ｚｕ）とする。なお、点Ｕは、式３により求められる列ベクトルＡｕ（Ｘｕ，Ｙｕ，Ｚｕ，１）の、３次元までの値により構成される点である。つまり、算出部１７は、位置情報としてＵ（Ｘｕ，Ｙｕ，Ｚｕ）を算出する。
【００９７】
図１１に戻る。コンテンツ生成部１８は、ＡＲコンテンツ情報を生成する。つまり、コンテンツ生成部１８は、位置情報と、ＡＲオブジェクトに関する表示データと対応付けて、ＡＲコンテンツ情報を生成する。なお、表示データは、例えば、適用されるテンプレートを指定する情報や、テンプレート内にテキスト情報として表示する付属情報などを含む。詳細は、後述する。
【００９８】
画像生成部１９は、ＡＲコンテンツを作成する処理により生成されたＡＲコンテンツ情報、テンプレート情報に基づき、合成画像を生成する。なお、合成画像の生成においても、認識部１６が生成した変換行列Ｍが利用される。
【００９９】
また、画像生成部１９は、合成画像以外にも、種々の画像を生成する。例えば、予め準備されたテンプレートの一覧を表示するテンプレート選択用の画像を生成する。なお、テンプレート選択用の画像については、後述する。画像生成部１９は、生成した画像を、表示部１５を制御することで、表示する。
【０１００】
記憶部１４は、制御部１３の制御の下、各種情報を記憶する。記憶部１４は、ＡＲコンテンツ作成時に生成されたＡＲコンテンツ情報を記憶する。また、マーカー管理情報等の情報も一時的に記憶する。なお、マーカー管理情報は、入力画像から認識したマーカーに関する情報である。詳細は、後述する。
【０１０１】
さらに、ＡＲコンテンツ作成時に生成されたＡＲコンテンツ情報以外にも、過去に生成されたＡＲコンテンツ情報、テンプレート情報を、管理装置２から取得した場合、記憶部１４は、これら情報を記憶する。
【０１０２】
最後に、表示部１５は、画像生成部１９により生成された合成画像や、その他の画像を表示する。
【０１０３】
次に、各種情報について説明する。図１２、図１３、図１４は、ＡＲオブジェクトＥの位置指定処理に用いられるデータのデータ構造を示す。
【０１０４】
図１２は、マーカー管理テーブルＴ１を示す。マーカー管理テーブルＴ１は、マーカー管理情報を記憶する。なお、マーカー管理情報は、入力画像に含まれるマーカーＭの像から得られた認識結果に関する情報である。認識部１６は、マーカーＭを認識すると、マーカー管理テーブルＴ１にマーカー管理情報を格納する。
【０１０５】
マーカー管理テーブルＴ１は、認識部１６が認識したマーカーのそれぞれについて、マーカーＩＤ、カメラ座標系での座標（Ｘｃ，Ｙｃ，Ｚｃ，Ｐｃ，Ｑｃ，Ｒｃ）、およびコンテンツ追加フラグなどの情報を含む。
【０１０６】
マーカー管理テーブルＴ１に格納された情報によれば、本実施例におけるマーカーＭのマーカーＩＤは「１００」であり、位置座標は（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）であり、回転座標は（Ｐ１ｃ，Ｑ１ｃ，Ｒ１ｃ）である。コンテンツ追加フラグは、コンテンツを追加する対象となるマーカーを識別するための情報である。例えば、マーカーＩＤ「１００」のマーカーに対応付けるＡＲコンテンツを作成する際には、マーカーＩＤ「１００」に対応するコンテンツフラグは「１」となる。
【０１０７】
図１３は、テンプレート情報テーブルＴ２を示す。テンプレート情報テーブルＴ２は、ＡＲオブジェクトのモデルデータとして適用される各テンプレートを定義するためのテンプレート情報を格納する。テンプレート情報は、テンプレートの識別情報（テンプレートＩＤ）、テンプレートを構成する各頂点の座標情報Ｔ２１、およびテンプレートを構成する各面の構成情報Ｔ２２（頂点順序およびテクスチャＩＤの指定）を含む。
【０１０８】
頂点順序は、面を構成する頂点の順序を示す。テクスチャＩＤは、面にマッピングされるテクスチャの識別情報を示す。テンプレートの基準点は例えば０番目の頂点である。テンプレート情報テーブルＴ２に示される情報により、３次元モデルの形状および模様が定められる。
【０１０９】
図１４は、ＡＲコンテンツ情報テーブルＴ３を示す。ＡＲコンテンツ情報テーブルＴ３は、ＡＲコンテンツに関するＡＲコンテンツ情報を格納する。ＡＲコンテンツ情報テーブルＴ３には、ＡＲコンテンツのコンテンツＩＤ、基準点のマーカー座標系における位置座標（Ｘｍ，Ｙｍ，Ｚｍ）、マーカー座標系における回転座標（Ｐｍ，Ｑｍ，Ｒｍ）、ＡＲテンプレートを基準とする倍率Ｄ（Ｊｘ，Ｊｙ，Ｊｚ）、ＡＲテンプレートのテンプレートＩＤ、マーカーＩＤおよび追加情報が格納される。
【０１１０】
ＡＲコンテンツ情報テーブルＴ３に格納される位置座標は、同じレコードに格納されたマーカーＩＤに示されるマーカーを基準とするマーカー座標系での座標である。算出部１７は、位置座標を位置情報として算出する。
【０１１１】
また、本実施例においては、回転座標（Ｐｍ，Ｑｍ，Ｒｍ）は、（０，０，０）とする。つまり、ＡＲコンテンツのＡＲオブジェクトは、マーカー座標系の各軸と平行な３軸で定義される。
【０１１２】
画像生成部１９がＡＲオブジェクトＥの投影画像を生成する際には、図１３に示されるＡＲテンプレートが、ＡＲコンテンツ情報（位置、向きおよびサイズ）に基づいて調整される。すなわちＡＲオブジェクトＥの位置・向き・サイズの指定は、ＡＲコンテンツ情報テーブルＴ３で管理される情報の設定により行なわれる。また、追加情報は、ＡＲオブジェクトＥに追加される情報である。追加情報として、テキストや、Ｗｅｂページやファイルへのアクセス情報などが用いられる。
【０１１３】
例えば、図１４に示されたコンテンツＩＤが「１０００」のＡＲコンテンツは、ＡＲテンプレート「１０」に定義される各頂点座標が、Ｘｍ、Ｙｍ、Ｚｍ方向のそれぞれに１倍され、回転座標（０，０，０）で回転され、位置座標（２０，２５，１０）に応じて並進されて得られる各頂点により構成される。ＡＲコンテンツは、さらにＡＲオブジェクトＥを構成する面に追加情報のマッピングを行なう。
【０１１４】
コンテンツ生成部１８は、ＡＲコンテンツ情報を生成するとともに、記憶部１４のＡＲコンテンツ情報テーブルＴ３に格納する。なお、ＡＲコンテンツ情報テーブルＴ３は、新たに生成したＡＲコンテンツに関するＡＲコンテンツ情報を格納する一方、さらに、過去に生成したＡＲコンテンツ情報も併せて格納してもよい。
【０１１５】
なお、過去に生成されたＡＲコンテンツ情報は、管理装置２から取得される。例えば、ＡＲコンテンツ作成時であっても、新たにＡＲコンテンツを対応付けようと考えるマーカーに対して、過去に生成されたＡＲコンテンツ情報を含む合成画像が、ユーザに対して提供される。よって、ＡＲコンテンツを作成するユーザは、過去に生成されたＡＲコンテンツの配置を認識したうえで、新たなＡＲコンテンツに係るＡＲオブジェクトの配置位置を指定することもできる。
【０１１６】
次に、本実施例に関する各種処理の流れについて説明する。図１５は、位置指定処理の処理手順例を示す。位置指定処理が規定された位置指定プログラムは、制御部１３により実行される位置指定処理の手順が定義されたプログラムである。
【０１１７】
制御部１３は、位置指定プログラムが起動されると、位置指定の前処理を行なう（Ｏｐ．１０１）。Ｏｐ．１０１の処理においては、テンプレート情報が管理装置２から取得される。
【０１１８】
Ｏｐ．１０１の前処理が行なわれると、制御部１３は、ＡＲ表示モードの起動指示を行なう（Ｏｐ．１０２）。Ｏｐ．１０２において、制御部１３は、例えば撮像部１２に所定時間間隔での撮影を開始させ、撮影された画像について認識部１６にマーカー検知処理を開始させる。さらに、制御部１３は、表示部１５に、撮像部１２により撮影された撮像画像を表示させる。
【０１１９】
撮像部１２は、制御部１３から撮影を指示されると、撮像素子により生成される画像を所定の時間間隔で取得し、取得した画像を記憶部１４に記憶する。記憶部１４には、複数枚の画像を格納するバッファが設けられ、撮像部１２により撮影された画像は、そのバッファに格納される。例えば、記憶部１４に設けられるバッファは、表示部１５が表示させる画像が格納される表示用バッファである。表示用バッファに格納される画像は、順次、表示部１５に表示される。
【０１２０】
認識部１６は、記憶部１４に設けられたバッファに格納された画像を取得し、取得した画像にマーカーＭの像が含まれているか否か判定する（Ｏｐ．１０３）。認識部１６は、バッファに格納される所定枚数のうちの１枚の画像について検知処理を行なうこととしてもよい。
【０１２１】
また、認識部１６は、マーカーＭのマーカーＩＤの読みとりを行なう。マーカーＩＤの読みとりは、例えば、四角形の枠内の輝度の情報に基づいて行なわれる。例えば、四角形枠を分割した各領域について、輝度が所定値以上の領域を「１」とし、輝度が所定値未満の領域を「０」として、各領域を所定の順序で、「１」または「０」のいずれであるかを判定し、判定して得られた情報の列をマーカーＩＤとする。
【０１２２】
また、例えば、輝度が所定値以上の領域と所定値未満の領域の四角形枠内での配置をパターン化しておき、パターンに対応するマーカーＩＤを用いることとしてもよい。さらに、マーカーＩＤに割り当てられる数値範囲が予め定められており、読みとったマーカーＩＤがその数値範囲内でない場合には、マーカーＩＤが読みとれなかったと判定することとしてもよい。
【０１２３】
認識部１６は読みとったマーカーＩＤを、記憶部１４に記憶されたマーカー管理テーブルＴ１に格納する。さらに、認識部１６は、マーカーＭの像の位置座標（スクリーン座標系）を制御部１３に通知する。
【０１２４】
認識部１６がマーカーＭを検知した場合（Ｏｐ．１０３：ＹＥＳ）、マーカー認識処理を実行する（Ｓ１０４）。認識部１６がマーカーＭを検知しなかった場合（Ｏｐ．１０３：ＮＯ）には、プログラムの終了を指示されたか否かを判定する（Ｏｐ．１０８）。終了を指示されていなければ（Ｏｐ．１０８：ＮＯ）、制御部１３は、マーカーを検知したか否かの判定（Ｏｐ．１０３）を行なう。
【０１２５】
図１６は、マーカー認識処理の処理手順例を示す。マーカー認識処理が開始されると、画像生成部１９は、認識部１６の指示の下、認識されたマーカーＭが表示部１４の表示画面内で表示される位置に、マーカーの存在を示す強調表示（ハイライト表示）を行なう（Ｏｐ．２０１）。強調表示は、例えば、マーカーＭの表示位置に四角い枠を表示するなどにより行なわれ、マーカーＭが検知されたことをユーザに通知する役割を果たす。
【０１２６】
認識部１６は、画像生成部１９に、マーカーＭの位置座標（スクリーン座標系）を通知する。画像生成部１９は、表示部１５に表示させる画像（表示用バッファ内の画像）に対し、認識部１６からの通知に応じた位置に強調表示図形を合成する。強調表示図形は、例えば四角い赤枠などの表示要素である。
【０１２７】
Ｏｐ．２０１の処理が行なわれると、認識部１６は、マーカーＭの位置・回転座標を算出する（Ｏｐ．２０２）。つまり、変換行列Ｍを生成するための情報を算出する。認識部１６は、Ｏｐ．１０３で検知されたマーカーＭの像に基づき、マーカーＭの位置・回転座標（カメラ座標系）を算出する。マーカーＭの位置・回転座標（カメラ座標系）は、例えば、マーカーＭの像の形状および画像内の位置に基づいて算出される。算出された位置・回転座標（カメラ座標系）は、マーカー管理テーブルＴ１に格納される。
【０１２８】
次に、画像生成部１９は、マーカー管理テーブルＴ１に登録されたマーカーと対応付けられたＡＲコンテンツの表示処理（Ｏｐ．２０３、Ｏｐ．２０４、Ｏｐ．２０５）を行なう。なお、ＡＲコンテンツの表示処理は、認識されたマーカーに対応付けられたＡＲコンテンツ（過去に作成されたＡＲコンテンツ）が、管理装置２から取得されている場合に実行される。ＡＲコンテンツが存在しない場合には、ＡＲコンテンツの表示処理は、省略される。
【０１２９】
画像生成部１９は、ＡＲコンテンツ情報テーブルＴ３に登録されたＡＲコンテンツ情報のうち、マーカー管理テーブルＴ１に登録されたマーカーＩＤを含むものを探索する。該当するＡＲコンテンツが存在する場合には、画像生成部１９は、ＡＲコンテンツ情報をＡＲコンテンツ情報テーブルＴ３から取得する。そして、取得したＡＲコンテンツ情報に含まれるテンプレートＩＤに対応するテンプレート情報テーブルを読みだす。
【０１３０】
そして、画像生成部１９は、テンプレート情報で定義されるＡＲオブジェクトの各点の座標を、マーカー座標系からカメラ座標系に変換する（Ｏｐ．２０３）。そして、画像生成部１９は、ＡＲオブジェクトの各点の座標を、カメラ座標系からスクリーン座標系へ変換することで、ＡＲオブジェクトの投影画像を生成する（Ｏｐ．２０４）。
【０１３１】
画像生成部１９は、ＡＲオブジェクトについて投影画像が生成されると、投影画像を表示用バッファ内の撮影画像に合成する（Ｏｐ．２０５）。Ｏｐ．２０５の処理が行なわれると、制御部１３は、表示部１５に編集開始ボタンＢ１０を表示させる（Ｏｐ．２０６）。Ｏｐ．２０６の処理が行なわれると、制御部１３は、図１６に示すマーカー認識処理を終了し、図１５に示す位置指定処理のフローチャートに戻る。
【０１３２】
続いて制御部１３は、Ｏｐ．２０６で編集開始ボタンＢ１０が表示されてから所定時間内に編集開始ボタンＢ３への入力が検知されるか否かの判定を行なう（Ｏｐ．１０５）。編集開始ボタンへの入力が検知される（Ｏｐ．１０５：ＹＥＳ）と、制御部１３は図１８に示す編集処理を実行する（Ｏｐ．１０６）。所定時間内に編集ボタンＢ１０への入力が検知されない場合（Ｏｐ．１０５：ＮＯ）には、制御部１３は、プログラムの終了を指示されたか否かを判定する（Ｏｐ．１０８）。
【０１３３】
図１７は、編集処理の処理手順例を示す。編集処理が開始されると、制御部１３は、ユーザからの撮像指示を受け付けたか否かを判定する（Ｏｐ．３０１）。ここでは、例えば、ユーザによりシャッターボタンが押下されたか否かを判定する。なお、撮像部１２は、ユーザからの撮像指示を受け付けることなく、一定のフレーム間隔で撮像を実行する。撮像部１２は、ユーザにより撮像指示を受け付けた場合には、当該撮像指示のタイミングで、別途画像を撮像する。
【０１３４】
撮像指示を受け付けるまで、制御部１３は、待機する（Ｏｐ．３０１：Ｎｏ）。一方、撮像指示を受け付けた場合（Ｏｐ．３０１：Ｙｅｓ）、撮像部１２が、画像を撮像するとともに、算出部１７は、撮像部１２から画像を取得する。そして、算出部１７は、当該撮像画像を入力画像として、入力画像における基準物の像に基づき、基準物を基準とした撮像位置を示す位置情報を算出する（Ｏｐ．３０２）。なお、回転座標には、例えば、（０，０，０）が設定される。
【０１３５】
そして、コンテンツ生成部１８は、テンプレートの選択を受け付ける（Ｏｐ．３０３）。例えば、撮像位置を算出したのち、算出部１７は、画像生成部１９にテンプレート選択用画面の生成を依頼する。表示部１５が、テンプレート選択用画面を表示したのち、コンテンツ生成部１８は、ユーザがテンプレート選択用画面にて指定したテンプレートのテンプレートＩＤを取得する。なお、テンプレート選択用画面については後述する。なお、撮像指示の取得に先駆けて、テンプレートが選択される態様であってもよい。
【０１３６】
つぎに、コンテンツ生成部１８は、算出部１７が算出した位置情報と、指定されたテンプレートのテンプレートＩＤを含むＡＲコンテンツ情報を生成する（Ｏｐ．３０４）。なお、Ｏｐ．３０３において、ＡＲオブジェクトとして採用されたテンプレートに関して、倍率情報や、追加情報の入力を受け付けてもよい。この場合、ＡＲコンテンツ情報は、倍率情報や、追加情報を含む。
【０１３７】
Ｏｐ．３０４の処理が行なわれると、制御部１３は、図１７に示す編集処理を終了し、図１５に示す位置指定処理のフローチャートに戻る。制御部１３の制御の下、通信部１１は、生成したＡＲコンテンツ情報を管理装置２へ送信する（Ｏｐ．１０７）。なお、記憶部１４におけるＡＲコンテンツ情報テーブルのうち、新たに作成されたＡＲコンテンツに関するＡＲコンテンツ情報のみを、通信部１１は、管理装置２へ送信することとしてもよい。
【０１３８】
そして、制御部１３は、Ｏｐ．１０８の処理において、プログラムの終了が指示されている場合（Ｏｐ．１０８：ＹＥＳ）には、位置指定プログラムの処理を終了する。一方、プログラムの終了が指示されていない場合（Ｏｐ．１０８：ＮＯ）には、制御部１３は、Ｏｐ．１０３の処理に戻る。
【０１３９】
ここで、テンプレート選択画面について説明する。図１８は、テンプレート選択画面例を示す。図１７に示すＯｐ．３０３の処理において、テンプレート選択画面Ｓ３が表示される。テンプレート選択画面には、ＡＲテンプレートのタイプを選択可能なボタン群（ボタン１〜ボタン９）が表示される。テンプレート選択画面の説明において、ボタン領域内に示される番号に基づいてボタンを識別して説明する。例えば、「１」という番号が示される四角いボタンが「ボタン１」である。また、テンプレート選択画面は、図１８に示したボタン群以外にも選択可能なボタン群を含み、それらのボタン群を表示させるためのスクロール操作をさせるためのスクロールボタンＢ１１を含む。また、テンプレート選択画面は、ＡＲテンプレートの選択を終了させるメニュークローズボタンＢ１２を含む。
【０１４０】
各ボタンは、それぞれ個別のテンプレートＩＤに対応する。すなわち、それぞれのボタンに対応するテンプレート情報テーブルが設けられている。いずれかのボタンに対して入力が行なわれると、そのボタンに対応するテンプレートＩＤが選択され、選択されたテンプレートＩＤに基づいてテンプレート情報テーブルが呼び出される。
【０１４１】
ボタン１には、吹き出しタイプのＡＲテンプレートが対応付けられている。吹き出しタイプのＡＲテンプレートでは、吹き出し形状の図形内にテキスト情報が追加される。ボタン２は、引き出しボックスタイプのＡＲテンプレートが対応付けられている。引き出しボックスタイプのＡＲテンプレートでは、引き出し線と、引き出し線の先に接合する四角形の図形とを含み、四角形の図形内にテキスト情報が追加される。
【０１４２】
ボタン３は、テキストボックスタイプのＡＲテンプレートが対応付けられている。テキストボックスタイプのＡＲテンプレートでは、四角形の枠状の図形に対してテキスト情報が追加される。ボタン４は、写真タイプのＡＲテンプレートが対応付けられている。写真タイプのＡＲテンプレートでは、四角形の枠状の図形内に画像データがマッピングされる。この画像データは、記憶部１４に記憶された画像ファイルが用いられる。
【０１４３】
ボタン５は、撮影タイプのＡＲテンプレートが対応付けられている。撮影タイプのＡＲテンプレートも写真タイプのＡＲテンプレートと同様のＡＲテンプレートであるが、画像データの取得先が異なる。撮影タイプのＡＲテンプレートが使用されると、撮影モードが呼び出され、撮像部１２による撮像処理が行なわれる。撮影タイプのＡＲテンプレートを使用すると、四角形の枠状の図形内に、撮影処理により撮影された画像データがマッピングされる。写真タイプや撮影タイプでマッピングされる画像データは、静止画でも動画でもよい。
【０１４４】
ボタン６は、手書きタイプのＡＲテンプレートである。手書きタイプのＡＲテンプレートは、透明で四角形の図形であり、さらに図形の模様が手書き操作により編集される。ボタン７は、リンクタイプのＡＲテンプレートであり、テキストボックスタイプのＡＲテンプレートと同様のテンプレートである。リンクタイプのＡＲテンプレートが選択されると、Ｗｅｂページのリストが表示され、リスト内から選択されたＷｅｂページへのアクセス情報がＡＲテンプレートに付加される。Ｗｅｂページのリストは、例えば、Ｗｅｂブラウザのブックマークやアクセス履歴から取得される。
【０１４５】
ボタン８は、図形タイプのＡＲテンプレートと対応付けられている。図形タイプのＡＲテンプレートは、３次元の立体モデル図形が定義されている。例えば、ボタン８への入力に応じて、立体モデル図形の形状を選択させる画面表示を行なうこととしてもよい。立体モデル図形の形状は、例えば、立方体、直方体、円柱、球、円錐および三角柱などである。また、ボタン８への入力に応じて、ＣＡＤデータの呼び出しを行なうこととしてもよい。ＣＡＤデータは、例えば、記憶部１４に格納されたＣＡＤデータのファイルが選択される。
【０１４６】
ボタン９は、ファイルタイプのＡＲテンプレートと対応づけられている。ファイルタイプのＡＲテンプレートは、ファイルを示すアイコン画像がマッピングされた四角形の図形である。ファイルタイプのＡＲテンプレートが選択されると、記憶部１４内のファイルを選択させ、選択されたファイルへのリンクをＡＲテンプレートに付加させる。
【０１４７】
以上のように、本実施例における情報処理装置１は、マーカー座標系における撮像位置を、ＡＲオブジェクトの配置位置として利用することで、簡易にＡＲコンテンツの作成を可能とする。つまり、ユーザが、ＡＲオブジェクトを配置したい場所において、基準物を撮像する操作を実行するだけで、ＡＲオブジェクトの配置位置を、仮想空間における撮像位置に紐付けることができる。
【０１４８】
［第二の実施例］
第一の実施例においては、マーカー座標系における、カメラ原点に対応する点を、ＡＲオブジェクトの配置位置として利用する例を説明した。第二の実施例は、カメラ座標系における原点の位置を仮想的に変更する事で、実際の撮像装置の位置（撮像位置）とは異なる位置に、ＡＲオブジェクトを配置する。なお、カメラ座標系における原点の位置を仮想的に変更することを、オフセットを設定すると称する。また、オフセット値は、カメラ座標系におけるＸｃ，Ｙｃ，Ｚｃ各々について設定することができる。例えば、カメラの奥行き方向へ、ＡＲオブジェクトの配置位置を変更したい場合には、Ｚｃに関するオフセット値が与えられる。
【０１４９】
ＡＲオブジェクトを配置したい場所とマーカーの設置位置との関係によっては、ＡＲオブジェクトを配置した位置からマーカーを撮像することが難しい場合がある。例えば、マーカーＭが装置の前面に設置されていて、ＡＲオブジェクトの配置は、装置の奥側である場合などである。
【０１５０】
第二の実施例は、オフセットを利用することで、撮像位置とは異なる位置にＡＲオブジェクトを配置する。第二の実施例に係る位置指定方法について説明する。なお、第二の実施例に係る情報処理装置１の機能的構成は、第一の実施例と同様である。
【０１５１】
例えば、図１５に示すＯｐ．１０５において編集処理の呼び出しが実行されたあと、図１７に示す編集処理におけるＯｐ．３０１の前に、制御部１３は、ユーザからオフセットモードの指定を受け付けたか否かを判定する。なお、オフセットモードの指定を受け付けない場合には、第一の実施例と同様の処理が実行される。一方、オフセットモードの指定を受け付けた場合には、Ｏｐ．３０２の前に、カメラの原点Ｏｃを、仮のカメラ原点Ｏｃ´へ変換する処理を実行する。
【０１５２】
つまり、オフセット値として、各々Ｘｃ座標に関してＸｏ、Ｙｃ座標に関してＹｏ、Ｚｃ座標に関してＺｏが与えられた場合には、仮想的なカメラ原点は（Ｘｏ，Ｙｏ，Ｚｏ）となる。なお、カメラ原点を、仮想的な撮像位置とする。
【０１５３】
そして、算出部１７は、仮想的な撮像位置（Ｘｏ，Ｙｏ，Ｚｏ）を用いて、対応する列ベクトルＡｃ（Ｘｏ，Ｙｏ，Ｚｏ，１）を生成する。そして、式３に、Ａｃを代入することで、仮想的な撮像位置に対応する、マーカー座標系での位置を示す位置情報を算出する（Ｏｐ．３０２）。なお、以下の処理は第一の実施例と同様である。
【０１５４】
ここで、オフセット値は予め設定された値でも良いし、ユーザにより入力された値でも良い。なお、カメラ座標系における各軸における「１」が現実空間でどの程度の長さに相当するのかは、予め設定される。例えば、基準物として１辺５ｃｍのマーカーを利用する場合には、各軸における「１」は、例えば、実空間における５ｃｍに対応させる等してもよい。
【０１５５】
［第三の実施例］
第三の実施例では、第二の実施例同様、オフセットを利用してＡＲオブジェクトの位置指定を行う。ただし、第三の実施例では、位置指定をより容易にするために、ＡＲオブジェクトの配置位置の目安を、ガイド表示する。ユーザはガイド表示を見ながら、ＡＲオブジェクトがどの位置に配置されるのかを把握することができる。そして、ガイド表示を閲覧したユーザが決定指示を入力した時点で、ＡＲオブジェクトの位置が決定される。
【０１５６】
第三の実施例に係る位置指定処理における編集処理について、図１９を用いて説明する。なお、第三の実施例に係る情報処理装置１の機能的構成は、第一の実施例と同様である。図１９は、第三の実施例に係る編集処理の処理手順例である。
【０１５７】
なお、制御部１３は、第二の実施例と同様に、ユーザからオフセットモードの選択を受け付けた場合に、以下の処理を実行する。オフセットモードの選択を受け付けない場合には、第一の実施例と同様の処理が実行される。
【０１５８】
制御部１３は、ユーザによるオフセット値の入力を受け付ける事により、または予め設定されたオフセット値を記憶部１４から取得することにより、オフセット値を取得する（Ｏｐ．４０１）。次に、認識部１６は、記憶部１４のバッファから、最新の撮像画像を取得する（Ｏｐ．４０２）。そして、最新の撮像画像から、基準物を認識する（ＯＰ．４０３）。そして、認識部１６は、基準物の像に基づき、変換行列を生成する。
【０１５９】
認識部１６が変換座標を生成すると、算出部１７は、変換行列を利用して位置座標を算出する（Ｏｐ．４０４）。具体的には、まず、第二の実施例と同様に、撮像位置を（０，０，０）から、仮想的な撮像位置へ変換する。オフセット値として、Ｘｃ座標に関してＸｏ、Ｙｃ座標に関してＹｏ、Ｚｃ座標に関してＺｏの値を取得した場合には、仮想的な撮像位置として、（Ｘｏ，Ｙｏ，Ｚｏ）を算出する。
【０１６０】
そして、算出部１７は、仮想的な撮像位置（Ｘｏ，Ｙｏ，Ｚｏ）を用いて、列ベクトルＡｃ（Ｘｏ，Ｙｏ，Ｚｏ，１）を生成する。そして、式３に、Ａｃを代入することで、仮想的な撮像位置に対応する、マーカー座標系での位置を示す位置情報を算出する。
【０１６１】
次に、画像生成部１９は、Ｏｐ．４０４で算出された位置情報に基づき、ＡＲオブジェクトの仮の配置位置を、Ｏｐ．４０２で取得した撮像画像上に表示するガイド表示画面を生成する（Ｏｐ．４０５）。そして、画像生成部１９の制御の下、表示部１５は、ガイド表示画面を表示する。
【０１６２】
図２０は、仮の指定位置を示すガイド表示を説明するための図である。図２０に示すガイド表示画像Ｓ４は、柱１００、柱１００に設置されたマーカーＭ´、モニタ１０１等が存在する実空間を撮像した撮像画像に、ガイド表示１０２が重畳表示された画像である。
【０１６３】
ガイド表示１０２の先端は、Ｏｐ．４０４にて算出された位置情報に基づき、決定される。ガイド表示の先端位置は、合成画像におけるＡＲコンテンツの投影画像と同様に、位置情報で指定された位置座標（マーカー座標系）を、スクリーン座標系に変換することで得られる。なお、仮の指定位置は、ガイド表示の先端部分のみで表示されてもよいし、図２０のように棒状の形状で表示されてもよい。
【０１６４】
図１９に戻り、制御部１３は、ユーザからの決定入力を受け付けたか否かを判定する（Ｏｐ．４０６）。決定入力は、例えば、表示画像Ｓ４上に、決定ボタンを配置した場合、当該決定ボタンが押下されることで、行われる。また、撮像ボタンが押下された場合に、決定入力が行われたことを判定してもよい。
【０１６５】
決定入力を受け付けなかった場合（Ｏｐ．４０６：Ｎｏ）、制御部１３は、認識部１６に、新たな最新画像の取得を指示する（Ｏｐ．４０２へ）。一方、決定入力を受け付けた場合（Ｏｐ．４０６：Ｙｅｓ）、コンテンツ生成部１８は、テンプレートの選択を受け付ける（Ｏｐ．４０７）。つぎに、コンテンツ生成部１８は、算出部１７が算出した位置情報と、指定されたテンプレートのテンプレートＩＤを含むＡＲコンテンツ情報を生成する（Ｏｐ．４０８）。
【０１６６】
以上のように、第三の実施例によれば、ＡＲコンテンツを作成するユーザは、ＡＲオブジェクトの仮の配置位置を、表示画面Ｓ４により確認することができる。そして、適切な配置位置を確認したうえで、ＡＲオブジェクトの配置位置を決定することができる。
【０１６７】
［第四の実施例］
上記第一の実施例、第二の実施例、および第三の実施例は、撮像装置を有する情報処理装置１が、ＡＲコンテンツ情報を生成することとして説明を行ったが、これに限られない。
【０１６８】
例えば、管理装置２がＡＲコンテンツ情報の生成を行ってもよい。つまり、管理装置２は、撮像装置を有する情報処理装置１から、撮像画像を取得することで、当該撮像画像を入力画像として、位置指定処理を実行する。
【０１６９】
第一の実施例および第二の実施例に示した位置指定処理を管理装置２が実行する場合には、撮像画像はリアルタイムに情報処理装置１から取得してもよいし、別の時点で取得してもよい。なお、情報処理装置１から取得する撮像画像は、ユーザにより撮像指示が行われた時点よりも前で、かつ最も近い時点で撮像された画像である。
【０１７０】
一方、第三の実施例に示した位置指定処理を管理装置２が実行する場合には、情報処理装置１から撮像画像を適宜取得するとともに、表示画像Ｓ４を生成した場合には、情報処理装置１へ送信する。
【０１７１】
［ハードウェア構成例］
各実施例に示した情報処理装置１および管理装置２のハードウェア構成について説明する。図２１は、各実施例の情報処理装置のハードウェア構成例である。各実施例における情報処理装置１は、コンピュータ３００によって、実現される。図１１に示す機能ブロックは、例えば、図２１に示すハードウェア構成により実現される。コンピュータ３００は、例えば、プロセッサ３０１、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）３０２、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）３０３、ドライブ装置３０４、記憶媒体３０５、入力インターフェース（入力Ｉ／Ｆ）３０６、入力デバイス３０７、出力インターフェース（出力Ｉ／Ｆ）３０８、出力デバイス３０９、通信インターフェース（通信Ｉ／Ｆ）３１０、カメラモジュール３１１、加速度センサ３１２、角速度センサ３１３、表示インターフェース（表示Ｉ／Ｆ）３１４、表示デバイス３１５およびバス３１６などを含む。それぞれのハードウェアはバス３１６を介して接続されている。
【０１７２】
通信インターフェース３１０はネットワーク３を介した通信の制御を行なう。通信インターフェース３１０が制御する通信は、無線通信を利用して、無線基地局を介してネットワークＮにアクセスする態様でもよい。入力インターフェース３０６は、入力デバイス３０７と接続されており、入力デバイス３０７から受信した入力信号をプロセッサ３０１に伝達する。出力インターフェース３０８は、出力デバイス３０９と接続されており、出力デバイス３０９に、プロセッサ３０１の指示に応じた出力を実行させる。
【０１７３】
入力デバイス３０７は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ３００の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス３０９は、プロセッサ３０１の制御に応じて情報を出力する装置である。出力デバイス３０９は、例えば、スピーカーなどの音声出力装置などである。
【０１７４】
表示インターフェース３１４は、表示デバイス３１５と接続されている。表示インターフェース３１４は、表示インターフェース３１４に設けられた表示用バッファにプロセッサ３０１により書き込まれた画像情報を、表示デバイス３１５に表示させる。表示デバイス３１５は、プロセッサ３０１の制御に応じて情報を出力する装置である。表示デバイス３１５は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。
【０１７５】
透過型ディスプレイが用いられる場合には、ＡＲコンテンツの投影画像は、撮像画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とＡＲコンテンツが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス３０７及び表示デバイス３１５として用いられる。また、入力デバイス３０７及び表示デバイス３１５が、コンピュータ３００内部に組み込まれる代わりに、例えば、入力デバイス３０７及び表示デバイス３１５が、コンピュータ３００に外部から接続されてもよい。
【０１７６】
ＲＡＭ３０２は読み書き可能なメモリ装置であって、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などの半導体メモリ、またはＲＡＭ以外にもフラッシュメモリなどが用いられてもよい。ＲＯＭ３０３は、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）なども含む。
【０１７７】
ドライブ装置３０４は、記憶媒体３０５に記憶された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体３０５は、ドライブ装置３０４によって書き込まれた情報を記憶する。記憶媒体３０５は、例えば、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスクなどの種類の記憶媒体のうちの少なくとも１つである。また、例えば、コンピュータ３００は、コンピュータ３００内の記憶媒体３０５の種類に対応したドライブ装置３０４を含む。
【０１７８】
カメラモジュール３１１は、撮像素子（イメージセンサ）を含み、例えば、撮像素子が測定した値を読み出し、カメラモジュール３１１に含まれる入力画像用の画像バッファに書き込む。加速度センサ３１２は、加速度センサ３１２に対して作用する加速度を計測する。角速度センサ３１３は、角速度センサ３１３による動作の角速度を計測する。
【０１７９】
プロセッサ３０１は、ＲＯＭ３０３や記憶媒体３０５に記憶されたプログラムをＲＡＭ３０２に読み出し、読み出されたプログラムの手順に従って処理を行なう。例えば、制御部１３の機能は、プロセッサ３０１が、図１５に示される位置指定プログラムに基づいて、他のハードウェアの制御を行なうことにより実現される。通信部１１の機能は、プロセッサ３０１が、通信インターフェース３１０を制御してデータ通信を実行させ、受信したデータを記憶媒体３０５に格納させることにより実現される。
【０１８０】
記憶部１４の機能は、ＲＯＭ３０３および記憶媒体３０５がプログラムファイルやデータファイルを記憶すること、また、ＲＡＭ３０２がプロセッサ３０１のワークエリアとして用いられることによって実現される。例えば、ＡＲコンテンツ情報、テンプレート情報などがＲＡＭ３０２に格納される。
【０１８１】
撮像部１２の機能は、カメラモジュール３１１が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ３０１が読み出すことにより実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス３１５の表示用バッファに並行して書き込まれる。
【０１８２】
また、表示部１５の機能は、プロセッサ３０１により生成された画像データが表示インターフェース３１４に備えられた表示用バッファに書き込まれ、表示デバイス３１５が表示用バッファ内の画像データの表示を行なうことにより実現される。
【０１８３】
次に、図２２は、コンピュータ３００で動作するプログラムの構成例を示す。コンピュータ３００において、ハードウェア群の制御を行なうＯＳ（オペレーティング・システム）５０２が動作する。ＯＳ５０２に従った手順でプロセッサ３０１が動作して、ＨＷ（ハードウェア）５０１の制御・管理が行なわれることで、ＡＰ（アプリケーションプログラム）５０４やＭＷ（ミドルウェア）５０３による処理がＨＷ５０１上で実行される。
【０１８４】
コンピュータ３００において、ＯＳ５０２、ＭＷ５０３及びＡＰ５０４などのプログラムは、例えば、ＲＡＭ３０２に読み出されてプロセッサ３０１により実行される。また、各実施例に示した位置指定プログラムを含むＡＲ制御プログラムは、例えば、ＭＷ５０３としてＡＰ５０４から呼び出されるプログラムである。
【０１８５】
または、例えば、位置指定プログラムを含むＡＲ制御プログラムは、ＡＰ５０４としてＡＲ機能を実現させるプログラムである。ＡＲ制御プログラムは、記憶媒体３０５に記憶される。記憶媒体３０５は、本実施例に係る位置指定プログラム単体または、位置指定プログラムを含むＡＲ制御プログラムを記憶した状態で、コンピュータ３００本体と切り離して流通され得る。
【０１８６】
次に、各実施例における管理装置２のハードウェア構成について説明する。図２３は、各実施例の管理装置のハードウェア構成例である。管理装置２は、コンピュータ４００によって、実現される。
【０１８７】
管理装置２は、例えば、図２３に示すハードウェア構成により実現される。コンピュータ４００は、例えば、プロセッサ４０１、ＲＡＭ４０２、ＲＯＭ４０３、ドライブ装置４０４、記憶媒体４０５、入力インターフェース（入力Ｉ／Ｆ）４０６、入力デバイス４０７、出力インターフェース（出力Ｉ／Ｆ）４０８、出力デバイス４０９、通信インターフェース（通信Ｉ／Ｆ）４１０、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）４１１及びバス４１２などを含む。それぞれのハードウェアはバス４１２を介して接続されている。
【０１８８】
例えば、プロセッサ４０１はプロセッサ３０１と同様なハードウェアである。ＲＡＭ４０２は、例えばＲＡＭ３０２と同様なハードウェアである。ＲＯＭ４０３は、例えばＲＯＭ３０３と同様なハードウェアである。ドライブ装置４０４は、例えばドライブ装置３０４と同様なハードウェアである。記憶媒体４０５は、例えば記憶媒体３０５と同様なハードウェアである。入力インターフェース（入力Ｉ／Ｆ）４０６は、例えば入力インターフェース（入力Ｉ／Ｆ）３０６と同様なハードウェアである。入力デバイス４０７は、例えば入力デバイス３０７と同様なハードウェアである。
【０１８９】
出力インターフェース（出力Ｉ／Ｆ）４０８は、例えば出力インターフェース（出力Ｉ／Ｆ）３０８と同様なハードウェアである。出力デバイス４０９は、例えば出力デバイス３０９と同様なハードウェアである。通信インターフェース（通信Ｉ／Ｆ）４１０は、例えば通信インターフェース（通信Ｉ／Ｆ）３１０と同様なハードウェアである。ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（ＳＡＮ  Ｉ／Ｆ）４１１は、コンピュータ４００をＳＡＮに接続するためのインターフェースであり、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）を含む。
【０１９０】
プロセッサ４０１は、ＲＯＭ４０３や記憶媒体４０５に記憶された管理プログラムをＲＡＭ４０２に読み出し、読み出された管理プログラムの手順に従って処理を行なう。その際にＲＡＭ４０２はプロセッサ４０１のワークエリアとして用いられる。なお、管理プログラムは、管理装置２における位置指定処理に係る位置指定プログラムを含む。
【０１９１】
ＲＯＭ４０３および記憶媒体４０５が、プログラムファイルやデータファイルを記憶すること、もしくは、ＲＡＭ４０２がプロセッサ４０１のワークエリアとして用いられることによって、管理装置２は、各種情報を記憶する。また、プロセッサ４０１が、通信インターフェース４１０を制御して通信処理を行なう。
【符号の説明】
【０１９２】
１    情報処理装置
１１    通信部
１２    撮像部
１３    制御部
１４    記憶部
１５    表示部
１６    認識部
１７    算出部
１８    コンテンツ生成部
１９    画像生成部
２    管理装置
【図１】
2015026138.tif 000004
【図２】
2015026138.tif 000005
【図３】
2015026138.tif 000006
【図４】
2015026138.tif 000007
【図５】
2015026138.tif 000008
【図６】
2015026138.tif 000009
【図７】
2015026138.tif 000010
【図８】
2015026138.tif 000011
【図９】
2015026138.tif 000012
【図１０】
2015026138.tif 000013
【図１１】
2015026138.tif 000014
【図１２】
2015026138.tif 000015
【図１３】
2015026138.tif 000016
【図１４】
2015026138.tif 000017
【図１５】
2015026138.tif 000018
【図１６】
2015026138.tif 000019
【図１７】
2015026138.tif 000020
【図１８】
2015026138.tif 000021
【図１９】
2015026138.tif 000022
【図２０】
2015026138.tif 000023
【図２１】
2015026138.tif 000024
【図２２】
2015026138.tif 000025
【図２３】
2015026138.tif 000026