Axis Superior Image Quality
axisFlexSubBanner

Compresión de vídeo


Las técnicas de compresión de vídeo consisten en reducir y eliminar datos redundantes del vídeo para que el archivo de vídeo digital se pueda enviar a través de la red y almacenar en discos informáticos. Con técnicas de compresión eficaces se puede reducir considerablemente el tamaño del fichero sin que ello afecte muy poco, o en absoluto, la calidad de la imagen. Sin embargo, la calidad del vídeo puede verse afectada si se reduce en exceso el tamaño del fichero aumentando el nivel de compresión de la técnica que se utilice.

Existen diferentes técnicas de compresión, tanto patentadas como estándar. Hoy en día, la mayoría de proveedores de vídeo en red utilizan técnicas de compresión estándar. Los estándares son importantes para asegurar la compatibilidad y la interoperabilidad. Tienen un papel especialmente relevante en la compresión de vídeo, puesto que éste se puede utilizar para varias finalidades y, en algunas aplicaciones de videovigilancia, debe poderse visualizar varios años después de su grabación. Gracias al desarrollo de estándares, los usuarios finales tienen la opción de escoger entre diferentes proveedores, en lugar de optar a uno solo para su sistema de videovigilancia.

Axis utiliza tres estándares de compresión de vídeo distintos: Motion JPEG, MPEG-4 Parte 2 (o, simplemente, MPEG-4) y H.264. El H.264 es el estándar de compresión de vídeo más actual y eficaz. Este capítulo trata sobre los conceptos básicos de la compresión y proporciona una descripción de cada uno de los estándares mencionados.

Códec de vídeo

En el proceso de compresión se aplica un algoritmo al vídeo original para crear un archivo comprimido y ya listo para ser transmitido o guardado. Para reproducir el archivo comprimido, se aplica el algoritmo inverso y se crea un vídeo que incluye prácticamente el mismo contenido que el vídeo original. El tiempo que se tarda en comprimir, enviar, descomprimir y mostrar un archivo es lo que se denomina latencia. Cuanto más avanzado sea el algoritmo de compresión, mayor será la latencia.

El par de algoritmos que funcionan conjuntamente se denomina códec de vídeo (codificador/ decodificador). Los códecs de vídeo de estándares diferentes no suelen ser compatibles entre sí, es decir, el contenido de vídeo comprimido con un estándar no se puede descomprimir con otro estándar diferente. Por ejemplo, un decodificador MPEG-4 no funcionará con un codificador H.264. Esto ocurre simplemente porque un algoritmo no puede descodificar correctamente los datos de salida del otro algoritmo, pero es posible usar muchos algoritmos diferentes en el mismo software o hardware, que permitirían la coexistencia de varios formatos.

Compresión de imagen vs. compresión de vídeo

Los diferentes estándares de compresión utilizan métodos distintos para reducir los datos y, en consecuencia, los resultados en cuanto a frecuencia de bits y latencia son diferentes. Existen dos tipos de algoritmos de compresión: compresión de imágenes y compresión de vídeo.

La compresión de imagen utiliza la tecnología de codificación intrafotograma. Los datos se reducen a un fotograma de imagen con el fin de eliminar la información innecesaria que puede ser imperceptible para el ojo humano. Motion JPEG es un ejemplo de este tipo de estándar de compresión. En una secuencia Motion JPEG, las imágenes se codifican o comprimen como imágenes JPEG individuales.

Illustration of how Motion JPEG format works
Con el formato Motion JPEG, las tres imágenes de la secuencia se codifican y se envían como imágenes únicas y separadas (fotogramas I), sin que dependan unas de otras.

Los algoritmos de compresión de vídeo-4 como el MPEG-4 y el H.264 utilizan la predicción interfotograma para reducir los datos de vídeo entre las series de fotogramas. Ésta consiste en técnicas como la codificación diferencial, en la que un fotograma se compara con un fotograma de referencia y sólo se codifican los píxeles que han cambiado con respecto al fotograma de referencia. De esta forma, se reduce el número de valores de píxeles codificados y enviados. Cuando se visualiza una secuencia codificada de este modo, las imágenes aparecen como en la secuencia de vídeo original.

