El códec Aomedia Video 1, o AV1, está comenzando a llegar a las manos del consumidor. A principios de año, Netflix llegó a los titulares cuando dijo que había comenzado a transmitir AV1 a algunos espectadores de Android. Más recientemente, Google ha dicho que traerá el códec AV1 a su aplicación de video chat Duo, y MediaTek ha anunciado que habilitará las transmisiones de video AV1 YouTube en su SoC Dimensity 1000 5G. Entonces, ¿por qué tanto alboroto? ¿Qué es el códec AV1? ¿Por qué es importante? Aquí hay un vistazo rápido a AV1 y lo que significa para la transmisión de video en los últimos 5 años.

AV1 es libre de regalías y de código abierto

Inventar tecnología, diseñar componentes e investigar son caros. Ingenieros, materiales, edificios cuestan dinero. Para una empresa “tradicional”, el retorno de la inversión proviene de las ventas. Si diseñas un nuevo gadget y se vende por millones, entonces obtienes el dinero que inicialmente se gastó. Eso es cierto para los productos físicos, como los teléfonos inteligentes, pero también es cierto para el desarrollo de software.

Una compañía de juegos gasta dinero desarrollando un juego, pagando a los ingenieros y los artistas en el camino, y luego vende el juego. Es posible que ni siquiera exista físicamente en un cartucho de DVD / ROM / lo que sea, podría ser una descarga digital. Sin embargo, las ventas pagan por su desarrollo. Pero, ¿qué sucede si diseñas un nuevo algoritmo o técnica para hacer algo, por ejemplo, para comprimir video? No puede ofrecer un algoritmo como descarga digital, no lo comprarán los consumidores, sino los fabricantes de productos que quieran incluir el algoritmo en teléfonos inteligentes, tabletas, computadoras portátiles, televisores, etc.

Netflix apareció en los titulares cuando dijo que había comenzado a transmitir AV1 a algunos espectadores de Android.

Si el inventor de un algoritmo puede vender la técnica a terceros, entonces una de las opciones comerciales es cobrar una pequeña tarifa, un cambio de regalías, por cada dispositivo que se envíe con el algoritmo. Todo esto parece justo y equitativo. Sin embargo, el sistema está abierto al abuso. Desde renegociaciones hostiles sobre las tarifas, hasta trolls de patentes, hasta demandas de un millón de dólares, la historia de las empresas basadas en regalías es larga y está llena de ganancias y pérdidas inesperadas, tanto para los “malos” como para los “buenos”.

Una vez que una tecnología se generaliza, sucede algo extraño: los productos no se pueden construir sin ella, pero no se pueden construir con ella, a menos que se negocien las tarifas. Antes de que un producto supere la concepción inicial, ya está cargado con la posibilidad de cobrar regalías. Es como tratar de cobrarle a un fabricante de productos por construir un dispositivo que usa electricidad, no la cantidad de electricidad utilizada, sino solo el hecho de que usa electricidad.

La reacción en contra de esto es buscar y desarrollar tecnología que esté libre de pagos de regalías y de las cadenas de patentes. Este es el objetivo del códec AV1.

Muchas de las tecnologías de transmisión de video líderes y ubicuas actuales no están libres de regalías. Video MPEG-2 (usado en DVD, TV satelital, TV de transmisión digital y más), H.264 / AVC (usado en discos Blu-ray y muchos servicios de transmisión por Internet) y H.265 / HEVC (el códec recomendado para 8K TV) están cargados de derechos de autor y patentes. Algunas veces las tarifas no se aplican, otras no. ¡Por ejemplo, Panasonic tiene más de 1,000 patentes relacionadas con H.264, y Samsung tiene más de 4,000 patentes relacionadas con H.265!

El códec AV1 está diseñado para estar libre de regalías. Tiene muchos nombres importantes que lo respaldan, lo que significa que un desafío legal contra los fondos combinados de patentes y el músculo financiero de Google, Adobe, Microsoft, Facebook, Netflix, Amazon y Cisco sería inútil. Sin embargo, eso no ha impedido que algunos trolls de patentes, como Sisvel, hagan sonar sus cadenas. Hasta la fecha, nada ha ido a los tribunales, pero los trolls de patentes no se rinden fácilmente.

