專利名稱:一種基于g729語音壓縮編碼算法的dsp優化方法
技術領域:
本發明涉及一種基于嵌入式的語音壓縮算法的優化技術。在TMS320C55X系列DSP上實現多路語音的實時控制,其中語音壓縮編碼協議為G729。
背景技術:
數字語音通信是當前信息產業中發展最快,普及面最廣的業務。移動通信數字化,拓展了信道容量,改善了服務質量,促進了這一產業的飛速發展。相比于模擬語音,數字語音具有抗干擾強,保密性好,管理和控制方便,生產成本低等優點。隨著社會的發展,人們對通信的要求越來越高。P2P的語音通信技術已經非常成熟,然而在越來越多的場合,人們產生一對多,多對多的語音通信需求。同時隨著ISDN技術的推廣,VOIP技術,多媒體技術的快速發展,這一想法也能夠實現了。
隨著人們對語音通信提出了越來越高的帶寬要求,語音壓縮編碼技術也取得了飛速的發展,特別是中低碼率的語音編碼技術方面。16kb/s,8kb/s的壓縮編碼技術已經得到標準化和產品化。由于V0IP,多媒體通信,綜合業務數字通信,移動通信等業務的快速發展,基于G。728,G729的產品的嵌入式實時開發正逐漸成為研究的熱點問題。盡管G729算法具有碼率低,合成語音質量高等優點,但是其具有較高的算法復雜度,嵌入式實時應用成為一大難題。如何高效的壓縮語音數據來縮短G729算法編碼時間以達到實時性的要求是有待解決的一個重要問題。
發明內容
為了縮短G729算法在TMS320C55X系列DSP上的語音編碼時間,以滿足多路語音實時壓縮編碼的要求。本發明通過對G729算法的各個階段算法進行改進,在不影響編碼效果的同時,大大減少在DSP上運行的時間,達到對語音編碼的實時性要求。. 729協議過程
G729采用8kb/s共軛結構-代數碼激勵線性預測編碼——語音編碼器,它是基于CELP編碼模型的。編碼器對語音幀進行處理,語音以每秒8000樣點采樣,每IOms對應80個樣點為I幀,每幀對語音信號進行分析,提取CELP模型的參數(LPA系數,自適應碼數與固定碼數的索引和增益),這些參數被編碼并傳輸。在譯碼端,這些參數被恢復成激勵參數和合成濾波器參數,是激勵通過短時何曾濾波器來得到重建語音。短時語音濾波器是基于10階線性預測(LP)濾波器。長時合成濾波器采用自適應碼書方法實現。重建語音計算出來以后,在利用后濾波提高語音質量。編碼過程見
圖1,G. 729算法流程見圖2。分析及優化原理
短時分析綜合濾波器是一個基于10階線性預測(LP)的濾波器。這個濾波器的傳遞函數被定義為其中^是量化后的線性預測 (LP)系數。對于每一個IOms的語音幀,先用一個30ms
的不對稱窗口對數據進行加窗,計算自相關。即是說,每80個樣點(10ms),計算一次加窗語音的自相關系數,通過萊文森(Levinson)算法得到濾波器的系數。然后把LP系數轉化為線譜對LSP系數,并用于量化和插值。插值后的量化和未量化濾波器系數又被轉換回LP濾波器系數,目的是為每一個子幀構建綜合加權濾波器。LP向LSP轉換過程是LP濾波器系
數6^ = 1,…,W轉化為線譜對系數(LSP)用于量化和插值。對于一個10階的LP濾波器來
說,LSP系數定義為下面兩個多項式等式的根
F'(Z) =A(z)+ z-nA(z-1)
' ' (2) F2(Z) =1(2)-2'11!^-1)
多項式式(z)是對稱的,F2(Z)是非對稱的。可以證明這兩多項式的根在一個單位圓上
并且交替出現。巧'(Z)有一個根為-l(w =均和S(Ο有一個根z =I(W = O)。通過定義兩個新的多項式等式,消除了這兩個根
F1 (z) = F. (z) / (I-z~h)
,,(3)
F2(Z) = F2(Z)丨(I-P)
每個等式在單位圓上有5個共軛的根。所以上面兩個等式又可以寫作下面的形式
Wj= Π (I-
沿(4)
F2 (z) = J-J (I - 2q^z~l + z~2)
(4)式中名=Cos(Wi),系數Wi就是線譜對系數(LSF),并且他們也滿足O <Wl <w2 <... <w10 < r的順序。qi被當成是LSP系數在Cos域的值。因為巧⑷,F2(Z)都
是對稱的了,所以每個多項式的系數只有前面需要計算。其他的系數同過下面的遞歸關系得到
M1 +1) = aH1 += Q3-A
Z2O' +1) = ^ + Z2OV = Q5 -,4
(5)
其中4(0) = 1.0,/2(0) = 1.0,先把¢0,功等間隔分成60個點,然后計算巧⑷,F2(Z)在這些點上符號的改變來得到LSP系數。符號的改變就意味著根在這個區間內存在,接下來就把這個區間四等分,以跟蹤得到更好的根。切比雪夫多項式用來計算巧(X) , F2(Z)的根。在Z = 處多項式巧O) , F2(Z),可以被寫作
F(W) = 2 P5wCr (X)(6)
其中:σθτ) = Τ5(χ) + /(1)Γ4(χ) + /(2)·ξ(χ) + /(3)Γ2(χ)+/(5)/2。7;(χ) = _(■)即為切
比雪夫多項式。則/(加=1....,5要么是巧⑷的系數,要么是巧(2)的系數。多項式C(X)在X= cos(w)的某些可以用下面的遞歸式得出
權利要求
1.一種基于G729語音壓縮編碼算法的DSP優化方法,其特征在于是按下列步驟進行 步驟一、在PC機上面安裝DSP的軟件開發環境,使用CCS3. 3版本; 步驟二、將G729語音編碼算法的開源源代碼移植到TMS320C55X上,并成功對語音編碼; 步驟三、分別對G729語音編碼算法中的LPC階段,進行多項式求根算法的改進;在固定碼本搜索階段,對碼本的搜索算法進行了優化;在矢量距離的計算過程中,對距離搜索的過程進行了簡化; 步驟四、編譯器層面,具體的設置情況為_g -k -pm -al -o3 _ fr,其中_o3表示優化的級別,選擇合適的優化級別有利于程序的優化,-Pm表示使能文件級別的優化,-k表示生成對應的匯編文件,-g表示使用debug方式; 步驟五、C語言層面,在編碼階段和優化階段,充分利用了 TMS320C55X和編譯器的特點,針對TMS320C55X DSP和CCS3. 3編譯器的特點,在C語言層面上,對一些模塊函數進行改與,實現聞效的循環和乘法成為最大的特點; 步驟六、匯編層面,利用了編譯器內嵌的匯編基本函數庫來代替標準代碼中的基本運算函數,大大減少代碼運行時間;另外對一些特殊的代碼段,比如“綜合濾波器”,采用了手工匯編的方法,進一步加強了算法的實時性。
2.根據權利要求I所述的一種基于G729語音壓縮編碼算法的DSP優化方法,其特征在于步驟二中,由于TMS320C55X系列DSP硬件配置的多路數據和地址并行及眾多處理單元的特殊性,其代碼移植的cmd文件直接關系到硬件資源的分配。
3.根據權利要求I所述的一種基于G729語音壓縮編碼算法的DSP優化方法,其特征在于步驟三所述不同階段算法的改進 在LPC階段,矢量量化需要占用大量的時間,通過分析發現在LSP系數轉化為LSF系數相互轉化過程中,均要用到Chebyshev多項式來實現線譜對的搜索,在搜索的過程,需要把把(OJ)劃分成40個區間,每個區間進行2次搜索能保證正確性的情況下優化了編碼時間; 對固定碼本搜索部分的改進措施,因為G729固定碼本搜索在40個可能的位置上進行,首先用每一個脈沖去計算表達式,在同一個軌道中按重大到小的重新排列,然后選擇最大的4個進行搜索;然后計算這幾個脈沖的貢獻,如果不符合要求再用深度搜索算法進行搜索,由于固定碼本采用特殊的代數結構,僅含4個非零脈沖,利用這個特點進行快速深度搜索,G729采用四層嵌套循環的方法進行搜索,每一次嵌套加入一個脈沖的貢獻,要完全搜索一遍需要搜索8192次,為了減小搜索的次數,在進入最后循環前,預先算出一個門限值,只有前3個循環的貢獻超過這個門限時才進行第4次搜索; 對矢量量化中距離計算的優化,在G729的碼本搜索過程,有很多計算兩個向量的最小距離的地方,對于每一個矢量W1,計算加權誤差是馬,計算下一個誤差時,用這個誤差與計算結果進行比較,如果比在i為10以前,加權誤差已經大于馬,就可以停止計算。
全文摘要
一種基于G729語音壓縮編碼算法的DSP優化方法,其特征在于按下列步驟進行使用CCS3.3版本的DSP軟件開發環境并將G729語音編碼算法的開源源代碼一直到TMS320C55X上,成功對語音編碼;對算法中的LPC階段進行多項式求根算法的改進,在固定碼本搜索階段,對碼本的搜索算法進行了優化,在矢量距離的計算過程中,對距離搜索的過程進行了簡化;對編譯器進行設置;依次在C語言層面和匯編層面,對一些模塊函數進行改寫。本發明顯著效果是提供了一種基于G729語音壓縮編碼算法的DSP優化方法,具有編碼時間短的優點,能夠解決多路語音在DSP上實時編碼的困難。
文檔編號G10L19/12GK102903366SQ20121034452
公開日2013年1月30日 申請日期2012年9月18日 優先權日2012年9月18日
發明者徐馭航, 陳磊, 唐先成, 王亮, 蔡自偉, 宋寧帥, 王牌, 龍濤 申請人:重慶大學