Estudio comparativo

Estudio comparativo de WebP, JPEG y JPEG 2000, septiembre de 2010

Nota: Realizamos este estudio inicial con la primera versión de WebP que lanzamos, que usaba la biblioteca libvpx. Además, las imágenes de origen eran imágenes JPEG que rastreamos desde la Web. En función de los comentarios de la comunidad, realizamos un nuevo estudio con la versión 0.1.2 de libwebp, comenzando con imágenes sin pérdida (PNG) como fuente. El nuevo estudio reemplaza a este.

El equipo de WebP realizó un estudio comparativo de tres métodos de compresión de imágenes en un conjunto aleatorio de 1 millón de imágenes. Los objetivos del estudio eran medir la compresión que lograban esos métodos y analizar las compensaciones entre los tamaños de imagen y la compresión.

Se aplicaron tres métodos de compresión, WebP, JPEG 2000 y Re-JPEG, a las 900,000 imágenes JPEG contenidas en el conjunto de datos. Las imágenes JPEG se volvieron a comprimir con Re-JPEG para que cada una estuviera lo más cerca posible de un valor objetivo de relación señal a ruido (PSNR) máximo. El análisis del equipo se realizó en las imágenes después de que se comprimieron.

Además del estudio a gran escala, el equipo inspeccionó manualmente 100 imágenes al azar y descubrió que, en la mayoría de los casos, WebP proporciona una calidad visual aceptable.

Conclusiones

WebP logra una compresión general más alta que JPEG o JPEG 2000. Las ganancias en la reducción del tamaño de los archivos son particularmente altas para las imágenes más pequeñas, que son las más comunes que se encuentran en la Web.

Conjunto de datos

El conjunto de datos que se usó en el estudio fue una colección de 1 millón de imágenes muestreadas de forma aleatoria de un repositorio de imágenes rastreadas en la Web. En la siguiente tabla, se muestra la distribución de los diferentes tipos de imágenes en el conjunto de datos.

Tipo Recuento
JPEG ~900,000
PNG ~47,000
GIF ~47,000
Otro ~6,000

Diseño del experimento

Los experimentos se ejecutaron en dos etapas:

  1. El equipo ejecutó WebP en las imágenes con un PSNR objetivo de 42. Ajustaron el parámetro de calidad (QP) del codificador WebP hasta obtener un resultado lo más cercano posible a 42 para una imagen determinada. Por lo tanto, el PSNR real que se logró para cada imagen no fue necesariamente de 42.

  2. El equipo usó el valor de PSNR de las imágenes comprimidas en WebP como el PSNR objetivo para las imágenes JPEG 2000 y Re-JPEG. También realizaron una búsqueda de líneas en los parámetros de calidad de las imágenes JPEG 2000 y JPEG para acercarse lo más posible al PSNR objetivo.

El resultado real de la compresión se midió como un porcentaje con la siguiente fórmula:

compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length

Resultados

Las pruebas arrojaron los siguientes resultados para la ganancia de compresión negativa y no negativa:

Ganancia de compresión no negativa

El equipo no penalizó un método si aumentaba el tamaño de la imagen después de la compresión. Es decir, el valor de compression_percentage se consideró 0 cuando compressed_image.length era mayor que original_image.length.

Ganancia de compresión negativa

El equipo permitió resultados de porcentaje de compresión negativos para comprender mejor el rendimiento sin procesar de los distintos compresores.

A continuación, se muestran los porcentajes de compresión promedio que se lograron con cada uno de los tres métodos.

Tipo PSNR promedio obtenido Porcentaje de compresión promedio
(ganancia de compresión no negativa)
Porcentaje de compresión promedio
(ganancia de compresión negativa)
WebP 39.38 41.30 39.80
JPEG 2000 39.49 27.67 9.71
Re-JPEG 39.36 22.37 14.62

Cuando se permitió la ganancia de compresión negativa, el rendimiento promedio de JPEG 2000 fue menor que el de JPEG. Esto puede deberse a artefactos de alta frecuencia presentes en las imágenes JPEG, que pueden contribuir a una situación de compresión poco ideal.

La implementación de Kakadu que se usó en el experimento para convertir a JPEG 2000 no pudo convertir aproximadamente 240,000 imágenes.

JPEG 2000 tuvo porcentajes de compresión más bajos que Re-JPEG, principalmente porque el resultado de JPEG 2000 fue una compresión negativa para muchas imágenes. Por esa razón, las imágenes JPEG obtuvieron una puntuación de compresión general más baja.

En las siguientes figuras, se proporcionan gráficos de distribución para los tres métodos:

Figura 1: Distribución de la población de tamaño de imagen

El gráfico muestra que la mayoría de las imágenes eran pequeñas. La frecuencia de las imágenes con un tamaño superior a 500,000 suele ser inferior a 100.

Figura 2: Porcentajes de compresión de imágenes WebP, JPEG y JPEG 2000

Este gráfico demuestra que el cuerpo de las imágenes comprimidas con WebP obtuvo una mejor compresión que re-jpeg y jpeg 2000. Además, las imágenes comprimidas con WebP obtuvieron una compresión más positiva que las otras.

Figura 3: Comparación de los tamaños de imagen y el porcentaje de compresión

Este gráfico muestra que WebP logra una mejor compresión que los otros formatos, en particular para imágenes más pequeñas.