AV1 es 30% mejor que H.265

Además de ser libre de regalías y de código abierto, AV1 necesita ofrecer ventajas sobre las tecnologías ya establecidas. Aomedia (los guardianes del códec AV1) afirman que ofrece una compresión 30% mejor que H.265. Eso significa que usa menos datos y ofrece la misma calidad para video 4K UHD.

Hay dos métricas importantes para cualquier códec de video. La tasa de bits (es decir, el tamaño) y la calidad. Cuanto mayor sea la tasa de bits, mayores serán los archivos codificados. Cuanto más grandes sean los archivos codificados, mayor será la cantidad de datos que deben transmitirse. A medida que cambia la tasa de bits, también lo hace la calidad. En términos simples, si hay menos datos, la fidelidad y la precisión del material fuente original disminuirán. Cuantos más datos, mejores posibilidades de representar el original.

Los códecs de video como AV1 (y H.264 / H.265) usan compresión con pérdida. Eso significa que la versión codificada no es la misma (píxel por píxel) que la original. El truco consiste en codificar el video de tal manera que las pérdidas sean imperceptibles para el ojo humano. Hay muchas técnicas para hacer esto y es un tema complejo. Tres de las técnicas principales son usar cambios de cuadro incrementales, cuantización y vectores de movimiento.

AV1 está diseñado para ser libre de regalías.

El primero es una simple victoria en términos de compresión, en lugar de enviar un fotograma completo de video 30 veces por segundo (para un video de 30 fps), ¿por qué no simplemente enviar los cambios de un fotograma a otro? Si la escena es de dos personas lanzando una pelota, entonces los cambios serán la pelota y las personas. El resto de la escena permanecerá relativamente estática. El codificador de video solo necesita preocuparse por la diferencia, un conjunto de datos mucho más pequeño. Cada vez que la escena cambia, o a intervalos regulares forzados, se debe incluir un cuadro completo (un fotograma clave) y luego se rastrean las diferencias desde el último cuadro completo.

Cuando toma una foto en su teléfono inteligente, es probable que se guarde en formato JPEG (un archivo .jpg). JPEG es un formato de compresión de imagen con pérdida. Funciona utilizando una técnica llamada cuantización. La idea básica es esta, un segmento dado de una foto (8 × 8 píxeles) puede representarse mediante una secuencia fija de patrones sombreados (uno para cada canal de color) superpuestos. Estos patrones se generan utilizando una Transformada discreta de coseno (DCT). Usando 64 de estos patrones, se puede representar un bloque de 8 × 8 al decidir cuánto de cada patrón se necesita para obtener una aproximación del bloque original. Resulta que tal vez solo se necesita el 20% de los patrones para obtener una imitación convincente del bloque original. Esto significa que, en lugar de almacenar 64 números (uno por píxel), la imagen con compresión con pérdida solo puede necesitar 12 números. 64 a 12, por canal de color, es un gran ahorro.

Ejemplo de los patrones discretos de coseno utilizados para la compresión con pérdida

El número de patrones sombreados, las transformaciones necesitan generarlos, la ponderación dada a cada patrón, la cantidad de redondeo que se realiza, son todos variables y alteran la calidad y el tamaño de la imagen. JPEG tiene un conjunto de reglas, H.264 otro conjunto, AV1 otro conjunto, etc. Pero la idea básica es la misma. El resultado es que cada cuadro en el video es, de hecho, una representación con pérdida del cuadro original. Comprimido y más pequeño que el original.

En tercer lugar, hay seguimiento de movimiento. Si volvemos a nuestra escena de dos personas lanzando una pelota, entonces la pelota viaja a través de la escena. Para algunos de sus viajes, se verá exactamente igual, por lo que en lugar de enviar los mismos datos nuevamente sobre la pelota, sería mejor tener en cuenta que el bloque con la pelota tiene un poco de movimiento. Los vectores de movimiento pueden ser complejos y encontrar esos vectores y trazar las pistas puede llevar mucho tiempo durante la codificación, pero no durante la decodificación.

Se trata de los bits

