基于DSP的G.729語(yǔ)音編解碼算法的優(yōu)化和實(shí)現
隨著(zhù)多媒體信息技術(shù)和網(wǎng)絡(luò )技術(shù)的飛速發(fā)展,信息量快速增長(cháng),使信道資源顯得越來(lái)越寶貴。為了在有限的信道資源下傳輸盡可能多的信息,語(yǔ)音壓縮成為必要手段。ITU組織(國際電信聯(lián)盟)在l996年制定了G.729協(xié)議,即共軛結構碼激勵線(xiàn)性預測編碼算法(CS-ACELP)。其編碼速率為8kb/s,可以滿(mǎn)足網(wǎng)絡(luò )通信的要求,具有良好的語(yǔ)音質(zhì)量,對不同的應用環(huán)境有較強的適應性,是一種性能較好的語(yǔ)音壓縮國際標準,被廣泛應用在個(gè)人移動(dòng)通信、衛星通信等各個(gè)領(lǐng)域。
1 G.729編解碼算法的原理
語(yǔ)音信號的波形編碼力圖使重建語(yǔ)音波形保持原始語(yǔ)音信號的波形形狀。這類(lèi)編碼器通常將語(yǔ)音信號作為一般的波形信號來(lái)處理,它具有適應能力強、語(yǔ)音質(zhì)量好等優(yōu)點(diǎn),但所需用的編碼速率高。參數編碼通過(guò)對語(yǔ)音信號特征參數的提取及編碼來(lái)降低編碼速率,力圖使重建語(yǔ)音信號盡可能保持原語(yǔ)音的語(yǔ)意,而重建信號的波形同原語(yǔ)音信號的波形可能會(huì )有相當大的差別。二十世紀70年代中期,特別是80年代以來(lái),語(yǔ)音編碼技術(shù)有了突破性的進(jìn)展,提出了一些非常有效的處理方法,如混合編碼。這種算法克服了原有波形編碼器與聲碼器的弱點(diǎn),而結合了它們各自的長(cháng)處,在4kb/s~16kb/s速率上能夠得到高質(zhì)量合成語(yǔ)音,而在本質(zhì)上也具有波形編碼的優(yōu)點(diǎn)。G.729所描述的CS-ACELP(Conjugate-Structure Al2gebraic-Coder-Excited Linear Prediction)聲碼器采用的CELP聲碼器就屬于這類(lèi)編碼器。
2 算法優(yōu)化和DSP應用改進(jìn)
2.1 算法的優(yōu)化改進(jìn)
首先在算法上進(jìn)行改進(jìn),如圖1所示,采用一種結合WD-LSP(Weighted Delta-LSP)[1]函數并結合次最優(yōu)部分碼本快速搜索的CS-ACELP語(yǔ)音編碼算法,同時(shí)采用基于聲學(xué)心理模型的知覺(jué)加權濾波器,使語(yǔ)音編碼在不降低語(yǔ)音質(zhì)量的情況下降低計算復雜度。WD-LSP函數主要用于區分UV-V(unvoice-voice)/S-V(silence-voice)的邊界。其原理是:如果函數值大于給定的極限值η,則開(kāi)環(huán)基音延遲Top重新估計,否則,開(kāi)環(huán)基音延遲Top用前一幀自適應碼本延遲來(lái)更新。在第i幀Fi的WD-LSP函數和用于確定開(kāi)環(huán)基音延遲Top的算法如下:
其中LSPi(k)是在第i幀中的k階LSP系數;wk是加權系數,它用于增強UV-V/S-V邊界的WD-LSP函數。為了獲取wk,一個(gè)包含23 014個(gè)UV-V邊界和9 519個(gè)S-V邊界的大型數據庫用于估計delta-LSP在UV-V/S-V邊界的平方根值(RMS)。因此,WD-LSP用于檢測VU-V/S-V邊界非常敏感。η是一個(gè)設為0.01的極限值。整個(gè)計算可節省21%的計算量,經(jīng)過(guò)這種算法前后語(yǔ)音信號如圖2所示。
L_32=hi_word16+lo_word1
Hi_word=L_32>>16
Lo_word=L_32-hi_word>>1
當累加器中的數值超過(guò)一定范圍時(shí)將會(huì )產(chǎn)生溢出。在G.729算法標準中, 累加器的值被限定在80000000~7FFFFFFF之內——即最小負數和最大正數。不過(guò)在TMS320C5416中,如果將PMST寄存器中的OVM置位,則溢出會(huì )得到自動(dòng)處理。
評論