Guetzli es un codificador JPEG con licencia gratuita que Jyrki Alakuijala, Robert Obryk y Zoltán Szabadka han desarrollado en la rama de investigación de Google en Zúrich . El codificador busca producir archivos significativamente más pequeños que los codificadores anteriores con una calidad equivalente, aunque a una velocidad muy baja. Debe su nombre al diminutivo suizo alemán de galletas , [1] en línea con los nombres de otras tecnologías de compresión de Google. [2] [3]
Guetzli optimiza el paso de cuantificación de la codificación para lograr eficiencia de compresión. Construye tablas de cuantificación personalizadas para cada archivo, decide el submuestreo de color , [4] y cuantifica los coeficientes DCT adyacentes a cero, equilibrando los beneficios en la codificación de los coeficientes a lo largo de la ejecución y la preservación de la fidelidad de la imagen percibida. Poner a cero los coeficientes correctos es la herramienta más eficaz en Guetzli, que se utiliza como un medio improvisado de cuantificación espacialmente adaptable. Guetzli utiliza Butteraugli (otro proyecto de código abierto de Google) para guiar la compresión. [5]
Guetzli consume muchos recursos y requiere mucho más tiempo de procesamiento y memoria de acceso aleatorio que otros codificadores JPEG. [6] Guetzli solo admite la parte superior del rango de calidad de JPEG (configuraciones del cuantificador 84–100) [7] [8] y solo admite codificación secuencial (no "progresiva"). Guetzli es más eficaz con archivos más grandes. [8] Google dice que es una demostración del potencial de las optimizaciones psicovisuales, destinada a motivar más investigaciones sobre futuros codificadores JPEG. [2] Dos pruebas encontraron que Guetzli es muy lento (aproximadamente 4 magnitudes más lento que el codificador JPEG normal) y no necesariamente mejor que mozjpeg . [7] [9]
Butteraugli es un proyecto que estima la similitud psicovisual de dos imágenes. Asigna un valor de puntuación de opinión media diferencial (DMOS) a la diferencia entre una imagen original y una versión degradada. Es significativamente más complejo que las métricas tradicionales como PSNR y SSIM , pero afirma funcionar mejor con calidad de alta gama, donde las degradaciones son apenas perceptibles o casi no se notan. [10] Modela la percepción del color y el enmascaramiento visual en el sistema visual humano, teniendo en cuenta que el ojo visualiza diferentes colores con diferente precisión. [11] Utiliza un mapa de calor de cambios. [5] Sigue sin explicarse cómo se derivaron los cientos de parámetros que modelan las propiedades del sistema visual humano. [1] Una evaluación de desempeño interna con 614 calificaciones de 23 personas en su propio conjunto de prueba de 31 imágenes arrojó que el 75% de las calificaciones favorecían los archivos JPEG codificados para puntuaciones Butteraugli sobre las codificaciones libjpeg -turbo, [12] que generalmente obtienen puntuaciones más altas en SSIM. y PSNR-HVS-M. [13] [14]
El nombre suizo-alemán, que se traduce como "ojo de mantequilla", originalmente significa un hoyuelo en la parte superior de una masa dulce que se ha rellenado con mantequilla y azúcar antes de hornearla. [15]
Guetzli es una aplicación de línea de comandos . Escrito en C++ , [16] es gratuito y de código abierto según los términos de la licencia Apache 2.0 . Las versiones de Guetzli para Windows , macOS y Linux están disponibles directamente desde el repositorio de Google en GitHub . La primera versión pública se lanzó el 21 de octubre de 2016, sin optimizaciones de velocidad [17] y solo se anunció en un foro especializado. [18] [13] La versión 1.0 siguió cinco meses después, el 15 de marzo de 2017, [19] acompañada de un anuncio a un público más amplio y dos artículos científicos. [20] [12] [21]
Además del canal de lanzamiento oficial, openSUSE y Debian lo distribuyen a través de sus repositorios de software oficiales . [22] [23] [24] (Para Arch Linux , hay repositorios de usuarios disponibles). [25] [26] El repositorio Homebrew distribuye una versión de macOS. [17] Para la plataforma Windows, hay disponibles dos interfaces GUI de código abierto. [27] [28]
Los desarrolladores de software que utilizan Node.js pueden integrar Guetzli en sus aplicaciones a través de un paquete disponible en el repositorio npm . [29]
{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )