本開示の以下の実施態様は、観客の体験を向上させるカスタマイズされたビューをHMDプレイヤの観客に提供する方法、システム、コンピュータ可読媒体、及び、クラウドシステムを提供する。一実施形態においては、観客は、例えば、HMDプレイヤに応答して生成されるもの等、視聴する特定の仮想現実(VR)環境を選択する能力を与えられる。
一実施形態においては、観客は、仮想現実環境を視聴する能力と、仮想現実コンテンツアイテムに近付くまたは遠ざかることによって、視聴しているコンテンツのスケーリングを自動的に制御する能力とを提供されてよい。一実施形態においては、観客が視聴しているコンテンツの自動スケーリングは、HMDプレイヤが視聴しているコンテンツを修正せず、仮想環境内の特定のコンテンツを視聴する観客にHMDプレイヤのビューに結び付けられない付加的レベルの自由を提供する。本明細書において、HMDのビューに結び付けられるということは、観客は、同じビュー及びビューへの同じ角度を与えられ、HMDプレイヤの動作も同様に観客のビューに押し付けられることを意味する。本明細書に記載の実施形態は、利点として、HMDプレイヤのビューとは切り離されたビューを観客に提供し、これは、観客が関心を持ち得る仮想環境内の特定の特徴を見る能力を高め、それにより、HMDプレイヤがナビゲートしているVR環境を異なる速度で移動し、異なる物を見る自由を提供する。
以下に述べるように、スケーリング機能は、観客が特定のコンテンツを見下ろす巨人であるかのように、特定のVRコンテンツへの異なる透視ビューまたはVRコンテンツの異なる透視ビューを提供できる。例えば、観客が、仮想現実環境の特定のアイテムをより近くで見る、または、そのアイテムに頭を近付ける場合、その仮想環境コンテンツは、より近くに現れ、また、観客は、自分が巨人であるかのように見える、または、感じる。
さらなる実施形態において、観客が、仮想現実環境とインタラクトでき、仮想現実環境の視野角を変更できる処理を提供する。この特徴は、例えば、観客が、コンテンツの方に手を伸ばし、コンテンツを把持または手に持って、コンテンツを別の視野角に移動するのを可能にする。その視野角は、観客により良い視聴位置を提供してよく、視聴位置は、観客がまっすぐ立っている、または、真っ直ぐ座っているのとは異なる。観客による視野角の移動及び調節によって、一人または複数の観客とHMD体験を共有しているHMDプレイヤに対してコンテンツは修正されない。このように、複数の観客が、異なる角度もしくは位置、または、見やすい場所で、コンテンツを有することができる、または、視聴でき、これは、個々の観客にとって最も快適であり得る。
一実施形態においては、観客は、仮想現実環境の新しいビューと視点を与えられる。このビュー及び視点は、プレオーサリングされてよい。仮想現実環境内に仮想現実ビュースポットをプレオーサリングすることにより、HMDプレイヤがナビゲートしている時、観客が仮想現実シーン内の関心を引くコンテンツを視聴する、または、観客が関心を引くコンテンツに焦点を合わせるのを容易にできる。一実施形態においては、複数のビュースポットが、HMDプレイヤがナビゲートしているゲームエリア、コンテンツ、マルチメディア、または、一般的なコンテンツの異なる場所内にプレオーサリングされてよい。これらのビューは、HMDプレイヤのナビゲーションに基づいて、予め選択され、観客に割り当てることができる。
一実施形態においては、これらのビューは、滑らかな提示フォーマットで提供でき、HMDプレイヤの正確な視線方向に厳密に結び付けられず、固定されない。さらに、観客に提供されるビューは、HMDプレイヤが生成したのと全く同じビューが観客に見せられた場合に一般的であるコンテンツの素早い動きを観客に見せないように提供されてもよい。観客は、仮想現実シーンのビューを制御していないので、仮に観客のビューがHMDプレイヤに直接結びつけられると、観客に提示されるコンテンツは、HMDプレイヤが頭を上下させたり、右または異なる方向に動かしたりする等、動きの速い時間を有することになる。一構成においては、観客ビューは、HMDプレイヤの動きの後を追うことができるが、観客が方向感覚を失うのを防ぐように、より滑らかな遅延を伴う。他の実施形態においては、観客ビューは、仮想現実環境内の異なる場所に固定できる。これらの固定された場所は、観客の関心を引く可能性があるとして、コンテンツ開発者によって選択される予め定められたスポットであってよい。代替実施形態においては、スポットは、例えば、HMDプレイヤの後を追うように移動できる。
ある実施形態においては、予め定められたスポットが、特定の観客に対して観客の好みに基づいて選択できる。観客が、ある種のコンテンツを視聴する好みを有する場合、仮想現実コンテンツ内のあるスポットが、その観客に対して選択できる。従って、異なる観客は、異なるスポットと、HMDプレイヤがナビゲートする仮想現実シーンへの視点とから異なるコンテンツを選択できる。さらに複数の観客が、例えば、Twitchタイプの共有を提供するウェブサイトを介して、HMDプレイヤコンテンツを視聴できるので、異なる観客は、仮想現実コンテンツ内の異なるビュースポットを有し得る。代替実施形態においては、全ての観客が、同じビュースポットから同じコンテンツを見ることができる。
さらに、観客が、Twitchタイプの共有を提供するウェブサイトを使用する場合、多くのHMDプレイヤコンテンツフィードが、提供でき、また、様々な観客によって選択可能になる。フィードは、HMDプレイヤのコンピュータからウェブサイトにインターネットを介して共有でき、ウェブサイトは、コンテンツを公開できる、及び/または、観客が視聴するためにコンテンツを選択できるようにする。例として、HMDプレイヤが、HMD体験の共有を決定する場合、その体験を観客が選択できる。そして、ビューの種類を選択する機能を観客に提供できる、または、HMDプレイヤのナビゲーションによって生成された仮想現実コンテンツを視聴するための特定のプレオーサリングされたスポットを観客に提供できる。一実施形態においては、仮想現実コンテンツへの切り離されたビュースポットを観客に提供することによって、典型的に、実際のHMDプレイヤの視点から与えられる強固に固定されたビューを提供する必要が無くなる。
ある実施形態においては、観客に与えられるビューは、実際のHMDプレイヤの視点からであってもよいが、ゴムバンドリンクまたはゴムバンド結合と呼ばれる、少し切り離された接続を備えてよい。ゴムバンドリンクは、HMDプレイヤの頭上に配置された仮想カメラに類似したビュースポットを提供する。ビューを提供する仮想カメラは、移動でき、HMDプレイヤの動きより少し遅れて、HMDプレイヤのビューの後を追うことができる。例として、HMDプレイヤが素早く左を見る場合、仮想カメラは、HMDプレイヤが見ている方向を追いかけて左にゆっくり移動できる。HMDプレイヤが、頭を素早く上下に動かす場合、HMDプレイヤの方向は、真っ直ぐに戻るので、仮想カメラの遅れにより、上下の動きを回避できる。
さらに別の実施形態においては、観客に、仮想現実環境への異なるビュースポットを提供できる、これは、HMDプレイヤ、または、HMDプレイヤが制御しているキャラクタを見ることも含み得る。一実施形態においては、この構成は、HMDプレイヤのキャラクタが仮想環境をあちこち移動する時、そのキャラクタを視聴しているある種の自動カメラマンアングルを規定できる。よって、HMDプレイヤが、環境、ゲーム、コンテンツ、または、シーン内の異なる場所をあちこち移動すると、観客に提供されるアングルは、より関心を引くものになり、異なるビュースポット間をシフトまたは移動できる。
一実施形態においては、方法、システム、撮像オブジェクト、センサ、及び、関連するインタフェースオブジェクト(例えば、手袋、コントローラ、手等)は、データを処理するように構成され、データは、ディスプレイ画面にほぼリアルタイムでレンダリングされるように構成される。ディスプレイは、ヘッドマウントディスプレイ(HMD)のディスプレイ、第2画面のディスプレイ、ポータブルデバイスのディスプレイ、コンピュータディスプレイ、ディスプレイパネル、(例えば、コンテンツを視聴している、または、インタラクティブ体験を共有している)一人または複数の遠隔に接続されたユーザのディスプレイ等であってよい。
しかしながら、これらの特定の詳細の一部または全てを用いずに本開示を実践してよいことは当業者には明らかであろう。他の例においては、本開示を不必要に曖昧にしないために、周知のプロセス操作は記載していない。
図1は、本開示の実施形態による、ビデオゲームのインタラクティブなゲームプレイのためのシステムを示す。ヘッドマウントディスプレイ(HMD)102を着用しているユーザ100が示されている。HMD102は、眼鏡、ゴーグル、または、ヘルメットと同様に着用され、ビデオゲームまたは他のコンテンツをユーザ100に表示するように構成される。HMD102は、ユーザの目のすぐ近くに表示機構を備えることによって、非常に没入型の体験をユーザに提供する。従って、HMD102は、ユーザの視野の大部分または全体さえ占めるディスプレイ領域をユーザの両目のそれぞれに対して提供できる。
一実施形態においては、HMD102は、コンピュータ106に接続できる。コンピュータ106への接続は、有線であっても無線であってもよい。コンピュータ106は、ゲームコンソール、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス、携帯電話、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイス等を含むが、これらに限らない、当分野で既知の任意の汎用または専用コンピュータであってよい。一実施形態においては、コンピュータ106は、ビデオゲームを実行するように構成でき、また、HMD102によってレンダリングするためのビデオ及びオーディオをビデオゲームから出力するように構成できる。
ユーザ100は、手袋インタフェースオブジェクト104aを操作して、ビデオゲームに入力を行ってよい。さらに、カメラ108は、ユーザ100がいるインタラクティブ環境の画像を撮影するように構成できる。これらの撮影された画像を分析して、ユーザ100、HMD102、及び、手袋インタフェースオブジェクト104aの位置及び動きを決定できる。一実施形態においては、手袋インタフェースオブジェクト104aは、その位置と向きを決定するために追跡できるライトを含む。
以下に記載のように、ユーザがHMD102に表示された仮想現実シーンとインタフェースをとる方法は、様々であってよく、手袋インタフェースオブジェクト104aに加えて、他のインタフェースデバイスを使用できる。例えば、片手コントローラも使用でき、両手コントローラも使用できる。ある実施形態においては、コントローラは、コントローラに関連付けられたライトを追跡することによって、または、コントローラに関連付けられた形状、センサ、及び、慣性データを追跡することによって、自身で追跡できる。これら様々な種類のコントローラを用いて、または、単に行われたハンドジェスチャを1つまたは複数のカメラによって撮影して、HMD102に提示される仮想現実環境とインタフェースをとり、制御し、操作し、インタラクトし、参加することが可能である。
さらに、HMD102は、HMD102の位置と向きとを決定するために追跡できる1つまたは複数のライトを含んでよい。カメラ108は、インタラクティブ環境からの音を捕捉する1つまたは複数のマイクロフォンを含んでよい。マイクロフォンアレイが捕捉した音を処理して、音源の位置を識別してよい。識別された位置からの音を、選択的に利用または処理して、識別された位置からではない他の音を除去できる。さらに、カメラ108は、複数の撮像装置(例えば、立体写真カメラ)、IRカメラ、デプスカメラ、及び、これらの組み合わせを含むように規定できる。
別の実施形態においては、コンピュータ106は、クラウドゲーミングプロバイダ112とネットワークを介して通信するシンクライアントとして機能する。クラウドゲーミングプロバイダ112は、ユーザ102がプレイしているビデオゲームを維持、実行する。コンピュータ106は、HMD102、手袋インタフェースオブジェクト104a、及び、カメラ108からの入力をクラウドゲーミングプロバイダに送信し、クラウドゲーミングプロバイダは、その入力を処理して、実行しているビデオゲームのゲーム状態に反映させる。ビデオデータ、オーディオデータ、及び、触覚フィードバックデータ等、実行しているビデオゲームからの出力は、コンピュータ106に送信される。コンピュータ106は、データを送信前にさらに処理してもよく、または、関連する装置にデータを直接、送信してもよい。例えば、ビデオストリーム及びオーディオストリームが、HMD102に提供され、振動フィードバックコマンドが、手袋インタフェースオブジェクト104aに提供される。
一実施形態においては、HMD102、手袋インタフェースオブジェクト104a、及び、カメラ108は、それら自体がネットワークデバイスであってよく、ネットワーク110に接続して、クラウドゲーミングプロバイダ112と通信する。例えば、コンピュータ106は、ビデオゲーム処理を行わずネットワークトラフィックの経路を促進するルータ等のローカルネットワークデバイスであってよい。HMD102、手袋インタフェースオブジェクト104a、及び、カメラ108によるネットワークへの接続は、有線であってもよく、無線であってもよい。
さらに、ヘッドマウントディスプレイを参照して本開示の実施形態を記載するが、他の実施形態においては、ヘッドマウントでないディスプレイに置き換えられてよいことは理解されよう。ヘッドマウントでないディスプレイには、テレビ、プロジェクタ、LCDディスプレイ画面、ポータブルデバイス画面(例えば、タブレット、スマートフォン、ラップトップ等)、または、本実施形態による、ビデオをレンダリングするように構成でき、及び/または、インタラクティブなシーンもしくは仮想環境を表示するように構成できる任意の他の種類のディスプレイを含むが、これらに限らない。
図2Aは、本開示の実施形態による、ヘッドマウントディスプレイ(HMD)を示す。図に示すように、HMD102は、複数のライト200A〜200Hを含む。これらのライトはそれぞれ、特定の形状を有するように構成されてよく、同じ色または異なる色を有するように構成できる。ライト200A、200B、200C、及び、200Dは、HMD102の前面に配置される。ライト200Eと200Fは、HMD102の側面に配置される。ライト200Gと200Hは、HMD102の前面と側面にわたるように、HMD102の角部に配置される。ライトは、ユーザがHMD102を使用するインタラクティブ環境を撮影した画像で識別できることを理解されよう。ライトの識別と追跡に基づいて、インタラクティブ環境におけるHMD102の位置及び向きを決定できる。ライトの幾つかは、撮像装置に対するHMD102の特定の向きに応じて見える場合もあり、見えない場合もあることも理解されよう。また、異なるライト(例えば、ライト200Gと200H)が、撮像装置に対するHMD102の向きに応じて撮像のためにさらされてよい。
ある実施形態においては、HMDは、HMDの1つまたは複数の表面に配置された光センサ(例えば、感光装置(PSD))を用いて、HMDを使用している近くの1つまたは複数のベースステーションから発せられる光を捕えることによって、追跡されてよい。ある実施形態においては、HMDは、HMDの構造によって発せられる磁気エネルギーを捕える磁気センサを用いて追跡されてよい。ある実施形態においては、HMDを装着しながらインタフェースをとるために使用される周辺装置が、磁気追跡を用いて追跡されてよい。
一実施形態においては、ライトは、近くにいる他者に対してHMDの現在の状態を示すように構成できる。例えば、ライトの一部または全てが、ある一定の色配置、強度配置を有するように構成されてよく、点滅する、一定のオン/オフ構成、または、HMD102の現在の状態を示す他の仕組みを有するように構成されてよい。例として、ライトは、ビデオゲームのアクティブなゲームプレイ中(通常、アクティブタイムライン中、または、ゲームのシーン内で生じるゲームプレイ)と、メニューインタフェースをナビゲート、または、ゲーム設定を構成等、ビデオゲームの他の非アクティブなゲームプレイの態様(この間、ゲームのタイムラインまたはシーンは非アクティブまたは停止中であってよい)とで、異なる設定を表示するように構成できる。ライトは、ゲームプレイの相対的な強度レベルを示すように構成されてもよい。例えば、ゲームプレイの強度が増すと、ライトの強度、または、点滅の速度が、増加してよい。このようにして、ユーザの外部の人は、HMD102のライトを見て、ユーザが真剣にゲームプレイに熱中しており、今は邪魔されなくないということを理解してよい。
HMD102は、1つまたは複数のマイクロフォンをさらに含んでよい。図示の実施形態においては、HMD102は、HMD102の前面に画定されたマイクロフォン204A及び204Bと、HMD102の側面に画定されたマイクロフォン204Cを含む。マイクロフォンアレイを利用することによって、各マイクロフォンからの音を処理して、音源の位置を決定できる。この情報は、不要な音源の除去、音源と視覚的識別の関連付け等を含む、様々な点で利用できる。
HMD102は、1つまたは複数の撮像装置も含んでよい。図示の実施形態においては、HMD102は、撮像装置202Aと202Bを含むとして示されている。撮像装置の立体写真を利用することによって、環境の三次元(3D)画像とビデオが、HMD102の視点から撮影できる。このようなビデオをユーザに提示して、HMD102を着用している間、ユーザに「ビデオシースルー」能力を提供できる。すなわち、ユーザは、厳密な意味でHMD102を通して見ることはできないが、撮像装置202Aと202B(例えば、以下の図3に示すようなHMD102の外側の本体に配置された1つまたは複数の正面を向いたカメラ108')が撮影したビデオは、それにもかかわらず、HMD102を通して見たかのように、HMD102の外部の環境を見ることができる機能的に同等なものを提供できる。このようなビデオは、拡張現実体験を提供する仮想の要素で拡張することができる、または、他の方法で仮想の要素と組み合わせてよく、もしくは、混合されてよい。図示の実施形態においては、2つのカメラが、HMD102の前面に示されるが、HMD102に設置され、任意の方向に向けられた任意の数の外部を向いたカメラがあってよいことは理解されたい。例えば、別の実施形態においては、HMD102の側面に取り付けられて、環境の追加のパノラマ画像を撮影するカメラがあってよい。
図2Bは、クライアントシステム106とインタフェースをとっているHMD102のユーザと、第2画面107と呼ばれる第2画面ディスプレイにコンテンツを提供しているクライアントシステム106との一例を示す。以下に記載のように、クライアントシステム106は、HMD102から第2画面107へのコンテンツの共有を処理する集積電子機器を含んでよい。他の実施形態は、クライアントシステムとHMD102及び第2画面107のそれぞれとのインタフェースをとる別個のデバイス、モジュール、コネクタを含んでよい。この一般的な例においては、ユーザ100は、HMD102を着用しており、コントローラ104を用いてビデオゲームをプレイしている。ユーザ100によるインタラクティブなプレイによって、ビデオゲームコンテンツ(VGC)が生成され、ビデオゲームコンテンツ(VGC)は、HMD102にインタラクティブに表示される。
一実施形態においては、HMD102に表示されているコンテンツは、第2画面107に共有される。一例においては、第2画面107を見ている人は、ユーザ100がHMD102でインタラクティブにプレイしているコンテンツを視聴できる。別の実施形態においては、別のユーザ(例えば、プレイヤ2)が、クライアントシステム106とインタラクトして、第2画面コンテンツ(SSC)を生成できる。コントローラ104と同様にインタラクトしているプレイヤ(または、任意の種類のユーザインタフェース、ジェスチャ、音声、もしくは、入力)が生成した第2画面コンテンツが、クライアントシステム106へのSSCとして生成されてよく、HMD102から受信されたVGCと共に第2画面107に表示できる。
従って、HMDユーザと同じ場所にいる、または、遠隔の他のユーザによるインタラクティブ性は、HMDユーザと、HMDユーザがプレイするコンテンツを第2画面107で視聴しているユーザとの両方にとって、ソーシャル、インタラクティブ、また、より没入型であり得る。図に示すように、クライアントシステム106は、インターネット110に接続できる。インターネットは、様々なコンテンツソース120からのコンテンツへのアクセスをクライアントシステム106に提供もできる。コンテンツソース120は、インターネットを介してアクセス可能な任意の種類のコンテンツを含み得る。
このようなコンテンツは、ビデオコンテンツ、映画コンテンツ、ストリーミングコンテンツ、ソーシャルメディアコンテンツ、ニュースコンテンツ、友達コンテンツ、広告コンテンツ等を含み得るが、これらに限らない。一実施形態においては、クライアントシステム106を使用して、HMDユーザのためのコンテンツを同時に処理でき、それによって、HMDは、ゲームプレイ中にインタラクティブ性と関連付けられたマルチメディアコンテンツを提供される。そして、クライアントシステム106は、他のコンテンツも第2画面に提供できる。他のコンテンツは、ビデオゲームコンテンツに関係がなくてもよい。クライアントシステム106は、一実施形態においては、コンテンツソース120の1つから、または、ローカルユーザもしくは遠隔ユーザから、第2画面コンテンツを受信できる。
図3は、本開示の実施形態による、実行しているビデオゲームと共にHMD102の機能を概念的に示す。実行しているビデオゲームは、ビデオゲームのゲーム状態を更新する入力を受信するゲームエンジン320によって規定される。ビデオゲームのゲーム状態は、ビデオゲームの様々なパラメータの値によって少なくとも部分的に規定でき、パラメータは、オブジェクトの存在と位置、仮想環境の条件、イベントのトリガ、ユーザプロファイル、ビューの視点等、現在のゲームプレイの様々な態様を規定する。
図示の実施形態においては、ゲームエンジンは、例として、コントローラ入力314、オーディオ入力316、及び、動作入力318を受信する。コントローラ入力314は、ハンドヘルドゲームコントローラ(例えば、Sony DUALSHOCK(登録商標)4無線コントローラ、Sony PlayStation(登録商標)Move動作コントローラ)または手袋インタフェースオブジェクト104a等、HMD102とは別個のゲームコントローラから規定されてよい。例として、コントローラ入力314は、方向入力、ボタン押し下げ、トリガ起動、動き、ジェスチャ、または、ゲームコントローラの操作から処理される他の種類の入力を含んでよい。オーディオ入力316は、HMD102のマイクロフォン302から、または、撮像装置108もしくはローカル環境の他の場所に含まれるマイクロフォンから処理できる。動作入力318は、HMD102に含まれるモーションセンサ300から、または、撮像装置108がHMD102の画像を撮影すると撮像装置108から処理できる。ゲームエンジン320は、入力を受信し、入力は、ゲームエンジンの構成に従って処理されてビデオゲームのゲーム状態を更新する。ゲームエンジン320は、ゲーム状態データを様々なレンダリングモジュールに出力し、様々なレンダリングモジュールは、ゲーム状態データを処理して、コンテンツを規定し、コンテンツがユーザに提示される。
図示の実施形態においては、ビデオレンダリングモジュール322は、HMD102に提示するためのビデオストリームをレンダリングするように規定される。ビデオストリームは、ディスプレイ/プロジェクタ機構310によって提示されてよく、ユーザの目306によって光学素子308を通して視聴されてよい。オーディオレンダリングモジュール304は、ユーザが聞くためのオーディオストリームをレンダリングするように構成される。一実施形態においては、オーディオストリームは、HMD102に関連付けられたスピーカ304を通して出力される。スピーカ304は、オープンエアスピーカ、ヘッドフォン、または、オーディオを提示できる任意の他の種類のスピーカの形態を取ってよいことは理解されたい。
一実施形態においては、視線追跡カメラ312が、HMD102に含まれて、ユーザの視線追跡を可能にする。視線追跡カメラが、ユーザの目の画像を撮影し、その画像が分析されて、ユーザの視線方向が決定される。一実施形態においては、ユーザの視線方向に関する情報を利用してビデオレンダリングに反映できる。例えば、ユーザの目が、特定の方向を見ていると決定される場合、その方向のビデオレンダリングは、例えば、ユーザが見ている領域をより詳細にする、または、速く更新する等によって、優先または強調できる。ユーザの視線方向は、ヘッドマウントディスプレイに対して、ユーザがいる現実の環境に対して、及び/または、ヘッドマウントディスプレイ上にレンダリングされている仮想環境に対して、規定できることを理解されたい。
大まかに言うと、視線追跡カメラ312が撮影した画像の分析を、単独で考慮すると、HMD102に対するユーザの視線方向を提供する。しかしながら、HMD102の追跡された位置と向きと共に考慮されると、HMD102の位置と向きが、ユーザの頭の位置と向きと同義になるように、ユーザの実世界での視線方向が決定できる。すなわち、ユーザの実世界の視線方向は、ユーザの目の位置の動きを追跡することと、HMD102の位置と向きを追跡することとから決定できる。仮想環境のビューが、HMD102にレンダリングされると、ユーザの実世界の視線方向が、仮想環境のユーザの仮想世界の視線方向の決定に適用できる。
さらに、触覚フィードバックモジュール326は、HMD102、または、コントローラ104等のユーザが操作する他のデバイスに含まれる触覚フィードバックハードウェアに信号を提供するように構成される。触覚フィードバックは、振動フィードバック、温度フィードバック、圧力フィードバック等、様々な種類の触感の形態をとってよい。
現在、ゲーム再生を共有するストリーミングサービスが非常に人気である。DualShock(登録商標)4無線コントローラは、このような共有を可能にする「共有ボタン」をコントローラ上に直接、含む。本開示の実施態様は、HMD/VRヘッドセットを用いて、リプレイを探索したい人にとってリプレイの共有を向上させる。本開示の実施態様は、非常に広い視野でゲームのリプレイをレンダリングして、観客が、HMDを用いて自由に頭を動かし、新しい見やすい場所からリプレイを視聴するのを可能にする。従来のストリーミングアプローチでは、元のプレイヤが視聴したものだけにリプレイを限定するので、視線方向は、観客の頭の位置と向きとは関係なく、HMDを使用する観客が頭を動かしたとしても、何も変化はない。
開示の実施態様は、HMDの新しい視点をサポートするように十分に広い視野でビデオをレンダリングする。クラウドサーバ上で(例えば、クラウドにおける、PlayStation(登録商標)4ハードウェア等のゲームコンソール用ゲームハードウェア上で)実行するゲームエンジンのカスタムメイドは、元のプレイヤのゲームエンジンからストリーミングされた入力ゲーム状態として受け入れて、それを用いて非常に広い視野(例えば、150度を超える)のゲームのビューをレンダリングし、そのゲームセッションのリアルタイムストリーミング、及び/または、以前に記録された再生に使用できる。非常に広い視野は、HMDの視野を超えて、HMDを着用している観客が、リプレイ時に周りを見るのを可能にすることを理解されよう。実際のゲームは、エンジンのネットワークバージョンに、その状態をストリーミングするように構成される。
上記のように、HMD102を着用しているユーザが体験しているインタラクティブなアクティビティを観戦、例えば、見る能力をユーザに提供するニーズがある。例えば、一人のHMDの仮想現実プレイヤが、HMDに提示されているアクティビティに没入し得る間、他の人がそのプレイヤと同じ場所にいることがある。これらの同じ場所にいる他のプレイヤは、HMDプレイヤが体験しているインタラクティブ性または視聴している仮想現実シーンを見ることに楽しみを見出す場合がある。本明細書においては、HMDプレイヤは、HMDに提示されたコンテンツを視聴しているプレイヤである、または、HMDに提示されたコンテンツとインタクトしている、もしくは、HMDに提示されたゲームをプレイしている可能性があるプレイヤであってよい。従って、プレイヤとは、HMDに提示されているコンテンツの種類に関係なく、HMDを装着しているユーザのみを指す。
さらに他の実施形態において、HMDプレイヤと同じ場所にいない他の人が、HMDプレイヤのHMDに提示されているコンテンツ、インタラクティブ性、または、メディアを見たい場合がある。例えば、HMDプレイヤがアクティビティを行っている間、見るまたは観戦するために、異なるHMDプレイヤから選択を行う能力をユーザに提示するウェブサイトを提供してよい。この例は、標準的なTwitchタイプ体験と類似し、インターネットに接続されたユーザが、ウェブサイトにアクセスして、遠隔プレイヤがプレイしている異なる種類のコンテンツまたはメディアを検索するのを可能にする。遠隔プレイヤは、ある実施形態においては、HMD102を用いてゲームをプレイしていてよい。
他の実施形態においては、遠隔プレイヤは、デバイスのディスプレイ画面またはテレビのディスプレイ画面を用いて、ゲームをプレイしてよい、または、コンテンツを見てよい。大まかに言うと、遠隔の他のプレイヤのアクティビティを、例えば、ウェブサイトを介して見たいユーザは、次に、特定のプレイヤ、または、ゲームの種類、または、ゲームのサムネイル、または、コンテンツのサムネイルを選択して、HMDプレイヤが指示しているアクティビティを視聴できる。従って、遠隔のHMDプレイヤがアクティブにプレイし得る特定のインタラクティブコンテンツをユーザが視聴、選択するのを可能にするウェブサイトを提供できる。HMDプレイヤによるアクティビティを視聴したい遠隔の視聴者は、単に、そのコンテンツをクリックして、視聴を開始できる。
HMDプレイヤのアクションを見ているまたは視聴している人は、一般的に、観客と呼ぶ。観客は、アクティビティ、インタラクティブ性、アクション、動き等を視聴するためのアクセスを与えられるが、必ずしもゲームアクションを制御していない人である。このために、これらの視聴者は、観客と呼ばれる。HMDプレイヤの文脈で、HMDディスプレイに表示されているコンテンツは、動的で、HMDプレイヤの動きによって制御される。例えば、HMDプレイヤは、頭を動かすと、実世界の人の周囲で生じるのと同様に、視聴可能な異なるコンテンツを提示される。
HMDプレイヤの頭の動きは、HMDプレイヤにとっては自然であるが、HMDプレイヤと同じビューを与えられる観客は、コンテンツを見ると、素早い動きが原因で、吐き気やめまいがする場合がある。この理由は、視聴者自身は、HMDプレイヤが頭を動かすのと同じように頭を動かさないからであり、HMDプレイヤの頭の動きによって、HMDプレイヤの視線方向に基づいて、コンテンツが変化するからである。本明細書に記載の様々な実施形態において、HMDプレイヤが視聴しているコンテンツを、観客の気をそらさず、また、観客にめまいや吐き気を起こさせにくい方法で観客が視聴できるようにする方法、システム、コンピュータ可読媒体、及び、クラウド構成が提供される。
例として、本明細書に記載の実施形態の一部は、HMDプレイヤが視聴している仮想現実環境内の異なるビュースポットを提供する方法を教示する。ある実施形態においては、ビュースポットは、観客が視聴可能な角度、方向、及び、コンテンツという点で固定である。従って、HMDプレイヤが、頭をどちらかに動かす場合、仮想現実環境の観客のビューは、安定して維持され得る。ある実施形態においては、HMDプレイヤが、異なる仮想現実環境のシーン、場所、エリア、レベル、章等を移動及びあちこち移動すると、観戦しているユーザに異なるビュースポットが与えられてよい、ビュースポットは、視聴している観客に合わせてカスタマイズされる。例えば、異なる種類のコンテンツに対して、様々なビュースポットをプレオーサリングできる。
コンテンツがビデオゲームである場合、ビデオゲームで取り得る異なる経路に沿ったビュースポットが、観客が視聴するためのプレオーサリングされたスポットとして予め定められてよい。従って、HMDプレイヤが、その経路に沿って移動する時、経路に沿ったビュースポットを観客に提供することができ、ビュースポットは、ゲーム開発者、以前の観客、または、HMDプレイヤによって予め選択、または、プレオーサリングされてよい。このようにして、HMDプレイヤがHMD VR環境を動き回ると、観客は、1つのビュースポットから次のビュースポットに、それらのビュースポットが、より優れているもしくはより良い、または、より関心を引くビューを提供するという判断に基づいて、動かされてよい。さらなる実施形態においては、観客は、HMDプレイヤが視聴している視聴可能なコンテンツのサブ部分を提供されてよい。他の実施形態においては、観客は、HMDプレイヤがまだ視聴できない追加のコンテンツを提供されてよい。
ゲーム、環境、コンテンツの種類、マルチメディアの種類に応じて、または、既定のルールもしくは制約によって、観客は、HMDプレイヤが見ている視聴可能なコンテンツより少ないまたは多いコンテンツを提供されてよい。上記のように、観客に視聴可能にされたコンテンツは、HMDプレイヤが視聴しているのと同じコンテンツであってよいが、HMDプレイヤとは異なる基準視点から見ている。しかしながら、ある実施形態においては、観客に提供されるビューは、HMDプレイヤのビューと類似してよいが、少し異なる角度、または、ビュー視点から見ている。さらに、観客は、HMD仮想プレイヤの頭上の仮想カメラの文脈からHMDプレイヤに提供されるのと類似のビューを観客に提供できる。一実施形態においては、HMDプレイヤが視聴しているコンテンツの観客に提供された仮想カメラのビューを動かす代わりに、HMDプレイヤが頭を動かすと、観客のビューは、ビューがHMDプレイヤによって動かされるのと同じ速度またはスピードでは動かない。
この実施形態においては、観客に提供される仮想カメラのビューは、HMDプレイヤのビューよりも遅い速度で動いてよく、速度は、ユーザの頭の動きの実際のスピードに基づいて変化する。さらにまた、仮想カメラのビューの動きは、HMDプレイヤの頭の動きを、遅れて追いかけるように設定できる。遅れは、仮想カメラのビューをHMDの動きにリンクさせる概念的なゴムバンドに類似してよい。すなわち、ユーザの頭が、左に素早く動く場合、観客の仮想カメラのビューは、動いているオブジェクトにゴムバンドによって接続されているオブジェクトが、動いているオブジェクトの動きを追うのと同じように遅れて、よりゆっくりと左に動く。ある構成においては、ギア比率を仮想カメラのビューの動きに適用することによって、仮想カメラは、HMDプレイヤの現実のビューの動きを追いかける速度で動く。ギア比率は、仮想現実シーンの観客のビューを実行しているコンピュータ、ゲーム、及び/または、プログラムによって動的に修正されてよい。ギアリングは、例えば、あるゲーム、あるシーン、ある状況、あるレベルにおいて、あるユーザに対して等、より速く修正されてよく、または、他の例においては、より遅く修正されてよい。動的ギアリングを用いることによって、仮想カメラのビューの動きは、HMDが速くまたは不規則に動く時でさえ、より快適なビュー体験を観客ビューに提供するように、滑らかにできる。
以下に記載のさらなる実施形態においては、観客は、HMDプレイヤが仮想現実環境のどこを見ているかを識別できるように、視覚的手掛かりを与えられてよい。一構成は、HMDプレイヤの視線を追跡することを可能にして、HMDプレイヤがVRシーン内の正確にどこを見ているかを決定できる。仮想カメラビュー(例えば、HMDプレイヤの頭の背後に浮かんでいる仮想カメラ)の視点からVRシーンを視聴している観客にとっては、その特定のシーンにおける焦点は何かを決定することは有用である。このようにして、観客は、仮想現実プレイヤが、そのシーンで重要であると感じている物に焦点を合わせることもできる。
ある例においては、そして、ファーストパーソン・シューティングゲームにおいては、観客は、敵または障害物を識別するため等、HMDプレイヤがどこを見ているかを知りたい場合がある。一実施形態においては、HMDプレイヤの視線を追跡して、コンテンツを強調表示する、ある一定のオブジェクトまたは場所のコントラストを変更する、コンテンツを取り囲む、マーカを追加する、エリアをグレー表示する、点滅するビーコンを追加する、テキストを追加する、浮いているオブジェクトを追加する等によって、HMDプレイヤが見ている物を識別することが可能である。このようにして、観客は、HMDプレイヤが見ている所を確実に知ることができ、よって、観客自身も、その同じエリアを見て、より楽しくコンテンツを体験できる。
例えば、HMDプレイヤは、特定のゲームに経験がより豊かな場合がある、または、特定の種類のコンテンツを見ており、HMDプレイヤが仮想現実シーンで見ている場所を示すものを提供することは、観客に、ガイダンス、視覚的手掛かり、及び、援助を与える。ある実施形態においては、これらの識別特徴は、気が散らないように、オンにしたりオフにしたりできる。識別子は、HMDプレイヤがアクティブにできる、または、観客がアクティブにできる。ある実施形態においては、複数の観客が、例えば、Twitch表示において、HMDプレイヤが提供する同じコンテンツを視聴している場合、各観客は、異なるコントロールは観客に視覚インジケータを提供するか否かの能力を与える異なるコントロールを提供されてよい。HMDプレイヤの視点からは、インジケータは、HMDプレイヤのHMDに全く示されなくてよい。しかしながら、これらのインジケータは、HMDプレイヤがインタラクトしているコンテンツを視聴している観客(複数可)にとっては有用である。
ある実施形態においては、仮想現実環境内の特定のリスニングゾーンを観客が識別することを可能にするコントロールを観客に与えてよい。リスニングゾーンは、仮想現実環境内の観客が聞きたい場所を観客が選択するのを可能にする。これが意味するのは、観客が実際にそのシーンにいるという状況をまねたオーディオ及び音響を、その特定の場所から聞くことを観客は基本的に提供されるということである。例として、観客が、視聴している場所に対して、通りの向かいの建物を含むHMDコンテンツを視聴している場合、観客は、建物内のある場所、例えば、人が立っている2階を識別でき、その場所で聞くことを選択できる。
この機能は、リスニングテレポーテーションを観客に提供し、観客は、2階建ての建物内に座っているまたは立っているかのように、オーディオコンテンツ及び音響を聞くことができる。オーディオ及び音響は、一例においては、基本的に、建物の2階の場所に存在するオーディオサウンドを拡大し、その仮想の場所から離れた音を小さくする。ある実施形態においては、観客は、主なリスニングゾーンにいることを求めて、時々、環境内の異なる場所を選択できる。さらに他の実施形態においては、リスニングゾーンは、HMDプレイヤの同じリスニングゾーンであるように調節もできる。観客は、観客が聞きたい仮想環境内の場所を識別するように、切り替え可能な選択能力を提供されてよい。
再び、観客は、HMDプレイヤと同じ場所にいてよく、図2Bを参照して記載するように、第2画面のディスプレイ上のHMDコンテンツを視聴していてよいことに注意されたい。あるいは、観客であるローカルの視聴者もHMDを着用でき、HMDは、観客に、HMDプレイヤコンテンツのビューを提供する。さらに他の実施形態においては、HMDプレイヤコンテンツが、視聴可能なウェブサイトに公開されている場合、観客は、遠隔であってよく、ウェブページから視聴してよい。ある実施形態においては、観客として行動する遠隔の視聴者は、HMDプレイヤによるライブまたはほぼライブのコンテンツを見ていてよい。他の実施形態においては、観客として行動する遠隔の視聴者は、HMDプレイヤが見ていたコンテンツの録画バージョンを見ていてよい。さらに、複数または多数の観客がHMDプレイヤの同じコンテンツをライブまたは録画で見ることを可能にするウェブサイトが提供されてよい。
図4は、一実施形態による、コンピュータデバイス106を介して仮想環境450とインタラクトし得るHMD VRプレイヤ100の例を示す。よって、HMD VRプレイヤ100は、VR環境450内のインタラクティブ性を駆動しており、HMD102に提示されるシーンと、ディスプレイ107に表示される複製ビューとを動かす。よって、観客は、観客140等、ディスプレイ107を視聴している観客であってよい。上記のように、観客140は、同一空間でHMDプレイヤ100とインタラクトできるので、ソーシャル画面の観客である。他の実施形態においては、または、同じ場所にいる観客140に加えて、HMD観客150にもHMDプレイヤ100がナビゲートしているコンテンツへのアクセスを提供できる。HMD観客150は、HMDプレイヤ100と同じ場所にいてよい。他の実施形態においては、HMD観客150は、HMDプレイヤとは遠隔にいてよく、twitchタイプのビューウェブサイト等のウェブサイトからコンテンツを視聴できる。よって、図4に示す例は、ほんの一例であり、複数の観客または何千もの観客が、HMDプレイヤのコンテンツを遠隔の場所から視聴していることが可能である。観客は、ディスプレイ107を見ていても、HMDを介してコンテンツを視聴していても、観戦体験を向上させる機能を与えられる。
図5は、仮想現実環境450を動き回り、シーンのあらゆる場所を動きながら異なるコンテンツを視聴しているHMDプレイヤ100の例を示す。図に示すように、HMDプレイヤ100は、シーンを前に進み、シーンは、道路の延長、建物502、ゴルファー504、湖506、犬508、及び、他のマルチメディアコンテンツ等の新しいコンテンツを見せた。VR環境450に提示されるこれらマルチメディアコンテンツの種類は、単に一例であり、コンテンツの種類は、視聴、インタラクト、または、表示されているコンテンツの種類に応じて変わる。一例においては、VR環境450は、スポット1、スポット2、スポット3、及び、スポット4等、プレオーサリングされたビュースポットに関連付けられてよい。これらの各スポットは、VR環境450への特定の視線方向と角度を有する。
スポット1は、HMDプレイヤ100の頭の背後に浮いていてよい仮想カメラのビューを提供され、仮想カメラのビューは、HMDプレイヤ100のHMD102の動きによって生成されているビューに近い複製を提供する。他のスポットは、HMDプレイヤ100の視野角とは切り離されてよく、代わりに、コンテンツ作成者、または、仮想環境内の関心を引くコンテンツがある場所を知り得る他のユーザによるプレオーサリングに基づいて、VR環境450のあらゆる場所に配置できる。例えば、コンテンツ作成者が、ゲーム開発者である場合、ゲーム開発者は、関心を引くスポットがVR環境の異なる場所のどこに存在し得るかを知っているので、1つまたは複数のゲームセッションまたはビューセッション中、HMDプレイヤが仮想現実環境450をあちこち移動する時のアクション、物、動き、インタラクティブ性、または、シーンのより良いビューを観客に提供できる。
この特定の例においては、観客は、HMD観客150である。HMD観客150は、仮想現実環境450の示されているアクティビティの異なる時刻に特定のビュースポットを提供されてよい。例えば、HMDプレイヤ100が、仮想現実環境450をあちこち移動する、または、動き回ると、異なるコンテンツが、表示され、表示されているコンテンツに基づいて、異なるスポットが、観客(複数可)による視聴消費のために選択される。例として、HMD観客150は、時刻t=0にスポット1、時刻t=1にスポット3、時刻t=2にスポット2等、一連のスポットを提供される。
よって、HMDプレイヤ100があちこち移動する場所に応じて、コンテンツの最も関心を引くビューを提供するように、観客に対して異なるスポットが動的に選択されてよい。例として、HMDプレイヤが、ゴルフコースの場所に到達した場合、ゴルファー504が、ビュースポット4の焦点になる。HMDプレイヤが、建物502の場所に到達した場合、ビュースポット2が、建物502と犬508が見えるように、観客に提供される。それらは、仮想現実環境450内の関心を引く場所または見やすい地点もしくは視点であると予め決められていてよい。
図5Aは、HMDプレイヤ100が、仮想現実環境450とインタフェースし、観客150が、仮想現実環境450のコンテンツを視聴している実施形態を示す。この図は、観客150が、HMD102を使用している時、観戦角度から視聴しているあるコンテンツに近付くまたは遠ざかる能力を提供されてよいことを示す。ある実施形態においては、観戦角度は、予め定められた観戦スポットと関連付けられてよく、観戦スポットは、仮想現実環境450を見やすい特定の場所を提供する。他の実施形態においては、観客150は、HMDプレイヤ100のために生成されている仮想現実環境450と関連付けられた仮想現実環境を、任意の角度で任意のエリアを見ることを可能にし得るフリーカメラと同様、自由に動き回る能力を与えられてよい。
例として、観客150が、仮想現実環境450を視聴しており、キャラクタ506に焦点を当てているのが示されている。キャラクタ506は、仮想現実ゲームに関連付けられてよく、テーブル502の上に立っているのが示されている。テーブル502は、缶504等の他のオブジェクトも含み得る。当然、コンテンツの豊かさを含むコンテンツの種類とコンテンツの量は、HMD102を介して視聴されている特定のゲーム、または、マルチメディア環境によって決まる。
この例においては、観客150が、仮想距離D1からキャラクタ506を視聴しているのが示されている。仮想距離D1は、観客の頭152が特定の位置にある時、観客150が認識する距離である。上記のように、観客150の頭152の位置も、観客150に対してローカルに追跡できる。一実施形態においては、観客150は、遠隔な場所にいてもよく、HMDプレイヤ100がプレイしている仮想現実コンテンツのフィードを提供するウェブサイトを介して仮想現実コンテンツを視聴していてよい。前述のように、観客150は、ある実施形態においては、ライブフィードまたは録画フィードを選択することによって、他のHMDプレイヤコンテンツを視聴できる。HMDプレイヤ100がナビゲートしている仮想現実環境は、従って、HMDプレイヤ100がコンテンツをプレイまたはナビゲートしている間、一人または複数の観客が仮想現実コンテンツを視聴できるように、ウェブサイトと共有される。
よって、観客150の頭152の位置に関連付けられた特定の距離D1を、視聴している仮想コンテンツに対して決定または較正することが可能である。相対距離D1は、観客が仮想現実コンテンツ450の視聴を開始する時等、開始距離として決定できる。例えば、観客150による観戦セッションの開始時、仮想現実コンテンツのオブジェクトまでの距離を設定できる。この距離は、予め決定されてよく、HMDプレイヤ100が生成している仮想現実コンテンツへの快適な視聴距離に基づいてよい。観戦が始まると、観客150は、仮想現実コンテンツの異なるオブジェクトに近付く、または、遠ざかることができる。
一実施形態においては、仮想現実環境450のある特定のコンテンツに近付くことによって、視聴しているコンテンツを自動的にスケールアップできる。図5Bに示すように、観客150の頭152は、キャラクタ506の方に近付き、そうすると、システムに、仮想現実環境450内の観客150が焦点を当てているコンテンツをスケールアップさせる。ある実施形態においては、観客150が、特定のオブジェクト(複数可)に近付いているので、観客150が焦点を当てるこのオブジェクトは、スケールアップされる、または、ある種のズームインで拡大される。観客150が視聴しているエリアから離れたコンテンツは、視点の外側にある場合があり、観客150に対してレンダリングされなくてもよい。
この時点で、距離D1はD2になり、距離D2はD1より小さく、これは、VRコンテンツをスケールアップする。さらに、完全に頭上からの視点ではなく、異なる視野角を達成するために、視聴しているコンテンツに観客150が覆いかぶさることも可能である。例えば、ビューのスケールは、詳細なより焦点の当たったビューを得るためにユーザが自分の頭をオブジェクトに近付けるという実生活の状況に類似している。よって、観戦表示によって行われる処理は、観客が、実世界のオブジェクトをより近い距離またはより離れて視聴しているかのように、観客の視点に自然な調節を行っている。一実施形態においては、観客が仮想現実環境のコンテンツに近付いたとHMD102の位置が示す時、仮想現実環境の一部分のアップスケーリングが処理される。同様に、同じまたは異なるコンテンツに関して、観客が仮想現実環境のコンテンツから遠ざかったとHMDの位置が示す時、仮想現実環境の一部分のダウンスケーリングが処理される。
図5Cは、観客150が頭152をキャラクタ506にさらに近付ける例を示す。こうすると、仮想現実コンテンツのキャラクタ506はさらにスケーリングされる。一実施形態においては、仮想現実コンテンツの観客のビューは、仮想現実環境450のコンテンツに比べて、観客150が巨人であるという印象を観客150に与える。図5Cに示すように、観客150は、キャラクタ506より実質的に大きく示されるが、観客が見ている空間の他の仮想現実コンテンツを含めて、このキャラクタ506もスケールアップされている。
図示のために、観客150は、キャラクタ506から距離D3離れていると示されている。距離D3は、D2またはD1より実質的に近い。よって、観客は、仮想現実環境450の特定のコンテンツに近付く自然な頭の動き、または、仮想現実環境450のコンテンツから遠ざかる自然な頭の動きによって視聴環境の動的な調節を提供される。観客が、仮想現実コンテンツから頭を遠ざける時、または、特定のオブジェクトまでの距離を増加させる時、巨人が以前は拡大またはスケールアップされていたコンテンツから遠ざかる場合に巨人がコンテンツを見るのと同じように、観客は、コンテンツのサイズがスケールダウンするのを見る。
本明細書において、観客150の姿を「巨人」とすることが意味するのは、観客にとって、仮想現実環境450の特定のコンテンツに近付く動きまたは遠ざかる動きは、自動的なスケールアップまたはスケールダウンを生じさせ、自然な形でのコンテンツの滑らかな視聴を可能にするということである。
図6Aは、観客150が、仮想現実環境150とインタラクトして、異なる見やすい場所を提供できる例を示す。仮想現実環境450が、HMDプレイヤによって生成されており、観客は、単に、仮想現実HMDプレイヤのアクティビティを視聴する観客として行動しているが、観客は、視野角または視聴方向を変更するコントロールを提供されてよい。一実施形態においては、観客150は、仮想現実シーンに手を伸ばし、仮想現実シーンを把持、手に持つ、または、仮想現実シーンに接触することを示すジェスチャを行う能力を提供されてよい。観客は、手604を使用してよく、それは、仮想現実環境でレンダリングされて、仮想現実コンテンツを制御または仮想現実コンテンツに触れること602を示してよい。ある実施形態においては、観客は、コントローラ、手袋、または、他の装置を利用して、視野角を移動させる意思を示すこともできる。観客による仮想現実シーンの視野角の移動または視野角とのインタラクションは、仮想現実インタラクションのフロー及びパスをナビゲート、フロー及びパスとインタラクト、または、フロー及びパスを指示している主な人であるHMDプレイヤ100へのビューを変えない。しかしながら、観客150の観点から、観客150が、より視聴に快適な他の角度に視野角を変えたい場合がある。
図6Bは、観客150が、仮想現実環境450の視野角を90度移動させると決めた例を示す。これは、上記のように、観客150に、仮想現実コンテンツの異なる位置への動きを指示させることによって達成される。図6Bの例においては、観客150は、横になってHMDコンテンツを視聴したいと思っている。視聴をより快適にするために、視野角の動きは、HMD観客150がコンテンツを横になって視聴できるように、調節する。この例においては、コンテンツは、HMDプレイヤが指示するように、斜めに進んでいく。ここでも、HMDプレイヤは、観客がビューを回転させたという事実の影響を受けない。ある実施形態においては、コンテンツが観客によって回転される時、コンテンツ内のあるオブジェクトは、重力の方向を保持するように、回転されない場合がある。
図には示さないが、仮想現実コンテンツが観客によってある角度に傾けられた場合でさえ、一部のオブジェクトは、重力に対する向きを維持してよい。他の実施形態においては、仮想現実シーンのコンテンツは全て傾けられ、観客によってその角度で視聴される、これは、観客にとってより快適であり得る。同じ仮想現実環境450を視聴している複数の観客が、個々の観客にとって適切でより快適な異なる角度にコンテンツを傾けることが可能である。仮想現実環境450の観客のビューに関して観客が設定する傾き、調節、及び、角度は、HMDプレイヤがナビゲートしている仮想現実環境シーンに影響を与えない。HMDプレイヤは、単にHMD体験を共有し、観客は、各特定の観客にとって最も快適な異なる形式でその体験を視聴できる。図6Bの例は、ベッド610に枕612をして寝ている観客150を示したが、観客150は、リクライニング、または、他の姿勢であってもよい。
一実施形態においては、観客150のHMD102に提供されるビューは、仮想現実環境を視聴するカスタム方向である。例として、視聴のカスタム方向は、観客150が立っていた時からの観客150の視線の向きを固定またはロックすることを含んでよく、それによって、観客が横になると、同じ角度で仮想現実環境を視聴し続けることができる。角度は重力に対してではなく、横になっている場合もある観客150に対してであるが、ビューは正常に見える。
この構成において、視線の向きまたは視野角を固定またはロックすることは、図6Bに示すように、ユーザが横になった時、同じ向きとなるように視野角を固定することを意味する。すなわち、ユーザが横になる、または、座る、または、位置を変える時間中、ユーザの頭は、視線の向きを変えておらず、それによって、ユーザが向きを変える、または、新しい向きを設定する間、ビューを基本的に現在のビューにロックする。ユーザが横になると、ここでも、ユーザの頭を使用して、VRシーンの異なる部分を視聴できる。
図7は、HMDプレイヤ100のインタラクティブなプレイに応答して生成されている仮想現実環境450とインタフェースしている観客150の例を示す。図に示すように、HMDプレイヤ100は、コントローラ104を利用していてよく、HMDコンテンツは、ゲームコンソール704によって生成されてよく、HMD102に提供される。HMD観客150は、ローカルデバイス702とも通信してよく、ローカルデバイス702は、HMD観客150のHMD102を介して視聴するためのインタラクティブコンテンツを提供できる。この実施形態においては、HMD観客150は、ローカルデバイス702を使用して、ネットワーク710と通信する。ゲームコンソール704は、ネットワーク710への接続も備えてよい。従って、ゲームコンソール704によって生成されたインタラクティブコンテンツは、ネットワーク710に共有でき、それによって、HMD観客150は、本明細書に記載の観客の様々な実施形態に従って、仮想現実環境450を視聴でき、コンテンツとインタラクトまたはコンテンツを視聴できる。
ネットワーク710は、クラウドゲーミングまたは仮想現実サービス700に接続されて示される。サービスは、クラウドシステムの一部であってよく、地理的に分散した1つまたは複数のデータセンタによって実施されてよい。クラウドゲーミングまたは仮想現実サービス700は、様々な処理エンジンとデータベースを用いて構成されてよい。例として、サービス700は、ソーシャルデータ716と通信してよく、ソーシャルデータ716は、ネットワーク710からサービス700にローカルに、または、外部のソーシャルネットワーキングサイトから取得されてよい。サービス700は、ユーザアカウント720とも通信してよく、サービス700のユーザに、追加のサービスと好みの管理とを提供できる。ゲームデータ718も保存でき、特定のユーザアカウント720に関連付けて配置できる。
ゲームデータは、ユーザがアクセスを有する、プレイした、ステータスデータを保存した、状態データを保存した、成績を保存した、トロフィーを保存した、好み、他の構成もしくは特殊なプログラミングを保存した様々なゲーム722を識別できる。一実施形態においては、クラウド仮想現実サービス700は、仮想現実コンテンツ724へのアクセスを有効にできる。仮想現実コンテンツ724は、仮想現実対応ゲームに加えたコンテンツであってよい。例えば、仮想現実コンテンツ724は、他のコンテンツソース714からインターネットを介してアクセスされるコンテンツであってよい。
ソースは、例えば、特定の目的のために、仮想現実コンテンツ724を生成するメディア開発者であってよい。目的は、娯楽、情報、ビジネス、会議、ドキュメント共有、仮想ビュー及び非仮想ビューの共有、コンテンツの検査、コラボレーション、インタラクション、及び/または、他の用途であってよい。一構成においては、クラウドゲーミングまたは仮想現実サービス700は、観客ストリーミング726も促進してよい。観客ストリーミング726は、HMDプレイヤが視聴しているコンテンツを遠隔またはローカルのHMD観客150に共有及びストリーミングするのを可能にする1つまたは複数の処理モジュールを含んでよい。上記のように、HMDプレイヤによって生成された仮想現実環境450のフィードを複数の観客に同時に共有することが可能である。各観客は、上記のように、仮想現実シーンへの異なる視点を提供されてよい。視点は、観客の好みに基づいてカスタマイズすることができる、または、仮想現実シーン内のプレオーサリングされたビュースポットに関連付けられてよい。
HMDプレイヤ100が、仮想現実環境を動き回ると、観客150は、仮想現実空間のマルチメディアコンテンツを視聴する様々なスポットを提供されてよい。従って、HMD観客150は、HMDプレイヤ100の後を追う方法を提供されてよく、方法においては、異なるビュースポットが、HMD観客に対してカスタマイズされる、または、HMDプレイヤがあちこち移動しているコンテンツの知識に基づいて、予め識別またはプレオーサリングされてよい。
上記のように、観客共有ウェブサイト728を有することも可能であり、観客共有ウェブサイト728は、サービス700によってネットワーク710を介して提供されてよい。観客共有ウェブサイト728は、Twitchサイトと同じように機能できる。Twitchサイトは、任意の数の観客が仮想現実環境を観戦することを可能にする。一実施形態においては、ユーザは、ユーザが関心のあるコンテンツをユーザが観戦するのを可能にする検索機能を提供されてよい。観戦可能な仮想現実コンテンツは、HMDプレイヤ100がプレイしているライブのインタラクティブコンテンツであってもよく、または、前のHMDプレイヤセッションからの録画であってもよい。コンテンツが録画される場合も、観客は、前のHMDプレイヤからの録画セッションで異なる視点をインタラクティブに選択する能力を提供されてよい。
従って、観客ウェブサイト728は、新しく利用可能な仮想現実環境への変更、現在トレンドになっている環境、高い評価のHMDプレイヤがあちこち移動している関心のある環境のランキングに基づいて、または、観戦したいユーザの検索に基づいて、動的に提示及び更新できる。観客は、HMDプレイヤのライブの仮想現実コンテンツをHMDではない画面で視聴できることも理解されたい。
画面は、ローカルデバイス702に接続されたテレビの画面であってもよく、または、画面を有するポータブルデバイスであってもよい。コンテンツが、HMD102を通して視聴されていない場合、コンテンツは、二次元ディスプレイにVRコンテンツを提示することに関連する異常を取り除くように、三次元コンテンツから二次元コンテンツに変換されてよい。ある実施形態においては、三次元コンテンツを三次元対応画面に提示することもできる。このような場合、三次元画面で三次元コンテンツを視聴する時に通常使用される視聴眼鏡を使用することも可能であってよい。
さらに、観客は、twitchタイプサイト等のウェブサイトに接続されたディスプレイ画面からコンテンツを単純に視聴してよい。ある実施形態においては、HMDプレイヤ100によってプレイされている仮想現実環境450を、パーソナルコンピュータ(PC)、ゲームコンソール、スマートフォン、タブレットコンピュータ等を使用して視聴してよい。ある実施形態においては、HMDプレイヤがHMD102を介して視聴するコンテンツは、二次元画面に表示できるように、修正することができる。例えば、コンテンツをtwitchタイプサービスに共有する前に、コンテンツに3Dから2Dへの変換を行うことができる。他の実施形態においては、フル3Dコンテンツは、twitchタイプサービスに共有でき、twitchタイプサービスに接続された観客は、HMDを介してコンテンツを視聴できてよい。観客が仮想現実環境450を消費する方法は様々であってよく、観客に提供される機能も様々であってよいことは理解されたい。大まかに言うと、観客は、HMDプレイヤ100が見ている所を見るためにハイライトを提供されてよく、また、仮想現実シーン内の特定の場所のリスニングを可能にする動的に選択可能な設定も提供されてよい。
さらに、観客は、仮想現実環境450への異なるビュースポットを提供されてよい。これらのビュースポットは、動的に制御またはプレオーサリングされて、特定の視聴場所と視野角を観客に提供できる。これらの機能は、動的な拡張された観戦能力を提供でき、HMDがナビゲートしたコンテンツを観客が視聴する体験を強化する。上記のように、これらの実施形態は、HMDコンテンツを見ることで方向感覚を失ったり、または、単に不快感をもたらしたりし得るHMDプレイヤの頭の素早い動きに結び付けられず、より正常に観客がコンテンツを視聴することも容易にする。
HMDプレイヤの場所に応じて、徐々に動き得るまたはゆっくりと動き得るビュースポットを観客に提供することは、HMDプレイヤが楽しんでいる仮想現実コンテンツを見る簡単な方法を提供する。よって、観客は、簡単にコンテンツを見ることができ、また、見る楽しみ、または、HMDデバイスを介したゲームプレイへの参加もしくはマルチメディアコンテンツ視聴を向上させる方法を提供される。これらの強化された機能を提供することによって、観客は、もはや、HMDプレイヤの固定の視野角に縛られることはなく、また、もはや、HMDプレイヤと全く同じビューを視聴したり、HMDプレイヤが駆動している動作の後を正確に追ったりする必要はない。
図8を参照すると、本開示の実施形態による、ヘッドマウントディスプレイ102のコンポーネントの図が示されている。ヘッドマウントディスプレイ102は、プログラム命令を実行するプロセッサ1300を含む。メモリ1302が、記憶のために備えられ、メモリ1302は、揮発性、不揮発性の両方のメモリを含んでよい。ユーザが視聴し得る視覚インタフェースを提供するディスプレイ1304が含まれる。バッテリ1306が、ヘッドマウントディスプレイ102の電源として提供される。モーション検出モジュール1308は、磁力計1310、加速度計1312、及び、ジャイロスコープ1314等、様々な種類の動作検知ハードウェアのいずれかを含んでよい。
加速度計は、加速と重力によって引き起こされる反力とを測定する装置である。単軸及び多軸のモデルが、異なる方向の加速の大きさと方向の検出に利用できる。加速度計を使用して、傾き、振動、及び、衝撃を検知する。一実施形態においては、3つの加速度計1312を使用して、2つの角度(世界空間ピッチと世界空間ロール)に絶対参照を与える重力の方向を求める。
磁力計は、ヘッドマウントディスプレイの近くの磁場の強さと方向を測定する。一実施形態においては、3つの磁力計1310が、ヘッドマウントディスプレイ内で使用されて、世界空間ヨー角の絶対参照を確保する。一実施形態においては、磁力計は、±80マイクロテスラである地球の磁場にわたるように設計される。磁力計は、金属の影響を受け、実際のヨーに対して単調であるヨー測定値を提供する。磁場は、環境中の金属が原因で歪む場合があり、これは、ヨー測定値の歪みを起こす。必要に応じて、この歪みは、ジャイロスコープまたはカメラ等、他のセンサからの情報を用いて較正できる。一実施形態においては、加速度計1312は、磁力計1310と共に使用されて、ヘッドマウントディスプレイ102の傾きと方位角を取得する。
ある実施態様においては、ヘッドマウントディスプレイの磁力計は、他の近くの装置の電磁石が非アクティブな間中、読み取られるように構成される。
ジャイロスコープは、角運動量の原理に基づいて、向きを測定または維持する装置である。一実施形態においては、3つのジャイロスコープ1314が、各軸(x、y、z)に対する動きの情報を慣性感知に基づいて提供する。ジャイロスコープは、高速回転の検出を支援する。しかしながら、ジャイロスコープは、絶対参照の存在が無く、時間が経つとドリフトする可能性がある。これは、ジャイロスコープの周期的なリセットを必要とし、リセットは、オブジェクトの視覚追跡、加速度計、磁力計等に基づいた、位置/または向きの決定等、他の利用可能な情報を用いて行うことができる。
カメラ1316が、現実環境の画像及び画像ストリームを捕捉するために備えられる。後ろ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時、ユーザから離れる方向)を向いているカメラと、前(ユーザがヘッドマウントディスプレイ102のディスプレイを見ている時、ユーザに向かう方向)を向いているカメラとを含む複数のカメラがヘッドマウントディスプレイ102に含まれてよい。さらに、デプスカメラ1318が、現実環境のオブジェクトの奥行情報を検知するために、ヘッドマウントディスプレイ102に含まれてよい。
ヘッドマウントディスプレイ102は、オーディオ出力を提供するスピーカ1320を含む。また、マイクロフォン1322が、周辺環境の音、ユーザによる会話等を含む、現実環境からのオーディオを捕捉するために含まれてよい。ヘッドマウントディスプレイ102は、触覚フィードバックをユーザに提供する触覚フィードバックモジュール1324を含む。一実施形態においては、触覚フィードバックモジュール1324は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ102に動き及び/または振動を起こすことができる。
LED1326は、ヘッドマウントディスプレイ102の状態の視覚的インジケータとして提供される。例えば、LEDは、バッテリレベル、電源オン等を示してよい。カードリーダ1328が備えられて、ヘッドマウントディスプレイ102が、メモリカードに情報の読み書きをするのを可能にする。USBインタフェース1330が、周辺装置の接続、または、他のポータブルデバイス、コンピュータ等、他の装置への接続を可能にするためのインタフェースの一例として含まれる。ヘッドマウントディスプレイ102の様々な実施形態において、様々な種類のインタフェースのいずれかが、ヘッドマウントディスプレイ102の接続性を向上させるために含まれてよい。
WiFi(登録商標)モジュール1332が、無線ネットワーク技術を用いてインターネットまたはローカルエリアネットワークへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ102は、他の装置への無線接続を可能にするブルートゥース(登録商標)モジュール1334を含む。通信リンク1336も、他の装置への接続のために含まれてよい。一実施形態においては、通信リンク1336は、無線接続に赤外線送信を利用する。他の実施形態においては、通信リンク1336は、他の装置との通信のために、様々な無線または有線の送信プロトコルのいずれかを利用してよい。
入力ボタン/センサ1338が、入力インタフェースをユーザに提供するために含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等、様々な種類の入力インタフェースのいずれかが、含まれてよい。超音波通信モジュール1340が、超音波技術を用いて他の装置との通信を促進するためにヘッドマウントディスプレイ102に含まれてよい。
バイオセンサ1342が、生理学的データのユーザからの検出を可能にするために含まれる。一実施形態においては、バイオセンサ1342は、ユーザの皮膚を通して、ユーザの生体電気信号を検出するための1つまたは複数の乾電極を含む。
ビデオ入力1344が、HMDをレンダリングするために、一次処理コンピュータ(例えば、メインゲームコンソール)からビデオ信号を受信するように構成される。ある実施態様においては、ビデオ入力は、HDMI(登録商標)入力である。
ヘッドマウントディスプレイ102の前述のコンポーネントは、ヘッドマウントディスプレイ102に含まれ得る単なる例示のコンポーネントとして記載した。開示の様々な実施形態において、ヘッドマウントディスプレイ102は、様々な上記のコンポーネントの幾つかを含んでもよく、含まなくてもよい。ヘッドマウントディスプレイ102の実施形態は、さらに、ここには記載しないが、当分野で既知の他のコンポーネントを、本明細書に記載の本開示の態様を容易にするために、含んでよい。
図9は、開示の様々な実施形態による、ゲームシステム1400のブロック図である。ゲームシステム1400は、1つまたは複数のクライアント1410にネットワーク1415を介してビデオストリームを提供するように構成される。ゲームシステム1400は、典型的に、ビデオサーバシステム1420と、オプションのゲームサーバ1425とを含む。ビデオサーバシステム1420は、ビデオストリームを1つまたは複数のクライアント1410に最低限のサービス品質で提供するように構成される。例えば、ビデオサーバシステム1420は、ビデオゲームの状態とビデオゲーム内の視点とを変更するゲームコマンドを受信してよく、状態のこの変化を反映する更新されたビデオストリームを最小の遅延時間でクライアント1410に提供してよい。ビデオサーバシステム1420は、今後、規定されるフォーマットも含む多種多様な代替ビデオフォーマットで、ビデオストリームを提供するように構成されてよい。さらに、ビデオストリームは、多種多様なフレームレートで、ユーザに提示されるように構成されたビデオフレームを含んでよい。典型的なフレームレートは、毎秒30フレーム、毎秒60フレーム、及び、毎秒120フレームであるが、より高いまたはより低いフレームレートが、開示の代替実施形態に含まれる。
本明細書では、個々に、1410A、1410B等と呼ばれるクライアント1410は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線装置、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス等を含んでよい。典型的に、クライアント1410は、符号化ビデオストリームを受信するように構成され、ビデオストリームを復号するように構成され、且つ、結果として生じるビデオをユーザ、例えば、ゲームのプレイヤに提示するように構成される。符号化ビデオストリームを受信するプロセス、及び/または、ビデオストリームを復号するプロセスは、典型的に、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント1410に一体化されたディスプレイ、または、モニタもしくはテレビ等の別個の装置で、ユーザに提示されてよい。クライアント1410は、任意選択で、複数のゲームプレイヤをサポートするように構成される。例えば、ゲームコンソールは、2人、3人、4人、または、5人以上の同時プレイヤをサポートするように構成されてよい。これらの各プレイヤは、別個のビデオストリームを受信してよく、または、一つのビデオストリームが、特に各プレイヤに対して生成された、例えば、各プレイヤの視点に基づいて生成されたフレームの領域を含んでよい。クライアント1410は、任意選択で、地理的に分散している。ゲームシステム1400に含まれるクライアントの数は、1人もしくは2人から、何千、何万、または、それ以上と様々であってよい。本明細書においては、「ゲームプレイヤ」という語は、ゲームをプレイする人を指して使用され、「ゲームプレイデバイス」という語は、ゲームのプレイに使用されるデバイスを指して用いられる。ある実施形態においては、ゲームプレイデバイスは、協働してゲーム体験をユーザに伝える複数のコンピュータデバイスを指してよい。例えば、ゲームコンソール及びHMDは、ビデオサーバシステム1420と協働して、HMDを通して視聴されるゲームを配信してよい。一実施形態においては、ゲームコンソールは、ビデオサーバシステム1420からビデオストリームを受信し、ゲームコンソールは、ビデオストリームまたはビデオストリームへの更新をレンダリングのためにHMDに転送する。
クライアント1410は、ネットワーク1415を介してビデオストリームを受信するように構成される。ネットワーク1415は、電話ネットワーク、インターネット、無線ネットワーク、送電線網、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク等を含む、任意の種類の通信ネットワークであってよい。典型的な実施形態においては、ビデオストリームは、TCP/IPまたはUDP/IP等の標準的プロトコルを介して通信される。あるいは、ビデオストリームは、プロプライエタリ規格を介して通信される。
クライアント1410の典型的な例は、プロセッサ、不揮発メモリ、ディスプレイ、復号論理回路、ネットワーク通信能力、及び、入力装置を含むパーソナルコンピュータである。復号論理回路は、ハードウェア、ファームウェア、及び/または、コンピュータ可読媒体に記憶されたソフトウェアを含んでよい。ビデオストリームを復号(及び符号化する)システムは、当分野で周知であり、使用される特定の符号化スキームに応じて変わる。
クライアント1410は、受信したビデオを修正するために構成されたシステムをさらに含んでよいが、含む必要はない。例えば、クライアントは、1つのビデオ画像を他のビデオ画像にオーバーレイする、ビデオ画像を切り取る等のために、さらにレンダリングを行うように構成されてよい。例えば、クライアント1410は、Iフレーム、Pフレーム、及び、Bフレーム等の様々な種類のビデオフレームを受信するように構成されてよく、また、これらのフレームを処理して、ユーザに表示する画像にするように構成されてよい。ある実施形態においては、クライアント1410の構成要素は、さらに、レンダリング、シェーディング、3Dへの変換、または、同様の操作をビデオストリームに対して行うように構成される。クライアント1410の構成要素は、任意選択で、複数のオーディオストリームまたはビデオストリームを受信するように構成される。クライアント1410の入力装置は、例えば、片手ゲームコントローラ、両手ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び/または位置検知装置、マウス、タッチスクリーン、神経インタフェース、カメラ、今後開発される入力装置等を、含んでよい。
クライアント1410が受信したビデオストリーム(及び、任意選択で、オーディオストリーム)は、ビデオサーバシステム1420によって生成、提供される。さらに、本明細書の他の箇所に記載のように、このビデオストリームは、ビデオフレームを含み(且つ、オーディオストリームは、オーディオフレームを含む)。ビデオフレームは、ユーザに表示される画像に有意の寄与をするように構成される(例えば、ビデオフレームは、適切なデータ構造の画素情報を含む)。本明細書においては、「ビデオフレーム」という語は、ユーザに示す画像に寄与するように構成された、例えば、影響を与えるように構成された情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の教示の大半は、「オーディオフレーム」にも適用できる。
クライアント1410は、典型的に、ユーザからの入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するように、または、他の形でゲームプレイに影響を与えるように構成されたゲームコマンドを含んでよい。ゲームコマンドは、入力装置を用いて受信できる、及び/または、クライアント1410で実行する計算命令によって自動的に生成されてよい。受信したゲームコマンドは、クライアント1410からネットワーク1415を介してビデオサーバシステム1420及び/またはゲームサーバ1425に通信される。例えば、ある実施形態においては、ゲームコマンドは、ビデオサーバシステム1420を介してゲームサーバ1425に通信される。ある実施形態においては、ゲームコマンドの別々のコピーが、クライアント1410からゲームサーバ1425及びビデオサーバシステム1420に通信される。ゲームコマンドの通信は、任意選択で、コマンドのアイデンティティに依存する。ゲームコマンドは、任意選択で、オーディオストリームまたはビデオストリームをクライアント1410Aに提供するのに使用される異なるルートまたは通信チャネルを通して、クライアント1410Aから通信される。
ゲームサーバ1425は、任意選択で、ビデオサーバシステム1420と異なるエンティティによって操作される。例えば、ゲームサーバ1425は、マルチプレイヤゲームの発行者によって操作されてよい。この例において、ビデオサーバシステム1420は、任意選択で、ゲームサーバ1425によってクライアントとして視聴され、任意選択で、ゲームサーバ1425の視点からは、先行技術のゲームエンジンを実行する先行技術のクライアントであると見えるように構成される。ビデオサーバシステム1420とゲームサーバ1425との間の通信は、任意選択で、ネットワーク1415を介して生じる。従って、ゲームサーバ1425は、ゲーム状態情報を複数のクライアントに送る先行技術のマルチプレイヤゲームサーバであってよく、複数のクライアントの1つは、ゲームサーバシステム1420である。ビデオサーバシステム1420は、ゲームサーバ1425の複数のインスタンスと同時に通信するように構成されてよい。例えば、ビデオサーバシステム1420は、複数の異なるビデオゲームを異なるユーザに提供するように構成できる。これらの異なるビデオゲームは、それぞれ、異なるゲームサーバ1425によってサポートされてよく、及び/または、異なるエンティティによって発行されてよい。ある実施形態においては、ビデオサーバシステム1420の幾つかの地理的に分散したインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム1420のこれらのインスタンスは、それぞれ、ゲームサーバ1425の同じインスタンスと通信してよい。ビデオサーバシステム1420と1つまたは複数のゲームサーバ1425との間の通信は、専用通信チャネルを介して任意選択で生じる。例えば、ビデオサーバシステム1420は、これら2つのシステム間の通信専用の広帯域チャネルを介してゲームサーバ1425に接続されてよい。
ビデオサーバシステム1420は、少なくともビデオソース1430、I/O装置1445、プロセッサ1450、及び、非一時的ストレージ1455を含む。ビデオサーバシステム1420は、1つのコンピュータデバイスを含んでよく、または、複数のコンピュータデバイス間に分散されてよい。これらのコンピュータデバイスは、任意選択で、ローカルエリアネットワーク等の通信システムを介して接続される。
ビデオソース1430は、ビデオストリーム、例えば、動画を形成するストリーミングビデオもしくは一連のビデオフレームを提供するように構成される。ある実施形態においては、ビデオソース1430は、ビデオゲームエンジンとレンダリング論理とを含む。ビデオゲームエンジンは、プレイヤからゲームコマンドを受信するように構成され、受信したコマンドに基づいて、ビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境におけるオブジェクトの位置と、典型的には、視点とを含む。ゲーム状態は、オブジェクトのプロパティ、画像、色、及び/または、テクスチャも含んでよい。ゲーム状態は、典型的に、ゲーム規則と、移動、回転、攻撃、焦点を合わせる、インタラクト、使用等のゲームコマンドに基づいて維持される。ゲームエンジンの一部は、任意選択でゲームサーバ1425内に配置される。ゲームサーバ1425は、地理的に分散したクライアントを用いて複数のプレイヤから受信したゲームコマンドに基づいて、ゲーム状態のコピーを維持してよい。この場合、ゲーム状態は、ゲームサーバ1425によってビデオソース1430に提供され、ゲーム状態のコピーが記憶されて、レンダリングが行われる。ゲームサーバ1425は、クライアント1410からネットワーク1415を介して直接、ゲームコマンドを受信してよい、及び/または、ビデオサーバシステム1420を介してゲームコマンドを受信してよい。
ビデオソース1430は、典型的に、レンダリング論理回路、例えば、ハードウェア、ファームウェア、及び/または、ストレージ1455等のコンピュータ可読媒体に記憶されたソフトウェアを含む。このレンダリング論理回路は、ゲーム状態に基づいて、ビデオストリームのビデオフレームを作成するように構成される。レンダリング論理回路の全てまたは一部は、任意選択で、グラフィックス処理ユニット(GPU)内に配置される。レンダリング論理回路は、典型的に、オブジェクト間の三次元空間関係を決定するために、及び/または、ゲーム状態と視点とに基づいて適切なテクスチャ等を適用するために、構成された処理段階を含む。レンダリング論理回路は、未加工ビデオを生成し、次に、通常は、クライアント1410に通信される前に符号化される。例えば、未加工ビデオは、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC‐1、WMA、Huffyuv、Lagarith、MPG‐x.、Xvid、FFmpeg、x264、VP6−8、realvideo、mp3等に従って符号化されてよい。符号化処理によって、ビデオストリームが生成され、ビデオストリームは、リモートデバイス上のデコーダに送るために、任意選択でパッケージ化される。ビデオストリームは、フレームサイズとフレームレートによって特徴づけられる。典型的なフレームサイズは、800x600、1280x720(例えば、720p)、1024x768を含むが、任意の他のフレームサイズを用いてよい。フレームレートは、毎秒あたりのビデオフレームの数である。ビデオストリームは、異なる種類のビデオフレームを含んでよい。例えば、H.264規格は、「P」フレームと「I」フレームを含む。Iフレームは、ディスプレイ装置上のマクロブロック/画素をリフレッシュする情報を含み、Pフレームは、そのサブセットをリフレッシュする情報を含む。Pフレームは、典型的に、Iフレームよりデータサイズが小さい。本明細書においては、「フレームサイズ」という語は、フレーム内の画素数を指す。「フレームデータサイズ」という語は、フレームの記憶に必要なバイト数を指すのに用いられる。
代替実施形態においては、ビデオソース1430は、カメラ等のビデオ記録装置を含む。このカメラを使用して、コンピュータゲームのビデオストリームに含まれ得る遅延ビデオまたはライブビデオを生成してよい。結果として生じるビデオストリームは、任意選択で、レンダリングされた画像と、スチルカメラまたはビデオカメラを用いて記録された画像との両方を含む。ビデオソース1430は、以前記録されたビデオをビデオストリームに含めるように記憶するように構成された記憶装置も含んでよい。ビデオソース1430は、また、オブジェクト、例えば、人の動作または位置を検出するように構成された動作または位置検知装置と、検出された動作及び/または位置に基づいて、ゲーム状態を決定またはビデオを生成するように構成された論理回路とを含んでよい。
ビデオソース1430は、他のビデオ上に配置されるように構成されたオーバーレイを提供するように任意選択で構成される。例えば、これらのオーバーレイは、コマンドインタフェース、ログイン命令、ゲームプレイヤへのメッセージ、他のゲームプレイヤの画像、他のゲームプレイヤのビデオフィード(例えば、webcamビデオ)を含んでよい。タッチスクリーンインタフェースまたは視線検出インタフェースを含むクライアント1410Aの実施形態においては、オーバーレイは、仮想のキーボード、ジョイスティック、タッチパッド等を含んでよい。オーバーレイの一例においては、プレイヤの音声が、オーディオストリームにオーバーレイされる。ビデオソース1430は、任意選択で1つまたは複数のオーディオソースをさらに含む。
ビデオサーバシステム1420が複数のプレイヤからの入力に基づいてゲーム状態を維持するように構成された実施形態においては、各プレイヤは、ビューの位置と方向を含む異なる視点を有してよい。ビデオソース1430は、任意選択で、各プレイヤの視点に基づいて、各プレイヤに別々のビデオストリームを提供するように構成される。さらに、ビデオソース1430は、異なるフレームサイズ、フレームデータサイズ、及び/または、符号化を各クライアント1410に提供するように構成されてよい。ビデオソース1430は、任意選択で3Dビデオを提供するように構成される。
I/O装置1445は、ビデオサーバシステム1420が、ビデオ、コマンド、情報の要求、ゲーム状態、視線情報、デバイスの動き、デバイスの位置、ユーザの動作、クライアントのアイデンティティ、プレイヤのアイデンティティ、ゲームコマンド、セキュリティ情報、オーディオ等の情報を送信及び/または受信するように構成される。I/O装置1445は、典型的に、ネットワークカードまたはモデム等の通信ハードウェアを含む。I/O装置1445は、ゲームサーバ1425、ネットワーク1415、及び/または、クライアント1410と通信するように構成される。
プロセッサ1450は、本明細書で述べたビデオサーバシステム1420の様々なコンポーネント内に含まれる論理回路、例えば、ソフトウェアを実行するように構成される。例えば、プロセッサ1450は、ビデオソース1430、ゲームサーバ1425、及び/または、クライアントクオリファイア1460の機能を行うために、ソフトウェア命令を用いてプログラムされてよい。ビデオサーバシステム1420は、任意選択で、プロセッサ1450の複数のインスタンスを含む。プロセッサ1450は、ビデオサーバシステム1420が受信したコマンドを実行するために、または、本明細書で述べたゲームシステム1400の様々な要素の操作を連係させるために、ソフトウェア命令を用いてプログラムされてもよい。プロセッサ1450は、1つまたは複数のハードウェア装置を含んでよい。プロセッサ1450は、電子プロセッサである。
ストレージ1455は、非一時的アナログ及び/またはデジタル記憶装置を含む。例えば、ストレージ1455は、ビデオフレームを記憶するように構成されたアナログ記憶装置を含んでよい。ストレージ1455は、例えば、ハードドライブ、光学ドライブ、または、ソリッドステートストレージ等、コンピュータ可読デジタルストレージを含んでよい。ストレージ1415は、ビデオフレーム、擬似フレーム、ビデオフレーム及び擬似フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム等を記憶するように(例えば、適切なデータ構造またはファイルシステムによって)構成される。ストレージ1455は、任意選択で複数の装置に分散される。ある実施形態においては、ストレージ1455は、本明細書の他の箇所で述べるビデオソース1430のソフトウェアコンポーネントを記憶するよう構成される。これらのコンポーネントは、必要に応じプロビジョニング可能なフォーマットで記憶されてよい。
ビデオサーバシステム1420は、任意選択で、クライアントクオリファイア1460をさらに含む。クライアントクオリファイア1460は、クライアント1410Aまたは1410B等のクライアントの能力を遠隔で判断するために構成される。この能力は、クライアント1410A自体の能力と、クライアント1410Aとビデオサーバシステム1420との間の1つまたは複数の通信チャネルの能力と両方を含み得る。例えば、クライアントクオリファイア1460は、ネットワーク1415を通して通信チャネルをテストするよう構成されてよい。
クライアントクオリファイア1460は、クライアント1410Aの能力を手動または自動で判定(例えば、発見)できる。手動による判定は、クライアント1410Aのユーザと通信し、能力を提供するようユーザに求める。例えば、ある実施形態においては、クライアントクオリファイア1460は、クライアント1410Aのブラウザ内に画像、テキスト等を表示するよう構成される。一実施形態においては、クライアント1410Aはブラウザを含むHMDである。別の実施形態においては、クライアント1410Aはブラウザを有するゲームコンソールであり、HMDに表示されてよい。表示されたオブジェクトは、クライアント1410Aのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報を入力するようユーザに求める。ユーザにより入力された情報は、クライアントクオリファイア1460に返信される。
自動判定は、例えば、クライアント1410Aでのエージェントの実行によって、及び/または、クライアント1410Aへのテストビデオの送信によって、実施されてよい。エージェントは、ウェブページに埋め込まれるか、アドオンとしてインストールされた、Java(登録商標)スクリプト等の計算命令を含んでよい。エージェントは、任意選択でクライアントクオリファイア1460により提供される。様々な実施形態において、エージェントは、クライアント1410Aの処理能力、クライアント1410Aの復号能力及び表示能力、クライアント1410Aとビデオサーバシステム1420との間の通信チャネルの遅延時間信頼性及び帯域幅、クライアント1410Aの表示の種類、クライアント1410Aのファイアウォール、クライアント1410Aのハードウェア、クライアント1410Aで実行されるソフトウェア、クライアント1410A内のレジストリエントリ等を知ることができる。
クライアントクオリファイア1460は、ハードウェア、ファームウェア、及び/または、コンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア1460は、ビデオサーバシステム1420の1つまたは複数の他の要素とは別個のコンピュータデバイス上に任意選択で配置される。例えば、ある実施形態においては、クライアントクオリファイア1460は、クライアント1410とビデオサーバシステム1420の複数のインスタンスとの間の通信チャネルの特性を判断するよう構成される。これらの実施形態においては、クライアントクオリファイアが発見した情報を使用して、ビデオサーバシステム1420のどのインスタンスがクライアント1410の1つにストリーミングビデオを配信するのに最適かを判断できる。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家電製品、ミニコンピュータ、メインフレームコンピュータ等を含む多様なコンピュータシステム構成で実践されてよい。本開示は、有線または無線ネットワークを介してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても実践できる。
上記の実施形態を念頭において、本開示は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施操作を使用できることを理解されたい。これらの操作は、物理量を伴う物理的操作を要する操作である。本開示の一部を成す本明細書に記載の操作はいずれも、有用な機械操作である。本開示は、これらの操作を行うデバイスまたは装置にも関する。装置は、必要とされる目的に合わせて特別に構築できる、または、装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータであってよい。詳細には、様々な汎用機械を本明細書の教示に従って書かれたコンピュータプログラムと共に使用できる、または、必要な操作を行なうより専門的な装置を構築するとより便利な場合がある。
本開示は、コンピュータ可読媒体上のコンピュータ可読コードとして実現することもできる。コンピュータ可読媒体は、データの記憶ができる任意のデータ記憶装置であり、データは、後にコンピュータシステムにより読み取ることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、並びに、他の光学的及び非光学的データ記憶装置を含む。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶、実行されるように、ネットワーク接続コンピュータシステムを介して分散されたコンピュータ可読有形媒体を含み得る。
方法の操作は特定の順序で記載しているが、操作と操作の間で他のハウスキーピング操作が行われてもよく、または、オーバーレイ操作処理が所望の方法で実施される限り、操作は、わずかに異なる時間に実施されるように調整されてもよく、または、処理に関連付けられた様々な間隔で、処理操作が行われるのを可能にするシステムに分散されてもよいことは理解されたい。
上記開示は、明確に理解されるように詳述したが、添付の特許請求の範囲内で所定の変更及び修正を実践してよいことは明らかであろう。従って、本実施形態は、例示的なものであって限定的なものではなく、本開示は本明細書の詳細に限定されず、本開示の範囲及び均等物の範囲内で修正されてよい。