赫夫曼碼與算術碼的比較

赫夫曼碼與算術碼的比較:
一、錯誤保護:
1)赫夫曼碼是異前置碼,即任一碼字不會是另一碼字的前面部分,這使各碼字可以連在一起傳送,中間不需另加隔離符號,只要傳送時不出錯,收端仍可分離各個碼字,不致混淆。但是,一旦某個符號傳輸錯誤,那麼後面所有符號的解碼將發生錯誤。
2)算術碼不是異前置碼,一次發送一個發送一條信息,所以,就算某個符號傳輸錯誤,也隻影響這一條信息。
二、壓縮效率:
1)赫夫曼編碼使用整數個二進制位對符號進行編碼,這種方法在許多情況下無法得到最優的壓縮效果。假設某個字符的出現概率爲80%,該字符事實上只需要-log2(0.8)=0.322 位編碼,但赫夫曼編碼一定會爲其分配一位1或一位0的編碼,可以想象整個信息的80%在壓縮後都幾乎相當於理想長度的3倍左右,壓縮效果可想而知!
2)算術編碼的一個重要特點就是可以按分數比特逼近信息熵突破了赫夫曼編碼中每個符號只不過能按整數個比特逼近信息熵的限制! 憑藉算術編碼的精妙設計和卓越表現,人們可以向着數據壓縮的極限前進! 很多例子已經證明,算術編碼得到的壓縮效果可以最大地減小信息的冗餘度,且用最少量的符號精確表達原始信息內容!

參考文獻:
[1]趙瑾,蘇淑華.算術編碼與赫夫曼編碼的比較[J].福建電腦,2005(07):37-28.

發佈了39 篇原創文章 · 獲贊 49 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章