(57)【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させる方法であって、
前記ＨＭＤとインターフェイスで接続されるコンピュータシステム上でプログラムを実行して、前記プログラムによって生成された画像を前記画面に対する光学設定値で、前記ＨＭＤの前記画面にレンダリングするステップと、
各々が個別のサイズを有する複数の画像を前記光学設定値で、仮想距離において前記画面に表示するステップと、
前記複数の画像の各々についてユーザから明瞭度レベルのフィードバックを受信するステップと、
調整された前記光学設定値が前記ユーザの視覚の光学的特性を補償するように、前記ＨＭＤの前記画面に対する前記光学設定値を自動的に調整するステップと、
前記コンピュータシステムのストレージにおいて前記ユーザの設定をユーザプロファイルに保存するステップと
を備え、
前記複数の画像を表示するステップは、前記複数の画像を表示するために用いられる前記仮想距離を調整するステップを更に含み、明瞭度レベルのフィードバックを得るように前記仮想距離が調整され、
ユーザの設定が保存された前記ユーザプロファイルは、前記ＨＭＤを装着する前記ユーザの検出時に前記ＨＭＤの前記画面に対する光学設定値を自動的に設定するために使用され、
前記画面は、光学系のデジタル的に作成されたモデリングを用いて前記画像をレンダリングされるように構成され、
前記光学系のデジタル的に作成されたモデリングは、前記画面の前記光学設定値に対する調整として機能し、
前記仮想距離はデジタルモデルとしてレンダリングされる３次元空間において定義され、
前記仮想距離の調整は、増大するサイズの画像を表示して画像が近づくかのように見せることによって実現されるか、または前記仮想距離の調整は、減少するサイズの画像を表示して画像が遠ざかるかのように見せることによって実現される方法。
【請求項２】
調整するステップが、
前記ＨＭＤの前記画面におけるユーザインターフェイスに示された処方設定のリストから選択される、前記ユーザに対する光学処方設定を取得するステップと、
前記ユーザに対して選択された前記光学処方設定に従って前記ＨＭＤの前記画面の前記調整された光学設定値を調節するステップと
を更に含む、請求項１に記載の方法。
【請求項３】
前記ユーザプロファイルがバイオメトリック識別に関するデータを含む、請求項１に記載の方法。
【請求項４】
前記ユーザプロファイルにおける前記バイオメトリック識別が、前記ＨＭＤの内部カメラを介した網膜走査または虹彩走査の一方を用いて認証される、請求項３に記載の方法。
【請求項５】
ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させる方法であって、
プログラムを実行して、前記プログラムによって生成された画像を前記画面に対する光学設定値で、前記ＨＭＤの前記画面にレンダリングするステップと、
各々が個別のサイズを有する複数の画像を前記画面に対する前記光学設定値で、仮想距離において前記画面に表示するステップと、
前記複数の画像の各々についてユーザから明瞭度レベルのフィードバックを受信するステップと、
前記ユーザに対する光学処方設定の選択を受信するステップと、
調整された前記光学設定値が前記ユーザの視覚の光学的特性を補償するように、前記明瞭度レベルのフィードバック及び前記選択された前記ユーザに対する光学処方設定に従って、前記ＨＭＤの前記画面に対する前記光学設定値を自動的に調整するステップと、
前記画面に対する前記調整された光学設定値を前記ユーザのユーザプロファイルに記憶するステップと
を備え、
前記画像がレンダリングされる前記画面は、前記ＨＭＤに配置された光学系を通して見え、
前記調整された光学設定値は、前記ＨＭＤを装着する前記ユーザの検出時に前記ＨＭＤの前記光学系を自動的に設定するために使用され、
前記画面は、前記画面の前記光学設定値を調整するために使われる、デジタル的に作成された前記光学系のモデリングを用いて前記画像をレンダリングされるように構成され、
前記複数の画像を表示するステップは、前記複数の画像を表示するために用いられる前記仮想距離を調整するステップを更に含み、明瞭度レベルのフィードバックを得るように前記仮想距離が調整され、
前記仮想距離はデジタルモデルとしてレンダリングされる３次元空間において定義され、
前記仮想距離の調整は、増大するサイズの画像を表示して画像が近づくかのように見せることによって実現されるか、または前記仮想距離の調整は、減少するサイズの画像を表示して画像が遠ざかるかのように見せることによって実現される方法。
【請求項６】
前記光学処方設定が、前記ＨＭＤの前記画面に表示されたユーザインターフェイス上にレンダリングされた光学処方設定のリストから選択される、請求項５に記載の方法。
【請求項７】
前記ユーザプロファイルが、前記ユーザを識別するためのバイオメトリック識別に関するデータを含み、前記ユーザの前記バイオメトリック識別が、前記ＨＭＤの内部カメラを介して網膜走査または虹彩走査の一方を用いることによって認証される、請求項５に記載の方法。
【請求項８】
ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させるシステムであって、
前記ＨＭＤとインターフェイスで接続されるコンピュータシステム上でプログラムを実行して、前記プログラムによって生成される画像を、前記画面に対する光学設定値で、前記ＨＭＤの前記画面にレンダリングする手段と、
各々が個別のサイズを有する複数の画像を前記光学設定値で、仮想距離において前記画面に表示する手段と、
前記複数の画像の各々についてユーザから明瞭度レベルのフィードバックを受信する手段と、
調整された前記光学設定値が前記ユーザの視覚の光学的特性を補償するように、前記ＨＭＤの前記画面に対する前記光学設定値を自動的に調整する手段と、
前記コンピュータシステムのストレージにおいて前記ユーザの設定をユーザプロファイルに保存する手段と
を備え、
前記画像がレンダリングされる前記画面は、前記ＨＭＤの画面の前に配置された光学系を通して見え、
前記複数の画像を表示する手段は、前記複数の画像を表示するために用いられる前記仮想距離を調整する手段を更に含み、明瞭度レベルのフィードバックを得るように前記仮想距離が調整され、
ユーザのプロファイルが保存された前記ユーザプロファイルは、前記ＨＭＤを装着する前記ユーザの検出時に前記ＨＭＤの前記画面の前記光学設定値を自動的に設定するために使用され、
前記画面は、前記画面の前記光学設定値を調整するために使われる、前記光学系のデジタル的に作成されたモデリングを用いて前記画像をレンダリングされるように構成され、
前記仮想距離はデジタルモデルとしてレンダリングされる３次元空間において定義され、
前記仮想距離の調整は、増大するサイズの画像を表示して画像が近づくかのように見せることによって実現されるか、または前記仮想距離の調整は、減少するサイズの画像を表示して画像が遠ざかるかのように見せることによって実現されるシステム。
【請求項９】
ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させるシステムであって、
プログラムを実行して、前記プログラムによって生成される画像を、前記画面に対する光学設定値で、前記ＨＭＤの前記画面にレンダリングする手段と、
各々が個別のサイズを有する複数の画像を前記画面に対する前記光学設定値で、仮想距離において前記画面に表示する手段と、
前記複数の画像の各々についてユーザから明瞭度レベルのフィードバックを受信する手段と、
前記ユーザに対する光学処方設定の選択を受信する手段と、
調整された前記光学設定値が前記ユーザの視覚の光学的特性を補償するように、前記明瞭度レベルのフィードバック及び前記選択された光学処方設定に従って、前記ＨＭＤの前記画面に対する前記光学設定値を自動的に調整する手段と、
前記ＨＭＤの画面に対する前記調整された光学設定値を前記ユーザのユーザプロファイルに記憶する手段と
を備え、
前記画像がレンダリングされる前記画面は、前記ＨＭＤの画面の前に配置された光学系を通して見え、
前記複数の画像を表示する手段は、前記複数の画像を表示するために用いられる前記仮想距離を調整する手段を更に含み、明瞭度レベルのフィードバックを得るように前記仮想距離が調整され、
前記調整された光学設定値は、前記ＨＭＤを装着する前記ユーザの検出時に前記ＨＭＤの前記画面を自動的に設定するために使用され、
前記画面は、前記画面の前記光学設定値を調整するために使われる、前記光学系のデジタル的に作成されたモデリングを用いて前記画像をレンダリングされるように構成され、
前記仮想距離はデジタルモデルとしてレンダリングされる３次元空間において定義され、
前記仮想距離の調整は、増大するサイズの画像を表示して画像が近づくかのように見せることによって実現されるか、または前記仮想距離の調整は、減少するサイズの画像を表示して画像が遠ざかるかのように見せることによって実現されるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイにおける表示の表現をカスタマイズするための方法及びシステムに関する。
【背景技術】
【０００２】
ビデオゲーム産業は、長年にわたって多くの変化を遂げてきた。演算性能が発展するにつれて、ビデオゲームの開発者も同様に、それらの増強した演算性能を利用するゲームソフトウェアを作成してきた。この目的のため、ビデオゲーム開発者は、複雑な演算及び数学的処理を取り入れたゲームを符号化し、非常にリアルなゲーム体験を創出してきた。
【０００３】
多数のゲーム用プラットフォームが開発され、ゲームコンソールの形態で販売されてきた。標準的なゲームコンソールは、モニタ（通常はテレビ）に接続され、ハンドヘルドコントローラを介してユーザインタラクションを可能とするように設計されている。ゲームコンソールは、中央処理装置（ＣＰＵ）を含む特化された処理ハードウェア、集中的なグラフィック演算を処理するためのグラフィックシンセサイザ、幾何変換を実行するためのベクトル装置、並びに他のグルーハードウェア、ソフトウェア及びファームウェアとともに設計される。ゲームコンソールは更に、ゲームコンソールを介したローカルなプレイ用にゲームコンパクトディスクを受けるための光学ディスクトレイとともに設計される。ゲームコンソールはまた、オンラインゲーム用に設計され、ユーザはインターネット上で他のユーザとインタラクティブに対戦または協働することができる。ゲームの複雑さがプレイヤを魅了し続けるので、ゲーム及びハードウェアの製造者は、更なる相互作用性及びコンピュータプログラムを可能とするように革新し続けてきた。
【０００４】
コンピュータゲーム産業において成長しているトレンドは、ユーザとゲームシステムの間のインタラクションを増すゲーム及びゲームコントローラを開発することである。ゲームコントローラは、ゲームシステムがプレイヤの変化する動作を追跡し、これらの動作をゲームシステム上で実行されるゲームの入力として使用できるようにすることによって、より充実したインタラクティブ体験を可能とする構成を含む。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この状況において、本発明の実施形態が生じている。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、ここに記載するように、ヘッドマウントディスプレイの画面上の表示、オブジェクトなどの光学表現をユーザの光学的処方に基づいてカスタマイズするためのシステム及び方法を提供する。
【０００７】
概略として、本発明の種々の実施形態は、ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させるためのシステム及び方法を開示する。プログラムが実行され、プログラムの実行によってＨＭＤの画面上の画像のレンダリングがもたらされる。レンダリングされた画像は可変サイズのものであり、画面上の仮想距離においてレンダリングされる。ユーザ入力が、レンダリング画像に対して受信される。ユーザ入力は、ユーザが装着するＨＭＤによって知覚されるレンダリング画像の明瞭度レベルを規定する。ユーザ入力に基づいて、ＨＭＤにおいてユーザに対して画像をレンダリングするために光学設定が調整される。調整された光学設定は、ゲームまたは映像に関する画像データなどのインタラクティブ画像をＨＭＤにおけるユーザに対してレンダリングするのに用いられる。ある実施形態では、ユーザがＨＭＤを装着するときはいつでも、記憶された光学設定を用いてユーザに対する画像がレンダリングされるように、ユーザの光学設定がＨＭＤに対するユーザのプロファイルに記憶される。ある実施形態では、ユーザの光学設定はユーザの光学的処方を考慮して、ユーザの光学的要件に従ってＨＭＤの画面の光学設定を更に調整する。したがって、種々の実施形態は、ユーザが眼鏡または矯正レンズを装着することなくＨＭＤを使用できるように、画像がＨＭＤの画面に表示される解像度レベルを調整する態様を提供する。
【０００８】
一実施形態において、ヘッドマウントディスプレイの画面を動作させるための方法が開示される。その方法はプログラムを実行することを含む。プログラムの実行によってＨＭＤの画面上の画像のレンダリングがもたらされる。画面は、第１の光学設定を用いて画像をレンダリングする。これにより、第１の光学設定に従って第１の画像が画面に表示される。第１の画像は第１のサイズを有し、ある距離において表示される。第１の画像に対する明瞭度レベルを特定する入力が受信される。第１の光学設定に従って第２の画像が画面に表示される。第２の画像は第２のサイズ及び当該距離を有する。第２の画像に対する明瞭度レベルを特定する入力が受信される。第１及び第２の画像について受信された明瞭度レベルに基づいて、画面に対する第１の光学設定が第２の光学設定に変更される。
【０００９】
他の実施形態において、ヘッドマウントディスプレイの画面を動作させる方法が開示される。その方法はプログラムを実行することを含む。プログラムの実行によってＨＭＤの画面上の画像のレンダリングがもたらされる。画面は、光学設定を用いて画像をレンダリングする。複数の画像が仮想距離において画面に表示される。複数の画像の各々は個別のサイズを有する。明瞭度レベルのフィードバックが、画面に表示される複数の画像の各々についてユーザから受信される。画面の光学設定は、調整された光学設定がユーザの視覚の光学的特性を補償するように、明瞭度レベルのフィードバックに基づいて自動的に調整される。
【００１０】
更に他の実施形態において、ヘッドマウントディスプレイの画面を動作させる方法が開示される。その方法はプログラムを実行することを含む。プログラムの実行によってＨＭＤの画面上の画像のレンダリングがもたらされる。画面は、光学設定を用いて画像をレンダリングする。複数の画像が仮想距離において画面に表示され、複数の画像の各々は個別のサイズを有する。明瞭度レベルのフィードバックが、ＨＭＤの画面に表示される複数の画像の各々についてユーザから受信される。ユーザについて光学処方設定の選択が受信される。ＨＭＤの画面の光学設定は、選択された明瞭度レベルのフィードバック及び選択された光学処方設定に従って自動的に調整される。ＨＭＤの画面の調整された光学設定は、ユーザの視覚の光学的特性の欠陥を補償する。画面の調整された光学設定は、ＨＭＤがユーザに装着される場合、ユーザに対するインタラクティブ画像をレンダリングするために使用される。
【００１１】
本発明の他の態様が、添付図面との関係において、本発明の実施形態の原理を例示として説明する以降の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００１２】
本発明の種々の実施形態は、添付図面との関係において以降の説明を参照することによって、最も良く理解できる。
【００１３】
【図１】図１は、本発明のいくつかの実施形態によるゲーム環境のシステムアーキテクチャ構成を示す。
【００１４】
【図２Ａ−２Ｄ】図２Ａ−２Ｄは、本発明の実施形態による、ゲームプログラムとのインタラクションにおいて使用されるヘッドマウントディスプレイの構成要素を示す。
【００１５】
【図３Ａ−３Ｆ】図３Ａ−３Ｆは、本発明のいくつかの実施形態における、ヘッドマウントディスプレイにレンダリングされる画像についての明瞭度レベルを受信する実施例を示す。
【００１６】
【図４】図４は、本発明の実施形態による、ヘッドマウントディスプレイの画面を動作させるための方法の動作を示す。
【００１７】
【図５】図５は、本発明の代替実施形態による、ヘッドマウントディスプレイの画面を動作させるための方法の動作を示す。
【００１８】
【図６】図６は、本発明の一実施形態におけるゲームモジュールの全体システムアーキテクチャを示す。
【００１９】
【図７】図７は、本発明の実施形態によるゲームシステムのブロック図を示す。
【発明を実施するための形態】
【００２０】
ヘッドマウントディスプレイ（ＨＭＤ）の画面を動作させるためのシステム及び方法を説明する。ＨＭＤの画面に画像をレンダリングするプログラムが実行される。画像は、画像がレンダリングされているサイズ及び距離を規定する光学設定を用いてレンダリングされる。レンダリング画像に対する明瞭度レベルのフィードバックが検索及び受信される。明瞭度レベルのフィードバックに基づいて、画面の光学設定が自動的に調整される。調整された光学設定は、ユーザによって求められる明瞭度レベルを与える。ある実施形態では、光学設定調整が、ユーザの視覚における何らかの光学的特性の欠陥を補償する。実施形態は、ユーザが何らかのインタラクティブゲームまたはプログラムのためにＨＭＤを用いる場合に、レンダリングされる画像がユーザに明瞭に見えるように、画面上にレンダリングされる画像の解像度を調整する態様を提供する。
【００２１】
ある実施形態では、ユーザが次回ＨＭＤを使用する場合にユーザからの何らの手動調整を要することなく画面がユーザの好みの設定に自動的に調整されるように、ユーザの光学設定がユーザプロファイルに記憶される。ある実施形態では、画面についてのユーザの好みの設定はユーザプロファイルに記憶され、ユーザがＨＭＤを使用する毎に取得される。ユーザを識別し、ユーザのユーザプロファイルから画面についての好みの設定を取得するために、バイオメトリック識別が使用されてもよい。２以上のユーザがＨＭＤを使用する場合、それぞれのユーザの好みの設定を与えるように各ユーザのユーザプロファイルを使用できる。実施形態はまた、ユーザが、矯正／処方眼鏡またはコンタクトレンズを装着する必要なく、インタラクティブゲームまたはインタラクティブプログラムを楽しむための態様を与える。
【００２２】
なお、本開示で説明する種々の実施形態は、それらの具体的詳細の一部または全部がなくても実施され得る。他の場合では、本開示に記載される種々の実施形態を無用に不明瞭としないようにするために、周知の処理動作を詳細には記載していない。
【００２３】
一実施形態では、システムは、コンピュータ、ハンドヘルドコントローラ（ＨＨＣ）及びヘッドマウントディスプレイ（ＨＭＤ）を含む。種々の実施形態において、コンピュータは、汎用コンピュータ、特定用途のコンピュータ、ゲームコンソール、携帯電話、タブレット装置、またはディスプレイ上にレンダリングされるインタラクティブプログラムの１以上の部分を実行するような他の装置である。インタラクティブプログラムは、複数のユーザによってプレイされるマルチユーザ用ゲームプログラムであってもよいし、コンピュータとともに１ユーザによってプレイされるシングルユーザ用ゲームプログラムであってもよい。これらの実施形態では、インタラクティブプログラムの任意の残余部分が、例えば１以上の仮想機械（ＶＭ）などのゲームクラウドシステム上で実行される。ある実施形態では、インタラクティブプログラムの全部がゲームクラウドシステム上で実行される。
【００２４】
ＨＭＤは、ユーザの頭部に、またはヘルメットの一部として装着され、ユーザの一方または各々の目の前方の小型の表示光学系を有する表示装置である。ある実施形態では、ＨＭＤは、コンピュータからの音声及び映像出力を受信及びレンダリングすることができる。ユーザは、ハンドヘルドコントローラ（ＨＨＣ）及び／またはＨＭＤを操作して、インタラクティブプログラムに供給される１以上の入力を生成する。種々の実施形態において、ＨＨＣ及び／またはＨＭＤはコンピュータと無線で通信し、これにより有線接続の場合よりもＨＨＣ及び／またはＨＭＤの移動に高い自由度が備わる。ＨＨＣは、ボタン付きコントローラ、慣性センサ付きコントローラ、追跡可能なＬＥＤ光源付きコントローラ、タッチスクリーン付きコントローラ、ジョイスティック、方向パッド、トリガ、タッチパッド、タッチスクリーン、または手のジェスチャ、音声入力などを検出する他のタイプの入力機構といったような、入力をインタラクティブプログラムに供給するための種々の構成のいずれかを含む。
【００２５】
またさらに、ＨＨＣは、ユーザがインタラクティブプログラムとのインターフェイスとなり、コントローラを動かすことによってインタラクティブプログラムに入力を供給することを可能とするモーションコントローラであってもよい。同様の話として、ＨＭＤは、ユーザがインタラクティブプログラムとのインターフェイスとなり、ＨＭＤを動かすことによってインタラクティブプログラムに入力を供給することを可能とするユーザ入力回路を含んでいてもよい。モーションコントローラ及び／またはＨＭＤの位置・姿勢及び動きを検出するのに種々の技術が採用され得る。例えば、モーションコントローラ及び／またはＨＭＤのユーザ入力回路は、加速度計、ジャイロスコープ及び磁力計といった種々のタイプの慣性センサ回路を含み得る。ある実施形態では、モーションコントローラは、全地球測位システム（ＧＰＳ）、コンパスなどを含む。ある実施形態では、加速度計は６軸の低遅延加速度計である。ある実施形態では、モーションコントローラ及び／またはユーザ入力回路は、例えば発光ダイオード（ＬＥＤ）、着色点、光反射体など、１以上の固定基準オブジェクト（あるいは「マーカ要素」という）を含む。固定基準オブジェクトの画像は、システムの１以上のデジタルカメラによって取り込まれる。ある実施形態では、圧縮映像データがＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）標準フォーマットに基づくイントラ画像などの適切なフォーマットで伝送されるように、デジタルカメラは、単一のＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＬＥＤインジケータ並びにハードウェアベースのリアルタイムデータ圧縮及び符号化装置を更に含むビデオカメラを含む。そして、モーションコントローラ及び／またはＨＭＤの位置・姿勢及び動きは、１以上のデジタルカメラによって取り込まれた画像の解析を介して特定される。
【００２６】
図１は、システム１００の例示構成の実施形態である。一実施形態では、システムは、インターネット１１０を介して通信するゲームクラウド１０２などのプログラムクラウド、ＨＭＤ１０４及びＨＨＣ１０６を含む。一実施形態では、ＨＭＤ１０４は、インターネット１１０と通信するルータ１５２を含む。実施形態によっては、ゲームクラウド１０２を本明細書中でゲームクラウドシステムという。ＨＭＤ１０４は、ユーザ１０８がヘルメットを着用するのと同様にして、ユーザ１０８によってその目の前に配置される。ＨＨＣ１０６はユーザ１０８によってその手に保持される。
【００２７】
種々の実施形態において、ＨＨＣ１０６の代わりにユーザ１０８の手が用いられて、例えば手のジェスチャ、指のジェスチャなどのジェスチャをＨＭＤ１０４に与える。ある実施形態では、ＨＨＣは、ユーザに装着されると、インタラクティブなジェスチャ／アクションに応じて触覚のフィードバックを与えるセンサ付きのインタラクティブグローブであってもよい。インタラクティブグローブは、種々の動きを検出可能とするようにＬＥＤ、光反射体などのようなマーカ要素を含む。ＨＨＣは、インタラクティブグローブに限定されることなく、触覚のフィードバックを与えるための内蔵センサ及び種々の動きを検出可能とするマーカ要素付きの服、帽子、靴などといった他の装着可能物であってもよい。ＨＭＤ１０４のデジタルカメラ１０１がジェスチャの画像を取り込み、ＨＭＤ１０４内のプロセッサがジェスチャを解析してＨＭＤ１０４内で表示されるゲームが影響されるかどうかを判定する。一実施形態では、カメラ１０１は、前方を向くＨＭＤ１０４のフェイスプレートに位置する外部デジタルカメラである。ある実施形態では、異なる角度の実世界の画像を取り込むように、２以上の外部デジタルカメラがＨＭＤ１０４のフェイスプレートに設けられる。ある実施形態では、カメラはステレオカメラ、ＩＲカメラ、単レンズカメラなどである。ここで使用するプロセッサは、マイクロプロセッサ、プログラマブルロジックデバイス、特定用途向け集積回路、またはそれらの組合せでもよい。
【００２８】
システム１００は、インターネット１１０などのネットワークを含み、それは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）またはそれらの組合せであってもよい。ネットワーク１１０の実施例は、インターネット、イントラネットまたはその組合せを含む。ある実施形態では、ネットワーク１１０は、ゲームクラウド１０２とＨＭＤ１０４またはＨＨＣ１０６との間のネットワーク１１０を介してメディアデータを通信するのに伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）を用いる。種々の実施形態において、ネットワークは、ゲームクラウド１０２とＨＭＤ１０４またはＨＨＣ１０６との間のネットワーク１１０を介してメディアデータを通信するのにイーサネット（登録商標）及びＴＣＰ／ＩＰプロトコルの組合せを用いる。
【００２９】
ゲームまたはプログラムクラウド１０２は、有損失の補償または無損失の補償などを用いてメディアデータを符号化／復号するための符号器／復号器、及びプログラム１１７の実行に応じて生成されるメディアデータのストリームを記憶するためのストリームバッファを含む。ある実施形態では、プログラム１１７はゲームプログラムである。他の実施形態では、プログラム１１７はインタラクティブアプリケーションプログラムである。メディアデータは、仮想環境データ、仮想ゲームオブジェクトデータ、その組合せなどを含む。仮想環境データはゲームまたはインタラクティブプログラムの仮想環境を生成するのに使用され、仮想ゲームオブジェクトデータは、例えば仮想ゲームキャラクタ、仮想ゲームのゲーム画面内でのレンダリングのための仮想ゲームオブジェクト、仮想点、仮想の賞、ゲームインターフェイスなど、１以上の仮想オブジェクトまたは仮想ゲームオブジェクトを生成するのに使用される。
【００３０】
ＨＭＤ１０４は、ＨＭＤ１０４のプロセッサによって実行されるオペレーティングシステム（ＯＳ）にアクセスするのに使用される。同様に、ＨＨＣ１０６は、ＨＨＣ１０６のプロセッサによって実行されるＯＳにアクセスするのに使用される。ある実施形態では、ＯＳによってＨＭＤ１０４がルータ１５２を介してネットワーク１１０に直接アクセスできるようになる。ルータ１５２はネットワーク１１０を用いて、ゲームクラウドと相互作用してゲームまたはプログラムデータを交換する。これらの実施形態では、ネットワーク１１０とＨＭＤ１０４の間の通信は無線通信プロトコルに従う。同様の話として、ＨＨＣ１０６は、ネットワークアクセスアプリケーションを用いてネットワークを選択することによってネットワーク１１０へのアクセスを取得し、ＨＨＣ１０６とネットワークの間の通信は無線通信プロトコルに従う。ネットワーク１１０がアクセスされると、ＯＳは、ＨＭＤ１０４が、プログラム／ゲームアクセスアプリケーションを選択することなど、ネットワークの選択と同様の態様でゲームプログラム１１７にアクセスし、ゲームプログラム／プログラム１１７へのアクセスを要求することを可能とする。ある実施形態では、ＨＭＤ１０４の表示画面は、ＨＭＤ１０４が速く動かされた場合のぼけを低減する高性能画面である。ユーザ１０８は、例えば頭を傾けること、ウィンクすること、目を左右に動かすこと、凝視すること、熟視することなど、１以上の頭部及び／または目の動作を行い、頭部または目の各動作に応じてユーザ入力回路が入力を生成し、これは入力をゲームプログラムに供給するのに使用される。これらの実施形態では、ゲームプログラム１１７はゲームクラウド１０２を実行し、ゲームプログラム１１７とＨＭＤ１０４の間の通信はルータ１５２及びネットワーク１１０を介する。
【００３１】
図１に示すように、システム１００は、ルータ１５２及びインターネット１１０を介してゲームクラウド１０２と通信接続しているコンピュータ１７２を含み、プログラム及びプログラム関連データの部分を取得する。コンピュータはまた、ＨＭＤ１０４及びＨＨＣ１０６に通信可能に接続されて入力データを取得する。
【００３２】
ＨＭＤ及びＨＨＣがネットワーク１１０にアクセスすることに加えて、ある実施形態では、コンピュータ１７２のプロセッサが、コンピュータ１７２のメモリ装置内に記憶された無線アクセスアプリケーションを実行してネットワーク１１０にアクセスする。コンピュータ１７２によるネットワークへのアクセスは、ネットワークアクセスアプリケーションを用いたネットワークへのＨＭＤのアクセスと同様である。ある実施形態では、無線アクセスアプリケーションは、ＨＭＤ１０４またはＨＨＣ１０６を介してユーザから受信された入力データに応じて実行される。入力データは、頭部の動き及び／または手の動きを含み得る。コンピュータ１７２のプロセッサがＨＭＤまたはＨＨＣによって生成された入力データを受信すると、無線アクセスアプリケーションは、ネットワーク１１０にアクセスするためのネットワークがそこから選択される無線ネットワークのリストを生成する。
【００３３】
コンピュータ１７２は、ゲームクラウド１０２にプログラム１１７の部分を要求するネットワーク・インターフェイス・コントローラ（ＮＩＣ）（不図示）を含み、これに応じて、コーデックによって符号化されたゲームプログラム１１７の部分１１７−ｂがネットワーク１１０を介してコンピュータ１７２のＮＩＣにストリーム送信される。ゲームプログラムを選択し、ダウンロードし、及びそれと相互作用することに関して実施形態を説明するが、実施形態は、任意のインタラクティブアプリケーションプログラムを選択し、ダウンロードし、及びそれと相互作用するのにも使用され得ることが理解されるべきである。結果として、ゲームプログラムのいずれへの言及も、ゲームプログラムを含む任意のインタラクティブアプリケーションプログラムを意味しているものとして理解されるべきである。ある実施形態では、ゲームクラウドは、そこからゲームプログラム１１７が取得されてコンピュータ１７２にダウンロードされるゲームデータベース１３１を含む。ある実施形態では、ゲームプログラム１１７の部分１１７−ａが、ゲームデータベース１３１からゲームサーバ１０２にダウンロードされ、ゲームプログラム１１７の残余部分１１７−ｂがコンピュータ１７２にダウンロードされる。ある実施形態では、コンピュータ１７２にダウンロードされた部分１１７−ｂはゲーム全体である。コンピュータ１７２のプロセッサ１７６は、コンピュータ１７２の通信回路（不図示）、ネットワークインターフェイスコントローラ（不図示）などから、ＨＭＤ１０４の表示画面上での表示のためにＨＭＤ１０４に送信されるメディアデータ、追加メディアデータ及び次メディアデータ（総称して「メディアデータ」という）を生成するようにゲームプログラム１１７の部分１１７−ｂを実行する。
【００３４】
追加メディアデータ及び次メディアデータは、ＨＭＤ１０４から受信された、頭部の動き／他のユーザ入力、手の動きなどを含む入力データに応じて提供される。ある実施形態では、入力データは、頭部の動き及び／または手の動きに加えて、ＨＭＤ１０４の外部面に配置された外部カメラ１０１によって取り込まれてＨＭＤ１０４の通信回路によって送信される実世界環境データも含む。追加メディアデータは、ＨＭＤにおける仮想ゲームシーンをレンダリングするための仮想環境関連データを与え、次メディアデータは、仮想ゲームシーン内に表示される仮想ゲームオブジェクト及び／または仮想環境への変化を与える。ＨＭＤ１０４の通信回路は、コンピュータ１７２からメディアストリームとしてメディアデータを受信し、ＨＭＤ１０４の表示画面上での変換及び表示のためにメディアデータをＨＭＤ１０４のマイクロコントローラに送信する。例えば現実のゲームオブジェクト、仮想ゲームオブジェクトなどのゲームオブジェクト、及び／または仮想環境が変化すると、ゲームプログラム１１７の実行によって表示されるゲームのゲーム状態も変化する。
【００３５】
ある実施形態では、ゲーム状態をコンピュータ１７２でのゲーム状態に同期させるように、ゲーム状態は、コンピュータ１７２のＮＩＣによってルータ１５２及びネットワーク１１０を介してゲームクラウド１０２に送信され、ゲームクラウド１０２の１以上のサーバがゲーム状態を通知される。これらの実施形態では、ゲーム実行のほとんどがコンピュータ１７２上で行われる。
【００３６】
ある実施形態では、ゲームプログラム１１７がコンピュータ１７２にダウンロードされている間に、ゲームプログラム１１７の部分１１７−ａがゲームクラウド１０２で実行される。したがって、ゲームプログラム１１７の部分１１７−ｂがゲームクラウド１０２からコンピュータ１７２にダウンロードされるまで、ゲームクラウド１０２におけるゲームプログラム１１７の部分１１７−ａの実行に関連するメディアデータが、ＨＭＤでのレンダリングのためにコーデックからネットワーク１１０及びルータ１５２を介してＨＭＤ１０４に送信される。一実施形態では、ゲームプログラム１１７の部分１１７−ｂが、コンピュータ１７２のローカルストレージ１１３にダウンロード及び記憶され、プロセッサ１７６によって実行される。部分１１７−ｂがダウンロードされてコンピュータ１７２のプロセッサ１７６がゲーム部分１１７−ｂを実行開始すると、メディアデータは、ゲームプログラム１１７の部分１１７−ｂについてコンピュータ１７２からＨＭＤ１０４に送信される。ある実施形態では、ゲームプログラムについての全てのメディアデータが、レンダリングのためにコンピュータ１７２からＨＭＤ１０４に直接送信される。コンピュータ１７２は、メディアデータをゲームクラウド１０２に周期的に送信して、ゲームクラウド１０２でのゲームプログラムのゲーム状態をコンピュータ１７２でのゲーム状態に同期させるようにしてもよい。
【００３７】
多数の実施形態において、頭部の動き及び／または手の動きに基づく入力データの部分は、コンピュータ１７２に接続された観察カメラ１７１によって取り込まれる。ある実施形態では、観察カメラ１７１とコンピュータ１７２の間の接続は有線接続である。他の実施形態では、観察カメラ１７１とコンピュータ１７２の間の接続は無線接続である。ある実施形態では、観察カメラ１７１は、ステレオカメラ、ＩＲカメラ若しくはモノカメラのいずれかまたは組合せである。ある実施形態では、観察カメラ１７１は、ビデオカメラまたは静止画−動画カメラの一方である。観察カメラ１７１によって取り込まれた画像は、ＨＭＤ及びＨＨＣの位置・姿勢及び動きを特定するのに使用され得る。例えば、観察カメラ１７１の画像は、ＨＭＤ（Ｘａ，Ｙａ，Ｚａ）についての位置Ａの座標、及びＨＨＣ（Ｘｂ，Ｙｂ，Ｚｂ）についての位置Ｂの座標を識別するのに使用される。座標平面の座標に加えて、観察カメラの画像は、縦揺れ、偏揺れ及び回転を特定してＨＭＤ及びＨＨＣに対する６軸データを生成するのに使用されてもよい。ある実施形態では、観察カメラ１７１によって取り込まれた頭部及び／または手の動きがＨＭＤ１０４のマイクロコントローラに送信され、ＨＭＤ１０４及び／またはＨＨＣ１０６からの６軸データが演算／解釈されて入力データが生成される。ＨＭＤ１０４からの入力データはコンピュータ１７２に送信されてゲームプログラムの結果に影響を及ぼす。ある実施形態では、観察カメラ１７１によって取り込まれた頭部及び／または手の動きがプロセッサ１７６に直接送信され、それが解釈されて６軸データが生成される。したがって、観察カメラ１７１は、ユーザ（頭部及び／または手）の動きを観察し、この情報が、ゲームプログラムへのフィードバックを与える際に使用されてゲーム状態変化に影響を及ぼす。この実施形態では、ゲームプログラム１１７に関する他の何らかの入力データがＨＭＤ１０４によってプロセッサに送信され、プロセッサ１７６は当該他の入力データを６軸データで解釈して、ゲームのゲーム状態が変更される必要があるかを判定する。この解釈に基づいて、ゲームのゲーム状態が変えられる。ある実施形態では、ＨＭＤ１０４からの入力データは、外部カメラ１０１によって取り込まれ、ＨＭＤ１０４の通信回路からコンピュータ１７２の通信回路に送信される実世界環境データを含む。実世界環境データは、ＨＭＤ１０４の画面の所定部分においてレンダリングされる仮想ゲームシーンに影響を及ぼすように使用され得る。
【００３８】
ある実施形態では、ＨＭＤ１０４は、有線接続を用いてコンピュータ１７２に通信可能に接続される。そのような実施形態では、ＨＭＤは、有線接続の切断を検出して、ＨＭＤ１０４の画面上にレンダリングされる仮想ゲームシーンを一時停止させるように構成される。コンピュータ１７２にゲームプログラムの実行を一時停止させ、ゲームのセッションに対するゲーム状態及びゲームシーンを記憶させるように、接続切断中の信号がコンピュータ１７２に中継される。そのような場合において、バッテリからの電力は、コンピュータ１７２と通信して接続の状況を提供するための電力を供給するのに使用され得る。通信接続が確立されたＨＭＤ１０４からの信号をコンピュータ１７２が取得するとすぐに、ゲームプログラムの実行が再開する。ある実施形態では、ＨＭＤとコンピュータ１７２の間の接続が再開すると、コンピュータ１７２は、ゲームシーン及び／またはゲーム関連データを中断時点からストリーム送信することを開始する。他の実施形態では、ユーザがゲームに没頭する時間を得ることができるように、コンピュータ１７２は、ゲームシーン及び／またはゲーム関連データを、接続中断に起因する一時停止よりも前の時点（例えば、その原因よりも数百フレーム前）からストリーム送信することを開始する。この実施形態では、コンピュータ１７２が、ユーザがゲームの部分を再実行することを可能として、ユーザはゆっくりとゲームに没頭できるようになる。ＨＨＣとＨＭＤの間の通信及びＨＨＣとコンピュータ１７２の間の通信は無線通信プロトコルに従う。
【００３９】
ある実施形態では、ＨＭＤ１０４は、ユーザの目の動きの変化を検出する１以上の内部カメラ１０３を含む。内部カメラ１０３は、ゲームへのアクセスを与える前にユーザを識別／認証するのにも使用され得る。
【００４０】
ゲーム環境に関して詳細な説明が行われるが、コンピュータシステムとの双方向通信中にもインターフェイスがあることが分かる。コンピュータシステムは、ユーザ１０８が、アイコン、入力、選択、テキスト及び他のコマンドを制御するジェスチャを空間において表現及び実行することを可能とするグラフィックユーザインターフェイス付きの汎用コンピュータでも可能である。
【００４１】
図２Ａ−２Ｄに、ゲームクラウド１０２との間でプログラム関連メディアデータを通信するのに使用される種々の表示及び態様を図示するヘッドマウントディスプレイ（ＨＭＤ）１０４のブロック図を示す。ＨＭＤ１０４は、ＨＭＤにおいて受信されたメディアデータを復号することによって、コンピュータ１７２で部分的にまたは全部を実行している、及び／またはゲームクラウドで部分的にまたは全部を実行しているゲームプログラム１１７に対して生成されたコンピュータ生成画像（すなわち、仮想画像）を表示するように構成される。ＨＭＤはまた、実行中のゲームプログラムを更新するためにコンピュータ及び／またはゲームクラウドに送信する前に、ＨＭＤから生成されたメディアデータを符号化するように構成される。ＨＭＤはまた、ユーザの視点から取り込まれる実世界環境の画像を表示するように構成される。
【００４２】
図２Ａは、頭部の動き及び／または手の動きに基づいて入力データを生成するために、並びにゲームシーン及び実世界環境のシーンをレンダリングするために使用されるＨＭＤ１０４の実施形態の図である。図示するように、ＨＭＤ１０４は、ユーザ１０８によって装着される。ＨＭＤ１０４は、ＨＭＤの視覚的追跡を補助する１以上のマーカ要素を含む。同様に、ＨＨＣ１０６（不図示）は、ＨＭＤに設けられたマーカ要素と同様の１以上のマーカ要素を含む。各マーカ要素は、発光ダイオード２１４、赤外線光源２１０、着色物、反射材、画像解析を介して容易に認識される特別な構成物または特徴物を有する物体などである。例えば、球状物体２１２が、容易な追跡のためにＨＭＤに付加されてもよい。さらに、球状物体２１２はまた、ＬＥＤ光源、赤外線光源または他のタイプの照明を用いて点灯されてもよい。さらに、ＨＭＤ１０４はまた、反射領域、特定色の領域（例えば、青い長方形など）またはマーキング（例えば、ＨＭＤの表面の３本の平行線）といったような特別な視覚的マーカ（不図示）を含んでいてもよい。
【００４３】
さらに、ある実施形態では、ＨＭＤはまた、光源または視覚的マーカを検出することによってＨＭＤの位置を更に視覚的に追跡するように、ＨＭＤの側部及び／または後部（すなわち、後頭部に接触するＨＭＤの部分）に追加のマーカ要素を含む。
【００４４】
ＨＭＤの視覚的追跡が、様々なタイプのカメラを用いて可能となる。ある実施形態では、カメラは（図１の）観察カメラ１７１である。一実施形態では、ＨＭＤはステレオカメラ４０２を用いて追跡され、これは各レンズに対して個別の画像センサを有する２以上のレンズを含むカメラである。個別の画像センサによって、ステレオカメラが深さの錯視を与える物体の３次元画像を取り込むことが可能となる。ステレオカメラ光学系は、光学無限大（例えば、約９メートル）に設定されて立体視的な画像を与えるように設計される。様々なレンズによって取り込まれるＨＭＤのマーカ要素の画像は、（例えば、プレイの領域内の深さの計算のために）３次元空間におけるＨＭＤの位置を特定するように、三角測量解析を用いて比較される。
【００４５】
他の実施形態では、赤外線（ＩＲ）カメラ４０４が赤外光（例えば、赤外線光源２１０）を解析するのに使用される。赤外光は人間の目には見えないが、赤外線カメラによって容易に検出できる。ＨＭＤは、ＨＭＤの外観を損ねない赤外線光源を含むことができる。ある環境（例えば、弱い光または明るい光）においては、ＨＭＤの形状またはＨＭＤの構成物を検出するのに、他のタイプの光よりも赤外光を追跡する方が容易である。赤外線（ＩＲ）カメラは、ＨＭＤのような追跡物体の、強化された撮影及び熱的な撮影を与える。ＩＲカメラは、ユーザの凝視方向を検出する内部カメラとしても使用され得る。
【００４６】
更に他の実施形態では、通常のカメラ４０５が、視覚的追跡のために構成されるＨＭＤにおける光源または他のマーカ要素を追跡するのに使用される。カメラ４０５は１つのレンズしか有していないためにモノカメラともいわれる。通常のカメラを用いてプレイの領域内でＨＭＤの深さを特定するために、ＨＭＤ上のいくつかの構成物のサイズが解析される。構成物が小さいほど、構成物はＨＭＤのカメラから離れている。さらに、視覚的追跡は、慣性動作追跡、デッドレコニング、ＨＭＤと演算装置の間の超音波通信などといった他のタイプの追跡と組み合わせられてもよい。
【００４７】
デジタルカメラ４０２は、ＨＭＤ１０４の画像を取り込む。ユーザ１０８の頭部が傾き、または動くと、マーカ要素の姿勢及び位置が座標系において変化する。デジタルカメラは、マーカ要素の画像を取り込み、その画像をコンピュータ１７２に送信する。マーカ要素の画像は入力データの一例である。３次元空間（Ｘ，Ｙ，Ｚ）におけるＨＭＤ１０４の位置・姿勢は、画像におけるマーカ要素の位置・姿勢に基づいてコンピュータ１７２のプロセッサ１７６によって特定される。また、ＨＭＤ１０４の、例えば偏揺れ、縦揺れ及び回転といった慣性動作が、画像において取り込まれるマーカ要素の動きに基づいてコンピュータ１７２のプロセッサ１７６によって特定される。コンピュータ１７２が利用可能でない場合には、デジタルカメラからのマーカ要素の画像がＨＭＤ１０４のプロセッサに送信され、ＨＭＤのプロセッサがマーカ要素の座標を用いてＨＭＤの位置・姿勢を特定する。
【００４８】
ある実施形態では、デジタルカメラ４０２は、ＨＨＣ１０６の画像を取り込む。ユーザ１０８の手が傾き、または動くと、ＨＨＣのマーカ要素の姿勢及び位置が座標系において変化する。デジタルカメラはＨＨＣのマーカ要素の画像を取り込み、その画像をコンピュータ１７２またはＨＭＤ１０４のプロセッサに送信する。ＨＨＣのマーカ要素の画像は入力データの一例である。３次元空間（Ｘ，Ｙ，Ｚ）におけるＨＨＣ１０６の位置・姿勢は、画像におけるＨＨＣのマーカ要素の位置・姿勢に基づいてコンピュータ１７２のプロセッサ１７６またはＨＭＤ１０４のプロセッサによって特定される。さらに、例えばＨＭＤ１０４の偏揺れ、縦揺れ及び回転といった慣性動作が、ＨＨＣのマーカ要素の動きに基づいてコンピュータ１７２のプロセッサ１７６またはＨＭＤ１０４のプロセッサによって特定される。
【００４９】
ある実施形態では、３次元空間における手の位置・姿勢並びに手及びＨＭＤ１０４の慣性動作を特定するのに、デジタルカメラは、ＨＨＣ１０６の画像を取り込むのではなく、手の画像を取り込む。ある実施形態では、インタラクティブグローブまたは他の装着可能物が、ＨＨＣ１０６の代わりに使用される。グローブまたは他の装着可能物は、グローブ／他の装着可能物の様々な部分の動きを追跡するマーカ要素を含み、それはグローブ／他の装着可能物の記録された動きに関係するので、ユーザの手またはユーザの体の他の部分の動きを解釈するのに使用される。
【００５０】
マーク付けされた物体を追跡するための方法に関する更なる情報については、２０１１年８月１５日に出願され、２０１２年３月２２日に公開されたＵ．Ｓ．Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｕｂｌｉｃａｔｉｏｎ  Ｎｏ．２０１２／００７２１１９及び２００８年１０月２７日に出願され、２０１０年４月２９日に公開されたＵ．Ｓ．Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｕｂｌｉｃａｔｉｏｎ  Ｎｏ．２０１０／０１０５４７５が参照され、双方が参照としてここに取り込まれる。
【００５１】
図示するように、ＨＭＤの相対位置及びユーザの頭部の動きによって与えられるＨＭＤの動きを特定するのに、１以上の対のステレオカメラ４０２、１以上の赤外線カメラ４０４及び／若しくは１以上のモノカメラ４０５またはこれらの組合せが用いられる。
【００５２】
ＨＭＤは、内部に搭載された１以上の内部カメラも装備し、ユーザに関する画像を取り込み、その画像を通信モジュールに供給してユーザ特有及び環境特有のデータをＨＭＤに供給するようにしてもよい。内部カメラは、ＨＭＤを装着しているユーザを識別するのに使用され、これはユーザのユーザプロファイルを取得するのに使用される。これにより、ＨＭＤは、ユーザの網膜または虹彩を走査する網膜走査技術及び／または虹彩走査技術を内部カメラに採用させるプログラムを実行することができる。走査からのデータは、ユーザの少なくとも１つのバイオメトリック識別を生成するのに使用される。ユーザのバイオメトリック識別は、ユーザのプロファイルを生成するのに使用される。内部カメラはまた、ユーザの凝視方向を検出し、ＨＭＤの画像にレンダリングされる画像データを検出に基づいて調整する凝視検出器アルゴリズムを含む。ある実施形態では、内部カメラはＩＲカメラである。凝視検出技術は、ユーザを認証するのにも使用され得る。例えば、ユーザは、画面にレンダリングされるオブジェクトを追うように、または画面にレンダリングされるランダムに生成される文字、オブジェクト若しくは模様（例えば、円、三角形、長方形など）を追跡するように要求される。ある実施形態では、画面上の文字、オブジェクトまたは模様を追跡するようにユーザに口頭または文字コマンドが与えられ、凝視検出技術を用いてユーザが認証される。ユーザの認証は、ユーザアカウント、ゲーム、ゲームの所定の部分またはレベルなどへのアクセスを可能とするのに使用され得る。ユーザ識別／認証は、ユーザアカウント、ゲーム、アプリケーション、またはＨＭＤの表示画面におけるレンダリングのために選択される他の何らかのコンテンツへのアクセスを与える際に、親による制限、適正年齢制限などのような追加の制限を実施するのに使用され得る。図２Ｂは、ユーザのバイオメトリック識別及びユーザの目の動きを検出するための内部カメラ１０９（図１の１０３）を有するＨＭＤ１０４を装着したユーザを示す。
【００５３】
内部カメラ１０９及び外部カメラは協働して、ユーザの凝視を特定し、凝視をユーザの凝視の視線方向におけるオブジェクトに関係付ける。ＨＭＤのゲーム処理モジュールは、ユーザの凝視の方向を演算し、それを演算された方向の視界内のオブジェクトに相関付けるソフトウェアを含む。
【００５４】
ＨＭＤは、一方の目または各々の目の前方に１つまたは一対の表示画面を含む。表示画面は、いくつか例を挙げると、冷陰極管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、エルコス（ＬＣｏＳ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  ｏｎ  Ｓｉｌｉｃｏｎ）または有機発光ダイオード（ＯＬＥＤ）を含む小型画面である。前述した表示画面の代替として、またはそれに加えて、ＨＭＤは、ＨＭＤの側部、上部及び／または後部にある表示画面を含んでいてもよい。ある実施形態では、ＨＭＤ「ディスプレイ」はまた、走査プロジェクタまたは他の形態の光学投影／拡大装置によって生成される。
【００５５】
図２Ｃは、本発明の種々の実施形態で使用される簡略化されたＨＭＤのブロック図表現を示す。ＨＭＤは、ＨＭＤがユーザの頭部を覆って確実に嵌るようにする１以上のアンカーストラップ４０１、及び前方フェイスプレート４０５を含む。前方フェイスプレート４０５は、内部に配置された画面を有する画面部分、及びそこに配置された１以上の内部カメラユニット（１０９）を含む。内部カメラユニット（すなわち、内部搭載カメラ）に加えて、ユーザの視点から見える実世界環境を取り込むように１以上の外部カメラユニット１０１（すなわち、外部搭載カメラ）もＨＭＤに配置され得る。外部カメラユニット１０１は、ＨＭＤ及びＨＨＣの動きを検出するのに使用される（図１の）観察カメラ１７１に加えられる。ＨＭＤのフェイスプレートは、１以上の発光ダイオード２１０、１以上の赤外線光源２１４、１以上の球状物体２１２、着色体、反射材、画像解析を介して容易に認識される特別な構成物／特徴物を有する物体などを含む複数のマーカ要素を含む。ゲームプレイ中、ＨＭＤのマーカ要素の画像が１以上の観察カメラによって取り込まれ、取り込まれた画像からの座標データがＨＭＤの位置、動き及び姿勢を特定するのに使用される。観察カメラは、ＨＭＤに直接に、またはコンピュータ１７２を介して接続され、取り込んだ画像に関するデータをＨＭＤ及び／またはコンピュータ１７２と交換するように構成される。ＨＭＤに送信されると、ＨＭＤ内のプロセッサはデータを処理してＨＭＤの６軸データを識別し、処理データをＨＭＤからの入力データとして、コンピュータ１７２に送信し、並びに／または（存在する場合には）コンピュータ１７２及びルータを介して、またはルータ及びネットワークを介して、若しくは直接にゲームクラウド１０２に送信する。入力データは、ゲームプログラムのゲーム状態に影響または作用する。
【００５６】
内部カメラ１０９は、ユーザの目の動き及び凝視を検出及び追跡する。内部カメラ１０９は、ある期間について（例えば、まっすぐ見ていたユーザがある期間だけ下を見た場合）ユーザの凝視方向を特定し、ある期間にわたって（例えば、ユーザがオブジェクトを追い、模様を追跡する場合など）凝視パターンを検出し、及び／または凝視方向の変化（例えば、目の端から端への動き、特に高輝度のゲームにおける目の回転−これはユーザがめまいを起こしている兆候の場合もある−など）を検出するのに使用される。ＨＭＤの画面でのレンダリングのための適切なゲーム関連データを特定するために、ＨＭＤの内部カメラは、ＨＭＤの外部カメラ及び観察カメラと通信する。この通信によって、所定のトリガイベントに応じて、ＨＭＤの画面上のゲーム関連データと平行して、またはそれに代えてユーザ／環境関連データをレンダリングすることが可能となる。
【００５７】
図２Ｄは、ＨＭＤ１０４の通信アーキテクチャのブロック図である。ＨＭＤ１０４は、映像音声分離器２５４、映像復号器２５５、メモリ装置２５６、ワイヤレスアクセスカード（ＷＡＣ）２５８、ストリームバッファ２５９、１以上のスピーカ２６０、バッテリ２６１、ユーザ入力回路２６２、表示画面２６６、マイクロコントローラ２６８、音声バッファ２７２、観察デジタルカメラ２７４、外部デジタルカメラ２７５、音声コーデック２７６、内部デジタルカメラ２７８、映像バッファ２８０、映像音声同期部２８２、マイクロフォン２８４、ＬＥＤ２８５及びＩＲ光源２８７を含む。ＬＥＤ２８５及びＩＲ光源２８７は、ＨＭＤの位置・姿勢を追跡するのに使用されるマーカ要素である。
【００５８】
多数の実施形態において、スピーカ２６０はオーディオ回路である。種々の実施形態において、音声コーデック２７６、音声バッファ２７２及び／またはスピーカ２６０はオーディオ回路である。種々の実施形態において、マイクロコントローラ２６８は表示回路である。表示画面２６６の例として、ＬＥＤ画面、液晶表示（ＬＣＤ）画面、エルコス（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｏｎ  ｓｉｌｉｃｏｎ）画面、有機ＬＥＤ（ＯＥＬＤ）画面、プラズマ画面などがある。外部デジタルカメラの例として、Ｓｏｎｙ  Ｃｏｍｐｕｔｅｒ  Ｅｎｔｅｒｔａｉｍｅｎｔ，Ｉｎｃ．社製のＰｌａｙｓｔａｔｉｏｎ  Ｅｙｅ（登録商標）などのフィスト・アイ・カメラがある。
【００５９】
マイクロコントローラ２６８は、レンダリングプログラム２８６及びオペレーティングシステム２８８を記憶する。レンダリングプログラム２８６及びオペレーティングシステム２８８は、マイクロコントローラ２８６のメモリ装置に記憶され、マイクロコントローラ２６８のマイクロプロセッサによって実行される。マイクロコントローラ２６８の例として、例えばＬＣＤドライバなどのドライバを含む低価格マイクロコントローラがある。ドライバは、表示画面２６６の例えばＬＣＤなどの要素を駆動し、例えば、要素に供給する信号を生成し、要素を検出する信号を生成するなどして表示画面２６６にゲームを表示する。マイクロコントローラの他の例は、ＧＰＵ及びメモリ装置を含む。
【００６０】
ある実施形態では、マイクロコントローラのメモリ装置は、フラッシュメモリまたはランダムアクセスメモリ（ＲＡＭ）以外である。例えば、マイクロコントローラのメモリ装置はバッファである。種々の実施形態において、マイクロコントローラのメモリ装置はフラッシュメモリまたはＲＡＭである。ユーザ入力回路２６２の例として、ジャイロスコープ、磁力計及び加速度計がある。ある実施形態では、ユーザ入力回路２６２は、全地球測位システム（ＧＰＳ）、コンパスまたは何らかの位置追跡装置も含む。ＷＡＣ２５８の例としてＮＩＣがある。ある実施形態では、ＷＡＣ２５８は通信回路といわれる。
【００６１】
符号化されたメディアデータのストリームは、ネットワーク１１０またはルータ１５２（図１Ｂ−１Ｃ）からストリームバッファ２５９に受信される。なお、ルータ１５２がコンピュータ１７２に結合される場合（図１Ｃ）、コンピュータ１７２から受信されたデータは、ストリームバッファ２５９に格納されるのではなく、ＨＭＤ２５０のバッファ（不図示）またはメモリ装置２５６に格納される。
【００６２】
ＷＡＣ２５８は、符号化されたメディアデータのストリームにストリームバッファ２５９でアクセスし、ストリームをパケット化解除する。ＷＡＣ２５８は、符号化されたメディアデータを復号する復号器も含む。
【００６３】
符号化されたメディアデータのストリームがルータ１５２（図１Ｃ）を介してコンピュータ１７２（図１Ｃ）によって受信される実施形態では、コンピュータ１７２のＮＩＣ１７４（図１Ｃ）が、符号化されたメディアデータのストリームをパケット化解除及び復号して復号データを生成し、これがＨＭＤ２５０のバッファ（不図示）に格納される。
【００６４】
復号データは映像音声分離器２５４によってＷＡＣ２５８またはバッファ（不図示）でアクセスされる。映像音声分離器２５４は、復号データ内の音声データを映像データから分離する。
【００６５】
映像音声分離器２５４は、音声データを音声バッファ２７２に、映像データを映像バッファ２８０に送信する。映像復号器２５５は、映像データを、例えばデジタル形式からアナログ形式に変換するなど、復号してアナログ映像信号を生成する。映像音声同期部２８２は、映像バッファ２８０に格納された映像データを、音声バッファ２７２に格納された音声データに同期させる。例えば、映像音声同期部２８２は、映像データ及び音声データの再生の時間を用いて映像データを音声データに同期させる。
【００６６】
音声コーデック２７６は、同期された音声データをデジタルフォーマットからアナログフォーマットに変換して音声信号を生成し、音声信号はスピーカ２６０によって再生されて音が生成される。マイクロコントローラ２６８は、レンダリングプログラム２８６を実行して、映像復号器２５５によって生成されたアナログ映像信号に基づいて表示画面２６６にゲームを表示する。ある実施形態では、表示画面２６６で表示されるゲームは、音声信号の再生と同期して表示される。
【００６７】
さらに、ユーザがマイクロフォン２８４に発声すると、音声コーデック２７６は音の信号を、例えば音声信号などの電気信号に変換する。音声コーデック２７６は、音声信号をアナログフォーマットからデジタルフォーマットに変換して音声データを生成し、これは音声バッファ２７２に格納される。音声バッファ２７２に格納された音声データは、ユーザ１０８の音に基づいて生成された入力データの一例である。音声データは、ＷＡＣ２５８によって音声バッファ２７２でアクセスされ、ネットワーク１１０（図１Ａ−１Ｃ）を介してゲームクラウド１０２（図１Ａ−１Ｃ）のコーデック１１２（図１Ａ−１Ｃ）に送信される。例えば、ＷＡＣ２５８は、音声バッファ２７２でアクセスされた音声データをパケット化及び符号化し、ネットワーク１１０を介してコーデック１１２に送信する。
【００６８】
ある実施形態では、音声データは、ＷＡＣ２５８によって音声バッファ２７２でアクセスされ、ルータ１５２（図１Ｄ）及びネットワーク１１０（図１Ｄ）を介してゲームクラウド１０２のコーデックに送信される。例えば、ＷＡＣ２５８は、音声バッファ２７２でアクセスされた音声データをパケット化及び符号化し、ルータ１５２及びネットワーク１１０を介してコーデックに送信する。
【００６９】
内部デジタルカメラ２７８（図１の１０３、図２Ｂの１０９）は、ユーザ１０８の頭部の動き及び／または目の動きの１以上の画像を取り込んで画像データを生成する。これは、頭部及び／または目の動きに基づいて生成される入力データの一例である。同様に、観察デジタルカメラ２７４（図１Ｄのカメラ１７１）は、ＨＭＤ２５０及び／またはユーザ１０８のＨＨＣ／グローブ／手に位置するマーカの１以上の画像を取り込んで画像データを生成する。これは、手の動き／ジェスチャに基づいて生成される入力データの一例である。ある実施形態では、画像は、ＨＭＤに搭載された外部デジタルカメラ２７５（図１ｄのカメラ１０１）によっても取り込まれる。デジタルカメラ２７４、２７５及び２７８によって取り込まれた画像データが映像バッファ２８０に格納される。
【００７０】
ある実施形態では、デジタルカメラ２７４、２７５及び２７８によって取り込まれた画像データはＨＭＤ２５０のバッファに格納され、バッファは映像バッファ２８０以外である。種々の実施形態において、デジタルカメラ２７４、２７５及び２７８によって取り込まれた画像データは映像復号器２５５によって復号され、表示画面２６６での画像の表示のためにマイクロコントローラ２６８に送信される。
【００７１】
デジタルカメラ２７４、２７５及び２７８によって取り込まれた画像データは、ＷＡＣ（ワイヤレスアクセスカード）２５８によって映像バッファ２８０でアクセスされ、ネットワーク１１０を介してゲームクラウド１０２のコーデックに送信される。例えば、ＷＡＣ２５８は、映像バッファ２８０でアクセスされた画像データをパケット化及び符号化してネットワーク１１０を介してコーデックに送信する。
【００７２】
ある実施形態では、映像データは、ＷＡＣ２５８によって映像バッファ２８０でアクセスされ、ルータ１５２及びネットワーク１１０を介してゲームクラウド１０２のコーデック１１２に送信される。例えば、ＷＡＣ２５８は、映像バッファ２８０でアクセスされた映像データをパケット化及び符号化してルータ１５２及び／またはネットワーク１１０を介してコーデック１１２に送信する。
【００７３】
コントローラ／コンソール通信回路２８９は、バッファ（不図示）での格納のためにメディアデータをコンピュータ１７２から受信する。さらに、コントローラ／コンソール通信回路２８９はＨＨＣ１０６から入力信号を受信し、入力信号をアナログ形式からデジタル形式に変換して入力データを生成し、これはＷＡＣ２５８によってアクセスされてネットワーク１１０を介してゲームクラウド１０２のコーデックに送信される。例えば、ＷＡＣ２５８は、コントローラ／コンソール通信回路２８９でアクセスされた入力データをパケット化及び符号化してネットワーク１１０を介してコーデックに送信する。
【００７４】
ある実施形態では、入力データはＷＡＣ２５８によってコントローラ／コンソール通信回路２８９でアクセスされて、ルータ１５２及びネットワーク１１０を介してゲームクラウド１０２のコーデックに送信される。例えば、ＷＡＣ２５８は、映像バッファ２８０でアクセスされた映像データをパケット化及び符号化してルータ１５２及びネットワーク１１０を介してコーデックに送信する。
【００７５】
なお、コントローラ／コンソール通信回路２８９の代わりに、２つの個別の通信回路が使用されてもよく、一方がコンピュータ１７２とデータを、例えば受信する、送信するなど、通信するためのものであり、他方がＨＨＣ１０６とデータを通信するためのものである。
【００７６】
多数の実施形態において、復号器はＷＡＣ２５８の外部に位置する。種々の実施形態において、ストリームバッファ２５９はＷＡＣ２５８内に位置する。
【００７７】
ある実施形態では、ＨＭＤ１０４は観察デジタルカメラ２７４を含まない。いくつかの実施形態では、ＨＭＤ１０４は、任意数のマイクロコントローラ、任意数のバッファ及び／または任意数のメモリ装置を含む。
【００７８】
種々の実施形態において、ＨＭＤ１０４は、構成要素、例えば映像音声分離器２５４、メモリ装置２５６、ワイヤレスアクセスカード２５８、ストリームバッファ２５９、１以上のスピーカ２６０、ユーザ入力回路２６２、表示画面２６６、マイクロコントローラ２６８、音声バッファ２７２、外部デジタルカメラ２７４、音声コーデック２７６、内部デジタルカメラ２７８、映像バッファ２８０、映像音声同期部２８２及びマイクロフォン２８４に電力を供給する１以上のバッテリ２６１を含む。１以上のバッテリ２６１は、交流コンセントに差し込まれる充電器（不図示）で充電される。
【００７９】
多数の実施形態において、入力データ及び／またはメディアデータをインタラクティブメディアという。
【００８０】
ある実施形態では、ＨＭＤ１０４は、ペアリングを介したローカルユーザ間のピアトゥピアのマルチチャネル通信を促進する通信回路を含む。例えば、ＨＭＤ１０４は、マイクロフォン２８４から受信された音の信号を変調し、変調された信号を他のＨＭＤ（不図示）の送受信機にチャネルを介して送信する送受信機を含む。当該他のＨＭＤの送受信機は、この信号を復調して当該他のＨＭＤの話者に供給してユーザ間の通信を促進する。
【００８１】
種々の実施形態において、他のそれぞれのＨＭＤと通信するのにそれぞれのチャネルがＨＭＤ１０４の送受信機によって使用される。例えば、変調信号が第１の他のＨＭＤに送信されるチャネルは、変調信号が第２の他のＨＭＤに送信されるチャネルとは異なる。
【００８２】
ある実施形態では、ＷＡＣ２５８、ユーザ入力回路２６２、マイクロコントローラ２６８及び映像復号器２５５は、１以上の個々の回路チップに集積される。例えば、ＷＡＣ２５８、映像復号器２５５及びマイクロコントローラ２６８が１つの回路チップに集積され、ユーザ入力回路２６２が他の回路チップに集積される。他の例として、ＷＡＣ２５８、ユーザ入力回路２６２、マイクロコントローラ２６８及び映像復号器２５５の各々が個別の回路チップに集積される。
【００８３】
ユーザを識別し、ユーザの光学的選好を特定し、ユーザの光学的選好に基づいて画面の解像度を調整するのにＨＭＤの種々のモジュールが用いられる。実施形態によっては、ＨＭＤ内のモジュールを総称して「ゲーム処理モジュール」という。ＨＭＤのゲーム処理モジュール（またはアプリケーション処理モジュール）によって、ユーザの光学的特徴を識別する入力をユーザが提供することが可能となり、画面の光学設定（すなわち、画面解像度）を調整してユーザが充実したインタラクティブ体験を得ることが可能となる。実施形態は、ＨＭＤの画面を用いてインタラクティブ仮想視覚テストを行うことなど、ユーザの光学的選好を特定する態様を提供する。ＨＭＤの画面はオブジェクトの３次元表現をレンダリングするように構成されているので、３次元（３Ｄ）空間を用いてそのようなテストを行うための光学系のモデリングをデジタル的に作成するのが容易となる。したがって、３Ｄ光学系のデジタルモデリングを用いて、ユーザの視覚の光学的特徴を正しく評価するように、１以上の仮想距離において可変サイズの画像がユーザに表示される。この情報は、ユーザの視覚の要件を満たす画面の焦点及び他の光学設定を調整するのに使用される。
【００８４】
図３Ａ−３Ｆは、ユーザが有意義な態様でインタラクティブゲーム／プログラムを視聴及び相互作用することができるようにＨＭＤが選好／要件を用いてＨＭＤの光学設定をユーザに対してカスタマイズするように、ユーザの光学的選好または要件を評価するプログラムが実行される一実施形態を示す。ある実施形態では、インタラクティブプログラムが実行される。プログラムは、ユーザに装着されたＨＭＤの画面上に画像の表現をもたらし、表示された画像の明瞭度レベルを特定するのにユーザからの入力を必要とする。ユーザからの入力は、ユーザの光学的要件を特定するのに使用され、ユーザに対するＨＭＤの画面の解像度がそれに従って調整される。ある実施形態では、プログラムは、ＨＭＤに通信可能に接続されたコンピュータで実行され、ＨＭＤはコンピュータから画像を供給される。他のある実施形態では、プログラムはＨＭＤ自体で実行され、ユーザインタラクション及びフィードバックのための画像を提供する。他の実施形態では、プログラムはゲームクラウドで実行され、画像がＨＭＤにストリーム送信され、ユーザのフィードバックがクラウドにおいて処理される。ある実施形態では、プログラムは、部分的にコンピュータで実行され、部分的にＨＭＤで実行され、及び／または部分的にゲームクラウドで実行される。
【００８５】
図３Ａに示すように、プログラムはＨＭＤの画面上でユーザに対して画像を表示し、ユーザにフィードバックを要求する。画像は個別のサイズのものであり、画面の仮想距離において表示される。一実施形態では、画像は、テキスト、幾何形状、アニメ化されたグラフィック、または他の任意のレンダリング可能なオブジェクトのいずれかである。一実施形態では、画像３０２は、画面上にレンダリングされる仮想空間内の仮想距離Ｄ２において表示される。一実施形態では、画像３０２は、ユーザの目から仮想距離Ｄ２の仮想空間内の領域３０４内にレンダリングされる。そして、ユーザは画像を識別することを要求される。一実施形態では、画像を識別させる要求が、音声形式または視覚的形式でレンダリングされる。図３Ａに示す一実施形態では、画像形式で表示される要求は、浮かび上がるテキストの形態である。ある実施形態では、浮かび上がるテキストは、画像３０２がレンダリングされる仮想距離Ｄ２とは異なる仮想距離において仮想空間に表示される。例えば、浮かび上がるテキストは、ユーザから仮想距離Ｄ１においてレンダリングされる。要求が表示される仮想距離Ｄ１は、画像が表示される仮想距離Ｄ２よりも短い。要求に応じて、ユーザはフィードバックを提供する。フィードバックは、音声フィードバックの形態であってもよいし、ＨＨＣまたはコンピュータのキーボード、マウスのような他の入力装置を用いたフィードバックの形態であってもよい。ユーザからのフィードバックに応じて、ユーザの視覚を更にテストするように１以上の追加の画像が表示されてもよい。
【００８６】
図３Ｂは、ユーザの光学的選好／要件を特定するために画像をユーザに示すのに使用されるテストチャートを示す。一実施形態では、テストチャートは複数行の異なるサイズの画像を含み、プログラムは各行からの画像を表示して、直前の行からの画像に対するユーザのフィードバックに基づいてユーザの光学的要件を更にテストする。
【００８７】
図３Ｃ−３Ｅは、テストチャート（図３Ｂ）の最初の行から表示される画像に対するユーザのフィードバックに応じて、３Ｄ仮想空間においてユーザに表示されるそれぞれの画像を示す。したがって、プログラムは、徐々にサイズが減少していく画像を有するテストチャートの第２の行及び後続の行の画像を取得及びレンダリングする。画像は全て仮想距離Ｄ２における領域３０４内に表示され、浮かび上がるテキストは仮想距離Ｄ１においてレンダリングされ続ける。ある実施形態では、画面上にレンダリングされる画像は、３Ｄ空間内で浮かび上がる画像の形式で表示される。種々の画像のレンダリングに応じて、ユーザ入力は、それぞれの画像に対する明瞭度レベルのフィードバックを与える。プログラムは、ユーザからの明瞭度レベルのフィードバックを用いて、ユーザの所望の光学設定を演算し、ヘッドマウントディスプレイの光学設定をユーザの所望の設定に従う第２の設定に調整する。
【００８８】
代替的に、プログラムは、画像がレンダリングされている距離Ｄ２を調整する必要があることを第１の画像へのユーザのフィードバックに応じて判定するようにしてもよい。図３Ｆは、そのような一実施形態を示す。図３Ａにおける領域３０４にレンダリングされた画像３０２に対するユーザのフィードバックに応じて、プログラムは、画像がレンダリングされる仮想距離Ｄ２を仮想距離Ｄ２よりも短い仮想距離Ｄ３に調整するようにしてもよい。ある実施形態では、仮想距離Ｄ２の調整によって、仮想距離Ｄ２よりも遠い仮想距離Ｄ４（不図示）に画像がレンダリングされるようにしてもよい。一実施形態では、距離調整は、増大するサイズの画像を表示して画像が近づくかのように見せることによって実現される。代替的に、仮想距離調整は、減少するサイズの画像を表示して画像が遠ざかるかのように見せることによって実現されるようにしてもよい。例えば、第１の画像に対するフィードバックに応じて、レンダリングされる第２の画像が第１の画像よりも大きなサイズとなる。３Ｄ空間内でのこのタイプの調整によって、プログラムが光学設定に対する可変レベルの調整を与えることが可能となり、ユーザの光学的要件を判定する非常に有効な態様となる。この実施形態では、浮かび上がるテキストは、距離Ｄ１においてレンダリングされ続ける。ユーザがＨＭＤを用いてゲーム／アプリケーションプログラムをプレイし／それと相互作用する場合に、インタラクティブアプリケーションプログラム／ゲームの画像をレンダリングするためにＨＭＤにおいてどのレベルの解像度／焦点調整が行われる必要があるのかを特定するように、プログラムによってユーザのフィードバックが使用される。
【００８９】
一実施形態では、ＨＭＤは、画像をレンダリングするために規定された複数の光学設定調整を有し、プログラムは、ユーザがそのようなインタラクティブゲームをプレイするためのＨＭＤを用いる場合に、インタラクティブゲームからユーザにインタラクティブ画像を提供するためにどの光学設定調整を用いるのかを判定する。一実施形態では、ユーザの設定は、ユーザが次回ＨＭＤを使用する場合にＨＭＤの画面にレンダリングされる画像の焦点を自動調整するのにこれらの設定が使用されるように、ＨＭＤにおけるそれぞれのユーザプロファイルに保存される。ある実施形態では、プログラムは、テストチャートからの１画像を一度にレンダリングする。他の実施形態では、プログラムは、テストチャートからの複数の画像をレンダリングして、画像の各々についてユーザのフィードバックを要求する。ある実施形態では、同時にレンダリングされる複数の画像が異なるサイズのものであり、異なる画像の各々におけるユーザのフィードバックが、ユーザに対する光学設定を調整するのに使用される。
【００９０】
ある実施形態では、ＨＭＤは異なるユーザによって使用されてインタラクティブゲームをプレイする。結果として、ＨＭＤは、ＨＭＤにおいて保持されたそれぞれのユーザのユーザプロファイにアクセスすることによって各ユーザの光学設定を特定することができる。一実施形態では、ユーザプロファイルは、ユーザプロファイルに保持されたユーザの識別に基づいて識別される。一実施形態では、ユーザの識別は、バイオメトリック識別を用いて立証される。ある実施形態では、バイオメトリック識別は、網膜走査技術または虹彩走査技術の一方を用いて立証される。上述したバイオメトリック識別は、一例による識別にすぎず、他のタイプのバイオメトリックまたは識別の形態がユーザを識別するのに使用されてもよい。ＨＭＤは、ユーザプロファイルにおけるユーザの光学設定に基づいて、ＨＭＤの画面の光学設定を自動的に調整する。
【００９１】
一実施形態では、画像をレンダリングするインタラクティブプログラムを用いてユーザに対して好ましい光学設定を特定することに加えて、ＨＭＤの画面にレンダリングされたユーザインターフェイスの光学処方設定のリストがユーザに示される。リストからの光学処方設定のユーザ選択は、ＨＭＤの画面の光学設定を調整または微調整するように、画像をレンダリングするプログラムに対するフィードバックとの関係で、またはそれに代えて使用される。ある実施形態では、プログラムはまた、色盲のユーザのために色特性を調整するのに使用される。そのような実施形態では、好ましい光学設定を判定するためにレンダリングされる画像が色符号化され、ユーザ入力で色符号化された画像がユーザに対する色特性を調整するのに使用される。プログラムは、ユーザの視覚の光学的特性の欠陥を補償する、ＨＭＤの画面についての焦点／解像度を調整する能力をユーザに与える。
【００９２】
図４は、本発明の一実施形態においてヘッドマウントディスプレイの画面を動作させるための方法の動作を示す。方法は、プログラムが実行されると、動作４１０で開始する。プログラムは、ＨＭＤの画面に画像をレンダリングするように構成される。画像をレンダリングするＨＭＤの画面は、レンダリングされる画像が第１の光学設定に従うように第１の光学設定に設定される。動作４２０に示すように、第１のサイズを有する第１の画像が、第１の光学設定に基づいて特定された仮想距離において画面に表示される。この距離は仮想距離であり、画像は３次元空間に表示される。ある実施形態では、画像は、画面上で仮想距離において識別される固定領域において表示される。動作４３０に示すように、第１の画像に対する明瞭度レベルを識別するユーザ入力が受信される。明瞭度レベルは、ユーザが画像を識別することに基づいて識別される。明瞭度レベルを識別するユーザ入力は、音声フィードバック、ＨＨＣ若しくはＨＭＤに通信可能に接続された他の入力装置及び／または画像を提供するプログラムを実行するコンピュータを用いて与えられるフィードバックの形態である。
【００９３】
動作４４０に示すように、第２のサイズを有する第２の画像が、同じ距離において画面に表示される。第２の画像は、第１の画像がレンダリングされたのと同じ領域に表示される。動作４５０に示すように、第２の画像に対する明瞭度レベルを識別するユーザ入力が、第２の画像のレンダリングに応じて受信される。動作４６０に示すように、第１及び第２の画像に対するユーザ入力を受信すると、ＨＭＤの画面に対する光学設定が第１の光学設定から第２の光学設定に変更される。変更された光学設定は、ゲームのストリーミング若しくはインタラクティブ画像、またはユーザがＨＭＤを用いて相互作用／プレイする何らかのインタラクティブプログラムを表示するのに使用される。
【００９４】
図５は、本発明の一実施形態においてヘッドマウントディスプレイの画面を動作させるための方法の動作を示す。方法は、プログラムが実行されると、動作５１０で開始する。プログラムは、ＨＭＤに通信可能に接続されたコンピュータまたはゲームクラウドで実行されてもよいし、ＨＭＤ自体で実行されてもよい。プログラムによって、ＨＭＤの画面上に画像のレンダリングがもたらされる。画像は、テキスト、アニメ化されたグラフィクス、レンダリング可能なオブジェクトの画像などのいずれであってもよい。動作５２０に示すように、いずれか１種類または複数種類の複数の画像が、仮想距離において画面に表示される。複数の画像の各々は個別のサイズを有する。動作５３０に示すように、ユーザからの明瞭度レベルのフィードバックが、複数の画像の各々について受信される。明瞭度レベルのフィードバックは、ユーザの画像認識に基づき、音声形式、ＨＨＣまたは他の何らかの入力装置を用いた入力などといった任意の形式で表示される。
【００９５】
動作５４０に示すように、光学処方設定の選択がユーザから受信される。光学処方設定は、ＨＭＤの画面上のユーザインターフェイスにおいて提供される光学処方設定のリストから選択されてもよいし、何らかの入力装置を用いてユーザによって提供されてもよい。明瞭度レベルについてのフィードバック及びユーザからの光学処方設定を受信すると、動作５５０に示すように、画面の光学設定が、明瞭度レベルのフィードバック及び選択された光学処方設定に従って自動的に調整される。ＨＭＤの画面の調整された光学設定は、ユーザの視覚の光学的欠陥を補償し、または光学的特性に一致する。ＨＭＤの画面の光学設定は、ユーザがＨＭＤを用いてゲームまたはインタラクティブアプリケーションをプレイするときに、インタラクティブゲームのシーン及び他のインタラクティブアプリケーションのメディアデータをレンダリングするために使用される。
【００９６】
図６に、本発明の実施形態を実施するのに使用されるハードウェア及びユーザインターフェイスを示す。図６は、Ｓｏｎｙ（登録商標）ＰｌａｙＳｔａｔｉｏｎ３（登録商標）エンターテイメント装置の全体システムアーキテクチャを模式的に示す。システムユニット１３００が、システムユニット１３００に接続可能な種々の周辺装置とともに提供される。システムユニット１３００は、セルプロセッサ１３０２、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１３０４、専用の映像ランダムアクセスメモリ（ＶＲＡＭ）ユニット１３０８付きのＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィクスユニット１３０６、及びＩ／Ｏブリッジ１３１０を含む。システムユニット１３００はまた、Ｉ／Ｏブリッジ１３１０を介してアクセス可能な、ディスク１３１２ａからの読取りのためのＢｌｕＲａｙ（登録商標）Ｄｉｓｋ  ＢＤ−ＲＯＭ（登録商標）光学ディスクリーダ１３１２、及び取外し可能なスロットインハードディスクドライブ（ＨＤＤ）１３１４を備える。選択的に、システムユニット１３００はまた、コンパクトフラッシュ（登録商標）メモリカード、Ｍｅｍｏｒｙ  Ｓｔｉｃｋ（登録商標）メモリカードなどを読み取るためのメモリカードリーダ１３０１を含み、これも同様にＩ／Ｏブリッジ１３１０を介してアクセス可能である。
【００９７】
Ｉ／Ｏブリッジ１３１０はまた、６個のユニバーサル・シリアル・バス（ＵＳＢ）２．０ポート１３１６、ギガビットイーサネットポート１３１８、ＩＥＥＥ８０２．１１ｂ／ｇワイヤレスネットワーク（Ｗｉ−Ｆｉ）ポート１３２０、及び７個までのＢｌｕｅｔｏｏｔｈ接続に対応可能なＢｌｕｅｔｏｏｔｈ（登録商標）ワイヤレスリンクポート１３２２に接続する。
【００９８】
動作において、Ｉ／Ｏブリッジ１３１０は、１以上のゲームコントローラ１１０及び１３２４からのデータを含む全ての無線、ＵＳＢ及びイーサネットデータを扱う。例えば、ユーザがゲームをプレイしている場合、Ｉ／Ｏブリッジ１３１０はゲームコントローラ１１０及び１３２４からのデータをＢｌｕｅｔｏｏｔｈリンクを介して受信してそれをセルプロセッサ１３０２に向け、それに従ってセルプロセッサ１３０２はゲームの現在の状態を更新する。
【００９９】
無線、ＵＳＢ及びイーサネットポートはまた、ゲームコントローラ１１０及び１３２４に加えて、リモートコントローラ１３２６、キーボード１３２８、マウス１３３０、Ｓｏｎｙ  ＰＳＰ（登録商標）エンターテイメント装置などの可搬エンターテイメント装置１３３２、ＰｌａｙＳｔａｔｉｏｎ（登録商標）Ｅｙｅ  Ｃａｍｅｒａ１３３４などのビデオカメラ、形状物体１３３６及びマイクロフォン１３３８のような他の周辺装置に対する接続を与える。したがって、そのような周辺装置は、原則としてシステムユニット１３００に無線で接続される。例えば、可搬エンターテイメント装置１３３２は、Ｗｉ−Ｆｉアドホック接続を介して通信し得る一方で、形状物体１３３６はＢｌｕｅｔｏｏｔｈリンクを介して通信し得る。
【０１００】
これらのインターフェイスが設けられることは、ＰｌａｙＳｔａｔｉｏｎ３装置が、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、可搬メディアプレイヤ、ボイス・オーバー・インターネット・プロトコル（ＩＰ）電話、携帯電話、プリンタ及びスキャナのような他の周辺装置とも潜在的に互換性があることを意味する。さらに、旧来的なメモリカードリーダ１３４０がＵＳＢポート１３１６を介してシステムユニットに接続されてもよく、ＰｌａｙＳｔａｔｉｏｎ（登録商標）装置またはＰｌａｙＳｔａｔｉｏｎ２（登録商標）装置によって使用される種類のメモリカードの読み取りが可能となる。
【０１０１】
ゲームコントローラ１１０及び１３２４は、Ｂｌｕｅｔｏｏｔｈリンクを介してシステムユニット１３００と無線で通信し、またはＵＳＢポートに接続され、それによりゲームコントローラ１１０及び１３２４のバッテリを充電する電力を供給するように動作可能である。ゲームコントローラ１１０及び１３２４はまた、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続的メモリ、照明球体部、発光ダイオード（ＬＥＤ）または赤外線光源などの発光体、超音波通信のためのマイクロフォン及びスピーカ、音響チャンバ、デジタルカメラ、内部クロック、ゲームコンソールを向く認識可能形状体、並びにＢｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（商標）などのようなプロトコルを用いる無線通信部を含む。認識可能形状体は、実質的に、球、立方体、平行六面体、直方体、円錐、角錐、サッカーボール、フットボール若しくはラグビーボール、不完全球、球の一部分、切頭角錐、切頭円錐、野球のバット、切頭立方体、多面体、星形など、またはこれらの形状の２以上の組合せの形状であってもよい。
【０１０２】
ゲームコントローラ１３２４は両手で使用されるように設計されたコントローラであり、ゲームコントローラ１１０はボールが取り付けられた片手コントローラ１１０である。１以上のアナログジョイスティック及び従来的な制御ボタンに加えて、ゲームコントローラは３次元位置判定が可能である。結果的に、ゲームコントローラのユーザによるジェスチャ及び動作は、従来的なボタン若しくはジョイスティックのコマンドに加えて、またはそれに代えて、ゲームへの入力として変換されることができる。選択的に、Ｓｏｎｙ  ＰＳＰ（登録商標）可搬装置などの無線で有効化される他の周辺装置がコントローラとして使用され得る。Ｓｏｎｙ  ＰＳＰ（登録商標）可搬装置の場合、追加のゲームまたは制御情報（例えば、制御インストラクションまたは命の数）が装置の画面上に提供されてもよい。ダンスマット（不図示）、光線銃（不図示）、操縦ハンドル及びペダル（不図示）、または速押しクイズゲーム（不図示）のための単一若しくはいくつかの大きなボタンなどの特注のコントローラといったような他の代替的または補完的制御装置も使用され得る。
【０１０３】
リモートコントローラ１３２６も、Ｂｌｕｅｔｏｏｔｈリンクを介してシステムユニット１３００と無線通信するように動作可能である。リモートコントローラ１３２６は、Ｂｌｕ−Ｒａｙ（商標）Ｄｉｓｋ  ＢＤ−ＲＯＭリーダ１３１２の動作及びディスクコンテンツの誘導に適した制御手段を備える。
【０１０４】
Ｂｌｕ−Ｒａｙ（商標）Ｄｉｓｋ  ＢＤ−ＲＯＭリーダ１３１２は、従来的な予め記録されて再記録可能なＣＤ及びいわゆるＳｕｐｅｒ  Ａｕｄｉｏ  ＣＤに加えて、ＰｌａｙＳｔａｔｉｏｎ装置及びＰｌａｙＳｔａｔｉｏｎ２装置と互換可能なＣＤ−ＲＯＭを読み取るように動作可能である。リーダ１３１２はまた、従来的な予め記録されて再記録可能なＤＶＤに加えて、Ｐｌａｙｓｔａｔｉｏｎ２装置及びＰｌａｙＳｔａｔｉｏｎ３装置と互換可能なＤＶＤ−ＲＯＭを読み取るように動作可能である。リーダ１３１２は、さらに、従来の予め記録されて再記録可能なＢｌｕ−Ｒａｙディスクと同様に、ＰｌａｙＳｔａｔｉｏｎ３装置と互換可能なＢＤ−ＲＯＭを読み取るように動作可能である。
【０１０５】
システムユニット１３００は、ＰｌａｙＳｔａｔｉｏｎ３装置によってＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィクスユニット（ＲＳＸ）１３０６を介して生成または復号される音声及び映像を、ディスプレイ１３４６及び１以上のスピーカ１３４８若しくはスタンドアロンスピーカ１３５０を有するモニタまたはテレビセットのような表示及び音出力装置１３４２にオーディオ及びビデオコネクタを介して供給するように動作可能である。一実施形態では、発声及び凝視入力が、ユーザのＰＯＧに従って特定のオーディオスピーカに向けて音を再生するのに利用される。オーディオコネクタ１３５８は、従来的なアナログ及びデジタル出力を含み、ビデオコネクタ１３６０はコンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ及び１以上のＨｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ（ＨＤＭＩ（登録商標））出力を含む。結果的に、映像出力は、ＰＡＬ若しくはＮＴＳＣまたは７２０ｐ、１０８０ｉ若しくは１０８０ｐの高精細度などのフォーマットとなる。
【０１０６】
音声処理（生成、復号など）は、セルプロセッサ１３０２によって実行される。ＰｌａｙＳｔａｔｉｏｎ３装置のオペレーティングシステムはＤｏｌｂｙ（登録商標）５．１サラウンドサウンド、Ｄｏｌｂｙ（登録商標）Ｔｈｅａｔｒｅ  Ｓｕｒｒｏｕｎｄ（ＤＴＳ）、及びＢｌｕ−Ｒａｙ（登録商標）ディスクからの７．１サラウンドサウンドの復号に対応する。
【０１０７】
本実施形態では、ビデオカメラ１３３４は、単一のＣｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ（ＣＣＤ）、ＬＥＤインジケータ、及びシステムユニット１３００によって復号するためのＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）標準に基づくイントラ画像などの適切なフォーマットで圧縮映像データが送信されるようにするハードウェアに基づくリアルタイムデータ圧縮及び符号化装置を備える。カメラＬＥＤインジケータは、システムユニット１３００からの適切な制御データに応じて発光し、例えば、悪い照明条件を示すように構成される。ビデオカメラ１３３４の実施形態は、システムユニット１３００にＵＳＢ、ＢｌｕｅｔｏｏｔｈまたはＷｉ−Ｆｉ通信ポートを介して様々な方法で接続する。ビデオカメラの実施形態は、１以上の関連するマイクロフォンを含み、音声データを送信することもできる。ビデオカメラの実施形態において、ＣＣＤは、高精細映像の取込みに適した解像度を有する。使用において、ビデオカメラによって取り込まれた画像は、例えば、ゲーム内に取り込まれ、またはゲーム制御入力として解釈される。他の実施形態では、カメラは、赤外光を検出するのに適した赤外線カメラである。
【０１０８】
一般に、システムユニット１３００の通信ポートの１つを介してビデオカメラまたはリモートコントローラのような周辺装置でデータ通信を成立させるために、装置ドライバなどの適切なソフトウェアが提供されるべきである。装置ドライバ技術は周知であり、ここでは詳しく説明しない。当業者であれば、装置ドライバまたは同様のソフトウェアインターフェイスが本実施形態に必要となることが分かるはずである。
【０１０９】
図７は、本発明の種々の実施形態によるゲームシステム１１００のブロック図である。ゲームシステム１１００は、映像ストリームを１以上のクライアント１１１０にネットワーク１１１５を介して供給するように構成される。ゲームシステム１１００は、通常は映像サーバシステム１１２０及び選択的ゲームサーバ１１２５を含む。ビデオサーバシステム１１２０は、最小品質のサービスで１以上のクライアント１１１０に映像ストリームを供給するように構成される。例えば、ビデオサーバシステム１１２０は、ビデオゲーム内で視界の状態または視点を変えるゲームコマンドを受信し、最小時間差でこの状態の変化を反映する更新された映像ストリームをクライアント１１１０に供給することができる。ビデオサーバシステム１１２０は、未だ定義されていないフォーマットを含む広範な代替の映像フォーマットで映像ストリームを供給するように構成される。また、映像ストリームは、広範なフレームレートでのユーザへの表示のために構成された映像フレームを含む。標準的なフレームレートは、毎秒３０フレーム、毎秒６０フレーム、及び毎秒１１２０フレームであるが、これよりも高い、または低いフレームレートが本発明の代替実施形態に含まれる。
【０１１０】
ここでは、クライアント１１１０は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話機、セットトップボックス、キオスク、無線装置、デジタルパッド、スタンドアロン装置、ハンドヘルドゲームプレイ装置などを含み、個々に１１１０Ａ、１１１０Ｂなどという。通常は、クライアント１１１０は、符号化されたビデオストリームを受信し、映像ストリームを復号し、得られる映像を、例えばゲームのプレイヤなど、ユーザに示すように構成される。符号化された映像ストリームを受信する処理及び／または映像ストリームを復号する処理は、通常は、個々の映像フレームをクライアントの受信バッファに格納することを含む。映像ストリームは、クライアント１１１０に一体化されたディスプレイにおいて、またはモニタ若しくはテレビのような個別の装置においてユーザに表示される。クライアント１１１０は、選択的に、２以上のゲームプレイヤに対応するように構成される。例えば、ゲームコンソールは、２、３、４またはそれ以上の同時プレイヤに対応するように構成される。これらのプレイヤの各々は、個別の映像ストリームを受信し、または単一の映像ストリームが、各プレイヤについて具体的に生成された、例えば各プレイヤの視点に基づいて生成されたフレームの領域を含む。クライアント１１１０は、選択的に、地理的に分散している。ゲームシステム１１００に含まれるクライアント数は、１若しくは２から数千、数万またはそれ以上まで幅広く変化し得る。ここで使用する用語「ゲームプレイヤ」はゲームをプレイする人のことをいうのに用いられ、用語「ゲームプレイ装置」はゲームをプレイするのに使用される装置のことをいうのに用いられる。ある実施形態では、ゲームプレイ装置は、ユーザにゲーム体験を提供するように協働する複数の演算装置のことをいう。例えば、ゲームコンソール及びＨＭＤは、ＨＭＤを介して視聴されるゲームを提供するようにビデオサーバシステム１１２０と協働する。一実施形態では、ゲームコンソールは、ビデオサーバシステム１１２０から映像ストリームを受信し、レンダリングのためにＨＭＤに映像ストリームを転送または更新する。
【０１１１】
クライアント１１１０は、ネットワーク１１１５を介して映像ストリームを受信するように構成される。ネットワーク１１１５は、電話網、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワークなどを含む任意のタイプの通信ネットワークである。標準的な実施形態では、映像ストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰのような標準プロトコルを介して通信される。代替的に、映像ストリームは、独自の標準を介して通信される。
【０１１２】
クライアント１１１０の標準的な実施例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号ロジック、ネットワーク通信機能及び入力装置を備えるパーソナルコンピュータである。復号ロジックは、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含む。映像ストリームを復号（及び符号化）するためのシステムは当該技術分野において周知であり、使用される特定の符号化手法に応じて異なる。
【０１１３】
クライアント１１１０は、要件ではないが、受信映像を修正するために構成されたシステムを更に含んでいてもよい。例えば、クライアントは、更なるレンダリングを実行し、１つの映像画像を他の映像画像に重ね、映像画像をトリミングするなどするように構成される。例えば、クライアント１１１０は、Ｉ−フレーム、Ｐ−フレーム及びＢ−フレームのような種々のタイプの映像フレームを受信し、これらのフレームをユーザに対する表示のための画像に処理するように構成される。ある実施形態では、クライアント１１１０のメンバーは、更にレンダリング、シェーディング、３-Ｄへの変換または同様の動作を映像ストリームに対して実行するように構成される。クライアント１１１０のメンバーは、選択的に、２以上の音声または映像ストリームを受信するように構成される。クライアント１１１０の入力装置は、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、凝視認識システム、音声認識システム、キーボード、ジョイスティック、ポインティング装置、応力フィードバック装置、動作及び／または位置検知装置、マウス、タッチパネル、ニューラルインターフェイス、カメラ、未だ開発されていない入力装置などを含む。
【０１１４】
クライアント１１１０によって受信された映像ストリーム（及び選択的に音声ストリーム）は、ビデオサーバシステム１１２０によって生成及び供給される。本明細書のいずれかの箇所で更に説明するように、この映像ストリームは映像フレームを含む（そして、音声ストリームは音声フレームを含む）。映像フレームは、ユーザに対して表示される画像に有意に寄与するように構成される（例えば、それらは適切なデータ構造体での画素情報を含む）。ここで使用する用語「映像フレーム」は、ユーザに対して示される画像に寄与するように、例えば影響するように構成された情報を支配的に含むフレームをいうのに用いられる。ここに記載する「映像フレーム」に関する技術のほとんどは「音声フレーム」にも適用可能である。
【０１１５】
クライアント１１１０は、通常は、ユーザからの入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変化させ、あるいはゲームをプレイするのに影響を与えるように構成されたゲームコマンドを含む。ゲームコマンドは、入力装置を用いて受信され、及び／またはクライアント１１１０で実行しているインストラクションを演算することによって自動的に生成されることができる。受信されたゲームコマンドは、クライアント１１１０からネットワーク１１１５を介してビデオサーバシステム１１２０及び／またはゲームサーバ１１２５に通信される。例えば、ある実施形態では、ゲームコマンドは、ビデオサーバシステム１１２０を介してゲームサーバ１１２５に通信される。ある実施形態では、ゲームコマンドの個別の複製がクライアント１１１０からゲームサーバ１１２５及びビデオサーバシステム１１２０に通信される。ゲームコマンドの通信は、選択的にコマンドの識別に依存する。ゲームコマンドは、選択的に、クライアント１１１０Ａから、音声または映像ストリームをクライアント１１１０Ａに供給するのに使用されるものとは異なるルータまたは通信チャネルを介して通信される。
【０１１６】
ゲームサーバ１１２５は、選択的に、ビデオサーバシステム１１２０とは異なるエンティティによって操作される。例えば、ゲームサーバ１１２５は、マルチプレイヤゲームの発行元によって操作される。この実施例では、ビデオサーバシステム１１２０は、選択的に、ゲームサーバ１１２５によってクライアントとして見られ、選択的に、ゲームサーバ１１２５の視点からは従来技術のゲームエンジンを実行する従来技術のクライアントとして見えるように構成される。ビデオサーバシステム１１２０とゲームサーバ１１２５との間の通信は、選択的にネットワーク１１１５を介して行われる。このように、ゲームサーバ１１２５は、１つがゲームサーバシステム１１２０である複数のクライアントにゲーム状態情報を送信する従来技術のマルチプレイヤゲームサーバとなり得る。ビデオサーバシステム１１２０は、ゲームサーバ１１２５の複数のインスタンスと同時に通信するように構成される。例えば、ビデオサーバシステム１１２０は、複数の異なるビデオゲームを異なるユーザに供給するように構成される。これらの異なるビデオゲームの各々は、異なるゲームサーバ１１２５によって対応され、及び／または異なるエンティティによって発行され得る。ある実施形態では、ビデオサーバシステム１１２０のいくつかの地理的に分散されたインスタンスは、ゲーム映像を複数の異なるユーザに供給するように構成される。ビデオサーバシステム１１２０のこれらのインスタンスの各々は、ゲームサーバ１１２５の同じインスタンスと通信状態にある。ビデオサーバシステム１１２０と１以上のゲームサーバ１１２５との間の通信は、選択的に専用通信チャネルを介して行われる。例えば、ビデオサーバシステム１１２０は、ゲームサーバ１１２５と、これらの２つのシステムの間の通信に特化した高帯域チャネルを介して接続される。
【０１１７】
ビデオサーバシステム１１２０は、少なくともビデオソース１１３０、Ｉ／Ｏ装置１１４５、プロセッサ１１５０及び非一時的ストレージ１１５５を備える。ビデオサーバシステム１１２０は、１つの演算装置を含み、または複数の演算装置間で分散される。これらの演算装置は、選択的に、ローカルエリアネットワークなどの通信システムを介して接続される。
【０１１８】
ビデオソース１１３０は、映像ストリーム、例えばストリーム送信される映像または動画を形成する一連の映像フレームを供給するように構成される。ある実施形態では、ビデオソース１１３０は、ビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、ゲームコマンドをプレイヤから受信し、受信されたコマンドに基づいてビデオゲームの状態の複製を保持するように構成される。このゲーム状態は、通常のように視点だけでなく、ゲーム環境におけるオブジェクトの位置も含む。ゲーム状態は、オブジェクトのプロパティ、画像、色及び／またはテクスチャも含み得る。ゲーム状態は、通常は、移動する、曲がる、攻撃する、合焦する、対話する、使うなどといったゲームコマンドと同様にゲームルールに基づいて保持される。ゲームエンジンの一部は、選択的にゲームサーバ１１２５内に配置される。ゲームサーバ１１２５は、地理的に分散したクライアントを用いて複数のプレイヤから受信されるゲームコマンドに基づいてゲームの状態の複製を保持する。これらの場合において、ゲーム状態は、ゲームサーバ１１２５からゲームソース１１３０に供給され、ここでゲーム状態の複製が記憶され、レンダリングが実行される。ゲームサーバ１１２５は、ゲームコマンドをクライアント１１１０からネットワーク１１１５を介して直接受信し、及び／またはゲームコマンドをビデオサーバシステム１１２０を介して受信する。
【０１１９】
ビデオソース１１３０は、通常は、レンダリングロジック、例えばハードウェア、ファームウェア、及び／またはストレージ１１５５のようなコンピュータ可読媒体に記憶されたソフトウェアを含む。このレンダリングロジックは、ゲーム状態に基づいて映像ストリームの映像フレームを作成するように構成される。レンダリングロジックの全部または一部は、選択的にグラフィック処理装置（ＧＰＵ）内に配置される。レンダリングロジックは、通常は、オブジェクト間の３次元空間関係を特定するために、及び／またはゲーム状態及び視点に基づいて適切なテクスチャなどを適用するために構成された処理段を含む。レンダリングロジックは、通常はクライアント１１１０に通信する前に符号化される素材映像を生成する。例えば、素材映像は、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）標準、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ、Ｘｖｉｄ．ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、ｒｅａｌｖｉｄｅｏ、ｍｐ３などに従って符号化される。符号化処理は、遠隔装置における復号器への配信のために選択的にパッケージ化された映像ストリームを生成する。映像ストリームは、フレームサイズ及びフレームレートで特徴付けられる。標準的なフレームサイズは、８００×６００、１２８０×７２０（例えば７２０ｐ）、１０２４×７６８であるが、他の任意のフレームサイズが使用されてもよい。フレームレートは、１秒あたりの映像フレーム数である。映像ストリームは、異なるタイプの映像フレームを含み得る。例えば、Ｈ．２６４標準は、「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉ−フレームは表示装置上の全てのマクロブロック／画素をリフレッシュする情報を含み、Ｐ−フレームはその部分集合をリフレッシュする情報を含む。Ｐ−フレームは、通常はＩ−フレームよりも小さいデータサイズを有する。ここで使用する用語「フレームサイズ」とは、フレーム内の画素数を意味する。用語「フレームデータサイズ」は、フレームを格納するのに必要なバイト数をいうのに用いられる。
【０１２０】
代替の実施形態では、ビデオソース１１３０は、カメラなどの映像記録装置を含む。このカメラは、コンピュータゲームの映像ストリームに含まれ得る遅延された、またはライブ映像を生成するのに使用され得る。結果として得られる映像ストリームは、選択的に、レンダリングされた画像及び静止またはビデオカメラを用いて記録された画像の双方を含む。ビデオソース１１３０はまた、映像ストリームに含まれることになる、以前に記録された映像を記憶するように構成された記憶装置を含んでいてもよい。ビデオソース１１３０はまた、オブジェクト、例えば人の動きまたは位置・姿勢を検出するように構成された動きまたは位置・姿勢検知装置、並びに検出された動き及び／または位置・姿勢に基づいてゲーム状態を判定し、若しくは映像を生成するように構成されたロジックを含んでいてもよい。
【０１２１】
ビデオソース１１３０は、選択的に、他の映像上に配置されるように構成されたオーバーレイを供給するように構成される。例えば、これらのオーバーレイは、コマンドインターフェイス、インストラクションにおけるログ、ゲームプレイヤへのメッセージ、他のゲームプレイヤの画像、他のゲームプレイヤの配信動画（例えば、ウェブカメラ映像）を含む。タッチスクリーンインターフェイスまたは凝視検出インターフェイスを含むクライアント１１１０Ａの実施形態では、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッドなどを含む。オーバーレイの一実施例では、プレイヤの声が音声ストリームに重ねられる。ビデオソース１１３０は、選択的に１以上の音源を更に含む。
【０１２２】
ビデオサーバシステム１１２０が２以上のプレイヤからの入力に基づいてゲーム状態を保持するように構成される実施形態において、各プレイヤは、視界の位置及び方向を含む異なる視点を有することになる。ビデオソース１１３０は、選択的に、各プレイヤについて、彼らの視点に基づいて個別の映像ストリームを供給するように構成される。また、ビデオソース１１３０は、異なるフレームサイズ、フレームデータサイズ、及び／または符号化をクライアント１１１０の各々に提供するように構成されることができる。ビデオソース１１３０は、選択的に、３Ｄ映像を供給するように構成される。
【０１２３】
Ｉ／Ｏ装置１１４５は、映像、コマンド、情報の要求、ゲーム状態、凝視情報、装置の動き、装置の位置、ユーザの動き、クライアントの識別、プレイヤの識別、ゲームコマンド、セキュリティ情報、音声などをビデオサーバシステム１１２０が送信及び／または受信するように構成される。Ｉ／Ｏ装置１１４５は、通常は、ネットワークカードまたはモデムといった通信ハードウェアを含む。Ｉ／Ｏ装置１１４５は、ゲームサーバ１１２５、ネットワーク１１１５及び／またはクライアント１１１０と通信するように構成される。
【０１２４】
プロセッサ１１５０は、ここに説明するビデオサーバシステム１１２０の種々の構成要素内に含まれるロジック、例えばソフトウェアを実行するように構成される。例えば、プロセッサ１１５０は、ビデオソース１１３０、ゲームサーバ１１２５及び／またはクライアントクォリファイア１１６０の機能を実行するためにソフトウェアインストラクションでプログラムされる。ビデオサーバシステム１１２０は、選択的に、プロセッサ１１５０の２以上のインスタンスを含む。プロセッサ１１５０はまた、ビデオサーバシステム１１２０によって受信されたコマンドを実行するために、またはここに記載するゲームシステム１１００の種々の要素の動作を調整するためにソフトウェアインストラクションでプログラムされることができる。プロセッサ１１５０は、１以上のハードウェア装置を含み得る。プロセッサ１１５０は電子プロセッサである。
【０１２５】
ストレージ１１５５は、非一時的なアナログ及び／またはデジタル記憶装置を含む。例えば、ストレージ１１５５は、映像フレームを記憶するように構成されたアナログ記憶装置を含む。ストレージ１１５５は、コンピュータ可読デジタルストレージ、例えばハードドライブ、光学ドライブまたは半導体ストレージを含む。ストレージ１１１５は、映像フレーム、人為的フレーム、映像フレーム及び人為的フレームの双方を含む映像ストリーム、音声フレーム、音声ストリームなどを（例えば、適切なデータ構造またはファイルシステムによって）記憶するように構成される。ストレージ１１５５は、選択的に、複数の装置間に分散される。ある実施形態では、ストレージ１１５５は、本明細書のいずれかの箇所で説明するビデオソース１１３０のソフトウェア構成要素を記憶するように構成される。これらの構成要素は、必要な場合に提供する準備のできているフォーマットで記憶される。
【０１２６】
ビデオサーバシステム１１２０は、選択的にクライアントクォリファイア１１６０を更に備える。クライアントクォリファイア１１６０は、クライアント１１１０Ａまたは１１１０Ｂのようなクライアントの能力を遠隔で判定するために構成される。これらの能力は、クライアント１１１０Ａとビデオサーバシステム１１２０との間の１以上の通信チャネルの能力と同様に、クライアント１１１０Ａ自体の能力の双方を含む。例えば、クライアントクォリファイア１１６０は、ネットワーク１１１５を介して通信チャネルをテストするように構成される。
【０１２７】
クライアントクォリファイア１１６０は、クライアント１１１０Ａの能力を手動または自動で判定（例えば、発見）することができる。手動判定は、クライアント１１１０Ａのユーザと通信し、ユーザに能力を表示するように要求することを含む。例えば、ある実施形態では、クライアントクォリファイア１１６０は、画像、テキストなどをクライアント１１１０Ａのブラウザ内に表示するように構成される。一実施形態では、クライアント１１１０Ａは、ブラウザを含むＨＭＤである。他の実施形態では、クライアント１１１０Ａは、ＨＭＤに表示され得るブラウザを有するゲームコンソールである。表示されたオブジェクトは、ユーザがクライアント１１１０Ａのオペレーティングシステム、プロセッサ、映像復号器のタイプ、ネットワーク接続のタイプ、表示解像度などといった情報を入力することを要求する。ユーザによって入力された情報は、クライアントクォリファイア１１６０に返信される。
【０１２８】
自動判定は、例えば、クライアント１１１０Ａにおけるエージェントの実行によって、及び／またはクライアント１１１０Ａにテスト映像を送信することによって行われる。エージェントは、ウェブページに埋め込まれ、またはアドオンとしてインストールされたｊａｖａ（登録商標）スクリプトなどの演算インストラクションを備える。エージェントは、選択的にクライアントクォリファイア１１６０によって提供される。種々の実施形態において、エージェントは、クライアント１１１０Ａの処理性能、クライアント１１１０Ａの復号及び表示能力、クライアント１１１０Ａとビデオサーバシステム１１２０との間の通信チャネルのラグタイム信頼性及び帯域幅、クライアント１１１０Ａのディスプレイタイプ、クライアント１１１０Ａに存在するファイアウォール、クライアント１１１０Ａのハードウェア、クライアント１１１０Ａで稼働しているソフトウェア、クライアント１１１０Ａ内のレジストリ入力などを突きとめることができる。
【０１２９】
クライアントクォリファイア１１６０は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクォリファイア１１６０は、選択的に、ビデオサーバシステム１１２０の１以上の他の要素から独立した演算装置に配置される。例えば、ある実施形態では、クライアントクォリファイア１１６０は、クライアント１１１０とビデオサーバシステム１１２０の２以上のインスタンスとの間の通信チャネルの特性を判定するように構成される。これらの実施形態では、クライアントクォリファイアによって発見された情報を、ビデオサーバシステム１１２０のうちのどのインスタンスがクライアント１１１０の１つへのストリーム映像の配信に最も適しているかを判定するのに使用することができる。
【０１３０】
本発明の実施形態は、ハンドヘルド装置、マイクロプロセッサシステム、マイクロプロセッサに基づくまたはプログラム可能な民生機器、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成で実施される。本発明のいくつかの実施形態は、有線または無線ネットワークを介してリンクされる遠隔処理装置によってタスクが実行される分散コンピューティング環境で実施されることもできる。
【０１３１】
上記実施形態を考慮して、本発明の多数の実施形態はコンピュータシステムに記憶されたデータを関与させるコンピュータ実施動作を採用できることが理解されるべきである。これらの動作は、物理量の物理的操作を必要とするものである。本発明の種々の実施形態の一部を形成するここに説明する動作のいずれもが有用な機械動作である。本発明のいくつかの実施形態はまた、これらの動作を実行するための装置または機器に関する。機器は要求される目的のために特別に構築されることができ、または機器はコンピュータに記憶されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータであってもよい。特に、種々の汎用機械を、ここに記載される技術に従って記述されたコンピュータプログラムとともに使用することができ、または要求される動作を実行する特化された機器を構築することがより便利なこともある。
【０１３２】
本発明の種々の実施形態は、コンピュータ可読媒体におけるコンピュータ可読コードとして具現されることもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶装置であり、その後コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、書込み可能ＣＤ（ＣＤ−Ｒ）、再書込み可能ＣＤ（ＲＷ）、磁気テープ並びに他の光学的及び非光学的データ記憶装置を含む。コンピュータ可読媒体は、コンピュータ可読コードが分散的態様で記憶及び実行されるようにネットワーク結合コンピュータシステム上で分散されたコンピュータ可読有体媒体を含む。
【０１３３】
方法処理が特定の順序で記載されたが、オーバーレイ動作の処理が所望の態様で実行される限り、他の準備動作が動作間に実行されてもよいし、動作が若干異なる時間に行われるように調整されてもよいし、処理に対応した種々の間隔で処理動作の発生を可能とするシステムにおいて分散されてもよいことが理解されるべきである。
【０１３４】
理解の明確性の目的のために上述の本発明が詳細に記載されたが、所定の変更及び変形が添付の特許請求の範囲内で実施され得ることが明らかであろう。したがって、本実施形態は限定ではなく例示説明として捉えられるべきであり、本発明の種々の実施形態はここに与えられる詳細に限定されず、添付の特許請求の範囲及びその均等の範囲内で変形され得る。
【図１】
0006495896.tif 000002
【図２Ａ】
0006495896.tif 000003
【図２Ｂ】
0006495896.tif 000004
【図２Ｃ】
0006495896.tif 000005
【図２Ｄ】
0006495896.tif 000006
【図３Ａ】
0006495896.tif 000007
【図３Ｂ】
0006495896.tif 000008
【図３Ｃ】
0006495896.tif 000009
【図３Ｄ】
0006495896.tif 000010
【図３Ｅ】
0006495896.tif 000011
【図３Ｆ】
0006495896.tif 000012
【図４】
0006495896.tif 000013
【図５】
0006495896.tif 000014
【図６】
0006495896.tif 000015
【図７】
0006495896.tif 000016