專利名稱:一種改進(jìn)的離散余弦變換域音頻丟幀補(bǔ)償器和補(bǔ)償方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻解碼領(lǐng)域,具體涉及一種無延時(shí)低復(fù)雜度的MDCT(Modified Discrete Cosine Transform,改進(jìn)的離散余弦變換)域音頻丟幀補(bǔ)償器及補(bǔ)償方法。
背景技術(shù):
在網(wǎng)絡(luò)通信中,分組技術(shù)應(yīng)用十分廣泛,各種形式的信息如語音或者音頻等數(shù)據(jù) 通過編碼后采用分組技術(shù)在網(wǎng)絡(luò)上傳輸,如VoIP(網(wǎng)絡(luò)電話)等。由于信息發(fā)送端發(fā)送容 量的限制,或在指定延遲時(shí)間內(nèi)分組信息幀沒有到達(dá)接收端緩沖區(qū),或是網(wǎng)絡(luò)擁擠堵塞等 造成語音頻幀信息的丟失,引起解碼端合成語音頻質(zhì)量的急劇下降,因此需要采用一些技 術(shù)對丟幀的數(shù)據(jù)進(jìn)行補(bǔ)償。丟幀補(bǔ)償器就是一種減輕由于丟幀導(dǎo)致語音頻質(zhì)量下降的現(xiàn)象 的技術(shù)。目前丟幀補(bǔ)償?shù)募夹g(shù)很多,但這些丟幀補(bǔ)償技術(shù)多數(shù)只適用于語音的丟幀補(bǔ)償,而 對音頻的丟幀補(bǔ)償很少有相關(guān)技術(shù)?,F(xiàn)有的音頻丟幀補(bǔ)償方法最為簡單的是采用重復(fù)前一幀的MDCT信號(hào)或者靜音 替代的方法,該方法雖然實(shí)現(xiàn)簡單且沒有延遲,但是補(bǔ)償效果一般;其他的補(bǔ)償方式如 GAPES (缺口數(shù)據(jù)幅值相位估計(jì)技術(shù))將MDCT系數(shù)轉(zhuǎn)化成DSTFT (離散短時(shí)傅里葉變換)系 數(shù),該方法運(yùn)算復(fù)雜度高,消耗內(nèi)存多;3GPP采用整形噪聲插入技術(shù)進(jìn)行音頻丟幀補(bǔ)償,該 方法對類噪聲信號(hào)的補(bǔ)償效果較好,對多諧波音頻信號(hào)的補(bǔ)償效果甚差。綜上所述,已公開的音頻丟幀補(bǔ)償技術(shù)多數(shù)效果不明顯或是運(yùn)算復(fù)雜度和延遲時(shí) 間過長。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種MDCT域音頻丟幀補(bǔ)償器和補(bǔ)償方法,補(bǔ)償 效果好,復(fù)雜度低且無延時(shí)。為了解決上述問題,本發(fā)明提供了一種改進(jìn)的離散余弦變換域音頻丟幀補(bǔ)償方 法,包括步驟a,當(dāng)前丟失幀為第ρ幀時(shí),獲取待預(yù)測的頻率點(diǎn)集合,對所述待預(yù)測的頻率 點(diǎn)集合中的每個(gè)頻率點(diǎn),使用第P-I幀前面的若干幀在改進(jìn)的離散余弦變換_改進(jìn)的離散 正弦變換域,即MDCT-MDST域,的相位和幅值預(yù)測得到第ρ幀在MDCT-MDST域的相位和幅 值,使用所述預(yù)測得到的第P幀在MDCT-MDST域的相位和幅值得到第P幀在對應(yīng)所述每個(gè) 頻率點(diǎn)的改進(jìn)的離散余弦變換域系數(shù),即MDCT系數(shù),其中,所述第p-1幀是第ρ幀的前一 幀;步驟b,對一幀內(nèi)除所述待預(yù)測的頻率點(diǎn)集合之外的頻率點(diǎn),使用第ρ幀前的若干 幀的MDCT系數(shù)值計(jì)算第ρ幀在該頻率點(diǎn)的MDCT系數(shù)值;步驟c,對第ρ幀在所有頻率點(diǎn)的MDCT系數(shù)進(jìn)行改進(jìn)的離散余弦逆變換,即IMDCT 變換,得到第P幀的時(shí)域信號(hào)。進(jìn)一步地,上述方法還可具有以下特點(diǎn),所述步驟a之前還包括,檢測到當(dāng)前幀丟失時(shí),判斷當(dāng)前丟失幀的類型,如果當(dāng)前丟失幀是非語音幀,執(zhí)行步驟a。進(jìn)一步地,上述方法還可具有以下特點(diǎn),所述判斷該當(dāng)前丟失幀的類型具體包 括計(jì)算當(dāng)前丟失幀前K幀每幀的譜平坦度;如果該K幀中,譜平坦度小于一門限值的 幀的個(gè)數(shù)小于等于Ktl,則當(dāng)前丟失幀為語音幀,否則,當(dāng)前丟失幀為非語音幀,其中,K0 < = K,κ。,K為自然數(shù)。進(jìn)一步地,上述方法還可具有以下特點(diǎn),所述步驟a中,獲取待預(yù)測的頻率點(diǎn)集合 時(shí),使用第P幀前面的若干幀的MDCT-MDST域復(fù)數(shù)信號(hào)和/或MDCT系數(shù)來獲取待預(yù)測的頻 率點(diǎn)集合S。,或者,直接將一幀內(nèi)的所有頻率點(diǎn)放入所述待預(yù)測的頻率點(diǎn)集合S。中。進(jìn)一步地,上述方法還可具有以下特點(diǎn),所述獲取待預(yù)測的頻率點(diǎn)集合S。具體包 括將所述第ρ幀前面的若干幀設(shè)為Ll巾貞,計(jì)算所述Ll幀中各頻率點(diǎn)的功率,獲取該 Ll幀中各幀的峰值頻率點(diǎn)組成的集合S1, ...,Su,各集合中的對應(yīng)的頻率點(diǎn)數(shù)為N1,..., Nli;從所述Ll個(gè)集合S1, ...,Sli中選取一集合Si,對Si中的每個(gè)峰值頻率點(diǎn)Hij, j = 1...隊(duì),判斷叫,!^士丨,...,mj±k中是否存在同時(shí)屬于其余所有峰值頻率點(diǎn)集合的頻率點(diǎn), 如果存在,將Hlj,Hlj 士 1,...,Hlj 士 k均放入頻率點(diǎn)集合Sc ;如果對Si中的每個(gè)峰值頻率點(diǎn)
權(quán)利要求
一種改進(jìn)的離散余弦變換域音頻丟幀補(bǔ)償方法,其特征在于,包括步驟a,當(dāng)前丟失幀為第p幀時(shí),獲取待預(yù)測的頻率點(diǎn)集合,對所述待預(yù)測的頻率點(diǎn)集合中的每個(gè)頻率點(diǎn),使用第p 1幀前面的若干幀在改進(jìn)的離散余弦變換 改進(jìn)的離散正弦變換域,即MDCT MDST域,的相位和幅值預(yù)測得到第p幀在MDCT MDST域的相位和幅值,使用所述預(yù)測得到的第p幀在MDCT MDST域的相位和幅值得到第p幀在對應(yīng)所述每個(gè)頻率點(diǎn)的改進(jìn)的離散余弦變換域系數(shù),即MDCT系數(shù),其中,所述第p 1幀是第p幀的前一幀;步驟b,對一幀內(nèi)除所述待預(yù)測的頻率點(diǎn)集合之外的頻率點(diǎn),使用第p幀前的若干幀的MDCT系數(shù)值計(jì)算第p幀在該頻率點(diǎn)的MDCT系數(shù)值;步驟c,對第p幀在所有頻率點(diǎn)的MDCT系數(shù)進(jìn)行改進(jìn)的離散余弦逆變換,即IMDCT變換,得到第p幀的時(shí)域信號(hào)。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟a之前還包括,檢測到當(dāng)前幀丟失 時(shí),判斷當(dāng)前丟失幀的類型,如果當(dāng)前丟失幀是非語音幀,執(zhí)行步驟a。
3.如權(quán)利要求2所述的方法,其特征在于,所述判斷該當(dāng)前丟失幀的類型具體包括 計(jì)算當(dāng)前丟失幀前K幀每幀的譜平坦度;如果該K幀中,譜平坦度小于一門限值的幀的個(gè)數(shù)小于等于K(1,則當(dāng)前丟失幀為語音幀,否則,當(dāng)前丟失幀為非語音幀,其中,K。<= K, K。,K為自然數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟a中,獲取待預(yù)測的頻率點(diǎn)集合時(shí), 使用第P幀前面的若干幀的MDCT-MDST域復(fù)數(shù)信號(hào)和/或MDCT系數(shù)來獲取待預(yù)測的頻率 點(diǎn)集合Se,或者,直接將一幀內(nèi)的所有頻率點(diǎn)放入所述待預(yù)測的頻率點(diǎn)集合Se中。
5.如權(quán)利要求4所述的方法,其特征在于,所述獲取待預(yù)測的頻率點(diǎn)集合&具體包括 將所述第P幀前面的若干幀設(shè)為L1幀,計(jì)算所述L1幀中各頻率點(diǎn)的功率,獲取該L1幀中各幀的峰值頻率點(diǎn)組成的集合. . .,Su,各集合中的對應(yīng)的頻率點(diǎn)數(shù)為. . .,NL1 ; 從所述L1個(gè)集合...,Su中選取一集合Sij^Si中的每個(gè)峰值頻率點(diǎn)~ j = 1...隊(duì),判斷叫,!^士丨,...,mj±k中是否存在同時(shí)屬于其余所有峰值頻率點(diǎn)集合的頻率點(diǎn), 如果存在,將Hi」,Hi」士 1,. . .,Hi」士k均放入頻率點(diǎn)集合Sc ;如果對Si中的每個(gè)峰值頻率點(diǎn)m」,j = 1...隊(duì),m」,Hi」士 1,... , m」士 k中沒有同時(shí)屬于 其余所有峰值頻率點(diǎn)集合的頻率點(diǎn),直接將一幀內(nèi)的所有頻率點(diǎn)都放入頻率點(diǎn)集合Se ; 其中,所述k為非負(fù)整數(shù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述峰值頻率點(diǎn)是指功率大于與其相鄰的 兩個(gè)頻率點(diǎn)上的功率的頻率點(diǎn)。
7.如權(quán)利要求5所述的方法,其特征在于,當(dāng)所述L1幀中包含第p-1幀時(shí),第p-1幀中各頻率點(diǎn)的功率通過如下方式計(jì)算f (m)\2 =[c^'(m)]2+ [c""1 {m + \)~c"'1 (m-1)]2 ,其中是第p-1幀在頻率點(diǎn)m的功率,c^1 (m)是第p-1幀在頻率點(diǎn)m處的MDCT系數(shù),c^1 (m+1)是第p-1幀在頻率點(diǎn)m+1處的MDCT系數(shù),f1 (m-1)是第p-1幀在頻率點(diǎn)m_l處 的MDCT系數(shù)。
8.如權(quán)利要求1至7任一所述的方法,其特征在于,所述步驟a中,所述預(yù)測得到第 P幀在MDCT-MDST域的相位和幅值具體包括對待預(yù)測的頻率點(diǎn),使用第p_l幀前面的L2 幀在該頻率點(diǎn)的MDCT-MDST域的相位進(jìn)行線性外推或線性擬合,得到第p幀在該頻率點(diǎn)的MDCT-MDST域的相位;從該L2幀中一幀在該頻率點(diǎn)的MDCT-MDST域的幅值得到第p幀在該 頻率點(diǎn)的MDCT-MDST域的幅值,其中,L2 > 1。
9.如權(quán)利要求8所述的方法,其特征在于,當(dāng)L2= 2時(shí),分別用第tl幀,第t2幀 表示這兩幀,通過如下方式預(yù)測第P幀的MDCT-MDST域的相位對待預(yù)測的頻率點(diǎn)m,q>p(m) = q>n{m) + [(pn(m)-(p'\m)\,所述^⑷為第 P 幀在頻率點(diǎn) m 的 MDCT-MDST 域的相位的預(yù)測值,所述/(m)為第tl幀在頻率點(diǎn)m的MDCT-MDST域的相位,所述一為第 t2幀在頻率點(diǎn)m的MDCT-MDST域的相位。
10.如權(quán)利要求8所述的方法,其特征在于,當(dāng)L2> 2時(shí),對待預(yù)測的頻率點(diǎn),對所選 取的該L2幀在該頻率點(diǎn)的MDCT-MDST域的相位進(jìn)行線性擬合,得到第p幀在該頻率點(diǎn)的 MDCT-MDST域的相位。
11.如權(quán)利要求1至7任一所述的方法,其特征在于,所述步驟a中,使用第p-2幀、第 P-3幀的MDCT-MDST域復(fù)數(shù)信號(hào)和第p_l幀的MDCT系數(shù)來獲取待預(yù)測的頻率點(diǎn)集合,對該 頻率點(diǎn)集合中的每個(gè)頻率點(diǎn),使用第P-2幀、第p-3幀在MDCT-MDST域的相位和幅值預(yù)測得 到第P幀在MDCT-MDST域的相位和幅值。
12.如權(quán)利要求1至7任一所述的方法,其特征在于,所述步驟b中,采用第p-1幀的 MDCT系數(shù)值的一半作為第p幀的MDCT系數(shù)值。
13.—種改進(jìn)的離散余弦變換域音頻丟幀補(bǔ)償器,其特征在于,所述丟幀補(bǔ)償器包括多 諧波丟幀補(bǔ)償模塊、第二補(bǔ)償模塊和IMDCT模塊,其中所述多諧波丟幀補(bǔ)償模塊,用于在當(dāng)前丟失幀為第P幀時(shí),獲取待預(yù)測的頻率點(diǎn)集合, 對所述待預(yù)測的頻率點(diǎn)集合中的每個(gè)頻率點(diǎn),使用第P-1幀前面的若干幀在MDCT-MDST域 的相位和幅值預(yù)測得到第P幀在MDCT-MDST域的相位和幅值,使用所述預(yù)測得到的第p幀 在MDCT-MDST域的相位和幅值得到第p幀在對應(yīng)所述每個(gè)頻率點(diǎn)的MDCT系數(shù),將該MDCT 系數(shù)發(fā)送給第二補(bǔ)償模塊,所述第P-1幀是第P幀的前一幀;所述第二補(bǔ)償模塊,用于對一幀內(nèi)除所述待預(yù)測的頻率點(diǎn)集合之外的頻率點(diǎn),使用第P 幀前的若干幀的MDCT系數(shù)值計(jì)算第p幀在該頻率點(diǎn)的MDCT系數(shù)值,將第p幀在所有頻率 點(diǎn)的MDCT系數(shù)發(fā)送給IMDCT模塊;所述IMDCT模塊,用于對第p幀在所有頻率點(diǎn)的MDCT系數(shù)進(jìn)行IMDCT變換,得到第p 幀的時(shí)域信號(hào)。
14.如權(quán)利要求13所述的丟幀補(bǔ)償器,其特征在于,所述丟幀補(bǔ)償器還包括幀類型檢 測模塊,其中所述幀類型檢測模塊,用于在檢測到丟失幀時(shí),判斷當(dāng)前丟失幀的類型,如果是非語音 幀,指示所述多諧波丟幀補(bǔ)償模塊進(jìn)行補(bǔ)償。
15.如權(quán)利要求14所述的丟幀補(bǔ)償器,其特征在于,所述幀類型檢測模塊通過如下方 式判斷當(dāng)前丟失幀的類型計(jì)算當(dāng)前丟失幀前K幀每幀的譜平坦度;如果該K幀中,譜平坦 度小于一門限值的幀的個(gè)數(shù)小于等于&,則當(dāng)前丟失幀為語音幀,否則,當(dāng)前丟失幀為非語 音幀,其中,K。<= K,K。,K為自然數(shù)。
16.如權(quán)利要求13所述的丟幀補(bǔ)償器,其特征在于,所述多諧波丟幀補(bǔ)償模塊,用于使 用第P幀前面的若干幀的MDCT-MDST域復(fù)數(shù)信號(hào)和/或MDCT系數(shù)來獲取待預(yù)測的頻率點(diǎn)集合Se,或者,直接將一幀內(nèi)的所有頻率點(diǎn)放入所述待預(yù)測的頻率點(diǎn)集合Se中。
17.如權(quán)利要求13所述的丟幀補(bǔ)償器,其特征在于,所述多諧波丟幀補(bǔ)償模塊,進(jìn)一步 包括頻率點(diǎn)集合生成單元,其中所述頻率點(diǎn)集合生成單元用于生成待預(yù)測的頻率點(diǎn)集合Se,具體生成方法如下 將所述第P幀前面的若干幀設(shè)為L1幀,計(jì)算所述L1幀中各頻率點(diǎn)的功率,獲取該L1 幀中各幀的峰值頻率點(diǎn)組成的集合. . .,Su,各集合中的對應(yīng)的頻率點(diǎn)數(shù)為. . .,NL1 ; 從所述L1個(gè)集合...,Su中選取一集合Sij^Si中的每個(gè)峰值頻率點(diǎn)~ j = 1...隊(duì),判斷叫,!^士丨,...,mj±k中是否存在同時(shí)屬于其余所有峰值頻率點(diǎn)集合的頻率點(diǎn), 如果存在,將Hi」,Hi」士 1,. . .,Hi」士k均放入頻率點(diǎn)集合Sc ;如果對Si中的每個(gè)峰值頻率點(diǎn)mj,j =[..隊(duì),!^,!^士丨,…-,?。士!^中沒有同時(shí)屬于其 余所有峰值頻率點(diǎn)集合的頻率點(diǎn),直接將一幀內(nèi)的所有頻率點(diǎn)都放入頻率點(diǎn)集合Se ;其中, k為非負(fù)整數(shù)。
18.如權(quán)利要求17所述的丟幀補(bǔ)償器,其特征在于,所述峰值頻率點(diǎn)是指功率大于與 其相鄰的兩個(gè)頻率點(diǎn)上的功率的頻率點(diǎn)。
19.如權(quán)利要求17所述的丟幀補(bǔ)償器,其特征在于,所述頻率點(diǎn)集合生成單元,用 于在所述L1幀中包括第p-1幀時(shí),通過如下方式計(jì)算所述第p-1幀中各頻率點(diǎn)的功率= [cp-\m)^ +[cp-l(m + \)-cp-\m-\)]2,其中|廣丨(例)「是第 p-1 中貞在頻率點(diǎn) m 的功率,c15—1 (m)是第p-1幀在頻率點(diǎn)m處的MDCT系數(shù),c— (m+1)是第p-1幀在頻率點(diǎn)m+1處的 MDCT系數(shù),c^1 (m-1)是第p-1幀在頻率點(diǎn)m-1處的MDCT系數(shù)。
20.如權(quán)利要求13至19任一所述的丟幀補(bǔ)償器,其特征在于,所述多諧波丟幀補(bǔ)償模塊,進(jìn)一步包括系數(shù)生成單元,用于使用第P-1幀前面的L2幀 在MDCT-MDST域的相位和幅值預(yù)測得到第p幀中屬于所述待預(yù)測的頻率點(diǎn)集合的各頻率點(diǎn) 的相位和幅值,使用預(yù)測得到的第P幀的相位和幅值得到第P幀在對應(yīng)所述每個(gè)頻率點(diǎn)的 MDCT系數(shù)的MDCT系數(shù),將該MDCT系數(shù)發(fā)送給第二補(bǔ)償模塊,其中,L2 > 1 ; 所述系數(shù)生成單元進(jìn)一步包括相位預(yù)測子單元和幅值預(yù)測子單元,其中 所述相位預(yù)測子單元,用于對待預(yù)測的頻率點(diǎn),使用所選取的該L2幀在該頻率點(diǎn)的 MDCT-MDST域的相位進(jìn)行線性外推或線性擬合,得到第p幀在該頻率點(diǎn)的MDCT-MDST域的相 位;所述幅值預(yù)測子單元,用于從該L2幀中一幀在該頻率點(diǎn)的MDCT-MDST域的幅值得到第 P幀在該頻率點(diǎn)的MDCT-MDST域的幅值。
21.如權(quán)利要求20所述的丟幀補(bǔ)償器,其特征在于,當(dāng)L2= 2時(shí),分別用第tl幀,第 t2幀表示這兩幀,所述相位預(yù)測子單元通過如下方法預(yù)測第p幀的MDCT-MDST域的相位對待預(yù)測的頻率點(diǎn)nuZK^/^ + ff^^^mWkm)],所述< 為第p幀在頻率點(diǎn)m的MDCT-MDST域的相位的預(yù)測值,所述一^w)為第tl幀在頻率點(diǎn)m的MDCT-MDST域的 相位,所述一2(w)為第t2幀在頻率點(diǎn)m的MDCT-MDST域的相位。
22.如權(quán)利要求20所述的丟幀補(bǔ)償器,其特征在于,當(dāng)L2> 2時(shí),所述相位預(yù)測子單元 通過如下方法預(yù)測第P幀的MDCT-MDST域的相位對待預(yù)測的頻率點(diǎn),對所選取的該L2幀 在該頻率點(diǎn)的MDCT-MDST域的相位進(jìn)行線性擬合,得到第p幀在該頻率點(diǎn)的MDCT-MDST域的相位。
23.如權(quán)利要求13至19任一所述的丟幀補(bǔ)償器,其特征在于,所述多諧波丟幀補(bǔ)償模 塊,用于使用第P-2幀、第p-3幀的MDCT-MDST域復(fù)數(shù)信號(hào)和第p_l幀的MDCT系數(shù)來獲取待 預(yù)測的頻率點(diǎn)集合,對該頻率點(diǎn)集合中的每個(gè)頻率點(diǎn),使用第P-2幀、第p-3幀在MDCT-MDST 域的相位和幅值預(yù)測得到第P幀在MDCT-MDST域的相位和幅值。
24.如權(quán)利要求13至19任一所述的丟幀補(bǔ)償器,其特征在于,所述第二補(bǔ)償模塊,用于 采用第P-1幀的MDCT系數(shù)值的一半作為第p幀在除所述待預(yù)測的頻率點(diǎn)集合之外的頻率 點(diǎn)的MDCT系數(shù)值。
全文摘要
本發(fā)明提供了一種改進(jìn)的離散余弦變換域音頻丟幀補(bǔ)償方法,包括步驟a,當(dāng)前丟失幀為第p幀時(shí),獲取待預(yù)測的頻率點(diǎn)集合,對該集合中的每個(gè)頻率點(diǎn),使用第p-1幀前面的若干幀在改進(jìn)的離散余弦變換-改進(jìn)的離散正弦變換域,即MDCT-MDST域,的相位和幅值預(yù)測得到第p幀的相位和幅值,使用預(yù)測得到的相位和幅值得到第p幀在對應(yīng)每個(gè)頻率點(diǎn)的MDCT系數(shù);步驟b,對一幀內(nèi)除該集合之外的頻率點(diǎn),使用第p幀前的若干幀的MDCT系數(shù)值計(jì)算第p幀在該頻率點(diǎn)的MDCT系數(shù)值;步驟c,對第p幀在所有頻率點(diǎn)的MDCT系數(shù)進(jìn)行改進(jìn)的離散余弦逆變換得到第p幀的時(shí)域信號(hào)。本發(fā)明還提供了一種丟幀補(bǔ)償器。本發(fā)明具有無延遲、計(jì)算量存儲(chǔ)量小、易于實(shí)現(xiàn)的優(yōu)點(diǎn)。
文檔編號(hào)G10L19/005GK101958119SQ20091015857
公開日2011年1月26日 申請日期2009年7月16日 優(yōu)先權(quán)日2009年7月16日
發(fā)明者劉開文, 盧晶, 吳鳴, 彭科, 林志斌, 袁浩, 鄧崢, 邱小軍, 陳國明, 黎家力 申請人:中興通訊股份有限公司