特許第6972260号(P6972260)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ インスケイプ データ インコーポレイテッドの特許一覧

特許6972260メディアセグメント識別効率向上のために探索索引を区分するためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6972260
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】メディアセグメント識別効率向上のために探索索引を区分するためのシステムおよび方法
(51)【国際特許分類】
   G06F 16/732 20190101AFI20211111BHJP
   H04N 21/235 20110101ALI20211111BHJP
   H04N 21/232 20110101ALI20211111BHJP
   H04N 21/258 20110101ALI20211111BHJP
   H04N 21/458 20110101ALI20211111BHJP
【FI】
   G06F16/732
   H04N21/235
   H04N21/232
   H04N21/258
   H04N21/458
【請求項の数】20
【外国語出願】
【全頁数】42
(21)【出願番号】特願2020-151041(P2020-151041)
(22)【出願日】2020年9月9日
(62)【分割の表示】特願2018-521492(P2018-521492)の分割
【原出願日】2016年7月15日
(65)【公開番号】特開2021-7013(P2021-7013A)
(43)【公開日】2021年1月21日
【審査請求日】2020年10月8日
(31)【優先権主張番号】62/193,351
(32)【優先日】2015年7月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】518016269
【氏名又は名称】インスケイプ データ インコーポレイテッド
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ゼーブ・ノイマイヤー
(72)【発明者】
【氏名】マイケル・コレット
【審査官】 齊藤 貴孝
(56)【参考文献】
【文献】 米国特許出願公開第2014/0201769(US,A1)
【文献】 米国特許出願公開第2013/0071090(US,A1)
【文献】 特表2013−504947(JP,A)
【文献】 特表2010−530685(JP,A)
【文献】 米国特許出願公開第2014/0282671(US,A1)
【文献】 米国特許第08560391(US,B1)
【文献】 米国特許出願公開第2012/0117584(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
H04N 21/235
H04N 21/232
H04N 21/258
H04N 21/458
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに動作を行わせる命令を含む1つまたは複数の非一時的な機械可読記憶媒体であって、前記動作は、
未知のメディアセグメントの1つまたは複数のキューを取得することと、
既知のメディアセグメントの1つまたは複数のキューを取得することと、
前記未知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューと、前記既知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューとの間の一致を判定することと、
前記既知のメディアセグメントに関連付けられたメディアセグメント識別子を取得することと、
コンテンツ置換識別子と、前記既知のメディアセグメントに関連付けられた前記メディアセグメント識別子との間の一致を判定することと、
前記コンテンツ置換識別子をメディアシステムに送ることと、を含み、ここにおいて、前記コンテンツ置換識別子は、メディアコンテンツの置換項目を取得するために前記メディアシステムによって利用可能である、
1つまたは複数の非一時的な機械可読記憶媒体と、
含む、システム。
【請求項2】
前記メディアコンテンツの置換項目は、タイマの満了に応答して前記メディアシステムによって取得可能である、請求項1に記載のシステム。
【請求項3】
前記動作は、
前記メディアコンテンツの置換項目の表現に関連付けられた通知を1つまたは複数のメディアシステムに送ること
をさらに含む、請求項1に記載のシステム。
【請求項4】
前記既知のメディアセグメントと前記未知のメディアセグメントは、ビデオセグメントである、請求項1に記載のシステム。
【請求項5】
前記コンテンツ置換識別子は、広告置換識別子である、請求項1に記載のシステム。
【請求項6】
前記メディアコンテンツの置換項目は、前記広告置換識別子を使用して取得された置換広告である、請求項5に記載のシステム。
【請求項7】
前記メディアコンテンツの置換項目は、前記メディアシステムによってサーバから取得可能である、請求項6に記載のシステム。
【請求項8】
1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに動作を行わせる命令を含む方法であって、前記動作は
未知のメディアセグメントの1つまたは複数のキューを取得することと、
既知のメディアセグメントの1つまたは複数のキューを取得することと、
前記未知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューと、前記既知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューとの間の一致を判定することと、
前記既知のメディアセグメントに関連付けられたメディアセグメント識別子を取得することと、
コンテンツ置換識別子と、前記既知のメディアセグメントに関連付けられた前記メディアセグメント識別子との間の一致を判定することと、
前記コンテンツ置換識別子をメディアシステムに送ることと、を含み、ここにおいて、前記コンテンツ置換識別子は、メディアコンテンツの置換項目を取得するために前記メディアシステムによって利用可能である、
方法。
【請求項9】
前記メディアコンテンツの置換項目は、タイマの満了に応答して前記メディアシステムによって取得可能である、請求項8に記載の方法。
【請求項10】
前記メディアコンテンツの置換項目の表現に関連付けられた通知を1つまたは複数のメディアシステムに送ること
をさらに含む、請求項8に記載の方法。
【請求項11】
前記既知のメディアセグメントと前記未知のメディアセグメントは、ビデオセグメントである、請求項8に記載の方法。
【請求項12】
前記コンテンツ置換識別子は、広告置換識別子である、請求項8に記載の方法。
【請求項13】
前記メディアコンテンツの置換項目は、前記広告置換識別子を使用して取得された置換広告である、請求項12に記載の方法。
【請求項14】
前記メディアコンテンツの置換項目は、前記メディアシステムによってサーバから取得可能である、請求項8に記載の方法。
【請求項15】
1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに動作を行わせる命令を含む非一時的な機械可読記憶媒体であって、前記動作は、
未知のメディアセグメントの1つまたは複数のキューを取得することと、
既知のメディアセグメントの1つまたは複数のキューを取得することと、
前記未知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューと、前記既知のメディアセグメントの前記1つまたは複数のキューのうちの少なくとも1つのキューとの間の一致を判定することと、
前記既知のメディアセグメントに関連付けられたメディアセグメント識別子を取得することと、
コンテンツ置換識別子と、前記既知のメディアセグメントに関連付けられた前記メディアセグメント識別子との間の一致を判定することと、
前記コンテンツ置換識別子をメディアシステムに送ることと、を含み、ここにおいて、前記コンテンツ置換識別子は、メディアコンテンツの置換項目を取得するために前記メディアシステムによって利用可能である、
1つまたは複数の非一時的な機械可読記憶媒体と、
含む、システム。
【請求項16】
前記メディアコンテンツの置換項目は、タイマの満了に応答して前記メディアシステムによって取得可能である、請求項15に記載のシステム。
【請求項17】
前記動作は、
前記メディアコンテンツの置換項目の表現に関連付けられた通知を1つまたは複数のメディアシステムに送ること
をさらに含む、請求項15に記載のシステム。
【請求項18】
前記既知のメディアセグメントと前記未知のメディアセグメントは、ビデオセグメントである、請求項15に記載のシステム。
【請求項19】
前記コンテンツ置換識別子は、広告置換識別子である、請求項15に記載のシステム。
【請求項20】
前記メディアコンテンツの置換項目は、前記広告置換識別子を使用して取得された置換広告である、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]関連出願の相互参照
本出願は、参照によりその開示全体が本明細書に組み入れられる、2015年7月16日に出願された米国仮特許出願第62/193351号の恩典を主張するものである。
【0002】
[0002]本出願は、参照によりその開示全体が本明細書に組み入れられる、2009年5月29日に出願された米国仮特許出願第61/182334号、および2009年12月29日に出願された米国仮特許出願第61/290714号の恩典を主張する、2010年5月27日に出願された米国特許出願第12/788721号、現在の米国特許第8595781(B2)号の継続出願である2014年11月24日に出願された、米国特許出願第14/551933号に関連するものである。
【0003】
[0003]本開示は、メディアシステム(例えば、テレビシステム、コンピュータシステム、またはインターネットに接続することができる他の電子機器)によって表示されたコンテンツの認識に用いられるシステムリソースの管理を改善することに関する。さらに、本開示は、コンテンツを効果的、効率的に識別することにも関する。例えば、探索索引を、コンテンツの識別効率を向上させるように並列に探索されうるバケットに区分するための様々な技術およびシステムが提供される。
【背景技術】
【0004】
[0004]光ファイバおよびデジタル伝送技術の進歩により、テレビ業界は、チャンネル容量を急速に増加させ、よって、何千以上ものオンデマンド番組のチャンネルに加えて何百ものテレビ番組のチャンネルも提供することができるようになっている。全国規模でテレビ受信機をモニタしている自動コンテンツ認識(ACR)システムの観点から見ると、1主要DMA当たり10〜20のローカルチャンネル(米国ではおおよそ100)、合計すると何千もの放送チャンネルおよび何万ものオンデマンドコンテンツが存在することに伴う問題はさらに一層難しくなっている。
【発明の概要】
【課題を解決するための手段】
【0005】
[0005]本発明の実施形態は一般に、テレビシステムの画面上に表示された映像セグメントまたは任意のソースからの音声セグメントを識別するためのシステムおよび方法と、そのような映像セグメントまたは音声セグメントの識別に基づいてメディアシステムにコンテキスト的ターゲットコンテンツを提供するためのシステムおよびモーションに関するものである。本明細書で用いる場合、「メディアシステム」という用語は、テレビシステム、音声システムなどを含むが、それらに限定されない。本明細書で用いる場合、「テレビシステム」という用語は、ウェブTVや接続TV(「スマートTV」としても知られている)などのテレビ、およびセット・トップ・ボックス(STB)、デジタル・ビデオ・ディスク(DVD)・プレーヤ、デジタル・ビデオ・レコーダ(DVR)などの、テレビに組み込まれた、またはテレビと同じ場所に置かれる装置を含むが、それらに限定されない。本明細書で用いる場合、「テレビ信号」という用語は、テレビ番組またはコマーシャルの画像成分および音声成分を提供するように(メタデータありまたはなしで)合わせて放送される映像および音声データを表す信号を含む。本明細書で用いる場合、「メタデータ」という用語は、テレビ信号中の映像/音声データに関する、または関連したデータを意味する。
【0006】
[0006]本発明の実施形態は、スマートTV、ケーブルおよび衛星のセット・トップ・ボックスならびにインターネット接続ネットワーク・メディアプレーヤなどを含むクライアントメディア装置のような未知のソースからのコンテンツ認識の精度向上が得られる自動コンテンツ認識を目的として非常に大量のコンテンツを有利に区分するためのシステムおよび方法を対象とする。本発明はメディアデータのみならず、多次元で同時に探索されなければならない任意の大規模データベースに適用できることが企図されている。
【0007】
[0007]多数のコンテンツソースの負荷の下では、ある特定の索引が情報のより大規模なコレクションの様々なサブセットである(本明細書では「キュー」とも呼ぶ)コンテンツ識別子の複数の索引の作成によって、フォールスポジティブを最小化し、正しいコンテンツ識別を最大化するタスクを著しく改善することができる。これらのグループ化索引は、一例として、TV格付けやソーシャルメディア言及によって決定されるテレビ番組の評判などの様々なパラメータを用いて選択することができる。例えば、より評判のよいチャンネル、おそらくは上位10パーセントを1つの探索索引にグループ化し、残り90パーセントを別の索引にグループ化することができる。別のグループ化は、ローカル・テレビ・チャンネルだけの第3の索引へのコンテンツの分離であり、さらに、第4の例は、オンデマンドを放送コンテンツから分離してオンデマンド索引にすることであろう。さらに別のコンテンツグループは、商業的に重要とみなされ、別個の探索空間に隔離されることによって有益となるはずのコンテンツから導出することができる。関連したコンテンツの任意の適切な分離を用いて本発明の実施形態をさらに利することができるはずである。
【0008】
[0008]コンテンツグループに分離され、索引付け(ハッシュ化)されると、その結果は、「空間」として知られ、通称「バケット」と呼ばれる、16から100までのいずれかの多次元のベクトル空間になる。バケットは個々に探索され、探索結果は、参照によりその全体が本明細書に組み入れられる、米国特許第8595781号に記載される経路追跡プロセスに供給される。経路追跡プロセスは、各バケット内の一致するメディアセグメントを見つけようと試み、同時に、または並列に実行することができる。前記各バケットからの候補は重み付けされ、最も近い一致の映像セグメントを選択する、よって、どの映像セグメントがテレビシステムの画面上に表示されているか識別する最終判断が行われる。特に、結果として得られる、現在視聴されている映像セグメントを識別するデータを用いて、TV視聴者の反応(例えば、宣伝されている製品に関する詳細情報や画面上の俳優の背景情報を要求する)を取り込み、適切に応答することができる。さらに、どの映像セグメントが画面上で表示されているか識別することにより、本発明の中央システムは、様々なデータ分析用途のために現在視聴されているテレビ番組のセンサスを維持することができる。現在の映像セグメントの前記知識の多くの他の用途には、おそらくは、中でも特に、検出されたコマーシャルによる中断の間のより関連性のあるコマーシャルメッセージの置換が含まれるであろう。
【0009】
[0009]いくつかの実施形態によれば、特定の間隔(例えば100ミリ秒)を置いて、画面上に表示されている画素データ(または関連付けられた音声データ)のサブセットをサンプリングし、次いで、コンテンツデータベースにおいて類似した画素(または音声)データを見つけることによって映像セグメントが識別される。他の実施形態によれば、映像セグメントと関連付けられた音声データまたは画像データを抽出し、次いで、コンテンツデータベースにおいて類似した音声データまたは画像データを見つけることによって映像セグメントが識別される。別の実施形態によれば、既知の自動音声認識技術を用いて映像セグメントと関連付けられた音声データを処理することによって映像セグメントが識別される。さらに別の実施形態によれば、映像セグメントと関連付けられたメタデータを処理することによって映像セグメントが識別される。
【0010】
[0010]本発明の実施形態は、インタラクティブ・テレビ・システムにコンテキスト的ターゲットコンテンツを提供するためのシステムおよび方法をさらに対象とする。コンテキストターゲティングは、表示されている映像セグメントの識別のみならず、現在表示されている映像セグメントの特定の部分の再生時間またはオフセット時間に関する決定にも基づくものである。「再生時間」および「オフセット時間」という用語は、本明細書では区別なく用いられ、特定のテレビ番組またはコマーシャルの開始時間など、固定された時点からのオフセットである時間を指す。
【0011】
[0011]より具体的には、本発明の実施形態は、接続TV上で何が再生されているか検出し、再生されているものの主題を推論し、それに応じて視聴者とインタラクションすることができる技術を含む。特に、本明細書で開示する技術は、インタラクティブTVがインターネットを介してサーバから機能を厳密に引き出す限られた能力を克服し、それによって、コンテンツのビデオオンデマンドバージョンへの即時のアクセスを提供できる能力を含み、利用できる場合に、ユーザにコンテンツの高解像度または3Dフォーマットを視聴するオプションを、最初から再生、早送り、一時停止、および巻き戻しできる追加機能と共に提供する新規のビジネスモデルを可能にする。また本発明は、現在のVoD番組に含まれる一部または全部の広告メッセージを、例示にすぎず、それだけに限らないが、視聴者の位置、人口統計群、もしくは買い物履歴に関連してカスタマイズさせることを可能にし、またはある特定のビジネスモデルをサポートするためにコマーシャルの数もしくは長さを削減させ、もしくは完全に削除させることも可能にする。
【0012】
[0012]いくつかの実施形態によれば、画面上に表示されている画素データ(または関連付けられた音声データ)のサブセットをサンプリングし、次いで、コンテンツデータベースにおいて類似した画素(または音声)データを見つけることによって映像セグメントが識別され、オフセット時間が決定される。他の実施形態によれば、映像セグメントと関連付けられた音声データまたは画像データを抽出し、次いで、コンテンツデータベースにおいて類似した音声データまたは画像データを見つけることによって映像セグメントが識別され、オフセット時間が決定される。別の実施形態によれば、既知の自動音声認識技術を用いて映像セグメントと関連付けられた音声データを処理することによって映像セグメントが識別され、オフセット時間が決定される。さらに別の実施形態によれば、映像セグメントと関連付けられたメタデータを処理することによって映像セグメントが識別され、オフセット時間が決定される。
【0013】
[0013]本明細書でより詳細に説明するように、接続TV上で視聴されている映像セグメントを識別し、任意選択で、オフセット時間を決定するためのシステムは、接続TVをその構成要素とするテレビシステムに位置することができる。代替の実施形態によれば、映像セグメントを識別するためのソフトウェアのある部分はテレビシステム上に位置し、別の部分はインターネットを介してテレビシステムに接続されたサーバ上に位置する。
【0014】
[0014]本発明の一実施形態によれば、方法が提供される。本方法は、複数の既知のメディアコンテンツを受信するステップを含む。複数の既知のメディアコンテンツは関連付けられた既知のコンテンツ識別子(すなわち、キュー)を有する。本方法は、複数の既知のメディアコンテンツを第1の索引と第2の索引とに区分するステップと、第1の索引を1つまたは複数の第1のバケットに分離するステップとをさらに含む。第1の索引は、第1の索引内の既知のメディアコンテンツと関連付けられている既知のコンテンツ識別子を用いて第1のバケットに分離される。本方法は、第2の索引を1つまたは複数の第2のバケットに分離するステップをさらに含む。第2の索引は、第2の索引内の既知のメディアコンテンツと関連付けられている既知のコンテンツ識別子を用いて第2のバケットに分離される。本方法は、メディアシステムによって表示されている未知のメディアコンテンツに対応する未知のコンテンツ識別子を受信するステップと、未知のコンテンツ識別子を求めて第1のバケットと第2のバケットとを同時に探索するステップとをさらに含む。本方法は、第1のバケットまたは第2のバケットの中から既知のメディアコンテンツを選択するステップをさらに含む。選択された既知のメディアコンテンツは未知のコンテンツ識別子と関連付けられている。本方法は、未知のメディアコンテンツを既知のメディアコンテンツとして識別するステップをさらに含む。本方法は、コンピュータ上で実施することができる。
【0015】
[0015]本発明の別の実施形態によれば、システムが提供される。本システムは、1つまたは複数のプロセッサを含む。本システムは、1つまたは複数のプロセッサ上で実行されると、1つまたは複数のプロセッサに、上記方法に記載されるステップを含む動作を行わせる命令を含む非一時的な機械可読記憶媒体をさらに含む。
【0016】
[0016]本発明の別の実施形態によれば、コンピューティング機器の非一時的な機械可読記憶媒体において有形に具体化されたコンピュータプログラム製品が提供される。本コンピュータプログラム製品は、1つまたは複数のデータプロセッサに、上記の方法に記載されたステップを行わせるように構成された命令を含む。
【0017】
[0017]使用されている用語および表現は限定ではなく説明の用語として使用されており、そのような用語および表現の使用に際して、図示され、説明されている特徴またはそれらの特徴の部分の均等物を除外することは意図されていない。しかし、特許請求されるシステムおよび方法の範囲内で様々な改変が可能であることが認められる。よって、本発明のシステムおよび方法は、例および任意選択の特徴によって具体的に開示されているが、本明細書で開示される概念の改変および変形も当業者によって用いられうること、ならびにそのような改変および変形は添付の特許請求の範囲によって定義されるシステムおよび方法の範囲内であるとみなされることを理解されたい。
【0018】
[0018]この発明の概要は、特許請求される主題の重要な、または本質的な特徴を識別するためのものではなく、特許請求される主題の範囲を定めるために単独で使用するものでもない。主題は、本特許の明細書全体の適切な部分、任意の、またはすべての図面、および各請求項を参照することによって理解すべきである。
【0019】
[0019]以上については、他の特徴および実施形態と共に、以下の明細書、特許請求の範囲、および添付の図面を参照すればより明らかになるであろう。
【0020】
[0020]下記の図面に関連して以下で本発明の例示的実施形態を詳細に説明する。図面において、類似した参照番号は図面全体を通して類似した構成要素または部分を表す。
【図面の簡単な説明】
【0021】
図1】本発明の実施形態によるメディアシステムによって表示されているメディアコンテンツを識別するための照合システムの一例のブロック図である。
図2】本発明の実施形態による未知のデータ点を識別する照合システムの一例の図である。
図3】本発明の実施形態によるメディア・キャプチャ・システムの一例のブロック図である。
図4】本発明の実施形態によるディスプレイによって提示されたメディアコンテンツを収集するためのシステムの一例のブロック図である。
図5】本発明の実施形態によるキューデータの処理経路を示す図である。
図6】本発明の実施形態による過度にクラスタ化された擬似ランダムプロジェクションを用いてレイアウトされたベクトルマップのグラフプロットである。
図7】本発明の実施形態によるより均一に間隔を置いた擬似ランダムプロジェクションを用いてレイアウトされたベクトルマップのグラフプロットである。
図8】本発明の実施形態によるランダムに生成されたベクトルを中心としないクラスタ化されたキューデータを示す図である。
図9】本発明の実施形態による数学的オフセット関数を用いてランダムに生成されたベクトルを中心とするクラスタ化されたキューデータを示す図である。
図10】本発明の実施形態によって候補一致キューを捜し出すのに用いられる、「バケット」と呼ばれる2つのベクトル間のエリア内の適当な数のキュー点を示すグラフプロットである。
図11】本発明の実施形態によるバケット内の多数のキュー点を示すグラフプロットである。
図12】本発明の実施形態によるメディア照合エンジンに供給される一致候補を求めて探索されるバケットのグラフィック表現である。
図13】本発明の実施形態による、各バケットがメディア照合エンジンに供給する、同時に、または並列に探索することができる異なるサイズのバケットのグラフィック表現である。
図14】本発明の実施形態による、メディアタイプを処理して、別々の出力を生じる個々のメディア照合プロセスによって探索される個々の索引にする、映像キューを処理するためのインタラクティブ・テレビ・システムおよび関連サーバシステムの図である。
図15】本発明の実施形態による、メディアタイプを処理して、別々の出力を生じる個々のメディア照合プロセスによって探索される個々の索引にする、映像キューを処理するための方法の流れ図である。
図16】本発明の実施形態による、メディアタイプを処理して、メディア照合プロセスによって探索される前に組み合わされる個々の索引にする、映像キューを処理するためのインタラクティブ・テレビ・システムおよび関連サーバシステムの図である。
図17】本発明の実施形態による、メディアタイプを処理して、メディア照合プロセスによって探索される前に組み合わされる個々の索引にする、映像キューを処理するための方法の流れ図である。
図18】本発明の実施形態による、メディアタイプを処理して、メディア照合プロセスによって探索される前に個々にタグ付けされ、重み付けされる個々の索引にする、映像キューを処理するためのインタラクティブ・テレビ・システムおよび関連サーバシステムの図である。
図19】本発明の実施形態による、メディアタイプを処理して、メディア照合プロセスによって探索される前に個々にタグ付けされ、重み付けされる個々の索引にする、映像キューを処理するための方法の流れ図である。
図20】本発明の実施形態によるテレビ広告を検出するメディア処理センタの図である。
図21】本発明の実施形態によるテレビ広告を識別するための方法の流れ図である。
図22】本発明の実施形態によるTV広告が置換される広告ブロック(すなわち、広告ポッド)を有する映像セグメントの図である。
図23】本発明の実施形態による映像番組セグメントを検出するメディア処理センタの図である。
図24】本発明の実施形態による、映像番組セグメントを識別し、コンテキスト的関連マルチメディアをオーバレイするための方法の流れ図である。
図25】本発明の実施形態によるオーバレイされたコンテキスト的関連マルチメディアコンテンツを有する映像セグメントの図である。
図26】本発明の実施形態によるオーバレイされたコンテキスト的関連マルチメディアコンテンツありとなしの映像セグメントの図である。
図27】本発明の実施形態による点位置とそれらの周りの経路点とを示す図である。
図28】本発明の実施形態によるクエリ点からある距離内に位置する点の集合を示す図である。
図29】本発明の実施形態による可能な点の値を示す図である。
図30】本発明の実施形態による指数関数的に増加する幅の環に分割された空間を示す図である。
図31】本発明の実施形態による自己交差経路とクエリ点とを示す図である。
図32】本発明の実施形態による3つの連続した点位置とそれらの周りの経路点とを示す図である。
【発明を実施するための形態】
【0022】
[0053]以下の記述では、説明を目的として、本発明の実施形態の十分な理解を提供するために具体的詳細が示されている。しかし、これらの具体的詳細なしでも様々な実施形態が実施されうることは明らかであろう。図および説明は限定のためのものではない。
【0023】
[0054]以下の説明は、例示的実施形態を提供するものにすぎず、本開示の範囲、適用性、または構成を限定するためのものではない。以下の例示的実施形態の説明はむしろ、当業者に、例示的実施形態の実施可能要件を提供するものである。添付の特許請求の範囲に記載されている本発明の趣旨および範囲を逸脱することなく要素の機能および構成の様々な変更を行いうることを理解されたい。
【0024】
[0055]以下の説明では実施形態の十分な理解を提供するために具体的詳細が示されている。しかし、実施形態はこれらの具体的詳細なしでも実施されうることが当業者には理解されるであろう。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、および他の構成要素をブロック図形式の構成要素として示す場合がある。場合によっては、各実施形態を不明瞭にしないように、周知の回路、プロセス、アルゴリズム、構造、および技術を不要な詳細なしで示すこともある。
【0025】
[0056]また、個々の実施形態を、流れ図、フロー図、データフロー図、構造図、またはブロック図として描かれたプロセスとして記述する場合があることにも留意されたい。流れ図は各動作を順次的なプロセスとして記述している場合もあるが、動作の多くは、並列に、または同時に行うことができる。加えて、動作の順序を並べ替えることもできる。プロセスは、その動作が完了したときに打ち切られるが、図には含まれていない追加のステップを有する可能性もある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応させることができる。プロセスが関数に対応する場合、その打ち切りは呼び出した関数またはメイン関数への関数の戻りに対応させることができる。
【0026】
[0057]「機械可読記憶媒体」または「コンピュータ可読記憶媒体」という用語には、可搬型または非可搬型の記憶装置、光記憶装置、ならびに(1つまたは複数の)命令および/またはデータを記憶、収容、または担持することができる様々な他の媒体が含まれるが、これらに限定されない。機械可読記憶媒体またはコンピュータ可読記憶媒体には、データを格納することができ、搬送波および/または無線で、または有線接続上で伝搬する一時的な電子信号を含まない非一時的な媒体が含まれる。非一時的な媒体の例には、磁気ディスクや磁気テープ、コンパクトディスク(CD)やデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスが含まれるが、これらに限定されない。コンピュータプログラム製品には、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令を表すコードセグメントもしくは機械実行可能命令、または命令、データ構造、もしくはプログラム文の任意の組み合わせが含まれる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡し、かつ/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されてよい。情報、引数、パラメータ、データ、または他の情報は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送、または他の伝送技術を含む任意の適切な手段を用いて、受け渡され、転送され、または伝送されてよい。
【0027】
[0058]さらに、各実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードとして実施される場合、必要なタスクを行うプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、機械可読媒体に格納されてよい。(1つまたは複数の)プロセッサは必要なタスクを行うことができる。
【0028】
[0059]図のいくつかに示されるシステムは、様々な構成で提供されうる。いくつかの実施形態では、システムは、システムの1つまたは複数の構成要素がクラウド・コンピューティング・システムとして1つまたは複数のネットワークにわたって分散されている分散システムとして構成される。
【0029】
[0060]光ファイバおよびデジタル伝送技術の進歩により、テレビ業界は、チャンネル容量を急速に増加させ、全国規模で、何千ものテレビ番組のチャンネルおよび何十万ものオンデマンド番組のチャンネルを提供することができるようになっている。何百万ものアクティブなテレビ表示システムをモニタすることと、非常に多くの何千もの放送チャンネルおよび何万ものオンデマンドコンテンツ配信システムを、往々にしてほぼリアルタイムで迅速に識別することを伴う全国的なビジネスモデルをサポートし、これらを商業的に妥当なコンピューティングリソースを利用してサポートすることが、本明細書に記載するシステムおよび方法によって対処するまだ満たされていない課題である。
【0030】
[0061]さらに詳細に後述するように、本開示のある特定の態様および特徴は、未知のデータ点を1つまたは複数の基準データ点と比較することによって未知の映像セグメントを識別することに関するものである。本明細書に記載するシステムおよび方法は、未知の映像セグメントを識別するのに使用される大規模なデータセットの格納および探索の効率を改善する。例えば、これらのシステムおよび方法は、識別を行うのに必要な大規模なデータセットの密度を低減しつつ、未知のデータセグメントの識別を可能にする。この技術は、大量のデータを収集し、操作する任意のシステムに適用することができる。これらのシステムの実例には、自動化されたコンテンツベースの探索システム(例えば、映像関連アプリケーションや他の適切なアプリケーションの自動コンテンツ認識)、MapReduceシステム、Bigtableシステム、パターン認識システム、顔認識システム、分類システム、コンピュータ・ビジョン・システム、データ圧縮システム、クラスタ分析、または任意の他の適切なシステムが含まれる。当業者であれば、本明細書に記載する技術は、未知のデータと比較されるデータを格納する任意の他のシステムに適用できることを理解するであろう。自動コンテンツ認識(ACR)のコンテキストでは、例えば、これらのシステムおよび方法は、照合システムが未知のデータグループと既知のデータグループとの間の関係を探索し、発見するために格納しなければならないデータ量を削減する。
【0031】
[0062]限定ではなく例示にすぎないが、本明細書に記載するいくつかの例では、説明のために自動音声および/または映像コンテンツ認識システムを使用している。しかし、その他のシステムも同じ技術を使用できることを当業者は理解するであろう。
【0032】
[0063]ACRシステムおよび大量のデータを使用する他のシステムの重要な課題となりうるのは、システムが機能するために必要なデータ量を管理することである。もう1つの課題としては、入ってくるコンテンツを照合するための基準として機能する既知のコンテンツのデータベースを構築、維持する必要が含まれる。このようなデータベースを構築し、維持することは、膨大な量(例えば、何百、何千、またはそれ以上)のコンテンツ(例えば、多くの他の潜在的なコンテンツソースの中でも特に全国配信されるテレビ番組やより一層大量のローカルテレビ放送)を収集し、ダイジェストすることを伴う。ダイジェストは、生データ(例えば、映像や音声)を削減して圧縮された、探索可能なデータにする任意の利用可能な技術を用いて行うことができる。24時間、週7日間の動作スケジュールと、格納すべきおそらくは2週間分のコンテンツ(例えば、テレビ番組)のスライド窓とがあれば、ACRを行うのに必要なデータ量を迅速に構築することができる。上述の例示的システムのような、大量のデータを収集し、操作する他のシステムでも類似した課題が提示されうる。
【0033】
[0064]本明細書に記載する中央自動コンテンツ認識(ACR)システムは、リモート・クライアント・テレビ・システム上に現在表示されている映像番組を検出、識別するのに用いられ、ある特定のビジネスモデルをサポートするためにこれをほぼリアルタイムで行うことができる。メディア照合エンジンは、一般にバケットと呼ばれる複数のセグメントに分割されたメディア探索索引(例えば、ハッシュテーブル)を用いる。いくつかの実施形態では、複数の判断要因に基づいて、例えば、全国コンテンツをローカルコンテンツと分離することや、上位10%の評判のよいコンテンツを残り90%のあまり評判のよくないコンテンツから分離することや、放送メディアをオンデマンドメディアから分離することなどによって、キューデータ(例えば、コンテンツ識別子)を処理して独立した索引にする。分離されると、クライアント・テレビ・システムまたは他の装置からの未知のキューデータは中央サーバによって各索引に照らして検査される。1つまたは複数の索引の探索を並列に(すなわち、同時に)行うことができる。各索引のルックアップ(すなわち、探索)の結果は、参照によりその全体が本明細書に組み入れられる、米国特許第8595781(B2)号の経路追跡システムなどのコンテンツ照合システムに並列に適用することができる。
【0034】
[0065]より小さいデータセット(すなわち、バケット)ほどより正確な照合結果をもたらし、よって、コンテンツ照合システムの探索効率を高めることができる。
【0035】
[0066]図1に、未知のコンテンツを識別することができる照合システム100を示す。いくつかの例では、未知のコンテンツは1つまたは複数の未知のデータ点を含むことができる。そのような例では、照合システム100は、未知のデータ点を基準データ点と照合して、未知のデータ点と関連付けられた未知の映像セグメントを識別することができる。基準データ点は基準データベース116に含めることができる。
【0036】
[0067]照合システム100は、クライアント機器102と照合サーバ104とを含む。クライアント機器102は、メディアクライアント106と、入力装置108と、出力装置110と、1つまたは複数のコンテキストアプリケーション126とを含む。メディアクライアント106(テレビシステム、コンピュータシステム、またはインターネットに接続できる他の電子機器を含むことができる)は、映像番組128と関連付けられたデータ(例えば、放送信号、データパケット、他のフレームデータ)を復号することができる。メディアクライアント106は、映像の各フレームの復号されたコンテンツを、映像フレームの画素情報の表示またはさらなる処理に備えて映像フレームバッファに入れることができる。クライアント機器102は、映像信号を受信し、復号することができる任意の電子復号システムとすることができる。クライアント機器102は、映像番組128を受信し、映像情報を映像バッファ(図示せず)に格納することができる。クライアント機器102は、映像バッファ情報を処理し、図3に関連して以下でより詳細に説明する未知のデータ点(「キュー」と呼ぶことができる)を生成することができる。メディアクライアント106は、基準データベース116内の基準データ点と比較するために、未知のデータ点を照合サーバ104に送信することができる。
【0037】
[0068]入力装置108には、メディアクライアント106に要求または他の情報が入力されることを可能にする任意の適切な装置を含むことができる。例えば、入力装置108には、キーボード、マウス、音声認識入力装置、無線機器からの(例えば、リモートコントローラ、モバイル機器、他の適切な無線機器からの)無線入力を受信するための無線インターフェース)、または任意の他の適切な入力装置を含むことができる。出力装置110には、ディスプレイ、無線機器(例えば、モバイル機器や他の適切な無線機器)に無線出力を送信するための無線インターフェース、プリンタ、または他の適切な出力装置など、情報を提示し、またはそれ以外に出力することができる任意の適切な装置を含むことができる。
【0038】
[0069]照合システム100は、最初に既知の映像データソース118からデータサンプルを収集することによって映像セグメントを識別するプロセスを開始することができる。例えば、照合サーバ104は、様々な映像データソース118から基準データベース116を構築し、維持するためにデータを収集する。映像データソース118には、テレビ番組、映画、または任意の他の適切な映像ソースのメディアプロバイダを含むことができる。映像データソース118からの映像データは、無線放送として、ケーブルTVチャンネルとして、インターネットからのストリーミングソースとして、また任意の他の映像データソースから提供することができる。いくつかの例では、照合サーバ104は、後述するように、映像データソース118からの受信映像を、基準データベース116において基準映像データ点を生成、収集するように処理することができる。いくつかの例では、映像データソース118からの映像番組を基準映像番組インジェストシステム(図示せず)によって処理することができ、基準映像番組インジェストシステムは、基準映像データ点を生成し、それらを格納するために基準データベース116に送ることができる。基準データ点は、上述のように、後で未知のデータ点を分析するのに用いられる情報を決定するのに用いることができる。
【0039】
[0070]照合サーバ104は、ある期間(例えば、日数、週数、月数、または任意の他の適切な期間)にわたって受信された映像番組ごとの基準映像データ点を基準データベース116に格納することができる。照合サーバ104は、(例えば、キューまたはキュー値とも呼ばれる基準データ点を含む)テレビ番組サンプルの基準データベース116を構築し、絶えず、または定期的に更新することができる。いくつかの例では、収集されたデータは、周期的な映像フレーム(例えば、5番目ごとの映像フレーム、10番目ごとの映像フレーム、15番目ごとの映像フレーム、他の適切な数のフレーム)からサンプリングされた映像情報の圧縮表現である。いくつかの例では、1フレーム当たりのデータのバイト数(例えば、1フレーム当たり25バイト、50バイト、75バイト、100バイト、または任意の他のバイト数)が番組ソースごとに収集される。25チャンネル、50チャンネル、75チャンネル、100チャンネル、200チャンネル、または任意の他の数の番組ソースなど、任意の数の番組ソースを用いて映像を取得することができる。例示のデータ量を用いると、3日間にわたって24時間に収集される合計データは非常に大きくなる。したがって、実際の基準データ点集合の数を減らすことが、照合サーバ104の記憶負荷を低減させる上で有利である。
【0040】
[0071]メディアクライアント106は、照合サーバ104の照合エンジン112に通信122を送信することができる。通信122は、照合エンジン112が未知のコンテンツを識別することを求める要求を含むことができる。例えば、未知のコンテンツは、1つまたは複数の未知のデータ点を含むことができ、基準データベース116は、複数の基準データ点を含むことができる。照合エンジン112は、未知のデータ点を基準データベース116内の基準データと照合することによって未知のコンテンツを識別することができる。いくつかの例では、未知のコンテンツは、(映像ベースのACRの場合の)ディスプレイによって提示されている未知の映像データ、(MapReduceシステム、Bigtableシステム、または他のデータ・ストレージ・システムの場合の)探索クエリ、(顔認識の場合の)未知の顔の画像、(パターン認識の場合の)未知のパターンの画像、または基準データのデータベースと照合することができる任意の他の未知のデータを含むことができる。基準データ点は、映像データソース118から受信したデータから導出することができる。例えば、映像データソース118から提供された情報からデータ点を抽出することができ、それらのデータ点に索引付けして基準データベース116に格納することができる。
【0041】
[0072]照合エンジン112は、候補決定エンジン114に、基準データベース116から候補データ点を決定するよう求める要求を送信することができる。候補データ点は、未知のデータ点からある決められた距離である基準データ点とすることができる。いくつかの例では、基準データ点と未知のデータ点との距離は、基準データ点の1つまたは複数の画素(例えば、単一の画素、画素群を代表する値(例えば、算術平均値、平均値、中央値、他の値)、または他の適切な数の画素)を、未知のデータ点の1つまたは複数の画素と比較することによって決定することができる。いくつかの例では、基準データ点は、各サンプル位置のところの画素が特定の画素値範囲内にある場合に未知のデータ点からある決められた距離とすることができる。
【0042】
[0073]ある説明例では、画素の画素値は、(赤緑青(RGB)色空間における)赤色値、緑色値、および青色値を含むことができる。このような例では、対応する赤色値、緑色値、および青色値をそれぞれ比較し、各値がある一定の値範囲内(例えば、0〜5値内)にあるようにすることによって、第1の画素(または第1の画素群を表す値)を第2の画素(または第2の画素群を表す値)と比較することができる。例えば、(1)第1の画素の赤色値が第2の画素の赤色値の0〜255の値範囲の5値内(プラスまたはマイナス)にあり、(2)第1の画素の緑色値が第2の画素の緑色値の0〜255の値範囲の5値内(プラスまたはマイナス)にあり、(3)第1の画素の青色値が第2の画素の青色値の0〜255の値範囲の5値内(プラスまたはマイナス)にある場合に、第1の画素を第2の画素と照合することができる。そのような例では、候補データ点は、未知のデータ点に対する近似一致である基準データ点であり、未知のデータ点について(異なるメディアセグメントに関連した)複数の候補データ点が識別されることになる。候補決定エンジン114は、候補データ点を照合エンジン112に返すことができる。
【0043】
[0074]ある候補データ点について、照合エンジン112は、その候補データ点と関連付けられた、候補データ点の導出元である識別された映像セグメントに割り当てられたビンにトークンを付加することができる。対応するトークンを、識別された候補データ点に対応するすべてのビンに追加することができる。(視聴されている未知のコンテンツに対応する)さらに多くの未知のデータ点がクライアント機器102から照合サーバ104によって受信される際に、同様の候補データ点決定プロセスを行うことができ、識別された候補データ点に対応するビンにトークンを付加することができる。ビンのうちの1つだけが視聴されている未知の映像コンテンツのセグメントに対応し、その他のビンは、データ点値が類似しているために(例えば、類似した画素色値を有するために)照合されるが、視聴されている実際のセグメントは対応しない候補データ点に対応する。視聴されている未知の映像コンテンツセグメントのビンには、見られていないセグメントの他のビンよりも多くのトークンが割り当てることになる。例えば、より多くの未知のデータ点が受信されると、ビンに対応するより多数の基準データ点が候補データ点として識別され、より多くのトークンがビンに付加されることになる。ビンに特定の数のトークンが含められると、照合エンジン112は、ビンと関連付けられた映像セグメントが現在クライアント機器102で表示されていると判定することができる映像セグメントは、映像番組全体または映像番組の一部を含むことができる。例えば、映像セグメントは、映像番組、映像番組の場面、映像番組の1つもしくは複数のフレーム、または映像番組の任意の他の部分とすることができる。
【0044】
[0075]図2に、未知のデータを識別するための照合システム200の構成要素を示す。例えば、照合エンジン212は、既知のコンテンツ(例えば、既知のメディアセグメント、探索対象としてデータベースに格納された情報、既知の顔やパターンなど)のデータベースを用いて未知のコンテンツ(例えば、未知のメディアセグメント、探索クエリ、顔の画像やパターンなど)を識別するための照合プロセスを行うことができる。例えば、照合エンジン212は、基準データベース内の基準データ点204のうちの基準データ点と照合されるべき未知のデータコンテンツ202(「キュー」と呼ぶことができる)を受け取る。未知のデータコンテンツ202は、候補決定エンジン214が受け取ることもでき、照合エンジン212から候補決定エンジン214に送ることもできる。候補決定エンジン214は、探索プロセスを実行して、基準データベース内の基準データ点204を探索することによって候補データ点206を識別することができる。一例では、探索プロセスは、(未知のデータコンテンツ202の未知の値からある一定の距離である)近傍値の集合を生成する最近傍探索プロセスを含むことができる。候補データ点206は、照合プロセスを実行して照合結果208を生成するために照合エンジン212に入力される。アプリケーションに応じて、照合結果208には、ディスプレイによって提示されている映像データ、探索結果、顔認識を用いて判定された顔、パターン認識を用いて判定されたパターン、または他の任意の結果を含むことができる。
【0045】
[0076]未知のデータ点(例えば、未知のデータコンテンツ202)の候補データ点206を決定する際に、候補決定エンジン214は、未知のデータ点と基準データベース内の基準データ点204との距離を決定する。未知のデータ点からある一定の距離である基準データ点は、候補データ点206として識別される。いくつかの例では、基準データ点と未知のデータ点との距離を、図1に関連して上述したように、基準データ点の1つまたは複数の画素を未知のデータ点の1つまたは複数の画素と比較することによって決定することができる。いくつかの例では、基準データ点は、各サンプル位置のところの画素が特定の値範囲内にある場合に未知のデータ点からある一定の距離とすることができる。上述したように、候補データ点は、未知のデータ点に対する近似一致である基準データ点であり、近似一致であるため、未知のデータ点について(異なるメディアセグメントに関連した)複数の候補データ点が識別される。候補決定エンジン114は、候補データ点を照合エンジン112に返すことができる。
【0046】
[0077]図3に、復号器のメモリバッファ302を含む映像インジェスト・キャプチャ・システム400の一例を示す。復号器は、照合サーバ104またはメディアクライアント106の一部とすることができる。復号器は、物理的なテレビ表示パネルまたはテレビ表示装置と共に動作せず、またはこれを必要としない場合もある。復号器は、デジタル映像番組を復号し、必要に応じて解読して、テレビ番組の非圧縮ビットマップ表現にすることができる。基準映像データの基準データベース(例えば、基準データベース316)を構築するために、照合サーバ104は、映像フレームバッファから読み出される映像画素の1つまたは複数の配列を取得することができる。映像画素の配列を映像パッチと呼ぶ。映像パッチは、任意の形状またはパターンとすることができるが、この具体例では、水平方向に10画素×垂直方向に10画素を含む、10×10画素配列として説明する。また、この例では、映像フレームバッファの境界内に均等に分布している、映像フレームバッファ内から抽出された25個の画素パッチ位置があるものと仮定する。
【0047】
[0078]図3には画素パッチ割り振りの例(例えば、画素パッチ304)が示されている。上述のように、画素パッチは10×10配列などの画素の配列を含むことができる。例えば、画素パッチ304は10×10の画素配列を含む。画素は、赤色値、緑色値、青色値などの色値を含むことができる。例えば、赤緑青(RGB)色値を有する画素306が示されている。画素の色値は、色ごとに8ビットの2進値で表すことができる。画素の色を表すのに使用できる他の適切な色値には、輝度および彩度(Y、Cb、Cr)の値や任意の他の適切な色値が含まれる。
【0048】
[0079]各画素パッチの算術平均値(または場合によっては平均値)が取られ、結果として得られたデータレコードが作成され、タイムコード(またはタイムスタンプ)でタグ付けされる。例えば、10×10画素パッチ配列ごとに算術平均値が求められ、この場合、25個の表示バッファ位置当たり24ビットのデータが1フレーム当たり合計600ビットの画素情報のために生成される。一例では、画素パッチ304の算術平均値が計算され、これが画素パッチ算術平均値308によって示されている。ある説明例では、タイムコードは、1970年1月1日の午前零時からの総経過時間(何分1秒単位)を表す「エポックタイム」を含むことができる。例えば、画素パッチ算術平均値308はタイムコード412と共にアセンブルされる。エポックタイムは、例えばUnix(登録商標)ベースのシステムを含むコンピューティングシステムで受け入れられている規約である。データレコードにはメタデータと呼ばれる映像番組に関する情報が添付される。メタデータは、番組識別子、番組時間、番組長、任意の他の情報など、番組に関する任意の情報を含むことができる。画素パッチの算術平均値、タイムコード、およびメタデータを含むデータレコードは、「データ点」(「キュー」とも呼ばれる)を形成する。データ点310は、基準映像データ点の一例である。
【0049】
[0080]未知の映像セグメントを識別するプロセスは、基準データベースを作成するのと同様のステップから始まる。例えば、図4に、復号器のメモリバッファ402を含む映像インジェスト・キャプチャ・システム400を示す。映像インジェスト・キャプチャ・システム400は、(例えば、スマートTV、モバイル機器、他のテレビ視聴機器など、インターネット接続テレビモニタ上で)ディスプレイによって提示されたデータを処理するクライアント機器102の一部とすることができる。映像インジェスト・キャプチャ・システム400は、システム300によって基準映像データ点310を作成するために用いられるプロセスと同様の未知の映像データ点410を生成するプロセスを利用することができる。一例では、メディアクライアント106は、照合サーバ104が未知の映像データ点410と関連付けられた映像セグメントを識別するように、未知の映像データ点410を照合エンジン112に送信することができる。
【0050】
[0081]図4に示すように、映像パッチ404は、10×10の画素配列を含むことができる。映像パッチ404は、ディスプレイによって提示されている映像フレームから抽出することができる。映像フレームから複数のこのような画素パッチを抽出することができる。ある説明例では、映像フレームから25個のこのような画素パッチが抽出された場合、その結果は75次元空間内の位置を表す点になる。配列の色値(例えば、RGB色値、Y、Cr、Cb色値など)ごとに、算術平均値(または平均値)を計算することができる。算術平均画素値からデータレコード(例えば、未知の映像データ点410)が形成され、データに現在時刻が添付される。上述の技術を用いて基準データベース116からのデータと照合されるように、照合サーバ104に1つまたは複数の未知の映像データ点を送信することができる。
【0051】
[0082]本発明のいくつかの実施形態によれば、探索されるデータのサイズは前記データのより効率的な探索方法を生み出すように低減される。索引を生成するプロセスのブロック図が図5に示されており、図5では、入ってくる、映像フレーム501の領域の平均画素値の形態のキューがハッシュ関数502によって処理され、データベース510に格納される値503を生成する。データベース510はベクトル508とベクトル509とによって4つのセクションに分割されている。ハッシュ関数502を適用した結果は格納エリアをアドレス指定するのに用いられる。この例では、最上位2ビット505が記憶空間(すなわち、ベクトル空間)を決定し、この場合には、左上象限内のビット10と関連付けられた記憶空間である。残りのビット506はその記憶空間の下位区画をアドレス指定する。この例では、下位6ビット506は、バケット507とも呼ばれる64の下位区画のうちの1つをアドレス指定する。
【0052】
[0083]ACRに適したデータベースをさらに分割するプロセスが図6および図7にさらに示されている。図6には、大規模なメディア・キュー・データベースのアドレス指定での使用に備えてデカルト空間を分割する擬似ランダム生成ベクトルをプロットするためのプロセスが図示されている。一実施形態では、ベクトルはモンテカルロ法で生成される。この例では、擬似ランダムプロセスは、十分均一に分布したベクトル集合をプロットしなかった。これは、ベクトル603とベクトル604との角度差と比較したベクトル601とベクトル602との角度差を調べれば明らかである。
【0053】
[0084]図7では、ベクトル703とベクトル704との角度差と比較したベクトル701とベクトル702との角度差を調べれば、ベクトルがかなり均一に分布していることがわかる。一実施形態では、ベクトルはモンテカルロ法で生成される。このプロセスは、当業者には理解されるように、自動的に、または単に観察によって定量化し、測定することができる。ランダムなプロジェクション集合が見つかった後に、プロセスを繰り返す必要はない。
【0054】
[0085]ACRシステムの記憶探索空間の準備における後続のステップは、代表的なデータサンプルの選択を中心とするようにアドレス空間を正規化することを伴う。図8に、キューデータのデータセット801を代表するベクトル空間に集中していないキューデータのデータセット801を示す。探索空間におけるこのデータのオフセットは、ACRシステムにおいて一致するデータを見つける際の精度の低下をもたらす。したがって、図9に示すように、キューデータ901がベクトル空間に集中するようにデータセットの値にプロセスが適用される。
【0055】
[0086]ACRのためにキューデータのデータセットを最適化する際の別の考慮事項は、データベースの各バケットで見られるデータ密度を考慮することを伴う。例えば、図10には、理想的なデータ密度を表す適当な数のデータ項目1001を含むバケット1002が示されている。対照的に、図11には、過多なデータ項目1101を含むバケット1102を有する別のベクトル空間が示されている。いくつかの実施形態によれば、このプロセスがメディア照合エンジンの一部として用いられる場合、過度に満杯のバケットに遭遇すると、結果の発見は遅延されるが、データが廃棄され、探索が続行される。
【0056】
[0087]図12は、すべての基準データ(例えば、映像データキュー)を、1アドレス空間セグメント当たり単一バケット1201を伴うアドレス指定方式に格納することを伴うシステムの図である。単一バケットの手法は、メディア照合エンジン1202が使用するための候補一致データ(例えば、「被疑点」)を捜し出すための探索空間を提供する。メディアソースの数によっては、多数のバケットが過度に満杯になり、ACRシステムの精度を低下させ、さらにフォールスポジティブな一致が増加し、または一致を見つける機会を逃す結果になる可能性がある。加えて、照合結果生成の遅延をもたらしうるシステム全体の計算負荷が増大し、ある特定の特徴またはビジネスモデルの機能を低下させ、または無効にさえする可能性もある。
【0057】
[0088]本発明の実施形態は、望ましくないバケット満杯の発生を最小化するようにデータ格納を最適化する複数の方法を提供する。例えば、本発明の一実施形態の図が図13に示されている。図13では、複数のバケット1301〜1303を用いて、この説明例では、メディアタイプまたは領域的考慮事項によって分離されたデータの下位区画が表されている。この複数バケットの手法も、メディア照合エンジン1304が使用するための候補一致データを捜し出すための探索空間を提供する。
【0058】
[0089]より効率的な格納のためにデータを分離する具体例として、図14に、ビデオ・オン・デマンド(VoD)・コンテンツ・フィード1401が、キューを抽出し、キューに索引付けし、結果をデータベース1407に格納するインジェストプロセッサ1404に供給されるシステムを示す。同様に、主要テレビフィード1402も、キューを抽出し、キューに索引付けし、結果をデータベース1408に格納するインジェストプロセッサ1405に供給される。テレビ・イベント・フィード1403は、キューを抽出し、キューに索引付けし、結果をデータベース1409に格納するインジェストプロセッサ1406に供給される。VoDコンテンツフィード1401、主要テレビフィード1402、およびテレビ・イベント・フィード1403をまとめて、「既知のコンテンツ」と呼ぶ。テレビ・イベント・フィード1403は、例えば、イベントの正確で、適時な検出を必要とするターゲット広告を目的として図14のシステムによって検出されるべきテレビ広告である。同様に、テレビ・イベント・フィード1403は、やはり正確さとリアルタイム応答を必要とするプロセスである、ある特定の番組場面中に表示されるべきである関連付けられたインタラクティブコンテンツを有する番組も含む。
【0059】
[0090]この例では、各種の番組1401〜1403が、メディアシステム上で表示されている未知のメディア1413と並列に(すなわち、同時に)処理される。しかし、他の実施形態では、番組1401〜1403が未知のメディア1413を受信する前に処理される場合もある。未知のメディア1413はキュー・クローニング・エンジン1414によって複製される。未知のキュー(すなわち、未知のコンテンツ識別子)はその場合、独立したメディア照合エンジン1410〜1412に提供される。メディア照合エンジン1410〜1412は、図1の照合エンジン112と同様のものとすることができる。メディア照合エンジン1410は未知のキューをVoDコンテンツフィード1401と関連付けられたキューと比較する。メディア照合エンジン1411は未知のキューを主要テレビフィード1402と関連付けられたキューと比較する。メディア照合エンジン1412は未知のキューをテレビ・イベント・フィード1403と関連付けられたキューと比較する。各メディア照合エンジン1410〜1412は、1つまたは複数の一致(例えば、1バケットあたり1つの一致)を選択し、それらの一致を結果エンジン1415に提供する。結果エンジン1415は、図1の結果エンジン120と同様のものとすることができる。結果エンジン1415は、一致を累積、処理し、最終結果1416を決定する。最終結果1416は、本明細書でさらに説明するように、データベースに格納され、番組センサスに使用され、かつ/またはコンテキスト的ターゲット情報を提供するのに用いられる。
【0060】
[0091]図14のシステムによって用いられる方法を、図15の流れ図を参照して説明する。ステップ1501で、少なくとも1種類の既知のメディアコンテンツが受信される(例えば、VoDコンテンツフィード1401、主要テレビフィード1402、テレビ・イベント・フィード1403など)。ステップ1502で、インジェストプロセッサ1404〜1406によって生成された既知のメディアコンテンツと関連付けられたキューにハッシュ関数が適用され、既知のキューが索引付けされる。ステップ1503で、ハッシュ化されたキュー索引はそれぞれのデータベース1407〜1409に格納される。
【0061】
[0092]ステップ1504で、未知のメディアコンテンツ1413が受信され、そのキューがキュー・クローニング・エンジン1414によってコピーされ、未知のキューはメディア照合エンジン1410〜1412に提供される。ステップ1506で、収集された被疑点(すなわち、一致)の数は索引のいずれか(例えば、VoDコンテンツフィード1401、主要テレビフィード1402、および/またはテレビ・イベント・フィード1403と関連付けられたキューの索引)の閾値より大きいかどうかが判定される。収集された被疑点の数が閾値より大きい場合、それらの被疑点はステップ1507で廃棄され、方法はステップ1505に戻る。ステップ1507は、例えば、多数の被疑点が多数のフォールスポジティブを含むために行われる。収集された被疑点の数が閾値以下である場合には、ステップ1508で未知のメディア・コンテンツ・キューと既知のメディア・コンテンツ・キューとの間の照合プロセスが実行され、一致する既知のメディアコンテンツの識別が得られる。ステップ1510で、一致する既知のメディアコンテンツの識別に基づいて、イベントがトリガされる(例えば、コンテキスト的ターゲット情報の表示)、統計が集計されるなど、結果が実行される。
【0062】
[0093]ACRシステムを最適化する別の例が図16に示されている。図16では、VoDコンテンツフィード1601、主要テレビフィード1602、およびテレビ・イベント・フィード1603は、インジェストプロセッサ1604〜1606によって別々に処理され(例えば、キューされ、索引付けされ、バケットに分離され)、個々のデータベース1607〜1609に格納される。図16の実施形態は、データを独立してさらに処理する代わりに、バケットを独立してアドレス指定し、次いでそれらをバケット・コンバイナ・エンジン1610で結合する。一実施形態によれば、バケットが過度に満杯である場合、そのバケットは拒絶され、その他のバケットと結合されない。
【0063】
[0094]メディアシステムによって表示されている未知のメディア1613がメディア照合および結果処理エンジン1614に提供される。メディア照合および結果処理エンジン1614は、例えば、照合結果1615を見つけるために、結合されたバケットから、被疑点を抽出し、経路追跡システムを用いて照合プロセスを行う。メディア照合および結果処理エンジン1614は、例えば、図1の照合エンジン112および結果エンジン120と同様のものとすることができる。図16の実施形態は、各バケットが満杯かどうか調べられ、所定の閾値を上回る場合に拒絶された後でバケットが結合されるという点で有利である。図16のシステムは、フィード1601〜1603の独立したデータグループを用いて、精度の向上および処理要件の低減を達成する。
【0064】
[0095]図16のシステムによって用いられる方法を、図17の流れ図を参照して説明する。ステップ1701で、少なくとも1種類の既知のメディアコンテンツが受信される(例えば、VoDコンテンツフィード1601、主要テレビフィード1602、テレビ・イベント・フィード1603など)。ステップ1702で、インジェストプロセッサ1604〜1606によって生成された既知のメディアコンテンツと関連付けられたキューにハッシュ関数が適用され、既知のキューが索引付けされ、バケット化される。ステップ1703で、ハッシュ化されたキュー索引はそれぞれのデータベース1607〜1609に格納される。ステップ1704で、索引はバケット・コンバイナ・エンジン1610によって結合される。
【0065】
[0096]ステップ1705で、未知のメディアコンテンツ1613が受信され、そのキューがコピーされ、未知のキューはメディア照合エンジン1614に提供される。ステップ1706で、メディア照合エンジン1614は結合されたバケットから被疑点を収集し、ステップ1707で既知のキューと未知のキューとの間の照合プロセスを実行して一致を識別する。ステップ1708で、一致する既知のメディアコンテンツの識別に基づいて、イベントがトリガされる(例えば、コンテキスト的ターゲット情報の表示)、統計が集計されるなど、結果が実行される。
【0066】
[0097]本発明の別の実施形態が図18に示されている。図18では、VoDコンテンツフィード1801、主要テレビフィード1802、およびテレビ・イベント・フィード1803は、インジェストプロセッサ1804〜1806によって別々に処理され(例えば、キューされ、索引付けされ、バケットに分離され)、個々のデータベース1807〜1809に格納される。本実施形態によれば、各索引は、索引タグ付けおよび重み付けエンジン1810〜1812によって独立してタグ付けされ、重み付けされる。タグ付けされ、重み付けされ、バケット化されたキューは次いで、バケット・コンバイナ・エンジン1810を用いてそれぞれのタグと結合される。一実施形態によれば、バケットが過度に満杯である場合、そのバケットは拒絶され、その他のバケットと結合されない。
【0067】
[0098]メディアシステムによって表示されている未知のメディア1813がメディア照合および結果処理エンジン1814に提供される。メディア照合および結果処理エンジン1814は、例えば、図1の照合エンジン112および結果エンジン120と同様のものとすることができる。メディア照合および結果処理エンジン1814は、例えば、照合結果1815を見つけるために、結合されたバケットから、被疑点を抽出し、経路追跡システムを用いて照合プロセスを行う。結果1815はさらに、重み付け関数が索引に適用されているという利点を有する。図18の実施形態は、各バケットが満杯かどうか調べられ、所定の閾値を上回る場合に拒絶された後でバケットが結合されるという点で有利である。図18のシステムは、フィード1801〜1803の独立したデータグループを用いることによって、精度の向上および処理要件の低減を達成する。加えて、照合結果のそれぞれの索引に添付されたタグ情報を評価して、照合結果の肯定的な識別時のアクションの優先順位付けを提供することもできる。
【0068】
[0099]図18のシステムによって用いられる方法を、図19の流れ図を参照して説明する。ステップ1901で、少なくとも1種類の既知のメディアコンテンツが受信される(例えば、VoDコンテンツフィード1801、主要テレビフィード1802、テレビ・イベント・フィード1803など)。ステップ1902で、インジェストプロセッサ1804〜1806によって生成された既知のメディアコンテンツと関連付けられたキューにハッシュ関数が適用され、既知のキューが索引付けされ、バケット化される。ステップ1903で、ハッシュ化されたキュー索引はそれぞれのデータベース1807〜1809に格納される。ステップ1904で、索引は索引タグ付けおよび重み付けエンジン1810〜1812によってタグ付けされ、重み付けされる。ステップ1905で、索引はバケット・コンバイナ・エンジン1810によって結合される。
【0069】
[0100]ステップ1906で、未知のメディアコンテンツ1813が受信され、そのキューがコピーされ、未知のキューはメディア照合エンジン1814に提供される。ステップ1907で、メディア照合エンジン1814は結合されたバケットから被疑点を収集し、ステップ1908で既知のキューと未知のキューとの間の照合プロセスを実行して一致を識別する。ステップ1909で、イベントがトリガされる(例えば、コンテキスト的ターゲット情報の表示)、統計が集計されるなど、一致する既知のメディアコンテンツの識別に基づいて結果が実行される。
【0070】
[0101]図20は、本発明の実施形態によるテレビ広告を検出するメディア処理センタ2000の図である。メディア処理センタ2000は、例えば、中央サーバである。メディア処理センタ2000は、テレビインジェスト2001で参加コンテンツソースから基準テレビ番組情報を受信する。テレビ番組は、例えばテレビデータベース2002によって、処理され、格納される。番組は、ケーブルと衛星の両方に基づく多チャンネル映像番組配信事業者(MVPD)によっても、インターネットを介してコンテンツを配信するソースによっても提供されることが企図されている。
【0071】
[0102]このテレビ広告置換の具体例では、図20のシステムは、置換の候補であるテレビ広告などの特殊イベントを検出するために高速映像セグメント検出器2005と併用される第2の基準データベース(すなわち、映像セグメントデータベース2004)を用いる。これらのイベントはイベントマネージャ2006によって検出され、イベントマネージャ2006は候補映像セグメント(例えば、テレビ広告)のリストを維持し、映像セグメントが検出されるとテレビシステム2007に命令を発する。コンテキスト・イベント・マネージャ2008は、コマンドでテレビシステム2007によって実行されるべき命令を受信する。
【0072】
[0103]テレビクライアント2009は、表示しているテレビ番組から、映像または音声またはその両方のメディアキューを抽出する。メディアキューはネットワークを介して、メディア処理センタ2000の映像セグメント照合エンジン2003に送信される。特殊な映像セグメントとの一致が見つかった場合、現在、その映像セグメントを表示しているすべての登録されたテレビに(例えば、コンテキスト・イベント・マネージャ2008を介してテレビシステム2007に)メッセージ2011が発せられる。メッセージ2011を受信すると、コンテキスト・イベント・マネージャ2008は、置換されるべきであるテレビ広告の以前に供給されたアドレスを、置換時刻および持続期間と共に受信する。コンテキスト・イベント・マネージャ2008は次いで、供給開始時刻に2012で置換広告データベース2010をアドレス指定し、置換広告データベース2010は次いでアドレス指定された置換広告2013をテレビシステム2007にストリーミングする。イベントマネージャ2006によって伝えられる置換期間の終了時に、テレビシステム2007は、置換シーケンスの開始時に再生されていた元のテレビ番組に再度切り替わる。
【0073】
[0104]図20のシステムによって用いられる方法を、図21の流れ図を参照して説明する。ステップ2101で、テレビインジェストが受信され、未知の映像セグメントのメディアキューが抽出される。ステップ2102で、未知の映像セグメントのキューは映像セグメントデータベース2103から抽出された既知の映像セグメントのキューに照らして検査される。ステップ2104で、既知の映像セグメントにおいて一致が見つかったかどうかが判定される。一致が見つからなかった場合、方法はループしてステップ2102に戻り、未知の映像セグメントは別の既知の映像セグメントと比較される。一致が見つかった場合、方法はステップ2106に進む。
【0074】
[0105]ステップ2106で、一致する既知の映像セグメントと関連付けられた映像セグメント識別子が、広告置換識別子のデータベース2105に照らして検査される。ステップ2107で、広告置換イベント一致があるかどうか(すなわち、映像セグメント識別子がデータベース2105内の識別子と一致するかどうか)が判定される。一致が見つからなかった場合、方法はループしてステップ2106に戻り、映像セグメント識別子は別の広告置換識別子と比較される。一致が見つかった場合、方法はステップ2108に進む。
【0075】
[0106]ステップ2108で、まもなく放送される置換広告の通知がそれぞれのチャンネルに同調されたすべてのアクティブなテレビシステムに送信される。ステップ2109で、テレビシステムは置換広告の放送までのカウントダウンタイマを開始する。ステップ2110で、タイムアウトが発生しているかどうかが判定される。タイムアウトが発生していない場合、カウントダウンタイマは続行する。タイムアウトが発生している(すなわち、カウントダウンが満了している)場合、置換広告はステップ2111で置換広告サーバまたはデータベース2112から引き出される。ステップ2113で、テレビシステム上で表示されている映像および/または音声は置換広告に切り替わる。ステップ2114で、タイムアウトが発生しているかどうかが判定される。タイムアウトが発生していない場合、置換広告は放送を続行する。タイムアウトが発生している(すなわち、置換広告が終了している)場合、ステップ2115で映像および/または音声はテレビシステム上の元の番組に再度切り替わる。
【0076】
[0107]上述のテレビ広告置換のシステムおよび方法のタイミングをさらに理解するために、図22に、テレビ広告グループ2204(「広告ポッド」2204とも呼ぶ)を伴う、メディア処理センタ(例えば、メディア処理センタ2000)で受信される映像セグメントタイムライン2201を示す。広告ポッド2204は、様々な持続期間の多数の個々のテレビ広告を含む。映像セグメント2201はメディア処理センタ(メディア処理センタ2000)によって処理され、映像照合基準データベースに付加される。2202で30秒の広告が開始し、その後に長短の広告が続き、次いで、2203で15秒の広告が放送される。2205で広告ポッド2204は終了し、番組が再開する。
【0077】
[0108]テレビシステム2007(例えば、一般家庭にある家庭用テレビ)は、メディア処理センタと同じテレビ番組2206を受信する。しかし、テレビ配信ネットワークの構造が原因で、メディア処理センタはテレビ番組を、同じテレビ番組がユーザのテレビ(例えば、テレビシステム2007)で受信される約4〜5秒前に受信する。この遅延を利用すれば、本発明の実施形態によるメディア処理センタには、追加処理の候補となる任意の特定の映像セグメントを検出し、次いで、時刻2208で映像セグメントデータベース2004にイベントが格納されているかどうか判定するのに十分な時間がある。イベントが格納されている場合には、イベントマネージャ2006は命令を供給し、適切な場合には、コンテキスト・イベント・マネージャ2008を介して適格なテレビクライアント(例えば、テレビシステム2007)に追加メディアを提供することができる。コンテキスト・イベント・マネージャ2008は次いで、これに応答して時刻2207で、置換映像セグメント2209bをアドレス指定し、元々放送されていた映像セグメント2209aの代わりにテレビシステム2007上で置換映像セグメントを表示させる。置換映像セグメント2209bは、メディア処理センタの構内の映像サーバからアドレス指定されてもよく、インターネットに接続された任意のサーバからアドレス指定されてもよい。
【0078】
[0109]本発明のさらに別の実施形態では、映像セグメントの検出は、追加情報をトリガしてテレビクライアント2309内で動作しているプロセスから表示させることができる。図23に、多くのサービスの中から、例えば、映像フレーム2309bのキューを既知のコンテンツの既知のキューと比較することによってテレビクライアント2309上で表示されている映像セグメントを検出するメディア処理センタ2300を示す。既知のコンテンツはテレビインジェスト2301によって受信され、キューが抽出され、テレビデータベース2302に格納される。キューは映像セグメント照合エンジン2303によって照合される。次いで照合結果がイベントマネージャ2306に適用される。
【0079】
[0110]一致した映像セグメントの存在下でアクションをトリガするイベントが登録されている場合、例えば、コンテキスト・アセット・データベース2304によって格納されている、グラフィック・オーバレイ・ウィンドウの形態のメディアを供給するために、コンテキスト・アセット・マネージャ2305がアドレス指定される。次いで、グラフィック・オーバレイ・ウィンドウはある特定のタイミング情報と共に、ネットワーク2311を介して、映像セグメントを表示していると検出されている各テレビシステム2307のコンテキスト・イベント・マネージャ2308に送信される。コンテキスト的関連メディアを受信すると、コンテキスト・イベント・マネージャ2308はそのメディアを、例えば、表示エリアの一部分を占有し、通常は現在表示されている映像セグメントの話題に関連している情報を含むオーバレイウィンドウとして表示する。
【0080】
[0111]図23のシステムによって用いられる方法を、図24の流れ図を参照して説明する。ステップ2401で、テレビインジェストが受信され、未知の映像セグメントのメディアキューが抽出される。ステップ2402で、未知の映像セグメントのキューは映像セグメントデータベース2403から抽出された既知の映像セグメントのキューに照らして検査される。ステップ2404で、既知の映像セグメントにおいて一致が見つかったかどうかが判定される。一致が見つからなかった場合、方法はループしてステップ2402に戻り、未知の映像セグメントは別の既知の映像セグメントと比較される。一致が見つかった場合、方法はステップ2406に進む。
【0081】
[0112]ステップ2406で、一致する既知の映像セグメントと関連付けられた映像セグメント識別子が、コンテキスト関連付けメディアのデータベース2405に照らして検査される。ステップ2407で、コンテキスト的関連メディアイベントの一致があるかどうか(すなわち、映像セグメント識別子がデータベース2405内の識別子と一致するかどうか)が判定される。一致が見つからなかった場合、方法はループしてステップ2406に戻り、映像セグメント識別子は別のコンテキスト的関連イベント識別子と比較される。一致が見つかった場合、方法はステップ2408に進む。
【0082】
[0113]ステップ2408で、まもなく放送される映像セグメントの通知がそれぞれのチャンネルに同調されたすべてのアクティブなテレビシステムに送信される。ステップ2409で、テレビシステムは映像セグメントの放送までのカウントダウンタイマを開始する。ステップ2410で、タイムアウトが発生しているかどうかが判定される。タイムアウトが発生していない場合、カウントダウンタイマは続行する。タイムアウトが発生している(すなわち、カウンドダウンが満了している)場合、ステップ2411で、オーバレイ・メディア・データベース2412からのオーバレイメディアがトリガされる。ステップ2413で、オーバレイウィンドウが開き、元の番組上に表示される。ステップ2414で、タイマ終了時に(例えば、30秒の終了時に)、またはセグメント変更トリガ時に(例えば、映像セグメントの終了および新しい映像セグメントの開始時に)オーバレイウィンドウが閉じる。
【0083】
[0114]コンテキスト・メディア・オーバレイ・グラフィックのタイミングが図25に示されている。テレビ番組チャンネル2501がメディア処理センタで受信され、映像セグメントが検出され、基準メディアデータベースに格納される。テレビシステム上でローカルに表示するための関連付けられたコンテキスト的関連メディアを有する映像セグメント2502が検出されると、2506で、同じテレビ番組チャンネル2504を表示している(すなわち、2501と2504とは同じテレビ番組チャンネルを表す)と検出されているテレビシステムに信号が送られる。テレビシステム上での映像セグメント2の開始時に(すなわち、時刻2505aに)、テレビシステムのローカルプロセッサは、メディア処理センタから受信した命令を実行する。命令は、グラフィック・オーバレイ・ウィンドウ(すなわち、補足的テレビコンテンツ2507)を、下にある映像番組に関連した追加情報と共に表示する。補足的テレビコンテンツ2507は、映像セグメント2 2505bの終了まで表示される。
【0084】
[0115]図26の映像フレーム表現で、一実施形態による図25のタイムラインに基づくアクションを示す。図26では、映像セグメント2601が熱帯の島の場面を表示している。映像セグメント2602で、コンテンツ番組編成担当者は、視聴者にその熱帯の島への休暇旅行を予約するための情報を受信するよう勧めるオーバレイウィンドウを表示しようとする。上述のように、映像セグメント2602の開始時である時刻2505に、テレビシステムのプロセッサは、提供された命令に従って、補足情報2604と共にグラフィック・オーバレイ・ウィンドウを表示する。セグメント2505bの終了時に、テレビシステムのプロセッサへの命令により映像オーバレイウィンドウが除去され、遮られていない映像セグメント2603が得られる。
【0085】
[0116]次に、前述した最近傍および経路追跡技術について詳細に説明する。あいまいなキューを用いた映像送信の追跡の一例が与えられているが、この一般概念は、上述の分野など、任意の分野に適用することができる。
【0086】
[0117]効率的な映像追跡のための方法を提示する。多数の映像セグメントが与えられる場合、システムは、所与のクエリ映像入力が、どんなセグメントから、どんな時間オフセットで取得されるか識別できなければならない。セグメントとオフセットを併せて位置と呼ぶ。この方法を映像追跡と呼ぶのは、この方法は、一時停止、早送り、巻き戻し、他のセグメントへの急な切り替え、および未知のセグメントへの切り替えを効率的に検出し、適応させることができなければならないからである。ライブ映像を追跡する前に、データベースが処理される。視覚的キュー(少数の画素値)が、1秒の一定比率ごとにフレームから取得され、専用のデータ構造に入れられる(これもリアルタイムで行うことができることに留意されたい)。映像追跡は、入力映像からキューを連続して受信し、その現在位置に関する信頼値または推定値の集合を更新することによって行われる。各キューは推定値と合致し、または合致せず、新しい証拠を反映するよう調整される。この映像位置が真である信頼度が十分に高い場合、映像位置は正しい位置であると想定される。ごく少数の可能な「被疑点」位置を追跡することによって、これを効率的に行うことができる。
【0087】
[0118]映像追跡のための方法を説明しているが、数学的構造を用いてこの方法を説明し、考察する。この導入部の目的は、読者に2つのドメインを変換するのに必要なツールを提供することである。映像信号は連続するフレームで構成される。各フレームは静止画とみなすことができる。すべてのフレームは画素のラスタである。各画素は、その画素の色の赤、緑、および青(RGB)の構成に対応する3つの強度値からなる。本稿の用語では、キューとは、フレーム内の画素のサブセットのRGB値および対応するタイムスタンプのリストである。キュー内の画素数はフレーム内の画素数よりも大幅に小さく、通常は5〜15の間である。スカラ値の順序付きリストであるため、キュー値は、実際にはベクトルである。このベクトルを点とも呼ぶ。
【0088】
[0119]これらの点は高次元であり、通常は15〜150の間であるが、2次元の点と仮定することができる。その証拠に各説明図を2次元プロットとして示す。次に、映像の進行とそれに対応するキュー点を考察する。通常、時間がわずかに変化すると画素値もわずかに変化する。画素点はフレーム間でわずかに「移動している」とみなすことができる。フレーム間でのこれらのわずかな移動に従い、キューは、ビーズが曲がったワイヤ上をたどるように空間内の経路をたどる。
【0089】
[0120]この例えで言うと、映像追跡では空間内のビーズの位置(キュー点)が受け取られ、ビーズがたどるワイヤ(経路)の部分が探される。これは2つの事実により著しく困難になる。第1に、ビーズはワイヤを正確にたどらず、むしろワイヤからある変化する未知の距離を保つ。第2に、ワイヤはすべて相互に絡み合っている。これらの記述はセクション2で正確に述べられている。以下に記載するアルゴリズムは、これを2つの概念的ステップで行う。キューが受け取られると、アルゴリズムは、キュー点に十分に近いすべての既知の経路上のすべての点を探す。これらを被疑点と呼ぶ。これは、PPLEB(Probabilistic Point Location in Equal Balls(等しいボール内での確率論的点位置決定))アルゴリズムを用いて効率的に行われる。これらの被疑点は履歴データ構造に追加され、各被疑点が真の位置を指示している確率が計算される。このステップは、十分に可能性の低い被疑点位置を除去することも含む。この履歴更新プロセスは、一方ではわずかな履歴だけが保持され、他方では確度の高い位置がすっと削除されないようにする。汎用アルゴリズムはアルゴリズム1で与えられ、図27に例示されている。
【0090】
【表1】
[0121]本明細書では、最初にセクション1でPPLEB(Probabilistic Point Location in Equal Balls)アルゴリズムについて説明する。PPLEBアルゴリズムは、アルゴリズム1の第5行を効率的に行うために用いられる。この被疑点の探索を迅速に行える能力は、この方法の適用性にとって非常に重要である。後のセクション2では、第6行および第7行を行うための1つの可能な統計モデルについて説明する。説明するモデルは、このセットアップのための自然な選択である。またモデルをどのようにして非常に効率的に使用できるかも示す。
【0091】
[0122]セクション1 PPLEB(Probabilistic Point Location in Equal Balls)
【0092】
[0123]以下のセクションでは、PPLEB(Probabilistic Point Location in Equal Balls)を行うための簡単なアルゴリズムについて説明する。従来のPLEB(point location in equal balls)では、1R dおよび半径rの指定されたボールにおける、n個の点の集合xから開始する。アルゴリズムは、効率的なデータ構造を生成するためにO(poly(n))の前処理時間を与えられる。次いで、クエリ点xが与えられた場合、アルゴリズムは、
【数1】
になるようにすべての点xを返す必要がある。
【数2】
になるような点の集合は、幾何学的には、クエリxを取り囲む半径rのボール内に位置する(図28参照)。この関係をx、xに近い、またはx、およびxは近傍であるという。
【0093】
[0124]PPLEBの問題と最近傍探索の問題とは、学界で大きな注目を集めている2つの類似した問題である。実際、これらの問題は計算幾何学の分野で最初に研究されたものであった。周囲の次元が小さいかまたは一定である場合には多くの異なる方法が要求を満たす。これらの方法は、空間を異なるやり方で区分し、各部分を再帰的に探索する。これらの方法には、KDツリー、カバーツリーなどが含まれる。低次元では非常に効率的であるが、周囲の次元が高い場合、これらの方法は非常に不十分にしか機能しない傾向にある。これは「次元の呪い」として知られている。様々な手法が、次元の呪いを克服しつつこの問題を解決しようと試みている。本明細書で用いるアルゴリズムは、アルゴリズムのより単純で高速なバージョンを使用し、局所性鋭敏型ハッシュを利用することができる。
【0094】
[0125]セクション1.1 局所性鋭敏型ハッシュ
【0095】
[0126]局所性鋭敏型ハッシュの方式では、以下になるようなハッシュ関数Hのファミリが考案される。
【数3】
【0096】
[0127]言葉で説明すると、xとyがhによって同じ値にマップされる確率は、xとyとが互いに近い場合には著しく高くなる。
【0097】
[0128]明確にするために、最初に、すべての入力ベクトルが同じ長さr’のものであり、r’>
【数4】
である単純化されたシナリオを扱う。後者の条件の理由は後で明らかになる。最初に、xとyの間の角度に応じてxとyを分離するランダム関数u∈Uを定義する。
【数5】
を単位球Sd−1から一様に選ばれたランダムベクトルとし、u(x)=sign(
【数6】
)とする。Pru−U(u(x))≠u(y))=0x,y/πであることを検証することは容易である。さらに、
【数7】
であるような円上の任意の点x、y、x’、y’について、0x’,y≦20x,yが達成される。pを定義して、以下の式が用いられる。
【数8】
【0098】
[0129]関数Hのファミリは、uのt個の独立したコピーの外積となるように設定され、すなわちh(x)=[u1(x),...,u(x)]である。直観的には、h(x)=h(y)の場合、xとyとが互いに近い可能性が高くなるようにしたい。これを定量化する。最初に、予期されるフォールスポジティブ誤りの数nfpを計算する。これらは、h(x)=h(y)であるが、||x−y||>2rの場合である。nfpが1以下である値tが見つかる。すなわち、1は間違っているとは予期されていない。
E[nft]≦n(1−2p)≦1
→t≧log(1/n)/log(1−2p)
【0099】
[0130]次に、xとyとが近傍である場合のh(x)=h(y)の確率を計算する。
【数9】
【0100】
[0131]ここでは、2p<1でなければならず、これにはr’>
【数10】
が必要であることに留意されたい。これはあまり高い成功確率のようには思われないであろう。確かに、1/
【数11】
は1/2より著しく小さい。次のセクションでは、どのようにしてこの確率を1/2まで上げるかについて説明する。
【0101】
[0132]セクション1.2 点探索アルゴリズム
【0102】
[0133]各関数hは、空間内のすべての点をバケットにマップする。ハッシュ関数hに関連する点xのバケット関数
【数12】
をB(x)≡{x|h(x)=h(x)}として定義する。維持されるデータ構造は、バケット関数のm=O(
【数13】
)個のインスタンス[Bh,…,Bh]である。点xを探索すると、関数は
【数14】
を返す。前セクションによれば、2つの望ましい結果が生じる。
【数15】
【0103】
[0134]言い換えると、少なくとも1/2の確率でxの各近傍が見つかるが、多くの非近傍を見つける可能性は低い。
【0104】
[0135]セクション1.3 異なる半径の入力ベクトルの処理
【0105】
[0136]前セクションでは、同じ長さ、すなわちr’のベクトルを探索することのみを扱った。次に、この構造をビルディングブロックとして用いて異なる半径での探索をどのようにサポートできるかについて説明する。図30に示すように、空間は指数関数的に増加する幅の環に分割される。Rと表記されている環iは、x∈[2r(1+∈),2r(1+∈)i+1]になるようなすべての点xを含む。これを行うことで2つの目的が達成される。第1に、xとxが同じ環に属している場合には、x/(1+∈)≦x≦x(1+∈)である。第2に、いかなる探索もせいぜい1/∈のそのような環で行うことができる。さらに、データセット内の最大長ベクトルがr’である場合には、システム内の環の総数はO(log(r’/r))である。
【0106】
[0137]セクション2 経路追跡問題
【0107】
[0138]経路追跡問題では、空間内の固定経路が、時点列内の粒子の位置と共に与えられる。粒子、キュー、および点という用語は、区別なく用いられる。アルゴリズムは、経路上の粒子の位置を出力する必要がある。これは以下のいくつかの要因、すなわち、粒子は、経路を近似的にたどるにすぎないこと、経路は不連続であり、何度も自己交差する可能性があること、粒子位置と経路位置の両方が(それぞれに異なる)時点列として与えられること、によってより困難になる。
【0108】
[0139]この問題は、任意の数の経路上の粒子の追跡をシミュレートできることに留意することが重要である。これは、各経路を連結して1本の長い経路にし、結果として得られる位置を個々の経路上の位置として解釈することによって簡単に行われる。
【0109】
[0140]より正確には、経路Pをパラメトリック曲線
【数16】
とする。曲線パラメータを時間と呼ぶ。既知である経路上の点は任意の時点tにおいて与えられ、すなわちn対の(t,P(t))が与えられる。粒子は経路をたどるが、その位置は図31に示すように異なる時点において与えられる。さらに、m対の(t’,x(t’))が与えられ、x(t’)は時間t’における粒子の位置である。
【0110】
[0141]セクション2.1 尤度推定
【0111】
[0142]粒子は経路を正確にたどらず、経路は何度も自己交差する可能性があるため、粒子が実際にある経路上の位置を確実に識別することは通常は不可能である。したがって、すべての可能な経路位置上で確率分布が計算される。位置確率の確度が著しく高い場合、粒子位置は既知であると想定される。以下のセクションでは、これを効率的に行う方法について説明する。
【0112】
[0143]粒子が経路をたどっている場合には、粒子のタイムスタンプとP上の対応する点のオフセットとの間の時間差は比較的一定になるはずである。言い換えると、x(t’)が経路上で現在オフセットtにある場合には、x(t’)はP(t)に近いはずである。また、τ秒前には、x(t’)はオフセットt−τにあったはずである。よって、x(t’−τ)はP(t−τ)に近いはずである(粒子が経路と交差しており、x(t’)がP(t)に一時的に近い場合、x(t’−τ)とP(t−τ)も近い可能性は低いことに留意されたい)。相対オフセットをΔ=t−t’と定義する。粒子が経路をたどっている限り、相対オフセットΔは変化しないままであることに留意されたい。すなわち、x(t’)はP(t’+Δ)に近い。
【0113】
[0144]最尤相対オフセットは、以下を計算することによって得られる。
【数17】
【0114】
[0145]言葉で説明すると、最も可能性が高い相対オフセットは、粒子の履歴の可能性が最も高いオフセットである。しかし、この方程式は統計モデルなしでは解くことができない。このモデルは、xが経路をどれほど厳密にたどるか、xが位置間をジャンプする可能性がどれほど高いか、経路および粒子曲線が測定された点間でどれほど滑らかであるか、を定量化しなければならない。
【0115】
[0146]
セクション2.2 時間割引ビニング
【0116】
[0147]次に、尤度関数を推定するための統計モデルについて説明する。このモデルでは、経路からの粒子の逸脱が標準偏差arで正規分布していると仮定する。またこのモデルでは、任意の所与の時点で、粒子が急に別の経路に切り替わるある非ゼロの確率があるとも仮定する。これは、過去の点の時間による指数割引によって明示される。モデル化の観点から合理的な選択であること以外に、このモデルには効率的に更新可能であるという利点もある。ある一定の時間単位1にわたって、尤度関数を、以下のように定義されるfに比例するように設定する。
【数18】
【0117】
[0148]式中、α<<1はスケール係数であり、ζ>0は、粒子が所与の時間単位において経路上のランダムな位置にジャンプする確率である。
【0118】
[0149]関数fの効率的な更新は、以下の簡単な知見を用いて達成することができる。
【数19】
【0119】
[0150]さらに、α<<1であるため、||x(t’)−P(t)||≧rの場合、以下の式が生じる。
【数20】
【0120】
[0151]これは尤度関数の重要な特性である。というのは、合計の更新を、経路全体にわたってではなくx(t’)の近傍にわたってのみ行うことができるようになるからである。Sで、||x(t’)−P(t)||≧rになるような(t,P(t))の集合を表す。以下の式が生じる。
【数21】
【0121】
[0152]これについては以下のアルゴリズム2.2に記載する。項fは、負の整数インデックスも受け取る疎ベクトルとして用いられる。集合Sは、経路上のx(t)のすべての近傍の集合であり、PPLEBアルゴリズムを用いて迅速に計算することができる。x(t)の近傍の数がある定数nnearによって制限される場合には、ベクトルfの非ゼロの数は一定の係数だけ大きいnnear/ζによって制限されることを検証することは容易である。アルゴリズムの最終段階は、
【数22】
がある閾値を上回る場合のδの特定の値を出力することである。
【表2】
【0122】
[0153]図32に、3つの連続した点位置とそれらの周りの経路点とを示す。最下点だけでも中間点だけでも経路の正しい部分を十分に識別できなかったはずであることに留意されたい。しかし、これらの点を併せれば十分に識別できる。最上点を追加すれば、粒子が実際に経路の最終(左)曲線のものである確実性が増す。
【0123】
[0154]図28では、n個の(灰色の)点の集合が与えられた場合、アルゴリズムはクエリ点(黒)を与えられ、クエリ点から距離r内にある点の集合(円内の点)を返す。従来の設定では、アルゴリズムはそのようなすべての点を返さなければならない。確率的設定では、そのような各点がある一定の確率でのみ返されるはずである。
【0124】
[0155]図29に、u(x)、u(x)、およびu(x)の各値を示す。直感的には、関数uは、破線がxとxとの間を通る場合はxとxとに異なる値を与え、そうでない場合は同じ値を与える。破線をランダムな方向に通せば、これが起こる確率は、xとxとの角度に正比例するようになる。
【0125】
[0156]図30に、環Rが半径2r(1+∈)と2r(1+∈)i+1との間にあるように空間を環に分割することによって、環内の任意の2つのベクトルが最大(1+∈)因子まで同じ長さであり、任意の探索がせいぜい1/∈環において行われることを確実にできることを示す。
【0126】
[0157]図31に、自己交差経路とクエリ点(黒)とを示す。粒子位置の履歴がなければ、粒子が経路上のどこにあるか知ることは不可能であることが例示されている。
【0127】
[0158]図32に、3つの連続した点位置とそれらの周りの経路点とを示す。x(t)だけでもx(t)だけでも経路の正しい部分を十分に識別できなかったはずであることに留意されたい。しかし、これらの点を併せれば十分に識別できる。x(t)を追加すれば、粒子が実際に経路の最終(左)曲線のものである確実性が増す。
【0128】
[0159]要約すると、本発明の実施形態は、基準データ(すなわち、既知のメディアコンテンツ)を、独立して、並行して、同時に、または組み合わせて探索することができる複数の基準データベースに分割することによってメディア照合および識別プロセスを改善する。探索プロセスの結果は次いで、最終結果を得るために重み付けし、得点をつけることができる。
【0129】
[0160]本明細書ではテレビ番組のリアルタイム識別に関連して説明されているが、本明細書に記載するシステムおよび方法は、データセットを好ましいサブセットに区分することによって多次元探索を高度化することができる任意の「ビッグデータ」問題に適用されることが企図されている。さらに、本明細書ではおおむね映像データおよびグラフィック表示に関するものとして説明されているが、本明細書に記載するシステムおよび方法は、音声データおよび可聴表示に関しても同様に使用されることが企図されている。例えば、ある特定の実施形態では置換音声データが提供される。
【0130】
[0161]具体的な要件に応じて大幅な変更がなされてもよい。例えば、カスタマイズされたハードウェアが使用されてもよく、かつ/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方で実装されてもよい。さらに、他のアクセスまたはネットワーク入力装置/出力装置などのコンピューティング機器への接続が用いられてもよい。
【0131】
[0162]以上の明細書では、本発明の態様がその具体的実施形態に関連して説明されているが、本発明はそれらだけに限定されないことを当業者は理解するであろう。上述の発明の様々な特徴および態様は、個別に用いられても一緒に用いられてもよいさらに、本明細書の幅広い趣旨および範囲から逸脱することなく、本明細書に記載した以外の任意の数の環境および用途において各実施形態を利用することができる。したがって、本明細書および図面は、限定ではなく例示とみなすべきである。
【0132】
[0163]以上の説明では、例示を目的として、方法を特定の順序で記載した。別の実施形態では、方法は記載した順序と異なる順序で行われてもよいことを理解されたい。また、上述の方法は、ハードウェア構成要素によって行われてもよく、機械実行可能命令でプログラムされた汎用または専用プロセッサや論理回路などの機械に方法を行わせるのに用いられる機械実行可能命令のシーケンスとして具体化されてもよいことも理解されたい。これらの機械実行可能命令は、CD−ROMや他の種類の光ディスク、フロッピー(登録商標)ディスケット、ROM、RAM、EPROM、EEPROM(登録商標)、磁気カードや光カード、フラッシュメモリ、または電子命令を格納するのに適した他の種類の機械可読媒体など、1つまたは複数の機械可読媒体に格納されていてよい。あるいは、これらの方法は、ハードウェアとソフトウェアの組み合わせによって行われてもよい。
【0133】
[0164]構成要素がある特定の動作を行うように構成されているものとして記述される場合、そのような構成は、例えば、その動作を行う電子回路または他のハードウェアを設計することによって、その動作を行うプログラマブル電子回路(例えば、マイクロプロセッサや他の適切な電子回路)をプログラムすることによって、またはそれらの任意の組み合わせによって実現することができる。
【0134】
[0165]本明細書では本出願の例示的実施形態を記載したが、本発明の概念は、それ以外にも様々に具体化され、用いられること、および添付の特許請求の範囲は、先行技術による限定を除いて、そうした変形を含むものと解釈すべきであることを理解されたい。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔1〕
1または複数のプロセッサと、
前記1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに動作を行わせる命令を含む1つまたは複数の非一時的な機械可読記憶媒体であって、前記動作は、
関連付けられた既知のコンテンツ識別子を有する複数の既知のメディアコンテンツを受信する動作と、
前記複数の既知のメディアコンテンツを第1の索引と第2の索引とに区分する動作と、
前記第1の索引を1つまたは複数の第1のバケットに分離する動作であって、前記第1の索引は、前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子を用いて第1のバケットに分離される、前記第1の索引を1つまたは複数の第1のバケットに分離する前記動作と、
前記第2の索引を1つまたは複数の第2のバケットに分離する動作であって、前記第2の索引は、前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子を用いて第2のバケットに分離される、前記第2の索引を1つまたは複数の第2のバケットに分離する前記動作と、
メディアシステムによって表示されている未知のメディアコンテンツに対応する未知のコンテンツ識別子を受信する動作と、
前記未知のコンテンツ識別子を求めて前記第1のバケットと前記第2のバケットとを同時に探索する動作と、
前記第1のバケットまたは前記第2のバケットの中から既知のメディアコンテンツを選択する動作であって、前記選択された既知のメディアコンテンツは前記未知のコンテンツ識別子と関連付けられている、既知のメディアコンテンツを選択する前記動作と、
前記未知のメディアコンテンツを前記選択された既知のメディアコンテンツとして識別する動作と
を含む、前記1つまたは複数の非一時的な機械可読記憶媒体と
を含む、システム。
〔2〕
前記複数の既知のメディアコンテンツは、前記既知のメディアコンテンツのパラメータを用いて前記第1の索引と前記第2の索引とに区分される、〔1〕に記載のシステム。
〔3〕
前記動作は、
前記選択された既知のメディアコンテンツと関連付けられたコンテキスト的ターゲットデータを取得する動作と、
前記コンテキスト的ターゲットデータを表示のために前記メディアシステムに送信する動作と
をさらに含む、〔1〕に記載のシステム。
〔4〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられたメタデータを含む、〔1〕に記載のシステム。
〔5〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられた画素データを含む、〔1〕に記載のシステム。
〔6〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられた音声データを含む、〔1〕に記載のシステム。
〔7〕
前記未知のコンテンツ識別子を求めて前記第1のバケットと前記第2のバケットとを探索する前記動作は、前記第1のバケット内の前記既知のメディアコンテンツと前記第2のバケット内の前記既知のメディアコンテンツとに音声認識技術を適用する動作を含む、〔6〕に記載のシステム。
〔8〕
前記動作は、
前記未知のコンテンツ識別子を用いて前記選択された既知のメディアコンテンツ内のオフセット時間を決定する動作であって、前記オフセット時間は前記メディアシステムによって表示されている前記未知のメディアコンテンツに対応する、前記選択された既知のメディアコンテンツ内のオフセット時間を決定する前記動作
をさらに含む、〔1〕に記載のシステム。
〔9〕
前記第1の索引を1つまたは複数の第1のバケットに分離する前記動作は、前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子をハッシュ化する動作を含み、前記第2の索引を1つまたは複数の第2のバケットに分離する前記動作は、前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子をハッシュ化する動作を含む、〔1〕に記載のシステム。
〔10〕
前記動作は、
前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記ハッシュ化された既知のコンテンツ識別子を正規化する動作と、
前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記ハッシュ化された既知のコンテンツ識別子を正規化する動作と
をさらに含む、〔9〕に記載のシステム。
〔11〕
前記動作は、
前記1つまたは複数の第1のバケットのうちの第1のバケット内の既知のメディアコンテンツの量が閾値を上回っていると判定する動作と、
前記第1のバケットを廃棄する動作と
をさらに含む、〔1〕に記載のシステム。
〔12〕
関連付けられた既知のコンテンツ識別子を有する複数の既知のメディアコンテンツを受信するステップと、
前記複数の既知のメディアコンテンツを第1の索引と第2の索引とに区分するステップと、
前記第1の索引を1つまたは複数の第1のバケットに分離するステップであって、前記第1の索引は、前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子を用いて第1のバケットに分離される、前記第1の索引を1つまたは複数の第1のバケットに分離する前記ステップと、
前記第2の索引を1つまたは複数の第2のバケットに分離するステップであって、前記第2の索引は、前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子を用いて第2のバケットに分離される、前記第2の索引を1つまたは複数の第2のバケットに分離する前記ステップと、
メディアシステムによって表示されている未知のメディアコンテンツに対応する未知のコンテンツ識別子を受信するステップと、
前記未知のコンテンツ識別子を求めて前記第1のバケットと前記第2のバケットとを同時に探索するステップと、
前記第1のバケットまたは前記第2のバケットの中から既知のメディアコンテンツを選択するステップであって、前記選択された既知のメディアコンテンツは前記未知のコンテンツ識別子と関連付けられている、既知のメディアコンテンツを選択する前記ステップと、
前記未知のメディアコンテンツを前記選択された既知のメディアコンテンツとして識別するステップと
を含む、方法。
〔13〕
前記複数の既知のメディアコンテンツは、前記既知のメディアコンテンツのパラメータを用いて前記第1の索引と前記第2の索引とに区分される、〔12〕に記載の方法。
〔14〕
前記選択された既知のメディアコンテンツと関連付けられたコンテキスト的ターゲットデータを取得するステップと、
前記コンテキスト的ターゲットデータを表示のために前記メディアシステムに送信するステップと
をさらに含む、〔12〕に記載の方法。
〔15〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられたメタデータを含む、〔12〕に記載の方法。
〔16〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられた画素データを含む、〔12〕に記載の方法。
〔17〕
前記未知のコンテンツ識別子は、前記未知のメディアコンテンツと関連付けられた音声データを含む、〔12〕に記載の方法。
〔18〕
前記未知のコンテンツ識別子を求めて前記第1のバケットと前記第2のバケットとを探索するステップは、前記第1のバケット内の前記既知のメディアコンテンツと前記第2のバケット内の前記既知のメディアコンテンツとに音声認識技術を適用するステップを含む、〔17〕に記載の方法。
〔19〕
前記未知のコンテンツ識別子を用いて前記選択された既知のメディアコンテンツ内のオフセット時間を決定するステップであって、前記オフセット時間は前記メディアシステムによって表示されている前記未知のメディアコンテンツに対応する、前記選択された既知のメディアコンテンツ内のオフセット時間を決定する前記ステップ
をさらに含む、〔12〕に記載の方法。
〔20〕
前記第1の索引を1つまたは複数の第1のバケットに分離する前記ステップは、前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子をハッシュ化するステップを含み、前記第2の索引を1つまたは複数の第2のバケットに分離する前記ステップは、前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記既知のコンテンツ識別子をハッシュ化するステップを含む、〔12〕に記載の方法。
〔21〕
前記第1の索引内の前記既知のメディアコンテンツと関連付けられている前記ハッシュ化された既知のコンテンツ識別子を正規化するステップと、
前記第2の索引内の前記既知のメディアコンテンツと関連付けられている前記ハッシュ化された既知のコンテンツ識別子を正規化するステップと
をさらに含む、〔20〕に記載の方法。
〔22〕
前記1つまたは複数の第1のバケットのうちの第1のバケット内の既知のメディアコンテンツの量が閾値を上回っていると判定するステップと、
前記第1のバケットを廃棄するステップと
をさらに含む、〔12〕に記載の方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32