曾冬梅
摘? ?要:數(shù)字化的語(yǔ)音信號(hào)具有非常巨大的數(shù)據(jù)量,語(yǔ)音信號(hào)的存儲(chǔ)、傳輸和處理對(duì)計(jì)算機(jī)的性能、數(shù)據(jù)傳輸率和信道帶寬提出極高的要求。解決此問(wèn)題的一種方法是應(yīng)用語(yǔ)音信號(hào)壓縮技術(shù),其重要分支之一是預(yù)測(cè)編碼。這是一種較早用于信源編碼的技術(shù),利用信源的相關(guān)性對(duì)數(shù)據(jù)進(jìn)行壓縮。文章介紹了預(yù)測(cè)編碼及兩種相關(guān)的壓縮方法:DPCM和ADPCM,并在Matlab中對(duì)它們進(jìn)行仿真,對(duì)得到的結(jié)果進(jìn)行分析后得到有關(guān)的結(jié)論,驗(yàn)證了ADPCM編碼方法優(yōu)于DPCM編碼方法。
關(guān)鍵詞:語(yǔ)音壓縮;預(yù)測(cè)編碼;差分脈沖編碼調(diào)制;自適應(yīng)差分脈沖編碼調(diào)制
語(yǔ)音是攜帶信息的重要媒體,信息量巨大。為了減少存儲(chǔ)語(yǔ)音時(shí)的容量和傳輸語(yǔ)音時(shí)占用信道的帶寬,對(duì)數(shù)字化的語(yǔ)音信號(hào)進(jìn)行編碼十分必要。在對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮編碼的過(guò)程中應(yīng)用最早的是預(yù)測(cè)理論,通過(guò)對(duì)語(yǔ)音信號(hào)進(jìn)行線性預(yù)測(cè)來(lái)實(shí)現(xiàn)語(yǔ)音信號(hào)的壓縮傳輸[1]。目前應(yīng)用較廣泛的一種聲碼器技術(shù)是預(yù)測(cè)編碼,其中,典型的壓縮技術(shù)包含脈沖編碼調(diào)制(Pulse Code Modulation,PCM)、差分脈沖編碼調(diào)制(Differential Pulse Code Modulation,DPCM)和自適應(yīng)差分脈沖編碼調(diào)制(Adaptive Differential Pulse Code Modulation,ADPCM)等。預(yù)測(cè)編碼是一種主要壓縮統(tǒng)計(jì)冗余的有損壓縮方式[2]。本文介紹了預(yù)測(cè)編碼的基本知識(shí),介紹了DPCM和ADPCM兩種基于預(yù)測(cè)編碼的語(yǔ)音壓縮技術(shù)原理,并在Matlab中對(duì)這兩種編碼技術(shù)進(jìn)行仿真,在得出實(shí)驗(yàn)結(jié)果以后,對(duì)它們進(jìn)行了比較和分析,并得出了有關(guān)結(jié)論。
1? ? 預(yù)測(cè)編碼
預(yù)測(cè)編碼的主要理論基礎(chǔ)是控制論與現(xiàn)代統(tǒng)計(jì)學(xué)[3]。所謂預(yù)測(cè)編碼,就是根據(jù)過(guò)去的信號(hào)樣本值對(duì)新的信號(hào)樣本值進(jìn)行預(yù)測(cè)得到新樣本的預(yù)測(cè)值,再將新樣本的實(shí)際值與預(yù)測(cè)值相減,得到差值(預(yù)測(cè)誤差),然后對(duì)預(yù)測(cè)誤差進(jìn)行量化編碼后通過(guò)信道進(jìn)行傳輸。在接收端,經(jīng)過(guò)和發(fā)送端相同的預(yù)測(cè)操作后得到的預(yù)測(cè)值與當(dāng)前樣本相應(yīng)的差值進(jìn)行相加的運(yùn)算就能獲得對(duì)原始語(yǔ)音信號(hào)的重構(gòu)。預(yù)測(cè)得越準(zhǔn)確,預(yù)測(cè)誤差會(huì)越小,在同等精度要求的條件下,編碼位數(shù)會(huì)越少,壓縮率會(huì)越高,從而很好地達(dá)到數(shù)據(jù)壓縮的目的。
2? ? DPCM編碼
DPCM是一種利用樣本之間的信息冗余度來(lái)壓縮數(shù)據(jù)的技術(shù)[4],其思想是使用過(guò)去樣本的幅度值對(duì)當(dāng)前輸入的樣本幅度值進(jìn)行預(yù)測(cè)以得到樣本預(yù)測(cè)值,再將實(shí)際樣本的幅度值與預(yù)測(cè)值相減,并對(duì)其結(jié)果進(jìn)行量化編碼就能減少用于表示每一個(gè)語(yǔ)音信號(hào)樣本點(diǎn)的位數(shù)。DPCM是對(duì)差值而不是對(duì)幅度絕對(duì)值進(jìn)行存儲(chǔ)或傳輸,能極大減少存儲(chǔ)或傳輸?shù)臄?shù)據(jù)量,還可以適應(yīng)范圍變化大的輸入信號(hào)。簡(jiǎn)化了的DPCM編碼框架如圖1所示[5]。
xt為8位PCM樣本t,是離散輸入的語(yǔ)音信號(hào),xet是xt的估算值,不是過(guò)去語(yǔ)音信號(hào)的樣本值,dt是樣本的實(shí)際值xt和預(yù)測(cè)值xet的差值,dt是DPCM系統(tǒng)對(duì)dt進(jìn)行量化編碼后所得到的值,也是在存儲(chǔ)器中存儲(chǔ)的或在信道中傳輸?shù)臄?shù)據(jù),dqt是對(duì)dt進(jìn)行逆量化后得到的量化差分信號(hào),xrt是引入了量化誤差的重構(gòu)信號(hào),由xt的預(yù)測(cè)值xet與量化差分信號(hào)dqt相加得到,并且作為預(yù)測(cè)器的輸入以估算下一個(gè)輸入的語(yǔ)音信號(hào)的樣本值。因?yàn)榻邮斩伺c發(fā)送端的預(yù)測(cè)器與逆量化器一樣,因此,接收端可以通過(guò)發(fā)送端傳送過(guò)來(lái)的數(shù)據(jù)dt和預(yù)測(cè)器輸出的預(yù)測(cè)值獲得重構(gòu)的語(yǔ)音信號(hào)xrt。
3? ? ADPCM編碼
自適應(yīng)脈沖編碼調(diào)制(Adaptive Pulse Code Modulation,APCM)是一種根據(jù)輸入的語(yǔ)音信號(hào)的幅度值來(lái)改變量化區(qū)間值的語(yǔ)音編碼技術(shù),包括前向自適應(yīng)和后向自適應(yīng)兩種改變量化區(qū)間值的方法。
ADPCM是一種結(jié)合APCM的自適應(yīng)特性與DPCM的差分特性的性能的優(yōu)越的語(yǔ)音編碼技術(shù),由自適應(yīng)量化和自適應(yīng)預(yù)測(cè)兩部分組成[6]。自適應(yīng)量化指自適應(yīng)調(diào)整量化區(qū)間,即用小的量化區(qū)間對(duì)小的差值進(jìn)行編碼,用大的量化區(qū)間對(duì)大的差值進(jìn)行編碼。自適應(yīng)預(yù)測(cè)指在對(duì)語(yǔ)音進(jìn)行編碼的過(guò)程中自適應(yīng)調(diào)整與修改預(yù)測(cè)器參數(shù)以達(dá)到最佳預(yù)測(cè)的目的。簡(jiǎn)化了的ADPCM編碼框架如圖2所示。
接收端使用的算法和發(fā)送端一樣,它使用發(fā)送端傳送來(lái)的ADPCM碼來(lái)確定接收端譯碼器的逆自適應(yīng)量化器的量化區(qū)間的值,對(duì)其進(jìn)行逆量化以后得到量化差分信號(hào),再將它與自適應(yīng)預(yù)測(cè)器輸出的當(dāng)前樣本的預(yù)測(cè)值相加從而得到重構(gòu)的PCM信號(hào)(可用于輸出或存儲(chǔ)),并使用它來(lái)預(yù)測(cè)下一個(gè)接收信號(hào)的幅度值。
4? ? 實(shí)驗(yàn)仿真及結(jié)果分析
本文使用Matlab對(duì)DPCM和ADPCM編碼進(jìn)行仿真,流程如下:首先,讀入一個(gè)語(yǔ)音波形文件(采樣率為8 kHz,編碼位數(shù)為8 bit的PCM編碼信號(hào)),把它分別輸入到兩種編碼算法對(duì)應(yīng)的編碼器中,并按照用戶指定的編碼位數(shù)(分別為2 bit,3 bit,4 bit和5 bit)依次進(jìn)行壓縮編碼,最終把結(jié)果保存到一個(gè)文件中,將其稱為壓縮文件。在譯碼的時(shí)候,按照相應(yīng)的編碼位數(shù)把壓縮文件中的編碼依次讀取出來(lái)進(jìn)行譯碼,還原出原始語(yǔ)音信號(hào)之后再進(jìn)行保存或播放。得出的仿真結(jié)果如下:在編碼位數(shù)相同的條件下,ADPCM的信噪比始終大于DPCM的信噪比;隨著編碼位數(shù)的增加,DPCM和ADPCM所得的信噪比均呈現(xiàn)上升的趨勢(shì)。通過(guò)對(duì)以上仿真結(jié)果進(jìn)行分析后得出:ADPCM比DPCM在對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行壓縮的性能方面優(yōu)越很多。
5? ? 結(jié)語(yǔ)
本文基于預(yù)測(cè)編碼的原理,深入研究了DPCM和ADPCM算法在語(yǔ)音編碼中的原理和應(yīng)用,并在Matlab中分別進(jìn)行了使用這兩種算法對(duì)同一個(gè)語(yǔ)音波形文件進(jìn)行編/譯碼的仿真,在得出實(shí)驗(yàn)結(jié)果以后,對(duì)其進(jìn)行分析,最終驗(yàn)證了以下結(jié)論:在對(duì)同一個(gè)語(yǔ)音波形文件進(jìn)行編/譯碼的條件下,ADPCM算法比DPCM算法取得了更加優(yōu)越的性能,建議使用ADPCM算法實(shí)現(xiàn)對(duì)語(yǔ)音數(shù)據(jù)的壓縮和解壓縮。
[參考文獻(xiàn)]
[1]吳恬盈.線性預(yù)測(cè)在語(yǔ)音信號(hào)處理中的應(yīng)用研究[D].廈門:華僑大學(xué),2006.
[2]楊松.H.264視頻壓縮算法的優(yōu)化研究[D].重慶:重慶郵電大學(xué),2008.
[3]趙淑芬.多媒體技術(shù)教程[M].北京:機(jī)械工業(yè)出版社,2009.
[4]林福宗.多媒體技術(shù)教程[M].北京:清華大學(xué)出版社,2009.
[5]林福宗.多媒體技術(shù)基礎(chǔ)[M].4版.北京:清華大學(xué)出版社,2017.
[6]李小平,趙豐年,徐建強(qiáng),等.多媒體技術(shù)[M].北京:北京理工大學(xué)出版社,2008.