Recompresión sin pérdida de GIF mediante búsqueda exhaustiva: nace ZGIF

Fuentes: Lossless GIF recompression via exhaustive search

El formato GIF, el más antiguo de los formatos de imagen comprimidos de uso extendido, sigue siendo imprescindible como recurso de respaldo en navegadores muy antiguos, desde NCSA Mosaic hasta Dillo o Konqueror. Sin embargo, su compresión LZW es poco eficiente comparada con las alternativas modernas como SVG y WebP. El artículo repasa las técnicas clásicas de optimización (eliminación de metadatos, reducción de paleta) y presenta ZopfliPNG, que realiza una búsqueda exhaustiva sobre las variantes sintácticamente válidas de DEFLATE para obtener ficheros más pequeños sin perder compatibilidad.

La pregunta central es si se puede hacer algo equivalente con GIF y LZW. Existe flexiGIF, una herramienta que aplica análisis flexible con lookahead de un paso, pero su propio README advierte de que en ocasiones genera ficheros mayores que el algoritmo original. El texto explica de forma didáctica el funcionamiento de LZW: cada acción del flujo comprimido emite un byte o reutiliza una acción anterior añadiendo un byte extra, con una estrategia voraz que elige la coincidencia más larga. Mediante ejemplos concretos se muestra cómo decisiones vorazmente óptimas pueden desperdiciar entradas del diccionario y producir resultados subóptimos.

Frente a las limitaciones de flexiGIF, el autor anuncia ZGIF, su propia herramienta, que en lugar de quedarse en el lookahead de dos acciones plantea explorar exhaustivamente todas las particiones posibles del flujo para encontrar la codificación LZW mínima. El texto queda cortado justo cuando se pregunta cuán lento será comprobar todas las combinaciones, invitando a una segunda parte centrada en la implementación y los resultados de esta búsqueda exhaustiva para reducir el tamaño de los GIF sin alterar el formato.