1. 程式人生 > >音訊編解碼標準G.711與G.729

音訊編解碼標準G.711與G.729

G.711和G.729協議是兩對用於語音壓縮的編碼方案,兩者具有一些相似之處,但不同於完全自由使用的G.711,使用G.729是需要付費的,而且,對於使用G.729的情況,CPU佔有時間大約為G.711的4倍,因此大多數情況下,G.711的使用要廣泛於G.729,但G.729也有其獨特的優秀之處,G.729佔用頻寬小,使用普通編碼的語音通訊需要佔用64Kbps的頻寬,而G.729僅僅需要8Kbps。

G.711也稱為PCM(脈衝編碼調製),是ITU-T訂定出來的一套語音壓縮標準,主要用於電話。它主要用脈衝編碼調製對音訊取樣,取樣率為8k每秒。它利用一個 64Kbps 未壓縮通道傳輸語音訊號。起壓縮率為1:2,即把16位資料壓縮成8位。G.711是主流的波形聲音編解碼器。G.711 標準下主要有兩種壓縮演算法:U-law algorithm和A-law algorithm,其中,後者是特別設計用來方便計算機處理的。

G.729編碼方案是電話頻寬的語音訊號編碼的標準,對輸入語音性質的模擬訊號用8kHz取樣,16位元線性PCM量化。G.729A是ITU最新推出的語音編碼標準G.729的簡化版本。G.729協議使用的演算法是共軛結構的算術碼本激勵線性預測(CS-ACELP),它基於CELP編碼模型。由於G.729編解碼器具有很高的語音質量和很低的延時,被廣泛地應用在資料通訊的各個領域,如VoIP和H.323網上多媒體通訊系統等。

G.729協議編解碼演算法:電話線路上的模擬語音訊號,經話路頻寬濾波(符合ITU-T G.712建議)後,被8kHz取樣,量化成16bit線性PCM數字訊號輸入到編碼器。該編碼器是基於線性預測分析合成技術,儘量減少實際語音與合成語音之間經聽覺加權後差分訊號的能量為準則來進行編碼的。編碼器的其主要部分有:線性預測分析和LPC係數的量化、開環基音週期估計、自適應碼本搜尋、固定碼本搜尋和碼本增益量化。

G.729解碼演算法:G.729的解碼也是按幀進行的,主要是對符合G.729協議的碼流進行解碼,得到相應的引數,根據語音產生的機理,合成語音。解碼過程主要分為:引數解碼;後濾波處理。並且具有線性預測分析和LPC係數的量化、開環基音週期估計、自適應碼本搜尋、固定碼本搜尋、碼本增益量化的特點。

首先解碼得到線譜對引數,並將線譜對引數轉換為線性預測係數。然後解碼出基音週期,獲得自適應碼本向量V(n)。解碼出固定碼本向量的四個脈衝的位置和符號,計算出固定碼本向量c(n)。解碼出固定本預測增益gc和固定碼本增益,接著得到激勵訊號。最後將激勵訊號輸入到線性預測合成濾波器中,計算出重構語音。

後濾波處理主要是自適應後濾波。自適應後置濾波器是由三個濾波器級連而成:長時後置濾波器Hp(z),短時後置濾波器Hf(z),頻譜傾斜補償濾波器Ht(z),後面接著進行一個自適應增益控制過程。後置 濾波器的係數每一個子幀更新一次。後置濾波能夠有效地改善合成出的語音質量。