(57)【要約】  場合によっては、ビデオゲームなどの特定のコンテンツアイテムの情景の１つまたは複数の提示された表示が、コンテンツプロバイダによって形成され、コンテンツプロバイダから複数の異なったクライアントに送信される。加えて、場合によっては、コンテンツプロバイダは、１つまたは複数の表示を生成するために複数のグラフィックス処理ユニットを使用することができる。さらに、場合によっては、情景の複数の異なった表示に関連するデータは組み合わされて提示ターゲットなどの単一のデータコレクションになり得る。
2017504986.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサによって実行されるインストラクションを保存しているメモリと、
１つまたは複数の提示ターゲット生成コンポーネントと、
を具える１つまたは複数の計算ノードであって、
前記１つまたは複数の提示ターゲット生成コンポーネントは、
コンテンツアイテムの情景の少なくとも第１表示および第２表示を生成することを決定するように構成され、前記第１表示は、第１クライアントに関連付けられた第１展望からの前記情景を呈示し、前記第２表示は、第２クライアントに関連付けられた第２展望からの前記情景を呈示し、前記情景は、少なくとも第１物体および第２物体を具え、
前記１つまたは複数の提示ターゲット生成コンポーネントは、前記第１表示に関連付けられた第１セクションおよび前記第２表示に関連付けられた第２セクションを具える提示ターゲットを生成するように構成にされ、
前記提示ターゲットの生成は、少なくとも、
前記提示ターゲットの前記第１セクションで、前記第１展望からの前記第１物体の第１表現を形成することと、
前記提示ターゲットの前記第２セクションで、前記第２展望からの前記第１物体の第２表現を形成することと、
前記第１物体の前記第１表現および前記第２表現の形成に引き続いて、
前記提示ターゲットの前記第１セクションで、前記第１展望からの前記第２物体の第１表現を形成することと、
前記提示ターゲットの前記第２セクションで、前記第２展望からの前記第２物体の第２表現を形成することと、
により行われ、
前記１つまたは複数の計算ノードは、
前記提示ターゲットの前記第１セクションの少なくとも一部からデータを符号化し、符号化された第１表示を形成するように構成された第１符号化コンポーネントと、
前記提示ターゲットの前記第２セクションの少なくとも一部からデータを符号化し、符号化された第２表示を形成するように構成された第２符号化コンポーネントと、
前記符号化された第１表示を前記第１クライアントに送信するように構成された第１送信コンポーネントと、
前記符号化された第２表示を前記第２クライアントに送信するように構成された第２送信コンポーネントと、
を具える、
１つまたは複数の計算ノード。
【請求項２】
前記第１セクションに保存されるデータ量は、前記第２セクションに保存されるデータ量と異なり、
前記第１セクションに保存されるデータ量は、少なくとも部分的に前記第１クライアントに関連付けられた解像度に基づき、
前記第２セクションに保存されるデータ量は、少なくとも部分的に前記第２クライアントに関連付けられた解像度に基づいている、
請求項１に記載の１つまたは複数の計算ノード。
【請求項３】
前記第１物体の前記第１表現を形成することは、前記第１物体に関係付けられた配置についての操作を実行することと、１つまたは複数のテクスチャを前記第１物体の前記第１表現に適用することと、１つまたは複数のシェーダを前記第１物体の前記第１表現に適用することと、を含む、
請求項１に記載の１つまたは複数の計算ノード。
【請求項４】
前記第１物体の前記第１表現を形成することは、シェーダを読み込むことと、前記シェーダを前記第１物体の前記第１表現に適用することと、を含み、
前記第１物体の前記第２表現を形成することは、前記シェーダを再読み込みせずに、前記シェーダを前記第２物体の前記第２表現に適用することを含む、
請求項１に記載の１つまたは複数の計算ノード。
【請求項５】
１つまたは複数の計算ノードによって少なくともコンテンツアイテムの第１表示および第２表示を生成するコンピュータ組込方法であって、
前記方法は、前記コンテンツアイテムの前記情景の少なくとも前記第１表示および前記第２表示を生成することを決定するステップを含み、前記第１表示は、第１クライアントに関連付けられた第１展望からの前記情景を呈示し、前記第２表示は、第２クライアントに関連付けられた第２展望からの前記情景を呈示し、前記情景は、１つまたは複数の物体を具え、
前記方法は、前記第１表示に関連付けられた第１セクションおよび前記第２表示に関連付けられた第２セクションを具えるデータコレクションを生成するステップを含み、前記第１セクションは、前記第１展望から形成された前記１つまたは複数の物体の少なくとも１つの表現を具え、前記第２セクションは、前記第２展望から形成された前記１つまたは複数の物体の少なくとも１つの表現を具え、
前記方法は、
前記データコレクションの前記第１セクションの少なくとも一部からデータを抽出し、前記第１表示を形成するステップと、
前記データコレクションの前記第２セクションの少なくとも一部からデータを抽出し、前記第２表示を形成するステップと、
前記第１表示を前記第１クライアントに送信するステップと、
前記第２表示を前記第２クライアントに送信するステップと、
を含む、
コンピュータ組込方法。
【請求項６】
前記第１展望は、前記第１クライアントによって制御される前記コンテンツアイテム内のエンティティに関連付けられ、
前記第２展望は、前記第２クライアントによって制御される前記コンテンツアイテム内のエンティティに関連付けられる、
請求項５に記載のコンピュータ組込方法。
【請求項７】
前記第１セクションに保存されるデータ量は、前記第２セクションに保存されるデータ量と異なり、
前記第１セクションに保存される前記データ量は、少なくとも部分的に前記第１クライアントに関連付けられた解像度に基づき、
前記第２セクションに保存される前記データ量は、少なくとも部分的に前記第２クライアントに関連付けられた解像度に基づいている、
請求項５に記載のコンピュータ組込方法。
【請求項８】
前記情景に含まれる前記１つまたは複数の物体は、少なくとも第１物体および第２物体を具え、
前記データコレクションを生成するステップは、
前記データコレクションの前記第１セクションで、前記第１展望からの前記第１物体の第１表現を形成するステップと、
前記データコレクションの前記第２セクションで、前記第２展望からの前記第１物体の第２表現を形成するステップと、
前記第１物体の前記第１表現および前記第２表現を形成するステップに引き続いて、
前記データコレクションの前記第１セクションで、前記第１展望からの前記第２物体の第１表現を形成するステップと、
前記データコレクションの前記第２セクションで、前記第２展望からの前記第２物体の第２表現を形成するするステップと、
を含む、
請求項５に記載のコンピュータ組込方法。
【請求項９】
前記第１物体の前記第１表現を形成するステップは、前記第１物体に関連付けられた配置について操作を実行するステップと、１つまたは複数のテクスチャを前記第１物体の前記第１表現に適用するステップと、１つまたは複数のシェーダを前記第１物体の前記第１表現に適用するステップと、を含む、
請求項８に記載のコンピュータ組込方法。
【請求項１０】
前記第１物体の前記第１表現を形成するステップは、シェーダを読み込むステップと、前記シェーダを前記第１物体の前記第１表現に適用するステップと、を含み、
前記第１物体の前記第２表現を形成するステップは、前記シェーダを再読み込みすることなく、前記シェーダを前記第２物体の前記第２表現に適用するステップを含む、
請求項８に記載のコンピュータ組込方法。
【請求項１１】
前記第１物体の前記第１表現を形成するステップは、テクスチャを読み込むステップと、前記テクスチャを前記第１物体の前記第１表現に適用するステップと、を含み、
前記第１物体の前記第２表現を形成するステップは、前記テクスチャを再読み込みすることなく、前記テクスチャを前記第２物体の前記第２表現に適用するステップを含む、
請求項８に記載のコンピュータ組込方法。
【請求項１２】
生成される前記情景の複数の表示を決定するステップと、
生成される前記情景の表示数に基づいて決定される複数のセクションを含むために、前記データコレクションを編成するステップと、
を含む、
請求項５に記載のコンピュータ組込方法。
【請求項１３】
前記データコレクションは、第３クライアントに関係づけられた第３表現からの前記情景の第３表示に関連付けられた第３セクションをさらに含む、
請求項５に記載のコンピュータ組込方法。
【請求項１４】
前記１つまたは複数の計算ノードは、前記第１表示を前記第１クライアントに送信する第１ストリーミングサーバと、前記第２表示を前記第２クライアントに送信する第２ストリーミングサーバと、を具える、
請求項５に記載のコンピュータ組込方法。
【請求項１５】
１つまたは複数のプロセッサと、
インストラクションを保存している１つまたは複数メモリと、
を具えるシステムであって、
前記インストラクションは、１つまたは複数のプロセッサ上で実行すると、前記１つまたは複数のプロセッサに複数の動作を実行させ、
前記複数の動作は、コンテンツアイテムの情景の少なくとも第１表示および第２表示を生成することを決定する動作を含み、前記第１表示は、第１クライアントに関連付けられた第１展望からの前記情景を呈示し、前記第２表示は、第２クライアントに関連付けられた第２展望からの前記情景を呈示し、前記情景は、１つまたは複数の物体を具え、
前記複数の動作は、前記第１表示に関連付けられた第１セクションおよび前記第２表示に関連付けられた第２セクションを具えるデータコレクションを生成する動作を含み、前記第１セクションは、前記第１展望から形成された前記１つまたは複数の物体の少なくとも１つの表現を具え、前記第２セクションは、前記第２展望から形成された前記１つまたは複数の物体の少なくとも１つの表現を具え、
前記複数の動作は、
前記データコレクションの前記第１セクションの少なくとも一部からのデータを符号化し、符号化された第１表示を形成する動作と、
前記データコレクションの前記第２セクションの少なくとも一部からのデータを符号化し、符号化された第２表示を形成する動作と、
前記符号化された第１表示を前記第１クライアントに送信する動作を実行させる動作と、
前記符号化された第２表示を前記第２クライアントに送信する動作を実行させる動作と、
を含む、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１４９、２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１６５および２０１３年１１月１１日に出願された米国特許出願第１４／０７７，１８０の優先権を主張するものであり、当該特許出願の内容全体を本出願で参照によって本願明細書に引用したものとする。
【０００２】
本出願は、以下の出願に関連し、その特許出願の内容全体を本出願で参照によって本願明細書に引用したものとする。２０１３年１１月１１日に出願した「関心領域に基づく画像符号化」と題する米国特許出願第１４／０７６，７１８号（代理人整理番号１０１０５８．００００８３）、２０１３年１１月１１日に出願した「サービス品質に基づく適用可能な情景の複雑性」と題する米国特許出願第１４／０７６，８２１号（代理人整理番号１０１０５８．００００８４）、２０１３年１１月１１日に出願した「グラフィックス物体データを生成するサービス」と題する米国特許出願第１４／０７７，１２７号（代理人整理番号１０１０５８．００００８６）、２０１３年１１月１１日に出願した「遠隔の物体データに基づく画像合成」と題する米国特許出願第１４／０７７，１３６号（代理人整理番号１０１０５８．００００８７）、２０１３年１１月１１日に出願した「複数の並列グラフィックス処理ユニット」と題する米国特許出願第１４／０７７，１６５号（代理人整理番号１０１０５８．０００１１０）、２０１３年１１月１１日に出願した「適応性のあるコンテンツの伝送」と題する米国特許出願第１４／０７７，０８４号（代理人整理番号１０１０５８．０００１１４）、２０１３年１１月１１日に出願した「共有状態に基づく表示の生成」と題する米国特許出願第１４／０７７，１８０号（代理人整理番号１０１０５８．０００１１５）、２０１３年１１月１１日に出願した「複数ストリーム・コンテンツ・プレゼンテーション」と題する米国特許出願第１４／０７７，１８６号（代理人整理番号１０１０５８．０００１１６）、２０１３年１１月１１日に出願した「ストリーミングゲームサーバビデオレコーダ」と題する米国特許出願第１４／０７７，１４２号（代理人整理番号１０１０５８．０００１２５）、２０１３年１１月１１日に出願した「アクターリソースの位置」と題する米国特許出願第１４／０７６，８１５号（代理人整理番号１０１０５８．０００１２８）、２０１３年１１月１１日に出願した「ストリーミングサーバのためのセッションアイドル最適化」と題する米国特許出願第１４／０７７，１４６号（代理人整理番号１０１０５８．０００１２９）、２０１３年１１月１１日に出願した「アプリケーション・ストリーミング・サービス」と題する米国特許出願第１４／０７７，０２３号（代理人整理番号１０１０５８．０００１３９）、２０１３年１１月１１日に出願した「効率的帯域幅の推定」と題する米国特許出願第６１／９０２，７４０号（代理人整理番号１０１０５８．０００１４１）。
【背景技術】
【０００３】
最近の技術的な進歩には、複数の異なる遠隔位置に存在している複数のクライアントが共通のマルチメディアコンテンツの経験の一環として相互作用を可能にしたものもある。例えば、従来のビデオゲームには、複数の異なる遠隔位置に存在している複数のクライアントを使用して一括して行うことができるものもある。場合によっては、各クライアントは、クライアントのゲームへの参加に関連付けられたアクション、イベントまたはその他の情報に対応する関連状態情報を有する。例えば、状態情報は、各クライアントが制御している特定のキャラクタまたはエンティティによって行われているアクションに関連付けられた情報を含んでもよい。複数のクライアントの相互作用を可能にする一つの従来のアプローチは、参加している各クライアントからのゲーム状態情報を周期的にサーバに送信し、これは逆に、そのサーバが他の各クライアントから受信した更新された状態情報を各クライアントにフィードバックすることを含む。各クライアントは、それぞれの個人的なゲーム状態を維持するために、この更新された状態情報を使用してもよく、これは逆に各クライアントにおいてビデオゲームのそれぞれのプレゼンテーションを提示するために使用できる。例えば、特定の各クライアントは、それぞれのクライアントが制御している特定のキャラクタまたは他のエンティティの観点からビデオゲーム内の情景を提示できる。
【０００４】
上述の従来の手法は、複数のクライアントの相互作用を可能にするが、多くの欠点も有していることがある。例えば、状態および提示された画像をクライアントのデバイスにおいて維持する要件は、クライアントのデバイスにおけるコンテンツ・プレゼンテーション・ソフトウェアの複雑さと使用要件を増加させる可能性がある。これは、多くの場合に、制限された容量を提供するクライアントデバイスの多量のリソースを消費する結果になる。例えば、クライアントデバイスがより小さいサイズ、よりよいポータビリティ、より低いコストのデバイスを好む消費者を対象にしている。加えて、更新された状態情報はサーバから複数のクライアントに効率的に送信できない場合、コンテンツのプレゼンテーションにおける一時的な遅れまたは中断が発生することがある。さらに、クライアントデバイスにおけるより洗練されたゲーミングおよびその他コンテンツの存在は、コンテンツの創作者や販売者に著作権盗用またはその他のセキュリティ問題を起こすこともある。さらに、コンテンツアイテムはますますより詳細で、より複雑になるにつれて、一般的に単一の画像処理ユニットを有するクライアントデバイスが、そのようなコンテンツを効率的に提示できなくなる。
【０００５】
以下の詳細な説明は、添付図面と併せて読むと、よりよく理解ができる。例示の目的のために、本開示の様々な態様について例示の実施形態が図面に示されている。しかしながら、本発明は開示された特定の方法および手段に限定されるものではない。
【図面の簡単な説明】
【０００６】
【図１】幾つかの実施形態に使用することができる例示のコンピューティングシステムを示す図である。
【図２】幾つかの実施形態に使用することができる例示のコンピューティングシステムを示す図である。
【図３Ａ】本開示による複数表示生成のための例示のシステムを示す図である。
【図３Ｂ】本開示による同様の表示生成のための例示のシステムを示す図である。
【図４】本開示によるコンテンツ送信システムの第１実施例を示す図である。
【図５】本開示によるコンテンツ送信システムの第２実施例を示す図である。
【図６】本開示によるコンテンツ送信システムの第１実施例を示す図である。
【図７】本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第１実施例を示す図である。
【図８】本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第２実施例を示す図である。
【図９】本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第３実施例を示す図である。
【図１０】本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第４実施例を示す図である。
【図１１】本開示によるスティッチング手法の実施例を示す図である。
【図１２】本開示によるレイヤの実施例を示す図である。
【図１３】本開示によるレイヤリング手法の実施例を示す図である。
【図１４】本開示によるコンテンツ・プロバイダ・システムの実施例を示す図である。
【図１５】本開示による共有状態情報に基づく１つまたは複数の表示を生成する手順の実施例を示すフローチャートである。
【図１６】本開示による１つまたは複数のグラフィックス処理ユニットを使用して提示手順の実施例を示すフローチャートである。
【図１７】本開示による複数の表示生成のためのデータコレクションを採用しているシステムの実施例を示す図である。
【図１８】本開示による複数表示に関連付けられたデータを含むデータコレクションの第１実施例を示す図である。
【図１９】本開示による例示の表現形成シーケンスを示す図である。
【図２０】本開示による複数表示に関連付けられたデータを含むデータコレクションの第２実施例を示す図である。
【図２１】本開示による複数表示生成のためのデータコレクションを採用する実施例の手順を示すフローチャートである。
【発明を実施するための形態】
【０００７】
本開示による幾つかの実施例の特徴に従って、ビデオゲームのような特定のコンテンツアイテムの情景の１つまたは複数の提示された表示が、コンテンツプロバイダによって生成されてもよく、コンテンツプロバイダから複数の異なるクライアントに送信してもよい。場合によっては、コンテンツプロバイダは、特定のコンテンツアイテムの情景について複数の表示を生成することができる。複数の表示のそれぞれは、例えば、１つまたは複数の各クライアントに関連付けられ、コンテンツプロバイダから各クライアントに送信されてもよい。例えば、各表示は、表示が送信された各クライアントによって制御されている特定のキャラクタまたは他のエンティティの視点から情景を提示することができる。場合によっては、コンテンツプロバイダは、複数のクライアントに特定のコンテンツアイテムの情景について同一の表示を送信することができる。同一の表示は、例えば、密接に関連しているキャラクタを制御しているクライアント、または単一のキャラクタを制御するために協力しているクライアントに送信してもよい。
【０００８】
情景の１つまたは複数の表示の生成を可能にするために、参加している異なった各クライアントは、各クライアントの状態情報を収集することができる。クライアント状態情報は、例えば、各キャラクタまたは各クライアントによって制御されている、他のエンティティによって実行される動き、またはその他のアクションのような各クライアントにおいて実行されるオペレーションに関する情報を含むことができる。各クライアントは、定期的にコンテンツプロバイダに各クライアント状態情報の更新を送信することができる。そして、コンテンツプロバイダは、各クライアントから受け取ったクライアント状態情報の更新を、コンテンツプロバイダによって維持された共有コンテンツアイテムの状態を更新するために使用することができる。コンテンツプロバイダは、参加している異なる各クライアントに送信される１つまたは複数の表示を生成するために、共有コンテンツアイテムの状態情報を使用してもよい。場合によっては、参加する１つまたは複数のクライアントは、コンテンツプロバイダから１つまたは複数の表示を受信することに加えて、ハイブリッドモードクライアントは、コンテンツアイテムの独自のローカルバージョンを実行し、自分のローカル・クライアント・ストリームを生成するハイブリッドモードで動作することができる。各ハイブリッドモードのクライアントは、ローカルにクライアントについて、ハイブリッド・コンテンツ・アイテム・ストリームを生成し表示するために、受信した表示のコンテンツ・プロバイダ・ストリームをローカル・クライアント・ストリームと組み合わせることができる。
【０００９】
場合によっては、コンテンツプロバイダは、特定のコンテンツアイテムの情景について、１つまたは複数の表示を生成するために、複数のグラフィックス処理ユニットを使用することができる。場合によっては、複数のグラフィックス処理ユニットは、互いに少なくとも部分的に同時に特定の情景に関連付けられた提示を生成することができる。また、場合によっては、複数のグラフィックス処理ユニットを使用して、提示された表示のリアルタイムまたはほぼリアルタイムの生成とプレゼンテーションを可能にするのに役立てることができる。場合によっては、複数のグラフィックス処理ユニットは、表示のための１つまたは複数の結果の表示を生成するために使用される情景の各部分を提示することができる。場合によっては、各表示について、提示は、例えば、提示をスティッチングすること、または提示を論理的に関連付けられている異なるレイヤに結合された表現を用いることで、表示を形成するために組み合わせてもよい。場合によっては、特定のコンテンツアイテムを提示するために使用されたグラフィックス処理ユニットの数は、種々の要因に応じて数が変化するように柔軟性があってもよい。その要因は、例えば、１つまたは複数のグラフィックス処理ユニットに関連する実行速度、提示情景の複雑さ、提示された情景に関連付けられた多数の表示、追加グラフィックス処理ユニットの可用性およびその他の関連要因を含む。
【００１０】
場合によっては、情景の複数の異なる表示が提示ターゲットとして、単一のデータコレクションに結合されてもよい。例えば、単一のデータコレクションは、複数の表示のうちの各１つに関連付けられた複数のセクションを含むことができる。データコレクションの各セクションは、次いで別々に取り出され、符号化され、ネットワークを介して送信される。場合によっては、情景内の各物体は、次の物体に移動される前に、データコレクションの各部分に形成され関連付けられた表現を有する可能性がある。例えば、第１の物体の表現は、第２の物体の表現を形成する前に、データコレクションの各セクションを越えて形成されてもよい。この形成シーケンスは、場合によっては、例えば、様々な配置、テクスチャ、シェーダなどを含む各物体に関連付けられたデータの読み込みに関連付けられた状態の変化を低減することができる。
【００１１】
コンテンツプロバイダは、場合によっては、インターネットなどの電子ネットワークを介してクライアントにコンテンツアイテム表示を提示し、送信することができる。コンテンツは、場合によっては、例えば、ストリーミングコンテンツ配分技術を使用して、要求に応じてクライアントに提供することができる。クライアントにコンテンツを提示し、送信を可能にするコンピューティング環境の例示について詳細に説明する。特に、図１は、本明細書に記述の実施形態が実施され得る、例示のコンピューティング環境を示している。図１は、通信ネットワーク２３０を介して、ユーザコンピュータ２０２ａおよび２０２ｂ（以下、コンピュータ２０２という）を使用して、ユーザ２００ａおよび２００ｂ（以下、ユーザ２００という）にコンピューティングリソースを提供することができるデータセンタ２１０の例を模式的に示す図である。データセンタ２１０は、コンピューティングリソースを提供するように構成され、永続的にまたは必要に応じて、アプリケーションを実行する。データセンタ２１０によって提供されるコンピューティングリソースは、ゲートウェイリソース、負荷配分リソース、ルーティングリソース、ネットワークリソース、計算リソース、揮発性および不揮発性メモリ・リソース、コンテンツ配分リソース、データ処理リソース、データ・ストレージ・リソース、データ通信リソースなど様々な種類のリソースを含み得る。コンピューティングリソースの各種類は、汎用であってもよく、多くの特定の構成が利用可能である。例えば、データ処理リソースは、様々なウェブサービスを提供するように構成されている仮想マシーンインスタンスとして利用可能であってもよい。また、リソースの組み合わせは、ネットワークを介して利用可能であってもよく、１つまたは複数のウェブサービスとして構成されてもよい。実例は、アプリケーションサービス、メディアサービス、データベースサービス、処理サービス、ゲートウェイサービス、ストレージサービス、ルーティングサービス、セキュリティサービス、暗号化サービス、負荷配分サービス、アプリケーションサービスなどのようなウェブサービスを含むアプリケーションを実行するように構成されてもよい。これらのサービスは、セットやカスタムアプリケーションで設定することができ、サイズ、実行、コスト、遅延時間、タイプ、期間、アクセシビリティおよびその他の次元に設定可能である。これらのウェブサービスは、１つまたは複数のクライアントで使用可能なインフラとして構成することができ、１つまたは複数のクライアントのためのソフトウェアとして構成された１つまたは複数のアプリケーションを含み得る。これらのウェブサービスは、１つまたは複数の通信プロトコルを介して利用可能にすることができる。これらの通信プロトコルは、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）または非ＨＴＴＰプロトコルを含むことができる。これらの通信プロトコルは、例えば、伝送制御プロトコル（ＴＣＰ）のような、より信頼性の高いトランスポート・レイヤ・プロトコルおよびユーザ・データグラム・プロトコル（ＵＤＰ）のような信頼性の低いトランスポート・レイヤ・プロトコルも含んでもよい。データ・ストレージ・リソースは、ファイル記憶装置、ブロックストレージデバイスなどを含むことができる。
【００１２】
コンピューティングリソースの構成の各タイプは、多くのプロセッサ、大量のメモリおよび／または大きな記憶容量から成る大きなリソースおよび少ないプロセッサ、メモリおよび／またはより小さい記憶容量から成る小さなリソースのような異なるサイズで利用できる。顧客は、例えば、多くの小さな処理リソースをウェブサーバおよび／または一つの大きな処理リソースをデータベースサーバとして割り当てる選択がある。
【００１３】
データセンタ２１０は、コンピューティングリソースを提供するサーバ２１６ａおよび２１６ｂ（以下、サーバ２１６という）を含んでもよい。これらのリソースは、ベア・メタル・リソースまたは仮想マシーンインスタンス２１８ａ−ｄとして利用できる（以下、仮想マシーンインスタンス２１８という）。仮想マシーンインスタンス２１８ｃおよび２１８ｄは共有状態仮想マシーン（「ＳＳＶＭ」）インスタンスである。ＳＳＶＭ仮想マシーンインスタンス２１８ｃおよび２１８ｄは、共有コンテンツアイテムの状態の技術および／または以下に詳細に説明するその他の本開示の技術の全てまたは一部を実行するように構成されてもよい。図１に示されている特定の実例では、各サーバに含むＳＳＶＭは１つしかないが、これは一例に過ぎない。サーバは複数のＳＳＶＭの仮想マシーンを含んでもよく、ＳＳＶＭ仮想マシーンを含まなくてもよい。
【００１４】
コンピューティングハードウェアの仮想化技術の可用性は、顧客のための大規模なコンピューティングリソースを提供し、コンピューティングリソースを効率的かつ安全に複数の顧客間で共有することを可能にするために恩恵を与えてきた。例えば、仮想化技術は、物理的なコンピューティングデバイスによってホストされる１つまたは複数の仮想マシーンインスタンスを各ユーザに提供することにより、物理的なコンピューティングデバイスが複数のユーザ間で共有することを可能にすることができる。仮想マシーンインスタンスは、別個の論理的なコンピューティングシステムとして作用する特定の物理的コンピューティングシステムのソフトウェアエミュレーションであってもよい。このような仮想マシーンインスタンスは、指定された物理的なコンピューティングリソースを共有する複数のオペレーティングシステム間のアイソレーションを提供している。さらに、幾つかの可視化技術は、複数の別個の物理的なコンピューティングシステムをわたる複数の仮想プロセッサを有する単一の仮想マシーンインスタンスのような１つまたは複数の物理リソースにわたる仮想リソースを提供することができる。
【００１５】
図１を参照すると、通信ネットワーク２３０は、例えば、インターネットのような公的にアクセス可能に結合された、各種の異なる当事者によって動作可能なネットワークである。他の実施形態では、通信ネットワーク２３０は、特典のないユーザに完全に、または部分的にアクセスできない企業や大学が有するネットワークのようなプライベートネットワークであってもよい。また、他の実施形態では、通信ネットワーク２３０は、インターネットへのアクセスおよび／またはインターネットからのアクセスを有する１つまたは複数のプライベートネットワークを含んでもよい。
【００１６】
通信ネットワーク２３０は、コンピュータ２０２へのアクセスを提供することができる。ユーザコンピュータ２０２は、ユーザ２００またはデータセンタ２１０の他の顧客が利用するコンピュータであってもよい。例えば、ユーザコンピュータ２０２ａまたは２０２ｂは、サーバ、デスクトップやラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント（ＰＤＡ）、電子ブックリーダー、ゲーム機、セットトップボックス、またはデータセンタ２１０にアクセスできる他の任意のコンピューティングデバイスであってもよい。ユーザコンピュータ２０２ａまたは２０２ｂは、（例えば、ケーブルモデムまたはデジタル加入線（ＤＳＬ）を介して）直接にインターネットに接続することができる。２つだけのユーザコンピュータ２０２ａおよび２０２ｂが示されているが、複数のユーザコンピュータがあってもよいと認識すべきである。
【００１７】
ユーザコンピュータ２０２は、データセンタ２１０によって提供されたコンピューティングリソースの態様を構成するために利用することができる。この点では、データセンタ２１０は、ゲートウェイまたはウェブインターフェースを提供して、これによりデータセンタ２１０の動作の態様をユーザコンピュータ２０２上で実行されるウェブ・ブラウザ・アプリケーション・プログラムを使用して、構成することができる。代替的に、ユーザコンピュータ２０２上で実行されるスタンドアロン・アプリケーション・プログラムは、構成動作を実行するため、データセンタ２１０によって表示されたアプリケーション・プログラミング・インターフェース（ＡＰＩ）にアクセスすることができる。データセンタ２１０で利用可能な、様々なウェブサービスのオペレーションを構成する他の機構を利用してもよい。
【００１８】
図１に示されたサーバ２１６は、上述のコンピューティングリソースを提供するために適切に構成された一般的なサーバであってもよく、１つまたは複数のウェブサービスおよび／またはアプリケーションを実行するためのコンピューティングリソースを提供することができる。一実施形態では、コンピューティングリソースは、仮想マシーンインスタンス２１８であってもよい。仮想マシーンインスタンスの例では、各サーバ２１６は、仮想マシーンインスタンス２１８の実行を可能にするインスタンスマネージャ２２０ａまたは２２０ｂ（以下、インスタンスマネージャ２２０という）を実行するように構成されてもよい。インスタンスマネージャ２２０は、例えば、仮想マシーンモニタ（ＶＭＭ）またはサーバ２１６上に仮想マシーンインスタンス２１８の実行を可能にするように構成された別のタイプのプログラムであってもよい。上述のように、各仮想マシーンインスタンス２１８は、アプリケーションの全て、またはその一部を実行するように構成されてもよい。
【００１９】
本開示の上記の実施形態では、仮想マシーンインスタンスのコンテキストが記述されているが、他の種類の実施形態も本開示の概念および技術に利用することができると理解すべきである。例えば、本開示の実施形態は、仮想マシーンインスタンスを利用しないコンピューティングシステムにおいても利用されてもよい。
【００２０】
図１に示すデータセンタ２１０の例では、サーバ２１６ａおよび２１６ｂを相互接続するためにルータ２１４を使用することができる。ルータ２１４は、通信ネットワーク２３０に接続されているゲートウェイ２４０に接続することができる。ルータ２１４は、１つまたは複数のロードバランサに接続されてもよく、また、例えば、通信の特性（例えば、ソースおよび／または宛先アドレスを含むヘッダ情報、プロトコル識別子、サイズ、処理要件など）および／またはプライベートネットワークの特性（例えば、ネットワークトポロジに基づくルートなど）に基づいて、適切にパケットまたは他のデータ通信を転送することによって、単独でまたは組み合わせによってデータセンタ２１０内のネットワーク内の通信を制御することができる。簡略化のために、この実施例のコンピューティングシステムと他のデバイスの様々な態様は、特定の従来の詳細を示さずに図示されていることが理解されるだろう。付加的なコンピューティングシステムおよび他のデバイスは、他の実施形態において相互接続されてもよく、異なる方法で相互接続されてもよい。
【００２１】
図１に示すデータセンタ２１０の例では、サーバマネージャ２１５は、少なくとも部分的にサーバ２１６ａおよび２１６ｂへの各種通信、サーバ２１６ａおよび２１６ｂからの各種通信および／またはサーバ２１６ａおよび２１６ｂ間の各種通信を指すために採用されている。図１では、ルータ２１４がゲートウェイ２４０とサーバマネージャ２１５との間に位置していることを示しているが、これは例示的な構成に過ぎない。例えば、幾つかの実施例では、サーバマネージャ２１５は、ゲートウェイ２４０とルータ２１４との間に配置されていてもよい。場合によっては、サーバマネージャ２１５は、着信通信を受信および／または処理する１つまたは複数の適切なサーバ２１６を決定するために、ユーザコンピュータ２０２からの着信通信の部分を調べることがある。サーバマネージャ２１５は、アイデンティティ、位置やユーザコンピュータ２０２と関連付けられている属性、通信が関連付けられているタスクの性質、通信が関連付けられているタスクの優先順位、通信が関連付けられているタスクの期間、通信が関連付けられているタスクのサイズおよび／または推定されたリソース使用量のような要因および他の多くの要因に基づいて、着信通信を受信および／または処理する適切なサーバを決定してもよい。サーバマネージャ２１５は、例えば、様々なタスクに関連付けられた状態情報および他の情報を収集またはアクセスすることによって、例えば、通信またはそのようなタスクに関連付けられたその他のオペレーションを制御するのを援助する。
【００２２】
図１に示されているネットワークトポロジは大幅に簡略化されており、より多くのネットワークおよびネットワークデバイスが、本開示の様々なコンピューティングシステムディスクを相互接続するために利用することができることを理解すべきである。これらのネットワークトポロジおよびデバイスは、当業者にとって明らかであるだろう。
【００２３】
図１での記述のデータセンタ２１０は単なる例示であり、他の実施形態が利用されることがあると理解すべきである。また、本開示での機能性は、ソフトウェア、ハードウェアまたはその組み合わせで実現されることを認識すべきである。他の実施形態は、当業者にとっては明らかであろう。また、サーバ、ゲートウェイ、または他のコンピューティングデバイスは、上記の機能性の種類を相互作用し、実行することができるハードウェアまたはソフトウェアの任意の組み合わせを含むことができることを認識すべきである。このサーバ、ゲートウェイ、または他のコンピューティングデバイスは、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶装置および他のネットワークデバイス、ＰＤＡ、タブレット、携帯電話、無線電話、ページャ、電子手帳、インターネット機器、テレビベースのシステム（例えば、セットトップボックスおよび／またはデジタル／パーソナルビデオレコーダを使用して）、および適切な通信機能を有する他の様々な消費生活用製品を含むがこの限りでない。また、図示されたモジュールによって提供される機能は、幾つかの実施形態では、より少ないモジュールに組み合わせてもよく、または追加のモジュールに配分されてもよい。同様に、幾つかの実施形態では、示されているモジュールの一部の機能性は提供されないことがあり、および／または他の追加機能が利用可能である。
【００２４】
少なくとも幾つかの実施形態では、本明細書に記載の１つまたは複数の一部または全ての技術を実行するサーバは、１つまたは複数のコンピュータアクセス可能な媒体を含むか、アクセスするように構成された汎用コンピュータシステムを含み得る。図２は、１つまたは複数のコンピュータアクセス可能な媒体を含むか、アクセスするように構成された汎用コンピュータシステムを示す。図示の実施形態では、コンピューティングデバイス１００は、入力／出力（Ｉ／Ｏ）インターフェース３０を介してシステムメモリ２０に結合された１つまたは複数のプロセッサ１０ａ、１０ｂ、および／または１０ｎ（以下、「プロセッサ１０」という）を含む。コンピューティングデバイス１００は、さらにＩ／Ｏインターフェース３０に結合されたネットワークインターフェース４０を含んでいる。
【００２５】
様々な実施形態では、コンピューティングデバイス１００は、１つのプロセッサ１０を含むユニプロセッサシステムまたは複数のプロセッサ１０（例えば、２、４、８、または別の適切な数）を含むマルチプロセッサシステムであってもよい。プロセッサ１０は、インストラクションを実行することができる任意の適切なプロセッサであってもよい。例えば、様々な実施形態では、プロセッサ１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣまたはＭＩＰＳ  ＩＳＡまたはその他の適切なＩＳＡなどのいろいろなインストラクション・セット・アーキテクチャ（ＩＳＡ）の任意のものを実行する汎用または組み込みのプロセッサであってもよい。マルチプロセッサシステムでは、各プロセッサ１０は、一般に、しかし必ずしもそうではないが、同一のＩＳＡを実現することができる。
【００２６】
システムメモリ２０は、プロセッサ１０によってアクセス可能なインストラクションおよびデータを保存するように構成されてもよい。様々な実施形態では、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性／Ｆｌａｓｈ（登録商標）型のメモリまたはその他のメモリの種類のような任意の適切なメモリ技術を使用して、システムメモリ２０を実現する。図示した実施形態では、上述の方法、手法およびデータのような１つまたは複数の所望の機能を実現するプログラムインストラクションおよびデータは、コード２５およびデータ２６としてシステムメモリ２０内に保存されているように示されている。
【００２７】
一実施形態では、Ｉ／Ｏインターフェース３０は、プロセッサ１０、システムメモリ２０、ネットワークインターフェース４０または他の周辺インターフェースを含むデバイス内の任意の周辺装置との間でＩ／Ｏトラフィックを調整するように構成することができる。幾つかの実施形態では、Ｉ／Ｏインターフェース３０は、他のコンポーネント（例えば、プロセッサ１０）の使用に適したフォーマットに一方のコンポーネント（例えば、システムメモリ２０）からのデータ信号を変換するために必要なプロトコル、タイミングまたは他のデータ変換を実行することができる。幾つかの実施形態では、Ｉ／Ｏインターフェース３０は、例えば、周辺コンポーネント相互接続（ＰＣＩ）バス規格またはユニバーサルシリアルバス（ＵＳＢ）の変形例などの様々な種類の周辺バスを介して接続されたデバイスのサポートを含んでもよい。幾つかの実施形態では、Ｉ／Ｏインターフェース３０の機能は、例えば、ノースブリッジとサウスブリッジの２つ以上の別々のコンポーネントに分割することができる。また、幾つかの実施形態では、システムメモリ２０へのインターフェースのようなＩ／Ｏインターフェース３０の機能性の一部または全ては、プロセッサ１０に直接に組み込まれてもよい。
【００２８】
ネットワークインターフェース４０は、例えば、コンピューティングデバイス１００および他のコンピュータシステムまたはデバイスのようなネットワーク５０に取り付けられたデバイス６０の間にデータの交換させるように構成することができる。様々な実施形態では、ネットワークインターフェース４０は、例えば、イーサネット・ネットワークの種類などの任意の適切な有線または無線の一般的なデータネットワークを介して、通信をサポートすることができる。また、ネットワークインターフェース４０は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの電気通信／電話ネットワーク、ファイバチャネルＳＡＮ（ストレージ・エリア・ネットワーク）のようなストレージ・エリア・ネットワーク、または他の任意の適切な種類のネットワークおよび／またはプロトコルを介して通信をサポートすることができる。
【００２９】
幾つかの実施形態では、システムメモリ２０は、対応する方法およびデバイスの実施形態を実現する上述のプログラムインストラクションおよびデータを保存するように構成されたコンピュータアクセス可能媒体の一実施例であってもよい。しかしながら、他の実施形態では、プログラムインストラクションおよび／またはデータが、他の種類のコンピュータアクセス可能媒体に受信され、送信されまたは保存されてもよい。一般的に言えば、コンピュータアクセス可能媒体は、Ｉ／Ｏインターフェース３０を介してコンピューティングデバイス１００に結合された、例えば、ディスクまたはＤＶＤ／ＣＤなどの磁気または光学的な媒体のような非一時的記憶媒体またはメモリ媒体を含み得る。非一時的なコンピュータアクセス可能記憶媒体は、システムメモリ２０またはメモリの別の種類としてコンピューティングデバイス１００の幾つかの実施形態に含むＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭなど）、ＲＯＭ（リードオンリーメモリ）のような任意の揮発性または不揮発性媒体を含み得る。また、コンピュータアクセス可能媒体は、ネットワークインターフェース４０を介して実現されるネットワークおよび／または無線リンクのような通信媒体を介して伝達される電気的、電磁気的、またはデジタル信号などの伝送媒体または信号を含んでもよい。図２に示すような全てまたは一部のコンピューティングデバイスが、様々な実施形態に記述の機能を実現するために使用することができる。例えば、様々な異なるデバイスおよびサーバ上に実行中のソフトウェアコンポーネントは、機能性を提供するために協力することができる。幾つかの実施形態では、記述の機能の一部は、汎用コンピュータシステムを使用して実現することに加えてまたはその代わりに、ストレージデバイス、ネットワークデバイス、または専用のコンピュータシステムを使用して実現することができる。本明細書で使用される用語「コンピューティングデバイス」は、少なくともこれらの全てのデバイスを指すが、これらのデバイスの種類に限らない。
【００３０】
コンピューティングノードとも呼ぶ計算ノードは、コモディティ・ハードウェア・コンピュータ、仮想マシーン、ウェブサービス、計算クラスタおよびコンピューティング機器などの多種多様なコンピューティング環境上で実施することができる。これらのコンピューティングデバイスまたは環境のいずれかが、便宜上、計算ノードとして記述されてもよい。
【００３１】
配分されたクライアントのセットにインターネットおよび／またはその他のネットワークを介してアクセスできる１つまたは複数のウェブサービス（クラウドベースのコンピューティングやストレージの様々なタイプなど）を提供するために、企業や公共業界の機関などの組織によって立ち上げられたネットワークは、プロバイダのネットワークと呼んでもよい。このようなプロバイダのネットワークは、プロバイダネットワークが提供するインフラストラクチャおよびウェブサービスを実現し、配布するために必要な物理的および／または仮想化されたコンピュータサーバの集合、ストレージデバイス、ネットワーク機器など、様々なリソースプールをホストしている数多くのデータセンタを含んでもよい。実施形態によっては、リソースが、記憶のための記憶容量、処理のための処理能力、インスタンス、関連サービスなどのセットとして、ウェブサービスに関連する様々なユニットでクライアントに提供されてもよいものもある。仮想コンピューティングインスタンスは、例えば、（ＣＰＵの種類および数、メインメモリサイズなどを示すことによって指定することができる）特定の計算能力および（例えば、特に時にハイパーバイザ上で実行することができるオペレーティングシステムのバージョン）指定のソフトウェアスタック（例えば、（ＣＰＵのタイプと数、メインメモリサイズなどによって特定され得る）を有する１つまたは複数のサーバを含むことができる。
【００３２】
汎用または専用コンピュータサーバ、ストレージデバイス、ネットワークデバイスなどを含む別の実施形態のプロバイダネットワークのリソースを実行するために、多くの異なる種類のコンピューティングデバイスが、単独でまたは組み合わせて使用することができる。実施形態によっては、クライアントまたはユーザが、例えば、制御者のログイン名とパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスが提供されるものもある。他の実施形態では、プロバイダネットワークオペレータは、例えば、クライアントにインスタンスまたは実行プラットフォームに直接にアクセスを求めることなく、指定されたクライアントアプリケーションのための実行条件の指定およびアプリケーションに適した実行プラットフォーム（アプリケーションサーバインスタンス、Ｊａｖａ商標）仮想マシーン（ＪＶＭ）、汎用または専用のオペレーティングシステム、様々な解釈されたまたは作成されたＲｕＢｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋などのプログラミング言語をサポートするプラットフォームまたは高性能コンピューティング・プラットフォーム）上で、クライアントの代わりにアプリケーションの実行のスケジュールを可能にすることができる。所定の実行プラットフォームは、実装形態によっては、１つまたは複数のリソースのインスタンスを利用してもよいものもある。他の実施態様では、複数の実行プラットフォームは、単一のリソースインスタンスにマッピングすることができる。
【００３３】
多くの環境では、異なるタイプの仮想化コンピューティング、ストレージおよび／または機能的にアクセス可能な他のネットワークを実行するプロバイダネットワークのオペレータは、顧客が様々なリソース獲得モードにおけるリソースへのアクセスを予約または購入することを可能にすることができる。コンピューティング・リソース・プロバイダは、顧客が希望するコンピューティングリソースを選択し起動し、コンピューティングリソースにアプリケーションコンポーネントを配置し、環境内で実行されるアプリケーションを維持する施設を提供することができる。また、コンピューティング・リソース・プロバイダは、アプリケーション変更の需要や容量要件の変化を伴い、手動または自動スケーリングによって、アプリケーションに割り当てられたリソースの数や種類を、顧客が迅速に、かつ容易に、スケールアップまたはスケールダウンするさらなる施設を提供することができる。コンピューティング・リソース・プロバイダによって提供されたコンピューティングリソースは、インスタンスと呼ばれるユニットとして利用可能である。インスタンスは、物理的なサーバのハードウェアプラットフォーム、サーバ上実行中の仮想マシーンインスタンス、または２つの何らかの組合せを示してもよい。異なるオペレーティングシステム（ＯＳ）および／またはハイパーバイザを実行するリソースの異なるサイズを含み、ランタイムなどの種々のインストールされたソフトウェアアプリケーションを有するインスタンスの様々なタイプおよび構成が利用可能である。インスタンスは、さらに、例えば、論理的な領域、フォールトトレラント領域、データセンタまたは基礎となるコンピューティングハードウェアの他の地理的な場所を示す特定のアベイラビリティゾーンにおいて利用することができる。インスタンスの冗長性を改善するために、インスタンスはアベイラビリティゾーン内またはアベイラビリティゾーンを越えてコピーすることができ、またインスタンスは、特定のアベイラビリティゾーン内またはアベイラビリティゾーンを越えて移行することができる。一実施例として、アベイラビリティゾーン上での特定のサーバとのクライアント通信の遅延時間が、異なるサーバのクライアント通信の遅延時間より少なくてもよい。よって、全体のクライアントによる経験を向上させるために、インスタンスが高遅延サーバから低遅延サーバに移行することができる。
【００３４】
実施形態によっては、プロバイダネットワークは、地理的な複数の領域に編成され、各領域は、１つまたは複数のアベイラビリティゾーンを含むものもある。時に、１つのアベイラビリティゾーン（アベイラビリティコンテナとも呼ぶ）は、所定のアベイラビリティゾーン内のリソースが他のアベイラビリティゾーンの障害から単離または絶縁されるように構成されている１つまたは複数の別個の位置またはデータセンタを含むことができる。つまり、特定のアベイラビリティゾーンの障害は、他のアベイラビリティゾーンの障害とならないように期待され得る。よって、リソースインスタンスの利用可能性プロファイルは、異なるアベイラビリティゾーンにおいて、リソースインスタンスの利用可能性プロファイルに依存しないように意図されている。クライアントは、各アベイラビリティゾーン内に複数のアプリケーションインスタンスを起動することにより、単一の位置で自分のアプリケーションを障害から保護することができる。同時に、幾つかの実装形態では、安価で低遅延のネットワーク接続を同じ地理的領域内に存在しているリソースインスタンスの間に設けてもよい（同一のアベイラビリティゾーンのリソース間のネットワーク伝送がより速いかもしれない）。
【００３５】
上述したように、場合によっては、ビデオゲームのような特定のコンテンツアイテムの情景について複数の提示された表示は、コンテンツプロバイダによって生成され、コンテンツプロバイダから複数の異なるクライアントに送信される。本開示による複数の表示を生成する例示のシステムが図３Ａに示されている。図３Ａはクライアント３１０Ａおよび３１０Ｂと通信するコンテンツプロバイダ３００を含む。コンテンツプロバイダ３００は、コンテンツアイテム３０７を実行する。コンテンツプロバイダ３００は、例えば、クライアント３１０Ａおよび３１０Ｂのクライアントのようなクライアントにコンテンツを提供するための１つまたは複数のコンテンツ提供サービスを提供することができる。コンテンツ提供サービスは、１つまたは複数のサーバ上に存在してもよい。コンテンツ提供サービスは、１つまたは複数の顧客の要求を満たすために拡張することができる。また、コンテンツ提供サービスの能力が、受信したクライアントの要求数および種類に基づいて、増加または低下することがある。コンテンツ提供サービスの一部は、要求するクライアントに応じて低減された遅延時間の位置に配置されるように移行することができる。コンテンツプロバイダ３００と、そのアーキテクチャの幾つかの実施例が、より詳細に後述される。
【００３６】
本明細書で使用されているコンテンツという用語は、任意の提示可能な情報を指し、本明細書に使用されているコンテンツアイテムは、そのような任意の提示可能な情報の任意の集合を指している。例えば、コンテンツアイテム３０７は、ビデオゲームなどのグラフィックスコンテンツを含んでもよい。場合によっては、本明細書で使用されているコンテンツアイテム３０７は、２次元の情景に基づいて表現されるコンテンツを指す２次元コンテンツを含んでもよい。また、場合によっては、本明細書で使用されているコンテンツアイテム３０７は、３次元の情景に基づいて表現されるコンテンツを指す３次元コンテンツを含んでもよい。２次元の情景または３次元の情景は、例えば、論理的にモデル化または表現することを意図している領域を物理的に占領しない意味では、論理表現であると考えられる。本明細書で使用されている情景という用語は、画像の生成に関連して使用される表現を指す。情景は、例えば、情景を記述する情報またはデータを含み、またはこれらに関連付けられていてもよい。コンテンツアイテム３０７を提示するために、コンテンツアイテム３０７に関連付けられた情景が、表示のために得られる画像を生成することができる。画像は、例えば、突起、反射、ライティング、シェーディングおよびその他の概念を組み込むことができる一般的な提示と呼ばれるプロセスによって生成するために使用されてもよい。画像は、例えば、様々なピクセル値および／または属性に関連付けられた情報のような表示可能な出力に関連付けられた情報を含むことができる。後述するように、それぞれの生成された画像は、場合によっては、情景の特定の表示に対応していてもよい。
【００３７】
コンテンツアイテム３０７は、クライアント３１０Ａおよび３１０Ｂにおいてユーザに表示され、または提示されてもよい。クライアント３１０Ａおよび３１０Ｂは、例えば、インターネットあるいは別の種類のワイドエリアネットワーク（ＷＡＮ）またはローカル・エリア・ネットワーク（ＬＡＮ）の電子ネットワーク上を介して、コンテンツプロバイダ３００と通信することができる。クライアント３１０Ａおよび３１０Ｂは、場合によっては、互いに対して物理的に遠隔地に配置されてもよい。
【００３８】
図３Ａは、２つのクライアント３１０Ａおよび３１０Ｂを示しているが、本開示の手法は、コンテンツアイテム３０７に対応する伝送を受信する異なる参加しているクライアントについて任意の数に関連して使用されてもよい。場合によっては、１つまたは複数の参加する接続されたクライアントは、コンテンツプロバイダ３００から１つまたは複数の表示を受信することに加えて、ハイブリッドモードクライアントがコンテンツアイテム３０７の独自のローカルバージョンを実行して、自分のローカル・クライアント・ストリームを生成するハイブリッドモードを動作してもよい。各ハイブリッドモードのクライアントは、ローカルにクライアントで受信したコンテンツプロバイダの表示のストリームをローカル・クライアント・ストリームと組み合わせて、ハイブリッド・コンテスト・アイテム・ストリームを生成し、表示することができる。ハイブリッドモードは、例えば、クライアントにとってコンテンツ・プロバイダ・ストリームが使用できない場合に悪いネットワーク環境において、独自のローカルストリームを使用し続けることを可能にしながら、良好なネットワーク環境において、ローカルストリームに加えて、コンテンツプロバイダ３００からのストリームを受信できるようにし得る。ハイブリッドモードクライアントがローカル状態をコンテンツプロバイダの共有状態との同期を維持することを可能にするために、コンテンツプロバイダ３００は、定期的に、ハイブリッドモードのクライアントのそれぞれに状態情報を送信することができる。
【００３９】
特定のクライアントは、ハイブリッドモードと、クライアントが唯一のコンテンツ・プロバイダ・ストリームを受信し、ローカルクライアントのストリームを生成しないフルストリームモードを切り替えることができる。場合によっては、単一の共有状態は、クライアントの大規模なグループのために維持されてもよい。大規模なグループの中では、幾つかのクライアントはハイブリッドモードで動作でき、幾つかのクライアントはフルストリームモードで動作でき、幾つかのクライアントはハイブリッドモードとフルストリームモードを切り替えることができる。また、場合によっては、各ハイブリッドモードクライアントに送信されるデータの量は、帯域幅、スループット、遅延時間、パケット損失率などの条件に基づくコンテンツプロバイダとクライアントとの間の接続の品質などの原因に応じて変化することがある。例えば、コンテンツプロバイダ３００により高い品質の接続を有する第１のハイブリッドモードのクライアントの場合、コンテンツプロバイダ３００は第１のハイブリッドモードのクライアントに対して、より多くのデータを含む情景のより高い複雑度の表示を送信することができる。逆に、コンテンツプロバイダ３００により低い品質の接続を有する第２のハイブリッドモードのクライアントの場合、コンテンツプロバイダ３００は第２のハイブリッドモードのクライアントに対して、より少ないデータを含む情景のより低い複雑度の表示を送信することができる。例えば、第１ハイブリッドモードクライアントに送信されたより高い複雑度の表示には、第２のハイブリッドモードクライアントに送信されたより低い複雑度の表示に含まれていないより詳細なテクスチャ、パターン、形状および他の特徴が含まれている。
【００４０】
図３Ａを参照すると、場合によっては、クライアント３１０Ａおよび３１０Ｂは、コンテンツアイテム３０７に対応する１つまたは複数の異なる各エンティティに関連付けられていてもよい。そのようなエンティティは、例えば、様々なキャラクタ、車両、兵器、アスレチック機器やビデオゲームまたは他のコンテンツアイテムに対応する任意の他のエンティティを含んでもよい。場合によっては、各エンティティは、関連付けられたクライアントによって制御されてもよい。しかしながら、各エンティティは、例えば、クライアントの特定ユーザのために、またはクライアントの特定ユーザによって選択されることによって、任意の方法でクライアントと関連付けられ得る。図３Ａの特定の例では、クライアント３１０Ａは各制御キャラクタ３１５Ａを制御し、クライアント３１０Ｂは各制御キャラクタ３１５Ｂを制御している。
【００４１】
クライアント３１０Ａおよび３１０Ｂは、クライアント３１０Ａおよび３１０Ｂでのコンテンツアイテム３０７の各プレゼンテーションに関連付けられた各クライアントの状態情報を収集することができる。クライアントの状態情報は、１つまたは複数のクライアントにどのような方法でも関係するため、コンテンツアイテムの状態に関連付けられた任意の情報である。クライアント状態情報は、例えば、クライアント３１０Ａおよび３１０Ｂでのコンテンツアイテム３０７のプレゼンテーションに関連付けられた様々な機能、イベント、アクションまたはオペレーションの状態に対応する情報を含み得る。場合によっては、クライアントの状態情報は、制御されているキャラクタ３１５Ａおよび３１５Ｂによって実行される様々なアクションまたはオペレーションを示すことができる。しかしながら、注目されるのは、各クライアント３１０によって収集されたクライアントの状態情報は、各クライアント３１０によって制御されているキャラクタや他のエンティティに対応する情報に限定されず、コンテンツアイテム３０７に関連付けられた任意の態様に対応する情報を含んでもよいということである。
【００４２】
図３Ａに示すように、クライアント３１０Ａは、各クライアント状態情報更新３２０Ａをコンテンツプロバイダ３００に、そして、クライアント３１０Ｂは、各クライアント状態情報更新３２０Ｂをコンテンツプロバイダ３００に送信することができる。クライアント状態情報更新３２０Ａおよびクライアント状態情報更新３２０Ｂは、クライアント３１０Ａおよびクライアント３１０Ｂから定期的に任意の適切なスケジュールされた時刻またはスケジュールされていない時刻に送信されてもよい。クライアント状態情報更新３２０Ａは、例えば、指定した間隔または他の時刻に、または特定のイベントに応じて、送信され得る。例えば、クライアント状態情報更新３２０Ａおよびクライアント状態情報更新３２０Ｂの送信は、指定の位置に移動するようなアクションを行うキャラクタによってトリガーされ得る。クライアント状態情報更新３２０Ａおよびクライアント状態情報更新３２０Ｂは、必ずしもを互いに同時に送信される必要性はない。認識される通り、場合によっては、更新されたクライアントの状態情報を送信する代替としてまたはそれに加えて、１つまたは複数のクライアント３１０Ａおよび３１０Ｂは、全てのクライアント状態情報および／または以前に送信されたクライアント状態情報の一部を送信することができるということである。例えば、場合によっては、特定のクライアントからの状態情報の最初の送信は、全てのクライアント状態情報を含み得るが、後続の送信は状態情報更新または以前に送信された情報の幾つかの部分と共に状態情報更新のみを含むことができる。
【００４３】
コンテンツプロバイダ３００は、クライアント状態情報更新３２０Ａおよび３２０Ｂを受信し、これらを共有コンテンツアイテムの状態情報３０５を調整するために使用してもよい。調整は、例えば、追加、削除および／または共有コンテンツのアイテム状態情報３０５の様々な部分の改変を含み得る。共有コンテンツアイテムの状態情報３０５は、１つまたは複数のコンテンツアイテムの情景を生成するために、例えば、コンテンツアイテム３０７と組み合わせて使用することができる。
【００４４】
一実施例として、制御されているキャラクタ３１５Ａが読み込み済の武器を発砲し、特定の出入り口に向かって弾丸を発射すると同時に、制御されているキャラクタ３１５Ｂが同じ出入り口に入り制御されているキャラクタ３１５Ａに出会ってもよい。クライアント３１０Ａは、制御されているキャラクタ３１５Ａによる武器の発砲および弾丸の方向を示すクライアント状態情報更新３２０Ａを送信することができる。クライアント３１０Ｂは、制御されているキャラクタ３１５Ｂの出入り口に入る動きを示すクライアント状態情報更新３２０Ｂを送信することができる。コンテンツプロバイダ３００は、受信したクライアント状態情報更新３２０Ａおよび３２０Ｂを示すために、共有コンテンツアイテム状態情報３０５を更新することができる。その後、コンテンツアイテム３０７は、制御されているキャラクタ３１５Ａが武器を発砲した位置から出入り口に直面して立っている間に、制御されているキャラクタ３１５Ｂが胸に銃創があって出入り口に立っているという継続のコンテンツアイテムの情景を生成する共有コンテンツアイテム状態情報３０５にアクセスすることができる。
【００４５】
情景は、コンテンツアイテム３０７に関連して生成されたら、コンテンツプロバイダ３００は、クライアント３１０Ａおよび３１０Ｂで表示する情景を提示することができる。図３Ａの特定の実施例では、コンテンツプロバイダ３００は複数提示の表示３３０Ａおよび３３０Ｂを生成する。例えば、図３Ａに示すように、コンテンツプロバイダ３００は、提示された表示３３０Ａを生成し、クライアント３１０Ａに送信する間に、コンテンツプロバイダ３００は、提示された表示３３０Ｂも生成し、クライアント３１０Ｂに送信することができる。提示の表示３３０Ａおよび３３０Ｂは、互いに異なっている。本明細書で用語として使用されている表示とは、情景に関連する特定の画像を指す。特定の情景の複数の異なる表示が生成されると、複数の異なる各表示は、情景に基づく異なる各画像を含んでもよい。
【００４６】
提示された表示３３０Ａおよび３３０Ｂは、場合によっては、クライアント３１０Ａと３１０Ｂに関連付けられた１つまたは複数のエンティティに関連付けられてもよい。例えば、提示された表示３３０Ａは、制御されているキャラクタ３１５Ａと関連付けられている間に、提示された表示３３０Ｂは、制御されているキャラクタ３１５Ｂに関連付けられてもよい。
【００４７】
場合によっては、提示された表示３３０Ａおよび３３０Ｂは、関連付けられた各エンティティに対応する視点から情景の表示を提示することができる。例えば、提示された表示３３０Ａは、制御されているキャラクタ３１５Ａの眼を通して見られるような情景を示し、提示された表示３３０Ｂは、制御されているキャラクタ３１５Ｂの眼を通して見られるような情景を示すことができる。他の場合では、提示された表示３３０Ａおよび３３０Ｂは、関連付けられた各エンティティが表示の中心にある、または表示内の関心の高さおよび／または視認性の高い位置に配置された情景の表示を提示することができる。例えば、提示された表示３３０Ａは、制御されているキャラクタ３１５Ａが表示の中央に位置するような情景を描写するが、提示された表示３３０Ｂは、制御されているキャラクタ３１５Ｂが表示の中央に位置するような情景を描写することができる。また、別の実施例として、情景内の特定の物体が関連付けられた各エンティティの表示をブロックしている場合、それらの物体は情景から削除されるか、提示された表示内に調整されてもよい。
【００４８】
また、場合によっては、特定の改正は追加、または特定の提示された表示に関連付けられ得る。例えば、関連付けられている各キャラクタまたは他のエンティティは、注目や視認性を増加するために拡大または強調されてもよい。さらに、表示内の特定の他のエンティティが関連付けられている各キャラクタまたはエンティティに何らかの形で関連付けられた場合、変更されてもよい。例えば、関連付けられた各キャラクタが特定の武器を探している場合、提示された表示内の武器に注目をさせるため、または武器の視認性を高めるために武器が拡大または強調さ得る。
【００４９】
制御されているキャラクタ３１５Ａが出入り口に向けて武器を発射した後、出入り口を見ている上記の例示の情景に戻って参照すると、クライアント３１０Ａのための提示された表示３３０Ａは、例えば、制御されているキャラクタ３１５Ａに関連付けられた視点からの表示を提供できる。提示された表示３３０Ａは、例えば、例示の表示が制御されているキャラクタ３１５Ａの眼を通して見られるように示すことができる。提示された表示３３０Ａは、例えば、制御されているキャラクタ３１５Ａによって見られるものとして、胸に銃創があって出入り口に立っている制御されているキャラクタ３１５Ｂを示すことができる。
【００５０】
逆に、クライアント３１０Ｂのための提示された表示３３０Ｂは、例えば、制御されているキャラクタ３１５Ｂに関連付けられた視点からの表示を提供できる。上述したように、例示の情景では、制御されているキャラクタ３１５Ｂは武器を発砲したばかりの制御されているキャラクタ３１５Ａに直面して出入り口に立っている。提示された表示３３０Ｂは、例えば、例の情景が制御されているキャラクタ３１５Ｂの眼を通して見られるように示してもよい。提示された表示３３０Ｂは、例えば、制御されているキャラクタ３１５Ｂによって見られるものとして、手に発砲したばかりの武器を持つ制御されたキャラクタ３１５Ａを示してもよい。
【００５１】
場合によっては、クライアント状態情報更新３２０Ａおよび３２０Ｂは、提示された表示３３０Ａおよび３３０Ｂの形成を援助するために使用できる任意の情報を含んでもよい。そのような情報は、クライアント３１０Ａおよび３１０Ｂに関連付けられている１つまたは複数の各エンティティを示す情報を含むことができる。例えば、図３Ａは、制御されているキャラクタ３１５Ａおよび３１５Ｂをクライアント３１０Ａおよび３１０Ｂに関連付けられている各エンティティとして描写している。クライアント状態情報更新３２０Ａおよび３２０Ｂは、例えば、クライアント３１０Ａおよび３１０Ｂに何らかの方法で関連付けられている他のエンティティを示してもよい。クライアント状態情報更新３２０Ａおよび３２０Ｂは、例えば、クライアント３１０Ａおよび３１０Ｂが様々なキャラクタまたはエンティティの制御を切り替える場合、あるいはコンテンツ送信セッションへの参加に接続または切断する場合を示すこともできる。クライアント状態情報更新３２０Ａおよび３２０Ｂは、例えば、各クライアント３１０Ａおよび３１０Ｂがハイブリッドモードまたはフルストリームモードで動作していることを示し、および／または動作モードの切り替えを示すこともできる。提示された表示３３０Ａおよび３３０Ｂの情報をサポートするために使用できる他の適切な情報は、クライアント状態情報更新３２０Ａおよび３２０Ｂやコンテンツプロバイダ３００に送信される他の情報の収集に含まれ、または、場合によっては、コンテンツプロバイダ３００によって保存され、あるいはコンテンツプロバイダ３００に利用可能な情報に含まれてもよい。例えば、場合によっては、コンテンツプロバイダ３００は、例えば、クライアント３１０Ａおよび３１０Ｂによって制御されているキャラクタまたはその他のエンティティのインストラクション、あるいは提示された表示３３０Ａおよび３３０Ｂの形成を補助するために使用することができる他の適切な情報を含むクライアント３１０Ａおよび３１０Ｂについての情報を保存してもよい。場合によっては、示された表示３３０Ａおよび３３０Ｂの形成を援助するために使用することができる情報は、共有コンテンツアイテム状態情報３０５内に含まれてもよい。
【００５２】
従って、上述したように、コンテンツプロバイダは、複数の異なるクライアントデバイスに複数のコンテンツアイテムの表示を提示し、送信することができる。しかしながら、場合によっては、複数のクライアントデバイスに情景の同一の表示を送信することが望ましい場合がある。例えば、同じ、またはお互いに密接に関連して関連付けられた、各コンテンツアイテムエンティティを有する別のクライアントに、同じ表示を送信することが望ましい場合がある。具体的には、例えば、同一の表示は、時には共同で同じキャラクタを制御するために協力する異なるクライアントに送信され得る。別の実施例として、同一の表示は、時に、異なるが密接に関連したキャラクタを制御するチームメートや同じユニット、または同じ組織のメンバーなどの異なるクライアントに送信され得る。さらに、別の例として、１つまたは複数のクライアントが１つまたは複数の他のクライアントのコンテンツアイテム内の１つまたは複数のエンティティを制御するアクティブモードで動作しながら、１つまたは複数のクライアントが観客クライアントのコンテンツアイテム内の任意のエンティティを制御しない観客モードで動作する場合に、同一の表示が送信され得る。場合によっては、１つまたは複数の観客モードクライアントは同一の表示を受信することができる。また、場合によっては、１つまたは複数の観客モードクライアントおよび１つまたは複数のアクティブモードのクライアントが同一の表示を受信することができる。例えば、特定の観客モードのクライアントは、特定のアクティブモードのクライアントが制御している特定のエンティティに関心を持ち、従って、特定のアクティブモードのクライアントに送信された同一の表示を受信したい場合がある。同一の表示は、他の適切な理由または理論的な解釈に基づいて送信してもよい。
【００５３】
本開示による同一の表示を生成する例示のシステムが図３Ｂに示されている。図３Ｂでは、クライアント３１０Ａは各々制御されているチームメート３１６Ａを制御し、クライアント３１０Ｂは各々制御されているチームメート３１６Ｂを制御している。また、図３Ｂに示すように、同一の提示された表示３４０はコンテンツプロバイダ３００によって生成され、両方のクライアント３１０Ａおよび３１０Ｂに送信されている。上述したように、場合によっては、チームメートを制御しているクライアントは同一の情景を受信することが望ましい場合がある。しかしながら、チームメートを制御しているクライアントは異なる情景を受信することが望ましい場合も多くある。さらに、上述したように、クライアント３１０Ａおよび３１０Ｂが、同一の表示を受信することができたチームメートを制御することに加えて、またはその代わりに、多くの他の状態があり得る。
【００５４】
さらに、同一および異なる表示の任意の組み合わせを生成し、異なる任意の数のクライアントに送信してもよい。例えば、参加している３つのクライアントに送信されているコンテンツアイテムの場合、３つのクライアントの２つは、同一の表示を受信するが、第３のクライアントは別の表示を受信してもよい。
【００５５】
加えて、注目されるのは、同一または異なる表示を受信するクライアントの構成は、特定のコンテンツアイテムの送信セッションを通じて変更することができるということである。例えば、２つのクライアントは、最初に２つのチームメートを制御することができ、特定のコンテンツアイテムの同一の表示を受信することができる。しかしながら、コンテンツアイテムの送信中のある時点で、クライアントの１つは、自分のキャラクタの制御を放棄し、対向チームの異なるキャラクタの制御を開始することができる。この場合には、切り替えるクライアントは、キャラクタの制御を切り替えた後、他のクライアントに送信されていた異なる表示を受信し始め得る。上述したように、キャラクタまたは他の表示に関連する情報の切り替えは、場合によっては、クライアントの状態情報の更新の一部として、あるいは適切な他の任意の手法を使用して、クライアントからコンテンツプロバイダに通信されてもよい。
【００５６】
また、お互いに同一または異なる表示を受信する任意の特定のクライアントを指定する必要はない。むしろ、場合によっては、各クライアントの表示は、各エンティティまたは任意の他の適切な情報などのクライアントに関連付けられた情報に基づいて生成されてもよい。従って、場合によっては、必ずしも類似または同一として求めて表示を指定することなく、２つのクライアントは、幾つかの情景の異なる表示および他の情景と同一のまたはほぼ同一の表示を受信することができる。例えば、場合によっては、２つの異なるクライアントによって制御される２つの関係のないキャラクタは、特定の情景内で互いに近接して配置されることがある。そのような場合では、特定の情景の同一のまたはほぼ同一の表示は、時々２つの異なるクライアントに送信され得る。逆に、関係のないキャラクタが互いに近傍に位置していない他の情景の場合、２つの同一のクライアントが異なる表示を受信することができる。
【００５７】
このように、共有状態情報に基づいて、コンテンツプロバイダにおいて１つまたは複数の表示を提示する多くの手法が上述されている。コンテンツプロバイダにおいて１つまたは複数の表示の提示は、場合によっては、コンテンツプロバイダからクライアントに状態情報を送信する必要性を低減または排除することができる。さらに、コンテンツプロバイダにおいて１つまたは複数の表示の提示は、場合によっては、クライアントデバイスにインストールされたコンテンツ・プレゼンテーション・ソフトウェアのコスト、複雑さおよび使用要件を低減することができる。これは、例えば、時々コンテンツが重いクライアント・コンテンツ・プレゼンテーション・ソフトウェアに対して、軽いクライアント・コンテンツ・プレゼンテーション・ソフトウェアを使用してクライアントデバイスで呈示されることを可能にする。さらに、コンテンツプロバイダに１つまたは複数の表示の提示は、場合によっては、著作権盗用やコンテンツ作成者および販売者が恐れている他のセキュリティ上の問題を低減することができる。
【００５８】
加えて、コンテンツアイテムを実行するために使用される仮想マシーンインスタンスおよび／またはその他のリソースの数または量はコンテンツアイテムに関連付けられ、生成された多くの表示に依存する必要がないことが注目される。例えば、場合によっては、単一の仮想マシーンインスタンスは、複数の異なるクライアントに送信される提示された複数の異なる表示を有するコンテンツアイテムを実行するために使用することができる。しかしながら、場合によっては、例えば、遅延時間を短縮するために、所望であれば、複数の仮想マシーンインスタンスを使用することができる。
【００５９】
コンテンツプロバイダにおいて１つ以上の表示の提示に加えて、本開示手法は、複数のグラフィックス処理ユニットが特定のコンテンツアイテムに関連付けられて使用されることをも可能にすることができる。場合によっては、複数のグラフィックス処理ユニットが、少なくとも部分的に互いに同時に、特定の情景に関連付けられた提示を生成できる。提示は、１つまたは複数のグラフィックス処理ユニットによって少なくとも部分的に生成されたデータを指し、１つまたは複数の画像の少なくとも一部に関連付けられている。また、場合によっては、複数のグラフィックス処理ユニットの使用は、提示された表示のリアルタイム、またはほぼリアルタイムの生成およびプレゼンテーションを可能にするために支援することができる。場合によっては、複数のグラフィックス処理ユニットは、任意の異なる物理的な場所に任意の数の異なるマシーンまたはデバイスに配分させることができる。場合によっては、複数のグラフィックス処理ユニットは、情景の単一の表示のみを提示するために使用することができることに対して、他の場合では、複数のグラフィックス処理ユニットは情景の複数の表示を提示するために使用することができる。しかしながら、注目されるのは、複数グラフィックス処理ユニットは、必ずしも情景の複数の表示を提示する必要はないということである。場合によっては、情景の複数の表示を提示するには、単一のグラフィックス処理ユニットで十分である。
【００６０】
図４−図６は、上述の概念の複数の表示と複数のグラフィックス処理ユニットとの間の様々な相互作用を示す幾つかの実施例のコンテンツ伝送システムを示している。特に、図４は、単一のグラフィックス処理装ユニットが複数の表示を生成するために使用される例示のシナリオを示している。図４に示すように、コンテンツプロバイダ４００は、それぞれのクライアント４１０Ａ、４１０Ｂおよび４１０Ｃに送信される提示された表示４２０Ａ、４２０Ｂおよび４２０Ｃを生成するグラフィックス処理ユニット４０３Ａを備えている。図５は、複数のグラフィックス処理ユニットが、単一の表示を生成するために使用されている例示のシナリオを図示している。図５に示されているように、コンテンツプロバイダ５００は、クライアント５１０Ａに送信される提示された表示５２０Ａを生成するために組み合わせる複数のグラフィックス処理ユニット５０３Ａ、５０３Ｂおよび５０３Ｃを備えている。図６は、複数のグラフィックス処理ユニットが複数の表示を生成するために使用されている例示のシナリオを図示している。図６示されているように、コンテンツプロバイダ６００は、それぞれのクライアント６１０Ａ、６１０Ｂおよび６１０Ｃに送信される提示された表示６２０Ａ、６２０Ｂおよび６２０Ｃを生成するために使用されるグラフィックス処理ユニット６０３Ａ、６０３Ｂおよび６０３Ｃを備えている。他のある例示の構成では、各グラフィックス処理ユニット６０３Ａ−Ｃは、各々提示された表示６２０Ａ−Ｃを生成することができる。例えば、グラフィックス処理ユニット６０３Ａは、提示された表示６２０Ａを生成し、グラフィックス処理ユニット６０３Ｂは、提示された表示６２０Ｂを生成し、グラフィックス処理ユニット６０３Ｃは、提示された表示６２０Ｃを生成することができる。さらに、他の場合には、グラフィックス処理ユニット６０３Ａ−Ｃのうちの２つ以上が提示された表示６２０Ａ−Ｃの１つまたは複数を生成するために組み合わせることができる。例えば、処理するグラフィック６０３Ａおよび６０３Ｂは、提示された表示６２０Ａおよび６２０Ｂを形成するために組み合わせてもよいが、処理するグラフィック６０３Ｃは個別に提示された表示６２０Ｃを生成することができる。
【００６１】
適切な任意の数の手法が、複数のグラフィックス処理ユニットを越えて情景の提示を配分するために使用され得る。例えば、場合によっては、複数のグラフィックス処理ユニットのそれぞれに、提示する情景の各部分を割り当てることができる。情景の各部分は、例えば、種々の座標、寸法、または他の指標によって示される情景の領域を含み得る。例えば、場合によっては、２つのグラフィックス処理ユニットにわたって配分された情景が、２つのグラフィックス処理ユニットの各１つに割り当てられた各半分で、２つの等しい大きさの半分ずつに分割することができる。
【００６２】
別の例として、情景がキャラクタ、建物、乗り物、武器、木、水、火、動物などのような複数の物体を含んでもよい。場合によっては、複数のグラフィックス処理ユニットのそれぞれは、提示するために情景内の各物体または物体の部分または物体の集合が割り当てられていてもよい。本明細書で使用する物体という用語は、任意の情景、画像または他の情報の集合の部分をいう。物体は、例えば、特定の画素または画素の集合であってもよい。物体は、例えば、特定のアセットの全てまたは任意の部分であってもよい。また、物体は、例えば、アセットの集合の全てまたは任意の部分であってもよい。また、物体は、例えば、木、火、水、雲、布、衣類、人、動物および他のようなエンティティの全てまたは任意の部分であってもよい。例えば、物体は、木の一部であってもよい。また、物体は、例えば、物体、エンティティおよび／またはアセットの集合の全てまたは任意の部分を含んでもよい。例えば、物体は、例えば、互いに対して任意の位置に存在し、複数の木または雲のグループであってもよい。
【００６３】
別の例として、情景の複数の表示が生成される場合、場合によっては、複数のグラフィックス処理ユニットのそれぞれは、提示する情景の１つまたは複数の各表示が割り当てられることができる。上記の手法例および／または他の任意の適切な手法の組み合わせは、複数のグラフィックス処理ユニットにわたって、情景の提示を配分するために使用されてもよい。
【００６４】
場合によっては、特定のコンテンツアイテムを提示するために使用するグラフィックス処理ユニットの数は、数が様々な要因に応じて変化するように柔軟性があってもよい。その要因は、例えば、グラフィックス処理ユニットが提示を生成する速度または１つ以上のグラフィックス処理ユニットの他の実行速度、提示された情景の複雑さ、提示された情景に関連付けられた多数の表示、追加のグラフィックス処理ユニットの利用可能性およびこれらの任意の組み合わせまたはその他の関連要因を含んでもよい。
【００６５】
場合によっては、特定のコンテンツアイテムの提示に関連付けられた１つまたは複数のグラフィックス処理ユニットの実行速度は、グラフィックス処理ユニットが実行している時の効率を判定するために監視することができる。例えば、場合によっては、グラフィックス処理ユニットが特定の閾値実行速度以下で情景または情景の部分を提示している場合、情景または情景の部分の提示を援助するために１つまたは複数の追加グラフィックス処理ユニットを追加する決定ができる。逆に、場合によっては、２つ以上のグラフィックス処理ユニットが特定の閾値を超えた実行速度で情景の部分を提示している場合、他のコンテンツアイテムまたはコンテンツプロバイダの作業の援助を可能にするようにグラフィックス処理ユニットの１つまたは複数を放棄する決定ができる。
【００６６】
１つ以上または複数のグラフィックス処理ユニットの提示速度に影響を与え得る多くの要因がある。要因の一例は、情景の複雑さであり得る。例えば、場合によっては、特定のコンテンツアイテムに関連付けられた情景の複雑さは、一つの情景から次の情景に変化することがある。異なる任意の数の要因は、そのような情景の複雑さの変化を求める役割があり得る。場合によっては、特定の物体または物体の部分は、追加または削除、あるいは調整、不明瞭または可視化され得る。例えば、特定のキャラクタ、建物、乗物または他の物体が後続の情景に追加されると、情景の複雑さは一つの情景から次の情景に増加し得る。場合によっては、情景の複雑さが増加すると、１つまたは複数のグラフィックス処理ユニットはもはや効率的に各情景や情景の部分を提示することはできないほど過負荷になり得る。逆に、場合によっては、情景の複雑さが低減すると、１つまたは複数のグラフィックス処理ユニットは、コンテンツアイテムを提示するために使用されるグラフィックス処理ユニットの数を集約し、低減することができるほど、追加の使用可能な容量を得ることができる。
【００６７】
１つまたは複数のグラフィックス処理ユニットの実行速度に影響を及ぼす別の要因の例は、様々な情景または情景の一部に関連付けられた多数の表示である。例えば、１つまたは複数のクライアントによって制御されているキャラクタが情景の特定の部分に入ると、その情景の部分に関連付けられた表示の数が増加し得る。これは、例えば、１つまたは複数のクライアントによって制御されているキャラクタが、特定の建物または建物内の部屋に入るときに発生し得る。逆に、１つまたは複数のクライアントによって制御されているキャラクタが情景の特定の部分を去ると、その情景の部分に関連付けられた表示の数が減少し得る。場合によっては、表示の数が増加すると、１つまたは複数のグラフィックス処理ユニットはもはや効率的に各情景または情景の部分を提示することができないほど過負荷になり得る。逆に、場合によっては、表示の数が減少すると、１つまたは複数のグラフィックス処理ユニットは、コンテンツアイテムを提示するために使用されるグラフィックス処理ユニットの数を集約し、低減することができるほど、追加の使用可能な容量を取得し得る。
【００６８】
上述のグラフィックス処理ユニットのスケーリング概念の一部を示す幾つかの例示のシナリオは、図７−図１０を参考しながら記述される。特に、図７は、本開示の手法にかかるグラフィックス処理ユニットの最初の例示スケーリングシナリオを図示している。具体的には、図７は、単一のグラフィックス処理ユニット７２０によって提示された情景７００を図示している。注目されるのは、情景７００は、３次元の情景として、図７に図示されている（立方体形状によって示されている）ということである。しかしながら、本開示の手法は、３次元情景での使用に限定されるものではなく、例えば、２次元の情景で使用することができる。図７は、グラフィックス処理ユニット７２０が下限閾値以下の実行速度で動作していることを示す。上述したように、この低実行速度の原因は、高すぎる情景の複雑さおよび／または単一のグラフィックス処理ユニット７２０によって効率的に提示できないほどあまりにも多くの関連付けられた表示を有するなどの要因によることもある。従って、場合によっては、コンテンツプロバイダは、下限閾値以下の実行速度で動作しているグラフィックス処理ユニット７２０に基づいて、後続の情景を提示するために、追加グラフィックス処理ユニットを使用することを決定し得る。
【００６９】
図８は、下限閾値以下の実行速度で作動している図７のグラフィックス処理ユニット７２０に基づいて、コンテンツプロバイダが追加グラフィックス処理ユニットを加えるシナリオを図示している。具体的には、図８は、図７の情景７００に後続する１つまたは複数の情景である情景８００を図示している。情景８００は、また、２つの情景部分８１０Ａおよび８１０Ｂに分割される。加えて、情景８００の提示は、２つのグラフィックス処理ユニット８２０Ａおよび８２０Ｂに配分されている。具体的には、情景部分８１０Ａはグラフィックス処理ユニット８２０Ａによって提示され、情景部分８１０Ｂはグラフィックス処理ユニット８２０Ｂによって提示される。注目されるのは、情景部分８１０Ａおよび８１０Ｂの矩形は説明の目的のために単に選択されたものであり、これに限定されないということである。情景は、本開示の手法にかかる異なる形状または大きさの任意の数を有する異なる部分の任意の数に分割されてもよい。また、注目されるのは、追加グラフィックス処理ユニットが加えられる場合、前の情景の部分を必ずしも同じサイズの半分に分割する必要はないということである。
【００７０】
図８は、グラフィックス処理ユニット８２０Ａが、上限および下限の閾値実行速度の間の速度で作動していることを示す。上限および下限の閾値実行速度の間の速度で作動しているグラフィックス処理ユニット８２０Ａに基づいて、コンテンツプロバイダは、場合によっては、情景部分８１０Ａのグラフィックス処理ユニットのスケーリングに対して変化が必要ではないと決定できる。逆に、図８は、また、グラフィックス処理ユニット８２０Ｂが下限の閾値実行速度以下で作動していることを示す。従って、場合によっては、コンテンツプロバイダは、下限の閾値実行速度以下で作動しているグラフィックス処理ユニット８２０Ｂに基づいて、後続の情景における情景８１０Ｂに対応する領域を提示するために追加グラフィックス処理ユニットを使用することを決定できる。
【００７１】
図９は、コンテンツプロバイダは、下限の閾値実行速度以下で作動している図８のグラフィックス処理ユニット８２０Ｂに基づいて、追加グラフィックス処理ユニットを加えるシナリオを図示している。具体的には、図９は、図８の情景８００に後続する１つまたは複数の情景９００を図示している。情景９００は、３つの情景部分９１０Ａ、９１０Ｂおよび９１０Ｃに分割されている。また、情景９００の提示は３つのグラフィックス処理ユニット９２０Ａ、９２０Ｂおよび９２０Ｃにわたって配分されている。具体的には、情景部分９１０Ａはグラフィックス処理ユニット９２０Ａによって提示され、情景部分９１０Ｂはグラフィックス処理ユニット９２０Ｂによって提示され、情景部分９１０Ｃはグラフィックス処理ユニット９２０Ｃによって提示される。注目されるのは、情景部分９１０Ｂおよび情景部分９１０Ｃは、図８の情景部分８１０Ｂを２つの等しい半分の部分に分割することによって形成されたということである。情景部分８１０Ｂは、そのグラフィックス処理ユニット８２０Ｂが下限閾値実行速度以下で作動しているために分割された。
【００７２】
図９は、グラフィックス処理ユニット９２０Ａが、上限および下限の閾値実行速度の間で作動していることを図示している。上限および下限閾値実行速度の間で作動しているグラフィックス処理ユニット９２０Ａに基づいて、コンテンツプロバイダは、場合によっては、情景部分９１０Ａのグラフィックス処理ユニットのスケーリングに対して変化が必要でないと決定できる。逆に、図９は、両方のグラフィックス処理ユニット９２０Ｂおよび９２０Ｃが上限閾値実行速度以上で作動していることを図示している。上述したように、これらの高い実行速度は、より低い情景の複雑さおよび／または各情景部分９１０Ｂおよび９１０Ｃに関連付けられた提示の表示について、より低い数などの要因に起因する可能性がある。従って、場合によっては、コンテンツプロバイダは、上限の閾値実行速度以上で動作しているグラフィックス処理ユニット９２０Ｂおよび９２０Ｃに基づいて、後続する情景部分９１０Ｂおよび９１０Ｃに対応する組み合わせた領域を提示するために、より少ないグラフィックス処理ユニットを使用すべきと決定できる。
【００７３】
図１０は、上限の閾値実行速度以上で動作している図９のグラフィックス処理ユニット９２０Ｂおよび９２０Ｃに基づいて、コンテンツプロバイダがグラフィックス処理ユニットを削除するシナリオを図示している。特に、図１０は、図９の情景９００に後続する１つ以上の情景１０００を示す。情景１０００は、２つの情景部分１０１０Ａおよび１０１０Ｂに分割されている。加えて、情景１０００の提示は、２つのグラフィックス処理ユニット１０２０Ａおよび１０２０Ｂにわたって配分されている。具体的には、情景部分１０１０Ａはグラフィックス処理ユニット１０２０Ａによって提示され、情景部分１０１０Ｂはグラフィックス処理ユニット１０２０Ｂによって提示される。注目されるのは、情景部分１０１０Ｂは、図９の情景部分９１０Ｂおよび情景部分９１０Ｃを単一部分に組み合わせることによって形成されたということである。情景部分９１０Ｂおよび情景部分９１０Ｃは、各グラフィックス処理ユニット９２０Ｂおよび９２０Ｃが上限の閾値実行速度以上で作動しているために組み合わせられた。情景部分９１０Ｂおよび９１０Ｃの組み合わせは、場合によっては、グラフィックス処理ユニット９２０Ｂおよび９２０のいずれか一つが追加グラフィックス処理ユニットのより高い必要性がある別のタスクに再割り当てされることをも可能とすることができる。
【００７４】
改めて注目されるのは、図７−図１０に示されている情景部分およびグラフィックス処理ユニットの配分は、実施例にすぎない。本開示の手法では、情景が任意の記載の方法で部分に分割されてもよいということである。本開示の手法では、グラフィックス処理ユニットが任意の記載の方法で情景または情景部分に配分されてもよい。
【００７５】
１つまたは複数のグラフィックス処理ユニットが下限の閾値実行速度以下で作動しているにもかかわらず、幾つかの実施例では、追加グラフィックス処理ユニットが利用可能ではない場合がある。これは、コンテンツプロバイダにとって、利用可能であるリソースが限られていることに起因する。このような場合では、例えば、１つまたは複数の追加グラフィックス処理ユニットの要求は、利用可能になるまで、追加グラフィックス処理ユニットを取得する待ち行列に入れることができる。加えて、例えば、要求の緊急性は、下限の閾値実行速度が下回っている程度などの要因に基づいて、決定され得る。場合によっては、最も緊急ニーズが高いおよび／または最低の関連付けられた実行速度を有するコンテンツアイテムは、緊急ニーズの低いコンテンツアイテムよりも新しく利用可能になったリソースをより迅速に取得できる。さらに、場合によっては、コンテンツアイテムが必要な追加リソースを待機している間に、コンテンツアイテムの既存の割り当てられたグラフィックス処理ユニットがコンテンツアイテムの情景をより効率的に提示するために再配置され、または他の方法で再び割り当てられてもよい。
【００７６】
幾つかの上記の実施例は、グラフィックス処理ユニットのスケーリングを達成するために、グラフィックス処理能力速度の監視を含むことができるが、注目されるのは、本開示の手法では、グラフィックス処理ユニットモニタリングを使用する必要はないが、これに限定されるものではないということである。むしろ、情景の提示のために使用するグラフィックス処理ユニットの所望の数を決定する任意の適切な手法を使用することができる。例えば、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツアイテムに関連付けられ、コンテンツアイテムに関連付けられた１つまたは複数の情景の様々な部分に関連付けられた、複雑さのレベルを示す少なくとも部分的な情景の複雑さの情報に基づいて決定され得る。さらに、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツアイテムの送信に参加しているクライアントを監視することによって、および／または特定のコンテンツアイテムの送信に関連付けられた提示される異なる表示の数を監視または決定することによって、少なくとも部分的に決定することができる。さらに、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツプロバイダあるいはコンテンツプロバイダに関連付けられた任意の顧客、または他のエンティティによって設定された任意の特定の規則または設定に基づいて、少なくとも部分的に決定されてもよい。上記の任意の組み合わせまたは他の適切な手法が使用されてもよい。
【００７７】
例示のグラフィックス処理ユニット配分技術には、単一のグラフィックス処理ユニットに情景の１つまたは複数の部分を割り当てることを含むものもあるが、情景の各部分は、提示する１つだけのグラフィックス処理ユニットに割り当てる必要はない。場合によっては、完全な情景または情景の任意の部分を共同で提示するために、複数のグラフィックス処理ユニットが協力することができる。
【００７８】
このように、多数のグラフィックス処理ユニットにわたって情景の提示を配分するための多くの例示の手法が、上記に詳細に記述されている。場合によっては、情景の異なる部分が複数のグラフィックス処理ユニットによって提示された後、様々な異なる提示の全てまたはその部分を送信および表示のために、１つまたは複数の結果表示を形成すべく組み合わせることができる。コンテンツプロバイダは、複数のグラフィックスから受信した提示を一つの情景に合成するための様々な技術を採用することができる。本明細書でスティッチング手法と呼ばれる一例の合成手法は、異なるグラフィックス処理ユニットからの種々の提示を表示内の異なる認識された領域に挿入することを含むことができる。例えば、第１グラフィックス処理ユニットによる第１の提示は、第１の特定の表示領域に挿入され、第２グラフィックス処理ユニットによる第２の提示は第２の特定の表示領域に挿入されてもよい。各表示領域は、例えば、表示が生成された情景に基づいて特定された座標の値を用いて特定できる。
【００７９】
スティッチング手法の例示的な描写は、図１１に図示されている。特に、図１１では、４つの異なるグラフィックス処理ユニット１１２０Ａ−Ｄによって生成された４つの提示１１３０Ａ−１１３０Ｄを示している。具体的には、提示１１３０Ａは、グラフィックス処理ユニット１１２０Ａによって生成され、提示１１３０Ｂは、グラフィックス処理ユニット１１２０Ｂによって生成され、提示１１３０Ｃは、グラフィックス処理ユニット１１２０Ｃによって生成され、提示１１３０Ｄは、グラフィックス処理ユニット１１２０Ｄによって生成された。図１１に示すように、表示１１５０を形成するために、提示１１３０Ａは表示領域１１４０Ａに挿入され、提示１１３０Ｂは表示領域１１４０Ｂに挿入され、提示１１３０Ｃは表示領域１１４０Ｃに挿入され、提示１１３０Ｄは表示領域１１４０Ｄに挿入されている。
【００８０】
本明細書でレイヤリング手法といわれる別の例示の合成手法は、複数のレイヤを有する表示の表現を使用することができる。表現の各レイヤは、表示の各部分に対応することができる。例えば、第１レイヤは、第１のグラフィックス処理ユニットによって提示された表示の第１の部分を含み、第２レイヤは第２のグラフィックス処理ユニットによって提示された表示の第２の部分を含むことができる。具体的には、図１２は４つのレイヤ１２６０Ａ、１２６０Ｂ、１２６０Ｃおよび１２６０Ｄを図示している。レイヤ１２６０Ａは、グラフィックス処理ユニット１２２０Ａから受信した提示１２３０Ａを含む。レイヤ１２６０Ｂは、グラフィックス処理ユニット１２２０Ｂから受信した提示１２３０Ｂを含む。レイヤ１２６０Ｃは、グラフィックス処理ユニット１２２０Ｃから受信した提示１２３０Ｃを含む。レイヤ１２６０Ｄは、グラフィックス処理ユニット１２２０Ｄから受信した提示１２３０Ｄを含むことができる。
【００８１】
レイヤリング手法の例示の描写が、図１３には図示されている。具体的には、論理的表現１３００が示され、レイヤ１２６０Ａ−Ｄは論理的に以下のように垂直に積層されたものとして表わされる。つまり、底部にレイヤ１２６０Ｄ、レイヤ１２６０Ｃは底部から二番目、レイヤ１２６０Ｂは底部から三番目、そしてレイヤ１２６０Ａは上部に積層される。注目されるのは、論理的な表現１３００は、レイヤ１２６０Ａ−Ｄが物理的にお互いに上下に積層された物理的な構造であることを意図していないということである。むしろ、論理的表現１３００は、情景の様々な部分に対応するデータが論理的に関連付けられる例示の方法を示すことを意図している単なる論理的表現である。さらに、図１３に示すレイヤの配置の例示の順序は、単に例示の目的のために提供されたもので、それに限定するものではない。図１３に戻って参照すると、論理的表現１３００は提示１２３０Ａ−Ｄを含む結果の表示１３５０を生成するために使用されることが示されている。
【００８２】
従って、１つまたは複数のグラフィックス処理ユニットを使用して、情景の１つまたは複数の表示を生成するために、様々な手法が上記に記載されている。本開示の手法による例示のコンテンツ・プロバイダ・システムが、図１４に図示されている。図１４に示すように、コンテンツプロバイダ１４００と通信中のクライアント１４１０Ａ−Ｃを含む。例えば、クライアント１４１０Ａ−Ｃそれぞれがビデオゲームなどの特定のコンテンツアイテムの送信セッションに参加することができる。クライアント１４１０Ａ−Ｃは、例えば、アクティブクライアントおよび観客クライアントを含むことができる。アクティブなクライアントは、１つまたは複数のキャラクタまたはコンテンツアイテム内の他のエンティティを制御するクライアントである。観客クライアントは、キャラクタまたはコンテンツアイテム内の他のエンティティを全く制御しないクライアントである。クライアント１４１０Ａ−Ｃそれぞれが３つのストリーミングサーバ１４５０Ａ−Ｃの各１つから提示されたコンテンツアイテム表示の送信を受け取る。しかしながら、注目されるのは、ストリーミングサーバ１４５０Ａ−Ｃは、図１４の特定の例示に含まれているが、本開示の手法は、コンテンツストリーミング送信の使用に限定されるものではなく、コンテンツ配分の他の任意の適切な形態を採用することができるということである。各クライアント１４１０Ａ−Ｃにコンテンツを送信するための別個の各ストリーミングサーバ１４５０Ａ−Ｃの使用は、例えば、場合によっては、各クライアントへのネットワーク接続に関連付けられたサービスの質などの要因に基づいて、個々のクライアントへの様々な送信特性を調整するための改善された能力を可能にすることができるので、有利であると思われる。調整された送信特性は、例えば、符号化速度、送信速度、画質やその他の関連要因を含んでもよい。しかしながら、注目されるのは、本開示の手法は、ストリーミング技術の使用、または各クライアントに送信するための別々のサーバの使用に限定されるものではないということである。むしろ、本手法にかかる任意の数のサーバは、任意の数の異なるクライアントへの送信のために使用してもよい。
【００８３】
それぞれのクライアント１４１０Ａ−Ｃが、定期的に、コンテンツプロバイダ１４００にクライアント状態情報の更新を送信ができる。場合によっては、コンテンツプロバイダ１４００は、クライアント状態情報を観客クライアントから受信せず、アクティブクライアントからのみ受信してもよい。上述したように、クライアント状態情報の更新は、例えば、各々のクライアント１４１０Ａ−Ｃにおけるコンテンツアイテムのプレゼンテーションに関連付けられた様々なイベント、アクションまたはオペレーションの状態に対応する情報を含むことができる。例えば、クライアント状態情報の更新は、クライアント１４１０Ａ−Ｃによって制御されているキャラクタまたは他のエンティティによって実行される様々なアクションまたはオペレーションを指すことができる。別の例示として、クライアント状態情報の更新は、クライアントによって制御されているキャラクタまたは他のエンティティの指示、１つのキャラクタまたはエンティティから別のキャラクタまたはエンティティへの制御の切り替えに関する情報およびクライアントのコンテンツ送信セッションへの参加の接続または切断に関する情報などの１つまたは複数の情景の生成を支援できる情報を含んでもよい。クライアント状態情報の更新は、例えば、各々のクライアント１４１０Ａ−Ｃがハイブリッドモードあるいはフルストリームモードで作動していることを示すことができ、および／またはそれらのモードでの動作の切り替えを示すことができる。
【００８４】
クライアント１４１０Ａ−Ｃから送信されたクライアント状態情報の更新は、入力制御プレーン１４８０によってコンテンツプロバイダ１４００で受信される。各クライアント１４１０Ａ−Ｃから受信した状態情報は、送信されるコンテンツアイテムの共有状態情報１４７０を調整するために、まとめて使用することができる。調整は、例えば、共有の状態情報１４７０の様々な部分の追加、削除および／または修正を含むことができる。上述したように、共有状態情報１４７０は、様々なコンテンツアイテムの情景を生成するために、コンテンツアイテムと組み合わせて使用することができる。また、上記のように、共有状態情報１４７０は、各コンテンツの情景の１つまたは複数の表示を生成するために、コンテンツアイテムと組み合わせて使用することができる。
【００８５】
各コンテンツアイテムの情景は、１つまたは複数のグラフィックス処理ユニット１４０３Ａ−Ｃを含むグラフィックス処理ユニット・コレクション１４９０によって、１つまたは複数の表示に提示することができる。グラフィックス処理ユニット・コレクション１４９０が、１つまたは複数のグラフィックス処理ユニットを含むことができることを示すために、図１４は、１つのグラフィックス処理ユニット１４０３Ｂを実線の境界線で図示し、残りのグラフィックス処理ユニット１４０３Ａおよび１４０３Ｃを破線の境界線で図示している。複数のグラフィックス処理ユニット１４０３Ａ−Ｃは、場合によっては、任意の数の異なる物理的な位置で任意の数の異なるマシーンまたはデバイスに配分されてもよい。特定のコンテンツアイテムに関連付けられて使用されるグラフィックス処理ユニット１４０３Ａ−Ｃの数は、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０によって、少なくとも部分的に決定されてもよい。上述のように、場合によっては、特定のコンテンツアイテムを提示するために使用されているグラフィックス処理ユニットの数は、その数が情景から別の情景にまたは任意の適切な間隔に変更するように、柔軟性があってもよい。グラフィックス処理ユニットの適切な数の使用を決定するための多くの例示手法が、詳細に上述されている。
【００８６】
グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、場合によっては、グラフィックス処理ユニット・コレクション１４９０を監視し、命令しあるいは通信することができる。例えば、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、上述のように、様々なワークロード、利用可能な容量、グラフィックス処理ユニットが生成する提示の速度およびその他の実行速度およびグラフィックス処理ユニット１４０３Ａ−Ｃに関連付けられた任意の他の適切な特性を監視することができる。グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、場合によっては、情景の複雑さ、多くの接続されたクライアントと関連付けられた表示、関連付けられたコンテンツプロバイダまたは顧客ルールまたは嗜好およびその他の関連情報などの情報を決定するために、入力制御プレーン１４８０、共有状態情報１４７０、様々なコンテンツアイテムおよび様々な他のコンポーネントと通信することができる。図１４の特定の実施例では、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は入力制御プレーン１４８０内に含まれているが、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、場合によっては、別個のコンポーネントであってもよく、または１つまたは複数の他のコンポーネントの一部として含まれてもよい。
【００８７】
特定のコンテンツアイテムの提示に参加する多数のグラフィックス処理ユニット１４０３を決定することに加えて、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、場合によっては、全体の情景の提示負荷がどのように総数の参加するグラフィックス処理ユニット１４０３の間で配分されるかを決定することができる。例えば、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０は、情景の特定の部分を提示するために１つ以上の特定のグラフィックス処理ユニットを割り当てることができる。様々なグラフィックス処理ユニットのうちの様々な情景の部分の幾つかの例示の配分は、図７−図１０に示され、上記で詳細に説明されている。上述したように、場合によっては、１つまたは複数のグラフィックス処理ユニットは、情景、情景の特定の表示および／またはキャラクタ、建物、車両、兵器、木、水、火、動物など１つまたは複数の情景の物体の特定の寸法または座標を提示するために割り当てることができる。場合によっては、グラフィックス処理ユニット・スケーリング・コンポーネント１４６０に加えてまたはその代わりに、全てまたは幾つかのグラフィックス処理ユニットによる提示の配分決定は、１つまたは複数のグラフィックス処理ユニット１４０３Ａ−Ｃまたは図１４に示す任意の他のコンポーネントあるいはその他のコンポーネントによって行うことができる。
【００８８】
上述したように、情景の様々な部分は、１つまたは複数のグラフィックス処理ユニット１４０３Ａ−Ｃによって提示された後、種々の提示は、１つまたは複数の結果の表示を形成するために組み合わせてもよい。これらの異なる提示の組み合わせは、幾つかの場合に、１つまたは複数のグラフィックス処理ユニット１４０３Ａ−Ｃによっておよび／または任意の他の適切なコンポーネントによって実行されてもよい。スティッチング手法またはレイヤリング手法などの複数のグラフィックス処理ユニットからの提示を合成する種々の例示の手法は、図１１−図１３に示されており、詳細に上述されている。
【００８９】
１つまたは複数の提示された表示は、次に各クライアント１４１０Ａ−Ｃに送信するためにストリーミングサーバ１４５０Ａ−Ｃに提供することができる。送信前に、提示の表示を準備するために符号化および圧縮のような様々なオペレーションが実行されてもよい。これらの様々なオペレーションは、ストリーミングサーバ１４５０Ａ−Ｃ内のコンポーネントまたは種々の他のコンポーネントによって実行することができる。
【００９０】
上述したように、場合によっては、少なくとも幾つかのクライアント１４１０Ａ−Ｃは、特定の情景の異なる表示を受信することができる。また、場合によっては、少なくとも幾つかのクライアント１４１０Ａ−Ｃは、特定の情景の同一の表示を受信することができる。例えば、クライアント１４１０Ａおよび１４１０Ｂは、情景の同じ表示を受信するが、クライアント１４１０Ｃは同一情景の異なる表示を受信することができる。
【００９１】
図１５は、本開示による共有状態情報に基づいて、１つまたは複数の表示を生成するための手順の実施例を示すフローチャートである。オペレーション１５１０では、コンテンツアイテムの送信セッションが開始される。コンテンツアイテムの送信セッションは、場合によっては、１つまたは複数の参加しているクライアントデバイスから１つまたは複数の要求に基づいて開始され得る。参加しているクライアントデバイスは、例えば、コンテンツアイテムに関連付けられた１つまたは複数の送信を受け取る任意のクライアントデバイスを含むことができる。参加するクライアントデバイスは、例えば、アクティブクライアントおよび観客クライアントを含むことができる。アクティブクライアントは、コンテンツアイテム内の１つまたは複数のキャラクタまたは他のエンティティを制御するクライアントである。観客クライアントは、コンテンツアイテム内の１つまたは複数のキャラクタまたは他のエンティティを制御しないクライアントである。上述したように、コンテンツアイテムは、マルチメディアストリーミングまたは任意の他の適切なコンテンツ配分技術を使用して送信されてもよい。
【００９２】
オペレーション１５１２では、クライアント状態情報が、コンテンツプロバイダによって１つまたは複数の参加しているクライアントデバイスから受信される。場合によっては、コンテンツプロバイダは、状態情報をアクティブクライアントのみから受信することができ、観客クライアントから受信しなくてよい。場合によっては、オペレーション１５１２で受信したクライアント状態情報は、特定のクライアントの全てのクライアント状態情報または特定のクライアントからのクライアント状態情報の一部のみを含んでもよい。例えば、場合によっては、オペレーション１５１２で受信されたクライアント状態情報は、クライアント状態情報の更新を含むことができる。このようなクライアント状態情報の更新は、例えば、コンテンツプロバイダに事前に送信されていないクライアント状態情報を含んでもよい。また、クライアント状態情報の更新は、例えば、コンテンツプロバイダに事前に送信したクライアント状態情報を除外してもよい。
【００９３】
上述したように、クライアント状態情報は、例えば、参加している各クライアントデバイスにおけるコンテンツアイテムのプレゼンテーションに関連付けられた様々な特徴、イベント、アクションまたはオペレーションの状態に対応する情報を含むことができる。例えば、クライアント状態情報は、クライアントによって制御されているキャラクタまたは他のエンティティによって実行される様々なアクションまたはオペレーションを指してもよい。別の実施例として、クライアント状態情報は、クライアントによって制御されているキャラクタまたは他のエンティティの指示、１つのキャラクタまたはエンティティから別のキャラクタまたはエンティティへの制御の切り替えに関する情報およびクライアントのコンテンツ送信セッションへの参加の接続または切断に関する情報などの１つまたは複数の情景の生成に支援できる情報を含んでもよい。さらに、別の実施例として、クライアント状態情報更新は、例えば、クライアントがハイブリッドモードまたはフルストリームモードで作動していることを示すことおよび／またはそれらのモードでの動作の切り替えを示すことができる。
【００９４】
オペレーション１５１４では、コンテンツプロバイダは、オペレーション１５１２で受信されたクライアント状態情報を使用して、コンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報を調整する。オペレーション１５１４での調整は、共有コンテンツアイテムの状態情報の様々な部分を、例えば、追加、削除および／または変更することを含むことができる。上述したように、共有コンテンツアイテムの状態情報は、場合によっては、各々接続されたクライアントからもっとも最近に受信した更新された情報に基づいて、集合コンテンツアイテムの状態を反映することができる。
【００９５】
オペレーション１５１６では、次のコンテンツアイテムの情景が生成される。上述したように、次のコンテンツアイテムの情景は、例えば、コンテンツアイテム自体の情報およびコンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報に基づいて生成され得る。
【００９６】
注目されるのは、図１５および１６は、単にオペレーションが実行され得る幾つかの例示の順序を図示しているが、これに限定するものではないということである。例えば、図１５では、オペレーション１５１２および１５１４がオペレーション１５１６の事前に発生するものとして図示しているが、これらのオペレーションは任意の、または全てのそれぞれの場合において、この順序で実行する必要はない。具体的には、上述のように、クライアント状態情報の更新が、定期的に適切なスケジュールまたはスケジュールされていない時間に、１つまたは複数の参加しているクライアントからの同時または非同時に受信することができる。従って、例えば、クライアント状態情報の更新が任意の、または全てのクライアントから受信することおよび／または共有状態情報が新情景の生成の全てのインスタンスの事前に更新することが必要とされない。
【００９７】
オペレーション１５１８では、コンテンツプロバイダは、オペレーション１５１６で生成された情景の１つまたは複数の表示を提示する。上述したように、情景の各表示は、同じ情景に関連付けられた異なる画像であってもよい。情景の１つまたは複数の表示は、コンテンツアイテム自体内の情報およびコンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報に基づいて提示され得る。また、上述したように、場合によっては、少なくとも幾つかの参加しているクライアントは、同じ情景の異なる表示を受信することができる。さらに、場合によっては、少なくとも幾つかの参加しているクライアントは、同じ情景の同一の表示を受信することができる。
【００９８】
上述の通り、情景の複数の異なった表示は、例えば、各情景に関連付けられたそれぞれ異なった展望からの情景を各々描写することができる。各表示は、例えば、１つまたは複数のコンテンツアイテムのエンティティの展望から生成されてもよい。それぞれのエンティティは、例えば、提示された表示が送信される１つまたは複数のクライアントによって制御され、または関連付けられ得る。それぞれのエンティティは、例えば、キャラクタ、車あるいはコンテンツアイテムの情景に関連付けられた任意の他のエンティティを含むことができる。例えば、場合によっては、情景に関連付けられた展望について、それぞれのキャラクタの眼を通して、またはそれぞれのエンティティに関連付けられた他の位置から見えそうな情景を描写することができる。他の例として、情景に関連付けられた展望について、それぞれのキャラクタまたは他のエンティティが情景の中心にある、あるいは高い関心位置および／またはその表示内の視認性の高い情景を描写してもよい。
【００９９】
オペレーション１５２０では、各提示された情景が、コンテンツプロバイダが参加しているクライアントによって送信される。上述の通り、場合によっては、それぞれ別のストリーミングサーバが、各クライアントへの送信に使用されてもよい。オペレーション１５２２では、送信されるコンテンツアイテムに関連して生成する残りの情景があるかどうかが決定される。残りの情景があれば、プロセスは、オペレーション１５１２に戻る。これに反して、生成する残りの情景がなければ、コンテンツアイテムの生成の送信はオペレーション１５２４で終了する。
【０１００】
また、上述の通り、場合によっては、複数の別の情景が、複数の別のハイブリッドモードクライアントのために生成されてもよい。その場合、各ハイブリッドモードクライアントに送信されるデータ量は、コンテンツプロバイダとクライアントの間の結合性の質などの要因に依存して変化するが、その要因は帯域幅、スループット、待ち時間、パケット損失率などの条件に基づくことができる。例えば、コンテンツプロバイダに高度な質的結合を有する最初のハイブリッドモードクライアントのために、コンテンツプロバイダは、より多量のデータを含む情景のより複雑性の高度な表示を第１ハイブリッドモードクライアントに送信してもよい。これとは対照的に、コンテンツプロバイダは、より少量のデータを含む同じ情景のより複雑性の低い表示を第２ハイブリッドモードクライアントに送信してもよい。例えば、最初のハイブリッドモードクライアントに送信されるより複雑性の高い表示は、第２ハイブリッドモードクライアントに送信されるより低い複雑性に含まれない、より詳細なテクスチャ、パターン、形状およびその他の特徴を含むことができる。
【０１０１】
図１６は、本開示に従って１つまたは複数のグラフィックス処理ユニットを使用に供する実施例の手続きを示しているフローチャートである。オペレーション１６１０では、コンテンツアイテムの送信セッションが開始される。上述した通り、コンテンツアイテム送信セッションは、場合によっては、１つまたは複数の参加クライアント装置からの１つまたは複数の依頼に基づいて開始されてもよく、例えば、マルチメディアストリーミングまたは適切なコンテンツアイテム配分手法を使用してもよい。上述した通り、参加クライアント装置は、例えば、活発なクライアントと傍観者のクライアントを含むことができる。オペレーション１６１２では、次のコンテンツアイテムの情景が識別される。上述した通り、次のコンテンツアイテムの情景は、例えば、コンテンツアイテム自体内の情報に基づき生成され、また、コンテンツプロバイダによって維持されているコンテンツアイテム状態情報が共有されてもよい。共有されるコンテンツアイテム状態情報を取得し、更新する例示手法には、上記で詳述されているものもある。生成されたコンテンツアイテムの情景は、例えば、１つまたは複数のグラフィックス処理ユニットの任意の組み合わせにより、グラフィックス処理ユニット・スケーリング・コンポーネントにより、または任意の他の適切なコンポーネントにより識別することができる。この情景は識別され、例えば、１つまたは複数のグラフィックス処理ユニットによって、少なくとも一部分が、アクセスされ提供され得る。
【０１０２】
オペレーション１６１４では、グラフィックス処理ユニット・スケーリング情報が得られる。オペレーション１６１４で得られたグラフィックス処理ユニット・スケーリング情報は、グラフィックス処理ユニット・スケーリング・オペレーションに関連付けられた任意の情報を含むことができる。上述した通り、その情報は、例えば、グラフィックス処理ユニットが提示するものを生成する速度、あるいは１つまたは複数のグラフィックス処理ユニットに関連付けられた他の実行速度、コンテンツアイテム送信セッションに参加している多くのクライアントに関する情報、コンテンツアイテム送信セッションに関連して提供された多くの異なる表示に関する情報、追加のグラフィックス処理ユニットまたは他のリソースの利用に関する情報、規則もしくはコンテンツプロバイダに関係づけられた選好および／または顧客並びにその他の適切な情報を含むことができる。
【０１０３】
オペレーション１６１６では、１つまたは複数のグラフィックス処理ユニット・スケーリングの決定がなされる。グラフィックス処理ユニット・スケーリングの決定は、例えば、少なくとも一部分が、オペレーション１６１４で得られたグラフィックス処理ユニット・スケーリング情報に基づいてなされ得る。グラフィックス処理ユニット・スケーリングの決定は、例えば、送信されたコンテンツアイテムを提示する追加の１つまたは複数のグラフィックス処理ユニットを使用し、１つまたは複数のグラフィックス処理ユニットが送信されたコンテンツアイテムを提示するのを断念し、かつ、送信されたコンテンツアイテムの提示に関与する１つまたは複数のグラフィックス処理ユニットを再配置または再割り当てする決定を含んでいる。グラフィックス処理ユニット・スケーリングの決定は、例えば、多くの使用されたグラフィックス処理ユニットに関する決定と、使用されたグラフィックス処理ユニット間のオペレーション１６１２で生成される情景の様々な部分を分配する方法に関する決定をも含むことができる。グラフィックス処理ユニット・スケーリングの決定をする例示の手法には、例えば、図７−図１０に関して上記で記述され、また本開示の至る所で記述されているものもある。
【０１０４】
オペレーション１６１８では、１つまたは複数のグラフィックス処理ユニットが、情景に関連して提示を生成するために使用されている。その提示は、オペレーション１６１６でなされるグラフィックス処理ユニット・スケーリングの決定に従って生成されてもよい。上述した通り、複数のグラフィックス処理ユニットが、オペレーション１６１８で使用されると、グラフィックス処理ユニットは、場合によっては、お互いに少なくとも部分的に同時に情景に関連付けて提示を生成してもよい。また、場合によっては、複数のグラフィックス処理ユニットの使用が、情景の提示に単一のグラフィックス処理ユニットのみが使用されるときと比較して情景の提示に要する包括的な時間を減少することができ得ることもある。
【０１０５】
オペレーション１６２０では、オペレーション１６１８で生成された提示が１つまたは複数の情景表示に関連付けられる。例示のシナリオでは、単一のグラフィックユニットが、情景の単一表示を生成するために使用されてもよいものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景のそれぞれの表示を各々生成することができるものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景の単一の表示を形成するために結合するものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景の複数の表示を形成するために結合するものもある。さらに、上記または他の例示のシナリオの任意の組み合わせも、また使用され得る。従って、オペレーション１６２０は、例えば、生成されたどの提示部分が一体とされて情景に基づいて生成され、各々の提示された表示となるかを決定しおよび／または識別することを含んでいてもよい。提示または部分的な提示が、例えば、提示または部分の提示を含む各表示に関連付けられてもよい。オペレーション１６２０は、また、例えば、複数のグラフィックス処理ユニットからの提示部分を組み合わせて、１つまたはそれ以上の表示にすることができる。複数グラフィックス処理ユニットからの提示を組み合わせて表示とする、スティッチングやレイヤリング手法などの例示手法には、図１１−図１３に図示されて、かつ、上記で詳述されているものもある。場合によっては、複数グラフィックス処理ユニットが情景の複数表示を形成するために組み合わされるとき、スティッチングやレイヤリングなどの組み合わせ手法が、複数の表示の各々について、全体的に、または部分的に繰り返されてもよい。
【０１０６】
オペレーション１６２２では、情景の１つまたは複数の表示がコンテンツプロバイダによって、１つまたは複数の参加しているクライアントに送信される。上述の通り、場合によっては、それぞれ別のストリーミングサーバが、各クライアントへの送信に使用されてもよい。また、上述の通り、場合によっては、複数の異なった表示が、情景に関連付けて形成され得ることもある。これらの場合には、複数の異なった表示の各々が、情景に関連付けられたそれぞれ異なった画像を含んでよい。従って、場合によっては、複数の異なった画像がオペレーション１６２０で形成され、オペレーション１６２２で送信され得る。
【０１０７】
オペレーション１６２４では、送信されるコンテンツアイテムに関連する生成のために、残っている情景があるかどうか決定される。残っている情景があれば、プロセスはオペレーション１６１２に戻る。これに反して、生成の残景がなければ、コンテンツアイテムの送信がオペレーション１６２６で終了する。
【０１０８】
上述した通り、場合によっては、別のグラフィックス処理ユニットからの提示が、１つまたは複数の表示を形成するために、一緒に組み合わされる。上述の例示によっては、別のグラフィックス処理ユニットからの提示が、コンテンツプロバイダによって一緒に組み合わされ得ることもある。しかしながら、場合によっては、別のグラフィックス処理ユニットからの提示が、開示された手法に従って、クライアントによって一緒に組み合わされ得ることもある。そのような場合には、コンテンツプロバイダは、例えば、複数の提示を最初に組み合わせて１つまたは複数に表示にすることなく、複数のグラフィックス処理ユニットからの提示をクライアントに送信してもよい。クライアントは、その提示を受信し、提示を組み合わせて１つまたは複数の表示にすることができる。クライアントは、上述されたスティッチングおよびレイヤリング手法の任意の組み合わせ、または受信された提示を組み合わせるために、他の適切な手法を使用することができる。
【０１０９】
場合によっては、情景の複数の異なった表示に関連付けられたデータが組み合わされて、提示ターゲットなどの単一のデータコレクションになる場合もある。本開示に従った複数の表示生成のデータコレクションを使用する例示システムは、図１７に図示されている。図示にように、コンテンツプロバイダ１７００は、上述されている通り、コンテンツアイテムの情景の複数の表示１７３０Ａ−Ｃに関連付けられたデータを生成するために使用され得るグラフィックス処理ユニット１７０２を含んでいる。図１７の実施例において、３つの表示１７３０Ａ−Ｃは３人のクライアント１７５０Ａ−Ｃに送信される。特に、表示１７３０Ａはクライアント１７５０Ａに送信され、表示１７３０Ｂはクライアント１７５０Ｂに送信され、そして、表示１７３０Ｃはクライアント１７５０Ｃに送信される。
【０１１０】
図１７に示されているように、グラフィックス処理ユニット１７０２および／または他のコンポーネントは、複数の異なった表示に関連付けられたデータを含むおよび／または保存するデータコレクション１７１０を生成する。データコレクション１７１０は、例えば、提示ターゲットまたは他のデータコレクションであってよい。本明細書で使用される用語の提示ターゲットは、１つまたは複数の提示に関連付けられたデータコレクションまたは情景に関連付けられた情報の他の表現をいう。データコレクション１７１０は、例えば、データコレクション１７１０にあり、１つまたは複数の提示に関連付けられたデータ、あるいは情景に関連付けられた情報の他の表現をいう。下記で詳細に述べられるように、データコレクション１７１０に含まれるデータは、例えば、操作された配置、頂点、ピクセル、色、質感、シェーディングおよび情景の表示に関連付けられる他のデータに対応するデータを含むことができる。また、図１７に示されているように、データコレクション１７１０は、それぞれの表示１７３０Ａ−Ｃに各々関連付けられた複数のセクション１７２０Ａ−Ｃを含んでいる。特に、セクション１７２０Ａは表示１７３０Ａに関連付けられ、セクション１７２０Ｂは表示１７３０Ｂに関連付けられ、そしてセクション１７２０Ｃは表示１７３０Ｃに関連付けられている。もう一度改めて言えば、図１７は３つの表示１７３０Ａ−Ｃに関連付けられた３つのセクション１７２０Ａ−Ｃを図示し、開示された手法に従ったデータコレクションは、任意数の異なった表示に関連付けられた任意数の異なったセクションを含むことができる。
【０１１１】
表示１７３０Ａ−Ｃに関連付けられたデータがセクション１７２０Ａ−Ｃ内に首尾よく含まれていたとき、符号化コンポーネント１７４０Ａ−Ｃは、それぞれ表示１７３０Ａ−Ｃに関連付けられたデータコレクション１７１０のそれぞれのセクション１７２０Ａ−Ｃから各々データを抽出してもよい。特に、符号化コンポーネント１７４０Ａは、セクション１７２０Ａから、データを抽出し、符号化コンポーネント１７４０Ｂは、セクション１７２０Ｂから、データを抽出し、符号化コンポーネント１７４０Ｃは、セクション１７２０Ｃから、データを抽出する。送信コンポーネント１７４１Ａ−Ｃは、それぞれ表示１７３０Ａ−Ｃをクライアント１７５０Ａ−Ｃに送信する。場合によっては、クライアント１７５０Ａ−Ｃの各々は、表示１７３０Ａ−Ｃをそれぞれクライアント１７５０Ａ−Ｃに送信できるようにするそれぞれ専用のストリーミングサーバを有している。各専用のストリーミングサーバは、場合によっては、それぞれ符号化コンポーネントおよび送信コンポーネントを備えている。例えば、クライアント１７５０Ａのそれぞれの専用ストリーミングサーバは、場合によっては、符号化コンポーネント１７４０Ａおよび送信コンポーネント１７４１Ａを備えている。
【０１１２】
入力制御プレーン１７８０および／または他のコンポーネントは、例えば、所与の情景に関連して生成される多くの情景を決定するために使用され得る。上記に詳述したように、クライアント１７５０Ａ−Ｃからの共有状態情報は、場合によっては、複数の表示に関連付けられた情報を部分的に決定するために使用され得る。入力制御プレーン１７８０および／または他のコンポーネントは、また、例えば、セクション１７２０Ａ−Ｃを含むために、プロビジョニングデータコレクション１７１０を支援することができ、それらのセクションは、複数の表示１７３０Ａ−Ｃのそれぞれ１つに各々関連付けられている。セクション１７２０Ａ−Ｃの各々は、例えば、データの一部分が他から区別されることを許容する、様々なディメンジョン、データアドレス、データ範囲、データ量、サイズおよびその他のパラメータなどによって定義され得る。場合によっては、入力制御プレーン１７８０は、グラフィックス処理ユニット１７０２および／または符号化コンポーネント１７４０Ａ−Ｃを決定し、データコレクション１７１０およびセクション１７２０Ａ−Ｃに関連付けられたパラメータを知らせることができる。パラメータは、また、場合によっては、グラフィックス処理ユニット１７０２によって、あるいは他のコンポーネントによって、決定されてもよい。
【０１１３】
いろいろな手法が、データコレクション１７１０およびセクション１７２０Ａ−Ｃのパラメータを決定するために使用され得る。１つの実施例では、各セクション１７２０Ａ−Ｃは、等しいサイズにされ、長さＬで幅Ｗを有してもよい。これによって、３セクション１７２０Ａ−Ｃの各々の長さを説明するＷ＊３Ｌのサイズを有するデータコレクション１７１０になることができる。場合によっては、データコレクションは、Ｗ＊３Ｌのサイズを越えるデータコレクションになってもよい追加の情報を含んでもよい。場合によっては、セクション１７２０Ａ−Ｃの各々がお互いについて異なったサイズを有してもよい。異なったサイズのセクションを使用すると、例えば、表示１７３０Ａ−Ｃが異なった解像度に関連付けられたときに、好都合である。例えば、異なったクライアントおよび／もしくはお互いに異なった解像度のビデオを呈示することができる。場合によっては、より低い解像度の表示が小さいサイズのデータコレクションに関連していて、より高い解像度の表示が大きいサイズのデータコレクションに関連してもよい場合がある。大きなデータ・コレクション・セクション・サイズを使用すると、例えば、増加されたデータ量がより大きいセクションに含まれ得ることになり、表示のより高い解像度を作ることを支援することができる。場合によっては、入力制御プレーン１７８０または他のコンポーネントは、各クライアント１７５０Ａ−Ｃによって提供された情報に基づいて、表示の各々に関連付けられた解像度を決定してもよい。入力制御プレーン１７８０または他のコンポーネントは、クライアント１７５０Ａ−Ｃによって提供された解像度情報に基づいて、データコレクション１７１０およびセクション１７２０Ａ−Ｃを設定してもよい。
【０１１４】
用語データコレクション生成コンポーネントは、この明細書では、少なくとも部分的にデータコレクション１７１０の生成を支援するために使われるコンポーネントをいうために使用される。例示のデータコレクション生成コンポーネントは、例えば、入力制御プレーン１７８０、グラフィックス処理ユニット１７０２およびデータコレクション１７１０の生成を援助する任意の他のコンポーネントを含むことができる。１以上のデータコレクション生成コンポーネントは、例えば、多くの生成される情景の表示を決定することができる。データコレクション１７１０が、提示ターゲットである場合、データコレクション生成コンポーネントは、また、提示ターゲット生成コンポーネントと称されてもよい。
【０１１５】
上述した通り、情景の複数の異なった表示は、例えば、それぞれ、各表示に関連付けられた異なったそれぞれの展望を描写してもよい。各表示、例えば、１つまたは複数のそれぞれのコンテンツアイテムのエンティティの展望から生成され得る。それぞれのコンテンツアイテムのエンティティは、例えば、提示された表示が、送信される１つまたは複数のクライアントよって制御され、関連付けられてもよい。それぞれのエンティティは、例えば、キャラクタ、乗り物またはコンテンツアイテムの情景に関連付けられた任意の他のエンティティでもよい。例えば、場合によっては、表示に関連付けられた展望が、眼を通してそれぞれのキャラクタが表示されるであろう情景、またはそれぞれのエンティティに関連付けられた他の位置から表示されるであろう情景を描写することができる。他の例として、表示に関連付けられた展望は、それぞれのキャラクタまたはその他のエンティティが、表示の中心にある情景、または表示内で関心の高い位置にあるおよび／また高い視認性のある場所の情景を描写してもよい。
【０１１６】
本開示に従った複数表示に関連付けられたデータを含んでいる、第１例示データコレクションが、図１８に図示されている。図示されているように、データコレクション１８１０は、セクション１８２０Ａ−Ｃを含んでいる。セクション１８２０Ａ−Ｃは、情景１８０５の３つの異なった表示１８３０Ａ−Ｃから表現１８５０Ａ−Ｃ、１８６０Ａ−Ｃおよび１８７０Ａ−Ｃを描写している。特に、セクション１８２０Ａは、表現１８５０Ａ、１８６０Ａおよび１８７０Ａを含み、セクション１８２０Ｂは、表現１８５０Ｂ、１８６０Ｂおよび１８７０Ｂを含み、セクション１８２０Ｃは、表現１８５０Ｃ、１８６０Ｃおよび１８７０Ｃを含んでいる。
【０１１７】
表現１８５０Ａ−Ｃ、１８６０Ａ−Ｃおよび１８７０Ａ−Ｃは、情景１８０５内に含まれている物体の表現１８５０、１８６０および１８７０である。特に、表現  １８５０Ａ−Ｃは、物体の表現１８５０、表現１８６０Ａ−Ｃは、物体の表現１８６０および表現１８７０Ａ−Ｃは、物体の表現１８７０である。物体１８５０、１８６０および１８７０並びに表現１８５０Ａ−Ｃ、１８６０Ａ−Ｃおよび１８７０Ａ−Ｃは、多くの異なったテクスチャ、色およびその他の視覚効果を含み得ることが注目される。しかしながら、説明を簡単にするため、これらの視覚効果は、図１８−図２０には示されていない。
【０１１８】
場合によっては、グラフィックス処理ユニットは、他の物体の表現に移る前に、データコレクションの各セクションの物体の表現を形成してもよい。この表現形成シーケンスの実施例は、図１９に図示されている。特に、図１９は、図１８のデータコレクション１８１０を、３つの異なるステージの形成において示している。ステージ１９１０Ａは形成の第１ステージであり、第２ステージ１９１０Ｂおよび第３ステージ１９１０Ｃ以前に起こる。図示の通り、第１ステージ１９１０Ａでは、物体１８５０に関連付けられた表現１８５０Ａ−Ｃのみが、セクション１８２０Ａ−Ｃで形成されている。
【０１１９】
場合によっては、表現１８５０Ａ−Ｃの形成は、いろいろな配置操作、色付け、テクスチャ処理およびシェーディングなどのオペレーションの実行を含んでもよい。例えば、場合によっては、表現１８５０Ａは、セクション１８２０Ａで最初に形成されてもよい。表現１８５０Ａの形成は、例えば、情景１８０５の物体１８５０に関連付けられた配置を読み込み、物体１８５０の配置操作を含み、そのため表示１８３０Ａに関連付けられた展望から呈示されるようにしてもよい。表現１８５０Ａの形成は、また、例えば、表現１８５０Ａにいろいろな色、テクスチャおよび／またはシェーダを適用することを含むことができる。表現１８５０Ａにテクスチャを適用することは、例えば、物体１８５０に最初に関連付けられる１つまたは複数の保存されたテクスチャファイルを読み込むことを含んでもよい。表現１８５０Ａにシェーダを適用することは、例えば、物体１８５０に関連付けられた１つまたは複数のシェーダプログラムを読み込むことを含むことができる。
【０１２０】
場合によっては、セクション１８２０Ａの表現１８５０Ａの形成後、表現１８５０Ｂがセクション１８２０Ｂで形成されることがある。しかしながら、表現１８５０Ｂは表現１８５０Ａの後で形成されるので、配置、テクスチャ、シェーダおよびその他のプログラム並びに物体１８５０に関連付けられた情報は、場合によっては、グラフィックス処理ユニットによって既に読み込まれていることがある。従って、表現１８５０Ｂの形成は、場合によっては、表現１８５０Ａを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。表現１８５０Ｂの形成は、例えば、物体１８５０の既に読み込まれた配置の操作を含み、そのため表示１８３０Ｂに関連付けられた展望から呈示される。表現１８５０Ｂの形成は、また、例えば、表現１８５０Ａに対して、いろいろな色、テクスチャおよび／またはシェーダの適用を含むことができる。上述した通り、表現１８５０Ｂに適用されるテクスチャおよびシェーダは、例えば、以前に読み込まれたテクスチャおよび表現１８５０Ａの形成に以前使用されたシェーダを含んでもよい。
【０１２１】
場合によっては、セクション１８２０Ｂの表現１８５０Ｂの形成後、表現１８５０Ｃがセクション１８２０Ｃで形成される。しかしながら、繰り返しになるが、表現１８５０Ｃは表現１８５０Ａおよび１８５０Ｂの後で形成されるので、配置、テクスチャ、シェーダおよびその他のプログラム並びに物体１８５０に関連付けられた情報は、場合によっては、グラフィックス処理ユニットによって既に読み込まれている場合がある。従って、表現１８５０Ｂと同様に、表現１８５０Ｃの形成は、また、場合によっては、表現１８５０Ａを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。表現１８５０Ｃの形成は、例えば、物体１８５０の既に読み込まれた配置の操作を含み、そのため表示１８３０Ｃに関連付けられた展望から呈示される。表現１８５０Ｃの形成は、また、例えば、表現１８５０Ｃに対して、いろいろな色、テクスチャおよび／またはシェーダを適用することを含むことができる。上述した通り、表現１８５０Ｃに適用されるテクスチャおよびシェーダは、例えば、以前に読み込まれたテクスチャおよび表現１８５０Ａおよび１８５０Ｂの形成に以前使用されたシェーダを含んでもよい。
【０１２２】
図１９のステージ１９１０Ｂは、形成の第２ステージであり、第１ステージ１９１０Ａに引き続き、かつ、第３ステージ１９１０Ｃの前に起こる。図示のように、第２ステージ１９１０Ｂでは、物体１８５０に関連付けられた表現１８５０Ａ−Ｃおよび物体１８６０に関連付けられた表現１８６０Ａ−Ｃがセクション１８２０Ａ−Ｃにおいて形成されている。場合によっては、表現１８６０Ａ−Ｃが、第１形成表現１８６０Ａ、後を引き継ぐ１８６０Ｂ、後を引き継ぐ１８６０Ｃによって形成され得る。表現１８６０Ａの形成は、例えば、物体１８６０に関連付けられた配置の読み込み、物体１８６０に関連付けられた１または複数のテクスチャの読み込みおよび物体１８６０に関連付けられた１または複数のシェーダの読み込みを含むことができる。しかしながら、表現１８６０Ｂおよび１８６０Ｃが、表現１８６０Ａの後で形成されるとき、配置、テクスチャ、シェーダおよび様々なプログラム並びに物体１８６０に関連付けられた情報が、場合によっては、グラフィックス処理ユニットによって既に読み込まれていてもよい。従って、表現１８６０Ｂおよび１８６０Ｃの形成は、場合によっては、表現１８６０Ａを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。
【０１２３】
ステージ１９１０Ｃは、形成の第３ステージであり、第１ステージ１９１０Ａおよび第２ステージ１９１０Ｃに引き続いて起こる。図示のように、第３ステージ１９１０Ｃでは、表現１８５０Ａ−Ｃ、１８６０Ａ−Ｃおよび１８７０Ａ−Ｃがセクション１８２０Ａ−Ｃにおいて形成されている。場合によっては、表現１８７０Ａ−Ｃが、第１形成表現１８７０Ａ、後を引き継ぐ１８７０Ｂ、後を引き継ぐに１８７０Ｃよって形成されることがある。表現１８７０Ａの形成は、例えば、物体１８７０に関連付けられた配置の読み込み、物体１８７０に関連付けられた１または複数のテクスチャの読み込みおよび物体１８７０に関連付けられた１または複数のシェーダの読み込みを含むことができる。しかしながら、表現１８７０Ｂおよび１８７０Ｃが、表現１８７０Ａの後で形成されるとき、配置、テクスチャ、シェーダおよび様々なプログラム並びに物体１８７０に関連付けられた情報が、場合によっては、グラフィックス処理ユニットによって既に読み込まれている。従って、表現１８７０Ｂおよび１８７０Ｃの形成は、場合によっては、表現１８７０Ａを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。
【０１２４】
然るべく評価されるべきである、配置の操作および色、テクスチャ、シェーダの適用に加えて、その他のグラフィックスオペレーションが、セクション１８２０Ａ−Ｃのいずれかまたは全ての表示の形成に従って実行されてもよい。そのようなその他のグラフィックスオペレーションは、例えば、種々の他の変換オペレーション、照明、クリッピング、走査変換、ラスター化、暈しなどを含むことができる。
【０１２５】
このため、図１９は、グラフィックス処理ユニットが、他の物体の表現形成に移る前に、データコレクションの各セクションの物体の表現を形成する実施例を図示している。上述した通り、この情報シーケンスは、場合によっては、例えば、各物体に関連付けられた配置、テクスチャ、シェーダおよび他のプログラムまたは情報を繰り返し検索する必要性を減らし、またはなくすることによって有利になる。場合によっては、配置、テクスチャ、シェーダおよび他のプログラムまたは情報の少なくともあるものを、各物体に関連して形成される最初の表現のためにのみ読み込まれるようにしてもよい。同じ物体の引き続く表現は、既に読み込まれた配置、テクスチャ、シェーダおよび他のプログラムまたは情報を再び読み込むことなく形成されてもよい。場合によっては、配置、テクスチャまたはシェーダの各瞬間は、グラフィックス処理ユニットの処理状態変化を受けることになる。そのような状態変化は、情景の複数表示の生成に関連付けられる待機時間を増す。
【０１２６】
場合によっては、図１９に図示されているような形成シーケンスの使用によって、情景の複数の表示を生成するために必要とされる状態変化量を著しく減少する。例えば、場合によっては、状態変化数が情景の物体量に対応する要因で減少される。例えば、セクション１８２０Ａ（１８５０Ａ、１８６０Ａおよび１８７０Ａを含む）の各表現を最初に形成し、次いでセクション１８２０Ｂ（１８５０Ｂ、１８６０Ｂおよび１８７０Ａを含む）の各表現を形成し、そしてセクション１８２０Ｃ（１８５０Ｃ、１８６０Ｃおよび１８７０Ｃを含む）の各表現を形成することによって、図１８のデータコレクション１８１０が形成される代替形成シーケンスを考察しよう。この代替形成シーケンスは、場合によっては、図１９に図示されている形成シーケンスを使用することになる場合に比べて、状態変化の多さが３倍を必要とすることもあり得る。これは、各物体に関連付けられた後続の表現を再読み込みすることなく、各目的物に関連付けられた最初の表現のみについて読み込みを実行することとは対照的に、代替形成シーケンスが、各表現毎に読み込まれる配置、テクスチャ、シェーダおよび他のプログラムまたは情報を必要とするからである。
【０１２７】
図１８に戻ると、図１８のデータコレクション１８１０は、等しいサイズのセクション１８２０Ａ−Ｃを含むことが注目される。しかしながら、上述した通り、データコレクション内のセクションは、必ず等しいサイズでなければならないという要件はない。場合によっては、データコレクションは、それぞれ異なったサイズのセクションを含むこともある。それぞれ異なったサイズの各々は、お互いに関して異なったデータ量を含んでもよく、含むことができてもよい。特に、より大きいサイズにされたセクションは、場合によっては、より小さいサイズにされたセクションと比較してより多量のデータを含んでもよく、含むことができてもよい。各セクションのサイズおよび／または各セクションに含まれるデータ量は、場合によっては、セクションが関連付けられた表示を受信する１つまたは複数のクライアントに対応する解像度に基づいて決定される。例えば、異なったクライアントおよび／またはクライアントについて異なったアプリケーションがお互いに関して異なった解像度でビデオを呈示する。場合によっては、より小さい量のデータを含んだより小さいセクションは、より低い解像度に関連付けられた表示に対応することがある一方で、より多量のデータを含んだより大きいセクションは、より高い解像度に関連付けられた表示に対応することがある。図２０は、お互いについて異なったサイズのセクション２０２０Ａ−Ｃを含んでいるデータコレクション２０１０を図示している。上述した通り、異なったサイズのセクション２０２０Ａ−Ｃの使用は、例えば、表示が異なった解像度に関連付けられたときに、有用であり得る。特に、図２０に示されているように、セクション２０２０Ａが高解像度表示２０３０Ａに関連付けられ、セクション２０２０Ｂが中解像度表示２０３０Ｂに関連付けられ、セクション２０２０Ｃが低解像度表示２０３０Ｃに関連付けられている。セクション２０２０Ａは、セクション２０２０Ｂより多量のデータを含み、セクション２０２０Ｂはセクション２０２０Ｃより多量のデータを含んでもよい。
【０１２８】
図２１は本開示に従った複数表示生成のデータコレクションの例示手続きを示すフローチャートである。図２１のフローチャートは、データコレクションが現行情景の３つの表示にそれぞれ関連付けられた３セクションを含む特定の実施例に関するものである。しかしながら、開示の手法が、任意の数の異なった表示に、それぞれ関連付けられた任意の数の異なったセクションを含むデータコレクションに関連して使用されることについて、もう一度改めて指摘される。
【０１２９】
オペレーション２１０４では、現行の情景が作成される。上述した通り、ビデオゲームおよび／または他のコンポーネントなどのコンテンツアイテムによって、情景が少なくとも部分的に作成され得る。現行の情景が、例えば、１つまたは複数のクライアントによって提供されるコンテンツアイテムの情報および内容情報に基づいて、作成されてもよい。
【０１３０】
オペレーション２１０６では、データ・コレクション・アレンジメント情報が受領される。データ・コレクション・アレンジメント情報は、例えば、各情景および／またはコンテンツアイテムの現行情景、各表示に関連付けられた解像度およびデータコレクションを設定するために使われる他の情報のために生成される多くの表示を含むことができる。コンテンツプロバイダは、生成される表示数を決定する多くの異なった手法を使うことができる。例えば、場合によっては、コンテンツアイテムが送信されるそれぞれ異なったクライアントは、それ自体が所有するそれぞれの表示を受信することがある。表示．  また、場合によっては、異なったキャラクタまたは他のエンティティを制御するか、あるいは関連付けられる各クライアントは、それぞれのそれ自体の表示を受信する。しかしながら、上述した通り、異なったエンティティを制御する特定のクライアントは、場合によっては、同一の表示を受信することがある。また、場合によっては、同じキャラクタまたは他のエンティティを制御するクライアントは、同一の表示を受信する。場合によっては、異なった表示解像度を使用している、またはその解像度に関連付けられているクライアントは、それぞれのそれ自体の表示を受信することがある。場合によっては、多くの表示が、１つまたは複数のクライアントによって提供される状態情報、またはその他の情報に基づいて決定され得る。
【０１３１】
オペレーション２１０８では、データコレクションが、オペレーション２１０６で識別されるアレンジメント情報に基づいて編成される。データコレクションのアレンジメントは、例えば、データコレクションに含まれる多くのセクションの決定を含んでいる。また、データコレクションのアレンジメントは、例えば、様々なディメンジョン、データアドレス、データ範囲、データ量および各セクションに関連付けられたその他のパラメータなどのパラメータを定義することが含まれてもよい。場合によっては、各セクションは、各セクションに対応する表示を受信する１つまたは複数のクライアントに関連付けられた解像度に基づいて決定され得る。上述した通り、場合によっては、入力制御プレーンおよび／または他のコンポーネントが、グラフィックス処理ユニットおよび／またはいろいろな符号化および送信コンポーネントを決定し、データコレクションおよびそのセクションに関連付けられたディメンジョンまたはその他のパラメータを通知することができる。ディメンジョンまたはその他のパラメータも、また、場合によっては、グラフィックス処理ユニットまたは他のコンポーネントによって決定されてもよい。
【０１３２】
場合によっては、オペレーション２１０６および２１０８は、コンテンツアイテムを楽しむことに関連して作成されるそれぞれ異なった情景を必ずしも繰り返す必要はない。例えば、場合によっては、オペレーション２１０６および２１０８は、コンテンツアイテムを楽しむことを開始ときに実行され、アレンジメント情報が実質的にある情景と次の情景で一致している限り、各情景の各データコレクションのアレンジメント情報が、一定でよい。場合によっては、特定の変化が生じ、その変化が検出された後で、データコレクションが次の情景のために再編成される。例えば、１つまたは複数のクライアントがビデオゲームをするために参加したこと、または、その参加を止めとことが検出されると、その後の情景のデータコレクションは、この情報の検出に基づいて再編成され得る。特に、例えば、後続する情景のデータコレクションがその情報に基づいて必要な幾つかのセクショの追加を含むように再編成されてもよい。
【０１３３】
オペレーション２１１０では、現行の物体が繰り返され、そのため現行の物体が次の物体となる。現行の物体は、その表現がオペレーション２１１２−２１１６におけるデータコレクションで形成される物体である。例えば、図１９に戻って図示の実施例を参照すると、オペレーション２１１０の最初の反復は、物体１８５０を現行の物体に設定することを含むことができる。他の実施例のように、オペレーション２１１０の第２の反復は、物体１８６０を現行の物体に設定することを含むことができる。オペレーション２１１０は、説明を簡単にする目的のために、図２１のプロセスにおけるオペレーションが、現行の情景の１つまたは複数の物体のために繰り返されてもよいことを、読者に明らかにすることを含むことが注目される。オペレーション２１１０は、コンテンツプロバイダによって、必ずしも処理や計算を必要としない。情景の物体が現行の物体として選択される順序を決めるために、任意数の手法が使用され得る。例えば、その順序は、コンテンツアイテムによって、グラフィックス処理ユニットによって、またはその他のコンポーネントによって、決定され得る。その順序は、１つまたは複数の表示、または任意のその他の適切な要因に関連付けられた展望に関する物体の相対深度などの要因に基づいて決定され得る。
【０１３４】
オペレーション２１１２では、現行の物体の表現が、データコレクションの第１セクションにおいて形成される。例えば、図１９に戻って図示の実施例を参照すると、オペレーション２１１２の第１の反復は、セクション１８２０Ａの表現１８５０Ａの形成を含んでもよい。サブオペレーション２１１２Ａは、オペレーション２１１２が、例えば、現行の物体に関連付けられた配置、テクスチャおよびシェーダを含み得ることを示している。例えば、現行の物体の配置が、第１セクションに関連付けられた表示に対応する展望から呈示された表現を形成するために、読み込まれ、操作され得る。加えて、物体に関連付けられたいろいろなテクスチャおよびシェーダが、第１セクションに形成される表現に読み込まれ、適用され得る。また、任意数の他の追加または代替オペレーションが、第１セクションの表現を形成するために実行されてもよい。
【０１３５】
オペレーション２１１４では、現行物体の表現が、データコレクションの第２セクションで形成される。例えば、図１９に戻って図示の実施例を参照すると、オペレーション２１１４の第１反復は、セクション１８２０Ｂの表現１８５０Ｂの形成を含むことができる。サブオペレーション２１１４Ａは、オペレーション２１１４が、例えば、現行の物体に関連付けられた、既に読み込まれている配置、テクスチャおよびシェーダの使用を含み得ることを示している。例えば、場合によっては、サブオペレーション２１１２Ａで読み込まれた現行の物体の配置が、第２セクションに関連付けられた表示に対応する展望から呈示された表現を形成するために、操作され得ることもある。加えて、サブオペレーション２１１２Ａで読み込まれた物体に関連付けられたいろいろなテクスチャおよびシェーダが、第２セクションに形成される表現に適用され得ることもある。また、任意数の他の追加または代替オペレーションが、第１セクションの表現を形成するために実行され得る。
【０１３６】
オペレーション２１１６では、現行の物体の表現が、データコレクションの第３セクションで形成される。例えば、図１９に戻って図示の実施例を参照すると、オペレーション２１１６の第１の反復は、セクション１８２０Ｃの表現１８５０Ｃの形成を含んでもよい。サブオペレーション２１１６Ａは、オペレーション２１１６が、例えば、現行の物体に関連付けられた、既に読み込まれた配置、テクスチャおよびシェーダの使用を含み得ることを示している。例えば、場合によっては、サブオペレーション２１１２Ａで読み込まれた現行の物体の配置が、第３セクションに関連付けられた表示にそれぞれ対応する展望から呈示された表現を形成するために、操作され得ることもある。加えて、場合によっては、サブオペレーション２１１２Ａで読み込まれた物体に関連付けられたいろいろなテクスチャおよびシェーダが、第３セクションに形成される表現に適用され得ることもある。また、任意数の他の追加または代替の適切な配置オペレーションが、第３セクションの表現を形成するために実行され得る。
【０１３７】
サブオペレーション２１１２Ａ、２１１４Ａおよび２１１６Ａは、オペレーション２１１２、２１１４および２１１６でそれぞれ実行され得る幾つかの例示のサブオペレーションを識別することを単に意図したものであり、全てのサブオペレーションが必要とされるわけではなく、必ずしも、全ての場合に実行され得る全てのサブオペレーションの完全なリストを含んでいるわけではないことについて改めてもう一度指摘される。例えば、場合によっては、オペレーション２１１４および２１１６は、オペレーション２１１２や他のオペレーションでは以前に読み込まれていない、なんらかの配置、テクスチャ、シャーダおよび／またはその他のコンポーネントの使用を含むこともある。
【０１３８】
オペレーション２１１８では、データコレクションでその表現がいまだ形成されていない現行情景に残っている物体があるかどうかが決定される。もし残っているのであれば、プロセスはオペレーション２１１０に戻り、そこで現行の物体が次の残りの物体と設定される。そして、オペレーション２１１２−２１１６は、データコレクションの各セクションの次の物体を形成するために繰り返される。例えば、図１９に戻って図示の実施例を参照すると、オペレーション２１１２−２１１６の第２の反復は、表現１８６０Ａ−Ｃの形成を含み、そしてオペレーション２１１２−２１１６の第３の反復は、表現１８７０Ａ−Ｃの形成を含み得る。場合によっては、データコレクションは、例えば、各表示にとって適切な程度で情景の各物体のオペレーション２１１２−２１１６を実行することによって生成され得ることもある。しかしながら、場合によっては、図２１において示されている順序で物体表現の形成を必要とせずに生成され得ることもある。場合によっては、情景内の特定物体は、必ずしも、特定の表示内に含まれる必要はなく、特定の表示に関連付けられたデータコレクションの情景内で形成される対応する表現を持つ必要もない。これは、例えば、物体が特定の表示に関連付けられた表示領域の外に置かれたときに生じ得る。
【０１３９】
オペレーション２１１８では、データコレクションでその表現がいまだ形成されていない現行情景に残っている物体がないのであれば、プロセスはオペレーション２１２０に進み、そこで現行の情景の第１、第２および第３の表示をそれぞれ形成するデータコレクションの第１、第２および第３セクションの各々から少なくとも一部が抽出される。オペレーション２１１２では、第１、第２および第３の表示が符号化され、オペレーション２１２４では、第１、第２および第３の表示が送信される。場合によっては、第１、第２および第３の表示の各々は、第１、第２および第３のクライアントに送信され得ることもある。その他の場合は、１つまたは複数の表示が単一のクライアントに送られてもよい。上述した通り、場合によっては、第１、第２および第３の表示の各々のデータコレクションは、例えば、それぞれ専用のストリーミングサービスを含む、または専用のストリーミングサービス内に含まれる、それぞれ専用の符号化および送信コンポーネントによって、符号化され、送信され得ることもある。
【０１４０】
これまでのセクションで記述されている各々のプロセス、方法およびアルゴリズムは、１つまたは複数のコンピュータまたはプロセッサによって実行されたコードモジュールに具現化され、かつ完全にまたは部分的に自動化され得る。コードモジュールは、ハードドライブ、固体メモリ、光学的ディスクなどの非一時的コンピュータ可読媒体またはコンピュータ記憶デバイスに保存され得る。プロセスおよびアルゴリズムは、特定アプリケーション回路に一部分あるいは全部が組み込まれてもよい。開示されたプロセスおよびプロセスステップの結果は、例えば、揮発性または不揮発性記憶装置などの任意タイプの非一時的コンピュータ記憶装置に永続的に、または適宜に保存されてもよい。
【０１４１】
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
１．  １つまたは複数の計算ノードの実行により、１つまたは複数の計算ノードにオペレーションを実行させるインストラクションを保存する１つまたは複数の計算ノードであって、ビデオゲームの第１情景を識別すること、第１情景は少なくとも第１部分と第２部分から成り、複数のグラフィックス処理ユニットがビデオゲームの第１情景に基づいて第１画像を提示するために使用され、第１グラフィックス処理ユニットによって、ビデオゲームの第１情景の第１部分に基づいて第１提示を生成すること、第２グラフィックス処理ユニットによって、ビデオゲームの第１情景の第２部分に基づいて第２提示を生成すること、第１提示の生成および第２提示の生成は、互いに少なくとも部分的に、同時に行われ、第１提示の少なくとも一部および第２の提示の少なくとも一部をビデオゲームの第１情景の１つまたは複数の表示に関連付けることおよび１つまたは複数のクライアントにビデオゲームのストリーミング送信の一部としてディスプレイのために１つまたは複数のクライアントに１つまたは複数の表示を送信することから構成される１つまたは複数の計算ノード。
２．  第１節の１つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは変化可能である。
３．  第２節の１つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは、少なくとも一部分が第１グラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
４．  第１節の１つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは、少なくとも一部分が、ビデオゲームの１つまたは複数の情景に関連して生成される多数の表示に基づいて決定される。
５．  １つまたは複数の計算ノードにより、少なくとも第１画像を生成するコンピュータ組込方法であって、第１グラフィックス処理ユニットによって、コンテンツアイテムの第１情景に基づいて第１提示を生成すること、第２グラフィックス処理ユニットによって、第２グラフィックス処理ユニットによって、コンテンツアイテムの第１情景に基づいて第２提示を生成すること、第１提示の生成および第２提示の生成は、互いに少なくとも部分的に、同時に行われ、第１提示の少なくとも一部および第２の提示の少なくとも一部を第１情景の１つまたは複数の提示に関連付けること、第１提示の少なくとも一部および第２の提示の少なくとも一部を１つまたは複数のクライアントに表示のために送信することから構成されるコンピュータ組込方法。
６．  第５節のコンピュータ組込方法であって、第１提示の少なくとも一部および第２の提示の少なくとも一部を第１情景の１つまたは複数の提示に関連付けることは、第１提示の少なくとも一部を第１情景の第１表示に連係し、第２の提示の少なくとも一部を第１情景の第２提示に関連付けることから構成されるコンピュータ組込方法。
７．  第５節のコンピュータ組込方法であって、第１提示の少なくとも一部および第２の提示の少なくとも一部を第１情景の１つまたは複数の提示に関連付けることは、第１提示の少なくとも一部を第２の提示の少なくとも一部に組み合わせることから構成されるコンピュータ組込方法。
８．  第７節のコンピュータ組込方法であって、その組み合わせは、第１提示の少なくとも一部を第１表示の第１識別領域に挿入することおよび第２提示の少なくとも一部を第１表示の第２識別領域に挿入することから構成されるコンピュータ組込方法。
９．  第７節のコンピュータ組込方法であって、その組み合わせは複数レイヤを含む表現に基づいて実行され、第１レイヤは少なくとも一部の第１提示に対応し、第２レイヤは少なくとも一部の第２提示に対応するコンピュータ組込方法。  
１０．  第５節のコンピュータ組込方法において、コンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは変化可能である。
１１．  第１０節のコンピュータ組込方法において、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は少なくとも一部分が第１グラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
１２．  第１１節のコンピュータ組込方法において、グラフィックス処理ユニットに関連付けられた実行速度がより低いスレショルドに下落すると、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は増加され、グラフィックス処理ユニットに関連付けられた実行速度がより高いスレショルドに上昇すると、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は減少される。
１３．  第５節のコンピュータ組込方法において、１つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、１つまたは複数のコンテンツアイテムに関連して生成される多数の表示の少なくとも一部分に基づいて決定される。
１４．  第５節のコンピュータ組込方法において、１つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、特定のコンテンツプロバイダによって作動されるグラフィックス処理ユニットの利用度の少なくとも一部分に基づいて決定される。
１５．  第５節のコンピュータ組込方法において、１つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、第１情景についてその情景の複雑性の少なくとも一部分に基づいて決定される。
１６．  少なくとも１つの計算ノード上で実行すると、少なくとも１つの計算ノードにオペレーションを実行させるインストラクションを保存している１つまたは複数の非一時的コンピュータ可読記憶媒体であって、コンテンツアイテムの第１情景に基づいて提示を生成する第１の数のグラフィックス処理ユニットを決定すること、生成が第１の数のグラフィックス処理ユニットの各々によって少なくとも部分的に同時に実行され、各提示の少なくとも一部を情景の１つまたは複数の表示に連携することおよび１つまたは複数の表示をディスプレイのために１つまたは複数のクライアントに送信することから構成された非一時的コンピュータ可読記憶媒体。
１７．  第１６節の非一時的コンピュータ可読記憶媒体において、提示の各々の少なくとも一部を第１情景の１つまたは複数の表示に関連付けることは、提示の各々の少なくとも一部を第１情景の第１表示を形成するために組み合わせることから構成される。
１８．  第１７節の非一時的コンピュータ可読記憶媒体において、その組み合わせは、各提示の少なくとも一部を提示の少なくとも一部を第１情景のそれぞれ識別された領域に挿入することから構成される。
１９．  第１７節の非一時的コンピュータ可読記憶媒体において、その組み合わせは複数のレイヤを含む表現に従って実行され、各レイヤはそれぞれ１つの提示に対応する。
２０．  第１６節の非一時的コンピュータ可読記憶媒体において、コンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは第１の数から他の数に変えることができる。
２１．  第２０節の非一時的コンピュータ可読記憶媒体において、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は、少なくとも部分的に、第１のグラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
２２．  第１６節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第１の数は、少なくとも部分的に、第１情景に関連して生成される多くの表示に基づいて決定される。
２３．  第１６節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第１の数は、少なくとも部分的に、特定のコンテンツアイテムによって作動されるグラフィックス処理ユニットの利用度に基づいて決定される。
２４．  第１６節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第１の数は、少なくとも部分的に、第１情景について情景の複雑性に基づいて決定される。
【０１４２】
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
１．  １つまたは複数の計算ノードの実行により、１つまたは複数の計算ノードにオペレーションを実行させるインストラクションを保存する１つまたは複数の計算ノードであって、第１クライアントから第１クライアントビデオゲーム状態情報の少なくとも一部を受信すること、第２クライアントから第２クライアントビデオゲーム状態情報の少なくとも一部を受信すること、第１クライアントビデオゲーム状態情報および第２クライアントビデオゲーム状態情報に基づいて共有されたビデオゲーム状態情報を調整すること、共有されたビデオゲーム状態情報に基づき、第１情景の第１ビデオゲーム表示および第１情景の第２ビデオゲーム表示を生成すること、第１ビデオゲーム表示は少なくとも部分的に第２ビデオゲーム表示と異なり、第１クライアントに第１ビデオゲーム表示を送信すること、
第２クライアントに第２ビデオゲーム表示を送信することから構成される１つまたは複数の計算ノード。
２．  第１節の１つまたは複数の計算ノードにおいて、ビデオゲームは、第１クライアントによって制御される第１ビデオゲームのエンティティに関連付けられる。
３．  第２節の１つまたは複数の計算ノードにおいて、第１ビデオゲーム表示は、第１ビデオゲームのエンティティにそれぞれ関連付けられた第１情景を描写する。
４．  第２節の１つまたは複数の計算ノードにおいて、第１ビデオゲームのエンティティは、高い視認性のある位置の第１ビデオゲーム表示内で描写される。
５．  １つまたは複数の計算ノードにより、第１情景の第１表示を生成するコンピュータ組込方法であって、第１クライアントから第１クライアント状態情報の少なくとも一部を受信すること、第２クライアントから第２クライアント状態情報の少なくとも一部を受信すること、受信された第１クライアント状態情報および第２クライアント状態情報に基づいて、共有された状態情報を調整すること、共有された状態情報に基づいて、第１情景の第１表示を生成することおよび第１表示を第１クライアントに送信することから構成されるコンピュータ組込方法。
６．  第５節のコンピュータ組込方法において、第１表示は薄いクライアント・コンテント・プレゼンテーション・ソフトウェアを使用する第１クライアント上に表示される。
７．  第５節のコンピュータ組込方法において、第１クライアントに対して、第１表示に関連付けられた状態情報を送信することなく、第１表示は第１クライアントに送信される。
８．  第５節のコンピュータ組込方法は、さらに、第１表示を第２クライアントに送信することから構成される。
９．  第８節のコンピュータ組込方法において、第１表示は、第１クライアントによって制御される第１のエンティティと、第２クライアントによって制御される第２のエンティティの両方に関連付けられている。
１０．  第５節のコンピュータ組込方法は、さらに、共有状態情報に基づいて、第１情景の第２表示を生成すること、第１表示は少なくとも一部分が第２表示と異なり、第２表示を第２クライアントに送信することから構成される。
１１．  第１０節のコンピュータ組込方法おいて、第１表示は第１クライアントによって制御される第１のエンティティに関連付けられ、第２表示は第２クライアントによって制御される第２のエンティティに関連付けられる。
１２．  第５節のコンピュータ組込方法おいて、第１クライアントによって制御される第１のエンティティに関連付けられる展望から見られる第１情景を第１表示は描写する。
１３．  第５節のコンピュータ組込方法おいて、第１クライアントによって制御される第１のエンティティは、高い視認性にある第１表示内で描写される。
１４．  第５節のコンピュータ組込方法おいて、第１表示は、少なくとも部分的に、複数のグラフィックス処理ユニットを使用して生成される。
１５．  少なくとも１つの計算ノード上で実行すると、少なくとも１つの計算ノードにオペレーションを実行させるインストラクションを保存している１つまたは複数の非一時的コンピュータ可読記憶媒体であって、第１クライアントからの第１クライアント状態情報の少なくとも一部分を受信し、第２クライアントからの第２クライアント状態情報の少なくとも一部分を受信し、第１クライアント状態情報および第２クライアント状態情報に基づいて共有された状態情報を調整すること、共有された状態情報に基づき第１情景の第１表示を生成すること、共有された状態情報に基づき第１情景の第２表示を生成すること、第１表示は少なくとも部分的に第２表示と異なり、第１クライアントに第１表示を送信すること、第２クライアントに第２表示を送信することから構成される１つまたは複数の非一時的コンピュータ可読記憶媒体。
１６．  第１５節の非一時的コンピュータ可読記憶媒体において、第１表示はシン・クライアント・コンテント・プレゼンテーション・ソフトウエアを使用する第１クライアント上に表示される。
１７．  第１５節の非一時的コンピュータ可読記憶媒体において、第１表示は、第１クライアントに対して、第１表示に関連付けられた状態情報を送信することなく、第１クライアントに送信される。
１８．  第１５節の非一時的コンピュータ可読記憶媒体において、オペレーションは、さらに、第１表示を第３クライアントに送信することから構成される。
１９．  第１８節の非一時的コンピュータ可読記憶媒体において、第１表示は、第１クライアントによって制御される第１のエンティティと、第２クライアントによって制御される第２のエンティティの両方に関連付けられている。
２０．  第１５節の非一時的コンピュータ可読記憶媒体において、第１表示は、第１クライアントによって制御される第１のエンティティに関連付けられ、第２表示は、第２クライアントによって制御される第２のエンティティに関連付けられている。
２１．  第１５節の非一時的コンピュータ可読記憶媒体において、第１クライアントによって制御される第１のエンティティに関連付けられる展望から見られる第１情景を第１表示は描写する。
２２．  第１５節の非一時的コンピュータ可読記憶媒体において、第１クライアントによって制御される第１のエンティティは、高い視認性の位置にある第１表示内で描写される。
２３．  第２２節の非一時的コンピュータ可読記憶媒体において、高い視認性の位置は、第１表示の中央である。
２４．  第１５節の非一時的コンピュータ可読記憶媒体において、第１表示は、少なくとも部分的に、複数のグラフィックス処理ユニットを使用して生成される。
【０１４３】
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
１．  １つまたは複数の計算ノードは、プロセッサと、プロセッサによって実行されるインストラクションを保存しているメモリと、１つまたは複数の提示ターゲット生成コンポーネントが、コンテンツアイテムの情景の少なくとも第１表示および第２表示を生成する決定し、第１表示は第１クライアントに関連付けられた第１展望から情景を呈示し、かつ、第２表示は第２クライアントに関連付けられた第２展望からの情景を呈示し、情景は少なくとも第１物体および第２物体から成り、第１表示に関連付けられた第１セクションおよび第２表示に関連付けられた第２セクションから成る提示ターゲットを生成するように構成され、その提示ターゲットは、少なくとも、第１展望からの第１物体の第１表現を提示ターゲットの第１セクションで形成し、第２展望からの第２物体の第２表現を提示ターゲットの第２セクションで形成すること、第１物体の第１および第２表現の形成に引き続いて、第１展望から第２物体の第１表現を提示ターゲットの第１セクションで形成し、第２展望からの第２物体の第２表現を提示ターゲットの第２セクションで形成することによって生成され、符号化された第１表示を形成するために提示ターゲットの第１セクションの少なくとも一部からデータを符号化するように構成される第１符号化コンポーネントと、符号化された第２表示を形成するために提示ターゲットの第２セクションの少なくとも一部からデータを符号化するように構成される第２符号化コンポーネントと、符号化された第１表示を第１クライアントに送信するように構成された第１送信コンポーネントと、符号化された第２表示を第２クライアントに送信するように構成された第２送信コンポーネントから成る。
２．  第１節の１つまたは複数の計算ノードにおいて、第１セクションに保存されるデータ量は、第２セクションに保存されるデータ量と異なり、第１セクションに保存されるデータ量は、少なくとも第１クライアントに関連付けられた解像度に基づき、第２セクションに保存されるデータ量は、少なくとも第２クライアントに関連付けられた解像度に基づいている。
３．  第１節の１つまたは複数の計算ノードにおいて、第１物体の第１表現を形成することは、第１物体に関係付けられた配置についての操作を実行すること、１つまたは複数のテクスチャを第１物体に適用することおよび１つまたは複数のシェーダを第１物体に適用することから成る。
４．  第１節の１つまたは複数の計算ノードにおいて、第１物体の第１表現を形成することは、シェーダを読み込むことおよびそのシェーダを第１物体の第１表現に適用することからなり、第１物体の第２表現を形成することは、シェーダを再読み込むことなく、シェーダを第２物体の第２表現に適用することから成る。
５．  １つまたは複数の計算ノードによって少なくともコンテンツアイテムの第１表示および第２表示を生成するコンピュータ組込方法は、コンテンツアイテムの情景の少なくとも第１表示および第２表示を生成する決定をすること、第１表示は第１クライアントに関連付けられた第１展望から情景を呈示し、かつ、第２表示は第２クライアントに関連付けられた第２展望からの情景を呈示し、情景は少なくとも第１物体および第２物体から成り、第１表示に関連付けられた第１セクションおよび第２表示に関連付けられた第２セクションから成るデータコレクションを生成すること、第１セクションは第１展望から形成された少なくとも１つまたは複数の物体の表現から成り、第２セクションは第２展望から形成された少なくとも１つまたは複数の物体の表現から成り、第１表示を形成するためにデータコレクションの第１セクションの少なくとも一部からデータを抽出すること、第２表示を形成するためにデータコレクションの第２セクションの少なくとも一部からデータを抽出すること、第１表示を第１クライアントに送信することおよび第２表示を第２クライアントに送信することから成る。
６．  第５節のコンピュータ組込方法において、第１展望は、第１クライアントによって制御されるコンテンツアイテム内のエンティティに関連付けられ、第２展望は、第２クライアントによって制御されるコンテンツアイテム内のエンティティに関連付けられる。
７．  第５節のコンピュータ組込方法において、第１セクションに保存されるデータ量は、第２セクションに保存されるデータ量と異なり、第１セクションに保存されるデータ量は、少なくとも第１クライアントに関連付けられた解像度に基づき、第２セクションに保存されるデータ量は、少なくとも第２クライアントに関連付けられた解像度に基づいている。
８．  第５節のコンピュータ組込方法において、情景に含まれた１つまたは複数の物体は、少なくとも第１物体および第２物体から成り、データコレクションを形成することは、データコレクションの第１セクションに、第１展望からの第１物体の第１表現を形成することおよびデータコレクションの第２セクションに、第２展望からの第１物体の第２表現を形成することおよび第１物体の第１表現および第２表現を形成することに引き続いて、データコレクションの第１セクションに、第１展望からの第２物体の第１表現を形成することおよび、データコレクションの第２セクションに、第２展望からの第２物体の第２表現を形成することから成る。
９．  第８節のコンピュータ組込方法において、第１物体の第１表現を形成することは、第１物体に関連付けられた配置について操作を実行すること、１つまたは複数のテクスチャを第１物体の第１表現に適用することおよび１つまたは複数のシェーダを第１物体の第１表現に適用することから成る。
１０．  第８節のコンピュータ組込方法において、第１物体の第１表現を形成することは、シェーダを読み込むことおよびそのシェーダを第１物体の第１表現に適用することからなり、第１物体の第２表現を形成することは、シェーダを再読み込みすることなく、シェーダを第２物体の第２表現に適用することから成る。
１１．  第８節のコンピュータ組込方法において、第１物体の第１表現を形成することは、テクスチャを読み込むことおよびそのテクスチャを第１物体の第１表現に適用することからなり、第１物体の第２表現を形成することは、テクスチャを再読み込みすることなく、テクスチャを第２物体の第２表現に適用することから成る。
１２．  第５節のコンピュータ組込方法は、さらに、生成される情景の多くの表示を決定することおよび
生成される情景の表示の数に基づいて決定される多くのセクションを含むデータコレクションを編成することから成る。
１３．  第５節のコンピュータ組込方法において、データコレクションは、さらに、第３クライアントに関係づけられた第３表現からの情景の第３表示に関連付けられた第３セクションから成る。
１４．  第５節のコンピュータ組込方法において、１つまたは複数の計算ノードは、第１表示を第１クライアントに送信する第１ストリーミングサーバおよび第２表示を第２クライアントに送信する第２ストリーミングサーバから成る。  
１５．  少なくとも１つの計算ノード上で実行すると、少なくとも１つの計算ノードにペレーションを実行させるインストラクションを保存している１つまたは複数の非一時的コンピュータ可読記憶媒体であって、コンテンツアイテムの情景の第１表示および第２表示を少なくとも生成することを決定すること、第１表示は第１クライアントに関連付けられた第１展望からの情景を呈示し、第２表示は第２クライアントに関連付けられた第２展望からの情景を呈示し、情景は１つまたは複数の物体から成り、第１表示に関連付けられた第１セクションおよび第２表示に関連付けられた第２セクションから成るデータコレクションを生成し、第１セクションは第１展望から形成された１つまたは複数の物体の少なくとも１つの表現から成り、第２セクションは第２展望から形成された１つまたは複数の物体の少なくとも１つの表現から成り、データコレクションの第１セクションの少なくとも一部からのデータを符号化して符号化された第１表示を形成すること、データコレクションの第２セクションの少なくとも一部からのデータを符号化して符号化された第２表示を形成すること、符号化された第１表示を第１クライアントに送信することおよび符号化された第１表示を第１クライアントに送信することからなる１つまたは複数の非一時的コンピュータ可読記憶媒体。
１６．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、第１展望は第１クライアントによって制御されたコンテンツアイテム内のエンティティに関連付けられ、第２展望は第２クライアントによって制御されたコンテンツアイテム内のエンティティに関連付けられている。
１７．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、第１セクションに保存されるデータ量は、第２セクションに保存されるデータ量と異なり、第１セクションに保存されるデータ量は、少なくとも一部は第１クライアントに関連付けられた解像度に基づき、第２セクションに保存されるデータ量は、少なくとも一部は第２クライアントに関連付けられた解像度に基づいている。
１８．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、情景に含まれた１つまたは複数の物体は、少なくとも第１物体および第２物体から成り、データコレクションを形成することは、
データコレクションの第１セクションに、第１展望からの第１物体の第１表現を形成することおよびデータコレクションの第２セクションに、第２展望からの第１物体の第２表現を形成すること、第１物体の第１表現および第２表現を形成することに引き続いて、データコレクションの第１セクションに、第１展望からの第２物体の第１表現を形成することおよび、データコレクションの第２セクションに、第２展望からの第２物体の第２表現を形成することから成る。
１９．  第１８節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、第１物体の第１表現を形成することは、第１物体に関連付けられた配置について操作を実行すること、１つまたは複数のテクスチャを第１物体の第１表現に適用することおよび１つまたは複数のシェーダを第１物体の第１表現に適用することから成る。
２０．  第１８節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、第１物体の第１表現を形成することは、シェーダを読み込むことおよびそのシェーダを第１物体の第１表現に適用することからなり、第１物体の第２表現を形成することは、シェーダを再読み込みすることなく、シェーダを第２物体の第２表現に適用することから成る。
２１．  第１８節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、第１物体の第１表現を形成することは、テクスチャを読み込むことおよびそのテクスチャを第１物体の第１表現に適用することからなり、第１物体の第２表現を形成することは、テクスチャを再読み込みすることなく、テクスチャを第２物体の第２表現に適用することから成る。
２２．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、オペレーションは、さらに、生成される情景の多くの表示を決定すること、生成される情景の多くの表示を決定することおよび生成される情景の表示の数に基づいて決定される多くのセクションを含むデータコレクションを編成することから成る。
２３．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、データコレクションは、さらに、第３クライアントに関係づけられた第３表現からの情景の第３表示に関連付けられた第３セクションから成る。
２４．  第１５節の１つまたは複数の非一時的コンピュータ可読記憶媒体において、１つまたは複数の計算ノードは、第１表示を第１クライアントに送信する第１ストリーミングサーバと第２表示を第２クライアントに送信する第２ストリーミングサーバから成る。  
【０１４４】
上述の様々な特徴およびプロセスは、互いに独立して使用することができ、いろいろな方法で組み合わせることもできる。全ての可能な組み合わせと副次的組み合わせは、本開示の範囲内に属することを意図している。加えて、特定の方法またはプロセスブロックは、実施態様によっては、省略されてもよいものもある。この明細書で記述されている方法またはプロセスは、また、特定のシーケンスに限定されるものではなく、従って、ブロックまたはそれに関連する状態は適切な他のシーケンスで実行され得る。例えば、記述されたブロックまたは状態は、具体的に開示された以外の順序で実行されてもよく、複数のブロックが単一のブロックまたは状態と組み合わされてもよい。例示のブロックまたは状態は、直列、並列あるいはその他の態様で実行され得る。ブロックまたは状態は、開示された例示の実施形態に追加されまたは削除されてもよい。この明細書で記述されている例示システムまたはコンポーネントは、記述されたものとは異なる構成とされてもよい。例えば、構成要素が開示された例示の実施形態と対照されて、追加され削除または再編成されてもよい。この明細書で記述されているコンポーネントは、例えば、１つまたは複数のプロセッサに関連して実行する、１つまたは複数のアルゴリズムを含む構造的コンポーネントであってもよい。
【０１４５】
いろいろな事項が使用されているメモリや記憶装置に保存されているとして説明されており、また、これらの事項はメモリアレンジメントとデータ統合の目的でメモリと他の記憶装置の間で転送されてもよいことが理解されるであろう。代わりに、他の実施形態においては、幾つかのあるいは全てのソフトウエアモジュールおよび／またはシステムが他のデバイスのメモリにおいて稼働し、コンピュータの内部通信を介して、例示の計算システムと通信することができる。さらに、実施形態によっては、幾つかのあるいは全てのソフトウエアモジュールおよび／またはシステムが、１つまたは複数の特定用途集積回路（ＡＳＩＣ）、標準集積回路、コントローラ（例えば、適切なインストラクションを実行することによって、かつ、マイクロコントローラおよび／または埋め込まれたコントローラを含んでいる）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、コンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）などを含むが、これらに限定されない少なくとも部分的にファームウエアおよび／またはハードウェアなどの他の態様で、実施されまたは提供されてもよい。幾つかの、または全てのモジュール、システムおよびデータ構造が、また、適切なドライブによって、または適切な接続を介して読まれるハードディスク、メモリ、ネットワークまたは携帯メディア製品などのコンピュータ可読媒体に（例えば、ソフトウエアインストラクションまたは階レイヤデータとして）保存されてもよい。モジュール、システムおよびデータ構造は、また、無線ベースおよび有線／ケーブルベース媒体を含む多彩なコンピュータ可読送信媒体上の生成されたデータ信号として（例えば、搬送波またはアナログあるいはデジタル伝播信号として）送信されることができ、いろいろな形式（例えば、単一のまたは複数のアナログ信号の一部として、あるいは離散的なデジタルパケットもしくはフレームとして）を取ることができる。そのようなコンピュータ・プログラム・プロダクトは、また、その他の実施形態では他の形式を取ることができる。
【０１４６】
この明細書で使用される条件付きの言語は、他にもあるが、「できる」、「でき得る」、「かもしれない」、「でよい」、「例えば」などは、特に他に述べない限り、使用されている文脈内で他に理解されなければ、他の実施形態では含まれずに、特定の実施形態で含まれる、特定の特徴、構成要素および／またはステップを担持することを一般的には意図している。このため、そのような条件付きの言語は、特徴、構成要素および／またはステップがとにかく一または複数の実施形態で必要とされること、あるいは一または複数の実施形態が必ずこれらの特徴、構成要素および／またはステップが含まれているかどうか、あるいはいずれかの特定の実施形態で実行されることになるかどうか、著者の入力または誘導があってもなくても、決定するロジックを含んでいる。用語「から成ること」、「含んでいること」、「有していること」などは、開放終結の態様において包摂的であり、追加の構成要素、特徴、行為、オペレーションなどを排除していない。また、用語「または」刃、その包摂的意味である（および排他的な意味ではない）ため、例えば、構成要素と接続するために使用されるとき、用語「または」は、リストにある１つの、幾つかの、または全ての構成要素を意味する。
【０１４７】
これまで特定の例示実施形態が記述されたが、当該実施形態は例示のみの例示であり、この明細書で開示された発明の範囲を制限する意図はない。このため、これまでの記述においては、特定の特徴、特性、ステップ、モジュールまたはブロックが必要であるとかなくてはならないものであるということを暗示する意図は全くない。確かに、本明細書で記述された新規の方法およびシステムは、様々な形態で実施され得るが、さらに、本明細書で記述された方法およびシステムの形態については、いろいろな省略、代替および変更が、本明細書に開示された発明の趣旨から逸脱することなくなされ得る。添付の特許請求の範囲およびその均等なものは、本明細書に開示された特定の発明の範囲と趣旨に入ることになり得る形態および修正に及ぶことを意図している。
【図１】
2017504986.tif 000003
【図２】
2017504986.tif 000004
【図３Ａ】
2017504986.tif 000005
【図３Ｂ】
2017504986.tif 000006
【図４】
2017504986.tif 000007
【図５】
2017504986.tif 000008
【図６】
2017504986.tif 000009
【図７】
2017504986.tif 000010
【図８】
2017504986.tif 000011
【図９】
2017504986.tif 000012
【図１０】
2017504986.tif 000013
【図１１】
2017504986.tif 000014
【図１２】
2017504986.tif 000015
【図１３】
2017504986.tif 000016
【図１４】
2017504986.tif 000017
【図１５】
2017504986.tif 000018
【図１６】
2017504986.tif 000019
【図１７】
2017504986.tif 000020
【図１８】
2017504986.tif 000021
【図１９】
2017504986.tif 000022
【図２０】
2017504986.tif 000023
【図２１】
2017504986.tif 000024
【国際調査報告】
2017504986.tif 000025