第一篇:第三代移動通信變速率語音編解碼AMR-WB 算法優化概要
基金頒發部門:廣西科技廳 項目名稱:變速率語音編碼技術應用研究 編號:0640167 基金申請人:黃冰
第三代移動通信中的變速率語音編解碼 AMR-WB+算法優化 李平安,黃冰,王濤,梁小朋
(桂林電子科技大學 信息與通信學院,廣西桂林 541004 摘要:首先簡要介紹了 AMR-WB+語音壓縮算法的基本原理,描述了 AMR-WB+編解碼流 程;然后通過兩類優化策略對 AMR-WB+算法進行優化;最后給出了優化前后編解碼復雜度 比較,并對結果進行了分析。
關鍵詞:AMR-WB+;編解碼;算法優化;復雜度 中圖分類號:TP393 文獻標識碼:A The research and Optimization of variable-rate speech coding algorithm AMR-WB+ in the Third-generation mobile communications Li Ping an,Huang Bing,Wang Tao,Liang Xiao peng(Information & Communication College, Guilin University of electronic technology,Guangxi Guilin 541004,China Abstract :First,this paper briefly introduced to the basic principles about the algorithms of AMR-WB+,and described in the AMR-WB+ encoder/decoder processes.Then,the algorithms of AMR-WB+ was optimized by the two optimization strategies.Finally,the encoder/decoder complexity was compared, which was between before and after the optimization, and analyzed the results.Key words:AMR-WB+;encoder/decoder;algorithms optimization;complexity
1.引言
人們對通信的消費需求不再局限于傳統的話音業務, 音樂、圖像以及視頻等其他多媒體 信息的介入使得移動通信的任務從單一的話音服務轉向更多元化、更豐富的信息媒體流服 務, 3G 及以后的通信系統所要承載的速率會越來越大。因此,在所要處理的信息不再是純 粹的語音信號, 而系統容量和編碼質量的矛盾依然存在時, 為了達到一個較好的折衷, 仍然 可以在進行音頻編碼或圖像編碼時引入自適應變速率的思想, 特別是將語音編碼和音樂編碼 相結合,這已經在 3GPP 的 TS26.290標準即 AMR-WB+編碼器中得到體現。
2.增強自適應多速率寬帶 AMR-WB+的基本原理 [1] AMR-WB+包含了 AMR-WB 的所有模式,并增加了 TCX 模塊、帶寬擴展和立體聲編碼。AMR-WB+聲碼器的輸入幀有 2048個樣點,內部采樣率 Fs 的范圍為 12800-38400Hz ,輸入幀 依低頻(LF 帶和高頻(HF 帶被分為 2個 1024個樣點的超級幀,每個超級幀又被分為 4個 256個樣點的子幀。
2.1 AMR-WB+編碼流程
AMR-WB+的輸入信號既可以是單聲道也可以是立體聲信號。首先信號經過高通濾波和 分析濾波器組等預處理,被分解成高頻和低頻兩個子帶,各自保持 Fs/2的采樣率;此后兩 個子帶被分別用兩種不同方法處理, 低頻(LF 部分利用基于 ACELP/TCX[2]的核心編碼器, 高頻(HF 部分則經過比特消耗相對較小的帶寬擴展(BWE 方法進行處理。當輸入為立 體聲信號時, 左右聲道信號首先被合并為一路單聲道, 并利用核心編碼器處理, 然后右聲道 信號和合并信號被用來構建立體聲差信號, 這個差信號被輸入到立體聲編碼器進行處理。需 要傳輸給解碼器的參數包括模式選擇比特、LF 的編碼參數、HF 的編碼參數、立體聲參數等。每一個超幀的參數被分解成 4個等尺寸的包存儲和傳輸。
2.2混合的 ACELP/TCX的核心編碼器
AMR-WB+編碼算法的核心部分是基于 ACELP/TCX的混合編碼模型。對于每一塊輸入 信號,編碼器可以按照用戶對復雜度要求的不同而選擇 ACELP 和 TCX 兩種方式,從而來
決定選取其中的哪一個編碼模型。通常來說, ACELP 是一種時域預測編碼,比較適合語音 和暫態信號;而 TCX 是變換域編碼,較適合典型的音樂信號。ACELP 的編碼幀長固定為 20ms(通常為 256 樣點;TCX 的幀長則有 256, 512, 1024三種情況,根據模式選擇的 結果來決定使用哪一種幀長, 短時幀適合變化較快的信號, 而長幀則適合較穩定的輸入信號。時域信號的分幀按照模式選擇的結果來確定, ACELP 的幀間無重疊,每 256個樣點單獨處 理;而 TCX 則根據幀長選擇不同的重疊長度,分別為 32, 64, 128樣點。
2.3 AMR-WB+解碼流程
解碼過程基本就是編碼過程的逆。解碼器從比特流中抽取 ISP 參數、自適應碼本和代數 碼本索引及增益, 兩者合成完整的激勵信號, 經過增益調整等后處理過程后, 通過合成濾波 器就能獲得合成信號。對應于編碼端的預加重和重采樣等操作, 在解碼端的合成信號還需要 進行去加重和上采樣操作來獲得最終的重建信號。
3.變速率語音編解碼 AMR-WB+算法優化
為了達到代碼最高的執行速率,本文通過兩類優化策略對 AMR-WB+算法進行優化
3.1 算法級優化
首先要對源程序進行耗時分析, 確定運算量比較集中的函數, 然后分析這些函數的特點, 在保證合成語音質量的前提下,減少運算量。針對 AMR-WB+算法,使用了幾種有效的算法 級優化算法。
3.1.1 LSP系數算法的優化
AMR-WB+算法的一個主要傳輸參數為 LSP(線譜對。比如在 LP(線性預測 到 ISP(阻 抗頻譜對的轉換計算中,首先 LP 系數轉變為 LSP 系數,再對 LSP 系數在頻率域進行表示和 量化,即轉換為 ISP 矢量。而 ISP 矢量的使用在 AMR-WB+中是相當廣泛的。目前計算 LSP 的 方法有很多種,其中絕大多數方法復雜、計算量大。針對該問題,本文采用了一種計算 LSP 的新算法, 首先利用埃特金迭代法求高階非線性方程的一個實根, 再采用多項式綜合除法降 階,最后運用費拉里算法求解一元四次方程的根,即可得到 LSP 系數。理論與實驗分析結果 表明,該算法不僅計算精度高、而且運算量小 [3]。
3.1.2 ISP系數量化的優化
在 ISP 系數的量化過程中,使用了預測式二級分裂矢量量化技術。該矢量量化技術首先 根據均方誤差最小原則將量化范圍縮到某一小區域內, 再進一步提高搜索精度, 縮小搜索范 圍,直到找到最終結果。為了降低算法的復雜度,可以在滿足精度要求的前提下,粗化第一 級量化的搜索過程,從而減小總的搜索時間。
3.1.3 LSF系數搜尋的優化
在 LP 轉換為 LSP 和 ISP 系數的量化中,均要用到 chbeyshve 多項式來搜尋 LSF(線譜頻。搜尋時,將(0, π區間平均分成了 100個小區間,然后在每個小區間進行 4次搜尋。對其 進行優化,可以將(0, π平均分成 80個小區間,每個小區間只進行 2次搜尋。這樣就大大 減少了運算量。
3.1.4 開環基音預測分析優化
方法 1:在 AMR-WB+編碼器的基音周期估計中,采用的是自相關函數求解的方法?;?音搜索范圍從 17到 115。由于基音周期較小時,基音頻率較高,對語音信號編碼質量影響較 大;基音周期較大時,基音頻率較低,對語音信號編碼質量影響較小。所以從 17到 57之間基 音周期的采用逐點計算搜索;從 58到 115之間采用隔點計算,這樣可以減少運算量。計算公 式為: 1280((((, 17, 57wd wd n c d s n s n d w d d ==
?=???∑
1280((2(2(, 58, 115wd wd n c d s n s n d w d d ==?=???∑
方法 2:由于相關系數的求解對每個 d 均獨立, 且上述相關系數求解的目的是為了進行比 較,求出最大值,最后再將最大值歸一化,因此,適當降低累加次數對最終結果影響不大。實際應用中可以將累加次數從 128次降到 64次,粗化后的表達式如下: 640((2(2(, 17, 115wd wd n c d s n s n d w d d ==?=???∑
實驗證明,對實際的結果影響并不大,但其運算量減少了一半。3.2 語言級優化
C 語言是一種高級編程語言,效率高,移植性好,使用范圍廣, AMR-WB+算法一般用 C 語言編程實現。以下針對 AMR-WB+算法中部分耗時大的函數進行了 C 語言級代碼優化 [4]工作。
3.2.1 關于溢出判斷的優化
在 AMR-WB+的定點 C 語言程序中,在所有運算之后都要檢驗結果是否溢出,因此,所 需執行的溢出檢驗的次數十分巨大, 耗費了大量的運算量。而在實際的運算過程中, 并不是 所有的運算都存在溢出, 我們只需要在程序運行當中確實有可能出現溢出的地方加入溢出保 護。實驗證明,通過去除不必要的溢出處理,程序的計算量明顯降低,通過了 3GPP 提供的 全部測試序列的檢驗,并且對大量的語音信號測試的結果也表明這種處理是成功的。
3.2.2 用指針操作代替數組更新
程序中有很多有限沖激響應濾波器(FIR 運算,如果對其優化可以起到很好的效果。下面以 10階 FIR 為例: 101:(((out in k in k FIR h n h n a h n k ==+?∑
每次循環, FIR 濾波器要用新的輸入值更新。源碼中是用數組的更新來實現的,以 FIR 濾波 器為例,用 10階數組 FirD1[10]存放濾波器的輸出,每計算一個就要將該數組的前 9個元素向 后移一位, FirD1[0]存入當前輸入值, 共需要更新 9次?,F在將數組 FirD1[10]加大到 FirD1[70], 設一個指針 *FirD指向該數組,初始位置指向 FirD1[60],用指針的向前滑動代替數組的右移 更新,這樣信號每通過一次濾波器就可以減少 60×9=540次數據搬移。
在 AMR-WB+算法中,存在著大量的濾波、卷積算法,除此之外,也會遇到每循環一次 濾波器的數組的值就需要更新的問題,可采用同樣方法來解決。
3.2.3 循環優化
循環優化時, 需要遵循一般的優化法則:內部循環盡可能的簡潔, 有時可以將內部循環 展開,避免轉移判斷語句等等。另外在有多分支語句 if-else 時,將出現頻率高的情況先于出 現頻率低的情況進行判斷,可以節省大量的判斷指令的執行時間。
3.2.4 使用宏定義
在 AMR-WB+的定點 C 語言程序中,所有基本運算與指令較少的函數都是以調用子函數 的形式執行, 這樣雖然對程序的規范化設計有好處, 但在很大程度上降低了程序的執行效率。這些函數由于調用非常頻繁,如果采用直接插入,會使程序比較繁瑣,可讀性降低,如果改 為使用宏定義,將會在不改變程序可讀性的基礎上,節省函數調用的開銷,加快運算速度。
4.測試結果與性能分析
本實驗在 WindowsXP 環境下進行仿真測試, CPU 為奔騰 4 2.66GHz,內存為 1G。本實驗 選用的語料來源于自建的音樂庫以及 3GPP-Audio 語料庫 [5],其中包含各種語境的聲音樣本, 具有廣泛的代表性。
下圖是一段壓縮格式為 PCM ,采樣大小為 16位,采樣級別為 48000Hz 的語音音樂混合片 段, WA V 格式。從上到下分別是原音頻的波形,編碼后音頻的波形,以及優化了的算法編 碼后音頻的波形。從波形可以看出, 經編碼后的音頻和原音頻相比有一定延時, 但是優化前 后的波形相比并沒有太大的差異,也就是說,音質在優化后質量并沒有下降。
最后,對算法的復雜度進行比較,復雜度是通過軟件耗時計算出來的,我們采用了 WMOPS(Weighted Million Operations Per Second 即加權百萬操作每秒 的測算標準。具體數 據如表 1和表 2所示: 表 1優化前后的編碼復雜度
平均 WMOPS 最大 WMOPS 音頻
優化前 優化后 優化前 優化后 14kbps 單聲道 18kbps 立體聲 24kbps 單聲道 24kbps 立體聲
表 2優化前后的解碼復雜度 5.結論
本文從算法和語言兩個角度對 AMR-WB+算法進行了優化, 并對優化前后的性能進行了 比較。不論是客觀還是主觀測試,優化后的算法在語音質量上依然達到了原來的要求 , 但同 時在復雜度方面卻有大大降低,平均降低有百分之二十五左右,說明優化是成功的。
本文作者創新點:在增強自適應多速率寬帶 AMR-WB+算法的基礎上, 采用了兩類優化 策略對 AMR-WB+算法進行優化,并給出測試結果。
參考文獻
[1]3GPP TS 26.290 v6.3.0,Extended Adaptive Multi-Rate Wideband(AMR-WB+codec.Release 6,2005,36-37 [2] B.Bessette,R.Lefebvre and R.Salami.Universal speech/audio coding using hybrid ACELP/TCX techniques.[3] N.Ssugamura,F.Itakura.Speech data Compression by LSP Speech Analysis and Synthesis Technique[J].IEICE J64-A.1981,J64-A(8:599-606 [4] 王偉,李劍雄,周廣祿等.G.723.1語音壓縮算法的分析及 DSP 實現 [J].微計算機信息, 2008, 4-3:160-162.[5] 3GPP TS 26.274 v7.0.0, Speech codec speech processing functions, Extended Adaptive Multi-Rate Wideband(AMR-WB+speech codec,Conformance testing.Release 7,2007.3.作者簡介: 李平安(1976-,男(漢族,貴州遵義人,桂林電子科技大學信號與信息處理研究生,主要 從事語音信號編碼。
Biography: Li Ping An(1946-,male(the Han nationality,guizhou province,Postgraduate,Guilin University of electronic technology,Field of Research:speech signal coding.黃冰(1946-,男(漢族,江西樟樹人,桂林電子科技大學信號與信息處理教授、博士、導 師,主要研究方向:信號處理、計算機網絡。
Huang Bing(1946-,male(the Han nationality,JiangXi province,doctor,professor, instructor,Guilin University of electronic technology,Field of Research:signal processing、Computer Network.王濤(1982-,男(漢族,河南周口人,桂林電子科技大學信號與信息處理研究生,主要從 事語音信號編碼。
梁小朋(1983-,男(漢族,江西贛州人,桂林電子科技大學信號與信息處理研究生,主要 從事語音信號處理、光網絡安全。
平均 WMOPS 最大 WMOPS 音頻 優化前
優化后 優化前 優化后 14kbps 單聲道 8.415 11.693 8.792 18kbps 立體聲 24kbps 單聲道 24kbps 立體聲