本開示の実施形態は、ユーザに提示されるコンテンツの品質を維持することによって、ユーザのヘッドマウントディスプレイ(HMD)の1つまたは複数の機構によって提示されるコンテンツを制御する方法を提供する。提示されるコンテンツは、ゲーミングコンテンツなどの、仮想世界を表すコンピュータ生成されたグラフィックスであってもよく、または、地理位置、現実世界の物体、現実世界のイベント、現実世界のシーン、アプリケーションによって提供されるコンテンツ、ソーシャルメディアの対話などに関連する、ユーザ生成された/取り込まれたシーン/コンテンツ、またはユーザもしくはコンテンツプロバイダによって取り込まれた/生成された現実世界コンテンツがコンピュータ生成されたコンテンツと重畳された、拡張現実コンテンツであってもよく、オーディオコンポーネント、ビデオコンポーネント、グラフィックコンポーネント、テキストコンポーネントなどの様々なコンポーネントを含み得る。HMDの1つまたは複数の機構を用いてレンダリングするための環境を提供する、コンテンツストリーミングプロセッサアプリケーションなどのアプリケーションは、HMD装着中のユーザのユーザプロファイルに基づいて、コンテンツにいつフィルタを適用すべきかを識別することとなる。ユーザプロファイルは、ユーザプロファイルについて定義されるユーザ関連属性及びコンテンツ視聴権利を識別する。追加的には、ユーザプロファイルは、また、コンテンツに対する各ユーザ個々の嗜好も識別してもよい。いくつかの実施形態では、フィルタリングによって、不適切ないくつかのコンテンツが全くレンダリングされないようにされ、一方、他の実施形態では、不適切なコンテンツは、ユーザプロファイルに関してフィルタに対して適切な他のコンテンツで変更され、修正され、または置換されてもよい。いくつかの実施形態では、フィルタリングは、HMD装着中のユーザと対話し、もしくは関連付けられたユーザ/ソーシャルコンタクトのうちの特定のものによって生成され、もしくは提供されるコンテンツを許容するようにのみ、または、信頼されたソースからのコンテンツを含めるようにのみ実行されてもよい。そのような実施形態では、そのようなコンテンツが、HMD装着中のユーザのユーザプロファイルに従うことを保証するために、追加的なフィルタリングが提供されてもよい。いくつかの実施形態では、コンテンツの望まれないまたは不適切な部分をフィルタリングで除去することに加えて、ユーザによって指定されるユーザ嗜好に従ってコンテンツをカスタマイズするために、フィルタリングが使用されてもよい。例えば、ユーザは、特定の言語(中国語または台湾語対英語)で、特定のスタイル(漫画形式対アニメ形式)で、特定の背景(オーディオまたはグラフィック/画像)を使用するなど、特定の形式でコンテンツを提示したい場合がある。そのようなユーザ指定は、HMD上にレンダリングするために提示される前に、フィルタリング済みコンテンツに適用されてもよい。
いくつかの実施形態では、コンテンツは、複数のコンポーネントに関連付けられてもよく、コンテンツの一部の特定のコンポーネントのみが、置換され、修正され、またはフィルタリングで除去される一方、コンテンツのその部分の残りのコンポーネントは、変更されないままであってもよい。例えば、オーディオコンポーネントが、HMD装着中のユーザに提示されているビデオコンテンツからフィルタリングで除去されてもよい。いくつかの実施形態では、フィルタリングは、ユーザの入力に基づいてVR空間内のユーザの方向及び動きを判断することによって、HMDに通信可能に接続されたゲームコンソールなどのコンピューティングデバイスによって予め行われてもよい。いくつかの実施形態では、コンテンツを予めスクリーニングすることに加えて、コンテンツがHMDにストリーミングされる前に追加フィルタリングが実行されてもよい。
一実施形態では、方法が提供される。方法は、ユーザのヘッドマウントディスプレイ(HMD)の1つまたは複数の機構によって定義されるレンダリング空間において提示するためのコンテンツを識別することを含む。コンテンツは、ユーザからの要求に応答して識別される。コンテンツは、対話型コンテンツであり、ユーザのアクションまたは対話に基づいて動的に変化する。コンテンツについての評価スコアが識別される。コンテンツは、識別された評価スコア及びユーザのユーザプロファイルに基づいて、コンテンツの一部を選択的にフィルタリングするために動的に調整される。調整されたコンテンツが、HMD上にレンダリングされる。レンダリング空間において提示されるコンテンツとのユーザのアクションまたは対話によって判断されるコンテンツ内の変化に基づいて、コンテンツの異なる部分が選択的にフィルタリングされるように、コンテンツに対する動的な調整が、セッション中継続する。
いくつかの実施形態では、評価スコアは、1つもしくは複数のコンテンツ発行者、または1つもしくは複数のユーザ、または認可された評価ソース、または過去の評価、またはこれらの2つ以上の組み合わせから受け取られる評価データに基づいて生成される。
いくつかの実施形態では、コンテンツの一部が、コンテンツ内の仮想物体もしくは仮想グラフィック、またはユーザとともにレンダリング空間に提示されるコンテンツと対話する別のユーザのアバターに対応する。
いくつかの実施形態では、選択的フィルタリングのためのコンテンツの一部が、事前定義されたフィルタリングルールをコンテンツに適用することによって識別される。事前定義されたフィルタリングルールは、コンテンツを要求するユーザのユーザプロファイルに固有である。
いくつかの実施形態では、選択的フィルタリングのために適用される事前定義されたフィルタリングルールが、ユーザのユーザ人口統計もしくはユーザ属性、またはコンテンツと対話する他のユーザのユーザ属性、またはレンダリング空間にレンダリングされるコンテンツにおいて検出されるアクション、またはコンテンツの一部のコンテキスト、またはコンテンツの一部の評価スコア、またはこれらの2つ以上の組み合わせに基づく。
いくつかの実施形態では、コンテンツの一部の選択的フィルタリングが、選択的にフィルタリングされる必要があるコンテンツの一部に関連付けられるコンポーネントを識別し、選択的にフィルタリングされているコンポーネントの一部について識別されるコンポーネント重畳を用いて、コンテンツの一部の識別されるコンポーネントの一部を選択的に重畳する。
いくつかの実施形態では、選択的にフィルタリングされるべきコンポーネントは、オーディオコンポーネントであり、選択的に重畳することが、ユーザのユーザプロファイルに従う異なるオーディオコンポーネントを識別することを含む。異なるオーディオコンポーネントは、コンポーネントの一部の上に選択的に重畳される。
いくつかの実施形態では、選択的にフィルタリングされるべきコンポーネントは、コンテンツの一部のビデオコンポーネント、テキストコンポーネント、またはグラフィックコンポーネントのうちの1つであり、選択的に重畳することが、ユーザのユーザプロファイルに従う異なるビデオ、テキスト、またはグラフィックコンポーネントを識別することを含む。異なるビデオ、テキスト、またはグラフィックコンポーネントは、コンテンツのビデオ、テキスト、またはグラフィックコンポーネントの一部の上に選択的に重畳される。
いくつかの実施形態では、レンダリング空間において提示されるために識別されるコンテンツのコンテキストに基づいて、ユーザのユーザプロファイルを動的に更新するためのオプションが提供される。
いくつかの実施形態では、レンダリング空間でレンダリングするために提示されるコンテンツの履歴が保持され、その場合に、履歴は、コンテンツの異なる部分のコンテキストを識別する。
いくつかの実施形態では、フィルタリングで除去されたコンテンツの一部のコンテキストに類似するコンテキストを有する、レンダリング空間内において提示されるコンテンツの特定部分を識別するために、ユーザのユーザプロファイルに関連付けられる事前定義されたフィルタリングルールに従って、履歴がレビューされ、将来のレンダリング中にコンテンツの特定部分のフィルタリングを可能にするように、ユーザのユーザプロファイルに関連付けられる事前定義されたフィルタリングルールを更新するためのオプションを提供する。履歴をレビューすること及び事前定義されたフィルタリングルールを更新することは、周期的に実行される。
いくつかの実施形態では、システムが提供される。システムは、コンピューティングデバイスのプロセッサによって実行されるとき、ユーザからの要求に応答して、ユーザのヘッドマウントディスプレイ(HMD)の1つまたは複数の機構によって定義されるレンダリング空間にレンダリングするために識別されるコンテンツを制御するように構成される、コンテンツストリーミングプロセッサモジュールを含む。レンダリングするために提供されるコンテンツは、ユーザによるアクションまたは対話に基づいて動的に変化する、対話型ストリーミングコンテンツである。コンテンツストリーミングプロセッサモジュールは、コンテンツフィルタリングモジュール、コンテンツ対話機能モジュール、及びコンテンツレンダリングモジュールを含む。コンテンツフィルタリングモジュールは、コンテンツを要求するユーザのユーザプロファイル及びコンテンツについて識別される評価スコアに基づいて、コンテンツの一部を選択的にフィルタリングすることによって調整されたコンテンツを制作するように構成される。コンテンツ対話機能モジュールは、HMD装着中のユーザからコンテンツについて受信される対話型入力を処理し、処理された入力データをコンテンツフィルタリングモジュールに提供してHMDによってレンダリングするために識別されるコンテンツを更新するように構成される。コンテンツレンダリングモジュールは、HMDによってレンダリングするために、調整されたコンテンツをフォーマットするように構成される。
いくつかの実施形態では、レンダリング空間は、HMDのディスプレイ画面上に定義される、仮想現実世界からのコンテンツをレンダリングする仮想現実空間、もしくはコンピュータ生成されたコンテンツでスーパーインポーズされた/重畳された現実世界からのコンテンツをレンダリングする拡張現実空間、またはユーザの目の一部の上に定義される空間のうちの1つとして定義される。
いくつかの実施形態では、システムは、1つもしくは複数のコンテンツ発行者、または1つもしくは複数の認可された評価ソース、または1つもしくは複数のユーザ、または過去評価データベース内に保持される過去の評価、またはこれらの2つ以上の組み合わせからコンテンツについての評価データを取得することによって、コンテンツについての評価スコアを生成するように構成される、動的評価生成手段モジュールをさらに含む。
いくつかの実施形態では、システムは、入力デバイスを通じて及びHMDを通じて、ユーザによって提供される入力を受信し、入力を解釈するように構成される入力処理モジュールをさらに含む。解釈された入力は、コンテンツ対話機能モジュールに提供されてレンダリング空間において提示されるコンテンツを調整し、またはユーザ評価モジュールに提供されてコンテンツの評価スコアに影響を与える。
いくつかの実施形態では、システムは、HMD装着中のユーザに関連する画像データを取り込み、ユーザの相対位置、HMDの相対配置、入力を提供するためにユーザによって使用される入力デバイスの相対配置を判断するために画像データを分析し、取り込まれた画像データの分析に基づいてレンダリング空間内のユーザ入力の動き及び方向を判断するように構成される、配置及びナビゲーションモジュールをさらに含む。コンテンツフィルタリングモジュールが、動きの方向に提示されるべきコンテンツを事前分析し、ユーザプロファイルに従ってコンテンツを選択的に事前フィルタリングできるようにするために、ユーザの動き及び方向が入力としてコンテンツフィルタリングモジュールに提供される。事前分析及び事前フィルタリングは、ユーザ入力によって定義される方向にユーザが動くことを予想して実行される。
いくつかの実施形態では、システムは、ユーザについて定義されるユーザプロファイルに従って適用される、事前定義されたフィルタリングルールを決定するように構成されるユーザプロファイルモジュールをさらに含む。ユーザプロファイルは、ユーザ嗜好及びコンテンツを視聴するための権利を識別する。
いくつかの実施形態では、コンテンツストリーミングプロセッサモジュールは、HMDの機構によって提示されるコンテンツの評価、コンテンツを提供するコンテンツ発行者の評価、及びコンテンツと対話する他のユーザの評価を可能とするために、HMD装着中のユーザにユーザインタフェースを提供するようにさらに構成される。評価は、ユーザ評価モジュールによって取り込まれ、コンテンツについての評価スコアを生成または調整するために動的評価生成手段モジュールに転送される。
いくつかの実施形態では、コンテンツフィルタリングモジュールは、選択的にフィルタリングされる必要があるコンテンツの一部のコンポーネントを識別し、選択的にフィルタリングされているコンポーネントについて識別される適切なコンポーネント重畳を用いて、コンテンツの一部の識別されたコンポーネントの選択的重畳を実行するようにさらに構成される。適切なコンポーネント重畳は、ユーザのユーザプロファイルに基づいて識別される。
いくつかの実施形態では、コンテンツフィルタリングモジュールは、選択的フィルタリングのために識別されるコンテンツの一部のビデオ、テキスト、またはグラフィックコンポーネントの適切な部分を、ユーザのユーザプロファイルに適切な異なるビデオ、テキスト、またはグラフィックコンポーネントで選択的に重畳する、画像重畳修正手段と、選択的フィルタリングのために識別されるコンテンツの一部のオーディオコンポーネントの適切な部分を識別し、その上にユーザのユーザプロファイルに適切な異なるオーディオコンポーネントで選択的に重畳する、音声重畳修正手段と、を含む。
別の実施形態では、コンピュータ実行可能命令が記憶されたコンピュータ可読媒体が開示される。コンピュータ可読媒体は、ユーザのヘッドマウントディスプレイ(HMD)の1つまたは複数の機構によって定義されるレンダリング空間において提示するためのコンテンツを識別するためのプログラム命令を含む。コンテンツは、対話型であり、ユーザのアクションまたは対話に基づいて動的に変化する。コンピュータ可読媒体は、コンテンツについての評価スコアを識別するためのプログラム命令と、識別された評価スコア及びユーザのユーザプロファイルに基づいてコンテンツの一部を選択的にフィルタリングするために、コンテンツを動的に調整するためのプログラム命令と、調整されたコンテンツをHMDによってレンダリングするためのプログラム命令とをさらに含む。レンダリング空間に提示されるコンテンツとのユーザのアクションまたは対話によって判断されるコンテンツ内の変化に基づいて、コンテンツの異なる部分が選択的にフィルタリングされるように、コンテンツの動的な調整が、セッション中実行される。
したがって、本発明は、コンテンツがHMD装着中のユーザに提示される直前にユーザプロファイルに基づいてコンテンツをフィルタリングすることにより、HMDの機構(複数可)によって提示されているコンテンツを制御する方法を提供することによって、必要を満たす。コンテンツは、ユーザ生成コンテンツまたは第三者によって提供されるコンテンツであってもよい。いくつかの実施形態では、現実世界のコンピュータユーザのコントローラを使用して、または入力デバイスを制御して、HMDの機構(複数可)によって提示される仮想世界を旅行したり、訪問したり、対話したりすることができる。他の実施形態では、ユーザは、コメントを提供し、または仮想世界の物体、コンピュータ生成グラフィックス/コンテンツなどを含めるために、レンダリング空間において提供される現実世界のシーンと対話してもよく、そのようなユーザ対話の結果、レンダリング空間にレンダリングされる拡張コンテンツの生成をもたらし得る。あるいは、HMD装着中の現実世界のユーザは、基本的に、ビデオゲームをプレイしていてもよく、ビデオゲームにおいて、ユーザは、HMDに提示された仮想環境のコンテンツ内で、アバター(例えば、仮想人物/ユーザ)を制御する。この仮想環境では、現実世界のユーザは、アバターを動かし、他のユーザによって制御される他のアバターと対話し、メッセージを投稿し、グラフィックスを提供するなどのアクション/対話を提供することによって、コンテンツを制御してもよく、仮想環境で提示されるコンテンツ及び(制御ユーザ及び他のユーザの)対話は、制御ユーザのユーザプロファイルに従ってフィルタリングされる。
他の実施形態では、現実世界のユーザは、レンダリング空間上にレンダリングされている仮想環境においてアバターを制御している必要はない。そのような実施形態では、仮想環境に表されるアバターは、例えば、機械または機械上で実行中のアプリケーションによって制御されるアバターボットであってもよい。アバターボットは、ユーザによって制御されるアバターが行うのと同様のやり方で、仮想シーンを動き回るように構成される。例えば、アバターボットは、定義された方式で対話し、仮想環境を修正し、仮想環境内の他のアバター及び物体と対話し、広告を投稿し、メッセージを投稿し、仮想空間、仮想ピース、仮想物体、仮想建物などを建築または破壊するなどを行うように設計されている。アバターボットの場合であっても、仮想環境内のコンテンツがHMD装着中のユーザに適切でない事例が存在し得る。例えば、コンテンツが、暴力的過ぎる、陰惨過ぎるなどの場合がある。その結果、ユーザに適切なコンテンツのみが提示されるように、アバターボットによって提供されるコンテンツが、ユーザプロファイルに従って選択的にフィルタリングされる。
さらに他の実施形態では、現実世界のユーザは、仮想環境空間のアバターのうちのいくつかを制御してもよく、一方、仮想環境空間に表される他のアバターは、機械によって制御されるボットであってもよい。他の実施形態では、ユーザは、アプリケーションのコンテンツ、またはコンテンツプロバイダから取得されるコンテンツと対話していてもよい。仮想環境で提示されるコンテンツのソースに関わらず、ユーザプロファイルの基準を満たすコンテンツのみが、HMDの機構(複数可)によってユーザに対しレンダリングされるように、コンテンツが、ユーザのユーザプロファイルについて確立されたフィルタリングルールに従ってフィルタリングされる。
本発明の他の態様及び利点は、例として本発明の原理を示す、添付図面と併せて掲げる以下の詳細な説明から明らかとなるであろう。
本発明は、さらなる利点と共に、添付図面と併せて掲げる以下の説明を参照することによって、最もよく理解され得る。
以下の説明では、本発明の完全な理解をもたらすために、多数の具体的詳細が明記される。しかしながら、本発明は、これらの具体的詳細のいくつかまたは全てがなくとも実施され得ることは、当業者には明らかであろう。他の例では、本発明を不明確にしないために、周知の処理ステップは詳細には説明されていない。
本発明の実施形態によれば、ユーザは、ヘッドマウントディスプレイ(HMD)の1つまたは複数の機構によって定義される、仮想現実(VR)空間、拡張現実空間などのレンダリング空間に提示されるコンテンツと対話し得る。提示されるコンテンツがユーザに適切であるように、VR空間に提示されるコンテンツは、HMD装着中のユーザのユーザプロファイルに従って、選択的にフィルタリングされる。コンテンツは、現実世界のコンテンツ、または拡張現実コンテンツ、ゲームコンテンツ、または任意のコンテンツソースから取得される現実もしくは架空環境を表す任意の他のコンテンツを含む仮想世界のコンテンツであってもよい。VRコンテンツは、現実のユーザが1つまたは複数の入力デバイス及び/もしくはユーザインタフェースによって対話し得る、対話型ストリーミングコンテンツを含んでもよい。VRコンテンツとの対話のルールは、1つまたは複数のプロセッサによってシミュレーションされてもよい。
複数のプロセッサモジュールによるシミュレーションの場合、複数のプロセッサモジュールが、ネットワークを経て互いにリンクされてもよい。ユーザは、プロセッサモジュール及び他のユーザインタフェースデバイスとネットワークを経由して通信し得るユーザインタフェース/入力デバイスにより、仮想世界と対話してもよい。ユーザに対して提示される仮想世界コンテンツは、オーディオコンポーネント、ビデオコンポーネント、グラフィカルコンポーネント、テキストコンポーネントなどを含む、1つまたは複数のコンポーネントを含んでもよい。グラフィカル、テキスト、及びビデオコンポーネントは、ディスプレイ画面、プロジェクタ、またはHMDのユーザの目(複数可)の一部に向かって光を向ける他のデバイスなどの、1つまたは複数の視覚的機構を通じて提示されてもよい。オーディオコンポーネントは、例えば、スピーカ、骨伝導、または音波を作り出す他のデバイスなどのオーディオ機構を通じて提示されてもよい。前述のオーディオ及び視覚的機構は例示であり、ユーザにコンテンツを提示するために他の機構もHMDによって採用されてもよい。
仮想世界環境は、ユーザが入力デバイスまたはユーザインタフェースを用いて対話し得る、別個のユーザを表すアバターまたは仮想物体を含んでもよい。特定のユーザが仮想世界と対話するとき、ユーザは、割り当てられ、選択され、またはユーザに関連付けられるアバターもしくは仮想世界物体と対話することによってそれを行ってもよい。レンダリング空間に提示される現実世界環境または仮想世界環境は、アバターの視点から、またはHMD装着中のユーザに関連付けられるアバター/物体との関係で提示されてもよい。コンテンツは、2次元または3次元画像形式で提示されてもよい。いくつかの実施形態では、ユーザのアバターは、他のユーザのアバター、他の仮想世界物体、または機械によって制御されるアバターボットと対話してもよい。先に述べたように、アバターボットは、現実世界ユーザによって制御されるアバターに類似したものである。
レンダリング空間に提示されるコンテンツは、対話型のストリーミングコンテンツである。その結果、ユーザが、視聴のためにコンテンツを選択し続けると、ストリーミングコンテンツがレンダリングのためにHMDの機構に提供される前に、コンテンツは、ユーザのユーザプロファイルについて事前定義されたフィルタリングルールに従って、HMDにコンテンツを提供しているコンピューティングデバイスのプロセッサによって能動的かつ動的にフィルタリングされる。ユーザのユーザプロファイルは、コンテンツを視聴するための権利、及びいくつかの実施形態では、ユーザによって指定されるユーザ嗜好を識別する。HMD装着中のユーザによってコンテンツが所有されていないときであっても、ユーザに提示されるコンテンツが、ユーザプロファイルについて確立された基準を満たすことを保証するために、ユーザプロファイルに関連付けられる事前定義されたフィルタリングルールが、必要なチェックを提供する。追加的には、ユーザプロファイルによる選択的フィルタリングは、全体的にフィルタリングされたコンテンツを全てのユーザに提供するのではなく、異なるユーザが、彼らが関連付けられたユーザプロファイルに基づいて同一のコンテンツを異なるように視聴することを可能にする。例えば、子供に提供されるビデオは、子供のユーザプロファイルに基づいていかなるアダルトコンテンツまたは不適切なコンテンツも削除するようにフィルタリングされてもよく、彼らのユーザプロファイルに従って適切なフィルタを適用することによって、同じビデオが、特定の人種、宗教、人口統計の大人に異なるように提示されてもよい。このようなフィルタリングは、他のユーザのためにいくつかの他のコンテンツをフィルタリングで除去する一方、1人のユーザのためにフィルタリングで除去されたコンテンツのいくつかを取っておくことを可能にしてもよい。本出願で用いられるコンテンツのフィルタリングは、コンテンツの選択部分を削除すること、コンテンツの選択部分を修正すること、コンテンツの選択部分を別のコンテンツで重畳することなどを包含し、そうでなければ、コンテンツがレンダリングされている対象ユーザのユーザプロファイルに従うように、コンテンツの一部の外観、またはレンダリング属性、またはデータコンテンツを変更する、ということに、本明細書では留意すべきである。本発明の利点は、以下の各種の図面の詳細な説明から明らかとなるであろう。
図1Aは、本発明の実施形態による、ビデオゲームのゲームプレイに関連するコンテンツなどの、対話型コンテンツをレンダリングするためのシステムを示す。ユーザ100は、ヘッドマウントディスプレイ(HMD)102を装着していることが示されている。HMD102は、眼鏡、ゴーグル、またはヘルメットと同様の方式で装着され得るウェアラブルデバイスであり、ビデオゲームまたは他のコンテンツを、ユーザ100に対し画像によって表示するように構成される。HMD102は、表示機構(例えば、光学素子及びディスプレイ画面)がユーザの目に対してどのように配置されるかによって、または1つもしくは複数のレンダリング機構がコンテンツをどのようにユーザに提示するかによって、及びHMDに配信されるコンテンツの形式によって、ユーザに没入型の体験を提供するように構成される。一実施例では、表示機構は、ユーザの視野の大部分または全体でさえも占める、ユーザの目それぞれの正面の表示領域を含んでもよい。代わりに、表示領域は、ユーザの片目の正面または側面に提示されてもよい。
一実施形態では、HMD102は、コンピュータ106に接続され得る。コンピュータ106への接続は、有線または無線であり得る。コンピュータ106は、ゲーミングコンソール、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス、携帯電話、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイスなどを含むがこれらに限定されない、任意の汎用または専用コンピュータであり得る。いくつかの実施形態では、HMD102は、インターネットに直接接続することができ、それによって、別個のローカルコンピュータを必要とすることなく、クラウドゲーミングまたはクラウド上のアプリケーションへのアクセスを可能にし得る。そのような実施形態では、インターネットから取り出されるコンテンツを処理するためのコンピュータ及び計算リソースは、HMD自体の中で定義されてもよい。一実施形態では、コンピュータ106は、ビデオゲーム(及び他のデジタルコンテンツ)を実行するように構成されてもよく、ビデオゲームからのビデオ及びオーディオ出力は、レンダリングのためにHMD102に伝送される。一実施例では、コンピュータ106は、ビデオゲームコンソールである。
いくつかの実施形態では、コンピュータ106は、ローカルまたはリモートコンピュータであってもよく、コンピュータは、エミュレーションソフトウェアを動作させてもよい。クラウドゲーミングの実施形態では、コンピュータは、リモートであり、データセンタにおいて仮想化され得る複数のコンピューティングサービスによって表されてもよく、その場合に、ゲームシステム/ロジックは、仮想化されてネットワーク上でユーザに分配され得る。
ユーザ100は、コントローラ104などの入力デバイスを操作して、ビデオゲームに入力を提供してもよい。一実施例では、カメラ108は、ユーザ100が位置する対話型環境の画像を取り込むように構成され得る。これらの取り込まれた画像は、ユーザ100の相対位置及び動き、HMD102及びコントローラ104の相対配置を判断するために分析され得る。一実施形態では、コントローラ104は、ライト(もしくは複数のライト)またはその位置及び向きを判断するために追跡され得る検出可能/追跡可能なインジケータを含む。追加的には、以下でさらに詳細に説明されるように、HMD102は、ゲームプレイ中などの対話中に実質的にリアルタイムで、HMD102の位置及び向きを判断するためのマーカとして追跡され得る、1つもしくは複数のライトまたは検出可能/追跡可能なインジケータを含んでもよい。
カメラ108は、対話型環境から音を取り込むために、1つまたは複数のマイクロフォンを含み得る。マイクロフォンアレイによって取り込まれる音は、音源の位置を識別するために処理されてもよい。識別された位置からの音は、識別された位置からではない他の音を除外するように選択的に利用され、または処理され得る。さらに、カメラ108は、複数の画像取り込みデバイス(例えば、カメラの立体対)、IRカメラ、深度カメラ、及びこれらの組み合わせを含むように定義され得る。
いくつかの実施形態では、コンピュータ106は、コンピュータ106の処理ハードウェア上でローカルにゲームを実行し、ユーザに提示するためにHMDの機構にコンテンツを提供することができる。ゲームまたはコンテンツは、物理媒体形式(例えば、デジタルディスク、テープ、カード、サムドライブ、ソリッドステートチップもしくはカードなど)などの任意の形式で、またはネットワーク110を経たインターネットからのダウンロードとして取得され得る。別の実施形態では、コンピュータ106は、クラウドゲーミングプロバイダ240とネットワーク110を介して通信するクライアントデバイスとして機能する。クラウドゲーミングプロバイダ240は、ユーザ100によってプレイされているビデオゲームを保持し、実行してもよい。コンピュータ106は、HMD102、コントローラ104、及びカメラ108からの入力を受信し、クラウドゲーミングプロバイダに同じものを伝送する。クラウドゲーミングプロバイダは、入力を処理して、実行中のビデオゲームのゲーム状態に影響を与える。ビデオデータ(即ち、視覚に関係するデータ)、オーディオデータ(即ち、音)、及び触覚フィードバックデータ、温度データ、テクスチャ変更データといった対話型フィードバックデータなどの、実行中のビデオゲームからの出力が、コンピュータ106に伝送される。コンピュータ106は、伝送前にデータをさらに処理してもよいが、いくつかの実施形態では、適切なデバイスにデータを直接伝送してもよい。例えば、ビデオ及びオーディオストリームは、HMD102に提供されてもよく、一方、振動フィードバックコマンド、温度データ、及び/またはテクスチャ変更データは、コントローラ104に提供されてもよい。
一実施形態では、HMD102、コントローラ104、及びカメラ108自体が、ネットワーク110に接続されてクラウドゲーミングプロバイダ112と通信する、ネットワーク化デバイスであってもよい。例えば、コンピュータ106は、ビデオゲーム処理を別段実行しないがネットワークトラフィックの通過を容易にする、ルータなどのローカルネットワークデバイスであってもよい。HMD102、コントローラ104、及びカメラ108によるネットワーク110への接続は、有線または無線であってもよい。いくつかの実施形態では、HMD102上にレンダリングされ、及び/またはディスプレイ107上に表示可能な、またはHMD102の1つもしくは複数の機構によって提示されるコンテンツは、任意のコンテンツソース120から取得され得るストリーミングコンテンツである。例としてのコンテンツソースは、例えば、ダウンロード可能なコンテンツ及び/またはストリーミングコンテンツを提供するインターネットウェブサイトを含み得る。いくつかの実施例では、コンテンツは、映画、ゲーム、静的/動的コンテンツ、写真、ソーシャルメディアコンテンツ、ソーシャルメディアウェブサイトなどの、任意の種類のマルチメディアコンテンツを含み得る。
以下でより詳細に説明されるように、プレーヤ100は、HMD102を用いてゲームをプレイしていてもよく、その場合、そのようなコンテンツは、没入型の3D対話型コンテンツである。HMD102に提供されるコンテンツは、ユーザ(即ち、プレーヤ100)がプレイ中に、ディスプレイ107に共有され得る。いくつかの実施形態では、ディスプレイ107は、HMDのディスプレイ画面であり得る。他の実施形態では、ディスプレイ107は、HMDの機構によってコンテンツがレンダリングされ得るディスプレイ面/空間であり得る。一実施形態では、ディスプレイ107に共有されるコンテンツは、プレーヤ100に近接した、または遠く離れた他のユーザが、ユーザのプレイ中に一緒に見ることを可能にし得る。さらなる実施形態では、プレーヤ100のゲームプレイをディスプレイ107上で視聴している別のプレーヤが、プレーヤ100との対話形式で参加してもよい。例えば、ディスプレイ107上でゲームプレイを視聴しているユーザは、また、ゲームプレイに参加して、ゲームシーン内でキャラクタを制御し、フィードバックを提供し、社会的対話を行い、及び/またはHMD102を装着していないユーザが、プレーヤ100、ゲームプレイ、もしくはHMD102内の機構によってレンダリングされているコンテンツと社会的対話を行うことを可能にする(テキスト、声、アクション、ジェスチャなどによる)コメントを提供してもよい。
図1Bは、HMDによって提示されるコンテンツを調整するために使用される、コンピューティングデバイス106上で提供されるコンテンツストリーミングプロセッサモジュールの各種の様々なサブモジュールを示す。コンテンツストリーミングプロセッサモジュール106dは、メモリ106bに保持され、コンピューティングデバイス106のプロセッサ106aによって実行されてもよい。ストリーミングプロセッサモジュール106dの一部は、メモリに保持されてもよく、一方、残りの部分は、クラウドサーバ上に保持されてもよい。コンテンツは、コンテンツソースもしくはコンテンツ発行者から、インターネットなどのネットワーク300を介して取得されてもよく、またはユーザによって生成されたコンテンツであってもよく、またはゲームコンソールなどのコンピューティングデバイスにおいて生成され、ローカルエリアネットワークを経てHMDにストリーミングするために選択されたコンテンツなどであってもよい。いくつかの実施形態では、コンテンツは、ネットワーク300を介してアクセス可能なゲームコンテンツプロバイダ240から、またはリモートゲームサーバ249aから取得されるビデオゲームのゲームプレイに関連してもよい。一実施形態では、ゲームコンテンツプロバイダ240は、ネットワークを介してアクセスされるクラウドゲーミングネットワークの一部であってもよい。コンピューティングデバイス106は、有線または無線接続を通じてゲームコンテンツプロバイダまたはリモートゲームサーバに接続されてもよい。プロセッサ106a、メモリ106b、及びコンテンツストリーミングプロセッサ106d間の対話は、内部バス106eを介して行われる。コンテンツソースへのコンテンツの要求及びコンテンツソースからのコンテンツの受信は、入力/出力(I/O)モジュール106cを通じて行われ、内部バスを通じてコンテンツストリーミングプロセッサモジュールに伝送される。I/Oモジュールは、使用されるネットワークプロトコルに適したパケットでコンテンツデータを受信するためのネットワークインタフェースカード(NIC)を含んでもよい。データパケットは、処理されてコンテンツが抽出される。抽出されたコンテンツは、さらなる処理のために、コンテンツストリーミングプロセッサに転送される。
コンテンツストリーミングプロセッサモジュール106dは、要求されたコンテンツを受信し得るだけでなく、1つもしくは複数の認可された評価ソース及び/または1つもしくは複数のユーザから、コンテンツ発行者によって発行されるコンテンツについての1つまたは複数の評価も受信してもよい。先に述べたように、コンテンツストリーミングプロセッサモジュールは、それが、レンダリングのためにHMDにストリーミングされる前に、HMD装着中のユーザのユーザプロファイルに従ってコンテンツを受信及びフィルタリングするために使用される、複数のサブモジュールを含んでもよい。例示的なサブモジュールのうちのいくつかは、コンテンツフィルタリングモジュール144、コンテンツ対話機能モジュール138、及びコンテンツレンダリングモジュール146を含んでもよい。前述のサブモジュールに加えて、追加的なサブモジュールもまた、HMD装着中のユーザから受信される入力データを処理してHMDに提供されるコンテンツに影響を与えるために提供されてもよい。入力データを処理するための追加的なモジュールは、入力処理モジュール152、配置/ナビゲーションモジュール154、ユーザプロファイルモジュール142、及び動的評価生成手段モジュール140を含んでもよい。モジュールそれぞれの機能については、図1Bを参照してここで詳細に説明する。
コンテンツストリーミングプロセッサ106dは、HMD装着中のユーザからのコンテンツに対する要求を受信し、1つまたは複数のコンテンツソース249からコンテンツを取り出す。コンテンツは、ゲームコンテンツ249a、仮想現実コンテンツ249b、オーディオ、ビデオ、写真249c、ソーシャルフィード249d、ニュースコンテンツ249e、発行者評価249f、またはHMDの機構を用いてレンダリング可能な任意の他のコンテンツを含む、任意の形式のものであり得る。コンテンツは、コンテンツにおいて検出されるユーザのアクション及び対話に基づいて、またはデータのフローに基づいてのいずれかによって動的に変化するストリーミングコンテンツであり得る。コンテンツは、メモリ106bにキャッシュされ、内部バス106eを通じてプロセッサ106aに提供されてもよい。コンテンツソースからコンテンツを受信することに応答して、コンテンツストリーミングプロセッサ106dが起動されてもよい。一旦起動されると、コンテンツストリーミングプロセッサ内のコンテンツフィルタリングモジュール144が、コンテンツを識別及び分析して、コンテンツの種類及びコンテキストを判断してもよい。
さらに、コンテンツフィルタリングモジュール144は、コンテンツの評価を判断するために、動的評価生成手段モジュール140と連動してもよい。動的評価生成手段モジュール140は、コンテンツについての評価スコアを計算し、コンテンツの品質を判断するため、及びユーザのユーザプロファイルに基づいて、コンテンツに適用するのに必要なフィルタリングルールを識別するために、コンテンツフィルタリングモジュール144に同じものを提供する。一実施形態では、動的評価生成手段モジュール140は、コンテンツについての評価を1つまたは複数のソースから取り出し、評価スコアを生成するために蓄積された評価を使用する。いくつかの実施形態では、異なるソースによって提供される評価が、動的評価生成手段モジュール140によって異なるように重み付けされてもよい。動的評価生成手段モジュール140は、次いで、異なるソースから受信した各種の評価に関連付けられた重みに従って、評価スコアを計算する。具体的には、動的評価生成手段モジュール140は、発行者評価モジュール132を用いてコンテンツの発行者によって提供される発行者評価情報を、ユーザ評価モジュール136を用いてHMDのユーザによって提供されるユーザ評価情報を、ユーザ評価モジュール136を用いて他のユーザの1つもしくは複数によってコンテンツについて提供される評価情報を、及び/または過去評価モジュール134を用いて過去評価データベース246からコンテンツについて取り出される過去評価を取り出してもよい。他のユーザは、コンテンツと直接対話すること、またはソーシャルフィードを通じて対話することのいずれかによって、コンテンツについての評価を提供してもよく、そのような評価は、過去評価データベース246に保持され、コンテンツについての評価スコアを生成するために使用されてもよい。評価が他のユーザによって提供される場合、評価情報が、コンテンツ発行者からコンテンツと共に取り出されてもよく、それぞれのユーザのソーシャルフィードから個別に取り出されてもよい。
ユーザの評価に加えて、過去評価データベース246は、コンテンツが以前に要求され提示されたときに、発行者、適切な評価ソース、及びHMDのユーザによって提供されたコンテンツについての評価情報も保持してもよいことに留意すべきである。動的評価生成手段モジュール140は、コンテンツがHMDのユーザによって要求される時点で、複数の評価ソースからの評価情報を動的に蓄積し、各評価ソースに与えられる重みに従ってコンテンツについての評価スコアを計算する。いくつかの実施形態では、評価スコアは、実行中に生成されてもよい。評価スコアは、コンテンツの品質を決定し、コンテンツフィルタリングモジュール144によってコンテンツのフィルタリング中に使用されてもよい。
コンテンツフィルタリングモジュール144は、また、コンテンツを要求しているユーザのユーザプロファイルを判断するために、ユーザプロファイルモジュール142と対話してもよい。ユーザプロファイルモジュールは、HMD装着中のユーザのアイデンティティ及び1つまたは複数のユーザ属性を判断し、ユーザ属性を使用してユーザプロファイルデータベース250からユーザのユーザプロファイルを判断するように構成される。ユーザプロファイルデータベース250は、複数のユーザのユーザプロファイル情報及びユーザレベルを保持するリポジトリである。ユーザプロファイル情報は、コンテンツを視聴するためにユーザに与えられる権利を含み、いくつかの実施形態では、ユーザの1つまたは複数の個人的嗜好も含んでもよい。例えば、ユーザ嗜好は、提供されるコンテンツまたは彼/彼女のソーシャルコンタクトのうちの特定のものに関連付けられるコンテンツ、信頼されているソースによって提供されるコンテンツ、人口統計に一致するコンテンツなどを含むように指定してもよく、そのようなユーザ嗜好は、ユーザのユーザプロファイルの中に保持される。コンテンツがコンテンツソースから取り出されるとき、及びコンテンツがHMDにストリーミングされる前に、コンテンツフィルタリングモジュールは、ユーザについて指定される権利及び嗜好を判断するため、及びコンテンツをフィルタリングするために必要な事前定義されたフィルタリングルールを識別するために、HMD装着中のユーザのユーザプロファイルを取り出す。
コンテンツフィルタリングモジュール144は、ユーザのユーザプロファイル及びコンテンツについての評価スコアを使用して、コンテンツをユーザのプロファイルに適した品質及び基準にもっていくために事前定義されたフィルタリングルールのうちのどれが適用されるべきかを判断する。ユーザプロファイルについてフィルタリングルールが一旦識別されると、コンテンツフィルタリングモジュール144は、HMDにストリーミングされるべきコンテンツの一部を分析し、コンテンツがフィルタリングルールに従っているどうか、または特定のサブコンテンツがフィルタリングされる必要があるかどうかを判断してもよい。本出願で用いられるサブコンテンツは、コンテンツ全体より小さな、コンテンツの一部である。コンテンツの一部は、VR空間内にレンダリングされ、及び/またはユーザからの入力を用いて視聴され/対話される、仮想物体、仮想アバター、仮想グラフィックなどを含んでもよい。サブコンテンツは、オーディオコンポーネント、ビデオコンポーネント、テキストコンポーネント、グラフィックコンポーネントなどの1つまたは複数のコンポーネントを含んでもよい。
コンテンツフィルタリングモジュール144は、ゲーミングアプリケーションなどのアプリケーションによって、ゲーム進行などの一部としてユーザに提示されるべきコンテンツを分析する。コンテンツフィルタリングモジュールは、コンテンツ内の、音声/オーディオ、テキスト、画像などの各種のコンポーネントを判断し、いくつかの実施形態では、ユーザのユーザプロファイルについて定義される基準をコンテンツが満たすかどうかを判断するために、画像対テキスト分析を実行すらしてもよい。分析に基づいて、コンテンツフィルタリングモジュール144は、ユーザプロファイルについて確立された品質基準にないコンテンツの一部またはコンテンツの一部の中のコンポーネントを識別してもよく、それをフィルタリングの対象としてもよい。例えば、オーディオコンポーネント、ビデオコンポーネント、グラフィカルコンポーネント、及びテキストコンポーネントなどの複数のコンポーネントを含むビデオコンテンツにおいて、コンテンツフィルタリングモジュールは、ユーザプロファイルについて確立された基準を満たさないコンテンツのオーディオコンポーネントの一部を識別してもよい。そのような場合、コンテンツフィルタリングモジュール144は、コンテンツからフィルタリングされるべきオーディオコンポーネント部分を識別することとなる。オーディオコンポーネントは一例であり、他のコンポーネントが、不適切なコンテンツを含むことがあり、フィルタリングされる必要がある場合があることに留意すべきである。いくつかの実施形態では、1つ以上のコンポーネントがフィルタリングされる必要がある場合がある。HMDにストリーミングされるコンテンツが新しいほど、より新しいコンテンツの分析及びフィルタリングが、コンテンツがレンダリングのためにHMDに提示される前に、実質的にリアルタイムで(即ち、実行中に)コンテンツフィルタリングモジュールによって行われ、それによって、ユーザのユーザプロファイルについて設定された基準を遵守する任意のコンテンツソースからコンテンツが取得されることを保証する。ユーザがコンテンツに関わっている限り、及びより新たなコンテンツがHMDにストリーミングされている限り、コンテンツの一部の分析は、進行中プロセスであり、コンテンツの一部がレンダリングのためにHMDに伝送される前に実質的にリアルタイムで実行されることに留意すべきである。
一実施形態では、フィルタリングのために識別されるコンテンツの一部は、コンテンツ内のサブコンテンツのコンポーネントであってもよい。不適切なコンポーネントが一旦フィルタリングされると、結果として生じるフィルタリング済みコンテンツは、ユーザのユーザプロファイルについて定義された品質基準を満たす。フィルタリングのためにコンポーネントが選択される一実施形態では、コンテンツフィルタリングモジュールは、ストリーミングされているコンテンツのコンテキストに合致する別のコンポーネントでコンポーネントの一部を置換してもよい。この実施形態では、コンテンツフィルタリングモジュールは、フィルタリングされる必要があるコンポーネントの不適切な部分について別のコンポーネントコンテンツを識別し、コンテンツを視聴しているユーザのユーザプロファイルに適切な、識別された異なるコンポーネントコンテンツの一部で選択的に重畳することによってコンポーネントの不適切な部分を置換する。いくつかの実施形態では、異なるコンポーネントコンテンツは、コンテンツにコンテキスト上関連する。いくつかの実施形態では、不適切なコンポーネントコンテンツを置換するための、異なるコンポーネントが見つからないとき、デフォルトコンポーネントコンテンツが、不適切なコンテンツコンポーネントを置換するために識別されてもよい。デフォルトコンポーネントは、コンテンツにコンテキスト上関連してもよく、関連しなくてもよい。フィルタリングされる必要があるコンポーネントに応じて、コンテンツフィルタリングモジュールは、適切な重畳モジュールと連動してもよい。例えば、オーディオコンポーネントが置換される必要がある場合、コンテンツフィルタリングモジュール144は、音声重畳修正手段モジュール144bと連動して、コンテンツにコンテキスト上関連しHMD装着中のユーザのユーザプロファイルに適切なオーディオコンポーネントで、不適切なオーディオコンポーネントの一部を置換してもよい。一方、ビデオ、グラフィカル、またはテキストコンポーネントが置換される必要がある場合、画像重畳修正手段モジュール144aは、コンテンツにコンテキスト上関連しHMD装着中のユーザのユーザプロファイルに適切な対応コンポーネントで、ビデオ、グラフィカル、またはテキストコンポーネント適切な部分を重畳するようにコンテンツフィルタリングモジュールによって連動されてもよい。
オーディオまたはビデオ/グラフィカル/テキストサブコンポーネントをフィルタリングすることに関して、各種の実施形態が詳細に説明されているが、現在の実施形態は、これらのサブコンポーネントのみに限定されないことに留意すべきである。いくつかの実施形態では、コンテンツフィルタリングモジュール内で提供されるフィルタリング機構は、視覚的及びオーディオサブコンポーネント以外のコンテンツをフィルタリングするように構成されてもよい。その結果、フィルタリング機構は、視聴以外の感覚に関するコンテンツの一部からサブコンポーネントを選択的にフィルタリングするのに適切な重畳修正手段モジュール(複数可)を含んでもよい。例えば、いくつかの実施形態では、嗅覚(三叉神経感覚を含む)、触覚(痛み、圧迫、痒み、熱、手触りなどを含む)、味覚、前庭感覚、固有受容感覚などの1つまたは複数の感覚に関するサブコンポーネント、及び空腹、吐き気、のどの渇きなどのいくつかの内部感覚に関するサブコンポーネントも、フィルタリング機構の適切なサブコンポーネントを用いて選択的にフィルタリングされてもよい。
コンテンツが一旦フィルタリングされると、フィルタリングされたコンテンツは、HMDの要件に従って、コンテンツレンダリングモジュール146によってフォーマットされる。フィルタリング及びフォーマットされたコンテンツは、出力モジュール148aを通じてHMDに伝送される。出力モジュール148aは、コンピューティングデバイスとHMDとの間で確立される通信プロトコルに従ってさらなる処理を実行し、処理されたコンテンツをレンダリングのためにHMDに転送してもよい。
レンダリングに応答して、ユーザは、HMDを通じて、またはコントローラ、キーボード、マウスなどの入力デバイスにおけるユーザアクションによって、コンテンツと対話してもよい。入力デバイス104及びHMD102からのユーザ対話は、入力モジュール148cにおいて受信され、コンテンツストリーミングプロセッサ106dの入力処理モジュール152に転送される。入力処理モジュール152は、ユーザ入力を分析して対話の種類及び対話がどのようにコンテンツに影響を与えるかを判断する。いくつかの実施形態では、対話は、ユーザによって提供されるコンテンツ関連評価、または他のユーザによって提供されるコンテンツとのアクション/対話に応じた別のユーザの評価であってもよい。この実施形態では、評価情報は、ユーザ評価モジュール136に転送され、コンテンツの評価に影響を与えてもよい。別の実施形態では、対話は、HMD102によって提示されているコンテンツに影響を与えるために使用される入力デバイス104を用いて、ユーザによって提供されるアクションであってもよい。この実施形態では、対話は、コンテンツ対話機能モジュール138に転送されてもよい。コンテンツ対話機能モジュール138は、対話を分析し、ユーザ対話に基づいてコンテンツのどの部分が調整される必要があるかを判断し、それに応じてコンテンツを調整する。調整されたコンテンツは、コンテンツフィルタリングモジュールに転送され、コンテンツフィルタリングモジュールでは、調整されたコンテンツが、ユーザプロファイルについて定義された基準を遵守することを保証するために、ユーザプロファイルについて事前定義されたルールが適用される。
入力モジュールにおいて受信されるユーザ対話は、コントローラなどの入力デバイス104に関連付けられる配置データ、及び/または入力デバイス104を通じて提供されるナビゲーションデータを含んでもよい。例えば、入力デバイスにおける制御は、HMD102の機構を用いて提示されるゲームプレイの仮想シーン内で、ユーザに関連付けられるアバターまたは物体を特定の方向に前進させるために使用されてもよく、そのような前進には、ユーザのアバターの相対配置に従ってゲームシーンが調整される必要がある場合がある。入力デバイス(複数可)から受信されるユーザ入力に加えて、入力は、例えば、配置及びナビゲーションデータとして、HMD102を通じて提供されてもよい。HMD102からの入力は、HMDにストリーミングされるコンテンツに影響を与えるために使用されてもよい。HMDの配置及び向きは、カメラ108を通じて取り込まれ、さらなる処理のために、画像入力モジュール148bを通じて配置/ナビゲーションモジュール154に転送される。HMDによって提供される入力データは、配置/ナビゲーションモジュール154によって伝送され、入力デバイスからの入力と同様の方式で入力処理モジュールによって処理され、コンテンツ対話機能モジュール138に転送されてHMDへのコンテンツストリーミングに影響を与える。
いくつかの実施形態では、HMD及び/または入力デバイスから取り込まれた配置及びナビゲーションデータは、ユーザの相対位置及びHMDの相対配置を判断するために入力処理モジュール152によって分析されてもよく、それは、ゲームシーン内のユーザのアバターの相対位置に換算され得る。分析に基づいて、入力処理モジュール152は、ゲームプレイ中のゲームシーンなどの(例えば、仮想現実(VR)空間についての)レンダリング空間内でのユーザの動き及び動きの相対方向を判断してもよい。動き及び方向情報は、コンテンツ対話機能モジュール138に提供されてコンテンツに影響を与える。例えば、コンテンツは、ユーザによって提供される入力に基づいて、VR空間内のユーザの動きを反映するように調整される必要があり得る。コンテンツへの調整は、VR空間内のユーザの動きの方向への追加コンテンツの形式でコンテンツフィルタリングモジュール144に提供されて、コンテンツフィルタリングモジュール144が、ユーザ入力によって決定される方向にユーザが動き続けるであろうと予想して、ユーザプロファイルに従ってコンテンツを選択的に事前遮断/事前フィルタリングすることを可能にする。ユーザ入力によって決定される方向にユーザが動くと、事前フィルタリングされたコンテンツが、ユーザのHMDにいつでも提示できるようになる。言い換えると、ユーザが現在動いている方向を判断すること、現在の動きの方向に基づいてユーザの動きの方向を判断すること、動きの方向にレンダリングされるべきコンテンツを判断すること、及びユーザ入力の分析によって予測される方向にユーザが動き続けるであろうと予想してユーザのユーザプロファイルに従いコンテンツを事前フィルタリングすることによって、コンテンツが予めフィルタリングされる。
いくつかの実施形態では、コンテンツストリーミングプロセッサ106dは、ユーザの要求に応答して、ユーザに提示されたコンテンツの履歴を保持してもよい。履歴は、要求されたコンテンツ、フィルタリングで除去されたコンテンツ、及び/または他のコンテンツで置換されたコンテンツを含んでもよい。コンテンツストリーミングプロセッサ106dは、ユーザに提示されているコンテンツがユーザプロファイルについて設定された基準を満たすことを保証するために、ユーザのユーザプロファイルについて定義された事前定義フィルタリングルールに従って、ユーザの履歴内のコンテンツを周期的に分析してもよい。ユーザプロファイルについて定義された事前定義フィルタリングルールは、ユーザ人口統計、ユーザ属性、コンテンツにおいて検出され得るアクション及び対話、コンテンツのコンテキスト、コンテンツ及びコンテンツ内のサブコンテンツの評価スコア、ユーザ嗜好、またはこれらのうちの任意の2つ以上の組み合わせを包含する。従って、分析の間、コンテンツストリーミングプロセッサは、選択的にフィルタリングされたサブコンテンツのコンテキストに類似したコンテキストを有する、VR空間内に提示されたコンテンツの特定のサブコンテンツを識別してもよい。例えば、ユーザのユーザプロファイルに不適切な言葉を有するサブコンテンツのオーディオコンポーネントの一部が、コンテンツにおいてフィルタリングで除去されてもよい。一方、フィルタリングで除去されたオーディオコンポーネントに範囲が類似した言葉を有する同じコンテンツ内の別のサブコンテンツのオーディオコンポーネントを、コンテンツフィルタリングモジュールを通過してレンダリングのために提示してもよい。これは、事前定義されたフィルタリングルールが、例えば、不快なまたは不適切な言葉、歌詞、サウンドバイト、コンテンツ内でレンダリングされた任意の他の音声の全てを識別するのに十分に定義されていないことがあるという事実に起因し得る。また、オーディオコンポーネントのうちのいくつかは、あるユーザには(例えば、ある人口統計のユーザに対しては)不快であるが、他のユーザには不快でない場合がある。同様の問題が、コンテンツのビデオ、グラフィカル、テキスト、または他のコンポーネントでも生じ得る。インテリジェントなフィルタリングを行うため、及びユーザに対して不快であり得るコンテンツを提供することを回避するために、コンテンツストリーミングプロセッサは、ユーザプロファイルについて定義された事前定義フィルタリングルールを更新するためのオプションを提供してもよく、それによって、将来のレンダリング中に提示されるコンテンツが、ユーザのユーザプロファイルに不適切なサブコンテンツ/コンテンツを含まないように適切にフィルタリングされ得る。一実施形態では、オプションは、事前定義されたフィルタリングルールの更新を可能にするため、及び/またはユーザプロファイルについての追加的なフィルタリングルールを追加するためのユーザインタフェースの形式で提供されてもよい。
いくつかの実施形態では、コンテンツストリーミングプロセッサ106dは、また、ユーザのユーザプロファイルを更新するためのオプションも提供してもよい。ユーザプロファイルは、ユーザの年齢、信教、コミュニティメンバシップなどの、あるユーザ属性に基づいて一般ユーザに関連付けられるプロファイルであってもよく、またはそれはより具体的であってもよい。その結果、ユーザプロファイルに対する更新は、ユーザに提示されるコンテンツについてより多くのフィルタを定義するために用いられる、追加的なユーザ属性及び/またはユーザ嗜好を含めるためのオプションを含んでもよい。いくつかの実施形態では、ユーザプロファイル及び事前定義されたフィルタリングルールを更新するためのオプションを提供することに加えて、コンテンツストリーミングプロセッサ106dは、また、HMDにストリーミングされるコンテンツの評価、他のユーザのユーザ属性に基づく、またはコンテンツにおける他のユーザのアクション/対話に基づく他のユーザの評価、コンテンツ発行者の評価、及び任意の他のコンテンツ関連評価を許容するオプションを提供してもよい。ユーザによって提供される評価は、ユーザ評価モジュール136によって分析され、動的評価生成手段モジュール140に提示されてコンテンツの評価スコアに影響を与える。
コンテンツは、ゲームコンテンツプロバイダ240または他のユーザ249aからのゲームコンテンツ、ビデオとして取り込まれ提供される現実世界コンテンツ、ユーザのソーシャルコンタクトまたは信頼できるソースのいずれかである他のユーザによって共有されるオーディオ/ビデオ/写真コンテンツ249c、ニュースコンテンツプロバイダからのニュースコンテンツ249e、1つまたは複数のソーシャルメディアからのソーシャルフィード249dなどの、各種のコンテンツソースから受信され、ユーザのユーザプロファイルに従って分析され、ユーザプロファイルについて定義された事前定義フィルタリングルールに基づいて選択的にフィルタリングされてもよいことに留意すべきである。フィルタリングされたコンテンツは、ユーザプロファイルについて確立された視聴基準を満たし、ユーザが、快適で適切なコンテンツを視聴できるようにする。
各種の実施形態が、ユーザの周囲のバブルまたは環境を保持するコンテンツストリーミングプロセッサを説明する。コンテンツストリーミングプロセッサは、環境内で提供されるコンテンツを視聴し、コンテンツが提示されているレンダリング空間内のユーザアクション及び対話に基づいてコンテンツにいつフィルタを適用すべきかを判断する。例えば、仮想物体、アバターなどのサブコンテンツが、レンダリング空間でユーザに接近し、もしくはユーザに向かって動く場合、またはレンダリング空間でユーザがサブコンテンツに向かって動く場合に、ユーザのユーザプロファイルについて確立された基準をサブコンテンツが満たさないと、サブコンテンツは、変更され、修正され、または、フィルタの適切なサブコンテンツで置換され得る。いくつかの実施形態では、サブコンテンツは、単にレンダリングされなくてもよく、コンテンツ全体が、不適切なサブコンテンツを含んですらいなかった(即ち、サブコンテンツのクリーニングが発生していない)ように見えるようにする。述べたように、コンテンツ上で用いられるフィルタは、オーディオフィルタ、ユーザが対話した/対話していない様々な人々をフィルタリングするための画像フィルタ、様々な物体/グラフィックスをフィルタリングで除去するための画像フィルタなどを含んでもよい。例えば、HMDによってレンダリングされたソーシャルゲームプレイ内の何人かの人々が、本質的に「アダルト」過ぎるアクションを提供する傾向がある場合、コンテンツが提示されている対象ユーザのユーザプロファイルに基づいて、これらの人々が予めコンテンツからフィルタリングで除去され得る。代わりに、それらは、コンテンツをより現実的に見えるようにするために、他の人々または仮想物体で置換されてもよい。
いくつかの実施形態では、フィルタバブル/環境において提示されるコンテンツが、承認済みの友達もしくはソーシャルコンタクト、または信頼されるものとして視聴されるもののリストに関連付けられたコンテンツのみを含むように、コンテンツがフィルタリングされてもよい。いくつかの実施形態では、コンテンツストリーミングプロセッサ106dは、ソーシャルコンタクトデータベース252と対話することによって、ユーザの承認済みの友達またはソーシャルコンタクトを識別してもよい。ソーシャルコンタクトデータベース252は、1つまたは複数のソーシャルグラフによって提供されるデータを分析し、その中で識別される様々なソーシャルコンタクトとHMD装着中のユーザとの関係性を判断してユーザのソーシャルコンタクトを識別する。コンテンツが、友達/ソーシャルコンタクト/信頼されたユーザに関連するときでも、ストリーミングコンテンツが、ペアレンタルコントロールなどのより高いレベルの制御またはユーザのユーザのプロファイルについてのフィルタリングルールによって定義されるユーザフィルタに違反するこれらのソースによって提供されるアクション/コンテンツを含まないことを保証するために、ユーザのHMD上でユーザに提示する前に、コンテンツは、やはり動的にフィルタリングされてもよい。場合によっては、VR空間でコンテンツと対話するときに、人々が不適切なジェスチャまたは完全に不適切な言葉を生じさせることが分かっている。そのようなユーザについて、不適切なジェスチャを行っているユーザの手が、VR空間でのレンダリングから除外されてもよく、またはユーザプロファイルについて、及び制御されるユーザの視点から見て適切な、一般的な手のジェスチャで置換されてもよい。同様に、不適切な言葉を含むオーディオコンテンツの部分が、適切な言葉を含む部分で置換されてもよい。サブコンテンツのコンポーネントの一部の置換は、ユーザプロファイルに適切なコンポーネントの適切な部分でその部分を重畳することによるものであってもよい。
いくつかの実施形態では、逆方向フィルタリングが、コンテンツ上で実行され得る。例えば、両親は、子供が高い声を発している環境でプレイすることを好まない場合がある。この実施例では、環境内で提示されるコンテンツは、両親に適切であり得る。両親のユーザプロファイルは、高い声の子供を環境から除外するため、もしくは、環境内で対話するユーザに応じて、高い声の子供が対話している環境を除外するために必要なフィルタリングルールを含んでもよく、またはコンテンツがユーザに対してレンダリングされる前に、高い声を低い声のトーンに変換する適切な音声フィルタリングを提供するためのルールを定義してもよい。これらの実施形態では、高い声または単調な声のユーザが対話している環境で対話しないことは、ユーザの個人的選択/嗜好である。各種の実施形態では、コンテンツ視聴体験をユーザにとって快適なものにするために、HMDによって仮想環境で提示されるコンテンツに適切なフィルタリングルールを生成するように、ユーザがユーザプロファイル内の彼らの個人的嗜好を指定することを可能にする。
各種の実施形態の詳細な概要について、特定の実施形態が、図2から図4を参照してここで説明される。図2は、本発明の一実施形態による、ユーザ100のHMD102の1つまたは複数の機構を用いてレンダリングされ得る概念的な仮想空間のグラフィック図を示す。一実施形態では、ユーザには、ユーザがコンテンツを視聴し/対話するためにナビゲートし得る様々な仮想(VR)空間が提供されてもよい。図2で識別されるVR空間は、ユーザがナビゲートし、アクセスが提供され、加入し、視聴/対話に関心があり、またはユーザ属性、嗜好、地理位置、社会的/ビジネス/個人的関係などに基づいてユーザに推奨されるコンテンツであってもよい。この実施形態では、仮想空間は、HMDのディスプレイ画面上に、または図2で示されるHMDの機構によって定義されるレンダリング空間に提示されるユーザインタフェースにおけるユーザ選択のためにグラフィカル形式で提供され、またはユーザが選択可能なリストとして提供されてもよい。代替の実施形態では、ユーザには、ユーザ要求に基づいて視聴するためにユーザに利用可能なVR空間のうちの任意の1つからコンテンツが提示されてもよい。VR空間についてのコンテンツは、現実世界環境または仮想世界環境からのコンテンツを含んでもよく、現実世界環境が仮想世界コンテンツ、コンピュータ生成及び/または、いくつかの例ではユーザ生成グラフィックコンテンツで重畳される、拡張コンテンツであってもよい。例えば、ユーザは、1つの地理位置から別の地理位置へ動き回ってもよく、HMDの機構によって提示されるコンテンツは、ユーザによって望まれる地理位置に関連する現実世界シーンの画像を提供するように調整されてもよい。代わりに、ユーザは、異なる時間に、及びユーザの関心に基づいて、様々な種類のコンテンツを視聴することに関心を示し得、様々な現実世界のシーンからのコンテンツまたは仮想世界シーンからのコンテンツが、HMDによって提示されてもよい。ユーザ選択に基づいて、コンテンツがフィルタリングされフォーマットされた後、コンテンツは、適切なコンテンツソースから取り出され、HMDにストリーミングされてもよい。ユーザは、コントローラ104などの入力デバイスを用いて、HMD102の機構によって提示されるコンテンツと対話してもよく、そのような対話は、HMDにストリーミングされるコンテンツに影響を与えるために使用されてもよい。
図3Aは、複数のユーザ制御または機械制御のアバターが集まって互いに対話している、(図2においてVR空間4と表される)美術館などの概念的仮想空間のグラフィック表現を示す。図3Aに示されるように、概念的VR空間は、ユーザ100の視野から示されており、互いに対話し、仮想空間を歩き回り、他のユーザとそれぞれのアバターを通じて会話するなどしているユーザを含む。VR空間で提示されるコンテンツは、対話型ゲームからのものであってもよく、現実世界または任意の他の仮想世界のシーンからのものであってもよい。図3Aで示される実施形態で提示されるコンテンツは、コンテンツと対話する他のユーザによって制御されるか、または機械によって制御されるかのいずれかである複数のアバターを含む。コンテンツフィルタリングモジュールは、ユーザ100に関連付けられるユーザプロファイルに基づいて、制御ユーザが、仮想空間において対話することに関心がない、ユーザアバターのうちの1つまたは複数(例えば、アバター118及び116)を識別してもよい。先に述べたように、ユーザプロファイルは、制御ユーザのユーザ属性及び制御ユーザによって定義される任意の個々の嗜好を識別する。結果として得られるフィルタリングされたコンテンツが、ユーザプロファイルについて確立されたコンテンツ品質基準を遵守するように、ユーザプロファイルに適切なフィルタリングルールが識別され、コンテンツに適用される。いくつかの実施形態では、コンテンツフィルタリングモジュールは、フィルタリングルールを適用して、他のユーザの評価、アクション/対話(過去及び現在両方のアクション/対話)の性質及び種類、評判、制御ユーザとの関係性または関係性がないことなどに基づいて、VR空間内のコンテンツにおいて提示される他のユーザアバターを識別し、フィルタリングしてもよい。代わりに、他のユーザに関連するサブコンテンツの特定のコンポーネント(例えば、オーディオコンポーネント、ビデオコンポーネント、グラフィックコンポーネントなど)は、ユーザのフィルタリングルール及びHMDによってユーザに提示されるフィルタリング済みコンテンツに従ってフィルタリングされてもよい。ユーザのユーザプロファイルは、制御ユーザについて指定されたフィルタリング基準を識別し、コンテンツフィルタリングモジュールは、それに従ってコンテンツをフィルタリングする。
図3Bは、制御ユーザ100のユーザプロファイルについて定義されるフィルタリングルールに従って、コンテンツにコンテキスト上関係する他のコンテンツで1つまたは複数のサブコンテンツが置換された、図3Aに提示される概念的仮想空間のグラフィック表現を示す。別の実施形態では、制御ユーザがVR空間でそれらのユーザに関連するコンテンツと対話するために、事前定義されたフィルタリングルールは、制御ユーザのユーザ嗜好、または他のユーザに必要な最小閾値ユーザ評価を識別してもよい。前述の基準は、ストリーミングコンテンツをフィルタリングするために使用されるフィルタリングルールを定義するための例示であり、他の基準も使用されてもよい。フィルタリングルールは、制御され、または他のユーザに関連付けられたアバターをフィルタリングするために単に定義されるだけでなく、フィルタリングされる必要がある仮想物体、グラフィック、テキストなどを含む任意の他のサブコンテンツまたはサブコンテンツの特定のコンポーネントを識別するために使用され得ることに留意すべきである。したがって、図3Bに示されるように、ユーザ評価またはユーザ嗜好に応じて、一実施形態では、図3AのVR空間内で識別される2人のユーザ116及び118は、フィルタリングされ、制御ユーザが対話し得る(116a及び118aによって表される)他のユーザまたはユーザのグループでシームレスに置換される。いくつかの実施形態では、ある種類のサブコンテンツを類似の種類のサブコンテンツで置換するためにフィルタリングが行われる必要があるということは必須ではない。例えば、図3Bに示される上記実施例では、2人のユーザ116及び118が、レンダリングされているコンテンツにコンテキスト上適切な、花瓶、彫像、犬、馬などの無生物または生物物体で置換されてもよい。同様に、他のサブコンテンツまたはサブコンテンツのコンポーネントが、フィルタリングされる必要があるサブコンテンツの一部またはサブコンテンツのコンポーネントの一部を、ユーザプロファイルに適した、コンテキスト上適切なサブコンテンツで単に重畳することによって置換されてもよい。
いくつかの実施形態では、VR空間内で提示されるコンテンツは、HMD装着中の制御ユーザ100のユーザプロファイルに適した、コンテキスト上適切なコンテンツを含むことによって改善されてもよい。そのような実施形態では、ストリーミングしているコンテンツが、退屈であるか、または十分なアクション/グラフィックスを有しない場合、コンテンツフィルタリングモジュールは、グラフィックス、アニメーションクリップ、オーディオクリップ、ビデオクリップなどのコンテキスト上適切なサブコンテンツを識別し、コンテンツをより興味深く及び/または快適にするためにそれをコンテンツとインテリジェントにマージしてもよい。当然ながら、識別されるサブコンテンツは、制御ユーザのユーザプロファイルによって定義されるフィルタリングルールを、サブコンテンツが、満たすことを保証するために分析される。
図3Cは、サブコンテンツのいくつかが、制御ユーザ100のユーザプロファイルについて定義されたフィルタリングルールに従って、単にフィルタリング除去された、図3Aで提示された概念的VR空間におけるコンテンツのグラフィック表現を示す。例えば、制御ユーザ100は、彼のソーシャルコンタクト、または信頼できるもしくは評判の良いユーザである他のユーザによって提供され、または制御されるコンテンツのみを視聴したいということを明示してもよい。その結果、図3Cに示されるVR空間4において示されるように、コンテンツフィルタリングモジュールは、信頼できない/評判の良くない、または制御ユーザのソーシャルコンタクトではない他のユーザによってハンドリングされるアバターをフィルタリングで除去する。
図3Dは、本発明の実施形態による、概念的仮想空間環境内の建物の一部であり得る対話型空間を示す。図示されるように、建物の壁に、制御ユーザのユーザプロファイルに従って、制御ユーザにとって不快な、恐ろしい、陰惨な、または不適切であり得る、落書きまたはグラフィック181がある場合がある。その結果、コンテンツフィルタリングモジュールは、不快または不適切なサブコンテンツ(即ち、落書きまたはグラフィック)を識別し、それをフィルタリングで除去するか、またはユーザに適切であると識別される同種の(即ち、グラフィックの)異なるサブコンテンツで置換することとなる。コンテンツを置換する場合、コンテンツフィルタリングモジュールは、コンテンツ履歴データベースに保持されているコンテンツのリポジトリを検索して、コンテキスト上適切で、ユーザプロファイルについて定義されたレンダリング基準に合致するサブコンテンツの種類を識別し、不適切なサブコンテンツを識別されたサブコンテンツで置換してもよい。代わりに、コンテンツフィルタリングモジュールは、インターネットを検索することによってコンテンツを識別し、不適切なコンテンツをインターネットからのコンテンツで置換してもよい。サブコンテンツの置換は、仮想空間またはそれが置換されているコンテンツの部分に合わせるように、識別されたサブコンテンツをサイズ変更または再フォーマットすることを含んでもよい。図3Eは、図3Dに示されるVR空間7において不快感を与えるグラフィック130が、制御ユーザのユーザプロファイルについて確立された基準を満たす異なるグラフィック130aで置換される、一実施例を示す。コンテンツのフィルタリングは、様々なユーザのユーザプロファイル要件を満たすように適合されてもよい。その結果、いくつかの実施形態では、様々なユーザが、それぞれのユーザプロファイルに基づいて、異なるグラフィックスを見てもよい。例えば、図3Eに示されるように、制御ユーザが子供の場合、置換されるグラフィックは、ユーザの年齢及びその他の属性に適した漫画のグラフィックであってもよい。制御ユーザが、若い大人の場合、置換されるグラフィックは、例えば、ビデオゲームの広告などであってもよい。したがって、様々な制御ユーザが、彼らの権利及び/または嗜好に合致するコンテンツを提供されてもよく、このことがユーザにとって非常に快適なコンテンツ視聴及び対話体験となる。
図4A及び図4Bは、本発明の実施形態による、異なる時間における仮想世界シーンの詳細をレンダリングする仮想空間を示しており、ユーザ102は、動き回って他のユーザ、物体と対話し、または他のユーザ/物体と通信しているように示されている。HMDによって提供されるシーンは、ユーザ100によって知覚されるものとしてビューに反映する。図示されるように、ユーザA100は、家201を有してもよく、家201において、ユーザA100が入り、物体と対話し、他のユーザに会い、意見を交換し、またはユーザA100のための本拠地として単に定義してもよい。ユーザA100は、仮想空間内で移動してもよい。例えば、ユーザA100は、ある建物、家、物体を通過して仮想空間100bを歩き回り、異なる空間内に入り、または出るなどしてもよい。
例えば、ユーザA100は、ユーザBの家203に歩いて行ってもよく、またはユーザA100の家201及びユーザBの家203の間に示される通りに沿って歩いてもよい。ユーザA100が、進路に沿って進むにつれて、コンテンツは、ユーザA100の仮想シーンの視点ビューに反映されるように調整される。図4Bは、ユーザA100が、2つの家の間の歩道に沿って散歩して、道端で雑談している2人のユーザ(207、209)を通り過ぎ、別の2人のユーザ(211、213)が会合場所の建物の側で立って雑談している会合場所217に向かう、一実施形態を示す。図4Bに示される他のユーザ(207、209、211、213)は、他の現実世界のユーザによって制御されてもよく、またはコンテンツを提供するゲーミングアプリケーションなどのアプリケーションによって提供されてもよく、またはコンピュータによって提供され制御されてもよい。図4Bに示される仮想空間は、各種のユーザが仮想空間内で歩き回り、または単に対話することを可能にするために、木、灌木、及び他の審美的で対話型の特徴などの他の物体も含む。一実施形態では、図4Bに提示される仮想空間は、ユーザA100のユーザプロファイルに基づいて、ユーザA100に不適切であり得る落書きまたはグラフィック(例えば、コンテンツA)を含み得る。コンテンツフィルタリングモジュールは、HMD及び入力デバイスを通じてユーザA100によって提供されるアクション/対話を判断し、ユーザの動き及び動きの方向を判断し、動きの方向に提示されるべきコンテンツを識別し、コンテンツ内のいずれかのサブコンテンツまたはサブコンテンツのコンポーネントがフィルタリングされるべきかどうかを判断するためにユーザA100に関連付けられるユーザプロファイルに従ってコンテンツを分析してもよい。分析に基づいて、コンテンツフィルタリングモジュールは、ユーザA100に提示するのに不適切な、会合場所の建物217の側面に提示されているサブコンテンツAを識別してもよい。その結果、コンテンツフィルタリングモジュールは、例えば、コンテンツにコンテキスト上関連するサブコンテンツ(コンテンツB)を識別するためにコンテンツ履歴データベースまたはインターネットに問い合わせし、ユーザA100にコンテンツを提示する前にコンテンツAをコンテンツBで置換する。コンテンツフィルタリングモジュールは、制御ユーザの次の対話を予想することによってコンテンツの予測分析を行い、コンテンツが、多くのレイテンシなしにシームレスな方式でVR空間に提示されるように、予め予想された移動方向においてコンテンツを分析しフィルタリングする。
詳細に説明される本発明の各種の実施形態では、ユーザのユーザプロファイルに従ってコンテンツをフィルタリングする方法を、図5において定義される方法の動作を参照してここで説明する。方法は、動作510において開始し、動作510で、レンダリング(VR)空間に提示するためのコンテンツが識別される。コンテンツに対する要求は、ヘッドマウントディスプレイ(HMD)を装着中のユーザによって行われる。コンテンツは、対話型ストリーミングコンテンツであり、任意のコンテンツソースから取得されてもよい。コンテンツは、ローカルまたはリモートで実行するゲーミングアプリケーション、ニュースコンテンツプロバイダ、ソーシャルメディアなどから取得され、オーディオ、ビデオ、グラフィックス、テキストなどの1つまたは複数のコンポーネントを含んでもよい。コンテンツは、コンテンツプロバイダ、認可された評価ソース、コンテンツと対話もしくはコンテンツを視聴した他のユーザによって提供される、コンテンツに関する評価情報、ならびに/またはコンテンツを提供するユーザ及びコンテンツと対話するユーザに関する評価情報も含んでもよい。コンテンツソースが識別され、コンテンツが要求されてコンテンツソースから受信される。受信されたコンテンツは、キャッシュメモリなどのメモリに記憶され、HMDに通信可能に接続されるコンピューティングデバイスのプロセッサによって処理されてもよい。
動作515に示されるように、コンテンツについて評価スコアが識別される。評価スコアは、各種のソースからのコンテンツについての評価を蓄積すること及び評価スコアを計算することによって、コンテンツストリーミングプロセッサ内の動的評価生成手段モジュールによって生成されてもよい。動的評価生成手段モジュールは、異なるソースから取得した評価に異なるように重み付けしてもよく、一実施形態では、評価スコアは、各ソースから蓄積された評価とそれぞれのソースに割り当てられた重みの関数として、生成されてもよい。
次いで、動作520に示されるように、コンテンツは、コンテンツからサブコンテンツを選択的にフィルタリングするように調整される。サブコンテンツは、コンテンツを要求するユーザに関連付けられるユーザプロファイル、コンテンツの評価スコア、及びコンテンツにおいて検出される進行中の対話に基づいて、選択的にフィルタリングされてもよい。コンテンツは、ストリーミングコンテンツであるため、コンテンツへの変更は、データのストリーミングフローによって生じ得る。追加的には、他のユーザが、コンテンツと対話しており、コンテンツにおいてアクション/対話を提供している場合があり、そのような進行中の対話が、ストリーミングコンテンツに変更をもたらし得る。他のユーザからのアクション及び対話は、コンテンツの評価、ユーザ(複数可)の評価、及びHMDへコンテンツストリーミングに影響を与え得る他のアクションを含んでもよい。アクション及び対話は、HMDのユーザに関連付けられるユーザプロファイルに従って分析され、コンテンツへの変更が、ユーザについて定義された品質を満たすかどうか、またはアクション/対話によって、コンテンツがフィルタリングされる必要があるかどうかを判断する。分析に基づいて、コンテンツが、ユーザプロファイルに不適切なサブコンテンツを含むとき、コンテンツは、コンテンツフィルタリングモジュールによって選択的にフィルタリングされる。フィルタリングは、コンテンツへの変更をシームレスにみせるようなやり方で実行されてもよい。いくつかの実施形態では、不適切なサブコンテンツは、除去される。他の実施形態では、不適切なサブコンテンツは、HMDにストリーミングされているコンテンツにコンテキスト上関連する別のサブコンテンツで置換される。置換は、サブコンテンツのコンポーネントの1つまたは複数のパラメータを決定すること、及び、フィルタリング済みサブコンテンツと同じ種類の別のサブコンテンツで、サブコンテンツのコンポーネントをインテリジェントに重畳することによって行われてもよい。置換は、置換がシームレスに見えるように置換されているコンポーネントのパラメータに合致するように他のサブコンテンツを動的にサイズ変更または再フォーマットすることを含んでもよい。
コンテンツを動的に調整した後、動作525に示されるように、コンテンツは、HMDの機構によって定義されるレンダリング空間上でレンダリングするためにフォーマットされる。フォーマットされたコンテンツは、HMDの機構によって定義されるレンダリング空間上に提示するために、HMDに自動的に伝送される。レンダリングされたコンテンツは、HMD装着中のユーザのユーザプロファイルについて確立された基準を遵守する。
ユーザは、HMDを通じて、またはコントローラなどの入力デバイスを通じてコンテンツと対話してもよい。追加的には、HMD装着中のユーザの画像、HMD及び入力デバイスの画像が、HMDの外部カメラによって取り込まれ、取り込まれた画像が、配置/ナビゲーションモジュールによって処理されて、ユーザの相対配置、HMDの相対配置、入力デバイスの相対位置などが判断される。さらに、HMD及び入力デバイスを通じて提供される入力は、入力処理モジュールによって処理されて、VR環境内のユーザの動き及び方向が判断される。配置/ナビゲーションモジュール及び入力処理モジュールによって提供される情報は、VR環境内のユーザの動きの方向に関する予測分析を行い、ユーザが、配置/ナビゲーションモジュール及び入力処理モジュールによって示される方向に動き続けると予想してコンテンツを事前処理するために、コンテンツ対話機能モジュールによって使用される。例えば、ユーザが、南東方向に動いており、その方向に動き続けるだろうとコンテンツ対話機能モジュールが判断する場合、コンテンツ対話機能モジュールは、その方向に提示されるべきコンテンツを識別し、コンテンツを事前分析し、ユーザがその方向に動き続けるであろうと予想して任意のフィルタリングを実行してもよい。コンテンツを受信し、HMD装着中のユーザのユーザプロファイルに従ってコンテンツをフィルタリングする処理は、ユーザがコンテンツに関わっている限り継続する。
図6は、一実施形態による、使用中のHMD102を装着中のユーザを示す。この例では、HMDが、カメラ108によって取り込まれるビデオフレームから取得される画像データを用いて追跡802されることが示される。追加的には、コントローラなどの入力デバイスもまた、カメラ108によって取り込まれるビデオフレームから取得される画像データを用いて追跡804され得ることが示されている。HMDが、ケーブル806を経てコンピューティングシステム106に接続される構成も示されている。一実施形態では、HMDは、同じケーブルから電力を取得し、または電力を受信するために別のケーブルに接続し得る。さらに別の実施形態では、HMDは、余分な電源コードを避けるために、再充電可能な電池を有し得る。
例示的なヘッドマウントディスプレイ(HMD)102は、HMDの外側表面全体に分散される、ライト、LEDなどの複数の追跡可能なインジケータを含む。これらのインジケータのそれぞれは、特定の形状及び/または配置を有するように構成されてもよく、同一または異なる色を有するように構成され得る。ライトは、ユーザがHMD102を使用する対話型環境の、取り込まれた画像における可視マーカとして識別され得る。
カメラまたは一連のカメラなどの画像取り込みデバイス108を、インジケータを追跡して対話型環境でのHMD102の位置及び向きを判断するために使用してもよい。HMD102の特定の向きに応じて、インジケータのうちのいくつかが目に見えてもよく、一方、その他は、カメラから隠れていてもよい。いくつかの実施形態では、HMD102に配置される慣性センサを、インジケータを追跡する必要なしに、配置に関するフィードバックを提供するために使用してもよい。いくつかの実施形態では、インジケータ及び慣性センサは、協働し、配置/運動データの混合及び選択を可能にする。
一実施形態では、インジケータは、HMDの現在の状態を周辺の他者に提供するように構成され得る。その結果、インジケータは、ある色彩配列、輝度配列を表すように構成され、明滅し、あるオン/オフ設定、またはHMD102の現在の状態を示す他の配列を有するように構成される。
HMD102は、追加的に、1つまたは複数のマイクロフォンを含んでもよい。マイクロフォンのアレイを利用することによって、各マイクロフォンからの音が、音源の位置を判断するために処理され得る。この情報は、騒音源の排除、音源の視覚識別との関連付けなどを含む、各種のやり方において利用され得る。
HMD102は、また、1つまたは複数の画像取り込みデバイスを含んでもよい。画像取り込みデバイスの立体対を利用することによって、環境の3次元(3D)画像及びビデオが、HMD102の視点から取り込まれ得る。そのようなビデオは、HMD102を装着中に、ユーザに「ビデオシースルー」能力を提供するためにユーザに提示され得る。そのようなビデオは、仮想要素で拡張されて拡張現実体験を提供することができ、または他のやり方で仮想要素と結合もしくは融合されてもよい。任意の数の外部に面したカメラが存在してもよく、または単一のカメラがHMD102に取り付けられ、正面、側面及び/もしくは背面を含む任意の方向に方向付けられ得ると理解されるべきである。
図7を参照すると、本発明の実施形態による、ヘッドマウントディスプレイ102の例としてのコンポーネントが示されている。使用可能な構成及び機能に応じて、より多くの、もしくはより少ないコンポーネントが含まれ、またはHMD102から除外され得ると理解されるべきである。ヘッドマウントディスプレイ102は、プログラム命令を実行するためのプロセッサ900を含んでもよい。メモリ902が、記憶のために提供され、揮発性及び不揮発性メモリの両方を含んでもよい。ユーザが視聴し得る視覚的インタフェースを提供するディスプレイ904が含まれる。
ディスプレイ904は、1つの単一ディスプレイによって、またはそれぞれの目に対して個別のディスプレイ画面の形式で、定義され得る。2つのディスプレイ画面が提供されるとき、左目及び右目のビデオコンテンツを個別に提供することが可能である。例えば、ビデオコンテンツをそれぞれの目に個別に提示することが、3次元(3D)コンテンツのより良好な没入型制御をもたらし得る。上述のように、一実施形態では、片目用の出力を用いること、及び、そのときに2Dフォーマットでの表示用にコンテンツをフォーマットすることによって、第2の画面107にはHMD102の第2の画面コンテンツが提供される。一実施形態では、片目が左目のビデオフィードであり得るが、他の実施形態では、それが右目のビデオフィードであり得る。
電池906が、ヘッドマウントディスプレイ102のための電源として提供されてもよい。他の実施形態では、電源は、電力へのコンセント接続を含み得る。他の実施形態では、電力へのコンセント接続及び電池906が提供されてもよい。運動検出モジュール908は、磁力計910、加速度計912、及びジャイロスコープ914などの、多様な種類の運動感知型ハードウェアのいずれかを含んでもよい。
加速度計は、加速度及び重力誘発性の反力を測定するためのデバイスである。単一及び複数の軸(例えば、6軸)モデルは、様々な方向での加速度の大きさ及び方向を検出することができる。加速度計は、傾斜、振動及び衝撃を感知するために使用される。一実施形態では、重力方向を提供するために3つの加速度計912が使用され、重力方向が、2つの角度(ワールド空間のピッチ及びワールド空間のロール)のための絶対基準を与える。
磁力計は、ヘッドマウントディスプレイ周辺の磁界の強度及び方向を測定する。一実施形態では、3つの磁力計910が、ヘッドマウントディスプレイ内で使用され、ワールド空間のヨー角度のための絶対基準を確保する。一実施形態では、磁力計は、地球の磁界に及ぶように設計され、それは±80マイクロテスラである。磁力計は、金属によって影響を受け、実際のヨーで単調なヨー測定をもたらす。磁界は、環境内の金属によって歪むことがあり、それがヨー測定の歪みの原因となる。必要であれば、この歪みは、ジャイロスコープまたはカメラなどの他のセンサからの情報を用いて較正され得る。一実施形態では、加速度計912は、ヘッドマウントディスプレイ102の傾斜及び方位角を取得するために、磁力計910とともに使用される。
ジャイロスコープは、角運動量の原理に基づいて、向きを測定または維持するためのデバイスである。一実施形態では、3つのジャイロスコープ914が、慣性感知に基づいてそれぞれの軸(x、y、及びz)にわたる動きについての情報を提供する。ジャイロスコープは、高速回転の検出を支援する。しかしながら、ジャイロスコープは、絶対基準が存在しなければ経時的にドリフトし得る。このため、ジャイロスコープを周期的に再設定する必要があり、再設定は、物体を視覚的追跡すること、加速度計、磁力計などにに基づく配置/向き判断などの他の利用可能な情報を用いて行われ得る。
カメラ916は、現実環境の画像及び画像ストリームを取り込むために提供される。1つより多くのカメラが、(任意選択で)ヘッドマウントディスプレイ102に含まれてもよく、(ユーザがヘッドマウントディスプレイ102のディスプレイを見ているときにユーザから離れる方向に向けられる)後ろ向きのカメラ、及び(ユーザがヘッドマウントディスプレイ102のディスプレイを見ているときにユーザ方向に向けられる)前向きのカメラを含む。追加的には、現実環境における物体の深度情報を感知するために、深度カメラ918がヘッドマウントディスプレイ102に含まれてもよい。
ヘッドマウントディスプレイ102は、オーディオ出力を提供するためのスピーカ920を含む。また、周囲の環境、ユーザによりなされる会話などからの音を含む、現実環境からの音声を取り込むために、マイクロフォン922が含まれてもよい。ヘッドマウントディスプレイ102は、触覚フィードバックをユーザに提供するための触覚フィードバックモジュール924を含む。一実施形態では、触覚フィードバックモジュール924は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ102の動き及び/または振動を引き起こすことができる。
LED926が、ヘッドマウントディスプレイ102の状態の視覚的指標として提供される。例えば、LEDは、電池レベル、電源オンなどを示してもよい。カードリーダ928は、ヘッドマウントディスプレイ102が、メモリカードからの情報の読み出し及びメモリカードへの情報の書き込みを可能にするために提供される。USBインタフェース930が、周辺デバイスの接続、または他のポータブルデバイス、コンピュータなどの他のデバイスへの接続を可能にするためのインタフェースの一例として含まれる。ヘッドマウントディスプレイ102の各種の実施形態では、多様な種類のインタフェースのうちのいずれかが、ヘッドマウントディスプレイ102の接続性をより高めるために含まれてもよい。
WiFiモジュール932が、無線ネットワーキング技術によってインターネットへの接続を可能にするために含まれてもよい。また、ヘッドマウントディスプレイ102は、他のデバイスへの無線接続を可能にするためにBluetooth(登録商標)モジュール934を含んでもよい。通信リンク936が、また、他のデバイスへの接続のために含まれてもよい。一実施形態では、通信リンク936は、無線通信のために赤外線伝送を利用する。他の実施形態では、通信リンク936は、他のデバイスとの通信のために各種の無線または有線伝送プロトコルのうちのいずれかを利用してもよい。
入力ボタン/センサ938が、ユーザのための入力インタフェースを提供するために含まれる。ボタン、ジェスチャ、タッチパッド、ジョイスティック、トラックボールなどの、多様な種類の入力インタフェースのうちのいずれかが含まれてもよい。超音波通信モジュール940が、超音波技術により他のデバイスとの通信を容易にするために、ヘッドマウントディスプレイ102に含まれてもよい。
バイオセンサ942が、ユーザからの生理学的データの検出を可能にするために含まれる。一実施形態では、バイオセンサ942は、ユーザ/プロファイルなどを識別するために、ユーザの皮膚を通したユーザの生体電気信号検出、音声検出、目の網膜検出のための1つまたは複数のドライ電極を含む。
レンダリング機構944が、制御ユーザの目(複数可)の一部の上に画像の焦点を合わせることを可能にするために含まれる。一実施形態では、レンダリング機構944は、コンテンツの画像を直接ユーザの目の一部に(例えば、網膜上、視神経などに対して)投射する光を放射するための1つまたは複数の発光デバイスを含んでもよく、それによって、ディスプレイ画面を必要とすることなくコンテンツをレンダリングすることが可能となる。
前述のヘッドマウントディスプレイ102のコンポーネントは、ヘッドマウントディスプレイ102に含まれ得る、単なる例示的なコンポーネントとして説明された。本発明の各種の実施形態では、ヘッドマウントディスプレイ102は、各種の前述のコンポーネントのうちのいくつかを含んでもよく、または含まなくてもよい。本明細書で説明される本発明の態様を容易にするために、ヘッドマウントディスプレイ102の実施形態は、ここでは説明されないが当該技術において既知の他のコンポーネントを追加的に含んでもよい。
本発明の各種の実施形態では、前述の手持ち型デバイスが、各種の対話型機能を提供するためにディスプレイ上に表示される対話型アプリケーションとともに利用され得ることは、当業者により理解されるであろう。本明細書で説明される例示的な実施形態は、例としてのみ提供され、限定としてではない。
一実施形態では、本明細書で参照されるクライアント及び/またはクライアントデバイスは、ヘッドマウントディスプレイ(HMD)、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、手持ち型ゲームプレイデバイス、及び/またはその他を含んでもよい。典型的には、クライアントは、符号化ビデオストリームを受信し、ビデオストリームを復号し、結果として得られるビデオをユーザ、例えばゲームのプレーヤに提示するように構成される。符号化ビデオストリームの受信及び/またはビデオストリームの復号の処理は、典型的には、クライアントの受信バッファに個々のビデオフレームを記憶することを含む。ビデオストリームは、クライアントと一体化したディスプレイ上、またはモニタもしくはテレビなどの別個のデバイス上で、ユーザに提示されてもよい。
クライアントは、任意選択で、1人よりも多くのゲームプレーヤをサポートするように構成される。例えば、ゲームコンソールは、2人、3人、4人、またはそれ以上の同時プレーヤ(例えば、P1、P2、...Pn)をサポートするように構成されてもよい。これらのプレーヤのそれぞれが、ビデオストリームを受信もしくは共有してもよく、または単一のビデオストリームが、各プレーヤに対して具体的に生成される、例えば、各プレーヤの視点に基づいて生成されるフレームの領域を含んでもよい。任意の数のクライアントが、ローカルであって(例えば、共同設置されて)もよく、または地理的に分散している。ゲームシステムに含まれるクライアントの数は、1もしくは2から数千、数万またはそれ以上まで幅広く変動してもよい。本明細書で使用される、「ゲームプレーヤ」という用語は、ゲームをプレイする人を指すために使用され、「ゲームプレイデバイス」という用語は、ゲームをプレイするのに使用されるデバイスを指すために使用される。いくつかの実施形態では、ゲームプレイデバイスは、協調してゲーム体験をユーザに配信する複数のコンピューティングデバイスを指してもよい。
例えば、ゲームコンソール及びHMDが、ビデオサーバシステムと協調して、HMDを通じて見るゲームを配信する。一実施形態では、ゲームコンソールは、ビデオサーバシステムからビデオストリームを受信し、ゲームコンソールは、レンダリングのためにHMD及び/またはテレビにビデオストリームを転送し、またはビデオストリームを更新する。
さらに、HMDは、ビデオゲームコンテンツ、映画コンテンツ、ビデオクリップコンテンツ、ウェブコンテンツ、広告コンテンツ、コンテストコンテンツ、ギャンブリングゲームコンテンツ、電話会議/ミーティングコンテンツ、ソーシャルメディアコンテンツ(例えば、投稿、メッセージ、メディアストリーム、友達イベント、及び/またはゲームプレイ)、ビデオの一部及び/またはオーディオコンテンツ、ならびに、ブラウザ及びアプリケーションによりインターネットを介してソースから消費するために作られたコンテンツ、及び任意の種類のストリーミングコンテンツなどの、制作され、または使用される任意の種類のコンテンツを視聴し、及び/または対話するために使用され得る。当然ながら、HMDにおいて視聴可能であるか、または画面もしくはHMDの画面にレンダリング可能である限り、任意の種類のコンテンツがレンダリングされ得るため、前述のコンテンツのリストは、限定ではない。
クライアントは、受信したビデオを修正するように構成されるシステムをさらに含んでもよいが、必須ではない。例えば、クライアントは、あるビデオ画像を他のビデオ画像上に重畳するため、ビデオ画像をトリミングするため、及び/またはその他のために、さらなるレンダリングを実行するように構成されてもよい。例えば、クライアントは、Iフレーム、Pフレーム、及びBフレームなどの多様な種類のビデオフレームを受信し、これらのフレームを処理してユーザに表示するための画像にするように構成されてもよい。いくつかの実施形態では、クライアントの構成要素は、さらなるレンダリング、シェーディング、3−Dへの変換、2Dへの変換、歪み除去、サイズ処理などの動作をビデオストリームに対して実行するように構成される。クライアントの構成要素は、任意選択で、1つより多くのオーディオまたはビデオストリームを受信するように構成される。
クライアントの入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、注視認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、運動及び/または位置感知デバイス、マウス、タッチスクリーン、ニューラルインタフェース、カメラ、今後開発されることとなる入力デバイス、及び/またはその他を含んでもよい。
ビデオソースは、レンダリングロジック、例えば、ハードウェア、ファームウェア、及び/またはストレージなどのコンピュータ可読媒体に記憶されるソフトウェアを含んでもよい。このレンダリングロジックは、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリングロジックの全てまたは一部は、任意選択で、1つまたは複数のグラフィックス処理ユニット(GPU)内に配置される。レンダリングロジックは、典型的には、物体間の3次元空間の関係を決定し、ならびに/またはゲーム状態及び視点に基づいて適切なテクスチャなどを適用するように構成される処理段階を含む。レンダリングロジックは、符号化される生ビデオを作り出すことができる。例えば、生ビデオは、Adobe Flash(登録商標)規格、HTML−5、.wav、H.264、H.263、On2、VP6、VC−1、WMA、Huffyuv、Lagarith、MPG−x.Xvid.FFmpeg、x264、VP6−8、realvideo、mp3などにしたがって符号化されてもよい。符号化処理は、デバイス上の復号器に配信するために任意選択でパッケージ化されるビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートで特徴付けられる。典型的なフレームサイズは、800×600、1280×720(例えば、720p)、1024×768、1080pを含むが、任意の他のフレームサイズが使用されてもよい。フレームレートは、1秒当たりのビデオフレーム数である。ビデオストリームは、様々な種類のビデオフレームを含んでもよい。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。Iフレームは、ディスプレイデバイス上で全てのマクロブロック/画素をリフレッシュするための情報を含み、Pフレームは、そのサブセットをリフレッシュするための情報を含む。Pフレームは、典型的には、Iフレームよりデータサイズが小さい。本明細書で使用される「フレームサイズ」という用語は、フレーム内の画素数を指すことを意味する。「フレームデータサイズ」という用語は、フレームを記憶するのに必要なバイト数を指すために使用される。
いくつかの実施形態では、クライアントは、汎用コンピュータ、専用コンピュータ、ゲーミングコンソール、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス、ポータブルゲーミングデバイス、携帯電話、セットトップボックス、ストリーミングメディアインタフェース/デバイス、スマートテレビもしくはネットワーク化ディスプレイ、または、本明細書で定義されるクライアントの機能性を遂行するように構成可能な任意の他のコンピューティングデバイスであり得る。一実施形態では、クラウドゲーミングサーバは、ユーザによって利用されているクライアントデバイスの種類を検出し、ユーザのクライアントデバイスに適したクラウドゲーミング体験を提供するように構成される。例えば、画像設定、オーディオ設定、及び他の種類の設定が、ユーザのクライアントデバイスに対して最適化されてもよい。
図8は、情報サービスプロバイダアーキテクチャの一実施形態を示す。情報サービスプロバイダ(ISP)1070は、地理的に分散され、ネットワーク1086を経て接続されるユーザ1082に複数の情報サービスを配信する。ISPは、株価更新などただ1種類のサービス、または放送メディア、ニュース、スポーツ、ゲーミングなどの多様なサービスを配信することができる。追加的に、各ISPによって供給されるサービスは動的であり、即ち、任意の時点でサービスが追加または除去され得る。したがって、特定の種類のサービスを特定の個人に提供するISPは、時間経過とともに変化し得る。例えば、ユーザが自分の居住地にいる間、ユーザは、ユーザの近辺にあるISPによってサービス提供されてもよく、ユーザが別の都市に旅行している間は、ユーザは、別のISPによってサービス提供されてもよい。居住地のISPは、必要な情報及びデータを新たなISPに移行することとなり、その結果、ユーザ情報が、ユーザに「続いて」新しい都市に行き、データがユーザにより近く、よりアクセスし易くなる。別の実施形態では、ユーザについての情報を管理するマスタISPと、マスタISPからの制御の下でユーザと直接インタフェース接続するサーバISPとの間に、マスタ/サーバ関係が確立されてもよい。別の実施形態では、クライアントが世界中を動き回るとき、データはあるISPから別のISPに移行され、ユーザにサービスを提供するのにより良好な場所のそのISPを、これらのサービスを配信するISPにする。
ISP1070は、アプリケーションサービスプロバイダ(ASP)1072を含み、ASP1072は、ネットワークを介して顧客にコンピュータベースのサービスを提供する。ASPモデルを使用して供給されるソフトウェアは、オンデマンドソフトウェア、またはサービスとしてのソフトウェア(SaaS)とも呼ばれることがある。(顧客関係管理などの)特定のアプリケーションプログラムへのアクセスを提供する単純な形態は、HTTPなどの標準プロトコルを使用することによるものである。アプリケーションソフトウェアは、供給業者のシステム上に存在し、HTMLを用いてウェブブラウザを通じてユーザによって、供給業者が提供する専用クライアントソフトウェアによって、またはシンクライアントなどの他のリモートインタフェースによって、アクセスされる。
広い地理的地域にわたって配信されるサービスは、しばしばクラウドコンピューティングを使用する。クラウドコンピューティングは、動的にスケーラブルであり、しばしば仮想化されたリソースがインターネットを介してサービスとして提供されるスタイルのコンピューティングである。ユーザは、それらをサポートする「クラウド」において、技術インフラに熟練している必要はない。クラウドコンピューティングは、サービスとしてのインフラ(IaaS)、サービスとしてのプラットフォーム(PaaS)、及びサービスとしてのソフトウェア(SaaS)などの様々なサービスに分割され得る。クラウドコンピューティングサービスは、しばしばウェブブラウザからアクセスされる共通ビジネスアプリケーションをオンラインで提供する一方、ソフトウェア及びデータは、サーバ上に記憶されている。クラウドという用語は、インターネットがコンピュータネットワーク図でどのように描写されているかに基づく、(例えば、サーバ、ストレージ、及びロジックを使用する)インターネットについてのメタファとして使用され、それが隠している複雑なインフラストラクチャについての抽象的概念である。
さらに、ISP1070は、単一プレーヤ及びマルチプレーヤビデオゲームをプレイするためにゲームクライアントによって使用される、ゲーム処理サーバ(GPS)1074を含む。インターネットを介してプレイされるビデオゲームのほとんどは、ゲームサーバへの接続によって動作する。典型的には、ゲームは、プレーヤからデータを収集し、それを他のプレーヤに分配する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするために別個のサーバを必要とする。別の実施形態では、GPSは、プレーヤとそれぞれのゲームプレイデバイスとの間に通信を確立し、集中型GPSに依存することなく情報を交換する。
専用GPSは、クライアントから独立して動作するサーバである。そのようなサーバは、通常、データセンタに位置する専用ハードウェア上で動作し、より多くの帯域幅及び専用の処理能力を提供する。専用サーバは、ほとんどのPCベースのマルチプレーヤゲームにとって、ゲームサーバをホストする好ましい方法である。非常に多人数の同時参加型オンラインゲームは、ゲームタイトルを所有するソフトウェア会社によって通常ホストされる専用サーバ上で動作し、それらがコンテンツを制御及び更新することを可能にする。
放送処理サーバ(BPS)1076は、オーディオまたはビデオ信号を視聴者に配信する。非常に狭い範囲の視聴者への放送は、ナローキャスティングと呼ばれることがある。放送分配の最終行程は、どのようにして信号を聴取者または視聴者に到達させるかであり、それは、ラジオ局もしくはテレビ局と同様、アンテナに無線で到来してもよく、またはケーブルテレビまたはケーブルラジオ(もしくは「無線ケーブル」)を通じて、局を経由してもしくはネットワークから直接到来してもよい。インターネットもまた、ラジオまたはテレビを受信者にもたらすことができ、特にマルチキャスティングによって、信号及び帯域幅が共有されることが可能となる。歴史的に、放送は、全国放送または地方放送など、地理的地域によって範囲が定められていた。しかしながら、高速インターネットの普及とともに、コンテンツは、世界のほぼ全ての国に到達し得るため、放送は地理によって線引きされない。
ストレージサービスプロバイダ(SSP)1078は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは、また、定期的なバックアップ及びアーカイブも供給する。サービスとしてのストレージを供給することによって、ユーザは必要に応じてより多くのストレージを注文することができる。別の主要な利点は、SSPがバックアップサービスを含み、ユーザは自分のコンピュータのハードドライブが故障した場合にデータを全て失うことがないということである。さらに、複数のSSPが、ユーザデータの全体または一部の複製を有することができ、ユーザが位置する場所、またはデータアクセスに使用されるデバイスとは関係なく、ユーザが効率的にデータにアクセスできるようにする。例えば、ユーザは、家のコンピュータにおいて個人ファイルにアクセスすることができ、同様に、ユーザが移動中に携帯電話でアクセスすることができる。
通信プロバイダ1080は、ユーザへの接続性を提供する。1つの種類の通信プロバイダは、インターネットへのアクセスを供給するインターネットサービスプロバイダ(ISP)である。ISPは、ダイアルアップ、DSL、ケーブルモデム、ファイバ、無線または専用高速相互接続などの、インターネットプロトコルデータグラムを配信するのに適したデータ伝送技術を用いて、顧客を接続する。通信プロバイダは、また、電子メール、インスタントメッセージ、及びSMSテキストなどのメッセージサービスも提供することができる。別の種類の通信プロバイダは、インターネットへの直接バックボーンアクセスを提供することにより、帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)である。ネットワークサービスプロバイダは、高速インターネットアクセスを供給する、電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、ケーブルテレビ事業者などからなり得る。
データ交換1088は、ISP1070内でいくつかのモジュールを相互接続し、ネットワーク1086を経てこれらのモジュールをユーザ1082に接続する。データ交換1088は、ISP1070の全てのモジュールが非常に近接している小さな地域をカバーし得るか、または様々なモジュールが地理的に分散されるときに大きな地理的地域をカバーし得る。例えば、データ交換1088は、データセンタのキャビネット内の高速(またはより高速な)ギガビットイーサネット(登録商標)、または大陸間仮想エリアネットワーク(VLAN)を含み得る。
ユーザ1082は、クライアントデバイス1084でリモートサーバにアクセスし、クライアントデバイス1084は、少なくともCPU、ディスプレイ、及びI/Oを含む。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲーミングシステム、PDAなどであり得る。一実施形態では、ISP1070は、クライアントによって使用されるデバイスの種類を認識し、採用される通信方法を調整する。その他の場合、クライアントデバイスは、htmlなどの標準的な通信方法を使用して、ISP1070にアクセスする。
本発明の実施形態は、手持ち式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、各種のコンピュータシステム構成を用いて実施されてもよい。本発明は、また、有線ベースまたは無線ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実行される、分散型コンピューティング環境でも実施され得る。
上記実施形態を考慮して、本発明は、コンピュータシステムに記憶されたデータを伴う各種のコンピュータ実装された動作を採用し得ると理解されるべきである。これらの動作は、物理量の物理的操作を必要とするものである。本発明の一部を形成する、本明細書に記載された動作のいずれもが、有用な機械動作である。本発明は、また、これらの動作を実行するためのデバイスまたは装置にも関する。装置は、必要な目的のために特別に構築されてもよく、または、装置は、コンピュータに記憶されるコンピュータプログラムによって選択的に起動され、もしくは構成される汎用コンピュータであってもよい。特に、各種の汎用機械が、本明細書の教示に従って書かれたコンピュータプログラムとともに使用されてもよく、または、必要な動作を実行するためにより専用化した装置を構築することが、より便利である場合もある。
本発明は、また、コンピュータ可読媒体上のコンピュータ可読コードとして具現化されてもよく、それは、クラウドサーバ、リモートサーバ、仮想サーバなどのソースからダウンロードされ、コンピューティングデバイスのプロセッサによって実行され得る、実行可能な命令として具現化されてもよい。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶デバイスであり、データは、コンピュータシステムによってその後読み出され得る。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、ならびに他の光学式及び非光学式データ記憶デバイスを含む。コンピュータ可読媒体は、コンピュータ可読コードが分散型で記憶及び実行されるように、ネットワーク連結コンピュータシステム上に分散されるコンピュータ可読有形媒体を含み得る。
方法の動作について、特定の順序で説明してきたが、重畳動作の処理が所望のやり方で行われる限り、動作の間に他のハウスキーピング動作が実行されてもよく、またはそれらがわずかに異なる時間で発生するように動作が調整されてもよく、または処理に関連する多様な間隔で処理動作が発生可能なシステム内に分散されてもよいと、理解されるべきである。
前述の発明は、理解を明確にするため、多少詳細に説明されているが、添付の特許請求の範囲内において、ある程度の変更及び修正が実施され得ることは明らかである。したがって、本実施形態は例示的なものであって限定的なものでないと考えられるべきであり、本発明は、本明細書で与えられる詳細に限定されるべきではなく、説明した実施形態の範囲及びその均等物の範囲内において修正されてもよい。
図9は、本発明の一実施形態による、アバター制御システムを実施するためのコントローラに対応し得る、Sony(登録商標)Playstation3(登録商標)エンタテイメントデバイスなどのゲーミングコンソールのシステムアーキテクチャ全体を概略的に示す。システムユニット1400は、システムユニット1400に接続可能な各種の周辺デバイスと共に提供される。システムユニット1400は、図1Aのコンピューティングデバイス106に類似している。システムユニット1400は、Cellプロセッサ1428、Rambus(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット1426、専用ビデオランダムアクセスメモリ(VRAM)ユニット1432を有するReality Synthesizerグラフィックスユニット1430、及びI/Oブリッジ1434を含む。システムユニット1400は、また、I/Oブリッジ1434を通じてアクセス可能な、ディスク1440aからの読み取り用のBluRay(登録商標)ディスクBD−ROM(登録商標)光ディスクリーダ1440及び着脱可能なスロットインハードディスクドライブ(HDD)1436も含む。任意選択で、システムユニット1400は、また、コンパクトフラッシュ(登録商標)メモリカードの読み取り用メモリカードリーダ1438、Memory Stick(登録商標)メモリカードなども含み、それは同様に、I/Oブリッジ1434を通じてアクセス可能である。
I/Oブリッジ1434は、また、6つのユニバーサルシリアルバス(USB)2.0ポート1424、ギガビットイーサネット(登録商標)ポート1422、IEEE802.11b/g無線ネットワーク(Wi−Fi)ポート1420、及び最大7つのBluetooth(登録商標)接続をサポート可能なBluetooth(登録商標)無線リンクポート1418にも接続する。
動作時に、I/Oブリッジ1434は、1つまたは複数のゲームコントローラ1402からのデータを含む、全ての無線、USB、及びイーサネット(登録商標)データをハンドリングする。例えば、ユーザがゲームをプレイしているとき、I/Oブリッジ1434は、Bluetooth(登録商標)リンクを経てゲームコントローラ1402からデータを受信し、それに応じてゲームの現在の状態を更新するCellプロセッサ1428にデータを送る。
無線、USB、及びイーサネット(登録商標)ポートは、また、ゲームコントローラ1402に加えて、リモートコントロール1404、キーボード1406、マウス1408、Sony Playstation Portable(登録商標)エンタテイメントデバイスなどのポータブルエンタテイメントデバイス1410、EyeToy(登録商標)ビデオカメラなどのビデオカメラ1412、及びマイクロフォンヘッドセット1414などの、他の周辺デバイスのための接続性を提供する。したがって、そのような周辺デバイスは、原則として、システムユニット1400に無線接続されてもよい。例えば、ポータブルエンタテイメントデバイス1410は、Wi−Fiアドホック接続によって通信してもよく、一方、マイクロフォンヘッドセット1414は、Bluetooth(登録商標)リンクによって通信してもよい。
これらのインタフェースの提供は、Playstation3デバイスが、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ボイスオーバIP電話、携帯電話、プリンタ、及びスキャナなどの、他の周辺デバイスにも潜在的に対応していることを意味する。
さらに、レガシーメモリカードリーダ1416が、USBポート1424を経てシステムユニットに接続されてもよく、Playstation(登録商標)またはPlaystation2(登録商標)デバイスによって用いられる種類のメモリカード1448の読み取りを可能にする。
本実施形態では、ゲームコントローラ1402は、Bluetooth(登録商標)リンクによってシステムユニット1400と無線通信するように動作可能である。一方、ゲームコントローラ1402は、その代わりにUSBポートに接続されて、それによって、さらにゲームコントローラ1402の電池を充電することによって電力供給し得る。1つまたは複数のアナログジョイスティック及び従来型の制御ボタンに加えて、ゲームコントローラは、各軸における並進及び回転に対応して、6自由度の運動を感知する。したがって、ゲームコントローラのユーザによるジェスチャ及び動きが、従来型のボタンまたはジョイスティックコマンドに加えて、またはその代わりに、ゲームへの入力として変換されてもよい。任意選択で、Playstation(商標)ポータブルデバイスなどの他の無線使用可能な周辺デバイスが、コントローラとして使用されてもよい。Playstation(商標)ポータブルデバイスの場合、追加のゲームまたは制御情報(例えば、制御命令またはライフの数)が、デバイスの画面上に提供されてもよい。ダンスマット(図示せず)、ライトガン(図示せず)、ハンドル及びペダル(図示せず)、または高速応答クイズゲーム用の単一のもしくはいくつかの大きなボタン(これも図示せず)などの特注コントローラといった、他の代替的な、または補足的な制御デバイスも使用されてもよい。
リモートコントロール1404は、また、Bluetooth(登録商標)リンクによってシステムユニット1400と無線通信するように動作可能である。リモートコントロール1404は、BluRay(商標)ディスクBD−ROMリーダ1440の動作及びディスクコンテンツのナビゲーションに適した制御を含む。
BluRay(商標)ディスクBD−ROMリーダ1440は、従来型の記録済み及び記録可能なCDに加えて、Playstation及びPlayStation2デバイスに対応しているCD−ROM(いわゆるスーパオーディオCD)を読み取るように動作可能である。リーダ1440は、また、従来型の記録済み及び記録可能なDVDに加えて、Playstation2及びPlayStation3デバイスに対応しているDVD−ROMを読み取るように動作可能である。リーダ1440は、従来型の記録済み及び記録可能なBlu−Rayディスクと同様に、Playstation3デバイスに対応しているBD−ROMを読み取るようにさらに動作可能である。
システムユニット1400は、モニタまたはディスプレイ1444を有するテレビセット、及び1つまたは複数のスピーカ1446などの、ディスプレイ及び音声出力デバイス1442へのオーディオ及びビデオコネクタを通じて、Reality Synthesizerグラフィックスユニット1430を経てPlaystation3によって生成されたか、または復号されたかいずれかの、オーディオ及びビデオを供給するように動作可能である。オーディオコネクタ1450は、従来型のアナログ及びデジタル出力を含んでもよく、一方、ビデオコネクタ1452は、コンポーネントビデオ、Sビデオ、コンポジットビデオ、及び1つまたは複数の高精細度マルチメディアインターフェース(HDMI(登録商標))出力を多様に含んでもよい。したがって、ビデオ出力は、PALもしくはNTSCなどのフォーマット、または720p、1080iもしくは1080pの高精細度であってもよい。
オーディオ処理(生成、復号など)は、Cellプロセッサ1428によって行われる。Playstation3デバイスのオペレーティングシステムは、Dolby(登録商標)5.1サラウンドサウンド、Dolby(登録商標)シアターサラウンド(DTS)、及びBlu−Ray(登録商標)ディスクからの7.1サラウンドサウンドの復号をサポートする。
本実施形態では、ビデオカメラ1412は、単一の電荷結合素子(CCD)、LEDインジケータ、ならびにハードウェアベースのリアルタイムデータ圧縮及び符号化装置を含み、それによって、圧縮されたビデオデータが、システムユニット1400による復号のための内部画像ベースのMPEG(motion picture expert group)規格などの適切なフォーマットで伝送され得る。カメラLEDインジケータは、例えば、不利な照明条件を示すために、システムユニット1400からの適切な制御データに応答して発光するように配列される。ビデオカメラ1412の実施形態は、USB、Bluetooth(登録商標)、またはWi−Fi通信ポートを経てシステムユニット1400に多様に接続してもよい。ビデオカメラの実施形態は、1つまたは複数の付属するマイクロフォンを含んでもよく、オーディオデータを伝送することも可能であってもよい。ビデオカメラの実施形態では、CCDは、高精細度ビデオの取り込みに適した分解能を有してもよい。使用の際、ビデオカメラによって取り込まれた画像は、例えば、ゲーム内に組み込まれてもよく、またはゲーム制御入力として解釈されてもよい。
概して、システムユニット1400の通信ポートのうちの1つを経て、ビデオカメラまたはリモートコントロールなどの周辺デバイスで生じるデータ通信の成功のため、デバイスドライバなどのソフトウェアの適切な部分が提供されるべきである。デバイスドライバ技術は、周知であり、デバイスドライバまたは類似のソフトウェアインタフェースが、説明された本実施形態で必要とされ得ることを当業者が意識しているだろうということを除いて、本明細書で詳細には説明されない。
ここで図15を参照すると、Cellプロセッサ1428は、4つの基本コンポーネント、すなわちメモリコントローラ1560及びデュアルバスインタフェースコントローラ1570A、Bを含む外部入力及び出力構造、パワープロセッシングエレメント1550と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント(SPE)1510A〜Hと呼ばれる8つのコプロセッサ、ならびにエレメントインタコネクトバス1580と呼ばれる、上記コンポーネントを接続する環状データバスを含むアーキテクチャを有する。Playstation2デバイスのエモーションエンジンの6.2ギガフロップスと比較して、Cellプロセッサの全体の浮動小数点性能は、218ギガフロップスである。
パワープロセッシングエレメント(PPE)1550は、3.2GHzの内部クロックで動作している、双方向同時マルチスレッディングパワー1470準拠のPowerPCコア(PPU)1555に基づく。それは、512kBのレベル2(L2)キャッシュ及び32kBのレベル1(L1)キャッシュを含む。PPE1550は、クロックサイクル当たり8つの単一配置動作が可能であり、これは、3.2GHzで25.6ギガフロップスとなる。PPE1550の主な役割は、演算作業負荷の大部分を扱うシナジスティックプロセッシングエレメント1510A〜Hのためのコントローラとして機能することである。動作時に、PPE1550は、ジョブキューを保持し、シナジスティックプロセッシングエレメント1510A〜Hのジョブをスケジュールし、それらの進捗をモニタリングする。その結果、各シナジスティックプロセッシングエレメント1510A〜Hは、カーネルを動作させる。カーネルの役割は、ジョブをフェッチしてそれを実行し、PPE1550と同期させることである。
各シナジスティックプロセッシングエレメント(SPE)1510A〜Hは、シナジスティックプロセッシングユニット(SPU)1520A〜H及びメモリフローコントローラ(MFC)1540A〜Hをそれぞれ含み、それぞれのMFC1540A〜Hは、ダイナミックメモリアクセスコントローラ(DMAC)1542A〜H、メモリ管理ユニット(MMU)1544A〜H、及びバスインタフェース(図示せず)をそれぞれ含む。各SPU1520A〜Hは、3.2GHzのクロックで作動するRISCプロセッサであり、原則として4GBまで拡張可能な256kBのローカルRAM1530A〜Hを含む。各SPEは、理論上25.6ギガフロップスの単精度性能を示す。SPUは、1クロックサイクルに、4つの単精度浮動小数点部、4つの32ビット数、8つの16ビット整数または16の8ビット整数を処理することができる。SPUは、また、同じクロックサイクルで、メモリ動作も実行することができる。SPU1520A〜Hは、システムメモリXDRAM1426に直接アクセスしない。SPU1520A〜Hによって形成された64ビットアドレスは、MFC1540A〜Hに渡され、MFC1540A〜Hは、エレメント相互接続バス1580及びメモリコントローラ1560を経由してメモリにアクセスするようにそのDMAコントローラ1542A〜Hに命令する。
エレメント相互接続バス(EIB)1580は、Cellプロセッサ1428内部の論理的に環状の通信バスであり、それは、上記プロセッサエレメント、即ち、PPE1550、メモリコントローラ1560、デュアルバスインタフェース1570A、B、及び8つのSPE1510A〜Hという、合計12のパーティシパントを接続する。パーティシパントは、1クロックサイクル当たり8バイトの速度で、バスに同時に読み出し及び書き込みを行うことができる。前述のように、各SPE1510A〜Hは、さらに長い読み出しまたは書み込みシーケンスをスケジュールするためのDMAC1542A〜Hを含む。EIBは、時計回り方向及び反時計回り方向にそれぞれ2つずつの、4つのチャネルを含む。したがって、12のパーティシパントについて、任意の2つのパーティシパント間のステップ的に最長のデータフローは、適切な方向に6ステップである。パーティシパント間のアービトレーションを通じてフル活用する場合、12スロットに対する理論上のピーク瞬間EIB帯域幅は、したがって1クロック当たり96Bである。これは、3.2GHzのクロックレートで307.2GB/s(ギガバイト/秒)の理論上のピーク帯域幅に相当する。
メモリコントローラ1560は、Rambus Incorporatedによって開発されたXDRAMインタフェース1562を含む。メモリコントローラは、25.6GB/sの理論上のピーク帯域幅を有するRambusXDRAM1426とインタフェースする。
デュアルバスインタフェース1570A、Bは、RambusFlexIO(登録商標)システムインタフェース1572A、Bを含む。インタフェースは、それぞれが8ビット幅の12のチャネルに編成されており、その5つの経路がインバウンドであり、7つの経路がアウトバウンドである。これが、コントローラ170Aを経てCellプロセッサとI/Oブリッジ700との間、及びコントローラ170Bを経てCellプロセッサとRealitySimulatorグラフィックスユニット200との間に、62.4GB/s(アウトバウンド36.4GB/s、インバウンド26GB/s)の理論上のピーク帯域幅をもたらす。
Cellプロセッサ1428によってRealitySimulatorグラフィックスユニット1430に送信されるデータは、典型的には、表示リストを含み、これは、頂点を描画する、ポリゴンにテクスチャを適用する、照明条件を指定する、などのためのコマンドのシーケンスである。
実施形態は、現実世界のユーザをより良好に識別し、アバターまたはシーンのアクティビティを導くための深度データを取り込むことを含んでもよい。物体は、人物が持っている何かであってもよく、人物の手であってもよい。この説明では、「深度カメラ」及び「3次元カメラ」という用語は、距離または深度情報及び2次元ピクセル情報を取得することができるな任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して、距離情報を取得することができる。別の例示的な深度カメラは、立体カメラ対であってもよく、これは2つの標準カメラを用いて距離情報を三角法で求める。同様に、「深度感知デバイス」という用語は、距離情報及び2次元ピクセル情報を取得できる任意の種類のデバイスを指す。
3次元イメージの近年の進歩は、リアルタイムの対話型コンピュータアニメーションの可能性を増大させることを可能にした。特に、新たな「深度カメラ」は、通常の2次元ビデオイメージに加えて、3次元の取り込み及びマッピング能力を提供する。新たな深度データを用いて、本発明の実施形態は、コンピュータ生成された物体を、他の物体の後ろを含むビデオシーン内の多様な位置にリアルタイムで配置することを可能にする。
さらに、本発明の実施形態は、リアルタイムの対話型ゲーム体験をユーザに提供する。例えば、ユーザは、各種のコンピュータ生成物体とリアルタイムで対話することができる。さらに、ユーザのゲーム体験を向上させるために、ビデオシーンは、リアルタイムで変化され得る。例えば、コンピュータ生成されたコスチュームが、ユーザの服の上に挿入されてもよく、コンピュータ生成された光源が、ビデオシーン内に仮想の影を投影するために利用されてもよい。それゆえ、本発明の実施形態と深度カメラを用いて、ユーザは、自分のリビングルーム内で対話型ゲーム環境を体験することができる。通常のカメラと同様、深度カメラは、ビデオ画像を含む複数のピクセルについての2次元データをキャプチャする。これらの値は、ピクセルの色値であり、概して、各ピクセルについての赤、緑、及び青(RGB)の値である。このようにして、カメラによって取り込まれた物体が、モニタ上に2次元物体として現れる。
本発明の実施形態は、分散型の画像処理構成も企図するする。例えば、本発明は、CPUなどの1つの場所またはCPU及び他の1つの素子などの2つの場所で行われる、取り込み画像及び表示画像の処理に限定されない。例えば、入力画像処理は、処理を実行することができる関連CPU、プロセッサ、またはデバイスにおいて容易に行うことができ、本質的に、画像処理の全ては、相互接続システム全体に分散され得る。したがって、本発明は、いかなる特定の画像処理ハードウェア回路及び/またはソフトウェアにも限定されない。本明細書で説明される実施形態は、一般的なハードウェア回路及び/またはソフトウェアのいかなる特定の組み合わせにも限定されず、処理コンポーネントにより実行される命令についてのいかなる特定のソースにも限定されない。
上記実施形態を考慮して、本発明は、コンピュータシステムに記憶されたデータを伴う各種のコンピュータ実装された動作を採用し得ると理解されるべきである。これらの動作は、物理量の物理的操作を必要とする動作を含む。通常、これらの物理量は、記憶され、移行され、結合され、比較され、及びその他の操作をされることができる電気信号または磁気信号の形態をとるが、必ずしもそうではない。さらに、実行される操作は、生成、識別、判断または比較などの用語で呼ばれることが多い。
上述の発明は、手持ち式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成を用いて実施されてもよい。本発明は、また、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施されてもよい。
本発明は、また、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化され得る。コンピュータ可読媒体は、コンピュータシステムによって以後読み取り可能なデータを記憶できる任意のデータ記憶デバイスであり、電磁搬送波を含む。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、ならびに他の光学式及び非光学式データ記憶デバイスを含む。コンピュータ可読媒体は、また、コンピュータ可読コードが分散型で記憶及び実行されるように、ネットワーク連結コンピュータシステムにわたって分散され得る。
前述の発明は、理解を明確にするため、多少詳細に説明されているが、添付の特許請求の範囲内において、ある程度の変更及び修正が実施されてもよいことは明らかである。したがって、本実施形態は例示的なものであって限定的なものでないと考えられるべきであり、本発明は、本明細書で与えられる詳細に限定されるべきではなく、添付の特許請求の範囲及びその均等物の範囲内において修正されてもよい。