【问题标题】:What is the maximum compresion ratio of Deflate64?Deflate64的最大压缩比是多少?
【发布时间】:2015-03-23 11:13:29
【问题描述】:

我想知道最大值是多少。 Deflate64的压缩比是。

在传统的放气规范中,压缩比高达 1032:1。

“1032:1”数字的来源在 zlib 网站上给出,它被告知:

限制来自这样一个事实,即一对长度/距离可以 最多代表 258 个输出字节。长度至少需要一位 一个距离至少需要一个位,所以两个位可以给出 258 字节输出,或 8 位输入输出 1032 个字节。动态块有 没有长度限制,所以你可以任意接近极限 1032:1。

由于 Deflate64 支持高达 65.538 的长度,因此该比率应该更高。 当我简单地将 obve 引用中的 258 字节替换为 65.538 并将其乘以 4 以获得262152:1 的比率时,我是否正确?

提前致谢。

【问题讨论】:

    标签: deflate


    【解决方案1】:

    没有。 (3 + 65535) * 8 / (16 + 1) = 524304 / 17 ~= 30841.4 : 1。

    最后一个长度码的基值是 3,额外的位数是 15,所以匹配的最大长度是 3 + 65535。你可以得到那么多字节,或者八倍于位,对于每个长度/距离代码对。 524304 位。长度码的最小长度为 1,因此使用额外的位,最大长度可以用 16 位表示。随后是距离为 1 的距离代码,其最小大小为 1 位。所以我们有 17 位压缩数据来产生 524304 位未压缩数据。

    【讨论】:

    • 谢谢马克的回答。你能解释一下计算的组成部分吗?我只是将 65538 乘以 4,但您的答案似乎包含更多信息。谢谢。
    • 你问的很好。当我开始解释它时,我意识到我犯了一个错误。已更正。
    猜你喜欢
    • 2011-03-18
    • 2016-03-21
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    相关资源
    最近更新 更多