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