【问题标题】:LZW compression on text文本上的 LZW 压缩
【发布时间】:2014-12-24 14:48:42
【问题描述】:

如何改进 LZW 输出序列以实现更高的压缩率?有没有具体的方法? (我正在对文本文件应用 LZW 压缩)

【问题讨论】:

    标签: dictionary compression lzw text-compression


    【解决方案1】:

    LZW 是一种非常特殊的压缩算法,它是压缩算法历史上的一个重要里程碑,但更多的是因为它的相对简单和速度,而不是它的压缩比。 LZW 还具有单通道算法的优势,使其成为硬件中实时压缩的不错选择。然而,一些较新的算法,例如Deflate (ZIP) 具有更好的压缩比。

    可以通过多种方式调整标准 LZW 以获得更好的压缩性能,主要是通过扩展字典的大小以及重用很少或从未使用过的字符串占用的字典空间,但切换到可能更容易较新的算法之一,例如 ZIP 或 BZIP2

    【讨论】:

    • 感谢您的替代方案,但我需要专门改进 LZW 的输出序列以实现更高的压缩率,但我找不到可以做到这一点的方法。
    • 扩大字典大小。你现在的最大代码宽度是多少?
    • 如您所知,LZW 的工作原理是在从输入读取和匹配字符串时将字符串存储在字典中,并将索引输出到匹配字符串的字典中。因此,对于具有 4K 条目空间的字典(标准 LZW 的典型值),您的最大输出代码宽度为 12 位。
    • 我明白谢谢!但是,最后一件事,通过扩大字典大小,您是否确实改善了 LZW 输出序列?
    • 这取决于你的意思。拥有更大的字典将产生相对较小的输出,但这是假设文件中存在超出字典宽度的冗余。如果被压缩的文件每 3 或 4 K 就变得根本不同,那么更大的字典可能没有任何优势。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 2012-07-29
      • 2021-02-09
      • 2011-10-13
      相关资源
      最近更新 更多