專利名稱:用于自動檢測和標識廣播音頻或視頻節(jié)目信號的方法和裝置的制作方法
背景技術(shù):
和內(nèi)容本發(fā)明涉及廣播節(jié)目的自動檢測和標識,例如音樂或演講,其通過收音機、電視或因特網(wǎng)或電視信號被廣播,無論該廣播是以模擬、數(shù)字或通過英特網(wǎng)上的數(shù)字。通過“廣播”意味著任意有效的內(nèi)容源,無論是現(xiàn)在已知的還是今后發(fā)明的,包括,例如流線型、對等傳輸或下載或流動或者網(wǎng)絡(luò)流量的檢測,包括當前內(nèi)容傳送功率。該系統(tǒng)最初存儲已知的節(jié)目,通過數(shù)字采樣該節(jié)目并把數(shù)字采樣流分成大的時間上的片斷(segment)集合。接著處理這些片斷來抽取特定的特征集合,即片斷的特征。本發(fā)明處理每一組特征來產(chǎn)生數(shù)字代碼,其代表用于已知節(jié)目特定片斷的特征集合。這些代碼和標識節(jié)目的存儲數(shù)據(jù)存在作為系統(tǒng)一部分的數(shù)據(jù)庫中。一旦完成了一個或更多的存儲,通過從輸入信號中抽取特征集合,為每一個時間片斷產(chǎn)生輸入到系統(tǒng)中的數(shù)字代碼并接著比較檢測的數(shù)字代碼和存儲在數(shù)據(jù)庫中的數(shù)字代碼的序列,該系統(tǒng)接著可以檢測并標識廣播信號中寄存節(jié)目的存在。在比較處理中應(yīng)用各種測試標準來減少假陽性(false positive)、假陰性(false negative)的比率并增加對寄存節(jié)目的正確檢測。本發(fā)明還具有一定的改進并優(yōu)化了比較處理使得其在相對短的時間里執(zhí)行。
圖1媒體廣播監(jiān)控系統(tǒng)的組成單元。
圖2從一系列的音頻節(jié)目幀到節(jié)目標識的檢測的檢測算法的數(shù)據(jù)流程圖解。
圖3模式(pattern)產(chǎn)生模塊的流程圖。
圖4初始頻帶邊界如何導致模式在初始幀特征和以快速播放的相同音頻節(jié)目的特征之間失配的例子。
圖5如果改變頻帶邊界以獲得在初始音頻節(jié)目和以快速和慢速播放的相同音頻節(jié)目的幀特征之間改善匹配的例子。
圖6新的頻帶邊界設(shè)置導致音頻檢測算法的穩(wěn)定,即使在音頻節(jié)目中具有+/-2%的速度變化。
圖7DBS操作流程的圖解。
圖8SRR算法的流程圖。
表1-5計算頻帶邊界的例子。
具體實施例方式
背景本發(fā)明涉及一種自動標識大范圍傳播的節(jié)目,例如收音機、電視或通過因特網(wǎng)數(shù)字化傳送內(nèi)容。
在包括廣告客戶的廣播節(jié)目中的版權(quán)所有者,需要測量他們的節(jié)目已經(jīng)何時以及何地被廣播,以便正確的計算演出版稅,遵守領(lǐng)土限制或者驗證按照日程安排已經(jīng)播出的特定廣告。傳統(tǒng)的用于監(jiān)控收音機或者電視的方法已經(jīng)包括使用人員收聽或者收看并且接著記錄他們所聽到或者看到的,或者可選的,基于收音機和電視臺的廣播記錄。這是工作強度處理,其受限于效率或精確度。本發(fā)明的一個目標是使用改善的計算系統(tǒng)以使得該處理完全自動化。如此,音頻或視頻內(nèi)容記錄在系統(tǒng),并且接著,在檢測音頻的情況下,來自電視或者其他廣泛傳播音頻內(nèi)容的其他源的無線電、聲道被輸入到系統(tǒng)中。在(檢測)視頻的情況下,視頻信號從任何一種源被輸入到系統(tǒng)中。通過本發(fā)明的方式,對所記錄的節(jié)目內(nèi)容的檢測和標識會自動發(fā)生。
現(xiàn)有技術(shù)有很多方法用來自動檢測廣播節(jié)目。這些技術(shù)通常屬于兩種類型的其中之一提示(cue)檢測或模式標識。在Miwa等人申請的美國專利NO1,225,967、Crosby申請的3,845,391,Greenberg申請的4,547,804舉例說明了提示檢測方法。這些技術(shù)是基于在發(fā)送之前插到節(jié)目中嵌入的提示。這些方法在本領(lǐng)域中并沒有得到支持。在音頻中,節(jié)目中的提示信號的放置已經(jīng)限制了該方法的接受,因為,它需要節(jié)目所有者和/或廣播公司的合作,這使得該方法是不切實際的。
模式標識方法通常依賴于其內(nèi)容本身的光譜特征以產(chǎn)生唯一的標識碼或標記(signature)。這樣,標識內(nèi)容的技術(shù)包括兩個步驟第一個是從已知的內(nèi)容片斷中抽取標記以提示到數(shù)據(jù)庫中,以及第二個是從檢測的內(nèi)容片斷中抽取標記并在數(shù)據(jù)庫中尋找標記匹配以標識檢測的內(nèi)容。這樣,優(yōu)選的方法基于廣播內(nèi)容本身的特征來建立該內(nèi)容獨有的標記。例如,Thomas等人申請的US專利NO.4,739,398公開了一種系統(tǒng),其采用一種已知的電視節(jié)目并為每一個視頻幀在該幀內(nèi)建立音頻和視頻信號之外的標記代碼。最近,提出了用于因特網(wǎng)分配內(nèi)容的類似檢測系統(tǒng),例如,Ikeyoze等人提出的PCT申請WO01/62004A1。
對于音頻本身,Moon提出的U.S.專利NO.3,919,471公開了一種音頻識別系統(tǒng),其中只使用了音頻信號,但是它在使用上是受限的,因為它目的在于使有效的時間片段(slice)表示的音頻節(jié)目與輸入的廣播信號相關(guān)。Moon中公開的匹配方法是非常密集型的計算,因為它依賴于直接的信號相關(guān)性。另外,該方法是不受歡迎的,因為發(fā)現(xiàn)其在精確性上存在限制,尤其是,如果節(jié)目是時間壓縮的或者在檢測之前用其他的方式改變。它還傾向于偽造正確的標識并且如果擴展時間片斷的大小來改善其正確的標識的話,其在計算上又會不經(jīng)濟。Lert等人提出的U.S.專利NO.4,230,990中提出了一種減輕相關(guān)性的計算工作量的方法,其通過把其和第一種編碼方法進行組合來實現(xiàn)在指示節(jié)目部分的開始的節(jié)目中檢測人工編碼或者一些其他的自然產(chǎn)生的標記,接著在預定數(shù)量的時間之后測量特征標記。該方法也只限于在音頻上應(yīng)用,其中音頻編碼必須提示到音頻中以建立提示,這樣,降低了它的價值或者需要內(nèi)容源的合作,或者依賴于表示非常不可信的新的音頻節(jié)目開始的自然標記。在Lert等人提出的U.S.專利NO.4,677,466還描述了一種對本發(fā)明的改進,其在測量和計算標記之前一直等待直到在信號中發(fā)生“可靠的情況”,但是該方法地可靠性受限于采樣時間片斷的大小。Thomas等人提出的U.S.專利NO.4,739,398通過在輸入到本發(fā)明的標記產(chǎn)生進程中,隨機的選擇部分信號以采樣,提供了一種數(shù)據(jù)處理負載問題。
Ellis等人提出的U.S.專利NO.5,436,653和NO.5,612,729公開了一種更復雜的計算唯一標記的方法,其中通過比較指定視頻幀和在先前的視頻幀中的相同測量之間的每一個預定數(shù)量的頻帶中能量的改變,得到相應(yīng)于給定視頻幀的音頻標記。然而,匹配技術(shù)依賴于音頻和視頻前面的組合或者使用自然標記,在這種情況下,節(jié)目的開始和結(jié)束。因此,該方法具有和Lert有關(guān)只用于音頻節(jié)目的相同的問題。
另外,Blum等人提出的U.S.專利NO.5,918,223公開了一種在音頻節(jié)目中使用可聽特征來為每一個音頻節(jié)目創(chuàng)建單一標記值,尤其是,振幅、斜度(即,基頻)、帶寬、低音(即,節(jié)奏分析)、亮度(即,節(jié)目中頻率響應(yīng)的形狀)和Mel-頻倒譜(cepstral)系數(shù)的組。這些橫跨視頻周期的詳細特征的集合產(chǎn)生很多不同的結(jié)果,并且在實際的廣播環(huán)境中并不具有足夠的穩(wěn)定性。Kenyon等人提出的U.S.專利NO.5,210,820和NO.4,843,562公開了一種數(shù)字電路,其在音頻信號中使用包絡(luò)(例如,音量)特征來建立標記。該方法通過使用時間變形技術(shù)被設(shè)計用于時間壓縮問題?;谝袅繒衅渌姆€(wěn)定性問題,即在實際環(huán)境中使用中存在困難。Well,Maxwell等人提出的U.S.專利NO.20030086341公開了一種系統(tǒng),其中使用預定數(shù)量的數(shù)字采樣來建立音頻標記,該數(shù)量從音樂的開始點的預定位置開始計數(shù)。該方法在用于廣播或者以模擬的形式檢測音頻的情況,或者節(jié)目重放已經(jīng)改變了速度,或者已經(jīng)應(yīng)用了原始軌跡的頻率均衡,或者把音頻配音提示到節(jié)目片斷中的情況。
本發(fā)明描述了一種系統(tǒng)和方法,借此,可以對已知音頻和視頻節(jié)目標識而不依賴于一前一后的視頻信號(在音頻情況下)或者在信號中標識節(jié)目的已知時間的標準化的標志,并且以唯一的和新穎的方式來計算表示音頻節(jié)目特性的代碼,而不需要不切實際的計算容量。該系統(tǒng)和方法的優(yōu)點是精確,快速、穩(wěn)定的重放速度改變并且能實時執(zhí)行標識處理,這不依賴于任何的嵌入提示或水印。另外,本發(fā)明利用低成本的有效性,高效的計算平臺來執(zhí)行高速數(shù)據(jù)搜索方法。
詳細描述A.概述在本發(fā)明中具體體現(xiàn)的廣播監(jiān)控和檢測系統(tǒng)工作在兩個階段中登記和檢測。在登記階段,通過發(fā)送節(jié)目,已知的節(jié)目內(nèi)容作為數(shù)字數(shù)據(jù)登記在系統(tǒng)中。在這種情況下,一系列的標記,模式矢量以及現(xiàn)有技術(shù)中通用的“指紋”或“標記”,作為數(shù)據(jù)序列記錄存儲在數(shù)據(jù)庫中,交叉參考它們的節(jié)目內(nèi)容的標識,作為一個組。在第二個階段,未經(jīng)標識的節(jié)目輸入到系統(tǒng)中。這種節(jié)目可以包括收音機、電視、因特網(wǎng)廣播或者任何其他的音頻或視頻節(jié)目源,可以是陸地廣播、衛(wèi)星、因特網(wǎng)、有線電視或是其他任意的分集媒體,可以是現(xiàn)在已知的或是將來設(shè)計的。在監(jiān)控這種節(jié)目時,不停地計算節(jié)目的模式矢量(或者任意的其他標記生成技術(shù))。接著所計算的模式矢量用來在數(shù)據(jù)庫中搜索匹配。當找到并且證實匹配時,系統(tǒng)使用數(shù)據(jù)庫中的交叉參考標識來提供對內(nèi)容的標識,該內(nèi)容是當前播放的內(nèi)容。在優(yōu)選實施例中,系統(tǒng)是在計算機上運行的軟件,然而,可以想象到,特定目的的硬件組成單元可以取代部分或者所有的模塊來提高系統(tǒng)的性能和容量。
在優(yōu)選實施例中,包含中央處理單元的計算機連接到聲卡和接口設(shè)備上,在接口設(shè)備中給出了音頻節(jié)目。在登記階段,CPU從聲卡中取出音頻或視頻數(shù)據(jù),計算模式矢量數(shù)據(jù),并且接著與定時數(shù)據(jù)和節(jié)目的標識一起,把這些結(jié)果存儲在數(shù)據(jù)庫中,如下面進一步描述的??蛇x的,數(shù)據(jù)可以直接從可信的媒體,諸如CD、mp3或者任意其他的包含信號的數(shù)字數(shù)據(jù)源下載。對于非音頻應(yīng)用,媒體源可以是DVD盤,電影制片廠的原底反轉(zhuǎn)片、磁帶或任意其他的媒體方式,在其上固定并且存儲有節(jié)目。當然,對于一些沒有可靠的有效資源的媒體,音頻或其他節(jié)目信號用下面的方式使用。如果系統(tǒng)周期性地檢測未知的節(jié)目,但是實際上每次基本都是相同的標記集,其為節(jié)目媒體指定任意的標識符并且把數(shù)據(jù)輸入到數(shù)據(jù)庫中如同在登記階段已經(jīng)引入了該節(jié)目。一旦在將來確定了節(jié)目的特性,那么數(shù)據(jù)庫可以被更新以包括作為可信信息的適當信息,同時,使用檢測數(shù)據(jù)提供節(jié)目的所有人,即使節(jié)目的特性還不知道也是如此。數(shù)據(jù)庫,其典型的是通過任意類型的計算機總線或包括SCSI的數(shù)據(jù)傳輸接口,存儲在連接到計算機的中央處理單元的硬件驅(qū)動器上的數(shù)據(jù)文件。
在檢測階段,CPU從聲卡或音頻卡中取出節(jié)目數(shù)據(jù),或者從存儲在計算機硬件驅(qū)動器的數(shù)據(jù)文件或者是外部媒體閱讀器中下載。CPU計算模式矢量數(shù)據(jù),并且接著,連同定時數(shù)據(jù),向存儲在硬件驅(qū)動器中的數(shù)據(jù)庫提交數(shù)據(jù)庫查詢。該數(shù)據(jù)庫可以是與計算機中相同的硬件驅(qū)動器,或者是通過數(shù)字計算機網(wǎng)絡(luò)訪問的外部硬件驅(qū)動器。當找到匹配數(shù)據(jù)時,CPU繼續(xù)處理數(shù)據(jù)以確定節(jié)目的特性,如下面進一步描述的。CPU接著通過現(xiàn)有技術(shù)中已知的各種計算機網(wǎng)絡(luò)系統(tǒng)把標識結(jié)果發(fā)送到將在使用圖片用戶界面的屏幕上播放的遠端位置,或者是將在存儲于硬件驅(qū)動器上的另一個數(shù)據(jù)文件中注冊(的遠端位置)。執(zhí)行該方法的程序可以存儲在任何類型的計算機可讀媒體中,例如,硬件驅(qū)動器、CD-ROM、EEPROM或軟盤并且可以在運行時下載到計算機存儲器中。在視頻的情況下,可以使用模數(shù)轉(zhuǎn)換卡獲得信號,或者數(shù)字視頻數(shù)據(jù)可以直接從數(shù)字圖像源中直接檢測出來,例如因特網(wǎng)或數(shù)字電視廣播。
該系統(tǒng)由四個組成單元構(gòu)成。圖1示出了四個模塊之間的連接關(guān)系(1)信號處理過程在前端,(2)模式生成模塊在中間,(3)隨后是數(shù)據(jù)庫搜索啟動模塊,和(4)節(jié)目標識模塊在末端。在登記階段,模式生成模塊的結(jié)果,即產(chǎn)生用于已知音頻或視頻內(nèi)容的標記,存儲在數(shù)據(jù)庫中并且搜索和模式標識模塊未被使用。
每個模塊的功能在下面作詳細的描述1、聲音獲取(SA)模塊SA模塊,(1),從聲音檢測電路接收音頻數(shù)據(jù)并使其可用于其他的模塊。普通技術(shù)人員將認識到會有各種產(chǎn)品可以接收模擬音頻或視頻,并且可以把這些信號轉(zhuǎn)換成數(shù)字數(shù)據(jù)。那些設(shè)備可以是任意的數(shù)字音頻數(shù)據(jù)源,包括個人計算機的接口卡,其把模擬音頻轉(zhuǎn)換成可以由計算機CPU訪問的數(shù)字音頻數(shù)據(jù),以標準格式輸出數(shù)字音頻數(shù)據(jù)的孤立設(shè)備,或具有音頻輸出的數(shù)字無線接收機??蛇x的,數(shù)字形式的預檢測信號可以通過典型的數(shù)據(jù)網(wǎng)絡(luò)從連接到系統(tǒng)的存儲設(shè)備中存儲。SA模塊有規(guī)律地從數(shù)字接口設(shè)備或數(shù)據(jù)存儲器中讀取數(shù)據(jù),并且把數(shù)據(jù)讀到數(shù)據(jù)緩存或存儲器中以便可以讓模式生成模塊訪問。普通技術(shù)人員將認識到典型的數(shù)字音頻系統(tǒng)每隔一定間隔提供數(shù)字消息(word),稱作采樣率。表示音頻信號的數(shù)字命令的序列是數(shù)字音頻采樣。本發(fā)明把采樣組織成許多時間幀,其由預定數(shù)量的采樣組成。時間幀存儲在序列中??蛇x的,存儲在計算機存儲器(如果系統(tǒng)支持內(nèi)存分頁或交換,那么其包括硬件驅(qū)動器)中的數(shù)據(jù)結(jié)構(gòu),可以用在時間幀非物理地存儲在序列中,但在邏輯上可以在序列中被引用或索引的地方,該序列通過存儲器尋址的方式而被檢測。
在優(yōu)選實施例中,音頻信號用已知的方式調(diào)節(jié),包括低通濾波器。在優(yōu)選實施例中,信號在SA模塊中以8000Hz的速率采樣。在優(yōu)選實施例中,16,384個采樣組成單個幀。以這個速率,在采樣信號之前必須被低通濾波以防止混淆。然而,在下游計算隨著適當?shù)恼{(diào)節(jié)而使用較高的采樣速率,如下面解釋的。
在視頻節(jié)目的情況中,聲音獲取模塊本質(zhì)上以類似的方式運作視頻信號作為數(shù)字視頻信號而獲得,并在一個視頻幀上通過幀基礎(chǔ)使用已知的方法被轉(zhuǎn)換到頻域上。下面將通過描述優(yōu)選實施例,描述本發(fā)明當應(yīng)用到視頻上時內(nèi)容。然而,系統(tǒng)和所描述的處理可以應(yīng)用到視頻和音頻上,其中,周期性的從視頻信號中獲得標記或模式矢量??梢詤⒖加蒀harles A.Poynton、John Wiley Sons提出的“A TechnicalIntroduction to Digital Video”,New York,1996。
2、模式矢量生成(PG)模塊檢測階段的PG移動操作,(2),獲取存儲的數(shù)字音頻或視頻采樣,該采樣被檢測并且由SA模塊存儲。一旦收到采樣幀,PG模塊將計算幀的模式矢量,并且當在檢測階段,以數(shù)據(jù)庫查詢的形式發(fā)送該模式矢量到數(shù)據(jù)庫搜索模塊。在登記階段,PG模塊計算模式矢量以便其被存儲在數(shù)據(jù)庫中,與有關(guān)已知的音頻或視頻節(jié)目的其他相關(guān)信息相關(guān)。模式矢量的計算在下面作進一步描述。
幀間距對于每一個增加的音頻采樣,能夠開始一個新的幀。也即,當N是幀中的采樣數(shù)量時,每一個音頻采樣可以由N個重疊幀構(gòu)成。在這些重疊幀之間的距離是幀間距。對于模式生成的較短的幀間距減輕了節(jié)目開始時間不確定性的問題。當開始時間未知時,較短的幀間距產(chǎn)生更好的結(jié)果。在優(yōu)選實施例中,在音頻節(jié)目登記階段,使用大約一個幀的1/4即4000。其他的距離可以用來增加精確度或者減少計算時間和存儲開銷。因此,在優(yōu)選實施例中,已知音頻節(jié)目的數(shù)據(jù)庫中的第一個幀相應(yīng)于音頻采樣1到16,384,第二個幀相應(yīng)于采樣4001到20,384,等等。在檢測階段,幀間距設(shè)置成與一個幀的長度相等。這樣,檢測的音頻節(jié)目的第一個幀包含采樣1到16,384,第二個幀包含采樣16,385到32,768,等等。
盡管在優(yōu)選實施例中使用的設(shè)置是8000Hz的采樣率、16384個采樣的幀大小,4000的幀間距,但是隨著不同的結(jié)果可以使用不同的采樣率。例如,16000Hz的采樣率(優(yōu)選設(shè)置的兩倍)導致32768的幀大小(兩倍的大小但是持續(xù)時間相同),8000的幀間距(在0.5秒時幀間距是相同的)并產(chǎn)生當使用優(yōu)選的設(shè)置時(產(chǎn)生的模式矢量)幾乎相同的模式矢量。唯一更多的改變是為了確定哪些快速傅立葉變換(FFT)系數(shù)將包括在每一個用來計算模式矢量的次頻段中。例如,采用優(yōu)選的設(shè)置,(忽略下面解釋的速度補償方案),頻帶1包括第66個到第92個FFT系數(shù)。用上面可選的例子,F(xiàn)FT系數(shù)將是第32個到第94個。假設(shè)8000Hz的采樣率,因此而調(diào)整模式矢量的計算。
在視頻的情況下,模式矢量從每一個視頻幀的二維FFT轉(zhuǎn)換中獲得。視頻幀可以考慮用類似于在音頻的情況下的采樣。這樣,可以跨越視頻幀來采集垂直和水平FFT系數(shù),以建立用于每一個時間幀的模式矢量,該時間幀由一組視頻幀組成。普通技術(shù)人員將認識到可以組合這些方法,因為電視節(jié)目的音頻聲道特征可以與相同節(jié)目的視頻信號的特征相組合來產(chǎn)生模式矢量。
3、數(shù)據(jù)庫搜索(DBS)模塊一旦收到PG模塊的查詢后,該模塊(3),將搜索包含已知節(jié)目的模式矢量序列的數(shù)據(jù)庫。如果找到了匹配,那么模塊會返回一組登記號,否則相應(yīng)于一組音頻或視頻節(jié)目的標識和在匹配發(fā)生的那些節(jié)目中的時間幀號碼,在這兒稱作節(jié)目-標識符(id)和幀-標識符,也稱作幀號碼。如果對數(shù)據(jù)庫的搜索沒有找到匹配,DBS模塊將分配NO-MATCHED標志。可以預期到,用于DBS模塊的本發(fā)明的方面適用于任意種類的包含信號標記的數(shù)據(jù)集合,連同使用不同于在模式矢量生成模塊中使用的技術(shù)而獲得的標記也都適用。
4、節(jié)目檢測和標識(SDI)模塊該模塊(4),在最近的N個連續(xù)的時間幀上監(jiān)控來自DBS的匹配結(jié)果,如下面進一步描述的。在優(yōu)選實施例中,N設(shè)成5,雖然隨著各種結(jié)果,也可以使用較大的或者較小的數(shù)量。使用兩種方案來確定任意的音頻或視頻節(jié)目是否已經(jīng)確實被檢測。第一個方案是多數(shù)投票同意的方案,其確定,在N中匹配模式矢量的每一個線程中,處理有效序列的幀的數(shù)量是否通過指定的主要幀塊。第二個方案是幀排序方案,其在每一個潛在的線程之后,并且計算在組成一個有效序列的線程內(nèi)有多少幀。如果存在這樣的線程,即其中多數(shù)的連續(xù)幀滿足幀排序需求,那么認為該節(jié)目(無論是音頻或視頻)在該線程中被檢測。任何一個或兩個方案用來抑制假的真正檢測并用來增加正確的檢測。在優(yōu)選實施例中,兩個方案都可以使用。給定一個被檢測的節(jié)目(或者不止一個),SDI模塊將啟動兩個模式1、標識模式在這種模式下,模塊記錄所檢測節(jié)目的所有參考信息,包括標題、歌曲作者、藝術(shù)家、記錄標簽、出版社或其他任意在系統(tǒng)的登記階段輸入的信息,連同檢測節(jié)目的時間,以及檢測該節(jié)目的時間。該信息將被登記在檢測日志中。2、跟蹤模式在該模式下,如果廣播的每一個新的幀的查詢結(jié)果符合下面描述的排序的需要,模塊通過監(jiān)控跟蹤每一個檢測的節(jié)目。在該模式下,該算法被鎖定直到查詢的結(jié)果不能與排序需求匹配為止。一旦處在跟蹤模式下,多個檢測標志,包括整個跟蹤過程和跟蹤中心將被記入日志。
由PG模塊產(chǎn)生的模式矢量送給DBS模塊以便對數(shù)據(jù)庫實施匹配搜索。其輸出或者是NO-MATCHED標記,其表示DBS沒有在通過搜索條件的數(shù)據(jù)庫的幀中;或者是通過搜索條件的程序庫模式的節(jié)目-標識符和幀-標識符。
SDI模塊搜集DBS模塊的輸出以檢測是否存在新的音頻節(jié)目。如果存在,就標識所檢測的歌曲。圖1是從幀音頻到其檢測后的結(jié)果的算法流程圖。只要產(chǎn)生了模式矢量,有關(guān)本發(fā)明在視頻上的應(yīng)用,其操作是類似的??梢韵胂蟮奖景l(fā)明用于SDI模塊的方面適用于任何類型的包含信號標記的數(shù)據(jù)集合,即使是使用不同于在模式矢量生成模塊中使用的技術(shù)而獲得的標記。
模式矢量生成PG模塊讀取一個信號幀,其最好是由16,384個采樣組成,其采樣速率最好設(shè)置成每秒8,000個采樣。這樣幀長度在時間上大約是兩秒。使用在時間上更大或更小的采樣或幀寬度可以得到不同的結(jié)果。給定x=[x1x2…x16384],該矢量包含一個信號幀,其中每一個xi是第n個音頻采樣值,N元素模式矢量用下面的步驟來計算。在優(yōu)選實施例中,N等于31。普通技術(shù)人員將認識到N的值是任意的,并且可以隨著各種結(jié)果減少或增加。例如,漸減的N減少了計算時間和存儲的需求,但是會減少精確度。漸增的N使得結(jié)果相反。并且,所給出的方法將假設(shè)使用31元素模式矢量,以便簡化本發(fā)明的介紹。普通技術(shù)人員將認識到當N增加或減少時,根據(jù)該目標是增加精確度還是減少計算復雜性,相同的方法都可以運行。
1、x的傅立葉變換用與幀的采樣量相同的點的數(shù)量來計算,以便得到頻譜矢量。
X=[X1X2…X16384] 把FFT頻譜值分到指定寬度的頻帶上,其中在優(yōu)選的實施例中,該寬度是64Hz。將進一步解釋本發(fā)明有關(guān)的優(yōu)選實施例,以便簡化該說明,但不限于本發(fā)明要求的范圍。
頻帶#1是從0到64Hz,頻帶#1包含F(xiàn)FT系數(shù)X1到X131頻帶#2是從64到128Hz,頻帶#2包含F(xiàn)FT系數(shù)X132到X262,等等。
2、計算每一個頻帶的矩心(或重心COG)pk=Σm=1131m×X131k+mΣm=1131X131k+m]]>在優(yōu)選實施例中,只使用頻帶2到32,因為頻帶1是包括0Hz的最低的頻帶,其并不經(jīng)常在FM無線傳輸中使用;并且頻帶32覆蓋直到1800Hz的頻帶,其典型的是用來對音頻指紋編碼的有效帶寬。當然,如果需要的話,可以使用更高的或更低的頻帶。用來說明信號特征的更高或更低的頻帶內(nèi)容可以根據(jù)經(jīng)驗來確定。第一步,其中所搜集的用來計算步驟2中的矩心的FFT系數(shù)不同于在視頻中的情況。在視頻的情況下,F(xiàn)FT系數(shù)必須從復雜的平面中或者在Poynton的文章第23頁中提到的二維空間頻率平面中的位置中選擇出來,其中Poynton的文章通過參考在此結(jié)合。這些位置類似于視頻情況中的頻帶。在某種意義上類似于使用預定音頻中的頻帶,在頻域中垂直/水平面上預定的區(qū)域可以被定義并且在每一個區(qū)域中的FFT系數(shù)值用來計算相應(yīng)于該區(qū)域的元素。一旦作出選擇,可以用相同的方式計算其矩心。有利的是,忽略包含幀速率、同步速率、子載波、或行速率的頻率區(qū)域。最后的結(jié)果基本上等同于音頻情況每一個視頻時間幀將具有一個與存儲在數(shù)據(jù)庫中的(模式矢量)相關(guān)的模式矢量。
在步驟3之后,獲得31元素的矢量c=[p2p3…p32]=[c1c2…c32]。在優(yōu)選實施例中,另一個步驟把c轉(zhuǎn)換成無符號整數(shù)。因為在c中所有的元素在區(qū)間(1,131)中是正的,因此使用該無符號格式。另外的有關(guān)c的計算是把每一個元素除131歸一化成0和1之間的值,這個131是每一個頻帶中的FFT元素數(shù)量0≤ci=ci131≤1]]>在優(yōu)選實施例中,每一個元素接著轉(zhuǎn)換成無符號化的16位整數(shù)格式以方便存儲并進一步處理。為了在下游減少時間的計算,相對于最小的閾值檢測每一個FFT系數(shù)或者ci。設(shè)置該下游的處理以忽略這些元素,例如,通過在下游設(shè)置中不包含這些搜集用于進一步計算的元素的方式。圖3示出了該模塊的流程圖。在優(yōu)選實施例中,步驟1中的FFT和步驟3中的矩心(COG)的計算典型的使用雙精度浮點指令來實現(xiàn)。
速度補償方案本領(lǐng)域的普通技術(shù)人員將認識到為了各種原因,廣播節(jié)目經(jīng)常在普通節(jié)目的速度上加速。因此,當檢測的音頻節(jié)目可以與在登記階段提供的音頻速度不同時,音頻節(jié)目檢測系統(tǒng)是關(guān)鍵。為了緩解這個問題,可以修改模式矢量生成公式(a)該修改將具有步驟2中每個頻帶的不同數(shù)量的FFT元件(即,帶寬)。
(b)在優(yōu)選實施例中,在檢測階段,對模式矢量生成公式的修改只應(yīng)用到輸入的廣播音頻信號,而在音頻節(jié)目的登記階段并不應(yīng)用到模式矢量生成處理中。普通技術(shù)人員將認識到,在登記階段,隨著基本相同的結(jié)果,用于檢測階段的上述可選的頻帶的使用可以選擇執(zhí)行。
該修改的詳細細節(jié)將在下面描述該公式是根據(jù)快速傅立葉變換的縮放特性的。
一首歌曲的時間加速形式是對原作的時間縮放的形式 a>1,其中a是加速的速率,并且x(t)是在時刻t的檢測的采樣。注意到,對于a>1,時間軸被“壓縮”。如果歌曲以2%被加速,我們得到a=1.02。
具有縮放特性的矢量a可以用來調(diào)整傅立葉變換的值 這樣,快速重放的頻譜,或歌曲的加速形式(version)被加長。隨著2%的加速速率,在加速后,以沒有任何歌曲加速的100Hz的傅立葉變換頻率成分切換到102Hz。這意味著,如果在檢測的歌曲中存在2%的加速,那么在步驟2中的帶寬應(yīng)該根據(jù)1.02×64Hz=65.28Hz進行調(diào)整,并且因此,在每一個頻帶中FFT分向量的數(shù)量將被調(diào)整到131×1.02的四舍五入整數(shù),其等于134。由兩個公式用來計算每一個頻帶中FFT分向量的數(shù)量,每一個方法都是基于FFT分向量的原始數(shù)量,其等于131。
公式(1)給定加速速率r。
在頻帶#1開始,其包含F(xiàn)FT系數(shù)X1到Xz(1),其中z(1)=131×(1+r)的四舍五入整數(shù)。
(2)迭代計算每一個z(k)=[z(k-1)+131×(1+r)]的四舍五入整數(shù),其中k=2到32。頻帶#由Xz(m-i)+1到Xz(m)的FFT系數(shù)構(gòu)成。
(3)計算具有上面計算的新的頻帶劃分的頻帶#2到頻帶#32的矩心(COG)。用相應(yīng)帶寬中的FFT成分的數(shù)量通過劃分每一個矩心(COG)來訓練歸一化。
在圖4和圖5示出了具有和不具有壓縮的不同。圖4示出了導致原作和其加速變量之間的模式失諧的原始帶寬設(shè)置。圖5示出了修改的帶寬設(shè)置給出非常好的指定模式匹配,加速速率是已知的。穩(wěn)定的(robust)模式矢量生成公式上述的模式矢量生成公式可以進一步的精確以便提供穩(wěn)定的匹配。該精確度還可以用來替代先前的公式。除了使頻率軸加長之外,加速的另一個效果是每個頻帶中頻率的邊界線的偏移。該精確度是為了通過延長帶寬補償頻帶邊界的偏移,使得由于重放速度引起的偏移數(shù)量只占帶寬小的比例。因此,不需要修改算法,也即,除了頻帶位置有改變之外,和計算模式矢量一樣來計算矩心。在登記處理期間,使用該修改的頻帶邊界來建立存儲的模式矢量。普通技術(shù)人員將認識到幾種可選的方法可以用來計算頻帶寬度,其給出了相同的特性,也即,擴展帶寬使得由于重放速度變量引起的頻偏相對很小,其中由于重放速度改變引起的頻偏百分比是每一個頻帶寬度的小的百分比。此外,可以預料到的是,該技術(shù)可以用于任意的計算信號標記的方法中,該方法是基于把FFT系數(shù)分成頻帶。下面將以優(yōu)選實施例的形式來描述一種具有這個影響的計算修改的頻帶分界線的方法。
用來計算新的頻帶邊界線位置的算法在頻域中號碼為k的頻帶的開始和結(jié)束索引(index)分別為sk,1,sk,2,也即FFT系數(shù)的索引。例如,索引s1,1等于1,并相應(yīng)于第一個FFT系數(shù)是0Hz。假設(shè)偏移-帶寬比,其是期望的最大加速百分比除以帶寬的百分比得到的,該偏移不會超過該帶寬。在優(yōu)選實施例中,假設(shè)該值是5%,但也可以使用其他的值以便增加精確度或者減少計算復雜度。
1、從頻帶k=1開始,其開始位置是s1,1=1,假設(shè)a 2%的加速,該位置從0,02偏移到1.02,在四舍五入之后還是等于1。因為結(jié)果的索引必須是整數(shù),因此四舍五入是必須的。假設(shè)偏移-帶寬比等于頻帶#1的帶寬的0.4(其是2%的偏移除以5%的帶寬,偏移應(yīng)該給出的數(shù)量),接著結(jié)束位置s1,2=(1+.02/.05)×s1,1=1.4,或者在四舍五入之后是1。
2、現(xiàn)在進行計算頻帶#2的兩個位置。開始位置S2,1=2。給定2%的偏移和5%的偏移-帶寬比,我們得到S2,2=3。
3、繼續(xù)上述步驟直到用完所有的FFT分量。在優(yōu)選的實施例中,沒有使用這些結(jié)果(相應(yīng)于31.25Hz的較低序號的頻帶Sk,1<64,和相應(yīng)于2,686Hz較高序號的頻帶Sk,1>5500)。
4、當k等于9時,S9,2=66,并且當k等于10時,S10,1=67,等等。為了避免由于沿著k的每一個頻帶的帶寬以k指數(shù)的增加而導致的溢出,優(yōu)選的實施例任意的設(shè)置S10,1=66,以便當k迭代達到k=22時,s22,2=5298。表1給出了結(jié)果列表。
5、在這點上入口的數(shù)量只有13個,但最好是共有31個入口(entry),其中每一個入口相應(yīng)于模式矢量的指定元素。
第二批頻帶通過采用步驟3中獲得的每一個帶寬的中間獲得。獲得另外的12個頻帶,如表2所示。
6、在這點上有25個頻帶。剩余的6個頻帶通過組合兩個表中的頻帶獲得。特別的,兩個表中的入口1和2被合并,入口3和4被合并,入口5和6被合并來構(gòu)成6個之多的入口,如表3所示。
通過上面的組合,31個頻帶的開始和結(jié)束位置在表4中給出。
在圖6中示出了有關(guān)一幀信號的檢測結(jié)果來論證對+/-2%的速度改變的穩(wěn)定。
加速補償和固定公式的組合如果加速補償被合并,那么上述用于調(diào)整頻帶邊界的兩種方法可以組合。加速和頻譜擴展之間的關(guān)系被用來組合該兩種方法。第k個子頻帶,開始和結(jié)束位置=[sk,1,sk,2],具有穩(wěn)定的+/-2%的速度改變。每一個值乘以(1+r),其中r是加速到[sk,1,sk,2]的量,接著用上面描述的四舍五入的方法。在新索引 中的結(jié)果,其具有固定的速度改變,偏移到r+/-2%。大體上,在先前的表格4中的新表格中,其中值乘以(1+2%),并且接著使用相同的四舍五入方法?,F(xiàn)在在登記階段使用表4從已知的音頻節(jié)目中創(chuàng)建模式矢量,該節(jié)目位于數(shù)據(jù)庫中。在檢測階段使用表5從檢測的輸入廣播創(chuàng)建模式矢量,該廣播在DBS模塊中使用以便在數(shù)據(jù)庫中找到匹配的數(shù)據(jù)記錄,如下面進一步描述的。這樣,可以組合兩種方法。以例子的方式,設(shè)置r=0.02(2%),并處理表4種的每一個頻帶,計算一組新的子頻帶,其具有0到4%的固定速度改變,如表5所示。
用2%的加速補償來獲得表5。在2%加速補償之后的新的31對開始和結(jié)束位置添加到表4的列表中。這個結(jié)果來自處理廣播的檢測的歌曲。
有效的補償決定了該方法具有從0到4%的穩(wěn)定的速度變量。普通技術(shù)人員將認識到可以使用相同的方法來減少速度變量的影響,其中變量范圍在零附近(above and below),也即減慢或加速重放。
數(shù)據(jù)庫搜索(DBS)模塊數(shù)據(jù)庫搜索模塊從PG模塊中獲得每一個幀的模式矢量并集合一個數(shù)據(jù)庫查詢以便把該模式矢量與具有相同模式矢量的數(shù)據(jù)庫記錄相匹配。使用軟件匹配方案來確定在數(shù)據(jù)庫查詢與存儲在數(shù)據(jù)庫中的模式矢量之間的匹配。相反,硬件匹配方案對于每一個查詢允許最多一個的匹配入口。軟件匹配方案對于每一個查詢允許不止一個的匹配入口,其中在遇到一個錯誤的閾值時,該匹配位于模式矢量足夠靠近查詢矢量的地方。匹配入口的數(shù)量可以是下面的任意一種(i)限于一些最大量,或者(ii)限于在查詢和數(shù)據(jù)庫入口之間的最大允許差錯??梢允褂萌魏我环N方法。軟件匹配方案基于這樣的事實,即在登記階段,節(jié)目模式將被過采樣。例如,在優(yōu)選實施例中,用于登記的幀間距只有其用在檢測階段的1/4。因此,希望如果特定節(jié)目的第m個幀是對查詢的最好的匹配幀,那么其鄰近的幀,例如第(m-1)個幀和第(m+1)個幀,也將具有好的匹配。針對在廣播環(huán)境中固有的不同信號條件,軟件匹配和排序方案的組合效果加強了檢測系統(tǒng)的穩(wěn)定。
當找到匹配時,數(shù)據(jù)記錄中相應(yīng)的節(jié)目-標識符號和幀號被返回。圖7的流程例示了在DBS模塊中的流程。本領(lǐng)于普通技術(shù)人員將認識到,如果用強制手段來實施跨越一個變量的搜索以找到變量的位置是很消耗時間的,該變量在非常大的數(shù)據(jù)庫中的給定了容差內(nèi)匹配。為了計算時間問題,執(zhí)行兩部分搜索。在部分1,范圍搜索方案選擇那些靠近查詢的入口。在部分2,對部分1中潛在的選項精確搜索以便選擇候選集合,其是最靠近查詢的鄰居。
下面詳細描述其步驟1、在檢測階段,從PG模塊產(chǎn)生的模式矢量中組合查詢。
2、執(zhí)行最近的鄰居搜索算法,其由兩部分組成。部分1執(zhí)行近似搜索方法。特別的,使用范圍搜索(RS)方案來確定數(shù)據(jù)庫的哪個入口落在靠近查詢的范圍內(nèi)。部分2執(zhí)行精確搜索方法。來自部分1的結(jié)果根據(jù)他們到查詢的距離而存儲。該搜索算法可以是(i)返回最好的M個結(jié)果(根據(jù)其到查詢的最短距離),或者是(ii)返回所有的距離小于一些規(guī)定閾值的結(jié)果。可以使用任何一種方法。下面更詳細的描述,最相鄰的算法可以用兩種算法替代,這兩種算法在執(zhí)行搜索時提供較好的計算時間性能。
3、如果存在匹配,那么輸出節(jié)目-標識符號和相應(yīng)的幀號。如果有多個匹配,輸出所有的節(jié)目-標識符號和相應(yīng)的幀號。
如果沒有匹配,輸出NOMATCH標志。
范圍搜索需要模式矢量,其在一個容差內(nèi)匹配,不需要在每一個情況中都完美的匹配。從幾何學的觀點來看,范圍搜索標識了哪組入口包含在多邊形中,在該多邊形中由容差參數(shù)來確定其維數(shù)。在優(yōu)選實施例中,多邊形是31維的超立方體。
范圍搜索(RS)公式在優(yōu)選實施例中,模式矢量是1×31的矢量c=[c1c2…c31],其中c是搜索匹配時檢測的模式矢量。頻帶的數(shù)量,如上所述,可以多于或少于31,隨著各種結(jié)果,可以交替使用增加精確度或計算復雜度。搜索算法將使用31個元素矢量描述,但是普通技術(shù)人員將認識到,這些方法適用于任意大小的模式矢量。該模式矢量是M×31矩陣,其中M是存儲在數(shù)據(jù)庫中的模式矢量總數(shù),31表示在模式矢量中的元素數(shù)量。M是可能的大數(shù),如下面所論證的。假設(shè)整個數(shù)據(jù)庫用矩陣A表示。
那些在庫中的模式矩陣被稱作庫模式矩陣。在優(yōu)選實施例中,每一個矢量z是在登記階段用已知的音頻內(nèi)容所計算的31個元素的模式矢量,其用來在檢測階段搜索檢測。在檢測階段,標識訓練是為了定位一組庫模式矢量{z_opt},其被附在容差參數(shù)確定的超立方體上。
搜索入口可以表示成任意z*的標識,即 在優(yōu)選實施例中,使用L1標準,其中||x||=|x1|+|x2|+…+|x31|是x的L1標準。因此 其中em,n稱作c和zm之間的第n個點差錯。
在整個庫中用RS算法對z*的搜索是基于對點差錯的滿意標準。也即,每一個點差錯少于一些容差,并且在優(yōu)選實施例中,L1標準少于特定的數(shù)量。普通技術(shù)人員將認識到對于每一個元素的容差和L1標準可以是相同的也可以是不同的,其改變了搜索的效率。
該容差的確定是基于一些經(jīng)驗上測量差錯的統(tǒng)計方法。另外,可以認識到,除了第一個序號L1標準外,還可以使用其它測量差錯的方法。搜索問題現(xiàn)在變成一個范圍搜索,其在現(xiàn)有技術(shù)的其它地方進行了描述。參考在J.E.Goodman and J.O’Rourke編輯的HANDBOOK OFDISGRETE AND COMPUTATIONAL GEOMETRY,第575-598頁,Boca Raton,NY,1997,CRC Press中的P.K.Agarwal撰寫的范圍搜索,C++代碼也可以從Telos Pr出版,1997,ISBN0387948600 SteveSkiena撰寫的The Algorithm Design Manual中得到。
下面是本方法中用來確定z*的步驟1)設(shè)置L等于包含所有庫模式矢量的索引的索引集合L={1,2,3,…,M}2)開始于n=13)計算c的第n個元素到每一個zm,n的第n個元素之間的em,n,其中m的范圍從1到M。
4)更新L到只包括那些模式矢量的索引,其中第n個點差錯小于規(guī)定的容錯TnL={1≤m≤M,其中em,k<Tk,1≤k≤n}Tn可以任意設(shè)置。在優(yōu)選實施例中,Tn設(shè)成cn值的10%。
5)如果L現(xiàn)在是空集合并且n≤31,那么退出并給出NO-MATCH標志。
否則設(shè)n=n+1。
如果n>31,到步驟6。
否則到步驟3。
6)計算在L到c之間的所有模式矢量之間的差錯em=||zm-c||;m∈L通過檢查所有的em來確定最好的解決方案并且得到z*。可選的,為了軟件匹配的目的,可以使用兩個標準的其中之一。標準1只選擇具有小于某些規(guī)定閾值emax的差錯的zm。
標準2從L中選擇最好的M個候選者,其中M個候選者是距離第M個差錯大小最小的差錯大小。
一旦確定具有最好的L1匹配的索引m,該索引用來獲得相應(yīng)于模式矢量zm的數(shù)據(jù)記錄。該數(shù)據(jù)庫模塊接著輸出節(jié)目-標識符和相應(yīng)的幀號。
注意到,在第n次迭代開始時,索引集合L包含庫模式矢量的索引,其從m=1到n-1的點差錯通過容查檢測。在第N次重復開始時,索引集合L是L={1≤m≤M,其中em,k<Tk,k從1到n-1}RS算法的流程如圖8所示。
可以預料,本發(fā)明應(yīng)用于音頻節(jié)目的庫大小,M,對于30000首歌曲來說是1千萬的數(shù)量級。下面示出了該估計歌曲數(shù)量 =30,000一般的歌曲長度=204秒(3分24秒)采樣率=每秒8,000個采樣幀大小=16,384個采樣幀間距=4,000個采樣每首歌曲的幀的數(shù)量是歌曲長度乘以每秒的采樣個數(shù),減去幀大小,得到的值除以幀間距。在優(yōu)選實施例中,其大概是=404個幀具有30,000首歌曲的M=12,117,120。
關(guān)于這個圖,第一次重復需要大約12,000,000次減法和分支表述實施來更新標識集合L。下一次重復將可能會少,但也是以百萬計的。并且存儲器必須留出保存所有在容差檢測中需要的減法結(jié)果的中間值的地方。
快速范圍搜索算法對本方法有一定的改善,即減少了為了找到z*而必須執(zhí)行的減法的量。并且更重要的是,執(zhí)行時間不會按比例增加到與數(shù)據(jù)庫大小一樣快,其對于這個大小的數(shù)據(jù)庫來說是特別重要的。獲得這個改善的性能是以使用大量的存儲器為代價的。然而,普通技術(shù)人員將認識到,由于計算機存儲器成本歷史性地在持續(xù)減少,其可以合理的交替使用。對RS算法的修改是使用標識而不計算精確的差錯值。該修改在下面做進一步的解釋。
用來獲得檢測的模式矢量和保存在數(shù)據(jù)庫中的模式矢量之間的最好匹配的改進的搜索方法在這兒稱作快速范圍搜索算法。如前,A是由M行模式矢量構(gòu)成的庫矩陣 每一行是指定的模式矢量。共有M個模式矢量,并且在優(yōu)選實施例中,每一個具有31個元素。
步驟1、把A每一列隔離開 2、列中的每一個元素以升序存儲 Z^1,k≤Z^2,k≤···≤Z^M,k;]]>k=1到313、作為排序的結(jié)果,每一個元素zm,k映射到 兩個交叉索引表被構(gòu)造對于每一個k=1到31,表Rk是 的映射,表Tk是 的映射。
普通技術(shù)人員將認識到排序和表格創(chuàng)建可以發(fā)生在登記階段之后但先于在檢測階段對任何匹配的搜索。通過在登記階段具有預先分類的模式矢量,該方法以在整個排序矢量上從搜索開始,如下所描述的。
索引搜索給定查詢矢量c=[c1c2…c31]以及容差矢量T=[T1T2…T31],可以使用二元搜索方法來抽取落在容差之內(nèi)的那些元素的索引。也可以采用其它的搜索方法,但是在log(M)的時間內(nèi)執(zhí)行的二元(binary)搜索是優(yōu)選的。
步驟1、設(shè)置k=1。
2、執(zhí)行二元搜索以便在經(jīng)過排序的列k 到M中定位最靠近并且多于或者等于ck-Tk的元素 接著執(zhí)行二元搜索來定位最靠近并且少于或等于ck+Tk的元素 這樣,在集合{Z^m^,k,m^Lk≤m^≤m^Uk}]]>中的所有元素都滿足容差的需要。這樣,在每一個列中兩次使用二元搜索來定位 和 此外,讓 作為包含所有 的索引的索引集合,其滿足容差需求 3、k=k+1。如果k>31,那么轉(zhuǎn)到下一步。
可選的,處理可以計算哪一列具有最少量的通過檢測的頻帶,并且在下一步中從這個數(shù)量的頻帶開始。通過增加經(jīng)過排序的k值,其中相應(yīng)的頻帶號從最小到最大,該結(jié)果可以比單一的在k上的增加迭代更快速的收斂。
4、重復步驟2和3直到k=32以便獲得每一對界限{m^Lk,m^Uk},]]>k=1到31,并且因此確定31個 每一個Pk被單獨獲得。對于每一個k,在每一對{m^Lk,m^Uk},]]>k=1到31上封裝的所有索引可以回轉(zhuǎn)成使用Tk的原始索引。接著,對31組索引執(zhí)行交集操作。
可選的方式是對第一個兩組索引交集,其結(jié)果接著與第三組索引交集,等等,直到最后一組索引已經(jīng)被交集。這由下面概述執(zhí)行5、恢復k=1。
6、在 中找回所有的索引,并存到陣列R中。
7、使用表Tk把在R中的所有索引轉(zhuǎn)換成原始索引 把所有的索引m存到集合S中。
使用表Rk+1把m轉(zhuǎn)換成 (這樣,在列1中給出的索引轉(zhuǎn)換成在列2中的索引的表示)。接著看將要檢測的結(jié)果是否落在{m^Lk,m^Uk}]]>的界限內(nèi)。
應(yīng)用容差檢測并產(chǎn)生{m^,m^Lk+1≤m^≤m^Uk+1}]]>這樣,對于第k個元素,每一個連續(xù)的 將是先前的 減去那些沒有通過容差檢測的索引。因此,在步驟6中當k=30時, 是滿足所有31次容差檢測的索引。
8、k=k+1。
9、轉(zhuǎn)到步驟6并且循環(huán)直到k=31。
10、這里,集合S是在31次交集循環(huán)后所有的原始索引。如果S是空的,那么給出NO-MATCH標志。否則,對于硬件匹配,我們繼續(xù)定位唯一的獲勝者,其例如可能是最接近的候選者。對于軟件匹配,我們繼續(xù)獲得所有的有資格的入口。
進一步增加快速RS算法的速度從步驟4開始,而不是從k=1開始,接著k=2,接著k=3,…,直到最后,可以測量在每一列中候選者的總數(shù)。在每一列中的所有候選者的總數(shù)等于在每一個 中候選者的總數(shù)。接著改變k的順序以便第一個檢測的k位于具有最少的候選者的 的地方,等等,直到檢索所有的k。接著對候選者的排序從具有較少數(shù)量的候選者的列開始。最后的結(jié)果與對以k順序增加的31個索引的相同集合交集的結(jié)果相同,但是通過對k以升序重新排列,交集操作的次數(shù)被減少并且因此而加快搜索。
搜索增強器(booster)普通技術(shù)人員將認識到,當前的搜索方法通常根據(jù)頻帶基本原理在頻帶上搜索。使用優(yōu)選實施例的經(jīng)驗研究示出了用于該頻帶的在通過過濾的數(shù)據(jù)庫中的60%到90%的入口搜索結(jié)果的初始迭代。假設(shè)數(shù)據(jù)庫具有6000首歌曲標題,并且每首歌具有300個入口,那么將要搜索的入口總數(shù)是1,800,000個。隨著60%的返回,在第一次交集之后,系統(tǒng)必須處理不止一百萬的入口。如果最初的交集大小比較小,那么用來在單一搜索結(jié)果上收斂所需要的交集數(shù)量會減少。本發(fā)明的另一個目標是,在這兒稱作輔助器,(是因為)用這種方式對搜索進行預處理以減少在開始處理交集中搜索結(jié)果的數(shù)量。
輔助器使用不同的索引方案以便不止一個頻帶可以集中在一起。通過輔助器的方式,在輔助器中的單一搜索循環(huán)等同于在范圍搜索方法中的多個循環(huán),并且因此提高了搜索速度。排序方案用來確定搜索的順序以便最小化用于交集索引的搜索數(shù)量。為了建立該排序,在普通的范圍搜索處理期間,計算每一個頻帶中的返回百分比的最大、平均數(shù)和標準偏差。這些經(jīng)驗上的結(jié)論用來選擇將使用輔助器處理而集中在一起的頻帶。
輔助器索引方案是對二進制-十進制轉(zhuǎn)換的擴展,其中二進制的元素的矢量轉(zhuǎn)換成十進制的整數(shù)。這種擴展是簡單的。特別的,如果大小為N的矢量 的基數(shù)是M,其中M是整數(shù),那么轉(zhuǎn)換公式如下x→=[X1X2···XN];]]>0≤xk≤M-1dx→=Σn=1MxnMn-1]]>公式(1)注意到公式的轉(zhuǎn)換具有可逆性。也即,該公式可以用來把 轉(zhuǎn)換成 因此,該轉(zhuǎn)換具有一對一的關(guān)系,這使得每一個唯一的 可以從唯一的 中計算得到。在優(yōu)選實施例中,數(shù)據(jù)庫保存模式矢量,每一個模式矢量按照16-比特的無符號整數(shù)來存儲。這意味著每一個模式是可以看作一個編碼矢量,具有M=65536,并且N=31,以及可以為每一個模式矢量計算唯一的 模式矢量的多維轉(zhuǎn)換結(jié)果映射到一維空間中。對模式矢量的搜索,該模式矢量在距離查詢矢量y→=[y1,y2,···,yn]]]>的必需距離內(nèi),其在別處稱作容差需求而在這里稱作間隙需求,用來定位數(shù)據(jù)庫中的所有入口x→=[x1,x2,···,xn]]]>以滿足間隙需求|xk-yk|≤Q;k=1…31。在優(yōu)選實施例中,編碼是16比特,容差Tk是16比特范圍的10%,這樣使得Q=10%×64k=6554。實際上,使用值為6,000。
輔助器把每一個頻帶中的間隙需求(在別處稱作容差需求)映射到相應(yīng)的 中的間隙需求。雖然,該搜索可以迭代地跳出所有的滿足所有間隙需求的入口,但該方法的主要難點在于多個間隙需求導致 上的多個分裂(disjoint)段。尤其是,在 中用于標識有資格的入口需要31次迭代,其中 轉(zhuǎn)換成 并且第一次循環(huán)是用于頻帶1,第31次循環(huán)是用于頻帶31。普通技術(shù)人員將認識到,通過改變模式矢量中的頻帶數(shù)量,迭代的次數(shù)也會改變,但是本發(fā)明的宗旨是相同的。
為了避過技術(shù)難點,可以采用兩種折中方案第一個,只選擇頻帶的子集包括在輔助器中,即,只對子集中的索引用公式1編碼。第二個,使用較小的基數(shù)。第一個折中方案減少了迭代循環(huán)的次數(shù),或者尤其是,減少了分裂段的數(shù)量,因此就CPU的實際速度而言在每一個段上的搜索是可行的。第二個折中方案減少了存儲器的需求量,并且更重要的是,它允許對輔助器的搜索結(jié)果硬編碼以便可以在輔助器中更快速地搜索。這個在優(yōu)選實施例中的處理將在下面詳細描述1、設(shè)基數(shù)N=31。
2、從31個頻帶中選擇3個。也可以選擇更多或者更少的。然而,如果相對于M選擇大量的頻帶,那么輔助器方法會變得更慢并且其有效性會受到更多的限制。如果太少,那么它不夠精確并且不能加速,因此應(yīng)該從經(jīng)驗上確定最佳的數(shù)量。
在優(yōu)選實施例中,N=31,從31個中選擇3個。這種組合會得到(a)新索引的動態(tài)范圍是從0到32767。因此每一個新的索引可以用2個字節(jié)來編碼。
(b)搜索結(jié)果的硬編碼建立32768個倉庫(bin)倉庫0到倉庫32767。倉庫m保存所有庫模式矢量的索引,該模式矢量的3-頻帶元素在轉(zhuǎn)換后得到值m。
4、搜索方法(a)給出查詢矢量y→=[y1,y2,···,yn]]]>(b)選出三個指定頻帶中的元素。
(c)使用公式1把使用三個頻帶的查詢矢量轉(zhuǎn)換成一個數(shù)字。
(d)通過尋找轉(zhuǎn)換的查詢和變換的庫模式因子之間最接近的匹配值m,收集所有的在三個指定的頻帶中滿足間隙需求的庫矢量的索引。
(e)把(d)中的索引傳遞到輸出并恢復上述在那些索引集合中的逐個頻帶(band-by-band)搜索。
普通技術(shù)人員將認識到使用公式1對庫模式矢量的轉(zhuǎn)換可以在操作之前執(zhí)行,以便減少運行時間的計算負載。
D、歌曲檢測和標識(SDI)模塊SDI模塊獲得DBS模塊的結(jié)果并且接著提供最終的音頻或視頻節(jié)目標識認證。SDI模塊包含兩個子程序1、檢測-過濾有關(guān)檢測過的歌曲數(shù)量的規(guī)律性無規(guī)則的匹配,其中DBS模塊返回不同的有關(guān)連續(xù)幀集合的節(jié)目-標識符號,是正常的,表示肯定沒有節(jié)目正在被檢測。相反,如果一致的返回,其中DBS模塊一直返回相同的有關(guān)連續(xù)幀集合的歌曲數(shù)量,這表明節(jié)目被成功檢測。
當檢測到一致返回時,基于“大多數(shù)投票規(guī)則”的簡單算法被用來阻止不規(guī)則的返回。假設(shè)DBS模塊輸出用于被檢測的節(jié)目或歌曲的第i個幀的特定節(jié)目-標識符和幀-標識符。由于無規(guī)則的返回,該結(jié)果節(jié)目-標識符最初將不把其認為是在該幀中有效的節(jié)目標識。相反,系統(tǒng)把結(jié)果認為是i,i+1,i+2,…,i+2K的鄰近幀(也即,非-重疊幀),其中在優(yōu)選實施例中,K被設(shè)在2到4之間。如果在這些(2K+1)個幀中沒有主要的獲勝者,那么該系統(tǒng)將給出歌曲數(shù)量=0以表示在第i個幀中檢測結(jié)果為空。如果有獲勝者,即,至少(K+1)個幀與相同的節(jié)目-標識符號產(chǎn)生的幀i是鄰近的,那么該系統(tǒng)將為第i個幀給出檢測的歌曲數(shù)量作為這種多數(shù)獲勝的節(jié)目-標識符號。普通技術(shù)人員將認識到,多數(shù)投票計算可以是很多種方式,例如,在某些應(yīng)用于提供更有力的檢測中是有利的,其中多數(shù)閾值是大于K+1并且小于或等于2K+1的值,其中2K+1的閾值將指定無異義的投票。這減少了對潛在地更多未檢測的結(jié)果成本的錯誤肯定。為了這個目的,多數(shù)投票將被限定用來包括這些可選的閾值。為了計算速度,優(yōu)選實施例使用中部濾波器確定主要投票。在Z被排序之后,在2K+1個號碼的陣列中的中值,Z=[z1z2…z2K+1],K=1,2,…,是第K個入口。例如,如果Z=[1,99,100],那么Z的中值是99。用于這種計算的規(guī)則如下所述假設(shè)DBS模塊為第n個幀返回節(jié)目-標識符#[n]。為了計算用于幀i的中值讓x=median([#[i] #[i+1]…#[i+2K]])
那么讓y=1-median{[sgn(|#[i]-x|)sgn(|#[i+1]-x|)…sgn(|#[i+2K]-x|)]}其中sgn(x)=1x>00x=0-1x<0]]>那么檢測的結(jié)果是x倍的y相乘。該公式的主要特征是其可以在一個關(guān)口上執(zhí)行而不需要循環(huán)執(zhí)行和計數(shù)器。
2、節(jié)目標識執(zhí)行音頻或視頻節(jié)目使用多數(shù)規(guī)則進行檢測,如上面所解釋的,那么下一步將利用附加的認證測試來確定是否存在將被檢測的歌舞的幀同步。尤其是,幀同步測試檢測由DBS模塊輸出的用于每一個第p個幀的幀-標識符號是隨著時間單一增加的,也即,隨著p增加。如果不是,或者如果幀索引是隨機的,那么檢測宣告無效。下面是整個SDI的逐步(step-by-step)方法。在節(jié)目的一部分已經(jīng)被重復的情況下,例如,在每次可以編輯到節(jié)目中的歌曲合唱,另外的基本上相同的而只是具有變化的時間幀的模式矢量將由DBS模塊找到。在這些情況中,系統(tǒng)通過把他們存儲在緩存中并把他們提交給下面解釋的排序檢測,向前傳送這些結(jié)果。當開始排序檢測時,這些中間結(jié)果的一些將具有時間幀索引,在排序檢測下認為其是無效的,并且接著被忽略。如果存在單一的中間線程,那么檢測的開始和停止時間被更新。
SDI算法和步驟在檢測了第p個廣播幀之后,讓sp作為具有最多鄰近2K+1個節(jié)目-標識符的構(gòu)造倉庫
這里,sm,n=在第m個廣播幀中將要被DBS模塊檢測的第n個節(jié)目-標識符。注意Pm是倉庫大小。通常,對于不同的m,Pm是不同的。
相應(yīng)的,fp是另一個具有相應(yīng)的幀號碼或者幀索引的構(gòu)造 其中,fm,n=sm,n的相應(yīng)幀索引。
并且,SI=上一個歌曲或者節(jié)目的節(jié)目_標識符,其被成功檢測,以便順利的滿足投票檢測和連續(xù)測試。建立寄存器以保存該結(jié)果直到檢測到新的和不同的歌曲和節(jié)目。
步驟1、計算sp的多數(shù)投票。
取出sp的第一個倉庫中的每一個節(jié)目作為參考。搜索2K個倉庫的剩余部分來確定在第一個倉庫中的任何節(jié)目是否通過多數(shù)投票需求。
2、如果wp=0,p=p+1。轉(zhuǎn)到步驟1。
否則,如果是單元素集合(即一個集合里有一個元素)并且不等于零設(shè)SI=wp。轉(zhuǎn)到步驟3。
否則,如果具有不止一個的候選者設(shè)SI=wp(具有多個節(jié)目匹配的情況)。轉(zhuǎn)到步驟3。
在wp中的每一個sp,m執(zhí)行步驟3-7。
3、對于Dp中的每一個sp,m,從fp中相應(yīng)的幀形成矩陣A
A=1f12f2......2K+1f2K+1]]>其中,ft是fp中第t個倉庫中的sp,m幀。
如果在屬于sp,m中的第t個倉庫中沒有幀,那么ft=0。
4、實現(xiàn)對A的壓縮,刪除A中的第q行,其中fq=0。
5、用下面的步驟通過刪除行來清除AA、從n=1開始。
B、計算d1=f1n+1-f1n和d2=kn+1-kn。在執(zhí)行步驟5之后,移除所有的不匹配節(jié)目-標識符的入口,該步驟只標識那些正確排序的入口。
C、這里,數(shù)量d1是B中兩個檢測幀之間的的幀偏移。該數(shù)量也可以轉(zhuǎn)換成實際的時間偏移通過采樣中的幀間距乘以該值和通過每秒的采樣個數(shù)除該值。數(shù)量d2是兩個廣播幀之間的幀偏移。d是兩個偏移之比,其表示檢測順序的增長速率。特別的,在優(yōu)選實施例中,系統(tǒng)期望理想的速率4作為用于d的值。然而,對d的彈性限制是實用的如果[d1∈(4[d2-1]+2,4[d2-1]+6)],那么兩個幀是以正確的排序。這樣,對于d2=1,期望2到6個幀的偏移在兩個鄰近的具有相同節(jié)目-標識符的廣播幀之間。如果d2=2,那么偏移是從2+4到6+4個幀。因此,除4個幀在范圍上的額外偏移之外,該范圍是相同的。2和6的數(shù)值是以理想值4為中心的范圍。代替單一數(shù)值的范圍允許偏移有1比特的彈性(變化)而不是固定的。為了更少的靈活性,可以選擇的范圍是從3到5。用相同的方式,該范圍可以是從1到7以更加靈活。到步驟D。
否則,n=n+1,以便對B中的所有入口排序,如果n<N,轉(zhuǎn)到步驟C。
否則,轉(zhuǎn)到步驟D。
D、返回矩陣C。C中的每一行由滿足排序需求的入口構(gòu)成。
通過刪除那些不能匹配排序需求的行來壓縮B。另外,注意通過八B的第一個入口作為參考,如果第二個入口不滿足匹配需求,那么進程會跳到第三個入口來看看其是否和第一個入口都滿足排序需求。如果第二個入口滿足需求,那么第二個入口變成第三個入口的參考。
這兒,再次強制進行多數(shù)投票需求。
如果C中入口的數(shù)量不滿足多數(shù)投票需求,那么入口sp,m沒有資格進行進一步的測試,返回到步驟3來獲取Dp中的下一個入口。
否則,繼續(xù)執(zhí)行步驟6。
再次使用多數(shù)投票測試,因為即使在步驟5中多數(shù)投票通過了,在用排序規(guī)則需求清理結(jié)果之后,多數(shù)投票測試也可能失敗。如果修改的多數(shù)投票通過,那么新的節(jié)目或者歌曲已經(jīng)被正確的檢測,否則,就不存在檢測。
6、讓s=C中入口的數(shù)量(即,行數(shù))。
如果s<K,轉(zhuǎn)到步驟9。
否則繼續(xù)執(zhí)行回歸分析A、讓C1=[C11C21…Cs1]T和C2=[C12C22…Cs2]T分別作為C的第一和第二列,其中上標T表示矩陣轉(zhuǎn)置。構(gòu)造下面的矩陣用來回歸分析。回歸分析用來計算幀-標識符號碼排序的線性測量D=Σn=1sCn12Σn=1sCn1Σn=1sCn1S]]>E=Σn=1sCn12Cn2Σn=1sCn2]]>B、計算斜度和截距
C、還計算C的相關(guān)系數(shù)r。
7、如果[r>0.9并且slope≥2并且slope≤6],那么有關(guān)入口sp,m的線程已經(jīng)通過了所有的測試并且對于跟蹤模式是有效入口。把入口sp,m和相應(yīng)的線程存儲到稱作Final_List的寄存器中。
否則,放棄入口sp,m。
繼續(xù)對中Dp的下一個入口測試。
8、進入跟蹤模式。每一個Final_List中的線程將被集體或者單獨的跟蹤。
9、開始跟蹤模式A、創(chuàng)建小數(shù)據(jù)庫用于跟蹤i、在集體跟蹤模式中,小數(shù)據(jù)塊包含所有的Final_List中的合格入口的模式矢量。
ii、在單獨跟蹤模式中,用于每一個指定入口Final_List的只包含模式矢量的指定數(shù)據(jù)庫為其入口而建立。
B、如果跟蹤模式=集體跟蹤,i、p=p+1。
ii、運行對第(p+1)個廣播幀的檢測。
iii、更新每一個線程的順序。通過觀察該線程是否滿足排序需求來監(jiān)控每一個線程的指標。
iv、返回步驟i繼續(xù)跟蹤,是否存在至少一個滿足排序需求的線程。
否則,退出跟蹤。
如果跟蹤模式=單獨跟蹤,那么為每一個線程使用指定的數(shù)據(jù)庫以用于跟蹤。步驟與集體跟蹤的步驟一致。
這里的排序需求與其在步驟5c中使用的步驟一樣。也即,我們期望對于新的廣播幀的檢測的幀標識符是以單一的增加方式,并且在優(yōu)選實施例中,在廣播的連續(xù)幀之間的增加量是在2到6之間。
如果對于任意的將被跟蹤的線程,相對于先前的幀,新的廣播不滿足排序需求,那么執(zhí)行容差策略。也即,每一個跟蹤可以有最多Q次的失敗,其中Q=0,1,2,…如果Q=0,那么在不滿足排序需求中沒有容差。
C、在跟蹤模式結(jié)束之后,檢查每一個線程的指標。該具有最高分數(shù)的線程是Final_List中的優(yōu)勝者。
i、該分數(shù)可以根據(jù)線程中的每一個幀與廣播中的相應(yīng)幀之間的差錯計算;或者根據(jù)線程的持續(xù)時間來計算?;蛘咄瑫r根據(jù)兩者來計算。在我們的優(yōu)選實施例中,持續(xù)時間作為每一個線程的跟蹤分數(shù)。跟蹤周期中持續(xù)時間最長的就是獲勝的線程。
D、如果在步驟2中有多個節(jié)目將被記錄,通過獲勝的線程的節(jié)目-標識符來校正該記錄。
10、等待新的第p個來自廣播的幀,返回到步驟1。
普通技術(shù)人員將認識到,在步驟6中用于檢測連續(xù)幀-標識符的線性而使用的值可以被改變或者使得檢測更加容易或者使得檢測更加難。當與未檢測的相比較,增加或降低正確標識的數(shù)量時,這使控制該結(jié)果是否增加假陽性或抑制假陽性。
雖然已經(jīng)詳細的描述并解釋了本發(fā)明,但是可以清楚地理解上述僅僅是為了解釋和舉例,并且不是用來限制的??梢岳斫鈱Ρ景l(fā)明在單個實施例的上下文中所描述的用于明確的各種特征,也可以用于對單個實施例的組合中。相反的,在單個實施例的上下文中描寫的本發(fā)明的各種為了簡潔的特征可以用來單獨地使用或者以任意適當?shù)姆绞浇M合使用??梢岳斫猓诟戒浿忻枋龅奶厥鈱嵤├?,其目的是為了提供本發(fā)明的非常詳細的內(nèi)容而不是用來限定的??梢岳斫猓绻枰脑?,本發(fā)明的任何的軟件部件可以以ROM(只讀存儲器)的形式來實現(xiàn)或者存儲在任何類型的計算機可讀媒體中,包括CD-ROM,磁性媒體,或者作為存儲在計算機存儲器的數(shù)字數(shù)據(jù)文件被傳輸。如果需要的話,軟件單元通??梢允褂贸R?guī)技術(shù)以硬件的形式實現(xiàn)。
本發(fā)明的精神和范圍僅僅由所附的權(quán)利要求書來限制。
表1
表2
表3
表4在穩(wěn)定模式的產(chǎn)生中31個頻帶的開始和結(jié)束位置
表5
權(quán)利要求
1.一種由數(shù)字信號處理系統(tǒng)執(zhí)行的方法,其產(chǎn)生有關(guān)已知信號的標記,該標記包括一組至少有一個元素的數(shù)值,并且對應(yīng)于至少的信號時間幀,這種已知信號由標識索引來標識并且這種時間幀由時間幀索引來標識,包括把至少一個信號的時間幀轉(zhuǎn)換到頻域上,使得對于這樣的時間幀來說,具有預先確定數(shù)量的以至少一個預定寬度的頻帶分組的頻率幅度值;為每一個頻帶計算一個單獨的數(shù)值,其等于預定的在頻帶內(nèi)分組的頻率幅度值函數(shù);在計算機數(shù)據(jù)庫中存儲與其相應(yīng)的時間幀索引和標識索引相關(guān)的標記。
2.根據(jù)權(quán)利要求1所述的方法,其中所述的預先確定包括其中之一(i)線性組合,(ii)二次函數(shù),(iii)矩心,(iv)方差,或者(v)第n個排序矩,其中n是預定的數(shù)字。
3.根據(jù)權(quán)利要求2所述的方法,還包括在相應(yīng)的頻帶中,用預定數(shù)量的頻率幅度值分割的函數(shù)結(jié)果。
4.根據(jù)權(quán)利要求1所述的方法,其中所述函數(shù)是線性組合,其中每一組線性組合的系數(shù)基本上等于在由預定常數(shù)分割的頻帶范圍內(nèi)的頻率幅度值的按序索引。
5.根據(jù)權(quán)利要求1所述的方法,其中所述預定頻帶的數(shù)量在10和100之間。
6.根據(jù)權(quán)利要求1所述的方法,其中所述頻帶占用大約0Hz和近似等于和低于4000Hz的范圍。
7.根據(jù)權(quán)利要求4所述的方法,其中所述預定的常數(shù)基本上等于相應(yīng)頻帶中頻率幅度值的總和。
8.根據(jù)權(quán)利要求7所述的方法,還包括在相應(yīng)頻帶中用預定數(shù)量的頻率幅度值分割的函數(shù)結(jié)果。
9.根據(jù)權(quán)利要求1所述的方法,其中所述頻帶的寬度設(shè)成基本上大于由已知信號的重放速度的預定最大變化量產(chǎn)生的頻率幅度偏移量,這種將被測量的偏移位于頻帶的上邊界或下邊界。
10.根據(jù)權(quán)利要求9所述的方法,其中所述頻帶的上邊界等于下邊界加上一個數(shù)值,該數(shù)值等于最相關(guān)的重放速度變量值乘以下邊界乘以常數(shù)的絕對值,其中所述常數(shù)的范圍在1和100之間。
11.根據(jù)權(quán)利要求10所述的方法,其中所述常數(shù)在10和50之間。
12.根據(jù)權(quán)利要求9所述的方法,其中所述對于每一個頻帶,頻帶的上邊界基本上等于頻帶的下邊界乘以一加預定值的和。
13.根據(jù)權(quán)利要求10所述的方法,其中所述預定的數(shù)值基本上在0和近似10之間。
14.一種由信號處理系統(tǒng)執(zhí)行的方法,其用來確定連續(xù)時間幀持續(xù)時間的預定數(shù)量的一部分的檢測信號是否是基本上與來自多個已知信號的部分至少一個已知信號相同的信號,多個已知信號的每一部分包含多個連續(xù)時間幀的持續(xù)時間并且已知信號的每個時間幀具有標識索引和時間幀索引,包括為至少一個已知信號的至少一個時間幀,計算第一個標記,其包括從在時間幀期間檢測的預定數(shù)量的頻率幅度值中分離出來的一組序號;在計算機數(shù)據(jù)塊中存儲各個第一個標記,其具有相應(yīng)的信號標識索引和所述已知信號的實際開始的時間幀的鄰近時間位置;為檢測的信號的至少一個時間幀計算第二個標記,其包括從在時間幀期間檢測的頻率數(shù)值的預定字中分離出來的一組數(shù)字;從存儲的第一標記集合中選擇第一標記,這些第一標記與第二標記滿足預定的匹配標準,其中所述這種選擇作為檢測信號中的每一個新的時間幀的到達結(jié)果而重復發(fā)生。
15.根據(jù)權(quán)利要求14所述的方法,其中所述第一個標記和第二個標記被計算并用權(quán)利要求1、2或9所述的方法存儲。
16.根據(jù)權(quán)利要求14所述的方法,其中所述預定匹配標準包括計算一組差值的絕對值,該差值是每一個包括第一標記的號碼集合的按序成員和每一個這種元的對應(yīng)于包括第二標記的號碼集合的按序成員之間的差;計算絕對值的和;以及確定該和是否產(chǎn)生小于預定值的絕對值。
17.根據(jù)權(quán)利要求14所述的方法,其中所述預定的匹配標準包括計算一組差值的絕對值,該差值是每一個包括第一標記的號碼集合的按序成員和每一個這種元的對應(yīng)于包括第二標記的號碼集合的按序成員之間的差;計算絕對值集合的總和;以及確定該和是否是所有檢測的第一標記的最小和。
18.根據(jù)權(quán)利要求14所述的方法,其中所述預定的匹配標準包括用下面組之一計算差值(i)第一標記到第二標記的近似矢量間距;(ii)第一標記和第二標記之間的近似L-1標準;(iii)在第一標記中的任一成員和其相應(yīng)的在第二標記中的成員之間的近似最大差值;(iv)在第一標記中的任一成員和其相應(yīng)的在第二標記中的按序成員之間的近似最小差值;(v)在第一標記中的所有成員和他們在第二標記中的相應(yīng)成員之間近似平均差值。
19.根據(jù)權(quán)利要求14所述的方法,還包括步驟確定第一標記的成員是否滿足預定的匹配標準并具有相同的標識索引,該索引等于或者大于K+1和2K+1之間的并包括這兩個值的數(shù)字,其中所述K被估計,使得2K+1等于時間幀的預定數(shù)量。
20.根據(jù)權(quán)利要求14所述的方法,其中所述匹配標準包括與被檢測信號匹配時間幀的時間幀索引值相比,確定相應(yīng)于與相同的標識索引匹配的第一標記匹配的時間幀索引值增加是否基本沒有變化。
21.根據(jù)權(quán)利要求14所述的方法,其中所述匹配標準包括確定相應(yīng)于與相同的標識索引匹配的第一標記匹配的時間幀索引值是否基本上是與被檢測信號的匹配時間幀的時間幀索引值線性相關(guān)。
22.根據(jù)權(quán)利要求14所述的方法,其中所述匹配標準包括計算在相應(yīng)于與相同標識索引匹配的第一標記的時間幀索引值與被檢測信號的匹配時間幀的時間幀索引值之間的近似回歸分析。
23.根據(jù)權(quán)利要求22所述的方法,其中所述確定包括測試相關(guān)的系數(shù)是否大于或近似等于5。
24.根據(jù)權(quán)利要求23所述的方法,其中所述確定包括測試線性斜度是否在近似2到6并且包括2和6的范圍內(nèi)。
25.根據(jù)權(quán)利要求14所述的方法,其中所述被檢測信號的時間幀索引和匹配已知信號被周期性跟蹤以確定至少兩個時間幀的順序,被檢測信號的時間幀索引與匹配的已知信號的時間幀索引的增加而近似一致的增加。
26.一種由信號處理系統(tǒng)執(zhí)行的方法,其用來確定連續(xù)時間幀持續(xù)時間的預定數(shù)量的一部分的檢測信號是否是基本上與大部分來自已知信號的部分至少一個已知信號相同的信號,多個已知信號的每一部分包含多個連續(xù)時間幀的持續(xù)時間并且已知信號的每個時間幀具有標識索引和時間幀索引,包括為至少一個已知信號的至少一個時間幀,計算第一個標記,其包括從在時間幀期間檢測的預定數(shù)量的頻率幅度值中分離出來的一組序號;在計算機數(shù)據(jù)塊中存儲每一個標記,其具有相應(yīng)的已知標識索引和所述已知信號的實際開始的時間幀的鄰近時間位置;為檢測的信號的至少一個時間幀計算第二個標記,其包括從在時間幀期間檢測的頻率幅度值的預定數(shù)量中分離出來的一組數(shù)字;從存儲的第一標記集合中選擇第一標記,這些第一標記與第二標記滿足預定的匹配標準;在至少一個數(shù)據(jù)結(jié)構(gòu)中存儲時間幀索引和相應(yīng)于匹配第一標記的標識索引;從數(shù)據(jù)結(jié)構(gòu)中刪除那些時間幀索引和相應(yīng)的標識索引,其中所述在列表中少于K+1個入口具有相同的標識索引,其中所述K被計算使得2K+1等于組成部分被檢測信號的預定的時間幀數(shù)量;從列表中刪除那些時間幀索引和標識索引,其中不能確定第一標記的時間幀索引是基本同步于被檢測信號的時間幀索引而增加。
27.一種由包括搜索數(shù)據(jù)庫的信號處理系統(tǒng)執(zhí)行的方法,其包括一組至少n個第一標記,其具有相應(yīng)的標識索引和時間幀索引,其中所述每一個第一標記表示在時間幀期間已知信號的頻率成分,尋找所有第一標記和第二標記的搜索滿足預定的匹配標準,其中所述第二標記表示在時間幀期間被檢測信號的頻率分量,包括在計算機存儲器中存儲第一數(shù)據(jù)陣列,其包括所有的第一標記,由此在第一數(shù)據(jù)陣列中的第n行是第n個第一標記的成員集合;對于在第一數(shù)據(jù)陣列中的至少一列,在計算機存儲器中進行排序,列元素或者以升序或者以降序排列;在計算機存儲器中對另外的數(shù)據(jù)陣列進行存儲,其中所述在第二數(shù)據(jù)陣列中的一個元素對應(yīng)第一數(shù)據(jù)陣列中的一列,并且第二數(shù)據(jù)陣列中的一個元素值對照索引到在排序步驟之前產(chǎn)生的第一數(shù)據(jù)陣列的相應(yīng)元素;用第二標記進行搜索以找到第二標記和第一數(shù)據(jù)陣列的行之間的最好匹配;通過使用第二數(shù)據(jù)陣列的對照索引并把它應(yīng)用到匹配行中,來恢復任一匹配的第一標記的標識索引和時間幀索引。
28.根據(jù)權(quán)利要求24所述的方法,其中所述搜索算法是下面搜索算法的其中之一二元搜索、B樹、線性搜索、啟發(fā)性樹搜索、深度第一搜索、寬度第一搜索。
29.由具有搜索數(shù)據(jù)庫的信號處理系統(tǒng)執(zhí)行的方法,包括至少一個表示信號的第一標記,使用包括第二標記的查詢,其中所述第一和第二標記都是預定元素數(shù)量的集合,每一個元素一個號碼,包括對于每一個第一標記,使用預定的計算來計算第一個整數(shù),作為包括每一個第一標記的元素子集的函數(shù);在相應(yīng)于第一整數(shù)值的計算機存儲器位置中存儲一個參考,所述參考對應(yīng)于在計算第一標記中使用的相應(yīng)的第一標記;用相同的應(yīng)用到相應(yīng)的第二標記子集中的預定算法來計算第二整數(shù);從第二整數(shù)中選擇相應(yīng)于預定差錯函數(shù)內(nèi)的整數(shù)值的存儲器位置;確定任意的對應(yīng)所選存儲器位置的第一標記和它們的標識索引和時間幀索引。
30.根據(jù)權(quán)利要求29所述的方法,其中所述預定的計算是標記中至少兩個元素的線性組合。
31.根據(jù)權(quán)利要求29所述的方法,其中所述子集具有少于第一標記的5個元素。
32.根據(jù)權(quán)利要求29所述的方法,其中所述差錯函數(shù)是下面其中之一(i)確定兩個整數(shù)值是否在相隔的閾值距離之內(nèi);(ii)選擇第一整數(shù),該第一整數(shù)是相比所有的其他第一整數(shù)距離第二整數(shù)最近的。
33.根據(jù)權(quán)利要求14所述的方法,其中所述信號是包括未知標識的節(jié)目,其沒有找到匹配任何部分的任一已知信號,還包括具有相應(yīng)標記的時間幀,包括建立任意的具有標識索引的標識符;向那些源自信號的標記分配標識索引;當未知信號被標識時,把任意的標識符用正確的標識替代。
34.根據(jù)權(quán)利要求33所述的方法,還包括用預先存在的標識索引替代數(shù)據(jù)庫中任意的標識索引,該預先存在的標識索引參照標識信號的有效的標識數(shù)據(jù)。
35.一種包括中央處理單元的機器,數(shù)字數(shù)據(jù)收發(fā)機設(shè)備和包括任一的機器可讀媒質(zhì)的數(shù)據(jù)存儲設(shè)備,其中所述機器可讀媒質(zhì)包含計算機程序,當由機器執(zhí)行該計算機程序時,其執(zhí)行權(quán)利要求1-34所述的方法。
36.一種任意類型的機器可讀媒質(zhì),其包含計算機程序的數(shù)據(jù),當計算機執(zhí)行這些程序時,其執(zhí)行權(quán)利要求1-34所述的方法。
全文摘要
本發(fā)明涉及對廣播節(jié)目的自動檢測和標識,例如通過收音機、電視、因特網(wǎng)或其他媒質(zhì)廣播的音樂、演講或視頻。“廣播”意味著任意的有效內(nèi)容資源,不論是已知的還是今后發(fā)明的,其包括流線型、對等傳輸或者網(wǎng)絡(luò)流量的檢測。通過在節(jié)目期間為許多短時間段的每一個導出數(shù)字代碼,以及通過存儲數(shù)字代碼的序列和參考節(jié)目標識來登記已知的節(jié)目。輸入信號的檢測和標識通過類似地從其上抽取出數(shù)字代碼,以及通過比較檢測的數(shù)字代碼的序列和存儲的序列而進行輸入信號的檢測和標識。提供可以優(yōu)化存儲節(jié)目的正確檢測率的測試標準。其他的在比較處理中優(yōu)化被用來加快比較進程。
文檔編號H04H60/56GK1997989SQ200580006241
公開日2007年7月11日 申請日期2005年2月16日 優(yōu)先權(quán)日2004年2月26日
發(fā)明者C·關(guān) 申請人:媒介向?qū)в邢薰?br>