新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > VoIP中語音壓縮編碼技術(shù)的研究與性能分析

VoIP中語音壓縮編碼技術(shù)的研究與性能分析

——
作者:鞠鳴 時間:2007-08-14 來源:江蘇通信技術(shù) 收藏
    引言

  Internet的巨大成功。必將使IP成為未來信息的支柱技術(shù),以IP為核心的分組化和以移動為核心的化已成為電信演進(jìn)的主流方向。TCP/IP的技術(shù)不但無可置疑地成為數(shù)據(jù)領(lǐng)域的主導(dǎo)技術(shù),而且已經(jīng)開始進(jìn)入電信領(lǐng)域,其突破口就是電話業(yè)務(wù)。

  IP網(wǎng)絡(luò)電話是一項涉及計算機(jī)網(wǎng)絡(luò)、信令協(xié)議、數(shù)字信號處理等多個領(lǐng)域的綜合性技術(shù),它具有價格低廉、可以靈活地提供各種增值業(yè)務(wù)、有利于企業(yè)建立高效綜合服務(wù)內(nèi)部網(wǎng)、有利于運(yùn)營商開拓新的市場、有助于和IP網(wǎng)絡(luò)新技術(shù)的融合、促進(jìn)網(wǎng)絡(luò)技術(shù)的發(fā)展等獨特的優(yōu)勢。其中價格低廉是IP電話能夠進(jìn)入市場的首要因素,其根本原因是IP電話均采用語音分組技術(shù)、語音和統(tǒng)計復(fù)用,帶寬利用率高,完成一次所需的成本大幅度降低。IP電話中的語音處理主要需要解決兩個問題:一是在保證一定話音質(zhì)量的前提下盡可能地降低編碼比特率,二是在IP網(wǎng)絡(luò)環(huán)境下保證一定的通話質(zhì)量。前者正是我們要研究的語音編碼技術(shù)。

  1、語音編碼技術(shù)

  1.1 語音編碼技術(shù)的分類

  根據(jù)語音編碼的發(fā)展過程,把語音編碼技術(shù)歸納為以下3類:

  1.1.1 波形編

  波形編碼方式是能夠忠實地表現(xiàn)波形的編碼方式。語音信號的波形編碼力圖使重建的語音波形保持原語音信號的波形狀態(tài)。這類編碼器通常是將語音信號作為一般的波形信號來處理,所以它具有適應(yīng)能力強(qiáng)、話音質(zhì)量好、抗噪抗誤碼能力強(qiáng)等特點,但是波形編碼所需的編碼速率比較高,其速率一般在64 kbit/s~16 kbit/s。其中64 kbit/s PCM的語音編碼方式是其中的一個代表。

  1.1.2 參數(shù)編碼

  參數(shù)編碼是根據(jù)聲音的形成模型,把聲音變換成參數(shù)的編碼方式。其基本方法是通過對語音信號特征參數(shù)的提取及編碼,力圖使重建語音信號具有盡可能高的可懂性,即保持原語音的語義。而重建的信號的波形同原語音信號的波形可能會有相當(dāng)大的差別。參數(shù)編碼的最大優(yōu)點是編碼速率低,通常小于 4.8kbit/s,有時可以低至600 bit/s~2.4 kbit/s。缺點是合成語音質(zhì)量差,自然度較低,對講話環(huán)境噪聲較敏感,且時延大。

  參數(shù)編碼的典型例子就是語音信號的線性預(yù)測編碼(LPC),它已被公認(rèn)為是目前參數(shù)編碼中最有效的方法。

  1.1.3 混合編碼

  混合編碼結(jié)合了以上兩種編碼方式的優(yōu)點,采用線性技術(shù)構(gòu)成聲道模型,不只傳輸預(yù)測參數(shù)和清濁音信息,而且預(yù)測誤差信息和預(yù)測參數(shù)同時傳輸,在接收端構(gòu)成新的激勵去激勵預(yù)測參數(shù)構(gòu)成的合成濾波器,使得合成濾波器輸出的信號波形與原始語聲信號的波形最大程度的擬合,從而獲得自然度較高的語聲。這種編碼技術(shù)的關(guān)鍵是:如何高效地傳輸預(yù)測誤差信息。依據(jù)對激勵信息的不同處理,這類編碼主要有:多脈沖線性預(yù)測編碼(MPLPC)、規(guī)則脈沖激勵線性預(yù)測編碼(RPELPC)、碼激勵線性預(yù)測編碼(CELPC)、低時延的碼激勵線性預(yù)測編碼(LD-CELPC)。

  混合編碼克服了原有波形編碼器與聲碼器的弱點,而結(jié)合了它們的優(yōu)點,在4 kbit/s~16 kbit/s速率上能夠得到高質(zhì)量合成語音。在本質(zhì)上具有波形編碼的優(yōu)點,有一定抗噪和抗誤碼的性能,但時延較大。

  1.2 語音的原理

  IP網(wǎng)絡(luò)電話中的語音處理需要解決的一個重要問題就是在保證一定話音質(zhì)量的前提下,盡可能降低編碼比特率。這主要依靠語音編碼技術(shù)來解決。IP 電話宜使用ITU-T定義的低比特率編碼標(biāo)準(zhǔn),其比特率為5.3 kbit/s~16 kbit/s,均為低復(fù)雜度編碼算法,話音分組長度在30 ms以下,話音質(zhì)量較好。從前面列舉的幾種編碼方式也可看出,同一段語音信號,采用不同的編碼方式,其編碼后的比特率各不相同。那么為什么我們能夠?qū)φZ音信號進(jìn)行從而達(dá)到降低語音信號的比特率呢?

  1.2.1 利用了語音信號的相關(guān)性

  語音信源是相關(guān)信源,因此經(jīng)過采樣和量化的信號之間還有很強(qiáng)的相關(guān)性,為了降低編碼速率,人們就希望盡可能多地去除語音信號之間的相關(guān)性。線性預(yù)測編碼技術(shù)(LPC)就是一種用來去除語音信號之間相關(guān)性的常用技術(shù)。語音信號中存在兩種類型的相關(guān)性:其一是在樣點之間短時相關(guān)性。語音信號在某些短時段中呈現(xiàn)出隨機(jī)噪聲的特性,在另一些短時段中,則呈現(xiàn)出周期信號的特性,其他一些是二者的混合。簡而言之,語音信號的特征是隨時間而變化的,只是在一短段時間中,語音信號才保持相對穩(wěn)定一致的特征,也就是語音信號的短時平穩(wěn)性。其二是相鄰基音周期之間存在的長時相關(guān)性。由于語音信號中的短時相關(guān)性和長時相關(guān)性很強(qiáng),通過減弱這些相關(guān)性,使語音信號之間相關(guān)性降低,然后再進(jìn)行編碼,這樣就可以實現(xiàn)語音壓縮編碼,降低比特率。

    1.2.2 利用了人耳的聽覺特性

  利用人耳的掩蔽效應(yīng)也可以進(jìn)行語音壓縮編碼,降低比特率。兩個響度不等的聲音作用于人耳時,響度較高的頻率成分的存在會影響到對響度較低的頻率成分的感覺,使其變得不易被察覺,這就是我們所說的掩蔽效應(yīng)。在語音頻譜中,能 量較高的頻段即共振峰處的噪聲相對于能量較低頻段的噪聲而言不易被感知。因此在度量原始語音與合成語音之間的誤差時可計入這一因素。在語音能量高的頻段,允許二者的誤差大一些,從而進(jìn)一步降低編碼比特率。為此引入一個頻域感覺加權(quán)濾波器W(f)來計算二者的誤差。感覺加權(quán)濾波器的頻率響應(yīng)中的峰、谷值正好與語音譜中相反。所以感覺加權(quán)濾波器的作用就是使實際誤差信號的譜不再平坦。而是有著與語音信號譜具有相似的包絡(luò)形狀。這就使誤差度量的優(yōu)化過程與感覺上的共振峰對誤差的掩蔽效應(yīng)相吻合,產(chǎn)生較好的主觀聽覺效果。

  1.2.3 線性預(yù)測分析——合成編碼方法

  IP網(wǎng)絡(luò)電話中所使用的語音信號壓縮編碼方式大多數(shù)是基于合成—分析法的線性預(yù)測編碼(ABS-LPC)方法,這是一種混合編碼方法。線性預(yù)測技術(shù)就是用過去樣點的線性組合來預(yù)測當(dāng)前樣點。假如用S(n)代表原始語音信號,用線性預(yù)測的方法求出預(yù)測器的系統(tǒng)預(yù)測系數(shù)αi,構(gòu)成線性預(yù)測逆濾波 器,S(n)通過該濾波器后得到了去除短時相關(guān)性的語音信號。再將其進(jìn)行基音預(yù)測,建立基音逆濾波器。去除它的長時相關(guān)性后,就可得到最后的殘差信號。殘差信號是完全隨機(jī)的、不可預(yù)測的部分。根據(jù)速率的不同要求,可對殘差信號采用不同的量化方法,從而得到不同的編碼速率,讓量化后的殘差信號作為激勵信號依次通過基音濾波器與線性預(yù)測濾波器后,便得到了合成語音信號,見圖1。

語音生成模型

圖1 語音生成模型

  編碼的過程就是不斷改變模型參數(shù),使模型更好地適應(yīng)原始語音信號。為此又引入了合成分析的概念。同時,利用人耳的掩蔽效應(yīng),引入了感覺加權(quán)濾波器。綜合以上兩方面,可以得到圖2所示的線性預(yù)測分析—合成編碼的方框圖。

線性預(yù)測分析

圖2 線性預(yù)測分析—合成編碼方案

  合成—分析法的基本原理可以概括如下:假定—原始信號可以用一個模型來表示,這個模型又是由一組參數(shù)來決定的,隨著這組參數(shù)的變化,模型所產(chǎn)生的合成信號就會改變,原始信號與合成信號之間的誤差也隨之而變化。為了使模型參數(shù)能更好地適應(yīng)原始信號,可以規(guī)定一個誤差準(zhǔn)則:當(dāng)誤差越小,模型合成信號就和原始信號越接近。這樣總能找到一組參數(shù),使誤差最小,此時這組參數(shù)決定的模型就可以使用。一般在編碼端配備編碼和本地解碼兩個部分。配備本地解碼的目的是完成合成功能,以便計算原始語音信號與合成語音信號之間的誤差值。在圖2中之所以采用反饋控制,是為了求出最佳模型參數(shù),使合成語音與原始語音在某種準(zhǔn)則下最為接近。

  基于合成—分析法的線性預(yù)測編碼的過程實質(zhì)上就是不斷地改變模型參數(shù),使模型更好地適應(yīng)原始語音信號的過程。原始語音信號被分成幀,幀的長度和模型參數(shù)決定了編碼速率。

  2、IP語音壓縮編碼算法及性能分析

  2.1 常用的語音壓縮編碼算法

  IP電話經(jīng)常使用ITU定義的兩個標(biāo)準(zhǔn):G.723.1、G.729。它們采用的都是線性預(yù)測分析-合成編碼和碼本激勵矢量量化技術(shù),即混合編碼的方法。

  2.1.1 G.723協(xié)議

  G.723協(xié)議是一個雙速率語音編碼建議[1],其兩種速率分別是5.3 kbit/s和6.3 kbit/s。此協(xié)議是一個數(shù)字傳輸系統(tǒng)概況協(xié)議,適用于低速率多媒體服務(wù)中語音或音頻信號的壓縮算法。它作為完整的H.324系列標(biāo)準(zhǔn)的一部分,主要配合低速率圖像編碼H.263標(biāo)準(zhǔn)。在IP電話網(wǎng)關(guān)中,G.723協(xié)議被用來實現(xiàn)實時語音編碼解碼處理。

  G.723.1協(xié)議的編解碼算法中兩種速率的編解碼基本原理是一樣的,只是激勵信號的量化方法有差別。對高速率(6.3 kbit/s)編碼器,其激勵信號采用多脈沖最大似然量化(MP-MLQ)法進(jìn)行量化,對低速率(5.3 kbit/s)編碼器,其激勵信號采用代數(shù)碼激勵線性預(yù)測(ACELP)法量化。

  編碼過程是首先選速率為64 kbit/s的PCM語音信號轉(zhuǎn)化成均勻量化的PCM信號,然后把輸入語音信號的每240個樣點組成一個幀,也就是30 ms的幀長。每個幀通過高通濾波器后再分為4個子幀。對于每個子幀,計算出10階線性預(yù)測濾波器的系數(shù)。為了適于矢量量化,把預(yù)測系數(shù)轉(zhuǎn)化為線性頻譜對(LSP:line spectrum pair)。量化前的系數(shù)構(gòu)成短時感覺加權(quán)濾波器,原始語音信號經(jīng)過該濾波器得到感覺加權(quán)語音信號。對于每兩個子幀,編碼器用感覺加權(quán)語音信號求得開環(huán)基音周期,基音周期范圍從18個樣點到142個樣點。此后編碼器所進(jìn)行的操作都是基于60個樣點進(jìn)行的。最后,激勵信號被量化,然后把這些參數(shù)和激勵信號量化結(jié)果傳送到解碼器。由于幀長為30 ms,并存在另外的7.5 ms的前向延遲,導(dǎo)致37.5 ms總的編碼延遲。

   G.723.1協(xié)議是為了低速可視會議業(yè)務(wù)而設(shè)計的。由于可視會議業(yè)務(wù)每秒鐘只傳輸很少數(shù)量的幀,而且又有比較大的時延,這就是G.723.1 允許有30 ms幀長的原因。這個幀長比較大,卻正好適合可視會議這種情況。而且它的編碼速度比較低,可以把盡可能多的比特用在圖像傳輸上。

  2.1.2 G.729協(xié)議

  G.729協(xié)議是一個能在8 kbit/s速率上實現(xiàn)高質(zhì)量語音編碼的建議,也是H.323協(xié)議中有關(guān)音頻編碼的標(biāo)準(zhǔn)[2]。在IP電話網(wǎng)關(guān)中,G.729協(xié)議被用來實現(xiàn)實時語音編碼處理。G.729協(xié)議采用的是CS-ACELP即共軛結(jié)構(gòu)算術(shù)碼激勵線性預(yù)測的算法。CS- ACELP以CELP編碼模型為基礎(chǔ),它把語音分成幀,每幀10 ms,也就是80個采樣點。對于每一幀語音,編碼器從中分析出CELP模型參數(shù),其中包括線性預(yù)測系數(shù),自適應(yīng)碼本和隨機(jī)碼本的索引值和增益。然后把這些參數(shù)傳送到解碼端,解碼器利用這些參數(shù)構(gòu)成激勵源和合成濾波器,從而重現(xiàn)原始語音。

  編碼過程是首先將速率為64 kbit/s的PCM語音信號轉(zhuǎn)化成均勻量化的PCM信號,通過高通濾波器后,把輸入語 音信號的每80個樣點組成一個幀,也就是10 ms的幀長。對于每個幀用線性預(yù)測法求得LP濾波器系數(shù),為了適于矢量量化,把預(yù)測系數(shù)轉(zhuǎn)化為LSP。利用合成-分析方法,使原始語音和合成語音之間的誤差最小,來獲得最佳激勵信號。激勵信號的量化是通過兩個碼本來實現(xiàn)的,即自適應(yīng)碼本和隨機(jī)碼本。自適應(yīng)碼本反映的是長時預(yù)測結(jié)果,也就是基音預(yù)測結(jié)果。隨機(jī)碼本反映的是經(jīng)過長時預(yù)測和短時預(yù)測后的殘留信號。

  2.2 性能分析與比較

  語音編碼的主要問題是怎樣在編碼質(zhì)量、編碼速率、算法復(fù)雜度以及抗誤碼性能、編解碼時延等方面求得最佳。這幾個因素相互聯(lián)系,密切相關(guān)。下面就這些方面對G.729與G.723.1系統(tǒng)進(jìn)行分析與比較,并給出了實驗的結(jié)果[3]。

  2.2.1 編碼質(zhì)量

  編碼質(zhì)量是衡量語音編碼優(yōu)劣的關(guān)鍵性能之一,對它的評價通常有客觀評價與主觀評價兩種。信噪比是衡量語音編碼質(zhì)量的客觀標(biāo)準(zhǔn)。其計算可采用長時信噪比和短時信噪比兩種準(zhǔn)則。由于在語音信號中小能量占信號能量的比率較小,而恰恰小信號對主觀聽音效果又有比較大的影響,因此長時信噪比不能反應(yīng)小能量量化的質(zhì)量,在語音信號處理中經(jīng)常采用短時信噪比。設(shè)每段有M個語音樣點,則第m段的分段信噪比定義為

  公式1

  其中分式的分子分母分別表示M個語音樣點的總能量和量化噪聲的總能量。如果輸入語音共有N段,則平均分段信噪比為

  公式2

  此次試驗分別對男聲、女聲、童聲以及混聲進(jìn)行了測試,它們得到的信噪比(尤其是時域信噪比)并不很高,然而經(jīng)過主觀評價即MOS(mean opinion score)分評價,它們的聽音質(zhì)量還相對較高,其結(jié)果如表1所示,由此說明了基于參數(shù)編碼與波形編碼的語音編碼器的不同。

