370 likes | 555 Views
植基於小波係數的影像壓縮法. … 離散小波轉換 …. 三階 Haar 函數離散小波轉換. … 離散小波轉換 …. Z 字型掃描方式. … 離散小波轉換 …. … 離散小波影像壓縮法 EZW…. EZW(Embedded Zerotree Wavelet) 由 Shapiro 於 1993 年發表 一種對離散小波轉換後係數編碼的方法。. … 離散小波轉換 Zerotree…. 離散小波轉換的兩個主要重點: 重點一:當影像作離散小波轉換後,高頻部分的係數會小於低頻部分的係數。 重點二:離散小波轉換,係數越大越重要。. … 離散小波轉換 Zerotree….
E N D
…離散小波轉換… 三階Haar函數離散小波轉換
…離散小波轉換… Z字型掃描方式
…離散小波影像壓縮法EZW… • EZW(Embedded Zerotree Wavelet) • 由Shapiro於1993年發表 • 一種對離散小波轉換後係數編碼的方法。
…離散小波轉換Zerotree… 離散小波轉換的兩個主要重點: 重點一:當影像作離散小波轉換後,高頻部分的係數會小於低頻部分的係數。 重點二:離散小波轉換,係數越大越重要。
…離散小波轉換Zerotree… Zerotree 切割示意圖
…離散小波影像壓縮法EZW… EZW重要參數:
…離散小波影像壓縮法EZW… EZW符號定義:
…離散小波影像壓縮法EZW… 步驟一:設定門檻值T0 N= log2 (max(Cij)) T0 = 2N 例:N=5, T0 = 32 步驟二:計算EZW的重建數值 建立重建數值的目的是為了以後我們做解壓縮時還原數值的初步依據。 R = ( max(Cij)+T0) / 2 例:R = (63+32)/2 = 48
…離散小波影像壓縮法EZW… 步驟三、建立重要係數表
…離散小波影像壓縮法EZW… 步驟四、建構第一次精煉表
…離散小波影像壓縮法EZW… 步驟五、先前重要係數值的再精煉。(目前為第一次切割,故不需執行。)
…離散小波影像壓縮法EZW… 步驟六、重新設定重要係數之係數值
…離散小波影像壓縮法EZW… • 第一次切割結束前重新設定係數之結果
…離散小波影像壓縮法EZW… • 建構第二次切割的精煉數值 • 先前重要係數建構值的再精煉
…離散小波影像壓縮法EZW… • 切割二次的輸出結果
…離散小波影像壓縮法SPHIT… • Set Partitioning in Hierarchical Trees,EZW的改良版。 • by Said and Pearlman ,1996 • A image compressing method of DWT
…離散小波影像壓縮法SPHIT… SPHIT符號說明: N: N= log2 (max(Cij)) Tk: 門檻值,其意義與EZW完全相同。 H: 存放SPIHT一開始就要處理的係數。 LSP: 重要係數的串列 LIP: 不重要係數的串列 LIS: 未處理係數的串列 type A: 表示此係數的所有子樹所成的集合, D(i, j)。 type B: 表示此係數的所有子樹所成的集合,但不包含此係樹之兒子, L(i, j) 。
H: (0,0)(0,1)(1,0)(1,1) LIP: (0,0)(0,1)(1,0)(1,1) LIS: A(0,1)A(1,0)A(1,1) LSP: 空白 output: 空白 SPHIT影像壓縮編碼程序 max(Cij)=63 N=5 T0=2^5=32 =-34>T0 LIP: (0,1)(1,0)(1,1) LIS: A(0,1)A(1,0)A(1,1) =63>T0 LSP: (0,0) (重要係數的串列) output: 10 (0,0)為重要係數 正數
=-31<T0 LIP: (1,0)(1,1) LIS: A(0,1)A(1,0)A(1,1) LSP: (0,0)(0,1) output: 1011 (0,1)為重要係數 負數 不移出LIP =23<T0 非重要,不移出LIP LIP: (1,0)(1,1) LIP: (1,0)(1,1) 不重要係數的串列 子樹中有大於T0 的重要係數 LIS: A(0,1)A(1,0)A(1,1) LIS: A(0,1)A(1,0)A(1,1) LSP: (0,0)(0,1) LSP: (0,0)(0,1) output: 101100 output: 10110 (1,1)為不重要係數 (1,0)為不重要係數
LIP: (1,0)(1,1)(0,2)(0,3)(1,2)(1,3) LIS: A(1,0)A(1,1)B(0,1) LSP: (0,0)(0,1) output: 1011001 將(0,1)的下一層節點放到LIP =49>T0 (0,1)的子樹有重要係數 LIP: (1,0)(1,1)(0,3)(1,2)(1,3) LIS: A(1,0)A(1,1)B(0,1) LSP: (0,0)(0,1)(0,2) 子樹中有大於T0 的重要係數 output: 101100110000 (0,2)為重要係數 正數 (0,3)(1,2)(1,3)為不重要係數
將(1,0)的下一層節點放到LIP LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS: A(1,1)B(0,1)B(1,0) 係數值都不大於T0 LSP: (0,0)(0,1)(0,2) output: 1011001100001 (1,0)的子樹有重要係數 LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS: A(1,1)B(0,1)B(1,0) LSP: (0,0)(0,1)(0,2) output: 1011001100001 0000 子樹中沒有大於T0 的重要係數 (2,0)(2,1)(3,0)(3,1)為不重要係數
LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS: B(0,1)B(1,0) LSP: (0,0)(0,1)(0,2) (0,2)(0,3)(1,2)(1,3)子樹中沒有大於T0的重要係數 output: 101100110000100000 A(1,1)的子樹沒有重要係數 LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS: B(1,0) (2,0)(2,1)(3,0)(3,1)子樹中有大於T0的重要係數 LSP: (0,0)(0,1)(0,2) output: 101100110000100000 0 B(0,1)的子樹沒有重要係數
LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) 將B(1,0)\展開成A(2,0)A(2,1)A(3,0)A(3,1) LIS: A(2,0)A(2,1)A(3,0)A(3,1) LSP: (0,0)(0,1)(0,2) 子樹中沒有大於T0 的重要係數 output: 10110011000010000001 B(1,0)的子樹有重要係數 LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS: A(2,1)A(3,0)A(3,1) LSP: (0,0)(0,1)(0,2) 子樹中有大於T0的重要係數 output: 101100110000100000010 A(2,0)的子樹沒有重要係數
繼續處理(2,1)的下一層節點(4,2)(4,3)(5,2)(5,3) LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1)(4,2)(4,3)(5,2)(5,3) LIS: A(3,0)A(3,1) (4,3)的值大於T0, 其餘的小於T0 LSP: (0,0)(0,1)(0,2) output: 101100110000100000010 1 A(2,1)的子樹有重要係數 LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1)(4,2)(5,2)(5,3) LIS: A(3,0)A(3,1) 子樹中均沒有大於T0 的重要係數 LSP: (0,0)(0,1)(0,2)(4,3) output: 101100110000100000010101000 (4,3)為重要係數 正數 (4,2)為不重要係數 (5,2)(5,3)為不重要係數
LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1)(4,2)(5,2)(5,3) LIS: A(3,1) 子樹中均沒有大於T0 的重要係數 LSP: (0,0)(0,1)(0,2)(4,3) output: 101100110000100000010101000 0 LIP: (1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1)(4,2)(5,2)(5,3) LIS:(空白) LSP: (0,0)(0,1)(0,2)(4,3) output: 1011001100001000000101010000 0
對LSP作第一次精練 output: 101100110000100000010101000001010
SPHIT影像解壓縮解碼程序 max(Cij)=63 輸入:101100110000100000010101000001010 LIP:(0,0)(0,1)(1,0)(1,1) LIS:A(0,1)A(1,0)A(1,1) LSP:空白 輸入:1100110000100000010101000001010 LIP:(0,1)(1,0)(1,1) LIS:A(0,1)A(1,0)A(1,1) LSP:(0,0)
輸入:00110000100000010101000001010 LIP:(1,0)(1,1) LIS:A(0,1)A(1,0)A(1,1) LSP:(0,0)(0,1) 輸入:110000100000010101000001010 LIP:(1,0)(1,1) LIS:A(0,1)A(1,0)A(1,1) LSP:(0,0)(0,1)
輸入:10000100000010101000001010 LIP:(1,0)(1,1)(0,2)(0,3)(1,2)(1,3) LIS:A(1,0)A(1,1)B(0,1) LSP:(0,0)(0,1) 輸入:100000010101000001010 LIP:(1,0)(1,1)(0,3)(1,2)(1,3) LIS:A(1,0)A(1,1)B(0,1) LSP:(0,0)(0,1)(0,2)
輸入:00000010101000001010 LIP:(1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1) LIS:A(1,1)B(0,1)B(1,0) LSP:(0,0)(0,1)(0,2) …… 輸入:1010 LIP:(1,0)(1,1)(0,3)(1,2)(1,3)(2,0)(2,1)(3,0)(3,1)(4,2)(5,2)(5,3) LIS:(空白) LSP:(0,0)(0,1)(0,2)(4,3)