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

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特開2024-81702現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施
<>
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図1
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図2
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図3
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図4
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図5
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図6
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図7
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図8
  • 特開-現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081702
(43)【公開日】2024-06-18
(54)【発明の名称】現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施
(51)【国際特許分類】
   A63F 13/533 20140101AFI20240611BHJP
   A63F 13/86 20140101ALI20240611BHJP
   A63F 13/30 20140101ALI20240611BHJP
   A63F 13/2145 20140101ALI20240611BHJP
   A63F 13/426 20140101ALI20240611BHJP
   G06F 3/04845 20220101ALI20240611BHJP
【FI】
A63F13/533
A63F13/86
A63F13/30
A63F13/2145
A63F13/426
G06F3/04845
【審査請求】有
【請求項の数】7
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024045029
(22)【出願日】2024-03-21
(62)【分割の表示】P 2021506335の分割
【原出願日】2019-06-26
(31)【優先権主張番号】16/144,883
(32)【優先日】2018-09-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ウィーラー,ジョセフ
(72)【発明者】
【氏名】ノバック,クリストファー エム.
(72)【発明者】
【氏名】チャベス,アロン アール.
(72)【発明者】
【氏名】エセルストロム,タイラー
(72)【発明者】
【氏名】ウィースト,ピーター エム.
(57)【要約】      (修正有)
【課題】現在のゲーム状態に基づいてストリーミングゲームにおいてグラフィカルオーバレイを実施する。
【解決手段】ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、ビデオゲームによって生成されたゲームデータを受信する。ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザにビデオゲームを示すために、ゲーム映像をコンピューティングデバイスの表示スクリーン上に表示する。少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別する。ビデオゲームのための複数のUIコントロール構成の中から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択し、選択されたUIコントロール構成に対応するグラフィカルオーバレイを表示スクリーン内のビデオゲーム上において実施する。
【選択図】図1
【特許請求の範囲】
【請求項1】
表示スクリーンを有するコンピューティングデバイスにおける方法であって、
ビデオゲームによって生成されたゲームデータを受信することであって、前記ゲームデータが、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、受信することと、
前記ビデオゲームを、前記コンピューティングデバイスにおいて前記ビデオゲームをプレイするユーザに示すために、前記表示スクリーン上において、前記ゲーム映像を表示することと、
少なくとも前記ゲームデータ内の前記ビデオゲームの少なくとも1つの特徴を識別することと、
前記ビデオゲームのための複数のUIコントロール構成から、前記識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択することであって、前記UIコントロール構成の各々が、前記ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成された前記ビデオゲームへの対応するグラフィカルオーバレイを規定する、選択することと、
前記表示スクリーン内の前記ビデオゲーム上において、前記選択されたUIコントロール構成に対応する前記グラフィカルオーバレイを実施することと、
を含む方法。
【請求項2】
前記識別することが、以下のもの:
前記ゲームデータのゲーム映像フレーム、
前記ゲームデータのゲーム音声データ、
前記ビデオゲームに提供される入力イベントのストリーム、又は
前記コンピューティングデバイスのハードウェアの使用、
のうちの少なくとも1つにおける前記ビデオゲームの特徴を識別すること、を含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの特徴がオブジェクトを含み、前記識別することが、
前記表示スクリーンの所定のスクリーン領域を前記オブジェクトの画像のために分析することと、
前記オブジェクトの前記画像が前記所定のスクリーン領域内に包含される確率を指示する、前記オブジェクトに関連付けられた信頼スコアを決定することと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記分析することが、
前記オブジェクトの前記画像を包含する前記映像ストリームのゲーム映像フレームの部分を、訓練された機械学習モデルに適用し、前記信頼スコアを生成することを含む、請求項3に記載の方法。
【請求項5】
前記ビデオゲームを実行し、訓練映像ストリームを含む訓練ゲームデータを生成することと、
前記訓練映像ストリームのゲーム映像フレーム内に表示されたオブジェクトの訓練指示を受信することと、
前記訓練映像ストリーム及び前記訓練指示を機械学習アルゴリズムに適用し、前記訓練された機械学習モデルを生成することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記表示スクリーンがタッチスクリーンであり、前記方法が、
前記グラフィカルオーバレイに対応する前記選択されたUIコントロール構成に関連付けられたコントロールを前記タッチスクリーンのために調整することをさらに含み、前記調整することが、
物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、
前記線形化されたゲーム入力応答曲線を前記グラフィカルオーバレイのタッチ入力のために調整すること、及び
前記調整されたゲーム入力応答曲線を前記グラフィカルオーバレイの前記タッチ入力に関連付けること、
を含む、請求項1に記載の方法。
【請求項7】
前記ゲームデータがゲーム映像フレームを含み、前記ゲーム映像フレームが、前記コンピューティングデバイスによってレンダリングされ、前記ゲーム映像フレーム内に合成された画像を含む、請求項1に記載の方法。
【請求項8】
ビデオゲームストリーミングクライアントを備える、コンピューティングデバイスにおいて実施されるシステムであって、前記ビデオゲームストリーミングクライアントが、
ゲームエンジンであって、
ビデオゲームによって生成されたゲームデータを受信することであって、前記ゲームデータが、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、受信すること、及び
前記ビデオゲームを、前記コンピューティングデバイスにおいて前記ビデオゲームをプレイするユーザに示すために、前記ゲーム映像を前記表示スクリーン上に表示すること、
を行うように構成されたゲームエンジンと、
コントロール構成決定器であって、
特徴識別器であって、少なくとも前記ゲームデータ内の前記ビデオゲームの少なくとも1つの特徴を識別するように構成されている、特徴識別器、並びに
コントロール構成選択器であって、
前記ビデオゲームのための複数のUIコントロール構成から、前記識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択することであって、前記UIコントロール構成の各々が、前記ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成された前記ビデオゲームへの対応するグラフィカルオーバレイを規定する、選択すること、及び
前記選択されたUIコントロール構成に対応する前記グラフィカルオーバレイを前記表示スクリーン内の前記ビデオゲーム上において実施すること、
を行うように構成されている、コントロール構成選択器、
を備える、コントロール構成決定器と、
を備える、システム。
【請求項9】
前記特徴識別器が、以下のもの:
前記ゲームデータのゲーム映像フレーム、
前記ゲームデータのゲーム音声データ、
前記ビデオゲームに提供される入力イベントのストリーム、又は
前記コンピューティングデバイスのハードウェアの使用、
のうちの少なくとも1つにおける前記ビデオゲームの特徴を識別するようにさらに構成されている、請求項8に記載のシステム。
【請求項10】
前記少なくとも1つの特徴がオブジェクトを含み、前記特徴識別器が、
前記表示スクリーンの所定のスクリーン領域を前記オブジェクトの画像のために分析することと、
前記オブジェクトの前記画像が前記所定のスクリーン領域内に包含される確率を指示する、前記オブジェクトに関連付けられた信頼スコアを決定することと、
を行うようにさらに構成されている、請求項8に記載のシステム。
【請求項11】
前記特徴識別器が、前記オブジェクトの前記画像を包含する前記映像ストリームのゲーム映像フレームの部分を、訓練された機械学習モデルに適用し、前記信頼スコアを生成するように構成されている、請求項8に記載のシステム。
【請求項12】
前記表示スクリーンがタッチスクリーンであり、前記ビデオゲームストリーミングクライアントが、
前記グラフィカルオーバレイに対応する前記選択されたUIコントロール構成に関連付けられたコントロールを前記タッチスクリーンのために調整するように構成されたゲーム入力応答調整器であって、
物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、
前記線形化されたゲーム入力応答曲線を前記グラフィカルオーバレイのタッチ入力のために調整すること、及び
前記調整されたゲーム入力応答曲線を前記グラフィカルオーバレイの前記タッチ入力に関連付けること、
を行うように構成されていることを含む、ゲーム入力応答調整器をさらに備える、請求項8に記載のシステム。
【請求項13】
前記ゲームデータがゲーム映像フレームを含み、前記ゲームエンジンが、ゲーム映像変更器であって、
画像をレンダリングすること、及び
前記画像を前記ゲーム映像フレーム内に合成すること、
を行うように構成された、ゲーム映像変更器を含む、請求項8に記載のシステム。
【請求項14】
少なくとも1つのプロセッサによって実行されたときに、前記少なくとも1つのプロセッサに請求項1~7に記載の方法のうちのいずれかを実施させるプログラムコードが記録されたコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
背景
[0001] ゲームストリーミングは、ビデオゲームデータを、ビデオゲームアプリケーションを実行する第1のユーザデバイス(例えば、「発信」又は「ソース」デバイス)から、第2のユーザデバイス(例えば、「ゲームプレイ」又は「クライアント」「デバイス」)へ伝送し、ユーザが第2のユーザデバイスを用いてビデオゲームをプレイすることを可能にする技法である。例えば、ビデオゲームのデータは、デスクトップコンピュータから、スマートフォン、タブレット、又はタッチスクリーンを有する他のユーザデバイス(例えば、「タッチデバイス」)へストリーミングされ、ユーザがタッチスクリーンを用いてビデオゲームをプレイすることを可能にし得る。このようなビデオゲームストリーミングは、ユーザがビデオゲームを、そのビデオゲームが元来設計されていなかったデバイス上でプレイすることを可能にし得る。例えば、ゲームストリーミングは、ゲームコントローラを用いてビデオゲームコンソール(例えば、Microsoft Xbox(登録商標)、Sony PlayStation 4(登録商標)、Nintendo Switch(登録商標)等)上でプレイされるように設計されたゲームが、モバイルデバイス上でユーザによって対話され、したがって、プレイされることを可能にし得る。
【0002】
[0002] ユーザがビデオゲームを、それが設計されていなかったタッチスクリーンデバイス上でプレイすることを可能にするために、グラフィカルオーバレイがタッチスクリーンデバイス上に呈示され得る。グラフィカルオーバレイは、ユーザがゲームをプレイするために対話するタッチスクリーンコントロールを提供し、タッチデバイスのタッチコントロールとのユーザ対話の、ビデオゲームのためのソースデバイスの物理的コントロールへの対応付けを提供する。例えば、ビデオゲームは、ユーザがハンドヘルドゲームコントローラを用いて対話するビデオゲームコンソールのために設計されていてもよい。ビデオゲームは、スマートフォンなどの、タッチデバイスにストリーミングされてもよい。それゆえ、グラフィカルオーバレイが、ユーザ対話のためのタッチコントロールを呈示するためにタッチデバイス上で用いられてもよい。タッチスクリーンコントロール(例えば、グラフィカルボタン等)はゲームコントローラコントロール(物理的ボタン、スティック等)に対応する。タッチスクリーン上のグラフィカルオーバレイがゲームコントローラコントロールの全てをタッチコントロールとして呈示したとき、タッチスクリーンは乱雑になり得、ビデオゲームのユーザの視界を遮る場所にタッチコントロールを呈示し得る。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
[0003] この発明の概要は、発明を実施するための形態においてさらに後述される概念の選択を、単純化された形態で伝えるために提供される。この発明の概要は、クレームされている主題の枢要な特徴又は本質的な特徴を特定することを意図されておらず、また、クレームされている主題の範囲を限定するために用いられることも意図されていない。
【0004】
[0004] ストリーミングゲームにおいてグラフィカルオーバレイを実施するための方法、システム、及びコンピュータプログラム製品が提供される。例えば、コンピューティングデバイスは、表示スクリーン、及びソースデバイスからストリーミングされたゲームデータを受信するビデオゲームストリーミングクライアントを含み得る。ビデオゲームストリーミングクライアントは、ゲームデータを受信し、ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、ゲーム映像を表示スクリーン上に表示するように構成されたゲームエンジンを含む。ビデオゲームストリーミングクライアントは、特徴識別器及びコントロール構成選択器を含むコントロール構成決定器をさらに含む。特徴識別器は、少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別するように構成されている。コントロール構成選択器は、ビデオゲームのための複数のUIコントロール構成から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI(user interface))コントロール構成を選択するように構成されている。ゲームエンジンは、選択されたUIコントロール構成に対応するグラフィカルオーバレイを表示スクリーン内のビデオゲーム上において実施する。
【0005】
[0005] 実施形態のさらなる特徴及び利点並びに様々な実施形態の構造及び動作が以下において添付の図面を参照して詳細に説明される。方法及びシステムは、本明細書において説明される特定の実施形態に限定されないことに留意されたい。このような実施形態は本明細書において単に例示の目的のために呈示されるにすぎない。当業者には、本明細書に包含される教示に基づいて追加の実施形態が明らかであろう。
【0006】
図面/図の簡単な説明
[0006] 本明細書に組み込まれ、本明細書の部一部を形成する、添付の図面は本出願の実施形態を示し、本記載と共に、実施形態の原理を説明し、当業者が実施形態を作製して使用することを可能にする役割をさらに果たす。
【図面の簡単な説明】
【0007】
図1】[0007]図1は、例示的な実施形態に係る、ストリーミングビデオゲームのためのグラフィカルオーバレイを実施するためのシステムのブロック図を示す。
図2】[0008]図2は、例示的な実施形態に係る、機械学習モデルをビデオゲーム特徴認識のために訓練するためのフローチャートを示す。
図3】[0009]図3は、例示的な実施形態に係る、現在のゲーム状態に基づいてグラフィカルオーバレイを選択し、表示スクリーン上において実施するためのフローチャートを示す。
図4】[0010]図4は、例示的な実施形態に係る、現在のビデオゲーム状態に基づいてグラフィカルオーバレイを選択し、実施するように構成された図1のシステムのユーザデバイスのブロック図を示す。
図5】[0011]図5は、例示的な実施形態に係る、グラフィカルオーバレイを選択するために用いられるビデオゲーム内の特徴を識別するように構成された図1のシステムのユーザデバイスのブロック図を示す。
図6】[0012]図6は、例示的な実施形態に係る、ビデオゲーム内のオブジェクトを識別するためのフローチャートを示す。
図7】[0013]図7は、例示的な実施形態に係る、ビデオゲームグラフィカルオーバレイのユーザインターフェースコントロールの調整を可能にするように構成された図1のシステムのユーザデバイスのブロック図を示す。
図8】[0014]図8は、例示的な実施形態に係る、タッチスクリーングラフィカルオーバレイに関連付けられたコントロールを調整するためのフローチャートを示す。
図9】[0015]図9は、様々な実施形態を実施するために用いられ得る例示的なプロセッサベースのコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0008】
[0016] 本明細書において説明される実施形態の特徴及び利点は、図面と併せて、以下において記載される詳細な説明からより明らかになるであろう。図面において、同様の参照符号は、全体を通じて、対応する要素を識別する。図面において、同様の参照符号は、概して、同一の、機能的に同様の、及び/又は構造的に同様の要素を指示する。要素が最初に現れる図面が、対応する参照符号における左端の桁によって指示される。
【0009】
詳細な説明
I.序論
[0017] 本明細書及び添付の図面は、本開示の実施形態の特徴を組み込んだ1つ以上の実施形態を開示する。実施形態の範囲は、本明細書において開示される態様のみに限定されない。本開示の実施形態は、単に、意図された範囲を例示するにすぎず、本開示の実施形態の変更バージョンも包含される。実施形態は、本明細書に添付された請求項によって定義される。
【0010】
[0018] 本明細書における「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、「例示的な一実施形態(an example embodiment)」などへの言及は、説明されている実施形態は特定の特徴、構造、又は特性を含み得るが、全ての実施形態はその特定の特徴、構造、又は特性を必ずしも含まない場合もあることを指示する。さらに、このような表現は必ずしも同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、又は特性が一実施形態に関して説明されるときには、明示的に説明されているか否かにかかわらず、このような特徴、構造、又は特性を他の実施形態に関して実施することも当業者の理解の範囲のことであることが提示されている。
【0011】
[0019] さらに、本明細書において使用される空間表現(例えば、「上方(above)」、「下方(below)」、「上(up)」、「左(left)」、「右(right)」、「下(down)」、「上部(top)」、「底部(bottom)」、「鉛直(vertical)」、「水平(horizontal)」等)は単なる例示の目的のためのものにすぎず、本明細書において説明される構造の実際の実装形態は任意の向き又は様態で空間的に配置することができることを理解されたい。
【0012】
[0020] 本記載では、特に明記しない限り、本開示の一実施形態の特徴又は特徴群の条件又は関係の特性を修飾する「実質的に(substantially)」及び「約(about)」などの形容詞は、条件又は特性が、実施形態の、それが意図された適用物のための動作のために許容可能である公差以内で規定されることを意味すると理解される。
【0013】
[0021] 数多くの例示的な実施形態が以下のように説明される。本明細書において与えられるいかなるセクション/サブセクションの表題も、限定することを意図されていないことに留意されたい。諸実施形態が本文書全体を通して説明されており、いかなる種類の実施形態も任意のセクション/サブセクションの下に含まれ得る。さらに、任意のセクション/サブセクションにおいて開示される実施形態は、同じセクション/サブセクション及び/又は異なるセクション/サブセクションにおいて説明される任意の他の実施形態と任意の仕方で組み合わせられ得る。
【0014】
II.例示的な実施形態
[0022] ユーザがビデオゲームを、それが設計されていなかったタッチスクリーンデバイス上でプレイすることを可能にするために、グラフィカルオーバレイがタッチスクリーンデバイス上に呈示され得る。グラフィカルオーバレイは、ユーザがビデオゲームをプレイするために対話するタッチスクリーンコントロールを提供し、タッチデバイスのタッチコントロールとのユーザ対話をビデオゲームのためのソースデバイスの物理的コントロールに対応付ける。例えば、ビデオゲームは、ユーザがハンドヘルドゲームコントローラを用いて対話するビデオゲームコンソールのために設計されていてもよい。ビデオゲームは、スマートフォンなどの、タッチデバイスにストリーミングされてもよい。ゲームコントローラコントロール(物理的ボタン、スティック等)をユーザによるタッチ対話のためにタッチスクリーンコントロール(例えば、グラフィカルボタン等)に対応付けるために、グラフィカルオーバレイがタッチデバイス上に呈示され得る。
【0015】
[0023] このようなグラフィカルオーバレイは従来、いくつかの仕方で構成される。例えば、ユーザが自分の2本の親指をタッチスクリーン上のコントロールに当てる2指構成を用いることができる。タッチ入力は、それらの2本の指のみを用いるジェスチャに対応付けられる。しかし、ゲームコントローラ、マウス、及び/又はキーボードと共に使用されるように設計されたビデオゲームは、ユーザが数多くの物理的コントロールを同時に操作することを必要とし得る。したがって、タッチスクリーン上の2指構成は、ユーザが、ビデオゲームが必要とする全ての入力信号を提供することができないため、特定のビデオゲームをプレイ不可能にし得る。
【0016】
[0024] 別の従来の実装形態では、ゲームコントローラの全てのコントロールのためのコントロールをタッチスクリーン上に含むフリーサイズのグラフィカルオーバレイが呈示され得る。しかし、ゲームコントローラは、通例、様々な場所において、様々な種類の数多くのコントロールを含むため、このようなコントロールレイアウトは、ユーザが使用する必要がないいくつかのコントロールを呈示すると共に、表示スクリーン全体の、全てではなくとも、ほとんどを占有し得る。これは、ユーザがコントロールレイアウトの背後の実際のビデオゲームを見ることができなくなるため、いくつかのビデオゲームをプレイ不可能にし得る。したがって、フリーサイズの構成は、通例、ユーザエクスペリエンスの観点から実際的でない。
【0017】
[0025] これらの課題を解決する試みとして、グラフィカルオーバレイのコントロールレイアウトが特定のゲームシナリオのためにカスタマイズされ得る。しかし、多くのビデオゲームは、ビデオゲーム内で何が進行しているのか(すなわち、「ゲーム状態」又は「ゲームシナリオ」)に基づいてコントロールレイアウトを切り替える。例えば、ゲーム内のキャラクタに、歩き回ること、自動車を運転すること、飛ぶこと等をさせるために、コントロールの異なるセットが、ビデオゲームのメニューを操作するために用いられ得る。したがって、1つのゲームシナリオにカスタマイズされたコントロールのセットを用いることは、ゲームシナリオの変化によって、コントロールが、必要とされるものに正確に一致しなくなるため、通例、実際的でない。
【0018】
[0026] 諸実施形態は、ビデオゲームストリーミングにおけるグラフィカルオーバレイに関連するこれら及び他の課題を克服する。一実施形態では、現在のゲームシナリオを決定し、以前のグラフィカルオーバレイから、決定された現在のゲームシナリオのために設計されたより適切なグラフィカルオーバレイへの切り替えを生じさせるために、機械学習が用いられ得る。代替的な実施形態では、ビデオゲームの特定の識別された画素配置及び/又は音響が現在のゲームシナリオを識別し、以前のグラフィカルオーバレイから、決定された現在のゲームシナリオのためのより適切なグラフィカルオーバレイへの切り替えを生じさせ得る。
【0019】
[0027] 諸実施形態では、第1のコンピューティングデバイスにおいてビデオゲームによって生成されたゲームデータは映像フレームの映像ストリームの形態のゲーム映像を含み得る。ゲームデータは第2のコンピューティングデバイスへストリーミングされ得る。ゲーム映像は、ビデオゲームを、そのビデオゲームをプレイするユーザに示すために、第2のコンピューティングデバイスの表示スクリーン上に表示される。ゲームプレイの間に、ゲーム関連データ(例えば、ゲーム映像フレーム、ゲーム音声データ、入力イベントのストリーム、ビデオゲームプレイ中のハードウェア使用メトリック、ログファイル内容、API(application programming interface(アプリケーションプログラミングインターフェース))アクセス等などのビデオゲームプレイの間に生成されるさらなるメタデータ)が、以前のゲームシナリオから変化したばかりであり得るか、又は変化する過程にあり得る、現在のゲームシナリオに対応する1つ以上のゲーム関連特徴を識別するために分析され得る。決定に応じて、ビデオゲームのための複数のUIコントロール構成から、識別された特徴に関連付けられたユーザインターフェース(UI)コントロール構成が選択される。選択されたUIコントロール構成に対応するグラフィカルオーバレイが表示スクリーン内のビデオゲーム上において実施される。グラフィカルオーバレイはその特定の現在のゲームシナリオのために構成されており、そのゲームシナリオにおいてユーザのためにゲームプレイをより効率良く、楽しくするように構成された、コントロール、コントロールの場所等の特定の選択されたセットを有する。ユーザは、その現在のゲームシナリオにおいてビデオゲームをプレイするためにグラフィカルオーバレイと対話すること可能にされる。
【0020】
[0028] それゆえ、諸実施形態は、識別されたゲーム関連特徴に基づく特定のゲームシナリオのための適切なコントロールの提供を可能にする。このように、タッチデバイスにストリーミングされるビデオゲームに対するユーザエクスペリエンスは、それが設計されたソースデバイス上でプレイされるビデオゲームに対するユーザエクスペリエンスとほぼ同じになる。
【0021】
[0029] 一実施形態では、訓練された機械学習モデルが生成され、適切なグラフィカルオーバレイがゲームシナリオのために選択されることを可能にするために用いられ得る。一実施形態では、訓練された機械学習モデルは、ゲームの特徴を識別するためのゲーム関連データを受信し得、ゲーム関連データは、特徴が実際に識別されたこと、及びゲームが、関連付けられたゲームシナリオに切り替わったことの信頼レベルを指示する信頼スコアを生成するために用いられる。
【0022】
[0030] このような訓練された学習モデルは様々な仕方で生成され得る。例えば、このようなモデルを生成するために、ビデオゲームが、訓練映像ストリームを含む訓練ゲームデータを生成するべく、TensorFlow(商標)などの機械学習(ML(machine learning))アプリケーションにおいて実行され得る。ビデオゲームに対応する訓練指示が訓練ゲームプレイ中にMLアプリケーションに入力され得る。一実施形態では、訓練指示は(例えば、ゲーム開発者によって)手動で入力される。代替的に、訓練指示は、コンピュータなどによって、自動的に提供され得る。訓練された機械学習モデルは、訓練指示及び生成された訓練ゲームデータに基づいて生成される。
【0023】
[0031] レーシングゲームの場合など、実例によっては、グラフィカルオーバレイは、ゲームコントローラなどの元の入力デバイスを正確に模擬するために追加的な変更を必要とし得る。諸実施形態は、ユーザ入力に基づく、実施されるグラフィカルオーバレイのためのコントロール調整を可能にする。例えば、物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線が線形化され得る。線形化されたゲーム入力応答曲線はグラフィカルオーバレイのタッチコントロールのために調整され得、これにより、調整された入力応答曲線はタッチコントロールに関連付けられる。調整された入力応答曲線は、ゲーム入力がゲームプレイ中にユーザ入力にどのように応答するのかを決定する。このように、ユーザエクスペリエンスがそのタッチコントロールのために改善され得る。
【0024】
[0032] ストリーミングされたビデオゲームのためのグラフィカルオーバレイを生成し、利用するための実施形態は様々な仕方で実施され得る。例えば、図1は、例示的な実施形態に係る、ストリーミングビデオゲームのためのグラフィカルオーバレイを実施するためのシステム100のブロック図を示す。図1に示されるように、システム100は、訓練段階126内に含まれる第1のコンピューティングデバイス102(訓練デバイス)と、ライブのゲームプレイ段階128内に含まれる第2のコンピューティングデバイス136(ゲームソース/発信デバイス)及び第3のコンピューティングデバイス104(ゲームプレイ/クライアントデバイス)とを含む。コンピューティングデバイス102は、ビデオゲームアプリケーション106及び機械学習(ML)アプリケーション108を含む。コンピューティングデバイス136は、ソースビデオゲームアプリケーション140をストリーミングするストリーミングサービス138を含む。コンピューティングデバイス104は、表示スクリーン112及びビデオゲームストリーミングクライアント114を含む。ビデオゲームストリーミングクライアント114は、ビデオゲームイベント認識機械言語(VGERML(video game event recognition machine language))モデル110、コントロール構成決定器118、ゲームエンジン120、及びコントロール構成ライブラリ122を含む。図1は以下のとおりさらに詳細に説明される。
【0025】
[0033] コンピューティングデバイス102及び136は、移動型又は固定型の、任意の種類のコンピューティングデバイス、このようなデスクトップコンピュータ、サーバ、ビデオゲームコンソール等を各々含み得る。コンピューティングデバイス104は、任意の種類の移動型コンピューティングデバイス(例えば、Microsoft(登録商標)Surface(登録商標)デバイス、パーソナルデジタルアシスタント(PDA(personal digital assistant))、ラップトップコンピュータ、ノートブックコンピュータ、Apple iPad(商標)などのタブレットコンピュータ、ネットブック等)、携帯電話(例えば、セルフォン、Microsoft Windows(登録商標)フォン、Apple iPhone、Google(登録商標)Android(商標)オペレーティングシステムを実装する電話などのスマートフォン等)、ウェアラブルコンピューティングデバイス(例えば、Google(登録商標)Glass(商標)、Oculus VR, LLCによるOculus Rift(登録商標)などのスマートグラスを含む頭部装着型デバイス等)、デスクトップコンピュータ又はPC(personal computer(パーソナルコンピュータ))などの固定型コンピューティングデバイス、ゲーミングコンソール/システム(例えば、Microsoft Xbox(登録商標)、Sony PlayStation(登録商標)、Nintendo Wii(登録商標)、又はSwitch(登録商標)等)等であり得る。
【0026】
[0034] 訓練段階126は、グラフィカルオーバレイを表示のために選択するために用いられるゲーム関連データ内の特徴を識別するためにライブのゲームプレイ段階128の間に用いられる機械学習モデルを生成するために用いられる。図1に示されるように、ビデオゲームアプリケーション106は、(例えば、1つ以上のプロセッサによって実行されるプログラムコードにおいて実施される)ビデオゲームプログラムである。ビデオゲームアプリケーション106は、コーザル(causal)ゲーム、シリアスゲーム、教育ゲーム、シューティングゲーム、運転ゲーム等を含む、任意の種類のビデオゲームであり得る。実行の間に、ビデオゲームアプリケーション106は、プレイ中のビデオゲームを表すデータを含む、訓練ゲームデータ148を生成する。訓練ゲームデータ148は、訓練の間に生成されたビデオゲームのゲームデータであり、ゲームをプレイするユーザに呈示される。例えば、訓練ゲームデータ148は、表示スクリーン上における表示のための映像データ、1つ以上のラウドスピーカによる再生のための音声データ、及び/又は訓練段階の間に生成された他の種類のデータを含み得る。訓練段階126の間に、ビデオゲームアプリケーション106はまた、ゲームコントローラ、タッチスクリーン、キーボード等などの、ユーザによって用いられる1つ以上のユーザインターフェースデバイスからのユーザ入力データ134も受信する。ユーザ入力データ134は、訓練段階の間にビデオゲームをプレイする際にユーザによって取られたアクション(例えば、ボタンを押すこと、スティックを右に動かすこと等)を指示する。ユーザ入力データ134は、ビデオゲームアプリケーション134によって、ビデオゲームがどのように進行するのかを決定するために処理され、それゆえ、ユーザに呈示される訓練ゲームデータ148の生成の際に用いられる。
【0027】
[0035] MLアプリケーション108は、訓練ゲームデータ148及び訓練指示146を受信して処理し、ビデオゲームイベント認識機械言語(VGERML)モデル110を生成するように構成されている。例えば、一実施形態では、MLアプリケーション108は、訓練ゲームデータ148の実際のゲームデータ、及び訓練指示146の形態で提供される訓練入力に基づく教師あり機械学習アルゴリズムを実施し、VGERMLモデル110を生成し得る。VGERMLモデル110は、ゲーム関連データ内の特徴を識別するべくライブのゲームプレイ段階128の間に用いられるために生成された機械学習モデルである。識別された特徴は、グラフィカルオーバレイを、表示、及びソースデバイス(コンピューティングデバイス102)とは異なるゲーム消費デバイスのユーザによる対話のために選択するために用いられる。上述されたように、訓練指示146は、手動で、又はコンピュータによって入力され得る。諸実施形態では、訓練指示146は、訓練ゲームデータのゲーム映像フレーム内に表示されたオブジェクトの場所を指示し得、訓練ゲームデータの音声フレーム内における音響のタイミングを指示し得、及び/又はさらなるゲーム関連態様を指示し得る。
【0028】
[0036] 例えば、武器、道具、キャラクタ、車両、それらの部分(例えば、眼、ヘッドライト、テールライト、ナンバープレート等)などのオブジェクト、及び他のオブジェクトがゲームプレイの間にビデオゲームによって表示され得る。特定のゲームシナリオにとって重要であると決定されたこれら又は他のものなどのオブジェクトは、ゲーム開発者ユーザによって(又は自動的に)モデル訓練のための訓練ゲームプレイの間に、ゲーム映像内のそれらの場所を指示することなどによって(例えば、ユーザがオブジェクトの場所を指示すること、オブジェクトの周りに囲み線を描くこと等によって)、フラグを付けられ得る。加えて、又は代替的に、訓練指示146は、訓練ゲームデータの音声内における音響のタイミングの指示を含み得る。例えば、ユーザは、特定のゲームシナリオと相関すると考えられる、ビデオゲームにおける、自動車のエンジンの始動、武器の使用(例えば、チェーンソーの作動、銃の発射)、特定のキャラクタの発話、又は同様のものの音響の時間を指示し得る。
【0029】
[0037] なおさらなる実施形態では、訓練指示146は入力イベントのストリームを含み得る。例えば、モデル訓練を実施するユーザは、特定のゲームシナリオに相関する、ユーザが一覧表から、又はスクリーン上で自動車を選択したことに対応する1つ以上の入力イベント、ユーザが特定の武器を選択したことに対応する1つ以上の入力イベント、又は同様のものなどの、特定の入力イベントを指示し得る。なおさらなる実施形態では、訓練指示146は特定のハードウェア使用の指示を含み得る。例えば、指示されるハードウェア使用は、特定のゲームシナリオに相関する、特定のゲーム活動、自動車、トラック、船、ヘリコプター、キャラクタ、又は同様のものなどの、スクリーンにレンダリングされている特定のオブジェクトに対応する、特定のプロセッサ利用レベル、メモリ使用レベル、ディスクアクセス、又は同様のもの、並びにログファイル内容、APIアクセス等の指示を含み得る。
【0030】
[0038] MLアプリケーション108は、訓練ゲームデータ148及び訓練指示146に基づいてVGERMLモデル110を生成する。MLアプリケーション108は、教師ありベクトルマシン(SVM(supervised vector machine))、線形回帰、ロジスティック回帰、単純ベイズ、線形判別分析、決定木、k近傍アルゴリズム、ニューラルネットワーク等などの、教師ありMLモデル生成アルゴリズムを含む、任意の好適な技法を、VGERML110を生成するために用い得る。一実施形態では、生成されたVGERMLモデル110は、特徴がゲームデータ内で識別されたかどうかを指示する信頼レベルを提供する能力を有する。信頼レベルが十分である(例えば、50%超である)場合には、特徴(又は特徴)が識別されたゲームシナリオに対応するグラフィカルオーバレイが選択され得る。
【0031】
[0039] 具体的には、MLアプリケーション108がVGERMLモデル110を生成すると、訓練段階126が完了し、ライブのゲームプレイ段階128が開始し得る。ライブのゲームプレイ段階128を可能にするために、VGERMLモデル110がコンピューティングデバイス104のビデオゲームストリーミングクライアント114内に含められる。ビデオゲームストリーミングクライアント114は、ライブのゲームプレイ段階128の間にストリーミングされたビデオゲームのインスタンスをプレイするために、ゲームプレイヤによってコンピューティングデバイス104において用いられるクライアントベースのアプリケーションである。ライブのゲームプレイ段階128は以下のとおりさらに詳細に説明される。
【0032】
[0040] 上述されたように、コンピューティングデバイス104は、ユーザによって、コンピューティングデバイス104上でプレイされるように設計されていなかったビデオゲームをプレイするために使用可能である。ビデオゲームは、コンピューティングデバイス136などの、コンピューティングデバイスからストリーミングされ得る。例えば、ソースビデオゲームアプリケーション140はコンピューティングデバイス136(例えば、デスクトップコンピュータ、ゲームコンソール等)上で実行され得る。ソースビデオゲームアプリケーション140は、ゲームプレイヤがビデオゲームをプレイすることを可能にするためにコンピューティングデバイス136によって実行され得るビデオゲームアプリケーション106のインスタンスである。さらに、コンピューティングデバイス136は、ソースビデオゲームアプリケーション140のゲームデータ144を、コンピューティングデバイス104などの、別のデバイスへストリーミングするように構成されたストリーミングサービス138を含む。具体的には、ストリーミングサービス138は、1つ以上のネットワークケーブル、無線LAN(WLAN)若しくは「Wi-Fi」)などのローカルエリアネットワーク(LAN(local area network))、及び/又はインターネットなどの、ワイドエリアネットワーク(WAN(wide area network))を含み得る、無線式及び/又は有線式の、ネットワークを通じてゲームデータ144を伝送するように構成されている。
【0033】
[0041] 一実施形態では、コンピューティングデバイス136におけるストリーミングサービス138及びコンピューティングデバイス104におけるビデオゲームストリーミングクライアント114は、コンピューティングデバイス136において実行されるソースビデオゲームアプリケーション140のビデオゲームをコンピューティングデバイス104におけるユーザに呈示するよう協働する。具体的には、ストリーミングサービス138は、ソースビデオゲームアプリケーション140の実行によって生成されたゲームデータ144(例えば、映像及び音声データ)を、ビデオゲームをコンピューティングデバイス140におけるユーザに呈示するビデオゲームストリーミングクライアント114へストリーミングする。引き換えに、ビデオゲームストリーミングクライアント114は、コンピューティングデバイス104においてビデオゲームと対話するユーザから受信されたユーザ入力データ142を、ソースビデオゲームアプリケーション140にユーザ入力イベントとして提供するためにストリーミングサービス138へストリーミングする。このように、ソースビデオゲームアプリケーション140は第1のコンピューティングデバイス(コンピューティングデバイス136)において実行するが、たとえ、ビデオゲームが第2のコンピューティングデバイス上におけるプレイのために設計されていなかった場合でも、ユーザは第2のコンピューティングデバイス(コンピューティングデバイス140)においてビデオゲームをプレイすることができる。諸実施形態が組み込まれ得るサーバ-クライアントストリーミングサービスの例としては、Microsoft Xbox(登録商標)プラットフォーム、及びValve Corporationによって提供されるSteam(登録商標)プラットフォーム等によって提供されるものが挙げられる。
【0034】
[0042] さらなる例示的詳細によれば、図1に示されるように、ビデオゲームストリーミングクライアント114のゲームエンジン120が、ストリーミングサービス138によってストリーミングされたソースビデオゲームアプリケーション140からのゲームデータ144を受信する。一実施形態では、ビデオゲームストリーミングクライアント114は、コンピューティングデバイス104においてビデオゲームの映像及び音声を呈示することを含む、ビデオゲームをコンピューティングデバイス104のユーザに呈示すること、並びにコンピューティングデバイス104においてユーザによって提供されたユーザ入力イベントを受信することを行うように構成されている。例えば、諸実施形態では、ゲームエンジン120は、ゲームデータ144内の映像データの映像を表示スクリーン112上に表示し、ゲームデータ144内の(存在する場合には)音声データの音声をコンピューティングデバイス104のスピーカを通して流し、コンピューティングデバイス104のユーザに呈示された入力コントロールからの入力信号を受信し得る。ユーザ入力データ142は、ゲームエンジン120によって、タッチスクリーンであり得る、表示スクリーン112を含む、コンピューティングデバイス104における1つ以上のユーザインターフェースから受信される。ユーザ入力データ142は、ライブのゲームプレイ段階128の間にビデオゲームをプレイする際にユーザによって取られたアクション(例えば、表示スクリーン112上に表示されたコントロールをタッチすること)を指示する。図1に示されるように、ゲームエンジン120は、入力コントロールからの入力信号をユーザ入力データ142としてソースビデオゲームアプリケーション140へ伝送し得る。ユーザ入力データ142は、ソースビデオゲームアプリケーション140によって、後続のビデオゲームの実行を決定するために処理され、それゆえ、ユーザに呈示されるゲームデータ144の生成の際に用いられる。
【0035】
[0043] 一実施形態では、ゲームデータ144は、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む。表示スクリーン112は、ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、ゲーム映像を表示するように構成されている。例えば、図1に示されるように、表示スクリーン112はビデオゲーム映像116を受信し、コンピューティングデバイス104において表示する。さらに、表示スクリーン112はグラフィカルオーバレイ124をビデオゲーム映像116の上に表示し得る。グラフィカルオーバレイ124は、ゲームプレイヤがゲームプレイ中に表示スクリーン112上で対話し得る、本明細書においてユーザインターフェース(UI)コントロール構成と称される、1つ以上のグラフィカルコントロールの配置を含む。
【0036】
[0044] コントロール構成決定器118は、ビデオゲームの現在のゲームシナリオに基づいてUIコントロール構成を選択するように構成されている。ゲームシナリオの識別を助けるために、コントロール構成決定器118は、ゲームデータ144内の1つ以上の特徴を識別するように構成されている。上述されたように、特徴は、ゲーム映像フレーム、ゲーム音声データ、ビデオゲームに提供される入力イベントのストリーム内、コンピューティングデバイスのハードウェア使用内、ログファイル、API内等に存在し得る。
【0037】
[0045] 例えば、図1に示されるように、コントロール構成決定器118は、特徴130を識別するためにVGERML110にアクセスし得る。図1に示されるように、VGERMLモデル110はゲームデータ144を入力として受信し、追加的に、表示スクリーン150からの入力イベント150、及びコンピューティングデバイス104のタスクマネージャ若しくは他のハードウェアマネージャからのハードウェア/マシン使用データ152を受信してもよい。入力イベント150は、表示スクリーン112においてユーザによって提供されたユーザ入力イベント(UIコントロールとの対話)のストリームの指示を含む。入力イベント150はまた、ゲームエンジン120によっても受信され、本明細書の他所において説明されるように、ソースビデオゲームアプリケーション140によって、ユーザ入力データ142内に含めて伝送される。ハードウェア使用データ152は、特定のゲーム活動に対応する、プロセッサ利用レベル、メモリ使用レベル、ディスクアクセス、ログファイル内容/アクセス、APIアクセス、又は同様のものを含む、ビデオゲームプレイ中のコンピューティングデバイス104のハードウェアの指示を含む。ゲームデータ144、並びに任意選択的に、入力イベント150及び/又はハードウェア使用データ152に基づいて、VGERMLモデル110は特徴及び関連信頼スコア130を識別する。特徴及び関連信頼スコア130は、構成決定器118によってゲームシナリオを決定するために使用可能である。
【0038】
[0046] 一実施形態では、信頼スコアが閾値と所定の関係を有する場合には、特徴が存在すると決定される。例えば、信頼スコアは、0.0(低信頼)~1.0(高信頼)を含む、任意の好適な範囲を有し得る。信頼スコアは、0.5、0.7等などの、所定の閾値と比較され得る。信頼スコアが閾値よりも大きい場合には、コントロール構成決定器118は特徴を識別されたものとして指示し、コントロール構成ライブラリ122とインターフェースを取り、識別された特徴を指示するUIコントロール構成を選択するように構成されている。例えば、図1に示されるように、コントロール構成決定器118はコントロール構成ライブラリ122からUIコントロール構成を選択し得る。コントロール構成ライブラリ122は、ビデオゲームのプレイ中に呈示され得る、関連付けられたグラフィカルオーバレイを有する複数のコントロール構成を含む。図1の例では、識別された特徴に応じて、コントロール構成決定器118は、グラフィカルオーバレイ124に対応するコントロール構成132を選択した。
【0039】
[0047] 代替的に、コントロール構成決定器118は、識別された特徴に基づいてゲームシナリオを識別するために特徴-シナリオマップにアクセスし得る。具体的には、特徴-シナリオマップ内の1つ以上の特徴が特定的に探索され得る。1つ以上の特徴がゲームデータ内で見出された場合には(例えば、特定の音響、特定の色などの特定の属性を有する1つ以上の特定の画素)、識別された特徴は、特徴-シナリオマップによって、対応する現在のゲームシナリオに直接対応付けられる。例えば、例示的なビデオゲームでは、キャラクタが殺されたときに、ゲームデータ144内の1つ以上の特定のスクリーン画素が黒色に変化し得る。これらの黒色の画素は、特徴-シナリオマップ内の特定のゲームシナリオに対応する特徴であり得る。ゲームデータ144が特徴-シナリオマップに適用され得、これらの画素が、黒色であるときには、(例えば、対応するUIコントロール構成を選択すること/それに対応付けることによって)マップ内で指示されるゲームシナリオの対応する変化を生じさせ得る。
【0040】
[0048] UIコントロール構成が選択されると、コントロール構成決定器118は、関連付けられたグラフィカルオーバレイ124をビデオゲームへのオーバレイとして実施するように構成されている。例えば、図1に示されるように、コントロール構成決定器118はコントロール構成132を選択し、選択されたコントロール構成132の指示をゲームエンジン120に提供する。それに応じて、ゲームエンジン120は、コントロール構成132のグラフィカルオーバレイ124をビデオゲーム映像116へのオーバレイとして表示スクリーン112内に表示するように構成されている。
【0041】
[0049] 例えば、自動車のテールライトが、高い信頼値(例えば、0.8)を有する特徴として映像データ内で識別された場合には、テールライトの識別は自動車の存在を識別し得、それゆえ、ゲームプレイヤが自動車をビデオゲーム内で運転するために選択したものと指示し得る。それゆえ、識別されたテールライトの特徴に基づいてコントロール構成ライブラリ122から、自動車を運転するためのグラフィカルオーバレイを有するコントロール構成が選択され得る。グラフィカルオーバレイは、自動車を操向するため、自動車のスロットルを調整するため、自動車にブレーキをかけるため等の1つ以上のグラフィカルコントロールを含み得る。テールライトを識別すると、グラフィカルオーバレイが表示スクリーン112上に表示され得、ゲームプレイヤは、自動車を運転するためにグラフィカルオーバレイと対話し得る。
【0042】
[0050] 諸実施形態では、システム100は、その機能を実装するために様々な仕方で動作し得る。例えば、図2は、例示的な実施形態に係る、ビデオゲームイベント認識のための訓練された機械学習モデルを生成するためのフローチャート200を示す。一実施形態では、フローチャート200はコンピューティングデバイス102によって実装され得る。例示の目的のために、図2のフローチャート200が図1を引き続き参照して説明される。フローチャート200は、ゲーム映像データ内の表示オブジェクトの認識に関連するが、他の実施形態では、音響がゲーム音声データ内で識別されてもよく、入力イベントがユーザ入力データ内で識別されてもよく、マシン使用情報がマシン使用データ内で同様の仕方で識別されてもよいことに留意されたい。このようなデータのうちの任意のものが、機械学習モデルを生成するために用いられる訓練データとして用いられ得る。
【0043】
[0051] 図2のフローチャート200はステップ202から開始する。ステップ202において、ビデオゲームを実行し、訓練映像ストリームを含む訓練ゲームデータを生成する。例えば、図1を参照すると、ビデオゲームアプリケーション106をコンピューティングデバイス102において実行し、訓練ゲームデータ148を生成し得る。上述されたように、訓練ゲームデータ148は、訓練の間に生成されたビデオゲームのゲームデータであり、ゲームをプレイするユーザに呈示される。訓練段階126の間に、ビデオゲームアプリケーション106はまた、ゲームコントローラ、タッチスクリーン、キーボード等などの、ユーザによって用いられる1つ以上のユーザインターフェースデバイスからのユーザ入力データ134も受信する。ユーザ入力データ134は実行中にビデオゲームアプリケーション106によって受信され、ユーザに呈示される訓練ゲームデータ148のさらなるインスタンスの生成において用いられる。
【0044】
[0052] 例えば、ゲームプレイヤは、ゲーム内の武器を発射するためにコントロールと対話し得る。コントロールとのゲームプレイヤの対話はユーザ入力データ134内に含めて受信される。ビデオゲームアプリケーション106は、武器の発射及びその任意の効果を組み込むようビデオゲームを実行し、これが訓練ゲームデータ148内に含めて出力され得る。
【0045】
[0053] ステップ204において、訓練映像ストリームのゲーム映像フレーム内に表示されたオブジェクトの訓練指示を受信する。例えば、図1を参照すると、MLアプリケーション108が、訓練ゲームデータのゲーム映像フレーム内に表示されたオブジェクトの訓練指示を受信する。例えば、MLアプリケーション108は、自動車のテールライト、自動車のナンバープレートの指示、及び/又は自動車の後部の他の指示を訓練指示として受信し得る。このような訓練指示は、ユーザのキャラクタが運転のために自動車にまさに乗り込もうとしているときにビデオゲームのために表示スクリーン上に表示され得る、自動車の後端部を認識するよう機械学習モデルを訓練するために、自動車の後端部に関連付けられた特徴として提供される。このような状況において、ユーザは、コンピューティングデバイスに、自動車を運転するためのコントロールを含むグラフィカルオーバレイを表示スクリーンに自動的に表示するよう望み得る。
【0046】
[0054] このような訓練指示は任意の好適な仕方で提供され得る。例えば、ゲーム開発者は、オブジェクトのためのスクリーンの場所/領域、及びオブジェクトのための識別子を訓練指示として指示し得る。例えば、データ対が訓練指示として提供され得る。ゲーム開発者は、映像フレーム内の表示スクリーン上に表示された自動車のテールライトの周りに自動車のテールライトの例の場所として長方形を描くことができ、長方形を、自動車のテールライト及び/又は後端部を含むものとして識別することができる。上述されたように、自動車の後端部は、ゲームプレイヤが自動車をビデオゲーム内で運転するために選択したことを指示するものとしてゲーム映像内で識別するために望ましい特徴であり得る。
【0047】
[0055] ステップ206において、訓練映像ストリーム及び訓練指示を機械学習アルゴリズムに適用し、訓練された機械学習モデルを生成する。例えば、図1を参照すると、MLアプリケーション108が訓練映像ストリーム及び訓練指示を適用し、VGERMLモデル110を生成する。上述の例に従えば、VGERMLモデル110は、自動車関連ビデオゲームのための訓練されたモデルであり得、それゆえ、何よりも(例えば、武器、車両、キャラクタ等を識別することよりも)、キャラクタが自動車をまさに運転しようとしていると決定する能力を有するように訓練され得る。機械学習アルゴリズムは、ビデオゲームのプレイ中に自動車の後端部をどのように認識するのかを学習するべく用いるために、自動車の後端部を識別することに関連付けられた多くの様々な訓練指示を受信し得る。
【0048】
[0056] VGERMLモデル110は様々な形態で生成され得ることに留意されたい。一実施形態によれば、MLアプリケーション108は、本明細書の他所において言及される、又は別途知られた、好適な教師あり機械学習アルゴリズムに従ってVGERMLモデル110を生成し得る。例えば、MLアプリケーション108は、決定木の形態のVGERMLモデル110を生成及び/又は訓練するために、勾配ブースティング木アルゴリズム又は他の決定木アルゴリズムを実施し得る。決定木は、特徴を識別するために、入力データ(映像データ、音声データ、入力イベント、マシン使用データ等)を用いて走査され得る。代替的に、アプリケーション108は人工ニューラルネットワーク学習アルゴリズムを実施し、VGERMLモデル110を、人工ニューロンの相互連結されたグループであるニューラルネットワークとして生成し得る。ニューラルネットワークは、特徴を識別するために入力データを呈示され得る。
【0049】
[0057] 上述されたように、VGERMLモデル110は、現在のゲームシナリオに基づいてグラフィカルオーバレイを選択して実施するべく用いられるために、ビデオゲームストリーミングクライアント114内に含められる。任意の数のこのように構成されたビデオゲームストリーミングクライアント114が、対応するユーザデバイス内に、その内部において諸実施形態を可能にするために実装され得る。ビデオゲームストリーミングクライアント114は、この機能を実装するために様々な仕方で動作し得る。例えば、図3は、例示的な実施形態に係る、現在のゲーム状態に基づいてグラフィカルオーバレイを選択し、表示スクリーン上において実施するためのフローチャート300を示す。例示の目的のために、フローチャート300は、図1を引き続き参照して、及び図4を参照して説明される。図4は、例示的な実施形態に係る、現在のビデオゲーム状態に基づいてグラフィカルオーバレイを選択し、実施されたための図1のコンピューティングデバイス104関連部分を示す。
【0050】
[0058] 図4のビデオゲームストリーミングクライアント114及び表示スクリーン112は、図1に関して上述されたのと実質的に同様の仕方で動作する。フローチャート300はビデオゲームストリーミングクライアント114によって実装され得る。図4に示されるように、ビデオゲームストリーミングクライアント114は、コントロール構成決定器118、ゲームエンジン120、及びストレージ404を含む。ゲームエンジン120は任意選択的なゲーム映像変更器410を含む。コントロール構成決定器118は、VGERMLモデル110を含む、特徴識別器406、及びコントロール構成選択器408を含む。ストレージは図1のコントロール構成ライブラリ122を含む。当業者には、フローチャート300に関する以下の説明に基づいて他の構造及び動作の実施形態が明らかであろう。
【0051】
[0059] フローチャート300はステップ302から開始する。ステップ302において、ビデオゲームによって生成されたゲームデータを受信する。ゲームデータは、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む。例えば、図1を参照すると、ゲームエンジン120が、ビデオゲームによって生成されたビデオゲーム映像116を含むゲームデータ144を受信する。図1に示されるように、ゲームデータ144は、ストリーミングサービス138によってソースビデオゲームアプリケーション140からビデオゲームストリーミングクライアント114へストリーミングされ得る。
【0052】
[0060] ステップ304において、ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、ゲーム映像を表示スクリーン上に表示する。例えば、図1を参照すると、ビデオゲーム映像116がゲームエンジン120によってゲームデータ144から抽出され、表示スクリーン112に提供される。表示スクリーン112はビデオゲーム映像116を、コンピューティングデバイス104においてビデオゲームをプレイするユーザに表示する。
【0053】
[0061] ステップ306において、少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別する。例えば、図3を参照すると、特徴識別器406は、ゲームデータ内のビデオゲームの1つ以上の特徴を識別するように構成され得る。特徴識別器406はVGERMLモデル110の使用によってビデオゲームの特徴を識別する。以上において指示されたように、ゲームデータ144はゲーム映像フレーム及びゲーム音声データのストリームを含み得る。さらなるゲーム関連データはユーザ入力イベント150及びハードウェア使用データ152を含み得る。諸実施形態では、VGERMLモデル110は、ビデオゲームの特徴を識別するために、ゲームデータ144の映像データ及び/又は音声データ、ユーザ入力イベント150、並びに/或いはハードウェア使用データ152のうちの任意の1つ以上を受信し得る。上述されたように、VGERML110は、特徴の指示、及び指示された特徴が存在する確度を指示する関連信頼値を生成し得る。識別された特徴は、視覚的オブジェクト又は音響を含む、任意のビデオゲーム特徴であり得る。さらに、複数の特徴が同時に識別されてもよく、又は特徴の系列が識別されてもよい。
【0054】
[0062] 例えば、VGERMLモデル110は、0.9の信頼値を有する、音楽が特定のトラックに変化したという第1の特徴、及び0.95の信頼値を有する、スクリーンが暗くなったという第2の特徴を指示するための特徴130を生成し得る。
【0055】
[0063] 代替的に、上述されたように、図4の特徴識別器406は、特徴-シナリオマップ内に含まれる、特定の画素配置(例えば、色などの特定の属性を有する特定の画素)及び/又は音響などの、ゲームデータ内のビデオゲームの1つ以上の特徴を直接識別するように構成され得る。例えば、1つ以上の特定の画素の特定の色及び/又は特定の音響が特徴-シナリオマップによって特定のゲームシナリオに対応付けられてもよく、(例えば、ゲームキャラクタが歩いているところから、キャラクタが自動車に乗っているところへの)ゲームシナリオの変更をもたらす。このような場合には、VGERMLモデル110を用いる代わりに、特徴-シナリオマップがコントロール構成決定器118によって用いられてもよい。特徴-シナリオマップは特定のゲームデータ項目(例えば、特定の画素のための属性、音響等)を、関連付けられたゲームシナリオのための対応するUIコントロール構成に対応付け得る。特徴-シナリオマップは(例えば、ゲーム開発者によって)手動で構築されてもよく、又は諸実施形態では、他の仕方で構成されてもよい。
【0056】
[0064] ステップ308において、ビデオゲームのための複数のUIコントロール構成から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択する。UIコントロール構成の各々は、ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成されたビデオゲームへの対応するグラフィカルオーバレイを規定する。例えば、図4を参照すると、コントロール構成選択器408は、特徴130に基づいてコントロール構成ライブラリ122からUIコントロール構成132を選択し得る。例えば、UIコントロール構成132はライブラリ122内の特徴130に関連付けられていてもよく、これにより、特徴130が(許容可能な程度に高い信頼度をもって)識別されたときに、UIコントロール構成132が選択される。一実施形態では、UIコントロール構成132はグラフィカルオーバレイ124を規定する/含む。グラフィカルオーバレイ124は、ビデオゲームの特定のシナリオにおけるゲームプレイのために構成されている。
【0057】
[0065] 実施形態によっては、単一の識別された特徴が、UIコントロール構成を選択するためにコントロール構成によって用いられ得ることに留意されたい。例えば、テールライトが、識別された特徴である場合には、自動車の制御のためのUIコントロール構成が選択され得る。他の実施形態では、複数の識別された特徴が、UIコントロール構成を選択するためにコントロール構成によって用いられ得る。例えば、複数の自動車関連特徴(例えば、テールライト、ナンバープレート、後面ガラス)が、自動車の制御のためのUIコントロール構成を選択するために識別される必要があり得る。
【0058】
[0066] ステップ310において、選択されたUIコントロール構成に対応するグラフィカルオーバレイを表示スクリーン内のビデオゲーム上において実施する。例えば、図3を参照すると、ゲームエンジン120が、選択されたUIコントロール構成132に関連付けられたグラフィカルオーバレイ124に(コントロール構成選択器408を介して)アクセスし得る。ゲームエンジン120はグラフィカルオーバレイ124をビデオゲーム映像116へのオーバレイとして表示スクリーン112内に表示する。
【0059】
[0067] したがって、グラフィカルオーバレイ124が表示スクリーン112内に表示されると、ゲームプレイヤはグラフィカルオーバレイ124の表示されたコントロールと対話し得る。グラフィカルオーバレイ124は、上述されたようにゲーム関連データ内で識別された1つ以上の特徴の存在に対応する、現在のゲームシナリオに対応する。
【0060】
[0068] 一実施形態では、ビデオゲームから受信され、ビデオゲーム映像116として表示される映像データのストリームを変更するためのビデオゲーム変更器410が存在し得ることに留意されたい。例えば、一実施形態では、ビデオゲーム変更器410は、ビデオゲーム映像116のフレーム(又は複数のフレーム)として表示されるべき画像をレンダリングするように構成されている。ビデオゲーム変更器410は、画像を、受信された映像フレーム内に合成し、ビデオゲーム映像116内の変更された映像フレームを作成し得る。ビデオゲーム変更器410は、代替的に、ビデオゲーム映像116としての表示のために映像ストリーム内に挿入される、及び/又はその中の映像フレームを置換するための、全く新たな映像フレームを生成し得る。
【0061】
[0069] 上述されたように、ビデオゲームプレイ中に表示されたオブジェクトはゲームシナリオの変化を指示し得、それゆえ、ゲームオーバレイを変更するためのトリガになり得る。したがって、図6は、例示的な実施形態に係る、ビデオゲーム内のオブジェクトを識別するためのフローチャート600を示す。フローチャート600はフローチャート300(図3)のステップ306の間に実行され得る。例示の目的のために、フローチャート600は、図4を引き続き参照して、及び図5を参照して説明される。フローチャート600はゲーム映像データ内の表示オブジェクトの認識に関して説明されているが、他の実施形態では、音響がゲーム音声データ内で特徴として識別され得ることに留意されたい。さらに、特徴は、ユーザ入力データ内の入力イベント、及びマシン使用データを用いて識別され得る。諸実施形態は、ビデオゲームの特徴を識別するために用いられる、任意の組み合わせによる、このようなデータのうちの任意のものに関する。
【0062】
[0070] 図5は、例示的な実施形態に係る、グラフィカルオーバレイを選択するために用いられるビデオゲーム内の特徴を識別するための図1のコンピューティングデバイス104の関連部分のブロック図を示す。フローチャート600は特徴識別器306によって実装され得る。当業者には、フローチャート600に関する以下の説明に基づいて他の構造及び動作の実施形態が明らかであろう。フローチャート600は以下のように説明される。
【0063】
[0071] フローチャート600はステップ602から開始する。ステップ602において、表示スクリーンの所定のスクリーン領域をオブジェクトの画像のために分析する。例えば、図5を参照すると、特徴識別器302のVGERMLモデル110が、表示オブジェクトのための(表示スクリーン112上に示される)所定のスクリーン領域518を含む、全ての表示領域内の(図1におけるゲームデータ144の)ゲーム映像データ116を分析し得る。VGERMLモデル110は、所定のスクリーン領域518に、その領域が、関心のあるオブジェクトがゲームシナリオの変化と相関してゲームプレイ中に現れると分かっている場所であるがゆえに、注目するように構成され得る。例えば、所定のスクリーン領域518は、VGERMLモデル110の訓練(例えば、図2のフローチャート200)の間にオブジェクトの場所として指示されていてもよい。
【0064】
[0072] 例えば、図5に示されるように、所定のスクリーン領域518は、ユーザが自分のゲーム内キャラクタを、自動車を運転するために選択して乗り込むように制御したときに、自動車のテールライトが現れるための所定の場所であり得る。所定のスクリーン領域518内で識別されたテールライトは、ゲームが自動車運転シナリオに入ったことと高く相関する。それゆえ、VGERMLモデル110は自動車のテールライトを領域518内で識別し得る。
【0065】
[0073] ステップ604において、オブジェクトの画像が所定のスクリーン領域内に包含される確率を指示する、オブジェクトに関連付けられた信頼スコアを決定する。例えば、図5を参照すると、VGERMLモデル110が、オブジェクトの画像が所定のスクリーン領域内に包含される確率を指示する、オブジェクトに関連付けられた信頼スコアを決定する。
【0066】
[0074] 例えば、図5に示されるように、特徴識別器306は、VGERMLモデル110によって生成された特徴508を出力する。特徴508は、自動車のテールライトが識別されたこと、及び関連付けられた生成された信頼スコアを指示し得る。コントロール構成選択器408は特徴508を受信し、信頼スコアが十分に高い(例えば、所定の閾値よりも大きい)場合には、コントロール構成選択器408は、識別された特徴と相関するUIコントロール構成をライブラリ122から選択する。図5の例では、コントロール構成選択器408は、識別された自動車テールライトと相関する、自動車用UIコントロール構成502を選択する。
【0067】
[0075] コントロール構成選択器408は、自動車用UIコントロール構成502に関連付けられた自動車用UIオーバレイ510をゲームエンジン120に提供する。ゲームエンジン120は、自動車用UIオーバレイ510を表示スクリーン112内のビデオゲーム映像116の上に表示するように構成されている。それゆえ、ユーザは、自分のゲーム内キャラクタによって自動車を運転するために自動車用UIオーバレイ510のコントロールと対話することができる。自動車用UIオーバレイ510は、汎用のUIオーバレイとなるのではなく、ビデオゲーム内での自動車の運転のためにカスタマイズされており、これにより、ユーザのゲームエクスペリエンスを改善する。
【0068】
[0076] 上述されたように、特定のビデオゲームに合わせるために、諸実施形態は、グラフィカルオーバレイのコントロールによって提供される入力応答の調整を可能にする。ゲーム開発者は、UIコントロールの対象を特定の対象入力デバイスとする過程で、UIコントロールのための不感帯及び特定用途向け応答曲線を作成し得る。例えば、対象入力デバイスは、キーボード、マウス、又はゲームコントローラであり得る。したがって、ゲームストリーミングを実施する際には、クライアントコンピューティングデバイスにおける新たな入力コントロール(例えば、タッチコントロール)が、ゲームコントローラ上のスティックであり得る、元来意図された入力コントロールではないために、コントロールの入力応答が不正確になり得る。それゆえ、以下において説明されるように、システムは、クライアントデバイスにおけるUIコントロールの入力応答の調整を提供する。
【0069】
[0077] 例えば、サムスティックなどの2次元コントロールは2次元旋回曲線を有し、放射状、楕円形、又は正方形などの幾何形状を有し得る。ビデオゲームがゲームコントローラのために調整されている場合には、自動車を左又は右に操向するために、サムスティック上の水平軸が-1から+1まで枢転し得る。ゲーム開発者は、サムスティックの中央枢転領域(例えば、-.25~+.25)内の領域を、サムスティックがそこに位置付けられているときには操向が生じない不感帯となるようにプログラムし得、これは、操向がユーザに過度に落ち着きなく感じられることを防止し得る。さらに、応答曲線の最後においては、ユーザがサムスティックを用いて極端な動きを行った際の急旋回を可能にするために、より極端な応答がプログラムされてもよい。しかし、タッチスクリーンなどの、異なるデバイス上で用いられる際には、タッチコントロールが必ずしもサムスティック応答曲線を用いてうまく機能するとは限らないため、ユーザは不十分なエクスペリエンスを有することになる。
【0070】
[0078] それゆえ、一実施形態では、コントロール調整を用いて、ゲーム内の応答と1対1となるコントロールのための均一な応答を有するように、ゲーム調整を平坦化し得る。平坦化後に、コントロールを、タッチスクリーンなどの、クライアントコントロールのために調整し得る。このような調整は、例えば、対応する範囲を有する1つ以上の不感帯を挿入すること、曲線の領域を切り抜くこと、応答曲率を変更すること等を含み得る。
【0071】
[0079] したがって、諸実施形態では、コントロール構成決定器118は、コントロール調整を可能にするように構成され得る。例えば、コントロール構成決定器118は図8に従って動作し得る。図8は、例示的な実施形態に係る、タッチスクリーングラフィカルオーバレイに関連付けられたコントロールを調整するためのフローチャート800を示す。例示の目的のために、フローチャート800は、図4及び図5を引き続き参照して、並びに図7を参照して説明される。図7は、例示的な実施形態に係る、ビデオゲームグラフィカルオーバレイのユーザインターフェースコントロールを調整するための図1のコンピューティングデバイス104の関連部分のブロック図を示す。
【0072】
[0080] フローチャート800はゲーム入力応答調整器720によって実装され得る。当業者には、フローチャート800に関する以下の説明に基づいて他の構造及び動作の実施形態が明らかであろう。フローチャート800は以下のように説明される。
【0073】
[0081] フローチャート800はステップ802から開始する。ステップ802において、物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化する。例えば、図7の例を参照すると、ゲーム入力応答調整器720が、自動車用UIコントロール構成706のコントロールに関連付けられたコントロール入力応答曲線702を線形化する。例えば、コントロール入力応答曲線702はゲームコントローラのスティック又はボタンに元来関連付けられていてもよく、それゆえ、上述されたように線形でなくてもよい。ゲーム入力応答調整器720は、コントロール入力応答曲線702を、1:1の(曲線状でない)入力応答を有するよう平坦化するように構成されている。
【0074】
[0082] ステップ804において、線形化されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力のために調整する。例えば、図7を参照すると、ゲーム入力応答調整器720が、ゲーム開発者又は他のユーザがグラフィカルオーバレイのコントロール入力応答曲線702のための調整情報を入力することを可能にする。諸実施形態では、調整情報は、自動車用UIコントロール構成706に関連付けられた自動車用グラフィカルオーバレイ710を表示する、表示スクリーン112におけるタッチ入力の調節の形態のものであり得る。ゲーム開発は、ゲーム入力応答調整器720によって表示スクリーン112において表示された1つ以上の制御コントロールと対話することなどによって、コントロール入力応答曲線状702の調整を任意の仕方で調節することを可能にされ得る。ゲーム入力応答調整器720は、コントロール入力応答曲線702を、(ステップ802の)平坦化されたバージョンから、任意の所望の曲率を有すると共に、所望される場合には、1つ以上の不感領域を有するように調整することを可能にする。
【0075】
[0083] ステップ806において、調整されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力に関連付ける。例えば、図7に示されるように、ゲーム入力応答調整器720が、コントロール入力応答曲線702を、自動車用UIコントロール構成702において規定された自動車用グラフィカルオーバレイ710の関連コントロールに関連付ける。
【0076】
III.例示的なコンピュータシステムの実装形態
[0084] コンピューティングデバイス102、コンピューティングデバイス104、ビデオゲームアプリケーション106、MLアプリケーション108、VGERMLモデル110、表示スクリーン112、ビデオゲームストリーミングクライアント114、ビデオゲーム映像116、コントロール構成決定器118、ゲームエンジン120、コントロール構成ライブラリ122、ゲーム入力応答調整器720、ストレージ404、特徴識別器406、コントロール構成選択器408、ゲーム映像変更器410、フローチャート200、フローチャート300、フローチャート600、及びフローチャート800は、ハードウェア、或いはソフトウェア及び/又はファームウェアのうちの一方又は両方と組み合わせたハードウェアの形で実施され得る。例えば、コンピューティングデバイス102、コンピューティングデバイス104、ビデオゲームアプリケーション106、MLアプリケーション108、VGERMLモデル110、表示スクリーン112、ビデオゲームストリーミングクライアント114、ビデオゲーム映像116、コントロール構成決定器118、ゲームエンジン120、コントロール構成ライブラリ122、ゲーム入力応答調整器720、ストレージ404、特徴識別器406、コントロール構成選択器408、ゲーム映像変更器410、フローチャート200、フローチャート300、フローチャート600、及びフローチャート800は、1つ以上のプロセッサにおいて実行され、コンピュータ可読記憶媒体内に記憶されるように構成されたコンピュータプログラムコード/命令として実施され得る。代替的に、コンピューティングデバイス102、コンピューティングデバイス104、ビデオゲームアプリケーション106、MLアプリケーション108、VGERMLモデル110、表示スクリーン112、ビデオゲームストリーミングクライアント114、ビデオゲーム映像116、コントロール構成決定器118、ゲームエンジン120、コントロール構成ライブラリ122、ゲーム入力応答調整器720、ストレージ404、特徴識別器406、コントロール構成選択器408、ゲーム映像変更器410、フローチャート200、フローチャート300、フローチャート600、及びフローチャート800は、ハードウェア論理/電気回路機構として実施され得る。
【0077】
[0085] 例えば、一実施形態では、コンピューティングデバイス102、コンピューティングデバイス104、ビデオゲームアプリケーション106、MLアプリケーション108、VGERMLモデル110、表示スクリーン112、ビデオゲームストリーミングクライアント114、ビデオゲーム映像116、コントロール構成決定器118、ゲームエンジン120、コントロール構成ライブラリ122、ゲーム入力応答調整器720、ストレージ404、特徴識別器406、コントロール構成選択器408、ゲーム映像変更器410、フローチャート200、フローチャート300、フローチャート600、及びフローチャート800のうちの、任意の組み合わせによる、1つ以上は、SoCにおいて共同で実施され得る。SoCは、プロセッサ(例えば、中央処理装置(CPU(central processing unit))、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ(DSP(digital signal processor))等)、メモリ、1つ以上の通信インターフェース、及び/又はさらなる回路のうちの1つ以上を含む集積回路チップを含み得、任意選択的に、受信されたプログラムコードを実行し、及び/又は機能を実装するための組み込みファームウェアを含み得る。
【0078】
[0086] 図9は、諸実施形態が実施され得るコンピューティングデバイス900の例示的な実装形態を示す。例えば、コンピューティングデバイス102及びコンピューティングデバイス104は、コンピューティングデバイス900の1つ以上の特徴及び/又は代替的な特徴を含む、固定型又は移動型コンピュータの実施形態におけるコンピューティングデバイス900と同様の1つ以上のコンピューティングデバイスにおいて各々実施され得る。本明細書において与えられるコンピューティングデバイス900の説明は例示の目的のために与えられており、限定であることを意図されていない。諸実施形態は、当業者に知られているように、さらなる種類のコンピュータシステムにおいて実施され得る。
【0079】
[0087] 図9に示されるように、コンピューティングデバイス900は、プロセッサ回路902と称される、1つ以上のプロセッサと、システムメモリ904と、システムメモリ904を含む様々なシステム構成要素をプロセッサ回路902に結合するバス906とを含む。プロセッサ回路902は、1つ以上の物理的ハードウェア電気回路デバイス要素及び/又は集積回路デバイス(半導体材料チップ若しくはダイ)において、中央処理装置(CPU)、マイクロコントローラ、マイクロプロセッサ、及び/又は他の物理的ハードウェアプロセッサ回路として実施された電気及び/又は光回路である。プロセッサ回路902は、オペレーティングシステム930のプログラムコード、アプリケーションプログラム932、他のプログラム934等などの、コンピュータ可読媒体内に記憶されたプログラムコードを実行し得る。バス906は、メモリバス又はメモリコントローラ、周辺バス、アクセラレイティッドグラフィックスポート、並びに種々のバスアーキテクチャのうちの任意のものを用いるプロセッサ又はローカルバスを含む、いくつかの種類のバス構造のうちの任意のもののうちの1つ以上を表す。システムメモリ904は、リードオンリーメモリ(ROM(read only memory))908及びランダムアクセスメモリ(RAM(random-access memory))910を含む。基本入力/出力システム912(BIOS(basic input/output system))がROM908内に記憶されている。
【0080】
[0088] コンピューティングデバイス900はまた、以下のドライブ:ハードディスクからの読み出し、及びそれへの書き込みのためのハードディスクドライブ914、取り外し可能磁気ディスク918からの読み出し、及びそれへの書き込みのための磁気ディスクドライブ916、並びにCD ROM、DVD ROM、又は他の光媒体などの、取り外し可能光ディスク922からの読み出し、及びそれへの書き込みのための光ディスクドライブ920のうちの1つ以上を有する。ハードディスクドライブ914、磁気ディスクドライブ916、及び光ディスクドライブ920は、それぞれ、ハードディスクドライブインターフェース924、磁気ディスクドライブインターフェース926、及び光学ドライブインターフェース928によってバス906に接続されている。ドライブ及びそれらの関連コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータのための他のデータの不揮発性記憶をもたらす。ハードディスク、取り外し可能磁気ディスク、及び取り外し可能光ディスクが説明されたが、フラッシュメモリカード、デジタルビデオディスク、RAM、ROM、及び他のハードウェア記憶媒体などの、他の種類のハードウェアベースのコンピュータ可読記憶媒体を、データを記憶するために用いることもできる。
【0081】
[0089] 多数のプログラムモジュールが、ハードディスク、磁気ディスク、光ディスク、ROM、又はRAM上に記憶され得る。これらのプログラムは、オペレーティングシステム930、1つ以上のアプリケーションプログラム932、他のプログラム934、及びプログラムデータ936を含む。アプリケーションプログラム932又は他のプログラム934は、例えば、コンピューティングデバイス102、コンピューティングデバイス104、ビデオゲームアプリケーション106、MLアプリケーション108、VGERMLモデル110、表示スクリーン112、ビデオゲームストリーミングクライアント114、ビデオゲーム映像116、コントロール構成決定器118、ゲームエンジン120、コントロール構成ライブラリ122、ゲーム入力応答調整器720、ストレージ404、特徴識別器406、コントロール構成選択器408、ゲーム映像変更器410、フローチャート200、フローチャート300、フローチャート600、及びフローチャート800、並びに/或いは本明細書において説明されるさらなる実施形態を実施するためのコンピュータプログラム論理(例えば、コンピュータプログラムコード又は命令)を含み得る。
【0082】
[0090] ユーザは、キーボード938及びポインティングデバイス940などの入力デバイスを通じてコマンド及び情報をコンピューティングデバイス900に入力し得る。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、タッチスクリーン及び/又はタッチパッド、音声入力を受け付けるための音声認識システム、ジェスチャ入力を受け付けるためのジェスチャ認識システム、或いは同様のものを含み得る。これら及び他の入力デバイスは、多くの場合、バス906に結合されたシリアルポートインターフェース942を通じてプロセッサ回路902に接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB(universal serial bus))などの、他のインターフェースによって接続されてもよい。
【0083】
[0091] 表示スクリーン944も、ビデオアダプタ946などの、インターフェースを介してバス906に接続されている。表示スクリーン944はコンピューティングデバイス900の外部にあるか、又はそれに組み込まれ得る。表示スクリーン944は情報を表示すると共に、ユーザコマンド及び/又は他の情報を(例えば、タッチ、フィンガジェスチャ、仮想キーボード等によって)受け付けるためのユーザインターフェースであり得る。表示スクリーン944に加えて、コンピューティングデバイス900は、スピーカ及びプリンタなどの他の周辺出力デバイス(図示せず)を含み得る。
【0084】
[0092] コンピューティングデバイス900は、アダプタ若しくはネットワークインターフェース950、モデム952、又はネットワークを通じた通信を確立するための他の手段を通じてネットワーク948(例えば、インターネット)に接続される。内部又は外部にあり得る、モデム952は、図9に示されるように、シリアルポートインターフェース942を介してバス906に接続され得るか、又はパラレルインターフェースを含む、別のインターフェース形式を用いてバス906に接続され得る。
【0085】
[0093] 本明細書において使用するとき、用語「コンピュータプログラム媒体」、「コンピュータ可読媒体」、及び「コンピュータ可読記憶媒体」は、ハードディスクドライブ914に関連付けられたハードディスク、取り外し可能磁気ディスク918、取り外し可能光ディスク922、RAM、ROM、フラッシュメモリカード、デジタルビデオディスク、zipディスク、MEM、ナノテクノロジーベースの記憶デバイスなどの他の物理的ハードウェア媒体、及びさらなる種類の物理的/有形のハードウェア記憶媒体などの物理的ハードウェア媒体を指すために使用される。このようなコンピュータ可読記憶媒体は通信媒体とは区別され、それらとは重複しない(通信媒体を含まない)。通信媒体は、搬送波などの変調データ信号でコンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータを具現する。用語「変調データ信号」は、信号内に情報を符号化するような仕方でその特性のうちの1つ以上を設定又は変更させた信号を意味する。限定ではなく、例として、通信媒体は、音響、RF、赤外線、及び他の無線媒体などの無線媒体、並びに有線媒体を含む。諸実施形態はまた、コンピュータ可読記憶媒体に関する実施形態とは別個であり、重複しないこのような通信媒体に関する。
【0086】
[0094] 上述されたように、コンピュータプログラム及びモジュール(アプリケーションプログラム932及び他のプログラム934を含む)は、ハードディスク、磁気ディスク、光ディスク、ROM、RAM、又は他のハードウェア記憶媒体上に記憶され得る。このようなコンピュータプログラムはまた、ネットワークインターフェース950、シリアルポートインターフェース942、又は任意の他のインターフェース形式を介して受信され得る。このようなコンピュータプログラムは、アプリケーションによって実行又はロードされたときに、コンピューティングデバイス900が、本明細書において説明される実施形態の特徴を実施することを可能にする。したがって、このようなコンピュータプログラムはコンピューティングデバイス900のコントローラを表す。
【0087】
[0095] 諸実施形態はまた、任意のコンピュータ可読媒体上に記憶されたコンピュータコード又は命令を含むコンピュータプログラム製品に関する。このようなコンピュータプログラム製品は、ハードディスクドライブ、光ディスクドライブ、メモリデバイスパッケージ、ポータブルメモリスティック、メモリカード、及び他の種類の物理的記憶ハードウェアを含む。
【0088】
IV.追加の例示的な実施形態
[0096] 表示スクリーンを有するコンピューティングデバイスにおける方法が本明細書において説明される。本方法は、ビデオゲームによって生成されたゲームデータを受信することであって、ゲームデータが、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、受信することと、ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、表示スクリーン上において、ゲーム映像を表示することと、少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別することと、ビデオゲームのための複数のUIコントロール構成から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択することであって、UIコントロール構成の各々が、ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成されたビデオゲームへの対応するグラフィカルオーバレイを規定する、選択することと、表示スクリーン内のビデオゲーム上において、選択されたUIコントロール構成に対応するグラフィカルオーバレイを実施することと、を含む。
【0089】
[0097] 上述の方法の一実施形態では、前記識別することが、以下のもの:ゲームデータのゲーム映像フレーム、ゲームデータのゲーム音声データ、ビデオゲームに提供される入力イベントのストリーム、又はコンピューティングデバイスのハードウェアの使用、のうちの少なくとも1つにおけるビデオゲームの特徴を識別することを含む。
【0090】
[0098] 上述の方法の別の実施形態では、少なくとも1つの特徴がオブジェクトを含み、前記識別することが、表示スクリーンの所定のスクリーン領域をオブジェクトの画像のために分析することと、オブジェクトの画像が所定のスクリーン領域内に包含される確率を指示するオブジェクトに関連付けられた信頼スコアを決定することと、をさらに含む。
【0091】
[0099] 上述の方法のさらに別の実施形態では、前記分析することが、オブジェクトの画像を包含する映像ストリームのゲーム映像フレームの部分を、訓練された機械学習モデルに適用し、信頼スコアを生成することを含む。
【0092】
[0100] 上述の方法のさらに別の実施形態では、本方法が、ビデオゲームを実行し、訓練映像ストリームを含む訓練ゲームデータを生成することと、訓練映像ストリームを含む訓練ゲームデータのゲーム映像フレーム内に表示されたオブジェクトの訓練指示を受信することと、訓練映像ストリーム及び訓練指示を含む訓練ゲームデータを機械学習アルゴリズムに適用し、訓練された機械学習モデルを生成することと、をさらに含む。
【0093】
[0101] 上述の方法のさらに別の実施形態では、表示スクリーンがタッチスクリーンであり、本方法が、グラフィカルオーバレイに対応する選択されたUIコントロール構成に関連付けられたコントロールをタッチスクリーンのために調整することをさらに含み、前記調整することが、物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、線形化されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力のために調整すること、及び調整されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力に関連付けること、を含む。
【0094】
[0102] 上述の方法のさらに別の実施形態では、ゲームデータがゲーム映像フレームを含み、ゲーム映像フレームが、コンピューティングデバイスによってレンダリングされ、ゲーム映像フレーム内に合成された画像を含む。
【0095】
[0103] コンピューティングデバイスにおけるシステムが本明細書において説明される。システムはビデオゲームストリーミングクライアントを含み、ビデオゲームストリーミングクライアントは、ゲームエンジンであって、ビデオゲームによって生成されたゲームデータを受信することであって、ゲームデータが、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、受信すること、及びビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、ゲーム映像を表示スクリーン上に表示すること、を行うように構成されたゲームエンジンと、コントロール構成決定器であって、特徴識別器であって、少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別するように構成されている、特徴識別器、並びにコントロール構成選択器であって、ビデオゲームのための複数のUIコントロール構成から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択することであって、UIコントロール構成の各々が、ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成されたビデオゲームへの対応するグラフィカルオーバレイを規定する、選択すること、及び選択されたUIコントロール構成に対応するグラフィカルオーバレイを表示スクリーン内のビデオゲーム上において実施すること、を行うように構成されている、コントロール構成選択器、を備える、コントロール構成決定器と、を備える。
【0096】
[0104] 上述のシステムの一実施形態では、特徴識別器が、以下のもの:ゲームデータのゲーム映像フレーム、ゲームデータのゲーム音声データ、ビデオゲームに提供される入力イベントのストリーム、又はコンピューティングデバイスのハードウェアの使用、のうちの少なくとも1つにおけるビデオゲームの特徴を識別するようにさらに構成されている。
【0097】
[0105] 上述のシステムの別の実施形態では、少なくとも1つの特徴がオブジェクトを含み、特徴識別器が、表示スクリーンの所定のスクリーン領域をオブジェクトの画像のために分析することと、オブジェクトの画像が所定のスクリーン領域内に包含される確率を指示するオブジェクトに関連付けられた信頼スコアを決定することと、を行うようにさらに構成されている。
【0098】
[0106] 上述のシステムのさらに別の実施形態では、特徴識別器が、オブジェクトの画像を包含する映像ストリームのゲーム映像フレームの部分を、訓練された機械学習モデルに適用し、信頼スコアを生成するように構成されている。
【0099】
[0107] 上述のシステムのさらに別の実施形態では、表示スクリーンがタッチスクリーンであり、ビデオゲームストリーミングクライアントが、グラフィカルオーバレイに対応する選択されたUIコントロール構成に関連付けられたコントロールをタッチスクリーンのために調整するように構成されたゲーム入力応答調整器を備え、ゲーム入力応答調整器が、物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、線形化されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力のために調整すること、及び調整されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力に関連付けること、を行うように構成されている。
【0100】
[0108] 上述のシステムのさらに別の実施形態では、ゲームデータがゲーム映像フレームを含み、ゲームエンジンが、画像をレンダリングし、画像をゲーム映像フレーム内に合成するように構成されたゲーム映像変更器を含む。
【0101】
[0109] 少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに方法を実施させるコンピュータプログラム論理が上に記録されたコンピュータ可読媒体であって、本方法が、ビデオゲームによって生成されたゲームデータを受信することであって、ゲームデータが、ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、受信することと、ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザに示すために、表示スクリーン上において、ゲーム映像を表示することと、少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別することと、ビデオゲームのための複数のUIコントロール構成から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択することであって、UIコントロール構成の各々が、ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成されたビデオゲームへの対応するグラフィカルオーバレイを規定する、選択することと、表示スクリーン内のビデオゲーム上において、選択されたUIコントロール構成に対応するグラフィカルオーバレイを実施することと、を含む。
【0102】
[0110] 上述のコンピュータ可読媒体の一実施形態では、前記識別することが、以下のもの:ゲームデータのゲーム映像フレーム、ゲームデータのゲーム音声データ、ビデオゲームに提供される入力イベントのストリーム、又はコンピューティングデバイスのハードウェアの使用、のうちの少なくとも1つにおけるビデオゲームの特徴を識別することを含む。
【0103】
[0111] 上述のコンピュータ可読媒体の別の実施形態では、少なくとも1つの特徴がオブジェクトを含み、前記識別することが、表示スクリーンの所定のスクリーン領域をオブジェクトの画像のために分析することと、オブジェクトの画像が所定のスクリーン領域内に包含される確率を指示するオブジェクトに関連付けられた信頼スコアを受信することと、をさらに含む。
【0104】
[0112] 上述のコンピュータ可読媒体の別の実施形態では、前記分析することが、オブジェクトの画像を包含する映像ストリームのゲーム映像フレームの部分を、訓練された機械学習モデルに適用し、信頼スコアを生成することを含む。
【0105】
[0113] 上述のコンピュータ可読媒体の別の実施形態では、本方法が、ビデオゲームを実行し、訓練映像ストリームを生成することと、訓練映像ストリームのゲーム映像フレーム内に表示されたオブジェクトの訓練指示を受信することと、訓練映像ストリーム及び訓練指示を機械学習アルゴリズムに適用し、訓練された機械学習モデルを生成することと、をさらに含む。
【0106】
[0114] 上述のコンピュータ可読媒体の別の実施形態では、表示スクリーンがタッチスクリーンであり、本方法が、グラフィカルオーバレイに対応する選択されたUIコントロール構成に関連付けられたコントロールをタッチスクリーンのために調整することをさらに含み、前記調整することが、物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、線形化されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力のために調整すること、及び調整されたゲーム入力応答曲線をグラフィカルオーバレイのタッチ入力に関連付けること、を含む。
【0107】
[0115] 上述のコンピュータ可読媒体の別の実施形態では、ゲームデータがゲーム映像フレームを含み、ゲーム映像フレームが、コンピューティングデバイスによってレンダリングされ、ゲーム映像フレーム内に合成された画像を含む。
【0108】
V.結論
[0116] 本出願の様々な実施形態が以上において説明されたが、それらは、限定ではなく、単なる例として呈示されたにすぎないことを理解されたい。添付の請求項において定義される本出願の趣旨及び範囲から逸脱することなく、形態及び細部の様々な変更が実施形態においてなされ得ることが当業者によって理解されるであろう。したがって、本出願の広さ及び範囲は、上述された例示的な実施形態のうちのいずれによっても限定されてはならず、添付の請求項及びそれらの等価物にのみ従って定義されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2024-03-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
表示スクリーンを有するコンピューティングデバイスにおける方法であって、
少なくともゲームデータ内のゲーム映像フレームにおいてビデオゲームの少なくとも1つの特徴を識別することであって、前記少なくとも1つの特徴がオブジェクトを含み、前記ビデオゲームの少なくとも1つの特徴を識別することが、
前記表示スクリーンの所定のスクリーン領域において前記オブジェクトの画像を識別することと、
前記オブジェクトの前記画像が前記所定のスクリーン領域内に包含される確率を指示する、前記オブジェクトに関連付けられた信頼スコアを決定することと、をさらに含む、識別することと、
前記識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を自動的に選択することと、
前記表示スクリーン内に表示された前記ビデオゲームのゲームビデオ上において、前記選択されたUIコントロール構成に対応するグラフィカルオーバレイを実施することであって、前記グラフィカルオーバレイが、前記コンピューティングデバイスにおいて前記ビデオゲームをプレイするユーザにより、前記ビデオゲームのプレイ中に前記ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成される、実施することと、
を含む方法。
【請求項2】
前記ビデオゲームを実行し、前記ゲームデータを前記コンピューティングデバイスにストリーミングするサーバから前記ゲームデータを受信すること、を更に含む、請求項1に記載の方法。
【請求項3】
前記表示スクリーンがタッチスクリーンであり、前記方法が、
前記グラフィカルオーバレイに対応する前記選択されたUIコントロール構成に関連付けられたコントロールを前記タッチスクリーンのために調整することをさらに含み、前記調整することが、
物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、
前記線形化されたゲーム入力応答曲線を前記グラフィカルオーバレイのタッチ入力のために調整すること、及び
前記調整されたゲーム入力応答曲線を前記グラフィカルオーバレイの前記タッチ入力に関連付けること、
を更に含む、請求項1に記載の方法。
【請求項4】
表示スクリーンを有するコンピューティングデバイスにおいて実施されるシステムであって、前記システムが、
特徴識別器であって、少なくともゲームデータ内のゲーム映像フレームにおいてビデオゲームの少なくとも1つの特徴を識別するように構成されており、前記少なくとも1つの特徴がオブジェクトを含み、前記特徴識別器が、前記表示スクリーンの所定のスクリーン領域において前記オブジェクトの画像を識別することと、前記オブジェクトの前記画像が前記所定のスクリーン領域内に包含される確率を指示する、前記オブジェクトに関連付けられた信頼スコアを決定することと、を行うように更に構成されている、特徴識別器、並びに
コントロール構成選択器であって、
前記識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を自動的に選択すること、及び
前記表示スクリーン内に表示された前記ビデオゲームのゲームビデオ上において、前記選択されたUIコントロール構成に対応するグラフィカルオーバレイを実施することであって、前記グラフィカルオーバレイが、前記コンピューティングデバイスにおいて前記ビデオゲームをプレイするユーザにより、前記ビデオゲームのプレイ中に前記ビデオゲームの対応するライブのゲームシナリオにおいて対話されるように構成される、実施することと、
を行うように構成されている、コントロール構成選択器と、
を備える、システム。
【請求項5】
前記特徴識別器が、
前記ビデオゲームを実行し、前記ゲームデータを前記コンピューティングデバイスにストリーミングするサーバから前記ゲームデータを受信するように構成される、請求項4に記載のシステム。
【請求項6】
前記表示スクリーンがタッチスクリーンであり、前記システムが、
前記グラフィカルオーバレイに対応する前記選択されたUIコントロール構成に関連付けられたコントロールを前記タッチスクリーンのために調整するように構成されたゲーム入力応答調整器であって、
物理的ゲームコントローラ入力デバイスに関連付けられたゲーム入力応答曲線を線形化すること、
前記線形化されたゲーム入力応答曲線を前記グラフィカルオーバレイのタッチ入力のために調整すること、及び
前記調整されたゲーム入力応答曲線を前記グラフィカルオーバレイの前記タッチ入力に関連付けること、
を行うように構成されていることを含む、ゲーム入力応答調整器をさらに備える、請求項4に記載のシステム。
【請求項7】
少なくとも1つのプロセッサによって実行されたときに、前記少なくとも1つのプロセッサに請求項1~3のうちのいずれか1項に記載の方法を実施させるプログラムコードが記録されたコンピュータ可読媒体。
【外国語明細書】