viernes, 4 de diciembre de 2009

Compresión de Vídeo MPEG

COMPRESIÓN DE VÍDEO

1. Compresión de Imágenes en Movimiento

La necesidad de reducir el volumen de datos que se manejan para almacenamiento en algún soporte o la transmisión por canales de comunicación, son motivos por el cual se comprime las imágenes.

El método de codificación híbrida es la más usada por la mayoría de los estándares.

1.1 La Señal de Vídeo Digital

En los actuales sistemas de televisión analógica (NTSC, PAL, SECAM) solo consta de una componente de luminancia (Y) y una de crominancia, en cambio la señal digital, cumpliendo la recomendación 601 del CCIR válido para sistemas de 525 y 625 líneas, se componen de una señal de luminancia (o brillo) y dos de crominancia (que dan el color) muestreadas a 15.3MHz y 6.75MHZ respectivamente. Dicha relación de frecuencias de muestreo se denomina 4:2:2. Ambas señales se codifican usando modulación por impulsos codificados (PCM) con cuantificación uniforme y 8 bits por muestra.

Con las frecuencias antes mencionadas se toman 864 muestras (pixel) para la luminancia y 432 muestras para la crominancia (para el sistema de 625 líneas) y de 858 muestras para la luminancia y 429 muestras para la crominancia (para el sistema de 525 líneas), las cuales al eliminar los pixeles que no contienen información se tiene 720 muestras para la luminancia y 360 muestras para la crominancia en ambos sistemas.

Cada muestra se codifica en 8 bits, de esta manera se obtiene un régimen binario de:

(13.5 + 2*6.15) MHz * 8bits = 216 Mb/s

Con el fin de reducir la velocidad se eliminarán los pixeles que no contienen información, sin degradar la imagen, obteniendo un régimen binario para el sistema de 625 líneas:

(720*288 + 2*360*288)muestra/campo * 8bits/muestra *50 campo/seg = 165.88Mb/s

Para 525 líneas:

(720*240 + 2*360*240)muestra/campo * 8bits/muestra *59.94 campo/seg = 165.88Mb/s

Estos resultados siguen evidenciando la necesidad de compresión de este volumen para poder adaptarlo a los canales y soportes de almacenamiento.

Elemento de imagen, pel o pixel: superficie más pequeña de la imagen óptica que se puede reproducir fielmente.

La señal de televisión esta entrelazada con una relación de 2:1 la cual quiere decir que cada cuadro de imagen (frame) está formada por dos campos (field).

1.2 Codificación Híbrida

La compresión de la señal de vídeo se realiza mediante la eliminación de información redundante en la misma. Existen dos tipos de redundancia, por un lado la relacionada con la naturaleza de la señal, y por otro, la que atañe a las características del receptor (sistema de visión humano):

· Redundancia estadística, viene dada por la alta correlación espacio – temporal entre las muestras adyacentes de la señal de vídeo. Con adyacente se refiere a las muestras dentro de una misma imagen (redundancia espacial) y a la que existe entre imágenes sucesivas (redundancia temporal).

· Redundancia de percepción, elimina la información que el ojo humano no puede captar.

La codificación híbrida combina técnicas de predicción y transformación para reducir redundancia en la señal de vídeo. La técnica de codificación híbrida más popular, utiliza predicción en el dominio temporal, usando compensación de movimiento y transformación en ambas dimensiones.

La imagen a codificar se divide en bloques de N*N pixeles para cada bloque se genera una predicción por compensación de movimiento a partir de una imagen ya codificada. Si entre ambas imágenes existe cierta redundancia espacial, el error entre la predicción y el bloque original tendrá menor energía.

La transformación que más se emplea en codificación de imágenes es la transformada discreta del coseno DCT, por ser ortogonal, separable y existir algoritmos rápidos para su computo. La DCT permite reducir la tasa de codificación y la velocidad de transmisión, se divide la imagen en sectores de 8*8 pixeles, denominado Xij, que después de aplicar la DCT se convierte en una matriz 8*8 denominada Tmn. La DCT aprovecha la redundancia espacial de la imagen.

Para reducir las tasas binarias se emplean las siguientes técnicas:

· Cuantificación (Q): Este proceso es irreversible y donde se producen más pérdidas en el codificador. El resultado de este proceso es de hacer cero el mayor número posible de los coeficientes de la DCT manteniendo el nivel de calidad aceptable.

· Codificación de longitud de variable (VCL): llamada también codificación por entropía, codifica con mayor número de bits a los códigos con menos probabilidad de ocurrencia, y con un número menor de bits a aquellos que tienen mayor probabilidad de ocurrencia.

