Zopfli: Difference between revisions
2620:0:105f:3:8105:a140:b6f5:4475 (talk) |
Pink kitty111 (talk | contribs) →PNG optimization: rewriting and copyediting |
||
Line 4: | Line 4: | ||
== PNG optimization == |
== PNG optimization == |
||
The Zopfli algorithm can be used to compress [[Portable Network Graphics]] (PNG) files because that format uses a DEFLATE compression layer. The latest git version of zopfli has contained a png optimizer since May 2013.<ref>https://code.google.com/p/zopfli/source/detail?r=337d27f25ef15a6cf34fef2acd0613fddc411cb1</ref> The Zopfli algorithm has also been integrated into PNG compression optimization tools like advpng from the [[AdvanceCOMP]] utility suite.<ref>http://advancemame.sourceforge.net/doc-advpng.html#3</ref> |
|||
== PHP implementation == |
== PHP implementation == |
Revision as of 03:36, 8 March 2015
Zopfli Compression Algorithm is an open sourced, zlib-compatible data compression library developed by Jyrki Alakuijala and Lode Vandevenne.[1][2] It achieves typically 5% better compression than zlib but takes around 100 times longer to compress the same data. Decompression speed is unaffected. Google says it is "best suited for applications where data is compressed once and sent over a network many times, for example, static content for the web"[3] (most clients support only deflate or gzip, and not more advanced formats like Brotli or xz; see HTTP compression).
The higher data density is achieved by using exhaustive compression techniques. The method is based on iterating entropy modeling and a shortest path search algorithm to find a low bit cost path through the graph of all possible deflate representations.[4]
PNG optimization
The Zopfli algorithm can be used to compress Portable Network Graphics (PNG) files because that format uses a DEFLATE compression layer. The latest git version of zopfli has contained a png optimizer since May 2013.[5] The Zopfli algorithm has also been integrated into PNG compression optimization tools like advpng from the AdvanceCOMP utility suite.[6]
PHP implementation
Because of the gzip/zlib compatible data compression this library can also be used for compressing data before delivering it to the client like you would do with gzencode(). A first implementation can be found in php_zopfli.
C# implementation
An implementation of Zopfli in C# can be found as part of the CompressSharper library ZopfliDeflater.cs
See also
References
- ^ "Compress data more densely with Zopfli - Google Developers Blog". Googledevelopers.blogspot.com. 2013-02-28. Retrieved 2013-05-01.
- ^ "zopfli - Zopfli Compression Algorithm - Google Project Hosting". Code.google.com. Retrieved 2013-05-01.
- ^ Sharwood, Simon (2013). "Google open sources very slow compression algorithm". The Register.
- ^ ThinkDigit: Zopfli: Google's new data compression algorithm
- ^ https://code.google.com/p/zopfli/source/detail?r=337d27f25ef15a6cf34fef2acd0613fddc411cb1
- ^ http://advancemame.sourceforge.net/doc-advpng.html#3
External links
- Zopfli Compression Algorithm
- RFC 1951