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

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

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

特許7550306視線追跡に基づくヘッドアップディスプレイの自動位置決め
<>
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図1
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図2A
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図2B
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図3A
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図3B
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図4
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図5
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図6A
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図6B
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図7
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図8
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図9A
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図9B
  • 特許-視線追跡に基づくヘッドアップディスプレイの自動位置決め 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-04
(45)【発行日】2024-09-12
(54)【発明の名称】視線追跡に基づくヘッドアップディスプレイの自動位置決め
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240905BHJP
   A63F 13/25 20140101ALI20240905BHJP
   A63F 13/30 20140101ALI20240905BHJP
   A63F 13/212 20140101ALI20240905BHJP
   A63F 13/213 20140101ALI20240905BHJP
   A63F 13/24 20140101ALI20240905BHJP
   A63F 13/426 20140101ALI20240905BHJP
   G06F 3/0346 20130101ALI20240905BHJP
   G06T 19/00 20110101ALI20240905BHJP
【FI】
G06F3/01 510
A63F13/25
A63F13/30
A63F13/212
A63F13/213
A63F13/24
A63F13/426
G06F3/0346 423
G06T19/00 300B
【請求項の数】 20
(21)【出願番号】P 2023514030
(86)(22)【出願日】2021-08-17
(65)【公表番号】
(43)【公表日】2023-09-27
(86)【国際出願番号】 US2021046384
(87)【国際公開番号】W WO2022046476
(87)【国際公開日】2022-03-03
【審査請求日】2023-04-21
(31)【優先権主張番号】17/008,486
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヴィヒゲスホフ、エルク
【審査官】塩屋 雅弘
(56)【参考文献】
【文献】特表2019-515361(JP,A)
【文献】米国特許出願公開第2020/0134867(US,A1)
【文献】米国特許出願公開第2015/0264299(US,A1)
【文献】欧州特許出願公開第03457251(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
A63F 13/25
A63F 13/30
A63F 13/212
A63F 13/213
A63F 13/24
A63F 13/426
G06F 3/0346
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
ヘッドアップディスプレイ(HUD)の表示を配置するための方法であって、
ユーザーに表示するために、仮想環境のビューをレンダリングすることと、
前記ユーザーが前記仮想環境の前記ビューとのインタラクティビティに関与するときに前記ユーザーの視線を追跡することであって、前記ユーザーの前記視線を追跡することは視線データを生成し、前記視線データは、前記インタラクティビティ中に前記ユーザーの前記視線が向けられた前記ビュー内の場所を識別する、前記追跡することと、
前記視線データを使用して、前記ビューにHUDを位置決めするために優先場所を決定することと、
前記優先場所において、前記HUDを前記ビューに位置決めすることと、
を含み、
前記視線データを使用して、前記ビューにHUDを位置決めするために優先場所を決定することは、ゲームプレイセッション中にHUDが配置された様々な場所のうち、最も好ましい場所を最優先場所として決定することを含むことを特徴とする方法。
【請求項2】
前記視線データを使用して前記優先場所を決定することは、前記視線データを分析して前記ユーザーの主要視線領域を識別することを含む、請求項1に記載の方法。
【請求項3】
前記ユーザーの前記主要視線領域を識別することは、前記ユーザーの前記視線の量が既定閾値を超える前記ビューのエリアを識別することを含む、請求項2に記載の方法。
【請求項4】
前記HUDを位置決めするために前記優先場所を決定することは、前記ユーザーの前記主要視線領域の外側になるように構成される、請求項2に記載の方法。
【請求項5】
前記視線データを使用して前記HUDを位置決めするために優先場所を決定することは、前記ユーザーの前記追跡された視線のセントロイドを決定することを含む、請求項1に記載の方法。
【請求項6】
前記HUDを前記位置決めするために前記優先場所を決定することは、前記HUDを前記位置決めするために複数の既定場所のうちの1つを選択することを含む、請求項1に記載の方法。
【請求項7】
前記HUDを前記ビューに位置決めすることは、前記HUDを既存場所から前記優先場所に移動させることを含む、請求項1に記載の方法。
【請求項8】
インタラクティブアプリケーションがビデオゲームであり、前記仮想環境は前記ビデオゲームのインタラクティブゲームプレイ用に定義される、請求項1に記載の方法。
【請求項9】
前記HUDは、前記ビデオゲームの前記インタラクティブゲームプレイに関連する情報または統計データを表示するように構成される、請求項8に記載の方法。
【請求項10】
ヘッドアップディスプレイ(HUD)の表示を配置するための方法であって、
ユーザーに表示するために、仮想環境のビューをレンダリングすることと、
前記仮想環境の前記ビューとの前記ユーザーによるインタラクティビティ中に、前記ユーザーが前記インタラクティビティに関与するときに前記インタラクティビティの1つ以上の特徴を追跡することであって、前記インタラクティビティの前記1つ以上の特徴を追跡することは特徴データを生成する、前記追跡することと、
前記特徴データを使用して、前記ビューにHUDを位置決めするために優先場所を決定することと、
前記優先場所において、前記HUDを前記ビューに位置決めすることと、
を含み、
前記特徴データを使用して、前記ビューにHUDを位置決めするために優先場所を決定することは、ゲームプレイセッション中にHUDが配置された様々な場所のうち、最も好ましい場所を最優先場所として決定することを含むことを特徴とする方法。
【請求項11】
前記特徴データを使用して前記優先場所を決定することは、前記特徴データを分析して、前記HUDを位置決めするために前記優先場所を示すパターンを識別することを含む、請求項10に記載の方法。
【請求項12】
前記特徴データを分析することは、機械学習モデルによって行われる、請求項11に記載の方法。
【請求項13】
前記HUDを位置決めするために前記優先場所を決定することは、前記HUDを位置決めするために複数の既定場所のうちの1つを選択することを含む、請求項10に記載の方法。
【請求項14】
前記インタラクティビティの前記特徴は、前記ユーザーの視線、前記ユーザーによるジェスチャ、コントローラー入力、バイオメトリック入力のうちの1つ以上を含む、請求項10に記載の方法。
【請求項15】
インタラクティブアプリケーションがビデオゲームであり、前記仮想環境は前記ビデオゲームのインタラクティブゲームプレイ用に定義される、請求項10に記載の方法。
【請求項16】
ヘッドアップディスプレイ(HUD)の表示要素を配置するための方法であって、
ユーザーに表示するために、仮想環境のビューをレンダリングすることと、
前記ユーザーが前記仮想環境の前記ビューとのインタラクティビティに関与するときに前記ユーザーの視線を追跡することであって、前記ユーザーの前記視線を追跡することは視線データを生成し、前記視線データは、前記インタラクティビティ中に前記ユーザーの前記視線が向けられた前記ビュー内の場所を識別する、前記追跡することと、
前記視線データを使用して、前記ビューにおける既定場所のランク付けされた順序を決定することであって、前記既定場所は、前記ビューにおけるHUDの要素の各々の配置に対して構成される、前記決定することと、
前記ランク付けされた順序に従って、各々、前記既定場所に前記HUDの前記要素を位置決めすることと、
含み、
前記視線データを使用して、前記ビューにおける既定場所のランク付けされた順序を決定することは、ゲームプレイセッション中にHUDが配置された様々な場所を、最も好ましい場所から被験者の最も好ましくない場所の順にランク付けすることを特徴とする方法。
【請求項17】
前記HUDの前記要素を前記位置決めすることは、重要度順に及び前記既定場所の前記ランク付けされた順序に従って、前記HUDの前記要素を配置するように構成される、請求項16に記載の方法。
【請求項18】
前記視線データを使用して前記ランク付けされた順序を決定することは、前記視線データを分析して前記ユーザーの主要視線領域を識別することを含む、請求項16に記載の方法。
【請求項19】
前記視線データを使用して前記ランク付けされた順序を決定することは、前記ユーザーの前記追跡された視線のセントロイドを決定することを含む、請求項16に記載の方法。
【請求項20】
インタラクティブアプリケーションがビデオゲームであり、前記仮想環境は前記ビデオゲームのインタラクティブゲームプレイ用に定義される、請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ユーザーの視線追跡に基づくヘッドアップディスプレイを自動位置決めするためのシステム及び方法に関する。
【背景技術】
【0002】
ゲーミング業界で開発が継続されている分野に関して、互いに地理的に離れたプレーヤーに集合的なゲーミング体験を提供することが可能であるマルチプレーヤーゲーミングの分野がある。ゲーミング業界の拡大している分野は、ゲームプレイビデオの共有及びゲームプレイの観戦の分野である。現在、ユーザーは、ウェブサイト、ソーシャルメディア等を経由して、ゲームプレイを記録及び共有することが可能である。さらに、ユーザーは自分のゲームプレイをライブストリーミングし得、他のユーザーは、そのゲームプレイが実質的にリアルタイムで発生しているように、それを視認できる。
【0003】
ゲーミング業界における別の現在の傾向として、クラウドゲーミングへの移行が挙げられる。クラウドゲーミングは、ビデオゲームのリソースを保証できるデータセンターにおいて、ビデオゲームのリモート実行を可能にすることによって、エンドユーザーに利点をもたらす。リモートで実行されるビデオゲームによって生成されたビデオは、ユーザーの機器にストリーミングされ、ユーザーからの入力はデータセンターに返信される。これにより、エンドユーザーは、ゲーム自体を実行するために特定のハードウェアを所有する必要がなくなる。むしろ、エンドユーザーはゲームプレイをストリーミングするのに十分なハードウェアだけを所有する必要があり、さらに、高品質なゲーミング体験を楽しみ得る。さらに、理論的には、クラウドゲーミングは、ネットワーク接続が利用可能な任意の場所からのゲーミングを可能にする。
【0004】
ビデオゲーム業界の継続的な傾向は、最新のゲームエンジンの要求を満たすために、グラフィックスの洗練化の向上と、コンピューティングリソースの可用性とが挙げられる。ビデオゲームが進化するにつれて、その解像度及びフレームレートは増加し続け、非常にリアルで詳細な仮想環境のレンダリングが可能になる。さらに、クラウドゲーミングの人気は高まり続け、クラウドで実行されるビデオゲームへのシフトが、高品質なゲーミング体験へのさらに多くのアクセスを可能にする。
【0005】
この文脈の範囲内で、本開示の実施形態が生じる。
【発明の概要】
【0006】
本開示の実施態様は、視線追跡に基づくヘッドアップディスプレイ(HUD)を自動位置決めするためのシステム及び方法を提供する。
【0007】
いくつかの実施態様では、ヘッドアップディスプレイ(HUD)を配置するための方法が提供され、本方法は、ユーザーに表示するために、仮想環境のビューをレンダリングすることと、ユーザーが仮想環境のビューとのインタラクティビティに関与するときにユーザーの視線を追跡することであって、ユーザーの視線を追跡することは視線データを生成し、視線データは、インタラクティビティ中にユーザーの視線が向けられたビュー内の場所を識別する、追跡することと、視線データを使用して、ビューにHUDを位置決めするために優先場所を決定することと、優先場所において、HUDをビューに位置決めすることと、を含む。
【0008】
いくつかの実施態様では、視線データを使用して優先場所を決定することは、視線データを分析してユーザーの主要視線領域を識別することを含む。
【0009】
いくつかの実施態様では、ユーザーの主要注視エリアを識別することは、ユーザーの視線の量が既定閾値を超えるビューのエリアを識別することを含む。
【0010】
いくつかの実施態様では、HUDを位置決めするために優先場所を決定することは、ユーザーの主要視線領域の外側になるように構成される。
【0011】
いくつかの実施態様では、視線データを使用してHUDを位置決めするために優先場所を決定することは、ユーザーの追跡された視線のセントロイドを決定することを含む。
【0012】
いくつかの実施態様では、HUDを位置決めするために優先場所を決定することは、HUDを位置決めするために複数の既定場所のうちの1つを選択することを含む。
【0013】
いくつかの実施態様では、HUDをビューに位置決めすることは、HUDを既存場所から優先場所に移動させることを含む。
【0014】
いくつかの実施態様では、インタラクティブアプリケーションはビデオゲームであり、仮想環境はビデオゲームのインタラクティブゲームプレイ用に定義される。
【0015】
いくつかの実施態様では、HUDは、ビデオゲームのインタラクティブゲームプレイに関連する情報または統計データを表示するように構成される。
【0016】
いくつかの実施態様では、ヘッドアップディスプレイ(HUD)を配置するための方法が提供され、本方法は、ユーザーに表示するために、仮想環境のビューをレンダリングすることと、仮想環境のビューとのユーザーによるインタラクティビティ中に、ユーザーがインタラクティビティに関与するときにインタラクティビティの1つ以上の特徴を追跡することであって、インタラクティビティの1つ以上の特徴を追跡することは特徴データを生成する、追跡することと、特徴データを使用して、ビューにHUDを位置決めするために優先場所を決定することと、優先場所において、HUDをビューに位置決めすることと、を含む。
【0017】
いくつかの実施態様では、特徴データを使用して優先場所を決定することは、特徴データを分析して、HUDを位置決めするために優先場所を示すパターンを識別することを含む。
【0018】
いくつかの実施態様では、特徴データを分析することは、機械学習モデルによって行われる。
【0019】
いくつかの実施態様では、HUDを位置決めするために優先場所を決定することは、HUDを位置決めするために複数の既定場所のうちの1つを選択することを含む。
【0020】
いくつかの実施態様では、インタラクティビティの特徴は、ユーザーの注視、ユーザーによるジェスチャ、コントローラー入力、バイオメトリック入力のうちの1つ以上を含む。
【0021】
いくつかの実施態様では、インタラクティブアプリケーションはビデオゲームであり、仮想環境はビデオゲームのインタラクティブゲームプレイ用に定義される。
【0022】
いくつかの実施態様では、ヘッドアップディスプレイ(HUD)の要素を配置するための方法が提供され、本方法は、ユーザーに表示するために、仮想環境のビューをレンダリングすることと、ユーザーが仮想環境のビューとのインタラクティビティに関与するときにユーザーの視線を追跡することであって、ユーザーの視線を追跡することは視線データを生成し、視線データは、インタラクティビティ中にユーザーの視線が向けられたビュー内の場所を識別する、追跡することと、視線データを使用して、ビューにおける既定場所のランク付けされた順序を決定することであって、既定場所は、ビューにおけるHUDの要素の各々の配置に対して構成される、決定することと、ランク付けされた順序に従って、各々、既定場所にHUDの要素を位置決めすることと、を含む。
【0023】
いくつかの実施態様では、HUDの要素を位置決めすることは、重要度順に及び既定場所のランク付けされた順序に従って、HUDの要素を配置するように構成される。
【0024】
いくつかの実施態様では、視線データを使用してランク付けされた順序を決定することは、視線データを分析してユーザーの主要視線領域を識別することを含む。
【0025】
いくつかの実施態様では、視線データを使用してランク付けされた順序を決定することは、ユーザーの追跡された視線のセントロイドを決定することを含む。
【0026】
いくつかの実施態様では、インタラクティブアプリケーションはビデオゲームであり、仮想環境はビデオゲームのインタラクティブゲームプレイ用に定義される。
【0027】
本開示の他の態様及び利点は、添付の図面と併せて解釈される、本開示の原理を例として示す以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0028】
本開示は、そのさらなる利点と一緒に、添付の図面と併せて以下の説明を参照することによって最良に理解され得る。
【0029】
図1】本開示の実施態様による、追跡されたプレーヤーの視線情報に基づくHUDの最適化された配置を概念的に示す。
【0030】
図2A】本開示の実施態様による、プレーヤーの視線追跡に基づいてHUDの最適位置を決定することを概念的に示す。
【0031】
図2B】本開示の実施態様による、HUDの最適配置を可能にするために、HUD付近の注視点の優先順位が下がることを概念的に示す。
【0032】
図3A】本開示の実施態様による、プレーヤービュー内のHUDの位置決めに依存するHUD内の場所の優先順位を概念的に示す。
図3B】本開示の実施態様による、プレーヤービュー内のHUDの位置決めに依存するHUD内の場所の優先順位を概念的に示す。
【0033】
図4】本開示の実施態様による、プレーヤーの優先視線領域に基づく異なる場所でのHUD要素の配置を概念的に示す。
【0034】
図5】本開示の実施態様による、プレーヤーの好みのHUD場所を予測するための方法を概念的に示す。
【0035】
図6A】本開示の実施態様による、プレーヤーの注視アクティビティに応答するHUDの可視性の調整を概念的に示す。
図6B】本開示の実施態様による、プレーヤーの注視アクティビティに応答するHUDの可視性の調整を概念的に示す。
【0036】
図7】本開示の実施態様による、追跡されたプレーヤーの視線に応答するHUDの動的な位置決めを概念的に示す。
【0037】
図8】本開示の実施態様による、追跡されたユーザーの視線情報に基づくHUDを最適に配置するためのシステムを概念的に示す。
【0038】
図9A】本開示の実施態様による、クラウドゲーミングサイトを経由して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。
【0039】
図9B】本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために行われる様々な動作を概念的に示すフロー図である。
【0040】
図10】本開示の実施態様による、情報サービスプロバイダアーキテクチャの実施形態を示す。
【発明を実施するための形態】
【0041】
以下の説明では、本開示の完全な理解をもたらすために、いくつかの具体的な詳細が記載される。しかしながら、本開示は、これらの具体的な詳細の一部または全てがなくても実践され得ることは、当業者には明らかであろう。他の例では、本開示を曖昧にしないために、周知のプロセスステップは詳細に説明されていない。
【0042】
現代のビデオゲームは複雑さが増すにつれて、プレーヤーに提示される情報量が非常に多くなる可能性がある。次に、これにより、プレーヤーのヘッドアップディスプレイ(HUD、例えばゲーム関連の情報/統計データを含む)が、プレーヤーの視野の大部分を占めるようになる。したがって、プレーヤーが視認しようとしているゲームプレイの部分を覆い隠すことによって、またはプレーヤーがゲームプレイの特定の部分を視認するのをより困難にすることによって、HUDがプレーヤーのゲームプレイを妨害し得るという問題が生じる。HUDのため、プレーヤーは、ゲームプレイの所望の部分をより明確に視認するために、ビュー及び/またはキャラクター/アバターを再配置/リダイレクトする必要があり得る。
【0043】
この問題を考慮して、大まかに言えば、本開示の実施態様では、視線追跡によってビデオゲーム/シミュレーションのプレーヤーの視野を収集し、次に、プレーヤーの目の動きの最適位置にHUDを自動的に位置決めするための方法及びシステムに関心が向けられる。いくつかの実施態様では、HUDの位置決め及び/またはHUD内の特定の情報を位置決めすることに関する個人の好みをさらに微調整するためのオプションが提供される。
【0044】
いくつかの実施態様では、個人の好みに応じて視野を増加または減少でき、視点の中心を個人の好みに応じてシフトできる。所与のプレーヤーの個人の好みは、プレーヤーの追跡(例えば、視線追跡、プレーヤー入力追跡等)及び/またはプレーヤーによって明示的にユーザー定義されることから推測できることを認識されたい。いくつかの実施態様では、画面上の特定のゲーム統計データ/情報の場所は、個人的な重要度に基づいて変更できる。例えば、特定の統計データのデフォルトを画面の一方のコーナーから別のコーナー(例えば、右下コーナーから左上コーナー)に移動させることができた。
【0045】
本開示の実施態様は、ビデオゲームのプレーヤーを参照して説明されているが、他の実施態様では、本開示の原理は、ユーザーが仮想環境でインタラクティブに関与する任意の他のタイプのシミュレーションまたはインタラクティブアプリケーションに適用されることを認識されたい。
【0046】
本開示の実施態様では、ビデオゲームもしくは他のシミュレーションまたはインタラクティブアプリケーションにおけるヘッドアップディスプレイ(HUD、またはヘッドアップディスプレイ)の配置及び調整に関心が向けられている。当業者によって一般的に理解されるように、HUDは、ビデオゲームまたはシミュレーションで行われるゲームプレイまたはインタラクティビティに関連する情報の典型的な永続的なディスプレイである。いくつかの実施態様では、複数のHUDが存在し得る。いくつかの実施態様では、HUDは、複数のディスプレイ、複数のタイプの情報、または複数の要素を有するものとして特徴付けできる。HUDは、仮想環境のユーザー/プレーヤーのビューに(通常、オーバーレイとして)レンダリングされるが、HUDは情報の表示であり、一般的に、ゲームプレイのインタラクティブが発生する仮想環境自体の一部ではないと理解される。(これに対する例外は、例えば、HUDを含み得る飛行機または他の乗り物を操縦する等、HUDを含む仮想オブジェクト自体とユーザーがインタラクトする場合があるだろう。)HUDは、ゲームプレイまたはインタラクティビティ中のユーザー/プレーヤーが見ることができるまたは参照できる情報を表示するが、一般的に、HUD自体は、そのようなゲームプレイまたはインタラクティビティのオブジェクトではない。
【0047】
HUDは、非限定的な例として、値、量、数、記述子、グラフィカルインジケータ、または任意の他のインジケータを含む様々な種類の情報を含み得る。他のインジケータとして、スコア、生命、健康、エネルギー、燃料、パワー、弾薬、防具、武器、ツール、オブジェクト、スキル、成果、マップ、シーン、レベル、ランキング、速度、速さ、場所、位置、向き、方向、高度、目的、ターゲット、現在時間、経過時間、残り時間、ステータス等が挙げられる。
【0048】
図1は、本開示の実施態様による、追跡されたプレーヤーの視線情報に基づくHUDの最適化された配置を概念的に示す。図示した実施態様では、プレーヤー100は、コンピューター102によって実行されるビデオゲームのゲームプレイに関与する。コンピューター102は、ディスプレイ104に提示するために、ビデオゲームのゲームプレイビデオをレンダリングする。レンダリングされたゲームプレイビデオは、ゲームプレイのインタラクティビティが発生するビデオゲームの仮想環境のビューを表す。非限定的な例として、様々な実施態様では、コンピューター102は、ゲーム機、パーソナルコンピューター、サーバーコンピューター、ラップトップ、タブレット、スマートフォン、携帯ゲーミングデバイス等であり得る。いくつかの実施態様では、ディスプレイ104は、テレビ、モニター、液晶ディスプレイ等、コンピューター102とは別個のデバイスである。いくつかの実施態様では、ディスプレイ104は、ラップトップ、タブレット、スマートフォン、携帯ゲーミングデバイス等のディスプレイ等、コンピューター102と一体化される。いくつかの実施態様では、ディスプレイ104は、ビデオゲームの仮想環境の没入型ビューを提供することが可能であるヘッドマウントディスプレイ(HMD)である。いくつかの実施態様では、プレーヤー100はコントローラー106を操作して、ビデオゲームの入力を生成する。非限定的な例として、様々な実施態様では、コントローラー106は、ゲーム機コントローラー、キーボード、マウス、周辺機器、モーションコントローラー、カメラ、マイクロフォン、タッチスクリーン等であり得る。コントローラー106は、コンピューター102から分離できる、またはコンピューター102及び/もしくはディスプレイ104(例えば、タッチスクリーンディスプレイ)と統合できる。
【0049】
いくつかの実施態様では、コンピューター102はビデオゲームを実行する。いくつかの実施態様では、ビデオゲームはクラウド実行され、コンピューター102はシンクライアントとして機能し、シンクライアントは、ネットワーク(例えば、インターネットを含む)を通じてクラウドゲーミングサービスから、ディスプレイ104に提示するためのゲームプレイビデオを受信し、ビデオゲームを実行するクラウドゲームマシンに入力を返送する。
【0050】
プレーヤー100がビデオゲームのゲームプレイに関与すると、プレーヤーの視線が追跡される。いくつかの実施態様では、プレーヤーの視線追跡は、プレーヤーに対面するカメラ108によってキャプチャされた画像を処理することによって行われ、キャプチャされた画像はプレーヤーの目を含む。様々な実施態様では、そのようなプレーヤーに対面するカメラ108は、別個のデバイスであり得る、またはコンピューター102もしくはディスプレイ104と統合できる。例えば、HMDの場合、カメラ108は、HMDに組み込まれ、プレーヤーの目をキャプチャするようにHMDの内側に位置決めできる。説明を簡単にする目的により、本明細書では単一のカメラを参照しているが、様々な実施態様では、視線追跡のために2つ以上のカメラを利用できることを認識されたい。いくつかの実施態様では、(例えば、HMDにおける)プレーヤーの左目及び右目を各々追跡する2つのカメラを使用する。いくつかの実施態様では、複数のカメラは、プレーヤーが頭の場所または向きを変えた場合にプレーヤーを異なる角度からキャプチャすることが可能になるように位置決めされている。
【0051】
プレーヤーの視線を追跡して、ビデオゲームの描写されたビュー内でプレーヤーが見ている場所を決定及び追跡することが可能になる。ゲームプレイ中のプレーヤーの視線を経時的に追跡することによって、プレーヤーの優先視線領域を識別することが可能である。非限定的な例として示される図示の実施態様では、参照番号110で、ビデオゲームの仮想環境のビュー112は、ゲームプレイ中にプレーヤー100に提示される。プレーヤーの視線は、そのようなゲームプレイ中に追跡され、プレーヤーが見るためのビュー112の優先エリア/領域であるビュー112の主要視線領域114、またはゲームプレイ中にプレーヤーが主に注目するビューのエリアを識別する。
【0052】
ビュー112は、プレーヤー100が見るためにディスプレイ104によって提示される仮想環境の描写された部分であるため、ビュー112は、プレーヤーがゲームプレイに関与するにつれて変化することを認識されたい。例えば、いくつかの実施態様では、ビュー112は、プレーヤー100によって制御される仮想アバター(例えば、仮想キャラクター、乗り物、または仮想環境内の他の代表的な仮想オブジェクト)の視点からの仮想環境のビューである。いくつかの実施態様では、ビューは、一人称ビュー、三人称ビュー、肩越しビュー、またはプレーヤーの仮想アバターに関連付けられた他のタイプのビュー視点である。ディスプレイ104がHMDである場合、通常、一人称ビューが提示される。再び、ビュー112は、HMDによりプレーヤーに提示される仮想環境の一部であり、HMDの場合、これは、HMDを装着するプレーヤーの頭の動きによって制御され、それに応じて変化する。
【0053】
プレーヤー100の目が注目するビュー112内の特定の場所を識別し、追跡する視線追跡が行われる。いくつかの実施態様では、プレーヤーの主要視線領域114は、プレーヤーがビュー112の様々な部分をどれだけ注視しているかを定量化または測定し、プレーヤーが様々な部分のどれを最も多く注視しているかを識別することによって識別される。非限定的な例として、いくつかの実施態様では、プレーヤーの視線追跡は、ゲームプレイ中のビュー112内のプレーヤーの視線の場所を識別して記録する。したがって、ゲームプレイの1つ以上の期間にわたって、ゲームプレイ中のプレーヤーの注視場所または注視点が蓄積される。次に、いくつかの実施態様では、プレーヤーの主要視線領域114を決定するために閾値が適用される。閾値決定の様々な例は、非限定的な例として提供される。
【0054】
いくつかの実施態様では、プレーヤーの注視点がマッピングされ、主要視線領域114は、注視点の密度が既定閾値を超える領域として識別される。すなわち、主要視線領域は、単位面積当たりの注視点の数が閾値を超えるビューのエリアである。
【0055】
いくつかの実施態様では、主要視線領域114は、プレーヤーによる視認時間の長さの一部が既定閾値を超える最高密度領域として識別される。例えば、主要視線領域114は、ゲームプレイ中の時間のN%(例えば、65%、70%、75%、80%等)だけ、プレーヤーの視線が向けられる注視点の最高密度がある領域として識別され得る。
【0056】
いくつかの実施態様では、主要視線領域114は、プレーヤーの視線が領域内に入る確率が既定閾値を超える最高密度領域として識別される。例えば、主要視線領域114は、プレーヤーの視線が領域内にある確率が閾値確率よりも大きくなるように、注視点の最高密度がある領域として識別され得る。
【0057】
プレーヤー100の識別された主要視線領域114に基づいて、参照番号116で概念的に示されるように、HUD118は、プレーヤーの主要視線領域114の外側になるように、ビュー112内に位置決めされている。このように、HUD118は、プレーヤーがゲームプレイ中に注目することを好むビューの部分に干渉する可能性が低くなる。いくつかの実施態様では、HUDは、HUDと主要視線領域114との重なりを最小化するように位置決めされている。いくつかの実施態様では、HUDは、主要視線領域のすぐ隣または周辺に位置決めされている。非限定的な例として、そのような実施態様では、主要視線領域がより小さく、中心に集中している場合、HUDをビューの中心のより近くに位置決めされ得る。一方、主要視線領域が大きく、中心から離れてより広がっている場合、HUDはビューの中心から離れて位置決めされている。
【0058】
いくつかの実施態様では、HUD118は、HUDの複数の既定場所のうちの1つに位置決めされている。例えば、いくつかの実施態様では、HUDはビューの左側または右側のいずれかに位置決めされ、特定の側は、プレーヤーの主要視線領域114との干渉を最小とするように選択される。いくつかの実施態様では、HUDはビューの上側または下側のいずれかに位置決めされ、特定の側は、プレーヤーの主要視線領域114との干渉を最小とするように選択される。いくつかの実施態様では、HUDはビューの4つのコーナー(左上、右上、左下、右下)のうちの1つに位置決めされ、特定のコーナーは、プレーヤーの主要視線領域114との干渉を最小とするように選択される。
【0059】
いくつかの実施態様では、デフォルトの位置決めによってHUDが主要視線領域114と重ならない限り、HUDはデフォルト場所に位置決めされ、その場合、HUDは異なる場所、例えば比較的に少ない程度に主要視線領域と重なる別の既定場所に位置決めされている。いくつかの実施態様では、HUDの既定場所の優先順位があるため、HUDは、主要視線領域と重ならない、またはそのような重なりを最小化する最優先の既定場所に配置される。
【0060】
いくつかの実施態様では、主要視線領域のサイズを拡大または縮小するオプションをプレーヤーに与えることができる。例えば、プレーヤーは、HUDがプレーヤーのビューに干渉している、またはそうでければ満足するように配置されていないことに気付き得、ひいては、主要視線領域を増加させることによって、HUDを中心のビジョンエリアからさらに離れて配置することを望み得る。いくつかの実施態様では、プレーヤーは主要ビジョンエリアの中心を移動させるオプションが与えられることによって、HUDの配置に影響を与える。
【0061】
いくつかの実施態様では、プレーヤーの主要視線領域114を決定し、次にビュー内のHUD位置を決定する前述のプロセスは、ビデオゲームのキャリブレーションプロセスまたはセットアッププロセスに含まれ得る。いくつかの実施態様では、ビデオゲームは、説明したようにHUDの最適位置決めを可能にするために、プレーヤーがプレイし得るキャリブレーションコンテンツを含み得る。いくつかの実施態様では、最初にビデオゲームをプレイする際に、ビデオゲームは、プレーヤーに最初のチュートリアルまたは学習演習を経験させ、コントロールを教え、ビデオゲームをプレイするためのスキルを開発させ得る。このプロセスの一部として、プレーヤーの視線はスキル演習中またはドリル中に追跡され、実際のゲームキャンペーン中にHUD配置を決定するために評価できる。いくつかの実施態様では、ビデオゲームの最初のシーンはHUDを含まない。しかしながら、プレーヤーの視線は最初のシーン中に追跡され、次に、HUDを含む後のシーンでは、説明されているように、HUDは、ユーザーの視線追跡データに基づいて配置される。
【0062】
いくつかの実施態様では、プレーヤーの注視点のおおよその中心が決定され、これを使用して、HUDの位置を決定する。いくつかの実施態様では、注視点のセントロイドまたは幾何学的中心を決めることによって、おおよその中心が決定される。いくつかの実施態様では、セントロイドが特定の側またはコーナーに向かってずれる場合、HUDは、セントロイドがずれる側またはコーナーと実質的に反対側にある側またはコーナーに位置決めされている。例えば、セントロイドが中心の左側にずれている場合、HUDは右側に向かって位置決めされている。セントロイドが上にずれている場合、HUDは下に向かって位置決めされている。セントロイドが左下コーナーにずれている場合、HUDは右上コーナーに向かって位置決めされている等が考えられる。
【0063】
図2Aは、本開示の実施態様による、プレーヤーの視線追跡に基づいてHUDの最適位置を決定することを概念的に示す。いくつかの実施態様では、ゲームプレイ中のプレーヤーの視線追跡を適用して、説明されているように、プレーヤーの優先視線領域を識別する。しかしながら、また、HUDがゲームプレイ中に存在する場合、HUDの領域は、プレーヤーの視線が向く傾向もあるプレーヤーのビューのエリアになる。HUDの最適配置を可能にするためにプレーヤーの優先視線領域を識別する目的で、プレーヤーが既存場所でHUDを見ていることから生じるプレーヤーの注視点を除外することが望ましい。この理由として、インタラクティブゲームプレイを実行するためにプレーヤーの優先注視場所を示すのではなく、プレーヤーが既存のHUDから情報を取得しようとする結果であるためである。
【0064】
したがって、いくつかの実施態様では、実質的に、または大体、既存のHUDの付近にある領域で発生する注視点は、プレーヤーの優先/主要視線領域の把握に及ぼすその影響に関して、優先順位が下がり、例えば、少なくとも部分的に、重み付けが解除され、または破棄され、またはそうでなければ減る。例えば、図2Aの図示の実施態様では、参照番号200で、図示の実施態様ではビュー202の下部に位置決めされるHUD204を含む、仮想環境のプレーヤーのビュー202が表される。視線追跡データに基づいて、プレーヤーの優先視線領域(例えば、閾値よりも大きい等の高密度の注視点を有する領域)が、領域206及び領域208を含むと決定される。領域206は、ビュー202の中心のほぼ近く、または、ほぼ周りにある。しかしながら、領域208は、実質的にHUD204の付近に位置する。したがって、いくつかの実施態様では、領域208の注視点は、プレーヤーの優先視線領域を決定する際の重要度を下げるように、重み付けが解除される。
【0065】
HUD104付近の注視点の優先順位が下がる結果は参照番号210に概念的に示され、優先注視ゾーン206が識別され、既存のHUD204の場所において、任意の追加の優先注視ゾーンがない。図示の実施態様では、HUD204がプレーヤーの優先視線領域206に干渉しないと決定され、ひいては、HUD204の配置が維持される。
【0066】
図2Bは、本開示の実施態様による、HUDの最適配置を可能にするために、HUD付近の注視点の優先順位が下がることを概念的に示す。参照番号220に示されるように、プレーヤーの視線は、プレーヤーが仮想環境のビュー222を視認するゲームプレイ中に追跡される。ビュー222では、HUD224が存在し、ビュー222の下部に沿って(プレーヤーによって見られる画面/ディスプレイの下部に沿って)位置決めされている。ビュー222がHUD224を含むため、HUD224の付近または領域にある注視点を含む注視点を同等に評価する第1の優先視線領域226を決定するためのプレーヤーの視線追跡は、プレーヤーがゲームプレイ中にHUD224を見る傾向があるので、HUD224を含む、またはHUD224と重なる傾向がある。
【0067】
しかしながら、HUD224の付近にある注視点の優先順位を下げることによって、HUDがない場合のプレーヤーの優先視線領域のより正確な表現を取得できる。参照番号230に示されるように、HUD224付近の注視点の優先順位が低いとき、第2の優先視線領域232を取得する。この場合、第2の優先視線領域232は依然としてHUD224とある程度重なっている。したがって、HUDの付近にある注視点を無視するときでさえも、HUDは、プレーヤーの優先視線領域232に干渉するので、最適に配置されていないと決定される。したがって、HUDは、新しい場所、例えば優先視線領域232と重ならない場所に移動する。
【0068】
いくつかの実施態様では、HUDの付近にある注視点の優先順位を下げる範囲は、既定の重みまたは係数によって定義できる。いくつかの実施態様では、注視点を分析して、プレーヤーがHUDまたは仮想環境を視認しようとしていたかどうかを決定し、プレーヤーがHUDを視認していたと決定された場合、そのような注視点は破棄される。いくつかの実施態様では、プレーヤーの視線の動きを分析して、プレーヤーがHUDまたは仮想環境を視認していたかどうかを決定する。例えば、プレーヤーの視線がビューの別の領域からHUDの付近にジャンプした場合、プレーヤーがHUDを視認していたと推測され得る。一方、プレーヤーの視線がより継続的にHUDに近づき、HUDの付近でドリフトしている場合、ユーザーはHUDを視認していたのではなく、仮想環境を視認していたと推測され得る。いくつかの実施態様では、そのような原理は、視線の動きに基づく重み付けに組み込むことができる。例えば、HUDの付近にある注視点に関して、そのような注視点に先行する視線移動(例えば、視線空間移動、視線移動速度、視線加速/減速)の量が多くなるにつれて、(例えば、適用された重み/係数を減らすことによって)そのような注視点の優先順位が下がるようになる。
【0069】
いくつかの実施態様では、優先順位付けスキームに従って、HUDの異なる部分を配置できる。例えば、図3A及び図3Bは、本開示の実施態様による、プレーヤービュー内のHUDの位置決めに依存するHUD内の場所の優先順位を概念的に示す。すなわち、HUDが異なる場所に移動すると、HUD内の要素の配置が変更される。図3Aでは、仮想環境のプレーヤービュー300の左上コーナーに位置決めされたHUD302が示されている。HUD302はいくつかの要素を含み、いくつかの実施態様では、いくつかの種類の統計データまたは他のゲーム関連情報であり得る。
【0070】
特定の要素が他の要素よりもプレーヤーにとって重要であり得、したがって、プレーヤーがより重要な要素により簡単に視覚的にアクセスすることが可能であるように、要素を優先順位で位置決めすることが望ましいことを認識されたい。したがって、いくつかの実施態様では、HUD302が左上コーナーに示されるように位置決めされるとき、様々なHUD要素304、306、308、及び310は、示されるようにHUD内に位置決めされ、要素304はHUDの右下に位置決めされ、要素306はHUDの右上に位置決めされ、要素308はHUDの左下に位置決めされ、要素310はHUDの左上に位置決めされる。このように、優先順位の高い要素304及び306は、優先順位の低い要素308及び310よりも横方向で中心に近く(または横方向でより中心に)位置決めされる。最優先要素304は、また、要素306よりも垂直方向で中心に近くに(または垂直方向でより中心に)位置決めされる。
【0071】
しかしながら、図3Bでは、HUD302は右下コーナーに位置決めされており、その結果、要素304、306、308、及び310は異なって位置決めされている。この場合、優先度の高い要素304及び306は、HUDの左上及び左下に位置決めされ、それによって、要素304及び要素306は、優先度の低い要素308及び310よりも横方向で中心の近くに位置決めされ、要素308及び要素310は、各々、右上及び右下に位置決めされる。また、最優先要素304は、要素306よりも垂直方向で中心の近くに位置決めされる。
【0072】
したがって、HUD302は、HUD内に要素を位置決めするために既定場所の優先順位を定義するように構成され、既定場所の特定の配置は、プレーヤービューを伴うHUDの場所全体に応じて変化する。要素は、その優先順位に従って、HUD内の様々な既定場所に位置決めされている。このように、HUDの場所全体に応じて、HUDの様々な要素を最適に配置できる。HUD302の特定の例を説明してきたが、他の実施態様では、HUDの特定の構成、及びHUD内の既定の要素場所の優先順位の結果として生じる変更が変わる可能性があることを認識されたい。いくつかの実施態様では、HUDが移動すると、HUD内の要素は、優先度の高い要素をより中心に(例えば、横方向で中心の近くに及び/または垂直方向で中心の近くに)、及び/またはプレーヤーの優先/主要視線領域の近くに位置決めするように配置される。
【0073】
図4は、本開示の実施態様による、プレーヤーの優先視線領域に基づく異なる場所でのHUD要素の配置を概念的に示す。図示の実施態様では、仮想環境のプレーヤービュー400は概念的に示され、プレーヤーは、ビュー400内に優先視線領域402を有すると決定されている。HUD要素/情報を配置するために、様々な既定場所404、406、408、及び410が定義される。そのような実施態様では、HUDは、単一の場所ではなく、複数の場所、この場合、4つのコーナーを有すると説明できる。
【0074】
さらに、プレーヤーの決定された優先視線領域402に基づいて、既定場所の優先順位に従って重要度順にHUD要素を配置することが可能になるように、HUD要素の様々な既定場所の優先順位を付けることができる。例えば、図示の実施態様では、プレーヤーの優先視線領域402はビューの左下を好む傾向があり、ひいては、左下コーナーに位置する既定場所408は、HUD要素の配置に関する最優先場所としてランク付けされる。この理由として、これは、プレーヤーの優先視線領域402に最も近い場所であるためである。いくつかの実施態様では、既定場所は、プレーヤーの注視点または優先視線領域のセントロイドに近い順に優先順位が付けられる。ひいては、優先視線領域402のセントロイドに最も近い既定場所408は、最優先場所として最初にランク付けされる。図示の実施態様では、HUD要素420は、最重要であるとしてランク付けされ、ひいては、図示の実施態様では、既定場所408である最優先場所に配置される。
【0075】
HUD要素が重要度でランク付けされるので、それは既定場所の優先順位に従って既定場所に配置される。図示の実施態様では、既定場所に優先順位が付けられ、最初に場所408が優先され、続いて、場所404、410、及び406の順に優先される。HUD要素420、422、424、及び426は重要度順にランク付けされ、HUD要素420が最初にランク付けされ、続いて、HUD要素422、424、及び426が順にランク付けされる。したがって、次に、HUD要素420を場所408に配置するとともに、HUD要素422は場所404に配置され、HUD要素424は場所410に配置され、HUD要素426は場所406に配置される。このように、HUD要素が既定場所の優先順位に従って重要度順に配置されるため、より重要なHUD要素は、ゲームプレイ中の任意の瞬間にプレーヤーの視線に近くなる可能性がより高くなる。
【0076】
図5は、本開示の実施態様による、プレーヤーの好みのHUD場所を予測するための方法を概念的に示す。大まかに言えば、いくつかの実施態様では、最初に多数の被験者またはプレーヤーを事前にテストし、テスト結果を評価して、所与のプレーヤーの好みのHUD場所を予測する特徴を識別することによって、新しいプレーヤーの好みのHUD場所を決定する。したがって、図示の実施態様では、操作方法500において、被験者のグループをビデオゲームのゲームプレイに関与させることによって試験され、HUDは異なる場所に位置決めされている。例えば、所与の被験者の場合、HUDは、ゲームプレイ中に被験者のビュー内の異なる場所に定期的に移動し得る(例えば、HUDは25%の確率で4つのコーナーのそれぞれに配置される)。または、被験者は、異なるセッションの異なる場所に位置決めされたHUDを用いて、ビデオゲームの複数のセッションをプレイし得る(例えば、プレーヤーは4つのセッションをプレイし、各セッションには、4つのコーナーのうちの異なる1つにHUDがある)。このように、被験者は、そのビュー内の様々な場所に位置決めされたHUDを用いて、ビデオゲームのゲームプレイを体験する。
【0077】
操作方法502において、ゲームプレイ中に被験者の視線を追跡する。さらに、被験者のゲームプレイに関連する他のインジケータまたは特徴も追跡する。そのような追加特徴の例は、非限定的な例として、被験者の動き及びジェスチャ、顔の表情、コントローラー入力、コントローラーの動き、マイク入力、ゲームプレイ中の成功レベルもしくは成果、もしくはゲームプレイの結果、ガルバニック皮膚抵抗、心拍数、呼吸数等の生体認証データ、またはユーザーの任意の他のアクティビティ等を含む。操作方法504において、被験者によるゲームプレイセッションに続いて、被験者はHUD場所の好みに関して調査される。例えば、被験者は、ゲームプレイセッション中にHUDが配置された様々な場所を、最も好ましい場所から被験者の最も好ましくない場所の順にランク付けすることによって、調査を通じてHUDの場所の好みを示すように求められ得る。HUDが4つのコーナーに配置されている例では、所与の被験者に、どのコーナーがHUD配置の被験者のお気に入りであったかを識別すること、または様々なコーナーを好みの順にランク付けすることを求めることができた。
【0078】
操作方法506において、所与のプレーヤーの好みのHUD場所の予測を可能にする特徴が識別される。いくつかの実施態様では、機械学習または人工知能技術等によって、特徴抽出プロセスを行う。好みのHUD場所を予測する特徴は、それが被験者のHUD場所の好みのインジケータに関するので、被験者の視線の分析、及びゲームプレイ中に追跡された他のインジケータまたは特徴から決定されることを認識されたい。例えば、ゲームプレイ中のプレーヤーの視線の動きのパターン、もしくはジェスチャ、コントローラー入力、または任意の他の特徴を単独で、または組み合わせて、プレーヤーの好みのHUD場所を予測すると決定され得る。HUDが最適に配置されるときを識別するパターン、及びHUDが最適に配置されていないときを識別するパターンがあり得、これらのパターンを認識できることを認識されたい。次に、操作方法508において、機械学習モデルに、上記のように識別または抽出されている所与のプレーヤーの特定の特徴に基づいて、所与のプレーヤーの好みのHUD場所を予測または決定することをトレーニングさせる。
【0079】
操作方法510において、ゲームプレイ中に新しいプレーヤーを追跡する。すなわち、HUD場所の好みを予測する識別された特徴は、新しいプレーヤーがビデオゲームのゲームプレイに関与している間に追跡される。次に、操作方法512において、トレーニングされた機械学習モデルが追跡された特徴に適用され、新しいプレーヤーの好みのHUD場所が決定/予測される。例えば、機械学習モデルは、特定の場所にHUDを配置するべきである新しいプレーヤーの視線パターン及び/または他の特徴に基づいて決定され得る。いくつかの実施態様では、HUDは、新しいプレーヤー用に決定されている優先場所に自動的に配置される、または配置が提案される。
【0080】
いくつかの実施態様では、機械学習モデルは、新しいプレーヤーの追跡された特徴に基づいて、HUDが最適に配置されていないときを認識することが可能である。いくつかの実施態様では、そのようなことが認識されるとき、システムは、新しいプレーヤーがHUDをその現在の構成とは異なる場所に移動させたいかを提案または質問するように構成される。
【0081】
本開示の様々な実施態様では、HUDの優先場所が所与のプレーヤーに対して決定または予測されるとき、いくつかの実施態様では、HUDは決定された場所に自動的に配置される。しかしながら、他の実施態様では、好みのHUD場所が決定または予測されるとき、画面上にダイアログボックスを表示する等、決定または予測された場所でのHUDの配置をプレーヤーに提案または推奨する提案がプレーヤーに提示される。いくつかの実施態様では、プレーヤーは、(例えば、コントローラーデバイスの指定ボタンを押すことによって)提案されたとおりにHUDの配置または再配置を確認するオプションが与えられる、あるいは提案をキャンセルもしくは拒否し得る、及び/またはHUDを手動で位置決めし得る、もしくはHUDの場所を選択し得る。
【0082】
いくつかの実施態様では、新しいプレーヤーがビデオゲームのプレイを開始するとき、そのプレーヤーがデフォルトのHUD場所から開始する。しかしながら、そのプレーヤーがゲームをプレイすると、プレーヤーの視線及び他の特徴が追跡され、プレーヤーに関する十分なデータが収集された後、HUDが最適に位置決めされるどうか及び/またはHUDを特定の場所に移動させるべきかを決定するために、分析が(例えば、機械学習モデルによって)行われる。これは、プレーヤーの検出された視線パターン及び動き、ならびに他の特徴に基づき得る。いくつかの実施態様では、システムは、プレーヤーに、HUDをおそらく特定の場所に再配置することを提案する。承認された場合、HUDが再配置され、システムは前述のようにプレーヤーの視線及び他の特徴を監視し続け得る。このように、HUD配置が継続的に最適化される。同様の概念及び原理は、特定のHUD要素の特定の配置及び順序付けに適用できる。
【0083】
いくつかの実施態様では、ビデオゲームのプレーヤーからの視線データの分析に基づいて、HUDのデフォルトの配置をクラウドソーシングできる。例えば、ビデオゲームの特定のシーン(例えば、時間場所、空間場所、レベル、チャプター、場所、チャレンジ、またはゲーム内の他の識別可能なゲームプレイ場所)について、プレーヤーの視線は、複数のセッション/ゲームプレイ及びビデオゲームの複数のプレーヤーにわたって追跡される。次に、複数のセッションからの結合された視線データを分析して、プレーヤーの視線がシーン中に主に注目する主要な視線領域を決定する等、プレーヤーの視線パターンの全体を決定する。これに基づいて、デフォルトのHUD場所を決定し、例えば主要視線領域との干渉を回避でき、決定されたデフォルトのHUD場所は、ビデオゲームの将来のセッションでシーンに使用できる。シーンごとにHUD場所をクラウドソーシングすることによって、デフォルトのHUD場所は、ビデオゲームの異なるシーンに特化して最適化できることを認識されたい。
【0084】
図6A及び図6Bは、本開示の実施態様による、プレーヤーの注視アクティビティに応答するHUDの可視性の調整を概念的に示す。図示の実施態様では、仮想環境のプレーヤービュー600は概念的に示されている。プレーヤーの視線は、ゲームプレイ中に追跡され、図示された実施態様では、プレーヤーは、現在、注視アクティビティ領域602を有していると決定される。注視アクティビティ領域602は、現在、プレーヤーの視線が主に注目または集中化していると決定される大体の領域である。いくつかの実施態様では、注視アクティビティ領域602は、プレーヤーの最新の注視点の少なくとも一部が位置するビューの領域を識別することによって決定される。例えば、プレーヤーの注視点は、既定の最新の期間(例えば、最新の0.5、0.8、1、1.5、2、3、4、5秒等)にわたって追跡でき、注視点の密度が高い領域(例えば、既定の値よりも大きい密度)は、注視アクティビティ領域602として識別できる。いくつかの実施態様では、注視点のセントロイドを囲む領域は、注視アクティビティ領域602として識別される。セントロイドを囲む領域は、いくつかの実施態様では、既定の形状及び/もしくはサイズを有し得る、または、いくつかの実施態様では、既定の半径を有し得る。一方、他の実施態様では、セントロイドを囲む領域の形状及び/またはサイズは、注視点の分布に基づいて決定され得る。例えば、いくつかの実施態様では、領域の形状及び/またはサイズは、最近の注視点の既定の一部を含むように決定される。
【0085】
図示された実施態様を引き続き参照すると、示されるように、現在の注視アクティビティ領域602は、ビュー600のほぼ中心の近くに集中する。いくつかの実施態様では、注視アクティビティ領域602がこのように位置付けられ、HUD604の付近になく、またHUD604に向かって移動していないとき、プレーヤーがHUD604を視認しようとしてないと推測され得る。ひいては、いくつかの実施態様では、HUD604のサイズが縮小もしくは減少する、またはそうでなければ外観が最小化される。いくつかの実施態様では、HUD604が消え、ひいては、表示されなくなる。いくつかの実施態様では、HUD604は、それが消えるまで縮小するように視覚化される。いくつかの実施態様では、HUDが消えるまで透明度を増加させることによって、HUDをフェードアウトさせる。
【0086】
図6Bを参照すると、HUD604の場所に向かうプレーヤーの視線の動きが検出され、プレーヤーがHUDを視認しようとしていることを示唆するとき、HUD604のサイズが拡大され、及び/または再表示/表示される。いくつかの実施態様では、参照番号606に示されるように、視線の動きの方向及び速度を示す視線ベクトルが決定される。いくつかの実施態様では、視線ベクトルがHUD604の場所に十分に向いている場合(例えば、方向がHUDに向き、速度が既定量よりも大きい場合)、HUD604は、非表示の場合に再表示される、及び/または事前に縮小した場合にサイズが拡大される。いくつかの実施態様では、プレーヤーの視線がHUDの場所に最も近い場所(例えば、HUDから既定の距離内にある場所)に達するとき、HUDは拡大または表示される。したがって、ユーザーがHUDを見ようとしていることが検出されたとき、HUDが表示される。それ以外の場合、ユーザーがHUDを見ようとしていないと決定されたとき、仮想環境のプレーヤーのビューに侵入しないように、またはそのビューから気をそらさないように、HUDを最小化する。
【0087】
いくつかの実施態様では、HUDの可読性を動的に調整できる。例えば、ゲームプレイの視認中及びHUDの視認中にユーザーの視線が追跡されると、ユーザーがHUDを視認するのに費やした時間の長さ(例えば、ユーザーの注視点がHUDの領域/付近に存在する時間の長さ(または平均時間の長さ))を決定できる。そして、この時間の長さに基づいて、HUDの可読性を推測できる。すなわち、ユーザーがHUDを視認して理解するのに時間が長くいほど、HUDはユーザーにとって分かりにくくなる。逆に、ユーザーがHUDを視認して理解するのにかかる時間が短いほど、HUDはユーザーにとって分かりやすくなる。
【0088】
したがって、HUDのアスペクトは、ユーザーがHUDを理解するのにかかる時間の長さに基づいて、自動的または動的に調整できる。例えば、いくつかの実施態様では、各々、HUDを視認するのに費やした時間の長さが増加または減少するにつれて、HUDのサイズは、(例えば、既定のデフォルトサイズから、既定のサイズの範囲内で)増加または減少する。いくつかの実施態様では、各々、HUDを視認するのに費やした時間の長さが増加または減少するについて、テキスト情報のフォントサイズまたは特定のグラフィカル要素等(例えば、メートル、グラフ、バー、チャート、マップ等)のHUDの特定の要素のサイズは増加または減少する。
【0089】
さらに、いくつかの実施態様では、ユーザーの視線方向がHUDに向けられていることが検出されるとき、統計データ等のHUD情報が読み取られる、またはユーザーに発声される。いくつかの実施態様では、HUD情報の読み取りを有効または無効にするために、ユーザー定義の設定が提供される。いくつかの実施態様では、ユーザーがHUDを視認する既定の時間の長さを超える時間を費やしたと決定された場合、HUD情報の読み取りが自動的に開始される。HUDを発声する/読むことによって、そのような特徴は、視力の悪いユーザーまたは失読症があるユーザーにうまく適応できることが認識される。
【0090】
図7は、本開示の実施態様による、追跡されたプレーヤーの視線に応答するHUDの動的な位置決めを概念的に示す。図示の実施態様では、仮想環境のプレーヤービュー700は概念的に示されている。ビュー700では、HUD702がレンダリングされる。HUD702は、既定のHUD領域704内に動的に位置決めされることが可能である。すなわち、HUD702は、概念的に示されるように、既定のHUD領域704の空間内で移動できる。
【0091】
例えば、いくつかの実施態様では、プレーヤーの視線がHUDに向かって移動またはドリフトするが、プレーヤーがHUD自体を視認しようとしてないとき、HUDはプレーヤーの視線から離れて移動し得るが、既定のHUD領域704内にある。例えば、図示の実施態様では、プレーヤーは、最初に、プレーヤーの視線が現在/最近でアクティブであり、主に注目している視線領域706を有し得る。後で、プレーヤーの視線は、HUD702により近い新しい現在の視線領域708を定義するために移動し得るが、これは、プレーヤーがHUD自体を視認しようとしていることを示すものではない。プレーヤーがHUD自体を視認しようとしているかどうかの決定は、上記のように開示の実施態様に従って決定できることを認識されたい。いくつかの実施態様では、プレーヤーの視線領域がそのように(HUD自体を視認する意図を示さないように)でHUD702に近づくことに応答して、HUD702は、視線領域708からさらに離れて移動または配置されるが、既定のHUD領域704の境界内にもあるように構成される。したがって、図示の実施態様では、HUD702は、プレーヤーの視線領域のそのような動きに応答して、HUD領域704の右上に向かって移動できる。
【0092】
逆に、視線領域がHUDから離れて移動するとき、HUDは、プレーヤーの視線の現在場所に近づくように構成されるが、既定のHUD領域704内にとどまる。したがって、引き続き図示の実施態様を参照すると、例えば、プレーヤーの視線領域が領域708から領域706に移動する場合、HUD702はHUD領域704の左下に向かって移動できる。このように、HUDは、プレーヤーの視線が注目する場所に近づくが、既定の領域内にあり、仮想環境のプレーヤーのビューに干渉することはない。
【0093】
したがって、上記に従って、HUD702は、既定の領域704内で動的に移動できる。いくつかの実施態様では、プレーヤーがHUD自体を視認しようとしていると決定されたとき、HUD702は移動しないが、その位置に維持されることを認識されたい。他の実施態様では、HUD702は、HUD702に注目するために、ユーザーが視線をシフトする必要がある距離を短くするように、ユーザーに向かって移動できる。
【0094】
プレーヤーの視線領域の追跡について説明してきたが、いくつかの実施態様では、ユーザーの視線のセントロイド(例えば、最新の注視点/場所のセントロイド)が追跡され、セントロイドの動きに応答して、HUDを動的に移動させることができる。
【0095】
図8は、本開示の実施態様による、追跡されたユーザーの視線情報に基づくHUDを最適に配置するためのシステムを概念的に示す。大まかに言えば、図示された実施態様のシステムは、本開示の実施態様に従って上記の方法を行うことが可能である。
【0096】
ユーザー800は、ディスプレイ802によって提示された仮想環境のビューを用いて、ビデオゲームのゲームプレイ等のシミュレーションとのインタラクティビティに関与する。図示の実施態様では、ビデオゲーム808はコンピューター806によって実行され、ビデオゲームの仮想環境のビューは、ディスプレイ802でユーザー800に提示されるためにレンダリングされる。ユーザー800がゲームプレイに関与すると、カメラ804は、ユーザー800の視線追跡を可能にするために、ユーザー800の画像をキャプチャするように構成される。コンピューター806は、カメラ804からキャプチャされた画像を処理して、経時的にユーザーの視線方向を決定及び追跡し、結果として生じるユーザーの視線情報を視線データストレージ812にさらに記憶するように構成された視線追跡ロジック810を実行する。
【0097】
視線アナライザ814は、ユーザーの視線情報を分析して、ユーザー800が仮想環境のビューを視認するときに見ることを好む場所を決定する。ユーザーの好みの視認領域/場所に基づいて、HUD配置816は、ユーザーの好みの視認領域との干渉を最小化する場所に、ビデオゲーム用のHUDを最適に配置するように構成される。いくつかの実施態様では、HUDは自動的に配置される一方、他の実施態様では、HUDはユーザー800からの確認を得た後に配置される。
【0098】
いくつかの実施態様では、コンピューター806はユーザー800に対してローカルである一方、他の実施態様では、コンピューター806は、クラウドゲーミングセットアップ等で、ネットワーク818を通じてアクセス可能であり、ユーザーに対してローカルにあるシンクライアントは、コンピューター806からネットワークを通じてゲームプレイをストリーミングする。
【0099】
図示の実施態様では、シングルユーザー、ディスプレイ、カメラ、及びコンピューターについて説明してきたが、任意の数のユーザー及び対応するディスプレイ、カメラ、ならびにコンピューターが存在し得ることを認識されたい。
【0100】
いくつかの実施態様では、サーバー820は、トレーニングデータ822を使用してトレーニングされる機械学習モデル824を実装する。いくつかの実施態様では、トレーニングデータ822は、視線追跡情報及び/またはHUD配置情報を含む。機械学習モデルに、ユーザーの好みのHUD配置を決定または予測することをトレーニングできる。
【0101】
本開示の実施態様は、ゲームエンジンの一部として含まれ得る。大まかに言えば、ゲームエンジンは、ビデオゲームの効率的な開発を可能にする特徴を提供するソフトウェア開発フレームワークである。ゲームエンジンは、ゲーム機能の様々な態様を処理するための再利用可能なモジュールを伴うソフトウェアライブラリを含み得、これらは、非限定的な例として、グラフィックレンダリング(例えば、頂点処理、ポリゴン処理、シェーディング、ライティング、テクスチャリング等を含む)、サウンド、物理特性(衝突処理を含む)、アニメーション、スクリプティング、人工知能、ネットワーキング、ストリーミング、メモリ管理、スレッディング、ローカリゼーションサポート、シーングラフ、シネマティクス等を含む。
【0102】
ゲームエンジンは、ゲーム機、モバイルデバイス、パーソナルコンピューター等、異なるハードウェアプラットフォーム用に最適化され得る。非限定的な例として、ゲームエンジンは、プラットフォームに応じてメモリ使用(例えば、グラフィックスパイプライン内の様々なタスクを優先する方法)を最適化し得る。いくつかの実施態様では、ハードウェアは、ゲーム機等の何らかの特定の処理エンティティのブレードバージョンであり得る。したがって、ユーザーには特定のブレードが割り当てられ得、これは、ゲーム機が最適化されたのと同じハードウェアを与える。
【0103】
また、ストリーミング及び/または他のサービス(パケット化、エンコーディング、サービス品質(QOS)監視、帯域幅テスト、ソーシャルネットワーク/友人へのアクセス等)を提供するためのゲームサーバーロジックも存在し得ることを認識されたい。
【0104】
いくつかの実施態様では、クラウドインフラストラクチャはハイパーバイザを起動し得、ハイパーバイザは、ハードウェアを抽象化し、オペレーティングシステム(OS)をロードできる仮想マシンフレームワークを提供する。したがって、スタックは、基盤となるハードウェアにロードされるハイパーバイザによってインスタンス化された仮想マシン(VM)にロードされる、OSで起動するアプリケーション/ビデオゲームを含み得る。このように、アプリケーションの実行は、必ずしも特定のハードウェアに結合されていない。
【0105】
いくつかの実施態様では、アプリケーション/ビデオゲームはコンテナ上で実行され得、コンテナは、アプリケーション層で抽象化され、コード及び依存関係が一緒にパッケージ化されるため、OSまたはハードウェアプラットフォームに依存しないソフトウェア開発が可能になり、プラットフォーム間でのソフトウェアの移植性を容易にする。
【0106】
いくつかの実施態様では、ゲームエンジンの異なる部分を異なる計算エンティティによって処理できる分散型ゲームエンジンが採用される。例えば、物理エンジン、レンダリングエンジン(2D/3Dグラフィックス)、サウンド、スクリプト、アニメーション、AI、ネットワーキング、ストリーミング(エンコーディング)、メモリ管理、スレッディング等のゲームエンジンの機能は、多くの異なる計算間で分散されている異なる機能処理ブロック及び/またはサービスに分割できる。分散型ゲームエンジンの場合、レイテンシ問題を回避するために低レイテンシ通信が必要であることを認識されたい。所望のフレームレートを維持するために、計算及び通信の合計時間が一定の制約を満たす必要がある。したがって、プロセスをより短時間で完了することが可能かどうかに応じて、一定のタスクを分割することが効率的であり得る、または効率的ではない場合がある。
【0107】
分散型ゲームエンジンを使用する利点はエラスティックコンピューティングの利用が可能であり、必要に応じて、コンピューティングリソースはスケールアップまたはスケールダウンできることである。例えば、従来、単一のハードウェアサーバーで実行されていた大規模なマルチプレーヤーゲームでは、例えば約100人のプレーヤーが参加した後、ハードウェアリソースが制限されるため、それ以上のプレーヤーを追加できない。ゲームは追加のプレーヤーをキューに入れ得、プレーヤーはゲームに参加するのを待つ必要があることを意味する。しかしながら、分散型ゲームエンジンでは、エラスティッククラウドコンピューティングリソースを使用することによって、需要を満たすために多くの計算ノードを追加できるため、例えば数千人のプレーヤーが利用できる。ゲームは、特定のハードウェアサーバーの制限によって制約されない。
【0108】
したがって、クラウドゲームエンジンは、異なる処理エンティティに機能を分散できる。異なる機能を異なるフレームワークで実行できることを認識されたい。例えば、いくつかの機能(例えば、ソーシャル)は、コンテナ内で起動することが容易になり得る一方、グラフィックスはGPUに接続されたVMを使用して良好に起動し得る。
【0109】
クラウドゲームエンジンの機能の分散を容易にするために、分散/同期層は、例えば、ジョブの送信、データバックの受信、どのタスクがいつ行われるかの識別、例えば、ジョブが必要よりも早く終了した場合のキューイングの処理等、ジョブの分散を管理できる。いくつかの実施態様では、所与のタスクは、必要に応じて、動的に細分化できた。例えば、アニメーションではライティングが行われ得、ライティングが特に複雑である場合、ライティングは、コンピューティングのために送信され、返信されると再構築される3つのライティングジョブに細分化できる。したがって、ゲームエンジン機能は、さらなる作業が必要な場合に細分化できる。
【0110】
クラウドサービスプロバイダは、例えば、1秒あたりの入出力操作(「IOPS」)の特定のパフォーマンスレベルで計算を提供する。したがって、ゲーミングプロバイダは、クラウドサービスプロバイダからVM、専用処理能力、メモリ量等を指定し得、クラウドサービスプロバイダのシステムを使用して、分散型クラウドゲーミングエンジンをインスタンス化し得る。
【0111】
いくつかの実施態様では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンの1つ以上のコンポーネントまたはモジュールであり得る。いくつかの実施態様では、ライブラリモジュール及び更新ハンドラは、別個のコンポーネントであり得る、または統合できる。いくつかの実施態様では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンへの追加として動作し得る。いくつかの実施態様では、ゲームエンジンは、上記のように分散型ゲームエンジンであり得る。
【0112】
前述のように、本開示の実施態様は、クラウドゲーミングシステムに適用できる。クラウドゲーミングシステムの一例は、Playstation(登録商標)Nowクラウドゲーミングシステムである。そのようなシステムでは、クライアントデバイスは、Playstation(登録商標)4もしくはPlaystation(登録商標)5ゲーム機等のゲーム機であり得る、またはパーソナルコンピューター、ラップトップ、タブレット、携帯電話、モバイルデバイス等の別のデバイスであり得る。
【0113】
大まかに言えば、クラウドゲーミングを可能にするために、ゲームタイトルに対してユーザー要求を受信するとき、クラウドゲーミングサイトに関連付けられたデータセンター内の1つ以上のサーバーによって、いくつかの操作を行う。クラウドゲーミングサイトがユーザー要求を受信するとき、選択されたゲームタイトルに関連付けられたゲームをホストするデータセンターが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンターに要求が送信される。要求に応答して、データセンターにあるサーバーは、ゲームコンテンツをユーザーに提示するための準備では、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに関連付けられたゲームデータは、一般的なゲームデータと、ユーザー固有のゲームデータとを含み得る。したがって、ファイルを初期化することは、一般的なゲームデータ及びユーザー固有のゲームデータの両方を識別、ロード、及び初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックスエンジンを初期化すること、グラフィックスデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすること等を含み得る。ユーザー固有のデータを初期化することは、ユーザーデータ、ユーザー履歴、ゲーム履歴等を検索、転送、及びインストールすることを含み得る。
【0114】
一般的なゲームデータがロード及び初期化されている間、クライアントデバイスでレンダリングするために「スプラッシュ」画面が提供され得る。スプラッシュ画面は、ロード中のゲームの代表的な画像を提供するように設計され、ロード中のゲームのタイプをユーザーがプレビューするのを可能にし得る。一般的なゲームデータがロードされると、特定の初期コンテンツはレンダリングされ得、ユーザーの選択及びカスタマイズのために選択/ナビゲーション画面が提示され得る。選択/ナビゲーション画面で提供されるユーザー選択入力は、ゲームレベル選択、ゲームアイコン(複数可)選択、ゲームモード選択、ゲーム賞品、及び追加のゲームコンテンツのアップロードを必要とし得る他のユーザー関連データを含み得る。いくつかの実施形態では、ゲームコンテンツは、ビューイング及びインタラクションのためにゲームクラウドシステムからユーザーのコンピューティングデバイスにゲームコンテンツをストリーミングすることによって利用可能になる。いくつかの実施態様では、ユーザー固有のデータをロードした後、ゲームコンテンツはゲームプレイに利用可能になる。
【0115】
図9Aは、クラウドゲーミングサイトを経由して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。システムは、ネットワーク902を通じてクラウドゲーミングサイト904に通信可能に接続される複数のクライアントデバイス900を含み、ネットワーク902は、LAN、有線、無線、セルラー(例えば、4G、5G等)、またはインターネットを含む任意の他のタイプのデータネットワークを含み得る。クラウドゲーミングサイト904にアクセスする要求がクライアントデバイス900から受信されるとき、クラウドゲーミングサイト904は、ユーザーデータストア908に記憶されたユーザーアカウント情報906にアクセスして、要求が開始されるクライアントデバイスと関連付けられたユーザーを識別する。いくつかの実施形態では、クラウドゲーミングサイトは、また、ユーザーが視認/プレイすることが許可されている全てのゲームを決定するために、識別されたユーザーを検証し得る。ユーザーアカウントの識別/検証に続いて、クラウドゲーミングサイトは、ゲームタイトルデータストア910にアクセスして、ユーザーアカウントが要求を開始するために、ゲームクラウドサイトで利用可能なゲームタイトルを識別する。次に、ゲームタイトルデータストア910は、ゲームデータベース912とインタラクトして、クラウドゲーミングサイトに利用可能な全てのゲームのゲームタイトルを取得する。新たなゲームが導入されると、ゲームデータベース912は、ゲームコードで更新され、新たに導入されたゲームのゲームタイトル情報がゲームタイトルデータストア910に提供される。要求が開始されるクライアントデバイスは、要求が開始されたときにクラウドゲーミングサイトに登録され得る、または登録されない場合がある。要求を開始したクライアントデバイスのユーザーが登録ユーザーでない場合、クラウドゲーミングサイトは、そのユーザーを新規ユーザーとして識別し、新規ユーザーに適切なゲームタイトル(例えば、ゲームタイトルのデフォルトセット)を選択し得る。図9Aに示されるように、識別されたゲームタイトルは、ディスプレイ画面900-aに提示するためにクライアントデバイスに返信される。
【0116】
クライアントデバイスでレンダリングされたゲームタイトルの1つでのユーザーインタラクションが検出され、信号がクラウドゲーミングサイトに送信される。信号は、ユーザーインタラクションが検出されたゲームタイトル情報と、ゲームタイトルに登録されたユーザーインタラクションとを含む。クライアントデバイスから受信した信号に応答して、クラウドゲーミングサイトは、ゲームがホストされているデータセンターを積極的に決定し、識別されたデータセンターに信号を送信して、ユーザーインタラクションが検出されたゲームタイトルに関連付けられたゲームをロードする。いくつかの実施形態では、2つ以上のデータセンターがゲームをホストし得る。そのような実施形態では、クラウドゲーミングサイトは、要求を開始するクライアントデバイスの地理的場所を決定し、クライアントデバイスに地理的に近いデータセンターを識別し、データセンターにゲームをプリロードするための信号を送信し得る。ユーザーの地理的場所は、いくつかの例を挙げると、クライアントデバイス内の全地球測位システム(GPS)機構、クライアントのIPアドレス、クライアントのping情報を使用して、決定され得る。当然ながら、ユーザーの地理的場所を検出する前述の方法は例示的であり得、他のタイプの機構またはツールを使用して、ユーザーの地理的場所を決定し得る。クライアントデバイスに近いデータセンターを識別することにより、ゲームとのユーザーインタラクション中、レイテンシを最小化できる。いくつかの実施形態では、識別されたデータセンターは、ゲームをホストするのに必要な帯域幅/処理能力を有さない場合がある、または過度に使用され得る。これらの実施形態では、クラウドゲーミングサイトは、クライアントデバイスに地理的に近い第2のデータセンターを識別し得る。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。
【0117】
クラウドゲーミングサイトから信号を受信したことに応答して、識別されたデータセンターは、サーバーでゲームをインスタンス化するために、データセンターでサーバーを選択し得る。サーバーは、利用可能なハードウェア/ソフトウェアの能力と、ゲーム要件とに基づいて選択される。サーバーは複数のゲーム機を含み得、サーバーは、ゲームをロードするのに、複数のゲーム機のうちのどのゲーム機を使用するかを決定し得る。ゲーム機は、独立型ゲーム機に類似し得る、またはラックマウントサーバーもしくはブレードサーバーであり得る。次に、ブレードサーバーは複数のサーバーブレードを含み得、各ブレードは、ゲーム等の単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然ながら、上記のゲーム機は例示的なものであり、限定的であるとみなすべきではない。ゲームステーション等を含む他のタイプのゲーム機、及び他の形態のブレードサーバーは、また、識別されたゲームをホストするために関与し得る。
【0118】
ゲーム機が識別されると、ゲームのための一般的なゲーム関連コードがゲーム機にロードされ、ゲームがインスタンス化されるゲーム機を識別する信号がネットワークを通じてクラウドゲーミングサイトを介してクライアントデバイスに返信される。したがって、ロードされたゲームはユーザーに利用可能になる。
【0119】
図9Bは、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために行われる様々な動作を概念的に示すフロー図である。ゲーミングシステム918は、ビデオゲームを実行し、未加工(非圧縮)ビデオ920及びオーディオ922を生成する。ビデオ920及びオーディオ922は、例示の図では参照番号924に示されるように、ストリーミング目的でキャプチャ及びエンコードされる。エンコーディングは、ビデオ及びオーディオストリームの圧縮を提供して、帯域幅の使用量を減らし、ゲーミング体験を最適化できる。エンコーディング形式の例は、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9等を含む。
【0120】
エンコード済オーディオ926及びエンコード済ビデオ928は、さらに、インターネット等のネットワークを通じて伝送目的で、参照番号932に示されるように、ネットワークパケットにパケット化される。また、ネットワークパケットエンコーディングプロセスは、データ暗号化プロセスも採用できることによって、強化されたデータセキュリティを提供する。図示の実施態様では、参照番号940に示されるように、ネットワークを通じてトランスポートするために、オーディオパケット934及びビデオパケット936が生成される。
【0121】
ゲーミングシステム918は、さらに、触覚フィードバックデータ930を生成し、これにより、また、ネットワーク伝送のためにネットワークパケットにパケット化される。図示の実施態様では、触覚フィードバックパケット938は、参照番号940でさらに示されるように、ネットワークを通じてトランスポートするために生成される。
【0122】
未加工ビデオ及び未加工オーディオならびに触覚フィードバックデータを生成し、ビデオ及びオーディオをエンコードし、エンコード済オーディオ/ビデオ及び触覚フィードバックデータをトランスポート用にパケット化する前述の動作は、クラウドゲーミングサービス/システムをまとめて定義する1つ以上のサーバーで行われる。参照番号940に示されるように、オーディオ、ビデオ、及び触覚フィードバックパケットは、インターネット等の及び/またはインターネットを含むネットワークを通じてトランスポートされる。参照番号942に示されるように、オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938は、クライアントデバイスによってデコード/再構築され、クライアントデバイスにおいて、エンコード済オーディオ946、エンコード済ビデオ948、及び触覚フィードバックデータ950を定義する。データが暗号化されている場合、ネットワークパケットも復号される。次に、参照番号944に示されるように、エンコード済オーディオ946及びエンコード済ビデオ948は、ディスプレイデバイス952でレンダリングするためにクライアント側の未加工オーディオ及び未加工ビデオデータを生成する。触覚フィードバックデータ950は、触覚効果をレンダリングできるコントローラーデバイス956または他のインタフェースデバイスで触覚フィードバック効果をもたらすために処理/通信できる。触覚効果の一例は、コントローラーデバイス956の振動またはランブルである。
【0123】
ビデオゲームはユーザー入力に応答し、ひいては、ユーザー入力の伝送及び処理について上記の同様の手順フローであるが、クライアントデバイスからサーバーに逆方向で行うことができることを認識されたい。示されるように、コントローラーデバイス956を操作するユーザーは、入力データ958を生成し得る。この入力データ958は、ネットワークを通じてクラウドゲーミングシステムにトランスポートするために、クライアントデバイスでパケット化される。入力データパケット960は、クラウドゲーミングサーバーによって解凍及び再構築され、サーバー側で入力データ962が定義される。入力データ962がゲーミングシステム918にフィードされ、ゲーミングシステム918は、入力データ962を処理して、ビデオゲームのゲーム状態を更新する。
【0124】
オーディオパケット934、ビデオパケット936、及び触覚フィードバックパケット938のトランスポート(参照番号940)の間、ネットワークを通じてデータ伝送を監視して、クラウドゲームストリームのサービス品質を保証できる。例えば、参照番号964によって示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態を監視でき、ゲームストリーミングは、利用可能な帯域幅の変化に応答して調整できる。すなわち、ネットワークパケットのエンコーディング及びデコーディングは、参照番号966に示されるように、現在のネットワーク状態に基づいて制御できる。
【0125】
図10は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)1070は、ネットワーク1086を介して地理的に分散及び接続されたユーザー1082に多くの情報サービスを配信する。ISPは、株価の更新等の1タイプだけのサービス、または放送メディア、ニュース、スポーツ、ゲーミング等の様々なサービスを配信できる。さらに、各ISPによって提供されたサービスは動的であり、すなわち、サービスはどの時点でも追加または削除できる。したがって、特定の個人に特定のタイプのサービスを提供するISPは、時間の経過とともに変化する可能性がある。例えば、ユーザーが地元にいる間、ユーザーの付近のISPはユーザーのために機能し得る一方、ユーザーが異なる町に移動したとき、異なるISPはユーザーのために機能し得る。地元のISPが必要な情報及びデータを新しいISPに転送することにより、ユーザー情報は新しい町までユーザーに「追従」し、データはユーザーにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザーの情報を管理するマスタISPと、マスタISPの制御下でユーザーと直接インターフェースするサーバーISPとの間に、マスターサーバー関係が確立され得る。別の実施形態では、クライアントが世界中を移動すると、データが一方のISPから別のISPに転送され、これらのサービスを配信することになるユーザーにサービス提供するために、ISPを良い位置にする。
【0126】
ISP1070は、アプリケーションサービスプロバイダ(ASP)1072を含み、ASP1072は、ネットワーク(例えば、非限定的な例として、任意の有線ネットワークまたは無線ネットワーク、LAN、WAN、WiFi、ブロードバンド、ケーブル、光ファイバー、衛星、セルラー(例えば、4G、5G等)、インターネット等を含む)を通じて、コンピューターベースサービスをカスタマーに提供する。ASPモデルを使用して提供されたソフトウェアは、また、オンデマンドソフトウェアまたはサービス型ソフトウェア(SaaS)とも呼ばれることもある。特定のアプリケーションプログラム(カスタマー関係管理等)へのアクセスを提供する簡単な形式は、HTTP等の標準プロトコルを使用する。アプリケーションソフトウェアは、ベンダーのシステムに常駐し、HTMLを使用するウェブブラウザを経由してユーザーによって、ベンダーによって提供された専用クライアントソフトウェアによって、またはシンクライアント等の他のリモートインターフェースによってアクセスされる。
【0127】
広い地理的エリアにわたって配信されたサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングは、動的にスケーラブルで、多くの場合、仮想化されたリソースがインターネットを通じてサービスとして提供されるコンピューティングのスタイルである。ユーザーは、ユーザーをサポートする「クラウド」の技術インフラストラクチャのエキスパートである必要はない。クラウドコンピューティングは、サービス型インフラストラクチャ(IaaS)、サービス型プラットフォーム(PaaS)、及びサービス型ソフトウェア(SaaS)等の異なるサービスに分類できる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供する一方、ソフトウェア及びデータはサーバーに記憶される。クラウドという用語は、コンピューターネットワーク図におけるインターネットの表現の仕方に基づいたインターネット(例えば、サーバー、ストレージ、ロジックを使用する)のメタファーとして使用され、複雑なインフラストラクチャを隠すための抽象的概念である。
【0128】
さらに、ISP1070は、シングルプレーヤー及びマルチプレーヤーのビデオゲームをプレイするためにゲームクライアントによって使用されるゲーム処理サーバー(GPS)1074を含む。インターネットを通じてプレイされたビデオゲームのほとんどは、ゲームサーバーへの接続を介して動作する。通常、ゲームはプレーヤーからデータを収集し、そのデータを他のプレーヤーに分配する専用サーバーアプリケーションを使用する。これは、ピアツーピア配置よりも効率的及び効果的であるが、サーバーアプリケーションをホストするために別個のサーバーを必要とする。別の実施形態では、GPSは、集中型GPSに依存することなく、プレーヤーとその各々のゲームプレイ用デバイスとの間で通信を確立し、情報を交換する。
【0129】
専用GPSは、クライアントとは独立して起動するサーバーである。そのようなサーバーは、通常、データセンターに位置する専用ハードウェアで起動し、より多くの帯域幅及び専用処理能力を提供する。専用サーバーは、PCベースマルチプレーヤーゲームのほとんどのゲームサーバーをホストする好ましい方法である。大規模なマルチプレーヤーオンラインゲームは、通常、ゲームタイトルを所有しているソフトウェア会社によってホストされた専用サーバーで起動し、専用サーバーがコンテンツを制御及び更新することを可能にする。
【0130】
ブロードキャスト処理サーバー(BPS)1076は、視聴者に音声信号またはビデオ信号を分配する。非常に狭い範囲の視聴者への放送は、ナローキャスティングと呼ばれることがある。放送分配の最終行程について、信号が聴取者または視聴者にどのように達するかについて説明する。信号は、放送電波を通じて、ラジオ局またはテレビ局と同様にアンテナ及び受信機に到達し得る、あるいは、信号は、局を介して、ケーブルテレビもしくはケーブルラジオ(または「無線ケーブル」)を経由して到達し得る、またはネットワークから直接到達し得る。また、インターネットは、特に、信号及び帯域幅を共有することを可能にするマルチキャストを用いて、ラジオまたはテレビのいずれか一方を受信者に提供し得る。歴史的に、放送は、全国放送または地域放送等の地理的領域により範囲が定められてきた。しかしながら、高速インターネットの急増に伴い、コンテンツが世界中のほぼ全ての国に届くことができるように、放送は地理によって定義されなくなった。
【0131】
ストレージサービスプロバイダ(SSP)1078は、コンピューターストレージ空間及び関連する管理サービスを提供する。SSPは、また、定期的なバックアップ及びアーカイブも提供する。ストレージをサービスとして提供することによって、ユーザーは必要に応じてより多くのストレージを注文できる。別の大きな利点として、SSPはバックアップサービスを含むことと、ユーザーのコンピューターのハードドライブが故障した場合、ユーザーがユーザーの全てのデータを失わないことと、が挙げられる。さらに、複数のSSPはユーザーデータの全体的または部分的なコピーを有し得、これにより、ユーザーが位置する場所またはデータにアクセスするために使用されるデバイスとは無関係に、ユーザーは効率的な方法でデータにアクセスすることが可能になる。例えば、ユーザーは、ホームコンピューター内のパーソナルファイルにアクセスでき、同様に、ユーザーが移動している間に携帯電話内のパーソナルファイルにアクセスできる。
【0132】
通信プロバイダ1080は、ユーザーに接続性を提供する。ある種類の通信プロバイダは、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)である。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバー、無線、または専用高速相互接続等、インターネットプロトコルデータグラムを配信するために適切なデータ伝送技術を使用して、そのカスタマーに接続する。また、通信プロバイダは、電子メール、インスタントメッセージ、及びSMSテキスト等のメッセージサービスも提供できる。別のタイプの通信プロバイダとして、インターネットにダイレクトバックボーンアクセスを提供することによって帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)が挙げられる。ネットワークサービスプロバイダは、電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者等から成り得る。
【0133】
データ交換部1088は、ISP1070の内側でいくつかのモジュールと相互接続し、ネットワーク1086を介してこれらのモジュールがユーザー1082に接続する。データ交換部1088は、ISP1070の全てのモジュールが近接している小さいエリアをカバーできる、または異なるモジュールが地理的に分散しているときに大きな地理的エリアをカバーできる。例えば、データ交換部1088は、データセンターのキャビネット内の高速ギガビットイーサネット(登録商標)(または、それよりも高速)、またはインターコンチネンタル仮想エリアネットワーク(VLAN)を含み得る。
【0134】
ユーザー1082は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス1084を用いてリモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲーミングシステム、PDA等であり得る。一実施形態では、ISP1070は、クライアントによって使用されたデバイスのタイプを認識し、使用された通信方法を調整する。他の場合、クライアントデバイスは、html等の標準通信方式を使用して、ISP1070にアクセスする。
【0135】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家電製品、ミニコンピューター、及びメインフレームコンピューター等を含む様々なコンピューターシステム構成で実施され得る。また、本開示は、有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによってタスクが行われる分散コンピューティング環境においても実施できる。
【0136】
いくつかの実施形態では、通信は、無線技術を使用して容易になり得る。そのような技術は、例えば、5G無線通信技術を含み得る。5Gは第5世代のセルラーネットワーク技術である。5Gネットワークはデジタルセルラーネットワークであり、そこでは、プロバイダによってカバーされたサービスエリアが、セルと呼ばれる小さな地理的エリアに分割される。音及び画像を表すアナログ信号は、電話でデジタル化され、アナログ-デジタルコンバータによって変換され、ビットのストリームとして伝送される。セル内の5G無線デバイスの全ては、他のセル内で再使用される周波数のプールからトランシーバによって割り当てられた周波数チャネルを通じて、セル内のローカルアンテナアレイ及び低電力自動トランシーバ(伝送部及び受信部)を用いて電波によって通信する。ローカルアンテナは、高帯域幅光ファイバーまたは無線バックホール接続によって、電話網及びインターネットと接続される。他のセルネットワークと同様に、一方のセルから別のセルに横断するモバイルデバイスは、新しいセルに自動的に転送される。5Gネットワークは、通信ネットワークのタイプの単なる例であり、本開示の実施形態は、5Gに続く後続世代の有線技術または無線技術と同様に、前世代の無線通信または有線通信を利用し得ることを理解されたい。
【0137】
上記の実施形態を考慮して、本開示は、コンピューターシステムに記憶されたデータを含む様々なコンピューター実施動作を使用できることを理解されたい。これらの動作は、物理量の物理的処置を必要とする動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は必要な目的のために特別に構築できる、または本装置はコンピューターに記憶されたコンピュータープログラムによって選択的にアクティブになるもしくは構成された汎用コンピューターであり得る。特に、様々な汎用マシンは本明細書の教示に従って書かれたコンピュータープログラムと一緒に使用できる、または、様々な汎用マシンは必要な動作を行うためにさらに特殊な装置を構築することがより便利になり得る。
【0138】
本開示は、また、コンピューター可読媒体のコンピューター可読コードとしても具現化され得る。代替として、コンピューター可読コードは、上記のデータ交換相互接続を使用して、サーバーからダウンロードされ得る。コンピューター可読媒体は、後でコンピューターシステムによって読み取りできるデータを記憶できる任意のデータストレージデバイスである。コンピューター可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学式データストレージデバイス及び非光学式データストレージデバイスを含む。コンピューター可読媒体はネットワーク接続コンピューターシステムにわたって分散されたコンピューター可読有形媒体を含み得、これにより、コンピューター可読コードが分散方式で記憶及び実行される。
【0139】
本方法の動作が特定の順序で説明してきたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は動作間に行われ得る、または、わずかに異なる時間で発生するように動作は調整され得る、もしくは、処理に関連付けられた様々な間隔で処理動作の発生を可能にするシステムで動作が分散され得ることを理解されたい。
【0140】
前述の開示は理解を明確にする目的のためにある程度詳細に説明してきたが、添付の特許請求の範囲の中で特定の変更及び修正を実施できることは明らかである。したがって、本実施形態は、例証であり制限するものではないと見なされ、本開示は、本明細書に与えられた詳細に限定されないが、説明された実施形態の範囲及び均等物の範囲内で修正され得る。
図1
図2A
図2B
図3A
図3B
図4
図5
図6A
図6B
図7
図8
図9A
図9B
図10