IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー・インタラクティブエンタテインメント エルエルシーの特許一覧

特許7158858事前に記録されたゲームプレイに対する非同期コメントをキャプチャすること
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-14
(45)【発行日】2022-10-24
(54)【発明の名称】事前に記録されたゲームプレイに対する非同期コメントをキャプチャすること
(51)【国際特許分類】
   A63F 13/87 20140101AFI20221017BHJP
   A63F 13/35 20140101ALI20221017BHJP
   A63F 13/497 20140101ALI20221017BHJP
   A63F 13/79 20140101ALI20221017BHJP
   A63F 13/86 20140101ALI20221017BHJP
【FI】
A63F13/87
A63F13/35
A63F13/497
A63F13/79 500
A63F13/86
【請求項の数】 3
(21)【出願番号】P 2017565099
(86)(22)【出願日】2016-05-16
(65)【公表番号】
(43)【公表日】2018-09-06
(86)【国際出願番号】 US2016032674
(87)【国際公開番号】W WO2016204904
(87)【国際公開日】2016-12-22
【審査請求日】2017-12-15
【審判番号】
【審判請求日】2021-03-04
(31)【優先権主張番号】14/788,353
(32)【優先日】2015-06-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/175,995
(32)【優先日】2015-06-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ペリー、デイヴィッド
【合議体】
【審判長】藤本 義仁
【審判官】藤田 年彦
【審判官】吉村 尚
(56)【参考文献】
【文献】特開2014-158620(JP,A)
【文献】米国特許出願公開第2014/0089801(US,A1)
【文献】特開2014-29587(JP,A)
【文献】再公表特許第2013/027304(JP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06F 3/0484
(57)【特許請求の範囲】
【請求項1】
ゲーミングセッションを管理する方法であって、
クラウドゲーミングシステムのサーバが、前記クラウドゲーミングシステムによって実行される前記ゲーミングセッションにおいて、前記ゲーミングセッションのビデオ記録と、前記ゲーミングセッションに参加しているプレイヤー及びリアルタイムの観客の両方の音声記録を含む前記プレイヤーにより選択されたゲームプレイクリップを生成するステップを備え
前記リアルタイムの観客は、前記プレイヤーが前記ゲーミングセッションに参加している間に前記プレイヤーに聞こえるようにリアルタイムの観客がリアルタイムでコメントするのを可能にするために前記ゲーミングセッションのライブストリームを介して遠隔で観察しており、
前記ゲームプレイクリップは、前記ゲーミングセッションの部分及び前記ゲームプレイクリップに対応する前記音声記録を含み、前記ゲームプレイクリップは、前記ゲーミングセッション内で生じているプレイの1つ以上のハイライトイベントを含み、前記ゲームプレイクリップに対応する前記音声記録は、前記ハイライトイベントに関連する1つ以上の口頭コメントを含み、
前記サーバが、ウェブサイトのユーザが見ることができるよう、前記ウェブサイトに対して前記ゲームプレイクリップを投稿するステップと、
前記サーバが、前記ウェブサイトのプレイバック視聴ユーザによる前記投稿されたゲームプレイクリップの選択に応答して、前記ゲームプレイクリップのプレイバックを提供するステップとをさらに備え
前記口頭コメントは、前記ゲーミングセッションに参加している前記プレイヤー又は前記プレイヤーを観察している前記リアルタイムの観客によって提供されるものとして識別されるための識別データを含み、
前記サーバが、前記識別データに基づいて前記プレイバック視聴ユーザが前記リアルタイムの観客とソーシャルネットワーク友人関係を持っていないと判定するとき、前記ゲーミングセッションをライブで観察した前記リアルタイムの観客の口頭コメントをフィルタリングすることにより、前記ゲームプレイクリップの前記プレイバック中に、前記音声記録と共に前記1つ以上の口頭コメントがプレイバックされないようにするステップさらに備え、方法。
【請求項2】
前記友人関係をもつかどうかは、ーシャルネットワークサイトから取得される関係のソーシャルグラフから判定できる、請求項1に記載の方法。
【請求項3】
クラウドゲーミングシステム上にホストされるゲーミングセッションを管理するためのクラウドゲーミングシステムであって、
クラウドゲーミングセッションをホストするためのサーバを備え、前記サーバは、ネットワークを介して、プレイヤーのクライアントデバイスに接続されており、前記サーバは、前記プレイヤーのクライアントデバイスから制御入力を受信し、前記受信された制御入力に従って、前記クラウドゲーミングセッションを実行するように構成されており、前記サーバは、前記ネットワークを介して観客のクライアントデバイスに接続されており、前記実行された前記クラウドゲーミングセッションのビデオを前記プレイヤーのクライアントデバイス及び前記観客のクライアントデバイスにストリーミング配信するように構成されており、
前記サーバ
前記ゲーミングセッションの前記ストリーミング配信されたビデオのビデオ記録と、
前記ゲーミングセッションに参加している前記プレイヤーの音声記録と、
前記ゲーミングセッションに参加している前記プレイヤーを観察しているリアルタイムの観客の音声記録と
を含む前記プレイヤーにより選択されたゲームプレイクリップを記録するように構成されているゲームレコーダ機能実行するように構成され
前記プレイヤーを観察している前記リアルタイムの観客の音声記録は、前記ゲーミングセッションに参加している前記プレイヤーのゲームプレイに関する口頭コメントをリアルタイムで取得することにより生成され、前記口頭コメントは、前記プレイヤーが前記ゲーミングセッションに参加している間に前記プレイヤーに聞こえるように提供され、
前記ゲームプレイクリップは、前記ゲーミングセッションの一部分及び前記ゲームプレイクリップに対応する前記音声記録を含み、前記ゲームプレイクリップは、前記ゲーミングセッション内で生じているプレイの1つ以上のハイライトイベントを含み、前記ゲームプレイクリップに対応する前記音声記録は、前記ハイライトイベントに関連する1つ以上の口頭コメントを含み、
前記サーバは、前記プレイヤーのクライアントデバイスから受信された前記ゲームプレイクリップを投稿するための前記制御入力に従って、ウェブサイトに対して前記ゲームプレイクリップを投稿するように構成されており、
前記サーバは、前記ウェブサイトのプレイバック視聴ユーザによる前記投稿されたゲームプレイクリップの選択に応答して、前記ゲームプレイクリップのプレイバックをストリーミング配信するためのビデオプレイバック機能を実行するように構成され、
前記口頭コメントは、前記ゲーミングセッションに参加している前記プレイヤーは前記プレイヤーを観察している前記リアルタイムの観客によって提供されるものとして識別されるための識別データを含み、
前記サーバは、前記識別データに基づいて前記ウェブサイトの前記プレイバック視聴ユーザが前記リアルタイムの観客とソーシャルネットワーク上の友人関係をもつかどうかを判定し、前記リアルタイムの観客が前記プレイバック視聴ユーザの友人ではないと判定したときに、前記クラウドゲーミングシステムのサーバが前記リアルタイムの観客の口頭コメントをフィルタリングすることにより、前記音声記録から前記リアルタイムの観客に対応する音声がプレイバックされないようにる共有機能をさらに実行するように構成され、友人関係をもつかどうか、ソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定される、クラウドゲーミングシステム。
【発明の詳細な説明】
【背景技術】
【0001】
クラウドゲーミングは、インターネットを介してユーザにアクセス可能な、ネットワーク化されたサーバのシステムによって円滑になる。サーバは、複数のユーザのゲーミングセッションをホストする。典型的には、ユーザのゲームプレイをホストするために、ユーザは、仮想サーバまたは物理サーバに割り当てられる。多くのゲームは複雑であり、無期限の間で継続し得る。ユーザは、自身のゲームプレイの視聴を1人以上の観客と共有することをしばしば望むだろう。観客は、ユーザのゲームプレイに、テキスト及び音声コメントを追加することができる。例えば、ユーザのゲームプレイの特定のポイントで、ユーザのパフォーマンスを応援すること、やじを飛ばすこと、または褒めることである。
【発明の概要】
【発明が解決しようとする課題】
【0002】
ユーザは、様々な理由により、この記録されたゲームプレイを保存することをしばしば望むだろう。例えば、ユーザは、記録されたゲームプレイを1人以上の他のユーザと共有することを望むことがある。ユーザは、ゲームプレイの特定部分の特定のパフォーマンスを自慢するか、別様には誇示するために、1人以上の友人とゲームプレイを共有してよい。同様に、ユーザは、保存されたゲームプレイを、他のプレイヤーへの挑戦として使用するか、または最高もしくは最悪(例えば、ブルーパー)のタイプの一覧として使用してよい。
【0003】
本発明の実施形態はこの背景において発生する。
【課題を解決するための手段】
【0004】
概して、本発明は、ユーザの実際のライブゲーミングセッションに対して1人以上の観客が作成したコメントと共に、ゲームの少なくとも一部分を保存するシステム及び方法を提供することによって、これらのニーズを満たす。ゲームの保存された部分は、後にプレイバックすることができる。1つ以上のプレイバック視聴者のコメントを、記録されたゲームに追加することができる。追加されたプレイバック視聴者のコメントは、ゲームの時間に対応させて保存できる。プレイバック視聴者のコメントは、プレイバック視聴者の識別を含むことがある。ユーザのゲーミングセッションに対するコメントは全て、友人リストまたは他の共有規則に従って、ソート及び表示することができる。
【0005】
1つの実施形態では、ゲーミングセッションに非同期的にコメントを付与する方法を提供する。クラウドゲーミングシステムによって実行されるゲーミングセッションが記録される。記録されたゲーミングセッションは、ゲームプレイクリップを生成し、ゲームプレイクリップは、ゲーミングセッションのビデオ記録ならびにゲーミングセッションに参加しているプレイヤー及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む。ゲームプレイクリップは、記録されたゲーミングセッションの部分及びゲームプレイクリップに対応する音声記録の部分を含む。ゲームプレイクリップはさらに、ゲーミングセッション内で生じているプレイの1つ以上のハイライトイベントを含む。ウェブサイトのユーザが見ることができるよう、ウェブサイトに対してゲームプレイクリップの共有を有効にする。ウェブサイトのプレイバック視聴ユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックが提供される。プレイバックは、記録されたゲームセッションの部分及び音声記録の部分を含み、音声記録の部分は、ゲーミングセッション中に生じたハイライトイベントに関連する1つ以上のコメントを有する。ゲームプレイクリップのプレイバック中に、音声記録と共に、1つ以上のコメントが出力される。コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別される。
【0006】
ゲームプレイクリップのプレイバックはさらに、ウェブサイトのプレイバック視聴ユーザが観客の友人であるかどうか判定することと、観客がプレイバック視聴ユーザの友人であると判定されるときに、音声記録の部分に、観客に対応する音声を包含することとを含むことがある。友人であることは、ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定できる。代替的には、観客がプレイバック視聴ユーザの友人ではないと判定されるときに、音声の記録部分から、観客に対応する音声を排除することができる。
【0007】
共有されたゲームプレイクリップにアクセスしている視聴ユーザの音声記録は、ゲームプレイクリップのプレイバック中に受信することができ、プレイバック視聴ユーザの音声記録の部分を、ゲームプレイクリップにある特定のハイライト及び/またはゲームプレイクリップに対する他のコメントに関連付けることができる。観客のコメント視聴は、プレイバック視聴ユーザと観客との間に友人関係が存在するかどうかを基に、フィルタリングすることができ、友人関係は、ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフによって判定される。
【0008】
少なくとも1人のプレイヤーの音声記録は、1人のプレイヤーを識別する対応するプレイヤーテキスト識別データならびにプレイヤーが作成した口頭及び記述コメントのプレイヤーテキストコメントファイルを含むことがある。観客の音声記録は、観客を識別する観客テキスト識別データならびに観客が作成した口頭及び記述コメントの観客テキストファイルを含むことがある。記録されたゲーミングセッションをリプレイするプレイバック要求は、サーバによって受信することができる。プレイバック要求は、第2の観客に対応するクライアントデバイスから受信することができる。記録されたゲーミングセッションは、記録されたゲーミングセッションをリプレイする要求に応答して、リプレイすることができる。リプレイされた記録されたゲーミングセッションを、第1の更新された記録されたゲーミングセッションとして記録することができ、第1の更新された記録されたゲーミングセッションは、第2の観客の音声記録を、リプレイされたゲーミングセッションを観察した第2の観客として関連付けることを含む。第2の観客の音声記録は、第2の観客を識別する第2の観客テキスト識別データならびに第2の観客が作成した口頭及び記述コメントの第2の観客テキストファイルをさらに含むことがある。リプレイされたゲーミングセッションを観察している第2の観客の音声記録は、リプレイされたゲーミングセッションに生じている対応アクションの時間に合わせることができる。
【0009】
プレイヤーが作成した口頭コメントのプレイヤーテキストファイルは、プレイヤーの口頭コメントを識別する対応するプレイヤー音声認識及びプレイヤーが作成した口頭コメントのプレイヤー音声認識出力を含むことがある。
【0010】
別の実施形態は、クラウドゲーミングシステム上にホストされるゲーミングセッションに、非同期コメントを関連付けるためのクラウドゲーミングシステムを提供する。クラウドゲーミングシステムは、クラウドゲーミングセッションをホストするためのサーバを含む。サーバは、ネットワークを介して、プレイヤーのクライアントデバイスに連結されている。サーバは、プレイヤーのクライアントデバイスから制御入力を受信し、受信された制御入力に従って、クラウドゲーミングセッションを実行するように構成されている。サーバは、ネットワークを介して、観客のクライアントデバイスに連結されており、実行されたクラウドゲーミングセッションのビデオを、プレイヤーのクライアントデバイス及び観客のクライアントデバイスにストリーミング配信するように構成されている。ゲームレコーダ論理は、サーバに含まれる。ゲームレコーダ論理は、ゲーミングセッションのストリーミング配信されたビデオのビデオ記録、ゲーミングセッションに参加しているプレイヤーの音声記録及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む、ゲームプレイクリップを記録するように構成される。ゲームレコーダ論理は、プレイヤーの音声記録及び観客の音声記録を、実行されたクラウドゲーミングセッションのストリーミング配信されたビデオに関連付けるように構成される。サーバは、プレイヤーのクライアントデバイスから受信された制御入力に従って、ゲームプレイクリップをウェブサイトに対して共有することができる。ビデオプレイバック論理は、ウェブサイトのプレイバック視聴ユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックをストリーミング配信することができる。プレイバックは、記録されたゲームセッションの部分及び音声記録の部分を含む。音声記録に含まれる部分は、ゲーミングセッション中に生じたハイライトイベントに関連する1つ以上のコメントを有する。ゲームプレイクリップのプレイバックは、ゲームプレイクリップのプレイバック中に音声記録と共に出力される1つ以上のコメントを含み、コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別される。
【0011】
本発明のその他の態様及び利点は、添付の図面と併せて、本発明の原理を例として例示する、以下の発明を実施するための形態から明らかになる。
【図面の簡単な説明】
【0012】
本発明は、添付の図面と併せて、以下の発明を実施するための形態から容易に理解されるであろう。
【0013】
図1A】本開示の実施形態を実装するための、簡略化されたゲーミングシステムである。
【0014】
図1B】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをジョン及びデーブから見たタイムラインである。
【0015】
図1C】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをカレンから見たタイムラインである。
【0016】
図1D】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをボブから見たタイムラインである。
【0017】
図1E】本開示の実施形態を実装するための、1つ以上のサーバに実装され得る簡略化されたクラウドゲーミングシステムである。
【0018】
図2A】本開示の実施形態を実装するための、簡略化されたゲーミングシステムの模式図である。
【0019】
図2B】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをヘンリーから見たタイムラインである。
【0020】
図2C】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをジョーから見たタイムラインである。
【0021】
図2D】本開示の実施形態を実装するための、ジョー及びヘンリーのコメントを関連付けた後に、ジョンの記録されたゲーミングセッションをジョンから見たタイムラインである。
【0022】
図2E】本開示の実施形態を実装するための、プレイヤーP1及びP2と、観客S1、S2及びS3との間のソーシャルネットワークにおける友人繋がりスコアを示す、簡略化されたソーシャルグラフである。
【0023】
図3A】本開示の実施形態を実装するための、記録されたゲーミングセッションに対応するコメントを保存するときに行われる動作方法の簡略化された概略を例示するフローチャート図である。
【0024】
図3B】本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法の簡略化された概略を例示するフローチャート図である。
【0025】
図3C】本開示の実施形態を実装するための、ユーザのクラウドゲーミングシステムダッシュボードの簡略化されたグラフィカルユーザインターフェースである。
【0026】
図3D】本開示の実施形態を実装するための、保存されたゲームAを共有する機能をユーザに提供する一例を例示する。
【0027】
図4】本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法を例示するフローチャート図である。
【0028】
図5】本発明の様々な実施形態に係る、ゲームシステムのブロック図である。
【発明を実施するための形態】
【0029】
1つ以上のプレイバック視聴者のコメントを、以前に記録されたゲーミングセッションに非同期的に保存するシステム及び方法について、いくつかの実施形態例をここで説明する。本明細書に記載する特定の詳細の一部または全てを含むことなく本発明が実施され得ることが当業者には明らかであろう。
【0030】
クラウドゲーミングは、非常に人気のあるゲーミング環境になりつつある。クラウドゲーミングによって、単一プレイヤー及び複数プレイヤーのゲーミングセッションが可能になり、さらにユーザは、相互作用が充実したコンテンツならびに没入型の三次元(3D)グラフィックスを伴うゲームなど、複雑かつコンテンツが充実したゲームをプレイすることが可能になる。このようなコンテンツが充実したゲームには、特殊なプロセッサ、コプロセッサ及びグラフィックスプロセッサを有する、複雑かつパワフルであり、多くの場合、非常に特殊なコンピュータが必要である。クラウドゲーミングには、パフォーマンスの低下を回避するために、遅延及びモニター遅延を減らすための、技術的に優れたサーバプロセッサがさらに必要である。追加の利点として、クラウドゲーミングによって、ユーザは、コンテンツが充実したゲームを大幅に簡素なクライアントコンピュータ上でプレイすることが可能になる。一例として、ユーザは、タブレット、スマートフォン、ヘッドマウントディスプレイ(HMD)を用いたクラウドゲーミングシステムまたはローカルネットワーク及び/またはインターネットを介してクラウドゲーミングシステムと通信可能な他の携帯型の計算デバイス上でゲームをプレイすることができる。
【0031】
説明されるクラウドゲーミングシステムによって、第1のユーザは、1人以上の観客が第1のユーザの実際のライブゲーミングセッションに対して作成した関連コメントと共に、ゲーミングセッションの少なくとも一部分(つまり、ゲームクリップ)を保存することが可能になる。保存されたゲームクリップは、ゲーミングセッションの全体くらいの長さ、またはわずか数秒くらいの短さとなる場合がある。ゲームクリップは、第1のユーザが記録及び共有を選択したゲーミングセッションの、選択されたハイライトを含むことがある。コメントは、第1のユーザ及び観客が作成した記述または言語化されたコメントを含むことができる。コメントは、別個のデータファイルに保存され、ゲームプレイの時間に関連付けることができる。コメントのそれぞれは、コメントを作成したユーザまたは観客にも関連付けることができる。
【0032】
ゲーミングセッションの保存部分は、第1のユーザ及び観客が第1のユーザのライブゲーミングセッションに対して作成した関連コメントと共に、後にプレイバックすることができる。ゲーミングセッションの保存部分は、1人以上のプレイバック視聴者によってプレイバックすることができる。プレイバック視聴者はさらに、記述及び言語化されたコメントを、記録されたゲーミングセッションに追加することができる。記録されたゲーミングセッションは、ゲーミングセッションのプレイバック中に作成された関連プレイバック視聴者のコメントを含むように更新することができる。追加されたプレイバック視聴者のコメントは、ゲーミングセッションの時間に対応させて関連付けることができる。第2のプレイバック視聴者は、第1のユーザ及び観客が第1のユーザのライブゲーミングセッションに対して作成したコメントと、以前に追加されたプレイバック視聴者のいずれかのコメントとを含むプレイバックを見ることができる。
【0033】
プレイバック視聴者のコメントは、プレイバック視聴者の識別を含むことができる。第1のユーザのゲーミングセッションに対するコメントは全て、友人リストまたは他の共有規則に従って、フィルタリングすることができる。例えば、第1のユーザのライブゲーミングセッションは、友人1、友人2及び友人3によってライブで観察され、観察している友人のそれぞれは、第1のユーザのライブゲーミングセッション中にコメントを送信した。友人1、友人2及び友人3の全員が第1のユーザの友人である。しかしながら、友人2及び友人3は互いに友人ではないが、両者は友人1と第1のユーザとの両方の友人である。第1のユーザ、友人1、友人2及び友人3によってライブゲーミングセッション中に送信されたコメントは全て、第1のユーザがゲーミングセッションを保存するときに、ゲーミングセッションに関連付けて保存されることになる。
【0034】
別の実装では、第1のユーザの保存されたプレイセッションに関連付けられたコメントは、第1のユーザに対する友人スコアによって、フィルタリングすることができる。例えば、第1のプレイバック視聴者は、第1のユーザとの共通の友人を32人有することがあり、第2のプレイバック視聴者は、第1のユーザとの共通の友人をわずか12人有することがある。その結果、第1のプレイバック視聴者は、第1のユーザに対して、第2のプレイバック視聴者よりも高い友人スコアを有するだろう。第1のプレイバック視聴者のコメントは、第2のプレイバック視聴者と共有することはできず、これによって、第2のプレイバック視聴者が第1のユーザの保存されたゲーミングセッションを見ているときに、第1のプレイバック視聴者のコメントは、第2のプレイバック視聴者に対して可聴または可聴できない。例えば、第2のプレイバック視聴者の43人の友人は第1のユーザの友人ではないが、第1のユーザの64人の友人と友人である場合には、第1のユーザに対して、第1のプレイバック視聴者の友人スコアより高い友人スコアを獲得するなど、友人スコアは友情関係の度合を含み得る。したがって、これは友人をスコア化する簡略化された一例であることを理解すべきである。
【0035】
友人2と友人3は互いに友人ではないため、ライブゲーミングセッション中及び保存されたゲームのいずれかのプレイバック中に、友人3が作成したコメントは、友人2に対して可視または可聴できず、友人2が作成したコメントは、友人3に対して可視または可聴できない。ライブゲーミングセッション中及び保存されたゲームのいずれかのプレイバック中に、友人2及び友人3が作成したコメントは、第1のユーザ及び友人1に対して可視または可聴になるだろう。同様に、第1のユーザ及び友人1が作成したコメントは、友人2及び友人3に対して可視または可聴になる。
【0036】
友人4は、第1のユーザ及び友人3のみの友人である。友人4は、第1のユーザの保存されたゲームをプレイバックのために選択する。友人4は、第1のユーザ及び友人3からのコメントを見たり聞いたりできるだろうが、友人1及び友人2からのコメントは視聴できないだろう。友人4がプレイバック中にコメントを追加し、友人2がその後、第1のユーザの保存されたゲームをプレイバックのために選択すると、友人2は、友人4のコメントを見たり聞いたりしないだろう。
【0037】
開示されたクラウドゲーミングの、1つ以上のプレイバック視聴者のコメントを、以前に記録されたゲーミングセッションに非同期的に関連付ける技術は、他の用途も有する。例えば、第1のユーザのゲーミングセッションは、他のユーザ間で共有される可能性があり、これによって、他のユーザは、同じゲーミングセッションを体験することができるか、場合によっては第1のユーザ(別の遠隔地にいる場合があるが、クラウドゲーミングサービスに接続されている)を助けることができる。一例として、第1のユーザは、保存されたゲームプレイまたは保存されたゲーミングセッションへのリンクをソーシャルネットワークに投稿することができる。1つの実装では、第1のユーザは、コントローラまたは他のユーザインターフェース上の共有ボタンまたはオプションを選択して、保存されたゲームを共有することができる。
【0038】
図1Aは、本開示の実施形態を実装するための、簡略化されたゲーミングシステム100である。基本的なローカルゲーミングシステム100は、ディスプレイ122A'に連結されているクライアントデバイス122A及び1つ以上のゲームコントローラ123A、123A'を含む。ゲームコントローラ123A、123A'は、有線または無線(図示)通信リンク124A~nを介して、クライアントデバイス122Aに連結されている。基本的なローカルゲーミングシステム100は、1つ以上のヘッドセット及びマイクロホン124A、124A'及び/またはスピーカ124''及びエリアマイクロホン124A'''及びまたはHMD125をさらに含むことがある。
【0039】
複数のユーザ、つまり、ジョン、ボブ、デーブ、カレン、ヘンリー及びジョーについて以下の実施形態例を通じて説明する。図1Aに示す通り、ユーザであるジョンは、クライアントデバイス122Aを介してゲームをプレイするために、自身のゲームコントローラ123A、ヘッドセット及びマイクロホン124Aを使用している。ジョンの友人であるボブは、ジョンがクライアントデバイス122Aを介してゲームをプレイするときに観察するために、自身のクライアントデバイス123A'、ヘッドセット及びマイクロホン124A'を使用している。ボブは、ジョンのゲームプレイを観察して相互作用するために、任意のHMD125をさらに使用してよい。HMDは、ディスプレイ122A'の代わりにまたはディスプレイ122A'に加えて、表示機能をボブに提供できる。ジョン及びボブは、ジョンがゲームをプレイするときに、発話(可聴)コメント及びテキストコメントをゲームに追加するために、自身のコントローラ123A、123A'ならびにヘッドセット及びマイクロホン124A、124A'を使用している。
【0040】
基本的なゲームシステム100は、有線または無線ネットワーク104Aを介して、インターネット102上の1つ以上のサーバ101A~Cに連結されており、これによって、ジョンは、自身の友人であるデーブ及びカレンと自身のゲーミングセッションを共有することができる。デーブ及びカレンは、自分自身の基本的なゲーミングシステム100B、Cをそれぞれ有しており、これらは、有線または無線ネットワーク104B、104Cを介して、インターネット102上の1つ以上のサーバ101A~Cにそれぞれ連結されている。デーブ及びカレンは、自身のそれぞれのクライアントデバイス122B、Cを使用して、ジョンがゲームをプレイするときに、観察することができる。デーブ及びカレンは、ジョンがゲームをプレイするときに、自身のそれぞれのゲームコントローラ123B、123Cならびにヘッドセット及びマイクロホン124B、124Cを使用して、口頭及びテキストコメントを追加することができる。
【0041】
ジョンは、ジョン及び彼の友人が将来のある時点でゲーミングセッションを再度見ることができるよう、ゲーミングセッションを記録するよう選択した。ジョンの記録されたゲーミングセッションは、彼の自宅で後にプレイバックするために、自身のクライアントデバイス122Aに記憶することができる。代替的には、ジョンは、記録されたゲーミングセッションをインターネット102上のクラウドゲーミングシステムの1つ以上のサーバ101A~C上に記憶することができ、これによって、ジョンは、インターネット102に接続している他人と、記録されたゲーミングセッションを共有することができる。
【0042】
図1Bは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション114をジョン及びデーブから見たタイムラインである。タイムラインポイントT0~T14は、ゲームプレイ内の時点に対応する。例えば、T0は、ジョンがプレイするゲームのレベル22内の2分11秒の時点に対応するゲームプレイクリップの開始時であり得る。同様に、タイムラインポイントT1は、ジョンがプレイするゲームのレベル22内の2分31秒のゲームプレイ時間など、タイムラインポイントT0の20秒後の時点に対応する可能性がある。
【0043】
タイムラインポイントの各ペア間の相対的な間隔は実質的に等しく示されているが、タイムラインポイントT0~T14の各ペア間の対応する時間間隔は異なり得ると理解すべきである。例えば、タイムラインポイントT0とT1との間の時間間隔は20秒であってよく、一方、タイムラインポイントT1とT2との間の時間間隔はわずか4秒であってよく、タイムラインポイントT4とT5との間の時間間隔は42秒であってよく、タイムラインポイントに沿ってその他の時間間隔があってよい。
【0044】
デーブ、ボブ及びカレンのそれぞれはジョンの友人であり、ジョン、ボブ及びカレンのそれぞれはデーブの友人である。彼らの友人ステータスの結果により、ジョン及びデーブは、ジョンのゲーミングセッション中に生じたボブ及びカレンのそれぞれのコメントを見たり聞いたりできる。ジョンのコメントは、タイムラインに対して下向き矢印で表現され、ジョンからもたらされたものとしてラベル付けされる。デーブ、ボブ及びカレンのそれぞれのコメントは、彼らのそれぞれの名前からタイムラインに対して上向き矢印で表現され、彼らのそれぞれからもたらされたものとしてそれぞれラベル付けされる。
【0045】
ジョンが、以前に記録されたゲーミングセッションをプレイバックしたとすると、ジョンは、自身のゲーミングセッション中またはゲーミングセッションのクリップ中に、デーブ、ボブ及びカレンが作成したコメントをさらに見たり聞いたりできる。同様に、デーブが以前に記録されたゲーミングセッションをプレイバックしたとすると、デーブも自身のゲーミングセッション中に、ジョン、ボブ及びカレンが作成したコメントを見たり聞いたりできる。
【0046】
図1Cは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション114Aをカレンから見たタイムラインである。カレンはジョン及びデーブの友人であるが、ボブとは友人ではない。したがって、カレンは、ゲーミングセッション中及び以前に記録されたゲーミングセッションのいずれかのプレイバック中にジョン及びデーブが作成したコメントを見たり聞いたりできる。ジョンのゲーミングセッションの記録中に、カレンはボブのコメントを見たり聞いたりできない。
【0047】
図1Dは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション114Bをボブから見たタイムラインである。ボブはジョン及びデーブの友人であるが、カレンとは友人ではない。したがって、ボブは、ゲーミングセッション中及び以前に記録されたゲーミングセッションのいずれかのプレイバック中にジョン及びデーブが作成したコメントを見たり聞いたりできる。ジョンのゲーミングセッションの記録中に、ボブはカレンのコメントを見たり聞いたりできない。
【0048】
ボブは、友人ではない人がボブのコメントを見たり聞いたりできるよう、オプションを有効にしている可能性があり、この場合、カレンはボブのコメントを見たり聞いたりできる。同様に、カレンが、友人ではない人がカレンのコメントを見たり聞いたりできるよう、オプションを有効にしない限り、ボブはカレンのコメントを見たり聞いたりできないだろう。
【0049】
図1Eは、本開示の実施形態を実装するための、簡略化されたクラウドゲーミングシステムであり、クラウドゲーミングシステムは、1つ以上のサーバ101A~Cに実装され得る。クラウドゲーミングシステムは、クラウドコントローラ130、複数のサーバ/ゲームコンソール112A~n、1つ以上のゲームコンソールマネジャ113及びストレージサーバ110を含む。クラウドコントローラ130、複数のサーバ/ゲームコンソール112A~n、1つ以上のゲームコンソールマネジャ113及びストレージサーバ110は、1つ以上のデータセンタ111、115、117に配置することができる。クラウドコントローラ130、複数のサーバ/ゲームコンソール112A~n及びストレージサーバ110は、ローカルエリアネットワーク104E~G及び/またはインターネット102によって共に連結されている。複数のサーバ/ゲームコンソール112A~n及びゲームコンソールマネジャ113は、単一のデータセンタ115に共同設置できるか、または複数のデータセンタ間で分散することができる。
【0050】
1つ以上のゲームコンソールマネジャ113は、サーバ/ゲームコンソール112A~nの各ラックに格納されることがある。ゲームコンソールマネジャ113は、1つ以上のハードウェア及び/またはソフトウェアアーキテクチャに応じて、1つ以上のサーバ/ゲームコンソール112A~nを管理する。ゲームコンソールマネジャ113は、ネットワーク接続115及び/または任意の汎用入出力、ユニバーサルシリアルバスまたはゲームコンソールの電源を作動するための同等の制御接続を使用して、サーバ/ゲームコンソール112A~nに物理的に接続される。ゲームコンソールマネジャ113は、任意には、割り当てられたサーバ/ゲームコンソールとユーザのクライアントデバイス122A~nとの間のストリーミングセッションを設定及び管理するなどの、追加の役割を含むことがある。
【0051】
ローカルストレージサーバ116は、任意には、複数のサーバ/ゲームコンソール112A~nのうちの1つ以上と同じデータセンタ115に共同設置されることがある。ローカルストレージサーバ116は、データ116Aを記憶することができ、データ116Aは、複数のサーバ/ゲームコンソール112A~n及び/またはクラウドコントローラ130によって使用されるか、これらから受信される。データセンタ111、115、117は地理的に離れていることがある。例えば、第1のデータセンタ111及び第3のデータセンタ117は、カリフォルニア州ロサンジェルスに配置されることがあり、第2のデータセンタ115は、スウェーデンのストックホルムに配置されることがある。
【0052】
クラウドコントローラ130及び/またはゲームコンソールマネジャ113は、複数のゲーム及び他のアプリケーションを記憶するゲームデータベース132を含み、複数のゲーム及び他のアプリケーションは、複数のサーバ/ゲームコンソール112A~nの1つ以上にダウンロード可能か、または複数のサーバ/ゲームコンソール112A~nの1つ以上で利用可能である。クラウドコントローラ130は認証マネジャ135をさらに含む。認証マネジャ135は、第1のユーザが、有効なアカウント及びクラウドゲーミングシステム100に対して認証されたアクセス権を有するかどうか判定する。第1のユーザのアカウント情報は、ユーザアカウントデータベース133に含まれる。1つ以上の実装では、クラウドコントローラ130は、ゲームレコーダ134をさらに含むことがある。ゲームレコーダ134は、サーバ/ゲームコンソール112A~nのそれぞれに含まれるゲームレコーダ論理144と連携して、それぞれのサーバ/ゲームコンソールに生じている選択されたゲーミングセッションまたはゲームクリップをキャプチャすることがさらにできる。
【0053】
ストレージサーバ110は、クラウドゲーミングシステム100にストレージ設備を提供する。ストレージサーバ110は、ユーザの記録されたゲーミングセッション114'及び関連コメントデータファイルなど、データを記憶するための1つ以上のストレージデバイス110A、110Bを、クラウドゲーミングシステム100が要求し得る通りに含む。1つ以上のストレージデバイス110A、110Bは、任意の適切なストレージ媒体、例えば、ハードディスクドライブ、ソリッドステートドライブまたは光学ドライブ等であってよい。
【0054】
ゲームコンソール112A~nのそれぞれは、ハードウェア層143及びハードウェア層にオーバーレイしているオペレーティングシステム層142を含む。アプリケーション層141は、オペレーティングシステム層142にオーバーレイする。アプリケーション層141は、サーバ/ゲームコンソール112A上で実行されるゲーム及び他のアプリケーションを含む。ハードウェア層は、メインプロセッサ145、コプロセッサ146、グラフィックスプロセッサ(GPU)147、メモリシステム148、入出力システム149、ネットワークインターフェースカード150ならびにゲームコンソール112Aの動作に必要となり得る、多くの他の物理的周辺装置及び仮想周辺装置を含む。メインプロセッサ145、コプロセッサ146、グラフィックスプロセッサ147、メモリシステム148、入出力システム149、ネットワークインターフェースカード150及び他の周辺装置は、1つ以上のデータバス151により共に連結される。
【0055】
少なくとも1つの実装では、オペレーションシステム層142は、ゲームレコーダ論理144を含む。他の実装では、ゲームレコーダ論理144は、アプリケーション層141にある1つ以上のアプリケーションに含まれる可能性がある。ゲームレコーダ論理144は、オペレーションシステム層142とアプリケーション層141との両方に常駐する部分を有して実装されることもある。ゲームレコーダ論理144は、サーバ/ゲームコンソール112Aのゲーミングセッション114を記録することができる。記録されたゲーミングセッション114は、代替的にまたは追加的に、記録されたゲーミングセッション114'として、ローカルストレージサーバ116及び/またはストレージサーバ110に記憶することができる。記録されたゲーミングセッション114'が記憶されたストレージ位置は、ユーザアカウントデータベース133にある第1のユーザのアカウント情報に追加するために、クラウドコントローラに提供することもできる。
【0056】
少なくとも1つの実装では、オペレーションシステム層142は、ビデオプレイバック論理171をさらに含む。他の実装では、ビデオプレイバック論理171は、アプリケーション層141の1つ以上のアプリケーションに含まれることがある。ビデオプレイバック論理171は、オペレーションシステム層142とアプリケーション層141との両方に常駐する部分を有して実装されることもある。ビデオプレイバック論理171は、サーバ/ゲームコンソール112A上でホストされるゲーミングセッション114のビデオ画像を、クライアントデバイス122A~nにストリーミング配信することができる。
【0057】
少なくとも1つの実装では、クラウドゲーミングシステムは、共有論理177をさらに含む。共有論理177は、認証マネジャ135の一部など、クラウドコントローラ130に含めることができ、ユーザがユーザアカウント情報データベース133に設定し得るユーザの嗜好に従って共有する機能を有する。他の実装では、共有論理177は、サーバ/ゲームコンソール112A~nまたはユーザのクライアントデバイス122A~nに含まれることがある。共有論理177は、サーバ/ゲームコンソール112A~nによって共有命令が受信されたときに、保存されたビデオクリップの共有方法を決定することができる。共有は、友人ステータス、または、共有を要求するユーザと、保存されたゲームクリップを含むゲーミングセッションを視聴した観客と、保存されたゲームクリップの視聴を望むプレイバック視聴ユーザとの間の関係性を判定することを含むことがある。
【0058】
クライアントデバイス122A、122Bは、インターネット102またはローカルネットワーク104A~Eを介して、クラウドゲーミングシステム100へのアクセスを提供する。クライアントデバイス122A、122Bは、サーバ/ゲームコンソール112Aに制御入力174を提供し、ストリーミング配信されたゲーミングセッション114のビデオ画像をビデオプレイバック論理171から受信することができる。クライアントデバイス122A、122Bは、上の図1Aに示す通り、それぞれのディスプレイデバイス122A'及び122B'上にストリーミング配信されたゲーミングセッション114のビデオ画像を表示することができる。クライアントデバイス122A、122Bは、インターネット102及び/またはローカルネットワーク104A~Cにアクセス可能な任意の適切なプラットフォームであってよい。例えば、クライアントデバイス122A、122Bは、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、携帯型ゲーミングデバイス、タブレットコンピュータもしくはスマートフォンなどの携帯型の計算デバイスまたは任意の他の適切な計算プラットフォームであってよい。第1のクライアント計算デバイス122A及び第2のクライアント計算デバイス122Bは、地理的に離れた複数の別の位置で使用できる。例えば、第1のクライアント計算デバイス122Aは、第1のユーザが自宅で、オフィスで、または移動中に、インターネット102及びクラウドゲーミングシステム100にアクセスするために使用するタブレットコンピュータであってよい。同様に、第2のクライアント計算デバイス122Bは、自宅で、オフィスで、またはゲーミングシステムへのアクセスを有する他の位置で、インターネット102及びクラウドゲーミングシステム100にアクセスすることができるノートブックコンピュータであってよい。
【0059】
1つの実装では、第1のユーザであるジョンは、第1のクライアント計算デバイス122Aを使用し、インターネット102を介して、クラウドコントローラ130にアクセスすることができる。認証マネジャ135は、ジョンのユーザ識別を認証し、ジョンに許可されたアクセスレベルを判定する。クラウドコントローラ130及び/またはゲームコンソールマネジャ113は、現在のクラウドゲーミングセッションに対してゲームコンソールA 112Aをジョンに割り当て、認証されたアプリケーション及びゲームを含むアクセスの認証レベルを、ゲーム及びアプリケーションデータベース132から提供する。クラウドコントローラ130及び/またはゲームコンソールマネジャ113はさらに、割り当てられたサーバ/ゲームコンソール112Aで、認証されたゲーム及び他のアプリケーションをゲーム及びアプリケーションデータベース132から転送するか、別様には起動してよい。1つの実装では、割り当てられたサーバ/ゲームコンソール112Aは、ゲーム及びアプリケーションデータベース132にアクセスし、認証されたゲーム及び他のアプリケーションを、割り当てられたサーバ/ゲームコンソールに転送することができる。
【0060】
1つの実施形態では、ビデオプレイバック論理171は、低遅延のビデオ圧縮論理を含む。低遅延のビデオ圧縮論理は、ソフトウェア、ハードウェアまたはそれらの任意の組み合わせ(以下に、その特定の実施形態を説明する)に実装されてよい。低遅延のビデオ圧縮論理は、視覚情報だけでなく音声情報を圧縮するための論理を含む。
【0061】
動作では、キーボード、マウス、ゲームコントローラ123A~nまたは他の入力デバイスを通じて、クライアントデバイス122A~nを介して、ビデオゲームをプレイしている間またはアプリケーションを使用している間、クライアントデバイス122A~n上の制御信号論理173は、ユーザによって作動されるボタン押下(及び他の種類のユーザ入力)を表す制御信号174(典型的には、UDPパケットの形態)をクラウドゲーミングシステムに送信する。クライアントデバイス122A~nからの制御信号174は、適切なサーバ(複数のサーバがユーザのクライアントデバイスに応答可能な場合は、複数のサーバ)またはゲームコンソール112A~nに送付される。図1Eに例示する通り、制御信号174は、ネットワーク104A~nを介して、サーバ/ゲームコンソール112A~nに送付されてよい。サーバ/ゲームコンソールは、制御信号174に応答して、ゲームまたはアプリケーションソフトウェアを実行する。図1Eには図示しないが、ファイアウォール(複数可)及び/またはゲートウェイ(複数可)などの様々なネットワークコンポーネントは、クラウドゲーミングシステム120の末端(例えば、クラウドゲーミングシステム120とインターネット102との間)及び/またはインターネット410とクライアントデバイス112A~nのそれぞれとの間で、受信及び送信トラフィックを処理し得る。
【0062】
実行されたゲームまたはアプリケーションソフトウェアのグラフィック出力または音声出力、つまり、ビデオ画像の新規シーケンスが、ビデオプレイバック論理171に提供され、低遅延のビデオ圧縮論理は、低遅延のビデオ圧縮技法に従って、ビデオ画像のシーケンスを圧縮する。ビデオ圧縮技法は、例えば、「System and Method for Compressing Video by Adjusting Tile Size Based on Detected Intraframe Motion or Scene Complexity」と題する、2009年1月23日に出願され、その全体が引用することによってあらゆる目的で本明細書に組み込まれる、共有の米国特許出願第12/359,233に記載されるような技法である。
【0063】
圧縮されたビデオ画像シーケンスは、典型的には、圧縮または圧縮されていない音声を伴い、インターネット102及び/またはパブリックにアクセス可能なインターネットの少なくとも一部分を迂回する最適な高速ネットワークサービスを介して、クライアントデバイス112A~nにストリーミング配信される。低遅延のビデオ展開論理、つまり、それぞれのクライアントデバイス112A~n上のデコーダ175は、その後、ビデオ及び音声ストリームを展開し、展開されたビデオストリームをレンダリングし、典型的には、展開された音声ストリームをディスプレイ122A'~n'上に表示する。デコーダ175は、それぞれのクライアントデバイス112A~n上に、ソフトウェア及びまたはハードウェアとして実装することができる。代替的には、音声は、ディスプレイ122A'~n'とは別個となり得るスピーカ124''及び/またはヘッドセット124A~n上でプレイできるか、全くプレイできない。クライアントデバイス112A~n及びディスプレイ122A'~n'は、独立したデバイスとして示されるが、これらは、携帯型コンピュータまたはモバイルデバイスなどのクライアントデバイス内に統合され得ることに留意されたい。
【0064】
それぞれのクライアントデバイス112A~nは、非常に安価な低電力のデバイスであってよく、計算性能またはグラフィック性能が非常に限られており、恐らく非常に限られたローカルマスストレージを有するか、または全く有さないだろう。その一方、それぞれのサーバ/ゲームコンソール112A~nは、非常に高性能な計算システムである場合があり、実際には、複数のサーバが並列処理構成で協働して使用される場合、作動可能な計算量及びグラフィックス処理能力にはほぼ制限がない。デコーダ175による低遅延のビデオ圧縮論理及び低遅延のビデオ展開を伴うビデオプレイバック論理171は、ユーザに対して知覚的であり、サーバ/ゲームコンソール112A~nの計算能力をユーザに提供している。ユーザがゲームコントローラ123A、123A'上のボタンを押下するとき、ディスプレイ122A'~n'上の画像は、ゲームまたはソフトウェアがユーザのクライアントデバイス122A~n上でローカルに実行されているかのように、ボタン押下に知覚的に応答して、無意味に遅延することなく更新される。ゆえに、クライアントデバイス112A~nが、低遅延のビデオ展開デコーダ175及び制御信号論理173を実装する非常に性能の低いコンピュータまたは安価なチップであっても、ローカルに利用可能と思われる遠隔地から、任意の計算能力を効果的にユーザに提供する。これにより、最先端かつプロセッサに負荷がかかる(典型的には新規の)ビデオゲームをプレイする能力及び最高性能のアプリケーションをユーザに付与する。
【0065】
図2Aは、本開示の実施形態を実装するための、簡略化されたゲーミングシステム100D、Eの模式図である。ゲーミングシステム100D、100Eは、各ゲーミングシステムがディスプレイ122D'、122E'に連結されたクライアントデバイス122D、122E及び1つ以上のゲームコントローラ123D、122Eを含むため、上記のゲーミングシステム100A~Cと実質的には類似している。ゲームコントローラ123D、123Eは、有線または無線(図示)通信リンク127D、127Eを介して、それぞれのクライアントデバイス122D、122Eに連結されている。ゲーミングシステム100D、Eは、1つ以上のヘッドセット及びマイクロホン124D、124Eをさらに含むことができる。
【0066】
ヘンリー及びジョーは、ジョンが、自身の以前に記録されたゲーミングセッションを共有するように選択した、ジョンの友人である。別の実施形態では、ジョンは、ソーシャルネットワークウェブサイトなどのウェブサイト上で、ジョンの保存されたゲーミングセッション/クリップのリンクを共有または投稿することができ、これによって、ソーシャルネットワークサイト上のジョンの友人は、保存されたゲーミングセッションにアクセスすることができる。別の実施形態では、ジョンは、自身の保存されたゲーミングセッションまたはそのリンクを、パブリックな視聴及びアクセスに公開されているウェブサイト上に投稿することができる。図2Aに示す通り、ユーザであるヘンリーは、自身のクライアントデバイス122D、ゲームコントローラ123D、ヘッドセット及びマイクロホン124Dを使用して、ジョンが以前に記録したゲーミングセッション114にアクセスして、ゲーミングセッション114を見ることができる。同様に、ジョーは、自身のクライアントデバイス122E、ゲームコントローラ123E、ヘッドセット及びマイクロホン124Eを使用して、ジョー114またはヘンリー114Cが以前に記録したゲームプレイセッションにアクセスして、ゲームプレイセッションを見ることができる。
【0067】
ヘンリー及びジョーは、自身のクライアントデバイス122D、E、ヘッドセット及びマイクロホン124D、Eを使用して、ジョンの以前に記録されたゲーミングセッションを、自身のクライアントデバイス122D、Eを介して、プレイバックすることができる。ジョン、ボブ、カレン及びデーブと同様に、ヘンリー及びジョーは、以前に記録されたゲームのプレイバックに対する発話(可聴)コメント及びテキストコメントを作成するために、自身のコントローラ123D、Eならびにヘッドセット及びマイクロホン124D、Eを使用している。ジョー及びヘンリーは、ジョンの事前に記録されたゲーミングセッションのプレイバックを、同時にまたは別の時間に見ていることがある。
【0068】
開示されているクラウドゲーミングは、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存する技術であり、ユーザは以前に記録した自身のゲーミングセッションを、クラウドゲーミングシステムへのアクセス権を有する友人と共有することができるため、クラウドゲーミングの目的にとっては特に有益である。クラウドゲーミングシステム100は、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存及び/または関連付ける、開示されたクラウドゲーミングの技法に対して良好に適合する。これは、クラウドゲーミングシステムが全世界中で接続された数千のユーザを含むためである。
【0069】
以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存する、クラウドゲーミングの技法及び方法の複数の実装を、本明細書に開示する。以下は、1つ以上のプレイバック視聴者のコメントを非同期的に保存及びソートして視聴することができる方法の説明である。
【0070】
図2Bは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション114Cをヘンリーから見たタイムラインである。ジョン、デーブ及びボブは、それぞれヘンリーの友人である。彼らの友人ステータスまたは友人スコアの結果により、ヘンリーは、ジョンのゲーミングセッションの以前の記録中に作成された、ジョン、ボブ及びデーブのそれぞれのコメントを見たり聞いたりできる。
【0071】
ヘンリーは、ジョンの記録されたゲーミングセッションのプレイバックを体験するときに、ジョンの以前に記録されたゲーミングセッション114Cに対する記述及び口頭コメント(ヘンリーの名前からタイムラインに向かって伸びる矢印として表される)を作成することができる。ヘンリーの記述及び口頭コメントは、対応するタイムロケーションに関連付けられ、ジョンの以前に記録されたゲーミングセッション114Cに記録することができる。ジョンまたはヘンリーの任意の他の友人は、ヘンリーの関連付けられた記述及び口頭コメントと共に、ジョンの事前に記録されたゲーミングセッション114Cをプレイバックすることができる。
【0072】
図2Cは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション114Bをジョーから見たタイムラインである。ジョン、カレン、ボブ及びヘンリーは、それぞれジョーの友人である。彼らの友人ステータスの結果により、ジョーは、ジョンのゲーミングセッションの以前の記録中に作成された、ジョン、カレン、ボブ、ヘンリー及びデーブのそれぞれのコメント、例えば、ジョンのゲーミングセッションのライブ記録114及びジョンの以前に記録されたゲーミングセッションのヘンリーの記録114Cなどを見たり聞いたりできる。
【0073】
ジョーは、ジョンの記録されたゲーミングセッションのプレイバックを体験するときに、ジョンの以前に記録されたゲーミングセッション114Dに対する記述及び口頭コメント(ジョーの名前からタイムラインに向かって伸びる矢印として表される)を追加することができる。ジョーの記述及び口頭コメントは、対応するタイムロケーションに関連付けられ、ジョンの以前に記録されたゲーミングセッション114Dに記録することができる。ジョンまたはジョーの任意の他の友人は、ジョーの関連付けられた記述及び口頭コメントと共に、ジョンの事前に記録されたゲーミングセッション114Dをプレイバックすることができる。
【0074】
図2Dは、本開示の実施形態を実装するための、ジョー及びヘンリーのコメントを関連付けた後に、ジョンの記録されたゲーミングセッション114Eをジョンから見たタイムラインである。ボブ、デーブ、カレン、ジョー及びヘンリーの全員がジョーの友人であるため、ジョンは、ゲーミングセッション中に作成された、ボブ、デーブ、カレン、ジョー及びヘンリーのコメント及び以前に記録されたゲーミングセッションのプレイバックを見たり聞いたりできる。
【0075】
前述の議論では、プレイヤーとしてのジョンと、観客としてのボブ、デーブ、カレン、ジョー及びヘンリーのそれぞれとの間の友人であるステータス及び観客同士の間の友人ステータスは、それぞれのコメントのフィルタリングを決定するための入力としてである。上に定義した「友人ステータス」は、簡略化されていると理解すべきである。別の有益な手法は、友人繋がりスコアを基に、コメントをフィルタリングすることである。図2Eは、本開示の実施形態を実装するための、ソーシャルネットワークにおける、プレイヤーP1及びP2と観客S1、S2及びS3の間との友人繋がりスコアを示す、簡略化されたソーシャルグラフ250である。プレイヤーP1及びP2は、ゲーミングセッション252でプレイしている。観客S1、S2及びS3は、プレイヤーP1及びP2がゲーミングセッション252でプレイしているときに観察している。
【0076】
観客S1は、プレイヤーP1との共通の友人を32人有し、プレイヤーP2との共通の友人をわずか1人有する。ゆえに、ゲーミングセッション252では、プレイヤーP1及びP2との友人スコア33が観客S1に与えられる。観客S2は、プレイヤーP1との共通の友人を23人有し、プレイヤーP2との共通の友人をわずか7人有する。ゆえに、ゲーミングセッション252では、プレイヤーP1及びP2との友人スコア30が観客S2に与えられる。観客S3は、プレイヤーP1との共通の友人を12人有し、プレイヤーP2との共通の友人をわずか1人有する。ゆえに、ゲーミングセッション252では、プレイヤーP1及びP2との友人スコア13が観客S3に与えられる。
【0077】
観客S1、S2及びS3のそれぞれの友人スコアは、その後、共有論理177によって使用可能であり、観客S1、S2及びS3が、ゲーミングセッション中または記録されたゲーミングセッションの任意のプレイバック中に、作成した互いのコメントを見ることができるかどうかフィルタリングする。例えば、プレイヤー1は、ゲーミングセッションで少なくとも15の友人スコアを有する友人とのみ、自身のゲーミングセッションの共有を望むよう決定し得る。その結果、友人スコアがわずか13である観客3は、観客S1、S2が作成した他のコメントを見ることができないだろう。同様に、プレイヤー2は、ゲーミングセッションで少なくとも10の友人スコアを有する友人とのみ、自身のゲーミングセッションの共有を望むよう決定し得る。その結果、友人スコアが少なくとも13である観客S1、S2及びS3の全員は、観客S1、S2が作成した他のコメントを見ることができるだろう。
【0078】
前述の事項は、友人のスコアを使用して、コメントをフィルタリングすること及びその大幅に簡略化されたフィルタリングの非常に単純な例であることを理解すべきである。例えば、フィルタリングは、プレイヤーと観客との間の友人スコアのみを使用するよう簡略化することができる。代替的には、友人スコアは、選択された観客がどれくらいの頻度でゲーミングセッションのプレイヤーのうちの選択された1人を観察するか、または選択された観客がどれくらいの頻度で両方のプレイヤーが関わるゲーミングセッションを観察するか、または選択された観客がどれくらいの頻度で別の観客と同じゲーミングセッションを見るかの要因及び前述の要因の全ての組み合わせを重みづけすることを含むような、より一層複雑なフィルタリングに使用することができる。
【0079】
図3Aは、本開示の実施形態を実装するための、記録されたゲーミングセッションに対応するコメントを保存するときに行われる動作方法300の簡略化された概略を例示するフローチャート図である。動作302では、ゲーミングセッションが記録される。上記の通り、ゲーミングセッションは、クラウドゲーミングシステムによって実行される。ゲーミングセッションの記録は、ゲームプレイクリップを生成する。ゲームプレイクリップは、ゲーミングセッションのビデオ記録ならびにゲーミングセッションに参加しているプレイヤー及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む。ゲームプレイクリップは、記録されたゲームセッションの部分及び記録されたゲームセッションの部分に対応する音声記録の部分を含み得る。ゲームプレイクリップは、ゲーミングセッションで生じているプレイの1つ以上のハイライトイベントを含むことがある。
【0080】
動作304では、ウェブサイトのユーザが見ることができるよう、ウェブサイトに対してゲームプレイクリップの共有を有効にすることができる。動作306では、ウェブサイトのユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックを提供することができる。プレイバックは、記録されたゲーミングセッションの部分及び対応する音声記録の部分を含む。対応する音声記録の部分は、ゲーミングセッション中に生じたハイライトイベントに関連する1つ以上のコメントを含むことができる。
【0081】
動作308では、ゲームプレイクリップのプレイバック中に、音声記録の対応する部分と共に1つ以上のコメントを出力することができる。コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別され、動作方法を終了することができる。
【0082】
図3Bは、本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法330の簡略化された概略を例示するフローチャート図である。動作332では、第1のユーザは、クラウドゲーミングシステム100にあるゲームコンソール112A上でゲームをプレイしている。動作334では、第1のユーザ及びユーザのライブゲーミングセッションを観察している1人以上の観客は、上記の図1A~Dで説明した通り、ゲーミングセッション中の選択された時点において、ゲームに関するコメントを作成することができる。
【0083】
第1のユーザのゲーミングセッションは、動作336で記録される。記録されたゲーミングセッションまたはゲーミングセッションのゲームプレイクリップなどのゲーミングセッションの一部分は、ユーザと、ゲーミングセッション中に作成された任意の観客のコメントとの関連付けを含むことができる。コメントは、記述及び可聴コメントを含むことができる。コメントはさらに、コメントを発するユーザ及びまたは観客に対応する、対応ユーザ及び/または観客識別データを含むことができる。
【0084】
ユーザ識別データは、口頭コメントの発信元としてのユーザまたは観客の音声認識から得ることができる。コメントはさらに、1つ以上の口頭コメントのテキストバージョンを含めることができる。コメントはさらに、日付及び時間スタンプならびにコメントが作成されたときに生じているゲーミングセッションの中のイベントに対応するゲーム内のゲームタイミングポイントを含むことができる。
【0085】
後に、動作338において、ユーザは、以前に記録された第1のユーザのゲーミングセッションをプレイバックのために選択する。以前に記録された第1のユーザのゲーミングセッションをプレイバックしている第3のユーザは、第1のユーザまたは第1のユーザによって認証された任意の他のユーザ、例えば、第1のユーザの友人の1人以上などであることがある。
【0086】
動作340では、以前に記録された第1のユーザのゲーミングセッションのプレイバックは、任意には、フィルタリングすることができる。任意のフィルタリングでは、ユーザ及びプレイバック視聴者の友人ではない観客、例えば、上記の図2B及び図2Cに説明したような第3のユーザが作成したコメントを削除することができる。代替的には、フィルタリングには、コメントが投稿されたときにリアルタイムでコメントをフィルタリングすることが含まれることがあり、ゲーミングセッション内の2~4分に作成されたコメントなど、ゲーミングセッション内の特定の時間に対応するコメントは無視するか、プレイバックの一部としてプレイバックしないことが可能である。プレイバックを要求するユーザの友人ではないユーザが作成したコメントは、プレイバックされないよう、コメントをフィルタリングすることができる。ユーザが作成したパブリックなコメントをプレイバックするために、コメントをフィルタリングすることができ、コメントを行う指定されたユーザは任意のユーザにアクセス可能、例えば、パブリックにアクセス可能であった。前述の事項は、記録されたコメントに対応する日付、時間、発信源、コンテンツなどのメタデータをフィルタリングまたはソートする選択肢の単なる例示にすぎない。
【0087】
動作342では、プレイバック視聴者は、第1のユーザの以前に記録されたゲーミングセッションに対する追加のコメントを作成することができる。上の図2Bからの一例の通り、ジョンの事前に記録されたゲーミングセッション114を見ているヘンリーは、ジョンの事前に記録されたゲーミングセッションのプレイバックの時間に関連付けられたコメントを作成する。
【0088】
動作344では、ジョンの事前に記録されたゲーミングセッション114は、ヘンリーのコメントの記録に対する関連付けを含むように更新することができる。ヘンリーのコメントは記録され、ジョンの事前に記録されたゲーミングセッションのプレイバックの時間に関連付けられ、動作方法は終了することができる。
【0089】
図3Cは、本開示の実施形態を実装するための、ユーザのクラウドゲーミングシステムダッシュボード350の簡略化されたグラフィカルユーザインターフェースである。クラウドゲーミングシステムダッシュボード350は、新規ゲームを選択する352、ゲーミングトーナメントにおけるユーザの現在の順位を調べる354、ユーザのゲーミング履歴をレビューする356、ユーザの友人を更新する358、他のオプション360及びユーザのアカウントを更新する362ためのオプションを含む。各オプションにより、ユーザは選択されたオプションを実行するための対応画面に移動する。
【0090】
クラウドゲーミングシステムダッシュボード350はさらに、保存されたゲームメニュー370を含むことができる。保存されたゲーム/クリップメニュー370は、保存されたゲーム/クリップの一覧及び保存されたゲーム/クリップを表示または削除するオプションを含む。ユーザは、2つ以上の保存されたゲーム/クリップを有することができ、ユーザが選択するあらゆる理由により、いつでもゲームまたはゲームのクリップを保存することができるということに留意すべきである。表示されたメニューオプションを選択するためのポインタ380は、クラウドゲーミングシステムダッシュボード350画面にも表示される。
【0091】
図3Dは、本開示の実施形態を実装するための、保存されたゲームAを共有する機能390をユーザに提供する一例を例示する。システムは保存されたゲームをヘンリー392と共有してもよく、その後、ヘンリーによって保存されたゲームを表示またはプレイバックする機能が提供される。ヘンリーは、ヘンリーのコメントをプレイバックゲームに追加することも可能である。
【0092】
ゲームBの保存されたゲーム/クリップの履歴情報394を保存するオプションがさらに図3Dに示される。ユーザがゲームBまたはゲームBのいくつかのクリップを複数回保存すると、ユーザはこれらの保存されたゲーム/クリップのそれぞれを表示またはプレイバックすることが可能である。
【0093】
ユーザは、保存されたゲームを2人以上のユーザと共有可能であってよい。例えば、1人のユーザは、ユーザの保存されたゲーミングセッションを示すために、保存されたゲームAを複数のユーザ(例えば、友人)と共有してよい。
【0094】
図4は、本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する1つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法400を例示するフローチャート図である。動作405では、第1のユーザがクラウドゲーミングシステムのクラウドコントローラ130にアクセスする。認証マネジャ135は、ユーザアカウントデータベース133に問い合わせ、第1のユーザのログインアクセス情報とユーザアカウントデータベース133にある第1のユーザのアカウント情報とを比較することにより、第1のユーザが有効なアカウントを有していること及び第1のユーザの認証されたアクセス権を確認する。第1のユーザは、クライアントデバイス122A~nを介してクラウドコントローラにアクセスすることができる。
【0095】
クラウドコントローラ130は、動作410において、第1のユーザをサーバ/ゲームコンソール113Aに割り当てる。1つの実装では、第1のユーザをサーバ/ゲームコンソール113Aに割り当てることは、以前に保存された第1のユーザのゲームのうちの1つ以上を、割り当てられたサーバ/ゲームコンソール上に自動的にロードすることを含むことがある。サーバ/ゲームコンソール113Aに第1のユーザを割り当てることは、ユーザのクライアントデバイス122A~n及び対応するディスプレイ112A'~n'を介して、第1のユーザのクラウドゲーミングシステムダッシュボード350画面を表示することをさらに含むことがある。
【0096】
1つの実装では、ゲームコンソールマネジャは、第1のユーザをサーバ/ゲームコンソール113Aに割り当てることができる。クラウドコントローラは認証を行い、ゲームコンソールマネジャはサーバ/ゲームコンソールを起動し(例えば、電源を投入する)、ゲームデータ、ユーザデータ等などの任意の必要なデータを転送し、割り当てられたサーバ/ゲームコンソールに対してログインシーケンスをトリガーする。代替的には、割り当てられたサーバ/ゲームコンソールは、ゲームデータ、ユーザデータ等などの任意の必要なデータを、ユーザデータ及び/またはゲームコンソールマネジャ及び/またはクラウドコントローラ130で示されるような、対応するストレージ位置から取り出すことができる。
【0097】
動作415では、第1のユーザは、割り当てられたサーバ/ゲームコンソール113A上でゲームまたはアプリケーションを選択及び実行する。割り当てられたサーバ/ゲームコンソール113Aは、1つ以上のクラウドゲーミングサーバにある多数のサーバ/ゲームコンソールのうちの1つとなり得る。1つの実装では、第1のユーザの割り当てられたサーバ/ゲームコンソール113Aは、サーバ/ゲームコンソールのタイムシェアに制限されることがあり、第1のユーザは、割り当てられたサーバ/ゲームコンソール113Aの動作時間の一部分のみに割り当てられる。サーバ/ゲームコンソール113Aは、1つ以上のタイムシェアを提供することができ、それぞれのタイムシェアを、それぞれのユーザに割り当てることができ、ゆえに、複数のユーザが同時に単一のサーバ/ゲームコンソールを使用することが可能になる。
【0098】
動作420では、第1のユーザは、1人以上の他のユーザまたは観客、例えば、友人が、第1のユーザのゲーミングセッションを観察することを許可することができる。動作425において、かつゲーミングセッション中に、第1のユーザ及び1人以上の他のユーザまたは観客は、ゲーミングセッションに対して記述及び可聴コメントを提供することができる。
【0099】
動作430では、第1のユーザは、現在のゲーミングセッションをゲーム/アプリケーションに保存するよう選択する。例えば、第1のユーザは、ゲーミングセッションの開始またはゲーミングセッションの任意の部分中に、保存要求を開始することができるだろう。1つの実装では、クラウドゲーミングシステムは、ゲーミングセッションの開始から、または自動的に選択され得るか、もしくはユーザの嗜好に応じてユーザが設定し得る、事前に選択されたローリングウィンドウ内で、自動的にゲーミングセッションを保存することができ、ローリングウィンドウは、例えば、ゲーミングセッションの最後の10秒から30分またはそれ以上を包含するウィンドウなどである。このような実装では、第1のユーザがゲーミングセッションを保存するよう選択すると、第1のユーザは、ゲーミングセッションの保存を開始するために、ゲーミングセッションの時間をどのくらい遡るか選択することもできる。この実装によって、第1のユーザは、重要なイベントがゲーミングセッションで生じた後に、重要なイベントのゲーミングセッションを保存するよう決定することができ、これによって、第1のユーザは、重要なイベントのゲーミングセッションを1人以上の友人と共有することができる。
【0100】
第1のユーザは、ユーザのクライアントデバイス122A~n及び/または自身のゲームコントローラ123A~nを介して、クラウドコントローラ130及び第1のユーザの割り当てられたサーバ/ゲームコンソール113Aのうち1つまたは両方に保存要求を通信することによって、保存ゲームを開始することができる。上に言及した通り、保存ゲーム動作は割り当てられたゲームコンソール、ゲームコンソールマネジャ、クラウドコントローラ130及びストリーミングソフトウェア間で分散されてよい。
【0101】
動作435では、第1のユーザの現在のゲーミングセッション114ならびに第1のユーザ及び他の任意のユーザが作成したコメントは、後の取り出し及びプレイバックのために保存される。保存されたゲーミングセッション114は、ハードウェア状態データ及び/またはアプリケーション状態データなどの他のデータを含むことがある。ユーザ及び/または観客コメント情報は、保存されたゲーミングセッションの一部として保存することができる。代替的には、ユーザ及び/または観客コメント情報は、別個のデータファイルに保存するか、または保存されたゲーミングセッションもしくはクリップの時間に関連付けることができる。ユーザ識別は、保存されたそれぞれのコメント、保存されたそれぞれのコメントのリアルタイム及び日付スタンプならびにそれぞれのコメントが作成されたときに対応するゲーミングセッション内の時点への関連付けに対応する。
【0102】
上記の通り、保存された第1のユーザのゲーミングセッション114及び関連コメントは、記憶されたゲーミングセッション114'として、ローカルストレージサーバ116内及び/またはストレージサーバ110内に記憶することができる。ストレージサーバ110及びローカルストレージサーバ116は、複数のゲームコンソール及び/または複数のユーザに対して、保存されたゲーミングセッションを効率的に記憶することができる。動作440では、第1のユーザの記憶されたゲーミングセッション114'の位置は、ユーザアカウントデータベース133にある第1のユーザのアカウントデータに関連付けられる。これによって、第1のユーザのアカウント情報が、第1のユーザの記憶されたゲーミングセッションのストレージ位置を含むことが可能になる。
【0103】
後に、動作445において、第1のユーザの保存されたゲーミングセッションをプレイバックする要求が開始される。プレイバック要求は、第1のユーザまたは友人などの認証された第2のユーザから発信されることがある。上の例を再度参照すると、ジョンは自身のゲーミングセッションを保存することができ、ヘンリーは後に、保存されたゲーミングセッションにアクセスすることができる。第1のユーザまたは認証された第2のユーザは、ユーザのクライアントデバイス122A~nを介して、及びサーバ/ゲームコンソール113Bなどの割り当てられたサーバ/ゲームコンソールを通じて、プレイバック要求を発行することができる。
【0104】
第1のユーザが、自身の最初のゲーミングセッションをログオフしたか、別様には、自身の最初のゲーミングセッションが、例えば、クラウドコントローラが最初のゲーミングセッションを終了するか、または第1のユーザが、クラウドゲーミングサーバ130、ゲームコンソールマネジャ113もしくは割り当てられたサーバ/ゲームコンソールへのネットワーク接続の中断を経験することなどによって中断された場合、第1のユーザ及び/または認証された第2のユーザは、上記の動作405に記載される通り、クラウドゲーミングサービスに再度アクセスし、サーバ/ゲームコンソールに割り当てられる必要があり得る。第1のユーザ及び/または認証された第2のユーザが、サーバ/ゲームコンソール113Bに割り当てられる場合、第1のユーザの保存されたゲームのうちの1つ以上が、割り当てられたサーバ/ゲームコンソール上に自動的にロードされてよい。第1のユーザが、サーバ/ゲームコンソール113Bに割り当てられ、第1のユーザの保存されたゲームのうちの1つが、割り当てられたサーバ/ゲームコンソール上にロードされると、割り当てられたサーバ/ゲームコンソールは、保存されたゲームのプレイバックが準備完了であるという表示を第1のユーザに提供し、記憶されたゲーム及び保存されたゲーミングセッションを見ているそれぞれのユーザによる対応コメントを、第1のユーザが、例えば、上記のユーザのクラウドゲーミングダッシュボードを通じて、見るためのアクセスを提供してよい。
【0105】
第1のユーザはさらに、上記の通り、記憶されたゲーミングセッション114'を共有または送信するか、別様には、記憶されたゲーミングセッション114'への第2のユーザのアクセスを認証することができる。ゲームをプレイバックする要求は、割り当てられたサーバ/ゲームコンソール、例えば、サーバ/ゲームコンソール113Bまたはクライアントデバイス122A~Eからクラウドコントローラ130に受信することができる。
【0106】
プレイバック要求を受信すると、クラウドコントローラ130は、動作450において、ユーザアカウントデータベース133にある第1のユーザのアカウント情報を問い合わせ、保存された第1のユーザのゲーミングセッション114'のストレージ位置を判定する。クラウドコントローラ130及び/またはゲームコンソールマネジャ113は、動作450において、保存された第1のユーザのゲーミングセッション114'を取り出し、保存された第1のユーザのゲーミングセッション114'を、要求しているサーバ/ゲームコンソール113Bにストリーミング配信することを開始できる。動作455において、要求しているサーバ/ゲームコンソール113Bは、保存された第1のユーザのゲーミングセッション114'を、ユーザのクライアントデバイス122A~nにストリーミング配信することを受信する。
【0107】
動作460において、第1のユーザの保存されたゲーミングセッションと共に保存されたコメントは、フィルタリングされ、これによって、プレイバックを要求するユーザは、視聴しているユーザが受信または見ることを許可されたコメントを、受信または見ることのみができる。
【0108】
動作465において、プレイバックを要求するユーザは、第1のユーザの保存されたゲーミングセッションのプレイバックに対して追加のコメントを作成することができる。動作475において、プレイバックを要求するユーザの追加のコメントは、以前に保存された第1のユーザのゲーミングセッションと共に保存されたコメントに関連付けて保存することができ、動作方法を終了することができる。
【0109】
図5は、本発明の様々な実施形態に係る、ゲームシステム500のブロック図である。ゲームシステム500は、ネットワーク515を介してビデオストリームを1つ以上のクライアント510に提供するように構成される。ゲームシステム500は、典型的には、ビデオサーバシステム520及び任意のゲームサーバ535を含む。ビデオサーバシステム520は、最小限のサービス品質でビデオストリームを1つ以上のクライアント510に提供するように構成される。例えば、ビデオサーバシステム520は、ビデオゲーム内の表示状態または視点を変更するゲームコマンドを受信し、この状態変化を最小の遅延時間で反映している更新ビデオストリームをクライアント510に提供し得る。ビデオサーバシステム520は、まだ定義されていないフォーマットを含む、多様な代替ビデオフォーマットでビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多様なフレームレートでユーザに提示するために構成されたビデオフレームを含み得る。典型的なフレームレートは、1秒当たり30フレーム、1秒当たり60フレーム及び1秒当たり120フレームである。しかしながら、本発明の代替実施形態において、より高いフレームレートまたはより低いフレームレートが含まれる。
【0110】
本明細書では個別に510A、510B等と称されるクライアント510は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、携帯型ゲームプレイデバイス及び/またはその他を含み得る。典型的には、クライアント510は、符号化されたビデオストリームを受信し、ビデオストリームを復号し、得られたビデオを、ユーザ、例えば、ゲームのプレイヤーに提示するように構成される。符号化されたビデオストリームを受信するプロセス及び/またはビデオストリームを復号するプロセスは、典型的には、クライアントの受信バッファ内に個別のビデオフレームを記憶することを含む。ビデオストリームは、クライアント510に統合されたディスプレイ上で、またはモニターもしくはテレビなどの別個のデバイス上でユーザに提示され得る。クライアント510は、任意には、2人以上のゲームプレイヤーをサポートするように構成される。例えば、ゲームコンソールは、2人、3人、4人またはそれ以上のプレイヤーを同時にサポートするように構成され得る。これらのプレイヤーのそれぞれは、別個のビデオストリームを受信し得るか、または単一のビデオストリームは各プレイヤー専用に生成された、例えば、各プレイヤーの視点を基に生成された、フレームの領域を含み得る。クライアント510は、任意には、地理的に分散している。ゲームシステム500に含まれるクライアントの数は、1または2から数千、数万、あるいはそれ以上と、広範囲に変わり得る。本明細書で使用する場合、用語「ゲームプレイヤー」はゲームをプレイする人物を指すために使用され、用語「ゲームプレイデバイス」はゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施形態では、ゲームプレイデバイスは、ゲーム体験をユーザに供給するために協働する複数の計算デバイスを指し得る。例えば、ゲームコンソール及びHMDは、ビデオサーバシステム520と協働し、HMDを通じて見るゲームを供給し得る。1つの実施形態では、ゲームコンソールはビデオサーバシステム520からビデオストリームを受信し、ゲームコンソールは、ビデオストリームまたはビデオストリームへの更新をレンダリングのためにHMDに転送する。
【0111】
クライアント510は、ネットワーク515を介してビデオストリームを受信するように構成される。ネットワーク515は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク及び/またはその他を含む、任意の種類の通信ネットワークであり得る。典型的な実施形態において、ビデオストリームは、TCP/IPまたはUDP/IPなどの規格プロトコルを介して通信される。代替的には、ビデオストリームは、専有規格を介して通信される。
【0112】
クライアント510の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号論理、ネットワーク通信能力及び入力デバイスを備えるパーソナルコンピュータである。復号論理は、ハードウェア、ファームウェア及び/またはコンピュータ可読媒体上に記憶されたソフトウェアを含み得る。ビデオストリームを復号(及び符号化)するシステムは、当該技術分野で周知であり、使用される特定の符号化スキームによって異なる。
【0113】
クライアント510は受信したビデオを修正するように構成されるシステムをさらに含んでよいが、これは必須ではない。例えば、クライアントは、さらなるレンダリングを行う、1つのビデオ画像を別のビデオ画像にオーバーレイする、ビデオ画像を切り取る及び/またはその他を行うように構成されてよい。例えば、クライアント510は、例えば、I-フレーム、P-フレーム及びB-フレームなどの様々な種類のビデオフレームを受信し、これらのフレームをユーザに表示するための画像に処理するように構成されてよい。いくつかの実施形態では、クライアント510の構成要素は、さらなるレンダリング、シェーディング、3-Dへの変換または他の動作をビデオストリームに行うように構成される。クライアント510の構成要素は、任意には、2つ以上の音声またはビデオストリームを受信するように構成される。クライアント510の入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、フォースフィードバックデバイス、動作及び/または位置感知デバイス、マウス、タッチ画面、ニューラルインターフェース、カメラ、まだ開発されていない入力デバイス及び/またはその他を含んでよい。
【0114】
クライアント510により受信されるビデオストリーム(及び任意には音声ストリーム)は、ビデオサーバシステム530により生成及び提供される。本明細書の別の箇所でさらに説明する通り、このビデオストリームは、ビデオフレームを含む(かつ音声ストリームは、音声フレームを含む)。ビデオフレームは、ユーザに表示される画像に有意義に寄与するように構成される(例えば、それらは、適切なデータ構造でのピクセル情報を含む)。本明細書で使用される場合、用語「ビデオフレーム」は、ユーザに示す画像に寄与するように、例えば、効果を及ぼすように構成される情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の大半の教示は「音声フレーム」にも適用可能である。
【0115】
クライアント510は、典型的には、ユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するか、または別様にはゲームプレイに作用するように構成されたゲームコマンドを含んでよい。ゲームコマンドは、入力デバイスを使用して受信されてよく、及び/またはクライアント510上で実行する計算命令により自動的に生成されてよい。受信されたゲームコマンドはネットワーク515を介してクライアント510からビデオサーバシステム520及び/またはゲームサーバ535に通信される。例えば、いくつかの実施形態では、ゲームコマンドは、ゲームサーバシステム530を介してゲームサーバ525に通信される。いくつかの実施形態では、ゲームコマンドの別個のコピーは、クライアント510からゲームサーバ525及びビデオサーバシステム520に通信される。ゲームコマンドの通信は、任意には、コマンドの識別に応じて行われる。ゲームコマンドは、任意には、音声またはビデオストリームをクライアント510Aに提供するために使用される様々なルートまたは通信チャネルを通じて、クライアント510Aから通信される。ゲームサーバ525は、上記の通り、クラウドコントローラ130及び/またはゲームマネジャ113の部分を含むことがあることを理解すべきである。
【0116】
ゲームサーバ525は、任意には、ビデオサーバシステム530とは異なるエンティティにより操作され得る。例えば、ゲームサーバ525は、マルチプレイヤゲームのパブリッシャにより操作されてよい。この例において、ビデオサーバシステム520は、任意には、ゲームサーバ525によりクライアントとしてみなされ、任意には、ゲームサーバ525の視点から、従来技術のゲームエンジンを実行する従来技術のクライアントであるようにみなされるように構成される。ビデオサーバシステム520とゲームサーバ525との間の通信は、任意には、ネットワーク515を介して生じる。したがって、ゲームサーバ525は、それらのうちの1つがビデオサーバシステム530である複数のクライアントにゲーム状態情報を送信する、従来技術のマルチプレイヤーゲームサーバであり得る。ビデオサーバシステム520は、ゲームサーバ525の複数のインスタンスと同時に通信するように構成されてよい。例えば、ビデオサーバシステム520は、複数の異なるビデオゲームを異なるユーザに提供するように構成することができる。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ525によってサポートされ得る、及び/または異なるエンティティによって発行され得る。いくつかの実施形態では、地理的に分散しているビデオサーバシステム520のいくつかのインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム520のこれらのインスタンスのそれぞれは、ゲームサーバ525の同じインスタンスと通信し得る。ビデオサーバシステム520と1つ以上のゲームサーバ525との間の通信は、専用の通信チャネルを介して任意に生じる。例えば、ビデオサーバシステム520は、これらの2つのシステム間の通信専用である高帯域チャネルを介してゲームサーバ525に接続されてよい。
【0117】
ビデオサーバシステム520は、ビデオソース530、I/Oデバイス545、プロセッサ550及び非一時的ストレージ555を少なくとも備える。ビデオサーバシステム520は、1つの計算デバイスを含み得るか、または複数の計算デバイスの間に分散され得る。これらの計算デバイスは、任意には、ローカルエリアネットワークなどの通信システムを介して接続される。
【0118】
ビデオソース530は、ビデオストリーム、例えば、ストリーミングビデオまたは動画を形成する一連のビデオフレームを提供するように構成される。いくつかの実施形態では、ビデオソース530は、ビデオゲームエンジン及びレンダリング論理を含む。ビデオゲームエンジンは、プレイヤーからゲームコマンドを受信し、受信されたコマンドに基づいてビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境内のオブジェクトの位置を含むだけでなく、典型的には、視点を含む。ゲーム状態は、オブジェクトの特性、画像、色及び/またはテクスチャも含み得る。ゲーム状態は、典型的には、ゲームのルールならびに移動、回転、攻撃、焦点合わせ、対話、使用及び/またはその他のゲームコマンドに基づいて維持される。ゲームエンジンの一部は、任意には、ゲームサーバ525内に配置される。ゲームサーバ525は、地理的に分散するクライアントを使用して、複数のプレイヤーから受信されたゲームコマンドに基づいて、ゲームの状態のコピーを維持し得る。これらの場合において、ゲーム状態は、ゲームサーバ525によりビデオソース530に提供され、ビデオソース530においてゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ525は、ネットワーク515を介してクライアント510からゲームコマンドを直接受信してよく、及び/またはビデオサーバシステム530を介してゲームコマンドを受信してよい。
【0119】
ビデオソース530は、典型的には、レンダリング論理、例えば、ハードウェア、ファームウェア及び/またはストレージ555などのコンピュータ可読媒体上に記憶されるソフトウェアを含む。このレンダリング論理は、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリング論理の全てまたは一部は、任意には、グラフィックス処理ユニット(GPU)内に配置される。レンダリング論理は、典型的に、オブジェクト間の三次元空間関係を決定するため、及び/またはゲーム状態及び視点に基づいて適切なテクスチャ等を適用するために構成された処理段階を含む。レンダリング論理は、未加工のビデオを生成し、未加工のビデオは、その後、通常は、クライアント510への通信前に符号化される。例えば、未加工のビデオは、Adobe Flash(登録商標)規格、H.264X(例えば、H.264、H.265及び類似のもの)、H.363、On3、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x. Xvid. FFmpeg、x364、VP6-8、realvideoなどに従って符号化され得る。符号化プロセスは、遠隔デバイス上のデコーダに送達するために任意にパッケージ化されたビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートにより特徴付けられる。典型的なフレームサイズは、800×600、1380×730(例えば、730p)、1034×768を含むが、任意の他のフレームサイズを使用してよい。フレームレートは、1秒当たりのビデオフレームの数である。ビデオストリームは、異なる種類のビデオフレームを含んでよい。例えば、H.364規格は、「P」フレーム及び「I」フレームを含む。Iフレームは、全てのマクロブロック/画素をディスプレイ上でリフレッシュするための情報を含み、一方、Pフレームは、そのサブセットをリフレッシュするための情報を含む。Pフレームは、典型的には、Iフレームよりもデータサイズが小さい。本明細書で使用される場合、用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するために必要なバイト数を指すために使用される。
【0120】
代替的な実施形態では、ビデオソース530は、カメラなどのビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含むことが可能な遅延ビデオまたはライブビデオを生成するために使用され得る。得られるビデオストリームは、任意には、レンダリングされた画像と静止カメラまたはビデオカメラを使用して記録された画像との両方を含む。ビデオソース530は、ビデオストリームに含まれ得る、以前に記録されたビデオを記憶するように構成されるストレージデバイスをさらに含み得る。ビデオソース530は、人などのオブジェクトの動作または位置を検出するように構成された動作または位置感知デバイスと、ゲーム状態を判定するか、または検出された動作及び/または位置に基づくビデオを生成するように構成される論理をさらに含み得る。
【0121】
ビデオソース530は、任意には、他のビデオ上に配置されるように構成されたオーバーレイを提供するために構成される。例えば、これらのオーバーレイは、コマンドインターフェース、ログイン命令、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード(例えば、ウェブカムビデオ)を含んでよい。クライアント510Aがタッチ画面インターフェースを含むか、視線検出インターフェースを含む実施形態において、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッド及び/またはその他を含んでよい。オーバーレイの一例として、プレイヤーの声は、音声ストリームにオーバーレイされる。ビデオソース530は、任意には、1つ以上の音声ソースをさらに含む。
【0122】
ビデオサーバシステム520が2人以上のプレイヤーからの入力を基に、ゲーム状態を維持するように構成される実施形態では、各プレイヤーは、ビューの位置及び方向を備える様々な視点を有し得る。ビデオソース530は、任意には、各プレイヤーの視点を基に、各プレイヤーに個別のビデオストリームを提供するように構成される。さらに、ビデオソース530は、様々なフレームサイズ、フレームデータサイズ及び/または符号化をクライアント510のそれぞれに提供するように構成され得る。ビデオソース530は、任意には、3Dビデオを提供するように構成される。
【0123】
I/Oデバイス545は、ビデオサーバシステム520が、ビデオ、コマンド、情報の要求、ゲーム状態、視線情報、デバイス動作、デバイス位置、ユーザ動作、クライアント識別、プレイヤー識別、ゲームコマンド、セキュリティ情報、音声及び/またはその他の情報を送信及び/または受信するように構成される。I/Oデバイス545は、典型的には、ネットワークカードまたはモデムなどの通信ハードウェアを含む。I/Oデバイス545は、ゲームサーバ535、ネットワーク515及び/またはクライアント510と通信するように構成される。
【0124】
プロセッサ550は、本明細書で述べるビデオサーバシステム520の様々なコンポーネント内に含まれる論理、例えば、ソフトウェアを実行するように構成される。例えば、プロセッサ550は、ビデオソース530、ゲームサーバ535及び/またはクライアント限定子560の機能を実行するために、ソフトウェア命令によりプログラム化され得る。ビデオサーバシステム520は、任意には、プロセッサ550の複数のインスタンスを含む。プロセッサ550は、ビデオサーバシステム520によって受信されるコマンドを実行するために、または本明細書に述べるゲームシステム500の様々な要素の動作を調整するために、ソフトウェア命令によりプログラム化されてもよい。プロセッサ550は、1つ以上のハードウェアデバイスを含んでよい。プロセッサ550は、電子プロセッサである。
【0125】
ストレージ555は、非一時的なアナログ及び/またはデジタルストレージデバイスを含む。例えば、ストレージ555は、ビデオフレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ555は、例えば、ハードドライブ、光学ドライブまたはソリッドステートストレージなどのコンピュータ可読デジタルストレージを含み得る。ストレージ515は、ビデオフレーム、人工フレーム、ビデオフレームと人工フレームとの両方を含むビデオフレーム、音声フレーム、音声ストリーム及び/またはその他を記憶するように(例えば、適切なデータ構造またはファイルシステムによって)構成される。ストレージ555は、任意には、複数のデバイス間に分散される。いくつかの実施形態では、ストレージ555は、本明細書の他の箇所で述べたビデオソース530のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要なときに供給できる形式で記憶され得る。
【0126】
ビデオサーバシステム520は、任意には、クライアント限定子560をさらに備える。クライアント限定子560は、クライアント510Aまたは510Bなどのクライアントの機能を遠隔で決定するために構成される。これらの機能は、クライアント510A自体の機能ならびにクライアント510Aとビデオサーバシステム530との間の1つ以上の通信チャネルの機能の両方を含むことがある。例えば、クライアント限定子560は、ネットワーク515を通じて通信チャネルをテストするように構成され得る。
【0127】
クライアント限定子560は、クライアント510Aの機能を手動または自動で判定(例えば、発見)することができる。手動判定は、クライアント510Aのユーザと通信してユーザに機能を提供するよう求めることを含む。例えば、いくつかの実施形態では、クライアント限定子560は、クライアント510Aのブラウザ内に画像、テキスト及び/またはその他を表示するように構成される。1つの実施形態では、クライアント510Aはブラウザを含むHMDである。別の実施形態では、クライアント510Aは、HMD上に表示され得るブラウザを有するゲームコンソールである。表示されたオブジェクトは、クライアント510Aのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報を入力するようユーザに要求する。ユーザが入力する情報は、クライアント限定子560に返送される。
【0128】
自動判定は、例えば、クライアント510A上でエージェントを実行すること及び/またはテストビデオをクライアント510Aに送信することによって生じ得る。エージェントは、java(登録商標) scriptなどの、ウェブページに埋め込まれているか、またはアドオンとしてインストールされている計算命令を備え得る。エージェントは、任意には、クライアント限定子560により提供される。様々な実施形態では、エージェントは、クライアント510Aの処理能力、クライアント510Aの復号及び表示能力、遅延時間の信頼性及びクライアント510Aとビデオサーバシステム530との間の通信チャネルの帯域幅、クライアント510Aのディスプレイの種類、クライアント510A上に存在するファイアウォール、クライアント510Aのハードウェア、クライアント510A上で実行するソフトウェア、クライアント510A内のレジストリエントリ及び/またはその他を見つけることができる。
【0129】
クライアント限定子560は、ハードウェア、ファームウェア及び/またはコンピュータ可読媒体上に記憶されるソフトウェアを含む。クライアント限定子560は、任意には、ビデオサーバシステム530の1つ以上の他の要素とは別の計算デバイス上に配置される。例えば、いくつかの実施形態では、クライアント限定子560は、クライアント510とビデオサーバシステム530の2つ以上のインスタンスとの間の通信チャネルの特性を決定するように構成される。これらの実施形態では、クライアント限定子によって発見された情報を使用して、ビデオサーバシステム520のどのインスタンスがストリーミングビデオをクライアント510のうちの1つに送達するのに最も適しているか判定することができる。
【0130】
本出願は、「System and method for Automated Creation of Video Game Highlights」と題する、2009年2月12日に出願された米国特許出願第12/370,327に関し、その全体は引用することによってあらゆる目的で本明細書に組み込まれ、その全体は引用することによってあらゆる目的で本明細書に組み込まれる。本出願は、「Methods for Identification of Highlight Game Events and Automated Generation of Videos for Same」と題する、2012年2月2日に出願された米国特許出願第13/365,140に関し、その全体は引用することによってあらゆる目的で本明細書に組み込まれ、その全体は引用することによってあらゆる目的で本明細書に組み込まれる。
【0131】
本発明の実施形態は、携帯型デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能なコンシューマーエレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含む様々な計算システム構成を用いて実施され得る。本発明は、有線または無線ネットワークを通じてリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境において実施することもできる。
【0132】
上の実施形態を念頭に置いて、本発明は、コンピュータシステム内に記憶されたデータを伴う様々なコンピュータ実装動作を利用できることを理解すべきである。これらの動作は、物理量の物理的操作を必要とするものである。本発明の一部を形成する本明細書に説明される動作のいずれかは、有用なマシン動作である。本発明は、これらの動作を行うためのデバイスまたは装置にも関する。本装置は、特殊用途のために特別に構成され得るか、または本装置はコンピュータに記憶されるコンピュータプログラムにより選択的に起動もしくは構成される汎用コンピュータであり得る。特に、様々な汎用マシンは、本明細書の教示に従って記述されたコンピュータプログラムによって使用可能であるか、またはより特殊な装置を構築して、要求される動作を行う方がより便利であり得る。
【0133】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、コンピュータシステムによってその後読み出すことができる。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープならびに他の光学及び非光学データストレージデバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワーク連結されたコンピュータシステム上に分散したコンピュータ可読有形媒体を含むことができる。
【0134】
動作方法は、特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作が、動作間で行われ得るか、または動作はそれらがわずかに異なる時点で起こるように調整され得るか、またはその処理と関連付けられた様々な間隔での処理動作の発生を可能にするシステムにおいて分散され得ることを理解すべきである。
【0135】
前述の発明は、理解を明確にする目的である程度詳細に説明されたが、当然のことながら、特定の変更及び修正が添付の特許請求の範囲内で実施され得る。したがって、本実施形態は、制限的でなく、例示として見なされるものであり、本発明は、本明細書に付与される詳細に限定されないが、説明された実施形態の範囲及び均等物内で修正されてよい。
図1A
図1B
図1C
図1D
図1E
図2A
図2B
図2C
図2D
図2E
図3A
図3B
図3C
図3D
図4
図5