(57)【要約】  本発明は、少なくとも１人のユーザ（２０）が、時間（ｔ）依存様式で共有環境において複数のデバイス（５０）に関与することを可能にするシステム（１０）に関する。より詳細には、システムは、異なるデバイスおよび異なるプラットフォーム（６０）上で、異なるユーザ間の対話を可能にするように設計された。これは、異なるプラットフォーム上で同じゲームをプレイする異なるプレーヤが対話することを可能にするシステムとはまったく異なる。したがって、本発明は、ソフトウェア開発者が、開発の所与の異なる領域に取り組み、より豊富なまたはよりリッチな体験を体験するために、リモートで協力し、対話することを可能にし得、本発明はまた、多種多様な領域における適用例を可能にする。システム（１０）は、１人または複数のユーザ（２０−１、２０−２）が、時間（ｔ）依存様式で、異なるプラットフォーム（６０ａ〜ｅ）上で動作する少なくとも２つのデバイス（５０ａ〜ｅ）に関与することを可能にする。システム（１０）は、体験（３０−１、３０−２、３０−３）を与えるデバイス（５０−１、５０−２、５０−３）から、データ入力（４０−１、４０−２、４０−３）を受信および照合し、マージされた標準化されたデータ出力（７０）を生成するデータ管理装置（ＤＭＡ）（１００）であって、マージされた標準化されたデータ出力（７０）は、１人または複数のユーザ（２０−１、２０−２）およびそれらのデバイス（５０）に中継され（９２）、マージされた標準化されたデータ出力（７０）は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される、データ管理装置（ＤＭＡ）（１００）を備える。システム（１０）は、１つまたは複数のユーザデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）を連続的にモニタし、１つまたは複数のユーザデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）がシステム（１０）によってサポートされるかどうかを決定し、システム（１０）によってサポートされるデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）のみからデータ（４０−１、４０−２、４０−３）を読み取ることを試みる。
2019527901.tif 000002
【特許請求の範囲】
【請求項１】
１人または複数のユーザ（２０−１、２０−２）が、時間（ｔ）依存様式(time dependent manner)で、異なるプラットフォーム（６０ａ〜ｅ）上で動作する少なくとも２つのデバイス（５０ａ〜ｅ）に関与する(engage)ことを可能にするシステム（１０）であって、体験（３０−１、３０−２、３０−３）を与えるデバイス（５０−１、５０−２、５０−３）から、データ入力（４０−１、４０−２、４０−３）を受信および照合し、マージされた標準化されたデータ出力（７０）を生成するデータ管理装置（ＤＭＡ）（１００）であって、前記マージされた標準化されたデータ出力（７０）が、前記１人または複数のユーザ（２０−１、２０−２）およびそれらのデバイス（５０）に中継され（９２）、前記マージされた標準化されたデータ出力（７０）は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される(demerged)、データ管理装置（ＤＭＡ）（１００）を備え、前記システム（１０）は、前記１つまたは複数のユーザデバイス（５０ａ〜ｅ）および前記プラットフォーム（６０ａ〜ｅ）を連続的にモニタし、前記１つまたは複数のユーザデバイス（５０ａ〜ｅ）および前記プラットフォーム（６０ａ〜ｅ）が前記システム（１０）によってサポートされるかどうかを決定し、前記システム（１０）によってサポートされるデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）のみからデータ（４０−１、４０−２、４０−３）を読み取ることを試みる、システム（１０）。
【請求項２】
前記ＤＭＡ（１００）が、デバイス（５０）から入力データ（４０）を受信し、フレームリーダー（８０）が、必要とされるフレームレートを決定し、時間的に所与の瞬間（ｔ１）における前記デバイスの状態のスナップショットであるフレームデータ（８２）をキャプチャする、請求項１に記載のシステム（１０）。
【請求項３】
フレームデータが、バッファリーダー（８４）によってデバイス固有バッファに追加される、請求項２に記載のシステム。
【請求項４】
前記バッファが、前記デバイスフレームデータ（８２）を受けるエンドポイント（８６）によって読み取られ、前記デバイスフレームデータ（８２）が、直接読み取られおよび／または他のリンクされたデバイスにストリーミングされるか、またはリモートデータ管理装置（ＲＤＭＡ）（１２０）に、ネットワークインターフェースを横切って送られるかのいずれかである、請求項２または３に記載のシステム。
【請求項５】
前記ＤＭＡが、複数のユーザ（２０）からの複数のインバウンドデータストリーム（４０）を関連付ける、請求項１から４のいずれかに記載のシステム。
【請求項６】
前記ＤＭＡが、各ユーザから時間依存フレームを受け、マージされたフレーム（８８）を形成するために時間依存フレームをマージする、請求項５に記載のシステム。
【請求項７】
前記ＤＭＡが、シリアル化されたマージされたフレーム（９０）を形成するために、前記マージされたフレームをシリアル化する、請求項６に記載のシステム。
【請求項８】
前記ＤＭＡが、前記ユーザまたは各ユーザのローカルＤＭＡに、前記シリアル化されたマージされたフレーム（９０）を送信し（９２）、前記シリアル化されたマージされたフレーム（９０）が、前記ユーザ（２０）による視聴のためにシリアル化解除（９４）およびマージ解除される（９６）、請求項７に記載のシステム。
【請求項９】
前記１つまたは複数のデバイス（５０）が仮想現実ヘッドセット（５０ａ）を含み、１つまたは複数の共有体験が仮想体験（３０ａ）を含む、請求項１から８のいずれかに記載のシステム。
【請求項１０】
前記１つまたは複数のデバイス（５０）がカメラ（５０ｂ）を含み、前記１つまたは複数の共有体験が拡張現実体験（３０ｂ）を含む、請求項１〜８のいずれかに記載のシステム。
【請求項１１】
前記１つまたは複数のデバイス（５０）が動き追跡ハードウェア（５０ｃ）を含み、前記１つまたは複数の共有体験が動き体験（３０ｃ）を含む、請求項１〜８のいずれかに記載のシステム。
【請求項１２】
前記ＬＤＭＡへのアクセスをもつ各デバイスが、特定のバッファサイズ、更新レートおよび管理プロトコルをサポートするように構成された、請求項１から１１のいずれかに記載のシステム。
【請求項１３】
データが、送信の前にシリアル化および圧縮される、請求項１から１２のいずれかに記載のシステム。
【請求項１４】
システム（１０）であって、異なるプラットフォーム（６０）上で動作する少なくとも２つのデバイス（５０）を使用する１人または複数のユーザ（２０）が、前記システム（１０）が、１つまたは複数のユーザ体験を、それらのデバイスおよびプラットフォームの能力に合わせて調整する共有体験（３０−１、３０−２、３０−３）に前記１人または複数のユーザが参加することができるような共有環境（３００）内で動作することを可能にし、前記システム（１０）は、前記１つまたは複数のユーザデバイス（５０）および前記プラットフォーム（６０）を連続的にモニタし、前記１つまたは複数のユーザデバイス（５０）および前記プラットフォーム（６０）が前記システム（１０）によってサポートされるかどうかを決定し、前記システム（１０）によってサポートされるデバイス（５０）およびプラットフォーム（６０）のみからデータ（４０）を読み取ることを試みる、システム（１０）。
【請求項１５】
カメラをもつユーザが、拡張現実体験を体験することができる、請求項１４に記載のシステム（１０）。
【請求項１６】
ＶＲヘッドセットをもつユーザが、仮想現実体験を体験することができる、請求項１４に記載のシステム（１０）。
【請求項１７】
身体追跡ハードウェアをもつユーザが、動きを伴う体験を体験することができる、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、少なくとも１人のユーザが、時間依存様式で共有環境において複数のデバイスに関与することを可能にするシステムに関する。
[0002]より詳細には、本システムは、他のシステムとは対照的に、異なるデバイスおよび異なるプラットフォーム上で、異なるユーザ間の対話を可能にするように設計され、これは、異なるプラットフォーム上で同じゲームをプレイする異なるプレーヤが対話することを可能にするシステムとはまったく異なる。したがって、本発明は、ソフトウェア開発者が、開発の所与の異なる領域に取り組み、より豊富なまたはよりリッチな体験を体験するために、リモートで協力し、対話することを可能にし得る。本発明はまた、明らかになるように、多種多様な領域における適用例を可能にする。
【背景技術】
【０００２】
[0003]今日、技術のユーザは、とりわけ、ユーザが使用しているデバイス、デバイスのハードウェア能力、およびデバイスがその上で実行するプラットフォームに応じて、広範囲の体験にさらされ得る。
【０００３】
[0004]デバイスの例は、限定はしないが、仮想現実（ＶＲ）ヘッドセット、カメラ、電話およびタブレットなどのモバイルデバイス、コンピュータおよびコンピュータの周辺機器、たとえば、マウスまたはキーボード、ならびにゲーム機を含む。
【０００４】
[0005]プラットフォームの例は、限定はしないが、Ｗｉｎｄｏｗｓ、Ｍａｃ、Ｌｉｎｕｘ（登録商標）、ｉＯＳおよびａｎｄｒｏｉｄを含む。
[0006]ユーザに面している問題は、ユーザが、あるプラットフォーム上で動作するデバイスを動作させている場合、ユーザは、異なるプラットフォーム上でデバイスを動作させる第２のユーザ、または他のデバイス自体に容易には関与することができないことである。
【０００５】
[0007]仕事場では、これは、開発者に対して著しい困難を生じ得るだけでなく、アーキテクチャ、余暇および観光事業、トレーニングおよび教育、ゲーミング、マーケティング、芸術および文化、ならびに健康および医療などの分野における適用例に対して制約を課する。
【０００６】
[0008]したがって、クロスプラットフォームマルチユーザゲーミングシステムが存在するが、これらのシステムは、システムが、異なるデバイスおよび／または異なるオペレーティングシステム上でプレイしていることがある異なるユーザによる同じゲームのプレイを可能にするにすぎないので、柔軟性は限られている。
【０００７】
[0009]たとえば、ＵＳ２０１４／０１２８１６１は、異なるデバイス上でおよび／または異なるプラットフォーム上で同じゲームをプレイする異なるユーザがサーバを介して対話する、クロスプラットフォームオンラインゲームシステムを開示している。
【０００８】
[0010]ＵＳ２０１１／０２６３３２は、ゲーミングサービスを与えるためのサーバベースシステムに関し、より詳細には、符号化ビデオを扱うやり方を検討している。
[0011]ＵＳ２０１３／０３１６８３２は、複数のサーバを使用してマルチユーザゲームプレイを可能にするシステムに関する。
【０００９】
[0012]ＵＳ２０１５／００５１００１は、第１のゲーミングプラットフォーム上でビデオゲームをプレイする第１のプレーヤと、第２のゲーミングプラットフォーム上でビデオゲームをプレイする第２のプレーヤとの間でオンラインマルチプレーヤビデオゲームを行うためのシステムに関する。
【００１０】
[0013]ＥＰ２９２６８７７は、アバターが仮想環境におけるプレーヤを表すためのセンサーベースゲーミングシステムに関する。
[0014]ＵＳ２０１５／０１７４４８９は、ユーザから入力を受信するように構成されたユーザインターフェースと、ユーザがゲームをプレイすることを可能にするために、ユーザインターフェースを介するユーザによる関与のためのゲーム要素を表示するように構成されたディスプレイと、ディスプレイを制御するように構成されたプロセッサとを有するコンピュータデバイスに関する。
【００１１】
[0015]ＵＳ２０１４／０１５７２４６は、非同期ゲームにおけるターンの実行を指定するゲームプレイ論理を定義するゲームエンジンを開示している。ゲームプレイ論理は、クライアントデバイスプラットフォームに依存しないことがある。
【００１２】
[0016]
本発明の目的は、１人または複数のユーザが、共通ゲームに依存しない異なるプラットフォーム上で動作する異なるデバイスに関連する体験またはデータを共有することができるシステムを作成することであった。したがって、システムは、異種および無関係のデータを管理する必要があり、したがって、システムは、たとえば、ユーザがユーザの体験を最大にすることを可能にする適切なソフトウェアのダウンロードを可能にするために各ユーザホストシステムをモニタし、ユーザと通信することができる必要があった。
【００１３】
[0017]さらに、システムは、異なるデータソースが、時間依存および同期様式で管理され、異なるユーザによる視聴のために適宜にマージ解除され得る高速有効転送を可能にするようにシリアル化および圧縮されることを保証すべきである。
【００１４】
[0018]本発明の一態様は、体験を与えるデバイスからのデータ入力を照合し、マージされた標準化されたデータ出力を生成することによって達成され、マージされた標準化されたデータ出力は、１人または複数のユーザおよびそれらのデバイスに中継され、マージされた標準化されたデータ出力は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される。
【００１５】
[0019]共有環境を与えることによって、各ユーザは、それらのプラットフォームおよび周辺機器のハードウェア能力から十分に恩恵を受けるが、それらのデバイスの能力と共有環境の性質とに応じて、他の場所で生成された追加の体験から恩恵を受け得る。
【００１６】
[0020]しかしながら、ユーザは、共有環境に参加するために、互いと同じハードウェア能力を必要としない。
[0021]システムは、各ユーザの体験を、それらのプラットフォームの能力に合わせて調整する。たとえば、
[0022]カメラ能力をもつユーザは、拡張現実体験を享受し得る。
【００１７】
[0023]仮想現実ヘッドセットをもつユーザは、ＶＲ体験を享受し得る。
[0024]ＫｉｎｅｃｔまたはＩｎｔｅｌ  ＲｅａｌＳｅｎｓｅなど、身体追跡ハードウェアをもつユーザは、身体移動を入力として変換するために、それらのハードウェアを利用することができる。
【００１８】
[0025]体験の各タイプは、ユーザの能力に固有である。ユーザは、異なるプラットフォームおよびデバイスを、デスクトップコンピュータ上で実行する身体追跡体験にリンクされた、モバイルデバイス上で実行するＶＲ体験など、単一の「マージされた」体験に組み合わせ得る。
【００１９】
[0026]異なるプラットフォーム上で異なるデバイスを動作させる異なるユーザが共有環境において動作することができる共有環境を作成することは、ユーザの体験を向上させることができる。
【００２０】
[0027]システムソフトウェアは、接続されたハードウェアデバイスのためのホストシステム（たとえば、Ｗｉｎｄｏｗｓ／Ａｎｄｒｏｉｄ／Ｍａｃ／ｉＯＳ）を連続的にモニタする。利用可能なハードウェアデバイスのリストが、知られているサポートされるデバイスのリストと比較される。ハードウェアデバイスがシステムソフトウェアによってまだサポートされない場合、システムソフトウェアは、そのハードウェアを無視し、デバイスからデータを読み取ることを試みない。ハードウェアデバイスがシステムソフトウェアによってサポートされる場合、それは、ユーザが、必要とされるソフトウェアモジュールをダウンロードし、ローカルにインストールすることを望むかどうかをユーザに質問する。
【００２１】
[0028]ユーザがハードウェアデバイスを使用することを望む場合、ユーザは、適切なソフトウェアモジュールのインストールを可能にしなければならない。
[0029]ユーザが、必要とされるソフトウェアモジュールをダウンロードしないことを選択した場合、システムは、モジュールがインストールされるまで、ハードウェアデバイスを無視する。
【発明の概要】
【発明が解決しようとする課題】
【００２２】
本願発明の一実施例は、例えば、共有環境を与えるシステムに関する。
【課題を解決するための手段】
【００２３】
[0030]本発明の第１の態様によれば、１人または複数のユーザが、時間依存様式で、異なるプラットフォーム上で動作する少なくとも２つのデバイスに関与することを可能にするシステムであって、体験を与えるデバイスから、データ入力を受信および照合し、マージされた標準化されたデータ出力を生成するデータ管理装置（ＤＭＡ）であって、マージされた標準化されたデータ出力は、１人または複数のユーザおよび１人または複数のユーザのデバイスに中継され、マージされた標準化されたデータ出力は、各デバイスが有効にされる体験に各デバイスがアクセスすることができるようにマージ解除される、データ管理装置（ＤＭＡ）を備え、システム（１０）は、１つまたは複数のユーザデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）を連続的にモニタし、１つまたは複数のユーザデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）がシステム（１０）によってサポートされるかどうかを決定し、システム（１０）によってサポートされるデバイス（５０ａ〜ｅ）およびプラットフォーム（６０ａ〜ｅ）のみからデータ（４０−１、４０−２、４０−３）を読み取ることを試みる、システムが提供される。
【００２４】
[0031]好ましい実施形態では、ＤＭＡは、デバイスから入力データを受信し、フレームリーダーが、必要とされるフレームレートを決定し、時間的に所与の瞬間におけるデバイスの状態のスナップショットであるフレームデータをキャプチャする。
【００２５】
[0032]好ましくは、フレームデータは、バッファリーダーによってデバイス固有バッファに追加される。
[0033]バッファは、デバイスフレームデータを受けるエンドポイントシステムによって読み取られ、デバイスフレームデータは、直接読み取られおよび／または他のリンクされたデバイスにストリーミングされるか、またはリモートデータ管理装置に、ネットワークインターフェースを横切って送られるかのいずれかである。
【００２６】
[0034]ＤＭＡは、複数のデバイスおよび／またはユーザからの複数のインバウンドデータストリームを関連付け、各デバイスおよび／またはユーザから時間依存フレームを受け、マージされたフレームを形成するために時間依存フレームをマージする。
【００２７】
[0035]ＤＭＡは、シリアル化されたマージされたフレームを形成するために、マージされたフレームをシリアル化する。
[0036]ＤＭＡは、ユーザまたは各ユーザのローカルＤＭＡに、シリアル化されたマージされたフレームを送信し、シリアル化されたマージされたフレームは、ユーザによる視聴のためにシリアル化解除およびマージ解除される。
【００２８】
[0037]一実施形態では、１つまたは複数のデバイスは仮想現実ヘッドセットを含み、１つまたは複数の共有体験は仮想体験を含む。
[0038]別の実施形態では、１つまたは複数のデバイスはカメラを含み、１つまたは複数の共有体験は拡張現実体験を含む。
【００２９】
[0039]別の実施形態では、１つまたは複数のデバイスは動き追跡ハードウェアを含み、１つまたは複数の共有体験は動き体験を含む。
[0040]好ましくは、ＬＤＭＡへのアクセスをもつ各デバイスは、特定のバッファサイズ、更新レートおよび管理プロトコルをサポートするように構成される。
【００３０】
[0041]好ましくは、データは、送信の前にシリアル化および圧縮される。
[0042]本発明の第２の態様によれば、システムであって、異なるプラットフォーム上で動作する少なくとも２つのデバイスを使用する１人または複数のユーザが、システムが、１つまたは複数のユーザ体験を、それらのデバイスおよびプラットフォームの能力に合わせて調整する共有体験に１人または複数のユーザが参加することができるような共有環境内で動作することを可能にし、システム（１０）は、１つまたは複数のユーザデバイス（５０）およびプラットフォーム（６０）を連続的にモニタし、１つまたは複数のユーザデバイス（５０）およびプラットフォーム（６０）がシステム（１０）によってサポートされるかどうかを決定し、システム（１０）によってサポートされるデバイス（５０）およびプラットフォーム（６０）のみからデータ（４０）を読み取ることを試みる、システムが提供される。
【００３１】
[0043]本システムはまた、他のユーザの（１つまたは複数の）デバイスの能力に応じて、他のユーザがそれらの体験の態様を共有することを可能にする。
[0044]本発明の実施形態は、添付の図面を参照しながら以下でさらに説明される。
【図面の簡単な説明】
【００３２】
【図１】[0045]本発明の一態様による単純なシステムを示す図である。
【図２】[0046]本発明の一態様に従って、どのように、あるデバイスからのデータが、キャプチャされ、そのデータが、同期様式で他のデバイスからのデータとマージされることを可能にするフォーマットに「変換」され得るかを示す図である。
【図３】[0047]本発明の一態様のデータマージプロセスを示す図である。
【図４】[0048]ゲームをプレイするためにシステムを使用する２人のユーザを示す図である。
【図５】[0049]第２のユーザが迷路の上を飛行するときの第２のユーザのビューを示すスクリーンショットである（第２のユーザは空飛ぶ円盤として現れる）。
【図６】[0050]第１のユーザが迷路を通って歩くときの第１のユーザのビューを示すスクリーンショットである（第１のユーザは人の姿として現れる）。
【発明を実施するための形態】
【００３３】
[0051]図１を参照すると、システム（１０）は、１人または複数のユーザ（２０−１、２０−２）が、各ユーザ（２０−１、２０−２）が、それらの（１つまたは複数の）デバイス（５０）を通してそれらの（１つまたは複数の）プラットフォーム（６０）および周辺機器のハードウェア能力から十分に恩恵を受ける共有環境（３００）において動作することを可能にする。
【００３４】
[0052]本システムは、ユーザの（１つまたは複数の）デバイスに関連するデータ（４０−１、４０−２）を処理することによってこれを可能にし、データは、１つまたは複数のデータ管理装置（ＤＭＡ）（１００）を通してユーザに所与の体験（３０−１、３０−２）を与え、１つまたは複数のデータ管理装置（ＤＭＡ）（１００）は、ローカルデータ管理装置（ＬＤＭＡ）（１１０）およびまたはリモートデータ管理装置（ＲＤＭＡ）（１２０）であり得、したがって、データは、「変換」されて、共有環境（３００）においてユーザ（２０−１、２０−２）にフィードバックされ得る標準化されたデータ出力（７０−１、７０−２）が生成され得、これはすべて、時間（ｔ）依存様式で行われる。
【００３５】
[0053]したがって、たとえば、第１のユーザ（２０−１）は、仮想現実ヘッドセット（５０ａ−１）（たとえば、サムスンギア）および別個のＢｌｕｅｔｏｏｔｈ（登録商標）接続されたゲームパッドコントローラ（５０ｅ−１）に接続されたあるプラットフォーム（６０）（たとえば、Ａｎｄｒｏｉｄ）上のスマートフォン（５０ｃ−１）を使用し得、このユーザ（２０−１）に関連するデータ（４０−１）は、ローカルデバイス（１１０）および／またはリモートデバイス（１２０）であり得るデータ管理装置（ＤＭＡ）（１００）に、時間（ｔ）依存様式でストリーミングされる。データ管理装置（ＤＭＡ）（１００）は、時間（ｔ）依存様式で、１つまたは複数のデバイス（５０）からのデータ入力（４０−１）を受信および照合し、データ入力（４０−１）を他のユーザ（２０−２）からの他のデータ入力（４０−２）と照合し、共有環境（３００）においてアクセスされ得る標準化された出力データ（７０）を各ユーザ（２０−１、２０−２）に送る。
【００３６】
[0054]ハードウェアデバイス（５０）と通信するために、本システムは、ハードウェアデバイスのクラスに固有であるか、または単一の特定のハードウェアデバイスに関係するかのいずれかである標準化されたモジュールを備える。
【００３７】
[0055]ソフトウェアは、通信の標準化された方法を利用するいくつかのクラスのハードウェア（たとえば、ウェブカム（５０ｂ）、ゲームパッドコントローラ（５０ｅ）、および加速度計）のサポートを与えるいくつかの一般モジュールを含み得る。マイクロソフトＫｉｎｅｃｔまたはＨＴＣ  Ｖｉｖｅのような、プロプライエタリ通信方法を使用するものなど、いくつかの特定のハードウェアデバイスは、これらのデバイスのサポートを可能にする追加のソフトウェアモジュールのインストールを必要とする。実際には、これは、事実上、追加のソフトウェアのインストールを通して追加の随意の挙動をサポートする他のソフトウェアと同様の、プラグインシステムである。
【００３８】
[0056]全体としてソフトウェアのアクセシビリティを可能にするために、および長期保守性および安定性を保証するために、ハードウェアデバイスとの通信は、分離された、標準化されたソフトウェアモジュールを介して行われる。
【００３９】
[0057]ローカルにインストールされ得るソフトウェアは、ホストオペレーティングシステムを通してリンクされるハードウェアデバイス（５０）が、システムソフトウェアとインターフェースし、これがデータが所望のフレームレートで収集されることを保証することができることを保証する。
【００４０】
[0058]図２は、データ（４０）が、フレームリーダー（８０）およびバッファリーダー（８４）の使用によって、モニタ構成要素（５２）とデータリレー構成要素（５４）とを備えるデバイス（５０）からどのように送信されるかを示す。フレームリーダー（８０）は、データ（４０）を処理し、適切なフレームレートを選択し、一連のフレーム（８２）、すなわち、フレーム１、２、３などを作成する。
【００４１】
[0059]本システムは、必要とされるフレームレートを決定し（ここで、フレームは、時間的にある瞬間におけるデバイスの状態のスナップショットである）、このフレームレートで各デバイスから読み取る。
【００４２】
[0060]バッファリーダー（８４）は、デバイスごとにバッファを維持する。各フレームはバッファに追加され、バッファは、次いで、ストリームリーダーによって直接読み取られ得る。ストリームリーダーは、次いで、フレームバッファデータを他の構成要素に中継する。フレームバッファへの直接アクセスをもつ各構成要素は、特定のバッファサイズ、更新レート、および管理プロトコルをサポートするように構成され得る。
【００４３】
[0061]エンドポイント（８６）において、バッファからのデバイスフレームデータは、処理され、ＲＤＭＡ（１２０）に、ネットワークインターフェースを横切って送られる。
[0062]ＲＤＭＡは、複数のインバウンドデータストリーム（４０−１、４０−２、４０−３）を任意の数のユーザ（２０−１、２０−２、２０−３）に関連付けることを担当する。図３に示されているように、ＲＤＭＡにおいて、それぞれのデータストリームはフレーム依存様式でマージされ（８８）、時間依存様式でシリアル化され（９０）て、標準化されたデータ出力（７０）が生じる。
【００４４】
[0063]出力データ（７０）は、ユーザ（２０−１、２０−２）に送信され（９２）、ここで、シリアル化されたマージされたフレーム（９０）は、シリアル化解除され（９４）、ユーザに中継され、フレームはマージ解除される（９６）。
【００４５】
[0064]したがって、ＲＤＭＡは、ランタイムにおいてアプリケーションによって指定される、または構築時に開発者によって指定されるインバウンドデータを使用することが可能であるユーザのためのアウトバウンドデータストリーム（７０）を作成および維持する。
【００４６】
[0065]これを達成するために、ＲＤＭＡは、複数のインバウンドデータストリームを、ユーザごとに１つの単一の出力ストリーム（７０）にマージする。次いで、各ユーザ（２０−１、２０−２）は、ローカルに各デバイスのためのフレームバッファ（９６）をシリアル化解除（９４）および復元する。
【００４７】
[0066]各ホストアプリケーションは、再構成されたデータフレームバッファ（９６）から読み取り得る。
[0067]たいていの使用事例は、一般に、各パス上で各バッファから単一のフレームを読み取ることを伴うが、ホストアプリケーションは、随意に、特定のバッファの全体を読み取り得る。
【００４８】
[0068]データ送信を助けるために、データは、データがネットワークを横切って転送されるときはいつでも、シリアル化および圧縮される。
[0069]ＲＤＭＡは、ネットワーク上でデータを送るために、ユーザデータグラムプロトコル（ＵＤＰ）または伝送制御プロトコル（ＴＣＰ）のいずれかを使用し得る。特定の状況において、ストリーム制御伝送プロトコル（ＳＣＴＰ）も使用され得る。
【００４９】
[0070]データは、いくつかの随意の圧縮アルゴリズムのうちの１つを使用して圧縮される。圧縮アルゴリズムの選定は、データを送信するために使用されているデバイスに依存する。ソフトウェアベース圧縮とハードウェアベース圧縮の両方が、各デバイスの能力に応じて利用され得る。
【００５０】
[0071]本システムは、以下の例１に関してさらに例示される。
例１
[0072]例１および添付の図４〜図６は、異なるプラットフォーム（６０ａ、６０ｃ）上の異なるデバイス（５０ａ、５０ｃ）を使用する２人のユーザ（２０−１、２０−２）がデータ（７０）の共有を通して共有環境（３００）を体験することを、本発明のシステム（１０）がどのように可能にするかを示す。
【００５１】
[0073]２人のユーザ（２０−１、２０−２）は、仮想現実（ＶＲ）デバイス（５０ａ）を通して視聴されたときに出現する壁（２３０）と、拡張現実（ＡＲ）デバイス（５０ｃ）を通して視聴されたときに出現するマーカー（２４０）とをもつ迷路（２２０）を備えるプレイ面（２１０）上で、パズルゲーム（２００）をプレイしている。
【００５２】
[0074]ローカルデバイス（１１０）および／またはリモートデバイス（２２０）であり得るデータ管理装置ＤＭＡ（１００）を介してシステムソフトウェアにアクセスすることによって、２人のユーザ（２０−１、２０−２）は、ゲーム（２００）に加わり、リアルタイムで協力することが可能である。
【００５３】
[0075]ゲーム（２００）において、仮想現実ユーザ（２０−１）は、怪物（図示せず）がいる迷路（２２０）内をナビゲーションすることを必要とされる。迷路の壁（２３０）は、ＶＲユーザ（２０−１）がその向こう側を見るには高すぎるので、ＶＲユーザ（２０−１）は、迷路内をナビゲーションするために、別のユーザ、この場合、異なる体験（３０ｂ）を得る、カメラ（５０ｃ）をもつＡＲユーザ（２０−２）に頼らなければならない。
【００５４】
[0076]図６を参照すると、ＶＲユーザ（２０−１）は、ゲーム（２００）内で人間の姿（２６０）として表されている。ＶＲユーザは、仮想現実ヘッドセット（５０ａ１）（たとえば、サムスンギア）に接続されたスマートフォン（５０ｃ１）（たとえば、Ａｎｄｒｏｉｄ）と、ユーザがゲーム世界を通してそれらのキャラクタを移動させることを可能にする別個のＢｌｕｅｔｏｏｔｈ接続されたゲームパッドコントローラ（５０ｅ１）とを使用する。拡張現実（ＡＲ）ユーザ（２０−２）は、ゲーム内で空飛ぶ円盤（２７０）として表されている。ゲーム内のそれらの位置は、拡張現実マーカー（図示せず）に対するデバイス（５０ｃ）の位置に基づく。ＡＲユーザ（２０−２）は、上方から迷路（２２０）を見て、したがって、道筋を示すために（スクリーンをタップすることによって空飛ぶ円盤から発射される）レーザーを使用して方向をコールアウトすることによって、ＶＲユーザ（２０−１）が終点まで迷路内をナビゲーションするのを助けることが可能である。
【００５５】
[0077]ＡＲユーザ（２０−２）は、マーカー画像を物理的に歩き回ることによって、およびマーカー上でそれらのデバイス（５０ｃ）を移動させることによって、それらの空飛ぶ円盤（２７０）を移動させる。ＡＲユーザ（２０−２）は、マーカー画像のより近くにまたはマーカー画像からさらに離れてそれらのデバイスを物理的に移動させることによって、共有ゲーム世界にズームインするか、または共有ゲーム世界からズームアウトすることができる。ＡＲユーザ（２０−２）は、タブレットデバイス（たとえば、ｉＰａｄ（登録商標））を使用し、スクリーンをタップすることと、デバイスを物理的に移動させることとを介してゲームと対話する。
【００５６】
[0078]本システムは、各デバイス上にロードされたソフトウェアが、第１のユーザ（２０−１）から第１のデータセット（４０−１）を読み取り、第１のデータセット（４０−１）をローカルおよび／またはリモートＤＭＡに送信することと、各デバイス上にロードされたソフトウェアが、第２のユーザ（２０−２）から第２のデータセット（４０−２）を読み取り、第２のデータセット（４０−２）をローカルおよび／またはリモートＤＭＡに送信することとによって動作する。次いで、データの両方のセットは、処理され、同期および時間依存様式で他のデバイスに配信される。
【００５７】
[0079]この例では、第１のデータセットは、ＶＲデバイスの向き（すなわち、着用者の頭部の向き）を与えるデータを備える。この向きは、「回転なし」または「前をまっすぐに見ること」を表す０，０，０，０の原点に基づく４元数（Ｘ，Ｙ，Ｚ，Ｗ）回転として表される。第２のデータセットは、マーカー画像に対するＡＲデバイスの位置を与えるデータを備える。この位置は、ゲーム世界／マーカー画像の厳密な中心を表す０，０，０の原点に基づくＸ，Ｙ，Ｚ座標として表される。これらの２つのデータセットは、各デバイス上のソフトウェアを介して読み取られ、処理および他のデバイスへの配信のためにＤＭＡまたは中央ゲームサーバに送信される。
【００５８】
[0080]出願人が克服しなければならなかった課題のうちの１つは、異なるユーザが異なるデバイスを動作させていたことにより、データセットを同期させる課題であった。出願人は、データストリーミングプロセスを制御することによって、この問題を克服した。各デバイスからのデータは、同意されたフレームレート（たとえば、２５フレーム毎秒）で読み取られ、（ネットワークレイテンシに応じた）同様のレートでＤＭＡまたはサーバに配信される。次いで、サーバは、各データフレームを処理し、要求時のユーザへの配信のためにデータを準備することができる。
【００５９】
[0081]中央ゲームサーバがＡＲデバイスから位置データを受信すると、サーバは、空飛ぶ円盤の、ゲーム内の位置を更新する。次いで、ＶＲユーザは、この更新されたデータを受信し、それに応じてＶＲビューを更新する。ＶＲプレーヤの観点から、空飛ぶ円盤は、正しい相対速度および位置を伴ってゲーム世界を動き回る。ＡＲプレーヤが、マーカー画像上の任意のポイント上に直接それらのデバイスを配置した場合、ＶＲプレーヤは、空飛ぶ円盤がゲーム世界内のそのポイント上で直接ホバリングするのを見る。
【００６０】
[0082]中央ゲームサーバがＶＲヘッドセットから向きデータを受信すると、サーバはＶＲキャラクタの頭部の、ゲーム内の向きを更新する。次いで、ＡＲユーザは、この更新されたデータを受信し、それに応じてＡＲビューを更新する。ＡＲプレーヤの観点から、ＶＲプレーヤを表すキャラクタは、ユーザの物理的な頭部の移動の正確な再現においてキャラクタの頭部を移動する。ＶＲプレーヤが上をまっすぐに見た場合、それらのキャラクタは上をまっすぐに見るように現れる。ＶＲプレーヤがＡＲプレーヤを表す空飛ぶ円盤をまっすぐに見た場合、ＡＲプレーヤは、ＶＲプレーヤを表すキャラクタがＡＲプレーヤをまっすぐに見るように現れるのを見る。この使用事例では、本システムは、異なるプラットフォーム／オペレーティングシステムを使用する複数のプレーヤが、ゲーム環境を共有し、対話の新規の方法を探査することを可能にし、それにより、各プレーヤは、デバイスのそれらの選定によって与えられるそれら自身の別個の能力を有する。ＡＲプレーヤは、方向、警告、およびヒントの支援なしに環境をナビゲーションすることが困難であると感じるＶＲプレーヤに、ゲーム世界のそれらのトップダウン体験を使用して、この支援を与えることができる。この使用事例は協力的ゲーミング環境に基づくが、同じ原理およびメカニクスが、ユーザが、協力的様式で目的を達成するために対話することを必要とされ得る、トレーニング、観測および評価など、他の目的のために利用され得る。
【図１】
2019527901.tif 000003
【図２】
2019527901.tif 000004
【図３】
2019527901.tif 000005
【図４】
2019527901.tif 000006
【図５】
2019527901.tif 000007
【図６】
2019527901.tif 000008
【国際調査報告】
2019527901.tif 000009
2019527901.tif 000010
2019527901.tif 000011