Desde la década de 1990, los estándares de codificación de video han avanzado considerablemente. A lo largo de las últimas décadas, se han desarrollado e implementado nuevos métodos y tecnologías que permiten mejorar la compresión, la calidad y la eficiencia del procesamiento del video. Estos avances han sido cruciales para hacer frente a la creciente demanda de contenido en alta definición y más recientemente en resolución 4K y 8K. Es importante entender cómo estos desarrollos se entrelazan con las necesidades actuales de la industria, cómo la tecnología sigue evolucionando y qué nuevos paradigmas podrían surgir en el futuro cercano.
Uno de los aspectos clave en la codificación de video es la estructura en la que se organiza la secuencia de video codificado. Desde los primeros estándares, la segmentación de los datos en unidades más pequeñas ha permitido una mayor eficiencia en la compresión. Estas unidades, como los bloques de codificación y los grupos de imágenes, son fundamentales para aplicar técnicas de predicción, transformación, cuantificación y codificación de entropía, las cuales son procesos esenciales para reducir el tamaño de los archivos de video sin perder demasiada calidad. La predicción intra, que se refiere a la estimación de un bloque de datos a partir de otros datos dentro del mismo cuadro, y la predicción inter, que utiliza bloques de cuadros previamente codificados, son conceptos que se encuentran en el núcleo de los algoritmos de compresión.
Además de la predicción, la transformada y cuantificación juegan roles cruciales. La transformada convierte los bloques de datos en el dominio de la frecuencia espacial, mientras que la cuantificación reduce la precisión de estos datos, permitiendo que los detalles menos perceptibles para el ojo humano sean eliminados, lo que resulta en una reducción significativa del tamaño del archivo. La codificación de entropía, que convierte la secuencia de video en un flujo de bits comprimido, a menudo emplea métodos sofisticados como la codificación aritmética, la cual mejora aún más la compresión.
Un componente fundamental para el rendimiento de los sistemas de codificación modernos son los filtros en bucle, que mejoran la calidad de la predicción inter. Estos filtros ayudan a reducir los artefactos de compresión, como el "blocking" y los bordes visibles, que pueden aparecer durante el proceso de codificación. La implementación de estos filtros es un ejemplo de cómo los detalles técnicos pueden afectar de manera significativa la calidad percibida del video.
Con respecto al almacenamiento y la transmisión de video, la tecnología actual permite que el contenido comprimido se almacene y se comunique de manera eficiente a través de redes modernas. La capacidad de transmitir video en tiempo real con una calidad superior y en diferentes plataformas ha sido posible gracias a los avances en las técnicas de codificación y a la mejora de la infraestructura de red. Sin embargo, existen varios aspectos de la gestión del contenido, los derechos digitales y la entrega que aún siguen siendo problemáticos y complejos de abordar, especialmente cuando se trata de la protección del contenido frente a accesos no autorizados.
Es importante destacar que la codificación de video no es un proceso aislado, sino que está intrínsecamente ligado a otros factores como el códec utilizado y las especificaciones del hardware. Por ejemplo, los códecs basados en software son más flexibles y generalmente más fáciles de implementar, pero a menudo requieren más potencia de procesamiento. En cambio, los códecs implementados en hardware son más eficientes en términos de energía, pero requieren chips especializados. La elección entre software y hardware dependerá del uso específico y de los recursos disponibles, y es probable que la tendencia hacia la adopción de códecs como HEVC (H.265) y VVC (H.266) continúe mientras la potencia de procesamiento en dispositivos consumidores sigue aumentando.
En cuanto al futuro de la codificación de video, la pregunta principal es cómo evolucionarán los estándares para adaptarse a las nuevas formas en que consumimos contenido. La demanda por video estereoscópico, multivista e inmersivo está creciendo, pero su adopción comercial sigue siendo limitada. Además, el consumo de contenido generado por el usuario, a través de plataformas como YouTube y TikTok, ha cambiado radicalmente la forma en que interactuamos con el video. Estos cambios han llevado a una expansión de las aplicaciones de transmisión en tiempo real, adaptativas en cuanto al bitrate, que permiten entregar video a través de diferentes condiciones de red sin sacrificar calidad.
La evolución de los estándares de codificación de video parece seguir una dirección en la que la compresión de video se volverá aún más sofisticada, utilizando algoritmos más avanzados para mejorar la relación entre compresión, calidad y poder de cómputo. Sin embargo, siempre estará presente la cuestión de los recursos de procesamiento necesarios para implementar nuevas técnicas. En términos de futuros desarrollos, nuevos estándares como VVC (H.266) y EVC están en sus primeras fases de despliegue, lo que indica que aún se están dando pasos hacia una mayor eficiencia y calidad. La adopción de estos estándares, junto con el desarrollo de dispositivos más potentes, abrirá la puerta a innovaciones que podrían transformar por completo la industria del video digital.
A pesar de los avances significativos, es probable que la naturaleza del modelo básico de predicción y codificación de bloques siga siendo la columna vertebral de la mayoría de los códecs, con ajustes y mejoras incrementales a medida que se descubran nuevas técnicas. La llegada de nuevos modelos de codificación o su integración en los estándares de la industria podría ser más lenta, pero la competencia en este campo seguirá siendo feroz.
¿Cómo ha evolucionado la predicción compensada por movimiento en la codificación de video?
La predicción compensada por movimiento, que se presentó por primera vez en 1979 por Netravali y Stuller, ha sido un pilar fundamental en el desarrollo de los estándares de codificación de video modernos. En su artículo original, describieron dos técnicas para mejorar la compresión de video: una que transmitía estimaciones de desplazamiento, un tipo de vector de movimiento, al decodificador, y otra que calculaba estas estimaciones directamente a partir de los coeficientes de la transformación ya transmitidos, evitando así la necesidad de enviar los vectores de movimiento. Este enfoque inicial formó las bases para los avances tecnológicos que seguirían.
En 1981, Jain y Jain perfeccionaron la idea, proponiendo un códec híbrido de predicción compensada por movimiento con transformada discreta de coseno (DCT) de dos dimensiones. Este sistema mejorado incluía la búsqueda de desplazamientos óptimos, lo que permitió una mayor eficiencia en la estimación del movimiento. El algoritmo de búsqueda logarítmica, que describieron, redujo significativamente la cantidad de comparaciones necesarias para encontrar el vector de movimiento más adecuado, pasando de 121 comparaciones en una cuadrícula de 11x11 a solo 21, lo que supuso una optimización crucial en términos de recursos computacionales. Este avance fue decisivo para el desarrollo de códecs más rápidos y eficientes.
El modelo básico de códec, como lo describe Ericsson en 1985, ya incorporaba varios elementos clave: la predicción compensada por movimiento de bloques rectangulares, la interpolación subpíxel, la DCT de 16x16, y el control de la tasa de bits a través de la modificación del tamaño del cuantificador. Estos elementos formarían la base para los códecs de video de los años 90 y 2000, como el MPEG-1, que introdujo las imágenes bidireccionales (B-pictures) y la estructura de grupos de imágenes (GoP). La predicción bidireccional, que usa tanto imágenes anteriores como futuras para hacer una estimación más precisa del movimiento, permitió reducir aún más la tasa de bits necesaria para la transmisión de video.
Un avance significativo ocurrió entre 1989 y 1995 con la mejora en la predicción bidireccional. Thoma y Bierling propusieron el uso de interpolación compensada por movimiento para "saltar" cuadros en lugar de transmitirlos, mejorando la eficiencia del flujo de datos. Esto fue implementado en el estándar MPEG-1, que utilizó B-pictures que no solo se predecían hacia adelante desde un cuadro anterior, sino también hacia atrás desde un cuadro futuro, lo que incrementó la calidad de la predicción y la compresión. Cada macrobloque en una B-picture podía ser predicho usando una combinación de predicción hacia adelante, hacia atrás e interpolada, lo que permitió una mayor flexibilidad y precisión.
La predicción de movimiento con bloques de tamaño variable también marcó una evolución importante en la compresión de video. En 1990, Chan, Yu y Constantinides propusieron el uso de bloques de tamaño variable para mejorar la precisión de la compensación por movimiento, ya que los objetos en movimiento rara vez coinciden con los límites de bloques fijos de 16x16 píxeles. Aunque esta técnica aumentaba la complejidad computacional y el overhead en la codificación, permitió una mejora significativa en la calidad del video y se implementó en códecs avanzados como MPEG-4, H.263 y H.264.
Además, la incorporación de múltiples cuadros de referencia para la predicción de movimiento, desarrollada a fines de los años 90, permitió una mayor flexibilidad y precisión en la codificación. La capacidad de predecir cuadros actuales a partir de varios cuadros de referencia almacenados en memorias de corto y largo plazo amplió considerablemente las posibilidades de compresión sin sacrificar la calidad.
Lo importante de estas técnicas es que cada una de ellas, desde la predicción compensada por movimiento hasta la interpolación bidireccional y el uso de bloques de tamaño variable, no solo respondió a las limitaciones tecnológicas de su tiempo, sino que también preparó el camino para la creación de códecs cada vez más sofisticados y eficientes. Estos avances no solo han permitido una mejora en la calidad de la imagen y una mayor compresión, sino que también han establecido las bases para los estándares de codificación que hoy son omnipresentes en la transmisión y almacenamiento de video digital.
Además de entender estos avances técnicos, es esencial que el lector comprenda cómo la evolución de estos métodos ha influido en los estándares actuales y en la industria del video en general. La mejora en la predicción compensada por movimiento no solo ha aumentado la eficiencia de los códecs, sino que también ha habilitado nuevas aplicaciones en áreas como la videoconferencia, la transmisión de alta definición y la compresión de contenido 4K y 8K. A medida que la demanda por mayor calidad de imagen y menores tasas de bits sigue aumentando, las técnicas de predicción por movimiento seguirán siendo clave para los avances futuros en la compresión de video.
¿Cómo la interpolación sub-píxel mejora la predicción interframe en codificación de video?
La predicción interframe es una técnica fundamental en la codificación de video, especialmente cuando se trata de estimar el movimiento entre dos fotogramas consecutivos. En este contexto, el vector de movimiento para cada bloque de la imagen apunta al bloque en el fotograma de referencia que proporciona el menor error cuadrático medio (MSE). Existen ciertas propiedades predecibles en los vectores de movimiento de predicción interframe, tales como:
-
La magnitud de los vectores de movimiento tiende a concentrarse alrededor de cero si la posición de la cámara está fija, o alrededor de un valor constante si la cámara está en movimiento.
-
Los vectores de movimiento en una área local de la imagen suelen estar correlacionados, lo que implica que el vector de movimiento de un bloque actual probablemente será similar a los vectores de movimiento de los bloques vecinos.
Estas propiedades pueden ser aprovechadas para minimizar la cantidad de bits necesarios para enviar cada vector de movimiento, como se verá en la sección 6.8.
Sin embargo, uno de los mayores desafíos en la predicción interframe es la precisión de los vectores de movimiento, especialmente cuando los objetos en una escena se desplazan de manera arbitraria. Para entender cómo se mejora este proceso, es esencial conocer el concepto de interpolación sub-píxel.
La interpolación sub-píxel en la predicción interframe
Hasta ahora, hemos hablado de la compensación de movimiento, es decir, la predicción interframe usando vectores de movimiento, donde cada vector apunta a una posición en un fotograma de referencia desplazada por un número entero de píxeles. Pero los objetos en una escena rara vez se mueven en pasos enteros. Por ejemplo, en una escena natural de video, los objetos pueden desplazarse de manera no entera, como 0.87 píxeles o −14.92 píxeles. Esto plantea un desafío para los algoritmos de predicción interframe, que dependen de una representación precisa del desplazamiento de los objetos entre fotogramas.
Para mejorar la predicción en estos casos, es necesario introducir una técnica llamada interpolación sub-píxel. El objetivo es aumentar la resolución del fotograma de referencia para permitir que los vectores de movimiento apunten a posiciones intermedias entre los píxeles. De esta forma, se pueden representar movimientos más finos y obtener una mejor aproximación a la posición de los objetos.
En un ejemplo simple, supongamos que tenemos una pelota que se desplaza entre dos fotogramas. Si el desplazamiento es de 1.5 píxeles a la izquierda y 0.5 píxeles hacia abajo, el vector de movimiento ideal sería (−1.5, +0.5). Para lograr esto, necesitamos una forma de muestrear el fotograma de referencia con una resolución superior, por ejemplo, re-muestreando a posiciones de medio píxel, como se ilustra en la figura correspondiente.
Sin embargo, este proceso no es tan sencillo. Al tratar de predecir un bloque de 4×4 píxeles, la búsqueda de un buen ajuste a una posición desplazada por un número entero de píxeles no siempre ofrece un buen resultado. Como se puede observar, el fotograma actual contiene un objeto, como una línea oscura vertical de 2 píxeles de ancho, que aparece difusa a través de tres píxeles horizontales debido al movimiento no entero del objeto.
Para superar esta limitación, se recurre a la interpolación sub-píxel. Esto implica aumentar la resolución del fotograma de referencia, dividiendo cada píxel en posiciones intermedias, de modo que los vectores de movimiento puedan apuntar a ubicaciones más precisas. En el caso de la interpolación a medio píxel, se duplican los valores de muestreo tanto en la horizontal como en la vertical. Esto permite una búsqueda más exhaustiva para encontrar una coincidencia más precisa.
A pesar de que la interpolación sub-píxel mejora la predicción, no proporciona una coincidencia perfecta, ya que los valores interpolados son un promedio de los píxeles enteros vecinos. Sin embargo, el beneficio es claro: la predicción sub-píxel proporciona una estimación mucho más cercana al movimiento real del objeto.
La calidad de la interpolación y su impacto en la predicción
Cuando hablamos de la interpolación sub-píxel, no basta con simplemente duplicar la cantidad de muestras. La calidad de la interpolación depende del filtro utilizado para combinar los valores de los píxeles vecinos. Existen varios filtros de interpolación, y la manera en que se aplican influye directamente en la calidad de la predicción.
En los ejemplos presentados, la interpolación sub-píxel muestra una mejora significativa en la precisión de los vectores de movimiento. En particular, al interpolar un fotograma de referencia a posiciones de medio píxel, se logra una coincidencia de bloques mucho más precisa que con los desplazamientos enteros. Sin embargo, este proceso también conlleva un costo en términos de complejidad computacional, ya que la interpolación requiere de más cálculos y más bits para representar los datos de movimiento con precisión.
Es fundamental entender que, aunque la interpolación sub-píxel mejora la calidad de la predicción, no elimina todos los problemas inherentes a la estimación de movimiento. La precisión de los vectores de movimiento depende no solo de la interpolación, sino también de otros factores como la calidad de la imagen de referencia, la variabilidad del movimiento en la escena y la capacidad del codificador para manejar estos detalles.
Lo que hay que considerar además
La interpolación sub-píxel, aunque útil, no es una solución definitiva. En muchos casos, especialmente en escenas muy dinámicas o complejas, los algoritmos de predicción interframe aún pueden tener dificultades para encontrar un buen ajuste. Es importante tener en cuenta que la interpolación sub-píxel no garantiza una coincidencia perfecta con los píxeles de la imagen original, ya que los valores interpolados son aproximaciones basadas en el promedio de los píxeles cercanos.
Además, este proceso implica un aumento en la cantidad de datos necesarios para codificar el movimiento, lo que puede llevar a un mayor uso de bits. Aunque la reducción de los bits es un objetivo común en la compresión de video, en algunos casos, la mejora en la calidad de la predicción puede justificar el mayor costo computacional y el incremento en el uso de datos.
¿Cómo se representan y comprimen los colores y elementos estructurales en los videos?
Cuando se habla de la representación y compresión de imágenes y videos, es esencial comprender la forma en que los colores se estructuran en un formato que optimiza tanto la calidad como la eficiencia en el almacenamiento. En este contexto, se utiliza un espacio de color basado en componentes Y, Cr, Cb, y en algunos casos Cg. El componente Y representa la luminosidad o brillo de la imagen, mientras que los componentes Cr y Cb representan las diferencias de color entre los componentes rojo y azul respectivamente, en relación con el brillo. La existencia de un cuarto componente, Cg, relacionado con el verde, no siempre es necesario, y en muchos formatos, como el YCrCb, se omite, ya que la percepción humana es menos sensible a las variaciones de verde que a las de luminosidad o brillo.
El uso de un espacio de color como el YCrCb tiene una ventaja significativa: los seres humanos son más sensibles a los cambios en la luminosidad (Y) que a los de crominancia (Cr y Cb). Esto permite submuestrear los componentes de crominancia sin una pérdida evidente de calidad visual. En el caso de la submuestreo 4:2:0, los componentes Cr y Cb se reducen a la mitad tanto en resolución horizontal como vertical en comparación con el componente Y. Aunque esta reducción implica una pérdida de información, el ojo humano rara vez percibe una degradación significativa en la calidad de la imagen, lo que hace que este método sea ampliamente utilizado en la compresión de video.
Además de esta representación básica, el proceso de codificación de video implica la transformación de un conjunto de imágenes RGB (Rojo, Verde, Azul) a una representación YCrCb a través de operaciones matemáticas. Esto permite una conversión de formatos sin pérdida de información, lo que garantiza que la calidad visual se mantenga intacta, incluso cuando se cambia de un sistema de color a otro. Es importante destacar que la comprensión de estos conceptos es crucial cuando se analiza la calidad de un video codificado, especialmente en estándares como HEVC/H.265 o AV1, que optimizan la representación de los colores mientras minimizan la cantidad de datos necesarios para transmitir la información visual.
En el ámbito de la compresión de video, la información que define el proceso de codificación se organiza jerárquicamente en varias estructuras. Estas estructuras incluyen secuencias completas de video, grupos de imágenes y cuadros individuales. Cada uno de estos cuadros se divide en partes más pequeñas llamadas "slices" o "tiles". Las "slices" son segmentos continuos dentro de un cuadro, mientras que los "tiles" son regiones rectangulares que pueden ser procesadas independientemente. Esta organización permite un manejo eficiente de los datos durante la codificación y decodificación del video, lo que facilita la transmisión y almacenamiento.
Un concepto adicional importante en la codificación de video es el uso de bloques, que son unidades básicas dentro de un "slice" o "tile". Estos bloques agrupan un conjunto de muestras de video para realizar predicciones, transformaciones o procesamiento. A medida que los estándares de codificación avanzan, como en el caso de HEVC o H.266/VVC, los bloques se hacen más grandes, lo que permite una mayor eficiencia en la compresión de videos de alta definición, pero también requiere más poder de procesamiento y memoria.
Los avances en la codificación de video no solo mejoran la eficiencia de compresión, sino que también optimizan la calidad visual sin sacrificar la rapidez de procesamiento. La codificación moderna utiliza técnicas como la predicción inter-cuadro, la cual predice el contenido de un cuadro basándose en cuadros anteriores y posteriores. Esto reduce aún más los requisitos de datos, manteniendo una calidad visual alta y minimizando la redundancia de información.
Un aspecto esencial que debe entenderse es la importancia de las decisiones que se toman durante la codificación del video, como la elección de parámetros de codificación, tasas de bits y tamaño de los archivos. Estas decisiones afectan directamente la calidad y el tamaño final del archivo comprimido. Las configuraciones automáticas, así como las opciones predefinidas que ofrecen los codificadores, son fundamentales para adaptar el proceso de codificación a las necesidades específicas de los usuarios, optimizando el equilibrio entre calidad visual y eficiencia de almacenamiento.
¿Cómo hacer galletas energéticas con ingredientes naturales?
¿Por qué la hierba rue ha sido considerada un símbolo mágico y curativo a lo largo de la historia?
¿Cómo funcionan los parámetros de configuración y activación en la codificación HEVC?

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский