Zopfli - Zopfli

Archivo Zopfli
ZopfliPNG screenshot.png
Autor (es) original (es) Lode Vandevenne y Jyrki Alakuijala
Versión inicial febrero de 2013 ( 2013-02 )
Lanzamiento estable
1.0.3 / 27 de noviembre de 2019 ; Hace 21 meses ( 27 de noviembre de 2019 )
Repositorio
Escrito en C
Sistema operativo Multiplataforma
Escribe Archivo de archivos , compresión de datos
Licencia Licencia Apache 2.0
Sitio web github .com / google / zopfli Edita esto en Wikidata

Zopfli es un software de compresión de datos que codifica datos en formatos DEFLATE , gzip y zlib . Alcanza una compresión más alta que otras implementaciones DEFLATE / zlib, pero lleva mucho más tiempo realizar la compresión. Fue lanzado por primera vez en febrero de 2013 por Google como una biblioteca de programación de software libre bajo la licencia Apache, versión 2.0 . El nombre Zöpfli es el diminutivo suizo alemán de " Zopf ", un tipo de Hefezopf sin azúcar .

Propiedades y caso de uso

Zopfli puede generar un flujo de datos DEFLATE sin procesar o datos DEFLATE encapsulados en formatos gzip o zlib. Se puede configurar para hacer más o menos iteraciones que las 15 predeterminadas para intercambiar el tiempo de procesamiento por la eficiencia de la compresión.

Con la configuración predeterminada, la salida de Zopfli suele ser un 3–8% más pequeña que la compresión máxima de zlib, pero tarda unas 80 veces más. La velocidad de descompresión de la salida de Zopfli frente a la salida de zlib prácticamente no se ve afectada.

Debido a su velocidad de compresión significativamente más lenta, zopfli es menos adecuado para la compresión sobre la marcha y generalmente se usa para la compresión única de contenido estático. Esto suele ser cierto para el contenido web que se sirve con compresión HTTP basada en DEFLATE o contenido web en un formato de archivo basado en DEFLATE, como archivos de fuentes PNG o WOFF . Otro caso de uso son las actualizaciones o descargas de software con archivos de paquetes de software que tienen un formato zip , como los paquetes de aplicaciones de Android (APK) o Java Archives (JAR), especialmente a través de conexiones móviles.

Tecnología

La mayor densidad de datos se logra mediante el uso de técnicas de compresión más exhaustivas. El método se basa en el modelado de entropía iterativa 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.

Implementaciones

Una implementación de referencia de Google fue lanzado en forma de una biblioteca de programación escrito en C . Está disponible como software gratuito según los términos de la versión 2.0 de la licencia Apache .

Zopfli también se puede utilizar desde otros lenguajes de programación, mediante reimplementaciones o envoltorios nativos .

Una selección de implementaciones alternativas
Nombre Lenguaje de implementación Tipo de implementación
CompressSharper C# Nativo
php_zopfli PHP Envoltura
Zopfli en Rust Oxido Nativo

Historia

Zopfli se basa en un algoritmo de Jyrki Alakuijala. Los empleados de Google Jyrki Alakuijala y Lode Vandevenne escribieron una implementación de referencia de zopfli. Se lanzó por primera vez al público en febrero de 2013. La versión 1.0.0 se lanzó el 25 de abril de 2013. Después de que aparecieran varias adaptaciones de Zopfli para la compresión PNG en GitHub , ZopfliPNG se comprometió con la implementación de referencia zopfli de Google en mayo de 2013.

Optimización PNG

El algoritmo de Zopfli se puede utilizar para comprimir archivos PNG ( Portable Network Graphics ) porque PNG utiliza una capa de compresión DEFLATE. Existe una herramienta de optimización PNG llamada ZopfliPNG de los autores de Zopfli. El algoritmo Zopfli también se ha integrado en otras herramientas de optimización de compresión PNG como advpng del paquete de utilidades AdvanceCOMP y OxiPNG .

Ver también

Referencias

enlaces externos