这里使用词过滤有点用词不当。滤波操作通常与各种应用的波形处理相关联,例如发射器中的脉冲整形或接收器中的噪声抑制。图像过滤器也被使用,但主要不是为了更好地压缩图像文件。在您引用 PNG 文件格式标准的上下文中,此操作可能更恰当地命名为数据预处理。
一篇关于 PNG 文件格式的 Wikipedia 文章更明确地说明了过滤后的 PNG 图像数据的可压缩性:
以这种方式过滤的图像线通常比原始图像线更可压缩,特别是如果它与上面的线相似,因为与预测的差异通常会聚集在 0 附近,而不是分布在所有可能的图像值上。
为了进一步阐明PNG数据过滤对数据可压缩性的影响,我引用了LZ77算法文章:
LZ77 算法通过将重复出现的数据替换为对未压缩数据流中较早存在的数据的单个副本的引用来实现压缩。
“聚集在 0 附近”的“与预测的差异”的可变性越小,“未压缩的数据流”中存在的“重复出现的数据”就越多。因此,更有效的是LZ77算法的工作。
LZ77 是 PNG 标准用于压缩的算法。
另请注意 W3C 对 PNG 文件格式的描述中的声明:
过滤器应用于字节,而不是像素,无论图像的位深度或颜色类型如何。
同样,Wikipedia 文章有助于更好地理解此声明 wrt 可压缩性:
以这种方式过滤的图像线通常比原始图像线更可压缩,特别是如果它与上面的线相似,因为与预测的差异通常会聚集在 0 附近,而不是分布在所有可能的图像值上。这在关联单独的行时尤其重要,因为 DEFLATE 不了解图像是 2D 实体,而只是将图像数据视为字节流。