GSM系統語音編碼器綜述

GSM系統語音編碼器綜述

 (2009-02-10 10:15:57)
標籤: 

gsm

 

語音編解碼器

 

通信

 

it

分類: 移動通信

原文來源於

 http://www.eetchina.com/ART_8800350559_480101_TA_2e2efabc.HTM

http://www.mc21st.com/TechArticle413.html

 

GSM系統語音編碼器綜述

 

 

脈衝編碼調製PCM和增量調製AM是波形編碼的代表,波形編碼直接對模擬語音取樣、量化,並用代碼表示。波形編碼的比特率一般在16kbit/s至64kbit/s之間,它有較好的話音質量與成熟的技術實現方法。

    GSM系統語音編碼器綜述 參量編碼又稱聲源編碼,它是以發音機制的模型作爲基礎,用一套模擬聲帶頻譜特性的濾波器係數和若干聲源參數來描述這個模型,在發送端從模擬語音信號中提取 各個特徵參量並進行量化編碼。這種編碼的特點是語音編碼速率較低,基本上在2kbit/s---4.8kbit/s之間,語音的可懂度較好,但有明顯的失 真。

    GSM系統語音編碼器綜述 混合編碼是近年來提出的一類新的語音編碼技術,它將波形編碼和參量編碼結合起來,力 圖保持波形編碼話音的高質量與參量編碼話碼的低速率。混合編碼數字語音信號中既包括若 幹語音特徵參量又包括部分波形編碼信息。其比特率一般在4kbit/s---16kbit/s。
    那麼,什麼樣的語音編碼技術適用於無線移動通信呢? 這主要取決於無線移動信道的條件。由於頻率資源十分有限,所以要求編碼信號的速率較低,由於移動信道的傳播條件惡劣,因而編碼算法應有較好的抗誤碼能力。 另外,從用戶的角度出發,還應有較好的語音質量和較短的時延。歸納起來,移動通信對數字語音編碼的要求如下:
    GSM系統語音編碼器綜述 速率較低,純編碼速率應低於16kbit/S;
    GSM系統語音編碼器綜述 在一定編碼速率下音質應儘可能高;
    GSM系統語音編碼器綜述 編碼時延應較短,控制在幾十毫秒以內;
    GSM系統語音編碼器綜述 在強噪聲環境中,算法應具有較好的抗誤碼性能,以保持較好的話音質量;
    GSM系統語音編碼器綜述 算法複雜程度適中,易於大規模集成。

    GSM所用的語音編碼是(RPE—LTP),規則碼激勵長期預測編碼就是一種混合編碼技術,其純碼速率爲13kbit/S,語音質量MOS得分可達4.0。

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

信號處理內核的發展促進了GSM系統語音編解碼器的增強。目前更爲密集的分析加合成方法已用於在常見的EFR 及AMR語音編碼器中,以在容量有限且容易出錯的空中接口上提供最高質量的語音傳輸。

 

以當前對高速分組數據傳輸的關注程度,人們很容易忘記GSM數字電信系統的最初主要目的是傳輸語音。總的感覺是整個系統的複雜性與傳輸鏈路的管理有關,但也有很大部分與麥克風捕捉到的音頻壓縮與解壓縮複雜性有關。

 

爲滿足這一主要目的的需求,必須以足夠高的採樣及分辨率來捕獲語音,以清楚地再現原始聲音,並用一種可在比特率有限及容易出錯的無線傳輸信道上保持音頻高保真度的方式來壓縮語音。

 

這 一需求很具體,其目的是傳輸語音,故載荷的頻率範圍及聲音質量均爲已知。人類聽覺系統的工作方式允許編碼器在手機耳機上產生出類似自然聲音的聽覺效果。 GSM系統中所使用的語音編碼器的主要原理是對人類音域的數學建模,從而產生出一種用於傳輸語音的有效壓縮方法。術語“聲碼器”或“語音編碼器”專門用來 描述這些專門執行語音壓縮的系統。

 

GSM系統對用於傳輸語音的信道具有一組固定的物理要求。首先,它具有最大22.8kbps的原始數據速率;其次,幀可以被“偷竊”以及用於信令,且語音編碼系統對這種情況必須很穩健,儘管存在對可偷竊語音幀的頻率及時序的一定限制。

 

 

信道容量與編碼

 

GSM物理層是FDMA與TDMA的組合。無線信道在整個GSM頻段被分成相隔200kHz的多個信道,這些FDMA信道又被分成8個時隙。GSM物理信道被定義爲單個“絕對無線頻率信道號”(ARFCN)上的單個時隙--故每一頻率均可包含有8個獨立物理信道。

 

