37
LAB N°03_2 Estándares para codificación de video MPEG-1, MPEG-2, en la cual por lo menos se deben tratar los puntos: 1. Transformada discreta del coseno 2. Técnicas de compresión 3. Jerarquía de los datos de video 4. Imágenes, cuadros I, P, B 5. Arquitectura del sistema 6. Conclusiones 7. Recomendaciones 8. 03 Simulaciones en donde se cambien las características de la imagen. Referencia: file:///C:/Users/aayala/Desktop/Compresion%20de%20video.pdfno

LABORATORIO_3.docx

Embed Size (px)

Citation preview

Page 1: LABORATORIO_3.docx

LAB N°03_2

Estándares para codificación de video MPEG-1, MPEG-2, en la cual por lo menos se deben tratar los puntos:

1. Transformada discreta del coseno2. Técnicas de compresión3. Jerarquía de los datos de video4. Imágenes, cuadros I, P, B5. Arquitectura del sistema6. Conclusiones 7. Recomendaciones8. 03 Simulaciones en donde se cambien las características de la imagen.

Referencia:file:///C:/Users/aayala/Desktop/Compresion%20de%20video.pdfno

Page 2: LABORATORIO_3.docx

ESTANDARES DE COMPRESION DE VIDEO MPEG

Hoy en día no puede hablarse de la televisión digital sin referirse de algún modo al acrónimo MPEG, iniciales de Moving Pictures Expert Group (Grupo de expertos de imágenes de Movimiento), Durante muchos años las aplicaciones de la televisión digital se habían limitado a los equipos de estudio, La transmisión de las señales de video digitales que implican flujos de velocidades binarias muy elevadas (248Mbit/s para señales de 720x480 pixeles, 24 bits por pixel) , era impensable por la anchura de banda requerida .Ahora sin embargo, lo que se consideraba el mayor obstáculo para la transmisión de la televisión digital, gracias a las modernas técnicas de comprensión de video, ha pasado a ser una de sus ventajas más importantes ,Utilizando estas técnicas de comprensión, o reducción de las velocidad del flujo binario , se puede transmitir no uno sino varios programas de un canal de televisión.

La transmisión digital es de importancia primordial por las telecomunicaciones particularmente en la industria telefónica , pero hay mucho más en el negocio del video digital aparte de la videoconferencia y la videotelefonía, La industria informática, de telecomunicaciones y de electrónica de consumo , comparten cada vez con mayor frecuencia la misma tecnología , y esta tecnología incluye comprensión digital de video(GaI91),En vista de la tecnología compartida por la industria de procesado de información, el ISO se hizo cargo del esfuerzo de desarrollar un estándar para video y su audio asociado adecuado para su transmisión y almacenamiento en medios digitales. Este esfuerzo fue conocido por el nombre del grupo que lo inicio en 1988, MPEG. Las actividades del grupo MPEG cubrieron además de la comprensión de video, su audio asociado y el problema de su sincronización audiovisual 8Awe97)

Hoy en día en el mercado hay cerca de 20 distintos sistemas patentados de comprensión que pueden ser útiles para aplicaciones profesionales de distribución de programas de televisión (Gav95),No obstante sin una normalización a nivel internacional, no sería posible la fabricación de chips para la descodificación de señales comprimidas a precios asequibles para el gran público , que está empezando a tener acceso a las emisiones de televisión digital , Afortunadamente , el conjunto de normas MPEG de procesado de las señales de televisión digital. Incluyendo métodos de comprensión de video, se están imprimiendo en todo el mundo. La familia de sistemas MPEG y concretamente el MPEG-2 tiene un gran interés para aplicaciones de distribución de video digital y ha servido de base para las especificaciones del sistema americano Gran Alianza y para las del sistema europeo DVB de transmisión de televisión digital. Sobre la base del MPEG-2, que es ya una norma internacional, se podrán ofrecer en el mercado descodificadores por unos miles de pesetas que abrirán al gran público todas las posibilidades del apasionante mundo de la televisión digital.

MPEG es un grupo internacional creado bajo los suspicion de la organización internacional (ISO), con participación de los sectores de telecomunicación, informática y radio fusión, Al comienzo , el objetivo de este grupo era proporcionar un método genérico de codificación de imágenes en movimiento y del audio asociado, para dispositivos de almacenamiento digital a velocidades binarias de 10Mbit/s, El desarrollo de la norma MPEG-1 , el primer trabajo del grupo , iniciado en 1988 y ya finalizado , se concentró en la comprensión de video con velocidades binarias bajas

Page 3: LABORATORIO_3.docx

adecuadas para dispositivos de almacenamiento tales como CD-ROM y transmisión en 1,554 y 2,048 Mbits/s . En 1990 comenzó el estudio de la norma MPEG-2, cuyo objetivo era definir un método de codificación de las señales audiovisuales para proporcionar una buena calidad, con velocidades binarias con un límite de 15Mbit/s sobre la base de la norma de televisión digital definida en la recomendación 601 de CCIR, Posteriormente se ha extendido el límite de velocidades binarias para tener en cuenta la televisión de alta definición. Este estándar proporciona una mayor flexibilidad de los formatos de entrada, mayores caudales (necesitados para la televisión digital de alta definición) y una mayor resistencia a errores. La normalización de este estándar se produjo en mayo de 1994.

El actual proyecto del grupo MPEG , es el estándar MPEG-4 , que está siendo desarrollado para las aplicaciones de comunicaciones multimedia a muy bajo caudal, en las cuales se requiere la comunicación de información audiovisual (Leo96).En este sentido el grupo MPEG, en julio de 1993 se fijó objetivo de desarrollar un estándar para codificaciones audiovisuales en aplicaciones multimedia, que permitan interactividad elevada comprensión, estabilidad del video y del audio, y soporte para contenido de video y audio tanto reales como sintéticos. En contraste a la idea de codificación de video basada en objetivos. Este estándar fue designado con el numero 14496 por el ISO y se espera que esté finalizado en noviembre de 1998(Bha97)

