新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > IP網絡電話中常用的語音壓縮編碼技術的性能分析

IP網絡電話中常用的語音壓縮編碼技術的性能分析

作者: 時間:2006-05-07 來源:網絡 收藏

摘要:從語音編碼技術中常用的三種編碼方法入手,由淺入深地引出了IP網絡電話中常用的幾種語音壓縮編碼方法,并對之進行了性能分析和比較。

本文引用地址:http://butianyuan.cn/article/242387.htm

關鍵詞:IP網絡電話 語音壓縮編碼 線性預測(LP) 合成-分析法

隨著互聯網的迅速發(fā)展,最近幾年出現了一種在互聯網上提供電話服務的新業(yè)務——IP電話業(yè)務。一次IP電話呼叫的成本為本地市話費、IP網絡使用費以及遠端市話費,與傳統長途電話昂貴的長途通信費相比,可以極大地降低用戶的通信費用。正是由于這種極大的價格優(yōu)勢,使得它一出現便引起了世人充分的注意,同時互聯網的蓬勃發(fā)展,有效地利用現有的網絡資源,來緩解現有通信網的緊張局面,也是促成這項新技術迅速發(fā)展的另一原因。從另一個角度來看,互聯網的巨大成功,必將使IP成為未來信息網絡的支柱技術,以IP為核心的分組化和以移動通信為核心的無線化已成為電信網絡演進的主流方向。其于TCP/IP的網絡技術不但無可置疑地成為數據領域的主導技術,而且已經開始進入電信領域,其突破口就是電話業(yè)務。IP網絡電話的成功開發(fā)和應用,預示了以IP為基礎的新一代信息網絡的出現。積極地探索和跟蹤這項新技術無疑是一項十分有必要和有意義的工作。

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

1 語音編碼技術的分類

語音處理的研究是和通信技術的發(fā)展服密切相關的。人們?yōu)樘岣咄ㄐ畔到y的效率而研究語音編碼方法,為滿足低碼率的通信要求,而研究語音分析合成系統——聲碼器。研究語音編碼就是要解決傳輸速率和語音質量的矛盾。最早的標準化語音編碼系統是速率為64kb/s的PCM波形編碼器。到二十世紀90年代中期,速率為4ks/s~8kb/s的波形與參數混合編碼器,在語音質量上已逼近前者的水平且已達到實用化階段。根據語音編碼的發(fā)展過程,我們把該技術歸納為以下三類:

(1)波形編碼(或稱為非參數編碼)

波形編碼方式是能夠忠實地表現波形的編碼方式。語音信號的波形編碼力圖使重建的語音波形保持原語音信號的波形狀態(tài)。這類編碼器通常是將語音信號作為一般的波形信號來處理,比如:脈沖編碼調制(PCM)、自適應增量調制(ADM或ΔM編碼)、自適應差分編碼(ADPCM)、自適應預測編碼(APC)、自適應子帶編碼(ASBC)、自適應變換編碼(ATC)等都屬于這類編碼器。以上幾種波形編碼方式分別在64kb/s~16kb/s的速率上能給出高的編碼質量。當速率進一步降低時,其性能會下降較快。由于這類編碼器通常將語音信號作為一般的波形信號來處理,所以它具有適應能力強、話音質量好、抗噪抗誤碼的能力強等特點,但所需的編碼速率高,其中64kb/s PCM的語音質量成為一個編碼質量的參照標準。

(2)參數編碼(或稱為模型編碼或聲碼化編碼)

參數編碼是根據聲音的形成模型,把聲音變換成參數的編碼方式。其基本方法是通過對語音信號特征參數的提取及編碼,力圖使重建語音信號具有盡可能的可懂性,即保持原語音的語義。而重建的信號的波形同原語音信號的波形可能會有相當大的差別。參數編碼的典型例子語音信號的線性預測編碼(LPC)已被公認為是目前參數編碼中最有效的方法,它能夠在2.4kb/s的低比特速率下獲得清晰、可懂的合成音。并且易于硬件實現。這種方法的優(yōu)點是不但能極為精確地估計參數,還在于它的計算速度比較快。另外多帶激勵(MBE)編碼,余弦變換編碼(STC)均屬參數編碼。

由于參數編碼是保護語聲模型,重建清晰可識別的語聲,而不注重波形的擬合,所以這類編碼技術實現的是合成語聲質量下的低速或極低速的編碼。參數編碼的優(yōu)點是:編碼速率低,編碼速率通常小于4.8kb/s,可以低至600b/s至2.4kb/s。缺點是:合成語音質量差,特別是自然度較低,連熟人之間都不一定能聽出講話人是誰;另外,這類編碼器對講話環(huán)境噪聲較敏感,需要安靜的講話環(huán)境才能給出較高的可懂度,且時延大。

(3)混合編碼

