特許第5826291号(P5826291)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ ヤフー株式会社の特許一覧
特許5826291音声信号からの特徴フィンガープリントの抽出及びマッチング方法
<>
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000002
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000003
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000004
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000005
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000006
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000007
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000008
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000009
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000010
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000011
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000012
  • 特許5826291-音声信号からの特徴フィンガープリントの抽出及びマッチング方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5826291
(24)【登録日】2015年10月23日
(45)【発行日】2015年12月2日
(54)【発明の名称】音声信号からの特徴フィンガープリントの抽出及びマッチング方法
(51)【国際特許分類】
   G10L 25/54 20130101AFI20151112BHJP
   G10L 25/27 20130101ALI20151112BHJP
【FI】
   G10L25/54
   G10L25/27
【請求項の数】19
【全頁数】25
(21)【出願番号】特願2013-553444(P2013-553444)
(86)(22)【出願日】2012年1月13日
(65)【公表番号】特表2014-506686(P2014-506686A)
(43)【公表日】2014年3月17日
(86)【国際出願番号】US2012021303
(87)【国際公開番号】WO2012108975
(87)【国際公開日】20120816
【審査請求日】2013年8月9日
(31)【優先権主張番号】13/025,060
(32)【優先日】2011年2月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】ビロブロフ セルジー
【審査官】 五貫 昭一
(56)【参考文献】
【文献】 特開2007−65659(JP,A)
【文献】 特開平6−318876(JP,A)
【文献】 米国特許第7454334(US,B2)
【文献】 特表2008−511844(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/54
G10L 25/27
(57)【特許請求の範囲】
【請求項1】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号の各々のサイズを対応する前記周波数帯域の周波数に基き時間単位でスケーリングする段階と、
前記スケーリングした音声信号を、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項2】
前記フィルタリングした音声信号をスケーリングする段階が基づいている前記周波数は、前記対応する周波数帯域についての中間周波数帯及び周波数範囲のうちの少なくとも1つである、請求項1に記載の方法。
【請求項3】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項1に記載の方法。
【請求項4】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項1に記載の方法。
【請求項5】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項4に記載の方法。
【請求項6】
前記リサンプリングした音声信号を変換する段階は、2次元離散コサイン変換(2D DCT)を実行する段階を含む、請求項1に記載の方法。
【請求項7】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号の各々を対応する前記周波数帯域の周波数に基づき時間単位でオフセットする段階と、
前記オフセットした音声信号を、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項8】
前記フィルタリングした音声信号をオフセットする段階が基づいている前記周波数は、対応する周波数帯域についての中間周波数帯及び周波数範囲のうちの少なくとも1つである、請求項7に記載の方法。
【請求項9】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項7に記載の方法。
【請求項10】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項7に記載の方法。
【請求項11】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項10に記載の方法。
【請求項12】
前記リサンプリングした音声信号を変換する段階は、2次元離散コサイン変換(2D DCT)を実行する段階を含む、請求項7に記載の方法。
【請求項13】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域にフィルタリングして、1又はそれ以上の処理チャネルと関連する、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号に対して、時間の変化に伴って前記処理チャネルの異なるフィルタリングした音声信号からサンプリングすることによって時間周波数リサンプリングを実行して、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項14】
前記リサンプリングした音声信号を変換する段階は、時間軸に沿って変換を実行する段階を含む、請求項13に記載の方法。
【請求項15】
前記リサンプリングした音声信号を変換する段階は、
時間軸に沿って前記リサンプリングした音声信号を変換する段階と、
周波数軸に沿って前記リサンプリングした音声信号を変換する段階と、
を含む、請求項13に記載の方法。
【請求項16】
前記リサンプリングした音声信号の大きさをスケーリングし、窓掛けして、正規化する段階を更に含む、請求項15に記載の方法。
【請求項17】
前記リサンプリングした音声信号を変換する段階は、2次元離散コサイン変換(2D DCT)を実行する段階を含む、請求項13に記載の方法。
【請求項18】
音声フレームから音声フィンガープリントを抽出する方法であって、
前記音声フレームを複数の周波数帯域に、通過する周波数を時間と共に変化させながらフィルタリングして、対応する複数のフィルタリングした音声信号を生成する段階と、
前記フィルタリングした音声信号を非一様な順序に従って、時間の変化に伴って異なる対応する周波数帯域をサンプリングすることによってリサンプリングして、リサンプリングした音声信号を生成する段階と、
前記リサンプリングした音声信号を変換して、前記リサンプリングした音声信号の各々に関して特徴要素ベクトルを生成する段階と、
前記特徴要素ベクトルに基づき前記音声フィンガープリントを計算する段階と、
を含む方法。
【請求項19】
前記フィルタリングした音声信号を非一様な順序に従ってリサンプリングする段階は、前記フィルタリングした音声信号を最初にサンプリングした順序とは逆の順序で、前記フィルタリングした音声信号をリサンプリングする段階を含む、請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全体的に、音声信号処理に関し、より具体的には、音声信号からの特徴的フィンガープリントの抽出、及びこのようなフィンガープリントに関するデータベースの検索に関する。
【背景技術】
【0002】
ファイルフォーマット、圧縮技術、及び他のデータ表現方法は様々であるので、データ信号の識別又はデータ信号と他のデータ信号との比較に関する問題は、大きな技術的な障害を引き起こす。例えば、コンピュータ上のデジタル音楽ファイルの場合、音楽を符号化及び圧縮するために多くのフォーマットが存在する。加えて、音楽は、様々なデータレートでデジタル形式にサンプリングされることが多く、様々な特性(例えば、様々な波形)を有する。更に、録音したアナログ音声は雑音及び歪みを含む。これらの有意な波形の差異は、このようなファイルの直接的な比較において、効率的なファイル又は信号の認識もしくは比較に関して好ましくない選択肢となる。また、ファイルの直接的な比較は、異なるフォーマットで符号化されたメディアを比較することはできない(例えばMP3及びWAVで符号化された同じ音楽を比較すること)。
【0003】
このような理由により、インターネット上で配信されるようなメディア及び他のコンテンツの識別及び追跡は、メディアに関する識別情報を含むメタデータ、ウォーターマーク、又は何らかの他のコードを添付することによって行われる場合が多い。しかしながら、この添付情報は、不完全又は不正確であるか、或いはその両方であることが多い。例えば、メタデータは、完全であることがまれであり、ファイル名が同一であることは更にまれである。加えて、データ又はコードを追加して元のファイルを改変するウォーターマーキングのような手法は侵襲的である。この手法の別の欠点は、改竄に対して脆弱であることである。あらゆるメディアファイルが、メタデータ又はウォーターマークのような正確な識別データを含む場合でも、このファイルは、情報の削除に成功した場合には「アンロック」(従って海賊版)である可能性がある。
【0004】
このような問題を避けるために、データ信号自体の内容を解析する概念に基づく別の方法が開発されている。この種の方法の1つにおいて、ある音声セグメントに対して音声フィンガープリントを生成し、ここで音声フィンガープリントは、元の音声を識別するために用いることができる、音声に関する特徴情報を含む。1つの実施例において、音声フィンガープリントは、音声フラグメントを識別するデジタルシーケンスを含む。音声フィンガープリントを生成するプロセスは、フィンガープリントを生成する音声の音響的及び知覚的特性に基いている場合が多い。音声フィンガープリントは通常、元の音声コンテンツよりも遙かに小さなサイズを有し、従って、音声コンテンツに関して識別し、比較し、及び検索するのに好都合なツールとして使用することができる。音声フィンガープリント処理は、ブロードキャストモニタリング、音声コンテンツの統合、P2Pネットワークのコンテンツのフィルタリング、及び音楽又は他の音声コンテンツの識別を含む、幅広い用途で使用することができる。このような様々な分野に適用する際に、通常、音声フィンガープリント処理は、フィンガープリント抽出、並びにフィンガープリントデータベース検索アルゴリズムを含む。
【0005】
既存のほとんどのフィンガープリント処理技術は、周波数領域において音声サンプルから音声特徴要素を抽出することに基づいている。音声は、最初にフレームに分割して、フレーム毎に特徴要素のセットを計算する。使用できる音声特徴要素としては、高速フーリエ変換(FFT)係数、メル周波数ケプストラム係数(MFCC)、スペクトルフラットネス、シャープネス、エントロピー、及び変調周波数がある。計算された特徴要素は、特徴要素ベクトルに構築され、該ベクトルは、通常、導関数、平均、又は分散を用いて変換される。特徴要素ベクトルは、主成分分析のようなアルゴリズムを使用してよりコンパクトな表現にマッピングされた後、量子化を行い、音声フィンガープリントを生成する。通常、単一の音声フレームを処理して得られるフィンガープリントは、比較的小さなサイズを有し、元の音声シーケンスを所望の信頼度で識別するのに十分に一意的ではない場合がある。フィンガープリントの一意性を改善し、ひいては正確に認識する可能性を高め(偽陽性率を低減する)ために、小さなサブフィンガープリントを組み合わせて、約3〜5秒の音声を表すより大きなブロックにすることができる。
【0006】
フィリップス(Philips)によって開発された1つのフィンガープリント処理技術では、短時間フーリエ変換(STFT)を使用して、音声信号の11.8ミリ秒の周期毎に32ビットサブフィンガープリントを抽出する。音声信号は、最初に0.37秒の長さのオーバーラッピングフレームに分割され、フレームは、31/32のオーバラップ率でハミング窓によって重み付けされ、FFTを使用して周波数領域に変換される。ここで得られた周波数領域のデータは、横軸が時間で縦軸が周波数である、スペクトログラム(例えば時間周波数図)として表すことができる。フレーム毎(スペクトログラムカラム)のスペクトルは、対数離間で300Hzから2000Hzの帯域において33のノンオーバラッピング周波数帯域に分割される。帯域毎のスペクトルエネルギーが計算され、32ビットサブフィンガープリントが、時間軸及び周波数軸に沿って連続帯域におけるエネルギー差の符号を使用して生成される。1つのフレームにおける2つの帯域間のエネルギー差が、前のフレームにおける同じ帯域間のエネルギー差よりも大きい場合には、アルゴリズムは、サブフィンガープリント内の対応するビットに関して「1」を出力し、大きくない場合には、対応するビットに関して「0」を出力する。フィンガープリントは、256の後続の32ビットサブフィンガープリントを組み合わせて、3秒の音声に対応する単一のフィンガープリントブロックにすることによって構築される。
【0007】
このアルゴリズムは、一般的なタイプの音声処理、雑音、及び歪みに対して堅牢であるように設計されているが、結果として得られるスペクトルスケーリングに起因して大きな速度変化に対してはあまり堅牢ではない。従って、音声フィンガープリントをスケール不変フーリエ−メリン領域において抽出する修正アルゴリズムが提案されている。修正アルゴリズムは、音声フレームを周波数領域に変換した後に実行される追加のステップを含む。この追加のステップは、スペクトルログマッピングと、その後の第2のフーリエ変換を含む。従って、フレーム毎に第1のFFTを適用し、得られた結果をログマップしてパワースペクトルが得られ、次いで、第2のFFTを適用する。これは、対数リサンプリングフーリエ変換のフーリエ変換として説明することができ、音声認識において広く使用された公知のMFCC方法と同様である。主な差異は、フーリエ−メリン変換がスペクトル全体のログマッピングを使用するのに対し、MFCCはメル周波数スケール(最大1kHzまで線形であり、それよりも高い周波数ではログ離間を有し、人間の聴覚系の特性を模擬している)に基づいていることである。
【0008】
フィリップスアルゴリズムは、サブフィンガープリント処理が2つだけの連続するフレームのスペクトル係数を使用して計算するので、いわゆる短期分析アルゴリズムに分類される。スペクトログラムの複数のオーバラップしたFFTフレームを使用してスペクトル特徴要素を抽出する他のアルゴリズムがある。時間内の複数のフレームを評価することに基づく方法の幾つかは、長期スペクトログラム分析アルゴリズムとして知られている。
【0009】
例えば、Sukittanon著「Modulation−Scale Analysis for Content Identification」、IEEE Transactions on Signal Processing vol.52 no.10(2004年10月)に記載されている1つの長期分析アルゴリズムは、変調周波数の推定に基づいている。このアルゴリズムにおいて、音声が分割され、この音声に関してスペクトログラムが計算される。次に、変調スペクトルは、スペクトログラムの時間列(例えば横軸)に沿って第2の変換を適用することにより各スペクトログラム帯域(例えば、スペクトログラムの周波数の範囲)に関して計算する。これは、第2のFFTをスペクトログラムの周波数カラム(例えば、縦軸)に沿って適用する修正フィリップス手法とは異なる。この手法においては、スペクトログラムをN個の周波数帯域に分割し、各帯域に対して1つずつ、同じ数Nの連続ウェーブレット変換(CWT)を計算する。
【0010】
このアルゴリズムの開発者は、フィリップスアルゴリズムと比較して優れた性能があると主張しているが、既存のアルゴリズムは依然として幾つかの欠点を示している。例えば、特に、音声が(例えば、GSM(登録商標)のような携帯電話の音声と関連している)CELP音声コーデックを使用して圧縮されている場合、このアルゴリズムは、歪みのあるスピーチ及び音楽を確実に識別するには十分に堅牢ではない場合がある。更に、これらのアルゴリズムは一般に、マイクロホン録音と関連するような雑音及びアナログ歪みの影響を受けやすい。このアルゴリズムは、単一のタイプの歪みが存在する音声を識別することができる場合でも、(例えば、携帯電話、すなわち、反響がある雑音ルームにおいてマイクロホンから録音された後にGSM(登録商標)圧縮した音声のように)実際の状況により一般的でより近い複数の歪みの組み合わせを処理することはできない。
【0011】
従って、実際の用途に適用する場合には、既存のフィンガープリント方式は、受け入れられない高い誤り率(例えば、偽陽性、及び偽陰性)を有し、商用で実行するには大きすぎる、及び/又はあまりに遅すぎるフィンガープリントを生成する。従って、現在の音声認識技術が解決することができていない既存の限界を克服する必要がある。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Sukittanon著 「Modulation−Scale Analysis for Content Identification」、IEEE Transactions on Signal Processing vol.52 no.10 2004年10月
【発明の概要】
【0013】
従って、本発明は、音声信号のコンテンツに基づき音声信号から特徴的フィンガープリントを抽出することを可能にする。このフィンガープリントは、信号の識別又は2つの信号との間の相似性を判断するために、参照フィンガープリントのセット(例えば、データベース内)に対してマッチングさせることができる。フィンガープリント抽出アルゴリズムの特性により、フィンガープリント抽出アルゴリズムは、既存の解決手段を損なう多くの問題を生じることなく、このような解決手段と比較して、高速、効率的、極めて正確、拡張的、及び堅牢である。
【0014】
音声フィンガープリントを生成する方法の実施形態において、音声信号をサンプリングし、信号からスペクトログラム情報を計算する。スペクトログラムは、複数の周波数帯域に分割される。帯域内のシーケンスサンプルはリサンプリングされる。
【0015】
1つの実施形態において、シーケンスサンプルをリサンプリングする段階は、サンプルを対数マッピングする段階を含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、対応する周波数帯域についての中間周波数帯及び/又は周波数範囲に基づきシーケンスサンプルのサイズを時間単位でスケーリングする段階と、スケーリングしたシーケンスサンプルをリサンプリングする段階とを含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、対応する周波数帯域についての中間周波数帯及び/又は周波数範囲に基づきシーケンスサンプルを時間単位でオフセットする段階を含む。別の実施形態において、シーケンスサンプルをリサンプリングする段階は、時間の変化に伴って異なるシーケンスサンプル(すなわち、周波数帯域)からサンプリングする段階を含む。
【0016】
次に、第2の変換がリサンプリングシーケンスに適用されて、各シーケンスに関する特徴要素ベクトルを得る。1つの実施形態において、第2の変換は、時間軸に沿った変換を含む。別の実施形態において、第2の変換は、時間軸に沿った変換に続いて周波数軸に沿った変換を含む。別の実施形態において、第2の変換は、2次元離散コサイン変換(2D DCT)を含む。音声フィンガープリントは、特徴要素ベクトルに基づき計算される。音声フィンガープリントは、コンピュータ読み取り可能媒体に格納するか、又は伝送可能信号として一時的に固定することができる。
【0017】
説明されるシーケンスサンプルのリサンプリングの様々なタイプは、アルゴリズムが音声再生速度並びに時間圧縮及び拡張における変動に対する影響をあまり受けないようにする。このようにして、音声信号のフィンガープリントは、再生速度における変動、又は時間圧縮もしくは拡張による変動にかかわらず、変動がほとんどないか又は全くないようにすべきである。更に、説明されるリサンプリングは、第2の時間周波数変換についての低周波数分解能を改善する。これにより、スペクトログラム変調スペクトルの分析に使用される複雑なウェーブレット変換の代わりに、単純な変換の使用を可能にし、以前の方法に比べて実行がより効率的でより高速になる。
【0018】
更に、説明されるリサンプリングにより、帯域出力フレームは、大部分に関して分析する音声シーケンスの開始を表すサンプルを含む。従って、結果として得られるフィンガープリントは、主としてシーケンスの開始に位置するサンプルを使用して生成される。比較的小部分の音声シーケンスが結果として得られるフィンガープリントに最大の寄与をもたらすので、フィンガープリントは、より短い音声シーケンスをマッチングさせるのに使用することができる。1つの実行形態において、例えば、5秒の元の音声フレームから生成されたフィンガープリントは、2分の1の音声フラグメントから得られるサンプルに確実にマッチングすることができる。
【0019】
フィンガープリント処理技術の実施形態はまた、雑音及び信号歪みに対して耐性がある。1つの実行形態は、100%のホワイトノイズ(すなわち、0dbのS/N比)が存在しているスピーチのような信号を検出することができる。更に、この技術は、フィルタリング、圧縮、周波数等化、及び位相歪みに対して耐性がある。
【0020】
別の実施形態において、生成されたフィンガープリントフレームが、特定数の周波数帯域を使用して形成される場合、音響モデルは、有意でない周波数帯域をマーキングするのに使用される。有意でない帯域は、音声サンプルの区別においてどのような知覚的な値も実質的に付加しない帯域を含むことができる。関連する周波数帯域のみが処理され、S/N比が向上し、フィンガープリントマッチングプロセス全体の堅牢性が高くなる。更に、関連性のない周波数帯域を除外することで、例えば、極めて低ビットレートで符号化したスピーチ、又は低速テープを使用して録音するアナログの場合に、帯域制限音声コンテンツの認識効率を大いに改善することができる。
【0021】
更に、本発明の実施形態は、大規模データベース内のフィンガープリントに関する高速なインデックス化及び効率的な検索を提供する。例えば、各音声フィンガープリントに関するインデックスは、フィンガープリントの内容の一部から計算することができる。1つの実施形態において、フィンガープリントからのビットのセットは、フィンガープリントのインデックスとして使用され、このビットは、リサンプリングによってより安定した低周波数係数に対応している。試験フィンガープリントをデータベース内のフィンガープリントのセットとマッチングさせるために、試験フィンガープリントは、フィンガープリント候補のグループを得るためにインデックスに対してマッチングさせることができる。次に、試験フィンガープリントは、フィンガープリント候補に対してマッチングされ、従って、試験フィンガープリントをデータベース内の全てのフィンガープリントに対してマッチングする必要がなくなる。
【0022】
別の実施形態において、エッジ検出アルゴリズムが、分析する音声フレーム又はフラグメントについての正確なエッジを判定するために使用される。幾つかの用途において、特に音声サンプルがサンプル全体の短期間のみ異なる場合に、音声サンプル内の分析される音声フレームのエッジの位置を知ることが重要である。エッジ検出アルゴリズムは、線形回帰技術を使用して、音声フレームのエッジを識別することができる。
【0023】
フィンガープリント処理技術の実施形態の用途は多岐にわたっており、音声ストリーム及び他の音声コンテンツ(例えば、ストリーミングメディア、ラジオ、広告、インターネットブロードキャスト、CD内の音楽、MP3ファイル、又は他のあらゆるタイプの音声コンテンツ)のリアルタイム識別を含む。従って、本発明の実施形態は、効率的な、リアルタイムのメディアコンテンツ監査及び他の録音を可能にする。
【図面の簡単な説明】
【0024】
図1】本発明の実施形態による、音声サンプルからのフィンガープリントの抽出及び使用に関するプロセスについての概略図である。
図2】本発明の実施形態による、フィンガープリント抽出システムの概略図である。
図3】本発明の実施形態による、マッチングアルゴリズムのフロー図である。
図4】本発明の実施形態による、エッジ検出アルゴリズムを示す図である。
図5】本発明の実施形態による、対数リサンプラ及びTポイント変換モジュールを含むフィンガープリント抽出システムの概略図である。
図6A】本発明の幾つかの別の実施形態による、フィンガープリント抽出アルゴリズムについてのグラフ表現を示す。
図6B】本発明の幾つかの別の実施形態による、フィンガープリント抽出アルゴリズムについてのグラフ表現を示す。
図7A】本発明の実施形態による、音声フレームに適用するバンドパスフィルタについてのグラフ表現を示す。
図7B】本発明の実施形態による、音声フレームに適用するバンドパスフィルタについてのグラフ表現を示す。
図8A】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
図8B】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
図8C】本発明の幾つかの別の実施形態による、サブバンドサンプルシーケンスをリサンプリングすることについてのグラフ表現を示す。
【発明を実施するための形態】
【0025】
(概要)
【0026】
本発明の実施形態は、音声のサンプルから特徴情報(例えば、音声フィンガープリント)を抽出すること、並びにこの抽出した特徴情報を使用して音声のマッチング又は識別を可能にする。図1に例示するように、音声サンプル100から取り出した音声のフレーム105は、フィンガープリント抽出アルゴリズム110に入力される。音声サンプル100は、広範囲なソースの何れかによって提供することができる。音声フレーム105のシーケンスを使用して、フィンガープリント抽出アルゴリズム110は、このシーケンスの特徴である1又はそれ以上のフィンガープリント115を生成する。音声フィンガープリント115は、区別する識別子として機能し、音声サンプル100のフレーム105のシーケンスについての識別又は他の特性に関する情報を提供する。詳細には、音声サンプル100に関する1又はそれ以上のフィンガープリント115は、音声サンプル100を一意に識別可能にすることができる。フィンガープリント抽出アルゴリズム110の実施形態について、以下でより詳細に説明する。
【0027】
フィンガープリントが生成されると、抽出したフィンガープリント115は、更なるプロセスにおいて使用するか、又は後で使用するために媒体上に格納することができる。例えば、フィンガープリント115は、フィンガープリントマッチングアルゴリズム120が使用することができ、該アルゴリズムは、フィンガープリント115をフィンガープリントデータベース125内のエントリ(既知のソースからの音声フィンガープリントの集合体)と比較して、音声サンプル100の識別を判断する。更に、フィンガープリントを使用することに関する様々な方法について、以下に説明する。
【0028】
音声サンプル100は、フィンガープリント処理システムの用途に応じて、幅広い種類のソースの何れかから得ることができる。1つの実施形態において、音声サンプル100は、メディアブロードキャスタから受信したブロードキャストからサンプリングしてデジタル化される。或いは、メディアブロードキャスタは、デジタル化を必要とすることなく、デジタル形式で音声を伝送することができる。メディアブロードキャスタのタイプには、限定ではないが、無線伝送事業者、衛星伝送事業者、及びケーブル事業者が含まれる。従って、フィンガープリント処理システムは、これらブロードキャスタを監査して、どの音声が何時ブロードキャストしているかを判断するのに使用することができる。これは、ブロードキャスティング制約条件、ライセンス付与同意、及び同等のものへの適合性を保証するための自動化システムを可能にする。フィンガープリント抽出アルゴリズム110は、ブロードキャスト信号の正確な開始及び終了を知る必要もなく作動することができるので、メディアブロードキャスタが独自の及び公平な結果を保証することについて協働又は認識を必要とせずに作動することができる。
【0029】
別の実施形態において、メディアサーバは、メディアライブラリから音声ファイルを取得し、フィンガープリント抽出アルゴリズム110が使用するためにネットワーク(例えば、インターネット)上でデジタルブロードキャストを配信する。ストリーミングインターネット無線ブロードキャストは、このタイプのアーキテクチャの1つの実施例であり、メディア、広告、及びその他のコンテンツは、個人又はユーザグループに配信する。このような実施形態において、フィンガープリント抽出アルゴリズム110及びマッチングアルゴリズム120は、通常、音声サンプル100のストリーミングコンテンツ内に含まれる個別のメディアアイテムの開始時刻及び終了時刻に関すどのような情報も有していないが、このアルゴリズム110及び120は、ストリーミングコンテンツを識別するのにこの情報を必要としない。
【0030】
別の実施形態において、フィンガープリント抽出アルゴリズム110は、音声ファイルを含む記録デバイスにアクセスできるクライアントコンピュータから音声サンプル100、又は一連のフレーム105を受信する。クライアントコンピュータは、記録デバイスから個別の音声ファイルを取り出し、このファイルをフィンガープリント抽出アルゴリズム110に送信して、このファイルから1又はそれ以上のフィンガープリント115を生成する。或いは、クライアントコンピュータは、記録デバイス140からファイルのバッチを取り出し、次いで、これらファイルのバッチをフィンガープリント抽出アルゴリズム110に連続して送信し、各ファイルに関するフィンガープリントのセットを生成することができる。(本明細書において使用する「セット」は、単一のアイテムを含む、グループロセス化されたあらゆる数のアイテムを含むものと理解されたい。)フィンガープリント抽出アルゴリズム110は、クライアントコンピュータ、又はネットワーク上でクライアントコンピュータに接続する遠隔サーバを使用して実行することができる。
【0031】
(アルゴリズム)
図1に示すフィンガープリント抽出アルゴリズム110を実行するフィンガープリント抽出システム200の1つの実施形態が、図2に例示される。フィンガープリント抽出システム200は、複数の処理チャネル(各々は要素210及び215としてラベル付けた1又はそれ以上の処理モジュールを含む)に結合された分析フィルタバンク205を含み、複数の処理チャネルは、音声フィンガープリント115を作成するために順序に差分符号器225に結合されている。フィンガープリント抽出システム200は、音声フィンガープリントが生成されることになる音声フレーム105を受信するように構成される。
【0032】
以下により詳細に説明するが、入力音声フレーム105毎に、分析フィルタバンク205は一般に、ある周波数範囲にわたる受信した信号についてのパワースペクトル情報を計算する。1つの実施形態において、各々の処理チャネルは、帯域がオーバラップすることができる周波数の範囲内の周波数帯域に対応する。従って、チャネルは、フィンガープリント抽出システム200によって実行される処理を分割し、各チャネルが、対応する帯域幅に関する処理を実行するようにする。別の実施形態において、各処理チャネルは、複数の周波数帯域を処理する(すなわち、複数の周波数帯域は、各処理チャネルと関連している)。更に別の実施形態において、複数の帯域に関する処理は、単一のチャネルにおいて単一のモジュールによって実行することができ、又は、処理は、アプリケーション及びシステムの技術的制限に適切な他の何らかの構成で分割することができる。
【0033】
分析フィルタバンク205は、(図1に例示する音声サンプル100からのフレーム105のような)音声フレーム105を受信する。分析フィルタバンク205は、音声フレーム105を時間領域から周波数領域に変換し、フレーム105に関するパワースペクトル情報をある周波数範囲にわたって計算する。1つの実施形態において、約250から2250Hzの範囲の信号に関するパワースペクトルは、複数の周波数帯域(例えば、Y=13である、Y帯域)に分割される。帯域は、線形又は対数の中間周波数帯分布(又はその他の何れかのスケール)を有することができ、更にオーバラップすることができる。フィルタバンクの出力は、複数の帯域の各々に関する信号エネルギーの測定を含む。1つの実施形態において、平均エネルギーの測定は、帯域内の平均スペクトルエネルギーの立方根を使用して実施される。
【0034】
ソフトウェア及びハードウェア要求、並びにシステムの制限に応じて、分析フィルタバンク205の様々な実行が可能である。1つの実施形態において、分析フィルタバンク205は、周波数帯域の各々に関して音声フレーム105の信号を分離した後、エネルギー推定及びダウンサンプリングを行う複数のバンドパスフィルタを含む。1つの実施形態において、各バンドパスフィルタを通過する周波数は時間と共に変化する。別の実施形態において、各バンドパスフィルタを通過する周波数は一定である(すなわち、時間と共に変化しない)。図7Aは、各バンドパスフィルタを通過する周波数が時間と共に変化しない実施形態のグラフ表現を示す。グラフ702の各長方形は、バンドパスフィルタによって出力される音声フレーム105の信号を表す。一方、図7Bは、各バンドパスフィルタを通過する周波数が時間と共に変化する実施形態のグラフ表現を示す。グラフ704で分かるように、この実施例において、各バンドパスフィルタを通過する周波数は時間と共に減少する。別の実施形態において、通過する周波数は時間と共に増加する。バンドパスフィルタを音声フレーム105に適用した後、各周波数帯域は、対応するバンドパスフィルタによって出力される信号を含む。
【0035】
別の実施形態において、分析フィルタバンク205は、短時間高速フーリエ変換(FFT)を使用して実行される。例えば、8kHzでサンプリングされる音声100は、64msフレーム105(例えば、512サンプル)に分割される。次に、2つの音声フレーム105(例えば、1024サンプル)からなる各々50%オーバラップのセグメントのパワースペクトルは、ハン窓によって計算されてFFTを実行し、続いてM一様又は対数離間オーバラップトライアングル窓を使用してバンドフィルタリングを行う。
【0036】
上述のFFTの代わりに、様々な時間周波数領域変換を使用することができる。例えば、修正離散コサイン変換(MDCT)を使用してもよい。MDCTの1つの利点は、あまり複雑でないことであり、1つのみのn/4ポイントFFT、及びサンプルの幾つかの事前及び事後回転を使用して計算することができる。従って、MDCTで実行されるフィルタバンク205は、FFTで実行するものよりも良好に実行され、例えば、2倍速く変換を計算できることが期待される。
【0037】
別の実施形態において、分析フィルタバンク205は、カスケーディングポリフェーズフィルタ及びMDCTに続いてエイリアシングキャンセルを含むMP3ハイブリッドフィルタバンクを使用して実行される。MP3フィルタバンクは、576サンプルからなる音声のフレーム105毎に576スペクトル係数を生成する。8kHzでサンプリングされた音声に関して、結果として得られるフレームレートは、上述の1024ポイントFFTフィルタバンクが15.626fpsであるのに対して、13.8fpsである。フレームレートの差異は、以下に説明するように、データがリサンプリングされた時間周波数分析の間に相殺される。更に、分析フィルタバンク205は、直交ミラーフィルタ(QMF)を使用して実行することができる。MP3ハイブリッドフィルタバンクの第1のステージは、32等帯域幅を有するQMFフィルタを使用する。従って、11,025Hzの音声信号の250Hzから2250Hz周波数帯域は、13のバンドに分割することができる。
【0038】
MP3フィルタバンクの1つの利点は、移植性である。異なるCPUに対して、MP3フィルタバンクの実行が高度に最適化される。従って、フィンガープリント生成ルーチンは、処理を追加することなくMP3フィルタバンクからスペクトル係数を得ることができるMP3符号器と容易に統合することができる。従って、フィンガープリント生成ルーチンは、完全に復号せずにMP3ビットストリームから直接スペクトルデータを得ることができるMP3復号器と容易に統合することができる。更に、他の音声コーデックとの統合が可能である。
【0039】
サブバンドサンプルが決定されるとバッファリングされ、1又はそれ以上のリサンプラ210に供給される。リサンプラ210は、サブバンドサンプルを受信し、サブバンドサンプルをリサンプリングしてリサンプルシーケンスを生成する。1つの実施形態において、リサンプラ210は、不連続又はサンプルをサンプリングした順序と逆の順序のような、非一様の順序に従ってサブバンドサンプルをリサンプリングする。
【0040】
1つの実施形態において、各リサンプラ210は、Y周波数帯域の1つに対応し、対応する周波数帯域に関して時間単位で線形離間されたSサンプルのシーケンス(例えば、Sは、フィルタバンクの実行に応じて、64〜80であるよう選択する)を受信する。1つの実施形態において、サブバンドサンプルシーケンスが受信されると、各リサンプラは、それぞれのサブバンドサンプルシーケンスについて対数リサンプリング、スケールリサンプリング、又はオフセットリサンプリングを実行する。リサンプリングの結果として、リサンプラ210は、各音声フレームに関してMリサンプリングシーケンスを生成する。
【0041】
1つの実施形態において、対数リサンプリングは、対応するサブバンドサンプルを対数マッピングして時間内対数離間したTサンプル(例えば、T=64)を有するリサンプリングシーケンスを生成するリサンプラ210を含む。対数サンプリングの代わりに、指数リサンプリングのような他のタイプの非線形サンプリングを実行してもよい。
【0042】
1つの実施形態において、スケールリサンプリングは、それぞれのサブバンドサンプルシーケンスのサイズ(すなわち、長さ)を時間単位でスケーリングするリサンプラ210を含む。サブバンドサンプルシーケンスは、周波数帯域についての中間周波数帯及び/又は周波数範囲に基づきスケーリングされる。例えば、スケーリングは、サブバンド中間周波数帯が高い程、サブバンドサンプルシーケンスのサイズが大きくなるようにすることができる。別の実施例として、スケーリングは、サブバンド中間周波数帯が高い程、サブバンドシーケンスのサイズが小さくなるようにしてもよい。スケーリングしたサブバンドサンプルシーケンスは、リサンプラ210によってリサンプリングされ、Tサンプルを有するリサンプリングシーケンスを生成する。
【0043】
1つの実施形態において、オフセットリサンプリングは、それぞれのサブバンドサンプルシーケンスを時間単位でオフセットする(すなわち、シフトする)リサンプラ210を含む。サブバンドシーケンスのオフセットは、リサンプラの周波数帯の中間周波数帯及び/又は周波数範囲に基づいている。例えば、サブバンド中間周波数帯が高い程、サブバンドサンプルシーケンスの時間オフセットが大きくなるようにすることができる。オフセットサブバンドサンプルシーケンスは、リサンプラ210によってリサンプリングされ、Tサンプルを有するリサンプリングシーケンスを生成する。
【0044】
別の実施形態において、各リサンプラ210は、複数の周波数帯域に対応する。各リサンプラ210は、複数の周波数帯域のサブバンドサンプルシーケンスを受信する。各リサンプラ210が受信するサブバンドサンプルシーケンスの数は、実行に基づいて変化する。1つの実施形態において、各リサンプラに対応する周波数帯域は連続している。
【0045】
各リサンプラ210は、対応するサブバンドシーケンスに対して時間周波数リサンプリングを実行する。時間周波数リサンプリングは、時間が変化するにつれて異なる対応する周波数帯域からサンプリングしてTサンプルを有するリサンプリングシーケンスを生成するリサンプラ210を含む。1つの実施形態において、時間が経過するにつれて、リサンプラ210がサンプリングする周波数は減少する。別の実施形態において、時間が経過するにつれて、リサンプラ210がサンプリングする周波数は増加する。リサンプリングの結果として、リサンプラ210は、各音声フレームに関してMリサンプリングシーケンスを生成する。
【0046】
図8A及び8Bは、1つの実施形態による時間周波数リサンプリングを例示する。図8Aにおいて、グラフ802の灰色の輪郭で描かれた各長方形は、異なる周波数帯域(すなわち、ある周波数帯域のサンプルシーケンス)を表す。黒色の各斜線は、時間周波数リサンプリングの結果としてリサンプラ210が生成するリサンプリングシーケンスを表す。グラフ802で分かるように、リサンプリングシーケンスを生成するために、各リサンプラ210は、時間の変化に伴って異なる対応する周波数帯域をサンプリングする。グラフ802の実施形態において、リサンプラ210がサンプリングする周波数帯は、時間が経過するにつれて減少する。図8Bのグラフ804は、図8Aのリサンプリングシーケンスの周波数帯域なしの例図である。
【0047】
図8Cのグラフ806は、各リサンプラ210がY周波数帯域の1つに対応する実施形態において、リサンプラ210が生成するリサンプリングシーケンスを示している。図8Aと同様に、グラフ806の灰色の輪郭で描かれた各長方形は、異なる周波数帯域を表しており、長方形の中央の黒色の各線は、リサンプリングシーケンスを表している。図8Cで分かるように、本実施形態においてリサンプラ210が生成するリサンプリングシーケンスの数は、周波数帯域の数と同じである(すなわち、M=Y)。このような状況であるため、各リサンプラ210は、その周波数帯域内でサンプリングする。
【0048】
しかしながら、図8Aで分かるように、各リサンプラ210が、複数の周波数帯域に対応し、時間周波数リサンプリングを実行する実施形態において、リサンプリングシーケンスの数は、周波数帯域の数よりも少ない(すなわち、M<Y)。本実施形態では、各リサンプラ210が同じ時間期間内からサンプルを取得し、各リサンプリングシーケンスがTサンプルを含むことを保証するために、より多くの周波数帯域が必要とされる。
【0049】
リサンプラ210がリサンプリングを実行し、Mリサンプリングシーケンスが生成された後、リサンプリングシーケンスは、[M×T]マトリクスに格納することができ、該マトリクスは、時間(横)軸及び周波数(縦)軸を有するサンプリングしたスペクトログラムに対応する。Mリサンプリングシーケンスは、サンプルに対して変換を実行する1又はそれ以上の変換モジュール215に提供される。
【0050】
1つの実施形態において、各帯域のサンプルに対して実行される変換は、時間軸(例えば、[M×T]マトリクスの各行)に沿って変換されるTポイント変換である。1つの実施形態において、Tポイント変換は、TポイントFFTである。FFTによる結果として得られる一連の係数は、特徴要素ベクトルと呼ばれている。1つの実施形態において、各帯域に関する特徴要素ベクトルは、当該帯域に関して周波数の昇順で計算されるFFTの他のあらゆる係数を含む。従って、各特徴要素ベクトルは、N係数(例えば、N=T/2=32)を含むことができる。別の実施形態においては、TポイントFFTを実行する代わりに、Tポイント離散コサイン変換(DCT)、Tポイント離散ハートリー変換(DHT)、又は離散ウェーブレット変換(DWT)を実行する。結果として得られる特徴要素ベクトルは、差分符号器225に提供される。
【0051】
別の実施形態において、変換は、Tポイント変換に続いてMポイント変換が実行される。Tポイント変換は、上述のような各帯域についてのサンプルに対して実行される。Tポイント変換の後、各帯域についてのサンプルは、大きさがスケーリングされ、窓掛けして正規化される。スケーリング、窓掛け、正規化に続いて、(例えば、各カラムが[M×T]マトリクスである)周波数軸に沿った変換であるMポイント変換をサンプルに対して実行する。1つの実施形態において、Mポイント変換は、周波数軸に沿ったFFT、DCT、DHT、又はDWTである。結果として得られる特徴要素ベクトルは、差分符号器225に提供される。
【0052】
別の実施形態において、変換は、2次元離散コサイン変換(2D DCT)である。この変換を実行するために、各帯域についてのサンプルを正規化する。サンプルを正規化すると、1次元DCTが時間軸に沿って実行される。時間軸に沿った1次元DCTの後に、周波数軸に沿った1次元DCTが続く。結果として得られる特徴要素ベクトルは、差分符号器225に提供される。
【0053】
差分符号器225は、音声サンプルについてのフィンガープリント115を生成する。1つの実施形態において、差分符号器225は、隣接帯域の各ペアに対応する特徴要素ベクトルを減算する。Y帯域が存在する場合には、Y−1ペアの隣接帯域が存在する。2つの特徴要素ベクトルを減算することにより、N個の差分値のベクトルが得られる。これら差分値の各々に関して、差分符号器225は、差分が0より大きいか又は0に等しい場合に1を選択し、差分が0より小さい場合に0を選択する。シーケンス内の4ビットの各グループに関して、符号器は、コードブックテーブルに従ってビット値を割り当てる。最良のコードブック値は、フィンガープリント処理アルゴリズムの調整及び学習の間に計算される。帯域の連続するペアの各々の特徴要素ベクトルに関してこのプロセスを繰り返すと、[(Y−l)×N/4]のビットマトリクスが得られる。このマトリクスは、線形ビットシーケンスとして表すことができ、音声フィンガープリント115として使用する。Y=13でN=8である実施例において、フィンガープリント115は、12バイトの情報を有する。
【0054】
1つの実施形態において、主成分分析(PCA)は、得られた特徴要素ベクトルを量子化する前に、非相関化してサイズを縮小するのに使用される。これに加えて、或いは代替として、デジタルコサイン変換のような他の非相関化技術は、冗長性を排除し、特徴要素ベクトルを圧縮するのに使用することができる。
【0055】
1つの実施形態において、フィンガープリント抽出システム200は、特定の音声信号内の高度にオーバラップした一連の音声フレームについて複数のフィンガープリントを生成する。1つの実施例において、システム200が処理する一連の各音声フレーム105は、3秒の音声信号を含み、前のシリーズが開始した64ミリ秒後に開始する。このようにして、フィンガープリントは、64ミリ秒毎に開始する音声信号の幾つかの3秒部分に関して生成される。このような方式を実施するために、フィンガープリント抽出システムは、分析フィルタバンク205の前後にメモリバッファを含むことができ、このバッファは、次の音声フレームを受信したときに次の64ミリ秒の音声信号が更新される。
【0056】
図6A及び6Bは、本発明の幾つかの代替の実施形態による、フィンガープリント抽出アルゴリズム110のグラフ表現を示している。このプロセスにおいて、分析フィルタバンク205は、音声フレームを受信する。グラフ602は、時間領域における受信音声フレームの図である。分析フィルタバンク205は、グラフ604に示すように、音声フレームに対してFFTを実行して、時間領域から周波数領域に変換する。次に、パワースペクトル情報が、周波数領域に存在するときに音声フレームに関して計算される。分析フィルタバンク205は、グラフ606に示すように、複数のバンドパスフィルタを適用し、各周波数帯域に関するフレームの信号を分離する。
【0057】
周波数帯域のサブバンドサンプルシーケンスは、リサンプラ210によってリサンプリングされる。図6Bは、サブバンドサンプルシーケンスをリサンプリングするリサンプラ210によって実行することができる(A、B、C、及びDで表記された)4つの代替の技術を示している。1つの実施形態において、技術A、B、及びCは、各リサンプラ210が1つの周波数帯域に対応する場合に実行することができる技術である。1つの実施形態において、技術Dは、各リサンプラ210が複数の周波数帯域に対応し、リサンプラ210が時間周波数リサンプリングを実行するように構成されている場合に実行することができる。
【0058】
技術Aにおいて、各リサンプラ210は、対応するサブバンドサンプルシーケンス(グラフ608)に対数サンプリングを行って、Tサンプル(グラフ616)を有するリサンプリングシーケンスを生成する。技術Bにおいて、各リサンプラ210は、それぞれのサブバンドサンプルシーケンスのサイズをサブバンドの中間周波数帯及び/又は周波数範囲に基づいてスケーリングする。グラフ610に示すように、この実施例において、サブバンド中間周波数帯がより高く及びサブバンドの周波数範囲が広くなる程、サブバンドサンプルシーケンスのサイズが小さくなる。スケーリングしたサブバンドサンプルシーケンスは、リサンプリングされて、各々がTサンプル(グラフ618)を有するリサンプリングシーケンスを生成する。
【0059】
技術Cにおいて、各リサンプラ210は、サブバンドの中間周波数帯及び/又は周波数範囲に基づきそれぞれのサブバンドサンプルシーケンスを時間単位でオフセットする。グラフ612に示すように、この実施例において、サブバンド中間周波数帯が高くなる程、サブバンドサンプルシーケンスのオフセットが大きくなる。オフセットされたサブバンドサンプルシーケンスをリサンプリングして、各々がTサンプル(グラフ620)を有するリサンプリングシーケンスを生成する。
【0060】
技術Dにおいて、各リサンプラ210は、対応するサブバンドサンプルシーケンスに対して時間周波数リサンプリングを実行する。時間周波数リサンプリングは、時間の変化に伴って対応する異なる周波数帯域からサンプリングするリサンプラ210によって実行される。グラフ614に示すように、この実施例において時間が経過すると共に、リサンプラ210がサンプリングする周波数が低くなる。リサンプリングは、各々がTサンプル(グラフ622)を有するリサンプリングシーケンスを生成する。
【0061】
リサンプラ210が生成するリサンプリングシーケンス(Mリサンプリングシーケンス)は、[M×T]マトリクス内に格納される。各変換モジュール215は、対応するリサンプラ210(すなわち、変換モジュール215と同じチャネル内のリサンプラ210)が生成するリサンプリングシーケンスに対して変換を実行する。図6は、リサンプリングシーケンスを変換して特徴要素ベクトルを生成する変換モジュール215によって実行することができる(E、F、及びGと表記された)3つの別の技術を示している。
【0062】
技術Eにおいて、変換モジュール215は、グラフ624に例示するように、Tポイント変換を実行する。技術Fにおいて、変換モジュール215は、グラフ626に例示するように、1次元でのTポイント変換に続いて、他の次元でのTポイント変換を実行する。技術Gにおいて、変換モジュール215は、グラフ628に例示するように、2次元DCT又は他の適切な2次元変換を実行する。
【0063】
サブバンドサンプルを変換して特徴要素ベクトルが得られると、差分符号器225は、変換モジュール215が生成した特徴要素ベクトルを使用して、フィンガープリント115を生成する。
【0064】
図5は、リサンプラが対数リサンプラであり、変換モジュール215がTポイント変換モジュール215であるフィンガープリント抽出システム200の1つの実施例である。対数リサンプラ210は、上述(技術A)のような対数サンプリングを実行する。しかしながら、別の実施形態において、対数リサンプラ210は、他のリサンプリング技術(すなわち、技術B、C、又はD)を実行するリサンプラ210に置き換えてもよい点を理解されたい。
【0065】
Tポイント変換モジュール215は、上述(技術E)のようにTポイント変換を実行する。しかしながら、別の実施形態において、Tポイント変換モジュール215は、他の変換技術(すなわち、技術F、又はG)を実行する変換モジュールに置き換えることができる。
【0066】
(音響モデル)
フィンガープリント処理システムの様々な用途において、特定の周波数帯域は、これらを感知できないこと、音声サンプルに関する符号化プロセスが帯域を除去すること、或いはその他の理由により、有意でない場合がある。従って、1つの実施形態において、音響モデル235は、特定のフィンガープリントに関する有意でない周波数帯域を識別しマーキングするのに使用される。心理音響モデルのような音響モデルは、様々な音声処理分野において周知である。音響モデル235に関するモデルパラメータのセットは、フィンガープリント115を生成する間に高品質の参照サンプルについて計算され、データベース125内に格納することができる。フィンガープリント115の有意でない帯域は、特別なコードを割り当てることによって、又は対応する値(すなわち、ビット)をゼロ設定することによってマーキングすることができる。このことによって、フィンガープリントをデータベースのレコードとマッチングするプロセスにおいて非0の値を有する対応する帯域のペアのみがフィンガープリント115を区別するのに使用されるので、あらゆる後続のマッチングプロセスにおいて帯域を効果的に無視するようになる。更に、マーキングした帯域(すなわち、0値を有するもの)は、比較から完全に除外することができる。
【0067】
1つの実施形態において、音響モデルは、人間の聴覚系に関する心理音響モデルである。このモデルは、フィンガープリントシステムが人間の聴覚系を対象にした音声識別を目的にしている場合に有効とすることができる。このような音声は、関係のない音声情報を取り除く1又はそれ以上の知覚符号器によって圧縮することができる。人間の心理的音響モデルを使用することにより、フィンガープリントから関係のない帯域を識別し除外することが可能となる。
【0068】
しかしながら、心理音響モデルは、人間の知覚符号化音声に適する唯一のタイプの音響モデルである。別の音響モデルは、特定の録音デバイスの特性を模擬したモデルである。このような録音デバイス音響モデルに関する各帯域は、重要度に応じて割り当てられる重み付け因子を有することができる。更に別の音響モデルは、車又は部屋の中で見られるバックグランド雑音のような特定環境の特性を模擬する。このような実施形態において、音響モデルに関する各帯域は、システムが設計される環境における重要度に応じて割り当てる重み付け因子を有することができる。
【0069】
1つの実施形態において、音響モデル235及びフィルタバンク205のパラメータは、分析される音声信号100のタイプ及び特性に依存している。サブバンド重み付け因子のセット並びに複数のフィルタバンク帯域及びその周波数分布を含む様々な特性は、対象の音声信号の特性のより良好なマッチングを得るために使用する。例えば、スピーチのような音声に関して、信号のパワーは、主として低周波数帯域に集中しており、他方、音楽は、ジャンルに応じて高周波数帯に関連する成分を含むことができる。1つの実施形態において、音響モデルのパラメータは、参照音声信号から計算され、生成したフィンガープリントと共にコンテンツデータベース内に格納される。別の実施形態において、音響モデルのパラメータは、マッチングプロセス中に分析される音声信号の特性に基づいて動的に計算される。
【0070】
従って、音響モデル235の可能な用途は、特定環境及び/又は録音デバイス並びに符号化アルゴリズム特性に関する音声認識パラメータを調整することを含む。例えば、携帯電話音声パス(マイクロホン特性、音声処理及び圧縮アルゴリズム、並びに同等のもの)の音響特性を知ることにより、これらの特性を模擬する音響モデルを開発することが可能になる。フィンガープリントの比較の間にこのようなモデルを使用することで、生成されるフィンガープリントのマッチングプロセスの堅牢性を顕著に高めることができる。
【0071】
(フィンガープリントインデックス化及びマッチング)
1つの実施形態において、フィンガープリントインデクサー230は、各フィンガープリント115に関するインデックスを生成する。次に、フィンガープリント115は、フィンガープリントデータベース125内に格納され、フィンガープリントデータベース125のコンテンツについての検索及びマッチングを効率的にすることができる。1つの実施形態において、フィンガープリント115に関するインデックスは、フィンガープリント115の一部又はハッシュを含む。従って、フィンガープリントデータベース125のフィンガープリント115は、これに関する有効な識別情報に従ってインデックス化される。
【0072】
各フィンガープリント115が[(Y−1) × N/4]のビットのマトリクスを含む上述の実施形態において、インデクサー230は、最も左の縦列をインデックスとして使用する。各フィンガープリント115が、[12×8]のビットのマトリクスである実施例において、フィンガープリント115に関するインデックスは、最も左の2列のビット(全体で24ビット)とすることができる。このようにして、各フィンガープリント115に関するインデックスとして使用するビットは、フィンガープリント115を計算するのに使用する特徴要素ベクトルの低周波数スペクトル係数に基づいたフィンガープリント115のサブセットである。従って、これらのビットは、雑音及び歪みを抑えるのに安定的で反応しにくいリサンプリングし変換されたスペクトログラム帯域の低周波成分に対応する。従って、高い可能性レベルでは、同様のフィンガープリントは、同じ数値のインデックスを有することになる。このようにして、インデックスは、データベース内の類似した及び同様のマッチングフィンガープリントをラベル付けしグループ化するのに使用することができる。
【0073】
図3は、本発明の1つの実施形態による、上述のインデックスを使用して試験フィンガープリントをフィンガープリントデータベース125とマッチングする方法を示す。試験フィンガープリントに関してフィンガープリントデータベース125においてマッチングを見つけるために、マッチングアルゴリズムは、上述のように試験フィンガープリントに関するインデックス値を計算するステップ310で始まる。このインデックス値を使用して、例えば、同じインデックス値を有するデータベース125内のフィンガープリントの全てを含む、フィンガープリント候補のグループを取得する(320)。上述のように、インデックスが計算されるこの方法に起因して、データベース125内でのあらゆるマッチングは、フィンガープリント候補のこのグループ内に存在する可能性が高い。
【0074】
フィンガープリント候補のグループ内での何れかのマッチングに関して試験するために、試験フィンガープリントとフィンガープリントの各候補との間のビット誤り率(BER)を計算する(330)。2つのフィンガープリント間のBERは、マッチングしない対応するビットのパーセンテージである。完全に関係のないランダムなフィンガープリントに関しては、BERは、50%であることが期待されることになる。1つの実施形態において、2つのフィンガープリントは、BERが約35%よりも小さい場合にマッチングしているが、他の数値制限は、偽陽性及び/又は偽陰性に関する所望の許容範囲に応じて使用することができる。加えて、BER以外の計算又は基準は、2つのフィンガープリントを比較するのに使用することができる。例えば、BERの逆測定値であるマッチング率も使用することができる。更に、特定のビットは、2つのフィンガープリントの比較において他より高く重み付けすることができる。
【0075】
所定のマッチング基準内でマッチングが存在しない(340)場合、又は修正するインデックスがもはや存在しない(350)場合には、マッチングアルゴリズムが、データベース125内で試験フィンガープリントのどのようなマッチングも見つけることができない。次に、システムは、(例えば、フィンガープリント候補を得る際のより低い制約基準を使用して)検索を継続することができ、又は停止することができる。1又はそれ以上のマッチングするフィンガープリントが存在する(340)場合には、マッチングするフィンガープリントのリストが返される(360)。
【0076】
1つの実施形態において、システムは、マッチングに関して検索対象となるフィンガープリント候補の異なるセットを得るために、計算されたフィンガープリントインデックスを修正(370)した後、上述のような検索を繰り返すことができる。計算したフィンガープリントインデックスを修正(370)するために、計算したフィンガープリントインデックスの1又は複数のビットをフリップすることができる。フィンガープリントインデックスが24ビットを有する1つの実施例において、元のフィンガープリントインデックスを使用してマッチングを見つけることができなかった後、検索ステップは、24ビットのフィンガープリントインデックスの異なる単一ビットをフリップする毎に24回繰り返す。他の様々な技術を用いて、検索スペースを拡張することができる。
【0077】
1つの実施形態において、フィンガープリントインデクサー230は、音響モデル235によって計算されてデータベース125内に以前に格納された周波数帯域重み付け因子のセットに基づいて、1又はそれ以上のフィンガープリントからインデックスのビットを選択することによって1又はそれ以上のインデックスを生成する。ビットフリップによって得られるインデックスを含む複数のインデックスを使用する場合、フィンガープリント候補のグループは、計算したインデックス毎に得られる全ての候補を含む。
【0078】
別の実施形態において、検索エリアは、計算した各インデックスに関して得られた候補グループのほとんど又は全てにおいて見つかったフィンガープリント候補のみを事前選別し選択することによって狭めることができる。ビットフリップによって得られるインデックスを含む複数のインデックスを使用することによる複数のフィンガープリント候補グループの事前選別は、データベース検索のパフォーマンスを著しく向上させることができる。1つの実施形態において、可能なフィンガープリント候補に対するインデックス及び参照は、コンピュータメモリ内に格納され、フィンガープリント候補の高速選択及び事前選別を可能にする。第2のステップ(ステップ320)では、所与のフィンガープリントにマッチングする可能性が最も高いフィンガープリント候補のみをコンピュータメモリにロードして比較する。この手法は、コンピュータメモリ内で小さいサイズのインデックスのみを保持し、大きいサイズのフィンガープリントを低速のデバイス(例えば、ハードディスクドライブ、又はネットワーク上)に格納することによって高速な検索を可能にしている。
【0079】
(音声フレームのエッジ検出)
幾つかの用途において、マッチングする音声フラグメントのエッジを検出することが望ましい場合がある。エッジ検出により、システムは、特定のマッチング音声フラグメントが時間内に発生している場所を正確に知ることができるようになる。分析する音声の品質に応じて、エッジ検出アルゴリズムの実施形態は、約0.1から0.5秒の正確さでマッチングする音声フラグメントのエッジを検出することができる。
【0080】
上述のように、フィンガープリント処理技術の実施形態は、サブバンド処理バッファ内に音声サンプルを蓄積する。このバッファリングにより、フィンガープリント処理アルゴリズムの出力が遅延され、音声フラグメントが不鮮明になる。この影響は、図4に例示しており、音声フラグメントについての参照フィンガープリントと入力サンプル音声ストリームに関して経時的に生成される一連のフィンガープリントとの間の経時的なビット誤り率(BER)についてのグラフである。図示の実施形態においては、サブバンドバッファが3秒の音声を保持し、2つのフィンガープリントが35%又はそれ未満のビット誤り率(BER)を有する場合にマッチングが示される。
【0081】
最初に、時刻T0において、サブバンド処理バッファは空であり、従って、生成されるフィンガープリントは、元の音声とゼロマッチングである(例えば、BERは、約50%に等しいと期待される)。音声サンプルをサブバンドバッファに追加されると、BERは減少し、より良好なマッチングを示す。十分に時間が経過した後に、BERは、時刻T1において閾値35%未満に減少し、マッチングを示す。最終的に、時刻T2において、BERは、バッファがサンプルによって埋められたときに平坦域に達する。フィンガープリント処理アルゴリズムが、対応する音声フラグメントの最後を通過すると、時刻T3において、あまりマッチングしていない、従ってBERが増加したフィンガープリントを生成し始め、時刻T4において35%の認識閾値に達する。得られたマッチング曲線(T1からT4)の期間及び平坦域(T2からT3)の期間は各々、マッチングした音声フラグメント(T0からT3)の期間よりも短い。
【0082】
1つの実施形態において、エッジ検出アルゴリズムを用いて、マッチングする音声フレーム又はフラグメントの正確なエッジを判断する。図4に示すようなBER曲線が得られる。BER曲線は、BERが減少している状態のマッチングの開始(例えば、T1からT2)、BERがほぼ一定である平坦域(例えば、T2からT3)、及びBERが増加している状態のマッチングの終了(例えば、T3からT4)に対応した範囲に分割される。実際のBER曲線は、一般に雑音があるので、回帰分析のような適切な技術を使用して分割される。1つの実施形態において、35%を超えるBERを生成する全てのサンプルは、信頼性がない可能性があるので無視される。次に、マッチングする音声フラグメントの開始(すなわち、時刻T1)は、BERが減少している範囲(例えば、T1からT2)に最も良く適合する線と、50%BERに対応する水平線との交差として線形回帰を使用して計算することができる。同様の手法を時刻T5を推定するのに適用することができ、BERが増加している範囲(例えば、T3からT4)に最も良く適合する線と、50%のBERに対応する水平線との交点を得る。しかしながらこの事例では、時刻T5は、サブバンドバッファの期間Bによって遅延されたフラグメントの最後に対応し、マッチングする音声フラグメントの実際の最後ではない。フラグメントの最後の位置(すなわち、時刻T3)は、得られた推定T5からサブバンドバッファ期間Bを減算することによって計算することができる。
【0083】
別の実施形態において、マッチングする音声フラグメントの最後は、範囲T2からT3の最後として推定され、音声フラグメントの開始は、範囲T2からT3の開始に対応する時刻T2からサブバンドバッファBの期間を減算することによって計算される。
【0084】
(要約)
ベクトル及びマトリクスに関して説明したが、何らかのフィンガープリント又はサブフィンガープリントに関して計算される情報は、値のベクトル又はマトリクスとしてだけでなく、あらゆる形式で格納し処理することができる。従って、ベクトル及びマトリクスという用語は、音声サンプルから抽出されるデータを表すのに好都合な機構としてのみ使用されており、他のどのような限定を意味するものではない。加えて、パワースペクトルは、スペクトログラムに関して説明したが、音声信号のパワースペクトル又はスペクトル分析を表すデータは、スペクトログラムとしてだけでなく、他のあらゆる適切な形式で表し使用できる点を理解されたい。
【0085】
1つの実施形態において、ソフトウェアモジュールは、本明細書において説明されるステップ、動作、又はプロセスの何れか又は全てを実行するためにコンピュータプロセッサによって実行できるコンピュータプログラムコードを含むコンピュータ読み取り可能媒体を備えたコンピュータプログラム製品と共に実行される。従って、本明細書において説明されるステップ、動作、又はプロセスの何れかは、1又はそれ以上のソフトウェアモジュール又はハードウェアモジュールと共に、単独で、又は他のデバイスとの組み合わせの形で実行もしくは実施することができる。更に、ハードウェア要素に関して説明されるシステムの何れかの部分は、ソフトウェアにおいて実行することができ、ソフトウェア要素に関して説明されるシステムの何れかの部分は、専用回路にハードコーディングしたようなハードウェアにおいて実行することができる。例えば、説明した方法を実行するためのコードは、ハードウェアデバイス、例えばASIC又は他のカスタム回路内に埋め込むことができる。これにより、本発明の恩恵を多くの様々なデバイスについての可能性と組み合わせることが可能になる。
【0086】
別の実施形態において、フィンガープリント処理アルゴリズムは、携帯電話、携帯情報端末(PDA)、MP3プレーヤー及び/又はレコーダ、セットトップボックス、テレビジョンセット、ゲームコンソール、又は音声コンテンツを格納、処理、又は再生する他の任意のデバイスのような、様々な音声デバイスの何れかに組み込まれ、実行される。フィンガープリント処理アルゴリズムをこのようなデバイスに組み込むことで、幾つかの恩恵をもたらすことができる。例えば、音声フィンガープリントを携帯電話上で直接生成することにより、圧縮した音声を携帯電話からフィンガープリント処理サーバに携帯電話ネットワーク上で送信するのに比べてより良い結果をもたらすことができる。携帯電話上でアルゴリズムを実行することにより、スピーチを圧縮するよう設計され且つ音楽については十分に機能されないGSM(登録商標)圧縮によって生じる歪みが排除される。従って、この手法は、携帯電話によって録音された音声の認識を著しく改善することができる。更に、これは、サーバ並びにネットワークトラヒックの負荷を低減する。
【0087】
このような組み込み手法の別の恩恵は、プライバシー及びユーザの権利を侵害することなく聴取体験をモニターできることである。例えば、録音デバイスは、音声を録音し、フィンガープリントを生成し、次いで、分析のためにフィンガープリントのみをサーバに送信する。録音した音声は決してデバイスから離れることがない。次に、サーバは、フィンガープリントから元の音声を復元することはできないが、送られたフィンガープリントを使用して対象の音楽又は広告を識別することができる。
【0088】
本発明の上述の実施形態は、例示の目的で提示され、網羅的であること、又は開示した正確な形態に本発明を限定することを意図したものではない。当業者であれば、上記の技術に照らして多くの修正及び変形形態が可能である点を理解することができる。従って、本発明の範囲は、この詳細な説明によってではなく、添付の特許請求の範囲によって限定されることを意図している。
【符号の説明】
【0089】
100 音声サンプル
105 音声フレーム
110 フィンガープリント抽出アルゴリズム
115 フィンガープリント
120 フィンガープリントマッチングアルゴリズム
125 フィンガープリントデータベース
200 フィンガープリント抽出システム
205 分析フィルタバンク
210 リサンプラ
215 変換モジュール
225 差分符号器
230 フィンガープリントインデクサー
235 音響モデル
図2
図3
図5
図6A
図6B
図7A
図7B
図8A
図8B
図8C
図1
図4