(57)【要約】【解決手段】システム及び方法は、ユーザのライブゲーミングセッションに対して１人以上の観客が作成したコメントと共にゲームの少なくとも一部分を保存する。ゲーミングセッションの保存された部分は、後にプレイバックすることができる。１つ以上のプレイバック視聴者のコメントを、記録されたゲーミングセッションに関連付けることができる。関連付けられたプレイバック視聴者のコメントは、ゲーム内のタイミング合わせの時間に対応させて関連付けることができる。プレイバック視聴者のコメントは、プレイバック視聴者の識別を含むことがある。ユーザのゲームプレイに対するコメントは全て、友人リストまたは他の共有規則に従って、フィルタリング及び共有することができる。【選択図】図１Ａ
2018525054.tif 000002
【特許請求の範囲】
【請求項１】
ゲーミングセッションに非同期的にコメントを付与する方法であって、
クラウドゲーミングシステムによって実行される前記ゲーミングセッションを記録することであり、前記記録は、ゲーミングセッションのビデオ記録ならびに前記ゲーミングセッションに参加しているプレイヤー及び前記ゲーミングセッションに参加している前記プレイヤーを観察している観客の音声記録を含むゲームプレイクリップを生成し、前記ゲームプレイクリップは、前記記録されたゲームセッションの部分及び前記ゲームプレイクリップに対応する前記音声記録の部分を含み、前記ゲームプレイクリップは、前記ゲーミングセッション内で生じているプレイの１つ以上のハイライトイベントを含む、前記ゲーミングセッションを記録することと、
ウェブサイトのユーザが見ることができるよう、前記ウェブサイトに対して前記ゲームプレイクリップの共有を有効にすることと、
前記ウェブサイトのプレイバック視聴ユーザによる前記ゲームプレイクリップの選択に応答して、前記ゲームプレイクリップのプレイバックを提供することであり、前記プレイバックは、前記記録されたゲームセッションの前記部分及び前記音声記録の前記部分を含み、前記音声記録の前記部分は、前記ゲーミングセッション中に生じた前記ハイライトイベントに関連する１つ以上のコメントを有する、前記プレイバックを提供することと、
前記ゲームプレイクリップの前記プレイバック中に、前記音声記録と共に前記１つ以上のコメントを出力することとを備え、
前記コメントは、前記ゲーミングセッションに参加している前記プレイヤーまたは前記プレイヤーを観察している前記観客によって提供されるものとして識別される、方法。
【請求項２】
前記ウェブサイトの前記プレイバック視聴ユーザが前記観客の友人であるかどうか判定することと、
前記観客が前記プレイバック視聴ユーザの友人であると判定されると、前記音声記録の前記部分に前記観客に対応する音声を包含することとをさらに備え、
友人であることは、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定できる、請求項１に記載の方法。
【請求項３】
前記ウェブサイトの前記プレイバック視聴ユーザが前記観客の友人であるかどうか判定することと、
前記観客が前記プレイバック視聴ユーザの友人ではないと判定されると、前記音声記録の前記部分から前記観客に対応する音声を排除することとをさらに備え、
友人であることは、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定できる、請求項１に記載の方法。
【請求項４】
前記ゲームプレイクリップのプレイバック中に、前記共有されたゲームプレイクリップにアクセスしている視聴ユーザの音声記録を受信することと、
前記プレイバック視聴ユーザの前記音声記録の部分を前記ゲームプレイクリップに関連付けることであり、前記プレイバック視聴ユーザの前記音声記録の前記部分は、前記ハイライトイベントに関連する１つ以上のコメントまたは前記プレイヤーもしくは前記観客のコメントを含む、前記音声記録の前記部分を関連付けることと、
前記ゲームプレイクリップを共有し続けることであり、前記共有されたゲームプレイクリップは、前記プレイバック視聴ユーザの前記音声記録の前記関連付けられた部分を含む、前記ゲームプレイクリップを共有し続けることとをさらに備え、
前記プレイバック視聴ユーザの前記コメントは、前記プレイバック視聴ユーザによって提供されるものとして識別される、請求項１に記載の方法。
【請求項５】
前記プレイバック視聴ユーザと前記観客との間に友人関係が存在するかどうかを基に、前記観客の前記コメントの視聴をフィルタリングすることをさらに備え、前記友人関係は、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフから判定される、請求項４に記載の方法。
【請求項６】
前記ゲームプレイクリップのプレイバック中に、前記共有されたゲームプレイクリップにアクセスした複数のプレイバック視聴ユーザの音声記録を受信することと、
前記複数のプレイバック視聴ユーザの音声記録の部分を前記ゲームプレイクリップに関連付けることを有効にすることであり、前記複数のプレイバック視聴ユーザの前記音声記録の前記部分は、前記ハイライトイベントに関連する１つ以上のコメントまたは前記プレイヤーもしくは前記観客の口頭コメントを含む、前記音声記録の前記部分を前記ゲームプレイクリップに関連付けることを有効にすることと、
前記ゲームプレイクリップを共有し続けることであり、前記共有されたゲームプレイクリップは、前記複数のプレイバック視聴ユーザの前記音声記録の前記関連付けられた部分のいずれかを含み、前記複数のプレイバック視聴ユーザの前記コメントは、前記それぞれのプレイバック視聴ユーザによって提供されるものとして識別される、前記ゲームプレイクリップを共有し続けることと、
前記複数のプレイバック視聴ユーザのそれぞれと前記観客との間に友人関係が存在するかどうかを基に、前記観客及び前記複数のプレイバック視聴ユーザの前記コメントの視聴をフィルタリングすることであり、前記友人関係は、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフから判定される、前記コメントの前記視聴をフィルタリングすることと
をさらに備える、請求項１に記載の方法。
【請求項７】
少なくとも１人のプレイヤーの前記音声記録は、前記少なくとも１人のプレイヤーを識別するプレイヤーテキスト識別データならびに前記少なくとも１人のプレイヤーが作成した口頭及び記述コメントのプレイヤーテキストコメントファイルを含み、前記少なくとも１人の観客の前記音声記録は、前記少なくとも１人の観客を識別する観客テキスト識別データならびに前記少なくとも１人の観客が作成した口頭及び記述コメントの観客テキストファイルを含み、
前記記録されたゲーミングセッションをリプレイするプレイバック要求を受信することであり、前記プレイバック要求は、第２の観客に対応するクライアントデバイスから受信される、前記プレイバック要求を受信することと、
前記記録されたゲーミングセッションをリプレイすることと、
前記リプレイされた記録されたゲーミングセッションを、第１の更新された記録されたゲーミングセッションとして記録することであり、前記第１の更新された記録されたゲーミングセッションは、前記第２の観客を、前記リプレイされたゲーミングセッションを観察した前記第２の観客として音声記録上で関連付けることを含み、前記第２の観客の前記音声記録は、前記第２の観客を識別する第２の観客テキスト識別データならびに前記第２の観客が作成した口頭及び記述コメントの第２の観客テキストファイルを含み、前記リプレイされたゲーミングセッションを観察している前記第２の観客の前記音声記録は、前記リプレイされたゲーミングセッションに生じている対応アクションの時間に合わせられる、請求項１に記載の方法。
【請求項８】
前記プレイヤーが作成した口頭コメントの前記プレイヤーテキストファイルは、
前記プレイヤーの前記口頭コメントを識別するプレイヤー音声認識と、
前記プレイヤーが作成した前記口頭コメントのプレイヤー音声認識出力と
を含む、請求項７に記載の方法。
【請求項９】
クラウドゲーミングシステム上にホストされるゲーミングセッションに非同期コメントを関連付けるためのクラウドゲーミングシステムであって、
クラウドゲーミングセッションをホストするためのサーバであり、前記サーバは、ネットワークを介して、プレイヤーのクライアントデバイスに連結されており、前記サーバは、前記プレイヤーのクライアントデバイスから制御入力を受信し、前記受信された制御入力に従って、前記クラウドゲーミングセッションを実行するように構成されており、前記サーバは、前記ネットワークを介して観客のクライアントデバイスに連結されており、前記実行された前記クラウドゲーミングセッションのビデオを前記プレイヤーのクライアントデバイス及び前記観客のクライアントデバイスにストリーミング配信するように構成されている、前記サーバと、
前記サーバに含まれ、
前記ゲーミングセッションの前記ストリーミング配信されたビデオのビデオ記録と、
前記ゲーミングセッションに参加している前記プレイヤーの音声記録と、
前記ゲーミングセッションに参加している前記プレイヤーを観察している観客の音声記録と
を含むゲームプレイクリップを記録するように構成されているゲームレコーダ論理であって、
前記ゲームレコーダ論理は、前記プレイヤーの前記音声記録及び前記観客の前記音声記録を、前記実行された前記クラウドゲーミングセッションの前記ストリーミング配信されたビデオに関連付けるように構成されており、
前記サーバは、前記プレイヤーのクライアントデバイスから受信された前記制御入力に従って、ウェブサイトに対して前記ゲームプレイクリップを共有するように構成されており、
前記ウェブサイトのプレイバック視聴ユーザによる前記ゲームプレイクリップの選択に応答して、前記ゲームプレイクリップのプレイバックをストリーミング配信するためのビデオプレイバック論理であり、前記プレイバックは、前記記録されたゲームセッションの部分及び前記音声記録の部分を含み、前記音声記録の前記部分は、前記ゲーミングセッション中に生じたハイライトイベントに関連する１つ以上のコメントを有し、前記ゲームプレイクリップの前記プレイバックは、前記ゲームプレイクリップの前記プレイバック中に、前記音声記録と共に１つ以上のコメントを出力することを含み、前記コメントは、前記ゲーミングセッションに参加している前記プレイヤーまたは前記プレイヤーを観察している前記観客によって提供されるものとして識別される、前記ビデオプレイバック論理と
を備える、クラウドゲーミングシステム。
【請求項１０】
前記ウェブサイトの前記プレイバック視聴ユーザが前記観客の友人かどうかを判定し、前記観客が前記プレイバック視聴ユーザの友人であると判定するときに、前記音声記録の前記部分に前記観客に対応する音声を包含するために構成される共有論理をさらに備え、友人であることは、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定される、請求項９に記載のシステム。
【請求項１１】
前記ウェブサイトの前記プレイバック視聴ユーザが前記観客の友人かどうかを判定し、前記観客が前記プレイバック視聴ユーザの友人ではないと判定するときに、前記音声記録の前記部分から前記観客に対応する音声を排除するために構成される共有論理をさらに備え、友人であることは、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定される、請求項９に記載のシステム。
【請求項１２】
前記サーバは、前記ゲームプレイクリップのプレイバック中に、前記共有されたゲームプレイクリップにアクセスしている視聴ユーザの音声記録を受信し、前記プレイバック視聴ユーザの前記音声記録の部分を、前記ゲームプレイクリップに関連付けるように構成され、前記プレイバック視聴ユーザの前記音声記録の前記部分は、前記ハイライトイベントに関連する１つ以上のコメントまたは前記プレイヤーもしくは前記観客のコメントを含む、請求項９に記載のシステム。
【請求項１３】
前記サーバは、前記ゲームプレイクリップを共有し続けるように構成され、前記共有されたゲームプレイクリップは、前記プレイバック視聴ユーザの前記音声記録の前記関連付けられた部分を含み、前記プレイバック視聴ユーザの前記コメントは、前記プレイバック視聴ユーザによって提供されるものとして識別される、請求項１２に記載のシステム。
【請求項１４】
前記共有論理は、前記プレイバック視聴ユーザと前記観客との間に友人関係が存在するかどうかを基に、前記観客の前記コメントの視聴をフィルタリングするように構成され、前記友人関係は、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフから判定される、請求項１３に記載のシステム。
【請求項１５】
前記サーバは、前記ゲームプレイクリップのプレイバック中に、前記共有されたゲームプレイクリップにアクセスした複数のプレイバック視聴ユーザの音声記録を受信し、前記複数のプレイバック視聴ユーザの音声記録の部分の前記ゲームプレイクリップへの関連付けを有効にするように構成され、前記複数のプレイバック視聴ユーザの前記音声記録の前記部分は、前記ハイライトイベントに関連する１つ以上のコメントまたは前記プレイヤーもしくは前記観客の口頭コメントを含み、前記ゲームプレイクリップを共有し続けることであり、前記共有されたゲームプレイクリップは、前記複数のプレイバック視聴ユーザの前記音声記録の前記関連付けられた部分のいずれかを含み、前記複数のプレイバック視聴ユーザの前記コメントは、前記それぞれのプレイバック視聴ユーザによって提供されるものとして識別され、前記複数のプレイバック視聴ユーザのそれぞれと前記観客との間に友人関係が存在するかどうかを基に、前記観客及び前記複数のプレイバック視聴ユーザの前記コメントの視聴をフィルタリングし、前記友人関係は、前記ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフから判定される、請求項９に記載のシステム。
【請求項１６】
少なくとも１人のプレイヤーの前記音声記録は、前記少なくとも１人のプレイヤーを識別するプレイヤーテキスト識別データならびに前記少なくとも１人のプレイヤーが作成した口頭及び記述コメントのプレイヤーテキストコメントファイルを含み、前記少なくとも１人の観客の前記音声記録は、前記少なくとも１人の観客を識別する観客テキスト識別データならびに前記少なくとも１人の観客が作成した口頭及び記述コメントの観客テキストファイルを含み、
前記記録されたゲーミングセッションをリプレイするプレイバック要求を受信することであり、前記プレイバック要求は、第２の観客に対応するクライアントデバイスから受信される、前記プレイバック要求を受信することと、
前記記録されたゲーミングセッションをリプレイすることと、
前記リプレイされた記録されたゲーミングセッションを、第１の更新された記録されたゲーミングセッションとして記録することであり、前記第１の更新された記録されたゲーミングセッションは、前記第２の観客を、前記リプレイされたゲーミングセッションを観察した前記第２の観客として音声記録上で関連付けることを含み、前記第２の観客の前記音声記録は、前記第２の観客を識別する第２の観客テキスト識別データならびに前記第２の観客が作成した口頭及び記述コメントの第２の観客テキストファイルを含み、前記リプレイされたゲーミングセッションを観察している前記第２の観客の前記音声記録は、前記リプレイされたゲーミングセッションに生じている対応アクションの時間に合わせられる、請求項９に記載のシステム。
【請求項１７】
前記少なくとも１人のプレイヤーが作成した口頭コメントの前記プレイヤーテキストファイルは、
前記少なくとも１人のプレイヤーの前記口頭コメントを識別するプレイヤー音声認識と、
前記少なくとも１人のプレイヤーが作成した前記口頭コメントのプレイヤー音声認識出力と
を含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
クラウドゲーミングは、インターネットを介してユーザにアクセス可能な、ネットワーク化されたサーバのシステムによって円滑になる。サーバは、複数のユーザのゲーミングセッションをホストする。典型的には、ユーザのゲームプレイをホストするために、ユーザは、仮想サーバまたは物理サーバに割り当てられる。多くのゲームは複雑であり、無期限の間で継続し得る。ユーザは、自身のゲームプレイの視聴を１人以上の観客と共有することをしばしば望むだろう。観客は、ユーザのゲームプレイに、テキスト及び音声コメントを追加することができる。例えば、ユーザのゲームプレイの特定のポイントで、ユーザのパフォーマンスを応援すること、やじを飛ばすこと、または褒めることである。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
ユーザは、様々な理由により、この記録されたゲームプレイを保存することをしばしば望むだろう。例えば、ユーザは、記録されたゲームプレイを１人以上の他のユーザと共有することを望むことがある。ユーザは、ゲームプレイの特定部分の特定のパフォーマンスを自慢するか、別様には誇示するために、１人以上の友人とゲームプレイを共有してよい。同様に、ユーザは、保存されたゲームプレイを、他のプレイヤーへの挑戦として使用するか、または最高もしくは最悪（例えば、ブルーパー）のタイプの一覧として使用してよい。
【０００３】
本発明の実施形態はこの背景において発生する。
【課題を解決するための手段】
【０００４】
概して、本発明は、ユーザの実際のライブゲーミングセッションに対して１人以上の観客が作成したコメントと共に、ゲームの少なくとも一部分を保存するシステム及び方法を提供することによって、これらのニーズを満たす。ゲームの保存された部分は、後にプレイバックすることができる。１つ以上のプレイバック視聴者のコメントを、記録されたゲームに追加することができる。追加されたプレイバック視聴者のコメントは、ゲームの時間に対応させて保存できる。プレイバック視聴者のコメントは、プレイバック視聴者の識別を含むことがある。ユーザのゲーミングセッションに対するコメントは全て、友人リストまたは他の共有規則に従って、ソート及び表示することができる。
【０００５】
１つの実施形態では、ゲーミングセッションに非同期的にコメントを付与する方法を提供する。クラウドゲーミングシステムによって実行されるゲーミングセッションが記録される。記録されたゲーミングセッションは、ゲームプレイクリップを生成し、ゲームプレイクリップは、ゲーミングセッションのビデオ記録ならびにゲーミングセッションに参加しているプレイヤー及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む。ゲームプレイクリップは、記録されたゲーミングセッションの部分及びゲームプレイクリップに対応する音声記録の部分を含む。ゲームプレイクリップはさらに、ゲーミングセッション内で生じているプレイの１つ以上のハイライトイベントを含む。ウェブサイトのユーザが見ることができるよう、ウェブサイトに対してゲームプレイクリップの共有を有効にする。ウェブサイトのプレイバック視聴ユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックが提供される。プレイバックは、記録されたゲームセッションの部分及び音声記録の部分を含み、音声記録の部分は、ゲーミングセッション中に生じたハイライトイベントに関連する１つ以上のコメントを有する。ゲームプレイクリップのプレイバック中に、音声記録と共に、１つ以上のコメントが出力される。コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別される。
【０００６】
ゲームプレイクリップのプレイバックはさらに、ウェブサイトのプレイバック視聴ユーザが観客の友人であるかどうか判定することと、観客がプレイバック視聴ユーザの友人であると判定されるときに、音声記録の部分に、観客に対応する音声を包含することとを含むことがある。友人であることは、ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得される関係のソーシャルグラフから判定できる。代替的には、観客がプレイバック視聴ユーザの友人ではないと判定されるときに、音声の記録部分から、観客に対応する音声を排除することができる。
【０００７】
共有されたゲームプレイクリップにアクセスしている視聴ユーザの音声記録は、ゲームプレイクリップのプレイバック中に受信することができ、プレイバック視聴ユーザの音声記録の部分を、ゲームプレイクリップにある特定のハイライト及び／またはゲームプレイクリップに対する他のコメントに関連付けることができる。観客のコメント視聴は、プレイバック視聴ユーザと観客との間に友人関係が存在するかどうかを基に、フィルタリングすることができ、友人関係は、ウェブサイトによって管理されるか、またはソーシャルネットワークサイトから取得されるソーシャルグラフによって判定される。
【０００８】
少なくとも１人のプレイヤーの音声記録は、１人のプレイヤーを識別する対応するプレイヤーテキスト識別データならびにプレイヤーが作成した口頭及び記述コメントのプレイヤーテキストコメントファイルを含むことがある。観客の音声記録は、観客を識別する観客テキスト識別データならびに観客が作成した口頭及び記述コメントの観客テキストファイルを含むことがある。記録されたゲーミングセッションをリプレイするプレイバック要求は、サーバによって受信することができる。プレイバック要求は、第２の観客に対応するクライアントデバイスから受信することができる。記録されたゲーミングセッションは、記録されたゲーミングセッションをリプレイする要求に応答して、リプレイすることができる。リプレイされた記録されたゲーミングセッションを、第１の更新された記録されたゲーミングセッションとして記録することができ、第１の更新された記録されたゲーミングセッションは、第２の観客の音声記録を、リプレイされたゲーミングセッションを観察した第２の観客として関連付けることを含む。第２の観客の音声記録は、第２の観客を識別する第２の観客テキスト識別データならびに第２の観客が作成した口頭及び記述コメントの第２の観客テキストファイルをさらに含むことがある。リプレイされたゲーミングセッションを観察している第２の観客の音声記録は、リプレイされたゲーミングセッションに生じている対応アクションの時間に合わせることができる。
【０００９】
プレイヤーが作成した口頭コメントのプレイヤーテキストファイルは、プレイヤーの口頭コメントを識別する対応するプレイヤー音声認識及びプレイヤーが作成した口頭コメントのプレイヤー音声認識出力を含むことがある。
【００１０】
別の実施形態は、クラウドゲーミングシステム上にホストされるゲーミングセッションに、非同期コメントを関連付けるためのクラウドゲーミングシステムを提供する。クラウドゲーミングシステムは、クラウドゲーミングセッションをホストするためのサーバを含む。サーバは、ネットワークを介して、プレイヤーのクライアントデバイスに連結されている。サーバは、プレイヤーのクライアントデバイスから制御入力を受信し、受信された制御入力に従って、クラウドゲーミングセッションを実行するように構成されている。サーバは、ネットワークを介して、観客のクライアントデバイスに連結されており、実行されたクラウドゲーミングセッションのビデオを、プレイヤーのクライアントデバイス及び観客のクライアントデバイスにストリーミング配信するように構成されている。ゲームレコーダ論理は、サーバに含まれる。ゲームレコーダ論理は、ゲーミングセッションのストリーミング配信されたビデオのビデオ記録、ゲーミングセッションに参加しているプレイヤーの音声記録及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む、ゲームプレイクリップを記録するように構成される。ゲームレコーダ論理は、プレイヤーの音声記録及び観客の音声記録を、実行されたクラウドゲーミングセッションのストリーミング配信されたビデオに関連付けるように構成される。サーバは、プレイヤーのクライアントデバイスから受信された制御入力に従って、ゲームプレイクリップをウェブサイトに対して共有することができる。ビデオプレイバック論理は、ウェブサイトのプレイバック視聴ユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックをストリーミング配信することができる。プレイバックは、記録されたゲームセッションの部分及び音声記録の部分を含む。音声記録に含まれる部分は、ゲーミングセッション中に生じたハイライトイベントに関連する１つ以上のコメントを有する。ゲームプレイクリップのプレイバックは、ゲームプレイクリップのプレイバック中に音声記録と共に出力される１つ以上のコメントを含み、コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別される。
【００１１】
本発明のその他の態様及び利点は、添付の図面と併せて、本発明の原理を例として例示する、以下の発明を実施するための形態から明らかになる。
【図面の簡単な説明】
【００１２】
本発明は、添付の図面と併せて、以下の発明を実施するための形態から容易に理解されるであろう。
【００１３】
【図１Ａ】本開示の実施形態を実装するための、簡略化されたゲーミングシステムである。
【００１４】
【図１Ｂ】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをジョン及びデーブから見たタイムラインである。
【００１５】
【図１Ｃ】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをカレンから見たタイムラインである。
【００１６】
【図１Ｄ】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをボブから見たタイムラインである。
【００１７】
【図１Ｅ】本開示の実施形態を実装するための、１つ以上のサーバに実装され得る簡略化されたクラウドゲーミングシステムである。
【００１８】
【図２Ａ】本開示の実施形態を実装するための、簡略化されたゲーミングシステムの模式図である。
【００１９】
【図２Ｂ】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをヘンリーから見たタイムラインである。
【００２０】
【図２Ｃ】本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッションをジョーから見たタイムラインである。
【００２１】
【図２Ｄ】本開示の実施形態を実装するための、ジョー及びヘンリーのコメントを関連付けた後に、ジョンの記録されたゲーミングセッションをジョンから見たタイムラインである。
【００２２】
【図２Ｅ】本開示の実施形態を実装するための、プレイヤーＰ１及びＰ２と、観客Ｓ１、Ｓ２及びＳ３との間のソーシャルネットワークにおける友人繋がりスコアを示す、簡略化されたソーシャルグラフである。
【００２３】
【図３Ａ】本開示の実施形態を実装するための、記録されたゲーミングセッションに対応するコメントを保存するときに行われる動作方法の簡略化された概略を例示するフローチャート図である。
【００２４】
【図３Ｂ】本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法の簡略化された概略を例示するフローチャート図である。
【００２５】
【図３Ｃ】本開示の実施形態を実装するための、ユーザのクラウドゲーミングシステムダッシュボードの簡略化されたグラフィカルユーザインターフェースである。
【００２６】
【図３Ｄ】本開示の実施形態を実装するための、保存されたゲームＡを共有する機能をユーザに提供する一例を例示する。
【００２７】
【図４】本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法を例示するフローチャート図である。
【００２８】
【図５】本発明の様々な実施形態に係る、ゲームシステムのブロック図である。
【発明を実施するための形態】
【００２９】
１つ以上のプレイバック視聴者のコメントを、以前に記録されたゲーミングセッションに非同期的に保存するシステム及び方法について、いくつかの実施形態例をここで説明する。本明細書に記載する特定の詳細の一部または全てを含むことなく本発明が実施され得ることが当業者には明らかであろう。
【００３０】
クラウドゲーミングは、非常に人気のあるゲーミング環境になりつつある。クラウドゲーミングによって、単一プレイヤー及び複数プレイヤーのゲーミングセッションが可能になり、さらにユーザは、相互作用が充実したコンテンツならびに没入型の三次元（３Ｄ）グラフィックスを伴うゲームなど、複雑かつコンテンツが充実したゲームをプレイすることが可能になる。このようなコンテンツが充実したゲームには、特殊なプロセッサ、コプロセッサ及びグラフィックスプロセッサを有する、複雑かつパワフルであり、多くの場合、非常に特殊なコンピュータが必要である。クラウドゲーミングには、パフォーマンスの低下を回避するために、遅延及びモニター遅延を減らすための、技術的に優れたサーバプロセッサがさらに必要である。追加の利点として、クラウドゲーミングによって、ユーザは、コンテンツが充実したゲームを大幅に簡素なクライアントコンピュータ上でプレイすることが可能になる。一例として、ユーザは、タブレット、スマートフォン、ヘッドマウントディスプレイ（ＨＭＤ）を用いたクラウドゲーミングシステムまたはローカルネットワーク及び／またはインターネットを介してクラウドゲーミングシステムと通信可能な他の携帯型の計算デバイス上でゲームをプレイすることができる。
【００３１】
説明されるクラウドゲーミングシステムによって、第１のユーザは、１人以上の観客が第１のユーザの実際のライブゲーミングセッションに対して作成した関連コメントと共に、ゲーミングセッションの少なくとも一部分（つまり、ゲームクリップ）を保存することが可能になる。保存されたゲームクリップは、ゲーミングセッションの全体くらいの長さ、またはわずか数秒くらいの短さとなる場合がある。ゲームクリップは、第１のユーザが記録及び共有を選択したゲーミングセッションの、選択されたハイライトを含むことがある。コメントは、第１のユーザ及び観客が作成した記述または言語化されたコメントを含むことができる。コメントは、別個のデータファイルに保存され、ゲームプレイの時間に関連付けることができる。コメントのそれぞれは、コメントを作成したユーザまたは観客にも関連付けることができる。
【００３２】
ゲーミングセッションの保存部分は、第１のユーザ及び観客が第１のユーザのライブゲーミングセッションに対して作成した関連コメントと共に、後にプレイバックすることができる。ゲーミングセッションの保存部分は、１人以上のプレイバック視聴者によってプレイバックすることができる。プレイバック視聴者はさらに、記述及び言語化されたコメントを、記録されたゲーミングセッションに追加することができる。記録されたゲーミングセッションは、ゲーミングセッションのプレイバック中に作成された関連プレイバック視聴者のコメントを含むように更新することができる。追加されたプレイバック視聴者のコメントは、ゲーミングセッションの時間に対応させて関連付けることができる。第２のプレイバック視聴者は、第１のユーザ及び観客が第１のユーザのライブゲーミングセッションに対して作成したコメントと、以前に追加されたプレイバック視聴者のいずれかのコメントとを含むプレイバックを見ることができる。
【００３３】
プレイバック視聴者のコメントは、プレイバック視聴者の識別を含むことができる。第１のユーザのゲーミングセッションに対するコメントは全て、友人リストまたは他の共有規則に従って、フィルタリングすることができる。例えば、第１のユーザのライブゲーミングセッションは、友人１、友人２及び友人３によってライブで観察され、観察している友人のそれぞれは、第１のユーザのライブゲーミングセッション中にコメントを送信した。友人１、友人２及び友人３の全員が第１のユーザの友人である。しかしながら、友人２及び友人３は互いに友人ではないが、両者は友人１と第１のユーザとの両方の友人である。第１のユーザ、友人１、友人２及び友人３によってライブゲーミングセッション中に送信されたコメントは全て、第１のユーザがゲーミングセッションを保存するときに、ゲーミングセッションに関連付けて保存されることになる。
【００３４】
別の実装では、第１のユーザの保存されたプレイセッションに関連付けられたコメントは、第１のユーザに対する友人スコアによって、フィルタリングすることができる。例えば、第１のプレイバック視聴者は、第１のユーザとの共通の友人を３２人有することがあり、第２のプレイバック視聴者は、第１のユーザとの共通の友人をわずか１２人有することがある。その結果、第１のプレイバック視聴者は、第１のユーザに対して、第２のプレイバック視聴者よりも高い友人スコアを有するだろう。第１のプレイバック視聴者のコメントは、第２のプレイバック視聴者と共有することはできず、これによって、第２のプレイバック視聴者が第１のユーザの保存されたゲーミングセッションを見ているときに、第１のプレイバック視聴者のコメントは、第２のプレイバック視聴者に対して可聴または可聴できない。例えば、第２のプレイバック視聴者の４３人の友人は第１のユーザの友人ではないが、第１のユーザの６４人の友人と友人である場合には、第１のユーザに対して、第１のプレイバック視聴者の友人スコアより高い友人スコアを獲得するなど、友人スコアは友情関係の度合を含み得る。したがって、これは友人をスコア化する簡略化された一例であることを理解すべきである。
【００３５】
友人２と友人３は互いに友人ではないため、ライブゲーミングセッション中及び保存されたゲームのいずれかのプレイバック中に、友人３が作成したコメントは、友人２に対して可視または可聴できず、友人２が作成したコメントは、友人３に対して可視または可聴できない。ライブゲーミングセッション中及び保存されたゲームのいずれかのプレイバック中に、友人２及び友人３が作成したコメントは、第１のユーザ及び友人１に対して可視または可聴になるだろう。同様に、第１のユーザ及び友人１が作成したコメントは、友人２及び友人３に対して可視または可聴になる。
【００３６】
友人４は、第１のユーザ及び友人３のみの友人である。友人４は、第１のユーザの保存されたゲームをプレイバックのために選択する。友人４は、第１のユーザ及び友人３からのコメントを見たり聞いたりできるだろうが、友人１及び友人２からのコメントは視聴できないだろう。友人４がプレイバック中にコメントを追加し、友人２がその後、第１のユーザの保存されたゲームをプレイバックのために選択すると、友人２は、友人４のコメントを見たり聞いたりしないだろう。
【００３７】
開示されたクラウドゲーミングの、１つ以上のプレイバック視聴者のコメントを、以前に記録されたゲーミングセッションに非同期的に関連付ける技術は、他の用途も有する。例えば、第１のユーザのゲーミングセッションは、他のユーザ間で共有される可能性があり、これによって、他のユーザは、同じゲーミングセッションを体験することができるか、場合によっては第１のユーザ（別の遠隔地にいる場合があるが、クラウドゲーミングサービスに接続されている）を助けることができる。一例として、第１のユーザは、保存されたゲームプレイまたは保存されたゲーミングセッションへのリンクをソーシャルネットワークに投稿することができる。１つの実装では、第１のユーザは、コントローラまたは他のユーザインターフェース上の共有ボタンまたはオプションを選択して、保存されたゲームを共有することができる。
【００３８】
図１Ａは、本開示の実施形態を実装するための、簡略化されたゲーミングシステム１００である。基本的なローカルゲーミングシステム１００は、ディスプレイ１２２Ａ'に連結されているクライアントデバイス１２２Ａ及び１つ以上のゲームコントローラ１２３Ａ、１２３Ａ'を含む。ゲームコントローラ１２３Ａ、１２３Ａ'は、有線または無線（図示）通信リンク１２４Ａ〜ｎを介して、クライアントデバイス１２２Ａに連結されている。基本的なローカルゲーミングシステム１００は、１つ以上のヘッドセット及びマイクロホン１２４Ａ、１２４Ａ'及び／またはスピーカ１２４''及びエリアマイクロホン１２４Ａ'''及びまたはＨＭＤ１２５をさらに含むことがある。
【００３９】
複数のユーザ、つまり、ジョン、ボブ、デーブ、カレン、ヘンリー及びジョーについて以下の実施形態例を通じて説明する。図１Ａに示す通り、ユーザであるジョンは、クライアントデバイス１２２Ａを介してゲームをプレイするために、自身のゲームコントローラ１２３Ａ、ヘッドセット及びマイクロホン１２４Ａを使用している。ジョンの友人であるボブは、ジョンがクライアントデバイス１２２Ａを介してゲームをプレイするときに観察するために、自身のクライアントデバイス１２３Ａ'、ヘッドセット及びマイクロホン１２４Ａ'を使用している。ボブは、ジョンのゲームプレイを観察して相互作用するために、任意のＨＭＤ１２５をさらに使用してよい。ＨＭＤは、ディスプレイ１２２Ａ'の代わりにまたはディスプレイ１２２Ａ'に加えて、表示機能をボブに提供できる。ジョン及びボブは、ジョンがゲームをプレイするときに、発話（可聴）コメント及びテキストコメントをゲームに追加するために、自身のコントローラ１２３Ａ、１２３Ａ'ならびにヘッドセット及びマイクロホン１２４Ａ、１２４Ａ'を使用している。
【００４０】
基本的なゲームシステム１００は、有線または無線ネットワーク１０４Ａを介して、インターネット１０２上の１つ以上のサーバ１０１Ａ〜Ｃに連結されており、これによって、ジョンは、自身の友人であるデーブ及びカレンと自身のゲーミングセッションを共有することができる。デーブ及びカレンは、自分自身の基本的なゲーミングシステム１００Ｂ、Ｃをそれぞれ有しており、これらは、有線または無線ネットワーク１０４Ｂ、１０４Ｃを介して、インターネット１０２上の１つ以上のサーバ１０１Ａ〜Ｃにそれぞれ連結されている。デーブ及びカレンは、自身のそれぞれのクライアントデバイス１２２Ｂ、Ｃを使用して、ジョンがゲームをプレイするときに、観察することができる。デーブ及びカレンは、ジョンがゲームをプレイするときに、自身のそれぞれのゲームコントローラ１２３Ｂ、１２３Ｃならびにヘッドセット及びマイクロホン１２４Ｂ、１２４Ｃを使用して、口頭及びテキストコメントを追加することができる。
【００４１】
ジョンは、ジョン及び彼の友人が将来のある時点でゲーミングセッションを再度見ることができるよう、ゲーミングセッションを記録するよう選択した。ジョンの記録されたゲーミングセッションは、彼の自宅で後にプレイバックするために、自身のクライアントデバイス１２２Ａに記憶することができる。代替的には、ジョンは、記録されたゲーミングセッションをインターネット１０２上のクラウドゲーミングシステムの１つ以上のサーバ１０１Ａ〜Ｃ上に記憶することができ、これによって、ジョンは、インターネット１０２に接続している他人と、記録されたゲーミングセッションを共有することができる。
【００４２】
図１Ｂは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション１１４をジョン及びデーブから見たタイムラインである。タイムラインポイントＴ０〜Ｔ１４は、ゲームプレイ内の時点に対応する。例えば、Ｔ０は、ジョンがプレイするゲームのレベル２２内の２分１１秒の時点に対応するゲームプレイクリップの開始時であり得る。同様に、タイムラインポイントＴ１は、ジョンがプレイするゲームのレベル２２内の２分３１秒のゲームプレイ時間など、タイムラインポイントＴ０の２０秒後の時点に対応する可能性がある。
【００４３】
タイムラインポイントの各ペア間の相対的な間隔は実質的に等しく示されているが、タイムラインポイントＴ０〜Ｔ１４の各ペア間の対応する時間間隔は異なり得ると理解すべきである。例えば、タイムラインポイントＴ０とＴ１との間の時間間隔は２０秒であってよく、一方、タイムラインポイントＴ１とＴ２との間の時間間隔はわずか４秒であってよく、タイムラインポイントＴ４とＴ５との間の時間間隔は４２秒であってよく、タイムラインポイントに沿ってその他の時間間隔があってよい。
【００４４】
デーブ、ボブ及びカレンのそれぞれはジョンの友人であり、ジョン、ボブ及びカレンのそれぞれはデーブの友人である。彼らの友人ステータスの結果により、ジョン及びデーブは、ジョンのゲーミングセッション中に生じたボブ及びカレンのそれぞれのコメントを見たり聞いたりできる。ジョンのコメントは、タイムラインに対して下向き矢印で表現され、ジョンからもたらされたものとしてラベル付けされる。デーブ、ボブ及びカレンのそれぞれのコメントは、彼らのそれぞれの名前からタイムラインに対して上向き矢印で表現され、彼らのそれぞれからもたらされたものとしてそれぞれラベル付けされる。
【００４５】
ジョンが、以前に記録されたゲーミングセッションをプレイバックしたとすると、ジョンは、自身のゲーミングセッション中またはゲーミングセッションのクリップ中に、デーブ、ボブ及びカレンが作成したコメントをさらに見たり聞いたりできる。同様に、デーブが以前に記録されたゲーミングセッションをプレイバックしたとすると、デーブも自身のゲーミングセッション中に、ジョン、ボブ及びカレンが作成したコメントを見たり聞いたりできる。
【００４６】
図１Ｃは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション１１４Ａをカレンから見たタイムラインである。カレンはジョン及びデーブの友人であるが、ボブとは友人ではない。したがって、カレンは、ゲーミングセッション中及び以前に記録されたゲーミングセッションのいずれかのプレイバック中にジョン及びデーブが作成したコメントを見たり聞いたりできる。ジョンのゲーミングセッションの記録中に、カレンはボブのコメントを見たり聞いたりできない。
【００４７】
図１Ｄは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション１１４Ｂをボブから見たタイムラインである。ボブはジョン及びデーブの友人であるが、カレンとは友人ではない。したがって、ボブは、ゲーミングセッション中及び以前に記録されたゲーミングセッションのいずれかのプレイバック中にジョン及びデーブが作成したコメントを見たり聞いたりできる。ジョンのゲーミングセッションの記録中に、ボブはカレンのコメントを見たり聞いたりできない。
【００４８】
ボブは、友人ではない人がボブのコメントを見たり聞いたりできるよう、オプションを有効にしている可能性があり、この場合、カレンはボブのコメントを見たり聞いたりできる。同様に、カレンが、友人ではない人がカレンのコメントを見たり聞いたりできるよう、オプションを有効にしない限り、ボブはカレンのコメントを見たり聞いたりできないだろう。
【００４９】
図１Ｅは、本開示の実施形態を実装するための、簡略化されたクラウドゲーミングシステムであり、クラウドゲーミングシステムは、１つ以上のサーバ１０１Ａ〜Ｃに実装され得る。クラウドゲーミングシステムは、クラウドコントローラ１３０、複数のサーバ／ゲームコンソール１１２Ａ〜ｎ、１つ以上のゲームコンソールマネジャ１１３及びストレージサーバ１１０を含む。クラウドコントローラ１３０、複数のサーバ／ゲームコンソール１１２Ａ〜ｎ、１つ以上のゲームコンソールマネジャ１１３及びストレージサーバ１１０は、１つ以上のデータセンタ１１１、１１５、１１７に配置することができる。クラウドコントローラ１３０、複数のサーバ／ゲームコンソール１１２Ａ〜ｎ及びストレージサーバ１１０は、ローカルエリアネットワーク１０４Ｅ〜Ｇ及び／またはインターネット１０２によって共に連結されている。複数のサーバ／ゲームコンソール１１２Ａ〜ｎ及びゲームコンソールマネジャ１１３は、単一のデータセンタ１１５に共同設置できるか、または複数のデータセンタ間で分散することができる。
【００５０】
１つ以上のゲームコンソールマネジャ１１３は、サーバ／ゲームコンソール１１２Ａ〜ｎの各ラックに格納されることがある。ゲームコンソールマネジャ１１３は、１つ以上のハードウェア及び／またはソフトウェアアーキテクチャに応じて、１つ以上のサーバ／ゲームコンソール１１２Ａ〜ｎを管理する。ゲームコンソールマネジャ１１３は、ネットワーク接続１１５及び／または任意の汎用入出力、ユニバーサルシリアルバスまたはゲームコンソールの電源を作動するための同等の制御接続を使用して、サーバ／ゲームコンソール１１２Ａ〜ｎに物理的に接続される。ゲームコンソールマネジャ１１３は、任意には、割り当てられたサーバ／ゲームコンソールとユーザのクライアントデバイス１２２Ａ〜ｎとの間のストリーミングセッションを設定及び管理するなどの、追加の役割を含むことがある。
【００５１】
ローカルストレージサーバ１１６は、任意には、複数のサーバ／ゲームコンソール１１２Ａ〜ｎのうちの１つ以上と同じデータセンタ１１５に共同設置されることがある。ローカルストレージサーバ１１６は、データ１１６Ａを記憶することができ、データ１１６Ａは、複数のサーバ／ゲームコンソール１１２Ａ〜ｎ及び／またはクラウドコントローラ１３０によって使用されるか、これらから受信される。データセンタ１１１、１１５、１１７は地理的に離れていることがある。例えば、第１のデータセンタ１１１及び第３のデータセンタ１１７は、カリフォルニア州ロサンジェルスに配置されることがあり、第２のデータセンタ１１５は、スウェーデンのストックホルムに配置されることがある。
【００５２】
クラウドコントローラ１３０及び／またはゲームコンソールマネジャ１１３は、複数のゲーム及び他のアプリケーションを記憶するゲームデータベース１３２を含み、複数のゲーム及び他のアプリケーションは、複数のサーバ／ゲームコンソール１１２Ａ〜ｎの１つ以上にダウンロード可能か、または複数のサーバ／ゲームコンソール１１２Ａ〜ｎの１つ以上で利用可能である。クラウドコントローラ１３０は認証マネジャ１３５をさらに含む。認証マネジャ１３５は、第１のユーザが、有効なアカウント及びクラウドゲーミングシステム１００に対して認証されたアクセス権を有するかどうか判定する。第１のユーザのアカウント情報は、ユーザアカウントデータベース１３３に含まれる。１つ以上の実装では、クラウドコントローラ１３０は、ゲームレコーダ１３４をさらに含むことがある。ゲームレコーダ１３４は、サーバ／ゲームコンソール１１２Ａ〜ｎのそれぞれに含まれるゲームレコーダ論理１４４と連携して、それぞれのサーバ／ゲームコンソールに生じている選択されたゲーミングセッションまたはゲームクリップをキャプチャすることがさらにできる。
【００５３】
ストレージサーバ１１０は、クラウドゲーミングシステム１００にストレージ設備を提供する。ストレージサーバ１１０は、ユーザの記録されたゲーミングセッション１１４'及び関連コメントデータファイルなど、データを記憶するための１つ以上のストレージデバイス１１０Ａ、１１０Ｂを、クラウドゲーミングシステム１００が要求し得る通りに含む。１つ以上のストレージデバイス１１０Ａ、１１０Ｂは、任意の適切なストレージ媒体、例えば、ハードディスクドライブ、ソリッドステートドライブまたは光学ドライブ等であってよい。
【００５４】
ゲームコンソール１１２Ａ〜ｎのそれぞれは、ハードウェア層１４３及びハードウェア層にオーバーレイしているオペレーティングシステム層１４２を含む。アプリケーション層１４１は、オペレーティングシステム層１４２にオーバーレイする。アプリケーション層１４１は、サーバ／ゲームコンソール１１２Ａ上で実行されるゲーム及び他のアプリケーションを含む。ハードウェア層は、メインプロセッサ１４５、コプロセッサ１４６、グラフィックスプロセッサ（ＧＰＵ）１４７、メモリシステム１４８、入出力システム１４９、ネットワークインターフェースカード１５０ならびにゲームコンソール１１２Ａの動作に必要となり得る、多くの他の物理的周辺装置及び仮想周辺装置を含む。メインプロセッサ１４５、コプロセッサ１４６、グラフィックスプロセッサ１４７、メモリシステム１４８、入出力システム１４９、ネットワークインターフェースカード１５０及び他の周辺装置は、１つ以上のデータバス１５１により共に連結される。
【００５５】
少なくとも１つの実装では、オペレーションシステム層１４２は、ゲームレコーダ論理１４４を含む。他の実装では、ゲームレコーダ論理１４４は、アプリケーション層１４１にある１つ以上のアプリケーションに含まれる可能性がある。ゲームレコーダ論理１４４は、オペレーションシステム層１４２とアプリケーション層１４１との両方に常駐する部分を有して実装されることもある。ゲームレコーダ論理１４４は、サーバ／ゲームコンソール１１２Ａのゲーミングセッション１１４を記録することができる。記録されたゲーミングセッション１１４は、代替的にまたは追加的に、記録されたゲーミングセッション１１４'として、ローカルストレージサーバ１１６及び／またはストレージサーバ１１０に記憶することができる。記録されたゲーミングセッション１１４'が記憶されたストレージ位置は、ユーザアカウントデータベース１３３にある第１のユーザのアカウント情報に追加するために、クラウドコントローラに提供することもできる。
【００５６】
少なくとも１つの実装では、オペレーションシステム層１４２は、ビデオプレイバック論理１７１をさらに含む。他の実装では、ビデオプレイバック論理１７１は、アプリケーション層１４１の１つ以上のアプリケーションに含まれることがある。ビデオプレイバック論理１７１は、オペレーションシステム層１４２とアプリケーション層１４１との両方に常駐する部分を有して実装されることもある。ビデオプレイバック論理１７１は、サーバ／ゲームコンソール１１２Ａ上でホストされるゲーミングセッション１１４のビデオ画像を、クライアントデバイス１２２Ａ〜ｎにストリーミング配信することができる。
【００５７】
少なくとも１つの実装では、クラウドゲーミングシステムは、共有論理１７７をさらに含む。共有論理１７７は、認証マネジャ１３５の一部など、クラウドコントローラ１３０に含めることができ、ユーザがユーザアカウント情報データベース１３３に設定し得るユーザの嗜好に従って共有する機能を有する。他の実装では、共有論理１７７は、サーバ／ゲームコンソール１１２Ａ〜ｎまたはユーザのクライアントデバイス１２２Ａ〜ｎに含まれることがある。共有論理１７７は、サーバ／ゲームコンソール１１２Ａ〜ｎによって共有命令が受信されたときに、保存されたビデオクリップの共有方法を決定することができる。共有は、友人ステータス、または、共有を要求するユーザと、保存されたゲームクリップを含むゲーミングセッションを視聴した観客と、保存されたゲームクリップの視聴を望むプレイバック視聴ユーザとの間の関係性を判定することを含むことがある。
【００５８】
クライアントデバイス１２２Ａ、１２２Ｂは、インターネット１０２またはローカルネットワーク１０４Ａ〜Ｅを介して、クラウドゲーミングシステム１００へのアクセスを提供する。クライアントデバイス１２２Ａ、１２２Ｂは、サーバ／ゲームコンソール１１２Ａに制御入力１７４を提供し、ストリーミング配信されたゲーミングセッション１１４のビデオ画像をビデオプレイバック論理１７１から受信することができる。クライアントデバイス１２２Ａ、１２２Ｂは、上の図１Ａに示す通り、それぞれのディスプレイデバイス１２２Ａ'及び１２２Ｂ'上にストリーミング配信されたゲーミングセッション１１４のビデオ画像を表示することができる。クライアントデバイス１２２Ａ、１２２Ｂは、インターネット１０２及び／またはローカルネットワーク１０４Ａ〜Ｃにアクセス可能な任意の適切なプラットフォームであってよい。例えば、クライアントデバイス１２２Ａ、１２２Ｂは、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、携帯型ゲーミングデバイス、タブレットコンピュータもしくはスマートフォンなどの携帯型の計算デバイスまたは任意の他の適切な計算プラットフォームであってよい。第１のクライアント計算デバイス１２２Ａ及び第２のクライアント計算デバイス１２２Ｂは、地理的に離れた複数の別の位置で使用できる。例えば、第１のクライアント計算デバイス１２２Ａは、第１のユーザが自宅で、オフィスで、または移動中に、インターネット１０２及びクラウドゲーミングシステム１００にアクセスするために使用するタブレットコンピュータであってよい。同様に、第２のクライアント計算デバイス１２２Ｂは、自宅で、オフィスで、またはゲーミングシステムへのアクセスを有する他の位置で、インターネット１０２及びクラウドゲーミングシステム１００にアクセスすることができるノートブックコンピュータであってよい。
【００５９】
１つの実装では、第１のユーザであるジョンは、第１のクライアント計算デバイス１２２Ａを使用し、インターネット１０２を介して、クラウドコントローラ１３０にアクセスすることができる。認証マネジャ１３５は、ジョンのユーザ識別を認証し、ジョンに許可されたアクセスレベルを判定する。クラウドコントローラ１３０及び／またはゲームコンソールマネジャ１１３は、現在のクラウドゲーミングセッションに対してゲームコンソールＡ  １１２Ａをジョンに割り当て、認証されたアプリケーション及びゲームを含むアクセスの認証レベルを、ゲーム及びアプリケーションデータベース１３２から提供する。クラウドコントローラ１３０及び／またはゲームコンソールマネジャ１１３はさらに、割り当てられたサーバ／ゲームコンソール１１２Ａで、認証されたゲーム及び他のアプリケーションをゲーム及びアプリケーションデータベース１３２から転送するか、別様には起動してよい。１つの実装では、割り当てられたサーバ／ゲームコンソール１１２Ａは、ゲーム及びアプリケーションデータベース１３２にアクセスし、認証されたゲーム及び他のアプリケーションを、割り当てられたサーバ／ゲームコンソールに転送することができる。
【００６０】
１つの実施形態では、ビデオプレイバック論理１７１は、低遅延のビデオ圧縮論理を含む。低遅延のビデオ圧縮論理は、ソフトウェア、ハードウェアまたはそれらの任意の組み合わせ（以下に、その特定の実施形態を説明する）に実装されてよい。低遅延のビデオ圧縮論理は、視覚情報だけでなく音声情報を圧縮するための論理を含む。
【００６１】
動作では、キーボード、マウス、ゲームコントローラ１２３Ａ〜ｎまたは他の入力デバイスを通じて、クライアントデバイス１２２Ａ〜ｎを介して、ビデオゲームをプレイしている間またはアプリケーションを使用している間、クライアントデバイス１２２Ａ〜ｎ上の制御信号論理１７３は、ユーザによって作動されるボタン押下（及び他の種類のユーザ入力）を表す制御信号１７４（典型的には、ＵＤＰパケットの形態）をクラウドゲーミングシステムに送信する。クライアントデバイス１２２Ａ〜ｎからの制御信号１７４は、適切なサーバ（複数のサーバがユーザのクライアントデバイスに応答可能な場合は、複数のサーバ）またはゲームコンソール１１２Ａ〜ｎに送付される。図１Ｅに例示する通り、制御信号１７４は、ネットワーク１０４Ａ〜ｎを介して、サーバ／ゲームコンソール１１２Ａ〜ｎに送付されてよい。サーバ／ゲームコンソールは、制御信号１７４に応答して、ゲームまたはアプリケーションソフトウェアを実行する。図１Ｅには図示しないが、ファイアウォール（複数可）及び／またはゲートウェイ（複数可）などの様々なネットワークコンポーネントは、クラウドゲーミングシステム１２０の末端（例えば、クラウドゲーミングシステム１２０とインターネット１０２との間）及び／またはインターネット４１０とクライアントデバイス１１２Ａ〜ｎのそれぞれとの間で、受信及び送信トラフィックを処理し得る。
【００６２】
実行されたゲームまたはアプリケーションソフトウェアのグラフィック出力または音声出力、つまり、ビデオ画像の新規シーケンスが、ビデオプレイバック論理１７１に提供され、低遅延のビデオ圧縮論理は、低遅延のビデオ圧縮技法に従って、ビデオ画像のシーケンスを圧縮する。ビデオ圧縮技法は、例えば、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｍｐｒｅｓｓｉｎｇ  Ｖｉｄｅｏ  ｂｙ  Ａｄｊｕｓｔｉｎｇ  Ｔｉｌｅ  Ｓｉｚｅ  Ｂａｓｅｄ  ｏｎ  Ｄｅｔｅｃｔｅｄ  Ｉｎｔｒａｆｒａｍｅ  Ｍｏｔｉｏｎ  ｏｒ  Ｓｃｅｎｅ  Ｃｏｍｐｌｅｘｉｔｙ」と題する、２００９年１月２３日に出願され、その全体が引用することによってあらゆる目的で本明細書に組み込まれる、共有の米国特許出願第１２／３５９，２３３に記載されるような技法である。
【００６３】
圧縮されたビデオ画像シーケンスは、典型的には、圧縮または圧縮されていない音声を伴い、インターネット１０２及び／またはパブリックにアクセス可能なインターネットの少なくとも一部分を迂回する最適な高速ネットワークサービスを介して、クライアントデバイス１１２Ａ〜ｎにストリーミング配信される。低遅延のビデオ展開論理、つまり、それぞれのクライアントデバイス１１２Ａ〜ｎ上のデコーダ１７５は、その後、ビデオ及び音声ストリームを展開し、展開されたビデオストリームをレンダリングし、典型的には、展開された音声ストリームをディスプレイ１２２Ａ'〜ｎ'上に表示する。デコーダ１７５は、それぞれのクライアントデバイス１１２Ａ〜ｎ上に、ソフトウェア及びまたはハードウェアとして実装することができる。代替的には、音声は、ディスプレイ１２２Ａ'〜ｎ'とは別個となり得るスピーカ１２４''及び／またはヘッドセット１２４Ａ〜ｎ上でプレイできるか、全くプレイできない。クライアントデバイス１１２Ａ〜ｎ及びディスプレイ１２２Ａ'〜ｎ'は、独立したデバイスとして示されるが、これらは、携帯型コンピュータまたはモバイルデバイスなどのクライアントデバイス内に統合され得ることに留意されたい。
【００６４】
それぞれのクライアントデバイス１１２Ａ〜ｎは、非常に安価な低電力のデバイスであってよく、計算性能またはグラフィック性能が非常に限られており、恐らく非常に限られたローカルマスストレージを有するか、または全く有さないだろう。その一方、それぞれのサーバ／ゲームコンソール１１２Ａ〜ｎは、非常に高性能な計算システムである場合があり、実際には、複数のサーバが並列処理構成で協働して使用される場合、作動可能な計算量及びグラフィックス処理能力にはほぼ制限がない。デコーダ１７５による低遅延のビデオ圧縮論理及び低遅延のビデオ展開を伴うビデオプレイバック論理１７１は、ユーザに対して知覚的であり、サーバ／ゲームコンソール１１２Ａ〜ｎの計算能力をユーザに提供している。ユーザがゲームコントローラ１２３Ａ、１２３Ａ'上のボタンを押下するとき、ディスプレイ１２２Ａ'〜ｎ'上の画像は、ゲームまたはソフトウェアがユーザのクライアントデバイス１２２Ａ〜ｎ上でローカルに実行されているかのように、ボタン押下に知覚的に応答して、無意味に遅延することなく更新される。ゆえに、クライアントデバイス１１２Ａ〜ｎが、低遅延のビデオ展開デコーダ１７５及び制御信号論理１７３を実装する非常に性能の低いコンピュータまたは安価なチップであっても、ローカルに利用可能と思われる遠隔地から、任意の計算能力を効果的にユーザに提供する。これにより、最先端かつプロセッサに負荷がかかる（典型的には新規の）ビデオゲームをプレイする能力及び最高性能のアプリケーションをユーザに付与する。
【００６５】
図２Ａは、本開示の実施形態を実装するための、簡略化されたゲーミングシステム１００Ｄ、Ｅの模式図である。ゲーミングシステム１００Ｄ、１００Ｅは、各ゲーミングシステムがディスプレイ１２２Ｄ'、１２２Ｅ'に連結されたクライアントデバイス１２２Ｄ、１２２Ｅ及び１つ以上のゲームコントローラ１２３Ｄ、１２２Ｅを含むため、上記のゲーミングシステム１００Ａ〜Ｃと実質的には類似している。ゲームコントローラ１２３Ｄ、１２３Ｅは、有線または無線（図示）通信リンク１２７Ｄ、１２７Ｅを介して、それぞれのクライアントデバイス１２２Ｄ、１２２Ｅに連結されている。ゲーミングシステム１００Ｄ、Ｅは、１つ以上のヘッドセット及びマイクロホン１２４Ｄ、１２４Ｅをさらに含むことができる。
【００６６】
ヘンリー及びジョーは、ジョンが、自身の以前に記録されたゲーミングセッションを共有するように選択した、ジョンの友人である。別の実施形態では、ジョンは、ソーシャルネットワークウェブサイトなどのウェブサイト上で、ジョンの保存されたゲーミングセッション／クリップのリンクを共有または投稿することができ、これによって、ソーシャルネットワークサイト上のジョンの友人は、保存されたゲーミングセッションにアクセスすることができる。別の実施形態では、ジョンは、自身の保存されたゲーミングセッションまたはそのリンクを、パブリックな視聴及びアクセスに公開されているウェブサイト上に投稿することができる。図２Ａに示す通り、ユーザであるヘンリーは、自身のクライアントデバイス１２２Ｄ、ゲームコントローラ１２３Ｄ、ヘッドセット及びマイクロホン１２４Ｄを使用して、ジョンが以前に記録したゲーミングセッション１１４にアクセスして、ゲーミングセッション１１４を見ることができる。同様に、ジョーは、自身のクライアントデバイス１２２Ｅ、ゲームコントローラ１２３Ｅ、ヘッドセット及びマイクロホン１２４Ｅを使用して、ジョー１１４またはヘンリー１１４Ｃが以前に記録したゲームプレイセッションにアクセスして、ゲームプレイセッションを見ることができる。
【００６７】
ヘンリー及びジョーは、自身のクライアントデバイス１２２Ｄ、Ｅ、ヘッドセット及びマイクロホン１２４Ｄ、Ｅを使用して、ジョンの以前に記録されたゲーミングセッションを、自身のクライアントデバイス１２２Ｄ、Ｅを介して、プレイバックすることができる。ジョン、ボブ、カレン及びデーブと同様に、ヘンリー及びジョーは、以前に記録されたゲームのプレイバックに対する発話（可聴）コメント及びテキストコメントを作成するために、自身のコントローラ１２３Ｄ、Ｅならびにヘッドセット及びマイクロホン１２４Ｄ、Ｅを使用している。ジョー及びヘンリーは、ジョンの事前に記録されたゲーミングセッションのプレイバックを、同時にまたは別の時間に見ていることがある。
【００６８】
開示されているクラウドゲーミングは、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存する技術であり、ユーザは以前に記録した自身のゲーミングセッションを、クラウドゲーミングシステムへのアクセス権を有する友人と共有することができるため、クラウドゲーミングの目的にとっては特に有益である。クラウドゲーミングシステム１００は、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存及び／または関連付ける、開示されたクラウドゲーミングの技法に対して良好に適合する。これは、クラウドゲーミングシステムが全世界中で接続された数千のユーザを含むためである。
【００６９】
以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存する、クラウドゲーミングの技法及び方法の複数の実装を、本明細書に開示する。以下は、１つ以上のプレイバック視聴者のコメントを非同期的に保存及びソートして視聴することができる方法の説明である。
【００７０】
図２Ｂは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション１１４Ｃをヘンリーから見たタイムラインである。ジョン、デーブ及びボブは、それぞれヘンリーの友人である。彼らの友人ステータスまたは友人スコアの結果により、ヘンリーは、ジョンのゲーミングセッションの以前の記録中に作成された、ジョン、ボブ及びデーブのそれぞれのコメントを見たり聞いたりできる。
【００７１】
ヘンリーは、ジョンの記録されたゲーミングセッションのプレイバックを体験するときに、ジョンの以前に記録されたゲーミングセッション１１４Ｃに対する記述及び口頭コメント（ヘンリーの名前からタイムラインに向かって伸びる矢印として表される）を作成することができる。ヘンリーの記述及び口頭コメントは、対応するタイムロケーションに関連付けられ、ジョンの以前に記録されたゲーミングセッション１１４Ｃに記録することができる。ジョンまたはヘンリーの任意の他の友人は、ヘンリーの関連付けられた記述及び口頭コメントと共に、ジョンの事前に記録されたゲーミングセッション１１４Ｃをプレイバックすることができる。
【００７２】
図２Ｃは、本開示の実施形態を実装するための、ジョンの記録されたゲーミングセッション１１４Ｂをジョーから見たタイムラインである。ジョン、カレン、ボブ及びヘンリーは、それぞれジョーの友人である。彼らの友人ステータスの結果により、ジョーは、ジョンのゲーミングセッションの以前の記録中に作成された、ジョン、カレン、ボブ、ヘンリー及びデーブのそれぞれのコメント、例えば、ジョンのゲーミングセッションのライブ記録１１４及びジョンの以前に記録されたゲーミングセッションのヘンリーの記録１１４Ｃなどを見たり聞いたりできる。
【００７３】
ジョーは、ジョンの記録されたゲーミングセッションのプレイバックを体験するときに、ジョンの以前に記録されたゲーミングセッション１１４Ｄに対する記述及び口頭コメント（ジョーの名前からタイムラインに向かって伸びる矢印として表される）を追加することができる。ジョーの記述及び口頭コメントは、対応するタイムロケーションに関連付けられ、ジョンの以前に記録されたゲーミングセッション１１４Ｄに記録することができる。ジョンまたはジョーの任意の他の友人は、ジョーの関連付けられた記述及び口頭コメントと共に、ジョンの事前に記録されたゲーミングセッション１１４Ｄをプレイバックすることができる。
【００７４】
図２Ｄは、本開示の実施形態を実装するための、ジョー及びヘンリーのコメントを関連付けた後に、ジョンの記録されたゲーミングセッション１１４Ｅをジョンから見たタイムラインである。ボブ、デーブ、カレン、ジョー及びヘンリーの全員がジョーの友人であるため、ジョンは、ゲーミングセッション中に作成された、ボブ、デーブ、カレン、ジョー及びヘンリーのコメント及び以前に記録されたゲーミングセッションのプレイバックを見たり聞いたりできる。
【００７５】
前述の議論では、プレイヤーとしてのジョンと、観客としてのボブ、デーブ、カレン、ジョー及びヘンリーのそれぞれとの間の友人であるステータス及び観客同士の間の友人ステータスは、それぞれのコメントのフィルタリングを決定するための入力としてである。上に定義した「友人ステータス」は、簡略化されていると理解すべきである。別の有益な手法は、友人繋がりスコアを基に、コメントをフィルタリングすることである。図２Ｅは、本開示の実施形態を実装するための、ソーシャルネットワークにおける、プレイヤーＰ１及びＰ２と観客Ｓ１、Ｓ２及びＳ３の間との友人繋がりスコアを示す、簡略化されたソーシャルグラフ２５０である。プレイヤーＰ１及びＰ２は、ゲーミングセッション２５２でプレイしている。観客Ｓ１、Ｓ２及びＳ３は、プレイヤーＰ１及びＰ２がゲーミングセッション２５２でプレイしているときに観察している。
【００７６】
観客Ｓ１は、プレイヤーＰ１との共通の友人を３２人有し、プレイヤーＰ２との共通の友人をわずか１人有する。ゆえに、ゲーミングセッション２５２では、プレイヤーＰ１及びＰ２との友人スコア３３が観客Ｓ１に与えられる。観客Ｓ２は、プレイヤーＰ１との共通の友人を２３人有し、プレイヤーＰ２との共通の友人をわずか７人有する。ゆえに、ゲーミングセッション２５２では、プレイヤーＰ１及びＰ２との友人スコア３０が観客Ｓ２に与えられる。観客Ｓ３は、プレイヤーＰ１との共通の友人を１２人有し、プレイヤーＰ２との共通の友人をわずか１人有する。ゆえに、ゲーミングセッション２５２では、プレイヤーＰ１及びＰ２との友人スコア１３が観客Ｓ３に与えられる。
【００７７】
観客Ｓ１、Ｓ２及びＳ３のそれぞれの友人スコアは、その後、共有論理１７７によって使用可能であり、観客Ｓ１、Ｓ２及びＳ３が、ゲーミングセッション中または記録されたゲーミングセッションの任意のプレイバック中に、作成した互いのコメントを見ることができるかどうかフィルタリングする。例えば、プレイヤー１は、ゲーミングセッションで少なくとも１５の友人スコアを有する友人とのみ、自身のゲーミングセッションの共有を望むよう決定し得る。その結果、友人スコアがわずか１３である観客３は、観客Ｓ１、Ｓ２が作成した他のコメントを見ることができないだろう。同様に、プレイヤー２は、ゲーミングセッションで少なくとも１０の友人スコアを有する友人とのみ、自身のゲーミングセッションの共有を望むよう決定し得る。その結果、友人スコアが少なくとも１３である観客Ｓ１、Ｓ２及びＳ３の全員は、観客Ｓ１、Ｓ２が作成した他のコメントを見ることができるだろう。
【００７８】
前述の事項は、友人のスコアを使用して、コメントをフィルタリングすること及びその大幅に簡略化されたフィルタリングの非常に単純な例であることを理解すべきである。例えば、フィルタリングは、プレイヤーと観客との間の友人スコアのみを使用するよう簡略化することができる。代替的には、友人スコアは、選択された観客がどれくらいの頻度でゲーミングセッションのプレイヤーのうちの選択された１人を観察するか、または選択された観客がどれくらいの頻度で両方のプレイヤーが関わるゲーミングセッションを観察するか、または選択された観客がどれくらいの頻度で別の観客と同じゲーミングセッションを見るかの要因及び前述の要因の全ての組み合わせを重みづけすることを含むような、より一層複雑なフィルタリングに使用することができる。
【００７９】
図３Ａは、本開示の実施形態を実装するための、記録されたゲーミングセッションに対応するコメントを保存するときに行われる動作方法３００の簡略化された概略を例示するフローチャート図である。動作３０２では、ゲーミングセッションが記録される。上記の通り、ゲーミングセッションは、クラウドゲーミングシステムによって実行される。ゲーミングセッションの記録は、ゲームプレイクリップを生成する。ゲームプレイクリップは、ゲーミングセッションのビデオ記録ならびにゲーミングセッションに参加しているプレイヤー及びゲーミングセッションに参加しているプレイヤーを観察している観客の音声記録を含む。ゲームプレイクリップは、記録されたゲームセッションの部分及び記録されたゲームセッションの部分に対応する音声記録の部分を含み得る。ゲームプレイクリップは、ゲーミングセッションで生じているプレイの１つ以上のハイライトイベントを含むことがある。
【００８０】
動作３０４では、ウェブサイトのユーザが見ることができるよう、ウェブサイトに対してゲームプレイクリップの共有を有効にすることができる。動作３０６では、ウェブサイトのユーザによるゲームプレイクリップの選択に応答して、ゲームプレイクリップのプレイバックを提供することができる。プレイバックは、記録されたゲーミングセッションの部分及び対応する音声記録の部分を含む。対応する音声記録の部分は、ゲーミングセッション中に生じたハイライトイベントに関連する１つ以上のコメントを含むことができる。
【００８１】
動作３０８では、ゲームプレイクリップのプレイバック中に、音声記録の対応する部分と共に１つ以上のコメントを出力することができる。コメントは、ゲーミングセッションに参加しているプレイヤーまたはプレイヤーを観察している観客によって提供されるものとして識別され、動作方法を終了することができる。
【００８２】
図３Ｂは、本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法３３０の簡略化された概略を例示するフローチャート図である。動作３３２では、第１のユーザは、クラウドゲーミングシステム１００にあるゲームコンソール１１２Ａ上でゲームをプレイしている。動作３３４では、第１のユーザ及びユーザのライブゲーミングセッションを観察している１人以上の観客は、上記の図１Ａ〜Ｄで説明した通り、ゲーミングセッション中の選択された時点において、ゲームに関するコメントを作成することができる。
【００８３】
第１のユーザのゲーミングセッションは、動作３３６で記録される。記録されたゲーミングセッションまたはゲーミングセッションのゲームプレイクリップなどのゲーミングセッションの一部分は、ユーザと、ゲーミングセッション中に作成された任意の観客のコメントとの関連付けを含むことができる。コメントは、記述及び可聴コメントを含むことができる。コメントはさらに、コメントを発するユーザ及びまたは観客に対応する、対応ユーザ及び／または観客識別データを含むことができる。
【００８４】
ユーザ識別データは、口頭コメントの発信元としてのユーザまたは観客の音声認識から得ることができる。コメントはさらに、１つ以上の口頭コメントのテキストバージョンを含めることができる。コメントはさらに、日付及び時間スタンプならびにコメントが作成されたときに生じているゲーミングセッションの中のイベントに対応するゲーム内のゲームタイミングポイントを含むことができる。
【００８５】
後に、動作３３８において、ユーザは、以前に記録された第１のユーザのゲーミングセッションをプレイバックのために選択する。以前に記録された第１のユーザのゲーミングセッションをプレイバックしている第３のユーザは、第１のユーザまたは第１のユーザによって認証された任意の他のユーザ、例えば、第１のユーザの友人の１人以上などであることがある。
【００８６】
動作３４０では、以前に記録された第１のユーザのゲーミングセッションのプレイバックは、任意には、フィルタリングすることができる。任意のフィルタリングでは、ユーザ及びプレイバック視聴者の友人ではない観客、例えば、上記の図２Ｂ及び図２Ｃに説明したような第３のユーザが作成したコメントを削除することができる。代替的には、フィルタリングには、コメントが投稿されたときにリアルタイムでコメントをフィルタリングすることが含まれることがあり、ゲーミングセッション内の２〜４分に作成されたコメントなど、ゲーミングセッション内の特定の時間に対応するコメントは無視するか、プレイバックの一部としてプレイバックしないことが可能である。プレイバックを要求するユーザの友人ではないユーザが作成したコメントは、プレイバックされないよう、コメントをフィルタリングすることができる。ユーザが作成したパブリックなコメントをプレイバックするために、コメントをフィルタリングすることができ、コメントを行う指定されたユーザは任意のユーザにアクセス可能、例えば、パブリックにアクセス可能であった。前述の事項は、記録されたコメントに対応する日付、時間、発信源、コンテンツなどのメタデータをフィルタリングまたはソートする選択肢の単なる例示にすぎない。
【００８７】
動作３４２では、プレイバック視聴者は、第１のユーザの以前に記録されたゲーミングセッションに対する追加のコメントを作成することができる。上の図２Ｂからの一例の通り、ジョンの事前に記録されたゲーミングセッション１１４を見ているヘンリーは、ジョンの事前に記録されたゲーミングセッションのプレイバックの時間に関連付けられたコメントを作成する。
【００８８】
動作３４４では、ジョンの事前に記録されたゲーミングセッション１１４は、ヘンリーのコメントの記録に対する関連付けを含むように更新することができる。ヘンリーのコメントは記録され、ジョンの事前に記録されたゲーミングセッションのプレイバックの時間に関連付けられ、動作方法は終了することができる。
【００８９】
図３Ｃは、本開示の実施形態を実装するための、ユーザのクラウドゲーミングシステムダッシュボード３５０の簡略化されたグラフィカルユーザインターフェースである。クラウドゲーミングシステムダッシュボード３５０は、新規ゲームを選択する３５２、ゲーミングトーナメントにおけるユーザの現在の順位を調べる３５４、ユーザのゲーミング履歴をレビューする３５６、ユーザの友人を更新する３５８、他のオプション３６０及びユーザのアカウントを更新する３６２ためのオプションを含む。各オプションにより、ユーザは選択されたオプションを実行するための対応画面に移動する。
【００９０】
クラウドゲーミングシステムダッシュボード３５０はさらに、保存されたゲームメニュー３７０を含むことができる。保存されたゲーム／クリップメニュー３７０は、保存されたゲーム／クリップの一覧及び保存されたゲーム／クリップを表示または削除するオプションを含む。ユーザは、２つ以上の保存されたゲーム／クリップを有することができ、ユーザが選択するあらゆる理由により、いつでもゲームまたはゲームのクリップを保存することができるということに留意すべきである。表示されたメニューオプションを選択するためのポインタ３８０は、クラウドゲーミングシステムダッシュボード３５０画面にも表示される。
【００９１】
図３Ｄは、本開示の実施形態を実装するための、保存されたゲームＡを共有する機能３９０をユーザに提供する一例を例示する。システムは保存されたゲームをヘンリー３９２と共有してもよく、その後、ヘンリーによって保存されたゲームを表示またはプレイバックする機能が提供される。ヘンリーは、ヘンリーのコメントをプレイバックゲームに追加することも可能である。
【００９２】
ゲームＢの保存されたゲーム／クリップの履歴情報３９４を保存するオプションがさらに図３Ｄに示される。ユーザがゲームＢまたはゲームＢのいくつかのクリップを複数回保存すると、ユーザはこれらの保存されたゲーム／クリップのそれぞれを表示またはプレイバックすることが可能である。
【００９３】
ユーザは、保存されたゲームを２人以上のユーザと共有可能であってよい。例えば、１人のユーザは、ユーザの保存されたゲーミングセッションを示すために、保存されたゲームＡを複数のユーザ（例えば、友人）と共有してよい。
【００９４】
図４は、本開示の実施形態を実装するための、以前に記録されたゲーミングセッションに対する１つ以上のプレイバック視聴者のコメントを非同期的に保存するときに行われる動作方法４００を例示するフローチャート図である。動作４０５では、第１のユーザがクラウドゲーミングシステムのクラウドコントローラ１３０にアクセスする。認証マネジャ１３５は、ユーザアカウントデータベース１３３に問い合わせ、第１のユーザのログインアクセス情報とユーザアカウントデータベース１３３にある第１のユーザのアカウント情報とを比較することにより、第１のユーザが有効なアカウントを有していること及び第１のユーザの認証されたアクセス権を確認する。第１のユーザは、クライアントデバイス１２２Ａ〜ｎを介してクラウドコントローラにアクセスすることができる。
【００９５】
クラウドコントローラ１３０は、動作４１０において、第１のユーザをサーバ／ゲームコンソール１１３Ａに割り当てる。１つの実装では、第１のユーザをサーバ／ゲームコンソール１１３Ａに割り当てることは、以前に保存された第１のユーザのゲームのうちの１つ以上を、割り当てられたサーバ／ゲームコンソール上に自動的にロードすることを含むことがある。サーバ／ゲームコンソール１１３Ａに第１のユーザを割り当てることは、ユーザのクライアントデバイス１２２Ａ〜ｎ及び対応するディスプレイ１１２Ａ'〜ｎ'を介して、第１のユーザのクラウドゲーミングシステムダッシュボード３５０画面を表示することをさらに含むことがある。
【００９６】
１つの実装では、ゲームコンソールマネジャは、第１のユーザをサーバ／ゲームコンソール１１３Ａに割り当てることができる。クラウドコントローラは認証を行い、ゲームコンソールマネジャはサーバ／ゲームコンソールを起動し（例えば、電源を投入する）、ゲームデータ、ユーザデータ等などの任意の必要なデータを転送し、割り当てられたサーバ／ゲームコンソールに対してログインシーケンスをトリガーする。代替的には、割り当てられたサーバ／ゲームコンソールは、ゲームデータ、ユーザデータ等などの任意の必要なデータを、ユーザデータ及び／またはゲームコンソールマネジャ及び／またはクラウドコントローラ１３０で示されるような、対応するストレージ位置から取り出すことができる。
【００９７】
動作４１５では、第１のユーザは、割り当てられたサーバ／ゲームコンソール１１３Ａ上でゲームまたはアプリケーションを選択及び実行する。割り当てられたサーバ／ゲームコンソール１１３Ａは、１つ以上のクラウドゲーミングサーバにある多数のサーバ／ゲームコンソールのうちの１つとなり得る。１つの実装では、第１のユーザの割り当てられたサーバ／ゲームコンソール１１３Ａは、サーバ／ゲームコンソールのタイムシェアに制限されることがあり、第１のユーザは、割り当てられたサーバ／ゲームコンソール１１３Ａの動作時間の一部分のみに割り当てられる。サーバ／ゲームコンソール１１３Ａは、１つ以上のタイムシェアを提供することができ、それぞれのタイムシェアを、それぞれのユーザに割り当てることができ、ゆえに、複数のユーザが同時に単一のサーバ／ゲームコンソールを使用することが可能になる。
【００９８】
動作４２０では、第１のユーザは、１人以上の他のユーザまたは観客、例えば、友人が、第１のユーザのゲーミングセッションを観察することを許可することができる。動作４２５において、かつゲーミングセッション中に、第１のユーザ及び１人以上の他のユーザまたは観客は、ゲーミングセッションに対して記述及び可聴コメントを提供することができる。
【００９９】
動作４３０では、第１のユーザは、現在のゲーミングセッションをゲーム／アプリケーションに保存するよう選択する。例えば、第１のユーザは、ゲーミングセッションの開始またはゲーミングセッションの任意の部分中に、保存要求を開始することができるだろう。１つの実装では、クラウドゲーミングシステムは、ゲーミングセッションの開始から、または自動的に選択され得るか、もしくはユーザの嗜好に応じてユーザが設定し得る、事前に選択されたローリングウィンドウ内で、自動的にゲーミングセッションを保存することができ、ローリングウィンドウは、例えば、ゲーミングセッションの最後の１０秒から３０分またはそれ以上を包含するウィンドウなどである。このような実装では、第１のユーザがゲーミングセッションを保存するよう選択すると、第１のユーザは、ゲーミングセッションの保存を開始するために、ゲーミングセッションの時間をどのくらい遡るか選択することもできる。この実装によって、第１のユーザは、重要なイベントがゲーミングセッションで生じた後に、重要なイベントのゲーミングセッションを保存するよう決定することができ、これによって、第１のユーザは、重要なイベントのゲーミングセッションを１人以上の友人と共有することができる。
【０１００】
第１のユーザは、ユーザのクライアントデバイス１２２Ａ〜ｎ及び／または自身のゲームコントローラ１２３Ａ〜ｎを介して、クラウドコントローラ１３０及び第１のユーザの割り当てられたサーバ／ゲームコンソール１１３Ａのうち１つまたは両方に保存要求を通信することによって、保存ゲームを開始することができる。上に言及した通り、保存ゲーム動作は割り当てられたゲームコンソール、ゲームコンソールマネジャ、クラウドコントローラ１３０及びストリーミングソフトウェア間で分散されてよい。
【０１０１】
動作４３５では、第１のユーザの現在のゲーミングセッション１１４ならびに第１のユーザ及び他の任意のユーザが作成したコメントは、後の取り出し及びプレイバックのために保存される。保存されたゲーミングセッション１１４は、ハードウェア状態データ及び／またはアプリケーション状態データなどの他のデータを含むことがある。ユーザ及び／または観客コメント情報は、保存されたゲーミングセッションの一部として保存することができる。代替的には、ユーザ及び／または観客コメント情報は、別個のデータファイルに保存するか、または保存されたゲーミングセッションもしくはクリップの時間に関連付けることができる。ユーザ識別は、保存されたそれぞれのコメント、保存されたそれぞれのコメントのリアルタイム及び日付スタンプならびにそれぞれのコメントが作成されたときに対応するゲーミングセッション内の時点への関連付けに対応する。
【０１０２】
上記の通り、保存された第１のユーザのゲーミングセッション１１４及び関連コメントは、記憶されたゲーミングセッション１１４'として、ローカルストレージサーバ１１６内及び／またはストレージサーバ１１０内に記憶することができる。ストレージサーバ１１０及びローカルストレージサーバ１１６は、複数のゲームコンソール及び／または複数のユーザに対して、保存されたゲーミングセッションを効率的に記憶することができる。動作４４０では、第１のユーザの記憶されたゲーミングセッション１１４'の位置は、ユーザアカウントデータベース１３３にある第１のユーザのアカウントデータに関連付けられる。これによって、第１のユーザのアカウント情報が、第１のユーザの記憶されたゲーミングセッションのストレージ位置を含むことが可能になる。
【０１０３】
後に、動作４４５において、第１のユーザの保存されたゲーミングセッションをプレイバックする要求が開始される。プレイバック要求は、第１のユーザまたは友人などの認証された第２のユーザから発信されることがある。上の例を再度参照すると、ジョンは自身のゲーミングセッションを保存することができ、ヘンリーは後に、保存されたゲーミングセッションにアクセスすることができる。第１のユーザまたは認証された第２のユーザは、ユーザのクライアントデバイス１２２Ａ〜ｎを介して、及びサーバ／ゲームコンソール１１３Ｂなどの割り当てられたサーバ／ゲームコンソールを通じて、プレイバック要求を発行することができる。
【０１０４】
第１のユーザが、自身の最初のゲーミングセッションをログオフしたか、別様には、自身の最初のゲーミングセッションが、例えば、クラウドコントローラが最初のゲーミングセッションを終了するか、または第１のユーザが、クラウドゲーミングサーバ１３０、ゲームコンソールマネジャ１１３もしくは割り当てられたサーバ／ゲームコンソールへのネットワーク接続の中断を経験することなどによって中断された場合、第１のユーザ及び／または認証された第２のユーザは、上記の動作４０５に記載される通り、クラウドゲーミングサービスに再度アクセスし、サーバ／ゲームコンソールに割り当てられる必要があり得る。第１のユーザ及び／または認証された第２のユーザが、サーバ／ゲームコンソール１１３Ｂに割り当てられる場合、第１のユーザの保存されたゲームのうちの１つ以上が、割り当てられたサーバ／ゲームコンソール上に自動的にロードされてよい。第１のユーザが、サーバ／ゲームコンソール１１３Ｂに割り当てられ、第１のユーザの保存されたゲームのうちの１つが、割り当てられたサーバ／ゲームコンソール上にロードされると、割り当てられたサーバ／ゲームコンソールは、保存されたゲームのプレイバックが準備完了であるという表示を第１のユーザに提供し、記憶されたゲーム及び保存されたゲーミングセッションを見ているそれぞれのユーザによる対応コメントを、第１のユーザが、例えば、上記のユーザのクラウドゲーミングダッシュボードを通じて、見るためのアクセスを提供してよい。
【０１０５】
第１のユーザはさらに、上記の通り、記憶されたゲーミングセッション１１４'を共有または送信するか、別様には、記憶されたゲーミングセッション１１４'への第２のユーザのアクセスを認証することができる。ゲームをプレイバックする要求は、割り当てられたサーバ／ゲームコンソール、例えば、サーバ／ゲームコンソール１１３Ｂまたはクライアントデバイス１２２Ａ〜Ｅからクラウドコントローラ１３０に受信することができる。
【０１０６】
プレイバック要求を受信すると、クラウドコントローラ１３０は、動作４５０において、ユーザアカウントデータベース１３３にある第１のユーザのアカウント情報を問い合わせ、保存された第１のユーザのゲーミングセッション１１４'のストレージ位置を判定する。クラウドコントローラ１３０及び／またはゲームコンソールマネジャ１１３は、動作４５０において、保存された第１のユーザのゲーミングセッション１１４'を取り出し、保存された第１のユーザのゲーミングセッション１１４'を、要求しているサーバ／ゲームコンソール１１３Ｂにストリーミング配信することを開始できる。動作４５５において、要求しているサーバ／ゲームコンソール１１３Ｂは、保存された第１のユーザのゲーミングセッション１１４'を、ユーザのクライアントデバイス１２２Ａ〜ｎにストリーミング配信することを受信する。
【０１０７】
動作４６０において、第１のユーザの保存されたゲーミングセッションと共に保存されたコメントは、フィルタリングされ、これによって、プレイバックを要求するユーザは、視聴しているユーザが受信または見ることを許可されたコメントを、受信または見ることのみができる。
【０１０８】
動作４６５において、プレイバックを要求するユーザは、第１のユーザの保存されたゲーミングセッションのプレイバックに対して追加のコメントを作成することができる。動作４７５において、プレイバックを要求するユーザの追加のコメントは、以前に保存された第１のユーザのゲーミングセッションと共に保存されたコメントに関連付けて保存することができ、動作方法を終了することができる。
【０１０９】
図５は、本発明の様々な実施形態に係る、ゲームシステム５００のブロック図である。ゲームシステム５００は、ネットワーク５１５を介してビデオストリームを１つ以上のクライアント５１０に提供するように構成される。ゲームシステム５００は、典型的には、ビデオサーバシステム５２０及び任意のゲームサーバ５３５を含む。ビデオサーバシステム５２０は、最小限のサービス品質でビデオストリームを１つ以上のクライアント５１０に提供するように構成される。例えば、ビデオサーバシステム５２０は、ビデオゲーム内の表示状態または視点を変更するゲームコマンドを受信し、この状態変化を最小の遅延時間で反映している更新ビデオストリームをクライアント５１０に提供し得る。ビデオサーバシステム５２０は、まだ定義されていないフォーマットを含む、多様な代替ビデオフォーマットでビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多様なフレームレートでユーザに提示するために構成されたビデオフレームを含み得る。典型的なフレームレートは、１秒当たり３０フレーム、１秒当たり６０フレーム及び１秒当たり１２０フレームである。しかしながら、本発明の代替実施形態において、より高いフレームレートまたはより低いフレームレートが含まれる。
【０１１０】
本明細書では個別に５１０Ａ、５１０Ｂ等と称されるクライアント５１０は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、携帯型ゲームプレイデバイス及び／またはその他を含み得る。典型的には、クライアント５１０は、符号化されたビデオストリームを受信し、ビデオストリームを復号し、得られたビデオを、ユーザ、例えば、ゲームのプレイヤーに提示するように構成される。符号化されたビデオストリームを受信するプロセス及び／またはビデオストリームを復号するプロセスは、典型的には、クライアントの受信バッファ内に個別のビデオフレームを記憶することを含む。ビデオストリームは、クライアント５１０に統合されたディスプレイ上で、またはモニターもしくはテレビなどの別個のデバイス上でユーザに提示され得る。クライアント５１０は、任意には、２人以上のゲームプレイヤーをサポートするように構成される。例えば、ゲームコンソールは、２人、３人、４人またはそれ以上のプレイヤーを同時にサポートするように構成され得る。これらのプレイヤーのそれぞれは、別個のビデオストリームを受信し得るか、または単一のビデオストリームは各プレイヤー専用に生成された、例えば、各プレイヤーの視点を基に生成された、フレームの領域を含み得る。クライアント５１０は、任意には、地理的に分散している。ゲームシステム５００に含まれるクライアントの数は、１または２から数千、数万、あるいはそれ以上と、広範囲に変わり得る。本明細書で使用する場合、用語「ゲームプレイヤー」はゲームをプレイする人物を指すために使用され、用語「ゲームプレイデバイス」はゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施形態では、ゲームプレイデバイスは、ゲーム体験をユーザに供給するために協働する複数の計算デバイスを指し得る。例えば、ゲームコンソール及びＨＭＤは、ビデオサーバシステム５２０と協働し、ＨＭＤを通じて見るゲームを供給し得る。１つの実施形態では、ゲームコンソールはビデオサーバシステム５２０からビデオストリームを受信し、ゲームコンソールは、ビデオストリームまたはビデオストリームへの更新をレンダリングのためにＨＭＤに転送する。
【０１１１】
クライアント５１０は、ネットワーク５１５を介してビデオストリームを受信するように構成される。ネットワーク５１５は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク及び／またはその他を含む、任意の種類の通信ネットワークであり得る。典型的な実施形態において、ビデオストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰなどの規格プロトコルを介して通信される。代替的には、ビデオストリームは、専有規格を介して通信される。
【０１１２】
クライアント５１０の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号論理、ネットワーク通信能力及び入力デバイスを備えるパーソナルコンピュータである。復号論理は、ハードウェア、ファームウェア及び／またはコンピュータ可読媒体上に記憶されたソフトウェアを含み得る。ビデオストリームを復号（及び符号化）するシステムは、当該技術分野で周知であり、使用される特定の符号化スキームによって異なる。
【０１１３】
クライアント５１０は受信したビデオを修正するように構成されるシステムをさらに含んでよいが、これは必須ではない。例えば、クライアントは、さらなるレンダリングを行う、１つのビデオ画像を別のビデオ画像にオーバーレイする、ビデオ画像を切り取る及び／またはその他を行うように構成されてよい。例えば、クライアント５１０は、例えば、Ｉ−フレーム、Ｐ−フレーム及びＢ−フレームなどの様々な種類のビデオフレームを受信し、これらのフレームをユーザに表示するための画像に処理するように構成されてよい。いくつかの実施形態では、クライアント５１０の構成要素は、さらなるレンダリング、シェーディング、３−Ｄへの変換または他の動作をビデオストリームに行うように構成される。クライアント５１０の構成要素は、任意には、２つ以上の音声またはビデオストリームを受信するように構成される。クライアント５１０の入力デバイスは、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、フォースフィードバックデバイス、動作及び／または位置感知デバイス、マウス、タッチ画面、ニューラルインターフェース、カメラ、まだ開発されていない入力デバイス及び／またはその他を含んでよい。
【０１１４】
クライアント５１０により受信されるビデオストリーム（及び任意には音声ストリーム）は、ビデオサーバシステム５３０により生成及び提供される。本明細書の別の箇所でさらに説明する通り、このビデオストリームは、ビデオフレームを含む（かつ音声ストリームは、音声フレームを含む）。ビデオフレームは、ユーザに表示される画像に有意義に寄与するように構成される（例えば、それらは、適切なデータ構造でのピクセル情報を含む）。本明細書で使用される場合、用語「ビデオフレーム」は、ユーザに示す画像に寄与するように、例えば、効果を及ぼすように構成される情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の大半の教示は「音声フレーム」にも適用可能である。
【０１１５】
クライアント５１０は、典型的には、ユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するか、または別様にはゲームプレイに作用するように構成されたゲームコマンドを含んでよい。ゲームコマンドは、入力デバイスを使用して受信されてよく、及び／またはクライアント５１０上で実行する計算命令により自動的に生成されてよい。受信されたゲームコマンドはネットワーク５１５を介してクライアント５１０からビデオサーバシステム５２０及び／またはゲームサーバ５３５に通信される。例えば、いくつかの実施形態では、ゲームコマンドは、ゲームサーバシステム５３０を介してゲームサーバ５２５に通信される。いくつかの実施形態では、ゲームコマンドの別個のコピーは、クライアント５１０からゲームサーバ５２５及びビデオサーバシステム５２０に通信される。ゲームコマンドの通信は、任意には、コマンドの識別に応じて行われる。ゲームコマンドは、任意には、音声またはビデオストリームをクライアント５１０Ａに提供するために使用される様々なルートまたは通信チャネルを通じて、クライアント５１０Ａから通信される。ゲームサーバ５２５は、上記の通り、クラウドコントローラ１３０及び／またはゲームマネジャ１１３の部分を含むことがあることを理解すべきである。
【０１１６】
ゲームサーバ５２５は、任意には、ビデオサーバシステム５３０とは異なるエンティティにより操作され得る。例えば、ゲームサーバ５２５は、マルチプレイヤゲームのパブリッシャにより操作されてよい。この例において、ビデオサーバシステム５２０は、任意には、ゲームサーバ５２５によりクライアントとしてみなされ、任意には、ゲームサーバ５２５の視点から、従来技術のゲームエンジンを実行する従来技術のクライアントであるようにみなされるように構成される。ビデオサーバシステム５２０とゲームサーバ５２５との間の通信は、任意には、ネットワーク５１５を介して生じる。したがって、ゲームサーバ５２５は、それらのうちの１つがビデオサーバシステム５３０である複数のクライアントにゲーム状態情報を送信する、従来技術のマルチプレイヤーゲームサーバであり得る。ビデオサーバシステム５２０は、ゲームサーバ５２５の複数のインスタンスと同時に通信するように構成されてよい。例えば、ビデオサーバシステム５２０は、複数の異なるビデオゲームを異なるユーザに提供するように構成することができる。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ５２５によってサポートされ得る、及び／または異なるエンティティによって発行され得る。いくつかの実施形態では、地理的に分散しているビデオサーバシステム５２０のいくつかのインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム５２０のこれらのインスタンスのそれぞれは、ゲームサーバ５２５の同じインスタンスと通信し得る。ビデオサーバシステム５２０と１つ以上のゲームサーバ５２５との間の通信は、専用の通信チャネルを介して任意に生じる。例えば、ビデオサーバシステム５２０は、これらの２つのシステム間の通信専用である高帯域チャネルを介してゲームサーバ５２５に接続されてよい。
【０１１７】
ビデオサーバシステム５２０は、ビデオソース５３０、Ｉ／Ｏデバイス５４５、プロセッサ５５０及び非一時的ストレージ５５５を少なくとも備える。ビデオサーバシステム５２０は、１つの計算デバイスを含み得るか、または複数の計算デバイスの間に分散され得る。これらの計算デバイスは、任意には、ローカルエリアネットワークなどの通信システムを介して接続される。
【０１１８】
ビデオソース５３０は、ビデオストリーム、例えば、ストリーミングビデオまたは動画を形成する一連のビデオフレームを提供するように構成される。いくつかの実施形態では、ビデオソース５３０は、ビデオゲームエンジン及びレンダリング論理を含む。ビデオゲームエンジンは、プレイヤーからゲームコマンドを受信し、受信されたコマンドに基づいてビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境内のオブジェクトの位置を含むだけでなく、典型的には、視点を含む。ゲーム状態は、オブジェクトの特性、画像、色及び／またはテクスチャも含み得る。ゲーム状態は、典型的には、ゲームのルールならびに移動、回転、攻撃、焦点合わせ、対話、使用及び／またはその他のゲームコマンドに基づいて維持される。ゲームエンジンの一部は、任意には、ゲームサーバ５２５内に配置される。ゲームサーバ５２５は、地理的に分散するクライアントを使用して、複数のプレイヤーから受信されたゲームコマンドに基づいて、ゲームの状態のコピーを維持し得る。これらの場合において、ゲーム状態は、ゲームサーバ５２５によりビデオソース５３０に提供され、ビデオソース５３０においてゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ５２５は、ネットワーク５１５を介してクライアント５１０からゲームコマンドを直接受信してよく、及び／またはビデオサーバシステム５３０を介してゲームコマンドを受信してよい。
【０１１９】
ビデオソース５３０は、典型的には、レンダリング論理、例えば、ハードウェア、ファームウェア及び／またはストレージ５５５などのコンピュータ可読媒体上に記憶されるソフトウェアを含む。このレンダリング論理は、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリング論理の全てまたは一部は、任意には、グラフィックス処理ユニット（ＧＰＵ）内に配置される。レンダリング論理は、典型的に、オブジェクト間の三次元空間関係を決定するため、及び／またはゲーム状態及び視点に基づいて適切なテクスチャ等を適用するために構成された処理段階を含む。レンダリング論理は、未加工のビデオを生成し、未加工のビデオは、その後、通常は、クライアント５１０への通信前に符号化される。例えば、未加工のビデオは、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）規格、Ｈ．２６４Ｘ（例えば、Ｈ．２６４、Ｈ．２６５及び類似のもの）、Ｈ．３６３、Ｏｎ３、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ．  Ｘｖｉｄ．  ＦＦｍｐｅｇ、ｘ３６４、ＶＰ６−８、ｒｅａｌｖｉｄｅｏなどに従って符号化され得る。符号化プロセスは、遠隔デバイス上のデコーダに送達するために任意にパッケージ化されたビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートにより特徴付けられる。典型的なフレームサイズは、８００×６００、１３８０×７３０（例えば、７３０ｐ）、１０３４×７６８を含むが、任意の他のフレームサイズを使用してよい。フレームレートは、１秒当たりのビデオフレームの数である。ビデオストリームは、異なる種類のビデオフレームを含んでよい。例えば、Ｈ．３６４規格は、「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉフレームは、全てのマクロブロック／画素をディスプレイ上でリフレッシュするための情報を含み、一方、Ｐフレームは、そのサブセットをリフレッシュするための情報を含む。Ｐフレームは、典型的には、Ｉフレームよりもデータサイズが小さい。本明細書で使用される場合、用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するために必要なバイト数を指すために使用される。
【０１２０】
代替的な実施形態では、ビデオソース５３０は、カメラなどのビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含むことが可能な遅延ビデオまたはライブビデオを生成するために使用され得る。得られるビデオストリームは、任意には、レンダリングされた画像と静止カメラまたはビデオカメラを使用して記録された画像との両方を含む。ビデオソース５３０は、ビデオストリームに含まれ得る、以前に記録されたビデオを記憶するように構成されるストレージデバイスをさらに含み得る。ビデオソース５３０は、人などのオブジェクトの動作または位置を検出するように構成された動作または位置感知デバイスと、ゲーム状態を判定するか、または検出された動作及び／または位置に基づくビデオを生成するように構成される論理をさらに含み得る。
【０１２１】
ビデオソース５３０は、任意には、他のビデオ上に配置されるように構成されたオーバーレイを提供するために構成される。例えば、これらのオーバーレイは、コマンドインターフェース、ログイン命令、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード（例えば、ウェブカムビデオ）を含んでよい。クライアント５１０Ａがタッチ画面インターフェースを含むか、視線検出インターフェースを含む実施形態において、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッド及び／またはその他を含んでよい。オーバーレイの一例として、プレイヤーの声は、音声ストリームにオーバーレイされる。ビデオソース５３０は、任意には、１つ以上の音声ソースをさらに含む。
【０１２２】
ビデオサーバシステム５２０が２人以上のプレイヤーからの入力を基に、ゲーム状態を維持するように構成される実施形態では、各プレイヤーは、ビューの位置及び方向を備える様々な視点を有し得る。ビデオソース５３０は、任意には、各プレイヤーの視点を基に、各プレイヤーに個別のビデオストリームを提供するように構成される。さらに、ビデオソース５３０は、様々なフレームサイズ、フレームデータサイズ及び／または符号化をクライアント５１０のそれぞれに提供するように構成され得る。ビデオソース５３０は、任意には、３Ｄビデオを提供するように構成される。
【０１２３】
Ｉ／Ｏデバイス５４５は、ビデオサーバシステム５２０が、ビデオ、コマンド、情報の要求、ゲーム状態、視線情報、デバイス動作、デバイス位置、ユーザ動作、クライアント識別、プレイヤー識別、ゲームコマンド、セキュリティ情報、音声及び／またはその他の情報を送信及び／または受信するように構成される。Ｉ／Ｏデバイス５４５は、典型的には、ネットワークカードまたはモデムなどの通信ハードウェアを含む。Ｉ／Ｏデバイス５４５は、ゲームサーバ５３５、ネットワーク５１５及び／またはクライアント５１０と通信するように構成される。
【０１２４】
プロセッサ５５０は、本明細書で述べるビデオサーバシステム５２０の様々なコンポーネント内に含まれる論理、例えば、ソフトウェアを実行するように構成される。例えば、プロセッサ５５０は、ビデオソース５３０、ゲームサーバ５３５及び／またはクライアント限定子５６０の機能を実行するために、ソフトウェア命令によりプログラム化され得る。ビデオサーバシステム５２０は、任意には、プロセッサ５５０の複数のインスタンスを含む。プロセッサ５５０は、ビデオサーバシステム５２０によって受信されるコマンドを実行するために、または本明細書に述べるゲームシステム５００の様々な要素の動作を調整するために、ソフトウェア命令によりプログラム化されてもよい。プロセッサ５５０は、１つ以上のハードウェアデバイスを含んでよい。プロセッサ５５０は、電子プロセッサである。
【０１２５】
ストレージ５５５は、非一時的なアナログ及び／またはデジタルストレージデバイスを含む。例えば、ストレージ５５５は、ビデオフレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ５５５は、例えば、ハードドライブ、光学ドライブまたはソリッドステートストレージなどのコンピュータ可読デジタルストレージを含み得る。ストレージ５１５は、ビデオフレーム、人工フレーム、ビデオフレームと人工フレームとの両方を含むビデオフレーム、音声フレーム、音声ストリーム及び／またはその他を記憶するように（例えば、適切なデータ構造またはファイルシステムによって）構成される。ストレージ５５５は、任意には、複数のデバイス間に分散される。いくつかの実施形態では、ストレージ５５５は、本明細書の他の箇所で述べたビデオソース５３０のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要なときに供給できる形式で記憶され得る。
【０１２６】
ビデオサーバシステム５２０は、任意には、クライアント限定子５６０をさらに備える。クライアント限定子５６０は、クライアント５１０Ａまたは５１０Ｂなどのクライアントの機能を遠隔で決定するために構成される。これらの機能は、クライアント５１０Ａ自体の機能ならびにクライアント５１０Ａとビデオサーバシステム５３０との間の１つ以上の通信チャネルの機能の両方を含むことがある。例えば、クライアント限定子５６０は、ネットワーク５１５を通じて通信チャネルをテストするように構成され得る。
【０１２７】
クライアント限定子５６０は、クライアント５１０Ａの機能を手動または自動で判定（例えば、発見）することができる。手動判定は、クライアント５１０Ａのユーザと通信してユーザに機能を提供するよう求めることを含む。例えば、いくつかの実施形態では、クライアント限定子５６０は、クライアント５１０Ａのブラウザ内に画像、テキスト及び／またはその他を表示するように構成される。１つの実施形態では、クライアント５１０Ａはブラウザを含むＨＭＤである。別の実施形態では、クライアント５１０Ａは、ＨＭＤ上に表示され得るブラウザを有するゲームコンソールである。表示されたオブジェクトは、クライアント５１０Ａのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報を入力するようユーザに要求する。ユーザが入力する情報は、クライアント限定子５６０に返送される。
【０１２８】
自動判定は、例えば、クライアント５１０Ａ上でエージェントを実行すること及び／またはテストビデオをクライアント５１０Ａに送信することによって生じ得る。エージェントは、ｊａｖａ（登録商標）  ｓｃｒｉｐｔなどの、ウェブページに埋め込まれているか、またはアドオンとしてインストールされている計算命令を備え得る。エージェントは、任意には、クライアント限定子５６０により提供される。様々な実施形態では、エージェントは、クライアント５１０Ａの処理能力、クライアント５１０Ａの復号及び表示能力、遅延時間の信頼性及びクライアント５１０Ａとビデオサーバシステム５３０との間の通信チャネルの帯域幅、クライアント５１０Ａのディスプレイの種類、クライアント５１０Ａ上に存在するファイアウォール、クライアント５１０Ａのハードウェア、クライアント５１０Ａ上で実行するソフトウェア、クライアント５１０Ａ内のレジストリエントリ及び／またはその他を見つけることができる。
【０１２９】
クライアント限定子５６０は、ハードウェア、ファームウェア及び／またはコンピュータ可読媒体上に記憶されるソフトウェアを含む。クライアント限定子５６０は、任意には、ビデオサーバシステム５３０の１つ以上の他の要素とは別の計算デバイス上に配置される。例えば、いくつかの実施形態では、クライアント限定子５６０は、クライアント５１０とビデオサーバシステム５３０の２つ以上のインスタンスとの間の通信チャネルの特性を決定するように構成される。これらの実施形態では、クライアント限定子によって発見された情報を使用して、ビデオサーバシステム５２０のどのインスタンスがストリーミングビデオをクライアント５１０のうちの１つに送達するのに最も適しているか判定することができる。
【０１３０】
本出願は、「Ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  Ａｕｔｏｍａｔｅｄ  Ｃｒｅａｔｉｏｎ  ｏｆ  Ｖｉｄｅｏ  Ｇａｍｅ  Ｈｉｇｈｌｉｇｈｔｓ」と題する、２００９年２月１２日に出願された米国特許出願第１２／３７０，３２７に関し、その全体は引用することによってあらゆる目的で本明細書に組み込まれ、その全体は引用することによってあらゆる目的で本明細書に組み込まれる。本出願は、「Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｏｆ  Ｈｉｇｈｌｉｇｈｔ  Ｇａｍｅ  Ｅｖｅｎｔｓ  ａｎｄ  Ａｕｔｏｍａｔｅｄ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｖｉｄｅｏｓ  ｆｏｒ  Ｓａｍｅ」と題する、２０１２年２月２日に出願された米国特許出願第１３／３６５，１４０に関し、その全体は引用することによってあらゆる目的で本明細書に組み込まれ、その全体は引用することによってあらゆる目的で本明細書に組み込まれる。
【０１３１】
本発明の実施形態は、携帯型デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能なコンシューマーエレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含む様々な計算システム構成を用いて実施され得る。本発明は、有線または無線ネットワークを通じてリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境において実施することもできる。
【０１３２】
上の実施形態を念頭に置いて、本発明は、コンピュータシステム内に記憶されたデータを伴う様々なコンピュータ実装動作を利用できることを理解すべきである。これらの動作は、物理量の物理的操作を必要とするものである。本発明の一部を形成する本明細書に説明される動作のいずれかは、有用なマシン動作である。本発明は、これらの動作を行うためのデバイスまたは装置にも関する。本装置は、特殊用途のために特別に構成され得るか、または本装置はコンピュータに記憶されるコンピュータプログラムにより選択的に起動もしくは構成される汎用コンピュータであり得る。特に、様々な汎用マシンは、本明細書の教示に従って記述されたコンピュータプログラムによって使用可能であるか、またはより特殊な装置を構築して、要求される動作を行う方がより便利であり得る。
【０１３３】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、コンピュータシステムによってその後読み出すことができる。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み出し専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープならびに他の光学及び非光学データストレージデバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワーク連結されたコンピュータシステム上に分散したコンピュータ可読有形媒体を含むことができる。
【０１３４】
動作方法は、特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作が、動作間で行われ得るか、または動作はそれらがわずかに異なる時点で起こるように調整され得るか、またはその処理と関連付けられた様々な間隔での処理動作の発生を可能にするシステムにおいて分散され得ることを理解すべきである。
【０１３５】
前述の発明は、理解を明確にする目的である程度詳細に説明されたが、当然のことながら、特定の変更及び修正が添付の特許請求の範囲内で実施され得る。したがって、本実施形態は、制限的でなく、例示として見なされるものであり、本発明は、本明細書に付与される詳細に限定されないが、説明された実施形態の範囲及び均等物内で修正されてよい。
【図１Ａ】
2018525054.tif 000003
【図１Ｂ】
2018525054.tif 000004
【図１Ｃ】
2018525054.tif 000005
【図１Ｄ】
2018525054.tif 000006
【図１Ｅ】
2018525054.tif 000007
【図２Ａ】
2018525054.tif 000008
【図２Ｂ】
2018525054.tif 000009
【図２Ｃ】
2018525054.tif 000010
【図２Ｄ】
2018525054.tif 000011
【図２Ｅ】
2018525054.tif 000012
【図３Ａ】
2018525054.tif 000013
【図３Ｂ】
2018525054.tif 000014
【図３Ｃ】
2018525054.tif 000015
【図３Ｄ】
2018525054.tif 000016
【図４】
2018525054.tif 000017
【図５】
2018525054.tif 000018
【国際調査報告】
2018525054.tif 000019
2018525054.tif 000020
2018525054.tif 000021