(57)【要約】  ビデオゲームによって生成されるビデオフレームに注釈を付けるシステム、方法、及び装置が提供される。要素タグをビデオゲームの要素と関連付けるビデオゲームモデルが生成されてよい。ビデオゲームモデルは、ビデオゲームと同時に実行するビデオゲームオーバーレイによって適用されてよい。ビデオゲームオーバーレイは、ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信してよい。遠隔ユーザ入力は、多重化及び／又は正規化されてよく、引き続き、ビデオゲームモデルを適用してビデオゲームに対応する要素タグを抽出することによって構文解析されてよい。ビデオゲームモデルを適用することによって、要素タグに対応するビデオゲームのインゲーム要素がビデオフレーム内で識別されてよい。ビデオゲームのビデオフレーム内の識別された要素に基づいて、ビデオフレームは注釈が付けられてよく、ビデオゲームユーザに提示されてよい。
2021523602.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲームによって生成されるビデオフレームに注釈を付けるシステムであって、
少なくとも１つのプロセッサ回路と、
該少なくとも１つのプロセッサ回路によって実行されるように構成されるプログラムコードを格納する少なくとも１つのメモリとを含み、前記プログラムコードは、
要素タグを前記ビデオゲームの要素と関連付けるビデオゲームモデルを生成するように構成されるビデオゲームモデル生成器と、
前記ビデオゲームと同時に実行されるビデオゲームオーバーレイとを含み、該ビデオゲームオーバーレイは、
ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信するように構成される受信器と、
前記ビデオゲームモデルを適用して前記遠隔ユーザ入力を構文解析し、前記ビデオゲームに対応する要素タグをそこから抽出するように構成される、パーサと、
前記ビデオゲームモデルを適用して、前記要素タグに対応する前記ビデオゲームの要素を識別する、要素認識器と、
前記識別される要素及び前記識別される要素の場所に基づいて前記ビデオフレームに注釈を付けるように構成される注釈レンダラとを含む、
システム。
【請求項２】
前記ビデオゲームモデル生成器は、教師付トレーニング又は教師なしトレーニングのうちの１つ又はそれよりも多くに基づいて前記ビデオゲームモデルを生成するように構成される、請求項１に記載のシステム。
【請求項３】
前記受信器は、複数のプラグインを含み、前記遠隔ユーザ入力は、前記複数のプラグインを介して受信され、各プラグインは、異なる遠隔サービスに対応する、請求項１に記載のシステム。
【請求項４】
前記ビデオゲームオーバーレイは、前記パーサによる前記遠隔ユーザ入力の構文解析の前に、前記遠隔ユーザ入力を正規化するように構成される、正規化器を更に含む、請求項１に記載のシステム。
【請求項５】
前記遠隔ユーザ入力は、複数の遠隔ユーザ入力ストリームを含み、
前記ビデオゲームオーバーレイは、前記パーサによる前記遠隔ユーザ入力の構文解析の前に、前記遠隔ユーザ入力ストリームを結合して単一の多重化された入力ストリームを生成する、マルチプレクサを更に含む、
請求項１に記載のシステム。
【請求項６】
前記遠隔ユーザ入力は、
−  音声入力、
−  テキスト入力、
−  タッチスクリーン入力、又は
−  ポインティングデバイス入力
のうちの少なくとも１つを含む、
請求項１に記載のシステム。
【請求項７】
前記遠隔ユーザ入力は、音声入力を含み、前記ビデオゲームオーバーレイは、前記パーサによる前記遠隔ユーザ入力の構文解析の前に前記音声入力をテキスト入力に変換する発話対テキスト変換器を更に含む、請求項６に記載のシステム。
【請求項８】
前記ビデオゲームオーバーレイは、前記識別される要素及び場所のうちの１つ又はそれよりも多くに基づいて前記ビデオフレームにレンダリングを行うために前記注釈を選択するように構成される、注釈セレクタを更に含む、請求項１に記載のシステム。
【請求項９】
前記注釈は、
−  前記要素のハイライト、
−  前記要素の方向の視覚的指標、
−  前記要素の周りの形状、又は
−  前記要素の輪郭
のうちの少なくとも１つを含む、
請求項１に記載のシステム。
【請求項１０】
ビデオゲームによって生成されるビデオフレームに注釈を付ける方法であって、
前記ビデオゲームと同時にビデオゲームオーバーレイを実行することを含み、該ビデオゲームオーバーレイを実行することは、
ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信することと、
要素タグを前記ビデオゲームの要素と関連付けるビデオゲームモデルを適用して、
前記遠隔ユーザ入力を構文解析し、前記ビデオゲームに対応する要素タグをそこから抽出し、且つ
前記要素タグに対応する前記ビデオゲームの要素を識別することと、
該識別される要素及び該識別される要素の場所に基づいて前記ビデオフレームに注釈と付けることとを含む、
方法。
【請求項１１】
前記遠隔ユーザ入力を受信することは、複数のプラグインを介して前記遠隔ユーザ入力を受信することを含み、各プラグインは、異なる遠隔サービスに対応する、請求項１０に記載の方法。
【請求項１２】
前記遠隔ユーザ入力は、複数の遠隔ユーザ入力ストリームを含み、
前記ビデオゲームオーバーレイを実行することは、前記遠隔ユーザ入力を構文解析する前に、前記遠隔ユーザ入力ストリームを結合して単一の多重化された入力ストリームを生成することを更に含む、
請求項１０に記載の方法。
【請求項１３】
前記ビデオゲームオーバーレイを実行することは、前記識別される要素及び場所のうちの１つ又はそれよりも多くに基づいて前記ビデオフレームにレンダリングを行うために前記注釈を選択することを更に含む、請求項１０に記載の方法。
【請求項１４】
前記ビデオフレームに注釈を付けることは、
−  前記要素をハイライトすること、
−  前記要素の方向の視覚的指標を表示すること、
−  前記要素の周りに形状を表示すること、又は
−  前記要素の輪郭を描くこと
のうちの少なくとも１つを含む、
請求項１０に記載の方法。
【請求項１５】
コンピュータ可読記憶媒体であって、
プロセッサが請求項１０乃至１４のうちのいずれか１項に記載の方法を実行することを可能にするコンピュータプログラム論理を含む、当該コンピュータ可読記憶媒体上に記録されるプログラム命令を有する、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ゲームアプリケーションでは、遠隔に位置するユーザは、インターネットのようなネットワーク接続を通じてビデオゲームプレーヤのリアルタイムのゲームプレイを見ることがある。遠隔に位置するユーザは、例えば、プレーヤがビデオゲームをプレイしながら見たり聴いたりすることがあるメッセージを送信することによって、様々なユーザ間のソーシャルゲーム体験を可能にする。シナリオによっては、メッセージは、プレーヤのディスプレイデバイス上にゲームプレイと共に表示されることがある。それによって、そのようなソーシャルゲーム体験は、複数の遠隔に位置する個人が、ゲームミッション又は同等のことを解決することに関して議論し、協力し、支援することを許容することがある。
【発明の概要】
【０００２】
この要約は、発明を実施するための形態において以下に更に記述される一群の概念を簡略化された形式で導入するために提供される。この要約は、特許請求される主題事項の鍵となる構成又は本質的な構成を特定することを意図せず、特許請求される主題事項の範囲を限定するために使用することを意図しない。
【０００３】
システム、方法、及びコンピュータプログラム製品は、ビデオゲームによって生成されるビデオフレームに注釈を付けるために提供される。要素タグをビデオゲームの要素と関連付けるビデオゲームモデルが生成されてよい。ビデオゲームモデルは、教師付き及び／又は教師なしトレーニングを含む、多数の方法で生成されてよい。ビデオフレーム上にオーバーレイされた注釈を表示するように構成されたビデオゲームオーバーレイは、ビデオゲームと同時に実行されてよい。ビデオゲームオーバーレイは、ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信してよい。遠隔ユーザ入力は、ビデオゲームモデルを適用することによって構文解析されて、ビデオゲームに対応する要素タグが抽出されてよい。ビデオゲームモデルを用いて、要素タグに対応するビデオゲームの要素がビデオフレーム内で識別されることがある。ビデオフレーム内の識別された要素に基づいて、ビデオフレームは、様々な方法で注釈付けされてよい。
【０００４】
このようにして、ビデオゲームオーバーレイは、遠隔ユーザ入力を自動的に構文解析して、ビデオゲームプレーヤによって現在プレイされているビデオゲームの要素をリアルタイムで識別し且つ注釈付けすることがある。例えば、ビデオゲームプレーヤが特定のプレーヤにサッカーボールを渡すべきであることを示すメッセージが受信されるならば、ビデオゲームオーバーレイは、プレーヤを識別し、ビデオフレーム上のプレーヤの場所を決定し、（例えば、プレーヤの周りに輪郭を描くことによって）ビデオフレームに注釈を付けてプレーヤを識別することができる。要素をこのように自動的に識別し且つ注釈付けすることによって、ビデオゲームプレーヤは、遠隔ユーザ入力に対応するオンスクリーン注釈(画面上の注釈)を容易に見ることがある。何故ならば、それらは、遠隔ユーザ入力を別々に読む又は聴くことを必要としない、実際のリアルタイムのゲームプレイに関連するからである。その結果、ユーザは、遠隔ユーザ入力によって注意を散らされる可能性がより低くなり、ビデオゲームをプレイすることにより良い集中を維持することがある。
【０００５】
様々な例示的な実施形態の更なる構成及び利点並びに構造及び動作が、添付の図面を参照して以下で詳細に記載される。例示的な実装は、本明細書に記載する特定の実施形態に限定されないことに留意のこと。そのような例示的な実施形態は、例示の目的のためにのみ本明細書に提示されている。追加的な実装は、本明細書に含まれる教示に基づいて（複数の）関連技術の当業者に明らかであろう。
【０００６】
本明細書に組み込まれ且つ本明細書の一部を構成する添付の図面は、本出願の例示的な実施形態を例示し、本記述と共に、実施形態の原理を説明することに更に役立ち、当業者が例示的な実施形態を作り且つ使用することを可能にすることに更に役立つ。
【図面の簡単な説明】
【０００７】
【図１】例示的な実施形態に従った、ビデオゲームによって生成されたビデオフレームに注釈を付けるシステムのブロック図を示している。
【０００８】
【図２】例示的な実施形態に従った、ビデオゲームによって生成されたビデオフレームに注釈を付ける方法のフローチャートを示している。
【０００９】
【図３】例示的な実施形態に従った、ビデオゲームオーバーレイのブロック図を示している。
【００１０】
【図４】例示的な実施形態に従った、ビデオゲームモデルを生成する方法のフローチャートを示している。
【００１１】
【図５】例示的な実施形態に従った、多重化された遠隔ユーザ入力ストリームを生成する方法のフローチャートを示している。
【００１２】
【図６】例示的な実施形態に従った、ビデオフレームにレンダリングするための注釈を選択する方法のフローチャートを示している。
【００１３】
【図７Ａ】例示的な実施形態に従った、ビデオゲームのビデオフレームにレンダリングするための例示的な注釈を示している。
【図７Ｂ】例示的な実施形態に従った、ビデオゲームのビデオフレームにレンダリングするための例示的な注釈を示している。
【図７Ｃ】例示的な実施形態に従った、ビデオゲームのビデオフレームにレンダリングするための例示的な注釈を示している。
【図７Ｄ】例示的な実施形態に従った、ビデオゲームのビデオフレームにレンダリングするための例示的な注釈を示している。
【００１４】
【図８】様々な例示的な実施形態を実装するために使用されることがある例示的なプロセッサベースのコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１５】
本明細書に記載する実施形態の構成及び利点は、図面と共に理解されるときに、以下に示す詳細な記述からより明らかになるであろう。図面では、同等の参照符号が、全体を通して対応する要素を特定している。図面において、同等の参照番号は、一般的に、同一の、機能的に類似の、及び／又は構造的に類似の要素を示している。要素が最初に現れる図面は、対応する参照番号における最も左の（複数の）桁によって示されている。
【００１６】
１．導入
本明細書及び添付の図面は、多数の例示的な実装を開示している。本出願の範囲は、開示の実装に限定されず、開示の実装の組み合わせ及び開示の実装に対する修正も含む。「１つの実装」、「（ある）実装」、「（ある）例示的な実施形態」、「例示的な実装」又は同等表現への本明細書中の言及は、記載の実装が特定の構成、構造又は特徴を含むことがあるが、あらゆる実装が特定の構成、構造又は特徴を必ずしも含まないことがあることを示している。その上、そのような句は、同じ実装を必ずしも指さない。更に、特定の構成、構造又は特徴がある実装に関連して記載されるとき、明示的に記載されているかどうかに拘わらず、そのような構成、構造又は特徴を他の実装と関連して実装することは、（複数の）関連技術の当業者の知識の範囲内であることが提示される。
【００１７】
議論では、特に断りのない限り、本開示の実施形態の構成又は複数の構成の条件又は関係特徴を修正する「実質的に」及び「約」のような形容詞は、その条件又は特徴が、それが意図されている用途についての実装の動作に許容される許容範囲内に定義されることを意味すると理解される。
【００１８】
多数の例示的な実施形態を以下に記載する。本明細書に記載するセクション／サブセクションの見出しは、限定的であることを意図しないことに留意のこと。この文書を通じて実装を記載する。任意のタイプの実装が、任意のセクション／サブセクションの下に含められてよい。更に、任意のセクション／サブセクションに開示される実装は、任意の方法において同じセクション／サブセクション及び／又は異なるセクション／サブセクションに記載される任意の他の実装と組み合わされてよい。
【００１９】
ＩＩ．例示的な実装
上記背景技術に記したように、ゲームアプリケーションにおいて、遠隔に位置するユーザは、インターネットのようなネットワーク接続を通じてビデオゲームプレーヤのリアルタイムゲームプレイを見ることがある。遠隔に位置するユーザは、例えば、ゲームをプレイしている間にプレーヤが見る或いは聴くことがあるメッセージを送信することによって、ビデオゲームプレーヤと対話して、様々なユーザ間でソーシャルゲームの体験を可能にすることもある。幾つかのシナリオにおいて、メッセージは、プレーヤのディスプレイデバイス上にゲームプレイと共に表示されることがある。それによって、そのようなソーシャルゲーム体験は、複数の遠隔に位置する個人が、ゲームのミッション又は同等のことの解決を議論し、協力し、支援することを許容することがある。
【００２０】
しかしながら、遠隔ユーザとビデオゲームプレーヤとの間の対話は、典型的には、制限される。例えば、プレーヤのディスプレイデバイスは、典型的には、通信されたメッセージのコンテンツを表示するだけである。更に、遠隔ユーザのメッセージが、ビデオゲームプレーヤのためのアドバイス又は戦略ヒントを提供するならば、ビデオゲームプレーヤは、依然として、メッセージを読むためにゲームから自分の焦点を離し、次に、メッセージのコンテンツのみに基づいて、ビデオゲームにおいて１つ又はそれよりも多くのアクションをどのように実行するかを決定しなければならず、或いはどこにナビゲートするかを決断しなければならない。多くのビデオゲームにおいて、ビデオゲームプレーヤは、そのような決定をほぼ瞬間的に行わなければならないことがある。ビデオゲームプレーヤが、そのような決定を十分に速く行うことができないか、或いは全く行うことができないならば、プレーヤは、遠隔の視聴者からヒント又は戦略メッセージを提供されるにも拘わらず、ビデオゲームミッションを完了することに失敗することがあり、或いはプレーヤのフラストレーションレベルが上昇することがある。多くのビデオゲームは、ますます複雑化しているか、或いはスクリーン要素を絶えず変化させているので、プレーヤが遠隔視聴者のアドバイスに基づいてリアルタイムでアクションを実行する能力は、ますます困難になる。
【００２１】
加えて、ビデオゲームプレーヤが複数の遠隔視聴者から同時にメッセージを受信している場合、複数のビデオゲーム関連要素に同時に焦点を合わせること（例えば、入って来るメッセージの継続的なストリームを提供するチャットウインドウを見ること、入ってくるメッセージのストリームを聴くこと、及びビデオゲームを再生すること）をビデオゲームプレーヤに要求する。そのような場合、ビデオゲームプレーヤは、ビデオゲームを同時にプレイしながら、各々の入って来るメッセージを処理することを、更に困難であると知ることがある。（例えば、プレーヤが容易に処理できない方法でグラフィカルユーザインターフェースがコンテンツを提示することの故に）インタラクティブなゲーム体験が特定のビデオゲームプレーヤにとって圧倒的になり過ぎるならば、プレーヤは、インタラクティブなゲーム機能性を完全に無効にして、プレーヤ並びに遠隔視聴者にとってゲーム体験の減少をもたらすことがある。
【００２２】
本明細書に記載する実装は、ビデオゲームによって生成されるビデオフレームに注釈を付けるためにビデオゲームと同時に実行されるビデオゲームオーバーレイを通じてこれらの及び他の問題に対処する。ビデオゲームオーバーレイは、（例えば、ビデオゲームオーバーレイのプラグインを介して）ネットワークを通じて遠隔に位置するデバイスからユーザ入力を受信する受信器を含む。ビデオゲームオーバーレイは、要素タグ(element  tags)又はラベルをビデオゲームの要素と関連付けるビデオゲームモデルを適用することによってユーザ入力から要素タグを抽出するパーサ(parser)を含んでもよい。ビデオゲームモデルを用いるならば、要素認識器(element  recognizer)が、ビデオフレームを分析して、抽出される要素タグに対応するビデオゲームのサッカープレーヤのようなインゲーム要素(ゲーム内要素)(in-game  element)を識別することがある。注釈レンダラ(annotation  renderer)が、例えば、ビデオゲームオーバーレイに要素（例えば、サッカープレーヤ）をハイライトさせるか或いは要素の周囲に輪郭を描かせることによって、識別される要素に基づいて、ビデオフレームに注釈を付けてよい。
【００２３】
このようにして、ビデオゲームオーバーレイは、ビデオゲームプレーヤと対話する１人又はそれよりも多くの遠隔ユーザから受信する遠隔ユーザ入力のコンテンツに基づいて、ビデオゲームに関する注釈をオーバーレイ（例えば、重ね合わせられた画像又は同等物）として自動的に表示してよい。例えば、ビデオゲームオーバーレイは、遠隔ユーザの入力が特定のビデオゲームのどのインゲーム要素に関連するかを自動的に決定し、ビデオフレーム内でそのような要素を識別し、その要素を識別する表示をビデオゲームプレーヤにリアルタイムに提示することができる。結果的に、ユーザが、遠隔に位置する視聴者からのメッセージを読んだり聞いたりする代わりにビデオゲームを再生することに焦点を合わせるならば、実際のリアルタイムゲームプレイに関連して遠隔視聴者によって提供される助言が、ビデオゲームを提示するディスプレイデバイス上にオーバーレイとして表示されてよい。加えて、ビデオゲームオーバーレイは、異なるプラグインを介して幾つかの遠隔サービスに同時に結合されて、ビデオゲームオーバーレイが、異なる遠隔サービスから受け取る遠隔ユーザ入力に基づく注釈を、迅速に（すなわち、リアルタイムに）かつ自動的に表示することを可能にすることがある。
【００２４】
このアプローチは、ビデオゲームプレーヤが遠隔に位置するユーザからのメッセージに気が散らされようになる可能性を低減すること、及びそれらのメッセージのコンテンツに基づく注釈がビデオゲームプレーヤのスクリーン上にオーバーレイとして自動的に提示されることを可能にすることを含むが、これらに限定されない、数多くの利点を有する。例えば、本明細書に記載する技法は、遠隔ユーザの入力から導き出されるコンテンツを迅速に（すなわち、入力が受信されるや否や）処理及び分析し、その入力を使用してビデオゲームの実際のビデオ要素上にオーバーレイされる注釈を通じてビデオゲームプレーヤをリアルタイムに案内するこがある。更に、単一のビデオゲームオーバーレイが１つ又はそれよりも多くの受信器（例えば、プラグイン）を介して遠隔ユーザと対話することを可能にすることによって、追加的なソフトウェア又はハードウェアの必要性が低減される一方で、ゲームプレーヤ及び遠隔視聴者のためのゲーム体験が同時に強化される。加えて、ビデオゲーム内の要素に基づいて継続的にトレーニングされることがあるビデオゲームモデルの利用は、モデルが時間の経過に亘ってより正確になることを可能にし、それによって、ビデオゲームオーバーレイによって提示されることがある注釈の精度を向上させる。
【００２５】
加えて、本明細書に記載する実装は、遠隔視聴者及びビデオゲームプレーヤの双方にとっての対話ゲーム体験を強化することによって、グラフィカルユーザインターフェースを向上させる。例えば、オンスクリーン要素(スクリーン上要素)に注釈を自動的に提示することによって、ビデオゲームプレーヤは、遠隔視聴者のコメントから導き出される情報を見ることがある。何故ならば、それは、遠隔視聴者のコメントのテキストを読む代わりに、実際のリアルタイムのゲームプレイに関連するからである。このようにして、グラフィカルユーザインターフェースは、ビデオゲームプレーヤが遠隔視聴者からの提案又は助言をより容易に理解することを可能にする一方で、プレーヤが気を散らされるようになる可能性を減少させることがある。一層更には、異なるプロセスが並行して実行されることがあるシステムにおいて、ビデオゲームのオーバーレイは、ビデオゲームの実行と並列に注釈を決定し且つレンダリング(描画)して、ビデオゲームが高フレームレートで及び／又は遅れ(lag)又は遅延(delay)なくユーザにグラフィックスを表示し続けることを可能にする。換言すれば、ビデオゲームは、様々なプラグインからのコンテンツ及びそこからのオーバーレイコンテンツを分析するために如何なるリソースも利用しないので、ビデオゲームは、高パフォーマンスの体験を提供し続けることができる一方で、別個のビデオゲームオーバーレイが、並列リソースを使用して、ビデオゲームによって生成されるビデオフレームの上にビデオゲームプレーヤに有用な注釈をレンダリングすることがある。
【００２６】
従って、実装は、ビデオゲームによって生成されるビデオフレームの注釈付けに関する少なくとも以下の能力、すなわち、（１）遠隔ユーザ入力に基づいてビデオフレームにオンスクリーン注釈を自動的に提示する機構、（２）オンスクリーン注釈を提示する異なる遠隔サービスに亘ってユーザ入力を受信するための複数のプラグインを実装することによってゲームプレーヤ及び遠隔視聴者のためのゲーム体験を向上させる機構、（３）ビデオゲーム内の要素に基づいて継続的にトレーニングされることがあるビデオゲームモデルを実装する機構、（４）ゲーム体験に関連してグラフィカルユーザインターフェースを向上させる機構、及び（５）オンスクリーン注釈を同時に提供しながら高パフォーマンスビデオゲーム体験を可能にする機構を提供することができる。
【００２７】
次に、ビデオフレームに注釈を付ける技法に向けられた例示的な実装を記載する。例えば、図１は、例示的な実装に従った、ビデオゲームによって生成されるビデオフレームに注釈を付けるための例示的なシステム１００のブロック図を示している。図１に示すように、システム１００は、コンピューティングデバイス１０２と、ネットワーク１０６と、１つ又はそれよりも多くの遠隔デバイス１０４とを含む。ネットワーク１０６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、エンタープライズネットワーク、インターネットなどのような、１つ又はそれよりも多くのネットワークを含むことがあり、有線及び／又は無線部分を含むことがある。コンピューティングデバイス１０２は、ネットワーク１０６を介して遠隔デバイス１０４に通信接続される。実装において、コンピューティングデバイス１０２及び遠隔デバイス１０４は、１つ又はそれよりも多くのアプリケーションプログラミングインターフェース（ＡＰＩ）を介して通信してよい。
【００２８】
コンピューティングデバイス１０２は、１つ又はそれよりも多くのビデオフレームを含むビデオ信号をディスプレイスクリーンに出力するように構成されたデバイスであってよい。コンピューティングデバイス１０２は、ビデオゲームコンソール（例えば、任意のバージョンのMicrosoft  Xbox（登録商標）、任意のバージョンのSony  PlayStation（登録商標）、任意のバージョンのNintendo  Wii（登録商標）、NES、又は任意のバージョンのSwitch（ＴＭ）など）、デスクトップコンピュータ、ポータブルコンピュータ、スマートフォン、タブレット、ウェアラブルコンピューティングデバイス、ヘッドマウントゲームデバイス、混合及び／又は仮想現実デバイス（例えば、Microsoft  HoloLens（ＴＭ））、又はビデオゲームを実行し且つビデオゲームによって生成されるビデオフレームをディスプレイデバイスに出力する任意の他の処理デバイスを含んでよい。図１に示していないが、コンピューティングデバイス１０２のディスプレイデバイスは、ビデオゲームによって生成されるビデオフレームを受信及び表示するのに適した任意のタイプのディスプレイを含んでよい。例えば、ディスプレイデバイスは、液晶ディスプレイ、陰極線管ディスプレイ、発光ダイオードディスプレイ、プラズマディスプレイ、プロジェクタテレビジョンのディスプレイスクリーン、又は適切なインターフェースを通じてコンピューティングデバイス１０２に結合されてよい任意の他のタイプのディスプレイであってよい。コンピューティングデバイス１０２のディスプレイデバイスは、コンピューティングデバイス１０２の外部にあってよく、或いはコンピューティングデバイス１０２に組み込まれてよい。図８を参照して、コンピューティングデバイス１０２の機能性を組み込むことがある例示的なコンピューティングデバイスを以下に議論する。
【００２９】
図１に示すように、コンピューティングデバイス１０２は、ビデオゲームオーバーレイ１０８と、ビデオゲーム１１６とを含む。ビデオゲームオーバーレイ１０８は、ビデオゲーム１１６によって生成されたビデオフレーム上に対話型オーバーレイを提供するように構成される。例えば、ビデオゲームオーバーレイ１０８は、ビデオゲーム１１６からのコンテンツを表示しているコンピューティングデバイス１０２のディスプレイデバイス上に、オーバーレイとして表示されるべき１つ又はそれよりも多くのオンスクリーン表示、メッセージ、アフォーダンス、手がかり、若しくは他の情報、又は重ね合わせられる画像又はグラフィックを提示してよい。実装において、ビデオゲームオーバーレイ１０８は、ビデオゲームオーバーレイがビデオゲーム１１６のリアルタイムゲームプレイと同時にオーバーレイ情報を提示することがあるように、ビデオゲーム１１６と同時に実行されてよい。例えば、ビデオゲームオーバーレイ１０８は、共通のオペレーティングシステム上でビデオゲーム１１６と同時に実行されることがあるアプリケーションとして構成されてよい。他の例示的な実施形態において、ビデオゲームオーバーレイ１０８は、それがオーバーレイとしてグラフィカルオブジェクト又は注釈を提示することがあるように、オペレーティングシステム上で実行可能なシェルレベル又はトップレベルのアプリケーションとして実装されてよい。別の例において、ビデオゲームオーバーレイ１０８は、Redmond,  WashingtonのMicrosoft  Corporationによって開発されたGame  Barのようなアプリケーション内に実装されてよい。
【００３０】
ビデオゲームオーバーレイ１０８は、遠隔デバイスインターフェース１１０と、ビデオゲーム注釈器１１４(video  game  annotator)とを含む。遠隔デバイスインターフェース１１０は、プラグイン１１２Ａ〜１１２Ｎを含んでよい。プラグイン１１２Ａ〜１１２Ｎは、ネットワークを通じて１つ又はそれよりも多くのエンドポイント又は遠隔に配置されるソース（例えば、（複数の）遠隔デバイス１０４）から情報を受信するように構成されてよい。例えば、プラグイン１１２Ａ〜１１２Ｎは、遠隔に位置するユーザがネットワークを通じてビデオゲーム１１６のリアルタイムゲームプレイを見ることを可能にする多くの異なるサービスに対応してよい。プラグイン１１２Ａ〜１１２Ｎは、遠隔に位置するユーザがゲームプレイ中にビデオゲーム１１６のビデオゲームプレーヤに１つ又はそれよりも多くのメッセージを送信することを可能にすることで、ビデオゲームプレーヤは、ビデオゲームプレーヤがビデオゲーム１１６をプレイしているときに、（例えば、オンスクリーン表示又は同等物を介して）そのようなメッセージを見ることができ、或いはそのようなメッセージを聴くことができる。
【００３１】
幾つかの実装において、プラグイン１１２Ａ〜１１２Ｎは、それぞれ、１つ又はそれよりも多くのサーバ（図示せず）によって提供されるオンライン又はクラウドベースのサービスと通信するための通信チャネルに対応してよい。例えば、プラグイン１１２Ａ−１１２Ｎは、ビデオゲームオーバーレイ１０８が、同じゲームサービスに接続された遠隔視聴者（例えば、（複数の）遠隔デバイス１０４のユーザ）がビデオゲーム１１６のビデオゲームプレーヤと対話することを可能にする複数の異なるゲームサービスに接続することを可能にしてよい。幾つかの例は、San  Francisco,  CaliforniaのDiscord,  Inc.によって開発されたDiscord（登録商標）、San  Francisco,  CaliforniaのTwitch  Interactive,
Inc.によって開発されたTwitch（登録商標）、Redmond,  WashingtonのMicrosoft  Corporationによって開発されたMixer（ＴＭ）のような、対話型ゲームサービスを含む。ビデオゲームオーバーレイ１０８は、１つ又はそれよりも多くのプラグインを介して遠隔デバイスと通信することに限定されないことに留意のこと。例えば、他の実装において、ビデオゲームオーバーレイ１０８は、コンピューティングデバイス１０２で実行されるスタンドアロン型のソフトウェア、１つ又はそれよりも多くのＡＰＩ、又は遠隔視聴者とビデオゲーム１１６のプレーヤとの間のリアルタイム対話を可能にするためにコンピューティングデバイス１０２内に実装される他のソフトウェア及び／又はハードウェアを介してのような、ネットワーク１０６を通じて別のデバイスと通信するための任意の他の方法を含んでよい。幾つかの他の実施態様において、ビデオゲームオーバーレイ１０８は、任意のタイプの直接接続又は間接接続を介して（例えば、サーバのような仲介物を通じて）１つ又はそれよりも多くの遠隔デバイスと通信してよい。
【００３２】
変数「Ｎ」は、例示される構成要素についての様々な参照番号に付されて、そのような構成要素の数が、２以上の任意の値で可変であることを示すことに留意のこと。各々の別個の構成要素／参照番号について、変数「Ｎ」は、対応する値を有し、それは他の構成要素／参照番号についての「Ｎ」の値について異なることがあることに留意のこと。任意の特定の構成要素／参照番号についての「Ｎ」の値は、具体的な実装に依存して、１０未満、数百、数千、又はそれ以上における１０未満であることがある。
【００３３】
ビデオゲーム１１６は、コンピューティングデバイス１０２上で実行可能又はプレイ可能な任意のタイプのビデオゲームを含んでよい。ビデオゲーム１１６は、スポーツ、アクション、アドベンチャ、ロールプレイ、シミュレーション、戦略、教育などのような、あらゆるタイプのビデオゲームジャンルを含んでよい。ビデオゲーム１１６は、任意のレベルのプレーヤ対話のゲーム（例えば、速いアクション又は速いペースのゲーム、遅い動きのゲーム、シングルプレーヤゲーム、マルチプレーヤゲームなど）を含んでよい。他の例として、ビデオゲーム１１６は、カードゲーム（例えば、ソリテール）、クロスワードパズル、数学ゲーム、トリビアゲーム、ファミリーゲームなどのような、ゲーム又はアクティビティを含んでよい。実装において、ビデオゲーム１１６は、コンピューティングデバイス１０２上にローカルに格納されてよく、或いはコンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、ブルーレイ（ＴＭ）ディスク、又はコンピューティングデバイス１０２によってアクセスされることがある任意の他の媒体のような、取り外し可能な記憶装置に格納されてよい。他の実装において、ビデオゲーム１１６は、遠隔的に（例えば、ネットワーク１０６を介してアクセス可能なローカルに又は遠隔的に配置されたサーバに）格納され、且つ／或いはローカル又は遠隔サーバからストリーミングされてよい。
【００３４】
（複数の）遠隔デバイス１０４は、コンピューティングデバイス１０２のビデオゲームプレーヤと対話する遠隔視聴者の１つ又はそれよりも多くの遠隔デバイスを含む。システム１００は、任意の数の遠隔デバイス１０４を含んでよく、各遠隔デバイスは、任意の１つ又はそれよりも多くの場所に配置されてよいことが理解されるべきである。（複数の）遠隔デバイス１０４は、モバイルコンピューティングデバイス（例えば、Microsoft（登録商標）Surface（登録商標）デバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、ノートブックコンピュータ、Apple  iPad（登録商標）のようなタブレットコンピュータ、ネットブックなど）、携帯電話、手持ち式ビデオゲームデバイス、ウェアラブルコンピューティングデバイス、ヘッドマウントゲームデバイス、又は混合及び／又は仮想現実デバイス（例えば、Microsoft  HoloLens（ＴＭ））を含むが、これらに限定されない、移動式デバイスを含んでよい。（複数の）遠隔デバイス１０４は、デスクトップコンピュータ又はＰＣ（パーソナルコンピュータ）、ビデオゲームコンソール、セットトップボックス、テレビ、又は音声作動ホームアシスタントデバイスのようなスマートデバイスのような、固定デバイスを含んでよいが、それらに限定されない。実装において、（複数の）遠隔デバイス１０４は、ビデオゲーム１１６のリアルタイムゲームプレイを表すオーディオ及び／又はビデオコンテンツを出力するように構成されたスピーカ及び／又はディスプレイデバイス（図示せず）のような、１つ又はそれよりも多くの出力装置を含んでよい。例示的な実施形態において、（複数の）遠隔デバイス１０４は、ネットワーク１０６を介してコンピューティングデバイス１０２と対話するよう、適切なプラグインを介して遠隔デバイスインターフェース１１０に連結されてよい。他の実装において、（複数の）遠隔デバイス１０４は、適切なＡＰＩを介して、及び／又はウェブブラウザ（例えば、Microsoft（登録商標））Internet Explorer、Google（登録商標）Chrome、Apple（登録商標）Safariなど）のような他の機構によって、ネットワーク１０６を介して、ビデオゲームオーバーレイとインターフェース接続してよい。任意の数のプラグイン、プログラムインターフェース、又はウェブブラウザが存在してよいことに留意のこと。
【００３５】
（複数の）遠隔デバイス１０４は、ユーザ入力を受信するための入力インターフェース１１８を含んでもよい。入力インターフェース１１８は、（複数の）遠隔デバイス１０４のユーザが多数の方法においてコンピューティングデバイス１０２のビデオゲームオーバーレイ１０８と対話することを可能にすることがある。例えば、入力インターフェース１１８は、キーボード入力、マイクロホン、カメラ、タッチスクリーン、タッチパッド、又は遠隔ユーザ入力を取り込むための任意の他のタイプのデバイスを含んでよい。従って、遠隔ユーザ入力は、オーディオ、ビデオ、テキスト、タッチスクリーン、タッチパッド、スタイラス又はペンベースの入力（例えば、Microsoft  Windows（登録商標）Ink）、ジェスチャベースの入力などを含む、任意の形態において取り込まれてよい。例において、遠隔ユーザ入力は、任意のタイプの情報（例えば、ビデオゲーム１１６のビデオゲームプレーヤのためのメッセージ、提案、又は助言、又はビデオゲーム１１６に関する任意の他の情報）を含んでよい。入力インターフェース１１８を介して情報を受信した後に、（複数の）遠隔デバイス１０４は、上述したように、適切な通信チャネルを通じて、ネットワーク１０６を通じたそのような情報をビデオゲームオーバーレイ１０８に送信してよい。非限定的な例示的な例として、遠隔ユーザは、ビデオゲームプレーヤが特定のプレーヤにボールを渡さなければならないことを口頭で示すことがある。入力インターフェース１１８がそのような入力を取り込んだ後に、遠隔デバイス１０４は、（オーディオ及び／又はテキストのような）メッセージをビデオゲームオーバーレイ１０８に送信することによって、遠隔ユーザがビデオゲーム１１６のビデオゲームプレーヤとリアルタイムで対話することを可能にしてよい。
【００３６】
実装によれば、ビデオゲーム注釈器１１４は、ビデオゲーム１１６によって生成されるビデオフレームに１つ又はそれよりも多くの注釈を提示するように構成されてよい。例えば、ビデオゲーム注釈器１１４は、（複数の）遠隔デバイス１０４の１つから受信する遠隔ユーザ入力（例えば、メッセージ）から抽出されるコンテンツをオンスクリーン注釈として提示してよい。例示的な実施形態において、ビデオゲーム注釈器１１４は、機械学習ベースのビデオゲームモデルを適用して、遠隔ユーザ入力を分析して、ビデオゲーム１１６と関連付けられる要素タグを識別し、ビデオゲーム１１６によって生成されるビデオフレーム内の要素タグに対応する要素を識別し、１つ又はそれよりも多くの方法でビデオフレームに注釈を付けるように構成されてよい。このようにして、ビデオゲームプレーヤがビデオゲーム１１６をプレイしているときに、ビデオゲーム注釈器１１４は、多数の異なるソース（例えば、プラグイン１１２Ａ〜１１２Ｎ）を通じて受信される遠隔ユーザ入力を利用して、ビデオゲーム１１６のリアルタイムゲームプレイに対応するビデオフレームへの対話型注釈を生成してよい。
【００３７】
従って、実装では、ビデオゲームによって生成されるビデオフレームに注釈を付けることが達成される。ビデオゲーム注釈器１１４は、ビデオゲーム１１６のビデオフレームに様々な方法で注釈を付けてよい。例えば、図２は、例示的な実施形態に従った、ビデオフレームに注釈を付ける方法のフローチャート２００を示している。実装において、フローチャート２００の方法は、ビデオゲーム注釈器１１４によって実装されてよい。図２は、図１を引き続き参照して記載される。他の構造的及び操作的な実装は、図１のシステム１００及びフローチャート２００に関する以下の議論に基づいて、（複数の）関連技術の当業者に明らかであろう。
【００３８】
フローチャート２００は、ステップ２０２で開始する。ステップ２０２では、ビデオゲームオーバーレイが、ビデオゲームと同時に実行される。例えば、図１を参照すると、ビデオゲームオーバーレイ１０８は、ビデオゲーム１１６と同時に実行されてよい。実装では、ビデオゲーム１１６を起動した後に、ビデオゲームオーバーレイ１０８は、自動的に（例えば、更なるユーザの入力なしに）実行されてよく、或いはユーザによって手動で実行されてよい。ビデオゲームオーバーレイ１０８は、特定のゲームが実行されたか或いは特定のゲームジャンルに属するゲーム（例えば、スポーツゲーム）が実行されたかを決定することに基づいて選択的に起動されてもよい。幾つかの他の実装では、コンピューティングデバイス１０２のユーザが、ユーザインターフェース（図示せず）を介して、ビデオゲームオーバーレイ１０８を同時に実行させる１つ又はそれよりも多くのビデオゲームを特定してよい。
【００３９】
ビデオゲームオーバーレイ１０８は、それがビデオゲーム１１６の実行を中断させることなく開始及び終了されるように、ビデオゲーム１１６とは別個のアプリケーション又はプロセスとして構成されてよい。他の実装において、ビデオゲームオーバーレイ１０８は、別個のアプリケーション又はプロセスとしてではなく、ビデオゲーム１１６内に実装されてよい。実装によれば、ビデオゲームオーバーレイ１０８は、ビデオゲーム１１６によって生成される１つ又はそれよりも多くのビデオフレーム上に重ね合わせられた方法で表示されるオンスクリーンオーバーレイ（例えば、グラフィカル又は他の注釈）を提供するように構成されてよい。例えば、ビデオゲーム注釈器は、１つ又はそれよりも多くのプラグイン１１２Ａ〜１１２Ｎから遠隔ユーザ入力を受信し、そのような入力を、ビデオゲーム１１６からのコンテンツを同時に表示しているディスプレイスクリーン上にオーバーレイとして表示してよい。
【００４０】
ステップ２０４では、遠隔ユーザ入力が１つ又はそれよりも多くの遠隔デバイスから受信される。例えば、図１を参照すると、ビデオゲームオーバーレイ注釈１１４は、ネットワーク１０６を介して１つ又はそれよりも多くの遠隔デバイス１０４から遠隔ユーザ入力を受信してよい。実装において、ビデオゲーム注釈器１１４は、１つ又はそれよりも多くのプラグイン１１２Ａ〜１１２Ｎからそのような入力を受け取ってよく、プラグインの各々は、１つ又はそれよりも多くの遠隔デバイス１０４が通信的に連結される遠隔サービスに対応してよい。ステップ２０４は、他の実装に従って遂行されてもよい。例えば、図３は、ビデオゲーム１１６及びビデオゲームモデル生成器３０８に連結されたビデオゲームオーバーレイ１０８のブロック図を示している。図３に示すように、ビデオゲームオーバーレイ１０８は、前述のような遠隔デバイスインターフェース１１０と、ビデオゲーム注釈器１１４(video  frame  annotator)とを含む。ビデオゲーム注釈器１１４は、受信器３０２と、結合器３０４(combiner)と、発話−テキスト変換器３０６(speech-to-text  converter)と、正規化装置３０８(normalizer)と、パーサ３１０(parser)と、要素認識器３１２(element  recognizer)と、ビデオフレーム注釈器３１４とを含む。
【００４１】
ステップ２０４に従って、受信器３０２は、ネットワーク１０６を介して（複数の）遠隔デバイス１０４のうちの１つから遠隔ユーザ入力を受信するように構成されてよい。実装において、受信器３０２は、プラグイン１１２Ａ〜１１２Ｎのうちの１つ又はそれよりも多くを介して、或いは遠隔に位置するデバイスからユーザ入力を受信する任意の他の適切な方法において、遠隔ユーザ入力を受信３２４してよい。受信器３０２は、任意の数のプラグインから入力を受信してよい。実装において、受信器３０２は、複数の異なるプラグイン（例えば、異なる遠隔サービスに対応するプラグイン）から遠隔ユーザ入力を同時に(concurrently)又は同時に(simultaneously)受信するように構成されてよい。結果として、受信器３０２は、様々な異なるプラグインからユーザ入力を受信することがあるので、受信器３０２は、異なる遠隔サービスとビデオゲーム注釈器１１４との間のユニバーサルインターフェースとして機能することがある。このようにして、別個のビデオゲームオーバーレイが、各遠隔サービスについてインストールされる必要はなく、むしろ、ビデオゲーム１１６と同時に実行される単一のビデオゲームオーバーレイ１０８が、プラグイン１１２Ａ〜１１２Ｎのうちの１つ又はそれよりも多くを起動し、インストールし、或いは実行することを通じて、複数の所望の遠隔サービス及びユーザに亘る通信を可能にすることがある。
【００４２】
幾つかの例示的な実施形態において、受信器３０２は、様々な形態の遠隔ユーザ入力を受信するように構成されてよい。例えば、（複数の）遠隔デバイス１０４の入力インターフェース１１８は、（例えば、マイクロホンを介した）音声入力、（例えば、キーボードを介した）テキスト入力、（例えば、スタイラス、ペンベースの入力、又はユーザ始動タッチ作用を介した）タッチスクリーン入力、又はポインティングデバイス入力（例えば、マウス又は他のポインティングデバイス）を含む、１つ又はそれよりも多くの形態において遠隔ユーザ入力を得てよい。幾つかの実装において、遠隔ユーザ入力が音声入力を含む場合、発話−テキスト変換器３０６が、音声入力３２８を受信し、音声入力をテキスト入力に自動的に変換してよい。例えば、当業者に理解されるような１つ又はそれよりも多くの発話変換アルゴリズムを使用して、発話−テキスト変換器３０６は、マイクロホンによって取り込まれる遠隔ユーザ入力を、例えば、語又は句に変換してよい。同様に、本明細書に示していないが、変換器は、例えば、当業者によって理解されるような１つ又はそれよりも多くの光学式文字認識（ＯＣＲ）技術を実装することによって、タッチ入力をテキスト入力に変換してよい。このようにして、異なる入力インターフェースによって得られる遠隔ユーザ入力は、本明細書に記載するような１つ又はそれよりも多くの他の処理ステップの前に、テキストに変換されてよい。
【００４３】
幾つかの例示的な実施形態において、正規化装置３０８は、遠隔ユーザ入力３３０を取得し３３０、入力を正規化するように構成されてよい。例えば、正規化装置３０８は、入力が後続の処理のために適切な形態であるように、遠隔ユーザ入力（又は上述のように変換された遠隔ユーザ入力）に対して１つ又はそれよりも多くの修正を実行してよい。例示的な実施形態では、遠隔ユーザ入力を正規化することは、全ての大文字を除去すること及び／又は全ての句読点を除去することを含んでよい。正規化装置３０８は、遠隔ユーザ入力内に含まれる語を分析して、語の基本又は辞書形態を得るために、語形変化した語末端を除去することのような、１つ又はそれよりも多くの分類整理(lemmatization)又は音節省略(truncation)技法に基づいて、遠隔ユーザ入力を正規化してもよい。他の例において、正規化装置３０８は、他の外来語又は句を除去してよく、スペリングの誤りを矯正してよく、或いは遠隔ユーザ入力に類似の修正変更を行ってよい。
【００４４】
ステップ２０６では、要素タグをビデオゲームの要素に関連付けて、遠隔ユーザ入力を構文解析(パース)し、ビデオゲームに対応する要素タグを抽出する、ビデオゲームモデルが適用される。例えば、図３を参照すると、ビデオゲームモデル生成器３２０は、要素タグ（例えば、ラベル）をビデオゲーム１１６の要素と関連付けるビデオゲームモデル３２２を生成してよい。実装において、ビデオゲームモデル３２２は、以下により詳細に記載するように、教師付き(supervised)及び教師なし(unsupervised)トレーニングの両方を含む多数の方法でトレーニングされることがある、各ビデオゲームのための機械学習ベースのモデルを含む。ビデオゲーム１１６がより多くプレイされるにつれて、ビデオゲームモデル３２２は、追加のトレーニングデータを得ることがあり、よって、時間の経過に亘ってビデオゲームモデル３２２の精度を高めることがある。ある例において、ビデオゲームモデル３２２は、特定のグラフィカルオブジェクト（例えば、スポーツジャージ識別子又はスポーツプレーヤの顔）を要素タグ（例えば、ビデオゲーム１１６内のスポーツプレーヤの名前）に関連付けてよい。別の例において、ビデオゲームモデルは、ランドスケープ（例えば、木）又は地理的オブジェクト（ゲーム中の場所）のような他の要素を適切な要素タグと関連付けてよい。ビデオゲームモデル３２２は、各々の異なるビデオゲーム１１６のための機械学習ベースのモデルを含んでよい。例えば、ビデオゲームは、典型的には、異なるコンテンツを含むので、ビデオゲームモデル３２２は、各ビデオゲーム１１６について、ビデオゲーム要素への要素タグの独特の関連付けを含むことがある。
【００４５】
戻ってステップ２０６を参照すると、パーサ３１０は、ビデオゲームモデル３２２を適用して、遠隔ユーザ入力を構文解析し、ビデオゲーム１１６に対応する要素タグを抽出する、ように構成されてよい。例えば、プレイされている特定のビデオゲームに基づいて、ビデオゲームモデル３２２は、ビデオゲーム１１６の要素と関連付けられる各々の可能な要素タグ（例えば、テキストラベルのようなラベル）を識別してよい。パーサ３１０は、遠隔ユーザ入力３３２を受信し、入力を構文解析して、入力がビデオゲーム１１６に対応する要素タグを含むかどうかを決定してよい。実装において、パーサ３１０は、ビデオゲームモデル１１６を適用する３３８ことによって、識別される各々の可能な要素タグについて、遠隔ユーザ入力のテキストサーチを実行することによって、遠隔ユーザ入力から要素タグを抽出してよい。パーサ３１０は、各々の遠隔ユーザ入力から単一の要素タグを抽出することに限定されず、任意の所与の入力において複数の要素タグを抽出してよいことに留意のこと。例えば、非限定的な例示的な例として、遠隔ユーザがサッカービデオゲームのリアルタイムのゲームプレイを視聴し、ビデオゲームプレーヤが「ボールをクリスチアーノに渡す」べきであることを口頭で示すならば、パーサ３１０は、特定のビデオゲームの全ての可能な要素タグを適用し、「ボール」及び「クリスチアーノ」を含む要素タグを遠隔ユーザ入力から抽出してよい。別の例では、ビデオゲーム１１６がカードゲーム（例えば、ソリテール）であり、遠隔ユーザ入力が「ハートの６」に関する提案を含むならば、パーサ３１０は、ビデオゲームモデル３２２を適用することによって、「６」及び「ハート」（又はそれらの組み合わせ）が要素タグであることを決定し、遠隔ユーザ入力からそのような要素タグを抽出してよい。
【００４６】
ステップ２０８では、ビデオゲームモデルを適用して、要素タグに対応するビデオゲームの要素を識別する。例えば、図３を引き続き参照すると、要素認識器３１２は、パーサ３１０によって抽出された要素タグを受け取り３３４、ビデオゲームモデル３２２を適用して要素タグに対応するビデオゲーム１１６のインゲーム要素を識別する、ように構成される。要素認識器３１２は、抽出された要素タグに対応するビデオゲーム１１６のインゲーム要素を多数の方法で識別してよい。例えば、要素認識器３１２は、抽出された要素タグをビデオゲームモデル３２２に提供して、対応する要素と関連付けられる情報を識別してよい。ビデオゲームモデル３２２は、グラフィカルオブジェクト（例えば、スポーツプレーヤの特定の顔、ボール、ランドスケープオブジェクトなど）、語又は句（プレーヤ名、番号）、又はタグと関連付けられる任意の他のインジケータを識別することによって、抽出された要素タグと関連付けられる情報を戻してよい。
【００４７】
実装においては、ビデオゲームモデル３２２によって戻される要素と関連付けられる情報を使用して、要素認識器３１２は、ビデオゲーム１１６によって生成されるビデオフレーム３４２を取得し、ビデオフレームを分析して抽出される要素タグに対応する要素を識別してよい。ビデオフレームは、静止画像、ビットマップファイル、ｊｐｅｇファイル、ポータブルネットワークグラフィックス（ｐｎｇ）ファイルなどを含むが、これらに限定されない、任意のフォーマットを含んでよい。他の実装において、要素認識器３１２は、ビデオゲーム１１６によって生成される複数のビデオフレーム（例えば、ビデオフレームのストリーム）内の要素を識別してよい。
【００４８】
従って、抽出された要素タグに対応する要素を識別するためにモデル３２２を適用した後に、要素認識器３１２は、ビデオフレームを分析して、そのような要素が実際のゲームプレイの間に存在するかどうかを識別してよい。要素認識器３１２は、オブジェクトを探し出すために、画像分析アルゴリズム、ＯＣＲアルゴリズム、又は当業者に認識され且つ理解されるような任意の他の技術（又はそれらの組み合わせ）を用いて、ビデオフレーム内の要素を識別（例えば、検索）してよい。例えば、以前の例示的な例を続けると、抽出された要素タグが「ボール」及び「クリスチアーノ」であるならば、要素認識器３１２は、プレイされている特定のスポーツゲームのためにモデル１１６を適用して、各要素タグと関連付けられる要素を識別し、ビデオゲーム１１６のビデオフレームを分析して、ボール、ジャージ番号、名前、フィールド又はコート上のプレーヤの位置などを検索することによって、ビデオフレーム内のそのような要素を識別してよい。要素認識器３１２は、ビデオゲーム１１６と同時に実行されるので、ビデオゲームのビデオフレーム上のそのような要素の識別は、リアルタイム又は略リアルタイムで実行されることがある。
【００４９】
実装において、要素認識器３１２はまた、識別される要素の場所を識別するように構成されてもよい。要素認識器３１２は、多数の方法で場所を識別してよい。例えば、識別された要素の場所は、画像フレーム上の仮想場所に基づいてよい。要素認識器３１２は、フレーム内の識別された要素の場所を表す１つ又はそれよりも多くの座標を使用して、画像フレーム上の相対場所を識別してよい。要素認識器３１２は、ビデオフレーム上の識別されたオブジェクトの中心を識別してよく、或いは識別されたオブジェクトの輪郭又は境界を表す複数の座標を識別してよい。
【００５０】
幾つかの他の実装において、識別された要素の場所は、ビデオゲームモデル３２２に基づいてよい。例えば、ビデオゲームモデル３２２は、ビデオゲームマップに基づいてトレーニングされてよい。このような場合、ビデオゲームモデル３２２は、ビデオゲーム１１６内の要素の場所に基づいて、ビデオゲーム１１６内の１つ又はそれよりも多くの要素の場所を識別するように構成されてよい。従って、パーサ３１０が遠隔ユーザ入力から要素タグを抽出した後に、要素認識器３１２は、ビデオゲームモデル３２２を適用して、要素タグに対応する要素がビデオゲーム内に存在するか或いは見出されることがある場所を識別し、（例えば、ビデオフレームに存在するミニチュアマップに基づいて、或いはビデオフレーム内の１つ又はそれよりも多くの他の要素を識別して現在の場所を推測することに基づいて）、その識別された場所をビデオゲーム１１６の最新のビデオフレームによって示されるような現在の場所と比較してよい。ビデオゲーム１１６がスポーツゲームである場合のような、別の例において、ビデオゲームモデル３２２は、１人又はそれよりも多くのスポーツプレーヤによってプレイされる位置に基づいて更にトレーニングされてよい。例えば、要素認識器３１２が要素タグに対応するビデオフレーム内の要素（例えば、特定のスポーツプレーヤ）を識別することができない場合、要素認識器３１２は、ビデオゲームモデル３２２を適用して、たとえプレーヤがビデオフレーム内で識別されないとしても、位置決めされたプレイに基づいてプレイされるスポーツのありそうな場所を決定又は推測してよい。
【００５１】
要素認識器３１２は、識別された要素と関連付けられる信頼値を決定してよもよいことにも留意のこと。例えば、要素認識器３１２は、ビデオフレームを分析して、本明細書に記載するようなインゲーム要素を識別し、その識別と関連付けられる信頼性の尺度を更に計算してよい。実装において、信頼値が閾値を上回るならば、要素についての注釈が、ビデオフレーム上にオーバーレイされてよい。信頼値が閾値を下回るならば、注釈はビデオフレームに適用されなくてよい。信頼値は、ユーザ入力に基づいて構成されてもよい。例えば、ビデオゲームプレーヤは、より正確なオンスクリーン注釈のために、より高い信頼値を設定してよい。
【００５２】
ステップ２１０において、ビデオフレームは、識別された要素及び要素の場所に基づいて注釈付けされる。図３を参照すると、ビデオフレーム注釈器３１４は、要素認識器３１２からの要素の場所及びインゲーム要素の識別を取得し３３６、要素及び場所に基づいてビデオゲーム１１６のビデオフレームにオンスクリーン注釈を提供してよい３４４。例えば、注釈セレクタ３１６が、以下により詳細に記載するように、多くの方法で適切な注釈を選択してよく、注釈レンダラ３１８が、注釈をビデオゲーム１１６によって生成されるビデオフレーム上にオーバーレイさせてよい。注釈レンダラ３１８は、要素を強調すること、要素（例えば、シルエット）の輪郭を描くこと、要素の周りに形状（例えば、ボックス、円、星など）を表示すること、及び／又は要素の方向の視覚的表示（例えば、矢印又は他のポインタ）を表示することを含むが、これらに限定されない、ビデオフレーム上の任意のタイプのオンスクリーン注釈をレンダリングするように構成されてよい。注釈は、識別された要素の上(top)又は周り(around)にオーバーレイされる必要はなく、識別された要素の近く（例えば、上方(above)、下方(below)など）に表示されてもよい。ビデオフレーム上でレンダリングされる注釈は、不透明又は半透明であってよく、単一の色、又は複数の色を含んでよく、或いは注釈が連続するビデオフレーム上でレンダリングされるときに色を変更してよい。他の実装では、ゲーム中に注釈をより多く又はより少なく見えるようにさせるために、注釈が点滅(フラッシュ)してよく、或いはサイズ、厚さ、又はタイプを変化させてよい。例は、本明細書において限定的でなく、要素又は要素の組み合わせに注釈を付ける任意の他のタイプ又はフォーマットも想定される。
【００５３】
例示的な実施形態において、注釈レンダラ３１８は、コンピューティングデバイス１０２のディスプレイデバイスがビデオゲーム１１６のビデオフレーム及びオーバーレイされた注釈の両方を同時に表示するように、ビデオゲーム１１６によって生成されたビデオフレーム上のオーバーレイとして注釈をレンダリングするように構成される。前記で議論したように、注釈は、単一のビデオフレーム内に表示されてよく、或いは複数の（例えば、連続的な）ビデオフレームに亘ってリフレッシュされてよい。幾つかの実装では、注釈がレンダリングされる識別された要素がビデオフレーム上にもはや存在しなくなるまで、注釈が１つ又はそれよりも多くの連続的なビデオフレーム上に表示されてよい。別の例では、ユーザが（例えば、ボールをハイライトされたプレーヤに渡すことによって）注釈に応答して特定のアクションを実行するか、注釈と一致しないアクションを実行するか、注釈を無視するか、或いは注釈を破棄するまで、注釈は表示されてよい。注釈が複数のビデオフレームについて表示されることがある例では、連続的なビデオフレームの１つ又はそれよりも多くを分析して、（例えば、ステップ２０８に関して）上述したのと類似の方法で要素及びその場所を識別してよい。例えば、ビデオゲーム１１６によって生成される各ビデオフレームは、要素タグに対応する要素を識別するために別個に処理されてよく、注釈レンダラ３１８は、識別された要素が存在する各ビデオフレームを注釈するように構成されてよい。他の例において、注釈レンダラ３１８は、任意の適切なオブジェクト認識及び／又はオブジェクトトラッキングアルゴリズムを使用して、連続的なビデオフレーム内の識別された要素の動きをトラッキング(追跡)することによって注釈をレンダリングするように構成されてよい。
【００５４】
注釈レンダラ３１８がビデオゲーム１１６によって生成されるビデオフレーム上に注釈を表示する場合があることが本明細書に記載されているが、実装は、ビデオフレーム上に単一の注釈をレンダリングすることに限定されない。任意の注釈レンダラ３１８は、（例えば、ビデオフレーム内のボール及びプレーヤに注釈を付けることによって）ビデオフレーム上に任意の数及びタイプの注釈を同時にレンダリングしてよいことが理解されるであろう。更に、注釈レンダラ３１８は、単一の遠隔ユーザ入力に基づいて注釈をレンダリングすることに限定されない。むしろ、受信器３０２は、様々な異なるプラグイン１１２Ａ〜１１２Ｎ又は遠隔サービスから遠隔ユーザ入力を受信することがあるので、注釈レンダリング３１８は、様々なユーザ入力において識別される要素タグに対応する複数の要素についてビデオフレーム上で適切な注釈を同時にレンダリングすることがある。
【００５５】
上述のように、例において、ビデオゲームモデル３２２は、様々な方法で要素タグをビデオゲーム１１６の要素と関連付けるようにトレーニングされてよい。例えば、図４は、例示的な実施形態に従った、ビデオゲームモデルを生成する方法のフローチャート４００を示している。ある例において、フローチャート４００の方法は、図３に示すように、ビデオゲームモデル３２２によって実装されてよい。他の構造的及び操作的な実施形態が、フローチャート４００に関する以下の議論に基づいて（複数の）関連技術の当業者に明らかであろう。
【００５６】
フローチャート４００は、ステップ４０２で開始する。ステップ４０２では、ビデオゲームモデルが、教師付き又は教師なしトレーニングに基づいて生成される。例えば、図３を参照すると、ビデオゲームモデル３２２は、教師付きトレーニング、教師なしトレーニング、又はその両方を介して生成されてよい。教師付きトレーニングは、１つ又はそれよりも多くのユーザ入力に基づくトレーニングビデオゲームモデル３２２を含んでよい。１つの実施形態において、（複数の）ユーザは、要素タグ（例えば、ラベル）をビデオゲーム１１６の要素と手作業で関連付けることによって、ビデオゲームモデル３２２をトレーニングしてよい。例えば、ユーザが、スポーツプレーヤの名前（すなわち、プレーヤの要素タグ）とビデオゲーム１１６内のプレーヤ（すなわち、プレーヤに対応するインゲーム要素）との間の関連付けを識別してよい。別の例では、ユーザが、ビデオゲーム内の場所（例えば、バンカー又は湖）及びその場所に対応する要素タグに基づいて、ビデオゲームモデル３２２を訓練してよい。更なる実装では、ビデオゲームモデル３２２は、ビデオゲーム内のそのような場所又はその付近の１つ又はそれよりも多くのインゲームオブジェクト（例えば、湖の近くの武器又は弾薬）に基づいて更にトレーニングされてよい。
【００５７】
ビデオゲームモデル３２２のトレーニングのための関連付けは、ビデオフレーム上の要素を選択し、タッチスクリーン、キーボード、音声入力、ポインティングデバイスなどのような、任意の適切なユーザ入力を介して、要素のためのタグを識別することによって、行われてよい。例示的な実施形態は、単一のユーザ入力に基づいてビデオゲームモデル３２２をトレーニングすることに限定されないことに留意のこと。むしろ、ビデオゲームモデル３２２は、ビデオゲーム１１６を現在プレイしているプレーヤ及び遠隔デバイス１１６を同時に又は異なる時に遠隔視聴している（複数の）遠隔デバイスの１つ又はそれよりも多くのユーザのような、任意の数のユーザに基づいてトレーニングされてよい。別の実装では、設計者（例えば、ゲームデザイナ、ゲームオーバーレイデザイナ、プラグインデザイナなど）が、本明細書で議論するような教師付きトレーニングの任意の適切な方法を通じてビデオゲームモデル３２２をトレーニングしてもよい。
【００５８】
他の実施形態において、ビデオゲームモデル３２２は、教師なしトレーニングに基づいてトレーニングされてよい。例えば、ビデオゲームモデル３２２は、ゲームプレイ中に自動的に要素タグとビデオゲーム１１６の要素との間のマッピングを学習又は推論してよい。実装において、ビデオゲームモデル３２２は、ビデオゲーム１１６によって生成される１つ又はそれよりも多くのビデオフレーム（例えば、ビットマップ、ｐｎｇなどのような生画像）を得て３４８、ビデオフレーム内の要素と要素タグとの間の関連付けを識別してよい。１つの実装において、ビデオゲームモデル３２２の教師なしトレーニングは、１つ又はそれよりも多くのデータクラスタ化アルゴリズム、画像認識技法、ＯＣＲ技法などに基づいてよい。幾つかの他の例において、ビデオゲームの要素は、オンライン又はオフライン要素リポジトリ(repository)からアクセスされるデータに基づいてタグ付けされてよい。例えば、（例えば、クラウド又は他の遠隔に位置するデバイス又は（複数の）サーバに存在している）要素リポジトリを用いて、要素を要素タグにマッピングしてよい。例えば、ビデオゲームの要素（例えば、カードスーツ、プレーヤ、ランドスケープオブジェクトなど）が、要素リポジトリからの関連付けの取得に基づいて自動的にタグ付けされてよい。別の実装において、要素リポジトリは、ラベル（例えば、要素タグ）とグラフィカルオブジェクト（例えば、要素）とを関連付けるように構成された画像リポジトリ、ビデオゲームの１つ又はそれよりも多くのオブジェクト、プレーヤ、場所などを識別するビデオゲームガイド、又はビデオゲームに見出される画像をテキストベースのラベルにマッピングすることがある任意の他のデータソースを含んでよい。要素リポジトリからの関連付けの識別に基づいて、ビデオゲームモデル３２２は、ビデオゲーム１１６の特定の要素が特定の要素タグと関連付けられるべきであると推論してよい。
【００５９】
更に別の実装において、ビデオゲームモデル３２２は、１つ又はそれよりも多くの他のビデオゲームからの要素及び要素タグ関連付けに基づいてトレーニングされてよい。一例として、特定のビデオゲームのためのビデオゲームモデル３２２が、本明細書に記載する教師付き又は教師なしトレーニング技法のいずれかに基づいて、要素（例えば、木、プレーヤなど）を適切な要素タグと関連付ける場合、ビデオゲームモデル３２２は、学習された要素及び要素タグ関連付けに基づいて、異なるゲームにおいて類似の要素をトレーニングしてよい。
【００６０】
従って、ビデオゲームモデル３２２は、上記で議論したように、教師付きトレーニング又は教師なしトレーニングに基づいてトレーニングされてよい。ビデオゲームモデル３２２は、教師付き及び教師なしトレーニングの組み合わせに基づいてトレーニングされてよいことにも留意のこと。例えば、ビデオゲームの特定の要素は、要素タグと手作業で関連付けられてよい一方で、ビデオゲームモデル３２２は、教師なしの方法において他の要素のために要素及び要素タグを自動的に関連付けるようにトレーニングされてよい。
【００６１】
ビデオゲームモデル３２２は、遠隔に、例えば、１つ又はそれよりも多くのクラウドベースのサーバ上に、生成及び／又は格納されてよい。他の実装において、ビデオゲームモデル３２２は、ローカルに（例えば、コンピューティングデバイス１０２上に）生成及び／又は格納されてよい。
【００６２】
上述のように、例において、ビデオゲーム注釈器１１４は、複数の遠隔ユーザ入力を受信するように構成されてよい。例えば、図５は、例示的な実施形態に従った、多重化された遠隔ユーザ入力ストリームを生成する方法のフローチャート５００を示している。ある例において、フローチャート５００の方法は、図３に示すように、結合器３０４によって実装されてよい。他の構造的及び操作的な実装が、フローチャート５００に関する以下の議論に基づいて（複数の）関連技術の当業者に明らかであろう。
【００６３】
フローチャート５００は、ステップ５０２で開始する。ステップ５０２では、複数の遠隔ユーザ入力ストリームが結合されて、多重化された遠隔ユーザ入力ストリームが生成される。例えば、図３を参照すると、受信器３０２は、プラグイン１１２Ａ〜１１２Ｎを介して、複数の異なる入力ストリームとして、遠隔ユーザ入力を受信することがある。従前に議論したように、例において、プラグイン１１２Ａ〜１１２Ｎは、それぞれ、（複数の）遠隔デバイス１０４がビデオゲームオーバーレイ１０８と対話することを可能にするために異なる遠隔サービスに対応してよい。実装において、結合器３０４は、プラグイン１１２Ａ〜１１２Ｎを介して受信される複数の遠隔ユーザ入力ストリームを得て３２６、それらのストリームを結合して単一の多重化された遠隔ユーザ入力ストリームを生成する、ように構成されてよい。例えば、結合器３０４は、異なる遠隔サービス（例えば、異なる遠隔ユーザ）に対応する遠隔ユーザ入力ストリームを単一の入力ストリームに多重化してよい。別の実施形態において、結合器３０４は、テキスト入力及び音声入力のような異なるタイプの遠隔ユーザ入力を結合して単一のテキスト入力ストリームにするように構成されてよい。結合器３０４は、多重化された入力ストリームを生成する際に受信器３０４によって受信される１つ又はそれよりも多くの遠隔ユーザ入力に優先度又は重みを割り当てるように更に構成されてよい。例えば、結合器３０４は、特定のプラグインを介して又は特定の遠隔ユーザから受信する入力を優先してよく、或いはそれらにより高い重みを割り当ててよい。別の例では、ビデオゲーム１１６のビデオゲームプレーヤが特定のプラグイン又は遠隔ユーザと関連付けられる注釈をレンダリングすることを好む場合、結合器３０４は、特定のプラグイン又は遠隔ユーザのみからの入力を含む多重化された入力ストリームを生成してよい。
【００６４】
幾つかの実装において、単一の多重化された遠隔ユーザ入力は、所定のフォーマットを含んでよい。例えば、結合器３０４は、プラグイン１１２Ａ〜１１２Ｎを介して受信された１つ又はそれよりも多くの遠隔ユーザ入力の形態、構造、及び／又はコンテンツを、単一の多重化された遠隔ユーザ入力のフォーマットに適合するように変換してよい。結果として、例えば、正規化器３０８、パーサ３１０、要素認識器３１２、及びビデオフレーム注釈器３１４による、プラグイン１１２Ａ〜１１２Ｎを介して受信された遠隔ユーザ入力の後続の処理は、複数の別個の入力ストリームよりもむしろ単一の入力ストリームに対して実行されることがある。単一の入力ストリームに基づいてビデオゲームに注釈を付けることによって、より少ないリソース及び処理能力が必要とされ、注釈生成が単純化されることがあり、（例えば、複数の遠隔ユーザがビデオゲームプレーヤについての類似の推奨を提供する場合に）重複注釈が回避されることがある。
【００６５】
上述のように、例において、ビデオフレーム注釈器３１４は、様々な方法でビデオゲームのビデオフレームに注釈を付けてよい。例えば、図６は、例示的な実施形態に従った、ビデオフレームにレンダリングを行うための注釈を選択する方法のフローチャート６００を示している。ある例において、フローチャート６００の方法は、図３に示すように、注釈セレクタ３１６及び注釈レンダラ３１８によって実装されてよい。他の構造的及び操作的な実装が、フローチャート６００に関する以下の議論に基づいて（複数の）関連技術の当業者に明らかであろう。
【００６６】
フローチャート６００は、ステップ６０２で開始する。ステップ６０２では、識別された要素及び／又は要素の場所に基づいてビデオフレームにレンダリングを行うための注釈が選択される。例えば、図３を参照すると、注釈セレクタ３１６は、要素認識器及び／又は要素の場所によって識別される要素に基づいて適切な注釈を選択してよい。実装において、要素認識器３１２によって識別されるインゲーム要素は、要素と関連付けられる異なるタイプの注釈を有するように構成されてよく、且つ／或いは１つ又はそれよりも多くのタイプのコンテキストベースの注釈を含んでよい。従って、注釈セレクタ３１６は、例えば、識別された要素がスポーツプレーヤもしくは他のオブジェクトであるときのシルエットもしくは輪郭、又は要素がビデオゲーム１１６内の場所に基づく場合の方向表示を選択することによって、識別された要素のタイプ及び／又はコンテキストに基づいて適切な要素を選択してよい。幾つかの実装において、注釈セレクタ３１６は、識別された要素に基づいて適切な注釈を選択するために、ビデオゲームモデルを適用３４６してよい。
【００６７】
記載したように、注釈セレクタ３１６は、ビデオフレーム上にレンダリングする注釈レンダラ３１８のための多数の様々なタイプの注釈を選択してよい。例えば、図７Ａ〜図７Ｄは、注釈レンダラ３１８によってレンダリングされた例示的なオンスクリーン注釈を描いている。図７Ａ〜図７Ｄは、ビデオゲームオーバーレイ１０８及びビデオゲーム７０４を同時に実行するコンピューティングデバイス（例えば、コンピューティングデバイス１０２）のディスプレイデバイス７０２を含む。ディスプレイデバイス７０２は、図１及び図３を参照して記載したビデオゲーム１１６に類似するビデオゲーム７０４を、ビデオゲームオーバーレイ１０８によって生成される１つ又はそれよりも多くの注釈と共に表示してよい。
【００６８】
図７Ａは、例えば、要素を取り囲む形状７０６を含むオーバーレイを例示している。図７Ａでは円として描かれているが、形状７０６は、三角形、長方形、正方形、楕円形、星形などを含むが、これらに限定されない、任意の他の形状を含んでよい。幾つかの実装において、注釈セレクタ３１６は、識別された要素の形状に基づいて適切な形状を選択してよい（例えば、識別された要素がサッカーボールであるならば、注釈セレクタ３１６は、円を選択してよい）。
【００６９】
図７Ｂは、注釈セレクタ３１６が要素のための注釈として輪郭７０８を選択する例を例示している。輪郭は、人間の輪郭のような、識別される要素の輪郭又はシルエットを含んでよい。図７Ｂは、人間の輪郭を注釈として例示しているが、注釈セレクタ３１６は、木、フットボール、航空機、車両の輪郭、又はビデオゲーム７０４において識別される任意の他の要素のような、識別される要素に基づいて、任意の他の輪郭を選択してよい。
【００７０】
図７Ｃに示すように、注釈セレクタ３１６は、オンスクリーン注釈としてハイライト７１０を選択してよい。例において、ハイライト７１０は、ビデオゲーム７０４内の単一の要素又は要素のグループにオーバーレイされてよい。更に、ハイライト７１０は、本明細書に記載する１つ又はそれよりも多くの他の注釈と共に使用されてよい。例えば、ハイライトは、特定の形状又は要素の輪郭の形態でオーバーレイされてよい。
【００７１】
図７Ｄは、例示的な実施形態に従った別の例示的な注釈を示している。図７Ｄにおいて、注釈セレクタ３１６は、識別される要素に対する方向の視覚的指標７１２(visual  indication)を含む注釈を選択してよい。例えば、ビデオゲームモデル３２２が、ビデオゲームマップに基づく１つ又はそれよりも多くの要素場所の場所と共に、ビデオゲームマップ全体に基づいてモデルを生成するように構成される場合、要素認識器３１２は、ビデオゲームプレーヤが識別された要素に到達するために進むべき方向を決定してよい。従って、実装において、注釈セレクタ３１６は、矢印又は他のポインタのような、要素に対する方向の視覚的指標７１２を選択してよい。視覚的指標７１２は、ビデオフレームの隅付近に例示されることがあるビデオゲーム７０４のミニチュアマップ上の注釈（例えば、ドット又は点滅オブジェクト）のような、図７Ｄに例示されていない他のタイプの指標を含んでもよい。更なる実装において、注釈セレクタ３１６は、例えば、点滅するボックス、形状などを、その場所で要素（例えば、持ち上げる武器又は弾薬）の上にオーバーレイすることによって、ビデオゲーム７０４中の識別された場所に到着するビデオゲームプレーヤに対する異なる注釈を選択するように構成されてよい。
【００７２】
幾つかの他の例において、注釈セレクタ３１６は、識別された要素が注釈されるべき１つ又はそれよりも多くのビデオフレーム内で、注釈の色を変更したり、注釈のサイズを変更したり、注釈を点滅させたりしてよい。幾つかの他の例示的な実施形態において、注釈セレクタ３１６は、１つのタイプの注釈から別のタイプの注釈に変更してよい。一例として、識別された要素がビデオフレームの外側に移動する場合、注釈セレクタ３１６は、注釈タイプを１つのタイプ（例えば、輪郭）から別のタイプ（例えば、矢印）に変更して、要素がスクリーンから外れて特定の方向に位置している場合があることを示してよい。
【００７３】
本明細書では、オンスクリーン指標、メッセージ、アフォーダンス(affordances)、手がかり(clues)、又は他の情報を含むが、それらに限定されない、図７Ａ〜図７Ｄに示さないものを含む任意の他の注釈が、ビデオフレーム上にオーバーレイされてよく、注釈の任意の組み合わせが、１つ又はそれよりも多くの識別された要素のためのビデオフレーム上にオーバーレイされてよいことが想定される。他の例示的な実施形態において、注釈セレクタ３１６は、オーバーレイとして提示されるべき未加工の遠隔ユーザ入力を選択してよい。例えば、遠隔デバイス１０２のユーザは、ペン、スタイラス、タッチスクリーン、又は同等物を用いた入力を、遠隔視聴されるビデオゲームへのオンスクリーン注釈として提供してよい。一例として、遠隔ユーザは、遠隔ユーザがコンピューティングデバイス１０２のビデオゲームプレーヤと共有することを望むことがある一群の線、形、矢印、テキストなどを、遠隔視聴されるディスプレイスクリーン上に描画又はタイプしてよい。そのような場合、注釈セレクタ３１６は、ディスプレイ７０２上の注釈レンダラ３１８によってオーバーレイとして表示されるべき未加工の遠隔ユーザ入力（例えば、遠隔ユーザによって描画又は入力される線、形状、矢印、テキストなど）を選択してよい。他の実装において、ビデオゲームをプレイするビデオゲームプレーヤ７０４は、１つ又はそれよりも多くの入力デバイスを同様に使用して、ビデオゲームプレーヤと遠隔ユーザとの間の更なる対話(相互作用)(インタラクション)及び協力(コラボレーション)の一層更なる強化のために、プレーヤが遠隔デバイスと共有することを望むオンスクリーン注釈を描画又はタイプしてよい。
【００７４】
更に別の実装において、注釈セレクタ３１６は、特定の要素についての注釈を選択しないことを決定してよい。一例として、複数の他の注釈がビデオフレームにレンダリングされるべきであるならば、注釈セレクタ３１６は、ビデオゲームプレーヤの気を散らせることを最小限に抑えるために、特定の識別された要素に注釈を付けないことを決定してよい。別の例において、注釈セレクタ３１６は、関連する信頼スコアが閾値を下回るならば、特定の識別された要素に対する注釈を選択しないように決定してよい。
【００７５】
更に別の例示的な実装において、注釈セレクタ３１６は、注釈と関連付けられる注釈、サイズ、色、厚さなどを選択してよく、或いはビデオゲーム７０４におけるビデオゲームプレーヤの進歩及び／又はビデオゲームプレーヤと関連付けられる表現のような、多数の他の要因に基づいて、識別された要素についての注釈を選択しないよう決定してよい。例えば、ビデオゲームプレーヤがビデオゲームにおけるミッションを成功裏に完了するならば、スポーツゲームにおいてポイントをスコアするならば、さもなければビデオゲーム７０４をプレイする間のパフォーマンスが満足なレベルであるならば、注釈セレクタ３１６は、注釈が選択されてより目立たない方法で表示されること及び／又は全く表示されないことを、ビデオゲームプレーヤが望んでいると推論してよい。他の例では、ビデオゲームプレーヤがビデオゲーム７０４において困難を有するならば、注釈セレクタ３１６は、（例えば、より大きい、より明るい、より目立つなどの注釈を選択することによって）、ビデオゲームプレーヤが見逃す可能性がより少ない注釈が表示されることを選択してよい。
【００７６】
同様に、注釈セレクタ３１６は、カメラ及び／又はマイクロホンを介して取り込まれる顔の表情、言葉の表現、又は他の感情又は表情に基づいて、注釈をディスプレイ７０２上にオーバーレイするために選択されるべきかどうかを決定してよい。例えば、ビデオゲームプレーヤが集中及び／又は満足しているならば、注釈セレクタ３１６は、注釈を選択しないよう或いは目立たない注釈を選択するよう決定してよい。逆に、ビデオゲームプレーヤがフラストレーションを感じているか或いは悲しみベースであるならば、注釈セレクタ３１６は、ビデオゲームプレーヤがより目立つ注釈を見ることから利益を得ることを決定してよい。
【００７７】
ＩＩＩ．例示的なコンピュータシステム実装
コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多く、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップは、ハードウェア、又はソフトウェア及び／又はファームウェアと組み合わされたハードウェアで実装されてよい。例えば、コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多く、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップは、１つ又はそれよりも多くのプロセッサにおいて実行され且つコンピュータ可読記憶媒体に格納されるように構成されたコンピュータプログラムコード／命令として実装されてよい。
【００７８】
別の実施形態において、コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多くの、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップは、サービスとしてのソフトウェア（ＳａａＳ）又はサービスとしてのプラットフォーム（ＰａａＳ）を作動させるハードウェアにおいて実装されてもよい。代替的に、コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多く、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップは、ハードウェア論理／電気回路構成として実装されてよい。
【００７９】
例えば、実装において、コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多く、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップは、システム・オン・チップ（ＳｏＣ）内に一緒に実装されてよい。ＳｏＣは、プロセッサ（例えば、中央処理装置（ＣＰＵ）、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）など）、メモリ、１つ又はそれよりも多くの通信インターフェース、及び／又は更なる回路のうちの１つ又はそれよりも多くを含む、集積回路チップを含んでよく、任意的に、受信したプログラムコードを実行してよく、且つ／或いは機能を実行するよう組み込みファームウェアを含んでよい。
【００８０】
図８は、例示的な実施形態が実装されることがあるコンピューティングデバイス８００の実装を描いている。例えば、コンピューティングデバイス１０２、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ディスプレイ７０２、及びビデオゲーム７０４は、それぞれ、コンピューティングデバイス８００の１つ又はそれよりも多くの構成及び／又は代替的な構成を含む、静止又はモバイルコンピュータ実装におけるコンピューティングデバイス８００に類似する、１つ又はそれよりも多くのコンピューティングデバイスに実装されてよい。本明細書において提供するコンピューティングデバイス８００の記述は、例示の目的のために提供されてより、限定することを意図しない。例示的な実施形態は、（複数の）関連技術の当業者に知られているように、更なるタイプのコンピュータシステム内に実装されてよい。
【００８１】
図８に示すように、コンピューティングデバイス８００は、プロセッサ回路８０２と呼ぶ１つ又はそれよりも多くのプロセッサと、システムメモリ８０４と、システムメモリ８０４を含む様々なシステム構成要素をプロセッサ回路８０２に連結するバス８０６とを含む。プロセッサ回路８０２は、中央処理装置、（ＣＰＵ）、マイクロコントローラ、マイクロプロセッサ、及び／又は他の物理ハードウェアプロセッサ回路として、１つ又はそれよりも多くの物理ハードウェア電気回路デバイス要素及び／又は集積回路デバイス（半導体材料チップ又はダイ）において実装される、電気及び／又は光学回路である。プロセッサ回路８０２は、オペレーティングシステム８３０のプログラムコード、アプリケーションプログラム８３２、他のプログラム８３４などのような、コンピュータ可読媒体に格納されるプログラムコードを実行してよい。バス８０６は、メモリバス又はメモリコントローラ、周辺バス、高速グラフィックスポート、及び様々なバスアーキテクチャのうちのいずれかを使用するプロセッサ又はローカルバスを含む、幾つかのタイプのバス構造のうちのいずれかのうちの１つ又はそれよりも多くを表す。システムメモリ８０４は、読出し専用メモリ（ＲＯＭ）８０８及びランダムアクセスメモリ（ＲＡＭ）８１０を含む。基本入出力システム（ＢＩＯＳ）８１２は、ＲＯＭ８０８に格納される。
【００８２】
コンピューティングデバイス８００は、以下のドライブ、すなわち、ハードディスクから読み出し且つハードディスクから書き込むハードディスクドライブ８１４、リムーバブル磁気ディスク８１８から読み出し且つリムーバブル磁気ディスクに書き込む磁気ディスクドライブ８１６、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＯＭ、又は他の光媒体のようなリムーバブル光ディスク８２２から読み出し且つリムーバブル光ディスクに書き込む光ディスクドライブ８２０のうちの１つ又はそれよりも多くも有する。ハードディスクドライブ８１４、磁気ディスクドライブ８１６、及び光ディスクドライブ８２０は、それぞれ、ハードディスクドライブインターフェース８２４、磁気ディスクドライブインターフェース８２６、及び光ディスクドライブインターフェース８２８によって、バス８０６に接続される。ドライブ及びそれらの関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータのための他のデータの不揮発性ストレージ(記憶装置)を提供する。ハードディスク、リムーバブル磁気ディスク、及びリムーバブル光ディスクが記載されているが、フラッシュメモリカード、デジタルビデオディスク、ＲＡＭ、ＲＯＭ、及び他のハードウェア記憶媒体のような、他のタイプのハードウェアベースのコンピュータ可読媒体を使用して、データを格納することができる。
【００８３】
多数のプログラムモジュールが、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、又はＲＡＭに格納されてよい。これらのプログラムは、オペレーティングシステム８３０、１つ又はそれよりも多くのアプリケーションプログラム８３２、他のプログラム８３４、及びプログラムデータ８３６を含む。アプリケーションプログラム８３２又は他のプログラム８３４は、例えば、コンピューティングデバイス１０２の構成要素のうちの１つ又はそれよりも多く、（複数の）遠隔デバイス１０４、ビデオゲームオーバーレイ１０８、ビデオゲーム１１６、ビデオゲームモデル生成器３２０、ディスプレイ７０２、ビデオゲーム７０４、及びフローチャート２００、４００、５００、及び６００のうちの１つ又はそれよりも多くのステップ、及び／又は本明細書に記載する更なる実装を実装するためのコンピュータプログラム論理（例えば、コンピュータプログラムコード又は命令）を含んでよい。
【００８４】
ユーザは、キーボード８３８及びポインティングデバイス８４０のような入力デバイスを通じて、コマンド及び情報をコンピューティングデバイス８００に入力してよい。他の入力デバイス（図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、衛星ディッシュ、スキャナ、タッチスクリーン及び／又はタッチパッド、音声入力を受信する音声認識システム、ジェスチャ入力を受信するジェスチャ認識システム、又は同等物を含むことがある。これらの及び他の入力デバイスは、しばしば、バス８０６に連結されるシリアルポートインターフェース８４２を通じてプロセッサ回路８０２に接続されるが、パラレルポート、ゲーム・ポート、又はユニバーサルシリアルバス（ＵＳＢ）のような、他のインターフェースによって接続されてよい。
【００８５】
ディスプレイスクリーン８４４は、ビデオアダプタ８４６のような、インターフェースを介してもバス８０６に接続される。ディスプレイスクリーン８４４は、コンピューティングデバイス８００の外部にあってよく、或いはコンピューティングデバイス８００に組み込まれてよい。ディスプレイスクリーン８４４は、情報を表示してよく、（例えば、タッチ、指ジェスチャ、仮想キーボード、スタイラス、ペン、ポインティングデバイスなどによる）ユーザコマンド及び／又は他の情報を受信するためのユーザインターフェースであってよい。ディスプレイスクリーン８４４に加えて、コンピューティングデバイス８００は、スピーカ及びプリンタのような、他の周辺出力デバイス（図示せず）を含んでよい。ディスプレイスクリーン８４４、及び／又は任意の他の周辺出力デバイス（図示せず）は、ディスプレイ７０２を実装するために、及び／又は本明細書に記載する任意の更なる実装のために使用されてよい。
【００８６】
コンピューティングデバイス８００は、アダプタ又はネットワークインターフェース８５０、モデム８５２、又はネットワークを通じて通信を確立するための他の手段を通じて、ネットワーク８４８（例えば、インターネット）に接続される。内部的又は外部的であってよいモデム８５２は、図８に示すように、シリアルポートインターフェース８４２を介してバス８０６に接続されてよく、或いはパラレルインターフェースを含む別のインターフェースタイプを用いてバス８０６に接続されてよい。
【００８７】
本明細書で使用するとき、「コンピュータプログラム媒体(computer  program  medium)」、「コンピュータ可読媒体(computer-readable  medium)」及び「コンピュータ可読記憶媒体(computer-readable  storage  medium)」という用語は、ハードディスクドライブ８１４と関連付けられるハードディスク、リムーバブル磁気ディスク８１８、リムーバブル光ディスク８２２、ＲＡＭ、ＲＯＭ、フラッシュメモリカード、デジタルビデオディスク、ジップディスク、ＭＥＭ、ナノテクノロジーベースの記憶装置、及び更なるタイプの物理的／有形ハードウェア記憶媒体のような他の物理的ハードウェア媒体を意味するために使用される。そのようなコンピュータ可読記憶媒体は、通信媒体と区別され、重複しない（通信媒体を含まない）。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は搬送波のような変調されたデータ信号における他のデータを具現する。「変調されたデータ信号(modulated  data  signal」という用語は、信号内の情報を符号化するような方法においてその特性のうちの１つ又はそれよりも多くを設定又は変更させた信号を意味する。一例として、非限定的に、通信媒体は、音響媒体、ＲＦ媒体、赤外媒体及び他の無線媒体のような無線媒体、並びに有線媒体を含む。実装は、コンピュータ可読記憶媒体に向けられた実装とは別個であり重複しないそのような通信媒体にも向けられる。
【００８８】
上述のように、コンピュータプログラム及び（アプリケーションプログラム８３２及び他のプログラム８３４を含む）モジュールは、ハードディスク、磁気ディスク、光ディスク、ＲＯＭ、ＲＡＭ、又は他のハードウェア記憶媒体に格納されてよい。そのようなコンピュータプログラムは、ネットワークインターフェース８５０、シリアルポートインターフェース８４２、又は任意の他のインターフェースタイプを介して受信されてもよい。そのようなコンピュータプログラムは、アプリケーションによって実行又はロードされるときに、コンピューティングデバイス８００が、本明細書で議論する例示的な実施形態の構成を実施することを可能にする。従って、そのようなコンピュータプログラムは、コンピューティングデバイス８００のコントローラを表す。
【００８９】
実装は、任意のコンピュータ可読媒体に格納されたコンピュータコード又は命令を含むコンピュータプログラム製品にも向けられている。そのようなコンピュータプログラム製品は、ハードディスクドライブ、光ディスクドライブ、メモリデバイスパッケージ、ポータブルメモリスティック、メモリカード、及び他のタイプの物理的ストレージハードウェアを含む。
【００９０】
ＩＶ．追加の例示的な実施形態
ビデオゲームによって生成されるビデオフレームに注釈を付けるためのシステム
ビデオゲームによって生成されるビデオフレームに注釈を付けるシステムが本明細書に記載される。システムは、少なくとも１つのプロセッサ回路と、少なくとも１つのプロセッサ回路によって実行されるように構成されるプログラムコードを格納する少なくとも１つのメモリとを含み、プログラムコードは、要素タグをビデオゲームの要素と関連付けるビデオゲームモデルを生成するように構成されるビデオゲームモデル生成器と、ビデオゲームと同時に実行されるビデオゲームオーバーレイとを含み、ビデオゲームオーバーレイは、ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信するように構成される受信器と、ビデオゲームモデルを適用して遠隔ユーザ入力を構文解析し、ビデオゲームに対応する要素タグをそこから抽出するように構成される、パーサと、ビデオゲームモデルを適用して、要素タグに対応するビデオゲームの要素を識別する、要素認識器と、識別される要素及び識別される要素の場所に基づいてビデオフレームに注釈を付けるように構成される注釈レンダラとを含む。
【００９１】
前述のシステムの１つの実装において、ビデオゲームモデル生成器は、教師付トレーニング又は教師なしトレーニングのうちの１つ又はそれよりも多くに基づいてビデオゲームモデルを生成するように構成される。
【００９２】
前述のシステムの別の実装において、受信器は、複数のプラグインを含み、遠隔ユーザ入力は、複数のプラグインを介して受信され、各プラグインは、異なる遠隔サービスに対応する。
【００９３】
前述のシステムの別の実装において、ビデオゲームオーバーレイは、パーサによる遠隔ユーザ入力の構文解析の前に、遠隔ユーザ入力を正規化するように構成される、正規化器を更に含む。
【００９４】
前述のシステムの別の実装において、遠隔ユーザ入力は、複数の遠隔ユーザ入力ストリームを含み、ビデオゲームオーバーレイは、パーサによる遠隔ユーザ入力の構文解析の前に、遠隔ユーザ入力ストリームを結合して単一の多重化された入力ストリームを生成する、マルチプレクサを更に含む。
【００９５】
前述のシステムの別の実装において、遠隔ユーザ入力は、音声入力、テキスト入力、タッチスクリーン入力、又はポインティングデバイス入力のうちの少なくとも１つを含む。
【００９６】
前述のシステムの別の実装において、遠隔ユーザ入力は、音声入力を含み、ビデオゲームオーバーレイは、パーサによる遠隔ユーザ入力の構文解析の前に音声入力をテキスト入力に変換する発話対テキスト変換器を更に含む。
【００９７】
前述のシステムの別の実装において、ビデオゲームオーバーレイは、識別される要素及び場所のうちの１つ又はそれよりも多くに基づいてビデオフレームにレンダリングを行うために注釈を選択するように構成される、注釈セレクタを更に含む。
【００９８】
前述のシステムの別の実装において、注釈は、要素のハイライト、要素の方向の視覚的指標、要素の周りの形状、又は要素の輪郭のうちの少なくとも１つを含む。
【００９９】
ビデオゲームによって生成されるビデオフレームに注釈を付ける方法が本明細書に開示される。方法は、ビデオゲームと同時にビデオゲームオーバーレイを実行することを含み、ビデオゲームオーバーレイを実行することは、ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信することと、要素タグをビデオゲームの要素と関連付けるビデオゲームモデルを適用して、遠隔ユーザ入力を構文解析し、ビデオゲームに対応する要素タグをそこから抽出し、且つ要素タグに対応するビデオゲームの要素を識別することと、識別される要素及び識別される要素の場所に基づいてビデオフレームに注釈と付けることとを含む。
【０１００】
前述の方法の１つの実装において、方法は、教師付トレーニング又は教師なしトレーニングのうちの１つ又はそれよりも多くに基づいてビデオゲームモデルを生成することを更に含む。
【０１０１】
前述の方法の別の実装において、遠隔ユーザ入力を受信することは、複数のプラグインを介して遠隔ユーザ入力を受信することを含み、各プラグインは、異なる遠隔サービスに対応する。
【０１０２】
前述の方法の別の実装において、ビデオゲームオーバーレイを実行することは、遠隔ユーザ入力を構文解析する前に遠隔ユーザ入力を正規化することを更に含む。
【０１０３】
前述の方法の別の実装において、遠隔ユーザ入力は、複数の遠隔ユーザ入力ストリームを含み、ビデオゲームオーバーレイを実行することは、遠隔ユーザ入力を構文解析する前に、遠隔ユーザ入力ストリームを結合して単一の多重化された入力ストリームを生成することを更に含む。
【０１０４】
前述の方法の別の実装において、遠隔ユーザ入力は、音声入力、テキスト入力、タッチスクリーン入力、又はポインティングデバイス入力のうちの少なくとも１つを含む。
【０１０５】
前述の方法の別の実装において、遠隔ユーザ入力は、音声入力を含み、ビデオゲームオーバーレイを実行することは、遠隔ユーザ入力を構文解析する前に音声入力をテキスト入力に変換することを更に含む。
【０１０６】
前述の方法の別の実装において、ビデオゲームオーバーレイを実行することは、識別される要素及び場所のうちの１つ又はそれよりも多くに基づいてビデオフレームにレンダリングを行うために注釈を選択することを更に含む。
【０１０７】
前述の方法の別の実装において、ビデオフレームに注釈を付けることは、要素をハイライトすること、要素の方向の視覚的指標を表示すること、要素の周りに形状を表示すること、又は要素の輪郭を描くことのうちの少なくとも１つを含む。
【０１０８】
コンピュータプログラム製品が本明細書に開示される。コンピュータプログラム製品は、その上に記録されたコンピュータプログラム論理を有するコンピュータ可読メモリを含み、コンピュータプログラム論理は、少なくとも１つのプロセッサによって実行されるときに、少なくとも１つのプロセッサに、ビデオゲームと同時にビデオゲームオーバーレイを実行することを含み、ビデオゲームオーバーレイを実行することは、ネットワークを通じて１つ又はそれよりも多くの遠隔デバイスから遠隔ユーザ入力を受信することと、要素タグをビデオゲームの要素と関連付けるビデオゲームモデルを適用して、遠隔ユーザ入力を構文解析し、ビデオゲームに対応する要素タグをそこから抽出し、且つ要素タグに対応するビデオゲームの要素を識別することと、識別される要素及び識別される要素の場所に基づいてビデオフレームに注釈と付けることとを含む、方法を実行させる。
【０１０９】
前述のコンピュータプログラム製品の１つの実装において、遠隔ユーザ入力は、複数の遠隔ユーザ入力ストリームを含み、ビデオゲームオーバーレイを実行することは、遠隔ユーザ入力を構文解析する前に、遠隔ユーザ入力ストリームを結合して単一の多重化された入力ストリームを生成することを更に含む。
【０１１０】
Ｖ．結論
様々な例示的な実施形態を上述したが、それらはほんの一例として提示されており、限定的でないことが理解されるべきである。添付の請求項に定義されるような実施形態の精神及び範囲から逸脱することなく、形態及び詳細における様々な変更がそれらの中で行われてよいことが、（複数の）関連技術の当業者によって理解されるであろう。従って、本発明の幅及び範囲は、上述の例示的な実施形態のいずれによっても限定されてならず、以下の請求項及びそれらの均等物に従ってのみ定義されるべきである。
【図１】
2021523602.tif 000003
【図２】
2021523602.tif 000004
【図３】
2021523602.tif 000005
【図４】
2021523602.tif 000006
【図５】
2021523602.tif 000007
【図６】
2021523602.tif 000008
【図７Ａ】
2021523602.tif 000009
【図７Ｂ】
2021523602.tif 000010
【図７Ｃ】
2021523602.tif 000011
【図７Ｄ】
2021523602.tif 000012
【図８】
2021523602.tif 000013
【国際調査報告】
2021523602.tif 000014
2021523602.tif 000015
2021523602.tif 000016