Por ultimo conviene señalar que las llamadas normas MPEG no se pueden considerar, ni son en realidad, normas concretas de implementación de equipos, sino más bien descripciones genéricas del modo en el que se deben imprimir las señales de video y audio y como están deben ser sincronizadas para formar un programa

Page 4: LABORATORIO_3.docx

ESTANDARES DE COMPRENSION DE VIDEO MPEG-1

El trabajo de MPEEG-1 estuvo basado inicialmente en el trabajo del grupo de expertos de ITU para videotelefonía y en el estándar H-261.Despues de consideraciones cuidadosas, el comité MPEG se dio cuenta que era de gran utilidad y que un relajamiento de las restricciones de retardo y caudal de transmisión, podrían llevar a una solución con mayor calidad en el rango de 1.5Mbps. De todas formas, fueron necesarios algunos cambios para conseguir una mayor calidad de imagen, y otras técnicas de codificación adicionales fueron añadidas al estándar H-261. La predicción bidireccional es una de las innovaciones principales del MPEG con respecto al estándar H.261 del ITU. Para aumentar el factor de comprensión MPEG introdujo el concepto de predicción bidireccional (Bha95) que consiste en el almacenamiento de imágenes pasadas y futuras para la predicción del cuadro presente. Para conseguir esto, los cuadros en el flujo de bits codificado deben estar en orden diferente al orden visionado. Esto fuerza la creación de la estructura llamada GRUPO DE CUADROS (GOP) (Bha95), que es la mínima unidad que puede ser descodificada independientemente del flujo codificado. El conjunto de objetivos establecidos por los expertos del grupo, para la estandarización del MPEG-1 fueron las siguientes (GaI91):

ACCESO ALEATORIO: El acceso aleatorio es una característica esencial para el video en un dispositivo de almacenamiento, bien sea el medio un medio de acceso aleatorio tal como CD o disco magnético o de acceso secuencial. Acceso aleatorio requiere que el flujo de bits comprimidos sea accesible en medio de cualquier cuadro de video, y que todo cuadro sea decodificable en una cantidad limitada de tiempo. El acceso aleatorio implica la existencia de puntos de acceso, es decir, segmentos de información codificados en referencia a sí mismos solamente.

BUSQUEDA RAPIDA/REBOBINADO RAPIDO: Dependientemente del medio de almacenamiento debe ser posible rastrear un flujo de bits comprimido y utilizando los puntos de acceso adecuados, mostrar las imágenes seleccionadas y obtener un efecto de visionado rápido.

VISIONADO INVERSO: Las aplicaciones de video interactivas requieren poder mostrar la señal en video inverso. Aunque no es necesario para todas las aplicaciones mantener calidad total en modo de visionado inverso o ni siquiera tenerlo, se percibió que esta característica debía ser posible sin un coste adicional de memoria desmesurado.

Page 5: LABORATORIO_3.docx

SINCRONIZACION AUDIOVISUAL: La señal de video debería ser sincronizable con su señal de audio asociado. Debe proporcionarse un sistema que permita la re sincronización permanente de las señales de audio y video en caso de que estas provengan de señales de reloj diferentes.

ROBUSTER FRENTE A ERRORES: La mayoría de los medios de transmisión y almacenamiento no están libres de errores, y aunque se espera que un esquema de codificación de canal apropiado se use en la mayoría de aplicaciones, el esquema de codificación de canal apropiado se use en la mayoría de aplicaciones, el esquema de codificación deberá ser robusto frente a errores no corregidos

RETARDO DE CODIFICACION/DESCODIFICACION: Cuando se indicó con anterioridad, el retardo de codificación puede no ser un factor limitador en sistemas de aplicaciones asimétricas, donde solo se necesite descodificación, dejando la tarea más complicada de codificar a sistemas basados en hardware más potente. Como puede haber un compromiso entre calidad y retardo hasta cierto margen. El algoritmo deberá tener buen comportamiento en el rango de retardo aceptable (el umbral de interactividad se sitúa sobre 1 segundo aproximadamente (GaI91), y por lo tanto el retardo se considera un parámetro)

EDITABILIDAD: Aunque se entiende que todas las márgenes no serán comprimidas independientemente, es deseable tener la capacidad de construir unidades de edición de corta duración de tiempo y codificadas solo en referencias a sí mismas, para obtener un nivel educabilidad aceptable.

COMPATIBILIDAD DE FORMATOS: El estándar debe soportar una amplia gana de dimensiones de imagen, espacios de color, relaciones de aspecto, etc. Y no debe estar limitado a clases de imágenes con restricciones en el contenido de la escena, tales como complejidad, rango de colores o propiedades estadísticas.

COSTOS: Todas las soluciones de los algoritmos propuestos fueron evaluadas para verificar que la implementación de descodificador es posible con un número pequeño de chips, dada la tecnología de 1990.El algoritmo propuesto también tiene que reunir la condición de realizar el proceso de codificación en tiempo real.

Los requerimientos de capacidad de edición total y acceso aleatorio condujeron a la introducción de cuadros codificados complemente como intra-cuadro, periódicamente en el flujo de bits codificado. La codificación de estos cuadros con codificación intra-cuadro se basó en gran parte en el estándar JPEG para imágenes fijas. Para compensar la reducción del factor de comprensión debido a la introducción periódica de imágenes intra-codificadas, se introdujo la predicción bidireccional.

