嵌入式零樹小波

嵌入式零樹小波 Embedded Zerotrees of Wavelet transforms ( EZW ) 是一種有損的影像壓縮演算法 。 在高壓縮率的情況下 ， 大部分次頻帶轉換 所產生的的係數都會是0 ， 或是非常接近0 。 這背後的原因是在於真實世界的影像大部分集中在低頻的成分 。 然而 ， 也確實會有一些高頻成分 ， 例如影像中邊緣的部分 。 人眼的感知對於這些高頻成分特別的敏感 ， 因此在高畫質的影像壓縮編碼中 ， 這些資訊需要被妥當地重建並呈現在解壓縮後的影像中 。 演算法一開始先把最低頻的係數當作樹狀架構的根節點 ， 每一個節點的子代爲其更高層相對應次帶位置的係數 。 由於每個節點都會有其各自延伸的子代 ， 因此又可以稱這些節點爲子樹 。 由於大部分的資訊被集中在低頻 ， 因此越往高頻成分走係數的值越容易會是0 。 如果一個子樹的係數的值全部都是0 ， 那麼我們就會稱此子樹爲零樹 。 基於這個原因 ， 在後文中節點和係數會被交錯使用 ， 且當提及一個係數的子代時 ， 意指的是該子代所相對應位置的係數值 。 一個節點的子代意指的是該節點下一層相對應的係數 ， 一個節點的後代指的則是一個節點往後的所有衍生的節點 ， 意即包括其子代的子代 ， 即便與該節點並無直接連結 。 基於零樹演算法的壓縮演算法 ( 如EZW和 ) 的目的是在於說希望能夠利用每個次帶間的統計特性來更有效的對重要的係數進行編碼 。 由於大部分的係數會是近於0的值 ， 我們會花上大部分的位元在表示那些重要的係數值 。 一個係數的重要性 ( significance ) 是由其值的大小是否超過一個門檻值做決定 。 在編碼程序的一開始我們可以先將門檻值定爲相當接近整張圖片最大的係數值 ， 往後在每個編碼的循環中逐步降低該門檻值 ， 如此產生一個漸進式的表示方式 。 基於次帶轉換的特性 ， 如果一個係數在其本身的次帶爲不重要的 ， 那麼其後代皆爲0的可能性也會相當的大 。 EZW有一些重要的特性 ： 第一 ， 這個演算法可以停在編碼程序中的任何一點 ， 併產生一個合適的重建影像 。 因此可以想成是 ， 我們是透過更多的位元數去逐步精煉輸出的重建影像 ； 第二 ， 其演算法基本上是透過相當多的漸進式決策手續 ， 因此可以使用算術編碼來更進一步的提高它的壓縮效率 。 然而 ， 即便沒有使用算術編碼 ， 它的編碼程序所產生的符號值其實已經相當接近隨機分佈了 ， 因此通常加上熵編碼 的幫助也會有限 。 EZW目前已經有很多衍生的演算法 ， 諸如等等 ， 都可以達到比它更好的壓縮效能 。