表1 ITU-T語音編碼標(biāo)準(zhǔn)的比較

項目     G.729     G.723.1     G.729 annex A
比特率/(kbit/s)     8     5.3/6.3     8
幀大小/ms     10     30     10
頭開銷/ms     5     1.5     5
MOS     4     3.7     4
出臺時間     1995年     1995年     1996年

  2.2.2 編碼速率

  就目前而言,與ITU-T的其他編碼標(biāo)準(zhǔn)相比,G.723.1的碼速是最低的。它的碼率為5.3/6.3 kbit/s,在編碼碼率方面擁有優(yōu)勢。G.729語音編碼速率為8 kbit/s,在編碼速率方面僅次于G.723.1,因而它們都較好地解決了過程中帶寬不足的矛盾,有良好的應(yīng)用前景。

  2.2.3 編解碼復(fù)雜度

  編解碼的復(fù)雜度與語音編碼的質(zhì)量有密切的關(guān)系,在同樣的碼率下,采用復(fù)雜的算法將獲得更好的語音質(zhì)量。表2給出了G.729與G.723.1在硬件實現(xiàn)上所需的資源。G.729在時延方面較G.723.1有優(yōu)勢;在復(fù)雜度方面,G.723.1相對G.729較優(yōu),但是G.729 annex A卻有更大的優(yōu)勢。

