Compression zlib lz77滑动窗口和最大匹配长度

Compression zlib lz77滑动窗口和最大匹配长度,compression,zlib,sliding-window,lz77,Compression,Zlib,Sliding Window,Lz77,我试图找到两个参数(滑动窗口大小和最大匹配长度) 在LZ77算法(源代码:)中,以分析不同的 压缩程度。首先,我发现zpipe.c中的CHUNK值是max match length参数,滑动窗口是deflate.c中函数deflateInit2中的参数windowBits 问题在于,不同压缩级别的压缩文件 无论参数是什么,这些参数都是相同的 如果有人使用了此源代码,并且已经在代码中识别出这些参数, 这将对我很有帮助 谢谢 默认情况下,zlib使用32K滑动窗口。最大匹配长度为258 一次送入放气

我试图找到两个参数(滑动窗口大小和最大匹配长度) 在LZ77算法(源代码:)中,以分析不同的 压缩程度。首先,我发现zpipe.c中的CHUNK值是max match length参数,滑动窗口是deflate.c中函数deflateInit2中的参数windowBits 问题在于,不同压缩级别的压缩文件 无论参数是什么,这些参数都是相同的

如果有人使用了此源代码,并且已经在代码中识别出这些参数, 这将对我很有帮助


谢谢

默认情况下,zlib使用32K滑动窗口。最大匹配长度为258


一次送入放气的数据量(例如zpipe.c中的数据块)对压缩没有任何影响。您可以一次输入一个字节的数据,您将获得相同的输出。

谢谢您的帮助。但我还是有个问题。我用我定义的两个参数和一个二进制文件运行zpipe(参数是滑动窗口和最大匹配长度-我在deflate.c等代码中做了一些更改以使其工作)。当我使用这两个参数的不同值运行zpipe时,每次运行中的两个压缩文件是相同的,这意味着在放气过程中参数没有改变。你能找出它的原因吗。再次感谢你的帮助不,我不知道是什么引起的。你可以查看你的数据来找出答案。滑动窗口和最大匹配长度分别确定匹配的最大距离和最大长度。如果它没有改变,那就意味着它从一开始就没有找到那么远或那么长的距离。嗨,一般来说,代码中的哪些参数/变量(常量或非常量)可能会影响压缩比?它们在代码中的定义是什么?感谢您阅读
deflateTune()
的文档,该文档提供了对影响压缩的所有参数的直接访问。然后,您可以深入到deflate代码中,查看这些参数的具体作用。谢谢您的回复。我很乐意得到关于4个参数的简短解释:好的长度,最大的惰性,好的长度,最大的链。