特許第6982466号(P6982466)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー・インタラクティブエンタテインメント エルエルシーの特許一覧

特許6982466より少ないホップにより拡張仮想現実シーンをヘッドマウントシステム内に生成するためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6982466
(24)【登録日】2021年11月24日
(45)【発行日】2021年12月17日
(54)【発明の名称】より少ないホップにより拡張仮想現実シーンをヘッドマウントシステム内に生成するためのシステム及び方法
(51)【国際特許分類】
   A63F 13/655 20140101AFI20211206BHJP
   A63F 13/213 20140101ALI20211206BHJP
   A63F 13/335 20140101ALI20211206BHJP
   A63F 13/428 20140101ALI20211206BHJP
   A63F 13/5258 20140101ALI20211206BHJP
   A63F 13/73 20140101ALI20211206BHJP
   G06F 3/01 20060101ALI20211206BHJP
【FI】
   A63F13/655
   A63F13/213
   A63F13/335
   A63F13/428
   A63F13/5258
   A63F13/73
   G06F3/01 510
【請求項の数】37
【全頁数】48
(21)【出願番号】特願2017-207849(P2017-207849)
(22)【出願日】2017年10月27日
(62)【分割の表示】特願2016-518341(P2016-518341)の分割
【原出願日】2014年5月23日
(65)【公開番号】特開2018-69069(P2018-69069A)
(43)【公開日】2018年5月10日
【審査請求日】2017年11月24日
【審判番号】不服2020-7141(P2020-7141/J1)
【審判請求日】2020年5月26日
(31)【優先権主張番号】14/144,210
(32)【優先日】2013年12月30日
(33)【優先権主張国】US
(31)【優先権主張番号】61/832,776
(32)【優先日】2013年6月7日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ペリー、デイヴィッド
【合議体】
【審判長】 藤田 年彦
【審判官】 吉村 尚
【審判官】 藤本 義仁
(56)【参考文献】
【文献】 米国特許出願公開第2013/0065692(US,A1)
【文献】 米国特許第8275893(US,B2)
【文献】 米国特許出願公開第2009/0327918(US,A1)
【文献】 国際公開第2012/049674(WO,A1)
【文献】 特開2002−159019(JP,A)
【文献】 特開2001−281594(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F9/24
A63F13/00-13/98
G06T1/00
G06T11/60-13/80
G06T17/05
G06T19/00-19/20
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイ(HMD)とゲームクラウドの間の通信を処理し、前記HMDを介して拡張現実シーンを表示する方法であって、
ユーザが前記HMDを着用するとき前記ユーザを取り巻く現実世界環境の複数の画像を前記HMDのカメラによってキャプチャするステップと、
前記HMDによって前記複数の画像のデータを符号化して前記現実世界環境の前記複数の画像に対して生成される符号化された画像データを出力するステップと、
前記HMDのワイヤレスアクセス回路によって、前記現実世界環境の前記複数の画像に対して生成される前記符号化された画像データをパケット化してパケット化された現実世界環境のデータであって、前記符号化された画像データのストリームを含む前記パケット化された現実世界環境のデータを出力するステップと、
前記現実世界環境の前記複数の画像に対して生成される前記符号化された画像データの前記ストリームを含む前記パケット化されたデータを、前記HMDとルータの間のゲームコンソールを用いることなくインターネットに接続された前記ルータを介して前記ゲームクラウドに送信するステップとを含み、
前記ゲームクラウドはメディアデータを生成するためのプログラムを実行し、前記メディアデータを符号化およびパケット化して符号化メディアデータのストリームを出力し、前記符号化メディアデータは前記現実世界環境の前記複数の画像の上にオーバーレイされるべき仮想オブジェクトデータを提供し、
前記方法はさらに、
前記ワイヤレスアクセス回路によって、前記ゲームクラウドから受信した前記符号化メディアデータのストリームをパケット解除して、パケット解除されたデータを提供するステップと、
前記HMDのデコーダによって、前記パケット解除されたデータをデコードしてデコードされたメディアデータを出力するステップと、
前記HMDのマイクロコントローラによって、前記HMDのディスプレイデバイス上に前記拡張現実シーンを表示するために前記現実世界環境の前記複数の画像上のオーバーレイとして前記デコードされたメディアデータをレンダリングするステップとを含む方法。
【請求項2】
前記HMDは前記ゲームコンソールと連携するように構成される、請求項1に記載の方法。
【請求項3】
前記パケット化された現実世界環境のデータと前記符号化メディアデータのストリームをインターネットを介して転送するためにインターネットはインターネットプロトコル(IP)上で転送制御プロトコル(TCP)を適用する、請求項1に記載の方法。
【請求項4】
前記ゲームクラウドは前記メディアデータの符号化を実行するためのコーデックを含む、請求項1に記載の方法。
【請求項5】
前記HMDのプロセッサによって、インターネットにアクセスするためのオペレーティングシステムを実行するステップと、
前記オペレーティングシステム上で前記プロセッサによって実行されるネットワークアクセスアプリケーションの選択を受け取るステップと、
前記ネットワークアクセスアプリケーションによって、前記マイクロコントローラにワイヤレスネットワークのリストを提供し、前記リストを前記ディスプレイデバイス上に表示するステップと、
前記HMDに結合したユーザ入力回路を介して、前記リストからの一つのワイヤレスネットワークの選択を受け取るステップと、
前記ネットワークアクセスアプリケーションによって、前記一つのワイヤレスネットワークにアクセスするためのパスワードを要求するステップと、
前記ネットワークアクセスアプリケーションによって、前記パスワードが認証された場合にインターネットへのアクセスを提供するステップと、
インターネットへのアクセスを提供することに反応してゲームアクセスアプリケーションへのアクセスを提供するステップと、
前記ユーザ入力回路を介して前記ゲームアクセスアプリケーションの選択を受け取るステップと、
前記ゲームアクセスアプリケーションの選択を受け取ることに反応して前記プログラムへのアクセスを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項6】
前記ゲームアクセスアプリケーションを介して前記プログラムにアクセスするためのユーザネームとパスワードの要求を受け取るステップと、
ユーザから前記プログラムにアクセスするための前記ユーザネームと前記パスワードを受け取るステップと、
前記プログラムにアクセスするための前記ユーザネームと前記パスワードが真正であると判定された場合に前記プログラムへのアクセスを許可するステップとをさらに含む、請求項5に記載の方法。
【請求項7】
前記ゲームクラウドは前記パケット化された現実世界環境のデータをパケット解除して前記現実世界環境の前記符号化された画像データを抽出するように構成される、請求項1に記載の方法。
【請求項8】
前記現実世界環境の前記複数の画像上に前記メディアデータをスーパーインポーズするために前記メディアデータが前記現実世界環境の前記複数の画像のデータにもとづいて生成される、請求項7に記載の方法。
【請求項9】
前記ルータはインターネットと前記HMDの間に配置され、前記HMDは無線接続を介して前記ルータに接続される、請求項1に記載の方法。
【請求項10】
前記無線接続はWi−Fi接続である、請求項9に記載の方法。
【請求項11】
前記ルータによって、インターネットから前記符号化メディアデータのストリームを受信するステップと、
前記ルータによって、前記HMDのアドレスにもとづいて前記HMDに前記符号化メディアデータのストリームをルーティングするステップとをさらに含む、請求項1に記載の方法。
【請求項12】
前記ルータによって、前記符号化メディアデータのストリームを受信するステップと、
前記HMDのストリームバッファによって、前記ルータによって受信された前記符号化メディアデータのストリームをバッファリングするステップとをさらに含む、請求項1に記載の方法。
【請求項13】
前記デコードするステップと前記パケット解除するステップは前記バッファリングするステップの後、前記HMDによって実行される、請求項12に記載の方法。
【請求項14】
前記HMDの映像音声分離器によって、前記デコードされたメディアデータを音声データとビデオデータに分離するステップと、
前記HMDの映像音声同期器によって、前記ビデオデータを前記音声データと同期させるステップと、
前記HMDのオーディオコーデックによって、同期された前記音声データを変換して音声信号を生成するステップと、
前記HMDの1以上のスピーカによって、前記音声信号を再生して音声を生成するステップと、
前記HMDによって、同期されたビデオデータを変換し、アナログビデオ信号を生成するステップとをさらに含み、
前記レンダリングするステップは、前記アナログビデオ信号を表示して前記拡張現実シーンを表示する、請求項1に記載の方法。
【請求項15】
前記ユーザの目に向けられた前記HMDの内部デジタルカメラによって、前記ユーザの注視をキャプチャするために前記ユーザの目の画像データをキャプチャするステップと、
前記ワイヤレスアクセス回路によって、前記ユーザの目の前記画像データをパケット化して前記ユーザの目の前記画像データを含むパケット化されたデータを生成するステップと、
前記ルータおよびインターネットを介して前記ゲームクラウドに前記ユーザの目の前記画像データを含む前記パケット化されたデータを送信するステップとをさらに含む、請求項1に記載の方法。
【請求項16】
前記マイクロコントローラによって、前記ユーザの前記注視にもとづいて前記ディスプレイデバイスのディスプレイスクリーンを異なる解像度に分割するステップをさらに含み、前記異なる解像度は低解像度と高解像度を含み、前記高解像度を有する前記ディスプレイスクリーンの一部は前記注視の方向にある、請求項15に記載の方法。
【請求項17】
前記HMDのコントローラ通信回路によって、手持型コントローラから入力信号を受信するステップと、
前記コントローラ通信回路によって、前記入力信号を入力データに変換するステップと、
前記ワイヤレスアクセス回路によって、前記コントローラ通信回路から前記入力データを受信するステップと、
前記ワイヤレスアクセス回路によって、前記入力データをパケット化してパケット化された入力データを生成するステップと、
前記ワイヤレスアクセス回路によって、前記ルータおよびインターネットを介して前記パケット化された入力データを前記ゲームクラウドのコーデックに送信するステップとをさらに含む、請求項1に記載の方法。
【請求項18】
前記ワイヤレスアクセス回路は、前記デコーダが統合されるチップとは別のチップに統合される、請求項1に記載の方法。
【請求項19】
ヘッドマウントディスプレイ(HMD)を含むシステムであって、
前記HMDは、
前記HMDがユーザによって着用され、前記ユーザを取り巻く現実世界環境の複数の画像をキャプチャするように構成されたカメラと、
前記カメラに結合したワイヤレスアクセス回路であって、前記複数の画像のデータを符号化して前記現実世界環境の前記複数の画像に対して生成される符号化された画像データを出力し、前記現実世界環境の前記複数の画像に対して生成される前記符号化された画像データをパケット化してパケット化された現実世界環境のデータであって、前記符号化された画像データのストリームを含む前記パケット化された現実世界環境のデータを出力するように構成された前記ワイヤレスアクセス回路とを含み、
前記ワイヤレスアクセス回路は、前記現実世界環境の前記複数の画像に対して生成される前記符号化された画像データの前記ストリームを含む前記パケット化されたデータを、前記HMDとルータの間のゲームコンソールを用いることなく前記ルータとインターネットを介してゲームクラウドに送信するように構成され、
前記ゲームクラウドはメディアデータを生成するためのプログラムを実行し、前記メディアデータを符号化およびパケット化して符号化メディアデータのストリームを出力するように構成され、前記符号化メディアデータは前記現実世界環境の前記複数の画像の上にオーバーレイされるべき仮想オブジェクトデータを提供し、
前記ワイヤレスアクセス回路は、前記ゲームクラウドから受信した前記符号化メディアデータのストリームをパケット解除して、パケット解除されたデータを提供するように構成され、
前記ワイヤレスアクセス回路は、前記パケット解除されたデータをデコードしてデコードされたメディアデータを出力するように構成され、
前記HMDはさらに、
前記ワイヤレスアクセス回路に結合したマイクロコントローラであって、前記HMDのディスプレイデバイス上に拡張現実シーンを表示するために前記現実世界環境の前記複数の画像上に前記デコードされたメディアデータをオーバーレイするように構成された前記マイクロコントローラとを含む、システム。
【請求項20】
前記HMDは前記ゲームコンソールと連携するように構成される、請求項19に記載のシステム。
【請求項21】
前記パケット化された現実世界環境のデータと前記符号化メディアデータのストリームをインターネットを介して転送するためにインターネットはインターネットプロトコル(IP)上で転送制御プロトコル(TCP)を適用する、請求項19に記載のシステム。
【請求項22】
前記ゲームクラウドは前記メディアデータの符号化を実行するためのコーデックを含む、請求項19に記載のシステム。
【請求項23】
前記HMDはさらに、
インターネットにアクセスするためのオペレーティングシステムを実行するプロセッサを含み、
前記プロセッサは、前記オペレーティングシステム上で前記プロセッサによって実行されるネットワークアクセスアプリケーションの選択を受け取るように構成され、
前記ネットワークアクセスアプリケーションは、前記マイクロコントローラにワイヤレスネットワークのリストを提供し、前記リストを前記ディスプレイデバイス上に表示するように構成され、
前記HMDはさらに、
前記HMDに結合したユーザ入力回路であって、前記リストからの一つのワイヤレスネットワークの選択を受け取るように構成された前記ユーザ入力回路を含み、
前記ネットワークアクセスアプリケーションは、前記一つのワイヤレスネットワークにアクセスするためのパスワードを要求するように構成され、
前記ネットワークアクセスアプリケーションは、前記パスワードが真正であるという判定に反応してインターネットへのアクセスを提供するように構成され、
インターネットへのアクセスを提供することに反応してゲームアクセスアプリケーションがアクセスされ、
前記ユーザ入力回路は、前記ゲームアクセスアプリケーションの選択を受け取るように構成され、
前記ゲームアクセスアプリケーションの選択を受け取ることに反応して前記プログラムがアクセスされる、請求項19に記載のシステム。
【請求項24】
前記HMDは、前記ゲームアクセスアプリケーションを介して前記プログラムにアクセスするためのユーザネームとパスワードの要求を受け取るように構成され、
前記HMDは、前記ユーザ入力回路から前記プログラムにアクセスするための前記ユーザネームと前記パスワードを受け取るように構成され、
前記プログラムにアクセスするための前記ユーザネームと前記パスワードが真正であると判定された場合に前記プログラムがアクセスされる、請求項23に記載のシステム。
【請求項25】
前記ゲームクラウドは前記パケット化された現実世界環境のデータをパケット解除して前記現実世界環境の前記符号化された画像データを抽出するように構成される、請求項19に記載のシステム。
【請求項26】
前記現実世界環境の前記複数の画像上に前記メディアデータをスーパーインポーズするために前記メディアデータが前記現実世界環境の前記複数の画像のデータにもとづいて生成される、請求項25に記載のシステム。
【請求項27】
前記ルータはインターネットと前記HMDの間に配置され、前記HMDは無線接続を介して前記ルータに接続される、請求項19に記載のシステム。
【請求項28】
前記無線接続はWi−Fi接続である、請求項27に記載のシステム。
【請求項29】
前記ルータは、インターネットから前記符号化メディアデータのストリームを受信するように構成され、
前記ルータは、前記HMDのアドレスにもとづいて前記HMDに前記符号化メディアデータのストリームをルーティングするように構成される、請求項19に記載のシステム。
【請求項30】
前記ルータは、前記符号化メディアデータのストリームを受信するように構成され、
前記HMDは前記ワイヤレスアクセス回路に結合したストリームバッファを含み、前記ストリームバッファは、前記ルータによって受信された前記符号化メディアデータのストリームをバッファリングするように構成される、請求項19に記載のシステム。
【請求項31】
前記ワイヤレスアクセス回路は、前記ストリームバッファにバッファされた前記符号化メディアデータのストリームにアクセスし、前記符号化メディアデータのストリームをパケット解除するように構成される、請求項30に記載のシステム。
【請求項32】
前記HMDは、前記デコードされたメディアデータを音声データとビデオデータに分離するように構成された映像音声分離器を含み、
前記HMDは、前記ビデオデータを前記音声データと同期させるように構成された映像音声同期器を含み、
前記HMDは、同期された前記音声データを変換して音声信号を生成するように構成されたオーディオコーデックを含み、
前記HMDは、前記音声信号を再生して音声を生成するように構成された1以上のスピーカを含み、
前記HMDは、同期されたビデオデータをアナログビデオ信号に変換するように構成され、
前記マイクロコントローラは、前記アナログビデオ信号にレンダリングオペレーションを適用して前記拡張現実シーンを表示するように構成される、請求項19に記載のシステム。
【請求項33】
前記HMDは、前記ユーザの注視をキャプチャするために前記ユーザの目の画像データをキャプチャするように構成された内部デジタルカメラを含み、前記内部デジタルカメラは前記ユーザの目に向けられるように構成され、
前記ワイヤレスアクセス回路は、前記ユーザの目の前記画像データをパケット化して前記ユーザの目の前記画像データを含むパケット化されたデータを生成するように構成され、
前記ワイヤレスアクセス回路は、前記ルータおよびインターネットを介して前記ゲームクラウドに前記ユーザの目の前記画像データを含む前記パケット化されたデータを送信するように構成される、請求項19に記載のシステム。
【請求項34】
前記マイクロコントローラは、前記ユーザの前記注視にもとづいて前記ディスプレイデバイスのディスプレイスクリーンを異なる解像度に分割するように構成され、前記異なる解像度は低解像度と高解像度を含み、前記高解像度を有する前記ディスプレイスクリーンの一部は前記注視の方向にある、請求項33に記載のシステム。
【請求項35】
前記HMDに結合した手持型コントローラをさらに含み、
前記HMDは、前記手持型コントローラから入力信号を受信するように構成されたコントローラ通信回路を含み、
前記コントローラ通信回路は、前記入力信号を入力データに変換するように構成され、
前記ワイヤレスアクセス回路は、前記コントローラ通信回路から前記入力データを受信するように構成され、
前記ワイヤレスアクセス回路は、前記入力データをパケット化してパケット化された入力データを生成するように構成され、
前記ワイヤレスアクセス回路は、前記ルータおよびインターネットを介して前記パケット化された入力データを前記ゲームクラウドのコーデックに送信するように構成される、請求項19に記載のシステム。
【請求項36】
前記符号化メディアデータのストリームは、前記符号化メディアデータの複数のパケットを含み、
前記方法はさらに、
前記ワイヤレスアクセス回路によって、前記ルータから受信した前記符号化メディアデータの複数のパケットにアクセスするステップを含む、請求項1に記載の方法。
【請求項37】
前記符号化メディアデータのストリームは、前記符号化メディアデータの複数のパケットを含み、
前記ワイヤレスアクセス回路は、前記ルータから受信した前記符号化メディアデータの複数のパケットにアクセスするように構成された、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、より少ないホップにより拡張仮想現実シーンをヘッドマウントシステム内に生成するためのシステム及び方法に関する。
【背景技術】
【0002】
据置型ゲーム機は一般に、拡張仮想現実ゲームを行うために使用される。たとえばユーザは通常、拡張仮想現実ゲームを行うためにコントローラ及びコンソールを購入する。コンソールはインターネットに接続されていてもよい。コンソール及びインターネットを介してゲームを行うために、ユーザはコンソールの電源を入れ、コントローラを操作する。しかしゲームプレイを容易にするためにゲームデータを仲介する、たとえばネットワーク機器の数などのホップ数が、拡張仮想現実ゲームのプレイの速度を落とす可能性がある。たとえば拡張仮想現実ゲームの特定のステージをプレイするために、ユーザに待ち時間が生じる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示に記載の実施形態はこれに関連する。
【課題を解決するための手段】
【0004】
本開示に記載の実施形態は、本明細書に記載の、より少ないホップにより拡張仮想現実シーンをヘッドマウントシステム内に生成するためのシステム及び方法を提供する。
【0005】
広義的に言えば、このシステム及び方法によりいくつかの実施形態において、ヘッドマウントディスプレイとネットワークとの間にルータをバイパスすることでメディアデータをネットワークからヘッドマウントディスプレイにストリーミングして拡張仮想現実ゲームプレイを行うことが可能になる。ルータを使用しないことで、ヘッドマウントディスプレイと、ユーザが拡張仮想現実ゲームをプレイするためにゲームプログラムを実行するゲームクラウドとの間のホップ数を削減する。
【0006】
いくつかの実施形態では、ゲームクラウドシステムを介したゲームプレイに使用されるヘッドマウントディスプレイが用いられる。ヘッドマウントディスプレイは、ネットワークを介したゲームプログラムに関連する現実世界のメディアを送信する通信回路を含む。現実世界のメディアはゲームクラウドシステムによって処理され、通信回路からゲームクラウドシステムへと直接ストリーミングされる。ヘッドマウントディスプレイはさらに、通信回路に接続されるゲーム処理回路を含む。コンピュータにより生成され、ネットワークを介してゲームクラウドシステムから受信された双方向メディアをデコードするために、ゲーム処理回路が用いられる。ゲーム処理回路は、コンピュータにより生成された双方向メディアを現実世界のメディア上にスーパーインポーズすることにより、ゲームプログラムに関連する双方向部分を駆動する。コンピュータにより生成された双方向メディアは現実世界のメディアに基づいて生成される。
【0007】
いくつかの実施形態では、ゲームクラウドシステムを介したゲームプレイ方法について記載する。この方法は、ネットワークを介したゲームプログラムに関連する現実世界のメディアの送信を含む。現実世界のメディアはゲームクラウドシステムによって処理され、ゲームクラウドシステムへと直接ストリーミングされる。この方法はネットワークを介してゲームクラウドシステムから受信する、コンピュータにより生成された双方向メディアのデコードを含む。この方法は、コンピュータにより生成された双方向メディアを現実世界のメディア上にスーパーインポーズすることによる、ゲームプログラムに関連する双方向部分の駆動を含む。コンピュータにより生成された双方向部分は現実世界のメディアに基づいて生成される。
【0008】
様々な実施形態では、ゲームクラウドシステムを介したコンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体について記載する。コンピュータ実行可能命令はコンピュータのプロセッサによって実行されると、ネットワークを介したゲームプログラムに関連する現実世界のメディアの送信を行う。現実世界のメディアはゲームクラウドシステムによって処理され、ゲームクラウドシステムへと直接ストリーミングされる。コンピュータ実行可能命令はプロセッサによって実行されると、ネットワークを介してゲームクラウドから受信したコンピュータにより生成された双方向メディアをデコードする。コンピュータ実行可能命令はプロセッサによって実行されると、コンピュータにより生成された双方向メディアを現実世界のメディア上にスーパーインポーズすることによって、ゲームプログラムに関連する双方向部分を駆動する。コンピュータにより生成される双方向部分は、現実世界のメディアに基づいて生成される。
【0009】
本明細書に記載の他の態様については、実施例として添付図面を用いて本開示に記載される実施形態の原理を実証する以下の詳細な説明により明らかにする。
【図面の簡単な説明】
【0010】
本開示に記載の様々な実施形態については、添付図面を参照して以下の説明を読むと、最もよく理解できる。
【0011】
図1A】本開示に記載の一実施形態に係る、ゲームクラウドとヘッドマウントディスプレイ(HMD)または手持型コントローラ(HHC)との間でより少ない数のホップを用いて拡張仮想現実シーンをHMD内に生成するためのシステムの図である。
【0012】
図1B】本開示に記載の一実施形態に係る、拡張仮想現実シーンをHMD内に生成することを目的とした、ネットワーク及びルータを介したHMDまたはHHCとゲームクラウドとの間のデータ転送のためのシステムの図である。
【0013】
図1C】本開示に記載の一実施形態に係る、拡張仮想現実シーンをHMD内に生成することを目的とした、メディアデータの通信を行うためのコンソールを用いる、また入力データ及び/またはメディアデータ及び/または現実世界環境の通信を行うためのルータを用いる、あるいは用いないシステムの図である。
【0014】
図2】本開示に記載の一実施形態に係る、ユーザの頭部の動き及び/または手の動きに基づく入力データ生成を例示するシステムの図である。
【0015】
図3】本開示に記載の一実施形態に係る、図1AのHMDの実施例であるHMDの図である。
【0016】
図4A】本開示に記載の一実施形態に係る、ワイヤレスネットワークにアクセスするために図3のHMDの表示画面に表示される画像の図である。
【0017】
図4B】本開示に記載の一実施形態に係る、ワイヤレスネットワークにアクセスするためにコンピュータの表示画面に表示される画像の図である。
【0018】
図5A】本開示に記載の一実施形態に係る、HMDの表示画面の周辺領域が低解像度を有し、中央領域が高解像度を有する、図3のHMDの表示画面に表示されるゲーム画像の図である。
【0019】
図5B】本開示に記載の一実施形態に係る、HMDの表示画面の上部領域及び下部領域が低解像度を有し、上部及び下部領域の間の領域が高解像度を有する、図3のHMDの表示画面に表示されるゲーム画像の図である。
【0020】
図5C】本開示に記載の一実施形態に係る、HMDの表示画面の右側領域及び左側領域が低解像度を有し、右側及び左側領域の間の領域が高解像度を有する、図3のHMDの表示画面に表示されるゲーム画像の図である。
【0021】
図6】本開示に記載の一実施形態に係る、様々な種類のHHCを例示する図である。
【0022】
図7A】本開示に記載の一実施形態に係る、図3のHMDの実施例であるHMDの実施形態の図である。
【0023】
図7B】本開示に記載の一実施形態に係る、図3のHMDの実施例であるHMDの実施形態の等軸側視図である。
【0024】
図8A】本開示に記載の一実施形態に係る、デュアルショックコントローラを伴う図7BのHMDの使用を例示する図である。
【0025】
図8B】本開示に記載の一実施形態に係る、ムーブ(商標)コントローラを伴う図7BのHMDの使用を例示する図である。
【0026】
図9A】本開示に記載の一実施形態に係る、拡張仮想現実シーンにおいてゲームをプレイするための、図8Aのデュアルショックコントローラを伴う図7BのHMDの使用を例示する図である。
【0027】
図9B】本開示に記載の一実施形態に係る、図9Aの拡張仮想現実シーンを例示する図である。
【0028】
図10】本開示に記載の一実施形態に係る、図3のHHC及びHMDのインターフェイス接続に適合するコンソールのブロック図である。
【0029】
図11】本開示に記載の一実施形態に係る、ゲームシステムの実施形態のブロック図である。
【発明を実施するための形態】
【0030】
ヘッドマウントシステムにおいて、より少ないホップを用いて拡張仮想現実を実現するためのシステム及び方法について記載する。たとえばルータ、リピータ、ハブ、コンピュータ、コンソールなどのネットワーク機器が、ネットワーク機器を介して転送中のデータに、ホップを追加する。1つまたは複数のネットワーク機器を、ヘッドマウントディスプレイ(HMD)とネットワークとの間、かつ/または手持型コントローラ(HHC)とネットワークとの間に配置してもよい。ネットワーク機器による別の機器からのデータの受信、ネットワーク機器によるデータのバッファリング、データの分析及び別の機器へのデータの再送の結果としてホップを追加してもよい。このシステム及び方法は、HMDとネットワークとの間、かつ/またはHHCとネットワークとの間のネットワーク機器数を削減する。ネットワーク機器数の削減により、たとえばラグタイム、データのバッファリング時間、データの受信時間、データの分析時間、データの再送時間などの待ち時間が削減される。待ち時間が削減されると、HMD及び/またはHMCを用いて、ネットワークを介してゲームクラウドから受信された精緻なグラフィックスが最短の待ち時間で表示される。精緻なグラフィックスは、拡張仮想現実シーンを生成するために用いられる。本開示に記載の様々な実施形態については、これら特定の詳細の一部または全部がなくても実施することができる点に留意されたい。他の例において、周知のプロセス操作は本開示に記載の様々な実施形態を不必要に曖昧にしないために詳細に記載されていない。
【0031】
いくつかの実施形態では、このシステムはコンピュータ、HHC及びHMDを含む。様々な実施形態では、コンピュータはディスプレイ上でレンダリングされる双方向ゲームプログラムの1つまたは複数の部分を実行する専用コンピュータ、ゲーミングコンソール、携帯電話、タブレットまたは他のそのような機器であってもよい。これらの実施形態において、双方向ゲームプログラムの残りのあらゆる部分は、たとえば1つまたは複数の仮想マシン(VM)などのゲームクラウドシステムにおいて実行される。いくつかの実施形態では、ゲームクラウドシステムはゲームプログラムを実行するいくつかのサーバを含み、たとえばHMD、コンピュータスクリーン、テレビ画面などのゲーム機器上にゲーム環境を生成する。たとえばハイパーバイザがプロセッサ、記憶装置、サーバ物理などのリソース上で実行されることにより、いくつかのオペレーティングシステム及びいくつかのコンピュータソフトウェアアプリケーションが実行されてデータが生成され、そのデータをさらに用いてHMD上にゲーム環境が生成される。ゲーミングコンソールの実施例には、ソニー・コンピュータエンターテインメント(商標)及びその他メーカが製作したゲーミングコンソールが含まれる。双方向ゲームプログラムは複数ユーザがプレイするマルチユーザゲームプログラムまたは一名のユーザがコンピュータとプレイするシングルユーザゲームプログラムであってもよい。
【0032】
いくつかの実施形態では、双方向ゲームプログラムのすべての部分がゲームクラウドシステムまたはコンピュータ上で実行される。
【0033】
HMDは、ユーザの片目または両目の前にレンズや眼鏡などの小型のディスプレイオプティックを有する、ユーザの頭部に装着される装置またはヘルメットの一部である。いくつかの実施形態では、たとえば仮想シーン、拡張仮想現実シーンなどのワンシーンがHMDの表示画面状に表示される。両目用には2つのオプティックが使用されるが、両目でワンシーンを見る。
【0034】
いくつかの実施形態では、HMDは映像出力をコンピュータから受信しレンダリングすることが可能である。様々な実施形態では、HHC及び/またはHMDは無線でコンピュータと通信し、これによって有線接続の場合よりもHHC及び/またはHMDの動きが自由になる。
【0035】
HHCは、双方向ゲームプログラムへの入力を行うために、たとえばボタン、ジョイスティック、十字キー、トリガ、タッチパッド、手のジェスチャー、タッチスクリーンまたはその他の種類の入力機構などの様々な特徴を含んでもよい。HHCの実施例は、ソニー・コンピュータエンターテインメント(商標)製作のソニーデュアルショック4コントローラである。HHCの他の実施例は他社製の任意の型番やバージョン番号を有するコントローラを含む。
【0036】
さらにHHCは、モーションコントローラを動かすことでユーザが双方向ゲームプログラムとインターフェイス接続を行い、双方向ゲームプログラムに入力することを可能にするモーションコントローラであってもよい。モーションコントローラの実施例はソニー・コンピュータエンターテインメント(商標)製作のプレイステーションムーブ(商標)コントローラを含む。
【0037】
同様にHMDは、HMDを動かすことでユーザが双方向ゲームプログラムとインターフェイス接続を行い、双方向ゲームプログラムへの入力することを可能にするユーザ入力回路を含んでもよい。モーションコントローラ及び/またはHMDのポジション及び動きを検知するために様々な技術が採用されてもよい。たとえばモーションコントローラ及び/またはユーザ入力回路は、加速度センサ、ジャイロスコープ及び磁力計などの様々な種類の慣性センサ回路を含んでもよい。いくつかの実施形態では、加速度センサは待ち時間の短い6軸加速度センサである。いくつかの実施形態では、モーションコントローラ及び/またはHMDは1つまたは複数の、たとえば発光ダイオード(LED)、色点、反射鏡、マーカ、再帰反射材、定義済みの形状、定義済みの色、定義済みのオブジェクト、バーコード、タグ、クイックレスポンス(QR)コードなどの固定参照オブジェクトを含んでもよく、固定参照オブジェクトの画像は1つまたは複数のデジタルカメラによりキャプチャされる。いくつかの実施形態では、圧縮されたビデオデータを画像内ベースのモーションピクチャエキスパートグループ(MPEG)規格などの適切なフォーマットで送信することができるように、単一の電荷結合素子(CCD)、LEDインジケータ及びハードウェアベースのリアルタイムデータ圧縮ならびに符号化装置をさらに含むビデオカメラがデジタルカメラに含まれる。モーションコントローラ及び/またはHMDのポジション及び動きについてはその後、1つまたは複数のデジタルカメラによりキャプチャされた画像の分析を通じて決定することができる。
【0038】
図1Aは、ゲームクラウド102とHMD104またはHHC106との間でより少ない数のホップを用いて拡張仮想現実シーンをHMD104内に生成するためのシステム100の実施形態の図である。いくつかの実施形態では、ゲームクラウド102は本明細書内でゲームクラウドシステムと称される。様々な実施形態では、HMD104はユーザ108によって、HMD104のレンズが自身の目の前に配置されるようにユーザ108がヘルメットを被るのと同様の方法で自身の頭部に置かれる。いくつかの実施形態では、HMD104は度付き眼鏡、ゴーグルなどの眼鏡のように装着される。HMD104のいくつかの実施形態において、HMD104はユーザ108の両目を覆う。HHC106はユーザ106が手で持つ。
【0039】
様々な実施形態では、HHC106の代わりに、ユーザ106の手を用いて手のジェスチャー、指のジェスチャーなどのジェスチャーをHMD104に伝える。たとえばHMD104内のデジタルカメラがジェスチャーの画像をキャプチャし、HMD104内のプロセッサがジェスチャーを分析して、ジェスチャーがHMD104内に表示されたゲームに影響を与えるかどうかを決定する。
【0040】
本明細書内では、プロセッサはマイクロプロセッサ、プログラマブルロジック装置(PLD)、特定用途向け集積回路(ASIC)またはそれらの組み合わせであってもよい。
【0041】
システム100はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)またはそれらの組み合わせであってもよいネットワーク110を含む。ネットワーク110の実施例にはインターネット、イントラネット、またはそれらの組み合わせが含まれる。いくつかの実施形態では、ネットワーク110が伝送制御プロトコル(TCP)/インターネットプロトコル(IP)またはユーザデータグラムプロトコル/IP(UDP/IP)を用いて、ネットワーク110を介しゲームクラウド102とHMD104またはHHC106との間でメディアデータを通信する。様々な実施形態では、ネットワーク110がイーサネット(登録商標)プロトコル、TCP/IPプロトコルまたは両方のプロトコルを用いて、ネットワーク110を介しゲームクラウド102とHMD104またはHHC106との間でメディアデータを通信する。ゲームクラウド102はコーダ/デコーダ(コーデック)112及びストリームバッファ114を含む。ストリームバッファ114は、ゲームプログラム117の実行の際に生成されるメディアデータ116のストリームを格納する。ゲームプログラム117は双方向ゲームプログラムの実施例であり、ゲームクラウド102の1つまたは複数のサーバによって実行される。
【0042】
メディアデータ116は仮想環境データ、仮想ゲームオブジェクトデータ、それらの組み合わせなどを含む。様々な実施形態において、仮想環境データはゲームの仮想環境を生成するためにレンダリングされ、仮想ゲームオブジェクトデータは仮想ゲームキャラクタ、仮想点、仮想景品、ゲームインターフェイスなどの1つまたは複数の仮想ゲームオブジェクトを生成するためにレンダリングされる。
【0043】
いくつかの実施形態では、ゲームの仮想環境は仮想ゲームオブジェクトを含む。仮想環境の実施例には仮想都市、仮想道路、仮想湖、仮想海などの仮想地域が含まれる。
【0044】
コーデック112の実施例はコンプレッサ/デコンプレッサを含む。たとえばコーデック112はメディアデータ116をコード化/デコードする。圧縮の実施例には非可逆的圧縮、可逆的圧縮などが含まれる。
【0045】
いくつかの実施形態では、コーデック112がパケット化及びパケット解除を行い、コード化及びデコードを行う。これらの実施形態では、コーデック112がストリームバッファ114を含む。
【0046】
ユーザ108はHMD104を用いて、HMD104のプロセッサによって実行されるオペレーティングシステム(OS)にアクセスする。たとえば、ユーザ108はボタンを介してHMD104の電源を入れ、HMD104のプロセッサがOSを実行する。
【0047】
いくつかの実施形態では、OSによってHMD104のネットワーク110へのアクセスが可能になる。たとえばユーザ108が、OS上のHMD104のプロセッサによって実行されるネットワークアクセスアイコン、ネットワークアクセスシンボルなどのネットワークアクセスアプリケーションを選択する際に、ネットワークアクセスアプリケーションがHMD104のマイクロコントローラにネットワークのリストを提供し、それがユーザ108に対して表示される。ユーザ108はユーザ入力回路を用いてネットワーク110にアクセスするためにそれらネットワークの1つを選択する。たとえば、ユーザ108が頭部の傾き、まばたき、注視、凝視、うなずき、首振りなどの1つまたは複数の頭部の動きを行うと、それがユーザ入力回路により検知されてネットワークの1つの選択のための入力が生成される。別の実施例として、ユーザ108がHHC106上のボタンを選択し、ネットワークの1つが選択されて、その選択がHHC106の通信回路によってHHC106からHMD104へと通信される。通信回路の実施例には、トランシーバ、回路網の送信/受信、ネットワークインターフェイスコントローラまたはそれらの組み合わせなどが含まれる。ネットワークアクセスアプリケーションはまた、ネットワーク110にアクセスするためのセキュリティキー、パスコードなどのパスワードをユーザ108に要求する。パスワードが有効であると認証された場合には、ネットワークアクセスアプリケーションにより、ユーザ108はネットワーク110へのアクセスを許可される。
【0048】
ネットワーク110が一度アクセスされると、OSによってHMD104のゲームプログラム117へのアクセスが可能になる。たとえばユーザ108がOS上でHMD104のプロセッサにより実行されるゲームアクセスアイコン、ゲームアクセスシンボルなどのゲームアクセスアプリケーションを選択すると、ゲームアクセスアプリケーションがネットワーク110を介してゲームプログラム117へのアクセスを要求する。たとえばユーザ108が1つまたは複数の頭部の動きを行うと、それがユーザ入力回路により検知されて、ゲームアクセスアプリケーションを選択するための入力が生成される。別の実施例として、ユーザ108がゲームアクセスアプリケーションを選択するためにHHC106上のボタンを選択し、その選択がHHC106の通信回路によってHHC106からHMD104に通信される。
【0049】
ネットワーク110を介したゲームプログラム117へのアクセス取得時には、HMD104のマイクロコントローラがHMD104の表示画面上にゲームを表示する。いくつかの実施形態におけるHMD104の表示画面は、HMD104が急速に動かされた時のぶれを低減する高性能画面である。ユーザ108が1つまたは複数の頭部の動きを行うと、頭部の各々の動きがユーザ入力回路をトリガして、ゲームをプレイするために用いてもよい入力が生成される。いくつかの実施形態では、ユーザ108が自身の手を用いてHHC106の1つまたは複数のボタンの選択を行い、たとえば指を押し当てる、指を動かす、指を回転させる、指を上げる、指を下げる、指を右に向ける、指を左に向けるなどの各々の手の動きがHHC106をトリガして、ゲームをプレイするために用いてもよい入力が生成される。
【0050】
いくつかの実施形態では、ゲームアクセスアプリケーションがゲームプログラム117にアクセスするためのユーザ名及び/またはパスワードをユーザ108に要求する。ユーザ名及び/またはパスワードが有効であるとの認証がゲームクラウド102から受信されると、ゲームアクセスアプリケーションによりユーザ108のゲームプログラム117へのアクセスが可能になる。いくつかの実施形態では、1つもしくは複数の手の動きを行い、かつ/または1つもしくは複数の頭部の動きを行うことにより、ユーザ108がユーザ名及び/またはパスワードを提供する。
【0051】
様々な実施形態では、ゲームアクセスアプリケーションへのアクセスの代わりに、ユーザ108がネットワーク110へのアクセス時にウェブページへのアクセスを要求し、ウェブページがユーザ108のゲームプログラム117へのアクセスを可能にする。たとえばユーザ108は1つもしくは複数の頭部の動きを行うことによりユーザ入力回路を介して、または1つもしくは複数の手の動きを行うことによりHHC106を介してウェブブラウザアプリケーションを選択し、ウェブページにアクセスする。ユーザ108はウェブページにアクセスし、ウェブページに表示されるゲームをプレイする。ゲームプログラム117がゲームクラウド102上で実行されると、ゲームが表示される。
【0052】
いくつかの実施形態では、ゲームクラウド102上でゲームプログラム117が実行されると表示されるゲームを行うためにウェブページにアクセスする前に、ユーザ108のユーザ名及び/またはパスワードが認証される。ユーザ108がゲームアクセスアプリケーションにアクセスする際に、上記と同様の方法でユーザ名及び/またはパスワードが認証される。
【0053】
ゲームプログラム117がアクセスされると、コーデック112がメディアデータ116のデジタルデータストリームを圧縮するなどして符号化し、ネットワーク110を介して符号化されたメディアデータのストリームをHMD104へと送信する。いくつかの実施形態では、符号化されたメディアデータのデジタルデータストリームは、ネットワーク110を介して送信するためのパケットの形式を取る。HMD104はネットワーク110を介してコーデック112から符号化されたメディアデータのデジタルデータストリームを受信し、デジタルデータストリームはたとえばデコードされる、パケット解除されるなどの処理を行われて、HMD104の表示画面上にゲームを表示するためにレンダリングされる。
【0054】
ゲームがHMD104の表示画面上に表示されると、HMD104の外部ビデオカメラがユーザ108を取り巻く現実世界環境の1つまたは複数の画像をキャプチャする。現実世界環境の実施例には、ユーザ108が置かれた部屋、ユーザ108が置かれた地域、ユーザ108の周囲の現実世界のオブジェクトなどが含まれる。地域の実施例には、公園、道、湖、都市、ランドマークなどが含まれる。現実世界のオブジェクトの実施例には、バス停、喫茶店、店舗、ゲーム用カード、カードのデッキ、バケツ、瓶、電話、携帯電話、ゲーム用カードのバーコード、オフィス、乗り物、部屋、机、テーブル、椅子などが含まれる。現実世界環境の1つまたは複数の画像である現実世界環境のデータは、HMD104によりパケット化及び符号化されて、符号化された環境データのストリームとして、ネットワーク110を介してコーデック112へと送信される。たとえば現実世界環境のデータがルータを介して送信されない場合、現実世界環境のデータはHMD104からネットワーク110を介してゲームクラウド102へと直接送信される。いくつかの実施形態では、現実世界環境のデータは音声データ、ビデオデータまたはそれらの組み合わせを含む。様々な実施形態において、現実世界環境データは本明細書内で現実世界のメディアと称される。
【0055】
いくつかの実施形態においては、HMD104の外部ビデオカメラの代わりにまたはHMD104の外部ビデオカメラに加えて、携帯型であるデジタルカメラが現実世界環境の画像をキャプチャするために用いられる。たとえばビデオカメラは、ユーザ108を取り巻きユーザ108を含む現実世界環境の画像をキャプチャするために、ロボット装置に接続される。ロボット装置の実施例には、マルチコプター、ロボットアーム、ロボット、ロボット車両、ロボットカー、クアッドコプターなどが含まれる。たとえばデジタルカメラは、HMD104、ユーザ108及び/またはHHC106を取り巻く現実世界の画像をキャプチャするためにロボット装置に対して、その下、上、側面などに取り付けられる。
【0056】
符号化された現実世界環境データのストリームが受信されると、コーデック112は符号化された現実世界環境データをデコードし、ゲームクラウド102の1つまたは複数のサーバはストリームをパケット解除する。いくつかの実施形態では、HMD104から受信される符号化された現実世界環境データのストリームがゲームクラウド102によってまずパケット解除され、その後デコードされる。
【0057】
デコードされた現実世界環境データに基づき、ゲームプログラム117は付加メディアデータを生成し、付加メディアデータがゲームクラウド102の1つまたは複数のサーバによりパケット解除されて、付加メディアデータのストリームが生成される。たとえばゲームプログラム117は、現実世界の机の画像の上に表示される仮想ゲームキャラクタを生成する。別の実施例として、ゲームプログラム117はユーザ108の現実世界のオフィスの画像内に表示される仮想表示画面を生成される。
【0058】
いくつかの実施形態では、生成される仮想ゲームオブジェクトは、現実世界のオブジェクト間の現実世界の関係に基づく。たとえば現実世界において、現実の車が現実の路上を走る。この実施例では、現実世界の道路の画像がゲームプログラム117によって受信されると、仮想車両が生成される。別の実施例として、現実の電話または現実のコンピュータが現実のオフィスの現実の机の上に置かれる。この実施例では、仮想電話または仮想表示画面が、現実世界のオフィスに位置する現実の机の画像上に置かれる。付加メディアデータは仮想ゲームオブジェクトデータ及び/または仮想環境データを含む。仮想ゲームオブジェクトデータ及び仮想環境データの実施例には、コンピュータにより生成されるオブジェクトデータ、ゲームクラウド102の1つまたは複数のサーバによって生成されるオブジェクトデータなどが含まれる。
【0059】
いくつかの実施形態では、付加メディアデータにはゲームクラウド102の1つまたは複数のサーバによって生成される仮想ゲームオブジェクトデータが含まれ、またネットワーク110を介してHMD104から受領される現実世界環境データを含まれる。
【0060】
付加メディアデータのストリームはストリームバッファ114に格納され、コーデック112によって符号化され、符号化された付加メディアデータのストリームとしてネットワーク110を介してHMD104へと送信される。いくつかの実施形態では、付加メディアデータがまず符号化され、その後パケット化されて、符号化された付加メディアデータのストリームが生成される。HMD104は符号化された付加メディアデータのストリームを受信し、ストリームをパケット解除し、符号化された付加メディアデータをデコードして、付加メディアデータをHMD104のマイクロコントローラに提供する。
【0061】
HMD104のマイクロコントローラは、付加メディアデータに基づいてゲームプログラム117によって実行されるゲームの表示を変更する。たとえばHMD104のマイクロコントローラが仮想ゲームオブジェクトデータをレンダリングして仮想ゲームオブジェクトの1つまたは複数の画像を生成し、仮想ゲームオブジェクトはマイクロコントローラによってHMD104の外部ビデオカメラがキャプチャした1つまたは複数の現実世界環境の画像の上に重ねられる。別の実施例として、アバターまたは仮想ゲームキャラクタがゲーム用カードのバーコードの上にスーパーインポーズされる。
【0062】
現実世界環境の1つまたは複数の画像上に重ねられる仮想ゲームオブジェクトの例示として、現実世界環境におけるテーブルの外観、色、形状、テクスチャなどが変更される。別の例示として、現実世界の部屋の中にある現実世界のオブジェクトはいくつかの現実世界のオブジェクト以外すべて除外される。
【0063】
現実世界環境の1つまたは複数の画像上に仮想ゲームオブジェクトのオーバーレイの前後など、ゲームのプレイ中に、1つまたは複数の入力がHMD104及び/またはHHC106から受信される。たとえば、ユーザ108はHMD104を装着して1つまたは複数の頭部の動きを行う。現実世界環境の1つまたは複数の画像上に重ねられる仮想ゲームオブジェクトまたは仮想環境の、位置を変更し、姿勢を変更し、外観を変更し、動きを変更するなどして、制御を行うために、1つまたは複数の頭部の動きが行われる。別の実施例としてユーザ108は現実世界環境の1つまたは複数の画像上に重ねられる仮想ゲームオブジェクトまたは仮想環境を制御するために、たとえばボタンの押圧、ジョイスティックの動き、手のジェスチャー、指のジェスチャー、それらの組み合わせなどの1つまたは複数の手の動きを行う。そして1つまたは複数の手の動きが行われると、HHC106が入力データを生成し、その入力データはHMD104の通信回路へ送信するために、HHC106の通信回路によって入力信号へと転換される。いくつかの実施形態では、ユーザ108が頭部の動き及び/または手の動きを行って、現実世界環境の1つまたは複数の画像上にスーパーインポーズされる仮想オブジェクトの位置及び/または方向を変更する。入力信号はHMD104の通信回路によってアナログ形式からデジタル形式に転換されて入力データが生成され、入力データはHMD104によってパケット化及び符号化されて、ネットワーク110を介してコーデック112へと送信される。
【0064】
いくつかの実施形態では、ゲームプログラム117は1つまたは複数の頭部の動きに基づいて生成される入力データを、1つまたは複数の手の動きに基づいて生成される入力データとともにマッピングし、HMD104上に表示されるゲームの状態を変更するべきかどうかを決定する。たとえば頭部の傾きを示す入力がネットワーク110を介してHHC106上のボタンの押圧を示す入力とともに受信されると、ゲームプログラム117がゲームの状態の変更を決定する。そうでない場合、ゲームプログラム117はゲームのステージを変更しないことを決定する。
【0065】
1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きに基づいて生成された入力の入力データは、HMD104によってパケット化及び符号化されて、符号化された入力データのストリームとしてネットワーク110を介してコーデック112へと送信される。たとえば入力データがルータを介して送信されない時、入力データはHMD104からネットワーク110を介してゲームクラウド102へと直接送信される。HMD104とネットワーク110との間のデータを宛先装置などへ導く、送信するなどしてルーティングするために、ルータをHMD104とネットワーク110との間においてもよい。
【0066】
コーデック112は、ネットワーク110を介してHMD104から受信した符号化された入力データのストリームを解凍するなどしてデコードし、デコードされた入力データはパケット解除してゲームプログラム117へと送信するために、ストリームバッファ114内でバッファリングされる。ゲームクラウド102の1つまたは複数のサーバはデコードされた入力データのストリームをパケット解除し、入力データをゲームプログラム117へと送信する。いくつかの実施形態では、ゲームクラウド102がまずパケット解除を行い、その後デコードを行う。
【0067】
入力データに基づいて、ゲームプログラム117は次のメディアデータを生成し、次のメディアデータはゲームクラウド102の1つまたは複数のサーバによりパケット化されて、次のメディアデータのストリームが生成される。次のメディアデータのストリームはストリームバッファ114内に格納されてコーデック112によって符号化され、符号化された次のメディアデータのストリームとしてネットワーク110を介してHMD104へと送信される。いくつかの実施形態では、ネットワーク110を介して次のメディアデータをHMD104へと送信する前に、次のメディアデータがまず符号化され、その後パケット化される。HMD104は符号化された次のメディアデータのストリームを受信し、ストリームをパケット解除し、符号化された次のメディアデータをデコードして、次のメディアデータをHMD104のマイクロコントローラに提供する。
【0068】
いくつかの実施形態では、ゲーム環境はメディアデータ116、または付加メディアデータ、または次のメディアデータ、またはそれらの組み合わせを含む。
【0069】
HMD104のマイクロコントローラはゲームプログラム117によって実行されるゲームの表示を、次のメディアデータに基づいて変更する。たとえば現実世界環境の1つまたは複数の画像上に重ねられる仮想ゲームオブジェクトの外観、ポジション及び/または方向を、マイクロコントローラが変更する。別の実施例として、ユーザ108がうなずくと、ユーザ108のアバターも、ゲームプログラム117の実行により生成されるゲームの仮想世界においてうなずく。この実施例では、アバターが現実世界環境の1つまたは複数の画像上に重ねられる。さらに別の実施例として、ユーザ108が否定の意で首を振る時、ユーザ108のアバターも、ゲームプログラム117の実行により生成されるゲームの仮想世界において首を振る。この実施例では、現実世界環境の1つまたは複数の画像上にアバターが重ねられる。別の実施例として、ユーザ108がHMD104の表示画面上に表示された仮想ゲームキャラクタを見ると、仮想ゲームキャラクタがユーザ108に視線を返す。ユーザ108が仮想ゲームキャラクタから視線を外すと、仮想ゲームキャラクタがユーザ108から視線を外す。さらにこの実施例においては、HMD104の外部ビデオカメラがユーザ108の目または頭部の位置の画像をキャプチャする。目または頭部の位置による注視に基づき、ゲームプログラム117は仮想ゲームキャラクタの目の位置を変更する。
【0070】
1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きに基づいて生成される入力の入力データがゲームの状態を変更する点に留意されたい。いくつかの実施形態では、ゲームの表示は本明細書内でゲームプログラム117に関連する双方向部分と称される。
【0071】
様々な実施形態では、1つまたは複数の手の動きに基づいて生成される入力データをHHC106からHMD104へと通信する代わりに、入力データがネットワーク110を介して直接HHC106からコーデック112へと通信される。たとえば入力データがHHC106とネットワーク110との間のルータ(図示せず)を介して通信されない場合、入力データはネットワーク110を介して直接HHC106からコーデック112へと通信される。1つまたは複数の手の動きに基づいて生成されるHMD104からの入力データは、入力データがHMD104により通信されるのと同様の方法で、HHC106により通信される。たとえば1つまたは複数の手の動きに基づいて生成されるHMD104からの入力データは、HHC106によって符号化及びパケット化され、ネットワーク110を介して符号化された入力データのストリームとしてコーデック112へと送信される。
【0072】
HMD104とネットワーク110との間にルータ(図示せず)を置かないことで、ネットワーク110とHMD104との間のホップ数が削減される点に留意されたい。ルータのない実施形態において、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのデータは、ゲームクラウド102のコーデック112によってネットワーク110を介してHMD104のワイヤレスアクセスカード(WAC)に直接ストリーミングされる。さらにこれらの実施形態においては、たとえば入力データ、現実世界環境データなどのデータはHMD104のWACによってネットワーク110を介してゲームクラウド102のコーデック112に直接ストリーミングされる。ホップ数の削減が、ルータに関連する時間の節約になる。たとえばルータは別のネットワーク機器からデータを受信し、データをバッファリングし、データを分析し、別のネットワーク機器にデータを再送する。HMD104とゲームクラウド102との間でネットワーク110を介してデータを転送する際に、ルータをバイパスすることでデータ受信、データのバッファリング、データ分析、データの再送の時間が節約される。また、HHC106とゲームクラウド102との間でネットワーク110を介してデータを転送する際に、ルータをバイパスすることでデータ受信、データのバッファリング、データ分析、データの再送の時間が節約される。
【0073】
同様に、たとえばコンソール、モバイル機器などのコンピュータがHMD104またはHHC104とネットワーク110との間で用いられない場合は、データの受信、格納、分析、再送に関連する時間が節約される。
【0074】
図1Bは、HMD104またはHHC106とゲームクラウド102との間のネットワーク110及びルータ152を介したデータ転送のためのシステム150の実施形態の図である。システム150については、システム150がHMD104とネットワーク110との間にルータ152を含む以外はシステム100(図1A)と同様である。ルータ152もまた、HHC106とネットワーク110との間に配置する。
【0075】
HMD104は、たとえばBluetooth(登録商標)接続、Wi−Fi(登録商標)接続などの無線接続を介して、ルータ152に接続される。さらにHHC106は、たとえばBluetooth(登録商標)接続、Wi−Fi(登録商標)接続などの無線接続を介して、ルータ152に接続される。いくつかの実施形態では、ルータ152は有線接続を介してネットワーク110に接続される。
【0076】
システム150については、符号化されたデータのストリームがHMD104またはHHC106からルータ152に送信される以外はシステム100(図1A)と同様に稼働する。ルータ152は符号化されたデータのストリームを導くなどしてネットワーク110上のパスへとルーティングし、ストリームのコーデック112への送信を容易にする。ルータ152はコーデック112のIPアドレス及び/またはメディアアクセス層(MAC)アドレスを用いて、符号化されたデータのストリームをコーデック112へとルーティングする。いくつかの実施形態では、ルータ152はネットワークパス上のパケットトラフィック、ネットワークパス上の輻輳などの1つまたは複数のネットワークトラフィック要因に基づいて、ネットワーク110のネットワークパスを決定する。
【0077】
ルータ152は、ネットワーク110を介してゲームクラウド102から符号化されたデータのストリームを受信し、符号化されたデータのストリームをHMD104にルーティングする。たとえばルータ152は、ネットワーク110を介してゲームクラウド102から受信した符号化されたデータのストリームを、HMD104のIPアドレス及び/またはMACアドレスに基づいてHMD104へとルーティングする。
【0078】
図1Cは、メディアデータの通信を行うためのコンピュータ172を用いる、また入力データ及び/またはメディアデータ及び/または現実世界環境データの通信を行うためにルータ152を用いる、あるいは用いないシステム170の実施形態の図である。
【0079】
いくつかの実施形態では、ワイヤレスネットワークの一覧がHMD104上ではなく、コンピュータ172に接続された、またはコンピュータ172内に配置された表示画面上に提示される。たとえばコンピュータ172が携帯電話である場合、コンピュータ172はワイヤレスネットワークの一覧を表示するための表示画面を含む。別の実施例として、コンピュータ172がテレビ表示画面に接続される場合、ワイヤレスネットワークの一覧は表示画面上に表示される。これらの実施形態においては、コンピュータ172のプロセッサ176がコンピュータ172の記憶装置内に格納されたワイヤレスアクセスアプリケーションを実行すると、ワイヤレスネットワークの一覧がアクセスされる。ユーザ108が1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きを行うことにより、HMD104またはHHC106を介してワイヤレスアクセスアプリケーションにアクセスすると、プロセッサ176がワイヤレスアクセスアプリケーションを実行する。1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きに基づいて生成された入力データは、HMD104またはHHC106の通信回路からコンピュータ172へと送信される。コンピュータ172のプロセッサ176が入力データを受信すると、ワイヤレスネットワークの一覧を生成するためのワイヤレスアクセスアプリケーションが実行される。
【0080】
コンピュータ172は、ゲームクラウド102からゲームプログラム117の一部を要求ネットワークインターフェイスコントローラ(NIC)174を含む。NICの実施例には、ネットワークインターフェイスカード及びネットワークアダプタが含まれる。ゲームプログラム117の一部がコーデック112によって符号化され、ネットワーク110を介してコンピュータ172のNIC174へとストリーミングされる。コンピュータ172のプロセッサ176はゲームプログラム117の一部を実行してメディアデータを生成し、そのメディアデータはたとえばトランシーバ、送信/受信回路、ネットワークインターフェイスコントローラなどの通信回路178からHMD104へと、HMD104の表示画面上に表示するために送信される。HMD104の通信回路はメディアデータをコンピュータ172から受信し、メディアデータをHMD104の表示画面上に表示するためHMD104のマイクロコントローラへと送信する。
【0081】
さらにコンピュータ172の通信回路178は現実世界環境データをHMD104の通信回路から受信する。現実世界環境データに応じて、コンピュータ172内に格納されたゲームプログラム117の一部をプロセッサ176が実行して付加メディアデータを生成し、付加メディアデータが通信回路178からHMD104の通信回路へと送信される。
【0082】
付加メディアデータの受信前後に、1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きに基づいて生成される、HMD104及び/またはHHC106からの入力データがHMD104の通信回路によって通信回路178を介してプロセッサ176へと送信される。入力データに応じて、プロセッサ176はコンピュータ172内に格納されたゲームプログラム117の一部を実行して次のメディアデータを生成し、次のメディアデータは、通信回路178からHMD104の通信回路に送信される。次のメディアデータはHMD104の通信回路に送信されて、ゲームプログラム117の実行により表示される仮想ゲームオブジェクト及び/またはゲームの仮想環境を変更する。現実のゲームオブジェクト、仮想ゲームオブジェクトなどのゲームオブジェクト及び/または現実環境、仮想環境などの環境が変更されると、ゲームプログラム117の実行によって表示されたゲームのゲーム状態が変更される。
【0083】
いくつかの実施形態では、コンピュータ172のNIC174によって、ゲーム状態がルータ152およびネットワーク110を介してゲームクラウド102へと送信され、ゲームクラウド102の1つまたは複数のサーバにゲーム状態が通知される。
【0084】
様々な実施形態では、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのメディアデータは、ゲームプログラム117の一部がゲームクラウド102からコンピュータ172にダウンロードされるまで、ネットワーク110及びルータ152を介してコーデック112からHMD104へと送信される。たとえば、ユーザ108は最初にゲームアクセスアプリケーションを用いてゲームプログラム117へとアクセスする。ゲームプログラム117の一部のアクセス中に、HMD104の表示画面上に表示するために、メディアデータ116、付加メディアデータ、次のメディアデータなどのメディアデータがコーデック112からネットワーク110及びルータ152を介してHMD104へと送信される。HMD104上に表示するために、メディアデータにゲームクラウド102からアクセスしている間に、コンピュータ172のNIC174がゲームクラウド102からネットワーク110及びルータ152を介してゲームプログラム117の一部をダウンロードする。
【0085】
いくつかの実施形態では、ゲームプログラム117の一部がコンソール172によりアクセスされると、HMD104の表示画面上に表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのメディアデータがコーデック112からネットワーク110を介してHMD104へと送信される。これらの実施形態では、ルータ152はホップ数を削減するためにバイパスされる。ルータ152のバイパス後にHMD104上に表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのメディアデータにゲームクラウド102からアクセスしている間に、コンピュータ172のNIC174がゲームクラウド102からネットワーク110及びルータ152を介してゲームプログラム117の一部をダウンロードする。
【0086】
いくつかの実施形態において、1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動き及び/または現実世界環境データの一部に基づいて生成された入力データの一部が、ルータ152及びネットワーク110を介してHMD104からゲームクラウド102のコーデック112へと送信され、入力データの残りの部分及び/または現実世界環境データの残りの部分がHMD104の通信回路からコンピュータ172の通信回路178へと送信される。
【0087】
様々な実施形態では、1つまたは複数の手の動きに基づいて生成された入力データの一部が、ルータ152及びネットワーク110を介してHHC106の通信回路からゲームクラウド102のコーデック112へと送信され、入力データの残りの部分がHHC106の通信回路からコンピュータ172の通信回路178へと送信される。
【0088】
いくつかの実施形態では、1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動き及び/または現実世界環境データの一部に基づいて生成された入力データの一部が、ネットワーク110を介してHMD104からゲームクラウド102のコーデック112へと送信され、入力データの残りの部分及び/または現実世界環境データの残りの部分がHMD104の通信回路からコンピュータ172の通信回路178へと送信される。これらの実施形態では、ルータ152はバイパスされる。
【0089】
いくつかの実施形態では、1つまたは複数の手の動きに基づいて生成された入力データの一部が、ネットワーク110を介してHHC106の通信回路からゲームクラウド102のコーデック112へと送信され、入力データの残りの部分がHHC106の通信回路からコンピュータ172の通信回路178へと送信される。これらの実施形態では、ルータ152はバイパスされる。
【0090】
様々な実施形態では、メディアデータをレンダリングしてHMD104の表示画面上にゲームを表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのゲームプログラム117の実行により生成されるメディアデータが、ネットワーク110及びルータ152を介してゲームクラウド102のコーデック112からHMD104へと送信され、コンピュータ172のプロセッサ176によりゲームプログラム117の一部が実行されることで生成されるメディアデータが、表示画面上にゲームを表示するために、コンピュータ172の通信回路178からHMD104へと送信される。これらの実施形態では、ゲームクラウド102及びコンピュータ172のゲーム状態が同期される。たとえば、コーデック112がゲームプログラム117の実行によって生成されるゲーム状態をネットワーク110及びルータ152を介してコンピュータ172のNIC174へと送信し、ゲーム状態をコンピュータ172に通知する。別の実施例として、コンピュータ172のNIC174がコンピュータ172上でゲームプログラム117の一部を実行することにより生成されるゲーム状態をルータ152及びネットワーク110を介してゲームクラウド102のコーデック112へと送信し、ゲーム状態を1つまたは複数のゲームクラウドサーバに通知する。
【0091】
いくつかの実施形態では、メディアデータをレンダリングしてHMD104の表示画面上にゲームを表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのゲームプログラム117の実行により生成されるメディアデータが、ネットワーク110を介してゲームクラウド102のコーデック112からHMD104へと送信され、コンピュータ172のプロセッサ176によりゲームプログラム117の一部が実行されることで生成されるメディアデータが、表示画面上にゲームを表示するために、コンピュータ172の通信回路178からHMD104へと送信される。これらの実施形態では、メディアデータ116、付加メディアデータ、次のメディアデータなどのメディアデータがコーデック112からHMD104へと送信される際にルータ152はバイパスされる。これらの実施形態では、ゲームクラウド102及びコンピュータ172のゲーム状態が上記のように同期される。
【0092】
いくつかの実施形態では、メディアデータをレンダリングしてHMD104の表示画面上にゲームを表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのゲームプログラム117の実行により生成され、ネットワーク110及びルータ152を介してゲームクラウド102のコーデック112からHMD104へと送信されるメディアデータについては、コンピュータ172のプロセッサ176によりゲームプログラム117の一部が実行されることで生成されるメディアデータよりもグラフィックス量が多い。
【0093】
いくつかの実施形態では、メディアデータをレンダリングしてHMD104の表示画面上にゲームを表示するために、たとえばメディアデータ116、付加メディアデータ、次のメディアデータなどのゲームプログラム117の実行により生成され、ネットワーク110を介してゲームクラウド102のコーデック112からHMD104へと送信されるメディアデータについては、コンピュータ172のプロセッサ176によりゲームプログラム117の一部が実行されることで生成されるメディアデータよりもグラフィックス量が多い。これらの実施形態では、メディアデータがネットワーク110を介してゲームクラウド102のコーデック112からHMD104へと送信される際にルータ152はバイパスされる。
【0094】
様々な実施形態では、HMD104(図1A〜1C、2)を用いて二次元または三次元画像を表示する。
【0095】
図2は、1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きに基づく入力データ生成を例示するシステム200の実施形態の図である。ユーザ108はHMD202を装着しており、HHC204を握っている。HMD202はHMD104(図1A〜1C)の実施例であり、HHC204はHHC106(図1A〜1C)の実施例である。
【0096】
HMD202は、たとえばマーカM1、マーカM2及びマーカM3などの1つまたは複数のマーカを含む。同様に、HHC204はたとえばマーカM4、マーカM5及びマーカM6などの1つまたは複数のマーカを含む。各マーカは発光ダイオード、光源、色、反射材料などであってもよい。
【0097】
ビデオカメラ206はHMD202の画像をキャプチャする。ユーザ108の頭部が傾いたり動いたりすると、マーカM1〜M3のポジション及び位置がXYZ座標系において変更される。ビデオカメラ206は、マーカM1〜M3の画像をキャプチャし、画像をコンピュータ172に送信する。マーカM1〜M3の画像は入力データの実施例である。三次元空間内(X、Y、Z)におけるHMD202のポジションは、画像内でのマーカM1〜M3のポジションに基づいてコンピュータ172のプロセッサ176(図1C)によって決定することができる。さらにHMD202のたとえば揺らす、傾ける、揺するなどの緩慢な動作はマーカM1〜M3の動きに基づいてコンピュータ172のプロセッサ176(図1C)によって決定される。
【0098】
様々な実施形態では、ビデオカメラ206は移動式である。たとえば、ビデオカメラ206はマルチコプター、ロボットアーム、ロボット、ロボット車両、ロボットカー、クアッドコプターなどのロボット装置に取り付けられる。たとえばビデオカメラ206は、ユーザ108及び/またはHMD202及び/またはHHC204の画像をキャプチャするためにロボット装置に対して、その下、上、側面などに取り付けられる。HMD202はユーザ108の頭部の動きとともに移動する。いくつかの実施形態では、ビデオカメラ206の代わりにデジタルカメラが用いられる。
【0099】
いくつかの実施形態では、ビデオカメラ206はHHC204の画像をキャプチャする。ユーザ108の手が動くと、マーカM4〜M6のポジション及び位置が座標系において変更される。ビデオカメラ206はマーカM4〜M6の画像をキャプチャし、画像をコンピュータ172に送信する。マーカM4〜M6の画像は入力データの実施例である。HHC204の三次元空間内(X、Y、Z)のポジションは画像内のマーカM4〜M6のポジションに基づいてコンピュータ172のプロセッサ176によって決定されてもよい。さらにHHC204のたとえば揺らす、傾ける、揺するなどの緩慢な動作はマーカM4〜M6に基づいてコンピュータ172のプロセッサ176によって決定される。
【0100】
いくつかの実施形態では、HHC204の代わりにユーザ108の手がマーカM4〜M6でマークされる。
【0101】
図3はHMD104(図1A〜1C)の実施例であるHMD250の実施形態の図である。HMD250は、映像音声分離器254、ビデオデコーダ255、WAC258、ストリームバッファ259、1つまたは複数のスピーカ260、ユーザ入力回路262、表示画面266、マイクロコントローラ268、オーディオバッファ272、外部ビデオカメラ274、オーディオコーデック276、内部デジタルカメラ278、ビデオバッファ280、映像音声同期装置282、マイクロフォン284及びコントローラ/コンピュータ通信回路287を含む。外部ビデオカメラ274はユーザ108の現実世界環境に向けられ、内部デジタルカメラ278はたとえばユーザ108の目、頭部など、ユーザ108に向けられる。
【0102】
いくつかの実施形態において、スピーカ260は音声回路である。様々な実施形態では、オーディオコーデック276、オーディオバッファ272及び/またはスピーカ260が音声回路である。いくつかの実施形態では、ビデオデコーダ255及びマイクロコントローラ268の組み合わせは本明細書内でゲーム処理回路と称される。様々な実施形態では、マイクロコントローラ268表示回路である。表示画面の実施例にはLEDスクリーン、液晶表示(LCD)スクリーン、シリコンスクリーン上の液晶、有機発光(OLED)スクリーン、プラズマスクリーンなどが含まれる。外部デジタルカメラ274の実施例にはソニー・コンピュータエンターテインメント製作のプレイステーションアイ(登録商標)が含まれる。
【0103】
マイクロコントローラ268はレンダリングプログラム286及びオペレーティングシステム288を格納する。レンダリングプログラム286及びオペレーティングシステム288はマイクロコントローラ286の記憶装置内に格納され、マイクロコントローラ268のマイクロプロセッサにより実行される。マイクロコントローラ268の実施例には、表示画面266上にゲームを表示するために、表示画面266のLCDなどの要素を、それに提供する信号を生成する、それをアクティブにするための信号を生成するなどして駆動する、LCDドライバなどのドライバを含む低価格のマイクロコントローラが含まれる。マイクロコントローラ268の別の実施例には、グラフィック処理ユニット(GPU)が含まれる。
【0104】
いくつかの実施形態では、マイクロコントローラ268の記憶装置はフラッシュメモリまたはランダムアクセスメモリ(RAM)以外である。たとえばマイクロコントローラの記憶装置はバッファである。様々な実施形態では、マイクロコントローラ268の記憶装置はフラッシュメモリまたはRAMである。ユーザ入力回路262の実施例には、ジャイロスコープ、磁力計及び加速度センサが含まれる。WAC258の実施例にはNICが含まれる。いくつかの実施形態では、WAC258は本明細書内で通信回路と称される。
【0105】
符号化されたメディアデータのストリームは、ネットワーク110またはルータ152(図1B〜1C、2)からストリームバッファ259内で受信される。ストリームバッファ259により受信される符号化されたメディアデータの実施例には、符号化されたメディアデータ116(図1A〜1C、2)、符号化された付加メディアデータ、符号化された次のメディアデータなどが含まれる。ルータ152がコンピュータ172(図2)に接続されると、コンピュータ172から受信されたデータは、ストリームバッファ259に格納される代わりにHMD250のバッファ(図示せず)に格納されることに留意されたい。
【0106】
WAC258はストリームバッファ259から符号化されたメディアデータのストリームにアクセスし、ストリームのパケット解除を行う。さらにWAC258はまた、符号化されたメディアデータをデコードするデコーダを含む。
【0107】
符号化されたメディアデータのストリームがルータ152(図1C)を介してコンピュータ172(図1C)によって受信される実施形態においては、コンピュータ172のNIC174(図1C)が符号化されたメディアデータのストリームのパケット解除及びデコードを行いってデコードされたデータを生成し、そのデコードされたデータは格納のためにルータ152によってHMD250のバッファ(図示せず)へと送信される。
【0108】
デコードされたデータは映像音声分離器254によってWAC258から、またはHMD250のバッファ(図示せず)からアクセスされる。映像音声分離器254はデコードされたデータ内の音声データをビデオデータから分離する。
【0109】
映像音声分離器254は音声データをオーディオバッファ272に、ビデオデータビデオバッファ280に送信する。映像音声同期装置282は、ビデオバッファ280に格納されたビデオデータをオーディオバッファ272に格納された音声データと同期させる。たとえば映像音声同期装置282は、ビデオデータ及び音声データの再生時間を利用して、ビデオデータを音声データと同期させる。
【0110】
オーディオコーデック276は同期された音声データをデジタル形式からアナログ形式へと転換して音声信号を生成し、スピーカ260によって音声信号が再生されて音声が生成される。ビデオデコーダ255は、たとえばデジタル形式からアナログ形式に変更するなどして同期されたビデオデータをデコードし、アナログビデオ信号を生成する。マイクロコントローラ268は、ビデオデコーダ255により生成され、同期されたアナログビデオ信号に基づいて、レンダリングプログラム286を実行し、表示画面266上にゲームを表示する。いくつかの実施形態では、表示画面266上に表示されたゲームは、音声信号の再生と同期させて表示される。
【0111】
さらにユーザ108(図1A〜1C、2)はマイクロフォン284に話しかけ、マイクロフォン284はたとえば声などの音響信号を音声信号などの電気信号に転換する。オーディオコーデック276は音声信号をアナログ形式からデジタル形式に転換して音声データを生成し、音声データはオーディオバッファ276に格納される。オーディオバッファ276に格納された音声データは、ユーザ108の音響に基づいて生成される入力データの実施例である。音声データはWAC258によってオーディオバッファ276からアクセスされ、ネットワーク110(図1A〜1C、2)を介してゲームクラウド102(図1A〜1C、2)のコーデック112(図1A〜1C)に送信される。たとえばWAC258はオーディオバッファ276からアクセスされた音声データをパケット化し符号化して、ネットワーク110を介してコーデック112に送信する。
【0112】
いくつかの実施形態では、音声データはルータ152(図1B〜1C、2)及びネットワーク110(図1A〜1C、2)を介してゲームクラウド102のコーデック112(図1A〜1C)へと送信するために、WAC258によってオーディオバッファ276からアクセスされる。たとえばWAC258はオーディオバッファ276からアクセスされた音声データをパケット化し符号化して、ルータ152及びネットワーク110を介してコーデック112へと送信する。
【0113】
内部デジタルカメラ278はユーザ108(図1A〜1C、2)の1つまたは複数の頭部の動きの1つまたは複数の画像をキャプチャして、1つまたは複数の頭部の動きに基づいて生成される入力データの実施例である画像データを生成する。同様に外部ビデオカメラ274は、現実世界環境及び/またはHMD250もしくはユーザ108の手に配置されたマーカ及び/またはユーザ108の手の1つまたは複数の画像をキャプチャし、入力データの実施例である画像データを生成する。ユーザ108の手に配置されたマーカに基づいてまたはユーザ108の手の動きに基づいて生成された画像データは、手の動きに基づいて生成される入力データの実施例である。カメラ274及び278によってキャプチャされた画像データはビデオバッファ280に格納される。
【0114】
いくつかの実施形態では、カメラ274及び278によってキャプチャされた画像データはHMD250のバッファに格納されるが、このバッファはビデオバッファ280とは異なる。様々な実施形態では、カメラ274及び278によってキャプチャされた画像データは、表示画面266上に画像を表示するためにビデオデコーダ255によってデコードされてマイクロコントローラ268へと送信される。
【0115】
いくつかの実施形態では、カメラ274及び278によってキャプチャされた画像データはWAC258によってビデオバッファ280からアクセスされ、ネットワーク110(図1A〜1C、2)を介してゲームクラウド102(図1A〜1C、2)のコーデック112(図1A〜1C)へと送信される。たとえばWAC258はビデオバッファ280からアクセスされた画像データをパケット化し符号化して、ネットワーク110を介してコーデック112へと送信する。
【0116】
いくつかの実施形態では、ビデオデータはWAC258によってビデオバッファ280からアクセスされ、ルータ152(図1B〜1C、2)及びネットワーク110(図1A〜1C、2)を介してゲームクラウド102のコーデック112(図1A〜1C)に送信される。たとえばWAC258はビデオバッファ280からアクセスされたビデオデータをパケット化し符号化して、ルータ152及びネットワーク110を介してコーデック112へと送信する。
【0117】
コントローラ/コンピュータ通信回路287は、HMD250のバッファ(図示せず)に格納するためにメディアデータをコンピュータ172から受信する。さらにコントローラ/コンピュータ通信回路287はHHC106(図1A〜1C、2)から入力信号を受信し、入力信号をアナログ形式からデジタル形式に転換して入力データを生成し、その入力データはWAC258によってアクセスされてネットワーク110(図1A〜1C、2)を介してゲームクラウド102(図1A〜1C、2)のコーデック112(図1A〜1C)へと送信される。たとえばWAC258はコントローラ/コンピュータ通信回路287からアクセスされた入力データをパケット化し符号化して、ネットワーク110を介してコーデック112へと送信する。
【0118】
いくつかの実施形態では、入力データはWAC258によってコントローラ/コンピュータ通信回路287からアクセスされ、ルータ152(図1B〜1C、2)及びネットワーク110(図1A〜1C、2)を介してゲームクラウド102のコーデック112(図1A〜1C)へと送信される。たとえばWAC258はビデオバッファ280からアクセスされたビデオデータをパケット化し符号化して、ルータ152及びネットワーク110を介してコーデック112へと送信する。
【0119】
いくつかの実施形態では、コントローラ/コンピュータ通信回路287が現実世界環境データをHHC106(図1A〜1C、2)から受信し、現実世界環境データはWAC258によってアクセスされ、ネットワーク110(図1A〜1C、2)を介してゲームクラウド102(図1A〜1C、2)のコーデック112(図1A〜1C)へと送信される。たとえばWAC258は、HHC106コントローラ/コンピュータ通信回路287の通信回路から受信された現実世界環境データを、ネットワーク110を介してコーデック112へと送信するためにパケット化し符号化する。
【0120】
いくつかの実施形態では、現実世界環境データはWAC258によって、コントローラ/コンピュータ通信回路287からアクセスされ、ルータ152(図1B〜1C、2)及びネットワーク110(図1A〜1C、2)を介してゲームクラウド102のコーデック112(図1A〜1C)へと送信される。たとえばWAC258はコントローラ/コンピュータ通信回路287からアクセスされた現実世界環境データを、ルータ152及びネットワーク110を介してコーデック112へと送信するためにパケット化し符号化する。
【0121】
コントローラ/コンピュータ通信回路287の代わりに、1つはデータを受信、送信するなどしてコンピュータ172(図1B)と通信させるため、もう1つはデータをHHC106(図1A〜1C、2)と通信させるために、2つの異なる通信回路を用いてもよい点に留意されたい。
【0122】
いくつかの実施形態では、WAC258のデコーダがWAC258の外部に配置される。様々な実施形態では、ストリームバッファ259はすWAC258内に配置される。
【0123】
いくつかの実施形態では、HMD250には任意の個数のマイクロコントローラ、任意の個数のバッファ、及び/または任意の個数の記憶装置が含まれる。
【0124】
様々な実施形態では、たとえば映像音声分離器254、ワイヤレスアクセスカード258、ストリームバッファ259、1つまたは複数のスピーカ260、ユーザ入力回路262、表示画面266マイクロコントローラ268、オーディオバッファ272、外部ビデオカメラ274、オーディオコーデック276、内部デジタルカメラ278、ビデオバッファ280、映像音声同期装置282、マイクロフォン284及びコントローラ/コンピュータ通信回路287などの構成要素に電力を提供する1つまたは複数のバッテリがHMD250に含まれる。1つまたは複数のバッテリは、交流コンセントに接続することのできる充電器(図示せず)を用いて充電される。
【0125】
いくつかの実施形態では、HMD250はペアリングを介したローカルユーザ間のピアツーピアマルチチャネル通信を容易にする通信回路(図示せず)を含む。たとえば、HMD250には、マイクロフォン284から受信された音響信号を変調し、チャネルを介して変調された信号を別のHMD(図示せず)のトランシーバに送信するトランシーバが含まれる。他のHMDのトランシーバは信号を復調して他のHMDのスピーカに提供し、ユーザ間の通信を容易にする。
【0126】
様々な実施形態では、異なる他のHMDとの通信を行うためにHMD250のトランシーバによって異なるチャネルが用いられる。たとえば変調された信号を第1の他のHMDへと送信するチャネルは、変調された信号を第2の他のHMDへと送信するチャネルとは異なる。
【0127】
いくつかの実施形態では、WAC258、ユーザ入力回路262、マイクロコントローラ268及びビデオデコーダ255は1つまたは複数の個別の回路チップに統合される。たとえば、WAC258、ビデオデコーダ255及びマイクロコントローラ268がある回路チップに統合され、ユーザ入力回路262は別の回路チップに統合される。別の実施例として、WAC258、ユーザ入力回路262、マイクロコントローラ268及びビデオデコーダ255のそれぞれが別の回路チップに統合される。
【0128】
いくつかの実施形態では、HMD250が外部デジタルカメラ274を有さず、かつ/または内部デジタルカメラ278を有しない。これらの実施形態では、HMD250のポジション及び動作がゲームクラウド102の1つまたは複数のサーバによってユーザ入力回路262によって、かつ/またはコンピュータ172(図1C)のプロセッサ176(図1C)によって、生成される入力データに基づき決定され、ネットワーク110(図1A〜1C、2)を介して送信されるか、またはルータ152(図1B〜1C、2)及びネットワーク110を介して送信されるか、またはルータ152、コンピュータ172及びネットワーク110を介して送信される。
【0129】
いくつかの実施形態では、内部デジタルカメラ278がユーザ108の目もしくは頭部を認識することができない場合及び/またはビデオカメラ206(図2)がユーザ108の頭部を認識することができない場合、ユーザ入力回路262が入力データを生成する。これらの実施形態では、HMD250のポジション及び動作が、ネットワーク110(図1A〜1C、2)を介してゲームクラウド102へと送信される入力データに基づいて、ゲームクラウド102の1つまたは複数のサーバによって、かつ/またはコンピュータ172(図1C)のプロセッサ176(図1C)によって決定されるか、または152(図1B〜1C、2)及びネットワーク110を介して送信されるか、またはルータ152、コンピュータ172及びネットワーク110を介して送信される。
【0130】
いくつかの実施形態では、たとえばHMD250のWAC258などのHMD250が、2つ以上のモードの切り替えを行う。第1のモードには、ネットワーク110(図1A〜1C、2)を介したHMD250及びゲームクラウド102(図1A〜1C、2)間のデータ通信における、ルータ152(図1B〜1C、2)及びコンピュータ172(図1C及び2)の利用が含まれる。第2のモードには、HMD250及びゲームクラウド102間のデータ通信における、ネットワーク110を介したルータ152の利用が含まれる。第2のモードにおいて、データが通信される際にコンピュータ172はバイパスされる。第3のモードにはHMD250及びゲームクラウド102間のデータ通信における、ネットワーク110を介したネットワーク110の利用が含まれる。第3のモードにおいて、データが通信される際にルータ152及びコンピュータ172はバイパスされる。
【0131】
いくつかの実施形態では、ユーザ108はHMD104をHHC106とともに用い、HMD104のポジション及び動作ならびにHHC106のポジション及び動作が単一の拡張仮想現実ゲームシーンにおいて表現される。たとえばHHC106はゲームプログラム117の実行によって生成され、HMD104に表示される拡張仮想現実ゲーム内で仮想剣として表現される。この実施例においてゲームは、剣が現実世界の森林の画像に重ねられた拡張仮想現実ゲームシーンを有する。ユーザ108が自身の頭部を左に向けると、ユーザ108は森林の左側部分を見せられ、ユーザ108が自身の頭部を右に向けると、ユーザ108は森林の右側部分を見せられる。ゲームシーンの部分的な表示は、HMD104のポジション及び動きに基づく。さらにユーザ108がHHC106を左に動かしてHMD104を左に動かすと、ユーザは森林の左側部分で左を指す剣を見せられる。ユーザ108がHHC106を左に動かしてHMD104を右に動かすと、ユーザ108は森林の右側部分を見せられ、剣は右側部分に表示されない。さらにユーザ108がHHC106を右に動かしてHMC104を右に動かすと、ユーザは森林の右側部分で右を指す剣を見せられる。ユーザ108がHHC106を右に動かしてHMD104を左に動かすと、ユーザ108は森林の左側部分を見せられ、剣は左側部分に表示されない。森林の一部における剣の表示の有無は、HHC106のポジション及び動作に基づく。
【0132】
図4Aは、ワイヤレスネットワークにアクセスするためにHMD250(図3)の表示画面266に表示される画像300の実施形態の図である。ネットワークアクセスアプリケーションがマイクロコントローラ268(図3)によって実行される際に、画像300がマイクロコントローラ268(図3)によって生成される。画像300は、たとえばワイヤレスネットワークA、ワイヤレスネットワークB、ワイヤレスネットワークCなどの、ゲームクラウド102からのゲームプログラム117へのアクセスのためにHMD250が接続することのできるネットワークの一覧を含む。ユーザ108は1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きを行うことによってワイヤレスネットワークA、B及びCのうちの1つを選択し、HMD250をワイヤレスネットワークに接続する。
【0133】
いくつかの実施形態では、画像300は任意の個数のワイヤレスネットワークを一覧に含む。
【0134】
図4Bは、ワイヤレスネットワークにアクセスするためにコンピュータ172(図2)の画像312に表示される画像310の実施形態の図である。ネットワークアクセスアプリケーションがコンピュータ172のプロセッサ176(図2)によって実行される際に、画像310がコンピュータ172のGPUによって生成される。画像310は、たとえばワイヤレスネットワークA、ワイヤレスネットワークB、ワイヤレスネットワークCなどの、ルータ152及びコンピュータ172を介したゲームクラウド102からのゲームプログラム117へのアクセスのためにHMD250が接続することのできるネットワークの一覧を含む。ユーザ108は1つもしくは複数の頭部の動き及び/または1つもしくは複数の手の動きを行うことによってワイヤレスネットワークA、B及びCのうちの1つを選択し、ルータ152及びコンピュータ172を介してHMD250をワイヤレスネットワークに接続する。
【0135】
いくつかの実施形態では、画像310は任意の個数のワイヤレスネットワークを一覧に含む。
【0136】
図5Aは、表示画面266(図3)の実施例である表示画面321に表示されるゲームの画像320の実施形態の図である。画像320の周辺領域322はマイクロコントローラ268(図3)によって低解像度で表示され、中央領域324はマイクロコントローラ268によって高解像度で表示される。高解像度はより低い解像度よりも解像度が高い。周辺領域322は表示画面321の端部E1〜E4に隣接する。
【0137】
いくつかの実施形態では、端部E1は端部E2及び端部E4に対して垂直である。端部E3は端部E2及びE4に対して垂直であり、端部E1に対して平行である。様々な実施形態では、端部E1はたとえば87度から93度ほどの角度で端部E2に対して、また端部E4に対して略垂直である。端部E3は端部E2及びE4に対して略垂直であり、端部E1に対して略平行である。
【0138】
いくつかの実施形態では、表示画面321がたとえば長方形、正方形、円形、楕円形、多角形、曲線などの任意の形状である点に留意されたい。
【0139】
内部デジタルカメラ278(図3)によりキャプチャされた注視画像に基づいて、マイクロコントローラ268(図3)が表示画面321を領域322及び324に分割する。たとえばユーザ108(図1A〜1C、2)が中央領域324を注視していると決定されると、マイクロコントローラ268が、中央領域324が高解像度を有することを決定し、周辺領域322が低解像度を有することを決定し、さらにレンダリングプログラム286を実行して中央領域324を高解像度で表示し、周辺領域322については低解像度で表示する。
【0140】
図5Bは、表示画面321に表示される画像330の実施形態の図である。画像330は上部周辺領域332及び下部周辺領域334を有する。上部周辺領域332は端部E1に隣接し、下部周辺領域334は端部E3に隣接する。周辺領域332及び334は低解像度を有し、中間領域336は高解像度を有する。中間領域336は端部E2及びE4に隣接して配置され、領域332及び334の間に配置される。
【0141】
内部デジタルカメラ278(図3)によりキャプチャされた注視画像に基づいて、マイクロコントローラ268(図3)が表示画面321を領域332、334及び336に分割する。たとえばユーザ108(図1A〜1C、2)が中間領域336を注視していると決定されると、マイクロコントローラ268が、中間領域336が高解像度を有することを決定し、周辺領域332及び334が低解像度を有することを決定し、さらにレンダリングプログラム286を実行して中間領域336を高解像度で表示し、周辺領域332及び334については低解像度で表示する。
【0142】
いくつかの実施形態では、周辺領域332が周辺領域334の解像度とは異なる解像度を有する。たとえば、周辺領域332は低解像度と高解像度の間である中解像度を有し、周辺領域334が低解像度を有する。別の実施例として、周辺領域334が中解像度を有し、周辺領域332が低解像度を有する。
【0143】
図5Cは、表示画面321に表示される画像340の実施形態の図である。画像340は右側周辺領域342及び左側周辺領域344を有する。右側周辺領域342は端部E2に隣接し、左側周辺領域344は端部E4に隣接する。周辺領域342及び344は低解像度を有し、中間領域346は高解像度を有する。中間領域346は端部E1及びE3に隣接して配置され、領域342と344との間に配置される。
【0144】
内部デジタルカメラ278(図3)によりキャプチャされた注視画像に基づいて、マイクロコントローラ268(図3)が表示画面321を領域342、344、及び346に分割する。たとえばユーザ108(図1A〜1C、2)が中間領域346を注視していると決定されると、マイクロコントローラ268が、中間領域346が高解像度を有することを決定し、周辺領域342及び344が低解像度を有することを決定し、さらにレンダリングプログラム286を実行して中間領域346を高解像度で表示し、342及び344については低解像度で表示する。
【0145】
いくつかの実施形態では、周辺領域342は周辺領域344とは異なる解像度を有する。たとえば周辺領域342は低解像度と高解像の間である度中解像度を有し、周辺領域344は低解像度を有する。別の実施例として、周辺領域344は中解像度を有し、周辺領域342は低解像度を有する。
【0146】
様々な実施形態では、注視の代わりに任意の他の頭部の動きを用いて、表示画面321の1つまたは複数の領域が高解像度を有することを決定し、表示画面321の1つまたは複数の領域が低解像度を有することを決定する。
【0147】
いくつかの実施形態では、表示画面の周辺領域はたとえば曲線、半円形、多角形などの任意の形状であり、表示画面の中央または中間領域はたとえば長方形、円形、多角形、長円、形、曲線などの任意の形状である。
【0148】
図6は、様々な種類のHHC350、352、354、356、358及び360を例示する図である。HHC350、352、354、356、358及び360のそれぞれはHHC106(図1A〜1C、2)の実施例である。図示されるように、HHC350はブーメランの形状を有し、HHC352はマイクロフォンの形状を有し、HHC354はステアリングホイールの形状を有する。さらにHHC356はユーザ108が自身の手に装着する手袋であり、HHC358はユーザ108が自身の上半身に装着するジャケット、ボディスーツの上半身、またはシャツなどであり、HHC360はユーザ108が自身の下半身に装着するズボンである。
【0149】
HHC350、352、354、356、358及び360のそれぞれは、たとえばセンサ、圧縮機構、増量機構、減量機構、減圧機構、振動機構、触覚フィードバック機構、加熱機、冷却機、電気刺激機などの、ゲームプログラム117(図1A〜1C、2)の実行によって表示される拡張仮想現実ゲームのプレイ時にユーザ108にフィードバックを提供するための1つまたは複数のフィードバック機構を含む。
【0150】
様々な実施形態では、ゲームプログラム117の実行によって表示される拡張仮想現実ゲームのプレイ時に、ユーザ108はHHC356を自身の手に装着し、仮想犬を撫でる。仮想犬は現実世界の公園の画像に重ねられる。触覚フィードバック機構がユーザ108に触覚フィードバックを提供し、ユーザ108は現実の犬を撫でているかのように感じることができる。ユーザ108が仮想犬を持ち上げると、増量機能によりユーザ108は現実の犬を持ち上げているかのように感じることができる。
【0151】
いくつかの実施形態において、ユーザ108はHMD104の装着に加えてHHC356を自身の手に装着し、HMD104は東京、ニューヨークなどの現実世界の場所のシーンを生成する。ユーザ108が仮想のカップ入りコーヒーをつかもうと自身の手を伸ばすと、ゲームプログラム117が実行されてユーザ108の仮想の手をシーン内に表示し、拡張仮想現実シーンが生成される。ユーザ108がカップを持ち上げると、増量機構がユーザ108の現実の手に重量を掛け、ユーザ108は現実世界のカップを持ち上げているかのように感じることができる。シーン内の現実世界のテーブルの画像上にユーザ108がカップを置くと、減量機構がユーザ108の現実の手に掛かる重量を減少させ、ユーザ108は現実世界のカップを置いているかのように感じることができる。
【0152】
いくつかの実施形態では、ユーザ108はHMD104に加えてHHC358を装着し、仮想キャラクタとして現実世界の海の画像内での仮想スキューバダイビングに赴く。増量機構がユーザ108に掛かる重量を増加させ、ユーザ108は現実の海でスキューバダイビングを行っているかのように感じることができる。同様にユーザ108が海面に接近するにつれて、減量機構がユーザ108に掛かる重量を減少させる。
【0153】
いくつかの実施形態では、HHC350、352、354、356、358及び360のそれぞれが、実施例が上記に提示される、HHCのポジション及び動作を決定するための1つまたは複数の固定参照オブジェクトを含む。
【0154】
様々な実施形態では、HHC106は長方形、円形、楕円形、多角形、曲線、らせん状などの任意の形状を含む。
【0155】
図7Aは、HMD370の実施形態の図である。HMD370はHMD250(図3)の実施例である。HMD370は、ユーザ108が装着した時にユーザ108(図1A〜1C、2)の後頭部に達するバンド372及び374を含む。さらにHMD370は、ゲームプログラム117(図1A〜1C)の実行によってプレイされるゲームに関連する音を発する、たとえばスピーカなどのイヤフォン376A及び376Bを含む。HMD370は、ゲームプログラム117の実行によってプレイされ、表示画面266(図3)に表示されるゲームをユーザ108が視認することを可能にするレンズ378A及び378Bを含む。溝380がユーザ108の鼻の上に置かれ、鼻の上でHMD370を支持する。
【0156】
いくつかの実施形態では、ユーザ108がサングラス、眼鏡または老眼鏡を装着するのと同様の方法で、ユーザ108はHMD370を装着する。
【0157】
図7Bは、HMD250(図3)の実施例であるHMD400の実施形態の等軸側視図である。いくつかの実施形態では、HMD400はソニー・コンピュータエンターテインメントアメリカの研究開発製品である。HMD400は、ヘッドサポート402を含む。HMD400はさらに、たとえばLED404A及び404B、赤外線発光器406A、406B、406C、406D、406E、406F、406G、及び406Hなどのマーカを含む。赤外線発光器の実施例には、LEDが含まれる。HMD400は、HMD400の電源を入れ、または電源を切ることができるオンオフスイッチ408を含む。
【0158】
マーカはHMD400のポジション及び動作を決定するために用いられる。たとえばユーザ108(図1A〜1C、2)の頭部の動きによって、外部ビデオカメラ274(図3)によってキャプチャされたLED404A及び404Bの画像サイズが変更される。そのサイズに基づいて、コンピュータ172(図3)のプロセッサまたはゲームクラウド102の1つまたは複数のサーバ(図1A〜1C、2)が座標系におけるHMD400のポジション及び動作を決定する。
【0159】
図8Aは本開示に記載の実施形態に係る、デュアルショックコントローラ450をともなう図7BのHMD400の使用を例示する図である。ユーザ108はデュアルショックコントローラ450を操作し、現実世界のシーンに重ねられた仮想車、仮想キャラクタなどの仮想オブジェクトのポジション及び/または位置を変更する。仮想オブジェクトの現実世界のシーン上のオーバーレイは、HMD400内に表示される。
【0160】
図8Bは本開示に記載の実施形態に係る、たとえばHHC352などのムーブ(商標)コントローラをともなうHMD400(図7B)の使用を例示する図である。ユーザ108はムーブコントローラを操作し、現実世界のシーンに重ねられた剣、ペンなどの仮想オブジェクトのポジション及び/または位置を変更する。仮想オブジェクトの現実世界のシーン上のオーバーレイは、HMD400内に表示される。
【0161】
図9Aは本開示に記載の実施形態に係る、拡張仮想現実シーンにおいてゲームをプレイするための、デュアルショックコントローラ450をともなう図7BのHMD400の使用を例示する図である。ユーザ108はデュアルショックコントローラ450及びHMD400を操作し、拡張仮想現実シーンにおいてゲームをプレイする。デュアルショックコントローラ450及びHMD400のポジション及び位置は、ビデオカメラ208によりキャプチャされた画像によって決定される。
【0162】
図9Bは本開示に記載の実施形態に係る、拡張仮想現実シーン410を例示する図である。拡張仮想現実シーン410はユーザ108が装着するHMD400内に表示される。ユーザ108がデュアルショックコントローラ450(図9A)を操作するために1つまたは複数の手の動きを行うと、ゲームプログラム117(図1A〜1C、2)が実行され、仮想ステアリングホイール411が拡張仮想現実シーン410上に表示される。また、ゲームプログラム117は、たとえば現実世界の道、ユーザ108の現実の手などの現実世界のオブジェクトを表示するためにも実行される。ユーザ108の現実の手の画像412A及び412Bは、仮想ステアリングホイール411上に重ねられる。いくつかの実施形態では、ゲームプログラム117が仮想環境上に現実世界環境の画像を重ねるために実行される。
【0163】
様々な実施形態では、画像412A及び412Bの代わりに、手袋をはめた手、色のついた手などの仮想の手が拡張仮想現実シーン410上に表示される。いくつかの実施形態では、現実世界の道の画像413の代わりに、仮想の道の画像が拡張仮想現実シーン410において用いられる。
【0164】
図10は、HHC106及びHMD104(図1A〜1C、2)のインターフェイス接続に適合するコンソール500の実施形態のブロック図である。コンソール500はゲームプログラム117の一部を実行し、レンダリングするために用いられてもよい。コンソール500は、HHC106及びHMD104(図1A〜1C、2)のゲームプログラム117とのインターフェイス接続に適合する。コンソール500は、コンソール500に接続可能な様々な周辺機器とともに提供される。コンソール500は、Cellプロセッサ528、ラムバス(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット526、専用ビデオランダムアクセスメモリ(VRAM)ユニット532をともなうリアリティシンセサイザーグラフィックスプロセッサユニット530及び入力/出力(I/O)ブリッジ534を有する。コンソール500はまた、I/Oブリッジ534を通じてアクセス可能なディスク540a及び取り外し可能スロットインハードディスクドライブ(HDD)536から読み取りを行うためのブルーレイ(登録商標)ディスク読み出し専用メモリ(BD−ROM)光学ディスク540を有する。コンソール500はまた、任意選択でコンパクトフラッシュ(登録商標)メモリーカード、メモリースティック(登録商標)メモリーカードなどの読み込みのための、同様にI/Oブリッジ534を通じてアクセス可能なメモリーカードリーダ538を含む。
【0165】
I/Oブリッジ534はまた、ユニバーサルシリアルバス(USB)2.0ポート524、ギガビットイーサネットポート522、IEEE 802.11b/gワイヤレスネットワーク(Wi−Fi(登録商標))ポート520及びBluetooth(登録商標)接続を支援することが可能であるBluetooth(登録商標)ワイヤレスリンクポート518に接続する。
【0166】
I/Oブリッジ534は稼働中すべての無線、ユニバーサルシリアルバス(USB)及びイーサネットデータを処理するが、それらデータは1つまたは複数のゲームコントローラ502及び503からの、またHMD250(図3)の実施例であるHMD505からのデータを含む。たとえば、ユーザ108(図1A〜1C、2)がゲームプログラム117の一部(図1A)の実行により生成されたゲームをプレイしている時、I/Oブリッジ534が入力データをゲームコントローラ502または503から、またはHMD505からBluetooth(登録商標)リンクを介して受信し、入力データをCellプロセッサ528へと導き、Cellプロセッサ528がそれに応じてゲームの現在の状態を更新する。ゲームコントローラ502及び503のそれぞれは、HHC106(図1A〜1C、2)の実施例である。
【0167】
ワイヤレス、USB及びイーサネットポートはまた、ゲームコントローラ502及び503及びHMD505に加え、たとえばリモートコントロール504、キーボード506、マウス508、ソニープレイステーションポータブル(登録商標)エンターテイメント機器などの携帯型エンターテイメント機器510、アイトーイ(登録商標)ビデオカメラ512、マイクロフォンヘッドセット514及びマイクロフォン515などのビデオカメラ他の周辺機器に接続性を提供する。したがってこのような周辺機器は基本的にコンソール500に無線で接続されてもよく、たとえばマイクロフォンヘッドセット514がBluetooth(登録商標)リンクを介して通信してもよい一方で、携帯型エンターテイメント機器510はWi−Fi(登録商標)アドホック接続を介して通信を行ってもよい。
【0168】
これらインターフェイスの提供は、コンソール500がまた、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、携帯型メディアプレーヤ、ボイスオーバーIP電話、携帯電話、プリンタ及びスキャナなどの他の周辺機器と潜在的に適合することを意味する。
【0169】
さらにレガシーメモリーカードリーダ516は、USBポート524を介してコンソール500に接続されて、コンソール500によって用いられる種類のメモリーカード548の読み取りを可能にしてもよい。
【0170】
ゲームコントローラ502ならびに503及びHMD505はBluetooth(登録商標)リンクを介してコンソール500との無線での通信を行うよう、またはUSBポートに接続されるように作動可能であり、それによってまた電力が提供され、その電力によりゲームコントローラ502ならびに503及びHMD505のバッテリが充電される。いくつかの実施形態では、ゲームコントローラ502ならびに503及びHMD505のそれぞれが、またメモリ、プロセッサ、メモリーカードリーダ、フラッシュメモリなどの永続メモリ、照明付き球状部などの発光体、LED、または赤外線、超音波通信のためのマイクロフォンならびにスピーカ、音響室、デジタルカメラ、内部クロック、ゲームコンソールに面する球状部などの認識できる形状及びたとえばBluetooth(登録商標)、Wi−Fi(登録商標)などのプロトコルを用いる無線通信を含んでもよい。
【0171】
ゲームコントローラ502はユーザ108の両手で用いるよう設計されたコントローラであり、ゲームコントローラ503はアタッチメントの付いた片手用コントローラである。HMD505はユーザ108の頭頂部及び/または目の前に取り付けられるよう設計されている。1つまたは複数のアナログジョイスティック及び従来のコントロールボタンに加えて、ゲームコントローラ502及び503のそれぞれは三次元位置決定の影響を受けやすい。同様に、HMD505は三次元位置決定の影響を受けやすい。結果的に従来のボタンまたはジョイスティックのコマンドに加えてまたはその代わりに、ゲームコントローラ502ならびに503及びHMD505のユーザ108によるジェスチャー及び動きが、ゲームへと入力として変換されてもよい。プレイステーション(商標)ポータブル機器などの、他の無線で使用可能な周辺機器が任意選択でコントローラとして用いられてもよい。プレイステーション(商標)ポータブル機器の場合は、さらなるゲームまたは制御情報(たとえば、制御命令またはライフの数)が、機器の表示画面上に提示されてもよい。ダンスマット(図示せず)、ライトガン(図示せず)、及びステアリングホイールならびにペダル(図示せず)または特注のコントローラ、早押しクイズゲーム(これも図示せず)用の1つまたは複数の大型ボタンなどの他の代替的または補完的制御装置がまた用いられてもよい。
【0172】
リモートコントロール504はまた、Bluetooth(登録商標)リンクを介してコンソール500と無線で通信するように作動可能である。リモートコントロール504は、ブルーレイ(商標)ディスクBD−ROMリーダ540の作動に、またディスクの内容のナビゲーションに適したコントロールを備える。
【0173】
ブルーレイ(商標)ディスクBD−ROMリーダ540は、従来の記録済みの、また記録可能なCD及びいわゆるスーパーオーディオCDに加えて、コンソール500に適合するCD−ROMを読み取るように作動可能である。リーダ540はまた、従来の記録済みの、また記録可能なDVDに加えてコンソール500に適合するデジタルビデオディスク−ROM(DVD−ROM)を読み取るように作動可能である。リーダ540はさらに、従来の記録済みの、また記録可能なブルーレイディスクと同様にコンソール500に適合するBD−ROMを読み取るように作動可能である。
【0174】
コンソール500はリアリティシンセサイザーグラフィックスユニット530を介して生成されるあるいはデコードされる音声及び映像を、表示画面544及び1つまたは複数のラウドスピーカ546を有するモニタまたはテレビ受信機などの表示及び音声出力装置542へのオーディオコネクタ550及びビデオコネクタ552を通じて供給するように作動可能である。ビデオコネクタ552がコンポーネント映像信号、S映像、コンポジットビデオ及び1つまたは複数の高精細度マルチメディアインターフェイス(HDMI(登録商標))出力を様々に含んでもよい一方で、オーディオコネクタ550は従来のアナログ及びデジタル出力を含んでもよい。結果的に映像出力はPALまたはNTSCなどのフォーマット、または520p、1080iもしくは1080p高精細度などのフォーマットであってもよい。
【0175】
音声処理(生成、デコードなど)は、Cellプロセッサ528によって行われる。コンソール500のオペレーティングシステムはドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)及びブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドのデコードをサポートする。
【0176】
いくつかの実施形態では、圧縮されたビデオデータが、コンソール500によるデコードのためのイントラ画像ベースのMPEG(モーションピクチャエキスパートグループ)規格などの適切なフォーマットで送信されてもよいように、ビデオカメラ512などのビデオカメラが単一の電荷結合素子(CCD)、LEDインジケータ及びハードウェアベースのリアルタイムデータ圧縮ならびに符号化装置を備える。ビデオカメラ512のLEDインジケータは、たとえば不利な照明条件を示すためにコンソール500からの適切な制御データに応じて発光するように構成される。ビデオカメラ512の実施形態は、USB、Bluetooth(登録商標)またはWi−Fi(登録商標)通信ポートを介したコンソール500への接続を様々に行ってもよい。ビデオカメラの実施形態は1つまたは複数の関連マイクロフォンを含んでもよく、また音声データの送信が可能であってもよい。ビデオカメラの実施形態においては、CCDが高精細度ビデオキャプチャに適した解像度を有してもよい。使用時には、ビデオカメラによりキャプチャされた画像はたとえばゲーム内に組み込まれるか、またはゲーム制御入力として解釈されてもよい。別の実施形態においては、ビデオカメラは赤外線の検知に適した赤外線カメラである。
【0177】
様々な実施形態では、コンソール500の通信ポートの1つを介したビデオカメラまたはリモートコントロールなどの周辺機器を用いてのデータ通信を成功させるために、デバイスドライバなどの適切なソフトウェアが提供される。
【0178】
いくつかの実施形態では、コンソール装置、ポータブルHHC及びポータブルHMDを含む上述のシステム装置が、HHC及びポータブルHMDをゲームプログラム117(図1A〜1C)の対話型セッションの映像を表示し、キャプチャすることを可能にする。コンソール装置はゲームプログラム117の対話型セッションを開始し、対話型セッションがユーザ108とゲームプログラム117との間のインタラクティブ性を定義する。システム装置は、ユーザ108が操作するHHC及び/またはHMDの初期ポジション及び方向を決定する。コンソール装置は、ユーザ108とゲームプログラム117との間のインタラクティブ性に基づいてゲームプログラム117の現在の状態を決定する。システム装置はユーザ108のゲームプログラム117との対話型セッションの間に、追跡されたHHC及び/またはHMDのポジション及び方向を追跡する。システム装置は、ゲームプログラム117の現在の状態及び追跡されたHHCならびに/またはHMDのポジション及び方向に基づいて、対話型セッションのギャラリービデオストリームを生成する。いくつかの実施形態では、HHCがHHCの表示画面上のギャラリービデオストリームのレンダリングを行う。様々な実施形態では、HMDがHMDの表示画面上のギャラリービデオストリームのレンダリングを行う。
【0179】
図11は、本開示に記載の様々な実施形態に応じたゲームシステム600のブロック図である。いくつかの実施形態では、ゲームシステム600は、ハイパーバイザによってリソースとVMとの間で関係を確立した後で、サーバ、記憶装置などの1つまたは複数のリソースを用いてたとえばオペレーティングシステム、ソフトウェアアプリケーションなどのVMを実行するクラウドゲームシステムである。ゲームシステム600は、1つまたは複数のクライアント610にネットワーク110(図1A〜1C、2)の実施例であるネットワーク615を介してビデオストリームを提供するために用いられる。ゲームシステム600は、ビデオサーバーシステム620及び任意のゲームサーバ625を含む。ビデオサーバーシステム620は、1つまたは複数のクライアント610にサービス品質でビデオストリームを提供するために用いられる。たとえば、ビデオサーバーシステム620は、たとえばゲームプログラム116(図1A〜1C)などの実行によりプレイされるゲームなどのビデオゲームの状態またはそういったビデオゲーム内の視点を変更するゲームコマンドを受信してもよく、またこの状態の変化を反映する更新されたビデオストリームを、最短のラグタイムでクライアント610に提供してもよい。ビデオサーバーシステム620は、未定義のフォーマットを含む多種多様な代替的映像フォーマットでビデオストリームを提供するために用いられてもよい。さらにビデオストリームはユーザ108(図1A〜1C、2)に対して多種多様なフレームレートで提示するために用いられるビデオフレームを含んでもよい。典型的なフレームレートは、毎秒30フレーム、毎秒60フレーム及び毎秒620フレームである。しかし本開示に記載の様々な実施形態には、より高いまたは低いフレームレートが含まれる。
【0180】
本明細書にてそれぞれ610A、610Bなどと称されるクライアント610は、HMD104(図1A〜1C、2)、HHC104(図1A〜1C、2)、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線機器、デジタルパッド、独立型装置及び/またはそれに類するものを含んでもよい。クライアント610は符号化されたビデオストリームを受信し、ビデオストリームをデコードし、また得られた映像をたとえばゲームのプレーヤなどのユーザ108に提示するために用いられる。符号化されたビデオストリームの受信及び/またはビデオストリームのデコードの処理には、個別のビデオフレームのクライアントの受信バッファ内への格納が含まれる。ビデオストリームはクライアント610と一体となったディスプレイ上、またはモニタまたはテレビなどの別個の装置上でユーザ108に提示されてもよい。
【0181】
クライアント610は2人以上のゲームプレーヤをサポートするために任意選択で用いられる。たとえば、ゲームコンソールは2人、3人、4人またはそれ以上の同時プレーヤをサポートするために用いられてもよい。これらプレーヤのそれぞれが別個のビデオストリームを受信してもよいか、または単一のビデオストリームにたとえば各プレーヤの視点に基づいてそれぞれのプレーヤ向けに生成されたフレームの領域が含まれてもよい。
【0182】
クライアント610は、任意選択で地理的に分散される。ゲームシステム600に含まれるクライアント数は1つまたは2つから数千、数万またはそれ以上まで大幅に異なってもよい。本明細書内では、「ゲームプレーヤ」の用語はゲームをプレイする人物を指すために用いられ、「ゲームプレイ機器」の用語はたとえばゲームプログラム116(図1A〜1C)などの実行によってプレイされるゲームなどを行うために用いられる機器を指すために用いられる。いくつかの実施形態では、ゲームプレイ機器はゲーム体験をユーザ108に提供するために連携する複数のコンピュータ装置を指してもよい。たとえばゲームコンソール及びHMD104(図1A〜1C、2)は、HMD104を通じて視認されるゲームを提供するためにビデオサーバーシステム620と連携してもよい。ある実施形態においては、ゲームコンソールがビデオサーバーシステム620からビデオストリームを受信し、ゲームコンソールはレンダリングのためにHMD104へとビデオストリームを転送するか、またはビデオストリームを更新する。
【0183】
クライアント610はネットワーク615を介してビデオストリームを受信するために用いられる。ネットワーク615は、電話ネットワーク、インターネット、ワイヤレスネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク及び/またはそれに類するものを含む任意の種類の通信ネットワークであってもよい。いくつかの実施形態では、ビデオストリームがTCP/IPまたはUDP/IPなどの標準プロトコルを介して通信される。いくつかの実施形態においては、ビデオストリームが専有標準を介して通信される。
【0184】
クライアント610の1つの典型的な実施例は、プロセッサ、不揮発性メモリ、ディスプレイ、デコード論理、ネットワーク通信能力及び1つまたは複数の入力機器を含むパーソナルコンピュータである。デコード論理にはハードウェア、ファームウェア及び/または非一時的なコンピュータ可読媒体上に格納されるソフトウェアが含まれてもよい。
【0185】
クライアント610は受信された映像の修正のために用いられるシステムをさらに含んでもよいが、それは必須ではない。たとえばクライアントはさらなるレンダリングを行うために、あるビデオ画像を別のビデオ画像に重ね、ビデオ画像をクロップし、かつ/またはそれに類することを行うよう用いられてもよい。別の実施例として、クライアントは現実世界環境の画像上に仮想世界環境を重ね、表示画面上に拡張仮想現実シーンを作成する。別の実施例として、クライアント610はユーザ108のために、フレーム内符号化画像(Iフレーム)、予測フレーム(Pフレーム)及び双方向予測画像フレーム(Bフレーム)などの様々な種類のビデオフレームを受信するよう、またこれらフレームをたとえばゲームプログラム116(図1A〜1C)の実行によりプレイされるゲームなどで表示するための画像への処理を行うように用いられてもよい。いくつかの実施形態では、クライアント610の構成要素はさらなるレンダリング、シェーディング、3−Dへの変換、または同様の操作をビデオストリーム上で行うために用いられてもよい。クライアント610の構成要素は任意選択で用いられて、2つ以上のオーディオまたはビデオストリームを受信する。
【0186】
クライアント610の入力機器には、たとえば片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャー認識システム、注視認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力覚呈示装置、動作及び/または位置検出器、マウス、タッチスクリーン、ニュートラルインターフェイス、カメラ、未開発の入力機器及び/またはそれに類するものが含まれてもよい。
【0187】
クライアント610より受信されたビデオストリーム及び任意選択によってオーディオストリームは、ビデオサーバーシステム620によって生成され、提供される。このビデオストリームにはビデオフレームが含まれ、オーディオストリームにはオーディオフレームが含まれる。適切なデータ構造における画素情報を含むビデオフレームは、ユーザ108に表示される画像に有意義な寄与を行う。本明細書内では、「ビデオフレーム」の用語は、ゲームプログラム116(図1A〜1C)などの実行によってユーザ108がプレイするゲームなどに影響を与えるなどして寄与する情報を主に含むフレームを指すために用いられる。本明細書内の「ビデオフレーム」に関する教示のほとんどについては、「オーディオフレーム」にも適用可能である。
【0188】
様々な実施形態では、クライアント610はユーザ108からの入力を受信するために用いられる。これら入力には、ゲームプログラム116(図1A〜1C)などの実行によってプレイされるゲームについては、ビデオゲームの状態を変更するため、またそれ以外の場合にはゲームプレイに影響を与えるために用いられるゲームコマンドが含まれてもよい。ゲームコマンドはたとえばユーザ入力回路262(図4)などの入力機器を用いて受信されてもよく、かつ/またはクライアント610上での演算命令の実行によって自動的に生成されてもよい。受信されたゲームコマンドは、クライアント610からネットワーク615を介してビデオサーバーシステム620及び/またはゲームサーバ625へと通信される。たとえばゲームコマンドはビデオサーバーシステム620を介してゲームサーバ625へと通信される。
【0189】
いくつかの実施形態では、ゲームコマンドの別個のコピーがクライアント610からゲームサーバ625及びビデオサーバーシステム620へと通信される。
【0190】
ゲームコマンドの通信は、任意選択でコマンドの識別に依存する。ゲームコマンドはクライアント610Aにオーディオまたはビデオストリームを提供するために用いられる異なるルートまたは通信チャネルを通じて、任意選択でクライアント610Aから通信される。
【0191】
ゲームサーバ625は任意選択で、ビデオサーバーシステム620とは異なる会社によって操作される。たとえば、ゲームサーバ625はゲームの発行元によって操作されてもよい。この実施例においては、ビデオサーバーシステム620は任意選択でゲームサーバ625によってクライアントとして認識され、任意選択でゲームサーバ625の視点からはゲームエンジンを実行するクライアントとして見なされるように用いられる。ビデオサーバーシステム620とゲームサーバ625との通信は、ネットワーク615を介して任意選択で発生する。このように、ゲームサーバ625はゲーム状態の情報をその1つがゲームサーバーシステム620である複数のクライアントへと送信するマルチプレーヤーゲームサーバであってもよい。
【0192】
ビデオサーバーシステム620はゲームサーバ625の複数のインスタンスとの通信を同時に行うために用いられてもよい。たとえばビデオサーバーシステム620は複数の異なるビデオゲームを異なるユーザに提供するために用いられてもよい。これら異なるビデオゲームのそれぞれは異なるゲームサーバ625によりサポートされ、かつ/または異なる会社により発行されてもよい。
【0193】
いくつかの実施形態では、いくつかの地理的に分布したビデオサーバーシステム620のインスタンスは複数の異なるユーザにゲームの映像を提供するために用いられる。ビデオサーバーシステム620のこれらインスタンスのそれぞれが、ゲームサーバ625の同じインスタンスとの通信を行ってもよい。
【0194】
ビデオサーバーシステム620と1つまたは複数のゲームサーバ625との間の通信が、専用通信チャネルを介して任意選択で発生する。たとえばビデオサーバーシステム620は、これらシステム間の通信専用の高帯域チャネル幅を介してゲームサーバ625に接続されてもよい。
【0195】
ビデオサーバーシステム620は、少なくとも映像ソース630、入出力装置645、プロセッサ650及びストレージ655を含む。ビデオサーバーシステム620は1つのコンピュータ装置を含むか、または複数のコンピュータ装置間に分布してもよい。これらコンピュータ装置はローカルエリアネットワークなどの通信システムを介して任意選択で接続される。
【0196】
映像ソース630は、動画を形成するたとえばストリーミング映像または一連のビデオフレームなどのビデオストリーム提供するために用いられる。いくつかの実施形態では、映像ソース630がビデオゲームエンジン及びレンダリング論理を含む。
【0197】
ビデオゲームエンジンはプレーヤからゲームコマンドを受信するため、また受信されたコマンドに基づいて、たとえばゲームプログラム116(図1A〜1C)などの実行によってプレイされるゲームなどのビデオゲームの状態のコピーを維持するために用いられる。このゲーム状態には、ゲーム環境におけるオブジェクトのポジションが視点と同様に含まれる。ゲーム状態にはまた、オブジェクトのプロパティ、画像、色及び/またはテクスチャを含んでもよい。ゲーム状態は、動き、回転、攻撃、フォーカスの設定、相互作用、利用及び/またはそれに類するゲームコマンドと同様に、ゲームルールに基づいて維持される。ゲームエンジンの一部は任意選択によりゲームサーバ625内に配置される。ゲームサーバ625は複数のプレーヤから受信されたゲームコマンドに基づき、クライアントの地理的分散を利用してゲームの状態のコピーを維持してもよい。これらの場合には、ゲーム状態がゲームサーバ625によって、ゲーム状態のコピーが格納され、レンダリングが行われる映像ソース630へと提供される。ゲームサーバ625はネットワーク615を介してゲームコマンドをクライアント610から直接受信してもよく、かつ/またはビデオサーバーシステム620を介してゲームコマンドを受信してもよい。
【0198】
映像ソース630は、たとえばハードウェア、ファームウェア及び/またはストレージ655などの非一時的なコンピュータ可読媒体上に格納されたソフトウェアなどのレンダリング論理を含む。このレンダリング論理は、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するために用いられる。レンダリング論理の全部または一部は任意選択でGPU内に配置される。レンダリング論理にはオブジェクトの三次元空間的関係の決定のための、かつ/または適切なテクスチャなどの適用のための、ゲーム状態及び視点に基づいたステージの処理が含まれる。レンダリング論理は、その後通常はクライアント610との通信の前に符号化される生ビデオを生成する。たとえば生ビデオは、アドビフラッシュ(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC−1、WMA、Huffyuv、Lagarith、MPG−x.Xvid.FFmpeg、x264、VP6−8、リアルビデオ、mp3またはそれに類するものにしたがって符号化されてもよい。符号化処理によってビデオストリームが生成され、ビデオストリームはリモートデバイス上のデコーダへの送達のために任意選択でパッケージ化される。
【0199】
ビデオストリームは、フレームサイズ及びフレームレートによって特徴づけられる。典型的なフレームサイズには、800x600、1280x720(たとえば720p)、1024x768が含まれるが、他の任意のフレームサイズが用いられてもよい。フレームレートは、毎秒のビデオフレーム数である。ビデオストリームには、異なる種類のビデオフレームが含まれてもよい。たとえばH.264規格には、「P」フレーム及び「I」フレームが含まれる。Iフレームは表示装置上のすべてのマクロブロック/ピクセルをリフレッシュするための情報を含み、Pフレームがそのサブセットをリフレッシュするための情報を含む。PフレームのデータサイズはIフレームよりも小さい。本明細書内では、「フレームサイズ」の用語はフレーム内の画素数への言及を意味する。「フレームデータサイズ」の用語は、フレームを格納するために必要なバイト数を指すために用いられる。
【0200】
いくつかの実施形態では、映像ソース630にはカメラなどの録画装置が含まれる。このカメラは、コンピュータゲームのビデオストリームに含まれてもよい生成遅延またはライブ映像を生成するために用いられてもよい。得られたビデオストリームには、スチールまたはビデオカメラを用いてレンダリングされた画像及び録画された画像がいずれも、任意選択で含まれる。映像ソース630は、ビデオストリームに含まれるようあらかじめ録画された映像を格納するために用いられる記憶装置を含んでもよい。映像ソース630はまた、HMD104、HHC106、またはユーザ108(図1A〜1C、2)の動作またはポジションを検知するために用いられる動作または位置検出器及び、検知された動作ならびに/またはポジションに基づいてゲーム状態を決定するため、または映像を生成するために用いられるロジックを含んでもよい。
【0201】
映像ソース630は、他の映像上に重ねるオーバーレイを提供するために任意選択で用いられる。たとえばこれらのオーバーレイには、コマンドインターフェイス、ログイン命令、ゲームプレーヤへのメッセージ、他のゲームプレーヤの画像、他のゲームプレーヤの配信動画(たとえばウェブカメラ映像)が含まれてもよい。タッチスクリーンインターフェイスまたは注視検出インターフェイスを含むクライアント610Aのいくつかの実施形態では、オーバーレイが仮想キーボード、ジョイスティック、タッチパッド及び/またはそれに類するものを含んでもよい。オーバーレイのある実施例においては、プレーヤの声がオーディオストリームに重ねられる。映像ソース630はさらに、任意選択で1つまたは複数の音源を含む。
【0202】
2人以上のプレーヤからの入力に基づいてビデオサーバーシステム620がゲーム状態を維持するために用いられる実施形態においては、各プレーヤが視線の及び方向を含む異なる視点を有してもよい。映像ソース630は任意選択で用いられ、プレーヤごとに自身の視点に基づいた別個のビデオストリームを提供する。さらに映像ソース630は異なるフレームサイズ、フレームデータサイズ及び/または符号化をクライアント610のそれぞれに提供するために用いられてもよい。映像ソース630は任意選択で 3−D映像を提供するために用いられる。
【0203】
ビデオサーバーシステム620が映像、コマンド、情報要求、ゲーム状態、注視情報、機器の動作、機器の位置、ユーザの動作、クライアントアイデンティティ、プレーヤーアイデンティティ、ゲームコマンド、セキュリティ情報、音声及び/またはそれに類するを情報送信及び/または受信するために、入出力装置645が用いられる。入出力装置645には、ネットワークインターフェイスカードまたはモデムなどの通信ハードウェアが含まれる。入出力装置645はゲームサーバ625、ネットワーク615及び/またはクライアント610と通信するために用いられる。
【0204】
プロセッサ650はたとえば本明細書にて論じるビデオサーバーシステム620の様々な構成要素内に含まれるソフトウェアなどの論理を実行するために用いられる。たとえばプロセッサ650は、映像ソース630、ゲームサーバ625及び/またはクライアント側修飾子660を機能させるためのソフトウェア命令でプログラムされてもよい。ビデオサーバーシステム620は、任意選択で2つ以上のプロセッサ650のインスタンスを含む。プロセッサ650はまた、ビデオサーバーシステム620によって受信されたコマンドを実行するための、または本明細書にて論じるゲームシステム600の様々な要素の操作を調整するためのソフトウェア命令でプログラムされてもよい。プロセッサ650には1つまたは複数のハードウェア装置が含まれてもよい。プロセッサ650は電子プロセッサである。
【0205】
ストレージ655には、非一時的なアナログ及び/またはデジタル記憶装置が含まれる。たとえばストレージ655は、ビデオフレームを格納するために用いられるアナログ記憶装置を含んでもよい。ストレージ655は、ハードドライブ、光学ドライブ、または固体記憶装置などの非一時的なコンピュータ可読デジタルストレージを含んでもよい。ストレージ615は(たとえば適切なデータ構造またはファイルシステムによって)、ビデオフレーム、擬似的フレーム、ビデオフレーム及び擬似的フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム及び/またはそれに類するものを格納するために用いられる。ストレージ655は複数の機器の間に任意選択で分布する。いくつかの実施形態では、ストレージ655が本明細書の他の場で論じられる映像ソース630のソフトウェア構成要素を格納するために用いられる。これら構成要素は、必要な場合に用意できるフォーマットで格納されてもよい。
【0206】
ビデオサーバーシステム620は、クライアント側修飾子660を任意選択でさらに含む。クライアント側修飾子660は、クライアント610Aまたは610Bなどのクライアントの能力を遠隔決定するために用いられる。これら能力は、クライアント610Aとビデオサーバーシステム620との間の1つまたは複数の通信チャネルの能力とクライアント610A自体の能力の両方を含むことができる。たとえばクライアント側修飾子660は、ネットワーク615を通して通信チャネルをテストするために用いられてもよい。
【0207】
クライアント側修飾子660は、クライアント610Aの能力を手動または自動で(たとえば発見するなどして)決定することができる。手動決定には、クライアント610Aのユーザ108との通信及びユーザ108への能力の提供の依頼が含まれる。たとえばいくつかの実施形態では、画像、テキスト及び/またはそれに類するものをクライアント610Aのウェブブラウザ内で表示するためにクライアント側修飾子660が用いられる。ある実施形態においては、クライアント610AがたとえばHMD104などの、ウェブブラウザを含むHMDである。別の実施形態においては、クライアント610Aは、HMD上に表示されてもよいウェブブラウザを有するゲームコンソールである。表示されたオブジェクトは、ユーザ108にクライアント610Aのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度などの情報を入力するよう要求する。ユーザ108により入力された情報はクライアント側修飾子660へと通信される。
【0208】
たとえばクライアント610A上のエージェントの実行によって、かつ/またはテスト映像のクライアント610Aへの送信により、自動決定が行われてもよい。エージェントにはジャバスクリプトなどの、ウェブページ上に埋め込まれた、またはアドオンとしてインストールされた演算命令が含まれてもよい。エージェントは任意選択でクライアント側修飾子660によって提供される。様々な実施形態では、クライアント610Aの処理能力、クライアント610Aのデコード及び表示能力、クライアント610Aとビデオサーバーシステム620との間のラグタイムの信頼性及び通信チャネルの帯域幅、クライアント610Aの表示方式、クライアント610A上に存在するファイアウォール、クライアント610Aのハードウェア、クライアント610A上で実行するソフトウェア、クライアント610A内のレジストリエントリ及び/またはそれに類するものをエージェントが発見することができる。
【0209】
クライアント側修飾子660には、ハードウェア、ファームウェア及び/または非一時的なコンピュータ可読媒体上に格納されるソフトウェアが含まれる。クライアント側修飾子660は任意選択で、ビデオサーバーシステム620の1つまたは複数の他の要素とは別個のコンピュータ装置上に配置される。たとえばいくつかの実施形態では、クライアント610とビデオサーバーシステム620の2つ以上のインスタンスとの間の通信チャネルの特徴を決定するために、クライアント側修飾子660が用いられる。これらの実施形態においては、ビデオサーバーシステム620のどのインスタンスがクライアント610の1つのストリーミング映像の送達に最も適しているかを決定するために、クライアント側修飾子により発見された情報が用いられてもよい。
【0210】
いくつかの実施形態では、メディアデータが現実世界環境のデータ、仮想世界環境のデータ、またはそれらの組み合わせを含む。現実世界環境のデータには、たとえば現実の車両、現実の人々、現実の地理的位置、現実の建築物、現実の家屋、現実の樹木、現実の物体、現実の生物、現実の無生物などの、1つまたは複数の世界環境の画像から生成されるデータが含まれる。現実世界環境のデータはたとえばビデオカメラ、オーディオカメラなどのカメラが現実世界環境の画像をキャプチャすることで生成される。仮想世界環境のデータは、たとえばゲームプログラム117などを実行するプロセッサなどのコンピュータによって生成される。
【0211】
いくつかの実施形態では、たとえばユーザ108、別のユーザなどの1人または複数のユーザが、拡張仮想現実世界と相互作用してもよい。本明細書において、拡張仮想現実世界の用語には、現実世界環境及びたとえばコンピュータにより生成されるなどした架空の環境が含まれる。現実のユーザが1つまたは複数の表示画面を介して知覚してもよい、かつ/または1つまたは複数のユーザインターフェイス装置を介して相互作用してもよい1つまたは複数のプロセッサによってシミュレーションされる相互作用の規則を、架空の環境は有する。本明細書において、ユーザインターフェイス装置の用語は、ユーザ108が仮想世界へと入力を送信し、または拡張仮想現実世界からの出力を受信してもよい、たとえばHMD104、HHC106(図1A〜1C、2)などの現実の装置を指す。拡張仮想現実世界は、たとえばゲームクラウド102の1つまたは複数のサーバ(図1A〜1C、2)、マイクロコントローラ268(図3)、プロセッサ176(図1C)などの1つまたは複数のプロセッサモジュールによって、シミュレーションされてもよい。1つまたは複数のプロセッサモジュールは、ネットワーク110(図1A〜1C、2)を介して結びつけられてもよい。ユーザ108は、ネットワーク110を介してプロセッサモジュール及び他のユーザインターフェイス装置と通信を行うことができるユーザインターフェイス装置を介して拡張仮想現実世界と相互作用してもよい。拡張仮想現実世界のある態様が、たとえばコンピューターモニタ、テレビモニタ、表示画面266、HHC106の表示画面または同様のディスプレイなどの図形表示画面上にグラフィックス形式で、ユーザ108に対して提示されてもよい。拡張仮想現実世界のある他の態様が、図形表示に関連してもよい、たとえばスピーカ260(図3)、コンピュータ172(図1C)のスピーカ、HHC106(図1A〜1C)などのスピーカ上で可聴的な形式でユーザに対して提示されてもよい。
【0212】
拡張仮想現実世界内では、ユーザはアバターによって表現されてもよい。拡張仮想現実世界内の各アバターは異なるユーザに一意に関連してもよい。ユーザ108が別のユーザから容易に識別されるように、ユーザ108の氏名または仮名がアバターの隣に表示されてもよい。ユーザ108の拡張仮想現実世界との相互作用は、アバターに対応する1つまたは複数の動きによって表現されてもよい。たとえばユーザ108が頭部の動きを行うと、アバターが同様の頭部の動きを行う。別の実施例として、ユーザ108が手の動きを行うと、アバターが同様の手の動きを拡張仮想現実世界で行う。異なるユーザがたとえば拡張仮想現実地域などの拡張仮想現実パブリックスペースにおいて、自身のアバターを介して互いに相互作用してもよい。ユーザ108を表現するアバターは人物、動物または物体に似た外見を有する。人物の形式のアバターは、ユーザ108と同性または異性であってもよい。ユーザ108が拡張仮想現実世界の他のオブジェクトとともにアバターを視認できるように、たとえば表示画面266(図3)、表示画面544(図10)、HHC106(図1A〜1C)の表示画面、コンピュータ172(図1C)の表示画面などの表示画面上にアバターが表示されてもよい。
【0213】
様々な実施形態では、たとえば表示画面266(図3)、表示画面544(図10)、HHC106(図1A〜1C)の表示画面、コンピュータ172(図1C)の表示画面などの表示画面上に、アバターを表示することなく、アバターの視点からの拡張仮想現実世界が表示されてもよい。拡張仮想現実世界上のアバターの視界は、仮想カメラの視点として見なされてもよい。本明細書内では、仮想カメラとは拡張仮想現実世界内の視点を示し、仮想世界内の三次元のシーンの二次元画像をレンダリングするために用いられてもよい。ユーザは自身のアバターを通じて、各ロビーに関連するチャットチャネルによって拡張仮想現実世界において互いに相互作用してもよい。ユーザは自身のユーザインターフェイスを介して他のユーザとチャットするために、テキスト入力を行ってもよい。テキストはその後、ユーザのアバターの上または隣に、たとえばチャットバブルと称される場合もある、漫画の会話の吹き出しの形式で表示されてもよい。クイックチャットと称される場合もある定型チャットシステムの利用によって、このようなチャットが円滑化されてもよい。クイックチャットでは、ユーザ108がメニューから1つまたは複数のチャットフレーズを選択してもよい。
【0214】
いくつかの実施形態では、パブリックスペースがいかなる特定のユーザまたはユーザのグループにも一意に関連せず、どのユーザまたはユーザのグループもパブリックスペースから別のユーザを除外することができないという意味で、パブリックスペースはパブリックである。対照的に、プライベートスペースは、複数のユーザ間からの特定のユーザに関連する。プライベートスペースに関連する特定のユーザが他のユーザによるプライベートスペースへのアクセスを制限してもよいという意味で、プライベートスペースはプライベートである。プライベートスペースはありふれた私有不動産の外観の様相を呈してもよい。他の実施形態においてユーザは、たとえば表示画面266(図3)、表示画面544(図10)、HHC106(図1A〜1C)の表示画面、コンピュータ172(図1C)の表示画面などの表示画面に表示されたアバターを制御する必要はない。仮想空間上に表示されるアバターは、たとえばプロセッサなどの機械によって制御されるボットであってもよい。したがってアバターボットは、ユーザ108によって制御されるアバターが行うのと同様の方法で拡張仮想現実世界を動き回ることができるが、どの現実世界のユーザも実際にアバターボットを制御しない。アバターボットは様々な方法で空間内を歩き回り、行動を起こし、メッセージを投稿し、あるメッセージに特権を割り当て、他のアバターボットまたは現実世界のユーザが制御するアバターと相互作用することができる。また、定義された方法で相互作用し、環境を修正し、広告を投稿し、メッセージを投稿し、仮想空間、仮想建造物を建築し、または仮想オブジェクト、オブジェクトの地理的表現を構築し、現実のまたは仮想通貨を両替することができるように、ボットを設定することができる。
【0215】
いくつかの実施形態では、オーバーレイまたはスーパーインポーズは透明、半透明または不透明である。たとえば現実世界のオブジェクトに重ねられる仮想オブジェクトは透明、半透明または不透明である。別の実施例として、現実世界環境に重ねられる仮想環境は透明、半透明または不透明である。
【0216】
本開示に記載の実施形態は、手持型装置、マイクロプロセッサシステム、マイクロプロセッサに基づくまたはプログラム可能な家庭用電気機械器具、小型コンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施されてもよい。本開示に記載のいくつかの実施形態はまた、有線ベースの、またはワイヤレスネットワークを通じて結びつけられる遠隔処理装置によってタスクが行われるような分布したコンピューティング環境において実施することができる。
【0217】
上記の実施形態を念頭に置き、本開示に記載のいくつかの実施形態ではコンピュータシステムに格納されたデータをともなう様々なコンピュータ実装の操作を利用することができることを理解すべきである。これら操作は、物理量の物理的操作を必要とする。本開示に記載の様々な実施形態の一部である本明細書に記載の任意の操作は有用な機械操作である。本開示に記載のいくつかの実施形態はまた、これら操作を行うための機器または装置に関連する。装置は特に必要な目的のために構築することができ、または装置はコンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化されるまたは構成されるコンピュータとすることができる。特に、様々な機械は本明細書の教示にしたがって書かれたコンピュータプログラムとともに使用することができ、または、必要な操作を行うためにより特化した装置を構築するほうがより利便性が高い場合もある。
【0218】
本開示に記載の様々な実施形態はまた、非一時的なコンピュータ可読媒体上のコンピュータ可読コードとして実現することができる。非一時的なコンピュータ可読媒体は、たとえばRAM、ROM、フラッシュメモリ、ディスクなどの、データを格納することができ、コンピュータシステムがその後読み取ることができる任意のデータ記憶装置である。コンピュータ可読媒体の実施例にはハードドライブ、ネットワーク接続記憶装置(NAS)、ROM、RAM、コンパクトディスクROM(CD−ROM)、書き込み可能CD(CD-R)、CD−リライタブル(RW)、磁気テープ及び他の光学ならびに非光学データ記憶装置が含まれる。非一時的なコンピュータ可読媒体は、コンピュータ可読コードが分布して格納され実行されるように、ネットワーク接続されたコンピュータシステム上に分布したコンピュータ可読有形的媒体を含んでもよい。
【0219】
方法の操作が特定の順序で記載されるが、オーバーレイ操作の処理が所望の方法で行われる限りにおいては、操作間に他のハウスキーピング操作が行われてもよく、または操作がわずかに異なる時間に発生するように調整されるか、もしくは処理に関連する様々な時間間隔での処理操作の発生を可能にするシステム上に分布されてもよく、または操作が異なる順序で行われてもよいことを理解すべきである。
【0220】
前述の実施形態は理解を明確にする目的のためにある程度詳細に説明してきたが、特定の変更及び改変を、添付の特許請求の範囲内で実施できることが明らかであろう。したがって、本実施形態は例示的であって制限的なものではないと考えられるべきであり、本開示に記載の様々な実施形態は本明細書内の所与の詳細に限定されるものではなく、添付の特許請求の範囲及び均等物内で改変することができる。
図1A
図1B
図1C
図2
図3
図4A
図4B
図5A
図5B
図5C
図6
図7A
図7B
図8A
図8B
図9A
図9B
図10
図11