(57)【要約】  互いに異なる拡張現実空間を予め共有している複数のグループ間で拡張現実空間を共有する場合に、共有を速やかに開始できる情報処理装置。この装置では、仮想オブジェクト管理部（１０４）は、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する、自装置の仮想オブジェクト管理情報を管理する。通信部（１０７）は、他のグループに属する他の情報処理装置から、他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する、他装置の仮想オブジェクト管理情報を受信する。参照点設定部（１０３）は、自装置の仮想オブジェクト管理情報および他装置の仮想オブジェクト管理情報に基づいて、他のグループと自装置が属するグループとが共通に利用する共通参照点を設定する。
2013145614.tif 000002
【特許請求の範囲】
【請求項１】
所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置であって、
自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する仮想オブジェクト管理部と、
他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する通信部と、
前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する参照点設定部と、
を備える、情報処理装置。
【請求項２】
前記参照点設定部は、
前記他装置の仮想オブジェクト管理情報として受信した仮想オブジェクトの数と、前記自装置の仮想オブジェクト管理情報として管理している仮想オブジェクトの数とを比較し、
比較の結果、前記仮想オブジェクトの数が多い方のグループが利用している参照点を、前記共通参照点として設定する、
請求項１記載の情報処理装置。
【請求項３】
前記参照点設定部は、
前記自装置が属するグループが利用している参照点を共通参照点として設定した場合、当該共通参照点に関する参照点設定情報を、前記通信部を介して前記他の情報処理装置へ送信し、
前記仮想オブジェクト管理部は、
前記通信部を介して前記他の情報処理装置から、前記共通参照点に基づいて更新された前記他装置の仮想オブジェクト管理情報を受信し、前記自装置の仮想オブジェクト管理情報と合わせて保有する、
請求項１記載の情報処理装置。
【請求項４】
前記仮想オブジェクト管理部は、
前記他装置の仮想オブジェクト管理情報に前記自装置のオブジェクト管理情報を合わせた仮想オブジェクト管理情報を、前記自装置が属するグループ内の他の情報処理装置へ前記通信部を介して送信する、
請求項３記載の情報処理装置。
【請求項５】
前記参照点設定部は、
前記他のグループが利用している参照点を共通参照点として設定した場合、当該参照点を共通参照点として設定した旨を示す設定通知情報を、前記通信部を介して前記他の情報処理装置へ送信し、
前記通信部を介して前記他の情報処理装置から、前記共通参照点に関する参照点設定情報を受信し、
前記仮想オブジェクト管理部は、
前記参照点設定情報に基づいて、前記自装置の仮想オブジェクト管理情報を更新する、
請求項１記載の情報処理装置。
【請求項６】
前記仮想オブジェクト管理部は、
前記他の情報処理装置から取得した参照点設定情報に基づいて更新した前記自装置の仮想オブジェクト管理情報、および前記参照点設定情報を、前記自装置が属するグループ内の他の情報処理装置へ前記通信部を介して送信する、
請求項５記載の情報処理装置。
【請求項７】
前記参照点設定部は、
前記自装置の所属しているグループまたは前記他のグループが、予め別のグループと同一の拡張現実空間を共有する関係にある場合、前記同一の拡張現実空間に配置される仮想オブジェクトの合計数に基づいて前記比較を行う、
請求項１記載の情報処理装置。
【請求項８】
所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する複数の情報処理装置と、ネットワークを介して通信を行うサーバ装置であって、
第１情報処理装置が属する第１グループで共有される第１拡張現実空間に配置される仮想オブジェクトに関する情報を含む第１仮想オブジェクト管理情報、および、第２情報処理装置が属する第２グループで共有される第２拡張現実空間に配置される仮想オブジェクトに関する情報を含む第２仮想オブジェクト管理情報を管理する仮想オブジェクト管理部と、
前記第１仮想オブジェクト管理情報および前記第２仮想オブジェクト管理情報に基づいて、前記第１グループと前記第２グループとが共通に利用する共通参照点を設定する参照点設定部と、
を備える、サーバ装置。
【請求項９】
前記参照点設定部は、
前記第１仮想オブジェクト管理情報として管理している仮想オブジェクトの数と、前記第２仮想オブジェクト管理情報として管理している仮想オブジェクトの数とを比較し、
比較の結果、前記仮想オブジェクトの数が多い方のグループが利用している参照点を、前記共通参照点として設定する、
請求項８記載のサーバ装置。
【請求項１０】
前記参照点設定部は、
前記第１情報処理装置が属する前記第１グループまたは前記第２情報処理装置が属する前記第２グループが、予め別のグループと同一の拡張現実空間を共有する関係にある場合、前記同一の拡張現実空間に配置される仮想オブジェクトの合計数に基づいて前記比較を行う、
請求項８記載のサーバ装置。
【請求項１１】
所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置が行う情報処理方法であって、
自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理するステップと、
他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信するステップと、
前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定するステップと、
を含む、情報処理方法。
【請求項１２】
所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置のコンピュータに実行させるプログラムであって、
自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する処理と、
他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する処理と、
前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実感技術を用いることにより、現実空間の画像にコンピュータグラフィックスを重畳して表示する情報処理装置、サーバ装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、拡張現実感（ＡＲ:Augmented Reality）技術の一例として、カメラで撮影した現実空間の画像に対して、コンピュータグラフィックス（Computer Graphics：以下、ＣＧという）を重畳して表示することが行われている。すなわち、ＣＧで描かれたオブジェクト（以下、仮想オブジェクトという）は、現実空間の位置に関係づけられた仮想空間内に配置されることで、ユーザの視点に合う形で現実空間の画像上に重畳して表示される。これにより、ユーザは、仮想オブジェクトが現実空間に存在しているかのように感じることができる。以下、現実空間の位置に対して関係づけられ、仮想オブジェクトが配置される仮想空間のことは、「拡張現実空間」という。【０００３】
拡張現実感技術において、複数のユーザが拡張現実空間を共有する技術は、例えば、特許文献１に開示されている。特許文献１では、拡張現実空間を構築する際の基準となる参照点の位置情報を、複数のユーザ間で共有するための技術（以下、共有手続きという）を開示している。この特許文献１の技術は、所定の参照点を基に構築される拡張現実空間を共有するユーザのグループを形成することができる。【０００４】
特許文献１の技術では、形成されたグループが複数集まることで、各グループに所属するユーザ全員が拡張現実空間を共有することが想定される。例えば、家族Ａに属する複数のユーザは、拡張現実空間Ａ上で仮想ペットＡを共有している。一方で、家族Ｂに属する複数のユーザは、拡張現実空間Ｂ上で仮想ペットＢを共有しているとする。この場合は、家族Ａおよび家族Ｂに属するユーザ全員が、仮想ペットＡおよび仮想ペットＢを共有する、といった利用方法が考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１１／０２１６００２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したように、異なるグループに属するユーザ全員の間で各グループの仮想オブジェクトを共有するためには、各ユーザが、特許文献１に開示の共有手続きを、共有したいグループの数だけ行う必要がある。そのため、特許文献１に開示の技術では、ユーザが行う操作が増えるだけでなく、ユーザが使用する情報処理装置の処理にも時間がかかるため、速やかに共有を開始することができない、という課題がある。【０００７】
本発明の目的は、異なるグループに属するユーザ全員の間で各グループの仮想オブジェクトを共有する場合に、共有を速やかに開始できるようにすることである。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理装置は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置であって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する仮想オブジェクト管理部と、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する通信部と、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する参照点設定部と、を備える。【０００９】
本発明の一態様に係るサーバ装置は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する複数の情報処理装置と、ネットワークを介して通信を行うサーバ装置であって、第１情報処理装置が属する第１グループで共有される第１拡張現実空間に配置される仮想オブジェクトに関する情報を含む第１仮想オブジェクト管理情報、および、第２情報処理装置が属する第２グループで共有される第２拡張現実空間に配置される仮想オブジェクトに関する情報を含む第２仮想オブジェクト管理情報を管理する仮想オブジェクト管理部と、前記第１仮想オブジェクト管理情報および前記第２仮想オブジェクト管理情報に基づいて、前記第１グループと前記第２グループとが共通に利用する共通参照点を設定する参照点設定部と、を備える。【００１０】
本発明の一態様に係る情報処理方法は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置が行う情報処理方法であって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理するステップと、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信するステップと、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定するステップと、を含む。【００１１】
本発明の一態様に係るプログラムは、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置のコンピュータに実行させるプログラムであって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する処理と、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する処理と、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する処理と、を実行させる。
【発明の効果】
【００１２】
本発明によれば、異なるグループに属するユーザ全員の間で各グループの仮想オブジェクトを共有する場合に、共有を速やかに開始することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１に係る情報処理装置の構成例を示すブロック図
【図２Ａ】本発明の実施の形態１に係る仮想オブジェクト管理情報の一例を示す図
【図２Ｂ】本発明の実施の形態１に係るグループ管理情報の一例を示す図
【図２Ｃ】本発明の実施の形態１に係る自装置管理情報の一例を示す図
【図３】本発明の実施の形態１に係る情報処理装置が２つのグループ間で拡張現実空間を共有する動作について説明する図
【図４】本発明の実施の形態１に係る情報処理装置が２つのグループ間で拡張現実空間を共有する処理を示すシーケンス図
【図５】本発明の実施の形態１に係る情報処理装置が２つのグループ間で共通に利用する参照点を設定する処理を示すシーケンス図
【図６】本発明の実施の形態１に係る情報処理装置が空間情報を共有化する処理を示すシーケンス図
【図７】本発明の実施の形態１に係る情報処理装置が空間情報を共有化する処理を示すシーケンス図
【図８】本発明の実施の形態１に係る情報処理装置が空間情報を共有化する処理を示すシーケンス図
【図９】本発明の実施の形態２に係る情報処理装置の動作について説明する図
【図１０】本発明の実施の形態１、２に係る情報処理装置が拡張現実空間の共有を終了する処理を示すシーケンス図
【図１１】本発明の実施の形態４に係る情報処理装置とサーバ装置の構成例を示すブロック図
【図１２Ａ】本発明の実施の形態４に係るグループ管理情報の一例を示す図
【図１２Ｂ】本発明の実施の形態４に係る共有グループ管理情報の一例を示す図
【図１３】本発明の実施の形態４に係る情報処理装置が２つのグループ間で拡張現実空間を共有する動作について説明する図
【図１４】本発明の実施の形態４に係る情報処理装置が２つのグループ間で拡張現実空間を共有する処理を示すシーケンス図
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１５】
（実施の形態１）
まず、本実施の形態の情報処理装置１００の構成について説明する。
【００１６】
＜情報処理装置の構成＞
図１は、本実施の形態に係る情報処理装置１００の構成を示すブロック図である。図１に示すように、情報処理装置１００は、画像取得部１０１、他端末検出部１０２、参照点設定部１０３、仮想オブジェクト管理部１０４、グループ管理部１０５、自端末管理部１０６、通信部１０７、位置姿勢計測部１０８、自己位置推定部１０９、座標系生成部１１０、出力画像作成部１１１、および画像出力部１１２を備える。
【００１７】
画像取得部１０１は、現実空間の画像を取得する。現実空間の画像とは、カメラ等の撮像装置によって撮像される風景などの画像である。
【００１８】
他端末検出部１０２は、拡張現実空間を共有する他の情報処理装置の、自装置に対する相対位置を取得する。そして、他端末検出部１０２は、取得した相対位置を示す相対位置情報を生成する。上記相対位置を取得するための方法は、以下のものがある。相対位置の取得方法は、例えば、画像取得部１０１で取得した画像から他の情報処理装置の画像を検出して、現実空間上での位置を特定する。また、相対位置の取得方法は、現実空間上での奥行き情報を計測できるデプスカメラを撮像装置として用いる。
【００１９】
参照点設定部１０３は、仮想オブジェクト管理部１０４から、各グループが管理している仮想オブジェクトの数を取得する。そして、参照点設定部１０３は、取得した仮想オブジェクトの数に基づいて、拡張現実空間を共有する複数のグループ間で共通に利用する参照点（以下、共通参照点という）を設定する。また、参照点設定部１０３は、後述する通信部１０７を介して他の情報処理装置から取得した参照点設定情報に基づいて、共通参照点を設定する。また、参照点設定部１０３は、他端末検出部１０２が生成する相対位置情報と、後述する自己位置推定部１０９が生成する装置位置情報とを含む、参照点設定情報を生成する。
【００２０】
仮想オブジェクト管理部１０４は、自装置が生成した仮想オブジェクト管理情報、および、通信部１０７を介して取得した他の情報処理装置の仮想オブジェクト管理情報を管理する。
【００２１】
＜仮想オブジェクト管理情報の説明＞
ここで、仮想オブジェクト管理情報について説明する。図２Ａは、仮想オブジェクト管理情報の一例を示す図である。図２Ａに示すように、仮想オブジェクト管理情報は、テーブル形式で管理されており、レコードとして、仮想オブジェクトＩＤ４００、形状データ４０１、管理装置ＩＤ４０２、管理グループＩＤ４０３、位置情報４０４を有する。
【００２２】
仮想オブジェクトＩＤ４００は、仮想オブジェクトごとに割り当てられた固有のＩＤである。形状データ４０１は、仮想オブジェクトの形状を表すデータである。管理装置ＩＤ４０２は、仮想オブジェクトを作成した情報処理装置のＩＤである。管理グループＩＤ４０３は、情報処理装置が所属しているグループのＩＤである。位置情報４０４は、拡張現実空間の空間座標系における仮想オブジェクトの位置を示す情報である。空間座標系は、座標系生成部１１０により生成され、Ｘ軸、Ｙ軸、Ｚ軸により定義される。
【００２３】
仮想オブジェクト管理部１０４は、仮想オブジェクトの生成、削除、移動などを実行し、自装置が保有する仮想オブジェクト管理情報を更新する。また、仮想オブジェクト管理部１０４は、自装置が所属しているグループおよび拡張現実空間を共有している他のグループに所属している他の情報処理装置に対して、仮想オブジェクト管理情報を共有する。仮想オブジェクト管理部１０４は、後述するグループ管理情報に基づいて、グループに所属する他の情報処理装置に対して、仮想オブジェクト管理情報の更新内容を通知し、各情報処理装置間で、仮想オブジェクト管理情報を共有させる。
【００２４】
なお、図２Ａに示す仮想オブジェクト管理情報は、互いに異なる拡張現実空間を予め共有しているグループ２００とグループ３００の間で、さらに拡張現実空間を共有した後の状態を示している。共有の前においては、グループ２００に属する情報処理装置は仮想オブジェクト管理情報ａだけを保有しており、グループ３００に属する情報処理装置は仮想オブジェクト管理情報ｂだけを保有している。
【００２５】
グループ管理部１０５は、自装置が所属するグループのグループ管理情報、および、拡張現実空間を共有している他のグループのグループ管理情報を管理する。なお、グループ管理部１０５は、他のグループのグループ管理情報を、通信部１０７を介して取得する。
【００２６】
＜グループ管理情報の説明＞
ここで、グループ管理情報について説明する。図２Ｂは、グループ管理情報の一例を示す図である。図２Ｂに示すように、グループ管理情報は、テーブル形式で管理されており、レコードとして、グループＩＤ４０５、情報処理装置数４０６を有する。
【００２７】
グループＩＤ４０５は、グループごとに割り当てられた固有のＩＤである。情報処理装置数４０６は、グループに所属している情報処理装置の数である。図２Ｂの例では、グループ２００に所属している情報処理装置数が３つであり、グループ３００に所属している情報処理装置数が２つであることを示している。
【００２８】
グループ管理部１０５は、自装置が、新たにグループに参加した、または、グループから抜けた場合、自装置が属するグループの情報処理装置数４０６を更新する。また、グループ管理部１０５は、自装置が所属するグループおよび拡張現実空間を共有しているグループに所属する他の情報処理装置に対して、グループ管理情報の更新内容を通知する。これにより、グループ管理部１０５は、自装置の所属するグループおよび拡張現実空間を共有しているグループに所属する情報処理装置間で、グループ管理情報を同期させる。
【００２９】
なお、図２Ｂに示すグループ管理情報は、互いに異なる拡張現実空間を予め共有しているグループ２００とグループ３００の間で、さらに拡張現実空間を共有した後の状態を示している。共有の前においては、グループ２００に属する情報処理装置はグループ管理情報ｃだけを保有しており、グループ３００に属する情報処理装置はグループ管理情報ｄだけを保有している。
【００３０】
自端末管理部１０６は、自装置管理情報を管理する。図２Ｃは、自装置管理情報の一例を示す図である。図２Ｃに示すように、自装置管理情報は、テーブル形式で管理されており、レコードとして、情報処理装置ＩＤ４０７、所属グループＩＤ４０８を有する。
【００３１】
情報処理装置ＩＤ４０７は、情報処理装置ごとに割り当てられた固有のＩＤである。所属グループＩＤ４０８は、情報処理装置が所属するグループのＩＤである。図２Ｃの例では、情報処理装置２１１がグループ２００に所属していることを示している。
【００３２】
通信部１０７は、参照点設定情報、仮想オブジェクト管理情報、およびグループ管理情報を、他の情報処理装置との間で送受信する。
【００３３】
位置姿勢計測部１０８は、自装置の位置姿勢の変化量を計測する。位置姿勢の変化量の計測には、加速度センサ、磁気センサ、ジャイロセンサ等が用いられる。そして、位置姿勢計測部１０８は、計測した位置姿勢の変化量を示す位置姿勢変化量情報を生成する。
【００３４】
自己位置推定部１０９は、位置姿勢計測部１０８で生成された位置姿勢変化量情報と、座標系生成部１１０で生成された空間座標系情報とに基づいて、参照点に対する現在の自装置の位置を推定する。そして、自己位置推定部１０９は、現在の自装置の、参照点に対する位置を示す装置位置情報を生成する。
【００３５】
座標系生成部１１０は、参照点設定部１０３が生成した参照点設定情報に基づいて、設定された参照点を原点とする拡張現実空間の空間座標系を生成する。そして、座標系生成部１１０は、生成した拡張現実空間の空間座標系を示す空間座標系情報を生成する。
【００３６】
出力画像作成部１１１は、自己位置推定部１０９で生成された自装置位置情報と、座標系生成部１１０で生成された空間座標系情報と、仮想オブジェクト管理部１０４から取得した仮想オブジェクト管理情報とに基づいて、重畳表示させるＣＧ、すなわち仮想オブジェクトを生成する。そして、出力画像作成部１１１は、生成した仮想オブジェクトを、画像取得部１０１から取得した現実空間の画像に重畳させた画像を作成する。
【００３７】
画像出力部１１２は、出力画像作成部１１１が作成した画像を、情報処理装置１００が備えるディスプレイなどに出力する。
【００３８】
このような情報処理装置１００では、異なる拡張現実空間を共有しているグループの仮想オブジェクト管理情報およびグループ管理情報を取得できる。その結果、情報処理装置１００は、異なるグループの拡張現実空間および仮想オブジェクトを共有することができる。
【００３９】
以上、本実施の形態の情報処理装置１００の構成について説明した。
【００４０】
次に、互いに異なる拡張現実空間を予め共有している複数のグループ間で、さらに拡張現実空間を共有するときの動作例について、図３〜図８のそれぞれを参照して説明する。
【００４１】
＜複数のグループの構成＞
まず、複数のグループの構成について、図３を用いて説明する。
【００４２】
図３は、互いに異なる拡張現実空間を予め共有しているグループ２００とグループ３００のイメージを示す図である。
【００４３】
グループ２００は、参照点２０１を空間座標の原点とした拡張現実空間を共有しているユーザで構成される。グループ２００を構成する各ユーザはそれぞれ、情報処理装置２１１、２１２、２１３を所有している。これらの情報処理装置は、上述した情報処理装置１００である。そして、各自の情報処理装置の各ユーザは、拡張現実空間において、仮想オブジェクト２２１、２２２、２２３を共有している。
【００４４】
グループ３００は、参照点３０１を空間座標の原点とした拡張現実空間を共有している情報処理装置３１１、３１２で構成されている。各ユーザは、それぞれ、グループ３００を構成する情報処理装置３１１、３１２を所有している。これらの情報処理装置は、上述した情報処理装置１００である。そして、各ユーザは、各自の情報処理装置を用いて、仮想オブジェクト３２１、３２２を共有している。
【００４５】
なお、図３の例において、説明の便宜のため、グループ２００は、情報処理装置が３つで、仮想オブジェクトが３つとして説明する。また、グループ３００は、情報処理装置が２つで、仮想オブジェクトが２つとして説明する。なお、情報処理装置数および仮想オブジェクト数のそれぞれの数は、それに限定されない。
【００４６】
以上で、複数のグループの構成についての説明を終える。
【００４７】
＜情報処理装置の動作説明＞
次に、上記図３の構成において、グループ２００とグループ３００とが、さらに拡張現実空間を共有する場合の全体の動作例について、図４を用いて説明する。
【００４８】
図４は、グループ２００とグループ３００にそれぞれに所属する各情報処理装置の動作例を示すシーケンス図である。ここでは、例として、情報処理装置２１１のユーザと、情報処理装置３１１のユーザとが示し合わせて、さらなる拡張現実空間の共有を試みる。
【００４９】
ステップＳ４０１において、グループ２００およびグループ３００のそれぞれ代表となる情報処理装置同士が、参照点設定処理を行う。参照点設定処理は、グループ２００とグループ３００の両方で共通に利用する参照点（以下、共通参照点という）を設定する処理である。ここでは、グループ２００の代表となる装置は情報処理装置２１１であり、グループ３００の代表となる装置は情報処理装置３１１である。以下、グループを代表する装置は、「代表装置」という。
【００５０】
ここでは、共通参照点は、参照点２０１または参照点３０１のいずれかから設定される。なお、ステップＳ４０１の参照点設定処理の詳細については、図５を用いて後述する。
【００５１】
なお、ここでは、グループ２００とグループ３００の代表となる情報処理装置をそれぞれ情報処理装置２１１、情報処理装置３１１としたが、これに限定されず、各グループ内のどの情報処理装置が代表装置となってもよい。
【００５２】
ステップＳ４０２において、情報処理装置２１１と情報処理装置３１１は、空間情報共有化処理を行う。空間情報共有化処理とは、情報処理装置同士が、お互いの空間情報を交換して共有する処理である。空間情報の共有により、各情報処理装置は、拡張現実空間を共有することができるようになる。空間情報とは、後述する仮想オブジェクト管理情報およびグループ管理情報である。なお、各グループの代表装置同士が行う空間情報共有化処理は、以下「空間情報共有化処理１」という。この空間情報共有化処理１の詳細については、図６を用いて後述する。
【００５３】
上述したステップＳ４０２の空間情報共有化処理１の後は、グループごとに空間情報共有化処理が行われる。すなわち、グループ２００とグループ３００のそれぞれにおいて、各情報処理装置同士が、空間情報共有化処理を行う。このグループごとの空間情報共有化処理は、ステップＳ４０１において、参照点２０１または参照点３０１のどちらを共通参照点に設定したかによって、グループごとに内容が異なる。ここでは、ステップ４０１において、グループ２００の参照点２０１が、共通参照点として設定されたとする。よって、グループ２００は参照点を変更する必要がなく、グループ３００は参照点を変更する必要がある。なお、参照点を変更しないグループが行う空間情報共有化処理は、以下「空間情報共有化処理２」という。一方、参照点を変更するグループが行う空間情報共有化処理は、以下「空間情報共有化処理３」という。
【００５４】
ステップＳ４０３ａにおいて、参照点を変更しないグループ２００では、情報処理装置２１１と、それ以外の情報処理装置２１２、２１３とが、空間情報共有処理２を行う。この空間情報共有化処理２の詳細については、図７を用いて後述する。
【００５５】
ステップＳ４０３ｂにおいて、参照点を変更するグループ３００では、情報処理装置３１１と、それ以外の情報処理装置３１２とが、空間情報共有処理３を行う。この空間情報共有化処理３の詳細については、図８を用いて後述する。
【００５６】
このような図４に示す動作は、複数のグループ間で拡張現実空間を共有するにあたり、グループ毎に設定されている参照点を共通化して１つにすることができる。よって、ユーザは、特許文献１に記載の共有手続きを、共有したいグループの数だけ行う必要が無い。したがって、本実施の形態の共有手続きは、ユーザが行う操作が増えることなく、ユーザが使用する情報処理装置の処理も時間がかからない。その結果、本実施の形態では、異なるグループに属するユーザ全員の間で、各グループの仮想オブジェクトの共有を速やかに開始することができる。
【００５７】
以上で、グループ２００とグループ３００とがさらに拡張現実空間を共有する場合の全体の動作例についての説明を終える。
【００５８】
＜参照点設定処理の説明＞
次に、各グループの代表装置間で行われる参照点設定処理の詳細について、図５を用いて説明する。
【００５９】
図５は、情報処理装置２１１と情報処理装置３１１との間で行われる共通参照点設定処理を示すシーケンス図である。
【００６０】
ステップＳ５０１において、情報処理装置２１１は、情報処理装置３１１の情報処理装置２１１に対する相対位置を取得し、その相対位置を示す相対位置情報を生成する。相対位置の取得方法は、例えば、情報処理装置２１１のユーザが、情報処理装置２１１が備える撮像装置を用いて情報処理装置３１１を撮影し、撮影した画像から相対位置を取得する。
【００６１】
ステップＳ５０２ｂにおいて、情報処理装置３１１は、グループ３００で管理している仮想オブジェクトの数（以下、管理オブジェクト数という）を、情報処理装置２１１へ通知する。なお、情報処理装置３１１は、グループ３００の管理オブジェクト数を、自装置が保有している仮想オブジェクト管理情報から把握する。
【００６２】
ステップＳ５０２ａにおいて、情報処理装置２１１は、情報処理装置３１１から、管理オブジェクト数を取得する。
【００６３】
ステップＳ５０３において、情報処理装置２１１は、ステップＳ５０２ａで取得したグループ３００の管理オブジェクト数と、グループ２００の管理オブジェクト数とを比較する。なお、情報処理装置２１１は、グループ２００の管理オブジェクト数を、自装置が保有している仮想オブジェクト管理情報から把握する。
【００６４】
ステップＳ５０４において、情報処理装置２１１は、ステップＳ５０３の比較の結果、管理オブジェクト数が多い方のグループに設定されている参照点を、共通参照点として設定する。図３の例では、グループ２００の管理オブジェクト数が３つであり、グループ３００の管理オブジェクト数が２つである。よって、情報処理装置２１１は、管理オブジェクト数が多いグループ２００に設定されている参照点２０１を、共通参照点として設定する。
【００６５】
ステップＳ５０５ａにおいて、情報処理装置２１１は、共通参照点に設定した参照点２０１についての参照点設定情報を生成し、情報処理装置３１１へ通知する。この参照点設定情報は、ステップＳ５０１で生成した相対位置情報と、情報処理装置２１１の参照点２０１に対する装置位置情報（以下、装置位置情報Ａという）と、を含む。なお、ここで用いる装置位置情報Ａは、情報処理装置２１１の自己位置推定部１０９で予め生成されたものである。このステップＳ５０５ａの後、情報処理装置２１１は、図６に示すフローへ進む。
【００６６】
ステップＳ５０５ｂにおいて、情報処理装置３１１は、情報処理装置２１１から、参照点設定情報を取得する。このステップＳ５０５ｂの後、情報処理装置３１１は、図６に示すフローへ進む。
【００６７】
図４で説明したように参照点を共通化して１つにする場合、グループによっては、参照点を再設定する必要が出てくる。そして、参照点の再設定が必要なグループに属する情報処理装置は、そのグループで管理されている全ての仮想オブジェクトの位置情報を、再設定した参照点に対する位置情報に変更しなくてはならない。したがって、情報処理装置は、仮想オブジェクトの位置情報の更新にかかる処理量が多くなる。
【００６８】
そこで、図５に示す動作は、グループ毎に設定されている参照点を共通化して１つにする際に、各グループの管理オブジェクト数を比較し、その数が多い方のグループが利用している参照点を、共通参照点として設定する。これにより、管理オブジェクト数が多いグループでは、参照点の設定のし直しが必要なく、管理オブジェクト数が少ないグループだけが、新たに設定し直した参照点に基づいて、仮想オブジェクトの位置情報を変更する。この結果、仮想オブジェクトの位置情報の更新にかかる処理量は、抑制することができる。なお、ここでいう仮想オブジェクトの位置情報は、例えば、図２Ａに示す位置情報４０４である。
【００６９】
なお、上記図５の説明では、情報処理装置２１１から処理を開始しているが、情報処理装置３１１から処理を開始してもよい。その場合は、上述した情報処理装置２１１の処理と情報処理装置３１１の処理を入れ替えればよい。
【００７０】
また、上記図５の説明では、情報処理装置２１１が、参照点２０１を共通参照点に設定した場合としたが、参照点３０１を共通参照点に設定する場合もある。この場合について以下に説明する。まず、情報処理装置２１１の参照点設定部１０３は、参照点３０１を共通参照点として設定した旨の通知を含む設定通知情報を生成し、通信部１０７を介して情報処理装置３１１へ送信する。情報処理装置３１１の参照点設定部１０３は、通信部１０７を介して設定通知情報を受信すると、参照点３０１についての参照点設定情報を生成する。そして、情報処理装置３１１の参照点設定部１０３は、生成した参照点３０１についての参照点設定情報を、通信部１０７を介して情報処理装置２１１へ送信する。この参照点３０１についての参照点設定情報は、情報処理装置３１１の参照点３０１に対する位置を示す装置位置情報を含む。その後、情報処理装置２１１は、後述する図６のステップＳ６０２〜Ｓ６０５と同じ処理を行うことになる。その際、情報処理装置２１１は、参照点３０１についての参照点設定情報に含まれる、情報処理装置３１１の参照点３０１に対する装置位置情報を用いる。これにより、情報処理装置２１１の仮想オブジェクト管理部１０４は、参照点３０１を基準として、予め保有している仮想オブジェクト管理情報を更新することができる。その後、情報処理装置２１１は、後述する図８のステップＳ８０１ａと同じ処理を行うことになる。
【００７１】
以上で、各グループの代表装置間で行われる参照点設定処理の詳細についての説明を終える。
【００７２】
＜空間情報共有化処理１の説明＞
次に、各グループの代表装置間で行われる空間情報共有化処理１の詳細について、図６を用いて説明する。
【００７３】
図６は、情報処理装置２１１と情報処理装置３１１との間で行われる空間情報共有化処理を示すシーケンス図である。
【００７４】
ステップＳ６０１ａにおいて、情報処理装置２１１は、自装置が保有しているグループ管理情報を、情報処理装置３１１へ送信する。ここで送信される情報は、図２Ｂに示すグループ管理情報ｃである。
【００７５】
ステップＳ６０１ｂにおいて、情報処理装置３１１は、自装置が保有しているグループ管理情報を、情報処理装置２１１へ送信する。ここで送信される情報は、図２Ｂに示すグループ管理情報ｄである。
【００７６】
このように情報処理装置２１１と情報処理装置３１１は、それぞれが所属するグループのグループ管理情報を交換する。そして、情報処理装置２１１と情報処理装置３１１は、それぞれ、交換前までにグループ管理部１０５で管理していたグループ管理情報に対し、交換したグループ管理情報を追加する。この結果、情報処理装置２１１と情報処理装置３１１は、図２Ｂに示すグループ管理情報を、ともに共有することになる。
【００７７】
ステップＳ６０２において、情報処理装置３１１は、図５のステップＳ５０５ｂで取得した参照点設定情報に基づいて、情報処理装置３１１の位置を、参照点２０１を原点とする座標に更新する。ここで用いる参照点設定情報は、上述したとおり、相対位置情報および装置位置情報Ａを含む。
【００７８】
ステップＳ６０３において、情報処理装置３１１は、相対位置情報と、参照点３０１に対する装置位置情報（以下、装置位置情報Ｂという）とに基づいて、参照点３０１の位置を、参照点２０１を原点とする座標に更新する。ここで、情報処理装置３１１は、参照点３０１の参照点２０１に対する位置を示す参照点位置情報を生成する。この生成は、参照点設定部１０３により行われる。なお、ここで用いる装置位置情報Ｂは、情報処理装置３１１の自己位置推定部１０９で予め生成されたものである。
【００７９】
ステップＳ６０４において、情報処理装置３１１は、生成した参照点位置情報に基づいて、グループ３００で用いている拡張現実空間の空間座標系を更新する。すなわち、情報処理装置３１１は、参照点３０１を原点とする空間座標系から参照点２０１を原点とする空間座標系に変換する。ここでいう空間座標系の変換とは、Ｘ軸、Ｙ軸、Ｚ軸で定義される空間の向きを、参照点３０１から参照点２０１に変更することである。
【００８０】
ステップＳ６０５において、情報処理装置３１１は、生成した参照点位置情報に基づいて、グループ３００で管理しているすべての仮想オブジェクトの位置情報（図２Ａに示す位置情報４０４）を、参照点２０１を原点とする座標に更新する。
【００８１】
ステップＳ６０６ａにおいて、情報処理装置２１１は、自装置が保有している仮想オブジェクト管理情報を、情報処理装置３１１へ送信する。ここで送信される情報は、図２Ａに示す仮想オブジェクト管理情報ａである。
【００８２】
ステップＳ６０６ｂにおいて、情報処理装置３１１は、自装置が保有しているグループ管理情報を、情報処理装置２１１へ送信する。ここで送信される情報は、図２Ａに示す仮想オブジェクト管理情報ｂである。
【００８３】
このように情報処理装置２１１と情報処理装置３１１は、それぞれが所属するグループで管理している仮想オブジェクトについての仮想オブジェクト管理情報を交換する。そして、情報処理装置２１１と情報処理装置３１１は、交換前に仮想オブジェクト管理部１０４で管理していた仮想オブジェクト管理情報のそれぞれに対し、交換した仮想オブジェクト管理情報を追加する。この結果、情報処理装置２１１と情報処理装置３１１は、図２Ａに示す仮想オブジェクト管理情報をともに共有することになる。
【００８４】
このような仮想オブジェクト管理情報の交換を終えると、情報処理装置２１１は図７に示すフローへ進み、情報処理装置３１１は図８に示すフローへ進む。
【００８５】
なお、図５のステップＳ５０４において、参照点３０１が共通参照点として設定された場合は、図６において情報処理装置２１１の処理と情報処理装置３１１の処理とを入れ替えればよい。
【００８６】
以上で、各グループの代表装置間で行われる空間情報共有化処理１の詳細についての説明を終える。
【００８７】
＜空間情報共有化処理２の説明＞
次に、参照点を変更しないグループ２００で行われる空間情報共有化処理２の詳細について、図７を用いて説明する。
【００８８】
図７は、情報処理装置２１１と情報処理装置２１２、２１３との間で行われる空間情報共有化処理を示すシーケンス図である。ここでは、例として、情報処理装置２１１と情報処理装置２１２の間の処理について説明するが、情報処理装置２１１と２１３の間の処理内容も同一である。
【００８９】
ステップＳ７０１ｂにおいて、情報処理装置２１１は、情報処理装置３１１との情報交換により更新を完了したグループ管理情報および仮想オブジェクトの管理情報を、情報処理装置２１２へ通知する。ここで通知される情報は、図２Ａに示す仮想オブジェクト管理情報および図２Ｂに示すグループ管理情報である。
【００９０】
ステップＳ７０１ａにおいて、情報処理装置２１２は、情報処理装置２１１から、グループ管理情報および仮想オブジェクトの管理情報を取得する。
【００９１】
ステップＳ７０２において、情報処理装置２１２は、グループ管理部１０５で管理しているグループ管理情報を、ステップＳ７０１ａで取得したグループ管理情報に更新する。これにより、情報処理装置２１２は、情報処理装置２１１が保有しているグループ管理情報と同じグループ管理情報を共有することになる。
【００９２】
ステップＳ７０３において、情報処理装置２１２は、仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報を、ステップＳ７０１ａで取得した仮想オブジェクト管理情報に更新する（ステップＳ７０３）。これにより、情報処理装置２１２は、情報処理装置２１１が保有している仮想オブジェクト管理情報と同じ仮想オブジェクト管理情報を共有することになる。
【００９３】
図７のフローが終了すると、グループ２００に属する各情報処理装置は、図５から続く一連の処理を終了する。すなわち、グループ２００に属する情報処理装置２１１、２１２、２１３は、グループ３００の各情報処理装置が管理している空間情報の共有を開始する。これにより、情報処理装置２１１、２１２、２１３は、グループ３００で予め共有されている拡張現実空間および仮想オブジェクトの共有を開始する。その結果、情報処理装置２１１、２１２、２１３の各ユーザは、グループ２００とグループ３００で予め共有していた拡張現実空間および仮想オブジェクトの両方を、各自の情報処理装置にて視認することができる。
【００９４】
以上で、参照点を変更しないグループ２００で行われる空間情報共有化処理２の詳細についての説明を終える。
【００９５】
＜空間情報共有化処理３の説明＞
次に、参照点を変更するグループ３００で行われる空間情報共有化処理３の詳細について、図８を用いて説明する。
【００９６】
図８は、情報処理装置３１１と情報処理装置３１２との間で行われる空間情報共有化処理を示すシーケンス図である。
【００９７】
ステップＳ８０１ａにおいて、情報処理装置３１１は、情報処理装置２１１との情報交換により更新を完了したグループ管理情報および仮想オブジェクトの管理情報を、情報処理装置３１２へ通知する。さらに、情報処理装置３１１は、情報処理装置２１１から取得した参照点設定情報を、情報処理装置３１２へ通知する。ここで通知される情報は、図２Ａに示す仮想オブジェクト管理情報および図２Ｂに示すグループ管理情報である。また、ここで通知される参照点設定情報には、相対位置情報および装置位置情報Ａに加え、図６のステップＳ６０３で設定した、参照点３０１の参照点２０１に対する参照点位置情報も含まれる。
【００９８】
ステップＳ８０１ｂにおいて、情報処理装置３１２は、情報処理装置３１１から、グループ管理情報、仮想オブジェクトの管理情報および参照点設定情報を取得する。
【００９９】
ステップＳ８０２において、情報処理装置３１２は、グループ管理部１０５で管理しているグループ管理情報を、ステップＳ８０１ａで取得したグループ管理情報に更新する。これにより、情報処理装置３１２は、情報処理装置３１１が保有しているグループ管理情報と同じグループ管理情報を共有することになる。
【０１００】
ステップＳ８０３において、情報処理装置３１２は、ステップＳ８０１ａで取得した参照点設定情報に含まれる参照点位置情報と、情報処理装置３１２の参照点３０１に対する装置位置情報（以下、装置位置情報Ｃという）とを取得する。そして、情報処理装置３１２は、取得した参照点位置情報と装置位置情報Ｃとに基づいて、情報処理装置３１２の位置を、参照点２０１を原点とする座標に更新する。なお、ここで用いる装置位置情報Ｃは、情報処理装置３１２の自己位置推定部１０９で生成される。
【０１０１】
ステップＳ８０４において、情報処理装置３１２は、ステップＳ８０１ａで取得した参照点設定情報に含まれる参照点位置情報に基づいて、拡張現実空間の空間座標系を更新する。すなわち、情報処理装置３１２は、グループ３００で用いている拡張現実空間の空間座標系を、参照点３０１を原点とする空間座標系から参照点２０１を原点とする空間座標系に変換する。この変換は、上述した図６のステップＳ６０４と同じ処理である。
【０１０２】
ステップＳ８０５において、情報処理装置３１２は、仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報を、ステップＳ８０１ａで取得した仮想オブジェクト管理情報に更新する。これにより、情報処理装置３１２は、情報処理装置３１１が保有している仮想オブジェクト管理情報と同じ仮想オブジェクト管理情報を共有することになる。
【０１０３】
図８のフローが終了すると、グループ３００に属する各情報処理装置は、図５から続く一連の処理を終了する。すなわち、グループ３００に属する情報処理装置３１１、３１２は、グループ２００の各情報処理装置が管理している空間情報の共有を開始する。これにより、情報処理装置３１１、３１２は、グループ２００で予め共有されている拡張現実空間および仮想オブジェクトの共有を開始する。その結果、情報処理装置３１１、３１２の各ユーザは、グループ３００とグループ２００で予め共有していた拡張現実空間および仮想オブジェクトの両方を、各自の情報処理装置にて視認することができる。
【０１０４】
以上で、参照点を変更するグループ３００で行われる空間情報共有化処理３の詳細についての説明を終える。
【０１０５】
図７および図８のフローの後、グループ２００またはグループ３００に所属する情報処理装置は、新たに仮想オブジェクトの作成、削除、移動などを行った場合、まず、自装置が保有している仮想オブジェクト管理情報を更新する。次に、情報処理装置は、グループ管理情報を参照し、共有関係として記録されているグループＩＤを特定する。そして、情報処理装置は、特定したグループＩＤが示すグループに所属する情報処理装置に対し、仮想オブジェクト管理情報の更新内容を通知する。一方で、この通知を受けた情報処理装置は、通知された更新内容に基づいて、自装置の仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報を更新する。
【０１０６】
このように本実施の形態の情報処理装置は、複数のグループ間で拡張現実空間を共有する際に、グループ毎に設定されている参照点を共通化して１つにすることができる。よって、ユーザは、特許文献１に記載の共有手続きを、共有したいグループの数だけ行う必要が無い。したがって、本実施の形態では、共有手続きに関し、ユーザが行う操作が増えることなく、ユーザが使用する情報処理装置の処理も時間がかからない。その結果、本実施の形態では、異なるグループに属するユーザ全員の間で、各グループの仮想オブジェクトの共有を速やかに開始することができる。
【０１０７】
また、本実施の形態の情報処理装置は、拡張現実空間の共有を行う２つのグループが管理している仮想オブジェクトの数、すなわち管理オブジェクト数を比較する。そして、情報処理装置は、比較の結果、管理オブジェクト数が多いグループで用いている参照点を、２つのグループで共通に利用する共通参照点として設定する。よって、本実施の形態の情報処理装置では、管理オブジェクト数の少ないグループが参照点を変更することとなる。これにより、本実施の形態の情報処理装置では、管理オブジェクト数の少ないグループに属する情報処理装置だけが、変更した参照点に基づいて、仮想オブジェクトの位置情報を変更する処理を行う。一方で、管理オブジェクト数の多いグループは、参照点を変更する必要が無い。よって、管理オブジェクト数の多いグループに属する情報処理装置は、仮想オブジェクトの位置情報を変更する処理を行わない。したがって、本実施の形態では、参照点の変更に伴う仮想オブジェクトの位置情報の更新にかかる処理量を抑えることができる。
【０１０８】
（実施の形態２）
実施の形態１では、予め他のグループと拡張現実空間を共有していない単一のグループ同士が拡張現実空間を共有する場合の動作について説明した。本実施の形態では、予め他のグループと拡張現実空間を共有しているグループ同士が拡張現実空間を共有する場合の動作について説明する。
【０１０９】
＜複数グループの構成の説明＞
まず、複数のグループの構成について、図９を用いて説明する。
【０１１０】
図９は、互いに異なる拡張現実空間を予め共有している、グループ２００、グループ３００、グループ９００、およびグループ１０００のイメージを示す図である。図９において、図２と共通するものについては、図２と同一の符号を付して説明を省略する。
【０１１１】
図９に示すように、本実施の形態では、実施の形態１で説明したグループ２００およびグループ３００の他に、グループ９００とグループ１０００が存在する。ここでのグループ２００とグループ３００は、実施の形態１で説明した動作の結果として、参照点２０１を共通参照点とする拡張現実空間を共有している。また、本実施の形態では、グループ９００とグループ１０００も、実施の形態１で説明した動作の結果として、参照点９０１を共通参照点とする拡張現実空間を共有している。
【０１１２】
グループ９００は、参照点９０１を空間座標の原点とする拡張現実空間を共有しているユーザで構成される。グループ９００を構成する各ユーザはそれぞれ、情報処理装置９１１、９１２を所有している。これらの情報処理装置は、実施の形態１で説明した情報処理装置１００である。そして、各ユーザは、各自の情報処理装置を用いて、拡張現実空間において、仮想オブジェクト９２１、９２２を管理している。
【０１１３】
グループ１０００は、グループ９００と拡張現実空間を共有する前に、参照点１００１を空間座標の原点とする拡張現実空間を共有していたユーザで構成されている。グループ１０００を構成する各ユーザは、情報処理装置１０１１、１０１２をそれぞれ所有している。これらの情報処理装置は、実施の形態１で説明した情報処理装置１００である。そして、各ユーザは、各自の情報処理装置を用いて、拡張現実空間において、仮想オブジェクト１０２１を管理している。
【０１１４】
なお、説明の便宜のため、グループ９００では、情報処理装置が２つで仮想オブジェクトが２つで説明する。また、グループ１０００では、情報処理装置が２つで仮想オブジェクトが１つで説明する。しかし、情報処理装置および仮想オブジェクトそれぞれの数は、限定されない。また、図９において、各グループは、それぞれ１つずつ他のグループと拡張現実空間を共有している。しかし、各グループが拡張現実空間を共有しているグループの数は、限定されない。
【０１１５】
以上で、複数のグループの構成についての説明を終える。
【０１１６】
次に、上記図９の構成において、グループ２００、グループ３００、グループ９００、グループ１０００が拡張現実空間を共有する場合の動作例について説明する。この動作例は、実施の形態１で説明した２つのグループ間での動作とほぼ同様である。よって、以下では、図４〜図８を参照しながら、実施の形態１と異なる点について説明する。
【０１１７】
＜全体動作の説明＞
まず、図４を参照して、本実施の形態の全体の動作例について説明する。
【０１１８】
ステップＳ４０１およびＳ４０２は、グループ２００およびグループ３００の両方を代表する情報処理装置と、グループ９００およびグループ１０００の両方を代表する情報処理装置との間で実施される。ここでは、グループ２００およびグループ３００の代表装置は、情報処理装置２１１とする。また、グループ９００およびグループ１０００の代表装置は、情報処理装置１０１１とする。よって、情報処理装置２１１と情報処理装置１０１１同士が、ステップＳ４０１およびＳ４０２を行う。なお、以下では、説明の便宜上、予め共有関係にあるグループ２００およびグループ３００を合わせて「共有関係グループＸ」という。また、予め共有関係にあるグループ９００およびグループ１０００とは、合わせて「共有関係グループＹ」という。
【０１１９】
ステップＳ４０３ａおよびステップＳ４０３ｂは、共有関係グループ毎に、代表装置と、代表装置以外の全ての情報処理装置との間で実施される。すなわち、共有関係グループＸにおいては、代表装置である情報処理装置２１１と、それ以外の情報処理装置２１２、２１３、３１１、３１２との間で、ステップＳ４０３ａまたはステップＳ４０３ｂが行われる。また、共有関係グループＹにおいては、代表装置である情報処理装置１０１１と、それ以外の情報処理装置１０１２、９１１、９１２との間で、ステップＳ４０３ａまたはステップＳ４０３ｂが行われる。
【０１２０】
＜参照点設定処理の説明＞
次に、各グループの代表装置間で行われる参照点設定処理の詳細について、図５を用いて説明する。
【０１２１】
図５において、実施の形態１で説明した情報処理装置３１１の各ステップは、本実施の形態では情報処理装置１０１１の各ステップに相当する。
【０１２２】
ステップＳ５０２ａにおいて、情報処理装置２１１は、情報処理装置１０１１から、共有関係グループＹの管理オブジェクト数を取得する。
【０１２３】
ステップＳ５０３において、情報処理装置２１１は、ステップＳ５０２ａで取得した共有関係グループＹの管理オブジェクト数と、共有関係グループＸの管理オブジェクト数とを比較する。なお、情報処理装置２１１は、共有関係グループＸの管理オブジェクト数を、自装置の仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報から把握できる。
【０１２４】
ステップＳ５０４において、情報処理装置２１１は、管理オブジェクト数の比較結果に基づいて、グループ２００、グループ３００、グループ９００、グループ１０００で共通に利用する共通参照点を設定する。すなわち、情報処理装置２１１は、管理オブジェクト数が多い方のグループで利用されている参照点を、共通参照点に設定する。ここでは、図９に示すように、共有関係グループＸの管理オブジェクト数が５つである一方、共有関係グループＹの管理オブジェクト数が３つである。よって、情報処理装置２１１は、共有関係グループＸで共通に利用されている参照点２０１を、共通参照点に設定する。よって、共有関係グループＸは、参照点の変更を行わないが、共有関係グループＹは参照点の変更を行うことになる。
【０１２５】
このように、本実施の形態は、上記の実施の形態と同様に、共有関係グループの管理オブジェクト数を比較し、その結果に基づいて、全グループで利用する共通参照点が設定される。
【０１２６】
ステップＳ５０５ａにおいて、情報処理装置２１１は、共通参照点である参照点２０１についての参照点設定情報を生成し、情報処理装置１０１１へ通知する。ここで通知される参照点設定情報は、第１の実施の形態で説明した内容と同じである。
【０１２７】
ステップＳ５０５ａおよびステップＳ５０５ｂの後、情報処理装置２１１および情報処理装置１０１１は、図６に示すフローへ進む。
【０１２８】
＜空間情報共有化処理１の説明＞
次に、各グループの代表装置間で行われる空間情報共有化処理１の詳細について、図６を用いて説明する。
【０１２９】
図６において、実施の形態１で説明した情報処理装置３１１の各ステップは、本実施の形態では情報処理装置１０１１の各ステップに相当する。
【０１３０】
ステップＳ６０１ａにおいて、情報処理装置２１１は、自装置が保有しているグループ管理情報を、情報処理装置１０１１へ送信する。ここで送信される情報は、図２Ｂに示すように、共有関係グループＸについてのグループ管理情報である。
【０１３１】
ステップＳ６０１ｂにおいて、情報処理装置１０１１は、自装置が保有しているグループ管理情報を、情報処理装置２１１へ送信する。ここで送信される情報は、共有関係グループＹについてのグループ管理情報である。
【０１３２】
このように、各共有関係グループの代表装置は、自装置が保有しているグループ管理情報を交換する。そして、情報処理装置２１１と情報処理装置１０１１は、交換前にグループ管理部１０５で管理していたグループ管理情報のそれぞれに対し、交換したグループ管理情報を追加する。この結果、情報処理装置２１１と情報処理装置１０１１は、同一のグループ管理情報を共有することになる。
【０１３３】
ステップＳ６０６ａにおいて、情報処理装置２１１は、自装置が保有している仮想オブジェクト管理情報を、情報処理装置１０１１へ送信する。ここで送信される情報は、図２Ａに示すように、共有関係グループＸについての仮想オブジェクト管理情報である。
【０１３４】
ステップＳ６０６ｂにおいて、情報処理装置１０１１は、自装置が保有しているグループ管理情報を、情報処理装置２１１へ送信する。ここで送信される情報は、共有関係グループＹについての仮想オブジェクト管理情報である。
【０１３５】
このように、各共有関係グループの代表装置は、自装置が保有している仮想オブジェクト管理情報を交換する。そして、情報処理装置２１１と情報処理装置１０１１は、交換前に仮想オブジェクト管理部１０４で管理していた仮想オブジェクト管理情報のそれぞれに対し、交換した仮想オブジェクト管理情報を追加する。この結果、情報処理装置２１１と情報処理装置１０１１は、同一の仮想オブジェクト管理情報を共有することになる。
【０１３６】
ステップＳ６０６ａおよびステップＳ６０６ｂの後、情報処理装置２１１は、図７に示すフローへ進み、情報処理装置１０１１は図８に示すフローへ進む。
【０１３７】
参照点を変更しない共有関係グループＸでは、情報処理装置２１１が空間情報共有化処理２を行う。図７において、実施の形態１で説明した情報処理装置２１２、２１３の各ステップは、本実施の形態の情報処理装置２１２、２１３、３１１、３１２の各ステップに相当する。
【０１３８】
参照点を変更する共有関係グループＹでは、情報処理装置１０１１が空間情報共有化処理３を行う。図８において、実施の形態１で説明した情報処理装置３１１の各ステップは、本実施の形態の情報処理装置１０１１の各ステップに相当する。また、図８において、情報処理装置３１２の各ステップは、本実施の形態の情報処理装置９１１、９１２、１０１２の各ステップに相当する。
【０１３９】
以上で、グループ２００、グループ３００、グループ９００、グループ１０００の間での拡張現実空間の共有処理が完了する。
【０１４０】
このように本実施の形態では、予め他のグループと拡張現実空間を共有している共有関係グループ同士が、拡張現実空間の共有を行う場合でも、実施の形態１と同様に動作する。すなわち、情報処理装置は、複数のグループ間で拡張現実空間を共有するにあたり、グループ毎に設定されている参照点を共通化して１つにすることができる。よって、ユーザは、特許文献１に記載の共有手続きを、共有したいグループの数だけ行う必要が無い。したがって、本実施の形態では、共有手続きに関し、ユーザが行う操作が増えることなく、ユーザが使用する情報処理装置の処理も時間がかからない。その結果、本実施の形態では、異なるグループに属するユーザ全員の間で、各グループの仮想オブジェクトの共有を速やかに開始することができる。
【０１４１】
また、情報処理装置は、共有関係グループの管理オブジェクト数を比較し、その数が多い方の共有関係グループが利用している参照点を、全グループで利用する共通参照点として設定する。よって、本実施の形態では、管理オブジェクト数の少ない共有関係グループが参照点を変更することとなる。これにより、本実施の形態では、管理オブジェクト数の少ない共有関係グループに属する情報処理装置だけが、変更した参照点に基づいて、仮想オブジェクトの位置情報を変更する処理を行う。一方で、管理オブジェクト数の多い共有関係グループは、参照点を変更する必要が無い。よって、管理オブジェクト数が多い共有関係グループに属する情報処理装置は、仮想オブジェクトの位置情報を変更する処理を行わない。したがって、本実施の形態では、参照点の変更に伴う仮想オブジェクトの位置情報の更新にかかる処理量を抑えることができる。
【０１４２】
また、所定のグループに属する情報処理装置が、共有関係グループに対して拡張現実空間の共有を試みる場合、ユーザは、共有関係グループを構成しているグループの数だけ、相対位置を取得するための操作を実施しなければならない。この操作は、例えば、各グループの代表装置を撮像する操作である。本実施の形態では、ユーザは、拡張現実空間の共有を所望するグループに属する一つの情報処理装置に対してのみ、相対位置を取得するための操作を行えばよい。これにより、本実施の形態では、共有関係グループを構成する複数のグループとまとめて拡張現実空間を共有することができ、ユーザの操作を軽減することができる。
【０１４３】
（実施の形態３）
実施の形態１、２では、複数のグループが拡張現実空間を共有する処理について説明したが、このような拡張現実空間の共有後に、共有を終了するグループが発生することが想定される。本実施の形態は、拡張現実空間の共有を終了する場合の動作について説明する。
【０１４４】
本実施の形態では、図９および図１０を参照して、拡張現実空間の共有を終了するための処理（以下、共有終了処理という）について説明する。本実施の形態では、例えば、実施の形態２の結果、グループ２００、グループ３００、グループ９００、グループ１０００は、参照点２０１を共通の参照点として利用することを前提とする。そして、グループ２００は、グループ３００、グループ９００、グループ１０００との拡張現実空間の共有を終了するものとする。一方で、グループ３００、グループ９００、グループ１０００については、引き続き拡張現実空間を共有するものとする。
【０１４５】
図１０は、グループ２００が他のグループとの拡張現実空間の共有を終了するときの、グループ２００、グループ３００、グループ９００、グループ１０００に所属する各情報処理装置の処理を示すシーケンス図である。ここでは、情報処理装置２１１が、グループ２００を代表して共有終了処理を実施するものとする。
【０１４６】
ステップＳ１１０１において、情報処理装置２１１は、グループ２００、グループ３００、グループ９００、およびグループ１０００に属する全ての情報処理装置に対して、グループ２００が共有を終了する旨を通知する。
【０１４７】
ステップＳ１１０２ａにおいて、情報処理装置２１２および２１３は、情報処理装置２１１から共有終了通知を受信すると、仮想オブジェクト管理情報の更新を行う。すなわち、情報処理装置２１２および２１３は、仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報から、管理グループＩＤがグループ２００以外の仮想オブジェクト管理情報を削除する。
【０１４８】
ステップＳ１１０２ｂにおいて、情報処理装置２１１は、情報処理装置２１２および２１３へ共有終了通知を送信すると、仮想オブジェクト管理情報の更新を行う。すなわち、情報処理装置２１１は、仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報から、管理グループＩＤがグループ２００以外の仮想オブジェクト管理情報を削除する。
【０１４９】
ステップＳ１１０２ｃにおいて、グループ２００以外のグループに所属する各情報処理装置は、情報処理装置２１１から共有終了通知を受信すると、仮想オブジェクト管理情報の更新を行う。すなわち、各情報処理装置は、仮想オブジェクト管理部１０４で管理している仮想オブジェクト管理情報から、管理グループＩＤがグループ２００である仮想オブジェクト管理情報を削除する。
【０１５０】
ステップＳ１１０３ａにおいて、情報処理装置２１２、２１３は、グループ管理情報を更新する。すなわち、情報処理装置２１２、２１３は、グループ管理部１０５で管理しているグループ管理情報から、グループＩＤがグループ３００、９００、および１０００であるグループ管理情報を削除する。
【０１５１】
ステップＳ１１０３ｂにおいて、情報処理装置２１１も、グループ管理部１０５で管理しているグループ管理情報から、グループＩＤがグループ３００、９００、および１０００であるグループ管理情報を削除する。
【０１５２】
ステップＳ１１０３ｃにおいて、グループ２００以外のグループに所属する各情報処理装置は、グループ管理情報を更新する。すなわち、各情報処理装置は、グループ管理部１０５で管理しているグループ管理情報から、グループＩＤがグループ２００であるグループ管理情報を削除する。
【０１５３】
以上で、グループ２００の共有終了処理は完了する。これにより、グループ２００に属する各情報処理装置は、グループ３００、グループ９００、およびグループ１０００の空間情報の共有を終了する。よって、グループ２００に属する各情報処理装置は、グループ３００、グループ９００、およびグループ１０００で予め共有している拡張現実空間および仮想オブジェクトの共有を終了する。その結果、グループ２００に属する各情報処理装置の各ユーザは、グループ３００、グループ９００、およびグループ１０００で予め共有している拡張現実空間および仮想オブジェクトを、各自の情報処理装置で視認することができなくなる。同様に、グループ３００、グループ９００、およびグループ１０００に属する各情報処理装置は、グループ２００の空間情報の共有を終了する。よって、グループ３００、グループ９００、およびグループ１０００に属する各情報処理装置は、グループ２００で予め共有されている拡張現実空間および仮想オブジェクトの共有を終了する。その結果、グループ３００、グループ９００、およびグループ１０００に属する各情報処理装置の各ユーザは、グループ２００で予め共有している拡張現実空間および仮想オブジェクトを、各自の情報処理装置で視認することができなくなる。
【０１５４】
本実施の形態において、各情報処理装置は、共通参照点の位置情報を、グループ管理情報および仮想オブジェクト管理情報と独立して管理している。よって、上述したグループ２００の共有終了処理後、グループ２００に所属する情報処理装置は、共通参照点として参照点２０１を利用することができる。また、グループ３００、グループ９００、およびグループ１０００に所属する情報処理装置は、同様に、参照点２０１を、グループ３００、グループ９００、およびグループ１０００の共通参照点として継続して利用することができる。したがって、本実施の形態では、グループの共有終了処理に伴って、改めて共通参照点を設定するための処理、あるいは、それに伴う、各グループが管理する仮想オブジェクトの位置情報の更新処理が必要なくなる。その結果、本実施の形態では、グループの共有終了時における各情報処理装置の処理量を抑制することができる。
【０１５５】
なお、上記の説明において、グループ２００に所属する各情報処理装置がまとめて共有終了処理を行うものとして説明したが、グループ２００に所属する各情報処理装置は、個別に共有終了処理を実施してもよい。例えば、情報処理装置２１１が単独で共有を終了する場合、共有終了通知を受信した情報処理装置２１２、２１３は、ステップＳ１１０２ａにおいて、管理装置ＩＤが情報処理装置２１１である仮想オブジェクト管理情報を削除する。続いて、情報処理装置２１２、２１３は、ステップＳ１１０３ａにおいて、グループ２００の情報処理装置数を更新する。また、共有終了通知を受信した、グループ２００以外のグループに所属する各情報処理装置は、ステップＳ１１０２ｃにおいて、管理装置ＩＤが情報処理装置２１１である仮想オブジェクト管理情報を削除する。続いて、グループ２００以外のグループに所属する各情報処理装置は、ステップＳ１１０３ｃにおいて、グループ２００の情報処理装置数を更新する。この更新の結果、グループ２００の情報処理装置数がゼロになった場合、各情報処理装置は、グループ管理情報から、グループ２００のグループＩＤを削除する。
【０１５６】
（実施の形態４）
実施の形態１、２、３では、全ての処理を各情報処理装置上で実施することとして説明したが、各実施の形態における情報処理装置の処理の一部を、ネットワークで接続されたサーバで実行するようにしてもよい。本実施の形態では、情報処理装置とネットワークで接続されたサーバを用いて、実施の形態１と同様の共有手続きを実現する場合の動作について説明する。
【０１５７】
＜情報処理装置の構成＞
まず、本実施の形態の情報処理装置１００Ａおよび本実施の形態のサーバ１３００の構成について説明する。情報処理装置１００Ａとサーバ１３００は、例えばインターネットまたはＬＡＮ（Local Area Network）などのネットワークを介して接続される。
【０１５８】
図１１は、情報処理装置１００Ａおよびサーバ１３００の構成を示すブロック図である。なお、図１１において、図１と共通する構成部分には、図１と同一の符号を付し、処理内容に変更があるもの以外の構成部分については説明を省略する。
【０１５９】
情報処理装置１００Ａは、画像取得部１０１、他端末検出部１０２、仮想オブジェクト管理部１０４、自端末管理部１０６、通信部１０７、位置姿勢計測部１０８、自己位置推定部１０９、座標系生成部１１０、出力画像作成部１１１、および画像出力部１１２を備える。
【０１６０】
通信部１０７は、他端末検出部１０２の生成する相対位置情報、自己位置推定部１０９の生成する装置位置情報、仮想オブジェクト管理情報、グループ管理情報、および後述する空間座標系更新情報を、サーバ１３００との間で送受信する。
【０１６１】
座標系生成部１１０は、サーバ１３００から通信部１０７を経て通知される空間座標系更新情報に基づいて、拡張現実空間の空間座標系を生成する。そして、座標系生成部１１０は、生成した拡張現実空間の空間座標系を示す空間座標系情報を生成する。
【０１６２】
以上、本実施の形態の情報処理装置１００Ａの構成について説明した。
【０１６３】
次に、サーバ１３００の構成について説明する。
【０１６４】
＜サーバの構成＞
サーバ１３００は、グループ管理部１３０１、共有グループ管理部１３０２、仮想オブジェクト管理部１３０３、参照点設定部１３０４、座標系生成部１３０５、通信部１３０６を備える。
【０１６５】
グループ管理部１３０１は、サーバ１３００に接続されている全ての情報処理装置の所属するグループについての情報（以下、グループ管理情報という）を管理する。図１２Ａは、グループ管理部１３０１にて管理されるグループ管理情報の一例を示す図である。
【０１６６】
図１２Ａに示すように、グループ管理情報は、テーブル形式で管理されており、レコードとして、情報処理装置ＩＤ４０９、所属グループＩＤ４１０を有する。情報処理装置ＩＤ４０９は、情報処理装置ごとに割り当てられた固有のＩＤである。所属グループＩＤは、情報処理装置が所属するグループのＩＤである。図１２Ａの例では、情報処理装置２１１、２１２、２１３がグループ２００に所属し、情報処理装置３１１、３１２がグループ３００に所属していることを示している。
【０１６７】
グループ管理部１３０１は、新たに情報処理装置がサーバ１３００に接続されると、その情報処理装置ＩＤおよび所属グループＩＤを、グループ管理情報に追加する。また、グループ管理部１３０１は、サーバ１３００に接続されている情報処理装置から共有終了を通知された場合、その情報処理装置ＩＤおよび所属グループＩＤを、グループ管理情報から削除する。
【０１６８】
共有グループ管理部１３０２は、サーバ１３００に接続されている各情報処理装置の所属する各グループの間の、仮想オブジェクトの共有関係についての情報（以下、共有グループ管理情報という）を管理する。図１２Ｂは、共有グループ管理部１３０２にて管理される共有グループ管理情報の一例を示す図である。
【０１６９】
図１２Ｂに示すように、共有グループ管理情報は、テーブル形式で管理されており、レコードとして、グループＩＤ４１１、共有グループＩＤ４１２を有する。グループＩＤ４１１は、サーバ１３００に接続されている各情報処理装置が所属するグループのＩＤである。共有グループＩＤ４１２は、仮想オブジェクトを共有する関係にあるグループのＩＤである。図１２Ｂの例では、グループ２００とグループ３００が共有関係にあることを示している。
【０１７０】
なお、図１２Ｂに示す共有グループ管理情報は、互いに異なる拡張現実空間を予め共有しているグループ２００とグループ３００の間で、さらに拡張現実空間を共有した後の状態を示している。共有の前においては、グループＩＤが２００のレコードの共有グループＩＤ、およびグループＩＤが３００のレコードの共有グループＩＤは、共に設定されていない。
【０１７１】
仮想オブジェクト管理部１３０３は、サーバに接続されている全ての情報処理装置の生成した仮想オブジェクトについての情報、すなわち仮想オブジェクト管理情報を管理する。仮想オブジェクト管理部１３０３にて管理される仮想オブジェクトの管理情報は、例えば、図２Ａに示すものと同じである。
【０１７２】
仮想オブジェクト管理部１３０３は、サーバ１３００に接続されている各情報処理装置が仮想オブジェクトの生成、削除、移動などの操作を実行した場合、操作を実行した情報処理装置からの通知を受け、仮想オブジェクト管理情報を更新する。
【０１７３】
また、仮想オブジェクト管理部１３０３は、仮想オブジェクト管理情報が更新された場合、グループ管理情報と共有グループ管理情報に基づいて、サーバ１３００に接続されている各情報処理装置に対して、各情報処理装置で共有されている仮想オブジェクトの情報を送信する。これにより、各情報処理装置間において、仮想オブジェクト管理情報は同期する。この例を、サーバ１３００で保有しているグループ管理情報が図１２Ａ、共有グループ管理情報が図１２Ｂ、仮想オブジェクト管理情報が図２Ａである場合で説明する。情報処理装置２１１、２１２、２１３はグループ２００に所属し、グループ２００はグループ３００と共有関係にある。よって、サーバ１３００は、仮想オブジェクト管理情報ａとｂを情報処理装置２１１、２１２、２１３に対して送信する。
【０１７４】
参照点設定部１３０４は、仮想オブジェクト管理部１３０３から、各グループが管理している仮想オブジェクトの数を取得する。そして、参照点設定部１３０４は、取得した仮想オブジェクトの数に基づいて、拡張現実空間を共有する複数のグループ間で共通に利用する参照点（以下、共通参照点という）を設定する。
【０１７５】
また、参照点設定部１３０４は、情報処理装置１００Ａから、通信部１３０６を介して、相対位置情報および装置位置情報を取得する。相対位置情報は、情報処理装置１００Ａの他端末検出部１０２が生成する情報であり、拡張現実空間を共有する他の情報処理装置の、情報処理装置１００Ａに対する相対位置を示す情報である。装置位置情報は、情報処理装置１００Ａの自己位置推定部１０９が生成する情報であり、現在の情報処理装置１００Ａの、参照点に対する位置を示す情報である。そして、参照点設定部１３０４は、相対位置情報および装置位置情報に基づいて、参照点設定情報を生成する。参照点設定情報は、拡張現実空間を共有しようとする各グループの参照点間の位置関係を示す情報である。
【０１７６】
座標系生成部１３０５は、参照点設定部１３０４が生成する参照点設定情報に基づいて、各グループで用いている拡張現実空間の空間座標系を更新する。また、座標系生成部１３０５は、空間座標系更新時の処理内容を示す情報、すなわち空間座標系更新情報を生成する。空間座標系更新情報は、換言すれば、オブジェクトに対してどのような平行移動および／または回転を行ったかを示す情報（変換規則を示す情報）である。
【０１７７】
通信部１３０６は、他端末検出部１０２の生成する相対位置情報、自己位置推定部１０９の生成する装置位置情報、仮想オブジェクト管理情報、グループ管理情報、および空間座標系更新情報を、情報処理装置１００Ａとの間で送受信する。
【０１７８】
以上、本実施の形態のサーバ１３００の構成について説明した。
【０１７９】
次に、互いに異なる拡張現実空間を予め共有している複数のグループ間で、さらに拡張現実空間を共有するときの動作例について、図１３〜図１４のそれぞれを参照して説明する。
【０１８０】
＜複数グループの構成の説明＞
まず、複数のグループの構成について、図１３を用いて説明する。
【０１８１】
図１３は、互いに異なる拡張現実空間を予め共有しているグループ２００とグループ３００のイメージを示す図である。
【０１８２】
グループ２００は、参照点２０１を空間座標の原点とした拡張現実空間を共有しているユーザで構成される。グループ２００を構成する各ユーザはそれぞれ、情報処理装置２１１Ａ、２１２Ａ、２１３Ａを所有している。これらの情報処理装置は、上述した情報処理装置１００Ａである。そして、各ユーザは、各自の情報処理装置を用いて、拡張現実空間において、仮想オブジェクト２２１、２２２、２２３を共有している。
【０１８３】
グループ３００は、参照点３０１を空間座標の原点とした拡張現実空間を共有しているユーザで構成されている。グループ３００を構成する各ユーザはそれぞれ、情報処理装置３１１Ａ、３１２Ａを所有している。これらの情報処理装置は、上述した情報処理装置１００Ａである。そして、各ユーザは、各自の情報処理装置を用いて、仮想オブジェクト３２１、３２２を共有している。
【０１８４】
さらに、情報処理装置２１１Ａ、２１２Ａ、２１３Ａ、３１１Ａ、３１２Ａは、それぞれネットワークを通じてサーバ１３００と接続されている。
【０１８５】
なお、図１３の例では、説明の便宜のため、グループ２００においては情報処理装置が３つで仮想オブジェクトが３つ、グループ３００においては情報処理装置が２つで仮想オブジェクトが２つとして説明するが、それぞれの数は図１３に限定されない。
【０１８６】
以上で、複数のグループの構成についての説明を終える。
【０１８７】
＜情報処理装置およびサーバの動作説明＞
図１４は、サーバ１３００と、情報処理装置２１１Ａ、２１２Ａ、２１３Ａ、３１１Ａ、３１２Ａとの間で行われる、拡張現実空間の共有処理を示すシーケンス図である。
【０１８８】
ステップＳ１４０１において、情報処理装置２１１Ａは、情報処理装置３１１Ａの情報処理装置２１１Ａに対する相対位置を取得し、その相対位置を示す相対位置情報を生成する。また、このとき、情報処理装置２１１Ａは、現在の情報処理装置２１１Ａの、参照点２０１に対する位置を示す装置位置情報（以下、装置位置情報Ａという）も生成する。
【０１８９】
ステップＳ１４０２において、情報処理装置２１１Ａは、生成した相対位置情報および装置位置情報Ａを、サーバ１３００へ通知する。また、ステップＳ１４０２において、情報処理装置３１１Ａは、現在の情報処理装置３１１Ａの、参照点３０１に対する位置を示す装置位置情報（以下、装置位置情報Ｂという）を生成し、それをサーバ１３００へ通知する。
【０１９０】
ステップＳ１４０３において、サーバ１３００は、グループ管理情報に基づいて、仮想オブジェクト管理情報から、管理グループＩＤが２００で管理されている仮想オブジェクトの数と、管理グループＩＤが３００で管理されている仮想オブジェクトの数を取得し、両者を比較する。
【０１９１】
ステップＳ１４０４において、サーバ１３００は、ステップＳ１４０３の比較の結果、管理オブジェクト数が多い方のグループに設定されている参照点を、共通参照点として設定する。図１３の例では、グループ２００の管理オブジェクト数が３つであり、グループ３００の管理オブジェクト数が２つである。よって、サーバ１３００は、管理オブジェクト数が多いグループ２００で設定されている参照点２０１を、共通参照点として設定する。
【０１９２】
ステップＳ１４０５において、サーバ１３００は、ステップＳ１４０２で受信した装置位置情報Ａ、相対位置情報、および装置位置情報Ｂに基づいて、参照点３０１の位置を、参照点２０１を原点とする座標に更新する。ここで、サーバ１３００は、参照点３０１の参照点２０１に対する位置を示す参照点設定情報を生成する。この生成は、参照点設定部１３０４により行われる。
【０１９３】
ステップＳ１４０６において、サーバ１３００は、ステップＳ１４０５で生成した参照点設定情報に基づいて、グループ３００で用いている拡張現実空間の空間座標系を更新する。すなわち、サーバ１３００は、参照点３０１を原点とする空間座標系から参照点２０１を原点とする空間座標系に変換する。ここでいう空間座標系の変換とは、Ｘ軸、Ｙ軸、Ｚ軸で定義される空間の向きを、参照点３０１Ａから参照点２０１Ａに変更することである。ここで、サーバ１３００は、グループ３００Ａの空間座標系更新情報を生成する。この生成は、座標系生成部１３０５により行われる。
【０１９４】
ステップＳ１４０７において、サーバ１３００は、グループ３００に所属する情報処理装置３１１Ａ、３１２Ａに対して、ステップＳ１４０６で生成した空間座標系更新情報を送信する。
【０１９５】
ステップＳ１４０８において、情報処理装置３１１Ａおよび３１２Ａは、ステップＳ１４０７で受信した空間座標系更新情報に基づいて、グループ３００で用いている拡張現実空間の空間座標系を更新する。
【０１９６】
ステップＳ１４０９において、情報処理装置３１１Ａおよび３１２Ａは、ステップＳ１４０７で受信した空間座標系更新情報に基づいて、自端末の位置情報を更新する。
【０１９７】
ステップＳ１４１０において、サーバ１３００は、参照点が変更されたグループ３００により管理されている仮想オブジェクトの位置情報（図２Ａに示す位置情報４０４）を、参照点２０１を原点とする座標に更新する。
【０１９８】
ステップＳ１４１１において、サーバ１３００は、共有グループ管理情報を更新する。図１３の例では、グループＩＤが２００のレコードに、共有グループＩＤ３００が設定され、また、グループＩＤが３００のレコードに、共有グループＩＤ２００が設定される。
【０１９９】
ステップＳ１４１２において、サーバ１３００は、グループ管理情報と共有グループ管理情報に基づいて、サーバ１３００に接続されている各情報処理装置に対して、各情報処理装置で共有されている仮想オブジェクトの情報を通知し、各情報処理装置間で、仮想オブジェクト管理情報を同期させる。図１３の例では、情報処理装置２１１Ａ、２１２Ａ、２１３Ａはグループ２００に所属し、グループ２００はグループ３００と共有関係にある。よって、サーバ１３００は、情報処理装置２１１Ａ、２１２Ａ、２１３Ａに対して、グループ３００で管理されている仮想オブジェクト３２１、３２２の情報を送信する。また、サーバ１３００は、情報処理装置３１１Ａ、３１２Ａに対して、グループ２００で管理している仮想オブジェクト２２１、２２２、２２３の情報を送信する。これにより、グループ２００とグループ３００に所属する各情報処理装置は、互いのグループで管理されている仮想オブジェクトの情報を共有することになる。
【０２００】
以上で、情報処理装置と、情報処理装置とネットワークで接続されたサーバを用いて、実施の形態１と同様の空間情報共有化処理を実現する場合の動作についての説明を終える。実施の形態２、３についても、本実施の形態と同様にサーバを用いて実現することが可能である。なお、実施の形態２にてサーバ１３００を使用する場合、図１４のステップＳ１４０３において、サーバ１３００は、グループ管理情報と共有グループ管理情報に基づいて、各共有グループの管理オブジェクトの数を取得し、比較することになる。
【０２０１】
このように本実施の形態では、実施の形態１，２で情報処理装置が行っていた処理の一部をサーバで実行することにより、各情報処理装置の消費電力を削減することができ、情報処理装置で必要となるハードウェア資源を節約することができる。また、本実施の形態では、サーバでグループ管理情報、共有グループ管理情報、仮想オブジェクト管理情報を一元管理することにより、拡張現実空間の共有に必要な情報の管理が容易になる。
【０２０２】
＜変形例の説明＞
以上、本発明の実施の形態１〜４について説明したが、上記説明は一例であり、種々の変形が可能である。以下、変形例について説明する。
【０２０３】
例えば、参照点設定部１０３、１３０４、座標系生成部１１０、１３０５等の各機能ブロックは、典型的には、集積回路・ＬＳＩ（Large Scale Integration）で実現される。これらは、個別に１チップ化されても良いし、一部、または全てを含むように１チップ化されても良い。なお、ＬＳＩは、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２０４】
また、集積回路化の手法は、ＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。また、集積回路化の手法は、ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再結成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２０５】
さらには、半導体技術の進歩又は派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が、可能性としてありえる。
【０２０６】
また、上記実施の形態１〜４では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連係においてソフトウェアでも実現することも可能である。
【０２０７】
以上、本開示の情報処理装置は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置であって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する仮想オブジェクト管理部と、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する通信部と、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する参照点設定部と、を備える。
【０２０８】
また、本開示の情報処理装置において、前記参照点設定部は、前記他装置の仮想オブジェクト管理情報として受信した仮想オブジェクトの数と、前記自装置の仮想オブジェクト管理情報として管理している仮想オブジェクトの数とを比較し、比較の結果、前記仮想オブジェクトの数が多い方のグループが利用している参照点を、前記共通参照点として設定する。
【０２０９】
また、本開示の情報処理装置において、前記参照点設定部は、前記自装置が属するグループが利用している参照点を共通参照点として設定した場合、当該共通参照点に関する参照点設定情報を、前記通信部を介して前記他の情報処理装置へ送信し、前記仮想オブジェクト管理部は、前記通信部を介して前記他の情報処理装置から、前記共通参照点に基づいて更新された前記他装置の仮想オブジェクト管理情報を受信し、前記自装置の仮想オブジェクト管理情報と合わせて保有する。
【０２１０】
また、本開示の情報処理装置において、前記仮想オブジェクト管理部は、前記他装置の仮想オブジェクト管理情報に前記自装置のオブジェクト管理情報を合わせた仮想オブジェクト管理情報を、前記自装置が属するグループ内の他の情報処理装置へ前記通信部を介して送信する。
【０２１１】
また、本開示の情報処理装置において、前記参照点設定部は、前記他のグループが利用している参照点を共通参照点として設定した場合、当該参照点を共通参照点として設定した旨を示す設定通知情報を、前記通信部を介して前記他の情報処理装置へ送信し、前記通信部を介して前記他の情報処理装置から、前記共通参照点に関する参照点設定情報を受信し、前記仮想オブジェクト管理部は、前記参照点設定情報に基づいて、前記自装置の仮想オブジェクト管理情報を更新する。
【０２１２】
また、本開示の情報処理装置において、前記仮想オブジェクト管理部は、前記他の情報処理装置から取得した参照点設定情報に基づいて更新した前記自装置の仮想オブジェクト管理情報、および前記参照点設定情報を、前記自装置が属するグループ内の他の情報処理装置へ前記通信部を介して送信する。
【０２１３】
また、本開示の情報処理装置において、前記参照点設定部は、前記自装置の所属しているグループまたは前記他のグループが、予め別のグループと同一の拡張現実空間を共有する関係にある場合、前記同一の拡張現実空間に配置される仮想オブジェクトの合計数に基づいて前記比較を行う。
【０２１４】
本開示のサーバ装置は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する複数の情報処理装置と、ネットワークを介して通信を行うサーバ装置であって、第１情報処理装置が属する第１グループで共有される第１拡張現実空間に配置される仮想オブジェクトに関する情報を含む第１仮想オブジェクト管理情報、および、第２情報処理装置が属する第２グループで共有される第２拡張現実空間に配置される仮想オブジェクトに関する情報を含む第２仮想オブジェクト管理情報を管理する仮想オブジェクト管理部と、前記第１仮想オブジェクト管理情報および前記第２仮想オブジェクト管理情報に基づいて、前記第１グループと前記第２グループとが共通に利用する共通参照点を設定する参照点設定部と、を備える。
【０２１５】
また、本開示のサーバ装置において、前記参照点設定部は、前記第１仮想オブジェクト管理情報として管理している仮想オブジェクトの数と、前記第２仮想オブジェクト管理情報として管理している仮想オブジェクトの数とを比較し、比較の結果、前記仮想オブジェクトの数が多い方のグループが利用している参照点を、前記共通参照点として設定する。
【０２１６】
また、本開示のサーバ装置において、前記参照点設定部は、前記第１情報処理装置が属する前記第１グループまたは前記第２情報処理装置が属する前記第２グループが、予め別のグループと同一の拡張現実空間を共有する関係にある場合、前記同一の拡張現実空間に配置される仮想オブジェクトの合計数に基づいて前記比較を行う。
【０２１７】
本開示の情報処理方法は、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置が行う情報処理方法であって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理するステップと、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信するステップと、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定するステップと、を含む。
【０２１８】
本開示のプログラムは、所定の参照点に基づいて構築され、かつ、現実空間の位置に関係づけられて仮想オブジェクトが配置される拡張現実空間を共有するグループに属する情報処理装置のコンピュータに実行させるプログラムであって、自装置が属するグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む自装置の仮想オブジェクト管理情報を、管理する処理と、他のグループに属する他の情報処理装置から、前記他のグループで共有される拡張現実空間に配置される仮想オブジェクトに関する情報を含む他装置の仮想オブジェクト管理情報を、受信する処理と、前記自装置の仮想オブジェクト管理情報および前記他装置の仮想オブジェクト管理情報に基づいて、前記他のグループと前記自装置が属するグループとが共通に利用する共通参照点を設定する処理と、を実行させる。
【０２１９】
２０１２年３月２７日出願の特願２０１２−０７１０３１の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０２２０】
本発明にかかる情報処理装置、サーバ装置、情報処理方法、およびプログラムは、拡張現実感技術の利用において、互いに異なる拡張現実空間をグループ間で共有することにより、ユーザの所有する情報処理装置の処理量を抑えることが可能なスマートフォン、携帯電話、携帯端末、およびデジタルスチルカメラ等に有用である。
【符号の説明】
【０２２１】
１００、２１１、２１２、２１３、３１１、３１２、９１１、９１２、１０１１、１０１２  情報処理装置
１０１  画像取得部
１０２  他端末検出部
１０３  参照点設定部
１０４  仮想オブジェクト管理部
１０５  グループ管理部
１０６  自端末管理部
１０７  通信部
１０８  位置姿勢計測部
１０９  自己位置推定部
１１０  座標系生成部
１１１  出力画像作成部
１１２  画像出力部
２００、３００、９００、１０００  拡張現実空間を予め共有するグループ
２０１、３０１、９０１、１００１  参照点
２２１、２２２、２２３、３２１、３２２、９２１、９２２、１０２１  仮想オブジェクト
１３００  サーバ
１３０１  グループ管理部
１３０２  共有グループ管理部
１３０３  仮想オブジェクト管理部
１３０４  参照点設定部
１３０５  座標系生成部
１３０６  通信部
【図１】
2013145614.tif 000003
【図２Ａ】
2013145614.tif 000004
【図２Ｂ】
2013145614.tif 000005
【図２Ｃ】
2013145614.tif 000006
【図３】
2013145614.tif 000007
【図４】
2013145614.tif 000008
【図５】
2013145614.tif 000009
【図６】
2013145614.tif 000010
【図７】
2013145614.tif 000011
【図８】
2013145614.tif 000012
【図９】
2013145614.tif 000013
【図１０】
2013145614.tif 000014
【図１１】
2013145614.tif 000015
【図１２Ａ】
2013145614.tif 000016
【図１２Ｂ】
2013145614.tif 000017
【図１３】
2013145614.tif 000018
【図１４】
2013145614.tif 000019
【国際調査報告】
2013145614.tif 000020
2013145614.tif 000021
2013145614.tif 000022
2013145614.tif 000023