Para terminar, la codificación híbrida utiliza el sub-muestreo para disminuir el régimen binario, teniendo una reducción en la calidad de la imagen, pero solo se usa para las señales de crominancia aprovechando las deficiencias del sistema visual humano a este tipo de información. Así se utiliza la estructura de muestreo 4:2:0, en la que por cada cuatro muestras de Y, se toma solo una de CR y CB.

2. Estándares de Compresión de Vídeo

2.1 H.261

Es un estándar de compresión de vídeo desarrollado para facilitar los servicios de videoconferencias y videotelefonía. Utilizando canales de 64Kb/s por lo cual se conoce también por pX64 (p=1,..,30). La máxima capacidad disponible es de 1.92Mb/s (p=30).

Con el fin de compatibilizar los sistemas de 625/50 y 525/60, el codificador opera con imágenes en un formato común denominado CIF (Common Intermediate Format) cuya resolución es de 352*288 pixeles para la luminancia y 176*144 pixeles para las dos componentes de crominancia.

El método de compresión que utiliza es un híbrido de predicción y transformación.

2.2 MPEG-1

Desarrollado para el almacenamiento de video y sonido asociado a una tasa de bit de 1.5Mb/s en soporte tales como CD-ROM, DAT, etc. También puede ser usado para la transmisión de vídeo.

MPEG-1 utiliza un método de codificación predicción/transformación parecida a la de H.261 pero con algunas características adicionales y mayor complejidad, con la diferencia de que MPEG-1 permite compensación de movimiento bidireccional. La secuencia de vídeo se divide en grupos de N imágenes (Group Of Pictures, GOP) que contienen tres tipos de imágenes diferentes:

· La primera se denomina I, se codifican sin ninguna referencia temporal a cuadros anteriores o posteriores (sin predicción), provocando una compresión menor, pero se pueden usar estos cuadros como punto de acceso a la secuencia que permite realizar funciones de avance y retroceso rápido.

· Imágenes de tipo P, se codifican más eficientemente debido a que se emplea predicción por compensación de movimiento sobre un cuadro I o P anterior. Se ubican de acuerdo a: M+1, 2M+1, 3M+1,…

· Imágenes del tipo B, son las que más se comprimen, al utilizar predicción bidireccional respecto a una señal I o P anterior, posterior o ambas.

El orden de codificación y su posterior envío e n la trama de bits difiere del orden de visualización.

Aunque MPEG-1 permite formatos de imágenes mayores, se define un formato SIF (Source Input Format) con una resolución de 360*240 pixeles para 30 imágenes por segundo o de 360*288 para 25 imágenes por segundo.

2.3 MPEG-2

El objetivo principal del MPEG-2 fue definir un estándar genérico que pudiera aplicarse en el mayor número de aplicaciones posibles. Los requisitos que se plantearon fue la compatibilidad con los formatos anteriormente mencionados, una calidad de imagen en el rango de 3Mb/s y 10Mb/s, soporte a varios formatos de vídeo entrelazado y progresivo, estabilidad en la trama de bits, adaptación a varios sistemas de transmisión y almacenamiento y capacidad de codificación con bajo retardo.

Para poder abordar el amplio rango de aplicaciones, el estándar tiene definidos una serie de perfiles (profiles) y niveles (levels) que se utilizan de acuerdo a la aplicación:

· Perfiles: Sencillo, principal, SNR, espacial y alto.

· Niveles: Bajo, principal , alto con 1440 y alto. Se imponen en la resolución como en la velocidad binaria.

MPEG-2 también emplea codificación híbrida y la secuencia de imágenes se organizan en GOP. Pero MPEG-2 soporta vídeo entrelazado, en cuyo caso la señal se vídeo consiste en una secuencia de campos. Para su manejo se definen dos estructuras de imagen:

· Imágenes con estructura de campo (field-pictures): Imágenes formadas por un solo campo dividida en macro bloques y se codifican por separado. Se usan en parejas (Top-field y Bottom-field) y juntas constituyen un cuadro.

· Imágenes con estructura de cuadro (frame-pictures): Se forman entrelazando los pixeles de los campos para formar el cuadro en macro bloques y se codifica.

En MPEG-2 se admiten tres formatos de macro bloques correspondientes a su estructura de muestreo 4:2:0, 4:2:2 y 4:4:4.

La principal diferencia entre MPEG-1 y MPEG-2 es la capacidad de este ultimo de soportar señales de vídeo entrelazadas, para lo cual se usas diversos modos de predicción:

· Predicción de cuadro para imágenes con estructura de cuadro (Frame prediction for frame-pictures).