混合編碼是將波形編碼與參數編碼結合而產生的一種編碼方式。使語音編碼技術有了突破性的進展。其中提出了一些非常有效的處理方法,產生了新一代的參數編碼算法,構成了新一代的聲碼器。

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

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

2 語音壓縮編碼的原理

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

(1)利用了語音信號的相關性

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

(2)利用了人耳的聽覺特性

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

(3)線性預測分析-合成編碼方法

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

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

合成-分析法的基本原理可以概括如下:假定一原理信號可以用一個模型來表示,這個模型又是由一組參數來決定的,隨著這組參數的變化,模型所產生的合成信號也就是一樣,原始信號與合成信號之間的誤差也隨之而變化。為了使模型參數能更好地適應原始信號,可以規(guī)定一個誤差準則:當誤差越小,模型合成信號就和原始信號發(fā)越接近。這樣總線找到一組參數,使誤差最小,此時這組參數決定的模型就可以用時,一般在編碼端配備編碼和本地解碼兩個部分,配備本地解碼的目的是完成合成功能,以便計算原始語音信號與合成語音信號之間的誤差值。為了獲得較好的語音效果,在分析合成語音與原始語音的誤差時,經常采用感覺加權均方差技術,即將合成語音與原始誤差最小的一組語音參數。原理圖2中之所以采用反饋控制,是為了求出最佳模型參數,使合成語音與原始語音在某種準確則下最為接近。

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

3 IP網絡電話中常用的幾種語音壓縮編碼算法的性能分析

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

3.1 G.723協議

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

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

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

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

3.2 G.728協議

G.728建議是16kb/s整編語音編碼標準,是H.723協議中有關音頻編碼的標準,采用的編碼算法是LD-CELP,即低時延-碼激勵線性預測的算法。G.728協議有一般CELP編碼器的共同點:利用合成-分析、感覺加權、矢量量化和線性預測技術,從碼本中搜索出最佳矢量,把它乘以最佳增益,代替余量信號作為激勵信號。不同之處在于:一般的CELP編碼器采用前向自適應預測器(Forword Adaptive Predictor)來去除語音信號的冗余度,而LD-CELP采用后向自適應預測器(Backword Adaptive Predictor)對短時譜包括和增益進行預測。LD-CELP編碼器發(fā)送的只是激勵矢量在碼本中的地址標號,而解碼端的濾波器參數和增益參數都是在解碼端計算得來的。在大多數編碼系統中,這類參數都是在編碼端求得,然后傳輸到解碼端。

LD-CELP的一個幀只有5個樣點,因此編碼器只要等5個樣點就可以開始計算最佳激勵矢量。它的線性預測周期是20個樣點,但編碼器不必等20個樣點的語音信號才開始進行線性預測,它用以前已經量化的語音信號來進行預測分析。它不用象前向自適應預測器中必須等一幀語音信號到齊后才能進行預測分析。因此LD-CELP的延遲很小,為0.625ms,一路編解碼時延不超過2ms,完全達到了進入公眾網的標準。這種在低時延下還能保證很高語音質量的系統有很好的實用價值,付出的代價是算法計算復雜度很高,約為25MIPS左右。編碼過程是首先將速率為64kb/s的PCM輸入信號轉化成均勻量化的PCM信號,接著由5個連續(xù)的語音樣點組成一個5維矢量,激勵碼本中共有1024個5維矢量。對每一個輸入矢量,編碼器利用合成-分析法從碼本中搜索出最佳碼本矢量,然后將10bits的碼本標號傳給對方。每20個樣點構成一個復幀,一個復幀構成一個自適應周期,每復幀更新一次LP系數。最佳碼本矢量通過增益加權和合成濾波器后形成合成語音,該合成語音用來更新濾波器狀態(tài),以便繼續(xù)為下一個輸入矢量進行編碼。合成濾波器系數和增益分別通過各自的后向自適應單元進行周期性地更新。

G.728建議最大的優(yōu)點是它能提供高質量和低過延的語音。為此,它也要付出一定的代價,也就是在實現中和實際應用中有其它方面的麻煩,如在誤差疊加、計算復雜度(它的線性預測階數是50階,而一般的編碼器是10階)、計算量的分配、互連問題等方面存在問題。

3.3 G.729協議

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

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

3.4 幾種語音壓縮編碼方法的共同之處

它們都是采用的把參數編碼和波形編碼結構起來所形成了混合編碼。混合編碼有一個共同的特點,都是都有一個相同的算是過程:先進行線性預測分析,去掉語音的短時相關性,然后再用合成-分析法和感覺加權均方誤差最小準則分析出合適的替代余量信號的最佳激勵信號,最后對激勵信號和線性預測參數進行編碼傳送。

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

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

tcp/ip相關文章:tcp/ip是什么




評論


相關推薦

技術專區(qū)

關閉