(57)【要約】【課題】拡張現実の特性を活かした魅力的なユーザ体験を提供すること。【解決手段】撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、を備える情報処理装置を提供する。【選択図】図４
2014149712.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、
を備える情報処理装置。
【請求項２】
前記仮想オブジェクトは、ユーザのアバタを含む、請求項１に記載の情報処理装置。
【請求項３】
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記実オブジェクトのテクスチャ又は色に基づいて設定する、
請求項１に記載の情報処理装置。
【請求項４】
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記撮像画像に映る基準オブジェクトのテクスチャ又は色に基づいて設定する、
請求項１に記載の情報処理装置。
【請求項５】
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトの表示属性を、前記実オブジェクトの地形的パラメータに基づいて設定する、
請求項１に記載の情報処理装置。
【請求項６】
前記情報処理装置は、前記撮像画像に映る前記実オブジェクトの前記実空間内の位置及び姿勢を認識することにより実空間マップを生成する認識部、をさらに備え、
前記設定部は、前記認識部により生成された前記実空間マップをボクセル単位で離散化することにより、前記拡張現実空間を構築する、
請求項１に記載の情報処理装置。
【請求項７】
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザのうちの親ユーザの前記撮像画像に基づいて設定される前記拡張現実空間を、前記複数のユーザの各々に適用する、請求項１に記載の情報処理装置。
【請求項８】
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザの前記撮像画像に基づいてそれぞれ構築される複数のユーザ別拡張現実空間を統合することにより、前記拡張現実空間を形成する、請求項１に記載の情報処理装置。
【請求項９】
前記設定部は、前記複数のユーザ別拡張現実空間の和をボクセル単位で計算することにより、前記複数のユーザ別拡張現実空間を統合する、請求項８に記載の情報処理装置。
【請求項１０】
前記拡張現実空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、
前記設定部は、テリトリごとに当該テリトリに割当てられたユーザの前記ユーザ別拡張現実空間を選択することにより、前記複数のユーザ別拡張現実空間を統合する、
請求項８に記載の情報処理装置。
【請求項１１】
前記制御部は、前記撮像画像に重畳される前記仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの前記撮像画像に映っているかに応じて変化させる、請求項７に記載の情報処理装置。
【請求項１２】
前記設定部は、前記複数のユーザにより共有される前記拡張現実空間の表示スケールを、前記撮像画像に映る基準オブジェクトのサイズに基づいて設定する、請求項７に記載の情報処理装置。
【請求項１３】
前記設定部は、ユーザにより指定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、請求項１に記載の情報処理装置。
【請求項１４】
前記設定部は、ユーザのプライバシー設定に基づいて決定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、請求項１に記載の情報処理装置。
【請求項１５】
前記設定部は、ユーザにより指定される前記実オブジェクト又はユーザにより除外されなかった前記実オブジェクトを離散化することにより、前記拡張現実空間を設定する、請求項１に記載の情報処理装置。
【請求項１６】
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
を備える端末装置。
【請求項１７】
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、
を含む、情報処理方法。
【請求項１８】
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
として機能させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、端末装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、人工的に構築される仮想空間をユーザに呈示する様々な仮想現実（ＶＲ：Virtual  Reality）技術が実用化されている。例えば、下記特許文献１は、仮想空間内に存在するアバタをユーザが操作する際の高い操作性を達成するための技術を提案している。これに対し、近年注目されている拡張現実（ＡＲ：Augmented  Reality）技術は、実空間を部分的に改変することにより構築される拡張現実空間（ＡＲ空間）をユーザに呈示する。典型的なＡＲ技術では、仮想的に生成されるオブジェクト（仮想オブジェクト）が実空間に向けられる撮像装置からの画像に重畳され、画像に映る実空間にあたかも当該オブジェクトが存在しているかのようなユーザ体験が提供される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１５０９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＡＲ技術においてユーザのアバタを仮想オブジェクトとして用いることにより、ＡＲアバタと表現され得るアプリケーションが実現される。しかし、単にアバタが活動する空間の背景が実空間の画像となるだけでは、拡張現実の魅力は十分に引き出されない。
【０００５】
そこで、本開示は、仮想現実とは異なる拡張現実の特性を活かした魅力的なユーザ体験を提供するための仕組みを提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、を備える情報処理装置が提供される。
【０００７】
また、本開示によれば、実空間を撮像することにより撮像画像を生成する撮像部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、を備える端末装置が提供される。
【０００８】
また、本開示によれば、撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、前記情報処理方法は、前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、を含む、情報処理方法が提供される。
【０００９】
また、本開示によれば、端末装置を制御するコンピュータを、撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、として機能させるための、プログラムが提供される。
【発明の効果】
【００１０】
本開示に係る技術によれば、拡張現実の特性を活かした魅力的なユーザ体験を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る情報処理装置の概要について説明するための第１の説明図である。
【図２】一実施形態に係る情報処理装置の概要について説明するための第２の説明図である。
【図３】一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図４】一実施形態に係る情報処理装置の論理的機能の構成の一例を示すブロック図である。
【図５】ＡＲ空間のための座標系について説明するための説明図である。
【図６】実オブジェクトの離散化の一例について説明するための説明図である。
【図７】実空間マップから構築されるＡＲ空間の一例について説明するための説明図である。
【図８】ＡＲ空間のカスタマイズの一例について説明するための説明図である。
【図９】仮想オブジェクトのテクスチャ又は色を設定するための手法の第１の例について説明するための説明図である。
【図１０】仮想オブジェクトのテクスチャ又は色を設定するための手法の第２の例について説明するための説明図である。
【図１１】仮想オブジェクトの表示属性を設定するための手法の一変形例について説明するための説明図である。
【図１２】複数のユーザの間でＡＲ空間を共有するための手法の第１の例について説明するための説明図である。
【図１３】複数のユーザの間でＡＲ空間を共有するための手法の第２の例について説明するための説明図である。
【図１４】複数のユーザの間でＡＲ空間を共有するための手法の第３の例について説明するための説明図である。
【図１５】複数のユーザにより共有されるＡＲ空間の表示の一例について説明するための説明図である。
【図１６】共有し又は共有しないオブジェクトを指定するためのユーザインタフェースの一例について説明するための説明図である。
【図１７】ボクセルの粒度の設定について説明するための説明図である。
【図１８】アバタ選択ウィンドウの一例ついて説明するための説明図である。
【図１９】基本的な操作ウィンドウの一例ついて説明するための説明図である。
【図２０】アバタの移動のための操作の一例について説明するための説明図である。
【図２１】アバタの移動を停止するための操作の一例について説明するための説明図である。
【図２２】アバタを方向転換させるための操作の一例について説明するための説明図である。
【図２３】アバタを方向転換させるための操作の他の例について説明するための説明図である。
【図２４Ａ】アバタにより実行されるアイテムを用いたアクションの第１の例について説明するための第１の説明図である。
【図２４Ｂ】アバタにより実行されるアイテムを用いたアクションの第１の例について説明するための第２の説明図である。
【図２５】アバタにより使用されるアイテムを切り替えるための操作の一例について説明するための説明図である。
【図２６】アバタにより実行されるアイテムを用いたアクションの第２の例について説明するための説明図である。
【図２７】アバタを介するコミュニケーションの第１の例について説明するための説明図である。
【図２８】アバタを介するコミュニケーションの第２の例について説明するための説明図である。
【図２９】アバタ情報を表示するための操作の一例について説明するための説明図である。
【図３０】ＡＲ空間の位置を変更するための操作の一例について説明するための説明図である。
【図３１】ＡＲ空間の姿勢を変更するための操作の一例について説明するための説明図である。
【図３２】ＡＲアプリケーションにおいて採用され得るいくつかのメニューの例について説明するための説明図である。
【図３３】リアルタイムモード及びスナップショットモードについて説明するための説明図である。
【図３４】図３３に示した２種類の動作モード間の遷移について説明するための説明図である。
【図３５】設計図モードについて説明するための説明図である。
【図３６】カメラ視点モード及びアバタ視点モードについて説明するための説明図である。
【図３７】図３６に示した２種類の表示モード間の遷移について説明するための説明図である。
【図３８】ＡＲ空間を選択するための手法の第１の例について説明するための説明図である。
【図３９】ＡＲ空間を選択するための手法の第２の例について説明するための説明図である。
【図４０】ＡＲ空間を選択するための手法の第３の例について説明するための説明図である。
【図４１】ＡＲ空間を選択するための手法の第４の例について説明するための説明図である。
【図４２】ＡＲ空間の可変パラメータの調整の第１の例について説明するための説明図である。
【図４３】ＡＲ空間の可変パラメータの調整の第２の例について説明するための説明図である。
【図４４】ＡＲ空間内の仮想オブジェクトの初期位置を設定するための手法の第１の例について説明するための説明図である。
【図４５】ＡＲ空間内の仮想オブジェクトの初期位置を設定するための手法の第２の例について説明するための説明図である。
【図４６】通常モードにおけるＡＲ空間内のアバタ数の変化について説明するための説明図である。
【図４７】過去再現モードにおけるＡＲ空間内のアバタ数の変化について説明するための説明図である。
【図４８】足跡モードについて説明するための説明図である。
【図４９】ＡＲ空間の間を移動するためのパスの一例について説明するための説明図である。
【図５０Ａ】ＡＲ空間へのチェックインのための画面遷移の一例について説明するための遷移図の前半部である。
【図５０Ｂ】ＡＲ空間へのチェックインのための画面遷移の一例について説明するための遷移図の後半部である。
【図５１】ＡＲアプリケーションを実行するための情報処理の流れの一例を示すフローチャートである。
【図５２】図５１に示したアクション判定処理の詳細な流れの一例を示すフローチャートである。
【図５３】一変形例に係る情報処理装置の論理的機能の構成の一例を示すブロック図である。
【図５４】仮想オブジェクトの配置を決定するための手法の一変形例について説明するための説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
また、以下の順序で説明を行う。
１．概要
２．一実施形態に係る情報処理装置の構成例
２−１．ハードウェア構成
２−２．論理的機能の構成
３．ＡＲ空間の設定
３−１．ＡＲ空間の座標系
３−２．実空間マップからのＡＲ空間の構築
３−３．ＡＲ空間のカスタマイズ
３−４．仮想オブジェクトの表示属性の設定
３−５．ＡＲ空間の共有
３−６．共有されるオブジェクトに関連する設定
４．仮想オブジェクトの操作
４−１．操作ウィンドウの例
４−２．アバタのアクション
４−３．アバタを用いたコミュニケーション
４−４．ＡＲ空間に対する操作
４−５．その他の操作
４−６．様々な動作モード
５．ＡＲコミュニティ
５−１．ＡＲコミュニティの形成
５−２．可変パラメータの調整
５−３．初期位置の設定
５−４．様々なアクセスモード
６．処理の流れの例
６−１．チェックイン時の画面遷移
６−２．ＡＲアプリケーションの実行
６−３．アクション判定処理
７．変形例
７−１．端末とサーバとの連携
７−２．簡易的な実空間の認識
８．まとめ
【００１４】
＜１．概要＞
まず、図１及び図２を用いて、本開示に係る技術の概要を説明する。図１及び図２は、一実施形態に係る情報処理装置１００の概要について説明するための説明図である。
【００１５】
図１を参照すると、ユーザＵａが有する情報処理装置１００ａが示されている。ユーザＵａは、実空間１１ａに向けて情報処理装置１００ａを掲げている。情報処理装置１００ａは、実空間１１ａに向けられたレンズを有するカメラ（撮像装置）と、ディスプレイの画面とを備える。図１の例において、実空間１１ａには、実オブジェクトＲ１０ａ、Ｒ１１ａ、Ｒ１２及びＲ１３が存在する。実オブジェクトＲ１０ａは、テーブルである。実オブジェクトＲ１１ａは、ポスターである。実オブジェクトＲ１２は、本である。実オブジェクトＲ１３は、マグカップである。情報処理装置１００ａのカメラは、実空間１１ａを撮像することにより、撮像画像を生成する。情報処理装置１００ａのディスプレイは、撮像画像を画面に表示し得る。情報処理装置１００ａは、拡張現実（ＡＲ）アプリケーションを動作させる制御部（図示せず）を備え得る。ＡＲアプリケーションは、実空間が映る撮像画像を入力画像として受け取り、仮想オブジェクトの重畳された出力画像をディスプレイへ出力する。図１の例では、仮想オブジェクトＡ１１があたかもテーブルＲ１０ａの上に立っているかのように、出力画像Ｉｍ１１において仮想オブジェクトＡ１１が重畳されている。
【００１６】
図２を参照すると、ユーザＵｂが有する情報処理装置１００ｂが示されている。ユーザＵｂは、実空間１１ｂに向けて情報処理装置１００ｂを掲げている。情報処理装置１００ｂは、実空間１１ｂに向けられたレンズを有するカメラ（撮像装置）と、ディスプレイの画面とを備える。図２の例において、実空間１１ｂには、実オブジェクトＲ１０ｂ、Ｒ１１ｂ、Ｒ１４及びＲ１５が存在する。実オブジェクトＲ１０ｂは、テーブルである。実オブジェクトＲ１１ｂは、ポスターである。実オブジェクトＲ１４は、ペンである。実オブジェクトＲ１５は、コーヒーカップである。情報処理装置１００ｂのカメラは、実空間１１ｂを撮像することにより、撮像画像を生成する。情報処理装置１００ｂのディスプレイは、撮像画像を画面に表示し得る。情報処理装置１００ｂは、ＡＲアプリケーションを動作させる制御部（図示せず）を備え得る。ＡＲアプリケーションは、実空間が映る撮像画像を入力画像として受け取り、仮想オブジェクトの重畳された出力画像をディスプレイへ出力する。図２の例では、仮想オブジェクトＡ１１、Ａ１２及びＡ１３があたかもテーブルＲ１０ｂの上で歩いているかのように、出力画像Ｉｍ１２において仮想オブジェクトＡ１１、Ａ１２及びＡ１３が重畳されている。
【００１７】
図１の例において、仮想オブジェクトＡ１１は、ユーザＵａのアバタである。アバタＡ１１は、実空間１１ａに関連付けて設定される拡張現実空間（ＡＲ空間）内に配置され、様々なアクションを実行し得る。ユーザＵａは、画面に表示されるアバタＡ１１を閲覧し、又はアバタＡ１１を操作することにより、ＡＲアプリケーションを楽しむことができる。
【００１８】
ＡＲアプリケーションは、単独のユーザによって利用されてもよく、又は複数のユーザによって利用されてもよい。図２の例において、仮想オブジェクトＡ１１はユーザＵａのアバタであり、仮想オブジェクトＡ１２はユーザＵｂのアバタである。即ち、図１において実空間１１ａに関連付けて設定されているＡＲ空間と共通するＡＲ空間が、図２では実空間１１ｂに関連付けて設定されている。それにより、同じＡＲ空間が、ユーザＵａとユーザＵｂとの間で共有される。ユーザＵａは情報処理装置１００ａを用いてアバタＡ１１を操作し、ユーザＵｂは情報処理装置１００ｂを用いてアバタＡ１２を操作し得る。アバタＡ１１とアバタＡ１２とが互いにインタラクションすることも可能である。それにより、ＡＲアプリケーションを介するユーザ間のコミュニケーションが成立する。アバタＡ１３は、また別のユーザのアバタであってもよく、又は何らかのアルゴリズムに従って自律的に動作するキャラクタ（ＮＰＣ（Non-Player  Character）ともいう）であってもよい。
【００１９】
このように、ＡＲ技術においてユーザのアバタを仮想オブジェクトとして用いる際、単にアバタが活動する空間の背景が実空間の画像となるだけでは、拡張現実の魅力は十分に引き出されない。そこで、次節より詳細に説明する様々な実施形態によって、仮想現実とは異なる拡張現実の特性を活かした魅力的なユーザ体験を提供するための仕組みを実現する。
【００２０】
なお、以下の説明において、情報処理装置１００ａ及び１００ｂを互いに区別する必要が無い場合には、符号の末尾のアルファベットを省略することにより、これらを情報処理装置１００と総称する。
【００２１】
図１及び図２では、情報処理装置１００の一例としてタブレット端末を示している。しかしながら、情報処理装置１００は、かかる例に限定されない。情報処理装置１００は、例えば、ＰＣ（Personal  Computer）、ＰＤＡ（Personal  Digital  Assistant）、スマートフォン、ゲーム端末、ＰＮＤ（Portable  Navigation  Device）、コンテンツプレーヤ又はデジタル家電機器などであってもよい。また、情報処理装置１００は、ＨＭＤ（Head  Mounted  Display）などのウェアラブル装置であってもよい。また、ＡＲアプリケーションは、ユーザにより操作される端末上で動作する代わりに、端末との間で通信可能な他の装置（例えば、アプリケーションサーバ）上で動作してもよい。
【００２２】
＜２．一実施形態に係る情報処理装置の構成例＞
［２−１．ハードウェア構成］
図３は、一実施形態に係る情報処理装置１００のハードウェア構成の一例を示すブロック図である。図３を参照すると、情報処理装置１００は、カメラ１０２、センサ１０４、入力インタフェース１０６、メモリ１０８、ディスプレイ１１０、通信インタフェース１１２、バス１１６及びプロセッサ１１８を備える。
【００２３】
（１）カメラ
カメラ１０２は、画像を撮像するカメラモジュールである。カメラ１０２は、ＣＣＤ（Charge  Coupled  Device）又はＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を用いて実空間を撮像し、撮像画像を生成する。カメラ１０２により生成される撮像画像は、プロセッサ１１８により実行される情報処理の入力画像となる。なお、カメラ１０２は、必ずしも情報処理装置１００の一部でなくてもよい。例えば、情報処理装置１００と有線又は無線で接続される撮像装置がカメラ１０２として扱われてもよい。
【００２４】
（２）センサ
センサ１０４は、情報処理装置１００の地理的位置を測位する測位センサを含むセンサモジュールである。例えば、測位センサは、ＧＰＳ（Global  Positioning  System）信号を受信して緯度、経度及び高度を測定してもよく、無線アクセスポイントとの間で送受信される無線信号に基づいて位置を測定してもよい。さらに、センサ１０４は、加速度センサ及びジャイロセンサなどのその他の種類のセンサを含んでもよい。センサ１０４により生成されるセンサデータは、実空間の認識の支援、地理的な位置に特化したデータの取得、又はユーザ入力の検出などの様々な用途のために利用されてよい。
【００２５】
（３）入力インタフェース
入力インタフェース１０６は、ユーザが情報処理装置１００を操作し又は情報処理装置１００へ情報を入力するために使用される入力デバイスである。入力インタフェース１０６は、例えば、ディスプレイ１１０の画面（又は画面の反対側の筐体表面）上へのユーザによるタッチを検出するタッチセンサを含んでもよい。その代わりに（又はそれに加えて）、入力インタフェース１０６は、ボタン、スイッチ、キーパッド又はポインティングデバイスなどのその他の種類の入力デバイスを含んでもよい。また、入力インタフェース１０６は、ユーザにより発せられる音声コマンドをユーザ入力として認識する音声入力モジュール、又はユーザの視線方向をユーザ入力として検出する視線検出モジュールを含んでもよい。
【００２６】
（４）メモリ
メモリ１０８は、半導体メモリ又はハードディスクなどの記憶媒体により構成され、情報処理装置１００による処理のためのプログラム及びデータを記憶する。メモリ１０８により記憶されるデータは、撮像画像データ、センサデータ、及び後に説明するデータ記憶部内の様々なデータを含み得る。なお、本明細書で説明するプログラム及びデータの一部は、メモリ１０８により記憶されることなく、外部のデータソース（例えば、データサーバ、ネットワークストレージ又は外付けメモリなど）から取得されてもよい。
【００２７】
（５）ディスプレイ
ディスプレイ１１０は、ＬＣＤ（Liquid  Crystal  Display）、ＯＬＥＤ（Organic  light-Emitting  Diode）又はＣＲＴ（Cathode  Ray  Tube）などのディスプレイを含む表示モジュールである。ディスプレイ１１０は、例えば、情報処理装置１００により生成されるＡＲアプリケーションの画像を表示するために使用される。なお、ディスプレイ１１０もまた、必ずしも情報処理装置１００の一部でなくてもよい。例えば、情報処理装置１００と有線又は無線で接続される表示装置がディスプレイ１１０として扱われてもよい。
【００２８】
（６）通信部
通信インタフェース１１２は、情報処理装置１００による他の装置との間の通信を仲介する通信インタフェースである。通信インタフェース１１２は、任意の無線通信プロトコル又は有線通信プロトコルをサポートし、他の装置との間の通信接続を確立する。
【００２９】
（７）バス
バス１１６は、カメラ１０２、センサ１０４、入力インタフェース１０６、メモリ１０８、ディスプレイ１１０、通信インタフェース１１２及びプロセッサ１１８を相互に接続する。
【００３０】
（８）制御部
プロセッサ１１８は、ＣＰＵ（Central  Processing  Unit）又はＤＳＰ（Digital  Signal  Processor）などに相当し得る。プロセッサ１１８は、メモリ１０８又は他の記憶媒体に記憶されるプログラムを実行することにより、後に説明する情報処理装置１００の様々な機能を動作させる。
【００３１】
［２−２．論理的機能の構成］
図４は、図３に示した情報処理装置１００のメモリ１０８及びプロセッサ１１８により実現される論理的機能の構成の一例を示すブロック図である。図４を参照すると、情報処理装置１００は、画像取得部１２０、データ取得部１３０、ＡＲ処理部１４０、及びデータ記憶部１６０を備える。ＡＲ処理部１４０は、認識部１４２、ＡＲ空間設定部１４４及びオブジェクト制御部１４６を有する。
【００３２】
（１）画像取得部
画像取得部１２０は、実空間を映した撮像画像を入力画像としてカメラ１０２から取得する。画像取得部１２０により取得される入力画像は、典型的には、動画を構成する各フレームである。画像取得部１２０は、取得した入力画像を、ＡＲ処理部１４０へ出力する。
【００３３】
（２）データ取得部
データ取得部１３０は、ＡＲ処理部１４０がＡＲアプリケーションを動作させるために使用されるデータを取得する。例えば、データ取得部１３０は、センサ１０４により生成されるセンサデータ、及び通信インタフェース１１２を介して外部装置から受信される外部データを取得する。後に説明するデータ記憶部１６０内のデータの各々は、情報処理装置１００により予め記憶されてもよく、又は外部装置から動的に受信されてもよい。
【００３４】
（３）認識部
認識部１４２は、画像取得部１２０から入力される入力画像に映る実オブジェクトを認識し、認識した実オブジェクトごとの実空間内の位置及び姿勢を表現する実空間マップ１６４を生成する。また、認識部１４２は、情報処理装置１００（カメラ１０２）の位置及び姿勢をも認識する。認識部１４２は、例えば、ＳｆＭ（Structure  from  Motion）法又はＳＬＡＭ（Simultaneous  Localization  And  Mapping）法などの公知の画像認識アルゴリズムに従い、実オブジェクト及び情報処理装置１００の３次元的な位置及び姿勢を認識してもよい。一例として、特開２０１１−１５９１６２号公報は、ＳＬＡＭ法を活用することにより実空間マップ（環境マップ）を動的に構築するための手法を開示している。認識部１４２は、かかる手法を応用することにより、実オブジェクト及び情報処理装置１００の３次元的な位置及び姿勢をリアルタイムで認識し、実空間マップ１６４を生成することができる。その代わりに、認識部１４２は、カメラ１０２に追加的に設けられ得る深度センサからの深度データに基づいて、情報処理装置１００に対する実オブジェクトの相対的な位置及び姿勢を認識してもよい。また、認識部１４２は、赤外線測距システム又はモーションキャプチャシステムなどの環境認識システムからの出力データに基づいて、認識処理を実行してもよい。認識部１４２は、新たな入力画像が入力される都度更新され得る実空間マップ１６４を、データ記憶部１６０に記憶させる。
【００３５】
（４）ＡＲ空間設定部
ＡＲ空間設定部１４４は、入力画像に映る実空間を仮想的に拡張する拡張現実空間（ＡＲ空間）を設定する。本実施形態において、ＡＲ空間とは、実空間に関連付けて設定される３次元的な空間である。図１及び図２を用いて説明したアバタ及びその他の仮想オブジェクトは、ＡＲ空間設定部１４４により設定されるＡＲ空間内に配置され、ＡＲ空間内で様々なアクションを行う。ＡＲ空間が実空間に関連付けて設定されるため、例えば、カメラ１０２の画角が変化しても仮想オブジェクトが実空間内の同じ位置に留まっているかのような表示、又はアバタが実オブジェクトの表面上を移動するかのような表示が可能となる。ＡＲ空間設定部１４４は、設定すべきＡＲ空間を表現するＡＲ空間モデル１６６を生成し又は取得し、ＡＲ空間モデル１６６をデータ記憶部１６０に記憶させる。
【００３６】
ある実施例において、ＡＲ空間設定部１４４は、入力画像に映る実空間内の実オブジェクト（例えば、実空間マップ１６４により表現される各オブジェクト）をボクセル単位で離散化することにより、ＡＲ空間モデル１６６を生成する。ボクセル（Voxel）とは、体積を有する単位要素である。通常は、立方体状の３次元的な小ブロックがボクセルとして使用され得る。別の実施例において、ＡＲ空間設定部１４４は、他のユーザの撮像画像に基づいて生成されるＡＲ空間モデル１６６を、外部データとして取得する。ＡＲ空間モデル１６６により表現されるＡＲ空間は、撮像画像に関連する関連情報に応じて異なってもよい。このようなＡＲ空間を設定するための様々な手法について、後にさらに説明する。
【００３７】
ＡＲ空間モデル１６６において、実空間内の実オブジェクトに対応する仮想オブジェクトは、例えば、当該実オブジェクトの形状を、ボクセル単位で離散的に表現する。ＡＲ空間設定部１４４は、これら仮想オブジェクトの表示属性（例えば、テクスチャ及び色など）を、様々な条件に従って設定し得る。仮想オブジェクトの表示属性を設定するための様々な条件について、後にさらに説明する。
【００３８】
（５）オブジェクト制御部
オブジェクト制御部１４６は、ＡＲ空間内に仮想オブジェクトを配置し、配置した仮想オブジェクトを画面に表示させる。オブジェクト制御部１４６により配置される仮想オブジェクトは、図１及び図２を用いて説明したようなユーザのアバタを含む。また、仮想オブジェクトは、アバタとは異なるオブジェクト（例えば、チャットなどのコミュニケーションのためのメッセージオブジェクト又は自律的に動作するキャラクタなど）を含んでもよい。オブジェクト制御部１４６は、例えば、ＡＲ空間モデル１６６により表現される水平面上のいずれかの場所に、アバタ又はキャラクタを配置してもよい。また、オブジェクト制御部１４６は、ある実オブジェクトに関連する仮想オブジェクトを、当該実オブジェクトの近傍に配置してもよい。典型的には、オブジェクト制御部１４６は、仮想オブジェクトが互いに干渉しないように、各仮想オブジェクトを配置する。ここでの干渉とは、ＡＲ空間内の同じ体積要素を２つ以上の仮想オブジェクトが占めることをいう（オブジェクトの衝突と表現されてもよい）。例えば、アバタが実オブジェクトに対応する仮想オブジェクトと干渉すると、出力画像において実オブジェクトにアバタがめり込んでいるような不自然な表示がなされ得る。そうしたオブジェクト間の干渉の回避について、後にさらに説明する。
【００３９】
ＡＲ空間内に配置した仮想オブジェクトがユーザにより操作可能である場合、オブジェクト制御部１４６は、当該仮想オブジェクトのアクションをユーザ入力に応じて決定する。また、オブジェクト制御部１４６は、自律的に動作する仮想オブジェクトのアクションを、何らかの自律制御アルゴリズム（あるいはＡＩ（人工知能））に従って決定する。そして、オブジェクト制御部１４６は、決定したアクションを仮想オブジェクトに実行させる。仮想オブジェクト（例えば、アバタ）をユーザが操作するための様々なユーザインタフェースについて、後にさらに説明する。
【００４０】
オブジェクト制御部１４６は、画像取得部１２０から入力される入力画像、及びユーザ入力に基づいて、ＡＲ空間設定部１４４により設定されたＡＲ空間内の１つ以上の仮想オブジェクトの状態を動的に更新し、仮想オブジェクトの画像を生成する。各仮想オブジェクトの画像は、例えば、カメラ１０２の位置及び姿勢、並びにＡＲ空間内の各仮想オブジェクトの位置及び姿勢に基づいて、ピンホールモデルに従って生成されてもよい。そして、オブジェクト制御部１４６は、仮想オブジェクト画像の重畳された実空間の画像（出力画像）を、ディスプレイ１１０の画面に表示させる。このような出力画像が動的に更新される結果として、画面上では、実空間が仮想オブジェクトによって拡張されたかのような表示が実現され得る。
【００４１】
（６）データ記憶部
データ記憶部１６０は、実オブジェクトデータ１６２、実空間マップ１６４、ＡＲ空間モデル１６６及び仮想オブジェクトデータ１６８を記憶する。
【００４２】
実オブジェクトデータ１６２は、実空間に存在し得る実オブジェクトの特徴を定義するデータである。実オブジェクトデータ１６２は、例えば、実オブジェクトごとの形状、サイズ及びテクスチャを定義し、又は実オブジェクトごとの画像特徴量を含み得る。実オブジェクトデータ１６２は、例えば、認識部１４２が撮像画像に映る実オブジェクトを認識するために使用され得る。
【００４３】
実空間マップ１６４は、認識部１４２により認識される実オブジェクトごとの実空間内の位置及び姿勢を表現するデータである。実空間マップ１６４は、例えば、ＡＲ空間設定部１４４がＡＲ空間を設定する際に参照され得る。カメラ１０２の位置及び姿勢もまた実空間マップ１６４により表現されてもよい。
【００４４】
ＡＲ空間モデル１６６は、ＡＲ空間設定部１４４により設定されるＡＲ空間を表現するデータである。ＡＲ空間モデル１６６は、例えば、オブジェクト制御部１４６が仮想オブジェクトをＡＲ空間に配置し又は仮想オブジェクトのアクションを決定する際に参照され得る。ＡＲ空間モデル１６６は、配置された各仮想オブジェクトの位置及び姿勢を表現するデータを含んでもよい。
【００４５】
仮想オブジェクトデータ１６８は、ＡＲ空間に配置され得る仮想オブジェクトの特徴を定義するデータである。例えば、仮想オブジェクトデータ１６８は、ユーザごとに選択されるアバタのニックネーム、外観、及び実行可能なアクションの種類を定義する。また、仮想オブジェクトデータ１６８は、アバタとは異なる仮想オブジェクトの外観及び実行可能なアクションの種類を定義してもよい。仮想オブジェクトデータ１６８もまた、例えば、オブジェクト制御部１４６が仮想オブジェクトをＡＲ空間に配置し又は仮想オブジェクトのアクションを決定する際に参照され得る。
【００４６】
このような情報処理装置１００により実現され得るＡＲアプリケーションの詳細を、次節よりさらに説明する。
【００４７】
＜３．ＡＲ空間の設定＞
本節では、実空間と関連付けてＡＲ空間を設定するための様々な手法について説明する。
【００４８】
［３−１．ＡＲ空間の座標系］
仮想オブジェクトの位置及び姿勢は、ＡＲ空間の座標系（以下、ＡＲ座標系という）で表現される。ＡＲ座標系は、実空間マップ１６４において実オブジェクトの位置及び姿勢を表現するために使用される座標系と同一であってよい。ＡＲ座標系は、例えば、入力画像に映る何らかの実オブジェクトに沿って設定されてもよく、又はセンサデータから推定され得る水平面に沿って設定されてもよい。
【００４９】
一例として、ユーザがＡＲアプリケーションを開始する際に撮像される実オブジェクトを、基準オブジェクトという。ＡＲ座標系は、認識部１４２により認識される基準オブジェクトの位置及び姿勢を基準として設定されてもよい。図５を参照すると、実オブジェクトＲ１１ａが示されている。実オブジェクトＲ１１ａは、「Ａ」という文字が描かれたポスターである。ここでは、実オブジェクトＲ１１ａが基準オブジェクトとして使用される。図５に示したＸ−Ｙ−Ｚ座標系は基準オブジェクトＲ１１ａの位置及び姿勢に沿って設定されており、当該Ｘ−Ｙ−Ｚ座標系はＡＲ座標系として使用され得る。ＡＲ座標系のスケールは、基準オブジェクトＲ１１ａのサイズに合わせて設定され得る。なお、上述したＳＬＡＭ法に従って実空間が認識される場合、認識の初期段階において基準オブジェクトが撮像された後、基準オブジェクトが画角の外へ移動しても、ＡＲ座標系を見失うことなく実空間の認識を継続することが可能である。
【００５０】
［３−２．実空間マップからのＡＲ空間の構築］
ある実施例において、ＡＲ空間設定部１４４は、例えば、認識部１４２により生成された実空間マップ１６４内の実オブジェクトの各々を上述したボクセル単位で離散化することにより、ＡＲ空間を構築する。
【００５１】
図６は、実オブジェクトの離散化の一例について説明するための説明図である。図６の上段を参照すると、実オブジェクトＲ１０ａの表面上に存在する実オブジェクトＲ１２が示されている。ＡＲ座標系における実オブジェクトＲ１２の位置及び姿勢（Ｐ１２，Ｗ１２）は、認識部１４２により実行される認識処理の結果として、実空間マップ１６４内に記述される。実オブジェクトＲ１２の形状及びサイズは、実オブジェクトデータ１６２により予め定義され得る。従って、ＡＲ空間設定部１４４は、実オブジェクトＲ１２の位置、姿勢、形状及びサイズに基づいて実オブジェクトＲ１２の空間的な境界を算出し、実オブジェクトＲ１２がどの範囲のボクセルを占めているかを判定することができる。
【００５２】
図６の下段には、実オブジェクトＲ１２が占めているボクセルの集合に相当する仮想オブジェクトＶ１２が示されている。例えば、ボクセルＶＸ１は、その体積の半分以上が実オブジェクトＲ１２の空間的な境界の内側にあるため、仮想オブジェクトＶ１２を構成する。一方、ボクセルＶＸ２は、実オブジェクトＲ１２の空間的な境界の外側にあるため、仮想オブジェクトＶ１２を構成しない。各ボクセルが実オブジェクトを構成するか否かは、例えばボクセルごとに１ビットの情報によって表現され得る。このように、実オブジェクトをボクセル単位で離散化し、実オブジェクトにより占められているボクセルとそうでないボクセルとをＡＲ空間モデル１６６において識別しておくことにより、ＡＲ空間をハンドリングする際の様々なメリットが生じる。それらメリットについては、後にさらに説明する。
【００５３】
図７は、実空間マップから構築されるＡＲ空間の一例について説明するための説明図である。図７の上段には、図１を用いて説明した実空間１１ａについて認識部１４２により生成され得る実空間マップが、概念的に示されている。当該実空間マップは、実オブジェクトＲ１０ａの位置及び姿勢（Ｐ１０、Ｗ１０）、実オブジェクトＲ１１ａの位置及び姿勢（Ｐ１１、Ｗ１１）、実オブジェクトＲ１２の位置及び姿勢（Ｐ１２、Ｗ１２）、並びに実オブジェクトＲ１３の位置及び姿勢（Ｐ１３、Ｗ１３）を含む。図７の下段には、実空間１１ａについて実空間マップを離散化することにより生成され得るＡＲ空間モデルＭ１０が、概念的に示されている。ＡＲ空間モデルＭ１０は、実オブジェクトＲ１０ａ、Ｒ１１ａ、Ｒ１２及びＲ１３により空間的に占められているボクセルを識別する。仮想オブジェクトＶ１０ａは実オブジェクトＲ１０ａに、仮想オブジェクトＶ１１ａは実オブジェクトＲ１１ａに、仮想オブジェクトＶ１２は実オブジェクトＲ１２に、仮想オブジェクトＶ１３は実オブジェクトＲ１３にそれぞれ対応する。このようなＡＲ空間モデルが、アバタ及びその他の仮想オブジェクトのＡＲ空間内のアクションを制御するために使用され得る。
【００５４】
なお、実空間マップ及びＡＲ空間モデルは、それぞれ、複数の入力画像を用いた累積的な認識結果に基づいて生成されてよい。即ち、ＡＲ空間が構築されるフェーズにおいて、１人のユーザが周囲の実空間をスキャンするようにカメラ１０２の画角を動かすことにより、複数のフレームにわたって認識される広い空間的範囲にわたる実空間マップ及びＡＲ空間モデルが生成されてよい。その代わりに、複数のユーザにより並列的に撮像された複数の実空間の入力画像から、広い空間的範囲にわたる実空間マップ及びＡＲ空間モデルが協調的に生成されてもよい。
【００５５】
［３−３．ＡＲ空間のカスタマイズ］
ＡＲ空間は、実空間を離散化することにより構築された状態から、ユーザによりカスタマイズされてもよい。図８は、ＡＲ空間のカスタマイズの一例について説明するための説明図である。図８を参照すると、図７の下段に示したＡＲ空間モデルＭ１０が再び示されている。但し、図８の例では、ＡＲ空間モデルＭ１０は、仮想オブジェクトＶ１６及び窪みＨ１７を含む。仮想オブジェクトＶ１６は、実オブジェクトに対応しない、仮想的なブロックの集合である。仮想オブジェクトＶ１６により占められるボクセルもまた、ＡＲ空間モデルＭ１０により識別され得る。仮想的なブロックを追加するためのユーザインタフェースの一例について、後にさらに説明する。窪みＨ１７は、本来実オブジェクトが占めていたはずのボクセルであって、実オブジェクトが存在しないとされるボクセルに相当する。このようなＡＲ空間のカスタマイズが可能となれば、ユーザが自らの意図に沿ってゲームのフィールド又は他ユーザとのコミュニケーションのフィールドを独自に構築することが可能となる。例えば、対戦型ゲームのフィールドにおいて、仮想オブジェクトＶ１６は障害物に、窪みＨ１７は落とし穴にそれぞれなり得る。
【００５６】
［３−４．仮想オブジェクトの表示属性の設定］
ＡＲ空間設定部１４４は、ＡＲ空間モデル１６６において、実オブジェクトに対応する仮想オブジェクトの表示属性を、様々な条件に従って設定し得る。ＡＲ空間設定部１４４により設定され得る仮想オブジェクトの表示属性は、仮想オブジェクトのテクスチャ及び色を含み得る。以下、実オブジェクトに対応する仮想オブジェクトの表示属性を設定するための手法のいくつかの例を説明する。
【００５７】
（１）第１の例
図９は、仮想オブジェクトのテクスチャ又は色を設定するための手法の第１の例について説明するための説明図である。第１の例において、ＡＲ空間設定部１４４は、各実オブジェクトに対応する各仮想オブジェクトのテクスチャ又は色を、当該実オブジェクトのテクスチャ又は色に基づいて設定する。図９の上段には、実オブジェクトＲ１２が示されている。実オブジェクトＲ１２は本であり、その表紙には模様が描かれている。実オブジェクトＲ１２の側面には、重なったページの端部が見えている。ＡＲ空間設定部１４４は、このような実オブジェクトＲ１２に対応する仮想オブジェクトＶ１２の表面のテクスチャ又は色を、入力画像から取得され得る実オブジェクトＲ１２のテクスチャ又は色に基づいて設定する。図９の下段には、テクスチャ又は色の付与された仮想オブジェクトＶ１２が示されている。図９の例では、テクスチャ又は色は、ボクセルの面ごとに決定されている。なお、仮想オブジェクトのテクスチャ又は色は、オブジェクトごとに決定されてもよく、又は仮想オブジェクトの面ごとに決定されてもよい。このような手法によれば、離散化された仮想オブジェクトの外観が対応する実オブジェクトの外観に似たものとなるため、実オブジェクトの代わりに対応する仮想オブジェクトが表示される場合にも、出力画像において実空間の状況をユーザが把握することが容易となる。
【００５８】
（２）第２の例
図１０は、仮想オブジェクトのテクスチャ又は色を設定するための手法の第２の例について説明するための説明図である。第２の例において、ＡＲ空間設定部１４４は、各実オブジェクトに対応する各仮想オブジェクトのテクスチャ又は色を、基準オブジェクトのテクスチャ又は色に基づいて設定する。図１０の上段には、実オブジェクトＲ１２及びＲ１９が示されている。実オブジェクトＲ１２は本である。実オブジェクトＲ１９は、飲料缶である。これら２つの実オブジェクトのうち、実オブジェクトＲ１９が基準オブジェクトであるものとする。ＡＲ空間設定部１４４は、実オブジェクトＲ１２に対応する仮想オブジェクトＶ１２の表面のテクスチャ又は色を、基準オブジェクトＲ１９のテクスチャ又は色に基づいて設定する。図１０の下段には、テクスチャの付与された仮想オブジェクトＶ１２が示されている。図１０の例では、仮想オブジェクトＶ１２のテクスチャは、基準オブジェクトＲ１９の外観に類似する外観を示している。このような手法によれば、ユーザにより撮像される特定の実オブジェクトの外観でユーザの部屋の空間を装飾するような特別なＡＲ空間を提供することが可能となる。また、特定の製品のマーケティングを計画する企業が、当該製品を基準オブジェクトとして使用するＡＲアプリケーションを提供してもよい。その場合には、製品のパッケージ又はロゴの外観でユーザの周囲の空間が装飾されるため、ユーザに対する当該製品の認知度を高め、ユーザの購買意欲を喚起することができる。
【００５９】
（３）変形例
図１１は、仮想オブジェクトの表示属性を設定するための手法の一変形例について説明するための説明図である。ここでは、ＡＲ空間設定部１４４は、各実オブジェクトに対応する各仮想オブジェクトの外観の種類を、当該実オブジェクトの地形的パラメータに基づいて設定する。実オブジェクトの地形的パラメータとは、例えば、実オブジェクトの水平方向の幅、何らかの基準面からの高さ、及び位置を含み得る。図１１の上段には、実オブジェクトＲ１２及びＲ１３が示されている。実オブジェクトＲ１２は、第１の閾値を上回る幅と第２の閾値を上回る高さとを有する。実オブジェクトＲ１３は、第１の閾値を下回る幅と第２の閾値を上回る高さとを有する。ＡＲ空間設定部１４４は、このような地形的パラメータに基づいて、実オブジェクトＲ１２に対応する仮想オブジェクトＶ１２の外観の種類を、山に設定する。また、ＡＲ空間設定部１４４は、実オブジェクトＲ１３に対応する仮想オブジェクトＶ１３の外観の種類を、木に設定する。ＡＲ空間設定部１４４は、基準面と等しい高さを有する領域の外観の種類を地面に、基準面よりも低い高さを有する領域の外観の種類を水面にそれぞれ設定してもよい。このような手法により、ユーザの周囲の空間が自然の景観で装飾されたかのような特別なＡＲ空間をユーザに提供することができる。
【００６０】
［３−５．ＡＲ空間の共有］
ここまで説明したような手法で構築されるＡＲ空間は、１人のユーザがＡＲアプリケーションを楽しむために利用されてもよく、又は複数のユーザがアバタなどの仮想オブジェクトを介してコミュニケーションするために利用されてもよい。後者の場合、複数のユーザがそれぞれ個別にＡＲ空間を構築するだけでは、それらＡＲ空間は共有されない。そこで、本項では、複数のユーザの間でＡＲ空間を共有するための手法のいくつかの例を説明する。
【００６１】
（１）第１の例
図１２は、複数のユーザの間でＡＲ空間を共有するための手法の第１の例について説明するための説明図である。第１の例では、ＡＲ空間設定部１４４は、ＡＲ空間が複数のユーザにより共有される場合に、当該複数のユーザのうちの親ユーザの撮像画像に基づいて設定されるＡＲ空間を、複数のユーザの各々に適用する。図１２には、ユーザＵａ、Ｕｂ及びＵｃが示されている。これらユーザのうち、ユーザＵａは親ユーザであり、ユーザＵｂ及びＵｃは子ユーザである。ＡＲ空間モデルＭ１１は、親ユーザＵａの撮像画像に基づいて設定されるＡＲ空間を表現するモデル（以下、親ＡＲ空間モデルという）である。親ＡＲ空間モデルＭ１１は、例えば、親ユーザＵａの周囲の実空間を離散化することにより生成され得る。そして、親ＡＲ空間モデルＭ１１は、親ユーザＵａの端末又はアプリケーションサーバから、子ユーザＵｂ及びＵｃの端末にそれぞれ配信される。子ユーザ側の情報処理装置１００のＡＲ空間設定部１４４は、データ取得部１３０を介して取得される親ＡＲ空間モデルを参照し、画像取得部１２０により取得される入力画像に映る実空間と関連付けて、親ＡＲ空間モデルにより表現されるＡＲ空間を設定する。このような手法によれば、例えば、選択された親ユーザの部屋へ子ユーザのアバタが訪問しているかのようなＡＲアプリケーションを実現することが可能となる。
【００６２】
（２）第２の例
図１３は、複数のユーザの間でＡＲ空間を共有するための手法の第２の例について説明するための説明図である。第２の例では、ＡＲ空間設定部１４４は、ＡＲ空間が複数のユーザにより共有される場合に、当該複数のユーザの撮像画像に基づいてそれぞれ構築される複数のユーザ別ＡＲ空間を統合することにより、１つのＡＲ空間を形成する。ＡＲ空間設定部１４４は、例えば、複数のユーザ別ＡＲ空間の和をボクセル単位で計算することにより、当該複数のユーザ別ＡＲ空間を統合し得る。図１３には、ユーザＵａ及びＵｂが示されている。ユーザＵａ及びＵｂは、互いにピアユーザである。図１３の左上には、ユーザＵａの周囲の実空間を離散化することにより構築されるユーザ別ＡＲ空間を表現するユーザ別ＡＲ空間モデルＭ２１が示されている。図１３の右上には、ユーザＵｂの周囲の実空間を離散化することにより構築されるユーザ別ＡＲ空間を表現するユーザ別ＡＲ空間モデルＭ２２が示されている。ユーザ別ＡＲ空間モデルＭ２１及びＭ２２は、ユーザＵａ及びＵｂの端末において又はアプリケーションサーバにおいて統合され、１つの統合ＡＲ空間モデルＭ２３が形成される。図１３の例では、ユーザ別ＡＲ空間モデルＭ２１及びＭ２２は、基準オブジェクトの位置及び姿勢を基準として位置決め（align）された上で、ボクセル単位で論理和を計算することにより統合され、統合ＡＲ空間モデルＭ２３が形成されている。ここでの論理和は、少なくとも一方のユーザ別ＡＲ空間モデルにおいて実（仮想）オブジェクトにより占められていると識別されるボクセルが、統合ＡＲ空間モデルにおいても実（仮想）オブジェクトにより占められていると識別されることを意味する。例えば、ユーザ別ＡＲ空間モデルＭ２１は、実オブジェクトに対応する仮想オブジェクトＶ２１及びＶ２２を含む。ユーザ別ＡＲ空間モデルＭ２２は、実オブジェクトに対応する仮想オブジェクトＶ２３及びＶ２４を含む。統合ＡＲ空間モデルＭ２３は、これら仮想オブジェクトＶ２１、Ｖ２２、Ｖ２３及びＶ２４の全てを含む。
【００６３】
ここで、対比のために、（統合ＡＲ空間モデルＭ２３ではなく）ユーザ別ＡＲ空間モデルＭ２２がユーザＵａ及びＵｂの間で共有される状況を想定する。図１及び図２を用いて説明したアバタは、ＡＲ空間内で他の仮想オブジェクトに衝突しないように移動し得る。しかし、ユーザ別ＡＲ空間モデルＭ２２は仮想オブジェクトＶ２２を含まないため、アバタが仮想オブジェクトＶ２２の位置を通過してしまうことがあり得る。ユーザＵｂの側では仮想オブジェクトＶ２２の位置に実オブジェクトは存在しないため、このようなアバタの動きは問題とならない。一方、ユーザＵａの側では、仮想オブジェクトＶ２２の位置に実オブジェクトが存在するため、アバタが当該実オブジェクトを通り抜けたように見えるという不自然な表示が行われ得る。これに対し、統合ＡＲ空間モデルＭ２３がユーザＵａ及びＵｂの間で共有される場合には、統合ＡＲ空間モデルＭ２３が仮想オブジェクトＶ２１、Ｖ２２、Ｖ２３及びＶ２４の全てを含むため、共有されるＡＲ空間内のアバタがいずれのユーザの周囲の実オブジェクトと干渉することも効果的に防止される。ユーザ別ＡＲ空間モデルがボクセル単位で離散化されていれば、ボクセル単位の論理演算に基づく単純なアルゴリズムによって、少ない計算負荷でＡＲ空間モデルを統合することが可能である。なお、他の例において、論理和の代わりに論理積が計算されてもよい。
【００６４】
（３）第３の例
図１４は、複数のユーザの間でＡＲ空間を共有するための手法の第３の例について説明するための説明図である。第３の例では、ＡＲ空間設定部１４４は、ＡＲ空間が複数のユーザにより共有される場合に、当該複数のユーザの撮像画像に基づいてそれぞれ構築される複数のユーザ別ＡＲ空間を統合することにより、１つのＡＲ空間を形成する。ＡＲ空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、ＡＲ空間設定部１４４は、例えば、テリトリごとのユーザの割当てに従って、それぞれ異なるユーザ別拡張現実空間をテリトリごとに選択することにより、ユーザ別拡張現実空間を統合し得る。図１４には、ユーザＵａ及びＵｂが示されている。ユーザＵｂは、ユーザＵａの相手ユーザである。図１４の左上には、ユーザＵａの周囲の実空間を離散化することにより構築されるユーザ別ＡＲ空間を表現するユーザ別ＡＲ空間モデルＭ３１が示されている。図１４の右上には、ユーザＵｂの周囲の実空間を離散化することにより構築されるユーザ別ＡＲ空間を表現するユーザ別ＡＲ空間モデルＭ３２が示されている。ユーザ別ＡＲ空間モデルＭ３１及びＭ３２は、ユーザＵａ及びＵｂの端末において又はアプリケーションサーバにおいて統合され、１つの統合ＡＲ空間モデルＭ３３が形成される。図１４の例では、基準オブジェクトの位置を基準として、ＡＲ空間の左半分がユーザＵａに割当てられるテリトリＴａ、ＡＲ空間の右半分がユーザＵｂに割当てられるテリトリＴｂである。ＡＲ空間設定部１４４は、テリトリＴａについてユーザ別ＡＲ空間モデルＭ３１を選択し、テリトリＴａについてユーザ別ＡＲ空間モデルＭ３２を選択し、これら選択したユーザ別ＡＲ空間モデルをテリトリ境界で結合することにより、統合ＡＲ空間モデルＭ３３を形成する。統合ＡＲ空間モデルＭ３３は、テリトリＴａにおいてユーザ別ＡＲ空間モデルＭ３１に含まれていた仮想オブジェクトＶ３１を含み、テリトリＴｂにおいてユーザ別ＡＲ空間モデルＭ３２に含まれていた仮想オブジェクトＶ３２及びＶ３３を含む。
【００６５】
このような手法によれば、ＡＲ空間の構築及びカスタマイズを、テリトリ別に複数のユーザが分担して行うことが可能となる。また、対戦型ゲーム（例えば、アバタによるサバイバルゲーム、ドッジボール又は雪合戦など）の用途において、ユーザがそれぞれ自分の陣地を構築し、ユーザ別の陣地を結合することにより全体としての１つの対戦フィールドを形成することも可能となる。
【００６６】
なお、いずれの手法においても、ＡＲ空間設定部１４４は、複数のユーザにより共有されるＡＲ空間の表示スケールを、例えば入力画像に映る実空間内の基準オブジェクトのサイズに基づいて設定してよい。それにより、例えば、サーバから配信されるＡＲ空間モデルを用いてＡＲ空間を設定した場合に、設定したＡＲ空間が実空間から浮いて見えたり逆に沈んで見えたりするような不自然な表示を回避することができる。その代わりに、ＡＲ空間の表示スケールは、例えば、実空間の床面、壁面又はテーブルの表面などの何らかの基準面とカメラとの距離に基づいて設定されてもよい。
【００６７】
［３−６．共有されるオブジェクトの表示］
（１）仮想オブジェクトの表示属性
複数のユーザの間でＡＲ空間が共有される場合、あるユーザの周囲には存在しない実オブジェクトに対応する仮想オブジェクトが、共有されるＡＲ空間モデルに含まれる可能性がある。この場合、当該仮想オブジェクトが表示されなければ、ユーザは、そのオブジェクトの存在を認識しない。一方、ユーザの周囲に存在する実オブジェクトに対応する仮想オブジェクトが表示されなかったとしても、当該実オブジェクトは入力画像に映るため、ユーザは、そのオブジェクトの存在を認識することができる。実オブジェクトに対応する仮想オブジェクトを画面に表示させる際、オブジェクト制御部１４６は、仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの撮像画像に映っているかに応じて変化させてもよい。例えば、オブジェクト制御部１４６は、自装置のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトは非表示又は半透明とし、他のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトのみを入力画像に重畳してもよい。また、オブジェクト制御部１４６は、他のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトのテクスチャ又は色を、ユーザごとに異なるように設定してもよい。
【００６８】
図１５は、複数のユーザにより共有されるＡＲ空間の表示の一例について説明するための説明図である。図１５を参照すると、ユーザＵａが有する情報処理装置１００ａが示されている。情報処理装置１００ａの画面には、入力画像に重畳されたユーザＵａのアバタＡ１１及びユーザＵｂのアバタＡ１２が表示されている。入力画像には、実オブジェクトＲ１２が映っている。実オブジェクトＲ１２は、ユーザＵａの周囲の実空間に存在する。さらに、情報処理装置１００ａの画面には、仮想オブジェクトＶ１５が表示されている。仮想オブジェクトＶ１５に対応する実オブジェクトは、ユーザＵａの周囲の実空間には存在せず、ユーザＵｂの周囲の実空間（図示せず）に存在する。このように仮想オブジェクトの表示属性（図１５の例では、表示／非表示）が設定されることにより、ユーザは、ＡＲアプリケーションの画像内で、自身の周囲に存在するオブジェクトとそれ以外のオブジェクトとを見分けることができる。また、仮想オブジェクトの表示属性がユーザごとに別々に設定される場合には、どの仮想オブジェクトがどのユーザの周囲の実オブジェクトに由来しているのかを、ユーザが見分けることが可能となる。
【００６９】
（２）共有／非共有の設定
複数のユーザの間でＡＲ空間が共有される場合に、ユーザは、自らの周囲にどのような実オブジェクトが存在するかを他のユーザに知られることを望まない可能性がある。ＡＲアプリケーションを開始するにあたって、他のユーザに知られたくない実オブジェクトを実空間から物理的に排除しなければならないとすれば、ユーザにとっては不便である。そこで、ＡＲ空間設定部１４４は、ユーザにより指定される実オブジェクトのみを離散化することにより、ＡＲ空間を設定してもよい。その代わりに、ＡＲ空間設定部１４４は、ＡＲ空間から除外すべき実オブジェクトをユーザに指定させ、除外されなかった実オブジェクトを離散化することにより、ＡＲ空間を設定してもよい。
【００７０】
図１６は、共有し又は共有しないオブジェクトをユーザが指定するためのユーザインタフェースの一例について説明するための説明図である。図１６を参照すると、情報処理装置１００ａの画面に、実空間１１ａを映した画像Ｉｍ１３が表示されている。画像Ｉｍ１３には、実空間１１ａに存在する実オブジェクトＲ１２が映っている。認識部１４２は、例えば実オブジェクトデータ１６２を用いて、実オブジェクトＲ１２を認識する。ＡＲ空間設定部１４４は、ＡＲ空間を設定する前に、認識された実オブジェクトＲ１２をＡＲ空間から除外するか否かを問い合わせるメッセージＭＳＧ１１を、画像Ｉｍ１３に重畳する。例えば、ユーザが実オブジェクトＲ１２をＡＲ空間から除外することを選択した場合には、実オブジェクトＲ１２に対応する仮想オブジェクトは、ＡＲ空間モデルに含まれない。一方、ユーザが実オブジェクトＲ１２をＡＲ空間から除外しないことを選択した場合には、実オブジェクトＲ１２に対応する仮想オブジェクトが、ＡＲ空間モデルに含まれる。このようなユーザインタフェースが提供されることにより、他のユーザとの間で共有することをユーザが許容するオブジェクトのみをＡＲアプリケーションにおいて共有することが可能となる。
【００７１】
（３）ボクセルの粒度
ＡＲ空間設定部１４４は、実オブジェクトを離散化するために使用されるボクセルの粒度を、ユーザに指定させてもよい。ボクセルの粒度が小さければ、実オブジェクトに対応する仮想オブジェクトは、当該実オブジェクトの外観を明瞭に再現し得る。ボクセルの粒度が大きければ実オブジェクトに対応する仮想オブジェクトは、当該実オブジェクトの外観を曖昧にのみ再現し得る。
【００７２】
図１７は、ボクセルの粒度の設定について説明するための説明図である。図１７の左には、一例としての実オブジェクトＲ１９が示されている。図１７の右には、実オブジェクトＲ１９に対応する仮想オブジェクトＶ１９ａ、Ｖ１９ｂ及びＶ１９ｃが示されている。仮想オブジェクトＶ１９ａのボクセル粒度は相対的に大きく、仮想オブジェクトＶ１９ａは３つのボクセルから構成される。仮想オブジェクトＶ１９ｂのボクセル粒度は仮想オブジェクトＶ１９ａよりも小さく、仮想オブジェクトＶ１９ｂは２４個のボクセルから構成される。仮想オブジェクトＶ１９ｃのボクセル粒度は仮想オブジェクトＶ１９ｂよりもさらに小さく、仮想オブジェクトＶ１９ｃはさらに多くのボクセルから構成される。図１７から理解されるように、仮想オブジェクトＶ１９ｃは、仮想オブジェクトＶ１９ａ及びＶ１９ｂと比較して、実オブジェクトＲ１９の外観をより明瞭に再現している。
【００７３】
例えば、ユーザは、実空間の再現性を重要視する場合には、より小さいボクセル粒度を指定し得る。これに対し、ユーザは、実空間の再現性よりもプライバシー保護を重要視する場合には、より大きいボクセル粒度を指定し得る。このようなボクセル粒度を指定可能なユーザインタフェースが提供されれば、ユーザが個々の時点で自らの意図に合わせてボクセル粒度を選択することが可能となる。
【００７４】
ボクセル粒度は、ユーザにより直接的に指定される代わりに、ユーザのプライバシー設定に基づいて決定されてもよい。図１７に示したように、ユーザが高レベルのプライバシー保護を求める場合には、ＡＲ空間設定部１４４は、より大きいボクセル粒度を決定する。一方、ユーザが低レベルのプライバシー保護を許容する場合には、ＡＲ空間設定部１４４は、より小さいボクセル粒度を決定する。このようなプライバシーレベルを指定可能なユーザインタフェースが提供されれば、ユーザが求めるプライバシー保護のレベルに合わせて、ＡＲアプリケーションがボクセル粒度を適応的に調整することが可能となる。
【００７５】
＜４．仮想オブジェクトの操作＞
本節では、ＡＲ空間内に配置されるアバタ及びその他の仮想オブジェクトの操作に関連する様々な実施例について説明する。
【００７６】
［４−１．操作ウィンドウの例］
（１）アバタ選択ウィンドウ
図１８は、アバタ選択ウィンドウの一例ついて説明するための説明図である。アバタ選択ウィンドウは、ユーザがアバタベースのＡＲアプリケーションを開始する際に、又はユーザがユーザデータをアプリケーションに登録する際に表示され得るウィンドウである。図１８の例において、アバタ選択ウィンドウＩｍ２１には、４体のアバタが表示されている。ユーザは、例えば左右方向のフリックによって、現在選択の候補となっているアバタを変更することができる。ユーザがＯＫボタンをタップすると、その時点で選択の候補となっているアバタ（典型的には、正面に表示されているアバタ）が、ユーザのためのアバタとして選択される。
【００７７】
（２）操作ウィンドウ
図１９は、基本的な操作ウィンドウの一例ついて説明するための説明図である。操作ウィンドウは、ＡＲアプリケーションが実行されている間に表示され得るウィンドウである。図１９の例において、操作ウィンドウＩｍ２２には、オブジェクト制御部１４６により生成される出力画像が表示される。当該出力画像は、例えば、実空間を映した入力画像に仮想オブジェクトを重畳させることにより生成され得る。図１９の例では、アバタＡ１１及びアバタＡ１２が仮想オブジェクトとして表示されている。また、操作ウィンドウＩｍ２２には、ボタンＢ１、Ｂ２、Ｂ３及びＢ４が重畳されている。
【００７８】
図１及び図２を用いて説明したように、ＡＲアプリケーションを利用している間、ユーザは、原則として端末（カメラ）を実空間に向けて掲げている。カメラをどの方向に向けるかは、ＡＲアプリケーションにとって重要である。カメラの姿勢の意図しないブレは、実空間の認識の精度にも悪影響を与え得る。そして、多くの携帯端末はタッチパネルディスプレイを有し、タッチ入力に基づくユーザインタフェースを採用しているが、タッチ入力は端末の姿勢のブレを比較的引き起こし易い。これに対し、本節で説明するユーザインタフェースは、端末の姿勢のブレを可能な限り低減することにより、ＡＲアプリケーションの安定的な動作と操作性の向上とを実現する。
【００７９】
例えば、オブジェクト制御部１４６は、ＡＲ空間内のオブジェクトを表示する操作ウィンドウの右端領域及び左端領域の少なくとも一方に、ユーザにより操作されるユーザインタフェースを重畳する。当該右端領域及び左端領域は、ディスプレイを把持しているユーザの指が届く領域である。図１９の例において、ボタンＢ１及びＢ２はユーザの右手の指が届く右端領域Ｒｇ１に、ボタンＢ３及びＢ４はユーザの左手の指が届く左端領域Ｒｇ２に重畳されている。このようなユーザインタフェースの配置によって、ユーザが両手で情報処理装置１００を支持したままボタンＢ１、Ｂ２、Ｂ３又はＢ４にタッチすることが可能である。オブジェクト制御部１４６は、ユーザの利き手を自動的に判定し、ユーザの利き手の側の端部領域により多くのユーザインタフェースを配置してもよい。
【００８０】
また、例えば、オブジェクト制御部１４６は、ＡＲ空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて、ＡＲ空間内で実行されるアクションの対象位置を決定する。カメラの光軸は、通常、撮像面の中央から撮像面に対して垂直に奥行き方向に伸びる直線である。図１９には、ＡＲ空間内のテーブルの表面とカメラの光軸との交点Ｃ１が、×印で示されている。このようなＡＲ空間内のオブジェクトとカメラの光軸との間の位置関係に基づくアバタのアクションのいくつかの例について、次項で説明する。
【００８１】
［４−２．アバタのアクション］
一例として、オブジェクト制御部１４６は、アバタにより実行されるアクションの対象位置を、ＡＲ空間内のオブジェクトとカメラの光軸との交点の位置に基づいて決定する。例えば、アバタは、ＡＲ空間内で移動する。この場合、アバタの移動の目的地がアクションの対象位置である。また、アバタは、ＡＲ空間内でアイテムを使用する。この場合、アバタが使用するアイテムの作用点がアクションの対象位置である。
【００８２】
（１）移動／停止
図２０は、アバタの移動のための操作の一例について説明するための説明図である。図２０の上段には、画像Ｉｍ２３ａが示されている。画像Ｉｍ２３ａには、アバタＡ１１が表示されている。ここでは、説明の簡明さのために、実オブジェクトに対応する仮想オブジェクトのボクセルがグリッド状に可視化されている。しかしながら、実際には、ボクセルは必ずしも可視化されなくてもよい。アバタＡ１１は、仮想オブジェクトＶ１０の上面に配置されている。位置Ｐ１１は、仮想オブジェクトＶ１０とカメラの光軸との交点の位置である。位置Ｐ１１がユーザに視認可能となるように、位置Ｐ１１を指し示すマークが表示されてもよい。アバタＡ１１は、位置Ｐ１１を目的地として、ＡＲ空間内で移動する。図２０の下段に示した画像Ｉｍ２３ｂにおいて、アバタＡ１１は、より位置Ｐ１１に近付いている。ユーザは、情報処理装置１００を動かしてカメラの向きを変化させることにより、所望の目的地に向けてアバタを移動させることができる。その際、ユーザは画面にタッチする必要が無いため、ユーザは、情報処理装置１００を安定的に支持しながらアバタを移動させることができる。なお、移動の目的地（アクションの対象位置）は、必ずしもオブジェクトとカメラの光軸との交点の位置に一致していなくてもよい。例えば、当該交点から一定のオフセットを有する位置が、アクションの対象位置として決定されてもよい。
【００８３】
なお、ユーザの操作に応じて移動の目的地が変化しても、オブジェクト制御部１４６は、アバタを即座にその目的地まで移動させるのではなく、目的地の変化速度よりも遅い速度でアバタを目的地に向けて移動させる。また、ＡＲ空間モデルは実オブジェクトをボクセル単位で離散化することにより生成され、オブジェクト制御部１４６は、図２０の例のように、アクションの対象位置をボクセル単位で決定し得る。従って、カメラの姿勢の微小なブレに起因してオブジェクトとカメラの光軸との交点の位置がわずかに変動したとしても、その変動が１つのボクセルの範囲内に留まる限り、アクションの対象位置は変化しない。これら工夫によって、カメラの動きに対してアバタの動きが過剰にセンシティブになることが回避される。その結果、ＡＲアプリケーションにおけるアバタの自然な動きが実現される。オブジェクト制御部１４６は、単一のボクセル単位ではなく、複数のボクセルを含むボクセル集合の単位でアクションの対象位置を決定してもよい。カメラからオブジェクトまでの距離がより大きいほど当該ボクセル集合のサイズを大きくすることにより、当該距離に影響されることなくアバタの動きのセンシティビティを安定化することも可能である。
【００８４】
例えば対戦型ゲームなどの用途では、アバタを迅速に移動させるための手段が追加的に提供されることも有益である。そのような迅速な移動は、例えば背面入力インタフェース（画面の反対側の筐体表面に配設されるタッチセンサなど）を介するユーザ入力に関連付けられてもよい。
【００８５】
アバタの現在位置から目的地までの直線的な経路上に障害物となる仮想オブジェクトが存在する場合、オブジェクト制御部１４６は、アバタがその障害物を自動的に避けるように、非直線的な経路を自動的に設定してよい。ＡＲ空間がボクセル単位で離散化されたＡＲ空間モデルによって表現されている場合、ＡＲ空間内のある座標点が何らかのオブジェクトによって占められているかを判定することは容易である。従って、オブジェクト制御部１４６は、そのようなＡＲ空間モデルを参照して、アバタの経路を少ない計算コストで自動的に設定することができる。
【００８６】
ボタンＢ１は、アクションの種類をユーザに選択させるためのユーザインタフェースである。ボタンＢ１に関連付られるアクションの種類は、アバタの移動及び停止を含む。図２０の例では、アバタの移動がアクションとして既に選択されている。
【００８７】
図２１は、アバタの移動を停止するための操作の一例について説明するための説明図である。図２１の上段には、画像Ｉｍ２３ｂが再び示されている。画像Ｉｍ２３ｂには、アバタＡ１１が表示されている。位置Ｐ１１は、仮想オブジェクトＶ１０とカメラの光軸との交点の位置であり、アバタＡ１１の移動の目的地である。ここで、例えばユーザが右手の親指でボタンＢ１をタップすると、アバタＡ１１の移動は停止する。図２１の下段に示した画像Ｉｍ２３ｃにおいて、アバタＡ１１は、その時点の位置で停止している。ボタンＢ１は操作ウィンドウの右端領域に配置されているため、ユーザは、アバタを停止させるために、右手を情報処理装置１００から離さなくてよい。ユーザがボタンＢ１を再びタップすると、アバタＡ１１の移動は再開され得る。
【００８８】
（２）方向転換
アバタの方向転換は、いくつかの手法で実現され得る。例えば、アバタは、単純に移動の目的地の方向を向いてもよい。図２２は、アバタを方向転換させるための操作の一例について説明するための説明図である。図２２の上段には、画像Ｉｍ２３ｂが再び示されている。画像Ｉｍ２３ｂには、アバタＡ１１が表示されている。位置Ｐ１１は、仮想オブジェクトＶ１０とカメラの光軸との交点の位置であり、アバタＡ１１の移動の目的地である。その後、ユーザが情報処理装置１００を動かしてカメラの向きを変化させた結果、位置Ｐ１２が移動の新たな目的地になったものとする。図２２の下段に示した画像Ｉｍ２３ｄにおいて、アバタＡ１１は位置Ｐ１２の方向を向いている。このように、ユーザは、情報処理装置１００を動かすことにより、アバタを方向転換させることもできる。
【００８９】
さらに、アバタを方向転換させるための追加的なユーザインタフェースが採用されてもよい。例えば、オブジェクト制御部１４６は、カメラの光軸周りの回転に基づいて、アバタの姿勢を制御してもよい。図２３は、アバタを方向転換させるための操作の他の例について説明するための説明図である。図２３の上段には、画像Ｉｍ２３ｂが再び示されている。ここで、ユーザが情報処理装置１００を光軸周りに回転させたものとする。オブジェクト制御部１４６は、認識部１４２によるカメラの姿勢についての認識結果から当該回転を検出し、アバタＡ１１の方向を転換させる。図２２の下段に示した画像Ｉｍ２３ｅにおいて、アバタＡ１１は自身の左方向へ方向転換している。
【００９０】
なお、図２３の下段のように情報処理装置１００を傾けたままアバタの操作を継続することは、ユーザにとって不便であり得る。従って、オブジェクト制御部１４６は、例えば所定のボタン（図示せず）がタッチ又は押下されている状態においてのみ、カメラの光軸周りの回転に基づいてアバタの姿勢を変化させてもよい。それにより、ユーザは、アバタの姿勢が元に戻ってしまうことを回避しつつ、情報処理装置１００の姿勢を元に戻すことができる。
【００９１】
アバタを方向転換させるための手法は、上述した例に限定されない。例えば、オブジェクト制御部１４６は、所定の注目オブジェクトがアバタの近傍に存在する場合に、アバタを当該注目オブジェクトに向けて自動的に方向転換させてもよい。注目オブジェクトは、例えば、他のユーザのアバタ、又は予め定義されるその他の仮想オブジェクトを含み得る。
【００９２】
（３）アイテムの使用
図２４Ａ及び図２４Ｂは、アバタにより実行されるアイテムを用いたアクションの第１の例について説明するための説明図である。図２４Ａの上段には、画像Ｉｍ２４ａが示されている。画像Ｉｍ２４ａには、アバタＡ１１が表示されている。位置Ｐ１１は、仮想オブジェクトＶ１０とカメラの光軸との交点の位置である。ボタンＢ２は、アクションの種類をユーザに選択させるためのユーザインタフェースである。ボタンＢ２に関連付られるアクションの種類は、ブロックの設置を含む。図２４Ａの例では、ユーザがボタンＢ２をタップした結果として、アバタＡ１１がブロックＢＬ１を持っている。さらにユーザが画面をタップすると、アバタＡ１１は、位置Ｐ１１をアイテムの作用点（この場合、ブロックの設置点）として、ブロックＢＬ１をＡＲ空間内に設置する。図２４Ａの下段に示した画像Ｉｍ２４ｂにおいて、アバタＡ１１は、ブロックＢＬ１を位置Ｐ１１に向けて放り投げている。さらに、図２４Ｂの上段に示した画像Ｉｍ２４ｃにおいて、ブロックＢＬ１は、位置Ｐ１１に着地している。このようなユーザインタフェースによれば、ユーザは、情報処理装置１００を動かしてカメラの向きを変化させることにより、ＡＲ空間内の所望の場所にアバタにブロックを設置させることができる。その際、ユーザは、所望の場所を指定するために、情報処理装置１００から手を離さなくてよい。図２４Ｂの下段に示した画像Ｉｍ２４ｄにおいて、より多くのブロックがＡＲ空間内に設置されている。このようなユーザインタフェースは、例えば、図８を用いて説明したようにユーザがＡＲ空間をカスタマイズすることを可能とするために採用されてもよい。その代わりに、当該ユーザインタフェースは、例えば積み木又は３次元的な落ち物ゲーム（3D  block-matching  puzzle）のようなＡＲアプリケーションを実現するために採用されてもよい。
【００９３】
図２５は、アバタにより使用されるアイテムを切り替えるための操作の一例について説明するための説明図である。図２５には、画像Ｉｍ２５が示されている。画像Ｉｍ２５には、ボタンＢ２が重畳されている。ユーザがボタンＢ２に対してフリック入力をすると、使用可能なアイテムが複数のアイテム候補の間で切り替わる（トグリングされ得る）。図２５には、５種類のアイテム候補が示されている。これらアイテム候補は、例えば、テクスチャ若しくは色の異なるブロックを含んでもよく、又はブロック以外のアイテムを含んでもよい。なお、使用可能なアイテム候補は、ユーザにより負担されるコスト（アイテム購入代金のような金銭的コスト、又はＡＲ空間内の活動実績のような作業面のコストなど）に応じて変化してもよい。次の例では、設置されたブロックを破壊するためのハンマーが、アバタにより使用される。
【００９４】
図２６は、アバタにより実行されるアイテムを用いたアクションの第２の例について説明するための説明図である。図２６の上段には、画像Ｉｍ２６ａが示されている。画像Ｉｍ２６ａには、アバタＡ１１が表示されている。位置Ｐ１３は、仮想オブジェクトＶ１０とカメラの光軸との交点の位置である。図２６の例では、ユーザがボタンＢ２をタップした結果として、アバタＡ１１がハンマーＨＭ１を持っている。さらにユーザが画面をタップすると、アバタＡ１１は、位置Ｐ１３をアイテムの作用点（この場合、ハンマーの打撃点）として、ハンマーＨＭ１を振り下ろす。図２６の下段に示した画像Ｉｍ２６ｂにおいて、アバタＡ１１はハンマーＨＭ１を振り下ろしており、位置Ｐ１３に存在していたブロックＢＬ１２が破壊されている。このようなユーザインタフェースによれば、ユーザは、情報処理装置１００を動かしてカメラの向きを変化させることにより、ＡＲ空間内の所望の場所に設置されたブロックをアバタに破壊させることができる。その際、ユーザは、所望の場所を指定するために、情報処理装置１００から手を離さなくてよい。
【００９５】
なお、オブジェクト制御部１４６は、本項で例示したようなアクションが実行された場合において、対象位置に対応する実空間内の実オブジェクトがリアクションを遂行可能なときに、当該実オブジェクトにリアクションの遂行を指示してもよい。例えば、ハンマーが振り下ろされた対象位置にバイブレータを内蔵する端末装置（実オブジェクト）が存在することを実空間マップ１６４が示す場合に、オブジェクト制御部１４６は、当該端末装置へ無線信号を送信し、バイブレータを振動させてもよい。実オブジェクトのリアクションは、かかる例に限定されず、例えば、ＬＥＤ（Light  Emitting  Diode）の発光又はスピーカからの効果音の出力などであってもよい。それにより、実空間とＡＲ空間との間の密接な関連を演出し、ＡＲアプリケーションのリアリティを高めることができる。
【００９６】
［４−３．アバタを用いたコミュニケーション］
アバタのアクションは、アバタを介するユーザ間のコミュニケーションのために実行されてもよい。オブジェクト制御部１４６は、アバタを介するコミュニケーションのためのアクションを、ユーザ入力に従ってアバタに実行させる。
【００９７】
図２７は、アバタを介するコミュニケーションの第１の例について説明するための説明図である。図２７の上段には、画像Ｉｍ３１ａが示されている。画像Ｉｍ３１ａには、アバタＡ１１及びアバタＡ１２が表示されている。アバタＡ１１は、ユーザにより操作されるアバタである。アバタＡ１２は、他のユーザのアバタである。ボタンＢ３は、アバタを介するコミュニケーションのためのアクションメニューの表示及び非表示を切り替えるためのユーザインタフェースである。図２７の例では、ユーザがボタンＢ３をタップした結果として、７つのコマンドボタンからなるアクションメニューが画像に重畳されている。これらコマンドボタンのうち、コマンドボタンＣＯ１は、アバタに手を振るアクションを実行させるためのユーザインタフェースである。図２７の下段に示した画像Ｉｍ３１ｂにおいて、ユーザがコマンドボタンＣＯ１をタップした結果として、アバタＡ１１は手を振っている。このようなアクションは、アバタＡ１２を操作する他のユーザの端末の画面にも表示される。それにより、アバタを介するコミュニケーションが成立する。
【００９８】
図２８は、アバタを介するコミュニケーションの第２の例について説明するための説明図である。図２８の上段には、画像Ｉｍ３１ｃが示されている。画像Ｉｍ３１ｃには、アバタＡ１１及びアバタＡ１２が表示されている。ボタンＢ５は、例えばアクションメニューの一部として表示される、アバタを介するチャットのためのユーザインタフェースである。ボタンＢ５がタップされた場合、チャットメッセージをユーザが入力するためのソフトウェアキーボードが画面に表示されてもよい。その代わりに、音声入力インタフェースを介してチャットメッセージが入力されてもよい。図２８の下段に示した画像Ｉｍ３１ｄにおいて、ユーザにより入力されたチャットメッセージを表示する吹き出しＣＢ１が、アバタＡ１１の近傍に重畳されている。このようなチャットメッセージは、アバタＡ１２を操作する他のユーザの端末の画面にも表示される。それにより、アバタ同士で会話が行われているかのようなコミュニケーションが成立する。
【００９９】
アバタを介するユーザ間のコミュニケーションを促進するためには、ＡＲ空間内で遭遇する他のユーザのアバタについての情報をユーザが知ることも有益である。図２９は、アバタ情報を表示するための操作の一例について説明するための説明図である。図２９には、画像Ｉｍ３２が示されている。画像Ｉｍ３２には、アバタＡ１１及びアバタＡ１２が表示されている。例えば、ユーザがアバタＡ１２を画面上でタップすると、アバタＡ１２についてのアバタ情報を表示する吹き出しＣＢ２がアバタＡ１２の近傍に重畳される。吹き出しＣＢ２は、例えば、アバタＡ１２（又はアバタＡ１２のユーザ）のニックネーム及びその他の属性情報を表示する。
【０１００】
［４−４．ＡＲ空間に対する操作］
ここまでに説明してきたように、ＡＲ空間は、原則的には、入力画像に映る実空間に関連付けて設定される。そして、カメラの画角が変化すれば、画面上でのＡＲ空間の見え方は、画角の変化に追随して変化する。しかしながら、ＡＲ空間の中でユーザが見たいと望む場所を見るために常にユーザがカメラを動かし又はユーザ自身が動かなければならないとすれば、ユーザにとっては不都合も生じ得る。そこで、以下に説明するように、ＡＲ空間そのものの位置及び姿勢をユーザが操作することを可能とするようなユーザインタフェースが提供されれば有益である。
【０１０１】
図３０は、ＡＲ空間の位置を変更するための操作の一例について説明するための説明図である。図３０の上段には、画像Ｉｍ３３ａが示されている。画像Ｉｍ３３ａには、アバタＡ１２が表示されている。しかし、アバタＡ１２は、ウィンドウの境界付近に位置している。そこで、ユーザは、例えば両手の親指で画面にマルチタッチしたまま、双方の親指を右方向（図中のＤ１方向）へドラッグする。オブジェクト制御部１４６は、かかるユーザ入力が検出された場合に、カメラに対するＡＲ空間の相対的な位置を、ドラッグ方向に沿って並行移動させる。図３０の下段に示した画像Ｉｍ３３ｂにおいて、ＡＲ空間が右方向（図中のＤ２方向）へ並行移動した結果、アバタＡ１２の表示位置は、ウィンドウの中央に近付いている。このようなユーザインタフェースが提供されることにより、例えば、ユーザから遠い場所に位置する仮想オブジェクトを、ユーザ自身が移動することなく画面上でより容易に視認することが可能となる。
【０１０２】
図３１は、ＡＲ空間の姿勢を変更するための操作の一例について説明するための説明図である。図３１の上段には、画像Ｉｍ３４ａが示されている。画像Ｉｍ３４ａには、アバタＡ１１及びＡ１２が表示されている。しかし、アバタＡ１１は、アバタＡ１２の陰に隠れてしまっている。そこで、ユーザは、例えば両手の親指で画面にマルチタッチしたまま、左手の親指を下方向（図中のＤ３方向）へ、右手の親指を上方向（図中のＤ４方向）へそれぞれドラッグする。オブジェクト制御部１４６は、かかるユーザ入力が検出された場合に、カメラに対するＡＲ空間の相対的な姿勢を回転させる。図３１の下段に示した画像Ｉｍ３４ｂにおいて、ＡＲ空間がＺ軸周りに図中のＤ５方向へ回転した結果、アバタＡ１１はアバタＡ１２により隠されていない。このようなユーザインタフェースが提供されることにより、例えば、他のオブジェクトの陰に隠れた仮想オブジェクトを、ユーザ自身が移動することなく画面上でより容易に視認することが可能となる。
【０１０３】
なお、オブジェクト制御部１４６は、カメラに対するＡＲ空間の相対的な位置又は姿勢ではなく、ＡＲ空間のスケールを、所定のユーザ入力（例えば、ピンチイン及びピンチアウト）に基づいて変更してもよい。
【０１０４】
［４−５．その他の操作］
上述した例に限定されず、様々な操作がＡＲアプリケーションにおいて採用されてよい。例えば、図１９に示した操作ウィンドウＩｍ２２のボタンＢ４は、ＡＲアプリケーションにおいて採用され得るいくつかの追加的なメニューの表示及び非表示を切り替えるためのユーザインタフェースである。ボタンＢ４をタップすることにより表示され得る操作メニューの例が、図３２に示されている。図３２に示した画像Ｉｍ３５において、ユーザがボタンＢ４に対してフリック入力をすると、選択可能な操作メニューが複数のメニュー候補の間で切り替わる（トグリングされ得る）。図３２には、４種類のメニュー候補Ｂ１１、Ｂ１２、Ｂ１３及びＢ１４が示されている。例えば、メニュー候補Ｂ１１は、アバタにより実行されたアクションをアンドゥする（ＡＲ空間をアクション前の状態に戻す）ための操作メニューである。メニュー候補Ｂ１２は、ＡＲ空間の状態をリセットする（例えば、設置された全てのブロックを消去する）ための操作メニューである。メニュー候補Ｂ１３は、後に説明するＡＲアプリケーションの動作モードを切り替えるための操作メニューである。メニュー候補Ｂ１４は、ＡＲ空間からユーザが退出する（チェックアウトする）ための操作メニューである。
【０１０５】
［４−６．様々な動作モード］
本項では、情報処理装置１００によりサポートされ得るいくつかの動作モードについて説明する。
【０１０６】
（１）リアルタイムモード／スナップショットモード
ここまでに説明したＡＲアプリケーションは、通常は、毎フレーム更新される（画像取得部１２０により順次取得される）入力画像にＡＲ空間内の仮想オブジェクトを重畳して画面に表示させる。そのような動作モードを、本明細書ではリアルタイムモードという。しかしながら、いくつかの状況を想定すると、リアルタイムモードでの動作が望ましくないこともあり得る。
【０１０７】
例えば、ユーザは、実空間に向けて情報処理装置１００を掲げている間に疲れてしまうかも知れない。しかし、リアルタイムモードでＡＲアプリケーションが動作している場合に、ユーザが例えば情報処理装置１００をテーブルの上に置くと、最新の入力画像にはテーブルの表面のみが映ることになり、適切なＡＲ空間の画像が表示されない。そこで、一例として、情報処理装置１００は、以下に説明するスナップショットモードをもサポートする。
【０１０８】
スナップショットモードにおいて、オブジェクト制御部１４６は、入力画像を更新することなく、１枚の静止画である入力画像（スナップショット画像）にＡＲ空間内の仮想オブジェクトを重畳させる。スナップショット画像は、リアルタイムモードからスナップショットモードへの遷移のタイミングで画像取得部１２０により取得されてもよく、又はその他のタイミングで画像取得部１２０により取得されてもよい。なお、特定の時点の入力画像の代わりに、その他の画像（例えば、予め用意されるスナップショットモード専用の画像）が、スナップショットモードにおける背景画像として使用されてもよい。
【０１０９】
図３３は、リアルタイムモード及びスナップショットモードについて説明するための説明図である。図３３の左において、ユーザＵａは、情報処理装置１００を実空間１１ａに向けて掲げている。画像Ｉｍ４１はリアルタイムモードにおいて表示され得る画像であり、画像Ｉｍ４１において実オブジェクトＲ１１ａ及びアバタＡ１１が表示されている。一方、図３３の右において、情報処理装置１００は、ユーザＵａの手を離れてテーブルＲ１０ａの上に置かれている。仮に情報処理装置１００がリアルタイムモードで動作すると、入力画像にはテーブルの表面のみが映る（又は明るさが不十分なために入力画像はブラックアウトする）。しかし、情報処理装置１００がスナップショットモードで動作する場合、情報処理装置１００がテーブルＲ１０ａの上に置かれる前に取得されたスナップショットが、入力画像として継続的に使用される。画像Ｉｍ４２はスナップショットモードにおいて表示され得る画像である。画像Ｉｍ４２は、画像Ｉｍ４１と同様に、実オブジェクトＲ１１ａ及びアバタＡ１１を表示している。
【０１１０】
このようなスナップショットモードがサポートされることにより、ユーザが一時的に情報処理装置１００を掲げる姿勢を止めたとしてもＡＲアプリケーションの適切な表示を継続することが可能となる。その結果、ユーザの身体的な負担を軽減することができる。なお、スナップショットモードにおいては、上述したＡＲ空間内のオブジェクトとカメラの光軸との間の位置関係に基づくユーザインタフェースは無効化される。代替的なユーザインタフェースとして、例えば、スナップショットモードでは、画面上のタッチ位置に基づくユーザインタフェース（例えば、アクションの対象位置としてタッチ位置が利用され得る）が提供されてよい。それにより、スナップショットモードにおいても、ユーザがアバタを操作することができる。現在の動作モードがリアルタイムモード及びスナップショットモードのいずれであるかをユーザに通知するための標識が、画面に表示されてもよい。
【０１１１】
図３４は、図３３に示した２種類の動作モード間の遷移について説明するための説明図である。図３４において、トリガＴ１は、リアルタイムモードからスナップショットモードへの遷移のトリガである。トリガＴ１は、デバイスが置かれたことの検出、所定のユーザ入力の検出、及び連続的な実空間の認識の失敗を含み得る。トリガＴ２は、スナップショットモードからリアルタイムモードへの遷移のトリガである。トリガＴ２は、デバイスが持ち上げられたことの検出、所定のユーザ入力の検出、及び実空間の認識の成功を含み得る。
【０１１２】
例えば、オブジェクト制御部１４６は、データ取得部１３０により取得されるセンサデータに基づいて、デバイスが置かれたこと（又は持ち上げられたこと）を自動的に検出してもよい。また、オブジェクト制御部１４６は、図３２に例示したメニュー候補Ｂ１３のようなユーザインタフェースを介して、動作モードを切り替えるためのユーザ入力を検出してもよい。
【０１１３】
また、オブジェクト制御部１４６は、リアルタイムモードにおいて入力画像に映る実オブジェクトの認識の失敗が所定のフレーム数にわたって連続した場合に、動作モードをスナップショットモードへ切り替えてもよい。例えば、認識部１４２が入力画像内の特徴点の認識に基づいて実空間マップを生成するケースでは、入力画像に映る特徴点の数が極端に少なくなると、実オブジェクト（並びにカメラの位置及び姿勢）の認識が失敗し得る。こうした認識の失敗が連続すると、オブジェクト制御部１４６によって適切な位置にアバタなどの仮想オブジェクトを配置することが困難となり、ＡＲアプリケーションの表示が不安定化する。そこで、オブジェクト制御部１４６は、表示が不安定となる前に自動的に動作モードをスナップショットモードへ切り替えることにより、不安定化した不自然な画像がユーザに呈示されることを防止することができる。なお、オブジェクト制御部１４６は、動作モードをスナップショットモードへ切り替える前に、警告メッセージを画面に表示してもよい。また、オブジェクト制御部１４６は、実オブジェクトの認識の失敗に応じて、ユーザのアバタの表示属性を変化させてもよい（例えば、点滅又は半透明化など）。それにより、アバタが不安定な挙動を示す原因をユーザに知らせることができる。
【０１１４】
（２）設計図モード
設計図モードは、アプリケーションモードの一種である。設計図モードは、ユーザがＡＲ空間をカスタマイズする際に利用されてもよく、又は積み木のようなアプリケーション用途において利用されてもよい。
【０１１５】
図３５は、設計図モードについて説明するための説明図である。図３５を参照すると、アバタＡ１１が配置されたＡＲ空間の画像Ｉｍ４３が示されている。当該ＡＲ空間には、既にアバタＡ１１により設置されたブロックＢＬ２１を含むブロック群が存在する。画像Ｉｍ４３は、これら設置済みのブロック群のみならず、ブロックＢＬ２２を含む未設置の半透明のブロック群をも表示する。これら未設置のブロック群の表示は、例えば、ユーザが複数のブロックを積み重ねてが何らかの仮想オブジェクトを形成する際に、設計図として参照される。ブロックＢＬ２３は、新たにアバタＡ１１が設置しようとしているブロックである。画像Ｉｍ４３の上部には、仮想オブジェクトが完成するまでの残りブロック数も表示されている。設計図データは、予めデータ記憶部１６０により記憶されてもよく、又はデータ取得部１３０によりアプリケーションサーバなどの外部装置から取得されてもよい。
【０１１６】
（３）アバタ視点モード
オブジェクト制御部１４６は、通常、ＡＲ空間の画像を、カメラ１０２の位置及び姿勢を基準として生成する。そのような表示モードを、本明細書ではカメラ視点モードという。これに対し、アバタ視点モードにおいて、オブジェクト制御部１４６は、ＡＲ空間内に配置されるアバタの位置及び姿勢を基準として、ＡＲ空間の画像を生成する。
【０１１７】
図３６は、カメラ視点モード及びアバタ視点モードについて説明するための説明図である。図３６の上段には、カメラ視点モードで生成される画像Ｉｍ４４ａが示されている。画像Ｉｍ４４ａには、アバタＡ１１及びＡ１２が表示されている。アバタＡ１２の近傍には、吹き出しＣＢ３が重畳されている。吹き出しＣＢ３は、アバタＡ１２のユーザにより入力されたチャットメッセージを表示する仮想オブジェクトである。図３６の下段には、アバタ視点モードで生成される画像Ｉｍ４４ｂが示されている。画像Ｉｍ４４ｂは、アバタＡ１１の位置及び姿勢に基づいて生成される画像である。画像Ｉｍ４４ｂにおいて、アバタＡ１２が、ユーザの目の前にいるかのように大きく表示されている。さらに、吹き出しＣＢ３もまた、画像Ｉｍ４４ｂに大きく重畳され得る。このようなアバタ視点モードが導入されることにより、ユーザのＡＲ空間への没入感が高められる。
【０１１８】
図３７は、図３６に示した２種類の表示モード間の遷移について説明するための説明図である。図３７において、トリガＴ３は、カメラ視点モードからアバタ視点モードへの遷移のトリガである。トリガＴ３は、所定のイベントの発生及び所定のユーザ入力の検出を含み得る。トリガＴ４は、アバタ視点モードからカメラ視点モードへの遷移のトリガである。トリガＴ４は、発生したイベントの終了、所定のユーザ入力の検出、及び一定時間の経過を含み得る。所定のイベントとは、例えば、図２７及び図２８を用いて説明したようなアバタ間コミュニケーション、アバタと他の仮想オブジェクト（例えば、他のアバタが放り投げたブロック）との衝突、並びに対戦型ゲームにおける攻撃及び防御などを含み得る。このような２種類の表示モード間の遷移によって、変化の少ない視点からの単調な画像ではなく、より多彩なＡＲアプリケーションの画像をユーザに提供することが可能となる。
【０１１９】
＜５．ＡＲコミュニティ＞
本節では、ここまでに説明した仕組みをプラットフォームとして用いるＡＲコミュニティを、複数のユーザが利用することを前提とする様々な実施例について説明する。
【０１２０】
なお、以下の説明において、ユーザが特定のＡＲ空間に参加することを、ＡＲ空間へのチェックインという。ユーザがＡＲ空間から退出することを、ＡＲ空間からのチェックアウトという。ユーザがＡＲ空間にチェックインすると、例えば、オブジェクト制御部１４６は、ユーザのアバタを当該ＡＲ空間内に配置する。そして、配置されたアバタがカメラ１０２の画角に入る場合に、当該アバタの画像が画面に表示される。
【０１２１】
［５−１．ＡＲコミュニティの形成］
ＡＲコミュニティに複数のユーザが参加することに関連する重要な論点の１つは、どのユーザとどのユーザとに共通のＡＲ空間を設定するか、である。何の基準もなく全てのユーザに共通のＡＲ空間が設定されれば、ＡＲ空間内で多数のアバタが無秩序に活動することになるため、良好なユーザ体験は期待されない。そこで、一例として、ＡＲ空間設定部１４４は、入力画像に関連する関連情報（以下、画像関連情報という）に応じて異なるＡＲ空間を、入力画像に映る実空間に関連付けて設定する。ＡＲ空間設定部１４４は、例えば、予め用意される複数のＡＲ空間候補のうち画像関連情報に応じて選択されるＡＲ空間を、入力画像を撮像したユーザのために設定してもよい。その代わりに（又はそれに加えて）、ＡＲ空間設定部１４４は、ＡＲ空間候補の可変パラメータを画像関連情報に応じて調整することにより形成されるＡＲ空間を、入力画像を撮像したユーザのために設定してもよい。
【０１２２】
（１）ＡＲ空間の選択の第１の例
図３８は、ＡＲ空間を選択するための手法の第１の例について説明するための説明図である。第１の例において、画像関連情報は、入力画像に映る基準オブジェクトの属性を含む。一例として、基準オブジェクトの属性は、基準オブジェクトの種類を含む。ＡＲ空間設定部１４４は、同じ種類の基準オブジェクトを撮像したユーザに、共通のＡＲ空間を設定する。図３８の上段には、５人のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄ及びＵｅが示されている。
【０１２３】
例えば、ユーザＵａは、基準オブジェクトとして実オブジェクトＲ１１ａを撮像する。その結果、ユーザＵａの端末のＡＲ空間設定部１４４は、ユーザＵａのためにＡＲ空間Ｍ４１ａを設定する。また、ユーザＵｂは、基準オブジェクトとして実オブジェクトＲ１１ｂを撮像する。実オブジェクトＲ１１ｂは、実オブジェクトＲ１１ａと同じ種類のオブジェクト（例えば、同じテクスチャを有するポスター）である。そこで、ユーザＵｂの端末のＡＲ空間設定部１４４は、ユーザＵｂのために、ユーザＵａと共通のＡＲ空間Ｍ４１ａを設定する。
【０１２４】
一方、ユーザＵｃは、基準オブジェクトとして実オブジェクトＲ１９ｃを撮像する。実オブジェクトＲ１９ｃは、実オブジェクトＲ１１ａ及びＲ１１ｂとは異なる種類のオブジェクトである。その結果、ユーザＵｃの端末のＡＲ空間設定部１４４は、ユーザＵｃのためにＡＲ空間Ｍ４１ａとは異なるＡＲ空間Ｍ４１ｂを設定する。また、ユーザＵｄは、基準オブジェクトとして実オブジェクトＲ１９ｄを撮像する。実オブジェクトＲ１９ｄは、実オブジェクトＲ１９ｃと同じ種類のオブジェクト（例えば、同じドリンクの飲料缶）である。そこで、ユーザＵｄの端末のＡＲ空間設定部１４４は、ユーザＵｄのために、ユーザＵｃと共通のＡＲ空間Ｍ４１ｂを設定する。また、ユーザＵｅは、基準オブジェクトとして実オブジェクトＲ１９ｅを撮像する。実オブジェクトＲ１９ｅは、実オブジェクトＲ１９ｃ及びＲ１９ｄと同じ種類のオブジェクトである。そこで、ユーザＵｅの端末のＡＲ空間設定部１４４は、ユーザＵｅのために、ユーザＵｃ及びＵｄと共通のＡＲ空間Ｍ４１ｂを設定する。
【０１２５】
このように、入力画像に映る基準オブジェクトの属性に応じてユーザが異なるＡＲ空間に振り分けられることで、保持しているオブジェクトについて共通点を有するユーザのアバタが１つのＡＲ空間に集まってＡＲコミュニティを形成することが可能となる。例えば、製品のマーケティングの用途において、特定の製品を手にしたユーザがＡＲコミュニティを形成して互いにコミュニケーションする結果として、当該製品についての話題が盛り上がり、製品の認知度が加速度的に向上するという効果も期待される。
【０１２６】
なお、ＡＲ空間Ｍ４１ａ及びＭ４１ｂは、それぞれ、予めＡＲアプリケーションの提供者によって構築されてもよく、又は図１２〜図１４を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
【０１２７】
（２）ＡＲ空間の選択の第２の例
図３９は、ＡＲ空間を選択するための手法の第２の例について説明するための説明図である。第２の例において、画像関連情報は入力画像に映る基準オブジェクトの属性を含み、基準オブジェクトはあるアーティストの音楽ＣＤ（Compact  Disc）である。ここでは、ユーザを振り分けるための基準オブジェクトの属性として、基準オブジェクトの種類ではなく、基準オブジェクトの発売年が使用される。ＡＲ空間設定部１４４は、同じ年に発売された音楽ＣＤを撮像したユーザに、共通のＡＲ空間を設定する。図３９の上段には、５人のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄ及びＵｅが示されている。
【０１２８】
例えば、ユーザＵａは、基準オブジェクトとして実オブジェクトＲ２１ａを撮像する。実オブジェクトＲ２１ａの発売年は２００９年である。その結果、ユーザＵａの端末のＡＲ空間設定部１４４は、ユーザＵａのためにＡＲ空間Ｍ４２ａを設定する。また、ユーザＵｂは、基準オブジェクトとして実オブジェクトＲ２１ｂを撮像する。実オブジェクトＲ２１ｂは、実オブジェクトＲ２１ａと同じ２００９年に発売された音楽ＣＤである。そこで、ユーザＵｂの端末のＡＲ空間設定部１４４は、ユーザＵｂのために、ユーザＵａと共通のＡＲ空間Ｍ４２ａを設定する。
【０１２９】
一方、ユーザＵｃは、基準オブジェクトとして実オブジェクトＲ２１ｃを撮像する。実オブジェクトＲ２１ｃは、実オブジェクトＲ２１ａ及びＲ２１ｂとは異なり、２０１２年に発売された音楽ＣＤである。その結果、ユーザＵｃの端末のＡＲ空間設定部１４４は、ユーザＵｃのためにＡＲ空間Ｍ４２ａとは異なるＡＲ空間Ｍ４２ｂを設定する。また、ユーザＵｄは、基準オブジェクトとして実オブジェクトＲ２１ｄを撮像する。実オブジェクトＲ２１ｄは、実オブジェクトＲ２１ｃと同じ２０１２年に発売された音楽ＣＤである。そこで、ユーザＵｄの端末のＡＲ空間設定部１４４は、ユーザＵｄのために、ユーザＵｃと共通のＡＲ空間Ｍ４２ｂを設定する。また、ユーザＵｅは、基準オブジェクトとして実オブジェクトＲ２１ｅを撮像する。実オブジェクトＲ２１ｅは、実オブジェクトＲ２１ｃ及びＲ２１ｄと同じ２０１２年に発売された音楽ＣＤである。そこで、ユーザＵｅの端末のＡＲ空間設定部１４４は、ユーザＵｅのために、ユーザＵｃ及びＵｄと共通のＡＲ空間Ｍ４２ｂを設定する。
【０１３０】
第２の例においても、入力画像に映る基準オブジェクトの属性に応じてユーザが異なるＡＲ空間に振り分けられることで、保持しているオブジェクトについて共通点を有するユーザのアバタが１つのＡＲ空間に集まってＡＲコミュニティを形成することが可能となる。
【０１３１】
なお、ユーザを振り分けるために使用される基準オブジェクトの属性は、上述した例に限定されない。例えば、基準オブジェクトの名称、販売元企業、産地、販売数又は注目度（例えば、ＳＮＳにおける関連する投稿の数）などの様々な属性が、ユーザをＡＲ空間に振り分けるために使用されてよい。
【０１３２】
第１の例及び第２の例において、基準オブジェクトの属性は、認識部１４２により認識され得る。そして、認識された属性を示す基準オブジェクトデータがユーザを振り分ける機能を有する装置（例えば、アプリケーションサーバ又は親ユーザの端末など）へ送信され、選択されたＡＲ空間についてのＡＲ空間モデルがデータ取得部１３０により当該装置から取得され得る。その代わりに、ユーザを振り分ける機能を有する装置において、入力画像から基準オブジェクトの属性が認識されてもよい。
【０１３３】
第１の例と同様、第２の例においても、ＡＲ空間Ｍ４２ａ及びＭ４２ｂは、それぞれ、予めＡＲアプリケーションの提供者によって構築されてもよく、又は図１２〜図１４を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
【０１３４】
（３）ＡＲ空間の選択の第３の例
図４０は、ＡＲ空間を選択するための手法の第３の例について説明するための説明図である。第３の例において、画像関連情報は、入力画像の撮像場所を含む。ＡＲ空間設定部１４４は、同じ地域において同一の又は異なる基準オブジェクトを撮像したユーザに、共通のＡＲ空間を設定する。図４０の上段には、５人のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄ及びＵｅが示されている。
【０１３５】
例えば、ユーザＵａ及びＵｂは、実空間において同じ地域Ｋ１に位置する。そこで、ユーザＵａ及びＵｂの端末のＡＲ空間設定部１４４は、それぞれ、ユーザＵａ及びＵｂのために共通のＡＲ空間Ｍ４３ａを設定する。ユーザＵｃ、Ｕｄ及びＵｅは、実空間において同じ地域Ｋ２に位置する。そこで、ユーザＵｃ、Ｕｄ及びＵｅの端末のＡＲ空間設定部１４４は、それぞれ、ユーザＵｃ、Ｕｄ及びＵｅのために共通のＡＲ空間Ｍ４３ｂを設定する。
【０１３６】
このように、入力画像の撮像場所に応じてユーザが異なるＡＲ空間に振り分けられることで、ロケーションについて共通点を有する複数のユーザのアバタが１つのＡＲ空間に集まってＡＲコミュニティを形成することが可能となる。それにより、複数のユーザのアバタが無秩序にＡＲ空間にチェックインする場合と比較して、ＡＲコミュニティにおけるユーザ間のコミュニケーションを活性化することができる。
【０１３７】
なお、入力画像の撮像場所は、例えば、センサ１０４により測定され得る。そして、ユーザを振り分ける機能を有する装置（例えば、アプリケーションサーバ又は親ユーザの端末など）へセンサデータが送信され、選択されたＡＲ空間についてのＡＲ空間モデルがデータ取得部１３０により当該装置から取得され得る。
【０１３８】
第１及び第２の例と同様、第３の例においても、ＡＲ空間Ｍ４３ａ及びＭ４３ｂは、それぞれ、予めＡＲアプリケーションの提供者によって構築されてもよく、又は図１２〜図１４を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
【０１３９】
第１及び第２の例では、入力画像に映る基準オブジェクトの属性に応じて、ユーザが異なるＡＲ空間に振り分けられる。従って、「モノにチェックイン」と概念的に称されるようなＡＲコミュニティへの参加手法が実現され得る。一方、第３の例では、撮像場所に応じて、ユーザが異なるＡＲ空間に振り分けられる。従って、「場所（あるいは地域）にチェックイン」と概念的に称されるようなＡＲコミュニティへの参加手法が実現され得る。なお、ユーザをＡＲ空間に振り分けるために使用され得る画像関連情報は、かかる例に限定されない。例えば、画像関連情報は、入力画像を撮像した撮像装置の属性を含んでもよい。撮像装置の属性とは、例えば、撮像装置の種類、モデル名又はメーカ名などであってよい。それにより、撮像装置について共通点を有する複数のユーザ（例えば、共通するメーカのデバイスで入力画像を撮像したユーザ）のアバタが１つのＡＲ空間に集まってＡＲコミュニティを形成することが可能となる。
【０１４０】
（４）ＡＲ空間の選択の第４の例
図４１は、ＡＲ空間を選択するための手法の第４の例について説明するための説明図である。第４の例において、ＡＲ空間設定部１４４は、複数のＡＲ空間候補から画像関連情報に応じて決定されるサブセットのうちユーザにより指定されるＡＲ空間を選択し、選択したＡＲ空間を当該ユーザのために設定する。図４１の上段には、４つのＡＲ空間候補Ｍ４４ａ、Ｍ４４ｂ、Ｍ４４ｃ及びＭ４４ｄが示されている。
【０１４１】
例えば、ユーザＵａにより撮像された入力画像に、基準オブジェクトである実オブジェクトＲ１１ａが映っているものとする。すると、認識部１４２は、入力画像に実オブジェクトＲ１１ａが映っていることを認識する。ＡＲ空間設定部１４４は、認識部１４２による認識結果に基づいて、実オブジェクトＲ１１ａの属性を画像関連情報として取得する。そして、ＡＲ空間設定部１４４は、実オブジェクトＲ１１ａの属性に応じて、ＡＲ空間候補のサブセットを決定する。図４１の例では、ＡＲ空間候補Ｍ４４ａ及びＭ４４ｂが、決定されたサブセットに含まれている。次に、ＡＲ空間設定部１４４は、サブセットに含まれるＡＲ空間候補のリストを画像Ｉｍ５１に表示し、ユーザＵａがチェックインすることを希望するＡＲ空間候補をユーザに指定させる。図４１の例では、ＡＲ空間設定部１４４は、ユーザＵａにより指定されたＡＲ空間Ｍ４４ａを、ユーザＵａのために設定する。
【０１４２】
このように、ＡＲ空間へのユーザの振り分けは、段階的に行われてもよい。特に、基準オブジェクトの属性又は場所などの画像関連情報に応じた振り分けとユーザ指定とを段階的に組合せることにより、多数のＡＲ空間候補からＡＲ空間を選択するユーザにとっての煩雑さを軽減しつつ、ユーザに選択の余地を残すことができる。
【０１４３】
なお、ＡＲ空間設定部１４４は、設定すべきＡＲ空間が画像関連情報から決定されない場合には、画像関連情報に依存しない既定のＡＲ空間（アノニマス空間ともいう）をユーザのために設定してもよい。ＡＲ空間が画像関連情報から決定されない場合とは、例えば、入力画像に基準オブジェクトが映っていない場合、位置データが取得されない場合、又はユーザが既定のＡＲ空間を選択することを希望した場合などを含み得る。既定のＡＲ空間は、単にアバタが活動するための水平面（地面）が存在するだけのプレーンな空間であってもよく、又はよりリッチな空間であってもよい。
【０１４４】
［５−２．可変パラメータの調整］
上述したように、ＡＲ空間設定部１４４は、ユーザのために設定すべきＡＲ空間の可変パラメータを、画像関連情報に応じて調整してもよい。ＡＲ空間の可変パラメータは、例えば、ＡＲ空間のサイズ、ＮＰＣの数、ポリゴン解像度、参加可能なユーザの上限数、仮想オブジェクトのテクスチャ若しくは色、当該ＡＲ空間内で実行可能なアクションの種類、又は当該ＡＲ空間内で使用可能なアイテムの種類などを含み得る。
【０１４５】
（１）第１の例
図４２は、ＡＲ空間の可変パラメータの調整の第１の例について説明するための説明図である。図４２の例において、ＡＲ空間の可変パラメータは、空間サイズ及びＮＰＣ数を含む。これら可変パラメータは、ＡＲ空間ごとに、基準オブジェクトの種類に応じて調整される。図４２の上段には、５人のユーザＵａ、Ｕｂ、Ｕｃ、Ｕｄ及びＵｅが示されている。
【０１４６】
例えば、ユーザＵａは、基準オブジェクトとして実オブジェクトＲ１１ａを撮像する。ユーザＵｂは、基準オブジェクトとして実オブジェクトＲ１１ｂを撮像する。実オブジェクトＲ１１ａ及びＲ１１ｂは、同じ種類のオブジェクトである。その結果、ユーザＵａ及びＵｂの端末に、共通のＡＲ空間Ｍ４５ａが設定される。ＡＲ空間設定部１４４は、ＡＲ空間Ｍ４５ａの空間サイズを小（Small）に、ＮＰＣ数を１に設定する。
【０１４７】
一方、ユーザＵｃは、基準オブジェクトとして実オブジェクトＲ１９ｃを撮像する。ユーザＵｄは、基準オブジェクトとして実オブジェクトＲ１９ｄを撮像する。ユーザＵｅは、基準オブジェクトとして実オブジェクトＲ１９ｅを撮像する。その結果、ユーザＵｃ、Ｕｄ及びＵｅの端末に、共通のＡＲ空間Ｍ４５ｂが設定される。ＡＲ空間設定部１４４は、ＡＲ空間Ｍ４５ｂの空間サイズを大（Large）に、ＮＰＣ数を３に設定する。
【０１４８】
このように、画像関連情報に応じてＡＲ空間の可変パラメータが調整されることで、ＡＲ空間ごとの特徴の違いをユーザにとって明確にすることができる。それにより、様々なモノを撮像し又は様々な場所で実空間を撮像してみようとする動機付けをユーザに与え、ＡＲコミュニティを活性化させることが可能となる。また、マーケティングの用途などにおいて多数のユーザが同じ種類の製品にチェックインするような状況が想定される場合には、当該製品に関連するＡＲ空間の空間サイズを予め十分に大きく設定しておくことにより、ＡＲ空間の混雑を予防することもできる。
【０１４９】
（２）第２の例
図４３は、ＡＲ空間の可変パラメータの調整の第２の例について説明するための説明図である。図４３の例において、ＡＲ空間の可変パラメータは、ポリゴン解像度、ＮＰＣ数及びユーザ上限数を含む。これら可変パラメータは、ユーザごとに、ＡＲ空間の表示に関与する装置の性能に応じて調整される。図４３の上段には、２人のユーザＵａ及びＵｂが示されている。
【０１５０】
例えば、ユーザＵａは、基準オブジェクトとして実オブジェクトＲ１１ａを撮像する。ユーザＵｂは、基準オブジェクトとして実オブジェクトＲ１１ｂを撮像する。実オブジェクトＲ１１ａ及びＲ１１ｂは、同じ種類のオブジェクトである。その結果、ユーザＵａ及びＵｂの端末に、共通のＡＲ空間が設定される。但し、ユーザＵｂの端末の性能はユーザＵａの端末の性能と比較して低く、ユーザＵｂの端末はユーザＵａの端末と同等の画質でＡＲ空間の画像を表示することが難しいものとする。
【０１５１】
そこで、ユーザＵｂの端末のＡＲ空間設定部１４４は、設定すべきＡＲ空間の可変パラメータを調整する。図４３の例では、ＡＲ空間設定部１４４は、ユーザＵｂのためのＡＲ空間Ｍ４６ｂのポリゴン解像度を「低（Low）」に、ＮＰＣ数を「１」にそれぞれ設定し、ユーザ数に上限を課している。一方、ユーザＵａの端末のＡＲ空間設定部１４４は、ユーザＵａのためのＡＲ空間Ｍ４６ａのポリゴン解像度を「高（High）」に、ＮＰＣ数を「３」にそれぞれ設定している。ＡＲ空間Ｍ４６ａはＡＲ空間Ｍ４６ｂと共通の空間であるため、ＡＲ空間Ｍ４６ａのユーザ数には上限が課され得る。
【０１５２】
このように、ＡＲ空間の表示に関与する装置の性能に応じてＡＲ空間の可変パラメータがユーザごとに調整されることで、様々な装置においてＡＲ空間が適切に表示されることを保証し、より多くのユーザがＡＲアプリケーションを利用することを可能とすることができる。なお、オブジェクト制御部１４６は、予め定義されるフレンドユーザについては当該フレンドユーザのアバタのリッチな画像表現を維持し（例えば、高いポリゴン解像度、又は完全なアバタ画像）、その他のアバタの画像表現のみを簡素化してもよい（例えば、低いポリゴン解像度、又は顔画像のみの表示）。
【０１５３】
［５−３．初期位置の設定］
オブジェクト制御部１４６は、ＡＲ空間内に配置されるアバタなどの仮想オブジェクトの初期位置を、様々な条件に基づいて決定し得る。例えば、オブジェクト制御部１４６は、上述した画像関連情報に基づいてアバタの初期位置を決定してもよく、又はユーザの属性に基づいて決定してもよい。
【０１５４】
（１）第１の例
図４４は、ＡＲ空間内の仮想オブジェクトの初期位置を設定するための手法の第１の例について説明するための説明図である。図４４の例において、仮想オブジェクトの初期位置は、画像関連情報に基づいて決定される。画像関連情報は、撮像位置を含む。図４４の上段には、２人のユーザＵａ及びＵｂが示されている。ユーザＵａは、実空間において位置ＰＲａに位置する。ユーザＵｂは、実空間において位置ＰＲｂに位置する。
【０１５５】
例えば、ユーザＵａ及びＵｂが同じ種類の基準オブジェクトを撮像した結果として、ユーザＵａ及びＵｂの端末に、共通のＡＲ空間Ｍ４７が設定される。オブジェクト制御部１４６は、ＡＲ空間Ｍ４７内の位置ＰＡａに、ユーザＵａのアバタＡ１１を配置する。位置ＰＡａは、実空間内のユーザＵａの位置ＰＲａに対応する。また、オブジェクト制御部１４６は、ＡＲ空間Ｍ４７内の位置ＰＡｂに、ユーザＵｂのアバタＡ１２を配置する。位置ＰＡｂは、実空間内のユーザＵｂの位置ＰＲｂに対応する。
【０１５６】
このように、ＡＲ空間が複数のユーザにより共有される場合に、仮想オブジェクトの初期位置を画像関連情報に基づいて決定することで、共通の話題をより多く有するユーザを互いにより近くに配置して、ユーザ間のコミュニケーションを促進することができる。
【０１５７】
（２）第２の例
図４５は、ＡＲ空間内の仮想オブジェクトの初期位置を設定するための手法の第２の例について説明するための説明図である。図４５の例において、仮想オブジェクトの初期位置は、ユーザの属性に基づいて決定される。ここでのユーザの属性は、例えば、ユーザの年齢、性別、職業、勤務先、嗜好又は予め定義されるグループなどであってよい。図４５の上段には、４人のユーザＵａ、Ｕｂ、Ｕｃ及びＵｄが示されている。ユーザＵａ及びＵｃは、ユーザグループＵＧ１に属する。ユーザＵｂ及びＵｄは、ユーザグループＵＧ２に属する。
【０１５８】
例えば、ユーザＵａ、Ｕｂ、Ｕｃ及びＵｄの端末に、共通のＡＲ空間Ｍ４８が設定される。オブジェクト制御部１４６は、ＡＲ空間Ｍ４８内の位置ＰＡａに、ユーザＵａのアバタＡ１１を配置する。位置ＰＡａは、ユーザグループＵＧ１のための初期位置として予め決定され得る。また、オブジェクト制御部１４６は、ＡＲ空間Ｍ４８内の位置ＰＡｂに、ユーザＵｂのアバタＡ１２を配置する。位置ＰＡｂは、ユーザグループＵＧ２のための初期位置として予め決定され得る。
【０１５９】
このように、ＡＲ空間が複数のユーザにより共有される場合に、ユーザをその属性に基づいてグルーピングすることによりユーザごとの初期位置を決定することで、互いに類似する属性を有するユーザを近くに配置して、ユーザ間のコミュニケーションを促進することができる。また、ユーザが自身とは異なる属性を有する他のユーザとのコミュニケーションを積極的に望む場合には、ユーザは、自身のアバタを初期位置から遠い領域へ移動させて、その領域において他のユーザとのコミュニケーションを図ることもできる。
【０１６０】
［５−４．様々なアクセスモード］
（１）通常モード
オブジェクト制御部１４６は、通常のアクセスモードにおいて、同じＡＲ空間にリアルタイムでアクセスしている１人以上のユーザのアバタ（又はその他の仮想オブジェクト）を、当該ＡＲ空間内に配置する。そして、オブジェクト制御部１４６は、ユーザにより操作されるアバタのアクションを記述するアクションデータを、他のユーザの装置との間で、（例えばアプリケーションサーバを介して又は直接的に）リアルタイムで交換する。また、オブジェクト制御部１４６は、ＡＲ空間内に配置されるＮＰＣ（非ユーザキャラクタ）のアクションシナリオを、他のユーザの装置との間で共有する。ここでのアクションシナリオは、各ＮＰＣの未来のアクションが時間軸に沿って記述されたデータである。それにより、アバタ及びＮＰＣが同じように動作する共通のＡＲアプリケーションの世界を、複数のユーザが同時に体験することが可能となる。アクションシナリオは、例えば、一定の時間間隔でブロードキャストされてもよく、又は各ユーザのチェックインの際に各ユーザの端末へ配信されてもよい。
【０１６１】
図４６は、通常モードにおけるＡＲ空間内のアバタ数の変化について説明するための説明図である。図４６を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の５人のユーザＵａ、Ｕｆ、Ｕｇ、Ｕｈ及びＵｉとが示されている。ユーザＵｆは、時刻ｔ１１にＡＲ空間へチェックインし、時刻ｔ１３にＡＲ空間からチェックアウトする。ユーザＵｇは、時刻ｔ１２にＡＲ空間へチェックインし、時刻ｔ１８にＡＲ空間からチェックアウトする。ユーザＵｈは、時刻ｔ１５にＡＲ空間へチェックインする。ユーザＵｉは、時刻ｔ１６にＡＲ空間へチェックインする。これに対し、ユーザＵａは、時刻ｔ１４にＡＲ空間へチェックインする。
【０１６２】
ユーザＵａが時刻ｔ１４にＡＲ空間Ｍ５１へチェックインした際、ＡＲ空間Ｍ５１には、ユーザＵａのアバタＡ１１以外に、１人のユーザ（ユーザＵｇ）のアバタ及びＮＰＣが存在する。その後、時刻ｔ１７では、ユーザが増加し、ＡＲ空間Ｍ５１には、ユーザＵａのアバタＡ１１以外に、３人のユーザ（ユーザＵｇ、Ｕｈ及びＵｉ）のアバタ及びＮＰＣが存在する。
【０１６３】
このように、多くのユーザが１つのＡＲ空間を共有する場合、ＡＲアプリケーションにリアルタイムでアクセスしているユーザのアバタのみをＡＲ空間に配置しても、同時にプレイする十分な数のユーザを確保することができる。しかし、ＡＲ空間を共有するユーザの数が少ない場合、完全にリアルタイムなアクセスモードでは、同じ時間にＡＲアプリケーションにアクセスしているユーザが１人のみという状況も想定される。そのような状況下では、上述した通常モードの代わりに、次に説明する過去再現モードを利用することが有益である。
【０１６４】
（２）過去再現モード
過去再現モードにおいて、オブジェクト制御部１４６は、同じＡＲ空間に過去にアクセスしたユーザのアバタをも、当該ＡＲ空間内に配置する。
【０１６５】
図４７は、過去再現モードにおけるＡＲ空間内のアバタ数の変化について説明するための説明図である。図４７を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の３人のユーザＵａ、Ｕｆ及びＵｇとが示されている。ユーザＵｆは、時刻ｔ２１にＡＲ空間へチェックインし、時刻ｔ２２にＡＲ空間からチェックアウトする。ユーザＵｇは、時刻ｔ２３にＡＲ空間へチェックインし、時刻ｔ２４にＡＲ空間からチェックアウトする。これに対し、ユーザＵａは、時刻ｔ２５にＡＲ空間へチェックインする。
【０１６６】
ユーザＵａが時刻ｔ２５にＡＲ空間Ｍ５２へチェックインした時点で実際にＡＲ空間Ｍ５２にアクセスしているユーザは、ユーザＵａのみである。この場合、上述した通常モードに従ってＡＲ空間Ｍ５２内にアバタが配置されると、ユーザＵａは、他のユーザの存在を知ることができない。しかし、過去再現モードでは、オブジェクト制御部１４６は、ＡＲ空間Ｍ５２に過去にアクセスしたユーザＵｆ及びＵｇのアバタをも、ＡＲ空間Ｍ５２内に配置する。図４７の例では、時刻ｔ２６から過去に向かうタイムフレームＴＦが、時刻ｔ２１、ｔ２２、ｔ２３及びｔ２４を含む。そこで、オブジェクト制御部１４６は、ユーザＵａのアバタＡ１１のみならず、ユーザＵｆのアバタＡ２１及びユーザＵｇのアバタＡ２２を、ＡＲ空間Ｍ５２内に配置する。例えば、ユーザＵａは、図２９を用いて説明したようなユーザインタフェースを介して、アバタＡ２１及びＡ２２がどのようなユーザのアバタであるかを知ることができる。
【０１６７】
このような過去再現モードが提供されることにより、ＡＲ空間を共有するユーザの数が少ない場合にも、ＡＲ空間が見た目上で過疎化してしまうことを防止し、ユーザのＡＲ空間に対する興味を維持することができる。また、例えばレアなアイテムを基準オブジェクトとして撮像するユーザが、他にどのようなユーザが同じアイテムに興味を示しているかを知ることも可能となる。なお、タイムフレームＴＦの長さは、予め固定的に定義されてもよく、又はユーザ数などのパラメータに応じて動的に設定されてもよい。
【０１６８】
（３）足跡モード
オブジェクト制御部１４６は、過去再現モードの代わりに、次に説明する足跡モードをサポートしてもよい。オブジェクト制御部１４６は、足跡モードにおいて、同じＡＲ空間に過去にアクセスしたユーザのアバタの足跡を、当該ＡＲ空間において表現する。
【０１６９】
図４８は、足跡モードについて説明するための説明図である。図４８を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の３人のユーザＵａ、Ｕｆ及びＵｇとが示されている。ユーザＵａ、Ｕｆ及びＵｇがＡＲ空間へチェックインし及びチェックアウトするタイミングは、図４７の例と同様である。
【０１７０】
時刻ｔ２１と時刻ｔ２２との間の時刻ｔ２７の時点で、ＡＲ空間Ｍ５３には、ユーザＵｆのアバタＡ２１が配置されている。次に、時刻ｔ２３と時刻ｔ２４との間の時刻ｔ２８の時点で、ＡＲ空間Ｍ５３には、ユーザＵｇのアバタＡ２２が配置されている。ユーザＵｆのアバタＡ２１は既にＡＲ空間Ｍ５３から退出しているものの、ＡＲ空間Ｍ５３には、アバタＡ２１が存在していたことを表現する足跡ＴＲ２１が残されている。次に、時刻ｔ２５よりも後の時刻ｔ２９の時点で、ＡＲ空間Ｍ５３には、ユーザＵａのアバタＡ１１が配置されている。ユーザＵｆのアバタＡ２１及びユーザＵｇのアバタＡ２２は既にＡＲ空間Ｍ５３から退出しているものの、ＡＲ空間Ｍ５３には、アバタＡ２１及びＡ２２が存在していたことを表現する足跡ＴＲ２１及びＴＲ２２がそれぞれが残されている。なお、これら足跡は、時間の経過と共に視覚的にフェードアウトしてよい（足跡ＴＲ２１参照）。
【０１７１】
このような足跡モードが提供されることにより、ユーザは、ＡＲ空間に過去にどれだけの数のユーザのアバタが存在したか、それらアバタがどのような活動を行ったかを、足跡の表現から知ることができる。
【０１７２】
（４）ＡＲ空間の間の移動
あるＡＲ空間にユーザがチェックインした後、他のＡＲ空間に興味が移った場合、現在のＡＲ空間から一度チェックアウトして他のＡＲ空間にチェックインし直さなければならないとすれば、ユーザにとって不便である。そこで、ＡＲ空間設定部１４４は、ユーザのために設定したＡＲ空間内に、他のＡＲ空間へアバタが移動することを可能とするためのパスを配置してもよい。
【０１７３】
図４９は、ＡＲ空間の間を移動するためのパスの一例について説明するための説明図である。図４９を参照すると、画像Ｉｍ５１にＡＲ空間Ｍ５４が映っている。ＡＲ空間Ｍ５４にはアバタＡ１１が配置されている。また、ＡＲ空間Ｍ５４内に、階段の形状をしたパスＰＴ１１が配置されている。パスＰＴ１１は、他のＡＲ空間Ｍ５５へとつながっている。例えば、図２０を用いて説明したようなユーザインタフェースを介してユーザがアバタＡ１１をパスＰＴ１１の上へ移動させると、ＡＲ空間設定部１４４は、新たにＡＲ空間Ｍ５５をユーザのために設定する。
【０１７４】
このようなＡＲ空間の間の移動のためのパスが提供されることにより、アバタが様々なＡＲコミュニティの間を渡り歩くことが容易になる。また、現在のＡＲ空間のみならず移動可能な他のＡＲ空間が画面上で視認されることにより、ユーザの好奇心を引き起こし、様々なＡＲコミュニティへのユーザの参加を促進することもできる。
【０１７５】
＜６．処理の流れの例＞
［６−１．チェックイン時の画面遷移］
図５０Ａ及び図５０Ｂは、ユーザがＡＲ空間へのチェックインする際の画面遷移の一例について説明するための遷移図である。
【０１７６】
図５０Ａを参照すると、まず、ＡＲ空間設定部１４４は、メニューＭＮ１を画面に表示させる。メニューＭＮ１は、メニューアイテムＭＮ１１（「一人で遊ぶ」）、メニューアイテムＭＮ１２（「みんなで遊ぶ（親になる）」）及びメニューアイテムＭＮ１３（「みんなで遊ぶ」）を含む。ユーザがメニューアイテムＭＮ１１を選択した場合、ＡＲ空間設定部１４４は、メニューＭＮ２を画面に表示させる。メニューＭＮ２は、メニューアイテムＭＮ２１（「新しく空間を構築」）及びメニューアイテムＭＮ２２（「データをロード」）を含む。
【０１７７】
メニューＭＮ２においてユーザがメニューアイテムＭＮ２１を選択した場合、画像取得部１２０は、新たにＡＲ空間を構築するために、撮像画像を入力画像として取得する（ステップＳ１２）。
【０１７８】
一方、メニューＭＮ２においてユーザがメニューアイテムＭＮ２２を選択した場合、ＡＲ空間設定部１４４は、さらにメニューＭＮ３を画面に表示させる。メニューＭＮ３は、記憶されているＡＲ空間モデルのリストを含む。そして、ユーザがいずれかのＡＲ空間モデルを選択すると、ＡＲ空間設定部１４４は、選択されたＡＲ空間モデルをデータ記憶部１６０からロードする（ステップＳ１１）。画像取得部１２０は、ロードされたＡＲ空間を実空間に関連付けるために、撮像画像を入力画像として取得する（ステップＳ１２）。
【０１７９】
そして、ＡＲ空間設定部１４４は、入力画像についての認識部１４２による認識結果に基づいて、又はロードされたＡＲ空間モデルを用いて、入力画像に映る実空間に関連付けてＡＲ空間を設定する。それにより、ＡＲアプリケーションが開始される（ステップＳ１３）。
【０１８０】
メニューＭＮ１において、メニューアイテムＭＮ１２又はＭＮ１３が選択された場合、ＡＲ空間設定部１４４は、メニューＭＮ４を画面に表示させる。図５０Ｂを参照すると、メニューＭＮ４は、メニューアイテムＭＮ４１（「カメラでチェックイン」）、メニューアイテムＭＮ４２（「現在位置でチェックイン」）、メニューアイテムＭＮ４３（「全てのリストから選択」）及びメニューアイテムＭＮ４４（「前回と同じコミュニティへ」）を含む。
【０１８１】
メニューＭＮ４においてユーザがメニューアイテムＭＮ４１を選択した場合、ＡＲ空間設定部１４４は、画像取得部１２０により取得される撮像画像を、ユーザを振り分ける機能を有する装置へ送信する（ステップＳ１４）。ここでは、一例として、アプリケーションサーバが、ユーザを振り分ける機能を有するものとする。また、メニューＭＮ４においてユーザがメニューアイテムＭＮ４２を選択した場合、ＡＲ空間設定部１４４は、データ取得部１３０により取得される位置データを、アプリケーションサーバへ送信する（ステップＳ１５）。また、メニューＭＮ４においてユーザがメニューアイテムＭＮ４３を選択した場合、ＡＲ空間設定部１４４は、ＡＲ空間候補のリストの配信を求めるリクエストを、アプリケーションサーバへ送信する。いずれの場合にも、ＡＲ空間設定部１４４は、アプリケーションサーバからＡＲ空間候補のリストを受信する（ステップＳ１６）。
【０１８２】
ＡＲ空間設定部１４４は、アプリケーションサーバから受信したＡＲ空間候補のリストが複数のＡＲ空間候補を含む場合には、メニューＭＮ５を画面に表示させる。ＡＲ空間候補のリストが１つのＡＲ空間候補のみを含む場合には、メニューＭＮ５の表示は省略されてもよい。そして、ＡＲ空間設定部１４４は、メニューＭＮ５においてユーザにより指定されたＡＲ空間、又はＡＲ空間候補のリストに含まれる単一のＡＲ空間のＡＲ空間モデルを、アプリケーションサーバから受信する（ステップＳ１７）。
【０１８３】
一方、メニューＭＮ４においてユーザがメニューアイテムＭＮ４４を選択した場合、ＡＲ空間設定部１４４は、前回ユーザがチェックアウトしたＡＲ空間の識別子をデータ記憶部１６０から取得し、当該識別子により識別されるＡＲ空間のＡＲ空間モデルを、アプリケーションサーバから受信する（ステップＳ１７）。
【０１８４】
そして、画像取得部１２０は、撮像画像を入力画像として取得する（ステップＳ１８）。ＡＲ空間設定部１４４は、アプリケーションサーバから受信されたＡＲ空間モデルを用いて、入力画像に映る実空間に関連付けてＡＲ空間を設定する（ステップＳ１８）。そして、ＡＲアプリケーションが開始される（ステップＳ１９）。
【０１８５】
［６−２．ＡＲアプリケーションの実行］
図５１は、ＡＲアプリケーションを実行するための情報処理の流れの一例を示すフローチャートである。
【０１８６】
図５１を参照すると、まず、画像取得部１２０は、実空間を映した撮像画像を入力画像としてカメラ１０２から取得する（ステップＳ１１０）。そして、画像取得部１２０は、取得した入力画像を、ＡＲ処理部１４０へ出力する。
【０１８７】
次に、認識部１４２は、画像取得部１２０から入力される入力画像に映る実オブジェクトの位置及び姿勢を認識する（ステップＳ１１５）。また、認識部１４２は、情報処理装置１００の位置及び姿勢をも認識し得る。そして、認識部１４２は、認識結果に基づいて実空間マップ１６４を生成し又は更新し、実空間マップ１６４をデータ記憶部１６０に記憶させる。
【０１８８】
次に、ＡＲ空間設定部１４４は、実空間マップ１６４により表現される実空間に関連付けて、ＡＲ空間を設定する（ステップＳ１２０）。ここで設定されるＡＲ空間は、入力画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより構築される空間であってもよく、又は他の装置から受信されるＡＲ空間モデルにより表現される空間であってもよい。
【０１８９】
次に、ＡＲ空間設定部１４４は、設定したＡＲ空間内に、１つ以上のアバタ及びその他の仮想オブジェクトを配置する（ステップＳ１２５）。ここで配置されるアバタは、メインユーザのアバタ、及びＡＲ空間を共有する他のユーザのアバタを含み得る。また、ここで配置される仮想オブジェクトは、ＮＰＣ（非ユーザキャラクタ）を含み得る。
【０１９０】
次に、オブジェクト制御部１４６は、予め取得され得るアクションシナリオに従って、ＡＲ空間内に配置したＮＰＣの動作を決定する（ステップＳ１３０）。
【０１９１】
また、オブジェクト制御部１４６は、アクション判定処理を実行し、メインユーザのアバタについてのアクションを判定する（ステップＳ１４０）。そして、オブジェクト制御部１４６は、ＡＲ空間が他のユーザと共有されている場合には（ステップＳ１６０）、当該他のユーザの端末との間でアクションデータを交換する（ステップＳ１６５）。
【０１９２】
次に、オブジェクト制御部１４６は、ＡＲ空間の状態（例えば、アバタを含む１つ以上の仮想オブジェクトの位置及び姿勢など）を更新する（ステップＳ１７０）。そして、オブジェクト制御部１４６は、仮想オブジェクト画像の重畳された出力画像（アバタのアクションのアニメーションを含み得る）を、ディスプレイ１１０の画面に表示させる（ステップＳ１７５）。
【０１９３】
その後、その時点の動作モードがリアルタイムモードである場合には、処理はステップＳ１１０へ戻り、次のフレームを入力画像として上述した処理が繰り返される。一方、動作モードがスナップショットモードである場合には、新たな入力画像は取得されず、ステップＳ１３０以降の上述した処理が繰り返される（ステップＳ１８０）。
【０１９４】
［６−３．アクション判定処理］
図５２は、図５１に示したアクション判定処理の詳細な流れの一例を示すフローチャートである。図５２を参照すると、アクション判定処理は、その時点の動作モードがリアルタイムモード及びスナップショットモードのいずれであるかに依存して分岐する（ステップＳ１４２）。
【０１９５】
動作モードがリアルタイムモードである場合、オブジェクト制御部１４６は、ＡＲ空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて、アクションの対象位置を決定する（ステップＳ１４４）。一方、動作モードがスナップショットモードである場合、オブジェクト制御部１４６は、オブジェクトとカメラの光軸との間の位置関係に基づくことなく、アクションの対象位置を決定する（ステップＳ１４６）。
【０１９６】
次に、オブジェクト制御部１４６は、ユーザ入力の検出結果に従って、メインユーザのアバタに実行させるべきアクションを決定する（ステップＳ１４８）。
【０１９７】
＜７．変形例＞
［７−１．端末とサーバとの連携］
図４に示したブロック図は、実空間の認識、ＡＲ空間の設定及びオブジェクトの制御などの主要な機能をユーザ端末である情報処理装置１００が有する例を示している。しかしながら、本開示に係る技術は、これら機能の少なくとも一部が外部装置（例えば、アプリケーションサーバ又は近傍の他の端末など）において実装される例にも適用可能である。そこで、本節では、そうした変形例の１つについて説明する。
【０１９８】
図５３は、一変形例に係る情報処理装置２００の論理的機能の構成の一例を示すブロック図である。情報処理装置２００のハードウェア構成は、図３に示した情報処理装置１００のハードウェア構成と同様であってよい。図５３を参照すると、情報処理装置２００は、画像取得部１２０、データ取得部１３０及びサーバ連携部２５０を備える。サーバ連携部２５０は、データ送信部２５２及びＡＲ画像受信部２５４を有する。
【０１９９】
データ送信部２５２は、情報処理装置１００のＡＲ空間設定部１４４及びオブジェクト制御部１４６と同等の機能を有するサーバ装置３００へ、通信インタフェースを介して、入力画像を送信する。データ送信部２５２は、ユーザ入力が検出された場合には、ユーザ入力データをサーバ装置３００へ送信してもよい。また、データ送信部２５２は、情報処理装置２００の現在位置を示す位置データを含み得るセンサデータを、サーバ装置３００へ送信してもよい。
【０２００】
ＡＲ画像受信部２５４は、サーバ装置３００からＡＲ画像を受信する。ＡＲ画像受信部２５４により受信されるＡＲ画像は、例えば、ＡＲ空間内で実行されるアクションを表現する画像である。ＡＲ空間は、入力画像に映る実オブジェクトをボクセル単位で離散化することにより、入力画像に関連付けて設定されてもよい。また、ＡＲ空間は、入力画像に関連する画像関連情報に応じて設定されてもよい。アクションの対象位置は、ＡＲ空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて決定されてもよい。そして、ＡＲ画像受信部２５４は、ディスプレイ１１０へ出力画像を出力し、ＡＲアプリケーションの画像を画面に表示させる。
【０２０１】
［７−２．簡易的な実空間の認識］
上述した実施形態では、認識部１４２が実空間内の位置及び姿勢を表現する実空間マップを生成した後、ＡＲ空間設定部１４４が実空間マップを離散化することにより、仮想オブジェクトの配置を表すＡＲ空間モデルを生成する例について主に説明した。しかしながら、仮想オブジェクトの配置は、より簡易な手法で決定されてもよい。
【０２０２】
図５４は、仮想オブジェクトの配置を決定するための手法の一変形例について説明するための説明図である。図５４を参照すると、実オブジェクトである一例としてのマーカオブジェクトＭＫ１、並びに、コンテンツ辞書においてマーカオブジェクトＭＫ１に関連付られる仮想オブジェクトＶＭ１及び描画モデルＤＭ１が示されている。図５４の例では、描画モデルＤＭ１は、船の外観を表現する画像データである。描画モデルＤＭ１もまた、一種の仮想オブジェクトであるといってよい。コンテンツ辞書は、さらに、マーカオブジェクトＭＫ１に対する仮想オブジェクトＶＭ１及び描画モデルＤＭ１の相対的な配置のための基準となる基準点ＲＰ１をも定義する。認識部１４２は、公知の画像認識技術を用いて、入力画像に映るマーカオブジェクトＭＫ１を認識する。ＡＲ空間設定部１４４は、認識されたマーカオブジェクトＭＫ１の位置とコンテンツ辞書における定義とに基づいて、入力画像内の基準点ＲＰ１の位置を決定する。そして、ＡＲ空間設定部１４４（又はオブジェクト制御部１４６）は、決定した基準点ＲＰ１の位置を基準として、仮想オブジェクトＶＭ１を配置する（図中のステップＳ２１）。仮想オブジェクトＶＭ１は、１つ以上のボクセルを占める透明なオブジェクトであってよい。さらに、オブジェクト制御部１４６は、基準点ＲＰ１の位置を基準として、画面上で、描画モデルＤＭ１をマーカオブジェクトＭＫ１に重畳する（図中のステップＳ２２）。アバタは、オブジェクト制御部１４６による制御の下で、例えば仮想オブジェクトＶＭ１を避けるように、又は仮想オブジェクトＶＭ１の上に乗るように動く。アバタは、ユーザによる操作に従って、仮想オブジェクトＶＭ１の上にブロックを積み重ねてもよい。結果として、画面上で、アバタがあたかも描画モデルＤＭ１により表現される船とインタラクションをしているかのような出力画像を表示することができる。なお、マーカオブジェクトは、何らかのテクスチャを有する任意のオブジェクト（例えば、ポスター又は商品のパッケージなど）であってよい。コンテンツ辞書は、いかなる数のマーカオブジェクトについてのデータを定義してもよい。
【０２０３】
＜８．まとめ＞
ここまで、図１〜図５４を用いて、本開示に係る技術の様々な実施形態について説明した。上述した実施形態によれば、実オブジェクトと仮想オブジェクトとの間の関連付けの強化、ＡＲアプリケーションならではの操作性の向上、及びＡＲコミュニティにおけるコミュニケーションの活性化などの様々な観点を通じて、ユーザにより体験される拡張現実の魅力が向上される。
【０２０４】
例えば、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することによりＡＲ空間が設定される場合には、ＡＲ空間内で活動するアバタ又はその他の仮想オブジェクトが実オブジェクトと干渉することを、容易に防止することができる。このような手法は、実オブジェクトの位置及び姿勢を記述する情報（例えば、上述した実空間マップ、又は特開２０１１−１５９１６２号公報に記載された環境マップなど）から直接的に干渉を判定する手法と比較して、計算負荷を抑え、判定のアルゴリズムを単純化させることを可能とする。それにより、例えば複数の端末が互いに連携するようなＡＲアプリケーションにおいて、リアルタイム性を確保することも容易となる。
【０２０５】
また、例えば、ＡＲ空間内のオブジェクトと撮像装置の光軸との間の位置関係に基づいてＡＲ空間内で実行されるアクションの対象位置が決定される場合には、対象位置を決定するために、タッチ入力やボタンの押下などのユーザ入力が不要となる。それにより、ユーザが仮想オブジェクトのアクションを操作する際の端末の姿勢のブレが低減され、ＡＲアプリケーションの安定的な動作と操作性の向上とが実現される。
【０２０６】
また、例えば、撮像画像に関連する画像関連情報に応じて異なるＡＲ空間が設定される場合には、多数のユーザが無秩序にＡＲ空間に集まるのではなく、何らかの共通点を有するユーザのアバタが共通のＡＲ空間に集まってＡＲコミュニティを形成することが可能となる。ＡＲアプリケーションを利用する際には、通常、ユーザは画像を撮像する。よって、本手法に従って画像関連情報を取得するためにユーザに追加的な作業を課すことなく、ユーザ間のコミュニケーションのために効果的なＡＲコミュニティを形成することが可能である。
【０２０７】
なお、本明細書において説明した各装置による一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体（非一時的な媒体：non-transitory  media）に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵなどのプロセッサにより実行される。
【０２０８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２０９】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づいて、前記拡張現実空間内で実行されるアクションの対象位置を決定する制御部と、
を備える情報処理装置。
（２）
前記制御部は、前記拡張現実空間内にユーザのアバタを配置し、前記アバタにより実行される前記アクションの前記対象位置を前記位置関係に基づいて決定する、前記（１）に記載の情報処理装置。
（３）
前記制御部は、前記アバタの移動の目的地として、前記対象位置を決定する、前記（２）に記載の情報処理装置。
（４）
前記制御部は、前記アバタが使用するアイテムの作用点として、前記対象位置を決定する、前記（２）に記載の情報処理装置。
（５）
前記制御部は、前記撮像装置の前記光軸周りの回転に基づいて、前記アバタの姿勢を制御する、前記（２）〜（４）のいずれか１項に記載の情報処理装置。
（６）
前記制御部は、前記撮像装置に対する前記拡張現実空間の相対的な位置、姿勢又はスケールを、所定のユーザ入力に基づいて変更する、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記制御部は、前記拡張現実空間内のオブジェクトを表示するウィンドウの右端領域及び左端領域の少なくとも一方に、前記アクションの種類をユーザに選択させるためのユーザインタフェースを重畳し、
前記右端領域及び前記左端領域は、ディスプレイを把持しているユーザの指が届く領域である、
前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）
前記情報処理装置は、前記撮像画像に映る実オブジェクトの前記実空間内の位置及び姿勢を認識する認識部、をさらに備え、
前記制御部は、前記認識部による前記実オブジェクトの認識結果を用いて、当該実オブジェクトに関連する前記アクションを制御する、
前記（１）〜（７）のいずれか１項に記載の情報処理装置。
（９）
前記撮像画像に映る実オブジェクトの前記拡張現実空間内の配置は、当該実オブジェクトをボクセル単位で離散化することにより決定される、前記（１）〜（８）のいずれか１項に記載の情報処理装置。
（１０）
前記制御部は、前記アクションの前記対象位置を前記ボクセル単位で決定する、前記（９）に記載の情報処理装置。
（１１）
前記制御部は、第１の動作モードにおいて、毎フレーム更新される前記撮像画像に前記拡張現実空間内のオブジェクトを重畳して画面に表示させ、第２の動作モードにおいて、前記撮像画像を更新することなく前記拡張現実空間内のオブジェクトを画面に表示させる、前記（１）〜（１０）のいずれか１項に記載の情報処理装置。
（１２）
前記制御部は、所定のユーザ入力に応じて、前記第１の動作モードと前記第２の動作モードとを切り替える、前記（１１）に記載の情報処理装置。
（１３）
前記制御部は、前記撮像画像に映る実オブジェクトの認識の失敗が所定のフレーム数分連続した場合に、前記第１の動作モードから前記第２の動作モードへ切り替える、前記（１１）に記載の情報処理装置。
（１４）
前記制御部は、前記第２の動作モードにおいて、前記拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づくことなく、前記拡張現実空間内で実行される前記アクションの前記対象位置を決定する、前記（１１）〜（１３）のいずれか１項に記載の情報処理装置。
（１５）
前記制御部は、カメラ視点モードにおいて、前記撮像装置の位置及び姿勢を基準として前記拡張現実空間の画像を生成し、アバタ視点モードにおいて、前記拡張現実空間内に配置されるアバタの位置及び姿勢を基準として、前記拡張現実空間の画像を生成する、前記（１）〜（１０）のいずれか１項に記載の情報処理装置。
（１６）
前記制御部は、所定のユーザ入力又は前記拡張現実空間内の所定のイベントの発生に応じて、前記カメラ視点モードから前記アバタ視点モードへ切り替える、前記（１５）に記載の情報処理装置。
（１７）
前記制御部は、前記アクションが実行された場合において、前記対象位置に対応する前記実空間内の実オブジェクトがリアクションを遂行可能なときに、当該実オブジェクトにリアクションの遂行を指示する、前記（１）〜（１６）のいずれか１項に記載の情報処理装置。
（１８）
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定し、設定した当該拡張現実空間内のオブジェクトと前記撮像部の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定するサーバ装置、と通信する通信部と、
前記サーバ装置により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させる制御部と、
を備える端末装置。
（１９）
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
前記サーバ装置は、撮像画像に映る実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定し、設定した当該拡張現実空間内のオブジェクトと前記撮像部の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させることと、
を含む、情報処理方法。
（２０）
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定するサーバ装置であって、設定した当該拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定する当該サーバ装置、により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させる制御部と、
として機能させるための、プログラム。
【０２１０】
また、以下のような構成も本開示の技術的範囲に属する。
（１）
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、
を備える情報処理装置。
（２）
前記仮想オブジェクトは、ユーザのアバタを含む、前記（１）に記載の情報処理装置。
（３）
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記実オブジェクトのテクスチャ又は色に基づいて設定する、
前記（１）又は前記（２）に記載の情報処理装置。
（４）
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記撮像画像に映る基準オブジェクトのテクスチャ又は色に基づいて設定する、
前記（１）又は前記（２）に記載の情報処理装置。
（５）
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトの表示属性を、前記実オブジェクトの地形的パラメータに基づいて設定する、
前記（１）又は前記（２）に記載の情報処理装置。
（６）
前記情報処理装置は、前記撮像画像に映る前記実オブジェクトの前記実空間内の位置及び姿勢を認識することにより実空間マップを生成する認識部、をさらに備え、
前記設定部は、前記認識部により生成された前記実空間マップをボクセル単位で離散化することにより、前記拡張現実空間を構築する、
前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザのうちの親ユーザの前記撮像画像に基づいて設定される前記拡張現実空間を、前記複数のユーザの各々に適用する、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザの前記撮像画像に基づいてそれぞれ構築される複数のユーザ別拡張現実空間を統合することにより、前記拡張現実空間を形成する、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（９）
前記設定部は、前記複数のユーザ別拡張現実空間の和をボクセル単位で計算することにより、前記複数のユーザ別拡張現実空間を統合する、前記（８）に記載の情報処理装置。
（１０）
前記拡張現実空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、
前記設定部は、テリトリごとに当該テリトリに割当てられたユーザの前記ユーザ別拡張現実空間を選択することにより、前記複数のユーザ別拡張現実空間を統合する、
前記（８）に記載の情報処理装置。
（１１）
前記制御部は、前記撮像画像に重畳される前記仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの前記撮像画像に映っているかに応じて変化させる、前記（７）〜（１０）のいずれか１項に記載の情報処理装置。
（１２）
前記設定部は、前記複数のユーザにより共有される前記拡張現実空間の表示スケールを、前記撮像画像に映る基準オブジェクトのサイズに基づいて設定する、前記（７）〜（１１）のいずれか１項に記載の情報処理装置。
（１３）
前記設定部は、ユーザにより指定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、前記（１）〜（１２）のいずれか１項に記載の情報処理装置。
（１４）
前記設定部は、ユーザのプライバシー設定に基づいて決定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、前記（１）〜（１２）のいずれか１項に記載の情報処理装置。
（１５）
前記設定部は、ユーザにより指定される前記実オブジェクト又はユーザにより除外されなかった前記実オブジェクトを離散化することにより、前記拡張現実空間を設定する、前記（１）〜（１４）のいずれか１項に記載の情報処理装置。
（１６）
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
を備える端末装置。
（１７）
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、
を含む、情報処理方法。
（１８）
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
として機能させるための、プログラム。
【０２１１】
また、以下のような構成も本開示の技術的範囲に属する。
（１）
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を、前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を画面に表示させる制御部と、
を備える情報処理装置。
（２）
前記仮想オブジェクトは、ユーザごとのアバタを含む、前記（１）に記載の情報処理装置。
（３）
前記関連情報は、前記撮像画像に映る基準オブジェクトの属性を含む、前記（１）又は前記（２）に記載の情報処理装置。
（４）
前記関連情報は、前記撮像画像の撮像場所を含む、前記（１）又は前記（２）に記載の情報処理装置。
（５）
前記関連情報は、前記撮像装置の属性を含む、前記（１）又は前記（２）に記載の情報処理装置。
（６）
前記設定部は、予め用意される複数の拡張現実空間候補から前記関連情報に応じて選択される前記拡張現実空間を設定する、前記（３）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記設定部は、前記複数の拡張現実空間候補から前記関連情報に応じて決定されるサブセットのうちユーザにより指定される前記拡張現実空間を選択する、前記（６）に記載の情報処理装置。
（８）
前記設定部は、設定すべき前記拡張現実空間の可変パラメータを、前記関連情報に応じて調整する、前記（３）〜（６）のいずれか１項に記載の情報処理装置。
（９）
前記設定部は、前記拡張現実空間の表示に関与する装置の性能に基づいて、設定すべき前記拡張現実空間の可変パラメータを調整する、前記（１）〜（８）のいずれか１項に記載の情報処理装置。
（１０）
前記制御部は、前記拡張現実空間内に配置される前記仮想オブジェクトの初期位置を、前記関連情報に基づいて決定する、前記（１）〜（９）のいずれか１項に記載の情報処理装置。
（１１）
前記制御部は、前記拡張現実空間内に配置される前記仮想オブジェクトの初期位置を、前記ユーザの属性に基づいて決定する、前記（１）〜（９）のいずれか１項に記載の情報処理装置。
（１２）
前記設定部は、設定すべき前記拡張現実空間が前記関連情報から決定されない場合に、前記関連情報に依存しない既定の拡張現実空間候補を前記拡張現実空間として設定する、前記（１）〜（１１）のいずれか１項に記載の情報処理装置。
（１３）
前記仮想オブジェクトは、ユーザごとのアバタを含み、
前記制御部は、同じ前記拡張現実空間にリアルタイムでアクセスしている１人以上のユーザのアバタを当該拡張現実空間内に配置する、
前記（１）〜（１２）のいずれか１項に記載の情報処理装置。
（１４）
前記制御部は、同じ前記拡張現実空間に過去にアクセスしたユーザのアバタをも、当該拡張現実空間内に配置する、前記（１３）に記載の情報処理装置。
（１５）
前記制御部は、同じ前記拡張現実空間に過去にアクセスしたユーザのアバタの足跡を、前記拡張現実空間において表現する、前記（１３）に記載の情報処理装置。
（１６）
前記制御部は、前記拡張現実空間内に配置される非ユーザキャラクタのアクションシナリオを、前記１人以上のユーザの装置の間で共有する、前記（１３）〜（１５）のいずれか１項に記載の情報処理装置。
（１７）
前記仮想オブジェクトは、ユーザごとのアバタを含み、
前記設定部は、設定した前記拡張現実空間内に、他の拡張現実空間へ前記アバタが移動することを可能とするためのパスを配置する、
前記（１）〜（１６）のいずれか１項に記載の情報処理装置。
（１８）
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
前記サーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させる制御部と、
を備える端末装置。
（１９）
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法において、
前記サーバ装置は、撮像画像に映る実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させることと、
を含む、情報処理方法。
（２０）
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定するサーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させる制御部と、
として機能させるための、プログラム。
【符号の説明】
【０２１２】
１００    情報処理装置
１０２    カメラ（撮像部）
１１０    ディスプレイ（表示部）
１１２    通信インタフェース（通信部）
１１８    プロセッサ（制御部）
１２０    画像取得部
１３０    データ取得部
１４２    認識部
１４４    ＡＲ空間設定部
１４６    オブジェクト制御部
２００    端末装置
【図１】
2014149712.tif 000003
【図２】
2014149712.tif 000004
【図３】
2014149712.tif 000005
【図４】
2014149712.tif 000006
【図５】
2014149712.tif 000007
【図６】
2014149712.tif 000008
【図７】
2014149712.tif 000009
【図８】
2014149712.tif 000010
【図９】
2014149712.tif 000011
【図１０】
2014149712.tif 000012
【図１１】
2014149712.tif 000013
【図１２】
2014149712.tif 000014
【図１３】
2014149712.tif 000015
【図１４】
2014149712.tif 000016
【図１５】
2014149712.tif 000017
【図１６】
2014149712.tif 000018
【図１７】
2014149712.tif 000019
【図１８】
2014149712.tif 000020
【図１９】
2014149712.tif 000021
【図２０】
2014149712.tif 000022
【図２１】
2014149712.tif 000023
【図２２】
2014149712.tif 000024
【図２３】
2014149712.tif 000025
【図２４Ａ】
2014149712.tif 000026
【図２４Ｂ】
2014149712.tif 000027
【図２５】
2014149712.tif 000028
【図２６】
2014149712.tif 000029
【図２７】
2014149712.tif 000030
【図２８】
2014149712.tif 000031
【図２９】
2014149712.tif 000032
【図３０】
2014149712.tif 000033
【図３１】
2014149712.tif 000034
【図３２】
2014149712.tif 000035
【図３３】
2014149712.tif 000036
【図３４】
2014149712.tif 000037
【図３５】
2014149712.tif 000038
【図３６】
2014149712.tif 000039
【図３７】
2014149712.tif 000040
【図３８】
2014149712.tif 000041
【図３９】
2014149712.tif 000042
【図４０】
2014149712.tif 000043
【図４１】
2014149712.tif 000044
【図４２】
2014149712.tif 000045
【図４３】
2014149712.tif 000046
【図４４】
2014149712.tif 000047
【図４５】
2014149712.tif 000048
【図４６】
2014149712.tif 000049
【図４７】
2014149712.tif 000050
【図４８】
2014149712.tif 000051
【図４９】
2014149712.tif 000052
【図５０Ａ】
2014149712.tif 000053
【図５０Ｂ】
2014149712.tif 000054
【図５１】
2014149712.tif 000055
【図５２】
2014149712.tif 000056
【図５３】
2014149712.tif 000057
【図５４】
2014149712.tif 000058