“猝發”是指GSM系統中的無線傳輸量,且包含以週期577(s發送的114位原始信息。由於語音流量信道傳輸的多幀結構,故每26次猝發最多有24次可包含語音數據(其餘2次猝發用於空閒週期或傳輸信令信息)。因此合計能給出22.8kbps的原始信道容量。

 

原始信道容量是完美傳輸條件下的最大用戶數據(編碼語音)吞吐量。在真實世界中,無線傳輸並不穩健而且需要爲數據增加保護。

 

增加冗餘信息後,GSM系統中的全速率語音信道用於編碼語音的容量爲13kbps。

 

語音編解碼器

 

如 果以8 kHz採樣率及13位精度來對出自GSM蜂窩手機麥克風的音頻數據進行採樣,則可得到104kbps的源數據速率。GSM系統中有四種編解碼器,分別執 行:全速率、增強型全速率(EFR)、自適應多速率(AMR)及半速率語音壓縮。表1給出了一些聲碼器的參數比較。

 

全速率

 

全速率語音編解碼器是改良的線性預測編碼器(LPC),它將人類聲域建模成一系列不同寬度的圓柱體。通過迫使空氣通過這些柱體,即可產生語音。LPC編碼器用一組聯立方程來進行建模。

 

標準LPC編碼器不能提供電話系統所需的話音質量(雖能聽清語句,但很難或不可能分辨出說話的人)。GSM系統中採用兩種技術來提高LPC編碼器的質量,即:長期預測(LTP)與規則脈衝激勵(RPE),而全速率編解碼器就被稱爲RPE-LTP線性預測編碼器。

 

輸入至RPE-LTP編碼器的數據爲包括160個採樣值的20ms語音,每一個採樣值都擁有13位精度。數據首先通過預加重濾波器來提高信號的高頻分量,以獲得更好的傳輸效率。濾波器一般還消除信號上的任何偏移以簡化進一步的計算。

 

正 如前面所提到的,語音產生模型可看成是空氣通過一組不同大小的圓柱體。短期分析級採用自動相關來計算與模型所用的8個圓柱體有關的8個反射係數,同時採用 一種稱爲Schur遞歸的技術來有效地求解所得到的方程組。參數被變換成可以更少的位數來進行更佳量化的LAR(log-area ratio)。這些是傳輸流的前8個參數。

 

然後再將編碼後的LAR解碼成係數,並用來對輸入採樣值進行濾波。解碼LAR的原因是爲了確保編碼器使用解碼器上的相同信息來進行濾波。這一級上的其餘採樣值用於編解碼器的LTP級。

 

160 個採樣值被分成4個子窗口,每一個子窗口都擁有40個採樣值。長期預測器爲每一子窗口產生2個參數:滯後與增益。滯後由當前幀與後兩幀之間的交叉相關峯值 確定,而增益則由歸一化交叉相關係數決定。滯後與增益參數被應用到長期濾波器上,同時對現有短期剩餘信號進行預測。

 

RPE級通過十取一及交錯將40個剩餘採樣值轉換成13個參數,並用APCM將所得出的13個值編碼,其中最大值用對數編碼成6位,然後再將13個參數均表示成3位,總共45位。

 

最後一級是從計算出的長期剩餘及分析信號來更新短期剩餘信號,然後再用此數據來計算下一幀。

 

增強型全速率

 

全速率編解碼器是一種用來傳輸語音並在計算上相當有效的方法,但通過使用更爲密集的算法,語音質量還能提高。全速率編解碼器首先在1990年代初的DSP上實現,當時在經濟上雖不能採用質量更好的編碼器但卻是一種更爲密集的算法。

 

至1990年代中,功能更強的DSP內核的可用性已不再是一個問題,因此增強型全速率編解碼器開始在手機中出現。

 

EFR 聲碼器是一種代數碼激勵線性預測(ACELP)編碼器,且不同於採用分析加合成方法的全速率系統。它計算雖更加密集但能在輸出端得到更爲精確的結果。預處 理級由80Hz高通濾波器及一些縮減電路組成,以使實現更爲容易。每幀進行兩次短期分析,由與兩個30mS(1.5個語音幀)、長度集中在不同子幀上的不 同非對稱窗口自動關聯。所得到的係數被變換成線譜對(line spectral pairs)並被量化成38位,以獲得更好的傳輸效率。

 

同 時執行開環間隔(pitch)分析來計算每幀的間隔滯後估計值,然後再用此估計值啓動閉環搜索(以得出更快的結果)。再將所得到的閉環值應用於合成器及與 非量化輸入比較後的結果上(即分析加合成),最小的加權誤差從自適應編碼本(codebook)上得出並被編碼成每子幀35位。

 

然後再用代數(固定) 編碼本、並再一次用分析加合成方法來對量化後餘下的剩餘信號進行建模。所得到的編碼本增益被編碼成每子幀5位。

 

最後,正如全速率聲碼器中一樣,針對下一幀將存儲器刷新。

 

EFR聲碼器的12.2kbps輸出等於每幀244位。但編碼語音是通過擁有260位容量的常規GSM全速率空中信道來傳輸,其餘16位被填以CRC以及重複一些用於冗餘的最重要編解碼器參數。

 

自適應多速率

 

當全部參數均能解碼時,全速率及EFR編解碼器可實現良好的語音再現。由於傳輸信道的冗餘(請記住,原始信道容量比數據載荷大10kbps),故許多原始位可以出錯且參數仍能恢復。

 

但當參數丟失或錯誤時,所接收信號的質量將迅速下降(參見圖3中的最右側黑色曲線)。

 

這也是AMR編解碼器組所試圖解決的問題。通過指定8個全都共享公共數學算法的聲碼器組,可改變信道的冗餘量。以此種方式,語音傳輸的質量可能會由於降至更低的編碼速率上而稍微有所下降,但覆蓋編碼參數的信心則得以提高。

 

結果是在載波干擾增加的情況下可獲得感覺更好的語音信號質量(如圖3)。

 

AMR編解碼器組由速率從12.2kbps至4.75kbps的ACELP聲碼器組成,故可提供87%至480%的冗餘。在一種很糟的情況下,即全速率及EFR幀丟失很久後,4.75kbps編解碼器數據仍能恢復。

 

半速率

 

GSM所採用的空中接口允許使用兩個完全獨立的半速率子信道,故能使蜂窩單元的語音容量加倍。半速率聲碼器採用矢量和激勵線性預(VSELP)編碼器,它以一種類似EFR及AMR編解碼器的分析加合成方式工作,速率爲5.7kbps。

 

半速率聲碼器的輸出幀包含用來指示幀聲音內容的2個位。該聲碼器工作方式在每種模式下略微有些不同,故可獲得最佳的音頻數據再現質量。

 

人們對半速率語音的感覺普遍不佳,所以今天一般不採用此項技術。但以其自適應模式,AMR聲碼器的6種較低速率將適合半速率空中信道的可用容量,結果是採用帶AMR的半速率信道將在高流量領域變得更爲普遍。

 

非連續傳輸

 

在典型的談話過程中,語音僅佔總時間的大約40%。爲減少對無線接口的干擾,可採用非連續傳輸(DTX),即移動電話僅在有語音信號時才進行傳輸。此功能要求有如下幾項內容,即:語音活動檢測(VAD)、用於空中接口的靜寂描述符(SID)幀及舒適噪音產生等。

 

爲減少猝發傳輸的總時間,語音解碼器必須能確定什麼時候有語音。由於編碼的自然特性,可通過分析中間參數來精確確定是否有語音。重要的是要保證閾值合適,太靈敏會由於無線傳輸次數太多而對空中接口不利,而靈敏度不夠則會切斷語音並使聲音質量嚴重下降。

 

儘管在理論上VAD是實現DTX所需的全部,但來自接收器的完全靜寂降低整體感覺質量。爲解決此問題,接收器採用了“舒適噪音”功能,即利用SID幀參數的逐漸衰減來產生類似發射器背景噪音的聲音。

 

當VAD確定沒有語音時,在空中接口上不進行傳輸(實際情況比這更復雜一些,但其基本原理一樣)。經過一段預定時間間隔後,再發送一個包含一組參數的SID幀,這些參數用於接收器舒適噪音產生功能。

 

最佳實現

 

語音編碼功能可解釋爲像卷積這樣的數學密集型處理,在帶有處理這類計算指令(例如乘法-累加指令)的專用DSP上能得到最佳實現。儘管這可以在通用處理器上實現,但要求有更高數量級的時鐘速度來與同樣的執行速度相匹配。

 

不同處理內核中所實現的EFR及全速率聲碼器執行速度不同。作爲一種與時鐘速度有關的比較,DSP全速率實現的速度大約要比奔騰處理器實現的速度快3.5倍,而經徹底優化後的SC140實現的速度要比奔騰處理器實現的速度整整快18倍。

 

在語音編解碼器中採用了許多優化技術。最初一般將數據偏移以使計算更加容易並能再利用存儲器空間。例如,用剩餘濾波器寫入輸入陣列而不使用新存儲器空間。

 

處理器可採用定製浮點實現來在內核中提供浮點支持。這些實現不是位精確的,這意味着它們不能得出像定點參考實現一樣精確的數學結果。但通過軟硬件中針對這類數學算法的優化,速度可明顯提高。而輸出參數,當被送入定點解碼器時,將產生感覺上一樣的聲音幀。

 

測試位序列

 

爲檢驗依從性,ETSI頒佈了一組全面的測試位序列。它們由輸入文件(160個13位採樣值)、編碼文件(通過解碼器的結果)、一些解碼文件(用於直接提供給解碼器)以及輸出文件(代表來自輸出的160個採樣值)組成。

 

而像VAD及舒適噪音產生等額外功能,則用各種序列進行隱含測試。同時也對不同輸入壓縮擴展方案(A-law和(-law)進行測試。

 

浮點實現一般不遵循ETSI位序列,但能產生一組感覺上與定點編碼器及解碼器相兼容的參數。

 

對語音編碼器實現的定性評價,可用Racal儀器公司帶VQA的AIME系統來測試。這種系統允許建立原始流量信道(無需完全的GSM協議實現),且能執行全速率的空中傳輸雙向語音編碼。

 

作者:Richard Meston

 

高級軟件工程師

 

Racal儀器公司無線解決方案部

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章