El estándar de codificación de video MPEG-1 (ISO-11172) es un algoritmo de compresión con pérdidas, que está pensado como un estándar genérico de representación de video.

Page 6: LABORATORIO_3.docx

Para conseguir esto, se definen un gran número de parámetros en el BISTREAM (flujo de bits) comprimido. El estándar no define un codificador especifico, sino que define solo una estructura de capas, una sintaxis para las secuencias validas de MPEG-1 y el proceso para convertir una secuencia MPEG-1 en una secuencia de cuadros. Así de acuerdo con esta definición, cualquier codificador que genere una secuencia MPEG-1 valida es un codificador valido y cualquier descodificador capaz descodificar apropiadamente una secuencia MPEG-1 legal, es una descodificador-legal.

Page 7: LABORATORIO_3.docx

El estándar incorpora técnicas de comprensión como la transformada DCT, para reducir la redundancia especial de los datos, compensación de movimiento para reducir la redundancia temporal, cuantificación, codificación de longitud de series y codificación de entropía para codificar más eficientemente los datos. El proceso de codificación empieza con un pre-procesado de la señal de video, que puede incluir, el cambio del formato de colores, cambio de video entrelazado a progresivo, pre-filtrado y muestreo de las componentes de color. Ninguna de estas operaciones iniciales esta especificada en el estándar.

Aunque MPEG-1 proporciona un elevado grado de flexibilidad sería difícil y poco probable esperar que cada descodificador MPEG pudiera soportar todas las opiniones. Para ellos se definen el conjunto de parámetros restringidos del flujo de bits que como mínimo cada descodificador MPEG-1 compatible debería soportar.

PREDICCION BIDIRECCIONAL

Una de las innovaciones del estándar MPEG-1 sobre el estándar H.261 es el uso de la predicción bidireccional. La predicción bidireccional realiza el proceso de estimación de movimiento dos veces, una en una imagen pasada y otra en una imagen futura, de forma que obtiene dos vectores de movimiento y dos predicciones para cada macro bloque. El codificador puede obtener el residuo de movimiento compensado utilizando cualquiera de las dos predicciones (pasada o futura) o un promedio de ellas, eligiendo la estimación más eficiente posible de las tres.

El uso de la predicción bidireccional da lugar a tres tipos de compensación de movimiento, hacia adelante, hacia detrás o interpolada. Cuando la compensación es hacia adelante o hacia atrás, solo se genera un vector de movimiento, pero cuando la compensación es interpolada se generan dos vectores de movimiento, uno para cada cuadro de referencia pasada y futuro. Tanto si se genera uno como si se generan dos, estos son codificados diferencialmente con respecto a los vectores de movimiento del macro bloque anterior, y posteriormente se les aplica una codificación Hoffman, para ser transmitidos o almacenados junto al residuo de movimiento compensado, para ese macro bloque.

Page 8: LABORATORIO_3.docx

Debido a la predicción bidireccional, el orden de presentación de los cuadros es diferente al orden de codificación, debido a que los cuadros se tienen que presentar al descodificador en una secuencia determinada. Los cuadros de referencia necesarios para reconstruir el cuadro en cuestión, tienen que codificarse y enviarse antes que este, para que el descodificador tenga la información necesaria para reconstruir el cuadro en cuestión. Posteriormente, el descodificador necesitara reordenarlos de nuevo, antes de que sean mostrados en pantalla.

ETRUCTURA DE CAPAS, UNIDADES FUNCIONALES Y SINTAXIS DE ESTANDAR MPEG-1

La estructura de capas está definida para hacer del flujo de bits una secuencia de entidades individuales entre sí. La estructura compleja de capas, puede ser vista de arriba abajo, donde cada capa incluye un número de elementos de la capa anterior. La estructura jerárquica también está organizada a los largo del flujo de bits. Cada capa tiene una cabecera con información, seguida de un número de elementos de la siguiente capa .Así, cada secuencia es precedida de una cabecera de secuencia que contiene parámetros tales como el tamaño de los cuadros, la relación de las dimensiones del cuadro, etc. Seguido de un número de GOP y por ultimo una manera de fin de secuencia .Cada GOP es precedido por una cabecera de inicio de GOP y después por un número de cuadros. Cada cuadro a su vez se descompone de un número de franjas y cada vez se descompone de un número de franjas y cada franja por un número de macro bloques. Finalmente, los macro bloques se dividen en varios bloques. Cada cabecera de inicio coincide con un código que está alineado al inicio de un byte para facilitar su detección y que no se puede producir en ningún otro lugar durante la codificación. Esto es necesario para ser capaz de analizar el flujo de bits mientras se descodifica, ya que los tamaños de los elementos codificados serán variables. Cada una de las capas tiene una significación funcional para el proceso de codificación, la relación entre cada capa y su significado funcional esta mostrada.

Page 9: LABORATORIO_3.docx

CAPA DE SECUENCIA

La capa de secuencia define una secuencia completa de video codificada, como por ejemplo una película o un programa de TV, que puede ser independientemente visionada y editada. Los principales parámetros (sintaxis) que se pueden definir en la capa de secuencia son: Las dimensiones (horizontal y vertical) de los cuadros para la secuencia entera, la razón de aspecto de los pixeles, la frecuencia de cuadro en la secuencia, un bit que indica si el flujo de bits cumple con el conjunto de parámetros restringidos y las matrices de cuantificación para la codificación intra-cuadro de los bloques. Estas matrices definen el tamaño de los escalones de cuantificación para cada uno de los 64 coeficientes de la DTC. Si no están definidas, se utilizan las matrices por defecto, tanto para los bloques de luminancia como los de crominancia

Page 10: LABORATORIO_3.docx

CAPA DE GRUPO DE CUADROS (GOP)

