(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-02
(45)【発行日】2022-08-10
(54)【発明の名称】自動コンテンツ認識によるコールドマッチング
(51)【国際特許分類】
H04N 21/235 20110101AFI20220803BHJP
H04N 21/654 20110101ALI20220803BHJP
【FI】
H04N21/235
H04N21/654
(21)【出願番号】P 2020515170
(86)(22)【出願日】2018-09-10
(86)【国際出願番号】 US2018050230
(87)【国際公開番号】W WO2019055344
(87)【国際公開日】2019-03-21
【審査請求日】2020-05-11
(32)【優先日】2017-09-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521212432
【氏名又は名称】ロク インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100151987
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】チェン ジュイクン
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】国際公開第2016/027457(WO,A1)
【文献】国際公開第2016/106177(WO,A1)
【文献】特開2008-011316(JP,A)
【文献】国際公開第2016/200622(WO,A1)
【文献】欧州特許出願公開第02437498(EP,A1)
【文献】特表2014-519660(JP,A)
【文献】米国特許出願公開第2010/0166250(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/235
H04N 21/654
(57)【特許請求の範囲】
【請求項1】
メディア装置において視聴するために提供されるメディアを識別する方法であって、
データ処理ハードウェアにおいて、放送メディアストリームのシーケンシャル放送フレームを示す放送フィンガープリントを受け取り、ここで、前記シーケンシャル放送フレームは、前記放送メディアストリームの第1の期間に対応するものであるステップと、
前記データ処理ハードウェアによって、前記メディア装置において視聴するために提供されるメディア装置ストリームのシーケンシャルメディア装置フレームを示すメディア装置フィンガープリントの探索ブロックをコンパイルし、ここで、前記探索ブロックの前記シーケンシャルメディア装置フレームは、前記メディア装置ストリームの第2の期間に対応するものであり、前記第2の期間は、前記第1の期間よりも短いものであるステップと、
前記データ処理ハードウェアによって、(i)前記メディア装置ストリームの前記第2の期間に対応する前記シーケンシャルメディア装置フレームを示す前記メディア装置フィンガープリントの前記探索ブロックと、(ii)前記放送メディアストリームの前記第1の期間に対応する前記シーケンシャル放送フレームを示す前記放送フィンガープリントを比較するステップと、
前記データ処理ハードウェアによって、前記比較することに基づいて、前記探索ブロックの少なくとも1つのメディア装置フィンガープリントと前記放送フィンガープリントの少なくとも1つとの一致相関を確立し、ここで、前記少なくとも1つのメディア装置フィンガープリントは、前記
シーケンシャルメディア装置フレームの少なくとも1つに対応するものであり、前記少なくとも1つの放送フィンガープリントは、前記
シーケンシャル放送フレームの少なくとも1つに対応するものであるステップと、
前記データ処理ハードウェアによって、確立された前記一致相関に基づいて、前記少なくとも1つの
シーケンシャルメディア装置フレームが、前記少なくとも1つの
シーケンシャル放送フレームに対応するメタデータを有すると判定し、ここで、前記メタデータは、放送チャンネル識別とフレーム位置を含むステップと、
を含むことを特徴とする方法。
【請求項2】
前記データ処理ハードウェアが、複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいるかどうかを判定するステップと、
複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいる場合、(i)前記データ処理ハードウェアが、前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが前記放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定し、(ii)前記データ処理ハードウェアが、前記一致相関を前記探索ブロックと前記放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記データ処理ハードウェアが、前記放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントの前記メディア装置フィンガープリントに対応する前記
シーケンシャルメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む、
請求項2に記載の方法。
【請求項4】
各フィンガープリントは、前記対応するメディアストリームのフレームの少なくとも1つのピクセル値を表す、
請求項1から3のいずれか1項に記載の方法。
【請求項5】
各フィンガープリントは、対応するフレームのグレースケール値の合計を表す平均ピクセル値である、
請求項1から4のいずれか1項に記載の方法。
【請求項6】
各フィンガープリントは、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す、
請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記対応するフレームの各フィンガープリントは、前記対応するフレームの4×4配列を定める16個のサブフレームの各平均ピクセル値に対応する16個の整数ベクトルとして表される、
請求項6に記載の方法。
【請求項8】
前記メディア装置フィンガープリントの前記探索ブロックと前記放送フィンガープリントを比較することは、前記探索ブロックと複数の放送フィンガープリントによって定められるデータベース構造とを比較することをさらに含み、前記データベース構造は二分探索木である、
請求項1から7のいずれか1項に記載の方法。
【請求項9】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアと、
を備えたシステムであって、前記メモリハードウェアは命令を記憶しており、該命令は、前記データ処理ハードウェア上で実行された時に、前記データ処理ハードウェアに、
放送メディアストリームのシーケンシャル放送フレームを示す放送フィンガープリントを受け取り、ここで、前記シーケンシャル放送フレームは、前記放送メディアストリームの第1の期間に対応するものであるステップと、
メディア装置において視聴するために提供されるメディア装置ストリームのシーケンシャルメディア装置フレームを示すメディア装置フィンガープリントの探索ブロックをコンパイルし、ここで、前記探索ブロックの前記シーケンシャルメディア装置フレームは、前記メディア装置ストリームの第2の期間に対応するものであり、前記第2の期間は、前記第1の期間よりも短いものであるステップと、
(i)前記メディア装置ストリームの前記第2の期間に対応する前記シーケンシャルメディア装置フレームを示す前記メディア装置フィンガープリントの前記探索ブロックと、(ii)前記放送メディアストリームの前記第1の期間に対応する前記シーケンシャル放送フレームを示す前記放送フィンガープリントを比較するステップと、
前記比較することに基づいて、前記探索ブロックの少なくとも1つのメディア装置フィンガープリントと前記放送フィンガープリントの少なくとも1つとの一致相関を確立し、ここで、前記少なくとも1つのメディア装置フィンガープリントは、前記
シーケンシャルメディア装置フレームの少なくとも1つに対応するものであり、前記少なくとも1つの放送フィンガープリントは、前記
シーケンシャル放送フレームの少なくとも1つに対応するものであるステップと、
確立された前記一致相関に基づいて、前記少なくとも1つの
シーケンシャルメディア装置フレームが、前記少なくとも1つの
シーケンシャル放送フレームに対応するメタデータを有すると判定し、ここで、前記メタデータは、放送チャンネル識別とフレーム位置を含むステップと、
を含む動作を実行させる、ことを特徴とするシステム。
【請求項10】
前記動作は、
複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいるかどうかを判定するステップと、
複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいる場合、(i)前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが前記放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定し、(ii)前記一致相関を前記探索ブロックと前記放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップと、
をさらに含む、請求項9に記載のシステム。
【請求項11】
前記動作は、前記放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントの前記メディア装置フィンガープリントに対応する前記
シーケンシャルメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む、
請求項10に記載のシステム。
【請求項12】
各フィンガープリントは、前記対応するメディアストリームのフレームの少なくとも1つのピクセル値を表す、
請求項9から11のいずれか1項に記載のシステム。
【請求項13】
各フィンガープリントは、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す、
請求項9から12のいずれか1項に記載のシステム。
【請求項14】
前記対応するフレームの各フィンガープリントは、前記対応するフレームの4×4配列を定める16個のサブフレームの各平均ピクセル値に対応する16個の整数ベクトルとして表される、
請求項13に記載のシステム。
【請求項15】
前記メディア装置フィンガープリントの前記探索ブロックと前記放送フィンガープリントを比較することは、前記動作は、前記探索ブロックと複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含み、前記データベース構造は二分探索木である、
請求項9から14のいずれか1項に記載のシステム。
【請求項16】
放送メディアストリームのシーケンシャル放送フレームを示す放送フィンガープリントを受け取り、ここで、前記シーケンシャル放送フレームは、前記放送メディアストリームの第1の期間に対応するものであるステップと、
メディア装置において視聴するために提供されるメディア装置ストリームのシーケンシャルメディア装置フレームを示すメディア装置フィンガープリントの探索ブロックをコンパイルし、ここで、前記探索ブロックの前記シーケンシャルメディア装置フレームは、前記メディア装置ストリームの第2の期間に対応するものであり、前記第2の期間は、前記第1の期間よりも短いものであるステップと、
(i)前記メディア装置ストリームの前記第2の期間に対応する前記シーケンシャルメディア装置フレームを示す前記メディア装置フィンガープリントの前記探索ブロックと、(ii)前記放送メディアストリームの前記第1の期間に対応する前記シーケンシャル放送フレームを示す前記放送フィンガープリントを比較するステップと、
前記比較することに基づいて、前記探索ブロックの少なくとも1つのメディア装置フィンガープリントと前記放送フィンガープリントの少なくとも1つとの一致相関を確立し、ここで、前記少なくとも1つのメディア装置フィンガープリントは、前記
シーケンシャルメディア装置フレームの少なくとも1つに対応するものであり、前記少なくとも1つの放送フィンガープリントは、前記
シーケンシャル放送フレームの少なくとも1つに対応するものであるステップと、
確立された前記一致相関に基づいて、前記少なくとも1つの
シーケンシャルメディア装置フレームが、前記少なくとも1つの
シーケンシャル放送フレームに対応するメタデータを有すると判定し、ここで、前記メタデータは、放送チャンネル識別とフレーム位置を含むステップと、
を含む動作をプロセッサにより実行可能なプログラム命令を記憶した非一時的メモリ。
【請求項17】
前記動作は、
複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいるかどうかを判定するステップと、
複数の放送フィンガープリントとの前記一致相関を有する少なくとも1つのメディア装置フィンガープリントを前記探索ブロックが含んでいる場合、(i)前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが前記放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定し、(ii)前記一致相関を前記探索ブロックと前記放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップと、
をさらに含む、請求項16に記載の非一時的メモリ。
【請求項18】
前記動作は、前記放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する前記探索ブロックの前記少なくとも1つのメディア装置フィンガープリントの前記メディア装置フィンガープリントに対応する前記
シーケンシャルメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む、
請求項
17に記載の非一時的メモリ。
【請求項19】
前記メディア装置フィンガープリントの前記探索ブロックと前記放送フィンガープリントを比較することは、前記動作は、前記探索ブロックと複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含み、前記データベース構造は二分探索木である、
請求項16から18のいずれか1項に記載の非一時的メモリ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動コンテンツ認識に関し、具体的には、自動コンテンツ認識によるコールドマッチングに関する。
【背景技術】
【0002】
今日ではメディア装置がますます一般的になってきており、テレビなどの家庭内に欠かせないものからメディアの消費者と共に移動するモバイル装置にまで及ぶことができる。テレビ、セットトップボックス、携帯電話機、ラップトップ及びタブレットなどのメディア装置は、様々なソースからのメディアコンテンツにアクセスしてこれらを検索することができる。例えば、メディア装置は、衛星、無線放送、或いは有線又は無線接続からのストリーミングシステムを介してメディアコンテンツを受け取ることができる。メディア装置の使用が増加し続けるにつれ、メディア装置がメディアコンテンツに接続することも増えた。この増加とともに新たなメディアコンテンツ市場が出現し、古いメディアコンテンツ市場は、メディア消費者とコンテキスト的に関連するメディアコンテンツを理解して提供するように適応してきた。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の1つの態様は、自動コンテンツ認識によるコールドマッチングのための方法を提供する。この方法は、データ処理ハードウェアにおいて、放送メディアストリームの放送フレームを示す放送フィンガープリントを受け取るステップを含む。方法は、データ処理ハードウェアにおいて、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントを受け取るステップも含む。方法は、データ処理ハードウェアが、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを含んでいると判定するステップをさらに含む。一致相関は、ピアソンの相関係数に基づく。方法は、データ処理ハードウェアが、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップも含む。
【0004】
本開示の実装は、以下の任意の特徴うちの1つ又は2つ以上を含むことができる。いくつかの実装では、方法が、複数の放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいるかどうかをデータ処理ハードウェアが判定するステップを含む。複数の放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、方法は、データ処理ハードウェアが、探索ブロックの少なくとも1つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定するステップと、データ処理ハードウェアが、一致相関を探索ブロックと放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップとを含む。方法は、データ処理ハードウェアが、放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する探索ブロックの少なくとも1つのメディア装置フィンガープリントのメディア装置フィンガープリントに対応するメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む。
【0005】
方法の様々な実装では、方法の各フィンガープリントが、対応するメディアストリームのフレームの少なくとも1つのピクセル値、対応するフレームのグレースケール値の合計を表す平均ピクセル値、又は対応するフレーム内のサブフレームの複数の平均ピクセル値を表す。いくつかの例では、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す各フィンガープリントが、対応するフレームの4×4配列を定める16個のサブフレームの各平均ピクセル値に対応する16個の整数ベクトルとして表される。
【0006】
方法のいくつかの実装では、放送フレームが放送メディアコンテンツの第1の期間に対応し、メディア装置フレームがメディア装置コンテンツの第2の期間に対応する。第1の期間は、第2の期間よりも長い。方法は、データ処理ハードウェアが、一致メディア装置フレームを、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む。方法は、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、データ処理ハードウェアが、探索ブロックと複数の放送フィンガープリントによって定められるデータベース構造とを比較するステップをさらに含むことができる。データベース構造は、二分探索木である。
【0007】
本開示の別の態様は、自動コンテンツ認識によるコールドマッチングのためのシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行された時にデータ処理ハードウェアに動作を実行させる命令を記憶する。これらの動作は、放送メディアストリームの放送フレームを示す放送フィンガープリントを受け取るステップと、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントを受け取るステップとを含む。動作は、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを含んでいると判定するステップも含む。一致相関は、ピアソンの相関係数に基づく。動作は、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップをさらに含む。
【0008】
いくつかの実装では、動作が、複数の放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいるかどうかを判定するステップをさらに含む。複数の放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、動作は、探索ブロックの少なくとも1つのメディア装置フィンガープリントに対応する、各放送フィンガープリントが放送メディアストリームのシーケンシャルに隣接する放送フレームの放送フィンガープリントである放送フィンガープリントセットを決定するステップと、一致相関を探索ブロックと放送フィンガープリントセットとの間のピアソンの相関係数として決定するステップとを含む。動作は、放送フィンガープリントセットの一致放送フィンガープリントとの間に最大のピアソンの相関係数を有する探索ブロックの少なくとも1つのメディア装置フィンガープリントのメディア装置フィンガープリントに対応するメディア装置フレームを一致メディア装置フレームとして決定するステップをさらに含む。
【0009】
システムの様々な実装では、方法の各フィンガープリントが、対応するメディアストリームのフレームの少なくとも1つのピクセル値、対応するフレームのグレースケール値の合計を表す平均ピクセル値、又は対応するフレーム内のサブフレームの複数の平均ピクセル値を表す。いくつかの例では、対応するフレーム内のサブフレームの複数の平均ピクセル値を表す各フィンガープリントが、対応するフレームの4×4配列を定める16個のサブフレームの各平均ピクセル値に対応する16個の整数ベクトルとして表される。
【0010】
システムは、放送メディアコンテンツの第1の期間に対応する放送フレームと、メディア装置コンテンツの第2の期間に対応するメディア装置フレームとを含むこともできる。第1の期間は、第2の期間よりも長い。いくつかの実装では、動作が、一致メディア装置フレームを、フレーム番号及び関連する放送チャンネルを含むフレームデータに関連付けるステップをさらに含む。
【0011】
いくつかの例では、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを探索ブロックが含んでいる場合、動作が、探索ブロックと複数の放送フィンガープリントによって定義されるデータベース構造とを比較するステップをさらに含み、データベース構造は二分探索木である。
【0012】
添付図面及び以下の説明に、本開示の1又は2以上の実装の詳細を示す。これらの説明及び図面、並びに特許請求の範囲からは、他の態様、特徴及び利点も明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1A】自動コンテンツ認識環境例の概略図である。
【
図1B】自動コンテンツ認識環境例の概略図である。
【
図2】自動コンテンツ認識環境のサーバ例の概略図である。
【
図3A】メディア装置に対応する照合器例の透視図である。
【
図3B】メディア装置に対応する照合器例の透視図である。
【
図3C】メディア装置に対応する照合器例の透視図である。
【
図4】自動コンテンツ認識ルーチンが実行できる動作構成例のフロー図である。
【
図5】本明細書で説明するシステム及び方法を実装するために使用できるコンピュータ装置例の概略図である。
【発明を実施するための形態】
【0014】
様々な図面における同じ参照記号は同じ要素を表す。
【0015】
一般に、自動コンテンツ認識(ACR)は、メディア装置上又はメディアファイル内のメディアコンテンツを識別する自動プロセスである。ACRは、日々社会によって消費される大量のメディアコンテンツを識別するためにますます有用になってきている。商業的視点から見れば、企業及びその他のエンティティは、ACRによってメディアコンテンツの消費を理解し、場合によってはメディアコンテンツの消費者(すなわち、メディア装置ユーザ)のマーケティング又はターゲッティングをさらに効率的に行うことができる。例えば、メディア装置のユーザに対して広告が個別化されれば、広告又は提案がさらに効果的になる可能性がある。従って、放送局、商用プロバイダ、広告主及びその他のコンテンツエンティティは、どの番組が視聴されているか、或いはさらに具体的には視聴中に番組内のどこにユーザが存在するかを知りたいと望んでいる。メディア装置ユーザは、この種の情報によってさらに正確に対象化されたメディアコンテンツを受け取ることができる。
【0016】
図1Aは、ACR環境10の例である。ACR環境10は、メディア装置30のユーザ20(すなわち、視聴者)にメディアコンテンツを配信するための複数の層を含むことができる。
図1Aでは、メディアコンテンツ配信プロセスを放送層100、追加コンテンツ層110、ネットワーク層120及び装置層130という4つの層に単純化するように試みている。各層100、110、120、130は、メディアストリームSに影響を与えるエンティティを有することができる。放送層100は、放送メディアストリームS
Bの生成に関与し得る放送エンティティを表す。これらの放送エンティティは、放送局102及び放送配信業者104を含むことができる。放送局102は、地方放送局、多チャンネルネットワーク又はその他のメディアコンテンツ所有者などの、1又は2以上のメディアコンテンツプロバイダとすることができる。放送配信業者104は、メディアコンテンツを配信するためのインフラ又はリソース(例えば、信号線、通信タワー、通信アンテナ、サーバなど)を提供する放送エンティティである。放送局102及び放送配信業者104は、提供されるメディアコンテンツのタイプ又はメディアコンテンツを受け取るメディア装置のタイプなどの放送変数(broadcasting variables)に応じて、同じ放送エンティティ又は異なる放送エンティティとすることができる。
【0017】
いくつかの実装では、放送メディアストリームSBが、追加コンテンツ層110として表すコンテンツエンティティからの追加メディアコンテンツSCを含む。これらのコンテンツエンティティは、商用プロバイダ112、広告主114、又は放送メディアストリームSBに追加メディアコンテンツSCを提供するその他のエンティティを含む。一般に、商用プロバイダ112は、追加メディアコンテンツSCを作成及び/又はホストするコンテンツエンティティであるのに対し、広告主114は、広告、提案、取引、割引、利益又はその他の商品及び/又はサービスプロモーションなどのコンテンツを含む追加メディアコンテンツSCを生成するコンテンツエンティティである。これに加えて、又はこれとは別に、商用プロバイダ112及び広告主114は、同じコンテンツエンティティとすることもできる。追加コンテンツ層110は、放送層100、ネットワーク層120、装置層130、又はこれらの任意の組み合わせに追加メディアコンテンツSCを伝えることができる。任意に、追加コンテンツ層110は、追加メディアコンテンツSCと放送メディアストリームSBとを一組にして、追加メディアコンテンツSCを含む複合放送メディアストリームSB、SCを形成することもできる。
【0018】
さらに
図1Aを参照すると、ネットワーク層120は、放送層110及び/又は追加コンテンツ層110から放送メディアストリームS
B及び追加メディアコンテンツS
Cを受け取るように構成される。例えば、ネットワーク層120は、放送層100からメディアストリームSを受け取る場合、追加メディアコンテンツS
Cを含む放送メディアストリームS
B、又は追加メディアコンテンツS
Cから独立した放送メディアストリームS
Bを受け取ることができる。同様に、ネットワーク層120は、追加コンテンツ層110からメディアストリームSを受け取る場合、追加メディアコンテンツS
Cを含む放送メディアストリームS
B、又は追加メディアコンテンツS
Cから独立した放送メディアストリームS
Bを受け取ることができる。いくつかの実装では、ネットワーク層120が、放送層100からの放送メディアストリームS
Bと追加コンテンツ層110からの追加メディアコンテンツS
Cとを一組にして、追加メディアコンテンツS
Cで満たされた放送メディアストリームS
Bを表すネットワークメディアストリームS
Nを生成することができる。
【0019】
ネットワーク層120は、フィンガープリンタ200を含む。フィンガープリンタ200は、データ処理ハードウェア212とメモリハードウェア214とを有するサーバ210上で動作するように構成される。フィンガープリンタ200は、放送フィンガープリント生成器220を含む。ネットワーク層120は、フィンガープリント222とフィンガープリント222に関連するメタデータ224とをフィンガープリントデータベース230及び/又はメタデータデータベース240に記憶するように構成することができる。一般に、フィンガープリント222は、メディアストリームSの少なくとも1つのフレームFnに対応する少なくとも1つの一意的な識別子である。例えば、この少なくとも1つの一意的な識別子は、値(例えば、ピクセル値)、英数字表現、又はオーディオビジュアル画像の圧縮版とすることができる。これに加えて、又はこれとは別に、ネットワーク層120は、放送メディアストリームSB、追加メディアコンテンツSC、又はこれらの両方を記憶するようにも構成される。
【0020】
図1Aには、あらゆる層(すなわち、放送層100、追加コンテンツ層110、又はネットワーク層120)が装置層130と通信できることも示す。装置層130では、テレビ、PC、ラップトップ、タブレット又は携帯電話機などのメディア装置130がメディア装置ストリームS
D(例えば、放送メディアストリームS
B、追加コンテンツストリームS
C又はネットワークメディアストリームS
Nの任意の組み合わせ)を受け取り、対応するメディア装置ストリームS
D(例えば、放送メディアストリームS
B、追加コンテンツストリームS
C又はネットワークメディアストリームS
Nの任意の組み合わせ)の全部又は一部をユーザ20に伝えることができる。装置は、何らかの形のメディアコンテンツを受信又は通信するように構成された、メディア装置30に関連するあらゆるハードウェア又はあらゆるソフトウェアを意味することができる。さらに、装置は、データ処理ハードウェア及び/又はメモリハードウェアを含むことができる。いくつかの実装では、メディア装置30を、対応するメディアストリーム(例えば、放送メディアストリームS
B、追加コンテンツストリームS
C又はネットワークメディアストリームS
Nの任意の組み合わせ)を解釈し、又はこのようなメディアストリームと相互作用するように構成することができる。例えば、メディア装置30は、放送メディアストリームS
Bからの追加メディアコンテンツS
Cを識別する。メディア装置30は、放送メディアストリームS
Bの追加メディアコンテンツS
Bを代替メディアコンテンツに置き換え、又は放送メディアストリームS
Bの追加メディアコンテンツS
Bに代替メディアコンテンツを重ね合わせることができる。メディア装置30は、放送メディアストリームS
B、S
Cを所定のコンテンツについてフィルタ処理することができる。これに加えて、又はこれとは別に、メディア装置30は、メディアストリーム(例えば、放送メディアストリームS
B、追加コンテンツストリームS
C又はネットワークメディアストリームS
Nの任意の組み合わせ)に関連する情報又はデータを、放送層100、追加コンテンツ層110、ネットワーク層120、又は装置層130の他のメディア装置30に通信するように構成することもできる。メディア装置30は、ACRモジュール132を実行し、又はACRモジュール132を実行する他のデータ処理ハードウェアと通信することができる。ACRモジュール132は、メディアストリームの一部をサンプリングし、サンプルを処理し、このサンプルを、オーディオ又はビデオフィンガープリント又はウォーターマークなどの一意的な特徴によってコンテンツを識別するソースサービスと比較することに基づいて、メディアストリーム内のコンテンツ要素(例えば、オーディオ、ビデオ又はデジタル画像)を識別するように構成することができる。
【0021】
図1Bは、ACR環境10の例である。ACR環境10は、放送局102と、フィンガープリンタ200と、(ACRモジュール132の一部とすることができる)照合器300とを含む。放送局102は、放送メディアストリームS
B、S
CをチャンネルCh
1~nによって放送フレームレートRBでフィンガープリンタ200に送信する。放送フレームレートR
Bは、放送メディアストリームS
B、S
Cを放送フレームF
1~nに分割し、各放送フレームF
1~nは、放送メディアストリームS
B内のピクセルによって表されるオーディオビジュアル画像に対応する。フィンガープリンタ200は、各放送フレームF
1~nを放送フィンガープリント生成器220において受け取るように構成される。放送フィンガープリント生成器220は、各放送フレームF
1~nを受け取り、各放送フレームF
1~nを示す放送フィンガープリント222、222aを生成するように構成される。一般に、放送フィンガープリント222、222aは、少なくとも1つの放送フレームF
1~nに対応する少なくとも1つの一意的な識別子である。フィンガープリンタ200は、各放送フィンガープリント222、222aをフィンガープリントデータベース230などのデータベースに記憶することができる。いくつかの例では、フィンガープリンタ200が、フレーム位置(例えば、フレーム時間コード)、フレームタイプ(例えば、生番組又は広告)又はフィンガープリント識別子タグなどの、放送フレームF
1~nに対応するメタデータ224に従って又はメタデータ224と共に各放送フィンガープリント222、222aを記憶する。他の例では、フィンガープリンタ200が、各放送フィンガープリント222、222aのメタデータ224に対応する1又は複数の個別のデータベースを有する。フィンガープリンタ200は、メタデータ224のための個別のデータベースによってより多くの放送フィンガープリント222、222aを記憶することができる。
【0022】
さらに
図1Bを参照すると、放送局102は、放送メディアストリームS
B、S
Cをメディア装置30にも送信する。メディア装置30は、放送局102からの放送メディアストリームS
B、S
Cをメディア装置ストリームS
Dとして受け取る。メディア装置30は、メディア装置ストリームS
BからメディアフレームF
D1~nを取り込み、取り込んだメディアフレームF
D1~nを照合器300に伝えるように構成される。
図1Bに示す例では、メディア装置30が、メディア装置ストリームS
Dを受け取るテレビ30、30a(TV)である。例えば、テレビ30、30aは、テレビチャンネルCh
1~nをメディア装置ストリームS
Dとして受け取る。他のタイプのメディア装置30も可能である。
【0023】
いくつかの実装では、放送局102が、放送メディアストリームSB、SCを放送フレームレートRBで提供する。(例えば、TV30、30aとして示す)メディア装置30は、放送メディアストリームSB、SCを対応する放送フレームレートRBでメディア装置ストリームSDとして受け取ることができる。多くの場合、放送フレームレートRBは、放送フォーマットの様々な業界標準(例えば、1080 60i、720 60Pなど)に対応する。例えば、いくつかの一般的な放送フレームレートRBとしては、30P(毎秒29.97フレーム)、24P(毎秒23.98フレーム)及び60P(毎秒59.94フレーム)が挙げられる。メディア装置30は、メディア装置ストリームSDのフレームFD1~nをメディア装置フレームレートRMDで取り込むように構成することができる。メディア装置フレームレートRMDとは、対応するメディア装置30が取り込んだフレームFD1~nを照合器300に提供するフレームレートのことである。いくつかの実装では、メディア装置30が、メディア装置ストリームSDを放送フレームレートRBで受け取るように構成されるが、メディア装置ストリームSDのフレームFD1~nについては照合器300のためのメディア装置フレームレートRMDで取り込むように構成される。例えば、放送フレームレートRBは、メディア装置フレームレートRMDとは異なる。この違いの一例では、放送フレームレートRBの方がメディア装置フレームレートRMDよりも大きい(例えば、放送フレームレートは30Pであり、メディア装置フレームレートは毎秒4フレームである)。フレームレートの違いは、メディア装置30におけるフレーム取り込みハードウェア又はソフトウェアに関連するリソース制約(例えば、CPU、メモリなど)に起因することもできる。
【0024】
いくつかの例では、照合器300が、フィンガープリント結果セット232と、メディア装置ストリームSDからのメディア装置フレームFD1~nとを受け取る。フィンガープリント結果セット232は、フィンガープリンタ200において取り込まれて照合器300に伝えられる一連の放送フィンガープリント222、222aに対応する。フィンガープリント結果セット232の利点は、フィンガープリンタ200及び照合器300が、フィンガープリンタ200によって生成された全ての放送フィンガープリント222、222aではなく、その一部を伝えることができる点である。フィンガープリント結果セット232は、フィンガープリントデータベース230の放送フィンガープリント222、222aの一部として、照合器300が効率的に処理できるデータサイズとすることができる。照合器300は、メディア装置フレームFD1~nを放送フレームF1~nと比較して、一致するフレームFn、FDnを識別することができる。照合器300は、テレビ30、30aの内部装置(例えば、テレビ30、30aのハードウェア又はソフトウェア)とすることも、或いはテレビ30、30aと通信する外部装置(例えば、ヘッドエンドシステム又はセットトップボックス)とすることもできる。いくつかの実装では、フィンガープリント結果セット232が、一定量のシーケンシャル放送フィンガープリント(sequential broadcast fingerprints)222、222aに対応する。例えば、フィンガープリント結果セット232は、5分の放送フレームF1~nに対応するシーケンシャル放送フィンガープリント222、222aを含む。換言すれば、放送フレームレートRBが毎秒30フレームである場合、フィンガープリント結果セット232は、5分間にわたる9000個のシーケンシャル放送フレームF1-9000に対応する9000個のシーケンシャル放送フィンガープリント222、222aを含む。
【0025】
図2は、フィンガープリンタ200の放送フィンガープリント生成器220の例である。放送フィンガープリント生成器220は、放送メディアストリームS
B、S
CのチャンネルCh
1~nに対応する放送フレームF
1~nを受け取る。放送フィンガープリント生成器220は、受け取った各放送フレームF
1~nについて放送フィンガープリント222、222aを生成し、これらをフィンガープリントデータベース230に記憶することができる。いくつかの例では、各放送フィンガープリント222、222aが、対応する放送メディアストリームS
Bの放送フレームF
1~nの少なくとも1つのピクセル値V
Pを表す。少なくとも1つのピクセル値V
Pは、放送フレームF
1~nの平均ピクセル値又は色空間値の合計とすることができる。例えば、放送フィンガープリント生成器220がグレーUV(YUV)色空間に従って放送フィンガープリント222、222aを生成する場合、少なくとも1つのピクセル値V
Pは、対応する放送フレームF
1~nのグレースケール値の合計及び/又は平均を表すことができる。換言すれば、対応する放送フレームF
1~nの各ピクセルは、放送フィンガープリント222、222aがピクセル領域のグレースケール値の合計及び/又は平均を表すようにグレースケール値によって表される。いくつかの実装では、フィンガープリント222(例えば、放送フィンガープリント222、222a)が、対応する放送フレームF
1~nのサブフレームF
subに基づく一意的な識別子である。各サブフレームF
subは、サブフレームF
sub当たりのピクセルに応じて、対応するピクセル値V
P又は対応する平均ピクセル値を有することができる。
【0026】
一般に、フィンガープリント222は、ACR環境10内の不正確さの原因となり得る。この不正確さが生じる理由は、連続するメディア装置フレームFD1~nと連続する放送フレームF1~nとが非常に類似することにより、連続するフレームが、これらを大幅に変化させるシーン変化が生じない限り時間と共にわずかしか変化しないからである。通常は、連続するフレームFD1~n間の変化がほんのわずかであるため、1つ又は少数のピクセル値VPに基づくフィンガープリント222は、同じ数のピクセルに基づく連続するフィンガープリント222に非常に類似し得る。従って、ACR環境10におけるフィンガープリント222間の照合プロセスでは、潜在的照合エラー(例えば、偽一致)が生じることがある。換言すれば、たとえ実際にはユーザ20がメディア装置ストリームSDからのメディアコンテンツの一致メディア装置フレーム(match media device frame)FMDの前又は後のいくつかメディア装置フレームFD1~nを見ている場合でも、照合器300は、ユーザがメディア装置ストリームSDの1つのメディア装置フレームFD1~n(一致メディア装置フレームFMD)を見ていると判断してしまうことがある。
【0027】
図2には、サブフレームF
subに分割された放送フレームF
1~nに対応する放送フィンガープリント222a、F
1~nの例も示す。いくつかの例では、放送フィンガープリント生成器220が、各放送フレームF
1~nをサブフレームF
subに分割して、放送フレームF
1~nをより正確に比較又は区別することができる。サブフレームF
subでは、各フィンガープリント222が、対応するフレームF
1~nの複数の平均ピクセル値V
Pを表すことができる。各放送フレームF
1~nをサブフレームF
subに分割することにより、放送フィンガープリント生成中に、放送フレームF
1~n全体のピクセル値V
P(又は平均ピクセル値)に基づく放送フィンガープリント222、222aよりも多くの詳細(例えば、各サブフレームF
subのピクセル)が考慮される。従って、放送フィンガープリント生成器220が各放送フレームF
1~nを分割するサブフレームF
subの数は、望ましい精度レベルに依存する。例えば、
図2に示すように、放送フィンガープリント生成器220は、各放送フレームF
1~nを、4×4配列を定める16個のサブフレームF
subに分割する。16個のサブフレームF
subの各サブフレームF
subは、平均ピクセル値V
P11~44を有し、各放送フィンガープリント222aは、各サブフレームF
subに関連する整数値を有する16個の値の整数ベクトルによって各対応する放送フレームF
1~nを表すようになる。図には、各放送フレームF
1~n又は各メディア装置フレームF
D1~nを4×4配列として示しているが、あらゆるサブフレーム分割が可能である。
【0028】
一般的に言えば、ACRは、コールドマッチング及びホットマッチングという2段階に分けることができる。通常、コールドマッチングは、ACRの第1段階(又は識別段階)を意味する。識別段階中、ACRは、ユーザ20が見ているチャンネル、及び現在ユーザ20がチャンネル内のどこを見ているかを識別する。ACRは、識別段階を完了すると、ユーザ20が見ているチャンネルの更新又は変更についてユーザ20のメディア装置ストリームSDをモニタする。一般に、ホットマッチングは、このACRの第2段階又はモニタリング段階を意味する。多くの場合、コールドマッチングはネットワーク層120と装置層130との間で実行され、ホットマッチングは装置層130において実行されるが、ACRハードウェア及び/又はソフトウェアに結合された層間の接続性によって、ACR環境10内の任意の層又はこれらの層の任意の組み合わせが、情報の通信及び記憶を行ってコールドマッチング及び/又はホットマッチングを実行できるようにすることができる。
【0029】
図3A及び
図3Bは、メディア装置30(例えば、テレビ30、30a)の照合器300の例である。照合器300は、メディア装置ストリームS
Dから取り込まれたメディア装置フレームF
D1~nを受け取る。いくつかの構成では、照合器300が、取り込まれたメディア装置フレームF
D1~nをシーケンシャルメディア装置フレームF
D1~nのセットとして受け取る。照合器300は、メディア装置フレームF
D1~nをメディア装置フレームレートR
MDで受け取ることができる。メディア装置フレームレートR
MDは、放送フレームレートR
Bと同様とすることも、又は放送フレームレートR
Bとは異なることもできる。これに加えて、又はこれとは別に、照合器300は、取り込まれたメディア装置フレームF
D1~nを一様でない(例えば、一様なフレーム取り込みレートではない)形で受け取る。一例として、照合器300は、取り込まれたメディア装置フレームF
D1~nを、要求時に又はメディア装置30との選択的な通信時に受け取る。他の例では、照合器300とメディア装置30との間のタイミング遅延又は通信ラグにより、取り込まれたメディア装置フレームF
D1~nが照合器300において一様でない形で受け取られ、又は非シーケンシャルに取り込まれたメディア装置フレームF
D1~nが受け取られる。
【0030】
通常は、照合器300は、照合器フィンガープリント生成器310及び相関器320を含む。照合器フィンガープリント生成器310は、受け取ったメディア装置フレームFD1~nに基づいてメディア装置フィンガープリント222、222bを生成するように構成される。メディア装置フィンガープリント222、222bは、照合器300においてメディア装置30(例えば、テレビ30、30a)から受け取られた各メディア装置フレームFD1~nに対応するフィンガープリント222である。メディア装置フィンガープリント222、222bは、放送フィンガープリント222、222aに酷似した表現で各メディア装置フレームFD1~nを一意的な識別子として表すことができる。各メディア装置フィンガープリント222、222bは、各対応するメディア装置フレームFD1~nを、照合器300の相関器320が放送フィンガープリント222、222aをメディア装置フィンガープリント222、222bと比較できるような値又は一意的な識別子によって表す。例えば、照合器フィンガープリント生成器310は、対応するメディア装置ストリームSDのメディア装置フレームFD1~nの少なくとも1つのピクセル値VPを表すメディア装置フィンガープリント222、222bを生成することができる。少なくとも1つのピクセル値VPは、各メディア装置フレームFD1~nのサブフレームFsub(例えば、4×4配列を定める16個のサブフレームFsub)に対応することができ、従っていくつかの実装では、メディア装置フィンガープリント222、222bが各サブフレームFsubの少なくとも1つのピクセル値VPに対応する値のベクトルである。
【0031】
さらに
図3A及び
図3Bを参照すると、照合器300は、フレームF及び/又はフレームFに対応するフィンガープリント222間の一致相関(match correlation)322を判定する相関器320を含む。いくつかの例では、相関器320が、少なくとも1つのメディア装置フィンガープリント222、222bと少なくとも1つの放送フィンガープリント222、222aとの間の一致相関322を判定する。相関器320が一致相関322を識別すると、照合器300は、一致相関322に対応する少なくとも1つのメディア装置フレームF
D1~nを一致メディア装置フレームF
MDとして識別する。例えば、相関器320が、少なくとも1つのメディア装置フィンガープリント222、222bを少なくとも1つの放送フィンガープリント222、222aとの一致相関322を有するものとして識別すると、照合器300は、この少なくとも1つのメディア装置フィンガープリント222、222bを一致メディア装置フレームF
MDに対応するものとして識別する。照合器300は、一致メディア装置フレームF
MDを、フレーム番号及び関連する放送チャンネルを含むメタデータ224(例えばフレームデータ)に関連付けることができる。例えば、照合器300は、一致相関322の少なくとも1つの放送フィンガープリント222、222aに対応するメタデータ224を受け取る。照合器300は、一致メディア装置フレームF
MDを識別することによって、一致相関322の少なくとも1つの放送フィンガープリント222、222aに対応するメタデータ224を一致メディア装置フレームF
MDに関連付ける。換言すれば、一致相関322は、一致相関322の少なくとも1つのメディア装置フィンガープリント222、222bに対応する少なくとも1つのメディア装置フレームF
D1~nが、一致相関322の少なくとも1つの放送フィンガープリント222、222aに対応する少なくとも1つの放送フレームF
1~nと同様又は同一のメタデータ224を有するべきであることを意味する。
【0032】
一致相関322は、類似性(すなわち、関連性の強さ)を表す値である。いくつかの例では、一致相関322が統計的相関である。統計的相関は、一般にマイナス1から1までの範囲の2つの可変(すなわち、二変量)関係であり、ゼロは関係がないことを表し、負の値は反比例関係を表し、正の値は比例関係を表す。マイナス1から1までの範囲は関連性の強さを表すことができ、0に近い値は弱い相関を表し、1(すなわち、完全相関)に近い値は強い相関を表す。マイナス1から1までの範囲は、単純な統計的相関範囲を表すが、この範囲はシステム設計に応じて調整することができる。一致相関322は、一般に2つの変数の共分散を2つの変数の標準偏差の積によって除算したものであるピアソンの相関係数に基づくことが好ましい。一致相関322のためにはピアソンの相関係数が好ましいが、一致相関322はあらゆる相関係数に基づくことができる。他の統計的相関係数の例としては、ケンドールの順位相関又はスピアマンの相関が挙げられる。
【0033】
いくつかの例では、相関器320が、探索ブロック324をコンパイルすることによって一致相関322を判定する。探索ブロック324は、少なくとも1つのメディア装置フィンガープリント222、222b、又は複数のメディア装置フィンガープリント222、222bを含むことができる。いくつかの例では、探索ブロック324のメディア装置フィンガープリント222、222bが、メディア装置ストリームSDから取り込まれたシーケンシャルメディア装置フレームFDn+1、FD1~nに対応する。相関器320は、照合器フィンガープリント生成器310から、或いは照合器300内の又は照合器300と通信するメディア装置フィンガープリント222、222bのデータベースから、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bを受け取る。
【0034】
いくつかの実装では、相関器320が、探索ブロック324をフィンガープリントデータベース230に相関させることができる。しかしながら、これらの実装では、フィンガープリントデータベース230のサイズによってACRプロセスのリアルタイムの利点が減じてしまうことがある。従って、相関器320は、これらのリアルタイムの利点を減じる代わりに、フィンガープリント結果セット232の放送フィンガープリント222、222aに従って一致相関322を判定することができる。例えば、フィンガープリント結果セット232のシーケンシャル放送フレームF1~nは放送メディアストリームSBの第1の期間t1に対応し、探索ブロック324はメディア装置ストリームSDの第2の期間t2に対応し、第1の期間t1は第2の期間t2よりも長い。第1の期間t1が第2の期間t2よりも長いことにより、このACR環境10では、照合器300がリアルタイムな処理速度を維持しながら、少なくとも1つの放送フィンガープリント222、222aとの一致相関322を有する少なくとも1つのメディア装置フィンガープリント222、222bを確実に識別することができる。
【0035】
いくつかの構成では、探索ブロック324が、メディア装置30(例えば、テレビ30、30a)において取り込まれた最新のメディア装置フレームFD1~nに対応する最新のメディア装置フィンガープリント222、222bRを、少なくとも1つのメディア装置フィンガープリント222、222bとして含む。探索ブロック324に最新のメディア装置フィンガープリント222、222bRを含めることにより、照合器300は、ユーザ20が見ているメディアコンテンツとの同時性が最も高いフレームデータ(例えば、メタデータ224)を特定することができる。換言すれば、照合器300は、一致相関322の少なくとも1つの放送フィンガープリント222、222aに対応するメタデータ224を、一致相関322の最新のメディア装置フィンガープリント222、222bに対応する少なくとも1つのメディア装置フレームに関連付けることができる。従って、照合器300は、関連する放送チャンネルと、放送チャンネル内のフレーム位置(例えば、位置に関連するフレーム番号)とを識別することができる。
【0036】
いくつかの例では、照合器300が、複数の放送フィンガープリント222、222aを表すデータ構造330(例えば、フィンガープリント結果セット232)を含む。データ構造330は、相関器320がメディア装置フィンガープリント222、222b(例えば、探索ブロック324)と放送フィンガープリント222、222aとの比較を行うことを可能にする。これに加えて、又はこれとは別に、データ構造330は、相関器320が一致相関322を判定する多段階相関プロセスを実行することも可能にする。多段階相関プロセスは、候補識別プロセス及び一致相関プロセスを含むことができる。候補識別プロセスでは、相関器320が、データ構造330からの放送フィンガープリント222、222aを、一致相関322のための放送フィンガープリント候補222、222acとして識別することができる。一般に、放送フィンガープリント候補222、222acは、少なくとも1つのメディア装置フィンガープリント222、222b(例えば、最新のメディア装置フィンガープリント222、222bR)に一致する可能性がある、放送フレームF1~nに対応する放送フィンガープリント222、222aである。相関器320が探索ブロック324をコンパイルする例では、放送フィンガープリント候補222、222acが、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bに一致する可能性がある、放送フレームF1~nに対応する放送フィンガープリント222、222aである。一致相関322のための少なくとも1つの放送フィンガープリント候補222、222acを識別することにより、相関器320が一致相関322を実行する対象の放送フィンガープリント222、222a(例えば、識別された放送フィンガープリント候補222、222ac)が少なくなるので、照合器300は、一致相関プロセス中の相関器320における処理時間を短縮することができる。換言すれば、単段階相関プロセスでは、相関器320が、識別された放送フィンガープリント候補222、222acだけでなく、フィンガープリント結果セット232及び/又はデータ構造330の放送フィンガープリント222、222aとの間でも一致相関322を実行することができる。一致相関プロセスでは、相関器320が、少なくとも1つの放送フィンガープリント候補222、222acを受け取り、この少なくとも1つの放送フィンガープリント候補222、222acに基づいて一致相関322を判定することができる。
【0037】
いくつかの実装では、データ構造330が、複数の放送フィンガープリント222、222aをノードNによって表す。各ノードN(1~n)は、放送フレームF1~nに対応する放送フィンガープリント222、222aを構成することができる。相関器320は、ノードNを使用してデータ構造330を探索し、放送フィンガープリント候補222、222acに対応する少なくとも1つのノード候補N、NCを識別することができる。各ノードN(1~n)は、メタデータ224(例えば、フレーム位置、フレームタイプ、又はフィンガープリント識別子タグ)又はメタデータの参照を含むこともできる。照合器300は、メタデータ224又はメタデータ224の参照を各放送フィンガープリント候補222、222acに関連付けることができる。換言すれば、照合器300及び/又は相関器320は、データ構造330を探索した後に、一致相関322のための少なくとも1つの放送フィンガープリント候補222、222acを示す少なくとも1つのノード候補N、NCと、少なくとも1つのノード候補N、NCとして受け取られた少なくとも1つの放送フィンガープリント候補222、222acの放送フレームF1~nに関連するメタデータ224とを受け取ることができる。
【0038】
いくつかの例では、各ノードN(1~n)が放送フレームF
1~nのシーケンシャル配列を参照することにより、相関器320が、(例えば、ノード候補N、N
Cによって)少なくとも1つの放送フィンガープリント候補222、222a
cを決定する際に、少なくとも1つの放送フィンガープリント候補222、222a
cに対応するフレーム位置を識別できるようにもなる。放送フレームF
1~nのシーケンシャル配列は、照合器300が放送フレームセットF
1~n(set)に対応する放送フィンガープリントセット222、222a
setを選択して、(例えば、
図3Bに示す)一致相関ブロック326としての探索ブロック324と比較できるようにすることができる。多くの場合、照合器300によって選択される放送フィンガープリントセット222、222a
setは、候補識別プロセス中に識別された少なくとも1つの放送フィンガープリント候補222、222a
cと、候補識別プロセス中に識別された少なくとも1つの放送フィンガープリント候補222、222a
cにシーケンシャルに隣接する(例えば、先行する又は後続する)選択された数の放送フィンガープリント222、222aとを含むことができる。放送フィンガープリントセット222、222a
set内の放送フィンガープリント222、222aの数は、探索ブロック324のメディア装置フィンガープリント222、222bに対応することができ、従って相関器320は、等しい数の放送フィンガープリント222、222aを等しい数のメディア装置フィンガープリント222、222bと比較することによって一致相関322を実行することができる。
【0039】
多段階相関プロセス中には、相関器320が、データ構造330の範囲探索又は最近隣探索などの探索を実行して、少なくとも1つの放送フィンガープリント候補222、222a
cを識別することができる。いくつかの例では、相関器320が、探索を実行する際に距離(例えば、ユークリッド距離、マンハッタン距離など)などの探索メトリックを使用してデータ構造330を探索する。
図3Aには、最近隣探索の例を示す。通常、最近隣探索は、入力との近接性が最も似通った出力をもたらすような近接探索である。例えば、空間N内の点集合S及び入力点Pを所与とすると、最近隣探索は、空間N内の集合Sにおける最も入力点Pに近い点を戻す。
図3Aなどのいくつかの例では、相関器320が、探索メトリックとしてユークリッド距離を使用して最近隣探索を実行する。
図3Aには、候補識別プロセスの入力を、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222b(例えば、最新のメディア装置フィンガープリント222、222b
R)として示す。これらの例では、相関器320が、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bとデータ構造330内の各ノードNとの間の距離を決定する。相関器320は、最近隣探索の結果、放送フィンガープリント候補222、222a
cとして決定した各距離のうちの最小値に対応するノードNの放送フィンガープリント222、222aを識別することができる。
【0040】
図3Bは、相関器320が複数の放送フィンガープリント候補222、222a
cを識別できる例である。いくつかの実装では、相関器320が、範囲探索を使用して複数の放送フィンガープリント候補222、222a
cを識別する。一般に、範囲探索は、入力に基づいて所与の範囲内の1又は複数の出力をもたらす探索である。例えば、空間N内の点集合S、入力点P、及び入力範囲Rを所与とすると、範囲探索は、入力範囲Rを満たす集合S内の入力点Pに関連する全ての点を戻すことができる。いくつかの例では、範囲探索が、近接範囲に対応する出力の組を識別する。相関器320は、所定の近接範囲に従って範囲探索を実行する際に、所定の近接範囲内の探索メトリックを有するノードNの少なくとも1つの放送フィンガープリント222、222aを放送フィンガープリント候補222、222a
cとして識別することができる。一例として、相関器320は、少なくとも1つのメディア装置フレーム222、222bとノードNの放送フレーム222、222aとの間の0~1.0の距離に対応する近接範囲を受け取る。相関器320は、この受け取った0~1.0の近接範囲を使用して、(例えば、探索ブロック324からの)少なくとも1つのメディア装置フレーム222、222bとデータ構造330の各ノードNとの間の探索メトリック(例えば、距離)を決定することができる。この例では、相関器320が、探索メトリックに従って近接範囲0~1.0を満たす各ノードNを放送フィンガープリント候補222、222a
cとして識別する。
図3Bなどのいくつかの実装では、相関器320が、3つの放送フィンガープリント候補222、222a
c(1~3)に対応する3つのノード候補N、N
C(1~3)を少なくとも1つの放送フィンガープリント候補222、222a
cとして識別する。これに加えて、又はこれとは別に、
図3Bに示すように、相関器320は、識別された各放送フィンガープリント候補222、222a
cに対応するメタデータ224を受け取り又は検索することもできる。
【0041】
図3A及び
図3Bに示すように、データ構造330は、候補識別プロセスを最適化するように編成することができる。いくつかの実装では、データ構造330が、領域木又はk-d木などの2次元又は3次元以上のツリーデータ構造332(例えば、二分探索木332、332a)である。ツリーデータ構造332は、相関器320が必ずしも探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bとデータ構造330内の各ノードNとの間の探索メトリックを決定する必要なくデータ構造330の探索を実行できるようにすることができる。むしろ、
図3Aに示すように、ツリーデータ構造332などのデータ構造330は、データ構造330内を探索するための隣接ノードN
adjの指示Iを相関器320に提供することができる。いくつかの例では、相関器320が、探索メトリックの最小値又は最大値に関連するノードNを探索する。距離の場合、相関器320は、ノードNと探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222aとの間の最小距離に関連するノードNを探索する。この例では、データ構造330が、相関器320が第1のノードN
1に関連する第1の探索メトリックを決定する際に、相関器320が第1の探索メトリックの指示Iを識別して、第1のノードN
1に対して指示Iに対応する方向に隣接する第2のノードN
2、N
adjに関連する第2の探索メトリックを決定するように編成される。例えば、相関器320は、第1のノードN
1において、第1のノードN
1の放送フィンガープリント222、222aと探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222aとの間の距離3.50を決定することができる。距離3.50は、次に相関器320が第1のノードN
1の左側の第2のノードN
2において第2の探索メトリックを実行することを示すことができる。この例では、データ構造330が、第1のノードN
1の左方向に移動することが第2のノードN
2の放送フィンガープリント222、222aと探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222aとの間の距離を短縮することに対応するように編成される。
図3A及び
図3Bには2次元データ構造330を示しているが、データ構造330は、2次元又は3次元以上で存在することもでき、従って方向指示Iも、2次元又は3次元以上に対して存在することができる。探索すべき次の隣接ノードN
adjを示すことにより、データ構造330の編成は、データ構造330内で相関器320が探索するノードNの数を最適化することができる。従って、いくつかのデータ構造330の固有の利点は、これらのデータ構造330が候補識別プロセスの処理時間を短縮しながら一致相関プロセスの精度を潜在的に高めることができる点である。従って、データ構造330は、系統的な反復相関プロセスが少なくとも1つの放送フィンガープリント候補222、222a
cの識別に役立つことを可能にする。
【0042】
いくつかの例では、相関器320が、複数の放送フィンガープリント222、222aとの一致相関322を有する少なくとも1つのメディア装置フィンガープリント222、222bを探索ブロック324が含んでいると判定することができる。例えば、
図3Bの場合には、相関器320が候補識別プロセスにおいて複数の放送フィンガープリント候補222、222a
cを識別している。複数の放送フィンガープリント222、222a(例えば、複数の放送フィンガープリント候補222、222a
c)との一致相関322を有する少なくとも1つのメディア装置フィンガープリント222、222bを探索ブロック324が含んでいる場合、相関器320は、各放送フィンガープリント候補222、222a
cとの一致相関322を実行することができる。一例として、
図3Bには、相関器320が探索ブロック324と各一致相関ブロック326との間の一致相関322を判定することを示す。探索ブロック324と各一致相関ブロック326との間の一致相関322の結果、相関器320は、放送フィンガープリント候補222、222a
cの一致放送フィンガープリント222、222a
Mとの間に最大の一致相関322、322Gを有する探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bのメディア装置フィンガープリント222、222bに対応するメディア装置フレームF
Dを一致メディア装置フレームF
MDとして決定する。
【0043】
一例として、照合器300は、5分の放送フィンガープリント222、222a(1~9,000)を、9、000個のシーケンシャル放送フレームF1~9,000に対応するフィンガープリント結果セット232として受け取る。照合器300は、放送フィンガープリント222、222a(1~9,000)に関連するメタデータ224を受け取ることも、或いは照合器300が一致メディア装置フレームFMDを識別した時に後でフィンガープリント200からメタデータ224を検索することもできる。相関器320は、照合器フィンガープリント生成器310からのメディア装置ストリームSDから取り込まれたメディア装置フレームFD1~nに対応するメディア装置フィンガープリント222、222bを受け取る。この例では、相関器320が、TV30、30aにおいて取り込まれた2秒のメディア装置ストリームSD(すなわち、毎秒30フレームのフレームレートRMD)に対応する60個のメディア装置フィンガープリント222、222b(1~60)を受け取る。ここでは、これらの60個のメディア装置フィンガープリント222、222b(1~60)が探索ブロック324になる。この例が単段階相関プロセスである場合、相関器320は、60個のメディア装置フィンガープリント222、222b(1~60)のうちの少なくとも1つのメディア装置フィンガープリント222、222b(例えば、最新のメディア装置フィンガープリント222bR)が、フィンガープリント結果セット232の少なくとも1つの放送フィンガープリント222、222aとの一致相関322を有すると判定することができる。単段階相関プロセスでは、一致相関322を有する少なくとも1つのメディア装置フィンガープリント222、222bの対応するメディア装置フレームFDが一致メディア装置フレームFMDである。この例が多段階相関プロセスである場合、相関器320は、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222b(例えば、最新のメディア装置フィンガープリント222bR)をデータ構造330と比較して、少なくとも1つの対応する放送フィンガープリント候補222、222acを有する少なくとも1つのノードNを識別することができる。相関器320は、この少なくとも1つの放送フィンガープリント候補222、222acを使用して、各識別された放送フィンガープリント候補222、222acのための一致相関ブロック326を生成することができる。この例では、探索ブロック326が60個のメディア装置フィンガープリント222、222b(1~60)であるため、各一致相関ブロック326は、放送フィンガープリント候補222、222acを含む60個の放送フィンガープリント222、222a(1~60)である。その後、相関器320は、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222b(例えば、最新のメディア装置フィンガープリント222、222bR)が、一致相関ブロック326の少なくとも1つの放送フィンガープリント222、222aとの一致相関322を有すると判定することができる。単段階相関プロセスと同様に、一致相関322を有する少なくとも1つのメディア装置フィンガープリント222、222bの対応するメディア装置フレームFDが一致メディア装置フレームFMDである。
【0044】
任意に、
図3Cに、相関器320が候補識別プロセスを伴わずにデータ構造330を使用して反復一致相関プロセスを実行できることを示す。一例として、相関器320は、探索ブロック324の少なくとも1つのメディア装置フィンガープリント222、222bと、少なくとも1つの放送フィンガープリント222、222aに対応する第1のノードN
1との間の一致相関322を判定する。第1のノードN
1における一致相関322では、一致相関322が、第1のノードN
1に隣接する第2のノードN
2の指示Iを提供することによって一致相関322をさらに最適化することができる。例えば、相関器320は、第1のノードN
1において一致相関322が0.55の値であると判定することができる。0.55の値は、次に相関器320が第1のノードN
1の左側の第2のノードN
2との第2の一致相関322、322bを実行することを示す中程度の比例的関連性を表す。この例では、第1のノードN
1の左方向に移動することが、一致相関322の比例的関連性強度(proportional strength of association)を高めることに対応することができる。従って、データ構造330は、系統的な反復相関プロセスが最大の一致相関322、322Gを戻すのに役立つことを可能にする。
【0045】
図4は、自動コンテンツ認識中のコールドマッチングのための方法400である。方法400は、ブロック402において、放送局における放送メディアストリームの放送フレームを示す放送フィンガープリントをデータ処理ハードウェアにおいて受け取るステップを含む。方法400は、ブロック404において、対応するメディア装置におけるメディア装置ストリームのメディア装置フレームを示すメディア装置フィンガープリントをデータ処理ハードウェアにおいて受け取るステップをさらに含む。方法400は、ブロック406において、データ処理ハードウェアが、メディア装置ストリームのシーケンシャルメディア装置フレームに対応する複数のメディア装置フィンガープリントを含む探索ブロックが、少なくとも1つの放送フィンガープリントとのピアソンの相関係数に基づく一致相関を有する少なくとも1つのメディア装置フィンガープリントを含んでいると判定するステップをさらに含む。方法400は、ブロック408において、データ処理ハードウェアが、少なくとも1つの放送フィンガープリントとの一致相関を有する少なくとも1つのメディア装置フィンガープリントを一致メディア装置フレームに対応するものとして識別するステップをさらに含む。
【0046】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピュータ装置にタスクを実行させるコンピュータソフトウェアを意味することができる。いくつかの例では、ソフトウェアアプリケーションを「アプリケーション」、「アプリ」、又は「プログラム」と呼ぶこともできる。アプリケーション例としては、以下に限定するわけではないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワープロアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、及びゲームアプリケーションが挙げられる。
【0047】
図5は、本文書で説明したシステム及び方法を実装するために使用できるコンピュータ装置例500の概略図である。コンピュータ装置500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、及びその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。図示のコンポーネント、その接続及び関係、並びにその機能は例示を目的とするものにすぎず、本文書で説明した及び/又は特許請求する発明の実装を限定するものではない。
【0048】
コンピュータ装置500は、プロセッサ510と、メモリ520と、記憶装置530と、メモリ520及び高速拡張ポート550に接続する高速インターフェイス/コントローラ540と、低速バス570及び記憶装置530に接続する低速インターフェイス/コントローラ560とを含む。コンポーネント510、520、530、540、550及び560の各々は、様々なバスを使用して相互接続され、必要に応じて共通マザーボード上に又は他の形で取り付けることができる。プロセッサ510は、メモリ520又は記憶装置530に記憶された命令を含む、コンピュータ装置500内で実行される命令を処理して、高速インターフェイス540に結合されたディスプレイ580などの外部入力/出力装置上にグラフィカルユーザインターフェイス(GUI)のためのグラフィック情報を表示することができる。他の実装では、必要に応じて複数のメモリ及びメモリタイプと共に複数のプロセッサ及び/又は複数のバスを使用することができる。また、複数のコンピュータ装置500を接続して、各装置が(例えば、サーババンク、一群のブレードサーバ、又はマルチプロセッサシステムとして)必要な動作の一部を提供することもできる。
【0049】
メモリ520は、コンピュータ装置500内に非一時的に情報を記憶する。メモリ520は、コンピュータ可読媒体、(単複の)揮発性メモリユニット、又は(単複の)不揮発性メモリユニットとすることができる。非一時的メモリ520は、コンピュータ装置500が使用するプログラム(例えば、一連の命令)又はデータ(例えば、プログラム状態情報)を一時的又は恒久的に記憶するために使用される物理的装置とすることができる。不揮発性メモリの例としては、以下に限定するわけではないが、フラッシュメモリ及びリードオンリメモリ(ROM)/プログラマブルリードオンリメモリ(PROM)/消去可能プログラマブルリードオンリメモリ(EPROM)/電気的消去可能プログラマブルリードオンリメモリ(EEPROM)(例えば、典型的にはブートプログラムなどのファームウェアに使用されるもの)が挙げられる。揮発性メモリの例としては、以下に限定するわけではないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、及びディスク又はテープが挙げられる。
【0050】
記憶装置530は、コンピュータ装置500のための大容量ストレージを提供することができる。いくつかの実装では、記憶装置530がコンピュータ可読媒体である。様々な異なる実装では、記憶装置530を、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、フラッシュメモリ又は他の同様の固体メモリデバイス、或いはストレージエリアネットワーク又はその他の構成を含む一連の装置とすることができる。さらなる実装では、コンピュータプログラム製品が情報キャリア内で有形的に具体化される。コンピュータプログラム製品は、実行時に上述したような1又は2以上の方法を実行する命令を含む。情報キャリアは、メモリ520、記憶装置530、又はプロセッサ510上のメモリなどのコンピュータ可読媒体又は機械可読媒体である。
【0051】
高速コントローラ540は、コンピュータ装置500の帯域幅集約動作を管理し、低速コントローラ560は、低帯域幅集約動作を管理する。このような作業の割り当ては例示にすぎない。いくつかの実装では、高速コントローラ540が、メモリ520と、ディスプレイ580と、様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート550とに(例えば、グラフィックスプロセッサ又はアクセラレータを介して)結合される。いくつかの実装では、低速コントローラ560が、記憶装置530及び低速拡張ポート590に結合される。様々な通信ポート(例えば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含むことができる低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1又は2以上の入力/出力装置に、或いはネットワークアダプタなどを介してスイッチ又はルータなどのネットワーク装置に結合することができる。
【0052】
コンピュータ装置500は、図示のような複数の異なる形態で実装することができる。例えば、コンピュータ装置500は、標準サーバ500aとして、又は一群のこのようなサーバ500aにおいて複数回、ラップトップコンピュータ500bとして、或いはラックサーバシステム500cの一部として実装することができる。
【0053】
本明細書で説明したシステム及び技術の様々な実装は、デジタル電子回路及び/又は光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせで実現することができる。これらの様々な実装は、ストレージシステム、少なくとも1つの入力装置及び少なくとも1つの出力装置との間でデータ及び命令を送受信するように結合された、専用又は汎用とすることができる少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能及び/又は解釈可能な1又は2以上のコンピュータプログラムでの実装を含むことができる。
【0054】
これらの(プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとしても知られている)コンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高水準手続き型言語及び/又はオブジェクト指向型プログラミング言語、及び/又はアセンブリ/機械言語で実装することができる。本明細書で使用する「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令及び/又はデータを提供するために使用されるあらゆるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置及び/又はデバイス(例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理装置(PLD))を意味する。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/又はデータを提供するために使用されるあらゆる信号を意味する。
【0055】
本明細書で説明したプロセス及びロジックフローは、1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラマブルプロセッサによって、入力データに作用して出力を生成することによって機能を実行するように実行することができる。プロセス及びロジックフローは、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用論理回路によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサとしては、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びにいずれか1つ又は2つのあらゆる種類のデジタルコンピュータのプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、或いはこれらの両方から命令及びデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサ、並びに命令及びデータを記憶するための1又は2以上のメモリデバイスである。一般に、コンピュータは、磁気ディスク、光磁気ディスク又は光学ディスクなどの、データを記憶する1又は2以上の大容量記憶装置も含み、或いはこのような記憶装置との間でデータの受け取り及びデータの転送、又はこれらの両方を行うように動作可能に結合される。しかしながら、コンピュータは、このような装置を有していなくてもよい。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体としては、一例としてEPROM、EEPROM及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク又は取り外し可能ディスクなどの磁気ディスク、磁気光学ディスク、並びにCD ROM及びDVD-ROMディスクを含む、全ての形態の不揮発性メモリ、媒体及びメモリデバイスが挙げられる。プロセッサ及びメモリは、専用論理回路によって補完することも、或いは専用論理回路に組み込むこともできる。
【0056】
本開示の1又は2以上の態様は、ユーザとの相互作用を可能にするために、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ又はタッチ画面などの、ユーザに情報を表示するためのディスプレイ装置と、任意にユーザがコンピュータに入力を提供できるようにするキーボード、及びマウス又はトラックボールなどのポインティングデバイスとを有するコンピュータに実装することができる。他の種類の装置を用いてユーザとの相互作用を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック又は触覚フィードバックなどのあらゆる形の感覚フィードバックとすることができ、ユーザからの入力は、音響入力、発話入力又は触覚入力を含むあらゆる形で受け取ることができる。また、コンピュータは、ユーザが使用する装置との間で文書を送受信することにより、例えばユーザのクライアント装置上のウェブブラウザから受け取った要求に応答してこのウェブブラウザにウェブページを送信することによってユーザとの相互作用を行うこともできる。
【0057】
複数の実装について説明した。それでもなお、本開示の趣旨及び範囲から逸脱することなく様々な修正を行うことができると理解されるであろう。従って、以下の特許請求の範囲には他の実装も含まれる。
【符号の説明】
【0058】
10 自動コンテンツ認識環境
20 ユーザ
30 メディア装置
100 放送層
102 放送局
104 放送配信業者
110 追加コンテンツ層
112 商用プロバイダ
114 広告主
120 ネットワーク層
130 装置層
132 ACRモジュール
200 フィンガープリンタ
210 サーバ
212 データ処理ハードウェア
214 メモリハードウェア
220 フィンガープリント生成器
230 フィンガープリント
240 メタデータ
S メディアストリーム
SB 放送メディアストリーム
SC 追加メディアコンテンツ
SD メディア装置ストリーム
SN ネットワークメディアストリーム