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