La batalla suprema para un codificador de video es mantener la tasa de bits baja y la calidad alta. A medida que la codificación de video ha progresado a lo largo de los años, el objetivo de cada generación sucesiva era disminuir la tasa de bits y mantener el mismo nivel de calidad. Al mismo tiempo, también ha habido un aumento en las resoluciones de pantalla que los consumidores pueden. DVD (NTSC) era 480p, Blu-ray era 1080p y hoy tenemos servicios de transmisión de video 4K y estamos reduciendo la velocidad a 8K. Una resolución de pantalla alta también significa más píxeles para representar, lo que significa que se necesitan más datos para cada fotograma.

La “tasa de bits” es la cantidad de 1 y 0 que utiliza el códec de video por segundo. Como punto de partida, una regla general, cuanto mayor sea la tasa de bits, mejor será la calidad. La tasa de bits que “necesita” para una buena calidad depende del códec. Pero si utiliza una tasa de bits baja, la calidad de la imagen puede desintegrarse rápidamente.

Cuando se almacenan los archivos (en un disco DVD, disco Blu-ray o en un disco duro), la tasa de bits determina el tamaño del archivo. Para simplificar las cosas, ignoraremos cualquier pista de audio y cualquier información incrustada dentro de una transmisión de video. Si un DVD tiene aproximadamente 4.7GB y desea almacenar una película de 2 horas (120 minutos o 7200 segundos), la tasa de bits máxima posible sería de 5200 kilobits por segundo o 5.2Mbps.

Si necesita una actualización de megabits vs megabytes, entonces tengo un video sobre esto: Megabits por segundo (Mb / s) vs Megabytes por segundo (MB / s).

En comparación, un videoclip 4K sacado directamente de mi teléfono inteligente Android (en H.264) usó 42Mbps, alrededor de 8 veces más, pero mientras grababa a una resolución con alrededor de 25x tantos píxeles por cuadro. Simplemente mirando esos números muy aproximados, podemos ver que H.264 ofrece al menos 3 veces mejor compresión que MPEG-2 Video. El mismo archivo codificado en H.265 o AV1 usaría aproximadamente unos 20 Mbps, lo que significa que tanto H.265 como el códec AV1 ofrecen el doble de compresión que H.264.

La batalla suprema para un codificador de video es mantener la tasa de bits baja y la calidad alta.

Estas son estimaciones muy aproximadas sobre las relaciones de compresión disponibles porque los números que he dado implican una tasa de bits constante. Sin embargo, algunos códecs permiten que los videos se codifiquen en una tasa de bits variable gobernada por una configuración de calidad. Esto significa que la tasa de bits cambia momento a momento, con una tasa de bits máxima predefinida utilizada cuando las escenas son complejas y tasas de bits más bajas cuando las cosas están menos abarrotadas. Es entonces esta configuración de calidad la que determina la tasa de bits general.

Hay varias formas de medir la calidad. Puede ver la relación pico de señal a ruido, así como otras estadísticas. Además, puedes ver la calidad perceptiva. Si 20 personas tienen los mismos videoclips de diferentes codificadores, ¿cuáles se clasificarán mejor para la calidad?

Aquí es de donde provienen las afirmaciones de compresión 30% mejores. Según diferentes partes de la investigación, una transmisión de video codificada en AV1 puede usar una tasa de bits más baja (en un 30%) mientras logra el mismo nivel de calidad. Desde un punto de vista personal y subjetivo que es difícil de verificar e igualmente difícil de disputar.

Arriba hay un montaje de un solo cuadro del mismo video, codificado en 3 formas diferentes. La esquina superior izquierda es el video original. Junto a la derecha está el códec AV1, con H.264 debajo y H.265 debajo de la fuente original. La fuente original era 4K. Este es un método menos que perfecto para visualizar las diferencias, pero debería ayudar a ilustrar el punto.

Debido a la reducción de la resolución general (esta es una imagen de 1920 x 1080), me resulta difícil detectar una gran diferencia entre las cuatro imágenes, especialmente sin espiar píxeles. Aquí está el mismo tipo de montaje pero con la imagen ampliada, por lo que podemos mirar un poco los píxeles.

Aquí hay una comparación lado a lado del cuadro HEVC / H.265 con el cuadro AV1. Ejemplo de HEVC H.265 a 22mbps Ejemplo de AV1 a 22mbps

