(57)【特許請求の範囲】
【請求項１】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号の各々のサイズを対応する前記周波数帯域の周波数に基づき時間単位でスケーリングする段階と、
前記スケーリングした音声信号を、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項２】
前記フィルタリングした音声信号をスケーリングする段階が基づいている前記周波数は、前記対応する周波数帯域についての中間周波数帯及び周波数範囲のうちの少なくとも１つである、請求項１に記載の方法。
【請求項３】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項１に記載の方法。
【請求項４】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項１に記載の方法。
【請求項５】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項４に記載の方法。
【請求項６】
前記リサンプリングした音声信号を変換する段階は、２次元離散コサイン変換（２Ｄ  ＤＣＴ）を実行する段階を含む、請求項１に記載の方法。
【請求項７】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号の各々を対応する前記周波数帯域の周波数に基づき時間単位でオフセットする段階と、
前記オフセットした音声信号を、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項８】
前記フィルタリングした音声信号をオフセットする段階が基づいている前記周波数は、対応する周波数帯域についての中間周波数帯及び周波数範囲のうちの少なくとも１つである、請求項７に記載の方法。
【請求項９】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項７に記載の方法。
【請求項１０】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項７に記載の方法。
【請求項１１】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項１０に記載の方法。
【請求項１２】
前記リサンプリングした音声信号を変換する段階は、２次元離散コサイン変換（２Ｄ  ＤＣＴ）を実行する段階を含む、請求項７に記載の方法。
【請求項１３】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域にフィルタリングして、１又はそれ以上の処理チャネルと関連する、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号に対して、時間の変化に伴って前記処理チャネルの異なるフィルタリングした音声信号からサンプリングすることによって時間周波数リサンプリングを実行して、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項１４】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項１３に記載の方法。
【請求項１５】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項１３に記載の方法。
【請求項１６】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項１５に記載の方法。
【請求項１７】
前記リサンプリングした音声信号を変換する段階は、２次元離散コサイン変換（２Ｄ  ＤＣＴ）を実行する段階を含む、請求項１３に記載の方法。
【請求項１８】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号を非一様な順序に従って、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項１９】
前記フィルタリングした音声信号を非一様な順序に従ってリサンプリングする段階は、前記フィルタリングした音声信号を最初にサンプリングした順序とは逆の順序で、前記フィルタリングした音声信号をリサンプリングする段階を含む、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体的に、音声信号処理に関し、より具体的には、音声信号からの特徴的フィンガープリントの抽出、及びこのようなフィンガープリントに関するデータベースの検索に関する。
【背景技術】
【０００２】
ファイルフォーマット、圧縮技術、及び他のデータ表現方法は様々であるので、データ信号の識別又はデータ信号と他のデータ信号との比較に関する問題は、大きな技術的な障害を引き起こす。例えば、コンピュータ上のデジタル音楽ファイルの場合、音楽を符号化及び圧縮するために多くのフォーマットが存在する。加えて、音楽は、様々なデータレートでデジタル形式にサンプリングされることが多く、様々な特性（例えば、様々な波形）を有する。更に、録音したアナログ音声は雑音及び歪みを含む。これらの有意な波形の差異は、このようなファイルの直接的な比較において、効率的なファイル又は信号の認識もしくは比較に関して好ましくない選択肢となる。また、ファイルの直接的な比較は、異なるフォーマットで符号化されたメディアを比較することはできない（例えばＭＰ３及びＷＡＶで符号化された同じ音楽を比較すること）。
【０００３】
このような理由により、インターネット上で配信されるようなメディア及び他のコンテンツの識別及び追跡は、メディアに関する識別情報を含むメタデータ、ウォーターマーク、又は何らかの他のコードを添付することによって行われる場合が多い。しかしながら、この添付情報は、不完全又は不正確であるか、或いはその両方であることが多い。例えば、メタデータは、完全であることがまれであり、ファイル名が同一であることは更にまれである。加えて、データ又はコードを追加して元のファイルを改変するウォーターマーキングのような手法は侵襲的である。この手法の別の欠点は、改竄に対して脆弱であることである。あらゆるメディアファイルが、メタデータ又はウォーターマークのような正確な識別データを含む場合でも、このファイルは、情報の削除に成功した場合には「アンロック」（従って海賊版）である可能性がある。
【０００４】
このような問題を避けるために、データ信号自体の内容を解析する概念に基づく別の方法が開発されている。この種の方法の１つにおいて、ある音声セグメントに対して音声フィンガープリントを生成し、ここで音声フィンガープリントは、元の音声を識別するために用いることができる、音声に関する特徴情報を含む。１つの実施例において、音声フィンガープリントは、音声フラグメントを識別するデジタルシーケンスを含む。音声フィンガープリントを生成するプロセスは、フィンガープリントを生成する音声の音響的及び知覚的特性に基いている場合が多い。音声フィンガープリントは通常、元の音声コンテンツよりも遙かに小さなサイズを有し、従って、音声コンテンツに関して識別し、比較し、及び検索するのに好都合なツールとして使用することができる。音声フィンガープリント処理は、ブロードキャストモニタリング、音声コンテンツの統合、Ｐ２Ｐネットワークのコンテンツのフィルタリング、及び音楽又は他の音声コンテンツの識別を含む、幅広い用途で使用することができる。このような様々な分野に適用する際に、通常、音声フィンガープリント処理は、フィンガープリント抽出、並びにフィンガープリントデータベース検索アルゴリズムを含む。
【０００５】
既存のほとんどのフィンガープリント処理技術は、周波数領域において音声サンプルから音声特徴要素を抽出することに基づいている。音声は、最初にフレームに分割して、フレーム毎に特徴要素のセットを計算する。使用できる音声特徴要素としては、高速フーリエ変換（ＦＦＴ）係数、メル周波数ケプストラム係数（ＭＦＣＣ）、スペクトルフラットネス、シャープネス、エントロピー、及び変調周波数がある。計算された特徴要素は、特徴要素ベクトルに構築され、該ベクトルは、通常、導関数、平均、又は分散を用いて変換される。特徴要素ベクトルは、主成分分析のようなアルゴリズムを使用してよりコンパクトな表現にマッピングされた後、量子化を行い、音声フィンガープリントを生成する。通常、単一の音声フレームを処理して得られるフィンガープリントは、比較的小さなサイズを有し、元の音声シーケンスを所望の信頼度で識別するのに十分に一意的ではない場合がある。フィンガープリントの一意性を改善し、ひいては正確に認識する可能性を高め（偽陽性率を低減する）ために、小さなサブフィンガープリントを組み合わせて、約３〜５秒の音声を表すより大きなブロックにすることができる。
【０００６】
フィリップス（Ｐｈｉｌｉｐｓ）によって開発された１つのフィンガープリント処理技術では、短時間フーリエ変換（ＳＴＦＴ）を使用して、音声信号の１１．８ミリ秒の周期毎に３２ビットサブフィンガープリントを抽出する。音声信号は、最初に０．３７秒の長さのオーバーラッピングフレームに分割され、フレームは、３１／３２のオーバラップ率でハミング窓によって重み付けされ、ＦＦＴを使用して周波数領域に変換される。ここで得られた周波数領域のデータは、横軸が時間で縦軸が周波数である、スペクトログラム（例えば時間周波数図）として表すことができる。フレーム毎（スペクトログラムカラム）のスペクトルは、対数離間で３００Ｈｚから２０００Ｈｚの帯域において３３のノンオーバラッピング周波数帯域に分割される。帯域毎のスペクトルエネルギーが計算され、３２ビットサブフィンガープリントが、時間軸及び周波数軸に沿って連続帯域におけるエネルギー差の符号を使用して生成される。１つのフレームにおける２つの帯域間のエネルギー差が、前のフレームにおける同じ帯域間のエネルギー差よりも大きい場合には、アルゴリズムは、サブフィンガープリント内の対応するビットに関して「１」を出力し、大きくない場合には、対応するビットに関して「０」を出力する。フィンガープリントは、２５６の後続の３２ビットサブフィンガープリントを組み合わせて、３秒の音声に対応する単一のフィンガープリントブロックにすることによって構築される。
【０００７】
このアルゴリズムは、一般的なタイプの音声処理、雑音、及び歪みに対して堅牢であるように設計されているが、結果として得られるスペクトルスケーリングに起因して大きな速度変化に対してはあまり堅牢ではない。従って、音声フィンガープリントをスケール不変フーリエ−メリン領域において抽出する修正アルゴリズムが提案されている。修正アルゴリズムは、音声フレームを周波数領域に変換した後に実行される追加のステップを含む。この追加のステップは、スペクトルログマッピングと、その後の第２のフーリエ変換を含む。従って、フレーム毎に第１のＦＦＴを適用し、得られた結果をログマップしてパワースペクトルが得られ、次いで、第２のＦＦＴを適用する。これは、対数リサンプリングフーリエ変換のフーリエ変換として説明することができ、音声認識において広く使用された公知のＭＦＣＣ方法と同様である。主な差異は、フーリエ−メリン変換がスペクトル全体のログマッピングを使用するのに対し、ＭＦＣＣはメル周波数スケール（最大１ｋＨｚまで線形であり、それよりも高い周波数ではログ離間を有し、人間の聴覚系の特性を模擬している）に基づいていることである。
【０００８】
フィリップスアルゴリズムは、サブフィンガープリント処理が２つだけの連続するフレームのスペクトル係数を使用して計算するので、いわゆる短期分析アルゴリズムに分類される。スペクトログラムの複数のオーバラップしたＦＦＴフレームを使用してスペクトル特徴要素を抽出する他のアルゴリズムがある。時間内の複数のフレームを評価することに基づく方法の幾つかは、長期スペクトログラム分析アルゴリズムとして知られている。
【０００９】
例えば、Ｓｕｋｉｔｔａｎｏｎ著「Ｍｏｄｕｌａｔｉｏｎ−Ｓｃａｌｅ  Ａｎａｌｙｓｉｓ  ｆｏｒ  Ｃｏｎｔｅｎｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｖｏｌ．５２  ｎｏ．１０（２００４年１０月）に記載されている１つの長期分析アルゴリズムは、変調周波数の推定に基づいている。このアルゴリズムにおいて、音声が分割され、この音声に関してスペクトログラムが計算される。次に、変調スペクトルは、スペクトログラムの時間列（例えば横軸）に沿って第２の変換を適用することにより各スペクトログラム帯域（例えば、スペクトログラムの周波数の範囲）に関して計算する。これは、第２のＦＦＴをスペクトログラムの周波数カラム（例えば、縦軸）に沿って適用する修正フィリップス手法とは異なる。この手法においては、スペクトログラムをＮ個の周波数帯域に分割し、各帯域に対して１つずつ、同じ数Ｎの連続ウェーブレット変換（ＣＷＴ）を計算する。
【００１０】
このアルゴリズムの開発者は、フィリップスアルゴリズムと比較して優れた性能があると主張しているが、既存のアルゴリズムは依然として幾つかの欠点を示している。例えば、特に、音声が（例えば、ＧＳＭ（登録商標）のような携帯電話の音声と関連している）ＣＥＬＰ音声コーデックを使用して圧縮されている場合、このアルゴリズムは、歪みのあるスピーチ及び音楽を確実に識別するには十分に堅牢ではない場合がある。更に、これらのアルゴリズムは一般に、マイクロホン録音と関連するような雑音及びアナログ歪みの影響を受けやすい。このアルゴリズムは、単一のタイプの歪みが存在する音声を識別することができる場合でも、（例えば、携帯電話、すなわち、反響がある雑音ルームにおいてマイクロホンから録音された後にＧＳＭ（登録商標）圧縮した音声のように）実際の状況により一般的でより近い複数の歪みの組み合わせを処理することはできない。
【００１１】
従って、実際の用途に適用する場合には、既存のフィンガープリント方式は、受け入れられない高い誤り率（例えば、偽陽性、及び偽陰性）を有し、商用で実行するには大きすぎる、及び／又はあまりに遅すぎるフィンガープリントを生成する。従って、現在の音声認識技術が解決することができていない既存の限界を克服する必要がある。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Ｓｕｋｉｔｔａｎｏｎ著  「Ｍｏｄｕｌａｔｉｏｎ−Ｓｃａｌｅ  Ａｎａｌｙｓｉｓ  ｆｏｒ  Ｃｏｎｔｅｎｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｖｏｌ．５２  ｎｏ．１０  ２００４年１０月
【発明の概要】
【００１３】
従って、本発明は、音声信号のコンテンツに基づき音声信号から特徴的フィンガープリントを抽出することを可能にする。このフィンガープリントは、信号の識別又は２つの信号との間の相似性を判断するために、参照フィンガープリントのセット（例えば、データベース内）に対してマッチングさせることができる。フィンガープリント抽出アルゴリズムの特性により、フィンガープリント抽出アルゴリズムは、既存の解決手段を損なう多くの問題を生じることなく、このような解決手段と比較して、高速、効率的、極めて正確、拡張的、及び堅牢である。
【００１４】
音声フィンガープリントを生成する方法の実施形態において、音声信号をサンプリングし、信号からスペクトログラム情報を計算する。スペクトログラムは、複数の周波数帯域に分割される。帯域内のシーケンスサンプルはリサンプリングされる。
【００１５】
１つの実施形態において、シーケンスサンプルをリサンプリングする段階は、サンプルを対数マッピングする段階を含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、対応する周波数帯域についての中間周波数帯及び／又は周波数範囲に基づきシーケンスサンプルのサイズを時間単位でスケーリングする段階と、スケーリングしたシーケンスサンプルをリサンプリングする段階とを含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、対応する周波数帯域についての中間周波数帯及び／又は周波数範囲に基づきシーケンスサンプルを時間単位でオフセットする段階を含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、時間の変化に伴って異なるシーケンスサンプル（すなわち、周波数帯域）からサンプリングする段階を含む。
【００１６】
次に、第２の変換がリサンプリングシーケンスに適用されて、各シーケンスに関する特徴要素ベクトルを得る。１つの実施形態において、第２の変換は、時間軸に沿った変換を含む。別の実施形態において、第２の変換は、時間軸に沿った変換に続いて周波数軸に沿った変換を含む。別の実施形態において、第２の変換は、２次元離散コサイン変換（２Ｄ  ＤＣＴ）を含む。音声フィンガープリントは、特徴要素ベクトルに基づき計算される。音声フィンガープリントは、コンピュータ読み取り可能媒体に格納するか、又は伝送可能信号として一時的に固定することができる。
【００１７】
説明されるシーケンスサンプルのリサンプリングの様々なタイプは、アルゴリズムが音声再生速度並びに時間圧縮及び拡張における変動に対する影響をあまり受けないようにする。このようにして、音声信号のフィンガープリントは、再生速度における変動、又は時間圧縮もしくは拡張による変動にかかわらず、変動がほとんどないか又は全くないようにすべきである。更に、説明されるリサンプリングは、第２の時間周波数変換についての低周波数分解能を改善する。これにより、スペクトログラム変調スペクトルの分析に使用される複雑なウェーブレット変換の代わりに、単純な変換の使用を可能にし、以前の方法に比べて実行がより効率的でより高速になる。
【００１８】
更に、説明されるリサンプリングにより、帯域出力フレームは、大部分に関して分析する音声シーケンスの開始を表すサンプルを含む。従って、結果として得られるフィンガープリントは、主としてシーケンスの開始に位置するサンプルを使用して生成される。比較的小部分の音声シーケンスが結果として得られるフィンガープリントに最大の寄与をもたらすので、フィンガープリントは、より短い音声シーケンスをマッチングさせるのに使用することができる。１つの実行形態において、例えば、５秒の元の音声フレームから生成されたフィンガープリントは、２分の１の音声フラグメントから得られるサンプルに確実にマッチングすることができる。
【００１９】
フィンガープリント処理技術の実施形態はまた、雑音及び信号歪みに対して耐性がある。１つの実行形態は、１００％のホワイトノイズ（すなわち、０ｄｂのＳ／Ｎ比）が存在しているスピーチのような信号を検出することができる。更に、この技術は、フィルタリング、圧縮、周波数等化、及び位相歪みに対して耐性がある。
【００２０】
別の実施形態において、生成されたフィンガープリントフレームが、特定数の周波数帯域を使用して形成される場合、音響モデルは、有意でない周波数帯域をマーキングするのに使用される。有意でない帯域は、音声サンプルの区別においてどのような知覚的な値も実質的に付加しない帯域を含むことができる。関連する周波数帯域のみが処理され、Ｓ／Ｎ比が向上し、フィンガープリントマッチングプロセス全体の堅牢性が高くなる。更に、関連性のない周波数帯域を除外することで、例えば、極めて低ビットレートで符号化したスピーチ、又は低速テープを使用して録音するアナログの場合に、帯域制限音声コンテンツの認識効率を大いに改善することができる。
【００２１】
更に、本発明の実施形態は、大規模データベース内のフィンガープリントに関する高速なインデックス化及び効率的な検索を提供する。例えば、各音声フィンガープリントに関するインデックスは、フィンガープリントの内容の一部から計算することができる。１つの実施形態において、フィンガープリントからのビットのセットは、フィンガープリントのインデックスとして使用され、このビットは、リサンプリングによってより安定した低周波数係数に対応している。試験フィンガープリントをデータベース内のフィンガープリントのセットとマッチングさせるために、試験フィンガープリントは、フィンガープリント候補のグループを得るためにインデックスに対してマッチングさせることができる。次に、試験フィンガープリントは、フィンガープリント候補に対してマッチングされ、従って、試験フィンガープリントをデータベース内の全てのフィンガープリントに対してマッチングする必要がなくなる。
【００２２】
別の実施形態において、エッジ検出アルゴリズムが、分析する音声フレーム又はフラグメントについての正確なエッジを判定するために使用される。幾つかの用途において、特に音声サンプルがサンプル全体の短期間のみ異なる場合に、音声サンプル内の分析される音声フレームのエッジの位置を知ることが重要である。エッジ検出アルゴリズムは、線形回帰技術を使用して、音声フレームのエッジを識別することができる。
【００２３】
フィンガープリント処理技術の実施形態の用途は多岐にわたっており、音声ストリーム及び他の音声コンテンツ（例えば、ストリーミングメディア、ラジオ、広告、インターネットブロードキャスト、ＣＤ内の音楽、ＭＰ３ファイル、又は他のあらゆるタイプの音声コンテンツ）のリアルタイム識別を含む。従って、本発明の実施形態は、効率的な、リアルタイムのメディアコンテンツ監査及び他の録音を可能にする。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態による、音声サンプルからのフィンガープリントの抽出及び使用に関するプロセスについての概略図である。
【図２】本発明の実施形態による、フィンガープリント抽出システムの概略図である。
【図３】本発明の実施形態による、マッチングアルゴリズムのフロー図である。
【図４】本発明の実施形態による、エッジ検出アルゴリズムを示す図である。
【図５】本発明の実施形態による、対数リサンプラ及びＴポイント変換モジュールを含むフィンガープリント抽出システムの概略図である。
【図６Ａ】本発明の幾つかの別の実施形態による、フィンガープリント抽出アルゴリズムについてのグラフ表現を示す。
【図６Ｂ】本発明の幾つかの別の実施形態による、フィンガープリント抽出アルゴリズムについてのグラフ表現を示す。
【図７Ａ】本発明の実施形態による、音声フレームに適用するバンドパスフィルタについてのグラフ表現を示す。
【図７Ｂ】本発明の実施形態による、音声フレームに適用するバンドパスフィルタについてのグラフ表現を示す。
【図８Ａ】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
【図８Ｂ】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
【図８Ｃ】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
【発明を実施するための形態】
【００２５】
（概要）
【００２６】
本発明の実施形態は、音声のサンプルから特徴情報（例えば、音声フィンガープリント）を抽出すること、並びにこの抽出した特徴情報を使用して音声のマッチング又は識別を可能にする。図１に例示するように、音声サンプル１００から取り出した音声のフレーム１０５は、フィンガープリント抽出アルゴリズム１１０に入力される。音声サンプル１００は、広範囲なソースの何れかによって提供することができる。音声フレーム１０５のシーケンスを使用して、フィンガープリント抽出アルゴリズム１１０は、このシーケンスの特徴である１又はそれ以上のフィンガープリント１１５を生成する。音声フィンガープリント１１５は、区別する識別子として機能し、音声サンプル１００のフレーム１０５のシーケンスについての識別又は他の特性に関する情報を提供する。詳細には、音声サンプル１００に関する１又はそれ以上のフィンガープリント１１５は、音声サンプル１００を一意に識別可能にすることができる。フィンガープリント抽出アルゴリズム１１０の実施形態について、以下でより詳細に説明する。
【００２７】
フィンガープリントが生成されると、抽出したフィンガープリント１１５は、更なるプロセスにおいて使用するか、又は後で使用するために媒体上に格納することができる。例えば、フィンガープリント１１５は、フィンガープリントマッチングアルゴリズム１２０が使用することができ、該アルゴリズムは、フィンガープリント１１５をフィンガープリントデータベース１２５内のエントリ（既知のソースからの音声フィンガープリントの集合体）と比較して、音声サンプル１００の識別を判断する。更に、フィンガープリントを使用することに関する様々な方法について、以下に説明する。
【００２８】
音声サンプル１００は、フィンガープリント処理システムの用途に応じて、幅広い種類のソースの何れかから得ることができる。１つの実施形態において、音声サンプル１００は、メディアブロードキャスタから受信したブロードキャストからサンプリングしてデジタル化される。或いは、メディアブロードキャスタは、デジタル化を必要とすることなく、デジタル形式で音声を伝送することができる。メディアブロードキャスタのタイプには、限定ではないが、無線伝送事業者、衛星伝送事業者、及びケーブル事業者が含まれる。従って、フィンガープリント処理システムは、これらブロードキャスタを監査して、どの音声が何時ブロードキャストしているかを判断するのに使用することができる。これは、ブロードキャスティング制約条件、ライセンス付与同意、及び同等のものへの適合性を保証するための自動化システムを可能にする。フィンガープリント抽出アルゴリズム１１０は、ブロードキャスト信号の正確な開始及び終了を知る必要もなく作動することができるので、メディアブロードキャスタが独自の及び公平な結果を保証することについて協働又は認識を必要とせずに作動することができる。
【００２９】
別の実施形態において、メディアサーバは、メディアライブラリから音声ファイルを取得し、フィンガープリント抽出アルゴリズム１１０が使用するためにネットワーク（例えば、インターネット）上でデジタルブロードキャストを配信する。ストリーミングインターネット無線ブロードキャストは、このタイプのアーキテクチャの１つの実施例であり、メディア、広告、及びその他のコンテンツは、個人又はユーザグループに配信する。このような実施形態において、フィンガープリント抽出アルゴリズム１１０及びマッチングアルゴリズム１２０は、通常、音声サンプル１００のストリーミングコンテンツ内に含まれる個別のメディアアイテムの開始時刻及び終了時刻に関すどのような情報も有していないが、このアルゴリズム１１０及び１２０は、ストリーミングコンテンツを識別するのにこの情報を必要としない。
【００３０】
別の実施形態において、フィンガープリント抽出アルゴリズム１１０は、音声ファイルを含む記録デバイスにアクセスできるクライアントコンピュータから音声サンプル１００、又は一連のフレーム１０５を受信する。クライアントコンピュータは、記録デバイスから個別の音声ファイルを取り出し、このファイルをフィンガープリント抽出アルゴリズム１１０に送信して、このファイルから１又はそれ以上のフィンガープリント１１５を生成する。或いは、クライアントコンピュータは、記録デバイス１４０からファイルのバッチを取り出し、次いで、これらファイルのバッチをフィンガープリント抽出アルゴリズム１１０に連続して送信し、各ファイルに関するフィンガープリントのセットを生成することができる。（本明細書において使用する「セット」は、単一のアイテムを含む、グループロセス化されたあらゆる数のアイテムを含むものと理解されたい。）フィンガープリント抽出アルゴリズム１１０は、クライアントコンピュータ、又はネットワーク上でクライアントコンピュータに接続する遠隔サーバを使用して実行することができる。
【００３１】
（アルゴリズム）
図１に示すフィンガープリント抽出アルゴリズム１１０を実行するフィンガープリント抽出システム２００の１つの実施形態が、図２に例示される。フィンガープリント抽出システム２００は、複数の処理チャネル（各々は要素２１０及び２１５としてラベル付けた１又はそれ以上の処理モジュールを含む）に結合された分析フィルタバンク２０５を含み、複数の処理チャネルは、音声フィンガープリント１１５を作成するために順序に差分符号器２２５に結合されている。フィンガープリント抽出システム２００は、音声フィンガープリントが生成されることになる音声フレーム１０５を受信するように構成される。
【００３２】
以下により詳細に説明するが、入力音声フレーム１０５毎に、分析フィルタバンク２０５は一般に、ある周波数範囲にわたる受信した信号についてのパワースペクトル情報を計算する。１つの実施形態において、各々の処理チャネルは、帯域がオーバラップすることができる周波数の範囲内の周波数帯域に対応する。従って、チャネルは、フィンガープリント抽出システム２００によって実行される処理を分割し、各チャネルが、対応する帯域幅に関する処理を実行するようにする。別の実施形態において、各処理チャネルは、複数の周波数帯域を処理する（すなわち、複数の周波数帯域は、各処理チャネルと関連している）。更に別の実施形態において、複数の帯域に関する処理は、単一のチャネルにおいて単一のモジュールによって実行することができ、又は、処理は、アプリケーション及びシステムの技術的制限に適切な他の何らかの構成で分割することができる。
【００３３】
分析フィルタバンク２０５は、（図１に例示する音声サンプル１００からのフレーム１０５のような）音声フレーム１０５を受信する。分析フィルタバンク２０５は、音声フレーム１０５を時間領域から周波数領域に変換し、フレーム１０５に関するパワースペクトル情報をある周波数範囲にわたって計算する。１つの実施形態において、約２５０から２２５０Ｈｚの範囲の信号に関するパワースペクトルは、複数の周波数帯域（例えば、Ｙ＝１３である、Ｙ帯域）に分割される。帯域は、線形又は対数の中間周波数帯分布（又はその他の何れかのスケール）を有することができ、更にオーバラップすることができる。フィルタバンクの出力は、複数の帯域の各々に関する信号エネルギーの測定を含む。１つの実施形態において、平均エネルギーの測定は、帯域内の平均スペクトルエネルギーの立方根を使用して実施される。
【００３４】
ソフトウェア及びハードウェア要求、並びにシステムの制限に応じて、分析フィルタバンク２０５の様々な実行が可能である。１つの実施形態において、分析フィルタバンク２０５は、周波数帯域の各々に関して音声フレーム１０５の信号を分離した後、エネルギー推定及びダウンサンプリングを行う複数のバンドパスフィルタを含む。１つの実施形態において、各バンドパスフィルタを通過する周波数は時間と共に変化する。別の実施形態において、各バンドパスフィルタを通過する周波数は一定である（すなわち、時間と共に変化しない）。図７Ａは、各バンドパスフィルタを通過する周波数が時間と共に変化しない実施形態のグラフ表現を示す。グラフ７０２の各長方形は、バンドパスフィルタによって出力される音声フレーム１０５の信号を表す。一方、図７Ｂは、各バンドパスフィルタを通過する周波数が時間と共に変化する実施形態のグラフ表現を示す。グラフ７０４で分かるように、この実施例において、各バンドパスフィルタを通過する周波数は時間と共に減少する。別の実施形態において、通過する周波数は時間と共に増加する。バンドパスフィルタを音声フレーム１０５に適用した後、各周波数帯域は、対応するバンドパスフィルタによって出力される信号を含む。
【００３５】
別の実施形態において、分析フィルタバンク２０５は、短時間高速フーリエ変換（ＦＦＴ）を使用して実行される。例えば、８ｋＨｚでサンプリングされる音声１００は、６４ｍｓフレーム１０５（例えば、５１２サンプル）に分割される。次に、２つの音声フレーム１０５（例えば、１０２４サンプル）からなる各々５０％オーバラップのセグメントのパワースペクトルは、ハン窓によって計算されてＦＦＴを実行し、続いてＭ一様又は対数離間オーバラップトライアングル窓を使用してバンドフィルタリングを行う。
【００３６】
上述のＦＦＴの代わりに、様々な時間周波数領域変換を使用することができる。例えば、修正離散コサイン変換（ＭＤＣＴ）を使用してもよい。ＭＤＣＴの１つの利点は、あまり複雑でないことであり、１つのみのｎ／４ポイントＦＦＴ、及びサンプルの幾つかの事前及び事後回転を使用して計算することができる。従って、ＭＤＣＴで実行されるフィルタバンク２０５は、ＦＦＴで実行するものよりも良好に実行され、例えば、２倍速く変換を計算できることが期待される。
【００３７】
別の実施形態において、分析フィルタバンク２０５は、カスケーディングポリフェーズフィルタ及びＭＤＣＴに続いてエイリアシングキャンセルを含むＭＰ３ハイブリッドフィルタバンクを使用して実行される。ＭＰ３フィルタバンクは、５７６サンプルからなる音声のフレーム１０５毎に５７６スペクトル係数を生成する。８ｋＨｚでサンプリングされた音声に関して、結果として得られるフレームレートは、上述の１０２４ポイントＦＦＴフィルタバンクが１５．６２６ｆｐｓであるのに対して、１３．８ｆｐｓである。フレームレートの差異は、以下に説明するように、データがリサンプリングされた時間周波数分析の間に相殺される。更に、分析フィルタバンク２０５は、直交ミラーフィルタ（ＱＭＦ）を使用して実行することができる。ＭＰ３ハイブリッドフィルタバンクの第１のステージは、３２等帯域幅を有するＱＭＦフィルタを使用する。従って、１１，０２５Ｈｚの音声信号の２５０Ｈｚから２２５０Ｈｚ周波数帯域は、１３のバンドに分割することができる。
【００３８】
ＭＰ３フィルタバンクの１つの利点は、移植性である。異なるＣＰＵに対して、ＭＰ３フィルタバンクの実行が高度に最適化される。従って、フィンガープリント生成ルーチンは、処理を追加することなくＭＰ３フィルタバンクからスペクトル係数を得ることができるＭＰ３符号器と容易に統合することができる。従って、フィンガープリント生成ルーチンは、完全に復号せずにＭＰ３ビットストリームから直接スペクトルデータを得ることができるＭＰ３復号器と容易に統合することができる。更に、他の音声コーデックとの統合が可能である。
【００３９】
サブバンドサンプルが決定されるとバッファリングされ、１又はそれ以上のリサンプラ２１０に供給される。リサンプラ２１０は、サブバンドサンプルを受信し、サブバンドサンプルをリサンプリングしてリサンプルシーケンスを生成する。１つの実施形態において、リサンプラ２１０は、不連続又はサンプルをサンプリングした順序と逆の順序のような、非一様の順序に従ってサブバンドサンプルをリサンプリングする。
【００４０】
１つの実施形態において、各リサンプラ２１０は、Ｙ周波数帯域の１つに対応し、対応する周波数帯域に関して時間単位で線形離間されたＳサンプルのシーケンス（例えば、Ｓは、フィルタバンクの実行に応じて、６４〜８０であるよう選択する）を受信する。１つの実施形態において、サブバンドサンプルシーケンスが受信されると、各リサンプラは、それぞれのサブバンドサンプルシーケンスについて対数リサンプリング、スケールリサンプリング、又はオフセットリサンプリングを実行する。リサンプリングの結果として、リサンプラ２１０は、各音声フレームに関してＭリサンプリングシーケンスを生成する。
【００４１】
１つの実施形態において、対数リサンプリングは、対応するサブバンドサンプルを対数マッピングして時間内対数離間したＴサンプル（例えば、Ｔ＝６４）を有するリサンプリングシーケンスを生成するリサンプラ２１０を含む。対数サンプリングの代わりに、指数リサンプリングのような他のタイプの非線形サンプリングを実行してもよい。
【００４２】
１つの実施形態において、スケールリサンプリングは、それぞれのサブバンドサンプルシーケンスのサイズ（すなわち、長さ）を時間単位でスケーリングするリサンプラ２１０を含む。サブバンドサンプルシーケンスは、周波数帯域についての中間周波数帯及び／又は周波数範囲に基づきスケーリングされる。例えば、スケーリングは、サブバンド中間周波数帯が高い程、サブバンドサンプルシーケンスのサイズが大きくなるようにすることができる。別の実施例として、スケーリングは、サブバンド中間周波数帯が高い程、サブバンドシーケンスのサイズが小さくなるようにしてもよい。スケーリングしたサブバンドサンプルシーケンスは、リサンプラ２１０によってリサンプリングされ、Ｔサンプルを有するリサンプリングシーケンスを生成する。
【００４３】
１つの実施形態において、オフセットリサンプリングは、それぞれのサブバンドサンプルシーケンスを時間単位でオフセットする（すなわち、シフトする）リサンプラ２１０を含む。サブバンドシーケンスのオフセットは、リサンプラの周波数帯の中間周波数帯及び／又は周波数範囲に基づいている。例えば、サブバンド中間周波数帯が高い程、サブバンドサンプルシーケンスの時間オフセットが大きくなるようにすることができる。オフセットサブバンドサンプルシーケンスは、リサンプラ２１０によってリサンプリングされ、Ｔサンプルを有するリサンプリングシーケンスを生成する。
【００４４】
別の実施形態において、各リサンプラ２１０は、複数の周波数帯域に対応する。各リサンプラ２１０は、複数の周波数帯域のサブバンドサンプルシーケンスを受信する。各リサンプラ２１０が受信するサブバンドサンプルシーケンスの数は、実行に基づいて変化する。１つの実施形態において、各リサンプラに対応する周波数帯域は連続している。
【００４５】
各リサンプラ２１０は、対応するサブバンドシーケンスに対して時間周波数リサンプリングを実行する。時間周波数リサンプリングは、時間が変化するにつれて異なる対応する周波数帯域からサンプリングしてＴサンプルを有するリサンプリングシーケンスを生成するリサンプラ２１０を含む。１つの実施形態において、時間が経過するにつれて、リサンプラ２１０がサンプリングする周波数は減少する。別の実施形態において、時間が経過するにつれて、リサンプラ２１０がサンプリングする周波数は増加する。リサンプリングの結果として、リサンプラ２１０は、各音声フレームに関してＭリサンプリングシーケンスを生成する。
【００４６】
図８Ａ及び８Ｂは、１つの実施形態による時間周波数リサンプリングを例示する。図８Ａにおいて、グラフ８０２の灰色の輪郭で描かれた各長方形は、異なる周波数帯域（すなわち、ある周波数帯域のサンプルシーケンス）を表す。黒色の各斜線は、時間周波数リサンプリングの結果としてリサンプラ２１０が生成するリサンプリングシーケンスを表す。グラフ８０２で分かるように、リサンプリングシーケンスを生成するために、各リサンプラ２１０は、時間の変化に伴って異なる対応する周波数帯域をサンプリングする。グラフ８０２の実施形態において、リサンプラ２１０がサンプリングする周波数帯は、時間が経過するにつれて減少する。図８Ｂのグラフ８０４は、図８Ａのリサンプリングシーケンスの周波数帯域なしの例図である。
【００４７】
図８Ｃのグラフ８０６は、各リサンプラ２１０がＹ周波数帯域の１つに対応する実施形態において、リサンプラ２１０が生成するリサンプリングシーケンスを示している。図８Ａと同様に、グラフ８０６の灰色の輪郭で描かれた各長方形は、異なる周波数帯域を表しており、長方形の中央の黒色の各線は、リサンプリングシーケンスを表している。図８Ｃで分かるように、本実施形態においてリサンプラ２１０が生成するリサンプリングシーケンスの数は、周波数帯域の数と同じである（すなわち、Ｍ＝Ｙ）。このような状況であるため、各リサンプラ２１０は、その周波数帯域内でサンプリングする。
【００４８】
しかしながら、図８Ａで分かるように、各リサンプラ２１０が、複数の周波数帯域に対応し、時間周波数リサンプリングを実行する実施形態において、リサンプリングシーケンスの数は、周波数帯域の数よりも少ない（すなわち、Ｍ＜Ｙ）。本実施形態では、各リサンプラ２１０が同じ時間期間内からサンプルを取得し、各リサンプリングシーケンスがＴサンプルを含むことを保証するために、より多くの周波数帯域が必要とされる。
【００４９】
リサンプラ２１０がリサンプリングを実行し、Ｍリサンプリングシーケンスが生成された後、リサンプリングシーケンスは、［Ｍ×Ｔ］マトリクスに格納することができ、該マトリクスは、時間（横）軸及び周波数（縦）軸を有するサンプリングしたスペクトログラムに対応する。Ｍリサンプリングシーケンスは、サンプルに対して変換を実行する１又はそれ以上の変換モジュール２１５に提供される。
【００５０】
１つの実施形態において、各帯域のサンプルに対して実行される変換は、時間軸（例えば、［Ｍ×Ｔ］マトリクスの各行）に沿って変換されるＴポイント変換である。１つの実施形態において、Ｔポイント変換は、ＴポイントＦＦＴである。ＦＦＴによる結果として得られる一連の係数は、特徴要素ベクトルと呼ばれている。１つの実施形態において、各帯域に関する特徴要素ベクトルは、当該帯域に関して周波数の昇順で計算されるＦＦＴの他のあらゆる係数を含む。従って、各特徴要素ベクトルは、Ｎ係数（例えば、Ｎ＝Ｔ／２＝３２）を含むことができる。別の実施形態においては、ＴポイントＦＦＴを実行する代わりに、Ｔポイント離散コサイン変換（ＤＣＴ）、Ｔポイント離散ハートリー変換（ＤＨＴ）、又は離散ウェーブレット変換（ＤＷＴ）を実行する。結果として得られる特徴要素ベクトルは、差分符号器２２５に提供される。
【００５１】
別の実施形態において、変換は、Ｔポイント変換に続いてＭポイント変換が実行される。Ｔポイント変換は、上述のような各帯域についてのサンプルに対して実行される。Ｔポイント変換の後、各帯域についてのサンプルは、大きさがスケーリングされ、窓掛けして正規化される。スケーリング、窓掛け、正規化に続いて、（例えば、各カラムが［Ｍ×Ｔ］マトリクスである）周波数軸に沿った変換であるＭポイント変換をサンプルに対して実行する。１つの実施形態において、Ｍポイント変換は、周波数軸に沿ったＦＦＴ、ＤＣＴ、ＤＨＴ、又はＤＷＴである。結果として得られる特徴要素ベクトルは、差分符号器２２５に提供される。
【００５２】
別の実施形態において、変換は、２次元離散コサイン変換（２Ｄ  ＤＣＴ）である。この変換を実行するために、各帯域についてのサンプルを正規化する。サンプルを正規化すると、１次元ＤＣＴが時間軸に沿って実行される。時間軸に沿った１次元ＤＣＴの後に、周波数軸に沿った１次元ＤＣＴが続く。結果として得られる特徴要素ベクトルは、差分符号器２２５に提供される。
【００５３】
差分符号器２２５は、音声サンプルについてのフィンガープリント１１５を生成する。１つの実施形態において、差分符号器２２５は、隣接帯域の各ペアに対応する特徴要素ベクトルを減算する。Ｙ帯域が存在する場合には、Ｙ−１ペアの隣接帯域が存在する。２つの特徴要素ベクトルを減算することにより、Ｎ個の差分値のベクトルが得られる。これら差分値の各々に関して、差分符号器２２５は、差分が０より大きいか又は０に等しい場合に１を選択し、差分が０より小さい場合に０を選択する。シーケンス内の４ビットの各グループに関して、符号器は、コードブックテーブルに従ってビット値を割り当てる。最良のコードブック値は、フィンガープリント処理アルゴリズムの調整及び学習の間に計算される。帯域の連続するペアの各々の特徴要素ベクトルに関してこのプロセスを繰り返すと、［（Ｙ−ｌ）×Ｎ／４］のビットマトリクスが得られる。このマトリクスは、線形ビットシーケンスとして表すことができ、音声フィンガープリント１１５として使用する。Ｙ＝１３でＮ＝８である実施例において、フィンガープリント１１５は、１２バイトの情報を有する。
【００５４】
１つの実施形態において、主成分分析（ＰＣＡ）は、得られた特徴要素ベクトルを量子化する前に、非相関化してサイズを縮小するのに使用される。これに加えて、或いは代替として、デジタルコサイン変換のような他の非相関化技術は、冗長性を排除し、特徴要素ベクトルを圧縮するのに使用することができる。
【００５５】
１つの実施形態において、フィンガープリント抽出システム２００は、特定の音声信号内の高度にオーバラップした一連の音声フレームについて複数のフィンガープリントを生成する。１つの実施例において、システム２００が処理する一連の各音声フレーム１０５は、３秒の音声信号を含み、前のシリーズが開始した６４ミリ秒後に開始する。このようにして、フィンガープリントは、６４ミリ秒毎に開始する音声信号の幾つかの３秒部分に関して生成される。このような方式を実施するために、フィンガープリント抽出システムは、分析フィルタバンク２０５の前後にメモリバッファを含むことができ、このバッファは、次の音声フレームを受信したときに次の６４ミリ秒の音声信号が更新される。
【００５６】
図６Ａ及び６Ｂは、本発明の幾つかの代替の実施形態による、フィンガープリント抽出アルゴリズム１１０のグラフ表現を示している。このプロセスにおいて、分析フィルタバンク２０５は、音声フレームを受信する。グラフ６０２は、時間領域における受信音声フレームの図である。分析フィルタバンク２０５は、グラフ６０４に示すように、音声フレームに対してＦＦＴを実行して、時間領域から周波数領域に変換する。次に、パワースペクトル情報が、周波数領域に存在するときに音声フレームに関して計算される。分析フィルタバンク２０５は、グラフ６０６に示すように、複数のバンドパスフィルタを適用し、各周波数帯域に関するフレームの信号を分離する。
【００５７】
周波数帯域のサブバンドサンプルシーケンスは、リサンプラ２１０によってリサンプリングされる。図６Ｂは、サブバンドサンプルシーケンスをリサンプリングするリサンプラ２１０によって実行することができる（Ａ、Ｂ、Ｃ、及びＤで表記された）４つの代替の技術を示している。１つの実施形態において、技術Ａ、Ｂ、及びＣは、各リサンプラ２１０が１つの周波数帯域に対応する場合に実行することができる技術である。１つの実施形態において、技術Ｄは、各リサンプラ２１０が複数の周波数帯域に対応し、リサンプラ２１０が時間周波数リサンプリングを実行するように構成されている場合に実行することができる。
【００５８】
技術Ａにおいて、各リサンプラ２１０は、対応するサブバンドサンプルシーケンス（グラフ６０８）に対数サンプリングを行って、Ｔサンプル（グラフ６１６）を有するリサンプリングシーケンスを生成する。技術Ｂにおいて、各リサンプラ２１０は、それぞれのサブバンドサンプルシーケンスのサイズをサブバンドの中間周波数帯及び／又は周波数範囲に基づいてスケーリングする。グラフ６１０に示すように、この実施例において、サブバンド中間周波数帯がより高く及びサブバンドの周波数範囲が広くなる程、サブバンドサンプルシーケンスのサイズが小さくなる。スケーリングしたサブバンドサンプルシーケンスは、リサンプリングされて、各々がＴサンプル（グラフ６１８）を有するリサンプリングシーケンスを生成する。
【００５９】
技術Ｃにおいて、各リサンプラ２１０は、サブバンドの中間周波数帯及び／又は周波数範囲に基づきそれぞれのサブバンドサンプルシーケンスを時間単位でオフセットする。グラフ６１２に示すように、この実施例において、サブバンド中間周波数帯が高くなる程、サブバンドサンプルシーケンスのオフセットが大きくなる。オフセットされたサブバンドサンプルシーケンスをリサンプリングして、各々がＴサンプル（グラフ６２０）を有するリサンプリングシーケンスを生成する。
【００６０】
技術Ｄにおいて、各リサンプラ２１０は、対応するサブバンドサンプルシーケンスに対して時間周波数リサンプリングを実行する。時間周波数リサンプリングは、時間の変化に伴って対応する異なる周波数帯域からサンプリングするリサンプラ２１０によって実行される。グラフ６１４に示すように、この実施例において時間が経過すると共に、リサンプラ２１０がサンプリングする周波数が低くなる。リサンプリングは、各々がＴサンプル（グラフ６２２）を有するリサンプリングシーケンスを生成する。
【００６１】
リサンプラ２１０が生成するリサンプリングシーケンス（Ｍリサンプリングシーケンス）は、［Ｍ×Ｔ］マトリクス内に格納される。各変換モジュール２１５は、対応するリサンプラ２１０（すなわち、変換モジュール２１５と同じチャネル内のリサンプラ２１０）が生成するリサンプリングシーケンスに対して変換を実行する。図６は、リサンプリングシーケンスを変換して特徴要素ベクトルを生成する変換モジュール２１５によって実行することができる（Ｅ、Ｆ、及びＧと表記された）３つの別の技術を示している。
【００６２】
技術Ｅにおいて、変換モジュール２１５は、グラフ６２４に例示するように、Ｔポイント変換を実行する。技術Ｆにおいて、変換モジュール２１５は、グラフ６２６に例示するように、１次元でのＴポイント変換に続いて、他の次元でのＴポイント変換を実行する。技術Ｇにおいて、変換モジュール２１５は、グラフ６２８に例示するように、２次元ＤＣＴ又は他の適切な２次元変換を実行する。
【００６３】
サブバンドサンプルを変換して特徴要素ベクトルが得られると、差分符号器２２５は、変換モジュール２１５が生成した特徴要素ベクトルを使用して、フィンガープリント１１５を生成する。
【００６４】
図５は、リサンプラが対数リサンプラであり、変換モジュール２１５がＴポイント変換モジュール２１５であるフィンガープリント抽出システム２００の１つの実施例である。対数リサンプラ２１０は、上述（技術Ａ）のような対数サンプリングを実行する。しかしながら、別の実施形態において、対数リサンプラ２１０は、他のリサンプリング技術（すなわち、技術Ｂ、Ｃ、又はＤ）を実行するリサンプラ２１０に置き換えてもよい点を理解されたい。
【００６５】
Ｔポイント変換モジュール２１５は、上述（技術Ｅ）のようにＴポイント変換を実行する。しかしながら、別の実施形態において、Ｔポイント変換モジュール２１５は、他の変換技術（すなわち、技術Ｆ、又はＧ）を実行する変換モジュールに置き換えることができる。
【００６６】
（音響モデル）
フィンガープリント処理システムの様々な用途において、特定の周波数帯域は、これらを感知できないこと、音声サンプルに関する符号化プロセスが帯域を除去すること、或いはその他の理由により、有意でない場合がある。従って、１つの実施形態において、音響モデル２３５は、特定のフィンガープリントに関する有意でない周波数帯域を識別しマーキングするのに使用される。心理音響モデルのような音響モデルは、様々な音声処理分野において周知である。音響モデル２３５に関するモデルパラメータのセットは、フィンガープリント１１５を生成する間に高品質の参照サンプルについて計算され、データベース１２５内に格納することができる。フィンガープリント１１５の有意でない帯域は、特別なコードを割り当てることによって、又は対応する値（すなわち、ビット）をゼロ設定することによってマーキングすることができる。このことによって、フィンガープリントをデータベースのレコードとマッチングするプロセスにおいて非０の値を有する対応する帯域のペアのみがフィンガープリント１１５を区別するのに使用されるので、あらゆる後続のマッチングプロセスにおいて帯域を効果的に無視するようになる。更に、マーキングした帯域（すなわち、０値を有するもの）は、比較から完全に除外することができる。
【００６７】
１つの実施形態において、音響モデルは、人間の聴覚系に関する心理音響モデルである。このモデルは、フィンガープリントシステムが人間の聴覚系を対象にした音声識別を目的にしている場合に有効とすることができる。このような音声は、関係のない音声情報を取り除く１又はそれ以上の知覚符号器によって圧縮することができる。人間の心理的音響モデルを使用することにより、フィンガープリントから関係のない帯域を識別し除外することが可能となる。
【００６８】
しかしながら、心理音響モデルは、人間の知覚符号化音声に適する唯一のタイプの音響モデルである。別の音響モデルは、特定の録音デバイスの特性を模擬したモデルである。このような録音デバイス音響モデルに関する各帯域は、重要度に応じて割り当てられる重み付け因子を有することができる。更に別の音響モデルは、車又は部屋の中で見られるバックグランド雑音のような特定環境の特性を模擬する。このような実施形態において、音響モデルに関する各帯域は、システムが設計される環境における重要度に応じて割り当てる重み付け因子を有することができる。
【００６９】
１つの実施形態において、音響モデル２３５及びフィルタバンク２０５のパラメータは、分析される音声信号１００のタイプ及び特性に依存している。サブバンド重み付け因子のセット並びに複数のフィルタバンク帯域及びその周波数分布を含む様々な特性は、対象の音声信号の特性のより良好なマッチングを得るために使用する。例えば、スピーチのような音声に関して、信号のパワーは、主として低周波数帯域に集中しており、他方、音楽は、ジャンルに応じて高周波数帯に関連する成分を含むことができる。１つの実施形態において、音響モデルのパラメータは、参照音声信号から計算され、生成したフィンガープリントと共にコンテンツデータベース内に格納される。別の実施形態において、音響モデルのパラメータは、マッチングプロセス中に分析される音声信号の特性に基づいて動的に計算される。
【００７０】
従って、音響モデル２３５の可能な用途は、特定環境及び／又は録音デバイス並びに符号化アルゴリズム特性に関する音声認識パラメータを調整することを含む。例えば、携帯電話音声パス（マイクロホン特性、音声処理及び圧縮アルゴリズム、並びに同等のもの）の音響特性を知ることにより、これらの特性を模擬する音響モデルを開発することが可能になる。フィンガープリントの比較の間にこのようなモデルを使用することで、生成されるフィンガープリントのマッチングプロセスの堅牢性を顕著に高めることができる。
【００７１】
（フィンガープリントインデックス化及びマッチング）
１つの実施形態において、フィンガープリントインデクサー２３０は、各フィンガープリント１１５に関するインデックスを生成する。次に、フィンガープリント１１５は、フィンガープリントデータベース１２５内に格納され、フィンガープリントデータベース１２５のコンテンツについての検索及びマッチングを効率的にすることができる。１つの実施形態において、フィンガープリント１１５に関するインデックスは、フィンガープリント１１５の一部又はハッシュを含む。従って、フィンガープリントデータベース１２５のフィンガープリント１１５は、これに関する有効な識別情報に従ってインデックス化される。
【００７２】
各フィンガープリント１１５が［（Ｙ−１）  ×  Ｎ／４］のビットのマトリクスを含む上述の実施形態において、インデクサー２３０は、最も左の縦列をインデックスとして使用する。各フィンガープリント１１５が、［１２×８］のビットのマトリクスである実施例において、フィンガープリント１１５に関するインデックスは、最も左の２列のビット（全体で２４ビット）とすることができる。このようにして、各フィンガープリント１１５に関するインデックスとして使用するビットは、フィンガープリント１１５を計算するのに使用する特徴要素ベクトルの低周波数スペクトル係数に基づいたフィンガープリント１１５のサブセットである。従って、これらのビットは、雑音及び歪みを抑えるのに安定的で反応しにくいリサンプリングし変換されたスペクトログラム帯域の低周波成分に対応する。従って、高い可能性レベルでは、同様のフィンガープリントは、同じ数値のインデックスを有することになる。このようにして、インデックスは、データベース内の類似した及び同様のマッチングフィンガープリントをラベル付けしグループ化するのに使用することができる。
【００７３】
図３は、本発明の１つの実施形態による、上述のインデックスを使用して試験フィンガープリントをフィンガープリントデータベース１２５とマッチングする方法を示す。試験フィンガープリントに関してフィンガープリントデータベース１２５においてマッチングを見つけるために、マッチングアルゴリズムは、上述のように試験フィンガープリントに関するインデックス値を計算するステップ３１０で始まる。このインデックス値を使用して、例えば、同じインデックス値を有するデータベース１２５内のフィンガープリントの全てを含む、フィンガープリント候補のグループを取得する（３２０）。上述のように、インデックスが計算されるこの方法に起因して、データベース１２５内でのあらゆるマッチングは、フィンガープリント候補のこのグループ内に存在する可能性が高い。
【００７４】
フィンガープリント候補のグループ内での何れかのマッチングに関して試験するために、試験フィンガープリントとフィンガープリントの各候補との間のビット誤り率（ＢＥＲ）を計算する（３３０）。２つのフィンガープリント間のＢＥＲは、マッチングしない対応するビットのパーセンテージである。完全に関係のないランダムなフィンガープリントに関しては、ＢＥＲは、５０％であることが期待されることになる。１つの実施形態において、２つのフィンガープリントは、ＢＥＲが約３５％よりも小さい場合にマッチングしているが、他の数値制限は、偽陽性及び／又は偽陰性に関する所望の許容範囲に応じて使用することができる。加えて、ＢＥＲ以外の計算又は基準は、２つのフィンガープリントを比較するのに使用することができる。例えば、ＢＥＲの逆測定値であるマッチング率も使用することができる。更に、特定のビットは、２つのフィンガープリントの比較において他より高く重み付けすることができる。
【００７５】
所定のマッチング基準内でマッチングが存在しない（３４０）場合、又は修正するインデックスがもはや存在しない（３５０）場合には、マッチングアルゴリズムが、データベース１２５内で試験フィンガープリントのどのようなマッチングも見つけることができない。次に、システムは、（例えば、フィンガープリント候補を得る際のより低い制約基準を使用して）検索を継続することができ、又は停止することができる。１又はそれ以上のマッチングするフィンガープリントが存在する（３４０）場合には、マッチングするフィンガープリントのリストが返される（３６０）。
【００７６】
１つの実施形態において、システムは、マッチングに関して検索対象となるフィンガープリント候補の異なるセットを得るために、計算されたフィンガープリントインデックスを修正（３７０）した後、上述のような検索を繰り返すことができる。計算したフィンガープリントインデックスを修正（３７０）するために、計算したフィンガープリントインデックスの１又は複数のビットをフリップすることができる。フィンガープリントインデックスが２４ビットを有する１つの実施例において、元のフィンガープリントインデックスを使用してマッチングを見つけることができなかった後、検索ステップは、２４ビットのフィンガープリントインデックスの異なる単一ビットをフリップする毎に２４回繰り返す。他の様々な技術を用いて、検索スペースを拡張することができる。
【００７７】
１つの実施形態において、フィンガープリントインデクサー２３０は、音響モデル２３５によって計算されてデータベース１２５内に以前に格納された周波数帯域重み付け因子のセットに基づいて、１又はそれ以上のフィンガープリントからインデックスのビットを選択することによって１又はそれ以上のインデックスを生成する。ビットフリップによって得られるインデックスを含む複数のインデックスを使用する場合、フィンガープリント候補のグループは、計算したインデックス毎に得られる全ての候補を含む。
【００７８】
別の実施形態において、検索エリアは、計算した各インデックスに関して得られた候補グループのほとんど又は全てにおいて見つかったフィンガープリント候補のみを事前選別し選択することによって狭めることができる。ビットフリップによって得られるインデックスを含む複数のインデックスを使用することによる複数のフィンガープリント候補グループの事前選別は、データベース検索のパフォーマンスを著しく向上させることができる。１つの実施形態において、可能なフィンガープリント候補に対するインデックス及び参照は、コンピュータメモリ内に格納され、フィンガープリント候補の高速選択及び事前選別を可能にする。第２のステップ（ステップ３２０）では、所与のフィンガープリントにマッチングする可能性が最も高いフィンガープリント候補のみをコンピュータメモリにロードして比較する。この手法は、コンピュータメモリ内で小さいサイズのインデックスのみを保持し、大きいサイズのフィンガープリントを低速のデバイス（例えば、ハードディスクドライブ、又はネットワーク上）に格納することによって高速な検索を可能にしている。
【００７９】
（音声フレームのエッジ検出）
幾つかの用途において、マッチングする音声フラグメントのエッジを検出することが望ましい場合がある。エッジ検出により、システムは、特定のマッチング音声フラグメントが時間内に発生している場所を正確に知ることができるようになる。分析する音声の品質に応じて、エッジ検出アルゴリズムの実施形態は、約０．１から０．５秒の正確さでマッチングする音声フラグメントのエッジを検出することができる。
【００８０】
上述のように、フィンガープリント処理技術の実施形態は、サブバンド処理バッファ内に音声サンプルを蓄積する。このバッファリングにより、フィンガープリント処理アルゴリズムの出力が遅延され、音声フラグメントが不鮮明になる。この影響は、図４に例示しており、音声フラグメントについての参照フィンガープリントと入力サンプル音声ストリームに関して経時的に生成される一連のフィンガープリントとの間の経時的なビット誤り率（ＢＥＲ）についてのグラフである。図示の実施形態においては、サブバンドバッファが３秒の音声を保持し、２つのフィンガープリントが３５％又はそれ未満のビット誤り率（ＢＥＲ）を有する場合にマッチングが示される。
【００８１】
最初に、時刻Ｔ０において、サブバンド処理バッファは空であり、従って、生成されるフィンガープリントは、元の音声とゼロマッチングである（例えば、ＢＥＲは、約５０％に等しいと期待される）。音声サンプルをサブバンドバッファに追加されると、ＢＥＲは減少し、より良好なマッチングを示す。十分に時間が経過した後に、ＢＥＲは、時刻Ｔ１において閾値３５％未満に減少し、マッチングを示す。最終的に、時刻Ｔ２において、ＢＥＲは、バッファがサンプルによって埋められたときに平坦域に達する。フィンガープリント処理アルゴリズムが、対応する音声フラグメントの最後を通過すると、時刻Ｔ３において、あまりマッチングしていない、従ってＢＥＲが増加したフィンガープリントを生成し始め、時刻Ｔ４において３５％の認識閾値に達する。得られたマッチング曲線（Ｔ１からＴ４）の期間及び平坦域（Ｔ２からＴ３）の期間は各々、マッチングした音声フラグメント（Ｔ０からＴ３）の期間よりも短い。
【００８２】
１つの実施形態において、エッジ検出アルゴリズムを用いて、マッチングする音声フレーム又はフラグメントの正確なエッジを判断する。図４に示すようなＢＥＲ曲線が得られる。ＢＥＲ曲線は、ＢＥＲが減少している状態のマッチングの開始（例えば、Ｔ１からＴ２）、ＢＥＲがほぼ一定である平坦域（例えば、Ｔ２からＴ３）、及びＢＥＲが増加している状態のマッチングの終了（例えば、Ｔ３からＴ４）に対応した範囲に分割される。実際のＢＥＲ曲線は、一般に雑音があるので、回帰分析のような適切な技術を使用して分割される。１つの実施形態において、３５％を超えるＢＥＲを生成する全てのサンプルは、信頼性がない可能性があるので無視される。次に、マッチングする音声フラグメントの開始（すなわち、時刻Ｔ１）は、ＢＥＲが減少している範囲（例えば、Ｔ１からＴ２）に最も良く適合する線と、５０％ＢＥＲに対応する水平線との交差として線形回帰を使用して計算することができる。同様の手法を時刻Ｔ５を推定するのに適用することができ、ＢＥＲが増加している範囲（例えば、Ｔ３からＴ４）に最も良く適合する線と、５０％のＢＥＲに対応する水平線との交点を得る。しかしながらこの事例では、時刻Ｔ５は、サブバンドバッファの期間Ｂによって遅延されたフラグメントの最後に対応し、マッチングする音声フラグメントの実際の最後ではない。フラグメントの最後の位置（すなわち、時刻Ｔ３）は、得られた推定Ｔ５からサブバンドバッファ期間Ｂを減算することによって計算することができる。
【００８３】
別の実施形態において、マッチングする音声フラグメントの最後は、範囲Ｔ２からＴ３の最後として推定され、音声フラグメントの開始は、範囲Ｔ２からＴ３の開始に対応する時刻Ｔ２からサブバンドバッファＢの期間を減算することによって計算される。
【００８４】
（要約）
ベクトル及びマトリクスに関して説明したが、何らかのフィンガープリント又はサブフィンガープリントに関して計算される情報は、値のベクトル又はマトリクスとしてだけでなく、あらゆる形式で格納し処理することができる。従って、ベクトル及びマトリクスという用語は、音声サンプルから抽出されるデータを表すのに好都合な機構としてのみ使用されており、他のどのような限定を意味するものではない。加えて、パワースペクトルは、スペクトログラムに関して説明したが、音声信号のパワースペクトル又はスペクトル分析を表すデータは、スペクトログラムとしてだけでなく、他のあらゆる適切な形式で表し使用できる点を理解されたい。
【００８５】
１つの実施形態において、ソフトウェアモジュールは、本明細書において説明されるステップ、動作、又はプロセスの何れか又は全てを実行するためにコンピュータプロセッサによって実行できるコンピュータプログラムコードを含むコンピュータ読み取り可能媒体を備えたコンピュータプログラム製品と共に実行される。従って、本明細書において説明されるステップ、動作、又はプロセスの何れかは、１又はそれ以上のソフトウェアモジュール又はハードウェアモジュールと共に、単独で、又は他のデバイスとの組み合わせの形で実行もしくは実施することができる。更に、ハードウェア要素に関して説明されるシステムの何れかの部分は、ソフトウェアにおいて実行することができ、ソフトウェア要素に関して説明されるシステムの何れかの部分は、専用回路にハードコーディングしたようなハードウェアにおいて実行することができる。例えば、説明した方法を実行するためのコードは、ハードウェアデバイス、例えばＡＳＩＣ又は他のカスタム回路内に埋め込むことができる。これにより、本発明の恩恵を多くの様々なデバイスについての可能性と組み合わせることが可能になる。
【００８６】
別の実施形態において、フィンガープリント処理アルゴリズムは、携帯電話、携帯情報端末（ＰＤＡ）、ＭＰ３プレーヤー及び／又はレコーダ、セットトップボックス、テレビジョンセット、ゲームコンソール、又は音声コンテンツを格納、処理、又は再生する他の任意のデバイスのような、様々な音声デバイスの何れかに組み込まれ、実行される。フィンガープリント処理アルゴリズムをこのようなデバイスに組み込むことで、幾つかの恩恵をもたらすことができる。例えば、音声フィンガープリントを携帯電話上で直接生成することにより、圧縮した音声を携帯電話からフィンガープリント処理サーバに携帯電話ネットワーク上で送信するのに比べてより良い結果をもたらすことができる。携帯電話上でアルゴリズムを実行することにより、スピーチを圧縮するよう設計され且つ音楽については十分に機能されないＧＳＭ（登録商標）圧縮によって生じる歪みが排除される。従って、この手法は、携帯電話によって録音された音声の認識を著しく改善することができる。更に、これは、サーバ並びにネットワークトラヒックの負荷を低減する。
【００８７】
このような組み込み手法の別の恩恵は、プライバシー及びユーザの権利を侵害することなく聴取体験をモニターできることである。例えば、録音デバイスは、音声を録音し、フィンガープリントを生成し、次いで、分析のためにフィンガープリントのみをサーバに送信する。録音した音声は決してデバイスから離れることがない。次に、サーバは、フィンガープリントから元の音声を復元することはできないが、送られたフィンガープリントを使用して対象の音楽又は広告を識別することができる。
【００８８】
本発明の上述の実施形態は、例示の目的で提示され、網羅的であること、又は開示した正確な形態に本発明を限定することを意図したものではない。当業者であれば、上記の技術に照らして多くの修正及び変形形態が可能である点を理解することができる。従って、本発明の範囲は、この詳細な説明によってではなく、添付の特許請求の範囲によって限定されることを意図している。
【符号の説明】
【００８９】
１００  音声サンプル
１０５  音声フレーム
１１０  フィンガープリント抽出アルゴリズム
１１５  フィンガープリント
１２０  フィンガープリントマッチングアルゴリズム
１２５  フィンガープリントデータベース
２００  フィンガープリント抽出システム
２０５  分析フィルタバンク
２１０  リサンプラ
２１５  変換モジュール
２２５  差分符号器
２３０  フィンガープリントインデクサー
２３５  音響モデル
【図２】
0005826291.tif 000002
【図３】
0005826291.tif 000003
【図５】
0005826291.tif 000004
【図６Ａ】
0005826291.tif 000005
【図６Ｂ】
0005826291.tif 000006
【図７Ａ】
0005826291.tif 000007
【図７Ｂ】
0005826291.tif 000008
【図８Ａ】
0005826291.tif 000009
【図８Ｂ】
0005826291.tif 000010
【図８Ｃ】
0005826291.tif 000011
【図１】
0005826291.tif 000012
【図４】
0005826291.tif 000013