(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコンピュータプロセッサと、
１つまたは複数のコンピュータメモリと、
前記１つまたは複数のコンピュータメモリに組み込まれた１つまたは複数のモジュールと
を備えるシステムであって、
前記１つまたは複数のモジュールは、ビデオセッションのカスタムバージョンが少なくとも１つの視聴者デバイス上での提示のために作成されることを可能にするための動作を実行するように前記１つまたは複数のコンピュータプロセッサを構成し、前記動作は、
ライブまたは記録されたビデオフィードから生成されたゲームメタデータを受信することであって、前記ゲームメタデータは、前記ライブまたは記録されたビデオフィードに関連する三次元モデリングデータを含む、前記ゲームメタデータを受信すること、
複数の視聴者デバイスから収集された視聴者メタデータを受信することであって、前記視聴者メタデータは、複数の視聴者デバイス上での前記ビデオセッションの提示に対する複数の視聴者の複数の応答に関する情報を含む、前記視聴者メタデータを受信すること、
前記ゲームメタデータおよび前記視聴者メタデータに基づいて追加ゲームメタデータを作成することであって、前記追加ゲームメタデータは、前記三次元モデリングデータに基づく新しいカメラアングルまたは異なるカメラアングルのうちの少なくとも一方に関連するカメラデータを含み、前記追加ゲームメタデータの作成は、撮影モジュールの自動撮影機能を呼び出すことにより実施され、前記自動撮影機能は、前記ビデオセッションの伝送に挿入される遅延の間にゲームイベントのショットの構図を自動的に設定すること、および前記提示の間にゲームイベントが発生する前に前記ショットへ自動的に遷移することを含む、前記追加ゲームメタデータを作成すること、
前記少なくとも１つの視聴者デバイス上での前記ビデオセッションのカスタムバージョンの少なくともほぼリアルタイムでの提示のために、前記追加ゲームメタデータを前記ゲームメタデータに統合すること
を含む、システム。
【請求項２】
前記追加ゲームメタデータの作成は、カメラ制御ツールを介してユーザによって実行され、前記カメラ制御ツールは、前記三次元モデリングデータによってモデル化された環境内でユーザがカメラを制御して新しいカメラを作成することを可能にする、請求項１に記載のシステム。
【請求項３】
前記動作は、前記ゲームメタデータに関する情報を、ユーザインタフェースの第１の領域に提示すること、および前記視聴者メタデータに関する情報を、前記ユーザインタフェースの第２の領域に提示することをさらに含む、請求項２に記載のシステム。
【請求項４】
前記視聴者メタデータは、視聴されているゲームレベル、視聴されているゲームオブジェクト、視聴のために使用されているカメラ、フォローされているゲームイベント、または視聴者の反応のうちの少なくとも１つに関する情報を含む、請求項１に記載のシステム。
【請求項５】
前記ビデオセッションは、ｅスポーツビデオセッションであり、前記動作は、
複数のプレーヤーデバイスから収集されたゲームデータを受信することであって、前記ゲームデータは、前記複数のプレーヤーデバイスに関連する複数のプレーヤーによって実行された複数のアクションを表し、前記複数のアクションの各々は、前記ビデオセッションにおいてプレイされているゲームの環境の態様を変化させる前記複数のプレーヤーによって実行されたアクションである、前記ゲームデータを受信すること、
ゲームサーバへの伝送のために前記ゲームデータを前記ゲームメタデータと同期させること
をさらに含む、請求項１に記載のシステム。
【請求項６】
前記動作は、前記視聴者を指すカメラから収集されたカメラデータに少なくとも部分的に基づいて前記視聴者の反応を判定することをさらに含む、請求項４に記載のシステム。
【請求項７】
コンピュータにより実装されたデプロイメントプロセスを介して１つまたは複数のコンピュータメモリに１つまたは複数のモジュールを組み込むことを含む方法であって、前記１つまたは複数のモジュールは、ビデオセッションのカスタムバージョンが少なくとも１つの視聴者デバイス上での提示のために作成されることを可能にするための動作を実行するように１つまたは複数のコンピュータプロセッサを構成し、前記動作は、
ライブまたは記録されたビデオフィードから生成されたゲームメタデータを受信することであって、前記ゲームメタデータは、前記ライブまたは記録されたビデオフィードに関連する三次元モデリングデータを含む、前記ゲームメタデータを受信すること、
複数の視聴者デバイスから収集された視聴者メタデータを受信することであって、前記視聴者メタデータは、複数の視聴者デバイス上での前記ビデオセッションの提示に対する複数の視聴者の複数の応答に関する情報を含む、前記視聴者メタデータを受信すること、
前記ゲームメタデータおよび前記視聴者メタデータに基づいて追加ゲームメタデータを作成することであって、前記追加ゲームメタデータは、前記三次元モデリングデータに基づく新しいカメラアングルまたは異なるカメラアングルのうちの少なくとも一方に関連するカメラデータを含み、前記追加ゲームメタデータの作成は、撮影モジュールの自動撮影機能を呼び出すことにより実施され、前記自動撮影機能は、前記ビデオセッションの伝送に挿入される遅延の間にゲームイベントのショットの構図を自動的に設定すること、および前記提示の間にゲームイベントが発生する前に前記ショットへ自動的に遷移することを含む、前記追加ゲームメタデータを作成すること、
前記少なくとも１つの視聴者デバイス上での前記ビデオセッションのカスタムバージョンの少なくともほぼリアルタイムでの提示のために、前記追加ゲームメタデータを前記ゲームメタデータに統合すること
を含む、方法。
【請求項８】
前記追加ゲームメタデータの作成は、カメラ制御ツールを介してユーザによって実行され、前記カメラ制御ツールは、前記三次元モデリングデータによってモデル化された環境内でユーザがカメラを制御して新しいカメラを作成することを可能にする、請求項７に記載の方法。
【請求項９】
前記動作は、前記ゲームメタデータに関する情報を、ユーザインタフェースの第１の領域に提示すること、および前記視聴者メタデータに関する情報を、前記ユーザインタフェースの第２の領域に提示することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記視聴者メタデータは、視聴されているゲームレベル、視聴されているゲームオブジェクト、視聴のために使用されているカメラ、フォローされているゲームイベント、または視聴者の反応のうちの少なくとも１つに関する情報を含む、請求項７に記載の方法。
【請求項１１】
前記ビデオセッションは、ｅスポーツビデオセッションであり、前記動作は、
複数のプレーヤーデバイスから収集されたゲームデータを受信することであって、前記ゲームデータは、前記複数のプレーヤーデバイスに関連する複数のプレーヤーによって実行された複数のアクションを表し、前記複数のアクションの各々は、前記ビデオセッションにおいてプレイされているゲームの環境の態様を変化させる前記複数のプレーヤーによって実行されたアクションである、前記ゲームデータを受信すること、
ゲームサーバへの伝送のために前記ゲームデータを前記ゲームメタデータと同期させること
をさらに含む、請求項７に記載の方法。
【請求項１２】
前記動作は、前記視聴者を指すカメラから収集されたカメラデータに少なくとも部分的に基づいて前記視聴者の反応を判定することをさらに含む、請求項１０に記載の方法。
【請求項１３】
プロセッサによって実行されると、ビデオセッションのカスタムバージョンが少なくとも１つの視聴者デバイス上での提示のために作成されることを可能にするための動作をプロセッサに実行させるプロセッサ実行可能命令を格納する非一時的マシン可読媒体であって、前記動作は、
ライブまたは記録されたビデオフィードから生成されたゲームメタデータを受信することであって、前記ゲームメタデータは、前記ライブまたは記録されたビデオフィードに関連する三次元モデリングデータを含む、前記ゲームメタデータを受信すること、
複数の視聴者デバイスから収集された視聴者メタデータを受信することであって、前記視聴者メタデータは、複数の視聴者デバイス上での前記ビデオセッションの提示に対する複数の視聴者の複数の応答に関する情報を含む、前記視聴者メタデータを受信すること、
前記ゲームメタデータおよび前記視聴者メタデータに基づいて追加ゲームメタデータを作成することであって、前記追加ゲームメタデータは、前記三次元モデリングデータに基づく新しいカメラアングルまたは異なるカメラアングルのうちの少なくとも一方に関連するカメラデータを含み、前記追加ゲームメタデータの作成は、撮影モジュールの自動撮影機能を呼び出すことにより実施され、前記自動撮影機能は、前記ビデオセッションの伝送に挿入される遅延の間にゲームイベントのショットの構図を自動的に設定すること、および前記提示の間にゲームイベントが発生する前に前記ショットへ自動的に遷移することを含む、前記追加ゲームメタデータを作成すること、
前記少なくとも１つの視聴者デバイス上での前記ビデオセッションのカスタムバージョンの少なくともほぼリアルタイムでの提示のために、前記追加ゲームメタデータを前記ゲームメタデータに統合すること
を含む、非一時的マシン可読媒体。
【請求項１４】
前記追加ゲームメタデータの作成は、カメラ制御ツールを介してユーザによって実行され、前記カメラ制御ツールは、前記三次元モデリングデータによってモデル化された環境内でユーザがカメラを制御して新しいカメラを作成することを可能にする、請求項１３に記載の非一時的マシン可読媒体。
【請求項１５】
前記動作は、前記ゲームメタデータに関する情報を、ユーザインタフェースの第１の領域に提示すること、および前記視聴者メタデータに関する情報を、前記ユーザインタフェースの第２の領域に提示することをさらに含む、請求項１４に記載の非一時的マシン可読媒体。
【請求項１６】
前記視聴者メタデータは、視聴されているゲームレベル、視聴されているゲームオブジェクト、視聴のために使用されているカメラ、フォローされているゲームイベント、または視聴者の反応のうちの少なくとも１つに関する情報を含む、請求項１３に記載の非一時的マシン可読媒体。
【請求項１７】
前記ビデオセッションは、ｅスポーツビデオセッションであり、前記動作は、
複数のプレーヤーデバイスから収集されたゲームデータを受信することであって、前記ゲームデータは、前記複数のプレーヤーデバイスに関連する複数のプレーヤーによって実行された複数のアクションを表し、前記複数のアクションの各々は、前記ビデオセッションにおいてプレイされているゲームの環境の態様を変化させる前記複数のプレーヤーによって実行されたアクションである、前記ゲームデータを受信すること、
ゲームサーバへの伝送のために前記ゲームデータを前記ゲームメタデータと同期させること
をさらに含む、請求項１３に記載の非一時的マシン可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、概してマルチプレーヤーコンピュータゲームに関し、より具体的には、３Ｄコンテンツを作成、放送、および視聴するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ビデオゲームプレーヤーがオンラインマルチプレーヤーゲームをリアルタイムでプレイすることを可能にするための様々なツールが存在し、それによってネットワーク上に分布する複数のビデオゲームプレーヤーが同じビデオゲーム内で同時に交流する。さらに、プレイしていないユーザがゲームを視聴したり、ゲームの表示を解説とともに放送したりするために存在するツールがある。これらのプレイしていないユーザは、「ホスト」または「キャスター」と呼ばれ、彼らの放送はゲームのキャスティングである。多くのサードパーティが、Ｔｗｉｔｃｈ（登録商標）やＹｏｕＴｕｂｅ（登録商標）などのウェブサイトを介して、キャストされたゲームにチャンネルを合わせて視聴することが可能である。
【０００３】
サードパーティの視聴者にとって残念なことに、放送の映像品質は、カメラの安定性、ショットの構図、カメラのカットなどの点でしばしば非常に劣悪である。キャスターは大抵、撮影の訓練を受けておらず、ゲームのアクションをキャプチャするために自由に使えるツールは非常に限られている。最も人気のあるツールは、コンピュータのマウスで制御されるカメラであるが、このツールはしばしば途切れた映像を提供する。さらに多くの場合、キャスターは表示の制御を全く持たず、プレーヤーのカメラ（例えば、任意の瞬間にプレーヤーによって使用されるカメラビュー）を使用してキャストを作成しなければならず、これは視聴し難い。ゲームから直接（例えばキャスターなしで）アクションを見ている視聴者は、プレーヤーのカメラのうちの１つから見る以外の選択肢がない。さらに、従来的なゲーム放送のもう一つの欠点は、その出力が、撮影を制御したり、「視聴数」、「いいね」、およびコメントを超えて意味のある視聴者フィードバックを提供したりする能力を持たない標準的なビデオプレーヤーで視聴可能な標準的なビデオストリームであることである。
【図面の簡単な説明】
【０００４】
添付の図面の様々なものは、本開示の例示的な実施形態を単に示すものであり、その範囲を限定すると見なすことはできない。本開示のさらなる特徴および利点は、添付の図面と併せて、以下の詳細な説明から明らかになるであろう。
【図１】一実施形態による、ｅスポーツデバイスおよび関連する周辺機器を含むｅスポーツシステムの一例のコンポーネント図である。
【図２Ａ】一実施形態による、オンラインマルチプレーヤーコンピュータゲーム（例えば、ｅスポーツゲーム）が提供される例示的なネットワークにおけるｅスポーツシステムを示す図である。
【図２Ｂ】一実施形態による、実世界のイベントのブロードキャストが提供される例示的なネットワークにおけるｅスポーツシステムを示す図である。
【図３Ａ】一実施形態による、ビデオ共有サイトを介した視聴者への配信および提示のためのｅスポーツゲームの高精細放送コンテンツを作成するための例示的な方法を示す図である。
【図３Ｂ】一実施形態による、ビデオ共有サイトを介した視聴者への配信および提示のためのｅスポーツゲームの高精細放送コンテンツを作成するための例示的な方法を示す図である。
【図３Ｃ】一実施形態による、ｅスポーツイベントの高精細放送コンテンツのための撮影を表示および制御するための例示的な方法を示す図である。
【図３Ｄ】一実施形態による、ｅスポーツイベントの高精細放送コンテンツのための撮影を表示および制御するための例示的な方法を示す図である。
【図４】一実施形態による、本明細書で説明される様々なハードウェアアーキテクチャと併せて使用され得る例示的なソフトウェアアーキテクチャを示すブロック図である。
【図５】一実施形態に従って、マシン可読媒体（例えば、マシン可読記憶媒体）から命令を読み取り、本明細書で論じる方法の任意の１つまたは複数を実行することができる、例示的な実施形態によるマシンの構成要素を示すブロック図である。
【発明を実施するための形態】
【０００５】
本明細書で提供される見出しは単に便宜上のものであり、使用される用語の範囲または意味に必ずしも影響を与えるわけではない。図中の類似の番号は類似の構成要素を示す。
以下の説明は、本開示の例示的な実施形態を具体化するシステム、方法、技術、命令シーケンス、および計算機プログラム製品を含む。以下の説明では、説明の目的で、本発明の主題の様々な実施形態の理解を促すために、多数の具体的な詳細が述べられている。しかしながら、本発明の主題の実施形態がこれらの具体的な詳細なしで実施されてもよいことは当業者には明らかであろう。一般に、よく知られている命令インスタンス、プロトコル、構造、および技術は必ずしも詳細に示されていない。
【０００６】
本明細書に記載のシステムおよび方法は、リアルタイムで（または少なくともほぼリアルタイムで）ゲーム環境から映像品質の高いビデオ出力を生成する手段を提供し、ビデオ出力は、視聴体験を豊かにするために視聴者によって使用され得るメタデータを含む。さらに、本明細書で提供されるシステムおよび方法は、視聴者にゲーム放送を表示し、メタデータを操作することを可能にするツールを提供し、視聴者からデータを収集してリアルタイムでゲームおよびゲームキャスターにフィードバックを提供するように構成されたプレーヤーコンポーネントを記述する。
【０００７】
本明細書に記載のシステムおよび方法により、キャスターは、オーディオ、ビデオ、およびゲームのメタデータを活用して高い映像品質を提供し、視聴体験を豊かにするゲーム放送を、ゲーム環境からリアルタイムで作成することができる。さらに、本明細書で提供されるシステムおよび方法は、視聴者にゲーム放送を表示し、視聴者がメタデータを操作することを可能にする視聴者ツールを提供し、視聴者からデータを収集してゲームおよびゲームキャスターにリアルタイムでフィードバックを提供するように構成された視聴モジュールを記述する。別の実施形態によれば、視聴モジュールは、以前に記録されたゲームまたは以前に記録されたゲームの放送を表示し、メタデータを操作することを可能にするツールを視聴者に提供し、視聴者からデータを収集してゲームに対してフィードバックを提供するように構成されている。別の実施形態によれば、視聴モジュールは、（例えば３Ｄ環境データから）３Ｄ環境を表示し、メタデータおよび３Ｄ環境を操作することを可能にするツールを視聴者に提供し、視聴者からデータを収集して、３Ｄ環境データのジェネレータに対してフィードバックを提供するように構成されている。３Ｄ環境データは、ライブ３Ｄモデルデータ、実世界環境のライブ３Ｄレンダリング（例えばライブ３Ｄ写真測量）、予め記録された３Ｄモデルデータ、および現実世界環境の予め記録された３Ｄレンダリング（例えば記録３Ｄ写真測量）を含むことができる。本明細書の説明全体を通して、ｅスポーツという用語は、一般に、リアルタイムで生成されたネットワーク化されたマルチプレーヤーゲームのためのデータを含む３Ｄコンテンツを指し、これにより、ネットワーク上に分布する複数のビデオゲームプレーヤーが同時に同じビデオゲーム内で交流し（例えば、アマチュアオンラインゲーミングおよび競技プロフェッショナルオンラインゲーミング）、そしてこの用語は３Ｄ環境データを含む。
【０００８】
図１は、例示的なｅスポーツデバイス１０２および関連する周辺機器のコンポーネント図である。例示の実施形態では、ｅスポーツデバイス１０２は、ユーザ１１０によって操作されるコンピューティングデバイスである。ユーザ１１０は、オンラインマルチプレーヤーゲーム（例えば、ｅスポーツゲーム）のプレーヤー、またはｅスポーツゲームに関連する様々な放送機能を提供する放送キャスター（または単に「キャスター」）、または放送のサードパーティの視聴者であり得る。ｅスポーツデバイス１０２は、１つまたは複数のディスプレイデバイス１０４（例えば、従来のコンピュータモニタ、ＶＲウェアラブルデバイスなど）および１つまたは複数の入力デバイス１０６（例えば、キーボード、マウス、ハンドヘルドまたはウェアラブルポインティングデバイス、カメラデバイス、モーション追跡デバイスなど）を含む。ｅスポーツデバイス１０２は、メモリ１２０、１つまたは複数の中央処理装置（ＣＰＵ）１２２、１つまたは複数のグラフィック処理装置（ＧＰＵ）１２４、および１つまたは複数のネットワークアダプタ１２６（例えば、ｅスポーツゲームに使用されるネットワーク接続を提供する有線または無線ネットワークアダプタ）も含む。
【０００９】
例示的実施形態では、ｅスポーツデバイス１０２は、ｅスポーツゲームをユーザ１１０に提示するゲームエンジン１３０（例えば、ＣＰＵ１２２またはＧＰＵ１２４によって実行される）を含む。ゲームエンジン１３０は、本明細書で説明されるようにｅスポーツゲームのための様々な放送機能を提供するｅスポーツモジュール１４０を含む。ｅスポーツモジュール１４０は、ライブゲームモジュール１４２、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８を含み、これらの各々は、ゲームエンジン１３０内で、またはそうでなければゲームエンジン１３０と通信して実装される。ライブゲームモジュール１４２、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８の各々、ならびにゲームエンジン１３０は、動作中、ＣＰＵ１２２またはＧＰＵ１２４によって実行される、メモリ１２０内に存在するコンピュータ実行可能命令を含む。ゲームエンジン１３０は、ディスプレイデバイス１０４と通信し、さらに入力デバイス１０６などの他のハードウェアと通信する。ライブゲームモジュール１４２、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８、あるいはｅスポーツモジュール１４０全体は、ゲームエンジン１３０内に直接統合されてもよく、または外部のソフトウェアとして実装されてもよい（例えば、プラグイン、または他の独立したソフトウェア）。さらに、図１では、ライブゲームモジュール１４２、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８は別個のモジュールとして示されているが、実際にはこれらのモジュールは任意の方法で組み合わせることができ、個別のコードモジュールとして実装されるのではなく、ゲームモジュールのためのコード内で直接統合されてもよい。
【００１０】
例示的実施形態では、ライブゲームモジュール１４２は、ユーザ１１０が、ライブまたは記録されたオンラインビデオゲームセッション（または単に「ｅスポーツセッション」）および３Ｄ環境データ（例えば、リアルタイムの写真測量法を用いた実際に記録されたフットボールゲーム）を有するライブまたは記録された実世界セッションまたはイベントを視聴し、参加することを可能にする一連のツールを１または複数のユーザ１１０に提供し、これは、本明細書に記載されるようなｅスポーツシステムのための機能を提供する。一実施形態によれば、キャスティングモジュール１４４は、本明細書で説明されるようなｅスポーツシステムに従って、ユーザ１１０がオンラインｅスポーツセッション（または記録されたｅスポーツセッション）の態様を記録および放送（例えばメタデータを含む）することを可能にするツールのセットを提供する。ユーザ１１０（例えばキャスター）は、ｅスポーツゲームに完全に参加しているか、またはｅスポーツゲームの視聴者であり得る。メタデータは、本明細書で説明するようにユーザ１１０に機能を提供するためにライブゲームモジュール１４２および視聴モジュール１４６によって使用されることができるデータを含む。キャスティングモジュール１４４は、ユーザが高度なカメラ技術を使用して１つまたは複数のカメラを制御することを可能にするために、ユーザ１１０に撮影ツールを（例えば、撮影モジュール１４８を使用して）提供し得る。
【００１１】
一実施形態によれば、視聴モジュール１４６は、（例えば、キャスティングモジュール１４４、視聴モジュール１４６、撮影モジュール１４８、またはライブゲームモジュール１４２を使用して）他のユーザ１１０によって作成されたセッションからのデータおよびビデオを含む、オンラインｅスポーツセッション（または記録されたｅスポーツセッション）からのゲームデータを表示および操作するため、および視聴中にユーザ１１０から（例えば、視聴されているゲームレベル、視聴されているゲームオブジェクト、視聴のために用いられているカメラ、フォローされているイベント、特定のカメラおよび特定のカメラアングルからの視聴期間、視聴されているプレーヤー、視聴されているバトル、ショットの構図、マウスポジションなどの、ユーザのアクションまたは行動に関するリアルタイムデータを含む）視聴者メタデータを収集するためのツールをユーザ１１０に提供する。この視聴者データから、ｅスポーツモジュールは、視聴者がどのカメラを好むか、彼らがどの程度早くカメラを切り替えるか、ゲームの開始とゲームの終了に対しどのアングルを好むか、および任意の所与のシナリオが発生したときにどのアングルを好むかを決定することができる。収集された視聴者データは、本明細書では「視聴者メタデータ」と呼ばれることがある。いくつかの実施形態において、視聴モジュール１４６は、カメラデバイス（別個に図示されていない）を利用して、ユーザ１１０（例えば、放送コンテンツの視聴者）のビデオフィードをキャプチャし、ゲームプレイ中のユーザ１１０の目の動きおよび頭の動きを追跡して（例えば、視聴者が任意の所与の時間に自分の目の焦点を合わせている場所を近似する）、ビデオフィードおよび／または追跡された目の動きデータを視聴者メタデータに追加するようにする。いくつかの実施形態によれば、追跡された目の動きまたは頭の動きは、ｅスポーツセッション内でカメラを制御するために使用されて、ユーザが頭（または目）の動きでカメラの動きを直接制御することを可能とする仮想現実ヘッドマウントディスプレイデバイスまたは拡張現実ヘッドマウントディスプレイデバイスと同様の頭部追跡カメラモードを有効にすることができる。いくつかの実施形態において、視聴モジュール１４６は、視聴者のビデオフィードを分析して、ゲームプレイ中の視聴者の表情を判定することができる。そのような視聴者メタデータは、ｅスポーツセッションにおいてプレーヤーによって使用されるｅスポーツデバイス１０２に送り返されてもよく、プレーヤーに視聴者について知らせるために（例えば、プレーヤーに、視聴者の３０％が彼の戦いを見ていること、または、視聴者がプレーヤー「Ｘ」を最も見ていること、または、視聴者がドローンカメラから戦いを見ることを好むこと、または、視聴者が平均時間間隔「Ｙ」秒でカメラビューを切り替えることを知らせるために）、または、ユーザが特定の反応（例えば、驚き、恐怖、娯楽、悲しみなど）を示したことを知らせるために、プレーヤーに提示されてもよい。いくつかの実施形態では、視聴者メタデータは、ネットワークを介して中央リポジトリ（例えば、図において別個に示されていないデータベース）に、格納および（例えば、広告主および開発者による）後の使用のために送信され得る。いくつかの実施形態では、視聴モジュール１４６は、視聴者メタデータ、ゲームデータ、およびカメラメタデータをキャプチャ、記録、およびタイムスタンプすることができる。一実施形態によれば、タイムスタンプ付き視聴者メタデータは、タイムスタンプ付きゲームデータおよびカメラメタデータとアラインされる。タイムスタンプ付きデータは、開発者または広告主によって、任意の所与のレスポンス（例えば、「Ｘレスポンスの両側の１秒間にメタデータストリームに何があったか？」などのクエリが、タイムスタンプ付きデータを含むデータベースに送られることがあり、ここで「Ｘ」は測定可能な視聴者の反応を表す）、および特定のゲームイベント、カメライベント、およびキャスターアクションに対する視聴者の反応に対するキャプチャウィンドウを定義することを含むデータ間の関係を決定するために後に使用され得る。
【００１２】
一実施形態によれば、撮影モジュール１４８は、ライブゲームモジュール１４２、キャスティングモジュール１４４、および視聴モジュール１４６に、オンラインｅスポーツセッションを表示および記録するための一組の撮影ツールを提供する。撮影モジュール１４８がどのようにツールを提供するかについての詳細は、本明細書においてｅスポーツシステムの説明と共に提供される。一実施形態によれば、撮影ツールは、ゲーム環境において仮想カメラを作成し、位置決めし、配向し、およびそのプロパティを変更するためのツールを含む。ツールは、ユーザが撮影モジュール１４８によって実施される撮影機能を制御するためのグラフィカルユーザインタフェース、撮影機能の一部または全部を自動化して実行するための自動撮影ツール、および（例えばアプリケーションインタフェースまたはＡＰＩを介した）撮影機能のセット、並びに撮影メタデータを作成してデバイス出力に埋め込むためのツールを含み得る。一実施形態によれば、撮影ツールは、ユーザが（例えばジョイスティックまたはマウスを介して）カメラを直接動かすことなく所望のショットを可能にする高レベルのメカニズムで機能する。メカニズムは、手続き型構成、ショット評価、衝突回避、および動的フォロー動作が含まれる。
【００１３】
図２Ａは、オンラインマルチプレーヤーコンピュータゲーム（例えば、ｅスポーツゲーム）が提供される例示的ネットワーク２８０におけるｅスポーツシステム２００を示す。例示的実施形態では、ｅスポーツシステム２００は、キャスティングデバイス２１０、２つのプレーヤーデバイス２２０Ａ、２２０Ｂ（集合的にはプレーヤーデバイス２２０）、視聴者デバイス２３０、ビデオ共有サイト２４０、オンラインゲームサーバ２５０、およびオンラインレンダリングサービス２６０を含み、各々が共有ネットワーク２８０（例えばインターネット）で通信している。ネットワーク２８０は、有線および無線ネットワークを含む。キャスティングデバイス２１０、プレーヤーデバイス２２０、および視聴者デバイス２３０は、ｅスポーツデバイス１０２と同様であってもよい。ゲームプレーヤー、キャスター、および視聴者の数は変化し得る。オンラインゲームサーバ２５０は、ゲームエンジン１３０と同様であり得るが、ゲームサーバ機能を提供するために特に構成されたサーバゲームモジュール（図では別個に示されていない）を含む。オンラインレンダリングサービス２６０は、クラウドレンダリングまたはレンダリングファームとしても知られるグラフィックレンダリングサービスを提供するインターネットベースのサービスであってもよい。
【００１４】
例示的実施形態では、ｅスポーツセッションがオンラインビデオゲームである場合、オンラインゲームは、オンラインゲーム用のクライアントーサーバ方法を使用してセットアップされてもよく、オンラインゲームサーバ２５０は、正式バージョンのゲームを実行し、クライアント（例えば、プレーヤーデバイス２２０上のライブゲームモジュール１４２）は、（例えば、ゲームエンジン１３０を介して）ゲームのローカルバージョンを実行する。プレーヤーデバイス２２０およびゲームサーバ２５０は、ｅスポーツセッション中にゲームデータを交換するネットワーク２８０を介して通信し、プレーヤー２２２Ａ、２２２Ｂ（集合的にはプレーヤー２２２）のためのリアルタイムゲーム環境を作成する。オンラインゲームサーバ２５０は、プレーヤーデバイス２２０のライブゲームモジュール１４２を介してすべてのプレーヤー２２２からゲームデータを収集し、正式バージョンのゲームを有することができる。ライブゲームモジュール１４２クライアントは、ローカルバージョンのゲームを（例えば各プレーヤーデバイス上で）実行し、ゲームサーバ２５０からのデータ（例えば他のプレーヤー２２２からのゲームデータを含む）を受け入れて、正式バージョンとしてのサーバデータを使用してローカルバージョンのゲームを更新し、矛盾がある場合にサーバデータがローカルデータをオーバーライドするようにする。
【００１５】
例示的実施形態では、デバイス２１０、２２０、２３０の主な機能を示す目的で、デバイス２１０、２２０、２３０の各々でアクティブであるｅスポーツモジュール１４０のモジュールが図２Ａに示されている。しかしながら、本明細書に記載されている様々なモジュールのうちの任意のものが、デバイス２１０、２２０、２３０のうちの任意のもの上で動作していてもよいことを理解されたい。例えば、動作中、プレーヤーデバイス２２０Ａ、２２０Ｂは、ｅスポーツゲームをプレイしている間、プレーヤー２２２Ａ、２２２Ｂによってそれぞれ操作され、ライブゲームモジュール１４２は、（例えば、オンラインゲームサーバ２５０と通信し、プレーヤー２２２にゲーム環境を提供し、およびプレーヤー２２２がゲームと対話することを可能とするために）各デバイス上でアクティブである。キャスター２１２は、キャスティングデバイス２１０を操作して（例えば様々な視聴者２３２、２４２に）ｅスポーツゲーム用の放送コンテンツを提供し、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８は、キャスティングデバイス２１０上でアクティブである。キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８は、放送コンテンツを作成するためのツールをキャスターに提供するためにアクティブである。視聴者２３２は、視聴者デバイス２３０を操作して、視聴者デバイス２３０上でアクティブな視聴モジュール１４６および撮影モジュール１４８を介してキャスター２１２によって生成された放送コンテンツを消費する。視聴モジュール１４６および撮影モジュール１４８は、視聴者２３２にゲームのビューおよびカメラの何らかの映像制御を提供するために専らアクティブである。これは、ビデオ共有サイト２４０から見ている視聴者２４２と同様である。
【００１６】
例示的実施形態では、（例えばキャスティングデバイス２１０を介して）キャスター２１２によって提供された放送コンテンツは、様々なビデオ共有サイト２４０を介して視聴者２４２に提示され得る。ビデオ共有サイト２４０は、ＹｏｕＴｕｂｅ（登録商標）、Ｔｗｉｔｃｈ（登録商標）、または他のそのようなビデオ共有ウェブサイトなどのオンラインコンテンツプロバイダを含み得る。図２Ａに示されるように、ビデオ共有サイト２４０は、放送コンテンツおよび他の機能を視聴者２４２に対して提示するために使用され得る、視聴モジュール１４６もしくは撮影モジュール１４８などのｅスポーツモジュール１４０またはｅスポーツモジュール１４０の構成要素も含み得る。例えば、撮影モジュール１４８は、ｅスポーツゲームの視聴を制御するための撮影ツールを視聴者２４２に提供するために、（例えばプラグインとして）ビデオ共有サイト２４０内に実装され得る。いくつかの実施形態では、表示されるべきビデオコンテンツ内にゲームメタデータが存在する場合、視聴ツールおよび撮影ツールは、ビデオ共有サイト２４０のユーザインタフェースにおいてのみ可視である。撮影モジュール１４８は、ゲームメタデータを使用して撮影機能を実行する。一実施形態によれば、ビデオ共有サイト２４０上のｅスポーツモジュール１４０内の視聴モジュール１４６は、ユーザのデバイス上でローカルにレンダリングすることの一部または全部を実行することができる。別の実施形態によれば、ユーザの映像視聴選択は、遠隔で（例えばクラウドレンダリングサービスにおいて）そして必要に応じて（例えばオンザフライで）レンダリングされ、レンダリングされたビデオは、ビデオ共有サイト２４０を介してユーザに送信される。さらに別の実施形態によれば、ｅスポーツセッション（記録された、またはライブｅスポーツセッション）内で固定数の手続き型カメラがアクティブであり、各手続き型カメラからのビューがリモートで（例えば、クラウドレンダリングサービスで）レンダリングされて、レンダリングされたビデオストリームとしてビデオ共有サイト２４０に送信され、視聴者がレンダリングされたビデオストリームのどれを見るかを（例えば、視聴モジュール１４６または撮影モジュール１４８で）選択できるようにする。クラウドレンダリングを有する手続き型カメラを有することは、カメラを制御しながらでも、レンダリング能力の低いデバイス（例えば、携帯電話または古いコンピュータ）が高いレンダリング品質を見ることを可能にする。
【００１７】
図２Ｂは、実世界のイベント（例えば、ライブまたは記録されたスポーツイベント、またはライブまたは記録された非スポーツイベント）が提供される例示的なネットワーク２８０におけるｅスポーツシステム２００を示す。例示的実施形態では、ｅスポーツシステム２００は、キャスティングデバイス２１０、２つの視聴者デバイス２３０Ａ、２３０Ｂ（集合的には視聴者デバイス２３０）、オンラインゲームサーバ２５０、およびデータベース２９０を含み、各々が共有ネットワーク２８０（例えばインターネット）で通信している。ｅスポーツシステム２００は、現実世界のイベント２５４からの３Ｄデータおよびビデオを提供する外部３Ｄビデオ記録システム２５２に接続されている。キャスティングデバイス２１０、および視聴者デバイス２３０は、ｅスポーツデバイス１０２と同様であってもよい。キャスター２１０および視聴者（２３２、２４２）の数は変化し得る。オンラインゲームサーバ２５０は、ゲームエンジン１３０と同様であり得るが、ライブまたは記録されたイベントから３Ｄデータを放送するなどのゲームサーバ機能を提供するために特に構成されたサーバゲームモジュール（図では別個に示されていない）を含む。３Ｄビデオ記録システム２５２は、オンラインゲームサーバ２５０を介して視聴者およびキャスター２１０に放送されるべき実世界のイベント２５４から３Ｄ環境データを生成するように構成されている。３Ｄビデオ記録システム２５２は、後で再放送するためにデータベース２９０に３Ｄ環境データを記録するようにも構成されている。３Ｄビデオ記録システム２５２は、３Ｄ環境データを様々な方法で生成することができ、例えば、システム２５２は、１つまたは複数の特殊なカメラを使用して環境からの３Ｄデータを直接記録するか、または複数の標準的なビデオカメラを使用して異なるアングルからイベント２５４を記録し、次いで複数のビデオストリームから３Ｄデータを生成する方法を使用できる。
【００１８】
例示的実施形態では、デバイス２１０、２３０、２４０の主な機能を示す目的で、デバイス２１０、２３０、２４０の各々でアクティブであるｅスポーツモジュール１４０のモジュールが図２Ｂに示されている。しかしながら、本明細書に記載されている様々なモジュールのうちの任意のものが、デバイス２１０、２３０、２４０のうちの任意のもの上で動作していてもよいことを理解されたい。例えば、動作中、キャスター２１２は、キャスティングデバイス２１０を操作して（例えば様々な視聴者２３２、２４２に）ｅスポーツセッション用の放送コンテンツを提供し、キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８は、キャスティングデバイス２１０上でアクティブである。キャスティングモジュール１４４、視聴モジュール１４６、および撮影モジュール１４８は、放送コンテンツを作成するためのツールをキャスターに提供するためにアクティブである。視聴者２３２は、視聴者デバイス２３０を操作して、キャスター２１２によって生成された、オンラインサーバ２５０から直接の放送コンテンツを消費し、視聴モジュール１４６および撮影モジュール１４８はアクティブである。視聴モジュール１４６および撮影モジュール１４８は、視聴者２３２に現実世界のイベント２５４のビューおよびカメラの何らかの映像制御を提供するために専らアクティブである。これは、ビデオ共有サイト２４０から見ている視聴者２４２と同様である。
【００１９】
図３Ａおよび３Ｂは、ビデオ共有サイト２４０を介した視聴者２４２、および視聴者デバイス２３０上の視聴者２３２に配信し提示するためのｅスポーツゲームの高品質放送コンテンツを作成するための例示的な方法を示す。例示的な実施形態では、方法３００は、図２Ａおよび図２Ｂに示されているネットワーク化された環境内のｅスポーツシステム２００によって実行される。方法３００は、プレーヤー２２２が、それぞれのプレーヤーデバイス２２０のライブゲームモジュール１４２を使用してオンラインゲームをアクティブにプレイするときに実行される。動作３１０において、ライブゲームモジュール１４２は、ユーザ入力デバイス１０６からの（例えば、ジョイスティック、キーボード、マウス、ヘッドマウントディスプレイ、ハンドトラッキングデバイスなどからの）ユーザ入力を記録してゲームサーバ２５０に送信する。ゲームサーバ２５０は、すべてのプレーヤー２２２から受信したゲームデータを使用して正式バージョンのゲームを構築し、次にこの正式なゲームからのゲームデータをすべてのユーザデバイス２２０に配布し戻す。ライブゲームモジュール１４２は、クライアントとサーバとの間の通信で発生するネットワークレイテンシの影響を低減するために、ゲームコードをローカルで実行してクライアント側での予測を実行する。ライブゲームモジュール１４２は、また、ゲームコードを実行して、サーバ２５０からのゲームデータ（例えば、他のリモートプレーヤーデバイス２２０からの、およびサーバ２５０上の正式なゲームからのゲームデータ）を、ローカルゲームデータと統合し、組み合わせデータをディスプレイデバイス１０４に表示する。ライブゲームモジュール１４２は、ゲームサーバ２５０から視聴者メタデータを受信もし、このデータをプレーヤー２２２へ表示する。
【００２０】
動作３１２において、例示的実施形態では、キャスティングデバイス２１０上のキャスティングモジュール１４４は、ゲームサーバ２５０からゲームデータ（すべてのゲームメタデータおよび視聴者メタデータを含む）を受信する。キャスティングモジュール１４４は、動作３１２においてゲームデータ（ゲームメタデータを含む）および視聴者メタデータを受信し、動作３１４においてオンラインゲームサーバ２５０からのゲームデータを使用してローカルバージョンのゲームを作成してキャスター２１２に表示する。キャスティングモジュール１４４は、ゲームデータを使用して、作動中のゲーム全体の環境を作成し提示する。キャスティングモジュール１４４は、ユーザインタフェースを介してキャスティングカメラ制御ツールを表示して（例えば、撮影モジュール１４８を介して）バーチャル撮影者を制御してカメラショットを作成し指示する。撮影モジュール１４８およびキャスティングモジュール１４４は、ゲームメタデータを使用してカメラ制御ツールを作成して追加する。さらに、視聴者メタデータは、キャスター２１２および他のプレーヤー２２２に表示され視聴者２３２、２４２についてのフィードバックを与える。キャスティングモジュール１４４は、グラフィカルユーザインタフェース（ＧＵＩ）を介してキャスター２１２にキャスティングツールを表示する。キャスティングツールは、キャスター２１２がゲーム環境内でカメラを制御し、ネットワーク２８０を介してｅスポーツセッションのカスタムバージョン（例えばキャスターからのカメラ制御データを含む）を作成（例えば記録）、送信（例えばブロードキャスト）することを可能にする。ツールは、キャスター２１２が、例えば、任意の既存のゲームカメラからｅスポーツセッションを見ること、ゲーム内に新たなカメラを作成して任意の位置からｅスポーツセッションを見ること、およびカメラを制御するのを助けるために撮影モジュール１４８を従事させることを可能にするユーザインタフェース（ＵＩ）要素を含む。カメラ位置およびスクリーン構成は、撮影モジュール１４８によって完全にまたは部分的に制御することができる。本明細書の説明全体を通して、用語「構図」および「構成」は、スクリーンショット（例えば、ｅスポーツゲームまたは３Ｄシーンのビデオショット）内の視覚要素の配置または配列を指す。キャスティングモジュール１４４は、ｅスポーツセッションの高品質ビデオを作成するために、ゲームメタデータおよび撮影モジュール１４８を使用してゲーム内のカメラを制御する。撮影モジュール１４８は、自動合成を用いて、キャスターからの指示を使用してゲームアクションのショットを構成する。撮影モジュール１４８によって使用される自動構成は、規則に基づくものとすることができ（例えば、撮影構成規則を使用して）、人工知能によって制御することができる。一実施形態によれば、各ゲームは、各キャラクターおよびシナリオに利用可能な角度およびショットの種類を定義するデータおよび命令を有することになる（例えば、データおよび命令は、ゲーム作成時にゲーム開発者によって決定され得る）。プレイに際し、キャスターは、クローズアップ、ワイド、ドローンショット、セキュリティーカメラ、フォローカメラなどの利用可能な異なるショットスタイル、およびキャラクターＡ、キルショット、レベルアップ、スプリントなどの異なる被写体やイベントから選択することが可能となる。キャスターは、撮影モジュール１４８によって実行されるカメラの種類および被写体／イベントの迅速な選択のためにキャスティングデバイス２１０を使用して、任意の状況において良好なショットを生み出す。動作３１６において、キャスティングモジュール１４４は、ｅスポーツセッションビデオについてのキャスターからのリアルタイムのオーディオおよびビデオ解説を記録もする。動作３１８において、キャスティングモジュール１４４は、キャスターからのリアルタイムのオーディオおよびビデオ解説とともに、各瞬間におけるすべての記録カメラの位置およびプロパティ（以下、カメラメタデータと呼ぶ）を含むセッションのための出力を生成し、これはゲームデータを含む。いくつかの実施形態では、キャスティングモジュールの出力は、各フレームについてのカメラの位置および向きならびにレンズ設定のすべてを含み得る。いくつかの実施形態では、より高いレベルのカメラコマンドが送信されてもよい（例えば、「プレーヤーＸのショットをクローズアップ」、「プレーヤーＹのワイドショット」）。そのため、撮影モジュール１４８は、より高レベルのコマンドを処理するために利用されてもよい。いくつかの実施形態では、オンラインレンダリングサービス２６０は、より高レベルのコマンドを処理するなどのために撮影モジュール１４８を含むことができる。いくつかの実施形態において、オンラインゲームサーバ２５０は、ゲームデータをオンラインレンダリングサービス２６０に直接送信してもよく、それによってレイテンシを低減する。
【００２１】
例示的実施形態では、動作３２０において、キャスティングモジュール１４４が出力をパッケージ化し、ネットワーク２８０を介してデータをオンラインレンダリングサービス２６０に送信する。動作３２２において、レンダリングサービス２６０は、ゲームデータおよびカメラメタデータを使用して、キャスター２１２によって選択され、撮影モジュール１４８によって作成された構成カメラショットを用いてゲームのキャスティングビデオ（例えば、ビデオストリーム）をレンダリングする。動作３２４において、レンダリングされたキャスティングビデオおよびゲームデータはビデオ共有サービス２４０に送信されて視聴者２４２に表示される。動作３２６において、ビデオ共有サービス２４０上の視聴モジュール（別個に図示されていないが、視聴モジュール１４６と同様であり得る）は、キャスティングビデオと共にゲームメタデータを表示し、ビデオが表示されている間に視聴者メタデータを収集する。ビデオ共有サービス２４０は、キャスティングビデオおよびゲームメタデータ（例えば、すべてのキャスターメタデータを含む）を受信して表示する。視聴モジュール１４６は、メタデータを使用して、マルチプレーヤーゲームのビデオフィードで従来利用可能ではなかった情報（例えば、ゲームバージョン、レベル、現在の画面上でアクティブなキャラクター、ミッション進行、ゲーム状態、プレイ時間、購入など）を表示する。撮影モジュール１４８は、メタデータを使用して、例えば現在の被写体、画面上のアニメーション、レンズタイプ（例えば、望遠、ノーマル、ワイド）、カメラアングルなどの情報を表示することができる。動作３２７において、視聴モジュールは、ゲームデータと視聴者メタデータとを同期させる。
【００２２】
動作３２８において、例示的実施形態では、ビデオ共有サービス２４０上の視聴モジュール１４６は、ユーザインタフェースを介して視聴者からデータも収集し、ゲームキャスター２１２およびゲームプレーヤー２２２用のｅスポーツデバイス（プレーヤーデバイス２２０、キャスティングデバイス２１０、視聴者デバイス２３０、およびビデオ共有サイト２４０上の視聴モジュール１４６を含む）に配信するためにそのデータ（例えば視聴者メタデータ）をリアルタイムでネットワーク２８０を介してオンラインゲームサーバ２５０に送信する。いくつかの実施形態では、オンラインゲームサーバ２５０は、後の処理のために視聴者メタデータを収集し格納することもできる。プレーヤーデバイス２２０内のライブゲームモジュール１４２は、視聴者メタデータを使用して、セッション中にユーザ情報を表示し、ゲームプレイに影響を及ぼすことができる。同様に、キャスティングデバイス２１０内のライブゲームモジュール１４２は、視聴者メタデータを使用して、セッション中に視聴者情報を表示し、キャスター２１２のｅスポーツセッションの記録に影響を与えることができる。
【００２３】
いくつかの実施形態では、オンラインレンダリングサービス２６０によって提供されるレンダリングサービスは、キャスティングデバイス２１０上のローカルレンダリングモジュール（別個に描かれていない）によって提供されてもよい。言い換えれば、動作３２０、３２２、および３２４は、ローカルレンダリングモジュールによってキャスティングデバイス２１０上でローカルに実行され得る。
【００２４】
いくつかの実施形態において、方法３００によって生成された放送コンテンツは、キャスター２１２によってローカルに視聴されてもよい。言い換えれば、動作３２４、３２６、３２７、および３２８は、視聴モジュール１４６によってキャスティングデバイス２１０上で局所的に実行されてもよい。このように、キャスター２１２は、視聴者２４２および２３２としても機能する。そのような実施形態では、キャスター２１２は視聴者２３２に類似し、キャスティングデバイス２１０は視聴者デバイス２３０に類似し、視聴者２３２が撮影モジュール１４８を用いてカメラを直接制御し、結果として生じるビデオを直接見ることができるようにする。
【００２５】
いくつかの実施形態では、人間のキャスター２１２は、キャスティングデバイス２１０上で実行され、動作３１４および３１６を実行する自動バージョンの撮影モジュール１４８と置き換えられてもよい。言い換えれば、自動撮影モジュール１４８は、ゲームサーバ２５０からゲームデータおよび視聴者メタデータを受信する。自動撮影モジュール１４８は、ゲームデータおよび視聴者メタデータを使用して（例えば、キャスティングデバイス上のライブゲームモジュール１４２を使用して）ゲームのローカルバージョンを作成する。自動撮影モジュール１４８は、キャスティングビデオを作成するためにショットを選択および構成するための人工知能（例えば、機械学習およびニューラルネットワーク）を使用する人工知能（ＡＩ）制御の撮影者を含む。自動撮影モジュール１４８は、各瞬間における記録カメラの位置およびプロパティ（例えば、時間１に対するプロパティを有するカメラＸ、時間２に対するプロパティを有するカメラＸ、時間３に対するプロパティを有するカメラＹなど）を含むセッションのための出力を生成する。キャスティングモジュール１４４は、カメラメタデータをゲームデータと共にパッケージ化し、ネットワークを介してそのデータをオンラインレンダリングサービス２６０に送信する。レンダリングサービス２６０は、ゲームデータおよびカメラメタデータを使用して、自動撮影モジュール１４８の指示に基づいてゲームのキャスティングビデオをレンダリングする。キャスティングビデオおよびゲームデータは、ビデオ共有サービス２４０に送信されて視聴者２４２に表示される。ビデオ共有サービスウェブサイト上の特別な視聴モジュールは、キャスティングビデオと共にゲームメタデータを表示し、ビデオが表示されている間に視聴者メタデータを収集する。動作３２８に従って、視聴者メタデータはビデオ共有サイト２４０上の視聴モジュール１４６からキャスティングデバイス２１０上の自動撮影モジュール１４８へ送信される。キャスティングデバイス２１０内の自動撮影モジュール１４８は、視聴者メタデータを使用してｅスポーツセッションの記録に影響を与えることができる。
【００２６】
一実施形態によれば、自動撮影モジュール１４８がゲームサーバ２５０からゲームデータを受信すると、自動撮影モジュール１４８は（例えばレンダリングサービス２６０への）出力を遅延させる。遅延は、任意の時間の量であり得るが、通常の遅延は２秒または３秒である。遅延の結果として、任意の視聴者（例えば、キャスティングデバイス２１０を介したキャスター２１２、ビデオ共有サイト２４０を介した視聴者２４２、および視聴者デバイス２３０を介した視聴者２３２）が、ゲームビデオのわずかに遅延されたバージョンを見る一方で、自動撮影モジュール１４８は、ゲームサーバ２５０からのリアルタイムデータを有する。これにより、カメラは（自動撮影者モジュール１４８を介して）遅延の量について「未来を見通す」ことができる。遅延の間、自動撮影者モジュール１４８は、イベント（例えば、爆発、プレーヤーの死亡、待ち伏せ、プレーヤーに向けて発射されたショットなど）についてのゲームデータを検索し、（例えば、位置決めおよび構図によって）１つまたは複数のカメラをゲーム環境に配置し、任意の発見されたイベントをカバーし、次に、イベントが発生する前に（例えば、視聴者／キャスターによって見られる前に）そのイベントのカメラショットへ遷移し、従って、視聴者の視点から今まさに発生しようとしているイベントの適切に配置かつ構成されたショットを作成する。視聴者／キャスターの視点からみると、カメラは常にイベントのアクションの直前に到着し、イベントを取り巻くアクションの良好な視野を視聴者に提供する。
【００２７】
この遅延により、ゲーム開発者は、彼らのゲーム内で任意の重要なゲームイベント（例えば、ゲーム作成中に開発者によって重要であると定義されたイベント、および実行時に人工知能によって重要であると決定されたイベント）を優先することが可能となる。遅延は、人工知能またはライブイベント放送局が特定のアクションが重要であると決定し、かつタグ付けすることを可能にするので、ライブの実世界イベント（例えば、フットボールの試合、ホッケーの試合、サッカーの試合、スポーツ以外のライブの実世界イベントを含む）を視聴する場合にも有用である。それは、視聴者２３２、２４２またはキャスター２１２が、自動撮影モジュール１４８がゲームイベントおよびアクションを検索し、それに従って撮影方法を調整するか、またはゲームイベントおよびアクションを無視するかを選択することを可能にする。言い換えれば、自動撮影モジュール１４８は、「遅延モード」を有することができ、それにより、遅延モードをオンにすることは、モジュール１４８に、ゲームイベントおよびアクションに従ってゲームを撮影させ（例えば、カメラの配置、構図、およびカット）、表示させる。例えば、ゲーム中またはライブの実世界イベント中に、視聴者２３２、２４２またはキャスター２１２は、デフォルトの撮影に対し彼らの好ましいカメラタイプ（例えば、「プレーヤー＃３をクローズアップ」）を選択することができ、自動撮影モジュール１４８は、優先度の高いイベントまたはアクションが発生した場合、このデフォルトのカメラタイプから切り離す。あるいは、遅延モードをオフにすることは、ゲームを撮影している間、モジュール１４８にイベントおよびアクションを無視させるであろう。ｅスポーツの視聴に関する最大の問題の１つは、どのようにすべての視聴者にゲームを最適に提示するかであるため、遅延は有用である。
【００２８】
図３Ｃおよび図３Ｄは、視聴者デバイス２３０上でのライブｅスポーツイベント（例えば、フットボールの試合）の高品質放送コンテンツの映像視聴を制御するための例示的な方法を示す。例示の実施形態では、方法３８０は、図２Ｂに示されているネットワーク化された環境内のｅスポーツシステム２００によって実行される。動作３４０において、ｅスポーツシステム２００は、外部の３Ｄビデオ記録システム２５２からゲームデータ（３Ｄデータおよびビデオを含む）を受信し、ゲームデータは、実世界のイベント２５４の記録からのものである。この実施形態では、ゲームデータという用語は、実世界のイベント２５４からの３Ｄデータおよびビデオを含む。動作３４２において、視聴モジュール１４６は、ゲームデータを受信する。動作３４４において、視聴モジュール１４６は、ゲームデータを使用して、実世界のイベントの３Ｄ表現を作成し表示する。３Ｄ表現は、高または低ポリゴン数メッシュを有することができ、高または低解像度テクスチャリングを有することができる。視聴モジュール１４６は、ユーザインタフェースを介して視聴者のためのカメラ制御ツールを表示する。制御ツールは、ビデオを作成するために、カメラショットを作成し指示するようにバーチャル撮影者を制御するために視聴者によって使用される。動作３４６において、視聴者は、ツール（例えば手続き型カメラ）を使用して、イベント２５４のビデオ記録のための命令を生成する。カメラ位置、カメラカット、および構図は、撮影モジュール１４８によって完全にまたは部分的に制御される。動作３４８において、視聴モジュール１４６は、各瞬間におけるすべての記録カメラの位置およびプロパティ（例えば、カメラデータ）を含み、かつさらに３Ｄデータを含む、イベントについての出力を生成する。動作３５０において、視聴デバイスは、ゲームデータおよびカメラデータからの３Ｄデータを使用して、視聴者の撮影の指示に基づいて、イベントのビデオをレンダリングする。別の実施形態によれば、視聴デバイスは、ゲームデータおよびカメラデータをパッケージ化し、レンダリングのために外部レンダリングサービスに送信する。動作３５２において、視聴モジュール１４６は、ビデオを表示し、ビデオが視聴されている間に視聴者メタデータを収集する。動作３５４において、視聴モジュールは、ゲームデータを視聴者メタデータと同期させる。動作３５６において、視聴者メタデータは、外部システム２５２に（例えばリアルタイムで）フィードバックされる。
【００２９】
図４は、本明細書に記載の様々なハードウェアアーキテクチャと併せて使用することができる例示的なソフトウェアアーキテクチャ４０２を示すブロックダイアグラムである。図４は、ソフトウェアアーキテクチャの非限定的な例であり、本明細書に記載の機能を容易にするために他の多くのアーキテクチャが実装され得ることが理解されよう。ソフトウェアアーキテクチャ４０２は、とりわけ、プロセッサ５１０、メモリ５３０、および入力／出力（Ｉ／Ｏ）コンポーネント５５０を含む、図５のマシン５００のようなハードウェア上で実行することができる。代表的なハードウェア層４０４が示されており、これは、例えば、図５のマシン５００を表すことができる。代表的なハードウェア層４０４は、関連する実行可能な命令４０８を有する処理ユニット４０６を含む。実行可能な命令４０８は、本明細書で説明される方法、モジュールなどの実装形態を含む、ソフトウェアアーキテクチャ４０２の実行可能な命令を表す。ハードウェア層４０４は、実行可能な命令４０８も有するメモリ／ストレージ４１０として示されるメモリおよび／または記憶モジュールも含む。ハードウェア層４０４は、他のハードウェア４１２も含み得る。
【００３０】
図４の例示的アーキテクチャでは、ソフトウェアアーキテクチャ４０２は、各層が特定の機能を提供する層のスタックとして概念化することができる。例えば、ソフトウェアアーキテクチャ４０２は、オペレーティングシステム４１４、ライブラリ４１６、フレームワークまたはミドルウェア４１８、アプリケーション４２０、およびプレゼンテーション層４４４などの層を含むことができる。動作上、アプリケーション４２０および／または層内の他のコンポーネントは、ソフトウェアスタックを介してアプリケーションプログラミングインタフェース（ＡＰＩ）コール４２４を呼び出し、メッセージ４２６として応答を受信することができる。示された層は本質的に代表的なものであり、全てのソフトウェアアーキテクチャが全ての層を有するわけではない。例えば、いくつかのモバイルまたは特殊用途のオペレーティングシステムは、フレームワーク／ミドルウェア４１８を提供しないかもしれないが、他のものはそのような層を提供するかもしれない。他のソフトウェアアーキテクチャは、追加の層または異なる層を含み得る。
【００３１】
オペレーティングシステム４１４は、ハードウェアリソースを管理し、共通のサービスを提供することができる。オペレーティングシステム４１４は、例えば、カーネル４２８、サービス４３０、およびドライバ４３２を含み得る。カーネル４２８は、ハードウェア層と他のソフトウェア層との間の抽象化層として機能することができる。例えば、カーネル４２８は、メモリ管理、プロセッサ管理（例えば、スケジューリング）、コンポーネント管理、ネットワーキング、セキュリティ設定などを担当してもよい。サービス４３０は、他のソフトウェア層に他の共通サービスを提供することができる。ドライバ４３２は、基礎となるハードウェアを制御またはインタフェースすることを担当し得る。例えば、ドライバ４３２は、ハードウェア構成に応じて、ディスプレイドライバ、カメラドライバ、ブルートゥース（登録商標）ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ（例えば、ユニバーサルシリアルバス（ＵＳＢ）ドライバなど）、Ｗｉ−Ｆｉ（登録商標）ドライバ、オーディオドライバ、電源管理ドライバなどを含み得る。
【００３２】
ライブラリ４１６は、アプリケーション４２０および／または他のコンポーネントおよび／または層によって利用され得る共通のインフラストラクチャを提供することができる。ライブラリ４１６は、典型的には、他のソフトウェアモジュールが、基礎となるオペレーティングシステム４１４の機能（例えば、カーネル４２８、サービス４３０、および／またはドライバ４３２）と直接インタフェースするよりも簡単な方法でタスクを実行することを可能にする機能を提供し得る。ライブラリ４１６は、メモリ割り当て機能、文字列操作機能、数学的機能などの機能を提供することができるシステムライブラリ４３４（例えば、Ｃ標準ライブラリ）を含むことができる。さらに、ライブラリ４１６は、メディアライブラリ（例えば、ＭＰＥＧ４、Ｈ．２６４、ＭＰ３、ＡＡＣ、ＡＭＲ、ＪＰＧ、およびＰＮＧなどの様々なメディアフォーマットの提示および操作をサポートするためのライブラリ）、グラフィックライブラリ（例えば、ディスプレイ上の２Ｄおよび３Ｄグラフィックコンテンツをレンダリングするために使用できるＯｐｅｎＧＬフレームワーク）、データベースライブラリ（例えば、様々なリレーショナルデータベース機能を提供できるＳＱＬｉｔｅ）、ウェブライブラリ（例えば、ウェブブラウジング機能を提供することができるＷｅｂＫｉｔ）などのＡＰＩライブラリ４３６を含むことができる。ライブラリ４１６は、アプリケーション４２０および他のソフトウェアコンポーネント／モジュールに、他の多くのＡＰＩを提供するための多種多様な他のライブラリ４３８も含み得る。
【００３３】
フレームワーク４１８（ミドルウェアとも呼ばれる）は、アプリケーション４２０および／または他のソフトウェアコンポーネント／モジュールによって使用され得るより高いレベルの共通インフラストラクチャを提供する。例えば、フレームワーク／ミドルウェア４１８は、様々なグラフィックユーザインタフェース（ＧＵＩ）機能、高レベルのリソース管理、高レベルの位置識別サービスなどを提供することができる。フレームワーク／ミドルウェア４１８は、アプリケーション４２０および／または他のソフトウェアコンポーネント／モジュール（それらのうちのいくつかは特定のオペレーティングシステムまたはプラットフォームに固有のもの）によって使用され得る広範囲の他のＡＰＩを提供し得る。
【００３４】
アプリケーション４２０は、ビルトインアプリケーション４４０および／またはサードパーティアプリケーション４４２を含む。代表的なビルトインアプリケーション４４０の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、ロケーションアプリケーション、メディアアプリケーション、メッセージングアプリケーション、および／またはゲームアプリケーションを含み得るが、それらに限定されない。サードパーティアプリケーション４４２は、特定のプラットフォームのベンダ以外のエンティティによるＡｎｄｒｏｉｄ（登録商標）またはｉＯＳ（登録商標）ソフトウェア開発キット（ＳＤＫ）を用いて開発されたアプリケーションを含むことができ、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）フォン、または他のモバイルオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。サードパーティアプリケーション４４２は、本明細書に記載の機能を容易にするために、オペレーティングシステム４１４などのモバイルオペレーティングシステムによって提供されるＡＰＩコール４２４を呼び出すことができる。
【００３５】
アプリケーション４２０は、ビルトインオペレーティングシステム機能（例えば、カーネル４２８、サービス４３０、および／またはドライバ４３２）、ライブラリ４１６、またはフレームワーク／ミドルウェア４１８を使用して、システムのユーザと対話するためのユーザインタフェースを作成することができる。代替的に、または追加的に、いくつかのシステムでは、ユーザとの対話は、プレゼンテーション層４４４などのプレゼンテーション層を介して行われ得る。これらのシステムでは、アプリケーション／モジュールの「ロジック」は、ユーザと対話するアプリケーション／モジュールの態様から切り離すことが可能である。
【００３６】
あるソフトウェアアーキテクチャは、仮想マシンを使用する。図４の例では、これは仮想マシン４４８によって示されている。仮想マシン４４８は、アプリケーション／モジュールがハードウェアマシン（例えば、図５のマシン５００など）上で実行されているかのように実行することができるソフトウェア環境を作成する。仮想マシン４４８は、キャスターオペレーティングシステム（例えば、図４のオペレーティングシステム４１４）によってキャストされ、通常、必ずというわけではないが、仮想マシン４４８の動作ならびにキャスターオペレーティングシステム（例えば、オペレーティングシステム４１４）とのインタフェースを管理する仮想マシンモニタ４４６を有する。オペレーティングシステム（ＯＳ）４５０、ライブラリ４５２、フレームワーク４５４、アプリケーション４５６、および／またはプレゼンテーション層４５８などのソフトウェアアーキテクチャが仮想マシン４４８内で実行される。仮想マシン４４８内で実行されるソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同じでもよく、または異なっていてもよい。
【００３７】
図５は、マシン可読媒体（例えば、マシン可読記憶媒体）から命令を読み取り、本明細書で論じる方法の任意の１つまたは複数を実行することができる、ある例示的な実施形態によるマシン５００の構成要素を示すブロック図である。具体的には、図５は、その中でマシン５００に本明細書で論じられる方法のうちの任意の１つまたは複数を実行させるための命令５１６（例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能なコード）が実行され得るコンピュータシステムの例示の形態におけるマシン５００の概略図を示す。このように、命令５１６は、本明細書に記載のモジュールまたはコンポーネントを実装するために使用され得る。命令５１６は、一般的なプログラムされていないマシン５００を、説明された方法で説明され示された機能を実行するようにプログラムされた特定のマシン５００に変換する。代替の実施形態では、マシン５００は、スタンドアロンデバイスとして動作するか、または他のマシンに結合されてもよい（例えばネットワーク接続されてもよい）。ネットワーク化されたデプロイメントでは、マシン５００は、サーバ−クライアントネットワーク環境ではサーバ機器またはクライアント機器のキャパシティで、またはピアツーピア（または分散）ネットワーク環境ではピア機器として動作することができる。マシン５００は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、エンターテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス（例えばスマートウォッチ）、スマートホームデバイス（例えばスマート電化製品）、その他のスマートデバイス、ウェブ電化製品、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、またはマシン５００によってとられるべき動作を指定する命令５１６を順次または他の方法で実行することができる任意のマシンを含み得るが、これに限定されない。さらに、単一のマシン５００のみが示されているが、「マシン」という用語は、命令５１６を個別にまたは共同で実行して本明細書で論じる方法のうちの任意の１つまたは複数を実行するマシンの集合も含むものと解釈されるべきである。
【００３８】
マシン５００は、バス５０２を介するなどして互いに通信するように構成され得るプロセッサ５１０、メモリ５３０、および入力／出力（Ｉ／Ｏ）コンポーネント５５０を含み得る。例示の実施形態では、プロセッサ５１０（例えば、中央処理装置（ＣＰＵ）、縮小命令セット計算（ＲＩＳＣ）プロセッサ、複合命令セット計算（ＣＩＳＣ）プロセッサ、グラフィック処理ユニット（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、無線周波数集積回路（ＲＦＩＣ）、他のプロセッサ、またはそれらの任意の適切な組み合わせ）は、例えば、命令５１６を実行することができるプロセッサ５１２およびプロセッサ５１４を含み得る。用語「プロセッサ」は、同時に命令を実行することができる２つ以上の独立したプロセッサ（時に「コア」と呼ばれる）を含むことができるマルチコアプロセッサを含むことを意図している。図５は、複数のプロセッサを示すが、マシン５００は、単一のコアを有する単一のプロセッサ、複数のコアを有する単一のプロセッサ（例えば、マルチコアプロセッサ）、単一のコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせを含み得る。
【００３９】
メモリ５３０は、メインメモリ５３２、スタティックメモリ５３４、または他のメモリ記憶装置などのメモリ、ならびにストレージユニット５３６を含むことができ、両方ともバス５０２を介するなどして、プロセッサ５１０にアクセス可能である。ストレージユニット５３６およびメモリ５３２、５３４は、本明細書に記載の方法または機能のうちの任意の１つまたは複数を具体化する命令５１６を格納する。命令５１６は、マシン５００によるその実行中、メモリ５３２、５３４内、ストレージユニット５３６内、プロセッサ５１０のうちの少なくとも一つ内（例えば、プロセッサのキャッシュメモリ内）、またはそれらの任意の適切な組合せ内に、完全にまたは部分的に存在し得る。従って、メモリ５３２、５３４、ストレージユニット５３６、およびプロセッサ５１０のメモリは、マシン可読媒体の例である。
【００４０】
本明細書で使用される「マシン可読媒体」は、命令およびデータを一時的または恒久的に格納することができるデバイスを意味し、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、バッファメモリ、フラッシュメモリ、光学メディア、磁気メディア、キャッシュメモリ、他の種類の記憶装置（例えば、消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ））および／またはそれらの任意の適切な組み合わせを含み得るが、これらに限定されない。「マシン可読媒体」という用語は、命令５１６を格納することができる単一の媒体または複数の媒体（例えば、集中型または分散型データベース、または関連するキャッシュおよびサーバ）を含むと解釈されるべきである。「マシン可読媒体」という用語は、マシン（例えば、マシン５００）による実行のための命令（例えば、命令５１６）を格納することができる任意の媒体、または複数の媒体の組み合わせを含むものとし、命令は、マシン５００の１つまたは複数のプロセッサ（例えば、プロセッサ５１０）により実行されると、マシン５００に本明細書に記載の方法のうちの任意の１つまたは複数を実行させる。したがって、「マシン可読媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」記憶システムまたは記憶ネットワークを指す。用語「マシン可読媒体」は、それ自体信号を除外する。
【００４１】
入力／出力（Ｉ／Ｏ）コンポーネント５５０は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を捕捉するなどのための多種多様な構成要素を含み得る。特定のマシンに含まれる特定の入力／出力（Ｉ／Ｏ）コンポーネント５５０は、マシンの種類に依存する。例えば、携帯電話などの携帯機器は、タッチ入力デバイスまたは他のそのような入力機構を含む可能性があり、ヘッドレスサーバ機器は、そのようなタッチ入力デバイスを含まない可能性が高いであろう。入力／出力（Ｉ／Ｏ）コンポーネント５５０は、図５には示されていない他の多くの構成要素を含み得ることが理解されよう。入力／出力（Ｉ／Ｏ）コンポーネント５５０は、単に以下の説明を単純化するために機能に従ってグループ化されており、そのグループ化は決して限定的なものではない。様々な例示的実施形態では、入力／出力（Ｉ／Ｏ）コンポーネント５５０は、出力コンポーネント５５２および入力コンポーネント５５４を含み得る。出力コンポーネント５５２は、視覚的構成要素（例えば、プラズマディスプレイパネル（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プロジェクタ、または陰極線管（ＣＲＴ））、音響部品（例えばスピーカ）、触覚部品（例えば振動モータ、抵抗機構）、その他の信号発生器などを含み得る。入力コンポーネント５５４は、英数字入力構成要素（例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォトオプティカルキーボード、または他の英数字入力構成要素）、ポイントベースの入力構成要素（例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、またはその他のポインティングデバイス）、触覚入力コンポーネント（例えば、物理ボタン、タッチまたはタッチジェスチャの位置および／または力を提供するタッチスクリーン、またはその他の触覚入力構成要素）、音声入力部品（例えば、マイク）などを含み得る。
【００４２】
さらなる例示的実施形態では、入力／出力（Ｉ／Ｏ）コンポーネント５５０は、他の様々なコンポーネントの中で、バイオメトリックコンポーネント５５６、モーションコンポーネント５５８、環境コンポーネント５６０、または位置コンポーネント５６２を含み得る。例えば、バイオメトリックコンポーネント５５６は、表情（例えば、手の表情、顔の表情、声の表情、身体のジェスチャ、または目の動き）を検出し、生体信号（例えば、血圧、心拍数、体温、発汗、または脳波）を測定し、人物を識別（例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波に基づく識別）する等のための構成要素を含み得る。モーションコンポーネント５５８は、加速度センサ構成要素（例えば、加速度計）、重力センサ構成要素、回転センサ構成要素（例えば、ジャイロスコープ）などを含み得る。環境コンポーネント５６０は、例えば、照明センサ構成要素（例えば、光度計）、温度センサ構成要素（例えば、周囲温度を検出する１つまたは複数の温度計）、湿度センサ構成要素、圧力センサ構成要素（例えば、気圧計）、音響センサ構成要素（例えば、背景雑音を検出する１つまたは複数のマイクロフォン）、近接センサ構成要素（例えば、近くの物体を検出する赤外線センサ）、ガスセンサ（例えば、安全のために有害ガスの濃度を検出するための、または大気中の汚染物質を測定するためのガス検出センサ）、または周囲の物理的環境に対応する標示、測定値、または信号を提供することができる他の構成要素を含み得る。位置コンポーネント５６２は、位置センサ構成要素（例えば、全地球測位システム（ＧＰＳ）受信機部品）、高度センサ構成要素（例えば、高度が導出され得る気圧を検出する高度計または気圧計）、方位センサ構成要素（例えば、磁力計）などを含み得る。
【００４３】
通信は、多種多様な技術を使用して実施することができる。入力／出力（Ｉ／Ｏ）コンポーネント５５０は、カップリング５８２およびカップリング５７２を介してそれぞれマシン５００をネットワーク５８０またはデバイス５７０に結合するように動作可能な通信コンポーネント５６４を含み得る。例えば、通信コンポーネント５６４は、ネットワーク５８０とインタフェースするためのネットワークインタフェース構成要素または他の適切なデバイスを含み得る。さらなる例では、通信コンポーネント４４０は、有線通信構成要素、無線通信構成要素、セルラ通信構成要素、近距離無線通信（ＮＦＣ）構成要素、Ｂｌｕｅｔｏｏｔｈ（登録商標）構成要素（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＬｏｗＥｎｅｒｇｙ）、Ｗｉ−Ｆｉ（登録商標）構成要素、および他のモダリティを介して通信を提供するための他の通信構成要素を含み得る。デバイス５７０は、他のマシンまたは多種多様な周辺デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）を介して結合された周辺デバイス）のうちのいずれかであり得る。
【００４４】
さらに、通信コンポーネント５６４は、識別子を検出するか、または識別子を検出するように動作可能な構成要素を含み得る。例えば、通信コンポーネント５６４は、無線周波数識別（ＲＦＩＤ）タグリーダ構成要素、ＮＦＣスマートタグ検出構成要素、光学式リーダ構成要素（例えば、ユニバーサルプロダクトコード（ＵＰＣ）バーコードなどの１次元バーコード、ＱｕｉｃｋＲｅｓｐｏｎｓｅ（ＱＲ）コード、Ａｚｔｅｃコード、ＤａｔａＭａｔｒｉｘ、Ｄａｔａｇｌｙｐｈ、ＭａｘｉＣｏｄｅ、ＰＤＦ４１７、ＵｌｔｒａＣｏｄｅ、ＵＣＣＲＳＳ−２Ｄバーコードなどの多次元バーコード、およびその他の光学コードを検出するための光学センサ）、または音響検出コンポーネント（例えば、タグ付きオーディオ信号を識別するためのマイク）を含み得る。さらに、通信コンポーネント５６４を介して、インターネットプロトコル（ＩＰ）ジオロケーションによる位置、Ｗｉ−Ｆｉ（登録商標）信号三角測量による位置、特定の位置を示すことができるＮＦＣビーコン信号を検出することによる位置などのような、様々な情報が導出され得る。
【００４５】
本発明の主題の概要を特定の例示的な実施形態を参照して説明したが、本開示のより広い範囲の実施形態から逸脱することなく、これらの実施形態に対して様々な修正および変更を加えることができる。本発明の主題のそのような実施形態は、単に便宜上、個々にまたは集合的に「発明」という用語によって本明細書において言及され得るが、これは、本出願の範囲を、任意の単一の開示または発明概念（もし実際に複数が開示されているならば）に自発的に限定することを意図するものではない。
【００４６】
本明細書に示された実施形態は、当業者が開示された教示を実施することを可能にするために十分に詳細に記載されている。本開示の範囲から逸脱することなく、構造的および論理的な置換および変更を行うことができるように、他の実施形態が使用され、かつそこから導出されることが可能である。従って、詳細な説明は限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は添付の特許請求の範囲とそのような特許請求の範囲が権利を与える等価物の全範囲によってのみ定義される。
【００４７】
本明細書で使用されるとき、用語「または」は、包括的または排他的な意味で解釈され得る。さらに、本明細書で単一のインスタンスとして説明されているリソース、動作、または構造のために複数のインスタンスを提供することができる。さらに、様々なリソース、動作、モジュール、エンジン、およびデータストア間の境界はいくぶん任意であり、特定の動作は特定の例示的な構成のコンテキストで示される。機能の他の割り当ても想定されており、本開示の様々な実施形態の範囲内にあり得る。一般に、例示的な構成において別々のリソースとして提示された構造および機能は、組み合わされた構造またはリソースとして実装され得る。同様に、単一のリソースとして提示された構造および機能は、別々のリソースとして実装されてもよい。これらおよび他の変形、修正、追加、および改良は、添付の特許請求の範囲によって表される本開示の実施形態の範囲内に含まれる。従って、本明細書および図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。
【図１】
0006746801.tif 000002
【図２Ａ】
0006746801.tif 000003
【図２Ｂ】
0006746801.tif 000004
【図３Ａ】
0006746801.tif 000005
【図３Ｂ】
0006746801.tif 000006
【図３Ｃ】
0006746801.tif 000007
【図３Ｄ】
0006746801.tif 000008
【図４】
0006746801.tif 000009
【図５】
0006746801.tif 000010