李小航 姜占才
摘要:為了實現(xiàn)數(shù)字語音的有效壓縮,提出了一種基于K-L變換的語音自適應(yīng)壓縮算法。由語音幀向量構(gòu)造協(xié)方差矩陣;通過對協(xié)方差矩陣的特征值分解,得到與幀對應(yīng)的正交矩陣;用正交矩陣對幀向量作正交變換得到變換系數(shù)向量,并將其截短;由截短的變換系數(shù)向量重構(gòu)幀向量;最后經(jīng)抽取,實現(xiàn)對幀向量的壓縮。在不同信噪比下對不同語音樣本進行仿真實驗,并同離散余弦變換壓縮比較,實驗表明,該算法不僅數(shù)據(jù)壓縮率高、重構(gòu)語音清晰和自然,而且同時實現(xiàn)語音良好的自適應(yīng)增強。
關(guān)鍵詞:K-L變換;離散余弦變換;自適應(yīng)增強;數(shù)據(jù)壓縮
中圖分類號:TN9 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)10-0187-03
1 概述
語音信號作為一種自然信號,其時變性使得實際采樣得到數(shù)字語音存在很大程度的冗余。因此,數(shù)字語音壓縮技術(shù)的研究成為當(dāng)今世界通信領(lǐng)域的熱點之一[1-2]。目前的語音壓縮算法主要有無損壓縮和有損壓縮兩大類。其中,有損壓縮算法能節(jié)約存儲空間和降低數(shù)碼率,實現(xiàn)高效壓縮,是當(dāng)前數(shù)字語音通信及存儲的發(fā)展方向。隨著計算機技術(shù)和數(shù)字信號處理技術(shù)的飛速發(fā)展,人們不斷提出新的數(shù)字語音壓縮技術(shù)。基于小波變換的數(shù)字語音壓縮技術(shù),壓縮率高,重構(gòu)語音清晰、自然,但其算法比較復(fù)雜[3-5]。利用離散余弦變換(DCT)的語音壓縮方案,本質(zhì)上是正交變換語音壓縮,算法原理簡單,且有快速算法,被廣泛采用[6-7],但它不能實現(xiàn)幀間自適應(yīng)。文獻(xiàn)[8]提到了利用幀間自適應(yīng)和幀內(nèi)自適應(yīng)的方法來提升壓縮處理后的語音質(zhì)量,取得了明顯的效果,但其算法較繁瑣不利于數(shù)字語音傳輸或存儲。文獻(xiàn)[9]提出了基于語音幀能量分級和幀間位置慣性的語音信號自適應(yīng)壓縮算法,在保證一定的恢復(fù)語音質(zhì)量的前提下,此算法可以明顯地減少語音信號的恢復(fù)時間,雖然算法復(fù)雜度相比文獻(xiàn)[8]有了明顯的降低,但文中提到的觀測值是一個經(jīng)驗值,不容易求出。本文提出的基于K-L變換數(shù)字語音壓縮方法,不僅算法簡單、壓縮率高、重構(gòu)語音清晰、自然,而且由于具備幀間自適應(yīng),能方便、有效地實現(xiàn)語音的自適應(yīng)去噪。
2 K-L變換及其壓縮原理
2.1 K-L變換
K-L變換是Karhunen-Love變換的簡稱,這是一種特殊的正交變換,主要用于一維和二維信號的數(shù)據(jù)壓縮。
一個寬平穩(wěn)的實隨機向量[x=x0,x1,…,xN-1T],其協(xié)方差矩陣[Cx]定義為:
式中[E?]代表求均值運算,[μx=Ex]是信號[x]的均值向量,[Cx]的元素
[Cxi,j=Exi-μxxj-μx=Cxj,i]
即協(xié)方差陣是對稱的。顯然,矩陣[Cx]體現(xiàn)了信號向量的各分量之間的相關(guān)性。若[x]的各分量互不相關(guān),那么[Cx]中除對角線以外的元素皆為零。
K-L變換的思路是尋找正交矩陣[A],使得[A]對[x]的變換[y]的協(xié)方差陣[Cy]為對角矩陣。
由λ的N階多項式
[λI-Cx=0]
求協(xié)方差矩陣[Cx]的特征值[λ0],[λ1],…,[λN-1],再由式
[CAi=λiAi],i=0,1,…,N-1 (2)
求協(xié)方差矩陣[Cx]的N個特征向量[A0],[A1],…,[AN-1],并將其歸一化。由歸一化的向量[A0],[A1],…,[AN-1]構(gòu)造歸一化的正交矩陣[A],即
[A=A0?A1?…?AN-1T]
計算[y=Ax]實現(xiàn)對信號[x]的K-L變換。
重構(gòu)信號就是解逆變換,由下式完成
[x=A-1y=ATy] (3)
對[xn]做數(shù)據(jù)壓縮,直接對[x]的變換[y]做壓縮即可,即舍去[yn]中一部分分量。不失一般性,假定舍去[ym+1],[ym+2],…,[yN-1],這樣,由[y0],[y1],…,[ym]恢復(fù)[xn]時,將只能是對[xn]的近似,即
[x∧=i=0myiAi] (4)
2.2 K-L變換語音壓縮算法原理
語音信號具有短時平穩(wěn)性,為此,將語音信號分成長度為160個樣點的語音幀[xn],對其去直流后按(1)式構(gòu)造協(xié)方差陣[Cx],特征值分解后構(gòu)造正交變換陣[A],用[A]對[xn]作K-L變換得到變換后的信號[y];將[y]截短為長度為N的信號[y1];[y1]按(3)式進行K-L逆變換重構(gòu)長度為160個點的語音信號。將160個點的重構(gòu)語音信號抽取為N點,傳輸?shù)浇獯a端后再通過插值技術(shù)恢復(fù)為160點的語音幀,通過幀間拼接技術(shù),合成出語音。K-L變換語音自適應(yīng)壓縮算法原理如圖1所示。
3 離散余弦變換及其壓縮原理
3.1 離散余弦變換(DCT)
Ahmed和Rao于1974年首次給出了離散余弦變換的定義。給定序列x(n),n=0,1,…,N-1,其離散余弦變換的定義為:
[X(k)=2Mc(k)m=0M-1x(m)cos(2m+1)kπ2M],k=0,1,…,M-1
逆變換定義為:
[x(m)=2Mk=0M-1c(k)X(k)cos(2m+1)kπ2M],m=0,1,…,M-1
其中,[c(0)=12],[c(k)=1],[k≠0]。
DCT的各行各列基向均是正交歸一的。語音信號經(jīng)過DCT變換后較大的系數(shù)集中在低頻區(qū)域,較小的系數(shù)則集中在高頻區(qū)域,具有很好的能量壓縮性能,如圖2所示。因此用部分DCT系數(shù)表示全部語音信號,可對數(shù)字化的語音信號進行壓縮。
3.2 離散余弦變換語音壓縮算法原理
語音信號屬于非平穩(wěn)隨機信號,大量研究結(jié)果表明,語音信號具有短時平穩(wěn)性。語音的特征參數(shù)在短時內(nèi)基本保持不變,如短時過零率、短時能量及基音周期等。利用語音信號的短時平穩(wěn)性的特點,將語音信號分成160點(20ms)的語音幀,每次僅對一幀語音信號進行離散余弦變換,再利用離散余弦變換后語音信號的能量主要集中在低頻段的特點,去掉高頻段的變換系數(shù)而只傳輸?shù)皖l段的變換系數(shù)。
具體實現(xiàn)步驟:對一幀語音信號進行離散余弦變換后,根據(jù)語音信號能量在頻域的集中性,取低頻區(qū)域較大的變換系數(shù)值,舍去高頻區(qū)域較小的變換系數(shù)值,通過離散余弦逆變換重構(gòu)原始語音信號。
4 算法仿真實驗
本文提出的算法按圖1的算法原理用matlab語言編程,以文件名klt_comp.m存儲;同時,對離散余弦變換壓縮算法編程,以文件名dct_comp.m存儲;在計算機上仿真實驗。通過重構(gòu)語音的波形顯示,判定其算法的有效性。在仿真實驗中,利用計算機上的錄音機功能錄制語音樣本,全部樣本都是8kHz采樣8bit量化的線性PCM碼。
4.1 重構(gòu)語音波形顯示
同一語音樣本在信噪比為13dB時,離散余弦變換和K-L變換兩種算法進行4倍壓縮的實驗結(jié)果。結(jié)果顯示,對信噪比為13dB時,K-L變換的重構(gòu)語音波形幾乎逼近原始語音波形,而離散余弦變換的重構(gòu)語音波形稍帶有噪聲的影響(圖略)。圖3是同一語音樣本在信噪比為10dB時,離散余弦變換和K-L變換兩種算法進行4倍壓縮的實驗結(jié)果。結(jié)果顯示,對信噪比為10dB的帶噪語音樣本,K-L變換重構(gòu)語音效果明顯優(yōu)于離散余弦變換重構(gòu)語音的效果。
4.2 重構(gòu)語音基音周期軌跡分析
圖4是10dB下對語音的特征(基音周期)進行比較,因為基音周期是語音的重要特征,是辨別語義和語者的主要特征之一,也是判定重構(gòu)語音效果的重要依據(jù),許多語音處理系統(tǒng)都要依賴于基音周期。結(jié)果顯示,利用K-L變換法重構(gòu)語音的基音周期軌跡與原始語音基音周期軌跡的走勢幾乎一致,而DCT重構(gòu)語音的基音周期軌跡沒有K-L變換法重構(gòu)語音的基音周期軌跡那么平滑,甚至部分幀的周期有減小或消失現(xiàn)象。這是由于DCT處理過程中
不能實現(xiàn)幀間自適應(yīng)導(dǎo)致抗噪能力較差。
5 結(jié)束語
基于K-L變換的數(shù)字語音壓縮方法不僅算法簡單、壓縮率高、重構(gòu)語音清晰、自然,而且對語音實現(xiàn)幀間自適應(yīng),有效地實現(xiàn)自適應(yīng)消噪。該算法有望用于數(shù)字語音多媒體存儲和數(shù)字語音通信。
參考文獻(xiàn):
[1] 胡廣書.數(shù)字信號處理[M].2版.北京:清華大學(xué)出版社,2003.
[2] 楊真真,楊震.語音壓縮感知硬閾值梯度追蹤重構(gòu)算法[J].信號處理,2014,30(4):391-396.
[3] Chong Cha Keon, Arzawa Kiyoharu, Saito Takahiro, et al. Subband image coding with biorthgonal wavelets [J]. IEICE Trans Fundamentals,2001,75(7):871-881.
[4] 華容.基于不完全小波包分解的語音信號數(shù)據(jù)壓縮[J].計算機工程與設(shè)計,2009,30(10):2471-2474.
[5] 周開利.基于子波變換的語音信號壓縮[J].海南大學(xué)學(xué)報:自然科學(xué)版,2002,20(2):103.
[6] 符曉娟,楊萬全.利用離散余弦變換的語音信號壓縮方案[J].信息技術(shù),2006(11):74-76.
[7] 張長青,陳硯圃.離散余弦小波包變換及語音信號壓縮感知[J].聲學(xué)技術(shù),2014,33(1):36-40.
[8] 郭海燕,王天荊,楊震.DCT域的語音信號自適應(yīng)壓縮感知[J].儀器儀表學(xué)報,2010,31(6):1262-1268.
[9] 雷穎,錢永青,孫洪.幀間自適應(yīng)語音信號壓縮感知[J].信號處理,2012,28(6):895-897.