(57)【要約】【解決手段】クラウドゲームコンピュータによってビデオゲームを実行する。実行中のビデオゲームから生成されたビデオを第１クライアントデバイスにストリーミングする。第１クライアントデバイスから第２クライアントデバイスにビデオをストリーミングする。入力アグリゲーションサーバによって、第２クライアントデバイスから入力データを受信する。入力アグリゲーションサーバによって、第２クライアントデバイスから第１クライアントデバイスに入力データを送信する。第１クライアントデバイスは、第２クライアントデバイスからの入力データを第１クライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成する。クラウドゲームコンピュータによって入力データの組み合わせを受信する。クラウドゲームコンピュータによって入力データの組み合わせを適用して、ビデオゲームの実行を推進する。【選択図】図１
2021526408.tif 000002
【特許請求の範囲】
【請求項１】
クラウドゲームコンピュータによってビデオゲームを実行することと、
前記実行中のビデオゲームから生成されたビデオを、ネットワークを通じて、第１のクライアントデバイスにストリーミングすることと、
前記ネットワークを通じて、前記第１のクライアントデバイスから１つ以上の第２のクライアントデバイスに前記ビデオをストリーミングすることと、
前記ネットワークを通じて入力アグリゲーションサーバによって、前記第２のクライアントデバイスから入力データを受信することと、
前記ネットワークを通じて前記入力アグリゲーションサーバによって、前記第２のクライアントデバイスから前記第１のクライアントデバイスに前記入力データを送信することであって、前記第１のクライアントデバイスは、前記第２のクライアントデバイスからの前記入力データを前記第１のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、前記送信することと、
前記ネットワークを通じて前記クラウドゲームコンピュータによって、前記入力データの組み合わせを受信することと、
前記クラウドゲームコンピュータによって、前記入力データの組み合わせを適用して、前記ビデオゲームの前記実行を推進することと、
を含む、方法。
【請求項２】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項１に記載の方法。
【請求項３】
前記入力データの組み合わせは、前記第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する、請求項１に記載の方法。
【請求項４】
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、前記単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、
前記第１のコマンドは、前記単一の制御デバイスにおける前記第１の入力デバイスのアクティベーションから開始し、
前記第２のコマンドは、前記第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項３に記載の方法。
【請求項５】
前記第２の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第２のコマンドは、前記入力アグリゲーションサーバを経由して、前記第２のクライアントデバイスによって前記単一の制御デバイスの前記第２の入力デバイスのリモート仮想トリガーを定義する、請求項４に記載の方法。
【請求項６】
前記第１のクライアントデバイスから前記１つ以上の第２のクライアントデバイスに前記ビデオをストリーミングすることは、前記第１のクライアントデバイス及び前記１つ以上の第２のクライアントデバイスを含むピアツーピアネットワークを通じて行われる、請求項１に記載の方法。
【請求項７】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項１に記載の方法。
【請求項８】
クラウドゲームコンピュータによってビデオゲームを実行することと、
ネットワークを通じてビデオサーバによって、前記実行中のビデオゲームから生成されたビデオを第１のクライアントデバイス及び１つ以上の第２のクライアントデバイスにストリーミングすることと、
前記ネットワークを通じて入力アグリゲーションサーバによって、前記第１のクライアントデバイスからの入力データ及び前記第２のクライアントデバイスからの入力データを受信することと、
前記入力アグリゲーションサーバによって、前記第１のクライアントデバイスからの前記入力データ及び前記第２のクライアントデバイスからの前記入力データを使用して入力データの組み合わせを生成することと、
前記入力アグリゲーションサーバによって、前記入力データの組み合わせを前記クラウドゲームコンピュータに送信することと、
前記クラウドゲームコンピュータによって、前記入力データの組み合わせを適用して、前記ビデオゲームの前記実行を推進することと、
を含む、方法。
【請求項９】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項８に記載の方法。
【請求項１０】
前記入力データの組み合わせは、前記第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する、請求項８に記載の方法。
【請求項１１】
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、前記単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、
前記第１のコマンドは、前記単一の制御デバイスにおける前記第１の入力デバイスのアクティベーションから開始し、
前記第２のコマンドは、前記第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項１０に記載の方法。
【請求項１２】
前記第２の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第２のコマンドは、前記入力アグリゲーションサーバを経由して、前記第２のクライアントデバイスによって前記単一の制御デバイスの前記第２の入力デバイスのリモート仮想トリガーを定義する、請求項１１に記載の方法。
【請求項１３】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項８に記載の方法。
【請求項１４】
ビデオゲームを実行するように構成されるクラウドゲームコンピュータであって、前記実行中のビデオゲームから生成されたビデオはネットワークを通じて第１のクライアントデバイスにストリーミングされ、前記第１のクライアントデバイスは前記ネットワークを通じて前記第１のクライアントデバイスから１つ以上の第２のクライアントデバイスにストリーミングするように構成される、前記クラウドゲームコンピュータと、
前記ネットワークを通じて、前記第２のクライアントデバイスから入力データを受信するように構成される入力アグリゲーションサーバであって、前記入力アグリゲーションサーバはさらに前記ネットワークを通じて前記第２のクライアントデバイスから前記第１のクライアントデバイスに前記入力データを送信するように構成され、前記第１のクライアントデバイスは、前記第２のクライアントデバイスからの前記入力データを前記第１のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、前記入力アグリゲーションサーバと、を備え、
前記クラウドゲームコンピュータは前記ネットワークを通じて前記第１のクライアントデバイスから前記入力データの組み合わせを受信するように構成され、前記クラウドゲームコンピュータはさらに前記入力データの組み合わせを適用して前記ビデオゲームの前記実行を推進するように構成される、システム。
【請求項１５】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項１４に記載のシステム。
【請求項１６】
前記入力データの組み合わせは、前記第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する、請求項１４に記載のシステム。
【請求項１７】
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、前記単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、
前記第１のコマンドは、前記単一の制御デバイスにおける前記第１の入力デバイスのアクティベーションから開始し、
前記第２のコマンドは、前記第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項１６に記載のシステム。
【請求項１８】
前記第２の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第２のコマンドは、前記入力アグリゲーションサーバを経由して、前記第２のクライアントデバイスによって前記単一の制御デバイスの前記第２の入力デバイスのリモート仮想トリガーを定義する、請求項１７に記載のシステム。
【請求項１９】
前記第１のクライアントデバイスから前記１つ以上の第２のクライアントデバイスに前記ビデオをストリーミングすることは、前記第１のクライアントデバイス及び前記１つ以上の第２のクライアントデバイスを含むピアツーピアネットワークを通じて行われる、請求項１４に記載のシステム。
【請求項２０】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関する。
【背景技術】
【０００２】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピューティング能力の増大に伴い、ビデオゲームの開発者もまた、この向上したコンピューティング能力を利用するゲームソフトウェアを開発してきた。そのために、ビデオゲーム開発者は、高度な演算及び数学的手法を取り入れたゲームをコーディングして、非常に精緻で魅力のあるゲーム体験を生み出している。
【０００３】
ゲームプラットフォームの例は、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ（登録商標）、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ２（登録商標）（ＰＳ２）、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ３（登録商標）（ＰＳ３）、及びＳｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ４（登録商標）（ＰＳ４）を含み、それぞれ、ゲーム機の形態で販売されている。周知のように、ゲーム機は、ディスプレイ（一般的には、テレビ）に接続し、ハンドヘルドコントローラによって、ユーザとのインタラクションを可能にするように設計されている。ゲーム機は、ＣＰＵ、集約的なグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を行うためのベクトルユニット、ならびに他のグルーハードウェア、ファームウェア、及びソフトウェアを含む、専用処理ハードウェアが設けられるように設計されている。さらに、ゲーム機によってローカルでプレイするために、ゲーム機は、ゲームディスクを受けるために、光ディスクリーダが設けられるように設計されている。オンラインゲームも可能であり、ユーザはインターネットを通じて他のユーザとインタラクティブに対戦または試合ができる。ゲームの複雑さがプレイヤーを魅了し続けるため、ゲームメーカ及びハードウェアメーカは、さらなるインタラクティビティ及びコンピュータプログラムを可能にするための技術革新を続けている。
【０００４】
コンピュータゲーム業界では、ユーザとゲームシステムとの間のインタラクションを増加させるゲームを開発する傾向が高まっている。インタラクティブな体験をより豊かにする実現法の１つは、プレイヤーの動きを追跡し、その動きをゲームの入力として使用するために、ゲームシステムによって動きが追跡される無線式のゲームコントローラを使用することである。一般的に言えば、ジェスチャ入力は、コンピューティングシステム、ビデオゲーム機、スマート家電等の電子デバイスを、プレイヤーによって行われ、その電子デバイスによって取り込まれた何らかのジェスチャに応答させることをいう。
【０００５】
インタラクティブな体験をより没入できるものにする別の１つの実現法は、ヘッドマウントディスプレイ（ＨＭＤ）を使用することである。ヘッドマウントディスプレイは、ユーザによって装着され、仮想空間のビュー等の様々なグラフィックを提示するように構成され得る。ヘッドマウントディスプレイに提示されるグラフィックは、ユーザの視野の大部分またはさらに全体を覆うことができる。したがって、ヘッドマウントディスプレイはユーザの動きに応答するように仮想環境の３次元リアルタイムビューをレンダリングするので、ＨＭＤは視覚的に没入感のある仮想現実体験をユーザに提供できる。ＨＭＤを装着しているユーザは全方向に自由に移動でき、ひいては、ＨＭＤによって全方向の仮想環境のビューをユーザに提供できる。
【０００６】
このような状況において、本開示の実施態様が生じる。
【発明の概要】
【０００７】
本開示の実施態様は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関するデバイス、方法、及びシステムを含む。
【０００８】
いくつかの実施態様では、提供される方法は以下の操作方法を含み、すなわち、クラウドゲームコンピュータによってビデオゲームを実行することと、実行中のビデオゲームから生成されたビデオを、ネットワークを通じて、第１のクライアントデバイスにストリーミングすることと、ネットワークを通じて、第１のクライアントデバイスから１つ以上の第２のクライアントデバイスにビデオをストリーミングすることと、ネットワークを通じて入力アグリゲーションサーバによって、第２のクライアントデバイスから入力データを受信することと、ネットワークを通じて入力アグリゲーションサーバによって、第２のクライアントデバイスから第１のクライアントデバイスに入力データを送信することであって、第１のクライアントデバイスは、第２のクライアントデバイスからの入力データを第１のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、送信することと、ネットワークを通じてクラウドゲームコンピュータによって、入力データの組み合わせを受信することと、クラウドゲームコンピュータによって、入力データの組み合わせを適用して、ビデオゲームの実行を推進することと、を含む。
【０００９】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【００１０】
いくつかの実施態様では、入力データの組み合わせは、第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【００１１】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、第１のコマンドは単一の制御デバイスにおける第１の入力デバイスのアクティベーションから開始し、第２のコマンドは第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【００１２】
いくつかの実施態様では、第２の制御デバイスにおける入力デバイスのアクティベーションから開始する第２のコマンドは、入力アグリゲーションサーバを経由して、第２のクライアントデバイスによって単一の制御デバイスの第２の入力デバイスのリモート仮想トリガーを定義する。
【００１３】
いくつかの実施態様では、第１のクライアントデバイスから１つ以上の第２のクライアントデバイスにビデオをストリーミングすることは、第１のクライアントデバイス及び１つ以上の第２のクライアントデバイスを含むピアツーピアネットワークを通じて行われる。
【００１４】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【００１５】
いくつかの実施態様では、提供される方法は以下の操作方法を含み、すなわち、クラウドゲームコンピュータによってビデオゲームを実行することと、ネットワークを通じてビデオサーバによって、実行中のビデオゲームから生成されたビデオを第１のクライアントデバイス及び１つ以上の第２のクライアントデバイスにストリーミングすることと、ネットワークを通じて入力アグリゲーションサーバによって、第１のクライアントデバイスからの入力データ及び第２のクライアントデバイスからの入力データを受信することと、入力アグリゲーションサーバによって、第１のクライアントデバイスからの入力データ及び第２のクライアントデバイスからの入力データを使用して入力データの組み合わせを生成することと、入力アグリゲーションサーバによって、入力データの組み合わせをクラウドゲームコンピュータに送信することと、クラウドゲームコンピュータによって、入力データの組み合わせを適用して、ビデオゲームの実行を推進することと、を含む。
【００１６】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【００１７】
いくつかの実施態様では、入力データの組み合わせは、第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【００１８】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、第１のコマンドは単一の制御デバイスにおける第１の入力デバイスのアクティベーションから開始し、第２のコマンドは第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【００１９】
いくつかの実施態様では、第２の制御デバイスにおける入力デバイスのアクティベーションから開始する第２のコマンドは、入力アグリゲーションサーバを経由して、第２のクライアントデバイスによって単一の制御デバイスの第２の入力デバイスのリモート仮想トリガーを定義する。
【００２０】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【００２１】
いくつかの実施態様では、提供されるシステムは、ビデオゲームを実行するように構成されるクラウドゲームコンピュータであって、実行中のビデオゲームから生成されたビデオはネットワークを通じて第１のクライアントデバイスにストリーミングされ、第１のクライアントデバイスはネットワークを通じて第１のクライアントデバイスから１つ以上の第２のクライアントデバイスにストリーミングするように構成される、クラウドゲームコンピュータと、ネットワークを通じて、第２のクライアントデバイスから入力データを受信するように構成される入力アグリゲーションサーバであって、入力アグリゲーションサーバはさらにネットワークを通じて第２のクライアントデバイスから第１のクライアントデバイスに入力データを送信するように構成され、第１のクライアントデバイスは、第２のクライアントデバイスからの入力データを第１のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、入力アグリゲーションサーバとを含み、クラウドゲームコンピュータはネットワークを通じて第１のクライアントデバイスから、入力データの組み合わせを受信するように構成され、クラウドゲームコンピュータは、さらに、入力データの組み合わせを適用して、ビデオゲームの実行を推進するように構成される。
【００２２】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【００２３】
いくつかの実施態様では、入力データの組み合わせは、第１のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【００２４】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第１の入力デバイスにマッピングされる第１のコマンドと、単一の制御デバイスの第２の入力デバイスにマッピングされる第２のコマンドとを含み、第１のコマンドは単一の制御デバイスにおける第１の入力デバイスのアクティベーションから開始し、第２のコマンドは第２のクライアントデバイスの１つに動作可能に接続される第２の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【００２５】
いくつかの実施態様では、第２の制御デバイスにおける入力デバイスのアクティベーションから開始する第２のコマンドは、入力アグリゲーションサーバを経由して、第２のクライアントデバイスによって単一の制御デバイスの第２の入力デバイスのリモート仮想トリガーを定義する。
【００２６】
いくつかの実施態様では、第１のクライアントデバイスから１つ以上の第２のクライアントデバイスにビデオをストリーミングすることは、第１のクライアントデバイス及び１つ以上の第２のクライアントデバイスを含むピアツーピアネットワークを通じて行われる。
【００２７】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【００２８】
本開示の他の態様及び利点は、添付の図面と併せて解釈される、本開示の原理を例として示す以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００２９】
本開示は、添付の図面と併せて以下の説明を参照することによって良好に理解され得る。
【００３０】
【図１】本開示の実施態様による、複数のユーザ間でのシングルプレイヤーのセッションの制御の分岐を概念的に示す。
【００３１】
【図２】本開示の実施態様による、ユーザのグループ間でビデオゲームのエンティティの制御を渡すことを概念的に示す。
【００３２】
【図３】本開示の実施態様による、ビデオゲームにおける様々な仮想キャラクターを制御するユーザのチームを概念的に示す。
【００３３】
【図４Ａ】本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。
【００３４】
【図４Ｂ】本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。
【００３５】
【図５】本開示の実施態様による、ビデオゲームの分割コントローラゲームプレイを行うための方法を示す。
【００３６】
【図６】本開示の実施態様による、チームビデオゲームの方法を示し、チームメンバーは、ビデオゲームにおける所定の仮想キャラクター／エンティティを制御するために互いに置き換えられ得る。
【００３７】
【図７】一実施態様による、ＨＭＤユーザがクライアントシステムとインターフェースをとり、クライアントシステムが第２のスクリーンディスプレイ（第２のスクリーンと称される）にコンテンツを提供する一例を示す。
【００３８】
【図８】本開示の様々な実施態様による、ゲームシステム１６００のブロック図である。
【発明を実施するための形態】
【００３９】
本開示の以下の実施態様は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関するデバイス、方法、及びシステムを提供する。しかしながら、本開示は、現在説明されている具体的詳細の一部または全部を用いることなく、実践され得ることは、当業者には明らかである。他の例では、周知のプロセス動作は、本開示を不必要に不明瞭にしないために、詳細に説明されていない。
【００４０】
大まかに言えば、本開示の実施態様は、ビデオゲームのエンティティ及びキャラクターの共有制御を通じて共同ゲームを促進する様々な方法及びシステムを提供する。例えば、いくつかの実施態様では、シングルプレイヤーのセッションの制御は、２人以上のリモートユーザ間で分岐される。例として、あるユーザがキャラクターの所定のアクションを制御し得る一方で、別のユーザは同じキャラクターの異なるアクションを制御する。これらのアクションは、単一の第１の制御デバイスの様々な入力デバイスにマッピングされ得ることが認識される。ひいては、入力デバイスの制御はユーザ間で分割される。ユーザは互いに離れているため、ユーザの入力を集約して、次に、シングルプレイヤーのセッションの単一の入力ストリームとして適用できる。
【００４１】
別の実施態様では、キャラクターまたは他のビデオゲームのエンティティの制御を、あるユーザから別のユーザに渡すことができる。いくつかの実施態様では、多くのユーザが存在し、制御はラウンドロビン方式で渡される。このように、ユーザのチームの各メンバーは、キャラクターまたはビデオゲームのエンティティを制御する順番が与えられる。
【００４２】
概念を広げると、別の実施態様では、ユーザのチームがビデオゲームの限定された数のキャラクターを制御できる。すなわち、ビデオゲームで制御が可能である一定数のキャラクターが存在し、チームにはより多くのユーザが存在する。いつでも、チームの異なるユーザを割り当てて、異なるユーザのキャラクターを制御できる。例えば、チームキャプテンは、ビデオゲームの所定のキャラクターに関して、あるユーザを別のユーザに置き換え得る。
【００４３】
説明を容易にするために、本開示の全体を通して、ビデオゲームにおける所定のキャラクターの制御について言及する。しかしながら、現在説明されている概念は、ビデオゲームのキャラクターだけではなく、ビデオゲームの所定のユーザによって制御可能であるいずれかのエンティティに適用されることが当業者によって認識される。したがって、用語「キャラクター」は、所定のユーザによって制御可能であるビデオゲームのいずれか他のエンティティと交換可能に使用できる。より具体的には、キャラクターまたはエンティティは、従来、シングルユーザによって制御されるものである。
【００４４】
図１は、本開示の実施態様による、複数のユーザ間でのシングルプレイヤーのセッションの制御の分岐を概念的に示す。ビデオゲームが実行され、ビデオゲームの実行によって生成されるビデオが参照符号１００に示される。いくつかの実施態様では、ビデオゲームはクラウドゲームマシンによって実行される一方、他の実施態様では、ビデオゲームは、ゲーム機もしくはパーソナルコンピュータ、または他のコンピューティングデバイス等のローカルクライアントマシンによって実行されることが認識される。ビデオゲームを実行して、所定のユーザのビデオゲームのセッションを見つける。示される実施態様を参照する例として、ビデオゲームのセッションは、ユーザ１１２によるゲームプレイのために定義できる。例えば、ユーザ１１２は、ビデオゲームの実行を開始し得、ひいては、インスタンス化されるセッションは、ユーザ１１２に関連付けられる。
【００４５】
通常のゲームプレイシナリオでは、ユーザ１１２は、制御デバイス１０６を操作して、実行中のビデオゲームに入力を提供し、例えば、実行中のビデオゲームによって定義される仮想環境内のキャラクター１０２（または他のビデオゲームのエンティティ）を制御し得る。示される実施態様では、制御デバイス１０６は、ジョイスティック１０８、ボタン１１０、及びトリガー１１１等の様々な入力デバイスを含むように示される。ゲームプレイの通常のシングルユーザモードでは、単一の制御デバイス１０６の入力デバイスからの全ての入力は、ユーザ１１２によって制御される。
【００４６】
しかしながら、本開示の実施態様に従って、ゲームプレイのマルチユーザモードが提供され、それによって、入力を分岐させ、制御のために他のユーザに割り当てできる。すなわち、他のユーザは、リモート方式で制御デバイス１０６の部分を仮想的に制御することが可能である。非限定の例として、示される実施態様を参照すると、追加のユーザ１１４及びユーザ１１６は、制御デバイス１０６の部分を制御する能力を備えている。例えば、第１のユーザ１１２はジョイスティック１０８を制御し得、第２のユーザ１１４はボタン１１０を制御し、別の第２のユーザ１１６はトリガー１１１を制御する。ジョイスティック１０８、ボタン１１０、及びトリガー１１１は、それぞれ、ビデオゲームにおける異なる機能またはアクションに対応し得ることが認識される。例えば、ジョイスティック１０８はキャラクター１０２の動き（例えば、走る、歩く等）を制御するようにマッピングされ得、ボタン１１０はジャンプまたはパンチ等のキャラクター１０２のアクションを制御するようにマッピングされ得、トリガー１１１はキャラクター１０２による射撃アクション（例えば、武器の発射）を制御し得る。このように、ユーザ１１２、ユーザ１１４、及びユーザ１１６のそれぞれは、ビデオゲームにおけるキャラクター１０２のアクティビティの特定のサブセットを制御するタスクがある。シングルユーザモードでは、これらのアクティビティの全ては、第１のユーザ１１２によって制御されるであろうが、現在説明されているマルチユーザモードでは、このように、キャラクター１０２の制御を共有することによって、マルチユーザが共同ゲームプレイに参加できる。
【００４７】
ユーザ１１２、ユーザ１１４、及びユーザ１１６は、互いにリモートに位置し、ひいては、ユーザ１１４及びユーザ１１６は、第１のユーザの制御デバイス１０６の入力デバイスを物理的に制御しないことが認識される。むしろ、ユーザ１１４及びユーザ１１６のそれぞれは、本開示のシステムによって、実行中のビデオゲームのビデオ１００をそれらのユーザ自身のローカル環境で視聴し、ユーザが割り当てられている制御デバイス１０６の入力デバイスのコマンド機能と同じコマンド機能にマッピングされる入力を提供することが可能である。このように、ユーザ１１４は、ボタン１１０にマッピングされる機能をリモートで及び仮想的に制御することが可能である一方、ユーザ１１６は、トリガー１１１にマッピングされる機能をリモートで及び仮想的に制御することが可能である。
【００４８】
大まかに言えば、第２のユーザ１１４及びユーザ１１６のそれぞれは、それら自身の各々の制御デバイスを操作し得、ユーザ１１４及びユーザ１１６のそれぞれからの入力は、制御デバイス１０６を操作するユーザ１１２からの入力によって伝送及び集約され、入力ストリームの組み合わせが制御デバイス１０６だけを起点として送られるかのように、実行中のビデオゲームに伝送される入力ストリームの組み合わせを提供できる。したがって、ビデオゲームのセッションは、シングルプレイヤー（すなわち、第１のユーザ１１２）について定義され得るが、追加のユーザ１１４及びユーザ１１６は、ゲームプレイに参加し、ビデオゲームにおけるキャラクター１０２の制御可能なアクションの一部の制御を提供することが可能である。
【００４９】
いくつかの実施態様では、第１のユーザ１１２は、第２のユーザ１１４及びユーザ１１６をそれらのセッションに参加することを招待できる。さらに、第１のユーザ１１２は、ユーザ１１４及びユーザ１１６に許可を与え、説明されるように、それらのユーザに割り当て、ゲームプレイの一部を制御し得る。いくつかの実施態様では、第１のユーザ１１２は制御を分割する方法を決める、すなわち、どの特定のコマンドを特定の第２のユーザのどれに割り当てるかを決定することが可能である。
【００５０】
いくつかの実施態様では、第２のユーザの１１４またはユーザ１１６は、コントローラを共有するように要求または招待される前に、最初に第１のユーザ１１２によってビデオゲームのゲームプレイを観戦できる。例として、ユーザ１１２、ユーザ１１４、及びユーザ１１６は、ソーシャルネットワーク上の友人であり、互いにいつゲームプレイまたはオンラインに参加するかを確認することが可能であり得る。ユーザは互いのゲームプレイについての通知を受信し、ひいては、観戦するためのアクセスを取得し、現在説明されているように、場合によって、分岐制御に参加し得る。
【００５１】
シングルプレイヤーのゲームプレイの分岐制御に関する現在説明されている概念は、マルチプレイヤーゲームセッションのシナリオに拡張できる。例えば、継続して図１の実施態様を参照すると、ビデオゲームにおけるキャラクター１０４を制御する別の第１のユーザ１２６が存在し得る。示されるように、ユーザ１２６は、キャラクター１０４のアクションを制御するために、ビデオゲームに入力を提供するように構成される様々な入力デバイスを有する制御デバイス１１８を操作する。しかしながら、上記に説明した概念と同様に、いくつかの実施態様では、キャラクター１０４の制御は、複数のユーザ間で分岐できる。したがって、例として、追加のユーザ１２８及びユーザ１３０は、実行中のビデオゲームのビデオ１００と、第１の制御デバイス１１８の入力デバイスにマッピングされるコマンドの制御の一部も提供できる。例えば、第１のユーザ１２６が制御デバイス１１８のジョイスティック１２０を制御しているが、ユーザ１２８はボタン１２２を制御でき、ユーザ１３０はトリガー１２４を制御できる。上記に留意したように、第２のユーザ１２８及びユーザ１３０はリモートに位置しているため、それらのユーザはボタン及びトリガーを物理的に制御しない。しかしながら、それらのユーザは、ボタン及びトリガーに割り当てられるコマンドにマッピングされる入力を提供し、これにより、ジョイスティック１２０を操作する第１のユーザ１２６からの入力と組み合わされるとき、入力の組み合わせは、キャラクター１０４のアクションを制御するために、制御デバイス１１８を起点として送られるかのように実行中のビデオゲームへの単一の入力ストリームとして提示される。
【００５２】
現在説明されている分岐制御スキームは、通常シングルプレイヤーゲームの設定の場合よりも多くのユーザが所定のビデオゲームのゲームプレイに参加することを可能にし得ることが認識される。さらに、これはゲームプレイに新しいダイナミクスを提供できる。例えば、ビデオゲームで所定のキャラクターまたはエンティティの制御を共有するユーザは、ビデオゲームの目標を実現するために、ユーザのアクティビティを調整する課題を楽しむことができる。さらに、単一のキャラクターまたはエンティティを共同で制御するユーザのグループは、チームを形成し、ビデオゲームにおける別のキャラクターまたはエンティティを同様に共同で制御する他のチームと競争できる。
【００５３】
さらなる実施態様では、ボタンまたは他の入力デバイス及びコマンドをどのように割り当てるかを定義する所定のゲームのテンプレートが存在し得る。いくつかの実施態様では、ユーザは、テンプレートの承認を投票または評価または示し得る（例えば、「いいね」する、親指を立てる等）。いくつかの実施態様では、係るテンプレート及び／または制御の分割は、所定のゲーム全体にわたって変更できる。例えば、ゲームの一部では、制御をある方法で分割することが理にかない得る一方、ゲームの別の部分では、制御を別の方法で分割することが理にかない得る。さらに、いくつかの実施態様では、制御の分割のシフトは、ゲームの設定点にある可能性がある、またはある条件に応じて動的に行うことができる。これにより、ゲームプレイがさらに複雑になることがもたらされる可能性があることが認識される。
【００５４】
図２は、本開示の実施態様による、ユーザのグループ間でビデオゲームのエンティティの制御を渡すことを概念的に示す。示される実施態様では、多くのユーザがビデオゲームのゲームプレイに参加し、参照符号２００に概念的に示される。ユーザ２０６、２０８、２１０、及び２１２のグループは、仮想キャラクター２０２を制御するために割り当てられる。いくつかの実施態様に従って、仮想キャラクター２０２の制御は、ラウンドロビン方式で、あるユーザから別のユーザに渡される。例えば、第１の期間中、仮想キャラクター２０２はユーザ２０６によって制御される。次の第２の期間中、仮想キャラクター２０２はユーザ２０８によって制御される。そして、次の第３及び第４の期間中、仮想キャラクター２０２は、各々、ユーザ２１０及びユーザ２１２によって制御される。サイクル完了時に、制御は第１のユーザ２０８に戻され、ラウンドロビン方式でユーザによって再び循環する。
【００５５】
いくつかの実施態様では、各ユーザにキャラクターを制御するための同等の時間が与えられる。例えば、ユーザ２０６、２０８、２１０、及び２１２のそれぞれは、仮想キャラクター２０２を制御するために２分の時間が与えられ得、その満了時に、制御は次のユーザに渡される。
【００５６】
他の実施態様では、所定のユーザがキャラクターを制御するために割り当てられる時間は、１つ以上の要因に基づいて変わる可能性がある。例えば、いくつかの実施態様では、より多い量またはより高い達成率は、制御時間が増加することによって良くなる。例えば、ユーザがポイントを得る、またはそうでなければ、既定の割合で、または所定の時間内に目的を達成した場合、ユーザは追加の時間にキャラクターを継続して制御することが可能であり得る、それ以外の場合、制御は次のユーザに渡される。いくつかの実施態様では、キャラクターを制御するために所定のユーザに割り当てられる時間は、ユーザのスキルレベルに基づいて決定される。例えば、割り当てられた時間は、ユーザのスキルレベルに対して逆の相関関係があり得、それにより、スキルレベルが低いユーザには長い時間が与えられる一方、スキルレベルが高いユーザにはキャラクターを制御するためにより短い時間が与えられる。
【００５７】
いくつかの実施態様では、例えば、ボタンを押すことによって、またはそのように示す入力を提供することによって、ユーザが次のユーザに制御を委ねることを決めるまで、ユーザはキャラクターを制御する。別の実施態様では、次のユーザが現在のユーザに割り込んでキャラクターの制御を引き継ぐまで、現在のユーザはキャラクターを制御する。係る実施態様では、次のユーザが割り込んで制御を引き継ぐことが可能になる前に、現在のユーザは最小時間が与えられ得る。いくつかの実施態様では、キャラクターを現在制御していないユーザの一部または全ては、制御が次のユーザにいつ渡されるかをまとめて決定し得る。例えば、制御していないユーザの一部または全て（例えば、閾値／割合）が、例えば、ボタンを押すことによって、または別の入力を提供することによって、制御を渡すべきであることを示したときに、制御を渡し得る。
【００５８】
マルチプレイヤーゲームでは、互いに協力する、または互いに競争する複数のキャラクターが存在し得ることが認識される。示される実施態様を参照すると、ビデオゲーム２００は、ユーザ２１４、２１６、２１８、及び２２０のグループによって同様に制御される別の仮想キャラクター２０４を含み得る。これらのユーザは、仮想キャラクター２０２を参照して上記に説明した手法と同様の手法で仮想キャラクター２０４を制御し得る。ひいては、ユーザはチームを形成し、ユーザの他のチームと協力してまたは競争的にビデオゲーム２００をプレイし得る。
【００５９】
いくつかの実施態様では、ビデオゲームはクラウドで実行されるビデオゲームである一方、他の実施態様では、ビデオゲームは、ユーザの１人に関連付けられるローカルクライアントデバイスによって実行され得ることが認識される。
【００６０】
いくつかの実施態様では、上記の概念の一部が組み合わされ得る。例えば、所定のキャラクターの制御は、制御の異なる部分に分岐し得る。しかしながら、制御の部分ごとに、所定の部分を制御するためにキューに入れられるマルチユーザが存在し得る。次に、キューに入れられたユーザは、例えば、ユーザごとの限られた時間に、ラウンドロビン方式で順番に制御を引き受けることができる。例えば、ジャンプまたは射撃等のキャラクターの所定のアクションを制御する際に、多くのユーザが順に行動し得る。
【００６１】
いくつかの実施態様では、複数のユーザが所定の入力を同時に制御できる。例えば、複数のユーザからの入力データを集約及び処理して、入力の特定の性質を決定できる。例として、単一のボタンの制御の場合、複数のユーザからのボタン押しを集約して、ボタンを押すときのタイミング、ボタンを保持する長さ、ボタンを放すときのタイミング等の制御の様々な態様を決定し得る。このように、所定の制御入力を多くのユーザ間で共有できる。様々な方法を使用して、複数のユーザのそれぞれの個々の入力に基づいてコンセンサス入力を決定できることが認識される。例えば、いくつかの実施態様では、ビデオゲームの所定の単位時間に、（例えば、ユーザの選択の大部分に基づいて、またはユーザの閾値の割合を超えることによって）最も一般的な入力が決定及び適用される。所定の時点で最も評判が良い入力は、いずれかのアクションがないことによって定義され得ることを認識されたい。いくつかの実施態様では、様々なユーザからの入力の平均値または中央値を決定して、コンセンサス入力として適用できる。
【００６２】
コンセンサス入力を決定するための特定の方法の適合性は、その特定の入力の性質に依存し得ることが認識される。例えば、オンまたはオフの状態だけを有するボタン等のバイナリ入力タイプの場合、この結果をコンセンサス入力として直接適用できるため、どの状態が所定の時間に最も評判が良いかを決定することで有利をもたらし得る。一方、広範囲の方向値及び／または強度値を含み得るジョイスティック入力の場合、複数のユーザからのジョイスティック入力の平均値を決定することは有用であり、直接適用可能であり得る。
【００６３】
コンセンサス入力を決定するための上記の方法は、特定の入力デバイス（例えば、制御デバイス）を参照して説明してきたが、他の実施態様では、ユーザのグループによって共同で制御されているビデオゲームにおける単一のキャラクターまたはエンティティに適用する入力をどれにするかを決定するために同様の概念を適用できる。すなわち、複数のユーザによって同時に制御されている所定のキャラクターについて、個々のユーザはそれぞれ、例えば、ユーザの各々の制御デバイス及びローカルコンピューティングデバイスによって入力コマンドを提供する。複数のユーザからのこれらの入力コマンドは、所定のキャラクターの単一の入力ストリーム（単一のコントローラから来るようなもの）を決定するために集約及び処理される。例えば、各ユーザは、ジャンプコマンドをトリガーするユーザの各々のコントローラのボタンを操作し得る。いくつかの実施態様では、特定の期間内にジャンプボタンを押すユーザの数が既定の閾値を超えると（例えば、全ユーザの一部が閾値を超える、大多数がボタンを押す等）、ジャンプコマンドはビデオゲームに転送され、キャラクターによって実行される。別の例として、各ユーザは、キャラクターの動きを制御するジョイスティックを操作し得、ジョイスティックの総入力は、全てのユーザにわたって決定され、キャラクターの動きを決定するために利用される。いくつかの実施態様では、ジョイスティックの総入力を決定することは、方向値及び／または強度値等のジョイスティック入力値の平均値または中央値を決定することを含む。
【００６４】
別の実施態様では、ユーザはそれぞれ（例えば、各々のアカウントにおいて）ある量の仮想通貨を有し得、仮想通貨を使用して、ゲームの特定の時間に制御を引き継ぐ権利の支払いをすることが可能である。いくつかの実施態様では、所定の時間に最も多く支払うユーザにキャラクターの制御が与えられる。いくつかの実施態様では、現在プレイしているユーザは、ビデオゲームにおけるユーザのパフォーマンスに基づいて追加の仮想通貨を獲得し得る。仮想通貨は、他のビデオゲームのゲームプレイ、プロモーション、直接購入等を含むものによって、ビデオゲーム以外の様々なメカニズムによって同様に獲得または購入できることが認識される。
【００６５】
いくつかの実施態様では、ユーザは、どの特定のユーザが所定の入力またはキャラクター／エンティティを制御できるかについて投票し得る。いくつかの実施態様では、どの特定のユーザが所定の入力またはキャラクター／エンティティを制御できるかについて投票できる観客のオンラインオーディエンスが存在し得る。
【００６６】
図３は、本開示の実施態様による、ビデオゲームにおける様々な仮想キャラクターを制御するユーザのチームを概念的に示す。示される実施態様では、マルチプレイヤービデオゲーム３００は、互いに競合する仮想キャラクターまたは他の仮想エンティティのチームを有するように構成される。例えば、第１のチームは、キャラクター３０２、３０４、３０６、及び３０８から成り得る。一方、別のチームはキャラクター３１０、３１２、３１４、及び３１６から成り得る。キャラクターのチームは、ユーザの各々のチームによって制御される。示される実施態様では、ユーザの第１のチーム３２０は、キャラクターの第１のチーム（キャラクター３０２、３０４、３０６、及び３０８）の様々な仮想キャラクターを制御する。そして、ユーザの第２のチーム３５０は、キャラクターの第２のチーム（キャラクター３１０、３１２、３１４、及び３１６）の様々な仮想キャラクターを制御する。
【００６７】
本開示の実施態様に従って、ユーザのチームには、ビデオゲームの仮想キャラクターのユーザの各々のチームで制御が可能であるキャラクターよりも、さらに多くのユーザが存在し得る。したがって、例として、示される実施態様では、ユーザの第１のチーム３２０は、ユーザ３２２、３２４、３２６、３２８、３３０、３３２、３３４、３３６、３３８、及び３４０を含む。いつでも、第１のチームのキャラクターの仮想キャラクターを制御するために、第１のチーム３２０のユーザのサブセットを割り当ててできる。例えば、示される実施態様を参照すると、ユーザ３２４、３２６、３３２、及び３４０は、現在、各々仮想キャラクター３０２、３０４、３０６、及び３０８を制御していることが示される。
【００６８】
いくつかの実施態様では、ユーザのチームのユーザの１人が、どの特定のユーザが特定の仮想キャラクターを制御するために割り当てられるかを選択または決定する能力を有するチームキャプテンとして指定され得る。例えば、ユーザ３２２は、チーム３２０のチームキャプテンであり、ひいては、ユーザのチームのユーザの中から選び、どのユーザが任意の所定の時点において第１のキャラクターのチームの様々なキャラクター（３０２、３０４、３０６、及び３０８）を制御するかを決定することが可能であり得る。このように、チームキャプテンは、チームのユーザを戦略的に利用して、ビデオゲームで効果的に競争し得る。これにより、ビデオゲームのゲームプレイにさらなるエンゲージメント層を追加できる。
【００６９】
いくつかの実施態様では、チームキャプテンはプレイヤー情報にアクセスでき、プレイヤー情報は、チームキャプテンがユーザのチームで利用可能なユーザのどれが利用できるかを知らせるのに役立つ可能性がある。例えば、プレイヤーのランキング、スキル評価、プレイヤーのゲームプレイ統計、プレイヤーの経験評価、またはビデオゲームに対するユーザのゲームプレイ能力の評価を反映する他の情報等の情報がチームキャプテンに表示され得る。係る情報を考慮することによって、チームキャプテンはユーザのチームのユーザの長所及び短所を理解し、それに応じて、この理解に基づいて、どのユーザをどの仮想キャラクターに割り当てるか、いつユーザを割り当てるかを選び得る。さらに、アクティブなゲームプレイセッション中のユーザのリアルタイム統計を追跡して、チームキャプテンに表示できる。
【００７０】
いくつかの実施態様では、ソーシャルネットワークは係るチームゲームシナリオで活用できる。例えば、本システムは、チームキャプテンが、例えば、特定のスキルまたは経験を保有しているソーシャルグラフのメンバーに招待状を送信することを可能にし得る。非限定の例として、係る招待状は、ソーシャルネットワークを介して、または電子メール、テキストメッセージ、インスタントメッセージ、通知等の他の通信チャネルを経由して送信され得る。
【００７１】
いくつかの実施態様では、プレイヤーのスキルセットについてのデータをオンラインシステムによって収集及び分析でき、プレイヤーのプロファイルを生成できる。例えば、本システムは、チームのスキルセットのバランスを取り、より均一な競争を促進するように、係る情報を使用してプレイヤーを自動的に割り当てるように構成され得る。
【００７２】
同様に、示される実施態様を参照すると、仮想キャラクターの第２のチームの仮想キャラクターは、ユーザ３５２、３５４、３５６、３５８、３６０、３６２、３６４、３６６、３６８、及び３７０を含むユーザのチーム３５０によって制御される。示されるように、仮想キャラクター３１０、３１２、３１４、及び３１６は、現在、各々、ユーザ３５４、３５６、３６６、及び３６４によって制御されている。上記に説明した概念と同様に、仮想キャラクターを制御するためのユーザの特定の割り当ては、チームキャプテンによって決定でき、示される実施態様では、チームキャプテンはユーザ３５２であり得る。
【００７３】
さらに、チームキャプテン３２２及び３５２は、各々、それらのチーム３２０及び３５０の割り当てを制御し得るが、これは、本開示に説明される他の概念と組み合わせできることが認識される。例えば、所定のユーザが所定の仮想キャラクターを制御できる長さに時間制限があり得、これによって、チームキャプテンは、時間制限の期限が切れたときに、次にどのユーザが所定のキャラクターの制御を引き受けるかを継続的に決定する必要がある。いくつかの実施態様では、チームキャプテンに、所定の期間内にユーザのチームの全てのプレイヤーを使用すること、または同様の時間でプレイヤーを使用すること等の要求またはインセンティブ等の使用要件またはインセンティブが（例えば、ボーナスまたはペナルティーを介して）存在し得る。係る実施態様では、所定のチームの全てのユーザに、ゲームプレイ中に仮想キャラクターの制御に参加する機会を与えることを確実にするのに役立ち得る。
【００７４】
さらに、いくつかの実施態様では、スキルレベルに基づいて、ユーザの自動リバランスを行うことができる。例えば、２つのチームがプレイしていて、一方のチームが他方よりもスキルが高い場合（例えば、プレイヤーのゲームプレイメトリックから決定される場合）、またはかなりの差で勝つ場合（例えば、複数のラウンドに勝つ、及び／または閾値を超える数で勝つ場合）、ラウンドの終わりに、より熟練したユーザの一部を他のチームに移籍／トレードできる。これによって、チーム間でスキルをより均等に分け与え、より公平なゲームプレイを提供し、ひいては、ゲームプレイでより魅力的な課題を提供するのを確実にするのに役立ち得る。
【００７５】
いくつかの実施態様では、１人以上のプレイヤーまたは１つ以上の制御は、システム（例えば、ボット）によってコンピュータ制御され得る。これは、チームのスキルレベルの不均衡に対処するための別の方法であり得る。例えば、互いに競合するチームのスキルレベルに大きな差があるとき、スキルレベルがより低いチームは、スキルレベルがより高い別のチームと対戦するとき、（例えば、仮想キャラクターまたはコマンドのサブセットを制御するために）コンピュータ制御のボットを使用するオプションを有し得る。さらに、チームが進歩しスキルがより向上するにつれて、係るボットを使用する能力が非アクティブまたはオフになり得る。
【００７６】
図４Ａは、本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。示される実施態様では、クラウドビデオゲームのセッション４０２は、クラウドゲームマシン４００によって実行される。本開示における説明を容易にするために、ビデオゲームの実行セッション４０２は単にビデオゲームと称され得、当業者には明らかである。いくつかの実施態様では、ゲームマシン４００は、ゲーム機またはブレードサーバのユニット等のゲーム機と同等のハードウェアである。ゲーム機の一例は、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ４ゲーム機である。いくつかの実施態様では、ゲームマシン４００は、ビデオゲームセッション４０２に適切な実行環境を提供するように構成されるサーバコンピュータである。例えば、いくつかの実施態様では、係るサーバコンピュータは、ビデオゲームセッション４０２のための実行環境を提供する仮想マシンを実行し得る。ゲームマシン４００は、他のゲームマシンと一緒にデータセンターに位置できる。
【００７７】
示される実施態様では、ビデオゲームセッション４０２は、第１のユーザ４１６に対して定義される。すなわち、ビデオゲームセッション４０２は、第１のユーザ４１６によるビデオゲームのゲームプレイを可能にするために生成される。いくつかの実施態様では、ビデオゲームは、第１のユーザ４１６が所有するものであり得る、またはそうでなければ、例えば、第１のユーザのクラウドゲームプラットフォームアカウントによってアクセスできる。大まかに言えば、ビデオゲームセッション４０２は、ビデオゲームの変数のステータスを定義するビデオゲームのゲーム状態を生成、維持、及び更新するように構成される。ビデオゲームセッション４０２は、第１のクライアントデバイス４１２からネットワーク４１０を通じて入力データのストリームを受信し、入力データを処理してゲーム状態を更新する。ビデオゲームセッション４０２は、ゲーム状態を利用して、画像データ及び音声データの両方を含むビデオゲームのビデオをレンダリングし、これらのデータは、ネットワーク４１０を通じて第１のクライアントデバイス４１２に戻すように渡される。いくつかの実施態様では、実行中のビデオゲームセッション４０２によって生成されたビデオは、さらに、圧縮または他のビデオストリーミング最適化技術を適用する等、ビデオサーバ４０４によって処理され、次に、ビデオサーバは、ネットワーク４１０を通じてビデオデータを第１のクライアントデバイス４１２に送信する。第１のクライアントデバイス４１２は、ビデオデータを受信し、そのビデオデータを表示デバイスにレンダリングし、表示デバイスは、（例えば、テレビ、モニタ、ヘッドマウントディスプレイ、または仮想現実ヘッドセット等）から分離され得る、または第１のクライアントデバイス４１２（例えば、ラップトップ、タブレット、スマートフォン等）に組み込まれ得る。
【００７８】
示される実施態様に示されるように、第１のユーザ４１６は、ビデオゲームに入力を提供するために、第１のクライアントデバイス４１２に動作可能に接続される入力デバイス４１４を操作する。入力デバイス４１４は、制御デバイス、モーションコントローラ、マウス、キーボード、画像キャプチャデバイスまたはカメラ（２Ｄ、３Ｄ、ステレオ、赤外線等）、マイクロフォン等の、ビデオゲームにユーザ入力を提供するのに適したいずれかのタイプのデバイスであり得る。第１のユーザ４１６からのアクティビティに応答して入力デバイス４１４によって生成されたデータは、ネットワーク４１０を通じてゲームマシン４００に伝送される入力ストリームを定義し、第１のクライアントデバイス４１２によって処理され、入力ストリームは実行中のビデオゲームセッション４０２によって処理される。
【００７９】
本開示の実施態様に従って、追加の第２のユーザ４２２及び４２８からの入力は、第１のユーザ４１６からの入力と組み合わされ、ユーザが入力ストリームをビデオゲームにまとめて供給することを可能にする。このように第２のユーザ４２２及び４２８が第１のユーザ４１６に対して定義されたセッションに参加することを可能にするために、第２のユーザは、ビデオゲームセッション４０２によって生成されたビデオを視聴することを可能にするべきである。したがって、いくつかの実施態様では、ビデオサーバ４０４によって伝送されるビデオデータは、また、ネットワークを通じて、第２のユーザ４２２及び４２８によって各々操作される第２のクライアントデバイス４１８及び４２４に伝送される。第２のユーザ及び対応する第２のクライアントデバイス及び入力デバイスが示されるが、任意の数の第２のユーザ及び対応するクライアントデバイス及び入力デバイスが存在し得ることが認識される。
【００８０】
いくつかの実施態様では、ビデオは、ネットワーク４１０を通じて第１のクライアントデバイス４１２から第２のクライアントデバイス４１８及び４２４に共有される。言い換えれば、第１のクライアントデバイス４１２によって受信されたビデオストリームは、ネットワーク４１０を通じて第２のクライアントデバイスに再伝送できる。例えば、ビデオはＷｅｂＲＴＣ等のリアルタイム通信プロトコルを使用して伝送できる。ビデオを受信すると、第２のクライアントデバイスは、第２のユーザによって視聴するためにビデオを各々のディスプレイにレンダリングする。上記に留意したように、係るディスプレイは、第２のクライアントデバイスから分離され得る、または第２のクライアントデバイスに組み込まれ得る。
【００８１】
示されるように、第２のユーザ４２２は、第２のクライアントデバイス４１８に接続される入力デバイス４２０を操作する。入力デバイス４２０とのインタラクティビティまたは入力デバイス４２０によって感知されたインタラクティビティに応答して、入力デバイス４２０は入力データを第２のクライアントデバイス４１８に伝送する。同様に、第２のユーザ４２８は入力デバイス４２６を操作し、入力デバイス４２６は、第２のクライアントデバイス４２４に接続され、入力データを第２のクライアントデバイス４２４に伝送する。第２のクライアントデバイスは、それぞれ、ユーザの各々の入力データを処理して、入力ストリームを第１のクライアントデバイス４１２に伝送する。いくつかの実施態様では、第２のクライアントデバイスからの入力ストリームは、第１のクライアントデバイスに直接伝送される。すなわち、第２のクライアントデバイス４１８は、ネットワーク４１０を通じて入力ストリームを第１のクライアントデバイス４１２に伝送する。そして、第２のクライアントデバイス４２４は、別の入力ストリームを、ネットワーク４１０を通じて第１のクライアントデバイス４１２に伝送する。第２のクライアントデバイスから第１のクライアントデバイスに伝送される各入力ストリームは、特定の入力デバイスのアクティベーション状態（例えば、特定のボタン押し、ジョイスティックの動き等）を識別するデータ等の、第２のユーザからの特定のインタラクティブ入力を識別するデータ、またはビデオゲーム用に定義される係るインタラクティブ入力から生じるコマンド（例えば、ジャンプ、発射、移動、回転等のコマンド）から成り得ることが認識される。
【００８２】
第１のクライアントデバイス４１２は、第２のクライアントデバイス４１８及び４２４からの入力ストリームを受信し、その入力ストリームを第１のユーザ４１６からのインタラクティブ入力と組み合わせて、ネットワーク４１０を通じてゲームマシン４００に伝送される単一の入力ストリームを生成し、入力ストリームは実行中のビデオゲームセッション４０２によって処理されるように構成される。このように、ビデオゲームセッション４０２は、単一の入力ストリームを見て、マルチユーザがこのように共同で入力を供給することを容易にするために、入力処理に関してビデオゲームにほとんどまたは全く変更がなされる必要がない。ビデオゲームセッション４０２の観点から、それが受信する単一の入力ストリームは、第１のユーザ４１６だけがビデオゲームをプレイしていたかのようである。
【００８３】
上記のアーキテクチャに従って、本明細書で説明するように、マルチユーザがゲームプレイに参加する方法のいずれかを実施できる。例えば、分岐制御シナリオでは、第１のユーザ４１６、第２のユーザ４２２、及び第２のユーザ４２８は、それぞれ、ビデオゲームにおけるキャラクターの異なる態様を制御するために割り当てられ得る。説明だけを目的として、制御可能であり、異なるユーザ間で分割されている様々な態様が、走っている、ジャンプしている、及び武器を発射しているシナリオを考えてみる。したがって、係るシナリオでは、入力デバイス４１４からの入力データはキャラクターの走りを制御するであろう一方、第２のクライアントデバイス４１８及び４２４からの入力ストリームは、各々、ジャンプ及び武器の発射を制御するであろう。第１のクライアントデバイスは、我々と一緒に、入力デバイス４１４からの入力データを第２のクライアントデバイスからの入力ストリームと一緒に処理して、ビデオゲームにおけるキャラクターのこれらの態様の全てを制御するように、ビデオゲーム４０２にコマンドを提供する単一の入力ストリームを生成する。
【００８４】
前述のシナリオは分岐制御シナリオを参照して説明してきたが、入力ストリーム及び入力データは、本開示に説明される実施態様に従って、様々な方法で第１のクライアントデバイス４１２によって組み合わせできることが認識される。
【００８５】
さらに、ビデオゲームがマルチプレイヤービデオゲームである場合、ビデオゲームにおける他のキャラクターをまとめて制御し得る追加の第１のクライアントデバイス及び第２のクライアントデバイスが存在し得ることが認識される。
【００８６】
上記の実施態様では、第２のクライアントデバイスからの入力ストリームは、第１のクライアントデバイス４１２に直接伝送される。しかしながら、第１のクライアントデバイスに接続している第２のクライアントデバイスが多すぎるとき、インターネットサービスプロバイダーはこれを疑わしいと見なし、接続数を制限する、またはトラフィックが第１のクライアントデバイス４１２に到達することをブロックする等の措置を講じ得る。例えば、第１のクライアントデバイスに接続している多数の第２のクライアントデバイスが、分散型サービス拒否攻撃を構成していると疑われ得る。係る問題を避けるために、いくつかの実施態様では、入力サーバ４０６は、第２のクライアントデバイスからの接続に応対するために提供される。入力サーバ４０６は、第２のクライアントデバイスからの入力ストリームに各々応対するために複数のソケットを提供することが可能であるソケットサーバであり得る。サーバ４０６は入力アグリゲータロジック４０８を含み得、入力アグリゲータロジック４０８は、第２のクライアントデバイスの入力ストリームを、ネットワーク４１０を通じて第１のクライアントデバイス４１２に伝送される単一の入力ストリームに組み合わせる。このように、第１のクライアントデバイス４１２は、様々な第２のクライアントデバイスからの複数の入力ストリームに応対する必要があるというよりもむしろ、第２のクライアントデバイスからの入力ストリームの組み合わせまたは集約である単一の入力ストリームを受信する。
【００８７】
別の実施態様では、様々な第１及び第２のクライアントデバイスのそれぞれは、その各々の入力ストリームをリモートサーバ４０６に送信するように構成され、リモートサーバ４０６は、入力ストリームを集約し、ビデオゲームの単一の入力ストリームを生成するように構成される。次に、リモートサーバ４０６は、実行中のビデオゲームセッション４０２によって処理するために、単一の入力ストリームを、ネットワーク４１０を通じてゲームマシン４００に伝送する。このように、リモートサーバ４０６は、例えば、入力アグリゲータロジック４０８を使用して、全てのクライアントデバイスの入力の集約に応対し、ゲームマシン４００に伝送される前に入力ストリームを第１のクライアントデバイスに戻すように渡す必要がないので、待ち時間を短縮できる。係る実施態様では、ゲームマシン４００は、前述に説明したようにビデオを出力するように構成されるが、第１のクライアントデバイス４１２からではなく、リモートサーバ４０６から入力ストリームを受信するように構成される。
【００８８】
さらに別の実施態様では、第１及び第２のクライアントデバイスからの入力ストリームのそれぞれは、ビデオゲームセッション４０２によって処理するために、ネットワーク４１０を通じてゲームマシン４００に伝送される。係る実施態様では、ビデオゲームセッション４００自体は、様々な入力ストリームを集約し、それらを処理して、本明細書で説明される方法に従って共同ゲームプレイを容易にするように構成される。
【００８９】
図４Ｂは、本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。示される実施態様では、ビデオゲームセッションは、第１のクライアントデバイス４１２によってローカルで実行される。いくつかの実施態様では、第２のクライアントデバイスからの入力ストリームは、ネットワーク４１０を通じて第１のクライアントデバイス４１２に伝送される。他の実施態様では、第２のクライアントデバイスからの入力ストリームは、ネットワーク４１０を通じて入力サーバ４０６に伝送され、入力サーバ４０６は、入力ストリームを第１のクライアントデバイス４１２に伝送される単一の入力ストリームに集約するように構成される。
【００９０】
いずれの場合も、本開示に説明される実施態様に従って、ビデオゲームセッション４０２は、入力デバイス４１４からの入力データと組み合わせて第２のクライアントデバイスからの入力ストリームを処理して、共同ゲームプレイの様々なモードを可能にするように構成される。
【００９１】
前述に留意したように、第２のクライアントデバイスは、ビデオゲームのビデオが提供され、これにより、第２のユーザは、第１のユーザ４１６と実質的に同じビデオゲームのリアルタイムビューを見ている。いくつかの実施態様では、ビデオゲームセッションによって生成されたビデオは、第１のクライアントデバイス４１２によってネットワーク４１０を通じて第２のクライアントデバイスに伝送／ストリーミングされる。いくつかの実施態様では、ビデオは、ネットワークを通じて別のビデオサーバ４３０に伝送され、次に、様々な第２のクライアントデバイスへのビデオのストリーミングに応対する。
【００９２】
継続して図４Ａ及び図４Ｂの実施態様を参照すると、いくつかの実施態様では、処理の様々な部分の実行及び応対を、ローカルリソースとクラウド／リモートサーバリソースとの間で動的に割り当てできる。例えば、いくつかの実施態様では、様々な要因／条件に応じて、第２のクライアントデバイスへの実行中のビデオゲームセッションのビデオのストリーミングは、第１のクライアントデバイスによって応対できる、またはリモートビデオサーバにオフロードできる。例として、係る条件は、ビデオがストリーミングされる第２のクライアントデバイスの数、第１のクライアントデバイスのネットワーク接続の品質、第１のクライアントデバイスのローカルリソース（例えば、プロセッサ及びメモリリソース）、第１のクライアントデバイスのロード等を含み得る。例えば、第２のクライアントデバイスの数が多すぎる（例えば、閾値を超える）場合、またはビデオストリーミングの品質が閾値レベルを下回る場合、または遅延が閾値を超える場合、またはそうでなければ、ストリーミングパフォーマンスが許容レベルを下回る場合、ビデオストリーミングの応対が第１のクライアントデバイスからリモートビデオストリーミングサーバにシフトし得る。
【００９３】
さらに、いくつかの実施態様では、入力集約は、第１のクライアントデバイスまたはリモートサーバによって応対され、既存の条件に基づいて動的に切り替り得る。係る条件は、ビデオストリーミングの応対に関して上記の条件のいずれかを含み得るが、クライアントデバイスとリモートサーバとの間で入力集約の応対をシフトするかどうか及びいつシフトするかを決定する目的のために適用されることが認識される。したがって、ビデオストリーミングの応対及び入力集約の応対は、ローカルリソースとクラウドリソースとの間で独立して割り当てでき、これらのいずれかをホストクライアントとは別のサーバにオフロードできる。
【００９４】
加えて、視聴または観戦だけに興味のあるユーザと、参加及び制御に興味のあるユーザとを区別するのに有用であり得る。例えば、ビデオストリーミングに応対するとき、ビデオゲームのいくつかの態様の制御に積極的に参加しているプレイヤーが、そのように積極的に参加していない観客よりも優先され得る。係る優先順位付けは、本明細書の特定の実施態様で説明されるように、プレイヤーの所定のグループまたはキューまたはチームの中で適用され得、ゲームプレイ制御に積極的に参加するものは、ゲームプレイ制御に積極的に参加しないものよりも優先されることが認識される。
【００９５】
いくつかの実施態様では、ユーザは、第１のユーザに対するソーシャルネットワーク内の近接度に基づいて優先順位が付けられ得る。
【００９６】
本開示の実施態様は、異なるユーザがビデオゲームにおける仮想キャラクター／エンティティ及び／またはコマンドのサブセットを制御することを可能にする。したがって、どのユーザが所定の仮想キャラクター／エンティティ及び／または所定のコマンドを現在制御しているのかを識別する問題がある。したがって、いくつかの実施態様では、本システムは、どのユーザがビデオゲームにおいてどの仮想キャラクターまたはコマンドを制御しているかを示すゲームプレイビデオストリームにグラフィックをオーバーレイするように構成される。いくつかの実施態様では、個々のユーザは、スクリーン名、ユーザＩＤ、アバター等によって、係るオーバーレイされたグラフィックスで識別され得る。さらに、いくつかの実施態様では、カスタム化及びパーソナライゼーションは、アニメーション（例えば、フレーム内のまたは浮いているハートによって囲まれるユーザ名等）、フォント、色等の係るオーバーレイに可能である。
【００９７】
別の実施態様では、ビデオゲームは、どのユーザがゲームプレイビデオストリームにおけるどのキャラクターまたはコマンドを制御しているかを識別する情報の表示を可能にするＡＰＩを提供し得る。例えば、本システムはＡＰＩにアクセスし関連情報を供給し、これにより、関連情報は、ゲームプレイビデオストリームでレンダリングされ得る。係る設定を使用して、ビデオゲームはゲームプレイのコンテキストで識別情報を統合及びレンダリングできる。例えば、識別情報は、ビデオゲームの仮想空間において、仮想のキャラクター／エンティティを３次元手法で追い掛ける手法でレンダリングできる。
【００９８】
別の実施態様では、グラフィックスのオーバーレイまたは統合は、特定のユーザによって供給されている入力を表示するように構成され得る。例えば、本明細書で説明されるような分岐制御シナリオでは、制御デバイスのグラフィックを表示でき、さらに、ユーザが制御デバイスの入力デバイスに対応する様々な制御入力をいつ開始するかをグラフィックで示すように構成され得る。
【００９９】
図５は、本開示の実施態様による、ビデオゲームの分割コントローラゲームプレイを行うための方法を示す。操作方法５００において、第１のユーザ（ホストユーザ）及び１人以上のリモートの第２のユーザは、ユーザ間の通信を可能にするゲームプラットフォームにログインする。説明を容易にするために、本方法は、１人の第２のユーザを参照して説明される。しかしながら、本方法は複数の第２のユーザにも適用し得ることが認識される。操作方法５０２において、第１のユーザは、共有ゲームプレイセッションに参加するための招待状を第２のユーザに送信する。招待状は、通知、プライベートメッセージ等として第２のユーザに見えるようにできる。いくつかの実施態様では、ゲームプラットフォームは、例えば、別のソーシャルネットワーク、電子メール、テキストメッセージングサービス等の他の通信チャネルにアクセスし、係るチャネルを経由して招待状を送信するように構成され得る。係る実施態様では、第２のユーザは、招待状を受信する前にゲームプラットフォームにログインしていない場合があるが、代わりに、招待状を受信した後にログインすることが認識される。
【０１００】
操作方法５０４において、第２のユーザが招待状を受託したことに応答して、第１のユーザのビデオストリームが第２のユーザと共有される。第１のユーザのビデオストリームは、システム設定に応じて異なる方法で共有できることが認識される。例えば、クラウドゲームの実施態様では、クラウドゲームシステムは、第１のユーザのビデオストリームのクローンを第２のユーザのシステム（例えば、ゲーム機、コンピュータ等）に提供し得る。ローカルゲームの実施態様では、第１のユーザのビデオストリームを、第１のユーザのシステム（例えば、ゲーム機、コンピュータ等）からネットワークを通じて、第２のユーザのシステムに、随意にリモートビデオサーバを介して共有できる。第１のユーザのビデオストリームを受信することによって、第２のユーザは第１のユーザが視聴しているコンテンツと同じコンテンツを見ることが可能である。
【０１０１】
操作方法５０６において、第１のユーザはビデオゲームの実行を開始する。繰り返すが、いくつかの実施態様では、ビデオゲームはクラウドゲームシステムによって実行されるクラウドであり得る、または、いくつかの実施態様では、第１のユーザのシステムによってローカルで実行できる。第１のユーザのビデオストリームが第２のユーザと共有されているため、第２のユーザもビデオゲームの実行が見える。
【０１０２】
操作方法５０８において、第１のユーザは、例えば、コントローラ共有インターフェースをアクティブにすることによって、第１のコントローラを第２のユーザと共有する要求を開始する。いくつかの実施態様では、コントローラ共有インターフェースは、コントローラ全体を共有する（第２のユーザに制御を渡す）またはコントローラの一部を共有する等のコントローラを共有するためのオプションを提供する。このような場合、第１のユーザは、そのコントローラの一部を第２のユーザと共有することを選び、これにより、第２のユーザは、第１のユーザの制御デバイスの入力デバイスの一部にマッピングされるコマンドを制御する。プロセスの一部として、コントローラを共有する要求は、第１のユーザがコントローラを共有することを望むことを第２のユーザに知らせ、第２のユーザにそうすることを受託／同意するように要求することの、第２のユーザへの通知を生じさせ得る。
【０１０３】
操作方法５１２において、随意に、第２のユーザによって係る受託がされると、分割コントローラゲームプレイが開始する。すなわち、第１のユーザの制御デバイスの一部は、第２のユーザによって仮想的に制御される。いくつかの実施態様では、係る分割コントローラゲームプレイ中に、第１のユーザの制御デバイスの共有部分は、第２のユーザによって制御されている間、非アクティブになる。
【０１０４】
操作方法５１４において、随意に、分割／分岐コントローラゲームプレイを容易にする一部として、第１のユーザ及び第２のユーザからの入力は、実行中のビデオゲームに伝送される前に集約される。換言すれば、第２のユーザによって制御される第１のユーザ制御デバイスの一部に対応する入力の一部は、第１のユーザからの入力とマージされ、実行中のビデオゲームに伝送される単一の入力ストリームを形成する。このように、ビデオゲームは、単一の制御デバイスからの入力であるかのように入力を受信する。
【０１０５】
操作方法５１６において、集約された入力は、実行中のビデオゲームによって適用され、ビデオゲームのゲーム状態を更新し、ゲームプレイビデオをレンダリングする。レンダリングされたゲームプレイビデオは、前述に説明したように、第１のユーザ及び第２のユーザに継続的にストリーミングされる。
【０１０６】
図６は、本開示の実施態様による、チームビデオゲームの方法を示し、チームメンバーは、ビデオゲームにおける所定の仮想キャラクター／エンティティを制御するために互いに置き換えられ得る。操作方法６００において、ユーザは、チームビデオゲームをサポートするゲームプラットフォームにログインする。例えば、いくつかの実施態様では、ゲームプラットフォームはクラウドゲームプラットフォームであり、クラウドゲームプラットフォームから及び相互からの両方でリモートに位置するユーザが、例えば、ネットワーク及び／またはインターネットを含むものを通じて、クラウドゲームプラットフォームにアクセスすることを可能にする。クラウドゲームプラットフォームは、ビデオゲームの実行及びユーザのクライアントデバイスへのストリーミングビデオを提供し得る。操作方法６０２において、チームゲームセッションが提供される。いくつかの実施態様では、チームゲームセッションの可用性は、ゲームプラットフォームによって、例えば、クラウドゲームプラットフォームのビデオゲームオプションへのアクセスを提供する「ロビー」エリアまたは他のインターフェースに表示される。
【０１０７】
操作方法６０４において、ユーザは、チームゲームセッションへの参加を要求し、チームゲームセッションに追加される。いくつかの実施態様では、ユーザはチームゲームセッションに参加するための招待状に応答する。操作方法６０６において、ユーザはチームに割り当てられる。いくつかの実施態様では、ユーザは特定のチームの好みを選び得るまたは示し得る。いくつかの実施態様では、バランスの取れたチームを提供するように、例えばスキルレベルまたは能力に基づいて、本システムによってユーザが特定のチームに割り当てられる。操作方法６０８において、チームキャプテンが各チームに指定される。いくつかの実施態様では、所定のチームのメンバーが投票してそのチームキャプテンを決定する。いくつかの実施態様では、本システムは１人のメンバーをチームキャプテンに割り当てる。いくつかの実施態様では、チームキャプテンの割り当ては、ユーザの要求に応じてまたは自動的のいずれかで、（例えば、ゲームプレイのラウンド間で）ローテーションできる。
【０１０８】
操作方法６１０において、チームキャプテンは、ビデオゲームにおける個々の仮想キャラクターまたはエンティティを制御するために利用可能な制御スロットへのチームメンバーの割り当てを制御する。すなわち、プレイヤーのチームごとに、制御が可能な仮想キャラクターの数が制限される。言い換えると、ユーザのチームごとに、ユーザが制御し得るビデオゲームにおける仮想キャラクターの「チーム」が存在する。所定のチームのチームキャプテンは、そのチームのどの特定のユーザが所定の仮想キャラクターを制御するかを決定できる。
【０１０９】
仮想キャラクターへのユーザの最初の割り当ての後、操作方法６１２において、チームゲームプレイが開始する。操作方法６１４において、ユーザの所定のチームのチームキャプテンは、仮想キャラクターの制御を第１のチームメンバーから第２のチームメンバーに切り替える要求を開始し得る。したがって、操作方法６１６において、仮想キャラクターの制御は、第１のチームメンバーから第２のチームメンバーに渡される。そうすることで、第１のチームメンバーからの入力が仮想キャラクターを制御しなくなる一方、ここで、第２のチームメンバーからの入力が仮想キャラクターを制御する。
【０１１０】
前述の実施態様は概してクラウドゲームを参照して説明してきたが、他の実施態様では、チームビデオゲームは、ユーザのローカルクライアントデバイスの少なくとも１つによってローカルで実行され得る。
【０１１１】
図７は、ＨＭＤ１３０２のユーザ１３００がクライアントシステム１３０６とインターフェースをとり、クライアントシステム１３０６が、第２のスクリーンディスプレイ（第２のスクリーン１３０７と称される）にコンテンツを提供する一例を示す。ＨＭＤ１３０２の代わりに、インタラクティブコンテンツをユーザ１３００にレンダリングすることが可能である任意の他のタイプの表示デバイス（例えば、テレビ、モニタ、ラップトップディスプレイ、モバイルデバイス、ディスプレイ等）を置き換え得ることが認識される。クライアントシステム１３０６は、ＨＭＤ１３０２から第２のスクリーン１３０７へのコンテンツの共有を処理するための統合型電子機器を含み得る。他の実施態様は、クライアントシステムと、ＨＭＤ１３０２及び第２のスクリーン１３０７のそれぞれとの間でインターフェースをとる別のデバイス、モジュール、コネクタを含み得る。この一般的な例では、ユーザ１３００はＨＭＤ１３０２を装着しており、インターフェースオブジェクト１３０４でもあり得るコントローラを使用してビデオゲームをプレイしている。ユーザ１３００によるインタラクティブプレイによって、ビデオゲームコンテンツ（ＶＧＣ）を作り出し、これはＨＭＤ１３０２に対してインタラクティブに表示される。
【０１１２】
一実施態様では、ＨＭＤ１３０２に表示されているコンテンツは、第２のスクリーン１３０７に共有される。一例では、第２のスクリーン１３０７を視聴している人が、ユーザ１３００によってＨＭＤ１３０２にインタラクティブに再生されているコンテンツを視聴できる。別の実施態様では、別のユーザ（例えば、プレイヤー２）がクライアントシステム１３０６とインタラクトして、第２のスクリーンコンテンツ（ＳＳＣ）を作り出すことができる。プレイヤーがコントローラ１３０４（またはいずれかのタイプのユーザインターフェース、ジェスチャ、声、もしくは入力）ともインタラクトすることによって作り出される第２のスクリーンコンテンツは、クライアントシステム１３０６にＳＳＣとして作り出され得、ＳＳＣは、ＨＭＤ１３０２から受信されるＶＧＣと一緒に第２のスクリーン１３０７に表示できる。
【０１１３】
したがって、ＨＭＤユーザと同じ場所に存在し得る、またはＨＭＤユーザから離れ得る他のユーザによるインタラクティビティは、ユーザ１３００と、ユーザ１３００によって再生されたコンテンツを第２のスクリーン１３０７上で視聴し得るユーザとの両方にとって、ソーシャルで、インタラクティブで、より没入感のあるものにできる。示されるように、クライアントシステム１３０６は、インターネット１３１０に接続できる。インターネットは、また、様々なコンテンツソース１３２０からのコンテンツへのアクセスをクライアントシステム１３０６に提供できる。コンテンツソース１３２０は、インターネットを通じてアクセス可能ないずれかのタイプのコンテンツを含み得る。
【０１１４】
係るコンテンツは、限定的ではなく、ビデオコンテンツ、映画コンテンツ、ストリーミングコンテンツ、ソーシャルメディアコンテンツ、ニュースコンテンツ、フレンドコンテンツ、広告コンテンツ等を含み得る。一実施態様では、クライアントシステム１３０６はＨＭＤユーザ向けのコンテンツを同時に処理するために使用でき、それにより、ＨＭＤがゲームプレイ中のインタラクティビティに関連付けられるマルチメディアコンテンツが提供される。そのとき、クライアントシステム１３０６は、また、ビデオゲームコンテンツと無関係であり得る他のコンテンツを第２のスクリーンに提供できる。一実施態様では、クライアントシステム１３０６は、コンテンツソース１３２０の１つから、またはローカルユーザもしくはリモートユーザから、第２のスクリーンコンテンツを受信できる。
【０１１５】
図８は、本開示の様々な実施態様による、ゲームシステム１６００のブロック図である。ゲームシステム１６００は、ネットワーク１６１５を介して１つ以上のクライアント１６１０にビデオストリームを提供するように構成される。ゲームシステム１６００は、通常、ビデオサーバシステム１６２０及びオプションのゲームサーバ１６２５を含む。ビデオサーバシステム１６２０は、最低限のサービス品質で、ビデオストリームを１つ以上のクライアント１６１０に提供するように構成される。例えば、ビデオサーバシステム１６２０は、ビデオゲームの状態またはビデオゲームの範囲内の視点を変更するゲームコマンドを受信し、この変更を反映する更新済ビデオストリームをクライアント１６１０に最小の遅延時間で提供し得る。ビデオサーバシステム１６２０は、まだ定義されていない形式を含む多様な代替のビデオ形式で、ビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多様なフレームレートでユーザに提示するように構成されるビデオフレームを含み得る。典型的なフレームレートは、毎秒３０フレーム、毎秒６０フレーム、及び毎秒１２０フレームである。しかし、本開示の代替の実施態様では、より高いまたはより低いフレームレートが含まれる。
【０１１６】
本明細書で個々に１６１０Ａ、１６１０Ｂ等と称されるクライアント１６１０は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲーム機、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス、及び／または同等物を含み得る。通常、クライアント１６１０は、符号化されたビデオストリームを受信し、ビデオストリームを復号し、結果として生じるビデオをユーザ（例えばゲームのプレイヤー）に提示するように構成される。符号化されたビデオストリームを受信する及び／またはビデオストリームを復号するプロセスは、通常、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント１６１０に一体化したディスプレイで、またはモニタもしくはテレビ等の別のデバイスでユーザに提示され得る。クライアント１６１０は、随意に、複数のゲームプレイヤーをサポートするように構成される。例えば、ゲーム機は、２人、３人、４人以上の同時プレイヤーをサポートするように構成され得る。これらのプレイヤーのそれぞれは別のビデオストリームを受信し得る、または単一のビデオストリームは、プレイヤーごとに特別に生成された（例えば、各プレイヤーの視点に基づいて生成された）フレームの領域を含み得る。クライアント１６１０は、随意に、地理的に分散される。ゲームシステム１６００に含まれるクライアントの数は、１つまたは２つから、数千、数万、またはそれ以上まで、幅広く変わり得る。本明細書で使用される用語「ゲームプレイヤー」はゲームをプレイする人を指すために使用され、用語「ゲームプレイデバイス」はゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施態様では、ゲームプレイデバイスは、ゲーム体験をユーザに与えるために協動する複数のコンピューティングデバイスを指し得る。例えば、ゲーム機及びＨＭＤは、ＨＭＤによって視聴したゲームを配信するために、ビデオサーバシステム１６２０と協動し得る。一実施態様では、ゲーム機はビデオストリームをビデオサーバシステム１６２０から受信し、ゲーム機は、レンダリングするために、ＨＭＤにビデオストリームまたはビデオストリームに対する更新を転送する。
【０１１７】
クライアント１６１０は、ネットワーク１６１５を介してビデオストリームを受信するように構成される。ネットワーク１６１５は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク、及び／または同等のネットワークを含む、いずれかのタイプの通信ネットワークであり得る。典型的な実施態様では、ビデオストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ等の標準プロトコルを介して通信する。代替として、ビデオストリームは特許規格によって通信する。
【０１１８】
クライアント１６１０の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号ロジック、ネットワーク通信能力、及び入力デバイスを備えるパーソナルコンピュータが挙げられる。復号化ロジックは、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含み得る。ビデオストリームを復号化（及び符号化）するためのシステムは、当技術分野において周知のものであり、使用される特定の符号化スキームに応じて変わる。
【０１１９】
さらに、クライアント１６１０は、必ずしも必要はないが、受信したビデオを修正するように構成されるシステムを含み得る。例えば、クライアントは、さらに、レンダリングを行い、１つのビデオ画像を別のビデオ画像上に重ね、ビデオ画像を切り取り、及び／または同等のことを行うように構成され得る。例えば、クライアント１６１０は、Ｉフレーム、Ｐフレーム、及びＢフレーム等の様々なタイプのビデオフレームを受信し、ユーザに表示するために、これらのフレームを画像に処理するように構成され得る。いくつかの実施態様では、クライアント１６１０のメンバーは、さらなるレンダリング、シェーディング、３Ｄへの変換、またはビデオストリームの同様の操作を行うように構成される。クライアント１６１０のメンバーは、随意に、複数の音声ストリームまたはビデオストリームを受信するように構成される。クライアント１６１０の入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び／もしくは位置感知デバイス、マウス、タッチスクリーン、ニューラルインターフェース、カメラ、開発中の入力デバイス、ならびに／または同等物を含み得る。
【０１２０】
クライアント１６１０によって受信されたビデオストリーム（随意に、音声ストリームも）は、ビデオサーバシステム１６２０によって生成及び提供される。本明細書の別の箇所でさらに説明されるように、このビデオストリームはビデオフレームを含む（音声ストリームは音声フレームを含む）。ビデオフレームは、ユーザに表示される画像に有意義に寄与するように構成される（例えば、ビデオフレームは適切なデータ構造の画素情報を含む）。本明細書で使用される用語「ビデオフレーム」は、ユーザに示される画像に寄与する（例えば影響を及ぼす）ように構成される情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、「音声フレーム」にも適用できる。
【０１２１】
クライアント１６１０は、通常、ユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更する、またはそうでなければ、ゲームプレイに影響を及ぼすように構成されるゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを使用して受信できる及び／またはクライアント１６１０で実行する命令をコンピュータで処理することによって自動的に生成され得る。受信したゲームコマンドは、クライアント１６１０からネットワーク１６１５を介して、ビデオサーバシステム１６２０及び／またはゲームサーバ１６２５に伝達される。例えば、いくつかの実施態様では、ゲームコマンドはビデオサーバシステム１６２０を介してゲームサーバ１６２５に伝達される。いくつかの実施態様では、ゲームコマンドの別のコピーは、クライアント１６１０からゲームサーバ１６２５及びビデオサーバシステム１６２０に伝達される。ゲームコマンドの通信は、随意に、コマンドの識別情報に依存する。ゲームコマンドは、随意に、クライアント１６１０Ａに音声ストリームまたはビデオストリームを提供するために使用される異なるルートまたは通信チャネルを経由して、クライアント１６１０Ａから伝達される。
【０１２２】
ゲームサーバ１６２５は、随意に、ビデオサーバシステム１６２０と異なるエンティティによって動作する。例えば、ゲームサーバ１６２５は、マルチプレイヤーゲームの発行者により動作し得る。この例では、ビデオサーバシステム１６２０は、随意に、ゲームサーバ１６２５によってクライアントとして視認され、随意に、ゲームサーバ１６２５の視点から、従来技術のゲームエンジンを実行する従来技術のクライアントに見えるように構成される。ビデオサーバシステム１６２０とゲームサーバ１６２５との間の通信は、随意に、ネットワーク１６１５を介して行われる。したがって、ゲームサーバ１６２５は複数のクライアントにゲーム状態情報を送信する従来技術のマルチプレイヤーゲームサーバであり得、複数のクライアントの１つはビデオサーバシステム１６２０である。ビデオサーバシステム１６２０は、同時にゲームサーバ１６２５の複数のインスタンスと通信するように構成され得る。例えば、ビデオサーバシステム１６２０は、複数の異なるビデオゲームを異なるユーザに提供するように構成され得る。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ１６２５によってサポートされ得る及び／または異なるエンティティによって発行され得る。いくつかの実施態様では、ビデオサーバシステム１６２０のいくつかの地理的に分散したインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム１６２０のこれらのインスタンスのそれぞれは、ゲームサーバ１６２５の同じインスタンスと通信し得る。ビデオサーバシステム１６２０と１つ以上のゲームサーバ１６２５との間の通信は、随意に、専用通信チャネルを介して行われる。例えば、ビデオサーバシステム１６２０は、ゲームサーバ１６２５に、これらの２つのシステム間の通信専用の高帯域幅チャネルを介して接続され得る。
【０１２３】
ビデオサーバシステム１６２０は、少なくとも、ビデオソース１６３０、Ｉ／Ｏデバイス１６４５、プロセッサ１６５０、及び非一時的なストレージ１６５５を備える。ビデオサーバシステム１６２０は、１つのコンピューティングデバイスを含み得る、または複数のコンピューティングデバイス間で分散され得る。これらのコンピューティングデバイスは、随意に、ローカルエリアネットワーク等の通信システムを介して接続される。
【０１２４】
ビデオソース１６３０は、ビデオストリーム（例えば、ストリーミングビデオまたは動画を形成する一連のビデオフレーム）を提供するように構成される。いくつかの実施態様では、ビデオソース１６３０はビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、プレイヤーからゲームコマンドを受信し、受信したコマンドに基づいてビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境におけるオブジェクトの位置と、通常、視点とを含む。ゲーム状態は、また、オブジェクトの特性、画像、色、及び／またはテクスチャを含み得る。ゲーム状態は、通常、ゲームルール、ならびに移動、方向転換、攻撃、焦点の設定、インタラクション、使用及び／または同等のことのゲームコマンドに基づいて維持される。ゲームエンジンの一部は、随意に、ゲームサーバ１６２５内に配置される。ゲームサーバ１６２５は、地理的分散クライアントを使用して複数のプレイヤーから受信されたゲームコマンドに基づいて、ゲームの状態のコピーを保持し得る。これらの場合では、ゲーム状態はゲームサーバ１６２５によりビデオソース１６３０に提供され、ゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ１６２５は、ネットワーク１６１５を介してクライアント１６１０から直接ゲームコマンドを受信し得る、及び／またはビデオサーバシステム１６２０を介してゲームコマンドを受信し得る。
【０１２５】
ビデオソース１６３０は、通常、レンダリングロジック（例えば、ストレージ１６５５等のハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されるソフトウェア）を含む。このレンダリングロジックは、ゲーム状態に基づいて、ビデオストリームのビデオフレームを作成するように構成される。レンダリングロジックの全てまたは一部は、随意に、グラフィック処理ユニット（ＧＰＵ）内に配置される。レンダリングロジックは、通常、ゲーム状態及び視点に基づいて、オブジェクト間の３次元空間的関係を決定するように、及び／または適切なテクスチャ等を適用するように構成される処理段階を含む。レンダリングロジックは未加工ビデオを作り出し、次に、未加工ビデオは、通常、クライアント１６１０に伝達される前に符号化される。例えば、未加工ビデオ（音声を含み得るもの）は、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）規格、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ‐１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ‐ｘ．Ｘｖｉｄ．ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、ｒｅａｌｖｉｄｅｏ、ｍｐ４、ｍｐ３等に従って、符号化され得る。符号化プロセスは、リモートデバイス上のデコーダに配信するために随意にパッケージ化されるビデオストリームを作り出す。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。典型的なフレームサイズは、８００×６００、１２８０×７２０（例えば、７２０ｐ）、１０２４×７６８を含むが、任意の他のフレームサイズが使用され得る。フレームレートは、１秒あたりのビデオフレームの数である。ビデオストリームは、様々なタイプのビデオフレームを含み得る。例えば、Ｈ．２６４規格は、「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉフレームは表示デバイスの全てのマクロブロック／画素をリフレッシュする情報を含む一方、Ｐフレームはそのサブセットをリフレッシュする情報を含む。Ｐフレームは、通常、Ｉフレームよりもデータサイズが小さい。本明細書で使用される用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するのに必要なバイト数を指すために使用される。
【０１２６】
代替の実施態様では、ビデオソース１６３０は、カメラ等のビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含まれ得る遅延ビデオまたはライブビデオを生成するために使用され得る。結果として生じるビデオストリームは、随意に、レンダリング画像と、静止カメラまたはビデオカメラを使用して記録された画像との両方を含む。ビデオソース１６３０は、また、ビデオストリームに含まれる事前に記録したビデオを記憶するように構成されるストレージデバイスを含み得る。ビデオソース１６３０は、また、オブジェクト（例えば、人）の動きまたは位置を検出するように構成される動きまたは位置感知デバイスと、ゲーム状態を決定するようにまたは検出された動き及び／または位置に基づくビデオを作り出すように構成されるロジックとを含み得る。
【０１２７】
ビデオソース１６３０は、随意に、他のビデオにセットされるように構成されるオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインターフェース、命令のログ、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード（例えば、ウェブ画像ビデオ）を含み得る。タッチスクリーンインターフェースまたは視線検出インターフェースを含むクライアント１６１０Ａの実施態様では、オーバーレイは仮想キーボード、ジョイスティック、タッチパッド、及び／または同等物を含み得る。オーバーレイの一例では、プレイヤーの声が音声ストリームにオーバーレイされる。随意に、ビデオソース１６３０は、さらに、１つ以上のオーディオソースを含む。
【０１２８】
ビデオサーバシステム１６２０が複数のプレイヤーからの入力に基づいてゲーム状態を維持するように構成される実施態様では、各プレイヤーは視界の位置及び方向を含む異なる視点を有し得る。ビデオソース１６３０は、随意に、プレイヤーの視点に基づいて、プレイヤーごとに別のビデオストリームを提供するように構成される。さらに、ビデオソース１６３０は、クライアント１６１０のそれぞれに、異なるフレームサイズ、フレームデータサイズ、及び／または符号化を提供するように構成され得る。ビデオソース１６３０は、随意に、３Ｄビデオを提供するように構成される。
【０１２９】
Ｉ／Ｏデバイス１６４５は、ビデオサーバシステム１６２０が、ビデオ、コマンド、情報に関する要求、ゲーム状態、視線情報、デバイスの動き、デバイスの場所、ユーザ運動、クライアント識別情報、プレイヤー識別情報、ゲームコマンド、セキュリティ情報、音声、及び／または同等物等の情報を送信及び／または受信するように構成される。Ｉ／Ｏデバイス１６４５は、通常、ネットワークカードまたはモデム等の通信ハードウェアを含む。Ｉ／Ｏデバイス１６４５は、ゲームサーバ１６２５、ネットワーク１６１５、及び／またはクライアント１６１０と通信するように構成される。
【０１３０】
プロセッサ１６５０は、本明細書で説明されるビデオサーバシステム１６２０の様々なコンポーネント内に含まれるロジック（例えば、ソフトウェア）を実行するように構成される。例えば、プロセッサ１６５０は、ビデオソース１６３０、ゲームサーバ１６２５、及び／またはクライアントクオリファイア１６６０の機能を行うために、ソフトウェア命令でプログラムされ得る。ビデオサーバシステム１６２０は、随意に、プロセッサ１６５０の複数のインスタンスを含む。プロセッサ１６５０は、また、ビデオサーバシステム１６２０によって受信されたコマンドを実行するために、または本明細書で説明されるゲームシステム１６００の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされ得る。プロセッサ１６５０は１つ以上のハードウェアデバイスを含み得る。プロセッサ１６５０は電子プロセッサである。
【０１３１】
ストレージ１６５５は、非一時的なアナログストレージデバイス及び／またはデジタルストレージデバイスを含む。例えば、ストレージ１６５５は、ビデオフレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ１６５５は、コンピュータ可読デジタルストレージ（例えば、ハードドライブ、光学式ドライブ、またはソリッドステートストレージ）を含み得る。記憶装置１６１５は、ビデオフレーム、アーティフィシャルフレーム、ビデオフレーム及びアーティフィシャルフレームの両方を含むビデオストリーム、音声フレーム、音声ストリーム、及び／または同等物を記憶するように（例えば、適切なデータ構造またはファイルシステムによって）構成される。ストレージ１６５５は、随意に、複数のデバイス間で分散される。いくつかの実施態様では、ストレージ１６５５は、本明細書の他の箇所で説明されるビデオソース１６３０のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要に応じて、プロビジョニングできるように準備された形式で記憶され得る。
【０１３２】
随意に、ビデオサーバシステム１６２０は、さらに、クライアントクオリファイア１６６０を含む。クライアントクオリファイア１６６０は、クライアント１６１０Ａまたは１６１０Ｂ等のクライアントの能力をリモートで決定するように構成される。これらの能力には、クライアント１６１０Ａ自体の能力と、クライアント１６１０Ａとビデオサーバシステム１６２０との間の１つ以上の通信チャネルの能力との両方を含み得る。例えば、クライアントクオリファイア１６６０は、ネットワーク１６１５を経由して、通信チャネルをテストするように構成され得る。
【０１３３】
クライアントクオリファイア１６６０は、手動または自動で、クライアント１６１０Ａの能力を決定（例えば、知る）ことができる。手動決定は、クライアント１６１０Ａのユーザと通信することと、ユーザに能力を提供するように求めることとを含む。例えば、いくつかの実施態様では、クライアントクオリファイア１６６０は、クライアント１６１０Ａのブラウザ内に画像、テキスト、及び／または同等物を表示するように構成される。一実施態様では、クライアント１６１０Ａはブラウザを含むＨＭＤである。別の実施態様では、クライアント１６１０Ａはブラウザを有するゲーム機であり、ブラウザはＨＭＤに表示され得る。表示されたオブジェクトは、ユーザがクライアント１６１０Ａのオペレーティングシステム、プロセッサ、ビデオデコーダのタイプ、ネットワーク接続のタイプ、表示解像度等の情報を入力することを要求する。ユーザによって入力された情報は、クライアントクオリファイア１６６０に返信される。
【０１３４】
自動決定は、例えば、クライアント１６１０Ａでエージェントを実行することによって及び／またはテストビデオをクライアント１６１０Ａに送信することによって行われ得る。エージェントは、ウェブページに埋め込まれた、またはアドオンとしてインストールされたジャバスクリプト等のコンピューティング命令を含み得る。エージェントは、随意に、クライアントクオリファイア１６６０によって提供される。様々な実施態様では、エージェントは、クライアント１６１０Ａの処理能力、クライアント１６１０Ａの復号能力及び表示能力、クライアント１６１０Ａとビデオサーバシステム１６２０との間の通信チャネルの遅延時間の信頼性及び帯域幅、クライアント１６１０Ａのディスプレイタイプ、クライアント１６１０Ａに存在するファイアウォール、クライアント１６１０Ａのハードウェア、クライアント１６１０Ａで実行するソフトウェア、クライアント１６１０Ａ内のレジストリエントリ、及び／または同等物を見つけることができる。
【０１３５】
クライアントクオリファイア１６６０は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア１６６０は、随意に、ビデオサーバシステム１６２０の１つ以上の他の要素から分離しているコンピューティングデバイスに配置される。例えば、いくつかの実施態様では、クライアントクオリファイア１６６０は、クライアント１６１０とビデオサーバシステム１６２０の複数のインスタンスとの間の通信チャネルの特徴を決定するように構成される。これらの実施態様では、クライアントクオリファイアが知った情報を使用して、ビデオサーバシステム１６２０のどのインスタンスが、クライアント１６１０のうちの１つへのストリーミングビデオの配信に最も適しているかを決定できる。
【０１３６】
本開示の実施態様は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含む、様々なコンピュータシステム構成によって実践できる。また、本開示は、有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによってタスクを行う分散コンピューティング環境において実践できる。
【０１３７】
上記の実施態様を考慮して、本開示は、コンピュータシステムに記憶されたデータを含む様々なコンピュータ実行動作を使用できることを理解されたい。これらの動作は、物理量の物理的処置を必要とする動作である。本開示の一部を形成する本明細書で説明される動作のいずれかは有用なマシン動作である。本開示は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は必要な目的のために特別に構築され得る、または本装置はコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブになるまたは構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンは本明細書の教示に従って書き込まれたコンピュータプログラムによって使用できる、または、様々な汎用マシンは必要な動作を行うためにさらに特殊な装置を構築するほうがより便利になり得る。
【０１３８】
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして具体化できる。コンピュータ可読媒体はデータを記憶でき、その後、コンピュータシステムによってそのデータを読み取ることができる任意のデータストレージデバイスである。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学式データストレージデバイス及び非光学式データストレージデバイスを含む。コンピュータ可読媒体はネットワーク連結コンピュータシステムを通じて分散されるコンピュータ可読有形媒体を含み得、これにより、コンピュータ可読コードは分散方式で記憶及び実行される。
【０１３９】
操作方法が特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は操作間に行われ得る、または動作はわずかに異なる時間で発生するように調節され得るもしくは動作は処理に関連付けられる様々な間隔における処理動作の発生を可能にするシステムで分散され得ることを理解されたい。
【０１４０】
前述の開示は理解を明確にする目的のためにある程度詳細に説明されてきたが、添付の「特許請求の範囲」の範囲内で、特定の変更及び修正を実践できることは明らかである。したがって、本実施態様は限定的ではなく例示的であると見なされるべきであり、本開示は本明細書で与えられた詳細に限定されないが、本開示の範囲及び均等物の範囲内で修正され得る。
【図１】
2021526408.tif 000003
【図２】
2021526408.tif 000004
【図３】
2021526408.tif 000005
【図４Ａ】
2021526408.tif 000006
【図４Ｂ】
2021526408.tif 000007
【図５】
2021526408.tif 000008
【図６】
2021526408.tif 000009
【図７】
2021526408.tif 000010
【図８】
2021526408.tif 000011
【国際調査報告】
2021526408.tif 000012
2021526408.tif 000013
2021526408.tif 000014
2021526408.tif 000015
2021526408.tif 000016