(57)【要約】【課題】ヘッドマウントディスプレイにおいて仮想現実観戦するためのビデオゲームの広視野再レンダリングを提供する。【解決手段】ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信する。ゲーム状態データは、プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられ、ゲーミングサーバによって、受信されたゲーム状態データ及びビュー方向データをゲーミングサーバによって実行されるビデオゲームの第２のインスタンスに適用され、広視野（ＦＯＶ）観戦者動画が生成される。動画サーバは、観戦者クライアントデバイスからビュー方向データを受信する。ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、動画サーバによって、ビュー方向データを適用して、広ＦＯＶ観戦者動画の一部分を特定する。【選択図】図５
2020171721.tif 000002
【特許請求の範囲】
【請求項１】
ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信し、前記ゲーム状態データは、前記プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられるものであり、
前記ゲーミングサーバによって、前記受信されたゲーム状態データ及びビュー方向データを前記ゲーミングサーバによって実行される前記ビデオゲームの第２のインスタンスに適用して、広視野（ＦＯＶ）観戦者動画を生成し、
動画サーバによって、観戦者クライアントデバイスからビュー方向データを受信し、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記動画サーバによって、前記ビュー方向データを適用して、前記広ＦＯＶ観戦者動画の一部分を特定し、前記広ＦＯＶ観戦者動画の前記一部分は、前記広ＦＯＶ観戦者動画の全エリアよりも小さい前記広ＦＯＶ観戦者動画のサブエリアであり、
前記観戦者クライアントデバイスに前記広ＦＯＶ観戦者動画の前記一部分をストリーミングして、前記ＨＭＤにおいてレンダリングする、方法。
【請求項２】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項１に記載の方法。
【請求項３】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項１に記載の方法。
【請求項４】
前記広ＦＯＶ観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項１に記載の方法。
【請求項５】
前記ビュー方向データは、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定する、請求項１に記載の方法。
【請求項６】
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、請求項５に記載の方法。
【請求項７】
前記広ＦＯＶ観戦者動画が、ストレージデバイスに記憶され、
前記ビュー方向データの適用には、前記ストレージデバイスから前記広ＦＯＶ観戦者動画を取り出すことが含まれる、
請求項１に記載の方法。
【請求項８】
前記方法は、前記ＨＭＤにおける前記広ＦＯＶ観戦者動画の前記一部分の前記レンダリングが、前記ビデオゲームの前記第１のインスタンスの実質的なライブ観戦を可能にするように、実質的にリアルタイムで行われる、請求項１に記載の方法。
【請求項９】
ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信し、前記ゲーム状態データは、前記プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられるものであり、前記受信すること、
前記ゲーミングサーバによって、観戦者クライアントデバイスからビュー方向データを受信し、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記ゲーミングサーバによって、前記受信されたゲーム状態データ及び前記ビュー方向データを前記ゲーミングサーバによって実行される前記ビデオゲームの第２のインスタンスに適用して観戦者動画を生成し、
前記観戦者クライアントデバイスに前記観戦者動画をストリーミングして前記ＨＭＤにレンダリングを行う、方法。
【請求項１０】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項９に記載の方法。
【請求項１１】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項９に記載の方法。
【請求項１２】
前記観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項９に記載の方法。
【請求項１３】
前記ビュー方向データは、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定する、請求項９に記載の方法。
【請求項１４】
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、請求項１３に記載の方法。
【請求項１５】
前記方法は、前記ＨＭＤにおける前記観戦者動画の前記レンダリングが、前記ビデオゲームの前記第１のインスタンスの実質的なライブ観戦を可能にするように、実質的なリアルタイムで行われる、請求項９に記載の方法。
【請求項１６】
少なくとも１つのプロセッサ及び少なくとも１つのメモリを有する少なくとも１つのサーバコンピュータを含むシステムであって、前記少なくとも１つのサーバコンピュータはゲーミングサーバと動画サーバとを含むものであり、
前記ゲーミングサーバは、プレイヤクライアントデバイスからゲーム状態データを受信するように構成され、前記ゲーム状態データは、前記プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられるものであり、
前記ゲーミングサーバは、前記受信されたゲーム状態データ及び前記ビュー方向データを前記ゲーミングサーバによって実行される前記ビデオゲームの第２のインスタンスに適用して、広視野（ＦＯＶ）観戦者動画を生成するようにさらに構成され、
前記動画サーバは、観戦者クライアントデバイスからビュー方向データを受信するように構成され、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記動画サーバは、前記ビュー方向データを適用して、前記広ＦＯＶ観戦者動画の一部分を特定するようにさらに構成され、前記広ＦＯＶ観戦者動画の前記一部分は、前記広ＦＯＶ観戦者動画の全エリアよりも小さい前記広ＦＯＶ観戦者動画のサブエリアであり、
前記動画サーバは、前記観戦者クライアントデバイスに前記広ＦＯＶ観戦者動画の前記一部分をストリーミングして前記ＨＭＤにレンダリングするようにさらに構成されている、システム。
【請求項１７】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項１６に記載のシステム。
【請求項１８】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項１６に記載のシステム。
【請求項１９】
前記広ＦＯＶ観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項１６に記載のシステム。
【請求項２０】
前記ビュー方向データが、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定し、
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、
請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、「Ｗｉｄｅ  Ｆｉｅｌｄ  ｏｆ  Ｖｉｅｗ  Ｒｅ−ｒｅｎｄｅｒｉｎｇ  ｆｏｒ  ＶＲ  Ｓｐｅｃｔａｔｉｎｇ」と題された２０１５年６月１４日出願の米国特許仮出願第６２／１７５，２７８号明細書の優先権を主張するものであり、その開示は、参照することによって本明細書に組み込まれている。
【０００２】
本開示は、ヘッドマウントディスプレイ（ＨＭＤ：ｈｅａｄ−ｍｏｕｎｔｅｄ  ｄｉｓｐｌａｙ）において仮想現実（ＶＲ：ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ）観戦するためのビデオゲームの拡大された視野再レンダリングを提供すること、ならびに関連の装置及び方法に関する。
【背景技術】
【０００３】
ビデオゲーム産業は、長年にわたり多くの変化を見てきた。コンピューティングパワーが拡大されるにつれて、ビデオゲームの開発者は、同様に、コンピューティングパワーのこれらの増加の利点を活かすゲームソフトを創造してきた。この目的のために、ビデオゲーム開発者は、洗練された操作及び数学を組み込んでいるゲームをコード化して、非常に詳細で魅力的なゲーミング体験を作り出してきた。
【０００４】
例示的なゲーミングプラットフォームには、ＳｏｎｙのＰｌａｙｓｔａｔｉｏｎ（登録商標）、ＳｏｎｙのＰｌａｙｓｔａｔｉｏｎ２（登録商標）（ＰＳ２）、ＳｏｎｙのＰｌａｙｓｔａｔｉｏｎ３（登録商標）（ＰＳ３）、及びＳｏｎｙのＰｌａｙｓｔａｔｉｏｎ４（登録商標）（ＰＳ４）が含まれ、それらはそれぞれ、ゲームコンソールの形態で販売されている。よく知られているように、ゲームコンソールは、ディスプレイ（通常は、テレビ）に接続され、ハンドヘルドコントローラを通じてユーザ対話を可能にするように設計されている。ゲームコンソールは、ＣＰＵ、集中的なグラフィックス操作を処理するためのグラフィックスシンセサイザ、ジオメトリ変換を行うためのベクトルユニットを含む、特殊化した処理ハードウェア、及び他のグルーハードウェア、ファームウェア、ならびにソフトウェアとともに設計されている。ゲームコンソールは、ゲームコンソールを通じてローカルプレイのゲームディスクを受け取るための光学ディスクリーダとともにさらに設計され得る。オンラインゲーミングも可能であり、ここでは、ユーザは、インターネット（Ｉｎｔｅｒｎｅｔ）を介して対話形式で他のユーザを相手にプレイする、または他のユーザとともにプレイすることができる。ゲームが複雑であると、プレイヤは興味をそそられ続けるので、ゲーム及びハードウェア製造業者は、さらなる対話性及びコンピュータプログラムを可能にするために革新を続けている。
【０００５】
コンピュータゲーミング産業における成長傾向は、ユーザとゲーミングシステムとの間の対話を増やすゲームを開発することである。より豊かな対話型体験を達成する１つのやり方は、ゲーミングシステムによってその移動が追跡されるワイヤレスゲームコントローラを使用して、プレイヤの移動を追跡し、これらの移動をゲームについての入力として使用することである。一般に言えば、ジェスチャ入力は、コンピューティングシステム、ビデオゲームコンソール、スマート機器などの電子デバイスを、プレイヤによって行なわれ、電子デバイスによって捕捉される、いくつかのジェスチャに反応させることを示す。
【０００６】
より没入感のある対話型体験を達成する別のやり方は、ヘッドマウントディスプレイを使用することである。ヘッドマウントディスプレイは、ユーザによって装着され、仮想空間のビューなど、様々なグラフィックスを提示するように構成され得る。ヘッドマウントディスプレイに提示されるグラフィックスは、ユーザの視野の大部分またはすべてをもカバーすることができる。したがって、ヘッドマウントディスプレイは、ユーザに、視覚的に没入感のある体験を提供することができる。
【０００７】
この産業における別の成長傾向は、クラウドベースのゲーミングシステムの開発に関わる。そのようなシステムは、ゲームアプリケーションを実行するリモート処理サーバを含んでよく、ユーザから入力を受け取り、ディスプレイに動画をレンダリングするように構成可能なローカルシンクライアントと通信する。いくつかの実施態様においては、リモート処理サーバは、ゲーミングコンソールの物理ハードウェア、またはゲームコンソールのハードウェアを複製するそのようなハードウェアを含むことができる。他の実施態様においては、リモート処理サーバは、ゲーミングコンソールのハードウェアをエミュレートする仮想マシンを定義付けることができる。
【発明の概要】
【０００８】
本開示の実施形態は、この文脈において生じる。
【０００９】
本開示の実施態様は、ヘッドマウントディスプレイ（ＨＭＤ）において仮想現実（ＶＲ）観戦するためのビデオゲームの広視野再レンダリングを提供するのに使用される方法及びシステムを含む。
【００１０】
観戦者は、ユーザのゲームプレイの再生動画を視聴しているとき、通常、元のプレイヤの視点から生成され録画された動画を視聴する。しかしながら、ＨＭＤなどのデバイスは、観戦者に移動の自由度を与え、また通常の再生動画を観戦するときには利用されない移動追跡も提供する。しかしながら、本開示の実施態様によれば、クラウドサーバにおいて（たとえば、クラウドの中のゲームコンソールハードウェアにおいて）実行し、プレイヤのゲームエンジンからストリーミングされるゲーム状態を入力として受諾し、ゲームの広視野（たとえば、１５０度以上）をレンダリングするためにそのゲーム状態を使用するゲームエンジンのカスタムビルドが提供される。次いで、広視野レンダリングは、ゲームセッションのリアルタイムストリーミング及び／または事前録画済みの再生のために使用され得る。本開示のいくつかの実施態様によれば、実際のゲームは、ゲームエンジンのネットワーク化されたバージョンにその状態をストリーミングするように修正され得る。
【００１１】
本開示の実施態様は、次の便益を含む、既存の方法及びシステムに対するいくつかの利点を提供する。ゲームエンジンは、それ自体の状態を、クラウドにおいて動作するゲームエンジンのコピーに最小変換によりストリーミングすることができ、そのため、プレイヤのゲームエンジン及びクラウドベースのゲームエンジンの内部状態は一貫し得る。ＶＲゲームのプレイヤは、そのゲームエンジンが、最小量のプレイヤマシンのリソースを必要とする、ネットワークを介した更新を単に送信しているにすぎず、ゲームのプレイヤのコピーが、更新の送信は別として、プレイヤの体験の最適化に完全に特化することができるので、プレイヤの体験に対する中断または劣化はほとんどないと考えてよい。
【００１２】
ゲームエンジンのカスタムビルドであるサーバベースのコードは、それが、ゲームにおいて使用される実際のエンジンであるので、リプレイ用のゲームを忠実に再現するのに最も適している。サーバベースのコードは、それが、プレイヤの体験の質には影響を及ぼさないので、必要ならば、そのレンダリングを行うのにゲームのプレイヤのコピーよりも長くかかってもよい。実際、サーバベースのコードは、元のプレイヤのレンダリング処理に適用されるものと同じリアルタイムレンダリング制約を受ける必要がなく、また、より多くの処理リソース及び／または追加の処理サイクルを提供することができるので、観戦者レンダリングの品質は、元のプレイヤのレンダリングの品質を上回ることができる。さらには、クライアント及びサーバは、本質的に同じゲーム（しかし、異なるバージョン）を実行するように構成されているので、高品質ストリーミングを実装するための開発コストを削減し得る。
【００１３】
いくつかの実施態様によれば、次の動作：ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信するステップであって、ゲーム状態データが、プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられる、ステップ；ゲーミングサーバによって、受信されたゲーム状態データ及びビュー方向データをゲーミングサーバによって実行されるビデオゲームの第２のインスタンスに適用して、広視野（ＦＯＶ：ｆｉｅｌｄ  ｏｆ  ｖｉｅｗ）観戦者動画を生成するステップ；動画サーバによって、観戦者クライアントデバイスからビュー方向データを受信するステップであって、ビュー方向データが、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定される、ステップ；動画サーバによって、ビュー方向データを適用して、広ＦＯＶ観戦者動画の一部分を特定するステップであって、広ＦＯＶ観戦者動画の一部分が、広ＦＯＶ観戦者動画の全エリアよりも小さい広ＦＯＶ観戦者動画のサブエリアである、ステップ；観戦者クライアントデバイスに広ＦＯＶ観戦者動画の一部分をストリーミングして、ＨＭＤにおいてレンダリングするステップを含む、方法が提供される。
【００１４】
いくつかの実施態様においては、ゲーム状態データは、プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む。
【００１５】
いくつかの実施態様においては、ゲーム状態データをビデオゲームの第２のインスタンスに適用すると、ビデオゲームの第１のインスタンスのゲーム状態と実質的に類似するビデオゲームの第２のインスタンスのゲーム状態が作り出される。
【００１６】
いくつかの実施態様においては、広ＦＯＶ観戦者動画は、プレイヤクライアントデバイスによってビデオゲームの第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する。
【００１７】
いくつかの実施態様においては、ビュー方向データは、ＨＭＤが配置される観戦者環境におけるＨＭＤの向きを特定する。
【００１８】
いくつかの実施態様においては、ＨＭＤの追跡された姿勢は、ＨＭＤの少なくとも１つの慣性センサから及び／または観戦者環境の撮像された画像の分析から確定される。
【００１９】
いくつかの実施態様においては、広ＦＯＶ観戦者動画が、ストレージデバイスに記憶され、ビュー方向データを適用するステップが、ストレージデバイスから広ＦＯＶ観戦者動画を取り出すステップを含む。
【００２０】
いくつかの実施態様においては、方法の動作は、ＨＭＤにおける広ＦＯＶ観戦者動画の一部分のレンダリングが、ビデオゲームの第１のインスタンスの実質的なライブ観戦を可能にするように、実質的なリアルタイムに行われる。
【００２１】
いくつかの実施態様によれば、ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信するステップであって、ゲーム状態データが、プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられる、ステップ；ゲーミングサーバによって、観戦者クライアントデバイスからビュー方向データを受信するステップであって、ビュー方向データが、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定される、ステップ；ゲーミングサーバによって、受信されたゲーム状態データ及びビュー方向データをゲーミングサーバによって実行されるビデオゲームの第２のインスタンスに適用して、観戦者動画を生成するステップ；観戦者クライアントデバイスに観戦者動画をストリーミングして、ＨＭＤにおいてレンダリングするステップを含む、方法が提供される。
【００２２】
いくつかの実施態様においては、ゲーム状態データは、プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む。
【００２３】
いくつかの実施態様においては、ゲーム状態データをビデオゲームの第２のインスタンスに適用すると、ビデオゲームの第１のインスタンスのゲーム状態と実質的に類似するビデオゲームの第２のインスタンスのゲーム状態が作り出される。
【００２４】
いくつかの態様においては、観戦者動画は、プレイヤクライアントデバイスによってビデオゲームの第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する。
【００２５】
いくつかの実施態様においては、ビュー方向データは、ＨＭＤが配置される観戦者環境におけるＨＭＤの向きを特定する。
【００２６】
いくつかの実施態様においては、ＨＭＤの追跡された姿勢は、ＨＭＤの少なくとも１つの慣性センサから及び／または観戦者環境の撮像された画像の分析から確定される。
【００２７】
いくつかの実施態様においては、方法の動作は、ＨＭＤにおける観戦者動画のレンダリングが、ビデオゲームの第１のインスタンスの実質的なライブ観戦を可能にするように、実質的なリアルタイムに行われる。
【００２８】
いくつかの実施態様においては、少なくとも１つのプロセッサ及び少なくとも１つのメモリを有する少なくとも１つのサーバコンピュータを含むシステムが提供され、この少なくとも１つのサーバコンピュータは、ゲーミングサーバと動画サーバとを含み、ゲーミングサーバは、プレイヤクライアントデバイスからゲーム状態データを受信するように構成され、ゲーム状態データは、プレイヤクライアントデバイスによって実行されるビデオゲームの第１のインスタンスのゲーム状態から定義付けられ、ゲーミングサーバは、受信されたゲーム状態データ及びビュー方向データをゲーミングサーバによって実行されるビデオゲームの第２のインスタンスに適用して、広視野（ＦＯＶ）観戦者動画を生成するようにさらに構成され、動画サーバは、観戦者クライアントデバイスからビュー方向データを受信するように構成され、ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定され、動画サーバは、ビュー方向データを適用して、広ＦＯＶ観戦者動画の一部分を特定するようにさらに構成され、広ＦＯＶ観戦者動画の一部分は、広ＦＯＶ観戦者動画の全エリアよりも小さい広ＦＯＶ観戦者動画のサブエリアであり、動画サーバは、観戦者クライアントデバイスに広ＦＯＶ観戦者動画の一部分をストリーミングして、ＨＭＤにおいてレンダリングするようにさらに構成されている。
【００２９】
いくつかの実施態様においては、ゲーム状態データは、プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む。
【００３０】
いくつかの実施態様においては、ゲーム状態データをビデオゲームの第２のインスタンスに適用すると、ビデオゲームの第１のインスタンスのゲーム状態と実質的に類似するビデオゲームの第２のインスタンスのゲーム状態が作り出される。
【００３１】
いくつかの実施態様においては、広ＦＯＶ観戦者動画は、プレイヤクライアントデバイスによってビデオゲームの第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する。
【００３２】
いくつかの実施態様においては、ビュー方向データは、ＨＭＤが配置される観戦者環境におけるＨＭＤの向きを特定し、ＨＭＤの追跡された姿勢は、ＨＭＤの少なくとも１つの慣性センサから及び／または観戦者環境の撮像された画像の分析から確定される。
【００３３】
本開示の他の態様及び利点は、本開示の原理を例として示す添付の図面と併せて次の詳細な説明から明白になるであろう。
【００３４】
本開示は、添付の図面と併せて次の説明を参照することによって、より良く理解され得る。
【図面の簡単な説明】
【００３５】
【図１】本開示の一実施形態によるビデオゲームの対話型ゲームプレイのためのシステムを示す。
【図２】本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）を示す。
【図３】本開示の一実施形態による、実行中のビデオゲームと関連してＨＭＤの機能を概念的に示す。
【図４】ヘッドマウントディスプレイ（ＨＭＤ）において観戦するために広視野（ＦＯＶ）再レンダリングを提供するためのシステムを示す。
【図５】観戦者がＨＭＤにおいて視聴するのに利用可能な拡大された視野を示す。
【図６】本開示の実施態様による、仮想環境における仮想ビューポイントの移動を示す、ビデオゲームの仮想環境の俯瞰図を示す。
【図７】ＨＭＤにおいて観戦するために広視野を提供するためのシステムを示す。
【図８】ユーザが回転させている頭部及び視野の付随する変化の俯瞰図を示す。
【図９】本開示の一実施形態によるヘッドマウントディスプレイの構成要素を示す。
【図１０】本開示の様々な実施形態による、ゲームシステム１４００のブロック略図である。
【発明を実施するための形態】
【００３６】
本開示の次の実施態様は、ヘッドマウントディスプレイ（ＨＭＤ）において仮想現実（ＶＲ）観戦のためにビデオゲームの広視野の再レンダリングを提供するための方法及びシステムを提供する。
【００３７】
１つの実施形態においては、方法、システム、画像撮像オブジェクト、センサ、及び関連のインターフェースオブジェクト（たとえば、グローブ）は、ディスプレイ画面において実質的なリアルタイムにレンダリングされるように構成されているデータを処理するように構成されている。ディスプレイは、ヘッドマウントディスプレイ（ＨＭＤ）のディスプレイ、第２の画面のディスプレイ、ポータブルデバイスのディスプレイ、コンピュータディスプレイ、ディスプレイパネル、あるいは１人または複数人のリモートに結び付けられた（たとえば、コンテンツを視聴している、または対話型体験において共有している可能性がある）ユーザのディスプレイなどとすることができる。
【００３８】
しかしながら、本開示が、これらの特定の詳細の一部またはすべてなくても実施可能であることは当業者には明らかであろう。他の例においては、よく知られている方法動作については、本開示を不必要に不明瞭にしないようにするために、詳細には説明していない。
【００３９】
図１は、本開示の一実施形態による、ビデオゲームの対話型ゲームプレイのためのシステムを示している。ヘッドマウントディスプレイ（ＨＭＤ）１０２を装着しているユーザ１００が示されている。ＨＭＤ１０２は、眼鏡、ゴーグル、またはヘルメットと同様の方式で装着され、ビデオゲームまたは他のコンテンツをユーザ１００に対して表示するように構成されている。ＨＭＤ１０２は、ユーザの目のすぐ近くにディスプレイ機構を設けることにより、ユーザに非常に没入感のある体験を提供する。したがって、ＨＭＤ１０２は、ユーザの視野の大部分またはさらには全体を占めるユーザの目のそれぞれに表示領域を提供することができる。
【００４０】
１つの実施形態においては、ＨＭＤ１０２は、コンピュータ１０６に接続され得る。コンピュータ１０６との接続は、ワイヤードであっても、またはワイヤレスであってもよい。コンピュータ１０６は、ゲーミングコンソール、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス、セルラフォン、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイスなどを含むが、これらに限定されない、当技術分野においては知られている任意の汎用または専用のコンピュータとすることができる。１つの実施形態においては、コンピュータ１０６は、ビデオゲームを実行し、ＨＭＤ１０２によるレンダリングのために動画及び音声をビデオゲームから出力するように構成され得る。
【００４１】
ユーザ１００は、入力をビデオゲームに提供するようにグローブインターフェースオブジェクト１０４を操作することができる。加えて、カメラ１０８は、ユーザ１００が位置する対話型環境の画像を撮像するように構成され得る。これらの撮像された画像は、ユーザ１００、ＨＭＤ１０２、及びグローブインターフェースオブジェクト１０４の位置ならびに移動を確定するために分析され得る。１つの実施形態においては、グローブインターフェースオブジェクト１０４は、それの位置及び向きを確定するために追跡され得るライトを含む。加えて、ＨＭＤ１０２は、ＨＭＤ１０２の位置及び向きを確定するために追跡され得る１つまたは複数のライトを含んでもよい。カメラ１０８は、対話型環境から音を捕捉するための１つまたは複数のマイクロフォンを含むことができる。マイクロフォンアレイによって捕捉された音は、音源の位置を特定するために処理され得る。特定された位置からの音は、特定された位置からではない他の音を除外するために選択的に利用され、または処理され得る。さらには、カメラ１０８は、複数の画像撮像デバイス（たとえば、カメラの立体対）、ＩＲカメラ、深さカメラ、及びそれらの組合せを含むように定義付けられ得る。
【００４２】
別の実施形態においては、コンピュータ１０６は、クラウドゲーミングプロバイダ１１２とネットワークを介して通信するシンクライアントとして機能する。クラウドゲーミングプロバイダ１１２は、ユーザ１０２によってプレイされているビデオゲームを維持し、実行する。コンピュータ１０６は、ＨＭＤ１０２、グローブインターフェースオブジェクト１０４、及びカメラ１０８からの入力をクラウドゲーミングプロバイダに送信し、クラウドゲーミングプロバイダは、その入力を処理して、実行中のビデオゲームのゲーム状態に影響を及ぼす。動画データ、音声データ、及び触覚フィードバックデータなどの実行中のビデオゲームからの出力は、コンピュータ１０６に送信される。コンピュータ１０６は、関連のデバイスに、さらにそのデータを処理してから送信しても、またはそのデータを直接、送信してもよい。たとえば、動画及び音声のストリームは、ＨＭＤ１０２に提供され、一方、振動フィードバックコマンドは、グローブインターフェースオブジェクト１０４に提供される。
【００４３】
１つの実施形態においては、ＨＭＤ１０２、グローブインターフェースオブジェクト１０４、及びカメラ１０８はそれら自体、クラウドゲーミングプロバイダ１１２と通信するためにネットワーク１１０に接続するネットワーク化されたデバイスとすることができる。たとえば、コンピュータ１０６は、普通なら、ビデオゲーム処理を行わないが、ネットワークトラフィックの通過を容易にする、ルータなど、ローカルネットワークデバイスであってよい。ＨＭＤ１０２、グローブインターフェースオブジェクト１０４、及びカメラ１０８によるネットワークへの接続は、ワイヤードであっても、またはワイヤレスであってもよい。
【００４４】
加えて、本開示における実施形態については、ヘッドマウントディスプレイを参照して説明することができるが、他の実施形態においては、本実施形態による対話型シーンもしくは仮想環境の動画をレンダリングし、及び／または表示を実現するように構成され得るテレビ、プロジェクタ、ＬＣＤ表示画面、ポータブルデバイス画面（たとえば、タブレット、スマートフォン、ラップトップなど）、または任意の他のタイプのディスプレイを含むが、これらに限定されない非ヘッドマウントディスプレイに置き換えることが可能であることは認識されるであろう。
【００４５】
図２は、本開示の一実施形態によるヘッドマウントディスプレイ（ＨＭＤ）を示している。図示されるように、ＨＭＤ１０２は、複数のライト２００Ａ〜２００Ｈを含む。これらのライトはそれぞれ、特定の形状を有するように構成でき、同一のまたは異なる色を有するように構成できる。ライト２００Ａ、２００Ｂ、２００Ｃ、及び２００Ｄは、ＨＭＤ１０２の前面に配置されている。ライト２００Ｅ及び２００Ｆは、ＨＭＤ１０２の側面に配置されている。またライト２００Ｇ及び２００Ｈは、ＨＭＤ１０２の前面及び側面にまたがるように、ＨＭＤ１０２の隅部に配置されている。ライトは、ユーザがＨＭＤ１０２を使用する対話型環境の撮像された画像において特定され得ることは認識されるであろう。ライトの特定及び追跡に基づいて、対話型環境の中のＨＭＤ１０２の位置及び向きが確定され得る。ライトのうちのいくつかが、画像撮像デバイスに対するＨＭＤ１０２の特定の向きに応じて、目に見える場合も、または目に見えない場合もあることはさらに認識されるであろう。また、ライト（たとえば、ライト２００Ｇ及び２００Ｈ）の異なる部分は、画像撮像デバイスに対するＨＭＤ１０２の向きに応じて、画像撮像のために露出され得る。
【００４６】
１つの実施形態においては、ライトは、ＨＭＤの現在の状況を近くの他の人に示すように構成され得る。たとえば、ライトのうちのいくつかまたはすべては、特定の色構成、輝度構成を有するように構成され、点滅し、特定のオン／オフ構成設定、またはＨＭＤ１０２の現在の状況を示す他の構成を有するように構成され得る。例として、ライトは、ビデオゲームの活発なゲームプレイ（概して、活発なタイムライン中、またはゲームのシーン内で生じるゲームプレイ）と、メニューインターフェースをナビゲートしている、またはゲーム設定を構成設定しているなどの（その間、ゲームタイムラインまたはシーンは、不活発である、または休止している場合がある）ビデオゲームの他の活発でないゲームプレイ様相との間の異なる構成設定を表示するように構成され得る。ライトはまた、ゲームプレイの相対強度レベルを示すようにも構成され得ることもある。たとえば、ゲームプレイの強度が上昇すると、光の輝度または点滅の速度が、上昇し得る。この方式においては、ユーザの外部の人は、ＨＭＤ１０２上のライトを見て、ユーザが、激しいゲームプレイに積極的に関わっており、その瞬間においては、邪魔されることを望んでいない可能性があることを理解することができる。
【００４７】
ＨＭＤ１０２は、追加として、１つまたは複数のマイクロフォンを含むことができる。例示の実施形態においては、ＨＭＤ１０２は、ＨＭＤ１０２の前面に画定されたマイクロフォン２０４Ａ及び２０４Ｂ、ならびにＨＭＤ１０２の側面に画定されたマイクロフォン２０４Ｃを含む。マイクロフォンアレイを利用することによって、マイクロフォンのそれぞれからの音は、音源の位置を確定するために処理され得る。この情報は、望ましくない音源の排除、音源と視覚的特定との関連付けなどを含む様々なやり方で利用され得る。
【００４８】
ＨＭＤ１０２はまた、１つまたは複数の画像撮像デバイスを含んでもよい。例示の実施形態においては、ＨＭＤ１０２は、画像撮像デバイス２０２Ａ及び２０２Ｂを含むように示されている。画像撮像デバイスの立体対を利用することによって、環境の三次元（３Ｄ：ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ）画像及び動画が、ＨＭＤ１０２の視点から撮像され得る。そのような動画が、ユーザに提示されて、ユーザに、ＨＭＤ１０２を装着しながら「動画シースルー（ｖｉｄｅｏ  ｓｅｅ−ｔｈｒｏｕｇｈ）」能力を提供することができる。つまり、ユーザは、厳密な意味ではＨＭＤ１０２を通して見ることはできないのであるが、それでも、画像撮像デバイス２０２Ａ及び２０２Ｂによって撮像される動画は、あたかもＨＭＤ１０２を通して見ているかのようにＨＭＤ１０２の外部の環境を見ることができることに匹敵する機能を提供することができる。そのような動画は、仮想要素により拡張されて、拡張された現実体験をもたらすことができ、または他のやり方で仮想要素と結合されても、もしくはブレンドされてもよい。例示の実施形態においては、２つのカメラがＨＭＤ１０２の前面に示されているが、ＨＭＤ１０２に据え付けられた任意の数の外部に面したカメラが、任意の方向に向けられて存在し得ることは理解されるであろう。たとえば、別の実施形態においては、ＨＭＤ１０２の側面に取り付けられて、環境の追加的なパノラマ画像撮像を行うカメラが存在してもよい。
【００４９】
図３は、本開示の一実施形態による、実行中のビデオゲームと関連するＨＭＤ１０２の機能を概念的に示している。実行中のビデオゲームは、入力を受信してビデオゲームのゲーム状態を更新するゲームエンジン３２０によって定義付けられる。ビデオゲームのゲーム状態は、オブジェクトの存在及び位置、仮想環境の条件、イベントのトリガ、ユーザプロファイル、ビュー視点などの現在のゲームプレイの様々な様相を定義付けるビデオゲームの様々なパラメータの値によって、少なくとも一部は定義付けられ得る。
【００５０】
例示の実施形態においては、ゲームエンジンは、例として、コントローラ入力３１４、音声入力３１６、及びモーション入力３１８を受信する。コントローラ入力３１４は、ハンドヘルドゲーミングコントローラ（たとえば、ＳｏｎｙのＤＵＡＬＳＨＯＣＫ（登録商標）４のワイヤレスコントローラ、ＳｏｎｙのＰｌａｙｓｔａｔｉｏｎ（登録商標）Ｍｏｖｅモーションコントローラ）、またはグローブインターフェースオブジェクト１０４など、ＨＭＤ１０２とは別個のゲーミングコントローラの操作から定義付けられ得る。例として、コントローラ入力３１４は、方向性入力、ボタン押し、トリガアクティブ化、移動、ジェスチャ、またはゲーミングコントローラの操作から処理される他の種類の入力を含むことができる。音声入力３１６は、ＨＭＤ１０２のマイクロフォン３０２から、または画像撮像デバイス１０８の中に、もしくはローカル環境の他の場所に含まれているマイクロフォンから処理され得る。モーション入力３１８は、ＨＭＤ１０２に含まれているモーションセンサ３００から、またはＨＭＤ１０２の画像を撮像するときの画像撮像デバイス１０８から処理され得る。ゲームエンジン３２０は、ゲームエンジンの構成設定に従って処理される入力を受信して、ビデオゲームのゲーム状態を更新する。ゲームエンジン３２０は、ゲーム状態データを、そのゲーム状態データを処理してユーザに提示されることになるコンテンツを定義付ける様々なレンダリングモジュールに出力する。
【００５１】
例示の実施形態においては、動画レンダリングモジュール３２２は、ＨＭＤ１０２において提示するための動画ストリームをレンダリングするように定義付けられる。動画ストリームは、ディスプレイ／プロジェクタ機構３１０によって提示でき、ユーザの目３０６によって光学系３０８を通して見ることができる。音声レンダリングモジュール３０４は、ユーザが聴くための音声ストリームをレンダリングするように構成されている。１つの実施形態においては、音声ストリームは、ＨＭＤ１０２に関連付けられたスピーカ３０４を通して出力される。スピーカ３０４が、オープンエアースピーカ、ヘッドフォン、または音声を提示することができる任意の他の種類のスピーカの形態を取ることができることは認識すべきである。
【００５２】
１つの実施形態においては、視線追跡カメラ３１２が、ＨＭＤ１０２の中に含まれて、ユーザの視線の追跡を可能にする。視線追跡カメラは、ユーザの目の画像を撮像し、その画像は、ユーザの視線方向を確定するために分析される。１つの実施形態においては、ユーザの視線方向についての情報を利用して、動画レンダリングに影響を及ぼすことができる。たとえば、ユーザの目が特定の方向を見ていると確定された場合には、その方向のための動画レンダリングが、たとえばユーザが見ている領域においてより詳細なまたはより速い更新を提供することによって、優先または強調され得る。ユーザの視線方向が、ヘッドマウントディスプレイに対して、ユーザが中に位置している実環境に対して、及び／またはヘッドマウントディスプレイにおいてレンダリングされている仮想環境に対して定義付けられ得ることは認識すべきである。
【００５３】
大まかに言えば、視線追跡カメラ３１２によって撮像される画像の分析は、単独で考えられる場合、ＨＭＤ１０２に対するユーザの視線方向を提供する。しかしながら、ＨＭＤ１０２の追跡位置と向きとの組合せで考えられる場合、ＨＭＤ１０２の位置及び向きがユーザの頭部の位置及び向きと同義であるので、ユーザの現実世界の視線方向が確定され得る。つまり、ユーザの現実世界の視線方向は、ユーザの目の場所的な移動を追跡すること、ならびにＨＭＤ１０２の位置及び向きを追跡することから確定され得る。仮想環境のビューがＨＭＤ１０２においてレンダリングされるとき、ユーザの現実世界の視線方向は、仮想環境の中のユーザの仮想世界の視線方向を確定するために適用され得る。
【００５４】
加えて、触覚フィードバックモジュール３２６が、ＨＭＤ１０２、またはコントローラ１０４などのユーザによって操作される別のデバイスのいずれかに含まれている触覚フィードバックハードウェアに信号を提供するように構成されている。触覚フィードバックは、振動フィードバック、温度フィードバック、圧力フィードバックなどの様々な種類の触感の形態を取ることができる。
【００５５】
現在のところ、ゲームリプレイを共有するためのストリーミングサービスは、非常に普及している。ＤｕａｌＳｈｏｃｋ（登録商標）４ワイヤレスコントローラは、そのような共有を可能にするためにコントローラ上に直接、「共有ボタン」を含む。本開示の実施態様は、ＨＭＤ／ＶＲヘッドセットを使用して、リプレイを探索したい人のための共有リプレイを改善する。本開示の実施態様は、非常に広い視野によりゲームリプレイのレンダリングを提供して、観戦者が、ＨＭＤを使用して自由に自分の頭部を動かし、目新しい有利なポイントからリプレイを視聴することを可能にする。従来のストリーミング手法は、リプレイを元のプレイヤが視聴していたことのみに限定し、それにより、ビュー方向は、観戦者の頭部の場所及び向きとは無関係になり、ＨＭＤを使用する観戦者がその頭部を動かした場合、何も変化しないことになる。
【００５６】
本開示の実施態様は、ＨＭＤの中の目新しいビューポイントをサポートするのに十分な広視野における動画レンダリングを提供する。クラウドサーバ（たとえば、クラウドの中のコンソールゲーミングハードウェア、たとえばＰｌａｙＳｔａｔｉｏｎ（商標登録）４ハードウェアにおいて）動作し、元のプレイヤのゲームエンジンからストリーミングされるゲーム状態を入力として受諾し、次いで、そのゲームセッションのリアルタイムストリーミング及び／または事前録画された再生に使用され得る、ゲームの極めて広い視野（たとえば、１５０度強）ビューにレンダリングするためにそのゲーム状態を使用するゲームエンジンのカスタムビルドである。極めて広い視野が、ＨＭＤの視野を超えており、それにより、ＨＭＤを装着した観戦者がリプレイの中で見回すことが可能になることは認識されるであろう。実際のゲームは、エンジンのネットワーク化されたバージョンにその状態をストリーミングするように構成されている。
【００５７】
図４は、ヘッドマウントディスプレイ（ＨＭＤ）において観戦するためのプレイヤのゲームプレイ動画の広視野（ＦＯＶ）再レンダリングを提供するためのシステムを示している。
【００５８】
プレイヤのビデオゲームビルド４００は、プレイヤ４０５による対話型ゲームプレイのためのプレイヤコンピューティングデバイス４０２によって実行される。プレイヤコンピューティングデバイス４０２は、コンソールゲーミングデバイス（たとえば、ＰｌａｙＳｔａｔｉｏｎ（登録商標）４）、パーソナルコンピュータ、ラップトップ、セットトップボックス、ポータブルゲーミングデバイス（たとえば、ＰｌａｙＳｔａｔｉｏｎ（登録商標）Ｖｉｔａ）、タブレット、スマートフォン、またはビデオゲームを実行するように構成され得る少なくとも１つのプロセッサ及びメモリを有する任意の他のコンピューティングデバイスとすることができる。プレイヤコンピューティングデバイス４０２は、ディスプレイデバイス４０４に接続でき、このディスプレイデバイス４０４の上に、プレイヤのビデオゲームビルドのゲームプレイ動画がレンダリングされる。様々な実施態様においては、ディスプレイデバイス４０４は、テレビ、モニタ、ＬＣＤディスプレイ、ＨＭＤ、または動画コンテンツが提示され得る任意の他のタイプのディスプレイデバイスであってよい。いくつかの実施態様においては、ディスプレイデバイス４０４は、（たとえば、ラップトップコンピュータ、ポータブルゲーミングデバイス、タブレットなどにあるような）コンピューティングデバイス４０２と一体化される。
【００５９】
プレイヤのビデオゲームビルド４００は、ゲームをプレイする人によって使用される。プレイヤのビデオゲームビルド４００は、テレビ、ＨＭＤ、またはゲームビルド４００と互換性のある任意の他のタイプのディスプレイにレンダリングするように構成され得る。ゲームビルド４００は、ビデオゲームのシーングラフの変化を確定し、ネットワーク４０６を介してそれらをストリーミングするように構成されている。シーングラフ（またはゲーム状態）は、ゲームの仮想世界／環境の状態、及び任意の仮想オブジェクト／キャラクタを含む、対話型ゲームプレイを定義付けるビデオゲームの状態を記述する。ゲームビルド４００によるシーングラフのストリーミングが、ビデオゲームの実際の動画フィードのストリーミングを伴うのではなく、むしろビデオゲームの仮想世界の状態を記述するシーングラフを伴うことに留意すべきである。
【００６０】
ストリーミングされ得るシーングラフ（またはゲーム状態）データ４０８の例は、以下：仮想世界の中のオブジェクトの作成と破壊（例として、キャラクタが仮想世界に生成された場合、その情報は、ストリーミングされる可能性もあり得る）、その世界の中のオブジェクトの場所及び向き、その世界のレンダリング設定に対する変更（たとえば、光及び粒子エミッタは、シーングラフの中のオブジェクトであってよいが、直接的に埋め込まれない他の効果が存在する場合があり、例として、プレイヤの画面は、プレイヤが大きなダメージを受けているので、血に染まった状態になる場合がある。）を含む。
【００６１】
引き続き図４を参照すると、クラウドレンダリングサービス４１０が、ユーザのゲームプレイの広視野再レンダリングを行うために設けられる。クラウドレンダリングサービス４１０は、画面または入力デバイスの接続もしくは通信を必要としないビデオゲームのビルドであるレンダリングビルド４１２を含む。レンダリングビルド４１２は、プレイヤのゲームビルド４００からストリーミングされたゲーム状態データ４０８を受信し、ゲーム状態データ４０８を処理して、頭部追跡を伴うＨＭＤにおけるレンダリングに適している広視野動画を生成する。レンダリングビルド４１２によってレンダリングされる広視野動画は、ＨＭＤが提供する視野を超えており、それにより、再生中にＨＭＤを通じた動的ビューが可能になる。
【００６２】
ビデオゲームのレンダリングビルド４１２は、プレイヤのゲームビルド４００と同じ制約を受ける必要がない。たとえば、レンダリングビルド４１２は、必ずしもリアルタイムで動作する必要も、またはプレイヤのゲームビルド４００と同じもしくは類似するハードウェアセットアップ（たとえば、ゲームコンソール）において動作する必要もない。レンダリングビルド４１２は、ゲームプレイ中にプレイヤのゲームビルド４００に利用可能であったよりも多くのリソース（すなわち、プレイヤコンピューティングデバイス４０２のリソースよりも多い）により、レンダマシンにおいて動作し得る。
【００６３】
レンダリングビルド４１２は、広視野動画４１４を生成し、レンダリングされた動画４１４を動画サーバ４１６に送信する。動画サーバ４１６はレンダリングビルド４１２からアップロードされた動画を受信し、１人または複数人の観戦者／ユーザ４２８に視聴されるようにネットワーク４０６を介してその動画を供給する。広ＦＯＶ動画は、動画ストレージ４１８に記憶されて、観戦者４２８が、自らがその動画を視聴したいと指示するとき、動画サーバ４１６によって読み出され得る。いくつかの実施態様においては、広ＦＯＶ動画は、実質的にリアルタイムで動画サーバ４１６によって供給されて、つまり、プレイヤ４０５が、ビデオゲームのプレイヤのゲームビルド４００をプレイしているとき、プレイヤのゲームビルド４００は、リアルタイムでゲーム状態データ４０８を同時にストリーミングし、ひいては、ゲーム状態データ４０８は、リアルタイムでレンダリングゲームビルド４１２によって処理されて広ＦＯＶ動画４１４を生成し、広ＦＯＶ動画４１４は、観戦者に対してレンダリングするためのビューアアプリケーション４２２にリアルタイムでストリーミングされる。これにより、観戦者に、プレイヤのゲームプレイが生じると、それの（遅延処理を受けて）実質的リアルタイムライブ視聴体験がもたらされる。
【００６４】
他の実施態様においては、操作のうちのいずれも、非リアルタイム方式で行うことができる。たとえば、ゲーム状態データ４０８は、プレイヤコンピューティングデバイス４０２において記憶されて、プレイヤのゲームプレイセッションが完了した後にレンダリングゲームビルド４１２に送信され得る場合もあり、レンダリングゲームビルド４１２による広ＦＯＶ動画のレンダリングは、非リアルタイムの形で行われてもよく、及び／またはレンダリングされた広ＦＯＶ動画４１４は、後に読み出すために動画ストレージ４１８に記憶されてもよい。
【００６５】
動画サーバ４１６は、様々な動画ストリーミング技術のうちのいずれかにより、広ＦＯＶ動画４１４をストリーミングするように構成され得る。ストリーミングされた動画は、セキュリティと帯域幅管理との両方の目的のために、暗号化され、ならびに符号化され／圧縮されてもよい。例示の実施態様においては、広ＦＯＶ動画４１４のストリーミングは、広ＦＯＶ動画をディスプレイデバイス４２６にレンダリングして観戦者４２８に視聴されるために、動画サーバ４１６による動画データストリーム４２０の生成、及び動画データストリーム４２０のビューアアプリケーション４２２への送信によって定義付けられる。ビューアアプリケーション４２２は、観戦者４２８に視聴されるために、広ＦＯＶ動画４１４の動画コンテンツをディスプレイデバイス４２６にレンダリングできるようにするために、動画データストリーム４２０を解読し、及び／または復号し／解凍する。
【００６６】
ビューアアプリケーション４２２は、ビューアコンピューティングデバイス４２４において動作することができる。ビューアコンピューティングデバイス４２２（たとえば、コンピュータ、ゲーミングコンソール、セットトップボックス、クライアントコンピュータなど）は、ディスプレイデバイス４２６（たとえば、ＬＣＤディスプレイ、ＨＭＤなど）と通信し、それに動画データストリームの動画コンテンツをレンダリングする。いくつかの実施態様においては、ビューアコンピューティングデバイス４２２及びディスプレイデバイス４２６は、単一のデバイスに一体化され、一方、他の実施態様においては、それらは、リンクされている別個のデバイスである。
【００６７】
広ＦＯＶ動画４１４は、ビデオゲームのためのディスプレイデバイス４２６を通じて利用可能な公称視野を超える視野によりレンダリングされる。たとえば、ディスプレイデバイス４２６がＨＭＤである実施態様においては、広ＦＯＶ動画４１４は、ＨＭＤの視野を超える視野においてレンダリングされる。したがって、ディスプレイデバイス４２６を通じて表示される動画コンテンツは、広ＦＯＶ動画において利用可能な全視野に対してクロップされる。クロッピングは、ＨＭＤ及び／または観戦者の追跡された移動から確定される観戦者のビュー方向に従うことができる。広ＦＯＶ動画は、ＨＭＤの視野よりも広視野においてレンダリングされたので、広ＦＯＶ動画を視聴する人は、自分の頭部を動かして、ゲームの異なる部分を視聴することができる。これにより、観戦者は、たとえば、横へと視線をそらし、元のゲームプレイヤが気付いていない場合がある敵の接近に気を付けることが可能になる。
【００６８】
したがって、本開示の実施態様は、観戦者が、別のプレイヤのゲームプレイ体験の動画をリプレイすることを可能にするが、観戦者に、ゲームの仮想環境を見回し、その新規ビューが提供される可能性を与える追加の機能を含むシステム及び方法を提供する。現在のストリーミングサービスは、現在、プレイヤの画面にあるもののスクリーンショットを撮像し、それらを観戦者に送信し、それにより、観戦者は、プレイヤが見ているものを正確に見ることになる。しかしながら、観戦者には、そのようなシステムにおける元のプレイヤのビューと異なるビューは何ら与えられない。本開示の実施態様は、観戦者が、第１のプレイヤが見ているものを正確に見ることを可能にするだけでなく、観戦者が自分の頭部を動かし、追加のビューを見ることを可能にする。いくつかの実施態様においては、観戦者ビューはまた、たとえば第１の人のキャラクタの背後を辿るビューポイントからの、第３の人のビューなど、異なる有利なポイントからのものである場合もあり得る。
【００６９】
いくつかの実施態様においては、観戦者ビューポイントは、第１のプレイヤのキャラクタまたはビューポイントの位置に繋がれる場合もあり得るが、観戦者はまた、観戦者が移動することができる範囲内で第１のプレイヤのキャラクタ／ビューポイントに対して限定された空間／自由度を有することも可能になる。たとえば、観戦者位置は、第１のプレイヤのキャラクタ／ビューポイントの、一定の所定の距離内にとどまるように構成可能になる。
【００７０】
図５は、本開示の実施態様による、観戦者が視聴するためにレンダリングされ、利用可能にされる拡大された視野を示している。例示の実施態様においては、ヘッドマウントディスプレイ（ＨＭＤ）５０２は、観戦者５００に、約１００度（水平）視野を提供する。つまり、ＨＭＤ５０２のディスプレイハードウェアは、ＨＭＤが装着されたとき、画面は、観戦者の視野の約１００度を占めるように構成されている。約１００度の公称ＨＭＤ視野が、ほんの一例として設けられていること、及び様々な実施態様においては、ＨＭＤが、約１００度よりも大きい視野または小さい視野を有してもよいことを認識すべきである。それにもかかわらず、ＨＭＤは、ＨＭＤの特定のディスプレイハードウェア構成設定（たとえば、ディスプレイサイズ、光学系、及びユーザの目に対する位置決め）によって定義付けられる公称視野を有し、したがって、ビデオゲームの仮想環境のビューを提示するＨＭＤ上のディスプレイのための動画コンテンツは、公称ＨＭＤ視野に一致する仮想環境の視野を提供するように構成され得る。
【００７１】
本開示の実施態様によれば、広ＦＯＶ動画は、ＨＭＤ５０２の視野よりも広視野においてレンダリングされる。例として、広ＦＯＶ動画は、参照記号５０４において概念的に例示されている、約１５０度視野においてレンダリング可能になる。他の実施態様においては、広ＦＯＶ動画は、広ＦＯＶ動画の視野がＨＭＤ５０２の視野よりも大きい限り、１５０度よりも小さいまたは大きい視野においてレンダリング可能になる。動画の視野が、動画が生成されるビデオゲームの仮想環境における視野によって定義付けられることを認識すべきである。
【００７２】
動画の視野がＨＭＤの視野よりも大きいときには、動画プレイヤ／ビューア（たとえば、ビューアアプリケーション４２２）を利用して、より広い１５０度レンダリング５０４から１００度ビュー部分５０８をレンダリングして、観戦者５００が視聴するためにＨＭＤ５０２において表示することができる。最初の状態においては、観戦者５００の視野５０８は、元のプレイヤの元の視野５０６と同じであってもよく、それにより、観戦者５００は、ゲームプレイ中、（元のプレイヤが、同じタイプのＨＭＤデバイスなど、実質的に同じ視野能力を有するデバイスにおいて自身のゲームプレイを視聴していたとすれば）元のプレイヤが見たものを見ることになることが認識されるであろう。つまり、広ＦＯＶ動画に対する観戦者のビュー方向５１２は、広ＦＯＶ動画に対する元のプレイヤのビュー方向５１０と一致し得る。
【００７３】
しかしながら、観戦者の視野５０８は、その最初の場所からＨＭＤ５０２の検出された移動に応答して、元のプレイヤの視野５０６からシフトされ得る。注記したように、ＨＭＤの場所及び移動は、慣性センサ、及びＨＭＤ５０２上のフィーチャ／オブジェクト（可能性として照明される）の視覚的追跡を含む様々な技術を利用して検出され得る。したがって、広ＦＯＶ動画の観戦者の視野は、ＨＭＤの姿勢の検出された変化（たとえば、回転、向き、及び／または場所の変化）に応答してシフトされ得る。言い換えれば、広ＦＯＶ動画に対する観戦者５００のビュー方向は、ＨＭＤ５０２の検出された移動によって確定される観戦者５００の検出された移動に応答して、広ＦＯＶ動画に対する元のプレイヤのビュー方向から逸脱する場合がある。元のプレイヤのものから広ＦＯＶ動画に対する観戦者のビュー方向５１２の逸脱は、最初の姿勢からのＨＭＤ５０２の姿勢の逸脱に相関し得る。したがって、観戦者が自分の頭部の方向をより変えるにつれて、観戦者のビュー方向５１２は、元のプレイヤの元のビュー方向５１０からますます逸脱し、したがって、観戦者の視野５０８は、元のプレイヤの視野５０６から（ビュー方向の逸脱の方向に）ますますシフトされる。
【００７４】
説明の実施態様においては、元のプレイヤが観戦者と実質的に同じタイプのＨＭＤデバイスを使用してビデオゲームを視聴するシナリオが考慮されているが、他の実施態様においては、元のプレイヤは、観戦者と同じタイプのデバイスを使用して元のゲームプレイを視聴している必要がないことは認識すべきである。たとえば、元のゲームプレイは、テレビにおいてレンダリングされていてもよく、その場合においては、広ＦＯＶ動画に対する元のプレイヤの視野５０６は、観戦者の視野５０８よりも小さくてよい。
【００７５】
いくつかの実施態様においては、広ＦＯＶ動画の視野５０４は、同心円状に元のプレイヤの視野を包含するようにレンダリングされ、ここで、元のプレイヤの視野（参照記号５０６において示されている）は、広ＦＯＶ動画のより広視野５０４内で中央に位置決めされる。つまり、等価な視野部分が、元のプレイヤの視野の両側に提供されることになる。一例として、再度、水平視野を考慮すると、同心円レンダリングが、元のプレイヤの視野５０６の左に及び右にレンダリングされることになる等価な追加の視野部分を提供することになる。この概念はまた、元のプレイヤの視野の上下のビュー部分にも適用され得る。ビデオゲームのレンダリングビルドが、この方式において広ＦＯＶ動画を生成するように構成され得ることを認識すべきである。
【００７６】
他の実施形態においては、広ＦＯＶ動画の視野５０４は、非同心円状にレンダリング可能であり、それにより、元のプレイヤの視野５０６は、動画のより広視野５０４の中心に必ずしも位置決めされるとは限らなくなる。つまり、非等価な視野部分が、元のプレイヤの視野の両側に設けられ得る。すなわち言い換えれば、広ＦＯＶ動画の中央ビュー方向は、元のプレイヤの視野の中央ビュー方向から逸脱してもよい。たとえば、元のプレイヤの視野の右に対する視野部分は、元のプレイヤの視野の左に対する視野部分よりも大きい場合があり得る。これは、観戦者が、元のプレイヤの視野の右に対してより多くのコンテンツを見ることを、元のプレイヤの視野の左に対して同等のコンテンツを視聴することができることを犠牲にして、可能にすることができる。このシナリオにおいては、広ＦＯＶ動画の中央ビュー方向は、元のプレイヤの視野のものから（右に）逸脱する。
【００７７】
同心円レンダリングスキームからどの方向にどの程度逸脱すべきであるかどうかは、ビデオゲームのゲーム状態に基づいて、ビデオゲームのレンダリングビルドによって確定することができる。いくつかの実施態様においては、元のプレイヤのものから広ＦＯＶ動画のための中央ビュー方向の逸脱は、実質的に、元のプレイヤの視野がゲームプレイ中に移動している／移動していた方向にある。言い換えれば、元のプレイヤの視野がビデオゲームの仮想空間における右に移動していた場合には、広ＦＯＶ動画の中央ビュー方向は、元のプレイヤのビュー方向に比較して右にシフトされることになり、それによって、レンダリングされた広ＦＯＶ動画における元のプレイヤの視野の左よりも右に対して、より大きい視野部分が提供される。そのような構成設定は、元のプレイヤの視野がゲームプレイ中に移動していた方向が、その方向において（この場合においては、右に向かって）対象の何かを示すことがあるので望ましい場合があり、そのため、観戦者は、その方向にあるものを見るために方向を変える可能性が高い場合がある。いくつかの実施態様においては、中央ビュー方向の逸脱量は、元のプレイヤの視野の変化率に基づいている（たとえば、正に相関している）。
【００７８】
様々な実施態様においては、様々な他のゲーム状態要因のうちのいずれも、広ＦＯＶ動画のための同心円レンダリングスキームからの逸脱を確定すると考えることができる。これらは、限定するものではないが、ビデオゲームの仮想空間内の様々な地理的領域に関連付けられる活動、仮想空間におけるオブジェクトの移動、仮想空間における対象の領域またはオブジェクトなどを含むことができる。
【００７９】
概して、水平に拡大される広視野が、本明細書においては参照されているが、広視野が、やはり垂直に拡大されるビューを包含し得ることは認識されるであろう。本明細書に説明される実施態様のすべてにおいては、拡大された視野のゲームプレイ動画は、水平方向と垂直方向との両方に拡大されて、観戦者が、元のプレイヤに視聴されていなかった可能性がある仮想空間の部分を選択的に視聴することを可能にすることができることが企図される。
【００８０】
図６は、本開示の実施態様による、仮想環境における仮想ビューポイントの移動を示す、ビデオゲームの仮想環境の俯瞰図を示している。最初の時間Ｔ０においては、仮想ビューポイント６０２が、仮想環境６００の中の場所Ｐ０において定義付けられる。仮想ビューポイント６０２は、仮想環境６００内の位置を定義付け、そこから仮想環境６００のプレイヤのビューが提示される。つまり、仮想環境６００のプレイヤのビューは、仮想ビューポイント６０２の視点から提示される。仮想ビューポイント６０２は、いくつかの実施態様においては、キャラクタ、車両、またはビデオゲームのゲームプレイ中にプレイヤによって制御される他のオブジェクトの位置と一致し得る。
【００８１】
他の実施態様においては、仮想ビューポイント６０２は、そのようなオブジェクトに近接し得る。いくつかの実施態様においては、仮想ビューポイント６０２は、（たとえば、背中越しの有利なポイントを提供する）元のプレイヤのビューポイントに対する所定の位置にあってもよい。いくつかの実施態様においては、仮想ビューポイント６０２は、ビデオゲームのゲームプレイ中のプレイヤのビューポイントの位置に近接する及び／またはその位置を取り囲む領域６０３内に位置していてもよい。領域６０３が、プレイヤビューポイントを取り囲む三次元領域であってもよいことは認識されるであろう。仮想ビューポイント６０２は、ＨＭＤの移動または他のコントローラデバイスからの入力など、制御入力に従って領域６０３内で移動するように許可され得る。
【００８２】
示されているように、時間Ｔ０においては、仮想ビューポイント６０２は、場所Ｐ０に位置し、ビデオゲームのプレイヤに、角度６０４によって指示される仮想環境６００のビューを与える。しかしながら、観戦するためのプレイヤのゲームプレイの広ＦＯＶレンダリングは、プレイヤの視野よりも、角度６０６によって指示されている、より大きい視野を観戦するために利用可能にされる。したがって、仮想環境６００の追加の領域６０８は、観戦者による観戦中の視聴に利用可能である。これは、観戦者が、ゲームプレイ中の元のプレイヤが見ていなかった仮想環境６００からのコンテンツを視聴することができ得ることを意味する。たとえば、仮想ビューポイント６０２の位置がＰ０にある時間Ｔ０においては、元のプレイヤは、仮想環境６００の中のオブジェクト６１０の一部分６１２のみを見ていた可能性がある。しかしながら、広ＦＯＶレンダリングが観戦者に利用可能であるので、元のプレイヤのビュー方向から逸脱するように観戦者が自分のビュー方向を右に変える場合、観戦者は、オブジェクト６１０の追加の部分６１４を見ることができる。元のプレイヤは、オブジェクト６１０のこの追加の部分６１４をみることができなかった。
【００８３】
後続の時間Ｔ１においては、ビューポイント６０２は、場所Ｐ１に移動し（たとえば、プレイヤが、前方向に自分のキャラクタを移動させた結果として）、したがって、プレイヤの視野は、角度６１６によって示され、観戦者に利用可能な視野は、角度６１８によって示されている。さらなる後続の時間Ｔ２においては、ビューポイント６０２は、場所Ｐ２に移動し（たとえば、プレイヤが右に自分のキャラクタの方向を変えた結果として）、したがって、プレイヤの視野は、角度６２０によって示され、観戦者に利用可能な視野は、角度６２２によって示されている。オブジェクト６２４は、観戦者の利用可能な視野の一部ではあるもののプレイヤの視野の中には見られなかった、領域６２６に位置している。
【００８４】
本明細書において論じられているいくつかの実施態様においては、プレイヤ及び観戦者によって使用されるハードウェアデバイスの視野は、たとえば、ゲームプレイ／観戦にＨＭＤをともに使用するときなどは同じである。しかしながら、いくつかの実施態様においては、たとえば、プレイヤがテレビにおいてビデオゲームを視聴するとき、及び観戦者がＨＭＤを使用してプレイヤのゲームプレイを視聴するときなどは、プレイヤの視野は、観戦者のものよりも小さくてよいことが理解されるであろう。この場合においては、観戦者の視野は、観戦者が、プレイヤが見ているよりも多くを見ることをすでに可能にすることになり、上記に企図された拡大されたＦＯＶ動画によれば、観戦者はまた、コンテンツの追加の部分を見るために自分のビュー方向を変更することができることになる。
【００８５】
論じてきたいくつかの実施態様においては、拡大された（たとえば、１５０度）レンダリングの視聴部分は、観戦者の頭部の移動に応答して、拡大されたレンダリングの異なる部分を表示するようにシフトされる。しかしながら、観戦者が自分の頭部の方向を変えるとき、観戦者の目は、何らかの軸の周りを回転する。そのため、観戦者の頭部の移動に応答してより忠実なレンダリングを作り出すために、いくつかの実施態様においては、ゲームの特殊化されたビルドが、頭部追跡情報を使用して観戦者ビューをレンダリングする（たとえば、クラウドにおける）ライブを実行している可能性がある。
【００８６】
図７は、本開示の実施態様による、元のプレイヤによって元々視聴されていたものに追加的なビデオゲームシーンの部分を観戦者が視聴する能力を含んだ、観戦者のために動画をレンダリングするためのシステムを示している。プレイヤ７００は、プレイヤコンピュータ７０４において実行するビデオゲームをプレイする。実行中のビデオゲームは、プレイヤ７００によって操作されるコントローラ７０２など、１つまたは複数の入力デバイスから受信される入力データ７１０を処理するゲームエンジン７０８を定義付ける。ゲームエンジン７０８は、ＨＭＤ、テレビ、または他のタイプのディスプレイとすることができるプレイヤディスプレイ７０６にレンダリングされる動画コンテンツを生成する。
【００８７】
ビデオゲームが、それに関連付けられるゲーム状態を有することを理解すべきである。しかし、その状態の、フレームからフレームに、普通はそれのサブセットのみが変化し、それのほとんどが、例としてコントローラ入力に基づいて、変化することになる。したがって、ビデオゲームのアルゴリズムが確定的である場合には、ビデオゲームに使用されている乱数種（たとえば、ビデオゲームは、擬似乱数生成器によって生成される乱数を使用する）が共有される場合には、ビデオゲームの観戦者バージョンは、プレイヤと同じゲームを実行することが可能になる。そのような実施態様は、図７を引き続き参照して示されている。ビデオゲームの観戦者バージョンは、観戦者ゲームサーバ７２０において実行される。ビデオゲームの実行中の観戦者バージョンは、プレイヤコンピュータ７０４からネットワーク７１４を介して受信される入力データ７１６及び／またはゲーム状態データ７１８を処理することができるゲームエンジン７２２を定義付ける。ビデオゲームのプレイヤバージョンと同じ乱数種から始めると、ビデオゲームの観戦者バージョンに同じ入力が提供される限り、ビデオゲームの観戦者バージョンは、プレイヤのゲームと同じ出力を作り出すことになる。
【００８８】
したがって、ゲームエンジン７２２は、同じ入力が提供されるとき、ゲームエンジン７０８と同じ出力を作り出すことができる。例示の実施態様においては、ゲームエンジン７２２は、入力データ７１６を受信し、この入力データ７１６は、ゲームエンジン７０８によって受信される入力データ７１０を含むことができ（たとえば、入力データ７１０は、コントローラデバイス７０２によって受信されるユーザ入力から生成されている）、ゲームエンジン７０８からの乱数／種データをさらに含むことができる。いくつかの実施態様においては、ゲームエンジン７２２は、ゲームエンジン７０８からゲーム状態データ７１８を受信することができ、それは、そのゲーム状態を直接、更新するためにゲームエンジン７２２によって適用され得る。
【００８９】
したがって、ゲームが確定的である場合には、観戦者７５０が、プレイヤ７００が見ているものを正確に観戦することができることが必要になるという唯一の状態は、ゲームに入った入力及び乱数種である。そのような実施態様は、それには、たとえば、６０Ｈｚ／１２０Ｈｚにおいて１０８０ｐ動画をストリーミングするよりもはるかに少ないデータ帯域幅が必要であるので、有利である。プレイヤのものと同じビデオゲームの観戦者バージョンが提供され、ゲームが少なくとも実質的に確定的である場合には、ゲーム状態を更新することが必要なデータのみがストリーミングされるので、観戦者は、はるかに少ないデータにより観戦することができる。したがって、ゲームストリーミングの目的で、ビデオゲームのプレイヤのバージョンは、動画を一斉通信するのでなく、ゲーム状態の更新を送信することができる。次いで、ビデオゲームの観戦者の（実質的に）複製のコピーを実行するサーバは、プレイヤが画面上で見たものを再現し、さらには、元のゲームプレイ中には生成されなかった目新しいビューポイントを提供することが可能になる。
【００９０】
次は、ゲーム状態に影響を及ぼす入力タイプの例である：（１）プレイヤ入力−たとえば、コントローラ入力（ボタン押し、ジョイスティック移動、モーションコントローラ移動など）；（２）乱数入力−選択されたすべての乱数を送信することが可能になるか、またはサーバが、プレイヤのシステムと同じ乱数生成アルゴリズムを有する場合には、種データを提供することのみ必要であることが可能になり、次いで、サーバは、それが擬似乱数アルゴリズムであると仮定して、同じ一連の乱数を生成することになる；（３）サードパーティ入力−たとえば、ネットワークゲームをプレイしているとき（たとえば、フレームごとに、プレイヤは、敵または他のプレイヤが位置しているところについての更新情報を受信することができる）。これらはすべて、プレイヤ７００が自分のプレイヤコンピュータ７０４に有する、または有していたゲーム状態を観戦者ゲームエンジン７２２が再現することを可能にするために、観戦者ゲームサーバ７２０に提供可能になる入力である。
【００９１】
代替として、プレイヤのコンピュータ７０４は、（また、１０８０ｐよりもかなり低い帯域幅も使用することになる）内部ゲーム状態を簡潔にパッケージ化し、パッケージ化された内部ゲーム状態を観戦者ゲームサーバ７２０に送信するように構成可能になる。ゲーム状態は、ゲームエンジン７０８によって処理される、入力の解釈結果を有する。たとえば、プレイヤがコントローラを前方に押したとき、その結果は、キャラクタが距離のｘ単位を移動したこととすることができ、したがって、ゲーム状態は、キャラクタが距離のｘ単位を移動したことを示すことになる。
【００９２】
したがって、ゲームのプレイヤのバージョンは、そのゲーム状態を送信することが可能になり、またはゲーム状態に影響を及ぼした入力データを送信し、相手側で観戦者ゲームサーバ７２０にゲーム状態を再現させる（たとえば、観戦者ゲームサーバ７２０が観戦者に同じボタンをプッシュするように、ボタンプッシュを送信する）ことが可能になる。ゲーム状態に影響を及ぼす入力データのみが送信された場合には、ゲームは、少なくとも幾分、確定的であるべきであり、したがって、同じ入力の場合、ビデオゲームの観戦者のバージョンは、実質的に同じ出力を生み出すことになる。
【００９３】
いくつかの実施態様においては、入力は、マルチスレッド処理のためのスケジューリングエンジンなどの項目をさらに含むことができる。たとえば、マルチスレッドゲームにおいては、システムが操作Ｂの前に操作Ａを行う場合、それが操作Ａを行う前に操作Ｂを行う場合とは異なる結果をもたらすことがある。一例として、操作Ａがプレイヤの場所の更新を必要とし、操作Ｂが敵の人工知能（ＡＩ：ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）の実行を必要とする場合、一方が、最初にプレイヤのキャラクタの場所を移動させたときには、敵は、彼が敵のビューの中へと移動したので、彼を見ることができ、したがって、ここで、敵は、方向を変えて射撃を開始し得ることが可能になる。しかしながら、一方では、最初に敵がプレイヤのキャラクタの前に更新された場合には、プレイヤはまだ、敵のビューの外にいるので、敵は、プレイヤをまだ見ることができない。
【００９４】
したがって、特定の操作の実行順序は、ゲーム状態結果に影響をもたらすことがあるときには、観戦者ゲームサーバ７２０に提供される入力は、マルチスレッド処理のスケジューリングのためのデータを含むことができる。したがって、入力に基づいたゲーム状態を再現するためには、ゲームは、ある程度までは確定的であるべきであり、入力は、特定の操作が行われる順序を含んで、システムをより確定的にする助けとなることができる。これらのシステムの利点は、観戦目的のためにサーバに至るまで送信されることが必要なデータ量を低減させることである。
【００９５】
観戦者ゲームサーバ７２０上のゲームエンジン７２２は、プレイヤのコンピュータシステム７０４からの受信された入力データ７１６またはゲーム状態データ７１８に基づいて、拡大された（たとえば、１５０度）視野（ＦＯＶ）ゲームプレイ動画７２４をレンダリングする。上記に論じられた実施態様によれば、観戦者は、プレイヤが元々見ていたものを越えて見ることができる。たとえば、観戦者コンピュータ７４０は、拡大されたＦＯＶ動画７２４の一部分のストリーミング再生を管理するためのストリーミングマネージャ７４２を含んでもよい。観戦者コンピュータ７４０は、たとえば、観戦中にＨＭＤ７４８の画像を撮像するカメラ７４６からの撮像された画像データに（少なくとも一部）基づいて、観戦者７５０が装着しているＨＭＤ７４８の姿勢を追跡するように構成されたＨＭＤ追跡モジュール７４４を含む。観戦者コンピュータ７４０は、動画サーバ７２６に観戦者７５０のビュー方向を示すビュー方向データ７３４を送信することができる。観戦者ビューアアプリケーション７２８は、ビュー方向データ７３４を処理して、観戦者のための視野を定義付け、適切な動画データ７３６を生成し、ＨＭＤ７４８にレンダリングするために観戦者コンピュータ７４０のストリーミングマネージャ７４２に送信する。
【００９６】
いくつかの実施態様においては、入力データ７１６及び／またはゲーム状態データ７１８が、ライブストリーミングのために観戦者ゲームサーバ７２０にアップロードされ得ることは認識されるであろう。一方、他の実施態様においては、入力データ及び／またはゲーム状態データは、アップロードされ、後の使用のために記憶され得る。
【００９７】
したがって、いくつかの実施態様においては、プレイヤシステム７０４は、観戦者ゲームサーバ７２０にゲーム状態更新情報を送信する。観戦者ゲームサーバ７２０は、動画を超広拡大視野によりステレオでレンダリングする（ＨＭＤ観戦の場合、たとえば、元のゲームプレイは、通常の非ＨＭＤ（非ステレオ）ディスプレイ上にあった可能性がある）。ビュー方向データ７３４に基づいて確定される拡大された視野のサブセットビューは、観戦者コンピュータ７４０にストリーミングされる。他の実施態様においては、静的（立体的）拡大ＦＯＶ動画７３２は、後の観戦者視聴のために動画ストレージ７３０に記憶され得る。
【００９８】
しかしながら、他の実施態様においては、観戦者７５０のビュー方向データ７３８（たとえば、ＨＭＤ姿勢データ）は、観戦者ゲームサーバ７２２に送信でき、この観戦者ゲームサーバ７２２は、ビュー方向データ７３８を処理して、観戦者の視野にとって適切な動画コンテンツを、ビュー方向データ７３８を使用してゲームエンジン７２２を実行することによって、直接、生成する。図７を参照すると、そのような動画は、ＨＭＤ７４８にレンダリングするために、観戦者コンピュータ７４０に動画サーバ７２６によってストリーミングされ得る。そのような実施態様においては、観戦者の視野を越えた領域のレンダリングは、観戦者のビュー方向が、すでに、ビデオゲームの観戦者ゲームサーバ７２０の実行によって説明されているとき必要でない。
【００９９】
さらには、観戦者の視野のために生成される動画コンテンツは、元のプレイヤに視聴されたものよりも高い忠実度においてレンダリングされ得る。たとえば、観戦者の動画は、ビデオゲームのより高い忠実性の視聴体験を提供する、より高いフレームレート、上昇した詳細レベル、より大きく補間されたモーションなどにおいてレンダリングされ得る。これは、特に、元のプレイヤのものとは異なる観戦者ビューをレンダリングする場合とすることができる。プレイヤのセッションの場合、プレイヤの視野の特定の部分のグラフィカル忠実度は、優先されておらず、たとえば、他の部分を有利にしていてもよい。しかし、観戦者のビューの場合、特に観戦者がそのような部分を見ている場合には、観戦者動画のために、それらのグラフィカル忠実度は、上昇及び／または優先され得る。
【０１００】
いくつかの実施態様においては、広ＦＯＶレンダリングを保存する代わりに、ゲーム状態が保存される。つまり、観戦者ゲームサーバ７２０は、ゲーム状態それ自体をアーカイブする。観戦者コンピュータ７４０は、観戦者ゲームサーバ７２０に接続し、ビュー方向データ７３８（たとえば、観戦者の目／ＨＭＤの場所／姿勢データなどの頭部追跡情報）を観戦者ゲームサーバ７２０に送信することができる。観戦者ゲームサーバは、観戦者の頭部追跡情報、及びプレイヤのゲーム状態を処理し、観戦者の視点からのプレイヤの行為の結果を再レンダリングすることができる。したがって、レンダリングは、ライブ、またはオンデマンドで行なうことができる。ゲームエンジン７２２のゲーム状態は、ゲーム状態のアーカイブに基づいてリアルタイムで更新されるが、レンダリングは、観戦者のビューポイントに基づいて行われ、それにより、完全に新しいビューポイントが可能になる。
【０１０１】
いくつかの実施態様においては、休止機能が設けられ、ここで、観戦者は、ゲーム状態の更新を停止することができるが、観戦者は、依然として、仮想空間の自分のビューを調整すること、またはさらには仮想空間内の新規位置に移動し、異なる視点から仮想空間を吟味することができる。
【０１０２】
いくつかの実施態様においては、観戦者は、ゲームの仮想空間内でプレイヤの位置とは異なる位置に移動することができる。これは、以前には生成されなかった興味深いビューを提供することができる。しかし、いくつかの場合においては、観戦者がメインプレイヤキャラクタからあまりに遠くはぐれた場合（たとえば、ＡＩキャラクタは、まだトリガされていないので、不活発である場合があり得る）、これは、メインプレイヤキャラクタからあまりに遠く離れたところから視聴した場合にゲームの中には面白くないものがある場合もあるので、あまり理想的ではない可能性もあり得る。しかしながら、全ゲーム世界が常にライブである場合には、これは、観戦者に面白い体験を提供する可能性もあり得る。
【０１０３】
ビデオゲームの再レンダリングを提供する実施態様は、観戦者が自分の頭部を移動させる、またはその方向を変えたとき、頭部移動及び回転のすべての視差効果などを提供することができるので、より忠実な３Ｄ体験を提供することができる。観戦者の頭部が移動し、回転したとき、観戦者の平行移動し回転した頭部場所／向きを説明する正確な画像を提供することができる。観戦者の目の瞳孔距離（目と目の間の距離）についての正しい画像をレンダリングし、観戦者が有するＨＭＤの具体的なモデルについてレンダリングすることがさらに可能である。
【０１０４】
再レンダリングは、観戦者（たとえば、観戦者コンピュータ）に、クラウドまたはローカルのいずれかで起こり得る。観戦者にローカルに再レンダリングを行う１つの便益は、これが、動画のストリーミングよりも少ないデータ帯域幅を必要とする入力データまたはゲーム状態のストリーミングしか必要としないことである。ローカルに再レンダリングを行う第２の利点は、観戦者ＨＭＤ姿勢の検出された変化と、そのような変化に応答する再レンダリングされた視覚提供との間のレイテンシが著しく低減し得ることである。
【０１０５】
いくつかの実施態様においては、広／拡大ＦＯＶレンダリングは、クラウドにおいて行うことができ、それにより、動画は記憶でき、次いで広／拡大ＦＯＶのサブセットビューは、観戦者にストリーミングされ得る。
【０１０６】
いくつかの実施態様においては、ビデオゲームに対する修正が、本明細書において特定される機能を可能するために行われてもよいことが認識されるであろう。
【０１０７】
プレイヤのゲームビルド（ＨＭＤであっても、または非ＨＭＤのゲームであってもよい）は、それが、定期的に（たとえば、１２０回／秒）クラウドにゲーム状態データをアップロードするように、ゲーム状態をストリーミングするように修正され得る。時間周期は、更新が送信される頻度、及び更新そのものの割合の観点で柔軟性があり、たとえば、１／６０秒のゲーム状態増分を送信することが可能になるが、それらを６０個にパッケージ化し、一度に１秒それらを送信することが可能になり、または１０フレームごとのゲーム状態増分を送信し、したがって、ゲーム状態更新の１／１０を送信し、１０フレームにわたって補間される必要があるゲーム状態要素のうちのいくつかにフラグ付けすることが可能になる。
【０１０８】
したがって、ゲームビルドは、一部のものを補間するが、他のものを補間しないようにコード化され得る。あらゆるフレームの価値が送信されるべき特定のデータが存在する場合がある一方、他のデータは補間でき、そのため、データの１／１０が送信され、クラウドシステムは、残りを補間する。たとえば、実際のゲーム状態を共有している場合、プレイヤがどこにいて、彼がどちらを向いているかを知ることは非常に重要になり得、したがって、そのためのデータのあらゆるフレームの価値が送信され、一方、誰かが銃を撃ち、画面を横切って進む弾丸が存在する場合、弾丸は、直線に進む場合もあり得、したがって、ゲームビルドは、弾丸の場所に１０フレーム毎のデータ価値のうち１つを与え、残りが補間されることになることを予想するように構成され得ることもある。したがって、異なるものに異なるデータレートを有することが可能になる。どのものにどのデータレートを適用すべきであるかの決定は、ルックアップテーブルから確定され得ることになる。
【０１０９】
観戦者のゲームビルドは、クラウドまたはローカルの観戦者マシンにおいて実行するように構成され得る。ゲーム状態データがプレイヤのゲームビルドによって提供される実施態様においては、ゲーム状態を更新するゲームの部分は、観戦者のビルドには、それがすでにこれらの更新された状態を受信しており、それらに基づいて観戦者のビューをレンダリングすることになっているので必要ではない。
【０１１０】
プレイヤのゲームビルド及び観戦者のゲームビルドについてのゲームビルドに対する上記の修正により、それが再現を行う実際のゲームであるため、元のプレイヤが何を見ていたかについて非常に高い品質の再現を提供することが可能である。
【０１１１】
本開示の実施態様は、ゲームストリームをアップロードするプレイヤのシステムが、全動画をアップロードする必要はないが、ゲーム状態情報をアップロードすることができ、クラウドサーバまたは観戦者のコンソールのいずれかが、そのゲーム状態を受諾し、画像をレンダリングすることができるという利点を提供する。クラウドサーバの場合においては、クラウドサーバは、動画をレンダリングし、それを観戦者にストリーミングする。レンダリングがクラウドサーバによって行われない場合には、クラウドサーバは、単にゲーム状態を観戦者コンソールに配布する。
【０１１２】
いくつかのクラウドゲーミング実施態様においては、プレイヤ入力は、クラウドゲーミングサーバに送信され、このクラウドゲーミングサーバは、それらの入力を取得し、ゲームを実行し、動画をレンダリングし、それをプレイヤに戻すようにストリーミングする。この場合においては、観戦者は、動画ストリームを受信し、観戦者は、観戦者がどちらを見ているかを示す追加の入力を有することが可能になる。したがって、サーバは、プレイヤと観戦者の両方から入力（たとえば、観戦者からのカメラ方向、及びプレイヤからの入力）を受信することができ、次いで、ゲームをレンダリングし、それを観戦者に送信する。
【０１１３】
図８は、本開示の実施態様による、仮想空間のユーザのビューの中の変化を明示する、ビデオゲームの仮想空間の文脈における（観戦者）ユーザの頭部の俯瞰図を示している。ユーザの頭部８０２は、仮想空間におけるユーザのビューポイントならびに仮想空間における最初のビュー方向（参照記号８０６）を定義付ける最初の姿勢（位置及び向き）において示されている。そのため、ユーザの頭部の最初の姿勢においては、ユーザには、仮想空間８００の最初の視野８０８が与えられる。注記したように、ユーザの頭部の姿勢は、ユーザが装着しているＨＭＤの姿勢の追跡、ユーザの実環境におけるユーザの頭部の撮像された画像の分析、ユーザの頭部の他のオブジェクト／センサの追跡などを含む様々な頭部追跡方法から確定され得る。
【０１１４】
例示の実施態様においては、ユーザは、自分の頭部の方向を変え、したがって、仮想空間８００における更新されたビュー方向８１０を定義付ける。いくつかの実施態様においては、ユーザは、回転軸８０４の周りで自分の頭部を回転させることができ、一方、他の実施態様においては、ユーザは、（追加としてまたは代替として）自分の頭部を平行移動させるようにして動かすことができる。したがって、ビューポイントは、変化することがあり、ビュー方向は、更新されたビュー方向８１０に変化する。それに応じて、ユーザのビューは、更新された視野８１２へと回転角度だけ回転している。
【０１１５】
ユーザ（観戦者）がプレイヤのゲームプレイを観戦しているとき、そのような更新された視野８１２を生成するためには、観戦者の頭部の姿勢情報は、追跡され、ビデオゲームの観戦者バージョンに伝達され、このビデオゲームの観戦者バージョンは、姿勢情報を実行し処理して、更新された視野８１２を生成する。したがって、観戦者は、プレイヤのゲームプレイセッションを観戦しながら、プレイヤのビューのものとは異なる仮想空間の部分を視聴することができる。
【０１１６】
図９を参照すると、本開示の一実施形態により、ヘッドマウントディスプレイ１０２の構成要素を示す略図が示されている。ヘッドマウントディスプレイ１０２は、プログラム命令を実行するためのプロセッサ１３００を含む。メモリ１３０２が、ストレージの目的で設けられ、揮発性メモリと不揮発性メモリの両方を含むことができる。ユーザが視聴することができる仮想インターフェースを提供するディスプレイ１３０４が含まれている。バッテリ１３０６は、ヘッドマウントディスプレイ１０２のための電源として設けられる。モーション検出モジュール１３０８は、磁力計１３１０、加速度計１３１２、及びジャイロスコープ１３１４など、様々な種類のモーション感応ハードウェアのうちのいずれかを含んでよい。
【０１１７】
加速度計は、加速度、及び重力誘起反力を測定するためのデバイスである。単一の及び複数の軸モデルが、異なる方向における加速度の大きさ及び方向を検出するのに利用可能である。加速度計は、傾斜、振動、及び衝撃を感知するのに使用される。１つの実施形態においては、３つの加速度計１３１２を使用して、２つの角度（ワールド空間ピッチ及びワールド空間ロール）の絶対基準を与える重力の方向を提供する。
【０１１８】
磁力計は、ヘッドマウントディスプレイの近傍における磁場の強度及び方向を測定する。１つの実施形態においては、３つの磁力計１３１０が、ヘッドマウントディスプレイ内で使用され、ワールド空間ヨー角度の絶対基準を確保する。１つの実施形態においては、磁力計は、±８０マイクロテスラの地球磁場にまたがるように設計されている。磁力計は、金属による影響を受け、単調なヨー測定に実際のヨーを提供する。磁場は、環境における金属に起因して歪曲でき、それにより、ヨー測定における歪曲が生じる。必要に応じて、この歪曲は、ジャイロスコープまたはカメラなどの他のセンサからの情報を使用して較正可能である。１つの実施形態においては、加速度計１３１２は、ヘッドマウントディスプレイ１０２の傾斜及び方位を得るために、磁力計１３１０と一緒に使用される。
【０１１９】
いくつかの実施態様においては、ヘッドマウントディスプレイの磁力計は、他の近くのデバイスの中の電磁石が不活発である時の間、読み取られるように構成されている。
【０１２０】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定する、または維持するためのデバイスである。１つの実施形態においては、３つのジャイロスコープ１３１４が、慣性感知に基づいて、それぞれの軸（ｘ、ｙ、及びｚ）を横切る移動に関する情報を提供する。ジャイロスコープは、高速回転を検出する際の助けとなる。しかしながら、ジャイロスコープは、絶対基準の存在なしで経時的にドリフトし得る。これには、ジャイロスコープを定期的に再設定することが必要であり、それは、オブジェクトの視覚追跡、加速度計、磁力計などに基づいた場所／向きの確定など、他の利用可能な情報を使用して行うことができる。
【０１２１】
カメラ１３１６は、実環境の画像及び画像ストリームを撮像するために設けられる。後ろ向きの（ユーザがヘッドマウントディスプレイ１０２のディスプレイを視聴しているとき、ユーザから離れるように方向付けられた）カメラと、前向きの（ユーザがヘッドマウントディスプレイ１０２のディスプレイを視聴しているとき、ユーザに向かうように方向付けられた）カメラとを含む、複数のカメラが、ヘッドマウントディスプレイ１０２の中に含まれていてよい。加えて、深さカメラ１３１８は、現実環境におけるオブジェクトの深さ情報を感知するために、ヘッドマウントディスプレイ１０２の中に含まれていてもよい。
【０１２２】
ヘッドマウントディスプレイ１０２は、音声出力を提供するためのスピーカ１３２０を含む。また、マイクロフォン１３２２が、周囲環境からの音、ユーザによってなされる発話などを含む、実環境からの音声を捕捉するために含まれていてもよい。ヘッドマウントディスプレイ１０２は、ユーザに触覚フィードバックを提供するための触覚フィードバックモジュール１３２４を含む。１つの実施形態においては、触覚フィードバックモジュール１３２４は、ユーザに触覚フィードバックを提供するようにするために、ヘッドマウントディスプレイ１０２の移動及び／または振動を生じさせることができる。
【０１２３】
ＬＥＤ１３２６は、ヘッドマウントディスプレイ１０２の状況の視覚的インジケータとして設けられる。たとえば、ＬＥＤは、バッテリレベル、電源オンなどを示すことができる。カードリーダ１３２８は、ヘッドマウントディスプレイ１０２が、メモリカードとの間で情報を読み取り、書き込むことができるようにするために設けられる。ＵＳＢインターフェース１３３０は、周辺デバイスの接続、または他のポータブルデバイス、コンピュータなどの他のデバイスへの接続を可能にするためのインターフェースの一例として含まれている。ヘッドマウントディスプレイ１０２の様々な実施形態においては、様々な種類のインターフェースのうちのいずれかが、ヘッドマウントディスプレイ１０２のより大きい接続性を可能にするために含まれていてよい。
【０１２４】
ＷｉＦｉモジュール１３３２は、ワイヤレスネットワーキング技術を介してインターネットまたはローカルエリアネットワークへの接続を可能にするために含まれている。また、ヘッドマウントディスプレイ１０２は、他のデバイスとのワイヤレス接続を可能にするためのＢｌｕｅｔｏｏｔｈ（登録商標）モジュール１３３４を含む。通信リンク１３３６もまた、他のデバイスとの接続のために含まれていてもよい。１つの実施形態においては、通信リンク１３３６は、赤外線伝送を利用して、ワイヤレス通信する。他の実施形態においては、通信リンク１３３６は、様々なワイヤレスまたはワイヤードの伝送プロトコルのうちのいずれかを利用して、他のデバイスと通信することができる。
【０１２５】
入力ボタン／センサ１３３８は、ユーザに入力インターフェースを提供するために含まれている。ボタン、タッチパッド、ジョイスティック、トラックボールなどの様々な種類の入力インターフェースのうちのいずれかが、含まれていてよい。超音波通信モジュール１３４０が、超音波技術を介して他のデバイスとの通信を容易にするためにヘッドマウントディスプレイ１０２に含まれていてよい。
【０１２６】
バイオセンサ１３４２は、ユーザからの生理学的データの検出を可能にするために含まれている。１つの実施形態においては、バイオセンサ１３４２は、ユーザの皮膚を介してユーザの生体電気信号を検出するための１つまたは複数のドライ電極を含む。
【０１２７】
動画入力１３４４は、ＨＭＤにおけるレンダリングのための一次処理コンピュータ（たとえば、メインゲームコンソール）から動画信号を受信するように構成されている。いくつかの実施態様においては、動画入力は、ＨＤＭＩ（登録商標）入力である。
【０１２８】
ヘッドマウントディスプレイ１０２の前述の構成要素は、ヘッドマウントディスプレイ１０２の中に含まれ得る単なる例示的な構成要素として説明されている。本開示の様々な実施形態においては、ヘッドマウントディスプレイ１０２は、様々な上述の構成要素のうちの一部を含んでいても、または含んでいなくてもよい。ヘッドマウントディスプレイ１０２の実施形態は、加えて、本明細書に説明されている本開示の態様を容易にする目的で、本明細書では、説明されていないが、当技術分野において知られている他の構成要素を含んでもよい。
【０１２９】
図１０は、本開示の様々な実施形態による、ゲームシステム１４００のブロック略図である。ゲームシステム１４００は、ネットワーク１４１５を介して１つまたは複数のクライアント１４１０に動画ストリームを提供するように構成されている。ゲームシステム１４００は、典型的には、動画サーバシステム１４２０と、オプションのゲームサーバ１４２５を含む。動画サーバシステム１４２０は、１つまたは複数のクライアント１４１０に対する動画ストリームに最小のサービス品質を提供するように構成されている。たとえば、動画サーバシステム１４２０は、ビデオゲーム内でビューの状態またはポイントを変化させるゲームコマンドを受信し、クライアント１４１０に、状態のこの変化を最小の遅延時間に対して反映させる更新済み動画ストリームを提供することができる。動画サーバシステム１４２０は、まだ定義付けるべきフォーマットを含む、多種多様な代替の動画フォーマットにおける動画ストリームを提供するように構成され得る。さらには、動画ストリームは、多種多様なフレームレートにおいて、ユーザに提示するように構成された動画フレームを含むことができる。典型的なフレームレートは、毎秒３０フレーム、毎秒６０フレーム、及び毎秒１２０フレームであるが、より高い、またはより低いフレームレートが、本開示の代替の実施形態に含まれている。
【０１３０】
本明細書においては、個々に１４１０Ａ、１４１０Ｂなどと称されるクライアント１４１０には、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話器、セットトップボックス、キオスク、ワイヤレスデバイス、デジタルパッド、スタンドアロンデバイス、及び／またはハンドヘルドゲームプレイングデバイスなどを挙げることができる。典型的には、クライアント１４１０は、符号化された動画ストリームを受信し、動画ストリームを復号し、結果として生じる動画をユーザ、たとえば、ゲームのプレイヤに提示するように構成されている。符号化された動画ストリームを受信する、及び／または動画ストリームを復号する処理は、典型的には、クライアントの受信バッファに個々の動画フレームを記憶することを含む。動画ストリームは、クライアント１４１０と一体のディスプレイにおいて、またはモニタもしくはテレビなどの別個のデバイスにおいて、ユーザに提示され得る。クライアント１４１０は、オプションで、複数人のゲームプレイヤをサポートするように構成されている。たとえば、ゲームコンソールは、２人、３人、または４人以上の同時プレイヤをサポートするように構成され得る。これらのプレイヤはそれぞれ、別個の動画ストリームを受信することができ、または単一の動画ストリームは、特に、プレイヤごとに生成された、たとえば、各プレイヤのビューポイントに基づいて生成された、１つのフレームの領域を含むことができる。クライアント１４１０は、オプションで、地理的に分散されている。ゲームシステム１４００に含まれているクライアントの数は、１もしくは２から数千、または数万以上まで、大きく異なっていてよい。本明細書に使用されるとき、「ゲームプレイヤ」という用語は、ゲームをプレイする人を示すのに使用され、「ゲームプレイングデバイス」という用語は、ゲームをプレイするのに使用されるデバイスを示すのに使用される。いくつかの実施形態においては、ゲームプレイングデバイスは、ユーザにゲーム体験をもたらすのに協働する複数のコンピューティングデバイスを示す場合がある。たとえば、ゲームコンソール及びＨＭＤは、動画サーバシステム１４２０と協働して、ＨＭＤを介して視聴されるゲームを配信することが可能である。１つの実施形態においては、ゲームコンソールは、動画サーバシステム１４２０から動画ストリームを受信し、ゲームコンソールは、ＨＭＤに対して、動画ストリームを転送し、または動画ストリームに更新してレンダリングする。
【０１３１】
クライアント１４１０は、ネットワーク１４１５を介して動画ストリームを受信するように構成されている。ネットワーク１４１５は、電話網、インターネット、ワイヤレスネットワーク、電力線網、ローカルエリアネットワーク、広域ネットワーク、及び／またはプライベートネットワークなどを含む、任意のタイプの通信ネットワークとすることができる。典型的な実施形態においては、動画ストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰなどの標準プロトコルを介して伝達される。代替として、動画ストリームは、独自の標準を介して伝達される。
【０１３２】
クライアント１４１０の一典型的例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号論理機構、ネットワーク通信機能、及び入力デバイスを備えるパーソナルコンピュータである。復号論理機構は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体において記憶されているソフトウェアを含むことができる。動画ストリームを復号する（及び符号化する）ためのシステムは、当技術分野においてはよく知られており、使用される特定の符号化スキームに応じて変わる。
【０１３３】
クライアント１４１０は、必須ではないが、受信された動画を修正するように構成されたシステムをさらに含んでもよい。たとえば、クライアントは、さらにレンダリング行うこと、別の動画画像に１つの動画画像をオーバーレイすること、及び／または動画画像をクロップすることなどを行なうように構成され得る。たとえば、クライアント１４１０は、Ｉフレーム、Ｐフレーム、及びＢフレームなど、様々なタイプの動画フレームを受信し、これらのフレームを処理して画像にして、ユーザに表示するように構成され得る。いくつかの実施形態においては、クライアント１４１０の一メンバは、動画ストリームにおいてさらなるレンダリング、シェーディング、または３Ｄへの変換などの操作を行なうように構成されている。クライアント１４１０の一メンバは、オプションで、複数の音声ストリームまたは動画ストリームを受信するように構成されている。クライアント１４１０の入力デバイスは、たとえば、片手ゲームコントローラ、両手ゲームコントローラ、ジェスチャ認識システム、視線認識システム、声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、モーション及び／または位置感知デバイス、マウス、タッチ画面、神経インターフェース、カメラ、及び／またはまだ開発すべき入力デバイスなどを含むことができる。
【０１３４】
クライアント１４１０によって受信される動画ストリーム（及びオプションで音声ストリーム）は、動画サーバシステム１４２０によって生成され、提供される。本明細書において他の場所でさらに説明されているように、この動画ストリームは、動画フレームを含む（及び音声ストリームは、音声フレームを含む）。動画フレームは、ユーザに表示される画像に有意に寄与するように構成されている（たとえば、動画フレームは、適切なデータ構造体にピクセル情報を含む）。本明細書において使用されるとき、「動画フレーム」という用語は、ユーザに示される画像に寄与する、たとえば、その画像をもたらすように構成されている情報を主に含むフレームを示すのに使用される。「動画フレーム」に関する本明細書における教示のほとんどは、「音声フレーム」にも適用可能である。
【０１３５】
クライアント１４１０は、典型的には、ユーザから入力を受信するように構成されている。これらの入力は、ビデオゲームの状態を変更する、またはそうでなければゲームプレイに影響を及ぼすように構成されたゲームコマンドを含むことができる。ゲームコマンドは、入力デバイスを使用して受信でき、及び／またはクライアント１４１０において実行するコンピューティング命令によって自動的に生成され得る。受信されたゲームコマンドは、クライアント１４１０からネットワーク１４１５を介して動画サーバシステム１４２０及び／またはゲームサーバ１４２５に伝達される。たとえば、いくつかの実施形態においては、ゲームコマンドは、動画サーバシステム１４２０を介してゲームサーバ１４２５に伝達される。いくつかの実施形態においては、ゲームコマンドの別個のコピーが、クライアント１４１０からゲームサーバ１４２５及び動画サーバシステム１４２０に伝達される。ゲームコマンドの伝達は、オプションで、コマンドの特性によって決まる。ゲームコマンドは、オプションで、クライアント１４１０Ａから、音声ストリームまたは動画ストリームをクライアント１４１０Ａに提供するのに使用される異なるルートまたは通信チャネルを介して伝達される。
【０１３６】
ゲームサーバ１４２５は、オプションで、動画サーバシステム１４２０とは異なるエンティティによって操作される。たとえば、ゲームサーバ１４２５は、マルチプレイヤゲームの製作会社によって操作され得る。この例においては、動画サーバシステム１４２０は、オプションで、ゲームサーバ１４２５によってクライアントとして視聴され、オプションで、従来技術のゲームエンジンを実行する従来技術のクライアントであるようにゲームサーバ１４２５のビューポイントからは見えるように構成されている。動画サーバシステム１４２０とゲームサーバ１４２５との間の通信は、オプションで、ネットワーク１４１５を介して行なわれる。したがって、ゲームサーバ１４２５は、複数のクライアントにゲーム状態情報を送信する従来技術のマルチプレイヤゲームサーバとすることができ、そのうちの１つが、ゲームサーバシステム１４２０である。動画サーバシステム１４２０は、同時に、ゲームサーバ１４２５の複数のインスタンスと通信するように構成され得る。たとえば、動画サーバシステム１４２０は、複数の異なるビデオゲームを異なるユーザに提供するように構成され得る。これらの異なるビデオゲームはそれぞれ、異なるゲームサーバ１４２５によってサポートされ、及び／または異なるエンティティによって制作され得る。いくつかの実施形態においては、動画サーバシステム１４２０のいくつかの地理的に分散されたインスタンスは、ゲーム動画を複数の異なるユーザに提供するように構成されている。動画サーバシステム１４２０のこれらのインスタンスはそれぞれ、ゲームサーバ１４２５の同じインスタンスと通信することができる。動画サーバシステム１４２０と１つまたは複数のゲームサーバ１４２５との間の通信は、オプションで、専用の通信チャネルを介して行なわれる。たとえば、動画サーバシステム１４２０は、これらの２つのシステム間の通信に専用の高帯域幅チャネルを介してゲームサーバ１４２５に接続され得る。
【０１３７】
動画サーバシステム１４２０は、少なくとも、動画ソース１４３０、Ｉ／Ｏデバイス１４４５、プロセッサ１４５０、及び非一時的ストレージ１４５５を備える。動画サーバシステム１４２０は、１つのコンピューティングデバイスを含んでいても、または複数のコンピューティングデバイスの中に分散されていてもよい。これらのコンピューティングデバイスは、オプションで、ローカルエリアネットワークなどの通信システムを介して接続される。
【０１３８】
動画ソース１４３０は、動画ストリーム、たとえば、ストリーミング動画、または映画を形成する一連の動画フレームを提供するように構成されている。いくつかの実施形態においては、動画ソース１４３０は、ビデオゲームエンジン及びレンダリング論理機構を含む。ビデオゲームエンジンは、プレイヤからのゲームコマンドを受信し、受信されたコマンドに基づいて、ビデオゲームの状態のコピーを維持するように構成されている。このゲーム状態は、ゲーム環境におけるオブジェクトの部分、ならびに典型的にはビューポイントを含む。ゲーム状態はまた、オブジェクトのプロパティ、画像、色、及び／またはテクスチャを含んでもよい。ゲーム状態は、典型的には、ゲームルール、ならびに移動する、方向を変える、攻撃する、焦点を定める、対話する、及び／または使用するなどのゲームルールに基づいて維持される。ゲームエンジンの一部は、オプションで、ゲームサーバ１４２５内に配置される。ゲームサーバ１４２５は、地理的分散クライアントを使用して複数のプレイヤから受信されたゲームコマンドに基づいて、ゲームの状態のコピーを維持することができる。これらの場合においては、ゲーム状態は、ゲームサーバ１４２５によって動画ソース１４３０に提供され、ここで、ゲーム状態のコピーが記憶され、レンダリング行なわれる。ゲームサーバ１４２５は、ネットワーク１４１５を介してクライアント１４１０から直接、ゲームコマンドを受信することができ、及び／または動画サーバシステム１４２０を介してゲームコマンドを受信することができる。
【０１３９】
動画ソース１４３０は、典型的には、レンダリング論理機構、たとえば、ハードウェア、ファームウェア、及び／またはストレージ１４５５などのコンピュータ可読媒体において記憶されているソフトウェアを含む。このレンダリング論理機構は、ゲーム状態に基づいて、動画ストリームの動画フレームを作成するように構成されている。レンダリング論理機構のすべてまたは一部は、オプションで、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）内に配置される。レンダリング論理機構は、典型的には、ゲーム状態及びビューポイントに基づいて、オブジェクト間の三次元の空間的関係を確定するように、及び／または適切なテクスチャなどを適用するように構成された処理段階を含む。レンダリング論理機構は、生の動画を生み出し、次いで、この生の動画は、普通は、クライアント１４１０への伝達に先立って符号化される。たとえば、生の動画は、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）標準、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ．Ｘｖｉｄ．ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６〜８、ｒｅａｌｖｉｄｅｏ、またはｍｐ３などに従って、符号化され得る。符号化処理は、オプションでリモートデバイス上の復号器に配信するためにパッケージ化される動画ストリームを生み出す。動画ストリームは、フレームサイズ及びフレームレートによって特徴付けられる。典型的なフレームサイズには、８００×６００、１２８０×７２０（たとえば、７２０ｐ）、１０２４×７６８が挙げられるが、任意の他のフレームサイズが使用されてもよい。フレームレートは、１秒当たりの動画フレームの数である。動画ストリームは、異なるタイプの動画フレームを含むことができる。たとえば、Ｈ．２６４標準は、「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉフレームは、ディスプレイデバイス上のすべてのマクロブロック／ピクセルをリフレッシュするための情報を含み、一方、Ｐフレームは、そのサブセットをリフレッシュするための情報を含む。Ｐフレームは、典型的には、データサイズがＩフレームよりも小さい。本明細書において使用されるとき、「フレームサイズ」という用語は、一フレーム内のピクセル数を示すように意味される。「フレームデータサイズ」という用語は、フレームを記憶するのに必要なバイト数を示すように意味される。
【０１４０】
代替の実施形態においては、動画ソース１４３０は、カメラなどの動画録画デバイスを含む。このカメラは、コンピュータゲームの動画ストリームに含まれている場合がある遅延のまたはライブの動画を生成するのに使用され得る。結果として生じる動画ストリームは、オプションで、レンダリングされた画像と、スチールカメラまたは動画カメラを使用して録画される画像との両方を含む。動画ソース１４３０はまた、動画ストリームに含まれることになるあらかじめ録画された動画を記憶するように構成されたストレージデバイスを含むことができる。動画ソース１４３０はまた、オブジェクト、たとえば、人のモーションもしくは場所を検出するように構成されたモーションまたはポジショニング感知デバイスと、検出されたモーション及び／または場所に基づいて、ゲーム状態を確定し、または動画を生み出すように構成された論理機構とを含むことができる。
【０１４１】
動画ソース１４３０は、オプションで、他の動画に置かれるように構成されたオーバーレイを提供するように構成されている。たとえば、これらのオーバーレイは、コマンドインターフェース、ログイン命令、ゲームプレイヤへのメッセージ、他のゲームプレイヤの画像、他のゲームプレイヤの動画フィード（たとえば、ウェブカム動画）を含むことができる。タッチ画面インターフェース、または視線検出インターフェースを含むクライアント１４１０Ａの実施形態においては、オーバーレイは、仮想キーボード、ジョイスティック、及び／またはタッチパッドなどを含んでもよい。オーバーレイの１つの例においては、プレイヤの声は、音声ストリームにオーバーレイされる。動画ソース１４３０は、オプションで、１つまたは複数の音声ソースをさらに含む。
【０１４２】
動画サーバシステム１４２０が、複数人のプレイヤからの入力に基づいて、ゲーム状態を維持するように構成されている実施形態においては、各プレイヤは、ビューの場所及び方向を含む異なるビューポイントを有し得る。動画ソース１４３０は、オプションで、各プレイヤの別個の動画ストリームを、彼らのビューポイントに基づいて提供するように構成されている。さらには、動画ソース１４３０は、クライアント１４１０のそれぞれに、異なるフレームサイズ、フレームデータサイズ、及び／または符号化を提供するように構成され得る。動画ソース１４３０は、オプションで、３Ｄ動画を提供するように構成されている。
【０１４３】
Ｉ／Ｏデバイス１４４５は、動画サーバシステム１４２０が、動画、コマンド、情報の要求、ゲーム状態、視線情報、デバイスモーション、デバイス位置、ユーザモーション、クライアント特性、プレイヤ特性、ゲームコマンド、セキュリティ情報、及び／または音声などの情報を送信及び／または受信するように構成されている。Ｉ／Ｏデバイス１４４５は、典型的には、ネットワークカードまたはモデムなどの通信ハードウェアを含む。Ｉ／Ｏデバイス１４４５は、ゲームサーバ１４２５、ネットワーク１４１５、及び／またはクライアント１４１０と通信するように構成されている。
【０１４４】
プロセッサ１４５０は、本明細書において論じられている動画サーバシステム１４２０の様々な構成要素内に含まれている論理機構、たとえば、ソフトウェアを実行するように構成されている。たとえば、プロセッサ１４５０には、動画ソース１４３０、ゲームサーバ１４２５、及び／またはクライアントクオリファイア１４６０の機能を行なうために、ソフトウェア命令がプログラミングされ得る。動画サーバシステム１４２０は、オプションで、プロセッサ１４５０の複数のインスタンスを含む。プロセッサ１４５０もまた、動画サーバシステム１４２０によって受信されるコマンドを実行するため、または本明細書において論じられているゲームシステム１４００の様々な要素の動作を調整するために、ソフトウェア命令がプログラミングされ得る。プロセッサ１４５０は、１つまたは複数のハードウェアデバイスを含むことができる。プロセッサ１４５０は、電子プロセッサである。
【０１４５】
ストレージ１４５５は、非一時的アナログ及び／またはデジタルストレージデバイスを含む。たとえば、ストレージ１４５５は、動画フレームを記憶するように構成されたアナログストレージデバイスを含むことができる。ストレージ１４５５は、コンピュータ可読デジタルストレージ、たとえば、ハードドライブ、光学ドライブ、またはソリッドステートストレージを含むことができる。ストレージ１４１５は、動画フレーム、人工フレーム、動画フレームと人工フレームの両方を含む動画ストリーム、音声フレーム、及び／または音声ストリームなどを記憶するように（たとえば、適切なデータ構造体またはファイルシステムによって）構成されている。ストレージ１４５５は、オプションで、複数のデバイスの中に分散されている。いくつかの実施形態においては、ストレージ１４５５は、本明細書において他の場所で論じられている動画ソース１４３０のソフトウェアコンポーネントを記憶するように構成されている。これらのコンポーネントは、必要に応じて、プロビジョニングされる準備ができているフォーマットで記憶され得る。
【０１４６】
動画サーバシステム１４２０は、オプションで、クライアントクオリファイア１４６０をさらに備える。クライアントクオリファイア１４６０は、クライアント１４１０Ａまたはクライアント１４１０Ｂなどのクライアントの機能をリモートで確定するように構成されている。これらの機能は、クライアント１４１０Ａそれ自体の機能、ならびにクライアント１４１０Ａと動画サーバシステム１４２０との間の１つまたは複数の通信チャネルの機能の両方を含むことができる。たとえば、クライアントクオリファイア１４６０は、ネットワーク１４１５を介して通信チャネルをテストするように構成され得る。
【０１４７】
クライアントクオリファイア１４６０は、クライアント１４１０Ａの機能を手動でまたは自動的に確定する（たとえば、発見する）ことができる。手動確定は、クライアント１４１０Ａのユーザと通信すること、及びユーザに機能を提供するように求めることを含む。たとえば、いくつかの実施形態においては、クライアントクオリファイア１４６０は、画像、及び／またはテキストなどをクライアント１４１０Ａのブラウザ内に表示するように構成されている。１つの実施形態においては、クライアント１４１０Ａは、ブラウザを含むＨＭＤである。別の実施形態においては、クライアント１４１０Ａは、ＨＭＤにおいて表示され得るブラウザを有するゲームコンソールである。表示されたオブジェクトは、ユーザが、クライアント１４１０Ａのオペレーティングシステム、プロセッサ、動画復号器タイプ、ネットワーク接続のタイプ、ディスプレイ解像度などの情報を入力することを要求する。ユーザによって入力される情報は、クライアントクオリファイア１４６０に戻るように伝達される。
【０１４８】
自動確定は、たとえば、クライアント１４１０Ａにおけるエージェントの実行によって、及び／またはテスト動画をクライアント１４１０Ａに送信することによって行なうことができる。エージェントは、ウェブページに埋め込まれ、またはアドオンとしてインストールされるジャバスクリプトなどのコンピューティング命令を含むことができる。エージェントは、オプションで、クライアントクオリファイア１４６０によって提供される。様々な実施形態においては、エージェントは、クライアント１４１０Ａの処理パワー、クライアント１４１０Ａの復号及び表示機能、クライアント１４１０Ａと動画サーバシステム１４２０との間の通信チャネルの遅延時間信頼性及び帯域幅、クライアント１４１０Ａのディスプレイタイプ、クライアント１４１０Ａにおいて存在するファイアウォール、クライアント１４１０Ａのハードウェア、クライアント１４１０Ａにおいて実行するソフトウェア、及び／またはクライアント１４１０Ａ内のレジストリエントリを見つけ出すことができる。
【０１４９】
クライアントクオリファイア１４６０は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体において記憶されているソフトウェアを含む。クライアントクオリファイア１４６０は、オプションで、動画サーバシステム１４２０の１つまたは複数の他の要素とは別個のコンピューティングデバイスにおいて配置される。たとえば、いくつかの実施形態においては、クライアントクオリファイア１４６０は、クライアント１４１０と動画サーバシステム１４２０の複数のインスタンスとの間の通信チャネルの特徴を確定するように構成されている。これらの実施形態においては、クライアントクオリファイアによって発見される情報は、動画サーバシステム１４２０のどのインスタンスが、クライアント１４１０のうちの１つに対するストリーミング動画の配信に最も適しているかを確定するのに使用され得る。
【０１５０】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルの家庭用電化製品、マイクロコンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成形態により実施され得る。本開示はまた、タスクが、ワイヤベースのまたはワイヤレスのネットワークを介してリンクされているリモート処理デバイスによって行なわれる、分散型コンピューティング環境においても実施され得る。
【０１５１】
上記実施形態を考慮すると、本開示は、コンピュータシステムにおいて記憶されているデータを伴う様々なコンピュータ実装動作を採用することができることを理解すべきである。これらの動作は、物理量の物理操作を必要とする動作である。本開示の一部を形成する本明細書において説明されている動作のうちのいずれも、有用なマシン動作である。本開示はまた、これらの動作を行なうためのデバイスまたは装置にも関する。装置は、特には、所要の目的で構築でき、または装置は、コンピュータにおいて記憶されているコンピュータプログラムによって選択的にアクティブ化または構成設定される汎用コンピュータとすることができる。具体的には、様々な汎用マシンは、本明細書における技法に従って記述されるコンピュータプログラムとともに使用でき、または所要の動作を行なうために、より特殊化された装置を構築することがより便利である場合もある。
【０１５２】
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとして具現化され得る。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、このデータは、その後、コンピュータシステムによって読み取ることが可能である。コンピュータ可読媒体の例には、ハードドライブ、ネットワークアタッチドストレージ（ＮＡＳ：ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学及び非光学データストレージデバイスが挙げられる。コンピュータ可読媒体は、ネットワーク結合コンピュータシステムを介して分散されているコンピュータ可読有形媒体を含むことができ、それにより、コンピュータ可読コードは、分散される形で記憶され、実行されることになる。
【０１５３】
方法動作を特定の順序で説明したが、オーバーレイ動作の処理が、所望のやり方で行なわれる限り、他のハウスキーピング動作が動作間で行なうことができ、または動作が、それらがわずかに異なる時に行なわれるように調整可能であり、もしくは処理に関連付けられる様々な間隔で処理動作の発生を可能にするシステムにおいて分散され得ることを理解すべきである。
【０１５４】
前述の開示は、理解を明確にする目的で、いくらか詳細に説明されているが、特定の変更及び修正が、添付の特許請求の範囲の範囲内で実施され得ることは明白であろう。したがって、本実施形態は、例示的と見なすべきであり、制限的とは見なすべきではなく、本開示は、本明細書において与えられる詳細に限定するものではなく、本開示の範囲及び等価物内で修正され得る。
【図１】
2020171721.tif 000003
【図２】
2020171721.tif 000004
【図３】
2020171721.tif 000005
【図４】
2020171721.tif 000006
【図５】
2020171721.tif 000007
【図６】
2020171721.tif 000008
【図７】
2020171721.tif 000009
【図８】
2020171721.tif 000010
【図９】
2020171721.tif 000011
【図１０】
2020171721.tif 000012
【手続補正書】
【提出日】令和2年7月14日(2020.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信し、前記ゲーム状態データは、前記プレイヤクライアントデバイスのゲームエンジンによって実行されるビデオゲームの第１のインスタンスの第１ゲーム状態から定義付けられるものであり、前記ビデオゲームの前記第１のインスタンスは、前記ビデオゲームの対話型ゲームプレイをレンダリングするように実行され、
前記ゲーミングサーバによって、前記受信されたゲーム状態データを前記ゲーミングサーバのゲームエンジンによって実行される前記ビデオゲームの第２のインスタンスに適用し、前記ビデオゲームの前記第２のインスタンスは、前記ゲーム状態データを処理して前記ビデオゲームの対話型ゲームプレイの広視野（ＦＯＶ）観戦者動画を生成するものであり、
動画サーバによって、観戦者クライアントデバイスからビュー方向データを受信し、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記動画サーバによって、前記ビュー方向データを適用して、前記広ＦＯＶ観戦者動画の一部分を特定し、前記広ＦＯＶ観戦者動画の前記一部分は、前記広ＦＯＶ観戦者動画の全エリアよりも小さい前記広ＦＯＶ観戦者動画のサブエリアであり、
前記観戦者クライアントデバイスに前記広ＦＯＶ観戦者動画の前記一部分をストリーミングして、前記ＨＭＤにおいてレンダリングする、方法。
【請求項２】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項１に記載の方法。
【請求項３】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項１に記載の方法。
【請求項４】
前記広ＦＯＶ観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項１に記載の方法。
【請求項５】
前記ビュー方向データは、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定する、請求項１に記載の方法。
【請求項６】
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、請求項５に記載の方法。
【請求項７】
前記広ＦＯＶ観戦者動画が、ストレージデバイスに記憶され、
前記ビュー方向データの適用には、前記ストレージデバイスから前記広ＦＯＶ観戦者動画を取り出すことが含まれる、
請求項１に記載の方法。
【請求項８】
前記方法は、前記ＨＭＤにおける前記広ＦＯＶ観戦者動画の前記一部分の前記レンダリングが、前記ビデオゲームの前記第１のインスタンスの実質的なライブ観戦を可能にするように、実質的にリアルタイムで行われる、請求項１に記載の方法。
【請求項９】
ゲーミングサーバによって、プレイヤクライアントデバイスからゲーム状態データを受信し、前記ゲーム状態データは、前記プレイヤクライアントデバイスのゲームエンジンによって実行されるビデオゲームの第１のインスタンスの第１ゲーム状態から定義付けられるものであり、前記ビデオゲームの前記第１のインスタンスは、前記ビデオゲームの対話型ゲームプレイをレンダリングするように実行され、
前記ゲーミングサーバによって、観戦者クライアントデバイスからビュー方向データを受信し、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記ゲーミングサーバによって、前記受信されたゲーム状態データを前記ゲーミングサーバのゲームエンジンによって実行される前記ビデオゲームの第２のインスタンスに適用し、前記ビデオゲームの前記第２のインスタンスは、前記ゲーム状態データを処理して、前記ビデオゲームの前記対話型ゲームプレイの観戦者動画をレンダリングするために用いられる第２のゲーム状態データを生成するものであり、
前記観戦者クライアントデバイスに前記観戦者動画をストリーミングして前記ＨＭＤにレンダリングを行う、方法。
【請求項１０】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項９に記載の方法。
【請求項１１】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項９に記載の方法。
【請求項１２】
前記観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項９に記載の方法。
【請求項１３】
前記ビュー方向データは、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定する、請求項９に記載の方法。
【請求項１４】
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、請求項１３に記載の方法。
【請求項１５】
前記方法は、前記ＨＭＤにおける前記観戦者動画の前記レンダリングが、前記ビデオゲームの前記第１のインスタンスの実質的なライブ観戦を可能にするように、実質的なリアルタイムで行われる、請求項９に記載の方法。
【請求項１６】
少なくとも１つのプロセッサ及び少なくとも１つのメモリを有する少なくとも１つのサーバコンピュータを含むシステムであって、前記少なくとも１つのサーバコンピュータはゲーミングサーバと動画サーバとを含むものであり、
前記ゲーミングサーバは、プレイヤクライアントデバイスからゲーム状態データを受信するように構成され、前記ゲーム状態データは、前記プレイヤクライアントデバイスのゲームエンジンによって実行されるビデオゲームの第１のインスタンスの第１ゲーム状態から定義付けられるものであり、前記ビデオゲームの前記第１のインスタンスは、前記ビデオゲームの対話型ゲームプレイをレンダリングするように実行され、
前記ゲーミングサーバは、前記受信されたゲーム状態データを前記ゲーミングサーバのゲームエンジンによって実行される前記ビデオゲームの第２のインスタンスに適用し、前記ビデオゲームの前記第２のインスタンスは、前記ゲーム状態データを処理して、前記ビデオゲームの前記対話型ゲームプレイの広視野（ＦＯＶ）観戦者動画を生成するようにさらに構成され、
前記動画サーバは、観戦者クライアントデバイスからビュー方向データを受信するように構成され、前記ビュー方向データは、ヘッドマウントディスプレイ（ＨＭＤ）の追跡された姿勢から確定されるものであり、
前記動画サーバは、前記ビュー方向データを適用して、前記広ＦＯＶ観戦者動画の一部分を特定するようにさらに構成され、前記広ＦＯＶ観戦者動画の前記一部分は、前記広ＦＯＶ観戦者動画の全エリアよりも小さい前記広ＦＯＶ観戦者動画のサブエリアであり、
前記動画サーバは、前記観戦者クライアントデバイスに前記広ＦＯＶ観戦者動画の前記一部分をストリーミングして前記ＨＭＤにレンダリングするようにさらに構成されている、システム。
【請求項１７】
前記ゲーム状態データが、前記プレイヤクライアントデバイスと通信しているコントローラデバイスから定義付けられる入力データ、１つもしくは複数のゲーム状態変数のうちの１つまたは複数の値、乱数または擬似乱数種、オブジェクトまたはプロパティの状態に対する更新のうちの１つあるいは複数を含む、請求項１６に記載のシステム。
【請求項１８】
前記ゲーム状態データを前記ビデオゲームの前記第２のインスタンスに適用することで、前記ビデオゲームの前記第１のインスタンスの前記ゲーム状態と実質的に類似する前記ビデオゲームの前記第２のインスタンスのゲーム状態が作り出される、請求項１６に記載のシステム。
【請求項１９】
前記広ＦＯＶ観戦者動画が、前記プレイヤクライアントデバイスによって前記ビデオゲームの前記第１のインスタンスからレンダリングされた一次動画の視野よりも大きい視野を有する、請求項１６に記載のシステム。
【請求項２０】
前記ビュー方向データが、前記ＨＭＤが配置される観戦者環境における前記ＨＭＤの向きを特定し、
前記ＨＭＤの前記追跡された姿勢が、前記ＨＭＤの少なくとも１つの慣性センサから及び／または前記観戦者環境の撮像された画像の分析から確定される、
請求項１６に記載のシステム。