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 utilizaba 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, que comienza con imágenes sin pérdida (PNG) como fuente. El estudio nuevo sustituye a este estudio.

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 lograda por 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 incluidas 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 máximo objetivo de relación señal-ruido (PSNR). El análisis del equipo se llevó a cabo en las imágenes después de que se comprimieron.

Además del estudio a gran escala, el equipo inspeccionó manualmente 100 imágenes aleatorias 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 minimización del tamaño de archivo son particularmente altas para las imágenes más pequeñas, que son las más comunes en la Web.

Conjunto de datos

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

Tipo Recuento
JPEG ~900,000
PNG Aprox. 47,000
GIF Aprox. 47,000
Otra opción Aprox. 6,000

Diseño de experimentos

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 que lograron un resultado lo más cercano a 42 que se pudo obtener para una imagen determinada. Por lo tanto, el PSNR real alcanzado para cada imagen no fue necesariamente 42.

  2. El equipo usó el valor de PSNR para las imágenes comprimidas en WebP como el PSNR objetivo de las imágenes JPEG 2000 y Re-JPEG. También realizaron una búsqueda de líneas sobre 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 mediante 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 por compresión no negativa

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

Ganancia por compresión negativa

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

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

Tipo PSNR promedio obtenido % de compresión promedio
(ganancia de compresión no negativa)
% de compresión promedio
(ganancia de compresión negativa)
WebP 39,38 41.30 39,80
JPEG 2000 39,49 27.67 9.71
Volver a JPEG 39,36 22.37 14.62

Cuando se permitió la ganancia de compresión negativa, el rendimiento promedio de JPEG 2000 era menor que el de JPEG 2000. 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 conveniente.

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 tenía porcentajes de compresión más bajos que Re-JPEG, principalmente porque el resultado del archivo JPEG 2000 era una compresión negativa para muchas imágenes. Por ese motivo, las imágenes JPEG lograron 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 del tamaño de la 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 500K suele ser inferior a 100.

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

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

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

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