次頻帶編碼

维基百科,自由的百科全书
跳转至: 导航搜索

訊號處理中,次頻帶編碼(sub-band coding)是一種轉換編碼。其作法是把訊號分成許多頻帶後獨立編碼,通常是將資料做壓縮的第一步,可應用於聲音、多媒體、影像訊號的壓縮。

應用於聲音訊號[编辑]

基本理論[编辑]

次頻帶編碼在聲音訊號上利用聽覺遮蔽(auditory masking)且符合人耳的聽覺系統。一般而言,人耳可聽到一定頻率範圍的聲音,若在某特定頻率的訊號強度很大時,人耳對於該特定頻率附近的頻率辨別率幾乎為0,我們稱強度很大的訊號遮蔽弱的訊號。次頻帶編碼的基本概念即是捨去那些被遮蔽的頻帶,這部分為「失真編碼」,與原本的訊號不同,但其捨去的訊號經過分析後,仍可以不被人耳所辨別。

應用[编辑]

最常用於數位化編碼的方法是脈衝編碼調變(pulse-code modulation),這種方法也適用於CD和錄音帶。數位化轉換將原本的連續訊號取樣後,並用最接近的整數bits表示,及量子化(quantization),但這樣的方法會產生取捨誤差(rounding error),並在取樣域產生截斷誤差(truncation error)。

為了減少誤差,必須要增加每個代表取樣的位元數,如此一來便造成過大的位元率(像是CD audio的頻道就超過700 kbits/s)。實際上,用過的位元表示並沒有考慮人耳的聽覺系統的敏感度。其改善的方法是用非線性脈衝編碼調變,如µ-law編碼,適用聽覺感知曲線,其截斷誤差是與訊號能量大小做調變。

其中昇陽電腦(Sun Microsystems)的Au file format是廣為人知的µ-law編碼方式,使用8位元µ-law編碼可使CD audio的頻道減低至350 kbits/s,但效果與原本相比,較為遜色。

次頻帶編碼應用的另一個例子是G.722(第一個用於16KHz採樣率的寬帶語音編碼演算法),它利用次頻帶可適性差分脈衝編碼調變(sub-band adaptive differential pulse code modulation, SB-ADPCM),位元率在64 kbits/s。SB-ADPCM 將頻帶切成兩次頻帶,每個次頻帶再分別用ADPCM。


影像訊號[编辑]

介紹影像之前,先以一個一維訊號為例,如圖一所示

圖一

圖一中,上圖表示兩頻帶的的子帶編碼及解碼,輸入訊號\mathit{x(n)},分別經過兩個分析濾波器(analysis filter)\mathit{h_0(n)}\mathit{h_1(n)}。它們個別的頻率響應如下圖\mathit{H_0(n)}\mathit{H_1(n)}。其中\mathit{h_0(n)}為低通濾波器,所得到的\mathit{y_0(n)}是訊號的低頻部分,其輸出為原訊號大略的特徵(approximation);\mathit{h_1(n)}為高通濾波器,輸出所得到的\mathit{y_1(n)}是訊號的細節(detail)。經過降取樣(downsampling)來達到壓縮的效果。而圖一上圖的右半部\mathit{g_0(n)}\mathit{g_1(n)}分別是合成濾波器(synthesis filter),先將\mathit{y_0(n)}\mathit{y_0(n)},升採樣(upsampling)後還原原本的訊號。

圖二

接著介紹二維子帶編碼,如圖二所示,二為訊號\mathit{x(m, n)}分經過低通、高通濾波器後對橫列降取樣,此時會得到兩張長度約為原本二分之一的圖。再分別對這兩張圖個別經過低通、高通濾波器後對行方向降取樣,可得到四張圖。如圖三所示

圖三

圖三從左至右、上至下分別對應到圖二的\mathit{a(m, n)},代表粗略次頻帶(approximation subband)、\mathit{d^H(m, n)},表示水平的細節、\mathit{d^V(m, n)},表示垂直方向的細節、\mathit{d^D(m, n)},表示對角線方向的細節,即是角落(corner)的部分。若針對粗略子帶繼續經過更多次的低通、高通濾波器,便達到壓縮的效果,最廣泛的應用就是JPEG2000,其主要的演算法小波轉換的基本概念即是上面所述。


參考[编辑]