(57)【要約】広告又は他の視覚的コンテンツの拡張されたオーバーレイのために適切な画像又はビデオフレームの１つ以上の部分を特定し、そのような追加のコンテンツを含むように画像又はビデオデータを拡張するシステム及び方法が提供される。オーバーレイ又は拡張に適切な部分を特定することは、視覚拡張のための基準を満たす画像又はビデオフレームのオブジェクト又は領域を特定するよう構成された１つ以上の機械学習モデルを採用することを含み得る。画像又はビデオフレーム内で提示された提示された拡張されたコンテンツの姿勢は、オリジナル画像又はビデオ内でキャプチャされた現実世界のシーンの中の１つ以上の現実世界のオブジェクトの姿勢に対応し得る。【選択図】図５Ｆ
2021511729.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリと通信するプロセッサであって、プロセッサで実行可能な命令によって、
ビデオカメラによってキャプチャされた実世界のシーンを描写するビデオデータのフレームを少なくとも受け取ること、
機械学習モデルを用いて、前記フレーム内に描写された１つ以上のオブジェクトを特定することであって、前記１つ以上のオブジェクトは、ビデオの主要なフォーカスではないバックグラウンドコンテンツを含む、特定すること、
視覚拡張のための候補領域の前記フレーム内の位置を決定することであって、前記候補領域は、少なくとも１つの前記１つ以上のオブジェクトを含む、決定することと、
前記候補領域における複数の個別画素又はオブジェクトのそれぞれについての深さ情報を推定すること、
少なくとも部分的には前記深さ情報に基づいて、平面表面を前記候補領域にあてはめること、
視覚拡張コンテンツを取得すること、
レンダリングされた視覚拡張コンテンツを生成することであって、前記レンダリングされた視覚拡張コンテンツを生成することは、前記視覚拡張コンテンツを仮想的な３次元空間においてレンダリングすることによって、前記平面表面に対応する位置及び姿勢を有するようにすることを含む、視覚拡張コンテンツ生成すること、及び
前記フレームを拡張することによって、前記フレームが前記候補領域内で前記レンダリングされた視覚拡張コンテンツを含み、拡張されたビデオフレームを形成すること
を含む操作を実行するよう構成されたプロセッサと、
を備えるコンピューティングシステム。
【請求項２】
前記操作は、
前記視覚拡張をレンダリングする前に、前記フレームをキャプチャした前記ビデオカメラの３次元位置及び姿勢を推定することをさらに含む、
請求項１に記載のコンピューティングシステム。
【請求項３】
前記操作は、
前記フレームの後で、前記ビデオカメラによってキャプチャされたビデオデータの第２フレームを受け取ること、
前記第２フレームで、前記少なくとも１つの前記１つ以上のオブジェクトの新しい位置を追尾すること、
前記少なくとも１つの前記１つ以上のオブジェクトの、前記新しい位置に少なくとも部分的に基づいて、視覚拡張のためのアップデートされた候補領域の前記第２フレーム内のアップデートされた位置を求めることであって、アップデートされた候補領域の前記第２フレーム内の前記アップデートされた位置は、前記候補領域の前記フレーム内の前記位置と異なる、アップデートされた位置を求めること、及び
前記第２フレーム内の前記アップデートされた位置において、前記視覚拡張コンテンツのアップデートされたレンダリングを含むように前記第２フレームを拡張することをさらに含む
請求項１に記載のコンピューティングシステム。
【請求項４】
前記操作は、
新しいショットが検出されるか又は位置追尾が失敗するまで、前記視覚拡張コンテンツのアップデートされたレンダリングによって、前記ビデオデータの連続するフレームを拡張することを継続することをさらに含む
請求項３に記載のコンピューティングシステム。
【請求項５】
前記操作は、前記ビデオカメラのパンする又はズームするアクションの間にキャプチャされた複数のフレームのそれぞれの中において前記視覚拡張コンテンツをレンダリングすることをさらに含み、前記複数のフレームのそれぞれの中でレンダリングされた前記視覚拡張コンテンツは、前記視覚拡張コンテンツの前記レンダリングのフレーム内位置が、前記複数のフレームの個々のフレームの間で変化する時に、現実世界のシーンの中で一貫した現実世界の位置を維持するように見える
請求項１に記載のコンピューティングシステム。
【請求項６】
ビデオカメラによってキャプチャされた現実世界のシーンを描写するビデオデータの少なくとも１つのフレームを受け取ること、
前記フレーム内で、視覚拡張のための候補領域を特定することであって、前記候補領域は、機械学習モデルの出力及び視覚拡張のための予め設定された基準に少なくとも部分的に基づいて特定される、候補領域を特定すること、
前記候補領域内の、複数の個々のピクセル又はオブジェクトのそれぞれについて、深度情報を推定すること、
視覚拡張コンテンツを取得すること、
レンダリングされた視覚拡張コンテンツを形成するために、仮想３次元空間において前記視覚拡張コンテンツをレンダリングすることであって、前記レンダリングされた視覚拡張コンテンツは、前記深度情報に少なくとも部分的に基づいて、前記フレームでキャプチャされた前記現実世界のシーンの１つ以上の部分に対応する位置と姿勢を有している、前記視覚拡張コンテンツをレンダリングすること、及び
拡張されたビデオフレームを形成するために、前記候補領域内に前記レンダリングされた視覚拡張コンテンツを含むように前記フレームを拡張すること
を含む
コンピュータによって実現される方法。
【請求項７】
前記機械学習モデルは、畳み込みニューラルネットワークである、
請求項６に記載のコンピュータによって実現される方法。
【請求項８】
前記候補領域が、現実世界の領域の予め設定されたタイプ又は前記現実世界のオブジェクトの予め設定されたタイプを含むという前記機械学習モデルによる判断に少なくとも部分的に基づいて特定される
請求項６に記載のコンピュータによって実現される方法。
【請求項９】
前記現実世界のシーンがスポーツのイベントであって、現実世界の領域の前記予め設定されたタイプが人からなる観衆であって、前記機械学習モデルは人からなる観衆を特定するように訓練される、
請求項８に記載のコンピュータによって実現される方法。
【請求項１０】
現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプは、背景の風景、空又は地面のうちの１つを含む、
請求項８に記載のコンピュータによって実現される方法。
【請求項１１】
前記フレームの拡張することに先立って、前記候補領域内で拡張のためのピクセルを特定するマスクデータを生成することであって、前記フレームを拡張することは、前記マスクデータに基づいて、前記フレームのピクセル位置に、レンダリングされた視覚拡張コンテンツのピクセルを配置することを含む、マスクデータを生成すること、
をさらに含む、
請求項６に記載のコンピュータによって実現される方法。
【請求項１２】
前記候補領域を特定することに先立って、前記ビデオデータに関連付けられた権利保有者への提示のためのユーザーインターフェイスを生成することであって、前記ユーザーインターフェイスは、前記権利保有者が、拡張のための、現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプを承認することを可能にする、ユーザーインターフェイスを生成すること、
をさらに含む、
請求項８に記載のコンピュータによって実現される方法。
【請求項１３】
前記権利保有者に関連付けられた、以前にキャプチャされたビデオコンテンツのオートメーション化された分析に少なくとも部分的に基づいて、前記権利保有者へ提示するための、現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプを求めることであって、前記オートメーション化された分析は、前記以前にキャプチャされたビデオコンテンツのフレームの、十分に活用されていない領域を特定することを含む、予め設定されたタイプを求めること、
をさらに含む、
請求項１２に記載のコンピュータによって実現される方法。
【請求項１４】
1つ以上のコンピュータシステムによって実行される時に、
ビデオカメラによってキャプチャされた現実世界のシーンを描写する、ビデオデータの少なくとも1つのフレームを受け取ること、
前記フレーム内で、視覚拡張のための候補領域を特定することであって、前記候補領域は機械学習モデルの出力に少なくとも部分的に基づいて特定される、候補領域を特定すること、
前記候補領域内の複数の個々のピクセル又はオブジェクトのそれぞれについて、深度情報を推定すること、
視覚拡張コンテンツを取得すること、
レンダリングされた視覚拡張コンテンツを形成するために、仮想３次元空間において前記視覚拡張コンテンツをレンダリングすることであって、前記レンダリングされた視覚拡張コンテンツは、前記深度情報に少なくとも部分的に基づいて、前記フレーム内でキャプチャされた前記現実世界のシーンの１つ以上の部分に対応する位置及び姿勢を有している、前記視覚拡張コンテンツをレンダリングすること、及び
拡張されたビデオフレームを形成するために、前記候補領域内に前記レンダリングされた視覚拡張コンテンツを含むように前記フレームを拡張すること、
を含む操作を実行するように前記１つ以上のコンピュータシステムを構成する、コンピュータが実行可能な命令を記憶する、非一時的なコンピュータ読み取り可能媒体。
【請求項１５】
前記操作はさらに、前記視覚拡張コンテンツのアップデートされたレンダリングで前記ビデオデータの連続するフレームを拡張することをさらに含み、前記アップデートされたレンダリングのそれぞれは、個々のフレームにおいてアップデートされた位置において含まれる、レンダリングであって、前記アップデートされた位置は、前記個々の連続するフレーム内で、少なくとも１つの現実世界のオブジェクトの新しい位置を追尾する、
請求項１４に記載の非一時的なコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［任意の優先権出願への参照による援用］
外国、又は国内の優先権主張が本願で提出されたアプリケーションデータシートで特定されている任意の及び全ての出願は、３７ ＣＦＲ １．５７によって、ここで参照により援用される。
【０００２】
本願は、２０１８年１月１８日に出願された「AUGMENTING DETECTED REGIONS IN IMAGE OR VIDEO DATA」と題された米国仮出願第６２／６１９，０２５号の利益を主張し、それは、ここでその全体が参照により援用される。
【背景技術】
【０００３】
企業がスポーツイベントのスポンサーになる、あるいはスポーツアリーナに広告を設置することは一般的である。例えば、企業は、試合開催日中にスタジアム内にバナーを設置する、チームのジャージにロゴを取り付ける、チームのジャージにロゴを掲載する、スタジアム内で広告を物理的な看板に設置する、又はデジタルサイネージに表示させる等のために、アリーナ、チーム、又はリーグの権利を有する関係者と契約し得る。いくつかのシステムは、テレビ放送に先立って記録されたビデオのポストプロセッシング（クロマキー合成を介してのような）においてその後、置換され得る、特定の色、又は既知のコンテンツの物理的な看板をアリーナ内に配置することにより、スポーツイベントのテレビ放送にデジタル広告を動的に挿入し得る。他の既存のシステムは、テレビ放送、又は撮影された映像のインターネット配信の前に、デジタル的に配置されるべきサイネージの位置を検出するために、既存のアリーナ内の物理的看板から反射される、又はそれによって発生され、かつイベントを撮影するカメラの位置で検出される赤外線、又は他の放射を使用する。
【図面の簡単な説明】
【０００４】
前述の局面及び多くの付随する利点は、添付の図面と併せて、以下の詳細な説明を参照してよりよく理解されるだろう。
【図１Ａ】図１Ａは、イベントビデオのフレームにおける検出された観衆領域を描写する。
【図１Ｂ】図１Ｂは、ビデオデータの分析から生成された図１Ａに対応するヒートマップの図式的な表現を描写する。
【図１Ｃ】図１Ｃは、イベントビデオが、ビデオの、検出されたネガティブスペース内の、広告のビデオコンテンツを含むように拡張された、拡張されたビデオのサンプルフレームである。
【図２Ａ】図２Ａは、個々のフレームの１つ以上の検出された領域内で、広告コンテンツ又は他の拡張コンテンツを含むようにビデオデータを拡張するための例示的方法のフロー図である。
【図２Ｂ】図２Ｂは、それぞれのターゲット範囲の表面及び姿勢の情報を求めるだけでなく、ビデオフレームの１つ以上のターゲット拡張範囲を特定するための例示的方法のフロー図である。
【図３】図３は、本開示のさまざまな実施形態において使用に適した、コンピューティング環境のシステムのフローチャートである。
【図４Ａ】図４Ａは、レースカーの検出された位置を特定するバウンディングボックスを含むイベントビデオのフレームを描写する。
【図４Ｂ】図４Ｂは、図４Ａに対応するヒートマップデータの図式的な表現を描写する。
【図４Ｃ】図４Ｃは、検出されたレースカーに関連付けられた、拡張されたグラフィック情報だけではなく、レーストラック上でスーパーインポーズされた会社のロゴを含む、拡張されたビデオのサンプルフレームである。
【図５Ａ】図５Ａは、バスケットボールの試合の、テレビ放送ビデオのサンプルフレームを描写する。
【図５Ｂ】図５Ｂは、図５Ａのフレーム内で検出された観衆領域を描写する。
【図５Ｃ】図５Ｃは、図５Ａのフレーム内の広告を掲載しても安全だと検出された領域に対して、バウンディングボックス及びヒートマップデータを描写する。
【図５Ｄ】図５Ｄは、図５Ａのフレーム内で検出された広告掲載が安全な領域のために求められた３次元追尾及び姿勢データを描写する。
【図５Ｅ】図５Ｅは、ビデオデータのフレームを拡張するために使用するための、図５Ａのフレーム内で検出された観衆領域に関連付けられたマスクデータを描写する。
【図５Ｆ】図５Ｆは、検出された観衆領域内の広告データを含む図５Ａのフレームの拡張されたバージョンを描写する。
【図６Ａ】図６Ａは、広告コンテンツが観衆領域内にスーパーインポーズされているバスケットボールの試合からのビデオデータの拡張されたフレームを描写する。
【図６Ｂ】図６Ｂは、関連する観衆領域の新しい位置を追尾するために、スーパーインポーズされた広告コンテンツが、フレームの違った位置に現れる図６Ａのバスケットボールの試合からのビデオデータの追加の拡張されたフレームを描写する。
【発明を実施するための形態】
【０００５】
本開示の局面は、広告又は他の視覚的コンテンツの拡張されたオーバーレイを拡張するのに適切な画像又はビデオの部分を特定し、そのような追加の視覚的コンテンツを含むように画像又はビデオデータを拡張するためのコンピューティングシステム及び関連する方法に関する。画像又はビデオフレームのうちの１つ又は複数の拡張に安全な、又は拡張に適切な部分は、コンピュータビジョン技術を用いた画像又はビデオデータの個々のフレームの自動分析に基づいて決定され得る。そのような技術は、ここで記載される様々な手段で実現され得る、視覚拡張のための基準を満たす、画像又はビデオフレームのオブジェクト又は領域を特定するように構成された機械学習モデルを採用することを含み得る。
【０００６】
１つの実施形態による一例として、広告コンテンツは、ネガティブスペース（ベースとなるコンテンツの権利保有者の観点からのような）とみなされると判断される、又は予測される個々のビデオフレームの領域又は部分にわたって表示され得る。ネガティブスペースは、一例においては、ビデオショット（オンコートのアクションに焦点を当てたゲームのテレビ放送映像のような）の背景で見ることができるバスケットボールアリーナの聴衆又は観衆の部分であり得る。観衆の部分は、ある場合には、そのような部分が人間の視聴者の主要な対象にはふつうはならないので、少なくとも一部はネガティブスペースとみなされ得る（例えば、彼らは、バスケットボールコートでの試合中のアクションの一部ではない）。更に、このような部分内に、補足的なコンテンツをオーバーレイしても、権利保有者がショット内に表示されたままにしておきたい他の会場内の看板、又は他のコンテンツの視聴を妨げることにはおそらくならない。
【０００７】
いくつかの実施形態において、観衆、背景風景、空、地面の一部、及び／又はビデオに現れる他のタイプのオブジェクト又は領域のような、広告に適した領域の候補が、ユーザ（試合映像、会場、チーム、スポンサー等に関連付けられた権利保有者のような）に提示され得る。例えば、コンピューティングシステムは、ビデオフレームの十分に利用されていないエリアを特定するために、テレビで放送された、又はソーシャルメディアに投稿された試合放送映像（ビデオに現れ、アクションの焦点、又はビデオの前景ではない、観衆のような会場内のスペースのような）を分析し得る。それからコンピューティングシステムは、権利者に、サンプル画像又はビデオ部分においてそのような領域のラベル付けされた例（例えば、バウンディングボックス、又は他の視覚的インジケータを使用するのような）を提供する、表示のためのユーザーインターフェイスを提示し得る。例えば、ユーザーインターフェイスは、「あなたのチームのソーシャルメディアの投稿において、弊社のシステムは、現在十分に活用されておらず、又は拡張にふさわしいかもしれない３０％のネガティブスペースを検出しました。」のようなメッセージを含み得る。もし、あるタイプの候補領域が、ユーザによって、広告に適していると承認された場合、それからコンピューティングシステムは、以下に記載されるような、そのようなオブジェクト又は領域の追加のインスタンスを特定する自動化されたコンピュータビジョン技術を用いて、その後、処理されるビデオフッテージ内のいくつかのそのような領域に、広告の拡張、又はその他の視覚的拡張を適用し得る。
【０００８】
ここで論じられる拡張コンテンツは、広告つまりスポンサー付きコンテンツに限定されず、その代わりに娯楽的価値（例えば、メインのオリジナルビデオコンテンツに関して、ユーモア又は説明を加えること）、又は情報目的（例えば、プレイヤー又は乗り物のような画面上のオブジェクトにラベル付けをするために、又は、ゲームの統計、又はその他の補足情報を提供するために）のために挿入されるコンテンツであり得る。同様に、そのような拡張を承認するユーザは、いくつかの実施形態では、権利保有者（権利保有者は、会場、チーム、リーグ、スポンサー等であり得る）以外のユーザ、例えば、ユーザがソーシャルネットワーキングサービス、又はビデオ共有サービスに投稿するビデオクリップに娯楽的な拡張コンテンツを挿入する個人のファンのようなユーザを含み得る。さらに、他の実施形態では、画像又はビデオに現れる領域は、明示的なユーザの承認又は他の人間のインプットなしにコンテンツに適用される自動化されたルール及びモデルに基づいて、広告に適していると判断され得る。例えば、ルール及び機械学習モデルが、トレーニングプロセスの間に確立され得て、それから後で、初期トレーニングフェーズの後において、人間の関与なしで、多種多様な入力をされるビデオに対して自動的に適用され得る。
【０００９】
本開示の局面は、従来のビデオ拡張方法に対し、著しい技術的利点をもたらす。ネガティブスペース又は他のユニークなタイプの拡張の候補領域の特定に関してここで記載された新規な技術に追加して、ここで記載された特徴は、他の会場内装置、又は会場内でのカメラの実際の現実世界でのポジショニングに関する記録されたデータなしで、任意のカメラによってキャプチャされたビデオに適用され得る。例えば、本開示の局面は、1つの実施形態において、撮影者が望む場所どこにでも配置され得る、任意のタイプの単一のカメラ以外には撮影場所での特定の機器の使用を必要とすることなしに、ビデオフッテージ又は画像コンテンツの特定の領域内で、拡張コンテンツの自動化されたオーバーレイを可能にする。
【００１０】
ここで記載された、特定のシステム及び方法とは対照的に、従来のスポーツイベントのビデオを拡張する方法は、本開示の少なくともいくつかの実施形態では存在しないビデオキャプチャの制限にしばしば依存する。いくつかの既存システムの、そのようなビデオキャプチャの制限は、複数のカメラを必要とすることを含む（深度の情報を決定する、又はそうでなければ、ビデオ内のオブジェクトの現実世界での位置を追尾するためのような）。いくつかの既存システムの、他のビデオキャプチャの制限は、カメラが会場内の特定の固定された場所に設置されることを必要とする（コンテンツを拡張するコンピューティングシステムが、会場内のシーン及びレイアウト、フレーム内の拡張領域の位置の予備知識を有すること等を必要とする）。いくつかの既存システムの、他のビデオキャプチャの制限は、非常に明確な外観を有する（例えば、クロマキー合成のための「グリーンスクリーン」と同様に扱われ得る特定の色である）ことを要求する。さらに、他の既存システムのビデオキャプチャの制限には、カメラ以外のハードウェア又は他の機器が、実世界のオブジェクトの物理的なレイアウト又は位置に関する情報を提供するか、又は、拡張されるべき現実世界の物体から反射又はそれによって生成された放射又は信号を検出するかのいずれかを行うことがある（例えば、看板のフレーム内位置を位置決定することに役立てる目的で、会場内の看板から反射された放射を検出する、カメラの位置における、又はカメラ内に含まれる装置）。いくつかの実施形態において、本開示の局面は、上記すべての制限を克服し、いかなる特定の会場内の準備にも、又はいかなる非従来型カメラ機器にも依存することなく、ここで記載の拡張を可能にする。
【００１１】
図１Ａは、イベントビデオのフレーム１０２における、検出された観衆領域１０６ａ〜１０６ｄを示し、図１Ｂは、ビデオデータの分析から生成された対応するヒートマップ１１２を示す。ビデオフレーム１０２は、他の図に関連して以下に記載されるその他の例示的ビデオフレームと同様に白黒の線画形式で図示されているが、そのような図は、実現世界のシーンを撮影するビデオカメラによってキャプチャされた、カラーのビデオフレームを表現するよう意図されている。フレーム１０２の例において、例えば、キャプチャされたシーンは、プロのフットボールの試合であり得て、及びフレーム１０２はその試合のテレビ放送の一部であり得る。観衆領域１０６ａ〜１０６ｄの周りのバウンディングボックスは、ここで記載されているように、コンピューティングシステムによって決定され得る。注釈付きフレーム１０２及びヒートマップ１１２は、拡張プロセス中にコンピューティングシステムによって決定される中間段階の結果を図示するために生成されたものであり、及び、通常は、エンドユーザ又は視聴者への、放送又は配信のための最終のビデオアウトプットには含まれないであろう。ヒートマップ１１２は、システムが、例えば人間のような（この例では、フットボールフィールドの選手及び観衆における観客を含み得る）、特定の実施形態において、特定するように構成されている、物体の識別におけるシステムの自信（confidence）を表し得るシェーディングが付された長方形の領域を含む。いくつかの実施形態では、フレーム間で検出された物体の移動量及び/又はサイズは、どの物体が前景の一部であり（そのショットの中のアクションの一部であることのような）、及びどの物体が背景つまりネガティブスペースであるか（聴衆又は観衆の中に座っている観客等）を決定するために、部分的に使用され得る。フレーム１０２における、検出された観衆候補領域１０６ａ〜１０６ｄは、図２Ａ及び図２Ｂのフローチャートに関連して以下に記載される方法に基づいて決定されたものでもよい。
【００１２】
図１Ｃは、イベントビデオが、ビデオの、検出されたネガティブスペース内の、広告のビデオコンテンツを含むように拡張されたサンプルビデオフレーム１２０である。図示されているように、コンピューティングシステムは、１２６ａ及び１２６ｂに、観衆及び他の背景コンテンツの２つの部分をカバーする、広告コンテンツ（この場合、カーグラフィック及び関連付けられたテキスト）の部分的に透明なオーバーレイを加えている。拡張されたコンテンツ１２６ａ及び１２６ｂは、ビデオの複数の連続したフレームにわたり、それらのフレーム内の位置が観衆の同じ現実世界の領域を追尾している状態で、動画化され又は変化し得る。例えば、フットボールの試合番組を記録するカメラが、フレームからフレームへと、パンする、チルトする、ズームする、又は他のやり方で現実世界のシーンのその視野を調節する時、動画化されたオーバーレイ領域１２６ａ及び１２６ｂは、現実世界のシーンと対応した位置の中に重ねられて、またオプションとしては、現実世界のオブジェクトに一致する３Ｄの姿勢、現実世界のオブジェクト群の集合体、又はシーン内の現実世界の領域と共に、表示され得る。よって、スーパーインポーズされた動画化されたコンテンツ１２６ａ及び１２６ｂが、フィールド、ゴールポスト、観衆等に対して首尾一貫した３次元位置（及びオプションとして姿勢）を維持する平面又は３次元領域内にあるように拡張されたビデオの視聴者には見えることもある。
【００１３】
図２Ａは、個々のフレームの１つ又はそれ以上の検出された領域内に、広告コンテンツ又はその他の拡張コンテンツを含むようにビデオデータを拡張する例示的な方法２００のフローチャートである。方法２００は、ビデオのいくつかのフレームのうちのそれぞれについて繰り返されるプロセスに関して記載されるが、同様のプロセスは、ビデオとは対照的に静止画像に対しても実行され得ることが理解されよう。例示的な方法２００は、コンピューティングシステム３０２のようなコンピューティングシステムによって実行され得て、それは図３を参照して以下に記載される。例示的な方法２００は、ブロック２０２から始まり、ここでコンピューティングシステムは、放送又はネットワークソース（インターネット又は無線信号経由のような）からの、又はローカルの電子データ記憶からのストリーミングビデオの最初のフレームのような、ビデオの１フレームをロードする。いくつかの実施形態においては、プロのスポーツイベントのようなライブのイベントにおいてカメラがビデオを記録する時に、このビデオは、リアルタイムで拡張のために分析され得る。
【００１４】
いくつかのそのような実施形態では、コンピューティングシステムは、広告コンテンツがビデオ内で拡張されるために、ライブストリーミングビデオフィードを受信してから、短い遅延（２〜１０秒の遅延のような）で「ライブの」テレビ又は他の放送ストリームを送出し得る。他の実施形態では、拡張されるべきビデオデータは、コンピューティングシステムによる拡張のためにそのビデオを選択したコンテンツの保有者又はユーザのリクエストに応じてのような、以前に記録された上で、データ記憶からコンピューティングシステムによって取得されたものでもよい。システムはオプションとして、下に記載される機械学習モデル及び他の技術によって期待されるフォーマットになるように、ビデオに前処理を適用し得る。例えば、色空間又はカラーモデルが変更され、解像度が変更され、サンプルフレームが選択され、及び／又は他の前処理が行われ得る。
【００１５】
次に、ブロック２０４で、コンピューティングシステムは、現在のフレームが、コンピューティングシステムがビデオストリーム内で分析した前のフレーム（もしあれば）に対して新しいカメラショットかどうかを判断し得て、又はそうでなければ、追尾が前のフレームに対して失敗したと判断し得る。例えば、以下に記載されるように、例示的な方法は、ビデオの様々なフレームについて、図２Ａのブロックを反復し得て、ブロック２０４は、ビデオストリーム内で新たなカメラショットへのカットがあった時を確定するために実行され得る。もし、新しいショットが現在のフレームで検出されたなら、コンピューティングシステムは、以前のフレーム群に適用されていたあらゆる前の拡張をリセットし得て、前のフレームと現在のフレームとの間のオブジェクト追尾を停止し、及び／又はそうでなければ、ショット変化の結果として連続するフレーム群の間に発生し得るカメラ位置及び姿勢における突然の変化の可能性のために、前のフレーム群からの、様々な追尾されたパラメータ、仮想カメラ設定、及び／又は表示された拡張をリセットし得る。連続するフレーム群にわたって領域又はオブジェクトを追尾することは、ＳＩＦＴ、ＳＵＲＦ又はＫＡＺＥのようないくつかの既知の追尾方法のうちの任意のものを使用するコンピューティングシステムによって実行され得る。いくつかの実施形態では、ショットにおいてパンすること、ズームすること又は他の漸次的な変化は、ショットの変化とはみなされ得ず、及び拡張又は追尾データのリセットを生じないかもしれない。コンピューティングシステムは、いくつかの実施形態では、ショットの変化が発生したと判断するように構成し得るが、他の実施形態では、コンピューティングシステムは、代わりに、追尾が失敗するまで１つ以上の以前のフレームからの１つ以上のオブジェクトを追尾し続けてもよく、これは実際のショットの変化に対応してもよいし、しなくてもよい（例えば、追尾されたオブジェクトは突然に移動したり、ぼやけたり、又はフレーム外に出たりし得る）。
【００１６】
現在のフレームが、前のフレームに対して新しいショットを表すかどうかを判断することは、２つのフレーム間の対応するピクセル値における違いを求めること、及び／又は特徴を抽出すること、及び２つのフレーム間の抽出された特徴における差を特定することのような、画像差分技術を適用することを含み得る。閾値は、コンピューティングシステムによって取得され得て、拡張をリセットする目的で、現在のフレームを新しいショットであるとみなすのに十分な差があるかどうかを求めるために、２つのフレーム間において求められた差分値と比較され得る（例えば、もし、求められた差分値が閾値より大きいなら、現在のフレームは新しいショットと見なされ得る）。ヒストグラム差分、フレームについてのキーポイントマッチング、及び／又は差分絶対値和（ＳＡＤ）のような、画像処理及び／又はコンピュータビジョンの技術分野で知られる１つ以上の様々な技術が用いられることによって、連続するフレーム間の差が求められ得る。
【００１７】
ブロック２０６で、コンピューティングシステムは、フレームの１つ以上のターゲット拡張領域を特定し、及びフレームを合成又は拡張する際に使用されるべき、それぞれのそのような領域の表面及び姿勢の情報を求める。上述したように、ターゲット領域（群）は、いくつかの実施形態では、実施形態によるが、背景の一部であり、ネガティブスペースとみなされ、１つ以上のターゲットオブジェクトを描写し、ショット間で実質的に移動又は変化しない、及び／又はショットのアクションの一部ではない領域であり得る。ターゲット拡張領域及びそれらの対応する姿勢情報を特定することは、図２Ｂに関連して以下に詳細に記載される。
【００１８】
もし、ブロック２０６で拡張領域が特定されるなら（例えば、コンピューティングシステムが、フレームの１つ又はそれ以上の部分は、広告又は他のコンテンツオーバーレイで拡張されるべきであると判断する）、コンピューティングシステムは、フレームのターゲット領域（群）内にオーバーレイ又はスーパーインポーズするための拡張コンテンツの最初のフレーム（又は、もし前のフレームもまた拡張されたなら次のフレーム）を取得する。拡張コンテンツは、ユーザによって以前に選択されたものであり得て、広告又はスポンサーを広告する機会とマッチングさせるための広告入札システム又は他の既知の技術に基づいて選択されたものでもよく、ビデオストリームにおいて特定されたコンテンツ又はオブジェクトに基づいてプログラムによって選択されたものでもよく、及び／又は他の方法であってもよい。いくつかの実施形態において、拡張コンテンツは、以前に保存されたビデオ又は画像であり得る。他の実施形態では、コンピューティングシステムは、表示のための視覚的なテキストをレンダリングすること、より小さなコンポーネント画像又はテキストを使用して拡張コンテンツを組み立てること、図形を描画すること、又はビデオフレームの一部に視覚効果（ハイライトすること、色又はコントラストの変化のような）を適用することのように、動的に、拡張コンテンツの全て又は一部を生成し得る。例えば、コンピューティングシステムは、ビデオにおいてキャプチャされたスポーツイベントに関連付けられたリアルタイムの統計情報を、テキスト又は数字として受け取り得て、及び視覚的に訴求する方法（例えば、フォント、拡張のフレームからフレームへ変化する動画の視覚的効果の使用）で、拡張コンテンツとして当該情報をレンダリングし得る。
【００１９】
次に、ブロック２１０で、コンピューティングシステムは、ターゲット範囲又は領域の中の個々のピクセル又はオブジェクトの深度を求め得る。いくつかの実施形態において、これは、仮想カメラを設定すること、畳み込みニューラルネットワーク又は他の機械学習モデルを適用すること、又は自己位置推定と環境地図作成を同時に行う技術（ＳＬＡＭ）を使用することを含み得る。仮想カメラが用いられる１つの実施形態において、コンピューティングシステムは、上記ブロック２０６（図２Ｂに関して以下でより詳細に記載される）で求められたように、拡張範囲に関連付けられたカメラ解決情報（camera-solving information）（例えば、ビデオをキャプチャした実際のカメラの推定された姿勢及び位置）及び姿勢情報に基づいて、リアルタイム合成のために仮想カメラを設定し得る。１つの実施形態において、コンピューティングシステムは、拡張コンテンツをレンダリングするための三次元仮想環境（少なくとも、仮想カメラ及びオブジェクト又は表面を含み得る）を配置することに使用するために、検出されたオブジェクト又は範囲の重心の表面極値及び／又は三次元姿勢を求め得る。ある例において、仮想カメラは、図２Ｂに関連して以下でより詳細に記載されるような、コンピューティングシステムによって求められた位置、回転及び視野データを使用して、仮想環境内に生成又は配置され得る。
【００２０】
ブロック２１２で、コンピューティングシステムは、拡張領域（例えば、拡張コンテンツが重ねられるべき、元のビデオフレームの部分）に対応するマスクを生成し得る。１つの実施形態では、このマスクデータは、コンピューティングシステムによって以前求められたセグメンテーションデータに基づいてもよく、ここでセグメンテーションデータは、ネガティブスペース（観衆のような）又は対象となる他の拡張領域を表す現在のフレームのピクセルを特定する。結果として生じるマスクは、例えば、元のフレームの寸法を有する白黒画像データであり得て、ここで、与えられた位置のピクセル値は、拡張コンテンツが規定のピクセル位置でオーバーレイされるべきかどうかを表す。
【００２１】
ブロック２１４（ブロック２１２の前に、後に、又は同時に実行され得る）で、コンピューティングシステムは、上述した仮想シーン又は環境内などのような三次元空間内で、拡張コンテンツを提示し得る。拡張コンテンツの配置及び姿勢に関連付けられた、回転、位置、サイジング及び／又は他のデータは、ビデオをキャプチャした推定されるカメラ位置だけではなく、ターゲット範囲の位置及び姿勢の分析に基づいて、フレーム単位で変化し得る（上述のように、及び更に以下で記載されるように）。例えば、三次元空間において拡張コンテンツをレンダリングするために使用されるデータは、コンピューティングシステムによって生成され、及び、求められた位置、姿勢、及び／又は、候補又はターゲットの拡張領域、オブジェクト又は平面の表面データを特定するデータファイル（図２を参照して以下に記載される）に基づき得る。
【００２２】
次に、ブロック２１６で、コンピューティングシステムは、レンダリングされた拡張コンテンツ（ターゲット領域に対応するフレーム内の位置（in-frame location）で、３Ｄ空間にレンダリングされる）にマスクを適用することによって、実施形態に応じて、拡張コンテンツは、権利保有者又は観衆の観点から、ビデオの前景コンテンツ、試合内のアクション、又は他の重要な領域の位置においてではなく、候補領域（背景又はネガティブスペースのような）に対応するピクセル位置においてだけ現れるようにし得る。いくつかの実施形態において、コンテンツは、ビデオフレームの元のコンテンツに対して部分的な透明度で、オーバーレイされ、合成され、ブレンドされ、又はスーパーインポーズされることによって、元のビデオコンテンツは、拡張されたオーバーレイの下に見えるようにされ得る。他の実施形態において、オーバーレイピクセル値は、拡張されたピクセル位置で、元のビデオフレーム内の対応するピクセル値を完全に置換し得る。
【００２３】
いったん合成フレームがオーバーレイ又は拡張コンテンツを含むように生成されると、その合成フレームは、方法２００の連続的な段階を通して、フレームごとに徐々に生成されるビデオファイルのようなファイルに出力され得る。他の実施形態においては、結果として生じる合成フレームは、インターネットのライブストリーミングプレゼンテーション、テレビネットワークの放送、及び／又はイベントの他のライブ又はわずかに遅延したプレゼンテーションの一部として、放送又はストリーミングされ得る。図２Ａには図示されていないが、コンピューティングシステムは、後続のフレームを分析する際にコンピューティングシステムによって使用されるようにするために（フレーム間のオブジェクトの位置を追尾する又はショットチェンジがあるか否かを求めたりするような）、現在のフレームに関連して、上記で求められたいくつかのデータ（オブジェクトの位置情報、回転情報、ショットシグネチャ又は他のデータのような）を、ＲＡＭ又は他のメモリに記憶し得る。
【００２４】
ブロック２１８で、コンピューティングシステムは、それから、潜在的な拡張について分析するために、ビデオストリーム又は他の基本的なビデオコンテンツの追加のフレームがあるかどうかを判断し得る。方法２００が、単一の広告でビデオコンテンツを拡張するためにトリガされた場合などいくつかの実施形態では、イベントの基礎となるビデオの次のフレームが、表示するための広告のさらなるコンテンツがある限り、ブロック２１８でロードされ得る。例えば、もし、広告がまだ全ては示されていないある一定の長さのビデオであるなら、又はさもなければ広告がまだ経過していない一定の時間（広告主によって要求された一定の秒数のような）のために表示されるべきであるなら、イベントビデオの追加フレームが潜在的な拡張のためにロードされ得る。いくつかの実施形態では、新しいフレームは、ビデオの次のフレームになり得る。他の実施形態では、もし現在の広告コンテンツが終了する、又はもし現在のフレームが拡張に適切ではなかったと判断されたようであれば、拡張のために分析する新しいフレームが、サンプリングレート（例えば、現在のフレームの後の、一定のプリセットされたフレーム数であり得る）に基づいて選択され得る。もし、新しいフレームが、ブロック２１８で、潜在的な拡張のためにロードされるなら、その方法は、新しいフレームの前処理及び分析のために、ブロック２０２に戻る。いくつかの実施形態では、対象の領域又はその中のオブジェクトの追尾は、フレーム間で採用され得て（ここの他で述べられたように）、その結果、ブロック２０６のような図２Ａのあるブロックは、追尾が成功している間は、連続するフレームに完全には繰り返される必要がない。もし、新しいフレームが分析のためにロードされないなら、図示の方法は終了する。
【００２５】
図２Ａは、複数のフレームにわたるコンテンツの連続する拡張に関連して提示及び記載されてきたが、拡張のために、コンピューティングシステムによって分析はされるが、拡張には至らないフレームが存在し得ることが理解されよう。例えば、ショット変更後のようなある種のフレームは、コンピューティングシステムによって、十分な拡張範囲を有しない又はそうでなければ、与えられた例においては拡張には不適切であると判断され得る。
【００２６】
図２Ｂは、それぞれのターゲット範囲の表面及び姿勢の情報を求めることと共に、ビデオフレーム又は画像の、１つ以上のターゲット拡張範囲を特定するための例示的な方法２３０のフローチャートである。いくつかの実施形態においては、方法２３０は、図２Ａに関連して上述の方法２００のブロック２０６で、コンピューティングシステムによって実行され得る。他の実施形態では、上述のブロック２０６は、他の方法で実行され得て、図２Ｂに図示されている具体的な方法には限定されない。方法２３０は、ブロック２３２で始まり、ここで、コンピューティングシステムは、潜在的な拡張されたオーバーレイのためのビデオの画像又は現在のフレーム内に、１つ以上の候補領域、範囲又はオブジェクトを特定するために、畳み込みニューラルネットワーク（ＣＮＮ）又は他の機械学習モデルを使用し得る。例えば、コンピューティングシステムが、ビデオに描写されるアリーナ又はスタジアムで特定される観衆の上に広告又は他の拡張コンテンツをスーパーインポーズするように構成されている実施形態では、ＣＮＮ又は他のモデルは、人々の集団を特定するように訓練されていてもよい。したがって、いくつかの実施形態では、与えられた候補領域を特定することは、フレーム内で集団又はパターンとして現れる複数の類似するオブジェクト（個々の人物のような）を特定することを含み得て、一方、他の実施形態では、候補領域は単一の特定されたオブジェクト（例えば、会場の一部、テーブル、バスケットボールの支柱のようなスポーツ用具）に基づいてもよい。いくつかの実施形態では、候補領域は、画像又はビデオフレームにおいて１つ以上の対象となるテクスチャー（人の観衆、草、空のような）を特定するセグメンテーションプロセス（ＣＮＮ又は他のモデルを使用するような）に基づいて特定され得る。
【００２７】
いくつかの実施形態では、コンピューティングシステムは、ある寸法又は寸法の範囲を有する候補領域を特定するように構成され得る。例えば、もし、イベントビデオにスーパーインポーズされる広告画像又はビデオが、データ記憶に保存されているある幅及び高さを有するなら、１つ以上の機械学習モデルは、保存された広告の幅と高さの比と一致する又は近似する幅と高さの比を有する１つ以上の長方形の候補領域を特定するように構成され得る。この例は、長方形の候補領域に関するものであるが、ここで記載される技術は候補領域のどのような特定の形状にも限定されないことが理解されよう。したがって、特定された候補領域は、元のビデオ内の、観衆、ネガティブスペース又は類似のコンテンツの一部（例えば、適切に大きさが設定された広告にフィットするには、小さすぎる又は疎でありすぎるまばらな観衆の部分）を除外し得て、及び／又は個別ではネガティブスペース、観衆又は他の基準に適合しないような部分も含み得る（例えば、観衆の部分は、ビデオフレームの比較的大きな領域における１つ以上の人々の集団を特定する機械学習モデルに基づいて特定し得て、及びその大きな領域は、たとえその領域のサブセット群又は部分が、通路又は空席のように人を含まないとしても、候補領域として指定され得る）。
【００２８】
いくつかの実施形態では、関連する候補領域のペア又は他のセットの間で満たされるべき空間の及び／又はサイズの関係に関する基準が、コンピューティングシステムによって適用され得る。例えば、上述の図１Ｃで示されている例としての拡張されたフレームにおいて、システムは、２つのペアの領域で提示されることが意図される広告コンテンツを拡張するために、互いに閾値距離内にあり、及び互いに類似した姿勢を持つ２つの同じ大きさの領域を特定するように構成され得る。別の例として、後述する図５Ｆでは、それらの領域が同じ大きさではなく又は互いに同じ姿勢を有していなくても、８つの類似した大きさの候補領域はオーバーレイされたコンテンツを表示するために選択され得る。
【００２９】
ブロック２３２でコンピューティングシステムによって使用される１つ以上の機械学習モデルは、実施形態に応じて、いくつかの方法で以前に訓練されいてもよい。例えば、コンピューティングシステムによって提供される拡張サービスに関連付けられたオペレータは、検出する領域の種類のトレーニング画像又はビデオを提供していてもよい（例えば、スポーツイベントでの観衆、空、会場内の看板、フィールド、アイスリンク、ボクシングのリング、会場内のスポーツ設備、ロード又はトラック、人、車両、及び／又は与えられた実施形態又は例において対象となる他のオブジェクト又はオブジェクト群のセット）。いくつかの実施形態では、オペレータは、トレーニングデータの特定のサンプルフレーム又は画像で、対象となる領域と認識されるべきものに印（バウンディングボックス、画像座標、又は別の方法によるような）を付していてもよい。他の実施形態では、コンピューティングシステムは、人間によるネガティブスペース又は他の候補領域のいかなる明確な印がなくても、トレーニングビデオでの候補領域を決定していてもよい。例えば、コンピューティングシステムは、ある基準（それらのフレームの他の部分での動きと比較して、フレーム群のセットにわたって比較的静止したままであること、カメラの焦点が合っていないことのような）を満たす範囲を特定していてもよい。
【００３０】
上述のように、いくつかの実施形態では、コンピューティングシステムによって特定される例示的な候補領域は、システムが画像又はビデオコンテンツにおいて類似の領域を特定する時には、広告主、放送事業者、会場所有者、チーム及び／又は他の権利保有者に関連付けられたユーザに、あるタイプの領域がネガティブスペース、拡張に適した領域及び／又はさもなければ拡張のために考慮されるものであるべきことの承認又は確認のためにユーザーインターフェイス内で表示されていてもよい。したがって、ブロック２３２で使用される機械学習モデルは、与えられた権利保有者（例えば、ある放送事業者、リーグ又はチーム）に固有のものであってもよく、与えられた広告主に固有のものであってもよく（例えば、広告主は、広告主の広告がクラウド上にのみ表示されるようにシステムに指示していてもよい）、与えられた会場に固有のものであってもよく（例えば、ある会場で録画されたビデオを使用して訓練し、その会場で録画されたビデオのみに使用する）、与えられたスポーツ（複数の会場及び／又はリーグをまたいで）に固有なものであってもよく、ビデオに関連付けられた与えられたコンテンツクリエイターに固有のものであってもよく（例えば、その人のユーザ作成の動画を、ビデオ共有プラットフォーム又はソーシャルネットワーキングサービスにアップロードする特定のコンテンツクリエイターに使用される）、及び／又はいくつかの他の方法で作成され得る。
【００３１】
いったん１つ以上の候補領域が特定されると、方法２３０は、オプションのブロック２３４に進む。ここで、コンピューティングシステムは、候補領域（群）の個々のピクセルが、前景又は背景にあるオブジェクトの一部であるかどうか、及び／又は描写されたオブジェクト又は他の現実世界のコンテンツがフレーム間で実質的に移動しているかを判断し得る。そのような判断の目的は、たとえ、当該領域が全体としては、通常、ネガティブスペースを示し得る又はそうでなければ拡張に適しているとしても、与えられた候補領域のいくつかのピクセル又は部分が、オーバーレイ又は拡張に適していないかを判断することであり得る。例えば、領域は通常、アリーナのスタンドに座り、及び１５秒又は他の期間にわたって比較的、一貫した位置に留まるさまざまな観客を含み得るが（これは、既定の実施形態では、広告に適している又は拡張の対象となり得る）、観客が比較的、急速に動いている通路又は歩道もまた含み得る（これは、所与の実施形態では、拡張に不適切となり得る）。いくつかの実施形態では、候補領域がオーバーレイ又は拡張に適しているかどうかは、代替として又は追加としては、候補領域について求められたスコアに基づいてもよい。そのスコアは、例えば、領域が連結している程度、、穴が空いていないこと、及びコンパクトであることを表現し得る。
【００３２】
いくつかの実施形態では、コンピューティングシステムは、オブジェクトの動きを特徴付ける及び／又は定量化するために、コンピュータビジョンの分野で既知である１つ以上のオプティカルフロー技術を適用し得て、及びどのオブジェクト又はピクセルがオーバーレイによってカバーされる又は部分的にカバーされるのに適切であるかについて、動きの閾値を適用し得る（及び、逆に言えば、どのオブジェクト又はピクセルが拡張から除外されるべきかについて）。ブロック２３６で、動いている（例えば、閾値の量を超えて動いている）及び／又は前景にあるオブジェクトに対応するピクセルは、拡張のために印が付されるピクセル又は領域から除かれ得る。いくつかの実施形態では、除外されたピクセルの情報は、図２Ａのブロック２１２について上述したように、拡張領域のマスクを生成することにおいて使用され得る。
【００３３】
ブロック２３８で、コンピューティングシステムは、１つ以上の候補領域のそれぞれにおける個々のピクセル又はオブジェクトの深度（例えば、ビデオをキャプチャする現実世界のカメラから、ビデオで描写されている現実世界のオブジェクトまでの距離）を推定し得る。いくつかの実施形態では、もし単一のカメラのみがビデオをキャプチャするなら（例えば、より正確な深度を計算するのに十分な記録されたデータが存在しない）、深度の推定は、ＣＮＮのような機械学習モデルによって実行され得る。これは、２台のカメラが使用されるシステムとは異なるかもしれないが、それは、そのようなシステムは、異なるカメラによって異なる位置からキャプチャされるビデオフレームの比較に基づいて、より直接的に深度を推定するために、立体視技術を使用し得るからである。いくつかの実施形態では、機械学習モデルは、個々のピクセル位置の照明に少なくとも部分的に基づいて、距離を推定するために訓練され得る。モデルは、対応する実際の深度情報（カメラとMICROSOFT（登録商標）によるKINECTセンサのような赤外線レーザー照射器との組み合わせのような、レンジファインダー又は他の深度を求めるセンサを使用して記録していてもよい）を持つサンプルビデオを使用して、事前に訓練されていてもよい。ブロック２３８で使用されるＣＮＮ又は他のモデルの結果は、カメラまでの推定された距離を表示するそれぞれのピクセルの値であり得る。システムは、イベントでのビデオの録画で、他の深度関連のハードウェアを持たない単一の従来のカメラが使用される実施形態において、単眼の深度推定（教師あり又は教師なしの機械学習技術を用いて）を実行し得るが、他の実施形態は、複数のカメラ又は深度センサを使用して、３次元又は他のアプローチを採用し得る。
【００３４】
次に、コンピューティングシステムは、オプションとして、カメラが既定のフレームをキャプチャした時における、現実世界のカメラの３次元（３Ｄ）の位置及び姿勢を推定し得る。コンピューティングシステムは、コンピュータビジョンの分野で既知の１つ以上のさまざまなカメラソルビング（camera solving）手法を採用し得る。結果は、３Ｄで推定された（ｘ，ｙ，ｚ）座標及びカメラの３Ｄ回転を含む「６自由度」（６ＤｏＦ）の推定となり得る。
【００３５】
ブロック２４２で、コンピューティングシステムは、それから、１つ以上の候補領域それぞれの３Ｄ位置及び姿勢を推定し得て、これらは、ホモグラフィモデルに部分的に基づいて推定されてもよい。例えば、コンピューティングシステムは、そこに描写された候補領域又はオブジェクト（例えば、観衆）の６ＤｏＦ（例えば、３Ｄ位置及び姿勢）を推定し得る。求められた３Ｄ位置（ｘ，ｙ，及びｚ座標）は、既定の領域又はブロブ（例えば、観衆、ネガティブスペース、又は拡張される他のコンテンツ）のセントロイドに対するものであり得る。６ＤｏＦ情報は、例えば、領域内の異なるピクセル位置で、上で求められたさまざまな深度に基づいて求められ得る。
【００３６】
ブロック２４４で、コンピューティングシステムは、それぞれの候補領域に、平面の表面をフィットさせ得る。他の実施形態では、コンピューティングシステムは、実施形態、画像又はビデオのコンテンツの種類、及び拡張コンテンツの望ましい外観に応じて、非平面の表面をフィットさせ得る。いくつかの実施形態では、平面の表面は、所定のターゲットサイズであり得るが、他の実施形態では、平面の表面は、コンピューティングシステムが既定の領域にフィットし得る最大の平面の表面であってもよい。表面のフィッティングは、最小二乗平面フィッティング、セマンティックモデリング、プリミティブ補完（primitive completion）、及び／又は他のアプローチの既知の技術を使用して実行され得る。コンピューティングシステムは、候補領域に平面の表面をフィットさせ得るが、その領域に描写された現実世界のオブジェクトは、深度が変化し得て、コンピューティングシステムによって決定された平面の表面と完全には一致しないことが理解されよう。例えば、いくつかの先行技術の拡張システムは、ビデオに描写された実際の平面の表面（壁、床、又は掲示板のような）を特定し得るが、本開示の局面は、実際には平面の表面を描写しない画像又はビデオの拡張部分に適用され得る。
【００３７】
ブロック２４６で、コンピューティングシステムは、上記で求められたさまざまな位置、姿勢及び／又は表面のデータを記憶し得る（ＲＡＭにおいて又は電子データベースにおいてのように）。いくつかの実施形態では、JavaScript Object Notation (JSON)又は他のデータファイルが生成され得て、そしてそれは、既定のビデオフレーム又は画像を拡張する時に、上で述べられた方法２００の間に使用されてもよい。例えば、コンピューティングシステムは、広告又は他の拡張コンテンツでフレームを拡張する時、拡張コンテンツが、上記１つ以上の候補領域にフィットする表面の位置及び姿勢と適合する位置及び姿勢を有するよう、このデータを使用してもよい。図示の方法２３０は、それから終了する。
【００３８】
図３は、本開示のさまざまな実施形態において使用に適した、コンピューティング環境３００のシステムのフローチャートである。図３で描写されているように、コンピューティング環境３００は、コンピューティングシステム３０２を含み得る。コンピューティングシステム３０２の一般的な構造は、本開示の局面を実現するために使用されるコンピュータハードウェア及びソフトウェアの要素の構成を含み得る。コンピューティングシステム３０２は、図３で示されたものより多くの（又は少ない）要素を含み得る。しかしながら、実施可能な開示を提供するためには、これらの一般には従来からある要素の全てが示されなければならないわけではない。
【００３９】
図示されているように、コンピューティングシステム３０２は、処理ユニット３０６、ネットワークインターフェイス３０８、コンピュータ読み取り可能媒体ドライブ３１０、入力／出力デバイスインターフェイス３１２、オプションのディスプレイ３２６、及びオプションの入力装置３２８を含み得て、それら全ては通信バス３３６を経由して、互いに通信し得る。処理ユニット３０６は、メモリ３１４に及びメモリ３１４から通信し得て、入力／出力デバイスインターフェイス３１２を介してオプションのディスプレイ３２６に、出力情報を提供し得る。入力／出力デバイスインターフェイス３１２はまた、キーボード、マウス、デジタルペン、マイク、タッチスクリーン、ジェスチャー認識システム、音声認識システム、又は当該技術分野で既知の他の入力装置のような、オプションの入力装置３２８からの入力を受け入れ得る。
【００４０】
メモリ３１４は、ここに記載された１つ以上の実施形態を実行するために処理ユニット３０６が実行し得るコンピュータプログラム命令（いくつかの実施形態では、モジュール又は要素として分類される）を含み得る。メモリ３１４は、一般に、ＲＡＭ、ＲＯＭ及び／又は他の持続的、補助的、又は非一時的のコンピュータ読み取り可能媒体を含み得る。メモリ３１４は、処理ユニット３０６がコンピューティングシステム３０２の一般的な管理及びオペレーションにおいて使用するための、コンピュータプログラム命令を提供するオペレーティングシステム３１８を格納し得る。メモリ３１４は、さらに、本開示の局面を実現するために、コンピュータプログラム命令及び他の情報を含み得る。例えば、ある実施形態では、メモリ３１４は、コンピューティングシステムによって表示のためにユーザーインターフェイス（及び／又はそのための指示）を生成するユーザインターフェイスモジュール３１６を含み得る（コンピューティングシステム３０２によって又はディスプレイのためにコンピューティングシステム３０２によって生成される、ユーザーインターフェイス又は他のコンテンツを受信する別のコンピューティングデバイスによるような）。
【００４１】
いくつかの実施形態では、メモリ３１４は広告選択モジュール３２０を含み得て、それは表示のための広告コンテンツを選択するために、処理ユニット３０６によって実行され得る。例えば、広告ビデオ又は画像コンテンツは、ベースとなるビデオで検出されたオブジェクト又は他のコンテンツに基づいて選択されてもよい（例えば、ビデオデータの自動分析から求められたスポーツ、チーム、会場及び／又は他の情報に応じて）。スポーツ、チーム、会場及び／又は関連するデータは、２０１７年９月１９に出願された出願人が同一で同時係属中の「MACHINE LEARNING MODELS FOR IDENTIFYING SPORTS TEAMS DEPICTED IN IMAGE OR VIDEO DATA」と題された、米国特許出願第１５／７０９，１６８に記載されているシステムと方法を使用したビデオデータで検出され得て、それはその全体が参照によりここで援用される。いくつかの実施形態では、広告選択モジュール３２０は、２０１７年９月１９日に出願された出願人が同一で同時係属中の「AUTOMATED CONTROL OF DISPLAY DEVICES,」と題された米国特許出願第１５／７０９，２２５号に記載されているリアルタイムの入札技術及び方法を用いるような、様々なファクターに基づいて、イベントビデオの一部内で拡張される広告又は他のスポンサーコンテンツをマッチングさせるためのビッディング技術を採用し得て、それはその全体が参照によりここで援用される。
【００４２】
メモリ３１４は、さらに、領域検出モジュール３２２を含み得る。それは、ここに記載されるさまざまな実施形態（図２Ｂに関連して上で記載された操作のような）に従って、広告又は他の拡張のために、ネガティブスペース領域又は他のターゲット領域を特定及び分析することに関連するある操作を実行するために、処理ユニット３０６によって実行され得る。メモリ３１４はまた、ビデオ拡張モジュール３２４を含み得る。それは、ここに記載されたさまざまな実施形態（図２Ａに関連して上で記載された操作のような）に従って、ビデオデータを拡張することに関連付けられた他の操作を実行するために、処理ユニット３０６によって実行され得る。モジュール３２０、３２２及び／又は３２４は、上で記載されたデータを取得する及び／又はデータを記憶するために、データ記憶３３０及び／又は３２２にアクセスし得る。
【００４３】
ビデオデータ記憶３３２は、さまざまなイベント放送及び／又は他のビデオファイルの、ＤＶＲに記録されたもの又はインターネットアクセス可能なビデオソースからアクセスされたもののようなデジタルビデオデータを記憶し得る。代替として、ビデオデータ記憶３３２内のビデオデータは、コンテンツが分析され及び拡張される時に、リアルタイムで又はほぼリアルタイムでストリーミングソースから受け取られてもよい（例えば、ビデオデータは、ビデオデータ記憶３３２内に、一時的に記憶され、、キャッシュされ、又はバッファリングされているだけであってもよい）。広告データ記憶３３０は、関連付けられたスポンサー、入札、キーワード、及び／又は広告コンテンツに関連付けられた他の情報を特定する情報と共に、イメージ又はビデオの形式の広告コンテンツ（又は視覚的形式での表示のために、コンピューティングシステム３０２によって解釈されるテキストデータ又は他の非画像データ）を含み得る。コンピューティングシステム３０２が、広告コンテンツ以外の拡張コンテンツでビデオデータを拡張するように構成されている実施形態では、広告データ記憶３３０は、追加として又は代替として、そのようなコンテンツを記憶し得る。
【００４４】
データ記憶のそれぞれは、コンピューティングシステム３０２の一部であってもよく、コンピューティングシステム３０２からリモートであってもよく、及び／又はネットワークベースのサービスであってもよい。追加として、いくつかの実施形態では、コンピューティングシステム３０２にアクセス可能な１つ以上のデータ記憶は、画像又はビデオフレーム内に現れるオブジェクト又は領域を特定するために、ビデオフレーム又は画像の分類のために使用される、訓練されたモデル及びデータを記憶し得る（図３では不図示）。
【００４５】
いくつかの実施形態では、ネットワークインターフェイス３０８は、１つ以上のネットワーク又はコンピューティングシステムへの接続性を提供し得て、及び処理ユニット３０６は、１つ以上のネットワークを経由して、他のコンピューティングシステム又はサービスから、情報及び命令を受信し得る。図３に図示された例では、ネットワークインターフェイス３０８は、インターネットのような、ネットワーク３３６を経由して、オプションのサードパーティ広告サービス３０１、オプションのビデオプロバイダ３０３及びオプションの放送業者３０５と接続し得る。特に、コンピューティングシステム３０２は、ネットワーク３３６を通してコンピューティングシステム３０３に通信を送るために、ネットワーク３３６と通信リンク３４２（例えば、既知のプロトコルを使用して）を確立し得る。同様に、サードパーティ広告サービス３０１、ビデオプロバイダ３０３及び放送事業者３０５は、有線又は無線通信リンク（リンク３４０及び３４１のような）を経由して、ネットワーク３３６を通して、コンピューティングシステム３０２へ通信を送り、それから通信を受け取り得る。サードパーティ広告サービス３０１は、ここに記載されたように、与えられたビデオに追加するために、コンピューティングシステム３０２のために、広告コンテンツを供給し得る。いくつかの実施形態では、ビデオプロバイダ３０３は、テレビ放送局、ケーブル又は衛星ベースのテレビサービス、オンラインビデオ共有プラットフォーム、及び／又はコンピューティングシステム３０２によって拡張されるべきビデオデータのための他のビデオソースであってもよい。放送事業者３０５は、下流の視聴者に配信するためにコンピューティングシステム３０２によって生成された拡張されたビデオデータの受信者であり得て、及びビデオプロバイダサービス３０３と同様の１つ以上のサービス又はエンティティを含んでいてもよい。
【００４６】
当業者は、コンピューティングシステム３０１、３０２、３０３及び３０５は、それぞれ、ラップトップコンピュータ、パーソナルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、ＰＤＡ／携帯電話の一体型機器、携帯電話、スマートフォン、ウェアラブルコンピューティングデバイス、電子ブックリーダー、デジタルメディアプレーヤー、タブレットコンピュータ、ゲームコンソール又はコントローラ、キオスク、拡張現実装置、他のワイヤレスデバイス、セットトップボックス又は他のテレビボックス、１つ以上のサーバ、及び／又はその類似物を含むが、これらに限定されない、いくつかのコンピューティングシステムのうちの任意のものであり得ることを認識するであろう。
【００４７】
図４Ａは、レースカーの検出された位置を特定するバウンディングボックス４０４及び４０６を含むイベントビデオ４０２のフレームを描写し、図４Ｂは、コンピューティングシステムによって求められた対応するヒートマップデータ４１２を図式的に示す。ヒートマップ表現の例がここでは提供されているが、他の実施形態では、コンピューティングシステムは、ヒートマップデータよりむしろマスクを出力するセグメンテーション技術を適用してもよい。図４Ｃは、検出されたレースカー４０４及び４０６に関連付けられた、拡張されたグラフィック情報４３４及び４３６だけではなく、レーストラック上でスーパーインポーズされた会社のロゴ又は広告４３２も含む、拡張されたビデオのサンプルフレーム４３０（拡張後の４０２と同じフレームであってもよい）である。拡張コンテンツ４３４及び４３６は、ビデオに描写された関連する現実世界のオブジェクト（レースカー）の動きを追尾するために、フレームからフレームへ移動し得る。ロゴ４３２は、１つの例として、カメラ及び車がフレームからフレームへと移動する時に、車の１つ又はトラックの与えられたレーンに対して、ある位置に固定されているように見えてもよい。例えば、ドライバーが左に曲がる時にヘルメット又はダッシュボードのカメラがシーンをキャプチャする時は、ロゴはフレーム内で右に移動し得て、その結果、レーンマーカーからある位置的なずれを維持するようにそれぞれのフレーム内で見える。
【００４８】
図５Ａは、バスケットボールの試合のテレビ放送ビデオのサンプルフレーム５０２を描写する。図５Ｂは、図５Ａのフレーム内で検出された観衆領域（「観衆１．０００」のラベルが付されて現れる）を描写する。図５Ｂは、コンピューティングシステムによって求められた、ある閾値の信頼度を超える、候補の観衆領域を決定するコンピューティングシステムによって実行される中間ステップの出力の図式的描写であるとみなされ得る。図５Ｃは、中間ステップの、他の図式的な描写であり、それは、図５Ａのフレーム内の１つ以上の広告を掲載しても安全だと検出された領域（この場合、検出された観衆）のヒートマップデータに対してバウンディングボックス５１２を描写する。
【００４９】
図５Ｄは、図５Ａのフレーム内で検出された広告掲載が安全な領域（平面表面５２２として描写されており、それは実際には現実世界のシーンの１部ではない）のために求められた３次元追尾及び姿勢データ５２４の図式的表現を含む、マーク付きフレーム５２０を描写する。図５Ｅは、ビデオデータのフレームを拡張するために使用するための、図５Ａのフレーム内で検出された観衆領域に関連付けられたマスクデータ５３０を描写する。上で述べられたように、マスクは、移動するオブジェクト及び／又は前景のオブジェクトに対応するピクセルを除外するために、コンピューティングシステムによって生成されてもよい。図５Ｆは、図５Ｅのマスクに基づいて適用された、検出された観衆領域内の広告データ５４２を含む、図５Ａのフレーム５０２の拡張されたバージョン５４０を描写する。拡張コンテンツは、不透明として図示されるが、、他の場合では、拡張コンテンツの表示位置内の個々のピクセルが、元のキャプチャされたシーンのピクセルの色値と拡張コンテンツのピクセルの色値との混合に基づく色値を有するように、拡張コンテンツが半透明（例えば、１００％未満の不透明度）に見えてもよい。
【００５０】
図６Ａは、広告コンテンツ６０４が、観衆領域の姿勢に一致するように、観衆領域内にスーパーインポーズされているバスケットボールの試合からのビデオデータの拡張フレーム６０２を描写する。図６Ｂは、関連する観衆領域の新しい位置を追尾するために、スーパーインポーズされた広告コンテンツ６１４が、フレームの違った位置に現れる図６Ａのバスケットボールの試合からのビデオデータの追加の拡張フレーム６１２を描写する。フレーム６０２及び６１２の間のいくつかのフレーム（例えば、８秒の期間）においては、カメラは、その右にパンし及びオンコートのアクションを追うためにズームインしていてもよく、その場合は、スーパーインポーズされた広告が、それぞれのフレームを通して一貫して同じ現実世界のオブジェクト（人及びスタンド）にあたかも実際に投影されたかのように、広告コンテンツは観衆の特定の部分に「固定された」ように見えるはずである。広告コンテンツは、その出現の間中、動画にし得て又は連続したビデオとして現れ得て、及び拡張されたフィードに含まれる前後（それぞれ）に、視覚的にフェードイン及びフェードアウトしてもよい。この拡張は、ライブの試合が放送されている時にリアルタイムで起こり得てもよく、それによれば、広告は、ライブのテレビフィードに現れ得て、又は後で追加され得る（ゲームのハイライトがソーシャルメディアに投稿される時又は個々のユーザがオンデマンドビデオサービス又はインターネットソースを経由してクリップを見ることを選択した時のような）。
【００５１】
上で記載されてきたように、１つの実施形態は、メモリと、前記メモリと通信するプロセッサを備え、操作を実行するためのプロセッサで実行可能な命令を持つように構成されたコンピューティングシステムを含み得る。この操作は、ビデオカメラによってキャプチャされた実世界のシーンを描写するビデオデータのフレームを少なくとも受け取ること、機械学習モデルを用いて、前記フレーム内に描写された１つ以上のオブジェクトを特定することであって、前記１つ以上のオブジェクトは、ビデオの主要なフォーカスではないバックグラウンドコンテンツを含む、特定すること、視覚拡張のための候補領域の前記フレーム内の位置を決定することであって、前記候補領域は、少なくとも１つの前記１つ以上のオブジェクトを含む、決定することと、前記候補領域における複数の個別画素又はオブジェクトのそれぞれについての深さ情報を推定すること、少なくとも部分的には前記深さ情報に基づいて、平面表面を前記候補領域にあてはめること、視覚拡張コンテンツを取得すること、レンダリングされた視覚拡張コンテンツを生成することであって、前記レンダリングされた視覚拡張コンテンツを生成することは、前記視覚拡張コンテンツを仮想的な３次元空間においてレンダリングすることによって、前記平面表面に対応する位置及び姿勢を有するようにすることを含む、視覚拡張コンテンツ生成すること、及び前記フレームを拡張することによって、前記フレームが前記候補領域内で前記レンダリングされた視覚拡張コンテンツを含み、拡張されたビデオフレームを形成することを含み得る。
【００５２】
いくつかの実施形態において、上記操作は、前記視覚拡張をレンダリングする前に、前記フレームをキャプチャした前記ビデオカメラの３次元位置及び姿勢を推定することをさらに含む。前記操作は、前記フレームの後で、前記ビデオカメラによってキャプチャされたビデオデータの第２フレームを受け取ること、前記第２フレームで、前記少なくとも１つの前記１つ以上のオブジェクトの新しい位置をすること、前記少なくとも１つの前記１つ以上のオブジェクトの、前記新しい位置少なくとも部分的に基づいて、視覚拡張のためのアップデートされた候補領域の前記第２フレーム内のアップデートされた位置を求めることであって、アップデートされた候補領域の前記第２フレーム内の前記アップデートされた位置は、前記候補領域の前記フレーム内の前記位置と異なる、アップデートされた位置を求めること、及び前記第２フレーム内の前記アップデートされた位置において、前記視覚拡張コンテンツのアップデートされたレンダリングを含むように前記第２フレームを拡張することをさらに含み得る。
【００５３】
上記操作は、新しいショットが検出されるか又は位置追尾が失敗するまで、前記拡張コンテンツのアップデートされたレンダリングによって、前記ビデオデータの連続するフレームを拡張することを継続することをさらに含み得る。他の実施形態では、前記操作は、前記ビデオカメラのパンする又はズームするアクションの間に、キャプチャされた複数のフレームのそれぞれの中において、前記視覚拡張コンテンツをレンダリングすることをさらに含み、前記複数のフレームのそれぞれの中でレンダリングされた前記視覚拡張コンテンツは、前記視覚拡張コンテンツの前記レンダリングのフレーム内位置が、前記複数のフレームの個々のフレームの間で変化する時に、前記現実世界のシーンの中で一貫した現実世界の位置を維持するように見える。
【００５４】
別の実施形態によれば、コンピュータは方法を実現し得る。前記方法は、ビデオカメラによってキャプチャされた現実世界のシーンを描写するビデオデータの少なくとも１つのフレームを受け取ること、前記フレーム内で、視覚拡張のための候補領域を特定することであって、前記候補領域は、機械学習モデルの出力及び視覚拡張のための予め設定された基準に少なくとも部分的に基づいて特定される、候補領域を特定すること、前記候補領域内の、複数の個々のピクセル又はオブジェクトのそれぞれについて、深度情報を推定すること、視覚拡張コンテンツを取得すること、レンダリングされた視覚拡張コンテンツを形成するために、仮想３次元空間において前記視覚拡張コンテンツをレンダリングすることであって、前記レンダリングされた視覚拡張コンテンツは、前記深度情報に少なくとも部分的に基づいて、前記フレームでキャプチャされた前記現実世界のシーンの１つ以上の部分に対応する位置と姿勢を有している、前記視覚拡張コンテンツをレンダリングすること、及び拡張されたビデオフレームを形成するために、前記候補領域内に前記レンダリングされた視覚拡張コンテンツを含むように前記フレームを拡張することを含み得る。
【００５５】
いくつかの実施形態において、機械学習モデルは、畳み込みニューラルネットワークである。別の実施形態において、前記候補領域が、現実世界の領域の予め設定されたタイプ又は前記現実世界のオブジェクトの予め設定されたタイプを含むという前記機械学習モデルによる判断に少なくとも部分的に基づいて特定される。１つの実施形態では、前記現実世界のシーンがスポーツのイベントであって、現実世界の領域の前記予め設定されたタイプが人からなる観衆であって、前記機械学習モデルは人からなる観衆を特定するように訓練される。１つの実施形態では、現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプは、背景の風景、空又は地面ののうちの１つを含む。
【００５６】
ある実施形態では、前記方法は、前記フレームの拡張することに先立って、前記候補領域内で拡張のためのピクセルを特定するマスクデータを生成することであって、前記フレームを拡張することは、前記マスクデータに基づいて、前記フレームのピクセル位置に、レンダリングされた視覚拡張コンテンツのピクセルを配置することを含む、マスクデータを生成することをさらに含み得る。別の実施形態では、前記方法は、前記候補領域を特定することに先立って、前記ビデオデータに関連付けられた権利保有者への提示のためのユーザーインターフェイスを生成することであって、前記ユーザーインターフェイスは、前記権利保有者が、拡張のための、現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプを承認することを可能にする、ユーザーインターフェイスを生成することをさらに含み得る。別の実施形態では、前記権利保有者に関連付けられた、以前にキャプチャされたビデオコンテンツのオートメーション化された分析に少なくとも部分的に基づいて、前記権利保有者へ提示するための、現実世界の領域の前記予め設定されたタイプ又は現実世界のオブジェクトの予め設定されたタイプを求めることであって、前記オートメーション化された分析は、前記以前にキャプチャされたビデオコンテンツのフレームの、十分に活用されていない領域を特定することを含む、予め設定されたタイプを求めることを含み得る。
【００５７】
１つ以上のコンピュータシステムによって実行される時に、操作を実行するように前記１つ以上のコンピュータシステムを構成するコンピュータが実行可能な命令を記憶する、非一時的なコンピュータ読み取り可能媒体もまた、開示されている。前記操作は、ビデオカメラによってキャプチャされた現実世界のシーンを描写する、ビデオデータの少なくとも1つのフレームを受け取ること、前記フレーム内で、視覚拡張のための候補領域を特定することであって、前記候補領域は機械学習モデルの出力に少なくとも部分的に基づいて特定される、候補領域を特定すること、前記候補領域内の複数の個々のピクセル又はオブジェクトのそれぞれについて、深度情報を推定すること、視覚拡張コンテンツを取得すること、レンダリングされた視覚拡張コンテンツを形成するために、仮想３次元空間において前記視覚拡張コンテンツをレンダリングすることであって、前記レンダリングされた視覚拡張コンテンツは、前記深度情報に少なくとも部分的に基づいて、前記フレーム内でキャプチャされた前記現実世界のシーンの１つ以上の部分に対応する位置及び姿勢を有している、前記視覚拡張コンテンツをレンダリングすること、及び拡張されたビデオフレームを形成するために、前記候補領域内に前記レンダリングされた視覚拡張コンテンツを含むように前記フレームを拡張することを含み得る。
【００５８】
前記操作はさらに、前記拡張コンテンツのアップデートされたレンダリングで前記ビデオデータの連続するフレームを拡張することさらに含み得て、前記アップデートされたレンダリングのそれぞれは、個々のフレームにおいてアップデートされた位置において含まれる、レンダリングであって、前記アップデートされた位置は、前記個々の連続するフレーム内で、少なくとも１つの現実世界のオブジェクトの新しい位置を追尾する。
【００５９】
ここで記載された任意の特定の実施形態に従っても必ずしも全ての目的又は優位性が達成されないことが理解されよう。よって、例えば当業者であれば、ある実施形態は、ここで教示される１つの優位性又は１つのグループの優位性群を達成又は最適化するが、ここで教示又は示唆された他の目的又は優位性を必ずしも達成しないように動作するよう構成され得ることを理解するだろう。
【００６０】
ここで記載された方法の全ては、１つ以上の汎用コンピュータ又はプロセッサを含み得る計算システムによって実行されるソフトウェアコードモジュールにおいて実現され得て、ソフトウェアコードモジュールを介して完全に自動化され得る。コードモジュールは、任意のタイプの非一時的なコンピュータ読み取り可能な媒体又は他のコンピュータ記憶デバイスにおいて記憶され得る。代替としてこれら方法の一部又は全部は、専用のコンピュータハードウェアにおいて実現され得る。加えて、ここで参照される要素は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せにおいて実現され得る。
【００６１】
ここで記載されたものとは違う多くの他の変化形がこの開示から明らかであろう。例えば、実施形態に依存して、ここで記載された任意のアルゴリズムのある種の行為、イベント、又は機能は、異なる順序で実行され得て、追加され、統合され、又はそもそも省略され得る（例えば、それらアルゴリズムの実施のためには、記載された行為又はイベントの全てが必要というわけではない）。さらにある実施形態では、行為又はイベントは、順次にではなく、例えば、マルチスレッド処理、割込処理、又はマルチプロセッサ又はプロセッサコア又は他のパラレルアーキテクチャを通して、同時に実行され得る。加えて、異なる行為又はプロセスは、共に機能し得る異なる機械及び／又は計算システムによって実行され得る。
【００６２】
ここで開示された実施形態に関連して記載されたさまざまな例示的論理ブロック、モジュール、及びアルゴリズム要素は、電子的ハードウェア、コンピュータソフトウェア、又はそれら両方の組合せとして実現され得る。ハードウェア及びソフトウェアのこの交換可能性を明らかに示すために、さまざまな例示的要素、ブロック、モジュール、及び要素は、それらの機能によって大まかには上で述べられてきた。そのような機能がハードウェア又はソフトウェアのどちらで実現されるかは、システム全体に課せられた具体的なアプリケーション及び設計の制約条件に依存する。記載された機能は、それぞれの具体的な応用例についてさまざまなやり方で実現され得るが、そのような実現例の判断は本開示の範囲からの逸脱を生じるものとしては解釈されるべきではない。
【００６３】
ここで開示された実施形態に関連して記載されているさまざまな例示的論理ブロック及びモジュールは、ここで記載された機能を実行するよう設計された、処理ユニット又はプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は他のプログラム可能なロジックデバイス、ディスクリートなゲート又はトランジスタロジック、ディスクリートなハードウェア要素、又はそれらの任意の組合せのような、機械によって実現又は実行され得る。プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、コントローラ、マイクロコントローラ、又はステートマシン、これらの組合せ等であり得る。プロセッサは、コンピュータで実行可能な命令を処理するよう構成された電気回路を含み得る。他の実施形態において、プロセッサは、コンピュータで実行可能な命令を処理することなく、論理操作を実行するＦＰＧＡ又は他のプログラム可能なデバイスを含む。プロセッサは、計算デバイスの組合せとしても、例えば、ＤＳＰ及びマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ以上のマイクロプロセッサ、又は任意の他のそのような構成としても実現され得る。ここでは基本的にはデジタル技術について記載されているが、プロセッサは、基本的にアナログの要素も含み得る。例えば、ここで記載された信号処理アルゴリズムのうちの一部又は全部は、アナログ回路又は混合されたアナログ及びデジタル回路において実現され得る。計算環境は、以下には限定されないが、いくつかの例を挙げれば、マイクロプロセッサに基づくコンピュータシステム、メインフレームコンピュータ、デジタルシグナルプロセッサ、携帯計算デバイス、又はデバイスコントローラを含む、任意のタイプのコンピュータシステムを含み得る。
【００６４】
ここで開示された実施形態に関連して記載された方法、プロセス、又はアルゴリズムの要素は、ハードウェアにおいて、１つ以上のメモリデバイス中に記憶され１つ以上のプロセッサによって実行されるソフトウェアモジュールにおいて、又はこれら２つの組合せにおいて直接に実現され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、又はこの分野で知られる任意の他の形態の非一時的コンピュータ読み取り可能な媒体、メディア、又は物理的コンピュータ記憶において常駐し得る。例示的記憶媒体は、プロセッサが記憶媒体から情報を読めるように、かつ記憶媒体に情報を書けるようにプロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体化され得る。記憶媒体は、揮発性又は不揮発性であり得る。
【００６５】
とりわけ「できる（can）」、「やろうと思えばできる（could）」、「ひょっとすれば〜かもしれない（might）」又は「でもよい（may）」のような条件的文言は、具体的にそうではないと述べられていない限り、ある実施形態はある特徴、要素及び／又はステップを含むが、他の実施形態はそれらを含まないと伝えるのに一般に用いられる文脈の範囲内でそうでなければ理解される。よって、そのような条件的文言は、特徴、要素及び／又はステップが、１つ以上の実施形態についていかなる場合も必要であることを又は１つ以上の実施形態が、ユーザの入力又はプロンプトを使うにしても使わないにしても、これら特徴、要素及び／又はステップが含まれる又は任意の特定の実施形態において実行されるべきであると判断するためのロジックを必然的に含むことを示唆するようには一般には意図されない。
【００６６】
「Ｘ、Ｙ、又はＺのうちの少なくとも１つ」というフレーズのような選言的な文言は、そうではないと具体的に述べられない限り、アイテム、語等がＸ、Ｙ、又はＺのうちのいずれかであるか、又はそれらの任意の組合せであり得る（例えばＸ、Ｙ、及び／又はＺ）ことを一般には示すように用いられる文脈と共にそうでなければ理解される。よって、そのような選言的な文言は、ある実施形態は、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、又はＺのうちの少なくとも１つがそれぞれ存在することを要求するとは一般には意図されておらず、そういうことを要求すると示唆されてはいるのではない。
【００６７】
ここで記載された及び／又は添付の図に示されたフロー図における任意の方法の記載、要素又はブロックは、そのプロセスの中で特定の論理機能又は要素を実現するための１つ以上の実行可能な命令を含むコードのモジュール、セグメント、又は部分を潜在的には表現すると理解されるべきである。当業者によって理解されるように関連する機能に依存して、要素又は機能が削除されたり、実質的に同時に実行されることを含む、示された又は説明された順序とは異なるように実行されたり、逆の順序で実行されたりする代替の実現例は、ここで記載される実施形態の範囲の中に含まれる。
【００６８】
明示的に述べられない限り、「a」又は「an」のような冠詞は、一般に１つ以上の記載されたアイテムを含むように解釈されるべきである。したがって、「〜するよう構成されたデバイス」のようなフレーズは、１つ以上の記載されたデバイスを含むように意図される。そのような１つ以上の記載されたデバイスは、述べられた記載を実行するよう集合的にも構成され得る。例えば、「記載Ａ、Ｂ及びＣを実行するよう構成されたプロセッサ」は、記載Ｂ及びＣを実行するよう構成された第２プロセッサと関連して働く、記載Ａを実行するよう構成された第１プロセッサを含み得る。
【００６９】
多くの変化形及び変更が、上で記載された実施形態になされ得ることが強調されるべきであり、それらの要素は、他の許容可能な例に含まれているものとして理解されるべきである。そのような変化形及び変更の全ては、本開示の範囲内でここに含まれることが意図されている。
【図１Ａ】
2021511729.tif 000003
【図１Ｂ】
2021511729.tif 000004
【図１Ｃ】
2021511729.tif 000005
【図２Ａ】
2021511729.tif 000006
【図２Ｂ】
2021511729.tif 000007
【図３】
2021511729.tif 000008
【図４Ａ】
2021511729.tif 000009
【図４Ｂ】
2021511729.tif 000010
【図４Ｃ】
2021511729.tif 000011
【図５Ａ】
2021511729.tif 000012
【図５Ｂ】
2021511729.tif 000013
【図５Ｃ】
2021511729.tif 000014
【図５Ｄ】
2021511729.tif 000015
【図５Ｅ】
2021511729.tif 000016
【図５Ｆ】
2021511729.tif 000017
【図６Ａ】
2021511729.tif 000018
【図６Ｂ】
2021511729.tif 000019
【国際調査報告】
2021511729.tif 000020
2021511729.tif 000021
2021511729.tif 000022