110 likes | 352 Views
壓縮演算法 - 霍夫曼壓縮. 95363621 林 東磊. 壓縮處理的基本概念. 將可以省略的資料丟掉,即可以有效壓縮檔案。 壓縮可以分為可逆壓縮以及不可逆壓縮。. 霍夫曼樹. 左圖是這個句子「 this is an example of a huffman tree 」中得到的字母頻率來建構霍夫曼樹。. 為何有適應型演算法 ?. 各資料值的出現頻率資訊一定要被存放在輸出資料的某處,而這些資料可能會成為 Overhead 。 進行資料處理前必須取得全部資料的資訊。. 適應型霍夫曼編碼.
E N D
壓縮演算法-霍夫曼壓縮 95363621林東磊
壓縮處理的基本概念 • 將可以省略的資料丟掉,即可以有效壓縮檔案。 • 壓縮可以分為可逆壓縮以及不可逆壓縮。
霍夫曼樹 左圖是這個句子「this is an example of a huffman tree」中得到的字母頻率來建構霍夫曼樹。
為何有適應型演算法? • 各資料值的出現頻率資訊一定要被存放在輸出資料的某處,而這些資料可能會成為Overhead。 • 進行資料處理前必須取得全部資料的資訊。
適應型霍夫曼編碼 • 將所有資料值出現的頻率設為1,處理過的資料值頻率加1,且建立霍夫曼樹;也可以說,在處理資料值的過程中,一邊建立最“適應”資料出現頻率的霍夫曼樹。 • 但是如此建立霍夫曼樹的方法,恐怕造成時間上的消耗。
FGK演算法 • 由Faller、Gallager、Kmouth三人發明,故稱為FGK演算法。 • 此演算法會依據霍夫曼樹建立的條件,在葉的重量增加時,讓霍夫曼樹變形滿足條件。
兄弟條件 • FGK演算法是根據以下條件來變形霍夫曼樹的排列方式。 • 對所有節點來說,其兩個子節點的號碼是一定連續的。 • 父節點號碼永遠比子節點大。
V演算法 • 為改良後的FGK演算法,於1987年由J.S.Vitter提出。 • 概念:節點間的距離是『從A節點走到B節點時,中間經過的節點數。』
V演算法 • 依造以下規則建立霍夫曼樹 • 從距離跟最遠的節點由小到大分配編號。 • 若兩節點的出現頻率相同,則在葉節點上的配點要比內部節點更小。
參考資料 • 壓縮演算法-編碼原理與使用C語言的實作 • 維基百科