JP2017504986A - 複数の表示生成のためのデータコレクション - Google Patents

複数の表示生成のためのデータコレクション Download PDF

Info

Publication number
JP2017504986A
JP2017504986A JP2016529941A JP2016529941A JP2017504986A JP 2017504986 A JP2017504986 A JP 2017504986A JP 2016529941 A JP2016529941 A JP 2016529941A JP 2016529941 A JP2016529941 A JP 2016529941A JP 2017504986 A JP2017504986 A JP 2017504986A
Authority
JP
Japan
Prior art keywords
client
representation
scene
display
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016529941A
Other languages
English (en)
Inventor
タラキ クアイス
タラキ クアイス
ムルリ マムタニ ヴィノド
ムルリ マムタニ ヴィノド
ヴァーシング マシュー
ヴァーシング マシュー
ジョナサン モリス ジェイムズ
ジョナサン モリス ジェイムズ
ジョゼフ ハインズ ザ・セカンド ジェラード
ジョゼフ ハインズ ザ・セカンド ジェラード
パトリック ウィルト ニコラス
パトリック ウィルト ニコラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/077,180 external-priority patent/US20150133216A1/en
Priority claimed from US14/077,165 external-priority patent/US20150130815A1/en
Priority claimed from US14/077,149 external-priority patent/US20150130814A1/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2017504986A publication Critical patent/JP2017504986A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

場合によっては、ビデオゲームなどの特定のコンテンツアイテムの情景の1つまたは複数の提示された表示が、コンテンツプロバイダによって形成され、コンテンツプロバイダから複数の異なったクライアントに送信される。加えて、場合によっては、コンテンツプロバイダは、1つまたは複数の表示を生成するために複数のグラフィックス処理ユニットを使用することができる。さらに、場合によっては、情景の複数の異なった表示に関連するデータは組み合わされて提示ターゲットなどの単一のデータコレクションになり得る。

Description

