語音信號編碼
出處:lai832 發(fā)布于:2008-12-15 09:41:48
早期的語音信號處理及傳輸均是以模擬的方式進(jìn)行的。20世紀(jì)30年代末脈沖編碼調(diào)制(PCM,Pulse Code Modulation)原理和聲碼器(Vocoder)概念被提出后,語音數(shù)字編碼便一直沿著這兩個方向發(fā)展。語音數(shù)據(jù)壓縮目的是能在盡可能低的傳輸速率上獲得高質(zhì)量的語音效果,即希望語音信號可以在帶寬較窄的信道中傳輸而語音質(zhì)量下降的不多或盡可能不下降。語音編碼系統(tǒng)早期用的是波形編碼方法,也叫波形編碼(或非參數(shù)編碼),其目的是力圖使重建的語音波形保持原語音信號的波形形狀。這種編碼器是把語音信號當(dāng)成一般的波形信號來處理,而并未考慮語音信號的冗佘度。它的優(yōu)點是具有較強的適應(yīng)能力,有較好的合成語音質(zhì)量,然而編碼速率高(64Kbit/s),編碼效率極低。脈沖編碼調(diào)制(PCM)、自適應(yīng)增量調(diào)制(ADM)、自適應(yīng)差分編碼(ADPCM)、自適應(yīng)編碼(APC)等都是屬于波形編碼(非參數(shù)編碼)。而聲碼器則是不同于波形編碼器的高效編碼方式。聲碼器又稱參數(shù)編碼(或模型編碼),它主要是對提取的語音信號特征參數(shù)進(jìn)行編碼,目的主要是使重建的語音信號具有盡可能高的可懂度,而不是要求重建波形保持原語音波形的形狀。因此,可能出現(xiàn)的情況是即使重建語音的可懂度高,但其時域波形與原語音的時域波形有較大的差別。這種編碼器的優(yōu)點是可達(dá)到極低的編碼速率而語音依然可懂,編碼速率可達(dá)到8Kbit/s、4.8Kbit/s甚至更低。主要缺點是重建語音自然度低,韻律感差,合成語音質(zhì)量差。聲碼器的典型代表是通道聲碼器、共峰聲碼器及線性預(yù)測聲碼器等。
20世紀(jì)80年代至今,不僅聲碼器和波形編碼器得到了很大發(fā)展,并且還有一種全新的革命性編碼方法被普遍推廣,這類編碼器叫混合編碼器。這種編碼器在傳送器中對給定編碼結(jié)構(gòu)的所有可能性進(jìn)行綜合,找出輸人語音的編碼形式,并從這些可能性中發(fā)現(xiàn)輸入語音的主觀匹配,然后用數(shù)碼表示這種主觀匹配并發(fā)送到接收器。利用線性預(yù)測、VQ、A-B-S、感覺加權(quán)、后濾波等技術(shù)得到的多脈沖激勵線性預(yù)測(MPELP,Multi Pulse Enspirit LinePrognosticate),規(guī)則脈沖激勵線性預(yù)測(RPELP,Rule Pulse Enspirit Line Prognosticate),碼本激勵線性預(yù)測(CELP,Code Enspirit Line Prognosticate) 編碼速率達(dá)到8~16Kbit/s甚至更底,其話音質(zhì)量高、編碼速率低,但算法復(fù)雜。
近年來,ITU-T在多媒體數(shù)字通信方面(包括電視會議等)制定了一系列國際標(biāo)準(zhǔn)(按ITU的說法是建議)。
表1 ITU-T多媒體會議標(biāo)準(zhǔn)(基本模式)