Un GOP es un conjunto de cuadros en orden de presentación contiguo en el tiempo que puede ser descodificado independientemente permitiendo visionado y edición interactiva. Hay dos tipos de órdenes en un GOP: orden de presentación y orden de codificación. Un GOP debe contener al menos un cuadro de tipo 1 y tener cualquier otro número de cuadros Po B y empezar (en orden de presentación) con un cuadro B o L .En caso de este último el GOP se denomina CERRADO.

El concepto original de GOP era el de una unidad independientemente de descodificación, que solo es cierto en caso de un GOP cerrado. Si no es así, entonces el menos el primer cuadro del GOP es de tipo B, y por tanto necesitara el último cuadro L o P del GOP anterior para ser descodificado correctamente, si esta información no está disponible, estos cuadros no pueden ser descodificados. El estándar no define ningún método para elegir la estructura de GOP, pero en la mayoría de las aplicaciones, este suele tener una longitud de 12(PAL) o 15 (NTSC), y dos cuadros B entre cada para de cuadros I o P. Los parámetros (sintaxis) que se pueden definir en esta etapa, son principalmente dos variables booleanas para indicar si el GOP es cerrado y otra para indicar si el GOP necesita el último cuadro I o P del anterior GOP para descodificar el GOP actual.

CAPA DE CUADRO

Esta capa que es innecesaria por si misma para el correcto funcionamiento del codificado, fue introducida para hacer al sistema mas robusto frente a errores.En el comienzo de cada una de las franjas, las predicciones para los vectores de moviemiento y el coeficiente de continua de los bloques son puesto a cero.Esto ayuda a eliminar errores en ambientes ruidosos, ya que los vectores de movimiento y el coeficiente de continua de los bloques(solo los de tipo intra), se codifican diferencialmente con respecto a su valor anterior.El tamaño horizontal(de izquierda a derecha y de arriba a abajo) de las franjas puede ser cualquiera, desde un unico macrobloque hasta el cuadro entero , siendo el tamaño elegido en la mayoria de las aplicaciones una franja vertical completa.El tamaño vertical es siempre de 16 pixeles, puesto que una franja esta compuesta de una serie de macrobloques y estos son de 16x16pixels.

La cabecera de franja permite al decodificador resincronizarse ante un error en la transmision o en la descodificacion, perdiendo parcialmente la franja donde se produjo el error en la descodificacion, de sde un error hasta la siguiente cabecera de franja, pero no el cuadro entero.La cabecera de franaja , es por lo tanto la unidad funcional de resincronizacion en el estandar MPEG, ante errores en la transmision o en la descodificacion. La cabecera de franja contiene (sintaxis) la posicion de la franja dentro del cuadro y el factor de escala para las cuantificacion (entre 1 y 31), lo que mas tarde llamaremos “factor de escala 0 o MQUANT”.Este factor se puede definir a este nivel o a nivel de macrobloque como veremos mas adelante.

Page 11: LABORATORIO_3.docx

CAPA DE MACROBLOQUE

El macrobloque es la unidad basica de compensacion de movimiento.Los vectores de movimiento y el residuo de movimiento compensado, son obtenido en el codificador en el modulo de estimacion de movimiento.Cada macrobloque esta formado por cuatro bloques de luminancia y dos de crominancia .

Algunos de los parametros(sintaxis) mas importantes de la capa de macrobloque sonla posicion del macrobloque en la franja, el factor de escala Q de cuantificacion(MQUANT), el patron de codificacion de los bloques de macrobloque, tipo de macrobloque y vectores de movimiento para el macrobloque.

Como se comento anteriormente, hay tres tipos de cuadros en MPEG-1, Py B sin embargo incluso dentro de cada unos de estos cuadros, sus macrobloques se pueden codificar de una manera diferente. De acuerdo con la forma en que se realizo la compensacion de movimiento , si es qye la hubo, si tienen un nuevo valor de MQUANT para la cuantificacion o si los bloques van codificados o no , hay varios tipos de macrobloques para un tipo de cuadro determinado.

Todos los proceso descritos hasta ahora han dado lugar a una representacion de la imagen en forma de vectores de movimiento, coeficientes de la transformada y componentes de luminancia y crominancia , pero no se ha conseguido ninguna comprension.Concretamente,el proceso de tranformacion no supone ninguna reduccion de bits ya qye el numero de bits por coeficiente necesario para el bloque transformado es incluso mayor al del bloque original.Lo que ocurre es que los coeficientes de frecuencia de la transformada se adaptan mucho mejor a las tecnicas de compresion que posteriormente se aplican, y esta es su gran ventaja.Estas tecnicas aprovechan entre otras cosas , el hecho de que los bloques transformados contienen un gran numero de coeficientes de valor cero o muy proximo a cero,especialmente cuando se trata de cuadros P o B

El proceso de cuantificación asigna por aproximación un valor a cada coeficiente de frecuencia dentro de una limitada gama de valores admitidos. El codificador selecciona una “matriz de cuantificación” que determina el modo en que será cuantificado cada uno de los coeficientes del bloque transformado. Cada elemento de DCT se divide por su elemento correspondiente de la matriz de cuantificación. Hay dos tipos de matrices de cuantificación, una para bloque intra-codificados y otra para bloques inter-codificados; estas fueron definidas en la capa de secuencia.

Estas matrices son diferentes porque los bloques intra contienen valores de la imagen que, como se dijo anteriormente, cumplen la propiedad de que los coeficientes de la DCT decaen rápidamente cuando nos alejamos del origen(coeficiente DC), por eso la matriz de cuantificación contiene valores más grandes conforme nos alejamos del origen para cuantificarlos con menos precisión acorde a las características psico-visuales del ojo humano mientras que los bloques inter contienen el residuo del movimiento compensado y no hay ninguna razón para cuantificar de manera diferente a cada uno de los coeficientes y por esto se utiliza una matriz con todos los coeficientes iguales.

Page 12: LABORATORIO_3.docx

En bloque intra el coeficiente DC se cuantifica de forma diferente a como lo hacen los coeficientes AC. El coeficiente DC es cuantificado dividiéndolo por un valor de cuantificación de 8 y redondeado después al entero más próximo. Para los coeficientes AC la cuantificación se realiza mediante la siguiente expresión, redondeando después al entero más próximo:

En bloque inter, tanto los coeficientes AC como el DC se cuantifican de la misma manera, la cuantificación se realiza mediante la siguiente expresión, truncando después parte decimal:

Page 13: LABORATORIO_3.docx

La combinación del proceso de la transformada DCT y la cuantificación da lugar a que después del redondeo muchos coeficientes sacan cero, especialmente en las frecuencias de orden elevado. En la práctica, el flujo de coeficiente DCT cuantificados procesados a la salida de la memoria puede esperarse que contenga largas series de ceros y la probabilidad de que esto ocurra puede aumentarse explorando la memoria en zigzag. El estándar MPEG-1 define a continuación una codificación de longitud de series y una codificación Hoffman después.

En los bloques intra el coeficiente DC se trata de manera diferente al resto, este coeficiente se codifica diferencialmente con respecto al coeficiente DC del bloque anterior, explotando así la propiedad de que los coeficientes de continua solo varían ligeramente entre bloques adyacentes. Este valor diferencial que puede estar en el rango (-2047,2047), es codificado mediante un par tamaño/amplitud, donde el tamaño indica una de las 12 categorías en las que se divide el rango(-2047,2047), que a la vez significa el número de bits serán necesarios para codificar la amplitud. El tamaño es codificado mediante un código Hoffman mientras que la amplitud (de tamaño bits) es la representación binaria del valor diferencial. El resto de coeficientes AC se ordenan es zigzag y se aplica un RLC y una codificación Hoffman.

Para el caso de los bloques inter, tanto el coeficiente DC como los coeficiente AC se codifican igual, se ordenan en zigzag y se les aplica un RLC y una codificación Hoffman.

Cuando se emplea codificación de entropía, las palabras de código son de longitud variable en función de la estructura del video, es decir, la velocidad binaria no es constante. Si se pretende que la salida del codificador sea un flujo de bits constante, es necesario intercalar un buffer, para que el flujo de bits se transmita a una velocidad constante, acorde al canal que se vaya a utilizar. Para evitar que el buffer se sature o se vacié, mediante un bucle de control se envían datos al cuantificar para que este vacié su MQUANT a nivel de macrobloque.Si la velocidad binaria disminuye apreciablemente, la codificación puede hacerse más presida para aumentarla, los cual se consigue disminuyendo el valor de MQUANT. Si por el contrario, el buffer está cerca de su

Page 14: LABORATORIO_3.docx

capacidad máxima, se dan instrucciones al cuantificador para que este modifique los valores con menor precisión, lo cual se consigue aumentando el valor de MAQUANT.

El proceso de descodificación es inverso al proceso de codificación visto. El descodificador es simplemente el lazo de realimentación del codificador, salvo que no incorpora el módulo de la estimación del movimiento (el más costoso computacionalmente), por no serle necesario; solo debe realizar la compensación de movimiento para obtener el cuadro original. A salida se sitúa un buffer para reordenar los cuadros en el orden de presentación acorde a la referencia temporal transportada en la cabecera del cuadro

Por ultimo hay que hacer notar que el par codificado/descodificador es un par asimétrico, en el sentido de que la mayor complejidad del algoritmo reside en el codificador para buscar la mayor simplicidad posible en el descodificador. El precio del coste del codificador, será mucho más elevado ya que requerirá sistemas basados en hardware más potente, mientras que el precio del descodificador será asequible para la materia del público. En aplicaciones como Vod o televisión digital, harán falta unos pocos codificadores, que estarán en el lado de las grandes compañías que ofrecen estos servicios y muchos descodificadores de precio asequible, que estarán en el lado de la gran mayoría del público que quiera tener acceso a estos servicios a un precio razonable.

Page 15: LABORATORIO_3.docx

ESTANDAR DE COMPRESION DE VIDEO MPEG-2

El estándar de compresión de video MPEG-2 (ISO-13818), fue la segunda fase del trabajo realizado por el grupo MPEG. El principal objetivo del MPEG-2 fue definir un estándar genérico que pudiera ser aplicado a un amplio rango de aplicaciones, con caudales en torno a los 15 Mbit/s, que mejorara el estándar MPEG-1.El conjunto de requerimientos que se fijó el grupo de expertos fue:

Compatibilidad con MPEG-1 Buena calidad de imagen Flexibilidad de formato de entrada Capacidad de acceso aleatorio Rebobinados rápidos y lentos hacia adelante y hacia detrás Escalabilidad en el flujo de bits Bajos retardos para comunicaciones en ambos sentidos Resistencia a errores

Dicho grupo de expertos pronto se dio cuenta que no había ninguna razón para restringir el caudal de codificación a 15 Mbits/s, ya que vieron que el MPEG-2 podía soportar eficientemente mayores caudales , como 80 Mbit/s o 100Mbit/s para aplicaciones de televisión digital de alta definición .También llegaron a la conclusión de que sería imposible definir un único estándares pudiera satisfacer todos los requerimientos y que la mayoría de las aplicaciones deberían utilizar un pequeño subconjunto de las posibilidades ofrecidas por el estándar. De esta forma el grupo MPEG adopto la decisión de realizar un estándar compuesto por un conjunto de herramientas definidas en tal camino que pudiesen satisfacer los requerimientos específicos de las aplicaciones .De este conjunto de herramientas, se podrá extraer los instrumentos necesarios para cada aplicación determinada.

Page 16: LABORATORIO_3.docx

El estandar MPEG-2 se realizo como una extension del MPEG-1 , el cual se puede considerar como un subconjunto del MPEG-2 . Las extensiones que el MPEG-2 realizo sobre el MPEG-1 son lo que se vera en este apartado, sin volver a repetir lo que ya se dijo para el MPEG-1 y que es valido para el MPEG-1 y que es valido para MPEG-2

La sintaxis del MPEG-2 tiene dos categorias (1) una sintaxis no escalable, la cual incluye a la sintaxis del MPEG-1, con extensiones adicionales para soportar video entrelazado y (2) una sintaxis escalable , la cual permite una codificacion por capas de la señal de video mediante la cual el descodificador puede puede descodificar o solo la capa basica para obtener una señal de baja calidad o utiliar capas adicionales para incrementar la calidad de la señal descodifcada.

Como el MPEG-1 y el MPEG-2 es un estandar de compresion con perdidad, basado en la compensacion de movimiento con estimacion de movimiento hacia adelante, hacia detrás o interpolada, transformada DCT , cuantificacion, codificacion de longitud de series y codificadcion Huffman.La mayoria de estas tecnicas se realizan de manera similar a como lo hacen en el MPEG-1 y en la siguiente es este apartado , nos referimos a los que es nuevo o a lo que es uina extension del MPEG-1

El MPEG-2 es compatible con el estandar MPEG-1 en el sentio de que el descodificador MPEG-2 deberia ser capaz de descodificar una señal de video comprimida con el MPEG-1. En modo de sintaxis escalable, la capa basica de una señal de video codificada con el MPEG-2, podria sera tambien descodificada por un descodificador MPEG-1, aunque esto ultimo no es requerido en el estandar MPEG-2

VIDEO ENTRELAZADO

El estándar MPEG-2 soporta ambos formatos, video entrelazado e ideo progresivo, por lo tanto a partir de ahora haremos distinción entre los conceptos de cuadro y campo. Los campos de un cuadro de video entrelazado pueden ser codificados separadamente (imágenes-campo) o pueden ser juntados de nuevo para formar el cuadro original y ser codificados como una única imagen (imágenes-cuadro) como en el estándar MPEG-1

Como el MPEG-1, todas las imágenes de entrada (bien sean cuadros o campos) pueden ser codificadas como imágenes L, P o B. Si la primera imagen de un cuadro codificado es una imagen-campo de tipo L, entonces la segunda imagen puede ser o una imagen-campo de tipo L o una imagen –campo de tipo P, es decir, el primer campo puede ser utilizado como una predictor para el segundo campo del cuadro. Si la primera imagen es una imagen-campo de tipo P o B entonces la segunda imagen Imagen-campo tiene que ser el mismo tipo que la primera imagen-campo(Bha97)

Page 17: LABORATORIO_3.docx

FORMATOS DE MUESTREO

Como en el MPEG-1, las imágenes de entrada son codificadas en el espacio de colores VcbCr, sin embargo, en adición al formato de muestreo utilizado en el MPEG-1, EL MPEG-2 también soporta los formatos 4:2:2 y 4:4:4 .S e muestra la estructura de los macro bloques utilizados para los formatos 4:2:2 y 4:4:4. Para el formato la estructura es idéntica a la del estándar MPEG-1 .cuando la sintaxis del MPEG-2 no está en alguno de los modos de sus extensiones escalables, todos los bloques del macro bloque son de 8x8 pixels.Por contra cuando sí que lo está, los macro bloques pueden contener bloques escalados con menores resoluciones como 1x1 2x2 o 4x4. Con respecto al tamaño de la imagen de entrada, el MPEG-2 es muy flexible, aceptando cualquier valor hasta 16.000x16.000 pixeles

TRANFORMADA DCT

Debido a la existencia de los conceptos de cuadro y campo, la transformada DCT, que se realiza igualmente que en MPEG-1 sobre la unidad funcional de bloque, puede ser compensación de movimiento dual-prime. La compensación de movimiento 16x8 permite a un macro bloque de 16x16 ser tratado como dos regiones de 16x8, una superior y otra inferior. Cada región de 16x8 es compensada independientemente de este modo un macro bloque-P de 16x16 tendrá dos vectores de movimientos y un macro bloque-b tendrá 4 vectores de movimiento. La compensación de movimiento 16x8 solo se permite en imágenes-campo

El otro modo de compensación de movimiento proporcionado por MPEG-2, el dual-prime, es aplicable solo a imágenes P y GOPs, que no tienen imágenes B entre estas imágenes P y las imágenes de referencia. Este modo de compensación de movimiento para imágenes-cuadro e imágenes-campo. Para imágenes-cuadro se asocian dos vectores de movimiento con cada campo.

Page 18: LABORATORIO_3.docx

Por ejemplo los vectores de movimiento V1 y PV1 son asociados con el campo alto y los vectores V2 y PV2.

Consideramos la obtención de PV1. Ya que PV1 es un vector de movimiento desde un campo de paridad opuesta es decir desde el campo bajo en el cuadro de referencia al campo alto en el cuadro actual, el vector de movimiento existente V1 es escalado para reflejar la distancia temporal entre los dos campos. Primero se hace una corrección a la componente vertical del vector de movimiento para reflejar el desplazamiento vertical entre líneas de los campos alto y bajo; y segundo se añade una pequeño vector de movimiento diferencial o la elección apropiada de o es determinada por el codificador. De una manera similar se puede derivar PV2.del estándar del MPEG-2 (iso-13818) las ecuaciones relevantes para la predicción de imágenes-cuadro son las mostradas en la columna de la izquierda y para las imágenes-cuadro , las mostrada en la columna de la derecha .