関連出願の相互参照
本出願は、2013年11月11日に出願された米国特許出願第14/077,149、2013年11月11日に出願された米国特許出願第14/077,165および2013年11月11日に出願された米国特許出願第14/077,180の優先権を主張するものであり、当該特許出願の内容全体を本出願で参照によって本願明細書に引用したものとする。
本出願は、以下の出願に関連し、その特許出願の内容全体を本出願で参照によって本願明細書に引用したものとする。2013年11月11日に出願した「関心領域に基づく画像符号化」と題する米国特許出願第14/076,718号(代理人整理番号101058.000083)、2013年11月11日に出願した「サービス品質に基づく適用可能な情景の複雑性」と題する米国特許出願第14/076,821号(代理人整理番号101058.000084)、2013年11月11日に出願した「グラフィックス物体データを生成するサービス」と題する米国特許出願第14/077,127号(代理人整理番号101058.000086)、2013年11月11日に出願した「遠隔の物体データに基づく画像合成」と題する米国特許出願第14/077,136号(代理人整理番号101058.000087)、2013年11月11日に出願した「複数の並列グラフィックス処理ユニット」と題する米国特許出願第14/077,165号(代理人整理番号101058.000110)、2013年11月11日に出願した「適応性のあるコンテンツの伝送」と題する米国特許出願第14/077,084号(代理人整理番号101058.000114)、2013年11月11日に出願した「共有状態に基づく表示の生成」と題する米国特許出願第14/077,180号(代理人整理番号101058.000115)、2013年11月11日に出願した「複数ストリーム・コンテンツ・プレゼンテーション」と題する米国特許出願第14/077,186号(代理人整理番号101058.000116)、2013年11月11日に出願した「ストリーミングゲームサーバビデオレコーダ」と題する米国特許出願第14/077,142号(代理人整理番号101058.000125)、2013年11月11日に出願した「アクターリソースの位置」と題する米国特許出願第14/076,815号(代理人整理番号101058.000128)、2013年11月11日に出願した「ストリーミングサーバのためのセッションアイドル最適化」と題する米国特許出願第14/077,146号(代理人整理番号101058.000129)、2013年11月11日に出願した「アプリケーション・ストリーミング・サービス」と題する米国特許出願第14/077,023号(代理人整理番号101058.000139)、2013年11月11日に出願した「効率的帯域幅の推定」と題する米国特許出願第61/902,740号(代理人整理番号101058.000141)。
最近の技術的な進歩には、複数の異なる遠隔位置に存在している複数のクライアントが共通のマルチメディアコンテンツの経験の一環として相互作用を可能にしたものもある。例えば、従来のビデオゲームには、複数の異なる遠隔位置に存在している複数のクライアントを使用して一括して行うことができるものもある。場合によっては、各クライアントは、クライアントのゲームへの参加に関連付けられたアクション、イベントまたはその他の情報に対応する関連状態情報を有する。例えば、状態情報は、各クライアントが制御している特定のキャラクタまたはエンティティによって行われているアクションに関連付けられた情報を含んでもよい。複数のクライアントの相互作用を可能にする一つの従来のアプローチは、参加している各クライアントからのゲーム状態情報を周期的にサーバに送信し、これは逆に、そのサーバが他の各クライアントから受信した更新された状態情報を各クライアントにフィードバックすることを含む。各クライアントは、それぞれの個人的なゲーム状態を維持するために、この更新された状態情報を使用してもよく、これは逆に各クライアントにおいてビデオゲームのそれぞれのプレゼンテーションを提示するために使用できる。例えば、特定の各クライアントは、それぞれのクライアントが制御している特定のキャラクタまたは他のエンティティの観点からビデオゲーム内の情景を提示できる。
上述の従来の手法は、複数のクライアントの相互作用を可能にするが、多くの欠点も有していることがある。例えば、状態および提示された画像をクライアントのデバイスにおいて維持する要件は、クライアントのデバイスにおけるコンテンツ・プレゼンテーション・ソフトウェアの複雑さと使用要件を増加させる可能性がある。これは、多くの場合に、制限された容量を提供するクライアントデバイスの多量のリソースを消費する結果になる。例えば、クライアントデバイスがより小さいサイズ、よりよいポータビリティ、より低いコストのデバイスを好む消費者を対象にしている。加えて、更新された状態情報はサーバから複数のクライアントに効率的に送信できない場合、コンテンツのプレゼンテーションにおける一時的な遅れまたは中断が発生することがある。さらに、クライアントデバイスにおけるより洗練されたゲーミングおよびその他コンテンツの存在は、コンテンツの創作者や販売者に著作権盗用またはその他のセキュリティ問題を起こすこともある。さらに、コンテンツアイテムはますますより詳細で、より複雑になるにつれて、一般的に単一の画像処理ユニットを有するクライアントデバイスが、そのようなコンテンツを効率的に提示できなくなる。
以下の詳細な説明は、添付図面と併せて読むと、よりよく理解ができる。例示の目的のために、本開示の様々な態様について例示の実施形態が図面に示されている。しかしながら、本発明は開示された特定の方法および手段に限定されるものではない。
幾つかの実施形態に使用することができる例示のコンピューティングシステムを示す図である。 幾つかの実施形態に使用することができる例示のコンピューティングシステムを示す図である。 本開示による複数表示生成のための例示のシステムを示す図である。 本開示による同様の表示生成のための例示のシステムを示す図である。 本開示によるコンテンツ送信システムの第1実施例を示す図である。 本開示によるコンテンツ送信システムの第2実施例を示す図である。 本開示によるコンテンツ送信システムの第1実施例を示す図である。 本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第1実施例を示す図である。 本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第2実施例を示す図である。 本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第3実施例を示す図である。 本開示によるグラフィックス処理ユニット・スケーリング・シナリオの第4実施例を示す図である。 本開示によるスティッチング手法の実施例を示す図である。 本開示によるレイヤの実施例を示す図である。 本開示によるレイヤリング手法の実施例を示す図である。 本開示によるコンテンツ・プロバイダ・システムの実施例を示す図である。 本開示による共有状態情報に基づく1つまたは複数の表示を生成する手順の実施例を示すフローチャートである。 本開示による1つまたは複数のグラフィックス処理ユニットを使用して提示手順の実施例を示すフローチャートである。 本開示による複数の表示生成のためのデータコレクションを採用しているシステムの実施例を示す図である。 本開示による複数表示に関連付けられたデータを含むデータコレクションの第1実施例を示す図である。 本開示による例示の表現形成シーケンスを示す図である。 本開示による複数表示に関連付けられたデータを含むデータコレクションの第2実施例を示す図である。 本開示による複数表示生成のためのデータコレクションを採用する実施例の手順を示すフローチャートである。
本開示による幾つかの実施例の特徴に従って、ビデオゲームのような特定のコンテンツアイテムの情景の1つまたは複数の提示された表示が、コンテンツプロバイダによって生成されてもよく、コンテンツプロバイダから複数の異なるクライアントに送信してもよい。場合によっては、コンテンツプロバイダは、特定のコンテンツアイテムの情景について複数の表示を生成することができる。複数の表示のそれぞれは、例えば、1つまたは複数の各クライアントに関連付けられ、コンテンツプロバイダから各クライアントに送信されてもよい。例えば、各表示は、表示が送信された各クライアントによって制御されている特定のキャラクタまたは他のエンティティの視点から情景を提示することができる。場合によっては、コンテンツプロバイダは、複数のクライアントに特定のコンテンツアイテムの情景について同一の表示を送信することができる。同一の表示は、例えば、密接に関連しているキャラクタを制御しているクライアント、または単一のキャラクタを制御するために協力しているクライアントに送信してもよい。
情景の1つまたは複数の表示の生成を可能にするために、参加している異なった各クライアントは、各クライアントの状態情報を収集することができる。クライアント状態情報は、例えば、各キャラクタまたは各クライアントによって制御されている、他のエンティティによって実行される動き、またはその他のアクションのような各クライアントにおいて実行されるオペレーションに関する情報を含むことができる。各クライアントは、定期的にコンテンツプロバイダに各クライアント状態情報の更新を送信することができる。そして、コンテンツプロバイダは、各クライアントから受け取ったクライアント状態情報の更新を、コンテンツプロバイダによって維持された共有コンテンツアイテムの状態を更新するために使用することができる。コンテンツプロバイダは、参加している異なる各クライアントに送信される1つまたは複数の表示を生成するために、共有コンテンツアイテムの状態情報を使用してもよい。場合によっては、参加する1つまたは複数のクライアントは、コンテンツプロバイダから1つまたは複数の表示を受信することに加えて、ハイブリッドモードクライアントは、コンテンツアイテムの独自のローカルバージョンを実行し、自分のローカル・クライアント・ストリームを生成するハイブリッドモードで動作することができる。各ハイブリッドモードのクライアントは、ローカルにクライアントについて、ハイブリッド・コンテンツ・アイテム・ストリームを生成し表示するために、受信した表示のコンテンツ・プロバイダ・ストリームをローカル・クライアント・ストリームと組み合わせることができる。
場合によっては、コンテンツプロバイダは、特定のコンテンツアイテムの情景について、1つまたは複数の表示を生成するために、複数のグラフィックス処理ユニットを使用することができる。場合によっては、複数のグラフィックス処理ユニットは、互いに少なくとも部分的に同時に特定の情景に関連付けられた提示を生成することができる。また、場合によっては、複数のグラフィックス処理ユニットを使用して、提示された表示のリアルタイムまたはほぼリアルタイムの生成とプレゼンテーションを可能にするのに役立てることができる。場合によっては、複数のグラフィックス処理ユニットは、表示のための1つまたは複数の結果の表示を生成するために使用される情景の各部分を提示することができる。場合によっては、各表示について、提示は、例えば、提示をスティッチングすること、または提示を論理的に関連付けられている異なるレイヤに結合された表現を用いることで、表示を形成するために組み合わせてもよい。場合によっては、特定のコンテンツアイテムを提示するために使用されたグラフィックス処理ユニットの数は、種々の要因に応じて数が変化するように柔軟性があってもよい。その要因は、例えば、1つまたは複数のグラフィックス処理ユニットに関連する実行速度、提示情景の複雑さ、提示された情景に関連付けられた多数の表示、追加グラフィックス処理ユニットの可用性およびその他の関連要因を含む。
場合によっては、情景の複数の異なる表示が提示ターゲットとして、単一のデータコレクションに結合されてもよい。例えば、単一のデータコレクションは、複数の表示のうちの各1つに関連付けられた複数のセクションを含むことができる。データコレクションの各セクションは、次いで別々に取り出され、符号化され、ネットワークを介して送信される。場合によっては、情景内の各物体は、次の物体に移動される前に、データコレクションの各部分に形成され関連付けられた表現を有する可能性がある。例えば、第1の物体の表現は、第2の物体の表現を形成する前に、データコレクションの各セクションを越えて形成されてもよい。この形成シーケンスは、場合によっては、例えば、様々な配置、テクスチャ、シェーダなどを含む各物体に関連付けられたデータの読み込みに関連付けられた状態の変化を低減することができる。
コンテンツプロバイダは、場合によっては、インターネットなどの電子ネットワークを介してクライアントにコンテンツアイテム表示を提示し、送信することができる。コンテンツは、場合によっては、例えば、ストリーミングコンテンツ配分技術を使用して、要求に応じてクライアントに提供することができる。クライアントにコンテンツを提示し、送信を可能にするコンピューティング環境の例示について詳細に説明する。特に、図1は、本明細書に記述の実施形態が実施され得る、例示のコンピューティング環境を示している。図1は、通信ネットワーク230を介して、ユーザコンピュータ202aおよび202b(以下、コンピュータ202という)を使用して、ユーザ200aおよび200b(以下、ユーザ200という)にコンピューティングリソースを提供することができるデータセンタ210の例を模式的に示す図である。データセンタ210は、コンピューティングリソースを提供するように構成され、永続的にまたは必要に応じて、アプリケーションを実行する。データセンタ210によって提供されるコンピューティングリソースは、ゲートウェイリソース、負荷配分リソース、ルーティングリソース、ネットワークリソース、計算リソース、揮発性および不揮発性メモリ・リソース、コンテンツ配分リソース、データ処理リソース、データ・ストレージ・リソース、データ通信リソースなど様々な種類のリソースを含み得る。コンピューティングリソースの各種類は、汎用であってもよく、多くの特定の構成が利用可能である。例えば、データ処理リソースは、様々なウェブサービスを提供するように構成されている仮想マシーンインスタンスとして利用可能であってもよい。また、リソースの組み合わせは、ネットワークを介して利用可能であってもよく、1つまたは複数のウェブサービスとして構成されてもよい。実例は、アプリケーションサービス、メディアサービス、データベースサービス、処理サービス、ゲートウェイサービス、ストレージサービス、ルーティングサービス、セキュリティサービス、暗号化サービス、負荷配分サービス、アプリケーションサービスなどのようなウェブサービスを含むアプリケーションを実行するように構成されてもよい。これらのサービスは、セットやカスタムアプリケーションで設定することができ、サイズ、実行、コスト、遅延時間、タイプ、期間、アクセシビリティおよびその他の次元に設定可能である。これらのウェブサービスは、1つまたは複数のクライアントで使用可能なインフラとして構成することができ、1つまたは複数のクライアントのためのソフトウェアとして構成された1つまたは複数のアプリケーションを含み得る。これらのウェブサービスは、1つまたは複数の通信プロトコルを介して利用可能にすることができる。これらの通信プロトコルは、例えば、ハイパーテキスト転送プロトコル(HTTP)または非HTTPプロトコルを含むことができる。これらの通信プロトコルは、例えば、伝送制御プロトコル(TCP)のような、より信頼性の高いトランスポート・レイヤ・プロトコルおよびユーザ・データグラム・プロトコル(UDP)のような信頼性の低いトランスポート・レイヤ・プロトコルも含んでもよい。データ・ストレージ・リソースは、ファイル記憶装置、ブロックストレージデバイスなどを含むことができる。
コンピューティングリソースの構成の各タイプは、多くのプロセッサ、大量のメモリおよび/または大きな記憶容量から成る大きなリソースおよび少ないプロセッサ、メモリおよび/またはより小さい記憶容量から成る小さなリソースのような異なるサイズで利用できる。顧客は、例えば、多くの小さな処理リソースをウェブサーバおよび/または一つの大きな処理リソースをデータベースサーバとして割り当てる選択がある。
データセンタ210は、コンピューティングリソースを提供するサーバ216aおよび216b(以下、サーバ216という)を含んでもよい。これらのリソースは、ベア・メタル・リソースまたは仮想マシーンインスタンス218a−dとして利用できる(以下、仮想マシーンインスタンス218という)。仮想マシーンインスタンス218cおよび218dは共有状態仮想マシーン(「SSVM」)インスタンスである。SSVM仮想マシーンインスタンス218cおよび218dは、共有コンテンツアイテムの状態の技術および/または以下に詳細に説明するその他の本開示の技術の全てまたは一部を実行するように構成されてもよい。図1に示されている特定の実例では、各サーバに含むSSVMは1つしかないが、これは一例に過ぎない。サーバは複数のSSVMの仮想マシーンを含んでもよく、SSVM仮想マシーンを含まなくてもよい。
コンピューティングハードウェアの仮想化技術の可用性は、顧客のための大規模なコンピューティングリソースを提供し、コンピューティングリソースを効率的かつ安全に複数の顧客間で共有することを可能にするために恩恵を与えてきた。例えば、仮想化技術は、物理的なコンピューティングデバイスによってホストされる1つまたは複数の仮想マシーンインスタンスを各ユーザに提供することにより、物理的なコンピューティングデバイスが複数のユーザ間で共有することを可能にすることができる。仮想マシーンインスタンスは、別個の論理的なコンピューティングシステムとして作用する特定の物理的コンピューティングシステムのソフトウェアエミュレーションであってもよい。このような仮想マシーンインスタンスは、指定された物理的なコンピューティングリソースを共有する複数のオペレーティングシステム間のアイソレーションを提供している。さらに、幾つかの可視化技術は、複数の別個の物理的なコンピューティングシステムをわたる複数の仮想プロセッサを有する単一の仮想マシーンインスタンスのような1つまたは複数の物理リソースにわたる仮想リソースを提供することができる。
図1を参照すると、通信ネットワーク230は、例えば、インターネットのような公的にアクセス可能に結合された、各種の異なる当事者によって動作可能なネットワークである。他の実施形態では、通信ネットワーク230は、特典のないユーザに完全に、または部分的にアクセスできない企業や大学が有するネットワークのようなプライベートネットワークであってもよい。また、他の実施形態では、通信ネットワーク230は、インターネットへのアクセスおよび/またはインターネットからのアクセスを有する1つまたは複数のプライベートネットワークを含んでもよい。
通信ネットワーク230は、コンピュータ202へのアクセスを提供することができる。ユーザコンピュータ202は、ユーザ200またはデータセンタ210の他の顧客が利用するコンピュータであってもよい。例えば、ユーザコンピュータ202aまたは202bは、サーバ、デスクトップやラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント(PDA)、電子ブックリーダー、ゲーム機、セットトップボックス、またはデータセンタ210にアクセスできる他の任意のコンピューティングデバイスであってもよい。ユーザコンピュータ202aまたは202bは、(例えば、ケーブルモデムまたはデジタル加入線(DSL)を介して)直接にインターネットに接続することができる。2つだけのユーザコンピュータ202aおよび202bが示されているが、複数のユーザコンピュータがあってもよいと認識すべきである。
ユーザコンピュータ202は、データセンタ210によって提供されたコンピューティングリソースの態様を構成するために利用することができる。この点では、データセンタ210は、ゲートウェイまたはウェブインターフェースを提供して、これによりデータセンタ210の動作の態様をユーザコンピュータ202上で実行されるウェブ・ブラウザ・アプリケーション・プログラムを使用して、構成することができる。代替的に、ユーザコンピュータ202上で実行されるスタンドアロン・アプリケーション・プログラムは、構成動作を実行するため、データセンタ210によって表示されたアプリケーション・プログラミング・インターフェース(API)にアクセスすることができる。データセンタ210で利用可能な、様々なウェブサービスのオペレーションを構成する他の機構を利用してもよい。
図1に示されたサーバ216は、上述のコンピューティングリソースを提供するために適切に構成された一般的なサーバであってもよく、1つまたは複数のウェブサービスおよび/またはアプリケーションを実行するためのコンピューティングリソースを提供することができる。一実施形態では、コンピューティングリソースは、仮想マシーンインスタンス218であってもよい。仮想マシーンインスタンスの例では、各サーバ216は、仮想マシーンインスタンス218の実行を可能にするインスタンスマネージャ220aまたは220b(以下、インスタンスマネージャ220という)を実行するように構成されてもよい。インスタンスマネージャ220は、例えば、仮想マシーンモニタ(VMM)またはサーバ216上に仮想マシーンインスタンス218の実行を可能にするように構成された別のタイプのプログラムであってもよい。上述のように、各仮想マシーンインスタンス218は、アプリケーションの全て、またはその一部を実行するように構成されてもよい。
本開示の上記の実施形態では、仮想マシーンインスタンスのコンテキストが記述されているが、他の種類の実施形態も本開示の概念および技術に利用することができると理解すべきである。例えば、本開示の実施形態は、仮想マシーンインスタンスを利用しないコンピューティングシステムにおいても利用されてもよい。
図1に示すデータセンタ210の例では、サーバ216aおよび216bを相互接続するためにルータ214を使用することができる。ルータ214は、通信ネットワーク230に接続されているゲートウェイ240に接続することができる。ルータ214は、1つまたは複数のロードバランサに接続されてもよく、また、例えば、通信の特性(例えば、ソースおよび/または宛先アドレスを含むヘッダ情報、プロトコル識別子、サイズ、処理要件など)および/またはプライベートネットワークの特性(例えば、ネットワークトポロジに基づくルートなど)に基づいて、適切にパケットまたは他のデータ通信を転送することによって、単独でまたは組み合わせによってデータセンタ210内のネットワーク内の通信を制御することができる。簡略化のために、この実施例のコンピューティングシステムと他のデバイスの様々な態様は、特定の従来の詳細を示さずに図示されていることが理解されるだろう。付加的なコンピューティングシステムおよび他のデバイスは、他の実施形態において相互接続されてもよく、異なる方法で相互接続されてもよい。
図1に示すデータセンタ210の例では、サーバマネージャ215は、少なくとも部分的にサーバ216aおよび216bへの各種通信、サーバ216aおよび216bからの各種通信および/またはサーバ216aおよび216b間の各種通信を指すために採用されている。図1では、ルータ214がゲートウェイ240とサーバマネージャ215との間に位置していることを示しているが、これは例示的な構成に過ぎない。例えば、幾つかの実施例では、サーバマネージャ215は、ゲートウェイ240とルータ214との間に配置されていてもよい。場合によっては、サーバマネージャ215は、着信通信を受信および/または処理する1つまたは複数の適切なサーバ216を決定するために、ユーザコンピュータ202からの着信通信の部分を調べることがある。サーバマネージャ215は、アイデンティティ、位置やユーザコンピュータ202と関連付けられている属性、通信が関連付けられているタスクの性質、通信が関連付けられているタスクの優先順位、通信が関連付けられているタスクの期間、通信が関連付けられているタスクのサイズおよび/または推定されたリソース使用量のような要因および他の多くの要因に基づいて、着信通信を受信および/または処理する適切なサーバを決定してもよい。サーバマネージャ215は、例えば、様々なタスクに関連付けられた状態情報および他の情報を収集またはアクセスすることによって、例えば、通信またはそのようなタスクに関連付けられたその他のオペレーションを制御するのを援助する。
図1に示されているネットワークトポロジは大幅に簡略化されており、より多くのネットワークおよびネットワークデバイスが、本開示の様々なコンピューティングシステムディスクを相互接続するために利用することができることを理解すべきである。これらのネットワークトポロジおよびデバイスは、当業者にとって明らかであるだろう。
図1での記述のデータセンタ210は単なる例示であり、他の実施形態が利用されることがあると理解すべきである。また、本開示での機能性は、ソフトウェア、ハードウェアまたはその組み合わせで実現されることを認識すべきである。他の実施形態は、当業者にとっては明らかであろう。また、サーバ、ゲートウェイ、または他のコンピューティングデバイスは、上記の機能性の種類を相互作用し、実行することができるハードウェアまたはソフトウェアの任意の組み合わせを含むことができることを認識すべきである。このサーバ、ゲートウェイ、または他のコンピューティングデバイスは、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶装置および他のネットワークデバイス、PDA、タブレット、携帯電話、無線電話、ページャ、電子手帳、インターネット機器、テレビベースのシステム(例えば、セットトップボックスおよび/またはデジタル/パーソナルビデオレコーダを使用して)、および適切な通信機能を有する他の様々な消費生活用製品を含むがこの限りでない。また、図示されたモジュールによって提供される機能は、幾つかの実施形態では、より少ないモジュールに組み合わせてもよく、または追加のモジュールに配分されてもよい。同様に、幾つかの実施形態では、示されているモジュールの一部の機能性は提供されないことがあり、および/または他の追加機能が利用可能である。
少なくとも幾つかの実施形態では、本明細書に記載の1つまたは複数の一部または全ての技術を実行するサーバは、1つまたは複数のコンピュータアクセス可能な媒体を含むか、アクセスするように構成された汎用コンピュータシステムを含み得る。図2は、1つまたは複数のコンピュータアクセス可能な媒体を含むか、アクセスするように構成された汎用コンピュータシステムを示す。図示の実施形態では、コンピューティングデバイス100は、入力/出力(I/O)インターフェース30を介してシステムメモリ20に結合された1つまたは複数のプロセッサ10a、10b、および/または10n(以下、「プロセッサ10」という)を含む。コンピューティングデバイス100は、さらにI/Oインターフェース30に結合されたネットワークインターフェース40を含んでいる。
様々な実施形態では、コンピューティングデバイス100は、1つのプロセッサ10を含むユニプロセッサシステムまたは複数のプロセッサ10(例えば、2、4、8、または別の適切な数)を含むマルチプロセッサシステムであってもよい。プロセッサ10は、インストラクションを実行することができる任意の適切なプロセッサであってもよい。例えば、様々な実施形態では、プロセッサ10は、x86、PowerPC、SPARCまたはMIPS ISAまたはその他の適切なISAなどのいろいろなインストラクション・セット・アーキテクチャ(ISA)の任意のものを実行する汎用または組み込みのプロセッサであってもよい。マルチプロセッサシステムでは、各プロセッサ10は、一般に、しかし必ずしもそうではないが、同一のISAを実現することができる。
システムメモリ20は、プロセッサ10によってアクセス可能なインストラクションおよびデータを保存するように構成されてもよい。様々な実施形態では、スタティック・ランダム・アクセス・メモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/Flash(登録商標)型のメモリまたはその他のメモリの種類のような任意の適切なメモリ技術を使用して、システムメモリ20を実現する。図示した実施形態では、上述の方法、手法およびデータのような1つまたは複数の所望の機能を実現するプログラムインストラクションおよびデータは、コード25およびデータ26としてシステムメモリ20内に保存されているように示されている。
一実施形態では、I/Oインターフェース30は、プロセッサ10、システムメモリ20、ネットワークインターフェース40または他の周辺インターフェースを含むデバイス内の任意の周辺装置との間でI/Oトラフィックを調整するように構成することができる。幾つかの実施形態では、I/Oインターフェース30は、他のコンポーネント(例えば、プロセッサ10)の使用に適したフォーマットに一方のコンポーネント(例えば、システムメモリ20)からのデータ信号を変換するために必要なプロトコル、タイミングまたは他のデータ変換を実行することができる。幾つかの実施形態では、I/Oインターフェース30は、例えば、周辺コンポーネント相互接続(PCI)バス規格またはユニバーサルシリアルバス(USB)の変形例などの様々な種類の周辺バスを介して接続されたデバイスのサポートを含んでもよい。幾つかの実施形態では、I/Oインターフェース30の機能は、例えば、ノースブリッジとサウスブリッジの2つ以上の別々のコンポーネントに分割することができる。また、幾つかの実施形態では、システムメモリ20へのインターフェースのようなI/Oインターフェース30の機能性の一部または全ては、プロセッサ10に直接に組み込まれてもよい。
ネットワークインターフェース40は、例えば、コンピューティングデバイス100および他のコンピュータシステムまたはデバイスのようなネットワーク50に取り付けられたデバイス60の間にデータの交換させるように構成することができる。様々な実施形態では、ネットワークインターフェース40は、例えば、イーサネット・ネットワークの種類などの任意の適切な有線または無線の一般的なデータネットワークを介して、通信をサポートすることができる。また、ネットワークインターフェース40は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの電気通信/電話ネットワーク、ファイバチャネルSAN(ストレージ・エリア・ネットワーク)のようなストレージ・エリア・ネットワーク、または他の任意の適切な種類のネットワークおよび/またはプロトコルを介して通信をサポートすることができる。
幾つかの実施形態では、システムメモリ20は、対応する方法およびデバイスの実施形態を実現する上述のプログラムインストラクションおよびデータを保存するように構成されたコンピュータアクセス可能媒体の一実施例であってもよい。しかしながら、他の実施形態では、プログラムインストラクションおよび/またはデータが、他の種類のコンピュータアクセス可能媒体に受信され、送信されまたは保存されてもよい。一般的に言えば、コンピュータアクセス可能媒体は、I/Oインターフェース30を介してコンピューティングデバイス100に結合された、例えば、ディスクまたはDVD/CDなどの磁気または光学的な媒体のような非一時的記憶媒体またはメモリ媒体を含み得る。非一時的なコンピュータアクセス可能記憶媒体は、システムメモリ20またはメモリの別の種類としてコンピューティングデバイス100の幾つかの実施形態に含むRAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAMなど)、ROM(リードオンリーメモリ)のような任意の揮発性または不揮発性媒体を含み得る。また、コンピュータアクセス可能媒体は、ネットワークインターフェース40を介して実現されるネットワークおよび/または無線リンクのような通信媒体を介して伝達される電気的、電磁気的、またはデジタル信号などの伝送媒体または信号を含んでもよい。図2に示すような全てまたは一部のコンピューティングデバイスが、様々な実施形態に記述の機能を実現するために使用することができる。例えば、様々な異なるデバイスおよびサーバ上に実行中のソフトウェアコンポーネントは、機能性を提供するために協力することができる。幾つかの実施形態では、記述の機能の一部は、汎用コンピュータシステムを使用して実現することに加えてまたはその代わりに、ストレージデバイス、ネットワークデバイス、または専用のコンピュータシステムを使用して実現することができる。本明細書で使用される用語「コンピューティングデバイス」は、少なくともこれらの全てのデバイスを指すが、これらのデバイスの種類に限らない。
コンピューティングノードとも呼ぶ計算ノードは、コモディティ・ハードウェア・コンピュータ、仮想マシーン、ウェブサービス、計算クラスタおよびコンピューティング機器などの多種多様なコンピューティング環境上で実施することができる。これらのコンピューティングデバイスまたは環境のいずれかが、便宜上、計算ノードとして記述されてもよい。
配分されたクライアントのセットにインターネットおよび/またはその他のネットワークを介してアクセスできる1つまたは複数のウェブサービス(クラウドベースのコンピューティングやストレージの様々なタイプなど)を提供するために、企業や公共業界の機関などの組織によって立ち上げられたネットワークは、プロバイダのネットワークと呼んでもよい。このようなプロバイダのネットワークは、プロバイダネットワークが提供するインフラストラクチャおよびウェブサービスを実現し、配布するために必要な物理的および/または仮想化されたコンピュータサーバの集合、ストレージデバイス、ネットワーク機器など、様々なリソースプールをホストしている数多くのデータセンタを含んでもよい。実施形態によっては、リソースが、記憶のための記憶容量、処理のための処理能力、インスタンス、関連サービスなどのセットとして、ウェブサービスに関連する様々なユニットでクライアントに提供されてもよいものもある。仮想コンピューティングインスタンスは、例えば、(CPUの種類および数、メインメモリサイズなどを示すことによって指定することができる)特定の計算能力および(例えば、特に時にハイパーバイザ上で実行することができるオペレーティングシステムのバージョン)指定のソフトウェアスタック(例えば、(CPUのタイプと数、メインメモリサイズなどによって特定され得る)を有する1つまたは複数のサーバを含むことができる。
汎用または専用コンピュータサーバ、ストレージデバイス、ネットワークデバイスなどを含む別の実施形態のプロバイダネットワークのリソースを実行するために、多くの異なる種類のコンピューティングデバイスが、単独でまたは組み合わせて使用することができる。実施形態によっては、クライアントまたはユーザが、例えば、制御者のログイン名とパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスが提供されるものもある。他の実施形態では、プロバイダネットワークオペレータは、例えば、クライアントにインスタンスまたは実行プラットフォームに直接にアクセスを求めることなく、指定されたクライアントアプリケーションのための実行条件の指定およびアプリケーションに適した実行プラットフォーム(アプリケーションサーバインスタンス、Java商標)仮想マシーン(JVM)、汎用または専用のオペレーティングシステム、様々な解釈されたまたは作成されたRuBy、Perl、Python、C、C++などのプログラミング言語をサポートするプラットフォームまたは高性能コンピューティング・プラットフォーム)上で、クライアントの代わりにアプリケーションの実行のスケジュールを可能にすることができる。所定の実行プラットフォームは、実装形態によっては、1つまたは複数のリソースのインスタンスを利用してもよいものもある。他の実施態様では、複数の実行プラットフォームは、単一のリソースインスタンスにマッピングすることができる。
多くの環境では、異なるタイプの仮想化コンピューティング、ストレージおよび/または機能的にアクセス可能な他のネットワークを実行するプロバイダネットワークのオペレータは、顧客が様々なリソース獲得モードにおけるリソースへのアクセスを予約または購入することを可能にすることができる。コンピューティング・リソース・プロバイダは、顧客が希望するコンピューティングリソースを選択し起動し、コンピューティングリソースにアプリケーションコンポーネントを配置し、環境内で実行されるアプリケーションを維持する施設を提供することができる。また、コンピューティング・リソース・プロバイダは、アプリケーション変更の需要や容量要件の変化を伴い、手動または自動スケーリングによって、アプリケーションに割り当てられたリソースの数や種類を、顧客が迅速に、かつ容易に、スケールアップまたはスケールダウンするさらなる施設を提供することができる。コンピューティング・リソース・プロバイダによって提供されたコンピューティングリソースは、インスタンスと呼ばれるユニットとして利用可能である。インスタンスは、物理的なサーバのハードウェアプラットフォーム、サーバ上実行中の仮想マシーンインスタンス、または2つの何らかの組合せを示してもよい。異なるオペレーティングシステム(OS)および/またはハイパーバイザを実行するリソースの異なるサイズを含み、ランタイムなどの種々のインストールされたソフトウェアアプリケーションを有するインスタンスの様々なタイプおよび構成が利用可能である。インスタンスは、さらに、例えば、論理的な領域、フォールトトレラント領域、データセンタまたは基礎となるコンピューティングハードウェアの他の地理的な場所を示す特定のアベイラビリティゾーンにおいて利用することができる。インスタンスの冗長性を改善するために、インスタンスはアベイラビリティゾーン内またはアベイラビリティゾーンを越えてコピーすることができ、またインスタンスは、特定のアベイラビリティゾーン内またはアベイラビリティゾーンを越えて移行することができる。一実施例として、アベイラビリティゾーン上での特定のサーバとのクライアント通信の遅延時間が、異なるサーバのクライアント通信の遅延時間より少なくてもよい。よって、全体のクライアントによる経験を向上させるために、インスタンスが高遅延サーバから低遅延サーバに移行することができる。
実施形態によっては、プロバイダネットワークは、地理的な複数の領域に編成され、各領域は、1つまたは複数のアベイラビリティゾーンを含むものもある。時に、1つのアベイラビリティゾーン(アベイラビリティコンテナとも呼ぶ)は、所定のアベイラビリティゾーン内のリソースが他のアベイラビリティゾーンの障害から単離または絶縁されるように構成されている1つまたは複数の別個の位置またはデータセンタを含むことができる。つまり、特定のアベイラビリティゾーンの障害は、他のアベイラビリティゾーンの障害とならないように期待され得る。よって、リソースインスタンスの利用可能性プロファイルは、異なるアベイラビリティゾーンにおいて、リソースインスタンスの利用可能性プロファイルに依存しないように意図されている。クライアントは、各アベイラビリティゾーン内に複数のアプリケーションインスタンスを起動することにより、単一の位置で自分のアプリケーションを障害から保護することができる。同時に、幾つかの実装形態では、安価で低遅延のネットワーク接続を同じ地理的領域内に存在しているリソースインスタンスの間に設けてもよい(同一のアベイラビリティゾーンのリソース間のネットワーク伝送がより速いかもしれない)。
上述したように、場合によっては、ビデオゲームのような特定のコンテンツアイテムの情景について複数の提示された表示は、コンテンツプロバイダによって生成され、コンテンツプロバイダから複数の異なるクライアントに送信される。本開示による複数の表示を生成する例示のシステムが図3Aに示されている。図3Aはクライアント310Aおよび310Bと通信するコンテンツプロバイダ300を含む。コンテンツプロバイダ300は、コンテンツアイテム307を実行する。コンテンツプロバイダ300は、例えば、クライアント310Aおよび310Bのクライアントのようなクライアントにコンテンツを提供するための1つまたは複数のコンテンツ提供サービスを提供することができる。コンテンツ提供サービスは、1つまたは複数のサーバ上に存在してもよい。コンテンツ提供サービスは、1つまたは複数の顧客の要求を満たすために拡張することができる。また、コンテンツ提供サービスの能力が、受信したクライアントの要求数および種類に基づいて、増加または低下することがある。コンテンツ提供サービスの一部は、要求するクライアントに応じて低減された遅延時間の位置に配置されるように移行することができる。コンテンツプロバイダ300と、そのアーキテクチャの幾つかの実施例が、より詳細に後述される。
本明細書で使用されているコンテンツという用語は、任意の提示可能な情報を指し、本明細書に使用されているコンテンツアイテムは、そのような任意の提示可能な情報の任意の集合を指している。例えば、コンテンツアイテム307は、ビデオゲームなどのグラフィックスコンテンツを含んでもよい。場合によっては、本明細書で使用されているコンテンツアイテム307は、2次元の情景に基づいて表現されるコンテンツを指す2次元コンテンツを含んでもよい。また、場合によっては、本明細書で使用されているコンテンツアイテム307は、3次元の情景に基づいて表現されるコンテンツを指す3次元コンテンツを含んでもよい。2次元の情景または3次元の情景は、例えば、論理的にモデル化または表現することを意図している領域を物理的に占領しない意味では、論理表現であると考えられる。本明細書で使用されている情景という用語は、画像の生成に関連して使用される表現を指す。情景は、例えば、情景を記述する情報またはデータを含み、またはこれらに関連付けられていてもよい。コンテンツアイテム307を提示するために、コンテンツアイテム307に関連付けられた情景が、表示のために得られる画像を生成することができる。画像は、例えば、突起、反射、ライティング、シェーディングおよびその他の概念を組み込むことができる一般的な提示と呼ばれるプロセスによって生成するために使用されてもよい。画像は、例えば、様々なピクセル値および/または属性に関連付けられた情報のような表示可能な出力に関連付けられた情報を含むことができる。後述するように、それぞれの生成された画像は、場合によっては、情景の特定の表示に対応していてもよい。
コンテンツアイテム307は、クライアント310Aおよび310Bにおいてユーザに表示され、または提示されてもよい。クライアント310Aおよび310Bは、例えば、インターネットあるいは別の種類のワイドエリアネットワーク(WAN)またはローカル・エリア・ネットワーク(LAN)の電子ネットワーク上を介して、コンテンツプロバイダ300と通信することができる。クライアント310Aおよび310Bは、場合によっては、互いに対して物理的に遠隔地に配置されてもよい。
図3Aは、2つのクライアント310Aおよび310Bを示しているが、本開示の手法は、コンテンツアイテム307に対応する伝送を受信する異なる参加しているクライアントについて任意の数に関連して使用されてもよい。場合によっては、1つまたは複数の参加する接続されたクライアントは、コンテンツプロバイダ300から1つまたは複数の表示を受信することに加えて、ハイブリッドモードクライアントがコンテンツアイテム307の独自のローカルバージョンを実行して、自分のローカル・クライアント・ストリームを生成するハイブリッドモードを動作してもよい。各ハイブリッドモードのクライアントは、ローカルにクライアントで受信したコンテンツプロバイダの表示のストリームをローカル・クライアント・ストリームと組み合わせて、ハイブリッド・コンテスト・アイテム・ストリームを生成し、表示することができる。ハイブリッドモードは、例えば、クライアントにとってコンテンツ・プロバイダ・ストリームが使用できない場合に悪いネットワーク環境において、独自のローカルストリームを使用し続けることを可能にしながら、良好なネットワーク環境において、ローカルストリームに加えて、コンテンツプロバイダ300からのストリームを受信できるようにし得る。ハイブリッドモードクライアントがローカル状態をコンテンツプロバイダの共有状態との同期を維持することを可能にするために、コンテンツプロバイダ300は、定期的に、ハイブリッドモードのクライアントのそれぞれに状態情報を送信することができる。
特定のクライアントは、ハイブリッドモードと、クライアントが唯一のコンテンツ・プロバイダ・ストリームを受信し、ローカルクライアントのストリームを生成しないフルストリームモードを切り替えることができる。場合によっては、単一の共有状態は、クライアントの大規模なグループのために維持されてもよい。大規模なグループの中では、幾つかのクライアントはハイブリッドモードで動作でき、幾つかのクライアントはフルストリームモードで動作でき、幾つかのクライアントはハイブリッドモードとフルストリームモードを切り替えることができる。また、場合によっては、各ハイブリッドモードクライアントに送信されるデータの量は、帯域幅、スループット、遅延時間、パケット損失率などの条件に基づくコンテンツプロバイダとクライアントとの間の接続の品質などの原因に応じて変化することがある。例えば、コンテンツプロバイダ300により高い品質の接続を有する第1のハイブリッドモードのクライアントの場合、コンテンツプロバイダ300は第1のハイブリッドモードのクライアントに対して、より多くのデータを含む情景のより高い複雑度の表示を送信することができる。逆に、コンテンツプロバイダ300により低い品質の接続を有する第2のハイブリッドモードのクライアントの場合、コンテンツプロバイダ300は第2のハイブリッドモードのクライアントに対して、より少ないデータを含む情景のより低い複雑度の表示を送信することができる。例えば、第1ハイブリッドモードクライアントに送信されたより高い複雑度の表示には、第2のハイブリッドモードクライアントに送信されたより低い複雑度の表示に含まれていないより詳細なテクスチャ、パターン、形状および他の特徴が含まれている。
図3Aを参照すると、場合によっては、クライアント310Aおよび310Bは、コンテンツアイテム307に対応する1つまたは複数の異なる各エンティティに関連付けられていてもよい。そのようなエンティティは、例えば、様々なキャラクタ、車両、兵器、アスレチック機器やビデオゲームまたは他のコンテンツアイテムに対応する任意の他のエンティティを含んでもよい。場合によっては、各エンティティは、関連付けられたクライアントによって制御されてもよい。しかしながら、各エンティティは、例えば、クライアントの特定ユーザのために、またはクライアントの特定ユーザによって選択されることによって、任意の方法でクライアントと関連付けられ得る。図3Aの特定の例では、クライアント310Aは各制御キャラクタ315Aを制御し、クライアント310Bは各制御キャラクタ315Bを制御している。
クライアント310Aおよび310Bは、クライアント310Aおよび310Bでのコンテンツアイテム307の各プレゼンテーションに関連付けられた各クライアントの状態情報を収集することができる。クライアントの状態情報は、1つまたは複数のクライアントにどのような方法でも関係するため、コンテンツアイテムの状態に関連付けられた任意の情報である。クライアント状態情報は、例えば、クライアント310Aおよび310Bでのコンテンツアイテム307のプレゼンテーションに関連付けられた様々な機能、イベント、アクションまたはオペレーションの状態に対応する情報を含み得る。場合によっては、クライアントの状態情報は、制御されているキャラクタ315Aおよび315Bによって実行される様々なアクションまたはオペレーションを示すことができる。しかしながら、注目されるのは、各クライアント310によって収集されたクライアントの状態情報は、各クライアント310によって制御されているキャラクタや他のエンティティに対応する情報に限定されず、コンテンツアイテム307に関連付けられた任意の態様に対応する情報を含んでもよいということである。
図3Aに示すように、クライアント310Aは、各クライアント状態情報更新320Aをコンテンツプロバイダ300に、そして、クライアント310Bは、各クライアント状態情報更新320Bをコンテンツプロバイダ300に送信することができる。クライアント状態情報更新320Aおよびクライアント状態情報更新320Bは、クライアント310Aおよびクライアント310Bから定期的に任意の適切なスケジュールされた時刻またはスケジュールされていない時刻に送信されてもよい。クライアント状態情報更新320Aは、例えば、指定した間隔または他の時刻に、または特定のイベントに応じて、送信され得る。例えば、クライアント状態情報更新320Aおよびクライアント状態情報更新320Bの送信は、指定の位置に移動するようなアクションを行うキャラクタによってトリガーされ得る。クライアント状態情報更新320Aおよびクライアント状態情報更新320Bは、必ずしもを互いに同時に送信される必要性はない。認識される通り、場合によっては、更新されたクライアントの状態情報を送信する代替としてまたはそれに加えて、1つまたは複数のクライアント310Aおよび310Bは、全てのクライアント状態情報および/または以前に送信されたクライアント状態情報の一部を送信することができるということである。例えば、場合によっては、特定のクライアントからの状態情報の最初の送信は、全てのクライアント状態情報を含み得るが、後続の送信は状態情報更新または以前に送信された情報の幾つかの部分と共に状態情報更新のみを含むことができる。
コンテンツプロバイダ300は、クライアント状態情報更新320Aおよび320Bを受信し、これらを共有コンテンツアイテムの状態情報305を調整するために使用してもよい。調整は、例えば、追加、削除および/または共有コンテンツのアイテム状態情報305の様々な部分の改変を含み得る。共有コンテンツアイテムの状態情報305は、1つまたは複数のコンテンツアイテムの情景を生成するために、例えば、コンテンツアイテム307と組み合わせて使用することができる。
一実施例として、制御されているキャラクタ315Aが読み込み済の武器を発砲し、特定の出入り口に向かって弾丸を発射すると同時に、制御されているキャラクタ315Bが同じ出入り口に入り制御されているキャラクタ315Aに出会ってもよい。クライアント310Aは、制御されているキャラクタ315Aによる武器の発砲および弾丸の方向を示すクライアント状態情報更新320Aを送信することができる。クライアント310Bは、制御されているキャラクタ315Bの出入り口に入る動きを示すクライアント状態情報更新320Bを送信することができる。コンテンツプロバイダ300は、受信したクライアント状態情報更新320Aおよび320Bを示すために、共有コンテンツアイテム状態情報305を更新することができる。その後、コンテンツアイテム307は、制御されているキャラクタ315Aが武器を発砲した位置から出入り口に直面して立っている間に、制御されているキャラクタ315Bが胸に銃創があって出入り口に立っているという継続のコンテンツアイテムの情景を生成する共有コンテンツアイテム状態情報305にアクセスすることができる。
情景は、コンテンツアイテム307に関連して生成されたら、コンテンツプロバイダ300は、クライアント310Aおよび310Bで表示する情景を提示することができる。図3Aの特定の実施例では、コンテンツプロバイダ300は複数提示の表示330Aおよび330Bを生成する。例えば、図3Aに示すように、コンテンツプロバイダ300は、提示された表示330Aを生成し、クライアント310Aに送信する間に、コンテンツプロバイダ300は、提示された表示330Bも生成し、クライアント310Bに送信することができる。提示の表示330Aおよび330Bは、互いに異なっている。本明細書で用語として使用されている表示とは、情景に関連する特定の画像を指す。特定の情景の複数の異なる表示が生成されると、複数の異なる各表示は、情景に基づく異なる各画像を含んでもよい。
提示された表示330Aおよび330Bは、場合によっては、クライアント310Aと310Bに関連付けられた1つまたは複数のエンティティに関連付けられてもよい。例えば、提示された表示330Aは、制御されているキャラクタ315Aと関連付けられている間に、提示された表示330Bは、制御されているキャラクタ315Bに関連付けられてもよい。
場合によっては、提示された表示330Aおよび330Bは、関連付けられた各エンティティに対応する視点から情景の表示を提示することができる。例えば、提示された表示330Aは、制御されているキャラクタ315Aの眼を通して見られるような情景を示し、提示された表示330Bは、制御されているキャラクタ315Bの眼を通して見られるような情景を示すことができる。他の場合では、提示された表示330Aおよび330Bは、関連付けられた各エンティティが表示の中心にある、または表示内の関心の高さおよび/または視認性の高い位置に配置された情景の表示を提示することができる。例えば、提示された表示330Aは、制御されているキャラクタ315Aが表示の中央に位置するような情景を描写するが、提示された表示330Bは、制御されているキャラクタ315Bが表示の中央に位置するような情景を描写することができる。また、別の実施例として、情景内の特定の物体が関連付けられた各エンティティの表示をブロックしている場合、それらの物体は情景から削除されるか、提示された表示内に調整されてもよい。
また、場合によっては、特定の改正は追加、または特定の提示された表示に関連付けられ得る。例えば、関連付けられている各キャラクタまたは他のエンティティは、注目や視認性を増加するために拡大または強調されてもよい。さらに、表示内の特定の他のエンティティが関連付けられている各キャラクタまたはエンティティに何らかの形で関連付けられた場合、変更されてもよい。例えば、関連付けられた各キャラクタが特定の武器を探している場合、提示された表示内の武器に注目をさせるため、または武器の視認性を高めるために武器が拡大または強調さ得る。
制御されているキャラクタ315Aが出入り口に向けて武器を発射した後、出入り口を見ている上記の例示の情景に戻って参照すると、クライアント310Aのための提示された表示330Aは、例えば、制御されているキャラクタ315Aに関連付けられた視点からの表示を提供できる。提示された表示330Aは、例えば、例示の表示が制御されているキャラクタ315Aの眼を通して見られるように示すことができる。提示された表示330Aは、例えば、制御されているキャラクタ315Aによって見られるものとして、胸に銃創があって出入り口に立っている制御されているキャラクタ315Bを示すことができる。
逆に、クライアント310Bのための提示された表示330Bは、例えば、制御されているキャラクタ315Bに関連付けられた視点からの表示を提供できる。上述したように、例示の情景では、制御されているキャラクタ315Bは武器を発砲したばかりの制御されているキャラクタ315Aに直面して出入り口に立っている。提示された表示330Bは、例えば、例の情景が制御されているキャラクタ315Bの眼を通して見られるように示してもよい。提示された表示330Bは、例えば、制御されているキャラクタ315Bによって見られるものとして、手に発砲したばかりの武器を持つ制御されたキャラクタ315Aを示してもよい。
場合によっては、クライアント状態情報更新320Aおよび320Bは、提示された表示330Aおよび330Bの形成を援助するために使用できる任意の情報を含んでもよい。そのような情報は、クライアント310Aおよび310Bに関連付けられている1つまたは複数の各エンティティを示す情報を含むことができる。例えば、図3Aは、制御されているキャラクタ315Aおよび315Bをクライアント310Aおよび310Bに関連付けられている各エンティティとして描写している。クライアント状態情報更新320Aおよび320Bは、例えば、クライアント310Aおよび310Bに何らかの方法で関連付けられている他のエンティティを示してもよい。クライアント状態情報更新320Aおよび320Bは、例えば、クライアント310Aおよび310Bが様々なキャラクタまたはエンティティの制御を切り替える場合、あるいはコンテンツ送信セッションへの参加に接続または切断する場合を示すこともできる。クライアント状態情報更新320Aおよび320Bは、例えば、各クライアント310Aおよび310Bがハイブリッドモードまたはフルストリームモードで動作していることを示し、および/または動作モードの切り替えを示すこともできる。提示された表示330Aおよび330Bの情報をサポートするために使用できる他の適切な情報は、クライアント状態情報更新320Aおよび320Bやコンテンツプロバイダ300に送信される他の情報の収集に含まれ、または、場合によっては、コンテンツプロバイダ300によって保存され、あるいはコンテンツプロバイダ300に利用可能な情報に含まれてもよい。例えば、場合によっては、コンテンツプロバイダ300は、例えば、クライアント310Aおよび310Bによって制御されているキャラクタまたはその他のエンティティのインストラクション、あるいは提示された表示330Aおよび330Bの形成を補助するために使用することができる他の適切な情報を含むクライアント310Aおよび310Bについての情報を保存してもよい。場合によっては、示された表示330Aおよび330Bの形成を援助するために使用することができる情報は、共有コンテンツアイテム状態情報305内に含まれてもよい。
従って、上述したように、コンテンツプロバイダは、複数の異なるクライアントデバイスに複数のコンテンツアイテムの表示を提示し、送信することができる。しかしながら、場合によっては、複数のクライアントデバイスに情景の同一の表示を送信することが望ましい場合がある。例えば、同じ、またはお互いに密接に関連して関連付けられた、各コンテンツアイテムエンティティを有する別のクライアントに、同じ表示を送信することが望ましい場合がある。具体的には、例えば、同一の表示は、時には共同で同じキャラクタを制御するために協力する異なるクライアントに送信され得る。別の実施例として、同一の表示は、時に、異なるが密接に関連したキャラクタを制御するチームメートや同じユニット、または同じ組織のメンバーなどの異なるクライアントに送信され得る。さらに、別の例として、1つまたは複数のクライアントが1つまたは複数の他のクライアントのコンテンツアイテム内の1つまたは複数のエンティティを制御するアクティブモードで動作しながら、1つまたは複数のクライアントが観客クライアントのコンテンツアイテム内の任意のエンティティを制御しない観客モードで動作する場合に、同一の表示が送信され得る。場合によっては、1つまたは複数の観客モードクライアントは同一の表示を受信することができる。また、場合によっては、1つまたは複数の観客モードクライアントおよび1つまたは複数のアクティブモードのクライアントが同一の表示を受信することができる。例えば、特定の観客モードのクライアントは、特定のアクティブモードのクライアントが制御している特定のエンティティに関心を持ち、従って、特定のアクティブモードのクライアントに送信された同一の表示を受信したい場合がある。同一の表示は、他の適切な理由または理論的な解釈に基づいて送信してもよい。
本開示による同一の表示を生成する例示のシステムが図3Bに示されている。図3Bでは、クライアント310Aは各々制御されているチームメート316Aを制御し、クライアント310Bは各々制御されているチームメート316Bを制御している。また、図3Bに示すように、同一の提示された表示340はコンテンツプロバイダ300によって生成され、両方のクライアント310Aおよび310Bに送信されている。上述したように、場合によっては、チームメートを制御しているクライアントは同一の情景を受信することが望ましい場合がある。しかしながら、チームメートを制御しているクライアントは異なる情景を受信することが望ましい場合も多くある。さらに、上述したように、クライアント310Aおよび310Bが、同一の表示を受信することができたチームメートを制御することに加えて、またはその代わりに、多くの他の状態があり得る。
さらに、同一および異なる表示の任意の組み合わせを生成し、異なる任意の数のクライアントに送信してもよい。例えば、参加している3つのクライアントに送信されているコンテンツアイテムの場合、3つのクライアントの2つは、同一の表示を受信するが、第3のクライアントは別の表示を受信してもよい。
加えて、注目されるのは、同一または異なる表示を受信するクライアントの構成は、特定のコンテンツアイテムの送信セッションを通じて変更することができるということである。例えば、2つのクライアントは、最初に2つのチームメートを制御することができ、特定のコンテンツアイテムの同一の表示を受信することができる。しかしながら、コンテンツアイテムの送信中のある時点で、クライアントの1つは、自分のキャラクタの制御を放棄し、対向チームの異なるキャラクタの制御を開始することができる。この場合には、切り替えるクライアントは、キャラクタの制御を切り替えた後、他のクライアントに送信されていた異なる表示を受信し始め得る。上述したように、キャラクタまたは他の表示に関連する情報の切り替えは、場合によっては、クライアントの状態情報の更新の一部として、あるいは適切な他の任意の手法を使用して、クライアントからコンテンツプロバイダに通信されてもよい。
また、お互いに同一または異なる表示を受信する任意の特定のクライアントを指定する必要はない。むしろ、場合によっては、各クライアントの表示は、各エンティティまたは任意の他の適切な情報などのクライアントに関連付けられた情報に基づいて生成されてもよい。従って、場合によっては、必ずしも類似または同一として求めて表示を指定することなく、2つのクライアントは、幾つかの情景の異なる表示および他の情景と同一のまたはほぼ同一の表示を受信することができる。例えば、場合によっては、2つの異なるクライアントによって制御される2つの関係のないキャラクタは、特定の情景内で互いに近接して配置されることがある。そのような場合では、特定の情景の同一のまたはほぼ同一の表示は、時々2つの異なるクライアントに送信され得る。逆に、関係のないキャラクタが互いに近傍に位置していない他の情景の場合、2つの同一のクライアントが異なる表示を受信することができる。
このように、共有状態情報に基づいて、コンテンツプロバイダにおいて1つまたは複数の表示を提示する多くの手法が上述されている。コンテンツプロバイダにおいて1つまたは複数の表示の提示は、場合によっては、コンテンツプロバイダからクライアントに状態情報を送信する必要性を低減または排除することができる。さらに、コンテンツプロバイダにおいて1つまたは複数の表示の提示は、場合によっては、クライアントデバイスにインストールされたコンテンツ・プレゼンテーション・ソフトウェアのコスト、複雑さおよび使用要件を低減することができる。これは、例えば、時々コンテンツが重いクライアント・コンテンツ・プレゼンテーション・ソフトウェアに対して、軽いクライアント・コンテンツ・プレゼンテーション・ソフトウェアを使用してクライアントデバイスで呈示されることを可能にする。さらに、コンテンツプロバイダに1つまたは複数の表示の提示は、場合によっては、著作権盗用やコンテンツ作成者および販売者が恐れている他のセキュリティ上の問題を低減することができる。
加えて、コンテンツアイテムを実行するために使用される仮想マシーンインスタンスおよび/またはその他のリソースの数または量はコンテンツアイテムに関連付けられ、生成された多くの表示に依存する必要がないことが注目される。例えば、場合によっては、単一の仮想マシーンインスタンスは、複数の異なるクライアントに送信される提示された複数の異なる表示を有するコンテンツアイテムを実行するために使用することができる。しかしながら、場合によっては、例えば、遅延時間を短縮するために、所望であれば、複数の仮想マシーンインスタンスを使用することができる。
コンテンツプロバイダにおいて1つ以上の表示の提示に加えて、本開示手法は、複数のグラフィックス処理ユニットが特定のコンテンツアイテムに関連付けられて使用されることをも可能にすることができる。場合によっては、複数のグラフィックス処理ユニットが、少なくとも部分的に互いに同時に、特定の情景に関連付けられた提示を生成できる。提示は、1つまたは複数のグラフィックス処理ユニットによって少なくとも部分的に生成されたデータを指し、1つまたは複数の画像の少なくとも一部に関連付けられている。また、場合によっては、複数のグラフィックス処理ユニットの使用は、提示された表示のリアルタイム、またはほぼリアルタイムの生成およびプレゼンテーションを可能にするために支援することができる。場合によっては、複数のグラフィックス処理ユニットは、任意の異なる物理的な場所に任意の数の異なるマシーンまたはデバイスに配分させることができる。場合によっては、複数のグラフィックス処理ユニットは、情景の単一の表示のみを提示するために使用することができることに対して、他の場合では、複数のグラフィックス処理ユニットは情景の複数の表示を提示するために使用することができる。しかしながら、注目されるのは、複数グラフィックス処理ユニットは、必ずしも情景の複数の表示を提示する必要はないということである。場合によっては、情景の複数の表示を提示するには、単一のグラフィックス処理ユニットで十分である。
図4−図6は、上述の概念の複数の表示と複数のグラフィックス処理ユニットとの間の様々な相互作用を示す幾つかの実施例のコンテンツ伝送システムを示している。特に、図4は、単一のグラフィックス処理装ユニットが複数の表示を生成するために使用される例示のシナリオを示している。図4に示すように、コンテンツプロバイダ400は、それぞれのクライアント410A、410Bおよび410Cに送信される提示された表示420A、420Bおよび420Cを生成するグラフィックス処理ユニット403Aを備えている。図5は、複数のグラフィックス処理ユニットが、単一の表示を生成するために使用されている例示のシナリオを図示している。図5に示されているように、コンテンツプロバイダ500は、クライアント510Aに送信される提示された表示520Aを生成するために組み合わせる複数のグラフィックス処理ユニット503A、503Bおよび503Cを備えている。図6は、複数のグラフィックス処理ユニットが複数の表示を生成するために使用されている例示のシナリオを図示している。図6示されているように、コンテンツプロバイダ600は、それぞれのクライアント610A、610Bおよび610Cに送信される提示された表示620A、620Bおよび620Cを生成するために使用されるグラフィックス処理ユニット603A、603Bおよび603Cを備えている。他のある例示の構成では、各グラフィックス処理ユニット603A−Cは、各々提示された表示620A−Cを生成することができる。例えば、グラフィックス処理ユニット603Aは、提示された表示620Aを生成し、グラフィックス処理ユニット603Bは、提示された表示620Bを生成し、グラフィックス処理ユニット603Cは、提示された表示620Cを生成することができる。さらに、他の場合には、グラフィックス処理ユニット603A−Cのうちの2つ以上が提示された表示620A−Cの1つまたは複数を生成するために組み合わせることができる。例えば、処理するグラフィック603Aおよび603Bは、提示された表示620Aおよび620Bを形成するために組み合わせてもよいが、処理するグラフィック603Cは個別に提示された表示620Cを生成することができる。
適切な任意の数の手法が、複数のグラフィックス処理ユニットを越えて情景の提示を配分するために使用され得る。例えば、場合によっては、複数のグラフィックス処理ユニットのそれぞれに、提示する情景の各部分を割り当てることができる。情景の各部分は、例えば、種々の座標、寸法、または他の指標によって示される情景の領域を含み得る。例えば、場合によっては、2つのグラフィックス処理ユニットにわたって配分された情景が、2つのグラフィックス処理ユニットの各1つに割り当てられた各半分で、2つの等しい大きさの半分ずつに分割することができる。
別の例として、情景がキャラクタ、建物、乗り物、武器、木、水、火、動物などのような複数の物体を含んでもよい。場合によっては、複数のグラフィックス処理ユニットのそれぞれは、提示するために情景内の各物体または物体の部分または物体の集合が割り当てられていてもよい。本明細書で使用する物体という用語は、任意の情景、画像または他の情報の集合の部分をいう。物体は、例えば、特定の画素または画素の集合であってもよい。物体は、例えば、特定のアセットの全てまたは任意の部分であってもよい。また、物体は、例えば、アセットの集合の全てまたは任意の部分であってもよい。また、物体は、例えば、木、火、水、雲、布、衣類、人、動物および他のようなエンティティの全てまたは任意の部分であってもよい。例えば、物体は、木の一部であってもよい。また、物体は、例えば、物体、エンティティおよび/またはアセットの集合の全てまたは任意の部分を含んでもよい。例えば、物体は、例えば、互いに対して任意の位置に存在し、複数の木または雲のグループであってもよい。
別の例として、情景の複数の表示が生成される場合、場合によっては、複数のグラフィックス処理ユニットのそれぞれは、提示する情景の1つまたは複数の各表示が割り当てられることができる。上記の手法例および/または他の任意の適切な手法の組み合わせは、複数のグラフィックス処理ユニットにわたって、情景の提示を配分するために使用されてもよい。
場合によっては、特定のコンテンツアイテムを提示するために使用するグラフィックス処理ユニットの数は、数が様々な要因に応じて変化するように柔軟性があってもよい。その要因は、例えば、グラフィックス処理ユニットが提示を生成する速度または1つ以上のグラフィックス処理ユニットの他の実行速度、提示された情景の複雑さ、提示された情景に関連付けられた多数の表示、追加のグラフィックス処理ユニットの利用可能性およびこれらの任意の組み合わせまたはその他の関連要因を含んでもよい。
場合によっては、特定のコンテンツアイテムの提示に関連付けられた1つまたは複数のグラフィックス処理ユニットの実行速度は、グラフィックス処理ユニットが実行している時の効率を判定するために監視することができる。例えば、場合によっては、グラフィックス処理ユニットが特定の閾値実行速度以下で情景または情景の部分を提示している場合、情景または情景の部分の提示を援助するために1つまたは複数の追加グラフィックス処理ユニットを追加する決定ができる。逆に、場合によっては、2つ以上のグラフィックス処理ユニットが特定の閾値を超えた実行速度で情景の部分を提示している場合、他のコンテンツアイテムまたはコンテンツプロバイダの作業の援助を可能にするようにグラフィックス処理ユニットの1つまたは複数を放棄する決定ができる。
1つ以上または複数のグラフィックス処理ユニットの提示速度に影響を与え得る多くの要因がある。要因の一例は、情景の複雑さであり得る。例えば、場合によっては、特定のコンテンツアイテムに関連付けられた情景の複雑さは、一つの情景から次の情景に変化することがある。異なる任意の数の要因は、そのような情景の複雑さの変化を求める役割があり得る。場合によっては、特定の物体または物体の部分は、追加または削除、あるいは調整、不明瞭または可視化され得る。例えば、特定のキャラクタ、建物、乗物または他の物体が後続の情景に追加されると、情景の複雑さは一つの情景から次の情景に増加し得る。場合によっては、情景の複雑さが増加すると、1つまたは複数のグラフィックス処理ユニットはもはや効率的に各情景や情景の部分を提示することはできないほど過負荷になり得る。逆に、場合によっては、情景の複雑さが低減すると、1つまたは複数のグラフィックス処理ユニットは、コンテンツアイテムを提示するために使用されるグラフィックス処理ユニットの数を集約し、低減することができるほど、追加の使用可能な容量を得ることができる。
1つまたは複数のグラフィックス処理ユニットの実行速度に影響を及ぼす別の要因の例は、様々な情景または情景の一部に関連付けられた多数の表示である。例えば、1つまたは複数のクライアントによって制御されているキャラクタが情景の特定の部分に入ると、その情景の部分に関連付けられた表示の数が増加し得る。これは、例えば、1つまたは複数のクライアントによって制御されているキャラクタが、特定の建物または建物内の部屋に入るときに発生し得る。逆に、1つまたは複数のクライアントによって制御されているキャラクタが情景の特定の部分を去ると、その情景の部分に関連付けられた表示の数が減少し得る。場合によっては、表示の数が増加すると、1つまたは複数のグラフィックス処理ユニットはもはや効率的に各情景または情景の部分を提示することができないほど過負荷になり得る。逆に、場合によっては、表示の数が減少すると、1つまたは複数のグラフィックス処理ユニットは、コンテンツアイテムを提示するために使用されるグラフィックス処理ユニットの数を集約し、低減することができるほど、追加の使用可能な容量を取得し得る。
上述のグラフィックス処理ユニットのスケーリング概念の一部を示す幾つかの例示のシナリオは、図7−図10を参考しながら記述される。特に、図7は、本開示の手法にかかるグラフィックス処理ユニットの最初の例示スケーリングシナリオを図示している。具体的には、図7は、単一のグラフィックス処理ユニット720によって提示された情景700を図示している。注目されるのは、情景700は、3次元の情景として、図7に図示されている(立方体形状によって示されている)ということである。しかしながら、本開示の手法は、3次元情景での使用に限定されるものではなく、例えば、2次元の情景で使用することができる。図7は、グラフィックス処理ユニット720が下限閾値以下の実行速度で動作していることを示す。上述したように、この低実行速度の原因は、高すぎる情景の複雑さおよび/または単一のグラフィックス処理ユニット720によって効率的に提示できないほどあまりにも多くの関連付けられた表示を有するなどの要因によることもある。従って、場合によっては、コンテンツプロバイダは、下限閾値以下の実行速度で動作しているグラフィックス処理ユニット720に基づいて、後続の情景を提示するために、追加グラフィックス処理ユニットを使用することを決定し得る。
図8は、下限閾値以下の実行速度で作動している図7のグラフィックス処理ユニット720に基づいて、コンテンツプロバイダが追加グラフィックス処理ユニットを加えるシナリオを図示している。具体的には、図8は、図7の情景700に後続する1つまたは複数の情景である情景800を図示している。情景800は、また、2つの情景部分810Aおよび810Bに分割される。加えて、情景800の提示は、2つのグラフィックス処理ユニット820Aおよび820Bに配分されている。具体的には、情景部分810Aはグラフィックス処理ユニット820Aによって提示され、情景部分810Bはグラフィックス処理ユニット820Bによって提示される。注目されるのは、情景部分810Aおよび810Bの矩形は説明の目的のために単に選択されたものであり、これに限定されないということである。情景は、本開示の手法にかかる異なる形状または大きさの任意の数を有する異なる部分の任意の数に分割されてもよい。また、注目されるのは、追加グラフィックス処理ユニットが加えられる場合、前の情景の部分を必ずしも同じサイズの半分に分割する必要はないということである。
図8は、グラフィックス処理ユニット820Aが、上限および下限の閾値実行速度の間の速度で作動していることを示す。上限および下限の閾値実行速度の間の速度で作動しているグラフィックス処理ユニット820Aに基づいて、コンテンツプロバイダは、場合によっては、情景部分810Aのグラフィックス処理ユニットのスケーリングに対して変化が必要ではないと決定できる。逆に、図8は、また、グラフィックス処理ユニット820Bが下限の閾値実行速度以下で作動していることを示す。従って、場合によっては、コンテンツプロバイダは、下限の閾値実行速度以下で作動しているグラフィックス処理ユニット820Bに基づいて、後続の情景における情景810Bに対応する領域を提示するために追加グラフィックス処理ユニットを使用することを決定できる。
図9は、コンテンツプロバイダは、下限の閾値実行速度以下で作動している図8のグラフィックス処理ユニット820Bに基づいて、追加グラフィックス処理ユニットを加えるシナリオを図示している。具体的には、図9は、図8の情景800に後続する1つまたは複数の情景900を図示している。情景900は、3つの情景部分910A、910Bおよび910Cに分割されている。また、情景900の提示は3つのグラフィックス処理ユニット920A、920Bおよび920Cにわたって配分されている。具体的には、情景部分910Aはグラフィックス処理ユニット920Aによって提示され、情景部分910Bはグラフィックス処理ユニット920Bによって提示され、情景部分910Cはグラフィックス処理ユニット920Cによって提示される。注目されるのは、情景部分910Bおよび情景部分910Cは、図8の情景部分810Bを2つの等しい半分の部分に分割することによって形成されたということである。情景部分810Bは、そのグラフィックス処理ユニット820Bが下限閾値実行速度以下で作動しているために分割された。
図9は、グラフィックス処理ユニット920Aが、上限および下限の閾値実行速度の間で作動していることを図示している。上限および下限閾値実行速度の間で作動しているグラフィックス処理ユニット920Aに基づいて、コンテンツプロバイダは、場合によっては、情景部分910Aのグラフィックス処理ユニットのスケーリングに対して変化が必要でないと決定できる。逆に、図9は、両方のグラフィックス処理ユニット920Bおよび920Cが上限閾値実行速度以上で作動していることを図示している。上述したように、これらの高い実行速度は、より低い情景の複雑さおよび/または各情景部分910Bおよび910Cに関連付けられた提示の表示について、より低い数などの要因に起因する可能性がある。従って、場合によっては、コンテンツプロバイダは、上限の閾値実行速度以上で動作しているグラフィックス処理ユニット920Bおよび920Cに基づいて、後続する情景部分910Bおよび910Cに対応する組み合わせた領域を提示するために、より少ないグラフィックス処理ユニットを使用すべきと決定できる。
図10は、上限の閾値実行速度以上で動作している図9のグラフィックス処理ユニット920Bおよび920Cに基づいて、コンテンツプロバイダがグラフィックス処理ユニットを削除するシナリオを図示している。特に、図10は、図9の情景900に後続する1つ以上の情景1000を示す。情景1000は、2つの情景部分1010Aおよび1010Bに分割されている。加えて、情景1000の提示は、2つのグラフィックス処理ユニット1020Aおよび1020Bにわたって配分されている。具体的には、情景部分1010Aはグラフィックス処理ユニット1020Aによって提示され、情景部分1010Bはグラフィックス処理ユニット1020Bによって提示される。注目されるのは、情景部分1010Bは、図9の情景部分910Bおよび情景部分910Cを単一部分に組み合わせることによって形成されたということである。情景部分910Bおよび情景部分910Cは、各グラフィックス処理ユニット920Bおよび920Cが上限の閾値実行速度以上で作動しているために組み合わせられた。情景部分910Bおよび910Cの組み合わせは、場合によっては、グラフィックス処理ユニット920Bおよび920のいずれか一つが追加グラフィックス処理ユニットのより高い必要性がある別のタスクに再割り当てされることをも可能とすることができる。
改めて注目されるのは、図7−図10に示されている情景部分およびグラフィックス処理ユニットの配分は、実施例にすぎない。本開示の手法では、情景が任意の記載の方法で部分に分割されてもよいということである。本開示の手法では、グラフィックス処理ユニットが任意の記載の方法で情景または情景部分に配分されてもよい。
1つまたは複数のグラフィックス処理ユニットが下限の閾値実行速度以下で作動しているにもかかわらず、幾つかの実施例では、追加グラフィックス処理ユニットが利用可能ではない場合がある。これは、コンテンツプロバイダにとって、利用可能であるリソースが限られていることに起因する。このような場合では、例えば、1つまたは複数の追加グラフィックス処理ユニットの要求は、利用可能になるまで、追加グラフィックス処理ユニットを取得する待ち行列に入れることができる。加えて、例えば、要求の緊急性は、下限の閾値実行速度が下回っている程度などの要因に基づいて、決定され得る。場合によっては、最も緊急ニーズが高いおよび/または最低の関連付けられた実行速度を有するコンテンツアイテムは、緊急ニーズの低いコンテンツアイテムよりも新しく利用可能になったリソースをより迅速に取得できる。さらに、場合によっては、コンテンツアイテムが必要な追加リソースを待機している間に、コンテンツアイテムの既存の割り当てられたグラフィックス処理ユニットがコンテンツアイテムの情景をより効率的に提示するために再配置され、または他の方法で再び割り当てられてもよい。
幾つかの上記の実施例は、グラフィックス処理ユニットのスケーリングを達成するために、グラフィックス処理能力速度の監視を含むことができるが、注目されるのは、本開示の手法では、グラフィックス処理ユニットモニタリングを使用する必要はないが、これに限定されるものではないということである。むしろ、情景の提示のために使用するグラフィックス処理ユニットの所望の数を決定する任意の適切な手法を使用することができる。例えば、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツアイテムに関連付けられ、コンテンツアイテムに関連付けられた1つまたは複数の情景の様々な部分に関連付けられた、複雑さのレベルを示す少なくとも部分的な情景の複雑さの情報に基づいて決定され得る。さらに、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツアイテムの送信に参加しているクライアントを監視することによって、および/または特定のコンテンツアイテムの送信に関連付けられた提示される異なる表示の数を監視または決定することによって、少なくとも部分的に決定することができる。さらに、場合によっては、グラフィックス処理ユニットの数は、特定のコンテンツプロバイダあるいはコンテンツプロバイダに関連付けられた任意の顧客、または他のエンティティによって設定された任意の特定の規則または設定に基づいて、少なくとも部分的に決定されてもよい。上記の任意の組み合わせまたは他の適切な手法が使用されてもよい。
例示のグラフィックス処理ユニット配分技術には、単一のグラフィックス処理ユニットに情景の1つまたは複数の部分を割り当てることを含むものもあるが、情景の各部分は、提示する1つだけのグラフィックス処理ユニットに割り当てる必要はない。場合によっては、完全な情景または情景の任意の部分を共同で提示するために、複数のグラフィックス処理ユニットが協力することができる。
このように、多数のグラフィックス処理ユニットにわたって情景の提示を配分するための多くの例示の手法が、上記に詳細に記述されている。場合によっては、情景の異なる部分が複数のグラフィックス処理ユニットによって提示された後、様々な異なる提示の全てまたはその部分を送信および表示のために、1つまたは複数の結果表示を形成すべく組み合わせることができる。コンテンツプロバイダは、複数のグラフィックスから受信した提示を一つの情景に合成するための様々な技術を採用することができる。本明細書でスティッチング手法と呼ばれる一例の合成手法は、異なるグラフィックス処理ユニットからの種々の提示を表示内の異なる認識された領域に挿入することを含むことができる。例えば、第1グラフィックス処理ユニットによる第1の提示は、第1の特定の表示領域に挿入され、第2グラフィックス処理ユニットによる第2の提示は第2の特定の表示領域に挿入されてもよい。各表示領域は、例えば、表示が生成された情景に基づいて特定された座標の値を用いて特定できる。
スティッチング手法の例示的な描写は、図11に図示されている。特に、図11では、4つの異なるグラフィックス処理ユニット1120A−Dによって生成された4つの提示1130A−1130Dを示している。具体的には、提示1130Aは、グラフィックス処理ユニット1120Aによって生成され、提示1130Bは、グラフィックス処理ユニット1120Bによって生成され、提示1130Cは、グラフィックス処理ユニット1120Cによって生成され、提示1130Dは、グラフィックス処理ユニット1120Dによって生成された。図11に示すように、表示1150を形成するために、提示1130Aは表示領域1140Aに挿入され、提示1130Bは表示領域1140Bに挿入され、提示1130Cは表示領域1140Cに挿入され、提示1130Dは表示領域1140Dに挿入されている。
本明細書でレイヤリング手法といわれる別の例示の合成手法は、複数のレイヤを有する表示の表現を使用することができる。表現の各レイヤは、表示の各部分に対応することができる。例えば、第1レイヤは、第1のグラフィックス処理ユニットによって提示された表示の第1の部分を含み、第2レイヤは第2のグラフィックス処理ユニットによって提示された表示の第2の部分を含むことができる。具体的には、図12は4つのレイヤ1260A、1260B、1260Cおよび1260Dを図示している。レイヤ1260Aは、グラフィックス処理ユニット1220Aから受信した提示1230Aを含む。レイヤ1260Bは、グラフィックス処理ユニット1220Bから受信した提示1230Bを含む。レイヤ1260Cは、グラフィックス処理ユニット1220Cから受信した提示1230Cを含む。レイヤ1260Dは、グラフィックス処理ユニット1220Dから受信した提示1230Dを含むことができる。
レイヤリング手法の例示の描写が、図13には図示されている。具体的には、論理的表現1300が示され、レイヤ1260A−Dは論理的に以下のように垂直に積層されたものとして表わされる。つまり、底部にレイヤ1260D、レイヤ1260Cは底部から二番目、レイヤ1260Bは底部から三番目、そしてレイヤ1260Aは上部に積層される。注目されるのは、論理的な表現1300は、レイヤ1260A−Dが物理的にお互いに上下に積層された物理的な構造であることを意図していないということである。むしろ、論理的表現1300は、情景の様々な部分に対応するデータが論理的に関連付けられる例示の方法を示すことを意図している単なる論理的表現である。さらに、図13に示すレイヤの配置の例示の順序は、単に例示の目的のために提供されたもので、それに限定するものではない。図13に戻って参照すると、論理的表現1300は提示1230A−Dを含む結果の表示1350を生成するために使用されることが示されている。
従って、1つまたは複数のグラフィックス処理ユニットを使用して、情景の1つまたは複数の表示を生成するために、様々な手法が上記に記載されている。本開示の手法による例示のコンテンツ・プロバイダ・システムが、図14に図示されている。図14に示すように、コンテンツプロバイダ1400と通信中のクライアント1410A−Cを含む。例えば、クライアント1410A−Cそれぞれがビデオゲームなどの特定のコンテンツアイテムの送信セッションに参加することができる。クライアント1410A−Cは、例えば、アクティブクライアントおよび観客クライアントを含むことができる。アクティブなクライアントは、1つまたは複数のキャラクタまたはコンテンツアイテム内の他のエンティティを制御するクライアントである。観客クライアントは、キャラクタまたはコンテンツアイテム内の他のエンティティを全く制御しないクライアントである。クライアント1410A−Cそれぞれが3つのストリーミングサーバ1450A−Cの各1つから提示されたコンテンツアイテム表示の送信を受け取る。しかしながら、注目されるのは、ストリーミングサーバ1450A−Cは、図14の特定の例示に含まれているが、本開示の手法は、コンテンツストリーミング送信の使用に限定されるものではなく、コンテンツ配分の他の任意の適切な形態を採用することができるということである。各クライアント1410A−Cにコンテンツを送信するための別個の各ストリーミングサーバ1450A−Cの使用は、例えば、場合によっては、各クライアントへのネットワーク接続に関連付けられたサービスの質などの要因に基づいて、個々のクライアントへの様々な送信特性を調整するための改善された能力を可能にすることができるので、有利であると思われる。調整された送信特性は、例えば、符号化速度、送信速度、画質やその他の関連要因を含んでもよい。しかしながら、注目されるのは、本開示の手法は、ストリーミング技術の使用、または各クライアントに送信するための別々のサーバの使用に限定されるものではないということである。むしろ、本手法にかかる任意の数のサーバは、任意の数の異なるクライアントへの送信のために使用してもよい。
それぞれのクライアント1410A−Cが、定期的に、コンテンツプロバイダ1400にクライアント状態情報の更新を送信ができる。場合によっては、コンテンツプロバイダ1400は、クライアント状態情報を観客クライアントから受信せず、アクティブクライアントからのみ受信してもよい。上述したように、クライアント状態情報の更新は、例えば、各々のクライアント1410A−Cにおけるコンテンツアイテムのプレゼンテーションに関連付けられた様々なイベント、アクションまたはオペレーションの状態に対応する情報を含むことができる。例えば、クライアント状態情報の更新は、クライアント1410A−Cによって制御されているキャラクタまたは他のエンティティによって実行される様々なアクションまたはオペレーションを指すことができる。別の例示として、クライアント状態情報の更新は、クライアントによって制御されているキャラクタまたは他のエンティティの指示、1つのキャラクタまたはエンティティから別のキャラクタまたはエンティティへの制御の切り替えに関する情報およびクライアントのコンテンツ送信セッションへの参加の接続または切断に関する情報などの1つまたは複数の情景の生成を支援できる情報を含んでもよい。クライアント状態情報の更新は、例えば、各々のクライアント1410A−Cがハイブリッドモードあるいはフルストリームモードで作動していることを示すことができ、および/またはそれらのモードでの動作の切り替えを示すことができる。
クライアント1410A−Cから送信されたクライアント状態情報の更新は、入力制御プレーン1480によってコンテンツプロバイダ1400で受信される。各クライアント1410A−Cから受信した状態情報は、送信されるコンテンツアイテムの共有状態情報1470を調整するために、まとめて使用することができる。調整は、例えば、共有の状態情報1470の様々な部分の追加、削除および/または修正を含むことができる。上述したように、共有状態情報1470は、様々なコンテンツアイテムの情景を生成するために、コンテンツアイテムと組み合わせて使用することができる。また、上記のように、共有状態情報1470は、各コンテンツの情景の1つまたは複数の表示を生成するために、コンテンツアイテムと組み合わせて使用することができる。
各コンテンツアイテムの情景は、1つまたは複数のグラフィックス処理ユニット1403A−Cを含むグラフィックス処理ユニット・コレクション1490によって、1つまたは複数の表示に提示することができる。グラフィックス処理ユニット・コレクション1490が、1つまたは複数のグラフィックス処理ユニットを含むことができることを示すために、図14は、1つのグラフィックス処理ユニット1403Bを実線の境界線で図示し、残りのグラフィックス処理ユニット1403Aおよび1403Cを破線の境界線で図示している。複数のグラフィックス処理ユニット1403A−Cは、場合によっては、任意の数の異なる物理的な位置で任意の数の異なるマシーンまたはデバイスに配分されてもよい。特定のコンテンツアイテムに関連付けられて使用されるグラフィックス処理ユニット1403A−Cの数は、グラフィックス処理ユニット・スケーリング・コンポーネント1460によって、少なくとも部分的に決定されてもよい。上述のように、場合によっては、特定のコンテンツアイテムを提示するために使用されているグラフィックス処理ユニットの数は、その数が情景から別の情景にまたは任意の適切な間隔に変更するように、柔軟性があってもよい。グラフィックス処理ユニットの適切な数の使用を決定するための多くの例示手法が、詳細に上述されている。
グラフィックス処理ユニット・スケーリング・コンポーネント1460は、場合によっては、グラフィックス処理ユニット・コレクション1490を監視し、命令しあるいは通信することができる。例えば、グラフィックス処理ユニット・スケーリング・コンポーネント1460は、上述のように、様々なワークロード、利用可能な容量、グラフィックス処理ユニットが生成する提示の速度およびその他の実行速度およびグラフィックス処理ユニット1403A−Cに関連付けられた任意の他の適切な特性を監視することができる。グラフィックス処理ユニット・スケーリング・コンポーネント1460は、場合によっては、情景の複雑さ、多くの接続されたクライアントと関連付けられた表示、関連付けられたコンテンツプロバイダまたは顧客ルールまたは嗜好およびその他の関連情報などの情報を決定するために、入力制御プレーン1480、共有状態情報1470、様々なコンテンツアイテムおよび様々な他のコンポーネントと通信することができる。図14の特定の実施例では、グラフィックス処理ユニット・スケーリング・コンポーネント1460は入力制御プレーン1480内に含まれているが、グラフィックス処理ユニット・スケーリング・コンポーネント1460は、場合によっては、別個のコンポーネントであってもよく、または1つまたは複数の他のコンポーネントの一部として含まれてもよい。
特定のコンテンツアイテムの提示に参加する多数のグラフィックス処理ユニット1403を決定することに加えて、グラフィックス処理ユニット・スケーリング・コンポーネント1460は、場合によっては、全体の情景の提示負荷がどのように総数の参加するグラフィックス処理ユニット1403の間で配分されるかを決定することができる。例えば、グラフィックス処理ユニット・スケーリング・コンポーネント1460は、情景の特定の部分を提示するために1つ以上の特定のグラフィックス処理ユニットを割り当てることができる。様々なグラフィックス処理ユニットのうちの様々な情景の部分の幾つかの例示の配分は、図7−図10に示され、上記で詳細に説明されている。上述したように、場合によっては、1つまたは複数のグラフィックス処理ユニットは、情景、情景の特定の表示および/またはキャラクタ、建物、車両、兵器、木、水、火、動物など1つまたは複数の情景の物体の特定の寸法または座標を提示するために割り当てることができる。場合によっては、グラフィックス処理ユニット・スケーリング・コンポーネント1460に加えてまたはその代わりに、全てまたは幾つかのグラフィックス処理ユニットによる提示の配分決定は、1つまたは複数のグラフィックス処理ユニット1403A−Cまたは図14に示す任意の他のコンポーネントあるいはその他のコンポーネントによって行うことができる。
上述したように、情景の様々な部分は、1つまたは複数のグラフィックス処理ユニット1403A−Cによって提示された後、種々の提示は、1つまたは複数の結果の表示を形成するために組み合わせてもよい。これらの異なる提示の組み合わせは、幾つかの場合に、1つまたは複数のグラフィックス処理ユニット1403A−Cによっておよび/または任意の他の適切なコンポーネントによって実行されてもよい。スティッチング手法またはレイヤリング手法などの複数のグラフィックス処理ユニットからの提示を合成する種々の例示の手法は、図11−図13に示されており、詳細に上述されている。
1つまたは複数の提示された表示は、次に各クライアント1410A−Cに送信するためにストリーミングサーバ1450A−Cに提供することができる。送信前に、提示の表示を準備するために符号化および圧縮のような様々なオペレーションが実行されてもよい。これらの様々なオペレーションは、ストリーミングサーバ1450A−C内のコンポーネントまたは種々の他のコンポーネントによって実行することができる。
上述したように、場合によっては、少なくとも幾つかのクライアント1410A−Cは、特定の情景の異なる表示を受信することができる。また、場合によっては、少なくとも幾つかのクライアント1410A−Cは、特定の情景の同一の表示を受信することができる。例えば、クライアント1410Aおよび1410Bは、情景の同じ表示を受信するが、クライアント1410Cは同一情景の異なる表示を受信することができる。
図15は、本開示による共有状態情報に基づいて、1つまたは複数の表示を生成するための手順の実施例を示すフローチャートである。オペレーション1510では、コンテンツアイテムの送信セッションが開始される。コンテンツアイテムの送信セッションは、場合によっては、1つまたは複数の参加しているクライアントデバイスから1つまたは複数の要求に基づいて開始され得る。参加しているクライアントデバイスは、例えば、コンテンツアイテムに関連付けられた1つまたは複数の送信を受け取る任意のクライアントデバイスを含むことができる。参加するクライアントデバイスは、例えば、アクティブクライアントおよび観客クライアントを含むことができる。アクティブクライアントは、コンテンツアイテム内の1つまたは複数のキャラクタまたは他のエンティティを制御するクライアントである。観客クライアントは、コンテンツアイテム内の1つまたは複数のキャラクタまたは他のエンティティを制御しないクライアントである。上述したように、コンテンツアイテムは、マルチメディアストリーミングまたは任意の他の適切なコンテンツ配分技術を使用して送信されてもよい。
オペレーション1512では、クライアント状態情報が、コンテンツプロバイダによって1つまたは複数の参加しているクライアントデバイスから受信される。場合によっては、コンテンツプロバイダは、状態情報をアクティブクライアントのみから受信することができ、観客クライアントから受信しなくてよい。場合によっては、オペレーション1512で受信したクライアント状態情報は、特定のクライアントの全てのクライアント状態情報または特定のクライアントからのクライアント状態情報の一部のみを含んでもよい。例えば、場合によっては、オペレーション1512で受信されたクライアント状態情報は、クライアント状態情報の更新を含むことができる。このようなクライアント状態情報の更新は、例えば、コンテンツプロバイダに事前に送信されていないクライアント状態情報を含んでもよい。また、クライアント状態情報の更新は、例えば、コンテンツプロバイダに事前に送信したクライアント状態情報を除外してもよい。
上述したように、クライアント状態情報は、例えば、参加している各クライアントデバイスにおけるコンテンツアイテムのプレゼンテーションに関連付けられた様々な特徴、イベント、アクションまたはオペレーションの状態に対応する情報を含むことができる。例えば、クライアント状態情報は、クライアントによって制御されているキャラクタまたは他のエンティティによって実行される様々なアクションまたはオペレーションを指してもよい。別の実施例として、クライアント状態情報は、クライアントによって制御されているキャラクタまたは他のエンティティの指示、1つのキャラクタまたはエンティティから別のキャラクタまたはエンティティへの制御の切り替えに関する情報およびクライアントのコンテンツ送信セッションへの参加の接続または切断に関する情報などの1つまたは複数の情景の生成に支援できる情報を含んでもよい。さらに、別の実施例として、クライアント状態情報更新は、例えば、クライアントがハイブリッドモードまたはフルストリームモードで作動していることを示すことおよび/またはそれらのモードでの動作の切り替えを示すことができる。
オペレーション1514では、コンテンツプロバイダは、オペレーション1512で受信されたクライアント状態情報を使用して、コンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報を調整する。オペレーション1514での調整は、共有コンテンツアイテムの状態情報の様々な部分を、例えば、追加、削除および/または変更することを含むことができる。上述したように、共有コンテンツアイテムの状態情報は、場合によっては、各々接続されたクライアントからもっとも最近に受信した更新された情報に基づいて、集合コンテンツアイテムの状態を反映することができる。
オペレーション1516では、次のコンテンツアイテムの情景が生成される。上述したように、次のコンテンツアイテムの情景は、例えば、コンテンツアイテム自体の情報およびコンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報に基づいて生成され得る。
注目されるのは、図15および16は、単にオペレーションが実行され得る幾つかの例示の順序を図示しているが、これに限定するものではないということである。例えば、図15では、オペレーション1512および1514がオペレーション1516の事前に発生するものとして図示しているが、これらのオペレーションは任意の、または全てのそれぞれの場合において、この順序で実行する必要はない。具体的には、上述のように、クライアント状態情報の更新が、定期的に適切なスケジュールまたはスケジュールされていない時間に、1つまたは複数の参加しているクライアントからの同時または非同時に受信することができる。従って、例えば、クライアント状態情報の更新が任意の、または全てのクライアントから受信することおよび/または共有状態情報が新情景の生成の全てのインスタンスの事前に更新することが必要とされない。
オペレーション1518では、コンテンツプロバイダは、オペレーション1516で生成された情景の1つまたは複数の表示を提示する。上述したように、情景の各表示は、同じ情景に関連付けられた異なる画像であってもよい。情景の1つまたは複数の表示は、コンテンツアイテム自体内の情報およびコンテンツプロバイダによって維持された共有コンテンツアイテムの状態情報に基づいて提示され得る。また、上述したように、場合によっては、少なくとも幾つかの参加しているクライアントは、同じ情景の異なる表示を受信することができる。さらに、場合によっては、少なくとも幾つかの参加しているクライアントは、同じ情景の同一の表示を受信することができる。
上述の通り、情景の複数の異なった表示は、例えば、各情景に関連付けられたそれぞれ異なった展望からの情景を各々描写することができる。各表示は、例えば、1つまたは複数のコンテンツアイテムのエンティティの展望から生成されてもよい。それぞれのエンティティは、例えば、提示された表示が送信される1つまたは複数のクライアントによって制御され、または関連付けられ得る。それぞれのエンティティは、例えば、キャラクタ、車あるいはコンテンツアイテムの情景に関連付けられた任意の他のエンティティを含むことができる。例えば、場合によっては、情景に関連付けられた展望について、それぞれのキャラクタの眼を通して、またはそれぞれのエンティティに関連付けられた他の位置から見えそうな情景を描写することができる。他の例として、情景に関連付けられた展望について、それぞれのキャラクタまたは他のエンティティが情景の中心にある、あるいは高い関心位置および/またはその表示内の視認性の高い情景を描写してもよい。
オペレーション1520では、各提示された情景が、コンテンツプロバイダが参加しているクライアントによって送信される。上述の通り、場合によっては、それぞれ別のストリーミングサーバが、各クライアントへの送信に使用されてもよい。オペレーション1522では、送信されるコンテンツアイテムに関連して生成する残りの情景があるかどうかが決定される。残りの情景があれば、プロセスは、オペレーション1512に戻る。これに反して、生成する残りの情景がなければ、コンテンツアイテムの生成の送信はオペレーション1524で終了する。
また、上述の通り、場合によっては、複数の別の情景が、複数の別のハイブリッドモードクライアントのために生成されてもよい。その場合、各ハイブリッドモードクライアントに送信されるデータ量は、コンテンツプロバイダとクライアントの間の結合性の質などの要因に依存して変化するが、その要因は帯域幅、スループット、待ち時間、パケット損失率などの条件に基づくことができる。例えば、コンテンツプロバイダに高度な質的結合を有する最初のハイブリッドモードクライアントのために、コンテンツプロバイダは、より多量のデータを含む情景のより複雑性の高度な表示を第1ハイブリッドモードクライアントに送信してもよい。これとは対照的に、コンテンツプロバイダは、より少量のデータを含む同じ情景のより複雑性の低い表示を第2ハイブリッドモードクライアントに送信してもよい。例えば、最初のハイブリッドモードクライアントに送信されるより複雑性の高い表示は、第2ハイブリッドモードクライアントに送信されるより低い複雑性に含まれない、より詳細なテクスチャ、パターン、形状およびその他の特徴を含むことができる。
図16は、本開示に従って1つまたは複数のグラフィックス処理ユニットを使用に供する実施例の手続きを示しているフローチャートである。オペレーション1610では、コンテンツアイテムの送信セッションが開始される。上述した通り、コンテンツアイテム送信セッションは、場合によっては、1つまたは複数の参加クライアント装置からの1つまたは複数の依頼に基づいて開始されてもよく、例えば、マルチメディアストリーミングまたは適切なコンテンツアイテム配分手法を使用してもよい。上述した通り、参加クライアント装置は、例えば、活発なクライアントと傍観者のクライアントを含むことができる。オペレーション1612では、次のコンテンツアイテムの情景が識別される。上述した通り、次のコンテンツアイテムの情景は、例えば、コンテンツアイテム自体内の情報に基づき生成され、また、コンテンツプロバイダによって維持されているコンテンツアイテム状態情報が共有されてもよい。共有されるコンテンツアイテム状態情報を取得し、更新する例示手法には、上記で詳述されているものもある。生成されたコンテンツアイテムの情景は、例えば、1つまたは複数のグラフィックス処理ユニットの任意の組み合わせにより、グラフィックス処理ユニット・スケーリング・コンポーネントにより、または任意の他の適切なコンポーネントにより識別することができる。この情景は識別され、例えば、1つまたは複数のグラフィックス処理ユニットによって、少なくとも一部分が、アクセスされ提供され得る。
オペレーション1614では、グラフィックス処理ユニット・スケーリング情報が得られる。オペレーション1614で得られたグラフィックス処理ユニット・スケーリング情報は、グラフィックス処理ユニット・スケーリング・オペレーションに関連付けられた任意の情報を含むことができる。上述した通り、その情報は、例えば、グラフィックス処理ユニットが提示するものを生成する速度、あるいは1つまたは複数のグラフィックス処理ユニットに関連付けられた他の実行速度、コンテンツアイテム送信セッションに参加している多くのクライアントに関する情報、コンテンツアイテム送信セッションに関連して提供された多くの異なる表示に関する情報、追加のグラフィックス処理ユニットまたは他のリソースの利用に関する情報、規則もしくはコンテンツプロバイダに関係づけられた選好および/または顧客並びにその他の適切な情報を含むことができる。
オペレーション1616では、1つまたは複数のグラフィックス処理ユニット・スケーリングの決定がなされる。グラフィックス処理ユニット・スケーリングの決定は、例えば、少なくとも一部分が、オペレーション1614で得られたグラフィックス処理ユニット・スケーリング情報に基づいてなされ得る。グラフィックス処理ユニット・スケーリングの決定は、例えば、送信されたコンテンツアイテムを提示する追加の1つまたは複数のグラフィックス処理ユニットを使用し、1つまたは複数のグラフィックス処理ユニットが送信されたコンテンツアイテムを提示するのを断念し、かつ、送信されたコンテンツアイテムの提示に関与する1つまたは複数のグラフィックス処理ユニットを再配置または再割り当てする決定を含んでいる。グラフィックス処理ユニット・スケーリングの決定は、例えば、多くの使用されたグラフィックス処理ユニットに関する決定と、使用されたグラフィックス処理ユニット間のオペレーション1612で生成される情景の様々な部分を分配する方法に関する決定をも含むことができる。グラフィックス処理ユニット・スケーリングの決定をする例示の手法には、例えば、図7−図10に関して上記で記述され、また本開示の至る所で記述されているものもある。
オペレーション1618では、1つまたは複数のグラフィックス処理ユニットが、情景に関連して提示を生成するために使用されている。その提示は、オペレーション1616でなされるグラフィックス処理ユニット・スケーリングの決定に従って生成されてもよい。上述した通り、複数のグラフィックス処理ユニットが、オペレーション1618で使用されると、グラフィックス処理ユニットは、場合によっては、お互いに少なくとも部分的に同時に情景に関連付けて提示を生成してもよい。また、場合によっては、複数のグラフィックス処理ユニットの使用が、情景の提示に単一のグラフィックス処理ユニットのみが使用されるときと比較して情景の提示に要する包括的な時間を減少することができ得ることもある。
オペレーション1620では、オペレーション1618で生成された提示が1つまたは複数の情景表示に関連付けられる。例示のシナリオでは、単一のグラフィックユニットが、情景の単一表示を生成するために使用されてもよいものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景のそれぞれの表示を各々生成することができるものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景の単一の表示を形成するために結合するものもある。また、例示のシナリオでは、複数のグラフィックス処理ユニットが、情景の複数の表示を形成するために結合するものもある。さらに、上記または他の例示のシナリオの任意の組み合わせも、また使用され得る。従って、オペレーション1620は、例えば、生成されたどの提示部分が一体とされて情景に基づいて生成され、各々の提示された表示となるかを決定しおよび/または識別することを含んでいてもよい。提示または部分的な提示が、例えば、提示または部分の提示を含む各表示に関連付けられてもよい。オペレーション1620は、また、例えば、複数のグラフィックス処理ユニットからの提示部分を組み合わせて、1つまたはそれ以上の表示にすることができる。複数グラフィックス処理ユニットからの提示を組み合わせて表示とする、スティッチングやレイヤリング手法などの例示手法には、図11−図13に図示されて、かつ、上記で詳述されているものもある。場合によっては、複数グラフィックス処理ユニットが情景の複数表示を形成するために組み合わされるとき、スティッチングやレイヤリングなどの組み合わせ手法が、複数の表示の各々について、全体的に、または部分的に繰り返されてもよい。
オペレーション1622では、情景の1つまたは複数の表示がコンテンツプロバイダによって、1つまたは複数の参加しているクライアントに送信される。上述の通り、場合によっては、それぞれ別のストリーミングサーバが、各クライアントへの送信に使用されてもよい。また、上述の通り、場合によっては、複数の異なった表示が、情景に関連付けて形成され得ることもある。これらの場合には、複数の異なった表示の各々が、情景に関連付けられたそれぞれ異なった画像を含んでよい。従って、場合によっては、複数の異なった画像がオペレーション1620で形成され、オペレーション1622で送信され得る。
オペレーション1624では、送信されるコンテンツアイテムに関連する生成のために、残っている情景があるかどうか決定される。残っている情景があれば、プロセスはオペレーション1612に戻る。これに反して、生成の残景がなければ、コンテンツアイテムの送信がオペレーション1626で終了する。
上述した通り、場合によっては、別のグラフィックス処理ユニットからの提示が、1つまたは複数の表示を形成するために、一緒に組み合わされる。上述の例示によっては、別のグラフィックス処理ユニットからの提示が、コンテンツプロバイダによって一緒に組み合わされ得ることもある。しかしながら、場合によっては、別のグラフィックス処理ユニットからの提示が、開示された手法に従って、クライアントによって一緒に組み合わされ得ることもある。そのような場合には、コンテンツプロバイダは、例えば、複数の提示を最初に組み合わせて1つまたは複数に表示にすることなく、複数のグラフィックス処理ユニットからの提示をクライアントに送信してもよい。クライアントは、その提示を受信し、提示を組み合わせて1つまたは複数の表示にすることができる。クライアントは、上述されたスティッチングおよびレイヤリング手法の任意の組み合わせ、または受信された提示を組み合わせるために、他の適切な手法を使用することができる。
場合によっては、情景の複数の異なった表示に関連付けられたデータが組み合わされて、提示ターゲットなどの単一のデータコレクションになる場合もある。本開示に従った複数の表示生成のデータコレクションを使用する例示システムは、図17に図示されている。図示にように、コンテンツプロバイダ1700は、上述されている通り、コンテンツアイテムの情景の複数の表示1730A−Cに関連付けられたデータを生成するために使用され得るグラフィックス処理ユニット1702を含んでいる。図17の実施例において、3つの表示1730A−Cは3人のクライアント1750A−Cに送信される。特に、表示1730Aはクライアント1750Aに送信され、表示1730Bはクライアント1750Bに送信され、そして、表示1730Cはクライアント1750Cに送信される。
図17に示されているように、グラフィックス処理ユニット1702および/または他のコンポーネントは、複数の異なった表示に関連付けられたデータを含むおよび/または保存するデータコレクション1710を生成する。データコレクション1710は、例えば、提示ターゲットまたは他のデータコレクションであってよい。本明細書で使用される用語の提示ターゲットは、1つまたは複数の提示に関連付けられたデータコレクションまたは情景に関連付けられた情報の他の表現をいう。データコレクション1710は、例えば、データコレクション1710にあり、1つまたは複数の提示に関連付けられたデータ、あるいは情景に関連付けられた情報の他の表現をいう。下記で詳細に述べられるように、データコレクション1710に含まれるデータは、例えば、操作された配置、頂点、ピクセル、色、質感、シェーディングおよび情景の表示に関連付けられる他のデータに対応するデータを含むことができる。また、図17に示されているように、データコレクション1710は、それぞれの表示1730A−Cに各々関連付けられた複数のセクション1720A−Cを含んでいる。特に、セクション1720Aは表示1730Aに関連付けられ、セクション1720Bは表示1730Bに関連付けられ、そしてセクション1720Cは表示1730Cに関連付けられている。もう一度改めて言えば、図17は3つの表示1730A−Cに関連付けられた3つのセクション1720A−Cを図示し、開示された手法に従ったデータコレクションは、任意数の異なった表示に関連付けられた任意数の異なったセクションを含むことができる。
表示1730A−Cに関連付けられたデータがセクション1720A−C内に首尾よく含まれていたとき、符号化コンポーネント1740A−Cは、それぞれ表示1730A−Cに関連付けられたデータコレクション1710のそれぞれのセクション1720A−Cから各々データを抽出してもよい。特に、符号化コンポーネント1740Aは、セクション1720Aから、データを抽出し、符号化コンポーネント1740Bは、セクション1720Bから、データを抽出し、符号化コンポーネント1740Cは、セクション1720Cから、データを抽出する。送信コンポーネント1741A−Cは、それぞれ表示1730A−Cをクライアント1750A−Cに送信する。場合によっては、クライアント1750A−Cの各々は、表示1730A−Cをそれぞれクライアント1750A−Cに送信できるようにするそれぞれ専用のストリーミングサーバを有している。各専用のストリーミングサーバは、場合によっては、それぞれ符号化コンポーネントおよび送信コンポーネントを備えている。例えば、クライアント1750Aのそれぞれの専用ストリーミングサーバは、場合によっては、符号化コンポーネント1740Aおよび送信コンポーネント1741Aを備えている。
入力制御プレーン1780および/または他のコンポーネントは、例えば、所与の情景に関連して生成される多くの情景を決定するために使用され得る。上記に詳述したように、クライアント1750A−Cからの共有状態情報は、場合によっては、複数の表示に関連付けられた情報を部分的に決定するために使用され得る。入力制御プレーン1780および/または他のコンポーネントは、また、例えば、セクション1720A−Cを含むために、プロビジョニングデータコレクション1710を支援することができ、それらのセクションは、複数の表示1730A−Cのそれぞれ1つに各々関連付けられている。セクション1720A−Cの各々は、例えば、データの一部分が他から区別されることを許容する、様々なディメンジョン、データアドレス、データ範囲、データ量、サイズおよびその他のパラメータなどによって定義され得る。場合によっては、入力制御プレーン1780は、グラフィックス処理ユニット1702および/または符号化コンポーネント1740A−Cを決定し、データコレクション1710およびセクション1720A−Cに関連付けられたパラメータを知らせることができる。パラメータは、また、場合によっては、グラフィックス処理ユニット1702によって、あるいは他のコンポーネントによって、決定されてもよい。
いろいろな手法が、データコレクション1710およびセクション1720A−Cのパラメータを決定するために使用され得る。1つの実施例では、各セクション1720A−Cは、等しいサイズにされ、長さLで幅Wを有してもよい。これによって、3セクション1720A−Cの各々の長さを説明するW3Lのサイズを有するデータコレクション1710になることができる。場合によっては、データコレクションは、W3Lのサイズを越えるデータコレクションになってもよい追加の情報を含んでもよい。場合によっては、セクション1720A−Cの各々がお互いについて異なったサイズを有してもよい。異なったサイズのセクションを使用すると、例えば、表示1730A−Cが異なった解像度に関連付けられたときに、好都合である。例えば、異なったクライアントおよび/もしくはお互いに異なった解像度のビデオを呈示することができる。場合によっては、より低い解像度の表示が小さいサイズのデータコレクションに関連していて、より高い解像度の表示が大きいサイズのデータコレクションに関連してもよい場合がある。大きなデータ・コレクション・セクション・サイズを使用すると、例えば、増加されたデータ量がより大きいセクションに含まれ得ることになり、表示のより高い解像度を作ることを支援することができる。場合によっては、入力制御プレーン1780または他のコンポーネントは、各クライアント1750A−Cによって提供された情報に基づいて、表示の各々に関連付けられた解像度を決定してもよい。入力制御プレーン1780または他のコンポーネントは、クライアント1750A−Cによって提供された解像度情報に基づいて、データコレクション1710およびセクション1720A−Cを設定してもよい。
用語データコレクション生成コンポーネントは、この明細書では、少なくとも部分的にデータコレクション1710の生成を支援するために使われるコンポーネントをいうために使用される。例示のデータコレクション生成コンポーネントは、例えば、入力制御プレーン1780、グラフィックス処理ユニット1702およびデータコレクション1710の生成を援助する任意の他のコンポーネントを含むことができる。1以上のデータコレクション生成コンポーネントは、例えば、多くの生成される情景の表示を決定することができる。データコレクション1710が、提示ターゲットである場合、データコレクション生成コンポーネントは、また、提示ターゲット生成コンポーネントと称されてもよい。
上述した通り、情景の複数の異なった表示は、例えば、それぞれ、各表示に関連付けられた異なったそれぞれの展望を描写してもよい。各表示、例えば、1つまたは複数のそれぞれのコンテンツアイテムのエンティティの展望から生成され得る。それぞれのコンテンツアイテムのエンティティは、例えば、提示された表示が、送信される1つまたは複数のクライアントよって制御され、関連付けられてもよい。それぞれのエンティティは、例えば、キャラクタ、乗り物またはコンテンツアイテムの情景に関連付けられた任意の他のエンティティでもよい。例えば、場合によっては、表示に関連付けられた展望が、眼を通してそれぞれのキャラクタが表示されるであろう情景、またはそれぞれのエンティティに関連付けられた他の位置から表示されるであろう情景を描写することができる。他の例として、表示に関連付けられた展望は、それぞれのキャラクタまたはその他のエンティティが、表示の中心にある情景、または表示内で関心の高い位置にあるおよび/また高い視認性のある場所の情景を描写してもよい。
本開示に従った複数表示に関連付けられたデータを含んでいる、第1例示データコレクションが、図18に図示されている。図示されているように、データコレクション1810は、セクション1820A−Cを含んでいる。セクション1820A−Cは、情景1805の3つの異なった表示1830A−Cから表現1850A−C、1860A−Cおよび1870A−Cを描写している。特に、セクション1820Aは、表現1850A、1860Aおよび1870Aを含み、セクション1820Bは、表現1850B、1860Bおよび1870Bを含み、セクション1820Cは、表現1850C、1860Cおよび1870Cを含んでいる。
表現1850A−C、1860A−Cおよび1870A−Cは、情景1805内に含まれている物体の表現1850、1860および1870である。特に、表現 1850A−Cは、物体の表現1850、表現1860A−Cは、物体の表現1860および表現1870A−Cは、物体の表現1870である。物体1850、1860および1870並びに表現1850A−C、1860A−Cおよび1870A−Cは、多くの異なったテクスチャ、色およびその他の視覚効果を含み得ることが注目される。しかしながら、説明を簡単にするため、これらの視覚効果は、図18−図20には示されていない。
場合によっては、グラフィックス処理ユニットは、他の物体の表現に移る前に、データコレクションの各セクションの物体の表現を形成してもよい。この表現形成シーケンスの実施例は、図19に図示されている。特に、図19は、図18のデータコレクション1810を、3つの異なるステージの形成において示している。ステージ1910Aは形成の第1ステージであり、第2ステージ1910Bおよび第3ステージ1910C以前に起こる。図示の通り、第1ステージ1910Aでは、物体1850に関連付けられた表現1850A−Cのみが、セクション1820A−Cで形成されている。
場合によっては、表現1850A−Cの形成は、いろいろな配置操作、色付け、テクスチャ処理およびシェーディングなどのオペレーションの実行を含んでもよい。例えば、場合によっては、表現1850Aは、セクション1820Aで最初に形成されてもよい。表現1850Aの形成は、例えば、情景1805の物体1850に関連付けられた配置を読み込み、物体1850の配置操作を含み、そのため表示1830Aに関連付けられた展望から呈示されるようにしてもよい。表現1850Aの形成は、また、例えば、表現1850Aにいろいろな色、テクスチャおよび/またはシェーダを適用することを含むことができる。表現1850Aにテクスチャを適用することは、例えば、物体1850に最初に関連付けられる1つまたは複数の保存されたテクスチャファイルを読み込むことを含んでもよい。表現1850Aにシェーダを適用することは、例えば、物体1850に関連付けられた1つまたは複数のシェーダプログラムを読み込むことを含むことができる。
場合によっては、セクション1820Aの表現1850Aの形成後、表現1850Bがセクション1820Bで形成されることがある。しかしながら、表現1850Bは表現1850Aの後で形成されるので、配置、テクスチャ、シェーダおよびその他のプログラム並びに物体1850に関連付けられた情報は、場合によっては、グラフィックス処理ユニットによって既に読み込まれていることがある。従って、表現1850Bの形成は、場合によっては、表現1850Aを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。表現1850Bの形成は、例えば、物体1850の既に読み込まれた配置の操作を含み、そのため表示1830Bに関連付けられた展望から呈示される。表現1850Bの形成は、また、例えば、表現1850Aに対して、いろいろな色、テクスチャおよび/またはシェーダの適用を含むことができる。上述した通り、表現1850Bに適用されるテクスチャおよびシェーダは、例えば、以前に読み込まれたテクスチャおよび表現1850Aの形成に以前使用されたシェーダを含んでもよい。
場合によっては、セクション1820Bの表現1850Bの形成後、表現1850Cがセクション1820Cで形成される。しかしながら、繰り返しになるが、表現1850Cは表現1850Aおよび1850Bの後で形成されるので、配置、テクスチャ、シェーダおよびその他のプログラム並びに物体1850に関連付けられた情報は、場合によっては、グラフィックス処理ユニットによって既に読み込まれている場合がある。従って、表現1850Bと同様に、表現1850Cの形成は、また、場合によっては、表現1850Aを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。表現1850Cの形成は、例えば、物体1850の既に読み込まれた配置の操作を含み、そのため表示1830Cに関連付けられた展望から呈示される。表現1850Cの形成は、また、例えば、表現1850Cに対して、いろいろな色、テクスチャおよび/またはシェーダを適用することを含むことができる。上述した通り、表現1850Cに適用されるテクスチャおよびシェーダは、例えば、以前に読み込まれたテクスチャおよび表現1850Aおよび1850Bの形成に以前使用されたシェーダを含んでもよい。
図19のステージ1910Bは、形成の第2ステージであり、第1ステージ1910Aに引き続き、かつ、第3ステージ1910Cの前に起こる。図示のように、第2ステージ1910Bでは、物体1850に関連付けられた表現1850A−Cおよび物体1860に関連付けられた表現1860A−Cがセクション1820A−Cにおいて形成されている。場合によっては、表現1860A−Cが、第1形成表現1860A、後を引き継ぐ1860B、後を引き継ぐ1860Cによって形成され得る。表現1860Aの形成は、例えば、物体1860に関連付けられた配置の読み込み、物体1860に関連付けられた1または複数のテクスチャの読み込みおよび物体1860に関連付けられた1または複数のシェーダの読み込みを含むことができる。しかしながら、表現1860Bおよび1860Cが、表現1860Aの後で形成されるとき、配置、テクスチャ、シェーダおよび様々なプログラム並びに物体1860に関連付けられた情報が、場合によっては、グラフィックス処理ユニットによって既に読み込まれていてもよい。従って、表現1860Bおよび1860Cの形成は、場合によっては、表現1860Aを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。
ステージ1910Cは、形成の第3ステージであり、第1ステージ1910Aおよび第2ステージ1910Cに引き続いて起こる。図示のように、第3ステージ1910Cでは、表現1850A−C、1860A−Cおよび1870A−Cがセクション1820A−Cにおいて形成されている。場合によっては、表現1870A−Cが、第1形成表現1870A、後を引き継ぐ1870B、後を引き継ぐに1870Cよって形成されることがある。表現1870Aの形成は、例えば、物体1870に関連付けられた配置の読み込み、物体1870に関連付けられた1または複数のテクスチャの読み込みおよび物体1870に関連付けられた1または複数のシェーダの読み込みを含むことができる。しかしながら、表現1870Bおよび1870Cが、表現1870Aの後で形成されるとき、配置、テクスチャ、シェーダおよび様々なプログラム並びに物体1870に関連付けられた情報が、場合によっては、グラフィックス処理ユニットによって既に読み込まれている。従って、表現1870Bおよび1870Cの形成は、場合によっては、表現1870Aを形成するときに必要とされた読み込みや他の検索オペレーションより著しく少なくてもよい。
然るべく評価されるべきである、配置の操作および色、テクスチャ、シェーダの適用に加えて、その他のグラフィックスオペレーションが、セクション1820A−Cのいずれかまたは全ての表示の形成に従って実行されてもよい。そのようなその他のグラフィックスオペレーションは、例えば、種々の他の変換オペレーション、照明、クリッピング、走査変換、ラスター化、暈しなどを含むことができる。
このため、図19は、グラフィックス処理ユニットが、他の物体の表現形成に移る前に、データコレクションの各セクションの物体の表現を形成する実施例を図示している。上述した通り、この情報シーケンスは、場合によっては、例えば、各物体に関連付けられた配置、テクスチャ、シェーダおよび他のプログラムまたは情報を繰り返し検索する必要性を減らし、またはなくすることによって有利になる。場合によっては、配置、テクスチャ、シェーダおよび他のプログラムまたは情報の少なくともあるものを、各物体に関連して形成される最初の表現のためにのみ読み込まれるようにしてもよい。同じ物体の引き続く表現は、既に読み込まれた配置、テクスチャ、シェーダおよび他のプログラムまたは情報を再び読み込むことなく形成されてもよい。場合によっては、配置、テクスチャまたはシェーダの各瞬間は、グラフィックス処理ユニットの処理状態変化を受けることになる。そのような状態変化は、情景の複数表示の生成に関連付けられる待機時間を増す。
場合によっては、図19に図示されているような形成シーケンスの使用によって、情景の複数の表示を生成するために必要とされる状態変化量を著しく減少する。例えば、場合によっては、状態変化数が情景の物体量に対応する要因で減少される。例えば、セクション1820A(1850A、1860Aおよび1870Aを含む)の各表現を最初に形成し、次いでセクション1820B(1850B、1860Bおよび1870Aを含む)の各表現を形成し、そしてセクション1820C(1850C、1860Cおよび1870Cを含む)の各表現を形成することによって、図18のデータコレクション1810が形成される代替形成シーケンスを考察しよう。この代替形成シーケンスは、場合によっては、図19に図示されている形成シーケンスを使用することになる場合に比べて、状態変化の多さが3倍を必要とすることもあり得る。これは、各物体に関連付けられた後続の表現を再読み込みすることなく、各目的物に関連付けられた最初の表現のみについて読み込みを実行することとは対照的に、代替形成シーケンスが、各表現毎に読み込まれる配置、テクスチャ、シェーダおよび他のプログラムまたは情報を必要とするからである。
図18に戻ると、図18のデータコレクション1810は、等しいサイズのセクション1820A−Cを含むことが注目される。しかしながら、上述した通り、データコレクション内のセクションは、必ず等しいサイズでなければならないという要件はない。場合によっては、データコレクションは、それぞれ異なったサイズのセクションを含むこともある。それぞれ異なったサイズの各々は、お互いに関して異なったデータ量を含んでもよく、含むことができてもよい。特に、より大きいサイズにされたセクションは、場合によっては、より小さいサイズにされたセクションと比較してより多量のデータを含んでもよく、含むことができてもよい。各セクションのサイズおよび/または各セクションに含まれるデータ量は、場合によっては、セクションが関連付けられた表示を受信する1つまたは複数のクライアントに対応する解像度に基づいて決定される。例えば、異なったクライアントおよび/またはクライアントについて異なったアプリケーションがお互いに関して異なった解像度でビデオを呈示する。場合によっては、より小さい量のデータを含んだより小さいセクションは、より低い解像度に関連付けられた表示に対応することがある一方で、より多量のデータを含んだより大きいセクションは、より高い解像度に関連付けられた表示に対応することがある。図20は、お互いについて異なったサイズのセクション2020A−Cを含んでいるデータコレクション2010を図示している。上述した通り、異なったサイズのセクション2020A−Cの使用は、例えば、表示が異なった解像度に関連付けられたときに、有用であり得る。特に、図20に示されているように、セクション2020Aが高解像度表示2030Aに関連付けられ、セクション2020Bが中解像度表示2030Bに関連付けられ、セクション2020Cが低解像度表示2030Cに関連付けられている。セクション2020Aは、セクション2020Bより多量のデータを含み、セクション2020Bはセクション2020Cより多量のデータを含んでもよい。
図21は本開示に従った複数表示生成のデータコレクションの例示手続きを示すフローチャートである。図21のフローチャートは、データコレクションが現行情景の3つの表示にそれぞれ関連付けられた3セクションを含む特定の実施例に関するものである。しかしながら、開示の手法が、任意の数の異なった表示に、それぞれ関連付けられた任意の数の異なったセクションを含むデータコレクションに関連して使用されることについて、もう一度改めて指摘される。
オペレーション2104では、現行の情景が作成される。上述した通り、ビデオゲームおよび/または他のコンポーネントなどのコンテンツアイテムによって、情景が少なくとも部分的に作成され得る。現行の情景が、例えば、1つまたは複数のクライアントによって提供されるコンテンツアイテムの情報および内容情報に基づいて、作成されてもよい。
オペレーション2106では、データ・コレクション・アレンジメント情報が受領される。データ・コレクション・アレンジメント情報は、例えば、各情景および/またはコンテンツアイテムの現行情景、各表示に関連付けられた解像度およびデータコレクションを設定するために使われる他の情報のために生成される多くの表示を含むことができる。コンテンツプロバイダは、生成される表示数を決定する多くの異なった手法を使うことができる。例えば、場合によっては、コンテンツアイテムが送信されるそれぞれ異なったクライアントは、それ自体が所有するそれぞれの表示を受信することがある。表示. また、場合によっては、異なったキャラクタまたは他のエンティティを制御するか、あるいは関連付けられる各クライアントは、それぞれのそれ自体の表示を受信する。しかしながら、上述した通り、異なったエンティティを制御する特定のクライアントは、場合によっては、同一の表示を受信することがある。また、場合によっては、同じキャラクタまたは他のエンティティを制御するクライアントは、同一の表示を受信する。場合によっては、異なった表示解像度を使用している、またはその解像度に関連付けられているクライアントは、それぞれのそれ自体の表示を受信することがある。場合によっては、多くの表示が、1つまたは複数のクライアントによって提供される状態情報、またはその他の情報に基づいて決定され得る。
オペレーション2108では、データコレクションが、オペレーション2106で識別されるアレンジメント情報に基づいて編成される。データコレクションのアレンジメントは、例えば、データコレクションに含まれる多くのセクションの決定を含んでいる。また、データコレクションのアレンジメントは、例えば、様々なディメンジョン、データアドレス、データ範囲、データ量および各セクションに関連付けられたその他のパラメータなどのパラメータを定義することが含まれてもよい。場合によっては、各セクションは、各セクションに対応する表示を受信する1つまたは複数のクライアントに関連付けられた解像度に基づいて決定され得る。上述した通り、場合によっては、入力制御プレーンおよび/または他のコンポーネントが、グラフィックス処理ユニットおよび/またはいろいろな符号化および送信コンポーネントを決定し、データコレクションおよびそのセクションに関連付けられたディメンジョンまたはその他のパラメータを通知することができる。ディメンジョンまたはその他のパラメータも、また、場合によっては、グラフィックス処理ユニットまたは他のコンポーネントによって決定されてもよい。
場合によっては、オペレーション2106および2108は、コンテンツアイテムを楽しむことに関連して作成されるそれぞれ異なった情景を必ずしも繰り返す必要はない。例えば、場合によっては、オペレーション2106および2108は、コンテンツアイテムを楽しむことを開始ときに実行され、アレンジメント情報が実質的にある情景と次の情景で一致している限り、各情景の各データコレクションのアレンジメント情報が、一定でよい。場合によっては、特定の変化が生じ、その変化が検出された後で、データコレクションが次の情景のために再編成される。例えば、1つまたは複数のクライアントがビデオゲームをするために参加したこと、または、その参加を止めとことが検出されると、その後の情景のデータコレクションは、この情報の検出に基づいて再編成され得る。特に、例えば、後続する情景のデータコレクションがその情報に基づいて必要な幾つかのセクショの追加を含むように再編成されてもよい。
オペレーション2110では、現行の物体が繰り返され、そのため現行の物体が次の物体となる。現行の物体は、その表現がオペレーション2112−2116におけるデータコレクションで形成される物体である。例えば、図19に戻って図示の実施例を参照すると、オペレーション2110の最初の反復は、物体1850を現行の物体に設定することを含むことができる。他の実施例のように、オペレーション2110の第2の反復は、物体1860を現行の物体に設定することを含むことができる。オペレーション2110は、説明を簡単にする目的のために、図21のプロセスにおけるオペレーションが、現行の情景の1つまたは複数の物体のために繰り返されてもよいことを、読者に明らかにすることを含むことが注目される。オペレーション2110は、コンテンツプロバイダによって、必ずしも処理や計算を必要としない。情景の物体が現行の物体として選択される順序を決めるために、任意数の手法が使用され得る。例えば、その順序は、コンテンツアイテムによって、グラフィックス処理ユニットによって、またはその他のコンポーネントによって、決定され得る。その順序は、1つまたは複数の表示、または任意のその他の適切な要因に関連付けられた展望に関する物体の相対深度などの要因に基づいて決定され得る。
オペレーション2112では、現行の物体の表現が、データコレクションの第1セクションにおいて形成される。例えば、図19に戻って図示の実施例を参照すると、オペレーション2112の第1の反復は、セクション1820Aの表現1850Aの形成を含んでもよい。サブオペレーション2112Aは、オペレーション2112が、例えば、現行の物体に関連付けられた配置、テクスチャおよびシェーダを含み得ることを示している。例えば、現行の物体の配置が、第1セクションに関連付けられた表示に対応する展望から呈示された表現を形成するために、読み込まれ、操作され得る。加えて、物体に関連付けられたいろいろなテクスチャおよびシェーダが、第1セクションに形成される表現に読み込まれ、適用され得る。また、任意数の他の追加または代替オペレーションが、第1セクションの表現を形成するために実行されてもよい。
オペレーション2114では、現行物体の表現が、データコレクションの第2セクションで形成される。例えば、図19に戻って図示の実施例を参照すると、オペレーション2114の第1反復は、セクション1820Bの表現1850Bの形成を含むことができる。サブオペレーション2114Aは、オペレーション2114が、例えば、現行の物体に関連付けられた、既に読み込まれている配置、テクスチャおよびシェーダの使用を含み得ることを示している。例えば、場合によっては、サブオペレーション2112Aで読み込まれた現行の物体の配置が、第2セクションに関連付けられた表示に対応する展望から呈示された表現を形成するために、操作され得ることもある。加えて、サブオペレーション2112Aで読み込まれた物体に関連付けられたいろいろなテクスチャおよびシェーダが、第2セクションに形成される表現に適用され得ることもある。また、任意数の他の追加または代替オペレーションが、第1セクションの表現を形成するために実行され得る。
オペレーション2116では、現行の物体の表現が、データコレクションの第3セクションで形成される。例えば、図19に戻って図示の実施例を参照すると、オペレーション2116の第1の反復は、セクション1820Cの表現1850Cの形成を含んでもよい。サブオペレーション2116Aは、オペレーション2116が、例えば、現行の物体に関連付けられた、既に読み込まれた配置、テクスチャおよびシェーダの使用を含み得ることを示している。例えば、場合によっては、サブオペレーション2112Aで読み込まれた現行の物体の配置が、第3セクションに関連付けられた表示にそれぞれ対応する展望から呈示された表現を形成するために、操作され得ることもある。加えて、場合によっては、サブオペレーション2112Aで読み込まれた物体に関連付けられたいろいろなテクスチャおよびシェーダが、第3セクションに形成される表現に適用され得ることもある。また、任意数の他の追加または代替の適切な配置オペレーションが、第3セクションの表現を形成するために実行され得る。
サブオペレーション2112A、2114Aおよび2116Aは、オペレーション2112、2114および2116でそれぞれ実行され得る幾つかの例示のサブオペレーションを識別することを単に意図したものであり、全てのサブオペレーションが必要とされるわけではなく、必ずしも、全ての場合に実行され得る全てのサブオペレーションの完全なリストを含んでいるわけではないことについて改めてもう一度指摘される。例えば、場合によっては、オペレーション2114および2116は、オペレーション2112や他のオペレーションでは以前に読み込まれていない、なんらかの配置、テクスチャ、シャーダおよび/またはその他のコンポーネントの使用を含むこともある。
オペレーション2118では、データコレクションでその表現がいまだ形成されていない現行情景に残っている物体があるかどうかが決定される。もし残っているのであれば、プロセスはオペレーション2110に戻り、そこで現行の物体が次の残りの物体と設定される。そして、オペレーション2112−2116は、データコレクションの各セクションの次の物体を形成するために繰り返される。例えば、図19に戻って図示の実施例を参照すると、オペレーション2112−2116の第2の反復は、表現1860A−Cの形成を含み、そしてオペレーション2112−2116の第3の反復は、表現1870A−Cの形成を含み得る。場合によっては、データコレクションは、例えば、各表示にとって適切な程度で情景の各物体のオペレーション2112−2116を実行することによって生成され得ることもある。しかしながら、場合によっては、図21において示されている順序で物体表現の形成を必要とせずに生成され得ることもある。場合によっては、情景内の特定物体は、必ずしも、特定の表示内に含まれる必要はなく、特定の表示に関連付けられたデータコレクションの情景内で形成される対応する表現を持つ必要もない。これは、例えば、物体が特定の表示に関連付けられた表示領域の外に置かれたときに生じ得る。
オペレーション2118では、データコレクションでその表現がいまだ形成されていない現行情景に残っている物体がないのであれば、プロセスはオペレーション2120に進み、そこで現行の情景の第1、第2および第3の表示をそれぞれ形成するデータコレクションの第1、第2および第3セクションの各々から少なくとも一部が抽出される。オペレーション2112では、第1、第2および第3の表示が符号化され、オペレーション2124では、第1、第2および第3の表示が送信される。場合によっては、第1、第2および第3の表示の各々は、第1、第2および第3のクライアントに送信され得ることもある。その他の場合は、1つまたは複数の表示が単一のクライアントに送られてもよい。上述した通り、場合によっては、第1、第2および第3の表示の各々のデータコレクションは、例えば、それぞれ専用のストリーミングサービスを含む、または専用のストリーミングサービス内に含まれる、それぞれ専用の符号化および送信コンポーネントによって、符号化され、送信され得ることもある。
これまでのセクションで記述されている各々のプロセス、方法およびアルゴリズムは、1つまたは複数のコンピュータまたはプロセッサによって実行されたコードモジュールに具現化され、かつ完全にまたは部分的に自動化され得る。コードモジュールは、ハードドライブ、固体メモリ、光学的ディスクなどの非一時的コンピュータ可読媒体またはコンピュータ記憶デバイスに保存され得る。プロセスおよびアルゴリズムは、特定アプリケーション回路に一部分あるいは全部が組み込まれてもよい。開示されたプロセスおよびプロセスステップの結果は、例えば、揮発性または不揮発性記憶装置などの任意タイプの非一時的コンピュータ記憶装置に永続的に、または適宜に保存されてもよい。
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
1. 1つまたは複数の計算ノードの実行により、1つまたは複数の計算ノードにオペレーションを実行させるインストラクションを保存する1つまたは複数の計算ノードであって、ビデオゲームの第1情景を識別すること、第1情景は少なくとも第1部分と第2部分から成り、複数のグラフィックス処理ユニットがビデオゲームの第1情景に基づいて第1画像を提示するために使用され、第1グラフィックス処理ユニットによって、ビデオゲームの第1情景の第1部分に基づいて第1提示を生成すること、第2グラフィックス処理ユニットによって、ビデオゲームの第1情景の第2部分に基づいて第2提示を生成すること、第1提示の生成および第2提示の生成は、互いに少なくとも部分的に、同時に行われ、第1提示の少なくとも一部および第2の提示の少なくとも一部をビデオゲームの第1情景の1つまたは複数の表示に関連付けることおよび1つまたは複数のクライアントにビデオゲームのストリーミング送信の一部としてディスプレイのために1つまたは複数のクライアントに1つまたは複数の表示を送信することから構成される1つまたは複数の計算ノード。
2. 第1節の1つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは変化可能である。
3. 第2節の1つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは、少なくとも一部分が第1グラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
4. 第1節の1つまたは複数の計算ノードにおいて、ビデオゲームに関連して使用される多数のグラフィックス処理ユニットは、少なくとも一部分が、ビデオゲームの1つまたは複数の情景に関連して生成される多数の表示に基づいて決定される。
5. 1つまたは複数の計算ノードにより、少なくとも第1画像を生成するコンピュータ組込方法であって、第1グラフィックス処理ユニットによって、コンテンツアイテムの第1情景に基づいて第1提示を生成すること、第2グラフィックス処理ユニットによって、第2グラフィックス処理ユニットによって、コンテンツアイテムの第1情景に基づいて第2提示を生成すること、第1提示の生成および第2提示の生成は、互いに少なくとも部分的に、同時に行われ、第1提示の少なくとも一部および第2の提示の少なくとも一部を第1情景の1つまたは複数の提示に関連付けること、第1提示の少なくとも一部および第2の提示の少なくとも一部を1つまたは複数のクライアントに表示のために送信することから構成されるコンピュータ組込方法。
6. 第5節のコンピュータ組込方法であって、第1提示の少なくとも一部および第2の提示の少なくとも一部を第1情景の1つまたは複数の提示に関連付けることは、第1提示の少なくとも一部を第1情景の第1表示に連係し、第2の提示の少なくとも一部を第1情景の第2提示に関連付けることから構成されるコンピュータ組込方法。
7. 第5節のコンピュータ組込方法であって、第1提示の少なくとも一部および第2の提示の少なくとも一部を第1情景の1つまたは複数の提示に関連付けることは、第1提示の少なくとも一部を第2の提示の少なくとも一部に組み合わせることから構成されるコンピュータ組込方法。
8. 第7節のコンピュータ組込方法であって、その組み合わせは、第1提示の少なくとも一部を第1表示の第1識別領域に挿入することおよび第2提示の少なくとも一部を第1表示の第2識別領域に挿入することから構成されるコンピュータ組込方法。
9. 第7節のコンピュータ組込方法であって、その組み合わせは複数レイヤを含む表現に基づいて実行され、第1レイヤは少なくとも一部の第1提示に対応し、第2レイヤは少なくとも一部の第2提示に対応するコンピュータ組込方法。
10. 第5節のコンピュータ組込方法において、コンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは変化可能である。
11. 第10節のコンピュータ組込方法において、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は少なくとも一部分が第1グラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
12. 第11節のコンピュータ組込方法において、グラフィックス処理ユニットに関連付けられた実行速度がより低いスレショルドに下落すると、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は増加され、グラフィックス処理ユニットに関連付けられた実行速度がより高いスレショルドに上昇すると、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は減少される。
13. 第5節のコンピュータ組込方法において、1つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、1つまたは複数のコンテンツアイテムに関連して生成される多数の表示の少なくとも一部分に基づいて決定される。
14. 第5節のコンピュータ組込方法において、1つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、特定のコンテンツプロバイダによって作動されるグラフィックス処理ユニットの利用度の少なくとも一部分に基づいて決定される。
15. 第5節のコンピュータ組込方法において、1つまたは複数のコンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは、第1情景についてその情景の複雑性の少なくとも一部分に基づいて決定される。
16. 少なくとも1つの計算ノード上で実行すると、少なくとも1つの計算ノードにオペレーションを実行させるインストラクションを保存している1つまたは複数の非一時的コンピュータ可読記憶媒体であって、コンテンツアイテムの第1情景に基づいて提示を生成する第1の数のグラフィックス処理ユニットを決定すること、生成が第1の数のグラフィックス処理ユニットの各々によって少なくとも部分的に同時に実行され、各提示の少なくとも一部を情景の1つまたは複数の表示に連携することおよび1つまたは複数の表示をディスプレイのために1つまたは複数のクライアントに送信することから構成された非一時的コンピュータ可読記憶媒体。
17. 第16節の非一時的コンピュータ可読記憶媒体において、提示の各々の少なくとも一部を第1情景の1つまたは複数の表示に関連付けることは、提示の各々の少なくとも一部を第1情景の第1表示を形成するために組み合わせることから構成される。
18. 第17節の非一時的コンピュータ可読記憶媒体において、その組み合わせは、各提示の少なくとも一部を提示の少なくとも一部を第1情景のそれぞれ識別された領域に挿入することから構成される。
19. 第17節の非一時的コンピュータ可読記憶媒体において、その組み合わせは複数のレイヤを含む表現に従って実行され、各レイヤはそれぞれ1つの提示に対応する。
20. 第16節の非一時的コンピュータ可読記憶媒体において、コンテンツアイテムに関連して使用される多数のグラフィックス処理ユニットは第1の数から他の数に変えることができる。
21. 第20節の非一時的コンピュータ可読記憶媒体において、コンテンツアイテムに関連して使用されるグラフィックス処理ユニットの数は、少なくとも部分的に、第1のグラフィックス処理ユニットに関連付けられた実行速度に基づいて変化する。
22. 第16節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第1の数は、少なくとも部分的に、第1情景に関連して生成される多くの表示に基づいて決定される。
23. 第16節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第1の数は、少なくとも部分的に、特定のコンテンツアイテムによって作動されるグラフィックス処理ユニットの利用度に基づいて決定される。
24. 第16節の非一時的コンピュータ可読記憶媒体において、グラフィックス処理ユニットの第1の数は、少なくとも部分的に、第1情景について情景の複雑性に基づいて決定される。
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
1. 1つまたは複数の計算ノードの実行により、1つまたは複数の計算ノードにオペレーションを実行させるインストラクションを保存する1つまたは複数の計算ノードであって、第1クライアントから第1クライアントビデオゲーム状態情報の少なくとも一部を受信すること、第2クライアントから第2クライアントビデオゲーム状態情報の少なくとも一部を受信すること、第1クライアントビデオゲーム状態情報および第2クライアントビデオゲーム状態情報に基づいて共有されたビデオゲーム状態情報を調整すること、共有されたビデオゲーム状態情報に基づき、第1情景の第1ビデオゲーム表示および第1情景の第2ビデオゲーム表示を生成すること、第1ビデオゲーム表示は少なくとも部分的に第2ビデオゲーム表示と異なり、第1クライアントに第1ビデオゲーム表示を送信すること、
第2クライアントに第2ビデオゲーム表示を送信することから構成される1つまたは複数の計算ノード。
2. 第1節の1つまたは複数の計算ノードにおいて、ビデオゲームは、第1クライアントによって制御される第1ビデオゲームのエンティティに関連付けられる。
3. 第2節の1つまたは複数の計算ノードにおいて、第1ビデオゲーム表示は、第1ビデオゲームのエンティティにそれぞれ関連付けられた第1情景を描写する。
4. 第2節の1つまたは複数の計算ノードにおいて、第1ビデオゲームのエンティティは、高い視認性のある位置の第1ビデオゲーム表示内で描写される。
5. 1つまたは複数の計算ノードにより、第1情景の第1表示を生成するコンピュータ組込方法であって、第1クライアントから第1クライアント状態情報の少なくとも一部を受信すること、第2クライアントから第2クライアント状態情報の少なくとも一部を受信すること、受信された第1クライアント状態情報および第2クライアント状態情報に基づいて、共有された状態情報を調整すること、共有された状態情報に基づいて、第1情景の第1表示を生成することおよび第1表示を第1クライアントに送信することから構成されるコンピュータ組込方法。
6. 第5節のコンピュータ組込方法において、第1表示は薄いクライアント・コンテント・プレゼンテーション・ソフトウェアを使用する第1クライアント上に表示される。
7. 第5節のコンピュータ組込方法において、第1クライアントに対して、第1表示に関連付けられた状態情報を送信することなく、第1表示は第1クライアントに送信される。
8. 第5節のコンピュータ組込方法は、さらに、第1表示を第2クライアントに送信することから構成される。
9. 第8節のコンピュータ組込方法において、第1表示は、第1クライアントによって制御される第1のエンティティと、第2クライアントによって制御される第2のエンティティの両方に関連付けられている。
10. 第5節のコンピュータ組込方法は、さらに、共有状態情報に基づいて、第1情景の第2表示を生成すること、第1表示は少なくとも一部分が第2表示と異なり、第2表示を第2クライアントに送信することから構成される。
11. 第10節のコンピュータ組込方法おいて、第1表示は第1クライアントによって制御される第1のエンティティに関連付けられ、第2表示は第2クライアントによって制御される第2のエンティティに関連付けられる。
12. 第5節のコンピュータ組込方法おいて、第1クライアントによって制御される第1のエンティティに関連付けられる展望から見られる第1情景を第1表示は描写する。
13. 第5節のコンピュータ組込方法おいて、第1クライアントによって制御される第1のエンティティは、高い視認性にある第1表示内で描写される。
14. 第5節のコンピュータ組込方法おいて、第1表示は、少なくとも部分的に、複数のグラフィックス処理ユニットを使用して生成される。
15. 少なくとも1つの計算ノード上で実行すると、少なくとも1つの計算ノードにオペレーションを実行させるインストラクションを保存している1つまたは複数の非一時的コンピュータ可読記憶媒体であって、第1クライアントからの第1クライアント状態情報の少なくとも一部分を受信し、第2クライアントからの第2クライアント状態情報の少なくとも一部分を受信し、第1クライアント状態情報および第2クライアント状態情報に基づいて共有された状態情報を調整すること、共有された状態情報に基づき第1情景の第1表示を生成すること、共有された状態情報に基づき第1情景の第2表示を生成すること、第1表示は少なくとも部分的に第2表示と異なり、第1クライアントに第1表示を送信すること、第2クライアントに第2表示を送信することから構成される1つまたは複数の非一時的コンピュータ可読記憶媒体。
16. 第15節の非一時的コンピュータ可読記憶媒体において、第1表示はシン・クライアント・コンテント・プレゼンテーション・ソフトウエアを使用する第1クライアント上に表示される。
17. 第15節の非一時的コンピュータ可読記憶媒体において、第1表示は、第1クライアントに対して、第1表示に関連付けられた状態情報を送信することなく、第1クライアントに送信される。
18. 第15節の非一時的コンピュータ可読記憶媒体において、オペレーションは、さらに、第1表示を第3クライアントに送信することから構成される。
19. 第18節の非一時的コンピュータ可読記憶媒体において、第1表示は、第1クライアントによって制御される第1のエンティティと、第2クライアントによって制御される第2のエンティティの両方に関連付けられている。
20. 第15節の非一時的コンピュータ可読記憶媒体において、第1表示は、第1クライアントによって制御される第1のエンティティに関連付けられ、第2表示は、第2クライアントによって制御される第2のエンティティに関連付けられている。
21. 第15節の非一時的コンピュータ可読記憶媒体において、第1クライアントによって制御される第1のエンティティに関連付けられる展望から見られる第1情景を第1表示は描写する。
22. 第15節の非一時的コンピュータ可読記憶媒体において、第1クライアントによって制御される第1のエンティティは、高い視認性の位置にある第1表示内で描写される。
23. 第22節の非一時的コンピュータ可読記憶媒体において、高い視認性の位置は、第1表示の中央である。
24. 第15節の非一時的コンピュータ可読記憶媒体において、第1表示は、少なくとも部分的に、複数のグラフィックス処理ユニットを使用して生成される。
これまでの記述は、次節を考慮すると、よりよく理解されることになろう。
1. 1つまたは複数の計算ノードは、プロセッサと、プロセッサによって実行されるインストラクションを保存しているメモリと、1つまたは複数の提示ターゲット生成コンポーネントが、コンテンツアイテムの情景の少なくとも第1表示および第2表示を生成する決定し、第1表示は第1クライアントに関連付けられた第1展望から情景を呈示し、かつ、第2表示は第2クライアントに関連付けられた第2展望からの情景を呈示し、情景は少なくとも第1物体および第2物体から成り、第1表示に関連付けられた第1セクションおよび第2表示に関連付けられた第2セクションから成る提示ターゲットを生成するように構成され、その提示ターゲットは、少なくとも、第1展望からの第1物体の第1表現を提示ターゲットの第1セクションで形成し、第2展望からの第2物体の第2表現を提示ターゲットの第2セクションで形成すること、第1物体の第1および第2表現の形成に引き続いて、第1展望から第2物体の第1表現を提示ターゲットの第1セクションで形成し、第2展望からの第2物体の第2表現を提示ターゲットの第2セクションで形成することによって生成され、符号化された第1表示を形成するために提示ターゲットの第1セクションの少なくとも一部からデータを符号化するように構成される第1符号化コンポーネントと、符号化された第2表示を形成するために提示ターゲットの第2セクションの少なくとも一部からデータを符号化するように構成される第2符号化コンポーネントと、符号化された第1表示を第1クライアントに送信するように構成された第1送信コンポーネントと、符号化された第2表示を第2クライアントに送信するように構成された第2送信コンポーネントから成る。
2. 第1節の1つまたは複数の計算ノードにおいて、第1セクションに保存されるデータ量は、第2セクションに保存されるデータ量と異なり、第1セクションに保存されるデータ量は、少なくとも第1クライアントに関連付けられた解像度に基づき、第2セクションに保存されるデータ量は、少なくとも第2クライアントに関連付けられた解像度に基づいている。
3. 第1節の1つまたは複数の計算ノードにおいて、第1物体の第1表現を形成することは、第1物体に関係付けられた配置についての操作を実行すること、1つまたは複数のテクスチャを第1物体に適用することおよび1つまたは複数のシェーダを第1物体に適用することから成る。
4. 第1節の1つまたは複数の計算ノードにおいて、第1物体の第1表現を形成することは、シェーダを読み込むことおよびそのシェーダを第1物体の第1表現に適用することからなり、第1物体の第2表現を形成することは、シェーダを再読み込むことなく、シェーダを第2物体の第2表現に適用することから成る。
5. 1つまたは複数の計算ノードによって少なくともコンテンツアイテムの第1表示および第2表示を生成するコンピュータ組込方法は、コンテンツアイテムの情景の少なくとも第1表示および第2表示を生成する決定をすること、第1表示は第1クライアントに関連付けられた第1展望から情景を呈示し、かつ、第2表示は第2クライアントに関連付けられた第2展望からの情景を呈示し、情景は少なくとも第1物体および第2物体から成り、第1表示に関連付けられた第1セクションおよび第2表示に関連付けられた第2セクションから成るデータコレクションを生成すること、第1セクションは第1展望から形成された少なくとも1つまたは複数の物体の表現から成り、第2セクションは第2展望から形成された少なくとも1つまたは複数の物体の表現から成り、第1表示を形成するためにデータコレクションの第1セクションの少なくとも一部からデータを抽出すること、第2表示を形成するためにデータコレクションの第2セクションの少なくとも一部からデータを抽出すること、第1表示を第1クライアントに送信することおよび第2表示を第2クライアントに送信することから成る。
6. 第5節のコンピュータ組込方法において、第1展望は、第1クライアントによって制御されるコンテンツアイテム内のエンティティに関連付けられ、第2展望は、第2クライアントによって制御されるコンテンツアイテム内のエンティティに関連付けられる。
7. 第5節のコンピュータ組込方法において、第1セクションに保存されるデータ量は、第2セクションに保存されるデータ量と異なり、第1セクションに保存されるデータ量は、少なくとも第1クライアントに関連付けられた解像度に基づき、第2セクションに保存されるデータ量は、少なくとも第2クライアントに関連付けられた解像度に基づいている。
8. 第5節のコンピュータ組込方法において、情景に含まれた1つまたは複数の物体は、少なくとも第1物体および第2物体から成り、データコレクションを形成することは、データコレクションの第1セクションに、第1展望からの第1物体の第1表現を形成することおよびデータコレクションの第2セクションに、第2展望からの第1物体の第2表現を形成することおよび第1物体の第1表現および第2表現を形成することに引き続いて、データコレクションの第1セクションに、第1展望からの第2物体の第1表現を形成することおよび、データコレクションの第2セクションに、第2展望からの第2物体の第2表現を形成することから成る。
9. 第8節のコンピュータ組込方法において、第1物体の第1表現を形成することは、第1物体に関連付けられた配置について操作を実行すること、1つまたは複数のテクスチャを第1物体の第1表現に適用することおよび1つまたは複数のシェーダを第1物体の第1表現に適用することから成る。
10. 第8節のコンピュータ組込方法において、第1物体の第1表現を形成することは、シェーダを読み込むことおよびそのシェーダを第1物体の第1表現に適用することからなり、第1物体の第2表現を形成することは、シェーダを再読み込みすることなく、シェーダを第2物体の第2表現に適用することから成る。
11. 第8節のコンピュータ組込方法において、第1物体の第1表現を形成することは、テクスチャを読み込むことおよびそのテクスチャを第1物体の第1表現に適用することからなり、第1物体の第2表現を形成することは、テクスチャを再読み込みすることなく、テクスチャを第2物体の第2表現に適用することから成る。
12. 第5節のコンピュータ組込方法は、さらに、生成される情景の多くの表示を決定することおよび
生成される情景の表示の数に基づいて決定される多くのセクションを含むデータコレクションを編成することから成る。
13. 第5節のコンピュータ組込方法において、データコレクションは、さらに、第3クライアントに関係づけられた第3表現からの情景の第3表示に関連付けられた第3セクションから成る。
14. 第5節のコンピュータ組込方法において、1つまたは複数の計算ノードは、第1表示を第1クライアントに送信する第1ストリーミングサーバおよび第2表示を第2クライアントに送信する第2ストリーミングサーバから成る。
15. 少なくとも1つの計算ノード上で実行すると、少なくとも1つの計算ノードにペレーションを実行させるインストラクションを保存している1つまたは複数の非一時的コンピュータ可読記憶媒体であって、コンテンツアイテムの情景の第1表示および第2表示を少なくとも生成することを決定すること、第1表示は第1クライアントに関連付けられた第1展望からの情景を呈示し、第2表示は第2クライアントに関連付けられた第2展望からの情景を呈示し、情景は1つまたは複数の物体から成り、第1表示に関連付けられた第1セクションおよび第2表示に関連付けられた第2セクションから成るデータコレクションを生成し、第1セクションは第1展望から形成された1つまたは複数の物体の少なくとも1つの表現から成り、第2セクションは第2展望から形成された1つまたは複数の物体の少なくとも1つの表現から成り、データコレクションの第1セクションの少なくとも一部からのデータを符号化して符号化された第1表示を形成すること、データコレクションの第2セクションの少なくとも一部からのデータを符号化して符号化された第2表示を形成すること、符号化された第1表示を第1クライアントに送信することおよび符号化された第1表示を第1クライアントに送信することからなる1つまたは複数の非一時的コンピュータ可読記憶媒体。
16. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、第1展望は第1クライアントによって制御されたコンテンツアイテム内のエンティティに関連付けられ、第2展望は第2クライアントによって制御されたコンテンツアイテム内のエンティティに関連付けられている。
17. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、第1セクションに保存されるデータ量は、第2セクションに保存されるデータ量と異なり、第1セクションに保存されるデータ量は、少なくとも一部は第1クライアントに関連付けられた解像度に基づき、第2セクションに保存されるデータ量は、少なくとも一部は第2クライアントに関連付けられた解像度に基づいている。
18. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、情景に含まれた1つまたは複数の物体は、少なくとも第1物体および第2物体から成り、データコレクションを形成することは、
データコレクションの第1セクションに、第1展望からの第1物体の第1表現を形成することおよびデータコレクションの第2セクションに、第2展望からの第1物体の第2表現を形成すること、第1物体の第1表現および第2表現を形成することに引き続いて、データコレクションの第1セクションに、第1展望からの第2物体の第1表現を形成することおよび、データコレクションの第2セクションに、第2展望からの第2物体の第2表現を形成することから成る。
19. 第18節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、第1物体の第1表現を形成することは、第1物体に関連付けられた配置について操作を実行すること、1つまたは複数のテクスチャを第1物体の第1表現に適用することおよび1つまたは複数のシェーダを第1物体の第1表現に適用することから成る。
20. 第18節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、第1物体の第1表現を形成することは、シェーダを読み込むことおよびそのシェーダを第1物体の第1表現に適用することからなり、第1物体の第2表現を形成することは、シェーダを再読み込みすることなく、シェーダを第2物体の第2表現に適用することから成る。
21. 第18節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、第1物体の第1表現を形成することは、テクスチャを読み込むことおよびそのテクスチャを第1物体の第1表現に適用することからなり、第1物体の第2表現を形成することは、テクスチャを再読み込みすることなく、テクスチャを第2物体の第2表現に適用することから成る。
22. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、オペレーションは、さらに、生成される情景の多くの表示を決定すること、生成される情景の多くの表示を決定することおよび生成される情景の表示の数に基づいて決定される多くのセクションを含むデータコレクションを編成することから成る。
23. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、データコレクションは、さらに、第3クライアントに関係づけられた第3表現からの情景の第3表示に関連付けられた第3セクションから成る。
24. 第15節の1つまたは複数の非一時的コンピュータ可読記憶媒体において、1つまたは複数の計算ノードは、第1表示を第1クライアントに送信する第1ストリーミングサーバと第2表示を第2クライアントに送信する第2ストリーミングサーバから成る。
上述の様々な特徴およびプロセスは、互いに独立して使用することができ、いろいろな方法で組み合わせることもできる。全ての可能な組み合わせと副次的組み合わせは、本開示の範囲内に属することを意図している。加えて、特定の方法またはプロセスブロックは、実施態様によっては、省略されてもよいものもある。この明細書で記述されている方法またはプロセスは、また、特定のシーケンスに限定されるものではなく、従って、ブロックまたはそれに関連する状態は適切な他のシーケンスで実行され得る。例えば、記述されたブロックまたは状態は、具体的に開示された以外の順序で実行されてもよく、複数のブロックが単一のブロックまたは状態と組み合わされてもよい。例示のブロックまたは状態は、直列、並列あるいはその他の態様で実行され得る。ブロックまたは状態は、開示された例示の実施形態に追加されまたは削除されてもよい。この明細書で記述されている例示システムまたはコンポーネントは、記述されたものとは異なる構成とされてもよい。例えば、構成要素が開示された例示の実施形態と対照されて、追加され削除または再編成されてもよい。この明細書で記述されているコンポーネントは、例えば、1つまたは複数のプロセッサに関連して実行する、1つまたは複数のアルゴリズムを含む構造的コンポーネントであってもよい。
いろいろな事項が使用されているメモリや記憶装置に保存されているとして説明されており、また、これらの事項はメモリアレンジメントとデータ統合の目的でメモリと他の記憶装置の間で転送されてもよいことが理解されるであろう。代わりに、他の実施形態においては、幾つかのあるいは全てのソフトウエアモジュールおよび/またはシステムが他のデバイスのメモリにおいて稼働し、コンピュータの内部通信を介して、例示の計算システムと通信することができる。さらに、実施形態によっては、幾つかのあるいは全てのソフトウエアモジュールおよび/またはシステムが、1つまたは複数の特定用途集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切なインストラクションを実行することによって、かつ、マイクロコントローラおよび/または埋め込まれたコントローラを含んでいる)、フィールド・プログラマブル・ゲートアレイ(FPGA)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)などを含むが、これらに限定されない少なくとも部分的にファームウエアおよび/またはハードウェアなどの他の態様で、実施されまたは提供されてもよい。幾つかの、または全てのモジュール、システムおよびデータ構造が、また、適切なドライブによって、または適切な接続を介して読まれるハードディスク、メモリ、ネットワークまたは携帯メディア製品などのコンピュータ可読媒体に(例えば、ソフトウエアインストラクションまたは階レイヤデータとして)保存されてもよい。モジュール、システムおよびデータ構造は、また、無線ベースおよび有線/ケーブルベース媒体を含む多彩なコンピュータ可読送信媒体上の生成されたデータ信号として(例えば、搬送波またはアナログあるいはデジタル伝播信号として)送信されることができ、いろいろな形式(例えば、単一のまたは複数のアナログ信号の一部として、あるいは離散的なデジタルパケットもしくはフレームとして)を取ることができる。そのようなコンピュータ・プログラム・プロダクトは、また、その他の実施形態では他の形式を取ることができる。
この明細書で使用される条件付きの言語は、他にもあるが、「できる」、「でき得る」、「かもしれない」、「でよい」、「例えば」などは、特に他に述べない限り、使用されている文脈内で他に理解されなければ、他の実施形態では含まれずに、特定の実施形態で含まれる、特定の特徴、構成要素および/またはステップを担持することを一般的には意図している。このため、そのような条件付きの言語は、特徴、構成要素および/またはステップがとにかく一または複数の実施形態で必要とされること、あるいは一または複数の実施形態が必ずこれらの特徴、構成要素および/またはステップが含まれているかどうか、あるいはいずれかの特定の実施形態で実行されることになるかどうか、著者の入力または誘導があってもなくても、決定するロジックを含んでいる。用語「から成ること」、「含んでいること」、「有していること」などは、開放終結の態様において包摂的であり、追加の構成要素、特徴、行為、オペレーションなどを排除していない。また、用語「または」刃、その包摂的意味である(および排他的な意味ではない)ため、例えば、構成要素と接続するために使用されるとき、用語「または」は、リストにある1つの、幾つかの、または全ての構成要素を意味する。
これまで特定の例示実施形態が記述されたが、当該実施形態は例示のみの例示であり、この明細書で開示された発明の範囲を制限する意図はない。このため、これまでの記述においては、特定の特徴、特性、ステップ、モジュールまたはブロックが必要であるとかなくてはならないものであるということを暗示する意図は全くない。確かに、本明細書で記述された新規の方法およびシステムは、様々な形態で実施され得るが、さらに、本明細書で記述された方法およびシステムの形態については、いろいろな省略、代替および変更が、本明細書に開示された発明の趣旨から逸脱することなくなされ得る。添付の特許請求の範囲およびその均等なものは、本明細書に開示された特定の発明の範囲と趣旨に入ることになり得る形態および修正に及ぶことを意図している。

