Estás leyendo la publicación: La condición sine qua non de la entrega de video: codificación de video (cómo se usa Machine Learning ML en la codificación de video, parte 1)
El video se ha convertido en una parte esencial de Internet y los números respaldan esta afirmación. El contenido de video fue responsable del 82% del tráfico total de Internet en 2022, y se espera que la proporción aumente en el futuro. Hoy en día, es difícil pasar un día al menos viendo varios videos en nuestro feed en línea, ya sea un video corto en Twitter, una transmisión en vivo en Instagram o un resumen diario del día en cualquier sitio web de noticias.
El video es esencialmente un montón de imágenes, llamadas marcos, visualizados consecutivamente de forma rápida. si recuerdas esos flipbooks de tu infancia, ese es el mejor ejemplo del mundo real de un video. En el mundo digital, el concepto es el mismo. Capturamos imágenes consecutivas con una cámara y las mostramos una tras otra.
Un video típico consta de 30 cuadros por segundo. Si el video dura un minuto, contiene 1800 marcos (30 * 60). Cuando se tiene en cuenta que una sola imagen con un tamaño de 1920×1080 píxeles (1080p) aproximadamente tiene alrededor 4 MB tamaño de datos, luego con la misma proporción, un minuto de duración 1080p el video debe tener un tamaño de aproximadamente 7200 MB. Sin embargo, hoy en día, el tamaño promedio de un video de 1 minuto es de alrededor 25-30 MB. Entonces, ¿qué hace posible esta reducción mágica? La respuesta es codificación de vídeo.


La codificación de video es un proceso de varios pasos que tiene como objetivo reducir el tamaño del archivo de video. El aspecto clave aquí es la movimiento y la similitud entre los fotogramas, permitiéndonos representar el mismo contenido utilizando menos datos que preparando cada fotograma individualmente. El objetivo principal del codificador de video es encontrar esas similitudes y explotarlas para reducir el tamaño de los datos.
La codificación comienza con la detección de movimiento entre fotogramas. Este paso se llama compensación de movimiento. Aquí el objetivo es representar el cuadro actual como la diferencia con el marco de referencia. Para lograr una detección de movimiento más precisa, cada cuadro se divide primero en partes más pequeñas, llamadas bloques. Luego, los bloques en el marco actual se emparejan con el marco de referencia y la diferencia se representa como vectores de movimiento. Finalmente, solo se almacenan el cuadro de referencia y los vectores de movimiento en lugar del cuadro completo, lo cual es suficiente para reconstruir el video.


Una vez que se realiza el paso de compensación de movimiento, tenemos la información clave para comprimir el video a un tamaño más pequeño. Sin embargo, todavía hay información redundante que ocupa demasiado espacio y puede eliminarse sin distorsionar significativamente la calidad visual.
Nuestros ojos son más sensibles a la información de brillo (luminancia) que a la información de color. Entonces, si alguien cambia los colores de algunos píxeles en el video, probablemente no notaremos la diferencia. Sin embargo, la diferencia se puede detectar fácilmente cuando se trata del brillo de los píxeles. Es por eso que asignamos más datos para representar la luminancia en el video. Este paso se llama submuestreo de croma.
En el video, la luminancia (Y), croma de diferencia de azul (Cb), y croma de diferencia de rojo (cr) se utilizan para representar el color en lugar de los valores rojo-verde-azul (RGB) canales como en otros casos de uso digital. En el paso de submuestreo de croma, los fotogramas se dividen en Y y CbCr canales y representados como a B C, dónde a es el ancho de la región, b es el número de píxeles en el primera fila que tienen valores de color, y C es el número de píxeles en el segunda fila que tienen valores de color. Las configuraciones típicas a:b:c son 4:4:4 (contenido crudo, cine), 4:2:2 (contenido digital de gama alta, emisión), y 4:2:0 (vídeo transmitido en vivo).


El submuestreo de croma nos permite usar menos datos para representar la información de color, lo que reduce significativamente el tamaño de datos requerido. En este punto, tenemos todos los datos que necesitamos para reconstruir el video nuevamente. Sin embargo, todavía podemos reducir el tamaño de los datos haciendo trucos simples en el flujo de bits. Cuantización y Transformación es el paso final en la tubería de codificación, que funciona en el flujo de bits en lugar de la información de nivel de cuadro. Aquí, el objetivo es reducir el número de valores únicos en el flujo de bits. Además, podemos controlar la nivel de calidad del video en este paso cambiando el factor de cuantificaciónPor ejemplo.
En este punto, tenemos un flujo de bits comprimido en lugar del contenido de video. ¿Qué sucede cuando queremos reproducir el video codificado? primero tenemos que descodificar y esto lo hace el decodificador de vídeo. De hecho, solo obtiene un sistema de trabajo cuando combina tanto el enBACALAOeh y el DICoder Es por eso que llamamos a la herramienta que usamos para comprimir el tamaño del video como Códec de vídeo. Los códecs de video están cuidadosamente diseñados por comités de estandarización y con la contribución de cientos de científicos tanto de la academia como de la industria.
Ahora tenemos una idea de qué es un video y cómo se prepara usando un codificador de video. Ahora viene la pregunta de cómo se entrega a nuestras pantallas. Responderemos a eso en nuestra próxima publicación de blog.
Echa un vistazo a https://aitoolsclub.com para encontrar 100 de Cool AI Tools