INTERDIC Diccinario de Internet en Español

 

MPEG EL VÍDEO DIGITAL POR EXCELENCIA


 

Vamos a intentar desvelar los secretos del MPEG (Moving Pictures Experts Group) siglas de: Grupo de Expertos en Imagen en Movimiento. El MPEG es un sistema compacto y flexible para representar una señal de audio/vídeo para su almacenamiento o transmisión. Lo que quiere decir que el MPEG, por sus características particulares, no esta diseñado para ser editado aunque con determinadas herramientas esto sea posible.
Con este fin se creo el M-JPEG del que hablaremos en el próximo articulo.
El MPEG esta pensado para conseguir altos ratios de compresión manteniendo la máxima calidad posible. La perdida de calidad-datos en una secuencia MPEG esta estudiada atendiendo a la visión humana por lo que las principales perdidas se producen normalmente en los colores que el ojo aprecia con menos detalle. Este sistema cuenta con una sintaxis propia que le confiere una gran flexibilidad, ya que permite resoluciones de hasta 4096x4096 (MPEG-1), ajustes de calidad/compresión y de velocidad de transferencia (bitrate). Se trata por tanto de un sistema versátil que permite la reproducción de vídeo con una buena relación calidad / transferencia, por ejemplo en CD-I obtenemos una calidad de vídeo comparable al VHS a un a velocidad de transferencia de 150 Kbytes/Segundo y con sonido de alta calidad.
Esto hace del MPEG un complejo sistema de codificación por lo que no vamos a estudiarlo con todo detalle ya que necesitaríamos unos conocimientos profundos de matemáticas entre otras materias.

Almacenar una secuencia de imágenes estáticas y luego reproducirlas a suficiente velocidad es lo que proporciona la sensación de “imagen en movimiento” de cualquier sistema de vídeo o cine. Sabemos que almacenar 25 imágenes por segundo a alta resolución es una tarea que ocupa entre 10 y 20 Megabytes sin usar compresión. Esto supone que 1 minuto de vídeo puede ocupar 1 Gigabyte perfectamente, lo cual puede ser difícil cuando la mayoria de los videos son de mas de sesenta segundos. Es necesario por tanto usar algún tipo de compresión. Podemos comprimir uno a uno cada frame, con lo que obtendríamos una secuencia de imágenes que pueden ser descomprimidas independientemente una de otra, es decir, podemos seleccionar cualquier frame al azar aplicar el algoritmo que hayamos usado y verlo. Esto seria un sistema Intra-frame. También podemos tomar una imagen de referencia y almacenar de la siguiente solo las variaciones  y así sucesivamente, con lo que obtenemos otro tipo de compresión “referencial”. Podemos combinar las opciones anteriores, aplicar un algoritmo con perdida de datos (como el usado en JPEG)  y obtener un sistema en el que se almacena una imagen inicial, se usa como referencia para generar las siguientes que se van degradando y cada diez imágenes referenciadas se añade una comprimida independientemente y se vuelve a usar como referencia para las diez siguientes...
Muchos CODECs de Vídeo para Windows funcionan mas o menos así, las imágenes de referencia son los llamados keyframes y al resto se les llama delta-frames.
 

¿ En que consiste ?
El estándar MPEG1 tiene tres partes o capas: Sistema, Vídeo y Audio. La capa del sistema  proporciona las funciones necesarias (es donde reside la sintaxis ante mencionada) para el uso de de la siguiente capa que es la que contiene los datos codificados. La codificación del audio en una secuencia MPEG no la vamos a tratar ya que lo que nos interesa es saber como consigue esa alta compresión en vídeo.

El algoritmo de codificación básico para MPEG1 utiliza 8x8 DCT, predicción intercuadros y compensación del movimiento y divide los frames en tres tipos I, P y B.

¿ Que es todo esto ?
Comencemos por la predicción intercuadros. El primer paso es dividir la imagen en bloques (Macroblocks) de 16x16 pixels. A continuación se eliminan las redundancias que existen entre un frame y el siguiente, codificando por ejemplo la repetición de un macroblock en un frame con respecto al anterior, esto ocupa mucho menos que repetir el macroblock completo. Pero existen dos sistemas adicionales que utiliza el algoritmo de codificación MPEG, uno de ellos es la compensación de movimiento. Cuando un macroblock se repite en el frame siguiente pero no en la misma posición (por ejemplo debido a un movimiento de cámara), el sistema almacena un vector que indica a donde debe desplazarse el/los macroblocks al formar el siguiente cuadro. También utiliza un sistema de predicción de oclusión que reconoce cuando unas partes de la imagen cubren a otras debido a su desplazamiento (por ejemplo al moverse un personaje por un escenario fijo) y almacena referencias a estos datos. Por ultimo aplica 8x8 DCT (Transformada Discreta del Coseno) una formula matemática con la que podemos representar de una manera mas compacta funciones de ondas, es decir , imágenes. Las imágenes a las que se les aplica esta función son bloques de 8 por 8 pixels, de ahí 8x8 DCT.

¿ Como se organiza todo esto ?
se utilizan tres tipos de frames :
I: Este tipo de frame no hace referencia a ningún otro y utiliza únicamente 8x8 DCT se podría decir que es una imagen comprimida en JPEG. También llamado Intra-codificación.
P: En estos frames los macroblocks pueden estar codificados como en los I o hacer referencia (predicción intercuadro) al frame anterior.
B: Por ultimo en este tipo de frame los macroblocks pueden ser Intra-codificados, con referencia al  frame anterior al posterior o interpolado, es decir, formado a partir de un macroblock anterior y otro posterior.
Estos tipos de frames se disponen en una patrón estándar al codificarse un archivo  MPEG que es : I BB P BB P BB P BB I
Esta secuencia puede ser alterada y de hecho algunos codificadores de altas prestaciones lo hacen, ya que examinan el tipo de imágenes a codificar y generan la secuencia mas adecuada.
Finalmente se le aplica a los frames codificación Huffman (un sistema de compresión parecido al PKZIP) y listo. Aunque todo esto pueda parecer complejo, insistimos en que es una visión superficial de este excelente sistema de vídeo digital.

¿ Que compresiones se obtienen ?
Con una calidad aceptable desde 50:1
se puede hablar de calidad broadcast  en torno a 10:1

¿ Y el MPEG-2 ?
MPEG-2 es una mejora del MPEG-1 que cubre las deficiencias que este tenía para el vídeo entrelazado y añade algunos cambios. Se estima que tiene un incremento global de rendimiento con respecto al MPEG-1 de el entre el 10 y el 20 por ciento. El MPEG-2  es usado para Broadcast y es el sistema de vídeo que incorporan los DVD.

¿ Para que se usa ?
Como hemos dicho al principio para almacenamiento y transmisión. Tenemos multitud de casos prácticos: La televisión digital, tan en boga actualmente, transmite en MPEG-2. Gran parte de las transmisiones entre repetidores en televisión convencional también usa el MPEG-2. El VCD y el CD-I utilizan MPEG-1.
Numerosas noticias en vídeo que intercambian emisoras de TV se hacen en formato MPEG-1 o MPEG-2. También podemos encontrar vídeos en CD y Internet en este formato.

¿ Es mejor que el Vídeo para Windows (VFW)?
El MPEG Estándar PAL esta diseñado para reproducir vídeo a 25 frames por segundo a 352x288, con estos parámetros no existe ningún CODEC de VFW que consiga un ratio de compresión/calidad comparable.

Y por ultimo... ¿ Que hay mas allá del MPEG ?
Los sistemas de codificación mas avanzados que podría incorporar el MPEG en el futuro en lugar de el actual DCT  podrían ser el llamado “Wavelet” o el Fractal, ambos basados en avanzados sistemas matemáticos. Pero casi sin ninguna duda los receptores de Televisión Digital  de un futuro próximo incorporaran decodificadores MPEG-X.

 

   


[ ARTICULOS ][ PAGINA INICIAL ]

© Copyright -YASABES.COM. 1996/2013