3.7 子帶編碼
3.7.1 子帶編碼的工作原理
子帶編碼(Subb and Coding),簡稱SBC,與變換編碼一樣,是一種在頻率域中進行數據壓縮的方法。在子帶編碼中,如圖3-28所示,首先用一組帶通濾波器將輸入信號分成若干個在不同頻段上的子帶信號,然后將這些子帶信號經過頻率搬移轉變成基帶信號,再對它們在奈氏頻率上分別取樣。取樣后的信號經過量化、編碼,并合成成一個總的碼流傳送給接收端。在接收端,首先把碼流分成與原來的各子帶信號相對應的子帶碼流,然后解碼、將頻譜搬移至原來的位置,最后經帶通濾波、相加得到重建的信號。

圖3-28 子帶編、解碼工作原理框圖
在子帶編碼中,若各子帶的帶寬ΔWk是相同的,則稱為等帶寬子帶編碼;若ΔWk是互不相同的,則稱為變帶寬子帶編碼。
將信號分成若干個子帶進行編碼的好處是:
(1)可以利用人耳(或人眼)對不同頻率信號的感知靈敏度不同的特性,在人的聽覺(或視覺)不敏感的頻段采用較粗糙的量化,從而達到數據壓縮的目的;
(2)各子帶的量化噪聲都束縛在本子帶內,這就可以避免能量較小的頻帶內的信號被其他頻段中的量化噪聲所掩蓋。
圖3-28中所示的帶通濾波器組是子帶編碼的重要部件,它影響到子帶編碼的復雜程度和性能。
首先,我們注意到,如果各子帶的下截止頻率flk恰好是該子帶寬度ΔWk的整數倍,即
flk=nΔWk (k=1,2,…,M)?。?-80)
(其中n是一非負整數,M為子帶的個數),則可以不必將帶通信號搬移到基帶上,直接以取樣頻率fsk=2ΔWk對子帶信號取樣,而不會產生混疊失真。以M=4的變帶寬子帶為例,圖3-29給出了第三個子帶的取樣過程。圖中(a)是輸入信號的頻譜;圖(b)是第三個子帶信號的頻譜,其下截止頻率fl3=2ΔW3;圖(c)是以fs3=2ΔW3的頻率對圖(b)取樣后,所得到的信號的頻譜。

圖3-29 整數子帶的取樣過程
滿足(3-80)式條件的子帶濾波器組稱為整數子帶濾波器組。采用整數子帶濾波器組省去了進行頻譜搬移所需要的調制器和解調器,使系統得以簡化。同時,我們還可以將帶通濾波和取樣的次序互換,即輸入模擬信號先以fs=2W的頻率取樣,然后再經帶通濾波和抽取獲得各子帶信號。其中W為輸入信號的總帶寬,按下式計算:
圖3-30(a)表示出使用抽取和內插的、M=2的子帶編碼和解碼的原理方框圖。此時,我們可以將系統的輸入和輸出看成是已在奈氏頻率下取樣的離散信號,圖(b)給出了它對應的頻譜。假設用帶通濾波器取出圖(b)中斜線所示的上子帶,根據3.4.1節中講述的原則,很容易得到經2∶1抽取后的上子帶的頻譜如圖(c)所示。在解碼端,再用1∶2的內插器,將頻譜恢復到原來的位置。

圖3-30 整數子帶編碼和解碼原理
在采用整數子帶濾波器的系統中,其總的傳輸速率I為
式中,Rk為第k個子帶中每個樣值量化的比特數。
對于子帶編碼的帶通濾波器,我們注意到的第二個問題是,濾波器的具體實現不可能是理想的帶通,其幅度響應不可避免地帶有有限的滾降。因此在劃分子帶時,只能或者使子帶間有交疊,如圖3-31(a)所示;或者使子帶之間有一定的間隙,如圖3-31(b)所示。在圖(a)的情況下,按照奈氏頻率取樣將會產生混疊失真;而在圖(b)的情況下,由于原有信號的部分頻帶經濾波而損失掉了,重建的信號會有失真,例如對語音來講,重建的語音會產生混響的主觀感覺。3.7.2節將要介紹的正交鏡像濾波器比較好地解決了混疊失真的問題,從而降低了對濾波器滾降特性的要求,簡化了濾波器的復雜性,成為子帶編碼中最常采用的形式。

