(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-20
(45)【発行日】2024-06-28
(54)【発明の名称】コンピュータにより実現される方法およびプログラム
(51)【国際特許分類】
A63F 13/5375 20140101AFI20240621BHJP
A63F 13/497 20140101ALI20240621BHJP
【FI】
A63F13/5375
A63F13/497
(21)【出願番号】P 2022520480
(86)(22)【出願日】2019-10-04
(86)【国際出願番号】 US2019054899
(87)【国際公開番号】W WO2021066849
(87)【国際公開日】2021-04-08
【審査請求日】2022-07-29
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ダミアン,アレクサンドル-マリアン
(72)【発明者】
【氏名】カービン,ビクター
【審査官】遠藤 孝徳
(56)【参考文献】
【文献】米国特許出願公開第2017/0087460(US,A1)
【文献】特許第5193242(JP,B2)
【文献】国際公開第2019/182680(WO,A1)
【文献】特許第3898238(JP,B2)
【文献】特表2018-534974(JP,A)
【文献】特許第5688052(JP,B2)
【文献】国際公開第2019/135821(WO,A1)
【文献】特開2000-262738(JP,A)
【文献】特表2018-520772(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
ソースビデオを受信することと、
前記ソースビデオにおいてキャプチャされたゲームプレイにおいて生ずる複数のプレイヤーアクションを識別することと、
ビデオセグメントを含む仮想ウォークスルーをコンパイルすることとを含み、前記仮想ウォークスルーをコンパイルすることは、前記ソースビデオと、前記ソースビデオの1以上のビデオセグメントに対応するプレイヤーアクションのリストとに基づき、前記仮想ウォークスルーのビデオセグメントは、プレイヤーアクションに関連付けられ、前記方法はさらに、
第2のビデオを受信することとを含み、前記第2のビデオは、現在実行中のゲーム環境に基づき、前記方法はさらに、
前記仮想ウォークスルーをコンパイルされた前記1以上のビデオセグメントと比較するために、前記第2のビデオから1以上のフレームをキャプチャすることと、
前記第2のビデオにおけるゲームプレイ状況と類似の第1のゲームプレイ状況を示す前記ソースビデオの部分を判断することと
を含み、
前記ソースビデオの部分を判断することは、マッチアルゴリズムを用いることによって、前記キャプチャされたフレームに基づいて、前記第2のビデオにおいて発生しているシナリオまたは瞬間が前記仮想ウォークスルーの前記1以上のビデオセグメントにおけるシナリオまたは瞬間に対応するかどうかを判断することを含み、前記方法はさらに、
前記判断された
1以上のビデオセグメントのプロパティを調整して
、前記第2のビデオの前記シナリオまたは瞬間に基づいて提案されるべき1以上の前記プレイヤーアクション含む半透明のガイドビデオを生成することと、
前記ガイドビデオを前記現在実行中のゲーム環境にオーバーレイすることとを含む、方法。
【請求項2】
前記ソースビデオを複数のプレイヤーアクションにセグメント化することをさらに含む、請求項1に記載の方法。
【請求項3】
前記ソースビデオ内に埋め込まれたメタデータからプレイヤーアクションのリストを抽出することをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記メタデータは、プレイヤーのスキルレベルを反映する1つ以上のメトリックをさらに含み、前記方法は、前記1つ以上のメトリックに基づいて前記ソースビデオを選択することをさらに含む、請求項3に記載の方法。
【請求項5】
さらに、
前記現在実行中のゲーム環境において、完了したプレイヤーアクションを検出することと、
前記検出された完了したプレイヤーアクションに応答して、更新されたガイドビデオをオーバーレイすることとを含む、請求項1から4のいずれか1項に記載の方法。
【請求項6】
各識別されたプレイヤーアクションは、ユーザから受信されたゲームコントローラ入力と1対1の対応を共有する、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記判断することは、埋め込み空間にわたる前記ソースビデオのセグメントの第1の埋め込みと前記第2のビデオの第2の埋め込みとの間の距離を計算することに基づく、請求項1から
6のいずれか1項に記載の方法。
【請求項8】
前記プロパティを調整することは、
前記判断された
ビデオセグメントを回転させることと、
前記判断された
ビデオセグメントを並進させることと、
前記判断された
ビデオセグメントを変倍することと、
前記判断された
ビデオセグメントの再生速度を調整することと、
前記判断された
ビデオセグメントに要素を追加することと、
前記判断された
ビデオセグメントから要素を除去することと、
前記判断された
ビデオセグメントの透明度を調整することとからなる群から選択される1つ以上を含む、請求項1から
7のいずれか1項に記載の方法。
【請求項9】
前記完了したプレイヤーアクションは、ゲームコントローラに由来しないエミュレートされたゲームコントローラ入力を受信することに基づく、請求項
5に記載の方法。
【請求項10】
前記第1のゲームプレイ状況を示す前記ソースビデオの前記部分を判断することは、複数のゲームプレイビデオの中から前記ソースビデオを選択することを含む、請求項1から
9のいずれか1項に記載の方法。
【請求項11】
前記ソースビデオを受信することおよび前記複数のプレイヤーアクションを識別することは、前記第2のビデオを受信することの後に実行される、請求項1から
10のいずれか1項に記載の方法。
【請求項12】
前記現在実行中のゲーム環境のユーザから前記ガイドビデオを生成する要求を受信することをさらに含み、
前記ガイドビデオをオーバーレイすることは、前記要求に応答して行われる、請求項1から
11のいずれか1項に記載の方法。
【請求項13】
請求項1から
12のいずれか1項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
ユーザは、ビデオゲームのいくつかの部分を他の部分よりも困難であると見出す場合がある。ユーザがビデオゲームの進行を停止する場合、ユーザは、ビデオサービスまたはウェブサイトによって提供されるゲームプレイチュートリアルを見ることに頼る場合がある。ビデオを見ることによって、ユーザは、ゲームの困難な部分を通過して進むのに役立つであろう知識を得ることを望む。2つのディスプレイデバイスが利用可能でない場合、ユーザはゲームを終了して同じディスプレイ上でビデオを起動し、ビデオを見た後にゲームを再開する場合がある。このプロセスは、ユーザが先に進むまで数回繰り返される場合があるので、ユーザは、ゲーム体験が楽しくないと感じるかもしれない。
【0002】
ユーザは、自分が直面しているゲームシナリオにマッチするチュートリアルまたはゲームプレイビデオを見つけようと試みるかもしれない。ユーザが関連するビデオを見つけることに成功した場合であっても、そのビデオは、不便な視点からのものであったり、ゲーム技法をあまりにも高速で実演するものであったり、または不完全なものであったりする場合がある。ユーザはまた、ビデオを、数回、一時停止、巻き戻し、および再生することを望むこともあり得、これは、ユーザが用いているディスプレイデバイスによっては、便利であるかもしれないし、またはそうではないかもしれない。
【発明の概要】
【0003】
概要
開示される主題の実施形態によれば、あるコンピュータ方法は、ソースビデオを受信することと、ソースビデオにおいてキャプチャされたゲームプレイにおいて生じる複数のプレイヤーアクションを識別することとを含んでもよい。本方法は、第2のビデオを受信することをさらに含んでもよい。第2のビデオは、現在実行中のゲーム環境に基づいてもよい。本方法は、ソースビデオの一部が、第2のビデオにおけるゲームプレイ状況と類似であってもよい第1のゲームプレイ状況を示す、と判断することをさらに含んでもよい。本方法は、ソースビデオの判断された部分のプロパティを調整してガイドビデオを生成することをさらに含んでもよい。本方法は、ガイドビデオを現在実行中のゲーム環境にオーバーレイすることをさらに含んでもよい。本方法は、現在実行中のゲーム環境において、完了したプレイヤーアクションを検出することと、検出に基づいて、更新されたガイドビデオをオーバーレイすることとをさらに含んでもよい。本方法は、ソースビデオ部分を複数のプレイヤーアクションにセグメント化することをさらに含んでもよい。本方法は、ソースビデオ内に埋め込まれたメタデータからプレイヤーアクションのリストを抽出することをさらに含んでもよい。メタデータは、プレイヤーのスキルレベルを反映する1つ以上のメトリックをさらに含んでもよい。本方法は、1つ以上のメトリックに基づいてソースビデオを選択することをさらに含んでもよい。各識別されたプレイヤーアクションは、ユーザから受信されたゲームコントローラ入力と一対一の対応を共有してもよい。本方法は、ソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つに基づいて、ならびにソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つの1つ以上のセグメントに対応するプレイヤーアクションのリストに基づいて、仮想ウォークスルーをコンパイルすることをさらに含んでもよい。判断することは、埋め込み空間にわたるソースビデオのセグメントの第1の埋め込みと第2のビデオの第2の埋め込みとの間の距離を計算することに基づいてもよい。プロパティを調整することは、判断された部分を回転させること、判断された部分を並進させること、判断された部分を変倍すること、判断された部分の再生速度を調整すること、判断された部分に要素を追加すること、判断された部分から要素を除去すること、および判断された部分の透明度を調整することのうちの1つ以上を含んでもよい。本方法は、複数のプレイヤーアクションのうちの1つ以上の提案されたプレイヤーアクションを識別することをさらに含んでもよい。ガイドビデオをオーバーレイすることは、現在実行中のゲーム環境において1つ以上の提案されたプレイヤーアクションをオーバーレイすることをさらに含んでもよい。完了したプレイヤーアクションを検出することは、プレイヤーが提案されたプレイヤーアクションのうちの1つ以上を実行したことを検出することをさらに含んでもよい。完了したプレイヤーアクションは、ゲームコントローラに由来しないエミュレートされたゲームコントローラ入力を受信することに基づいてもよい。
【0004】
開示される主題のある実施形態によると、非一時的コンピュータ可読媒体は、1つ以上のコンピューティングシステムによって実行されると、ソースビデオを受信し、ソースビデオ内でキャプチャされるゲームプレイで生じる複数のプレイヤーアクションを識別するよう動作可能な命令を含んでもよい。媒体は、第2のビデオを受信するための命令をさらに含んでもよい。第2のビデオは、現在実行中のゲーム環境に基づいてもよい。媒体は、ソースビデオの部分が、第2のビデオにおけるゲームプレイ状況と類似であってもよい第1のゲームプレイ状況を示す、と判断するための命令をさらに含んでもよい。媒体は、ガイドビデオを生成するためにソースビデオの判断された部分のプロパティを調整するための命令をさらに含んでもよい。媒体は、ガイドビデオを現在実行中のゲーム環境上にオーバーレイするための命令をさらに含んでもよい。媒体は、現在実行中のゲーム環境において、完了したプレイヤーアクションを検出し、検出に基づいて、更新されたガイドビデオをオーバーレイするための命令をさらに含んでもよい。媒体は、ソースビデオ部分を複数のプレイヤーアクションにセグメント化するための命令をさらに含んでもよい。媒体は、ソースビデオ内に埋め込まれたメタデータからプレイヤーアクションのリストを抽出するための命令をさらに含んでもよい。メタデータは、プレイヤーのスキルレベルを反映する1つ以上のメトリックをさらに含んでもよい。媒体は、1つ以上のメトリックに基づいてソースビデオを選択するための命令をさらに含んでもよい。各識別されたプレイヤーアクションは、ユーザから受信されたゲームコントローラ入力と一対一の対応を共有してもよい。媒体は、ソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つに基づいて、ならびにソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つの1つ以上のセグメントに対応するプレイヤーアクションのリストに基づいて、仮想ウォークスルーをコンパイルするための命令をさらに含んでもよい。判断することは、埋め込み空間にわたるソースビデオのセグメントの第1の埋め込みと第2のビデオの第2の埋め込みとの間の距離を計算することに基づいてもよい。プロパティを調整することは、判断された部分を回転させること、判断された部分を並進させること、判断された部分を変倍すること、判断された部分の再生速度を調整すること、判断された部分に要素を追加すること、判断された部分から要素を除去すること、および判断された部分の透明度を調整することのうちの1つ以上を含んでもよい。媒体は、複数のプレイヤーアクションのうちの1つ以上の提案されたプレイヤーアクションを識別するための命令をさらに含んでもよい。ガイドビデオをオーバーレイするための命令は、現在実行中のゲーム環境において1つ以上の提案されたプレイヤーアクションをオーバーレイするための命令をさらに含んでもよい。完了したプレイヤーアクションを検出するための命令は、プレイヤーが提案されたプレイヤーアクションのうちの1つ以上を実行したことを検出するための命令をさらに含んでもよい。完了したプレイヤーアクションは、ゲームコントローラに由来しないエミュレートされたゲームコントローラ入力を受信することに基づいてもよい。
【0005】
開示される主題のさらなる特徴、利点、および実施形態は、以下の詳細な説明、図面、および特許請求の範囲の考察から示されるかまたは明らかとなり得る。さらに、上記の概要および以下の詳細な説明の両方は、例示的なものであり、特許請求の範囲を限定することなくさらなる説明を提供することを意図するものであることを理解されたい。
【0006】
図面の簡単な説明
開示される主題をさらに理解するために含まれる添付の図面は、本明細書に組み込まれ、本明細書の一部を構成する。図面は、開示される主題の実施形態を示し、詳細な説明とともに、開示される主題の実施形態の原理を説明する役割も果たす。開示された主題およびそれが実施され得る様々な態様の基本的な理解に必要であり得るよりも詳細に構造上の詳細を示す試みはなされない。
【図面の簡単な説明】
【0007】
【
図1】開示される主題によるゴースト層の例示的な実施形態を示す。
【
図2】開示される主題によるゴースト層の例示的な実施形態を示す。
【
図3A】開示される主題の一実施形態によるフロー図である。
【
図3B】開示される主題の一実施形態によるブロック図である。
【
図3C】開示される主題の一実施形態によるブロック図である。
【
図4】開示される主題の一実施形態による仮想ウォークスルーのブロック図である。
【
図5】開示される主題の一実施形態によるコンピューティングデバイスを示す。
【
図6】開示される主題の一実施形態によるネットワーク構成を示す。
【
図7】開示される主題の実施形態による例示的なネットワークおよびシステム構成を示す。
【発明を実施するための形態】
【0008】
詳細な説明
前述のように、ビデオゲームの困難な部分に遭遇するユーザは、例示的な解決策もしくは戦略を提供し得るチュートリアルまたはゲームプレイビデオを検索することによって、支援を求める場合がある。そうすることは、ゲーム体験から退出すること、ビデオサービスまたはウェブサイトを起動すること、関連ビデオを検索すること、そのビデオを所望の回数だけ見ること、ビデオサービスまたはウェブサイトから退出すること、およびゲームを再開することを伴い得る、ばらばらでぎこちないプロセスであり得る。これらのステップを実行した後であっても、ユーザは、以前に見たゲームプレイ技法のいくつかの部分を忘れるかもしれず、ユーザは上記のプロセスを反復するかもしれない。
【0009】
本主題は、ユーザがビデオゲームを進行するのを助けることができるゲーム内ガイドを提供するためのシステムおよび技術を開示する。ガイドは、ビデオゲームをプレイするプレイヤーを示す1つ以上のビデオの分析に基づいて生成されてもよい。分析に基づいて、ガイドは、ゲームの全部または一部を通してユーザを前進させることに成功し得るアクションのシーケンスを判断してもよい。ガイドは、ユーザのゲーム内ディスプレイ上に半透明の「ゴースト層」で提供されて、分析に基づいて、プレイヤーがゲームを進行するのを助け得るアクションのヒントおよび例を提供してもよい。本明細書で開示されるゴースト層は、ゲームおよびゴースト層が同時にプレイヤーに見えるようにゲームのオーバーレイとして表示され得るテキスト情報、画像情報、ならびに/またはビデオ情報を表示してもよい。ユーザがゲームをプレイするにつれて、ゴースト層は、現在のゲームステータス、ユーザの過去のアクション、およびユーザが前進するのに成功するのを助け得るアクションのシーケンスにおける任意の予想されるアクションに基づいて、ユーザに関連する情報を提供するために、表示されるものを更新ならびに調整してもよい。
【0010】
用語「ゲームコントローラ」は、本明細書で用いる場合、ゲームへの入力を提供するためにユーザによって用いられ得る任意のデバイスを指す。ゲームコントローラは、例えば、マウス、キーボード、キーパッド、ジョイスティック、スタイラス、ワンド、スタイラス、トラックボール、トラックパッド、タッチパッド、タッチスクリーン、カメラ、レーダー送信機および/または受信機、ゲームパッド、スマートフォン、ならびにマイクロフォンを含んでもよい。
【0011】
図1は、本主題の例示的な実施形態を示す。ゲーム画面100は、第三者の視点からプレイされてもよい。ユーザは、単一のスティックフィギュア状キャラクタ105を制御してもよい。ゲーム100のこの部分を通過して進むために、ユーザは、3つのアクションを実行するようにキャラクタ105を制御する必要があり得る。第1に、キャラクタは、裂け目115の縁に到達するまで右に歩き得、次いで、キャラクタは、裂け目115を飛び越え得、第3に、キャラクタは、はしごアイテム130を展開し得る。ゲームインターフェイスを介してユーザの支援要求を受け取ると、ゴースト層200はゴーストキャラクタ110を表示してもよい。ゴーストキャラクタ110は、裂け目115に到達するまで右に歩き、裂け目115を飛び越え(120)、ゲーム画面100の右端の近くではしごアイテム130を展開してもよく、そこで、ゴーストキャラクタ110は、ユーザ制御プレイヤー105が追いつくのを待ってもよい(125)。ゴーストキャラクタ110は、キャラクタ105と同じように表示されてもよいし、キャラクタ105と区別可能であってもよい。たとえば、ゴーストキャラクタ110は、ゴーストキャラクタ110がプレイヤキャラクタ105と区別され得る限り、透明または半透明に、異なる色スキーム、陰影、または色合いで、点滅状態で、ハローまたはハイライトで、シルエットとして、ラベルまたはアイコンでマークされて、またはこれらの特徴のうちの任意の1つ以上の組合せを有して、表示されてもよい。
【0012】
代替的に、または2つ以上のタスクをまとめて連続的に実行することに加えて、ゴーストキャラクタ110は、ユーザ制御キャラクタ105が個々のタスクを実行するのを待ってから次のタスクに進んでもよい。例えば、ゴーストキャラクタ110は、裂け目115を飛び越える(120)などの第1のタスクを実行し、次いで、ユーザ制御キャラクタ105が同じことを行うのを待ってから、次のタスクに進んでもよい。キャラクタ105が裂け目115を飛び越えると、ゴーストキャラクタ110は、ゲーム画面100の右端まで歩き、プレイヤーのキャラクタ105が同じことを行うのを待って(125)から次のタスクに進むなどの第2のタスクを実行してもよい。ゴーストキャラクタ110が、単一のタスクを実行してからユーザ制御キャラクタ105を待つか、または2つ以上のタスクをまとめて実行してからユーザ制御キャラクタ105を待つかにかかわらず、ゴーストキャラクタ110は、個々のタスクまたは一括されたタスクを、固定された回数または無限の回数にわたって実行するように表示されてもよい。このようにして、ユーザは、タスクを実行するよう試みる前に、タスクが所望の回数だけ実行されるのを見る機会を得てもよい。当然のことながら、「ゴースト」オブジェクトは、ユーザ制御キャラクタ105がオブジェクトを構築するかまたはアイテムを用いるように誘導されているゴースト層200によって提供されてもよい。例えば、ユーザ制御キャラクタ105がはしごアイテム130を展開するように、または枠箱(図示せず)を押すように誘導されている場合、ゴーストはしごアイテム130またはゴースト枠箱が現れて、ユーザがどのように進むかを理解するのを助けてもよい。ユーザ制御キャラクタ105がはしごアイテム130を展開するか、またはそうでなければ、提案されたオブジェクトと対話すると、ゴーストオブジェクトは消えてもよい。ゴーストオブジェクトは、ゴーストキャラクタ110をユーザ制御キャラクタ105から区別することに関して先に説明した任意の方法で、「現実の」ゲームオブジェクトから区別可能であってもよい。
【0013】
図2は、ユーザによって現在プレイされているゲームのゲーム環境201上にオーバーレイされてもよいゴースト層200を示す。ゴーストプレイヤー105および/またははしごアイテム130などのゴーストオブジェクトを含むゴースト層200は、1つ以上の以前に記録されたゲームプレイビデオ305の分析に基づいて生成されてもよい。ゲームプレイビデオ305は、例えば、ビデオ共有ウェブサイト、ライブストリーミングされたビデオ、および他のビデオストリーミングソース、従来の非一時的コンピュータメモリ記憶装置から調達されてもよく、または電子メール、インスタントメッセージング、SMS、テキストメッセージなどを介してネットワークを介して送信されてもよい。ゲームは、ゴースト層200を生成するために用いられる分析を実行するための様々な度合いのサポートを提供してもよい。ある例では、ゲームはサポートをほとんど含まないかまったく含まない場合がある。非支援的ゲームのための1つ以上の調達されたゲームプレイビデオ305の分析は、コンピュータビジョン技法、機械学習技法、幾何学的プロパティ、画像、音声などのうちの1つ以上に基づく、コンピュータにより実現されるプロセスによって実行されてもよい。分析が基づいてもよいソースビデオ305は、プレイヤーのアクションが概してゲームの進行においてより成功裡であり得るチュートリアル、ガイド、ゲームプレイセッション、コンテスト、スピードラン、および他のビデオとして識別されてもよい。
【0014】
図3Aは、本主題による方法300の一例を示すフロー図である。方法300は、1つ以上のソースビデオ305を分析することによって開始してもよい。ソースビデオ305は、ゲームのゲームプレイを示すチュートリアル、ガイド、ウォークスルー、または任意の他のビデオであってもよい。ビデオは、ゲーム内の各ポイントにおけるプレイヤーの各アクションを識別してもよい埋め込みメタデータをサポートしてもしなくてもよい。ソースビデオが埋め込みメタデータをサポートしない場合、分析器350は、
図3Bのブロック
図355に示すように、分析器359を用いてソースビデオ305を個々のプレイヤーアクション360~362にセグメント化してもよい。方法300は、段階310において、1つ以上の選択されたソースビデオ305を個々のプレイヤーアクションにセグメント化してもよい。各個々のプレイヤーアクション360~362は、ゲームコントローラデバイスを介して受信されるユーザ入力に対応してもよい。方法300は、固有の識別子363、セマンティック記述364、および315における関連付けられたプレイヤーアクション360~362の持続時間を反映する時間値365を用いることによって、各プレイヤーアクション360~362を識別してもよい。ゲームビデオ305がプレイヤーの各アクション(371、381、391)を識別する埋め込みメタデータ376をサポートする場合、分析は、プレイヤーアクション(371、381、391)が、各プレイヤーアクション(371、381、391)を抽出するためにビデオ305をセグメント化することに関連付けられ得る追加の処理なしに直接抽出されてもよいという点で、合理化または完全に排除されてもよい。ビデオについてプレイヤーのアクション(371、381、391)を識別することに基づいて、
図4に示されるように、ビデオセグメント(410、430、440、450、460)およびプレイヤーアクション(411~413,431~433,451~453,454~457)の関連付けられた順序付けられたリストを含む仮想ウォークスルー405が325において作成されてもよい。仮想ウォークスルー405は、ゲーム識別子470を用いて、それが適用可能なゲームを識別してもよく、最初から最後までゲームをうまく進行させるためのデジタルロードマップと見なされてもよい。仮想ウォークスルー405は、ゲーム470の進行に成功するソースビデオ305の利用可能性に基づいて、不完全であるかもしれないが、それにもかかわらず、ゲーム470を完了するための1つの例示的なアプローチを提供し得る。仮想ウォークスルー405は、様々な選択されたソースビデオ305から抽出されたビデオセグメント(410、430、440、450、460)を含んでもよく、各ビデオセグメント(410、430、440、450、460)は、1つ以上のプレイヤーアクション(411~413,431~433,451~453,454~457)を提案するために依拠されてもよい。前述のように、ユーザによって現在プレイされているゲームは、インスタントゲームとして公知であってもよい。方法300は、仮想ウォークスルー405によってコンパイルされたビデオセグメント(410、430、440、450、460)と比較するために、インスタントゲームから1つ以上のフレームをキャプチャ330してもよい。マッチアルゴリズムは、335において、キャプチャされたフレームに基づいて、インスタントゲームにおいて発生しているシナリオまたは瞬間が、仮想ウォークスルー405に記憶されたビデオセグメント(410、430、440、450、460)もしくは別の別途利用可能なビデオセグメントのいずれかにおけるシナリオまたは瞬間に適切に対応するかどうかを判断してもよい。マッチアルゴリズムが適切なマッチ336を判断する場合、340において、対応するビデオセグメント(410、430、440、450、460)は、ビデオを並進、回転、および/または変倍し、画像パラメータを調整し、再生速度を変化させ、ハイライト、ラベル、または他のインジケータおよび要素を追加し、無関係なコンテンツを除去することによって、ゴースト層200としてオーバーレイするためのビデオセグメントを準備するために、正規化されてもよい。より具体的には、正規化されるべきビデオセグメント(410、430、440、450、460)は、インスタントゲームにおいて現在識別されているシナリオまたは瞬間に基づいてユーザに提案されるべき1つ以上のプレイヤーアクション(411~413,431~433,451~453,454~457)を含んでもよい。345では、現在のゲームプレイ201およびゴースト層オーバーレイ200の両方がプレイヤーに見えるように、インスタントゲームのゲーム環境201上にオーバーレイするゴースト層200に1つ以上の提案されたプレイヤーアクション(411~413,431~433,451~453,454~ 457)を表示してもよい。例えば、ゴースト層オーバーレイ200は、下層のゲームプレイ201が同時に見えるように半透明であってもよい。提案されたプレイヤーアクション(411~413,431~433,451~453,454~457)は、ユーザがアクションを実行するまで、単回、固定回数、または無期限に繰り返されてもよい。方法300は、ユーザのゲームコントローラ入力、ユーザのキャラクタへの変更、およびインスタントゲームの環境201に生じる他の変更に基づいて、提案されたプレイヤーアクション(411~413,431~433,451~453,454~457)の完了を監視および検出してもよい。前述のように、モデル5は、提案されたプレイヤーアクション(411~413,431~433,451~453,454~457)をゴースト層200を介して単に表示することに加えて、提案されたプレイヤーアクションを生成するためにユーザのゲームコントローラ入力をエミュレートするように構成されてもよい。したがって、方法300は、ユーザから実際のゲームコントローラ入力を受信することに応答してだけでなく、モデルからエミュレートされたゲームコントローラ入力を受信することにも応答して、提案されたプレイヤーアクションの完了を検出してもよい。350において、提案されたプレイヤーアクションの完了を検出すると、ゴースト層200は、345に関して前述したように、ゴースト層200において正規化およびレンダリングされてもよい1つ以上の後続のアクション(411~413,431~433,451~453,454~457)を表示するように更新されてもよい。方法300のいずれの段階も、本主題の範囲から逸脱することなく、必要に応じて、他の段階と統合され、
図3Aに示されるものとは異なる順序で実行され、繰り返され、完全に除去され、または別様に再配列されてもよいことを理解されたい。
【0015】
分析器359を用いて1つ以上の選択されたソースビデオ305を分析する際に、本主題は、
図4に示すように、ゲーム470のために仮想のアクション単位ウォークスルー405を生成するために、成功したプレイヤーによって取られたアクションをセグメント化し、識別し、区別してもよい。
図4から、各アクション(411~413,431~433,451~453,454~457)は、関連付けられた識別子(414~416)、セマンティック記述(417~419)、および持続時間(420~422)を含んでもよいが、この追加の情報はプレイヤーアクション411~413についてのみ示されていることを理解されたい。仮想ウォークスルー405は、スクリーンショットと、ビデオセグメント(410、430、440、450、460)と、プレイヤーをゲーム470の最初から最後まで連続的に進めるよう判断された各プレイヤーアクション(411~413,431~433,451~453,454~457)の順序付きリストとを含んでもよい。各識別されたアクションは、ユーザによって実行されるゲームコントローラ入力と1対1の対応を共有してもよい。第2のアクションおよびその後のアクションを引き起こす追加のゲームコントローラ入力を入力することなく、ユーザ制御キャラクタに2つ以上の「連鎖」アクションを自動的に実行させるゲームコントローラ入力は、2つ以上の別個のアクションではなく、単一のアクションとして識別されてもよい。アクション(411~413,431~433,451~453,454~457)は、ゴースト層200を用いてアクションのシーケンスを提案するときにユーザを混乱させることを回避するために、ゲームごとのコントローラ入力ベースでユーザに提案されてもよい。例えば、ゲームコントローラ上の第1のボタンを押すことにより、ユーザ制御ゲームキャラクタがジャンプおよび位置変更する場合、分析は、ビデオ内のジャンプおよび位置変更を、第1のジャンプ動作に続く第2の位置変更動作ではなく、単一のジャンプ/位置変更動作として識別してもよい。例えば単一の方向への移動をもたらすために、プレイヤーがある期間にわたって単一のゲームコントローラ入力を作動させることを含むアクションは、より長い持続時間の単一のアクション、またはより短い持続時間を有する一連の2つ以上の同一のアクションとして、識別されてもよい。
【0016】
仮想ウォークスルー405は、1つ以上のビデオセグメント(410、430、440、450、460)のセットを含み、ゲームを順番に完了するためにとられるすべてのアクション(411~413,431~433,451~453,454~457)を示す包括的なマスタビデオ480を形成してもよい。マスタビデオ480は、異なるプレイヤーまたは同じプレイヤーによって実行されるゲームプレイビデオセグメント(410、430、440、450、460)を含んでもよく、様々なビデオソースから検索されてもよい。後で説明するように、ユーザが直面しているシナリオに関連して判断されたマスタビデオ480の部分は、ゴースト層200における再生のためにマスタビデオ480から検索されてもよい。仮想ウォークスルーにおける各アクションは、固有の識別子タグ、セマンティック記述、および関連付けられたアクションの持続時間を反映する時間値によって識別されてもよい。例えば、仮想ウォークスルーの一部分は、「ビデオセグメント1、アクション1、ID#000001」を、「右へ移動」の記述と、4.0秒の持続時間」とともに表す態様で、タグ付けされてもよい。ゲームがサポートをほとんどまたはまったく含まない前述の説明に加えて、ゲームは、ゴースト層分析のために、より強力なサポートを提供してもよい。例えば、ゲームは、メタデータ376を発することを斟酌するアプリケーションプログラミングインターフェイス(API)を実現することによって、ビデオからプレイヤーのアクションを識別することをサポートしてもよい。メタデータ376は、分析に有用であり得る他のタイプの情報の中でも、ゲーム内の各ポイントにおけるプレイヤーの各アクション(371、381、391)を識別してもよい。例えば、発せられたメタデータ376は、プレイヤーが落命する、ダメージを受ける、またはさもなければ失敗を犯すたびに識別する情報を含んでもよい。これらのメトリックは、あるゲームプレイビデオが、別のゲームプレイビデオと比較して、より成功したゲームプレイアプローチを示し得るかどうかを評価するために用いられてもよく、したがって、ゴースト層200支援のためのより適切な基礎であってもよい。分析を実行するために調達され利用されるゲームプレイビデオ305は、各ビデオにおいてプレイヤーのスキルレベルを反映するメタデータ376メトリックに基づいて選択されてもよい。APIは、ソースビデオ305内にメタデータ376を埋め込むことを可能にし、それによって、ゲームの仮想ウォークスルー405を作成するためのソースビデオ305の後続の分析を容易にするように構成されてもよい。このようにして、1つ以上のソースビデオ305に基づいてプレイヤーのアクションを正確に識別することが改善され得、分析の複雑さおよびそれを実行するために必要な時間が低減または完全に排除され得る。
【0017】
ゲームの進行のすべてのポイントについてソースビデオ305が利用できない場合、完全で包括的な仮想ウォークスルー405は、追加の努力なしには生成できない場合があることを理解されたい。この状況では、分析器359は、ゲームのうち、ソースビデオ305が存在する部分であって、ゲームのうち、ソースビデオ305が存在しない他の部分と類似していると見なされる部分から外挿して、プレイヤーがとるべき成功裡なアクションを予測しようと試みてもよい。ソースビデオ305は、敵の量および/もしくはタイプの1つ以上が同じであるか、マップもしくはレベルが同じであるか、1つ以上の障害物が同じであるか、または他のゲームエンティティの閾値数が同じであるゲームの一部に類似してもよい。例えば、ソースビデオ305がレベル1ではなくレベル3について存在し、レベル3がレベル1に充分類似していると見なされる場合、分析器359は、レベル3についてのソースビデオ305がレベル1をプレイしている間のプレイヤーに提案されたアクションを知らせるのに適切であり得る、と判断してもよい。機械学習モデル5は、現在ゲームをプレイしているユーザにゴースト層200を提供するように構築されてもよい。モデル5は、現在ゲームをプレイしているユーザによるゲームプレイの1つ以上のキャプチャされたフレームの入力に基づいて、同じまたは類似のシナリオが、1つ以上の以前に記録されたビデオに基づいて、同じゲーム内で見つけられ得るかどうかを判断してもよい。現在のユーザが直面し得るシナリオを判断するために用いられてもよいビデオまたはビデオセグメントは、仮想ウォークスルー405が基づくビデオセグメント(410、430、440、450、460)と同じであってもなくてもよい。別の言い方をすれば、第1のビデオを用いて、進行に関して、ユーザがゲーム内のどこにいるかを判断してもよく、一方、第2のビデオを用いて、ユーザがとり得る1つ以上の提案されたアクション(411~413,431~433,451~453,454~457)を判断してもよい。
【0018】
再び
図2を参照すると、モデル5は、仮想ウォークスルー405から検索されたゴースト層200として知られるビデオのスクリーンショットまたはセグメントをゲーム環境201にオーバーレイして、ゲーム470の進行を容易にし得る1つ以上の次のアクション(411~413,431~433,451~453,454~457)をユーザに提案してもよい。いくつかの例では、ユーザがある単一のアクションを実行するまで、ゴースト層200を用いてそのアクションのみがユーザに表示されてもよい。他の例では、2つ以上のアクションが順次表示されてもよい。ゴースト層200を介して表示されるアクションは、1回生じてもよく、固定された複数回数繰り返されてもよく、またはユーザがアクションを実行するまで無期限に繰り返されてもよい。モデル5は、ユーザのゲームコントローラ入力、ユーザのキャラクタへの変更、およびゲーム環境201に生じる他の変更のうちの1つ以上に基づいて、ユーザがガイドに表示される提案されたアクションを実行したことを検出してもよい。
【0019】
モデル5は、仮想ウォークスルー405から提供されるスクリーンショットまたはビデオセグメント(410、430、440、450、460)に様々な強化および変換を提供してもよい。これらのプロセスは、以前に記録されたビデオセグメントの「正規化」340と呼ばれてもよい。正規化340の目標は、ビデオセグメント(410、430、440、450、460)が、ユーザの視界を遮ることなく、視点、縮尺、および動きに審美的に合致するように、既存のゲーム環境201にわたってレイヤー化され得るように、ビデオセグメントを処理することであってもよい。例えば、モデル5は、現在のゲーム環境201においてユーザのパースペクティブにより近く合うよう、スクリーンショットまたはビデオセグメントを並進、回転、変倍してもよい。モデル5は、ラベル、ハイライト、ならびに他のインジケータおよび要素をスクリーンショットまたはビデオセグメントに追加してもよい。モデル5は、ビデオセグメントに存在する音声を仮想ウォークスルー405に追加するかまたはそのような音声を仮想ウォークスルー405から除去してもよい。モデル5は、現在のプレイヤーまたは現在のゲーム環境201のシナリオに無関係であり得る部分などの、スクリーンショットまたはビデオセグメントの部分を除去してもよい。例えば、モデル5は、以前に記録されたゲームプレイビデオに示されるエンティティを、エンティティが動いているかまたは動いていないかに基づいて検出および識別してもよい。動いていないエンティティは、例えば、死んだ敵またはそうでなければ非アクティブな敵であると判断されてもよく、現在プレイされているゲームのゴースト層200においてユーザに表示されなくてもよい。モデル5は、スクリーンショットまたはビデオセグメントのガンマ/輝度、コントラスト、色合い、および透明度を調整してもよい。モデル5は、ビデオの再生速度を変化させてもよい。例えば、モデル5は、実行されているアクションをより容易に認識するユーザの能力を容易にするために、低減された速度でゴースト層200ビデオを再生するように構成されてもよい。
【0020】
モデル5は、機械学習モデルを用いて実現されてもよい。前述のように、モデル5は、現在ゲームをプレイしているユーザによるゲームプレイの1つ以上のフレーム330の入力に基づいて、1つ以上の以前に記録したゲームビデオが存在する同じまたは類似のシナリオ335を判断してもよい。現在プレイされているゲームの1つ以上のフレーム330は、ビデオを形成してもよく、本明細書で用いられるとおりでは、インスタントゲームビデオと呼ばれることになる。以前に記録したゲームビデオは、前述のように、単一のソースからの検索を単純化するために、包括的なマスタビデオ480にコンパイルされてもよく、または別々のままであってもよい。モデル5は、インスタントゲームビデオ330を、マスタビデオ480または別途調達されたビデオのいずれかからの、以前に記録されたゲームビデオ305のセグメントと照合(335)してもよい。マッチ336は、以前に記録されたゲームビデオに示される状況がインスタントゲームビデオにおける同じ状況であるかまたは類似の状況であるかについてのモデルの確実性を反映する予測スコアに基づいて判断されてもよい。モデル5によって実現されるマッチングアルゴリズムは、以前に記録されたゲームビデオ305とインスタントゲームビデオ330との間のキーポイントを識別および照合してもよいスケール不変特徴変換(SIFT)アルゴリズムに基づいてもよい。マッチングアルゴリズムはまた、深層学習に基づいてもよく、ニューラルネットワークは、以前に記録されたゲームビデオおよびインスタントゲームビデオについて埋め込み空間を学習するように訓練されてもよく、マッチングは、以前に記録されたゲームビデオおよびインスタントゲームビデオの埋め込み間の距離に基づいて行われてもよい。マッチングアルゴリズムが、閾値予測スコアを満たすこと、または埋め込み間の閾値距離を満たすことに基づいて、以前に記録したビデオセグメントがインスタントゲームビデオ330と好適にマッチする、と判断する場合、モデル5は、以前に記録したビデオセグメントをゴースト層200において提供することがユーザにとって有用であり得ると判断し、ユーザによってそうすることを可能にされる場合には、それを提供してもよい。
【0021】
ゴースト層200は、ある可変度のガイダンスをユーザに提供するために呼び出されてもよい。前述のように、ゴースト層200は、インスタントゲーム環境201内で変換され、調整され、ユーザに提示されてもよいビデオの形態でユーザに表示されてもよい。したがって、ユーザは、ゴースト層200のビデオに示される各アクションを観察することによって学習してもよい。所望される場合、モデル5はまた、対応するゲームコントローラ入力をエミュレートして、以前に記録されたゲームビデオおよび/または仮想ウォークスルー405において提案されるアクションを実行することによって、ユーザから制御を握ってもよい。この特徴は、たとえば強化学習アルゴリズムを用いて実現されてもよい。ある実施形態では、ゲームコントローラから受信され得るすべての可能な入力を含むアクション空間が定義されてもよい。強化学習アルゴリズムは、調達されたゲームプレイビデオ305を用いて、ソースビデオ305に示されるゲームプレイを模倣しようと試みるよう、トレーニングしてもよい。ある例では、アクションがとられるたびに、現在のフレーム、アクション、および次のフレームを含むベクトルが生成されてもよい。次のフレームは、アクションを実行するためにゲームコントローラ入力をエミュレートした後に示されるゲームプレイ画像に基づいてもよい。画素距離損失計算を用いて、アクションをとった後に取得される次のフレームとソースビデオ305におけるアクションに続く次のフレームとの間の差を識別してもよい。ユーザは、ゴースト層200からのガイダンスの度合いを設定するオプションを提供されてもよい。例えば、ユーザは、インスタントゲームの、より困難な部分の間では、モデル5がゲームコントローラ入力の制御を握ることを好むかもしれず、ユーザは単にゴースト層200のビデオを観察し、より容易な部分の間では、自身のゲームコントローラ入力を提供することを可能にし得る。モデル5はまた、それが制御を握る度合いを変化させてもよい。例えば、ユーザが身体的障害または負傷のために困難を有し得る場合、モデル5は、補充によって、ゲームの一部を通してプレイヤーを進めるために必要とされる複雑さおよび/またはコントローラ入力の数を低減してもよい。モデル5は、ユーザのゲームコントローラ入力を追加のゲームコントローラ入力で補うことによってこれを達成し、それによって、ユーザによって提供されるゲームコントローラ入力の総数および/または同時ゲームコントローラ入力の数を低減してもよい。ゲームの他の部分の間、ユーザは、ゴースト層200をまったく表示せず、それらの時間の間、それを無効にすることを好んでもよい。
【0022】
一実施形態では、インスタントゲームにおいてユーザに提供されるゴースト層200は、1つ以上の事前記録されたソースビデオ305におけるプレイヤーのパフォーマンスに基づくのではなく、同じゲームを現在ライブストリーミングしているプレイヤーのパフォーマンスに基づいてもよい。すなわち、ライブストリーミングプレイヤーのアクションは、先に論じたように変換されインスタントゲームのユーザのゲーム環境201にオーバーレイしてもよいゴースト層200において、提供されてもよい。このようにして、ライブストリーミングプレイヤーは、ゴースト層により支援されるユーザにリアルタイムで「コーチング」を提供してもよい。
【0023】
一実施形態では、調達されたゲームプレイビデオ305とユーザによって現在プレイされているゲームの1つ以上のフレームとの間にマッチが存在するかどうかを判定するために、あるプロセスが採用されてもよい。調達されたゲームプレイビデオ305に基づいて、1つ以上のエンティティを含む3次元または2次元ゲーム環境が再構築されてもよい。エンティティは、例えば、敵、敵パターン、オブジェクト、出入り口、建物、レベル、マップ、トラック、障害物、またはユーザによって見られるゲームプレイを定義する他の特徴であってもよい。ゲーム環境201内の各エンティティは、メタデータに記憶されてもよい座標および/または多角形形状のセットを用いて抽出され、粗く定義されてもよい。メタデータは、テクスチャまたは画像情報、エンティティタイプ、記述等の、各ゲームエンティティについての追加情報を含んでもよい。ユーザによって現在プレイされているゲームに関連付けられるゲームプラットフォームは、各ゲーム状態で存在するエンティティを記述および/または定義してもよい。この文脈では、ゲーム状態は、ユーザによって行われるアクション間に生じる1つ以上のフレームのセットを指してもよい。ユーザに提示される1つ以上の定義されたエンティティを含む現在のゲーム状態は、マッチがありそうかどうかを判定するために、再構成されたゲーム環境と比較されてもよい。マッチは、例えば、ソースビデオ305においてプレイヤーに提示されるシナリオが、現在プレイされているゲームにおいてユーザに提示されるゲーム環境201と同じであるかまたは類似していることを示してもよい。マッチ336は、構築されたゲーム環境に示されるエンティティを抽出し、ゲームプレイ中にユーザに対して現在表示されているゲーム環境201に示されるエンティティと比較する抽出アルゴリズムを用いて判断されてもよい。ある例では、ゲーム環境201と構築されたゲーム環境との間のマッチングは、エンティティごとの比較などに基づいて実行されてもよい。ゲーム環境201と構築されたゲーム環境との間の同じゲームエンティティの数が多いほど、類似性が高いことを示してもよく、同じゲームエンティティの数が少ないほど、類似性が低いことを示してもよい。マッチ336が肯定的に識別されるよう、同じとみなされ得るゲームエンティティの最小数を確立するように、閾値が構成されてもよい。重みが、各ゲームエンティティに、そのタイプに基づいて割り当てられ、マッチングアルゴリズムに組み込まれてもよい。例えば、レースゲームでは、ソースビデオ305と現在プレイされているゲームにおいてプレイヤーがレースをしているトラックとの間の同じレーストラックを重み付けして、プレイヤーがレースをしている他の車の数またはタイプよりも大きな類似性の指標を提供してもよい。ゴースト層200インターフェイスは、前述のように、マッチングおよび/またはソースビデオ305から抽出されたエンティティの両方に基づいて、ソースビデオ305からの1つ以上のフレームを、ラベル、注釈、または他の要素に加えて、ユーザの現在のゲーム環境201にオーバーレイしてもよい。
【0024】
本開示の主題の実施形態は、様々なコンポーネントおよびネットワークアーキテクチャにおいて実現され、およびそれらとともに用いられてもよい。
図5は、本開示の主題の実施形態を実施するのに適した例示的なコンピューティングデバイス20である。デバイス20は、例えば、デスクトップもしくはラップトップコンピュータ、またはスマートフォン、タブレットなどのモバイルコンピューティングデバイスであってもよい。デバイス20は、中央プロセッサ24などのコンピュータ20の主要コンポーネントを相互接続するバス21と、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュRAMなどのメモリ27と、ディスプレイスクリーンなどのユーザディスプレイ22と、1つ以上のコントローラおよびキーボード、マウス、タッチスクリーンなどの関連するユーザ入力デバイスを含んでもよいユーザ入力インターフェイス26と、ハードドライブ、フラッシュストレージなどの固定ストレージ23と、光ディスク、フラッシュドライブなどを制御および受けるよう動作可能なリムーバブルメディアコンポーネント25と、好適なネットワーク接続を介して1つ以上の遠隔装置と通信するよう動作可能なネットワークインターフェイス29とを含んでもよい。
【0025】
バス21は、前述のように、中央プロセッサ24と、RAM、ROM、および他のメモリを含んでもよい1つ以上のメモリコンポーネントとの間のデータ通信を可能にする。通常、RAMは、オペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリである。ROMまたはフラッシュメモリコンポーネントは、他のコードの中でも、周辺コンポーネントとの対話などの基本的なハードウェア動作を制御する基本入出力システム(BIOS)を含んでもよい。コンピュータ20に常駐するアプリケーションは、概して、ハードディスクドライブ(例えば、固定ストレージ23)、光学ドライブ、フロッピー(登録商標)ディスク、または他の記憶媒体等のコンピュータ可読媒体上に記憶され、それを介してアクセスされる。
【0026】
固定ストレージ23は、コンピュータ20と一体であってもよく、または別個であり、他のインターフェイスを介してアクセスされてもよい。ネットワークインターフェイス29は、有線または無線接続を介して遠隔サーバへの直接接続を提供してもよい。ネットワークインターフェイス29は、デジタルセルラー電話、WiFi、Bluetooth(登録商標)、近距離場等を含む、当業者によって容易に理解されるであろう任意の好適な技術およびプロトコルを用いて、そのような接続を提供してもよい。例えば、ネットワークインターフェイス29は、コンピュータが、以下でさらに詳細に説明されるように、1つ以上のローカル、広域、または他の通信ネットワークを介して、他のコンピュータと通信することを可能にしてもよい。
【0027】
多くの他のデバイスまたはコンポーネント(図示せず)が同様の方法(例えば、文書スキャナ、デジタルカメラなど)で接続されてもよい。逆に、本開示を実施するのに、
図5に示すコンポーネントのすべてが存在する必要はない。コンポーネントは、示されたものとは異なる方法で相互接続されることができる。
図5に示されるようなコンピュータの動作は、当技術分野で容易に公知であり、本出願では詳細に論じない。本開示を実施するためのコードは、メモリ27、固定ストレージ23、リムーバブルメディア25、または遠隔ストレージ位置のうちの1つ以上などのコンピュータ可読記憶媒体に記憶され得る。
【0028】
図6は、開示される主題の一実施形態による例示的なネットワーク構成を示す。ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイスなどの1つ以上のデバイス10、11は、1つ以上のネットワーク7を介して他のデバイスに接続してもよい。各デバイスは、前述のようなコンピューティングデバイスであってもよい。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または任意の他の好適な通信ネットワークであってもよく、有線および/または無線ネットワークを含む任意の好適なプラットフォーム上で実現されてもよい。デバイスは、サーバ13および/またはデータベース15などの1つ以上のリモートデバイスと通信してもよい。リモートデバイスは、デバイス10、11によって直接アクセス可能であってもよく、またはサーバ13がデータベース15に記憶されたリソースへのアクセスを提供する場合など、1つ以上の他のデバイスが中間アクセスを提供してもよい。デバイス10、11はまた、遠隔プラットフォーム17、または遠隔プラットフォーム17によって提供されるクラウドコンピューティング構成およびサービス等のサービスにアクセスしてもよい。遠隔プラットフォーム17は、1つ以上のサーバ13および/またはデータベース15を含んでもよい。
【0029】
図7は、開示される主題の一実施形態による例示的な構成を示す。リモートサービスもしくはサービスプロバイダ11、ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイスなどのユーザデバイス10などの、1つ以上のデバイスまたはシステム10、11は、1つ以上のネットワーク7を介して他のデバイスに接続してもよい。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または任意の他の好適な通信ネットワークであってもよく、有線および/または無線ネットワークを含む任意の好適なプラットフォーム上で実現されてもよい。デバイス10、11は、処理ユニット14、データベース15、およびユーザインターフェイスシステム13などの、1つ以上のリモートコンピュータシステムと通信してもよい。場合によっては、デバイス10、11は、データベース15、処理ユニット14等の1つ以上の他のシステムへのアクセスを提供してもよい、ユーザ対面インターフェイスシステム13と通信してもよい。例えば、ユーザインターフェイス13は、1つ以上の他のコンピュータシステムからデータを提供する、ユーザがアクセス可能なウェブページであってもよい。ユーザインターフェイス13は、人間可読ウェブページがユーザデバイス10上でウェブブラウザクライアントに提供され、コンピュータ可読APIまたは他のインターフェイスがリモートサービスクライアント11に提供される場合等、異なるクライアントに異なるインターフェイスを提供してもよい。
【0030】
ユーザインターフェイス13、データベース15、および/もしくは処理ユニット14は、統合システムの一部であってもよく、またはプライベートネットワーク、インターネット、もしくは任意の他の好適なネットワークを介して通信する複数のコンピュータシステムを含んでもよい。1つ以上の処理ユニット14は、たとえば、クラウドベースのコンピューティングシステム、検索エンジン、コンテンツ配信システムなどの分散システムの一部であってもよく、それも、データベース15および/またはユーザインターフェイス13を含むかまたはそれ(ら)と通信してもよい。いくつかの構成では、機械学習モデル5は、様々な予測モデル、データ分析などを1つ以上の他のシステム13、14、15に提供してもよい。
【0031】
より一般的には、本開示の主題の様々な実施形態は、コンピュータにより実現されるプロセスおよびそれらのプロセスを実施するための装置の形態を含むか、またはその形態で具現化されてもよい。実施形態はまた、フロッピー(登録商標)ディスケット、CD-ROM、ハードドライブ、USB(ユニバーサルシリアルバス)ドライブ、または任意の他の機械可読記憶媒体などの非一時的および/または有形媒体において具現化される命令を含むコンピュータプログラムコードを有するコンピュータプログラム製品の形態で具現化され、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが、開示される主題の実施形態を実施するための装置になるようにしてもよい。実施形態はまた、例えば、記憶媒体に記憶されるか、コンピュータにロードされ、および/もしくはコンピュータによって実行されるか、または電気配線もしくはケーブルを介して、光ファイバを介して、もしくは電磁放射を介してなど、何らかの伝送媒体を介して伝送されるかにかかわらず、コンピュータプログラムコードの形態で具現化され、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが、開示される主題の実施形態を実施するための装置になるようにしてもよい。汎用マイクロプロセッサ上に実現される場合、コンピュータプログラムコードセグメントは、特定の論理回路を形成するようにマイクロプロセッサを構成する。
【0032】
いくつかの構成では、コンピュータ可読記憶媒体に記憶されたコンピュータ可読命令のセットは、汎用プロセッサまたは汎用プロセッサを含むデバイスを、命令を実現または実行するように構成される専用デバイスに変換してもよい汎用プロセッサによって実現されてもよい。実施形態は、開示される主題の実施形態による技法のすべてまたは一部をハードウェアおよび/もしくはファームウェアで具現化する汎用マイクロプロセッサならびに/または特定用途向け集積回路(ASIC)などのプロセッサを含んでもよいハードウェアを用いて実現されてもよい。プロセッサは、RAM、ROM、フラッシュメモリ、ハードディスク、または電子情報を記憶することができる任意の他のデバイスなどのメモリに結合されてもよい。メモリは、開示された主題の実施形態による技法を実行するためにプロセッサによって実行されるように適合された命令を記憶してもよい。
【0033】
本主題は、ゲームプレイ支援の発見および獲得に関連付けられる摩擦を低減することによって、ユーザのゲームの楽しみを改善し得る。本明細書で開示される実施形態は、ユーザがゲームをプレイしている間にゲームから退出することなくゲーム内支援を受けることを可能にし得る。本明細書に開示される実施形態は、ユーザが困っているゲームの部分を、成功したプレイヤーが通過して先に進むのを見るために、ユーザが、ビデオ共有ウェブサイト上で関連のゲームプレイビデオを検索することから、ユーザを解放し得る。本明細書に開示される実施形態は、従来の支援発見方法と比較して、便利でありかつ時間を節約する態様で、ユーザにゲーム支援を提供するために利用可能なゲームプレイビデオの大規模な既存のライブラリを活用し得る。本明細書で開示する実施形態は、ゲームの難易度を低減するために、ユーザのゲームコントローラ入力に対する様々な度合いの制御を仮定し得る。
【0034】
前述の記載は、説明の目的のため、特定の実施形態を参照して記載されている。しかしながら、上記の例示的な考察は、網羅的であること、または開示される主題の実施形態を開示される厳密な形態に限定することを意図するものではない。上記の教示に鑑み、多くの修正および変形が可能である。実施形態は、開示される主題の実施形態の原理およびそれらの実際の適用例を説明し、それによって、他の当業者が、それらの実施形態および企図される特定の用途に適し得るような種々の修正を伴う種々の実施形態を利用することを可能にするために、選択および説明された。
【0035】
本明細書で開示される実現例は、以下などのシステム、デバイス、配置、技法、および構成を含むことができる。
【0036】
1.コンピュータにより実現される方法であって、
ソースビデオを受信することと、
上記ソースビデオにおいてキャプチャされたゲームプレイにおいて生ずる複数のプレイヤーアクションを識別することと、
第2のビデオを受信することとを含み、上記第2のビデオは、現在実行中のゲーム環境に基づき、上記方法はさらに、
上記第2のビデオにおけるゲームプレイ状況と類似の第1のゲームプレイ状況を示す上記ソースビデオの部分を判断することと、
上記ソースビデオの上記判断された部分のプロパティを調整してガイドビデオを生成することと、
上記ガイドビデオを上記現在実行中のゲーム環境にオーバーレイすることとを含む、方法。
【0037】
2.上記ソースビデオ部分を複数のプレイヤーアクションにセグメント化することをさらに含む、実現例1の方法。
【0038】
3.上記ソースビデオ内に埋め込まれたメタデータからプレイヤーアクションのリストを抽出することをさらに含む、実現例1または2の方法。
【0039】
4.上記メタデータは、プレイヤーのスキルレベルを反映する1つ以上のメトリックをさらに含み、上記方法は、上記1つ以上のメトリックに基づいて上記ソースビデオを選択することをさらに含む、実現例3の方法。
【0040】
5.さらに、
上記現在実行中のゲーム環境において、完了したプレイヤーアクションを検出することと、
上記検出された完了したプレイヤーアクションに応答して、更新されたガイドビデオをオーバーレイすることとを含む、先行する実現例のいずれか1つの方法。
【0041】
6.各識別されたプレイヤーアクションは、ユーザから受信されたゲームコントローラ入力と1対1の対応を共有する、先行する実現例のいずれか1つの方法。
【0042】
7.仮想ウォークスルーをコンパイルすることをさらに含み、上記仮想ウォークスルーをコンパイルすることは、
上記ソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つと、
上記ソースビデオおよび上記1つ以上の二次ソースビデオのうちの少なくとも1つの1つ以上のセグメントに対応するプレイヤーアクションのリストとに基づく、先行する実現例のいずれか1つの方法。
【0043】
8.上記判断することは、埋め込み空間にわたる上記ソースビデオのセグメントの第1の埋め込みと上記第2のビデオの第2の埋め込みとの間の距離を計算することに基づく、先行する実現例のいずれか1つの方法。
【0044】
9.上記プロパティを調整することは、
上記判断された部分を回転させることと、
上記判断された部分を並進させることと、
上記判断された部分を変倍することと、
上記判断された部分の再生速度を調整することと、
上記判断された部分に要素を追加することと、
上記判断された部分から要素を除去することと、
上記判断された部分の透明度を調整することとからなる群から選択される1つ以上を含む、先行する実現例のいずれか1つの方法。
【0045】
10.さらに、
上記複数のプレイヤーアクションのうちの1つ以上の提案されたプレイヤーアクションを識別することを含み、
上記ガイドビデオをオーバーレイすることは、上記現在実行中のゲーム環境において上記1つ以上の提案されたプレイヤーアクションをオーバーレイすることをさらに含み、
上記完了したプレイヤーアクションを検出することは、プレイヤーが上記提案されたプレイヤーアクションのうちの1つ以上を実行したことを検出することをさらに含む、先行する実現例のいずれか1つの方法。
【0046】
11.上記完了したプレイヤーアクションは、ゲームコントローラに由来しないエミュレートされたゲームコントローラ入力を受信することに基づく、先行する実現例のいずれか1つの方法。
【0047】
12.上記ソースビデオの上記部分が上記第1のゲームプレイ状況を示すと判断することは、複数のゲームプレイビデオの中から上記ソースビデオを選択することを含む、先行する実現例のいずれか1つの方法。
【0048】
13.上記ソースビデオを受信することおよび上記複数のプレイヤーアクションを識別することは、上記第2のビデオを受信することの後に実行される、先行する実現例のいずれか1つの方法。
【0049】
14.上記現在実行中のゲーム環境のユーザから上記ガイドビデオを生成する要求を受信することをさらに含み、
上記ガイドビデオをオーバーレイすることは、上記要求に応答して行われる、先行する実現例のいずれか1つの方法。
【0050】
15.命令を含む、非一時的なコンピュータ可読媒体であって、上記命令は、1つ以上のコンピューティングシステムによって実行されると、
ソースビデオを受信し、
上記ソースビデオにおいてキャプチャされたゲームプレイにおいて生ずる複数のプレイヤーアクションを識別し、
第2のビデオを受信するよう動作可能であり、上記第2のビデオは、現在実行中のゲーム環境に基づき、上記命令はさらに、
上記第2のビデオにおけるゲームプレイ状況と類似のゲームプレイ状況を示す上記ソースビデオの部分を判断し、
上記ソースビデオの上記判断された部分のプロパティを調整してガイドビデオを生成し、
上記ガイドビデオを上記現在実行中のゲーム環境にオーバーレイするよう動作可能である、非一時的なコンピュータ可読媒体。
【0051】
16.上記ソースビデオ部分を複数のプレイヤーアクションにセグメント化するよう動作可能な命令をさらに含む、実現例15の媒体。
【0052】
17.上記ソースビデオ内に埋め込まれたメタデータからプレイヤーアクションのリストを抽出するよう動作可能な命令をさらに含む、実現例15または16の媒体。
【0053】
18.上記メタデータはさらに、プレイヤーのスキルレベルを反映する1つ以上のメトリックを含み、
上記媒体は、上記1つ以上のメトリックに基づいて上記ソースビデオを選択するよう動作可能な命令をさらに含む、実現例17の媒体。
【0054】
19.さらに、
上記現在実行中のゲーム環境において、完了したプレイヤーアクションを検出し、
上記検出された完了したプレイヤーアクションに応答して、更新されたガイドビデオをオーバーレイするよう動作可能な命令をさらに含む、先行する実現例のいずれか1つの媒体。
【0055】
20.各識別されたプレイヤーアクションは、ユーザから受信されたゲームコントローラ入力と1対1の対応を共有する、先行する実現例のいずれか1つの媒体。
【0056】
21.仮想ウォークスルーをコンパイルするよう動作可能な命令をさらに含み、上記仮想ウォークスルーをコンパイルすることは、
上記ソースビデオおよび1つ以上の二次ソースビデオのうちの少なくとも1つと、
上記ソースビデオおよび上記1つ以上の二次ソースビデオのうちの少なくとも1つの1つ以上のセグメントに対応するプレイヤーアクションのリストとに基づく、先行する実現例のいずれか1つの媒体。
【0057】
22.上記判断することは、埋め込み空間にわたる上記ソースビデオのセグメントの第1の埋め込みと上記第2のビデオの第2の埋め込みとの間の距離を計算することに基づく、先行する実現例のいずれか1つの媒体。
【0058】
23.上記プロパティを調整するよう動作可能な上記命令は、
上記判断された部分を回転させることと、
上記判断された部分を並進させることと、
上記判断された部分を変倍することと、
上記判断された部分の再生速度を調整することと、
上記判断された部分に要素を追加することと、
上記判断された部分から要素を除去することと、
上記判断された部分の透明度を調整することとからなる群から選択される1つ以上を実行するよう動作可能な命令をさらに含む、先行する実現例のいずれか1つの媒体。
【0059】
24.さらに、
上記複数のプレイヤーアクションのうちの1つ以上の提案されたプレイヤーアクションを識別するよう動作可能な命令を含み、
上記ガイドビデオをオーバーレイするよう動作可能な命令は、上記現在実行中のゲーム環境において上記1つ以上の提案されたプレイヤーアクションをオーバーレイするよう動作可能な命令をさらに含み、
上記完了したプレイヤーアクションを検出するよう動作可能な命令は、プレイヤーが上記提案されたプレイヤーアクションのうちの1つ以上を実行したことを検出するよう動作可能な命令をさらに含む、先行する実現例のいずれか1つの媒体。
【0060】
25.上記完了したプレイヤーアクションは、ゲームコントローラに由来しないエミュレートされたゲームコントローラ入力を受信するよう動作可能な命令に基づく、先行する実現例のいずれか1つの媒体。
【0061】
26.上記ソースビデオの上記部分が上記第1のゲームプレイ状況を示すと判断するよう動作可能な命令は、複数のゲームプレイビデオの中から上記ソースビデオを選択するよう動作可能な命令さらにを含む、先行する実現例のいずれか1つの媒体。
【0062】
27.上記ソースビデオを受信するよう動作可能な命令および上記複数のプレイヤーアクションを識別するよう動作可能な命令は、上記第2のビデオを受信するよう動作可能な命令の後に実行される、先行する実現例のいずれか1つの媒体。
【0063】
28.上記現在実行中のゲーム環境のユーザから上記ガイドビデオを生成する要求を受信するよう動作可能な命令をさらに含み、
上記ガイドビデオをオーバーレイするよう動作可能な命令は、上記要求に応答して実行される、請求項15の媒体。