(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-02
(54)【発明の名称】以前に開発されたゲームアプリケーションのためのゲームコンテンツの拡張
(51)【国際特許分類】
A63F 13/77 20140101AFI20240625BHJP
A63F 13/35 20140101ALI20240625BHJP
A63F 13/54 20140101ALI20240625BHJP
A63F 13/45 20140101ALI20240625BHJP
A63F 13/533 20140101ALI20240625BHJP
【FI】
A63F13/77
A63F13/35
A63F13/54
A63F13/45
A63F13/533
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023577595
(86)(22)【出願日】2022-05-18
(85)【翻訳文提出日】2024-02-13
(86)【国際出願番号】 US2022029731
(87)【国際公開番号】W WO2022265789
(87)【国際公開日】2022-12-22
(32)【優先日】2021-06-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】ケネット,ダニエル・ギルバート
(57)【要約】
本開示は、ゲームセッション内で発生する様々なイベントを識別し、識別されたイベントに基づいて1つまたは複数のゲーム内拡張を実装するためのシステム、方法、およびコンピュータ可読媒体に関する。例えば、ゲームサービス(例えばクラウドゲームサーバ)は、クラウドコンピューティングシステム上のコンテンツ分析およびイベント認識サービスを活用して、クライアントシステムに配信されるゲームコンテンツ(例えば、ビデオコンテンツ、オーディオコンテンツ、コントローラ入力)に基づいて1つまたは複数のゲーム内イベントを検出することができる。本明細書で述べるシステムは、検出されたイベントに応答して、ゲーム内拡張をクライアントシステムに実装させることができる。イベントの検出および様々な拡張の実装は、ゲームアプリケーションが以前に出荷されていた場合でも、ゲームアプリケーションを大幅に再開発することなく実施することができる。
【特許請求の範囲】
【請求項1】
ゲームセッションに関するゲームコンテンツを識別するステップであって、前記ゲームコンテンツは、クラウドコンピューティングシステム上のゲームサーバによってクライアントシステムに提供されるビデオコンテンツを含む、ステップと、
イベントのインスタンスを検出するために第1のイベントレコグナイザを前記ゲームコンテンツに適用するステップであって、前記第1のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づいて、前記イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された1つまたは複数の検出モデルを含む、ステップと、
前記イベントに関連するゲーム内拡張を識別するステップと、
前記イベントの前記インスタンスを検出する前記第1のイベントレコグナイザに基づいて、前記クライアントシステムでの前記ゲームセッションの提示と併せて、前記ゲーム内拡張を前記クライアントシステムに実装させるステップと
を含む方法。
【請求項2】
請求項1に記載の方法であって、前記ゲームコンテンツは、前記ゲームサーバによって前記クライアントシステムにストリーミングされるビデオゲームコンテンツを含む、方法。
【請求項3】
請求項2に記載の方法であって、前記ゲームコンテンツは、オーディオコンテンツおよびコントローラ入力のうちの1つまたは複数をさらに含み、前記1つまたは複数の検出モデルは、前記ビデオゲームコンテンツと、前記オーディオコンテンツと、前記コントローラ入力とのうちの2つ以上の組合せに基づいて、前記イベントの前記所与のインスタンスの発生に関連する前記1つまたは複数の信号を出力するように訓練される、方法。
【請求項4】
請求項1に記載の方法であって、前記第1のイベントレコグナイザは、
第1のゲームアプリケーションに由来するゲームコンテンツに基づいて、前記イベントの前記所与のインスタンスの発生に関連する少なくとも1つの信号を出力するように訓練された第1の1つまたは複数の検出モデルと、
第2のゲームアプリケーションに由来するゲームコンテンツに基づいて、前記イベントの前記所与のインスタンスの発生に関連する少なくとも1つの信号を出力するように訓練された第2の1つまたは複数の検出モデルと
を含む、方法。
【請求項5】
請求項4に記載の方法であって、
前記第1のゲームアプリケーションは、前記第2のゲームアプリケーションの以前にリリースされたバージョンであるか、
前記第1のゲームアプリケーションと前記第2のゲームアプリケーションとは異なる発行元に関連付けられるか、または、
前記第1のゲームアプリケーションと前記第2のゲームアプリケーションとは、異なるジャンルのゲームアプリケーションに関連付けられる、
方法。
【請求項6】
請求項1に記載の方法であって、
第2のイベントのインスタンスを検出するために第2のイベントレコグナイザを前記ゲームコンテンツに適用するステップであって、前記第2のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づいて前記第2のイベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された第2の1つまたは複数の検出モデルを含む、ステップと、
前記第2のイベントに関連する第2のゲーム内拡張を識別するステップと、
前記第2のイベントの前記インスタンスを検出する前記第2のイベントレコグナイザに基づいて、前記クライアントシステムでの前記ゲームセッションの前記提示と併せて、および、前記イベントの前記インスタンスに関連する前記ゲーム内拡張と併せて、前記第2のゲーム内拡張を前記クライアントシステムに実装させるステップと
をさらに含む方法。
【請求項7】
請求項1に記載の方法であって、前記ゲーム内拡張は、
前記クライアントシステムのグラフィカルユーザインターフェース(GUI)上で前記ゲームセッションのディスプレイに1つまたは複数のグラフィックアイコンを表示することに関連するGUI拡張と、
前記クライアントシステムの入力デバイスを介して提示される触覚または視覚フィードバックに関連する入力デバイス拡張と
のうちの1つまたは複数を含む、方法。
【請求項8】
請求項1に記載の方法であって、前記ゲーム内拡張を前記クライアントシステムに実装させるステップは、前記ビデオコンテンツと、前記クライアントシステムのグラフィカルユーザインターフェース(GUI)を介して提示される前記ビデオコンテンツに対する1つまたは複数の拡張との両方を含む増強されたビデオコンテンツを前記ゲームサーバから受信するステップを含む、方法。
【請求項9】
請求項1に記載の方法であって、前記ゲーム内拡張を前記クライアントシステムに実装させるステップは、
前記クラウドコンピューティングシステム上のデータ分析サービスから1つまたは複数の拡張コマンドを受信するステップと、
前記クライアントシステムのハードウェア上で前記1つまたは複数の拡張コマンドをローカルで実行するステップと
を含む、方法。
【請求項10】
請求項1に記載の方法であって、前記1つまたは複数の検出モデルは、前記ゲームコンテンツが前記クライアントシステムに提供されるのと同時に前記ゲームコンテンツのビデオフレームに適用される機械学習モデルを含む、方法。
【請求項11】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサと電子通信するメモリと、
前記メモリに記憶されている命令と
を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって、
ゲームセッションに関するゲームコンテンツを識別するステップであって、前記ゲームコンテンツは、クラウドコンピューティングシステム上のゲームサーバによってクライアントシステムに提供されるビデオコンテンツを含む、ステップと、
イベントのインスタンスを検出するために第1のイベントレコグナイザを前記ゲームコンテンツに適用するステップであって、前記第1のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づいて、前記イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された1つまたは複数の検出モデルを含む、ステップと、
前記イベントに関連するゲーム内拡張を識別するステップと、
前記イベントの前記インスタンスを検出する前記第1のイベントレコグナイザに基づいて、前記クライアントシステムでの前記ゲームセッションの提示と併せて、前記ゲーム内拡張を前記クライアントシステムに実装させるステップと
を行うように実行可能である、システム。
【請求項12】
請求項11に記載のシステムであって、前記ゲームコンテンツは、
前記ゲームサーバによって前記クライアントシステムにストリーミングされるビデオゲームコンテンツと、
オーディオコンテンツおよびコントローラ入力のうちの1つまたは複数と
を含み、前記1つまたは複数の検出モデルは、前記ビデオゲームコンテンツと、前記オーディオコンテンツと、前記コントローラ入力とのうちの2つ以上の組合せに基づいて、前記イベントの前記所与のインスタンスの発生に関連する前記1つまたは複数の信号を出力するように訓練される、
システム。
【請求項13】
請求項11に記載のシステムであって、前記ゲーム内拡張を前記クライアントシステムに実装させるステップは、前記ビデオコンテンツと、前記クライアントシステムのグラフィカルユーザインターフェース(GUI)を介して提示される前記ビデオコンテンツに対する1つまたは複数の拡張との両方を含む増強されたビデオコンテンツを前記ゲームサーバから受信するステップを含む、システム。
【請求項14】
請求項11に記載のシステムであって、前記ゲーム内拡張を前記クライアントシステムに実装させるステップは、
前記クラウドコンピューティングシステム上のデータ分析サービスから1つまたは複数の拡張コマンドを受信するステップと、
前記クライアントシステムのハードウェア上で前記1つまたは複数の拡張コマンドをローカルで実行するステップと
を含む、システム。
【請求項15】
命令を記憶する非一時的なコンピュータ可読媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに、
ゲームセッションに関するゲームコンテンツを識別するステップであって、前記ゲームコンテンツは、クラウドコンピューティングシステム上のゲームサーバによってクライアントシステムに提供されるビデオコンテンツを含む、ステップと、
イベントのインスタンスを検出するために第1のイベントレコグナイザを前記ゲームコンテンツに適用するステップであって、前記第1のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づいて、前記イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された1つまたは複数の検出モデルを含む、ステップと、
前記イベントに関連するゲーム内拡張を識別するステップと、
前記イベントの前記インスタンスを検出する前記第1のイベントレコグナイザに基づいて、前記クライアントシステムでの前記ゲームセッションの提示と併せて、前記ゲーム内拡張を前記クライアントシステムに実装させるステップと
を行わせる、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
近年、マルチメディアコンテンツを生成、処理、および提供するためのリモートコンピューティングリソースの使用が急激に増加している。例えば、現在、クラウドコンピューティングシステムは、ゲームコンテンツを生成し、様々なコンピューティング機能および表示機能を備えた多様なローカルデバイスに配信している。ビデオゲームおよび他のコンテンツがより高品質になり、ネットワーク帯域幅が増加するにつれて、クラウドベースのゲームは、個人にゲームコンテンツを配信するためのプラットフォームとしてますます一般的になっている。
【0002】
例えば、多くの人気のあるゲームコンテンツは、特定のゲームタイトルセットからのゲームコンテンツを生成および配信するために特別に開発された、選ばれた少数のゲームコンソールを介して利用可能であったが、クラウドベースのゲームにより、複数の発行元からのゲームコンテンツが同じクライアントデバイスを介して配信できる道が開かれている。さらに、従来は異なるシステムでしかプレイできなかったゲームタイトルの異なるバージョンが、クラウドゲーミングにより、単一のクライアントシステムを介してアクセス可能になることも多い。より大きいゲームタイトルコレクションへのアクセス性および利用性の向上により、クラウドベースのゲームの人気が高まっているが、ゲームアプリケーションの新旧両方のタイトルに対する関与を維持あるいは向上させることに関連する多くの困難が存在する。
【0003】
例えば、クラウドベースのゲームは、以前に出荷された多くのゲームタイトルにすぐにアクセスできるようにするが、これらのゲームを以前のバージョンからアップデートするのは、困難であり高コストのプロセスであることが多い。例えば、以前に出荷されたゲームの開発者は、新たなゲームの開発に移っていることが多く、以前に出荷されたゲームアプリケーションのアップデートをもはやコンパイルしていない。多くの場合、より古いゲームはアーカイブされているか、紛失されてソースが失われており、アップデートを実装するには、アプリケーションソフトウェアのかなりの部分を再開発する必要がある。さらに、ゲームの開発が可能であり、開発者がそれに従事できる場合でも、ゲームアプリケーションに対するパッチや他の修正を開発し、それらの開発をユーザベースに展開することは、多くの場合、それらのゲームタイトルの発行元や提供元にとってかなりの時間とコストがかかる。
【発明の概要】
【0004】
ゲームアプリケーションの開発および再開発に関して、これらおよび他の問題が存在する。
【図面の簡単な説明】
【0005】
【
図1】1つまたは複数の実施形態による、ゲームコンテンツに対する拡張を生成および提供するためのゲーム拡張システムの例示的実装形態を示す図である。
【
図2】1つまたは複数の実施形態による、ゲーム内イベントを検出するようにイベントレコグナイザが訓練されるゲーム拡張システムの例示的実装形態を示す図である。
【
図3】ゲームアプリケーションのソースを再開発することなくゲームセッションに対する拡張が提供される、ゲーム拡張システムの例示的実装形態を示す図である。
【
図4】
図4Aは、1つまたは複数の実施形態による、ゲームセッションの提示が拡張される例示的実装形態を示す図である。
図4Bは、1つまたは複数の実施形態による、ゲームセッションの提示が拡張される例示的実装形態を示す図である。
【
図5】1つまたは複数の実施形態による、ゲームセッションの提示が拡張される別の例示的実施形態を示す図である。
【
図6】1つまたは複数の実施形態によるゲームセッションの拡張を示す例示的な一連の操作を示す図である。
【
図7】コンピュータシステム内に含まれることがある特定のコンポーネントを示す図である。
【発明を実施するための形態】
【0006】
本開示は、一般に、時間がかかりおよび高いコストがかかるゲームアプリケーションソフトウェアの開発を伴わずに、ゲームセッションに対する様々な拡張を提供するゲーム拡張システムに関する。例えば、以下でさらに詳細に述べるように、ゲームサービス(例えばクラウドゲームサービス)は、クラウドコンピューティングシステムに実装されたイベントレコグナイザシステムのコンテンツ分析およびイベント認識サービスを活用して、多様なゲームイベントを検出し、それらの検出されたイベントに基づいてゲームに対する拡張を提供することができる。これは、バックエンド処理信号を分析することなく、またゲームアプリケーション自体への変更を伴うことなく行うことができる。したがって、本明細書で述べるシステムおよび方法は、高コストで時間のかかるゲームアプリケーション用のソフトウェアの開発を必要とせずに、多様なゲームアプリケーションの拡張を効率的に促進することができる。
【0007】
例示的な例として、1つまたは複数の実施形態では、ゲーム拡張システムは、ゲームセッション用のゲームコンテンツを識別する。ゲームコンテンツは、ビデオコンテンツ、およびゲームセッションに関連する他のタイプのコンテンツ(例えばオーディオコンテンツやコントローラ入力)を含むことがある。さらに、ゲーム拡張システムは、1つまたは複数のイベントレコグナイザをゲームコンテンツに適用して、イベントレコグナイザの検出モデル(例えば機械学習モデル)が検出するように訓練されている様々なイベントを識別することができる。ゲーム拡張システムは、検出されたイベントに関連する1つまたは複数のゲーム内拡張を識別し、イベントの1つまたは複数のインスタンスの検出に基づいて、クライアントシステム上のゲームセッションの提示と併せてクライアントシステム上にゲーム内拡張を実装させることができる。
【0008】
本開示は、クライアントシステムへのゲームコンテンツの配信と併せてゲームコンテンツの拡張に関連する利点を提供する、および/または拡張に関連する問題を解決する、多くの実際の適用例を含む。いくつかの例示的な利点は、以下でさらに詳細に論じる。これらの例は例示として提供されており、ゲーム拡張システムおよび関連コンポーネントに関連して本明細書で述べる特徴および機能によって、多くの追加の利点および実際の適用例が実現されることを理解されたい。
【0009】
第1の例として、本明細書で述べるシステムは、ゲームアプリケーションに関する基礎となるソフトウェアコードの高コストで時間のかかるソフトウェア開発を必要とせずに、多様な方法でゲームセッションの拡張を促進する。以下でさらに詳細に論じるように、イベントレコグナイザは、ゲームコンテンツ(例えばビデオコンテンツ)の分析に基づいて特定のイベントを示す信号を検出するように訓練された1つまたは複数の検出モデルを含むことがある。レコグナイザは、(例えば基礎となるコードまたはバックエンド処理データではなく)ゲームコンテンツに基づいて様々なイベントを検出するように訓練されるので、本明細書で述べるシステムは、ゲームアプリケーションのソフトウェア、ソースコード、または処理信号へのアクセスを必要とせずに、イベントを検出し、関連する拡張を提供するように訓練することができる。本明細書で述べるシステムは、任意の数の発行元に関連する多様なゲームアプリケーションでの多様なイベントを検出するための柔軟な環境をさらに提供する。例えば、ビデオコンテンツを評価するためにイベントレコグナイザのモデルを訓練することによって、1つまたは複数のイベントレコグナイザは、様々なタイトルのアプリケーションおよび/または様々な発行元に関連付けられるアプリケーションを含む複数のアプリケーションにわたるイベントを認識するように訓練することができる。例えば、第1のレコグナイザは、第1のゲームアプリケーションに関するゲームセッションでのイベントのインスタンスを検出するように訓練されることがあり、第2のレコグナイザ(または単に第1のレコグナイザの追加のモデル)は、第2のゲームアプリケーションに関するゲームセッションでのイベント(または同様のタイプのイベント)のインスタンスを識別するように訓練される。このようにして、異なるタイトルおよび/または発行元ごとに個別のアップデート(例えばソフトウェアパッチや新しいアプリケーションバージョン)を再開発することなく、複数のタイトルに、および複数の発行元にわたって、同様のイベントに基づく同様の拡張を適用することができる。
【0010】
さらなる利点は、クラウドのコンピューティング能力およびリソースを活用することによって、本明細書で述べる1つまたは複数の実施形態に関連して実現される。例えば、ゲームサービスと認識イベントサービスとの両方を共通のクラウドコンピューティングシステムに実装することによって、エンドユーザの観点からのゲームセッションを妨げることなく、ゲーム処理タスクおよびイベント認識タスクを提供することができる。さらに、本明細書で述べる多くのシステムおよびサービスはクラウド上に実装されるので、特定のゲームセッションに関する任意の数のイベントを検出するタスクを任意の数のレコグナイザに課すことができる。これは従来のゲームコンソールに勝る利点を提供する。従来のゲームコンソールにおいて、ローカルゲームコンソールにこれらのサービスを実装する試みは、エンドユーザにゲームコンテンツを配信する際のコンソールのパフォーマンスに干渉する可能性が非常に高い。したがって、以下でさらに詳細に論じるように、ゲーム拡張システムは、クライアントシステムへのゲームセッションのゲームコンテンツの配信に関わるゲームコンソールの視聴覚要求を損なうことなく、任意の数の拡張を提供することができる。
【0011】
前の論述で示したように、本開示は、本明細書で述べるシステム、方法、およびコンピュータ可読媒体の特徴および利点を説明するために様々な用語を利用する。ここで、これらの用語のうちのいくつかの意味について、さらに詳細に述べる。
【0012】
本明細書で使用するとき、「クラウドコンピューティングシステム」とは、コンピューティングデバイス(例えばカスタマーデバイス)に様々なサービスを提供する、接続されたコンピューティングデバイスのネットワークを表す。例えば、クラウドコンピューティングシステムは、クラスタ、コンピューティングゾーン、仮想ローカルエリアネットワーク(VLAN)、ラック、フォルトドメインなどを含む階層構造に編成された物理的サーバデバイス(例えばサーバノードやゲームコンソール)のコレクションを含むことがある。1つまたは複数の実施形態では、サーバデバイスは、データセンタ(例えば地域データセンタ)内に実装されることがあり、データセンタは、データセンタの内部ネットワークを介して接続された任意の数のサーバデバイスを含み、任意の数のクラウドコンピューティングサービスをクラウドコンピューティングシステムのクライアントに提供する。本明細書で述べる1つまたは複数の実施形態では、クラウドコンピューティングシステムは、ゲームセッション内のイベントのインスタンスを検出すること、およびゲームセッションに対する拡張をクライアントシステムに実装させることに関連して、本明細書で述べる特徴および機能を協働して行うゲームコンソールおよび他のサーバノードを含む。
【0013】
本明細書で使用するとき、「クライアントシステム」とは、それを介してデジタルコンテンツ(例えばゲームコンテンツ)がユーザに提供される1つまたは複数のデバイスを表す。例えば、クライアントシステムは、ローカルストリーミングデバイス、ディスプレイデバイス、入力コマンドを提供するための1つまたは複数のコントローラ、およびコンテンツをユーザに提供するように構成された任意の他のデバイスを含むことがある。1つまたは複数の実施形態では、クライアントシステムは、複数のデバイス(例えば、ローカルゲームコンソール、テレビジョン、およびゲームコントローラ)の組合せを表す。1つまたは複数の実装形態では、クライアントシステムは、ラップトップコンピュータやモバイルデバイスなどの単一または統合コンピューティングデバイスを表す。
【0014】
本明細書で使用するとき、「ゲームコンテンツ」とは、ユーザがゲームセッションを体験できる方法に関連する任意のコンテンツを表す。例えば、本明細書で述べる1つまたは複数の実施形態では、ゲームコンテンツは、表示画面および/またはそこに表示されたグラフィカルユーザインターフェースを有するディスプレイデバイスを介して表示されるビデオコンテンツを表す。さらに、ゲームコンテンツは、スピーカまたは他のオーディオディスプレイデバイスを介して提示されるオーディオコンテンツを表すことがある。1つまたは複数の実施形態では、ゲームコンテンツは、ゲームコントローラのバイブレーションもしくは振動や、または点灯するおよび/または色を変えることができるライト(例えばキーボードライトやコントローラライト)など、非ディスプレイデバイスを介して提供される触覚フィードバックおよび/または視覚フィードバックを表すこともある。1つまたは複数の実施形態では、ゲームコンテンツは、ディスプレイデバイスを介して提示されるゲームコンテンツに影響を与えることができるユーザ入力またはユーザコマンドを表す。実際、ゲームコンテンツは、クライアントシステムのデバイスを介して配信または他の形で提示され、ユーザが体験または他の形で消費する任意のゲームコンテンツおよび関連データを表すことがある。
【0015】
本明細書で使用するとき、「ゲームセッション」とは、1つまたは複数のデバイスで実行されているゲームアプリケーションのインスタンスを表す。例えば、ゲームセッションは、ゲームアプリケーションまたはゲームサービスの起動または参加開始、およびゲームアプリケーションまたはゲームサービスからのログオフまたは他の形での離脱に関連するいくらかの期間を表すことがある。例示として、ゲームセッションは、ユーザがビデオゲームを開始し、いくらかの期間にわたってビデオゲームをプレイし、ログオフする、アプリケーションを閉じる、または単にいくらかの期間(例えば非アクティブ期間閾値)にわたってビデオゲームから離脱するインスタンスを含むことがある。別の実装形態では、ゲームセッションは、ユーザがゲームサービスまたはプラットフォームにログオンし、ホストされているあるいはゲームサービスもしくはプラットフォームを介してアクセス可能である1つまたは複数のビデオゲームをプレイし、ログオフする、サービスを閉じる、またはいくらかの期間にわたってゲームサービスから離脱するインスタンスを含むことがある。
【0016】
本明細書で述べる1つまたは複数の実施形態では、ゲーム拡張システムは、ゲームセッションと併せて1つまたは複数の拡張をゲームシステムに実装させることができる。本明細書で使用するとき、「拡張」または「ゲーム内拡張」は、クライアントシステムを介して提供することができるゲームコンテンツへの追加のコンテンツまたは増強を表すことがある。例えば、拡張は、ゲームコンテンツからのビデオコンテンツと併せて表示されるグラフィックアイコンを表すことがある。別の例では、拡張は、ゲームデバイスおよび/またはコントローラデバイスを介して提示されるオーディオコンテンツまたは触覚フィードバックを表すことがある。1つまたは複数の実施形態では、拡張は、オーディオコンテンツの音量を下げる、または何らかのグラフィックアイコンまたはテキストをディスプレイから削除するなど、ゲームコンテンツの一部の削除を表すこともある。実際、ゲーム内拡張は、クライアントシステムを介してユーザに配信されるときのゲームコンテンツの任意の変更を表すことがある。
【0017】
本明細書で使用するとき、「レコグナイザ」または「イベントレコグナイザ」とは、オブジェクト、コンテンツ、またはクライアントシステムに提供されるゲームコンテンツ内の任意の検出可能なイベントを検出するように訓練された1つまたは複数のモデル(例えば機械学習モデル)を有するゲーム拡張システムのコンポーネントを表すことがある。例えば、レコグナイザは、様々なオブジェクト、オブジェクトの組合せ、一連の入力、またはゲームセッション内で発生するイベントのインスタンスを示す任意の数の信号の組合せを検出するように訓練されている1つまたは複数のモデルを含むことがある。限定ではなく例として、ゲームセッション中のキャラクターがジャンプする場合、レコグナイザは、キャラクターのジャンプを示す一連の動きまたはオブジェクトを検出し、ジャンプのインスタンスおよびゲームセッション内の関連情報を示す出力を生成するように訓練されることがある。他の例および使用例は、本明細書で述べる1つまたは複数の実施形態に関連して論じる。
【0018】
本明細書で使用するとき、「イベント」または「ゲーム内イベント」とは、所定のゲーム内イベントに関連付けられた一連の信号を表す。例えば、以下でさらに詳細に論じるように、ゲーム内イベントは、ゲームセッション内の特定の出来事または事象に関連する一連の信号を表すことがある。上で示したように、ゲーム内イベントは、ゲームセッション内でキャラクターがジャンプすることを表すことがある。他のゲーム内イベントは、キャラクターの死亡、新しいレベルの開始、あるレベルの終了、ゲームの一時停止、閾値期間を超えたゲームの一時停止、ゲームの一時停止解除、レースでの勝利、レースでの敗北、レースの終了、所定の時間内でのレースの終了などの事象を含むことがある。
【0019】
実際、ゲーム内イベントは、ユーザ、管理者、開発者、または他のエンティティによって定義された任意の数の事象(または複数の所定のイベント)を含むように定義されることがある。ゲーム内イベントは、1つまたは複数のレコグナイザを構成する様々なモデルの出力に基づく1つまたは複数の信号の組合せを表すことがある。イベントは、特定のゲームアプリケーションに特有のものであり得るが、本明細書で述べる1つまたは複数の実施形態では、イベントは、異なるゲームアプリケーションにわたって、同様のゲームアプリケーションの異なる世代(例えば、共通のゲームタイトルの異なるバージョンまたはエディション)にわたって、さらには全く異なるジャンルおよび発行元に関連付けられたゲームアプリケーションにわたって生じるイベントのインスタンスを含むこともある。
【0020】
次に、ゲーム内イベントを検出し、検出されたゲーム内イベントに応じてゲームセッションに対する拡張を提供するためのシステムに関するさらなる詳細を述べる。例えば、
図1は、1つまたは複数の実施形態に従ってゲーム拡張システム108が実装される例示的な環境100を示す。
図1に示されるように、環境100は、クラウドコンピューティングシステムの任意の数のサーバノードを含むことができるサーバデバイス102を含む。さらに示されるように、環境100は、1つまたは複数のサードパーティサーバデバイス104およびクライアントシステム106(例えばクライアントゲームシステム)を含むことがある。
【0021】
図1に示されるように、サーバデバイス102は、そこに実装されたゲーム拡張システム108を含むことがあり、ゲーム拡張システム108は、ゲームサービス110、イベントレコグナイザシステム112、およびイベント分析システム114を含むことがある。これらのコンポーネント110~114ならびに関連する特徴および機能はそれぞれ、クラウドコンピューティングシステムの複数のサーバデバイスにわたって実装されることがある。代替として、ゲーム拡張システム108のそれぞれのコンポーネント110~114に関連して論じる特徴および機能は、同じサーバデバイス上で実行されてもよい。さらに
図1に示されるように、イベントレコグナイザシステム112は、レコグナイザ訓練システム116(または単に「訓練システム」)、イベントレコグナイザ118、および検出モデル120を含むことがある。これらの各コンポーネントについては、以下でさらに詳細に論じる。
【0022】
上述したように、環境100は、1つまたは複数の発行元システム122が実装された1つまたは複数のサードパーティサーバデバイス104を含むことがある。発行元システム122は、1つまたは複数のゲームアプリケーションに関連する様々な発行元によってホストされるプロバイダまたは発行元固有のサービスを含むことがある。1つまたは複数の実施形態では、発行元システム122は、ゲームアプリケーションのオリジナルコピー、およびクライアントシステム106のユーザに関連付けられたユーザ情報を維持することがある。
図1は、発行元システム122が1つまたは複数のサードパーティサーバデバイス104でホストされる例示的実装形態を示すが、発行元システム122の1つまたは複数の特徴が、ゲーム拡張システム108のゲームサービス110または他のコンポーネント112~114上に、および図示されるサーバデバイス102と同じクラウドコンピューティングシステムに実装されてもよいことを理解されたい。例えば、ゲームサービス110を提供する同じエンティティが、特定のゲームコンテンツも提供する場合、またはサードパーティ発行元が、ゲームサービス110によってホストされるゲームアプリケーションへの完全なアクセスを提供する場合、発行元システム122の特徴は、ゲーム拡張システム108に実装することができる。
【0023】
図1に示されるように、クライアントシステム106は、1つまたは複数のディスプレイデバイス124および1つまたは複数の入力デバイス126を含むことがある。例えば、上述したように、クライアントシステム106は、ゲームセッションのゲームコンテンツをクライアントシステム106のユーザに提供するための様々なハードウェアに結合されたローカルコンピューティングデバイス(例えばゲームコンソール)を含むことがある。1つまたは複数の実施形態では、これは、別個のディスプレイデバイス124および入力デバイス126(例えば、デスクトップコンピュータおよびキーボード/マウス、ローカルコンソールに結合されたテレビジョンおよびゲームコントローラ)を含むことがある。1つまたは複数の実施形態では、ディスプレイデバイス124および入力デバイス126は、単一あるいは統合コンピューティングシステム(例えばラップトップコンピュータやモバイルデバイス)の一部である。
【0024】
実際、クライアントシステム106は、ディスプレイデバイス124および/または入力デバイス126に結合された、あるいはディスプレイデバイス124および/または入力デバイス126を含む様々なタイプのコンピューティングデバイスを表すことがあることを理解されたい。例えば、クライアントシステム106は、携帯電話、スマートフォン、携帯情報端末(PDA)、タブレット、またはラップトップなどのモバイルデバイスを含むことがある。追加または代替として、クライアントシステム106は、デスクトップコンピュータ、サーバデバイス、または他の非ポータブルデバイスなど、1つまたは複数の非モバイルデバイスを含むこともある。1つまたは複数の実装形態では、クライアントシステム106は、専用ゲームデバイス(例えばハンドヘルドゲームデバイス)、またはディスプレイデバイスと通信するビデオゲームコンソールを表す。1つまたは複数の実装形態では、クライアントシステム106は、そこに統合されたグラフィカルユーザインターフェース(例えばモバイルデバイスの画面)を含むことがある。さらに、または代替として、クライアントシステム106は、視覚的なゲームコンテンツの表示を提供するためのグラフィカルユーザインターフェースを有するディスプレイデバイスに通信可能に(例えば有線または無線で)結合されることもある。また、サーバデバイス102およびサードパーティサーバデバイス104が様々なコンピューティングデバイスを表すことがあることも理解されたい。環境100のデバイスおよびシステム102~106はそれぞれ、
図7に関連して以下で述べる特徴および機能を含むことがある。
【0025】
図1に示されるように、サーバデバイス102、サードパーティサーバデバイス104、およびクライアントシステム106は、ネットワーク128を介して直接または間接的に互いに通信することができる。ネットワーク128は、1つまたは複数のネットワークを含むことがあり、データを伝送するのに適した1つまたは複数の通信プラットフォームまたは技術を使用することがある。ネットワーク128は、環境100のデバイスおよび/またはモジュール間での電子データの移送を可能にする任意のデータリンクを表すことがある。ネットワーク128は、有線ネットワーク、無線ネットワーク、または有線ネットワークと無線ネットワークとの組合せを表すことがある。1つまたは複数の実施形態では、ネットワーク128はインターネットを含む。
【0026】
以下でさらに詳細に論じるように、ゲームサービス110は、ゲームコンテンツのホスティングおよびクライアントシステム106への配信に関連する1つまたは複数のサービスを提供することがある。例えば、1つまたは複数の実施形態では、ゲームサービス110は、クラウドコンピューティングシステム上の1つまたは複数の物理的ゲームコンソールがゲームセッションをホストし、ゲームコンテンツをクライアントシステム106に配信することができる、クラウドベースのゲームサービスを表す。この例では、ゲームコンソールは、ゲームセッションを実行またはホストし、クライアントシステム106から(例えば入力デバイス126から)受信された入力を処理することがある。1つまたは複数の実施形態では、ゲームサービス110は、ネットワーク128を介してゲームコンテンツをクライアントシステム106にストリーミングまたは他の形で配信することができる。
【0027】
クライアントシステム106へのゲームコンテンツの配信に加えて、ゲームサービス110は、ゲームコンテンツのコピーまたはフィードをイベントレコグナイザシステム112に提供することがある。ゲームサービス110は、ゲームコンテンツに関連して受信された入力コマンドの指示を提供することもある。以下でさらに詳細に論じるように、イベントレコグナイザシステム112は、1つまたは複数のイベントレコグナイザ118をゲームコンテンツに適用して、ゲームセッション内で発生する1つまたは複数のイベントのインスタンスを識別することができる。
図1に示されるように、イベントレコグナイザ118は、ゲームセッション内で発生する1つまたは複数のイベントを示す様々な信号を検出するように(例えばレコグナイザ訓練システム116によって)訓練された任意の数の検出モデル120を利用することがある。
【0028】
イベントの1つまたは複数のインスタンスを識別すると、イベントレコグナイザシステム112は、イベント情報をイベント分析システム114に提供することができる。イベント分析システム114は、イベントを1つまたは複数のゲーム内拡張と関連付けることができる。この関連付けに基づいて、イベント分析システム114は、クライアントシステム106に提供されているゲームコンテンツを拡張することを決定することができる。以下でさらに詳細に論じるように、イベント分析システム114は、様々な方法でゲームセッションを拡張することができる。例えば、1つまたは複数の実施形態では、イベント分析システム114は、拡張されたコンテンツをゲームサービス110がネットワーク128を介してクライアントシステム106に提供できるようにする拡張命令またはコマンドをゲームサービス110に提供することができる。1つまたは複数の実施形態では、イベント分析システム114は、クライアントシステム106の1つまたは複数のコンポーネントに拡張命令を提供して、クライアントシステム106が拡張命令をローカルで実行し、1つまたは複数のローカル拡張を提示できるようにする。
【0029】
図2は、1つまたは複数の実施形態による、様々なイベントを検出するようにイベントレコグナイザを訓練することができるゲーム拡張システム108の例示的実装形態を示す。
図2は、例示的なワークフロー200を示し、レコグナイザ訓練システム116の例示的実装形態は、所与のゲームセッションに関連付けられたゲームコンテンツに基づいて様々なイベントを検出するように1つまたは複数のレコグナイザを訓練することができる。
【0030】
以下で論じるように、レコグナイザ訓練システム116は、様々な訓練データに基づいて訓練されることがある。特に、
図2に示されるワークフロー200では、レコグナイザ訓練システム116は、1つまたは複数のゲームセッション用のビデオコンテンツのデジタル画像を含むビデオフレーム202のコレクションを受信することがある。1つまたは複数の実施形態において、ビデオフレーム202は、様々なイベントが発生している1つまたは複数のゲームセッションに関連する、以前に記録されて保存されているビデオコンテンツを表す。
【0031】
1つまたは複数の実施形態では、レコグナイザ訓練システム116は、ビデオフレーム202に関連付けられた追加のゲームコンテンツおよび訓練データを受信する。例えば、1つまたは複数の実施形態では、レコグナイザ訓練システム116は、ビデオフレーム202に関連する、またはビデオフレーム202と併せて他の形で提示されたオーディオコンテンツを受信する。1つまたは複数の実装形態では、レコグナイザ訓練システム116は、対応するビデオフレーム202および関連するオーディオデータと併せて受信された任意の入力コマンドの指示を含む入力データをさらに受信する。例えば、ビデオフレームは、対応するタイムスタンプに関連付けられることがあり、タイムスタンプを使用して、ビデオフレーム202を、対応するオーディオコンテンツ、入力コマンド、および対応するゲームセッションに関連付けられた任意の他のゲームコンテンツに関連付けることができる。
【0032】
ビデオフレーム202および任意の追加のゲームコンテンツに加えて、レコグナイザ訓練システム116は、対応するビデオフレーム202に関連付けられた訓練入力204をさらに受信することがある。特に、レコグナイザ訓練システム116は、対応するゲームコンテンツ内で発生したと判断された1つまたは複数のイベントに関連するグランドトゥルースを示す訓練入力204を受信することがある。1つまたは複数の実施形態では、訓練入力204は、人間による入力、またはビデオフレーム202内で発生した特定のイベントまたはイベントのタイプに対応するグランドトゥルースまたは真実データの高精度の予測を提供する他の教師付き訓練入力を表すことがある。
【0033】
例として、レコグナイザ訓練システム116が、ゲームの一時停止に関連する一時停止イベントを認識するためにイベントレコグナイザを訓練または他の形で生成するために使用されている場合、レコグナイザ訓練システム116は、所与のビデオフレームに関してゲームが一時停止されているかどうかを示す訓練入力204を受信することがある。1つまたは複数の実施形態では、これは、ビデオフレーム202および他のゲームコンテンツに関するユーザの観察に基づいてユーザによって提供されたタグに基づくことがある。簡単な例として、ビデオフレームが、ゲームセッションが一時停止されていることを示す一時停止メニューまたは他の目に見えるアイコンの表示を含む場合、対応する訓練入力204は、所与のビデオフレームに関してゲームが一時停止されていることを示す。逆に、ビデオフレームが一時停止メニューまたは他の一時停止を示すアイコンの表示を含まない場合、対応する訓練入力204は、ゲームが一時停止されていないことを示す。
【0034】
レコグナイザ訓練システム116は、これらの入力ビデオフレーム202および関連する訓練入力204を利用してイベント検出モデルを訓練し、訓練入力を模倣し、訓練入力204と、タグ付けされたビデオフレーム202の様々な特徴または特性との相関に基づいてゲームセッションが一時停止されるかどうかを予測することができる。このようにして、1つまたは複数の一時停止検出モデルは、一時停止アイコンの表示、または観察された信号(例えば、音楽の一時停止、動きの欠如、受信された一時停止入力)の任意の組合せに基づいて、ゲームが一時停止されている時を認識するように訓練することができ、これにより、ゲームセッションが一時停止される時をモデルおよび関連するイベントレコグナイザが正確に予測できるようになる。
【0035】
検出モデル(例えば検出モデル212a~b)は、様々な信号を予測し、信号に対応するイベントのインスタンスがゲームセッション内で発生したかどうかを最終的に決定するために使用することができる様々なモデルおよびアルゴリズムを表すことがある。1つまたは複数の実施形態では、検出モデルは、機械学習モデルまたは他の深層学習モデルを表すことがある。本明細書で使用するとき、「機械学習モデル」とは、未知の関数を近似するために訓練入力に基づいて調整(例えば訓練)することができる1つまたは複数のコンピュータアルゴリズムまたはモデル(例えば分類モデルや回帰モデル)を表すことがある。例えば、機械学習モデルは、複雑な関数を学習して近似し、機械学習モデルに提供される1つまたは複数の入力に基づいて出力を生成するニューラルネットワーク(例えば畳み込みニューラルネットワークやリカレントニューラルネットワーク)または他のアーキテクチャを表すことがある。本明細書での様々な例に関連して論じるように、様々な機械学習モデルは、(例えば特定のビデオフレームまたは一連のビデオフレーム内の)ゲームコンテンツの対応する部分に関してイベントが発生したかどうかを判断するために、レコグナイザによって組み合わされる、あるいは考慮される様々な出力信号を生成することがある。
【0036】
様々なモデルおよびレコグナイザを訓練する際、1つまたは複数の実装形態では、レコグナイザ訓練システム116は、様々なイベントが発生する可能性が高いゲームコンテンツ内の位置に関連付けられた関心領域情報206を受信することがある。
図2に示されるように、レコグナイザ訓練システム116は、イベントのインスタンスが対応するビデオフレーム内で発生するかどうかを決定する際に考慮されるべきビデオフレーム202の領域を示すセグメンテーションマスクを含む関心領域情報206を受信することができる。このようにして、レコグナイザ訓練システム116は、様々な信号およびイベントを検出するようにモデルを訓練する際にビデオフレームの他の部分を軽視する、または単に考慮しないことができる。ビデオフレーム202の関心領域への訓練のこの制限により、レコグナイザ訓練システム116は、より少ない時間で、より少ない訓練データを使用して、様々な機械学習モデルをより効率的に訓練することができる。
【0037】
様々なイベント検出モデルおよびレコグナイザをより効率的に訓練することに加えて、関心領域情報206を提供することで、異なるゲームアプリケーション間の同様のタイプのイベントの検出に関連するモデルを訓練するための有用な情報を提供することができる。一例として、アバターのライフバーが何らかの閾値レベルまたはパーセンテージを下回る事象をイベントが表す場合、関心領域は、第1のゲームアプリケーションに関してライフバーが現れるビデオフレームの第1の部分を示すことがある。同様に、関心領域は、第2のゲームアプリケーションに関してライフバーが現れるビデオフレームの第2の部分(例えばビデオフレーム内の異なる領域)を示すことがある。これは、同様のイベントを検出するためにそれぞれのゲームアプリケーションに対して2つの異なるモデルを訓練することを含むことがあるが、それにもかかわらず、対応するイベント検出モデルの訓練でビデオフレームの部分全体が考慮される場合よりも、比較的少ないビデオフレームおよび関連する訓練入力を使用してモデルを訓練することができる。
【0038】
様々なモデルを訓練した後、レコグナイザ訓練システム116は、イベントレコグナイザおよび関連する検出モデルをレコグナイザデータベース208に提供することがある。
図2に示されるように、レコグナイザデータベース208は、複数のイベントレコグナイザおよび関連する検出モデル(例えば1つまたは複数のモデル)を含むことがある。例えば、レコグナイザデータベース208は、関連する検出モデル212aを有する第1のイベントレコグナイザ210aを含むことがある。さらに示されるように、レコグナイザデータベース208は、第2のイベントレコグナイザ210bおよび関連する検出モデル212bのセットを含むことがある。
【0039】
図2に示されるように、様々なイベントレコグナイザは、レコグナイザが検出するように訓練された固有のイベントの多くの考慮事項および詳細に基づいて、1つまたは複数のモデルを含むことがある。例えば、1つまたは複数の実施形態では、黒い画面の出現などの単純なイベントの認識は、ある閾値数の黒いビデオフレームの発生を検出するように訓練された単一のモデルを含むことがある。代替として、「かろうじてレベルをクリア」というタイトルのイベントなど、より複雑なイベントの認識は、あるレベルがクリアされたことを検出するように訓練された第2の1つまたは複数のモデルに加えて、ライフバーが閾値レベルを下回っていることを検出するように訓練された第1のモデルを含むことがある。1つまたは複数の実施形態では、特定のイベントレコグナイザが対応するゲーム内イベント(例えば、あるレベルをクリアしたが、アバターのライフが閾値未満である)を検出するために、これらのモデルの機能を組み合わせることができる。
【0040】
1つまたは複数のモデルを有するイベントレコグナイザに加えて、1つまたは複数の実施形態では、1つまたは複数のモデルが異なるレコグナイザによって利用されることがある。例えば、1つまたは複数の実施形態では、イベントレコグナイザを訓練するタスクを課された場合、レコグナイザ訓練システム116は、多くの異なるイベントに関係する以前に訓練されたモデルまたは一般的に使用されるモデルを識別し、そのモデルの機能をイベントレコグナイザ内に組み込むことがある。このようにして、時間の経過と共にレコグナイザデータベース208がよりロバストになるとき、レコグナイザ訓練システム116は、以前に訓練されたモデルの機能を活用して、または既存のモデルを単に微調整して、1つまたは複数のイベントレコグナイザの所定の機能に適合することができる。
【0041】
図3は、ゲーム拡張システム108の例示的実装形態を示しており、様々なゲーム内イベントを検出するために、以前に訓練されたイベントレコグナイザが使用される。例えば、
図3は、クラウドコンピューティングシステム上のゲームサービス110、イベントレコグナイザシステム112、およびイベント分析システム114の間のデータおよびゲームコンテンツの流れを示す例示的なワークフロー300を示す。特に、上述したように、また以下でさらに詳細に論じるように、ゲーム拡張システム108のコンポーネント110~114は、ゲームセッション内で発生する様々なゲーム内イベントのインスタンスを協働して識別し、関連するゲームアプリケーションの再展開または再開発を必要とせずに、1つまたは複数の拡張を提供することができる。
【0042】
図3に示されるように、ゲームサービス110は、第1のゲームコンテンツ302a(例えば、オリジナルのゲームコンテンツ)をクライアントシステム106に提供することができる。1つまたは複数の実施形態では、第1のゲームコンテンツ302aは、クライアントシステム106にストリーミングまたは他の形で配信されるゲームコンテンツの元のフィードを表す。1つまたは複数の実施形態では、ゲームサービス110は、ゲームコンテンツ(例えばマルチメディアコンテンツ)を生成および処理し、クライアントシステム106のディスプレイデバイスに表示される第1のゲームコンテンツ302aを配信するクラウドベースのゲームコンソールを含む。
【0043】
図3に示されるように、クライアントシステム106は、第1のゲームコンテンツ302aに関連付けられた入力コマンド304を提供することがある。特に、クライアントシステム106が、ユーザ入力を検出することができる1つまたは複数のコントローラデバイス(例えば、キーボード、マウス、ゲームコントローラ、タッチスクリーンインターフェース)を含む場合、クライアントシステム106は、クライアントシステム106の入力デバイスで受信されるときに様々な入力を含む入力コマンド304を提供することがある。1つまたは複数の実施形態では、ゲームサービス110は、入力コマンドを処理し、ゲームセッション内にコマンドを実装し、入力コマンドに基づいて第1のゲームコンテンツ302aを提供し続ける。この処理がゲームサービス110上で行われている間、ユーザの観点から見ると、入力コマンドの配信および処理は、ローカルゲームコンソールがゲームコンテンツをホストおよび提供してローカル入力コマンドを処理する従来のシステムと非常に似ていることがある。
【0044】
第1のゲームコンテンツ302aをクライアントシステム106に配信するのと同時に、またはその後のある時点で、第2のゲームコンテンツ302b(例えばオリジナルのゲームコンテンツのコピー)をイベントレコグナイザシステム112のイベントレコグナイザに提供することができる。
図3に示される例では、ゲームコンテンツ302bのコピーは、ゲーム内イベントを検出するようにそれぞれ訓練されている複数のイベントレコグナイザ306a~cのそれぞれに提供される。例えば、第1のイベントレコグナイザ306aは、第1のタイプのイベントのインスタンスを検出するように訓練された1つまたは複数の機械学習モデルを含むことがあり、第2のイベントレコグナイザ306bは、第2のタイプのイベントのインスタンスを検出するように訓練された1つまたは複数の機械学習モデルを含むことがあり、第3のイベントレコグナイザ306cは、第3のタイプのイベントのインスタンスを検出するように訓練された1つまたは複数の機械学習モデルを含むことがある。
【0045】
図3は、異なるタイプのイベントを検出するように個別に訓練された3つのイベントレコグナイザ306a~cを含む例を示すが、他の実装形態は、任意の数のイベントを検出するように訓練されたより少ないまたは追加のイベントレコグナイザを含むこともある。例えば、1つまたは複数の実施形態では、ゲームコンテンツ302bのコピーが複数のイベントレコグナイザのそれぞれに同時に提供され、並列処理されることがある。
【0046】
上述したように、ゲームコンテンツ302bのコピーは、オリジナルのゲームコンテンツ302aがクライアントシステム106に配信されるのと同時に、イベントレコグナイザ306a~cに提供されることがある。代替として、1つまたは複数の実施形態では、ゲームコンテンツ302bのコピーは、テレメトリ追跡、および場合によってはイベントレコグナイザ306a~cの追加の訓練の目的で、事後にイベントレコグナイザに提供される。
【0047】
さらに、1つまたは複数の実施形態では、オリジナルのゲームコンテンツがクライアントシステム106に配信されるときに、1つまたは複数のイベントレコグナイザを使用してイベントをリアルタイムで検出することができ、それと同時に、1つまたは複数の追加のイベントレコグナイザを使用して、他の拡張関連の目的で、事後にイベントを検出することができる。例えば、1つまたは複数の実施形態では、イベントレコグナイザは、長期間にわたって観察されたイベントの履歴に基づいてイベントを検出することがある。
【0048】
したがって、イベントインスタンスの現在の数を追跡および維持することは、特定のイベントタイプにとってそれほど重要ではないことがあり、イベントレコグナイザは、クラウドコンピューティングシステムに対するピーク需要期間にコンピューティングリソースを使用するのではなく、クラウドコンピューティングシステムに対するピークでないコンピューティング需要期間中に、より効率的に利用されることがある。この例および他の例では、イベントレコグナイザシステム112は、バッチ処理ジョブの一部として1つまたは複数のイベントレコグナイザを実行することがある。
【0049】
リアルタイム認識がそれほど必要ないことがある別の例は、ゲームセッションのリプレイを見る場合である。実際、ゲームセッションのリプレイを見ることの人気が高まっているので、事後(すなわち、オリジナルのゲームコンテンツがリアルタイムでクライアントシステム106に配信された時点の後)に、1つまたは複数のイベントレコグナイザをビデオおよび他のゲームコンテンツに適用することができ、ゲームセッションのリプレイを拡張する目的で様々なゲーム内イベントを識別することができる。これは、特定のゲーム内イベントまたは本明細書で述べる実施形態による任意の他のイベントを示すアイコンを含むことがある。
【0050】
遅延されたまたはリアルタイムでのゲームコンテンツ302bのコピーの分析に関連するいずれの実装形態においても、レコグナイザ訓練システム116は、イベントレコグナイザ306a~306cから、ゲームコンテンツの対応する部分(例えば、ビデオフレームまたは複数のビデオフレームの範囲)に関してイベントの1つまたは複数のインスタンスが検出されたかどうかを示す出力信号308を生成することがある。
図3に示されるように、出力信号308は、さらなる処理のためにイベント分析システム114に提供されることがある。
【0051】
特に、上述したように、1つまたは複数の実施形態では、イベント分析システム114は、ゲームコンテンツの対応する部分またはタイムスタンプでイベントの示されたインスタンスを受信し、イベントに適用する関連する拡張を決定することができる。1つまたは複数の実施形態では、イベント分析システム114はマッピングデータを維持し、マッピングデータにより、イベント分析システム114は、イベントの発生を示す任意の数の出力信号308を、クライアントシステム106に実装される対応する拡張と相関付けることが可能になる。
【0052】
イベントのインスタンスを示す出力信号308を一般に提供することに加えて、イベント分析システム114は、オリジナルのゲームコンテンツ302aを受信している(または受信した)特定のクライアントシステム106に関連付けられた個人またはハードウェアに関連する情報を受信することがある。1つまたは複数の実施形態では、出力信号308は、対応するイベントの表示と、ゲーム内拡張が適用される特定のゲームセッションおよび/または関連のクライアントシステム106を識別するために使用されることがあるゲーマータグまたはユーザ識別子とを含むJavaScript Object Notation(JSON)オブジェクトを含む。様々なファイル形式を有する他のタイプのデータオブジェクトも同様に、検出されたイベントおよび対応するゲームセッションに関連する情報を伝達するために使用することができる。
【0053】
検出されたイベントインスタンスを対応する拡張に関連付けると、イベント分析システム114は、ゲームサービス110および/またはクライアントシステム106のうちの1つまたは複数によって実行可能な特定のデータを含む拡張命令またはコマンドを識別することがある。特に、イベント分析システム114は、クライアントシステム106でのゲームセッションの提示と併せて特定の拡張を実装できるようにする拡張命令を識別することがある。これは、特定のグラフィックスと、オリジナルのゲームコンテンツ302aの提示と併せてグラフィックスを表示するための関連コマンドとを含むことがある。これは、クライアントシステム106のユーザが消費することができる触覚、オーディオ、または他のゲームコンテンツを提示するための命令を含むこともある。ゲームセッションに対する特定のタイプの拡張の1つまたは複数の例を、
図4A~5に関連して以下に論じる。
【0054】
上述したように、イベント分析システム114は、ゲームセッションへの拡張を、様々な方法でクライアントシステム106に実装することができる。第1の例では、イベント分析システム114は、ゲームコンテンツ302aの提示内に組み込むために拡張命令310aをゲームサービス110に提供することがある。この例では、ゲームサービス110でのゲームコンソールは、拡張命令310aを受信し、拡張されたゲームコンテンツ312をクライアントシステム106に配信または他の形で提供して、クライアントシステム106の1つまたは複数のデバイスを介して提示させることができる。1つまたは複数の実施形態では、拡張されたゲームコンテンツ312は、オリジナルのゲームコンテンツ302aのビデオフレームと併せて提示される1つまたは複数の表示可能なアイコンを含む。1つまたは複数の実施形態では、拡張されたゲームコンテンツ312は、クライアントシステム106に配信されたオリジナルのゲームコンテンツ302aからの追加のサウンドまたはサウンドの変更を含む。1つまたは複数の実施形態では、拡張されたゲームコンテンツ312は、バイブレーションまたは振動するためのコントローラデバイスによる実行可能命令を含み、オリジナルのゲームコンテンツ302は同様のコマンドを含まないことがある。
【0055】
第2の例として、さらなる処理のためにゲームサービス110に拡張命令310aを提供することに加えて、またはその代替として、1つまたは複数の実施形態では、イベント分析システム114は、拡張命令310bをクライアントシステム106に直接提供する。これらの拡張命令は、必ずしも同じである必要はなく、ゲームサービス110によって提供されるビデオコンテンツを拡張するための拡張命令に必ずしも関連していなくてもよいが、拡張命令310bは、様々な命令を受信して実行することができるキーボードやゲームコントローラなどの入力デバイスに対する触覚フィードバック、オーディオフィードバック、および/または視覚フィードバックの提供に関連する命令を含むことがある。
【0056】
ゲーム拡張システム108およびクライアントシステム106のコンポーネント110~114のそれぞれが互いに遠隔に位置されることがある場合、クライアントシステム106に配信されているゲームコンテンツ302aと併せて拡張を配信および提示する際に待ち時間が1つまたは複数の問題を生じ得る短い期間があり得る。一部のイベントおよび関連する拡張は、いくらかの待ち時間による影響が少ないことがあるが、遅延が長すぎる場合にゲーム体験が中断されることがある他のイベントおよび関連する拡張もある。例えば、拡張が画面の一部に表示されるミニマップを表す場合、待ち時間はそれほど問題ではないことがあり、拡張は、クライアントシステム106によって検出される待ち時間の量とは無関係に提示されることがある。
【0057】
代替として、拡張が、検出されたイベントに基づくリアルタイムでのコントローラのバイブレーション、またはゲーム内の課題を適時に克服するためにユーザが特定の入力コマンドを提供するのを支援する情報の表示を表す場合(または多様なイベントおよび関連する拡張)、これらの拡張の提示により、ゲームセッションが中断される、または観察される遅延によりエンドユーザに混乱を引き起こすことがある。1つまたは複数の実施形態では、ゲーム拡張システム108は、ゲームコンテンツ302bのコピーと共にタイミング情報(例えばタイムスタンプ)を渡し、(例えばJSONオブジェクト内で)出力信号308と共にタイミング情報をイベント分析システム114に渡し続けることによって、拡張の遅延のインスタンスを防止することがある。イベント分析システム114は、ゲームサービス110およびクライアントシステム106に拡張命令310a~bを提供するときに、このタイミング情報をさらに含むことがある。
【0058】
このタイミング情報は、拡張を破棄するか、またはゲームセッションの提示内に拡張を実装するかを決定するために使用することができる。例えば、拡張命令310aがゲームサービス110に提供されている場合、ゲームサービス110は、拡張されたゲームコンテンツ312の提供が閾値期間(例えば200ミリ秒)を超えて遅延されるかどうかを判断し、関連する拡張なしでオリジナルのゲームコンテンツ302aを単に提供し続けることができる。1つまたは複数の実施形態では、各イベントは、拡張されたゲームコンテンツ312をクライアントシステム106に提供するかどうかを決定する際に許容できる閾値遅延時間に関連付けられることがある。
【0059】
拡張命令310bがクライアントシステム106に直接提供される例では、クライアントシステム106は、タイミング情報を受信し、ゲームサービス110から提供されているゲームコンテンツ302aに拡張を提供するかどうかをローカルで決定することがある。1つまたは複数の実施形態では、拡張命令310bは、同様に、ライブゲームコンテンツ302aに関連付けられたタイムスタンプと、ゲーム体験を遮る(例えば、ゲームコントローラの過度に遅延された振動)ことなく拡張を遅延させることができる指示された閾値期間との両方を含むことがある。この例では、ゲームサービス110は、タイムスタンプから閾値期間が経過しているかどうかをローカルで判断することができる。閾値期間が経過している場合、クライアントシステム106は、拡張を実装しないことを決定することができる。閾値期間が経過していない場合、拡張は、オリジナルのゲームコンテンツ302aの提示と併せて(例えば、拡張命令310bによって定義される許容可能な遅延内で)提示されることがある。
【0060】
次に、クライアントデバイスに提供されるゲームコンテンツと組み合わせて様々な拡張が提供される例示的実装形態に関連して、さらなる詳細を論じる。例えば、
図4Aは、オリジナルのゲームコンテンツ402aをクライアントシステムに提供するゲームサービス110を示す例示的な環境を示す。
図4Aに示されるように、クライアントシステムは、クライアントデバイス404上のグラフィカルユーザインターフェース406を介して、受信されたゲームコンテンツ402aからのビデオコンテンツを表示するクライアントデバイス404を含むことがある。さらに示されるように、クライアントシステムは、オリジナルのゲームコンテンツ402aを生成および配信している1つまたは複数のリモートゲームコンソールで実行するために、入力コマンド403をゲームサービス110に提供することがある。
【0061】
さらに
図4Aに示されるように、ゲームサービス110は、ゲームコンテンツ402bのコピーを、クライアントシステムに配信されるゲームコンテンツ内の様々なイベントを検出するように訓練された任意の数のイベントレコグナイザに提供することがある。この例では、関連のゲームコンテンツは、様々な情報を示すビデオコンテンツを含むレーシングアプリケーションに関係することがある。例えば、
図4Aに示されるように、ダッシュボードアイコンは、1つまたは複数のイベントレコグナイザから検出されることがある様々な情報を示すグラフィカルユーザインターフェース406の左下部分に現れることがある。例えば、イベントレコグナイザは、表示されたゲージに関連付けられた毎分回転数(RPM)メトリックを決定することがある。別のイベントレコグナイザは、レーシングアプリケーション内の車の現在の速度を追跡または他の形で決定することがある。別のイベントレコグナイザは、レーシングアプリケーションにおける車の現在の順位を示す、グラフィカルユーザインターフェース406を介して表示されるテキストの出現に基づいて、レーサーの表示される順位を追跡することがある。
【0062】
上述した1つまたは複数の実施形態によれば、任意の数のイベントレコグナイザが、1つまたは複数のイベント検出モデル(例えば機械学習モデル)を利用して、多様なイベントを検出または他の形で識別することができ、イベントは、多くの場合、複数の観察された信号の組合せに基づくことがある。例示的な例として、イベントレコグナイザは、ユーザ(および他のユーザ)が行った追跡された動きおよび方向転換の経時的な履歴に基づいて、仮想環境のマップ上でのユーザの現在の位置を決定するように訓練されることがある。これは、(例えばレーシングアプリケーション用のゲームセッションの仮想環境内での)車の動きを追跡するように訓練された任意の数の機械学習モデルに基づくことがある。同じまたは他のレコグナイザを履歴データに適用して、所与のレーシング環境を表すマップを生成することができる。この情報は、レーシング環境での車の現在の位置を決定するためにイベントレコグナイザによって使用されることがある。
【0063】
別の例として、仮想環境内の車が所定の閾値を超える速度で移動しているかどうかを判断するようにレコグナイザを訓練することができる。この例では、イベントレコグナイザは、画面の左下のダッシュボードアイコン内に表示される検出されたテキストに基づいて、車が100マイル/時(MPH)の閾値を超える速度であることを判断することができる。上述した1つまたは複数の実施形態によれば、レコグナイザは、セグメンテーションマスク、またはダッシュボードアイコンの既知の場所に関連付けられた関心領域の他のインジケータに基づいて、画面の左下部分の選択的な評価に基づいて、速度ベースのイベントについての決定を行うことがある。
【0064】
上述したように、レコグナイザは、対応する拡張に関連付けられた複数の関連イベントを検出するように訓練されることがある。例えば、
図4Aに示される例では、レコグナイザは、車がカーブに近づいている間に閾値速度を超えて移動していると判断するように訓練されることがある。レコグナイザの第1の1つまたは複数のモデルは、車が閾値速度を超えて移動していることを検出することがあり、レコグナイザの第2の1つまたは複数のモデルは、車がカーブに近づいていることを検出することがある(例えば、レーシング環境内での車の既知の位置に基づいて、またはディスプレイに示される検出されたカーブに基づいて)。
【0065】
図4Bは、上述した1つまたは複数の例に従って、ゲームセッションを介して提示される1つまたは複数の拡張を示す。例えば、
図4Bに示されるように、ゲームサービス110は、クライアントデバイス404に提供されているゲームコンテンツ402aに対して行われるべき、検出されたイベントに関連する1つまたは複数の拡張または増強を示す拡張命令408をイベント分析システム114から受信することがある。拡張命令408を受信すると、ゲームサービス110は、クライアントデバイス404にストリーミングされているゲームコンテンツ402aと組み合わせて提示される1つまたは複数の拡張410を提供することができる。
【0066】
図4Bに示されるように、拡張された提示は、ミニマップがグラフィカルユーザインターフェース406の右下隅に表示される第1の拡張412aを含む。ミニマップは、リアルタイムで観察された信号と、以前に収集および分析された信号との組合せを含む、任意の数の信号または信号の組合せに基づいて生成されることがあるが、ミニマップは、レーストラックを表すマップと、レーストラックに対する仮想環境内の車の現在の位置を示すアイコンとを含むことがある。
【0067】
別の例として、拡張された提示は、グラフィカルユーザインターフェース406の一部にわたって「減速!」という警告が表示される第2の拡張412bを含むことがある。本明細書で述べる1つまたは複数の実施形態によれば、この拡張は、閾値速度よりも速く走行し、ゲーム内で次のカーブに近づいている車のインスタンスを検出するように訓練されているレコグナイザに基づいて生成されることがある。さらに、本明細書で述べる他の実装形態と同様に、拡張命令は、特定のイベントを検出するように訓練されたレコグナイザに対応する検出された信号および/またはイベントの特定の組合せに関連付けられることがある。
【0068】
図4A~4Bは、多くの使用例に適用可能であり得る特徴および機能を示す。一例として、レーシングアプリケーションは、古い世代のゲームシステムのために以前にリリースされたゲームアプリケーションを表すことがある。1つまたは複数の実施形態では、特定のレコグナイザおよび対応する拡張は、同様のゲームタイトルの現在のバージョンまたはより新しいバージョンに追加されているより新しい機能に基づいて訓練または他の形で識別されることがある。例えば、ゲームのより新しいエディションがミニマップを有する場合、より古いタイトルのユーザは、より古いタイトルの特定の機能を楽しみながら、同様のミニマップを含めることを望むことがある。しかし、ソフトウェアパッチを開発すること、またはより古いタイトルに機能を追加することは(または単にゲームアプリケーション全体を再開発するだけでも)、かなりの開発コストをかけなければ困難であり得る、または不可能でさえあり得るので、本明細書で述べるイベント検出および拡張の特徴は、より古いゲームタイトルに様々な機能を追加するための低コストで非侵襲的なソリューションを提供することができる。さらに、
図4A~4Bは、レーシングアプリケーションに拡張が追加されることがある例を示し、以前にリリースされたゲームアプリケーションのより古いタイトルの拡張に関連する同様の特徴および機能を、実質的に任意のジャンルのゲームアプリケーションに適用することができる。
【0069】
別の例として、上述した1つまたは複数の実施形態によれば、本明細書での実施形態に関連して述べる特徴および機能は、複数の発行元にわたって、さらには複数のジャンルのゲームにわたって適用することができる。一例として、イベントが「レースでの勝利」である場合、レースでの勝利に関連する1つまたは複数のレコグナイザを、ゲームアプリケーション内で発生する多様なレースに適用することができる。例えば、レースでの勝利は、
図4Aに関連して述べた例など、カーレースゲームに適用することができる。しかし、他のゲームは、様々なサイドクエストを備えたロールプレイングゲーム(RPG)や、限られた期間内にタスクを実行するために複数のプレーヤーが競う一人称ゲームなど、レーシングゲームのバリエーションを有する。
【0070】
別の例として、1つまたは複数の実施形態は、将来のゲームセッションにおける、またはゲームサービス110の他のユーザのゲームセッションに関連する拡張の提供に関係することがあるイベントの検出を含むこともある。例えば、1つまたは複数の実施形態では、ゲーム拡張システム108は、あるユーザに関してゲームアプリケーションの最初の実行時に発生する様々なイベントを検出することがある。後続のまたは将来のゲームセッションで、ゲーム拡張システム108は、前のゲームセッションの検出されたイベントに基づいて、1つまたは複数の拡張を提示させることができる。例えば、プレーヤーが進路の決定または分岐点に近づいた場合、ゲーム拡張システム108は、プレーヤーが前のゲームセッションで特定の経路を取ったことを示すポップアップアイコンまたは他の視覚的拡張を提示させることがある。別の例として、ゲーム拡張システム108は、過去にゲーム内で同様の決定を迫られたときにユーザの友人または人気のあるゲーマー(例えば、有名なストリーマーや、他のコンテンツクリエーター)が何をしたかなど、ゲームサービス110の他のプレーヤーが行ったことを示すポップアップアイコンを生じることがある。
【0071】
これらの例では、本明細書で述べられるシステムは、異なるタイプのゲームアプリケーションにわたってレース勝利イベントを検出するように訓練された複数の異なる機械学習モデルを利用するレコグナイザを訓練することがある。例えば、第1の1つまたは複数のモデルは、1つまたは複数の観察可能な信号と組み合わせて画面上に表示されるテキストに基づいてカーレースでの勝利を検出するように訓練されることがある。逆に、第2の1つまたは複数のモデルは、異なる場所に表示されるテキストに基づいて、またはクライアントシステムを介して提示されるゲームコンテンツからの他の観察可能な特徴(例えば、レースでの勝利に関連する報酬の表示や、レースでの勝利に関連する検出された音)に基づいて、プレーヤー(a first-person)の勝利を検出するように訓練されることがある。これらのモデルはそれぞれ、単一のレコグナイザ内に組み込まれることがある。代替として、共通のイベントの異なるインスタンスを検出するように複数のレコグナイザが訓練されることもある。
【0072】
図4A~4Bは、イベントが視覚コンテンツに基づいて検出され、拡張がクライアントデバイスのグラフィカルユーザインターフェースを介して提示される視覚的拡張に関連する例を示すが、
図5は、拡張が非視覚的拡張に関連し得る別の例を示す。例えば、
図5は、グラフィックユーザインターフェース508が提示されているディスプレイデバイス506と、ディスプレイデバイス506に通信可能に結合された入力デバイス510(例えばキーボード)とを含むクライアントシステム504にオリジナルのゲームコンテンツ502を提供する例示的なゲームサービスの一例を示す。
図5に示されるように、クライアントシステム504は、ゲームサービス110による実行のための入力コマンド503を提供することができ、入力コマンド503は、クライアントシステム504に配信されるゲームコンテンツ502内に組み込むことができる。
【0073】
図3に関連して上で示したように、拡張命令は、ゲームサービス110および/またはクライアントシステム504で受信されることがある。この例では、ゲーム拡張命令は、クライアントシステム504で受信され、ゲームサービス110からの追加の拡張入力の有無にかかわらず、クライアントシステム504のハードウェアによって実装されることがある。
【0074】
この例では、レコグナイザは、ディスプレイデバイス506のグラフィカルユーザインターフェース508を介して表示される「×」押下インジケータ512の表示に関連するイベントを検出することがある。上述した例によれば、レコグナイザは、ゲームコンテンツ502の特定の部分を(例えば、セグメンテーションマップまたは関心領域の他の標示に基づいて)選択的に評価して、「×」押下イベントに対応する特定のテキストを検出するように訓練されることがある。このイベントの検出に応答して、クライアントシステム504は、検出されたイベントに対応する任意の数の拡張機能を実行するように命令されることがある。
【0075】
例えば、
図5に示されるこの実装形態では、入力デバイス510上の×キー514は、ディスプレイデバイス506に表示されたコンテンツに基づいてユーザが押すべき×キーを示すために点灯することがある。この視覚的フィードバックは、表示されていないが、より楽しいゲーム体験を提供すると共にゲームアプリケーションのユーザに追加の命令を提供することで、ゲーム体験を大幅に向上させることができる。これは、ゲームチュートリアルと併せて提供することも、単に本明細書で述べるシステムの特徴および機能によって可能にされる追加の補助として提供することもできる。
【0076】
本明細書で述べる1つまたは複数の例は、ゲーム拡張システム108のサーバデバイス、または代替としてクライアントシステム106のハードウェアで実行される拡張に特に関連することがあるが、それぞれのシステムに提供されてそれぞれのシステムによって実行される拡張命令に関連して述べられる特定の例が、ゲーム拡張システム108および/またはクライアントシステム106の一方または両方によって実装されることもあることを理解されたい。例えば、
図4A~4Bに関連して上で論じた例は、ゲームサービス110に提供されてゲームサービス110上で実行される拡張命令に関連して述べたが、同様の拡張が、クライアントシステム106で全体的または部分的に実行されてもよい。別の例として、
図5は、クライアントシステム106に提供されてクライアントシステム106上で実行される拡張命令に関連して述べたが、同様の拡張が、ゲームサービス110で受信されてゲームサービス110上で実行または他の形で実施され、ゲームコンテンツと併せてクライアントシステム106に提供されてもよい。
【0077】
次に
図6を参照すると、この図は、ゲーム内イベントを検出し、検出されたゲーム内イベントに基づいてゲームセッションに拡張を実装するための一連の操作を含む例示的なフローチャートを示す。
図6は、1つまたは複数の実施形態による操作を示すが、代替実施形態は、
図6に示される操作のいずれかを省略、追加、並べ替え、および/または変更することができる。さらに、
図6に関連して個々の操作または一連の操作に関連して述べた個々の特徴および機能のうちの1つまたは複数は、本明細書で述べる他の実施形態および例にも同様に適用することができる。
図6の操作は、方法の一部として実施することができる。代替として、非一時的なコンピュータ可読媒体が、1つまたは複数のプロセッサによって実行されるときにコンピューティングデバイスに
図6の操作を実行させる命令を含むことができる。さらに別の実施形態では、システムが
図6の操作を実施することができる。
【0078】
上述したように、
図6は、ゲーム内イベントを検出し、検出されたゲーム内イベントに基づいてゲームセッションに拡張を実装することに関連する一連の操作600を示す。
図6に示されるように、一連の操作600は、クライアントシステムに提供されているゲームセッションに関するゲームコンテンツを識別する操作610を含む。例えば、1つまたは複数の実装形態では、操作610は、ゲームセッションに関するゲームコンテンツを識別することを含み、ゲームコンテンツは、クラウドコンピューティングシステム上のゲームサーバによってクライアントシステムに提供されるビデオコンテンツを含む。
【0079】
さらに図示されるように、一連の操作600は、ゲームコンテンツにイベントレコグナイザを適用する操作620を含み、イベントレコグナイザは、1つまたは複数の検出モデルからの出力に基づいてイベントのインスタンスを検出するように訓練される。例えば、1つまたは複数の実装形態では、操作620は、第1のイベントレコグナイザをゲームコンテンツに適用して、イベントのインスタンスを検出することを含み、第1のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づくイベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された第1の1つまたは複数の検出モデルを含む。1つまたは複数の実施形態では、第1の1つまたは複数の検出モデルは、ゲームコンテンツがクライアントシステムに提供されるのと同時にゲームコンテンツのビデオフレームに適用される機械学習モデルを含む。
【0080】
さらに示されるように、一連の操作600は、イベントに関連するゲーム内拡張を識別する操作630を含む。さらに図示されるように、一連の操作600は、ゲームセッションの提示と併せてゲーム内拡張をクライアントシステムに実装させる操作640を含むことがある。例えば、1つまたは複数の実施形態では、操作640は、イベントのインスタンスを検出する第1のイベントレコグナイザに基づいて、クライアントシステムでのゲームセッションの提示と併せてゲーム内拡張をクライアントシステムに実装させることを含む。
【0081】
1つまたは複数の実施形態では、ゲームコンテンツは、ゲームサーバによってクライアントシステムにストリーミングされるビデオゲームコンテンツを含む。さらに、1つまたは複数の実施形態では、ゲームコンテンツは、オーディオコンテンツおよびコントローラ入力のうちの1つまたは複数を含む。1つまたは複数の実施形態では、1つまたは複数の検出モデルは、ビデオゲームコンテンツ、オーディオコンテンツ、およびコントローラ入力のうちの2つ以上の組合せに基づいて、イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練される。
【0082】
1つまたは複数の実施形態では、第1のイベントレコグナイザは、第1のゲームアプリケーションに由来するゲームコンテンツに基づいて、イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された第1の1つまたは複数の検出モデルを含む。第1のイベントレコグナイザは、第2のゲームアプリケーションに由来するゲームコンテンツに基づいて、イベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された第2の1つまたは複数の検出モデルをさらに含むことがある。
【0083】
1つまたは複数の実施形態では、第1のゲームアプリケーションは、第2のゲームアプリケーションの以前にリリースされたバージョンである。さらに、1つまたは複数の実施形態では、第1のゲームアプリケーションと第2のゲームアプリケーションとは、異なる発行元に関連付けられる。1つまたは複数の実施形態では、第1のゲームアプリケーションと第2のゲームアプリケーションとは、異なるジャンルのゲームアプリケーションに関連付けられる。
【0084】
1つまたは複数の実施形態では、一連の操作600は、第2のイベントのインスタンスを検出するために第2のイベントレコグナイザをゲームコンテンツに適用することを含み、第2のイベントレコグナイザは、対応するゲームセッションに関するゲームコンテンツに基づいて、第2のイベントの所与のインスタンスの発生に関連する1つまたは複数の信号を出力するように訓練された第2の1つまたは複数の検出モデルを含む。一連の操作600は、第2のイベントに関連する第2のゲーム内拡張を識別し、第2のイベントのインスタンスを検出する第2のイベントレコグナイザに基づいて、クライアントシステム上でのゲームセッションの提示と併せて、および第1のイベントのインスタンスに関連するゲーム内拡張と併せて、第2のゲーム内拡張をクライアントシステムに実装させることをさらに含むことがある。
【0085】
1つまたは複数の実施形態では、ゲーム内拡張は、クライアントシステムのGUIでのゲームセッションのディスプレイに1つまたは複数のグラフィックアイコンを表示することに関連するグラフィカルユーザインターフェース(GUI)拡張を含む。1つまたは複数の実施形態では、ゲーム内拡張は、クライアントシステムの入力デバイスを介して提示される触覚または視覚フィードバックに関連付けられた入力デバイス拡張を含む。
【0086】
1つまたは複数の実施形態では、ゲーム内拡張をクライアントシステムに実装させる操作は、ビデオコンテンツと、クライアントシステムのグラフィカルユーザインターフェース(GUI)を介して提示されるビデオコンテンツに対する1つまたは複数の拡張との両方を含む増強されたビデオコンテンツをゲームサーバから受信することを含む。1つまたは複数の実施形態では、ゲーム内拡張をクライアントシステムに実装させる操作は、クラウドコンピューティングシステム上のデータ分析サービスから1つまたは複数の拡張コマンドを受信すること、およびクライアントシステムのハードウェア上で1つまたは複数の拡張コマンドをローカルで実行することを含む。
【0087】
図7は、コンピュータシステム700内に含まれることがある特定のコンポーネントを示す。1つまたは複数のコンピュータシステム700を使用して、本明細書で述べる様々なデバイス、コンポーネント、およびシステムを実装することができる。
【0088】
コンピュータシステム700は、プロセッサ701を含む。プロセッサ701は、汎用シングルまたはマルチチップマイクロプロセッサ(例えば、Advanced RISC(縮小命令セットコンピュータ)マシン(ARM))、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどでよい。プロセッサ701は、中央処理装置(CPU)と呼ばれることがある。
図7のコンピュータシステム700にはただ1つのプロセッサ701のみが示されているが、代替構成では、プロセッサの組合せ(例えばARMとDSP)を使用することができる。
【0089】
コンピュータシステム700は、プロセッサ701と電子通信するメモリ703も含む。メモリ703は、電子情報を記憶することができる任意の電子コンポーネントでよい。例えば、メモリ703は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM内のフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、消去可能なプログラマブル読み出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)メモリ、レジスタなど、およびそれらの組合せとして具現化されることがある。
【0090】
命令705およびデータ707は、メモリ703に記憶されることがある。命令705は、本明細書で開示する機能の一部または全てを実装するためにプロセッサ701によって実行可能であり得る。命令705の実行は、メモリ703に記憶されているデータ707の使用を含むことがある。本明細書で述べるモジュールおよびコンポーネントの様々な例のいずれも、部分的または全体的に、メモリ703に記憶されておりプロセッサ701によって実行される命令705として実装することができる。本明細書で述べるデータの様々な例のいずれも、メモリ703に記憶されており、プロセッサ701による命令705の実行中に使用されるデータ707の中にあり得る。
【0091】
コンピュータシステム700は、他の電子デバイスと通信するための1つまたは複数の通信インターフェース709を含むこともある。通信インターフェース709は、有線通信技術、無線通信技術、またはその両方に基づくことがある。通信インターフェース709のいくつかの例としては、ユニバーサルシリアルバス(USB)、イーサネットアダプタ、米国電気電子学会(IEEE)802.11無線通信プロトコルに従って動作する無線アダプタ、Bluetooth(登録商標)無線通信アダプタ、および赤外線(IR)通信ポートが挙げられる。
【0092】
コンピュータシステム700は、1つまたは複数の入力デバイス711および1つまたは複数の出力デバイス713を含むこともある。入力デバイス711のいくつかの例としては、キーボード、マウス、マイクロフォン、リモートコントロールデバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、およびライトペンが挙げられる。出力デバイス713のいくつかの例としては、スピーカおよびプリンタが挙げられる。コンピュータシステム700に通常含まれる出力デバイスの1つの特定のタイプは、ディスプレイデバイス715である。本明細書で開示する実施形態で使用されるディスプレイデバイス715は、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンスなどの任意の適切な画像投影技術を利用することができる。メモリ703に記憶されているデータ707を、ディスプレイデバイス715上に示されるテキスト、グラフィックス、および/または動画(必要に応じて)に変換するためのディスプレイコントローラ717も提供されることがある。
【0093】
コンピュータシステム700の様々なコンポーネントは、電源バス、制御信号バス、ステータス信号バス、データバスなどを含むことがある1つまたは複数のバスによって互いに結合されることがある。分かりやすくするために、様々なバスが、バスシステム719として
図7に示されている。
【0094】
本明細書で述べる技法は、特定の方法で実装されるものとして特に述べられていない限り、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。モジュールやコンポーネントなどとして述べられる任意の特徴は、集積論理デバイス内に一緒に実装することも、ディスクリートではあるが相互動作可能な論理デバイスとして個別に実装することもできる。ソフトウェアで実装される場合、これらの技法は、少なくとも1つのプロセッサによって実行されるときに本明細書で述べる方法のうちの1つまたは複数を実施する命令を含む非一時的なプロセッサ可読記憶媒体によって少なくとも部分的に実現されることがある。命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などに編成されることがあり、これらは特定のタスクおよび/または特定のデータタイプを実施することがあり、様々な実施形態において望みに応じて組み合わせるまたは分散させることができる。
【0095】
本明細書で述べる方法のステップおよび/または操作は、特許請求の範囲から逸脱することなく相互交換可能である。言い換えると、記載されている方法の適切な動作のためにステップまたは操作の特定の順序が必要とされない限り、特定のステップおよび/または操作の順序および/または使用は、特許請求の範囲から逸脱することなく変更することができる。
【0096】
「決定」という用語は、多様な操作を包含し、したがって、「決定」は、計算、コンピューティング、処理、導出、調査、検索(例えば、テーブル、データベース、または別のデータ構造での検索)、確認などを含むことができる。また、「決定」は、受信(例えば情報の受信)やアクセス(例えばメモリ内のデータへのアクセス)なども含むことができる。また、「決定」は、解決、選択、選定、設定などを含むこともできる。
【0097】
「備える」、「含む」、および「有する」という用語は、包括的なものとして意図されており、列挙された要素以外の追加の要素が存在してもよいことを意味する。さらに、本開示の「一実施形態」または「実施形態」への言及は、記載された特徴を同様に組み込む追加の実施形態の存在を排除するものと解釈されることは意図されていないことを理解されたい。例えば、本明細書での一実施形態に関連して述べる任意の要素または特徴は、適合性がある場合には、本明細書で述べる任意の他の実施形態の任意の要素または特徴と組合せ可能であり得る。
【0098】
本開示は、その精神または特徴から逸脱することなく、他の特定の形態で具現化することができる。記載した実施形態は、例示的なものであり、限定的なものと考えられるべきではない。したがって、本開示の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等範囲の意味および範疇にある変更は、それらの範囲内に包含される。
【国際調査報告】