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

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許7602652認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨
<>
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図1
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図2
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図3
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図4A
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図4B
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図4C
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図5
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図6
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図7
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図8
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図9
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図10
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図11A
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図11B
  • 特許-認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-10
(45)【発行日】2024-12-18
(54)【発明の名称】認識または予測されたゲームアクティビティに基づいた観戦用のゲームストリームの推奨
(51)【国際特許分類】
   A63F 13/86 20140101AFI20241211BHJP
   A63F 13/35 20140101ALI20241211BHJP
   A63F 13/79 20140101ALI20241211BHJP
   H04N 21/258 20110101ALI20241211BHJP
   H04N 21/2668 20110101ALI20241211BHJP
【FI】
A63F13/86
A63F13/35
A63F13/79
H04N21/258
H04N21/2668
【請求項の数】 19
(21)【出願番号】P 2023539287
(86)(22)【出願日】2021-12-16
(65)【公表番号】
(43)【公表日】2024-01-10
(86)【国際出願番号】 US2021063854
(87)【国際公開番号】W WO2022146709
(87)【国際公開日】2022-07-07
【審査請求日】2023-06-27
(31)【優先権主張番号】17/223,013
(32)【優先日】2021-04-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/132,446
(32)【優先日】2020-12-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヴィヒゲスホフ、エルク
【審査官】白形 優依
(56)【参考文献】
【文献】国際公開第2019/168636(WO,A1)
【文献】米国特許出願公開第2020/0179812(US,A1)
【文献】特表2016-519796(JP,A)
【文献】韓国公開特許第10-2020-0003619(KR,A)
【文献】米国特許出願公開第2017/0228600(US,A1)
【文献】『Twitch』ガイド 「ツイッチとは?」から特長・使い方、配信方法も網羅,Appliv TOPICS [online],2019年08月30日,[2024年8月27日検索], インターネット <URL:https://map.app-liv.jp/archive/117206/>
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのサーバコンピュータによって実行される、ビデオゲームのゲームプレイの観戦を提供するための方法であって、
複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行されるセッションから生成される、前記受信することと、
各ゲームストリームを分析して、各ゲームストリームに描かれているゲームプレイアクティビティを認識することと、
ユーザの観戦に関するプリファレンスを取得することと、
前記認識されたゲームプレイアクティビティ及び前記ユーザの前記観戦に関するプリファレンスに基づいて、前記複数のゲームストリームの優先順位を決定することと、
前記ユーザが操作するクライアントデバイスによってネットワークを介して、前記決定された優先順位に基づいて観戦するための前記ゲームストリームの少なくとも一部の推奨を提供することと、
前記クライアントデバイスから前記ネットワークを介して、前記推奨されたゲームストリームの1つの選択を受信することに応答して、前記ユーザが観戦するために前記選択したゲームストリームを、前記ネットワークを介して前記クライアントデバイスに提供することと、
前記選択されたゲームストリームの前記ゲームプレイアクティビティを監視することと、
前記選択されたゲームストリームの前記ゲームプレイアクティビティの所定の変化を検出することに応答して、前記ユーザを前記選択されたゲームストリームから別のゲームストリームへ自動的に切り替えることと、
を含む、前記方法。
【請求項2】
各ゲームストリームは、前記ビデオゲームの前記実行されるセッションから生成されたゲームプレイビデオまたはゲームプレイメタデータを含む、請求項1に記載の方法。
【請求項3】
各ゲームストリームを分析することは、前記ゲームプレイアクティビティを認識するために機械学習モデルを前記ゲームプレイビデオまたは前記ゲームプレイメタデータに適用することを含む、請求項2に記載の方法。
【請求項4】
各ゲームストリームを分析することは、各ゲームストリームでのプレイヤの運動を分析することを含む、請求項1に記載の方法。
【請求項5】
前記ユーザの前記観戦に関するプリファレンスは、1つ以上のタイプのゲームプレイアクティビティを含む、請求項1に記載の方法。
【請求項6】
各セッションはクラウドゲームシステムによって実行される、請求項1に記載の方法。
【請求項7】
少なくとも1つのサーバコンピュータによって実行される、ビデオゲームのゲームプレイの観戦を提供するための方法であって、
複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行されるセッションから生成される、前記受信することと、
各ゲームストリームを分析して、各ゲームストリームでの将来のゲームプレイアクティビティを予測することと、
ユーザの観戦に関するプリファレンスを取得することと、
前記予測された将来のゲームプレイアクティビティ及び前記ユーザの前記観戦に関するプリファレンスに基づいて、前記複数のゲームストリームの優先順位を決定することと、
前記ユーザが操作するクライアントデバイスによってネットワークを介して、前記決定された優先順位に基づいて観戦するための前記ゲームストリームの少なくとも一部の推奨を提供することと、
前記クライアントデバイスから前記ネットワークを介して、前記推奨されたゲームストリームの1つの選択を受信することに応答して、前記ユーザが観戦するために前記選択したゲームストリームを、前記ネットワークを介して前記クライアントデバイスに提供することと、
を含む、前記方法。
【請求項8】
各ゲームストリームは、前記ビデオゲームの前記実行されるセッションから生成されたゲームプレイビデオまたはゲームプレイメタデータを含む、請求項7に記載の方法。
【請求項9】
各ゲームストリームを分析することは、前記将来のゲームプレイアクティビティを予測するために機械学習モデルを前記ゲームプレイビデオまたは前記ゲームプレイメタデータに適用することを含む、請求項8に記載の方法。
【請求項10】
各ゲームストリームを分析することは、各ゲームストリームでのプレイヤの運動を分析することを含む、請求項7に記載の方法。
【請求項11】
前記ユーザの前記観戦に関するプリファレンスは、1つ以上のタイプのゲームプレイアクティビティを含む、請求項7に記載の方法。
【請求項12】
各セッションはクラウドゲームシステムによって実行される、請求項7に記載の方法。
【請求項13】
前記選択されたゲームストリームを提供することは、前記予測された将来のゲームプレイアクティビティが発生する前に、前記ユーザが観戦し始めることを可能にする、請求項7に記載の方法。
【請求項14】
プログラム命令を有する非一時的なコンピュータ可読媒体であって、前記プログラム命令は、前記非一時的なコンピュータ可読媒体上で具現化され、少なくとも1つのサーバコンピュータにより実行されると、ビデオゲームのゲームプレイの観戦を提供する方法を、前記少なくとも1つのサーバコンピュータに実行させ、
前記方法は、
複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行されるセッションから生成される、前記受信することと、
各ゲームストリームを分析して、各ゲームストリームに描かれているゲームプレイアクティビティを認識することと、
ユーザの観戦に関するプリファレンスを取得することと、
前記認識されたゲームプレイアクティビティ及び前記ユーザの前記観戦に関するプリファレンスに基づいて、前記複数のゲームストリームの優先順位を決定することと、
前記ユーザが操作するクライアントデバイスによってネットワークを介して、前記決定された優先順位に基づいて観戦するための前記ゲームストリームの少なくとも一部の推奨を提供することと、
前記クライアントデバイスから前記ネットワークを介して、前記推奨されたゲームストリームの1つの選択を受信することに応答して、前記ユーザが観戦するために前記選択したゲームストリームを、前記ネットワークを介して前記クライアントデバイスに提供することと、
前記選択されたゲームストリームの前記ゲームプレイアクティビティを監視することと、
前記選択されたゲームストリームの前記ゲームプレイアクティビティの所定の変化を検出することに応答して、前記ユーザを前記選択されたゲームストリームから別のゲームストリームへ自動的に切り替えることと、
を含む、前記非一時的なコンピュータ可読媒体。
【請求項15】
各ゲームストリームは、前記ビデオゲームの前記実行されるセッションから生成されたゲームプレイビデオまたはゲームプレイメタデータを含む、請求項14に記載の非一時的なコンピュータ可読媒体。
【請求項16】
各ゲームストリームを分析することは、前記ゲームプレイアクティビティを認識するために機械学習モデルを前記ゲームプレイビデオまたは前記ゲームプレイメタデータに適用することを含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
各ゲームストリームを分析することは、各ゲームストリームでのプレイヤの運動を分析することを含む、請求項14に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記ユーザの前記観戦に関するプリファレンスは、1つ以上のタイプのゲームプレイアクティビティを含む、請求項14に記載の非一時的なコンピュータ可読媒体。
【請求項19】
各セッションはクラウドゲームシステムによって実行される、請求項14に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実装は、ビデオゲームのライブ観戦に関し、より具体的には、関心のあるアクティビティが発生しそうな最適な時間に、観客に個別化された観戦推奨を提供し、ゲームプレイ中のプレイヤを支援するためのヘルパーモードを観客に提供するためのシステム及び方法に関する。
【背景技術】
【0002】
関連技術の説明
ビデオゲーム観戦の分野は近年大幅な成長を遂げている。観客は、例えばゲームセッションのライブストリーミングを提供するオンラインプラットフォームを通じて、自分のお気に入りのゲーム及びプレイヤを観戦する機会を求めている。ただし、観客は、多くの場合、あまり興味がないと思われるゲームプレイアクティビティのセグメントを見るためにかなりの時間を費やさなければならない。観客は、観客として所与のセッションに参加する場合、通常、自分がゲームプレイの関心のある部分に参加しているかどうかが全くわからない、または近い将来にゲームプレイで何か関心のあることが起こりそうかどうかがわからない。
【0003】
さらに、観客は、あるゲームセッションで発生するアクティビティを観察している間に、別のセッションで発生するより関心のあるアクティビティを見逃す可能性がある。そして、利用可能なビデオゲームストリームの数が増加するにつれて、所与の観客が観察すべき関心のあるゲームプレイを見つけることがますます困難になる。
【0004】
このような状況において、本開示の実施態様が生じる。
【発明の概要】
【0005】
本開示の実装は、ビデオゲームのライブ観戦を提供するためのシステム及び方法に示されており、より具体的には、関心のあるアクティビティが発生しそうな最適な時間に、観客に個別化された観戦推奨を提供し、ゲームプレイ中のプレイヤを支援するためのヘルパーモードを観客に提供するためのシステム及び方法に示されている。
【0006】
いくつかの実装では、少なくとも1つのサーバコンピュータによって実行される、ビデオゲームのゲームプレイの観戦を提供するための方法は、提供され、複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行中のセッションから生成される、受信することと、各ゲームストリームを分析して、各ゲームストリームに描かれているゲームプレイアクティビティを認識することと、ユーザの観戦中のプリファレンスを取得することと、認識されたゲームプレイアクティビティ及びユーザの観戦中のプリファレンスに基づいて複数のゲームストリームの優先順位を決定することと、ユーザが操作するクライアントデバイスによってネットワークを介して、決定された優先順位に基づいて観戦のためのゲームストリームの少なくとも一部の推奨を提供することと、クライアントデバイスからネットワークを介して、推奨されたゲームストリームの1つの選択を受信することに応答して、ネットワークを介してクライアントデバイスに、ユーザが観戦するために選択したゲームストリームを提供することとを含む。
【0007】
いくつかの実装では、各ゲームストリームは、ビデオゲームの実行中のセッションから生成されたゲームプレイビデオまたはゲームプレイメタデータを含む。
【0008】
いくつかの実装では、各ゲームストリームを分析することは、ゲームプレイアクティビティを認識するために機械学習モデルをゲームプレイビデオまたはゲームプレイメタデータに適用することを含む。
【0009】
いくつかの実装では、各ゲームストリームを分析することは、各ゲームストリームでのプレイヤの運動を分析することを含む。
【0010】
いくつかの実装では、ユーザの観戦中のプリファレンスは、1つ以上のタイプのゲームプレイアクティビティを含む。
【0011】
一部の実装では、各セッションはクラウドゲームシステムによって実行される。
【0012】
いくつかの実装では、少なくとも1つのサーバコンピュータによって実行される、ビデオゲームのゲームプレイの観戦を提供するための方法は、提供され、複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行中のセッションから生成される、受信することと、各ゲームストリームを分析して、各ゲームストリームでの将来のゲームプレイアクティビティを予測することと、ユーザの観戦中のプリファレンスを取得することと、予測された将来のゲームプレイアクティビティ及びユーザの観戦中のプリファレンスに基づいて複数のゲームストリームの優先順位を決定することと、ユーザが操作するクライアントデバイスによってネットワークを介して、決定された優先順位に基づいて観戦のためのゲームストリームの少なくとも一部の推奨を提供することと、クライアントデバイスからネットワークを介して、推奨されたゲームストリームの1つの選択を受信することに応答して、ネットワークを介してクライアントデバイスに、ユーザが観戦するために選択したゲームストリームを提供することとを含む。
【0013】
いくつかの実装では、各ゲームストリームは、ビデオゲームの実行中のセッションから生成されたゲームプレイビデオまたはゲームプレイメタデータを含む。
【0014】
いくつかの実装では、各ゲームストリームを分析することは、将来のゲームプレイアクティビティを予測するために機械学習モデルをゲームプレイビデオまたはゲームプレイメタデータに適用することを含む。
【0015】
いくつかの実装では、各ゲームストリームを分析することは、各ゲームストリームでのプレイヤの運動を分析することを含む。
【0016】
いくつかの実装では、ユーザの観戦中のプリファレンスは、1つ以上のタイプのゲームプレイアクティビティを含む。
【0017】
一部の実装では、各セッションはクラウドゲームシステムによって実行される。
【0018】
いくつかの実装では、選択されたゲームストリームを提供することは、予測された将来のゲームプレイアクティビティが発生する前に、ユーザが観戦し始めることを可能にする。
【0019】
いくつかの実装では、プログラム命令を有する非一時的なコンピュータ可読媒体が提供され、プログラム命令は、非一時的なコンピュータ可読媒体上で具現化され、少なくとも1つのサーバコンピュータによって実行されると、ビデオゲームのゲームプレイの観戦を提供するための方法を少なくとも1つのサーバコンピュータに実行させ、この方法は、複数のゲームストリームを受信することであって、各ゲームストリームはビデオゲームの実行中のセッションから生成される、受信することと、各ゲームストリームを分析して、各ゲームストリームに描かれているゲームプレイアクティビティを認識することと、ユーザの観戦中のプリファレンスを取得することと、認識されたゲームプレイアクティビティ及びユーザの観戦中のプリファレンスに基づいて複数のゲームストリームの優先順位を決定することと、ユーザが操作するクライアントデバイスによってネットワークを介して、決定された優先順位に基づいて観戦のためのゲームストリームの少なくとも一部の推奨を提供することと、クライアントデバイスからネットワークを介して、推奨されたゲームストリームの1つの選択を受信することに応答して、ネットワークを介してクライアントデバイスに、ユーザが観戦するために選択したゲームストリームを提供することとを含む。
【0020】
いくつかの実装では、少なくとも1つのサーバコンピュータによって実行される、ビデオゲームの観客がプレイヤに支援を提供することを可能にするための方法は、提供され、観客が操作する観客クライアントデバイスにネットワークを介して、プレイヤクライアントデバイスによってプレイヤのインタラクティブゲームプレイが駆動したビデオゲームのセッションから生成されたゲームプレイビデオをストリーミングすることであって、ゲームプレイビデオは観客が見るために観客インタフェースを介して観客クライアントデバイスによってレンダリングされる、ストリーミングすることと、ゲームプレイビデオのストリーミング中に、プレイヤクライアントデバイスから要求を受信することと、プレイヤクライアントデバイスからの要求に応答して、観客インタフェースを介して通知を表示することであって、その通知はゲームプレイに関する支援の要求を指示する、表示することと、観客インタフェースを介して、支援要求の受諾を指示する通知に対する応答を受信することと、その応答を受信することに応答して、観客とプレイヤとの間の通信を可能にするためにプライベート通信チャネルを、観客クライアントデバイスとプレイヤクライアントデバイスとの間で開始することとを含む。
【0021】
一部の実装では、ゲームプレイビデオの他の観客はプライベート通信チャネルにアクセスできない。
【0022】
いくつかの実装では、プライベート通信チャネルは、観客とプレイヤとの間でテキスト、オーディオ、またはビデオの通信を可能にする。
【0023】
一部の実装では、観客インタフェースは、ゲームプラットフォーム、ウェブサイト、またはアプリを通じて定義される。
【0024】
いくつかの実装では、さらに方法は、機械学習モデルを使用してインタラクティブゲームプレイを分析し、プレイヤが直面する困難を認識することと、プレイヤが直面した困難の認識に応答して、プレイヤクライアントデバイスを通じて、観客からの支援を要求するプロンプトを提示することとを含み、プレイヤクライアントデバイスからの要求は、観客からの支援を要求するプロンプトの提示に応答している。
【0025】
いくつかの実装では、機械学習モデルを使用してインタラクティブゲームプレイを分析することは、獲得されたポイントまたはプレイヤの進捗のうちの1つまたは複数を分析することを含む。
【0026】
いくつかの実装では、少なくとも1つのサーバコンピュータによって実行される、ビデオゲームの観客がプレイヤに支援を提供することを可能にするための方法は、提供され、観客が操作する観客クライアントデバイスにネットワークを介して、プレイヤクライアントデバイスによってプレイヤのインタラクティブゲームプレイが駆動したビデオゲームのセッションから生成されたゲームプレイビデオをストリーミングすることであって、ゲームプレイビデオは観客が見るために観客インタフェースを介して観客クライアントデバイスによってレンダリングされる、ストリーミングすることと、ゲームプレイビデオのストリーミング中に、観客クライアントデバイスから要求を受信することと、観客クライアントデバイスからの要求に応答して、ゲームプレイに関する支援のオファを指示する通知をプレイヤクライアントデバイスを通じて提示することと、プレイヤクライアントデバイスから、支援のオファの受諾を指示する通知に対する応答を受信することと、その応答を受信することに応答して、観客とプレイヤとの間の通信を可能にするためにプライベート通信チャネルを、観客クライアントデバイスとプレイヤクライアントデバイスとの間で開始することとを含む。
【0027】
一部の実装では、ゲームプレイビデオの他の観客はプライベート通信チャネルにアクセスできない。
【0028】
いくつかの実装では、プライベート通信チャネルは、観客とプレイヤとの間でテキスト、オーディオ、またはビデオの通信を可能にする。
【0029】
一部の実装では、観客インタフェースは、ゲームプラットフォーム、ウェブサイト、またはアプリを通じて定義される。
【0030】
いくつかの実装では、さらに方法は、機械学習モデルを使用してインタラクティブゲームプレイを分析し、プレイヤが直面する困難を認識することと、プレイヤが直面した困難の認識に応答して、観客クライアントデバイスを通じて、プレイヤに支援を申し出るプロンプトを提示することとを含み、観客クライアントデバイスからの要求は、プレイヤに支援を申し出るプロンプトの提示に応答している。
【0031】
いくつかの実装では、機械学習モデルを使用してインタラクティブゲームプレイを分析することは、獲得されたポイントまたはプレイヤの進捗のうちの1つまたは複数を分析することを含む。
【0032】
いくつかの実装では、プログラム命令を有する非一時的なコンピュータ可読媒体が提供され、これらプログラム命令は、非一時的なコンピュータ可読媒体上で具現化され、少なくとも1つのサーバコンピュータによって実行されると、ビデオゲームの観客がプレイヤに支援を提供することを可能にするための方法を、少なくとも1つのサーバコンピュータに実行させるように構成され、その方法は、観客が操作する観客クライアントデバイスにネットワークを介して、プレイヤクライアントデバイスによってプレイヤのインタラクティブゲームプレイが駆動したビデオゲームのセッションから生成されたゲームプレイビデオをストリーミングすることであって、ゲームプレイビデオは観客が見るために観客インタフェースを介して観客クライアントデバイスによってレンダリングされる、ストリーミングすることと、ゲームプレイビデオのストリーミング中に、プレイヤクライアントデバイスから要求を受信することと、プレイヤクライアントデバイスからの要求に応答して、観客インタフェースを介して通知を表示することであって、その通知はゲームプレイに関する支援の要求を指示する、表示することと、観客インタフェースを介して、支援要求の受諾を指示する通知に対する応答を受信することと、その応答を受信することに応答して、観客とプレイヤとの間の通信を可能にするためにプライベート通信チャネルを、観客クライアントデバイスとプレイヤクライアントデバイスとの間で開始することとを含む。
【0033】
本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例を挙げて示す下記の詳細な説明から明らかになるであろう。
【0034】
本開示は、そのさらなる利点とともに、添付の図面と以下の説明を参照することによって最もよく理解され得る。
【図面の簡単な説明】
【0035】
図1】本開示の実装による、観客へのゲームストリームの推奨を提供するためのシステムを概念的に示す。
図2】本開示の実装による、ユーザに観戦するゲームストリームを推奨するためのプロセスを概念的に示す。
図3】本開示の実装による、ゲームストリームを観戦するためのインタフェースを概念的に示す。
図4】A、B及びCは、本開示の実装による、経時的な観戦インタフェースのビューを示す。
図5】本開示の実装による、観戦用のプレイヤゲームストリームの自動選択を概念的に示す。
図6】本開示の実装による、ライブ観戦のセグメント間への事前録画されたゲームプレイの挿入を概念的に示す。
図7】本開示の実装による、観戦する異なるゲームストリーム間の移行を概念的に示す。
図8】本開示の実装による、ヘルパーモードの機能を提供する方法を概念的に示す。
図9】本開示の実装による、ゲームプレイ仮想環境の独立したビューを提供された観客ヘルパーを概念的に示す。
図10】本開示の実装による、仮想環境内で支援を提供するために異なる時間に異なるプレイヤのところに移動する観客ヘルパーを概念的に示す。
図11A】本開示の実装による、クラウドゲームサイトを通して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。
図11B】本開示の実装による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な操作を概念的に示すフロー図である。
図12】本開示の実装による、情報サービスプロバイダアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【0036】
本開示の実装は、どのビデオゲームセッションを観戦するかに関して、個別化された推奨を観客に提供するためのシステム及び方法を提供する。特に推奨されるゲームストリームは、ユーザが指示したプリファレンスに基づいて合わせられることができるだけでなく、ユーザの観戦中の選択及び関連するビヘイビアを分析することによる経時的なユーザのプリファレンスの学習に基づいて合わせられることもできる。さらに、ゲームセッション中に予測されたアクティビティに基づいて、時間的制約のある方法で推奨が提供される。つまり、関心のあるゲームアクティビティが間もなく発生する可能性が高いことを指示する、ゲームストリームに実行された予測に基づいて、所与のユーザが特定のゲームストリームを観戦するように推奨される。これにより、ユーザには、選択したゲームストリームで即時に関心のあるゲームアクティビティを楽しむ可能性が高くなるように、改善された観戦エクスペリエンスが提供される。
【0037】
さらに本開示の実装は、観客ヘルパーモードを提供することにより、観客がプレイヤに支援を提供することが可能になる。これにより、プレイヤのゲームプレイを支援している間、観客のエンゲージメントレベルがさらに高くなる。
【0038】
図1は、本開示の実装による、観客へのゲームストリームの推奨を提供するためのシステムを概念的に示す。
【0039】
図示の実装では、観客デバイス102は、ネットワーク104(例えば、インターネット)を介して観戦システム100と通信する。概して、観客デバイス102は、観客によって操作され、観戦システム100から推奨を受信し、観客デバイス102を介して観戦するのに専用のゲームストリームを受信する。限定ではなく例として、観客デバイス102は、観戦目的でビデオゲームセッションのビューを受信してディスプレイにレンダリングすることができるコンピュータ、ラップトップ、ゲームコンソール、タブレット、携帯電話、または任意の他のタイプのコンピューティングデバイスであり得る。いくつかの実装では、観客デバイス102はディスプレイを含むが、他の実装では、観客デバイス102はビデオ/画像を別個の表示装置にレンダリングする。
【0040】
図示の実装では、観戦システム100は、フロントエンドサーバ106を含み、このフロントエンドサーバは、観客デバイス102とインタフェースして、ゲームストリームの推奨と、観客デバイス102を介して観戦するために選択されたゲームストリームとを提供する少なくとも1つのサーバである。推奨エンジン108は、所与の観客に対して推奨するのに専用のゲームストリームを決定する。以下でさらに詳細に説明されるように、これは、ユーザ定義及び/または推論できるユーザのプリファレンスに基づいていることができるだけでなく、これから発生する関心のあるアクティビティの認識及び/または予測に基づいていることもできる。
【0041】
図示の実装では、ゲームストリームは、様々な方法で発生するゲームセッションから生成される。一例は、クラウドゲームを通じたものであり、クラウドゲームシステム114がビデオゲームセッションの実行を行い、リアルタイムでゲームプレイビデオをクラウドゲームクライアントデバイス112に提供することで、クラウドゲームクライアントデバイス112がクラウドゲームシステム114からゲームプレイをストリーミングする。クラウドゲームクライアントデバイス112は、プレイヤから入力/コマンドを受信し、これらをクラウドゲームシステム114に送信して、実行中のビデオゲームセッションに適用されるようにバックアップする。ゲームストリームを生成するゲームインスタンスの別の例は、コンピュータ、ゲームコンソールなどのローカルゲームデバイス110上でローカルに実行されるゲームセッションを通じたものである。それらのようなゲームセッションがシングルプレイヤゲームセッションまたはマルチプレイヤゲームセッションであることができることが理解されよう。
【0042】
それらのようなゲームセッションから生成されたゲームストリームは、ネットワーク104を介して観戦システム100に提供される。1つまたは複数のゲームストリームは、観戦システム100によって、例えば、いくつかの実装ではストリーミングサーバを含むことまたはストリーミングサーバとして機能することができるフロントエンドサーバ106を通じて、観客デバイス102に提供され、ゲームプレイビデオを観客デバイス102にストリーミングすることができる。上述のように、観戦システム100は、観客が見るゲームストリームの観客に専用のものを推奨する推奨エンジン108を含み、観客は、推奨されたゲームストリームのうちの1つを選択して観戦することができる。
【0043】
概して、様々なゲームセッションによって生成されるゲームストリームにはゲームプレイビデオが含まれ、さらにゲームセッションの実行から生成されるゲームプレイメタデータが含まれる場合もある。ゲームプレイメタデータには、例えば、ゲーム状態データ、ゲームの仮想環境内でのプレイヤのロケーション/位置/向き/運動、プレイヤのインベントリ、武器発射イベント、武器の状態(例えば、武装、装填、抜刀など)、攻撃イベント、仮想キャラクタ/エンティティの操作、ヘルス/エネルギー状態、ポイント、ゴール、スコアなど、所与のゲームセッション中に発生するアクティビティを示すあらゆるタイプのデータを含む。いくつかの実装では、これらは、図示の実装に示されるように、観戦システム100によってゲームプレイビデオ132及びゲームプレイメタデータ124としてゲームプレイデータストレージ120に格納される。
【0044】
いくつかの実装では、観戦システム100は、機械学習を使用して、ゲームストリーム内のアクティビティを認識する及び/または予測する。そのような認識された及び/または予測されたアクティビティに基づいて、どのストリームを観戦するかに関する観客への推奨を提供することができ、いくつかの実装では、観客に代わって自動的に選択することができる。引き続き図1を参照すると、いくつかの実装では、ゲームプレイデータ120は訓練データ126に処理される。次に、訓練データ126を使用して、ゲームストリーム内で発生するゲームアクティビティを認識するように構成される認識モデル128、またはゲームストリーム内で将来のゲームアクティビティを予測するように構成される予測モデル130など、1つまたは複数の機械学習モデルを訓練する。そのような認識または予測は、分析するようにモデルが訓練された、ゲームストリームからのゲームプレイビデオ及び/またはゲームプレイメタデータへのモデルの適用に基づいていることができることが理解されよう。さらに、多くの異なるビデオゲームが存在し、したがって、個々のビデオゲームもしくは部分(例えば、レベル、シーン、チャプタなど)またはそのモード(例えば、シングルプレイヤキャンペーンモード対マルチプレイヤモード)に専用であり得る、様々な実装では多くの認識モデル及び予測モデルが存在し得ることが理解されよう。説明を容易にするために、本開示では単一の認識及び予測モデルが参照されているが、ゲームストリームが観戦に利用可能になる様々なビデオゲームの全範囲に対応するために、必要に応じてそれらのような多くのモデルを提供することができることが理解されよう。
【0045】
ゲームストリームアナライザ118は、ゲームストリーム内で発生している現在のアクティビティを識別するために、またはゲームストリーム内で発生する可能性が高い将来のアクティビティを予測するために、訓練済み機械学習モデル(認識モデル128または予測モデル130など)をライブまたは事前録画されたゲームストリームに適用する。次に、現在のアクティビティ及び/または予測された将来のアクティビティは、観客に推奨されるゲームストリームを決定するために推奨エンジン108によって利用される。例えば、推奨エンジン108は、例えば、アクティビティのタイプ、アクティビティの量/レベル/分量、アクティビティの持続時間、アクティビティに対する視聴者の反応(例えば、コメント、観客のオーディオ/ビデオなど)、アクティビティの参加者数、アクティビティの参加者の特性(例えば、参加者のスキル/達成/エクスペリエンスレベル、参加者の地理的位置、参加者の言語など)、アクティビティのゲームステージ/レベル/シーンなど、識別された現在のアクティビティ及び/または予測された将来のアクティビティの様々な基準または特性に基づいてゲームストリームをソートすることができる。
【0046】
いくつかの実装では、それらのような基準または特性の重み付きスコアを決定し、組み合わせてまたは総計して、様々なゲームストリームの全体的なスコアを決定し、それらの全体的なスコアを使用して、観客への推奨に利用可能なゲームストリームをランク付けする。いくつかの実装では、ランク付けは、図示の実装ではユーザのプリファレンスデータ116として格納されている観客のプリファレンスまたは特性によってさらに影響される。例えば、いくつかの実装では、観客のプリファレンスは、上述の重み付きスコア付けに適用される重みに影響する。他の実装では、観客の特性/プリファレンスを使用して、スコア付けプロセスのランク付け結果をフィルタリングする/ソートすることができる。一部のプリファレンスは重み付けに影響することができるが、一部のプリファレンスがフィルタリングまたはソートに使用されることができることが理解されよう。
【0047】
観客のプリファレンスは、いくつかの実装では推論されることができ、及び/またはいくつかの実装では明示的に決定されることができる。例えば、観客のプリファレンスは、例えば、年齢、地理的位置、性別、所有/プレイしているゲームタイトル、エクスペリエンスレベル、ゲーム観戦履歴、ゲームプレイ履歴など、ユーザ人口統計データまたは他の既存のユーザデータに基づいて推論されることができる。観客のプリファレンスは、観客から自分のプリファレンスを指示する入力を要請することによって、例えば、どのゲームを観戦するのが好きなのか、またはどのジャンル/タイプのゲーム(例えば、アクション、スポーツ、ファーストパーソンシューティングゲーム、レース、リアルタイムストラテジ、乱闘、コープなど)、どのタイプのアクティビティ(例えば、戦闘、得点、ボス戦、近距離戦闘、空爆、これまでゲームで使用されていなかった新しい地形または新しいエリアの検出、新しい武器の種類、利用可能な新しいハードウェアの発見など)を観戦することが好きかなどについて観客を調査することによって、明示的に決定されることができる。ユーザが観戦に関心のあるゲームまたはゲームアクティビティの種類を具体的に自分が選択したレベルまで指示することを可能にする、より一般的でより具体的なカテゴリがあり得ることが理解されよう。例えば、ユーザは、サッカーの試合、より具体的には、限定ではなく例として、ゴール、ペナルティキック、及びコーナーキックを観戦することに関心があることを指示することができる。
【0048】
さらに、いくつかの実装では、ユーザは、観戦に関心のある特定のプレイヤを指示することができる。いくつかの実装では、ユーザは、観戦に関心のあるプレイヤのタイプ(例えば、ゲームでは特定のエクスペリエンス/スキルレベルのプレイヤ、所与のフォロワ数を有するプレイヤ、特定のキャラクタタイプのプレイヤ、ある国または地域のプレイヤなど)を指示することができる。
【0049】
現在説明されているモデルが、ゲームストリームをスキャンするために使用され、説明されたような特性を有するゲームプレイアクティビティを識別する/予測するように構成されることが理解されよう。そして、この情報に基づいて、推奨エンジン108は、どのゲームストリームを観戦すべきかに関する提案を提供する。さらに、ユーザによる観戦用のゲームストリームの選択をシステムへのフィードバックとして使用することもできる。つまり、ユーザのプリファレンスは、どのゲームストリームを観戦すべきかを選択する際のユーザの選択だけでなく、ユーザの観戦プリファレンスを示す他の関連データ、例えば、ユーザが観戦するコンテンツに対して実行した検索、様々な選択したゲームストリームを観戦するのにユーザが費やした時間長、観戦中のユーザによるインタラクションまたは反応(例えば、コメント、観戦中のユーザの反応のマイクロフォンオーディオ)、観戦したゲームストリーム、またはスクリーンショットもしくはビデオクリップなどの関連コンテンツのユーザによる共有(例えば、ソーシャルメディア、観戦/ゲームプラットフォーム、またはその他の通信プラットフォームを介した共有)などから、経時的にシステムによって学習される/推論されることができる。ユーザのプリファレンスは、ユーザがどのゲームをプレイしているか、もしくはどのゲームを自分のライブラリに有するかなど、ユーザに関する他の既知のデータ、または他のユーザ人口統計データから少なくとも部分的に推論されることもできる。
【0050】
一部の実装では、システムはユーザに観戦オプションを提示するが、他の実装では、システムは、ユーザが観戦するゲームストリームを自動的に選択するように構成されることができる。つまり、システムは、ユーザの(明示的に定義された及び/または推論された)プリファレンスに関する上記の因子などの因子に基づいて選択される、システムが選択したゲームストリームにユーザを自動的かつ直接に導くことができる。
【0051】
図2は、本開示の実装による、ユーザに観戦するゲームストリームを推奨するためのプロセスを概念的に示す。
【0052】
図示の実装では、複数のゲームストリーム200a~200fなどが概念的に示されている。方法の操作202では、上述のような機械学習モデルの適用などを通じて、認識及び/または予測プロセスをゲームストリーム200に適用する。認識/予測プロセスは、それぞれ、ゲームストリームで発生するアクティビティを識別し、現在の状況に基づいてゲームストリームで発生すると予想される将来のアクティビティを予測するように構成される。方法の操作204では、識別/予測されたアクティビティを利用して、ゲームストリームのうちの特定のものをユーザに観戦するように推奨する。いくつかの実装では、ユーザのプリファレンス210は、ゲームストリームの特性及び現在のアクティビティまたは予測されたアクティビティに基づいてどのゲームストリームを推奨するかを決定するために適用される。例えば、いくつかの実装では、ゲームストリームは、ユーザが好む特性またはアクティビティを有するゲームストリームを識別するように、ユーザのプリファレンスに応じてフィルタリングされる。一部の実装では、ユーザのプリファレンスに応じて様々な因子に重みが割り当てられ、これらは、ゲームストリームをスコア付けする目的でゲームストリームの特性及び識別/予測されたアクティビティに適用され、どのゲームストリームをユーザに推奨するかを決定するためのランク付けを可能にする。
【0053】
方法の操作206では、推奨されたゲームストリームの中から所与のゲームストリームのユーザ選択を受信し、それに応じて、選択されたゲームストリームをユーザに提供し、ユーザが観戦する。方法の操作208では、ユーザの選択は、ユーザのプリファレンスのシステムの理解をさらに推論して洗練するためのフィードバックとして利用される。したがって、システムは、推奨されたゲームストリームのユーザ選択に基づいて、さらに選択されたゲームストリームとのユーザインタラクションに基づいて、ユーザのプリファレンス210のその理解を連続して学習して改善することができる。
【0054】
図3は、本開示の実装による、ゲームストリームを観戦するためのインタフェースを概念的に示す。
【0055】
図示の実装では、観客デバイス102を介して、例えば、ウェブブラウザ(例えば、ウェブサイト/ウェブページにアクセスする)、アプリなどのゲームプラットフォームまたはアプリケーションを介して提供されることができる、インタフェース300が示されている。インタフェース300内には、ユーザのプリファレンスインタフェース302が提供され、それを通じてユーザは、観戦するコンテンツの自分のプリファレンスを定義することができる。図示の実装では、ユーザのプリファレンスインタフェース302は、様々なボタンセレクタを含み、様々なボタンセレクタは、観戦に関するプリファレンスのユーザ定義を可能にするメニューにアクセスするために選択されることができる。
【0056】
例えば、ゲームセレクタ304は、ユーザが観戦することを好む個々のゲームまたはゲームのタイプを識別することを可能にするように構成される。アクティビティタイプセレクタ306は、ユーザが観戦したいアクティビティのタイプをユーザが識別することを可能にするように構成される。チーム/プレイヤセレクタ308は、ユーザが観戦したい特定のプレイヤまたはチームを指示することを可能にするように構成される。ソートセレクタ310は、ユーザが定義したその他のプリファレンスのいずれかの優先順位を指定する、または例えば、ゲームストリームの人気(例えば、観戦するユーザ数)、ゲームセッションの年齢、参加するプレイヤのスキルレベル、プレイするプレイヤ数、ユーザからゲームセッションホストの距離などの基準に基づいてソートするなど、優先順位付けされるまたはソートされる推奨を観戦したい方法をユーザが指定することを可能にするように構成される。
【0057】
図示の実装では、ユーザのプリファレンスインタフェース302がオプションのメニューにアクセスするボタンセレクタの形式であるが、他の実装では、ユーザのプリファレンスインタフェース302は、ユーザが自分のプリファレンスを入力することを可能にする他の形式を取ることができる。いくつかの実装では、ユーザのプリファレンスインタフェース302は、ユーザに提示される一連の質問の形式であり、一連の質問に答えることによって、ユーザはシステムに自分のプリファレンスを定義する。限定ではなく例として、それらのような質問は、例えば、ゲームタイトル、ゲームタイプ、アクティビティのタイプなど、プリファレンスの前述のカテゴリのいずれかについて問い合わせるように構成されることができる。一部の実装では、ユーザに提示される質問には、ユーザが回答として選択するためのオプション、及び/またはユーザが回答を入力するためのフィールドが含まれる。いくつかの実装では、ユーザは、所与の質問に対する自分の応答をランク付けすることができる(例えば、好ましいゲームタイトルを最も好ましいものから最も好ましくないものへの順序でランク付けする)。
【0058】
いくつかの実装では、ユーザのプリファレンスインタフェース302は、セットアップ操作としてインスタンス化され、システムの新しいユーザが自分のアカウントをセットアップする場合、またはその他の方法で最初に観戦システムにアクセスする場合、もしくはゲームストリームを観戦しようとする場合、自動的にシステムの新しいユーザに提示され得る。
【0059】
引き続き図3の実装を参照すると、いくつかのゲームビュー312、314、316、及び318がインタフェース300に含まれている。ゲームビューは、本開示で説明されるように、ユーザのプリファレンス及びゲームストリーム自体で認識/予測されたアクティビティに基づいてユーザに推奨されることができる、推奨ゲームストリームのビューを提示するように構成される。いくつかの実装では、ゲームビューは、ゲームストリームの最近の画像または代表画像の形式を取る。一方、いくつかの実装では、ゲームビューはゲームストリームのライブビューを提供することによって、実際の観客ビューを提供するが、インタフェース300内で複数のゲームビューを収容するように縮小形式である。いくつかの実装では、ゲームビューは、ゲームストリームからトリミングされたビューを提供し、ゲームストリーム内でレンダリングされているキャラクタまたは他のエンティティなど、ゲームストリームの特定の態様に焦点を当てるように構成されることができる。いくつかの実装では、ゲームビューは、タイルアレイとしてユーザインタフェースを介して提示され、ユーザが一度にいくつかのゲームビューを同時に見て閲覧することを可能にする。
【0060】
いくつかの実装では、ユーザのプリファレンスインタフェース302は、ゲームビューのフィルタとして機能するように構成され、選択されたフィルタリング基準を満たすゲームストリームのビューを提供するために、ユーザによって定義された基準に基づいて様々な推奨されたゲームストリームをフィルタリングする。そのようなフィルタリング基準には、観戦プリファレンスの説明されたカテゴリだけでなく、他のフィルタリングパラメータのいずれかが含まれることができる。
【0061】
いくつかの実装では、ゲームビューのうちの1つを選択すると、ゲームストリームのビューの最大化をトリガし、ゲームストリームビデオのライブ観戦を提供する。
【0062】
図4A、4B、及び4Cは、本開示の実装による、経時的な観戦インタフェースのビューを示す。
【0063】
初期時点では、様々な推奨されたゲームストリームのいくつかの推奨されたゲームビュー402、404、406、408を含む状態400を有する、観戦インタフェースが図4Aに示されている。上述のように、それらのようなゲームビューは、ゲームストリームからの画像またはライブビデオを含むことができ、これらは、本開示で説明されるように、ユーザのプリファレンス及び認識/予測されたアクティビティに基づいて推奨され得る。限定ではなく例として、図示の実装では、ゲームビュー402はゲームストリームS1のものであり、ゲームビュー404はゲームストリームS2のものであり、ゲームビュー406はゲームストリームS3のものであり、ゲームビュー408はゲームストリームS4のものである。
【0064】
図示の実装では、ユーザは、例えば、ゲームビュー402をクリックして、または所定のボタンを押して、またはその他の方法でゲームビュー402を選択して、ゲームストリームS1を観戦したいという自分の希望を指示することによって、ゲームビュー402を選択することができる。これに応じて、観戦インタフェースのビューは、図4Bに示されるような状態410に変更されることにより、ゲームストリームS1は、ユーザによる観戦のためにゲームストリームS1のライブビューを提示する、拡大されたゲームビュー412に示される。さらに、その他の選択されていないが推奨されているゲームストリームS2、S3、及びS4は、それぞれサムネイル/縮小されたビュー414、416、及び418としてインタフェースの側面に沿ってここでは可視である。サムネイルビュー414、416、及び418がシステムによってユーザに推奨されるゲームストリームのビューを提供することが理解されよう。したがって、具体的に推奨されるゲームストリームが経時的に変化するにつれて、サムネイルビューのリストも変化する。
【0065】
例えば、その後の時点では、観戦インタフェースは、図4Cに示されるような状態420を有する。図示の実装では、ユーザはゲームビュー412を介してゲームストリームS1を見続けているが、サイドバー部分に沿ってさらに推奨されるゲームストリームが変化しており、ここではゲームストリームS7、S8、及びS12のゲームビュー422、424、及び426である。推奨されるゲームストリームがゲームストリームで認識/予測されたアクティビティに基づいて決定され、そのようなアクティビティが経時的に変化しているため、どのゲームストリームを観戦するかの推奨は時間的制約があることが理解されよう。つまり、それらの時点でゲームストリーム内に発生するアクティビティ(及びその結果として予測されるアクティビティ)に基づいて、異なる時間に異なるゲームストリームをユーザに推奨するため、推奨は静的なものではなく、経時的に動的に変化している。ユーザがこれら推奨されたゲームストリームから選択することができることによって、現在観戦しているゲームストリームとは異なるゲームストリームの視聴に切り替えることができることが理解されよう。
【0066】
図5は、本開示の実装による、観戦用のプレイヤゲームストリームの自動選択を概念的に示す。
【0067】
いくつかの実装では、システムは、ユーザが観戦するゲームストリームを自動的に選択するように構成されることができ、これは、ユーザのプリファレンス及びゲームストリーム内で発生している現在認識/予測されたアクティビティに基づいていることができる。図示の実装では、ゲームプレイアクティビティは、プレイヤ502、504、506、及び508を含む仮想環境500内で発生している。プレイヤ502、504、506、及び508のいずれも、それに関連付けられたゲームストリームを有することができ、それぞれの視点から観戦することを可能にすることが理解されよう。いくつかの実装では、システムは、プレイヤの位置/運動または他のアクティビティなどのゲームセッションアクティビティを分析し、及び/またはプレイヤのゲームストリームを分析し、観客が関心のありそうなゲームプレイアクティビティを識別する、及び/または予測する。例えば、図示された実装では、予測されたアクティビティ510が仮想環境500内で発生すると予測される。
【0068】
したがって、システムは、ゲームセッションを観戦するように、より具体的には、予測されたアクティビティ510に参加すると予測されるプレイヤを観戦するように観客に自動的に指示することができる。ある時点で、ゲームプレイアクティビティに観客が関心をなくすことがあり、観客が何か他のものを観戦したいことがあることが理解されよう。したがって、いくつかの実装では、システムは、観客が観戦しているゲームセッション/ストリームの認識/監視(参照番号520)を実行し続ける。シーンまたはゲームプレイアクティビティが終了したこと、またはその他の方法で、観客にとって関心のないものになると決定されることを検出すると(参照番号522)、システムは自動的に観客を別のゲームストリームに切り替えてもよく、またはその他の方法で現在のゲームストリームの観戦を終了してもよい(参照番号524)。一部の実装では、シーンまたはアクティビティの終了を検出することは、例えば、現在のゲームストリームで発生するアクティビティのレベル(例えば、武器の発射量、運動量、シーンに参加しているプレイヤ数など)の低下を検出すること、観客がゲームストリームから離れていることを示す観客数の減少を検出すること、仮想環境の新しい領域へのプレイヤの移動を検出することなど、様々な因子に基づいてシステムによって決定されることができる。所与の観戦シーンまたは特定のゲームアクティビティが終了したとき、または関心をなくされたときを検出することにより、システムは自動的に観客をより関心のありそうな別のストリーム(適用された認識/予測から決定されたもの)に移すことができるため、観客が無関心になるのを防ぐことができる。
【0069】
一部の実装では、ゲームストリームの観客のビューを自動的に変えるまたは終了するのではなく、システムは、関心のあるシーンが終了したこと、またはアクティビティに関心がなくなったことが検出されるときに、観客が別のゲームストリームを見たいかどうか、または現在のゲームストリームのビューを停止したいかどうかを観客に尋ねることなどによって観客にプロンプトする。
【0070】
いくつかの実装では、システムは、同じマルチプレイヤセッションのゲームプレイに参加する異なるプレイヤの中から自動的に選択するように構成される。例えば、図示の実装では、プレイヤ502、504、506、及び508はすべて、示される仮想環境500内で、同じゲームセッションのマルチプレイヤゲームプレイに参加している。プレイヤ502、504、506、及び508のそれぞれは、対応するゲームストリーム510、512、514、及び516をそれぞれ有する。いくつかの実装では、システムは(例えば、ゲームストリーム内で認識/予測されたゲームプレイアクティビティ及びユーザのプリファレンスに基づいて)、どのプレイヤゲームストリームが現在観客にとって最適であるかを評価し、どのゲームストリームが観客にとって最も関心のあるものであると現在決定されているかに応じて、異なるプレイヤゲームストリーム間で自動的に切り替えるように構成される。したがって、システムはマルチプレイヤセッション内の様々なプレイヤを監視し、そのゲームストリームが観客にとって最適であると決定されるプレイヤを選択することにより、単一のマルチプレイヤセッション内であっても、観客の見るエクスペリエンスに多様性をもたらすことができる様々なビューを提供する。それらのようなビューが、所与のプレイヤのゲームストリームが観戦するのに関心のあるアクティビティを示している、またはそれを示すと予測されるとシステムが決定する時点で、自動的に提供されることが理解されよう。あるプレイヤから別のプレイヤへの過度の切り替えを防ぐために、いくつかの実装では、別のプレイヤのゲームストリームに切り替える前に、所定の最小時間、所与のプレイヤの観戦が提供される。さらに、いくつかの実装では、上記と同様に、所与のシーンまたはアクティビティが終了したと決定されるまで、所与のプレイヤの観戦が継続するように構成されることができる。
【0071】
また、一部の実装では、ストリームの切り替えが発生するかどうかを決定するためにカスタマイズ可能な値が導入される。例えば、ストリーム関心値は、ゲームストリームのそれぞれについて決定されることができ、ストリーム関心値は(例えば、ゲームアクティビティ及びユーザのプリファレンスに基づいて)観客による所与のストリームで期待される関心を示している。そして、新しいストリームのストリーム関心値が現在のストリームのストリーム関心値を特定の閾値だけ上回る場合、切り替えが発生する。
【0072】
限定ではなく例として、図示の実装では、初期時点で、観客は、プレイヤ508のゲームストリームであるゲームストリーム514を観戦する(参照番号518a)。その後、観客にとってゲームストリーム510の方が興味深いと決定された結果、システムは観客をゲームストリーム514の観戦から、プレイヤ502のゲームストリームであるゲームストリーム510の観戦(参照番号518bで示される)に切り替える。このようにして、観客は、同じマルチプレイヤゲームセッションに参加している様々なプレイヤの視点から、様々なプレイヤゲームストリームの間で関心のあるゲームプレイアクティビティを観戦するようにユーザを自動的に切り替えるタイミングのよい方法で、マルチプレイヤゲームセッションの最適なビューを提供される。
【0073】
図6は、本開示の実装による、ライブ観戦のセグメント間への事前録画されたゲームプレイの挿入を概念的に示す。
【0074】
現在(ライブで)発生している、プレイヤが観戦したい関心のあるゲームプレイが存在しない場合があることが理解されよう。したがって、いくつかの実装では、システムは、他に観戦すべき関心のあるライブコンテンツがない時間に、事前録画されたコンテンツを自動的に提供することができる。
【0075】
例えば、図6の図示の実装では、ユーザの観戦タイムラインが概念的に参照番号600に示されている。様々なシーンのゲームプレイがあり、それらが発生する時間にまたがる横棒として概念的に示される。シーンS1(参照番号602)は、時間T0でユーザがコンテンツを観戦するためにシステムをアクティブにする前に開始され、そのため、観客が観戦を開始したときにはシーンS1はすでに進行中である。ただし、シーンS1は、コンテンツを観戦するためのユーザのプリファレンスにマッチングするゲームプレイとしてシステムによって識別されているため、システムはシーンS1を自動的に録画する。
【0076】
ユーザが観戦を開始しようとするときにシーンS1がすでに進行中であるため、システムはユーザにシーンS1を観戦するように指示せず、むしろユーザが観戦を開始する時間の直前の時間T1で開始し、ユーザにとって関心のある可能性が高いとシステムが決定したシーンでもある、シーンS2(参照番号604)を観戦するようにユーザに指示する。したがって、システムは、ユーザにシーンS2を、シーンS1も同時に発生しているが、自動的に録画/バッファリングされている間に観戦するように指示する。
【0077】
時間T2でのシーンS2の終了時に、システムがユーザにとって関心のある可能性が高いと決定するゲームプレイが現在存在しない可能性がある。この時間中、いくつかの実装では、システムは、ユーザが観戦するために事前録画したシーンS1を挿入することができる。すなわち、システムは、ユーザをライブシーンS2の観戦からシーンS1の録画の観戦に自動的に切り替えることができる。このようにして、システムは、ユーザが関心のありそうなコンテンツをユーザに提供し続けることができ、さらにユーザは、ユーザがシーンS2を観戦していた間に同時に発生していたため、本来であれば見逃していたかもしれないアクティビティ(またはシーンS1のアクティビティの少なくとも一部)を観戦することができる。
【0078】
その後の時間T3では、ユーザは、ライブで発生するシーンS3を観戦するように切り替えられる。したがって、図示された実装では、そのようなコンテンツがライブという意味でアクティブに発生していない場合でも、システムがライブと事前録画されたコンテンツとの間で必要に応じて自動的に切り替えることで、ライブ観戦セグメントの間に事前録画されたシーンが挿入され、ユーザが関心のあるコンテンツを楽しむことを可能にする。事前録画されたシーンの場合、シーンの最初から観戦するためにユーザに提供される時点でシーン自体が完了している必要はないことが理解されよう。それらのような場合、シーンが進行中のゲームプレイを継続していても、ユーザはシーンの最初から観戦を開始するため、ユーザはバッファから提供できる時間遅延方法でシーンを見ている。
【0079】
この概念を拡張すると、一部の実装では、ある程度までゲームプレイがバッファリングされ、これにより、システムが所与の時間に観戦するために自動的に選択するとみなされ得る可能なシーンの範囲が拡大される。すなわち、ユーザは、ライブシーンまたはバッファリングされたシーンを、前述のようにユーザのプリファレンスに従ってどちらがユーザに適していると決定されるかに応じて観戦するように指示され得る。例えば、ユーザは、ユーザの観戦プリファレンスに十分にまたは最もよくマッチングすると決定される、過去N秒/分以内に開始された任意のシーンを観戦するように指示され得る。
【0080】
この概念をさらに拡張すると、一部の実装では、観客によって録画がトリガされることができる。例えば、上述の図4A、4B、及び4Cを引き続き参照すると、ユーザがサムネイル/タイルビュー(例えば、ゲームビュー414、416、418など)の形式でシステムから観戦するゲームストリームの提案を受信する場合、一部の実装では、ユーザは、例えば選択可能なオプションまたは所定のボタンなどによって、録画される所与のゲームストリームをマーク付けするまたは選択することができる。一部の実装では、選択されたゲームストリームのゲームビューはいかなる新しい提案によっても置き換えられず、むしろその後の特定の時点で、ユーザがこのタイルを再生するためにアクティブにすることを選択するまで、ピニングされたタイルとして残る。
【0081】
図7は、本開示の実装による、観戦する異なるゲームストリーム間の移行を概念的に示す。
【0082】
図示の実装では、ユーザは、最初に第一ゲームストリームを観戦し、第一ゲームストリームからのゲームプレイのシーン702のビュー700が提供される。観戦中のゲームプレイはライブで発生しており、ユーザは実質的にリアルタイムでゲームを観戦している。したがって、インジケータ704は、観戦中のシーン702がライブで発生していることをユーザに知らせる。
【0083】
いくつかの実装では、観戦中のプレイヤのプレイヤプロファイルを見るためのオプション706が提供され、これを選択すると、ユーザは、例えば、プレイヤの統計情報、個人情報/人口統計情報、略歴情報だけでなく、プレイヤの他の録画されたゲームストリームへのアクセスなど、現在観戦中のゲームストリームのプレイヤに関する情報にアクセスすることが可能になる。いくつかの実装では、そのような情報を含むプレイヤのプロファイルページが提供され、ゲームプラットフォーム、ソーシャルネットワーク、または他のサイトにリストされることができる。
【0084】
図示の実装では、コメントストリーム707は、ゲームプレイが発生するときに観客からのコメントをリストし、ユーザは、例えば、テキスト入力ボックス、音声からテキストへの変換などによって、コメントストリーム707に現れるテキストコメントを入力することができる。
【0085】
上述のように、いくつかの実装では、システムは、現在観戦しているゲームストリームでのアクティビティが減少したとき、またはゲームプレイの現在のシーンが終了したときを検出し、自動的に別のゲームストリームに切り替えてもよく、またはゲームストリームを変更するようにユーザに促してもよい。例えば、図示の実装では、別のゲームストリームに変更したいかどうかをユーザに尋ねるメッセージ708が表示される。ユーザは、入力デバイス上に割り当てられたボタンを押す、口頭で「はい」または「いいえ」と言うなど、事前定義された入力応答によって「はい」/「いいえ」と応答することができる。
【0086】
図示の実装では、ユーザは、第一ゲームストリームの観戦から第二ゲームストリームの観戦に切り替える。第二ゲームストリームを観戦している場合、ユーザには、ゲームプレイシーン714のビュー712が提供される。ただし、あるゲームストリームの観戦から別のゲームストリームへの変更は、ユーザにとって突然である可能性がある。したがって、いくつかの実装では、観戦する異なるゲームストリーム間で切り替えるときにトランジション効果710が実行される。例えば、いくつかの実装では、観戦中のゲームストリームが新しいストリームに変更されようとしているという通知がユーザに提供される。一部の実装では、現在のストリームの観戦が終了し、その次のゲームストリームへの変更が開始されるまでの残り時間を示すカウントダウンタイマーがユーザのビューにレンダリングされる。
【0087】
いくつかの実装では、観戦するゲームストリーム間で移行する場合、前のゲームストリームはフェードアウトされ、及び/または新しいゲームストリームはフェードインされる。一部の実装では、ゲームストリーム間で移行する場合、新しいゲームストリームに関する情報、例えば、プレイ中のゲームのタイトル、ゲームタイトルのレベル/ステージ/シーン、観戦中のゲームストリームのプレイヤに関する情報、達成しようとしているゲーム目標に関する情報、ゲームプレイで発生したアクティビティの最近の履歴などをユーザに提供する。
【0088】
前述のように、図示の実装では、ユーザはゲームプレイシーン714のビュー712の観戦に移行する。図示の実装では、観戦中のシーンは以前に録画されているため、インジケータ716は、現在観戦しているシーンが録画されたものであり、ライブではないことを示す。いくつかの実装では、現在のゲームプレイがまだ進行中の場合、ユーザが現在のゲームプレイにジャンプするためのオプション718が提供される。一部の実装では、ユーザはゲームプレイを早送りして、ライブで行われている現在のゲームプレイに到達することができる。
【0089】
録画されたゲームプレイを観戦している間、同じゲームプレイ(ライブか録画かを問わず)の観戦中にロギングされた他の観客からのコメントがコメントストリーム719に表示されることが理解されよう。さらに、ユーザは観戦中にコメントを入力することができ、そのようなコメントは、コメントが入力された瞬間に録画されたゲームストリームのタイムコードに関連付けられる。したがって、ユーザのコメントは、録画されたゲームプレイのその後の観戦リプレイ中にコメントストリーム719に表示されることになる。
【0090】
本開示の実装は、他人のゲームプレイを見る観客として機能するユーザを参照して説明されてきた。一部の実装では、関連するヘルパーモードが提供されることにより、観客ユーザは、観戦しているプレイヤのヘルパーとして機能することができ、ユーザが通信、代替のビューなどを通じてヘルプを提供することを可能にするツールが提供される。概して、本開示の目的上、ヘルパーとは、ゲームには参加していないが、ゲームのプレイヤに支援を提供できる人物であることが理解されよう。つまり、ヘルパーは、ビデオゲームに入力を提供するなど、ビデオゲームの実行中のセッションのゲーム状態に直接影響するアクションを実行することができない。ただし、ヘルパーは、コーチング、ガイダンス、支援などを提供することによって、ゲームプレイに参加しているプレイヤを支援することができる。本開示の様々な実装では、他に両立しない場合を除き、観客としてユーザに関する主題のあらゆる記述が、例えば直接か組み合わせてかいずれかで、ヘルパーとして機能するユーザにも適用することができることが理解されよう。
【0091】
図8は、本開示の実装による、ヘルパーモードの機能を提供する方法を概念的に示す。
【0092】
方法の操作800では、ユーザは、ゲームストリーム内のプレイヤのゲームプレイの観戦を開始する。限定ではなく例として、そのような観戦は、本開示の実装による上述のような、ゲームストリームのシステム推奨または自動選択の結果として開始され得る。
【0093】
方法の操作802では、システムはヘルパーモードを開始するための要求を処理する。この要求は、様々な実装ではプレイヤまたは観戦するユーザから発信され得る。いくつかの実装では、プレイヤは、メニューオプションを選択すること、または割り当てられた入力デバイスをアクティブにすることなどによって、現在プレイヤのゲームプレイを見ている1人または複数の観客にヘルプを要求することができる。このような要求は、ゲーム内で所定の達成レベル(例えば、スキル/ステータスレベル、スコア、ハイスコア、ポイント数、キル数、プレイヤが完了しようとしている目標/レベル/ステージの完了を示す達成レベルなど)、ゲームでの最低限のゲームプレイエクスペリエンス(例えば、プレイ時間、プレイしたセッション数など)、またはプレイヤのヘルパーとして機能する観客の適性を定義するその他の測定基準もしくは資格を少なくとも有する観客への要求をフィルタリングするような、適切なヘルプを受信する尤度を高めるために、観客の特定のものを任意選択で対象とすることができる。いくつかの実装では、特定の観客への要求のフィルタリングは、プレイヤによるそのような指定に応じて(例えば、フィルタリングオプションを提供するインタフェース/メニューを通じて)、またはシステムによって自動的に実行される。
【0094】
ゲームプレイを観戦している間に要求を受信する観客には、プレイヤがゲームプレイのヘルプを要求していることを示すメッセージがディスプレイにレンダリングされるなど、通知が表示される場合があり、この通知に、観客は要求を受諾するまたは拒否することによって(例えば、「はい」または「いいえ」を指示する、入力デバイスの割り当てられたボタンなどによって)応答することができる。一部の実装では、要求が最初に所定の時間に観客の特定のサブセットに送信され、所定の時間内に観客が肯定的に応答しない場合、要求は、観客の次のサブセットに送信され、観客が肯定的に応答するまで、同様に続く。いくつかの実装では、観客は、例えば前述の達成レベルまたはゲームプレイエクスペリエンスに基づいて、ヘルプの要求を送信する目的で優先順位付けされる。
【0095】
いくつかの実装では、システムは、プレイヤがゲームプレイで苦戦しているときを自動的に検出し、ヘルプを観客に要求したいかどうかをプレイヤに提案する。いくつかの実装では、前述の認識モデルは、プレイヤが苦戦している、または困難を抱えている状況を認識するように訓練されることができるため、そのような認識は、ヘルプを観客に要求する提案をプレイヤにトリガすることができる。例えば、プレイヤが苦戦している、または困難に直面しているという認識は、因子、例えば、プレイヤの進捗、獲得ポイント、シーンからシーンへの進行、プレイヤの運動、敵のキル数、プレイヤのデス数、プレイヤのヘルス/エネルギーの消耗、またはプレイヤが直面する困難を示すその他の因子などに基づいて、決定される可能性がある。いくつかの実装では、そのような認識は、上記のような因子から決定される所期の進捗率との比較に少なくとも部分的に基づいて決定される。いくつかの実装では、システムは、例えば、上記の因子に基づいて、または予測されたゲームプレイ状況及びプレイヤのスキルレベルに関する情報もしくは予測されたゲームプレイ状況に対処する際のプレイヤの能力もしくは予測された効率の他のインジケータに基づいて、プレイヤが困難に直面する可能性が高いときを予測するように構成される。
【0096】
いくつかの実装では、システムは、観客から発信する要求を処理して、プレイヤにヘルプを提示する。すなわち、観客がプレイヤを観戦している間にゲームプレイ中のプレイヤにヘルプを提示することを可能にするインタフェースを観客に提供する。観客によるそのような要求に応答して、所与の観客がヘルプを提示していることを示す通知をゲーム内でプレイヤに表示することができることが理解されよう。したがって、プレイヤは、ヘルプの提示を受諾するまたは拒否することによって(例えば、入力デバイス上のボタンを押して受諾/拒否を示すことによって)要求に応答することができる。上述のように、いくつかの実装では、システムは、プレイヤがゲームプレイ中に困難を抱えている、または苦戦しているときを認識するまたは予測することができるため、いくつかの実装では、システムは、そのような認識または予測に応答してプレイヤにヘルプを提示するように観客に促すことができる。いくつかの実装では、前述のような観客の推奨は、プレイヤの困難の認識または予測に少なくとも部分的に基づいて優先順位付けされることができることにより、それらのようなプレイヤは観客によるヘルプの候補になることができる。いくつかの実装では、システムは、観客の支援を要求するまたは受諾する可能性が高いプレイヤの観戦に観客が参加したいことを指定することを可能にする。
【0097】
観客がプレイヤのヘルプ要求を受諾するか、プレイヤが観客のヘルプの提示を受諾するかいずれかに応答して、方法の操作804では、ヘルパーモードを開始することにより、観客がプレイヤに支援を提供することが可能になる。いくつかの実装では、これには、プレイヤと観客ヘルパーとの間で通信チャネル806を開始することが必要となり得る。いくつかの実装では、通信チャネルは、プレイヤと観客ヘルパーとの間のテキスト通信、音声通信、またはビデオ通信を可能にすることができる。いくつかの実装では、そのようなビデオ通信は、交換されるプレイヤ及び観客のカメラビューを含むことができるだけでなく、別のゲームストリームの録画されたゲームプレイなど、他の形式のビデオを観客がプレイヤにストリーミングすることをさらに可能にすることもできる。いくつかの実装では、ビデオ通信は、プレイヤとは異なる観客の(例えば、以下でさらに詳細に説明されるように、仮想環境内の異なる位置/視点からの)代替のゲームビューを含むことができる。すなわち、観客のビューをプレイヤにストリーミングすることにより、プレイヤは、例えば、ゲーム環境内の他の位置で他のプレイヤのゲームプレイを見ることが可能になる。上述のようなビデオ通信により、観客が状況/戦闘の異なる戦術的対処を実演すること、または異なる経路を使用することなどによって、プレイヤを助けることが可能になることが理解されよう。
【0098】
いくつかの実装では、通信チャネルを介したプレイヤと観客との間の通信は、それらのような通信を他のプレイヤまたは観客が知らされていないという点でプライベートである。他の実装では、通信チャネルを介したプレイヤと観客ヘルパーとの間の通信は、それらのような通信を他のプレイヤまたは観客が見る/聞くことが可能になるという点で、少なくとも部分的に公開されている。一部の実装では、プレイヤと観客ヘルパーとの間のテキスト通信は、コメントストリームなどの他の通信ストリームとは別の専用ストリームに表示される。
【0099】
いくつかの実装では、ヘルパーモードは可視化の制御808が発生することを可能にすることにより、観客ヘルパーは、制御操作のグラフィック表示によってプレイヤに可視化される制御操作をプレイヤに実演することができる。例えば、コントローラ(またはコントローラに含まれるボタン、ジョイスティックなどの入力デバイス)のグラフィック表示をプレイヤに提供し、観客ヘルパーは同様のコントローラを使用して、コントローラのグラフィック表示によってプレイヤに可視化されるコントローラ入力アクティブ化シーケンスを提供することができる。例えば、観客ヘルパーは、プレイヤの実演として一連のボタン押下またはジョイスティック操作を実行することができ、これらはコントローラのグラフィック表示上に可視化される。このようにして、観客は、ゲーム自体に直接反映されるいずれかのアクティビティを実行することによってではなく、ゲームプレイ内の所与の状況を克服するために必要な特定のボタンの組み合わせなど、コントローラ入力シーケンスをプレイヤに実演することによって、プレイヤを支援することができる。
【0100】
図9は、本開示の実装による、ゲームプレイ仮想環境の独立したビューを提供される観客ヘルパーを概念的に示す。
【0101】
いくつかの実装では、観客ヘルパーは、プレイヤのゲームストリームを見ている通常の観客としてプレイヤのゲームプレイを見ることができるだけでなく、仮想環境の独立したビューにアクセスすることもできることによって、仮想環境内で、プレイヤのビューの位置/方向とは異なるビューの位置/方向から仮想環境のビューを取得することもできる。
【0102】
例えば、図示された実装では、初期時点で、プレイヤは仮想環境900内にビュー位置P0を有する。この初期時点では、観客ヘルパーのビュー位置がプレイヤのビュー位置を追跡するように、観客ヘルパーが通常の観客としてプレイヤのゲームストリームを見ているため、観客ヘルパーは、P0と同じビュー位置H0を有する。しかしながら、図示された実装では、観客ヘルパーは、プレイヤから離れて、プレイヤのビューから仮想環境の独立したビューを得ることができる。したがって、プレイヤのビュー位置がビュー位置P1に移動した後、観戦ヘルパーのビュー位置は、位置P1とは異なるビュー位置H1に移動する。その結果、ここでは、観客ヘルパーは、プレイヤとは異なる視点から仮想環境900を見ている。
【0103】
上記ではプレイヤ及び観客ヘルパーのビュー位置を参照して説明されてきたが、同様の概念がビュー方向にも同様に適用されることが理解されよう。
【0104】
いくつかの実装では、観客ヘルパーに仮想環境の独立したビューを提供するために、クラウドゲームシステムは、観客ヘルパーのために追加のビデオストリームをレンダリングするように構成される。したがって、観客ヘルパーが、観客のインタフェースを通じて対応するオプションを選択することなどにより、プレイヤのビューから離れることを選択すると、これにより、観客ヘルパーに対する追加のビデオストリームのレンダリングの開始がトリガされる。観客ヘルパーに提供されるビューがここでは観客ヘルパーによって(例えば、観客ヘルパーによって操作される入力/コントローラデバイスによって)独立して制御され、より具体的には、観客ヘルパーがプレイヤとは別個の仮想ビュー位置/方向を制御していることが理解されよう。
【0105】
一部の実装では、観客ヘルパーのビュー機能は、プレイヤのキャラクタ/アバタのプロパティと同様のプロパティでインスタンス化される。つまり、観客ヘルパーがゲーム内の別のキャラクタ/アバタを制御していないが、観客ヘルパーのビュー機能は、プレイヤのビュー機能と同様の別のキャラクタのビュー機能と同様の制限を受ける。例えば、いくつかの実装では、プレイヤのキャラクタは仮想環境900内の壁または他のオブジェクトを通って移動することができないが、観客ヘルパーもそれらのような壁またはオブジェクトを通ってビュー位置を移動させることができない。いくつかの実装では、観客ヘルパーのビューは、仮想環境内で可視でなく(例えば、プレイヤビューまたは他の観客ビューをレンダリングするときに、レンダリング目的で光のゼロ反射及び/または100%透過を示し)、仮想環境内の観客エンティティの運動を制限するなど、観客エンティティに影響するが、仮想環境内の他のオブジェクトまたはキャラクタに影響しないため、観客エンティティの運動による影響を受けない一方向の衝突/物理ルールの影響を受ける観客エンティティタイプをインスタンス化することによって生成される。いくつかの実装では、観客エンティティは、プレイヤまたは観客ヘルパーにのみ可視な方法でレンダリングされるため、他のプレイヤ及び観客は観客エンティティを見ることができない。
【0106】
観客ヘルパーに独立したビューを提供することによって、観客ヘルパーがプレイヤに接続されなくなるが、ゲームの他のエリアに離れることができることが理解されよう。例えば、観客ヘルパーは、プレイヤがまだ訪れていないエリアを探索し得、それらのようなエリアについてプレイヤに教えることができる。あるいは、観客ヘルパーがプレイヤとは異なるエリアにあるオブジェクトを発見し得、それらのような発見をプレイヤに報告して、プレイヤのゲームプレイを支援することもある。
【0107】
いくつかの実装では、観客ヘルパーは、互いの相対的な位置に関係なく、プレイヤと通信することができる。他の実装では、観客ヘルパーは、プレイヤと通信するために、プレイヤから所定の距離内にいるなど、プレイヤの所定の近傍内にいる必要がある。例えば、図示の実装を参照すると、観客ヘルパーは、プレイヤの位置P1に近い通信ゾーン902内にいるように戻る必要がある場合がある。いくつかの実装では、通信ゾーン902は、プレイヤの位置の半径R1内の領域として画定される。
【0108】
いくつかの実装では、観客ヘルパーがプレイヤの位置、またはプレイヤに近い位置(例えば、プレイヤに隣接する位置、プレイヤのすぐ後ろの位置など)に自動的に戻ることを可能にする機能が提供される。
【0109】
実装が特定のプレイヤに支援を提供する観客ヘルパーの文脈で説明されてきたが、実装によっては、観客ヘルパーは2人以上のプレイヤを同時に支援することができる。いくつかの実装では、観客ヘルパーと複数のプレイヤとの間の通信が互いの間で共有される。
【0110】
図10は、本開示の実装による、仮想環境内で支援を提供するために異なる時間に異なるプレイヤのところに移動する観客ヘルパーを概念的に示す。
【0111】
図示の実装では、数人のプレイヤが仮想環境1000でビデオゲームのゲームプレイに参加しており、これら数人のプレイヤは、それぞれプレイヤキャラクタPC1、PC2、PC3、及びPC4を制御し、それらによって表される。観客ヘルパーもプレイヤに支援を提供することを行っている。観客ヘルパーの有効性を高めるために、いくつかの実装では、システムは、ゲームプレイ中の所与の時間に、プレイヤのうちの所与の1人を助けるように観客ヘルパーに指示する、または推奨する。例えば、図示の実装では、時間T1に、システムは観客ヘルパーにプレイヤキャラクタPC1を助けるように指示し、または推奨し、その後の時間T2に、システムは観客ヘルパーにプレイヤキャラクタPC4を助けるように指示し、または推奨し、その後の時間T3に、システムは観客ヘルパーにプレイヤキャラクタPC3を助けるよう指示する、または推奨する。
【0112】
いくつかの実装では、システムは、例えば、各プレイヤが経験している困難の量の検出及び定量化に基づいて、最も支援を必要としていると決定されるプレイヤキャラクタに観客ヘルパーを誘導(または推奨)する。どのプレイヤが最も支援を必要としているかを決定することは、例えば、各プレイヤが獲得したポイント数またはその他の達成度、ゲームプレイ中にそのようなポイントまたは達成が得られる割合、最近の運動または最近のアクティビティの量、ゲームプレイ中のプレイヤのデス量または割合など、いくつかの因子に基づいて決定されることができる。最も必要としているプレイヤを支援するように観客ヘルパーに指示することで、複数のプレイヤを支援する際、観客ヘルパーの有効性を向上させることができる。
【0113】
観客ヘルパーが所与のプレイヤを支援した後、別のプレイヤがさらに支援を必要とする可能性があるため、観客ヘルパーを次のプレイヤに誘導することができることが理解されよう。このようにして、観客ヘルパーが常に挑戦し続け、関心をなくす可能性が低くなり、さらに、最も必要とする人を助けることでゲームプレイへの影響を最大にすることができる。
【0114】
いくつかの実装では、プレイヤ/チーム間の競争ゲームの場合、観客ヘルパーがいると、そのプレイヤ/チームが有利になることができ、観客ヘルパーがいないプレイヤ/チームに対してゲームプレイが公正でなくなる可能性がある。したがって、公正を促進するために、一部の実装では、システムは、プレイヤ/チームのバランスを取るために観客ヘルパーを補充するように構成される。例えば、あるプレイヤ/チームにはヘルパーがいるが、他のプレイヤ/チームにはヘルパーがいない場合、システムは自動的に観客に、観客ヘルパーがいないプレイヤ/チームのヘルパーとして参加するように要求してもよく、または観客ヘルパーがいないプレイヤ/チームに、観客にヘルパーとして参加するように要求する提案を表示してもよい。プレイヤ/チーム間で観客ヘルパーのバランスを保つ前述の概念がチームまたはプレイヤごとに複数の観客ヘルパーのバランスを保つことにも及ぶことが理解されよう。
【0115】
いくつかの実装では、様々なプレイヤ/チームへの支援の提供のバランスを保つために、システムは、AIボットヘルパーをスポーンするように構成され、AIボットヘルパーは、ヘルパーエンティティの分散のバランスを取るようにプレイヤまたはチームに割り当てられることができる。考慮事項のバランスに関係なく、ゲームプレイを支援する目的で、個々のプレイヤまたはチームにもAIボットヘルパーをスポーンすることができることが理解されよう。一部の実装では、AIヘルパーモデルは、特定のゲーム及びシーンにおける実際の観客ヘルパーの録画されたアクティビティに基づいて訓練され、そのようなAIヘルパーモデルは、ゲーム内に展開されるときにAIボットヘルパーのアクションを管理するために使用される。したがって、AIボットヘルパーは、前述されるように観客ヘルパーのアクティビティを実行するように構成され、訓練されることができる。
【0116】
本開示の実装がビデオゲームの文脈で説明されてきたが、本開示の原理が他の種類のシミュレーションまたはインタラクティブアプリケーションに適用されることができることが理解されよう。一部の実施形態では、ビデオゲームは、ゲーム機、パーソナルコンピュータ、またはサーバ上でローカルに実行される。場合によっては、ビデオゲームはデータセンタの1つ以上のサーバによって実行される。ビデオゲームが実行されるとき、ビデオゲームのいくつかのインスタンスは、ビデオゲームのシミュレーションであり得る。例えば、ビデオゲームは、ビデオゲームのシミュレーションを生成する環境またはサーバによって実行され得る。シミュレーションは、いくつかの実施形態では、ビデオゲームのインスタンスである。他の実施形態では、シミュレーションはエミュレータによって生成されてもよい。いずれの場合でも、ビデオゲームがシミュレーションとして表現されている場合、そのシミュレーションは、ユーザ入力によってインタラクティブにストリーミング、実行、及び/または制御できるインタラクティブコンテンツをレンダリングするために実行することができる。
【0117】
本開示の実装は、ゲームエンジンの開発に、もしくはゲームエンジンと組み合わせて利用されることができ、またはゲームエンジンの一部として含まれることができる。大まかに言えば、ゲームエンジンは、ビデオゲームの効率的な開発を可能にする特徴を提供するソフトウェア開発フレームワークである。ゲームエンジンは、限定ではなく例として、グラフィックスレンダリング(例えば、頂点処理、ポリゴン処理、シェーディング、ライティング、テクスチャリングなどを含む)、サウンド、物理演算(衝突処理を含む)、アニメーション、スクリプティング、人工知能、ネットワーキング、ストリーミング、メモリ管理、スレッディング、ローカリゼーションサポート、シーングラフ、シネマティクスなどを含む、ゲーム機能の様々な態様を処理するように再利用可能なモジュールを有するソフトウェアライブラリを含むことができる。
【0118】
ゲームエンジンは、ゲームコンソール、モバイルデバイス、パーソナルコンピュータなどの様々なハードウェアプラットフォームに最適化されることができる。限定ではなく例として、ゲームエンジンは、プラットフォームに応じてメモリ使用(例えば、グラフィックスパイプラインで様々なタスクに優先順位付けする方法など)を最適化することができる。いくつかの実装では、ハードウェアは、ゲームコンソールなどの何らかの特定の処理エンティティのブレードバージョンであってもよい。したがって、ユーザは特定のブレードに割り当てられ得、この特定のブレードは、コンソールゲームに最適化されたものと同じハードウェアを与える。
【0119】
ストリーミング及び/または他のサービス(パケット化、エンコード、サービス品質(QOS)監視、帯域幅テスト、ソーシャルネットワーク/フレンドへのアクセスなど)を提供するゲームサーバロジックも存在し得ることが理解されよう。
【0120】
一部の実装では、クラウドインフラストラクチャは、ハイパーバイザを実行する場合があり、このハイパーバイザは、ハードウェアを抽象化し、オペレーティングシステム(OS)をロードすることができる仮想マシンフレームワークを提供する。したがって、スタックには、ハイパーバイザによってインスタンス化され、基礎となるハードウェアにロードされる、仮想マシン(VM)にロードされる、OS上で実行するアプリケーション/ビデオゲームが含まれる場合がある。このように、アプリケーションの実行は、必ずしも特定のハードウェアに結合されていない。
【0121】
一部の実装では、アプリケーション/ビデオゲームは、コンテナ上で実行され得ると、アプリケーション層で抽象化され、コード及び依存関係を合わせてパッケージ化するため、OSまたはハードウェアプラットフォームに依存しないソフトウェア開発が可能になり、プラットフォーム間でのソフトウェアの移植性が容易になる。
【0122】
いくつかの実施態様では、ゲームエンジンの異なる部分が異なる計算エンティティによって処理されることができる分散型ゲームエンジンが採用されている。例えば、物理エンジン、レンダリングエンジン(2D/3Dグラフィックス)、サウンド、スクリプト、アニメーション、AI、ネットワーキング、ストリーミング(エンコーディング)、メモリ管理、スレッド化などのゲームエンジンの機能は、多くの異なる計算に分散されている異なる機能処理ブロック及び/またはサービスに分割されることができる。分散型ゲームエンジンの場合、レイテンシ問題を回避するために低レイテンシ通信が必要とされることが理解されよう。所望のフレームレートを維持するには、計算と通信の合計時間が特定の制約を満たす必要がある。従って、プロセスをより短い時間で完了することが可能かどうかに応じて、特定のタスクを分割することが効率的である場合とそうでない場合がある。
【0123】
分散型ゲームエンジンを使用する利点は、ニーズに応じてコンピューティングリソースをスケールアップまたはスケールダウンできるエラスティックコンピューティングを利用できることである。例えば、単一ハードウェアサーバ上で従来実行される大規模なマルチプレイヤゲームでは、例えばプレイヤが約100人になった後、ハードウェアリソースが制限されるようになるため、それ以上プレイヤを追加することができない。ゲームは追加のプレイヤをキューイングする可能性があり、これは、プレイヤがゲームに参加するまで待たなければならないことを意味する。ただし、分散型ゲームエンジンでは、エラスティッククラウドコンピューティングリソースを使用することで、需要に合わせてさらに多くの計算ノードを追加することができるため、例えば数千人のプレイヤが有効になることができる。ゲームは特定のハードウェアサーバの制限によって制約されなくなる。
【0124】
したがって、クラウドゲームエンジンは、様々な処理エンティティに機能を分散させることができる。異なる機能が異なるフレームワークで実行されることができることが理解されよう。例えば、一部の機能(ソーシャルなど)はコンテナで実行することがより簡単な場合があるが、グラフィックスはGPUに接続されたVMを使用して実行することがより適切な場合がある。
【0125】
クラウドゲームエンジンの機能の分散を容易にするために、分散/同期層は、例えば、ジョブの送信、データの返信、どのタスクがいつ実行されるかの識別、キューイングの処理(ジョブが必要以上に早く終了した場合など)など、ジョブの分散を管理することができる。一部の実装では、必要に応じて、所与のタスクを動的に細分化することができる。例えば、アニメーションはライティングを有することができ、ライティングが特に複雑である場合、ライティングを3つのライティングジョブに細分化し得、これら3つのライティングジョブをコンピューティングのために送信し、返信時に再アセンブルする。従って、ゲームエンジン機能は、さらなる作業が必要な場合に細分化され得る。
【0126】
クラウドサービスプロバイダは、例えば、1秒あたりの入出力操作(「IOPS」)の特定のパフォーマンスレベルで計算を提供する。従って、ゲーミングプロバイダは、クラウドサービスプロバイダからVM、専用の処理能力、メモリ量などを指定することができ、クラウドサービスプロバイダのシステムを使用して分配されたクラウドゲームエンジンをインスタンス化する。
【0127】
一部の実装では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンの1つまたは複数のコンポーネントまたはモジュールであることができる。一部の実装では、ライブラリモジュール及び更新ハンドラは、別個のコンポーネントであることができ、または統合されることができる。一部の実装では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンへの追加として動作する場合がある。いくつかの実装では、ゲームエンジンは、上述されるように、分散型ゲームエンジンであることができる。
【0128】
前述のように、本開示の実施態様は、クラウドゲームシステムに適用され得る。クラウドゲームシステムの一例は、Playstation(登録商標)Nowクラウドゲームシステムである。そのようなシステムでは、クライアントデバイスは、Playstation(登録商標)4もしくはPlaystation(登録商標)5のゲームコンソールなどのゲームコンソールであることができる、またはパーソナルコンピュータ、ラップトップ、タブレット、携帯電話、モバイルデバイスなどの別のデバイスであり得る。
【0129】
概して、ゲームタイトルのユーザ要求が受信されると、クラウドゲームを有効化するために、クラウドゲームサイトに対応付けられたデータセンタ内の1つ以上のサーバによりいくつかの動作が実行される。クラウドゲームサイトがユーザ要求を受信すると、選択されたゲームタイトルに対応付けられたゲームをホストするデータセンタが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンタに要求が送信される。要求に応じて、データセンタのサーバは、ゲームコンテンツをユーザに提示する準備として、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに対応付けられたゲームデータには、一般的なゲームデータと、ユーザ固有のゲームデータとが含まれ得る。従って、ファイルを初期化することは、一般的なゲームデータ及びユーザ固有のゲームデータの両方を識別し、ロードし、初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックエンジンを初期化すること、グラフィックデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすることなどを含み得る。ユーザ固有データを初期化することは、ユーザデータ、ユーザ履歴、ゲーム履歴などを検索すること、転送すること、及びインストールすることを含み得る。
【0130】
一般的なゲームデータがロードされており、初期化されている間、クライアントデバイスでのレンダリング用に「スプラッシュ」画面が提供される場合がある。スプラッシュ画面は、ロードされているゲームの代表的な画像を提供するように設計され、ロードされているゲームの好例をユーザが下見することを可能にし得る。一般的なゲームデータがロードされると、特定の初期コンテンツがレンダリングされ得、選択/ナビゲーション画面が、ユーザ選択及びカスタマイズのために提示され得る。選択/ナビゲーション画面で入力されるユーザ選択には、ゲームレベルの選択、ゲームアイコン(複数可)の選択、ゲームモードの選択、ゲームの獲得物、及び追加のゲームコンテンツのアップロードが必要となり得る他のユーザ関連データが含まれ得る。いくつかの実施形態では、ゲームコンテンツは、クラウドゲームシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることにより、視聴及びインタラクションに利用可能となる。いくつかの実施態様では、ユーザ固有のデータをロードした後、ゲームコンテンツがゲームプレイに利用可能になる。
【0131】
図11Aは、本開示の実施態様による、クラウドゲームサイトを通して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。
【0132】
システムは、ネットワーク1102を介してクラウドゲームサイト1104に通信可能に接続された複数のクライアントデバイス1100を含み、ネットワーク1102は、LAN、有線、無線、セルラー(例えば、4G、5Gなど)、またはインターネットを含む任意の他のタイプのデータネットワークを含むことができる。クラウドゲームサイト1104にアクセスする要求がクライアントデバイス1100から受信されると、クラウドゲームサイト1104は、ユーザデータストア1108に格納されたユーザアカウント情報1106にアクセスし、要求を発信したクライアントデバイスに対応付けられたユーザを識別する。いくつかの実施形態では、クラウドゲームサイトはまた、ユーザが閲覧/プレイすることを許可されているすべてのゲームを判定するために、識別されたユーザを検証することができる。ユーザアカウントの識別/検証に続いて、クラウドゲームサイトは、ゲームタイトルデータストア1110にアクセスして、要求を開始するユーザアカウントのためにゲームクラウドサイトで利用可能なゲームタイトルを識別する。今度は、ゲームタイトルデータストア1110が、ゲームデータベース1112とインタラクトして、クラウドゲームサイトが利用可能な全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース1112はゲームコードが更新され、ゲームタイトルデータストア1110は、新たに導入されたゲームのゲームタイトル情報を提供される。要求が開始されたクライアントデバイスは、要求が開始されたときにクラウドゲームサイトに登録されている場合とされていない場合がある。要求を開始するクライアントデバイスのユーザが登録ユーザでない場合、クラウドゲームサイトは、そのユーザを新しいユーザとして識別して、新規ユーザに適切なゲームタイトル(例えば、ゲームタイトルのデフォルトのセット)を選択することができる。図11Aに示されるように、特定されたゲームタイトルは、ディスプレイ画面1100-aに提示するようにクライアントデバイスに返される。
【0133】
クライアントデバイスでレンダリングされたゲームタイトルの1つでのユーザインタラクションが検出され、信号がクラウドゲームサイトに送信される。信号には、ユーザインタラクションが検出されたゲームタイトル情報と、ゲームタイトルで登録されたユーザインタラクションとが含まれる。クライアントデバイスから受信した信号に応じて、クラウドゲームサイトは積極的に、ゲームがホストされているデータセンタを特定し、特定したデータセンタに信号を送信して、ユーザインタラクションが検出されたゲームタイトルに対応付けられたゲームをロードする。いくつかの実施形態では、複数のデータセンタがゲームをホストしている場合がある。このような実施形態では、クラウドゲームサイトは、要求を発信したクライアントデバイスの地理的位置を特定し、クライアントデバイスに地理的に近いデータセンタを識別し、データセンタにゲームをプリロードするように信号を送信し得る。ユーザの地理的位置は、いくつか例を挙げると、クライアントデバイス内の全地球測位システム(GPS)メカニズム、クライアントのIPアドレス、クライアントのping情報を使用して、特定され得る。当然ながら、ユーザの地理的位置を検出する前述の方法は例示であり得、他の種類のメカニズムまたはツールを使用して、ユーザの地理的位置を特定してもよい。クライアントデバイスに近いデータセンタを識別することにより、ユーザがゲームとインタラクトする際のレイテンシを最小限に抑えることができる。いくつかの実施形態では、識別されたデータセンタは、ゲームをホストするのに必要な帯域幅/処理能力を有さない場合がある、または過使用されている場合がある。これらの実施形態では、クラウドゲームサイトは、クライアントデバイスに地理的に近い第2のデータセンタを識別し得る。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。
【0134】
クラウドゲームサイトからの信号を受信することに応答して、識別されたデータセンタは、データセンタでサーバを選択して、サーバ上でゲームをインスタンス化することができる。サーバは、利用可能なハードウェア/ソフトウェアの処理能力及びゲーム要件に基づいて選択される。サーバは、複数のゲームコンソールを含み得、サーバは、ゲームをロードするのに、複数のゲームコンソールのうちのどのゲームコンソールを使用するかを決定し得る。ゲームコンソールは、独立したゲームコンソールに類似し得る、またはラックマウントサーバもしくはブレードサーバであり得る。ブレードサーバは、次に、複数のサーバブレードを含み得、各ブレードは、ゲームなどの単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然ながら、前述のゲームコンソールは例示であり、限定として見なされるべきではない。ゲームステーションなどを含む他の種類のゲームコンソール、及び他の形態のブレードサーバも、識別されたゲームをホストするために用いられてよい。
【0135】
ゲームコンソールが識別されると、そのゲームの一般的なゲーム関連コードはゲームコンソールにロードされ、ゲームをインスタンス化するゲームコンソールを識別する信号は、ネットワーク経由でクラウドゲームサイトを介してクライアントデバイスに返される。従って、ロードされたゲームはユーザが利用できるようになる。
【0136】
図11Bは、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な操作を概念的に示すフロー図である。
【0137】
ゲームシステム1118は、ビデオゲームを実行し、生の(非圧縮の)ビデオ1120及びオーディオ1122を生成する。ビデオ1120及びオーディオ1122は、例示の図の参照番号1124に示されるように、ストリーミングのために取り込まれ符号化される。符号化は、ビデオ及びオーディオストリームの圧縮を提供して、帯域幅の使用量を低減し、ゲーム体験を最適化することができる。符号化形式の例には、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9、等が含まれる。
【0138】
符号化されたオーディオ1126及び符号化されたビデオ1128はさらに、インターネットなどのネットワークを介して送信するために、参照番号1132に示されるように、ネットワークパケットにパケット化される。ネットワークパケットエンコーディングプロセスは、データ暗号化プロセスを採用することもでき、それにより、強化されたデータセキュリティをもたらす。例示の実施態様では、オーディオパケット1134及びビデオパケット1136は、参照番号1140に示されるように、ネットワークを介して転送するために生成される。
【0139】
ゲームシステム1118はさらに、触覚フィードバックデータ1130を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。例示の実施態様では、触覚フィードバックパケット1138は、参照番号1140でさらに示されるように、ネットワークを介して転送するために生成される。
【0140】
生のビデオ及びオーディオ及び触覚フィードバックデータを生成し、ビデオ及びオーディオを符号化し、転送用の符号化されたオーディオ/ビデオ及び触覚フィードバックデータをパケット化する前述の操作は、クラウドゲーミングサービス/システムを集合的に規定する1つ以上のサーバ上で実行される。参照番号1140に示されているように、オーディオ、ビデオ、及び触覚フィードバックパケットは、インターネットなどの、及び/またはインターネットを含むネットワークを介して転送される。参照番号1142に示されるように、オーディオパケット1134、ビデオパケット1136、及び触覚フィードバックパケット1138は、クライアントデバイスによりパケット化解除/再構築され、クライアントデバイスにて、符号化されたオーディオ1146、符号化されたビデオ1148、及び触覚フィードバックデータ1150が定義される。データが暗号化されている場合、ネットワークパケットも復号される。次に、符号化されたオーディオ1146及び符号化されたビデオ1148は、参照番号1144に示されるように、クライアントデバイスにより復号化され、クライアント側の生のオーディオ及びビデオデータが生成され、ディスプレイデバイス1152上にレンダリングされる。触覚フィードバックデータ1150は、処理/通信され、触覚効果をレンダリングすることができるコントローラデバイス1156または他のインタフェースデバイスにて、触覚フィードバック効果が生成される。触覚効果の一例は、コントローラデバイス1156のバイブレーションまたはランブルである。
【0141】
ビデオゲームはユーザ入力に応答し、その結果、ユーザ入力の送信及び処理について上述した同様の手順フローを実行できるが、クライアントデバイスからサーバへの逆方向で実行され得ることが理解されよう。示されるように、コントローラデバイス1156を操作するユーザは、入力データ1158を生成し得る。この入力データ1158は、ネットワークを介してクラウドゲームシステムに転送するために、クライアントデバイスでパケット化される。入力データパケット1160は、クラウドゲームサーバによりパケット化解除及び再構築されて、サーバ側で入力データ1162が定義される。入力データ1162は、ゲームシステム1118に供給され、ゲームシステム1118は、入力データ1162を処理して、ビデオゲームのゲーム状態を更新する。
【0142】
オーディオパケット1134、ビデオパケット1136、及び触覚フィードバックパケット1138の転送中(参照番号1140)、クラウドゲームストリームのサービス品質を保証するために、ネットワークを介したデータの送信が監視され得る。例えば、参照番号1164によって示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態が監視されることができ、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整されることができる。すなわち、ネットワークパケットの符号化及び復号化は、参照番号1166によって示されるように、現在のネットワーク状態に基づいて制御されることができる。
【0143】
図12は、本開示の実施態様による、情報サービスプロバイダアーキテクチャの実施形態を示す。
【0144】
情報サービスプロバイダ(ISP)1270は、地理的に分散し、ネットワーク1286を介して接続されたユーザ1282に多数の情報サービスを提供する。ISPは、株価の更新などの1種類だけのサービス、または放送メディア、ニュース、スポーツ、ゲーミングなどの様々なサービスを送達できる。さらに、各ISPによって提供されるサービスは動的であり、つまり、サービスはどの時点でも追加または削除できる。したがって、特定の個人に特定の種類のサービスを提供するISPは、時間の経過と共に変化し得る。例えば、ユーザが地元にいる間、ユーザ付近のISPにより、ユーザはサービスを受けることができ、ユーザが別の町に移動した時、異なるISPにより、ユーザはサービスを受けることができる。地元のISPは、必要な情報及びデータを新しいISPに転送し、これにより、ユーザ情報は新しい街までユーザに「追従」し、ユーザはデータにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザの情報を管理するマスタISPと、マスタISPの制御下のユーザと直接インターフェースで接続するサーバISPとの間に、マスタ-サーバ関係が確立され得る。別の実施形態では、クライアントが世界中を移動すると、データが一方のISPから別のISPに転送され、ISPをこれらのサービスを提供することになるユーザにサービス提供するためのより良い位置にする。
【0145】
ISP1270は、アプリケーションサービスプロバイダ(ASP)1272を含み、これは、ネットワークを介して顧客にコンピュータベースのサービス(例えば、限定されるものではないが、任意の有線または無線ネットワーク、LAN、WAN、WiFi、ブロードバンド、ケーブル、光ファイバ、衛星、セルラー(例えば、4G、5Gなど)、インターネット、等を含む)を提供する。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはサービスとしてのソフトウェア(SaaS)とも称されることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式には、HTTPなどの標準プロトコルが使用される。アプリケーションソフトウェアは、ベンダのシステムに常駐し、HTMLを使用するウェブブラウザを介して、ベンダが提供する専用クライアントソフトウェアを介して、またはシンクライアントなどの他のリモートインターフェースを介して、ユーザによりアクセスされる。
【0146】
広い地理的地域にわたって供給されるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合仮想化されたリソースがインターネット経由のサービスとして提供される、コンピューティング様式である。ユーザは、ユーザを支援する「クラウド」の技術インフラストラクチャの専門家である必要はない。クラウドコンピューティングは、インフラストラクチャアズアサービス(IaaS)、プラットフォームアズアサービス(PaaS)、及びソフトウエアアズアサービス(SaaS)などの様々なサービスに分けられ得る。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータはサーバ上に記憶される。クラウドという用語は、インターネットが、どのようにコンピュータネットワーク図に描かれているか、かつ、秘匿する複雑なインフラストラクチャの抽象化であるかに基づいて、(例えば、サーバ、ストレージ、ロジックなどを使用して)インターネットのメタファーとして使用される。
【0147】
さらに、ISP1270は、シングルビデオゲーム及びマルチプレイヤビデオゲームをプレイするためにゲームクライアントによって使用されているゲーム処理サーバ(GPS)1274を含む。インターネットを介してプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して操作する。通常、ゲームはプレイヤからのデータを収集し、それを他のプレイヤに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的且つ効果的であるが、サーバアプリケーションをホストするために別個のサーバを必要とする。別の実施形態では、GPSは、プレイヤ及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPSに依存せずに情報を交換する。
【0148】
専用GPSは、クライアントとは無関係に稼働するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大部分のPCベースのマルチプレイヤゲームのためのゲームサーバをホスティングするのに好ましい方法である。大規模なマルチプレイヤオンラインゲームは、通常、ゲームタイトルを所有しているソフトウェア会社がホストする専用サーバで実行され、コンテンツの制御及び更新をできるようにする。
【0149】
ブロードキャスト処理サーバ(BPS)1276は、視聴者にオーディオ信号またはビデオ信号を配信する。非常に狭い範囲の視聴者へのブロードキャストは、ナローキャスティングと呼ばれることがある。放送配信の最終工程は、信号が聴取者または視聴者にどのように達するかであり、信号は、ラジオ局またはテレビ局と同様にアンテナ及び受信機に地上波で到来し得るか、または局を介してケーブルテレビもしくはケーブルラジオ(もしくは「無線ケーブル」)を通じて到来し得るか、またはネットワークから直接到来し得る。インターネットはまた、特に、信号及び帯域幅を共有できるマルチキャストを使用して、ラジオまたはテレビのいずれかを受信者に届け得る。歴史的に、放送は、全国放送または地域放送などの地理的領域により範囲が定められてきた。しかしながら、高速インターネットの急増に伴い、コンテンツが世界中のほぼすべての国に届くことができるように、ブロードキャストは地理によって規定されていない。
【0150】
ストレージサービスプロバイダ(SSP)1278は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPはまた、定期的なバックアップとアーカイブも提供する。ストレージをサービスとして提供することにより、ユーザは必要に応じてより多くのストレージを注文することができる。別の大きな利点として、SSPはバックアップサービスを含み、コンピュータのハードドライブに障害が発生しても、ユーザがユーザの全てのデータを失うことはない。さらに、複数のSSPは、ユーザデータの全体的または部分的なコピーを有することができ、これにより、ユーザの位置またはデータアクセスに使用されるデバイスとは無関係に、ユーザは効率的な方法でデータにアクセスすることが可能となる。例えば、ユーザは、ホームコンピュータ内の個人ファイルにアクセスでき、同様に、ユーザが移動している間に携帯電話内の個人ファイルにアクセスできる。
【0151】
通信プロバイダ1280は、ユーザに接続性を提供する。通信プロバイダの一種は、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)である。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバ、無線、または専用の高速相互接続など、インターネットプロトコルデータグラムの提供に好適なデータ伝送技術を使用して、顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージング、及びSMSテキストメッセージなどのメッセージングサービスも提供することができる。通信プロバイダの別の種類として、インターネットへの直接のバックボーンアクセスを提供することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)が挙げられる。ネットワークサービスプロバイダは、電気通信会社、データキャリア、ワイヤレス通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などで構成され得る。
【0152】
データ交換1288は、ISP1270内のいくつかのモジュールを相互接続し、ネットワーク1286を介してこれらのモジュールをユーザ1282に接続する。データ交換1288は、ISP1270のすべてのモジュールが近接している小さな領域をカバーできるか、または異なるモジュールが地理的に分散しているときに、広い地理的領域をカバーできる。例えば、データ交換1288は、データセンタのキャビネット内の高速ギガビットイーサネット(登録商標)(もしくは、それよりも高速)または大陸間仮想エリアネットワーク(VLAN)を含むことができる。
【0153】
ユーザ1282は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス1284を用いてリモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲーミングシステム、PDAなどであり得る。一実施形態では、ISP1270は、クライアントによって使用されるデバイスのタイプを認識し、使用される通信方法を調整する。その他の場合、クライアントデバイスは、htmlなどの標準的な通信方法を使用してISP1270にアクセスする。
【0154】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生用エレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成によって実施してもよい。本開示はまた、有線ベースまたは無線ネットワークを通してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。
【0155】
いくつかの実施形態では、通信は、無線技術を使用して促進され得る。このような技術には、例えば、5G無線通信技術が含まれていてもよい。5Gは第5世代のセルラーネットワーク技術である。5Gネットワークはデジタルセルラーネットワークであり、ここでは、プロバイダがカバーするサービスエリアが、セルと言われる小さい地理的領域に分割される。音及び映像を表すアナログ信号は、電話でデジタル化され、アナログ-デジタルコンバータによって変換され、ビットストリームとして伝送される。セル内のすべての5Gワイヤレスデバイスは、他のセルで再利用される周波数プールからトランシーバによって割り当てられた周波数チャネルを介して、セル内のローカルアンテナアレイ及び低電力自動トランシーバ(送信器及び受信器)と電磁波で通信する。ローカルアンテナは、高帯域幅光ファイバまたは無線バックホール接続によって、電話網及びインターネットに接続される。他のセルネットワークと同様に、あるセルから別のセルに移るモバイルデバイスは、自動的に新しいセルに移される。当然のことながら、5Gネットワークは単に通信ネットワークのタイプ例であり、本開示の実施形態では、前の世代の無線または有線通信、ならびに5Gの後に来る後の世代の有線または無線技術を用いてもよい。
【0156】
上記の実施形態を考慮すると、当然ながら、本開示はコンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施動作を採用することができる。これらの動作は、物理量の物理的操作を必要とする動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は必要な目的に対して特別に構成することもできるし、または装置を、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータとすることもできる。詳細には、本明細書の教示にしたがって書かれたコンピュータプログラムと共に様々な汎用マシンを使用することができる。または、必要な動作を実行するためにさらに特化した装置を構築するほうがより好都合な場合もある。
【0157】
また本開示を、コンピュータ可読媒体上のコンピュータ可読コードとして具体化することができる。あるいは、コンピュータ可読コードは、前述のデータ交換相互接続を使用して、サーバからダウンロードされてよい。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージとすることができる。データはその後にコンピュータシステムによって読み取ることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データストレージを含む。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0158】
方法動作が特定の順序で説明されたが、他のハウスキーピング操作が動作の間に実行されてもよく、または動作が、わずかに異なる時刻に生じるように調整されてもよく、もしくはオーバーレイ動作の処理が所望の手法で実行される限り、処理に関連する様々な間隔で処理動作の発生を可能にするシステム内に分散されてもよいことが理解されるべきである。
【0159】
前述の開示は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。従って、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書に記載される詳細に限定されるべきではなく、説明された実施形態の均等物の範囲内で変更されてよい。
図1
図2
図3
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10
図11A
図11B
図12