(57)【要約】  自動コンテンツ認識によるコールドマッチングのための方法が、放送メディアストリーム（ＳB、ＳC）の放送フレーム（Ｆ1〜n）を示す放送フィンガープリント（２２２ａ）を受け取るステップを含む。この方法は、対応するメディア装置（３０）におけるメディア装置ストリーム（ＳD）のメディア装置フレーム（ＦD1〜n）を示すメディア装置フィンガープリント（２２２ｂ）を受け取るステップも含む。方法は、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロック（３２４）が、少なくとも１つの放送フィンガープリントとの一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリントを含んでいると判定するステップをさらに含む。一致相関は、ピアソンの相関係数に基づく。方法は、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを一致メディア装置フレーム（ＦMD）に対応するものとして識別するステップも含む。【選択図】図１Ａ
2020533918.tif 000002
【特許請求の範囲】
【請求項１】
データ処理ハードウェア（２１２）において、放送メディアストリーム（ＳB、ＳC）の放送フレーム（Ｆ1〜n）を示す放送フィンガープリント（２２２ａ）を受け取るステップと、
前記データ処理ハードウェア（２１２）において、対応するメディア装置（３０）におけるメディア装置ストリーム（ＳD）のメディア装置フレーム（ＦD1〜n）を示すメディア装置フィンガープリント（２２２ｂ）を受け取るステップと、
前記データ処理ハードウェア（２１２）が、前記メディア装置ストリーム（ＳD）のシーケンシャルメディア装置フレーム（ＦDn+1、ＦD1〜n）に対応する複数の前記メディア装置フィンガープリント（２２２ｂ）を含む探索ブロック（３２４）が、少なくとも１つの放送フィンガープリント（２２２ａ）とのピアソンの相関係数に基づく一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を含んでいると判定するステップと、
前記データ処理ハードウェア（２１２）が、前記少なくとも１つの放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を一致メディア装置フレーム（ＦMD）に対応するものとして識別するステップと、
を含むことを特徴とする方法。
【請求項２】
前記データ処理ハードウェア（２１２）が、複数の放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいるかどうかを判定するステップと、
複数の放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいる場合、
前記データ処理ハードウェア（２１２）が、前記探索ブロック（３２４）の前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）に対応する、各放送フィンガープリント（２２２ａ）が前記放送メディアストリーム（ＳB、ＳC）のシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセット（２２２ａset）を決定するステップと、
前記データ処理ハードウェア（２１２）が、前記一致相関（３２２）を前記探索ブロック（３２４）と前記放送フィンガープリントセット（２２２ａset）との間のピアソンの相関係数として決定するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記データ処理ハードウェア（２１２）が、前記放送フィンガープリントセット（２２２ａset）の一致放送フィンガープリント（２２２ａM）との間に最大のピアソンの相関係数を有する前記探索ブロック（３２４）の前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）の前記メディア装置フィンガープリント（２２２ｂ）に対応する前記メディア装置フレーム（ＦD）を一致メディア装置フレーム（ＦMD）として決定するステップをさらに含む、
請求項２に記載の方法。
【請求項４】
各フィンガープリント（２２２）は、前記対応するメディアストリーム（Ｓ）の前記フレーム（Ｆ）の少なくとも１つのピクセル値（Ｖp）を表す、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
各フィンガープリント（２２２）は、対応するフレーム（Ｆ）のグレースケール値の合計を表す平均ピクセル値（Ｖp）である、
請求項１から４のいずれか１項に記載の方法。
【請求項６】
各フィンガープリント（２２２）は、対応するフレーム（Ｆ）内のサブフレーム（Ｆsub）の複数の平均ピクセル値（Ｖp）を表す、
請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記対応するフレーム（Ｆ）の各フィンガープリント（２２２）は、前記対応するフレーム（Ｆ）の４×４配列を定める１６個のサブフレーム（Ｆsub）の各平均ピクセル値（Ｖp）に対応する１６個の整数ベクトルとして表される、
請求項６に記載の方法。
【請求項８】
前記放送フレーム（Ｆ1〜n）は前記放送メディアストリーム（ＳB、ＳC）の第１の期間（ｔ１）に対応し、前記メディア装置フレーム（ＦD1〜n）は前記メディア装置ストリーム（ＳD）の第２の期間（ｔ２）に対応し、前記第１の期間（ｔ１）は前記第２の期間（ｔ２）よりも長い、
請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記データ処理ハードウェア（２１２）が、前記一致メディア装置フレーム（ＦMD）を、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む、
請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記少なくとも１つの放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいると判定するステップは、前記データ処理ハードウェア（２１２）が、前記探索ブロック（３２４）と複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含み、前記データベース構造は二分探索木である、
請求項１から９のいずれか１項に記載の方法。
【請求項１１】
データ処理ハードウェア（２１２）と、
前記データ処理ハードウェアと通信するメモリハードウェア（２１４）と、
を備えたシステムであって、前記メモリハードウェア（２１４）は命令を記憶しており、該命令は、前記データ処理ハードウェア（２１２）上で実行された時に、前記データ処理ハードウェア（２１２）に、
放送メディアストリーム（ＳB、ＳC）の放送フレーム（Ｆ1〜n）を示す放送フィンガープリント（２２２ａ）を受け取るステップと、
対応するメディア装置（３０）におけるメディア装置ストリーム（ＳD）のメディア装置フレーム（ＦD1〜n）を示すメディア装置フィンガープリント（２２２ｂ）を受け取るステップと、
前記メディア装置ストリーム（ＳD）のシーケンシャルメディア装置フレーム（ＦDn+1、ＦD1〜n）に対応する複数の前記メディア装置フィンガープリント（２２２ｂ）を含む探索ブロック（３２４）が、少なくとも１つの放送フィンガープリント（２２２ａ）との、ピアソンの相関係数に基づく一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を含んでいると判定するステップと、
前記少なくとも１つの放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を一致メディア装置フレーム（ＦMD）に対応するものとして識別するステップと、
を含む動作を実行させる、ことを特徴とするシステム。
【請求項１２】
前記動作は、
複数の放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいるかどうかを判定するステップと、
複数の放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいる場合、
前記探索ブロック（３２４）の前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）に対応する、各放送フィンガープリント（２２２ａ）が前記放送メディアストリーム（ＳB、ＳC）のシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセット（２２２ａset）を決定するステップと、
前記一致相関（３２２）を前記探索ブロック（３２４）と前記放送フィンガープリントセット（２２２ａset）との間のピアソンの相関係数として決定するステップと、
をさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記動作は、前記放送フィンガープリントセット（２２２ａset）の一致放送フィンガープリント（２２２ａM）との間に最大のピアソンの相関係数を有する前記探索ブロック（３２４）の前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）の前記メディア装置フィンガープリント（２２２ｂ）に対応する前記メディア装置フレーム（ＦD）を一致メディア装置フレーム（ＦMD）として決定するステップをさらに含む、
請求項１２に記載のシステム。
【請求項１４】
各フィンガープリント（２２２）は、前記対応するメディアストリーム（Ｓ）の前記フレーム（Ｆ）の少なくとも１つのピクセル値（Ｖp）を表す、
請求項１１から１３のいずれか１項に記載のシステム。
【請求項１５】
各フィンガープリント（２２２）は、対応するフレーム（Ｆ）のグレースケール値の合計を表す平均ピクセル値（Ｖp）である、
請求項１１から１４のいずれか１項に記載のシステム。
【請求項１６】
各フィンガープリント（２２２）は、対応するフレーム（Ｆ）内のサブフレーム（Ｆsub）の複数の平均ピクセル値（Ｖp）を表す、
請求項１１から１５のいずれか１項に記載のシステム。
【請求項１７】
前記対応するフレーム（Ｆ）の各フィンガープリント（２２２）は、前記対応するフレーム（Ｆ）の４×４配列を定める１６個のサブフレーム（Ｆsub）の各平均ピクセル値（Ｖp）に対応する１６個の整数ベクトルとして表される、
請求項１６に記載のシステム。
【請求項１８】
前記放送フレーム（Ｆ1〜n）は前記放送メディアストリーム（ＳB、ＳC）の第１の期間（ｔ１）に対応し、前記メディア装置フレーム（ＦD1〜n）は前記メディア装置ストリーム（ＳD）の第２の期間（ｔ２）に対応し、前記第１の期間（ｔ１）は前記第２の期間（ｔ２）よりも長い、
請求項１１から１７のいずれか１項に記載のシステム。
【請求項１９】
前記動作は、前記一致メディア装置フレーム（ＦMD）を、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む、
請求項１１から１８のいずれか１項に記載のシステム。
【請求項２０】
前記少なくとも１つの放送フィンガープリント（２２２ａ）との前記一致相関（３２２）を有する前記少なくとも１つのメディア装置フィンガープリント（２２２ｂ）を前記探索ブロック（３２４）が含んでいると判定する前記動作は、前記探索ブロック（３２４）と複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含み、前記データベース構造は二分探索木である、
請求項１１から１９のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動コンテンツ認識に関し、具体的には、自動コンテンツ認識によるコールドマッチングに関する。
【背景技術】
【０００２】
今日ではメディア装置がますます一般的になってきており、テレビなどの家庭内に欠かせないものからメディアの消費者と共に移動するモバイル装置にまで及ぶことができる。テレビ、セットトップボックス、携帯電話機、ラップトップ及びタブレットなどのメディア装置は、様々なソースからのメディアコンテンツにアクセスしてこれらを検索することができる。例えば、メディア装置は、衛星、無線放送、或いは有線又は無線接続からのストリーミングシステムを介してメディアコンテンツを受け取ることができる。メディア装置の使用が増加し続けるにつれ、メディア装置がメディアコンテンツに接続することも増えた。この増加とともに新たなメディアコンテンツ市場が出現し、古いメディアコンテンツ市場は、メディア消費者とコンテキスト的に関連するメディアコンテンツを理解して提供するように適応してきた。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の１つの態様は、自動コンテンツ認識によるコールドマッチングのための方法を提供する。この方法は、データ処理ハードウェアにおいて、放送メディアストリームの放送フレームを示す放送フィンガープリントを受け取るステップを含む。方法は、データ処理ハードウェアにおいて、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントを受け取るステップも含む。方法は、データ処理ハードウェアが、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを含んでいると判定するステップをさらに含む。一致相関は、ピアソンの相関係数に基づく。方法は、データ処理ハードウェアが、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップも含む。
【０００４】
本開示の実装は、以下の任意の特徴うちの１つ又は２つ以上を含むことができる。いくつかの実装では、方法が、複数の放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいるかどうかをデータ処理ハードウェアが判定するステップを含む。複数の放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、方法は、データ処理ハードウェアが、探索ブロックの少なくとも１つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定するステップと、データ処理ハードウェアが、一致相関を探索ブロックと放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップとを含む。方法は、データ処理ハードウェアが、放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する探索ブロックの少なくとも１つのメディア装置フィンガープリントのメディア装置フィンガープリントに対応するメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む。
【０００５】
方法の様々な実装では、方法の各フィンガープリントが、対応するメディアストリームのフレームの少なくとも１つのピクセル値、対応するフレームのグレースケール値の合計を表す平均ピクセル値、又は対応するフレーム内のサブフレームの複数の平均ピクセル値を表す。いくつかの例では、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す各フィンガープリントが、対応するフレームの４×４配列を定める１６個のサブフレームの各平均ピクセル値に対応する１６個の整数ベクトルとして表される。
【０００６】
方法のいくつかの実装では、放送フレームが放送メディアコンテンツの第１の期間に対応し、メディア装置フレームがメディア装置コンテンツの第２の期間に対応する。第１の期間は、第２の期間よりも長い。方法は、データ処理ハードウェアが、一致メディア装置フレームを、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む。方法は、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、データ処理ハードウェアが、探索ブロックと複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含むことができる。データベース構造は、二分探索木である。
【０００７】
本開示の別の態様は、自動コンテンツ認識によるコールドマッチングのためのシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行された時にデータ処理ハードウェアに動作を実行させる命令を記憶する。これらの動作は、放送メディアストリームの放送フレームを示す放送フィンガープリントを受け取るステップと、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントを受け取るステップとを含む。動作は、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを含んでいると判定するステップも含む。一致相関は、ピアソンの相関係数に基づく。動作は、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップをさらに含む。
【０００８】
いくつかの実装では、動作が、複数の放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいるかどうかを判定するステップをさらに含む。複数の放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、動作は、探索ブロックの少なくとも１つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定するステップと、一致相関を探索ブロックと放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップとを含む。動作は、放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する探索ブロックの少なくとも１つのメディア装置フィンガープリントのメディア装置フィンガープリントに対応するメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む。
【０００９】
システムの様々な実装では、方法の各フィンガープリントが、対応するメディアストリームのフレームの少なくとも１つのピクセル値、対応するフレームのグレースケール値の合計を表す平均ピクセル値、又は対応するフレーム内のサブフレームの複数の平均ピクセル値を表す。いくつかの例では、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す各フィンガープリントが、対応するフレームの４×４配列を定める１６個のサブフレームの各平均ピクセル値に対応する１６個の整数ベクトルとして表される。
【００１０】
システムは、放送メディアコンテンツの第１の期間に対応する放送フレームと、メディア装置コンテンツの第２の期間に対応するメディア装置フレームとを含むこともできる。第１の期間は、第２の期間よりも長い。いくつかの実装では、動作が、一致メディア装置フレームを、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む。
【００１１】
いくつかの例では、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、動作が、探索ブロックと複数の放送フィンガープリントによって定義されるデータベース構造とを比較するステップをさらに含み、データベース構造は二分探索木である。
【００１２】
添付図面及び以下の説明に、本開示の１又は２以上の実装の詳細を示す。これらの説明及び図面、並びに特許請求の範囲からは、他の態様、特徴及び利点も明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１Ａ】自動コンテンツ認識環境例の概略図である。
【図１Ｂ】自動コンテンツ認識環境例の概略図である。
【図２】自動コンテンツ認識環境のサーバ例の概略図である。
【図３Ａ】メディア装置に対応する照合器例の透視図である。
【図３Ｂ】メディア装置に対応する照合器例の透視図である。
【図３Ｃ】メディア装置に対応する照合器例の透視図である。
【図４】自動コンテンツ認識ルーチンが実行できる動作構成例のフロー図である。
【図５】本明細書で説明するシステム及び方法を実装するために使用できるコンピュータ装置例の概略図である。
【発明を実施するための形態】
【００１４】
様々な図面における同じ参照記号は同じ要素を表す。
【００１５】
一般に、自動コンテンツ認識（ＡＣＲ）は、メディア装置上又はメディアファイル内のメディアコンテンツを識別する自動プロセスである。ＡＣＲは、日々社会によって消費される大量のメディアコンテンツを識別するためにますます有用になってきている。商業的視点から見れば、企業及びその他のエンティティは、ＡＣＲによってメディアコンテンツの消費を理解し、場合によってはメディアコンテンツの消費者（すなわち、メディア装置ユーザ）のマーケティング又はターゲッティングをさらに効率的に行うことができる。例えば、メディア装置のユーザに対して広告が個別化されれば、広告又は提案がさらに効果的になる可能性がある。従って、放送局、商用プロバイダ、広告主及びその他のコンテンツエンティティは、どの番組が視聴されているか、或いはさらに具体的には視聴中に番組内のどこにユーザが存在するかを知りたいと望んでいる。メディア装置ユーザは、この種の情報によってさらに正確に対象化されたメディアコンテンツを受け取ることができる。
【００１６】
図１Ａは、ＡＣＲ環境１０の例である。ＡＣＲ環境１０は、メディア装置３０のユーザ２０（すなわち、視聴者）にメディアコンテンツを配信するための複数の層を含むことができる。図１Ａでは、メディアコンテンツ配信プロセスを放送層１００、追加コンテンツ層１１０、ネットワーク層１２０及び装置層１３０という４つの層に単純化するように試みている。各層１００、１１０、１２０、１３０は、メディアストリームＳに影響を与えるエンティティを有することができる。放送層１００は、放送メディアストリームＳBの生成に関与し得る放送エンティティを表す。これらの放送エンティティは、放送局１０２及び放送配信業者１０４を含むことができる。放送局１０２は、地方放送局、多チャンネルネットワーク又はその他のメディアコンテンツ所有者などの、１又は２以上のメディアコンテンツプロバイダとすることができる。放送配信業者１０４は、メディアコンテンツを配信するためのインフラ又はリソース（例えば、信号線、通信タワー、通信アンテナ、サーバなど）を提供する放送エンティティである。放送局１０２及び放送配信業者１０４は、提供されるメディアコンテンツのタイプ又はメディアコンテンツを受け取るメディア装置のタイプなどの放送変数（ｂｒｏａｄｃａｓｔｉｎｇ  ｖａｒｉａｂｌｅｓ）に応じて、同じ放送エンティティ又は異なる放送エンティティとすることができる。
【００１７】
いくつかの実装では、放送メディアストリームＳBが、追加コンテンツ層１１０として表すコンテンツエンティティからの追加メディアコンテンツＳCを含む。これらのコンテンツエンティティは、商用プロバイダ１１２、広告主１１４、又は放送メディアストリームＳBに追加メディアコンテンツＳCを提供するその他のエンティティを含む。一般に、商用プロバイダ１１２は、追加メディアコンテンツＳCを作成及び／又はホストするコンテンツエンティティであるのに対し、広告主１１４は、広告、提案、取引、割引、利益又はその他の商品及び／又はサービスプロモーションなどのコンテンツを含む追加メディアコンテンツＳCを生成するコンテンツエンティティである。これに加えて、又はこれとは別に、商用プロバイダ１１２及び広告主１１４は、同じコンテンツエンティティとすることもできる。追加コンテンツ層１１０は、放送層１００、ネットワーク層１２０、装置層１３０、又はこれらの任意の組み合わせに追加メディアコンテンツＳCを伝えることができる。任意に、追加コンテンツ層１１０は、追加メディアコンテンツＳCと放送メディアストリームＳBとを一組にして、追加メディアコンテンツＳCを含む複合放送メディアストリームＳB、ＳCを形成することもできる。
【００１８】
さらに図１Ａを参照すると、ネットワーク層１２０は、放送層１１０及び／又は追加コンテンツ層１１０から放送メディアストリームＳB及び追加メディアコンテンツＳCを受け取るように構成される。例えば、ネットワーク層１２０は、放送層１００からメディアストリームＳを受け取る場合、追加メディアコンテンツＳCを含む放送メディアストリームＳB、又は追加メディアコンテンツＳCから独立した放送メディアストリームＳBを受け取ることができる。同様に、ネットワーク層１２０は、追加コンテンツ層１１０からメディアストリームＳを受け取る場合、追加メディアコンテンツＳCを含む放送メディアストリームＳB、又は追加メディアコンテンツＳCから独立した放送メディアストリームＳBを受け取ることができる。いくつかの実装では、ネットワーク層１２０が、放送層１００からの放送メディアストリームＳBと追加コンテンツ層１１０からの追加メディアコンテンツＳCとを一組にして、追加メディアコンテンツＳCで満たされた放送メディアストリームＳBを表すネットワークメディアストリームＳNを生成することができる。
【００１９】
ネットワーク層１２０は、フィンガープリンタ２００を含む。フィンガープリンタ２００は、データ処理ハードウェア２１２とメモリハードウェア２１４とを有するサーバ２１０上で動作するように構成される。フィンガープリンタ２００は、放送フィンガープリント生成器２２０を含む。ネットワーク層１２０は、フィンガープリント２２２とフィンガープリント２２２に関連するメタデータ２２４とをフィンガープリントデータベース２３０及び／又はメタデータデータベース２４０に記憶するように構成することができる。一般に、フィンガープリント２２２は、メディアストリームＳの少なくとも１つのフレームＦnに対応する少なくとも１つの一意的な識別子である。例えば、この少なくとも１つの一意的な識別子は、値（例えば、ピクセル値）、英数字表現、又はオーディオビジュアル画像の圧縮版とすることができる。これに加えて、又はこれとは別に、ネットワーク層１２０は、放送メディアストリームＳB、追加メディアコンテンツＳC、又はこれらの両方を記憶するようにも構成される。
【００２０】
図１Ａには、あらゆる層（すなわち、放送層１００、追加コンテンツ層１１０、又はネットワーク層１２０）が装置層１３０と通信できることも示す。装置層１３０では、テレビ、ＰＣ、ラップトップ、タブレット又は携帯電話機などのメディア装置１３０がメディア装置ストリームＳD（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC又はネットワークメディアストリームＳNの任意の組み合わせ）を受け取り、対応するメディア装置ストリームＳD（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC又はネットワークメディアストリームＳNの任意の組み合わせ）の全部又は一部をユーザ２０に伝えることができる。装置は、何らかの形のメディアコンテンツを受信又は通信するように構成された、メディア装置３０に関連するあらゆるハードウェア又はあらゆるソフトウェアを意味することができる。さらに、装置は、データ処理ハードウェア及び／又はメモリハードウェアを含むことができる。いくつかの実装では、メディア装置３０を、対応するメディアストリーム（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC又はネットワークメディアストリームＳNの任意の組み合わせ）を解釈し、又はこのようなメディアストリームと相互作用するように構成することができる。例えば、メディア装置３０は、放送メディアストリームＳBからの追加メディアコンテンツＳCを識別する。メディア装置３０は、放送メディアストリームＳBの追加メディアコンテンツＳBを代替メディアコンテンツに置き換え、又は放送メディアストリームＳBの追加メディアコンテンツＳBに代替メディアコンテンツを重ね合わせることができる。メディア装置３０は、放送メディアストリームＳB、ＳCを所定のコンテンツについてフィルタ処理することができる。これに加えて、又はこれとは別に、メディア装置３０は、メディアストリーム（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC又はネットワークメディアストリームＳNの任意の組み合わせ）に関連する情報又はデータを、放送層１００、追加コンテンツ層１１０、ネットワーク層１２０、又は装置層１３０の他のメディア装置３０に通信するように構成することもできる。メディア装置３０は、ＡＣＲモジュール１３２を実行し、又はＡＣＲモジュール１３２を実行する他のデータ処理ハードウェアと通信することができる。ＡＣＲモジュール１３２は、メディアストリームの一部をサンプリングし、サンプルを処理し、このサンプルを、オーディオ又はビデオフィンガープリント又はウォーターマークなどの一意的な特徴によってコンテンツを識別するソースサービスと比較することに基づいて、メディアストリーム内のコンテンツ要素（例えば、オーディオ、ビデオ又はデジタル画像）を識別するように構成することができる。
【００２１】
図１Ｂは、ＡＣＲ環境１０の例である。ＡＣＲ環境１０は、放送局１０２と、フィンガープリンタ２００と、（ＡＣＲモジュール１３２の一部とすることができる）照合器３００とを含む。放送局１０２は、放送メディアストリームＳB、ＳCをチャンネルＣｈ1〜nによって放送フレームレートＲＢでフィンガープリンタ２００に送信する。放送フレームレートＲBは、放送メディアストリームＳB、ＳCを放送フレームＦ1〜nに分割し、各放送フレームＦ1〜nは、放送メディアストリームＳB内のピクセルによって表されるオーディオビジュアル画像に対応する。フィンガープリンタ２００は、各放送フレームＦ1〜nを放送フィンガープリント生成器２２０において受け取るように構成される。放送フィンガープリント生成器２２０は、各放送フレームＦ1〜nを受け取り、各放送フレームＦ1〜nを示す放送フィンガープリント２２２、２２２ａを生成するように構成される。一般に、放送フィンガープリント２２２、２２２ａは、少なくとも１つの放送フレームＦ1〜nに対応する少なくとも１つの一意的な識別子である。フィンガープリンタ２００は、各放送フィンガープリント２２２、２２２ａをフィンガープリントデータベース２３０などのデータベースに記憶することができる。いくつかの例では、フィンガープリンタ２００が、フレーム位置（例えば、フレーム時間コード）、フレームタイプ（例えば、生番組又は広告）又はフィンガープリント識別子タグなどの、放送フレームＦ1〜nに対応するメタデータ２２４に従って又はメタデータ２２４と共に各放送フィンガープリント２２２、２２２ａを記憶する。他の例では、フィンガープリンタ２００が、各放送フィンガープリント２２２、２２２ａのメタデータ２２４に対応する１又は複数の個別のデータベースを有する。フィンガープリンタ２００は、メタデータ２２４のための個別のデータベースによってより多くの放送フィンガープリント２２２、２２２ａを記憶することができる。
【００２２】
さらに図１Ｂを参照すると、放送局１０２は、放送メディアストリームＳB、ＳCをメディア装置３０にも送信する。メディア装置３０は、放送局１０２からの放送メディアストリームＳB、ＳCをメディア装置ストリームＳDとして受け取る。メディア装置３０は、メディア装置ストリームＳBからメディアフレームＦD1〜nを取り込み、取り込んだメディアフレームＦD1〜nを照合器３００に伝えるように構成される。図１Ｂに示す例では、メディア装置３０が、メディア装置ストリームＳDを受け取るテレビ３０、３０ａ（ＴＶ）である。例えば、テレビ３０、３０ａは、テレビチャンネルＣｈ1〜nをメディア装置ストリームＳDとして受け取る。他のタイプのメディア装置３０も可能である。
【００２３】
いくつかの実装では、放送局１０２が、放送メディアストリームＳB、ＳCを放送フレームレートＲBで提供する。（例えば、ＴＶ３０、３０ａとして示す）メディア装置３０は、放送メディアストリームＳB、ＳCを対応する放送フレームレートＲBでメディア装置ストリームＳDとして受け取ることができる。多くの場合、放送フレームレートＲBは、放送フォーマットの様々な業界標準（例えば、１０８０  ６０ｉ、７２０  ６０Ｐなど）に対応する。例えば、いくつかの一般的な放送フレームレートＲBとしては、３０Ｐ（毎秒２９．９７フレーム）、２４Ｐ（毎秒２３．９８フレーム）及び６０Ｐ（毎秒５９．９４フレーム）が挙げられる。メディア装置３０は、メディア装置ストリームＳDのフレームＦD1〜nをメディア装置フレームレートＲMDで取り込むように構成することができる。メディア装置フレームレートＲMDとは、対応するメディア装置３０が取り込んだフレームＦD1〜nを照合器３００に提供するフレームレートのことである。いくつかの実装では、メディア装置３０が、メディア装置ストリームＳDを放送フレームレートＲBで受け取るように構成されるが、メディア装置ストリームＳDのフレームＦD1〜nについては照合器３００のためのメディア装置フレームレートＲMDで取り込むように構成される。例えば、放送フレームレートＲBは、メディア装置フレームレートＲMDとは異なる。この違いの一例では、放送フレームレートＲBの方がメディア装置フレームレートＲMDよりも大きい（例えば、放送フレームレートは３０Ｐであり、メディア装置フレームレートは毎秒４フレームである）。フレームレートの違いは、メディア装置３０におけるフレーム取り込みハードウェア又はソフトウェアに関連するリソース制約（例えば、ＣＰＵ、メモリなど）に起因することもできる。
【００２４】
いくつかの例では、照合器３００が、フィンガープリント結果セット２３２と、メディア装置ストリームＳDからのメディア装置フレームＦD1〜nとを受け取る。フィンガープリント結果セット２３２は、フィンガープリンタ２００において取り込まれて照合器３００に伝えられる一連の放送フィンガープリント２２２、２２２ａに対応する。フィンガープリント結果セット２３２の利点は、フィンガープリンタ２００及び照合器３００が、フィンガープリンタ２００によって生成された全ての放送フィンガープリント２２２、２２２ａではなく、その一部を伝えることができる点である。フィンガープリント結果セット２３２は、フィンガープリントデータベース２３０の放送フィンガープリント２２２、２２２ａの一部として、照合器３００が効率的に処理できるデータサイズとすることができる。照合器３００は、メディア装置フレームＦD1〜nを放送フレームＦ1〜nと比較して、一致するフレームＦn、ＦDnを識別することができる。照合器３００は、テレビ３０、３０ａの内部装置（例えば、テレビ３０、３０ａのハードウェア又はソフトウェア）とすることも、或いはテレビ３０、３０ａと通信する外部装置（例えば、ヘッドエンドシステム又はセットトップボックス）とすることもできる。いくつかの実装では、フィンガープリント結果セット２３２が、一定量のシーケンシャル放送フィンガープリント（ｓｅｑｕｅｎｔｉａｌ  ｂｒｏａｄｃａｓｔ  ｆｉｎｇｅｒｐｒｉｎｔｓ）２２２、２２２ａに対応する。例えば、フィンガープリント結果セット２３２は、５分の放送フレームＦ1〜nに対応するシーケンシャル放送フィンガープリント２２２、２２２ａを含む。換言すれば、放送フレームレートＲBが毎秒３０フレームである場合、フィンガープリント結果セット２３２は、５分間にわたる９０００個のシーケンシャル放送フレームＦ１−９０００に対応する９０００個のシーケンシャル放送フィンガープリント２２２、２２２ａを含む。
【００２５】
図２は、フィンガープリンタ２００の放送フィンガープリント生成器２２０の例である。放送フィンガープリント生成器２２０は、放送メディアストリームＳB、ＳCのチャンネルＣｈ1〜nに対応する放送フレームＦ1〜nを受け取る。放送フィンガープリント生成器２２０は、受け取った各放送フレームＦ1〜nについて放送フィンガープリント２２２、２２２ａを生成し、これらをフィンガープリントデータベース２３０に記憶することができる。いくつかの例では、各放送フィンガープリント２２２、２２２ａが、対応する放送メディアストリームＳBの放送フレームＦ1〜nの少なくとも１つのピクセル値ＶPを表す。少なくとも１つのピクセル値ＶPは、放送フレームＦ1〜nの平均ピクセル値又は色空間値の合計とすることができる。例えば、放送フィンガープリント生成器２２０がグレーＵＶ（ＹＵＶ）色空間に従って放送フィンガープリント２２２、２２２ａを生成する場合、少なくとも１つのピクセル値ＶPは、対応する放送フレームＦ1〜nのグレースケール値の合計及び／又は平均を表すことができる。換言すれば、対応する放送フレームＦ1〜nの各ピクセルは、放送フィンガープリント２２２、２２２ａがピクセル領域のグレースケール値の合計及び／又は平均を表すようにグレースケール値によって表される。いくつかの実装では、フィンガープリント２２２（例えば、放送フィンガープリント２２２、２２２ａ）が、対応する放送フレームＦ1〜nのサブフレームＦsubに基づく一意的な識別子である。各サブフレームＦsubは、サブフレームＦsub当たりのピクセルに応じて、対応するピクセル値ＶP又は対応する平均ピクセル値を有することができる。
【００２６】
一般に、フィンガープリント２２２は、ＡＣＲ環境１０内の不正確さの原因となり得る。この不正確さが生じる理由は、連続するメディア装置フレームＦD1〜nと連続する放送フレームＦ1〜nとが非常に類似することにより、連続するフレームが、これらを大幅に変化させるシーン変化が生じない限り時間と共にわずかしか変化しないからである。通常は、連続するフレームＦD1〜n間の変化がほんのわずかであるため、１つ又は少数のピクセル値ＶPに基づくフィンガープリント２２２は、同じ数のピクセルに基づく連続するフィンガープリント２２２に非常に類似し得る。従って、ＡＣＲ環境１０におけるフィンガープリント２２２間の照合プロセスでは、潜在的照合エラー（例えば、偽一致）が生じることがある。換言すれば、たとえ実際にはユーザ２０がメディア装置ストリームＳDからのメディアコンテンツの一致メディア装置フレーム（ｍａｔｃｈ  ｍｅｄｉａ  ｄｅｖｉｃｅ  ｆｒａｍｅ）ＦMDの前又は後のいくつかメディア装置フレームＦD1〜nを見ている場合でも、照合器３００は、ユーザがメディア装置ストリームＳDの１つのメディア装置フレームＦD1〜n（一致メディア装置フレームＦMD）を見ていると判断してしまうことがある。
【００２７】
図２には、サブフレームＦsubに分割された放送フレームＦ1〜nに対応する放送フィンガープリント２２２ａ、Ｆ1〜nの例も示す。いくつかの例では、放送フィンガープリント生成器２２０が、各放送フレームＦ1〜nをサブフレームＦsubに分割して、放送フレームＦ1〜nをより正確に比較又は区別することができる。サブフレームＦsubでは、各フィンガープリント２２２が、対応するフレームＦ1〜nの複数の平均ピクセル値ＶPを表すことができる。各放送フレームＦ1〜nをサブフレームＦsubに分割することにより、放送フィンガープリント生成中に、放送フレームＦ1〜n全体のピクセル値ＶP（又は平均ピクセル値）に基づく放送フィンガープリント２２２、２２２ａよりも多くの詳細（例えば、各サブフレームＦsubのピクセル）が考慮される。従って、放送フィンガープリント生成器２２０が各放送フレームＦ1〜nを分割するサブフレームＦsubの数は、望ましい精度レベルに依存する。例えば、図２に示すように、放送フィンガープリント生成器２２０は、各放送フレームＦ1〜nを、４×４配列を定める１６個のサブフレームＦsubに分割する。１６個のサブフレームＦsubの各サブフレームＦsubは、平均ピクセル値ＶP11〜44を有し、各放送フィンガープリント２２２ａは、各サブフレームＦsubに関連する整数値を有する１６個の値の整数ベクトルによって各対応する放送フレームＦ1〜nを表すようになる。図には、各放送フレームＦ1〜n又は各メディア装置フレームＦD1〜nを４×４配列として示しているが、あらゆるサブフレーム分割が可能である。
【００２８】
一般的に言えば、ＡＣＲは、コールドマッチング及びホットマッチングという２段階に分けることができる。通常、コールドマッチングは、ＡＣＲの第１段階（又は識別段階）を意味する。識別段階中、ＡＣＲは、ユーザ２０が見ているチャンネル、及び現在ユーザ２０がチャンネル内のどこを見ているかを識別する。ＡＣＲは、識別段階を完了すると、ユーザ２０が見ているチャンネルの更新又は変更についてユーザ２０のメディア装置ストリームＳDをモニタする。一般に、ホットマッチングは、このＡＣＲの第２段階又はモニタリング段階を意味する。多くの場合、コールドマッチングはネットワーク層１２０と装置層１３０との間で実行され、ホットマッチングは装置層１３０において実行されるが、ＡＣＲハードウェア及び／又はソフトウェアに結合された層間の接続性によって、ＡＣＲ環境１０内の任意の層又はこれらの層の任意の組み合わせが、情報の通信及び記憶を行ってコールドマッチング及び／又はホットマッチングを実行できるようにすることができる。
【００２９】
図３Ａ及び図３Ｂは、メディア装置３０（例えば、テレビ３０、３０ａ）の照合器３００の例である。照合器３００は、メディア装置ストリームＳDから取り込まれたメディア装置フレームＦD1〜nを受け取る。いくつかの構成では、照合器３００が、取り込まれたメディア装置フレームＦD1〜nをシーケンシャルメディア装置フレームＦD1〜nのセットとして受け取る。照合器３００は、メディア装置フレームＦD1〜nをメディア装置フレームレートＲMDで受け取ることができる。メディア装置フレームレートＲMDは、放送フレームレートＲBと同様とすることも、又は放送フレームレートＲBとは異なることもできる。これに加えて、又はこれとは別に、照合器３００は、取り込まれたメディア装置フレームＦD1〜nを一様でない（例えば、一様なフレーム取り込みレートではない）形で受け取る。一例として、照合器３００は、取り込まれたメディア装置フレームＦD1〜nを、要求時に又はメディア装置３０との選択的な通信時に受け取る。他の例では、照合器３００とメディア装置３０との間のタイミング遅延又は通信ラグにより、取り込まれたメディア装置フレームＦD1〜nが照合器３００において一様でない形で受け取られ、又は非シーケンシャルに取り込まれたメディア装置フレームＦD1〜nが受け取られる。
【００３０】
通常は、照合器３００は、照合器フィンガープリント生成器３１０及び相関器３２０を含む。照合器フィンガープリント生成器３１０は、受け取ったメディア装置フレームＦD1〜nに基づいてメディア装置フィンガープリント２２２、２２２ｂを生成するように構成される。メディア装置フィンガープリント２２２、２２２ｂは、照合器３００においてメディア装置３０（例えば、テレビ３０、３０ａ）から受け取られた各メディア装置フレームＦD1〜nに対応するフィンガープリント２２２である。メディア装置フィンガープリント２２２、２２２ｂは、放送フィンガープリント２２２、２２２ａに酷似した表現で各メディア装置フレームＦD1〜nを一意的な識別子として表すことができる。各メディア装置フィンガープリント２２２、２２２ｂは、各対応するメディア装置フレームＦD1〜nを、照合器３００の相関器３２０が放送フィンガープリント２２２、２２２ａをメディア装置フィンガープリント２２２、２２２ｂと比較できるような値又は一意的な識別子によって表す。例えば、照合器フィンガープリント生成器３１０は、対応するメディア装置ストリームＳDのメディア装置フレームＦD1〜nの少なくとも１つのピクセル値ＶPを表すメディア装置フィンガープリント２２２、２２２ｂを生成することができる。少なくとも１つのピクセル値ＶPは、各メディア装置フレームＦD1〜nのサブフレームＦsub（例えば、４×４配列を定める１６個のサブフレームＦsub）に対応することができ、従っていくつかの実装では、メディア装置フィンガープリント２２２、２２２ｂが各サブフレームＦsubの少なくとも１つのピクセル値ＶPに対応する値のベクトルである。
【００３１】
さらに図３Ａ及び図３Ｂを参照すると、照合器３００は、フレームＦ及び／又はフレームＦに対応するフィンガープリント２２２間の一致相関（ｍａｔｃｈ  ｃｏｒｒｅｌａｔｉｏｎ）３２２を判定する相関器３２０を含む。いくつかの例では、相関器３２０が、少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂと少なくとも１つの放送フィンガープリント２２２、２２２ａとの間の一致相関３２２を判定する。相関器３２０が一致相関３２２を識別すると、照合器３００は、一致相関３２２に対応する少なくとも１つのメディア装置フレームＦD1〜nを一致メディア装置フレームＦMDとして識別する。例えば、相関器３２０が、少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを少なくとも１つの放送フィンガープリント２２２、２２２ａとの一致相関３２２を有するものとして識別すると、照合器３００は、この少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを一致メディア装置フレームＦMDに対応するものとして識別する。照合器３００は、一致メディア装置フレームＦMDを、フレーム番号及び関連する放送チャンネルを含むメタデータ２２４（例えばフレームデータ）に関連付けることができる。例えば、照合器３００は、一致相関３２２の少なくとも１つの放送フィンガープリント２２２、２２２ａに対応するメタデータ２２４を受け取る。照合器３００は、一致メディア装置フレームＦMDを識別することによって、一致相関３２２の少なくとも１つの放送フィンガープリント２２２、２２２ａに対応するメタデータ２２４を一致メディア装置フレームＦMDに関連付ける。換言すれば、一致相関３２２は、一致相関３２２の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂに対応する少なくとも１つのメディア装置フレームＦD1〜nが、一致相関３２２の少なくとも１つの放送フィンガープリント２２２、２２２ａに対応する少なくとも１つの放送フレームＦ1〜nと同様又は同一のメタデータ２２４を有するべきであることを意味する。
【００３２】
一致相関３２２は、類似性（すなわち、関連性の強さ）を表す値である。いくつかの例では、一致相関３２２が統計的相関である。統計的相関は、一般にマイナス１から１までの範囲の２つの可変（すなわち、二変量）関係であり、ゼロは関係がないことを表し、負の値は反比例関係を表し、正の値は比例関係を表す。マイナス１から１までの範囲は関連性の強さを表すことができ、０に近い値は弱い相関を表し、１（すなわち、完全相関）に近い値は強い相関を表す。マイナス１から１までの範囲は、単純な統計的相関範囲を表すが、この範囲はシステム設計に応じて調整することができる。一致相関３２２は、一般に２つの変数の共分散を２つの変数の標準偏差の積によって除算したものであるピアソンの相関係数に基づくことが好ましい。一致相関３２２のためにはピアソンの相関係数が好ましいが、一致相関３２２はあらゆる相関係数に基づくことができる。他の統計的相関係数の例としては、ケンドールの順位相関又はスピアマンの相関が挙げられる。
【００３３】
いくつかの例では、相関器３２０が、探索ブロック３２４をコンパイルすることによって一致相関３２２を判定する。探索ブロック３２４は、少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ、又は複数のメディア装置フィンガープリント２２２、２２２ｂを含むことができる。いくつかの例では、探索ブロック３２４のメディア装置フィンガープリント２２２、２２２ｂが、メディア装置ストリームＳDから取り込まれたシーケンシャルメディア装置フレームＦDn+1、ＦD1〜nに対応する。相関器３２０は、照合器フィンガープリント生成器３１０から、或いは照合器３００内の又は照合器３００と通信するメディア装置フィンガープリント２２２、２２２ｂのデータベースから、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを受け取る。
【００３４】
いくつかの実装では、相関器３２０が、探索ブロック３２４をフィンガープリントデータベース２３０に相関させることができる。しかしながら、これらの実装では、フィンガープリントデータベース２３０のサイズによってＡＣＲプロセスのリアルタイムの利点が減じてしまうことがある。従って、相関器３２０は、これらのリアルタイムの利点を減じる代わりに、フィンガープリント結果セット２３２の放送フィンガープリント２２２、２２２ａに従って一致相関３２２を判定することができる。例えば、フィンガープリント結果セット２３２のシーケンシャル放送フレームＦ1〜nは放送メディアストリームＳBの第１の期間ｔ１に対応し、探索ブロック３２４はメディア装置ストリームＳDの第２の期間ｔ２に対応し、第１の期間ｔ１は第２の期間ｔ２よりも長い。第１の期間ｔ１が第２の期間ｔ２よりも長いことにより、このＡＣＲ環境１０では、照合器３００がリアルタイムな処理速度を維持しながら、少なくとも１つの放送フィンガープリント２２２、２２２ａとの一致相関３２２を有する少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを確実に識別することができる。
【００３５】
いくつかの構成では、探索ブロック３２４が、メディア装置３０（例えば、テレビ３０、３０ａ）において取り込まれた最新のメディア装置フレームＦD1〜nに対応する最新のメディア装置フィンガープリント２２２、２２２ｂRを、少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂとして含む。探索ブロック３２４に最新のメディア装置フィンガープリント２２２、２２２ｂRを含めることにより、照合器３００は、ユーザ２０が見ているメディアコンテンツとの同時性が最も高いフレームデータ（例えば、メタデータ２２４）を特定することができる。換言すれば、照合器３００は、一致相関３２２の少なくとも１つの放送フィンガープリント２２２、２２２ａに対応するメタデータ２２４を、一致相関３２２の最新のメディア装置フィンガープリント２２２、２２２ｂに対応する少なくとも１つのメディア装置フレームに関連付けることができる。従って、照合器３００は、関連する放送チャンネルと、放送チャンネル内のフレーム位置（例えば、位置に関連するフレーム番号）とを識別することができる。
【００３６】
いくつかの例では、照合器３００が、複数の放送フィンガープリント２２２、２２２ａを表すデータ構造３３０（例えば、フィンガープリント結果セット２３２）を含む。データ構造３３０は、相関器３２０がメディア装置フィンガープリント２２２、２２２ｂ（例えば、探索ブロック３２４）と放送フィンガープリント２２２、２２２ａとの比較を行うことを可能にする。これに加えて、又はこれとは別に、データ構造３３０は、相関器３２０が一致相関３２２を判定する多段階相関プロセスを実行することも可能にする。多段階相関プロセスは、候補識別プロセス及び一致相関プロセスを含むことができる。候補識別プロセスでは、相関器３２０が、データ構造３３０からの放送フィンガープリント２２２、２２２ａを、一致相関３２２のための放送フィンガープリント候補２２２、２２２ａcとして識別することができる。一般に、放送フィンガープリント候補２２２、２２２ａcは、少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ（例えば、最新のメディア装置フィンガープリント２２２、２２２ｂR）に一致する可能性がある、放送フレームＦ1〜nに対応する放送フィンガープリント２２２、２２２ａである。相関器３２０が探索ブロック３２４をコンパイルする例では、放送フィンガープリント候補２２２、２２２ａcが、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂに一致する可能性がある、放送フレームＦ1〜nに対応する放送フィンガープリント２２２、２２２ａである。一致相関３２２のための少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを識別することにより、相関器３２０が一致相関３２２を実行する対象の放送フィンガープリント２２２、２２２ａ（例えば、識別された放送フィンガープリント候補２２２、２２２ａc）が少なくなるので、照合器３００は、一致相関プロセス中の相関器３２０における処理時間を短縮することができる。換言すれば、単段階相関プロセスでは、相関器３２０が、識別された放送フィンガープリント候補２２２、２２２ａcだけでなく、フィンガープリント結果セット２３２及び／又はデータ構造３３０の放送フィンガープリント２２２、２２２ａとの間でも一致相関３２２を実行することができる。一致相関プロセスでは、相関器３２０が、少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを受け取り、この少なくとも１つの放送フィンガープリント候補２２２、２２２ａcに基づいて一致相関３２２を判定することができる。
【００３７】
いくつかの実装では、データ構造３３０が、複数の放送フィンガープリント２２２、２２２ａをノードＮによって表す。各ノードＮ（１〜ｎ）は、放送フレームＦ1〜nに対応する放送フィンガープリント２２２、２２２ａを構成することができる。相関器３２０は、ノードＮを使用してデータ構造３３０を探索し、放送フィンガープリント候補２２２、２２２ａcに対応する少なくとも１つのノード候補Ｎ、ＮCを識別することができる。各ノードＮ（１〜ｎ）は、メタデータ２２４（例えば、フレーム位置、フレームタイプ、又はフィンガープリント識別子タグ）又はメタデータの参照を含むこともできる。照合器３００は、メタデータ２２４又はメタデータ２２４の参照を各放送フィンガープリント候補２２２、２２２ａcに関連付けることができる。換言すれば、照合器３００及び／又は相関器３２０は、データ構造３３０を探索した後に、一致相関３２２のための少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを示す少なくとも１つのノード候補Ｎ、ＮCと、少なくとも１つのノード候補Ｎ、ＮCとして受け取られた少なくとも１つの放送フィンガープリント候補２２２、２２２ａcの放送フレームＦ1〜nに関連するメタデータ２２４とを受け取ることができる。
【００３８】
いくつかの例では、各ノードＮ（１〜ｎ）が放送フレームＦ1〜nのシーケンシャル配列を参照することにより、相関器３２０が、（例えば、ノード候補Ｎ、ＮCによって）少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを決定する際に、少なくとも１つの放送フィンガープリント候補２２２、２２２ａcに対応するフレーム位置を識別できるようにもなる。放送フレームＦ1〜nのシーケンシャル配列は、照合器３００が放送フレームセットＦ1〜n(set)に対応する放送フィンガープリントセット２２２、２２２ａsetを選択して、（例えば、図３Ｂに示す）一致相関ブロック３２６としての探索ブロック３２４と比較できるようにすることができる。多くの場合、照合器３００によって選択される放送フィンガープリントセット２２２、２２２ａsetは、候補識別プロセス中に識別された少なくとも１つの放送フィンガープリント候補２２２、２２２ａcと、候補識別プロセス中に識別された少なくとも１つの放送フィンガープリント候補２２２、２２２ａcにシーケンシャルに隣接する（例えば、先行する又は後続する）選択された数の放送フィンガープリント２２２、２２２ａとを含むことができる。放送フィンガープリントセット２２２、２２２ａset内の放送フィンガープリント２２２、２２２ａの数は、探索ブロック３２４のメディア装置フィンガープリント２２２、２２２ｂに対応することができ、従って相関器３２０は、等しい数の放送フィンガープリント２２２、２２２ａを等しい数のメディア装置フィンガープリント２２２、２２２ｂと比較することによって一致相関３２２を実行することができる。
【００３９】
多段階相関プロセス中には、相関器３２０が、データ構造３３０の範囲探索又は最近隣探索などの探索を実行して、少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを識別することができる。いくつかの例では、相関器３２０が、探索を実行する際に距離（例えば、ユークリッド距離、マンハッタン距離など）などの探索メトリックを使用してデータ構造３３０を探索する。図３Ａには、最近隣探索の例を示す。通常、最近隣探索は、入力との近接性が最も似通った出力をもたらすような近接探索である。例えば、空間Ｎ内の点集合Ｓ及び入力点Ｐを所与とすると、最近隣探索は、空間Ｎ内の集合Ｓにおける最も入力点Ｐに近い点を戻す。図３Ａなどのいくつかの例では、相関器３２０が、探索メトリックとしてユークリッド距離を使用して最近隣探索を実行する。図３Ａには、候補識別プロセスの入力を、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ（例えば、最新のメディア装置フィンガープリント２２２、２２２ｂR）として示す。これらの例では、相関器３２０が、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂとデータ構造３３０内の各ノードＮとの間の距離を決定する。相関器３２０は、最近隣探索の結果、放送フィンガープリント候補２２２、２２２ａcとして決定した各距離のうちの最小値に対応するノードＮの放送フィンガープリント２２２、２２２ａを識別することができる。
【００４０】
図３Ｂは、相関器３２０が複数の放送フィンガープリント候補２２２、２２２ａcを識別できる例である。いくつかの実装では、相関器３２０が、範囲探索を使用して複数の放送フィンガープリント候補２２２、２２２ａcを識別する。一般に、範囲探索は、入力に基づいて所与の範囲内の１又は複数の出力をもたらす探索である。例えば、空間Ｎ内の点集合Ｓ、入力点Ｐ、及び入力範囲Ｒを所与とすると、範囲探索は、入力範囲Ｒを満たす集合Ｓ内の入力点Ｐに関連する全ての点を戻すことができる。いくつかの例では、範囲探索が、近接範囲に対応する出力の組を識別する。相関器３２０は、所定の近接範囲に従って範囲探索を実行する際に、所定の近接範囲内の探索メトリックを有するノードＮの少なくとも１つの放送フィンガープリント２２２、２２２ａを放送フィンガープリント候補２２２、２２２ａcとして識別することができる。一例として、相関器３２０は、少なくとも１つのメディア装置フレーム２２２、２２２ｂとノードＮの放送フレーム２２２、２２２ａとの間の０〜１．０の距離に対応する近接範囲を受け取る。相関器３２０は、この受け取った０〜１．０の近接範囲を使用して、（例えば、探索ブロック３２４からの）少なくとも１つのメディア装置フレーム２２２、２２２ｂとデータ構造３３０の各ノードＮとの間の探索メトリック（例えば、距離）を決定することができる。この例では、相関器３２０が、探索メトリックに従って近接範囲０〜１．０を満たす各ノードＮを放送フィンガープリント候補２２２、２２２ａcとして識別する。図３Ｂなどのいくつかの実装では、相関器３２０が、３つの放送フィンガープリント候補２２２、２２２ａc(1〜3)に対応する３つのノード候補Ｎ、ＮC(1〜3)を少なくとも１つの放送フィンガープリント候補２２２、２２２ａcとして識別する。これに加えて、又はこれとは別に、図３Ｂに示すように、相関器３２０は、識別された各放送フィンガープリント候補２２２、２２２ａcに対応するメタデータ２２４を受け取り又は検索することもできる。
【００４１】
図３Ａ及び図３Ｂに示すように、データ構造３３０は、候補識別プロセスを最適化するように編成することができる。いくつかの実装では、データ構造３３０が、領域木又はｋ−ｄ木などの２次元又は３次元以上のツリーデータ構造３３２（例えば、二分探索木３３２、３３２ａ）である。ツリーデータ構造３３２は、相関器３２０が必ずしも探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂとデータ構造３３０内の各ノードＮとの間の探索メトリックを決定する必要なくデータ構造３３０の探索を実行できるようにすることができる。むしろ、図３Ａに示すように、ツリーデータ構造３３２などのデータ構造３３０は、データ構造３３０内を探索するための隣接ノードＮadjの指示Ｉを相関器３２０に提供することができる。いくつかの例では、相関器３２０が、探索メトリックの最小値又は最大値に関連するノードＮを探索する。距離の場合、相関器３２０は、ノードＮと探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ａとの間の最小距離に関連するノードＮを探索する。この例では、データ構造３３０が、相関器３２０が第１のノードＮ1に関連する第１の探索メトリックを決定する際に、相関器３２０が第１の探索メトリックの指示Ｉを識別して、第１のノードＮ1に対して指示Ｉに対応する方向に隣接する第２のノードＮ2、Ｎadjに関連する第２の探索メトリックを決定するように編成される。例えば、相関器３２０は、第１のノードＮ1において、第１のノードＮ1の放送フィンガープリント２２２、２２２ａと探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ａとの間の距離３．５０を決定することができる。距離３．５０は、次に相関器３２０が第１のノードＮ1の左側の第２のノードＮ2において第２の探索メトリックを実行することを示すことができる。この例では、データ構造３３０が、第１のノードＮ1の左方向に移動することが第２のノードＮ2の放送フィンガープリント２２２、２２２ａと探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ａとの間の距離を短縮することに対応するように編成される。図３Ａ及び図３Ｂには２次元データ構造３３０を示しているが、データ構造３３０は、２次元又は３次元以上で存在することもでき、従って方向指示Ｉも、２次元又は３次元以上に対して存在することができる。探索すべき次の隣接ノードＮadjを示すことにより、データ構造３３０の編成は、データ構造３３０内で相関器３２０が探索するノードＮの数を最適化することができる。従って、いくつかのデータ構造３３０の固有の利点は、これらのデータ構造３３０が候補識別プロセスの処理時間を短縮しながら一致相関プロセスの精度を潜在的に高めることができる点である。従って、データ構造３３０は、系統的な反復相関プロセスが少なくとも１つの放送フィンガープリント候補２２２、２２２ａcの識別に役立つことを可能にする。
【００４２】
いくつかの例では、相関器３２０が、複数の放送フィンガープリント２２２、２２２ａとの一致相関３２２を有する少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを探索ブロック３２４が含んでいると判定することができる。例えば、図３Ｂの場合には、相関器３２０が候補識別プロセスにおいて複数の放送フィンガープリント候補２２２、２２２ａcを識別している。複数の放送フィンガープリント２２２、２２２ａ（例えば、複数の放送フィンガープリント候補２２２、２２２ａc）との一致相関３２２を有する少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂを探索ブロック３２４が含んでいる場合、相関器３２０は、各放送フィンガープリント候補２２２、２２２ａcとの一致相関３２２を実行することができる。一例として、図３Ｂには、相関器３２０が探索ブロック３２４と各一致相関ブロック３２６との間の一致相関３２２を判定することを示す。探索ブロック３２４と各一致相関ブロック３２６との間の一致相関３２２の結果、相関器３２０は、放送フィンガープリント候補２２２、２２２ａcの一致放送フィンガープリント２２２、２２２ａMとの間に最大の一致相関３２２、３２２Ｇを有する探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂのメディア装置フィンガープリント２２２、２２２ｂに対応するメディア装置フレームＦDを一致メディア装置フレームＦMDとして決定する。
【００４３】
一例として、照合器３００は、５分の放送フィンガープリント２２２、２２２ａ(1〜9,000)を、９、０００個のシーケンシャル放送フレームＦ1〜9,000に対応するフィンガープリント結果セット２３２として受け取る。照合器３００は、放送フィンガープリント２２２、２２２ａ(1〜9,000)に関連するメタデータ２２４を受け取ることも、或いは照合器３００が一致メディア装置フレームＦMDを識別した時に後でフィンガープリント２００からメタデータ２２４を検索することもできる。相関器３２０は、照合器フィンガープリント生成器３１０からのメディア装置ストリームＳDから取り込まれたメディア装置フレームＦD1〜nに対応するメディア装置フィンガープリント２２２、２２２ｂを受け取る。この例では、相関器３２０が、ＴＶ３０、３０ａにおいて取り込まれた２秒のメディア装置ストリームＳD（すなわち、毎秒３０フレームのフレームレートＲMD）に対応する６０個のメディア装置フィンガープリント２２２、２２２ｂ(1〜60)を受け取る。ここでは、これらの６０個のメディア装置フィンガープリント２２２、２２２ｂ(1〜60)が探索ブロック３２４になる。この例が単段階相関プロセスである場合、相関器３２０は、６０個のメディア装置フィンガープリント２２２、２２２ｂ(1〜60)のうちの少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ（例えば、最新のメディア装置フィンガープリント２２２ｂR）が、フィンガープリント結果セット２３２の少なくとも１つの放送フィンガープリント２２２、２２２ａとの一致相関３２２を有すると判定することができる。単段階相関プロセスでは、一致相関３２２を有する少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂの対応するメディア装置フレームＦDが一致メディア装置フレームＦMDである。この例が多段階相関プロセスである場合、相関器３２０は、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ（例えば、最新のメディア装置フィンガープリント２２２ｂR）をデータ構造３３０と比較して、少なくとも１つの対応する放送フィンガープリント候補２２２、２２２ａcを有する少なくとも１つのノードＮを識別することができる。相関器３２０は、この少なくとも１つの放送フィンガープリント候補２２２、２２２ａcを使用して、各識別された放送フィンガープリント候補２２２、２２２ａcのための一致相関ブロック３２６を生成することができる。この例では、探索ブロック３２６が６０個のメディア装置フィンガープリント２２２、２２２ｂ(1〜60)であるため、各一致相関ブロック３２６は、放送フィンガープリント候補２２２、２２２ａcを含む６０個の放送フィンガープリント２２２、２２２ａ(1〜60)である。その後、相関器３２０は、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂ（例えば、最新のメディア装置フィンガープリント２２２、２２２ｂR）が、一致相関ブロック３２６の少なくとも１つの放送フィンガープリント２２２、２２２ａとの一致相関３２２を有すると判定することができる。単段階相関プロセスと同様に、一致相関３２２を有する少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂの対応するメディア装置フレームＦDが一致メディア装置フレームＦMDである。
【００４４】
任意に、図３Ｃに、相関器３２０が候補識別プロセスを伴わずにデータ構造３３０を使用して反復一致相関プロセスを実行できることを示す。一例として、相関器３２０は、探索ブロック３２４の少なくとも１つのメディア装置フィンガープリント２２２、２２２ｂと、少なくとも１つの放送フィンガープリント２２２、２２２ａに対応する第１のノードＮ1との間の一致相関３２２を判定する。第１のノードＮ1における一致相関３２２では、一致相関３２２が、第１のノードＮ1に隣接する第２のノードＮ2の指示Ｉを提供することによって一致相関３２２をさらに最適化することができる。例えば、相関器３２０は、第１のノードＮ1において一致相関３２２が０．５５の値であると判定することができる。０．５５の値は、次に相関器３２０が第１のノードＮ1の左側の第２のノードＮ2との第２の一致相関３２２、３２２ｂを実行することを示す中程度の比例的関連性を表す。この例では、第１のノードＮ1の左方向に移動することが、一致相関３２２の比例的関連性強度（ｐｒｏｐｏｒｔｉｏｎａｌ  ｓｔｒｅｎｇｔｈ  ｏｆ  ａｓｓｏｃｉａｔｉｏｎ）を高めることに対応することができる。従って、データ構造３３０は、系統的な反復相関プロセスが最大の一致相関３２２、３２２Ｇを戻すのに役立つことを可能にする。
【００４５】
図４は、自動コンテンツ認識中のコールドマッチングのための方法４００である。方法４００は、ブロック４０２において、放送局における放送メディアストリームの放送フレームを示す放送フィンガープリントをデータ処理ハードウェアにおいて受け取るステップを含む。方法４００は、ブロック４０４において、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントをデータ処理ハードウェアにおいて受け取るステップをさらに含む。方法４００は、ブロック４０６において、データ処理ハードウェアが、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも１つの放送フィンガープリントとのピアソンの相関係数に基づく一致相関を有する少なくとも１つのメディア装置フィンガープリントを含んでいると判定するステップをさらに含む。方法４００は、ブロック４０８において、データ処理ハードウェアが、少なくとも１つの放送フィンガープリントとの一致相関を有する少なくとも１つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップをさらに含む。
【００４６】
ソフトウェアアプリケーション（すなわち、ソフトウェアリソース）は、コンピュータ装置にタスクを実行させるコンピュータソフトウェアを意味することができる。いくつかの例では、ソフトウェアアプリケーションを「アプリケーション」、「アプリ」、又は「プログラム」と呼ぶこともできる。アプリケーション例としては、以下に限定するわけではないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワープロアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、及びゲームアプリケーションが挙げられる。
【００４７】
図５は、本文書で説明したシステム及び方法を実装するために使用できるコンピュータ装置例５００の概略図である。コンピュータ装置５００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、及びその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。図示のコンポーネント、その接続及び関係、並びにその機能は例示を目的とするものにすぎず、本文書で説明した及び／又は特許請求する発明の実装を限定するものではない。
【００４８】
コンピュータ装置５００は、プロセッサ５１０と、メモリ５２０と、記憶装置５３０と、メモリ５２０及び高速拡張ポート５５０に接続する高速インターフェイス／コントローラ５４０と、低速バス５７０及び記憶装置５３０に接続する低速インターフェイス／コントローラ５６０とを含む。コンポーネント５１０、５２０、５３０、５４０、５５０及び５６０の各々は、様々なバスを使用して相互接続され、必要に応じて共通マザーボード上に又は他の形で取り付けることができる。プロセッサ５１０は、メモリ５２０又は記憶装置５３０に記憶された命令を含む、コンピュータ装置５００内で実行される命令を処理して、高速インターフェイス５４０に結合されたディスプレイ５８０などの外部入力／出力装置上にグラフィカルユーザインターフェイス（ＧＵＩ）のためのグラフィック情報を表示することができる。他の実装では、必要に応じて複数のメモリ及びメモリタイプと共に複数のプロセッサ及び／又は複数のバスを使用することができる。また、複数のコンピュータ装置５００を接続して、各装置が（例えば、サーババンク、一群のブレードサーバ、又はマルチプロセッサシステムとして）必要な動作の一部を提供することもできる。
【００４９】
メモリ５２０は、コンピュータ装置５００内に非一時的に情報を記憶する。メモリ５２０は、コンピュータ可読媒体、（単複の）揮発性メモリユニット、又は（単複の）不揮発性メモリユニットとすることができる。非一時的メモリ５２０は、コンピュータ装置５００が使用するプログラム（例えば、一連の命令）又はデータ（例えば、プログラム状態情報）を一時的又は恒久的に記憶するために使用される物理的装置とすることができる。不揮発性メモリの例としては、以下に限定するわけではないが、フラッシュメモリ及びリードオンリメモリ（ＲＯＭ）／プログラマブルリードオンリメモリ（ＰＲＯＭ）／消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）／電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）（例えば、典型的にはブートプログラムなどのファームウェアに使用されるもの）が挙げられる。揮発性メモリの例としては、以下に限定するわけではないが、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、及びディスク又はテープが挙げられる。
【００５０】
記憶装置５３０は、コンピュータ装置５００のための大容量ストレージを提供することができる。いくつかの実装では、記憶装置５３０がコンピュータ可読媒体である。様々な異なる実装では、記憶装置５３０を、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、フラッシュメモリ又は他の同様の固体メモリデバイス、或いはストレージエリアネットワーク又はその他の構成を含む一連の装置とすることができる。さらなる実装では、コンピュータプログラム製品が情報キャリア内で有形的に具体化される。コンピュータプログラム製品は、実行時に上述したような１又は２以上の方法を実行する命令を含む。情報キャリアは、メモリ５２０、記憶装置５３０、又はプロセッサ５１０上のメモリなどのコンピュータ可読媒体又は機械可読媒体である。
【００５１】
高速コントローラ５４０は、コンピュータ装置５００の帯域幅集約動作を管理し、低速コントローラ５６０は、低帯域幅集約動作を管理する。このような作業の割り当ては例示にすぎない。いくつかの実装では、高速コントローラ５４０が、メモリ５２０と、ディスプレイ５８０と、様々な拡張カード（図示せず）を受け入れることができる高速拡張ポート５５０とに（例えば、グラフィックスプロセッサ又はアクセラレータを介して）結合される。いくつかの実装では、低速コントローラ５６０が、記憶装置５３０及び低速拡張ポート５９０に結合される。様々な通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、イーサネット、ワイヤレスイーサネット）を含むことができる低速拡張ポート５９０は、キーボード、ポインティングデバイス、スキャナなどの１又は２以上の入力／出力装置に、或いはネットワークアダプタなどを介してスイッチ又はルータなどのネットワーク装置に結合することができる。
【００５２】
コンピュータ装置５００は、図示のような複数の異なる形態で実装することができる。例えば、コンピュータ装置５００は、標準サーバ５００ａとして、又は一群のこのようなサーバ５００ａにおいて複数回、ラップトップコンピュータ５００ｂとして、或いはラックサーバシステム５００ｃの一部として実装することができる。
【００５３】
本明細書で説明したシステム及び技術の様々な実装は、デジタル電子回路及び／又は光回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、及び／又はこれらの組み合わせで実現することができる。これらの様々な実装は、ストレージシステム、少なくとも１つの入力装置及び少なくとも１つの出力装置との間でデータ及び命令を送受信するように結合された、専用又は汎用とすることができる少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能及び／又は解釈可能な１又は２以上のコンピュータプログラムでの実装を含むことができる。
【００５４】
これらの（プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとしても知られている）コンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高水準手続き型言語及び／又はオブジェクト指向型プログラミング言語、及び／又はアセンブリ／機械言語で実装することができる。本明細書で使用する「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令及び／又はデータを提供するために使用されるあらゆるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置及び／又はデバイス（例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理装置（ＰＬＤ））を意味する。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び／又はデータを提供するために使用されるあらゆる信号を意味する。
【００５５】
本明細書で説明したプロセス及びロジックフローは、１又は２以上のコンピュータプログラムを実行する１又は２以上のプログラマブルプロセッサによって、入力データに作用して出力を生成することによって機能を実行するように実行することができる。プロセス及びロジックフローは、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）などの専用論理回路によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサとしては、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びにいずれか１つ又は２つのあらゆる種類のデジタルコンピュータのプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、或いはこれらの両方から命令及びデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサ、並びに命令及びデータを記憶するための１又は２以上のメモリデバイスである。一般に、コンピュータは、磁気ディスク、光磁気ディスク又は光学ディスクなどの、データを記憶する１又は２以上の大容量記憶装置も含み、或いはこのような記憶装置との間でデータの受け取り及びデータの転送、又はこれらの両方を行うように動作可能に結合される。しかしながら、コンピュータは、このような装置を有していなくてもよい。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体としては、一例としてＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク又は取り外し可能ディスクなどの磁気ディスク、磁気光学ディスク、並びにＣＤ  ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む、全ての形態の不揮発性メモリ、媒体及びメモリデバイスが挙げられる。プロセッサ及びメモリは、専用論理回路によって補完することも、或いは専用論理回路に組み込むこともできる。
【００５６】
本開示の１又は２以上の態様は、ユーザとの相互作用を可能にするために、ＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニタ又はタッチ画面などの、ユーザに情報を表示するためのディスプレイ装置と、任意にユーザがコンピュータに入力を提供できるようにするキーボード、及びマウス又はトラックボールなどのポインティングデバイスとを有するコンピュータに実装することができる。他の種類の装置を用いてユーザとの相互作用を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック又は触覚フィードバックなどのあらゆる形の感覚フィードバックとすることができ、ユーザからの入力は、音響入力、発話入力又は触覚入力を含むあらゆる形で受け取ることができる。また、コンピュータは、ユーザが使用する装置との間で文書を送受信することにより、例えばユーザのクライアント装置上のウェブブラウザから受け取った要求に応答してこのウェブブラウザにウェブページを送信することによってユーザとの相互作用を行うこともできる。
【００５７】
複数の実装について説明した。それでもなお、本開示の趣旨及び範囲から逸脱することなく様々な修正を行うことができると理解されるであろう。従って、以下の特許請求の範囲には他の実装も含まれる。
【符号の説明】
【００５８】
１０  自動コンテンツ認識環境
２０  ユーザ
３０  メディア装置
１００  放送層
１０２  放送局
１０４  放送配信業者
１１０  追加コンテンツ層
１１２  商用プロバイダ
１１４  広告主
１２０  ネットワーク層
１３０  装置層
１３２  ＡＣＲモジュール
２００  フィンガープリンタ
２１０  サーバ
２１２  データ処理ハードウェア
２１４  メモリハードウェア
２２０  フィンガープリント生成器
２３０  フィンガープリント
２４０  メタデータ
Ｓ  メディアストリーム
ＳB  放送メディアストリーム
ＳC  追加メディアコンテンツ
ＳD  メディア装置ストリーム
ＳN  ネットワークメディアストリーム
【図１Ａ】
2020533918.tif 000003
【図１Ｂ】
2020533918.tif 000004
【図２】
2020533918.tif 000005
【図３Ａ】
2020533918.tif 000006
【図３Ｂ】
2020533918.tif 000007
【図３Ｃ】
2020533918.tif 000008
【図４】
2020533918.tif 000009
【図５】
2020533918.tif 000010
【国際調査報告】
2020533918.tif 000011
2020533918.tif 000012