專利名稱:用于從媒體樣本辨認(rèn)媒體實體的方法
技術(shù)領(lǐng)域:
本發(fā)明大體涉及基于內(nèi)容的信息檢索。更具體地說,本發(fā)明特別涉及音頻信號的識別,所述的音頻信號包括高度失真的、或包含強(qiáng)噪聲的聲音或音樂。本發(fā)明還特別涉及一種用于從媒體樣本辨認(rèn)媒體實體的方法。
背景技術(shù):
越來越需要自動識別從多種來源產(chǎn)生的音樂或其它音頻信號。例如,有版權(quán)的作品的擁有者或廣告人員對于獲取關(guān)于其材料的廣播頻率的數(shù)據(jù)感興趣。音樂跟蹤服務(wù)在大市場中提供主要無線電臺的節(jié)目表。消費(fèi)者希望辨認(rèn)廣播中的歌曲或廣告,以便可以購買新的、有趣的音樂或其它產(chǎn)品和服務(wù)。當(dāng)其由人工執(zhí)行時,任何種類的持續(xù)的或點(diǎn)播(on-demand)的聲音識別都是低效且費(fèi)力的。這樣,識別音樂或聲音的自動方法將給消費(fèi)者、藝術(shù)家、以及多種產(chǎn)業(yè)帶來重大的意義。隨著音樂發(fā)行模式從店鋪購買轉(zhuǎn)移到了經(jīng)因特網(wǎng)下載,將用計算機(jī)實現(xiàn)的音樂識別和因特網(wǎng)購買以及其它基于因特網(wǎng)的服務(wù)直接連接起來是非??尚械?。
傳統(tǒng)上,對廣播中播放的歌曲的識別,是通過使播放歌曲的無線電臺和時間,與無線電臺或第三方來源提供的節(jié)目表相匹配來執(zhí)行的。這種方法內(nèi)在地限定于可獲取信息的無線電臺。其它方法則依賴于在廣播信號中嵌入不可聽的碼。被嵌入的信號在接收器中解碼,以抽取關(guān)于廣播信號的辨認(rèn)信息。這種方法的缺點(diǎn)在于需要專用的解碼設(shè)備以辨認(rèn)信號,而且只能辨認(rèn)那些具有嵌入碼的歌曲。
任何大規(guī)模音頻識別都需要某種基于內(nèi)容的音頻檢索,其中,未辨認(rèn)的廣播信號與已知信號的數(shù)據(jù)庫比較,以辨認(rèn)相似的和相同的數(shù)據(jù)庫信號。需要注意,基于內(nèi)容的音頻檢索不同于現(xiàn)有的通過網(wǎng)絡(luò)搜索引擎的音頻檢索,其中,只搜索圍繞音頻文件或與音頻文件相關(guān)聯(lián)的后數(shù)據(jù)(metadata)文本。還需要注意,盡管語音識別對于將有聲的信號轉(zhuǎn)變成可以使用公知技術(shù)來索引和搜索的文本很有用,但是其不適用于包含音樂和聲音的大多數(shù)音頻信號。在某些方面,音頻信息檢索類似于由搜索引擎提供的基于文本的信息檢索。在其它方面,音頻識別并不類似于音頻信號缺乏可簡單地辨認(rèn)的諸如文字之類的實體,所述的實體提供用于搜索或索引的標(biāo)識符。同樣地,當(dāng)前的音頻檢索方案通過計算出的代表信號的各種品質(zhì)和特征的知覺特征進(jìn)行索引。
典型地,基于內(nèi)容的音頻檢索通過分析查詢信號來執(zhí)行,以獲取許多代表性的特征,然后對所得特征進(jìn)行相似性測量以確定最相似于該查詢信號的數(shù)據(jù)庫文件的位置。所接收的對象的相似性必然是所選擇的知覺特征的反映。本領(lǐng)域有很多基于內(nèi)容的檢索方法可用。例如,發(fā)布到Kenyon的美國專利第5,210,820號公開了一種信號識別方法,其中,所接收信號被處理并采樣以獲取每個采樣點(diǎn)的信號值。然后,計算采樣的值的統(tǒng)計動差,以產(chǎn)生可以與所存儲信號的標(biāo)識符比較的特征矢量,來檢索相似的信號。發(fā)布到Kenyon以及其他地方的美國專利第4,450,531號和第4,843,562號公開了相似的廣播信息分類方法,其中,計算了未辨認(rèn)信號與所存儲的參考信號之間的交叉相關(guān)性。
在J.T.Foote,“Content-Based Retrieval of music and Audio(音樂和音頻的基于內(nèi)容的檢索)”,在C.-C.J.Kuo et al.,editor,Multimedia Storage andArchiving Systems II(多媒體存儲和存檔系統(tǒng)II),Proc.of SPIE,volume 3229,pages 138-147,1997中公開了一種用于通過聲學(xué)相似性檢索音頻文件的系統(tǒng)。通過將每個音頻文件參數(shù)化為以嘜耳標(biāo)度的(mel-scaled)倒頻譜(cepstral)系數(shù)來計算特征矢量,并且從該參數(shù)化數(shù)據(jù)生成量化樹(quantization tree)。為執(zhí)行查詢,未知的信號被參數(shù)化,以獲取特征矢量,而該特征矢量被分類為樹上的葉節(jié)點(diǎn)(leaf node)。為每個葉節(jié)點(diǎn)收集柱狀圖,從而產(chǎn)生代表該未知的信號的N維矢量。兩個這樣的矢量之間的距離表示兩個聲音文件之間的相似性。在這種方法中,基于人們在其中分配了訓(xùn)練數(shù)據(jù)(training data)的類(class),被監(jiān)管的量化方案知道區(qū)分音頻特征,而忽略不重要的變化。依靠分類系統(tǒng),選擇不同的聲學(xué)特征為重要特征。這樣,不僅來識別音樂,這種方法更適合于發(fā)現(xiàn)歌曲之間的相似性并將音樂分類。
發(fā)布到Blum以及其他地方的美國專利第5,918,223公開了一種基于內(nèi)容對音頻信息的分析、存儲、檢索、及分段方法。在這種方法中,在每個文件的周期性間隔測量許多諸如音量(loudness)、低音(bass)、音調(diào)(pitch)、亮度(brightness)、帶寬(bandwidth)、嘜耳-頻率(mel-frequency)倒頻譜系數(shù)之類的聲學(xué)特征。將這些特征進(jìn)行統(tǒng)計測量并結(jié)合以形成特征矢量?;跀?shù)據(jù)庫中的音頻數(shù)據(jù)文件的特征矢量到未辨認(rèn)的文件的特征矢量的相似性,檢索數(shù)據(jù)庫中的音頻數(shù)據(jù)文件。
所有上述現(xiàn)有的技術(shù)的音頻識別方法的關(guān)鍵問題在于,當(dāng)要識別的信號遭受由于,例如,背景噪聲、傳輸錯誤和信息遺失(dropout)、干擾、帶寬受限制的濾波(band-limited filtering)、量化、時間變形(time-warping)、以及語音質(zhì)量數(shù)字壓縮而造成的線性和非線性失真時,就容易失效。在現(xiàn)有的技術(shù)方法中,當(dāng)處理失真的聲音樣本以獲取聲學(xué)特征時,只能發(fā)現(xiàn)一部分從原始記錄導(dǎo)出的特征。因此,結(jié)果特征矢量與原始記錄的特征矢量并不非常相似,未必能執(zhí)行正確的識別。仍然需要一種聲音識別系統(tǒng),能在強(qiáng)噪聲和失真的條件下良好地工作。
現(xiàn)有的技術(shù)方法的另一個問題在于,其計算量大,且不能良好地分等級(scale)。這樣,不可能使用現(xiàn)有的技術(shù)方法用大型數(shù)據(jù)庫進(jìn)行實時識別。在這種系統(tǒng)中,不可以使數(shù)據(jù)庫具有多于幾百或上千條的記錄?,F(xiàn)有的技術(shù)方法中的搜索時間傾向于隨著數(shù)據(jù)庫的大小線性增長,這使得對上百萬的聲音記錄進(jìn)行分等級在經(jīng)濟(jì)上是不可行的。Kenyon的方法同樣需要大量的專用的數(shù)字信號處理硬件。
現(xiàn)有的商用方法通常對能夠執(zhí)行識別的輸入樣本有嚴(yán)格的要求。例如,其要求完整的歌曲,或至少30秒的歌曲,以便采樣,或者要求歌曲從頭采樣。其還難于識別在單個流(stream)中混合在一起的多個歌曲。所有這些缺點(diǎn)使得現(xiàn)有的技術(shù)的方法在許多實際應(yīng)用中的使用是不可行的。
發(fā)明內(nèi)容相應(yīng)地,本發(fā)明的主要目的是提供一種方法,用于識別遭受強(qiáng)噪聲和失真的音頻信號。
本發(fā)明的再一個目的是提供一種識別方法,其可以只基于將要被辨認(rèn)的信號的幾秒鐘而實時地執(zhí)行。
本發(fā)明的另一個目的是提供一種識別方法,其可以基于聲音中幾乎任何位置的樣本識別聲音,而不僅僅是只能在開頭。
本發(fā)明的一個附加的目的是提供一種識別方法,其不需要使聲音樣本被編碼或與特定的無線電臺或節(jié)目表相關(guān)聯(lián)本發(fā)明的再一個目的是提供一種識別方法,其可以識別在單個流中混合在一起的多個歌曲中的每一首歌曲。
本發(fā)明的另一個目的是提供一種聲音識別系統(tǒng),在其中,可以通過事實上任何已知方法從任何環(huán)境向所述的系統(tǒng)提供未知的聲音。
根據(jù)本發(fā)明的一個方面,提供了一種用于從媒體樣本辨認(rèn)媒體實體的方法,包括產(chǎn)生在所述媒體樣本的標(biāo)志和要識別的媒體實體的相對應(yīng)標(biāo)志之間的一致,其中所述媒體樣本的所述標(biāo)志和所述媒體實體的所述對應(yīng)標(biāo)志具有等價的指紋;以及如果多個所述的一致具有由下式定義的線性關(guān)系,則辨認(rèn)所述的媒體樣本和所述的媒體文件,landmark*n=m*landmarkn+offset,其中,landmarkn是樣本標(biāo)志,landmark*n是對應(yīng)于landmarkn的文件標(biāo)志,而m表示斜率。
這些目的和優(yōu)點(diǎn)可以通過給定許多已知媒體文件的數(shù)據(jù)庫索引,用一種用于識別諸如音頻樣本之類的媒體樣本的方法來獲得。數(shù)據(jù)庫索引包含代表被索引的媒體文件的特定的位置處的特征的指紋(fingerprint)。未知的媒體樣本與數(shù)據(jù)庫中的一個媒體文件(選中的(winning)媒體文件)是一致的,該媒體文件指紋相對位置與樣本的指紋的相對位置最為匹配的。在音頻文件的情況中,選中的文件的指紋的時間演化(evolution)與樣本中的指紋的時間演化相匹配。
本方法最好在分布的計算機(jī)系統(tǒng)中實現(xiàn),并包含如下步驟在樣本的特定的位置確定一組指紋;在數(shù)據(jù)庫索引中確定匹配的指紋的位置;產(chǎn)生在樣本中的位置與具有等價的指紋的文件中的位置之間的一致;以及辨認(rèn)非常多個一致充分線性相關(guān)的媒體文件。具有最大數(shù)目的線性相關(guān)的一致的文件被認(rèn)為是選中的媒體文件。辨認(rèn)具有大量的一致的文件的一種方法是執(zhí)行等價于掃描從多對一致中產(chǎn)生的散布(scatter)圖中的對角線的過程。在一個實施例中,辨認(rèn)具有大量的線性一致的媒體文件包括只搜索媒體文件的第一子集。第一子集中的文件比不在第一子集中的文件有較高的被辨認(rèn)的概率。辨認(rèn)的概率最好基于實驗頻率或先前辨認(rèn)的新舊程度測量,連同對辨認(rèn)頻率的推理(a priori)預(yù)測。如果第一子集中沒有媒體文件被辨認(rèn),則搜索包含其余文件的第二子集。作為選擇,文件可以按概率排列,并以排列的順序搜索。當(dāng)文件的位置被確定時終止搜索。
最好是,樣本內(nèi)的特定的位置以獨(dú)立于樣本的方式可再生地計算出。這樣的可再生可計算位置被稱為“標(biāo)志(landmark)”。指紋最好是數(shù)值。在一個實施例中,每個指紋代表在每個位置或從該位置微小的偏移處的媒體樣本的多個特征。
本方法對識別音頻樣本特別有用,其中,特定的位置是音頻樣本中的時間點(diǎn)。這些時間點(diǎn)出現(xiàn)在,例如,音頻樣本的頻譜Lp范數(shù)(norm)的局部最大值處。指紋可以通過對音頻樣本的任何分析計算出,并且最好相對于樣本的時間展寬(time stretching)不變。指紋的例子包括頻譜段指紋、多段指紋、線性預(yù)測編碼(LPC)系數(shù)、倒頻譜(cepstral)系數(shù)、以及聲頻譜圖(spectorgram)尖峰的頻率分量。
本發(fā)明還提供一種用于實現(xiàn)上述方法的系統(tǒng),包含標(biāo)志處理(landmarking)對象,用于計算特定的位置;指紋處理(fingerprinting)對象,用于計算指紋;數(shù)據(jù)庫索引,包含針對媒體文件的文件位置與指紋;以及一個分析對象。分析對象,通過在數(shù)據(jù)庫索引中確定匹配的指紋的位置,產(chǎn)生一致,并分析一致,以選擇選中的媒體文件,來實現(xiàn)本方法。
還提供一種可由計算機(jī)存取的程序存儲設(shè)備,切實地包含可由計算機(jī)執(zhí)行的指令的程序,以執(zhí)行針對上述方法的方法步驟。
另外,本發(fā)明提供一種用于在數(shù)據(jù)庫中創(chuàng)建許多音頻文件的索引的方法,包含下述步驟在每個文件的特定的位置計算一組指紋;并存儲指紋、位置、以及存儲器中的文件的標(biāo)識符(identifier)。在存儲器中,相對應(yīng)的指紋、位置、標(biāo)識符被關(guān)聯(lián)起來形成一個三元組(triplet)。最好是,可以是音頻文件內(nèi)的時間點(diǎn)的位置,依賴于文件而被計算,并可再生。例如,時間點(diǎn)可以出現(xiàn)在音頻文件的頻譜Lp范數(shù)的局部最大值處。在某些情況中,最好是數(shù)值的每個指紋,代表特定的位置附近的文件的許多特征??梢詮娜魏螌σ纛l文件的分析或數(shù)字信號處理來計算出指紋。指紋的例子包括頻譜段指紋、多段指紋、線性預(yù)測編碼系數(shù)、倒頻譜(cepstral)系數(shù)、聲頻譜圖尖峰的頻率分量、以及被連接的聲頻譜圖尖峰。
最后,本發(fā)明提供用于辨認(rèn)并入了相對于時間展寬不變的指紋的音頻樣本的方法,以及用于各種分級搜索的方法
圖1是用于識別聲音樣本的本發(fā)明的方法的流程圖。
圖2是用于實現(xiàn)圖1的方法的示范性的分布式的計算機(jī)的方框圖。
圖3是用于建立在圖1的方法中使用的聲音文件的數(shù)據(jù)庫索引的方法的流程圖。
圖4概略地說明了為聲音樣本計算的標(biāo)志和指紋。
圖5是針對聲音樣本的L4范數(shù)的圖,說明了標(biāo)志的選擇。
圖6是用于建立在圖1的方法中使用的聲音文件的數(shù)據(jù)庫索引的可選的實施例的流程圖。
圖7A-7C示出了具有標(biāo)明的凸點(diǎn)(salient point)和鏈接的凸點(diǎn)的聲頻譜圖。
圖8A-8C說明了圖3的方法的索引集合、索引列表、和主索引列表。
圖9A-9C說明了圖1的方法的索引列表、候選列表、和散布列表(scatterlist)。
圖10A-10B分別是說明未知的聲音樣本的正確辨認(rèn)和辨認(rèn)不足的散布圖。
具體實施方式本發(fā)明提供一種用于在已給定包含大量的已知媒體文件的數(shù)據(jù)庫的情況下,識別外來的媒體樣本的方法。還提供一種用于產(chǎn)生數(shù)據(jù)庫索引的方法,所述的數(shù)據(jù)庫索引允許使用本發(fā)明的識別方法進(jìn)行有效搜索。盡管下述討論主要涉及音頻數(shù)據(jù),應(yīng)該理解,本發(fā)明的方法可以適用于任何類型的媒體樣本和媒體文件,包括但不限于文本、音頻、視頻、圖像、和單個媒體類型的任何多媒體組合。在音頻的情況中,本發(fā)明對識別包含高度線性或非線性失真的樣本特別有用,其中,所述的失真是由于,例如,背景噪聲、傳輸錯誤和信息遺失、干擾、帶寬受限制的濾波、量化、時間變形、以及語音質(zhì)量數(shù)字壓縮所造成的。隨著從下文的描述中將變得清晰,本發(fā)明之所以在這樣的條件下起作用,是因為即使只有小一部分計算出的特征幸免于失真,其也可以正確地識別失真的信號。通過本發(fā)明可以識別任何類型的音頻信號,包括聲音、語音、音樂、或多個類型的結(jié)合。音頻樣本的例子包括所記錄的音樂、無線廣播節(jié)目、以及廣告。
如這里所使用的,外來的媒體樣本是從如下文中所描述的多種來源獲取的任意大小的媒體數(shù)據(jù)的片斷。為了執(zhí)行識別,樣本必須是已在本發(fā)明所使用的數(shù)據(jù)庫中索引的媒體文件的一部分的再現(xiàn)。所述的被索引的媒體文件可以看作是原始記錄,而樣本則為原始記錄的失真和/或刪節(jié)的版本或者再現(xiàn)。典型地,樣本只與被索引文件的一小部分一致。例如,可以對在數(shù)據(jù)庫中索引的五分鐘長的歌曲的十秒鐘片斷執(zhí)行識別。盡管用術(shù)語“文件”描述被索引的實體,但是所述的實體可以是任何能夠獲取必要值(如下所述的)的形式。而且,在獲取該值后,不需要存儲或訪問該文件。
圖1示出了概念上說明本發(fā)明的方法10的全部步驟的方框圖。下文中更詳細(xì)地描述了各個步驟。本方法辨認(rèn)選中的媒體文件,即一種其特征指紋的相對位置與外來的樣本的同樣的指紋的相對位置最接近地匹配。在步驟12中捕獲到外來的樣本之后,就在步驟14中計算標(biāo)志和指紋。標(biāo)志出現(xiàn)于樣本中特定的位置,即,時間點(diǎn)。標(biāo)志在樣本中的位置最好由樣本自身確定,即,依賴于樣本品質(zhì),并且是可再生的。也就是說,每次重復(fù)處理時,為相同的信號計算相同的標(biāo)志。對于每一個標(biāo)志,指紋在所獲標(biāo)志處或其附近描述樣本的一個或多個特征。特征與標(biāo)志的接近程度(nearness)通過所使用的指紋處理方法來定義。在某些情況中,如果特征明顯地與一個標(biāo)志一致而與先前或隨后的標(biāo)志不一致,則認(rèn)為該特征接近于該標(biāo)志。在其它情況中,特征與多個鄰近的標(biāo)志一致。例如,文本指紋可以是字串(word string);音頻指紋可以是聲頻譜(spectral)分量;而圖像指紋可以是像素紅綠藍(lán)(RGB)值。下文中描述了步驟14的兩個一般實施例,一個實施例中依次計算標(biāo)志和指紋,而另一個實施例中同時計算標(biāo)志和指紋。
在步驟16中,樣本指紋被用來檢索存儲在數(shù)據(jù)庫索引18中的多組匹配的指紋,在所述的數(shù)據(jù)庫索引18中,匹配的指紋與一組媒體文件的標(biāo)志和標(biāo)識符相關(guān)聯(lián)。然后,使用該組被檢索的文件標(biāo)識符和標(biāo)志值,來產(chǎn)生一致對(correspondence pair)(步驟20),所述的一致對包含樣本標(biāo)志(在步驟14中計算出的)和被檢索的文件標(biāo)志,在此計算出了相同的指紋。然后,作為結(jié)果的一致對按歌曲標(biāo)識符分類,為每個可用的文件產(chǎn)生樣本標(biāo)志與文件標(biāo)志之間的多組一致。掃描每一組,以進(jìn)行文件標(biāo)志與樣本標(biāo)志之間的校準(zhǔn)。也就是說,辨認(rèn)各對標(biāo)志中的線性一致,并根據(jù)線性相關(guān)的對的數(shù)目對該組評分。當(dāng)大量相對應(yīng)的樣本位置與文件位置可以在一定的容限內(nèi)用充分相同的線性方程描述時,就出現(xiàn)線性一致。例如,如果描述一組一致對的多個方程的斜率在±5%范圍內(nèi)變化,那么該整組一致可以看作是線性相關(guān)的。當(dāng)然,可以選擇任何合適的容限。具有最高分,即具有最大量的線性相關(guān)的一致的組的標(biāo)識符,是選中的文件標(biāo)識符,被確定其位置,并在步驟22中返回。
如下文中進(jìn)一步描述的,可以用與數(shù)據(jù)庫中實體的數(shù)目的對數(shù)成正比的時間分量執(zhí)行識別?;旧?,可以實時地執(zhí)行識別,即使用很大的數(shù)據(jù)庫。也就是說,在獲取樣本之時,以小的時間滯后,就可以識別樣本。本方法可以基于5-10秒,甚至低至1-3秒的片斷辨認(rèn)聲音。在一個優(yōu)選實施例中,隨著在步驟12中捕獲樣本,實時執(zhí)行標(biāo)志處理和指紋處理分析,即步驟14。當(dāng)樣本指紋變?yōu)榭捎脮r,就執(zhí)行數(shù)據(jù)庫查詢(步驟16),并積累一致結(jié)果,周期性地掃描線性一致。這樣,本方法的所有步驟同時發(fā)生,而非圖1中所建議的依次線性樣式。需要注意的是,本方法與文本搜索引擎是部分地相似的用戶提交查詢樣本,并返回在聲音數(shù)據(jù)庫中索引的匹配文件。
典型地,本方法作為在計算機(jī)上運(yùn)行的軟件實現(xiàn),其中,各個步驟作為獨(dú)立的軟件模塊最有效地實現(xiàn)。這樣,實現(xiàn)本發(fā)明的系統(tǒng)可以認(rèn)為由標(biāo)志處理和指紋處理的對象、被索引的數(shù)據(jù)庫、和分析對象組成,用于搜索數(shù)據(jù)庫索引,計算一致,并辨認(rèn)選中的文件。在依次標(biāo)志處理和指紋處理的情況中,標(biāo)志處理和指紋處理的對象可以被認(rèn)為是不同的標(biāo)志處理和指紋處理的對象。用于不同對象的計算機(jī)指令代碼存儲在一個或多個計算的存儲器中,并由一個或多個計算機(jī)處理器執(zhí)行。在一個實施例中,代碼對象與諸如基于英特爾的(intel-based)個人計算機(jī)或其它工作站之類的單個計算機(jī)系統(tǒng)集群(cluster)在一起。在一個優(yōu)選實施例中,本方法是通過中央處理器(CPU)的網(wǎng)絡(luò)的集群來實現(xiàn)的,其中,不同的處理器執(zhí)行不同的軟件對象,以便分散計算量。作為選擇,每個CPU可以有所有軟件對象的副本,允許全同配置的元件的對等網(wǎng)絡(luò)(homogeneous network)。在這種后者的配置中,每一個CPU具有數(shù)據(jù)庫索引的子集,并負(fù)責(zé)搜索其自己的媒體文件的子集。
盡管本發(fā)明不限于任何特定的硬件系統(tǒng),圖2中概略地說明了分布式的計算機(jī)系統(tǒng)30的一個優(yōu)選實施例的例子。系統(tǒng)30包含一個集群的基于Linux的(Linux-based)處理器32a-32f,這些處理器是通過多處理總線結(jié)構(gòu)(multiprocessing bus architecture)34或諸如Beowulf集群計算機(jī)協(xié)議之類的連網(wǎng)協(xié)議,或兩者的混合,來連接的。在這樣的安排下,數(shù)據(jù)庫索引最好存儲在集群中的至少一個節(jié)點(diǎn)32a上的隨機(jī)存取存儲器(RAM)中,以確保非常迅速地進(jìn)行指紋搜索。與其它對象相對應(yīng)的諸如標(biāo)志處理節(jié)點(diǎn)32c和32f、指紋處理節(jié)點(diǎn)32b和32e、以及校準(zhǔn)掃描節(jié)點(diǎn)32d之類的計算節(jié)點(diǎn),不需要與支持?jǐn)?shù)據(jù)庫索引的節(jié)點(diǎn)或多個節(jié)點(diǎn)32a一樣多的隨機(jī)存取存儲器。這樣,指定給每個對象的計算節(jié)點(diǎn)的數(shù)目可以根據(jù)需要而調(diào)節(jié),使得沒有單個對象成為瓶頸。所以,計算網(wǎng)絡(luò)是高度可并行的,且可以額外地處理被分布在可用的計算資源中的多個同時信號識別查詢。這表明,這使得大量的用戶可以請求識別并接近實時地接收結(jié)果的應(yīng)用成為可能。
在一個作為選擇的實施例中,某些功能對象會更緊密地耦合在一起,而與其它對象保持較不緊密的耦合。例如,標(biāo)志處理和指紋處理對象可以存在于與其它計算對象在物理上分離的位置。一個這種例子是標(biāo)志處理和指紋處理對象與信號捕獲處理的緊密聯(lián)合。在這種安排下,標(biāo)志處理和指紋處理對象可以作為要嵌入的附加的硬件或軟件并入,例如,移動電話、無線應(yīng)用協(xié)議(WAP)瀏覽器、個人數(shù)字助理(PDA)、或其它諸如音頻搜索引擎的客戶端之類的遠(yuǎn)程終端。在基于因特網(wǎng)的諸如內(nèi)容標(biāo)識服務(wù)之類的音頻搜索服務(wù)中,標(biāo)志處理和指紋處理對象可以并入客戶瀏覽器應(yīng)用程序中,作為軟件指令或諸如微軟動態(tài)連接庫(DLL)之類的軟件插入模塊的被連接的組。在這些實施例中,所結(jié)合的信號捕獲、標(biāo)志處理、以及指紋處理對象,構(gòu)成了該服務(wù)的客戶端。客戶端向服務(wù)器端發(fā)送所捕獲的信號樣本的抽取特征(feature-extracted)的摘要,所述的信號樣本包含標(biāo)志和指紋對,而服務(wù)器端執(zhí)行該識別。向服務(wù)器端發(fā)送這種抽取特征的摘要而不是未加工的捕獲的信號是有利的,因為大大地減少了數(shù)據(jù)量,通常以500或更大的因數(shù)減少。這樣的信息,可以通過低帶寬側(cè)信道,連同或代替例如發(fā)送到服務(wù)器的音頻流,被實時地發(fā)送。這使得能夠在公共通訊網(wǎng)絡(luò)上執(zhí)行本發(fā)明,所述的公共通訊網(wǎng)絡(luò)為每個用戶提供相對小的帶寬。
現(xiàn)在將參考音頻樣本和在聲音數(shù)據(jù)庫中索引的音頻文件來描述本方法。本方法由兩個主要的成分構(gòu)成,即聲音數(shù)據(jù)庫索引構(gòu)建和樣本識別。
數(shù)據(jù)庫索引構(gòu)建在可以執(zhí)行聲音識別之前,必須構(gòu)建可搜索的聲音數(shù)據(jù)庫索引。如這里所使用的,數(shù)據(jù)庫是數(shù)據(jù)的任意索引的集合,而且不限于商業(yè)可用的數(shù)據(jù)庫。在數(shù)據(jù)庫索引中,數(shù)據(jù)的相關(guān)元素彼此關(guān)聯(lián),且每個元素可以被用于檢索所關(guān)聯(lián)的數(shù)據(jù)。聲音數(shù)據(jù)庫索引包含針對記錄的所選擇的集合或庫中的每個文件或記錄的索引集合,所述的記錄包括演講、音樂、廣告、聲納簽名(sonarsignature)、或其它聲音。每個記錄也具有唯一的標(biāo)識符、聲音_ID(sound_ID)。聲音數(shù)據(jù)庫本身不需要為每個記錄存儲音頻文件,但是聲音_ID可以被用于檢索來自別處的音頻文件。期望聲音數(shù)據(jù)庫索引非常大,包含針對數(shù)百萬或甚至上億的文件的索引。新記錄最好以遞增的方式添加到數(shù)據(jù)庫索引中。
圖3中示出了用于根據(jù)第一個實施例來構(gòu)建可搜索聲音數(shù)據(jù)庫索引的優(yōu)選方法40的方框圖。在本實施例中,首先計算標(biāo)志,然后在標(biāo)志處或其附近計算指紋。本領(lǐng)域中一般技術(shù)人員將會明白,可以設(shè)計用于構(gòu)建數(shù)據(jù)庫索引的作為選擇的方法。尤其是,下面所列許多步驟是可選的,但是用于產(chǎn)生更有效搜索的數(shù)據(jù)庫索引。雖然搜索效率對于從大型數(shù)據(jù)庫進(jìn)行實時聲音識別很重要,但是,小型數(shù)據(jù)庫可以相對快地搜索,即使其沒有被最優(yōu)地分類。
為索引聲音數(shù)據(jù)庫,集合中的每個記錄都經(jīng)受標(biāo)志處理和指紋處理分析,來為每個音頻文件產(chǎn)生一個索引集合。圖4概略地說明了已經(jīng)計算了標(biāo)志(LM)和指紋(FP)的聲音記錄的片斷。標(biāo)志在聲音的特定的時間點(diǎn)出現(xiàn),并具有從文件的開頭偏移的時間單位的值,而指紋在特定的標(biāo)志處或其附近描述聲音的特征。這樣,在本實施例中,針對特定的文件的每個標(biāo)志都是唯一的,而相同的指紋卻可以在單個文件或多個文件內(nèi)出現(xiàn)許多次。
在步驟42,使用在聲音記錄內(nèi)發(fā)現(xiàn)與眾不同且可再生的位置的方法,對每個音樂記錄作標(biāo)志。優(yōu)選的標(biāo)志處理算法能夠在聲音記錄中標(biāo)明相同的時間點(diǎn),而不管噪聲和其它線性及非線性失真的存在。某些標(biāo)志處理方法在概念上獨(dú)立于下述的指紋處理過程,但其可以被選擇以優(yōu)化其性能。標(biāo)志處理導(dǎo)致聲音記錄中的一列時間點(diǎn){landmarkk},隨后在這些時間點(diǎn)計算指紋。好的標(biāo)志處理方案在聲音記錄中每秒標(biāo)明大約5-10個標(biāo)志;當(dāng)然,標(biāo)志密度依賴于聲音記錄中的活動(activity)的量。
多種技術(shù)可用于計算標(biāo)志,其都在本發(fā)明的范圍之內(nèi)。用來實現(xiàn)本發(fā)明的標(biāo)志處理方案的詳細(xì)技術(shù)處理是本領(lǐng)域所公知的,故不再詳細(xì)討論。一種簡單的標(biāo)志處理技術(shù)被公知為功率范數(shù)(Power Norm),在記錄中的每一個可能的時間點(diǎn)處計算瞬時功率,并選擇局部最大值。這樣做的一種方式是通過對波形進(jìn)行直接校正并濾波來計算包絡(luò)。另一種方式為計算信號的希爾伯特變換(積分),并使用希爾伯特變換和原始信號的平方值的和。
標(biāo)志處理的功率范數(shù)方法長于發(fā)現(xiàn)聲音信號中的瞬變。功率范數(shù)實際上是更一般的頻譜Lp范數(shù)在p=2時的特殊情況。一般的頻譜Lp范數(shù)是通過計算短時頻譜,而沿聲音信號的每一時刻計算的,例如,通過Hanning-windowed快速傅立葉變換(FFT)。一個優(yōu)選實施例使用8000Hz的采樣速率、1024個樣本的快速傅立葉變換幀尺寸、以及每個時間段64個樣本的步幅。然后計算頻譜分量的絕對值的p次方之和作為針對每個時間段的Lp范數(shù),可選地,再求p次方根。如前所述,在時間上選擇結(jié)果值的局部最大值作為標(biāo)志。圖5示出了頻譜Lp范數(shù)方法的一個例子,即針對特定的聲音信號的L4范數(shù)作為時間的函數(shù)的圖。局部最大值處的虛線表明所選標(biāo)志的位置。
當(dāng)p=∞時,L∞范數(shù)實際上是最大值范數(shù)。也就是說,范數(shù)的值是頻譜段中最大頻譜分量的絕對值。該范數(shù)帶來強(qiáng)壯的(robust)標(biāo)志和良好的整體識別性能,并最好是用于音調(diào)的(tonal)音樂。
作為選擇,通過在固定的或彼此可變的偏移處,求多個時間段上的頻譜分量的絕對值p次方之和,來計算“多段”頻譜標(biāo)志,而不是單個段。發(fā)現(xiàn)該擴(kuò)展的總和的局部最大值,允許多段指紋的位置的最優(yōu)化,如下所述。
一旦計算了標(biāo)志,在步驟44中,在記錄中的每個標(biāo)志時間點(diǎn)處計算指紋。一般地,指紋是概括在記錄中該時間點(diǎn)處或其附近的一組特征的一個或一組值。在當(dāng)前的優(yōu)選實施例中,每個指紋是單個數(shù)字值,其為多個特征的隱(hashed)函數(shù)。指紋的可能類型包括頻譜段指紋、多段指紋、線性預(yù)測編碼系數(shù)、以及倒頻譜系數(shù)。當(dāng)然,任何類型的、描述信號或標(biāo)志附近信號的特征的指紋都在本發(fā)明的范圍之內(nèi)??梢酝ㄟ^對信號的任何類型的數(shù)字信號處理或頻率分析,來計算指紋。
為產(chǎn)生頻譜段指紋,在每個標(biāo)志時間點(diǎn)的附近執(zhí)行頻率分析,以抽取最高的幾個頻譜尖峰。簡單的指紋值正好是最強(qiáng)頻譜尖峰的單個頻率值。使用這樣的簡單的尖峰,帶來在存在噪聲的情況中的令人驚訝的良好識別;然而,與其它指紋方案相比,單頻譜段指紋往往產(chǎn)生更多的假正值(false positive),因為其不是唯一的。可以通過使用由兩個或三個最強(qiáng)頻譜尖峰的一個函數(shù)構(gòu)成的指紋,來減少假正值的數(shù)目。然而,如果第二強(qiáng)頻譜尖峰不夠強(qiáng),不足以從存在的噪聲中的競爭者中識別出,那么就可能對噪聲更敏感。也就是說,所計算指紋值可能不夠強(qiáng)壯,而不能可靠地再現(xiàn)。盡管如此,這種情況的性能也是好的。
為了利用許多聲音的時間演化,通過向標(biāo)志時間點(diǎn)添加一組時間偏移,來確定一組時間段。在每個所得時間段,計算頻譜段指紋。然后組合所得的這組指紋信息,以形成一個多頻聲(multitone)或多段指紋。每個多段指紋遠(yuǎn)比單頻譜段指紋更獨(dú)特,因為,其跟蹤時間演化,帶來在下述的數(shù)據(jù)庫索引搜索中的假匹配較少。實驗表明,由于其增強(qiáng)的獨(dú)特征,從兩個時間段中的每一個中的單個最強(qiáng)頻譜尖峰計算出的多段指紋,帶來在隨后的數(shù)據(jù)庫索引搜索中快得多的計算(大約快100倍),但是當(dāng)存在顯著的噪聲時,識別百分率有一些下降。
作為選擇,若不使用固定的便置或來自給定的時間段的偏移來計算多段指紋,則可以使用可變的偏移。對所選擇的段的可變的偏移是,指紋從“錨(anchor)”標(biāo)志到下一個標(biāo)志、或到一定的偏移范圍內(nèi)的標(biāo)志的偏移。在這種情況中,標(biāo)志之間的時間差值,連同多頻率信息,也被編碼到指紋中。通過向指紋添加更多維數(shù),它們就會變得更加獨(dú)特,且具有更低的假匹配的機(jī)會。
除頻譜分量之外,可以抽取其它頻譜特征,并用作指紋。線性預(yù)測編碼分析,線性地抽取信號的諸如頻譜尖峰、以及頻譜形裝之類的可預(yù)測特征。線性預(yù)測編碼是數(shù)字信號處理領(lǐng)域中所公知的。對于本發(fā)明,通過將已量化的線性預(yù)測編碼系數(shù)隱藏(hashing)進(jìn)索引值中,可以將錨在標(biāo)志位置處的波形段的線性預(yù)測編碼系數(shù)用作指紋。
倒頻譜系數(shù)在測量周期性時有用,并且可以被用于描述諸如語音或許多樂器之類的諧和的信號。倒頻譜分析是數(shù)字信號處理領(lǐng)域中所公知的。對于本發(fā)明,許多倒頻譜系數(shù)被一起隱藏進(jìn)索引中,并用作指紋。
圖6中示出了一個作為選擇的實施例50,在其中,同時計算標(biāo)志和指紋。圖3的步驟42和44被步驟52、54、和56所取代。如下所述的,在步驟52中,從聲音記錄計算多維函數(shù),并從該函數(shù)中抽取標(biāo)志54和指紋56。
在圖6的實施例的一種實現(xiàn)中,從聲音記錄的聲頻譜圖中計算標(biāo)志和指紋。聲頻譜圖是聲音記錄的時間-頻率分析,在所述的聲音記錄中,對聲音樣本的窗口的(windowed)且重疊的幀做聲頻譜分析,典型地,使用快速傅立葉變換。如前所述,一個優(yōu)選實施例使用8000Hz的采樣速率、1024個樣本的快速傅立葉變換幀尺寸、以及每個時間段64個樣本的步幅。圖7A中示出了頻譜圖的一個例子。時間在水平軸上,而頻率在垂直軸上。每個連續(xù)的快速傅立葉變換幀沿水平軸以相對應(yīng)的等距間隔垂直堆疊。聲頻譜圖描繪每一時間頻率點(diǎn)的能量密度;圖中較黑的區(qū)域代表較高的能量密度。聲頻譜圖是音頻信號處理領(lǐng)域中所公知的。對于本發(fā)明,可以從多個凸點(diǎn)中獲取標(biāo)志和指紋,所述的凸點(diǎn)如圖7B的聲頻譜圖中圈出的聲頻譜圖局部最大值。例如,獲取了每個尖峰的時間和頻率坐標(biāo),其中,時間用作標(biāo)志,而頻率用來計算相對應(yīng)的指紋。這種頻譜圖尖峰標(biāo)志與L∞范數(shù)相似,在L∞范數(shù)中,由范數(shù)的最大絕對值確定標(biāo)志位置。然而,在該聲頻譜圖中,局部最大值搜索在時間-頻率平面的斑點(diǎn)上進(jìn)行,而不是在整個時間段上進(jìn)行。
在本文中,將從聲音記錄的點(diǎn)抽取分析中而得來的凸點(diǎn)的集合稱為星座(constellation)。對于由局部最大值構(gòu)成的星座,優(yōu)選分析為選擇多個點(diǎn),所述的多個點(diǎn)是每個所選點(diǎn)附近的時間-頻率平面的最大能量值。例如,如果坐標(biāo)(t0,f0)處的一個點(diǎn)在一個矩形內(nèi)是最大能量值點(diǎn),就選擇坐標(biāo)(t0,f0)處的點(diǎn),其中,所述的矩形的角坐標(biāo)為(t0-T,f0-F)、(t0-T,f0+F)、(t0+T,f0-F)、以及(t0+T,f0+F),即邊長為2T和2F的矩形,而T和F被選擇來提供適當(dāng)數(shù)目的星座點(diǎn)。也可以根據(jù)頻率值改變矩形的范圍的大小。當(dāng)然可以使用任何的區(qū)域形狀。還可以對最大能量值標(biāo)準(zhǔn)加權(quán),這樣,競爭時間-頻率能量尖峰根據(jù)時間-頻率平面中的距離量度(metric)而被逆加權(quán),即越遠(yuǎn)的點(diǎn)加權(quán)越小。例如,能量可以被加權(quán)為S(t,f)1+Ct(t-t0)2+Cf(f-f0)2,]]>其中,S(t,f)是聲頻譜圖在點(diǎn)(t,f)處的幅度(magnitude)平方值,而Ct和Cf是正數(shù)值(不必是常數(shù))。也可以是其它距離加權(quán)函數(shù)。局部最大值選擇約束可以應(yīng)用到其它(非最大值)凸點(diǎn)特征抽取方案,且在本發(fā)明的范圍之內(nèi)。
本方法帶來與上述的單頻譜指紋非常相似的、有著許多相同的屬性的值對。聲頻譜圖時間-頻率方法比單頻方法產(chǎn)生更多標(biāo)志/指紋對,但是在下述的匹配階段也可以得到許多假匹配。然而,其比單頻譜指紋提供更強(qiáng)壯的標(biāo)志處理和指紋處理,因為可以使聲音樣本中的強(qiáng)勢噪聲不擴(kuò)展到每一段中聲頻譜的所有部分。也就是說,在聲頻譜的多個部分中,非常有可能有某些標(biāo)志和指紋對沒有被強(qiáng)勢噪聲所影響。
聲頻譜圖標(biāo)志處理和指紋處理方法是特征分析方法的特殊情況,所述的特征分析方法計算聲音信號的多維函數(shù),并在函數(shù)值中確定凸點(diǎn)的位置,其中,有一維是時間。凸點(diǎn)可以是局部最大值、局部最小值、零交叉(zerocrossings)、或其它與眾不同的特征。標(biāo)志被作為凸點(diǎn)的時間坐標(biāo),而從其余的坐標(biāo)中的至少一個來計算相對應(yīng)的指紋。例如,多維凸點(diǎn)的非時間坐標(biāo)可以隱藏(hashed)在一起,以形成多維函數(shù)的指紋。
上述的用于多段頻譜指紋的可變的偏移方法可被應(yīng)用于聲頻譜圖或其它多維函數(shù)指紋。在這種情況中,如圖7C中所示的聲頻譜圖中所說明的,星座中的點(diǎn)被鏈接在一起而形成鏈接的點(diǎn)。星座中的每個點(diǎn)用作定義標(biāo)志時間的錨點(diǎn),其它點(diǎn)的其余坐標(biāo)值被結(jié)合以形成鏈接的指紋。例如,彼此接近的點(diǎn),如下所定義,被連接在一起形成更復(fù)雜的聚合體(aggregate)特征指紋,其可以更容易地被區(qū)分和搜索。和用多段頻譜指紋一樣,將信息從多鏈接的凸點(diǎn)結(jié)合到單個指紋中的目的是創(chuàng)建更多多樣性的可能的指紋值,從而減少假匹配的可能性,即,減少用相同的指紋描述兩個不同的音樂樣本的可能性。
在原理上,在兩點(diǎn)連接方案中,N個凸點(diǎn)的每一個都可以鏈接到每一個其它點(diǎn),產(chǎn)生大約N2/2個組合。相似地,對于K點(diǎn)連接,從一個星座引起的可能的組合的數(shù)目的量級是NK。為了避免這樣的組合的激增,期望能約束將要連接在一起的點(diǎn),使之相鄰。完成這一約束的一種方式是為每個錨點(diǎn)定義一個“目標(biāo)區(qū)域”。然后一個錨點(diǎn)與其目標(biāo)區(qū)域中的多個點(diǎn)相連接。也可以選擇目標(biāo)區(qū)域內(nèi)的點(diǎn)的子集來連接——并非每一個點(diǎn)都需要被連接。例如,只可以連接與目標(biāo)區(qū)域中最強(qiáng)尖峰相關(guān)聯(lián)的點(diǎn)。目標(biāo)區(qū)域可以具有固定的形狀,或根據(jù)錨點(diǎn)的特征而改變。對于聲頻譜圖尖峰星座的錨點(diǎn)(t0,f0)的目標(biāo)區(qū)域的簡單例子是使得t在間隔[t0+L,t0+L+W]中的聲頻譜圖帶中的點(diǎn)(t,f)的集合,其中,L是進(jìn)入將來的引子(lead),而W是目標(biāo)區(qū)域的寬度。在這種方案中,在目標(biāo)區(qū)域中允許所有的頻率。L或W可以是變量,例如,如果使用一種比率控制機(jī)制調(diào)整所產(chǎn)生的連接組合的數(shù)目。作為選擇,例如,通過約束目標(biāo)區(qū)域使得為頻率f在間隔[f0-F,f0+F]中,可以實現(xiàn)頻率限制,其中,F(xiàn)為邊界參數(shù)。頻率約束的一個優(yōu)點(diǎn)在于在心理聲學(xué)中,已知當(dāng)多個序列的音調(diào)具有彼此接近的頻率時,旋律往往更好地一致。這樣的約束可以使更多的“心理聲學(xué)上逼真的”識別性能成為可能。盡管為心理聲學(xué)建模不是本發(fā)明的必要目的。也可以考慮相反的規(guī)則,其中,f被選為在區(qū)域[f0-F,f0+F]之外。這迫使連接彼此頻率不同的點(diǎn),可以避免下述情況,即星座抽取人為因素產(chǎn)生結(jié)結(jié)巴巴(stuttering)的、時間接近且頻率相同的、多個序列的時間-頻率點(diǎn)。如其它位置參數(shù)那樣,F(xiàn)不必是常數(shù),并可以,例如,是f0的函數(shù)。
當(dāng)在指紋值中包括非錨凸點(diǎn)的時間坐標(biāo)時,必須使用相對時間值,以允許指紋為時間不變量。例如,指紋可以是(i)非時間坐標(biāo)值和/或(ii)多個凸點(diǎn)的相對應(yīng)的時間坐標(biāo)值的差值的函數(shù)。可以使用時間差值值,例如,關(guān)于錨點(diǎn)的,或在鏈接的集中的相繼的凸點(diǎn)之間的連續(xù)差值。可以將坐標(biāo)和差值放在鏈接的比特域(concatenated bit field)中,以形成隱藏的(hashed)指紋。由于本領(lǐng)域中的一般技術(shù)人員將會明白,存在將多組坐標(biāo)值映射到指紋值的許多其它方式,且都在本發(fā)明的范圍之內(nèi)。
這種方案的一個具體例子使用N>1個鏈接的聲頻譜圖尖峰,其坐標(biāo)為(tk,fk),k=1,...,N。然后,(i)取第一個尖峰的時間t1為標(biāo)志時間,以及(ii)時間差值Δtk=tk-t1,k=2,...,N,加上鏈接的尖峰的頻率fk,k=1,...N,被隱藏(hashed)在一起以形成指紋值。指紋可以從所有可用的Δtk和fk坐標(biāo)或其子集計算出。例如,如果需要,可以忽略某些或所有時間差值坐標(biāo)。
使用多點(diǎn)形成指紋的另一個優(yōu)點(diǎn)在于,可以使指紋編碼相對時間展寬不變,例如,當(dāng)以不同于原始記錄速度的速度播放聲音記錄時。這一優(yōu)點(diǎn)既適用于聲頻譜圖,又適用于時間段方法。注意到,在已展寬時間的信號中,時間差值值和頻率具有反比關(guān)系(例如,以因數(shù)二減少時間差值,會使得頻率加倍)。這種方法通過從指紋中移除時間展寬的方式將時間差值和頻率進(jìn)行結(jié)合,來利用了那種事實。
例如,在坐標(biāo)值為(tk,fk),k=1,...,N的N點(diǎn)聲頻譜尖峰的情況中,將要隱藏(hash)進(jìn)指紋中的可用的中介值(intermediate value)是Δtk=tk-t1,k=2,...,N,和fk,k=1,...N。然后,通過取多個頻率中的一個,比如說f1,作為參考頻率,并形成(i)其與其余頻率的商、和(ii)其與時間差值的乘積,可以使中介值關(guān)于時間展寬不變。例如,中介值可以是gk=fk/f1,k=2,...,N,和sk=Δtkf1,k=2,...,N。如果樣本以因數(shù)α加速,那么頻率fk變成αfk,而時間差值Δtk變成Δtk/α,這樣gk=αfk/αf1=fk/f1,而sk=(Δtk/α)(αf1)=Δtkf1。然后,使用函數(shù)將這些新中介值結(jié)合起來以形成獨(dú)立于時間展寬的隱藏的(hashed)指紋值。例如,可以通過將gk和sk值放入鏈接的比特域中來隱藏(hash)gk和sk值。
作為選擇,可以使用參考時間差值,例如Δt2來取代參考頻率。新的中介值被計算為(i)與其余時間差值的商Δtk/Δt2以及(ii)與頻率的乘積Δt2fk。這種情況等價于使用參考頻率,因為結(jié)果值可以從上面的gk和sk值的乘積以及商求出。頻率比率的倒數(shù)同樣可以有效地被使用;也可以用原始中介值的對數(shù)值的和與差分別代替積與商。任何通過這樣的換算(commutation)、代換(substitution)、以及置換(permutation)的數(shù)學(xué)操作所獲取的時間展寬獨(dú)立的指紋值都在本發(fā)明的范圍之內(nèi)。另外,可以使用多個參考頻率或參考時間差值,它們也使時間差值相對化。使用多個參考頻率或參考時間差值等價于使用單個參考值,因為可以通過對gk和sk值的算數(shù)操作實現(xiàn)相同的結(jié)果。
返回到圖3和圖6,通過上述方法的任何一個進(jìn)行標(biāo)志處理和指紋處理分析會帶來針對每個聲音_ID的索引集合,如圖8A所示。針對給定的聲音記錄的索引集合是一列值對(指紋,標(biāo)志)。典型地,每個被索引的記錄在其索引集合中有一千的量級的(指紋,標(biāo)志)對。在上述的第一個實施例中,標(biāo)志處理和指紋處理技術(shù)基本上是獨(dú)立的,可以視其為分離的且可交換的模塊。按照系統(tǒng)、信號品質(zhì)、或?qū)⒁蛔R別的聲音的類型,可以使用許多不同的標(biāo)志處理或指紋處理模塊中的一個。事實上,因為索引集合簡單地由多個值對組成,所以可以,而且往往最好是同時使用多個標(biāo)志處理和指紋處理方案。例如,一種標(biāo)志處理和指紋處理方案可能長于探測獨(dú)特的音調(diào)模式,但是不長于辨認(rèn)打擊樂,因為不同的算法可能有相反的屬性。使用多個標(biāo)志處理/指紋處理策略帶來更強(qiáng)壯且更豐富的識別性能的范圍。通過為某些種類的指紋保留某些范圍的指紋值,可以一起使用多種不同的指紋技術(shù)。例如,在32位指紋值中,可以用前3位限定后面的29位編碼的是8個指紋處理方案中的哪一個。
為將要在聲音數(shù)據(jù)庫中索引的每個聲音記錄產(chǎn)生索引集合之后,以允許快速(即對數(shù)時間)搜索的方式構(gòu)建可搜索的數(shù)據(jù)庫索引。這是在步驟46中通過構(gòu)建一列三元組(指紋,標(biāo)志,聲音_ID)來完成的,所述的三元組是通過向每個索引集合中的每個偶對(doublet)添加相對應(yīng)的聲音_ID而獲取的。針對所有聲音記錄的所有這些三元組被收集到大型索引列表中,圖8B中示出了其示例。然后,為了使隨后的搜索處理最優(yōu)化,根據(jù)指紋對該列三元組進(jìn)行分類。快速分類算法是本領(lǐng)域中所公知的,而且,在D.E.Knuth,The Art of ComputerProgramming(計算機(jī)編程的技術(shù)),Volume 3Sorting and Searching(分類與搜索),Reading,MassachusettsAddison-Wesly,1998中被廣泛地討論過,在此并入作為參考??梢允褂酶咝阅芊诸愃惴ㄔ贜logN時間內(nèi)對列表進(jìn)行分類,其中,N是列表中的項目的數(shù)目。
一旦索引列表被分類,在步驟48中通過分段將其進(jìn)行進(jìn)一步處理,這樣,列表中每個獨(dú)特的指紋被收集到新的主索引列表,圖8C中示出了它的一個例子。主索引列表中的每一個項目都包含指紋值和指向一列(標(biāo)志,聲音_ID)對的指針。按照被索引的記錄的數(shù)目和特征,給定的指紋可以在整個集合中出現(xiàn)幾百次甚至更多。將索引列表重新安排為主索引列表是可選的,但是節(jié)省存儲器,因為每個指紋值只出現(xiàn)一次。其也可以加速隨后的數(shù)據(jù)庫搜索,因為列表中的項目的有效的數(shù)目極大地減少為一列獨(dú)特的值。作為選擇,可以通過將每個三元組插入一個B-tree(B樹)來構(gòu)建主索引列表。如本領(lǐng)域中的一般技術(shù)人員所公知的,存在用于構(gòu)建主索引列表的其它可能性。主索引列表最好保留在諸如動態(tài)隨機(jī)存取存儲器(DRAM)之類的系統(tǒng)存儲器中,用于在信號識別期間快速訪問。主索引列表可以保留在系統(tǒng)內(nèi)的單個節(jié)點(diǎn)的存儲器中,如圖2中所說明的。作為選擇,主索引列表可以被分割成分配到多個計算節(jié)點(diǎn)中的塊。參考上文的聲音數(shù)據(jù)庫索引最好是圖8C中所說明的主索引列表。
聲音數(shù)據(jù)庫索引最好是離線(offline)構(gòu)建,并且當(dāng)識別系統(tǒng)中并入新的聲音時,就增加地更新。為更新列表,可以向主列表中的適當(dāng)?shù)奈恢貌迦胄碌闹讣y。如果新的記錄包含多個現(xiàn)有的指紋,那么向用于這些指紋的現(xiàn)有的列表添加相對應(yīng)的(標(biāo)志,聲音_ID)對。
識別系統(tǒng)使用如上所述地產(chǎn)生的主索引列表,對外來的聲音樣本執(zhí)行聲音識別,典型地,所述的聲音樣本是由希望辨認(rèn)該樣本的用戶所提供的。例如,用戶在廣播上聽到一首新歌曲,并想了解該歌曲的作者和名稱。該樣本可以源自諸如無線廣播、迪斯科舞廳、酒館、海底、聲音文件、音頻流片段、或立體聲系統(tǒng)之類的任何類型的環(huán)境,并且可以包含背景噪聲、信息遺失、或談話語音。在向系統(tǒng)提供音頻樣本以供識別之前,用戶可以將其存儲在諸如應(yīng)答機(jī)、計算機(jī)文件、磁帶錄音機(jī)、或電話或移動電話語音郵件系統(tǒng)之類的存儲設(shè)備中?;谙到y(tǒng)設(shè)置和用戶約束,音頻樣本從諸如立體聲系統(tǒng)、電視、光盤播放器、無線廣播、應(yīng)答機(jī)、電話、移動電話、因特網(wǎng)(Internet)流廣播、文件傳輸協(xié)議(FTP)、作為電子郵件附件的計算機(jī)文件、或傳送這樣的記錄材料的任何其它合適的裝置之類的任意數(shù)目的模擬或數(shù)字來源提供給本發(fā)明的識別系統(tǒng)。按照來源,樣本的形式可以是聲波、無線電波、數(shù)字音頻脈沖編碼調(diào)制(PCM)流、壓縮的數(shù)字音頻流(諸如杜比數(shù)字(Dolby Digital)或運(yùn)動畫面專家組3(MP3))、或因特網(wǎng)流廣播。用戶通過諸如電話、移動電話、網(wǎng)絡(luò)瀏覽器、或電子郵件之類的標(biāo)準(zhǔn)接口與識別系統(tǒng)進(jìn)行交互。樣本可以被系統(tǒng)捕獲并且實時處理,或者其可以被復(fù)制,用于從先前捕獲的聲音(例如聲音文件)進(jìn)行處理。在捕獲期間,音頻樣本被數(shù)字地采樣,并通過諸如麥克風(fēng)之類的采樣設(shè)備,將其發(fā)送到系統(tǒng)。按照捕獲方法,樣本可能會因信道或聲音捕獲設(shè)備的局限而經(jīng)受進(jìn)一步的劣化。
一旦聲音信號被轉(zhuǎn)換成數(shù)字形式,其被處理以便識別。如用于數(shù)據(jù)庫文件的索引集合的構(gòu)建,使用與用于處理聲音記錄數(shù)據(jù)庫的算法相同的算法,來為樣本計算標(biāo)志和指紋。如果對原始聲音文件的高度失真的再現(xiàn)的處理之后,能得到與針對原始記錄所獲得的相同的或相似的一組標(biāo)志和指紋對,那么,該方法是最優(yōu)的。針對聲音樣本的作為結(jié)果的索引集合是一組經(jīng)分析的值對(指紋,標(biāo)志),如圖9A中所示。
給定針對聲音樣本的多個對,搜索數(shù)據(jù)庫索引以確定潛在匹配的文件的位置。搜索按如下進(jìn)行通過在主索引列表中搜索fingerprintk,來處理未知的樣本的索引集合中的每個(fingerprintk,landmarkk)對。關(guān)于有序的列表的快速搜索算法是本領(lǐng)域中所公知的,并且,在D.E.Knuth,The Art of ComputerProgramming(計算機(jī)編程技術(shù)),Volume 3Sorting and Searching(分類與搜索),Reading,MassachusettsAddison-Wesly,1998中被廣泛地討論過。如果在主索引列表中發(fā)現(xiàn)了fingerprintk,那么,其相對應(yīng)的一列匹配的(landmark*j,sound_IDj)對被復(fù)制,并增補(bǔ)landmarkk,以形成形式為(landmarkk,landmark*j,sound_IDj)的一組三元組。在這種符號表示法中,星號(*)表明數(shù)據(jù)庫中的被索引的一個文件的標(biāo)志,而沒有星號的標(biāo)志指的是樣本。在某些情況中,最好是,匹配的指紋不需要是相同的,只需要是相似的;例如,在預(yù)先確定的閾值內(nèi),它們可以是不同的。匹配的指紋,不論是相同的還是相似的,都被稱為是等價的。三元組中的sound_IDj與具有帶星號的標(biāo)志的文件相對應(yīng)。這樣,每個三元組包含兩個不同的標(biāo)志,一個在數(shù)據(jù)庫索引中,而一個在樣本中,在這兩個不同的標(biāo)志處計算出等價的指紋。對所輸入的樣本的索引集合范圍內(nèi)的所有的k重復(fù)這種過程。將所有得到的三元組收集到一個大的候選列表中,如圖9B中所說明的。稱其為候選列表是因為其包含多個聲音文件的聲音_ID,通過它們的匹配的指紋的特點(diǎn),所述的聲音文件是用于辨認(rèn)外來的聲音樣本的候選者。
在編輯了候選列表之后,對其進(jìn)一步的處理是根據(jù)聲音_ID分段。做這件事情的一種方便的方式是通過聲音_ID對候選列表進(jìn)行分類,或?qū)⑵洳迦氲紹-樹。如上所述,在本領(lǐng)域中有大量的分類算法可用。該處理的結(jié)果是一列候選聲音_ID,其中,每一列都具有由樣本和文件標(biāo)志時間點(diǎn)對(landmarkk,landmark*j)組成一個散布列表,其中,可選地剝?nèi)チ寺曇鬫ID,如圖9C中所示。這樣,每一個散布列表包含一組相對應(yīng)的標(biāo)志,是根據(jù)它們的以等價的指紋值來描述的特征而相對應(yīng)的。
然后分析針對每個候選聲音_ID的散布列表,以確定該聲音_ID是否與樣本匹配。可以使用一個可選的閾值(thresholding)步驟,首先排除具有非常小的散布列表的潛在的大量的候選者。很明顯,在其散布列表中只有一個項目的候選者,即只有一個指紋與樣本一樣的候選者,不與樣本匹配??梢允褂萌魏未笥诨虻扔谝坏暮线m的閾值數(shù)目。
一旦確定了候選者的最終的數(shù)目,就確定了選中的候選者的位置。如果下面的算法不能確定選中的候選者的位置,則返回失敗消息。洞察匹配處理的關(guān)鍵在于假設(shè)兩邊的時間基(timebase)都是穩(wěn)定的,則在匹配的聲音中的時間演化必須遵循線性一致。這幾乎總是正確的,除非一個聲音已經(jīng)被故意地非線性地扭曲了,或經(jīng)受了諸如具有顫抖(warbling)速度問題的盒式錄放機(jī)之類的有缺陷的播放設(shè)備。這樣,給定的聲音_ID的散布列表中的正確標(biāo)志對(landmarkn,landmark*n)必須有如下形式的線性一致landmark*n=m*landmarkn+offset,其中,m是斜率,應(yīng)該接近一;landmarkn是外來的樣本內(nèi)的時間點(diǎn);landmark*n是通過聲音_ID索引的聲音記錄內(nèi)的相對應(yīng)的時間點(diǎn);而offset是偏移到與外來的聲音樣本的開頭相對應(yīng)的聲音記錄中的時間。能滿足針對m和offset的特定的值的上述方程的多個標(biāo)志對被稱為線性相關(guān)。顯然,線性相關(guān)的概念只對多于一對的相對應(yīng)的標(biāo)志有效。注意到,這種線性相關(guān)性以很高的概率辨認(rèn)正確的聲音文件,同時排除沒有重要性的無關(guān)標(biāo)志對。盡管對于兩個不同的信號可以包含許多一致的指紋,但是這些指紋非常不可能具有相同的相關(guān)的(relative)時間演化。對線性一致的要求是本發(fā)明的關(guān)鍵特征,并提供一種識別技術(shù),其顯著地優(yōu)于簡單地計數(shù)相同的特征的數(shù)目或測量特征之間的相似性之類的技術(shù)。事實上,由于本發(fā)明的這一方面,即使在外來的聲音樣本中出現(xiàn)的原始記錄的指紋少于1%,即,如果聲音樣本非常短,或如果其是顯著地失真的,仍然可以識別聲音。
這樣,確定是否有針對外來的樣本的匹配的問題,被簡化成等價于在給定的散布列表的標(biāo)志點(diǎn)的散布圖內(nèi)發(fā)現(xiàn)斜率接近一的對角線。圖10A和圖10B中示出了兩個樣本散布圖,其中,聲音文件標(biāo)志在水平軸上,而外來的聲音樣本標(biāo)志在垂直軸上。在圖10A中,辨認(rèn)了斜率近似等于一的一條對角線,表明該歌曲確實與該樣本匹配,即,該聲音文件是選中的文件。水平軸上的截距表明偏移到該音頻文件中,樣本在那里開始。在圖10B的散布圖中,沒有發(fā)現(xiàn)統(tǒng)計上有意義的對角線,表明該聲音文件與外來的樣本不匹配。
有很多種在散布圖中發(fā)現(xiàn)對角線的方法,所有這些方法都在本發(fā)明的范圍之內(nèi)。可以理解,短語“確定對角線的位置”指的是等價于確定對角線的位置而又不明顯地產(chǎn)生對角線的所有方法。一種優(yōu)選的方法開始于從上述方程的兩端減去m*landmarkn,將得到(landmark*n-m*landmarkn)=offset。
假設(shè)m近似等于一,即,假設(shè)沒有時間展寬,我們可以得到(landmark*n-landmarkn)=offset。
然后,對角線發(fā)現(xiàn)(diagonal-finding)問題,被簡化為發(fā)現(xiàn)針對給定的聲音_ID的、集群(cluster)在相同的offset值附近的多個標(biāo)志對。這一點(diǎn)可以通過從一個標(biāo)志減去另一個并收集所得偏移值的柱狀圖而容易地完成??梢酝ㄟ^使用快速分類算法對所得的偏移值進(jìn)行分類、或通過創(chuàng)建具有計數(shù)器的箱(bin)項目并插入到B-樹中,來準(zhǔn)備該柱狀圖。柱狀圖中的選中的偏移箱包含最大數(shù)目的點(diǎn)。在這里,這個箱被稱為柱狀圖的尖峰。因為,如果外來的聲音信號完全包含在正確的庫(library)聲音文件之中,則偏移必須為正,所以,可以排除導(dǎo)致負(fù)偏移的標(biāo)志對。類似地,也可以排除超出文件的結(jié)尾的偏移。為每個有資格的聲音_ID記錄在柱狀圖的選中的偏移箱內(nèi)的點(diǎn)的數(shù)目。這個數(shù)目成為針對每個聲音記錄的分值。選擇候選列表中的具有最高分值的聲音記錄為選中者。如下所述地,向用戶報告選中的聲音_ID,以發(fā)出通知辨認(rèn)成功的信號。為防止辨認(rèn)失敗,可以使用最小閾值分值以控制辨認(rèn)處理的成功。如果沒有分值超過閾值的庫聲音,那么,就沒有識別,并如此通知用戶。
如果外來的聲音信號包含多個聲音,則可以識別每個單獨(dú)的聲音。在這種情況中,在校準(zhǔn)掃描中確定多個選中者的位置。不需要知道聲音信號包含多個選中者,因為校準(zhǔn)掃描將確定分值遠(yuǎn)高于其余分值的多于一個的聲音_ID的位置。所使用的指紋方法最好展示出良好的線性重合(superposition),以便可以抽取多個單獨(dú)的指紋。例如,聲頻譜圖指紋處理方法展示出線性重合。
如果聲音樣本已經(jīng)經(jīng)受了時間展寬,則斜率不是一致地等于一。對以時間展寬的樣本(假設(shè)指紋是時間展寬不變量)假設(shè)一致的斜率的結(jié)果是所計算出的偏移值不是相等的。解決這一問題并提供適度的時間展寬的方式是增加偏移箱的尺寸,即,考慮為在一個偏移范圍內(nèi),是相等的。通常,如果多個點(diǎn)不落在一條直線上,則所計算的偏移值是顯著地不同的,而在偏移箱的尺寸上的輕微增加并不會產(chǎn)生顯著數(shù)目的假正值。
其它線發(fā)現(xiàn)(line-finding)策略是可以的。例如,可以使用T.Risse,“HoughTransform for Line Recognition(用于線識別的Hough變換)”,Computer Visionand Image Processing(計算機(jī)視覺和圖像處理),46,327-345,1989中描述的Radon或Hough變換,它們是機(jī)器視覺和圖形研究領(lǐng)域中所公知的。在Hough變換中,散布圖中的每個點(diǎn)在(斜率,偏移)空間中投影到一條直線。這樣,在Hough變換中,散布圖中的該組點(diǎn)被投影到多條直線的對偶空間(dual space)中。Hough變換中的尖峰與參數(shù)直線的交叉點(diǎn)相對應(yīng)。給定的散布圖的這樣的一個變換的全體的尖峰,表明Hough變換中交叉直線的最大數(shù)目,以及協(xié)同線性(co-linear)點(diǎn)的最大數(shù)目。為允許5%的速度變化,例如,可以將Hough變換的結(jié)構(gòu)限制到斜率參數(shù)在0.95與1.05之間變化的區(qū)域,這樣,節(jié)省一些計算量。
分級搜索除了排除具有非常小的散布列表的候選者的閾值步驟,還可以進(jìn)一步地提高效率。在一個這樣的提高中,根據(jù)出現(xiàn)的概率,數(shù)據(jù)庫索引被分段成至少兩部分,并且,起初只搜索具有匹配樣本的最高概率的聲音文件。該劃分可以出現(xiàn)在處理的各種階段。例如,主索引列表(圖8C)可以分段為兩個或更多個部分,這樣,步驟16和20首先在一個段上執(zhí)行。也就是說,只從數(shù)據(jù)庫索引的一部分中檢索與匹配的指紋相對應(yīng)的文件,并從這一部分中產(chǎn)生一個散布列表。如果沒有確定選中的聲音文件的位置,則對數(shù)據(jù)庫索引的其余部分重復(fù)該處理。在另一個實現(xiàn)中,從數(shù)據(jù)庫索引中檢索所有的文件,但是對角線掃描在不同的段上分離地執(zhí)行。
使用這種技術(shù),首先在數(shù)據(jù)庫索引中的聲音文件的小子集上執(zhí)行對角線掃描,所述的對角線掃描為本方法的計算量密集的部分。因為對角線掃描具有關(guān)于被掃描的聲音文件的數(shù)目近似成線性的時間分量,執(zhí)行這樣的分級搜索很有優(yōu)勢。例如,假設(shè)聲音數(shù)據(jù)庫索引包含代表1,000,000個聲音文件的指紋,但是只有大約1000個文件以很高的頻率匹配樣本查詢,例如95%的查詢是針對1000個文件的,而只有5%的查詢是針對其余的999,000個文件的。假設(shè)計算成本與文件的數(shù)目是線性相關(guān)的,則成本在95%的時間與1000成比例,而只有5%的時間與999,000成比例。從而平均成本大約與50,900成比例。這樣,分級搜索使計算量減小為二十分之一。當(dāng)然,也可以將數(shù)據(jù)庫索引分割成多于兩級,例如一組新發(fā)行的歌曲、一組最近發(fā)行的歌曲、和一組老的不流行的歌曲。
如上所述,首先對聲音文件的第一子集,即高概率文件,執(zhí)行搜索,然后,僅當(dāng)首次搜索失敗時,對包含其余文件的第二子集執(zhí)行搜索。如果每個偏移箱中的點(diǎn)的數(shù)目沒達(dá)到預(yù)定的閾值,則對角線掃描失敗。作為選擇,可以并行地(同時地)執(zhí)行這兩級搜索。如果在對第一子集的搜索中確定了正確的聲音文件的位置,則發(fā)出信號以終止對第二子集的搜索。如果沒有在對第一個搜索中確定出正確的聲音文件的位置,則繼續(xù)第二個搜索,直到確定選中的文件的位置。這兩種不同的實現(xiàn)涉及到在計算力(effort)和時間上的權(quán)衡。第一種實現(xiàn)有更好的計算效率,但是,如果第一個搜索失敗了,就引入了輕微的等待時間;而對于第二種實現(xiàn),如果選中的文件是在第一子集中,則會浪費(fèi)計算力,但是,當(dāng)選中的文件不是在第一子集中時,等待時間最小。
對列表分段的目的是估計一個聲音文件為查詢的目標(biāo)的概率,并將搜索限制在那些最有可能與查詢樣本匹配的文件中。有各種可能的方式來指定概率并對數(shù)據(jù)庫中的聲音分類,它們?nèi)慷荚诒景l(fā)明的范圍之內(nèi)。最好是,基于新舊程度和被識別為選中的聲音文件的頻率來指定概率。新舊程度是有用的量度,特別是對于流行歌曲,因為隨著新歌曲的發(fā)行,音樂興趣隨時間變化非常快。在計算概率分值之后,為文件指定等級,而列表按等級自分類(self-sort)。然后,已分類的列表被分段成兩個或更多個子集,用于搜索。較小的子集可以包含預(yù)定的數(shù)目的文件。例如,如果排列將文件定位于頂部,換句話說,1000個文件中,則將文件放置在較小的、更快的搜索中。作為選擇,可以動態(tài)調(diào)整用于兩個子集的分界點(diǎn)。例如,所有具有超過一個特定的閾值的分值的文件可以被放置在第一子集中,并因此,每個子集中的文件的數(shù)目連續(xù)變化。
計算概率的一種特定的方式是每當(dāng)一個聲音文件被辨認(rèn)為針對查詢樣本的一個匹配時,就給聲音文件的分值增加一。為說明新舊程度,周期性地降低所有記錄的分值,這樣,較新的查詢比較舊的查詢在排列上具有更強(qiáng)的效果。例如,可以通過對每個查詢使用常數(shù)乘法因數(shù),來變(ratchet)低所有的分值,使得如果未被更新,分值就呈指數(shù)衰減。按照數(shù)據(jù)庫中的文件的數(shù)目,該數(shù)目很容易達(dá)到一百萬,這種方法要求每次查詢時更新大量的分值,使得其潛在地不受歡迎。作為選擇,以相對不頻繁的間隔向下調(diào)整分值,比如每天一次。從較不頻繁的調(diào)整得到的順序,與從每次查詢時都調(diào)整得到的順序,是有效地相似的,但不十分一致。然而,更新等級的計算量非常低。
這種新舊程度調(diào)整的一個輕微變化是每當(dāng)查詢時,向選中的聲音文件添加指數(shù)增長的分值更新at,其中,t是從上次全體更新以來所經(jīng)過的時間的量,該變化更準(zhǔn)確地保持新舊程度分值。然后在每次全體更新時,通過將所有的分值除以aT,來向下調(diào)整所有的分值,其中,T是從上次全體更新以來所經(jīng)過的總的時間。在這中變化中,a是大于一的新舊因數(shù)。
除了上述的排列,可以引入某些推理知識,以幫助選擇列表中的種子候選者(seed)。例如,新發(fā)行的歌曲很可能比舊歌曲擁有更高的查詢數(shù)。這樣,新發(fā)行的歌曲可以被自動地放置在第一子集中,所述的第一子集包含具有匹配查詢的較高概率的歌曲。這可以獨(dú)立于上述的自排列算法而被執(zhí)行。如果也使用自排列特征,新發(fā)行的歌曲可以被指定初始等級,以將其放置在第一子集中的某個地方。新發(fā)行的歌曲可以被種子候選(seed)在列表的非常頂部的位置、高概率歌曲列表的底部、或兩者之間的某個地方。由于搜索的目的,初始位置并不重要,因為等級將隨時間而收斂,以反映真實的興趣水平。
在一個作為選擇實施例中,搜索是以新舊排列的順序來執(zhí)行的,并在聲音_ID值超過預(yù)定的閾值時終止。這與每段只包含一個聲音_ID的上述的方法是等價的。實驗表明,選中的聲音的分值遠(yuǎn)大于所有其它聲音文件的分值,并因此可以用最小限度的實驗來選擇合適的閾值。實現(xiàn)本實施例的一種方式是根據(jù)新舊程度排列數(shù)據(jù)庫索引中的所有的聲音_ID,并對相同分值的情況中進(jìn)行任意的重新評比(tie-breaking)。因為每個新舊程度排列是唯一的,所以新舊程度分值與聲音_ID之間是一一映射。于是,當(dāng)按聲音_ID分類時,可以使用排列來代替聲音_ID,以形成候選聲音_ID的列表和關(guān)聯(lián)的散布列表(圖9C)。在產(chǎn)生三元組(指紋,標(biāo)志,聲音_ID)的索引列表時,索引列表被分類為主索引列表之前,可以將排列號限定(bound)在索引中。然后,以排列代替聲音_ID。作為選擇,可以使用搜索和替換函數(shù)來用排列替換聲音_ID。只要保持映射完整性,隨著排列被更新,新的排列就被映射到舊的排列上。
作為選擇,在處理中,排列可以在稍后被限定(bound)。一旦創(chuàng)建了散布列表,排列可以與每個聲音_ID相關(guān)聯(lián)。然后,通過排列對多個集進(jìn)行分類。在這個實現(xiàn)中,只需要修改指向散布列表的指針;不需要重復(fù)分組成散布列表。稍后限定(bindings)的優(yōu)點(diǎn)是不需要在每次更新排列時重建整個數(shù)據(jù)庫索引。
注意到,流行度(popularity)排列本身就可以作為有經(jīng)濟(jì)價值的對象。也就是說,排列映用戶獲取一個未知的聲音樣本的辨認(rèn)的需求。在很多情況中,查詢是由購買該歌曲的欲望引起的。實際上,如果已知關(guān)于用戶的人口統(tǒng)計信息,那么可以為每個期望的人口統(tǒng)計群體實現(xiàn)作為選擇的排列方案??梢詮挠脩艉炗喿R別服務(wù)時要求的簡介信息獲取用戶的人口統(tǒng)計群體。也可以通過標(biāo)準(zhǔn)協(xié)作濾波技術(shù)(standard collaborsastive filtering technique)動態(tài)地確定。
在實時系統(tǒng)中,聲音隨時間遞增地提供給識別系統(tǒng),使得能夠流水(pipelined)識別。在這種情況中,可以分段處理輸入數(shù)據(jù),并遞增地更新樣本索引集合。在每次更新周期之后,使用上述的搜索和掃描步驟,最近增加的索引集合被用來檢索候選庫聲音記錄。從數(shù)據(jù)庫索引中搜索與最近獲取的樣本指紋匹配的指紋,并產(chǎn)生新的(landmarkk,landmark*j,sound_Dj)三元組。散布列表中添加了新的對,且柱狀圖也被增加。這一途徑的優(yōu)點(diǎn)在于如果已經(jīng)收集了可以毫不含糊地辨認(rèn)聲音記錄的充足數(shù)據(jù),例如,如果多個聲音文件中的一個的偏移箱中的點(diǎn)的數(shù)目超過一個高閾值或超過第二高的聲音文件分值,那么就可以終止數(shù)據(jù)采集并宣布結(jié)果。
一旦辨認(rèn)了正確的聲音,用任何合適的方法向用戶或系統(tǒng)報告結(jié)果。例如,結(jié)果可以通過計算機(jī)打印輸出、電子郵件、網(wǎng)絡(luò)搜索結(jié)果頁面、發(fā)給移動電話的短消息服務(wù)(SMS)、通過電話的計算機(jī)產(chǎn)生的語音通知、或?qū)⒔Y(jié)果公布到用戶可以稍后訪問的網(wǎng)站或因特網(wǎng)帳號上。所報告的結(jié)果可以包括諸如歌曲的名稱和作者、古典作品的作曲家和名稱以及記錄屬性(例如,演奏者、指揮、演出地)、廣告的公司和產(chǎn)品、或任何其它合適的標(biāo)識符之類的聲音的辨認(rèn)信息。另外,可以提供傳記信息、關(guān)于附近音樂會的信息、和其它歌迷感興趣的信息;可以提供到這類數(shù)據(jù)的超級鏈接。所報告的結(jié)果也可以包括聲音文件的絕對分值、或其與第二高分值的文件相比的分值。
本識別方法的一個有用的成果在于其不混淆相同聲音的兩個不同的表演。例如,古典音樂的同一篇章的不同演奏不會被認(rèn)為是相同的,即使人們不能察覺到兩者之間的差異。這是因為,針對兩次不同的演奏的標(biāo)志/指紋對與其時間演化,極不可能精確地匹配。在當(dāng)前的實施例中,標(biāo)志/指紋對彼此必須在10毫秒之內(nèi),以便辨認(rèn)為線性一致。作為結(jié)果,本發(fā)明所執(zhí)行的自動識別使得在所有情況下都可以信任合適的演奏/聲跡(soundtrack)和作者/標(biāo)簽。
實現(xiàn)的例子下面描述本發(fā)明的一個優(yōu)選的實現(xiàn),即連續(xù)滑動的窗口音頻識別。麥克風(fēng)或其它聲源被連續(xù)地采樣到緩沖器中,以獲取聲音的前N秒記錄。周期性地分析聲音緩沖器的內(nèi)容,以確定聲音內(nèi)容的一致性。聲音緩沖器可以具有固定的尺寸,或可以隨著聲音被采樣而增長尺寸,在這里,被稱為音頻樣本的順序增長段。給出報告以表明被辨認(rèn)的聲音記錄的出現(xiàn)。例如,可以收集日志文件,或在設(shè)備上顯示指示諸如標(biāo)題、藝術(shù)家、唱片封面畫、歌詞、或購買信息之類的關(guān)于音樂的信息。為避免冗余,可以只在所識別的聲音的一致性改變時給出報告,例如,在自動唱片點(diǎn)唱機(jī)節(jié)目改變之后。這樣的設(shè)備可以被用于創(chuàng)建從任何聲音流(無線廣播、因特網(wǎng)信息流廣播、隱藏的麥克風(fēng)、電話呼叫、等)播放的音樂的列表。除了音樂一致性,可以把諸如識別的時間之類的信息記入日志。如果位置信息是可獲得的(例如,從全球定位系統(tǒng)(GPS)),也可以把這類信息記入日志。
為完成該辨認(rèn),可以重新辨認(rèn)每個緩沖器。作為選擇,例如,可以將聲音參數(shù)抽取到指紋或其它中間的特征抽取的形式中,并存儲在第二個緩沖器中。新指紋可以被添加到第二個緩沖器的前端,并從該緩沖器的尾端丟棄舊指紋。這樣的一個滾動緩沖器方案的優(yōu)點(diǎn)在于,不需要對聲音樣本的重疊的舊段冗余地執(zhí)行相同的分析,這樣,來節(jié)省計算力。對滾動指紋緩沖器的內(nèi)容周期性地執(zhí)行辨認(rèn)處理。在小型便攜式設(shè)備的情況中,由于指紋流不是非常數(shù)據(jù)密集的,所以,可以在設(shè)備中執(zhí)行指紋分析,且可以使用相對低帶寬的數(shù)據(jù)信道將結(jié)果傳送給識別服務(wù)器。滾動指紋緩沖器可以被保留在便攜式設(shè)備中,并每次向識別服務(wù)器傳輸,或可以保留在識別服務(wù)器上,這種情況中,連續(xù)識別會話(session)被高速緩存(cache)在服務(wù)器上。
在這樣的一個滾動緩沖器識別系統(tǒng)中,一有充分的信息可用于識別,就可以識別新的聲音記錄。充足的信息可以占用小于緩沖器的長度。例如,如果一首與眾不同的歌曲在播放一秒鐘后就可以唯一的識別,并且系統(tǒng)識別周期為一秒鐘,那么,就可以立即識別該歌曲,盡管緩沖可以有15-30秒長。相反地,如果一首較少特色的歌曲要求更多秒鐘的樣本來識別,那么,在宣布歌曲的一致性之前,系統(tǒng)就必須等待較長的時期。在這種滑動窗口識別方案中,一有聲音可以被辨認(rèn),就可以識別該聲音。
需要非常注意的是,盡管已經(jīng)以完整功能的識別系統(tǒng)和方法描述了本發(fā)明,那些本領(lǐng)域中的技術(shù)人員將會明白,本發(fā)明的機(jī)制能夠以各種形式的指令的計算機(jī)可讀媒體的形式而被分配,并且,本發(fā)明可以平等地應(yīng)用,而不管用于實際執(zhí)行分配的信號承載媒體的具體類型。這類計算機(jī)可存取設(shè)備的例子包括計算機(jī)存儲器(隨機(jī)存取存儲器或只讀存儲器(ROM))、軟盤、和光盤只讀存儲器(CD-ROM),以及諸如數(shù)字和模擬通訊鏈接之類的傳輸類型的媒體。
權(quán)利要求
1.一種用于從媒體樣本辨認(rèn)媒體實體的方法,包括產(chǎn)生在所述媒體樣本的標(biāo)志和要識別的媒體實體的相對應(yīng)標(biāo)志之間的一致,其中所述媒體樣本的所述標(biāo)志和所述媒體實體的所述對應(yīng)標(biāo)志具有等價的指紋;以及如果多個所述的一致具有由下式定義的線性關(guān)系,則辨認(rèn)所述的媒體樣本和所述的媒體文件,landmark*n=m*landmarkn+offset,其中,landmarkn是樣本標(biāo)志,landmark*n是對應(yīng)于landmarkn的文件標(biāo)志,而m表示斜率。
2.如權(quán)利要求
1所述的方法,其中每個樣本指紋表示在所述樣本標(biāo)志或其附近所述媒體樣本的一個或多個特征,并且每個實體指紋表示在所述實體標(biāo)志或其附近所述媒體實體的一個或多個特征。
3.如權(quán)利要求
1所述的方法,其中所述媒體樣本是音頻樣本。
4.如權(quán)利要求
3所述的方法,其中所述實體指紋在包括時間的至少一個維度中表征在所述實體標(biāo)志或其附近所述媒體實體的一個或多個特征。
5.如權(quán)利要求
3所述的方法,其中所述樣本指紋對于所述音頻樣本的時間展寬是不變的。
6.如權(quán)利要求
5所述的方法,其中所述樣本指紋包括所述音頻樣本的各頻率分量的商。
7.如權(quán)利要求
3所述的方法,其中所述樣本標(biāo)志是在所述音頻樣本內(nèi)的時間點(diǎn)。
8.如權(quán)利要求
7所述的方法,其中所述時間點(diǎn)出現(xiàn)在所述音頻樣本的頻譜Lp范數(shù)的局部最大處。
9.如權(quán)利要求
3所述的方法,其中所述樣本指紋從所述音頻樣本的頻率分析被計算出。
10.如權(quán)利要求
3所述的方法,其中所述樣本指紋從由頻譜段指紋、線性預(yù)測編碼系數(shù)、和倒頻譜系數(shù)組成的組中選擇。
11.如權(quán)利要求
3所述的方法,其中,所述樣本指紋從所述音頻樣本的聲頻譜圖計算出。
12.如權(quán)利要求
11所述的方法,其中所述聲頻譜圖包括錨凸點(diǎn)和鏈接的凸點(diǎn)。
13.如權(quán)利要求
12所述的方法,其中所述樣本指紋從所述錨凸點(diǎn)和至少一個鏈接的凸點(diǎn)的頻率坐標(biāo)計算出。
14.如權(quán)利要求
13所述的方法,其中所述鏈接的凸點(diǎn)落入目標(biāo)區(qū)域內(nèi)。
15.如權(quán)利要求
14所述的方法,其中所述目標(biāo)區(qū)域由時間范圍定義。
16.如權(quán)利要求
14所述的方法,其中所述目標(biāo)區(qū)域由頻率范圍定義。
17.如權(quán)利要求
14所述的方法,其中所述目標(biāo)區(qū)域是可變的。
18.如權(quán)利要求
13所述的方法,其中所述指紋從所述鏈接的凸點(diǎn)和所述錨點(diǎn)的所述頻率坐標(biāo)兩者之間的商計算出,從而所述指紋為時間展寬不變。
19.如權(quán)利要求
13所述的方法,其中所述指紋還從所述錨點(diǎn)的所述的時間坐標(biāo)和所述鏈接的凸點(diǎn)的時間坐標(biāo)之間的至少一個時間差值計算出。
20.如權(quán)利要求
19所述的方法,其中所述指紋還從所述時間差之一和所述鏈接的凸點(diǎn)和所述錨點(diǎn)的所述頻率坐標(biāo)中的一個的乘積計算出,從而所述指紋為時間展寬不變。
21.如權(quán)利要求
13的方法,其中所述錨凸點(diǎn)和所述鏈接的凸點(diǎn)從由所述聲頻譜圖的局部最大值、局部最小值和零交叉組成的組中選擇。
專利摘要
本發(fā)明提供了一種用于從媒體樣本辨認(rèn)媒體實體的方法,該方法包括產(chǎn)生在所述媒體樣本的標(biāo)志和要識別的媒體實體的相對應(yīng)標(biāo)志之間的一致,其中所述媒體樣本的所述標(biāo)志和所述媒體實體的所述對應(yīng)標(biāo)志具有等價的指紋;以及如果多個所述的一致具有由下式定義的線性關(guān)系,則辨認(rèn)所述的媒體樣本和所述的媒體文件,landmark
文檔編號G10L15/26GK1996307SQ200610172572
公開日2007年7月11日 申請日期2001年7月26日
發(fā)明者埃弗里·L·C·王, 朱利葉斯·O·史密斯第三 申請人:蘭德馬克數(shù)字服務(wù)公司導(dǎo)出引文BiBTeX, EndNote, RefMan