一種實時音頻比對方法
【專利摘要】本發(fā)明的實時音頻比對方法,用于判斷兩路信號是否為同樣的內容:兩路音頻信號的初始同步和兩路音頻的周期比對;對兩路音頻信號分別讀取N秒鐘的音頻,采樣得到兩組待同步的音頻采樣序列;通過移動延時值,將兩路音頻采樣序列對齊,本次移動延時值是為粗同步;然后從兩路音頻采樣序列的同一時間點開始向后各取長度為M的同步測試音頻序列,得到兩個同步測試音頻序列的特征值序列,延時值分別為D0、D1和D2;分別計算這兩個同步測試音頻序列特征值的相關性值L0、L1和L2;定期的對兩路音頻進行音頻信號采樣,計算兩列采樣音頻序列的MEL倒譜特征值并相關性;如果相關性仍然大于門限A,說明這段時間內兩路音頻還是保持內容一致的。
【專利說明】一種實時音頻比對方法
【技術領域】
[0001 ] 本發(fā)明涉及一種判斷兩路實時音頻信號的內容是否相同的比對方法。
【背景技術】
[0002]兩路實時音頻信號一般是經過不同的傳輸通道傳入的,因為信道傳輸的延時,會造成兩路信號在到達時間上的不同步。因此對這兩路實時音頻要做的第一件事情是進行同步計算,找出兩路信號的延時大小。同步的結果會極大影響后續(xù)比對的準確度。
[0003]所以在實時音頻的比對中,同步算法是最關鍵的模塊。
[0004]現有技術中,判斷兩路音頻信號是否同步,具有多種方法:
I)有輔助信息的同步,例如“音頻水印”技術,是在原始音頻中插入一些額外的輔助信息,依靠這些輔助信息進行同步。這些特定的信息耳朵聽不到,但是設備可以檢測出來,用這些信息輔助進行同步。但這種方法一定程度上會降低聲音的質量,另外前端需要安裝特殊設備,提聞了成本。
[0005]2)無輔助信息的同步,可以再細分為
a.時間域上的同步計算:根據音頻信號的時間特性的相關性來計算延時??梢允褂玫臅r間特性包括時域的信號包絡,或者是音頻能量的變化趨勢等。這類算法的優(yōu)點是計算量小,因為不需要變換到頻域。缺點是很容易受到噪聲、信道衰減的影響,準確率低,難以收斂。
[0006]b.變換域上的同步計算:把音頻信號變換到頻域(或其他變換域),根據頻域特征值的相關性來計算延時。這類算法的優(yōu)點是準確性較高。由于利用了頻域的特性,符合人耳辯聲的原理,受噪聲和衰減的影響小。缺點是涉及到時頻變換,計算量大。
[0007]因此,現有的各種技術都存在缺陷,有待于進一步改進和發(fā)展。
【發(fā)明內容】
[0008]本發(fā)明的目的是提供一種計算量小,精度高的兩路實時音頻信號的對比方法。
[0009]為了實現上述目的,本發(fā)明采用如下技術方案:
一種實時音頻比對方法,用于對兩路實時的音頻信號進行比較分析,判斷兩路信號是否為同樣的內容,具體包括:
兩路首頻/[目號的初始同步和兩路首頻的周期比對;
所述兩路音頻信號的初始同步,包括以下步驟:
對第一路音頻信號和第二路音頻信號,分別讀取N秒鐘的音頻,對兩段音頻進行采樣得到兩組待同步的音頻采樣序列;首先假設兩路音頻信號的延時值為D為D0,D0=0,進入第一級同步,也就是粗同步的過程;
通過假設的延時值D0,移動兩路音頻采樣序列,使其在時間上對齊;然后從兩路音頻采樣序列的同一時間點開始向后各取長度為M的同步測試音頻序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列; 對假定的延時值D0,減去和加上一個搜索步長S以后,分別得到兩個新的假定延時值Dl和D2。在延時值分別為DO、Dl和D2時,分別計算這兩個同步測試音頻序列特征值的相關性值L0、L1和L2 ;
根據所述相關值,判斷下一步搜索方向繼續(xù)搜索,一直搜索到確定了最終的取值區(qū)間范圍;
在這個區(qū)間內,縮小每一次搜索的步長S,也就是進入第二次同步即細同步,細同步的搜索步長小于粗同步;
最后找出具體的滿足條件(相關性大于門限A)的延時值D值;
所述兩路音頻的周期比對包括以下步驟:
定期的對兩路音頻進行音頻信號采樣,計算兩列采樣音頻序列的MEL倒譜特征值,然后比較他們的相關性;如果相關性仍然大于門限A,說明這段時間內兩路音頻還是保持內容一致的。
[0010]所述的實時音頻比對方法,其中,所述計算這兩個同步測試音頻序列特征值的相關性值L0、LI和L2包括以下步驟:
以DO為假設延時,對齊所述兩路音頻采樣序列,然后從兩路音頻采樣序列的同一時間點開始向后各取長度為M的同步測試音頻序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列;計算這兩個特征值序列的相關性值L0。
[0011]所述的實時音頻比對方法,其中,所述計算這兩個同步測試音頻序列特征值的相關性值L0、LI和L2包括以下步驟:
假設兩路音頻信號的延時值為Dl=DO - S秒,以Dl為延時對齊兩列音頻序列,然后從對齊后的兩路音頻序列的同一時間點處開始向后各取長度為M的音頻采樣序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列;對這兩個MEL倒譜特征值序列計算相關性得到相關值LI。
[0012]所述的實時音頻比對方法,其中,所述計算這兩個同步測試音頻序列特征值的相關性值L0、LI和L2包括以下步驟:
假設兩路音頻信號的延時值為D2=D0+S秒,以D2為延時對齊兩列音頻序列,然后從對齊后的兩個音頻序列的同一時間點處開始向后各取長度為M的音頻采樣序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列。計算這兩個序列計算相關性值L2。
[0013]所述的實時音頻比對方法,其中,根據所述相關值判斷下一步搜索方向,具體包括以下步驟:
當出現L1〈L0且L2〈L0的情況,實際的延時值D —定就在D1~D2之間,表示第一級同步完成,將進入第二級同步;
當出現L2>L0>L1時,可判斷D>D2,這時候應當繼續(xù)向右側搜索,取DO = D2,重復第一級同步的步驟;
當出現L2〈L0〈L1時,可判斷D〈D1,這時候應當繼續(xù)向左側搜索,取DO = D1,重復第一級同步的步驟。
[0014]本發(fā)明提供的實時音頻對比方法,使用了頻域的特征值(MEL倒譜)來進行比對。而普通的利用MEL倒譜比對的算法,在提高了精度的同時,計算量也增大了,相應的對硬件平臺的要求也提高了。如果要降低硬件的成本,就必須有效的降低同步算法的計算量。本發(fā)明使用的“雙向搜索”方法,可以只對少數假設點進行計算,就快速的判斷出實際延時值所在的方向,進而定位取值區(qū)間。然后利用“兩級同步”的方法,在找到的區(qū)間內縮小步長再次進行快速搜索,直到找到真實的延時值。整個方法避免了一個一個采樣點去計算和比較,極大的節(jié)省了計算資源。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明實時音頻比對方法的流程示意圖;
圖2為本發(fā)明延時值D落在了(D1,D2)區(qū)間內時,延時值同相關性的曲線圖;
圖3為本發(fā)明延時值D大于D2時,延時值同相關性的曲線圖;
圖4為本發(fā)明延時值D小于Dl時,延時值同相關性的曲線圖。
【具體實施方式】
[0016]下面對本發(fā)明做進一步詳細說明。
[0017]本發(fā)明的實時音頻比對方法,可以對兩路實時的音頻信號進行比較分析,判斷兩路信號是否為同樣的內容,包括初始同步和周期性比對兩個步驟。
[0018]第一個步驟,兩路音頻的初始同步。
[0019]本發(fā)明的初始同步算法采用“頻域特征值求相關性”、“雙向搜索”、“兩級同步”的獨創(chuàng)性方法,算法的流程,如圖1所示,包括以下步驟:
步驟101、對第一路音頻信號和第二路音頻信號,分別讀取N秒鐘的音頻,對兩段音頻進行采樣,得到兩組待同步的音頻采樣序列。首先假設兩路音頻信號的延時值為D為D0,(DO=O)0開始進入第一級同步,也就是粗同步,搜索步長為S。
[0020]步驟102,在假設延時值的基礎上,移動兩路音頻采樣序列,使其在時間上對齊。然后從兩路音頻采樣序列的同一時間點開始向后各取長度為M的同步測試音頻序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列,計算這兩個同步測試音頻序列特征值的相關性值L0;
再假設兩路音頻信號的延時值為DO - S秒(Dl= D0-S)。以Dl為延時對齊兩列音頻序列。然后從對齊后的兩路首頻序列的同一時間點處開始向后各取長度為M的首頻米樣序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列;對這兩個MEL倒譜特征值序列計算相關性得到相關值LI;
假設兩路音頻信號的延時值為D0+S秒(D2= D0+S)。以D2為延時對齊兩列音頻序列。然后從對齊后的兩個音頻序列的同一時間點處開始向后各取長度為M的音頻采樣序列,分別計算這兩路同步測試音頻序列的MEL倒譜特征值,得到兩個同步測試音頻序列的特征值序列。計算這兩個序列之間的相關性值L2;
步驟103,根據所述相關值,判斷下一步搜索方向。
[0021]在步驟102中,本發(fā)明等距離的假設了三個可能的延時值Dl DO和D2,并在這三個假設下計算了兩個序列對應的相關性大小LI LO和L2,相關性大小LI LO和L2存在下面幾種情況: (I)實際的延時值D落在了(D1,D2)區(qū)間內,如圖2所示,
假設這兩個音頻序列的內容是完全相同的,只是存在一個延時D秒。那么兩路同步測試音頻序列的MEL倒譜特征值的相關性(縱坐標)與計算相關性的時候所假設的延時大小(橫坐標)之間的關系如圖2中的曲線。假設的延時值越接近實際的延時D,相關性就越大,反之越小。
[0022]利用這種特點,本發(fā)明可以判斷,當出現L1〈L0且L2〈L0的情況,那么實際的延時值D—定就在D1~D2之間某個地方。出現這種情況,表示第一級同步(粗同步)完成,將進入步驟104進行第二級同步(細同步)。
[0023](2)實際的延時值D要大于D2,如圖3所示,
當出現L2>L0>L1時,可判斷D>D2。這時候應當繼續(xù)向右側搜索,取DO = D2,重復步驟
102。
[0024](3)實際的延時值D要小于D1,如圖4所示,
當出現L2〈L0〈L1時,可判斷D〈D1。這時候應當繼續(xù)向左側搜索,取DO = D1,重復步驟
102。
[0025]步驟104,通過前面的搜索,已經找到了延時值D所在的目標區(qū)間。為了找出具體的延時值D值,縮小每一次搜索的步長S,然后以目標區(qū)間的中間點開始進行第二級同步(細同步)搜索。搜索的判斷方式與步驟103里的第一級同步搜索(粗同步)相同。當最終找到一個點Dx,對應的相關性值Lx大于某一個設定的門限A時,可以認為Dx就是真實的延時值。并且同時可以判定這兩個序列是完全相同的。
[0026]如果搜索完了整個N秒的采樣序列,都沒有找到有符合要求的延時值,那么可以認為兩組音頻的內容不同(或者實際延時超出了最大可處理的延時范圍)。
[0027]第二個步驟,兩路音頻信號的周期比對。
[0028]在完成了同步以后,至少可以說明同步時所用的兩段音頻采樣序列內容相同。但是本發(fā)明的目標是對兩路音頻不間斷的進行實時的比較,因此同步之后,還需要定期的對兩路音頻進行音頻信號采樣,計算兩列采樣音頻序列的MEL倒譜特征值,然后比較他們的相關性。如果相關性仍然大于門限A,說明這段時間內兩路音頻還是保持內容一致的。如果相關性低于門限值A,有兩種可能性:一是同步丟失了。因為傳輸信道存在延時抖動,兩路音頻之間的延時值并不是固定的,而是在不斷變化中。另一種可能性就是兩路音頻現在的內容不一樣了(比如某一路被插播了非法內容)。
[0029]不論是上述哪種原因造成的相關性過低,都需要重新進行同步計算。如果同步計算后能重新得到滿足條件的延時值,說明音頻是相同的,只是延時值發(fā)生了變化,不需要對外告警;否則,說明音頻內容不同了,需要設備向外發(fā)出相應的告警信息。
[0030]本發(fā)明采用MEL倒譜序列作為音頻的特征值,通過特征值的相關性判斷兩列音頻是否內容相同。MEL倒譜序列是模擬了人耳的聽覺特點之后,對聲音的頻譜所做的分段特征提取。這種特征值對于語音、音樂都有很好的代表性,即使在聲音經過了壓縮處理或者是傳輸信道較惡劣的情況下,都可以保證比對結果的準確性。
[0031]本發(fā)明的主要創(chuàng)新點在于,采用了一種獨創(chuàng)的“頻域特征值求相關性”、“雙向搜索”和“兩級同步”的算法來實現快速的同步。
[0032]由于本發(fā)明使用了頻域的特征值(MEL倒譜)來進行比對,在提高了精度的同時,計算量也增大了。如果要降低硬件的成本,就必須有效的降低同步算法的計算量。本發(fā)明使用的“雙向搜索”方法,可以只對少數假設點進行計算,就快速的判斷出實際延時值所在的方向,進而定位取值區(qū)間。然后利用“兩級同步”的方法,在找到的區(qū)間內縮小步長再次進行快速搜索,直到找到真實的延時值。整個方法避免了一個一個采樣點去計算和比較,極大的節(jié)省了計算資源。實際使用效果良好,可以在一些嵌入式的硬件平臺上實現完整的兩路實時音頻比對。
[0033]以上內容是對本發(fā)明的優(yōu)選的實施例的說明,可以幫助本領域技術人員更充分地理解本發(fā)明的技術方案。但是,這些實施例僅僅是舉例說明,不能認定本發(fā)明的【具體實施方式】僅限于這些實施例的說明。
【權利要求】
1.一種實時音頻比對方法,用于對兩路實時的音頻信號進行比較分析,判斷兩路信號是否為同樣的內容,具體包括: 兩路首頻彳目號的初始同步和兩路首頻的周期比對; 所述兩路音頻信號的初始同步,包括以下步驟: 對第一路音頻信號和第二路音頻信號,分別讀取~秒鐘的音頻,對兩段音頻進行采樣得到兩組待同步的音頻采樣序列;首先假設兩路音頻信號的延時值為0為00,00=0,進入第一級同步,也就是粗同步的過程; 基于假設的延時值00,移動兩路音頻采樣序列,使其在時間上對齊;然后從兩路音頻采樣序列的同一時間點開始向后各取長度為1的同步測試音頻序列,分別計算這兩路同步測試音頻序列的1此倒譜特征值,得到兩個同步測試音頻序列的特征值序列; 對假定的延時值00,減去和加上一個搜索步長3以后,分別得到兩個新的假定延時值01 和 02 ; 在延時值分別為00、01和02時,分別計算這兩個同步測試音頻序列特征值的相關性值10,11 和 12 ; 根據所述相關值,判斷下一步搜索方向繼續(xù)搜索,一直搜索到確定了最終的取值區(qū)間范圍; 在這個區(qū)間內,縮小每一次搜索的步長3,也就是進入第二次同步即細同步,細同步的搜索步長小于粗同步; 最后找出具體的延時值0值; 所述兩路音頻的周期比對包括以下步驟: 定期的對兩路音頻進行音頻信號采樣,計算兩列采樣音頻序列的1此倒譜特征值,然后比較他們的相關性;如果相關性仍然大于門限八,說明這段時間內兩路音頻還是保持內容一致的。
2.根據權利要求1所述的實時音頻比對方法,其特征在于,所述計算這兩個同步測試音頻序列特征值的相關性值⑶、11和12包括以下步驟: 以00為假設延時,對齊所述兩路音頻采樣序列,然后從兩路音頻采樣序列的同一時間點開始向后各取長度為1的同步測試音頻序列,分別計算這兩路同步測試音頻序列的121倒譜特征值,得到兩個同步測試音頻序列的特征值序列;計算這兩個特征值序列的相關性值10。
3.根據權利要求2所述的實時音頻比對方法,其特征在于,所述計算這兩個同步測試音頻序列特征值的相關性值⑶、11和12包括以下步驟: 假設兩路音頻信號的延時值為01=00 - 8秒,以01為延時對齊兩列音頻序列,然后從對齊后的兩路音頻序列的同一時間點處開始向后各取長度為1的音頻采樣序列,分別計算這兩路同步測試音頻序列的1此倒譜特征值,得到兩個同步測試音頻序列的特征值序列;對這兩個121倒譜特征值序列計算相關性得到相關值11。
4.根據權利要求3所述的實時音頻比對方法,其特征在于,所述計算這兩個同步測試音頻序列特征值的相關性值⑶、11和12包括以下步驟: 假設兩路音頻信號的延時值為02=00+3秒,以02為延時對齊兩列音頻序列,然后從對齊后的兩個音頻序列的同一時間點處開始向后各取長度為1的音頻采樣序列,分別計算這兩路同步測試音頻序列的1此倒譜特征值,得到兩個同步測試音頻序列的特征值序列;根據兩個同步測試音頻序列的特征值序列,計算這兩個序列計算相關性值12。
5.根據權利要求4所述的實時音頻比對方法,其特征在于,根據所述相關值判斷下一步搜索方向,具體包括以下步驟: 當出現11化0且12化0的情況,實際的延時值0 —定就在01~02之間,表示第一級同步完成,將進入第二級同步; 當出現12凡0凡1時,可判斷0?02,這時候應當繼續(xù)向右側搜索,取00 = 02,重復第一級同步的步驟; 當出現12化0化1時,可判斷1X01,這時候應當繼續(xù)向左側搜索,取00 = 01,重復第一級同步的步驟。
【文檔編號】G10L25/51GK104505101SQ201410814218
【公開日】2015年4月8日 申請日期:2014年12月24日 優(yōu)先權日:2014年12月24日
【發(fā)明者】張丹, 胡志琳, 李佳驊, 石建 申請人:北京巴越赤石科技有限公司