新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > VoIP中語音壓縮編碼技術的研究與性能分析

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

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

          Internet的巨大成功。必將使IP成為未來信息的支柱技術,以IP為核心的分組化和以移動為核心的化已成為電信演進的主流方向。TCP/IP的技術不但無可置疑地成為數據領域的主導技術,而且已經開始進入電信領域,其突破口就是電話業務。

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

          1、語音編碼技術

          1.1 語音編碼技術的分類

          根據語音編碼的發展過程,把語音編碼技術歸納為以下3類:

          1.1.1 波形編

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

          1.1.2 參數編碼

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

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

          1.1.3 混合編碼

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

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

          1.2 語音的原理

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

          1.2.1 利用了語音信號的相關性

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

            1.2.2 利用了人耳的聽覺特性

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

          1.2.3 線性預測分析——合成編碼方法

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

        語音生成模型

        圖1 語音生成模型

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

        線性預測分析

        圖2 線性預測分析—合成編碼方案

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

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

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

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

          IP電話經常使用ITU定義的兩個標準:G.723.1、G.729。它們采用的都是線性預測分析-合成編碼和碼本激勵矢量量化技術,即混合編碼的方法。

          2.1.1 G.723協議

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

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

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

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

          2.1.2 G.729協議

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

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

          2.2 性能分析與比較

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

          2.2.1 編碼質量

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

          公式1

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

          公式2

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

        表1 ITU-T語音編碼標準的比較

        項目     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的其他編碼標準相比,G.723.1的碼速是最低的。它的碼率為5.3/6.3 kbit/s,在編碼碼率方面擁有優勢。G.729語音編碼速率為8 kbit/s,在編碼速率方面僅次于G.723.1,因而它們都較好地解決了過程中帶寬不足的矛盾,有良好的應用前景。

          2.2.3 編解碼復雜度

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

        表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 抗誤碼性能

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

          2.2.5 編解碼時延

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

          3、結論

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

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 眉山市| 清水河县| 昌都县| 布尔津县| 汨罗市| 专栏| 临邑县| 临泽县| 新巴尔虎右旗| 田林县| 马公市| 汝南县| 馆陶县| 舞钢市| 开封县| 丽江市| 伊宁县| 永宁县| 衡东县| 溆浦县| 靖西县| 五华县| 潜山县| 松原市| 清河县| 博乐市| 江门市| 商河县| 哈尔滨市| 曲沃县| 钦州市| 乐东| 随州市| 潞城市| 桂林市| 孟连| 淮南市| 仪陇县| 留坝县| 邢台市| 安图县|