Aquí puedo ver que el video fuente original probablemente tenga la mejor calidad, y el H.264 el peor (relativo) al original. Me gustaría declarar un ganador entre H.265 y AV1. Si fuera forzado, diría que el códec AV1 hace un mejor trabajo al reproducir los colores en los pétalos.

Una de las afirmaciones que Google hizo sobre su uso de AVI en su aplicación Duo fue que “mejoraría la calidad y la confiabilidad de las videollamadas, incluso en conexiones de muy poco ancho de banda”. Volviendo a nuestro montaje, esta vez cada codificador ha sido forzado a 10 Mbps. Esto es completamente injusto para H.264, ya que no pretende ofrecer la misma calidad a la misma velocidad de bits que H.265 / Av1, pero nos ayudará a ver. Además, el original no ha cambiado.

H.264 a 10Mbps es claramente el peor de los 3. Una mirada rápida a H.265 y AV1 me deja sentir que son muy similares. Si voy a espiar píxeles, veo que AV1 está haciendo un mejor trabajo con el césped en la esquina superior izquierda del marco. Entonces AV1 es el campeón, pero solo en puntos, ciertamente no fue un nocaut.

Ejemplo de HEVC H.265 a 10mbps Ejemplo de AV1 a 10mbps

AV1 no está listo para las masas (todavía)

Libre de regalías y 30% mejor. ¿Dónde firmo? Pero hay un problema, en realidad un gran problema. La codificación de archivos AV1 es lenta. Mi clip 4K original de mi teléfono inteligente dura 15 segundos. Para codificarlo, usando solo software, en H.264, en mi PC toma alrededor de 1 minuto, cuatro veces más que la longitud del clip. Si uso la aceleración de hardware disponible en mi tarjeta de video NVIDIA, entonces toma 20 segundos. Solo un poco más que el clip original.

Para H.265 las cosas son un poco más lentas. La codificación de solo software tarda unos 5 minutos, bastante más que la original. Afortunadamente, la codificación a través de hardware en H.265 también lleva solo 20 segundos. Por lo tanto, la codificación habilitada por hardware de H.264 y H.265 es similar en mi configuración.

Antes de que todos los geeks de video comiencen a gritar, sí, sé que hay mil millones de configuraciones diferentes que pueden alterar los tiempos de codificación. Hice mi mejor esfuerzo para asegurarme de que estaba codificando like for like.

Mi hardware no admite la codificación AV1, por lo que mi única opción está basada en software. El mismo clip de 15 segundos, que tardó 5 minutos para H.265 en software, tarda 10 minutos para Av1. Pero eso no fue me gusta, se ajustó para obtener el mejor rendimiento. Probé varias variaciones diferentes de los ajustes y ajustes de calidad, 10 minutos fue el mejor momento. Una variación que corrí tomó 44 minutos. 44 minutos por 15 segundos de video. Esto está utilizando el codificador SVT-AV1 que Netflix está interesado. Existen alternativas, pero son mucho más lentas, como horas y horas, mucho más lentas.

Codificación de clip de 4K 15 segSW o HWTimeH.264Software1 minH.264Hardware20 secsH.265Software5 minH.265Hardware20 secsAV1Software10 min

Esto significa que si tengo una película de 1 hora que he editado desde mi viaje de vacaciones a un lugar exótico, convertirla a H.265 usando la aceleración de hardware en mi PC tomará 80 minutos. ¡El mismo archivo que usa los codificadores AV1 del software actual tomará 40 horas!

Es por eso que aún no está listo para las masas. Las mejoras vendrán a los codificadores. El software mejorará y comenzará a aparecer el soporte de hardware. Los decodificadores ya se están volviendo esbeltos y eficientes, así es como Netflix puede comenzar a transmitir contenido en AV1 a dispositivos Android. Pero en términos de un reemplazo ubicuo para H.264, no, todavía no.

Una cosa interesante sobre las afirmaciones de Google sobre AV1 para Duo es que implica la codificación AV1 en los dispositivos del cliente y la decodificación AV1. Le envié un correo electrónico a Google sobre esto y hubo signos alentadores de que me iba a contar algunos detalles, pero sus planes para el códec AV1 y Duo, pero luego todos en la lista de correo se quedaron misteriosamente callados. Si alguien de Google me responde, ¡te lo haré saber!