JPEG XL y el frente de Pareto
- Lanzamiento de libjxl versión 0.10: Se lanzó una nueva versión de libjxl, la implementación de referencia de JPEG XL. La principal mejora de esta versión es la implementación completa de la API de "codificación en streaming".
- API de codificación en streaming: Permite codificar imágenes grandes en "fragmentos". En lugar de procesar toda la imagen de una sola vez, puede manejarse de una forma más amigable con la memoria.
Sin pérdida: grandes mejoras en uso de memoria y velocidad
- Mejoras frente a libjxl versión 0.9: En la versión anterior, la codificación JPEG XL sin pérdida consumía mucha memoria y tomaba bastante tiempo. Esto podía causar problemas graves al codificar imágenes grandes.
- Ejemplo de imagen nocturna de la Tierra de NASA: Para comprimir una imagen de 13500×6750, libjxl 0.9 requería alrededor de 8 GB de RAM y más de 2 minutos. Después de actualizar a libjxl 0.10, se puede comprimir con 0.7 GB de RAM en solo 30 segundos.
- Resultados con distintos ajustes de esfuerzo: Se ofrece una comparación de uso de memoria, tiempo y tamaño comprimido según varios ajustes de esfuerzo (e1~e9). A mayor ajuste de esfuerzo, la compresión mejora, pero de manera no lineal.
El frente de Pareto
- Comparación de tecnologías de compresión: No solo importa el tamaño del archivo comprimido, también la velocidad de codificación. Es necesario considerar dos dimensiones: densidad de compresión y velocidad de codificación.
- Óptimo de Pareto: Cuando no existe otro método que logre la misma densidad de compresión en menos tiempo. Un método óptimo de Pareto ofrece el archivo más pequeño para un presupuesto de tiempo dado.
- Visualización del frente de Pareto: Se visualiza con gráficos que muestran la velocidad de codificación y la densidad de compresión. Se comparan velocidad promedio y densidad de compresión usando distintos conjuntos de imágenes.
Imágenes no fotográficas
- Importancia de elegir las imágenes de prueba: Si la mayoría de las imágenes son fotografías, el ruido natural hace que la compresión sea más difícil.
- En el caso de las imágenes tipo cómic: Las imágenes no fotográficas se comprimen mucho mejor que las fotografías. Las imágenes de cómic pueden comprimirse hasta alrededor de 4 bpp.
- Mejoras de libjxl: La nueva versión de libjxl es mucho más rápida que la anterior y también ofrece mejor tasa de compresión.
Sobre la compresión con pérdida
- Benchmark de compresión con pérdida: Solo importan el tamaño comprimido y la velocidad. La calidad de imagen debe considerarse como una tercera dimensión.
- Rendimiento de códecs e implementaciones con pérdida: Pueden comportarse de manera diferente en distintos puntos de calidad. Un codificador que funciona bien en calidad alta no necesariamente funcionará bien también en calidad baja.
Frente de Pareto con pérdida
- Codificadores evaluados: Se probaron las versiones más recientes de varios codificadores, incluidos libjpeg-turbo, sjpeg, mozjpeg, jpegli, libavif / libaom, libjxl, libwebp y libheif.
- Calidad intermedia: Resultados con ajustes equivalentes a una puntuación SSIMULACRA2 de 60. Esto es especialmente relevante cuando reducir el peso de la página importa más que la fidelidad de la imagen.
- Calidad media-alta y alta: Resultados con ajustes equivalentes a puntuaciones SSIMULACRA2 de 70 y 85. En los puntos de alta calidad, JPEG XL ocupa principalmente el frente de Pareto.
Conclusión
- Mejoras en libjxl versión 0.10: El consumo de memoria se redujo considerablemente y mejoró la velocidad de la codificación sin pérdida, especialmente en multihilo.
- Posicionamiento de JPEG XL: Se confirma como óptimo de Pareto en varios ajustes de velocidad, desde alta calidad hasta calidad visualmente sin pérdida.
- El atractivo continuo de JPEG: El nuevo codificador jpegli aporta mejoras en velocidad y compresión. Puede seguir siendo la mejor opción cuando se necesita una codificación extremadamente rápida.
- Contribución de Cloudinary: Participa activamente en ofrecer la mejor experiencia de usuario mediante la aplicación de tecnología de punta e insights en el campo de la compresión de imágenes.
Opinión de GN⁺
- El lanzamiento de libjxl 0.10 representa un avance importante en la tecnología de compresión de imágenes. En particular, la gran mejora en uso de memoria y velocidad de codificación al procesar imágenes grandes ofrecerá beneficios importantes a los usuarios.
- Destacar que JPEG XL es óptimo de Pareto en distintas calidades y velocidades es útil porque ayuda a los usuarios a encontrar el mejor equilibrio entre calidad de imagen y tamaño de archivo.
- Desde una perspectiva crítica, la adopción de nuevas tecnologías como libjxl puede generar problemas de compatibilidad con la infraestructura existente. Por ello, se necesita una incorporación gradual que considere la integración con los sistemas actuales.
- Al elegir una tecnología de compresión de imágenes, hay que considerar varios factores, como la velocidad de codificación y decodificación, el tamaño del archivo y las plataformas y dispositivos compatibles. JPEG XL es una opción atractiva para compresión de imágenes de alta calidad, pero no cuenta con soporte amplio en todos los usuarios y sistemas.
- Los beneficios de adoptar esta tecnología incluyen menor uso de memoria, mayor velocidad de codificación y reducción del tamaño de archivo; los costos pueden ser problemas de compatibilidad con sistemas existentes y la curva de aprendizaje de una tecnología nueva.
2 comentarios
Parece que el codificador jpegli está volviendo a alargarle la vida al JPG, después de mozjpeg...
Aunque fue creado por el bando de JXL, irónicamente podría terminar frenando la adopción de JXL...
Comentarios de Hacker News
El rendimiento de compresión sin pérdida del formato WebP es excelente
Evaluación de la capacidad de JPEG para preservar detalles en configuraciones de baja calidad
Dificultad de los usuarios para encontrar información detallada sobre el formato JPEG XL
Dudas sobre un artículo centrado en la velocidad de codificación
Evaluación de la calidad y la capacidad de compresión de JPEG XL
Nueva biblioteca de procesamiento en paralelo desarrollada gracias al proyecto JPEG XL
Reacción a la inclusión del formato QOI
La nueva versión de libjxl reduce significativamente el consumo de memoria
Ventajas de recomprimir archivos JPEG antiguos con JPEG XL
Mención de posibles ahorros adicionales con AVIF sin pérdida