(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
G06F 9/445 20180101AFI20240829BHJP
G06F 9/48 20060101ALI20240829BHJP
【FI】
G06F9/445 130
G06F9/48 370
(21)【出願番号】P 2022532961
(86)(22)【出願日】2020-07-02
(86)【国際出願番号】 JP2020026042
(87)【国際公開番号】W WO2022003912
(87)【国際公開日】2022-01-06
【審査請求日】2022-12-27
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】高見澤 尚久
(72)【発明者】
【氏名】橋本 康宣
(72)【発明者】
【氏名】岡田 義憲
【審査官】多賀 実
(56)【参考文献】
【文献】特開2012-227814(JP,A)
【文献】特開2017-123908(JP,A)
【文献】特開2012-146279(JP,A)
【文献】特開2010-136238(JP,A)
【文献】特開2017-059062(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44- 9/54
G06F 15/00
A63F 13/00-13/98
H04L 51/00-51/58
H04L 67/00-67/75
H04N 7/15
(57)【特許請求の範囲】
【請求項1】
複数の情報処理端末で連携してアプリケーションを実行する情報処理システムであって、
前記情報処理端末は、それぞれ、
予め定めた連携マークを検出する検出部と、
検出された前記連携マークに対応付けられたアプリケーションを連携アプリとして、同じ前記連携マークを検出した他の前記情報処理端末と連携して実行する実行部と、を備
え、
前記情報処理システムは、
同じ前記連携マークを検出した複数の前記情報処理端末を、前記連携アプリを連携して実行する連携グループの構成端末として管理する連携管理部を備える第二情報処理端末をさらに備え、
前記連携管理部は、連携管理処理により得られたデータを、他の前記構成端末に送信するとともに、他の前記構成端末から前記連携管理処理により得られたデータを受信し、
前記連携マークは、前記第二情報処理端末のディスプレイに表示され、
前記検出部は、前記第二情報処理端末が、予め定めた配置状態であることを検出した場合、前記連携マークを検出すること
を特徴とする情報処理システム。
【請求項2】
請求項
1記載の情報処理システムであって、
前記第二情報処理端末も、前記連携アプリを連携して実行する連携グループの構成端末として管理されること
を特徴とする情報処理システム。
【請求項3】
請求項1
または2記載の情報処理システムであって、
前記情報処理端末は、前記連携マークを検出すると、当該連携マークを特定するマーク識別情報と自身を特定する端末識別情報とを含む検出通知データを、前記第二情報処理端末に送信する連携部を備え、
前記連携管理部は、前記検出通知データを受信すると、当該検出通知データに含まれる前記マーク識別情報が合致する送信元の前記情報処理端末を、1つの連携グループの構成端末として管理すること
を特徴とする情報処理システム。
【請求項4】
請求項
3記載の情報処理システムであって、
前記連携部は、前記連携アプリを終了すると、当該連携アプリを終了したことを通知する終了通知データであって、前記マーク識別情報と前記端末識別情報とを含む前記終了通知データを、前記第二情報処理端末に送信し、
前記連携管理部は、前記終了通知データを、他の前記情報処理端末から受信すると、当該終了通知データに含まれる前記マーク識別情報で特定される前記連携マークに基づいて管理される前記連携グループから、当該終了通知データに含まれる前記端末識別情報に合致する前記情報処理端末を除くこと
を特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の情報処理端末間でアプリケーション(以下、アプリと称す)を連携して実行することを支援する技術に関する。
【背景技術】
【0002】
複数の情報端末間で連携してアプリケーションを実行することが増えている。連携元デバイスに連携する最適な連携先デバイスを選択する技術として、例えば、特許文献1には、「連携元デバイスと、連携元デバイスに接続可能な複数の連携先デバイスと、連携元デバイスおよび複数の連携先デバイスにそれぞれ登録されたアプリの連携を制御するアプリ連携装置とを有し、アプリ連携装置は、連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理する第1の管理部と、連携元デバイスからの連携要求に対し、前記デバイス情報を参照して、連携が可能な連携先デバイスおよびアプリを示す連携候補を取得する第2の管理部と、前記連携候補に示されるアプリを起動し、連携を行うデバイスおよび当該デバイスに登録された連携が可能なアプリを連携先に確定する連携制御部とを含む(要約抜粋)。」情報処理システムが開示されている。
【0003】
また、複数の機器が撮影した画像の同一性の判定に基づき、複数の機器の連携制御を行う技術がある。例えば、特許文献2には、「第1機器で撮影された第1画像を撮影時刻とともに取得する第1取得部と、第2機器で撮影された第2画像を撮影時刻とともに取得する第2取得部と、第1画像と第2画像それぞれの撮影画像と撮影時刻に基づき、第1画像と第2画像の撮影位置の同一性を判定する判定部と、判定結果を第1機器もしくは第2機器に出力する出力部と、を有する(要約抜粋)」判定装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-142693号公報
【文献】特開2016-174253号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ヘッドマウントディスプレイ(Head Mounted Display:HMD)などの情報端末を装着したユーザ間でグループを形成して、情報端末に搭載されているアプリを共有して実行することが増えている。
【0006】
特許文献1には、連携通信を確立してアプリが起動可能な全情報端末でアプリを起動することについては記載されているものの、情報端末を選択して起動する観点については何ら示唆されていない。このため、ユーザ間でグループを形成し、アプリを共有することは実現しにくい。
【0007】
また、特許文献2には、撮影した画像の同一性に基づいて、機器どうしを連携させることについては記載されているものの、アプリの起動、およびアプリの連携については何ら開示されていない。
【0008】
本発明は、上記事情に鑑みてなされたもので、複数の情報処理端末間で、簡単に使い勝手よくアプリケーションの連携を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、複数の情報処理端末で連携してアプリケーションを実行する情報処理システムであって、前記情報処理端末は、それぞれ、予め定めた連携マークを検出する検出部と、検出された前記連携マークに対応付けられたアプリケーションを連携アプリとして、同じ前記連携マークを検出した他の前記情報処理端末と連携して実行する実行部と、を備え、前記情報処理システムは、同じ前記連携マークを検出した複数の前記情報処理端末を、前記連携アプリを連携して実行する連携グループの構成端末として管理する連携管理部を備える第二情報処理端末をさらに備え、前記連携管理部は、連携管理処理により得られたデータを、他の前記構成端末に送信するとともに、他の前記構成端末から前記連携管理処理により得られたデータを受信し、前記連携マークは、前記第二情報処理端末のディスプレイに表示され、前記検出部は、前記第二情報処理端末が、予め定めた配置状態であることを検出した場合、前記連携マークを検出することを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数の情報処理端末間で、簡単に使い勝手よくアプリケーションの連携を実現できる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】第一実施形態の情報処理システムの概要を説明するための説明図である。
【
図2】第一実施形態の情報処理システムの構成図である。
【
図3】第一実施形態のHMDのハードウェア構成図である。
【
図4】(a)は、第一実施形態のHMDの機能ブロック図であり、(b)は第一実施形態のアプリリストの一例を、(c)は、第一実施形態の通知データの一例を、(d)は、第一実施形態の連携グループリストの一例を、それぞれ説明するための説明図である。
【
図5】(a)~(c)は、第一実施形態の連携マークの検出を説明するための説明図である。
【
図6】第一実施形態の連携処理のフローチャートである。
【
図7】第二実施形態の情報処理システムの構成図である。
【
図8】(a)は、第二実施形態のサーバの機能ブロック図であり、(b)は、第二実施形態の連携グループリストの一例を説明するための説明図であり、(c)は、第二実施形態のサーバのハードウェア構成図である。
【
図9】第二実施形態の連携処理のフローチャートである。
【
図10】第二実施形態の変形例のシステム構成図である。
【
図11】第三実施形態のシステム構成を説明するための説明図である。
【
図12】(a)および(b)は、第三実施形態の検出部による連携マークの検出を説明するための説明図である。
【
図13】第三実施形態のスマートフォンのハードウェア構成図である。
【
図14】(a)は、第三実施形態のスマートフォンの機能ブロック図であり、(b)は、第三実施形態の変形例のアイコン表示例を説明するための説明図である。
【
図15】第三実施形態の連携処理のフローチャートである。
【発明を実施するための形態】
【0012】
<<第一実施形態>>
以下、本発明の第一実施形態の例を、図面を用いて説明する。
図1は、本実施形態に係る情報処理システムの概要を説明するための説明図である。
【0013】
近年、現実に似せた仮想世界を作り出し、あたかもそこにいるような感覚を体験できる仮想現実(Virtual Reality:VR)技術や、現実世界にデジタル情報を付与しCG(Computer Graphics)などで作った仮想空間(仮想オブジェクト)を現実世界に反映し拡張していく拡張現実(Augmented Reality:AR)技術が、ゲームや各種シミュレーションに利用されている。これらの技術を具現化する情報処理端末として、ディスプレイやカメラなどを頭部に装着するヘッドマウントディスプレイ(Head Mounted Display:HMD)が広く用いられている。そして、HMDなどの情報処理端末を装着したユーザ間でグループを形成して、情報端末に搭載されているアプリを連携して実行し、グループ間でチャットや会議、ゲームなどが行われている。
【0014】
これらのアプリの連携実行は、簡単かつ安全に行えることが望まれている。本実施形態は、これを実現する。
【0015】
本実施形態では、各々、ヘッドマウントディスプレイ(HMD)100を装着した、複数のユーザ900が、各HMD100に搭載された共通のアプリケーション(アプリ)を、連携して実行する。各HMD100に搭載されるアプリは、チャット、音楽・画像の再生、書類作成など特定の作業を行うために使用される同一或いは同等のものとする。
【0016】
連携は、ユーザ900が、実行するアプリに対応するマークを認識することにより実現される。マークは、例えば、アプリの起動などの機能を呼び出すための図形であり、どこかに印刷や記述されたものでもよいし、情報処理端末などの画面上に表示されたものでもよい。マークは幾何学的な図形に限らず、文字等であってもよい。マークは、起動するアプリが決定できればよく、以下、連携マーク810と呼ぶ。また、連携マーク810の認識により、各HMD100で起動されるアプリは同一のアプリである必要はない。例えば、チャットのマークを認識したときに起動するアプリは、互いが連携してチャットできるアプリであればよい。
【0017】
図1では、四人のユーザ901、902、903、904の頭部に各々装着されたHMD101、102、103、104と、連携マーク810とを例示する。なお、区別する必要がない場合は、HMD100、ユーザ900で代表する。
【0018】
各HMD100の間は、無線通信912、913、914、923、924、934により、情報の送受信が行われる。なお、各HMD100間の情報の送受信は、相互の直接の無線通信だけなく、サーバ等を経由して行われてもよい。
【0019】
本図では、HMD101、102、103は、そのユーザ901、902、903の各視線941、942、943の先にある連携マーク810を、ユーザ901、902、903が認識したことを検出し、当該連携マーク810に対応するアプリを連携して実行するアプリ(連携アプリ)として特定する。
【0020】
また、HMD101、102、103は、同じ連携マーク810を検出したHMD100であって、無線通信912、913、923、を介して連携アプリを連携して実行する連携グループとして特定される。そして、連携グループとして特定されたHMD101、102、103間で連携アプリを連携して実行する。
【0021】
例えば、
図1に示すように、連携マーク810に対応する連携アプリが、チャットアプリとする。この場合、HMD101、102、103は、対応するチャットアプリを連携して実行する。HMD101、102、103のディスプレイ131には、各ユーザ900の会話内容を示すチャット画面が表示される。
【0022】
一方、視線944の先が連携マーク810を向いてないHMD104のユーザ904は、連携マーク810を認識しない。すなわち、HMD104は、連携マーク810を検出しない。このため、HMD104は、連携マーク810に対応するアプリを連携アプリとして特定しない。よって、HMD104は、連携アプリを連携して実行する連携グループに入らない。このため、HMD104のディスプレイ131には、各ユーザ900の会話内容を示すチャット画面は表示されない。
【0023】
例えば、チャットのアプリ等では、通常、アプリを起動した後にチャット相手を選んだり、チャットのグループを選んだりする必要がある。しかしながら、本実施形態では、参加したいユーザ900が、チャットアプリに対応づけられた連携マーク810を見るだけで、自動的にチャットアプリが起動し、同じ連携マーク810を見ているユーザ900のHMD100が連携グループとして認識される。このように、本実施形態によれば、その場で同じ連携マーク810を見るユーザ900が装着するHMD100だけで連携アプリを連携して実行する連携グループが自動的に形成される。また、連携アプリは、HMD100を装着するユーザ900が連携マーク810を認識する(HMD100が検出する)だけで、特定される。このため、連携グループの構成メンバを選んだり、連携アプリを起動したりする手間が不要になる。
【0024】
また、連携マーク810を見ていないユーザ900のHMD100は、連携グループのメンバに加わらない。このため、誤って意図しないユーザ900のHMD100を連携グループのメンバに加えてしまうことがない。すなわち、その場にいるユーザ900のHMD100のみが連携グループに参加する。このため、誤ってその場にいないユーザ900のHMD100に情報を送ってしまう恐れがなく、安全に連携グループ形成ができる。また、頻繁にユーザ900が入れ替わる状況であっても、簡単に、連携グループの構成メンバを管理できる。
【0025】
[システム構成]
以下、上記を実現する本実施形態の情報処理システム700について、まず、システム構成を説明する。
図2は、本実施形態の情報処理システム700のシステム構成図である。
【0026】
本図に示すように、本実施形態の情報処理システム700は、複数のHMD100(101、102、103、104)と、連携マーク810と、を備える。
【0027】
HMD100は、ユーザ900が頭部に装着して、処理した情報をディスプレイ131に表示する装置である。本実施形態のHMD100は、眼鏡形状を有し、眼鏡のレンズ位置にディスプレイ131を備える。ディスプレイ131は、透過型であっても、非透過型であってもよい。
【0028】
HMD100では、ユーザ900は、ディスプレイ131を介して、実空間の状況を観察できる。また、ディスプレイ131には、拡張現実のARオブジェクトを表示することができる。従って、ユーザ900は、ディスプレイ131に表示されたARオブジェクトと、実空間の状況との両者を同時に視認することができる。
【0029】
連携マーク810は、上述のように、検出されることにより、連携アプリの特定および連携グループの構成メンバの認定における基準となるマークである。上述のように、例えば、連携アプリのアイコン図形等が用いられる。本実施形態では、例えば、壁、柱、机上等、予め定めた位置に固定される。
【0030】
[HMD]
次に、本実施形態のHMD100のハードウェア構成および機能ブロックについて図面を用いて説明する。
【0031】
[ハードウェア構成]
以下、上記処理を実現する本実施形態のHMD100について、ハードウェア構成を説明する。
図3は、本実施形態のHMD100の構成例を示すブロック図である。これらの図では、
図1、
図2に示した構成と同一のものには同一の符号を付す。
【0032】
本図に示すように、本実施形態のHMD100は、メインプロセッサ111と、システムバス112と、記憶装置110と、操作受付装置120と、画像処理装置130と、音声処理装置140と、センサ150と、通信装置160と、拡張インタフェース(I/F)部171と、タイマ172と、振動発生装置173と、を備える。各構成部は送受信アンテナを除きそれぞれシステムバス112を介して相互に接続される。
【0033】
メインプロセッサ111は、所定のプログラムに従ってHMD100全体を制御する主制御部である。メインプロセッサ111は、CPU(Centoral Processor Unit)またはマイクロプロセッサユニット(MPU)で実現される。メインプロセッサ111は、記憶装置110に記憶されるオペレーティングシステム(Operating System:OS)や各種の動作制御用アプリケーションなどのプログラムを実行することによって、HMD100全体の動作制御処理を行う。また、メインプロセッサ111は、各種のアプリの起動動作を制御する。メインプロセッサ111は、タイマ172が計測し、出力するクロック信号に従って、処理を行う。
【0034】
システムバス112は、メインプロセッサ111とHMD100内の各部との間でデータ送受信を行うためのデータ通信路である。
【0035】
記憶装置110は、RAM113とROM114とフラッシュメモリ115と、を備える。記憶装置110には、オペレーティングシステムや、音楽、画像、文書等の各種の動作制御用アプリなどのプログラムが記憶される。また、オペレーティングシステムなどによる基本動作に必要なベースデータや、各種アプリなどで起動されるファイルデータなどの情報データが格納される。例えば、HMD100に搭載されている音楽アプリが起動し音楽のファイルデータが選択されると、HMD100では選択された音楽のファイルデータが再生されて、所望の音楽を聴くことができる。
【0036】
RAM113は、基本動作プログラムやその他のアプリケーションプログラム実行時のプログラム領域である。また、RAM113は、各種アプリケーションプログラム実行時に、必要に応じてデータを一時的に保持する一時記憶領域である。RAM113は、メインプロセッサ111と一体構成であっても良い。
【0037】
ROM114およびフラッシュメモリ115は、HMD100の機能を実現するための各種プログラムと、動作設定値、後述するセンサ150からの検出値を含むセンサ情報、仮想オブジェクトおよびコンテンツ等の各種表示用データを記憶する。
【0038】
フラッシュメモリ115は、ネットワーク300上からダウンロードした動作プログラムや前記動作プログラムで作成した各種データ等を記憶する。フラッシュメモリ115に記憶された各動作プログラムは、ネットワーク300上の各サーバ装置からのダウンロード処理により更新および機能拡張することができる。
【0039】
さらに、フラッシュメモリ115は、ネットワーク300上からダウンロードした動画や静止画や音声等のコンテンツを記憶できる。また、インカメラ134またはアウトカメラ133が撮影した動画や静止画等のデータを記憶する。
【0040】
ROM114およびフラッシュメモリ115は、HMD100に外部から電源が供給されていない状態であっても記憶している情報を保持する、所謂不揮発性ストレージである。以下、ROM114およびフラッシュメモリ115を、特に区別する必要がない場合は、両者を併せて内蔵メモリストレージ(Internal Memory Storage)と呼ぶ。メインプロセッサ111が、内蔵メモリストレージに記憶された新規アプリケーションプログラムをRAM113に展開し、実行することにより、HMD100は、多種の機能を実現できる。
【0041】
内蔵メモリストレージは、HMD100に電源が供給されていない状態であっても記憶している情報を保持する必要がある。従って、内蔵メモリストレージには、例えばフラッシュROMやSSD(Solid State Drive)、HDD(Hard Disc Drive)等のデバイスが用いられる。
【0042】
内蔵メモリストレージは、オペレーティングシステムや、チャット、音楽、画像、文書等の各種の動作制御用アプリなどのプログラムを記憶する。また、オペレーティングシステムなどによる基本動作に必要なベースデータや、各種アプリなどで起動されるファイルデータなどの情報データを格納する。
【0043】
例えば、HMD100に搭載されているチャットのアプリが起動しチャット相手や以前のチャット内容などチャット動作に必要な各種のファイルデータが選択されると、HMD100では選択されたチャット用ファイルデータを用いて所望のチャット相手と会話することができる。また、HMD100に搭載されている音楽アプリが起動し音楽のファイルデータが選択されると、HMD100では選択された音楽のファイルデータが再生されて、所望の音楽を聴くことができる。
【0044】
操作受付装置120は、HMD100に対する操作指示の入力を受け付ける。本実施形態では、操作キー121を備える。操作キー121は、電源キー、音量キー、ホームキー等である。
【0045】
なお、本実施形態のHMD100は、必ずしも、これらの全ての操作受付装置120を備えなくてもよい。操作受付装置120は、HMD100内でユーザ901が入力操作を行いやすい位置や形態に設ければよい。
【0046】
また、操作受付装置120は、有線通信または無線通信により接続された別体の情報処理端末機器を介してHMD100の操作を受け付けてもよい。この場合、例えば、キーボードやキーボタン、タッチキー等による入力手段を備えてもよい。また、ユーザ901の視線を利用するものであってもよい。視線を利用するものは、例えば、ディスプレイ131内に入力操作画面を表示させ、後述するインカメラ134で検出したユーザ901の視線が向いている入力操作画面上の位置により入力操作情報を取り込む。ポインタを入力操作画面上に表示させ、ポインタを操作して入力操作情報を取り込んでもよい。また、ユーザ901が入力操作を示す音声を発声し、後述するマイク143で集音して入力操作情報を取り込んでもよい。また、アウトカメラ133および各種のセンサ150を使用して、ユーザ901の手や体の動き(ゼスチャ)を検出して、入力操作情報として取り込んでもよい。
【0047】
画像処理装置130は、イメージ(ビデオ)プロセッサであり、ディスプレイ131と、アウトカメラ133と、インカメラ134と、を備える。
【0048】
ディスプレイ131は、例えば液晶パネル等の表示デバイス(ディスプレイ)であり、画像信号処理部で処理された画像データをHMD100の使用者に提示する。ディスプレイ131は、左目用ディスプレイと、右目用ディスプレイと、を備える。ディスプレイ131は、透過型(光学透過型)ディスプレイまたは非透過型(ビデオ透過型)ディスプレイであってもよい。
【0049】
光学透過型ディスプレイは、起動アプリによる再生情報やユーザ901への通知情報など各種の情報を投影する投影部と投影された各種の情報を目の前で結像表示させる透明なハーフミラーを備える。また、ビデオ透過型ディスプレイは、アウトカメラ133で撮影された目の前の現実空間物体と各種の情報とを合わせて表示する液晶パネル等を備える。ディスプレイ131により、ユーザ901は、目の前の視界視野内の画像に加え、起動アプリによるチャット会話、音楽、画像、文書などの再生情報を合わせて視認する。
【0050】
ディスプレイ131は、バッテリ容量の残量、各種アラーム、時刻などユーザへの通知情報を表示するとともに、ディスプレイ131内に、起動するアプリのアイコンを表示する。
【0051】
なお、画像信号処理部は、アウトカメラ133およびインカメラ134から入力された画像を処理する、イメージ(ビデオ)シグナルプロセッサである。また、画像信号処理部は、メインプロセッサ111等により作成したオブジェクトを入力画像に重畳してディスプレイ131に出力する。画像信号処理部は、メインプロセッサ111により実現されてもよいし、メインプロセッサ111とは別に、画像専用のプロセッサを備え、それにより実現されてもよい。
【0052】
アウトカメラ133およびインカメラ134は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)センサ等の電子デバイスを用いてレンズから入力した光を電気信号に変換することにより、周囲や対象物の画像データを入力するカメラである。
【0053】
アウトカメラ133は、HMD100の周囲の画像を取得する。アウトカメラ133は、HMD100の前面に設置され、前方の視界視野状態を撮影する。なお、HMD100には、ディスプレイ131の種類によって、光学透過型とビデオ透過型とがあるが、両者ともアウトカメラ133により撮影された、目の前の視野視界状態を撮影して取り込むものである。
【0054】
インカメラ134は、アウトカメラ133とは異なる領域の画像を取得する。例えば、ユーザ901の眼を撮影する。なお、本実施形態では、インカメラ134は、視線特定処理を行う処理部とともに、視線検出センサとして機能する。
【0055】
視線検出センサは、例えば、右目視線検出部と、左目視線検出部とを備え、それぞれ右目、左目の視線を検出する。なお、視線を検出する処理は、アイトラッキング処理として一般的に用いられている周知技術を利用すればよい。例えば、角膜反射を利用した方法では、赤外線LED(Light Emitting Diode)を顔に照射し、赤外線カメラで撮影し、赤外線LED照射でできた反射光の角膜上の位置(角膜反射)を基準点とし、角膜反射の位置に対する瞳孔の位置に基づいて視線を検出する。この場合、赤外線カメラ、赤外線LEDを備える。
【0056】
なお、操作受付装置120として、ディスプレイ131の表示画面内に入力操作画面を表示させ、右目視線検出部、左目視線検出部により検出した視線が向いている入力操作画面上の位置により入力操作情報を取り込んでもよい。ポインタを入力操作画面上に表示させ、操作受付装置120によりポインタを操作して入力操作情報を取り込んでもよい。
【0057】
音声処理装置140は、音声を処理するオーディオプロセッサである。スピーカ141と、マイク143と、を備える。
【0058】
スピーカ141は、音声信号処理部で処理した音声信号を外部に出力する。外部に対し音声を出力しユーザに通知情報や音楽などの音声を知らしめる。音声信号処理部は、オーディオシグナルプロセッサである。HMD100では、例えば、ヘッドフォン等が用いられる。
【0059】
マイク143は、ユーザの声などを集音し、音声データに変換して入力する。例えば、外周音マイクと、発声音マイクとを備えてもよい。これらのマイクは、各々、外部からの音声、ユーザ901自身の発声を集音する。なお、ヘッドフォンが接続されてもよい。ヘッドフォンは、ユーザ901の耳部に装着されユーザ901への音声を聞き取る。ヘッドフォンは、ユーザ900への通知情報を音声で知らしめることができる。なお、操作受付装置120として、ユーザ900が入力操作を示す音声を発声し、マイク143で集音して入力操作情報を取り込んでもよい。
【0060】
センサ150は、HMD100の状態を検出するためのセンサ群である。本実施形態では、GPS(Global Positioning System)受信装置151と、ジャイロセンサ152と、地磁気センサ153と、加速度センサ154と、深度センサ155とを備える。これらのセンサ群により、HMD100の位置、動き、傾き、方角等を検出する。また、深度センサ155は、HMD100から対象物までの距離情報を取得する。なお、その他のセンサを、さらに、備えていても良い。
【0061】
加速度センサ154は、単位時間当たりの速度の変化である加速度を検出するセンサであり、動き・振動・衝撃などを捉えることができる。また、ジャイロセンサ152は、回転方向の角速度を検出するセンサであり、縦・横・斜めの姿勢の状態を捉えることができる。HMD100に搭載されている加速度センサ154およびジャイロセンサ152を用いて、HMD100の動きを検出することができる。
【0062】
地磁気センサ153は、地球の磁力を検出するセンサであり、HMD100の向いている方向を検出するものである。前後方向と左右方向に加え上下方向の地磁気も検出する3軸タイプを用い、HMD100の動きに対する地磁気変化を捉まえることにより、HMD100の動きを検出してもよい。
【0063】
深度センサ155は、人や物などの対象物の形状を立体として捉えることができるセンサである。赤外線などのレーザー光を対象物に照射し、はね返ってくる散乱光を測定し遠距離にある対象物までの距離やその対象物の状態を分析検出するLiDAR(Light Detection and Ranging)や、被写体に照射したパルス光の反射時間を画素ごとに計測して測距を行うTOF(Time Of Flight)センサ、ミリ波の電波を発射しその反射波を捉まえて反射している対象物までの距離や対の象物の状態を検出するミリ波レーダーなどが用いられる。
【0064】
通信装置160は、近距離無線通信、無線LAN或いは基地局通信により、近傍にある他の情報端末と無線通信を行う通信インタフェースである。無線通信に際しては送受信アンテナを介して、データの送受信を行う。本実施形態では、アプリの連携実行に参加する各情報端末の全IDを収集した参加ID情報やアプリ起動指示情報、また起動アプリで再生するファイルデータなどの送受信を行う。
【0065】
通信装置160は、LAN(Local Area Network)通信インタフェース(I/F)161と、電話網通信I/F162と、近距離無線通信I/F163と、を備える。
【0066】
LAN通信I/F161は、無線アクセスポイント等を介してインターネット等のネットワーク300と接続され、ネットワーク300上の各サーバとデータの送受信を行う。無線アクセスポイント等との接続はWi-Fi(登録商標)や、Bluetooth(登録商標)を用いてもよい。
【0067】
電話網通信I/F162は、移動体電話通信網を利用して通信ネットワークに接続され、通信ネットワーク上のサーバと情報の送受信を行う。用いられる通信方式には、例えば、GSM(登録商標)(Global System for Mobile Communications)方式、W-CDMA(Wideband Code Division Multiple Access)方式やCDMA2000方式、UMTS(Universal Mobile Telecommunications System)方式などの第3世代移動通信システム(以下「3G」と表記する)、または、LTE(Long Term Evolution)方式、第4世代(4G)、第5世代(5G)と呼ばれる通信方式等がある。
【0068】
近距離無線通信I/F163は、近距離無線通信を行うインタフェースである。近距離無線通信は、周囲のHMD100間で、直接データの送受信を行う通信方式である。本実施形態では、例えば、例えば電子タグを用いて行う。電子タグは、無線電波を利用して非接触でICチップの中のデータを読み書きするRFID(Radio Frequency Identification)技術を利用した通信方式である。
【0069】
しかしながら、近距離無線通信は、これに限定されず、HMD100が他の情報端末の近くにある場合に少なくとも無線で通信可能である方式であればよい。例えば、Bluetooth規格による通信、IrDA(Infrared Data Association、登録商標)などを用いる赤外線による通信、Zigbee(登録商標)、HomeRF(Home Radio Frequency、登録商標)などを用いる通信であってもよい。または、Wi-Fi(登録商標)などの無線LANを用いて行なってもよい。また、超広帯域無線システム(Ultra Wide Band:UWB)を用いてもよい。
【0070】
LAN通信I/F161、電話網通信I/F162、近距離無線通信I/F163は、それぞれ符号化回路や復号回路、アンテナ等を備える。
【0071】
なお、通信装置160は、無線通信の手段として光通信音波による通信等、他の方法を使用してもよい。その場合、送受信アンテナの代わりにそれぞれ光発光/受光部、音波出力/音波入力部を用いる。
【0072】
また、高精細映像等を扱う画像アプリの場合などでは使うデータ量は飛躍的に多く、この場合、無線通信に5G(5th Generation:第5世代移動通信システム)、ローカル5Gなどの高速大容量通信網を使用してもよい。これにより、データ量の増大による表示遅延、伝送時のデータロスによる品質低下等を防ぐことができ、使い勝手を向上できる。
【0073】
拡張インタフェース部171は、HMD100の機能を拡張するためのインタフェース群であり、本実施形態では、充電端子、映像/音声インタフェース、USB(Universal Serial Bus)インタフェース、メモリインタフェース等を備える。映像/音声インタフェースは、外部映像/音声出力機器からの映像信号/音声信号の入力、外部映像/音声入力機器への映像信号/音声信号の出力、等を行う。USBインタフェースはSB機器の接続を行う。メモリインタフェースはメモリカードやその他のメモリ媒体を接続してデータの送受信を行う。
【0074】
振動発生装置173は、メインプロセッサ111の制御によって振動を発生させるもので、HMDで発信されたユーザへの通知情報を振動に変換する。振動発生装置173は密接装着されているユーザ頭部で振動を発生させることにより、ユーザへの通知を確実に伝えることができる。
【0075】
なお、
図3に示すHMD100の構成例は、本実施形態に必須ではない構成も含んでいるが、これらが備えられていない構成であっても本実施形態の効果を損なうことはない。また、デジタル放送受信機能や電子マネー決済機能等、図示していない構成がさらに加えられていても良い。
【0076】
[HMDの機能ブロック]
次に、本実施形態のHMD100の機能構成について説明する。
図4(a)は、HMD100の、本実施形態に係る構成の、機能ブロック図である。本図に示すようにHMD100は、主制御部210と、検出部220と、実行部230と、連携部240と、を備える。また、処理に用いるデータとして、アプリリスト250と、連携グループリスト260と、アプリ・処理データ270と、を備える。
【0077】
主制御部210は、HMD100全体の動作を制御する。オペレーティングシステム(Operating System:OS)や各種の動作制御用アプリなどのプログラムを実行することによって、HMD全体の動作制御を行うとともに、各種のアプリの起動、実行を制御する。
【0078】
検出部220は、アプリケーションに対応付けられた連携マーク810を検出する。本実施形態では、検出部220は、
図5(a)および
図5(b)に示すように、アウトカメラ133でHMD100の周囲(視野範囲)を撮影し、得られた画像(撮影画像136)を解析する。そして、撮影画像内にアプリリスト250内にアプリに対応づけて登録された図形に所定の割合で合致する領域137が含まれる場合、連携マーク810を検出したものとする。
【0079】
ここで、アプリリスト250について説明する。アプリリスト250は、アプリケーションに対応付けて連携マーク810のデータ(マークデータ)が記憶されるリストである。本実施形態では、
図4(b)に示すように、アプリケーションを特定する情報であるアプリ識別情報(アプリID(identification)251)に対応づけて、マークデータ252が登録される。マークデータ252は、例えば、マークの形状データ253と、マークを識別する情報であるマーク識別情報(マークID254)と、を備える。
【0080】
アプリリスト250は、例えば、アプリケーションのインストール時に、登録される。マークデータ252は、例えば、アプリケーションの起動に用いるアイコンデータであってもよい。マークデータ252は、アプリケーションのアップデート時に更新(変更、追加)されてもよい。マークデータ252は、1つのアプリケーションについて、1種に限定されない。
【0081】
検出部220は、HMD100は、連携アプリを実行していない場合、所定の時間間隔で、撮影画像136を解析し、撮影画像136内にアプリリスト250に登録されている形状データ253に対応する領域137が含まれているか否かを判別する。撮影画像136内に、連携マーク810に対応する領域137(図形)があるか否かの判断は、パターンマッチング等により行う。そして、含まれている場合、連携マーク810を検出したと判別する。なお、電力消費を少なくする、連携マーク810を認識しても連携を行いたくない、等の目的で、検出部220での検出動作は、ユーザ900からの指示等によって開始するようにしてもよい。
【0082】
連携マーク810を検出した場合、検出部220は、検出したマークデータ252に対応付けてアプリリスト250に登録されたアプリケーションを、連携して実行するアプリケーション(連携アプリ)として特定する。
【0083】
なお、検出部220は、ユーザ900からマーク検出指示を受け付けたことを契機に、上記解析を行ってもよい。
【0084】
また、例えば、撮影画像136から、アプリリスト250にマークデータ252として格納されていないマークが抽出された場合、検出部220は、ネットワーク上のサーバ等に問い合わせ、当該マークに対応付けられたアプリケーションの有無を判別してもよい。もし、当該マークに対応付けられたアプリケーションがある場合、当該アプリケーションを当該マークとともにダウンロードし、マークをアプリID251に対応づけてアプリリスト250に格納する。アプリケーション自体は、アプリケーション・処理データ270に格納する。
【0085】
なお、検出の際、連携アプリに対応する連携マーク810であるか、単なる図形であるかを判断するため、連携マーク810には、例えば、大きさ、形、枠線種類等、予め基準を設けておいてもよい。
【0086】
また、アウトカメラ133の撮影視野全体を、検出範囲とせず、
図5(c)に示すように、撮影視野内の所定の領域(連携視野131a)に該当する連携マーク810があるか否により、検出できたか否かを判別してもよい。連携視野131aは、予め定めてもよいし、例えば、ユーザ900の視線方向と撮影視野との交点を中心とする所定の範囲としてもよい。
【0087】
実行部230は、検出部220が連携アプリとして特定したアプリを起動し、実行する。なお、アプリは、検出部220が特定したアプリID251に対応づけてアプリ・処理データ270に記憶される。アプリ実行時は、他のHMD100と連携して実行する。
【0088】
なお、アプリ・処理データ270は、アプリおよびアプリの実行に必要な各種のファイルデータである。このデータを用い、実行部230では、所望の連携アプリを起動し、実行することができる。連携して実行する間は、実行部230は、複数のHMD100の間では、通信装置160を介して情報の送受信を行う。
【0089】
連携部240は、同じ連携マーク810を検出したHMD100を、連携グループの構成メンバとして管理する。本実施形態では、近距離無線通信の通信圏内の、互いに通信が可能なHMD100の中の、該当するHMD100を管理する。
【0090】
連携部240は、HMD100において、状態(ステータス)に変更があった場合、それを通知する通知データを生成し、周囲のHMD100に送信する。本実施形態では、例えば、連携部240は、連携マーク810を検出した場合、検出したことを示す通知データが生成される。また、実行している連携アプリを終了した場合、終了したことを示す通知データが生成される。
【0091】
ここで、連携部240が生成する通知データ280を説明する。通知データ280は、
図4(c)に示すように、検出した連携マーク810を特定する情報であるマークID281と、HMD100自身を特定する情報である端末識別情報(装置ID282)と、当該HMD100のアドレス283と、連携アプリを特定する情報であるアプリID284と、状態を示す情報(ここでは、検出または終了;ステータス285)と、が登録される。HMD100の各装置の装置ID262は、予め設定される。アドレス283は、例えば、連携アプリの連携を、LAN等のネットワークを介して行う場合に用いられる。装置ID282としてアドレス283を用いてもよい。
【0092】
例えば、検出部220が連携マーク810を検出した際は、ステータス285に「検出」が登録された通知データ280(以後、検出通知データ280a)が生成され、送信される。一方、連携アプリを終了する際は、ステータス285に「終了」が登録された通知データ280(以後、終了通知データ280b)が生成され、送信される。通知データ280は、例えば、近距離無線通信で送信される。
【0093】
なお、本実施形態では、検出通知データ280aは、同じ連携マーク810を検出したか否かを問い合わせる問合データも兼ねる。連携部240は、マークID281が、自装置が検出した連携マーク810のマークID254と同じである検出通知データ280aを他のHMD100から受信した場合、自装置も同じ連携マーク810を検出したことを示すために、検出通知データ280aを、送信元のHMD100に対して返信する。これにより、途中から連携グループに参加する際、既にグループに参加している全HMD100の情報を得ることができる。
【0094】
また、連携部240は、連携マーク810が検出されると、連携グループリスト260を生成し、管理する。連携グループリスト260は、
図4(d)に示すように、当該連携アプリを連携して実行するHMD100を、連携グループの構成メンバとして管理するリストである。連携グループリスト260は、連携マークのマークIDを格納するマークID格納場所261と、連携グループのHMD100の装置ID262と、アドレス263と、を備える。
【0095】
連携マーク810が検出されると、連携部240は、まず、連携グループリスト260を生成し、検出された連携マーク810に対応したマークID(A)を連携グループリスト260のマークID格納場所261に登録する。その後、連携部240は、連携グループリスト260のマークID格納場所261に登録されたマークID(A)と同じマークID(A)の検出通知データ280aを受信すると、当該検出通知データ280aに含まれる装置ID282と、アドレス283と、を、連携グループリストの装置ID262と、アドレス263とに登録する。また、連携グループリスト260のマークID格納場所261に登録されたマークID(A)と同じマークID(A)の終了通知データ280bを受信すると、当該終了通知データ280bに含まれる装置ID282とアドレス283とを有するデータを、連携グループリスト260から削除する。
【0096】
連携部240は、このように、通知データ280を送受信し、それに応じて連携グループリスト260を更新することにより、連携グループに属するHMD100を管理する。本実施形態では、同じ連携マーク810を検出し、連携アプリを実行する、全てのHMD100において、同様に連携グループリスト260を生成し、管理する。これにより、各HMD100において、連携グループリスト260が共有される。
【0097】
上記各機能は、メインプロセッサ111が、ROM114に記憶されたプログラムをRAM113にロードして実行することにより実現される。また、各リスト、データは、記憶装置110に格納される。
【0098】
以上の構成により、HMD100では、アウトカメラ133によりHMD100前方の視界視野を撮影して、撮影視野内、または、連携視野131a内にアイコン等の連携マーク810を捉えた場合、当該連携マーク810に対応付けられたアプリケーションを連携アプリとして連携して実行できる。
【0099】
[連携処理]
次に、本実施形態の連携処理の流れを、
図6を用いて説明する。ここでは、1台のHMD100での処理を説明する。
【0100】
検出部220は、連携マーク810を検出する(ステップS1101)と、検出した連携マーク810に対応付けてアプリリスト250に登録されているアプリを、連携アプリとして特定する(ステップS1102)。
【0101】
連携部240は、連携グループリスト260を生成し(ステップS1103)、検出通知データ280aを周囲のHMD100に近距離無線通信で送信する(ステップS1104)。なお、連携グループリスト260の生成と、検出通知データ280aの送信とは、いずれを先に行ってもよい。
【0102】
実行部230は、連携アプリを起動し、終了指示を受け付けるまで、連携アプリを実行する(ステップS1105、S1106)。
【0103】
連携アプリ実行中、周囲のHMD100から検出通知データ280aを受信すると(ステップS1107)、連携部240は、自身が検出した連携マーク810と同じマークID281を有する場合、連携グループリスト260を更新する(ステップS1108)。ここでは、連携グループリスト260に、当該検出通知データ280aの装置ID282およびアドレス283を追加する。そして、その後は、更新後の連携グループリスト260に基づいて、連携アプリを実行する。
【0104】
また、連携アプリの終了指示を受け付けると、実行部230は、連携アプリを終了し、連携部240は、周囲のHMD100へ終了通知データを送信し(ステップS1109)、処理を終了する。
【0105】
以上説明したように、本実施形態の情報処理システム700は、複数の情報処理端末であるHMD100で連携してアプリケーションを実行する。そして、HMD100は、それぞれ、予め定めた連携マーク810を検出する検出部220と、検出された連携マーク810に対応付けられたアプリケーションを連携アプリとして、同じ連携マーク810を検出した他のHMD100と連携して実行する実行部230と、を備える。さらに、本実施形態のHMD100は、それぞれ、同じ連携マーク810を検出した他のHMD100を、連携アプリを連携して実行する連携グループの構成端末(構成メンバ)として管理する連携部240を備える。
【0106】
このように、本実施形態によれば、ユーザ900が同じ連携マーク810を認識することにより、複数のHMD100で起動実行する連携アプリの特定、および、連携するHMD100の特定を、自動的に行うことができる。すなわち、本実施形態によれば、各HMD100で同じ連携マーク810を検出するだけで、連携グループを形成し、同一または同等の連携アプリを、連携して実行できる。例えば、HMD100などの情報端末を装着したユーザ900間でグループを形成して、グループ間でチャットや会議、ゲームなどを、簡単かつ使い勝手よく実行できる。
【0107】
また、連携マーク810を検出しないHMD100は、連携グループに入らない。このため、意図しないユーザ900のHMD100と連携されることがなく、安全である。
【0108】
従来は、初期設定時に連携グループの構成メンバでないHMD100が後から参加する場合、連携グループの再構築が必要である。再構築する場合、連携グループのメンバが後から参加する人をグループに加える操作をする等の手間が必要である。しかし、本実施形態によれば、最新の構成メンバを連携グループリストで管理できるため、連携マーク810を見る動作のみで後から参加する人が連携グループに加わることが可能となる。したがって、従来必要であった操作等が不要となり、使い勝手を大幅に向上できる。
【0109】
このように、本実施形態によれば、複数の情報処理端末間で、簡単に使い勝手よくアプリケーションの連携を実現できる。
【0110】
なお、本実施形態の手法で連携アプリを起動させる場合は、連携する対象のHMD100は、安全のためローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、バーチャルプライベートネットワーク(VPN)等、接続する範囲を限定したローカルネットワーク内でのみ通信するものに限定してもよい。
【0111】
<変形例1>
なお、上記実施形態では、各HMD100が、連携アプリを特定後、それぞれ、連携アプリを起動しているが、これに限定されない。例えば、最初に連携マーク810を検出したHMD100をメイン装置とし、メイン装置であるHMD100から、他のHMD100に、連携アプリの起動指示を送信し、他のHMD100では、起動指示を受信してから、連携アプリを起動させてもよい。
【0112】
この場合、例えば、最も早く連携マーク810を検出したHMD100をメイン装置とする。この場合、連携部240は、連携アプリが特定され、かつ、検出通知データ280aを未受信の場合、検出通知データを周囲のHMD100に送信するとともに、自装置をメイン装置とするフラグを設定する。そして、メイン装置の連携部240は、連携グループリスト260を生成し、所定期間、周囲のHMD100から検出通知データ280aを受信する毎に、連携グループリスト260に登録する。所定期間経過後、連携部240は、連携グループリスト260に登録されたHMD100に対し、アプリ起動指示を出力する。
【0113】
メイン装置以外のHMD100の連携部240は、連携マーク810を検出後、周囲のHMD100から、連携マーク810に対応したマークID(A)と同じマークID(A)の検出通知データ280aを受信すると、その返信として、自装置の検出通知データ280aを生成し、送信元のHMD100(メイン装置)に送信する。その後、アプリ起動指示を受信すると、実行部230は、連携アプリを起動させ、実行する。
【0114】
なお、メイン装置を設ける場合、連携グループリスト260は、連携グループの全HMD100が備えてもよいし、メイン装置のみが備えてもよい。メイン装置のみが備える場合は、連携アプリの実行時、連携処理は、メイン装置を介して行われる。
【0115】
また、メイン装置は、最も早く連携マーク810を検出したHMD100には限らない。例えば、予め定めておいてもよい。
【0116】
また、本変形例では、メイン装置から検出通知データ280aを送信すると、折り返し、同じ連携マーク810を検出したHMD100から返信として検出通知データ280aを受信するよう構成しているが、これに限定されない。例えば、メイン装置が、連携マーク810を認識したか否か、予め定めた探索範囲の全HMD100に対し、問い合わせるよう構成してもよい。そして、検出したとの回答を受け取ったHMD100を、連携グループリスト260に登録する。
【0117】
この場合は、探索範囲を予め定めた所定の範囲内に限定すると検索時間が短くなる。例えば、前出のLAN、PAN、VPN内の機器間、近距離無線通信(Wi-fi(登録商標),Bluetooth等)で直接通信できるHMD100間、同じアクセスポイントにつながっているHMD100間、ネットワークのホップ数(データが送信元と送信先の間で通過する必要がある中間ネットワーク機器の数)が指定範囲内であるHMD100間、等に限定する。また、探索を指定時間で打ち切るよう構成してもよい。これにより、ホップ数が大きいHMD100は必然的に探索の対象から除外されるため、同等の目的を果たすことができる。
【0118】
<<第二実施形態>>
次に、本発明の第二実施形態を説明する。第一実施形態では、HMD100のみで、連携を実現する。また、変形例を除き、基本的に、個々のHMD100が、それぞれ、連携グループを管理する。一方、本実施形態では、HMD100とは異なる第二情報処理端末であるサーバが連携グループを管理し、連携を実現する。以下、本実施形態について、第一実施形態と異なる構成に主眼をおいて説明する。
【0119】
本実施形態の情報処理システム701は、
図7に示すように、第一実施形態の情報処理システム700の構成に、さらに、サーバ400を備える。複数のHMD100は、互いに、近距離無線通信によりデータの送受信が可能である。また、複数のHMD100それぞれは、サーバ400と、LAN等のネットワーク300を介して、情報の送受信が可能である。HMD100は、例えば、無線ルータ等を介してネットワーク300に接続される。
【0120】
本実施形態のHMD100のハードウェア構成は、第一実施形態と同じである。本実施形態のHMD100の機能構成も、基本的に第一実施形態と同じである。ただし、連携部240と、実行部230の構成が異なる。また、記憶装置110に記憶されるデータも異なる。
【0121】
本実施形態では、第一実施形態同様、連携部240は、連携マーク810が検出された場合、サーバ400に向けて、検出通知データ280aを送信する。また、連携アプリを終了する際、サーバ400に向けて終了通知データ280bを送信する。なお、本実施形態では、検出通知データ280aには、HMD100の現在位置情報も含めてもよい。
【0122】
本実施形態では、サーバ400は、連携して連携アプリを実行するHMD100群を、連携グループとして管理する。
【0123】
サーバ400は、各HMD100と通信を介して接続して必要な情報の送受信ができればよく、例えば、ローカルサーバ、クラウドサーバ、エッジサーバ、ネットサービス等であり、その形態は問わない。
【0124】
図8(a)は、本実施形態のサーバ400の、本実施形態の処理に関連する機能のブロック図である。本図に示すようにサーバ400は、主制御部410と、送受信部420と、連携制御部430と、連携管理部440と、を備える。また、連携グループリスト460を管理する。
【0125】
送受信部420は、各HMD100から、通知データ280を受信する。
【0126】
連携管理部440は、同じ連携アプリを連携して実行するHMD100のグループを、連携グループとして管理する連携管理処理を実行する。本実施形態では、同じ連携マーク810を検出したHMD100群で1つの連携グループリスト460を生成し、当該リストにより連携グループを管理する。
【0127】
連携グループリスト460は、マークID毎に生成される。各連携グループリスト460は、基本的に、第一実施形態の連携グループリスト260と同じ構成を有する。すなわち、
図8(b)に示すように、連携マーク810を特定するマークID毎に、当該マークIDを格納するマークID格納場所461と、当該連携アプリを連携して実行するHMD100の、装置ID462と、アドレス463とを備える。本実施形態では、サーバ400から連携グループリスト460を受信すると、記憶装置110に記憶している連携グループリスト260を最新のものに置き換える。
【0128】
連携制御部430は、連携アプリの実行を、サーバ400を介して行う場合、複数のHMD100間の連携アプリの実行を制御する。連携アプリの実行は、連携グループリスト460に基づいて制御する。例えば、データを受け取ると、送信元のHMD100の装置IDが含まれる連携グループの、送信元のHMD100以外のHMD100に対し、当該データを送信する。連携制御部430は、後述する変形例で用いられる。
【0129】
図8(c)は、サーバ400のハードウェア構成図である。本実施形態のサーバ400は、CPU401と、メモリ402と、記憶装置403と、通信インタフェース404と、を備える。上記各機能は、CPU401が、記憶装置403に格納されたプログラムをメモリ402にロードして実行することにより実現される。
【0130】
上記構成により、本実施形態においても、複数のHMD100間で、連携グループを構成し、連携して共通するアプリを実行することができる。
【0131】
[連携処理]
次に、本実施形態の連携アプリ実行時の処理(連携アプリ実行処理)の流れを、
図9に沿って説明する。ここでは、1つのHMD100との間のデータの送受信を例にあげて説明する。他のHMD100との間も同様である。
【0132】
HMD100の検出部220は、連携マーク810を検出する(ステップS1101)と、検出した連携マーク810に対応付けて登録されているアプリを、連携アプリとして特定する(ステップS1102)。
【0133】
HMD100の連携部240は、検出通知データ280aを生成し、サーバ400に送信する(ステップS2104)。
【0134】
サーバ400の連携管理部440は、検出通知データ280aを受信すると(ステップS2201)、送信元のHMD100のデータを連携グループリスト460に格納することにより、連携グループリスト460を更新する(ステップS2202)。ここでは、検出通知データ280aのマークID281に対応するマークIDがマークID格納場所461に格納されている連携グループリスト460に、装置ID282およびアドレス283を追加する。なお、検出通知データ280aのマークID281に対応するマークIDがマークID格納場所461に格納されている連携グループリスト460がない場合は、新たに作成し、その後、追加する。
【0135】
そして、連携管理部440は、更新を終えると、連携グループへの参加処理が完了したことを示すとともに起動を指示するデータ(起動指示)を、送信元のHMD100に返信する(ステップS2203)。また、連携グループリストに登録されている全HMD100に対し、連携グループリストを送信する。
【0136】
HMD100の実行部230は、起動指示を受信すると、連携アプリを起動し、実行する(ステップS1105)。第一実施形態同様、HMD100の実行部230は、実行アプリの終了指示を受け付けるまで(ステップS1106)、当該実行アプリの実行を継続する。
【0137】
連携アプリ実行中、本実施形態では、実行部230は、連携して実行するために必要なデータを、連携グループリストに登録された他のHMD100と送受信する(ステップS2108)。
【0138】
HMD100の実行部230は、ユーザ900から連携アプリ終了の指示を受け付けると、連携アプリを終了し、連携部240は、終了通知データ280bを生成し、サーバ400に送信し(ステップS2109)、処理を終了する。一方、終了通知データ280bを受信(ステップS2205)したサーバ400の連携管理部440は、連携グループリスト460から、送信元のHMD100を削除することにより、連携グループリスト460を更新する(ステップS2206)。さらに、更新後の連携グループリスト460に登録されている各HMD100に対して、更新後の連携グループリスト460を送信する。
【0139】
なお、他のHMD100についても同様で、連携マーク810を検出すると、サーバ400に、検出通知データ280aを送信する。サーバ400では、検出通知データ280aまたは終了通知データ280bを受信すると、随時、連携グループリスト460を更新し、更新後の連携グループリスト460を返信する。
【0140】
以上説明したように、本実施形態の情報処理システム701は、複数の情報処理端末であるHMD100で連携してアプリケーションを実行する。そして、HMD100は、それぞれ、予め定めた連携マーク810を検出する検出部220と、検出された連携マーク810に対応付けられたアプリケーションを連携アプリとして、同じ連携マーク810を検出した他のHMD100と連携して実行する実行部230と、を備える。さらに、本実施形態の情報処理システム701は、同じ連携マーク810を検出した複数のHMD100を、連携アプリを連携して実行する連携グループの構成メンバとして管理する連携管理部440を備えるサーバ400をさらに備える。連携管理部440は、連携管理処理により得られたデータを、他のHMD100に送信するとともに、他のHMD100から連携管理処理により得られたデータを受信する。一方、HMD100の実行部230は、連携アプリの処理により得られたデータを、他のHMD100に送信するとともに、他のHMD100から連携アプリの処理により得られたデータを受信する。
【0141】
本実施形態によれば、第一実施形態同様、簡単かつ安全に使い勝手よく、アプリケーションの連携を実現できる。さらに、本実施形態によれば、連携するHMD100を、サーバ400で管理する。HMD100が同じ連携マーク810を検出でき、かつ、サーバ400と通信ができさえすれば、HMD100の配置には制約がなく、より自由度の高いシステムを実現できる。
【0142】
<変形例2>
なお、本実施形態のHMD100では、起動指示をサーバ400から受信すると、連携アプリを起動している。しかしながら、これに限定されない。例えば、第一実施形態同様、連携アプリを特定すると、HMD100側で、独自に連携アプリを起動してもよい。この場合、サーバ400から、起動指示を送信しなくてもよい。
【0143】
<変形例3>
また、起動指示は、一斉送信してもよい。例えば、ほぼ同時に、複数のHMD100が、連携マーク810を視認し、連携グループを形成して連携アプリを実行する場合などである。この場合、サーバ400は、所定期間内に、同じマークID281を有する検出通知データ280aの送信元の複数のHMD100に対し、同時に参加可データを送信する。
【0144】
<変形例4>
なお、サーバ400では、連携マーク810を検出したHMD100毎に、連携グループとして管理する。しかし、連携グループの管理は、これに限定されない。
【0145】
例えば、同じ連携マーク810を検出したHMD100群であっても、複数の連携グループに分けて管理してもよい。この場合、例えば、検出通知データ280aを送信してきた時刻で分けてもよい。また、HMD100の位置情報で分けてもよい。
【0146】
時刻で分ける場合、連携管理部440は、例えば、上述のように、同じマークID281を含む検出通知データ280aを、所定期間内に連続して受信した場合、それらの検出通知データ280aの送信元のHMD100を、1つの連携グループとする。その後、所定期間経過後、同じマークID281を含む検出通知データ280aを送信してきたHMD100群は、別の連携グループとする。
【0147】
例えば、
図10に示すように、同じ連携マーク810を見て、複数のHMD100のグループが違うタイミングでそれぞれのチャットを始めるような場合、連携管理部440は、チャットを始めるタイミングで、各HMD100をグループ分けする。そして、それぞれのグループの連携グループリスト460を生成し、管理する。ここでは、連携グループ1の連携グループリスト460と、連携グループ2の連携グループリスト460と、を作成し、管理する。なお、この場合も、ユーザ900が連携マーク810を認識していない、すなわち、連携マーク810を検出しないHMD104は、いずれの連携グループにも入らない。
【0148】
なお、HMD100の位置情報で分ける場合、連携管理部440は、HMD100から送信される位置情報を用いて、グループ分けを行う。グループ分けの境界は、予め定めておく。
【0149】
<変形例5>
なお、上記実施形態では、連携アプリは、連携グループのHMD100間で実行されているが、これに限定されない。例えば、サーバ400を介して実行するよう構成してもよい。この場合、上述の連携制御部430が、連携アプリの実行を制御する。また、送受信部420は、複数のHMD100が連携して連携アプリを実行する際、HMD100間のデータの送受信を仲介する。
【0150】
この場合、連携グループリスト460は、サーバ400においてのみ管理してもよい。すなわち、連携管理部440は、ステップS2203やステップS2206において、連携グループリスト460を、HMD100に送信しなくてもよい。
【0151】
各HMD100では、連携アプリ実行中、実行部230は、連携して実行するために必要なデータを、サーバ400に送信する。また、サーバ400側では、連携制御部430が、連携グループリスト460を参照し、連携グループ内のHMD100からデータを受信すると、処理を行い、連携グループ内の他のHMD100に向けて送信する。
【0152】
なお、サーバ400は、アプリやファイル、データをサーバ400上に格納して、適宜各HMD100に通信により転送してもよい。サーバ400上でアプリを起動して、映像、画面表示、音声等の再生情報を、連携グループの構成メンバであるHMD100に転送してもよい。
【0153】
<<第三実施形態>>
次に、本発明の第三実施形態を説明する。本実施形態では、認識する連携マークを、スマートフォン(以下、スマホと呼ぶ)等の情報処理端末のディスプレイに表示させる。以下、当該情報処理端末をスマホとして本実施形態を説明する。
【0154】
図11は、本実施形態の情報処理システム702の概要を説明するための図である。本図に示すように、本実施形態の情報処理システム702は、複数のHMD100(101、102、103、104)と、スマホ500とを備える。
【0155】
本実施形態では、各HMD100は、スマホ500と連携状態であるか否かを判別する。そして、スマホ500は、自身と連携状態にあるHMD100群を、連携グループの構成メンバとして管理する。
【0156】
本実施形態の情報処理システム702は、複数のHMD100(101、102、103、104)と、スマホ500と、を備える。本実施形態では、連携マーク820は、スマホ500のディスプレイ531に表示される。
【0157】
本実施形態のHMD100は、基本的に第一実施形態と同じである。ただし、検出部220、連携部240の処理、保持するデータが異なる。
【0158】
本実施形態のHMD100の検出部220は、まず、スマホ500と、HMD100とが予め定めた位置関係にあるか否かを判別する。すなわち、スマホ500が後述する連携動作モードで動作可能な状態である所定配置状態であるか否かを判断する。本実施形態では、検出部220は、
図12(a)に示すように、ディスプレイ131に連携視野131aを表示させるとともに、アウトカメラ133が撮影した撮影画像を解析し、その表示内容で、所定配置状態であるか否かを判断する。
【0159】
連携視野131aは、ユーザ900がHMD100の開口部分(レンズ部分)、またはディスプレイ131の表示領域を通して見ることができる視野範囲の一部の領域に設定される。なお、機器の構成、設定値の変更等によりユーザ900がHMD100を通して見ることのできる視野範囲全てを連携視野131aにしてもよい。
【0160】
検出部220は、
図12(a)に示すように、連携視野131a内にスマホ500のディスプレイ531上に表示される所定のアプリのアイコン822が入っている場合、所定配置状態と判断する。一般に、スマホ500のディスプレイ531には、
図12(a)に示すように、複数のアイコン822、823、824が表示される。所定の
アイコンは、例えば、ユーザ900が選択しているアプリのアイコンとする。
【0161】
連携視野131a内に、ユーザ900が選択しているアプリのアイコン822が入っているか否かは、撮影画像136を解析し、判別する。例えば、検出部220は、ユーザ900の指が指し示している状態、位置を、画像解析処理により、判別する。
【0162】
検出部220は、所定配置状態にあると判断すると、所定のアプリのアイコン822を、連携マーク820として検出する。そして、検出した連携マーク820に対応付けてアプリリスト250内に登録されたアプリを、連携アプリとして特定する。なお、アプリリスト250に登録されていない場合は、第一実施形態同様、例えば、サーバ等の外部装置からアプリケーションを取得し、アプリリスト250に登録してもよい。
【0163】
なお、本実施形態では、アプリリスト250として、自身にインストールされているアプリケーションのアイコンの形状データを、マークデータ252の形状データ253として記憶してもよい。
【0164】
また、検出部220は、
図12(b)に示すように、連携視野131a内にスマホ500のディスプレイ531に表示された所定のアイコン822が配置されていない場合、すなわち、HMD100とスマホ500とが、所定配置状態ではない、と判別し、その後の検出処理等は行わない。
【0165】
連携部240は、連携マーク820が検出されると、検出通知データ280aを生成し、スマホ500に送信する。
【0166】
実行部230は、スマホ500から起動指示を受信すると、連携アプリを起動させて実行する。なお、本実施形態においても、連携アプリが特定された場合、スマホ500からの起動指示無しに、HMD100において、連携アプリを起動させてもよい。
【0167】
次に、本実施形態のスマホ500について説明する。
【0168】
図13は、スマホ500のハードウェア構成図である。本図に示すように、スマホ500は、メインプロセッサ511と、記憶装置510と、操作受付装置520と、画像処理装置530と、音声処理装置540と、センサ550と、通信装置560と、拡張インタフェース部591と、タイマ592と、振動発生装置593と、これらを接続する内部バス512と、を備える。また、記憶装置510は、RAM513と、ROM514と、フラッシュメモリ515と、を備える。操作受付装置520は、操作キー521を備える。画像処理装置530は、ディスプレイ531と、アウトカメラ533と、インカメラ534と、を備える。音声処理装置540は、スピーカ541と、マイク543と、を備える。センサ550は、
GPS受信装置551と、ジャイロセンサ552と、地磁気センサ553と、加速度センサ554と、深度センサ555と、を備える。通信装置560は、LAN通信インタフェース561と、電話網通信インタフェース562と、近距離無線通信インタフェース563と、を備える。これらは、HMD100の同名の構成と同様の機能を有する。
【0169】
ただし、スマホ500は、HMD100に比べてディスプレイ531の面積が広い。このため、操作受付装置520は、さらに、タッチセンサを有するタッチパネル523を備える。例えば、静電容量式などのタッチパッド方式の入力手段を備えてもよい。この場合、指やタッチペンなどによる接近または接触操作(タッチ操作)を操作入力として検出する。タッチパッド方式は、ユーザ900が入力したい情報を設定入力したり、ディスプレイ531上にあるアプリやファイルのアイコンをタッチ操作により容易に選択指定することができたりする。タッチパネル523は、ディスプレイ531に重ねて配置される。なお、拡張インタフェース部591に接続したキーボード等を介して指示の入力を受け付けてもよい。
【0170】
ディスプレイ531は、液晶パネルなどにより構成され、バッテリ容量の残量、各種アラーム、時刻などユーザ900への通知情報を表示するとともに、ディスプレイ531内に起動するアプリのアイコンやアプリの実行状態等を表示する。操作受付装置520は、例えば静電容量式などのタッチパッド方式の入力手段であり、指やタッチペンなどによる接近または接触操作(タッチ操作)を操作入力として検出するものである。ユーザ900が入力したい情報を設定入力したり、ディスプレイ531にあるアプリやファイルのアイコンをタッチ操作により容易に選択指定したりする。
【0171】
本実施形態のスマホ500は、アプリを起動する指示を受け付けるアイコンをディスプレイ531上に表示する。このアイコンは、ユーザ900の指やタッチペンなどによる接近または接触操作(以降、タッチという)によりアプリの指定、起動指示を受け付けるマークである。
【0172】
次に、本実施形態のスマホ500の機能を説明する。
図14(a)は、スマホ500の機能ブロックである。
【0173】
本図に示すように、本実施形態のスマホ500は、主制御部570と、受付部571と、送受信部572と、連携管理部573と、アプリ実行部574と、出力部575と、アイコンデータ記憶部577と、アプリケーションプログラム記憶部576と、連携グループリスト578と、を備える。
【0174】
主制御部570は、スマホ500の各部の動作を制御する。本実施形態では、さらに、スマホ500の動作モードを決定する。本実施形態では、動作モードとして、スマホ500単独でアプリを実行する単独動作モードと、HMD100と連携してアプリを実行する連携動作モードとの2種を備える。
【0175】
主制御部570は、例えば、通信を確立したHMD100から、検出通知データ280aを受信すると、動作モードを、連携動作モードと決定する。
【0176】
受付部571は、ユーザ900からの指示を受け付ける。本実施形態では、メインプロセッサ511が操作受付装置520を動作させることにより実現される。本実施形態では、例えば、アプリの起動指示等各種操作指示を受け付ける。
【0177】
送受信部572は、外部装置とのデータの送受信を行う。本実施形態では、メインプロセッサ511が通信装置560を動作させることにより実現される。本実施形態では、送受信部572を介してHMD100とデータの送受信を行う。
【0178】
連携管理部573は、スマホ500の動作モードが連携動作モードと決定された際、連携動作を行う。連携管理部573は、受信した検出通知データ280aのマークID281と、装置ID282と、アドレス283と、を連携グループリスト578に登録する。また、連携グループリスト578に登録されているHMD100から終了通知データ280bを受信すると、該当する装置のデータを、削除する。これにより、連携グループを管理する。連携グループリスト578の構成は、第一実施形態の連携グループリスト260と同じである。
【0179】
また、連携管理部573は、各連携グループの構成メンバであるHMD100による連携アプリの連携動作を制御する。例えば、使用しているアプリアイコンに使用中である印を表示したり、参加者数を表示したりし、どのアプリが起動しているのかを分かりやすくする。これにより、後から参加する人は、参加者がいるアプリを表示で確認してから選んで参加することができる。
【0180】
アプリ実行部574は、単独動作モード時に、スマホ500上でアプリを実行する。単独動作モードは、ユーザ900からアプリの起動の指示を受け付けると、自装置でそのアプリを起動させ、実行する動作モードである。実行するアプリのプログラムは、アプリケーションプログラム記憶部576に記憶される。
【0181】
出力部575は、アプリ実行部574が実行したアプリの実行結果を出力する。本実施形態では、実行結果は、例えば、ディスプレイ531、スピーカ541に出力される。
【0182】
アプリケーションプログラム記憶部576には、アプリケーションプログラムが記憶される。アイコンデータ記憶部577には、各アプリケーションプログラムの実行指示を受け付けるアイコンが記憶される。アイコンは、アプリケーションに対応づけて記憶される。
【0183】
上記各機能は、メインプロセッサ511が、ROM514に記憶されたプログラムをRAM513にロードして実行することにより実現される。また、アプリケーションプログラム記憶部576およびアイコンデータ記憶部577は、記憶装置510に格納される。
【0184】
[連携処理]
本実施形態の連携処理の流れを、
図15に沿って説明する。
【0185】
まず、HMD100とスマホ500との間で、通信を確立する(ステップS3101、S3201)。ここでは、スマホ500と複数のHMD100との間で、通信設定を行い、通信可能な状態にしておく。例えば、HMD100がスマホ500の通信圏内に入ったら、両者間で自動または手動で通信を確立させる。
【0186】
その後、スマホ500は、アイコン822を表示する(ステップS3202)。なお、ここでは、アイコンが多数表示される通常の画面を表示する。そして、連携マーク820として用いるアイコン822については、前述のようにユーザ900が選択指示する。
【0187】
その後の処理は、第二実施形態のサーバ400との連携処理と略同じである。すなわち、HMD100の検出部220は、連携マーク820を検出する(ステップS1101)と、検出した連携マーク820に対応づけて登録されているアプリを、連携アプリとして特定する(ステップS1102)。
【0188】
HMD100の連携部240は、検出通知データ280aを生成し、スマホ500に送信する(ステップS2104)。
【0189】
スマホ500の連携管理部573は、検出通知データ280aを受信すると(ステップS3203)、送信元のHMD100のデータを、連携グループリスト578に格納することにより、連携グループリスト578を更新する(ステップS3204)。
【0190】
そして、連携管理部573は、更新を終えると、連携グループへの参加処理が完了したことを示すとともに起動を指示するデータ(起動指示)を、送信元のHMD100に返信する(ステップS3205)。また、連携グループリスト578に登録されている全HMD100に対し、連携グループリストを送信する。
【0191】
HMD100の実行部230は、起動指示を受信すると、連携アプリを起動し、実行する(ステップS1105)。第一実施形態同様、HMD100の実行部230は、実行アプリの終了指示を受け付けるまで(ステップS1106)、当該実行アプリの実行を継続する。
【0192】
連携アプリ実行中、本実施形態では、実行部230は、連携して実行するために必要なデータを、連携グループリスト578に登録された他のHMD100と送受信する(ステップS2108)。
【0193】
HMD100の実行部230は、ユーザ900から連携アプリ終了の指示を受け付けると、連携アプリを終了し、連携部240は、終了通知データ280bを生成し、スマホ500に送信し(ステップS2109)、処理を終了する。一方、終了通知データ280bを受信したスマホ500の連携管理部573は(ステップS3207)、連携グループリスト578から、送信元のHMD100を削除することにより、連携グループリスト578を更新する(ステップS3208)。さらに、更新後の連携グループリスト578に登録されている各HMD100に対して、更新後の連携グループリスト578を送信する。
【0194】
なお、他のHMD100についても同様で、連携マーク810を検出すると、スマホ500に、検出通知データ280aを送信する。スマホ500では、検出通知データ280aまたは終了通知データ280bを受信すると、随時、連携グループリスト578を更新し、更新後の連携グループリスト578を返信する。
【0195】
なお、本実施形態では、所定配置状態であるか否かの判別と、ユーザ900によるアイコン822へのタッチとの間に時間差があると、その時、アイコン822を見ていないHMD100が連携グループに入ったり、その時、アイコン822を見ているHMD100が連携グループに入れなかったりすることがある。このため、両者の間に時間差が生じないように格納間隔(連携グループリスト578を更新する間隔)を短くするようにしてもよい。また、アイコンタッチをHMD100のアウトカメラ133で認識してもよい。この場合は、見る角度によって触れる瞬間の時間の判断が変わる可能性があるため、アイコンタッチの判断期間にはある程度時間に幅を持たせてもよい。
【0196】
以上説明したように、本実施形態の情報処理システム702は、複数の情報処理端末であるHMD100で連携してアプリケーションを実行する。そして、HMD100は、それぞれ、スマホ500のディスプレイ531に表示された連携マーク820を検出する検出部220と、検出された連携マーク820に対応付けられたアプリケーションを連携アプリとして、同じ連携マーク820を検出した他のHMD100と連携して実行する実行部230と、を備える。さらに、本実施形態の情報処理システム702は、同じ連携マーク820を検出した複数のHMD100を、連携アプリを連携して実行する連携グループの構成メンバとして管理する連携管理部573を備えるスマホ500をさらに備え、実行部230は、連携アプリの処理により得られたデータを他のHMD100に送信するとともに、他のHMD100から連携アプリの処理により得られたデータを受信する。
【0197】
本実施形態によれば、第一実施形態同様、簡単かつ安全に使い勝手よく、アプリケーションの連携を実現できる。さらに、本実施形態によれば、連携マーク820がスマホ500のディスプレイ531上に表示される。従って、HMD100の連携視野131a内に、スマホ500のディスプレイ531上に表示されたアイコン822が見えるといった、HMD100とスマホ500とが所定配置状態にある場合、スマホ500との配置状態が同じであるHMD100間で連携グループを構成し、連携アプリを連携して実行できる。このため、本実施形態によれば、連携アプリの特定と連携するHMD100の特定とを簡便かつ使い勝手よく実現することができる。
【0198】
さらに、本実施形態によれば、連携マーク820がスマホ500のディスプレイ531上に表示される。物理的に印刷されて容易に変更出来ない連携マークと異なり、本実施形態では、限られた面積内で多数の連携マークをスクロール等で入れ替えながら表示することが出来る。このため、使える連携マークの数、選択肢が増える。また、連携マーク820の配置位置を移動できる。このため、HMD100のユーザ900にとって、見やすい位置で連携マーク820を認識することができ、ユーザ900にとって、連携マーク820の視認が容易である。すなわち、HMD100が連携マーク820を検出しやすくなる。
【0199】
また、スマホ500側では、連携動作モードと単独動作モードとを区別できる。このため、ユーザ900がディスプレイ531上に表示されたアイコン822を選択した場合、対応するアプリを自装置で動作させるか、連携動作の制御を行うかを、自動的に判断することができる。
【0200】
<変形例6>
上記実施形態では、複数のHMD100の視野越しにスマホ500のアイコン822を見ることになる。このため、スマホ500のディスプレイ531上に複数のアイコンが表示されている場合、連携希望のHMD100が連携マーク820として検出する間、ユーザ900は、常にアイコン822を選択している必要がある。しかしながら、この手法に限定されない。
【0201】
例えば、スマホ500は、最初に検出通知データ280aを受信し、連携グループリスト578を生成した場合、ユーザ900により選択されていたアイコン822のみをディスプレイ531上に表示させてもよい。その後は、ユーザ900による選択指示無しで、当該アイコン822が連携マーク820として機能する。
【0202】
これにより、所定期間、特定のアイコン822が、連携マーク820として、ディスプレイ531に表示され、連携グループに参加したいHMD100が参加しやすくなる。一方、このように構成したとしても、参加したくないユーザ900は、スマホ500のディスプレイを見なければよい。
【0203】
<変形例7>
上記実施形態では、スマホ500は、検出通知データ280aを受信し、連携グループリスト578に登録する毎に、起動指示を送信元のHMD100に送信している。しかしながら、これに限定されない。例えば、検出通知データ280aを送信してきたHMD100に、起動指示を一斉送信してもよい。
【0204】
この場合、例えば、連携管理部573は、検出通知データ280aを受信する毎に連携グループリスト578に登録する。その後、連携マーク820とされたアイコン822へのタッチ等による起動指示を受け付けた場合、連携管理部573は、連携グループリスト578に登録されている全HMD100に向けて起動指示を送信する。各HMD100では、スマホ500からの起動指示を受信すると、それに応じて連携アプリを起動する。
【0205】
<変形例8>
また、本実施形態においても、第二実施形態の変形例と同様に、スマホ500が、連携アプリの実行を制御してもよい。この場合、連携管理部573が、連携アプリを実行する各HMD100から受信したデータを、他のHMD100へ送信する。
【0206】
この場合、連携グループリスト578は、スマホ500においてのみ管理してもよい。すなわち、連携管理部573は、ステップS3205やステップS3208において、連携グループリスト578を、HMD100に送信しなくてもよい。
【0207】
各HMD100では、連携アプリ実行中、実行部230は、連携して実行するために必要なデータを、スマホ500に送信する。また、スマホ500側では、連携管理部573が、連携グループリスト578を参照し、連携グループ内のHMD100からデータを受信すると、処理を行い、連携グループ内の他のHMD100に向けて送信する。
【0208】
<変形例9>
また、スマホ500は、連携アプリのデータの仲介だけでなく、自身で連携アプリを実行してもよい。この場合、連携グループリスト578に、自身の装置IDおよびアドレスを登録する。そして、アプリ実行部574は、連携動作モードであっても、連携アプリを実行する。
【0209】
<変形例10>
上記実施形態では、所定配置状態であるか否かは、HMD100のアウトカメラ133で撮影した画像を用いて判別する。しかし、これに限定されない。例えば、スマホ500のセンサ550からの情報を使用して、スマホ500とHMD100とが所定配置状態にあるか否かを判別してもよい。
【0210】
例えば、加速度センサ154と、ジャイロセンサ152と、地磁気センサ153等を用いて、HMD100の姿勢および位置を検出し、HMD100の姿勢と、スマホ500の姿勢および位置との関係で判別する。スマホ500の姿勢および位置は、スマホ500が備える加速度センサ554と、ジャイロセンサ552と地磁気センサ553とにより算出する。スマホ500とHMD100との距離は、深度センサ155等で取得する。
【0211】
<変形例11>
上記実施形態では、所定の連携視野131a内にスマホ500等のディスプレイ531に表示されるアイコン822であって、ユーザ900が選択するアイコン822が存在する場合、所定配置状態と判別し、当該アイコン822を、連携マーク820として用いる。しかしながら、これに限定されない。例えば、スマホ500のディスプレイ531に表示される複数のアイコンの中から、連携マーク820としたいアイコン822を、HMD100を介して、選択してもよい。
【0212】
<変形例12>
また、スマホ500のディスプレイ531に表示される連携マーク820は、連携アプリのアイコン822でなくてもよい。例えば、ファイルデータを示すアイコンであってもよい。この場合、アプリリスト250として、マークデータに対応付けて、当該ファイルデータを再生するアプリを記憶しておく。これにより、複数のHMD100で、当該アプリを起動させ、ファイルデータを共有できる。
【0213】
なお、ファイルデータについては、同一のアプリだけでなく異なるアプリでもファイルデータを再生可能な場合がある。従って、個々のHMD100において、アプリリスト250に、異なるアプリが対応づけられていてもよい。これにより、異なるアプリを搭載したHMD100間でもファイルデータを連携して再生することができる。
【0214】
さらに、ファイルデータがARオブジェクトの場合、連携マーク820を基準にして各HMD100で座標系を合わせることで、各HMD100でARオブジェクトの座標を共有してもよい。
【0215】
<変形例13>
また、スマホ500のディスプレイ531に表示される特定のアイコン822について、連携マーク820として用いられている間は、それがわかる態様(連携表示)で表示されてもよい。連携マーク820として用いられるとは、当該アイコン822に対応づけられた連携アプリが複数のHMD100によって連携して実行されているという意味である。
【0216】
連携表示は、例えば、アイコン822の表示色を変えたり、点滅させたり、
図14(b)に示すように、アイコン822に、ドット825等の小マークを付したり、連携しているHMDの数を表示する、等である。これにより、複数のアプリのアイコンが表示されている場合であっても、どのアイコンに対応する連携アプリが、連携して実行されているかがわかる。
【0217】
このように、アイコンを連携表示することにより、連携して連携アプリを実行している間、どのアプリが連携して実行されているか判別しやすくなる。これにより、途中参加者にとって、認識すべきアイコンを判別しやすくなる。
【0218】
<変形例14>
上記各実施形態および変形例において、連携グループリストに登録されたり、逆に、連携グループリストから削除されたり、といった連携グループの構成メンバに変化が生じた場合、各HMD100は、それぞれ、ユーザ900に通知するよう構成してもよい。通知は、例えば、ディスプレイ131に表示する、スピーカ141から音声を出力する、振動発生装置173を振動させる等により行う。これにより、ユーザ900の利便性を高めることができる。
【0219】
<変形例15>
また、連携アプリを連携して実行を開始後に、他のHMD100が連携グループに参加する場合、既に連携グループに参加している全てのHMD100または、代表のHMD100からの許可を得て参加するよう構成してもよい。
【0220】
例えば、参加希望のHMD100が、検出通知データ280aを送信すると、各HMD100または代表のHMD100は、参加可否の確認を行う。例えば、認証処理などで確認する。そして、許可された場合のみ、連携グループリストに追加する。そして、参加許可の通知を送信元のHMD100に送信する。
【0221】
<変形例16>
連携アプリを連携して実行する情報端末は、HMD100に限定されない。例えば、スマホ500であってもよいし、パソコン、タブレット等であってもよい。これらの情報端末が混在してもよい。少なくとも、連携マーク810、820を検出したことを判別可能な構成と、連携アプリを実行可能な構成を備える情報処理端末であればよい。
【0222】
<変形例17>
また、連携マーク820は、実空間のマークでなくてもよい。例えば、VR(Virtual Reality)空間のマークであってもよい。例えば、VR空間において、それぞれのユーザ900の分身であるアバターが、同じ連携マークを認識したら、アバターどうしで、認識した連携マークに対応づけられた連携アプリを連携して実行する。VR空間の中での認識は、例えば、アバターに、VR空間の中で連携マークおよび連携マークに対するタッチ(選択指示)をさせる等により実現する。これにより、VR空間の中に多くのユーザ(アバター)が存在する場合であっても、連携マークに対して選択指示を行った一部のユーザのアバターだけでアプリを連携して実行できる。
【0223】
<応用例>
上記第三実施形態において、連携マーク820を表示するデバイスは、スマホ500のディスプレイ531に限定されない。例えば、映像を投影するスクリーンであってもよい。
【0224】
例えば、会議室に集まったユーザ900全員がそれぞれHMD100を装着し、その視野越しに会議室のスクリーン(ディスプレイ)に表示された連携マークを見る。これにより、HMD100は、当該連携マークを検出する。なお、この連携マークは、各HMD100内で、それぞれ、連携アプリに対応付けられる。各HMD100では、それぞれ、対応する連携アプリを特定し、起動する。また、起動通知データが送受信され、連携グループが管理される。
【0225】
これにより、会議室に参集したユーザ900のHMD100により、自動的に会議の連携グループが形成され、連携アプリを連携して実行できる。
【0226】
例えば、会議の連携グループ内でのみ資料共有したり、参加者の発言を記録したり、議事録を作成したり、といった会議での各種の処理機能を有する連携アプリを用いることにより、会議の運営をスムーズにし、簡単に効率を上げることができる。
【0227】
また、会議中も、スクリーンの一端に連携マークを表示させておくことにより、途中参加のHMD100も、当該連携マークを検出するだけで、連携アプリを起動し、会議に参加できる。特に、会議では、参加メンバがその都度異なることが多々ある。しかしながら、そのような状況であっても、本例によれば、スクリーンに連携アプリのアイコンを表示させるだけで、自動的に連携グループを形成でき、会議をスムーズに運営できる。これにより、利便性を一層向上できる。
【0228】
また、上記第二実施形態は、遠隔会議に適用できる。例えば、会議場所が複数ある状態である。この場合は、各会議場所に予め、同一の連携マーク810を備え付けておく。参加希望のHMD100は、当該連携マーク810を検出するだけで、自動的に、連携アプリを起動でき、遠隔地のHMD100間で連携グループを形成できる。
【0229】
サーバ400を介して、LAN等のネットワークを介した通信によって、連携グループとして登録されたHMD100間で、連携アプリを連携して実行できる。連携アプリを、会議の各種機能を実現するアプリとすることにより、遠隔会議を容易に遂行できる。
【0230】
この場合、連携アプリの起動は会議場所毎にまたはアイコン設置場所毎にアイコンタッチ等のトリガで一斉に行ってもよいし、各HMD100が各々のタイミングで行ってもよい。各会議場所において、会議場所ごとの連携グループを形成した後に、サーバ400が全会議場所の連携グループを統合してもよい。この場合、各会議場所の連携グループの代表のHMD100を介してサーバ400に接続するよう構成してもよい。
【0231】
なお、本発明は上記した実施形態および変形例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0232】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0233】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0234】
100:HMD、101:HMD、102:HMD、103:HMD、104:HMD、110:記憶装置、111:メインプロセッサ、112:システムバス、113:RAM、114:ROM、115:フラッシュメモリ、120:操作受付装置、121:操作キー、130:画像処理装置、131:ディスプレイ、131a:連携視野、133:アウトカメラ、134:インカメラ、136:撮影画像、137:領域、140:音声処理装置、141:スピーカ、143:マイク、150:センサ、151:GPS受信部、152:ジャイロセンサ、153:地磁気センサ、154:加速度センサ、155:深度センサ、160:通信装置、161:LAN通信I/F、162:電話網通信I/F、163:近距離無線通信I/F、171:拡張インタフェース部、172:タイマ、173:振動発生装置、
210:主制御部、220:検出部、230:実行部、240:連携部、250:アプリリスト、251:アプリID、252:マークデータ、253:形状データ、254:マークID、260:連携グループリスト、261:マークID格納場所、262:装置ID、263:アドレス、270:処理データ、280:通知データ、280a:検出通知データ、280b:終了通知データ、281:マークID、282:装置ID、283:アドレス、284:アプリID、285:ステータス、
300:ネットワーク、
400:サーバ、401:CPU、402:メモリ、403:記憶装置、404:通信インタフェース、410:主制御部、420:送受信部、430:連携制御部、440:連携管理部、460:連携グループリスト、461:マークID格納場所、462:装置ID、463:アドレス、
500:スマホ、510:記憶装置、511:メインプロセッサ、512:内部バス、513:RAM、514:ROM、515:フラッシュメモリ、520:操作受付装置、521:操作キー、523:タッチパネル、530:画像処理装置、531:ディスプレイ、533:アウトカメラ、534:インカメラ、540:音声処理装置、541:スピーカ、543:マイク、550:センサ、551:GPS受信装置、552:ジャイロセンサ、553:地磁気センサ、554:加速度センサ、555:深度センサ、560:通信装置、561:LAN通信インタフェース、562:電話網通信インタフェース、563:近距離無線通信インタフェース、570:主制御部、571:受付部、572:送受信部、573:連携管理部、574:アプリ実行部、575:出力部、576:アプリケーションプログラム記憶部、577:アイコンデータ記憶部、578:連携グループリスト、591:拡張インタフェース部、592:タイマ、593:振動発生装置、
700:情報処理システム、701:情報処理システム、702:情報処理システム、
810:連携マーク、820:連携マーク、822:アイコン、823:アイコン、824:アイコン、825:ドット、
900:ユーザ、901:ユーザ、902:ユーザ、903:ユーザ、904:ユーザ、912:無線通信、913:無線通信、914:無線通信、923:無線通信、924:無線通信、934:無線通信、941:視線、942:視線、943:視線、944:視線