(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオのサーフェシング
(51)【国際特許分類】
A63F 13/86 20140101AFI20240115BHJP
A63F 13/30 20140101ALI20240115BHJP
A63F 13/52 20140101ALI20240115BHJP
H04N 21/24 20110101ALI20240115BHJP
H04N 21/2668 20110101ALI20240115BHJP
H04L 67/131 20220101ALI20240115BHJP
A63F 13/65 20140101ALN20240115BHJP
【FI】
A63F13/86
A63F13/30
A63F13/52
H04N21/24
H04N21/2668
H04L67/131
A63F13/65
(21)【出願番号】P 2022550788
(86)(22)【出願日】2021-03-05
(86)【国際出願番号】 US2021021028
(87)【国際公開番号】W WO2021178761
(87)【国際公開日】2021-09-10
【審査請求日】2022-08-23
(32)【優先日】2020-03-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】スターリッチ、マイケル
(72)【発明者】
【氏名】イップ、レイ
【審査官】安田 明央
(56)【参考文献】
【文献】特開2009-011568(JP,A)
【文献】特表2011-516103(JP,A)
【文献】特表2019-527079(JP,A)
【文献】特表2019-523596(JP,A)
【文献】米国特許出願公開第2017/0087460(US,A1)
【文献】米国特許出願公開第2018/0001216(US,A1)
【文献】米国特許出願公開第2017/0246544(US,A1)
【文献】国際公開第2017/058951(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
H04N 21/24
H04N 21/2668
H04L 67/131
(57)【特許請求の範囲】
【請求項1】
プロセッサが、ビデオゲームのそれぞれのセッションを実行する複数の第一クライアントデバイスからネットワークを介して、前記第一クライアントデバイスでの前記ビデオゲームの前記それぞれのセッションから生成されるビデオを受信することと、
前記プロセッサが、ビデオごとに、前記第一クライアントデバイスのうちの1つから前記ネットワークを介して、前記ビデオによって描写されるゲームプレイが発生する前記ビデオゲームの仮想環境内の空間位置を識別する位置メタデー
タであって
、前記ビデオのビデオフレームに相関され、所与のビデオフレームによって描写される前記ゲームプレイの前記空間位置を識別する
前記位置メタデータを受信すること
であって、前記空間位置は、前記ビデオに関する前記仮想環境を介して前記ゲームプレイの経路を規定する、受信することと、
前記プロセッサが、第二クライアントデバイスによって実行される前記ビデオゲームのセッション中に、前記ネットワークを介して、前記セッション中に発生する前記ゲームプレイの前記仮想環境内の現在の空間位置を受信することと、
前記プロセッサが、前記現在の空間位置
に近接する領域と交差する経路を有する前記ビデオのうちの1つ以上を選択することと、
前記プロセッサが、前記ネットワークを介して、
前記第二クライアントデバイスによる前記ゲームプレイにおいて前記選択されたビデオを前記第二クライアントデバイスに表示できるように前記選択されたビデオを前記第二クライアントデバイスに提示することと、
前記プロセッサが、前記現在の空間位置の更新に応答して、更新された前記現在の空間位置に基づいて前記ビデオの前記選択を更新することと、
を含む、方法。
【請求項2】
所与のビデオの前記位置メタデータを受信することは、前記ネットワークを介して前記所与のビデオを前記受信することと実質的に同時に発生する、請求項1に記載の方法。
【請求項3】
前記所与のビデオ、及び前記所与のビデオの前記位置メタデータは、前記ネットワークを介して、前記所与のビデオを生成する前記第一クライアントデバイスから同期してストリーミングされる、請求項2に記載の方法。
【請求項4】
前記仮想環境内の前記現在の空間位置は、前記仮想環境内の仮想キャラクターまたは仮想オブジェクトの現在の空間座標によって規定される、請求項1に記載の方法。
【請求項5】
前記仮想環境内の空間位置を識別する前記位置メタデータは、前記仮想環境内の仮想キャラクターまたは仮想オブジェクトの経時的な空間座標によって規定される、請求項1に記載の方法。
【請求項6】
前記位置メタデータは、前記ビデオゲームのチャプター、レベル、またはシーンを識別する、請求項1に記載の方法。
【請求項7】
前記ビデオのうちの1つ以上を選択することは、前記ビデオのうちの1つ以上が前記現在の空間位置に近接する空間位置を識別する位置メタデータを有することを識別することを含む、請求項1に記載の方法。
【請求項8】
前記選択されたビデオを提示することは、前記選択されたビデオのそれぞれについてのプレビュー画像を表示することを含む、請求項1に記載の方法。
【請求項9】
前記プロセッサが、前記選択されたビデオのうちの1つの再生要求を受信することと、
前記プロセッサが、前記再生要求に応答して、前記選択されたビデオのうちの前記1つを前記第二クライアントデバイスにストリーミングすることと、
をさらに含む、請求項1に記載の方法。
【請求項10】
プログラム命令を有する非一時的なコンピュータ可読媒体であって、
前記プログラム命令は、前記非一時的なコンピュータ可読媒体上で具現化され、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに方法を実行させ、
前記方法は、
前記コンピューティングデバイスのプロセッサが、ビデオゲームのそれぞれのセッションを実行する複数の第一クライアントデバイスからネットワークを介して、前記第一クライアントデバイスでの前記ビデオゲームの前記それぞれのセッションから生成されるビデオを受信することと、
前記プロセッサが、ビデオごとに、前記第一クライアントデバイスのうちの1つから前記ネットワークを介して、前記ビデオによって描写されるゲームプレイが発生する前記ビデオゲームの仮想環境内の空間位置を識別する位置メタデー
タであって、前記ビデオのビデオフレームに相関され、所与のビデオフレームによって描写される前記ゲームプレイの前記空間位置を識別する
前記位置メタデータを受信すること
であって、前記空間位置は、前記ビデオに関する前記仮想環境を介して前記ゲームプレイの経路を規定する、受信することと、
前記プロセッサが、第二クライアントデバイスによって実行される前記ビデオゲームのセッション中に、前記ネットワークを介して、前記セッション中に発生する前記ゲームプレイの前記仮想環境内の現在の空間位置を受信することと、
前記プロセッサが、前記現在の空間位置
に近接する領域と交差する経路を有する前記ビデオのうちの1つ以上を選択することと、
前記プロセッサが、前記ネットワークを介して、
前記第二クライアントデバイスによる前記ゲームプレイにおいて前記選択されたビデオを前記第二クライアントデバイスに表示できるように前記選択されたビデオを前記第二クライアントデバイスに提示することと、
前記プロセッサが、前記現在の空間位置の更新に応答して、更新された前記現在の空間位置に基づいて前記ビデオの前記選択を更新することと、
という操作を含む、前記非一時的なコンピュータ可読媒体。
【請求項11】
所与のビデオの前記位置メタデータを受信することは、前記ネットワークを介して前記所与のビデオを前記受信することと実質的に同時に発生する、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項12】
前記所与のビデオ、及び前記所与のビデオの前記位置メタデータは、前記ネットワークを介して、前記所与のビデオを生成する前記第一クライアントデバイスから同期してストリーミングされる、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項13】
前記仮想環境内の前記現在の空間位置は、前記仮想環境内の仮想キャラクターまたは仮想オブジェクトの現在の空間座標によって規定される、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記仮想環境内の空間位置を識別する前記位置メタデータは、前記仮想環境内の仮想キャラクターまたは仮想オブジェクトの経時的な空間座標によって規定される、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記位置メタデータは、前記ビデオゲームのチャプター、レベル、またはシーンを識別する、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記ビデオのうちの1つ以上を選択することは、前記ビデオのうちの1つ以上が前記現在の空間位置に近接する空間位置を識別する位置メタデータを有することを識別することを含む、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記選択されたビデオを提示することは、前記選択されたビデオのそれぞれについてのプレビュー画像を表示することを含む、請求項10に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記方法は、
前記プロセッサが、前記選択されたビデオのうちの1つの再生要求を受信することと、
前記プロセッサが、前記再生要求に応答して、前記選択されたビデオのうちの前記1つを前記第二クライアントデバイスにストリーミングすることと、
という操作をさらに含む、請求項10に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオをサーフェシングするためのシステム及び方法に関する。
【背景技術】
【0002】
関連技術の説明
ゲーム業界の拡大している分野は、ゲームプレイビデオの共有、及びゲームプレイの観戦の分野である。ユーザは、今では、ウェブサイト、ソーシャルメディアなどを介してゲームプレイを記録して共有することができる。さらに、ユーザはゲームプレイをライブストリーミングすることができるため、他のユーザは、ゲームプレイが実質的にリアルタイムで発生すると同時に、それらのゲームプレイを視聴することができる。
【0003】
ゲーム業界の別の現在の傾向は、クラウドゲームへの移行である。クラウドゲームは、ビデオゲームのリソースを保証できるデータセンタでビデオゲームのリモート実行を可能にすることにより、エンドユーザに利点を提供する。リモートで実行されるビデオゲームによって生成されたビデオは、ユーザの機器にストリーミングされ、ユーザからの入力はデータセンタに送り返される。これにより、ゲーム自体を実行するためにエンドユーザが特定のハードウェアを所有する必要がなくなる。むしろ、エンドユーザはゲームプレイをストリーミングするのに十分なハードウェアを所有するだけでよいにもかかわらず、高品質のゲームエクスペリエンスを楽しむことができる。さらに、理論的には、クラウドゲームは、ネットワーク接続が利用可能な任意の場所からのゲームを可能にする。
【0004】
ビデオゲーム業界の継続的な傾向は、最新のゲームエンジンの要求を満たすために、グラフィックスの高度化、及びコンピューティングリソースの可用性を増すことである。ビデオゲームが進化するにつれて、それらの解像度及びフレームレートが増加し続けることで、非常にリアルで詳細な仮想環境のレンダリングが可能になる。さらに、クラウドゲームの人気は高まり続けており、クラウドで実行されるビデオゲームへの移行により、高品質のゲームエクスペリエンスへのアクセスがさらに容易になることができる。
【0005】
このような背景で、本開示の実施形態は生じる。
【発明の概要】
【0006】
本開示の実施態様は、ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオをサーフェシングするためのシステム及び方法を提供する。
【0007】
いくつかの実施態様では、方法が提供され、方法は、以下の、ビデオゲームのそれぞれのセッションを実行する複数の第一クライアントデバイスからネットワークを介して、第一クライアントデバイスでのビデオゲームのそれぞれのセッションから生成されるビデオを受信することと、ビデオごとに、第一クライアントデバイスのうちの1つからネットワークを介して、ビデオによって描写されるゲームプレイが発生するビデオゲームの仮想環境内の空間位置を識別する位置メタデータを受信することであって、位置メタデータはビデオのビデオフレームに相関され、所与のビデオフレームによって描写されるゲームプレイの空間位置を識別する、受信することと、第二クライアントデバイスによって実行されるビデオゲームのセッション中に、ネットワークを介して、セッション中に発生するゲームプレイの仮想環境内での現在の空間位置を受信することと、現在の空間位置を使用してビデオのうちの1つ以上を選択することと、ネットワークを介して、選択されたビデオを第二クライアントデバイスに提示することと、という操作を含む。
【0008】
いくつかの実施態様では、所与のビデオの位置メタデータを受信することは、ネットワークを介して所与のビデオを受信することと実質的に同時に発生する。
【0009】
いくつかの実施態様では、所与のビデオ、及び所与のビデオの位置メタデータは、ネットワークを介して、所与のビデオを生成する第一クライアントデバイスから同期してストリーミングされる。
【0010】
いくつかの実施態様では、仮想環境内の現在の空間位置は、仮想環境内の仮想キャラクターまたは仮想オブジェクトの現在の空間座標によって規定される。
【0011】
いくつかの実施態様では、仮想環境内の空間位置を識別する位置メタデータは、仮想環境内の仮想キャラクターまたは仮想オブジェクトの経時的な空間座標によって規定される。
【0012】
いくつかの実施態様では、位置メタデータは、ビデオゲームのチャプター、レベル、またはシーンを識別する。
【0013】
いくつかの実施態様では、現在の位置を使用してビデオのうちの1つ以上を選択することは、ビデオのうちの1つ以上が現在の空間位置に近接する空間位置を識別する位置メタデータを有することを識別することを含む。
【0014】
いくつかの実施態様では、選択されたビデオを提示することは、選択されたビデオのそれぞれについてのプレビュー画像を表示することを含む。
【0015】
いくつかの実施態様では、方法は、選択されたビデオのうちの1つの再生要求を受信することと、再生要求に応答して、選択されたビデオのうちの1つを第二クライアントデバイスにストリーミングすることとをさらに含む。
【0016】
いくつかの実施態様では、プログラム命令を有する非一時的なコンピュータ可読媒体が提供され、プログラム命令は、非一時的なコンピュータ可読媒体上で具現化され、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに方法を実行させ、この方法は、以下の、ビデオゲームのそれぞれのセッションを実行する複数の第一クライアントデバイスからネットワークを介して、第一クライアントデバイスでのビデオゲームのそれぞれのセッションから生成されるビデオを受信することと、ビデオごとに、第一クライアントデバイスのうちの1つからネットワークを介して、ビデオによって描写されるゲームプレイが発生するビデオゲームの仮想環境内の空間位置を識別する位置メタデータを受信することであって、位置メタデータはビデオのビデオフレームに相関され、所与のビデオフレームによって描写されるゲームプレイの空間位置を識別する、受信することと、第二クライアントデバイスによって実行されるビデオゲームのセッション中に、ネットワークを介して、セッション中に発生するゲームプレイの仮想環境内での現在の空間位置を受信することと、現在の空間位置を使用してビデオのうちの1つ以上を選択することと、ネットワークを介して、選択されたビデオを第二クライアントデバイスに提示することと、という操作を含む。
【0017】
本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例を挙げて示す下記の詳細な説明から明らかになるであろう。
【0018】
本開示は、そのさらなる利点と共に、添付図面と併せて下記の説明を参照することにより、最も良く理解され得る。
【図面の簡単な説明】
【0019】
【
図1】本開示の実施態様による、ビデオゲームのゲームプレイビデオをブロードキャストし、ビデオゲームのゲームプレイと併せて再生するためにゲームプレイビデオを格納して分析するためのシステムを概念的に示す。
【
図2】本開示の実施態様による、ゲームプレイビデオストリーム及び関連メタデータを使用して、有用な情報を生成し、プレイヤー及びゲームデベロッパーに新しい特徴を提供するためのプロセスを概念的に示す。
【
図3】本開示の実施態様による、ユーザの現在のゲームプレイと相関されるさまざまなゲームプレイビデオを概念的に示す。
【
図4】本開示の実施態様による、仮想環境内のゲームプレイビデオのさまざまな交差経路を概念的に示す。
【
図5】本開示の実施態様による、仮想環境内でさまざまな方向を向いているユーザ、及び結果として提示されているさまざまなゲームプレイビデオを概念的に示す。
【
図6】本開示の実施態様による、ユーザのゲームプレイ経路に基づいたゲームプレイビデオの選択を概念的に示す。
【
図7】本開示の実施態様による、リプレイビデオ中にコントローラ入力時系列を使用することを概念的に示す。
【
図8A】本開示の実施態様による、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。
【
図8B】本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行されるさまざまな操作を概念的に示す流れ図である。
【
図9】本開示の実施態様による、情報サービスプロバイダアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【0020】
以下の説明では、本開示の完全な理解を提供するために、多くの具体的な詳細が述べられている。しかしながら、本開示は、これらの具体的な詳細の一部または全てがなくとも実践され得ることが、当業者には明らかであろう。他の例では、本開示を不明瞭にしないために、周知のプロセスステップについては詳細に記載していない。
【0021】
現在、プレイヤーはゲームプレイビデオを録画して共有してもよく、またはそれらのようなビデオをブロードキャストしてもよい。ストリーミングサービスにより、ユーザは、インターネットを介してゲームプレイビデオをライブストリーミングすることができ、観客は、ウェブサイト、ゲームプラットフォーム、モバイルアプリ、またはその他のタイプのコンテンツプラットフォームを介して他のユーザのゲームプレイビデオにアクセスして観戦することができる。ただし、それらのようなビデオは、プレイされているゲームのレベル、チャプター、または部分に関するいかなる情報も提供しない。これらのビデオは、ゲームに関するランスルーまたはチュートリアルを提供するために他のユーザに有用である可能性がある。ただし、既存のシステムでは、それらのようなビデオをカタログ化するために必要な情報を何らかの方法で手動で提供する必要がある。すなわち、誰かが手動でビデオを見て、ユーザがゲーム内のどこでプレイしているかを判定する必要がある。それでも、仮想環境内の所与のプレイヤーの正確な座標位置など、より具体的な情報はまだわからない。
【0022】
実際、ゲームデベロッパーまたはパブリッシャーにとっての現在の問題は、ユーザに効率的な方法でヘルプビデオを提供したいが、現在はそうすることができないということである。ヘルプビデオが制作される限り、それらは、制作するのにリソース集約型である、まさに手動のプロセスを通じて制作される。さらに、それらは、カバーするのに適していると思われるゲームエリアに対してのみ制作され、多くのユーザが実際にプレイするのに苦労しているゲームエリアをカバーしない場合がある。また、それらは、制作するために選択される特定のヘルプビデオに限定されるため、より幅広いユーザ層が生成するゲームプレイへの多くのさまざまなスタイルまたはアプローチをカバーしない。
【0023】
それらのような問題に対処するために、本開示の実施態様は、関連するメタデータがゲームプレイブロードキャストストリームに追加されるシステム及び方法を提供することで、ゲームプレイのナレッジ(例えば、チャプター、レベル、(x,y,z)座標など)を使用してさまざまなゲームプレイビデオをインテリジェントに収集することが可能になる。そのような情報を使用して、システムは、ゲームプレイビデオをインテリジェントにカタログ化し、例えば、所与のレベルのマップまたはランスルーを作成することができる。プレイヤーがゲームの特定のエリアで苦労している場合、システムは、以前に記録されたゲームの同じエリアからのビデオにプレイヤーを誘導することができる。
【0024】
このようにして、ブロードキャストされる、または共有される全てのランスルーに関するデータが収集され、ゲーム支援の可用性は、ゲームコンテンツのクリエイターがヘルプビデオなどの追加のドキュメントを作成するために特定のエリアにフラグ付けしたかどうかに依存しない。誰かが特定のエリア内でゲームをプレイした場合、そのエリアに関して見るビデオコンテンツがある。
【0025】
図1は、本開示の実施態様による、ビデオゲームのゲームプレイビデオをブロードキャストし、ビデオゲームのゲームプレイと併せて再生するためにゲームプレイビデオを格納して分析するためのシステムを概念的に示す。例示的な実施形態では、ユーザ100は、クライアントデバイス102によって実行されるビデオゲーム106のゲームプレイに従事する。クライアントデバイス102が、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、タブレット、携帯電話、モバイルデバイスなど、ゲームプレイのビデオゲームを実行することができる任意の種類のコンピューティングデバイスであり得ることが理解されよう。実行中のビデオゲーム106から生成されたゲームプレイビデオ115は、ディスプレイ114に提示されるためにクライアントデバイス102によってレンダリングされる。いくつかの実施態様では、ディスプレイ114は、テレビ、モニター、ヘッドマウントディスプレイなどのような、クライアントデバイスとは別個のデバイスである。いくつかの実施態様では、ディスプレイ114は、クライアントデバイス102と統合される。ディスプレイ114が、LCD、LED、OLED、AMOLED、QLED、プラズマなどのようなさまざまな電子ディスプレイ技術のいずれかを用いることができることが理解されよう。
【0026】
本開示における説明を容易にするために、特に明記されない限り、または説明から明らかでない限り、本開示における「ビデオ」または「ゲームプレイビデオ」は、ビデオゲームの画像及び音を表現するために使用される動画データ及び音声データの両方を含む、または指すことができる。
【0027】
いくつかの実施態様では、ゲームプレイビデオ115は、他のユーザが観戦するために、ネットワーク122を介してストリーミングされる、またはブロードキャスト(ライブ)される。例示的な実施態様では、ゲームプレイビデオをエンコードするビデオストリーム118は、クライアントデバイス102からネットワーク122を介してゲームプレイ処理システム124に、より具体的にはゲームプレイ処理システム124に含まれるブロードキャストサーバ126に伝送される。ブロードキャストサーバ126は、ビデオストリーム118をさらに処理し、ユーザ130などの他のユーザが観戦するために、ライブゲームプレイビデオ128aをブロードキャストすることができると、他のユーザは、デバイス132を介してゲームプレイビデオを観戦することができる。いくつかの実施態様では、ブロードキャストサーバ126は、ゲームプレイビデオをライブストリーミングし、観客がアクセスすることができるウェブサイトを提供する。いくつかの実施態様では、ブロードキャストサーバ126は、専用ゲームコンソールのゲームプラットフォーム、モバイルデバイス上のアプリ、ビデオ共有サイト、ソーシャルネットワークサービスなどを介してなど、専用インタフェースを介して、それらのようなゲームプレイビデオを提供するように構成される。
【0028】
ブロードキャストサーバ126は、ライブストリーミングされた、または以前に記録されたゲームプレイビデオであることができる、ゲームプレイビデオ128bなどの他のゲームプレイビデオを観客が観戦するためのアクセスを提供する。さらに、ブロードキャストサーバ126は、ゲームプレイビデオをビデオストレージ134に格納する。
【0029】
本開示の実施態様によれば、ビデオゲーム106からのメタデータ120もまた、ビデオストリーム118と共にストリーミングされる。メタデータ120は、ビデオストリーム118によって定義されるゲームプレイビデオの時系列またはビデオフレームに相関される(またはリンクする、またはいくつかの実施態様では同期する)。メタデータ120は、プレイされているレベルまたはチャプターなどのゲームプレイビデオで発生するゲームプレイ、所与の仮想オブジェクトまたはキャラクターの空間位置などのゲームプレイの空間位置、ゲームプレイ内のイベントまたはアクションなどに関する情報を含む。メタデータをゲームプレイビデオの時系列に相関させることにより、メタデータを使用して、ゲームプレイビデオ中の特定の瞬間ごとに何が発生しており、どこで(時間的または空間的に)イベントが発生しているかを理解することができることが理解されよう。
【0030】
いくつかの実施態様では、メタデータは、ビデオゲーム106のAPI108を介してアクセスされる。いくつかの実施態様では、メタデータは、クライアントデバイス102のオペレーティングシステム110を介して実行するアプリケーション112によって取得される。いくつかの実施態様では、アプリケーション112は、オペレーティングシステム110のサービスである。いくつかの実施態様では、メタデータ120は、別個のデータチャネルを介してゲームプレイ処理システム124にストリーミングされる。一方、他の実施態様では、ある特定のビデオフォーマットがメタデータの伝送に有効であり、利用されることができる追加のフィールドを提供する場合、メタデータはビデオストリーム自体に埋め込まれる。
【0031】
前述のように、ブロードキャストサーバ126は、ゲームプレイ処理システム124の一部として含まれる。ビデオストリーム及びメタデータは、ネットワーク122を介してゲームプレイ処理システム124に、いくつかの実施態様では、より具体的にはブロードキャストサーバ126に伝送される。メタデータ120は、メタデータストレージ136に格納される。
【0032】
アナライザ138は、ゲームプレイビデオ及びそれらに対応するメタデータを分析するように構成される。そうすることで、アナライザ138は、ゲームプレイビデオをさらに特徴付ける、またはゲームプレイビデオに関する追加情報を提供することができる所与のゲームプレイビデオの追加のメタデータを生成することができ、次に、これを使用して、それらのような特性または情報に基づいてゲームプレイビデオのフィルタリング及び検索を可能にすることができる。いくつかの実施態様では、アナライザ138は、機械学習または人工知能プロセスを使用して、ゲームプレイビデオ及びそれらに関連するメタデータを分析することができることで、所与のゲームプレイビデオで何が起こっているかをより深く理解することができる。
【0033】
ビデオ検索サーバ140は、視聴者/プレイヤーが格納されたゲームプレイビデオを見ることを可能にする検索機能を公開するように構成される。ゲームプレイビデオの検索は、例えば、人気、視聴回数、サブスクライバ数、ソーシャルネットワーク/グラフでの視聴者とオーサーの関係(例えば、ソーシャルネットワーク上のユーザのフレンドリストからのビデオを優先させる)、プレイスルー速度など、さまざまな要因に基づいてゲームプレイビデオをフィルタリングする、またはランク付けすることができる。
【0034】
いくつかの実施態様では、ゲームプレイビデオは、ビデオゲームをプレイするユーザにヘルプまたは支援を提供する目的で検索され、サーフェシングされる。例えば、クライアントデバイス102のアプリケーション112は、ビデオゲーム106のユーザの現在のゲームプレイに関連するゲームプレイビデオを取得するために、ビデオ検索サーバ140にアクセスするように構成されることができる。この一例は、ユーザが現在位置している位置と同じまたは同様の位置からのゲームプレイを特徴とするゲームプレイビデオを提供することである。限定ではなく例として、アプリケーション112は、ビデオゲームでのユーザの現在の位置(例えば、ビデオゲームの仮想環境内のユーザによって制御される仮想キャラクターの位置)を取得することができ、この位置を使用してビデオ検索サーバ142にアクセスし、ユーザの位置と同じ位置またはそれに近接した位置からのゲームプレイを示すビデオを検索することができる。このようにして、システムは、ユーザ100に、ビデオゲーム内でユーザがいる位置にローカライズされるコンテンツを提供することができる。
【0035】
ビデオゲーム内の位置がビデオゲームの仮想環境内の空間位置であると理解されることができるが、本開示の目的のために、ビデオゲーム内の位置がビデオゲームのコンテキスト内の時間位置、または進行状況もしくはストーリーラインの位置でもあり得ることが理解されよう。例えば、ビデオゲームは、ユーザがビデオゲームを介して進行するために、一連のタスクまたは成果を実行する必要がある場合がある。したがって、これらのタスクの成果は、ユーザによって達成されるビデオゲーム内の進行状況の程度を定義するために使用されることができる。そのような進行状況は、ビデオゲームのストーリーライン内で具体的に定義されたレベル、チャプター、シーン、またはその他のセグメントに相関されることもできる。これらの種類の進行状況インジケータのいずれかを使用して、ビデオゲーム内のユーザの位置を規定することができると、上記のように、この位置を使用して、ユーザにローカライズされたコンテンツを提供することができることが理解されよう。
【0036】
一部の実施態様では、ビデオ検索の結果をゲーム内のユーザにサーフェシングすることができる。例えば、いくつかの実施態様では、ユーザ100は、ゲームプレイを一時停止し、関連するゲームプレイビデオを表示するように、可能ならゲームプレイ中にユーザを援助するように、または単に他のユーザがゲーム内の同じ位置もしくは同様の位置でプレイすることによって代替のランスルーをユーザが視聴することを可能にするように、要求することができる。例示的な実施態様では、検索は上記のように実行され、結果として得られる関連するゲームプレイビデオ116a、116b、及び116cが画面上に示される。いくつかの実施態様では、アプリケーション112は、いくつかの実施態様では結果として得られるビデオのプレビュー画像を含むことができる、ゲームプレイビデオの結果を提示するようにゲーム画面上にオーバーレイ(例えばダッシュボード)をレンダリングするように構成される。ユーザ100は、ビデオ116a、116b、または116cのうちの1つを選択して(例えば、ビデオのプレビュー画像を選択して)、選択されたビデオの再生を開始することができる。
【0037】
ビデオゲームの実行は、クライアントデバイス102で発生するものとして説明されてきたが、他の実施態様では、ビデオゲームがクラウドで実行され得ることが理解されよう。すなわち、ビデオゲームは、クラウドゲームサーバ/コンピュータで実行されることができ、ゲームプレイはネットワークを介してクライアントデバイスにストリーミングされる。したがって、アプリケーション112の機能など、上記のようなクライアントデバイスの他の機能をクラウドで実行することができる。
【0038】
図2は、本開示の実施態様による、ゲームプレイビデオストリーム及び関連メタデータを使用して、有用な情報を生成し、プレイヤー及びゲームデベロッパーに新しい特徴を提供するためのプロセスを概念的に示す。例示的な実施態様の左側に示されているのは、ビデオストリーム時系列200、進行状況メタデータ202、イベントメタデータ204、座標ベクトル時系列206、及びコントローラ入力時系列208を含む、実行中のビデオゲームから生成されるさまざまな情報である。ビデオストリーム時系列200は、ゲームプレイビデオのビデオフレームのタイミング及びシーケンスを識別する情報を有するストリーミングされたゲームプレイビデオからなることにより、ゲームプレイビデオに関連するメタデータまたは他の情報をゲームプレイビデオでの特定の時点またはビデオフレームに相関させることができる。いくつかの実施態様では、ビデオストリーム時系列200は、所与のゲームプレイビデオ内のビデオフレームのタイムコードまたはシーケンスの番号付けを含む。
【0039】
進行状況メタデータ202は、所与のゲームプレイビデオによって示されるゲームプレイの所与の瞬間に達成されたビデオゲームの進行状況の程度を識別する情報を含む。限定ではなく例として、進行状況メタデータ202は、ビデオゲームのストーリーラインでプレイされている部分のレベル、チャプター、シーン、セクション、セグメント、または他の識別子などの情報を含むことができる。いくつかの実施態様では、進行状況メタデータ202は、ゲームプレイ中に発生する自動保存からなど、ゲーム保存スナップショットからのデータを含むことができる。いくつかの実施態様では、進行状況メタデータ202は、生死の結果など、他の進行状況インジケータを含むことができる。イベントデータ204は、ゲームプレイ中に発生する特定のイベントを識別する情報を含む。それらのようなイベントが、さまざまなタスク、成果、達成、仮想オブジェクトの取得、敵のキル、プレイヤーのデス、スキルの開発、移動、コンボなど、ビデオゲームのコンテキストで発生し得るさまざまな発生率またはアクションのいずれかを含むことができることが理解されよう。
【0040】
座標ベクトル時系列206は、ゲームプレイ中の時時刻刻のビデオゲームの仮想環境におけるユーザの空間位置及び方向を識別する情報を含む。これは、例えばユーザが制御する仮想キャラクターまたはオブジェクトの、例として、三次元仮想空間内の3D座標、及び仮想空間内のベクトル方向によって規定されることができる。ベクトル方向により、仮想キャラクターまたはオブジェクトが仮想空間内で向いている方向、または移動している方向を識別することができ、そのような移動率または移動速度をさらに識別することができる。コントローラ入力時系列208は、ビデオゲームのゲームプレイ中にユーザインタラクティビティを通じて生成される、ビデオゲームに供給されるコントローラ入力またはコマンドを識別する情報を含む。
【0041】
ビデオストリーム時系列200、進行状況メタデータ202、イベントメタデータ204、座標ベクトル時系列206、及びコントローラ入力時系列208のそれぞれがゲームプレイビデオのタイミング及び/またはビデオフレームに相関される場合、この情報を利用して、ゲームプレイのフレームまたは瞬間ごとにゲームプレイビデオで何が起こっているかを決定して分析することができることが理解されよう。分析プロセス210は、前述の情報を分析して、さまざまな情報を決定し、現在説明されているようにさまざまな特徴を提供するように構成される。
【0042】
いくつかの実施態様では、分析プロセス210は、収集されたデータを使用してゲームアリーナマップを構築する時空間(または時間空間的)認識プロセスを含む。例えば、時空間認識プロセスは、ビデオストリーム時系列200及び座標ベクトル時系列206を使用して、ゲームワールドマップをコラージュすることにより、ゲームアリーナのゲーム内ビューを構築することができる。これは、空間認識を利用して、ゲームコードの事前の知識がなくても、レガシーまたはサードパーティのゲームワールドを再構築することができるため、特に有用であることができる。いくつかの実施態様では、時空間認識プロセスは、ゲームの仮想環境の特定のビューを特定の位置にマッピングし、この仮想環境内の方向(または視点)を表示する。いくつかの実施態様では、時空間認識プロセスは、例えば所与の3D空間の提供されたビューに基づいて写真測量タイプの技術または他のタイプの3Dマッピング技術を利用して、3Dゲームアリーナマップを生成することができる。すなわち、プロセスは、ゲームプレイビデオの画像フレームのコンテンツを分析し、画像フレームがレンダリングされた視点を識別する座標ベクトル時系列を使用することによって、ビデオゲーム仮想環境の3Dジオメトリを決定することができる。
【0043】
さらに、分析プロセス210は、提供された情報を使用してプレイヤーのビヘイビアを分析するように構成されることができる。限定ではなく例として、分析プロセスは、ゲームの仮想環境内の位置の空間的人気214を決定することができる。分析プロセス210は、経時的に多くのユーザからのゲームプレイビデオを分析し、仮想環境の異なるエリアを訪問するユーザ数を決定して追跡することができる。このようにして、特定のゲームエリアの人気を決定することができる。このような情報は、ゲームプレイヤーのビヘイビア分析のために、そしてゲーム関連の試みを人気のあるエリアに集中させるために有用であることができる。例えば、人気のあるエリアをゲーム内広告配置の対象にし、開発の試み(アーティストの時間など)をブロードキャストなどに集中させることができる。同様に、ゲームのあまり人気のないエリアを識別し、それらの人気を上げるために改善の対象にすることができる。
【0044】
いくつかの実施態様では、分析プロセス210は、ゲームアリーナマップの視覚的タグ216を生成するように構成されることができる。例として、視覚的タグは、ゲームアリーナマップ内の特定の位置に関連付けられている、ゲームプレイビデオから生成される、サムネイル画像またはゲームプレイビデオクリップでさえあり得る。このようにして、ゲームアリーナマップを視聴しているユーザは、ゲームの特定のエリアからの画像を見ることができる。
【0045】
説明されたように、いくつかの実施態様では、分析プロセス210は、例えばランスルービデオを提供してプレイヤーを支援するために、ゲームプレイビデオの検索及びフィルタリング(参照番号218)することをさらに可能にすることができる。
【0046】
さらに、分析プロセス210は、プレイヤービヘイビア220を分析して決定するように構成されることができる。例えば、所与のゲームプレイビデオを分析して、ゲームプレイビデオを生成するプレイヤーのスキルレベルを決定することができる。プレイヤーのスキルレベルはゲームプレイビデオに関連付けられることができるため、スキルレベルは、他のユーザのゲームプレイビデオをフィルタリングする目的で利用されることができる。例えば、現在プレイしているユーザのスキルレベルを決定することができると、同様のスキルレベルのプレイヤーからのビデオをユーザに提供することができる。プレイヤービヘイビアの別の例として、特定の時間位置または空間位置での特定のプレイヤーのアクションが識別されることができる。失敗した結果につながるアクションに対する成功した結果につながるアクションが識別されることができる。このような情報は、プレイヤーにヒントを提供するために使用されることができる。
【0047】
図3は、本開示の実施態様による、ユーザの現在のゲームプレイと相関されるさまざまなゲームプレイビデオを概念的に示す。参照番号300で示される棒は、ビデオゲームのゲームプレイ中のユーザの進行状況を概念的に示す。棒に沿って左から右への移行は、ビデオゲームのゲームプレイのコンテキストでのユーザによる進行状況を表す。ストーリーラインの時間的トラバーサル、仮想環境の空間的トラバーサル、及び/またはビデオゲームのコンテキストでの進行状況を定義する他のタイプのトラバーサルを進行状況が含むことができることが理解されよう。以前に記録されたさまざまなゲームプレイビデオ302、304、及び306もまた、概念的に示され、棒として表される。ユーザのゲームプレイ300並びにさまざまなゲームプレイビデオ302、304、及び306の垂直方向にアライメントされた部分が、類似または同じ進行状況を示すことが理解されよう。
【0048】
したがって、図示された実施態様では、ユーザのゲームプレイが所与の進行状況308に進行したとき、これは、ゲームプレイビデオ302での時点303、及びゲームプレイビデオ304での時点305に対応し、これらは、それぞれのゲームプレイビデオでの時点であり、これらの時点では、同等の進行状況または同様の進行状況に達する。例えば、進行状況308は、仮想環境内の空間位置によって定義され得、その場合、ゲームプレイビデオ302及び304の時点303及び305は、ゲームプレイが同じ空間位置で行われたゲームプレイビデオでのそれぞれの時点を表す。また例として、進行状況308は、ビデオゲームのストーリーラインコンテキストでの時間位置または達成レベルによって定義され得、その場合、ゲームプレイビデオ302及び304の時点303及び305は、ゲームプレイがストーリーラインコンテキスト内で同じまたは類似の時間位置または達成レベルに到達したゲームプレイビデオでのそれぞれの時点を表す。
【0049】
前述のように、システムは、ユーザのゲームプレイを支援するためのヘルプビデオを提供する目的で、それらのようなゲームプレイビデオを提示することができる。したがって、ビデオが提供されるとき、再生は、ユーザの進行状況と同じまたは同様の進行状況に対応する時点で開始されるように構成されることができる。この場合、再生は、ゲームプレイビデオ302での時点303またはゲームプレイビデオ304での時点305で開始されることにより、ビデオ内でユーザの関連部分までスキップされる。一部の実施態様では、ユーザに、ビデオを表示するときより前のコンテキストを提供するように、再生は、ユーザの進行状況にマッチングするよりも少し前の時点(例えば、数秒前などの所定の量)で開始されるように構成されることができる。
【0050】
説明されるように、ヘルプビデオは、ユーザの現在の進行状況への対応に基づいて検索され、フィルタリングされることができる。したがって、図示された実施態様では、ユーザのゲームプレイ300が進行状況308にあるとき、進行状況308に関する進行の観点からオーバーラップしていないゲームプレイビデオ306がヘルプビデオとして提示されないが、ゲームプレイビデオ302及び304は、ヘルプビデオとして提示され得る。ただし、ユーザのゲームプレイ300が進行状況310に進行した場合、ヘルプビデオとして、ゲームプレイビデオ302が提示されないが、ゲームプレイビデオ306は提示されることができる。
【0051】
ユーザに提示するためにゲームプレイビデオを検索してフィルタリングするために利用されることができる追加の態様は、関連する時点で開始されたときのゲームプレイビデオでの残り時間の態様である。
図3の図示された実施態様を引き続き参照すると、ユーザのゲームプレイ300が進行状況308にあるときに、ゲームプレイビデオ302の再生が時点303で開始される場合、ゲームプレイビデオ302での残りの量(時間または進行状況)312がある。一方、ゲームプレイビデオ304の再生が時点305で開始される場合、ゲームプレイビデオ304での残りの量314がある。いくつかの実施態様では、関連する時点でゲームプレイが開始されるときの残り時間を使用して、ユーザに提示するためにゲームプレイビデオをフィルタリングする、または優先順位付けすることができる。したがって例として、ゲームプレイビデオ304での残りの量314がゲームプレイビデオ302での残りの量312よりも多いので、ゲームプレイビデオ304は、ヘルプビデオとしてゲームプレイビデオ302よりも優先され得ることで、ゲームプレイビデオ304が選択される場合、ユーザはより長い再生を楽しむことができる。いくつかの実施態様では、ゲームプレイビデオでの残りの量が所定の量より少ない場合、そのようなゲームプレイビデオは、視聴するビデオ部分の持続時間が短すぎることで、ユーザに有用ではない可能性が高いため、ユーザにサーフェシングされない、または提示されない。
【0052】
同様に、ユーザのゲームプレイが進行状況310に進行したときに、ゲームプレイビデオ304の再生が時点307で開始される場合、視聴されるべきゲームプレイビデオの残りの量316が存在する。一方、ゲームプレイビデオ306の再生が時点309で開始される場合、視聴される残りの量318があり、この量は量316よりも著しく多い。したがって、いくつかの実施態様では、ゲームプレイビデオ306は、ゲームプレイビデオ304よりも視聴するために優先される。
【0053】
図4は、本開示の実施態様による、仮想環境内のゲームプレイビデオのさまざまな交差経路を概念的に示す。ビデオゲームのゲームプレイの経過中に、ユーザは、仮想環境400内の位置P
0に位置していることができる。いくつかの実施態様では、位置P
0は、仮想環境400内の三次元空間位置によって規定され、三次元座標(x
0,y
0,z
0)によってさらに識別され得る。位置P
0に位置している場合、以前に記録されたゲームプレイビデオV
1、V
2、及びV
3は、説明されたように、ユーザにサーフェシングされ得る。これらのゲームプレイビデオは、ビデオ内のあるポイントで位置P
0と同じ位置または近接した位置でゲームプレイが発生したものであるため、既存の記録されたゲームプレイビデオのより大きな本体から選択されている。
【0054】
ビデオゲームのプレイヤーが仮想環境400を介してさまざまな経路を取ることができることで、さまざまなゲームプレイビデオが仮想環境を介して横断するさまざまな経路を示すことが理解されよう。例示的な実施態様に示されるように、ゲームプレイビデオV1によってキャプチャされたゲームプレイは、仮想環境400内の経路402を横断した。同様に、ゲームプレイビデオV2によってキャプチャされたゲームプレイは経路404を横断し、ゲームプレイビデオV3によってキャプチャされたゲームプレイは経路406を横断した。これらのゲームプレイビデオは、位置P0で交差するゲームプレイ、または仮想環境400内の位置P0に近接する領域408と交差するゲームプレイを表す。ゲームプレイビデオV1、V2、及びV3は、位置P0または近接領域408と交差するゲームプレイを有することに基づいて、既存のゲームプレイビデオからフィルタリングされている。
【0055】
ユーザが3D座標(x1,y1,z1)を有する新しい位置P1に移動すると、異なる1セットのゲームプレイビデオは、ユーザの更新された位置に基づいてユーザに提示される。例示的な実施態様では、ゲームプレイビデオV4、V5、及びV6は、ユーザに提示するために選択される。ゲームプレイビデオV4、V5、及びV6によってキャプチャされたゲームプレイは、仮想環境400内で横断する経路410、412、及び414に沿ってそれぞれ発生する。これらの経路は、位置P1、または位置P1の近くにある、もしくはその位置に近接する領域416と交差する。
【0056】
現在説明されている実施態様では、ゲームプレイビデオ内でキャプチャされるゲームプレイによって横断される位置及び経路に基づいて、ゲームプレイビデオがユーザに提示するためにフィルタリングされ、選択されることが理解されよう。このようなフィルタリング及び選択は、説明されたように、ゲームプレイビデオ内でゲームプレイが時時刻刻発生する位置を説明するメタデータの伝送を通じて可能になる。したがって、ユーザが仮想環境400内のさまざまな位置に移動すると、ユーザに提示されるゲームプレイビデオは、ユーザの現在位置に基づいて動的にフィルタリングされ/シャッフルされ、更新される。これは動的ヘルプ/ヒントシステムを提供することができ、このシステムは、ユーザが提供する既存のゲームプレイビデオを利用し、それらを、現在のゲームプレイに関連する方法でプレイヤーに利用可能にする。
【0057】
ゲームプレイビデオが特にヘルプ/支援ビデオを提供する目的で提供されていないことに留意されたい。ただし、他者のそれらのようなリプレイは、ビデオゲームの対応する空間/時間位置にマッピングされることによって、ビデオゲームでの進行状況の同様のポイントで他者のゲームプレイをデモンストレーションして支援を提供するために使用されることができる。
【0058】
いくつかの実施態様では、ゲームプレイビデオを多くのビデオにまたがって継ぎ合わせて、例えば、ゲームをプレイしていたユーザらによって生成されたコンテンツからレベルウォークスルーを作成することができる。ユーザが単にゲームをプレイしていた間に、ゲームプレイビデオに相関されたメタデータを収集したことにより、所与のゲームプレイビデオで何が示されており、何が起こっているかを決定し、そのコンテンツへのアクセスをインテリジェントに提供することが可能になる。
【0059】
図5は、本開示の実施態様による、仮想環境内でさまざまな方向を向いているユーザ、及び結果として提示されているさまざまなゲームプレイビデオを概念的に示す。例示的な実施態様では、ビデオゲームの仮想環境500のユーザのビューは、ユーザによって制御される仮想キャラクター502のビューによって表される。一部の実施態様では、ユーザがさまざまな方向を見ると、さまざまなゲームプレイビデオがサーフェシングされることができる。例えば、ユーザが方向504を向いている場合、ゲームプレイビデオV
7がユーザに提案され、ユーザが方向506を向いている場合、ゲームプレイビデオV
8が提案され、ユーザが方向508を向いている場合、ゲームプレイビデオV
9が提案される。これらのさまざまなゲームプレイビデオは、ビデオゲームの仮想環境500内で逆に機能するさまざまな経路を表すことができる。したがって、ユーザが所与の方向を見る場合、仮想環境内のその方向に経路を取ったプレイヤーのゲームプレイを示す、ゲームプレイビデオが提示される。
【0060】
一部の実施態様では、ユーザのビュー内で複数のオプション/経路に直面している場合、システムは各オプションに対応するビデオを提示することができる。例として、ユーザは選択するさまざまな通路に直面していることができ、システムはプレイヤーらが各通路を撮ったビデオをプルアップすることができる。前述のように、一部の実施態様では、ユーザが向いている方向に応じて、さまざまなビデオが提示されるため、ユーザがどの通路に向いているかに応じて、さまざまなゲームプレイビデオが示される。
【0061】
図6は、本開示の実施態様による、ユーザのゲームプレイ経路に基づいたゲームプレイビデオの選択を概念的に示す。図示された実施態様では、ユーザのゲームプレイは、仮想環境600を横断し、位置P
3から、P
4からP
5からP
6からP
7まで移動する。いくつかの実施態様では、位置が仮想空間内の空間位置であることができることが理解されよう。他の実施態様では、位置は、ビデオゲームのコンテキスト内の論理位置であり得、ゲームプレイイベントに向かう際にユーザ制御アクションの選択または他のタイプを表し得る。ユーザが位置P
3から位置P
7まで仮想環境600を横断するとき、ユーザのゲームプレイは経路602を定義する。
【0062】
いくつかの実施態様では、ゲームプレイビデオは、ビデオゲームでユーザが横断した経路に基づいて、ユーザのためにフィルタリングされる、または選択されることができる。より具体的には、前のプレイヤーによって取られたゲームプレイ経路が現在のユーザによって取られた現在の経路と類似しているゲームプレイビデオは、ユーザに提示するために、優先される、または選択されることができる。図示された実施態様では、ユーザが位置P7に到達すると、ビデオV10、V11、及びV12は、それらのゲームプレイビデオ内で横断されたゲームプレイの経路に少なくとも部分的に基づいて、利用可能なゲームプレイビデオから選択されている。したがって、システムは、同様の経路をたどった、または同じもしくは同様の位置を横断した他のユーザのビデオを示すことができる。このようにして、システムは、現在のユーザのスタイルにより近いプレイをしている他のユーザのゲームプレイを示すことができる。
【0063】
さまざまな実施態様では、現在プレイしているユーザと同様のスタイルを示すプレイヤーからゲームプレイビデオを見いだすという概念を拡張して、ゲームプレイビデオに相関されるメタデータから決定されることができる任意の態様を包含することができる。限定ではなく例として、ゲームプレイのそれらのような態様は、プレイヤーが行うアクションのシーケンス及び種類、イベントのシーケンス、実行される移動のタイプ及び移動のパターン、スキルのレベル、コントローラ入力などを含み得る。いくつかの実施態様では、現在のユーザのゲームプレイと以前のユーザのゲームプレイビデオのゲームプレイとの間の類似度が決定されることができ、この類似度を利用して、現在のユーザに提示するためのゲームプレイビデオを選択する、またはフィルタリングすることができる。ゲームプレイビデオをフィルタリングして同様のスタイルを有する他のプレイヤーを示すことが論じられているが、現在のユーザに他のスタイルのプレイを示し、現在のユーザがさまざまなアクションまたはスタイルのプレイを試すことによってスキルレベルを上げるのを助けるように、現在のユーザとは異なるスタイルを示すプレイヤーのビデオを優先させることも有益な場合がある。
【0064】
図7は、本開示の実施態様による、リプレイビデオ中にコントローラ入力時系列を使用することを概念的に示す。例示的な実施態様では、プレイヤー700は、参照番号704に示されるようにレンダリングされるビデオゲームのゲームプレイ中にコントローラデバイス702を操作する。上記のように、そのようなゲームプレイビデオは対応するメタデータと共に格納されることができる。いくつかの実施態様では、コントローラデバイス702から生成されたコントローラ入力(例えば、ボタンの押下、ジョイスティックの操作など)は、ゲームプレイビデオにマッピングされる対応するメタデータの一部を構成することができる。
【0065】
参照番号706に示されるように、ゲームプレイビデオが別のユーザに提示されるとき、ゲームプレイビデオは、オーバーレイなどの元のプレイヤー700のコントローラ入力を表示するセクション708を含むようにさらに構成されることができる。すなわち、コントローラデバイス702のプレイヤー700の操作によって生成された入力のインジケータをセクション708に表示することができるため、ゲームプレイビデオ706をヘルプビデオとして使用している現在のプレイヤーなど、観戦しているユーザもまた、プレイヤー700によって入力された特定のコントローラ入力を見ることができる。このようにして、観戦しているユーザは、ゲームプレイビデオ706で行われているアクションを見るだけでなく、それらのアクションを生成したコントローラ入力も見ることができる。いくつかの実施態様では、セクション708でのコントローラ入力の表示は、上もしくは下または左右にスクロールするように構成され、ゲームプレイビデオの再生と同期してコントローラ入力の元のシーケンスを示す。
【0066】
一部の実施態様では、プレイヤー入力はフィルタリングに使用されることができる。例えば、スキルの高いプレイヤーのビデオをスキルの低いプレイヤーに示すことは、スキルの低いプレイヤーが同じタイプの入力/操作を実行することができないため、有用ではない場合がある。したがって、ゲームプレイビデオに関連するプレイヤー入力を使用して、ゲームプレイビデオをフィルタリングすることができる。一部の実施態様では、機械学習プロセスを利用して、プレイヤーの入力を分析し、ユーザのスキルレベルを決定することができる。したがって、ユーザ入力を使用して、プレイヤービデオのスキルレベルをランク付けすることができ、アクティブユーザに対しても同じことを実行することができる。この情報を使用して、適切なスキルレベルのビデオをユーザにフィードすることができる。
【0067】
一部の実施態様では、ゲームプレイビデオを優先順位付けするために使用されることができる、レベル/チャプター、成功インジケータ、デス数、チェックポイントなど、他のタイプの情報をメタデータに提供することができる。例えば、比較的短い時間枠内でプレイヤーがデスの繰り返しを示すゲームプレイビデオは、それほどデスすることなくプレイヤーが進行するより成功したビデオよりも、観戦するのにおそらくあまり有用ではない。したがって、所与の時間内のプレイヤーのデス数は、ビデオを優先順位付けするための要因として使用されることができる。
【0068】
一部の実施態様では、機械学習は、成功したプレイヤーが何をしているのか、または持っているのかを評価するために適用されることができる。例えば、システムは、さまざまなビデオ及びそれらのメタデータを分析することに基づいて、あるユーザがゴールドキーを有する必要があると決定することができる。そして、これらの学習は、ユーザへのヒントとして表示されることができ、例えば、このポイントで成功している大部分/全てのプレイヤーが進行する前にゴールドキーを有することを示すメッセージが表示されることができる。
【0069】
一部の実施態様では、デベロッパーは、ユーザが所与のビデオを見ているときに、それらのようなヒントが表示されるように、任意のビデオに適用されるヒントのマスタータイムラインを提供することができる。
【0070】
一部の実施態様では、ゲームプレイビデオは、コンパニオンアプリを介してモバイルデバイスまたは他のデバイス上になど、現在のゲームプレイが発生しているデバイスとは別のデバイス上に表示されてもよい。
【0071】
本開示の実施態様は、ゲームエンジンの一部として含まれてよい。広義に言うと、ゲームエンジンは、ビデオゲームの効率的な開発を可能にする特徴をもたらすソフトウェア開発フレームワークである。ゲームエンジンは、限定ではなく例として、グラフィックスレンダリング(例えば、頂点処理、ポリゴン処理、シェーディング、ライティング、テクスチャリングなどを含む)、サウンド、フィジックス(衝突処理を含む)、アニメーション、スクリプティング、人工知能、ネットワーク化、ストリーミング、メモリ管理、スレッド化、ローカリゼーションサポート、シーングラフ、シネマティクスなどを含む、ゲーム機能のさまざまな態様を処理するために再利用可能なモジュールを備えたソフトウェアライブラリを含むことができる。
【0072】
ゲームエンジンは、ゲームコンソール、モバイルデバイス、パーソナルコンピュータなど、さまざまなハードウェアプラットフォームに最適化されることができる。限定ではなく例として、ゲームエンジン(例えば、グラフィックスパイプラインなどでのさまざまなタスクに優先順位付けする方法)は、プラットフォームに応じてメモリ使用量を最適化することができる。一部の実施態様では、ハードウェアは、ゲームコンソールなど、ある特定の処理エンティティのブレード型バージョンであってもよい。したがって、ユーザは、コンソールゲームが最適化されたのと同じハードウェアを与える、特定のブレードに割り当てられてもよい。
【0073】
ストリーミング及び/または他のサービス(パケット化、符号化、サービス品質(QOS)モニタリング、帯域幅テスト、ソーシャルネットワーク/フレンドへのアクセスなど)を提供するゲームサーバロジックもあり得ることが理解されよう。
【0074】
一部の実施態様では、クラウドインフラストラクチャがハイパーバイザを実行してもよく、ハイパーバイザは、ハードウェアを抽象化し、オペレーティングシステム(OS)がロードされ得る仮想マシンフレームワークを提供する。したがって、スタックは、OS上で実行する、アプリケーション/ビデオゲームを含み得、このOSは、基盤となるハードウェア上にロードされるハイパーバイザによってインスタンス化された仮想マシン(VM)上にロードされる。このように、アプリケーションの実行は必ずしも特定のハードウェアに結びつけられていない。
【0075】
一部の実施態様では、アプリケーション/ビデオゲームは、コンテナ上で実行されてもよく、コンテナは、コード及び依存関係を一緒にパッケージ化するようにアプリケーションレイヤで抽象化するため、OSまたはハードウェアプラットフォームに依存しないソフトウェア開発が可能になり、プラットフォーム間でのソフトウェアのポータビリティが向上する。
【0076】
いくつかの実施態様では、ゲームエンジンのさまざまな部分をさまざまな計算エンティティが処理することができる、分散型ゲームエンジンが採用される。例えば、フィジックスエンジン、レンダリングエンジン(2D/3Dグラフィックス)、サウンド、スクリプティング、アニメーション、AI、ネットワーク化、ストリーミング(符号化)、メモリ管理、スレッド化など、ゲームエンジンの機能は、多くのさまざまな計算の中に分散されている、さまざまな機能処理ブロック及び/またはサービスに分割されることができる。分散型ゲームエンジンの場合、レイテンシ問題を回避するために低レイテンシ通信が必要とされることが理解されよう。所望のフレームレートを維持するには、計算及び通信の合計時間が特定の制約を満たす必要がある。したがって、プロセスをより短い時間で完了することが可能であるかどうかに応じて、特定のタスクを分割することは、効率的であっても、そうでなくてもよい。
【0077】
分散型ゲームエンジンを使用する利点は、必要に応じてコンピューティングリソースをスケールアップまたはスケールダウンできるエラスティックコンピューティングを利用できることである。例えば、単一のハードウェアサーバ上で従来実行されていた大規模なマルチプレイヤーゲームでは、例えば約100人のプレイヤーがいると、ハードウェアリソースが制限されるようになるため、それ以上のプレイヤーが追加されることができない。ゲームは追加のプレイヤーをキューイングすることがある。すなわち、プレイヤーがゲームに参加するために待つ必要があることを意味する。ただし、分散型ゲームエンジンでは、エラスティッククラウドコンピューティングリソースを使用することで、需要を満たすためにより多くの計算ノードが追加されることができるため、例えば数千人のプレイヤーが可能になる。ゲームは、特定のハードウェアサーバの制限によって制約されなくなる。
【0078】
したがって、クラウドゲームエンジンは、さまざまな処理エンティティに機能を分散させることができる。さまざまなフレームワークではさまざまな機能が実行されることができることが理解されよう。例えば、一部の機能(ソーシャルなど)はコンテナでより実行しやすい場合があるが、グラフィックスはGPUに接続されたVMを使用して実行することにより適している場合がある。
【0079】
クラウドゲームエンジンの機能の分散を容易にするためには、分散/同期レイヤは、例えば、ジョブの送り出し、返されたデータの受信、実行されているタスクの識別、及びキューイングの処理(例えば、ジョブが必要以上に早く終了した場合)などのジョブの分散を管理することができる。一部の実施態様では、所与のタスクは必要に応じて動的に細分化されることができる。例えば、アニメーションがライティングを有することができ、そしてライティングが特に複雑である場合、ライティングは、3つのライティングジョブに細分化されることができ、これらの細分化されたライティングジョブは、計算に送り出され、返されると、リアセンブルされる。したがって、ゲームエンジンの機能は、より多くの作業を必要とする場合、細分化されることができる。
【0080】
クラウドサービスプロバイダーは、例えば1秒あたりの入出力動作(「IOPS」)など、指定されたパフォーマンスレベルでコンピューティングを提供する。したがって、ゲームプロバイダーは、クラウドサービスプロバイダーからVM、専用処理能力、メモリ量などを指定し、クラウドサービスプロバイダーのシステムを使用して分散型クラウドゲームエンジンをインスタンス化することができる。
【0081】
一部の実施態様では、ライブラリモジュール及び更新ハンドラーは、ゲームエンジンの1つ以上のコンポーネントまたはモジュールであることができる。一部の実施態様では、ライブラリモジュール及び更新ハンドラーは、別個のコンポーネントであることができる、または統合されることができる。一部の実施態様では、ライブラリモジュール及び更新ハンドラーは、ゲームエンジンへの追加として動作する場合がある。いくつかの実施態様では、上記のように、ゲームエンジンは分散型ゲームエンジンであり得る。
【0082】
前述のように、本開示の実施態様は、クラウドゲームシステムに適用され得る。クラウドゲームシステムの1つの例は、Playstation(登録商標)Nowクラウドゲーミングシステムである。そのようなシステムでは、クライアントデバイスは、Playstation(登録商標)4ゲームコンソールなどのゲームコンソールであってもよく、またはパーソナルコンピュータ、ラップトップ、タブレット、携帯電話、モバイルデバイスなどの別のデバイスであってもよい。
【0083】
概して、ゲームタイトルのユーザリクエストが受信されると、クラウドゲームを有効化するために、クラウドゲームサイトに対応付けられたデータセンタ内の1つ以上のサーバによりいくつかの動作が実行される。クラウドゲームサイトがユーザリクエストを受信すると、選択されたゲームタイトルに対応付けられたゲームをホストするデータセンタが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンタにリクエストが送信される。要求に応じて、データセンタのサーバは、ゲームコンテンツをユーザに提示する準備として、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに関連付けられたゲームデータは、一般的なゲームデータと、ユーザ固有のゲームデータとを含み得る。したがって、ファイルを初期化することは、一般的なゲームデータ及びユーザ固有のゲームデータの両方を識別し、ロードし、初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックスエンジンを初期化すること、グラフィックスデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすることなどを含み得る。ユーザ固有データを初期化することは、ユーザデータ、ユーザ履歴、ゲーム履歴などを検索すること、転送すること、及びインストールすることを含み得る。
【0084】
一般的なゲームデータがロードされて初期化されている間、クライアントデバイスでレンダリングするための「スプラッシュ」画面が提供されてもよい。スプラッシュ画面は、ロードされているゲームの代表的な画像を提供するように設計されてよく、ロードされているゲームの種類をユーザがプレビューするのを可能にする。一般的なゲームデータがロードされると、特定の初期コンテンツがレンダリングされ得、選択/ナビゲーション画面が、ユーザ選択及びカスタマイズのために提示され得る。選択/ナビゲーション画面で入力されるユーザ選択入力には、ゲームレベルの選択、ゲームアイコン(複数可)の選択、ゲームモードの選択、ゲームの獲得物、及び追加のゲームコンテンツのアップロードが必要となり得る他のユーザ関連データが含まれ得る。いくつかの実施形態では、ゲームコンテンツは、クラウドゲームシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることにより、視聴及びインタラクションに利用可能となる。いくつかの実施態様では、ユーザ固有データをロードした後に、ゲームコンテンツはゲームプレイに利用可能となる。
【0085】
図8Aは、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。システムは、ネットワーク802を介してクラウドゲームサイト804に通信可能に接続された複数のクライアントデバイス800を含み、ネットワーク802は、LAN、有線、無線、セルラ(例えば、4G、5Gなど)、またはインターネットを含む任意の他の種類のデータネットワークを含み得る。クラウドゲームサイト804にアクセスするリクエストがクライアントデバイス800から受信されると、クラウドゲームサイト804は、ユーザデータストア808に記憶されたユーザアカウント情報806にアクセスして、リクエストを発信したクライアントデバイスに関連付けられたユーザを識別する。いくつかの実施形態では、クラウドゲームサイトはまた、ユーザが視聴/プレイを許可された全てのゲームを特定するために、識別したユーザを検証し得る。ユーザアカウントの識別/検証に続いて、クラウドゲームサイトは、ゲームタイトルデータストア810にアクセスして、リクエストを発信したユーザアカウントがクラウドゲームサイトで利用可能なゲームタイトルを識別する。今度は、ゲームタイトルデータストア810が、ゲームデータベース812とインタラクトして、クラウドゲームサイトが利用可能な全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース812はゲームコードが更新され、ゲームタイトルデータストア810は、新たに導入されたゲームのゲームタイトル情報が提供される。リクエストを発信したクライアントデバイスは、リクエストを発信した時に、クラウドゲームサイトに登録されている場合とされていない場合がある。リクエストを発信したクライアントデバイスのユーザが登録ユーザでない場合には、クラウドゲームサイトは、そのユーザを新規ユーザとして識別し、新規ユーザに好適なゲームタイトル(例えばデフォルトのゲームタイトル集合)を選択し得る。
図8Aに示されるように、特定されたゲームタイトルは、ディスプレイ画面800-aに提示されるように、クライアントデバイスに返される。
【0086】
クライアントデバイス上でレンダリングされたゲームタイトルのうちの1つでユーザインタラクションが検出され、信号がクラウドゲームサイトに送信される。信号は、ユーザインタラクションが検出され、ユーザインタラクションがゲームタイトルに登録されたゲームタイトル情報を含む。クライアントデバイスから受信した信号に応じて、クラウドゲームサイトは積極的に、ゲームがホストされているデータセンタを特定し、特定したデータセンタに信号を送信して、ユーザインタラクションが検出されたゲームタイトルに対応付けられたゲームをロードする。一部の実施形態では、複数のデータセンタが、ゲームをホストしている場合がある。このような実施形態では、クラウドゲームサイトは、要求を開始したクライアントデバイスの地理的位置を判断し、クライアントデバイスに地理的に近いデータセンタを識別し、データセンタにゲームをプリロードするように信号を送信してよい。ユーザの地理的位置は、2~3例を挙げると、クライアントデバイス内の全地球測位システム(GPS)メカニズム、クライアントのIPアドレス、クライアントのping情報を使用して、決定されてよい。当然ながら、ユーザの地理的位置を検出する前述の方法は例示的であってよく、他の種類のメカニズムまたはツールを使用して、ユーザの地理的位置を決定してもよい。クライアントデバイスに近いデータセンタを識別することにより、ユーザがゲームとインタラクト中、レイテンシを最小限にすることができる。一部の実施形態では、識別されたデータセンタは、ゲームをホストするのに必要な帯域幅/能力を有さない場合がある、または過使用されている場合がある。これらの実施形態では、クラウドゲームサイトは、クライアントデバイスに地理的に近い第2のデータセンタを識別し得る。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。
【0087】
クラウドゲームサイトから信号を受信することに応答して、識別されたデータセンタは、データセンタでサーバを選択して、サーバ上でゲームをインスタンス化することができる。サーバは、利用可能なハードウェア/ソフトウェアの能力とゲーム要件とに基づいて選択される。サーバは、複数のゲームコンソールを含んでよく、サーバは、ゲームをロードするのに、複数のゲームコンソールのうちのどのゲームコンソールを使用するかを決定してよい。ゲームコンソールは、独立したゲームコンソールに類似し得る、またはラックマウントサーバもしくはブレードサーバであってよい。ブレードサーバは、次に、複数のサーバブレードを含んでよく、各ブレードは、ゲームなどの単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然、上記のゲームコンソールは例示的なものであり、限定的であるとみなされるべきではない。ゲームステーションなどを含む他の種類のゲームコンソール、及び他の形態のブレードサーバも、識別されたゲームをホストするために用いられてよい。
【0088】
ゲームコンソールが識別されると、ゲームの一般的なゲーム関連コードがゲームコンソール上にロードされ、ゲームがインスタンス化されるゲームコンソールを識別するネットワーク経由でクラウドゲームサイトを介してクライアントデバイスに信号が返される。このように、ロードされたゲームは、ユーザに利用可能となる。
【0089】
図8Bは、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行されるさまざまな動作を概念的に示すフロー図である。ゲームシステム818は、ビデオゲームを実行し、生の(非圧縮の)ビデオ820及びオーディオ822を生成する。ビデオ820及びオーディオ822は、示される図の参照番号824に示されるように、ストリーミングのために取り込まれ符号化される。エンコードは、ビデオ及びオーディオストリームを圧縮して、帯域幅使用量を低減し、ゲームエクスペリエンスを最適化することができる。符号化形式の例として、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9などが挙げられる。
【0090】
符号化されたオーディオ826及び符号化されたビデオ828はさらに、インターネットなどのネットワークを介して送信するために、参照番号832に示されるように、ネットワークパケットにパケット化される。ネットワークパケット符号化プロセスは、データ暗号化プロセスも採用し得るため、データセキュリティが強化される。例示の実施態様では、オーディオパケット834及びビデオパケット836は、参照番号840に示されるように、ネットワークを介して転送するために生成される。
【0091】
ゲームシステム818はさらに、触覚フィードバックデータ830を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。例示の実施態様では、参照番号840でさらに示されるように、ネットワークを介して転送するために、触覚フィードバックパケット838が生成される。
【0092】
生のビデオ及びオーディオ並びに触覚フィードバックデータを生成することと、ビデオ及びオーディオを符号化することと、符号化されたオーディオ/ビデオ及び触覚フィードバックデータを転送用にパケット化することとの前述の動作は、クラウドゲームサービス/システムを集合的に定義する1つ以上のサーバで実行される。参考番号840に示されるように、オーディオ、ビデオ、及び触覚フィードバックのパケットは、インターネットなどのネットワーク、及び/またはインターネットを含むネットワークを介して、転送される。参照番号842において示されるように、オーディオパケット834、ビデオパケット836、及び触覚フィードバックパケット838は、クライアントデバイスによってデコード/再アセンブルされて、クライアントデバイスにおいて、エンコードされたオーディオ846、エンコードされたビデオ848、及び触覚フィードバックデータ850を定義する。データが暗号化されている場合は、ネットワークパケットは暗号解読化も行われる。エンコードされたオーディオ846及びエンコードされたビデオ848は次に、参照番号844において示されるように、クライアントデバイスによってデコードされて、ディスプレイデバイス852上でレンダリングするためにクライアント側の未処理オーディオ及びビデオデータを生成する。触覚フィードバックデータ850は、処理/通信され、触覚効果をレンダリングすることができるコントローラデバイス856または他のインターフェースデバイスにて、触覚フィードバック効果が生成され得る。触覚効果の一例として、コントローラデバイス856の振動またはランブルが挙げられる。
【0093】
ビデオゲームはユーザ入力に応答することから、ユーザ入力の送信及び処理に関しても、前述と同様の手順の流れを、クライアントデバイスからサーバへの逆方向で実行され得ることが、理解されよう。示されるように、コントローラデバイス856を操作するユーザは、入力データ858を生成し得る。この入力データ858は、ネットワークを介してクラウドゲームシステムに転送するために、クライアントデバイスでパケット化される。入力データパケット860は、クラウドゲームサーバにより解凍及び再構築されて、サーバ側で入力データ862が定義される。入力データ862は、ゲームシステム818に供給され、ゲームシステム818は、入力データ862を処理して、ビデオゲームのゲーム状態を更新する。
【0094】
オーディオパケット834、ビデオパケット836、及び触覚フィードバックパケット838の転送中(参照番号840)、クラウドゲームストリームのサービス品質を保証するために、ネットワークを介したデータの送信が監視され得る。例えば、参照番号864により示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態が監視され得、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整され得る。すなわち、参考番号866により示されるように、ネットワークパケットの符号化及び復号化は、現在のネットワーク状況に基づいて制御され得る。
【0095】
図9は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)970は、ネットワーク986を介して、地理的に分散し接続されたユーザ982に多数の情報サービスを届ける。ISPは、株価の更新などの1種類のサービスのみ、または放送メディア、ニュース、スポーツ、ゲームなどのさまざまなサービスを届けることができる。さらに、各ISPにより提供されるサービスは動的であり得、すなわち、いつの時点でもサービスを追加する、または取り除くことができる。したがって、特定の個人に特定の種類のサービスを提供するISPは、時間の経過と共に変化し得る。例えば、ユーザが地元にいる間は、ユーザの付近のISPによりユーザはサービスを受けてよく、ユーザが別の町に移動したときは、異なるISPによりユーザはサービスを受けてよい。地元のISPは、必要な情報及びデータを新しいISPに転送し、これにより、ユーザ情報は新しい都市までユーザに「追従」し、データはユーザにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザの情報を管理するマスタISPと、マスタISPの制御下でユーザと直接インタフェースするサーバISPとの間に、マスタ-サーバ関係が確立されてよい。別の実施形態では、クライアントが世界中を移動すると、データがあるISPから別のISPに転送されて、ユーザにサービスを提供するためにより良好な位置にあるISPが、それらのサービスを配信するISPになる。
【0096】
ISP970は、アプリケーションサービスプロバイダ(ASP)972を含み、ASP972は、ネットワーク(例えば、例として、任意の有線または無線ネットワーク、LAN、WAN、WiFi(登録商標)、ブロードバンド、ケーブル、光ファイバ、衛星、セルラ(例えば、4G、5Gなど)、インターネットなどを含むがこれらに限定されない)を介してコンピュータベースのサービスを顧客に提供する。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはサービスとしてのソフトウエア(SaaS)と呼ばれることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式には、HTTPなどの標準プロトコルが使用される。アプリケーションソフトウェアは、ベンダのシステムに常駐し、HTMLを使用するウェブブラウザを通して、ベンダが提供する専用クライアントソフトウェア、またはシンクライアントなどの他のリモートインタフェースによって、ユーザによりアクセスされる。
【0097】
広い地理的地域にわたって供給されるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングとは、動的に拡張縮小可能で多くの場合仮想化されたリソースがインターネットを介したサービスとして提供される、コンピューティング様式である。ユーザは、ユーザをサポートする「クラウド」における技術インフラストラクチャの専門家である必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、及びサービスとしてのソフトウエア(SaaS)などのさまざまなサービスに分けることができる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータはサーバ上に記憶される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいて、(例えばサーバ、ストレージ、及びロジックを使用する)インターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
【0098】
さらに、ISP970は、ゲームクライアントがシングル及びマルチプレーヤビデオゲームをプレイするために使用するゲーム処理サーバ(GPS)974を含む。インターネット上でプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して作動する。通常、ゲームはプレイヤーからのデータを収集し、それを他のプレイヤーに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的且つ効果的であるが、サーバアプリケーションをホストするために別個のサーバを必要とする。別の実施形態では、GPSは、プレイヤー及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPSに依存せずに情報を交換する。
【0099】
専用GPSは、クライアントとは無関係に稼働するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大部分のPCベースのマルチプレイヤーゲームのためのゲームサーバをホスティングするのに好ましい方法である。大規模なマルチプレーヤオンラインゲームは、ゲームタイトルを所有するソフトウェア会社が通常ホストする専用サーバ上で実行され、専用サーバがコンテンツを制御及び更新することを可能にする。
【0100】
放送処理サーバ(BPS)976は、視聴者にオーディオまたはビデオ信号を配信する。非常に狭い範囲の視聴者への放送は、ナローキャスティングと呼ばれることもある。ブロードキャスト配信の最終工程は、信号が聴取者または視聴者にどのように達するかであり、ラジオ局またはテレビ局と同様にアンテナ及び受信機に無線で到来し得るか、または局を介してもしくはネットワークから直接、ケーブルテレビもしくはケーブルラジオ(もしくは「無線ケーブル」)を通して到来し得る。インターネットはまた、特に、信号及び帯域幅を共有できるマルチキャストを使用して、ラジオまたはテレビのいずれかを受信者に届け得る。歴史的に、ブロードキャストは、全国放送または地域放送などの地理的領域により範囲が定められてきた。しかし、高速インターネットの普及に伴い、コンテンツは世界のほぼ全ての国に到達可能であるため、放送は地域によって定められない。
【0101】
ストレージサービスプロバイダ(SSP)978は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは、定期的なバックアップ及びアーカイブも提供する。サービスとしてストレージを提供することによって、ユーザは、必要に応じてより多くのストレージを注文することができる。別の大きな利点として、SSPはバックアップサービスを含み、コンピュータのハードドライブに障害が発生しても、ユーザがユーザの全てのデータを失うことはない。さらに、複数のSSPは、ユーザデータの全体的または部分的なコピーを有することができ、これにより、ユーザの位置、またはデータアクセスに使用されているデバイスとは無関係に、ユーザは効率的な方法でデータにアクセスすることができる。例えば、ユーザは、移動中に自宅のコンピュータ並びに携帯電話の中の個人ファイルにアクセスすることができる。
【0102】
通信プロバイダ980は、ユーザに接続性を提供する。通信プロバイダの一種として、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)が挙げられる。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバ、無線、または専用の高速相互接続など、インターネットプロトコルデータグラムの配信に適したデータ伝送技術を使用して、顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージ、及びSMSテキストなどのメッセージサービスも提供することができる。通信プロバイダの別の種類は、インターネットへの直接のバックボーンアクセスを提供することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)である。ネットワークサービスプロバイダは、電気通信会社、データ通信業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などで構成され得る。
【0103】
データ交換988は、ISP970内のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク986を介してユーザ982に接続する。データ交換988は、ISP970の全てのモジュールが近接している小さな領域をカバーし得る、またはさまざまなモジュールが地理的に分散している場合は、大きな地理的領域をカバーし得る。例えば、データ交換988は、データセンタのキャビネット内に高速のギガビットイーサネット(登録商標)(もしくはさらに高速のもの)、または大陸間仮想エリアネットワーク(VLAN)を含み得る。
【0104】
ユーザ982は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス984により、リモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲームシステム、PDAなどであり得る。一実施形態では、ISP970は、クライアントが使用するデバイスの種類を認識し、採用する通信方法を調整する。他の事例では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、ISP970にアクセスする。
【0105】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、小型コンピュータ、及びメインフレームコンピュータなどを含むさまざまなコンピュータシステム構成で実施され得る。本開示はまた、有線ベースまたは無線ネットワークを通してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。
【0106】
いくつかの実施形態では、通信は、無線技術を使用して促進され得る。そのような技術には、例えば、5G無線通信技術が含まれ得る。5Gは、セルラーネットワークテクノロジーの第5世代である。5Gネットワークはデジタルセルラーネットワークであり、プロバイダーがカバーするサービスエリアはセルと呼ばれる小さな地理的エリアに分割されている。音と画像を表すアナログ信号は、電話でデジタル化され、アナログデジタルコンバーターによって変換され、ビットのストリームとして送信される。セル内の全ての5Gワイヤレスデバイスは、他のセルで再利用される周波数のプールからトランシーバによって割り当てられた周波数チャネルを介して、セル内のローカルアンテナアレイ及び低電力自動トランシーバ(送信機及び受信機)と電波で通信する。ローカルアンテナは、広帯域幅光ファイバまたは無線バックホール接続によって、電話網及びインターネットに接続される。他のセルネットワークと同様に、あるセルから別のセルに移動するモバイルデバイスは、新しいセルに自動的に転送される。5Gネットワークは単なる一例のタイプの通信ネットワークであり、本開示の実施形態は、5Gに続く後の世代の有線または無線技術と同様に、前世代の無線または有線通信を利用することができることを理解されたい。
【0107】
上記の実施形態を考慮すると、当然ながら、本開示はコンピュータシステムに記憶されたデータを伴うさまざまなコンピュータ実施動作を採用することができる。これらの動作は、物理量の物理的操作を要する動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築することができる、または装置は、コンピュータに記憶されたコンピュータプログラムにより選択的にアクティブにされるまたは構成される汎用コンピュータであってよい。詳細には、本明細書の教示にしたがって書かれたコンピュータプログラムと共にさまざまな汎用マシンを使用することができる。または、必要な動作を実行するためにさらに特化した装置を構築するほうがより好都合な場合もある。
【0108】
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化することができる。あるいは、コンピュータ可読コードは、前述のデータ交換相互接続を使用して、サーバからダウンロードされてよい。コンピュータ可読媒体は、後でコンピュータシステムにより読み出され得るデータを格納できる任意のデータストレージデバイスである。コンピュータ可読媒体の例は、ハードドライブ、ネットクワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージデバイスを含む。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0109】
方法の動作を特定の順序で記載したが、オーバーレイ動作の処理が所望の方法で実行される限り、動作間に他のハウスキーピング動作が実行されてよく、または動作がわずかに異なる時間に起こるように調整されてよく、またはシステム内に動作を分散することで、処理に関連するさまざまな間隔で処理動作が起こることを可能にしてよいことを、理解すべきである。
【0110】
前述の開示は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書で提供される詳細に限定されるべきではなく、説明される実施形態の範囲内及び均等物内で変更されてもよい。