赫夫曼码与算术码的比较

赫夫曼码与算术码的比较:
一、错误保护:
1)赫夫曼码是异前置码,即任一码字不会是另一码字的前面部分,这使各码字可以连在一起传送,中间不需另加隔离符号,只要传送时不出错,收端仍可分离各个码字,不致混淆。但是,一旦某个符号传输错误,那么后面所有符号的解码将发生错误。
2)算术码不是异前置码,一次发送一个发送一条信息,所以,就算某个符号传输错误,也只影响这一条信息。
二、压缩效率:
1)赫夫曼编码使用整数个二进制位对符号进行编码,这种方法在许多情况下无法得到最优的压缩效果。假设某个字符的出现概率为80%,该字符事实上只需要-log2(0.8)=0.322 位编码,但赫夫曼编码一定会为其分配一位1或一位0的编码,可以想象整个信息的80%在压缩后都几乎相当于理想长度的3倍左右,压缩效果可想而知!
2)算术编码的一个重要特点就是可以按分数比特逼近信息熵突破了赫夫曼编码中每个符号只不过能按整数个比特逼近信息熵的限制! 凭借算术编码的精妙设计和卓越表现,人们可以向着数据压缩的极限前进! 很多例子已经证明,算术编码得到的压缩效果可以最大地减小信息的冗余度,且用最少量的符号精确表达原始信息内容!

参考文献:
[1]赵瑾,苏淑华.算术编码与赫夫曼编码的比较[J].福建电脑,2005(07):37-28.

发布了39 篇原创文章 · 获赞 40 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43102634/article/details/102789495