Zopfli - Zopfli

Archiv Zopfli
Původní autořiLode Vandevenne a Jyrki Alakuijala
První vydáníúnor 2013 (2013-02)
Stabilní uvolnění
1.0.3
Úložiště Upravte to na Wikidata
NapsánoC
Operační systémCross-platform
TypArchiv souborů, komprese dat
LicenceLicence Apache 2.0
webová stránkagithub.com/Google/ zopfli Upravte to na Wikidata

Zopfli je komprese dat software, do kterého kóduje data DEFLATE, gzip a zlib formáty.[1]Dosahuje vyšší komprese než jiné implementace DEFLATE / zlib, ale provedení komprese trvá mnohem déle.[2]Poprvé byl vydán v únoru 2013 společností Google jako svobodný software programovací knihovna pod Licence Apache, verze 2.0.[3]Název Zöpfli je Švýcarská němčina zdrobnělina z „Zopf ”, Neslazený typ Hefezopf.[4]

Vlastnosti a případ použití

Zopfli může vydávat buď nezpracovaný datový proud DEFLATE, nebo DEFLATE data zapouzdřená do formátů gzip nebo zlib. Může být nakonfigurován tak, aby prováděl více nebo méně iterací než výchozí 15, aby se čas zpracování vyměnil za účinnost komprese.

Ve výchozím nastavení je výstup Zopfli obvykle o 3–8% menší než maximální komprese zlib, ale trvá přibližně 80krát déle.[3][2] Rychlost dekomprese výstupu Zopfli versus výstup zlib je prakticky nedotčena.[5]

Díky své výrazně pomalejší rychlosti komprese je zopfli méně vhodný pro on-the-fly kompresi a obvykle se používá pro jednorázovou kompresi statického obsahu.[6][7] To obvykle platí pro web obsah, který je poskytován na základě DEFLATE HTTP komprese nebo webový obsah ve formátu souboru založeném na DEFLATE, jako je PNG nebo WOFF soubory písem.[8] Dalším případem použití jsou aktualizace nebo stahování softwaru se soubory softwarového balíčku, které mají a zip - formát založený na Balíčky aplikací pro Android (APK) nebo Archivy Java (JAR), zejména přes mobilní připojení.

Technologie

Vyšší hustoty dat je dosaženo použitím komplexnějších kompresních technik. Metoda je založena na iteračním modelování entropie a nejkratší hledání cesty Algoritmus pro nalezení cesty s nízkými bitovými náklady přes graf všech možných DEFLATE reprezentací nekomprimovaných dat.[9]

Implementace

Byla vydána referenční implementace od Google ve formě programovací knihovny napsané v C. Je k dispozici jako svobodný software podle podmínek verze 2.0 Licence Apache.[1]

A obal byl vytvořen pro PHP: php_zopfli.[10]

Implementace Zopfli v C# lze najít jako součást knihovny CompressSharper ZopfliDeflater.cs.[11]

Dějiny

Zopfli je založen na algoritmu od Jyrki Alakuijala. Referenční implementaci zopfli napsali zaměstnanci Google Jyrki Alakuijala a Lode Vandevenne. Poprvé byl vydán pro veřejnost v únoru 2013. Verze 1.0.0 byla vydána 25. dubna 2013.[12]Po několika úpravách Zopfli pro kompresi PNG se objevilo GitHub, ZopfliPNG se zavázala k referenční implementaci zopfli Google v květnu 2013.[13]

Optimalizace PNG

Ke kompresi lze použít Zopfliho algoritmus Přenosná síťová grafika (PNG) soubory, protože PNG používá kompresní vrstvu DEFLATE. K dispozici je nástroj pro optimalizaci PNG s názvem ZopfliPNG od autorů Zopfli. Algoritmus Zopfli byl také integrován do dalších nástrojů pro optimalizaci komprese PNG, jako je advpng z AdvanceCOMP sada nástrojů[14], a OxiPNG[15].

Viz také

Reference

  1. ^ A b „google / zopfli · GitHub“. Github.com. Citováno 2015-09-29.
  2. ^ A b „Pohled na Zopfli, algoritmus komprese otevřeného zdroje Google | Lifehacker Australia“. Lifehacker.com.au. 03.03.2013. Citováno 2015-09-29.
  3. ^ A b „Hustěji komprimujte data pomocí Zopfli - blog vývojářů Google“. Googledevelopers.blogspot.com. 2013-02-28. Citováno 2013-05-01.
  4. ^ Alexander Neumann. "Zopfli: Neue Kompressionsbibliothek von Google | heise Developer" (v němčině). Heise.de. Citováno 2015-09-29.
  5. ^ Alakuijala, Jyrki; Vandevenne, Lode. "Komprese dat pomocí Zopfli" (PDF). Citováno 2015-09-06.
  6. ^ Dean Hume (01.06.2015). "Vylepšené kompresní poměry pomocí Zopfli". Citováno 2015-09-06.
  7. ^ Sharwood, Simon (2013). „Google open source velmi pomalý kompresní algoritmus“. Registrace.
  8. ^ Ilya Grigorik (01.01.2014). „Fonty Google nedávno přešly na nový kompresní algoritmus Zopfli“. Google+. Citováno 2015-06-06.
  9. ^ „Zopfli: Nový algoritmus komprese dat Google | Digit.in“. Thinkdigit.com. 01.03.2013. Citováno 2015-09-29.
  10. ^ „clickalicious / php_zopfli · GitHub“. Github.com. 03.03.2015. Citováno 2015-09-29.
  11. ^ "CompressSharper - zdrojový kód". Compresssharper.codeplex.com. 21. 8. 2015. Citováno 2015-09-29.
  12. ^ „Release Zopfli-1.0.0“. Github.com. 2013-04-25. Citováno 2015-09-06.
  13. ^ „ZopfliPNG: Google / zopfli @ 337d27f“. Github.com. Citováno 2015-09-29.
  14. ^ Andrea Mazzoleni. „Předběžné projekty“. Advancemame.sourceforge.net. Citováno 2015-09-29.
  15. ^ Josh Holmer. "shssoichiro / oxipng - Github". Citováno 2019-08-05.

externí odkazy