表2 G.723.1,G.729與G.729annex A的比較

項目     G.723.1     G.729     G.729 annex  A
比特率/(kbit/s)     5.3/6.4     8.0     8.0
幀長/ms     30     10     10
頭開銷/ms     7.5     5     5
整個編碼時延/ms     37.5     15     15
指令/(百萬條/s)     16     20     10.5
RAM/byte     2 200     3 000     2 000

    2.2.4 抗誤碼性能

  抗誤碼性能是衡量語音編碼質(zhì)量的因素之一。測試表明,當(dāng)隨機(jī)誤差為0.1%,G.729編碼系統(tǒng)的性能與32 kbit/s G726 ADPCM相當(dāng),當(dāng)誤碼率為10%,人耳雖能感覺到語音質(zhì)量的下降,但仍能聽懂語音含義;G.723.1抗誤碼性能與G.729基本相當(dāng)。

  2.2.5 編解碼時延

  增加算法的復(fù)雜度可以提高語音的編碼質(zhì)量。但往往也帶來編解碼的時延,在實時語音通信中對通話質(zhì)量有很大影響。對于G.729系統(tǒng)而言由于碼率為8kbit/s,每幀80個樣點,因此幀大小為10 ms,再加上頭開銷5ms,整個系統(tǒng)的編解碼時延為15ms,大大低于G.723.1的37.5 ms的時延(幀大小為30ms,再加上頭開銷7.5 ms)。因此在編解碼時延方面G.729較G.723.1為優(yōu)。

  3、結(jié)論

  混合編碼中把激勵模型和語音的時

域波形結(jié)合到一起,從而改善了合成語音的質(zhì)量。以上兩種語音壓縮編碼算法的主要區(qū)別在于激勵模型的不同。

  雖然IP電話目前正處于蒸蒸日上的階段。但它也存在這樣或那樣一些不盡如人意的方面。如何提高IP分組語音通信的質(zhì)量,或者更一般地說,如何在IP網(wǎng)絡(luò)上實現(xiàn)包括實時通信業(yè)務(wù)在內(nèi)的綜合業(yè)務(wù)通信,這正是我們需要進(jìn)一步研究的。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