(57)【特許請求の範囲】
【請求項１】
実空間を撮像した撮像画像を取得する撮像手段と、
ユーザ固有の仮想オブジェクトを取得する取得手段と、
前記撮像画像から情報共有に関するイベントを検出するイベント検出手段と、
前記実空間を異なる方向から撮像している他端末と同時期に前記イベントが検出され、かつ、該イベントが当該他端末との協働で指定された位置での共有開始指示を表す場合、当該他端末との間で前記仮想オブジェクトの共有を可能とする共有領域を当該撮像画像の前記位置に重畳表示する表示制御手段と、を備え、
前記表示制御手段は、前記共有領域の表示前に当該共有領域の位置に表示されていた前記仮想オブジェクトを当該共有領域外に移動させることを特徴とする、
情報通信端末。
【請求項２】
前記表示制御手段は、前記協働で指定された位置を前記撮像画像において強調表示することを特徴とする、
請求項１に記載の情報通信端末。
【請求項３】
前記表示制御手段は、前記他端末または当該他端末を装着したユーザを識別するための第１タグ情報を取得し、取得した第１タグ情報を前記共有領域またはその周辺領域に表示することを特徴とする、
請求項１に記載の情報通信端末。
【請求項４】
前記表示制御手段は、自端末または自端末を装着したユーザを識別するための第２タグ情報を取得し、前記第１タグ情報と共に前記第２タグ情報を併せて表示することを特徴とする、
請求項３に記載の情報通信端末。
【請求項５】
前記イベント検出手段は、前記撮像画像において、前記実空間において前記共有領域の表示位置を定める状態、ユーザの人数から推測される当該ユーザが操作する指示入力体の最大数が所定範囲を超えた状態、前記ユーザが前記他端末のユーザと共に所定の協調動作を行っている状態、所定の実物体が前記実空間において複数配置された状態、所定の実物体に紐付けされた前記仮想オブジェクトが前記ユーザにより操作された状態のいずれかの状態が存在するときに、当該状態を前記共有開始指示を表すイベントとして検出することを特徴とする、
請求項１ないし４のいずれか一項に記載の情報通信端末。
【請求項６】
前記表示制御手段は、前記共有領域を表示する際に、当該共有領域の周辺領域に、予め保存されている前記仮想オブジェクトの選択的な取得を可能にするハンドル画像を表示することを特徴とする、
請求項１に記載の情報通信端末。
【請求項７】
前記表示制御手段は、前記検出されたイベントが、既存の前記共有領域への共有参加指示を表し、かつ、前記共有領域を共有している他端末において前記共有参加指示を受け入れるイベントが検出されたときに、前記既存の前記共有領域における前記仮想オブジェクトの表示を可能にすることを特徴とする、
請求項１に記載の情報通信端末。
【請求項８】
前記表示制御手段は、前記検出されたイベントが、既存の前記共有領域の一部または全領域の消去指示を表すときは、当該領域を消去することを特徴とする、
請求項１に記載の情報通信端末。
【請求項９】
前記表示制御手段は、前記共有領域への前記仮想オブジェクトの移動状況が所定条件を満たさない場合は、当該移動を無効にすることを特徴とする、
請求項１に記載の情報通信端末。
【請求項１０】
前記共有領域に配置された前記仮想オブジェクトに関わる情報を当該共有領域において当該仮想オブジェクトを共有する他端末宛に送信する送信手段をさらに備えることを特徴とする、
請求項１に記載の情報通信端末。
【請求項１１】
前記撮像手段は、ユーザに装着されたときに当該ユーザの２つの視点から前記実空間を撮像したステレオ画像を取得し、保存することを特徴とする、
請求項１ないし１０のいずれか一項に記載の情報通信端末。
【請求項１２】
同一の実空間をそれぞれ異なる方向から撮像している複数の情報通信端末から撮像画像、撮像時刻、撮像位置、撮像時の姿勢情報を含むイベント情報を受信する受信手段と、
受信した各撮像画像を解析することにより他端末との協働で指定された位置での共有開始指示を表すイベントを検出し、該イベントが同時期に生じている２つ以上の情報通信端末を共有開始可能な情報通信端末と判定する判定手段と、
前記共有開始可能とされた全ての情報通信端末の前記姿勢情報を基に、各情報通信端末の撮像画像の前記位置において各ユーザ固有の情報の共有を可能にする共有領域を設定する設定手段と、
設定された共有領域の位置、形状およびサイズを含む共有領域情報を前記全ての情報通信端末に送信する送信手段と、
を有することを特徴とする共有管理装置。
【請求項１３】
前記設定手段は、前記共有領域を表示する全ての情報通信端末またはそのユーザを識別するためのタグ情報を取得し、取得したこれらのタグ情報が前記共有領域またはその周辺領域に表示されるように前記共有領域を設定し、
前記送信手段は、前記共有領域情報と共に前記タグ情報を送信することを特徴とする、
請求項１２に記載の共有管理装置。
【請求項１４】
前記判定手段は、前記撮像画像を送信した情報通信端末の数から各情報通信端末のユーザがそれぞれ指示を行うための指示入力体の数を推定するとともに、受信した前記撮像画像と前記姿勢情報とに基づいて各撮像画像に映っている指示入力体の数を検出し、推定した数と検出した数との差が所定範囲を超える場合は共有開始不能と判定し、
前記送信手段は、前記共有領域情報に代えて前記判定の結果を送信することを特徴とする、請求項１３に記載の共有管理装置。
【請求項１５】
前記判定手段は、前記撮像画像と前記姿勢情報に基づいて前記指示入力体の侵入位置を検出し、検出した侵入位置が既定の範囲外である場合は、前記指示入力体の数に関わらず、共有開始不能と判定することを特徴とする、
請求項１４に記載の共有管理装置。
【請求項１６】
同一の実空間をそれぞれ異なる方向から撮像している複数の情報通信端末が、撮像画像から他端末との協働により指定された位置での共有開始指示を表すイベントを検出すると、それぞれ検出時の撮像画像、撮像時刻、撮像位置および姿勢情報を所定の共有管理装置へ送信するステップと、
前記共有管理装置が、受信した各撮像画像から他端末との協働で指定された位置での共有開始指示を表すイベントを検出し、該イベントが同時期に生じている２つ以上の情報通信端末を共有開始可能な情報通信端末と判定するとともに、前記共有開始可能とされた全ての情報通信端末の前記姿勢情報を基に、各情報通信端末の撮像画像の前記位置において各ユーザ固有の情報の共有を可能にする共有領域を設定し、設定した共有領域の位置、形状およびサイズを含む共有領域情報を前記全ての情報通信端末宛に送信するステップと、
前記全ての情報通信端末がそれぞれ自端末の撮像画像に前記共有領域を重畳表示するステップとを有することを特徴とする、情報共有方法。
【請求項１７】
前記共有管理装置は、前記共有領域を表示する全ての情報通信端末またはそのユーザを識別するためのタグ情報を取得し、取得したこれらのタグ情報が前記共有領域またはその周辺領域に表示されるように前記共有領域を設定し、前記全ての情報通信端末宛に前記共有領域情報と共に前記タグ情報を送信することを特徴とする、
請求項１６に記載の情報共有方法。
【請求項１８】
実空間の撮像機能と通信機能とを有するコンピュータを、請求項１ないし１１のいずれか一項に記載された情報通信端末として動作させるためのコンピュータプログラム。
【請求項１９】
通信機能を有するコンピュータを、請求項１２ないし１５のいずれか一項に記載された共有管理装置として動作させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＲ（Augmentated Reality：拡張現実感）やＭＲ（Mixed Reality：複合現実感）などの技術を利用して複数のユーザ間で情報を共有する技術に関する。
【背景技術】
【０００２】
近年、ＡＲやＭＲなどの技術（以下、「ＡＲ等技術」という）が、カメラ搭載のスマートフォン、タブレット端末、メガネ型デバイス、ＨＭＤ（Head Mounted Display）などで利用されている。スマートフォンやタブレット端末を利用したＡＲ等技術の場合、全ての仮想オブジェクトは表示装置に表示される。そのため、表示された仮想オブジェクトをそのまま他のユーザに見せれば、プライベートな仮想オブジェクトであっても、ユーザ同士でそれを簡単に共有することができる。これに対し、例えばメガネ型デバイスやＨＭＤでＡＲ等技術を実現する場合、仮想オブジェクトは、それを装着しているユーザしか見ることができない。
【０００３】
このような問題を解決する従来技術として、特許文献１に情報共有システムが開示されている。この情報共有システムでは、複数のユーザがそれぞれカメラとディスプレイを有する端末装置を身に付け、ディスプレイを通じて見える実空間に仮想オブジェクトを重畳表示してＡＲ空間を形成する。そして、このＡＲ空間で各ユーザが保有する情報を共有するために、実空間に共有領域を設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１６８６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された情報共有システムにおいて、共有領域の位置やサイズなどは、いずれかの端末装置あるいは情報処理装置側で定義される。そのため、情報を共有するユーザ間で、実空間の内容に応じて共有領域の位置やサイズなどを任意に変えたり、どの時点から情報共有を開始するかなどを自由に決めることができない。また、どのユーザが共有者でどのユーザが非共有者かの区別もつかないため、どの情報をどのユーザと共有してよいかの判断に迷う場合がある。
本発明の課題は、複数のユーザで情報を共有する際に、情報共有の開始時期や共有領域の位置などを自由に決めることができる情報通信端末およびその応用技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明が提供する情報通信端末は、実空間を撮像した撮像装置を取得する撮像手段と、ユーザ固有の仮想オブジェクトを取得する取得手段と、前記撮像画像から情報共有に関するイベントを検出するイベント検出手段と、前記実空間を異なる方向から撮像している他端末と同時期に前記イベントが検出され、かつ、該イベントが当該他端末との協働で指定された位置での共有開始指示を表す場合、当該他端末との間で前記仮想オブジェクトの共有を可能とする共有領域を当該撮像画像の前記位置に重畳表示する表示制御手段と、を備え、前記表示制御手段は、前記共有領域の表示前に当該共有領域の位置に表示されていた前記仮想オブジェクトを当該共有領域外に移動させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、情報通信端末間で情報の共有領域の位置を任意に指定したり、共有開始の時期を指示することができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）は情報処理システムの概要説明図、（ｂ）は表示画面の例示図。
【図２】ＡＲグラスのハードウェア構成図。
【図３】（ａ）はＡＲグラスの機能構成図、（ｂ）は計算資源の機能構成図。
【図４】（ａ）〜（ｃ２）は、ユーザの指示内容と共有領域の形成過程の説明図。
【図５】共有領域を形成して情報共有を行う際の情報処理システムのシーケンス図。
【図６】（ａ１）〜（ｄ）は表示画面の例と指先位置の算出方法の例を示した図。
【図７】イベント検出処理の手順を示したフローチャート。
【図８】共有開始判定処理の手順を示したフローチャート。
【図９】（ａ）〜（ｅ）は他の実施形態による表示画面の例示図。
【発明を実施するための形態】
【０００９】
図面を参照して本発明の実施の形態例を説明する。以下の説明では、複数のユーザが、それぞれ撮像機能および通信機能を有するメガネ型の情報処理端末（「ＡＲグラス」と表記する）を装着して、実空間上で仮想オブジェクトを共有する場合の例を示す。
「実空間」は現実世界の空間をいう。この実空間に存在する物体は「実物体」と呼ばれる。「仮想オブジェクト」は、実物体と対比される概念であり、例えばグラフィクス等で生成された情報などが該当する。ＡＲグラスは、クラウドに代表されるネットワーク上に配置された共有管理装置を介して他のＡＲグラスとリアルタイム通信が可能とされる。このような共有管理装置を「計算資源」（computational resource）と表記する。
各ＡＲグラスは、表示装置の一例となるメガネ型ディスプレイと、ユーザの視線方向の実空間を撮像するステレオカメラとを搭載している。メガネ型ディスプレイはシースルー型の例を示すが、これに限らない。ステレオカメラは、ＲＧＢステレオ画像を撮像する。撮像された画像を撮像画像と呼ぶ。画像は、静止画、動画あるいはこれらの組み合わせである。ＲＧＢは、赤 (Red)、緑 (Green)、青 (Blue) の三つの原色を混ぜて幅広い色を再現する加法混合の一種である。
各ＡＲグラスは、また、位置情報を取得するＧＰＳセンサ、方位・姿勢を取得するジャイロセンサなどの各種センサを備えている。以後の説明では、複数のＡＲグラス、あるいはこれらのＡＲグラスとクラウド上の計算資源とが協働する態様を情報処理システムと表記する。
【００１０】
＜第１実施形態＞
図１（ａ）は、第１実施形態に係る情報処理システムの概要説明図である。本実施形態の情報処理システムは、複数のＡＲグラス１００と計算資源１０１とを高速の無線回線１０３で接続して構成される。図示の例では、それぞれ同じ構成のＡＲグラス１００を装着したユーザ１０２ａとユーザ１０２ｂとがテーブル１０４を挟んで対座している。図１（ｂ）は、一方のユーザ１０２ａがＡＲグラス１００を通して見る表示画面１０６の例示図である。実物体であるテーブル１０４の面上には、共有領域１０５とユーザ固有の仮想オブジェクトとが重畳表示される。本実施形態では、仮想オブジェクトとして、プライベートコンテンツである写真Ｐａ１、Ｐａ２、Ｐａ３、Ｐｂ１を想定する。共有領域１０５に存在する写真Ｐａ３，Ｐｂ１は、ユーザ１０２ａ，１０２ｂの双方が見ることができる。他方、共有領域１０５の周辺領域に存在する写真Ｐａ１，Ｐａ２は共有されておらず、ユーザ１０２ａには見えているが、ユーザ１０２ｂには見えていない。
【００１１】
ＡＲグラス１００の表示画面１０６は、ユーザの両目の視差を考慮して、左目用の画面、右目用の画面として生成された後、左右それぞれのディスプレイに出力される。そのため、ユーザ１０２ａが表示画面１０６を通して実空間を眺めると、写真Ｐａ１、Ｐａ２、Ｐａ３、Ｐｂ１がテーブル１０４上に実際に存在するかのようにリアルに重畳表示される。なお、壁面や天井面、空中、その他実物体の表面に、写真あるいは他の仮想オブジェクトを重畳表示することも可能である。写真Ｐａ１、Ｐａ２、Ｐａ３、Ｐｂ１は、ユーザ１０２ａが、自分の手、指先、スタイラスペン、差し棒のような指示入力体を用いて操作することができる。図１（ｂ）の例では、指示入力体が指先である例が示されている。
ユーザ１０２ａが装着しているＡＲグラス１００は、指先の状態（位置、形状、方向、数、動きなど）を検出し、検出結果と所定の基準情報とに基づいてユーザ１０２ａの指示内容を判別する。つまり、何らかの状態をユーザ１０２ａの指示に起因して生じるイベントとして検出する。イベントの検出は、ＡＲグラス１００を通して観測できる座標系（ａｘ、ａｙ、ａｚ）と実空間上の世界座標系（ｘ、ｙ、ｚ）とを用いて行われる。各座標系は１対１で対応しており、ＡＲグラス１００が備えるＧＰＳセンサ、ジャイロセンサ、ステレオ画像の画像処理（距離検出）などにより取得できる情報を利用して適切にキャリブレーションされている。
【００１２】
＜ＡＲグラスの構成＞
上記のＡＲグラス１００の構成例を説明する。なお、以後の説明においてユーザ１０２ａとユーザ１０２ｂとを区別する必要がない場合は、ユーザ１０２と表記する。図２はＡＲグラス１００のハードウェア構成図である。ＡＲグラス１００は、バス２０３に接続されたＣＰＵ２００、ＲＡＭ２０１、ＲＯＭ２０２を主要部品として含むコンピュータを有している。ＣＰＵ（Central Processing Unit）２００は、バス２０３を介して接続される各デバイスを統括的に制御する。ＣＰＵ２００は、また、本発明のコンピュータプログラム（情報共有用プログラム）を実行することにより、情報共有に関する種々の機能を形成する。ＲＡＭ（Random Access Memory）２０１は、ＣＰＵ２００の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＲＯＭ（Read Only Memory）２０２には、オペレーティングシステム（ＯＳ）、上記情報共有用プログラム、デバイスドライバ等が記憶されている。
【００１３】
ディスプレイＩ／Ｆ（Ｉ／Ｆはインタフェースの略、以下同じ）２０４は、撮像画像や仮想オブジェクトをメガネ型ディスプレイ２０５で表示可能な信号に変換する。入力Ｉ／Ｆ２０６は、ステレオカメラ２０７で撮像した撮像画像をＡＲグラス１００が処理可能な形式に変換する。なお、メガネ型ディスプレイ２０５はステレオカメラ２０７と一体になっているものであってもよい。入力Ｉ／Ｆ２０６は、また、ＧＰＳ（Global Positioning System）センサ２０８で取得した位置情報、およびジャイロセンサ２０９で検出した角速度をＡＲグラス１００が処理可能な形式に変換する。なお、ＧＰＳセンサ２０８で時刻情報を取得する場合、入力Ｉ／Ｆ２０６は、その時刻情報をＡＲグラス１００が処理可能な形式に変換する。
【００１４】
ストレージＩ／Ｆ２１０は、ストレージ２１１へのデータの入出力を行う。ストレージ２１１には、仮想オブジェクトやＵＩ（User Interface）部品画像、ＡＲグラス１００が内部で起動する要素プログラムなどが格納されている。ストレージ２１１は、ディスクデバイスやフラッシュメモリ、ネットワークドライブやＵＳＢドライブなどの大容量記憶装置である。複数の記憶装置を並列に接続して構成されていてもよいし、計算資源１０１に含まれるストレージであっても構わない。
【００１５】
ネットワークＩ／Ｆ２１２は、計算資源１０１との間でリアルタイム通信を行う。本実施形態では、高速な無線通信ネットワークの利用を想定しているが、有線ネットワークを利用する形態であっても構わない。なお、図示を省略したが、計算資源１０１も、それぞれＣＰＵ、ＲＡＭ、ＲＯＭ、ストレージＩ／Ｆ、ストレージ、ネットワークＩ／Ｆを有する１または複数のコンピュータで構成されている。それぞれのハードウェアの機能はＡＲグラス１００のものと同様である。計算資源１０１のストレージには、ＡＲ仮想空間内で表示する公開オブジェクト、すなわち誰でも見ることができる仮想オブジェクトが格納されていてもよい。この場合、ＡＲグラス１００は、それら公開オブジェクトをネットワークＩ／Ｆ２１２を介して取得することが可能である。以下の説明では、他図を用いて同じものを説明する場合には同一の符号を付し、その説明を省略する。
【００１６】
図３（ａ）は、ＡＲグラス１００のＣＰＵ２００が情報共有用プログラムを実行することによりＡＲグラス１００に形成される機能ブロックの構成図である。ＡＲグラス１００は、通信部（入出力部）３００、位置情報取得部３０１、姿勢取得部３０２、記憶部３０３の機能ブロックを有している。ＡＲグラス１００は、また、撮像部３０４、領域検出部３０５、形状検出部３０６、距離算出部３０７、指先位置決定部３０８の機能を有している。ＡＲグラス１００は、さらに、イベント検出部３０９、表示制御部３１０、表示部３１１の機能を有している。
【００１７】
図３（ｂ）は計算資源１０１のＣＰＵが共有管理用プログラムを実行することによりＡＲグラス１００に形成される主要な機能ブロックの構成図である。計算資源１０１は、通信部（入出力部）４００、記憶部４０３、解析部４１２、イベント判定部４１３、共有領域設定部４１４の機能を有している。これらの機能は、計算資源１０１のＣＰＵがコンピュータプログラム（共有管理用プログラム）を実行することで形成される。
【００１８】
まず、ＡＲグラス１００の機能ブロックについて説明する。通信部３００は、ストレージＩ／Ｆ２１０を介して、記憶部３０３とのデータの入出力を制御する。例えば、記憶部３０３からユーザ固有の仮想オブジェクトを取得する。通信部３００は、また、ネットワークＩ／Ｆ２１２を介して、他端末との間のデータ通信および計算資源１０１との間のデータ通信を行う。位置情報取得部３０１は、ＡＲグラス１００の実空間の位置情報をＧＰＳセンサ２０８により取得し、取得した位置情報をＲＡＭ２０１に保存する。本実施形態では、スマートフォンやタブレット端末に搭載されているＧＰＳセンサと同等のものを想定する。但し、ＧＰＳデータを受信できないような屋内のユースケースでは、ＷｉＦｉ、Ｂｌｕｅｔｏｏｈあるいは音波を用いた屋内位置測位技術で代用することも可能である。
【００１９】
姿勢取得部３０２は、ジャイロセンサ２０９で検出される角速度からＡＲグラス１００の方位・姿勢を表す姿勢情報を算出し、それをＲＡＭ２０１に保存する。ＡＲグラス１００の姿勢情報は、すなわち実空間におけるユーザ１０２の向きや姿勢を表す。記憶部３０３は、ストレージ２１１およびそのインタフェースにより実現される。前述した通り、記憶部３０３には仮想オブジェクトとなるプライベートな写真やＵＩ部品画像、プログラムなどが格納されている。ユーザ１０２が過去に行った場所の情報や行動履歴、操作履歴などを格納しておき、その情報を仮想オブジェクトとして利用することも可能である。
【００２０】
撮像部３０４は、ステレオカメラ２０７で撮像されるＲＧＢステレオ画像を所定時間毎に取得し、ＲＡＭ２０１に保存する。ＲＧＢステレオ画像は、２つの視点から撮像された２種類のＲＧＢ画像の集合により実現される。２つの画像間にはズレ（視差）があり、それぞれ右目と左目に対応付けられている。保存されたＲＧＢステレオ画像は、ＡＲグラス１００の各機能ブロックにおいて順次処理される。撮像部３０４がＲＧＢステレオ画像を撮像する周期は、ステレオカメラ２０７が撮像する画像のフレームレートと一致する。但し、フレームレートによらない所定の時間を撮像の周期として設定することもできる。なお、本実施形態では、例えば左目に対応付けられた画像をマスター画像、右目に対応づけられた画像をスレーブ画像として処理するが、このような処理の形態に限定されるものではない。
【００２１】
領域検出部３０５は、ＲＡＭ２０１に保存されているＲＧＢステレオ画像の肌色情報を利用することによって、画像内の肌色領域（ユーザ１０２の手や指など）とそれ以外の領域とを検出する。領域検出部３０５は、また、検出した肌色領域をラベリングし、ＲＡＭ２０１に保存する。形状検出部３０６は、ＲＡＭ２０１に保存されている肌色領域の情報を利用して指差し形状領域を検出する。その詳細は後述する。形状検出部３０６は、また、検出した指差し形状領域をラベリングし、ＲＡＭ２０１に保存する。
【００２２】
距離算出部３０７は、ＲＡＭ２０１に保存されている指差し形状領域の情報を利用して、ＡＲグラス１００から指差し形状領域の各画素までの距離を算出する。この距離は、画像の深さを表すものとなる。具体的な計算方法は後述するが、ＲＧＢステレオ画像を形成する２つの画像（マスター画像とスレーブ画像）から対応点を探索し、その視差から三角測量を用いて距離を算出する。対応点とは、空間中のある一点を二つの視点で同時に撮影したとき、それぞれの視点で撮影した画像中に映った当該点をいう。これは一般的に「ステレオ対応点」と呼ばれ、ステレオカメラ２０７は、このステレオ対応点を利用したカメラである。距離算出部３０７は、算出した各画素の距離情報をＲＡＭ２０１に保存する。なお、ステレオカメラ２０７を用いるのは距離計測の一手段にすぎない。また、必ずしもカラー画像である必要はなく、赤外ステレオカメラを用いてステレオ画像を取得してもよい。また、ステレオカメラ２０７ではなく、公知の距離画像センサを用いて距離情報を取得しても構わない。
【００２３】
指先位置決定部３０８は、ＲＡＭ２０１に保存されているラベリングされた指差し形状領域と距離情報とからユーザ１０２の指先位置を決定し、その結果をＲＡＭ２０１に保存する。イベント検出部３０９は、ＲＡＭ２０１に保存されている指先位置の状態に基づいて、撮像画像から情報共有に関する様々なイベントを検出する。情報共有に関するイベントの例として、本実施形態では、主として、共有開始指示を表すイベントを検出する場合の例について説明する。
【００２４】
表示制御部３１０は、実空間を撮像した撮像画像およびユーザ固有の仮想オブジェクトの表示部３１１での表示態様を様々に制御する。例えば、実空間を異なる方向から撮像している他端末（他のＡＲグラス１００）と同時期にイベントが検出されたとする。該イベントが当該他端末との協働で指定された位置での共有開始指示を表す場合、当該他端末との間で仮想オブジェクトの共有を可能とする共有領域を当該撮像画像の上記位置に重畳表示する。例えば、撮像画像に映った実物体と表示する仮想オブジェクトとの位置合せを行い、両者を重畳表示する。表示制御部３１０は、また、ユーザ１０２の視差を考慮して左目用、右目用のＵＩ画像をそれぞれ生成し、表示部３１１に出力する。表示部３１１は、左目用、右目用のメガネ型ディスプレイ２０５に左目用画面、右目用画面をそれぞれ表示する。なお、メガネ型ディスプレイ２０５は、光学シースルー方式のディスプレイ、ビデオシースルー方式のディスプレイのいずれの方式であっても構わない。
【００２５】
次に、計算資源１０１の主要な機能ブロックについて説明する。通信部４００は、同一の実空間をそれぞれ異なる方向から撮像している複数のＡＲグラス１００から撮像画像、撮像時刻、撮像位置、撮像時の姿勢情報を含む情報を受信する。このような情報をイベント情報と呼ぶ場合がある。つまり、通信部４００は、イベント情報を受信する受信手段として機能する。通信部４００は、また、ストレージＩ／Ｆを介して、記憶部４０３とのデータの入出力を制御する。
【００２６】
解析部４１２は、受信した各撮像画像を解析することにより、例えば、他端末との協働で指定された位置での共有開始指示を表すイベントを検出する。イベント判定部４１３は、各ＡＲグラス１００で検出されたイベントが同時期に生じている２つ以上のＡＲグラス１００を共有開始可能な端末と判定する。共有開始可能であれば、共有開始ＯＫを判定結果として出力する。他方、共有開始不能であれば、共有開始ＮＧを判定結果として出力する。各判定結果は、通信部４００を介して各ＡＲグラス１００に送信する。本実施形態では、この解析部４１２とイベント判定部４１３により、共有開始指示に対する判定手段として機能する。
【００２７】
共有領域設定部４１４は、共有開始可能とされた全てのＡＲグラス１００の姿勢情報を基に、各ＡＲグラス１００の撮像画像において指定された上記位置において各ユーザ固有の情報（例えば仮想オブジェクト）の共有を可能にする共有領域を設定する。そして、設定された共有領域の位置、形状およびサイズを含む共有領域情報を共有開始可能と判定した全てのＡＲグラス１００宛に出力する。共有領域情報および／または判定結果は、通信部４００を介して、イベント情報を送信してきた全てのＡＲグラス１００に送信される。つまり、通信部４００は、送信手段としても機能する。
なお、共有領域設定部４１４は、共有領域１０５を表示する全てのＡＲグラス１００またはそのユーザを識別するためのタグ情報を取得し、取得したこれらのタグ情報が共有領域１０５またはその周辺領域に表示されるように共有領域を設定する。この場合、共有領域設定部４１４は、共有領域情報と共にタグ情報を出力し、通信部４００は、これらの情報を全てのＡＲグラス１００に送信する。
【００２８】
＜動作例＞
次に、情報処理システムの動作例を図４および図５を参照して具体的に説明する。図４（ａ）は、ＡＲグラス１００Ａを装着したユーザ１０２ａと、ＡＲグラス１００Ｂを装着したユーザ１０２ｂがテーブル１０４を囲み、協調しながら情報共有を開始しようとする場面を示す。図５は、このときの処理の一例を示すシーケンス図である。
本実施形態では、ＡＲグラス１００Ａの撮像範囲１０７ａとＡＲグラス１００Ｂの撮像範囲１０７ｂとが共通する範囲のうち、ユーザ１０２ａとユーザ１０２ｂとが任意に定めた位置に共有領域を形成する。そのために、ユーザ１０２ａとユーザ１０２ｂとで協調して多角形領域の作成を指示し、この多角形領域を共有領域とする。つまり、各ユーザ１０２ａ，１０２ｂは、自分と相手の指先を同時に見ながら共有開始指示を表すイベントを発生させるものとする。２台のＡＲグラス１００Ａ，１００Ｂは、それぞれ電源ＯＮを契機に起動し、イベント検出処理を実行する（図５：Ｓ１００）。イベント検出処理については後述する（図７）。以後の説明では、ＡＲグラス１００Ａ、１００Ｂにおいて同時期（ほぼ同じ時刻）にイベント検出処理が開始されたものとする。
【００２９】
図４（ｂ１）は、ＡＲグラス１００Ａを装着したユーザ１０２ａが見ることができる表示画面１０６Ａの一例を示している。同様に、図４（ｂ２）は、ＡＲグラス１００Ｂを装着したユーザ１０２ｂが見ることができる表示画面１０６Ｂの一例を示している。ユーザ１０２ａは、左右の指先１０８ａ，１０８ｂで位置を指定する。同様に、ユーザ１０２ｂも、左右の指先１０８ｃ，１０８ｄで位置を指定する。これにより、撮像画像から、実空間において共有領域の表示位置を定める状態を検出することができる。つまり、共有領域となる多角形領域１０９の位置が他端末との協働で指定されたことがイベントとして検出される。
【００３０】
本実施形態では、図４（ｂ１），（ｂ２）の表示画面１０６Ａ，１０６Ｂにおいて、表示制御部３１０が、指先１０８ａ〜１０８ｄで指定された多角形領域１０９Ａ，１０９Ｂの位置をユーザ１０２ａ、１０２ｂが直感的に把握できるように強調表示する。図５のシーケンス図には示されていないが、共有開始前に、ＡＲグラス１００Ａの表示画面１０６Ａにすでにユーザ１０２ａ固有の写真Ｐａ１がテーブル１０４に重畳表示されているものとする。また、ユーザ１０２ｂが装着しているＡＲグラス１００Ｂの表示画面１０６Ｂにすでにユーザ１０２ｂ固有の写真Ｐｂ１がテーブル１０４に重畳表示されているものとする。
【００３１】
仮想オブジェクトである写真Ｐａ１，Ｐｂ１の撮像画像との位置合わせは、撮像部３０４が撮像したステレオ画像を基にテーブル１０４の３次元形状を推論エンジンで推定した上で行われる。すなわち、推論エンジンが、テーブル１０４の画像をもとに当該テーブル１０４の３次元形状を推定する。その後、推定されたテーブル１０４の３次元形状と表示する仮想オブジェクトの位置合わせを行う。これにより、あたかもテーブル１０４の面上に写真Ｐａ１，Ｐｂ１が存在するかのように重畳表示される。
【００３２】
図５を参照し、ＡＲグラス１００においてイベントが検出されると、各ＡＲグラス１００は、イベント情報をクラウド上の計算資源１０１へ送信する（Ｓ１０１）。イベント情報の生成方法については、後述する（図７）。イベント情報を受信した計算資源１０１は、共有判定処理を実行する（Ｓ１０２）。共有判定処理については、後述する（図８）。図５では、計算資源１０１において共有を開始してもよいという判定（共有判定ＯＫ）がなされたものとして説明を続ける。共有判定がＯＫとの判定後、計算資源１０１は、共有判定がなされたＡＲグラス１００ＡとＡＲグラス１００Ｂに対し、それぞれ共有判定の結果情報、共有相手先の情報、共有領域の属性情報を送信する（Ｓ１０３）。属性情報は、位置、形状、サイズ、色などの情報である。計算資源１０１から共有判定の結果情報等を受信したＡＲグラス１００は、それぞれ受信した情報に基づいて、情報共有のための接続を確立する（Ｓ１０４）。また、ＡＲグラス１００は、計算資源１０１から受信した共有領域情報を基に各ＡＲグラス１００の表示画面１０６に共有領域１０５を表示させる（Ｓ１０５）。
【００３３】
図４（ｃ１）は、ＡＲグラス１００Ａで共有領域１０５を表示した際に、ユーザ１０２ａが見ることができる表示画面１０６Ａを示している。同様に、図４（ｃ２）は、ＡＲグラス１００Ｂにおいて共有領域１０５を表示した際に、ユーザ１０２ｂが見ることができる表示画面１０６Ｂを示している。図４（ｃ１），（ｃ２）に示されるように、共有領域１０５は、実物体であるテーブル１０４の面上に重畳表示される。共有領域１０５の重畳表示方法は、前述した実物体への仮想オブジェクトの重畳表示方法と同じである。
【００３４】
本実施形態では、共有領域１０５を表示する際に、当該共有領域１０５を共有するＡＲグラス１００または当該ＡＲグラス１００を装着したユーザを識別するための識別情報を取得する。他ユーザまたは他端末を識別するための識別情報を第１タグ情報と呼ぶ。また、自己または自端末を識別するための識別情報を第２タグ情報と呼ぶ。また、これらを含む全体をタグ情報と呼ぶ。表示制御部３１０は、タグ情報を共有領域１０５またはその周辺領域に表示させる。図４（ｃ１），（ｃ２）には、共有領域１０５に、タグ情報１１０Ａ，１１０Ｂが表示されている。図４（ｃ１）の例では、第２タグ情報が「Ａ」で、第１タグ情報が「Ｂ」なので、共有領域１０５に「ＳｈａｒｅＡ＋Ｂ」のタグ情報１１０Ａが表示される。同様に、図４（ｃ２）の例では、共有領域１０５に「ＳｈａｒｅＢ＋Ａ」のタグ情報１１０Ｂが表示される。これらのタグ情報１１０Ａ、１１０Ｂにより、ユーザ１０２は、自分が誰と情報を共有しているかを直観的に把握できるようになる。なお、タグ情報１１０Ａ，１１０Ｂは、情報共有を行っている間、ずっと表示していてもよいし、共有開始後、一定時間表示したのちに非表示にしてもよい。
【００３５】
図５に戻り、共有開始指示の検出後、ＡＲグラス１００は、ユーザ１０２の指示操作、すなわちイベントの検出を継続し、検出したときは、その都度、計算資源１０１に通知する。計算資源１０１は、各ユーザ１０２による指示内容を判別したときは、判別した指示内容に基づく情報表示を行う。例えば、図６（ａ１）で示されるように、ユーザ１０２ａが写真Ｐａ１を指先１０８で操作して、その写真Ｐａ１を共有領域１０５に挿入したことを検知したとする（Ｓ１０６）。この場合、ＡＲグラス１００Ａは、ユーザ１０２ａが操作した写真Ｐａ１が共有領域１０５に入ったというイベントを検出する。そして、ＡＲグラス１００Ａは、共有領域１０５に配置した写真Ｐａ１のデータとその位置情報（仮想オブジェクトに関わる情報）を他端末宛、すなわちＡＲグラス１００Ｂに送信する（Ｓ１０７）。このデータと情報とを受信したＡＲグラス１００Ｂは、受信した写真Ｐａ１のデータと位置情報とに基づき、ＡＲグラス１００Ｂの表示画面１０６Ｂの共有領域１０５に、写真Ｐａ１を表示させる（Ｓ１０８）。その結果、写真Ｐａ１は、ユーザ１０２ａ，１０２ｂの間で共有される。すなわち、ユーザ１０２ａが装着しているＡＲグラス１００Ａには、共有領域１０５に加え、共有した写真Ｐａ１が重畳表示される。一方、ユーザ１０２ｂが装着しているＡＲグラス１００Ｂには、共有領域１０５に加え、ユーザ１０２ａによって共有された写真Ｐａ１とユーザ１０２ｂのプライベートな写真Ｐｂ１が重畳表示されている。但し、写真Ｐｂ１は、共有領域１０５に含まれていない。そのため、ユーザ１０２ａはそれを見ることができない。
【００３６】
なお、ユーザ１０２ａが共有領域１０５で写真Ｐａ１をさらに別の位置に移動したとする（Ｓ１０９）。この場合、ＡＲグラス１００Ａは、写真Ｐａ１の移動情報をＡＲグラス１００Ｂに送信する（Ｓ１１０）。ＡＲグラス１００Ｂは、受信した移動情報を基に写真Ｐａ１の共有領域１０５の表示位置を更新する（Ｓ１１１）。Ｓ１０９〜Ｓ１１１の処理は繰り返し行われる。
【００３７】
写真Ｐａ１に対するユーザ１０２ａの操作内容を検出したときのＡＲグラス１００Ａの処理は以下のようになる。まず、ＡＲグラス１００Ａの撮像部３０４で撮像した撮像画像から、領域検出部３０５、形状検出部３０６、距離算出部３０７、指先位置決定部３０８が協働して指先１０８を検出する。その後、イベント検出部３０９で、指先１０８と写真Ｐａ１との接触の有無を判定する。接触していると判定された場合は、指先１０８により写真Ｐａ１が操作されたことを検出する。
【００３８】
＜イベント検出処理＞
ここで、ＡＲグラス１００によるイベント検出部３０９の処理手順例を図７により詳しく説明する。ＡＲグラス１００は、まず、撮像部３０４から既定のフレームレートでＲＧＢステレオ画像（撮像画像）を取得し、ＲＡＭ２０１に保存する（Ｓ２００）。このとき、位置情報取得部３０１が、撮像画像の付加情報として、ユーザ１０２が存在する実空間上の位置情報をＧＰＳセンサ２０８から取得し、ＲＡＭ２０１に保存する。また、姿勢取得部３０２が、撮像画像の付加情報として、ＡＲグラス１００の向いている方向および姿勢を、ジャイロセンサ２０９で検出される角速度に基づいて算出し、ＲＡＭ２０１に保存する。その後、領域検出部３０５が、ＲＡＭ２０１に保存されている撮像画像を解析し、マスター画像およびスレーブ画像中に肌色領域があるかどうかを判定する（Ｓ２０１）。肌色領域を検出できなかった場合（Ｓ２０１：Ｎ）はＳ２００へ戻る。肌色領域が検出された場合（Ｓ２０１：Ｙ）、領域検出部３０５は、検出した肌色領域をラベリングし、その結果をＲＡＭ２０１に保存する。
【００３９】
形状検出部３０６は、ＲＡＭ２０１に保存されている肌色領域のラベル画像を利用して指差し形状を検出する（Ｓ２０２）。検出された指差し形状の例を図６（ｂ）に示す。本例では指差し形状を検出するために、図６（ｂ），（ｃ）に示される肌色領域を囲んだ凸領域６００ａ、６００ｂを利用する。例えば、図６（ｂ），（ｃ）をそれぞれ識別するために、凸領域６００ａ、６００ｂ全体に占める肌色領域の割合を算出し、両者を比較する。本例の場合、図６（ｃ）の凸領域６００ｂに対して、図６（ｂ）の凸領域６００ａの肌色領域の割合は小さい。手のサイズは共通なので、肌色領域の割合が相対的に小さい図６（ｂ）の凸領域６００ａは指差し形状と判別することができる。但し、指差し形状の検出は、図６（ｂ），（ｃ）の例に限定されない。例えば、検出したい指差し形状の画像を予めテンプレートとして用意し、撮像したステレオ画像とマッチングして指差し形状を検出してもよい。もしくは、肌色領域の形状から既定の特徴量を抽出し、機械学習することによって指差し形状を検出することも可能である。本実施形態では、指差し形状かそれ以外かを判定し、検出できれば十分である。このとき、形状検出部３０６は、検出した指差し形状の領域をラベリングし、その結果をＲＡＭ２０１に保存する。
【００４０】
形状検出部３０６は、その後、指差し形状が３つ以上存在するか否かを判定する（Ｓ２０３）。指差し形状が３つ以上存在しない場合（Ｓ２０３：Ｎ）、Ｓ２００に戻る。３つ以上存在する場合（Ｓ２０３：Ｙ）、指差し形状の先端部、すなわち指先位置のｚ軸方向の距離を算出する（Ｓ２０４）。具体的には、距離算出部３０７が、ＲＡＭ２０１に保存されているＲＧＢステレオ画像を解析し、マスター画像中の指差し形状領域の各画素に対する距離を算出する。例えば、マスター画像中の指差し形状領域の画素（ｍ、ｎ）の距離を算出する場合、距離算出部３０７は、まず（ｍ、ｎ）に対応するステレオ対応点（ｍ１、ｎ１）をスレーブ画像から探索する。そしてマスター画像中の画素（ｍ、ｎ）とスレーブ画像中のステレオ対応点（ｍ１、ｎ１）との視差から三角測量によって、画素（ｍ、ｎ）の距離（深さ）を求める。距離算出部３０７は、マスター画像中の全ての指差し形状領域の画素に対し、上記距離算出を行い、その結果をＲＡＭ２０１に保存する。
【００４１】
その後、指先位置決定部３０８は、ＲＡＭ２０１に保存されている指先形状領域の輪郭とその距離情報から指先位置を決定し、その結果をＲＡＭ２０１に保存する。ここでは、ＡＲグラス１００を装着しているユーザ本人の指先位置と、それ以外のユーザの指先位置とを区別して決定する。この指先位置の決定方法について、図６（ｄ）を参照して詳しく説明する。まず、輪郭上の等間隔の三点ａ、ｂ、ｃがなす角度θが閾値内である指先らしき点を複数個求め、指先らしき点が連続する部分を検出する。さらに、その連続する複数の指先らしき点の平均位置を指先位置の候補としてＲＡＭ２０１に保存する。さらに、距離情報を利用して最終的な指先１０８を決定し、ＲＡＭ２０１に保存する。具体的には、ＡＲグラス１００を装着しているユーザ側に領域が存在し、かつ距離が２０〜７０ｃｍの範囲にあり、かつその中でＡＲグラス１００から最も遠い位置に存在する指先の候補を最終的な指先位置として決定する。図６（ｄ）の例では、図示した指先１０８の位置が最終的な指先位置である。図４（ｂ１）の例では、指先１０８ａ、１０８ｂがＡＲグラス１００を装着しているユーザ本人の指先位置である。
【００４２】
なお、指先位置を「距離が２０ｃｍから７０ｃｍの範囲にある指先位置」としたのは、人の手が届く範囲を考慮した結果である。距離の下限を２０ｃｍ以上としたのは、あまりにもユーザの手や指先がＡＲグラスの撮像部３０４に近すぎると、撮像されるステレオ画像は肌色領域ばかりとなってしまい、形状認識が難しくなってしまうからである。このような課題が問題とならない場合、もしくは解決可能な場合は、指先位置の範囲を「２０ｃｍから７０ｃｍ」以外に設定しても構わない。
【００４３】
次に、ＡＲグラス１００を装着しているユーザ以外の指先位置の決定方法について説明する。形状検出部３０６で検出した指差し形状領域の輪郭を用いて、領域毎に指先位置の候補を求めるところまでは、ＡＲグラス１００を装着しているユーザの指先位置の決定方法と同じである。違いは、指差し形状の方向と距離の閾値である。具体的には、ＡＲグラス１００を装着しているユーザ側に指差し形状を表す領域が存在せず、かつ距離が７０ｃｍより大きいとする。その中で、ＡＲグラス１００から最も近い位置に存在する指先の候補があれば、それをＡＲグラス１００を装着しているユーザ以外の指先位置とする。図４（ｂ１）の例では、指先１０８ｃ、１０８ｄの位置がＡＲグラス１００を装着しているユーザ以外の指先位置となる。
【００４４】
図７に戻り、ＡＲグラス１００は、Ｓ２０５で決定した３個以上の指先位置から、少なくとも１つがＡＲグラス１００を装着しているユーザの指先か否かを判定する（Ｓ２０６）。指先が１つも存在しない場合（Ｓ２０６：Ｎ）、Ｓ２００に戻る。指先が１つ以上存在する場合（Ｓ２０６：Ｙ）、ＡＲグラス１００は、Ｓ２０５で決定した３個以上の指先位置のうち、少なくとも１つがＡＲグラス１００を装着しているユーザ以外の指先か否かを判定する（Ｓ２０７）。ユーザ以外の指先が１つも存在しない場合（Ｓ２０７：Ｎ）、Ｓ２００に戻る。ユーザ以外の指先が１つ以上存在する場合（Ｓ２０７：Ｙ）、イベント検出部３０９が共有開始指示を検出する（Ｓ２０８）。そして、通信部３００が、撮像部３０４で撮像した画像に加えて、共有開始指示を検出した際の撮像時刻、撮像位置、姿勢情報をクラウド上の計算資源１０１に送信する（Ｓ２０９）。
【００４５】
上記の一連の処理を終えると、ＡＲグラス１００は、動作を終了させるか否かを判定する（Ｓ２１０）。本実施形態では、物理ボタンやＧＵＩに対する入力操作により終了指示がなされた場合に、ＡＲグラス１００の動作を終了させる。動作を終了させない場合（Ｓ２１０：Ｎ）はＳ２００に戻り、上記処理を繰り返す。一方、動作を終了すると判定した場合（Ｓ２１０：Ｙ）、ＡＲグラス１００は、イベントの検出処理を含めた全ての処理を終了する。
【００４６】
＜共有開始判定処理＞
次に、図８を参照して、クラウド上の計算資源１０１が実行する共有開始判定処理について説明する。この処理は、情報処理システムが稼働している間、イベント判定部４１３が常時実行する。すなわち、計算資源１０１がＡＲグラス１００から共有開始指示の情報を受信するまで待つ（Ｓ３００：Ｎ）。共有開始指示の情報は、例えば、撮像画像、撮像位置、撮像時刻、姿勢情報などのイベント情報である。イベント情報を受信した場合（Ｓ３００：Ｙ）、イベント判定部４１３は、複数のＡＲグラス１００において同時期（ほぼ同時刻）の共有開始指示のイベントが存在するか否かを判断する（Ｓ３０１）。存在しない場合（Ｓ３０１：Ｎ）、イベント判定部４１３は、共有開始判定ＮＧと判定する（Ｓ３０７）。そして、通信部４００を通じて情報を送信してきたＡＲグラス１００に判定結果を送信する。
【００４７】
Ｓ３０１において、同時期の共有開始指示のイベントが存在する場合（Ｓ３０１：Ｙ）、イベント判定部４１３は、ほぼ同位置でのイベントか否かを判定する（Ｓ３０２）。そうでない場合（Ｓ３０２：Ｎ）、上記Ｓ３０７に処理が移行する。ほぼ同位置であった場合（Ｓ３０２：Ｙ）、解析部４１２と協働で、各ＡＲグラス１００から送信されてきた画像とその画像を撮像した際の姿勢情報とを利用して対応関係にある指先を検出する。そしてその結果をＲＡＭ２０１に保存する（Ｓ３０３）。図４（ｂ１），（ｂ２）の例では、ＡＲグラス１００Ａによって撮像された画像に含まれる指先１０８ａ，１０８ｂと、ＡＲグラス１００Ｂによって撮像された画像に含まれる指先１０８ｃ，１０８ｄとを対応付ける処理を行う。なお、Ｓ３０３において、解析部４１２は、さらに、対応付けした指先によって形成される領域の形状の類似度、すなわちどれだけ形状が一致しているかを判定してもよい。図４（ｂ１），（ｂ２）の例では、ＡＲグラス１００Ａによって撮像された画像に含まれる多角形領域１０９ａとＡＲグラス１００Ｂによって撮像された画像に含まれる多角形領域１０９ｂとの類似度を数値化し、共有開始判定に利用してもよい。
【００４８】
その後、イベント判定部４１３は、対応関係にある指先が存在するか否かを判定する（Ｓ３０４）。対応関係にある指先が存在しない場合（Ｓ３０４：Ｎ）、上記Ｓ３０７に処理が移行する。対応関係にある指先が存在する場合（Ｓ３０４：Ｙ）、共有領域設定部４１４は、対応付けした指先によって特定される領域を、図４（ｂ１），（ｂ２）に示される共有領域１０５として設定する（Ｓ３０５）。共有領域１０５が設定されると、イベント判定部４１３は、共有開始ＯＫと判定し（Ｓ３０６）、情報を送信してきたＡＲグラス１００に、それぞれ判定結果と共有領域の属性情報を送信する。
【００４９】
上記一連の処理を終えると、計算資源１０１は、情報処理システムを終了するか否かを判定する（Ｓ３０８）。本実施形態では、計算資源１０１を含めた情報処理システム全体の動作を終了することはほぼないが、仮にサービスを終了するために計算資源１０１を終了する場合は、情報処理システムの動作を終了すると判定する。情報処理システムの動作が終了しない場合（Ｓ３０８：Ｎ）、Ｓ３００へ戻り、上記一連の処理を繰り返す。一方、情報処理システムを終了すると判定した場合（Ｓ３００：Ｙ）、情報処理システムは全ての処理を終了する。
【００５０】
以上説明したように、本実施形態では、ＡＲグラス１００を装着したユーザ１０２がそれぞれ指先で多角形領域を指定することで情報処理システムにおいて当該指定した位置での共有開始指示のイベントを検出させ、これにより共有領域１０５を設定させる。共有開始は、情報共有を行うユーザ１０２同士が協調して行うため、どのユーザと情報共有を開始するのかを直観的に把握できる。また、情報共有を行うユーザ１０２が装着する全てのＡＲグラス１００の画像において共有開始指示を表す状態が存在している必要があるため、意図しないユーザとの間で共有が開始される可能性が低い。そのため、結果的にセキュリティが高くなる。
【００５１】
また、指先で指定した多角形領域が共有領域１０５として設定されるため、ユーザ１０２は任意の大きさ、形状の共有領域を自由に設定できる。その結果、例えばテーブル１０４の面上に実物体がある場合でも、実物体が邪魔にならないように共有領域１０５を設定できたり、また逆に実物体を参照しながら情報共有を行いたい場合でも、実物体近傍に共有領域１０５を設定したりすることが可能となる。
【００５２】
なお、本実施形態では明記していないが、情報共有を開始しようとしているＡＲグラス１００の数、それによるユーザ１０２の人数から推測される当該ユーザが操作する指示入力体の最大数が所定範囲を超えた状態を共有開始ＯＫのイベントに含めてもよい。あるいは、撮像画像に映った指示入力体の数と推定した数との差が所定範囲を超える場合に共有開始不能と判定するようにしてもよい。同様に、撮像画像と姿勢情報に基づいて指示入力体の侵入位置を検出し、検出した侵入位置が既定の範囲外である場合は、指示入力体の数に関わらず、共有開始不能と判定するようにしてもよい。これらの共有開始不能と判定する条件を含めることによって、よりセキュアな情報共有が可能となる。
【００５３】
また、本実施形態では説明を省略したが、例えば、イベント検出部３０９で検出されたイベントが、既存の共有領域１０５の消去指示を表すときに、当該共有領域１０５の一部または全領域を消去する制御を行うことも可能である。消去指示は、例えば、ユーザが左右の指をクロスするなどにより表すことができる。この場合、共有領域の一部領域をその後に指示することで、当該領域だけを消去するものであってもよい。あるいは、それまで共有を行っていたいずれかのユーザが、撮像画像に一定時間以上映らなくなった状態、もしくは無操作状態（共有領域を見ない状態）が一定時間継続された時点で消滅するようにしてもよい。
【００５４】
また、操作ミスによって誤ってプライベートな情報が共有されてしまうことを防ぐ機能を追加することは容易に考えられる。例えば、共有領域１０５が設定されたタイミングで、共有領域１０５の表示前にその位置に元々存在していたプライベートな仮想オブジェクトを共有領域外に出す処理を追加しても構わない。また、共有領域１０５へのプライベートな仮想オブジェクトの移動状況が所定条件を満たさない場合は、当該移動を無効にするように制御してもよい。例えば、移動はドラッグ＆ドロップで行うことを条件とし、それ以外の操作、例えばフリック操作など投げ込むような操作を行った場合は跳ね返るといった制御を行うようにしてもよい。
【００５５】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。第１実施形態で説明した内容と共通するものについては同符号を付し、適宜説明を省略する。ＡＲグラス１００のハードウェア構成、および機能ブロックの構成は第１の実施形態と同じである。第２実施形態では、共有領域１０５に新規メンバーを追加する場面について説明する。すなわち、図４（ｃ１），（ｃ２）に示されるように２人のユーザ１０２が既に共有を開始し、共有領域１０５が設定されている状態から説明を始める。
【００５６】
３人目のユーザが、既に共有を開始している２人のユーザに対して一定距離以内近づいたとする。すると、計算資源１０１は、既に共有している２人のユーザの共有領域１０５の領域情報を、３人目のユーザが装着しているＡＲグラス１００へ送信する。その結果、３人目のユーザが装着しているＡＲグラス１００には、既存の共有領域１０５の外形が表示される。このとき、３人目のユーザは共有領域１０５にまだ参加していない。そのため、３人目のユーザが装着しているＡＲグラス１００には、２人のユーザ１０２が既に共有している写真（仮想オブジェクト）は表示されない。３人目のユーザは、その外形から、既存の共有領域１０５の存在だけを認識することができる。
【００５７】
３人目のユーザが既存の共有領域１０５に新規メンバーとして参加したい場合、そのユーザは、実空間において共有参加指示を表すイベントを発生させる。例えば、手または指先を既存の共有領域１０５に重ね合わせる操作指示を行う。３人目のユーザを含めた全てのユーザの装着するＡＲグラス１００は、それぞれ共有参加指示のイベントを同時期に検出する。そのため、各ＡＲグラス１００は、第１実施形態と同様、撮像画像、当該イベントの検出時の撮像時刻、撮像位置、姿勢情報のほか、共有参加指示に関する情報を計算資源１０１に送信する。このとき、既存の共有領域１０５を共有しているユーザが装着しているＡＲグラス１００の全てで共有参加指示を受け入れるイベントが検出されたとする。すると、当該イベントが検出されたときの撮像画像、当該イベントを検出した際の撮像時刻、撮像位置、姿勢情報なども計算資源１０１に送信される。計算資源１０１は、送信されてきたこれらの情報をＳ１０２の共有判定処理で処理する。共有判定処理の処理は、第１実施形態において説明した内容と同様である。共有判定処理の結果がＯＫであれば、３人目のユーザも既存の共有領域１０５を共有できるものとなる。
【００５８】
このように、第２実施形態では、３人目のユーザには既存の共有領域１０５の外形のみが提示されるが、共有参加指示のイベントが検出され、共有判定処理の判定結果がＯＫになると、そのユーザは共有領域１０５を利用できる新規メンバーとなる。なお、新規メンバーを追加する態様はこの限りではない。３人目のユーザを含めた全員で共有開始指示のイベントを発生させ、共有領域１０５を再設定した上で、３人目のユーザを新規メンバーとして追加しても構わない。
【００５９】
＜第３実施形態＞
次に、本発明の第３実施形態について説明する。第１の実施形態で説明した内容と共通するものについては同符号を付し、適宜説明を省略する。また、ＡＲグラス１００のハードウェア構成、および機能構成は、第１の実施形態と同じである。第２実施形態では、予めプライベートな仮想オブジェクト（写真Ｐａ１等）が表示されている場合の例であるが、第３実施形態では、予め表示されている仮想オブジェクトが存在しない場合の例を説明する。第３実施形態では、共有領域１０５の設定後、ＡＲグラス１００のストレージ２１１から仮想オブジェクトの他の例となるプライベートコンテンツを適宜読み出して表示するものとする。
【００６０】
第３実施形態では、図５のＳ１０５において共有領域１０５を表示する際に、共有領域１０５の近傍で、かつユーザ１０２の手の届く範囲に、ストレージ２１１に記憶されているプライベートコンテンツにアクセスする。そして、いずれかのプライベートコンテンツを選択的に取得するためのハンドル画像を表示する。ハンドルは、例えば、フォルダやリスト等である。このようなハンドル画像の一例を図９（ａ）に示す。ハンドル画像は、図示の例ではスクロールハンドル９００であり、プライベートコンテンツが左右に並んで表示されている。ユーザ１０２ａが指先で左右にフリック操作すると、スクロールハンドル９００内部に表示される仮想オブジェクトは、フリックした方向にスクロールする。
【００６１】
このように、共有領域１０５の近傍で、かつユーザ１０２ａの手の届く範囲に、プライベートコンテンツにアクセスするためのスクロールハンドル９００を表示する。これにより、ユーザ１０２ａは、プライベートコンテンツへ簡単にアクセスしつつ、情報共有を行うことが可能となる。なお、図９（ａ）は、ユーザ１０２ａからみたスクロールハンドル９００の例であるが、ユーザ１０２ｂ側でも同様の処理が可能である。
【００６２】
＜第４実施形態＞
次に、本発明の第４実施形態について説明する。第１実施形態で説明した内容と共通するものについては同符号を付し、適宜説明を省略する。ＡＲグラス１００のハードウェア構成、および機能構成は第１実施形態と同じである。第４実施形態では、イベントとしてＡＲグラス１００を装着したユーザ１０２が、握手、もしくは手を重ね合わせる動作を協調して行う例を説明する。なお、第１ないし第３実施形態と異なり、第４実施形態では、実空間上に立体的な共有領域を設定する。
【００６３】
第４実施形態のＡＲグラス１００は、図５のＳ１００において、握手もしくは手を重ね合わせる協調動作をイベントとして検出する。具体的には、撮像部３０４で撮像したステレオ画像から、領域検出部３０５によって肌色領域を検出し、さらに形状検出部３０６において、手形状を検出する。そして、検出した手形状を、図９（ｂ）で示すように、ＡＲグラス１００を装着したユーザ本人の手領域９０２とそれ以外の手領域９０１とに分類する。そして各領域が次第に近づいて接触し、最終的に一つの肌色領域９０３になることをイベントとして検出する。一つの肌色領域９０３になってから一定時間経過すると、ＡＲグラス１００のイベント検出部３０９は、イベントを検出したと判定する。そして通信部３００が、第１実施形態と同様にイベントの情報を計算資源１０１に送信する。計算資源１０１の共有領域設定部４１４は、図９（ｃ）で示すような、球状の共有領域１０５を設定し、その結果をＡＲグラス１００に返信する。図９（ｃ）の場合は、握手した手の周辺に、システム規定の半径で球体状の共有領域を設定している例を示している。このように、第４実施形態で示した方法を用いると、実空間上の任意の位置に立体的な共有領域を作成することが可能となる。
【００６４】
＜第５実施形態＞
次に、本発明の第５実施形態について説明する。第１実施形態で説明した内容と共通するものについては同符号を付し、適宜説明を省略する。ＡＲグラス１００のハードウェア構成、および機能構成は第１実施形態と同じである。第５実施形態では、個々のユーザ、もしくは個々のＡＲグラス１００に紐付いている実物体をイベントに利用する例を説明する。
【００６５】
図９（ｄ）には、実物体の例として２つのＩＤカード９０４，９０５が示されている。これらのＩＤカード９０４，９０５には、ＡＲグラス１００を装着したユーザ１０２ａ、１０２ｂにそれぞれ紐付いている。ＩＤカード９０４、９０５には、ＡＲマーカが印字されており、ＡＲグラス１００を通してＩＤカードを見ると、どのユーザのＩＤカードなのかを判定することができる。図９（ｄ）で示すように、撮像部３０４において、テーブル１０４の面上に複数配置されたＩＤカード９０４，９０５が撮像されると、イベント検出部３０９は、イベントを検出したと判定する。その結果、通信部３００は、第１実施形態と同様にイベントに関する情報を計算資源１０１に送信する。
【００６６】
計算資源１０１は、共有領域設定部４１４が、図９（ｅ）で示すような、共有領域１０５を設定し、その結果をＡＲグラス１００に返信する。図９（ｅ）の場合は、ＩＤカード９０４と９０５を含み、かつＩＤカード９０４と９０５が共有領域の対角線上の端点となるように共有領域が設定されている。但し、共有領域の設定法はこの限りではない。例えば、ＩＤカード９０４と９０５を結ぶ直線の中間位置にシステム規定の形状、大きさの共有領域を設定しても構わない。
【００６７】
なお、複数の実物体の代わりに、１つの実物体に紐付けされた仮想オブジェクトを利用することも可能である。例えば、複数のＡＲグラス１００を装着したユーザ１０２がテーブル１０４に紐付けされた仮想的なボタンをＡＲグラス１００の表示部３１１に表示した状態で、その仮想的なボタンを同時に押下してもよい。この場合は、「仮想ボタンを複数のユーザが押下する」というイベントをＡＲグラス１００で検出していることになる。
【００６８】
このように、第５実施形態では、個々のユーザ、もしくは個々のＡＲグラス１００に紐付いている実物体を利用することにより、ユーザの手や指先を利用した場合と同様に、セキュリティを考慮した情報共有を簡単に開始することができる。
【００６９】
＜他の実施形態＞
以上、第１〜第５実施形態を詳述したが、本発明は、計算資源１０１の機能をＡＲグラス１００に持たせることで、ＡＲグラス１００同士で共有開始時期を自由に決めたり、任意の位置に共有空間１０５を設定することも可能である。
また、ＣＰＵ２００を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、各実施形態において示した機能を演算部や回路で構成すれば良い。
本発明はまた、コンピュータプログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。また、各実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（又は記憶媒体）を、情報通信端末や計算資源に供給する場合、係る記憶媒体はコンピュータ読み取り可能な記憶媒体である。情報通信端末や計算資源のＣＰＵが、記録媒体に格納されたプログラムコードを読み出し実行する場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになる。そのため、そのプログラムコードを記録した記録媒体もまた、本発明を構成することになる。
【図１】
0006632322.tif 000002
【図２】
0006632322.tif 000003
【図３】
0006632322.tif 000004
【図４】
0006632322.tif 000005
【図５】
0006632322.tif 000006
【図６】
0006632322.tif 000007
【図７】
0006632322.tif 000008
【図８】
0006632322.tif 000009
【図９】
0006632322.tif 000010