22 noviembre, 2024

Netflix quiere matar a JPG: así utilizará el formato AVIF para gastar menos datos

Netflix juega un importante papel en la industria audiovisual. Su apuesta por el 4K y HDR en su contenido original ha obligado a fabricantes de cámaras de cine como ARRI a ponerse al día y lanzar cámaras que graben de manera nativa en resoluciones al menos de 4K. Su apuesta por los nuevos formatos puede dar pie también a que se extienda su uso, tal y como quieren hacer con AV1 y AVIF, su equivalente en imágenes.

La semana pasada, Netflix anunció que iba a empezar a ofrecer vídeo en formato AV1 en móviles que tengan activado el ahorro de datos. Este nuevo formato es un 20% más eficiente que HEVC, y tiene la ventaja de que es abierto y no requiere licencia, ya que ha sido desarrollado por la AOMedia, apoyada por Google, Microsoft, Apple o la propia Netflix.

netflix compresion avif

Ahora, quieren ir un paso más allá y no sólo empezar a sustituir otros códecs antiguos de vídeo, sino también quieren ir a por la fotografía, ya que la compañía también almacena muchas de ellas en su plataforma. Por ejemplo, hay muchas portadas para todo el contenido que ofrecen, y eso es una información que los usuarios descargan en dispositivos móviles donde el consumo de datos es muy importante.

Netflix está buscando cómo hacer que las portadas ocupen menos

Muchas de estas imágenes pueden haber sido obtenidas directamente del contenido, de fotografías hechas en el rodaje, o una combinación para crear portadas llamativas con gradientes, textos, gráficos, etc. Normalmente Netflix tiene en su base de datos la imagen original en alta calidad, pero dependiendo del dispositivo que la vaya a recibir, la calidad de las imágenes se reduce. Un móvil tiene que cargar decenas de portadas, y su compresión es importantísima.

El problema es que en esa compresión se pierde mucha información, como luminosidad o rango de colores. Por ejemplo, si se elege chroma subsampling 4:2:0 en lugar del 4:4:4 original, se reduce muchísimo la cantidad de colores disponible. Al cambiar a 4:2:0, los colores presentan unos dientes de sierra más definidos y se pierde definición en general en la imagen. A pesar de ello, en algunas imágenes no se nota la diferencia, y ofrece buena compresión, pero no todos los formatos lo soportan. WebP, por ejemplo, sí.

JPEG fue lanzado en 1992, y fue mejorado en el año 2000 con el formato JPEG 2000 que se usa en el cine. Google lanzó WebP en 2010 aprovechando la codificación de vídeo de VP8, permitiendo realizar compresión sin pérdida y mantener un canal Alpha sin pérdida, siendo una alternativa más eficiente y rápida incluso que PNG. Con HEVC también encontramos HEIF como formato de imagen, que mantiene la misma calidad que JPEG ocupando la mitad, similar a lo que hace AV1 con AVIF. El comité de JPEG, sin embargo, quiere apostar por JPEG XL, que es retrocompatible y más eficiente.

La existencia de HEIF y AVIF demuestra que los nuevos algoritmos de vídeo pueden usarse para comprimir imágenes con una eficiencia nunca vista hasta ahora. Con HEIF es posible comprimir desde cualquier codec, es posible usar modos de compresión con y sin pérdidas, es posible usar varios bits de profundidad (JPEG está limitado a 8), y es compatible con subsampling. Incluso permite imágenes animadas como el formato GIF, pero muchísimo más eficientemente. También guarda metadatos como la información del color y del HDR presente en esa imagen.

Así de bien comprime AVIF

AVIF hace lo mismo, y ofrece una excelente calidad. Para demostrarlo, Netflix ha realizado varias pruebas en las que ha comparado una imagen original de Kodak y la ha comprimido en JPEG y en AVIF en 4:4:4 con un factor de compresión de 59 veces, con tamaños finales de 20,429 bytes y 19,788 bytes, respectivamente. En el caso de JPEG, hay una fortísima compresión que se nota en el cielo, mientras que AVIF mantiene mucha calidad.

También han probado con la siguiente imagen, la cual han comprimido con un factor de compresión de 282 veces, ocupando 13,939 bytes en JPEG y sólo 4,176 bytes en AVIF, y este último mantiene muy bien la calidad, y sobre todo el color.

En la portada de Las aventuras del Gato con Botas, tenemos un tamaño de 69,445 bytes en JPEG y 40,811 bytes en AVIF, donde vemos que JPEG destroza la imagen con un banding y un artifacting muy fuerte. En AVIF apenas se nota, y eso que ocupa 29 KB menos.

AVIF todavía está en fase temprana de desarrollo

La compañía da más ejemplos de lo bien que comprime AVIF, y de cómo este formato es capaz de almacenar más información por bit que cualquier otro formato con pérdidas. Sin embargo, todavía se encuentra en una fase muy temprana de desarrollo. Por ejemplo, todavía se está desarrollando una librería abierta llamada libavif para incluirlo en cualquier programa o sistema operativo y que sea capaz de codificar y descodificar imágenes en este formato.

Con esta librería se busca facilitar su integración, donde por ejemplo Chrome ya ha empezado a hacerlo. El equipo de dav1d está trabajando para que la decodificación sea lo más rápida y eficiente posible, ya que actualmente consume muchos recursos como comprobamos recientemente al utilizar este códec con YouTube en altas resoluciones.

Android ya soporta AV1 en vídeo, tal y como Netflix anunció la semana pasada, y próximamente afirman que empezarán a usar imágenes en HDR en su interfaz utilizando AVIF como formato, de manera que las portadas que veremos tendrán mucha más calidad frente a las que comprimen actualmente utilizando JPEG 2000; además de ocupar menos.