劉崇治 徐火生 梁 萱
(武漢數字工程研究所 武漢 430074)
語音作為現代社會一種重要的交流手段,在人們日常生活中具有舉足輕重的地位。傳統語音通信主要基于模擬技術,占用較多的頻帶,保密性和抗干擾性都很差。
隨著數字集成電路的迅速發展和計算機技術的進步,涌現出了數字信號處理器(DSP),為構建高數據流通率和強大信號處理能力的系統提供了堅實的基礎。采用數字語音壓縮技術實現高壓縮比、高質量的語音數字化壓縮記錄已成為可能。數字化的記錄方法可以將語音數據經過壓縮記錄在大容量的存儲器上,有效消除噪聲、增加記錄時間、快速復制、快速回放和查找,還可以快速地通過計算機網絡進行傳輸。
在研究艦船高噪聲背景下語音信號編解碼方法的基礎上,結合網絡技術實現語音信號的網絡傳輸,進而實現數據、視頻和語音的“三網合一”。
語音編碼的目的是壓縮語音信號的數字表示而使表達這些信息所需的比特數最小[1]。隨著信息的高速發展,頻率資源變得愈加寶貴,如一路語音信號以8kHz采樣,經A/D轉換,并以16bitPCM編碼,產生的數據量為128kb/s。因此壓縮通信系統的傳輸帶寬就成為人們追求的目標,語音壓縮在這一過程中擔當著重要的角色[2]。
語音編碼技術的研究開始于20世紀30年代Duddley發明聲碼器。尤其是最近20年來,語音編碼取得了突飛猛進的發展。語音編碼方法,按傳統的觀點可分為三類:波形編碼、參數編碼(聲碼器)和混合編碼[2~3]。其中波形編碼將語音信號作為一般的波形信號進行處理,具有適應能力強、算法簡單、易于實現、語音質量好等優點,缺點是編碼速率高;參數編碼是以語音信號產生的數學模型為基礎,對參數進行編碼,在解碼后由這些參數重新合成出語音信號。具有編碼速率低的優點,但語音音質差,而且對噪聲較敏感;混合編碼在參數編碼的基礎上引入了一些波形編碼的特性,在編碼率增加不多的情況下,較大幅度的提高了傳輸語音質量。本文采用基于CS-ACELP(共軛結構的算術碼本線性預測)算法的G.729E標準完成語音的編碼與解碼。
本設計采用TI高性能32位浮點TMS320C6727 DSP來搭建語音編/解碼平臺,其組成如圖1所示。

圖1 語音編/解碼系統框圖
系統可分為語音采集、語音回放和語音編/解碼三部分。既可以作為原始語音信號的編碼系統,也可以作為壓縮后語音的解碼系統。
語音編/解碼部分主要由TMS320C6727 DSP完成。該款DSP是 TI公司推出的一款專門用于語音信號處理的高速、浮點 DSP,最高主頻300MHz,32位浮點處理能力,具有三個音頻串口MCASP,支持I2S音頻傳輸格式。同時DSP片內EMIF總線接口與SDRAM、FLASH等存儲器連接,可外擴 8M ×32bit SDRAM,16M ×16bit FLASH,處理性能可達2400MIPS,可實現DSP程序/數據的存儲。存儲空間以字節為單位統一編址,尋址空間為4G字節。其片上存儲器、片上外設及外部存儲器接口均映射到此4G空間中。JTAG接口能與各種形式的JTAG仿真器相連接,實現對TMS320C6727的仿真與調試。UART接口實現與主機之間的實時通信。
語音采集部分實現原始語音信號的模/數轉換。語音回放部分實現數字語音信號的數/模轉換,分別采用TI高性能音頻采集芯片PCM4204和D/A芯片PCM4104[4],最高支持24位數據,216KHz采樣頻率,采用I2S音頻格式輸出。通過DSP的I2C接口實現編/解碼芯片的初始化和控制。
TMS320C6727的網絡接口主要用來支持物理層的網絡器件(PHY)與DSP相連,符合IEEE802.3協議,支持基于以太網的音/視頻流。
當系統作為語音編碼系統時,語音采集部分先將麥克風輸入的原始語音信號經過音頻解碼器,實現模擬語音信號轉換成數字語音信號并傳入TMS320C6727。在DSP內部,先將數字語音信號通過片內EDIF總線接口緩存在SDRAM中,同時調用語音編碼算法進行數據壓縮,最后通過網絡接口上網傳輸。當系統作為語音解碼系統時,其處理過程是編碼的逆過程,壓縮的語音數據從網絡接口送入DSP,調用語音解碼算法進行數據解壓縮,解壓后的數據緩存在外部SDRAM中,再將緩存數據輸入音頻編碼器進行格式轉換,最后經過揚聲器播放。
語音編/解碼由DSP完成,編碼與解碼可以同時進行,其算法流程圖如圖2所示。

