stringtranslate.com

Zopfli

Zopfli es una biblioteca de compresión de datos que realiza la codificación de datos Deflate , gzip y zlib . [2] Logra índices de compresión más altos que las implementaciones convencionales de Deflate y zlib, pero a costa de ser más lenta. [3] Google lanzó Zopfli por primera vez en febrero de 2013 bajo los términos de la Licencia Apache 2.0 . [4]

El nombre Zöpfli es el diminutivo suizo alemán de “ Zopf ”, un tipo de Hefezopf sin azúcar . [5]

Operación

Zopfli puede generar un flujo de datos Deflate sin procesar o encapsularlo en formatos gzip o zlib. Zopfli logra una mayor densidad de datos mediante técnicas de compresión más exhaustivas. El método se basa en la iteración de modelos de entropía y un algoritmo de búsqueda de ruta más corta para encontrar una ruta de bajo costo de bits a través del gráfico de todas las posibles representaciones Deflate de los datos sin comprimir. [6] De forma predeterminada, Zopfli realiza 15 iteraciones, pero se puede configurar para realizar más o menos. Con la configuración predeterminada, la salida de Zopfli suele ser entre un 3 y un 8 % más pequeña que la compresión máxima de zlib, pero tarda unas 80 veces más. [4] [3]

Debido a su velocidad de compresión significativamente más lenta, Zopfli no es adecuado para la compresión sobre la marcha. Por lo general, se utiliza para la compresión única de contenido estático. [7] [8] Esto suele ser cierto para el contenido web que se sirve con compresión HTTP basada en Deflate o el contenido web en un formato de archivo basado en Deflate, como los archivos de fuentes PNG o WOFF . [9] Otro caso de uso son las actualizaciones o descargas de software con archivos de paquetes de software que tienen un formato basado en zip , como los paquetes de aplicaciones de Android (APK) o los archivos Java (JAR), especialmente a través de conexiones móviles. [10]

Historia

Zopfli se basa en un algoritmo de Jyrki Alakuijala. [11] La primera implementación de referencia de Zopfli, de Jyrki Alakuijala y Lode Vandevenne, apareció en febrero de 2013. La versión 1.0.0 se lanzó el 25 de abril de 2013. [12] La implementación de referencia es una biblioteca de software bajo los términos de la Licencia Apache 2.0 , escrita en C. [2 ]

Desde entonces, la comunidad de código abierto ha intentado modificar Zopfli para optimizar los archivos Portable Network Graphics (PNG), ya que PNG utiliza una capa de compresión Deflate. El fruto de estas modificaciones fue ZopfliPNG, que fue admitido en el repositorio Zopfli de Google en mayo de 2013. [13] El algoritmo Zopfli también se ha integrado en otras herramientas de optimización de compresión PNG como advpng (de la suite de utilidades AdvanceCOMP) [14] y OxiPNG. [15]

Véase también

Referencias

  1. ^ "Versión 1.0.3". 27 de noviembre de 2019. Consultado el 28 de noviembre de 2019 .
  2. ^ ab "google/zopfli · GitHub". Github.com . Consultado el 29 de septiembre de 2015 .
  3. ^ ab "Una mirada a Zopfli, el algoritmo de compresión de código abierto de Google | Lifehacker Australia". Lifehacker.com.au. 2013-03-03 . Consultado el 2015-09-29 .
  4. ^ ab "Comprime los datos de forma más densa con Zopfli - Blog de desarrolladores de Google". Googledevelopers.blogspot.com. 28 de febrero de 2013. Consultado el 1 de mayo de 2013 .
  5. ^ Alexander Neumann (marzo de 2013). "Zopfli: Neue Kompressionsbibliothek von Google | heise Developer" (en alemán). Heise.de . Consultado el 29 de septiembre de 2015 .
  6. ^ "Zopfli: el nuevo algoritmo de compresión de datos de Google". Digit. 2013-03-01 . Consultado el 2015-09-29 .
  7. ^ Dean Hume (1 de junio de 2015). "Mejoras en las relaciones de compresión con Zopfli" . Consultado el 6 de septiembre de 2015 .
  8. ^ Sharwood, Simon (2013). "Google publica en código abierto un algoritmo de compresión muy lento". The Register .
  9. ^ Ilya Grigorik (9 de enero de 2014). "Google Fonts ha cambiado recientemente a un nuevo algoritmo de compresión, Zopfli". Google+ . Consultado el 6 de junio de 2015 .
  10. ^ Sanders, James. "Algoritmo de compresión Zopfli de Google: obtenga un mayor rendimiento de sus archivos comprimidos". TechRepublic . Consultado el 31 de marzo de 2021 .
  11. ^ "zopfli/README en master · google/zopfli". GitHub .
  12. ^ "Lanzamiento de Zopfli-1.0.0". Github.com. 25 de abril de 2013. Consultado el 6 de septiembre de 2015 .
  13. ^ "ZopfliPNG : Google/zopfli@337d27f". Github.com . Consultado el 29 de septiembre de 2015 .
  14. ^ Andrea Mazzoleni. "Proyectos avanzados". Advancemame.sourceforge.net . Consultado el 29 de septiembre de 2015 .
  15. ^ Josh Holmer. "shssoichiro/oxipng - Github". GitHub . Consultado el 5 de agosto de 2019 .

Enlaces externos