李小航,姜占才
(青海師范大學(xué) 物理系,青海 西寧 810008)
K-L變換語(yǔ)音波形編碼算法研究
李小航,姜占才
(青海師范大學(xué) 物理系,青海 西寧810008)
為了有效改善解碼語(yǔ)音的質(zhì)量,提出了一種K-L變換語(yǔ)音波形編碼算法。由語(yǔ)音幀構(gòu)造協(xié)方差矩陣,并對(duì)其進(jìn)行特征值分解,得到特征值及其對(duì)應(yīng)的特征向量,由特征向量構(gòu)造正交矩陣;用正交矩陣對(duì)語(yǔ)音幀作正交變換得到變換系數(shù)向量;選取適當(dāng)特征值對(duì)應(yīng)的特征向量構(gòu)造重構(gòu)矩陣;用重構(gòu)矩陣對(duì)變換系數(shù)向量作逆變換得到增強(qiáng)后的語(yǔ)音信號(hào);對(duì)增強(qiáng)后的語(yǔ)音抽取并傳輸至解碼端;通過(guò)插值技術(shù)重構(gòu)語(yǔ)音信號(hào)。在不同信噪比下對(duì)不同語(yǔ)音樣本進(jìn)行仿真實(shí)驗(yàn),并同離散余弦變換編碼比較,實(shí)驗(yàn)表明,該算法不僅數(shù)據(jù)壓縮率高、解碼語(yǔ)音清晰和自然,而且同時(shí)實(shí)現(xiàn)語(yǔ)音良好的自適應(yīng)增強(qiáng)。
語(yǔ)音;K-L變換;離散余弦變換;波形編碼;自適應(yīng)增強(qiáng)
隨著數(shù)字通信技術(shù)、多媒體技術(shù)和數(shù)字信號(hào)處理技術(shù)的飛速發(fā)展,高音質(zhì)、低碼率的語(yǔ)音編碼方法顯得尤為重要。近幾十年來(lái),人們對(duì)數(shù)字化語(yǔ)音壓縮編碼做了大量研究工作,取得了顯著的成果。經(jīng)研究發(fā)現(xiàn),直接對(duì)線(xiàn)性PCM碼流存儲(chǔ)和傳輸存在很大程度的信息冗余,至少可以對(duì)數(shù)字語(yǔ)音進(jìn)行4倍的壓縮[1]。為了更有效利用信道資源,人們提出許多數(shù)字語(yǔ)音壓縮編碼算法。
語(yǔ)音編碼大致分為波形編碼、參數(shù)編碼和混合編碼三類(lèi)。波形編碼技術(shù)以盡可能重構(gòu)語(yǔ)音波形為原則進(jìn)行數(shù)據(jù)壓縮,即在編碼端以波形逼近為原則對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮編碼,解碼端根據(jù)這些編碼數(shù)據(jù)恢復(fù)出語(yǔ)音信號(hào)的波形。它具有語(yǔ)音質(zhì)量好、抗噪聲性能強(qiáng)等優(yōu)點(diǎn),所需的碼率一般在64~16kbps之間。在 8 kHz采樣、8 bit量化時(shí),PCM、ADM和ADPCM等編碼器分別在64~16 kbps的速率上獲得了高的編碼質(zhì)量[2-3]。語(yǔ)音信號(hào)的頻域非線(xiàn)性波形編碼采用的是分段離散傅里葉變換,在獲得大壓縮比的情況下,仍能保留原始語(yǔ)音信號(hào)的細(xì)節(jié)特征[4]。語(yǔ)音信號(hào)經(jīng)過(guò)小波分解后低頻分量和高頻分量的語(yǔ)音自適應(yīng)壓縮編碼,也取得了一定的成效[5-6]。利用離散余弦變換后的語(yǔ)音信號(hào)能量主要集中在低頻段的特點(diǎn),對(duì)語(yǔ)音進(jìn)行壓縮編碼,其算法原理簡(jiǎn)單,且有快速算法,被廣泛采用[7],但它不能實(shí)現(xiàn)幀間自適應(yīng)。本文提出的KL變換語(yǔ)音波形編碼算法,不僅算法簡(jiǎn)單、壓縮率高、解碼語(yǔ)音清晰、自然,而且由于具備幀間自適應(yīng)性,能方便、有效地實(shí)現(xiàn)語(yǔ)音的自適應(yīng)去噪。
1.1K-L變換
信號(hào) x=[x(1),x(2),…,x(N)]T,其協(xié)方差矩陣 Cx定義為:
由λ的N階多項(xiàng)式:|λI-Cx|=0求協(xié)方差陣Cx的特征值λ1,λ2,…,λN再由式
求協(xié)方差矩陣Cx的N個(gè)特征向量A1,A2,…AN,并將其歸一化。構(gòu)造正交矩陣A,即
計(jì)算y=Ax實(shí)現(xiàn)對(duì)信號(hào)x的K-L變換。
重構(gòu)信號(hào)就是解逆變換,由下式完成
對(duì)x(n)去除噪聲,直接對(duì)x的變換y截取即可,即
1.2K-L變換語(yǔ)音編解碼算法原理
將語(yǔ)音信號(hào)分成長(zhǎng)度為160點(diǎn)的語(yǔ)音幀x(n),去直流后按(1)式構(gòu)造協(xié)方差矩陣Cx,作特征值分解,構(gòu)造正交變換矩陣A;用A對(duì)x(n)作K-L變換得到變換后的信號(hào)y,將y按(3)式進(jìn)行截取得到信號(hào)y’;將y’按式(2)進(jìn)行K-L逆變換重構(gòu)語(yǔ)音信號(hào)x;將重構(gòu)語(yǔ)音x抽取為N點(diǎn)并對(duì)其編碼傳輸?shù)浇獯a端;在解碼段通過(guò)插值技術(shù)恢復(fù)為160點(diǎn)的語(yǔ)音幀,通過(guò)幀間拼接技術(shù),合成出語(yǔ)音。
2.1離散余弦變換(DCT)
Ahmed和Rao于1974年首次給出了離散余弦變換的定義。給定序列x(n),n=0,1,…,N-1,其離散余弦變換的定義為:
逆變換定義為:
DCT的各行各列基向量均是正交歸一化的。語(yǔ)音信號(hào)經(jīng)過(guò)DCT變換后較大的系數(shù)集中在低頻區(qū)域,較小的系數(shù)則集中在高頻區(qū)域,具有很好的能量壓縮性能,如圖1所示。因此用部分DCT系數(shù)表示全部語(yǔ)音信號(hào),可對(duì)數(shù)字化的語(yǔ)音信號(hào)進(jìn)行壓縮編碼。
2.2離散余弦變換編碼原理
語(yǔ)音信號(hào)屬于非平穩(wěn)隨機(jī)信號(hào),大量研究結(jié)果表明,語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性。語(yǔ)音的特征參數(shù)在短時(shí)內(nèi)基本保持不變,如短時(shí)過(guò)零率、短時(shí)能量及基音周期等。利用語(yǔ)音信號(hào)的短時(shí)平穩(wěn)性的特點(diǎn),將語(yǔ)音信號(hào)分成160點(diǎn)(20 ms)的語(yǔ)音幀,每次僅對(duì)一幀語(yǔ)音信號(hào)進(jìn)行離散余弦變換,再利用離散余弦變換后語(yǔ)音信號(hào)的能量主要集中在低頻段的特點(diǎn),去掉高頻段的變換系數(shù)而只傳輸?shù)皖l段的變換系數(shù)。
圖1 一幀語(yǔ)音信號(hào)的DCTFig.1 DCT of a frame speech signal
具體實(shí)現(xiàn)步驟:對(duì)一幀語(yǔ)音信號(hào)進(jìn)行離散余弦變換后,根據(jù)語(yǔ)音信號(hào)能量在頻域的集中性,取低頻區(qū)域較大的變換系數(shù)值,舍去高頻區(qū)域較小的變換系數(shù)值,只對(duì)較大的變換系數(shù)值進(jìn)行編碼;解碼端通過(guò)離散余弦逆變換恢復(fù)原始語(yǔ)音信號(hào)。
3.1實(shí)驗(yàn)方案
實(shí)驗(yàn)分五組進(jìn)行:1)對(duì)同一語(yǔ)音樣本在一定的信噪比(13 dB)下,分別用離散余弦變換和K-L變換兩種算法進(jìn)行2倍壓縮編碼仿真實(shí)驗(yàn);2)對(duì)同一語(yǔ)音樣本在不同信噪比(13 dB和10 dB)下,分別用離散余弦變換和K-L變換兩種算法進(jìn)行2倍壓縮編碼實(shí)驗(yàn)仿真;3)對(duì)同一語(yǔ)音樣本在一定的信噪比(13 dB)下,分別用離散余弦變換和K-L變換兩種算法進(jìn)行4倍壓縮編碼仿真實(shí)驗(yàn);4)對(duì)同一語(yǔ)音樣本在不同信噪比(13 dB和10 dB)下,分別用離散余弦變換和K-L變換兩種算法進(jìn)行4倍壓縮編碼實(shí)驗(yàn)仿真;5)在同一信噪比(10 dB)下,對(duì)同一語(yǔ)音樣本分別對(duì)離散余弦變換和K-L變換4倍壓縮編碼的解碼語(yǔ)音進(jìn)行基音周期軌跡分析。
3.2實(shí)驗(yàn)材料(語(yǔ)音樣本)
實(shí)驗(yàn)用的語(yǔ)音取自筆者的導(dǎo)師建立的語(yǔ)音樣本庫(kù)。其語(yǔ)料為詩(shī)詞、短句和文章,錄制轉(zhuǎn)換后的數(shù)字語(yǔ)音均為8 kHz采樣、8 bit量化、線(xiàn)性PCM碼。語(yǔ)音樣本庫(kù)的容量是186 MB。實(shí)驗(yàn)時(shí)用的語(yǔ)音是從樣本庫(kù)中挑選的詩(shī)詞和短句,加入高斯白噪聲后形成帶噪的語(yǔ)音。實(shí)驗(yàn)用的語(yǔ)音樣本幀長(zhǎng)、幀移均取160點(diǎn),幀間無(wú)重疊。
3.3實(shí)驗(yàn)程序
文中提出的算法按圖1的算法原理用matlab語(yǔ)言編程,以文件名klt_encode.m存儲(chǔ);同時(shí),對(duì)離散余弦變換編碼算法編程,以文件名dct_encode.m存儲(chǔ);在計(jì)算機(jī)上仿真實(shí)驗(yàn)。通過(guò)解碼語(yǔ)音的波形顯示,判定其算法的有效性。
3.4實(shí)驗(yàn)結(jié)果及分析
3.4.1解碼語(yǔ)音波形顯示
部分實(shí)驗(yàn)結(jié)果如圖2~5所示。圖2是同一語(yǔ)音樣本在信噪比為13 dB時(shí),離散余弦變換和K-L變換兩種算法進(jìn)行4倍壓縮編碼的實(shí)驗(yàn)結(jié)果。結(jié)果顯示,對(duì)信噪比為13 dB時(shí),KL變換的解碼語(yǔ)音波形幾乎逼近原始語(yǔ)音波形,而離散余弦變換的解碼語(yǔ)音波形稍帶有噪聲的影響。圖3是同一語(yǔ)音樣本在信噪比為10 dB時(shí),離散余弦變換和K-L變換兩種算法進(jìn)行4倍壓縮編碼的實(shí)驗(yàn)結(jié)果。結(jié)果顯示,對(duì)信噪比為10dB的帶噪語(yǔ)音樣本,K-L變換解碼語(yǔ)音效果明顯優(yōu)于離散余弦變換解碼語(yǔ)音的質(zhì)量。
3.4.2解碼語(yǔ)音基音周期軌跡分析
圖4是10dB下對(duì)語(yǔ)音的特征(基音周期)進(jìn)行比較,因?yàn)榛糁芷谑钦Z(yǔ)音的重要特征,是辨別語(yǔ)義和語(yǔ)者的主要特征之一,也是判定解碼語(yǔ)音效果的重要依據(jù),許多語(yǔ)音處理系統(tǒng)都要依賴(lài)于基音周期。結(jié)果顯示,利用K-L變換法解碼語(yǔ)音的基音周期軌跡與原始語(yǔ)音基音周期軌跡的走勢(shì)幾乎一致,而DCT解碼語(yǔ)音的基音周期軌跡沒(méi)有K-L變換法解碼語(yǔ)音的基音周期軌跡那么平滑,甚至部分幀的周期有減小或消失現(xiàn)象。這是由于DCT處理過(guò)程中不能實(shí)現(xiàn)幀間自適應(yīng)導(dǎo)致編碼器抗噪能力較差[8]。
圖2 13 dB下KLT和DCT解碼語(yǔ)音波形Fig.2 Decoding speech waveform with KLT and DCT under 13 dB SNR
圖3 10 dB下KLT和DCT解碼語(yǔ)音波形Fig.3 Decoding speech waveform with KLT and DCT under 10 dB SNR
圖4 10 dB下KLT和DCT解碼語(yǔ)音基音周期軌跡Fig.4 Track pitch of decoding speech with KLT and DCT under 10 dB SNR
基于K-L變換的語(yǔ)音波形編碼算法,在8 kHz采樣、8 bit量化的情況下,比特率為16 kbps,該算法不僅數(shù)據(jù)壓縮率高、解碼語(yǔ)音清晰和自然,而且同時(shí)實(shí)現(xiàn)語(yǔ)音良好的自適應(yīng)增強(qiáng)。
[1]韓紀(jì)慶,張磊,鄭鐵然.語(yǔ)音信號(hào)處理[M].北京:清華大學(xué)出版社,2010.
[2]陳溯.ADPCM語(yǔ)音壓縮編碼的分析與仿真[J].中國(guó)西部科技,2008,7(32):52-54.
[3]廖廣銳,劉萍.基于ADPCM的語(yǔ)音壓縮算法研究[J].計(jì)算機(jī)與數(shù)字工程,2007,35(7):39-41.
[4]戴憲華,黃繼武.語(yǔ)音信號(hào)的頻域非線(xiàn)性波形編碼[J].通信學(xué)報(bào),1998,19(2):1-6.
[5]劉杰平,余英林.小波域多描述變換編碼算法的研究[J].計(jì)算機(jī)應(yīng)用,2005,25(2):317-319.
[6]唐力.基于小波分解的語(yǔ)音自適應(yīng)壓縮感知[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,32(2):64-68.
[7]魯業(yè)頻,李鳳亭,陳兆龍,等.離散余弦變換編碼的現(xiàn)狀與發(fā)展研究[J].通信學(xué)報(bào),2004,25(2):106-118.
[8]朱學(xué)濤,張志偉.一種快速DCT變換方法的優(yōu)化[J].電子科技,2004(9):31-33.
Speech waveform encoding algorithm research based on K-L transform
LI Xiao-hang,JIANG Zhan-cai
(Physics Department of Qinghai Normal University,Xining 810008,China)
In order to effectively improve the quality of the decoded speech,a kind of speech self-adaption enhancement algorithm based on K-L transform is put forward.Covariance matrix is constructed by speech frame vectors;eigenvalues and corresponding to eigenvectors are got by decomposing eigenvalues of covariance matrix,orthogonal matrix is constructed by the eigenvectors;the transform coefficient vector is got by orthogonal transform of frame vectors with orthogonal matrix;through the analysis,selecting the appropriate eigenvalues and corresponding to eigenvectors reconstruct the new matrix;the transform coefficient vector is used as the inverse transformation to get the enhancement speech signal with reconstruction matrix.The enhanced speech extracted and transmitted to the decoder;reconstruction speech signal with interpolation technique.Under different SNR simulation experiments on different speech,and compared with the DCT encoding,The results show that the algorithm has high data compression rate,decoding speech is clear and natural,what's more,good selfadaption enhancement of speech is realized.
speech;K-L transform;DCT;waveform encoding;self-adaption enhancement
TN391
A
1674-6236(2016)03-0008-03
2015-03-24稿件編號(hào):201503324
李小航(1990—),男,陜西寶雞人,碩士研究生。研究方向:語(yǔ)音信號(hào)處理、語(yǔ)音編碼。