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

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

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

<>
  • 特許-ゲーム内の動的カメラアングル調整 図1
  • 特許-ゲーム内の動的カメラアングル調整 図2
  • 特許-ゲーム内の動的カメラアングル調整 図3
  • 特許-ゲーム内の動的カメラアングル調整 図4
  • 特許-ゲーム内の動的カメラアングル調整 図5A
  • 特許-ゲーム内の動的カメラアングル調整 図5B
  • 特許-ゲーム内の動的カメラアングル調整 図6
  • 特許-ゲーム内の動的カメラアングル調整 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】ゲーム内の動的カメラアングル調整
(51)【国際特許分類】
   A63F 13/525 20140101AFI20241025BHJP
   G06N 20/00 20190101ALI20241025BHJP
   G06T 19/00 20110101ALI20241025BHJP
【FI】
A63F13/525
G06N20/00
G06T19/00 300A
G06T19/00 300B
【請求項の数】 15
(21)【出願番号】P 2023532734
(86)(22)【出願日】2021-10-05
(65)【公表番号】
(43)【公表日】2023-12-19
(86)【国際出願番号】 US2021053521
(87)【国際公開番号】W WO2022115160
(87)【国際公開日】2022-06-02
【審査請求日】2023-07-31
(31)【優先権主張番号】17/107,730
(32)【優先日】2020-11-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】リージー、ファビオ
【審査官】鈴木 崇雅
(56)【参考文献】
【文献】米国特許出願公開第2017/0157512(US,A1)
【文献】米国特許出願公開第2017/0269685(US,A1)
【文献】特開2015-013103(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-98
G06N 3/02-10
G06N 20/00
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することであって、前記メタデータが、前記複数のビデオシーケンスのそれぞれで使用される前記カメラアングルを含む、前記受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含
前記AIモデルを生成することは、
前記複数のビデオシーケンスのそれぞれからビデオ特徴データを抽出することと、
前記複数のビデオシーケンスのそれぞれに関連付けられたメタデータ特徴データを抽出することと、
前記AIモデルによる処理のために、前記ビデオ特徴データ及び前記メタデータ特徴データを分類することであって、前記AIモデルが、前記ビデオ特徴データ及び前記メタデータ特徴データを処理して、前記複数のビデオシーケンスのそれぞれで発生する前記アクションの特性にラベルを付けるように構成される、前記分類することと、
を含み、
前記AIモデルを生成することが、トレーニングプロセス中に行われる、方法。
【請求項2】
前記ゲームカメラアングルの前記調整することにより、前記ゲームの開発者カメラアングルが修正される、請求項1に記載の方法。
【請求項3】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することであって、前記メタデータが、前記複数のビデオシーケンスのそれぞれで使用される前記カメラアングルを含む、前記受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記AIモデルは、前記ゲームプレイ中に生成される前記ビデオシーケンスのスナップショットを処理するように構成され、前記ビデオシーケンスのスナップショットの前記処理が、
前記ゲームプレイ中に作り出される1つ以上のビデオシーケンスの画像コンテンツを調査して、ビデオ特徴データを作り出すことと、
前記調査された画像コンテンツに関連付けられたメタデータを調査して、メタデータ特徴データを作り出すことと、
を含み、
前記ビデオ特徴データ及び前記メタデータ特徴データが分類され、前記ゲームプレイ中に前記ビデオゲームのシーンを提示するために前記ゲームカメラアングルを調整するための前記調整命令を識別するように、前記AIモデルによって使用される、法。
【請求項4】
前記ビデオのスナップショットは、前記ゲームプレイ中に前記ビデオゲームのシーンを提示するために前記ゲームカメラアングルを調整するための前記調整命令の処理をトリガするように、前記ゲームプレイ中に定期的に生成される、請求項1に記載の方法。
【請求項5】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することであって、前記メタデータが、前記複数のビデオシーケンスのそれぞれで使用される前記カメラアングルを含む、前記受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記ビデオのスナップショットは、発生中のアクションシーンが前記ゲームカメラアングルへの調整を含むべきであることを示す、前記ゲームプレイ中に作り出されるメタデータに応答して生成される、法。
【請求項6】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することであって、前記メタデータが、前記複数のビデオシーケンスのそれぞれで使用される前記カメラアングルを含む、前記受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記ビデオのスナップショットは、発生しようとしているアクションシーンが前記ゲームカメラアングルへの調整を含むべきであることを示す、前記ゲームプレイ中に作り出されるメタデータに応答して生成される、法。
【請求項7】
前記タグ付けデータは、ユーザ生成データ(UGD)のデータベースから取得され、前記UGDは、優先としてマークされた前記カメラアングルを含むフレームシーケンスを含み、前記優先としてマークすることが、前記AIモデルのトレーニングデータとして使用する前記複数のビデオシーケンスを選択するために使用される、請求項1に記載の方法。
【請求項8】
前記タグ付けデータは、前記カメラアングルを含むフレームシーケンスについて検出された視聴人気に基づいて自動的に生成され、前記視聴人気が、前記AIモデルのトレーニングデータとして使用する前記複数のビデオシーケンスを選択するために使用される、請求項1に記載の方法。
【請求項9】
前記データセット内の前記複数のビデオシーケンスは、複数の映画、複数のビデオゲーム録画、ライブスポーツイベントの録画、または1つ以上のアクションシーンを含む録画のうちの1つ以上から供給され、前記複数のビデオシーケンスが、前記AIモデルをトレーニングするために使用され、
前記AIモデルは、前記ゲームプレイ中に前記ビデオゲーム内の前記ゲームカメラアングルを調整するために、前記ゲームプレイ中に使用される、請求項1に記載の方法。
【請求項10】
前記複数のビデオシーケンスは、前記AIモデルをトレーニングするために使用され、
前記AIモデルは、前記ゲームプレイ中に前記ビデオゲーム内の前記ゲームカメラアングルを調整するために、前記ゲームプレイ中に使用される、請求項1に記載の方法。
【請求項11】
前記ゲームカメラアングルは、前記ビデオゲームの開発者によってプログラムされた視界とは別の視界を前記ビデオゲームのシーンに提供する、請求項1に記載の方法。
【請求項12】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含
前記AIモデルを生成することは、
前記複数のビデオシーケンスのそれぞれからビデオ特徴データを抽出することと、
前記複数のビデオシーケンスのそれぞれに関連付けられたメタデータ特徴データを抽出することと、
前記AIモデルによる処理のために、前記ビデオ特徴データ及び前記メタデータ特徴データを分類することであって、前記AIモデルが、前記ビデオ特徴データ及び前記メタデータ特徴データを処理して、前記複数のビデオシーケンスのそれぞれで発生する前記アクションの特性にラベルを付けるように構成される、前記分類することと、
を含み、
前記AIモデルを生成することが、トレーニングプロセス中に行われる、方法。
【請求項13】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記AIモデルは、前記ゲームプレイ中に生成される前記ビデオシーケンスのスナップショットを処理するように構成され、前記ビデオシーケンスのスナップショットの前記処理が、
前記ゲームプレイ中に作り出される1つ以上のビデオシーケンスの画像コンテンツを調査して、ビデオ特徴データを作り出すことと、
前記調査された画像コンテンツに関連付けられたメタデータを調査して、メタデータ特徴データを作り出すことと、
を含み、
前記ビデオ特徴データ及び前記メタデータ特徴データが分類され、前記ゲームプレイ中に前記ビデオゲームのシーンを提示するために前記ゲームカメラアングルを調整するための前記調整命令を識別するように、前記AIモデルによって使用される、方法。
【請求項14】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記ビデオのスナップショットは、発生中のアクションシーンが前記ゲームカメラアングルへの調整を含むべきであることを示す、前記ゲームプレイ中に作り出されるメタデータに応答して生成される、方法。
【請求項15】
ビデオゲーム内のカメラアングルを動的に調整する方法であって、
複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた前記複数のビデオシーケンスのデータセットを受信することと、
前記データセットから人工知能(AI)モデルを生成することと、
前記ビデオゲームのゲームプレイ中に前記AIモデルにアクセスすることであって、前記アクセスすることが、前記ビデオゲームの前記ゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む、前記アクセスすることと、
前記ゲームプレイ中にゲームカメラアングルを動的に調整することであって、前記調整することが、前記AIモデルから導出される調整命令に応答する、前記調整することと、
を含み、
前記ビデオのスナップショットは、発生しようとしているアクションシーンが前記ゲームカメラアングルへの調整を含むべきであることを示す、前記ゲームプレイ中に作り出されるメタデータに応答して生成される、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオゲームにおいてユーザに提示されているインタラクティブシーンに最適な学習されたカメラアングルに基づいて、ビデオゲームシーンへカメラアングルを動的に変更するための方法及びシステムに関する。
【背景技術】
【0002】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピューティング能力の増大に伴い、ビデオゲームの開発者もまた、この向上したコンピューティング能力を利用するゲームソフトウェアを開発してきた。そのために、ビデオゲーム開発者は、高度な演算及び数学的手法を取り入れたゲームをコーディングして、非常に精緻で魅力のあるゲーム体験を生み出している。
【0003】
ゲームプラットフォームの例としては、Sony PlayStation(登録商標)、Sony PlayStation2(登録商標)(PS2)、Sony PlayStation3(登録商標)(PS3)、Sony PlayStation4(登録商標)(PS4)、及びSony PlayStation5(登録商標)(PS5)があり、それぞれ、ゲームコンソールの形態で販売されている。周知のように、ゲームコンソールは、ディスプレイ(一般的には、テレビ)に接続し、ハンドヘルドコントローラを介したユーザインタラクションを可能にするように設計されている。ゲームコンソールは、CPU、集約的なグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を行うためのベクトルユニット、ならびに他のグルーハードウェア、ファームウェア、及びソフトウェアを含む、専用処理ハードウェアが設けられるように設計されている。さらに、ゲームコンソールによってローカルでプレイするために、ゲームコンソールは、ゲームディスクを受けるために、光ディスクリーダが設けられるように設計されている。オンラインゲームも可能であり、ユーザはインターネットを通じて他のユーザとインタラクティブに対戦または共にプレイができる。ゲームの複雑さがプレイヤを魅了し続けるため、ゲームメーカ及びハードウェアメーカは、さらなるインタラクティブ性及びコンピュータプログラムを可能にするための技術革新を続けている。
【0004】
ゲームには、グラフィックス、スピード、及びリアリズムにおいて大幅な向上が継続して見られるが、ゲーム体験は依然としてゲーム開発者がプログラムした特定のゲームシーンへのカメラビューに依存する。例えば、インタラクティブ性とシーン内でのゲーマーの位置選定とに応じて、ほとんどのカメラアングルは事前に決定されるか、またはゲームプログラミング中に設定された開発者のコーディングに基づいて設定される。残念ながら、プレイヤがより動的な方法でゲームシーンを体験しようとすると、場合によってはカメラアングルが遅れ、またはゲーム内で発生するインタラクティブ性に対して最適に配置されないことがある。
【0005】
このような状況において、本開示の実施態様が生じる。
【発明の概要】
【0006】
本開示の実施態様には、人工知能によるカメラアングルの選択に基づいて、ゲームがインタラクティブである最中に生成されるシーンへのカメラアングルの動的な選択及び生成に関連するデバイス、方法、及びシステムが含まれる。
【0007】
一実施形態では、ビデオゲーム内のカメラアングルを動的に調整する方法が提供される。本方法は、複数のビデオシーケンスのそれぞれで発生するアクションの特性を識別するメタデータ内のタグ付けデータに関連付けられた複数のビデオシーケンスのデータセットを受信することを含む。一例では、メタデータには、複数のビデオシーケンスのそれぞれで使用されるカメラアングルが含まれる。別の例では、カメラアングルは、ビデオシーケンス内の画像の分析に基づいて決定される。本方法は、データセットから人工知能(AI)モデルを生成することを含む。本方法は、ビデオゲームのゲームプレイ中にAIモデルにアクセスすることを含む。アクセスすることは、上記のビデオゲームのゲームプレイ中に生成されるビデオシーケンスのスナップショットを提供することを含む。本方法は、ゲームプレイ中にゲームカメラアングルを動的に調整することを含む。調整することは、上記AIモデルから導出される調整命令に応答する。
【0008】
一実施態様では、ゲームカメラアングルの調整により、ゲームの開発者カメラアングルが修正または置き換えられる。
【0009】
一実施態様では、AIモデルを生成することは、複数のビデオシーケンスのそれぞれからビデオ特徴データを抽出することと、複数のビデオシーケンスのそれぞれに関連付けられたメタデータ特徴データを抽出することとを含む。本実施態様は、AIモデルによる処理のために、ビデオ特徴データ及びメタデータ特徴データを分類することを含む。AIモデルは、ビデオ特徴データ及びメタデータ特徴データを処理して、複数のビデオシーケンスのそれぞれで発生する上記アクションの特性にラベルを付けるように構成されている。上記のAIモデルの生成は、トレーニングプロセス中に行われる。
【0010】
一実施態様では、AIモデルは、ゲームプレイ中に生成される上記のビデオシーケンスのスナップショットを処理するように構成されている。ビデオシーケンスのスナップショットの処理は、上記ゲームプレイ中に作り出される1つ以上のビデオシーケンスの画像コンテンツを調査して、ビデオ特徴データを作り出すことと、上記調査された画像コンテンツに関連付けられたメタデータを調査して、メタデータ特徴データを作り出すこととを含む。ビデオ特徴データ及びメタデータ特徴データが分類され、上記ゲームプレイ中にビデオゲームのシーンを提示するためにゲームカメラアングルを調整するための上記調整命令を識別するように、上記AIモデルによって使用される。
【0011】
一実施態様では、上記ビデオのスナップショットは、上記ゲームプレイ中にビデオゲームのシーンを提示するためにゲームカメラアングルを調整するための上記調整命令の処理をトリガするように、上記ゲームプレイ中に定期的に生成される。
【0012】
一実施態様では、上記ビデオのスナップショットは、発生中のアクションシーンが上記ゲームカメラアングルへの調整を含むべきであることを示す、上記ゲームプレイ中に作り出されるメタデータに応答して生成される。
【0013】
一実施態様では、上記ビデオのスナップショットは、発生しようとしているアクションシーンが上記ゲームカメラアングルへの調整を含むべきであることを示す、上記ゲームプレイ中に作り出されるメタデータに応答して生成される。
【0014】
一実施態様では、タグ付けデータは、ユーザ生成データ(UGD)のデータベースから取得され、UGDは、優先としてマークされた前記カメラアングルを含むフレームシーケンスを含み、上記の優先としてマークすることが、前記AIモデルのトレーニングデータとして使用する複数のビデオシーケンスを選択するために使用される。
【0015】
一実施態様では、タグ付けデータは、カメラアングルを含むフレームシーケンスについて検出された視聴人気に基づいて自動的に生成され、視聴人気が、上記AIモデルのトレーニングデータとして使用する複数のビデオシーケンスを選択するために使用される。
【0016】
一実施態様では、データセット内の複数のビデオシーケンスは、複数の映画、複数のビデオゲーム録画、ライブスポーツイベントの録画、ソーシャルメディアビデオ、または1つ以上のアクションシーンを含む録画のうちの1つ以上から供給され、上記複数のビデオシーケンスが、上記AIモデルをトレーニングするために使用される。AIモデルは、上記ゲームプレイ中にビデオゲーム内のゲームカメラアングルを調整するために、上記ゲームプレイ中に使用される。
【0017】
一実施態様では、上記複数のビデオシーケンスは、上記AIモデルをトレーニングするために使用され、AIモデルは、上記ゲームプレイ中にビデオゲーム内のゲームカメラアングルを調整するために、上記ゲームプレイ中に使用される。
【0018】
一実施態様では、上記ゲームカメラアングルは、ビデオゲームの開発者によってプログラムされた視界とは別の視界をビデオゲームのシーンに提供する。
【0019】
一実施形態では、ビデオゲーム内のカメラアングルを動的に調整するシステムが提供される。本システムは、クライアントデバイスにストリーミングするための1つ以上のゲームを実行するためのゲームサーバを含む。本システムは、ビデオゲームのゲームプレイ中に作り出されたビデオシーケンスのスナップショットを調査するための人工知能(AI)カメラアングルプロセッサを含む。スナップショットの調査では、ゲームプレイのシーンの作成に使用するゲームカメラアングルを特定するためにAIモデルが使用される。ゲームプレイのシーンを作り出すために使用されるゲームカメラアングルは、ビデオゲームの開発者によってプログラムされた視界とは別の視界を上記シーンに提供する。本システムは、上記別の視界を有する上記カメラアングルを含む上記作り出されたシーンのビデオフレームを圧縮するように構成されたストリーミングサーバを含む。ストリーミングサーバは、上記ゲームプレイ中に見ることができるディスプレイ上に表示するために、圧縮されたビデオフレームを上記クライアントに伝送するように構成されている。
【0020】
一実施態様では、AIモデルを使用してゲームカメラアングルを特定するスナップショットの調査は、ゲームプレイの進行中に定期的に処理される。
【0021】
一実施態様では、AIモデルを使用してゲームカメラアングルを特定するスナップショットの調査は、ゲームアクティビティが事前定義された閾値を超える期間中に処理される。
【0022】
一実施態様では、AIモデルを使用してゲームカメラアングルを特定するスナップショットの調査は、ゲームアクティビティが事前定義された閾値を超えない期間中には処理されない。
【0023】
一実施態様では、上記スナップショットは、ゲームアクティビティが事前定義された閾値を超える期間中に作り出される。
【0024】
一実施態様では、スナップショットは、ゲームアクティビティが事前定義された閾値を超えない期間中には作り出されない。
【0025】
一実施態様では、ゲームカメラアングルは、開発者によってプログラムされたものから変更するように選択されると、ビデオゲームへの上記シーンが、上記クライアントにストリーミングされる上記ビデオフレームをレンダリングするために作り出されるように、ゲームエンジンによって実行される。
【0026】
開示される方法及びシステムの例を提供する目的で、様々な実施形態が以下に説明される。本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例を挙げて示す下記の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0027】
本開示は、添付の図面と併せて以下の説明を参照することによって、一層よく理解することができる。
【0028】
図1】一実施形態による、様々な異なるタイプのビデオからなる複数のビデオストリームのグラフィカルな図を示す。
【0029】
図2】一実施形態による、異なるタイプのビデオでタグ付けされたビデオシーケンスを識別するデータセットの例を示す。
【0030】
図3】一実施形態による、カメラアングルAIモデルをトレーニングする際にビデオ及びメタデータを処理するために利用されるAIモデルトレーニングエンジンの例を示す。
【0031】
図4】一実施形態による、1つ以上のビデオゲームを実行し、カメラアングルAIモデルを利用するために、1つ以上のデータセンターが利用される実施形態を示す。
【0032】
図5A】一実施形態による、データセンターのうちの1つの例を示す。
【0033】
図5B】一実施形態による、異なるカメラビュー間の切り替えの一例を示す。
【0034】
図6】一実施形態による、インタラクティブゲームで提示されるシーンの特定の特性に対する最適なカメラアングルの学習に基づいて、ゲームプレイ中にカメラアングルを動的に選択するために利用される方法の一般的な実施形態を示す。
【0035】
図7】本開示の様々な実施態様による、ゲームシステムのブロック図である。
【発明を実施するための形態】
【0036】
本開示の以下の実施態様は、ビデオゲーム用に生成されたシーンへのカメラアングルビューの動的調整、及び最適なカメラアングルを選択するためのモデルの使用に関するデバイス、方法、及びシステムを提供する。しかしながら、本開示は、ここに説明する具体的詳細の一部または全部を用いることなく、実践され得ることは、当業者には明らかである。他の例では、周知のプロセス動作は、本開示を不必要に不明瞭にしないために、詳細に説明されていない。
【0037】
図1は、様々な異なるタイプのビデオからなる複数のビデオストリームのグラフィカルな図を示す。例えば、ビデオ1はアクション映画でよく、ビデオ2はビデオゲームの録画でよく、ビデオゲームNは録画されたスポーツイベントのビデオでよい。これらの異なるタイプのビデオは、特定のカメラアングルが最適化されるように利用されるシーンを強調するビデオシーケンスを含むデータセットを生成する際のトレーニング目的で選択されることがある。例として、ビデオ1では、ビデオからいくつかの異なるビデオシーケンス104を識別することができ、そこでは異なるタイプのアクションが発生しており、対応するカメラアングルが、他のカメラアングルと比較して、最適化されているように、またはより良い位置を選定しているように決定される。
【0038】
例えば、ビデオ1において、アクション映画にレースカーがフィニッシュラインを横切るシーンがあり、フロントバンパーがフィニッシュラインを横切るところがカメラアングルに映っている場合、そのカメラアングルは、レースカーを後ろから映しているカメラアングル(例えば、前向きの浮動カメラのビュー)よりも好ましいことになる。具体的には、フィニッシュラインを横切るレースカーのフロントバンパーを映すカメラアングルの方が、より関心を引き、その特定の時間にビデオ内で発生するアクションの前後関係やアクションの特性に、より関連性の高い情報が提供されることになる。
【0039】
この例を続けると、ビデオシーケンス104(VS1)は、アクション映画内で発生するアクションを提示するために選択された複数のビデオフレームを表すことがある。そこにはレースカーがフィニッシュラインを横切る様子を映すビデオフレームが含まれ、カメラアングルは、バンパーがフィニッシュラインを横切る様子を映すように、レースカーに側方から焦点を合わせられている。同様に、同じアクション映画において、ビデオ1、他のビデオシーケンス、例えば、VS2、VS3、VSNが、ビデオ内で発生するアクションのインタラクティブなビューを最適化するようにカメラアングルの配置及び選択が行われているビデオシーンを表すものとして選択されることがある。ビデオには、関連性がある、またはカメラアングルが最適化されている、と識別されたビデオシーケンスを、程度の差はあれ有し得るものがあることを理解されたい。
【0040】
同様に、ビデオNがスポーツイベントの録画を表す場合、特定のビデオフレームは、カメラアングルが最適化されたビデオ内で発生するアクションを表すことがある。例えば、ビデオがサッカーゲームであり、ビデオ内でコーナーキックが発生している場合、カメラアングルがキッカーのビューを映すように最適化されるだろう。つまり、カメラアングルがサッカーゲームのシーンへの視界として提示され、キックをするプレイヤからのビューが得られる場合、そのカメラアングルは最適であると考えられる。例として、カメラアングルが上から得られる場合(例えば、サッカーフィールドのトップビューを映す場合)、そのカメラアングルではサッカーボールがネットに向かう軌道をどのように移動するかを映すことはできない。
【0041】
様々なビデオ内の各ビデオシーケンスの選択は、様々な処理動作で実行することができる。1つのプロセス動作には、ビデオの視聴者から選択を受け取ることが含まれる場合がある。この選択は、視聴者がビデオを視聴し、視聴されているコンテンツ/アクションに対してカメラアングルが最適であるか、または最適化されていると見られているときに、ビデオにタグ付けする入力を提供している間に発生することがある。一実施形態では、タグは、ビデオシーケンス内で視聴されているコンテンツに関する情報を提供することを含むことがある。例えば、視聴者は、アクションがサッカーゲームのコーナーキックであると特定し、これによりシーン識別子(ID)が提供されることがある。一実施形態では、タグは、一定期間適用されることがある。例えば、タグは、視聴されているビデオのタイムスライスの間、例えば時間1:20~時間1:23の間(3分間に相当する)に適用されてよい。
【0042】
この3分間に、1秒あたり60フレームで約10,800フレームがタグ付けされる。場合によっては、タグ付けの時間が短くなる、または長くなることがある(フレームに対するタグの数が少なくなる、または多くなることに相当する)。他の実施形態では、タグは、所定数のフレームに関連付けられてよい。例えば、特定のアクションシーンに対して最適化されたカメラアングルを有するビデオシーケンスを識別するために視聴者がビデオにタグを付ける場合、タグ付けはタグの前後の設定された数のフレームを関連付けることができる。フレーム数は、プログラム可能であり、ビデオコンテンツの種類に応じて変更してもよい。例えば、スポーツビデオは、ビデオシーケンスのためにより多くのフレーム(例えば、400フレーム)がキャプチャされている必要があるが、特定のビデオゲームシーンは、より少ないフレーム(例えば、200フレーム)を必要とすることがある。
【0043】
さらに他の実施形態では、タグは、より短い数のフレーム、例えば5~20のビデオフレームに関連付けられてよい。場合によっては、フレームのタグビデオシーケンスの分析が、シーケンスの1つ以上のフレームに制限されることがある。例えば、単一フレームの分析により、フレーム内で発生するアクションとカメラアングルとが特定された場合、追加のフレームを処理する必要はない。いくつかの実施形態では、タグ付けされている特定のアクションシーケンスについてカメラアングルが識別されるまで、より多くのフレームが処理される。
【0044】
別の実施形態では、ビデオシーケンス選択プロセスは、ユーザ生成データ(UGD)を有するデータベースから取得したデータを使用して自動的に実行され得る。例として、特定のビデオがソーシャルメディアサイトで多くの人に視聴されることがあり、それらのビデオに視聴者によってタグが付けられることがある。視聴者によるタグには、サムズアップ、コメント、編集、絵文字などが含まれる。このUGD情報を処理して、ビデオ内の特定の時間フレームが重要であること、または視聴人気があることを推測してもよい。一実施形態では、UGDからの情報処理を使用して、ビデオシーケンスの分析のためにビデオの一部に自動的にタグが付けられ得る。
【0045】
一実施形態では、結果として生じるビデオシーケンスをさらに分析して、利用されたカメラアングルと、それらの特定の画像に写っているコンテンツとを判定することがある。ユーザが最適化されたカメラアングルを有するビデオに特にタグを付ける実施形態と同様に、自動タグ付けプロセスは、異なる数のビデオフレームを調査することも可能である。ビデオのタイプに応じて、より多くの、またはより少ないフレームを分析して、利用されているカメラアングルを判定することがある。
【0046】
図2は、一実施形態による、異なるタイプのビデオでタグ付けされたビデオシーケンスを識別するデータセット200の例を示す。上記のように、ビデオシーケンス(VS)は、手動のユーザタグ付けプロセスまたはUGDを使用する自動タグ付けプロセスを利用してタグ付けすることがある。データセット200は、様々なビデオタイプ122によって定義され得ることを示す。例えば、ビデオタイプ122には、アクション映画、レースゲーム、サッカーゲーム、インタラクティブゲーム、運ゲーム、ライブゲームイベントなどが含まれることがある。タグ付けされたビデオシーケンスは、シーン識別子(ID)に関連付けられ得る。
【0047】
シーン識別子は、ビデオにタグを付ける人によって提供される記述用語であってよい。別の実施形態では、シーン識別子は、ソースビデオからキャプチャされたメタデータに基づいてコンピュータによって生成される記述用語であってよい。別の実施形態では、シーン識別子は、ビデオフレーム内で識別されたアクティビティに基づいて機械学習を使用して生成されることがある。データセット200には、識別されたカメラアングル126がさらに含まれる。カメラアングル126は、記述文字列、例えば、オーバーヘッド、サイト-左、キッカービュー、または他の記述文字列で識別される。別の実施形態では、カメラアングル126は、ビデオ内で提供されているシーンを捉える3次元座標として記述することもある。3次元座標は、位置(例えば、X、Y、Z)及び方向(例えば、ロール、ピッチ、ヨー)を特定し得る。これらの3次元座標は、タグ付けされたシーン識別子に関連付けられたカメラアングルを特定する。
【0048】
一実施形態では、3次元座標は、ビデオシーンに提供される視野角及び視界に基づいて3次元座標を近似するプロセッサによって生成される。他の実施形態では、ビデオにタグを付けているユーザによって3次元座標が提供されることがある。いくつかの実施形態では、3次元座標は、カメラアングル126を規定するために、コンピュータ生成と手動入力との組み合わせとして提供され得る。データセット200は、フレーム識別子(ID)128を含むこともできる。フレーム識別子は、特定のビデオの各ビデオシーケンスに関連付けられているフレームの数を特定する。例えば、アクション映画の場合、ビデオシーケンス104は、VS1、ビデオ1として特定され得る。ビデオシーケンスVS1は、ビデオ内の特定の時間フレーム、例えば、時間1:20~1:23の間のフレーム、またはビデオ内で具体的に特定された数値フレームを特定し得る。
【0049】
データセット200において、ビデオタイプ122、シーン識別子124、カメラアングル126、及びフレームID128は、データセット200内のメタデータ204の一部であってよく、またはメタデータ204を規定するものであってよい。データセット200の一部として、ビデオ206からのビデオシーケンス129も示されている。これらのビデオシーケンスは、タグ付けされたビデオの部分を表す別個のファイルにすることができる。別の実施形態では、ビデオ206は、別個のファイルに保存される実際のビデオへのインデックスとすることができる。データセット200が作成されると、データセット200は、ゲームプレイ中にカメラアングルを動的に選択するために使用されるようになるカメラアングル人工知能(AI)モデル350のためのトレーニングアルゴリズムの一部として利用することができる。
【0050】
図3は、一実施形態による、カメラアングルAIモデル350をトレーニングする際にビデオ206及びメタデータ204を処理するために利用されるAIモデルトレーニングエンジン220の例を示す。図示するように、図1及び図2を参照して説明したように、入力ビデオ102は、ビデオシーケンスを識別するために処理される。ビデオシーケンス選択プロセス302は、異なるビデオ内のビデオシーケンスを識別するために利用される。上述したように、ビデオシーケンス選択プロセス302は、ビデオにタグ付けしているビデオの視聴者によって手動で実行されることがあり、または入力ビデオ102内の1つ以上のビデオフレームに自動タグ付けするためのアクティビティ、アクション、シーン、ユーザフィードバック、人気、興味、もしくは他の重要な特徴を識別するコンピュータによってプログラム的に実行されることがある。上記のように、入力ビデオのタグ付けにより、関連するビデオシーケンスのビデオフレームが識別されるようになり、ビデオシーケンスはメタデータ204に関連付けられることになる。
【0051】
メタデータ204は、ビデオタイプ122、シーン識別子124、カメラアングル126、及びフレーム識別子128を含むように示されている。いくつかの実施形態では、このタイプの情報が、より多くまたはより少なくメタデータ204に含まれ得る。例えば、一部のメタデータは、ビデオフレームから直接取得されることがあり、またはビデオに関連付けられたビデオフレームに埋め込まれたメタデータから取得されることがある。例えば、ビデオタイプは、ビデオに関連付けられた大きなメタデータファイル内のフィールドである場合があり、そのようなデータがそこからキャプチャされ得る。提供された入力ビデオのタイプに応じて、ソースビデオから他のデータがキャプチャされることもある。図示のように、ビデオ206及びメタデータ204は、ビデオシーケンス304a、304b、・・・304nに関連付けられている。これらのキャプチャされたビデオシーケンスは、次いで、AIモデルトレーニングエンジン222によって処理され、カメラアングルAIモデル350によって使用可能な特徴データが抽出される。図示されるように、ビデオシーケンスは、ビデオ特徴抽出器305によって分析される。
【0052】
ここでも、入力ビデオ102は、異なるタイプのインタラクティブコンテンツを含むように選択される。インタラクティブコンテンツは、ビデオゲームプレイ、映画、ショートフィルム、ビデオクリップ、マルチメディアビデオ、ソーシャルメディアビデオなどから記録されたビデオを含む、任意のタイプのビデオから選択されてよい。入力ビデオ102は、特定のシーン及び関連するカメラアングルのインタラクティブコンテンツを表すビデオシーケンス104を識別するように処理される。上記のように、ビデオシーケンス選択プロセス302を利用して、様々なビデオシーケンス304a、304b、・・・304nを選択することができる。ビデオシーケンス304a、304b、・・・304nは一般に、図1のビデオシーケンス104によって表され、異なるタイプのビデオ206及びそれらに関連するメタデータ204から選択された1つ以上のビデオシーケンスを表す。
【0053】
上記のように、メタデータ204は、メタデータ204に示される異なるタイプのメタデータコンテンツのうちの1つ以上を含むことがある。いくつかの実施形態では、メタデータ204は、メタデータ204内で識別されるもの以外の他のタイプのメタデータ情報を含むことがある。一般的に言えば、メタデータ204は、ビデオ206に関する情報を記述または識別するデータである。一実施形態では、AIモデルトレーニングエンジン220は、ビデオ206をビデオシーケンスとして受信し、その後、ビデオシーケンスは、ビデオ特徴抽出器305によって処理される。一実施形態では、ビデオ特徴抽出器305は、特定のビデオフレーム内または画像内のビデオコンテンツを調査して、オブジェクト、色、キャラクター、アクション、動きの変化、方向の変化、オブジェクトの動きなどの識別特性を特定する。
【0054】
抽出されたこれらの特徴は、ピクセルデータ分析、及びピクセルデータを識別して特徴付ける他の学習アルゴリズムによって調査されて、ピクセルデータをビデオフレームに関連付けられた画像内で見つけられるオブジェクトと関連付けることもできる。ビデオ特徴抽出器305がビデオ特徴データを抽出すると、そのビデオ特徴データは動作306で1つのビデオ特徴分類器または複数の分類器によって処理される。識別された特徴の分類は、調査されたビデオフレームの相対的な変化の間での特徴とそのアクションとを識別し追跡するために使用される。次に、分類された特徴は、カメラアングルAIモデル350によって処理される。
【0055】
カメラアングルAIモデル350は、分類された特徴を処理して、ビデオフレームまたはビデオフレームのグループのそれぞれで利用されるカメラアングルを決定しまたは近似する。同様に、メタデータ特徴抽出器308は、メタデータ204を読み取って、メタデータ特徴データを識別する。次に、メタデータ分類器310は、カメラアングルAIモデル350によって処理されることになるそれらの識別されたメタデータ特徴を分類する。いくつかの実施形態では、カメラアングルはメタデータ204内で識別される。他の実施形態では、カメラアングルは、カメラアングルAIモデル350によって処理された分類されたビデオ特徴において提供されるビューに基づいて決定される。
【0056】
他の実施形態では、カメラアングルAIモデル350は、1つ以上のビデオフレームで利用されるカメラアングルを近似し、それらのカメラアングルをビデオフレームで発生するアクションのタイプに関連付ける。時間の経過とともに、カメラアングルAIモデル350は、ビデオフレーム内で発生するアクションを最もよく反映するカメラアングルのタイプを継続的に学習する。時間の経過とともにトレーニングが行われるほど、カメラアングルAIモデル350は、特定のビデオシーケンスで見られる特定のアクションシーンで利用する最適なカメラアングルを特定しまたは予測できるようになる。
【0057】
図3に示される例では、ビデオゲーム330がプレイのために選択されると、ユーザは動作340でゲームをプレイすることが可能になる。一例として、ビデオゲームはビデオストリーミングサービスによってホストされており、ユーザはビデオストリーミングサービスにアクセスしてストリーミングモードでゲームをプレイしている場合がある。ビデオストリーミングサービスでは、1つ以上のサーバを利用して、ビデオゲームの実行、ストリーミング、及び関連する圧縮を処理することがある。一実施形態では、ストリーミングサービスの1つ以上のサーバは、AIモデルトレーニングエンジン220を処理すること、またはカメラアングルAIモデル350にアクセスすることもある。一実施形態では、モデル350内のカメラアングルがトレーニングされている場合、そのカメラアングルにはゲームプレイ340中にアクセスしてもよい。ゲームプレイ340中に、1つ以上のビデオシーケンスがカメラアングルAIモデル350に渡される。
【0058】
一実施形態では、ビデオシーケンスは、ユーザのインタラクティブなゲームプレイの結果であるビデオフレームである。これらのビデオシーケンスは、プレイ中のビデオゲームで特定のアクションが発生しているときに、継続的に撮影されるスナップショット、定期的に撮影されるスナップショット、またはプログラムによって撮影されるスナップショットであってもよい。ビデオゲームがプレイされている間、カメラアングルAIモデル350は、ゲームプレイ340で発生するゲームアクティビティのタイプにより適した特定のカメラアングルを識別することができてもよい。それに対応して、動的カメラアングル調整360は、カメラアングルAIモデル350からの出力を処理してもよい。そして、動的カメラアングル調整360は、ビデオゲーム330に入力を提供するために、そのカメラアングルAIモデル350から受信した情報を利用する。
【0059】
入力は、ゲームプレイ340でゲームをプレイしている間にユーザに提供されているゲームカメラアングルを調整するための調整命令の形式である。例えば、ゲームプレイ340中に、ユーザが、ボス戦の間にボスを攻撃している場合、カメラアングルAIモデル350は、最良のカメラアングルまたは好ましいカメラアングルが戦闘兵器に焦点を合わせているサイドビューであると決定することがある。この決定に基づいて、ビデオゲームは、ゲームプレイ340中にゲームプレイヤに提供されるフレームがサイドビューカメラアングルを伝えるように、1つ以上のサーバによるビデオゲームの実行中に、その利用されるカメラアングルを動的に変化させることになる。このサイドビューカメラアングルは、ゲームプレイ中にユーザに対して表示されているはずのカメラアングルとは異なる。つまり、ビデオゲームの開発者によってプログラム的に設定されたカメラアングルとは異なる。したがって、カメラアングルAIモデル350を利用したカメラアングルのこの動的な調整により、プレイヤは、ゲーム内で発生するインタラクティブ性のタイプにとって最適なカメラアングルであると決定されたカメラアングルからビデオゲームのシーンを見ることが可能になる。
【0060】
図4は、一実施形態による、1つ以上のビデオゲームを実行し、カメラアングルAIモデル350を利用するために、1つ以上のデータセンター400が利用される実施形態を示す。AIカメラアングルプロセッサ404が示されており、これはビデオゲーム330を実行するゲームサーバ4024によってアクセスされ得る。図示のように、ゲームサーバ402は、特定のデータセンターに実装された1つ以上のゲームサーバであってもよく、ビデオゲーム330を実行している。説明の目的で、ゲームエンジン408はビデオゲーム330を実行するために使用され、ゲームエンジンはカメラアングルロジック410と統合されてもよい。カメラアングルロジック410は、ゲームエンジン408と統合されてもよく、またはゲームサーバ402によって実行されるときにアドオンとして提供されてもよい。
【0061】
カメラアングルロジック410は、ゲームコンソールまたはパーソナルコンピュータなどのローカルクライアント上で実行させることもあることを理解されたい。この実施形態では、スナップショット抽出器412がゲームエンジン408と併せて利用され、これはビデオゲーム330の実行中にゲームサーバ402によって実行され得る。一実施形態では、スナップショット抽出器412は、現在実行中のゲームからビデオシーケンスを選択するプロセスである。スナップショット414から得られるビデオシーケンス416は、ゲームプレイ中に定期的に生成され得る。別の実施形態では、スナップショット414は、アクティビティが高いことが示されるゲーム内の特定の時点にわたり、または特定のゲームアクションが発生しているときに、生成され得る。
【0062】
例えば、ゲーム中に、キャラクタが道を歩いている、もしくはキャラクタが車を運転している、またはキャラクタが次のアクションアドベンチャを待って立っている、またはユーザが次の動きを決めているなど、ゆっくりとしたアクティビティシーンがある場合、スナップショット414は、アクションシーンが発生するまで、生成される頻度が低くなり、または保留される。いくつかの実施形態では、スナップショット414は、ゲームエンジンから決定される処理ロジックに基づいて、または特定のシーンで発生するアクションのタイプの学習(または識別)に基づいて、アクションシーンが発生しようとする直前に生成され得る。一般的に言えば、スナップショットは、カメラアングルAIモデル350が、これらのビデオシーケンスを調査して、カメラアングルを切り替えるべきか、または異なるカメラアングルに変更すべきかを判定できるように、十分な頻度で生成されるべきである。
【0063】
上記のように、カメラアングルAIモデル350は、ビデオゲーム内で発生するアクションの特定のタイプのシーケンスまたは特性に対して異なるカメラアングルを使用すべきであると判定し、その後、動的カメラアングル調整360が調整命令を生成してよい。調整命令はカメラアングルロジック410に送信され、カメラアングルロジック410は、新しいカメラアングルを生成し、実行中のビデオゲームの生成されたシーンへのビューを生成するために、ゲームエンジン408によって使用される。図示の例では、ユーザ456はコントローラ458を利用してストリーミングモードでビデオゲーム330をプレイしており、ビデオシーンがディスプレイ454に表示されている。
【0064】
この実施形態では、ディスプレイ454に表示されるビデオシーンは、カメラアングルロジック410の実行によって提供されるゲームカメラアングルの変更に基づいて、ビデオゲームシーンに利用されるカメラアングルに関して更新され得る。再び、ゲームカメラアングルの変更は、ゲームプレイ452で何が起こっているかと、カメラアングルAIモデル350によって処理されることになるより良いカメラアングルがどのようなものであるかという予測とに基づいて、動的に実行される。
【0065】
図5Aは、一実施形態による、データセンター400のうちの1つの例を示す。この例では、データセンターは、ビデオゲーム330a~330nを保存するための1つ以上のデータベースを含むことができる。これらのゲームは、インターネット450を介してストリーミング形式で1人以上のユーザにアクセス可能である。ビデオゲーム330は、フルビデオゲーム、ミニゲーム、ゲームの共有スライス、または対話型プログラムであり得ることを理解されたい。データセンター400はまた、負荷要件に応じて1つ以上のビデオゲームの実行を任せられる1つ以上のゲームサーバ402a~402nを含んでもよい。
【0066】
さらに、データセンターは、ストリーミングサービスをユーザ456の様々なクライアント506に提供するために、ゲームサーバ402と連携して動作するストリーミングサーバ502を含むこともできる。一実施形態では、ストリーミングサーバ502は、クライアントデバイス506への効率的な提示のため、ビデオストリームの符号化/圧縮及びパケット化を実行することがある。図示されているように、データセンターはまた、1つ以上のAIカメラアングルプロセッサ404を実行し得る。AIアングルプロセッサ404は、ユーザ456に提供されるゲームカメラビューを動的に調整するために、1つ以上のゲームサーバ402によって利用されることがある。図5Aに示すように、ユーザ456はコントローラ458を使用してビデオゲームをプレイしている。ユーザ456は、ビデオゲームのボス戦シーンをプレイしながら、ディスプレイ454上でゲームを見ている。最初に、AIカメラアングルプロセッサ404は、戦闘シーンのサイドビューが時間0では最適であると判定した。
【0067】
別の時点t1で、AIアングルプロセッサ404は、ビデオゲーム内で発生する現在のアクション及びアクションの特性に基づいて、一人称視点がシーンへの最も関心を引くまたは動的なビューを提供すると判定した。その後、別の時点tnで、AIカメラアングルプロセッサ404は、ボス戦中にユーザとボスとの間で起こるアクティビティを示すにはトップビューが最適であると判定することになる。この例示は、カメラアングルの動的な変更が、シームレスに発生し、AIカメラアングルプロセッサ404によって推奨されるビデオゲームに最高のシーンをインテリジェントに提供するために使用されることを示す。ユーザ456にとっては、ビデオゲームの視聴はシームレスなものとなり、カメラアングルがゲーム設計者によって最初にプログラムされたものから動的に変更されていることは明らかにならない。しかし、ビデオゲームアクティビティへのビューは、ビデオゲームプレイ中に表示されるシーンまたは遭遇するシーンのタイプについて学習された最適なビューに基づいて、よりインタラクティブでコンテキスト特有の方法で提供されることになる。
【0068】
図5Bは、異なるカメラビュー間の切り替えの例を示す。図に示すように、時刻t0では、ゲームカメラビューには、横からのビューが選択される。時刻t1で、ゲームカメラビューが、一人称視点からのビュー(つまり、キャラクタプレイヤから見えるビュー)に選択され、時刻tnで、ゲームカメラビューが上からのゲームカメラビューに切り替わる。ビデオゲームへのカメラアングルのこの動的な切り替えはシームレスに行われ、選択は、ビデオゲーム内で発生する特定のタイプのシーンに対して最適なタイプのカメラアングルが何であるかをトレーニング中に学習したAIカメラアングルプロセッサ404に基づいて行われる。
【0069】
上記のように、最適なカメラアングルの選択は、過去のゲームビデオの調査に基づくだけでなく、アクション映画、ライブスポーツイベント、ビデオクリップ、ソーシャルメディアクリップ、ソーシャルメディアの投稿、ユーザが投稿したビデオ、注釈付きビデオ、アニメーションビデオなどからの調査に基づいていてもよい。したがって、カメラアングルAIモデル350のトレーニングは、ビデオゲームのユーザがインタラクティブコンテンツ内でインタラクトするときに遭遇するであろう、異なるタイプのコンテンツに最適な、異なるタイプの学習されたカメラアングルから恩恵を受ける。
【0070】
一実施形態では、ビデオゲームは、ゲーム機、パーソナルコンピュータ上でローカルに実行されるか、またはサーバ上で実行される。場合によっては、ビデオゲームは、データセンターの1つ以上のサーバによって実行される。ビデオゲームが実行されるとき、ビデオゲームのいくつかのインスタンスは、ビデオゲームのシミュレーションであり得る。例えば、ビデオゲームは、ビデオゲームのシミュレーションを生成する環境またはサーバによって実行され得る。シミュレーションは、いくつかの実施形態では、ビデオゲームのインスタンスである。他の実施形態では、シミュレーションは、エミュレータによって生成されてもよい。いずれの場合でも、ビデオゲームがシミュレーションとして表現されている場合、そのシミュレーションは、ユーザ入力によってインタラクティブにストリーミングされ、実行され、及び/または制御されることが可能であるインタラクティブコンテンツをレンダリングするために実行することができる。
【0071】
図6は、一実施形態による、インタラクティブゲームで提示されるシーンの特定の特性に対する最適なカメラアングルの学習に基づいて、ゲームプレイ中にカメラアングルを動的に選択するために利用される方法の一般的な実施形態を示す。動作602において、ビデオゲーム内で発生しているアクションの特性を識別する複数のビデオシーケンスのデータセットが受信される。これらのビデオシーケンスに関連付けられたメタデータもまた処理することができ、メタデータには、複数のビデオシーケンスのそれぞれで使用されるカメラアングルが含まれ得る。
【0072】
他の実施形態では、メタデータは使用されるカメラアングルを含まず、カメラアングルは、ビデオシーケンス内で発生するアクションと、シーンに提供されるビューとを調査する際に、機械学習を使用して、決定することができる。一実施形態では、データセットは、データセットに取り込まれた多くのタイプのビデオの中から選択された複数のビデオシーケンスを含む。送信されるデータには、ビデオゲーム録画、映画、マルチメディアコンテンツ、ソーシャルメディアビデオなどからのビデオが含まれることがある。データセットの一部であるビデオシーケンスは、特定のタイプのインタラクティブコンテンツを視聴するのに最適なカメラアングル、または最良もしくは最も人気のあるカメラアングルであると判定されたカメラアングルを示すシーケンスである。
【0073】
上記のように、カメラアングルは、主観的な選択に基づいて最適または最良のカメラアングルを含むものとして特定のシーンにタグ付けされるビデオの視聴者によって手動で選択されてもよい。別の実施形態では、カメラアングルは、特定のタイプのシーンまたはインタラクティブ性について最も人気のあるカメラアングルを識別するプログラムを使用して自動的に選択されてもよい。
【0074】
動作604では、トレーニングプロセスに基づいて、データセットから人工知能(AI)モデルが生成される。トレーニングプロセスは、コンテンツのタイプとコンテンツの特性とに最適であると判定されたビデオシーケンス及び関連カメラアングルを含むデータセットからの入力データとして利用される。AIモデルがトレーニングされると、最終モデルはゲームプレイ中に動的に利用されて、ゲーマーが体験している特定のタイプのコンテンツに最適な異なるカメラアングルを自動的に選択するのに役立ち得る。
【0075】
動作606では、ビデオゲームのゲームプレイ中にサーバまたはプロセスによってAIモデルにアクセスすることができる。AIモデルは、ビデオゲームのゲームプレイ中に生成されたビデオシーケンスのスナップショットを分析のために処理する。スナップショットには、インタラクティブ性と、コンテンツの特性と、シーンのインタラクティブ性と、シーンの特性と、インタラクティブなコンテンツの特性を識別するために抽出、識別、分類、及び利用を行い得るその他の特徴とを決定するために分析される1つ以上のフレームが含まれる。ゲームプレイ中、動作608において、ゲームカメラアングルを動的に調整することができる。この動的調整は、AIモデルから導出された調整命令に応答してよい。
【0076】
一実施形態では、動的調整は、ゲームプレイ中に定期的に、アクティビティまたはインタラクティブ性の高い特定のシーンの間中に、またはより正確なカメラビュー及びカメラアングルの選択を必要とするビデオゲーム内の特定のシーンに基づいてプログラム的に、行われることがある。ユーザにとっては、ビデオゲームプレイのシーンへの改善されたカメラアングルを受け入れることを除いては、カメラアングルに対する調整はシームレスであり目立つものではない。カメラアングルに対する調整は、ゲーム開発者によってプログラムされたものとは異なる別のカメラアングルがビデオゲームに取り入れられることに相当する。
【0077】
図7は、本開示の様々な実施形態の態様を実行するために使用することができる例示的なデバイス700の構成要素を示す。このブロック図は、本開示の実施形態を実施するのに好適なパーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、サーバ、または他のデジタルデバイスを組み込むことができる、またはこれらであり得る、デバイス700を示す。デバイス700は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央処理装置(CPU)702を含む。CPU702は、1つ以上の同種または異種の処理コアで構成されてもよい。
【0078】
例えば、CPU702は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらなる実施形態は、クエリの解釈、文脈的に関連するリソースの識別、及び文脈的に関連するリソースのビデオゲーム内での即時実施及びレンダリングの処理動作など、高並列及び計算集約的なアプリケーションに特に適合したマイクロプロセッサアーキテクチャを有する1つ以上のCPUを使用して、実施することができる。デバイス700は、ゲームセグメント(例えば、ゲームコンソール)をプレイするプレイヤにローカライズされたもの、またはプレイヤからリモートであるもの(例えば、バックエンドサーバプロセッサ)、またはクライアントへのゲームプレイのリモートストリーミングのためにゲームクラウドシステムで仮想化を使用する多くのサーバの1つであってもよい。
【0079】
メモリ704は、CPU702が使用するアプリケーション及びデータを記憶する。ストレージ706は、アプリケーション及びデータのための不揮発性ストレージ及びその他のコンピュータ可読媒体を提供し、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びCD-ROM、DVD-ROM、Blu-ray(登録商標)、HD-DVD、またはその他の光学ストレージデバイス、ならびに信号伝送及びストレージメディアを含んでもよい。ユーザ入力デバイス708は、1人以上のユーザからのユーザ入力をデバイス700へ通信し、ユーザ入力デバイス708の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、スチルレコーダ/カメラもしくはビデオレコーダ/カメラ、ジェスチャを認識する追跡デバイス、及び/またはマイクロフォンが挙げられ得る。
【0080】
ネットワークインタフェース714は、電子通信ネットワークを介してデバイス700が他のコンピュータシステムと通信することを可能にするものであり、ローカルエリアネットワークやインターネットなどのワイドエリアネットワークを介した有線または無線の通信を含み得る。オーディオプロセッサ712は、CPU702、メモリ704、及び/またはストレージ706によって提供される命令及び/またはデータから、アナログまたはデジタルのオーディオ出力を生成するように適合されている。CPU702、メモリ704、データストレージ706、ユーザ入力デバイス708、ネットワークインタフェース710、及びオーディオプロセッサ712を含むデバイス700の構成要素は、1つ以上のデータバス722を介して接続されている。
【0081】
グラフィックスサブシステム720が、データバス722及びデバイス700の構成要素とさらに接続されている。グラフィックスサブシステム720は、グラフィックス処理ユニット(GPU)716とグラフィックスメモリ718とを含む。グラフィックスメモリ718は、出力画像の各画素の画素データを格納するために使用される表示メモリ(例えば、フレームバッファ)を含む。グラフィックスメモリ718は、GPU708と同じデバイスに統合されてもよく、GPU716と別個のデバイスとして接続されてもよく、及び/またはメモリ704内に組み込まれてもよい。画素データは、CPU702から直接グラフィックスメモリ718に提供することができる。あるいは、CPU702は、所望の出力画像を定義するデータ及び/または命令をGPU716に提供し、そこからGPU716が1つ以上の出力画像の画素データを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ704及び/またはグラフィックスメモリ718に格納することができる。実施形態では、GPU716は、シーンのジオメトリ、ライティング、シェーディング、テクスチャリング、モーション、及び/またはカメラパラメータを定義する命令及びデータから、出力画像用の画素データを生成するための3Dレンダリング機能を含む。GPU716は、シェーダプログラムを実行することができる1つ以上のプログラマブル実行ユニットをさらに含むことができる。
【0082】
グラフィックスサブシステム714は、グラフィックスメモリ718から画像の画素データを定期的に出力して、ディスプレイデバイス710に表示させる。ディスプレイデバイス710は、CRT、LCD、プラズマ、及びOLEDディスプレイを含む、デバイス700からの信号に応答して視覚情報を表示することができる任意のデバイスであり得る。デバイス700は、例えば、アナログ信号またはデジタル信号をディスプレイデバイス710に提供することができる。
【0083】
現在の実施形態のゲームへのアクセス提供など、広範囲な地域にわたり配信されるアクセスサービスは、多くの場合、クラウドコンピューティングを使用することに留意されたい。クラウドコンピューティングとは、動的にスケーラブルで多くの場合仮想化されたリソースがインターネットを介したサービスとして提供されるコンピューティング様式である。ユーザは、ユーザをサポートする「クラウド」の技術的インフラストラクチャのエキスパートである必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのソフトウェア(SaaS)などの異なるサービスに分類することができる。クラウドコンピューティングサービスは、多くの場合、ビデオゲームなどの共通のアプリケーションを、ウェブブラウザからアクセスするオンラインで提供するが、ソフトウェア及びデータは、クラウド内のサーバに記憶される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいたインターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
【0084】
ゲームサーバは、いくつかの実施形態では、ビデオゲームプレイヤのための持続的情報プラットフォームの動作を実行するために使用され得る。インターネット上でプレイされる大抵のビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、プレイヤからデータを収集し、収集したデータを他のプレイヤに配信する専用サーバアプリケーションを使用する。他の実施形態では、ビデオゲームは、分散型ゲームエンジンによって実行されてよい。これらの実施形態では、分散型ゲームエンジンは、複数の処理エンティティ(PE)上で実行されてよく、その結果、各PEは、ビデオゲームが実行される所与のゲームエンジンの機能セグメントを実行する。各処理エンティティは、ゲームエンジンからは単なる計算ノードと見なされる。
【0085】
ゲームエンジンは通常、機能的に多様な一連の動作を行って、ユーザが体験する追加のサービスと共にビデオゲームアプリケーションを実行する。例えば、ゲームエンジンは、ゲームロジックを実装し、ゲーム計算、物理的過程、ジオメトリ変換、レンダリング、ライティング、シェーディング、オーディオ、及び追加のゲーム内またはゲーム関連サービスを実行する。追加のサービスには、例えば、メッセージング、ソーシャルユーティリティ、オーディオ通信、ゲームプレイ再生機能、ヘルプ機能などが含まれてよい。ゲームエンジンは、特定のサーバのハイパーバイザによって仮想化されたオペレーティングシステム上で実行されてよいが、他の実施形態では、ゲームエンジン自体が複数の処理エンティティに分散され、各エンティティはデータセンターの異なるサーバユニットに常駐してよい。
【0086】
この実施形態によると、実行のために各処理エンティティは、各ゲームエンジンセグメントのニーズに応じて、サーバユニット、仮想マシン、またはコンテナであってよい。例えば、ゲームエンジンセグメントがカメラの変換を担当する場合、比較的単純な数学演算(例えば、行列変換)を多数行うことになるので、その特定のゲームエンジンセグメントは、グラフィック処理ユニット(GPU)に関連付けられた仮想マシンと共にプロビジョニングされてよい。より少ないがより複雑な演算を必要とする他のゲームエンジンセグメントは、1つ以上のより高出力の中央処理装置(CPU)に関連付けられた処理エンティティと共にプロビジョニングされてよい。
【0087】
ゲームエンジンを分散することにより、ゲームエンジンは、物理サーバユニットの能力に拘束されない弾力性のある計算特性を備える。代わりに、ゲームエンジンは、必要に応じて、ビデオゲームの要求を満たすためにより多いまたは少ない計算ノードと共にプロビジョニングされる。ビデオゲーム及びビデオゲームプレイヤの観点からは、複数の計算ノードに分散されているゲームエンジンは、ゲームエンジンマネージャまたはスーパーバイザがワークロードを分散し、結果をシームレスに統合して、エンドユーザにビデオゲーム出力構成要素を提供するので、単一の処理エンティティで実行される非分散ゲームエンジンと区別できない。
【0088】
ユーザは、少なくともCPU、ディスプレイ、及びI/Oを含むクライアントデバイスにより、遠隔サービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、PDAなどであってよい。一実施形態では、ゲームサーバ上で実行されるネットワークは、クライアントが使用するデバイスの種類を認識し、採用される通信方法を調整する。別の事例では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、インターネットを介してゲームサーバ上のアプリケーションにアクセスする。
【0089】
所与のビデオゲームまたはゲームアプリケーションは、特定のプラットフォーム及び特定の関連コントローラデバイス用に開発され得ることを、理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介してこのようなゲームを利用可能にするときに、ユーザは、異なるコントローラデバイスによってビデオゲームにアクセスすることができる。例えば、ゲームは、ゲームコンソール及びその関連したコントローラのために開発されている可能性があるが、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスすることができる。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この事例において、キーボード及びマウス)により生成されることが可能である入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することが可能である。
【0090】
別の実施例では、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動デバイスを介して、クラウドゲームシステムにアクセスし得る。この事例において、クライアントデバイス及びコントローラデバイスは、入力が、検出されたタッチスクリーンの入力/ジェスチャとして提供されながら、同一のデバイスに統合化される。このようなデバイスについて、入力パラメータ構成は、ビデオゲームについてのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。例えば、ボタン、指向性パッド、または他のタイプの入力素子は、ビデオゲームの実行中に表示され、またはオーバレイされ、ユーザがゲーム入力を生成するためにタッチすることが可能であるタッチスクリーン上の位置を示すことができる。特定の向きにおけるスワイプなどのジェスチャ、または特定のタッチモーションもゲーム入力として検出されることができる。一実施形態では、タッチスクリーン上での制御操作にユーザを慣れさせるために、例えばビデオゲームのゲームプレイを始める前に、タッチスクリーンを介してゲームプレイに入力する方法を示すチュートリアルが、ユーザに提供され得る。
【0091】
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスについての接続ポイントとして機能する。すなわち、コントローラデバイスは、無線または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスへ入力を送信する。次に、クライアントデバイスは、これらの入力を処理して、その後入力データを、ネットワーク(例えばルータなどのローカルネットワークデバイスを介してアクセスされるネットワーク)を介して、クラウドゲームサーバへ送信し得る。しかしながら、他の実施形態において、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、これらのような入力を最初にクライアントデバイスを通して通信する必要がなく、ネットワーク化されたデバイスであることが可能である。例えば、コントローラは、ローカルネットワークデバイス(前述のルータなど)に接続し、クラウドゲームサーバへデータを送信し、このクラウドゲームサーバからデータを受信することができる。したがって、クライアントデバイスは、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイにレンダリングすることを依然として必要とし得るが、コントローラがクラウドゲームサーバへネットワーク経由で直接に入力を送信することを可能にし、クライアントデバイスをバイパスすることにより入力レイテンシを減少させることが可能である。
【0092】
一実施形態では、ネットワーク化されたコントローラ及びクライアントデバイスは、特定のタイプの入力をコントローラからクラウドゲームサーバへ直接に、また他のタイプの入力をクライアントデバイスを介して送信するように構成されることが可能である。例えば、検出がコントローラ自体から離れた任意の追加のハードウェアまたは処理に依存しない入力は、コントローラからクラウドゲームサーバへネットワークを介して直接に送信され、クライアントデバイスをバイパスすることが可能である。これらのような入力は、ボタン入力、ジョイスティック入力、埋め込み型動き検出入力(例えば、加速度計、磁力計、ジャイロスコープ)などを含むことができる。しかしながら、追加のハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバへ送信されることが可能である。これらは、クラウドゲームサーバへ送信する前に、クライアントデバイスにより処理されることができるゲーム環境からキャプチャされたビデオまたはオーディオを含むことができる。加えて、コントローラの動き検出ハードウェアからの入力は、キャプチャされたビデオと併せてクライアントデバイスにより処理され、コントローラの位置及び動きを検出することができ、その後、クライアントデバイスによりクラウドゲームサーバへ通信される。様々な実施形態によるコントローラデバイスはまた、クライアントデバイスから、または直接クラウドゲームサーバから、データ(例えばフィードバックデータ)を受信し得ることを理解されたい。
【0093】
本明細書で規定した種々の実施形態を、本明細書で開示した種々の特徴を用いて具体的な実施に結合するかまたは組み立ててもよいことを理解されたい。したがって、提供される例は、可能な例の一部にすぎず、様々な要素を組み合わせることでより多くの実施態様を規定することが可能な様々な実施態様に制限を加えるものではない。ある例では、ある実施態様は、開示されたまたは同等の実施態様の趣旨から逸脱することなく、より少ない要素を含んでもよい。
【0094】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生用エレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成によって実施してもよい。本開示の実施形態はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても、実施することができる。
【0095】
方法動作は特定の順序で説明されたが、修正されたゲーム状態を生成するための遠隔測定データ及びゲーム状態データの処理が所望の方法で実行される限り、動作間に他のハウスキーピング動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、様々な処理関連間隔で処理動作が起こることを可能にしてもよいことを、理解されたい。
【0096】
1つ以上の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして作ることもできる。コンピュータ可読媒体は、データを記憶することができ、その後、コンピュータシステムによって読み取ることができる任意のデータストレージデバイスである。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージデバイスを含む。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0097】
前述の実施形態は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、限定ではなく例示としてみなされるべきであり、本実施形態は、本明細書に記載される詳細に限定されるべきではなく、添付の特許請求の範囲及び均等物の中で変更されてもよい。
図1
図2
図3
図4
図5A
図5B
図6
図7