霍夫曼編碼

霍夫曼編碼

可變字長編碼
霍夫曼編碼是可變字長編碼(VLC)的一種。[1]是由Huffman于1952年提出一種編碼方法,該方法完全依據字符出現概率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫作Huffman編碼。以哈夫曼樹─即最優二叉樹,帶權路徑長度最小的二叉樹,經常應用于數據壓縮。
    中文名:霍夫曼編碼 外文名:Huffman Encoding 所屬學科:

哈夫曼編碼

Huffman于1952年提出一種編碼方法,該方法完全依據字符出現概率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫作Huffman編碼。以哈夫曼樹─即最優二叉樹,帶權路徑長度最小的二叉樹,經常應用于數據壓縮。在計算機信息處理中,“哈夫曼編碼”是一種一緻性編碼法(又稱"熵編碼法"),用于數據的無損耗壓縮。

這一術語是指使用一張特殊的編碼表将源字符(例如某文件中的一個符号)進行編碼。這張編碼表的特殊之處在于,它是根據每一個源字符出現的估算概率而建立起來的(出現概率高的字符使用較短的編碼,反之出現概率低的則使用較長的編碼,這便使編碼之後的字符串的平均期望長度降低,從而達到無損壓縮數據的目的)。

這種方法是由David.A.Huffman發展起來的。例如,在英文中,e的出現概率很高,而z的出現概率則最低。當利用哈夫曼編碼對一篇英文進行壓縮時,e極有可能用一個位(bit)來表示,而z則可能花去25個位(不是26)。用普通的表示方法時,每個英文字母均占用一個字節(byte),即8個位。二者相比,e使用了一般編碼的1/8的長度,z則使用了3倍多。倘若我們能實現對于英文中各個字母出現概率的較準确的估算,就可以大幅度提高無損壓縮的比例。

背景

哈夫曼壓縮是個無損的壓縮算法,一般用來壓縮文本和程序文件。哈夫曼壓縮屬于可變代碼長度算法一族。意思是個體符号(例如,文本文件中的字符)用一個特定長度的位序列替代。因此,在文件中出現頻率高的符号,使用短的位序列,而那些很少出現的符号,則用較長的位序列。

相關詞條

相關搜索

其它詞條