霍夫曼编码和算术编码简单比较

假定编码一个来自两个符号表的字符,其中一个出现概率是99%,另一个是1%,对于概率99%的符号编码最小编码位数为-log0.99=0.015比特,而霍夫曼编码则至少需要1比特。因此这种情况下,算术编码的压缩率要高。
算术编码相对于霍夫曼编码,不需要很多内存,容易部署,尤其适用于自适应模型。
霍夫曼编码,只适合静态或半静态模型的场合。

算术编码的缺点是用于静态或半静态模型时,速度比霍夫曼编码慢,还有算术编码只能从开始解码,不能直接从中间某个位置开始解码。也就是不能随机访问。但是霍夫曼编码可以。

在全文检索系统中,编码速度和随机访问都很重要。因此算术编码可能不适合。在包含有大量文本和图像的时候,霍夫曼可能用于文本编码而算术编码则可能用于图像编码。

(本文只是一个简单介绍,更详细的内容可以参考下面这本书第二章文本压缩部分)

深入搜索引擎——海量信息的压缩、索引和查询



本文地址: http://www.bagualu.net/wordpress/archives/143 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注