· Predicción de campo para imágenes con estructura de campo (Field prediction for field-pictures): Específico de MPEG-2.

· Predicción de campo para imágenes con estructura de cuadro (Field prediction for frame-pictures).

· Predicción de 16X8MC para imágenes con estructura de campo (16X8MC for field-pictures). Este modo de predicción resulta inútil cuando la imagen presenta movimientos irregulares.

Resumen de los modos de predicción:



3. Estimación de Movimiento

El objetivo de la estimación de movimiento es de buscar para cada bloque de imagen otro bloque de igual tamaño (predicción) y perteneciente a una imagen ya codificada anteriormente que consiga que el error de predicción resultante se pueda codificar con el menor número posible de bits.

Se definen cuestiones de tipo general como el número de vectores por macro bloque, la precisión o el tamaño de los vectores.

Una de las técnicas usadas para la estimación de movimiento realiza un seguimiento de las características de la imagen para medir su desplazamiento. Dentro de este grupo se engloba lo que es la técnica de correlación cruzada y en la comparación de bloques. La correlación cruzada resulta adecuada cuando los objetos no cambian considerablemente de forma, tamaño u orientación. En escenas con múltiples objetos moviéndose, solo se obtiene el movimiento más destacado. Para evitar este problema se descompone la imagen en bloques y se aplica la correlación a cada bloque en lugar de hacerlo a la imagen global.

Las técnicas de comparación realizan la partición de la imagen en celdas y estudian el movimiento de dichas celdas respecto a la imagen previa. Dentro de esta técnica existen dos tendencias:

· Los algoritmos recursivos denominados pixel-recursive.

· Los algoritmos de ajustes de bloques.

El modelo más empleado debido a su sencillez de implementación es el de ajuste de bloques (Block-Matching Algorithms, BMA), el cual consiste en la “búsqueda" de cada bloque en la imagen actual sobre una area reducida de una imagen anteriormente codificada. Es resultado de la estimación es un vector, denominado vector de movimiento, que identifica el desplazamiento entre el bloque de referencia y la predicción.

3.1. Función de coste

La búsqueda hecha referencia anteriormente se realiza optimizando una determinada función coste. La función más usada se muestra en la siguiente figura:

El error cuadrático medio (MSE) y el error absoluto medio (MAE) son las funciones más utilizadas. El MAE permite obtener resultados aceptablemente parecidos al MSE. Pero precisa la ventaja de no precisar multiplicador. Pero el MSE no es el más utilizado en realizaciones hardware, sino que para evitar la división entre N2 se utiliza el MAE.

Recientemente ha sido propuesta otra función coste basada en la clasificación de pixeles con relación a un umbral. Esta nueva función presenta la ventaja de ser más sencilla en realización hardware.

3.2. Algoritmo de búsqueda

El algoritmo más preciso es el exhaustivo (full-search) que consiste en evaluar la función de coste en todas y cada una de las posibles ubicaciones del bloque de referencia sobre el área de búsqueda. Pero su coste resulta muy elevado para casos cuando el área de búsqueda es muy grande.

Algoritmos que reducen el número de evaluaciones de la función de error: paso logarítmico y búsqueda jerárquica, las cuales destacaron por su repercusión posterior:

· Busqueda en la dirección de error mínimo (Direction of Minimun Distortion, DMD): utiliza MSE como función de coste. Comienza en cinco posiciones, que son la central, una a cada lado de ella en dirección vertical y otras dos en dirección horizontal, con un paso de tamaño igual a p/2 o a la potencia de 2 más próxima a p/2. Se repetirá hasta que los mínimos de dos etapas coinciden. En este momento se divide el tamaño del paso por 2 y se repite el proceso hasta que el paso sea 1.

· Búsqueda en tres pasos (Three Step Search, TSS) similar al anterior pero con la diferencia de que utiliza el MAE como función de coste y una diferencia en el patrón de búsqueda:

· Búsqueda en una sola dirección (Conjugate Direction Search): tiene una versión simplificada muy popular por su sencillez que se denomina One-at-a-Time Search OTS. Que comienza su búsqueda en dirección horizontal con paso de un pixel comenzando por la posición central y las dos adyacentes y continuando en el sentido de la que produzca menor error hasta que se encuentre un mínimo. Y de dicho mínimo se seguirá la búsqueda en dirección vertical.

Por su parte, los métodos de búsqueda jerárquica también utilizan, en general, estrategias de búsqueda rápida pero además manejan diferentes resoluciones del área de búsqueda y del bloque de referencia según el paso.

0 comentarios:

 

Tecnologia, Electronica, Deportes y Mucho Mas Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template