itslabtime.com

資訊 · 計算機 · 資料表示

無失真壓縮與資訊熵

壓縮利用資料中重複或頻率的差異,以用更少的符號來表示資料。然而,沒有一種單一的方法可以始終將所有輸入都減少到更小的尺寸。

相關實驗:資料壓縮 →
資料壓縮
資料壓縮實驗場景 →

意義與機制

無失真壓縮必須能夠精確地從壓縮後的表示中恢復原始資料。 執行長度編碼利用連續重複,而霍夫曼編碼利用符號頻率的差異。

重要的是為經常出現的符號分配簡短的程式碼,但這些程式碼不能造成歧義。對於資料,如果使用重複長度,則由於資訊頻率,可能會增加資料大小。

關係與條件

熵 H 是衡量理想平均符號分佈資訊量的參考。 在二進位 Huffman 編碼中,當有多個符號時,平均碼長 L 可以與 H ≤ L < H+1 比較。

實驗不使用有限字母集,也不使用固定數量的原始位元,並且不包括霍夫曼表儲存成本。在實際檔案中,還需要考慮標題和字典的成本,以及區塊的成本。

觀察實驗中需要注意的事物

重複性和符號頻率決定壓縮效率。

輸入使用四個符號。原始資料每符號使用 8 位;RLE 使用一個 8 位符號和一個計數。漢夫表開銷不計。

關鍵關係與符號

H ≤ L < H + 1 · ratio = compressed / original

符號及公式中使用的單位
符號含義單位
H每個符號的資訊熵bit/符號
L平均程式碼長度bit/符號
壓縮比例壓縮大小/原始大小無單位

透過範例確認

Huffman 編碼如何對頻繁符號進行編碼?

通常更短 · 重複以及符號頻率決定壓縮效率。

常見誤解

  • 程式碼本身變得更小,並不意味著整個實際儲存的檔案也隨之減少了相同的比例。

透過實驗探索這個概念

參考文獻

OpenStax ·《電腦科學導論》(英文)