Claims (15)

  1. プロセッサと、
    前記プロセッサによって実行されるインストラクションを保存しているメモリと、
    1つまたは複数の提示ターゲット生成コンポーネントと、
    を具える1つまたは複数の計算ノードであって、
    前記1つまたは複数の提示ターゲット生成コンポーネントは、
    コンテンツアイテムの情景の少なくとも第1表示および第2表示を生成することを決定するように構成され、前記第1表示は、第1クライアントに関連付けられた第1展望からの前記情景を呈示し、前記第2表示は、第2クライアントに関連付けられた第2展望からの前記情景を呈示し、前記情景は、少なくとも第1物体および第2物体を具え、
    前記1つまたは複数の提示ターゲット生成コンポーネントは、前記第1表示に関連付けられた第1セクションおよび前記第2表示に関連付けられた第2セクションを具える提示ターゲットを生成するように構成にされ、
    前記提示ターゲットの生成は、少なくとも、
    前記提示ターゲットの前記第1セクションで、前記第1展望からの前記第1物体の第1表現を形成することと、
    前記提示ターゲットの前記第2セクションで、前記第2展望からの前記第1物体の第2表現を形成することと、
    前記第1物体の前記第1表現および前記第2表現の形成に引き続いて、
    前記提示ターゲットの前記第1セクションで、前記第1展望からの前記第2物体の第1表現を形成することと、
    前記提示ターゲットの前記第2セクションで、前記第2展望からの前記第2物体の第2表現を形成することと、
    により行われ、
    前記1つまたは複数の計算ノードは、
    前記提示ターゲットの前記第1セクションの少なくとも一部からデータを符号化し、符号化された第1表示を形成するように構成された第1符号化コンポーネントと、
    前記提示ターゲットの前記第2セクションの少なくとも一部からデータを符号化し、符号化された第2表示を形成するように構成された第2符号化コンポーネントと、
    前記符号化された第1表示を前記第1クライアントに送信するように構成された第1送信コンポーネントと、
    前記符号化された第2表示を前記第2クライアントに送信するように構成された第2送信コンポーネントと、
    を具える、
    1つまたは複数の計算ノード。
  2. 前記第1セクションに保存されるデータ量は、前記第2セクションに保存されるデータ量と異なり、
    前記第1セクションに保存されるデータ量は、少なくとも部分的に前記第1クライアントに関連付けられた解像度に基づき、
    前記第2セクションに保存されるデータ量は、少なくとも部分的に前記第2クライアントに関連付けられた解像度に基づいている、
    請求項1に記載の1つまたは複数の計算ノード。
  3. 前記第1物体の前記第1表現を形成することは、前記第1物体に関係付けられた配置についての操作を実行することと、1つまたは複数のテクスチャを前記第1物体の前記第1表現に適用することと、1つまたは複数のシェーダを前記第1物体の前記第1表現に適用することと、を含む、
    請求項1に記載の1つまたは複数の計算ノード。
  4. 前記第1物体の前記第1表現を形成することは、シェーダを読み込むことと、前記シェーダを前記第1物体の前記第1表現に適用することと、を含み、
    前記第1物体の前記第2表現を形成することは、前記シェーダを再読み込みせずに、前記シェーダを前記第2物体の前記第2表現に適用することを含む、
    請求項1に記載の1つまたは複数の計算ノード。
  5. 1つまたは複数の計算ノードによって少なくともコンテンツアイテムの第1表示および第2表示を生成するコンピュータ組込方法であって、
    前記方法は、前記コンテンツアイテムの前記情景の少なくとも前記第1表示および前記第2表示を生成することを決定するステップを含み、前記第1表示は、第1クライアントに関連付けられた第1展望からの前記情景を呈示し、前記第2表示は、第2クライアントに関連付けられた第2展望からの前記情景を呈示し、前記情景は、1つまたは複数の物体を具え、
    前記方法は、前記第1表示に関連付けられた第1セクションおよび前記第2表示に関連付けられた第2セクションを具えるデータコレクションを生成するステップを含み、前記第1セクションは、前記第1展望から形成された前記1つまたは複数の物体の少なくとも1つの表現を具え、前記第2セクションは、前記第2展望から形成された前記1つまたは複数の物体の少なくとも1つの表現を具え、
    前記方法は、
    前記データコレクションの前記第1セクションの少なくとも一部からデータを抽出し、前記第1表示を形成するステップと、
    前記データコレクションの前記第2セクションの少なくとも一部からデータを抽出し、前記第2表示を形成するステップと、
    前記第1表示を前記第1クライアントに送信するステップと、
    前記第2表示を前記第2クライアントに送信するステップと、
    を含む、
    コンピュータ組込方法。
  6. 前記第1展望は、前記第1クライアントによって制御される前記コンテンツアイテム内のエンティティに関連付けられ、
    前記第2展望は、前記第2クライアントによって制御される前記コンテンツアイテム内のエンティティに関連付けられる、
    請求項5に記載のコンピュータ組込方法。
  7. 前記第1セクションに保存されるデータ量は、前記第2セクションに保存されるデータ量と異なり、
    前記第1セクションに保存される前記データ量は、少なくとも部分的に前記第1クライアントに関連付けられた解像度に基づき、
    前記第2セクションに保存される前記データ量は、少なくとも部分的に前記第2クライアントに関連付けられた解像度に基づいている、
    請求項5に記載のコンピュータ組込方法。
  8. 前記情景に含まれる前記1つまたは複数の物体は、少なくとも第1物体および第2物体を具え、
    前記データコレクションを生成するステップは、
    前記データコレクションの前記第1セクションで、前記第1展望からの前記第1物体の第1表現を形成するステップと、
    前記データコレクションの前記第2セクションで、前記第2展望からの前記第1物体の第2表現を形成するステップと、
    前記第1物体の前記第1表現および前記第2表現を形成するステップに引き続いて、
    前記データコレクションの前記第1セクションで、前記第1展望からの前記第2物体の第1表現を形成するステップと、
    前記データコレクションの前記第2セクションで、前記第2展望からの前記第2物体の第2表現を形成するするステップと、
    を含む、
    請求項5に記載のコンピュータ組込方法。
  9. 前記第1物体の前記第1表現を形成するステップは、前記第1物体に関連付けられた配置について操作を実行するステップと、1つまたは複数のテクスチャを前記第1物体の前記第1表現に適用するステップと、1つまたは複数のシェーダを前記第1物体の前記第1表現に適用するステップと、を含む、
    請求項8に記載のコンピュータ組込方法。
  10. 前記第1物体の前記第1表現を形成するステップは、シェーダを読み込むステップと、前記シェーダを前記第1物体の前記第1表現に適用するステップと、を含み、
    前記第1物体の前記第2表現を形成するステップは、前記シェーダを再読み込みすることなく、前記シェーダを前記第2物体の前記第2表現に適用するステップを含む、
    請求項8に記載のコンピュータ組込方法。
  11. 前記第1物体の前記第1表現を形成するステップは、テクスチャを読み込むステップと、前記テクスチャを前記第1物体の前記第1表現に適用するステップと、を含み、
    前記第1物体の前記第2表現を形成するステップは、前記テクスチャを再読み込みすることなく、前記テクスチャを前記第2物体の前記第2表現に適用するステップを含む、
    請求項8に記載のコンピュータ組込方法。
  12. 生成される前記情景の複数の表示を決定するステップと、
    生成される前記情景の表示数に基づいて決定される複数のセクションを含むために、前記データコレクションを編成するステップと、
    を含む、
    請求項5に記載のコンピュータ組込方法。
  13. 前記データコレクションは、第3クライアントに関係づけられた第3表現からの前記情景の第3表示に関連付けられた第3セクションをさらに含む、
    請求項5に記載のコンピュータ組込方法。
  14. 前記1つまたは複数の計算ノードは、前記第1表示を前記第1クライアントに送信する第1ストリーミングサーバと、前記第2表示を前記第2クライアントに送信する第2ストリーミングサーバと、を具える、
    請求項5に記載のコンピュータ組込方法。
  15. 1つまたは複数のプロセッサと、
    インストラクションを保存している1つまたは複数メモリと、
    を具えるシステムであって、
    前記インストラクションは、1つまたは複数のプロセッサ上で実行すると、前記1つまたは複数のプロセッサに複数の動作を実行させ、
    前記複数の動作は、コンテンツアイテムの情景の少なくとも第1表示および第2表示を生成することを決定する動作を含み、前記第1表示は、第1クライアントに関連付けられた第1展望からの前記情景を呈示し、前記第2表示は、第2クライアントに関連付けられた第2展望からの前記情景を呈示し、前記情景は、1つまたは複数の物体を具え、
    前記複数の動作は、前記第1表示に関連付けられた第1セクションおよび前記第2表示に関連付けられた第2セクションを具えるデータコレクションを生成する動作を含み、前記第1セクションは、前記第1展望から形成された前記1つまたは複数の物体の少なくとも1つの表現を具え、前記第2セクションは、前記第2展望から形成された前記1つまたは複数の物体の少なくとも1つの表現を具え、
    前記複数の動作は、
    前記データコレクションの前記第1セクションの少なくとも一部からのデータを符号化し、符号化された第1表示を形成する動作と、
    前記データコレクションの前記第2セクションの少なくとも一部からのデータを符号化し、符号化された第2表示を形成する動作と、
    前記符号化された第1表示を前記第1クライアントに送信する動作を実行させる動作と、
    前記符号化された第2表示を前記第2クライアントに送信する動作を実行させる動作と、
    を含む、
    システム。
