語音編碼所要解決的基本問題,是在給定的編碼速率條件下,如何得到盡可能好的重建語音質量(或稱編碼質量),同時應盡可能減少編譯碼算法的復雜度和時延,并使編譯碼系統有較好的堅韌性;或者是在給定編碼質量、編譯碼復雜度和時延以及堅韌性要求的條件下,如何盡可能降低語音編碼所需的速率等。這五個方面的要求,就是衡量語音編碼性能的主要指標。應該指出的是,這五個方面的要求(或稱五個質量指標)有時是互相矛盾的,它們之間有著緊密的聯系,是互相影響的,在不同的應用中,對各個指標要求的側重點也有所不同。
1、編碼速率
編碼速率直接反應了語音編碼對語音信息的壓縮程度。編碼速率又稱為比特率,它是指一個編碼器的信息速率。在語音通信系統中,它決定了編碼器工作時占用的信道帶寬,低速率語音編碼可以占用較少的信道帶寬。編碼速率可以用“比特/秒”(b/s)來度量,它代表了編碼的總速率,一般用V表示。編碼速率也可以用“比特/樣點”(b/p)表示,它代表了平均每個語音樣點用多少比特編碼,一般用R表示。V和R可以通過取樣頻率聯系起來:
V = R fS
其中的取樣頻率fS通常根據Nyquist定理由信號帶寬決定。目前國際上各種數字聲頻信號常用的帶寬及取樣頻率由表1給出。
表1:幾種數字聲頻帶帶寬及取樣頻率
顯然,平均每樣點比特數R越高,語音波形或參數量化就越精細,話音質量也就越好,相應地對傳輸帶寬或存儲容量的要求也就越高。在波形編碼中,為了獲得高質量的重建話音,一般取R≥2(ΔM除外),而在參數編碼中R可以低到0.25甚至0.1以下。當然在后一種情況下重建語音只能保持一定的可懂度,而反映講話人特征的信息和語音的自然度就會有較大的損失。
2、合成語音質量
合成語音質量可以說是語音編碼性能的最根本指標。評價合成語音質量的方法很多,多年來人們提出的許多方法歸納起來可以分為兩類:主觀評價方法和客觀評價方法。
1)主觀評價方法
主觀評價方法是在一組測試者對原始語音和合成語音進行對比試聽的基礎上,根據某種預先約定的尺度來對失真語音劃分質量等級,它比較全面地反映了人們聽音時對合成語音質量好壞程度的一種主觀印象。主觀評價方法符合人類聽話時對語音質量的感覺,目前得到了比較廣泛的應用。常用的主觀評價方法有3種:平均意見得分(MOS)、判斷韻字測試(DRT)和判斷滿意度測量(DAM)。
欲詳細了解語音編碼質量的主觀評價方法的請進入。
2)客觀評價方法
針對主觀評價方法的不足之處,基于客觀測度的語音客觀評價方法相繼被提出。客觀評價必然要借鑒主觀評價的那種高度智能和人性化的過程,但是不可能找到一個絕對完善的測度和十分理想的測試方法,只能盡量利用所獲信息做出基本正確的評價。一般地,一種客觀測度的優劣取決于它與主觀評價結果在統計意義上的相關程度。客觀評價方法建立在原始語音和合成語音的數學對比之上,大多數客觀評價是用數值距離或者描述聽覺系統如何來感知語音質量的模型來量化語音質量的。圖2給出了語音客觀評價方法的基本過程。由圖2不難看出,輸入語音(原始語音)與輸出語音(合成語音)之間的同步是非常重要的,它也是決定客觀評價結果正確與否的關鍵因素,在實際操作過程中,需要認真對待。
圖2:語音客觀評價方法的基本過程圖
目前所用的客觀評價方法可以分為時域客觀評價和頻域客觀評價兩大類。時域客觀評價測度定義為被測系統的輸入語音與輸出語音在時域波形比較上的失真度。因此,這種評價方法僅適用于波形編碼系統。此類方法中的結果取值越大,說明被測語音質量就越好。時域客觀評價常用的方法有信噪比(SNR)測度和平均分段信噪比(segSNR)測度等。
頻域客觀評價測度一般有距離測度、LPC倒譜距離測度、巴克譜失真測度(BSD)和MEL譜測度等。在這類測度中,若測度計算結果取值越小,說明合成語音與原始語音越接近,即被測語音質量就越好。頻域客觀評價方法最常用的就是巴克譜失真測度(BSD),因為它考慮了人耳的多種聽覺特性。巴克譜失真測度考慮了人耳的多種聽覺特性,在評價速率較高的波形編碼算法時和人的主觀感覺比較符合,但在參數編碼算法和混合編碼算法的評價中仍然不能很好地表征人耳對語音的感知。因此人們提出了改進的巴克譜失真測度(MBSD)來對合成語音質量進行客觀評價。MBSD基于人耳的聽覺掩蔽效應,更好地表征了人耳對語音的感知,而且它與MOS評分有很高程度的相關性,因此得到了廣泛應用。
3、編解碼延時
編解碼延時一般用單次編解碼所需時間來表示。在實時語音通信系統中,語音編解碼延時同線路傳輸延時的作用一樣,對系統的通信質量有很大影響。過長的語音延時會使通信雙方產生交談困難,而且會產生明顯的回聲而干擾人的正常思維。因此,在實時語音通信系統中,必須對語音編解碼算法的編解碼延時提出一定的要求。對于公用電話網,編解碼延時通常要求不超過5ms~10ms,而對于移動蜂窩通信系統,允許最大延時不超過100ms。
4、算法復雜度
算法復雜度包括兩個方面,運算復雜度和內存要求,它主要影響到語音編解碼器的硬件實現,也決定了硬件實現的復雜程度、體積、功耗以及成本等。對于一些復雜的語音編碼算法,運算復雜度一般用處理每一秒鐘信號樣本所需的數字信號處理(DSP)指令條數來衡量其計算復雜度,可用單位“兆次操作/s”(兆次/s)或“兆條指令/s”(兆指令/s)等來對運算復雜度進行描述。內存則用單位“字節(B)”來衡量。在討論算法復雜度時應該考慮算法可擴展性。它是指一種語音編碼算法不僅能解決當前的實際應用,而且可以兼顧將來的發展,隨著運算器件性能的增強,算法稍加修改就可獲得更高的語音質量,這就是要求算法具有可擴展性的意義。
5、其它性能
語音編碼的其它性能還包括語音編碼的頑健性、對多語種的通用性、抗隨機誤碼和突發誤碼能力、抗丟包和丟幀能力、誤碼容限、對不同信號的編碼能力等。隨著基于分組交換語音業務的發展,這些性能的研究也已提到議事日程上來。
編碼器的頑健性是通過取多種不同來源的語音信號進行編、譯碼,并對輸出語音質量進行比較測試得到的一種指標。例如,取不同類型的發音人的語音、各種背景噪聲下的語音、用各種麥克風或不同頻響的放大器錄制的語音、非語音聲音等。編碼器是要用于通信系統的,必須能適應各種各樣的情況。多級編譯碼情況下的輸出語音質量也是衡量編碼器頑健性的一項重要指標。在逐步發展起來的數字通信網中,既有數字電話又有模擬電話,從端到端的路由中,會出現“模擬語音信號-語音壓縮編碼-譯碼還原為模擬語音信號-語音壓縮編碼-譯碼還原為模擬語音信號”這樣一種異步級聯多級編碼的情況,在這樣的情況下,語音編碼器的頑健性就顯得十分重要。
誤碼容限也是一個應該考慮的性能指標,由于話音業務的實時性,不能像電報業那樣檢錯重發,因此在編碼器中即使采取了一些誤碼保護措施,也仍然難免存在誤碼。通常要求語音編碼器在1%的誤碼率下仍然能提供可用的輸出語音。
總的來說,一個理想的語音編碼算法應該是低速率、高合成語音質量、低時延、低運算復雜度并具有良好的編碼頑健性、可擴展性的編碼算法,由于這些性能之間存在著互相制約的關系,實際的編碼算法都是這些性能的折衷。事實上,正是這些相互矛盾的要求,推動了語音編碼技術的不斷發展。
欲進一步了解幾種語音編碼主觀評價與客觀評價指標的請進入。