李俊鑫
摘 要:隨著5G時(shí)代的來(lái)臨,互聯(lián)網(wǎng)技術(shù)在我們的生活中起著不可或缺的作用,而基于移動(dòng)互聯(lián)網(wǎng)的語(yǔ)音通話也成了我們生活中的日常。在面向VOIP的語(yǔ)音編解碼中,由于壓縮感知能以更少的采樣點(diǎn)恢復(fù)完整的原始信號(hào),有利于語(yǔ)音通信中的丟包恢復(fù),因此文章將壓縮感知理論用于語(yǔ)音編解碼方法,致力于研究一種低復(fù)雜度的壓縮感知語(yǔ)音編解碼方法。實(shí)驗(yàn)證明,文章的方法比經(jīng)典的壓縮感知算法在語(yǔ)音重構(gòu)的速度上具有一定的優(yōu)勢(shì)。
關(guān)鍵詞:VOIP;低復(fù)雜度;壓縮感知
0? ? 引言
眾所周知,傳統(tǒng)的信號(hào)采樣方法遵循著名的奈奎斯特采樣定理,即采樣速率必須至少是信號(hào)中存在的最大頻率的兩倍。而由陶哲軒等[1]提出的壓縮感知理論可以通過(guò)比傳統(tǒng)方法更少的樣本點(diǎn)或測(cè)量值盡可能地恢復(fù)出原始信號(hào)。如今,越來(lái)越多的領(lǐng)域[2]應(yīng)用了壓縮感知理論,在語(yǔ)音信號(hào)處理方面,由于語(yǔ)音信號(hào)具有良好的稀疏性,因此將壓縮感知應(yīng)用于語(yǔ)音編解碼中具有一定的可行性。
相比傳統(tǒng)的壓縮編碼方案,壓縮感知是邊采樣邊壓縮的,少了壓縮大量冗余數(shù)據(jù)的過(guò)程,因此將壓縮感知理論應(yīng)用于語(yǔ)音信號(hào)的編解碼中能提高壓縮效率,為研究更低復(fù)雜度的語(yǔ)音編解碼方法提供了一定的理論基礎(chǔ)。
1? ? 壓縮感知基本原理
在壓縮感知理論中,一個(gè)典型的問(wèn)題就是如何從一個(gè)線性方程中估計(jì)長(zhǎng)度為 N? 的未知向量 x,
其中,A是一個(gè)M×N的測(cè)量矩陣,且M小于N。我們用N表示信號(hào)的維數(shù)。一般來(lái)說(shuō),如果 x 沒(méi)有額外的結(jié)構(gòu),就不可能從比信號(hào)維數(shù)更少的測(cè)量值中恢復(fù) x。但是,如果已知信號(hào)在某些基上是稀疏的,其中只有 K 個(gè)系數(shù)是非零的或重要的,則是有可能從更少的測(cè)量值中恢復(fù)未知信號(hào)的。壓縮感知的過(guò)程主要分為兩步:(1)設(shè)計(jì)一個(gè)測(cè)量矩陣對(duì)原始信號(hào)進(jìn)行觀測(cè),得到一個(gè)測(cè)量值;(2)由測(cè)量值通過(guò)重構(gòu)算法重構(gòu)出原始信號(hào)。
2? ? 基于壓縮感知的語(yǔ)音編碼方法
2.1? 稀疏表示
在壓縮感知理論中,一個(gè)重要的前提是信號(hào)具有一定的稀疏性,而信號(hào)的稀疏性是指信號(hào)中的大部分元素為0或者趨近于0,而少部分元素非零。然而我們知道在真實(shí)世界里不一定所有信號(hào)都是稀疏的,因此信號(hào)在一定的變換域內(nèi)可以進(jìn)行稀疏表示,也是滿足壓縮感知理論要求的。而這個(gè)變換的前提就是需要稀疏基,可以用數(shù)學(xué)語(yǔ)言描述為:
其中,ψ為N×N的稀疏變換矩陣,x為原始信號(hào),s為經(jīng)過(guò)稀疏變換后的稀疏系數(shù)。在實(shí)驗(yàn)中,ψ為小波變換基。在稀疏表示方面,小波變換是一種經(jīng)典的稀疏表示方法。小波變換每次將信號(hào)分為低頻和高頻部分,而低頻系數(shù)往往表示信號(hào)的主要信息,高頻系數(shù)決定信號(hào)的細(xì)節(jié)信息,從而說(shuō)明小波變換下的低頻系數(shù)對(duì)語(yǔ)音信號(hào)重構(gòu)有著極其重要的作用。
2.2? 語(yǔ)音信號(hào)的壓縮感知重構(gòu)
目前,壓縮感知的重構(gòu)方法主要分為凸優(yōu)化方法和貪婪方法。凸優(yōu)化方法以基追蹤(Basis Pursuit,BP)[3]方法為代表,用凸優(yōu)化方法重構(gòu)的信號(hào)恢復(fù)效果好,但是計(jì)算復(fù)雜度高,導(dǎo)致重構(gòu)時(shí)間慢;貪婪算法以正交匹配追蹤(Orthogonal Matching Pursuit,OMP)算法為代表,貪婪算法恢復(fù)時(shí)間快,但是重構(gòu)效果欠佳。綜合兩者的優(yōu)缺點(diǎn)以及語(yǔ)音編解碼對(duì)編碼質(zhì)量和延時(shí)的要求,我們選擇了一種新的壓縮感知方法,稱為Incrowd方法。該方法通過(guò)一次取多個(gè)非零元,代替一次取單個(gè)非零元,可以大大減少重構(gòu)時(shí)間,提高恢復(fù)效率。算法步驟如下:
步驟1.設(shè)置初始的x0為n×1的零向量,殘差r=y-Ax0;
步驟2.設(shè)活動(dòng)集I 為空集;
步驟3.存在j屬于I 的補(bǔ)集Ic,使uj=|
步驟4.如果在I 的補(bǔ)集Ic上沒(méi)有uj>λ,則程序終止;
步驟5.否則,將uj 中最大的L個(gè)加到集合I里,但是不要將uj<λ的部分加進(jìn)來(lái);
步驟6.在由I中的所有分量張成的子空間上求解,使用x0的當(dāng)前值來(lái)熱啟動(dòng)求解器;
步驟7.從I中拿掉在步驟6中求出的精確解的零值元素;
步驟8.將 x0 的所有部分設(shè)置為0,除了 I 中的部分;將這些設(shè)置為步驟6的精確解找到的值;
步驟9.更新殘差r=y-Ax;注意:當(dāng)存在 j 屬于 I c,xj=0,可以在步驟6的子問(wèn)題中找到 Ax;
步驟10.返回第3步。
2.3? 編解碼方法
本文設(shè)計(jì)的語(yǔ)音編解碼方法先用高斯隨機(jī)矩陣對(duì)語(yǔ)音原始信號(hào)進(jìn)行壓縮感知觀測(cè),利用得到的觀測(cè)值和由測(cè)量矩陣與稀疏字典構(gòu)成的感知矩陣,用Incrowd算法重構(gòu)出語(yǔ)音信號(hào)稀疏系數(shù),再將重構(gòu)出的稀疏系數(shù)通過(guò)稀疏逆變換還原出語(yǔ)音信號(hào),從而實(shí)現(xiàn)了低復(fù)雜度的語(yǔ)音編解碼過(guò)程。編解碼過(guò)程如圖1所示。
3? ? 實(shí)驗(yàn)結(jié)果
本次實(shí)驗(yàn)采用的語(yǔ)音信號(hào)來(lái)自清華大學(xué)中文語(yǔ)料庫(kù),其中采樣頻率為16 000 Hz,一次取1 024個(gè)樣本點(diǎn)進(jìn)行重構(gòu),將本文所用算法與壓縮感知中具有代表性的基追蹤BP算法在語(yǔ)音恢復(fù)時(shí)間上進(jìn)行對(duì)比,選用的稀疏基為小波矩陣,選用大小為 512×1 024的高斯隨機(jī)觀測(cè)矩陣,設(shè)置自變量為50到500的測(cè)量值。如圖2所示,在不同的測(cè)量值下,本文所使用的算法在信號(hào)重構(gòu)時(shí)間上均優(yōu)于經(jīng)典的BP算法。由此可見(jiàn),本文所用算法在研究低延時(shí)的語(yǔ)音編解碼方法上具有一定的可行性。
4? ? 結(jié)語(yǔ)
綜上所述,本文使用的壓縮感知語(yǔ)音快速編解碼方法在運(yùn)行時(shí)間上具有一定的優(yōu)勢(shì),對(duì)于追求低延遲的移動(dòng)網(wǎng)絡(luò)電話的應(yīng)用具有一定的意義。
[參考文獻(xiàn)]
[1]DONOHO D L. Compressed sensing[J].IEEE Transactions on Information Theory,2006(4):1289-1306.
[2]石光明,劉丹華,高大化,等.壓縮感知理論及其研究進(jìn)展[J].電子學(xué)報(bào),2009(5):1070-1081.
[3]CHEN S S,DONOHO D L,SAUNDERS M A. Atomic decomposition by basis pursuit[J].Siam Review,2001(1):129-159.
(編輯 王雪芬)