意義與機制
無失真壓縮必須能夠精確地從壓縮後的表示中恢復原始資料。 執行長度編碼利用連續重複,而霍夫曼編碼利用符號頻率的差異。
重要的是為經常出現的符號分配簡短的程式碼,但這些程式碼不能造成歧義。對於資料,如果使用重複長度,則由於資訊頻率,可能會增加資料大小。
關係與條件
熵 H 是衡量理想平均符號分佈資訊量的參考。 在二進位 Huffman 編碼中,當有多個符號時,平均碼長 L 可以與 H ≤ L < H+1 比較。
實驗不使用有限字母集,也不使用固定數量的原始位元,並且不包括霍夫曼表儲存成本。在實際檔案中,還需要考慮標題和字典的成本,以及區塊的成本。
觀察實驗中需要注意的事物
重複性和符號頻率決定壓縮效率。
輸入使用四個符號。原始資料每符號使用 8 位;RLE 使用一個 8 位符號和一個計數。漢夫表開銷不計。
關鍵關係與符號
H ≤ L < H + 1 · ratio = compressed / original
| 符號 | 含義 | 單位 |
|---|---|---|
| H | 每個符號的資訊熵 | bit/符號 |
| L | 平均程式碼長度 | bit/符號 |
| 壓縮比例 | 壓縮大小/原始大小 | 無單位 |
透過範例確認
Huffman 編碼如何對頻繁符號進行編碼?
通常更短 · 重複以及符號頻率決定壓縮效率。
常見誤解
- 程式碼本身變得更小,並不意味著整個實際儲存的檔案也隨之減少了相同的比例。