Donde o(X) y (y) pueden tomar los valores -1 ,0 o 1. Los vectores PV1 y PV2 no son incluidos en el flujo de bits codificado, en vez de ellos se incluye V1 y V2 y el correspondiente o de forma que el descodificador pueda obtener PV1 y PV2 de las expresiones anteriores.

CUANTIFICACION

MPEG-1 utiliza solo dos matrices de cuantificación para los coeficientes DCT, una para bloques intra y otra para bloques inter.En MPEG-1 las matrices de cuantificación solo pueden ser cambiadas en la capa de secuencia, mientras que en MPEG-2, las matrices pueden ser cambiadas en el nivel de cuadro. Para los formatos 4:2:2 y 4:4:4 el MPEG-2 permite una codificación más eficiente debido al uso de diferentes matrices de cuantificación para la componente de luminancia y cominancia. De este modo se pueden utilizar dos matrices para la componente de luminancia (una para bloques intra y otra para bloques inter) y otras dos para los componentes de crominancia.la cuantificación de los coeficientes AC es igual a como lo hace el MPEG-1. Tanto como en MPEG-2 el factor de escala Q (o MQUANT) puede ser cambiado a nivel de macro bloque para obtener un caudal constante de bits a la salida de codificador.

RLC Y CODIFICACION DE ENTROPIA

Page 19: LABORATORIO_3.docx

En MPEG-2 en adición al orden en zigzag de lectura de los coeficientes DCT para realizar la codificación de longitud de series se permite otro orden de lectura de coeficientes llama alternativo y que puede verse en la figura

Los coeficientes DC y AC de los bloques intra e inter de la DCT, se codifican de la misma forma que lo hace el MPEG-1.Una vez que se ha realizado la RLC, los pares que esta codificación proporciona son codificados acorde a unos códigos de longitud variable Huffman.Los códigos Hoffman que se utilizan en el estándar MPEG-2 para la codificación de estos pares pueden observarse en las tablas c.14 y c.15.

El estándar MPEG-2 también realiza una codificación de entropía sobre determinados elemento sintácticos del flujo de bits como la dirección del macro bloque en la imagen tipo de macro bloque vectores de movimiento y patrón de codificación de bloques .Los códigos Hoffman para estos elementos sintácticos, pueden encontrarse también en el Apéndice C de esta tesis Doctoral. Además a los elementos de dirección de macro bloque en la imagen y vectores de movimiento se les aplica antes una codificación diferencial con respecto a los valores de macro bloque anterior

ESCALABILIDAD DE FLUJO DE BITS

Una nueva extensión en MPEG-2 es la escalabilidad del flujo de bits la cual permite una representación por capas de flujo de bits de una única fuente de video. Esto se consigue estructurando el flujo de bits en dos o más capas, comenzando por una capa básica, que puede ser única y añadiendo una o más capas que mejoran la calidad que proporciona la capa básica. La sintaxis del MPEG-2 permite cuatro modos básicos de estabilidad del flujo de bits; partición de datos, escabilidad de SNR, escabilidad espacial y escabilidad temporal. También se permiten combinaciones de ellas dando lugar a las escabilidad hibrida. En el caso de escabilidad básica se utilizados capas llamadas capa básica y capa de mejora, mientras que con escabilidad hibrida hasta tres capas son soportadas. Este tipo de sintaxis del MPEG-2 permite aplicaciones que no serían posibles comuna sola capa de video. Entre las áreas de aplicación pueden citarse las telecomunicaciones de video, servicio de video múltiples niveles de calidad, televisión de alta definición con TV de definición normal incorporada y video sobre redes de transferencia asíncrona(ATM) , sobre las cuales se pueden implementar técnicas que hacen al medio más robusto frente a errores de trasmisión o a perdida de información.

Page 20: LABORATORIO_3.docx

Aunque siempre existe la alternativa de transmitir simultaneamente distinto tipos , o reproducciones de video codificados con independencia es mucho mas eficaz la codificacion escalable o por capas en las que el ancho de banda asignado a una determinada reproduccion de video puede ser reutilizado parcialmente para codificar otra reproduccion de video.como es logico los codificadores de video que utilizan esa tecnica seran mas complejos que los correspondiente a una sola capa de video.por otra parte cuando se transmite un flujo binario codificado por capas, pueden utilizarse descodificadores que permiten la recepcion de uno u otro tipo de video de acuerdo con la complejidad del descodificador.

PARTICION DE DATOS:

Con particion de datos , el flujo de bits es dividido en dos capas, llamadas particiones.Laprimera particion puede incluir toda la informacion critica, como cabecera, vectores de movimiento y coeficiente DC de la DCT y la segunda particion puede incluir el resto de la informacion .las dos particiones poseesn el mismo valor del factor Q.Este modo de la escalabilidad es idoneo en aplicaciones de transmision de video, cuando se tienen reds de transmision que soportan dos niveles de prioridad como las redes con tecnologia ATM que se vieron en el capitulo anterior.la particion de datos proporciona una mejor tolerancia a los errores de transmision o perdidad de informacion puesto que ambas capas puedes transmitires por diferente canales, con difenretes prestaciones en terminos de errores de transmision, porque la informacion mas critica de la señal de video puede transmitirse sobre un canal que la proteja frente a la informacion menos critica, en situaciones de congestion en la red.

ESCABILIDAD DE SNR:

La escabilidad de SNR puede ser utilizada en aplicaciones que soporten transmision de video de multiples niveles de calidad.todas las capas tienes la misma resolucion espacila pero diferntes calidades de video para una misma frente de video.La capa basica es codificada por si misma y proporciona la calidad basica de video.Las capas de mejora restantes son codificados para mejorar la calidad basica proporcioando un mayor refinamiento de los coeficientes de la DCT de la capa basica.Cada capa contiene todos los coeficientes DCT pero cada capa puede tener un valor difernte del factor Q. La escabilidad de SNR proporciona tambien una mejor resistencia a errores de transmision por ejemplo, las capas de mejora pueden transmitirse sobre canales con peores prestaciones , en terminos de retardos y errores de transmision, y transmitir la capa basuica sobre un canal que presente mejores prestacioines

Page 21: LABORATORIO_3.docx

ESCABILIDAD ESPACIAL

La escabilidad espacial fue diseñada para ser utilizada como herramienta que permitiese la inter-operatividad entre diferentes estandares y entre diferentes sistemas son diferentes resoluciones como TV y HDTV con un mismo flujo de bits.Con escabilidad espacial, el flujo de bits se divide en capas de diferentes resolucion espacial.La capa basica es codificada por si misma y proporciona la resolucion espacial basica, mientras que la capoa de mejora utiliza la capa basica para proporcionar la resolucion espacial completa de la señal de video .Las capas pueden tener diferentes tamaños de cuadro , caudal de cuadros o formatos de muestreos.Es una aplicación tipica, la capa basica puede ser un flujo de bits acorde al estandar MPEG-1 con un formato de tamaño SIF, mientras que la capa de mejora puede ser utilizada para genera una resolucion de video de tipo CCIR601

ESCABILIDAD TEMPORAL

La escabilidad temporal permite la migracion desde sistemas con baja resolucion temporal a sistemas con mayores resoluciones temporales y permite su inter-operatividad con un mismo flujo de bits.En este caso, la capa basica es codificada por si misma y proporciona el caudal basico temporal, y las capas de mejora son codificadas con prediccion temporal con respecto a la capa basica.La capa basica y la capa de mejora pueden ser combinadas para genera un flujo de bits de resolucion temporal completa.los sistemas de resolucion temporal baja pueden descodificarce solo la capa basica para proporciona una resolucion temporal baja, mientras que los sistemas mas sofisticados pueden descodiicar ambas capas para obtener una resolucion temporal mas alta , ala vez que pueden trabjar conjuntamente con sistemas menos sofisticados.Todas las capas tienen el mismo tamaño de cuadro y formatos de muestreo pero diferentes caudales de cuadro.

PERFILES Y NIVELES EN MPEG-2

El estandar MPEG-2, con diferentes tecnicas de compresion y codificacion, suele considerarse como un conjunto de instrumentos o herramientas.De este conjunto pueden extraerce los instrumentos necesarios para cada aplicación determinada,de la gama completa.

Conjunto de estándares ISO para la grabación y transmisión digital de audio y vídeo.

En su evolución se han desarrollado varias versiones del estándar MPEG:

MPEG-1 (ISO 11172) (‘91): CD-ROM vídeo (1,5 Mbps).

MPEG-2 (ISO 13818) (‘93): TV Broadcast (4-6 Mbps). HDTV (25-34 Mbps).

MPEG-4 (ISO 14496) (‘99): Originalmente: Videoconferencia (4,8 a 64 Kbps). Enfoque universal de tratamiento de elementos multimedia.

Page 22: LABORATORIO_3.docx

MPEG-7 (00-?): Descripción de contenido multimedia (videodatabases)

MPEG-21 (01-?): Uso transparente de contenido multimedia entre redes y usuarios heterogéneos.

• Estuvo basado inicialmente en el trabajo del grupo de expertos del ITU para videotelefonía y en el estándar H.261

• Para aumentar el factor de compresión, MPEG introdujo el concepto de predicción bidireccional, que consiste en el almacenamiento de imágenes pasadas y futuras para la predicción del cuadro (frame) presente.

• Para conseguir esto, los cuadros en el flujo de bits codificado deben estar en orden diferente al orden de visionado. Esto fuerza la creación de la estructura llamada Grupo de cuadros (GOP).

El conjunto de objetivos establecido para MPEG 1 fue el siguiente:

– Acceso aleatorio

Page 23: LABORATORIO_3.docx

– Búsqueda rápida/rebobinado rápido

– Visionado inverso

– Sincronización audiovisual

– Robustez frente a errores

– Retardo de codificación/descodificación

– Editabilidad

– Compatibilidad de formatos

– Costes

: Características

• Los requerimientos de capacidad de edición total y acceso aleatorio condujeron a la introducción de cuadros codificados completamente como intra-cuadro, de forma periódica en el flujo de bits codificado.

• La codificación de estos cuadros con codificación intra-cuadro se basó en gran parte en el estándar JPEG. Para compensar la reducción del factor de compresión, debido a la introducción periódica de imágenes intra-codificadas, se introdujo la predicción bidireccional.

• El estándar fue finalmente diseñado para conseguir compresiones óptimas en el rango entre 1 y 1.5 Mbps, para secuencias de vídeo progresivo en color (MPEG 1 no soporta vídeo entrelazado), tanto para sistemas NTSc como PAL, con formato de muestreo 4:2:0 y un espacio de colores YCbCr.

• Para este formato de entrada, el factor de compresión alcanzado por el estándar MPEG 1 es de 26:1 aproximadamente.

Page 24: LABORATORIO_3.docx
Page 25: LABORATORIO_3.docx

MATLAB

https://www.youtube.com/watch?v=Uf3PUCyExWY

Page 26: LABORATORIO_3.docx

https://www.youtube.com/watch?v=W9gsIOgFFo0

Page 27: LABORATORIO_3.docx

https://www.youtube.com/watch?v=GRULGx0TuZA

ESPAÑOL

Page 28: LABORATORIO_3.docx