簡介
為了提高通信網中的信息傳輸效率及實現語音的高效存儲,還需要對編碼後的數字語音進行壓縮,即語音壓縮。例如:在移動通信中,最重要的業務就是語音業務,寶貴的
無線頻譜資源要求每個用戶占用的頻段越窄越好,而占用頻段的大小直接於通話語音的壓縮率有關;在多媒體通信中,為了使語音和圖像數據在有限頻寬的線路上傳輸,需要對語音和圖像數據進行壓縮;在對數字語音數據進行存儲時,為了節省存儲媒體也需要對語音信號進行壓縮。可見,語音壓縮編碼的目的在於在保證語音質量的前提下,儘可能地降低語音信號的編碼比特率,以滿足窄帶信道低碼率傳輸的要求及實現語音的高效存儲。
經過幾十年的發展,特別是近20年隨著計算機和微電子技術的發展,多種高質量的語音壓縮編碼技術已經相當成熟,並大規模走向實用化。語音壓縮編碼技術在移動通信中的廣泛套用大大節省了寶貴的無限頻譜資源,歐洲、北美和日本都先後公布了他們在第二代數字蜂窩移動通信系統中使用的語音壓縮編碼標準(分別是13Kb/s的RPE-LTP、8Kb/s的VSELP及6.7Kb/s的VSELP),有些語音壓縮技術將套用到第三代移動通信(3G)中。語音壓縮也套用在保密通信中,如美國國防部的採用CELP編碼的4.8Kb/s的FS-1016和採用LPC編碼的2.4Kb/s的FS-1015壓縮編碼標準。語音壓縮編碼技術與IP技術相融合,形成了新興的VOIP(VoiceOverInternetProtocol)技術,即通常所說的IP電話。VOIP中的一項關鍵技術就是語音壓縮編碼,因為低速率的語音編碼對IP網路中語音信息的實時性有更好的保證。此外,語音壓縮和語音識別和合成等技術也密切相關。隨著語音壓縮編碼技術的不斷完善和發展,必將有更廣泛的套用前景。
典型方法
綜述
對於中高速率的語音壓縮編碼而言,高速率編碼主要以波形編碼為主,其適應能力強、語音質量好,但編碼速率較高。中速率編碼以混合編碼為主,基於語音產生模型的假定並採用了分析合成技術,同時又利用語音的時間波形信息,增強了重建語音的自然度。低速率及極低速率編碼以參數編碼為主,通過建立語音信號的產生模型,提取代表語音信號特徵的參數來編碼。
中高速率編碼
連續可變斜率增量調製(CVSD)
CVSD(Continuously Variable Slope Delta Modulation)針對輸入信號振幅的變化率,調節量化步長的增量值。當輸入信號的振幅變化率增大時,增量值也相應地增大;當輸入信號的振幅變化率減小時,增量值也相應地減小。利用TI公司的TMS320VC5509定點DSP晶片實現多路全雙工16kbpsCVSD語音編解碼的方案,並基於摩托羅拉公司的MPC800提出了利用嵌入式系統擴展DSP套用的方法。與其它編碼方式相比,CVSD有如下突出特點:
較高的抗誤碼能力;
算法簡單,硬體實現容易;
單路套用時無須採取碼元與碼組同步措施等。
因此,它是一種在衛星通信、移動通信和軍事通信等領域套用非常廣泛的波形編碼方式。
基於小波分析的語音編碼方法
小波在時域頻域同時具有良好的局部特性,並且它的基具有多樣性,使得它優於傅立葉分析,更適合於語音。它不僅可以單獨的處理語音,還可以和其它理論結合用於語音壓縮。小波技術與離散餘弦變換(DCT)結合:離散餘弦變換係數能較好地體現語音信號能量在頻域中集中分布的特性,可以重構出高質量的話音,如果採用矢量量化(VQ)的方法直接對離散餘弦變換的係數進行編碼,運算量較大。可以利用小波變換的多分辨分析特性,對離散餘弦變換係數進行離散二進小波變換後,再對其小波係數進行編碼。
其優點為:
多脈衝激勵線性預測編碼(MPLPC)的改進
原始的MPLPC方法中,LP濾波器的階數和激勵脈衝的個數都是固定的。對其改進算法使用了可變階數濾波器的語音編碼方法。主要思想是:對於不同的語音幀使用不同階數的線性預測濾波器,只要低階濾波器滿足要求就不使用高階濾波器。由於各語音幀濾波器階數不同,使用的編碼位數也不同。為了使整個語音傳輸速率基本恆定,對於濾波器階數較低的語音幀,可以相應地增加激勵脈衝的個數或增加各脈衝的比特數。用MATLAB對改進MPLPC方法進行模擬,結果表明,此方法可以在6kb/s以下的速率上得到有一定自然度的合成語音,比同速率下的原始多脈衝激勵方法有明顯改善。但此方法在有噪聲和失真的信道上傳輸的情況需要進一步實驗,每幀激勵脈衝個數的最佳值需要進一步研究。
低速率編碼
散布脈衝碼激勵線性預測(DP-CELP)
碼激勵線性預測(CELP)算法是最近20年來語音編碼中最為成功的一項技術。但是當速率降至4kb/s以下時,為了提高量化效率,必須增加激勵矢量的長度,這時還用很少的符號脈衝來描述激勵信號就會導致語音質量的急劇下降,這就是傳統的CELP算法在4kb/s速率以下質量難以提高的根本原因。
為了解決傳統CELP算法在4kb/s速率以下質量難以提高的問題,提出了一種散布脈衝CELP(DP-CELP)語音編碼算法。激勵矢量由特殊結構的代數碼書與固定形式的散布脈衝的卷積獲得,在不增加代數碼書搜尋複雜度的前提下,較好地解決了傳統代數碼書中符號脈衝不足帶來的缺陷,有效地改善了重建語音質量。非正式的主觀聽力測試表明,這種4kb/sDP-CELP語音編碼算法的合成語音質量非常接近G.723.1中6.3kb/s語音編碼器,可產生高質量的合成語音。
在此算法的基礎上,開發了一種基於TMS320VC5410定點DSP的實時低速率語音壓縮系統,將低比特率語音編碼算法套用於實際的語音處理系統。為了降低運算複雜度,算法程式使用DSP彙編語言實現。根據C5410定點DSP的指令集特性,以及算法自身的特點,對整個算法進行了2次整體最佳化和若干次的局部最佳化,達到了實時實現的要求。由此,產生出了性價比極高的語音編解碼系統,在數字存儲、多媒體通信等領域有著廣泛的套用前景。
多重脈衝散布非均勻代數碼本激勵線性預測(MPD-USACELP)
由於CELP算法在4kb/s速率以下質量難以提高,在編碼器和解碼器中分別引入了不同的脈衝散布技術,從而達到了利用較少比特提供高質量激勵的目的。根據理想代數碼本脈衝在子幀中各位置的機率分布規律,提出了新的非均勻結構代數碼本,提高了代數碼本的效率,並且引入了基音預加重技術最佳化了自適應碼本搜尋。經主觀聽音和計算機模擬測試,最後形成的3.35kb/s多重脈衝散布非均勻代數碼本激勵線性預測(MPD-USACELP)語音編碼算法的質量達到了北美IS-54標準8kb/s算法的水平。
極低速率編碼
波形內插(WI)算法的改進
波形內插語音編碼在2kb/s~4kb/s的速率上表現出良好性能,並產生了高質量合成語音。但是這種編碼算法的計算複雜度非常高,很難在實際中套用,因此在保持語音質量的前提下,降低WI模型的計算複雜度勢在必行。
基本的WI編碼算法需要在編、解碼端都要進行複雜的特徵波形(CW)對齊,以保證提取的CW和合成的CW在相位上一致,這使得實時實現整個算法變得非常困難。為了減少這種複雜度,提出一種在編碼端去除對齊過程,解碼端採用三次B樣條的插值模型。通過對慢漸變波形只量化低頻分量,而快漸變波形用正交多項式擬合,實現了變維矢量到定維矢量的轉換,進一步降低了算法的複雜度。DRT測試結果表明,此2kb/s語音編碼方法能獲得高可懂度的重建語音。
在WI模型的原理的基礎上,針對模型中占主要計算量的2個模組(特徵波形的表示和對齊)進行了相應的改進。原WI模型中的特徵波形使用了離散傅立葉級數表示,CW對齊也是通過頻域傅氏級數實現的,CW的表達和對齊都沒有使用快速算法。在改進算法中,先對時域的CW尾部補0,使它的長度為2的整次冪,然後作快速傅立葉變換得到CW的頻域表示。因為時域補0起到了對原頻域做插值的作用,並不改變原頻譜形狀,所以再利用三次B樣條插值技術,就可以得到相應的傅氏級數;對於CW對齊則先將它的周期延拓為2的整次冪,再利用圓周相關定理通過FFT計算出對齊所需要的位移。改進後的算法相對獨立沒有影響原編碼器其它模組,在保持高質量重建語音的前提下使複雜度大幅下降,更易於在單片DSP晶片上實現。
奇異值分解的波形內插(SVD-WI)算法
波形內插算法中,針對奇異值分解(Singu-larValueDecomposition,簡稱SVD)理論用於特徵波形的分解時,算法延時長、計算複雜和高比特量化參數的問題,提出了一種新穎的基於奇異值分解的特徵波形的分解與量化模型。基於降低運算複雜度的考慮,利用語音信號的感知特性,根據所含頻率成分的不同,將特徵波形的幅度譜分成基本矩陣、過渡矩陣和補充矩陣三個矩陣,並各自採用不同的量化方法;由於特徵波形諧波數是時變的,將三個矩陣分為三種組合模式表示特徵波形幅度譜,提高了特徵波形的表示精度,合成端可以根據不同的精度要求重建語音。這種方法比傳統的WI語音編碼器減少了一幀延時,主觀測試表明,SVD-WI編碼器的重建語音質量要好於2.4kb/s混合激勵線性預測(MELP)編碼器。
線譜對(頻率)的量化算法
線性預測是許多低速率語音編碼方案的核心技術。為降低編碼速率,選用高效的線性預測係數編碼方法至關重要。線譜對(linespectrumpair,簡稱LSP)即線譜頻率(linespectrumfrequency,簡稱LSF)是線性預測係數的等價參數。因此,研究高效率的LSP參數量化方法對低速率語音編碼算法的研究具有極其重要的意義。在極低速率的聲碼器算法研究中,為了實現對LSP參數的高質量低速率量化,提出了一種新的量化算法,稱作P-RS-MSMQ(Pattern-basedResidualSplitMulti-StageMatrixQuantization)。此算法在多幀聯合矩陣量化的框架下,提出了以下幾點新的策略:
基於超級幀模式的均值去除和基於超級幀模式轉移的幀間預測;
將預測餘量矩陣分裂成子矩陣,並對各子矩陣分別進行多級矩陣量化;
對多幀聯合量化引入新的加權策略等。
通過這些措施,有效的提高了量化性能,能夠在極低的編碼速率下獲得高質量的量化效果並且大大降低了量化碼本的存貯量和運算量,提高了算法的實用性。此算法已經成功地實現了高質量的1.2kb/s和600b/s語音編碼算法。因此,它可以廣泛套用於極低速率語音編碼算法中。為了降低線譜頻率(LSF)參數矢量量化器的搜尋複雜度和碼字存儲單元,利用LSF參數的幀內和幀間相關性,設計了一種LSF參數的預測式多級分裂矢量量化器。該量化器對LSF參數的預測殘差矢量進行兩級矢量量化。其中第2級的誤差矢量分裂成2個維數分別為4和6的子矢量進行矢量量化,採用瞬時聯合多級矢量量化器設計算法設計碼本,套用M-L樹搜尋算法搜尋碼字,降低了搜尋複雜度和碼字存儲單元,同時保持了高效的量化性能。
標準
國際電信聯盟(ITU)的G系列標準
G.711建議是CCITT(ITU的前身)在1972年制訂的64Kb/s的標準PCM(PulsecodeModulation)語音編碼,它已經極廣泛的套用於數字通信、數字交換機以及一切數位化語音接口中。64Kb/s標準PCM是典型的波形編碼。G.721建議是CCITT在1984年確定的32Kb/s的語音編碼標準,又稱為自適應差分脈衝編碼調製ADPCM(Adaptive Differential PCM)。它不僅與PCM有相同的再生語音質量,而且具有比PCM更優良的抗誤碼性能,已經廣泛套用於衛星、海纜及數字語音插空設備以及可變速率編碼器中。
G.728建議是CCITT在1995採納的由AT&T公司提出的一種16Kb/s的稱為低延遲碼激勵線性預測LD-CELP(LowDelay-CodeExcitationLPC)的語音編碼方案。LD-CELP的特點是將語音短時譜與長時譜預測、增益因子預測等參數不是從輸入語音中提取,而是用一50階的預測器在後向來實現,傳送的信息只是激勵矢量,這就壓縮傳輸比特率。LD-CELP可套用於可視電話伴音、存儲和轉發系統、數字移動無線系統、數字插空設備、語音信息錄音、分組化語音等領域。
G.729建議是ITU在1995年通過的8Kb/s的共軛結構代數碼激勵線性預測CS-ACELP(ConjugatedStructure–AlgebraCodeExcitationLinearPrediction)編碼標準。CS-ACELP基於碼激勵線性預測(CELP)編碼模型。幀長為10ms(80個樣點)。通過對語音信號的分析,提取CELP模型的參數(LPC參數、自適應和固定碼本指標和增益因子)。所有這些參數在編碼後被傳送。在解碼端,這些參數用於恢復激勵信號來重建語音信號。短時綜合濾波器是一個10階線性預測濾波器。長時或基音綜合濾波採用稱之為自適應碼本逼近方法來實現。最後,用一個後濾波器增強重建語音質量。8Kb/s的G.729主要套用於個人移動通信、衛星通信、分組語音和數字租用信道等。G.723.1是ITU在1996年提出的編碼標準。
G.723.1有兩種速率,5.3Kb/s和6.3Kb/s,兩種速率對於編碼和解碼都是不可少的部分。編碼器用線性預測分析-綜合(Analysis-by-Synthesis)編碼方式對語音和音頻信號編碼,較高速率編碼器的激勵信號(6.3Kb/s)使用多脈衝最大似然量化MP-MLQ(MultiplePulse-MaximumLikelihoodQuantization);較低速率的(5.3Kb/s)採用代數碼激勵線性預測ACELP。幀長是30ms,外加7.5ms的Lookhead,故算法的延時是37.5ms。兩種碼率使系統更具靈活性,可以根據信道的情況在30ms幀邊界在兩種速率直接切換。G.723.1主要用於低速多媒體系統。
數字移動通信中的語音壓縮標準
泛歐數字蜂窩移動通信(GSM)標準RPE/LEP。規則脈衝激勵/長時預測RPE/LTP(Regular Pulse Excitation /Long Time Prediction)是歐洲數字蜂窩移動通信系統GSM中使用的13Kb/s的語音壓縮標準。它以等間隔(每三個抽樣)的規則脈衝序列來模擬音源,以線性預測殘差信號的振幅值為基準決定脈衝位置和殘差信號,以包含長周期預測(LTP)的反饋型的量化結果為脈衝振幅。算法也屬於A-B-S(Analysis-By-Synthesis)分析-綜合法。
北美數字蜂窩移動通信(ADC)標準VSELP。電信工業聯合會(CTIA)在北美數字蜂窩移動通信中採用了標準IS-54,這個標準的語音編碼器稱為矢量和激勵線性預測VSELP,它是CELP的一種形式,數據率為8Kb/s。北美CDMA的IS-95標準中,採用的語音編碼是Qualcomm提出的QCELP。
日本數字移動通信(JDC)標準中,採用的語音編碼也是矢量和激勵線性預測,碼率是6.7Kb/s。
NSA的FS-1015和FS-1016標準
美國國防部NSA的FS-1015標準採用LPC-10、LPC-10e算法,主要套用於保密通信、移動通信等,編碼速率低,為2.4Kb/s,可懂度較好,但自然度不好,總體來說,語音質量不高。NSAFS-1016標準於1989年制訂,採用CELP算法,語音質量提高了許多,但相應的編碼速率提高到4.8Kb/s。