【发布时间】:2016-10-15 02:03:08
【问题描述】:
我一直在研究 LZW 压缩,但有一件事我不能满足自己,那就是在 LZW 中构建字典时,它的最大限制设置为 4096 个条目。这是为什么 ?。此外,如果字典已满,则字典会被重置,但如果在重置字典之前接下来要读取的几个字符已存在于字典中怎么办。这是一个限制吗?还是我的理解不正确?
【问题讨论】:
-
一个著名的早期 LZW 实现是 BSD compress(1)。它从 9 位代码开始(字典大小 512 (2^9)) - 霍夫曼编码 LZW 码流会很慢,算术编码并不常见,更不用说不受专利限制的快速编码器了。它根据需要将代码大小增加到 16 的限制,可参数化到 12。压缩比被监控,只有当它变坏时才会发生重置。限制字典大小允许内存很少的计算机解压缩流 - 想想 1/3 世纪前,1200/75 调制解调器,......剩下的很少输入是 AFAIR 未解决的有效问题。