(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-527901(P2019-527901A)
(43)【公表日】2019年10月3日
(54)【発明の名称】共有環境を与えるシステム
(51)【国際特許分類】
G06F 13/00 20060101AFI20190906BHJP
A63F 13/35 20140101ALI20190906BHJP
A63F 13/87 20140101ALI20190906BHJP
【FI】
G06F13/00 650R
A63F13/35
A63F13/87
【審査請求】未請求
【予備審査請求】未請求
【全頁数】17
(21)【出願番号】特願2019-517175(P2019-517175)
(86)(22)【出願日】2017年6月5日
(85)【翻訳文提出日】2019年1月15日
(86)【国際出願番号】GB2017000087
(87)【国際公開番号】WO2017212208
(87)【国際公開日】20171214
(31)【優先権主張番号】1610025.7
(32)【優先日】2016年6月8日
(33)【優先権主張国】GB
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.ANDROID
(71)【出願人】
【識別番号】518435563
【氏名又は名称】コンパニオン・リミテッド
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(72)【発明者】
【氏名】キーフ,ジョン・アレクサンダー
(72)【発明者】
【氏名】ハリガン,トーマス・ジェームズ
【テーマコード(参考)】
5B084
【Fターム(参考)】
5B084AA01
5B084AA02
5B084AA05
5B084AA18
5B084AB07
5B084AB18
5B084BA03
5B084BB14
5B084CB06
5B084CB22
5B084CF12
5B084DC02
5B084DC03
5B084DC04
(57)【要約】
本発明は、少なくとも1人のユーザ(20)が、時間(t)依存様式で共有環境において複数のデバイス(50)に関与することを可能にするシステム(10)に関する。より詳細には、システムは、異なるデバイスおよび異なるプラットフォーム(60)上で、異なるユーザ間の対話を可能にするように設計された。これは、異なるプラットフォーム上で同じゲームをプレイする異なるプレーヤが対話することを可能にするシステムとはまったく異なる。したがって、本発明は、ソフトウェア開発者が、開発の所与の異なる領域に取り組み、より豊富なまたはよりリッチな体験を体験するために、リモートで協力し、対話することを可能にし得、本発明はまた、多種多様な領域における適用例を可能にする。システム(10)は、1人または複数のユーザ(20−1、20−2)が、時間(t)依存様式で、異なるプラットフォーム(60a〜e)上で動作する少なくとも2つのデバイス(50a〜e)に関与することを可能にする。システム(10)は、体験(30−1、30−2、30−3)を与えるデバイス(50−1、50−2、50−3)から、データ入力(40−1、40−2、40−3)を受信および照合し、マージされた標準化されたデータ出力(70)を生成するデータ管理装置(DMA)(100)であって、マージされた標準化されたデータ出力(70)は、1人または複数のユーザ(20−1、20−2)およびそれらのデバイス(50)に中継され(92)、マージされた標準化されたデータ出力(70)は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される、データ管理装置(DMA)(100)を備える。システム(10)は、1つまたは複数のユーザデバイス(50a〜e)およびプラットフォーム(60a〜e)を連続的にモニタし、1つまたは複数のユーザデバイス(50a〜e)およびプラットフォーム(60a〜e)がシステム(10)によってサポートされるかどうかを決定し、システム(10)によってサポートされるデバイス(50a〜e)およびプラットフォーム(60a〜e)のみからデータ(40−1、40−2、40−3)を読み取ることを試みる。
【特許請求の範囲】
【請求項1】
1人または複数のユーザ(20−1、20−2)が、時間(t)依存様式(time dependent manner)で、異なるプラットフォーム(60a〜e)上で動作する少なくとも2つのデバイス(50a〜e)に関与する(engage)ことを可能にするシステム(10)であって、体験(30−1、30−2、30−3)を与えるデバイス(50−1、50−2、50−3)から、データ入力(40−1、40−2、40−3)を受信および照合し、マージされた標準化されたデータ出力(70)を生成するデータ管理装置(DMA)(100)であって、前記マージされた標準化されたデータ出力(70)が、前記1人または複数のユーザ(20−1、20−2)およびそれらのデバイス(50)に中継され(92)、前記マージされた標準化されたデータ出力(70)は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される(demerged)、データ管理装置(DMA)(100)を備え、前記システム(10)は、前記1つまたは複数のユーザデバイス(50a〜e)および前記プラットフォーム(60a〜e)を連続的にモニタし、前記1つまたは複数のユーザデバイス(50a〜e)および前記プラットフォーム(60a〜e)が前記システム(10)によってサポートされるかどうかを決定し、前記システム(10)によってサポートされるデバイス(50a〜e)およびプラットフォーム(60a〜e)のみからデータ(40−1、40−2、40−3)を読み取ることを試みる、システム(10)。
【請求項2】
前記DMA(100)が、デバイス(50)から入力データ(40)を受信し、フレームリーダー(80)が、必要とされるフレームレートを決定し、時間的に所与の瞬間(t1)における前記デバイスの状態のスナップショットであるフレームデータ(82)をキャプチャする、請求項1に記載のシステム(10)。
【請求項3】
フレームデータが、バッファリーダー(84)によってデバイス固有バッファに追加される、請求項2に記載のシステム。
【請求項4】
前記バッファが、前記デバイスフレームデータ(82)を受けるエンドポイント(86)によって読み取られ、前記デバイスフレームデータ(82)が、直接読み取られおよび/または他のリンクされたデバイスにストリーミングされるか、またはリモートデータ管理装置(RDMA)(120)に、ネットワークインターフェースを横切って送られるかのいずれかである、請求項2または3に記載のシステム。
【請求項5】
前記DMAが、複数のユーザ(20)からの複数のインバウンドデータストリーム(40)を関連付ける、請求項1から4のいずれかに記載のシステム。
【請求項6】
前記DMAが、各ユーザから時間依存フレームを受け、マージされたフレーム(88)を形成するために時間依存フレームをマージする、請求項5に記載のシステム。
【請求項7】
前記DMAが、シリアル化されたマージされたフレーム(90)を形成するために、前記マージされたフレームをシリアル化する、請求項6に記載のシステム。
【請求項8】
前記DMAが、前記ユーザまたは各ユーザのローカルDMAに、前記シリアル化されたマージされたフレーム(90)を送信し(92)、前記シリアル化されたマージされたフレーム(90)が、前記ユーザ(20)による視聴のためにシリアル化解除(94)およびマージ解除される(96)、請求項7に記載のシステム。
【請求項9】
前記1つまたは複数のデバイス(50)が仮想現実ヘッドセット(50a)を含み、1つまたは複数の共有体験が仮想体験(30a)を含む、請求項1から8のいずれかに記載のシステム。
【請求項10】
前記1つまたは複数のデバイス(50)がカメラ(50b)を含み、前記1つまたは複数の共有体験が拡張現実体験(30b)を含む、請求項1〜8のいずれかに記載のシステム。
【請求項11】
前記1つまたは複数のデバイス(50)が動き追跡ハードウェア(50c)を含み、前記1つまたは複数の共有体験が動き体験(30c)を含む、請求項1〜8のいずれかに記載のシステム。
【請求項12】
前記LDMAへのアクセスをもつ各デバイスが、特定のバッファサイズ、更新レートおよび管理プロトコルをサポートするように構成された、請求項1から11のいずれかに記載のシステム。
【請求項13】
データが、送信の前にシリアル化および圧縮される、請求項1から12のいずれかに記載のシステム。
【請求項14】
システム(10)であって、異なるプラットフォーム(60)上で動作する少なくとも2つのデバイス(50)を使用する1人または複数のユーザ(20)が、前記システム(10)が、1つまたは複数のユーザ体験を、それらのデバイスおよびプラットフォームの能力に合わせて調整する共有体験(30−1、30−2、30−3)に前記1人または複数のユーザが参加することができるような共有環境(300)内で動作することを可能にし、前記システム(10)は、前記1つまたは複数のユーザデバイス(50)および前記プラットフォーム(60)を連続的にモニタし、前記1つまたは複数のユーザデバイス(50)および前記プラットフォーム(60)が前記システム(10)によってサポートされるかどうかを決定し、前記システム(10)によってサポートされるデバイス(50)およびプラットフォーム(60)のみからデータ(40)を読み取ることを試みる、システム(10)。
【請求項15】
カメラをもつユーザが、拡張現実体験を体験することができる、請求項14に記載のシステム(10)。
【請求項16】
VRヘッドセットをもつユーザが、仮想現実体験を体験することができる、請求項14に記載のシステム(10)。
【請求項17】
身体追跡ハードウェアをもつユーザが、動きを伴う体験を体験することができる、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本発明は、少なくとも1人のユーザが、時間依存様式で共有環境において複数のデバイスに関与することを可能にするシステムに関する。
[0002]より詳細には、本システムは、他のシステムとは対照的に、異なるデバイスおよび異なるプラットフォーム上で、異なるユーザ間の対話を可能にするように設計され、これは、異なるプラットフォーム上で同じゲームをプレイする異なるプレーヤが対話することを可能にするシステムとはまったく異なる。したがって、本発明は、ソフトウェア開発者が、開発の所与の異なる領域に取り組み、より豊富なまたはよりリッチな体験を体験するために、リモートで協力し、対話することを可能にし得る。本発明はまた、明らかになるように、多種多様な領域における適用例を可能にする。
【背景技術】
【0002】
[0003]今日、技術のユーザは、とりわけ、ユーザが使用しているデバイス、デバイスのハードウェア能力、およびデバイスがその上で実行するプラットフォームに応じて、広範囲の体験にさらされ得る。
【0003】
[0004]デバイスの例は、限定はしないが、仮想現実(VR)ヘッドセット、カメラ、電話およびタブレットなどのモバイルデバイス、コンピュータおよびコンピュータの周辺機器、たとえば、マウスまたはキーボード、ならびにゲーム機を含む。
【0004】
[0005]プラットフォームの例は、限定はしないが、Windows、Mac、Linux(登録商標)、iOSおよびandroidを含む。
[0006]ユーザに面している問題は、ユーザが、あるプラットフォーム上で動作するデバイスを動作させている場合、ユーザは、異なるプラットフォーム上でデバイスを動作させる第2のユーザ、または他のデバイス自体に容易には関与することができないことである。
【0005】
[0007]仕事場では、これは、開発者に対して著しい困難を生じ得るだけでなく、アーキテクチャ、余暇および観光事業、トレーニングおよび教育、ゲーミング、マーケティング、芸術および文化、ならびに健康および医療などの分野における適用例に対して制約を課する。
【0006】
[0008]したがって、クロスプラットフォームマルチユーザゲーミングシステムが存在するが、これらのシステムは、システムが、異なるデバイスおよび/または異なるオペレーティングシステム上でプレイしていることがある異なるユーザによる同じゲームのプレイを可能にするにすぎないので、柔軟性は限られている。
【0007】
[0009]たとえば、US2014/0128161は、異なるデバイス上でおよび/または異なるプラットフォーム上で同じゲームをプレイする異なるユーザがサーバを介して対話する、クロスプラットフォームオンラインゲームシステムを開示している。
【0008】
[0010]US2011/026332は、ゲーミングサービスを与えるためのサーバベースシステムに関し、より詳細には、符号化ビデオを扱うやり方を検討している。
[0011]US2013/0316832は、複数のサーバを使用してマルチユーザゲームプレイを可能にするシステムに関する。
【0009】
[0012]US2015/0051001は、第1のゲーミングプラットフォーム上でビデオゲームをプレイする第1のプレーヤと、第2のゲーミングプラットフォーム上でビデオゲームをプレイする第2のプレーヤとの間でオンラインマルチプレーヤビデオゲームを行うためのシステムに関する。
【0010】
[0013]EP2926877は、アバターが仮想環境におけるプレーヤを表すためのセンサーベースゲーミングシステムに関する。
[0014]US2015/0174489は、ユーザから入力を受信するように構成されたユーザインターフェースと、ユーザがゲームをプレイすることを可能にするために、ユーザインターフェースを介するユーザによる関与のためのゲーム要素を表示するように構成されたディスプレイと、ディスプレイを制御するように構成されたプロセッサとを有するコンピュータデバイスに関する。
【0011】
[0015]US2014/0157246は、非同期ゲームにおけるターンの実行を指定するゲームプレイ論理を定義するゲームエンジンを開示している。ゲームプレイ論理は、クライアントデバイスプラットフォームに依存しないことがある。
【0012】
[0016]
本発明の目的は、1人または複数のユーザが、共通ゲームに依存しない異なるプラットフォーム上で動作する異なるデバイスに関連する体験またはデータを共有することができるシステムを作成することであった。したがって、システムは、異種および無関係のデータを管理する必要があり、したがって、システムは、たとえば、ユーザがユーザの体験を最大にすることを可能にする適切なソフトウェアのダウンロードを可能にするために各ユーザホストシステムをモニタし、ユーザと通信することができる必要があった。
【0013】
[0017]さらに、システムは、異なるデータソースが、時間依存および同期様式で管理され、異なるユーザによる視聴のために適宜にマージ解除され得る高速有効転送を可能にするようにシリアル化および圧縮されることを保証すべきである。
【0014】
[0018]本発明の一態様は、体験を与えるデバイスからのデータ入力を照合し、マージされた標準化されたデータ出力を生成することによって達成され、マージされた標準化されたデータ出力は、1人または複数のユーザおよびそれらのデバイスに中継され、マージされた標準化されたデータ出力は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される。
【0015】
[0019]共有環境を与えることによって、各ユーザは、それらのプラットフォームおよび周辺機器のハードウェア能力から十分に恩恵を受けるが、それらのデバイスの能力と共有環境の性質とに応じて、他の場所で生成された追加の体験から恩恵を受け得る。
【0016】
[0020]しかしながら、ユーザは、共有環境に参加するために、互いと同じハードウェア能力を必要としない。
[0021]システムは、各ユーザの体験を、それらのプラットフォームの能力に合わせて調整する。たとえば、
[0022]カメラ能力をもつユーザは、拡張現実体験を享受し得る。
【0017】
[0023]仮想現実ヘッドセットをもつユーザは、VR体験を享受し得る。
[0024]KinectまたはIntel RealSenseなど、身体追跡ハードウェアをもつユーザは、身体移動を入力として変換するために、それらのハードウェアを利用することができる。
【0018】
[0025]体験の各タイプは、ユーザの能力に固有である。ユーザは、異なるプラットフォームおよびデバイスを、デスクトップコンピュータ上で実行する身体追跡体験にリンクされた、モバイルデバイス上で実行するVR体験など、単一の「マージされた」体験に組み合わせ得る。
【0019】
[0026]異なるプラットフォーム上で異なるデバイスを動作させる異なるユーザが共有環境において動作することができる共有環境を作成することは、ユーザの体験を向上させることができる。
【0020】
[0027]システムソフトウェアは、接続されたハードウェアデバイスのためのホストシステム(たとえば、Windows/Android/Mac/iOS)を連続的にモニタする。利用可能なハードウェアデバイスのリストが、知られているサポートされるデバイスのリストと比較される。ハードウェアデバイスがシステムソフトウェアによってまだサポートされない場合、システムソフトウェアは、そのハードウェアを無視し、デバイスからデータを読み取ることを試みない。ハードウェアデバイスがシステムソフトウェアによってサポートされる場合、それは、ユーザが、必要とされるソフトウェアモジュールをダウンロードし、ローカルにインストールすることを望むかどうかをユーザに質問する。
【0021】
[0028]ユーザがハードウェアデバイスを使用することを望む場合、ユーザは、適切なソフトウェアモジュールのインストールを可能にしなければならない。
[0029]ユーザが、必要とされるソフトウェアモジュールをダウンロードしないことを選択した場合、システムは、モジュールがインストールされるまで、ハードウェアデバイスを無視する。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本願発明の一実施例は、例えば、共有環境を与えるシステムに関する。
【課題を解決するための手段】
【0023】
[0030]本発明の第1の態様によれば、1人または複数のユーザが、時間依存様式で、異なるプラットフォーム上で動作する少なくとも2つのデバイスに関与することを可能にするシステムであって、体験を与えるデバイスから、データ入力を受信および照合し、マージされた標準化されたデータ出力を生成するデータ管理装置(DMA)であって、マージされた標準化されたデータ出力は、1人または複数のユーザおよび1人または複数のユーザのデバイスに中継され、マージされた標準化されたデータ出力は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される、データ管理装置(DMA)を備え、システム(10)は、1つまたは複数のユーザデバイス(50a〜e)およびプラットフォーム(60a〜e)を連続的にモニタし、1つまたは複数のユーザデバイス(50a〜e)およびプラットフォーム(60a〜e)がシステム(10)によってサポートされるかどうかを決定し、システム(10)によってサポートされるデバイス(50a〜e)およびプラットフォーム(60a〜e)のみからデータ(40−1、40−2、40−3)を読み取ることを試みる、システムが提供される。
【0024】
[0031]好ましい実施形態では、DMAは、デバイスから入力データを受信し、フレームリーダーが、必要とされるフレームレートを決定し、時間的に所与の瞬間におけるデバイスの状態のスナップショットであるフレームデータをキャプチャする。
【0025】
[0032]好ましくは、フレームデータは、バッファリーダーによってデバイス固有バッファに追加される。
[0033]バッファは、デバイスフレームデータを受けるエンドポイントシステムによって読み取られ、デバイスフレームデータは、直接読み取られおよび/または他のリンクされたデバイスにストリーミングされるか、またはリモートデータ管理装置に、ネットワークインターフェースを横切って送られるかのいずれかである。
【0026】
[0034]DMAは、複数のデバイスおよび/またはユーザからの複数のインバウンドデータストリームを関連付け、各デバイスおよび/またはユーザから時間依存フレームを受け、マージされたフレームを形成するために時間依存フレームをマージする。
【0027】
[0035]DMAは、シリアル化されたマージされたフレームを形成するために、マージされたフレームをシリアル化する。
[0036]DMAは、ユーザまたは各ユーザのローカルDMAに、シリアル化されたマージされたフレームを送信し、シリアル化されたマージされたフレームは、ユーザによる視聴のためにシリアル化解除およびマージ解除される。
【0028】
[0037]一実施形態では、1つまたは複数のデバイスは仮想現実ヘッドセットを含み、1つまたは複数の共有体験は仮想体験を含む。
[0038]別の実施形態では、1つまたは複数のデバイスはカメラを含み、1つまたは複数の共有体験は拡張現実体験を含む。
【0029】
[0039]別の実施形態では、1つまたは複数のデバイスは動き追跡ハードウェアを含み、1つまたは複数の共有体験は動き体験を含む。
[0040]好ましくは、LDMAへのアクセスをもつ各デバイスは、特定のバッファサイズ、更新レートおよび管理プロトコルをサポートするように構成される。
【0030】
[0041]好ましくは、データは、送信の前にシリアル化および圧縮される。
[0042]本発明の第2の態様によれば、システムであって、異なるプラットフォーム上で動作する少なくとも2つのデバイスを使用する1人または複数のユーザが、システムが、1つまたは複数のユーザ体験を、それらのデバイスおよびプラットフォームの能力に合わせて調整する共有体験に1人または複数のユーザが参加することができるような共有環境内で動作することを可能にし、システム(10)は、1つまたは複数のユーザデバイス(50)およびプラットフォーム(60)を連続的にモニタし、1つまたは複数のユーザデバイス(50)およびプラットフォーム(60)がシステム(10)によってサポートされるかどうかを決定し、システム(10)によってサポートされるデバイス(50)およびプラットフォーム(60)のみからデータ(40)を読み取ることを試みる、システムが提供される。
【0031】
[0043]本システムはまた、他のユーザの(1つまたは複数の)デバイスの能力に応じて、他のユーザがそれらの体験の態様を共有することを可能にする。
[0044]本発明の実施形態は、添付の図面を参照しながら以下でさらに説明される。
【図面の簡単な説明】
【0032】
【
図1】[0045]本発明の一態様による単純なシステムを示す図である。
【
図2】[0046]本発明の一態様に従って、どのように、あるデバイスからのデータが、キャプチャされ、そのデータが、同期様式で他のデバイスからのデータとマージされることを可能にするフォーマットに「変換」され得るかを示す図である。
【
図3】[0047]本発明の一態様のデータマージプロセスを示す図である。
【
図4】[0048]ゲームをプレイするためにシステムを使用する2人のユーザを示す図である。
【
図5】[0049]第2のユーザが迷路の上を飛行するときの第2のユーザのビューを示すスクリーンショットである(第2のユーザは空飛ぶ円盤として現れる)。
【
図6】[0050]第1のユーザが迷路を通って歩くときの第1のユーザのビューを示すスクリーンショットである(第1のユーザは人の姿として現れる)。
【発明を実施するための形態】
【0033】
[0051]
図1を参照すると、システム(10)は、1人または複数のユーザ(20−1、20−2)が、各ユーザ(20−1、20−2)が、それらの(1つまたは複数の)デバイス(50)を通してそれらの(1つまたは複数の)プラットフォーム(60)および周辺機器のハードウェア能力から十分に恩恵を受ける共有環境(300)において動作することを可能にする。
【0034】
[0052]本システムは、ユーザの(1つまたは複数の)デバイスに関連するデータ(40−1、40−2)を処理することによってこれを可能にし、データは、1つまたは複数のデータ管理装置(DMA)(100)を通してユーザに所与の体験(30−1、30−2)を与え、1つまたは複数のデータ管理装置(DMA)(100)は、ローカルデータ管理装置(LDMA)(110)およびまたはリモートデータ管理装置(RDMA)(120)であり得、したがって、データは、「変換」されて、共有環境(300)においてユーザ(20−1、20−2)にフィードバックされ得る標準化されたデータ出力(70−1、70−2)が生成され得、これはすべて、時間(t)依存様式で行われる。
【0035】
[0053]したがって、たとえば、第1のユーザ(20−1)は、仮想現実ヘッドセット(50a−1)(たとえば、サムスンギア)および別個のBluetooth(登録商標)接続されたゲームパッドコントローラ(50e−1)に接続されたあるプラットフォーム(60)(たとえば、Android)上のスマートフォン(50c−1)を使用し得、このユーザ(20−1)に関連するデータ(40−1)は、ローカルデバイス(110)および/またはリモートデバイス(120)であり得るデータ管理装置(DMA)(100)に、時間(t)依存様式でストリーミングされる。データ管理装置(DMA)(100)は、時間(t)依存様式で、1つまたは複数のデバイス(50)からのデータ入力(40−1)を受信および照合し、データ入力(40−1)を他のユーザ(20−2)からの他のデータ入力(40−2)と照合し、共有環境(300)においてアクセスされ得る標準化された出力データ(70)を各ユーザ(20−1、20−2)に送る。
【0036】
[0054]ハードウェアデバイス(50)と通信するために、本システムは、ハードウェアデバイスのクラスに固有であるか、または単一の特定のハードウェアデバイスに関係するかのいずれかである標準化されたモジュールを備える。
【0037】
[0055]ソフトウェアは、通信の標準化された方法を利用するいくつかのクラスのハードウェア(たとえば、ウェブカム(50b)、ゲームパッドコントローラ(50e)、および加速度計)のサポートを与えるいくつかの一般モジュールを含み得る。マイクロソフトKinectまたはHTC Viveのような、プロプライエタリ通信方法を使用するものなど、いくつかの特定のハードウェアデバイスは、これらのデバイスのサポートを可能にする追加のソフトウェアモジュールのインストールを必要とする。実際には、これは、事実上、追加のソフトウェアのインストールを通して追加の随意の挙動をサポートする他のソフトウェアと同様の、プラグインシステムである。
【0038】
[0056]全体としてソフトウェアのアクセシビリティを可能にするために、および長期保守性および安定性を保証するために、ハードウェアデバイスとの通信は、分離された、標準化されたソフトウェアモジュールを介して行われる。
【0039】
[0057]ローカルにインストールされ得るソフトウェアは、ホストオペレーティングシステムを通してリンクされるハードウェアデバイス(50)が、システムソフトウェアとインターフェースし、これがデータが所望のフレームレートで収集されることを保証することができることを保証する。
【0040】
[0058]
図2は、データ(40)が、フレームリーダー(80)およびバッファリーダー(84)の使用によって、モニタ構成要素(52)とデータリレー構成要素(54)とを備えるデバイス(50)からどのように送信されるかを示す。フレームリーダー(80)は、データ(40)を処理し、適切なフレームレートを選択し、一連のフレーム(82)、すなわち、フレーム1、2、3などを作成する。
【0041】
[0059]本システムは、必要とされるフレームレートを決定し(ここで、フレームは、時間的にある瞬間におけるデバイスの状態のスナップショットである)、このフレームレートで各デバイスから読み取る。
【0042】
[0060]バッファリーダー(84)は、デバイスごとにバッファを維持する。各フレームはバッファに追加され、バッファは、次いで、ストリームリーダーによって直接読み取られ得る。ストリームリーダーは、次いで、フレームバッファデータを他の構成要素に中継する。フレームバッファへの直接アクセスをもつ各構成要素は、特定のバッファサイズ、更新レート、および管理プロトコルをサポートするように構成され得る。
【0043】
[0061]エンドポイント(86)において、バッファからのデバイスフレームデータは、処理され、RDMA(120)に、ネットワークインターフェースを横切って送られる。
[0062]RDMAは、複数のインバウンドデータストリーム(40−1、40−2、40−3)を任意の数のユーザ(20−1、20−2、20−3)に関連付けることを担当する。
図3に示されているように、RDMAにおいて、それぞれのデータストリームはフレーム依存様式でマージされ(88)、時間依存様式でシリアル化され(90)て、標準化されたデータ出力(70)が生じる。
【0044】
[0063]出力データ(70)は、ユーザ(20−1、20−2)に送信され(92)、ここで、シリアル化されたマージされたフレーム(90)は、シリアル化解除され(94)、ユーザに中継され、フレームはマージ解除される(96)。
【0045】
[0064]したがって、RDMAは、ランタイムにおいてアプリケーションによって指定される、または構築時に開発者によって指定されるインバウンドデータを使用することが可能であるユーザのためのアウトバウンドデータストリーム(70)を作成および維持する。
【0046】
[0065]これを達成するために、RDMAは、複数のインバウンドデータストリームを、ユーザごとに1つの単一の出力ストリーム(70)にマージする。次いで、各ユーザ(20−1、20−2)は、ローカルに各デバイスのためのフレームバッファ(96)をシリアル化解除(94)および復元する。
【0047】
[0066]各ホストアプリケーションは、再構成されたデータフレームバッファ(96)から読み取り得る。
[0067]たいていの使用事例は、一般に、各パス上で各バッファから単一のフレームを読み取ることを伴うが、ホストアプリケーションは、随意に、特定のバッファの全体を読み取り得る。
【0048】
[0068]データ送信を助けるために、データは、データがネットワークを横切って転送されるときはいつでも、シリアル化および圧縮される。
[0069]RDMAは、ネットワーク上でデータを送るために、ユーザデータグラムプロトコル(UDP)または伝送制御プロトコル(TCP)のいずれかを使用し得る。特定の状況において、ストリーム制御伝送プロトコル(SCTP)も使用され得る。
【0049】
[0070]データは、いくつかの随意の圧縮アルゴリズムのうちの1つを使用して圧縮される。圧縮アルゴリズムの選定は、データを送信するために使用されているデバイスに依存する。ソフトウェアベース圧縮とハードウェアベース圧縮の両方が、各デバイスの能力に応じて利用され得る。
【0050】
[0071]本システムは、以下の例1に関してさらに例示される。
例1
[0072]例1および添付の
図4〜
図6は、異なるプラットフォーム(60a、60c)上の異なるデバイス(50a、50c)を使用する2人のユーザ(20−1、20−2)がデータ(70)の共有を通して共有環境(300)を体験することを、本発明のシステム(10)がどのように可能にするかを示す。
【0051】
[0073]2人のユーザ(20−1、20−2)は、仮想現実(VR)デバイス(50a)を通して視聴されたときに出現する壁(230)と、拡張現実(AR)デバイス(50c)を通して視聴されたときに出現するマーカー(240)とをもつ迷路(220)を備えるプレイ面(210)上で、パズルゲーム(200)をプレイしている。
【0052】
[0074]ローカルデバイス(110)および/またはリモートデバイス(220)であり得るデータ管理装置DMA(100)を介してシステムソフトウェアにアクセスすることによって、2人のユーザ(20−1、20−2)は、ゲーム(200)に加わり、リアルタイムで協力することが可能である。
【0053】
[0075]ゲーム(200)において、仮想現実ユーザ(20−1)は、怪物(図示せず)がいる迷路(220)内をナビゲーションすることを必要とされる。迷路の壁(230)は、VRユーザ(20−1)がその向こう側を見るには高すぎるので、VRユーザ(20−1)は、迷路内をナビゲーションするために、別のユーザ、この場合、異なる体験(30b)を得る、カメラ(50c)をもつARユーザ(20−2)に頼らなければならない。
【0054】
[0076]
図6を参照すると、VRユーザ(20−1)は、ゲーム(200)内で人間の姿(260)として表されている。VRユーザは、仮想現実ヘッドセット(50a1)(たとえば、サムスンギア)に接続されたスマートフォン(50c1)(たとえば、Android)と、ユーザがゲーム世界を通してそれらのキャラクタを移動させることを可能にする別個のBluetooth接続されたゲームパッドコントローラ(50e1)とを使用する。拡張現実(AR)ユーザ(20−2)は、ゲーム内で空飛ぶ円盤(270)として表されている。ゲーム内のそれらの位置は、拡張現実マーカー(図示せず)に対するデバイス(50c)の位置に基づく。ARユーザ(20−2)は、上方から迷路(220)を見て、したがって、道筋を示すために(スクリーンをタップすることによって空飛ぶ円盤から発射される)レーザーを使用して方向をコールアウトすることによって、VRユーザ(20−1)が終点まで迷路内をナビゲーションするのを助けることが可能である。
【0055】
[0077]ARユーザ(20−2)は、マーカー画像を物理的に歩き回ることによって、およびマーカー上でそれらのデバイス(50c)を移動させることによって、それらの空飛ぶ円盤(270)を移動させる。ARユーザ(20−2)は、マーカー画像のより近くにまたはマーカー画像からさらに離れてそれらのデバイスを物理的に移動させることによって、共有ゲーム世界にズームインするか、または共有ゲーム世界からズームアウトすることができる。ARユーザ(20−2)は、タブレットデバイス(たとえば、iPad(登録商標))を使用し、スクリーンをタップすることと、デバイスを物理的に移動させることとを介してゲームと対話する。
【0056】
[0078]本システムは、各デバイス上にロードされたソフトウェアが、第1のユーザ(20−1)から第1のデータセット(40−1)を読み取り、第1のデータセット(40−1)をローカルおよび/またはリモートDMAに送信することと、各デバイス上にロードされたソフトウェアが、第2のユーザ(20−2)から第2のデータセット(40−2)を読み取り、第2のデータセット(40−2)をローカルおよび/またはリモートDMAに送信することとによって動作する。次いで、データの両方のセットは、処理され、同期および時間依存様式で他のデバイスに配信される。
【0057】
[0079]この例では、第1のデータセットは、VRデバイスの向き(すなわち、着用者の頭部の向き)を与えるデータを備える。この向きは、「回転なし」または「前をまっすぐに見ること」を表す0,0,0,0の原点に基づく4元数(X,Y,Z,W)回転として表される。第2のデータセットは、マーカー画像に対するARデバイスの位置を与えるデータを備える。この位置は、ゲーム世界/マーカー画像の厳密な中心を表す0,0,0の原点に基づくX,Y,Z座標として表される。これらの2つのデータセットは、各デバイス上のソフトウェアを介して読み取られ、処理および他のデバイスへの配信のためにDMAまたは中央ゲームサーバに送信される。
【0058】
[0080]出願人が克服しなければならなかった課題のうちの1つは、異なるユーザが異なるデバイスを動作させていたことにより、データセットを同期させる課題であった。出願人は、データストリーミングプロセスを制御することによって、この問題を克服した。各デバイスからのデータは、同意されたフレームレート(たとえば、25フレーム毎秒)で読み取られ、(ネットワークレイテンシに応じた)同様のレートでDMAまたはサーバに配信される。次いで、サーバは、各データフレームを処理し、要求時のユーザへの配信のためにデータを準備することができる。
【0059】
[0081]中央ゲームサーバがARデバイスから位置データを受信すると、サーバは、空飛ぶ円盤の、ゲーム内の位置を更新する。次いで、VRユーザは、この更新されたデータを受信し、それに応じてVRビューを更新する。VRプレーヤの観点から、空飛ぶ円盤は、正しい相対速度および位置を伴ってゲーム世界を動き回る。ARプレーヤが、マーカー画像上の任意のポイント上に直接それらのデバイスを配置した場合、VRプレーヤは、空飛ぶ円盤がゲーム世界内のそのポイント上で直接ホバリングするのを見る。
【0060】
[0082]中央ゲームサーバがVRヘッドセットから向きデータを受信すると、サーバはVRキャラクタの頭部の、ゲーム内の向きを更新する。次いで、ARユーザは、この更新されたデータを受信し、それに応じてARビューを更新する。ARプレーヤの観点から、VRプレーヤを表すキャラクタは、ユーザの物理的な頭部の移動の正確な再現においてキャラクタの頭部を移動する。VRプレーヤが上をまっすぐに見た場合、それらのキャラクタは上をまっすぐに見るように現れる。VRプレーヤがARプレーヤを表す空飛ぶ円盤をまっすぐに見た場合、ARプレーヤは、VRプレーヤを表すキャラクタがARプレーヤをまっすぐに見るように現れるのを見る。この使用事例では、本システムは、異なるプラットフォーム/オペレーティングシステムを使用する複数のプレーヤが、ゲーム環境を共有し、対話の新規の方法を探査することを可能にし、それにより、各プレーヤは、デバイスのそれらの選定によって与えられるそれら自身の別個の能力を有する。ARプレーヤは、方向、警告、およびヒントの支援なしに環境をナビゲーションすることが困難であると感じるVRプレーヤに、ゲーム世界のそれらのトップダウン体験を使用して、この支援を与えることができる。この使用事例は協力的ゲーミング環境に基づくが、同じ原理およびメカニクスが、ユーザが、協力的様式で目的を達成するために対話することを必要とされ得る、トレーニング、観測および評価など、他の目的のために利用され得る。
【国際調査報告】