G.729編解碼算法,實(shí)時實(shí)現(xiàn)的G.729系統(tǒng)的軟件設(shè)計和硬件設(shè)計。在ADSP-2181上實(shí)現(xiàn)的G.729編解碼器,已經(jīng)通過了ITU-T G.729的全部測試矢量,并且已經(jīng)在數(shù)字語音記錄儀和H.323網(wǎng)上多媒體通信系統(tǒng)中得到推廣應(yīng)用。
關(guān)鍵詞: G.729協(xié)議 ADSP-2181 接口模塊 IDMA口
G.729協(xié)議[1]是由ITU-T的第15研究小組提出的,并在1996年3月通過的8Kbps的語音編碼協(xié)議。
G.729協(xié)議使用的算法是共軛結(jié)構(gòu)的算術(shù)碼本激勵線性預(yù)測(CS-ACELP),它基于CELP編碼模型[2]。由于G.729編解碼器具有很高的語音質(zhì)量和很低的延時,被廣泛地應(yīng)用在數(shù)據(jù)通信的各個領(lǐng)域,如IP phone和H.323網(wǎng)上多媒體通信系統(tǒng)等。
針對實(shí)時實(shí)現(xiàn)G.729的一些難點(diǎn),我們提出了解決的方法。目前,我們已經(jīng)在Analog Device的定點(diǎn)數(shù)字處理芯片adsp-2181上實(shí)時實(shí)現(xiàn)了符合ITU-T G.729編解碼器的全部功能,該編解碼器占用了22MIPS的運(yùn)算量。我們在ADSP-2181上實(shí)現(xiàn)的G.729編解碼器,已經(jīng)通過了ITU-T G729的全部測試矢量,并且已經(jīng)在數(shù)字語音記錄儀和H.323網(wǎng)上多媒體通信系統(tǒng)中進(jìn)行了推廣應(yīng)用。
1 G.729協(xié)議編解碼算法介紹
1.1 G.729編碼算法介紹
電話線路上的模擬語音信號,經(jīng)話路帶寬濾波(符合ITU-T G.712建議)后,被8kHz采樣,量化成16bit線性PCM數(shù)字信號輸入到編碼器。該編碼器是基于線性預(yù)測分析合成技術(shù),盡量減少實(shí)際語音與合成語音之間經(jīng)聽覺加權(quán)后差分信號的能量為準(zhǔn)則來進(jìn)行編碼的。編碼器的結(jié)構(gòu)框圖如圖1所示,其主要部分有:
·線性預(yù)測分析和LPC系數(shù)的量化;
·開環(huán)基音周期估計;
·自適應(yīng)碼本搜索;
·固定碼本搜索;
·碼本增益量化。
下面分別描述這五部分的主要技術(shù)。
·線性預(yù)測分析與LPC系數(shù)的量化
首先對信號進(jìn)行加線性預(yù)測分析窗,分析窗由兩部分組成。第一部分是半個漢明窗,第二部分是四分之一個余弦信號。將加窗后的語音信號通過LevinsonDurbin算法獲得線性預(yù)測濾波器系數(shù)ai i=1......10。由于線譜對參數(shù)比線性預(yù)測系數(shù)具有更好的內(nèi)插特性和量化特性[3], G.729將LPC參數(shù)轉(zhuǎn)換成相應(yīng)的線譜對參數(shù),最后對線譜對參數(shù)進(jìn)行量化。
·開環(huán)基音分析
為了減少自適應(yīng)碼本搜索的復(fù)雜度,需要計算開環(huán)基音Top,使自適應(yīng)碼本搜索在開環(huán)基音值附近進(jìn)行;糁档姆秶18~145個樣本點(diǎn)之間。
·自適應(yīng)碼本搜索
G.729對每個子幀進(jìn)行閉環(huán)基音搜索,它通過最小化原始語音信號和重構(gòu)語音信號的加權(quán)均方誤差來進(jìn)行閉環(huán)基音搜索。對子幀1的閉環(huán)基音T1的搜索是局限在開環(huán)基音Top的一個小范圍內(nèi),對子幀2的閉環(huán)基音T2的搜索是局限在閉環(huán)基音T1的一個小范圍內(nèi)。這樣可以減少基音搜索的復(fù)雜度。
作者:李錦宇 羅 鑫 王仁華 來源:電子技術(shù)應(yīng)用