HOME

TheInfoList



OR:

Zopfli is a
data compression In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compression ...
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
that performs Deflate,
gzip gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and in ...
and
zlib zlib ( or "zeta-lib", ) is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also a ...
data encoding. It achieves higher compression ratios than mainstream Deflate and zlib implementations at the cost of being slower.
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
first released Zopfli in February 2013 under the terms of Apache License 2.0. The name ''Zöpfli'' is the
Swiss German Swiss German (Standard German: , gsw, Schwiizerdütsch, Schwyzerdütsch, Schwiizertüütsch, Schwizertitsch Mundart,Because of the many different dialects, and because there is no defined orthography for any of them, many different spelling ...
diminutive A diminutive is a root word that has been modified to convey a slighter degree of its root meaning, either to convey the smallness of the object or quality named, or to convey a sense of intimacy or endearment. A (abbreviated ) is a word-formati ...
of “
Zopf Zopf or Züpfe ( French and in Italian) is a type of Swiss, Austrian, German or Bavarian bread made from white flour, milk, eggs, butter and yeast. The dough is brushed with egg yolk, egg wash, or milk before baking, lending it its golden c ...
”, an unsweetened type of Hefezopf.


Operation

Zopfli can either generate a raw Deflate data stream or encapsulate it into gzip or zlib formats. Zopfli achieves higher data density through more 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 Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
of all possible Deflate representations of the uncompressed data. By default, Zopfli performs 15 iterations but could be configured to performed more or fewer. Under default settings, the output of Zopfli is typically 3–8% smaller than zlib's maximum compression, but takes around 80 times longer. Because of its significantly slower compression speed, Zopfli is not suited for on-the-fly compression. It is typically used for one-time compression of static content. This is typically true for
web Web most often refers to: * Spider web, a silken structure created by the animal * World Wide Web or the Web, an Internet-based hypertext system Web, WEB, or the Web may also refer to: Computing * WEB, a literate programming system created by ...
content that is served with Deflate-based
HTTP compression HTTP compression is a capability that can be built into web servers and web clients to improve transfer speed and bandwidth utilization. HTTP data is compressed before it is sent from the server: compliant browsers will announce what methods are ...
or web content in a Deflate-based file format such as PNG or
WOFF The Web Open Font Format (WOFF) is a font format for use in web pages. WOFF files are OpenType or TrueType fonts, with format-specific compression applied and additional XML metadata added. The two primary goals are first to distinguish font file ...
font files. Another use case is software updates or downloads with software package files that have a zip-based format such as Android application packages (APK) or Java Archives (JAR), especially over mobile connections.


History

Zopfli is based on an algorithm from Jyrki Alakuijala. The first reference implementation of Zopfli, by Jyrki Alakuijala and Lode Vandevenne, appeared in February 2013. Version 1.0.0 was released on April 25, 2013. The reference implementation is a
software library In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subr ...
under the terms of Apache License 2.0, written in C. Since then, the open-source community made attempts to modify Zopfli for optimizing
Portable Network Graphics Portable Network Graphics (PNG, officially pronounced , colloquially pronounced ) is a raster-graphics file format that supports lossless data compression. PNG was developed as an improved, non-patented replacement for Graphics Interchange F ...
(PNG) files because PNG uses a Deflate compression layer. The fruit of these modifications was ZopfliPNG, which was admitted into Google's Zopfli
repository Repository may refer to: Archives and online databases * Content repository, a database with an associated set of data management tools, allowing application-independent access to the content * Disciplinary repository (or subject repository), an ...
in May 2013. The Zopfli algorithm has also been integrated into other PNG compression optimization tools like advpng (from the AdvanceCOMP utility suite) and OxiPNG.


See also

*
Brotli Brotli is a lossless data compression algorithm developed by Google. It uses a combination of the general-purpose LZ77 lossless compression algorithm, Huffman coding and 2nd-order context modelling. Brotli is primarily used by web servers and ...
*
Guetzli Guetzli is a freely licensed JPEG encoder that Jyrki Alakujala, Robert Obryk, and Zoltán Szabadka have developed in Google's Zürich research branch. The encoder seeks to produce significantly smaller files than prior encoders at equivalent qu ...


References

{{reflist, 30em, refs= {{cite web, url=http://googledevelopers.blogspot.com/2013/02/compress-data-more-densely-with-zopfli.html , title=Compress data more densely with Zopfli - Google Developers Blog , publisher=Googledevelopers.blogspot.com , date=2013-02-28 , access-date=2013-05-01 {{cite web, url=https://github.com/google/zopfli , title=google/zopfli · GitHub , publisher=Github.com , access-date=2015-09-29 {{cite web, author=Alexander Neumann , url=http://www.heise.de/-1814414.html , title=Zopfli: Neue Kompressionsbibliothek von Google | heise Developer , publisher=
Heise.de Heise (officially ''Heise Gruppe'') is a German media conglomerate headquartered in Hanover. It was founded in 1949 by Heinz Heise and is still family-owned. Its core business is directory media as well as general-interest and specialist media ...
, language=de, access-date=2015-09-29
{{cite web, url=http://www.lifehacker.com.au/2013/03/a-look-at-zopfli-googles-open-source-compression-algorithm/ , title=A Look At Zopfli, Google's Open Source Compression Algorithm | Lifehacker Australia , publisher=Lifehacker.com.au , date=2013-03-03 , access-date=2015-09-29 {{cite web, url=http://deanhume.com/home/blogpost/improved-compression-ratios-using-zopfli/9125 , title=Improved Compression Ratios Using Zopfli , author=Dean Hume , date=2015-06-01 , access-date=2015-09-06 {{cite web, url=https://www.theregister.co.uk/2013/03/01/zopfli_compression/, title=Google open sources very slow compression algorithm, work=The Register, first=Simon , last=Sharwood, year=2013 {{cite web, url=https://plus.google.com/+IlyaGrigorik/posts/1sxencNkbNS , author=Ilya Grigorik , title=Google Fonts recently switched to using new Zopfli compression algorithm , publisher=Google+ , date=2014-01-09 , access-date=2015-06-06 {{cite web, url=http://www.thinkdigit.com/Internet/Zopfli-Googles-new-data-compression-algorithm_13707.html , title=Zopfli: Google's new data compression algorithm | Digit.in , publisher=Thinkdigit.com , date=2013-03-01 , access-date=2015-09-29 {{cite web, url=https://github.com/google/zopfli/releases/tag/zopfli-1.0.0 , title=Release Zopfli-1.0.0, date=2013-04-25, publisher=Github.com , access-date=2015-09-06 {{cite web, url=https://github.com/google/zopfli/commit/337d27f25ef15a6cf34fef2acd0613fddc411cb1 , title=ZopfliPNG : Google/zopfli@337d27f, publisher=Github.com , access-date=2015-09-29 {{cite web, author=Andrea Mazzoleni , url=http://advancemame.sourceforge.net/doc-advpng.html#3 , title=Advance Projects , publisher=Advancemame.sourceforge.net , access-date=2015-09-29 {{cite web, author=Josh Holmer, url=https://github.com/shssoichiro/oxipng, title=shssoichiro/oxipng - Github, access-date=2019-08-05


External links


Project page
on GitHub
online implementation

Google's Zopfli Compression Algorithm: Extract higher performance from your compressed files
– TechRepublic.com Lossless compression algorithms Free computer libraries