JP2022502102A - 現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 - Google Patents

現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 Download PDF

Info

Publication number
JP2022502102A
JP2022502102A JP2021506335A JP2021506335A JP2022502102A JP 2022502102 A JP2022502102 A JP 2022502102A JP 2021506335 A JP2021506335 A JP 2021506335A JP 2021506335 A JP2021506335 A JP 2021506335A JP 2022502102 A JP2022502102 A JP 2022502102A
Authority
JP
Japan
Prior art keywords
game
video
video game
data
control configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021506335A
Other languages
English (en)
Other versions
JP7460600B2 (ja
Inventor
ウィーラー,ジョセフ
エム. ノバック,クリストファー
アール. チャベス,アロン
エセルストロム,タイラー
エム. ウィースト,ピーター
Original Assignee
マイクロソフト テクノロジー ライセンシング,エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロソフト テクノロジー ライセンシング,エルエルシー filed Critical マイクロソフト テクノロジー ライセンシング,エルエルシー
Publication of JP2022502102A publication Critical patent/JP2022502102A/ja
Application granted granted Critical
Publication of JP7460600B2 publication Critical patent/JP7460600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

システムは、現在のゲーム状態に基づいてストリーミングゲームにおいてグラフィカルオーバレイを実施するように構成されている。ゲーム映像フレームを包含する映像ストリームの形態のゲーム映像を含む、ビデオゲームによって生成されたゲームデータを受信する。ビデオゲームを、コンピューティングデバイスにおいてビデオゲームをプレイするユーザにビデオゲームを示すために、ゲーム映像をコンピューティングデバイスの表示スクリーン上に表示する。少なくともゲームデータ内のビデオゲームの少なくとも1つの特徴を識別する。ビデオゲームのための複数のUIコントロール構成の中から、識別された少なくとも1つの特徴に関連付けられたユーザインターフェース(UI)コントロール構成を選択し、選択されたUIコントロール構成に対応するグラフィカルオーバレイを表示スクリーン内のビデオゲーム上において実施する。

Description

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

Claims (14)

  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に記載の方法のうちのいずれかを実施させるプログラムコードが記録されたコンピュータ可読媒体。
JP2021506335A 2018-09-27 2019-06-26 現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施 Active JP7460600B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/144,883 US10569174B1 (en) 2018-09-27 2018-09-27 Implementing a graphical overlay for a streaming game based on current game scenario
US16/144,883 2018-09-27
PCT/US2019/039123 WO2020068220A1 (en) 2018-09-27 2019-06-26 Implementing a graphical overlay for a streaming game based on current game scenario

Publications (2)

Publication Number Publication Date
JP2022502102A true JP2022502102A (ja) 2022-01-11
JP7460600B2 JP7460600B2 (ja) 2024-04-02

Family

ID=67185804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021506335A Active JP7460600B2 (ja) 2018-09-27 2019-06-26 現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施

Country Status (14)

Country Link
US (2) US10569174B1 (ja)
EP (1) EP3856375B1 (ja)
JP (1) JP7460600B2 (ja)
KR (1) KR20210062640A (ja)
CN (1) CN112770819A (ja)
AU (1) AU2019350542B2 (ja)
BR (1) BR112021001916A2 (ja)
CA (1) CA3112906A1 (ja)
IL (1) IL281707A (ja)
MX (1) MX2021003629A (ja)
PH (1) PH12021550384A1 (ja)
SG (1) SG11202102613YA (ja)
WO (1) WO2020068220A1 (ja)
ZA (1) ZA202101736B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
US11038684B2 (en) 2018-06-28 2021-06-15 Microsoft Technology Licensing, Llc User authentication using a companion device
US11212331B1 (en) 2018-10-26 2021-12-28 Snap Inc. Triggering changes to real-time special effects included in a live streaming video
US11896909B2 (en) 2018-12-14 2024-02-13 Sony Interactive Entertainment LLC Experience-based peer recommendations
US10881962B2 (en) 2018-12-14 2021-01-05 Sony Interactive Entertainment LLC Media-activity binding and content blocking
US11213748B2 (en) 2019-11-01 2022-01-04 Sony Interactive Entertainment Inc. Content streaming with gameplay launch
US11442987B2 (en) 2020-05-28 2022-09-13 Sony Interactive Entertainment Inc. Media-object binding for displaying real-time play data for live-streaming media
US11602687B2 (en) 2020-05-28 2023-03-14 Sony Interactive Entertainment Inc. Media-object binding for predicting performance in a media
US11420130B2 (en) 2020-05-28 2022-08-23 Sony Interactive Entertainment Inc. Media-object binding for dynamic generation and displaying of play data associated with media
US11224806B2 (en) * 2020-06-19 2022-01-18 Sony Interactive Entertainment Inc. System assisted replay of exceptional game events in a video game
CN112099782B (zh) * 2020-09-22 2021-08-24 完美世界征奇(上海)多媒体科技有限公司 一种游戏开发方法、装置、设备及存储介质
CN116457066A (zh) * 2020-11-09 2023-07-18 索尼互动娱乐股份有限公司 交互式内容标题的可重玩活动
US11794119B2 (en) * 2021-03-01 2023-10-24 Super League Gaming, Inc. Intelligent prioritization and manipulation of stream views
US20220355211A1 (en) * 2021-05-04 2022-11-10 Sony Interactive Entertainment Inc. Controller action recognition from video frames using machine learning
CN117396254A (zh) * 2021-05-28 2024-01-12 微软技术许可有限责任公司 提供用于无干扰的在线游戏体验的个性化内容
US20230121618A1 (en) * 2021-09-28 2023-04-20 Sony Interactive Entertainment Inc. Reactions of failed attempts during points of gameplay
US11471777B1 (en) * 2022-04-06 2022-10-18 Discovery.Com, Llc Systems and methods for transmitting interactive game features to multiple devices of a shared streaming media session
US11846969B1 (en) * 2023-03-29 2023-12-19 Electronic Arts Inc. UI state identification, navigation and crawling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003164672A (ja) * 2001-08-22 2003-06-10 Microsoft Corp ネットワーク化されたゲームの観客経験を提供するシステムおよび方法
US9937415B1 (en) * 2013-12-17 2018-04-10 Amazon Technologies, Inc. Virtual controller for touchscreen
JP2018520772A (ja) * 2015-06-30 2018-08-02 アマゾン・テクノロジーズ・インコーポレーテッド ゲームシステムと観戦システムとの統合
US20180236361A1 (en) * 2016-11-15 2018-08-23 Genvid Technologies, Inc. Systems and methods of video game streaming with interactive overlay and additional data

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1628721A4 (en) 2003-06-02 2006-10-11 Disney Entpr Inc SYSTEM AND METHOD FOR INTERACTIVE VIDEO READING
US20050039010A1 (en) 2003-06-30 2005-02-17 Grove Brian D. Method and apparatus for authenticating to a remote server
US11049349B2 (en) 2004-06-01 2021-06-29 Daniel William Onischuk Computerized voting system
JP3734819B1 (ja) 2004-07-26 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
JP3942038B2 (ja) 2004-09-01 2007-07-11 株式会社タイトー 業務用対戦シミュレーションゲーム装置
US7458894B2 (en) 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
US9349201B1 (en) * 2006-08-03 2016-05-24 Sony Interactive Entertainment America Llc Command sentinel
US8601555B2 (en) 2006-12-04 2013-12-03 Samsung Electronics Co., Ltd. System and method of providing domain management for content protection and security
US20080248845A1 (en) 2007-04-06 2008-10-09 Henry Paul Morgan Contextual Gamer Options Menu
US8214888B2 (en) 2008-01-30 2012-07-03 Vasco Data Security, Inc. Two-factor USB authentication token
GB2463121A (en) 2008-09-09 2010-03-10 Skype Ltd Communications system with game playing facility
US8245044B2 (en) 2008-11-14 2012-08-14 Visa International Service Association Payment transaction processing using out of band authentication
US9350787B2 (en) 2009-06-01 2016-05-24 Sony Interactive Entertainment America Llc Methods and systems for generation and execution of miniapp of computer application served by cloud computing system
US8506402B2 (en) * 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
JP4932010B2 (ja) 2010-01-06 2012-05-16 株式会社スクウェア・エニックス ユーザインタフェース処理装置、ユーザインタフェース処理方法、およびユーザインタフェース処理プログラム
US8745401B1 (en) 2010-11-12 2014-06-03 Google Inc. Authorizing actions performed by an online service provider
EP2520999A1 (en) 2011-05-04 2012-11-07 Research In Motion Limited Methods for adjusting a presentation of graphical data displayed on a graphical user interface
US20130227647A1 (en) 2012-02-28 2013-08-29 Apple Inc. Shared network access via a peer-to-peer link
US9868062B2 (en) * 2012-03-13 2018-01-16 Sony Interactive Entertainment America Llc System, method, and graphical user interface for controlling an application on a tablet
US8814698B1 (en) 2012-03-30 2014-08-26 Zynga Inc. Graphical user interfaces in computer-implemented multiplayer games
US8954890B2 (en) 2012-04-12 2015-02-10 Supercell Oy System, method and graphical user interface for controlling a game
US9442778B2 (en) 2012-10-01 2016-09-13 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices
EP2973275A1 (en) 2013-03-14 2016-01-20 Ologn Technologies AG Methods, apparatuses and systems for providing user authentication
US8979658B1 (en) 2013-10-10 2015-03-17 Voyetra Turtle Beach, Inc. Dynamic adjustment of game controller sensitivity based on audio analysis
CN103530520A (zh) 2013-10-16 2014-01-22 腾讯科技(深圳)有限公司 一种数据获取的方法及终端
US9227141B2 (en) 2013-12-31 2016-01-05 Microsoft Technology Licensing, Llc Touch screen game controller
US10136315B2 (en) 2014-04-17 2018-11-20 Guang Gong Password-less authentication system, method and device
US20160253651A1 (en) 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device including electronic payment system and operating method thereof
US10250594B2 (en) 2015-03-27 2019-04-02 Oracle International Corporation Declarative techniques for transaction-specific authentication
JP6691351B2 (ja) 2015-03-31 2020-04-28 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
US9692603B2 (en) 2015-05-15 2017-06-27 Verizon Patent And Licensing Inc. Biometric PKI authentication
US10390082B2 (en) 2016-04-01 2019-08-20 Oath Inc. Computerized system and method for automatically detecting and rendering highlights from streaming videos
US11593797B2 (en) 2016-06-12 2023-02-28 Apple Inc. Authentication using a secure circuit
US10888788B2 (en) 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
WO2018009692A1 (en) 2016-07-08 2018-01-11 Pcms Holdings, Inc. Methods and systems for augmenting security of biometric user authentication
US10075495B2 (en) 2016-11-15 2018-09-11 Genvid Technologies, Inc. Systems and methods for video game streaming utilizing feedback and aggregation of viewer interests and interactions
US11241623B2 (en) * 2017-05-05 2022-02-08 Sony Interactive Entertainment LLC Instant streaming of a mobile user interface without application install
KR101803535B1 (ko) 2017-06-23 2017-11-30 주식회사 연합뉴스 일회용 토큰을 이용한 싱글 사인온 서비스 인증방법
US9985786B1 (en) 2017-11-21 2018-05-29 Ca, Inc. Cross-device authentication
US10701053B2 (en) 2018-02-28 2020-06-30 Bank Of America Corporation Authentication and approval control system for distributed ledger platform
US11038684B2 (en) 2018-06-28 2021-06-15 Microsoft Technology Licensing, Llc User authentication using a companion device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003164672A (ja) * 2001-08-22 2003-06-10 Microsoft Corp ネットワーク化されたゲームの観客経験を提供するシステムおよび方法
US9937415B1 (en) * 2013-12-17 2018-04-10 Amazon Technologies, Inc. Virtual controller for touchscreen
JP2018520772A (ja) * 2015-06-30 2018-08-02 アマゾン・テクノロジーズ・インコーポレーテッド ゲームシステムと観戦システムとの統合
US20180236361A1 (en) * 2016-11-15 2018-08-23 Genvid Technologies, Inc. Systems and methods of video game streaming with interactive overlay and additional data

Also Published As

Publication number Publication date
CA3112906A1 (en) 2020-04-02
MX2021003629A (es) 2021-05-27
SG11202102613YA (en) 2021-04-29
IL281707A (en) 2021-05-31
BR112021001916A2 (pt) 2021-04-27
US11033819B2 (en) 2021-06-15
JP7460600B2 (ja) 2024-04-02
ZA202101736B (en) 2022-05-25
EP3856375B1 (en) 2023-11-08
WO2020068220A1 (en) 2020-04-02
US20200101382A1 (en) 2020-04-02
PH12021550384A1 (en) 2021-09-20
CN112770819A (zh) 2021-05-07
KR20210062640A (ko) 2021-05-31
US10569174B1 (en) 2020-02-25
AU2019350542B2 (en) 2023-01-12
AU2019350542A1 (en) 2021-03-04
EP3856375A1 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
JP7460600B2 (ja) 現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施
US10839215B2 (en) Artificial intelligence for emulating human playstyles
US9717989B2 (en) Adding triggers to cloud-based emulated games
US10744408B2 (en) Information processing system, information processing method, information processing program, computer-readable recording medium storing the same program, data structure, information processing server, and information processing terminal
JP5127805B2 (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
CN112684970B (zh) 虚拟场景的适配显示方法、装置、电子设备及存储介质
US8829323B2 (en) System and method for single-user control of multiple roles within a music simulation
US20180311574A1 (en) Dual input multilayer keyboard
US11541313B2 (en) Systems and methods for providing customized game teasers to a user based on user references
JP2020201926A (ja) 視覚的特性に基づいて触覚効果を生成するためのシステムおよび方法
JP5759571B2 (ja) ゲームプログラムおよびゲーム装置
US8382589B2 (en) Musical action response system
TW202030007A (zh) 遊戲控制方法及裝置
JP2014079645A (ja) ゲームプログラムおよびゲーム装置
TWI729323B (zh) 互動式遊戲系統
US11992756B2 (en) Personalized VR controls and communications
WO2024060888A1 (zh) 虚拟场景的交互处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品
US20230386452A1 (en) Methods for examining game context for determining a user's voice commands
US20240024783A1 (en) Contextual scene enhancement
WO2024060924A1 (zh) 虚拟场景的互动处理方法、装置、电子设备及存储介质
US20240066413A1 (en) Ai streamer with feedback to ai streamer based on spectators
Inamdar et al. Snake Game with Motion Control Using Computer Vision
JP5501426B2 (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
JP2023501653A (ja) ビデオゲームにおけるサーバベースのビデオヘルプ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240321

R150 Certificate of patent or registration of utility model

Ref document number: 7460600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150