Hacker News 中文摘要

RSS订阅

考虑使用Zstandard和/或LZ4替代Deflate -- Consider using Zstandard and/or LZ4 instead of Deflate

文章摘要

文章建议在PNG格式中考虑使用Zstandard或LZ4替代Deflate压缩算法,以提高压缩效率和性能。

文章总结

标题:考虑使用Zstandard或LZ4替代Deflate

主要内容:

在PNG格式的使用中,读写速度较慢是一个常见问题。目前,有一些新的无损开源编解码器,如Facebook维护的Zstandard和LZ4,它们没有专利问题,且性能显著优于传统的Deflate压缩算法。Zstandard已被Khronos KTX2 GPU纹理格式规范采用,因此有人提议将其作为未来PNG版本的可选压缩算法。这种替换可以显著提升处理速度,特别是对于那些需要频繁读写PNG文件的用户来说,这将是一个非常有价值的改进。

此外,还有一些更简单但速度更快的编解码器正在开发中,例如.QOI,但使用这些编解码器可能需要改变或不进行图像压缩前的过滤处理。

讨论要点:

  1. 兼容性问题:引入新的压缩算法将导致与现有PNG解码器不兼容,可能需要创建一个新的格式(如PNG2)和MIME类型(如image/png2)来区分。
  2. 性能对比:Zstandard在解压缩速度上已经超过了长期使用的gzip,且其压缩级别多样,低预设下既快速又高效。
  3. 用户需求:虽然技术上有优势,但需要看到实际应用中的广泛使用或大公司的支持,才能推动这一变革。
  4. 其他选择:除了Zstandard和LZ4,Brotli也是一个受欢迎的选择,特别是在现代浏览器中已经作为内容编码支持。

结论:

尽管引入新的压缩算法可以显著提升PNG的性能,但这一变革需要充分考虑兼容性和实际应用需求。未来版本的PNG可能会支持多种压缩算法,以提供更灵活的选择。

评论总结

评论内容主要围绕图像压缩格式的优化与选择展开,观点多样且各有支持者。以下是总结:

  1. 支持使用ZSTD优化PNG

    • zX41ZdbW认为,使用ZSTD压缩像素数组比生成PNG更高效,尤其是在结合2D-delta编码时效果更佳。
      • 引用:"simply outputting an array of pixel color values over HTTP with Content-Encoding: zstd has won over PNG."
    • jasonthorsness提到ZSTD的外部字典功能,认为虽然可能不适用于PNG,但在某些场景下可能有效。
      • 引用:"One of the interesting features of ZStandard is the support for external dictionaries."
  2. 对ZSTD优化PNG的质疑

    • arp242通过数据对比指出,ZPNG(PNG with ZSTD)在压缩率和解压时间上并未显著优于现有PNG或WebP。
      • 引用:"Doesn't really seem worth it? It doesn't compress better, and only slightly faster in decompression time."
    • citrin_ru认为ZSTD的普及度不如PNG,且硬件要求更高,限制了其应用。
      • 引用:"ZSTD is a great compression algorithm but an important PNG (v1.2) advantage is that implementations are available in almost all actively used operating systems."
  3. 支持其他图像格式

    • e-topy推荐使用JPEG XL,认为其在渐进解码、压缩率和解码速度上表现优异。
      • 引用:"I'd still rather use JPEG XL just because it has progressive decoding."
    • willvarfar建议使用QOI,认为其压缩率优于PNG,尤其是在结合LZ4等压缩算法时。
      • 引用:"QOI is often equivalent or better compression than PNG, before you even compress it with something like LZ4 etc."
  4. 对PNG现状的维护

    • bawolff和encom认为PNG的广泛兼容性是其最大优势,无需大幅改动。
      • 引用:"Better to make the back compat breaks be entirely new formats." (bawolff)
      • 引用:"PNG doesn't need fixing. Being ancient is a feature. Everything supports it." (encom)
  5. 历史教训与未来展望

    • HocusLocus提到PNG未能取代GIF的历史教训,提醒不要对新格式过于乐观。
      • 引用:"The reason we have a world full of .gif today is that the .png committee rejected animation back when everyone was saying PNG would be the 'GIF killer'."

总结:评论中对ZSTD优化PNG的支持与质疑并存,同时也有对其他图像格式(如JPEG XL、QOI)的推荐。PNG的广泛兼容性被认为是其不可替代的优势,但历史教训也提醒人们在新格式的推广上需谨慎。