JP2016529941A 2013-11-11 2014-11-11 複数の表示生成のためのデータコレクション Pending JP2017504986A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14/077,165 2013-11-11
US14/077,180 US20150133216A1 (en) 2013-11-11 2013-11-11 View generation based on shared state
US14/077,180 2013-11-11
US14/077,165 US20150130815A1 (en) 2013-11-11 2013-11-11 Multiple parallel graphics processing units
US14/077,149 2013-11-11
US14/077,149 US20150130814A1 (en) 2013-11-11 2013-11-11 Data collection for multiple view generation
PCT/US2014/065055 WO2015070235A1 (en) 2013-11-11 2014-11-11 Data collection for multiple view generation

Publications (1)

Publication Number Publication Date
JP2017504986A true JP2017504986A (ja) 2017-02-09

Family

ID=53042246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016529941A Pending JP2017504986A (ja) 2013-11-11 2014-11-11 複数の表示生成のためのデータコレクション

Country Status (5)

Country Link
EP (1) EP3068504A4 (ja)
JP (1) JP2017504986A (ja)
CN (1) CN106132494A (ja)
CA (1) CA2929588A1 (ja)
WO (1) WO2015070235A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3400992A1 (en) * 2017-05-08 2018-11-14 Trimoo IP Europe B.V. Providing a location-based mixed-reality experience
EP3400991A1 (en) * 2017-05-09 2018-11-14 Trimoo IP Europe B.V. Transport simulation in a location-based mixed-reality game system
WO2018206605A1 (en) * 2017-05-08 2018-11-15 Trimoo Ip Europe B.V. Transport simulation in a location-based mixed-reality game system
US11971865B2 (en) * 2017-09-11 2024-04-30 Bentley Systems, Incorporated Intelligent model hierarchy for infrastructure modeling
CN110059329B (zh) * 2018-12-05 2023-06-20 中国航空工业集团公司西安飞机设计研究所 一种精细化的机电系统能量综合仿真方法及综合仿真系统
CN113449228A (zh) * 2020-03-24 2021-09-28 北京沃东天骏信息技术有限公司 页面渲染方法和装置
CN117651159B (zh) * 2024-01-29 2024-04-23 杭州锐颖科技有限公司 一种运动实时视频自动剪辑推送方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132705A (ja) * 1998-10-26 2000-05-12 Square Co Ltd 画像処理装置、画像処理方法及びゲーム装置並びに記録媒体
JP2006061716A (ja) * 2005-10-31 2006-03-09 Namco Ltd ゲーム装置及び情報記憶媒体
JP2012245347A (ja) * 2011-05-25 2012-12-13 Square Enix Holdings Co Ltd 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1154169A (zh) * 1994-05-27 1997-07-09 碧特斯特雷姆有限公司 创建并使用可移植字体的设备与方法
US20060036756A1 (en) * 2000-04-28 2006-02-16 Thomas Driemeyer Scalable, multi-user server and method for rendering images from interactively customizable scene information
US20030212742A1 (en) * 2002-05-07 2003-11-13 Hochmuth Roland M. Method, node and network for compressing and transmitting composite images to a remote client
JP4807499B2 (ja) * 2006-02-23 2011-11-02 セイコーエプソン株式会社 画像処理システム、表示装置、プログラムおよび情報記憶媒体
EP1837060A1 (en) * 2006-03-21 2007-09-26 In Fusio (S.A.) Method for displaying interactive video content from a video stream in a display of a user device
US8187104B2 (en) * 2007-01-29 2012-05-29 Sony Online Entertainment Llc System and method for creating, editing, and sharing video content relating to video game events
US8484284B2 (en) * 2007-08-03 2013-07-09 Nintendo Co., Ltd. Handheld wireless game device server, handheld wireless device client, and system using same
US8527646B2 (en) * 2009-04-14 2013-09-03 Avid Technology Canada Corp. Rendering in a multi-user video editing system
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US8775850B2 (en) * 2011-06-28 2014-07-08 Amazon Technologies, Inc. Transferring state information between electronic devices
CN102867073B (zh) * 2011-07-08 2014-12-24 中国民航科学技术研究院 一种基于性能导航的飞行程序设计系统及验证平台和验证方法
US9250966B2 (en) * 2011-08-11 2016-02-02 Otoy, Inc. Crowd-sourced video rendering system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132705A (ja) * 1998-10-26 2000-05-12 Square Co Ltd 画像処理装置、画像処理方法及びゲーム装置並びに記録媒体
JP2006061716A (ja) * 2005-10-31 2006-03-09 Namco Ltd ゲーム装置及び情報記憶媒体
JP2012245347A (ja) * 2011-05-25 2012-12-13 Square Enix Holdings Co Ltd 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム

Also Published As

Publication number Publication date
CA2929588A1 (en) 2015-05-14
CN106132494A (zh) 2016-11-16
WO2015070235A1 (en) 2015-05-14
EP3068504A4 (en) 2017-06-28
EP3068504A1 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
JP2017504986A (ja) 複数の表示生成のためのデータコレクション
US20150133216A1 (en) View generation based on shared state
US20150130814A1 (en) Data collection for multiple view generation
US10097596B2 (en) Multiple stream content presentation
US10601885B2 (en) Adaptive scene complexity based on service quality
US10347013B2 (en) Session idle optimization for streaming server
CN102707986B (zh) 子分区与父分区之间的共享存储器
US20150130815A1 (en) Multiple parallel graphics processing units
US9582904B2 (en) Image composition based on remote object data
US20170151496A1 (en) Service for generating graphics object data
US10130885B1 (en) Viewport selection system
EP3334506A1 (en) Virtual area generation and manipulation
US10792564B1 (en) Coordination of content presentation operations
US10729976B1 (en) Coordination of content presentation operations
US10708639B1 (en) State-based image data stream provisioning
US10722798B1 (en) Task-based content management
US11617946B1 (en) Video game streaming with dynamic range conversion
US10471351B1 (en) Distributed determination of scene information
US11612812B1 (en) Video game streaming with dynamic range conversion
US10715846B1 (en) State-based image data stream provisioning
JP6567032B2 (ja) 複数のストリーム・コンテンツ提示
US9358464B1 (en) Task-based content management
US11666823B1 (en) Video game streaming with dynamic range conversion
WO2021188981A1 (en) Video game player, spectator and audience interaction
US10158700B1 (en) Coordination of content presentation operations

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180226