圖3-31 4子帶濾波器組的幅度響應
3.7.2 正交鏡像濾波器組
圖3-32給出了一個M=2、等帶寬的正交鏡像濾波器組(Quadrature Mirror Filter Banks)的幅頻特性圖,其中上、下子帶的幅頻響應以fs/2為鏡像對稱,且有交疊。如果在圖3-30(a)中使用這樣的濾波器,該圖就是所對應的正交鏡像濾波的子帶編、解碼系統。
由于系統的輸入是在奈氏頻率上對信號取樣所得到的離散序列,因此在2∶1抽取后,下子帶的大于fs/2的部分會以fs/2為軸折疊到上子帶中,而上子帶的小于fs/2的部分會以fs/2為軸折疊到下子帶中(見圖3-32中斜線部分)。在一般的情況下這種混疊失真是不能消除的,但是如果滿足下面所介紹的條件,失真在子帶解碼過程中將得以抵消。對于具有偶數個抽頭(即N為偶數)的對稱及反對稱的FIR濾波器:

圖3-32 M=2的正交鏡像濾波器組的幅頻特性
hl(n)=hl(N-1-n)?。╪=0,1,…,N/2-1) (3-83)
hu(n)=-hu(N-1-n)(n=0,1,…,N/2-1) (3-84)
這些條件是hu(n)=(-1)nhl(n)(n=0,1,…,N-1)?。?-85)
h′l(n)=hl(n)(n=0,1,…,N-1)?。?-86)
h′u(n)=-hu(n)(n=0,1,…,N-1)?。?-87)
而且|Hl(ejw)|2+|Hu(ejw)|2=1?。?-88)
其中hl(n)和hu(n)分別為編碼器中的下子帶和上子帶濾波器的沖激響應,Hl(ejw)和Hu(ejw)分別為hl(n)和hu(n)的傅氏變換,而h′l(n)和h′u(n)則分別為解碼器中的下、上子帶濾波器的沖激響應。
(3-88)式表示的條件代表頻域的全通特性。除了N=2和N接近于無窮大的情況以外,滿足(3-85)式條件的鏡像濾波器不能滿足(3-88)式的要求。但是,通過謹慎地選擇N的大小,可以極其接近(3-88)式的要求。參考文獻中給出了N在8~64范圍內符合上述條件的正交鏡像濾波器的系數值。
下面我們證明,在不考慮量化失真和信道誤碼的情況下,滿足(3-83)式至(3-88)式條件的正交鏡像濾波器組能夠消除混疊失真,正確地重建輸入信號。設輸入序列x(n)的Z變換為X(z),經過下子帶濾波器后,得到
Xl(z)=X(z)·Hl(z) (3-89)
根據數字信號處理的有關理論(見本章習題3),經2∶1抽取后的下子帶信號l(n)的Z變換L(z)為
經1∶2內插之后為
L′l(z)=L(z2)?。?-91)
再經H′l(z)(即h′l(n)的Z變換)的濾波,得到
X′l(z)=L′l(z)H′l(z) (3-92)
將(3-89)式至(3-91)式代入(3-92)式,得到
用相類似的方法,可以得到重建的上邊帶信號x′u(n)的Z變換X′u(z)為
因此,輸出信號x′(n)的Z變換X′(z)為
上式等號右邊的第一項代表所需要的重建信號,第二項代表混疊失真。由(3-85)式至(3-87)式,我們有
Hu(z)=Hl(-z)?。?-96)
H′l(z)=Hl(z)?。?-97)
H′u(z)=-Hu(z)?。?-98)
將(3-96)式至(3-98)式代入(3-95)式,得到
從上式可以看出,(3-85)式至(3-87)式所表示的條件保證了使(3-95)式中的混疊失真項為零。由(3-83)式和(3-84)式所示的子帶濾波器的對稱性,我們可以導出
將(3-100)式和(3-101)式代入(3-99)式,并考慮到j=ejw和(3-88)式的條件,得到
上式說明正交鏡像子帶編、解碼可以準確地恢復出原有的信號,而僅引入(N-1)個取樣間隔的延時。
3.7.3 時域混疊消除
時域混疊消除法(Time Domain Alias Cancellation,TDAC)也是一種子帶編碼,它與正交鏡像濾波方法之間具有對偶性。正交鏡像濾波在頻率域內抵消混疊失真,TDAC則在時間域內抵消混疊失真。
假設有圖3-33(a)所示的系統,其輸入信號為一個長時間序列y(n)(如寬帶的數字音頻信號),用一個長度為K的窗h(n)將其截斷,將截取的部分y(n)h(n)變換到頻率域得到K個變換系數X(k),k=0,1,K-1。然后將窗移動K/2,重復上述過程。這樣,就把一個時間序列分解成了K個變換系數序列[見圖3-33(b)],這一過程稱為分析。
由變換系數還原為時間序列的過程稱為綜合。首先將一組變換系數(即變換系數序列在同一時間m的樣值)經反變換后得到K個時間域的樣值g(n)。然后用一個同樣長度的窗f(n)對g(n)加權。依次對每組變換系數都進行上述處理,并將所得到的具有K個樣值的時域序列逐次移動K/2個樣點后相加,就還原出一個長時間序列。
在圖3-33(a)所示系統中使用的變換不是一般的DFT或DCT,而是修正的(Modified)離散余弦和離散正弦變換,簡稱MDCT/MDST。MDCT的正變換與反變換分別定義如下:
其中n0=(K/2+1)/2為一固定的時間偏移。與MDCT類似,MDST的正、反變換分別定義為

