JP5259910B2 - コンテンツ識別システム - Google Patents

コンテンツ識別システム Download PDF

Info

Publication number
JP5259910B2
JP5259910B2 JP2004221250A JP2004221250A JP5259910B2 JP 5259910 B2 JP5259910 B2 JP 5259910B2 JP 2004221250 A JP2004221250 A JP 2004221250A JP 2004221250 A JP2004221250 A JP 2004221250A JP 5259910 B2 JP5259910 B2 JP 5259910B2
Authority
JP
Japan
Prior art keywords
media program
segment
frequency domain
program
segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004221250A
Other languages
English (en)
Other versions
JP2005049878A (ja
Inventor
アイ.ベン ジャン
ジェー.バージス クリストファー
サム ムサヴィ マジッド
アール.ノール クレイグ
Original Assignee
アルカテル−ルーセント ユーエスエー インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント ユーエスエー インコーポレーテッド filed Critical アルカテル−ルーセント ユーエスエー インコーポレーテッド
Publication of JP2005049878A publication Critical patent/JP2005049878A/ja
Application granted granted Critical
Publication of JP5259910B2 publication Critical patent/JP5259910B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording

Description

本発明は、ある具体的なメディア・プログラムのコンテンツを識別する技術に関する。
メディア技術分野では、提示された具体的なメディア・プログラムを自動的に識別することが必要とされている。例えば、ある歌が例えばラジオを介して公然と再生された回数に基づいて支払われる著作権使用料を決定するためには、勿論、その歌が再生された回数を決定することが前もって必要である。大部分の場合において、従来技術では、再生の回数はラジオ局の再生記録に基づいて表集計されている。しかし、これらの記録は手作業で入力されているため、誤りを生じることがありうる。同様に、様々なコマーシャル(ラジオによるかテレビジョンによるかによらない)、ならびにその他のプログラムに関する実際の再生回数の記録を付けておくことが必要である。例えば、多くの俳優は、自分がその中に登場したプログラムが再生された回数に基づいて、いわゆるレシジュアル・ペイメント(residual payment)を受け取っている。さらに、特定のプログラムに関して最大の再生回数を指定する具体的な契約上の義務を監視するために、どのプログラムが再生されたのかを判定し記録付けすることが望ましい。
米国特許第4,677,466号 Haitsma外、「Robust Audio Hashing for Content Identification」(Content−Based Multimedia Indexing(CBMI) Conference of 2001、 Brescia、Italy) 米国特許出願第2002/2178410号
従来技術では、そのメディア・プログラムのコンテンツがその内部に埋め込まれたまたはこれと直接関連付けしたプログラム・コンテンツを識別している追加の情報を有していた場合には、あるメディア・プログラムのコンテンツがあるチャンネル上である任意の時刻に提示されたことを識別することが可能であった。不都合にも、追加情報が利用可能でないようなバージョンのメディア・プログラムは識別することができない。
1987年6月30日にLert,Jr.らに対して公布された米国特許第4,677,466号は、マルチメディア・コンテンツを識別するための安定条件が検出された後にマルチメディア・コンテンツから抽出したシグネチャを使用するシステムを開示している。こうしたシステムは、識別しようとするメディア・プログラムに追加情報を付け加えることを要求しない。さらに、Content−Based Multimedia Indexing(CBMI)コンファレンス(2001 Brescia、Italy)においてHaitsmaらによって公開された「Robust Audio Hashing for Content Identification」、ならびにこれに対応すると考えられる米国特許出願第2002/2178410号は、識別しようとするメディア・プログラムに追加情報を付け加えることを要求しないハッシングに基づく自動コンテンツ認識システムを開示している。これらのシステムは、今のところまだ、商業的な成功を達成していない。
メディア・プログラムのコンテンツは、そのメディア・プログラムがメディア・プログラムを識別している特徴(feature)をその中から抽出してデータベース内に保存するように事前に適正に処理し終っているという条件下においては、情報をなんら追加することなくそのメディア・プログラムのコンテンツの分析に基づいて非常に高水準の正確さで認識可能であることが分かっている。この操作は、所定の特徴をその中から抽出し、次いでこれを識別されたコンテンツに関連付けされた特徴からなるデータベースと比較できるように、再生しているメディア・プログラムのオーディオ・コンテンツを分析することによって達成されている。データベース内で、再生しているメディア・プログラムの特徴と最も厳密にマッチする特徴を有するようなコンテンツのアイデンティティ(identity)がその再生しているプログラムのアイデンティティとして供給される。
メディア・プログラムの特徴は、本発明の一態様に従って、メディア・プログラムの利用可能な従来の周波数領域バージョンの様々なブロックからデータベース内に保存するために、a)係数の数を減少させるように、例えばトライアンギュラ・フィルタ(triangular filter)を用いて周波数領域係数をフィルタリングすること、b)トライアンギュラ・フィルタのT個の連続する出力を本発明者らが「セグメント」と呼ぶものにグループ分けすること(Tは固定とすることも可変とすることもできる)、ならびにc)これらのセグメントの中から所定の基準を満たすようなセグメントを選択すること、によって特徴を抽出することができる。本発明の実施の一形態では、その所定の基準とは、その選択したセグメントが、セグメントが互いに接近しすぎることを防止させる所定の制約に従って最も大きな最小セグメント・エネルギーを有することである。最小セグメント・エネルギーとは、セグメント内において最も小さい値を有するフィルタの出力を意味していることに留意されたい。本発明の別の実施形態では、その所定の基準とは、その選択したセグメントが、セグメントが互いに接近しすぎることを防止させる所定の制約に従って最大のエントロピーを有することである。選択したセグメントは、具体的なメディア・プログラム向けの特徴としてデータベース内に保存される。
本発明の別の態様では、そのトライアンギュラ・フィルタは対数間隔としている。本発明のさらに別の態様では、対数間隔トライアンギュラ・フィルタの出力を正規化することによって、追加的なパフォーマンスの改善を達成することができる。
メディア・プログラムの周波数領域バージョンのブロックは、例えば、1)分析しようとする音響信号をデジタル化すること、2)デジタル化したデータをN個のサンプルからなるブロックに分割すること、3)このブロックを例えばHammingウィンドウ・フィルタなどのフィルタを用いて平滑化すること、4)この平滑化したブロックを例えば高速フーリェ変換(FFT)や離散コサイン変換(DCT)を用いて周波数領域に変換すること、によって従来の任意の方式で導出することができる。
本発明の原理では、メディア・プログラムのコンテンツは、識別しようとするメディア・プログラムに対してセグメントの作成に使用したのと同じ工程を実行することによって識別されることがある。したがって、識別しようとするメディア・プログラムのコンテンツから作成したセグメントは、検索処理の一部分としてデータベース内に保存した各メディア・プログラムのセグメントとで順次マッチングがとられる。この検索処理を高速化するには、データベースを作成する際にこのデータベース内の各メディア・プログラムのある具体的なセグメントが当該メディア・プログラムに関する主要セグメントであると識別され、さらに識別しようとするメディア・プログラムの各セグメントを先ずそのデータベース内に保存してある当該メディア・コンテンツの主要セグメントと比較することがある。識別しようとするメディア・プログラムのセグメントが所定のトレランス範囲内で主要セグメントとマッチした場合には、マッチング主要セグメントに関連付けされたメディア・プログラムの別のセグメントを、識別しようとするメディア・プログラムの別のセグメントと比較している。比較される各セグメントごとに1つのマッチング・スコアを作成している。本発明の一態様では、そのマッチング・スコアは保存されているセグメントと比較対象のセグメントの間のMahalonobis距離の関数とすることがある。識別しようとするメディアで最良のマッチング・スコアを有するデータベースのプログラムのアイデンティティが、識別しようとするメディア・プログラムのアイデンティティとして使用される。さらに、データベース内に識別しようとするプログラムと十分な相関をもってマッチするメディア・プログラムが見いだされない場合には、識別が不可能となる可能性もある。
本発明の一態様では、メディア・プログラム全体のコンテンツを識別するために分析を必要とするのはメディア・プログラムの一部分だけであるので有利である。しかし、それが部分的に類似していたり同一であったりすることのために同じメディア・プログラムが多重識別されるのを回避するため、本発明の一態様では、重複最小化処理を実行することがある。
同じメディア・プログラムの異なるバージョンを識別できるので有利である。例えば、抑揚の少ない歌をボイスオーバーを伴う同じ歌と区別し、これによってバックグラウンドで歌を使用しているコマーシャルを歌自体だけの場合と明瞭に識別することができる。さらに、同じ歌を用いている様々なコマーシャルも一意に識別することができる。さらに、ある歌の初期のアーティストの上演を同じ歌に関する後におけるアーティストの上演と区別することができる。別の例としては、第1の速度でのコンテンツの記録を同じ記録であるが速度を速くしたり遅くした記録と区別することができることがあり、また速度の上昇と速度の低下の百分率も同様に識別することができる。
メディア・プログラムが「動的ゲイン調整(dynamic gain adjustment)」としても知られているいわゆる「ダイナミックレンジ圧縮(dynamic range compression)」にかけられている場合であっても、これが適正に認識されるのでさらに有利である。
ビデオとオーディオの合成プログラム(例えば、テレビ・コマーシャル)はそのオーディオ・コンテンツからだけで正確に識別することができるのでさらに一層有利である。
以下は単に本発明の原理を例示したものである。したがって、当業者であれば、本明細書には明瞭に記載されたり図示されたりしてはいないものの、この本発明の原理を具現化すると共にその精神および趣旨の域内に含まれるような様々な仕組みを考案することが可能であることを理解されたい。さらに、本明細書で引用したすべての例および条件付けの言語表現は主として、本発明の原理、ならびに本発明者(ら)が本技術の促進に対して貢献する概念を理解する際に読者を手助けする教示目的とするように明瞭に意図したものであり、またこうしたすべての例および条件付けの言語表現は、引用したこうした具体的な例や条件に限定していないものと解釈されるべきである。さらに、本発明の原理、態様および実施形態、ならびにその具体的な例を引用するための本明細書における記述のすべては、その構造上および機能上の等価物を包含するように意図している。さらに、こうした等価物には、現在すでに知られている等価物と将来開発されるであろう等価物(すなわち、その構造によらず同じ機能を実行するように開発された任意の要素)の両方を含めるように意図している。
したがって、例えば、当業者であれば、本明細書のいずれのブロック図も本発明の原理を具現化している例示的な回路の概念図を表していることを理解されよう。同様に、フローチャート、流れ図、状態遷移図、擬似コード、その他は、いずれもコンピュータ読み取り可能メディア内で実質的に表現されかつこれに従ってコンピュータやプロセッサ(こうしたコンピュータやプロセッサが明示的に図示されているか否かによらない)によって実行されることが可能な様々な処理を表したものであることが理解されよう。
「プロセッサ」の名称を付した機能ブロックを含め図面に示した様々な要素の機能は、専用のハードウェア、ならびに適当なソフトウェアと関連付けしてソフトウェアを実行することができるハードウェアの使用を介して提供することができる。プロセッサによって提供する場合、これらの機能は、単一の専用プロセッサ、単一の共有プロセッサ、あるいはそのうちの幾つかを共有とさせることができるような複数の個別プロセッサによって提供することができる。さらに、「プロセッサ」や「コントローラ」の用語の明示的な使用は、ソフトウェアを実行することができるハードウェアに排他的に言及したものと解釈されるべきではなく、デジタル信号プロセッサ(Digital Signal Processor:DSP)ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、現地プログラム可能なゲートアレイ(Field Programmable Gate Array:FPGA)、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、および不揮発記憶装置(ただし、これらに限らない)を暗黙的に含むことができる。従来式および/またはカスタム式の別のハードウェアを含むこともできる。同様に、図面に示したスイッチはいずれも単に概念上のものである。これらの機能はプログラム・ロジックの動作を介する、専用のロジックを介する、プログラム制御と専用のロジックのやり取りを介する、またさらには手作業による実施が可能であり、具体的な技法は、そのコンテキストからより具体的に理解されるように実現者によって選択可能である。
本特許請求の範囲では、ある特定の機能を実行するための手段として表した任意の要素は、例えば、a)当該機能を実行する回路素子の組合せ、または、b)任意の形態をしたソフトウェア、したがって、この機能を実行させる当該ソフトウェアを実行するための適当な回路と組み合わせたファームウェア、マイクロコード、その他を含む形態をしたソフトウェアを含め、当該機能を実行する任意の方法を包含するように意図している。この特許請求の範囲によって規定される本発明は、引用した様々な手段によって提供される機能を本特許請求の範囲が要求する方式で組み合わせかつ併合させているということにある。したがって、出願人は本明細書に表した機能と等価な機能を提供できる任意の手段を企図している。
ソフトウェア・モジュール、あるいは単にソフトウェアであると含意されるようなモジュールは、本明細書において、処理工程および/またはテキスト記述のパフォーマンスを示すフローチャートの要素やその他の要素の任意の組合せとして表すことができる。こうしたモジュールは、明示的または暗黙的に示したハードウェアによって実行することができる。
本明細書に特に明示的に指定しない限り、これらの図面は一律の縮尺に従わずに表されている。
この説明では、図面の別の図内であっても、同じ番号を付した構成要素は同じ構成要素を意味している。
本発明は、あるメディア・プログラムのコンテンツを、識別処理を実施する前に、再生しているコンテンツの内部に埋め込むかこれと関連付けした情報を要求することなく、コンテンツ自体の分析に基づいて認識しているような仕組みである。
図1は、本発明の原理に従って、メディア・プログラムのオーディオ・コンテンツが所定の特徴をその中から抽出するように分析され、次いでこの特徴がそのコンテンツの識別と関連付けして特徴のデータベース内に保存されているような例示的な処理のフローチャートを表している。本発明のシステムによって識別できるオーディオ・コンテンツの各々は、特徴のデータベース内に1つのエントリを有していなければならない。本処理は、新たなオーディオ・コンテンツをそのデータベースに追加しようとする際に、工程101において開始される。
その後、工程103において、そのメディア・プログラムに関するデジタルの時間領域バージョンの音響信号が取得され、メモリ内に保存される。本発明の実施の一形態では、分析しようとするオーディオ・コンテンツはコンピュータのサウンドカードに供給され、このサウンドカードはこのオーディオ・コンテンツをデジタル化すると共に、これをコンピュータのメモリ内に保存している。次いで、ソフトウェアの制御下でデジタル化バージョンのオーディオ・コンテンツに対してコンピュータが特徴分析を実行することが可能となる。別法として、この分析しようとするオーディオ・コンテンツはすでにデジタル形式でコンピュータに供給できることがあるため、この場合にはデジタル化は省略することができる。しかし、デジタル化バージョンのオーディオ・コンテンツが所定の形式を有することを求めるような分析ソフトウェアの場合、受け取ったデジタルのオーディオ・コンテンツの当該形式への変換が必要となることがある。
そのメディア・プログラムのデジタル・バージョンの音響信号をメモリ内に保存した後で、工程105において、長さがN(Nは例えば、1024とすることがある)のブロックにそのサンプルをグループ分けしている。任意選択の工程107では、これらのブロックをフィルタリングしてその音響信号を平滑化している。平滑化をすると、周波数領域へのブロックの別の変換に悪影響を及ぼすことがあるようなグループ分けの影響を軽減させることができるので有利である。利用可能なフィルタの1つはHammingウィンドウ・フィルタであるが、当業者であれば別のフィルタ(例えば、Hanningウィンドウ)を利用することもできることが容易に理解されよう。
各ブロックのフィルタリングしたサンプルはそれぞれ、工程109において、周波数領域係数に変換され、これによって音響信号からなる第1の周波数領域表現が作成されている。この処理は、例えばよく知られている高速フーリェ変換(FFT)を用いることによって達成することができる。当業者であれば、例えば、離散コサイン変換(DCT)を利用することによって、別の技法を利用して時間領域のサンプルを周波数領域係数に変換できることが容易に理解されよう。さらに、デジタル・バージョンのオーディオ・プログラムの全体をメモリ内に保存するのではなく、当該ブロックに関して周波数領域への変換が実行されるようにするためには、任意のある時点でそのブロック長さに対応する時間的長さまでだけを保存すればよい。
その後、工程111において、各ブロックの周波数係数を、例えば所定の数(M)の対数間隔トライアンギュラ・フィルタを用いることによって係数の数を減少させるようにフィルタリングし、これによって音響信号の第2の周波数領域表現を作成している。そのオーディオ・コンテンツが音楽を含むような用途では、対数和係数(logarithmic additive factor)を1/12としてクラシックの西洋音階の音符が互いに対して対数的に離間している(すなわち、f1がある音符の周波数でありかつf2が連続した次に高い音符の周波数であるとして、logf2=logf1+1/12)ため、対数間隔トライアンギュラ・フィルタを利用することができる。
図2は、M個の対数間隔トライアンギュラ・フィルタ201−1から201−Mまでの伝達関数の図である。指摘したように、音楽の例では、各トライアンギュラ・フィルタの中心周波数を1つの音符に対応させることが有用となりうる。動作上は、各トライアンギュラ・フィルタの周波数領域範囲内にある係数にその係数の周波数位置におけるそのフィルタのトライアングルの値を乗算し、さらに各トライアンギュラ・フィルタの周波数領域範囲内で得られた各積を合計している。この合計は各フィルタの出力として供給される。幾つかの係数は、複数のフィルタの出力に与えることがあることに留意されたい。さらに、各フィルタの領域は、周波数空間内でこれの直前にあるフィルタの領域の中心位置の周波数で開始させることが好ましい。各ブロック向けに利用されるフィルタの所定の数Mは、実施の一形態では30としている。各フィルタは、当該フィルタに入力された係数から導出して得られた単一の係数値をその出力として供給している。M個のフィルタのすべてに関する出力は、一括して取り扱う場合に、フレームと呼んでいる。時間的に連続するF個(例えば、12個)のフレームを一緒のグループとすることによって、セグメントと呼ぶ1つのグループが形成される。1セグメントあたり12個のフレームを使用すると、11,025サンプル毎秒の元のプログラムの約1秒に相当するようなセグメントとなる。11,025サンプル毎秒はオーディオ品質の観点からすると比較的低いものであるが、本明細書で開示した技法を用いて極めて正確な認識を実現しかつリアルタイムの認識処理を可能とさせるには十分であることに留意されたい。
図1に戻ると、本発明の一態様では、順次式で作成した各セグメントは、任意選択の工程113において、Mahalonobis距離に基づいて将来のマッチング演算を容易にするように設計したスキームである「先行時間(preceding−time)」規格化と呼ぶ正規化を用いて正規化されている。先行時間規格化では、減少させた各係数は、これから、直前のオーディオの所定の長さ(例えば、S秒)に対応するフレーム数を有するウィンドウに関して減少させたすべての係数の平均を減算し、さらにこの得られた差を、先行するS秒を構成するすべてのフレームに関して計算した標準偏差で割り算することによって正規化されている。数学的には、この処理は次式で表すことができる。
Figure 0005259910
上式において、
Figure 0005259910
および
Figure 0005259910
xは、その出力が正規化を受けている現在のトライアンギュラ・フィルタの出力であり、
[x]は、現在のトライアンギュラ・フィルタの正規化値であり、
μは、直前のS秒のオーディオに対応するフレーム数を有するウィンドウにわたる、減少させた係数のすべてに関する平均であり、
Qは、直前のS秒のオーディオにおけるトライアンギュラ・フィルタ出力の数であり、
tは、現在の時刻であり、
σは、計算された標準偏差である。
正規化された各出力は次いで、工程115において、よく知られている「L2」規格化、すなわちiおよびjが当該フレーム内に組み込まれた正規化済みのフィルタ出力のうちの適当な出力を指示するために使用される指標であるとして、
Figure 0005259910
を用いてさらに正規化される。これらのセグメントは、作成されるに従って、一時的に保存される。
工程117において、この一時的に保存したセグメントからZ個のセグメントが選択される。本発明の実施の一形態では、選択したZ個のセグメントは、選択したセグメントが少なくと1つのユーザ指定の最小時間ギャップをその間に有するものとする所定の制約に従って最も大きな最小セグメント・エネルギーを有するようなセグメントである。この最小セグメント・エネルギーとは、そのセグメントの範囲内で最も小さい値を有するフィルタ出力を意味していることに留意されたい。別の実施形態では、この所定の基準は、セグメントが互いに接近しすぎることを防止させる所定の制約に従って選択したセグメントが最大のエントロピーを有することである。エントロピーを計測する一方法は、
Figure 0005259910
(ここで、xi,jはそのセグメント内の第i番目のフレームの第j番目のフィルタの出力であり、Fは1つのセグメントあたりのフレーム数であり、Mはフィルタの数である)によっている。
選択されたセグメントは、これらのセグメントが音響信号の同じ時間間隔にすべてがかたまらないように互いに接近しすぎることを防ぐことが好ましい。選択されたセグメント間の時間間隔も保存しておき、そのプログラム内における各セグメントの時間的な位置が分かるようにしている。
セグメントが互いに対して近づきすぎないようにするという所定の基準を用いることは、データベース内に保存するためのセグメントの選択が不可能であるような時間である時間的ギャップが存在することを示唆する。このため本発明の一態様では、その中からセグメントの選択が可能であるように、これらのギャップ間にある限定された時間間隔だけを生じさせている。これらの限定された時間間隔の各々によって、選択しようとするセグメントの検索を実行する期間であるような「検索ウィンドウ」が形成される。したがって、メディア・プログラムは、例えば、図4に示すように追加的なギャップをその最後に備えた「ギャップ・検索ウィンドウ」の反復構造を有するように示すことができる。実行される検索によって、当該検索ウィンドウ内のセグメントのうちで最も大きな最小セグメント・エネルギーを有するセグメントが選択される。したがって、選択した2つの隣接セグメント(例えば、セグメント401)の間の実際の時間間隔は、隣接する2つの検索ウィンドウ内での選択したセグメントの位置、ならびにこれらの検索ウィンドウ間のユーザ指定の最小時間ギャップに応じて異なる。
セグメントの数Zは次のようにして決定される。
Figure 0005259910
上式において
Ntはそのメディア・プログラム内の総フレーム数であり、
Nsは1セグメントあたりのフレーム数(例えば、12)であり、
MIN_GAP_SECONDSはギャップの最小長さを秒単位で表したユーザ選択の値であり、そのプログラム・コンテンツが歌でありかつ各セグメントが約1秒の長さである場合に有用な値は5秒である。そのプログラム・コンテンツがコマーシャル向けなど比較的短い(例えば、30秒である)場合には、MIN_GAP_SECONDSに関して1秒が有用な値となりうる、
Ng=最小ギャップ1つあたりのフレーム数、すなわち、MIN_GAP_SECONDSにサンプリングレートを乗算しかつ1フレームあたりのサンプル数で割り算した値であり、
Nw=1つの検索ウィンドウ内のフレーム数である(実現者によって、2Ng+Nsとなるように選択される)。
計算したZの値がユーザによって選択されたセグメントの最大許容数Nmより大きい場合には、Zはセグメントの最大許容数を上限としている。ギャップの数Gは、G=Z+1に従って決定することができる。
Nmの値は、その具体的な用途に応じて実現者によって選択可能である。各セグメントが約1秒の音楽に対応するような歌などの音楽コンテンツに関して使用される場合には、Nmの値は30が有利であることが分かっている。プログラムの長さが音楽コンテンツに関する場合と比べてかなり短いことが典型的であるようなコマーシャルのオーディオ、またはオーディオ・コンテンツに関して使用する場合には、例えばそのプログラムをその全体で30秒間だけとすることがあり、10〜15の範囲にあるNmの値をより短い長さのセグメントと共に利用することがあり、例えばセグメントの長さは2分の1秒または10分の2秒とすることがある。
より大きなZの値を生じさせるようなパラメータを選択すると、その正確さは増大することになるが、そのアプリケーションをより低速で動作させることになり、かつ/またはより大きな計算能力を要求することになるということを、実現者は考慮しておく必要がある。
工程119において、Z個の選択したセグメントが、データベース・ファイル内に保存される。Z個の選択したセグメントは、プログラムの名称と関連付けして保存されており、手作業で入力することが可能であり、また例えばよく知られているインターネットベースのCDDBデータベースを用いて電子工学的に取得することが可能である。保存したセグメント数Zを「主要」セグメントと呼んでいる。
次いで本処理は工程121において終了となる。
図3は、本発明の原理に従って、分析しようとするメディア・プログラムのセグメントを取得してその中から所定の特徴を抽出し、次いでこの特徴が例えば図6の処理を用いて、様々なプログラムのコンテンツの識別と関連付けしてデータベース内に保存されている様々なプログラムの特徴と比較されているような例示的な処理を表している。図3の処理は、例えば放送のモニタリングの場合では無期限に、また例えばある特定のファイルのコンテンツを分析している場合では分析しようとするメディア・プログラムのうち処理をしていない残りの部分が存在しないことが確認されるまで、のいずれかによって連続して実行される。本処理は、識別処理を開始する際に工程301において開始される。
その後、工程303において、その識別しようとするメディア・プログラムに関するデジタルの時間領域バージョンの音響信号が取得され、メモリ内に保存される。本発明の実施の一形態では、分析しようとするオーディオ・コンテンツはコンピュータのサウンドカードに供給され、このサウンドカードはこのオーディオ・コンテンツをデジタル化すると共に、これをコンピュータのメモリ内に保存している。次いで、ソフトウェアの制御下でデジタル化バージョンのオーディオ・コンテンツに対してコンピュータが特徴分析を実行することが可能となる。別法として、この分析しようとするオーディオ・コンテンツはすでにデジタル形式でコンピュータに供給できることがあるため、この場合にはデジタル化は省略することができる。しかし、デジタル化バージョンのオーディオ・コンテンツが所定の形式を有することを求めるような分析ソフトウェアの場合、受け取ったデジタル形式のオーディオ・コンテンツの当該形式への変換が必要となることがある。
そのメディア・プログラムのデジタル・バージョンの音響信号をメモリ内に保存した後で、工程305において、長さがN(Nは例えば、1024とすることがある)のブロックにそのサンプルをグループ分けしている。任意選択の工程307では、これらのブロックをフィルタリングしてその音響信号を平滑化している。平滑化をすると、周波数領域へのブロックの別の変換に悪影響を及ぼすことがあるようなグループ分けの影響を軽減させることができるので有利である。利用可能なフィルタの1つはHammingウィンドウ・フィルタであるが、当業者であれば別のフィルタ(例えば、Hanningウィンドウ)を利用することもできることが容易に理解されよう。各ブロックのフィルタリングしたサンプルはそれぞれ、工程309において、周波数領域係数に変換され、これによって音響信号からなる第1の周波数領域表現が作成されている。この処理は、例えばよく知られている高速フーリェ変換(FFT)を用いることによって達成することができる。当業者であれば、例えば、離散コサイン変換(DCT)を利用することによって、別の技法を利用して時間領域のサンプルを周波数領域係数に変換できることが容易に理解されよう。さらに、オーディオ・プログラムの全体をデジタル形式で保存するのではなく、そのブロック長に対応する時間的長さまでだけを保存すればよい。これを実行することは、大部分の実現者にとって好ましいものとなる可能性が高い。
その後、工程311において、各ブロックの周波数係数を、例えば所定の数(M)の対数間隔トライアンギュラ・フィルタを用いることによって係数の数を減少させるようにフィルタリングし、これによって音響信号の第2の周波数領域表現を作成している。利用するフィルタの数Mは、データベース内に保存されるセグメントを作成する際に使用した数と一致させるべきである。本発明の実施の一形態では、利用されるフィルタの数Mは30としている。各フィルタは、当該フィルタに入力された係数から導出して得られた単一の係数値をその出力として供給している。上で指摘したように、M個のフィルタのすべてに関する出力は一括して取り扱う場合にフレームと呼んでいる。時間的に連続するF個(例えば、12個)のフレームを一緒のグループとすることによって、セグメントと呼ぶ1つのグループが形成される。12個のフレームを使用すると、11,025サンプル毎秒の元のプログラムの約1秒に相当するような1つのセグメントとなる。
本発明の一態様では、トライアンギュラ・フィルタによって出力として供給される減少させた係数を、任意選択の工程313において、先行時間規格化を用いて正規化する。次いで、正規化された各出力を工程315において、よく知られている「L2」規格化を用いてさらに正規化する。このセグメントは、比較処理で使用するために工程317においてバッファ内に保存される。マッチを宣言するには少なくともZ個のセグメントをデータベース内のエントリのZ個のセグメントとマッチングさせなければならないため、保存を要する最小の数のセグメントは少なくともZ個となる。しかし、上で指摘したように、データベース内で選択されたセグメントはこれらの間に時間ギャップを有することがあるため、追加的なセグメントを保存することが望ましい。本発明の実施の一形態では、歌の識別に関しては、30分相当のセグメントを保存するだけで十分であることが分かっている。このことは、例えば、主要セグメントがマッチングしているときなどマッチング処理のある点では、そのマッチング処理はセグメント取得処理と比べてより長い時間を要する、すなわちマッチング処理がセグメント取得処理と比べて遅れることがあり、また一方例えば主要セグメントがマッチングしていない別の点では、マッチング処理がセグメント取得処理と比べてより高速となる。したがって、追いつける機会をマッチング処理に与えるように十分に大きなバッファを有することが最善である。
図6は、本発明の原理に従って、そのメディア・プログラムのオーディオ・コンテンツを、様々なプログラムのコンテンツの識別と関連付けしてデータベース内に保存されている様々なプログラムの特徴と比較できるようにした例示的な処理のフローチャートを表している。
マッチングさせようとするプログラムの少なくとも1つのセグメントが生成されかつバッファ内に保存され終ると、マッチングさせようとするプログラムのセグメントとデータベース内に保存されているプログラムのセグメントとの間のユークリッド距離に基づき、検証付きスライディング・ウィンドウ(sliding−window−with−verification)比較処理を用いてマッチング処理が実施される。一般的に言って、マッチングさせようとするプログラムのうちバッファ内に保存されているセグメントで、主要セグメントとまったくマッチングを有していないセグメントを、データベース内の各主要セグメントに対してマッチングさせている。そのセグメント値の間のユークリッド距離をある所定のレンジ範囲内とさせることによって、マッチングさせようとするプログラム・セグメントとマッチングする任意の主要セグメントによって、その関連するプログラムがマーク付けされると共に、マーク付けされたプログラムに対してだけ後続の比較が実施されることになる。
より具体的には、本処理は、工程615において開始され、この工程では、識別しようとするメディア・プログラムのうちのこれまでに未比較(previously−not−compared)の次のセグメントが取得される。したがって、工程617において、この比較で使用される幾つかの指標が初期化される。詳細には、a)データベース内のある具体的なプログラムを指示する指標iは1に初期化され、またb)プログラムiおよび識別しようとするメディア・プログラム内でどのセグメントが指示されているかの判定に使用されるカウンタjは、そのデータベース内における主要セグメントの位置に対応する各プログラムごとのセグメント数にあたるZとするように初期化されている。したがって、本発明の実施の一形態では、マッチングが存在するようにさせるためには、識別しようとするメディア・プログラムのうちの少なくともZ個のセグメントを処理しなければならない。次に、工程619において、すべてのプログラムに対して、これらがさらに比較を行う候補であることを示すようなマーク付けを行う。
条件分岐点625は、識別しようとするメディア・プログラムのうち現在指示されているセグメントと、データベース内において現在指示されている候補プログラムPとの間の距離関数が所定のしきい値未満であるか否かを決定するための判定を行う。例えば、この判定では、距離関数f(S'−Sj_(P))がεj_未満であるか否かを決定している。
上式において、
j_(P)は、識別しようとするメディア・プログラムに対応する可能性があるようなデータベース内の現在の候補プログラムPの保存されている第j番目のセグメントであり、
S'は、識別しようとするメディア・プログラムのうち、データベース内にある現在の候補プログラムPの保存されている第j番目のセグメントと時間的に対応するセグメント(識別しようとするプログラムのうちのj=Zのセグメントがデータベース内にある現在の候補プログラムPの主要セグメントに対応すると仮定する)であり、そして、
εj_は、データベース内にある現在の候補プログラムPのセグメントjに関して実験的に計算されたしきい値(εj_を決定する方法については本明細書の以下でさらに記載することにする)である。
識別しようとするメディア・プログラムの再生速度の変更が認められていない場合、S'は、主要セグメントに対するマッチング、ならびにデータベース内に保存されている現在の候補プログラムPのセグメント間の時間間隔を記述しているタイミング情報から直接決定することができる。しかし、識別しようとするメディア・プログラムの再生速度の変更が認められている場合、こうした再生速度の変更によって識別しようとするプログラム内において主要セグメントの識別される位置が不正確となることがあり、またそのタイミング情報が識別しようとするメディア・プログラムのタイミングと正確に対応しないことがある。したがって、それぞれを識別しようとするメディア・プログラムのセグメントと対応させて識別するような追加的な検索手順が必要となることがある。このためには、最初に識別した位置の周りに1つのスライディング・ウィンドウを画定し、距離計算を識別しようとするメディア・プログラムのセグメントに関して反復してこのウィンドウ内の各位置に対して計算し、さらに最も小さい距離が得られた位置をそのセグメントの位置として選択する。速度を変更する量は、各セグメントに対する検索によって決定したオフセットから、次式に従って計算することができることが有利である。
Figure 0005259910
上式において、
speed%は、再生速度変更の百分率(負の値は速度低下を意味し、正の数は速度上昇を意味している)であり、
Δは、実際の位置とそのデータベース内の指定により予測される位置との差(Δが0より大きいとは、識別しようとするメディア・プログラム内のセグメントに到達するための時間が、対応するメディア・プログラムをデータベース内に保存されているそのセグメントに関して処理した時点と比較してより長くなっているため速度低下を含意しており、またΔが0未満であるとは、識別しようとするメディア・プログラム内のセグメントに到達するための時間が、対応するメディア・プログラムをデータベース内に保存されているそのセグメントに関して処理した時点と比較してより短くなっているため、速度上昇を含意している)であり、そして、
ExpectedLocationは、そのデータベース内の指定により予測されるセグメントの位置である。
工程113において「先行時間」規格化("preceding-time" normalization)を利用しており、またS'およびSj_のそれぞれが多次元空間内の1つのベクトルと見なせるような本発明の実施形態では、Mahalonobis距離を利用すると有利である。本発明の別の実施形態では、ユークリッド距離を利用することがある。
工程625における判定結果がNOの場合には、制御は工程629に進み、データベース内の候補プログラムをさらに比較する対象と見なすべきであることを示すマーク付けを解除する。したがって、その候補プログラムはこれ以上さらに比較する対象と見なされない。次いで制御は、工程631に進む。工程625における判定結果がYESの場合には、制御は直接工程631に進む。したがって、データベース内の現在の候補プログラムをさらに比較する対象と見なすべきであることを示すマーク付けは設定されたままとし、その候補プログラムはさらに比較する対象と見なされることになる。
条件分岐点631は、未判定のマーク付け候補プログラムが残っているか否かを決定するための判定を行う。工程631における判定結果がYESの場合には、未判定のマーク付け候補プログラムがまだ存在していることを示しているため、制御は工程633に進み、ここで指標iを、データベース内の次にマーク付けされた候補プログラムに設定する。次いで制御は、工程625に戻り、本処理は上述のようにして継続される。工程631における判定結果がNOの場合には、前にマーク付けした候補プログラムのすべてを判定し終えたことを示すため、制御は条件分岐点635に進み、ここで、候補プログラムでマーク付けされたままのプログラムがあるか否かを決定するための判定が行われる。工程635における判定結果がYESの場合には、制御は工程637に進む。工程635における判定結果がNOの場合には、制御は工程615に戻り、識別しようとするメディア・プログラムのうちこれまでに未処理の次のセグメントが取得される。
工程637において、jの値を、現在の候補プログラムに関する判定しようとする次のセグメントを指示するように、例えば現在の候補プログラム関して保存されているセグメント・タイミング情報に基づいて更新(例えば、減分)している。工程639では、残っている第1のマーク付け候補プログラムを指示するようにiを再初期化している。条件分岐点641は、そのセグメントのすべてを判定し終えたか否か(例えば、j=0であるか否か)を決定するための判定を行う。工程641における判定結果がNOの場合には、判定すべき追加的なセグメントが残っていることを示しているため、制御は工程625に戻る。工程641における判定結果がYESの場合には、セグメントのすべてを判定し終えたことを示しているため、制御は工程643に進み、ここで、マーク付けされたままの各候補プログラムに関するマッチング・スコアが決定される。本発明の実施の一形態では、そのマッチング・スコアは、例えば次式のプログラムのマッチング・スコア
Figure 0005259910
などの平均距離を計算することによって決定され、さらにこのスコアは工程645においてデータベース内に保存される。
この時点において、識別しようとするプログラムがデータベースのうち最良マッチング・スコアを有する(例えば、平均距離が最小である)候補であることを宣言することが可能であり、このようにすると妥当な結果が得られることになる。次いで本処理は、工程615において再び継続されることになる。しかし、本発明の一態様では、本処理を所定の期間(例えば、8秒間)にわたって反復しており、かつ所定の期間中に各反復ごとに正常に工程645に到達した各候補のスコアを記録しており、かつ所定の期間にわたって最良マッチング・スコアを達成した候補が識別しようとするプログラムであると宣言していることが知られている。
さらに、同じプログラムが1回だけしか再生されていないのに、複数回再生されたと誤って認識される確率(例えばコーラスなどそのプログラムの実質的部分が反復されているときに前述の処理をした場合に発生する可能性がある)を最小限にするために、図5に示すような本発明の一態様に従った追加の例示的な処理を実施することがある。
本処理は、識別しようとするプログラムが、データベース内に保存されているある具体的なプログラムであると識別し終えた後に、すなわち、そのプログラムが所定の期間にわたって十分に良いマッチング・スコアを有している場合に、工程501において開始となる。次に、工程503において、識別しようとするプログラムのうちデータベース内に保存されているプログラムの主要セグメントに対応するセグメントの時間を変数T0内に保存する。したがって、データベースから取り出した際に識別しようとするプログラムについて最初に決定された識別P0は、工程505においてスタック内に保存される。次いで、次のプログラムP1の識別は、工程507において、例えば、図3の処理を実行することによって決定される。
条件分岐点509は、次に識別したプログラム内のセグメントの時間がT0と比べて所定のしきい値の量tdだけ大きいか否かを決定するための判定を行う。この所定のしきい値は、データベース内に保存されている最長のプログラムの長さ、ある具体的なメディア・プログラム内の重複バージョンのメディア・プログラムであると明瞭に識別される程度に十分に接近している反復間の最大時間、ならびに識別の報告の遅延を受容できる時間長に関する考慮に基づいてユーザによって設定される。歌を識別するためのある応用例では、td=120秒という値が有用であることが分かった。tdを、データベース内の長さが最大のプログラムの長さとなるように設定すると、重複識別の排除が改善されることになる、ただしこうすることによって識別の報告に大部分の時間が費やされる。
工程509における判定結果がYESの場合には、新たに識別したプログラムを直前に識別したプログラムの一部とすべきでなくさせるような十分に長い時間が経過したことを示しているため、制御は工程511に進み、ここで、直前に識別したプログラムP0の識別がスタックから取り出され、直前のプログラムの識別として報告される。次いで本処理は工程513において終了となる。
工程509における判定結果がNOの場合には、まだ十分に長い時間が経過しておらず、新たに識別したプログラムがまだ直前に識別したプログラムの一部である可能性があることを示しているため、制御は工程515に進み、ここで、P0とP1の間のオーバーラップ・スコアが計算される。オーバーラップ・スコアは、P0とP1によってどれくらいの長さの時間が共有されているかの指示値であり、次式のようにして決定される。
オーバーラップ・スコア=(tend−tbegin)/(P1の終了時刻−P1の開始時刻)
上式において、
endは、min(P0、P1の終了時刻)であり、かつ
beginは、max(P0、P1の開始時刻)である。
条件分岐点517は、そのオーバーラップ・スコアが所定のしきい値Roより大きいか否かを決定するための判定を行う。Roの値は、多種多様なプログラムを用いてシステムを動作させ、生じる重複した識別の数が最も小さくなるようなRoの値を選択することによって実験的に決定することもできる。歌に関して良好なパフォーマンスを与えるようなRoの値の1つは0.5であることが分かっている。
工程517における判定結果がNOの場合には、オーバーラップがないか、最大でもオーバーラップが比較的小さく、したがってP1がP0と実際に区別されたメディア・プログラムとなる可能性が高いことを示しているため、制御は工程511に進み、本処理は上述のようにして継続される。工程517における判定結果がYESの場合には、P0とP1の間にかなり大きなオーバーラップが存在していることを示しているため、制御は条件分岐点519に進み、ここで、プログラムP0およびP1に関するマッチング・スコアが比較される。より具体的には、条件分岐点519は、P1に関するマッチング・スコアがP0に関するマッチング・スコアより大きいか否かを決定するための判定を行う。工程519における判定結果がNOの場合には、P1に関するマッチング・スコアがP0に関するマッチング・スコア未満であることを示しているため、制御は工程521に進み、ここで、P1は棄却される。次いで制御は工程513に進み、本処理は終了となる。工程519における判定結果がYESの場合には、P1に関するマッチング・スコアがP0に関するマッチング・スコアより大きいことを示しているため、制御は工程523に進み、ここで、P0がスタックから取り出されて棄却され、またしたがって、工程525において、P0の代わりにP1をスタック上に押し入れている。次いで制御は工程513に進み、本処理は終了となる。
本発明の処理を使用すると、同じメディア・プログラムの異なるバージョンを区別することができることが有利である。例えば、抑揚の少ない歌をボイスオーバーを伴う同じ歌と区別し、これによってバックグラウンドで歌を使用しているコマーシャルを歌自体だけの場合と明瞭に識別することができる。さらに、同じ歌を用いている様々なコマーシャルも一意に識別することができる。さらに、ある歌の初期のアーティストの上演を同じ歌に関する後におけるアーティストの上演と区別することができる。別の例としては、第1の速度でのコンテンツの記録を同じ記録であるが速度を速くしたり遅くした記録と区別することができることがあり、また速度の上昇と速度の低下の百分率も同様に識別することができる。
メディア・プログラムが「動的ゲイン調整」としても知られているいわゆる「ダイナミックレンジ圧縮」にかけられている場合であっても、これが適正に認識できるのでさらに有利である。
さらに、データベース内に識別しようとするプログラムと十分な相関をもってマッチするメディアが見いだされない場合は、識別を不可能とさせることができる。
本発明の実施の一形態では、109曲のカントリーソングを用いて粗いしきい値(loose threshold)を実験的に決定した。より具体的には、109曲の歌の各々を、例えば、図1の処理に従って、セグメントをその曲名と関連付けしてデータベース内に保存するように処理した。次いで、これら109曲の歌をシステムに入力として供給し、再生している歌と、システム内に記録した各歌とでセグメント間のユークリッド距離を決定した、すなわち、図3の方法および図6の工程643までを実行するが粗いしきい値εj_を非常に大きな数に設定することによって、あらゆる候補が常にマッチングするようにした。
これらの距離を見いだした後、各セグメントごとにその粗いしきい値を、次式を決定することによって見いだした。
Figure 0005259910
上式において、μは、セグメントjに関して計算された距離の平均値であり、またσはセグメントjに関して計算された距離の標準偏差である。
本発明の実施の一形態では、再生している歌とシステム内に記録されている各歌とでセグメント間のユークリッド距離を決定するために、109曲の歌をシステムに入力として供給したときに、これらの歌は識別しようとする実際の歌が供給されるのと同じメディアを介して供給されている。例えば、識別しようとする歌がラジオを通して放送された歌である場合、粗いしきい値の決定に使用するために供給する歌をラジオを通して供給している。
その最初の計算の後では、システム・パラメータ(例えば、FFTの大きさ、1セグメントあたりのフレーム数、サンプリングレート、トライアンギュラ・フィルタの数、その他)の幾つかを変更した場合に再度計算が必要となるのは粗いしきい値だけとなる。しかし、データベースのコンテンツを変更した場合には、しきい値の再計算が必要とならないようにすべきである。例えば、そのしきい値は最初はカントリー音楽向けに計算していても、その他の様々な音楽ジャンルに等しく適用可能であることが分かっている。
本発明の原理に従って、メディア・プログラムのオーディオ・コンテンツが所定の特徴をその中から抽出するために分析され、次いでこの特徴をそのコンテンツの識別と関連付けして特徴のデータベース内に保存することによっている例示的な処理のフローチャートである。 M個の対数間隔トライアンギュラ・フィルタの伝達関数を表した図である。 本発明の原理に従って、メディア・プログラムのオーディオ・コンテンツが所定の特徴をその中から抽出するために分析され、次いでこの特徴をそのプログラムのコンテンツの識別と関連付けしてデータベース内に保存されている様々なプログラムの特徴と比較することによっている例示的な処理のフローチャートである。 その最後に追加的なギャップを備えている「ギャップ・検索ウィンドウ」の概念的反復構造を表した図である。 本発明の一態様に従った、そのプログラムが1回再生されたときに同じプログラムが複数回再生されたと誤って認識する確率を最小限にするための例示的な処理を表した図である。 本発明の原理に従って、メディア・プログラムのオーディオ・コンテンツを、そのプログラムのコンテンツの識別と関連付けしてデータベース内に保存されている様々なプログラムの特徴と比較することによっている例示的な処理のフローチャートである。

Claims (29)

  1. メディア・プログラムのコンテンツの認識に使用するための方法であって、
    前記メディア・プログラムのブロックの各第1の周波数領域表現を複数のフィルタを用いてフィルタリングし、前記メディア・プログラムの前記ブロックの各々のそれぞれの第2の周波数領域表現であって、前記第1の周波数領域表現に対して周波数係数の数を減少させている第2の周波数領域表現を作成する工程と、
    セグメントを形成させるように前記ブロックの前記第2の周波数領域表現の周波数係数をグループ分けする工程と、
    複数の前記セグメントを選択する工程と、
    選択された前記セグメントを記憶されたプログラムの特徴と比較して、前記メディア・プログラムを識別する工程と、
    後続のメディア・プログラムのサブセットが最初のメディア・プログラムのサブセットとの類似性を示すかを決定する工程とを含む方法。
  2. セグメントを形成させるような前記第2の周波数領域の周波数係数の各グループ分けが前記メディア・プログラム内で時間的に連続するブロックを表している請求項1に記載の方法。
  3. 前記複数のフィルタが一度に1ブロックを処理する1つのグループに配置させており、前記第2の周波数領域表現のうち各ブロックに関するフィルタの前記グループによって生成される部分が1つのフレームを形成しており、かつ少なくとも2つのフレームが1つのセグメントを形成するようにグループ分けされている請求項1に記載の方法。
  4. 前記選択したセグメントは前記メディア・プログラムのうち時間的に連続していない部分に対応している請求項1に記載の方法。
  5. 前記複数のフィルタが少なくとも1つのトライアンギュラ・フィルタの組を含んでいる請求項1に記載の方法。
  6. 前記複数のフィルタが少なくとも1つの対数間隔トライアンギュラ・フィルタの組を含んでいる請求項1に記載の方法。
  7. 前記選択の工程で選択したセグメントは最も大きな最小セグメント・エネルギーを有するセグメントである請求項1に記載の方法。
  8. 前記選択の工程で選択したセグメントは、前記セグメントが互いに接近しすぎることを防止するように所定の制約に従って選択されている請求項1に記載の方法。
  9. 前記選択の工程で選択したセグメントは、ギャップによって分離させた所定の検索ウィンドウと時間的に対応する前記メディア・プログラムの部分を包含するように選択されている請求項1に記載の方法。
  10. 前記選択の工程で選択したセグメントは選択したセグメントにわたって最大のエントロピーを有する選択したセグメントを生じさせるようなセグメントである請求項1に記載の方法。
  11. 前記グループ分け工程の実行後に、前記第2の周波数領域表現において前記周波数係数を正規化する工程であって、セグメント単位で実行される規格化工程をさらに含む請求項1に記載の方法。
  12. 前記規格化工程は少なくとも1回の先行時間規格化を実行する工程を含む請求項11に記載の方法。
  13. 前記規格化工程は少なくとも1回のL2規格化を実行する工程を含む請求項11に記載の方法。
  14. 前記選択したセグメントを前記メディア・プログラムの識別子と関連付けしてデータベース内に保存する工程をさらに含む請求項1に記載の方法。
  15. 前記データベース内に前記選択したセグメントのタイミングを示す情報を保存する工程をさらに含む請求項14に記載の方法。
  16. 前記メディア・プログラムのブロックの前記第1の周波数領域表現が、
    前記データベース内に保存させようとする前記メディア・プログラムのオーディオ表現をデジタル化する工程と、
    デジタル化したオーディオ表現を所定のサンプル数からなるブロックに分割する工程と、
    前記ブロックをフィルタを用いて平滑化する工程と、
    前記平滑化したブロックが周波数係数によって表現されるように前記平滑化したブロックを周波数領域に変換する工程と、
    によって作成されている請求項1に記載の方法。
  17. メディア・プログラムのコンテンツの認識に使用するための装置であって、
    前記メディア・プログラムの第1の周波数領域表現を複数のフィルタを用いてフィルタリングし、前記メディア・プログラムの第2の周波数領域表現であって、前記第1の周波数領域表現に対して周波数係数の数を減少させている第2の周波数領域表現を作成するための手段と、
    セグメントを形成させるように前記第2の周波数領域表現のそれぞれをグループ分けするための手段と、
    複数の前記セグメントを選択するための手段と、
    後続のメディア・プログラムのサブセットが最初のメディア・プログラムのサブセットとの類似性を示すかを決定するための手段とを備える装置。
  18. メディア・プログラムのコンテンツの認識に使用するための方法であって、
    前記メディア・プログラムのブロックの各第1の周波数領域表現を複数のフィルタを用いてフィルタリングし、前記メディア・プログラムの前記ブロックの各々のそれぞれの第2の周波数領域表現であって、前記第1の周波数領域表現に対して周波数係数の数を減少させている第2の周波数領域表現を作成する工程と、
    セグメントを形成させるように前記ブロックの前記第2の周波数領域表現の周波数係数をグループ分けする工程と、
    ッチング・セグメントを探すように、メディア・プログラムのセグメントおよびそれぞれの対応するプログラム識別子をその内部に保存しているようなデータベースを検索する工程と、
    後続のメディア・プログラムのサブセットが最初のメディア・プログラムのサブセットとの類似性を示すかを決定する工程とを含む方法。
  19. 前記検索工程の間に前記データベース内にマッチング・セグメントが発見できないときに前記メディア・プログラムが識別できないことを示す工程をさらに含む請求項18に記載の方法。
  20. 前記データベースは、その内部で識別された各それぞれのメディア・プログラムのセグメントのタイミングを示す情報を含んでおり、かつ前記グループ分け工程の間に生成された前記セグメントのタイミングが前記データベース内に保存されている前記セグメントのタイミングとマッチした場合にのみ前記検索工程の間にマッチを見いだすことができる請求項18に記載の方法。
  21. セグメント間での前記マッチングがセグメント間のユークリッド距離に基づいている請求項18に記載の方法。
  22. 前記検索工程の間に前記データベース内にマッチング・セグメントが発見できないときに、前記メディア・プログラムが最良マッチング・スコアを有する前記データベース内に保存されている識別子が示すメディア・プログラムであると識別する工程をさらに含む請求項18に記載の方法。
  23. 前記メディア・プログラムと前記識別工程の間に識別されたメディア・プログラムとの間の速度差を決定する工程をさらに含む請求項22に記載の方法。
  24. プログラムPに関する前記マッチング・スコアが
    Figure 0005259910
    によって決定されている請求項22に記載の方法。
  25. 前記フィルタリングの工程、グループ分けの工程、検索の工程および識別の工程を反復する工程と、
    別のマッチがあったときに、前記識別されたプログラムが前記反復の前に決定したのと同じプログラムであるのかあるいは異なるプログラムであるのかを決定する工程と、
    をさらに含む請求項22に記載の方法。
  26. 前記決定の工程がオーバーラップ・スコアに基づいている請求項25に記載の方法。
  27. オーバーラップ・スコアが、前記反復の前に決定した前記プログラムP0と、前記反復の間に決定した前記プログラムP1と、の間で次式、
    オーバーラップ・スコア=(tend−tbegin)/(P1の終了時刻−P1の開始時刻)
    上式において、
    endは、min(P0、P1の終了時刻)
    beginは、max(P0、P1の開始時刻)
    によって計算されている請求項26に記載の方法。
  28. メディア・プログラムのコンテンツの認識に使用するための装置であって、
    前記メディア・プログラムの第1の周波数領域表現を複数のフィルタを用いてフィルタリングし、前記メディア・プログラムの第2の周波数領域表現であって、前記第1の周波数領域表現に対して周波数係数の数を減少させている第2の周波数領域表現を作成するための手段と、
    セグメントを形成させるように前記第2の周波数領域表現のそれぞれをグループ分けするための手段と、
    ッチング・セグメントを探すように、メディア・プログラムのセグメントおよびそれぞれの対応するプログラム識別子をその内部に保存しているようなデータベースを検索するための手段と、
    後続のメディア・プログラムのサブセットが最初のメディア・プログラムのサブセットとの類似性を示すかを決定する手段とを備える装置。
  29. 前記メディア・プログラムの前記第1の周波数領域表現は、前記メディア・プログラムのそれぞれの時間領域セクションと対応する係数からなる複数のブロックを備えており、かつ前記メディア・プログラムの前記第2の周波数領域表現は、前記メディア・プログラムのそれぞれの時間領域セクションと対応する係数からなる複数のブロックを備えている請求項28に記載の装置。
JP2004221250A 2003-07-29 2004-07-29 コンテンツ識別システム Expired - Fee Related JP5259910B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/629486 2003-07-29
US10/629,486 US8918316B2 (en) 2003-07-29 2003-07-29 Content identification system

Publications (2)

Publication Number Publication Date
JP2005049878A JP2005049878A (ja) 2005-02-24
JP5259910B2 true JP5259910B2 (ja) 2013-08-07

Family

ID=33552869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004221250A Expired - Fee Related JP5259910B2 (ja) 2003-07-29 2004-07-29 コンテンツ識別システム

Country Status (4)

Country Link
US (2) US8918316B2 (ja)
EP (1) EP1505603A1 (ja)
JP (1) JP5259910B2 (ja)
CN (1) CN100444159C (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239327B2 (en) * 2005-11-02 2012-08-07 Jump Technologies, Inc. System and method for user logging of audio and video broadcast content
US7685459B1 (en) 2006-04-13 2010-03-23 Symantec Operating Corporation Parallel backup
US7478113B1 (en) * 2006-04-13 2009-01-13 Symantec Operating Corporation Boundaries
RU2417514C2 (ru) 2006-04-27 2011-04-27 Долби Лэборетериз Лайсенсинг Корпорейшн Регулировка усиления звука с использованием основанного на конкретной громкости обнаружения акустических событий
US20080162670A1 (en) * 2006-12-04 2008-07-03 Swarmcast, Inc. Automatic configuration of embedded media player
US8312558B2 (en) 2007-01-03 2012-11-13 At&T Intellectual Property I, L.P. System and method of managing protected video content
US7827146B1 (en) 2007-03-30 2010-11-02 Symantec Operating Corporation Storage system
US9984369B2 (en) 2007-12-19 2018-05-29 At&T Intellectual Property I, L.P. Systems and methods to identify target video content
US8037256B2 (en) * 2007-12-20 2011-10-11 Advanced Micro Devices, Inc. Programmable address processor for graphics applications
CN101251881B (zh) * 2008-04-07 2010-04-14 华为技术有限公司 一种内容识别的方法、系统和装置
US20100191689A1 (en) * 2009-01-27 2010-07-29 Google Inc. Video content analysis for automatic demographics recognition of users and videos
US10375451B2 (en) 2009-05-29 2019-08-06 Inscape Data, Inc. Detection of common media segments
US10949458B2 (en) 2009-05-29 2021-03-16 Inscape Data, Inc. System and method for improving work load management in ACR television monitoring system
US9094715B2 (en) 2009-05-29 2015-07-28 Cognitive Networks, Inc. Systems and methods for multi-broadcast differentiation
US10116972B2 (en) 2009-05-29 2018-10-30 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
US8595781B2 (en) 2009-05-29 2013-11-26 Cognitive Media Networks, Inc. Methods for identifying video segments and displaying contextual targeted content on a connected television
US9449090B2 (en) 2009-05-29 2016-09-20 Vizio Inscape Technologies, Llc Systems and methods for addressing a media database using distance associative hashing
US8311964B1 (en) 2009-11-12 2012-11-13 Symantec Corporation Progressive sampling for deduplication indexing
US8473463B1 (en) 2010-03-02 2013-06-25 Symantec Corporation Method of avoiding duplicate backups in a computing system
US10192138B2 (en) 2010-05-27 2019-01-29 Inscape Data, Inc. Systems and methods for reducing data density in large datasets
US9838753B2 (en) 2013-12-23 2017-12-05 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
US8370315B1 (en) 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
US8983952B1 (en) 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
US8756197B1 (en) 2010-08-13 2014-06-17 Symantec Corporation Generating data set views for backup restoration
US8291170B1 (en) 2010-08-19 2012-10-16 Symantec Corporation System and method for event driven backup data storage
US8392376B2 (en) 2010-09-03 2013-03-05 Symantec Corporation System and method for scalable reference management in a deduplication based storage system
US8924993B1 (en) 2010-11-11 2014-12-30 Google Inc. Video content analysis for automatic demographics recognition of users and videos
US8396841B1 (en) 2010-11-30 2013-03-12 Symantec Corporation Method and system of multi-level and multi-mode cloud-based deduplication
US8392384B1 (en) 2010-12-10 2013-03-05 Symantec Corporation Method and system of deduplication-based fingerprint index caching
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
JP2014067292A (ja) * 2012-09-26 2014-04-17 Toshiba Corp 情報処理装置及び情報処理方法
CN102984553A (zh) * 2012-10-29 2013-03-20 北京海逸华清科技发展有限公司 音视频的检测识别方法及系统
US10275397B2 (en) 2013-02-22 2019-04-30 Veritas Technologies Llc Deduplication storage system with efficient reference updating and space reclamation
TWI527025B (zh) * 2013-11-11 2016-03-21 財團法人資訊工業策進會 電腦系統、音訊比對方法及其電腦可讀取記錄媒體
US9955192B2 (en) 2013-12-23 2018-04-24 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US10423495B1 (en) 2014-09-08 2019-09-24 Veritas Technologies Llc Deduplication grouping
BR112017011522A2 (pt) * 2014-12-01 2018-05-15 Inscape Data Inc sistema, e, método
AU2016211254B2 (en) 2015-01-30 2019-09-19 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
WO2016168556A1 (en) 2015-04-17 2016-10-20 Vizio Inscape Technologies, Llc Systems and methods for reducing data density in large datasets
EP3286757B1 (en) 2015-04-24 2019-10-23 Cyber Resonance Corporation Methods and systems for performing signal analysis to identify content types
AU2016291674B2 (en) 2015-07-16 2021-08-26 Inscape Data, Inc. Systems and methods for partitioning search indexes for improved efficiency in identifying media segments
WO2017011792A1 (en) 2015-07-16 2017-01-19 Vizio Inscape Technologies, Llc Prediction of future views of video segments to optimize system resource utilization
US10080062B2 (en) 2015-07-16 2018-09-18 Inscape Data, Inc. Optimizing media fingerprint retention to improve system resource utilization
EP3323245B1 (en) 2015-07-16 2021-08-25 Inscape Data, Inc. Detection of common media segments
CN105976828A (zh) * 2016-04-19 2016-09-28 乐视控股(北京)有限公司 一种声音区分方法和终端
US10983984B2 (en) 2017-04-06 2021-04-20 Inscape Data, Inc. Systems and methods for improving accuracy of device maps using media viewing data
US10181332B1 (en) * 2018-03-21 2019-01-15 The Aerospace Corporation System and method for detecting and identifying unmanned aircraft systems
CN108447501B (zh) * 2018-03-27 2020-08-18 中南大学 一种云存储环境下基于音频字的盗版视频检测方法与系统
CN108492836A (zh) * 2018-03-29 2018-09-04 努比亚技术有限公司 一种基于语音的搜索方法、移动终端及存储介质
CN111863041B (zh) * 2020-07-17 2021-08-31 东软集团股份有限公司 一种声音信号处理方法、装置及设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677466A (en) 1985-07-29 1987-06-30 A. C. Nielsen Company Broadcast program identification method and apparatus
JP3102089B2 (ja) * 1991-10-11 2000-10-23 ブラザー工業株式会社 自動採譜装置
JPH08286693A (ja) * 1995-04-13 1996-11-01 Toshiba Corp 情報処理装置
JP3666100B2 (ja) * 1996-01-30 2005-06-29 ヤマハ株式会社 楽音出力装置
TW429700B (en) * 1997-02-26 2001-04-11 Sony Corp Information encoding method and apparatus, information decoding method and apparatus and information recording medium
JP2001514400A (ja) * 1997-08-21 2001-09-11 シーメンス アクチエンゲゼルシヤフト 音声ユニットを含んだ音声信号からの音声における音声ブロックに対する代表決定のための方法
US6201176B1 (en) * 1998-05-07 2001-03-13 Canon Kabushiki Kaisha System and method for querying a music database
US6711536B2 (en) * 1998-10-20 2004-03-23 Canon Kabushiki Kaisha Speech processing apparatus and method
US7181399B1 (en) * 1999-05-19 2007-02-20 At&T Corp. Recognizing the numeric language in natural spoken dialogue
US6321200B1 (en) 1999-07-02 2001-11-20 Mitsubish Electric Research Laboratories, Inc Method for extracting features from a mixture of signals
US20010044719A1 (en) * 1999-07-02 2001-11-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for recognizing, indexing, and searching acoustic signals
JP4491700B2 (ja) * 1999-08-26 2010-06-30 ソニー株式会社 音響検索処理方法、音響情報検索装置、音響情報蓄積方法、音響情報蓄積装置および音響映像検索処理方法、音響映像情報検索装置、音響映像情報蓄積方法、音響映像情報蓄積装置
JP4438144B2 (ja) * 1999-11-11 2010-03-24 ソニー株式会社 信号分類方法及び装置、記述子生成方法及び装置、信号検索方法及び装置
US6633845B1 (en) * 2000-04-07 2003-10-14 Hewlett-Packard Development Company, L.P. Music summarization system and method
US6453252B1 (en) * 2000-05-15 2002-09-17 Creative Technology Ltd. Process for identifying audio content
US7065416B2 (en) * 2001-08-29 2006-06-20 Microsoft Corporation System and methods for providing automatic classification of media entities according to melodic movement properties
US6574594B2 (en) * 2000-11-03 2003-06-03 International Business Machines Corporation System for monitoring broadcast audio content
JP4027051B2 (ja) * 2001-03-22 2007-12-26 松下電器産業株式会社 楽曲登録装置、楽曲登録方法、及びそのプログラムと記録媒体
US7103547B2 (en) * 2001-05-07 2006-09-05 Texas Instruments Incorporated Implementing a high accuracy continuous speech recognizer on a fixed-point processor
DE10123281C1 (de) * 2001-05-14 2002-10-10 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Analysieren eines Audiosignals hinsichtlich von Rhythmusinformationen des Audiosignals unter Verwendung einer Autokorrelationsfunktion
DE60236161D1 (de) * 2001-07-20 2010-06-10 Gracenote Inc Automatische identifizierung von klangaufzeichnungen
US7295977B2 (en) * 2001-08-27 2007-11-13 Nec Laboratories America, Inc. Extracting classifying data in music from an audio bitstream
US6907367B2 (en) * 2001-08-31 2005-06-14 The United States Of America As Represented By The Secretary Of The Navy Time-series segmentation
CN1172254C (zh) * 2001-12-19 2004-10-20 中国科学院自动化研究所 掌上电脑非特定人语音识别方法
FR2834363B1 (fr) * 2001-12-27 2004-02-27 France Telecom Procede de caracterisation d'un signal sonore
CN1162838C (zh) * 2002-07-12 2004-08-18 清华大学 抗噪声语音识别用语音增强-特征加权-对数谱相加方法
EP1403783A3 (en) * 2002-09-24 2005-01-19 Matsushita Electric Industrial Co., Ltd. Audio signal feature extraction

Also Published As

Publication number Publication date
CN100444159C (zh) 2008-12-17
EP1505603A1 (en) 2005-02-09
US20050027766A1 (en) 2005-02-03
US9336794B2 (en) 2016-05-10
CN1604081A (zh) 2005-04-06
JP2005049878A (ja) 2005-02-24
US8918316B2 (en) 2014-12-23
US20150134329A1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
JP5259910B2 (ja) コンテンツ識別システム
JP5362178B2 (ja) オーディオ信号からの特徴的な指紋の抽出とマッチング
CN110557589B (zh) 用于整合记录的内容的系统和方法
US7386357B2 (en) System and method for generating an audio thumbnail of an audio track
KR101109303B1 (ko) 오디오 복제 검출기
US8065260B2 (en) Device and method for analyzing an information signal
US6421645B1 (en) Methods and apparatus for concurrent speech recognition, speaker segmentation and speaker classification
CN109493881B (zh) 一种音频的标签化处理方法、装置和计算设备
US7643994B2 (en) Method for generating an audio signature based on time domain features
JP5142769B2 (ja) 音声データ検索システム及び音声データの検索方法
JP2000035796A (ja) 音楽情報処理装置及び方法
WO2016189307A1 (en) Audio identification method
CN110399522B (zh) 一种基于lstm与分层匹配的音乐哼唱检索方法及装置
KR20170140188A (ko) 오디오 컨텐츠 인식 방법 및 장치
US9058384B2 (en) System and method for identification of highly-variable vocalizations
CN115273891A (zh) 一种基于相似度检测的音频自动剪错方法
US7680654B2 (en) Apparatus and method for segmentation of audio data into meta patterns
JP4132590B2 (ja) 同時的な音声認識、スピーカ・セグメンテーション及びスピーカ分類のための方法及び装置
CN111063360B (zh) 一种声纹库的生成方法和装置
CN112307253A (zh) 一种基于预设录音标题自动生成语音文件的方法及系统
Huijbregts et al. Filtering the unknown: Speech activity detection in heterogeneous video collections
Kruspe et al. Automatic speech/music discrimination for broadcast signals
JP2007060606A (ja) ビデオの自動構造抽出・提供方式からなるコンピュータプログラム
CN114420096A (zh) 语音交互方法及其装置、车辆和存储介质
JP6344849B2 (ja) 映像識別器学習装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111031

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120425

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120501

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5259910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees