AV1 frente a h265 (HEVC) frente a VP9: ¿Cuál es la diferencia entre estos estándares de compresión?
La transmisión en 4K es la nueva norma, pero con información de más de 8,2 millones de píxeles que se transmiten cada 16 milisegundos, almacenar y transmitir videos 4K en Internet no es tarea fácil.
Una película de dos horas de duración acapararía más de 1,7 Terabytes de almacenamiento sin comprimir. Entonces, ¿cómo logran los gigantes de la transmisión como YouTube y Netflix almacenar y transmitir videos que ocupan tanto espacio?
Bueno, no lo hacen porque usan códecs de video para reducir el tamaño de las películas, pero ¿qué es un códec de video y cuál es el mejor?
¿Qué es un códec de vídeo?
Antes de profundizar en las complejidades de los códecs de video, es vital comprender cómo se crea un video. En pocas palabras, el video no es más que un conjunto de imágenes fijas que se reemplazan entre sí rápidamente.
Debido a esta alta velocidad de cambio, el cerebro humano piensa que las imágenes se están moviendo, creando la ilusión de estar viendo un video. Por lo tanto, al mirar un video en 4K, solo estás mirando un conjunto de imágenes con una resolución de 2160×3840. Esta alta resolución de imágenes permite grabar un video en 4K para brindar una excelente experiencia de video. Dicho esto, esta alta resolución de imágenes aumenta el tamaño del video, lo que hace imposible transmitir a través de canales con un ancho de banda limitado, como Internet.
Para solucionar este problema, disponemos de códecs de vídeo. Abreviatura de codificador/descodificador o compresión/descompresión, un códec de video comprime el flujo de imágenes en bits de datos. Esta compresión puede reducir la calidad del video o no afectarlo según los algoritmos de compresión utilizados.
Como sugiere el nombre, el bit de compresión en un códec reduce el tamaño de cada imagen. Para hacer lo mismo, el algoritmo de compresión explota los matices del ojo humano, evitando que las personas sepan que los videos que miran están comprimidos.
La descompresión, por el contrario, funciona de manera opuesta y renderiza el video usando la información comprimida.
Aunque los códecs hacen un gran trabajo cuando se trata de comprimir información, hacer lo mismo puede ser agotador para su CPU. Debido a esto, es normal ver fluctuaciones en el rendimiento del sistema cuando ejecuta algoritmos de compresión de video en su sistema.
Para resolver este problema, las CPU y las GPU vienen con un hardware especial que puede ejecutar estos algoritmos de compresión. Permitir que la CPU realice las tareas en cuestión mientras el hardware dedicado procesa los códecs de video, mejorando la eficiencia.
¿Cómo funciona un códec de video?
Ahora que tenemos una comprensión básica de lo que hace un códec de video, podemos ver cómo funciona un códec.
Submuestreo de croma
Como se explicó anteriormente, los videos se componen de imágenes y el submuestreo de croma reduce la información en cada imagen. Para ello, reduce la información de color contenida en cada imagen, pero ¿cómo detecta el ojo humano esta reducción de información de color?
Bueno, verá, los ojos humanos son excelentes para detectar cambios en el brillo, pero no se puede decir lo mismo de los colores. Esto se debe a que el ojo humano tiene más bastones (células fotorreceptoras encargadas de detectar los cambios de brillo) que conos (células fotorreceptoras encargadas de diferenciar los colores). La diferencia entre bastones y conos impide que los ojos detecten cambios de color al comparar imágenes comprimidas y sin comprimir.
Para realizar el submuestreo de croma, el algoritmo de compresión de video convierte la información de píxeles en RGB en datos de brillo y color. Después de eso, el algoritmo reduce la cantidad de color en la imagen según los niveles de compresión.
Eliminación de información de marco redundante
Los videos se componen de varios cuadros de imágenes y, en la mayoría de los casos, todos estos cuadros contienen la misma información. Por ejemplo, imagine un video con una persona hablando contra un fondo fijo. En tal caso, todos los cuadros del video tienen una composición similar. Por lo tanto, no se necesitan todas las imágenes para renderizar el video. Todo lo que necesitamos es una imagen base que contenga toda la información y los datos relacionados con el cambio al pasar de un cuadro a otro.
Por lo tanto, para reducir el tamaño del video, el algoritmo de compresión divide los cuadros de video en cuadros I y P (cuadros previstos). Aquí los marcos I son la verdad fundamental y se utilizan para crear marcos P. A continuación, los fotogramas P se procesan utilizando la información de los fotogramas I y la información de cambio para ese fotograma en particular. Con esta metodología, un video se divide en un conjunto de fotogramas I intercalados en fotogramas P que comprimen aún más el video.
Compresión de movimiento
Ahora que hemos dividido el video en fotogramas I y P, debemos observar la compresión de movimiento. Una parte del algoritmo de compresión de video que ayuda a crear los cuadros P usando los cuadros I. Para hacer esto, el algoritmo de compresión rompe el cuadro I en bloques conocidos como macro-bloques. Luego, estos bloques reciben vectores de movimiento que definen la dirección en la que estos bloques se mueven al pasar de un cuadro a otro.
Esta información de movimiento para cada bloque ayuda al algoritmo de compresión de video a predecir la ubicación de cada bloque en un próximo cuadro.
Eliminación de datos de imágenes de alta frecuencia
Al igual que los cambios en los datos de color, el ojo humano no puede detectar cambios sutiles en los elementos de alta frecuencia de una imagen, pero ¿qué son los elementos de alta frecuencia? Bueno, verá, la imagen representada en su pantalla comprende varios píxeles, y los valores de estos píxeles cambian según la imagen que se muestra.
En algunas áreas de la imagen, los valores de los píxeles cambian gradualmente y se dice que dichas áreas tienen una frecuencia baja. Por otro lado, si hay un cambio rápido en los datos de píxeles, el área se clasifica como que tiene datos de alta frecuencia. Los algoritmos de compresión de video utilizan la Transformada discreta del coseno para reducir el componente de alta frecuencia.
Así es como funciona. Primero, el algoritmo DCT se ejecuta en cada macrobloque y luego detecta las áreas donde el cambio en la intensidad de los píxeles es muy rápido. Luego elimina estos puntos de datos de la imagen, lo que reduce el tamaño del video.
Codificación
Ahora que se ha eliminado toda la información redundante en el video, podemos almacenar los bits de datos restantes. Para hacer esto, el algoritmo de compresión de video utiliza un esquema de codificación como la codificación Huffman, que vincula todos los bits de datos en un cuadro con la cantidad de veces que ocurren en el video y luego los conecta en forma de árbol. Estos datos codificados se almacenan en un sistema, lo que le permite reproducir un video fácilmente.
AV1 vs. HEVC vs. VP9: ¿Qué códec es el mejor?
Ahora que entendemos cómo funcionan los códecs, podemos determinar cuál es el mejor de AV1, HEVC y VP9.
Compresibilidad y Calidad
Si tiene un video 4K que ocupa mucho espacio en su sistema y no puede cargarlo en su plataforma de transmisión favorita, es posible que esté buscando un códec de video que ofrezca la mejor relación de compresión. Sin embargo, también debe tener en cuenta que la calidad que ofrece disminuye a medida que continúa comprimiendo el video. Por lo tanto, al seleccionar un algoritmo de compresión, es esencial observar la calidad que ofrece a una tasa de bits particular, pero ¿cuál es la tasa de bits de un video?
En pocas palabras, la tasa de bits de un video se define como la cantidad de bits que el video necesita para reproducirse por un segundo. Por ejemplo, un video 4K sin comprimir de 24 bits que se ejecuta a 60 cuadros tiene una tasa de bits de 11,9 Gb/s. Por lo tanto, si transmite un video 4K sin comprimir en Internet, su Wi-Fi debe entregar 11,9 gigabits de datos cada segundo, agotando su cuota mensual de datos en minutos.
El uso de un algoritmo de compresión, por el contrario, reduce la tasa de bits a una cantidad muy pequeña en función de la tasa de bits de su elección sin degradar la calidad.
Cuando se trata de números de compresibilidad/calidad, AV1 lidera el paquete y ofrece un 28,1 por ciento de mejor compresión en comparación con H.265 y un 27,3 por ciento de ahorro en comparación con VP9 mientras ofrece una calidad similar.
Por lo tanto, si está buscando la mejor compresión sin degradación de la calidad, AV1 es la relación de compresión para usted. Debido a la gran relación compresión-calidad del códec AV1, Google lo utiliza en su aplicación de videoconferencia Google Duo y Netflix mientras transmite video en una conexión de datos de bajo ancho de banda.
Compatibilidad
Como se explicó anteriormente, un algoritmo de compresión de video codifica un video una vez comprimido. Ahora, para reproducir este video, su dispositivo necesita decodificarlo. Por lo tanto, si su dispositivo no tiene el soporte de hardware/software para descomprimir un video, no podrá ejecutarlo.
Por lo tanto, es importante comprender el aspecto de compatibilidad de un algoritmo de compresión porque, ¿de qué sirve crear y comprimir contenido que no se puede ejecutar en muchos dispositivos?
Entonces, si la compatibilidad es algo que está buscando, entonces VP9 debería ser el códec para usted, ya que es compatible con más de dos mil millones de puntos finales y puede ejecutarse en todos los navegadores, teléfonos inteligentes y televisores inteligentes.
No se puede decir lo mismo de AV1, ya que utiliza algoritmos más nuevos y complejos para reducir el tamaño de archivo de un video y no se puede reproducir en dispositivos más antiguos. Con respecto a la compatibilidad con el navegador, Safari no puede reproducir AV1, pero navegadores como Firefox y Chrome pueden reproducir videos AV1 sin ningún problema.
En términos de soporte de hardware, los nuevos SoC y GPU como Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, la serie RTX 4000 de Nvidia y las GPU Intel Xe y Arc admiten la decodificación de hardware acelerada para el códec AV1. . Por lo tanto, si posee dispositivos que funcionan con estos conjuntos de chips, puede disfrutar de la transmisión de contenido comprimido con los códecs AV1 sin agotar la potencia de su CPU/GPU.
Cuando se trata del códec H.265, los navegadores más populares como Safari, Firefox y Google Chrome pueden ejecutar videos codificados con el algoritmo de compresión sin ningún problema. Dicho esto, en comparación con AV1 y VP9, H.265 no es de código abierto y es necesario obtener licencias para usar el códec H.265. Por esta razón, las aplicaciones como el reproductor de video Movies & TV de Microsoft, que vienen con el sistema operativo, no pueden ejecutar videos codificados con H.265 de forma predeterminada. En cambio, los usuarios deben instalar complementos adicionales de la tienda de Windows para ejecutar dichos videos.
Velocidad de codificación
Los códecs de video reducen sustancialmente el tamaño de un video, pero para reducir el tamaño de un video, el video sin comprimir debe procesarse mediante un software, lo que lleva tiempo. Por lo tanto, si desea reducir el tamaño de un video, debe mirar el tiempo que lleva comprimir el video usando un algoritmo de compresión.
En cuanto a la eficiencia de codificación, VP9 lidera el grupo y el tiempo de codificación para comprimir videos es mucho menor que H.265 y AV1. AV1, por otro lado, es el más lento en el tiempo de codificación y puede tardar tres veces más en codificar un video en comparación con H.265.
¿Qué códec debería elegir?
Cuando se trata de códecs de video, encontrar el códec perfecto es muy subjetivo, ya que cada códec ofrece características diferentes.
Si está buscando la mejor calidad de video, elija AV1. Por otro lado, si está buscando el códec de video más compatible, VP9 sería el más adecuado para usted.
Finalmente, el códec H.265 es ideal si necesita buena calidad y compresión sin sobrecargas de codificación.
Deja una respuesta