知识卡片
算术编码相对哈夫曼编码的优势与代价
内容
算术编码不给单个符号分配固定整数长度码字,而把整个序列映射成不断收窄的实数区间,能突破[[哈夫曼编码的整数位长天花板]]无限逼近熵,尤其在某符号概率极高、极不均衡时优势明显。代价是计算更慢,且天生不支持中途开始解码,因为区间由从头到尾所有历史累积收窄而成。全文检索里这个代价往往比压缩率提升更致命,因此正文用哈夫曼编码,图像数据用算术编码。
参考来源
- 位置:第2章《文本压缩》2.4节「算术编码」末尾对比部分(源文件:_chapter-text/ch02.txt)
- 结论依据:原文明确指出算术编码比哈夫曼编码慢,且难以从压缩流中间开始解码,因此全文检索系统里哈夫曼编码更适合正文、算术编码更适合图像,直接支持卡片论点。
- 原始内容:"算术编码的一个缺点是比哈夫曼编码速度慢……还有输出的本质意味着在压缩流的中间很难开始解码,这与哈夫曼编码相反……用于全文检索系统压缩的模型时……哈夫曼编码技术很可能用于文本;而算术编码技术则用于图像部分。"