Video compression reducing the amount of data transmitted
Con la codificación diferencial sólo la primera imagen (fotograma I) se codifica en su totalidad. En las dos imágenes siguientes (fotogramas P) existen referencias a la primera imagen en lo que se refiere a elementos estáticos, como la casa. Sólo se codifican las partes en movimiento (el hombre que corre) mediante vectores de movimiento, reduciendo así la cantidad de información que se envía y almacena.

Para reducir aún más los datos, se pueden aplicar otras técnicas como la compensación de movimiento basada en bloques. La compensación de movimiento basada en bloques tiene en cuenta que gran parte de un fotograma nuevo está ya incluido en el fotograma anterior, aunque quizás en un lugar diferente del mismo. Esta técnica divide un fotograma en una serie de macrobloques (bloques de píxeles). Se puede componer o “predecir” un nuevo fotograma bloque a bloque, buscando un bloque que coincida en un fotograma de referencia. Si se encuentra una coincidencia, el codificador codifica la posición en la que se debe encontrar el bloque coincidente en el fotograma de referencia. La codificación del vector de movimiento, como se denomina, precisa de menos bits que si hubiera de codificarse el contenido real de un bloque.

Block-based motion compensation
Ilustración que muestra la compensación de movimiento basada en bloques.

Con la predicción interfotograma, cada fotograma de una secuencia de imágenes se clasifica como un tipo de fotograma concreto, como un fotograma I, P o B.

Un fotograma I, o intrafotograma, es una imagen autónoma que se puede codificar de forma independiente sin hacer referencia a otras imágenes. La primera imagen de una secuencia de vídeo es siempre un fotograma I. Los fotogramas I sirven como puntos de inicio en nuevas visualizaciones o como puntos de resincronización si la transmisión de bits resulta dañada. Los fotogramas I se pueden utilizar para implementar funciones de avance o retroceso rápido o de acceso aleatorio. Un codificador insertará automáticamente fotogramas I a intervalos regulares o a petición de nuevos clientes que puedan incorporarse a la visualización de una transmisión. La desventaja de este tipo de fotogramas es que consumen muchos más bits, pero por otro lado no generan demasiados defectos provocados por los datos que faltan.

Un fotograma P (de interfotograma Predictivo), hace referencia a partes de fotogramas I o P anteriores para codificar el fotograma. Los fotogramas P suelen requerir menos bits que los fotogramas I, pero con la desventaja de ser muy sensibles a la transmisión de errores, debido a la compleja dependencia con fotogramas P o I anteriores.

Un fotograma B, o interfotograma Bipredictivo, es un fotograma que hace referencia tanto a fotogramas anteriores como posteriores. El uso de fotogramas B aumenta la latencia.

I-, B- and P-frames
Secuencia típica con fotogramas I, B y P. Un fotograma P sólo puede hacer referencia a fotogramas I o P anteriores, mientras que un fotograma B puede hacerlo a fotogramas I o P tanto anteriores como posteriores.

Cuando un decodificador de vídeo restaura un vídeo descodificando la transmisión de bits fotograma a fotograma, la descodificación debe comenzar siempre por un fotograma I. Los fotogramas P y B, en caso de usarse, deben descodificarse junto a los fotogramas de referencia.

Los productos de vídeo en red Axis permiten a los usuarios configurar la longitud de GOV (grupo de vídeo), la cual determina la cantidad de fotogramas P que se deberían enviar antes de realizar el envío de otro fotograma I. La frecuencia de bits se puede disminuir mediante la reducción de la frecuencia de fotogramas I (GOV más largo). Para reducir la latencia no se utilizan fotogramas B.

Además de la codificación diferencial y la compensación de movimiento, se pueden emplear otros métodos avanzados para reducir aún más los datos y mejorar la calidad de vídeo. El H.264, por ejemplo, admite técnicas avanzadas como los esquemas de predicción para codificar fotogramas I, la compensación de movimiento mejorada con una precisión inferior a un píxel y el filtro de eliminación de bloques en bucle para suavizar los bordes de los bloques (defectos).

Siguiente tema: Formatos de compresión

axisFlexSubContent