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

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

▶ エヌビディア コーポレーションの特許一覧

特許7576567ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること
<>
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図1
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図2
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図3
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図4
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図5
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図6
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図7
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図8
  • 特許-ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-23
(45)【発行日】2024-10-31
(54)【発明の名称】ゲームプレイ・セッションの高い関心の持続時間をユーザ入力から決定すること
(51)【国際特許分類】
   A63F 13/67 20140101AFI20241024BHJP
   A63F 13/497 20140101ALI20241024BHJP
   A63F 13/53 20140101ALI20241024BHJP
   A63F 13/79 20140101ALI20241024BHJP
【FI】
A63F13/67
A63F13/497
A63F13/53
A63F13/79
【請求項の数】 18
(21)【出願番号】P 2021565722
(86)(22)【出願日】2019-09-27
(65)【公表番号】
(43)【公表日】2022-11-04
(86)【国際出願番号】 US2019053647
(87)【国際公開番号】W WO2020263293
(87)【国際公開日】2020-12-30
【審査請求日】2022-06-30
(31)【優先権主張番号】62/868,654
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/586,506
(32)【優先日】2019-09-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521022174
【氏名又は名称】エヌビディア コーポレーション
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】サンデアソン、プラビンディ
【審査官】池田 剛志
(56)【参考文献】
【文献】米国特許出願公開第2018/0161675(US,A1)
【文献】特開2014-121610(JP,A)
【文献】国際公開第2018/140515(WO,A1)
【文献】米国特許出願公開第2018/0078862(US,A1)
【文献】米国特許出願公開第2010/0035689(US,A1)
【文献】特開2008-242082(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00ー13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
ゲームプレイ・セッション時のユーザ入力イベントの頻度の第1の指標を決定するステップと、
前記ゲームプレイ・セッション内の複数の潜在的な関心の持続時間を特定するステップであって、前記ゲームプレイ・セッション時の前記ユーザ入力イベントの頻度の前記第1の指標を前記ゲームプレイ・セッション時の前記ユーザ入力イベントの頻度の第2の指標と比較することに少なくとも部分的に基づき、各潜在的な関心の持続時間を特定するステップと、
各潜在的な関心の持続時間が最小限の長さを下回っているか否かを判断し、ある潜在的な関心の持続時間が最小限の長さを下回っている場合には、その下回っている潜在的な関心の持続時間を前記複数の潜在的な関心の持続時間のうちの少なくとも1つの別の潜在的な関心の持続時間とまとめて、前記複数の潜在的な関心の持続時間のうちの1つの潜在的な関心の持続時間とし、且つ/或いは前記複数の潜在的な関心の持続時間のうちの2つの隣接の潜在的な関心の持続時間が閾値近接度内にあるか否かを判断し、前記2つの隣接の潜在的な関心の持続時間が閾値近接度内にある場合には、その閾値近接度内にある2つの隣接する潜在的な関心の持続時間をまとめて、前記複数の潜在的な関心の持続時間のうちの1つの潜在的な関心の持続時間とするステップと、
潜在的な関心の持続時間に生じる前記ユーザ入力イベントのセットに少なくとも部分的に基づき、潜在的な関心の持続時間に対してユーザ関心スコアを計算するステップと、
前記ユーザ関心スコアが閾値を超えているか否かを判断するステップと、
前記ユーザ関心スコアが前記閾値を超えている場合には、その閾値を超えている潜在的な関心の持続時間の表示をユーザデバイスに提示するステップと
を含む方法。
【請求項2】
前記第2の指標がメトリックを含み、前記メトリックの1つ又は複数の値が、それぞれ異なる単位時間当たりの前記ユーザ入力イベントの量を表し、前記ユーザ入力イベントのそれぞれが、1つ又は複数の事前規定のユーザ入力を表す、請求項1に記載の方法。
【請求項3】
前記ユーザ入力イベントのそれぞれが、それぞれのボタン作動又はそれぞれのボタン作動の組合せを表す、請求項1に記載の方法。
【請求項4】
前記第2の指標が、前記ゲームプレイ・セッション時の前記ユーザ入力イベントの頻度の平均値又はパーセンタイルであり、前記ゲームプレイ・セッション内の前記複数の潜在的な関心の持続時間を特定するステップが、前記第の指標が前記第の指標を超えていると判断するステップを含む、請求項1に記載の方法。
【請求項5】
記ユーザ入力イベントのセットから、前記ゲームプレイ・セッションのゲームに対して事前規定されている1つ又は複数のアクション・コマンドを特定するステップをさらに含み、前記ユーザ関心スコアが、前記1つ又は複数のアクション・コマンドが前記ユーザ入力イベントのセットから特定されるのに基づき上げられ、前記1つ又は複数のアクション・コマンドが、前記ゲームを制御する際に特定の目的を達成することを表す、請求項1に記載の方法。
【請求項6】
記ユーザ入力イベントのセットが前記ゲームプレイ・セッションのゲームに対して事前規定されている1つ又は複数のアクション・コマンドを含んでいないと判断するステップであって、前記ユーザ関心スコアが、前記1つ又は複数のアクション・コマンドが前記ユーザ入力イベントのセットに含まれていないことに基づき下げられる、ステップ
をさらに含む、請求項1に記載の方法。
【請求項7】
前記第2の指標が、前記ゲームプレイ・セッション時の前記ユーザ入力イベントの頻度を含む、請求項1に記載の方法。
【請求項8】
前記ユーザ関心スコアが前記ゲームプレイ・セッション内の潜在的な関心の持続時間の長さに基づき計算される、請求項1に記載の方法。
【請求項9】
前記ユーザ関心スコアが、前記ユーザ入力イベントを生成するために使用される1つ又は複数の入力デバイスの作動速度を使用して計算される、請求項1に記載の方法。
【請求項10】
前記ユーザ入力イベントのうちの1つ又は複数を、非ゲームプレイ・アクティビティに相当するものと特定するステップをさらに含み、前記第2の指標が、非ゲームプレイ・アクティビティに相当すると特定されたものを除外した前記ユーザ入力イベントに基づき計算される、請求項1に記載の方法。
【請求項11】
ゲームプレイ・セッションの期間にわたってユーザ入力イベントの頻度の第1の指標をモニタするステップと、
前記モニタするステップに少なくとも基づき、前記ユーザ入力イベントの頻度の前記第1の指標が前記ユーザ入力イベントの頻度の第2の指標を超えている時間を決定するステップに少なくとも部分的に基づき、前記ゲームプレイ・セッション内の複数の持続時間を規定するステップと、
各持続時間が最小限の長さを下回っているか否かを判断し、ある持続時間が最小限の長さを下回っている場合には、その下回っている持続時間を前記複数の持続時間のうちの少なくとも1つの別の持続時間とまとめて、前記複数の持続時間のうちの1つの持続時間とし、且つ/或いは前記複数の持続時間のうちの2つの隣接の持続時間が閾値近接度内にあるか否かを判断し、前記2つの隣接の持続時間が閾値近接度内にある場合には、その閾値近接度内にある2つの隣接する持続時間をまとめて、前記複数の持続時間のうちの1つの持続時間とするステップと、
持続時間に生じる前記ユーザ入力イベントのセットに少なくとも部分的に基づき、持続時間に対してユーザ関心スコアを計算するステップと、
前記ユーザ関心スコアに少なくとも部分的に基づき選択された前記複数の持続時間のうちの少なくとも1つの持続時間の表示をユーザデバイスに提示するステップと
を含む方法。
【請求項12】
前記時間を決定するステップが、前記第1の指標が前記第2の指標よりも大きいと判断するステップを含み、持続時間の始まり時間が、前記第1の指標が前記第2の指標よりも大きいと判断された時間に基づく、請求項11に記載の方法。
【請求項13】
前記時間を決定するステップが、前記第1の指標が前記第2の指標よりも小さいと判断するステップを含み、持続時間の終わり時間が、前記第1の指標が前記第2の指標よりも小さいと判断された時間に基づく、請求項11に記載の方法。
【請求項14】
前記第2の指標が、前記ゲームプレイ・セッションにわたる前記第1の指標の平均値を含む、請求項11に記載の方法。
【請求項15】
記複数の持続時間のユーザ関心スコアに対して統計値を計算するステップであって、前記少なくとも1つの持続時間の前記表示を提示するステップが、前記ユーザ関心スコアが前記統計値よりも大きいと判断することに基づく、ステップ
をさらに含む、請求項11に記載の方法。
【請求項16】
ユーザ入力イベントの頻度の第1の指標を前記ユーザ入力イベントの頻度の第2の指標と比較することに少なくとも部分的に基づき、ゲームプレイ・セッション内の比較的高いユーザ・アクティビティの複数の持続時間を決定するステップと、
各持続時間が最小限の長さを下回っているか否かを判断し、ある持続時間が最小限の長さを下回っている場合には、その下回っている持続時間を前記複数の持続時間のうちの少なくとも1つの別の持続時間とまとめて、前記複数の持続時間のうちの1つの持続時間とし、且つ/或いは前記複数の持続時間のうちの2つの隣接の持続時間が閾値近接度内にあるか否かを判断し、前記2つの隣接の持続時間が閾値近接度内にある場合には、その閾値近接度内にある2つの隣接する持続時間をまとめて、前記複数の持続時間のうちの1つの持続時間とするステップと、
持続時間に生じる前記ユーザ入力イベントのセットに基づき、持続時間に対してユーザ関心スコアを計算するステップと、
前記ユーザ関心スコアに基づき、前記複数の持続時間のうちの少なくともつを選択するステップと、
前記複数の持続時間のうちの少なくともつの前記選択に基づき、前記複数の持続時間のうちの少なくともつに対応する少なくともつのビデオ・クリップを前記ゲームプレイ・セッションのビデオ・データから特定するステップと、
前記ビデオ・データから特定された前記少なくともつのビデオ・クリップから前記ゲームプレイ・セッションのハイライト・リールを表すデータを生成するステップと
を含む方法。
【請求項17】
前記ハイライト・リールを表す前記データが、前記複数の持続時間のうちの少なくともつに基づき前記ビデオ・データから抽出された前記ビデオ・クリップのビデオ・フレームを表すデータを含む、請求項1に記載の方法。
【請求項18】
続時間が、前記ゲームプレイ・セッション内において前記第1の指標が前記第2の指標を超えていると判断することに少なくとも基づき特定される、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
ゲームプレイ・セッションの特定のセクションが、関心のあるコンテンツ(例えば、より多くのアクション)を含むかどうかを判断することは、様々な場面で役立つことがある。例えば、ゲーマが、ゲームプレイ・セッション全体のビデオ・ファイルを共有又は保存するのではなく、関心のあるコンテンツ(例えば、ゲームの呼び物)を含むゲームプレイ・セッションの選択クリップのみを共有又は保存したいと望むことがある。
【背景技術】
【0002】
ゲームプレイ・セッションの中で関心のあるゲームプレイ部分を特定するいくつかの従来の手法としては、手作業であり、ビデオ・エディタを使ってゲームプレイ・セッションの録画を編集することなど、ユーザの判断に頼る手法がある。そうするために、ゲーミング・アプリケーションのプレイヤ(例えば、ゲーマ)は、ソフトウェアを使用して、自分のゲームプレイ・セッション全体(例えば、多くの場合、30分から1時間以上)をローカル・マシンに録画し、しばしば大きなビデオ・ファイル(例えば、数ギガバイト)になることがある。それにより、ユーザは、ビデオ・ファイルを見て、編集することができる。この作業には膨大な時間とコンピューティング・リソースとが必要であり、ゲームプレイのライブ・セッションから、編集済みゲームプレイ・セッションの録画を共有し且つ/又は見るようになるまでに、大きな遅れが生じる可能性がある。
【0003】
他の従来の手法は、自動式であり、ゲームプレイ・セッション時に物体(例えば、物品、プレイヤなど)を検出する物体検出モデルに頼る場合がある。システムは、検出された物体に基づいて、関心又は高アクションと考えられ得るビデオ・クリップを特定し、分類し得る。しかし、物体検出モデルは、比較的エラーが発生しやすく、誤った特徴付けを受ける可能性がある。例えば、物体検出モデルの精度は、物体を検出するために分析する視覚データの品質によって決まってくることが多く、これは、特にストリーミング・ゲームプレイ・セッションの場合では大きくばらつく可能性がある。また、物体検出モデルは、教師付き学習を用いて訓練されるので、ゲームに特化した大規模な訓練データが必要になり得る。このようなゲームに特化した訓練データは、起こすのが難しく、手作業でのラベル付けが必要とされる可能性がある。そのため、ゲームごとに別々の物体検出モデルが必要となる。また、多くのゲームは、頻繁に更新され、訓練データでは考慮されていない新しいコンテンツ(例えば、新しいキャラクタ、武器、車両、用具一式など)が追加される。新しいコンテンツは、物体検出モデルの再訓練を必要する可能性があるか、且つ/又はモデルの精度をさらに低下させる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施例は、ユーザ入力から、ゲームプレイ・セッションの関心の高い持続時間を決定することに関するものである。ユーザ入力デバイスから利用可能なユーザ入力データを活かして、ゲームプレイ・セッション内の持続時間が、さらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測する(例えば、ゲームの呼び物に使用するか又は提案するために)システム及び方法を開示する。
【0005】
本開示では、ゲームプレイ・セッションのユーザ入力データから、関心のあるコンテンツ(例えば、より多くのアクション)を含む可能性が高いゲームプレイ・セッション内の比較的活発なユーザ・アクティビティの持続時間を自動的に決定することを提供する。従来の手法とは対照的に、ゲームプレイ・セッションにわたるユーザ入力から、実施中のユーザ・アクティビティ測定値(例えば、1秒当たりのキー数などのユーザ入力イベントの頻度に相当する)を計算して、ゲームプレイ・セッション内の比較的活発なユーザ・アクティビティの持続時間(例えば、ユーザ・アクティビティ測定値が閾値を超える場合)を決定し得る。持続時間が特定されるのを受けて、持続時間をさらに分析して、その持続時間を1つ又は複数の他の持続時間とまとめ、且つ/又は、その持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうかを判断又は予測し得る。
【0006】
また、本開示では、ゲームプレイ・セッション時のユーザ入力イベントに基づいて、ゲームプレイ・セッション内のある持続時間がさらなるアクションに向けて関心のあるものであるかどうかを判断し且つ/又は予測することを提供する。従来の手法とは対照的に、システムは、比較的活発なユーザ・アクティビティの持続時間に対して、その持続時間に生じる一連のユーザ入力イベントに基づいて、ユーザ関心スコアを計算し得る。システムは、ユーザ関心スコアを使用して、持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測し得る。例えば、システムは、そのゲームプレイ・セッション(及び/又は他のゲームプレイ・セッション)の複数の持続時間のユーザ関心スコアに対して統計値を計算し得、アクションが、持続時間のユーザ関心スコアを統計値と比較すること(例えば、ユーザ関心スコアが統計値よりも大きいと判断すること)に少なくとも部分的に基づいて起こされ得る。実施例によっては、統計値は、ユーザ関心スコアに対して計算される中央値絶対偏差スコアに相当する。
【0007】
ユーザ入力からゲームプレイ・セッションの高い関心の持続時間を決定するためのこのシステム及び方法について、添付図面を参照しながら以下に詳細に説明する。
【図面の簡単な説明】
【0008】
図1】本開示のいくつかの実施例による、ユーザ入力からゲームプレイ・セッションの高い関心の持続時間を決定するためのシステム実例図である。
図2】本開示のいくつかの実施例による、ユーザ入力からゲームプレイ・セッションの高い潜在的な関心の持続時間を示すグラフィカル表現実例である。
図3】本開示のいくつかの実施例による、ゲームプレイ・セッションの持続時間の表示を提示するのに使用され得るユーザ・インターフェースの一実例である。
図4】本開示のいくつかの実施例による、ユーザ・アクティビティ測定値に基づいて、ユーザ入力データからゲームプレイ・セッションの高い関心の持続時間を決定するための方法を示すフロー図である。
図5】本開示のいくつかの実施例による、ユーザ・アクティビティ測定値をモニタして、ユーザ入力データからゲームプレイ・セッションの高い関心の持続時間を決定するための方法を示すフロー図である。
図6】本開示のいくつかの実施例による、ゲームプレイ・セッション時の比較的活発なユーザ・アクティビティの持続時間に対して、ユーザ入力データからユーザ関心スコアを決定するための方法を示すフロー図である。
図7】本開示のいくつかの実施例による、ゲームプレイ・セッションにおける比較的活発なユーザ・アクティビティの持続時間に基づいて、ハイライト・リールを表すデータを生成するための方法を示すフロー図である。
図8】本開示のいくつかの実施例による、ゲーム・ストリーミング・システムのシステム実例図である。
図9】本開示のいくつかの実施例を具体化する際に使用するのに適した、コンピューティング・デバイス実例のブロック図である。
【発明を実施するための形態】
【0009】
本開示では、ゲームプレイ・セッション内の比較的高い関心の持続時間を自動的に特定するのに使用され得る手法を提供する。また、本開示では、ゲームプレイ・セッション内のある持続時間が、さらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測するための手法も提供する。これらの手法は、別々に使用してもよいし、組み合わせて使用してもよい。例えば、これらの手法を組み合わせて、ゲームプレイ・セッション内で比較的高い関心の持続時間を自動的に特定し、特定された持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測するのに使用することができる。様々な類のアクションが本開示の範囲外であるとの可能性が受け入れられており、その実例を本明細書に記載している。
【0010】
実施例において、ユーザ(例えば、ゲーマ)がゲームをする際に、ユーザ入力が取り込まれ、ゲームプレイ・セッションの期間にわたって収集された実施中のユーザ・アクティビティ測定値(例えば、メトリック)を起こすのに使用され得る(例えば、ゲームプレイ・セッション中又は後に周期的に)。ユーザ・アクティビティ測定値は、ゲームプレイ・セッション内の比較的活発なユーザ・アクティビティの持続時間-実施例によっては、ユーザ入力によって起こったユーザ入力イベント(例えば、1秒当たりのキー数)の頻度に相当する-を決定し且つ/又は特定するのに使用され得る。持続時間が特定されたのを受けて、その持続時間を1つ又は複数の他の持続時間とまとめるために、且つ/又はその持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうかを判断又は予測するために、持続時間がさらに分析され得る(例えば、本明細書に記載の手法を使用して)。
【0011】
実施例によっては、システムは、ユーザ・アクティビティ測定値が閾値を超えた時間に基づいて、持続時間を特定し得る。例えば、持続時間の始まりは、ユーザ・アクティビティ測定値が閾値よりも大きくなった時間に相当し得、且つ/又は、持続時間の終わりは、ユーザ・アクティビティ測定値が閾値よりも小さくなった時間に相当し得る。閾値は、ゲームプレイ・セッション、並びに/又は、ユーザ及び/若しくは他のユーザの多くのゲームプレイ・セッションにわたるユーザ・アクティビティ測定値から計算された統計値に相当し得る。例えば、統計値は、ゲームプレイ・セッションにわたるユーザ・アクティビティ測定値の平均値又はパーセンタイルに相当し得る。
【0012】
ゲームプレイ・セッション内のある持続時間が、さらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測するために、システムは、ゲームプレイ・セッション時に1つ又は複数の入力デバイスへのユーザ入力によって起こったユーザ入力イベントを分析し得る。そうするのに、システムは、比較的活発なユーザ・アクティビティの持続時間に対して、その持続時間に生じる一連のユーザ入力イベントに基づいて、ユーザ関心スコアを計算し得る。例えば、ユーザ関心スコアは、持続時間に起こったユーザ入力イベントの回数(密度)、持続時間で入力された1つ又は複数のアクション・コマンド、持続時間の長さ、及び/又は持続時間での1つ又は複数の入力デバイスの作動速度(緊急度)などの様々な要因に基づき得る。システムは、ユーザ関心スコアを使用して、持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測し得る。例えば、システムは、ゲームプレイ・セッション(及び/又は他のゲームプレイ・セッション)の複数の持続時間のユーザ関心スコアに対して統計値を計算し得、アクションが、持続時間のユーザ関心スコアを統計値と比較すること(例えば、ユーザ関心スコアが統計値又は他の閾値よりも大きいと判断すること)に少なくとも部分的に基づいて起こされ得る。実施例によっては、統計値は、ユーザ関心スコアに対して計算される中央値絶対偏差(MAD:Median Absolute Deviation)スコアに相当する。
【0013】
開示された手法を用いて、比較的活発なユーザ・アクティビティを含むゲームプレイ・セッションの持続時間に分析を集中させることで、比較的高い関心の持続時間を決定するために必要な処理を減らすことができる。また、さらなる分析に向けて持続時間を特定するのにシステムが使用するコンピューティング・リソースは、ビデオ・データの分析が必要とされないため(ただし、実施例によっては使用され得る)、低くてもよい。また、ゲームプレイ・セッション時にユーザ・アクティビティ測定値がモニタされる実例では、ゲームプレイ・セッション時に、持続時間が特定され得、アクションが起こされ得る。したがって、例えば、システムは、ゲームプレイ・セッションに影響を与えるのに、且つ/又はゲームプレイ・セッションの完了を準備するためのアクション(例えば、ゲームの呼び物を特定するプロセス)を開始又は完了するのに、このアクションを使用し得る。
【0014】
様々な考えられ得るアクションは、ゲームプレイ・セッション内の関心のある持続時間を決定する且つ/又は予測することに基づいて起こされ得る。例えば、システムは、持続時間の表示を提示するか、又は提示させ得る。表示は、例えば、ゲームプレイ・セッション時に提示される通知などのインジケータ、ゲームプレイ・セッションの後又は終了時に提示される、持続時間に相当するビデオ・クリップ(又はゲーム要約)のハイライト・リール、及び/又は持続時間に相当するビデオ・クリップを保存し且つ/又は共有するのに使用することができるグラフィカル要素で構成され得る。実例によっては、アクションには、持続時間の画像データ及び/又はビデオ・データを、物体検出モデル又は他の機械学習モデル(例えば、深層学習及び/又は畳み込みニューラル・ネットワーク・モデル)に適用することなどによって、持続時間に対してさらなる分析を実施することが含まれ得る。例えば、物体検出モデルは、場面内の1つ又は複数の物体を特定するのに使用され得、1つ又は複数の物体に基づいて、システムは、ゲームプレイ・セッション時にユーザにコンテンツを提示し得る。これには、例えば、所与の状況で、押すべきボタンや与えるべき他のユーザ入力など、物体に基づいた推奨事項を提示することが含まれ得る。さらなる点では、機械学習モデルを訓練するためにグランド・トゥルース・データ(例えば、持続時間に相当する)を起こし且つ/又は選択する際にユーザを手助けするために、関心のある持続時間がユーザに対して特定され得る。
【0015】
図1を参照すると、図1は、本開示のいくつかの実施例による、ユーザ入力からゲームプレイ・セッションの高い関心の持続時間を決定するためのシステム実例図である。本明細書に記載のこの配置及び他の配置が、単に実例として明示されていることが分かるはずである。他の配置及び要素(例えば、機械、インターフェース、機能、順序、機能のグループ化など)は、示されたものに加えて又は代わりに使用されてもよく、いくつかの要素が完全に省かれてもよい。また、本明細書に記載の要素の多くは、離散的又は分散的な構成要素として、又は他の構成要素と絡めて、適切な如何なる組合せ及び場所でも、具体化され得る機能エンティティである。本明細書においてエンティティによって果たされると説明されている様々な機能は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの如何なる組合せによっても果たされ得る。例えば、様々な機能は、メモリに格納された命令を実行するプロセッサによって実行され得る。
【0016】
図1の関心決定システム100は、数ある中でも、クライアント・デバイス104(A)、104(B)、及び104(N)(本明細書では、まとめて「クライアント・デバイス104」とされる)、ビデオ・クリップ・サーバ116、並びに/又はゲーム・サーバ126を用いて、インスタンス化された1つ又は複数の構成要素を含み得る。図1では、クライアント・デバイス104(A)、104(B)、及び104(N)が示されているが、これに限定するつもりはない。如何なる実例でも、クライアント・デバイス104がいくつあってもよい。関心決定システム100(及び、その構成要素及び/又は特徴)は、以下でより詳細に説明する図9のコンピューティング・デバイス900など、1つ又は複数のコンピューティング・デバイスを使用して具体化され得る。
【0017】
関心決定システム100の構成要素は、ネットワーク102を介して情報をやり取りすることができる。ネットワーク102としては、広域ネットワーク(WAN:wide area network)(例えば、インターネット、公衆交換電話網(PSTN:public switched telephone network)など)、ローカルエリア・ネットワーク(LAN:local area network )(例えば、Wi-Fi、ZigBee、Z-Wave、Bluetooth、Bluetooth Low Energy(BLE)、Ethernet(登録商標)など)、低出力広域ネットワーク(LPWAN:low-power wide-area network)(例えば、LoRaWAN、Sigfoxなど)、全地球的航法衛星システム(GNSS:global navigation satellite system)ネットワーク(例えば、全地球測位システム(GPS:global positioning system))、及び/又は別のネットワーク型を挙げることができる。如何なる実例でも、関心決定システム100の構成要素のそれぞれは、ネットワーク102のうちの1つ又は複数を介して他の構成要素のうちの1つ又は複数と通信し得る。
【0018】
クライアント・デバイス104としては、スマートフォン、ラップトップ・コンピュータ、タブレット・コンピュータ、デスクトップ・コンピュータ、ウェアラブル・デバイス、ゲーム・コンソール、仮想現実システム(例えば、ヘッドセット、コンピュータ、ゲーム・コンソール、リモート、コントローラ、及び/又は他の構成要素)、ストリーミング・デバイス(例えば、NVIDIA(登録商標) SHIELD)、インテリジェント・パーソナル・アシスタントを含み得るスマート・ホーム・デバイス、及び/又はゲームプレイに対応することができる別の類のデバイスを挙げることができる。
【0019】
クライアント・デバイス104はそれぞれ、ゲーム・アプリケーション106、ディスプレイ108、通信インターフェース110、入力デバイス112、ローカル・ストレージ136、ゲーム・データ・キャプチャラ138、アクション・マネージャ130、持続時間ディターミナ140、及び関心ディターミナ142を含み得る。図1には、クライアント・デバイス104の構成要素及び/又は特徴が数個しか示されていないが、これに限定するつもりはない。例えば、クライアント・デバイス104は、図9のコンピューティング・デバイス900に関して以下に説明するものなど、追加の構成要素及び/又は代替の構成要素を含み得る。
【0020】
ゲーム・アプリケーション106は、モバイル・アプリケーション、コンピュータ・アプリケーション、コンソール・アプリケーション、及び/又は他の類のアプリケーションであり得る。ゲーム・アプリケーション106は、プロセッサによって実行されると、以下に限定されるわけではないが、プロセッサに、1つ又は複数の入力デバイス112へのユーザ入力に相当する入力データを受信させ、入力データをゲーム・サーバ126に送信させ、メモリ又はローカル・ストレージからゲーム・データを取り出させ、ゲーム・サーバ126から通信インターフェース110を使用してゲーム・データを受信させ、またディスプレイ108にゲームを表示させる、命令を含み得る。言い換えれば、ゲーム・アプリケーション106は、クライアント・デバイス104でゲーム・アプリケーションに対応するゲームの再生を可能にするためのファシリテータとして作動し得る。また、ゲーム・アプリケーション106は、プロセッサによって実行されると、プロセッサに、ビデオ・クリップ・サーバ116にデータを送信させ、ビデオ・クリップ・サーバ116からデータを受信させる命令を含み得る。例えば、ゲーム・アプリケーション106は、クライアント・デバイス104でゲームが行われたときに生成されたビデオ録画をビデオ・クリップ・サーバ116に送信し得、さらに、関心ディターミナ142によって比較的高い関心のものと特定された持続時間に対応しているビデオ・クリップをビデオ・クリップ・サーバ116から受信し得る。
【0021】
ゲーム・アプリケーション106及び/又はゲーム・アプリケーション106のパッチ若しくはアップデートは、ゲーム・サーバ126からダウンロードされ得るか、又はコンテンツ配信ネットワーク(CDN:content delivery network )のサーバなど、別のサーバからダウンロードされ得る。例えば、ゲーム・サーバ126は、異なる国又は異なる大陸に位置し得るので、ダウンロード時間を短縮するために、ゲーム・アプリケーション106及び/又はパッチやアップデートは、世界中の様々なサーバに保存され得る。このように、クライアント・デバイス104がゲーム・アプリケーション106及び/又はパッチやアップデートをダウンロードしているとき、クライアント・デバイス104は、例えば、CDNの一部である、よりローカルなサーバに接続し得る。
【0022】
実例によっては、クライアント・デバイス104は、ゲーム・アプリケーション106を使用してゲームをレンダリングし得る一方、他の実例では、クライアント・デバイス104は、表示データ(例えば、図8に関して説明したような、符号化表示データ)を受信し、表示データを使用して、ディスプレイ108にゲームを表示し得る。実例によっては、クライアント・デバイス104(A)などの第1のクライアント・デバイスがゲームをレンダリングし得る一方で、クライアント・デバイス104(B)などの第2のクライアント・デバイスが、表示データを受信し、表示データを用いてゲームを表示し得る。表示データがクライアント・デバイスによって受信される実例(例えば、クライアント・デバイス104がレンダリングを起こさない実例)では、関心決定システム100は、以下でより詳細に説明する図8のゲーム・ストリーミング・システム800などのゲーム・ストリーミング・システムの一部であり得る。
【0023】
クライアント・デバイス104(A)は、ディスプレイ108を介して、ゲームプレイ・セッション114などの複数のゲームプレイ・セッションを経時で表示し得る。ゲームプレイ・セッション114などのゲームプレイ・セッションには、クライアント・デバイス104(A)のユーザが参加するゲームプレイ・セッションが何回でも含まれ得る。同様に、クライアント・デバイス104(A)に加えて、クライアント・デバイス104のそれぞれのユーザは、何回でもゲームプレイ・セッションに参加することができる。
【0024】
ディスプレイ108としては、ゲームを表示することができる如何なる類のディスプレイでも挙げることができる(例えば、発光ダイオード・ディスプレイ(LED: light-emitting diode display)、有機LEDディスプレイ(OLED:organic LED display)、液晶ディスプレイ(LCD:liquid crystal display)、アクティブ・マトリックスOLEDディスプレイ(AMOLED:active matrix OLED display )、量子ドット・ディスプレイ(QDD:quantum dot display )、プラズマ・ディスプレイ、LED/LCDディスプレイ、及び/又は別の類のディスプレイ)。実例によっては、ディスプレイ108としては、複数のディスプレイ(例えば、コンピュータ・ゲーミング用のデュアル・モニタ・ディスプレイ、ゲームを構成するための第1のディスプレイ、及びゲームを再生するためのバーチャルリアリティ・ディスプレイなど)を挙げることができる。実例によっては、ディスプレイは、スマートフォン、タブレット・コンピュータ、又はラップトップ・コンピュータなどのタッチ・スクリーン・ディスプレイであり、ここで、タッチ・スクリーンは、クライアント・デバイス104の入力デバイス112のうちの少なくとも1つである。
【0025】
入力デバイス112としては、ゲームへのユーザ入力及び/又はゲームを制御するのに使用されるユーザ入力など、ゲームに関連するユーザ入力を与えることができる如何なる類のデバイスも挙げることができる。入力デバイスとしては、キーボード、マウス、マイクロフォン、タッチ・スクリーン・ディスプレイ、コントローラ、リモート、ヘッドセット(例えば、バーチャルリアリティ・ヘッドセットのセンサ)、及び/又は他の類の入力デバイスを挙げることができる。
【0026】
通信インターフェース110は、ネットワーク102などの1つ又は複数のネットワークにわたって情報をやり取りするための1つ又は複数の構成要素及び特徴を含み得る。通信インターフェース110は、本明細書に記載のネットワーク102を幾つでも介して情報をやり取りするように構成され得る。例えば、図1の関心決定システム100において情報をやり取りする際、クライアント・デバイス104は、ビデオ・クリップ・サーバ116、ゲーム・サーバ126と、且つ/又はクライアント・デバイス104のうちのその他と通信するために、ルータを通してイーサネット(登録商標)又はWi-Fi接続を使用してインターネットにアクセスし得る。
【0027】
ローカル・ストレージ136としては、様々なコンピュータ可読媒体のいずれでも挙げることができる。コンピュータ可読媒体は、クライアント・デバイス104(A)がアクセスできる使用可能な如何なる媒体でもあり得る。コンピュータ可読媒体としては、揮発性媒体と不揮発性媒体、及びリムーバブル媒体と非リムーバブル媒体の両方を挙げることができる。限定するものではないが、実例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体で構成され得る。ローカル・ストレージ136は、図9のメモリ904に関して以下に説明するものなど、追加の構成要素又は代替の構成要素を含み得る。
【0028】
ここで、ゲームプレイ・セッション114をレンダリングする過程、及び/又は、ゲームプレイ・セッション114時にゲームをやった結果として起こされたゲーム・セッション・データ(例えば、ゲームプレイ・セッションに関連するユーザ入力データ及び/又はビデオ・データ)を分析する過程において、行われ得る工程を含む、さらなる態様について説明する。ゲームプレイ・セッション114は、何回でもよい入力イベント118(A)~118(N)(本明細書では、まとめて「入力イベント118」又は「ユーザ入力イベント118」とする)、タイムライン148、時間区間150(A)~150(N)(本明細書では、まとめて「時間区間150」とする)、及び持続時間152(A)~152(N)(本明細書では、まとめて「持続時間152」とする)に対応しているものであり得る。
【0029】
本開示の実施例によれば、持続時間ディターミナ140は、ゲーム・セッション・データを分析して、ゲームプレイ・セッション114時で、比較的活発なユーザ・アクティビティの持続時間152(A)~152(N)のうちの1つ又は複数を特定し得る。追加として又は代替として、関心ディターミナ142は、持続時間152(A)~152(N)を分析して、特定された持続時間が、相当するゲーム・セッション・データに基づいて、さらなるアクションに向けて十分に関心のあるものであるかどうかを判断し且つ/又は予測し得る。
【0030】
ゲーム・アプリケーション106及び/又はゲーム・データ・キャプチャラ138は、実行されると、ゲームプレイ・セッション114からのゲーム・セッション・データ(例えば、入力イベント118及び/又はゲームプレイのビデオ・フレームに相当する)のうちの少なくとも一部を記録し、そうでなければ取り込み、記録されたゲーム・セッション・データをクライアント・デバイス104にローカルに(例えば、ローカル・ストレージ136に)格納するか、又は記録されたゲーム・セッション・データを、それぞれデータ・ストア124及び/又は134に格納されるようにビデオ・クリップ・サーバ116又はゲーム・サーバ126に送信する、命令を含み得る。ゲーム・セッション・データとしては、ゲームプレイ・セッションに対応しているユーザ入力データ、及び/又はゲームプレイ・セッションに対応しているビデオ・データを挙げることができる。クライアント・デバイス104がゲームのレンダリングを起こさない実例(本明細書で詳しく説明した図8のゲーム・ストリーミング・システム800など)では、ゲーム・サーバ126は、ビデオ・データを記録し保存するか、又は、ビデオ・データを、データ・ストア124に保存するのに向けてビデオ・クリップ・サーバ116に送信し得る。
【0031】
ゲーム・データ・キャプチャラ138は、ゲーム・アプリケーション106の一部であり得るか、又は別のアプリケーション(例えば、1つ又は複数のシステム・サービス、プログラムなど)の一部であり得る。ゲーム・データ・キャプチャラ138は、入力デバイス112の構成要素であり得るか、又はクライアント・デバイス104の何らかの他の構成要素によって実行され得る。ゲーム・データ・キャプチャラ138は、プロセッサによって実行されると、プロセッサに、(実例として、限定することなく)入力デバイス利用状況データ、ビデオ・データ、及び/又はゲームプレイ・セッションに対応している他のデータなどのゲーム・データを記録させる又はログを取らせる、命令を含み得る。入力デバイス利用状況データの実例には、ユーザ入力イベントなどの、またゲームプレイ・セッション114などの1つ又は複数のゲームプレイ・セッションに対応している、キーボード、マウス、又はその他の入力デバイスの利用状況を記述している又はそれに相当する、ユーザ入力データが含まれる。記録される可能性のある情報の実例には、ユーザ入力イベントが含まれ、これはゲームプレイ・セッション時のキーボード・ストローク、マウス・クリック、マウスの動き、マイクロフォン入力、ビデオ・カメラ入力、及び/又はクライアント・デバイス104への入力に相当し得る。ユーザ入力イベントの実例には、キー押下(例えば、キー・ダウン又はキー・アップ)、ジェスチャ、マウスの動き、ゲーム・コマンド、又は特定のキー及び/又は他の入力の事前規定の組合せ及び/又はパターン(これらは、まとめて一回の入力イベントとして登録され得る)など、ユーザ入力イベントとして登録される(例えば、クライアント・デバイス104(A)のオペレーティング・システムによって)事前規定の入力又は入力の組合せが含まれる。例えば、入力デバイスでキーが押されるたびに、ユーザ入力イベントが特定され得る。
【0032】
ゲームプレイ・セッション114時の入力イベントの実例には、入力イベント118(A)~118(N)が含まれ、これらはそれぞれ、入力イベント(「ユーザ入力イベント」とも言われる)に相当している対応する入力イベント・データから特定され得る。各入力イベントに対して、ゲーム・データ・キャプチャラ138は、入力イベントを記述した、そうでなければ入力イベントに対応しているメタデータを格納し得る。一実例として、ゲーム・データ・キャプチャラ138は、ゲーム・セッション・データのタイミング情報(例えば、タイムライン148に沿ったもの)と相関するタイムスタンプ情報(例えば、タイムスタンプ)を格納し得る。メタデータの別の実例は、入力イベントが受信されたゲームプレイ・セッションを特定する、ゲームプレイ・セッション特定情報(例えば、ゲープレイ・セッション識別子)である。メタデータのさらなる実例は、入力イベントが受信されたゲーム又はアプリケーションを特定する、アプリケーション又はゲーム特定情報(例えば、アプリケーション又はゲーム識別子)である。さらなる実例として、ユーザ入力イベントをトリガするためにどの入力が作動したか(例えば、キーが押されたか)を特定する、入力特定情報(例えば、1つ又は複数の入力識別子)がある。
【0033】
タイムライン148は、ゲームプレイ・セッション114に関連付けられており、時間区間150のそれぞれが順次配置され得る相対時間標示を示す。説明上、時間区間150は、タイムライン148上に描かれている。それぞれの時間区間150は、タイムライン148内の特定の持続時間にまたがるものであり得、1つ又は複数の対応する持続時間152(A)~152(N)を画定し得る。それぞれの時間区間150は、入力イベント118(A)~118(N)のうちの1つ又は複数に対応しているものであり得る。例えば、如何なる個数の入力イベント118(A)~118(N)も、対応する時間区間内に入るタイムスタンプを有し得る。
【0034】
持続時間ディターミナ140は、入力イベント・データなどのゲームプレイ・セッションのユーザ入力データを分析して、ゲームプレイ・セッション時の比較的活発なユーザ・アクティビティの持続時間を特定するように構成され得る。例えば、持続時間ディターミナ140は、ゲームプレイ・セッション114に対応している入力イベント118(及び/又は他のゲーム・セッション・データ)を分析して、相当する持続時間152を画定する時間区間150を決定し得る。この分析は、ゲームプレイ・セッション時のリアルタイム・ゲーム・セッション・データに対して実施され得るか、又はゲームプレイ・セッションの完了後などの非リアルタイム・ゲーム・セッション・データ(例えば、ローカル・ストレージ136内)に対して実施され得る。持続時間ディターミナ140は、ゲーム・アプリケーション106の一部であり得るか、又は別個のアプリケーションの一部(例えば、1つ又は複数のシステム・サービス、プログラムなど)であり得る。実例によっては、持続時間ディターミナ140は、ゲーム・データ・キャプチャラ138と同じアプリケーションの一部である。また、ゲーム・データ・キャプチャラ138と同様に、実施例によっては、持続時間ディターミナ140は、クライアント・デバイス104(A)に加えて又はその代わりに、少なくとも部分的に、ビデオ・クリップ・サーバ116及び/又はゲーム・サーバ126に設けられている。比較的活発なユーザ・アクティビティの持続時間を特定する際、持続時間ディターミナ140は、入力イベントに基づいて、ゲームプレイ・セッション時の比較的より高いレベル(例えば、頻度又は濃度)のユーザ・アクティビティの持続時間を決定し得る。例えば、持続時間ディターミナ140は、ゲームプレイ・セッション114の入力イベント118を使用して、ゲームプレイ・セッション114における他の時間区間よりも高いレベルのアクションを含むゲームプレイ・セッション114時の時間区間150を決定し得、これらの時間区間150は、比較的活発なユーザ・アクティビティの持続時間152を画定し得る。例えば、ゲームプレイ・セッション114内の時間区間150(A)は、時間区間150(A)が時間区間150(A)に対するユーザ・アクティビティ測定の比較的高い値を有することに少なくとも部分的に基づいて、比較的活発なユーザ・アクティビティの持続時間152(A)として持続時間ディターミナ140によって特定され得、これは、高いKeys Per Second(KPS)、1秒当たりのアクション・キー選択の高い割合、及び/又は他の頻度ベースの入力デバイス・メトリックに相当し得る。少なくとも1つの実施例において、比較的活発なユーザ・アクティビティの持続時間を決定する際、持続時間ディターミナ140は、ユーザ・アクティビティ測定値を計算し、ユーザ・アクティビティ測定値を閾値と比較する。持続時間ディターミナ140は、ゲームプレイ・セッションの入力イベント(例えば、入力イベント118)からゲームプレイ・セッション(例えば、ゲームプレイ・セッション114)に対してユーザ・アクティビティ測定値を計算し得る。そうするために、持続時間ディターミナ140は、タイムスタンプ情報などの入力イベントに関連するメタデータを使用して、入力イベントを分析し得る。例えば、入力イベントが起こされる頻度、入力が作動する速度、またゲームプレイ・セッションのゲームに対して事前規定されているアクション・コマンドが作動したか否か且つ/又は何回作動したか、を計算するのに、タイムススタンプ情報が使用され得る。実例として、アクション・コマンドとは、キーなどの事前規定の入力作動(例えば、入力イベント)、又はそれがあると、ゲームにおいて目的を達成することができる、ゲーム向けのキーなどの入力作動(例えば、入力イベント)の組合せのことを言うことができる(例えば、マウスの左ボタン・クリックで武器の展開や武器の変更を開始し、マウスの右ボタン・クリックでシールドの展開を開始し、左トリガで車両のドリフトを開始し、キーa、bと右トリガで建造物の建設などを開始し得る)。アクション・コマンドは、特定の1つのゲーム及び/又は複数のゲームに事前規定され得る。したがって、あるゲーム又はアプリケーションは、別のゲーム又はアプリケーションとは異なる一連のアクション・コマンドを有し得る。頻度が、事前規定の入力イベント又は事前規定の類の入力イベント(例えば、事前規定の入力及び/又はアクション・コマンド)が起こされるのに基づいている実施例では、入力特定情報も使用され得る。
【0035】
ユーザ・アクティビティ測定値は、周期的に(例えば、1秒ごとに)又は反復的に計算された値を有する実行中のユーザ・アクティビティ測定値であり得、且つ/又は、必要に応じて計算され得る。持続時間ディターミナ140は、ユーザ・アクティビティ測定の値が閾値(例えば、図2のユーザ・アクティビティ測定閾値256)を超えたとユーザ・アクティビティ測定が判断する時間に少なくとも部分的に基づいて、ゲームプレイ・セッションの時間区間を画定し得る。例えば、持続時間の始まり時間は、持続時間ディターミナ140が、ユーザ・アクティビティ測定値がそれよりも大きいような閾値をユーザ・アクティビティ測定値が超えたと判断した時間であるとすることができる(に基づくとすることができる)。追加として又は代替として、持続時間の時間は、持続時間ディターミナ140が、ユーザ・アクティビティ測定値が閾値よりも小さいような閾値をユーザ・アクティビティ測定値が超えたと判断した時間であるとすることができる(に基づくとすることができる)。
【0036】
実例によっては、ユーザ・アクティビティ測定値がそれよりも大きいような閾値をユーザ・アクティビティ測定値が超えた時間は、時間区間150(A)の始まり時間として使用し得る。追加として又は代替として、ユーザ・アクティビティ測定値が閾値よりも小さいような閾値をユーザ・アクティビティ測定値が超えた時間は、時間区間150(A)の終わり時間として使用し得る。実例では、持続時間の始まり時間及び/又は終わり時間は、持続時間ディターミナ140が、ユーザ・アクティビティ測定値が閾値を超えたと判断した時間とは異なる可能性がある。例えば、持続時間ディターミナ140は、この時間を使用して、始まり時間を画定し得、始まり時間から終わり時間を導出し得る(例えば、始まり時間に1分又は他の時間量を加算することによって)。同様に、持続時間ディターミナ140は、この時間を使用して、終わり時間を画定し得、終わり時間から始まり時間を導出し得る(例えば、終わり時間から1分又は他の時間量を減算することによって)。さらなる実例として、持続時間ディターミナ140は、この時間を使用して、始まり時間及び/又は終わり時間を、特定された時間の前且つ/又は後に起こる時間の持続時間として画定し得る。例えば、この時間がユーザ・アクティビティ測定値が閾値を超えたときに相当する場合、その時間の前且つ/又は後にある時間量を加えて、時間区間を画定することができる。
【0037】
少なくとも1つの実施例において、閾値は変更できないものであってもよく、又は計算されてもよい。例えば、持続時間ディターミナ140は、ゲームプレイ・セッション114、並びに/又は、ユーザ及び/若しくは他のユーザの多くのゲームプレイ・セッションにわたるユーザ・アクティビティ測定値から統計値を計算し得る。統計値は、ゲームプレイ・セッションの少なくとも一部分にわたるユーザ・アクティビティ測定値の平均値又はパーセンタイルに相当するものであり得る。統計値は、閾値として使用され得るか、又はそうでなければ閾値を規定し得る。閾値は、ユーザ固有であり、ゲームプレイ・セッションとのユーザ・インタラクションに基づくものとすることができ、且つ/又は、ゲームプレイ・セッション固有でありゲームプレイ・セッションが分析されるのに基づくものとすることができる。さらなる実施例において、決定された統計値は、大域的であり、ゲームのゲームプレイ・セッションにおける他のユーザのユーザ・インタラクションに基づくものとすることができる。持続時間ディターミナ140がゲームプレイ・セッション時に(例えば、リアルタイムで)閾値を決定する場合、統計値は、その時の時間(例えば、ユーザ・アクティビティ測定値に対応する時間)に至るゲームプレイ・セッションの少なくとも一部分に基づくものとすることができる。持続時間ディターミナ140がゲームプレイ・セッションの後に閾値を決定する場合、統計値は、閾値と比較されるユーザ・アクティビティ測定値に対応する時間の前且つ/又は後のゲームプレイ・セッションの少なくとも如何なる部分にも基づくものとすることができる。如何なる実例でも、統計値(及び、閾値)は、その時間が閾値と比較されるのに基づいて更新され得るか、又はそれぞれの比較に同じ統計値(又は、閾値)が使用され得る。
【0038】
少なくとも1つの実施例において、持続時間を特定すると、持続時間ディターミナ140は、ゲームプレイ・アクティビティに相当する入力イベントと、非ゲームプレイ・アクティビティに相当する入力イベントとを区別し得る。ゲームプレイ・アクティビティに相当する入力イベントとしては、ゲームプレイ・セッション内でゲームプレイを制御するか又はもたらす入力イベントを挙げることができる。ゲームプレイ・アクティビティに相当する入力イベントの一実例には、アクション・コマンドがある。さらなる実例としては、方向性(例えば、ステアリング、探索など)、武器配備(例えば、武器の発射、武器の再装填、武器の切替えなど)速度調整(例えば、走る、歩くなど)、及び体位調整(例えば、立つ、しゃがむなど)などをもたらす入力作動又は入力作動の組合せを挙げることができる。
【0039】
対照的に、非ゲームプレイ・アクティビティに相当する入力イベントとしては、ゲームプレイ・セッション内でゲームプレイを制御もせずもたらしもしない入力イベントを挙げることができる。非ゲームプレイ・アクティビティに相当する入力イベントの実例としては、ゲームプレイ・セッション時のゲーマ(例えば、チームメートなど)間のコミュニケーション、解像度、音量レベルなどのゲーム・オプションの設定、ゲームプレイを引き起こすメニューのナビゲーションなど、ゲームプレイ・アクティビティを伴う、すなわち促進する、アクティビティを制御するか又はもたらす入力イベントを挙げることができる。例えば、非ゲームプレイ・アクティビティに相当する入力イベントとしては、ユーザ及び/又はプレイヤ間のコミュニケーション・モードを引き起こし(例えば、音声録音、キーボード・チャットなどを有効にする)、コミュニケーションの内容を明らかにし(例えば、メッセージの打ち込み)、コミュニケーション・モードを終了させ、且つ/又は少なくとももう一人のユーザ及び/又はプレイヤにこのコミュニケーションを伝達する、入力イベントを挙げることができる。
【0040】
非ゲームプレイ・アクティビティに相当する入力イベントを特定するのに、様々な手法が持続時間ディターミナ140によって使用され得る。実例によっては、1つ又は複数の入力イベントが、その相当する非ゲームプレイ・アクティビィを示すように、非ゲームプレイ・アクティビティ・コマンド(例えば、対応するメタデータ内の)として事前規定され得る。非ゲームプレイ・アクティビティ・コマンドは、ゲーム特有のものであり得るか且つ/又は特定の1つ又は複数のゲームに事前規定されるものであり得る。実例によっては、1つ又は複数の非ゲームプレイ・アクティビティ・コマンドが、非ゲームプレイ・アクティビティに相当する入力イベントを引き起こす開始コマンドとして事前規定され得、持続時間ディターミナ140が、後続の入力イベント(例えば、メッセージ規定入力イベント又はメニュー・ナビゲーション・入力イベントなどの特定の類の)を非ゲームプレイ・アクティビティと見なし得る(且つ/又はコマンドを特定するのに基づき、さらなる分析を実施して、入力イベントが非ゲームプレイ・アクティビティに相当すると判断し得る)。
【0041】
また実例によっては、1つ又は複数の非ゲームプレイ・アクティビティ・コマンドが非ゲームプレイ・アクティビディに相当する入力イベントを終わらせる終了コマンドとして事前規定され得、持続時間ディターミナ140が、それまでの入力イベント(例えば、メッセージ規定入力イベント又はメニュー・ナビゲーション入力イベントなどの特定の類の)を非ゲームプレイ・アクティビティと見なし得る(且つ/又はコマンドを特定するのに基づき、さらなる分析を実施して、入力イベントが非ゲームプレイ・アクティビティに相当すると判断し得る)。例えば、持続時間ディターミナ140が、開始コマンドと終了コマンドとの間の、非ゲームプレイ・アクティビティに相当する入力イベントを決定し得る。示したように、まだコマンド間にゲームプレイ・アクティビティに相当する1つ又は複数の入力イベントがある可能性があるが(例えば、ユーザがマウスを使用して、キーボードにメッセージを打ち込みながらゲームプレイを制御し得る)、コマンドは、特定の類の入力イベントを非ゲームプレイ・アクティビティに相当すると見なし得る。
【0042】
少なくとも1つの実施例において、持続時間ディターミナ140がユーザ・アクティビティ測定値を計算する際、ゲームプレイ・アクティブティに相当する入力イベント以外の(例えば、それよりも少ない)非ゲームプレイ・アクティビティに相当する入力イベントを重んじる(例えば、重み付けする)ことがあり得る。別の実例として、持続時間ディターミナ140が、ユーザ・アクティビティ測定値を計算する際、非ゲームプレイ・アクティビティに相当する入力イベントを捨てることがあり得る。これらの手法によって、ユーザ・アクティビティが非ゲームプレイ・アクティビティに負うところが大きい持続時間を持続時間ディターミナが特定することがあまり起こらなくなる可能性がある。実施例によっては、持続時間ディターミナ140が比較的活発なユーザ・アクティビティの持続時間を特定するのを受けて、持続時間ディターミナ140は、この持続時間を設定可能な最小限の長さの持続時間閾値及び/又は最大限の長さの持続時間閾値と比較して、その持続時間を捨てるか、又は例えば関心ディターミナ142によるさらなる分析に向けてその持続時間を維持するかを判断することができる。例えば、その持続時間が最小限の長さの持続時間(例えば、10秒以下)を下回っている場合、持続時間ディターミナ140が、比較的活発なユーザ・アクティビィと特定された持続時間を捨てることがあり得る。同様に、その持続時間が最大限の長さの持続時間(例えば、1分以上)を超えている場合、持続時間ディターミナ140が、比較的活発なユーザ・アクティビィと特定された持続時間を捨てる又は切り詰めることがあり得る。
【0043】
実施例において、最小限の長さの持続時間及び最大限の長さの持続時間は、変更不可であっても設定可能であってもよく、又は持続時間ディターミナ140によって動的且つ自動的に定められてもよい。また、実例によっては、持続時間ディターミナ140が、ある持続時間を少なくとも1つの他の持続時間と、それらの持続時時間のうちの1つ又は複数が最小限の長さの持続時間を下回っていると判断するのに基づき、まとめることがあり得る。持続時間ディターミナ140が持続時間をまとめるのに使用し得る別の要因は、ゲームプレイ・セッションにおける持続時間の近接度である。例えば、持続時間ディターミナ140が持続時間が互いに閾値近接度内にあると判断するのに基づき、持続時間をまとめて1つだけの持続時間にすることができる。持続時間ディターミナ140が、少なくとも最小限の長さの持続時間に達するように、ある持続時間(まとめられたなど)に時間を加える且つ/又は少なくとも最大限の長さの持続時間を下回るようにある持続時間(まとめられたなど)を切り詰めることもあり得る。
【0044】
関心ディターミナ142は、ゲームプレイ・セッション内の特定された持続時間(例えば、持続時間ディターミナ140によって特定された)がさらなるアクションに向けて十分に関心のあるものであるかどうか、ゲームプレイ・セッション時の1つ又は複数の入力デバイスへのユーザ入力によって起こったユーザ入力イベントに基づき、判断する且つ/又は予測するように構成され得る。持続時間ディターミナ140と同様に、関心ディターミナ142もゲーム・アプリケーション106の一部であってもよく、別個のアプリケーションの一部(例えば、1つ又は複数のシステム・サービス、プログラムなど)であってもよい。実例によっては、関心ディターミナ142は、ゲーム・データ・キャプチャラ138と同じアプリケーションの一部である。また、関心ディターミナ142が、クライアント・デバイス104(A)上でインスタンス化されるかそれとも実行されるのに加えて又はその代わりに、ビデオ・クリップ・サーバ116及び/又はゲーム・サーバ126上で少なくとも部分的にインスタンス化されるかそうでなければ実行されてもよい。
【0045】
ある持続時間がさらなるアクションに向けて十分に関心のあるものであるかどうか判断する際、関心ディターミナ142がユーザ関心スコアを計算し得る。ある持続時間に対するユーザ関心スコアは、特定された持続時間に生じる、ゲームプレイ・セッションの一連のユーザ入力イベントに基づくものであり得る。例えば、持続時間152(A)に対し、ユーザ関心スコアが、持続時間152(A)及び/又は時間区間150(A)(例えば、持続時間の始まり時間から終わり時間までの)内にタイムスタンプがある入力イベント118から計算され得る。関心ディターミナ142が、その持続時間に生じるユーザ入力イベントの回数、その持続時間に入力された1つ若しくは複数のアクション・コマンド、その持続時間の長さ、その持続時間での非ゲームプレイ・アクティビティに相当するいくつかの入力イベント若しくは入力イベントの有無、及び/又はその持続時間での1つ又は複数の入力デバイスの作動速度など、様々な要因に基づき、ユーザ関心スコアを計算し得る。
【0046】
少なくとも1つの実施例において、関心ディターミナ142が、ある持続時間内で、その持続時間に対してユーザ関心スコアを計算する際、ゲームプレイ・アクティブティに相当する入力イベント以外の(例えば、それよりも少ない)非ゲームプレイ・アクティビティに相当する入力イベントを重んじる(例えば、重み付けする)ことがあり得る。別の実例として、関心ディターミナ142が、ユーザ関心スコアを計算するか、そうでなければそれらの入力イベントの有無及び/又は程度を説明する際、非ゲームプレイ・アクティビティに相当する入力イベントを捨てることがあり得る。
【0047】
演算時、持続時間ディターミナ140が、ある持続時間を比較的活発なユーザ・アクティビティがあると特定する。持続時間が特定されるのを受けて、関心ディターミナ142が、特定された持続時間が十分に関心のあるものかどうか、関心レベル・アルゴリズムを特定された持続時間に対応しているユーザ入力データに適用することによって、特定された持続時間に対してユーザ関心スコアを算出することに少なくとも部分的に基づき判断し得る。このようなアルゴリズムの一実例としては、以下の等式(1)で表すことができる、High Energy Area Technique(「HEAT」)アルゴリズムがある。
HEAT=log(k*(Afactor*D)*K*Smax)(1)
ここで、
・Afactor=High定数(例えば、1よりも大きい)、アクション・コマンドがその持続時間にある場合、そうでなければ=1、
・L=持続時間の長さ、
・K=その持続時間におけるキー及び/又は入力イベントの数、
・Smax=その持続時間におけるキー及び/又は入力イベントの中の最高作動速度、及び
・k=定数。
【0048】
関心レベル・アルゴリズムの際の因数の上記の実例のいずれも他の因数なしで使用され得、且つ/又は異なる式すなわち等式で使用され得る。実例によっては、アクション・コマンドがある場合にhigh定数に設定されるのではなく、Afactorがその持続時間におけるアクション・コマンドの回数に基づく(例えば、それに基づいて上がる)ものとしてもよい。ユーザ関心スコアが持続時間ごとに計算され得、このスコアは、その持続時間に固有である。特定された持続時間ごとのユーザ関心スコア(例えば、HEATの値)に基づき、関心ディターミナ142が、それらの持続時間のうちのどれが、もしあれば、高い潜在的な関心に相関しているか判断又は予測し得る。例えば、ユーザ関心スコアを使用して、関心ディターミナ142は、各ユーザ関心スコアに対して閾値を計算して、ある持続時間が、ユーザに提示することなど、何らかのさらなるアクションを起こすのに十分に高い関心のものかどうかを判断し得る。実施例によっては、閾値は、ゲームプレイ・セッションの特定された持続時間のユーザ関心スコアから計算された統計値である。さらなる実例において、統計値は、さらに又はその代わりに、そのユーザ、他のユーザ、及び/又は同じゲームの1つ又は複数の他のゲームプレイ・セッションからの持続時間のユーザ関心スコアから計算され得る。
【0049】
一実例として、統計値は、ユーザ関心スコアから計算される中央絶対偏差(MAD)スコアに相当するものであってもよい。如何なる実例でも、統計値は、特定される持続時間が強く関心のあるものと判断又は予測されるのに必要とされる最低限のユーザ関心スコアに相当するものとすることができる。演算時、関心ディターミナ142は、決定された統計値に対して、持続時間のそれぞれのユーザ関心スコアを比較して、その持続時間に対してさらなるアクションが約束されるかどうかを判断し得る。特定された持続時間に対するユーザ関心スコアが統計値を超える場合、特定された持続時間は、高い関心の持続時間と見なされてもよく、対応するアクションが起こされ得る。同様に、特定された持続時間に対するユーザ関心スコアが統計値を下回る場合、特定された持続時間は、予測される十分な関心を欠くとして捨てられる可能性があり、且つ/又は異なる対応するアクションが起こされ得る(又はその持続時間に関わる持続時間アクションがない)。MADは、計算され得る統計値の一実例であるが、標準偏差、平均値などの他の統計値が使用されてもよい。様々な実例において、統計値は、ユーザ関心スコア(例えば、MAD)の統計的分散のロバストな尺度など、ロバストな統計値に相当するものとすることができる。
【0050】
統計値を使用して、ある持続時間が十分に高い関心のものかどうかを予測又は判断するのに加えて又はその代わりに、関心ディターミナ142が、その持続時間が少なくとも1つのアクション・コマンドを含むかどうか、且つ/又はユーザ関心スコアがベースライン閾値よりも大きいかどうかなど、他の要因を使用し得る。例えば、関心ディターミナ142は、ある持続時間が、そのユーザ関心スコアが統計値を上回っていれば、十分に高い関心のものであると予測されると判断し得る。しかし、ユーザ関心スコアが統計値を超えていなくても、関心ディターミナ142は、他の要因に基づき、その持続時間が十分に高い関心のものであるとなおも判断する可能性がある。
【0051】
アクション・マネージャ130は、ある持続時間がさらなるアクションに向けて十分により高い関心のものと関心ディターミナ142が判断する且つ/又は予測するのに基づき、ゲームプレイ・セッション時又はその後に実施され得る様々なアクションを可能にするように構成され得る。例えば、アクション・マネージャ130は、図3に関してさらに説明したように、ディスプレイ108などのディスプレイへの持続時間の表示の提示を可能にする又はもたらすことができる。実施例によっては、表示としては、1つ又は複数のボタンなどのグラフィカル・ユーザ・インターフェース要素が挙げられる。入れられると(例えば、ユーザによって)、グラフィカル・ユーザ・インターフェース要素は、ユーザに、特定された持続時間に関係する様々なタスクを行うのを可能にさせる機能及び演算を開始させることができる。実例としては、持続時間に相当するビデオ・クリップを保存すること(例えば、ローカル・ストレージ136に)、及び/又はビデオ・クリップを共有すること(例えば、ソーシャル・メディアを介して)が挙げられる。さらなる実例として、持続時間の表示としては、クライアント・デバイス104(A)に提示され得る通知を挙げることができる。実例としては、彼女/彼がゲームプレイ・セッション時に起こすことができる様々なアクションをユーザに知らせる、ビジュアル・コンテンツ及び/又はオーディオ・コンテンツが挙げられる。これらは、持続時間に提示され得る表示のいくつかの非限定的な実例に過ぎない。
【0052】
ビデオ・クリップ・サーバ116としては、ゲームプレイ・セッション114時に記録される比較的高い関心のものと特定された持続時間に対応するビデオ・クリップを保存する、トリミングする、共有する、それとも編集するための1つ又は複数のサーバを挙げることができる。図1にはビデオ・クリップ・サーバ116の数個の構成要素及び/又は特徴しか示されていないが、これに限定するつもりではない。例えば、ビデオ・クリップ・サーバ116は、図9のコンピューティング・デバイスに関して以下に述べるものなど、追加の又は代替の構成要素を含み得る。
【0053】
ビデオ・クリップ・サーバ116は、ゲーム・サーバ126とは別個のもの又は区別できるものであり得るが、これに限定するわけではない。また、ビデオ・クリップ・サーバ116は、関心決定システム100のいくつかの実施例に含まれていないことがあり得るが、アクション・マネージャ130によって実施されるアクションのうちの1つ又は複数を促進するのに使用され得る。実例によっては、ビデオ・クリップ・サーバ116は、ゲーム・サーバ126(例えば、ゲーム・サーバ126上でタスクとして作動する)と同じ又は同様のサーバとして具体化され得る。実例によっては、ビデオ・クリップ・サーバ116は、第1のエンティティ(例えば、第1の会社)によって運用されるか又はホストされ得、ゲーム・サーバ126は、第2のエンティティ(例えば、第2の第1とは異なる会社)によって運用されるか又はホストされ得る。このような実例では、第2のエンティティは、ゲーム開発者又はゲーム発行者であり得、第1のエンティティと第2のエンティティとが、第1のエンティティが第2のエンティティ及び/又はクライアント・デバイス104(A)から受信したデータを使用して、特定された持続時間に相当する関心のあるビデオ・クリップを特定することができるようなデータを共有することができる。他の実例では、ビデオ・クリップ・サーバ116とゲーム・サーバ126とが、同じエンティティによって運用されるか又はホストされ得る。さらなる実例において、関心決定システム100が、クライアント・デバイス104上に完全に具体化され得、且つ/又はサーバに含まれているとして示されたその構成要素及び/又は機能性のうちの1つ又は複数が、クライアント・デバイス104上に少なくとも部分的に具体化され得る。
【0054】
ビデオ・クリップ・サーバ116は、通信インターフェース122及びデータ・ストア124を含み得る。本明細書に記載のように、1つ又は複数のビデオ・クリップが、持続時間ディターミナ140及び/又は関心ディターミナ142を使用して特定され得る且つ/又は選択され得る、ゲームプレイ・セッションの持続時間に基づき起こされ得る。ビデオ・クリップ・サーバ116は、ゲーム・サーバ126又はクライアント・デバイス104から、特定された持続時間に基づくビデオ・クリップを受信し得る。別の実例として、ビデオ・クリップ・サーバ116は、関心ディターミナ140によって起こされたビデオ・クリップ・タイムスタンプ・データを受信し、比較的高い関心のものと特定された持続時間に基づき、データ・ストア124などのデータ・ストアに保存されたゲーム・セッション・データ(例えば、ビデオ・データ)からビデオ・クリップを起こし得る。
【0055】
通信インターフェース122は、ネットワーク102などの1つ又は複数のネットワークにわたって情報をやり取りするための1つ又は複数の構成要素及び特徴を含み得る。通信インターフェース122は、本明細書に記載のネットワーク102を幾つでも介して情報をやり取りするように構成され得る。例えば、図1の関心決定システムにおいて情報をやり取りする際、ビデオ・クリップ・サーバ116は、他のビデオ・クリップ・サーバ、ゲーム・サーバ126、及び/又はクライアント・デバイス104とLAN及び/又はインターネット上で情報をやり取りすることができる。ビデオ・クリップ・サーバ116は、高い関心のものと特定された持続時間に相当するビデオ・クリップ、情報、及びビデオ・クリップがユーザによって共有又は保存されているかどうか、又は持続時間が共有、保存、又はその他のアクションのための使用によって選択されているかどうかの表示を含む、様々な情報をゲーム・サーバ126及び/又はクライアント・デバイス104と交換することができる。
【0056】
ゲーム・サーバ126としては、ゲームを保存する、開催する、管理する、また実例によっては、ゲームをレンダリングするための1つ又は複数のサーバ(例えば、専用ゲーム・サーバ)を挙げることができる。実例によっては、第1のゲーム・サーバ126がゲーム(例えば、ゲームのプログラム・コード)を作成、更新、及び修正するのに使用され得、第2のゲーム・サーバ126が、ゲームを開催するのに使用され得る(例えば、専用ゲーム・サーバとして)。図1には、数個しかゲーム・サーバ126の構成要素及び/又は特徴が示されていないが、これに限定するつもりではない。例えば、ゲーム・サーバ126が、図9のコンピューティング・デバイス900に関して以下に述べるものなど、追加の又は代替の構成要素を含んでもよい。
【0057】
ゲーム・サーバ126は、クライアント・デバイス104によるゲームプレイを可能にし、且つ/又はビデオ・クリップ・サーバ116との情報(例えば、ユーザ入力データなど)のやり取りを可能にする、1つ又は複数のAPIを含み得る。例えば、ゲーム・サーバ126は、クライアント・デバイス104のゲーム・アプリケーション106とインターフェースで接続して、クライアント・デバイス104によるゲームプレイを可能にする、1つ又は複数のAPIを含み得る。別の実例として、ゲーム・サーバ126は、持続時間ディターミナ140とインターフェースで接続して、さらなる分析に向けて持続時間ディターミナ142に比較的活発なユーザ・アクティビティの持続時間に相当するデータを渡す1つ又は複数のゲームプレイ・セッションAPIを含み得る。さらなる一実例として、ゲーム・サーバ126は、持続時間ディターミナ140とインターフェースで接続して、比較的高いユーザ・アクティビティと特定された持続時間を受信して、さらなるアクションに向けてそれぞれが十分に高い関心の持続時間であるかどうか判断する1つ又は複数のAPIを含み得る。本明細書では様々なAPIを述べているが、APIは、ただ1つだけのAPIの一部に過ぎないことがあり得、APIのうちの1つ又は複数が組み合わされていることもあり得、様々なAPIには、本明細書に実例として記載のもの又はそれらの組合せ以外のものが含まれていることもあり得る。
【0058】
ゲーム・サーバ126は、ゲーム・エンジン128を含み得る。ゲーム・エンジン128は、ネットワーク102などのネットワーク上で1人又は複数人のユーザにゲームをするのを可能にさせるゲームの機能性を含み得る。例えば、ゲーム・エンジン128を使用して、ゲーム・セッション114が行われ得る。ゲーム・エンジン128としては、レンダリング・エンジン、オーディオ・エンジン、物理エンジン、アニメーション・エンジン、人工知能エンジン、ネットワーキング・エンジン、ストリーミング・エンジン、メモリ管理エンジン、及び/又はその他の構成要素若しくは特徴を挙げることができる。ゲーム・エンジン128を使用して、ゲームプレイ・セッション時にユーザ入力データのうちのいくつか又は全てを起こすことができる。
【0059】
ゲーム・サーバ126の通信インターフェース132は、ネットワーク102などの1つ又は複数のネットワークにわたって情報をやり取りするための1つ又は複数の構成要素及び特徴を含み得る。通信インターフェース132は、本明細書に記載のネットワークを幾つでも介して情報をやり取りするように構成され得る。例えば、図1の関心決定システム100において情報をやり取りする際、ゲーム・サーバ126は、他のゲーム・サーバとLAN上で、且つ/又は他のゲーム・サーバ126、ビデオ・クリップ・サーバ116、及び/又はクライアント・デバイス104とインターネット上で通信し得る。
【0060】
ここで図2を参照すると、図2は、本開示のいくつかの実施例による、ユーザ入力からゲームプレイ・セッションの高い潜在的な関心の持続時間の良い例となるグラフィカル表現実例である。図2には、x軸が時間(単位秒)に相当する一方、y軸が本明細に記載のようなユーザ・アクティビティ測定の値に相当する、グラフ200が含まれている。グラフ200は、持続時間ディターミナ140が比較的より活発なユーザ・アクティビティの持続時間を特定するのに使用し得る、ユーザ・アクティビティ測定閾値256の一実例を示す。ユーザ・アクティビティ測定閾値256は、実施例によっては、特定される活発なユーザ・アクティビティの持続時間に達しなければならない最低限のレベルのユーザ・アクティビティ測定値を示すか又は画定するものであり得る。
【0061】
図2では、ゲームプレイ・セッション(例えば、ゲームプレイ・セッション114)時の所与の時点(T)のユーザ・アクティビティ測定の値を伴う時間区間254(A)~254(E)を示す。持続時間ディターミナ140は、適切な如何なる時点及び/又は間隔でもユーザ・アクティビティ測定の値を標本抽出して、時間区間254(A)~254(E)を決定し、比較的活発なユーザ・アクティビィに対応する持続時間を特定することができる。時間区間254(A)は、その値がユーザ・アクティビティ測定閾値256よりも大きい時間TとTとで画定されることもあり得る。また、時間区間254(A)は、その値がユーザ・アクティビティ測定閾値256よりも大きい時間TとTとで画定されることもあり得る。持続時間ディターミナ140は、本明細書に記載の適切な如何なる手法でも使用して、時間区間254(A)に相当する持続時間と時間区間254(B)に相当する持続時間とを決定することができる。実例によっては、時間Tが時間区画254(A)に相当する持続時間の始まり時間であり得、時間T3が時間区間254(A)に相当する持続時間の終わり時間であり得る。図2における標示付きの他の時間は、同様に、相当する持続時間及び/又は時間区間の始まり時間と終わり時間とを示すものであり得る。
【0062】
本明細書に記載のように、実施例によっては、持続時間ディターミナ140が、時間区間254(A)に相当する持続時間が最低限の長さの持続時間(例えば、時間Tマイナス時間Tで画定される)よりも短いと判断することがあり得る。このような一実例では、持続時間ディターミナ140は、時間区間254(A)に相当する持続時間を時間区間254(B)に相当する持続時間とまとめることがあり得る。まとめられた持続時間は、図2の時間区間260に相当し、時間区間254(A)の時間T2に相当する始まり時間と時間区間254(B)の時間T5に相当する終わり時間とを有することがあり得る。実施例によっては、近接度持続時間に基づき持続時間がまとめられ得る。例えば、この近接度というのは、時間区間254(A)の時間Tと時間区間254(B)の時間Tとの差に相当することであってもよい。この差が閾値を下回る場合、持続時間ディターミナ140が持続時間をまとめることがあり得る。
【0063】
例えば、ユーザがリアルタイム・ストラテジ・ゲームをやっていて、そこで、相手とのいざこざの最中であることがあり得る。ユーザがこのいざこざに積極的に関わっていると、ユーザ・アクティビティ測定値は高くなり得る。しかし、図示のように、ユーザが少しの間引き、相手が追い掛けるのを待つ場合、ユーザ・アクティビティ測定レベルは、ユーザ・アクティビティ測定閾値256を下回る可能性がある。続いて、相手がユーザを追い掛けることがあり得、ユーザが相手にまた関わり、その結果、図示のように、ユーザ・アクティビティ測定値が急激にユーザ・アクティビティ閾値256を上回ることがあり得る。この筋書きでは、持続時間ディターミナ140が持続時間をまとめ合わせて比較的活発なユーザ・アクティビティの複合持続時間をもたらすことがあり得る。
【0064】
持続期間ディターミナ140は、また時間Tに相当する始まり時間及び/又は時間T12に相当する終わり時間を有する時間区間254(C)に相当する持続時間を決定し得る。また、持続時間ディターミナ140は、時間T17に相当する始まり時間及び/又は時間T20に相当する終わり時間を有する時間区間254(D)に相当する持続時間を決定し得る。さらなる実例として、持続時間ディターミナ140は、時間T23に相当する始まり時間及び/又は時間T25に相当する終わり時間を有する時間区間254(E)に相当する持続時間を決定し得る。
【0065】
図2に関して述べた実例では、持続期間ディターミナ140は、対応するゲーム・セッション時の比較的より活発なユーザ・アクティビティの4つの持続時間を特定することができる。これらの持続時間は、時間区間260、254(C)、254(D)、及び254(E)に相当し得る。それにより、関心ディターミナ142は、本明細書に記載の手法を使用して(例えば、HEATを使用して)、持続時間のそれぞれに対してユーザ関心スコアを計算することができる。例えば、時間区間260に相当する持続時間に対するユーザ関心スコアは、時間Tと時間Tとの間に起こった入力イベントから計算され得る。また、関心ディターミナ142は、4つのユーザ関心スコア(例えば、MADスコア)から統計値を計算することができる。関心ディターミナ142は、時間区間260、254(C)、及び254(E)に相当する持続時間のそれぞれに対するユーザ関心スコアが統計値よりも大きく(又は等しく)、それにより、アクション・マネージャ130によるさらなるアクションに向けて十分に関心のあるものであると判断することがあり得る。関心ディターミナ142はまた、時間区間254(D)に相当する持続時間に対するユーザ関心スコアが統計値よりも小さく、それにより、持続時間に対して何も対応しないことがあり得る、又はその持続時間に対して違った対応を取り得るといった、対応するインジケータをアクション・マネージャ130に与えることがあり得る。
【0066】
図3を参照すると、図3は、ゲームプレイ・セッションのある持続時間の表示を提示するのに使用され得るユーザ・インターフェースの一実例である。本明細書に記載のように、この表示は、閾値を超える持続時間に対するユーザ関心スコアに少なくとも部分的に基づいて提示され得る。ユーザ・インターフェースがゲームプレイ・セッション時に提示されるとして示されているが、適切な如何なる時点でも提示されてもよく、ゲームの一部及び/又はゲームを提示するのに使用されるアプリケーションであってもよく、なくてもよい。示された表示としては、持続時間に対応するグラフィカル・ユーザ・インターフェース要素が挙げられる。
【0067】
一実例として、ボタン304(A)及び304(B)など、インジケータとしてグラフィカル・ユーザ・インターフェース要素を表示するメニュー302を示す。入れられると(例えば、ユーザによって)、ボタン304(A)及び304(B)は、アクション・マネージャ130に、ゲームプレイ・セッション内で比較的活発なユーザ・アクティビティと特定された持続時間に関わる様々なタスクを実施するのを可能にさせるのに対応する機能及び工程を開始する。例えば、本明細書に記載のように、ユーザ(例えば、ゲーマ)がゲームをすると、ユーザ入力データがゲーム・データ・キャプチャ138によって取り込まれ、比較的活発なユーザ・アクティビティの持続時間を特定するのに使用され得る。この持続時間のうちで、関心ディターミナ142が、ある持続時間が、その持続時間の表示を提示するほど強く関心のあるものであると判断することがあり得る。結果として、ボタン304(A)及び304(B)のうちの1つ又は複数がディスプレイ108にポピュレートされ、ビデオ・クリップとして特定された持続時間を保存し且つ/又はビデオ・クリップとして特定された持続時間を共有することを可能にさせることができる。このように、ボタン304(A)又は304(B)が入るのを受けて、ゲームプレイ・セッション内の比較的活発なユーザ・アクティビティと特定された持続時間が保存され及び/又は共有され得る。
【0068】
図3のメニューには、ある持続時間のあり得る表示の別の実例として通知304(C)も含まれる。通知304(C)により、ユーザに、ゲームプレイ・セッション時にユーザが起こすことができる様々なアクションを知らせることができる。例えば、ユーザがパズルベースのミッションを終えようとするが、終わり損ね続けている場合、関心決定システム100が、関心ディターミナ142によって選択された対応する持続時間に基づき、ユーザのこのパズルを終えることの不能を認めることができる。通知(304)を使用して、ユーザに、ゲームを進行させるがそれとも手助けするために与えるべき1つ又は複数のユーザ入力を示すことができる。
【0069】
図3の表示及び通知は、単に、ゲームプレイ・セッション時又はその後に提示され得る持続時間の表示の実例に過ぎない。本明細書に記載のように、また非限定的実例として、他の表示としては、ゲームプレイ・セッション時又はその後に提示されるハイライト・リール又はゲーム要約(例えば、持続時間に相当するビデオ・クリップ)、とともに特定された持続時間に相当するビデオ・クリップを保存する、編集する、且つ/又は共有するのに使用できる(例えば、ビデオ・エディタ・アプリケーションにおいて)他の如何なる表示も挙げることができる。実施例によっては、関心決定システム100が、その持続時間に相当し、ゲームプレイ・セッションのビデオ・データから特定されている、ビデオ・クリップ(例えば、ゲームプレイ・セッションのビデオ・データから引き出されたビデオ・フレーム及び/又はビデオ・クリップに対応するビデオ・フレームのタイムスタンプ)からハイライト・リールを表すデータを生成することができる。例えば、ビデオ・クリップ・サーバ116、ゲーム・サーバ126(例えば、ゲーム・エンジン128)及び/又はクライアント・デバイス104(A)(例えば、ゲーム・アプリケーション106)が、ハイライト・リールを表すデータを生成することができる。少なくとも1つの実施例において、データとしては、ビデオ・クリップ、また場合によっては、ゲームプレイ・セッションの介在する部分のビデオ・クリップのそれぞれを含む、ビデオ内のビデオ・クリップの位置の識別子(例えば、メタデータ)が挙げられる。追加として又は代替として、少なくとも1つの実施例において、データとして、介在するビデオ・クリップを含んでもよく含まなくてもよい、連結シーケンスのビデオ・クリップなどのビデオ・データが挙げられる。
【0070】
実施例によっては、ユーザに、アクション・マネージャ130を開始して、物体検出モデル又は他の機械学習モデル(例えば、深層学習モデル及び/又は畳み込みニューラル・ネットワーク・モデル)にその持続時間に対応するゲーム・セッション・データの画像及び/又は映像データを適用することなどによってなど、その持続時間に対してさらなる分析を実施することを含む、さらなるアクションを起こすことを可能にさせる表示が提示され得る。例えば、ある場面で、1つ又は複数の物体に基づいて1つ又は複数の物体を特定するのに物体検出モデルが使用され得、アクション・マネージャ130は、ゲームプレイ・セッション時又はその後、ユーザにコンテンツを提示し得る。このコンテンツとしては、例えば、所与の状況で押すべきボタン又は与えるべき他のユーザ入力など、物体に基づいている推奨事項を提示することを挙げることができる。図3の通知304(C)は、推奨事項のこのような実例の1つであり得る。さらなる状況において、高い関心の持続時間がユーザに示され(例えば、推奨事項として)、機械学習モデルを訓練するのにグラウンド・トゥルース・データを生成する且つ/又は選択する際ユーザを手助けすることができる。
【0071】
ここで、図4図6を参照すると、方法400~600及び本明細書に記載の他の方法の各ブロックは、ハードウェア、ファームウェア、及び/又はソフトウェアの如何なる組合せも使用して実施され得るコンピューティング・プロセスを含む。例えば、メモリに格納された命令を実行するプロセッサによって、様々な機能が果たされ得る。方法は、コンピュータ記憶媒体に格納されたコンピュータ使用可能命令として具体化され得る。方法は、いくつか例を挙げると、スタンドアロン・アプリケーション、サービス若しくはホスト型サービス(スタンドアロンで又は別のホスト型サービスとの組合せで)、又は別の製品へのプラグインによって提供され得る。さらに、図1の関心決定システム100に関して、例として方法400~600について述べる。ただし、これらの方法は、追加として又は代替として、本明細書に記載のものを含むがそれに限定されるわけではない、いずれか1つのシステム又はシステムの如何なる組合せによっても実行され得る。
【0072】
図4は、本開示のいくつかの実施例による、ユーザ・アクティビティ測定の値に基づき、ユーザ入力データからゲームプレイ・セッションの高い関心の持続時間を決定するための方法400を示す流れ図である。方法400は、ブロックB402において、ユーザ入力イベントに基づき、ゲームプレイ・セッションのユーザ・アクティビティ測定の値を決定することを含む。例えば、持続期間ディターミナ140が、ゲームプレイ・セッション114のユーザ入力データから、ゲームプレイ・セッション114時に入力デバイスへのユーザ入力によって起こったユーザ入力イベント118に基づき、ゲームプレイ・セッション114のユーザ・アクティビティ測定の値を決定し得る。
【0073】
ブロックB404において、方法400は、ユーザ・アクティビティ測定の値に基づきゲームプレイ・セッション内のある持続時間を特定することを含む。例えば、持続時間ディターミナ140が、閾値を超えるユーザ・アクティビティ測定の値に基づき、その持続時間の始まり及び/又は終わり時間を特定し得る。
【0074】
ブロックB406において、方法400は、その持続時間に生じる一連のユーザ入力イベントに基づき、その持続時間に対してユーザ関心スコアを計算することを含む。例えば、関心ディターミナ142が、その持続時間に生じる一連のユーザ入力イベント118に基づき、その持続時間に対してユーザ関心スコアを計算し得る。ユーザ関心スコアは、HEATなどの関心レベル・アルゴリズムを使用して計算され得る。
【0075】
ブロックB408において、方法400は、そのユーザ関心スコアが閾値を超えていると判断することを含む。例えば、関心ディターミナ142が、その持続時間のユーザ関心スコアがMAD値、又は持続時間ディターミナ140によって特定されているゲームプレイ・セッションの他の持続時間から計算された他の統計値よりも大きいと判断し得る。
【0076】
ブロック410において、方法400は、閾値を超えるユーザ関心スコアに基づき、その持続時間の表示を提示することを含む。例えば、アクション・マネージャ130がクライアント・デバイス104(A)(例えば、図3に見られるような)へのその持続時間の表示の提示をもたらし得る。
【0077】
ここで図5を参照すると、図5は、本開示のいくつかの実施例による、ユーザ・アクティビティ測定値をモニタして、ユーザ入力データからゲームプレイ・セッションの高い関心の持続時間を決定するための方法500を示す流れ図である。方法500は、ブロックB502において、ゲームプレイ・セッション時の期間にわたって、ユーザ・アクティビティ測定値をモニタすることを含む。例えば、持続時間ディターミナ140が、ゲームプレイ・セッション114の期間にわたってゲームプレイ・セッション114のユーザ・アクティビティ測定値をモニタし得る。ユーザ・アクティビティ測定値は、ゲームプレイ・セッション114時に1つ又は複数の入力デバイスへのユーザ入力によって起こるユーザ入力イベント118の頻度に相当するものであり得る。モニタリングは、例えば、リアルタイムで且つ/又はゲームプレイ・セッション114時に行われ得る。例えば、持続時間ディターミナ140が、周期的に又はある間隔若しくは他のトリガでユーザ・アクティビティ測定を計算し得る。
【0078】
ブロックB504において、方法500は、モニタすることに基づき、ユーザ・アクティビティ測定値が閾値を超えたかどうかを判断することを含む。例えば、持続時間ディターミナ140が、ユーザ・アクティビティ測定値が、図2のユーザ・アクティビティ測定閾値256よりも小さい値からユーザ・アクティビティ測定閾値256よりも大きい値に移行した、又は図2のユーザ・アクティビティ測定閾値256よりも大きい値からユーザ・アクティビティ測定閾値256よりも小さい値に移行したと判断し得る。
【0079】
ブロックB506において、方法500は、ユーザ・アクティビティ測定値が閾値を超えるのに基づき、活発なユーザ・クティビティの持続時間を決定することを含む。例えば、持続時間ティターミナ149が、ユーザ・アクティビティ測定値が閾値を超えた時間に基づき、活発なユーザ・アクティビティに相応する持続時間を決定する時間区間を決定し得る。
【0080】
ブロック508において、方法500は、持続時間に生じる一連のユーザ入力イベントに基づき、ユーザ関心スコアを計算することを含む。例えば、関心ディターミナ142が、持続時間内で起こる一連のユーザ入力イベント118に基づき、その持続時間に対してユーザ関心スコアを計算し得る。
【0081】
ブロックB510において、方法500は、ユーザ関心スコアに基づき、持続時間の表示を提示することを含む。例えば、アクション・マネージャ130が、クライアント・デバイス104(A)への表示の提示をもたらし得る。
【0082】
図6は、本開示のいくつかの実施例による、ユーザ入力データからゲームプレイ・セッション時の比較的活発なユーザ・アクティビティの持続時間に対してユーザ関心スコアを決定するための方法600を示すフロー図である。方法600は、ブロックB602において、ユーザ入力イベントに基づき、ゲームプレイ・セッション内の比較的活発なユーザ・アクティビティの持続時間を決定することを含む。例えば、持続時間ディターミナ140が、ゲームプレイ・セッション114のユーザ入力データから、ゲームプレイ・セッション114時に入力デバイスへのユーザ入力によって起こったユーザ入力イベント118に基づき、ゲームプレイ・セッション114内の比較的活発なユーザ・アクティビティの持続時間を決定し得る。
【0083】
ブロックB604において、方法600は、持続時間に生じるユーザ入力イベントに基づき、ユーザ関心スコアを計算することを含む。例えば、関心ディターミナ142が、比較的活発なユーザ・アクティビティの持続時間に生じるユーザ入力イベント118の回数及び/又は持続時間に関連付けられ且つ/又は持続時間に生じるユーザ入力イベントに関連付けられる他の要因に基づき、この持続時間に対してユーザ関心スコアを計算し得る。
【0084】
ブロックB606において、方法600は、ユーザ関心スコアに基づき、比較的活発なユーザ・アクティビティの持続時間の表示を提示することを含む。例えば、アクション・マネージャ130が、ユーザ関心スコアに基づき、比較的活発なユーザ・アクティビティの持続時間の表示のクライアント・デバイス104(A)への提示をもたらし得る。
【0085】
ここで図7を参照すると、図7は、本開示のいくつかの実施例による、ゲームプレイ・セッション時の比較的活発なユーザ・アクティビティの持続時間に基づき、ハイライト・リールを表すデータを生成するための方法700を示すフロー図である。ブロック702において、方法700は、比較的活発なユーザ・アクティビティの持続時間を決定することを含む。例えば、持続時間ディターミナ140が、入力イベント118に基づき、ゲームプレイ・セッション114時の比較的より活発なユーザ・アクティビティの持続時間を決定し得る。
【0086】
ブロック704において、方法700は、持続時間に対して、ユーザ関心スコアを計算することを含む。例えば、関心ディターミナ142が、持続時間に対して、その持続時間に生じる一連のユーザ入力イベント118に基づき、ユーザ関心スコアを決定し得る。
【0087】
ブロック706において、方法700は、ユーザ関心スコアに基づき、持続時間のうちの1つ又は複数を選択することを含む。例えば、関心ディターミナ142が、ユーザ関心スコアを閾値(例えば、統計値)と比較することに基づき、持続時間のうちの1つ又は複数を選択し得る。
【0088】
ブロック708において、方法700は、選択した1つ又は複数の持続時間に相当する1つ又は複数のビデオ・クリップを特定することを含む。例えば、ビデオ・クリップ・サーバ116、ゲーム・アプリケーション106、ゲーム・エンジン128、及び/又はアクション・マネージャ130が、選択した1つ又は複数の持続時間に相当する1つ又は複数のビデオ・クリップを特定し得る。
【0089】
ブロック710において、方法700は、ハイライト・リールを表すデータを生成することを含む。例えば、ゲーム・アプリケーション106、ゲーム・エンジン128、及び/又はアクション・マネージャ130が、ハイライト・リールを表すデータを起こし得る。ゲーム・アプリケーション106、ゲーム・エンジン128、及び/又はアクション・マネージャ130はまた、ハイライト・リールを提示し、ハイライト・リールの提示をもたらし、並びに/又はユーザがハイライト・リールを保存する且つ/若しくは共有するのを可能にし、促進する若しくはもたらすこともできる。
【0090】
ここで図8を参照すると、図8は、本開示のいくつかの実施例による、ゲーム・ストリーミング・システム800についてのシステム実例図である。図8には、ゲーム・サーバ802(図1のゲーム・サーバ126及び/又は図6のコンピューティング・デバイス600と同様の構成要素、特徴、及び/又は機能を含み得る)、クライアント・デバイス804(図1のクライアント・デバイス104及び/又は図9のコンピュータ・デバイス900と同様の構成要素、特徴、及び/又は機能を含み得る)、及びネットワーク806(図1のネットワーク102と同様であり得る)が含まれる。
【0091】
少なくとも1つの実施例において、ゲーム・サーバ802がクライント・デバイス804によって使用されるクラウド・コンピューティング・プラットフォームをホストし得る。例えば、ゲームのゲームプレイ・セッションをクライアント・デバイス104(A)のゲーム・アプリケーション106を使用して提示するのをクラウド・コンピューティング・プラットフォームによって円滑に進めることができる。様々な実施例において、クラウド・コンピューティング・プラットフォームは、ディスプレイ108に提示され得るゲームプレイ・セッションのレンダリング(例えば、そのビデオ・データ)を起こすことができる。クラウド・コンピューティング・プラットフォームは、例えば、動的にプロビジョニングし得、全体的に且つ/又は部分的に仮想化コンピューティング環境をもたらすことができる。一実例として、クラウド・コンピューティング・プラットフォームは、1つ又は複数の仮想マシン上のクラウド・コンピューティング・プラットフォーム上にホストされた各ゲームを再生することができる。
【0092】
システム800では、ゲームプレイ・セッション時、クライアント・デバイス804は、入力デバイスへの入力に応答して入力データを受信し、その入力データをゲーム・サーバ802に送信し、ゲーム・サーバ802から符号化表示データを受信し、表示データをディスプレイ824に表示するだけでよい。したがって、よりコンピュータ計算量の多いコンピュータ計算及び処理が、ゲーム・サーバ802に押し付けられる(例えば、ゲームプレイ・セッションのレンダリングがゲーム・サーバ802のGPUによって実行される)。言い換えれば、ゲームプレイ・セッションが、ゲーム・サーバ802からクライアント・デバイス804にストリーミングされ、それによりグラフィック処理及びレンダリングに対するクライアント・デバイス804の要件を減らす。
【0093】
例えば、ゲームプレイ・セッションのインスタンス化に関して、クライアント・デバイス804が、ゲーム・サーバ802から表示データを受信するのに基づいてディスプレイ824にゲームプレイ・セッションのフレームを表示することになり得る。クライアント・デバイス804が、入力デバイスのうちの1つへの入力を受信し、応答で入力データを起こし得る。クライアント・デバイス804がゲーム・サーバ802への入力データを通信インターフェース820を介してネットワーク806(例えば、インターネット)上で送信し得、ゲーム・サーバ802が通信インターフェース818を介してその入力データを受信し得る。CPUが、入力データを受信し、その入力データを処理し、GPUにゲームプレイ・セッションのレンダリングを起こさせるデータをGPUに送信し得る。例えば、入力データは、兵器を打つ、再充填する、弾丸を渡す、車両を方向転換するなどといった、ゲーム時のユーザの気質の動きを表すものであり得る。レンダリング構成要素812がゲームプレイ・セッションをレンダリングし得(例えば、入力データの結果に相当する)、レンダ・キャプチャ構成要素814が表示データとして(例えば、ゲームプレイ・セッションのレンダリングされたフレームを取り込む画像データとして)ゲームプレイ・セッションのレンダリングを取り込み得る。それにより、エンコーダ816が、表示データを符号化して符号化表示データを生成することができ、符号化表示データが通信インターフェース818を経てネットワーク806上でクライアント・デバイス804に送信され得る。クライアント・デバイス804が、通信インターフェース820を経て符号化表示データを受信し得、デコーダ822が、符号化表示データを復号して、表示データを起こし得る。それにより、クラインアント・デバイス804が、この表示データをディスプレイ824を介して表示し得る。
【0094】
また、図1のゲーム・データ・キャプチャラ138の少なくとも一部分が、クライアント・デバイス804に属し得、入力データ及び/又は入力イベント・データをゲーム・サーバ802に与えるのに使用され得る。CPU808が、入力データを受信し、その入力データを処理し、且つ/又は持続時間ディターミナ140及び/若しくは関心ディターミナ142を使用して持続時間を特定し、関心のある持続時間を予測し得る。少なくとも1つの実施例において、クライアント・デバイス804が、入力データを処理し、且つ/又は持続時間ディターミナ140及び/若しくは関心ディターミナ142を使用して、持続時間を特定し、関心のある持続時間を予測し得る。
【0095】
図9は、本開示のいくつかの実施例を具体化する際の使用に適したコンピューティング・デバイス900の一実例のブロック図である。コンピューティング・デバイス900は、メモリ904、1つ又は複数の中央処理装置(CPU:central prosessing unit)906、1つ又は複数のグラフィックス処理ユニット(GPU:graphics processing unit)908、通信インターフェース910、入力/出力(I/O:input/output)ポート912、入力/出力構成要素914、電源916、並びに1つ又は複数の提示構成要素918(例えば、ディスプレイ)を直接に又は間接につなげるバス902を含み得る。
【0096】
図9の様々なブロックは、バス902を介して接続されるとして線で示されているが、これは、限定であることを意図するものではなく、単に分かりやすくするためである。例えば、実施例によっては、表示デバイスなどの提示構成要素は918は、I/O構成要素914と見なされ得る(例えば、ディスプレイがタッチ・スクリーンである場合)。別の実例として、CPU906及び/又はCPU908は、メモリを含み得る(例えば、メモリ904は、GPU908、CPU906、及び/又は他の構成要素のメモリ以外の記憶素子に相当し得る)。言い換えれば、図9のコンピューティング・デバイスは、単に理解を助けるものに過ぎない。全てが図9のコンピューティング・デバイスの範囲にある可能性が受け入れられるように、「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレット」、「クライアント・デバイス」、「モバイル・デバイス」、「ハンドヘルド・デバイス」、「ゲーム・コンソール」、「電子制御ユニット(ECU:electronic cntrol unit)」、「仮想現実システム」、及び/又は他の種類のデバイス若しくはシステムといった範疇に区分されない。
【0097】
バス902は、アドレス・バス、データ・バス、制御バス、又はそれらの組合せなど、1つ又は複数のバスに相当し得る。バス902としては、業界標準アーキテクチャ(ISA:industry standard architecture)バス、拡張業界標準アーキテクチャ(EISA:extended industry standard architecture)バス、ビデオ・エレクトロニクス標準協会(VESA:video electronics standard association)バス、周辺機器相互接続(PCI:peripheral component interconnect)バス、周辺機器相互接続エクスプレス(PCIe:peripheral component interconnect express)バス、及び/又は他の型のバスなど、1つ又は複数の型のバスを挙げることができる。
【0098】
メモリ904としては、様々なコンピュータ可読媒体のどのようなものでも挙げることができる。コンピュータ可読媒体は、コンピューティング・デバイス900によってアクセスされ得る使用可能な如何なる媒体であってもよい。コンピュータ可読媒体としては、揮発性媒体と不揮発性媒体、及びリムーバブル媒体と非リムーバブル媒体の両方を挙げることができる。限定ではなく例として、コンピュータ可読媒体としては、コンピュータ記憶媒体及び通信媒体が含まれ得る。
【0099】
コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は他のデータ型などの情報の格納用に如何なる方法又はテクノロジでも具体化される揮発性媒体、及び不揮発性媒体、並びに/又はリムーバブル媒体、及び非リムーバブル媒体を挙げることができる。例えば、メモリ904は、コンピュータ可読命令(例えば、オペレーティング・システムなど、プログラム及び/又はプログラム要素を表すを格納することができる。コンピュータ記憶媒体としては、RAM、ROM、EEPROM、若しくはフラッシュ・メモリなどのメモリ・テクノロジと、CD-ROM、若しくはデジタル・バーサタイル・ディスク(DVD)などの光ディスク記憶域と、磁気カセット、磁気テープ、若しくは磁気ディスク記憶域などの磁気記憶デバイスと、又は望ましい情報を格納するのに使用され得、コンピューティング・デバイス900によってアクセスされ得る他の如何なる媒体も挙げることができるが、これらに限定するわけではない。本明細書で使用される際、コンピュータ記憶媒体としては、信号そのものは含まれない。
【0100】
通信媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は搬送波などの移送機構などの変調データ信号における他のデータ型を具体化することができ、如何なる情報配信媒体も含む。「変調データ信号」という用語は、その特性集合のうちの1つ又は複数を有し、又はその信号における情報を符号化するように変えられる信号を指すことができる。限定ではなく例として、通信媒体としては、有線ネットワーク又はダイレクト有線接続などの有線媒体、並びに可聴、RF、及び赤外線無線媒体などの無線媒体を挙げることができる。
【0101】
CPU906は、コンピュータ可読命令を実施して、本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実施するようにコンピューティング・デバイス900のうちの1つ又は複数の構成要素を制御するように構成され得る。CPU906は、それぞれ、複数のソフトウェア・スレッドを同時にハンドリングすることができる1つ又は複数のコア(例えば、1つ、2つ、4つ、8つ、28個、72個など)を含み得る。CPU906は、如何なる類のプロセッサでも含み得、具体化されたコンピューティング・デバイス900の種類(例えば、モバイル・デバイス用のコアがほとんどないプロセッサ、及びサーバ用のコアがもっとあるプロセッサ)に応じて、様々な類のプロセッサを含み得る。例えば、コンピューティング・デバイス900の種類に応じて、プロセッサは、縮小命令セット・コンピューティング(RISC:Reduced Instruction Set Computing)を使用して具体化されたARMプロセッサ、又は複合命令セット・コンピューティング(CISC:Complex Instruction Set Computing)を使用して具体化されたx86プロセッサである場合がある。コンピューティング・デバイス900は、数値演算コプロセッサなど、1つ又は複数のマイクロプロセッサ若しくは補完コプロセッサに加えて1つ又は複数のCPU906を含み得る。
【0102】
GPU908は、グラフィック(例えば、3Dグラフィック)をレンダリングするのにコンピューティング・デバイス900によって使用され得る。GPU908は、数百又は数千のソフトウェア・スレッドを同時にハンドリングすることができる数百又は数千のコアを含み得る。GPU908は、レンダリング・コマンド(例えば、CPU906からホスト・インターフェースを介して受信されるレンダリング・コマンド)に応答して、出力画像に対する画素データを生成することができる。GPU908は、画素データを格納するための表示メモリなどのグラフィック・メモリを含み得る。表示メモリは、メモリ904の一部として含まれ得る。GPU808は、並行して働く(例えば、リンクを介して)2つ以上のGPUを含み得る。互いに組み合わせられると、各GPU908は、出力画像の様々な部分に対する、又は様々な出力画像に対する、画素データを生成することができる(例えば、第1の画像には第1のGPU、第2の画像には第2のGPU)。各GPUは、自分のメモリを含む場合があり、又は他のGPUとメモリを共有する場合がある。
【0103】
コンピューティング・デバイス900がGPUを含んでいない実例では、CPU906は、グラフィックをレンダリングするのに使用され得る。
【0104】
通信インターフェース910は、有線通信及び/又は無線通信が含まれる、コンピューティング・デバイス800に、電子通信ネットワークを介して他のコンピューティング・デバイスと通信するのを可能にさせる、1つ又は複数の受信機、送信機、及び/又はトランシーバを含み得る。通信インターフェース910は、無線ネットワーク(例えば、Wi-Fi、Z-Wave、Bluetooth、Bluetooth LE、ZigBeeなど)、有線ネットワーク(例えば、イーサネット(登録商標)上で通信すること)、低消費電力広域ネットワーク(例えば、LoRaWAN、SigFoxなど)、及び/又はインターネットなど、幾つでも様々なネットワークにわたる通信を可能にする構成要素及び機能性を含み得る。
【0105】
I/Oポート912により、コンピューティング・デバイス900を、I/O構成要素914、提示構成要素918、及び/又は他の構成要素を含む他のデバイスに必然的につなげることができ、そのいくつかは、コンピューティング・デバイス900に組み込まれ得る(例えば、一体化され得る)。例証のI/O構成要素914としては、マイクロフォン、マウス、キーボード、ジョイスティック、ゲーム・パッド、ゲーム・コントローラ、衛星放送受信用パラボラアンテナ、スキャナ、プリンタ、無線デバイスなどが挙げられる。I/O構成要素914は、エア・ジャスチャ、又は声などのユーザによって起こされる生理的入力を処理する、ナチュラル・ユーザ・インターフェース(NUI:natural user interface)をもたらすことができる。場合によっては、入力は、さらなる処理に向けて該当するネットワーク要素に送信され得る。NUIは、音声認識、スタイラス認識、顔認識、生体認識、ジャスチャ認識、エア・ジェスチャ、頭や目の追跡、及びタッチ認識の如何なる組合せ(以下でより詳細に説明するように)も、コンピューティング・デバイス900のディスプレイに対応している、画面上と画面の近くとの両方で具体化することができる。コンピューティング・デバイス900は、ジャスチャ検出及び認識用に、立体カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、タッチスクリーン・テクノロジ、及びこれらの組合せなどの深度カメラを含み得る。さらに、コンピューティング・デバイス900は、動きの検出を可能にする加速度計又はジャイロスコープ(例えば、慣性計測ユニット(IMU:inertia measurement unit)の一部として)を含み得る。実例によっては、加速度計又はジャイロスコープの出力は、没入型拡張現実又は没入型仮想現実をレンダリングするのにコンピューティング・デバイス900によって使用され得る。
【0106】
電源916としては、ハードワイヤード電源、バッテリ電源、又はそれらの組合せを挙げることができる。電源916は、コンピューティング・デバイス900の構成要素に作動するのを可能にさせるように、電力をコンピューティング・デバイス900に与えることができる。
【0107】
提示構成要素918としては、ディスプレイ(例えば、モニタ、タッチ・スクリーン、テレビ画面、ヘッド・アップ・ディスプレイ(HUD:heads-up-display)などの種類のディスプレイ、又はこれらの組合せ)、スピーカ、及び/又は他の提示構成要素を挙げることができる。提示構成要素918は、他の構成要素(例えば、GPU908、CPU906など)からデータを受信し、データを出力することができる(例えば、画像、映像、音などとして)。
【0108】
バーソナル・データ・アシスタントなどのハンドヘルド・デバイスなどのコンピュータなどの機械によって実行される、プログラム・モジュールなどのコンピュータ実行可能命令を含む、コンピュータ・コード又は機械使用可能命令の一般論として、本開示を説明する場合がある。通常、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含むプログラム・モジュールは、特定のタスクを実施する、又は特定の抽象的なデータ型を具体化するコードのことである。本開示は、ハンドヘルド・デバイス、消費者用電子機器、汎用コンピュータ、より専門的なコンピューティング・デバイスなどを含む、様々なシステム構成で実施され得る。本開示は、タスクが通信ネットワークを通してつながれている遠隔処理デバイスによって行われる、分散型コンピューティング環境でも実施され得る。
【0109】
本明細書で使用される際、2つ以上の要素に関する「及び/又は」という列挙は、要素が1つだけ、又は要素の組合せを意味すると解釈されるべきである。例えば、「要素A、要素B、及び/又は要素C」と言うとき、要素Aのみ、要素Bのみ、要素Cのみ、要素Aと要素B、要素Aと要素C、要素Bと要素C、又は要素A、B、及びCを含む可能性がある。さらに、「要素A又は要素Bのうちの少なくとも1つ」と言うとき、少なくとも1つの要素A、少なくとも1つの要素B、又は少なくとも1つの要素Aと少なくとも1つの要素Bを含む可能性がある。また、「要素A及び要素Bのうちの少なくとも1つ」と言うとき、少なくとも1つの要素A、少なくとも1つの要素B、又は少なくとも1つの要素Aと少なくとも1つの要素Bを含む可能性がある。
【0110】
本明細書では、本開示の発明の対象を、法上の要件を満たすように具体的に説明している。しかし、説明そのものは、本開示の範囲を限定することを意図するものではない。そうではなく、発明者は、請求項に記載の発明の対象が、他の今ある又はこれからの技術と相まって、この明細書に記述したものと同様の様々なステップ又はステップの組合せを含めるように他のやり方でも具体化され得る可能性を受け入れている。また、「ステップ」及び/又は「ブロック」という用語が本明細書では、採用された方法の様々な要素を意味するのに使用されていることがあるが、これらの用語は、個々のステップの順番が明確に述べられていない限り、また述べられている場合を除いて、本明細書に開示の様々なステップの中又はステップ間のいずれか特定の順番を暗示すると解釈されるべきではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9