專利名稱:一種音頻壓縮流的解碼端錯誤恢復方法
技術(shù)領(lǐng)域:
本發(fā)明屬于音頻處理技術(shù)領(lǐng)域,尤其涉及一種音頻壓縮流的解碼端錯誤恢復方法。
背景技術(shù):
為了節(jié)約存儲空間和傳輸帶寬,越來越多的高保真音頻采用壓縮編碼并分幀傳輸,如MP3,AC3,AAC,WMA等。在存儲和傳輸過程中,隨機錯誤或者網(wǎng)絡擁塞會帶來幀丟失的問題,從而導致音頻質(zhì)量的下降。音頻的錯誤恢復技術(shù)就是要在幀丟失的情況下,恢復出原始幀從而改善主觀聽覺質(zhì)量。
解碼端的音頻錯誤恢復方法是對于接收到的數(shù)據(jù)通過一些方法來近似出丟失的數(shù)據(jù),它既可以在時域,也可以在壓縮域進行。因為音頻一幀包含較多樣點(1024~2048個樣點),所以在時域上的錯誤恢復方法需要保存前向后向若干幀,從而導致存儲空間開銷過大,且僅適用于丟幀率低(<10%)的情況。而之前的壓縮域錯誤恢復方法效果均不是十分理想。早期使用簡單的靜音,幀替代方法很難獲得良好的錯誤恢復效果,而用噪聲替代丟失幀(Y.Huang,et al.,Packet loss compensation method using injection ofspectrally shaped noise,to Zarlink Semiconductor Inc.,2006.)的方法是分析前后幀的能量,用一定能量的噪聲來替代丟失幀,仍然較為簡單,難以對付較高丟幀率(>10%)的情況。基于正弦加噪聲模型的錯誤恢復方式(R.Sang-Uk and K.Rose,“An MDCT Domain Frame-Loss ConcealmentTechnique for MPEG Advanced Audio Coding,”Proc.IEEE InternationalConference on Acoustics,Speech and Signal Processing(ICASSP′07),2007,pp.I-273-I-276.)則是將改進離散余弦變換MDCT系數(shù)分為正弦部分與噪聲部分,對正弦部分采用了MDCT-MDST(改進離散正弦變換)的計算方法。計算MDST變換的頻譜能量方法需要使用前向后向共四幀數(shù)據(jù),并且需要根據(jù)二次方程確定MDCT系數(shù)正弦部分的符號,所以運算復雜度高,并且該方法未能解決可能存在的雙重敲擊聲。
綜上所述,目前的解碼端音頻錯誤恢復技術(shù)尚不能實現(xiàn)對音頻幀的高效錯誤處理,從而使得音頻丟失幀的主觀感受不理想。
發(fā)明內(nèi)容
本發(fā)明提供了一種音頻壓縮流的解碼端錯誤恢復方法,該方法基于正弦瞬態(tài)模型MDCT變換編碼的錯誤恢復技術(shù),改進了在MDCT變換域上前后幀的系數(shù)進行正弦估計與恢復的方法,算法復雜度大大降低。
一種音頻壓縮流的解碼端錯誤恢復方法包括六個步驟,如下 1.檢測得到當前MDCT域的解碼音頻流的某一幀發(fā)生幀丟失,命名該幀為第m幀,該幀的前一幀為m-1幀,該幀的后一幀為第m+1幀; 2.將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分; 3.對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否有瞬態(tài)幀; 4.若瞬態(tài)檢測判斷丟失幀的前后幀有瞬態(tài)幀,則采用瞬態(tài)幀恢復方法,即用非瞬態(tài)幀替代丟失幀; 5.若瞬態(tài)檢測判斷的前后幀無瞬態(tài)幀,則進行丟失幀的正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復,實現(xiàn)解碼音頻流的丟失幀的錯誤恢復; 6.輸出恢復好的解碼音頻流。
本發(fā)明所述的MDCT變換方法如下 以x(n)表示時域的第m幀內(nèi)的一維音頻信號序列,w(n)表示對信號所加的窗函數(shù),MDCT變換表示為(8)式 其中dk,m表示第m幀內(nèi)的MDCT系數(shù),N表示頻譜線的數(shù)目,一般為窗長的一半,m和k分別表示時域幀和頻域的編號。
當x(n)為正弦信號,w(n)為正弦窗函數(shù)時,x(n)可表示為(10)式 x(n)=Asin((πf/N)n+φ)......(11) w(n)可表示為(3)式 其中,A、f和φ分別為正弦信號x(n)的幅度、頻率和初始相位,這樣可以將(1)式化簡為(4)式
其中
從式(4)中可以發(fā)現(xiàn),每一幀的MDCT系數(shù)隨正弦信號的頻率和相位變化較大。而對于相差一幀的MDCT系數(shù),則相當于相移為πf,所以我們將前一幀和后一幀的MDCT系數(shù)分別表示為dk,m-1和dk,m+1
將(17)式和(18)式相加,化簡可以得到(19)式 (21)式就是正弦頻率為f的音頻信號序列第m幀的MDCT系數(shù),表明MDCT系數(shù)與前后幀系數(shù)和正弦頻率相關(guān)。
本發(fā)明所述的將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分的方法包括四個步驟,如下 1.根據(jù)(9)式計算解碼音頻流丟失幀第m幀的前后幀的偽譜; 2.根據(jù)式(9)計算得到前后幀的偽譜,并根據(jù)式(10)計算解碼音頻流丟失幀第m幀的能量估計值Sk,m; 3.在丟失幀的能量估計值中尋找局部最大值,設LM是能量估計值Sk,m局部最大值kl的集合,M是該集合的鄰域,則丟失幀的正弦主要成分一定出現(xiàn)在局部最大值的鄰域M內(nèi); 4.確定MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分,正弦成分集合為滿足式(9)的集合,非正弦成分集合為滿足式式(11)的集合。
SCsub={k||k-kl|≤M,kl∈LM}......(11) 本發(fā)明所述的對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否為瞬態(tài)幀的方法如下 1.根據(jù)公式(22)計算解碼音頻流的第m-2、m-1幀的高頻正弦成分HFSC; 2.令E為正弦能量,根據(jù)式(23)計算得到解碼音頻流的m-1幀的正弦能量; 3.根據(jù)式(24)算出瞬態(tài)比例Rate,其中TD為自適應門限,由式(25)計算得到,mean、std代表了除當前幀以外的X個幀的均值和標準差,C為常數(shù); TD=mean+k*std+C......(15) 4.判斷音頻解碼流的前幀瞬態(tài)比例是否大于閾值,該閾值即為TD,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟5; 5.根據(jù)上述(263)式計算解碼音頻流的m+1、m-1幀的高頻正弦成分; 6.根據(jù)上述(274)式計算解碼音頻流的m+1幀的正弦能量; 7.根據(jù)上述(282)式計算解碼音頻流的m+1幀的瞬態(tài)比例; 8.判斷音頻解碼流的后幀瞬態(tài)比例是否大于閾值,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟10; 9.得出前后幀有瞬態(tài)的結(jié)論; 10.得出前后幀無瞬態(tài)的結(jié)論。
本發(fā)明所述的瞬態(tài)幀恢復方法,即用非瞬態(tài)幀的MDCT系數(shù)替代丟失幀,實現(xiàn)解碼音頻流的丟失幀的錯誤恢復的方法如下 通過瞬態(tài)檢測方法得到音頻解碼流的用于恢復丟失幀的參考幀,即丟失幀的前后幀為瞬態(tài)幀時,則使用相鄰的非瞬態(tài)幀MDCT系數(shù)替代丟失幀的MDCT系數(shù),解決了將瞬態(tài)幀用于恢復丟失幀產(chǎn)生雙重敲擊聲的問題。
本發(fā)明所述的對解碼音頻流的丟失幀進行正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復的方法如下 正弦成分系數(shù)恢復方法步驟如下 1.根據(jù)式(8)定義一個參考因子α,α由式(16)表示,將α代入(8)式得到(17)式,由式(17)和式(9)可以計算出參考因子α,得到式(18), α=1/cos(πf)......(16) 2.因為偽譜(pseudo-spectrum)與DFT具有很強的相似性,所以我們對解碼音頻流丟失幀m的能量估計進行頻率估計,根據(jù)式(10)計算能量估計值Sk,m; 3.確定參考因子α的符號,若令否則其中從而根據(jù)余弦函數(shù)cos(πf)的符號來得到α的符號; 4.求出解碼音頻流丟失幀的正弦成分系數(shù) 非正弦成分系數(shù)恢復方法采用噪聲替代方法或者幀替代方法。幀替代方法是指既用前一幀的對應MDCT系數(shù)代替丟失幀的MDCT非正弦成分系數(shù)。
本發(fā)明改進了在MDCT變換域上對丟失幀的前后幀的系數(shù)進行正弦估計與恢復的方法,使算法復雜度大大降低,并結(jié)合MDCT域瞬態(tài)估計算法有效的解決了雙重敲擊聲,算法效果突出。
圖1是本發(fā)明的技術(shù)方案流程圖; 圖2是本發(fā)明時域/幀以及頻譜線的標號關(guān)系示意圖; 圖3是MDCT系數(shù)分類的方法示意圖示意圖; 圖4是瞬態(tài)信息檢測的過程示意圖; 圖5是瞬態(tài)幀恢復示意圖; 圖6是正弦成分系數(shù)恢復的方法示意圖。
具體實施例方式 本發(fā)明提供了一種音頻壓縮流的解碼端錯誤恢復方法,該方法基于正弦瞬態(tài)模型MDCT變換編碼的錯誤恢復技術(shù),改進了在MDCT變換域上前后幀的系數(shù)進行正弦估計與恢復的方法,算法復雜度大大降低。
下面結(jié)合附圖對本發(fā)明一種音頻壓縮流的解碼端錯誤恢復方法的實施例進行詳細說明。
如圖1所示,一種音頻壓縮流的解碼端錯誤恢復方法包括六個步驟,如下 1.檢測得到當前MDCT域的解碼音頻流的某一幀發(fā)生幀丟失,命名該幀為第m幀,該幀的前一幀為m-1幀,該幀的后一幀為第m+1幀; 2.將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分; 3.對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否有瞬態(tài)幀; 4.若瞬態(tài)檢測判斷丟失幀的前后幀有瞬態(tài)幀,則采用瞬態(tài)幀恢復方法,即用相鄰的非瞬態(tài)幀替代丟失幀; 5.若瞬態(tài)檢測判斷的前后幀無瞬態(tài)幀,則進行丟失幀的正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復,實現(xiàn)解碼音頻流的丟失幀的錯誤恢復; 6.輸出恢復好的解碼音頻流。
現(xiàn)具體介紹本方法的六個步驟 1)檢測得到當前MDCT域的解碼音頻流的第m幀發(fā)生幀丟失 以x(n)表示時域上第m幀內(nèi)的一維音頻信號序列,w(n)表示對信號所加的窗函數(shù),MDCT 變換表示為(29)式 其中dk,m表示第m幀內(nèi)的MDCT系數(shù),N表示頻譜線的數(shù)目,一般為窗長的一半,m和k分別表示時域幀和頻域的編號。
當x(n)為正弦信號,w(n)為正弦窗函數(shù)時,x(n)可表示為(31)式 x(n)=Asin((πf/N)n+φ)......(32) w(n)可表示為(3)式 其中,A、f和φ分別為正弦信號x(n)的幅度、頻率和初始相位,這樣可以將(1)式化簡為(4)式
其中
從式(4)中可以發(fā)現(xiàn),每一幀的MDCT系數(shù)隨正弦信號的頻率和相位變化較大。而對于相差一幀的MDCT系數(shù),則相當于相移為πf,所以我們將前一幀和后一幀的MDCT系數(shù)分別表示為dk,m-1和dk,m+1
將(38)式和(39)式相加,化簡可以得到(40)式 (42)式就是正弦頻率為f的音頻信號序列第m幀的MDCT系數(shù),表明MDCT系數(shù)與前后幀系數(shù)和正弦頻率相關(guān)。本發(fā)明時域/幀以及頻譜線的標號關(guān)系如圖2所示,m表示當前丟失幀,m+1表示下一時刻到來的幀,m-1表示前一時刻的幀,k表示當前頻譜線,k+1表示更高的頻譜線,k-1表示更低的頻譜線。
2)將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分 如圖3所示,將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分包括以下四個步驟 1.根據(jù)(9)式計算解碼音頻流丟失幀第m幀的前后幀的偽譜; 2.根據(jù)式(9)計算得到前后幀的偽譜,并根據(jù)式(10)計算解碼音頻流丟失幀第m幀的能量估計值Sk,m; 3.在丟失幀的能量估計值中尋找局部最大值,設LM是能量估計值Sk,m局部最大值kl的集合,M是該集合的鄰域,則丟失幀的正弦主要成分一定出現(xiàn)在局部最大值的鄰域M內(nèi); 4.確定MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分,正弦成分集合為滿足式(9)的集合,非正弦成分集合為滿足式式(11)的集合。
SCsub={k||k-kl|≤M,kl∈LM}......(11) 3)對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否為瞬態(tài)幀 如圖4所示,對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否為瞬態(tài)幀包括以下十個步驟 1.根據(jù)公式(43)計算解碼音頻流的第m-2、m-1幀的高頻正弦成分HFSC; 2.令E為正弦能量,根據(jù)式(44)計算得到解碼音頻流的m-1幀的正弦能量; 3.根據(jù)式(45)算出瞬態(tài)比例Rate,其中TD為自適應門限,由式(46)計算得到,mean、std代表了除當前幀以外的X個幀的均值和標準差,C為常數(shù); TD=mean+k*std+C......(15) 4.判斷音頻解碼流的前幀瞬態(tài)比例是否大于閾值,該閾值即為TD,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟5; 5.根據(jù)上述(473)式計算解碼音頻流的m+1、m-1幀的高頻正弦成分; 6.根據(jù)上述(484)式計算解碼音頻流的m+1幀的正弦能量; 7.根據(jù)上述(492)式計算解碼音頻流的m+1幀的瞬態(tài)比例; 8.判斷音頻解碼流的后幀瞬態(tài)比例是否大于閾值,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟10; 9.得出前后幀有瞬態(tài)的結(jié)論; 10.得出前后幀無瞬態(tài)的結(jié)論。
4)采用瞬態(tài)幀恢復方法,即用非瞬態(tài)幀的MDCT系數(shù)替代丟失幀,實現(xiàn)解碼音頻流的丟失幀的錯誤恢復 如圖5所示,通過瞬態(tài)檢測方法得到音頻解碼流的用于恢復丟失幀的參考幀,即丟失幀的前后幀為瞬態(tài)幀時,則使用相鄰的非瞬態(tài)幀MDCT系數(shù)替代丟失幀的MDCT系數(shù),解決了將瞬態(tài)幀用于恢復丟失幀產(chǎn)生雙重敲擊聲的問題。
5)對解碼音頻流的丟失幀進行正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復 如圖6所示,正弦成分系數(shù)恢復方法包括以下四個步驟 1.根據(jù)式(8)定義一個參考因子α,α由式(16)表示,將α代入(8)式得到(17)式,由式(17)和式(9)可以計算出參考因子α,得到式(18), α=1/cos(πf)......(16) 2.因為偽譜(pseudo-spectrum)與DFT具有很強的相似性,所以我們對解碼音頻流丟失幀m的能量估計進行頻率估計,根據(jù)式(10)計算能量估計值Sk,m; 3.確定參考因子α的符號,若令否則其中從而根據(jù)余弦函數(shù)cos(πf)的符號來得到α的符號; 4.求出解碼音頻流丟失幀的正弦成分系數(shù) 非正弦成分系數(shù)恢復方法采用噪聲替代方法或者幀替代方法。幀替代方法是指既用前一幀的對應MDCT系數(shù)代替丟失幀的MDCT非正弦成分系數(shù)。
6)輸出恢復好的解碼音頻流 本發(fā)明改進了在MDCT變換域上對丟失幀的前后幀的系數(shù)進行正弦估計與恢復的方法,使算法復雜度大大降低,并結(jié)合MDCT域瞬態(tài)估計算法有效的解決了雙重敲擊聲,算法效果突出。
權(quán)利要求
1.一種音頻壓縮流的解碼端錯誤恢復方法,該方法包括以下六個步驟
(1)檢測得到當前MDCT域的解碼音頻流的第m幀發(fā)生幀丟失;
(2)將解碼音頻流的MDCT系數(shù)進行分類,分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分;
(3)對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否為瞬態(tài)幀;
(4)若瞬態(tài)檢測判斷丟失幀的前后幀是瞬態(tài)幀,則采用瞬態(tài)幀恢復方法,即用相鄰的非瞬態(tài)幀的MDCT系數(shù)替代丟失幀,實現(xiàn)解碼音頻流的丟失幀的錯誤恢復;
(5)若瞬態(tài)檢測判斷丟失幀的前后幀不是瞬態(tài)幀,則進行丟失幀的正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復;
(6)輸出恢復好的解碼音頻流。
2.根據(jù)權(quán)利要求1所述的一種音頻壓縮流的解碼端錯誤恢復方法,其特征在于所述的瞬態(tài)信息檢測方法包括以下十個步驟,如下
(1)根據(jù)公式(1)計算解碼音頻流的第m-2、m-1幀的高頻正弦成分HFSC,其中dk為音頻序列MDCT域的表達式,SCsu b是非正弦成分集合;
(2)令E為正弦能量,根據(jù)式(2)計算得到解碼音頻流的m-1幀的正弦能量;
(3)根據(jù)式(3)算出瞬態(tài)比例Rate,其中TD為自適應門限,由式(4)計算得到,mean、std代表了除當前幀以外的X個幀的均值和標準差,C為常數(shù);
TD=m+k*std+C……(15)
(4)判斷音頻解碼流的前幀瞬態(tài)比例是否大于閾值,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟5;
(5)根據(jù)上述(53)式計算解碼音頻流的m+1、m-1幀的高頻正弦成分;
(6)根據(jù)上述(64)式計算解碼音頻流的m+1幀的正弦能量;
(7)根據(jù)上述(72)式計算解碼音頻流的m+1幀的瞬態(tài)比例;
(8)判斷音頻解碼流的后幀瞬態(tài)比例是否大于閾值,若大于閾值則執(zhí)行步驟9,若小于或等于閾值則執(zhí)行步驟10;
(9)得出前后幀有瞬態(tài)的結(jié)論;
(10)得出前后幀無瞬態(tài)的結(jié)論。
3.根據(jù)權(quán)利要求1所述的一種音頻壓縮流的解碼端錯誤恢復方法,其特征在于所述的瞬態(tài)幀恢復方法如下
通過瞬態(tài)檢測方法得到音頻解碼流的用于恢復丟失幀的參考幀,即丟失幀的前后幀為瞬態(tài)幀時,則使用相鄰的非瞬態(tài)幀MDCT系數(shù)替代丟失幀的MDCT系數(shù)。
4.根據(jù)權(quán)利要求1所述的一種音頻壓縮流的解碼端錯誤恢復方法,其特征在于所述的正弦成分系數(shù)恢復方法包括以下四個步驟,如下
(1)根據(jù)式(8)定義一個參考因子α,α由式(16)表示,將α代入(8)式得到(17)式,由式(17)和式(9)可以計算出參考因子α,得到式(18);
α=1/cos(πf)……(16)
(2)對解碼音頻流丟失幀m的能量估計進行頻率估計,根據(jù)式(10)計算能量估計值Sk,m;
(3)確定參考因子α的符號,若令否則其中根據(jù)余弦函數(shù)cos(πf)的符號來得到α的符號;
(4)求出解碼音頻流丟失幀的正弦成分系數(shù)
全文摘要
本發(fā)明公開了一種音頻壓縮流的解碼端錯誤恢復方法,該方法包括檢測得到當前MDCT域的解碼音頻流的第m幀發(fā)生幀丟失;將解碼音頻流的MDCT系數(shù)分為MDCT系數(shù)正弦成分和MDCT系數(shù)非正弦成分;對解碼音頻流的丟失幀的前后幀進行瞬態(tài)信息檢測,判斷丟失幀的前后幀是否為瞬態(tài)幀;若丟失幀的前后幀是瞬態(tài)幀,則采用瞬態(tài)幀恢復方法;若丟失幀的前后幀不是瞬態(tài)幀,則進行正弦成分系數(shù)恢復和非正弦成分系數(shù)恢復;輸出恢復好的解碼音頻流六個步驟。該方法改進了在MDCT變換域上對丟失幀的前后幀的系數(shù)進行正弦估計與恢復的方法,使算法復雜度大大降低,并結(jié)合MDCT域瞬態(tài)估計算法解決了雙重敲擊聲問題,效果突出。
文檔編號G10L19/00GK101308660SQ200810063029
公開日2008年11月19日 申請日期2008年7月7日 優(yōu)先權(quán)日2008年7月7日
發(fā)明者朱夢堯, 李東曉, 偉 鄭, 明 張 申請人:浙江大學