圖2 語音編/解碼流程圖
初始化程序包括DSP TMS320C6727的時鐘、中斷、MCASP口配置,以及 PCM4204、PCM4104的配置。初始化結束后,PCM4204開始采樣,如果有語音信號輸入則采樣后的數字語音信號經過自適應干擾抵消去除語音信號中混雜的噪聲,然后再經過G.729E編碼算法壓縮原始語音信號,壓縮后的數據通過網絡接口輸出。同時,如果網絡接口有數據輸入,則經過G.729E解碼算法解壓后恢復原始數字語音信號,再由PCM4104編碼成模擬語音信號通過揚聲器回放。
艦船噪聲環境包括發動機產生的周期噪聲、艦員說話時伴隨呼吸引起的寬帶噪聲、線路傳輸時引入的干擾語音以及爆炸等產生的沖擊噪聲。為了取得較好的語音效果,在語音編碼前首先針對艦船高噪聲環境的特點,將各種噪聲干擾消除。本設計中采用自適應干擾抵消的方法來實現語音信號的增強。自適應濾波器最重要的特性是能有效地在未知環境中跟蹤時變的輸入信號,使輸出信號達到最優。其工作原理如圖3所示[5]。

圖3 自適應干擾抵消原理圖
采用了一個參考噪聲作為輔助輸入。其中,期望響應d(n)是信號與噪聲之和,即d(n)=x(n)+N(n),自適應處理器的輸入是與N(n)相關的另一個噪聲 N′(n)。當 x(n)與N(n)不相關時,自適應濾波器將調整自己的參數,以力圖使y(n)成為N(n)的最佳估計 N″(n)。這樣e(n)將逼近信號 x(n),從而能獲得比較全面的關于噪聲的信息,因而可以得到更好的降噪效果。同時它還具有簡單、計算量小、易于實時實現等特點。
G.729E采用共軛結構的算術碼本線性預測(CS-ACELP)編碼方案,所選語音幀長為10ms,在每秒8000個樣點情況下,具有80個樣點。對于每個語音幀,要分析并提取LP濾波器系數、自適應碼書和固定碼書的指針和增益,這些參量被編碼和傳送。算法原理如圖 4所示[6~8]。
解碼的框圖如圖5所示[6~8],是編碼的逆過程。從接收的比特流中提取參量指針,這些指針解碼后即可得到編碼語音幀的編碼參量,再從相應的編碼參量恢復壓縮前的數據。

通過對語音編解碼技術現狀和發展趨勢的研究,并結合艦船高噪聲背景下語音信號傳輸的特點,提出用TMS320C6727實時實現自適應干擾抵消和語音壓縮標準G.729E相結合的設計方案,滿足艦船環境下語音信號的壓縮、傳輸與解壓縮。同時,在系統設計中增加一個硬盤接口,可以將壓縮后的數據在本地存儲,實現語音信號的實時記錄。
[1]姚天任.數字語音處理[M].武漢:華中科技大學出版社,2000
[2]楊行峻,遲惠生,等.語音信號數字處理[M].北京:電子工業出版社,1995
[3]張雄偉.現代語音技術與應用[M].北京:機械工業出版社,2003
[4]張濤,賀家琳.TI DSP在音頻處理中的應用[M].北京:電子工業出版社,2008
[5]姚天任,孫洪.現代數字信號處理[M].武漢:華中科技大學出版社,1999
[6]李昌立,吳善培.數字語音—語音編碼實用教程[M].北京:人民郵電出版社,2004
[7]張繼東,等.ITU-T G.729 CS-ACELP語音編碼系統的性能分析[J].南京郵電學院學報,2000,20(4):91~94
[8]潘秢秢,戴憲華,潘丹青.基于 TMS320VC5416的G.729E算法實時實現[J].微計算機信息,2008,24(14):148~149