G.723.1編譯碼算法的DSP實(shí)現
【摘 要】 介紹了ITU-TG.723.1標準語(yǔ)音編譯碼器的算法及其在A(yíng)DSP-2181芯片上的實(shí)現 。軟硬件結合實(shí)現了語(yǔ)音信號的采樣和實(shí)時(shí)編譯碼,完全符合ITU-TG.723.1標準的定點(diǎn)算法,通過(guò)了ITU-T的所有測試向量。
關(guān)鍵詞:語(yǔ)音編譯碼,DSP,ITU┐TG.723.1
1 引 言
當前,Voice over IP(VoIP)技術(shù)正在不斷普及,其中使用的低碼率語(yǔ)音壓縮標準主要有G.723 .1和G.729兩種。隨著(zhù)VoIP技術(shù)的不斷發(fā)展,要求產(chǎn)品的集成度與性能進(jìn)一步提高,利用新一代高性能DSP芯片,實(shí)現單片DSP處理多路語(yǔ)音信號,是今后的發(fā)展趨勢。
G.723.1標準是ITU組織于1996年推出的一種低碼率編碼算法。主要用于對語(yǔ)音及其它多媒體聲音信號的壓縮,如可視電話(huà)系統、數字傳輸系統和高質(zhì)語(yǔ)音壓縮系統等。G.723.1標準可在6.3kbps和5.3kbps兩種碼率下工作。其中,高碼率算法具有較高的重建語(yǔ)音質(zhì)量,而低碼率算法的計算復雜度則較低。與一般的低碼率語(yǔ)音編碼算法一樣,G.723.1標準采用線(xiàn)性預測的合成分析法。對激勵信號進(jìn)行量化時(shí),高碼率算法采用多脈沖最大似然量化(MP-MLQ),而低碼率算法則采用算術(shù)碼本激勵線(xiàn)性預測(ACELP)。
2 算法介紹
語(yǔ)音信號的參數模型是用激勵信號激勵一個(gè)系統模型來(lái)模仿氣流沖激聲道產(chǎn)生的聲音。線(xiàn)性預測法基于全極點(diǎn)模型假定,采用時(shí)域均方誤差最小準則來(lái)估計模型參數。分析過(guò)程中要提取的參數包括聲道系統的LSP參數、自適應碼本的延遲和增益,
以及固定碼本中脈沖的位置和符號。
G.723.1編碼器能對以8kHz采樣的話(huà)帶語(yǔ)音信號進(jìn)行壓縮。為了降低碼率,G.723.1采用了較長(cháng)的幀尺寸,每幀240個(gè)樣值,即30毫秒幀長(cháng)。每幀輸入信號首先通過(guò)一階高通濾波器濾除直流分量,然后將之分成四個(gè)60個(gè)樣值的子幀,每個(gè)子幀獨立進(jìn)行LPC分析。為了提高LPC系數的連續性,采用了長(cháng)度為180個(gè)樣值的重疊窗,即同時(shí)包含前后兩個(gè)子幀,這使算法引入60個(gè)樣值的超前時(shí)延,因此算法的總時(shí)延為37.5毫秒。LPC系數用線(xiàn)性譜頻率(LSF)表示,LSF參數采用預測分裂矢量量化,只對第四子幀進(jìn)行。為了提高量化感知質(zhì)量,高通濾波后的語(yǔ)音信號需通過(guò)共振峰感知加權濾波器和諧振峰噪聲整形濾波器以生成初始目標信號。前者參數由各子幀的未量化LPC系數構成,后者通過(guò)對每?jì)勺訋M(jìn)行開(kāi)環(huán)基音周期估計得到,其中基音周期的范圍為18到142個(gè)樣值。LPC合成濾波器、共振峰感知加權濾波器和諧振峰噪聲整形濾波器用于系統零輸入響應計算和最佳激勵估計。G.723.1編碼器還包括一個(gè)五階基音預測器,其參數根據開(kāi)環(huán)基音估計值和脈沖響應進(jìn)行閉環(huán)基音搜尋得到。在進(jìn)行最佳激勵估計時(shí),需從初始目標信號中減去系統零輸入響應和基音預測器貢獻以得到最終目標信號,然后針對高低碼率分別采用MP-MLQ和ACELP方法進(jìn)行量化。其中,LSF參數、基音值和激勵參數需傳送給解碼器。
解碼器首先根據得到的LSF參數重建LPC合成濾波器,然后根據基音值和激勵參數得到自適應碼本激勵信號和固定碼本激勵信號。
2.1 聲道模型參數的提取
十階全極點(diǎn)模型系統的傳遞函數為:
其中,S(z)和U(z)分別是輸出信號s(n)和輸入信號u(n)的Z變換。因此誤差信號為:
要使均方誤差最小,{ak}必定滿(mǎn)足=1,2,...10),由此可得到以
k為變量的方程組:
其中,R(n)為S(n)的自相關(guān)函數值。對于這個(gè)Toeplitz矩陣,用Durbin遞推算法可方便求解。
因為線(xiàn)譜對參數(LSP)良好的量化特性和內插特性,LPC參數要轉換為L(cháng)SP參數進(jìn)行傳輸。
設線(xiàn)性濾波器的逆濾波器為
ωi和θi分別是P(z)和Q(z)的第i個(gè)零點(diǎn)。ωi和θi成對出現,反映信號的頻譜特性,因此稱(chēng)為線(xiàn)譜對。對P(z)和Q(z)的系數做離散傅立葉變換得到zk=e-jπk/N(k=0,1,2...N)各點(diǎn)的值,搜索極小值點(diǎn)的位置,就是可能的零點(diǎn)位置。
2.2 自適應碼本的搜索
開(kāi)環(huán)搜索是基于整幀的整數基音估計。為了提高可靠性,對原始信號進(jìn)行預處理,用中心削波函數對原始信號進(jìn)行削波。然后用自相關(guān)基音檢測法估
計基音Top。閉環(huán)搜索是基于子幀的基音細搜索。將LPC合成濾波器、共振峰感知加權濾波器和諧波噪聲濾波器一起構成綜合濾波器,計算出該綜合濾波器的沖激響應。用估算出的開(kāi)環(huán)基音周期和計算所得綜合濾波器的沖激響應,通過(guò)一個(gè)五階的基音預測器,可計算出閉環(huán)基音周期。
2.3 固定碼本的搜索
對自適應碼本搜索后得到的殘差余量信號進(jìn)行固定碼本搜索。
對高碼率(6.3kbps)的固定碼本搜索采用脈沖最大似然量化法(MP-MLQ)。激勵信號可表示為
其中,G為增益因子,δ(n)為單位脈沖響應,{ak}和{mk}分別是單位脈沖響應的符號和位置。M為脈沖的數目,偶數幀取6,奇數幀取5。
編碼算法的任務(wù)是估計G、{ak}和{mk},使誤差信號e〔n〕的均方值最小。
其中,r〔n〕表示目標矢量,自適應碼本搜索后得到的殘差信號,h〔n〕表示加權合成濾波器的沖激響應。
對低碼率(5.3kbps)編碼器固定碼本搜索采用代數碼本激勵線(xiàn)性預測法(ACELP)。每一子幀中有4個(gè)脈沖,它們可能的位置如表1所示。
表1

碼本搜索同樣是使加權語(yǔ)音信號r〔n〕與加權合成語(yǔ)音信號之間均方誤差最小。即:
其中,r表示目標矢量,自適應碼本搜索后得到的殘差信號,G是碼本增益,vξ是代數碼本中索引ξ對應的碼本,H是加權合成濾波器的截斷沖激響應。
要求最佳碼本,即要搜索使τξ最大的ξ,
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論