在現(xiàn)有的網(wǎng)路設(shè)施條仵下,H.320和H.323比較適用的標(biāo)準(zhǔn)。H.320的基本音頻模式是G.711 log-PCM(對數(shù)脈碼調(diào)制)編碼解碼器,它是一種簡單的8kHz采樣頻率對數(shù)脈碼調(diào)制模式,長期以來它都是數(shù)字電話網(wǎng)絡(luò)主要的編碼方法(長途電話盡管起源于模擬電話,現(xiàn)在長途電話在數(shù)字網(wǎng)絡(luò)上傳輸)。
G.711定義為8位編碼,速率為64Kbit/s,但在H.320中采樣截短為6或7比特位,因為速率相應(yīng)變?yōu)?8Kbit/s或56Kbit/s。G.711提供了出色的長話音質(zhì)窄帶(3kHz音頻帶寬)語音、不太明顯的編解碼延遲(低于1ms)以及非常低的實現(xiàn)復(fù)雜性。為了提供與普通G.711音頻電話的兼容性,所有的H.320呼叫在H.221 FAS和BAS信道中進(jìn)行同步初始化和模式協(xié)商時開始發(fā)送和接收G.711音頻。
G.711有很多優(yōu)點,但是G.711指定了兩個不同的編碼A律和μ律,在采用G.711標(biāo)準(zhǔn)的區(qū)域,不同地方使用上述兩種不同的方法。CCITT不能達(dá)成統(tǒng)一的編碼方法。結(jié)果是H.320系統(tǒng)必須由遠(yuǎn)端在每次呼叫開始時自動發(fā)現(xiàn)使用的編碼律,或者避免使用音頻直到H.320控制過程能用來建立另一音頻模式。而且,G.711因為它的低復(fù)雜性和與普遍電話的兼容性成為H.320的基本音頻模式,但與其他H.320音頻模式相比在使用帶寬方面它是效率低下的。如果轉(zhuǎn)到其他音頻模式下節(jié)省的數(shù)據(jù)帶寬可用來傳送更多的視頻位,將使H.320視頻質(zhì)量有很大不同,特別是在普通的2-B(128Kbit/s)H.320呼叫上。
鑒于G.711語音壓縮協(xié)議本身的一些缺點,人們一直在找一種替代它的協(xié)議,現(xiàn)在已經(jīng)開始用的有G.722協(xié)議和G.728協(xié)議。
G.728是目前H.320中用得較多的窄帶音頻模式。它是基于通常的8kHz窄帶采樣和5個采樣(0.625ms)的音頻幀的低時延碼本激勵線性編碼(LD-CELP),比特率為16Kbit/s,提供很好的長話音質(zhì),總延遲為大約1.875ms。
在現(xiàn)有網(wǎng)絡(luò)條件下,需要一個窄帶音頻模式,但是又要有相當(dāng)好的語音質(zhì)量。 近建立的8Kbit/s電話標(biāo)準(zhǔn)真正提高了該速率下的語音品質(zhì)并改善了復(fù)雜性,這種編碼器在某種程度上是一個突破,因此它的嚴(yán)格規(guī)范使性能達(dá)到或超過了32Kbit/s的G.726 ADPCM,但速率僅為8Kbit/s。ITU G.729 SKbit/s標(biāo)準(zhǔn)在性能上不亞于G.726,其算法延時少于16ms,隨機誤碼和背景噪聲的性能都不低于G.726,具有與自身的非同步串聯(lián)能力。比如說,兩級串聯(lián)的性能不低于G.726四級串聯(lián)的性能,達(dá)到這個水平的編碼稱為共扼結(jié)構(gòu)代數(shù)碼激勵線性預(yù)測(CS~ACELP),它采用特殊的碼本結(jié)構(gòu)簡化碼本查找。
由于G.729的優(yōu)點突出,特別適合目前網(wǎng)絡(luò)條件,因此其在多媒體會議中的應(yīng)用越來越受到重視。G.729的算法被稱作共軛結(jié)構(gòu)代數(shù)碼激線性預(yù)測(CS-ACELP,ConjugateStructuredˉAlgebraic Code Excited Linear Predictive),它構(gòu)成了G.729標(biāo)準(zhǔn)的基礎(chǔ)。CS-ACELP在標(biāo)準(zhǔn)PCM或線性PCM的話音采樣基礎(chǔ)上,每10ms生成一個10字節(jié)長的話音幀。對于每一個語音幀提取CELP模型參數(shù),再對這些參數(shù)在編碼后以每幀80bit進(jìn)行信道傳輸,在解碼端,接收到的比特流通過激勵碼本解碼成相應(yīng)的CELP參數(shù),再通過短時綜合濾波器和長時綜合濾波器重建語音幀,經(jīng)過后向濾波進(jìn)行語音增強。
該算法提供了音質(zhì),且延時很小。CS-ACELP也是為先進(jìn)的定點運算數(shù)字信號處理器設(shè)計的,因為它要求強大的運算處理能力。CS-ACELP編碼步驟的方框圖如圖1所示。

圖1 CS-ACELP編碼步驟
其固定的碼本具有一個代數(shù)結(jié)構(gòu),稱為交錯單脈沖排列設(shè)計(1SPP)。碼本中每40個樣本激勵向量僅有4個非零脈沖,記為i0,i1,i2和i3,其幅值和位置見表2,每個激勵碼字可寫成:
c(n)=S0δ(n-m0)+S1δ(n-m1)+S2δ(n-m2)+S3δ(n-m3),n=0,…,39
其中δ(n)是時刻n的單位沖激函數(shù)。
表2 脈沖幅值和位置

從表中可看到,脈沖幅值僅為+1或-1,由于這種限制,再加上碼字的稀疏,使得碼本搜索大大簡化了,各個脈沖的位置也存在限制,如表2所示,可以看到脈沖i1僅能位于m1=1.6,6,11.16,21.26,31.36中的某一位置。這些位置與其他3個脈沖的位置都不相同,為了提高這些限制激勵的諧波結(jié)構(gòu),碼向量要通過一個自適應(yīng)間隔濾波器:

其中β是自適應(yīng)增益,T是當(dāng)前子幀的間隔延遲,碼本搜索是從碼向量的一個脈沖開始,然后進(jìn)行4個嵌套循環(huán),每次循環(huán)對應(yīng)一個新加人的脈沖。由于4個脈沖的位置不連續(xù),我們使用一個共扼搜索,這是局部碼本搜索,它在第3個循環(huán)之后限制碼本搜索的努力,這種搜索產(chǎn)生的語音品質(zhì)和SNR與全搜索相當(dāng),但碼本搜索量只有它的5%。前3個脈沖的位置每個用3bit表示,第4個用4bit,脈沖幅度每個用1bit表示,所以每個子幀不包括增益的位數(shù)是17bit。
圖2表示CS-ACELP解碼器,表3列出圖中的參數(shù)和每個子幀為5ms長時其更新的快慢程度?梢钥吹,8Kbit/s中有6200bit/s的比特率用于表示激勵。

圖2 CS-ACELP解碼步驟
表3 參數(shù)和每個子幀

實現(xiàn)G.729算法需要有很強的運算能力的芯片,因此以運算能力強大的DSP來實現(xiàn)其算法比較好。TI的C54系列的DSP擁有強的定點運算能力,作為高性價比DSP中的16位定點DSP芯片,C54x和C540x都適用于語音通信等實時嵌入應(yīng)用場合。C54x和C540x具有高度靈活的可操作性和高速的處理能力。
實現(xiàn)G.729算法程序較大,下面介紹一種簡單的易于實現(xiàn)的線性增量調(diào)制算法(CVSD,Continuously Variable Slope Delta)編碼方法,實現(xiàn)對語音信號的編碼以及相應(yīng)的解碼算法。
CVSD是一種量階δ隨著輸人語音信號平均斜率大小而連續(xù)變化的增量調(diào)制方式。它的工作原理是使用多個連續(xù)可變斜率的線段來逼近語音信號,當(dāng)斜率為正時,對應(yīng)的數(shù)字編碼為1;當(dāng)斜率為負(fù)時,對應(yīng)的數(shù)字編碼為0。當(dāng)CVSD工作于編碼方式時,其系統(tǒng)框圖如3所示。語音輸人信號fin(t)經(jīng)采樣得到數(shù)字信號f(n),數(shù)字信號f(n)與積分器輸出信號g(n)比較后輸出偏差信號e(n),偏差信號經(jīng)判決后輸出數(shù)字編碼y(n),該信號同時作為積分器輸出斜率的極性控制信號和積分器輸出斜率大小邏輯的輸人信號。在每個時鐘周期內(nèi),若語音信號大于積分器輸出信號,則判決輸出為1,積分器輸出上升一個量階δ;若語音信號小于積分器輸出信號,則判決輸出為0,積分器輸出下降一個量階δ。

圖3 CVSD編碼系統(tǒng)框圖
當(dāng)CVSD工作于解碼方式時,其系統(tǒng)框圖如圖4所示。在每個時鐘周期內(nèi),數(shù)字編碼y(n)被送到連碼檢測器,然后送到斜率幅度控制電路以控制積分器輸出斜率的大小。若數(shù)字編碼y(n)輸入為1,則積分器的輸出上升一個量階δ;若數(shù)字輸入為0,則積分器的輸出下降一個量階δ,這相當(dāng)于編碼過程的逆過程。積分器的輸出通過低通濾波器平滑濾波后將重現(xiàn)輸入語音信號fin(t)。

圖4 CVSD解碼系統(tǒng)框圖
可見輸人信號的波形上升越快,輸出的連1碼就越多,同樣下降越快連0碼越多,CVSD編碼能夠很好地反映輸入信號的斜率大小。為使積分器的輸出能夠更好地逼近輸人語音信號,量階δ隨著輸入信號斜率大小而變化,當(dāng)信號斜率很大,編碼出現(xiàn)3個連1或連0碼時,則量階δ加一個增量,當(dāng)不出現(xiàn)上述碼型時,量階則相應(yīng)地減少。
為了減少編碼及譯碼的偏差,要求編碼和譯碼過程使用相同的時鐘頻率,而且采樣頻率應(yīng)符合奈奎斯特采樣定理,即至少為語音輸人頻率的兩倍。
CVSD通過不斷改變量階δ大小來跟蹤信號的變化以減小顆粒噪聲與斜率過載失真,量階δ調(diào)整是基于過去的3個或4個樣值輸出。具體編碼程序流程如圖5所示,具體解碼程序流程如圖6所示。經(jīng)過編碼和解碼后的語音信號和原始信號的比較如圖7所示。

圖5 語音編碼流程圖

圖6 語音解碼流程圖
從圖7可以看出,編解碼后的信號和原始的信號存在一定的誤差,這是因為編碼必然丟失語音信號的部分信息。但解碼后信號和原始信號在波形和幅度上還是很好地吻合,不影響語音信號的效果。

圖7 編解碼后的語音信號和原始信號的比較
CVSD編碼的C語言程序代碼如下:





匯編程序的匯編語言代碼如下:



解碼程序的匯編代碼如下:





歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.hbjingang.com)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