圖3-33 MDCT/MDST分析與綜合系統
系統在分析過程中交替地使用MDCT和MDST。將窗函數從初始位置開始移動的次數記為m。當m為偶數時,用MDCT對窗所截取的數據進行變換,m為奇數時使用MDST變換。從(3-103)式和(3-105)式,我們注意到
X(k)=X(K-k)?。╧=0,1,…,K/2)?。∕DCT) (3-107)
X(k)=-X(K-k)?。╧=0,1,…,K/2)?。∕DST)?。?-108)
即K個點的MDCT/MDST只產生個獨立的系數。
如果我們將分析所得到的變換系數序列(僅指獨立的變換系數)經時分復用后構成一個輸出序列,并要求輸出序列與輸入序列y(n)具有相同的比特率,那么每個變換系數序列的比特率只能為輸入比特率的2/K。滿足這一要求的系統稱為臨界取樣系統。從圖3-33(b)可以看出,窗h(n)每次移動K/2,正好將X(k)的速率降低到臨界取樣所要求的數值。
現在來看信號的綜合過程。由于MDCT和MDST正變換所產生的獨立系數的個數少于K,因此反變換不可能精確地恢復出原來的時間序列。以MDCT為例,將(3-103)式代入(3-104)式,并經簡單的三角關系的推導,得到
考慮到
得到
由上式看出,反變換的結果是在原時間序列上再加上一個混疊項。由于離散變換周期性延拓的特點,混疊項中的負時間值可看作是高端的折疊,例如,x(-1)=x(K-1)。
與MDCT類似地,可以得到MDST反變換的結果為
在圖3-33(a)所示的系統中交替地使用MDCT/MDST,其綜合過程的輸出正好使得在時間域內的混疊相互抵消,精確地恢復出原序列。我們現在以m=i(i為偶數)的一段數據為例說明這一過程。在輸出序列中,n=0,1,…,K/2-1的值是本段(m=i)數據經MDCT分析/綜合的結果和前一段(m=i-1)數據經MDST分析/綜合的結果之和,即
其中h(n)和f(n)分別為分析窗和綜合窗函數。假設f(n)=h(n)和h(K-1-n)=h(n)??紤]到m=i和m=i-1的兩個窗有50%的重疊,即
則(3-113)式可變為
因此,只要滿足下式:
則=yi(n),(n=0,1,…,K/2-1),即可精確地恢復出原來的時間序列。圖3-34描述了上述分析/綜合的過程。

圖3-34 TDAC編碼中混疊失真的抵消