(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-27
(45)【発行日】2023-02-06
(54)【発明の名称】ビデオゲームにおける共有制御と受け渡し制御の分岐
(51)【国際特許分類】
A63F 13/847 20140101AFI20230130BHJP
A63F 13/42 20140101ALI20230130BHJP
A63F 13/86 20140101ALI20230130BHJP
A63F 13/352 20140101ALI20230130BHJP
A63F 13/355 20140101ALI20230130BHJP
H04L 67/00 20220101ALI20230130BHJP
【FI】
A63F13/847
A63F13/42
A63F13/86
A63F13/352
A63F13/355
H04L67/00
(21)【出願番号】P 2020566897
(86)(22)【出願日】2019-05-09
(86)【国際出願番号】 US2019031398
(87)【国際公開番号】W WO2019231628
(87)【国際公開日】2019-12-05
【審査請求日】2021-02-01
(32)【優先日】2018-05-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ベルトラン、ジャスティン
(72)【発明者】
【氏名】バトラー、ディラン
(72)【発明者】
【氏名】ヤジェンプスキ、アレクサンダー
【審査官】宮本 昭彦
(56)【参考文献】
【文献】米国特許出願公開第2016/0287988(US,A1)
【文献】特開2012-120784(JP,A)
【文献】特開2018-050662(JP,A)
【文献】米国特許出願公開第2016/0375363(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
クラウドゲームコンピュータによってビデオゲームを実行することと、
前記実行中のビデオゲームから生成されたビデオを、ネットワークを通じて、第1のクライアントデバイスにストリーミングすることと、
前記ネットワークを通じて、前記第1のクライアントデバイスから1つ以上の第2のクライアントデバイスに前記ビデオをストリーミングすることと、
前記ネットワークを通じて入力アグリゲーションサーバによって、前記第2のクライアントデバイスから入力データを受信することと、
前記ネットワークを通じて前記入力アグリゲーションサーバによって、前記第2のクライアントデバイスから前記第1のクライアントデバイスに前記入力データを送信することと、
前記第2のクライアントデバイスからの前記入力データを前記第1のクライアントデバイスで生成された入力データと組み合わせることによって前記第1のクライアントデバイスが生成した入力データの組み合わせを、前記ネットワークを通じて前記クラウドゲームコンピュータによって受信することと、
前記クラウドゲームコンピュータによって、前記入力データの組み合わせを適用して、前記ビデオゲームの前記実行を推進することと、
を含む、方法。
【請求項2】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項1に記載の方法。
【請求項3】
前記入力データの組み合わせは、前記第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する、請求項1に記載の方法。
【請求項4】
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、前記単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、
前記第1のコマンドは、前記単一の制御デバイスにおける前記第1の入力デバイスのアクティベーションから開始し、
前記第2のコマンドは、前記第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項3に記載の方法。
【請求項5】
前記第2の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第2のコマンドは、前記入力アグリゲーションサーバを経由して、前記第2のクライアントデバイスによって前記単一の制御デバイスの前記第2の入力デバイスのリモート仮想トリガーを定義する、請求項4に記載の方法。
【請求項6】
前記第1のクライアントデバイスから前記1つ以上の第2のクライアントデバイスに前記ビデオをストリーミングすることは、前記第1のクライアントデバイス及び前記1つ以上の第2のクライアントデバイスを含むピアツーピアネットワークを通じて行われる、請求項1に記載の方法。
【請求項7】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項1に記載の方法。
【請求項8】
クラウドゲームコンピュータによってビデオゲームを実行することと、
ネットワークを通じてビデオサーバによって、前記実行中のビデオゲームから生成されたビデオを第1のクライアントデバイス及び1つ以上の第2のクライアントデバイスにストリーミングすることと、
前記ネットワークを通じて入力アグリゲーションサーバによって、前記第1のクライアントデバイスからの入力データ及び前記第2のクライアントデバイスからの入力データを受信することと、
前記入力アグリゲーションサーバによって、前記第1のクライアントデバイスからの前記入力データ及び前記第2のクライアントデバイスからの前記入力データを使用して入力データの組み合わせを生成することと、
前記入力アグリゲーションサーバによって、前記入力データの組み合わせを前記クラウドゲームコンピュータに送信することと、
前記クラウドゲームコンピュータによって、前記入力データの組み合わせを適用して、前記ビデオゲームの前記実行を推進することと、
を含み、
前記入力データの組み合わせは、前記第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義し、
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、前記単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、
前記第2の
入力デバイスは
、前記第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイ
スによって
共有され
るものであり、
前記第2の入力デバイスは、
前記第2の制御デバイスによって共有されている場合、前記第2の制御デバイスによって前記第2のコマンドが制御されている
とき、
前記第2のコマンドを制御せず、前記第2の制御デバイスによって前記第2のコマンドが制御されていないとき、前記第2のコマンドを制御可能である、
方法。
【請求項9】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項8に記載の方法。
【請求項10】
前記第1のコマンドは、前記単一の制御デバイスにおける前記第1の入力デバイスのアクティベーションから開始し、
前記第2のコマンドは、前記第2の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項8に記載の方法。
【請求項11】
前記第2の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第2のコマンドは、前記入力アグリゲーションサーバを経由して、前記第2のクライアントデバイスによって前記単一の制御デバイスの前記第2の入力デバイスのリモート仮想トリガーを定義する、請求項10に記載の方法。
【請求項12】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項8に記載の方法。
【請求項13】
ビデオゲームを実行するように構成されるクラウドゲームコンピュータであって、前記実行中のビデオゲームから生成されたビデオはネットワークを通じて第1のクライアントデバイスにストリーミングされる、前記クラウドゲームコンピュータと、
前記ネットワークを通じて、1つ以上の第2のクライアントデバイスから入力データを受信するように構成される入力アグリゲーションサーバであって、前記入力アグリゲーションサーバはさらに前記ネットワークを通じて前記第2のクライアントデバイスから前記第1のクライアントデバイスに前記入力データを送信するように構成されている、前記入力アグリゲーションサーバと、を備え、
前記第1のクライアントデバイスは、前記ネットワークを通じて前記第1のクライアントデバイスから前記第2のクライアントデバイスに前記ビデオをストリーミングするように構成され、前記第2のクライアントデバイスからの前記入力データを前記第1のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成されており、
前記クラウドゲームコンピュータは前記ネットワークを通じて前記第1のクライアントデバイスから前記入力データの組み合わせを受信するように構成され、前記クラウドゲームコンピュータはさらに前記入力データの組み合わせを適用して前記ビデオゲームの前記実行を推進するように構成される、システム。
【請求項14】
前記入力データの組み合わせは、前記ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する、請求項13に記載のシステム。
【請求項15】
前記入力データの組み合わせは、前記第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する、請求項13に記載のシステム。
【請求項16】
前記入力データの組み合わせによって定義された前記コマンドは、前記単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、前記単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、
前記第1のコマンドは、前記単一の制御デバイスにおける前記第1の入力デバイスのアクティベーションから開始し、
前記第2のコマンドは、前記第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイスにおける入力デバイスのアクティベーションから開始する、請求項15に記載のシステム。
【請求項17】
前記第2の制御デバイスにおける前記入力デバイスのアクティベーションから開始する前記第2のコマンドは、前記入力アグリゲーションサーバを経由して、前記第2のクライアントデバイスによって前記単一の制御デバイスの前記第2の入力デバイスのリモート仮想トリガーを定義する、請求項16に記載のシステム。
【請求項18】
前記第1のクライアントデバイスから前記1つ以上の第2のクライアントデバイスに前記ビデオをストリーミングすることは、前記第1のクライアントデバイス及び前記1つ以上の第2のクライアントデバイスを含むピアツーピアネットワークを通じて行われる、請求項13に記載のシステム。
【請求項19】
前記実行中のビデオゲームから生成された前記ビデオは仮想環境のビューを定義する、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関する。
【背景技術】
【0002】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピューティング能力の増大に伴い、ビデオゲームの開発者もまた、この向上したコンピューティング能力を利用するゲームソフトウェアを開発してきた。そのために、ビデオゲーム開発者は、高度な演算及び数学的手法を取り入れたゲームをコーディングして、非常に精緻で魅力のあるゲーム体験を生み出している。
【0003】
ゲームプラットフォームの例は、Sony PlayStation(登録商標)、Sony PlayStation2(登録商標)(PS2)、Sony PlayStation3(登録商標)(PS3)、及びSony PlayStation4(登録商標)(PS4)を含み、それぞれ、ゲーム機の形態で販売されている。周知のように、ゲーム機は、ディスプレイ(一般的には、テレビ)に接続し、ハンドヘルドコントローラによって、ユーザとのインタラクションを可能にするように設計されている。ゲーム機は、CPU、集約的なグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を行うためのベクトルユニット、ならびに他のグルーハードウェア、ファームウェア、及びソフトウェアを含む、専用処理ハードウェアが設けられるように設計されている。さらに、ゲーム機によってローカルでプレイするために、ゲーム機は、ゲームディスクを受けるために、光ディスクリーダが設けられるように設計されている。オンラインゲームも可能であり、ユーザはインターネットを通じて他のユーザとインタラクティブに対戦または試合ができる。ゲームの複雑さがプレイヤーを魅了し続けるため、ゲームメーカ及びハードウェアメーカは、さらなるインタラクティビティ及びコンピュータプログラムを可能にするための技術革新を続けている。
【0004】
コンピュータゲーム業界では、ユーザとゲームシステムとの間のインタラクションを増加させるゲームを開発する傾向が高まっている。インタラクティブな体験をより豊かにする実現法の1つは、プレイヤーの動きを追跡し、その動きをゲームの入力として使用するために、ゲームシステムによって動きが追跡される無線式のゲームコントローラを使用することである。一般的に言えば、ジェスチャ入力は、コンピューティングシステム、ビデオゲーム機、スマート家電等の電子デバイスを、プレイヤーによって行われ、その電子デバイスによって取り込まれた何らかのジェスチャに応答させることをいう。
【0005】
インタラクティブな体験をより没入できるものにする別の1つの実現法は、ヘッドマウントディスプレイ(HMD)を使用することである。ヘッドマウントディスプレイは、ユーザによって装着され、仮想空間のビュー等の様々なグラフィックを提示するように構成され得る。ヘッドマウントディスプレイに提示されるグラフィックは、ユーザの視野の大部分またはさらに全体を覆うことができる。したがって、ヘッドマウントディスプレイはユーザの動きに応答するように仮想環境の3次元リアルタイムビューをレンダリングするので、HMDは視覚的に没入感のある仮想現実体験をユーザに提供できる。HMDを装着しているユーザは全方向に自由に移動でき、ひいては、HMDによって全方向の仮想環境のビューをユーザに提供できる。
【0006】
このような状況において、本開示の実施態様が生じる。
【発明の概要】
【0007】
本開示の実施態様は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関するデバイス、方法、及びシステムを含む。
【0008】
いくつかの実施態様では、提供される方法は以下の操作方法を含み、すなわち、クラウドゲームコンピュータによってビデオゲームを実行することと、実行中のビデオゲームから生成されたビデオを、ネットワークを通じて、第1のクライアントデバイスにストリーミングすることと、ネットワークを通じて、第1のクライアントデバイスから1つ以上の第2のクライアントデバイスにビデオをストリーミングすることと、ネットワークを通じて入力アグリゲーションサーバによって、第2のクライアントデバイスから入力データを受信することと、ネットワークを通じて入力アグリゲーションサーバによって、第2のクライアントデバイスから第1のクライアントデバイスに入力データを送信することであって、第1のクライアントデバイスは、第2のクライアントデバイスからの入力データを第1のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、送信することと、ネットワークを通じてクラウドゲームコンピュータによって、入力データの組み合わせを受信することと、クラウドゲームコンピュータによって、入力データの組み合わせを適用して、ビデオゲームの実行を推進することと、を含む。
【0009】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【0010】
いくつかの実施態様では、入力データの組み合わせは、第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【0011】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、第1のコマンドは単一の制御デバイスにおける第1の入力デバイスのアクティベーションから開始し、第2のコマンドは第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【0012】
いくつかの実施態様では、第2の制御デバイスにおける入力デバイスのアクティベーションから開始する第2のコマンドは、入力アグリゲーションサーバを経由して、第2のクライアントデバイスによって単一の制御デバイスの第2の入力デバイスのリモート仮想トリガーを定義する。
【0013】
いくつかの実施態様では、第1のクライアントデバイスから1つ以上の第2のクライアントデバイスにビデオをストリーミングすることは、第1のクライアントデバイス及び1つ以上の第2のクライアントデバイスを含むピアツーピアネットワークを通じて行われる。
【0014】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【0015】
いくつかの実施態様では、提供される方法は以下の操作方法を含み、すなわち、クラウドゲームコンピュータによってビデオゲームを実行することと、ネットワークを通じてビデオサーバによって、実行中のビデオゲームから生成されたビデオを第1のクライアントデバイス及び1つ以上の第2のクライアントデバイスにストリーミングすることと、ネットワークを通じて入力アグリゲーションサーバによって、第1のクライアントデバイスからの入力データ及び第2のクライアントデバイスからの入力データを受信することと、入力アグリゲーションサーバによって、第1のクライアントデバイスからの入力データ及び第2のクライアントデバイスからの入力データを使用して入力データの組み合わせを生成することと、入力アグリゲーションサーバによって、入力データの組み合わせをクラウドゲームコンピュータに送信することと、クラウドゲームコンピュータによって、入力データの組み合わせを適用して、ビデオゲームの実行を推進することと、を含む。
【0016】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【0017】
いくつかの実施態様では、入力データの組み合わせは、第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【0018】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、第1のコマンドは単一の制御デバイスにおける第1の入力デバイスのアクティベーションから開始し、第2のコマンドは第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【0019】
いくつかの実施態様では、第2の制御デバイスにおける入力デバイスのアクティベーションから開始する第2のコマンドは、入力アグリゲーションサーバを経由して、第2のクライアントデバイスによって単一の制御デバイスの第2の入力デバイスのリモート仮想トリガーを定義する。
【0020】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【0021】
いくつかの実施態様では、提供されるシステムは、ビデオゲームを実行するように構成されるクラウドゲームコンピュータであって、実行中のビデオゲームから生成されたビデオはネットワークを通じて第1のクライアントデバイスにストリーミングされ、第1のクライアントデバイスはネットワークを通じて第1のクライアントデバイスから1つ以上の第2のクライアントデバイスにストリーミングするように構成される、クラウドゲームコンピュータと、ネットワークを通じて、第2のクライアントデバイスから入力データを受信するように構成される入力アグリゲーションサーバであって、入力アグリゲーションサーバはさらにネットワークを通じて第2のクライアントデバイスから第1のクライアントデバイスに入力データを送信するように構成され、第1のクライアントデバイスは、第2のクライアントデバイスからの入力データを第1のクライアントデバイスで生成された入力データと組み合わせることによって、入力データの組み合わせを生成するように構成される、入力アグリゲーションサーバとを含み、クラウドゲームコンピュータはネットワークを通じて第1のクライアントデバイスから、入力データの組み合わせを受信するように構成され、クラウドゲームコンピュータは、さらに、入力データの組み合わせを適用して、ビデオゲームの実行を推進するように構成される。
【0022】
いくつかの実施態様では、入力データの組み合わせは、ビデオゲームにおけるシングルプレイヤーのアクティビティを制御するための単一の入力ストリームを定義する。
【0023】
いくつかの実施態様では、入力データの組み合わせは、第1のクライアントデバイスに動作可能に接続される単一の制御デバイスにマッピングされるコマンドを定義する。
【0024】
いくつかの実施態様では、入力データの組み合わせによって定義されたコマンドは、単一の制御デバイスの第1の入力デバイスにマッピングされる第1のコマンドと、単一の制御デバイスの第2の入力デバイスにマッピングされる第2のコマンドとを含み、第1のコマンドは単一の制御デバイスにおける第1の入力デバイスのアクティベーションから開始し、第2のコマンドは第2のクライアントデバイスの1つに動作可能に接続される第2の制御デバイスにおける入力デバイスのアクティベーションから開始する。
【0025】
いくつかの実施態様では、第2の制御デバイスにおける入力デバイスのアクティベーションから開始する第2のコマンドは、入力アグリゲーションサーバを経由して、第2のクライアントデバイスによって単一の制御デバイスの第2の入力デバイスのリモート仮想トリガーを定義する。
【0026】
いくつかの実施態様では、第1のクライアントデバイスから1つ以上の第2のクライアントデバイスにビデオをストリーミングすることは、第1のクライアントデバイス及び1つ以上の第2のクライアントデバイスを含むピアツーピアネットワークを通じて行われる。
【0027】
いくつかの実施態様では、実行中のビデオゲームから生成されたビデオは仮想環境のビューを定義する。
【0028】
本開示の他の態様及び利点は、添付の図面と併せて解釈される、本開示の原理を例として示す以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0029】
本開示は、添付の図面と併せて以下の説明を参照することによって良好に理解され得る。
【0030】
【
図1】本開示の実施態様による、複数のユーザ間でのシングルプレイヤーのセッションの制御の分岐を概念的に示す。
【0031】
【
図2】本開示の実施態様による、ユーザのグループ間でビデオゲームのエンティティの制御を渡すことを概念的に示す。
【0032】
【
図3】本開示の実施態様による、ビデオゲームにおける様々な仮想キャラクターを制御するユーザのチームを概念的に示す。
【0033】
【
図4A】本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。
【0034】
【
図4B】本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。
【0035】
【
図5】本開示の実施態様による、ビデオゲームの分割コントローラゲームプレイを行うための方法を示す。
【0036】
【
図6】本開示の実施態様による、チームビデオゲームの方法を示し、チームメンバーは、ビデオゲームにおける所定の仮想キャラクター/エンティティを制御するために互いに置き換えられ得る。
【0037】
【
図7】一実施態様による、HMDユーザがクライアントシステムとインターフェースをとり、クライアントシステムが第2のスクリーンディスプレイ(第2のスクリーンと称される)にコンテンツを提供する一例を示す。
【0038】
【
図8】本開示の様々な実施態様による、ゲームシステム1600のブロック図である。
【発明を実施するための形態】
【0039】
本開示の以下の実施態様は、ビデオゲーム等のインタラクティブアプリケーションにおける共有制御及び受け渡し制御の分岐に関するデバイス、方法、及びシステムを提供する。しかしながら、本開示は、現在説明されている具体的詳細の一部または全部を用いることなく、実践され得ることは、当業者には明らかである。他の例では、周知のプロセス動作は、本開示を不必要に不明瞭にしないために、詳細に説明されていない。
【0040】
大まかに言えば、本開示の実施態様は、ビデオゲームのエンティティ及びキャラクターの共有制御を通じて共同ゲームを促進する様々な方法及びシステムを提供する。例えば、いくつかの実施態様では、シングルプレイヤーのセッションの制御は、2人以上のリモートユーザ間で分岐される。例として、あるユーザがキャラクターの所定のアクションを制御し得る一方で、別のユーザは同じキャラクターの異なるアクションを制御する。これらのアクションは、単一の第1の制御デバイスの様々な入力デバイスにマッピングされ得ることが認識される。ひいては、入力デバイスの制御はユーザ間で分割される。ユーザは互いに離れているため、ユーザの入力を集約して、次に、シングルプレイヤーのセッションの単一の入力ストリームとして適用できる。
【0041】
別の実施態様では、キャラクターまたは他のビデオゲームのエンティティの制御を、あるユーザから別のユーザに渡すことができる。いくつかの実施態様では、多くのユーザが存在し、制御はラウンドロビン方式で渡される。このように、ユーザのチームの各メンバーは、キャラクターまたはビデオゲームのエンティティを制御する順番が与えられる。
【0042】
概念を広げると、別の実施態様では、ユーザのチームがビデオゲームの限定された数のキャラクターを制御できる。すなわち、ビデオゲームで制御が可能である一定数のキャラクターが存在し、チームにはより多くのユーザが存在する。いつでも、チームの異なるユーザを割り当てて、異なるユーザのキャラクターを制御できる。例えば、チームキャプテンは、ビデオゲームの所定のキャラクターに関して、あるユーザを別のユーザに置き換え得る。
【0043】
説明を容易にするために、本開示の全体を通して、ビデオゲームにおける所定のキャラクターの制御について言及する。しかしながら、現在説明されている概念は、ビデオゲームのキャラクターだけではなく、ビデオゲームの所定のユーザによって制御可能であるいずれかのエンティティに適用されることが当業者によって認識される。したがって、用語「キャラクター」は、所定のユーザによって制御可能であるビデオゲームのいずれか他のエンティティと交換可能に使用できる。より具体的には、キャラクターまたはエンティティは、従来、シングルユーザによって制御されるものである。
【0044】
図1は、本開示の実施態様による、複数のユーザ間でのシングルプレイヤーのセッションの制御の分岐を概念的に示す。ビデオゲームが実行され、ビデオゲームの実行によって生成されるビデオが参照符号100に示される。いくつかの実施態様では、ビデオゲームはクラウドゲームマシンによって実行される一方、他の実施態様では、ビデオゲームは、ゲーム機もしくはパーソナルコンピュータ、または他のコンピューティングデバイス等のローカルクライアントマシンによって実行されることが認識される。ビデオゲームを実行して、所定のユーザのビデオゲームのセッションを見つける。示される実施態様を参照する例として、ビデオゲームのセッションは、ユーザ112によるゲームプレイのために定義できる。例えば、ユーザ112は、ビデオゲームの実行を開始し得、ひいては、インスタンス化されるセッションは、ユーザ112に関連付けられる。
【0045】
通常のゲームプレイシナリオでは、ユーザ112は、制御デバイス106を操作して、実行中のビデオゲームに入力を提供し、例えば、実行中のビデオゲームによって定義される仮想環境内のキャラクター102(または他のビデオゲームのエンティティ)を制御し得る。示される実施態様では、制御デバイス106は、ジョイスティック108、ボタン110、及びトリガー111等の様々な入力デバイスを含むように示される。ゲームプレイの通常のシングルユーザモードでは、単一の制御デバイス106の入力デバイスからの全ての入力は、ユーザ112によって制御される。
【0046】
しかしながら、本開示の実施態様に従って、ゲームプレイのマルチユーザモードが提供され、それによって、入力を分岐させ、制御のために他のユーザに割り当てできる。すなわち、他のユーザは、リモート方式で制御デバイス106の部分を仮想的に制御することが可能である。非限定の例として、示される実施態様を参照すると、追加のユーザ114及びユーザ116は、制御デバイス106の部分を制御する能力を備えている。例えば、第1のユーザ112はジョイスティック108を制御し得、第2のユーザ114はボタン110を制御し、別の第2のユーザ116はトリガー111を制御する。ジョイスティック108、ボタン110、及びトリガー111は、それぞれ、ビデオゲームにおける異なる機能またはアクションに対応し得ることが認識される。例えば、ジョイスティック108はキャラクター102の動き(例えば、走る、歩く等)を制御するようにマッピングされ得、ボタン110はジャンプまたはパンチ等のキャラクター102のアクションを制御するようにマッピングされ得、トリガー111はキャラクター102による射撃アクション(例えば、武器の発射)を制御し得る。このように、ユーザ112、ユーザ114、及びユーザ116のそれぞれは、ビデオゲームにおけるキャラクター102のアクティビティの特定のサブセットを制御するタスクがある。シングルユーザモードでは、これらのアクティビティの全ては、第1のユーザ112によって制御されるであろうが、現在説明されているマルチユーザモードでは、このように、キャラクター102の制御を共有することによって、マルチユーザが共同ゲームプレイに参加できる。
【0047】
ユーザ112、ユーザ114、及びユーザ116は、互いにリモートに位置し、ひいては、ユーザ114及びユーザ116は、第1のユーザの制御デバイス106の入力デバイスを物理的に制御しないことが認識される。むしろ、ユーザ114及びユーザ116のそれぞれは、本開示のシステムによって、実行中のビデオゲームのビデオ100をそれらのユーザ自身のローカル環境で視聴し、ユーザが割り当てられている制御デバイス106の入力デバイスのコマンド機能と同じコマンド機能にマッピングされる入力を提供することが可能である。このように、ユーザ114は、ボタン110にマッピングされる機能をリモートで及び仮想的に制御することが可能である一方、ユーザ116は、トリガー111にマッピングされる機能をリモートで及び仮想的に制御することが可能である。
【0048】
大まかに言えば、第2のユーザ114及びユーザ116のそれぞれは、それら自身の各々の制御デバイスを操作し得、ユーザ114及びユーザ116のそれぞれからの入力は、制御デバイス106を操作するユーザ112からの入力によって伝送及び集約され、入力ストリームの組み合わせが制御デバイス106だけを起点として送られるかのように、実行中のビデオゲームに伝送される入力ストリームの組み合わせを提供できる。したがって、ビデオゲームのセッションは、シングルプレイヤー(すなわち、第1のユーザ112)について定義され得るが、追加のユーザ114及びユーザ116は、ゲームプレイに参加し、ビデオゲームにおけるキャラクター102の制御可能なアクションの一部の制御を提供することが可能である。
【0049】
いくつかの実施態様では、第1のユーザ112は、第2のユーザ114及びユーザ116をそれらのセッションに参加することを招待できる。さらに、第1のユーザ112は、ユーザ114及びユーザ116に許可を与え、説明されるように、それらのユーザに割り当て、ゲームプレイの一部を制御し得る。いくつかの実施態様では、第1のユーザ112は制御を分割する方法を決める、すなわち、どの特定のコマンドを特定の第2のユーザのどれに割り当てるかを決定することが可能である。
【0050】
いくつかの実施態様では、第2のユーザの114またはユーザ116は、コントローラを共有するように要求または招待される前に、最初に第1のユーザ112によってビデオゲームのゲームプレイを観戦できる。例として、ユーザ112、ユーザ114、及びユーザ116は、ソーシャルネットワーク上の友人であり、互いにいつゲームプレイまたはオンラインに参加するかを確認することが可能であり得る。ユーザは互いのゲームプレイについての通知を受信し、ひいては、観戦するためのアクセスを取得し、現在説明されているように、場合によって、分岐制御に参加し得る。
【0051】
シングルプレイヤーのゲームプレイの分岐制御に関する現在説明されている概念は、マルチプレイヤーゲームセッションのシナリオに拡張できる。例えば、継続して
図1の実施態様を参照すると、ビデオゲームにおけるキャラクター104を制御する別の第1のユーザ126が存在し得る。示されるように、ユーザ126は、キャラクター104のアクションを制御するために、ビデオゲームに入力を提供するように構成される様々な入力デバイスを有する制御デバイス118を操作する。しかしながら、上記に説明した概念と同様に、いくつかの実施態様では、キャラクター104の制御は、複数のユーザ間で分岐できる。したがって、例として、追加のユーザ128及びユーザ130は、実行中のビデオゲームのビデオ100と、第1の制御デバイス118の入力デバイスにマッピングされるコマンドの制御の一部も提供できる。例えば、第1のユーザ126が制御デバイス118のジョイスティック120を制御しているが、ユーザ128はボタン122を制御でき、ユーザ130はトリガー124を制御できる。上記に留意したように、第2のユーザ128及びユーザ130はリモートに位置しているため、それらのユーザはボタン及びトリガーを物理的に制御しない。しかしながら、それらのユーザは、ボタン及びトリガーに割り当てられるコマンドにマッピングされる入力を提供し、これにより、ジョイスティック120を操作する第1のユーザ126からの入力と組み合わされるとき、入力の組み合わせは、キャラクター104のアクションを制御するために、制御デバイス118を起点として送られるかのように実行中のビデオゲームへの単一の入力ストリームとして提示される。
【0052】
現在説明されている分岐制御スキームは、通常シングルプレイヤーゲームの設定の場合よりも多くのユーザが所定のビデオゲームのゲームプレイに参加することを可能にし得ることが認識される。さらに、これはゲームプレイに新しいダイナミクスを提供できる。例えば、ビデオゲームで所定のキャラクターまたはエンティティの制御を共有するユーザは、ビデオゲームの目標を実現するために、ユーザのアクティビティを調整する課題を楽しむことができる。さらに、単一のキャラクターまたはエンティティを共同で制御するユーザのグループは、チームを形成し、ビデオゲームにおける別のキャラクターまたはエンティティを同様に共同で制御する他のチームと競争できる。
【0053】
さらなる実施態様では、ボタンまたは他の入力デバイス及びコマンドをどのように割り当てるかを定義する所定のゲームのテンプレートが存在し得る。いくつかの実施態様では、ユーザは、テンプレートの承認を投票または評価または示し得る(例えば、「いいね」する、親指を立てる等)。いくつかの実施態様では、係るテンプレート及び/または制御の分割は、所定のゲーム全体にわたって変更できる。例えば、ゲームの一部では、制御をある方法で分割することが理にかない得る一方、ゲームの別の部分では、制御を別の方法で分割することが理にかない得る。さらに、いくつかの実施態様では、制御の分割のシフトは、ゲームの設定点にある可能性がある、またはある条件に応じて動的に行うことができる。これにより、ゲームプレイがさらに複雑になることがもたらされる可能性があることが認識される。
【0054】
図2は、本開示の実施態様による、ユーザのグループ間でビデオゲームのエンティティの制御を渡すことを概念的に示す。示される実施態様では、多くのユーザがビデオゲームのゲームプレイに参加し、参照符号200に概念的に示される。ユーザ206、208、210、及び212のグループは、仮想キャラクター202を制御するために割り当てられる。いくつかの実施態様に従って、仮想キャラクター202の制御は、ラウンドロビン方式で、あるユーザから別のユーザに渡される。例えば、第1の期間中、仮想キャラクター202はユーザ206によって制御される。次の第2の期間中、仮想キャラクター202はユーザ208によって制御される。そして、次の第3及び第4の期間中、仮想キャラクター202は、各々、ユーザ210及びユーザ212によって制御される。サイクル完了時に、制御は第1のユーザ208に戻され、ラウンドロビン方式でユーザによって再び循環する。
【0055】
いくつかの実施態様では、各ユーザにキャラクターを制御するための同等の時間が与えられる。例えば、ユーザ206、208、210、及び212のそれぞれは、仮想キャラクター202を制御するために2分の時間が与えられ得、その満了時に、制御は次のユーザに渡される。
【0056】
他の実施態様では、所定のユーザがキャラクターを制御するために割り当てられる時間は、1つ以上の要因に基づいて変わる可能性がある。例えば、いくつかの実施態様では、より多い量またはより高い達成率は、制御時間が増加することによって良くなる。例えば、ユーザがポイントを得る、またはそうでなければ、既定の割合で、または所定の時間内に目的を達成した場合、ユーザは追加の時間にキャラクターを継続して制御することが可能であり得る、それ以外の場合、制御は次のユーザに渡される。いくつかの実施態様では、キャラクターを制御するために所定のユーザに割り当てられる時間は、ユーザのスキルレベルに基づいて決定される。例えば、割り当てられた時間は、ユーザのスキルレベルに対して逆の相関関係があり得、それにより、スキルレベルが低いユーザには長い時間が与えられる一方、スキルレベルが高いユーザにはキャラクターを制御するためにより短い時間が与えられる。
【0057】
いくつかの実施態様では、例えば、ボタンを押すことによって、またはそのように示す入力を提供することによって、ユーザが次のユーザに制御を委ねることを決めるまで、ユーザはキャラクターを制御する。別の実施態様では、次のユーザが現在のユーザに割り込んでキャラクターの制御を引き継ぐまで、現在のユーザはキャラクターを制御する。係る実施態様では、次のユーザが割り込んで制御を引き継ぐことが可能になる前に、現在のユーザは最小時間が与えられ得る。いくつかの実施態様では、キャラクターを現在制御していないユーザの一部または全ては、制御が次のユーザにいつ渡されるかをまとめて決定し得る。例えば、制御していないユーザの一部または全て(例えば、閾値/割合)が、例えば、ボタンを押すことによって、または別の入力を提供することによって、制御を渡すべきであることを示したときに、制御を渡し得る。
【0058】
マルチプレイヤーゲームでは、互いに協力する、または互いに競争する複数のキャラクターが存在し得ることが認識される。示される実施態様を参照すると、ビデオゲーム200は、ユーザ214、216、218、及び220のグループによって同様に制御される別の仮想キャラクター204を含み得る。これらのユーザは、仮想キャラクター202を参照して上記に説明した手法と同様の手法で仮想キャラクター204を制御し得る。ひいては、ユーザはチームを形成し、ユーザの他のチームと協力してまたは競争的にビデオゲーム200をプレイし得る。
【0059】
いくつかの実施態様では、ビデオゲームはクラウドで実行されるビデオゲームである一方、他の実施態様では、ビデオゲームは、ユーザの1人に関連付けられるローカルクライアントデバイスによって実行され得ることが認識される。
【0060】
いくつかの実施態様では、上記の概念の一部が組み合わされ得る。例えば、所定のキャラクターの制御は、制御の異なる部分に分岐し得る。しかしながら、制御の部分ごとに、所定の部分を制御するためにキューに入れられるマルチユーザが存在し得る。次に、キューに入れられたユーザは、例えば、ユーザごとの限られた時間に、ラウンドロビン方式で順番に制御を引き受けることができる。例えば、ジャンプまたは射撃等のキャラクターの所定のアクションを制御する際に、多くのユーザが順に行動し得る。
【0061】
いくつかの実施態様では、複数のユーザが所定の入力を同時に制御できる。例えば、複数のユーザからの入力データを集約及び処理して、入力の特定の性質を決定できる。例として、単一のボタンの制御の場合、複数のユーザからのボタン押しを集約して、ボタンを押すときのタイミング、ボタンを保持する長さ、ボタンを放すときのタイミング等の制御の様々な態様を決定し得る。このように、所定の制御入力を多くのユーザ間で共有できる。様々な方法を使用して、複数のユーザのそれぞれの個々の入力に基づいてコンセンサス入力を決定できることが認識される。例えば、いくつかの実施態様では、ビデオゲームの所定の単位時間に、(例えば、ユーザの選択の大部分に基づいて、またはユーザの閾値の割合を超えることによって)最も一般的な入力が決定及び適用される。所定の時点で最も評判が良い入力は、いずれかのアクションがないことによって定義され得ることを認識されたい。いくつかの実施態様では、様々なユーザからの入力の平均値または中央値を決定して、コンセンサス入力として適用できる。
【0062】
コンセンサス入力を決定するための特定の方法の適合性は、その特定の入力の性質に依存し得ることが認識される。例えば、オンまたはオフの状態だけを有するボタン等のバイナリ入力タイプの場合、この結果をコンセンサス入力として直接適用できるため、どの状態が所定の時間に最も評判が良いかを決定することで有利をもたらし得る。一方、広範囲の方向値及び/または強度値を含み得るジョイスティック入力の場合、複数のユーザからのジョイスティック入力の平均値を決定することは有用であり、直接適用可能であり得る。
【0063】
コンセンサス入力を決定するための上記の方法は、特定の入力デバイス(例えば、制御デバイス)を参照して説明してきたが、他の実施態様では、ユーザのグループによって共同で制御されているビデオゲームにおける単一のキャラクターまたはエンティティに適用する入力をどれにするかを決定するために同様の概念を適用できる。すなわち、複数のユーザによって同時に制御されている所定のキャラクターについて、個々のユーザはそれぞれ、例えば、ユーザの各々の制御デバイス及びローカルコンピューティングデバイスによって入力コマンドを提供する。複数のユーザからのこれらの入力コマンドは、所定のキャラクターの単一の入力ストリーム(単一のコントローラから来るようなもの)を決定するために集約及び処理される。例えば、各ユーザは、ジャンプコマンドをトリガーするユーザの各々のコントローラのボタンを操作し得る。いくつかの実施態様では、特定の期間内にジャンプボタンを押すユーザの数が既定の閾値を超えると(例えば、全ユーザの一部が閾値を超える、大多数がボタンを押す等)、ジャンプコマンドはビデオゲームに転送され、キャラクターによって実行される。別の例として、各ユーザは、キャラクターの動きを制御するジョイスティックを操作し得、ジョイスティックの総入力は、全てのユーザにわたって決定され、キャラクターの動きを決定するために利用される。いくつかの実施態様では、ジョイスティックの総入力を決定することは、方向値及び/または強度値等のジョイスティック入力値の平均値または中央値を決定することを含む。
【0064】
別の実施態様では、ユーザはそれぞれ(例えば、各々のアカウントにおいて)ある量の仮想通貨を有し得、仮想通貨を使用して、ゲームの特定の時間に制御を引き継ぐ権利の支払いをすることが可能である。いくつかの実施態様では、所定の時間に最も多く支払うユーザにキャラクターの制御が与えられる。いくつかの実施態様では、現在プレイしているユーザは、ビデオゲームにおけるユーザのパフォーマンスに基づいて追加の仮想通貨を獲得し得る。仮想通貨は、他のビデオゲームのゲームプレイ、プロモーション、直接購入等を含むものによって、ビデオゲーム以外の様々なメカニズムによって同様に獲得または購入できることが認識される。
【0065】
いくつかの実施態様では、ユーザは、どの特定のユーザが所定の入力またはキャラクター/エンティティを制御できるかについて投票し得る。いくつかの実施態様では、どの特定のユーザが所定の入力またはキャラクター/エンティティを制御できるかについて投票できる観客のオンラインオーディエンスが存在し得る。
【0066】
図3は、本開示の実施態様による、ビデオゲームにおける様々な仮想キャラクターを制御するユーザのチームを概念的に示す。示される実施態様では、マルチプレイヤービデオゲーム300は、互いに競合する仮想キャラクターまたは他の仮想エンティティのチームを有するように構成される。例えば、第1のチームは、キャラクター302、304、306、及び308から成り得る。一方、別のチームはキャラクター310、312、314、及び316から成り得る。キャラクターのチームは、ユーザの各々のチームによって制御される。示される実施態様では、ユーザの第1のチーム320は、キャラクターの第1のチーム(キャラクター302、304、306、及び308)の様々な仮想キャラクターを制御する。そして、ユーザの第2のチーム350は、キャラクターの第2のチーム(キャラクター310、312、314、及び316)の様々な仮想キャラクターを制御する。
【0067】
本開示の実施態様に従って、ユーザのチームには、ビデオゲームの仮想キャラクターのユーザの各々のチームで制御が可能であるキャラクターよりも、さらに多くのユーザが存在し得る。したがって、例として、示される実施態様では、ユーザの第1のチーム320は、ユーザ322、324、326、328、330、332、334、336、338、及び340を含む。いつでも、第1のチームのキャラクターの仮想キャラクターを制御するために、第1のチーム320のユーザのサブセットを割り当ててできる。例えば、示される実施態様を参照すると、ユーザ324、326、332、及び340は、現在、各々仮想キャラクター302、304、306、及び308を制御していることが示される。
【0068】
いくつかの実施態様では、ユーザのチームのユーザの1人が、どの特定のユーザが特定の仮想キャラクターを制御するために割り当てられるかを選択または決定する能力を有するチームキャプテンとして指定され得る。例えば、ユーザ322は、チーム320のチームキャプテンであり、ひいては、ユーザのチームのユーザの中から選び、どのユーザが任意の所定の時点において第1のキャラクターのチームの様々なキャラクター(302、304、306、及び308)を制御するかを決定することが可能であり得る。このように、チームキャプテンは、チームのユーザを戦略的に利用して、ビデオゲームで効果的に競争し得る。これにより、ビデオゲームのゲームプレイにさらなるエンゲージメント層を追加できる。
【0069】
いくつかの実施態様では、チームキャプテンはプレイヤー情報にアクセスでき、プレイヤー情報は、チームキャプテンがユーザのチームで利用可能なユーザのどれが利用できるかを知らせるのに役立つ可能性がある。例えば、プレイヤーのランキング、スキル評価、プレイヤーのゲームプレイ統計、プレイヤーの経験評価、またはビデオゲームに対するユーザのゲームプレイ能力の評価を反映する他の情報等の情報がチームキャプテンに表示され得る。係る情報を考慮することによって、チームキャプテンはユーザのチームのユーザの長所及び短所を理解し、それに応じて、この理解に基づいて、どのユーザをどの仮想キャラクターに割り当てるか、いつユーザを割り当てるかを選び得る。さらに、アクティブなゲームプレイセッション中のユーザのリアルタイム統計を追跡して、チームキャプテンに表示できる。
【0070】
いくつかの実施態様では、ソーシャルネットワークは係るチームゲームシナリオで活用できる。例えば、本システムは、チームキャプテンが、例えば、特定のスキルまたは経験を保有しているソーシャルグラフのメンバーに招待状を送信することを可能にし得る。非限定の例として、係る招待状は、ソーシャルネットワークを介して、または電子メール、テキストメッセージ、インスタントメッセージ、通知等の他の通信チャネルを経由して送信され得る。
【0071】
いくつかの実施態様では、プレイヤーのスキルセットについてのデータをオンラインシステムによって収集及び分析でき、プレイヤーのプロファイルを生成できる。例えば、本システムは、チームのスキルセットのバランスを取り、より均一な競争を促進するように、係る情報を使用してプレイヤーを自動的に割り当てるように構成され得る。
【0072】
同様に、示される実施態様を参照すると、仮想キャラクターの第2のチームの仮想キャラクターは、ユーザ352、354、356、358、360、362、364、366、368、及び370を含むユーザのチーム350によって制御される。示されるように、仮想キャラクター310、312、314、及び316は、現在、各々、ユーザ354、356、366、及び364によって制御されている。上記に説明した概念と同様に、仮想キャラクターを制御するためのユーザの特定の割り当ては、チームキャプテンによって決定でき、示される実施態様では、チームキャプテンはユーザ352であり得る。
【0073】
さらに、チームキャプテン322及び352は、各々、それらのチーム320及び350の割り当てを制御し得るが、これは、本開示に説明される他の概念と組み合わせできることが認識される。例えば、所定のユーザが所定の仮想キャラクターを制御できる長さに時間制限があり得、これによって、チームキャプテンは、時間制限の期限が切れたときに、次にどのユーザが所定のキャラクターの制御を引き受けるかを継続的に決定する必要がある。いくつかの実施態様では、チームキャプテンに、所定の期間内にユーザのチームの全てのプレイヤーを使用すること、または同様の時間でプレイヤーを使用すること等の要求またはインセンティブ等の使用要件またはインセンティブが(例えば、ボーナスまたはペナルティーを介して)存在し得る。係る実施態様では、所定のチームの全てのユーザに、ゲームプレイ中に仮想キャラクターの制御に参加する機会を与えることを確実にするのに役立ち得る。
【0074】
さらに、いくつかの実施態様では、スキルレベルに基づいて、ユーザの自動リバランスを行うことができる。例えば、2つのチームがプレイしていて、一方のチームが他方よりもスキルが高い場合(例えば、プレイヤーのゲームプレイメトリックから決定される場合)、またはかなりの差で勝つ場合(例えば、複数のラウンドに勝つ、及び/または閾値を超える数で勝つ場合)、ラウンドの終わりに、より熟練したユーザの一部を他のチームに移籍/トレードできる。これによって、チーム間でスキルをより均等に分け与え、より公平なゲームプレイを提供し、ひいては、ゲームプレイでより魅力的な課題を提供するのを確実にするのに役立ち得る。
【0075】
いくつかの実施態様では、1人以上のプレイヤーまたは1つ以上の制御は、システム(例えば、ボット)によってコンピュータ制御され得る。これは、チームのスキルレベルの不均衡に対処するための別の方法であり得る。例えば、互いに競合するチームのスキルレベルに大きな差があるとき、スキルレベルがより低いチームは、スキルレベルがより高い別のチームと対戦するとき、(例えば、仮想キャラクターまたはコマンドのサブセットを制御するために)コンピュータ制御のボットを使用するオプションを有し得る。さらに、チームが進歩しスキルがより向上するにつれて、係るボットを使用する能力が非アクティブまたはオフになり得る。
【0076】
図4Aは、本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。示される実施態様では、クラウドビデオゲームのセッション402は、クラウドゲームマシン400によって実行される。本開示における説明を容易にするために、ビデオゲームの実行セッション402は単にビデオゲームと称され得、当業者には明らかである。いくつかの実施態様では、ゲームマシン400は、ゲーム機またはブレードサーバのユニット等のゲーム機と同等のハードウェアである。ゲーム機の一例は、Sony PlayStation4ゲーム機である。いくつかの実施態様では、ゲームマシン400は、ビデオゲームセッション402に適切な実行環境を提供するように構成されるサーバコンピュータである。例えば、いくつかの実施態様では、係るサーバコンピュータは、ビデオゲームセッション402のための実行環境を提供する仮想マシンを実行し得る。ゲームマシン400は、他のゲームマシンと一緒にデータセンターに位置できる。
【0077】
示される実施態様では、ビデオゲームセッション402は、第1のユーザ416に対して定義される。すなわち、ビデオゲームセッション402は、第1のユーザ416によるビデオゲームのゲームプレイを可能にするために生成される。いくつかの実施態様では、ビデオゲームは、第1のユーザ416が所有するものであり得る、またはそうでなければ、例えば、第1のユーザのクラウドゲームプラットフォームアカウントによってアクセスできる。大まかに言えば、ビデオゲームセッション402は、ビデオゲームの変数のステータスを定義するビデオゲームのゲーム状態を生成、維持、及び更新するように構成される。ビデオゲームセッション402は、第1のクライアントデバイス412からネットワーク410を通じて入力データのストリームを受信し、入力データを処理してゲーム状態を更新する。ビデオゲームセッション402は、ゲーム状態を利用して、画像データ及び音声データの両方を含むビデオゲームのビデオをレンダリングし、これらのデータは、ネットワーク410を通じて第1のクライアントデバイス412に戻すように渡される。いくつかの実施態様では、実行中のビデオゲームセッション402によって生成されたビデオは、さらに、圧縮または他のビデオストリーミング最適化技術を適用する等、ビデオサーバ404によって処理され、次に、ビデオサーバは、ネットワーク410を通じてビデオデータを第1のクライアントデバイス412に送信する。第1のクライアントデバイス412は、ビデオデータを受信し、そのビデオデータを表示デバイスにレンダリングし、表示デバイスは、(例えば、テレビ、モニタ、ヘッドマウントディスプレイ、または仮想現実ヘッドセット等)から分離され得る、または第1のクライアントデバイス412(例えば、ラップトップ、タブレット、スマートフォン等)に組み込まれ得る。
【0078】
示される実施態様に示されるように、第1のユーザ416は、ビデオゲームに入力を提供するために、第1のクライアントデバイス412に動作可能に接続される入力デバイス414を操作する。入力デバイス414は、制御デバイス、モーションコントローラ、マウス、キーボード、画像キャプチャデバイスまたはカメラ(2D、3D、ステレオ、赤外線等)、マイクロフォン等の、ビデオゲームにユーザ入力を提供するのに適したいずれかのタイプのデバイスであり得る。第1のユーザ416からのアクティビティに応答して入力デバイス414によって生成されたデータは、ネットワーク410を通じてゲームマシン400に伝送される入力ストリームを定義し、第1のクライアントデバイス412によって処理され、入力ストリームは実行中のビデオゲームセッション402によって処理される。
【0079】
本開示の実施態様に従って、追加の第2のユーザ422及び428からの入力は、第1のユーザ416からの入力と組み合わされ、ユーザが入力ストリームをビデオゲームにまとめて供給することを可能にする。このように第2のユーザ422及び428が第1のユーザ416に対して定義されたセッションに参加することを可能にするために、第2のユーザは、ビデオゲームセッション402によって生成されたビデオを視聴することを可能にするべきである。したがって、いくつかの実施態様では、ビデオサーバ404によって伝送されるビデオデータは、また、ネットワークを通じて、第2のユーザ422及び428によって各々操作される第2のクライアントデバイス418及び424に伝送される。第2のユーザ及び対応する第2のクライアントデバイス及び入力デバイスが示されるが、任意の数の第2のユーザ及び対応するクライアントデバイス及び入力デバイスが存在し得ることが認識される。
【0080】
いくつかの実施態様では、ビデオは、ネットワーク410を通じて第1のクライアントデバイス412から第2のクライアントデバイス418及び424に共有される。言い換えれば、第1のクライアントデバイス412によって受信されたビデオストリームは、ネットワーク410を通じて第2のクライアントデバイスに再伝送できる。例えば、ビデオはWebRTC等のリアルタイム通信プロトコルを使用して伝送できる。ビデオを受信すると、第2のクライアントデバイスは、第2のユーザによって視聴するためにビデオを各々のディスプレイにレンダリングする。上記に留意したように、係るディスプレイは、第2のクライアントデバイスから分離され得る、または第2のクライアントデバイスに組み込まれ得る。
【0081】
示されるように、第2のユーザ422は、第2のクライアントデバイス418に接続される入力デバイス420を操作する。入力デバイス420とのインタラクティビティまたは入力デバイス420によって感知されたインタラクティビティに応答して、入力デバイス420は入力データを第2のクライアントデバイス418に伝送する。同様に、第2のユーザ428は入力デバイス426を操作し、入力デバイス426は、第2のクライアントデバイス424に接続され、入力データを第2のクライアントデバイス424に伝送する。第2のクライアントデバイスは、それぞれ、ユーザの各々の入力データを処理して、入力ストリームを第1のクライアントデバイス412に伝送する。いくつかの実施態様では、第2のクライアントデバイスからの入力ストリームは、第1のクライアントデバイスに直接伝送される。すなわち、第2のクライアントデバイス418は、ネットワーク410を通じて入力ストリームを第1のクライアントデバイス412に伝送する。そして、第2のクライアントデバイス424は、別の入力ストリームを、ネットワーク410を通じて第1のクライアントデバイス412に伝送する。第2のクライアントデバイスから第1のクライアントデバイスに伝送される各入力ストリームは、特定の入力デバイスのアクティベーション状態(例えば、特定のボタン押し、ジョイスティックの動き等)を識別するデータ等の、第2のユーザからの特定のインタラクティブ入力を識別するデータ、またはビデオゲーム用に定義される係るインタラクティブ入力から生じるコマンド(例えば、ジャンプ、発射、移動、回転等のコマンド)から成り得ることが認識される。
【0082】
第1のクライアントデバイス412は、第2のクライアントデバイス418及び424からの入力ストリームを受信し、その入力ストリームを第1のユーザ416からのインタラクティブ入力と組み合わせて、ネットワーク410を通じてゲームマシン400に伝送される単一の入力ストリームを生成し、入力ストリームは実行中のビデオゲームセッション402によって処理されるように構成される。このように、ビデオゲームセッション402は、単一の入力ストリームを見て、マルチユーザがこのように共同で入力を供給することを容易にするために、入力処理に関してビデオゲームにほとんどまたは全く変更がなされる必要がない。ビデオゲームセッション402の観点から、それが受信する単一の入力ストリームは、第1のユーザ416だけがビデオゲームをプレイしていたかのようである。
【0083】
上記のアーキテクチャに従って、本明細書で説明するように、マルチユーザがゲームプレイに参加する方法のいずれかを実施できる。例えば、分岐制御シナリオでは、第1のユーザ416、第2のユーザ422、及び第2のユーザ428は、それぞれ、ビデオゲームにおけるキャラクターの異なる態様を制御するために割り当てられ得る。説明だけを目的として、制御可能であり、異なるユーザ間で分割されている様々な態様が、走っている、ジャンプしている、及び武器を発射しているシナリオを考えてみる。したがって、係るシナリオでは、入力デバイス414からの入力データはキャラクターの走りを制御するであろう一方、第2のクライアントデバイス418及び424からの入力ストリームは、各々、ジャンプ及び武器の発射を制御するであろう。第1のクライアントデバイスは、我々と一緒に、入力デバイス414からの入力データを第2のクライアントデバイスからの入力ストリームと一緒に処理して、ビデオゲームにおけるキャラクターのこれらの態様の全てを制御するように、ビデオゲーム402にコマンドを提供する単一の入力ストリームを生成する。
【0084】
前述のシナリオは分岐制御シナリオを参照して説明してきたが、入力ストリーム及び入力データは、本開示に説明される実施態様に従って、様々な方法で第1のクライアントデバイス412によって組み合わせできることが認識される。
【0085】
さらに、ビデオゲームがマルチプレイヤービデオゲームである場合、ビデオゲームにおける他のキャラクターをまとめて制御し得る追加の第1のクライアントデバイス及び第2のクライアントデバイスが存在し得ることが認識される。
【0086】
上記の実施態様では、第2のクライアントデバイスからの入力ストリームは、第1のクライアントデバイス412に直接伝送される。しかしながら、第1のクライアントデバイスに接続している第2のクライアントデバイスが多すぎるとき、インターネットサービスプロバイダーはこれを疑わしいと見なし、接続数を制限する、またはトラフィックが第1のクライアントデバイス412に到達することをブロックする等の措置を講じ得る。例えば、第1のクライアントデバイスに接続している多数の第2のクライアントデバイスが、分散型サービス拒否攻撃を構成していると疑われ得る。係る問題を避けるために、いくつかの実施態様では、入力サーバ406は、第2のクライアントデバイスからの接続に応対するために提供される。入力サーバ406は、第2のクライアントデバイスからの入力ストリームに各々応対するために複数のソケットを提供することが可能であるソケットサーバであり得る。サーバ406は入力アグリゲータロジック408を含み得、入力アグリゲータロジック408は、第2のクライアントデバイスの入力ストリームを、ネットワーク410を通じて第1のクライアントデバイス412に伝送される単一の入力ストリームに組み合わせる。このように、第1のクライアントデバイス412は、様々な第2のクライアントデバイスからの複数の入力ストリームに応対する必要があるというよりもむしろ、第2のクライアントデバイスからの入力ストリームの組み合わせまたは集約である単一の入力ストリームを受信する。
【0087】
別の実施態様では、様々な第1及び第2のクライアントデバイスのそれぞれは、その各々の入力ストリームをリモートサーバ406に送信するように構成され、リモートサーバ406は、入力ストリームを集約し、ビデオゲームの単一の入力ストリームを生成するように構成される。次に、リモートサーバ406は、実行中のビデオゲームセッション402によって処理するために、単一の入力ストリームを、ネットワーク410を通じてゲームマシン400に伝送する。このように、リモートサーバ406は、例えば、入力アグリゲータロジック408を使用して、全てのクライアントデバイスの入力の集約に応対し、ゲームマシン400に伝送される前に入力ストリームを第1のクライアントデバイスに戻すように渡す必要がないので、待ち時間を短縮できる。係る実施態様では、ゲームマシン400は、前述に説明したようにビデオを出力するように構成されるが、第1のクライアントデバイス412からではなく、リモートサーバ406から入力ストリームを受信するように構成される。
【0088】
さらに別の実施態様では、第1及び第2のクライアントデバイスからの入力ストリームのそれぞれは、ビデオゲームセッション402によって処理するために、ネットワーク410を通じてゲームマシン400に伝送される。係る実施態様では、ビデオゲームセッション400自体は、様々な入力ストリームを集約し、それらを処理して、本明細書で説明される方法に従って共同ゲームプレイを容易にするように構成される。
【0089】
図4Bは、本開示の実施態様による、ビデオゲームへの共同入力を管理するためのシステムを示す。示される実施態様では、ビデオゲームセッションは、第1のクライアントデバイス412によってローカルで実行される。いくつかの実施態様では、第2のクライアントデバイスからの入力ストリームは、ネットワーク410を通じて第1のクライアントデバイス412に伝送される。他の実施態様では、第2のクライアントデバイスからの入力ストリームは、ネットワーク410を通じて入力サーバ406に伝送され、入力サーバ406は、入力ストリームを第1のクライアントデバイス412に伝送される単一の入力ストリームに集約するように構成される。
【0090】
いずれの場合も、本開示に説明される実施態様に従って、ビデオゲームセッション402は、入力デバイス414からの入力データと組み合わせて第2のクライアントデバイスからの入力ストリームを処理して、共同ゲームプレイの様々なモードを可能にするように構成される。
【0091】
前述に留意したように、第2のクライアントデバイスは、ビデオゲームのビデオが提供され、これにより、第2のユーザは、第1のユーザ416と実質的に同じビデオゲームのリアルタイムビューを見ている。いくつかの実施態様では、ビデオゲームセッションによって生成されたビデオは、第1のクライアントデバイス412によってネットワーク410を通じて第2のクライアントデバイスに伝送/ストリーミングされる。いくつかの実施態様では、ビデオは、ネットワークを通じて別のビデオサーバ430に伝送され、次に、様々な第2のクライアントデバイスへのビデオのストリーミングに応対する。
【0092】
継続して
図4A及び
図4Bの実施態様を参照すると、いくつかの実施態様では、処理の様々な部分の実行及び応対を、ローカルリソースとクラウド/リモートサーバリソースとの間で動的に割り当てできる。例えば、いくつかの実施態様では、様々な要因/条件に応じて、第2のクライアントデバイスへの実行中のビデオゲームセッションのビデオのストリーミングは、第1のクライアントデバイスによって応対できる、またはリモートビデオサーバにオフロードできる。例として、係る条件は、ビデオがストリーミングされる第2のクライアントデバイスの数、第1のクライアントデバイスのネットワーク接続の品質、第1のクライアントデバイスのローカルリソース(例えば、プロセッサ及びメモリリソース)、第1のクライアントデバイスのロード等を含み得る。例えば、第2のクライアントデバイスの数が多すぎる(例えば、閾値を超える)場合、またはビデオストリーミングの品質が閾値レベルを下回る場合、または遅延が閾値を超える場合、またはそうでなければ、ストリーミングパフォーマンスが許容レベルを下回る場合、ビデオストリーミングの応対が第1のクライアントデバイスからリモートビデオストリーミングサーバにシフトし得る。
【0093】
さらに、いくつかの実施態様では、入力集約は、第1のクライアントデバイスまたはリモートサーバによって応対され、既存の条件に基づいて動的に切り替り得る。係る条件は、ビデオストリーミングの応対に関して上記の条件のいずれかを含み得るが、クライアントデバイスとリモートサーバとの間で入力集約の応対をシフトするかどうか及びいつシフトするかを決定する目的のために適用されることが認識される。したがって、ビデオストリーミングの応対及び入力集約の応対は、ローカルリソースとクラウドリソースとの間で独立して割り当てでき、これらのいずれかをホストクライアントとは別のサーバにオフロードできる。
【0094】
加えて、視聴または観戦だけに興味のあるユーザと、参加及び制御に興味のあるユーザとを区別するのに有用であり得る。例えば、ビデオストリーミングに応対するとき、ビデオゲームのいくつかの態様の制御に積極的に参加しているプレイヤーが、そのように積極的に参加していない観客よりも優先され得る。係る優先順位付けは、本明細書の特定の実施態様で説明されるように、プレイヤーの所定のグループまたはキューまたはチームの中で適用され得、ゲームプレイ制御に積極的に参加するものは、ゲームプレイ制御に積極的に参加しないものよりも優先されることが認識される。
【0095】
いくつかの実施態様では、ユーザは、第1のユーザに対するソーシャルネットワーク内の近接度に基づいて優先順位が付けられ得る。
【0096】
本開示の実施態様は、異なるユーザがビデオゲームにおける仮想キャラクター/エンティティ及び/またはコマンドのサブセットを制御することを可能にする。したがって、どのユーザが所定の仮想キャラクター/エンティティ及び/または所定のコマンドを現在制御しているのかを識別する問題がある。したがって、いくつかの実施態様では、本システムは、どのユーザがビデオゲームにおいてどの仮想キャラクターまたはコマンドを制御しているかを示すゲームプレイビデオストリームにグラフィックをオーバーレイするように構成される。いくつかの実施態様では、個々のユーザは、スクリーン名、ユーザID、アバター等によって、係るオーバーレイされたグラフィックスで識別され得る。さらに、いくつかの実施態様では、カスタム化及びパーソナライゼーションは、アニメーション(例えば、フレーム内のまたは浮いているハートによって囲まれるユーザ名等)、フォント、色等の係るオーバーレイに可能である。
【0097】
別の実施態様では、ビデオゲームは、どのユーザがゲームプレイビデオストリームにおけるどのキャラクターまたはコマンドを制御しているかを識別する情報の表示を可能にするAPIを提供し得る。例えば、本システムはAPIにアクセスし関連情報を供給し、これにより、関連情報は、ゲームプレイビデオストリームでレンダリングされ得る。係る設定を使用して、ビデオゲームはゲームプレイのコンテキストで識別情報を統合及びレンダリングできる。例えば、識別情報は、ビデオゲームの仮想空間において、仮想のキャラクター/エンティティを3次元手法で追い掛ける手法でレンダリングできる。
【0098】
別の実施態様では、グラフィックスのオーバーレイまたは統合は、特定のユーザによって供給されている入力を表示するように構成され得る。例えば、本明細書で説明されるような分岐制御シナリオでは、制御デバイスのグラフィックを表示でき、さらに、ユーザが制御デバイスの入力デバイスに対応する様々な制御入力をいつ開始するかをグラフィックで示すように構成され得る。
【0099】
図5は、本開示の実施態様による、ビデオゲームの分割コントローラゲームプレイを行うための方法を示す。操作方法500において、第1のユーザ(ホストユーザ)及び1人以上のリモートの第2のユーザは、ユーザ間の通信を可能にするゲームプラットフォームにログインする。説明を容易にするために、本方法は、1人の第2のユーザを参照して説明される。しかしながら、本方法は複数の第2のユーザにも適用し得ることが認識される。操作方法502において、第1のユーザは、共有ゲームプレイセッションに参加するための招待状を第2のユーザに送信する。招待状は、通知、プライベートメッセージ等として第2のユーザに見えるようにできる。いくつかの実施態様では、ゲームプラットフォームは、例えば、別のソーシャルネットワーク、電子メール、テキストメッセージングサービス等の他の通信チャネルにアクセスし、係るチャネルを経由して招待状を送信するように構成され得る。係る実施態様では、第2のユーザは、招待状を受信する前にゲームプラットフォームにログインしていない場合があるが、代わりに、招待状を受信した後にログインすることが認識される。
【0100】
操作方法504において、第2のユーザが招待状を受託したことに応答して、第1のユーザのビデオストリームが第2のユーザと共有される。第1のユーザのビデオストリームは、システム設定に応じて異なる方法で共有できることが認識される。例えば、クラウドゲームの実施態様では、クラウドゲームシステムは、第1のユーザのビデオストリームのクローンを第2のユーザのシステム(例えば、ゲーム機、コンピュータ等)に提供し得る。ローカルゲームの実施態様では、第1のユーザのビデオストリームを、第1のユーザのシステム(例えば、ゲーム機、コンピュータ等)からネットワークを通じて、第2のユーザのシステムに、随意にリモートビデオサーバを介して共有できる。第1のユーザのビデオストリームを受信することによって、第2のユーザは第1のユーザが視聴しているコンテンツと同じコンテンツを見ることが可能である。
【0101】
操作方法506において、第1のユーザはビデオゲームの実行を開始する。繰り返すが、いくつかの実施態様では、ビデオゲームはクラウドゲームシステムによって実行されるクラウドであり得る、または、いくつかの実施態様では、第1のユーザのシステムによってローカルで実行できる。第1のユーザのビデオストリームが第2のユーザと共有されているため、第2のユーザもビデオゲームの実行が見える。
【0102】
操作方法508において、第1のユーザは、例えば、コントローラ共有インターフェースをアクティブにすることによって、第1のコントローラを第2のユーザと共有する要求を開始する。いくつかの実施態様では、コントローラ共有インターフェースは、コントローラ全体を共有する(第2のユーザに制御を渡す)またはコントローラの一部を共有する等のコントローラを共有するためのオプションを提供する。このような場合、第1のユーザは、そのコントローラの一部を第2のユーザと共有することを選び、これにより、第2のユーザは、第1のユーザの制御デバイスの入力デバイスの一部にマッピングされるコマンドを制御する。プロセスの一部として、コントローラを共有する要求は、第1のユーザがコントローラを共有することを望むことを第2のユーザに知らせ、第2のユーザにそうすることを受託/同意するように要求することの、第2のユーザへの通知を生じさせ得る。
【0103】
操作方法512において、随意に、第2のユーザによって係る受託がされると、分割コントローラゲームプレイが開始する。すなわち、第1のユーザの制御デバイスの一部は、第2のユーザによって仮想的に制御される。いくつかの実施態様では、係る分割コントローラゲームプレイ中に、第1のユーザの制御デバイスの共有部分は、第2のユーザによって制御されている間、非アクティブになる。
【0104】
操作方法514において、随意に、分割/分岐コントローラゲームプレイを容易にする一部として、第1のユーザ及び第2のユーザからの入力は、実行中のビデオゲームに伝送される前に集約される。換言すれば、第2のユーザによって制御される第1のユーザ制御デバイスの一部に対応する入力の一部は、第1のユーザからの入力とマージされ、実行中のビデオゲームに伝送される単一の入力ストリームを形成する。このように、ビデオゲームは、単一の制御デバイスからの入力であるかのように入力を受信する。
【0105】
操作方法516において、集約された入力は、実行中のビデオゲームによって適用され、ビデオゲームのゲーム状態を更新し、ゲームプレイビデオをレンダリングする。レンダリングされたゲームプレイビデオは、前述に説明したように、第1のユーザ及び第2のユーザに継続的にストリーミングされる。
【0106】
図6は、本開示の実施態様による、チームビデオゲームの方法を示し、チームメンバーは、ビデオゲームにおける所定の仮想キャラクター/エンティティを制御するために互いに置き換えられ得る。操作方法600において、ユーザは、チームビデオゲームをサポートするゲームプラットフォームにログインする。例えば、いくつかの実施態様では、ゲームプラットフォームはクラウドゲームプラットフォームであり、クラウドゲームプラットフォームから及び相互からの両方でリモートに位置するユーザが、例えば、ネットワーク及び/またはインターネットを含むものを通じて、クラウドゲームプラットフォームにアクセスすることを可能にする。クラウドゲームプラットフォームは、ビデオゲームの実行及びユーザのクライアントデバイスへのストリーミングビデオを提供し得る。操作方法602において、チームゲームセッションが提供される。いくつかの実施態様では、チームゲームセッションの可用性は、ゲームプラットフォームによって、例えば、クラウドゲームプラットフォームのビデオゲームオプションへのアクセスを提供する「ロビー」エリアまたは他のインターフェースに表示される。
【0107】
操作方法604において、ユーザは、チームゲームセッションへの参加を要求し、チームゲームセッションに追加される。いくつかの実施態様では、ユーザはチームゲームセッションに参加するための招待状に応答する。操作方法606において、ユーザはチームに割り当てられる。いくつかの実施態様では、ユーザは特定のチームの好みを選び得るまたは示し得る。いくつかの実施態様では、バランスの取れたチームを提供するように、例えばスキルレベルまたは能力に基づいて、本システムによってユーザが特定のチームに割り当てられる。操作方法608において、チームキャプテンが各チームに指定される。いくつかの実施態様では、所定のチームのメンバーが投票してそのチームキャプテンを決定する。いくつかの実施態様では、本システムは1人のメンバーをチームキャプテンに割り当てる。いくつかの実施態様では、チームキャプテンの割り当ては、ユーザの要求に応じてまたは自動的のいずれかで、(例えば、ゲームプレイのラウンド間で)ローテーションできる。
【0108】
操作方法610において、チームキャプテンは、ビデオゲームにおける個々の仮想キャラクターまたはエンティティを制御するために利用可能な制御スロットへのチームメンバーの割り当てを制御する。すなわち、プレイヤーのチームごとに、制御が可能な仮想キャラクターの数が制限される。言い換えると、ユーザのチームごとに、ユーザが制御し得るビデオゲームにおける仮想キャラクターの「チーム」が存在する。所定のチームのチームキャプテンは、そのチームのどの特定のユーザが所定の仮想キャラクターを制御するかを決定できる。
【0109】
仮想キャラクターへのユーザの最初の割り当ての後、操作方法612において、チームゲームプレイが開始する。操作方法614において、ユーザの所定のチームのチームキャプテンは、仮想キャラクターの制御を第1のチームメンバーから第2のチームメンバーに切り替える要求を開始し得る。したがって、操作方法616において、仮想キャラクターの制御は、第1のチームメンバーから第2のチームメンバーに渡される。そうすることで、第1のチームメンバーからの入力が仮想キャラクターを制御しなくなる一方、ここで、第2のチームメンバーからの入力が仮想キャラクターを制御する。
【0110】
前述の実施態様は概してクラウドゲームを参照して説明してきたが、他の実施態様では、チームビデオゲームは、ユーザのローカルクライアントデバイスの少なくとも1つによってローカルで実行され得る。
【0111】
図7は、HMD1302のユーザ1300がクライアントシステム1306とインターフェースをとり、クライアントシステム1306が、第2のスクリーンディスプレイ(第2のスクリーン1307と称される)にコンテンツを提供する一例を示す。HMD1302の代わりに、インタラクティブコンテンツをユーザ1300にレンダリングすることが可能である任意の他のタイプの表示デバイス(例えば、テレビ、モニタ、ラップトップディスプレイ、モバイルデバイス、ディスプレイ等)を置き換え得ることが認識される。クライアントシステム1306は、HMD1302から第2のスクリーン1307へのコンテンツの共有を処理するための統合型電子機器を含み得る。他の実施態様は、クライアントシステムと、HMD1302及び第2のスクリーン1307のそれぞれとの間でインターフェースをとる別のデバイス、モジュール、コネクタを含み得る。この一般的な例では、ユーザ1300はHMD1302を装着しており、インターフェースオブジェクト1304でもあり得るコントローラを使用してビデオゲームをプレイしている。ユーザ1300によるインタラクティブプレイによって、ビデオゲームコンテンツ(VGC)を作り出し、これはHMD1302に対してインタラクティブに表示される。
【0112】
一実施態様では、HMD1302に表示されているコンテンツは、第2のスクリーン1307に共有される。一例では、第2のスクリーン1307を視聴している人が、ユーザ1300によってHMD1302にインタラクティブに再生されているコンテンツを視聴できる。別の実施態様では、別のユーザ(例えば、プレイヤー2)がクライアントシステム1306とインタラクトして、第2のスクリーンコンテンツ(SSC)を作り出すことができる。プレイヤーがコントローラ1304(またはいずれかのタイプのユーザインターフェース、ジェスチャ、声、もしくは入力)ともインタラクトすることによって作り出される第2のスクリーンコンテンツは、クライアントシステム1306にSSCとして作り出され得、SSCは、HMD1302から受信されるVGCと一緒に第2のスクリーン1307に表示できる。
【0113】
したがって、HMDユーザと同じ場所に存在し得る、またはHMDユーザから離れ得る他のユーザによるインタラクティビティは、ユーザ1300と、ユーザ1300によって再生されたコンテンツを第2のスクリーン1307上で視聴し得るユーザとの両方にとって、ソーシャルで、インタラクティブで、より没入感のあるものにできる。示されるように、クライアントシステム1306は、インターネット1310に接続できる。インターネットは、また、様々なコンテンツソース1320からのコンテンツへのアクセスをクライアントシステム1306に提供できる。コンテンツソース1320は、インターネットを通じてアクセス可能ないずれかのタイプのコンテンツを含み得る。
【0114】
係るコンテンツは、限定的ではなく、ビデオコンテンツ、映画コンテンツ、ストリーミングコンテンツ、ソーシャルメディアコンテンツ、ニュースコンテンツ、フレンドコンテンツ、広告コンテンツ等を含み得る。一実施態様では、クライアントシステム1306はHMDユーザ向けのコンテンツを同時に処理するために使用でき、それにより、HMDがゲームプレイ中のインタラクティビティに関連付けられるマルチメディアコンテンツが提供される。そのとき、クライアントシステム1306は、また、ビデオゲームコンテンツと無関係であり得る他のコンテンツを第2のスクリーンに提供できる。一実施態様では、クライアントシステム1306は、コンテンツソース1320の1つから、またはローカルユーザもしくはリモートユーザから、第2のスクリーンコンテンツを受信できる。
【0115】
図8は、本開示の様々な実施態様による、ゲームシステム1600のブロック図である。ゲームシステム1600は、ネットワーク1615を介して1つ以上のクライアント1610にビデオストリームを提供するように構成される。ゲームシステム1600は、通常、ビデオサーバシステム1620及びオプションのゲームサーバ1625を含む。ビデオサーバシステム1620は、最低限のサービス品質で、ビデオストリームを1つ以上のクライアント1610に提供するように構成される。例えば、ビデオサーバシステム1620は、ビデオゲームの状態またはビデオゲームの範囲内の視点を変更するゲームコマンドを受信し、この変更を反映する更新済ビデオストリームをクライアント1610に最小の遅延時間で提供し得る。ビデオサーバシステム1620は、まだ定義されていない形式を含む多様な代替のビデオ形式で、ビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多様なフレームレートでユーザに提示するように構成されるビデオフレームを含み得る。典型的なフレームレートは、毎秒30フレーム、毎秒60フレーム、及び毎秒120フレームである。しかし、本開示の代替の実施態様では、より高いまたはより低いフレームレートが含まれる。
【0116】
本明細書で個々に1610A、1610B等と称されるクライアント1610は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲーム機、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス、及び/または同等物を含み得る。通常、クライアント1610は、符号化されたビデオストリームを受信し、ビデオストリームを復号し、結果として生じるビデオをユーザ(例えばゲームのプレイヤー)に提示するように構成される。符号化されたビデオストリームを受信する及び/またはビデオストリームを復号するプロセスは、通常、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント1610に一体化したディスプレイで、またはモニタもしくはテレビ等の別のデバイスでユーザに提示され得る。クライアント1610は、随意に、複数のゲームプレイヤーをサポートするように構成される。例えば、ゲーム機は、2人、3人、4人以上の同時プレイヤーをサポートするように構成され得る。これらのプレイヤーのそれぞれは別のビデオストリームを受信し得る、または単一のビデオストリームは、プレイヤーごとに特別に生成された(例えば、各プレイヤーの視点に基づいて生成された)フレームの領域を含み得る。クライアント1610は、随意に、地理的に分散される。ゲームシステム1600に含まれるクライアントの数は、1つまたは2つから、数千、数万、またはそれ以上まで、幅広く変わり得る。本明細書で使用される用語「ゲームプレイヤー」はゲームをプレイする人を指すために使用され、用語「ゲームプレイデバイス」はゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施態様では、ゲームプレイデバイスは、ゲーム体験をユーザに与えるために協動する複数のコンピューティングデバイスを指し得る。例えば、ゲーム機及びHMDは、HMDによって視聴したゲームを配信するために、ビデオサーバシステム1620と協動し得る。一実施態様では、ゲーム機はビデオストリームをビデオサーバシステム1620から受信し、ゲーム機は、レンダリングするために、HMDにビデオストリームまたはビデオストリームに対する更新を転送する。
【0117】
クライアント1610は、ネットワーク1615を介してビデオストリームを受信するように構成される。ネットワーク1615は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク、及び/または同等のネットワークを含む、いずれかのタイプの通信ネットワークであり得る。典型的な実施態様では、ビデオストリームは、TCP/IPまたはUDP/IP等の標準プロトコルを介して通信する。代替として、ビデオストリームは特許規格によって通信する。
【0118】
クライアント1610の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号ロジック、ネットワーク通信能力、及び入力デバイスを備えるパーソナルコンピュータが挙げられる。復号化ロジックは、ハードウェア、ファームウェア、及び/またはコンピュータ可読媒体に記憶されたソフトウェアを含み得る。ビデオストリームを復号化(及び符号化)するためのシステムは、当技術分野において周知のものであり、使用される特定の符号化スキームに応じて変わる。
【0119】
さらに、クライアント1610は、必ずしも必要はないが、受信したビデオを修正するように構成されるシステムを含み得る。例えば、クライアントは、さらに、レンダリングを行い、1つのビデオ画像を別のビデオ画像上に重ね、ビデオ画像を切り取り、及び/または同等のことを行うように構成され得る。例えば、クライアント1610は、Iフレーム、Pフレーム、及びBフレーム等の様々なタイプのビデオフレームを受信し、ユーザに表示するために、これらのフレームを画像に処理するように構成され得る。いくつかの実施態様では、クライアント1610のメンバーは、さらなるレンダリング、シェーディング、3Dへの変換、またはビデオストリームの同様の操作を行うように構成される。クライアント1610のメンバーは、随意に、複数の音声ストリームまたはビデオストリームを受信するように構成される。クライアント1610の入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び/もしくは位置感知デバイス、マウス、タッチスクリーン、ニューラルインターフェース、カメラ、開発中の入力デバイス、ならびに/または同等物を含み得る。
【0120】
クライアント1610によって受信されたビデオストリーム(随意に、音声ストリームも)は、ビデオサーバシステム1620によって生成及び提供される。本明細書の別の箇所でさらに説明されるように、このビデオストリームはビデオフレームを含む(音声ストリームは音声フレームを含む)。ビデオフレームは、ユーザに表示される画像に有意義に寄与するように構成される(例えば、ビデオフレームは適切なデータ構造の画素情報を含む)。本明細書で使用される用語「ビデオフレーム」は、ユーザに示される画像に寄与する(例えば影響を及ぼす)ように構成される情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、「音声フレーム」にも適用できる。
【0121】
クライアント1610は、通常、ユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更する、またはそうでなければ、ゲームプレイに影響を及ぼすように構成されるゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを使用して受信できる及び/またはクライアント1610で実行する命令をコンピュータで処理することによって自動的に生成され得る。受信したゲームコマンドは、クライアント1610からネットワーク1615を介して、ビデオサーバシステム1620及び/またはゲームサーバ1625に伝達される。例えば、いくつかの実施態様では、ゲームコマンドはビデオサーバシステム1620を介してゲームサーバ1625に伝達される。いくつかの実施態様では、ゲームコマンドの別のコピーは、クライアント1610からゲームサーバ1625及びビデオサーバシステム1620に伝達される。ゲームコマンドの通信は、随意に、コマンドの識別情報に依存する。ゲームコマンドは、随意に、クライアント1610Aに音声ストリームまたはビデオストリームを提供するために使用される異なるルートまたは通信チャネルを経由して、クライアント1610Aから伝達される。
【0122】
ゲームサーバ1625は、随意に、ビデオサーバシステム1620と異なるエンティティによって動作する。例えば、ゲームサーバ1625は、マルチプレイヤーゲームの発行者により動作し得る。この例では、ビデオサーバシステム1620は、随意に、ゲームサーバ1625によってクライアントとして視認され、随意に、ゲームサーバ1625の視点から、従来技術のゲームエンジンを実行する従来技術のクライアントに見えるように構成される。ビデオサーバシステム1620とゲームサーバ1625との間の通信は、随意に、ネットワーク1615を介して行われる。したがって、ゲームサーバ1625は複数のクライアントにゲーム状態情報を送信する従来技術のマルチプレイヤーゲームサーバであり得、複数のクライアントの1つはビデオサーバシステム1620である。ビデオサーバシステム1620は、同時にゲームサーバ1625の複数のインスタンスと通信するように構成され得る。例えば、ビデオサーバシステム1620は、複数の異なるビデオゲームを異なるユーザに提供するように構成され得る。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ1625によってサポートされ得る及び/または異なるエンティティによって発行され得る。いくつかの実施態様では、ビデオサーバシステム1620のいくつかの地理的に分散したインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム1620のこれらのインスタンスのそれぞれは、ゲームサーバ1625の同じインスタンスと通信し得る。ビデオサーバシステム1620と1つ以上のゲームサーバ1625との間の通信は、随意に、専用通信チャネルを介して行われる。例えば、ビデオサーバシステム1620は、ゲームサーバ1625に、これらの2つのシステム間の通信専用の高帯域幅チャネルを介して接続され得る。
【0123】
ビデオサーバシステム1620は、少なくとも、ビデオソース1630、I/Oデバイス1645、プロセッサ1650、及び非一時的なストレージ1655を備える。ビデオサーバシステム1620は、1つのコンピューティングデバイスを含み得る、または複数のコンピューティングデバイス間で分散され得る。これらのコンピューティングデバイスは、随意に、ローカルエリアネットワーク等の通信システムを介して接続される。
【0124】
ビデオソース1630は、ビデオストリーム(例えば、ストリーミングビデオまたは動画を形成する一連のビデオフレーム)を提供するように構成される。いくつかの実施態様では、ビデオソース1630はビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、プレイヤーからゲームコマンドを受信し、受信したコマンドに基づいてビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境におけるオブジェクトの位置と、通常、視点とを含む。ゲーム状態は、また、オブジェクトの特性、画像、色、及び/またはテクスチャを含み得る。ゲーム状態は、通常、ゲームルール、ならびに移動、方向転換、攻撃、焦点の設定、インタラクション、使用及び/または同等のことのゲームコマンドに基づいて維持される。ゲームエンジンの一部は、随意に、ゲームサーバ1625内に配置される。ゲームサーバ1625は、地理的分散クライアントを使用して複数のプレイヤーから受信されたゲームコマンドに基づいて、ゲームの状態のコピーを保持し得る。これらの場合では、ゲーム状態はゲームサーバ1625によりビデオソース1630に提供され、ゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ1625は、ネットワーク1615を介してクライアント1610から直接ゲームコマンドを受信し得る、及び/またはビデオサーバシステム1620を介してゲームコマンドを受信し得る。
【0125】
ビデオソース1630は、通常、レンダリングロジック(例えば、ストレージ1655等のハードウェア、ファームウェア、及び/またはコンピュータ可読媒体に記憶されるソフトウェア)を含む。このレンダリングロジックは、ゲーム状態に基づいて、ビデオストリームのビデオフレームを作成するように構成される。レンダリングロジックの全てまたは一部は、随意に、グラフィック処理ユニット(GPU)内に配置される。レンダリングロジックは、通常、ゲーム状態及び視点に基づいて、オブジェクト間の3次元空間的関係を決定するように、及び/または適切なテクスチャ等を適用するように構成される処理段階を含む。レンダリングロジックは未加工ビデオを作り出し、次に、未加工ビデオは、通常、クライアント1610に伝達される前に符号化される。例えば、未加工ビデオ(音声を含み得るもの)は、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC‐1、WMA、Huffyuv、Lagarith、MPG‐x.Xvid.FFmpeg、x264、VP6-8、realvideo、mp4、mp3等に従って、符号化され得る。符号化プロセスは、リモートデバイス上のデコーダに配信するために随意にパッケージ化されるビデオストリームを作り出す。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。典型的なフレームサイズは、800×600、1280×720(例えば、720p)、1024×768を含むが、任意の他のフレームサイズが使用され得る。フレームレートは、1秒あたりのビデオフレームの数である。ビデオストリームは、様々なタイプのビデオフレームを含み得る。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。Iフレームは表示デバイスの全てのマクロブロック/画素をリフレッシュする情報を含む一方、Pフレームはそのサブセットをリフレッシュする情報を含む。Pフレームは、通常、Iフレームよりもデータサイズが小さい。本明細書で使用される用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するのに必要なバイト数を指すために使用される。
【0126】
代替の実施態様では、ビデオソース1630は、カメラ等のビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含まれ得る遅延ビデオまたはライブビデオを生成するために使用され得る。結果として生じるビデオストリームは、随意に、レンダリング画像と、静止カメラまたはビデオカメラを使用して記録された画像との両方を含む。ビデオソース1630は、また、ビデオストリームに含まれる事前に記録したビデオを記憶するように構成されるストレージデバイスを含み得る。ビデオソース1630は、また、オブジェクト(例えば、人)の動きまたは位置を検出するように構成される動きまたは位置感知デバイスと、ゲーム状態を決定するようにまたは検出された動き及び/または位置に基づくビデオを作り出すように構成されるロジックとを含み得る。
【0127】
ビデオソース1630は、随意に、他のビデオにセットされるように構成されるオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインターフェース、命令のログ、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード(例えば、ウェブ画像ビデオ)を含み得る。タッチスクリーンインターフェースまたは視線検出インターフェースを含むクライアント1610Aの実施態様では、オーバーレイは仮想キーボード、ジョイスティック、タッチパッド、及び/または同等物を含み得る。オーバーレイの一例では、プレイヤーの声が音声ストリームにオーバーレイされる。随意に、ビデオソース1630は、さらに、1つ以上のオーディオソースを含む。
【0128】
ビデオサーバシステム1620が複数のプレイヤーからの入力に基づいてゲーム状態を維持するように構成される実施態様では、各プレイヤーは視界の位置及び方向を含む異なる視点を有し得る。ビデオソース1630は、随意に、プレイヤーの視点に基づいて、プレイヤーごとに別のビデオストリームを提供するように構成される。さらに、ビデオソース1630は、クライアント1610のそれぞれに、異なるフレームサイズ、フレームデータサイズ、及び/または符号化を提供するように構成され得る。ビデオソース1630は、随意に、3Dビデオを提供するように構成される。
【0129】
I/Oデバイス1645は、ビデオサーバシステム1620が、ビデオ、コマンド、情報に関する要求、ゲーム状態、視線情報、デバイスの動き、デバイスの場所、ユーザ運動、クライアント識別情報、プレイヤー識別情報、ゲームコマンド、セキュリティ情報、音声、及び/または同等物等の情報を送信及び/または受信するように構成される。I/Oデバイス1645は、通常、ネットワークカードまたはモデム等の通信ハードウェアを含む。I/Oデバイス1645は、ゲームサーバ1625、ネットワーク1615、及び/またはクライアント1610と通信するように構成される。
【0130】
プロセッサ1650は、本明細書で説明されるビデオサーバシステム1620の様々なコンポーネント内に含まれるロジック(例えば、ソフトウェア)を実行するように構成される。例えば、プロセッサ1650は、ビデオソース1630、ゲームサーバ1625、及び/またはクライアントクオリファイア1660の機能を行うために、ソフトウェア命令でプログラムされ得る。ビデオサーバシステム1620は、随意に、プロセッサ1650の複数のインスタンスを含む。プロセッサ1650は、また、ビデオサーバシステム1620によって受信されたコマンドを実行するために、または本明細書で説明されるゲームシステム1600の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされ得る。プロセッサ1650は1つ以上のハードウェアデバイスを含み得る。プロセッサ1650は電子プロセッサである。
【0131】
ストレージ1655は、非一時的なアナログストレージデバイス及び/またはデジタルストレージデバイスを含む。例えば、ストレージ1655は、ビデオフレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ1655は、コンピュータ可読デジタルストレージ(例えば、ハードドライブ、光学式ドライブ、またはソリッドステートストレージ)を含み得る。記憶装置1615は、ビデオフレーム、アーティフィシャルフレーム、ビデオフレーム及びアーティフィシャルフレームの両方を含むビデオストリーム、音声フレーム、音声ストリーム、及び/または同等物を記憶するように(例えば、適切なデータ構造またはファイルシステムによって)構成される。ストレージ1655は、随意に、複数のデバイス間で分散される。いくつかの実施態様では、ストレージ1655は、本明細書の他の箇所で説明されるビデオソース1630のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要に応じて、プロビジョニングできるように準備された形式で記憶され得る。
【0132】
随意に、ビデオサーバシステム1620は、さらに、クライアントクオリファイア1660を含む。クライアントクオリファイア1660は、クライアント1610Aまたは1610B等のクライアントの能力をリモートで決定するように構成される。これらの能力には、クライアント1610A自体の能力と、クライアント1610Aとビデオサーバシステム1620との間の1つ以上の通信チャネルの能力との両方を含み得る。例えば、クライアントクオリファイア1660は、ネットワーク1615を経由して、通信チャネルをテストするように構成され得る。
【0133】
クライアントクオリファイア1660は、手動または自動で、クライアント1610Aの能力を決定(例えば、知る)ことができる。手動決定は、クライアント1610Aのユーザと通信することと、ユーザに能力を提供するように求めることとを含む。例えば、いくつかの実施態様では、クライアントクオリファイア1660は、クライアント1610Aのブラウザ内に画像、テキスト、及び/または同等物を表示するように構成される。一実施態様では、クライアント1610Aはブラウザを含むHMDである。別の実施態様では、クライアント1610Aはブラウザを有するゲーム機であり、ブラウザはHMDに表示され得る。表示されたオブジェクトは、ユーザがクライアント1610Aのオペレーティングシステム、プロセッサ、ビデオデコーダのタイプ、ネットワーク接続のタイプ、表示解像度等の情報を入力することを要求する。ユーザによって入力された情報は、クライアントクオリファイア1660に返信される。
【0134】
自動決定は、例えば、クライアント1610Aでエージェントを実行することによって及び/またはテストビデオをクライアント1610Aに送信することによって行われ得る。エージェントは、ウェブページに埋め込まれた、またはアドオンとしてインストールされたジャバスクリプト等のコンピューティング命令を含み得る。エージェントは、随意に、クライアントクオリファイア1660によって提供される。様々な実施態様では、エージェントは、クライアント1610Aの処理能力、クライアント1610Aの復号能力及び表示能力、クライアント1610Aとビデオサーバシステム1620との間の通信チャネルの遅延時間の信頼性及び帯域幅、クライアント1610Aのディスプレイタイプ、クライアント1610Aに存在するファイアウォール、クライアント1610Aのハードウェア、クライアント1610Aで実行するソフトウェア、クライアント1610A内のレジストリエントリ、及び/または同等物を見つけることができる。
【0135】
クライアントクオリファイア1660は、ハードウェア、ファームウェア、及び/またはコンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア1660は、随意に、ビデオサーバシステム1620の1つ以上の他の要素から分離しているコンピューティングデバイスに配置される。例えば、いくつかの実施態様では、クライアントクオリファイア1660は、クライアント1610とビデオサーバシステム1620の複数のインスタンスとの間の通信チャネルの特徴を決定するように構成される。これらの実施態様では、クライアントクオリファイアが知った情報を使用して、ビデオサーバシステム1620のどのインスタンスが、クライアント1610のうちの1つへのストリーミングビデオの配信に最も適しているかを決定できる。
【0136】
本開示の実施態様は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含む、様々なコンピュータシステム構成によって実践できる。また、本開示は、有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによってタスクを行う分散コンピューティング環境において実践できる。
【0137】
上記の実施態様を考慮して、本開示は、コンピュータシステムに記憶されたデータを含む様々なコンピュータ実行動作を使用できることを理解されたい。これらの動作は、物理量の物理的処置を必要とする動作である。本開示の一部を形成する本明細書で説明される動作のいずれかは有用なマシン動作である。本開示は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は必要な目的のために特別に構築され得る、または本装置はコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブになるまたは構成される汎用コンピュータであり得る。具体的には、様々な汎用マシンは本明細書の教示に従って書き込まれたコンピュータプログラムによって使用できる、または、様々な汎用マシンは必要な動作を行うためにさらに特殊な装置を構築するほうがより便利になり得る。
【0138】
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして具体化できる。コンピュータ可読媒体はデータを記憶でき、その後、コンピュータシステムによってそのデータを読み取ることができる任意のデータストレージデバイスである。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学式データストレージデバイス及び非光学式データストレージデバイスを含む。コンピュータ可読媒体はネットワーク連結コンピュータシステムを通じて分散されるコンピュータ可読有形媒体を含み得、これにより、コンピュータ可読コードは分散方式で記憶及び実行される。
【0139】
操作方法が特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は操作間に行われ得る、または動作はわずかに異なる時間で発生するように調節され得るもしくは動作は処理に関連付けられる様々な間隔における処理動作の発生を可能にするシステムで分散され得ることを理解されたい。
【0140】
前述の開示は理解を明確にする目的のためにある程度詳細に説明されてきたが、添付の「特許請求の範囲」の範囲内で、特定の変更及び修正を実践できることは明らかである。したがって、本実施態様は限定的ではなく例示的であると見なされるべきであり、本開示は本明細書で与えられた詳細に限定されないが、本開示の範囲及び均等物の範囲内で修正され得る。