Source: https://html.rincondelvago.com/mpeg.html
Timestamp: 2017-12-12 10:39:02+00:00

Document:
Encuentra aquí información de MPEG para tu escuela ¡Entra ya! | Rincón del Vago
Sonido e Imagen. Compresión de Video. Composicíón de objetos. Texturas. Buffering. Codificación. Decodificación
Enviado por: Jairo Cárdenas
EL ALGORITMO DE COMPRESIÓN MPEG
1. INTRODUCCIÓN A LA COMPRESIÓN DE VIDEO
1.1 CODIFICACION INTRA O ESPACIAL
1.2 CODIFICACION INTER O TEMPORAL
1.3 CODIFICACIÓN BIDIRECCIONAL
2. COMPRESIÓN DE VIDEO EN EL STANDARD MPEG
3. QUE ES MPEG?
3.1 COMO SE EXPLOTA LA CORRELACION TEMPORAL?
3.2 COMO SE EXPLOTA LA CORRELACION ESPACIAL?
4. EL ALGORITMO DE COMPRESIÓN MPEG
4.1 LA TRAMA DEL SISTEMA
5. TIPOS DE IMAGEN MPEG
5.1 LAS IMÁGENES I (INTRA)
5.2 LAS IMÁGENES P (PREVISTA)
5.3 LAS IMÁGENES B (BIDIRECCIONALES)
5.4 DESCOMPOSICION DE UNA SECUENCIA DE VIDEO MPEG
5.4.1BLOQUE
5.4.2 MACROBLOQUE
5.4.3 REBANADA
5.4.4 IMAGEN TIPO I,B o P
5.4.5 REBANADA
5.4.6 SECUENCIA
6. MPEG1
7. LA TÉCNICA DE COMPRESIÓN MPEG1
8. MPEG2
9. EL ESTANDAR MPEG2
9.1 CODIGOS DE EXTENSIONES NO ESCALABLES PARA MPEG2
9.2 CODIGOS DE EXTENCIONES ESCALABLES PARA MPEG2
10. PERFILES Y NIVELES MPEG2
10.1 PERFILES Y NIVELES MPEG2
10.2 MODOS DE PREDICCION ESPECIFICOS EN MPEG2
10.3 LAESTRUCTURA FRAME
10.4 LA ESTRUCTURA FIELD
10.5 SCANNING
10.6 DESCRIPCION DEL PROCESO DE CODIFICACIÓN MPEG2
10.7 DESCRIPCION DEL PROCESO DE DECODIFICACION MPEG2
11. COMO TRABAJA MPEG?
12. APLICACIONES GENERALES
El presente trabajo es una revisión de qué es MPEG (Moving Picture Experts Group) y de los estándares que se usan hoy en día; lo podemos considerar de actualidad, ya que este formato está en operación para la codificación de señales de video, además que es un de lo más utilizados porque los videos que son compactados en este estándar son pequeños en tamaño. Por eso es que en muchas personas hoy en día prefieren utilizar MPEG, debido a que les ahorra espacio en disco y en caso de que se quiera transmitir, debido a su tamaño nos resulta mucho más rápida la transmisión.
La reproducción de vídeo en un ordenador, pese a su aparente sencillez, constituye una de las tareas que más recursos consume. De hecho, con los ordenadores actuales que podemos encontrar en el mercado, todavía no es posible reproducir un vídeo con calidad VHS -ya de por sí, bastante baja-, a pantalla completa.
Para que una sucesión de imágenes produzca el efecto óptico del movimiento, es necesario que se sucedan a una determinada velocidad, que suele girar en torno a los 30 fps, es decir, 30 imágenes o fotogramas por cada segundo. Si se reduce este valor, el vídeo se reproduce a saltos, disminuyendo la sensación de continuidad. El problema es que el proceso de imágenes mediante una tarjeta gráfica es una de las tareas que más tiempo consume, de manera que, para transmitir al monitor tal cantidad de imágenes por segundo, es necesario disponer de un procesador y una tarjeta gráfica muy potentes. o bien reducir la calidad de la imagen con la que estamos trabajando.
Puesto que lo primero todavía no está al alcance de todos los usuarios, la mayor parte de los fabricantes han optado por la segunda opción, es decir, han ideado sistemas de compresión que reducen sensiblemente la calidad y el tamaño de la imagen.
El sistema de compresión de vídeo más conocido es, sin duda, el formato AVI utilizado por el sistema operativo Windows. La calidad de la imagen es bastante aceptable en ordenadores no demasiado potentes, pero sólo en una pequeña ventana y con un número reducido de colores.
Para superar estas limitaciones, un grupo de personas crearon el Grupo de Expertos en Imágenes en Movimiento -Moving Pictures Experts Group-, más conocido como MPEG.
Es muy importante el desarrollo de los algoritmos de compresión ya que permiten disminuir el tamaño de un archivo con el fin de ser transportado o almacenado y al ocupar menos espacio, el transporte es mas rápido y dichos algoritmos son aplicados principalmente al audio y video, debido a que son los archivos que mas cantidad de bytes ocupan, de esta manera, las imágenes obtenidas ocupan un menor espacio, sin perder demasiada calidad. El único inconveniente es que también se necesita un ordenador potente y una tarjeta especializada para proceder a la descompresión.
conocer la evolución de los algoritmos de compresión de video y las investigaciones precedentes.
Identificar las aplicaciones modernas mas importantes que utilizan la tecnología de MPEG .
Analizar el mecanismo para comprimir y descomprimir información de video.
Aprender los conceptos mas importantes acerca de los algoritmos de compresión.
La compresión de video surge de la necesidad de transmitir imágenes a través de un canal que contenga un ancho de banda aceptable. A continuación se examinarán cuales son los métodos más utilizados que permiten obtener este resultado, y las diferentes normas que se utilizan hoy día.
Estos métodos de compresión, recurren a los procedimientos generales de compresión de datos, aprovechando además la redundancia espacial de una imagen (áreas uniformes), la correlación entre puntos cercanos y la menor sensibilidad del ojo a los detalles finos de las imágenes fijas (JPEG) y, para imágenes animadas (MPEG), se saca provecho también de la redundancia temporal entre imágenes sucesivas.
La Figura 1 muestra que cuando las imágenes individuales son comprimidas sin referencia a las demás, el eje del tiempo no entra en el proceso de compresión, esto por lo tanto se denomina codificación intra (intra=dentro) o codificación espacial. A medida que la codificación espacial trata cada imagen independientemente, esta puede emplear ciertas técnicas de compresión desarrolladas para las imágenes fijas. El estándar de compresión ISO (International Standards Organization) JPEG (Joint Photographic Experts Group), está en esta categoría. Donde una sucesión de imágenes codificadas en JPEG también se usan para la televisión, esto es llamado "JPEG en movimiento".
Figura 1. Codificación intra o espacial, explora la redundancia dentro de la imagen
Se pueden obtener grandes factores de compresión teniendo en cuenta la redundancia entre imágenes sucesivas. Esto involucra al eje del tiempo, la Figura 2 muestra esto. Este proceso se denomina codificación inter (inter=entre) o codificación temporal.
Figura 2. Codificación inter o temporal, explora la redundancia entre imágenes
La codificación temporal permite altos factores de compresión, pero con la desventaja de que una imagen individual existe en términos de la diferencia entre imágenes previas. Si una imagen previa es quitada en la edición, entonces los datos de diferencia pueden ser insuficientes para recrear la siguiente imagen. El estándar ISO MPEG (Motion Pictures Experts Group) utiliza esta técnica.
1.1 CODIFICACIÓN INTRA O ESPACIAL
Un análisis de las imágenes de televisión revela que existe un alto contenido de frecuencias espaciales debido al detalle en algunas áreas de la imagen, generando una cantidad pequeña de energía en tales frecuencias. A menudo las imágenes contienen considerables áreas en donde existen píxeles con un mismo valor espacial. El promedio de brillo de la imagen se caracteriza por componentes de frecuencia de valor cero. Simplemente omitiendo los componentes de alta frecuencia de la imagen, esta se vuelve inaceptable debido a la pérdida de definición de la imagen.
Una disminución en la codificación se puede obtener, tomando como ventaja que la amplitud de los componentes espaciales disminuye con la frecuencia. Si el espectro de frecuencia espacial es dividido en subbandas de frecuencia, las bandas de alta frecuencia se pueden describir en pocos bits, no solamente porque sus amplitudes son pequeñas sino porque puede ser tolerado más ruido. La Transformada Discreta del Coseno se usa en MPEG para determinar el dominio de la frecuencia espacial en imágenes bidimensionales.
TRANSFORMADA DISCRETA DEL COSENO
En general, Los píxeles adyacentes dentro de una imagen tienden a estar altamente correlacionados. La transformada discreta del coseno (DCT) descompone la señal en frecuencias espaciales subyacentes.
Las transformadas DCT/IDCT se muestran en las ecuaciones 1 y 2.
ECUACIÓN 1. TRANSFORMADA DISCRETA DEL COSENO
ECUACION 2 TRANSFORMADA DISCRETA INVERSA DEL COSENO
1.2 CODIFICACIÓN INTER O TEMPORAL
La codificación inter aprovecha la ventaja que existe cuando las imágenes sucesivas son similares. En lugar de enviar la información de cada imagen por separado, el codificador inter envía la diferencia existente entre la imagen previa y la actual en forma de codificación diferencial. Las Figuras 3 y 4 muestran este principio. El codificador necesita de una imagen, la cual fue almacenada con anterioridad para luego ser comparada entre imágenes sucesivas y de forma similar se requiere de una imagen previamente almacenada para que el decodificador desarrolle las imágenes siguientes.
Figura 3. Sistema de codificación inter, que usa un retraso para calcular la diferencia de pixeles entre imágenes sucesivas
Los datos que se generan al hacer la diferencia entre dos imágenes, también se pueden tratar como una nueva imagen, la cual se debe someter al mismo tratamiento de transformadas utilizado en la compresión espacial.
Un sistema básico de codificación inter se muestra en la Figura 3. Desafortunadamente existe la posibilidad de transmitir errores, si se utiliza una secuencia ilimitada de imágenes previstas. Por esto es mejor utilizar un número limitado de imágenes previstas para de este modo garantizar una mejor transmisión de los datos. En MPEG periódicamente se envía una imagen la cual no ha sido tratada con algún método de compresión con pérdidas y que a su vez es idéntica a la imagen original, refrescando los datos en la secuencia de transmisión.
La Figura 4 muestra el recorrido de una imagen original, llamada imagen I o intra, la cual es enviada entre imágenes que han sido creadas usando una diferencia entre imágenes, llamada imágenes P o previstas. La imagen I requiere grandes cantidades de información, mientras que las imágenes P requieren una cantidad menor. Esto ocasiona que el flujo de transmisión de datos sea variable hasta cuando llegan a la memoria intermedia, la cual genera a su salida una transmisión de datos de forma constante. También se puede observar que el preeditor necesita almacenar datos de menor proporción puesto que su factor de compresión no cambia de una imagen a otra.
I=Imagen codificada intra
D=Imagen codificada diferencialmente
Figura 4. Uso periódico de una imagen I
Una secuencia de imágenes que esta constituida por una imagen I y las siguientes imágenes P hasta el comienzo de otra imagen I, se denomina grupo de imágenes GOP (Group Of Pictures). Para factores de compresión altos se utiliza un número grande de imágenes P, haciendo que las GOPs aumenten de tamaño considerablemente; sin embargo un GOP grande evita recuperar eficazmente una transmisión que ha llegado con errores.
En el caso de objetos en movimiento, puede que su apariencia no cambie mucho entre imágenes, pero la representación de los bordes si cambia considerablemente. Esto es de gran ventaja si el efecto de movimiento se representa por la diferencia entre imágenes, generando una reducción en la codificación de datos. Este es el objetivo de la compensación de movimiento.
Cuando un objeto se mueve, este oculta lo que hay detrás de él, pero esto va cambiando a medida que se va moviendo, permitiendo observar el fondo. El revelado del fondo exige nuevos datos a ser transmitidos, ya que el área del fondo había sido ocultada anteriormente y la información no pudo ser obtenida desde una imagen previa.
Un problema similar ocurre si se hace una toma panorámica con una cámara de video; aparecen nuevas áreas al observador y nada se sabe acerca de ellas. MPEG ayuda a minimizar este problema utilizando codificación bidireccional, la cual deja información para ser tomada de imágenes anteriores y posteriores a la imagen observada. Si el fondo ya ha sido revelado, y este será presentado en una imagen posterior, la información puede ser movida hacia atrás en el tiempo, creando parte de la imagen con anticipación.
La Figura 5 muestra en qué se basa la codificación bidireccional. En el centro del diagrama un objeto se mueve revelando su fondo, pero éste no se conoce hasta la siguiente imagen. Entonces se toman los datos de las imágenes anteriores y posteriores, o incluso se utiliza el promedio de los datos, descubriendo de esta forma el fondo.
Figura 5. Concepto de la codificación bidireccional
La Figura 6 muestra una codificación bidireccional. Primero se toma una imagen I y, con la ayuda de una imagen P se pueden obtener imágenes B, las cuales son llamadas también imágenes bidireccionales.
Figura 6. Codificación bidireccional
2. COMPRESIÓN DE VIDEO EN EL ESTÁNDAR MPEG
En el año de 1990, la ISO, preocupada por la necesidad de almacenar y reproducir imágenes de video digitales y su sonido estereofónico correspondiente, creó un grupo de expertos que llamó MPEG (Moving Pictures Expert Group) procedentes de aquellas áreas implicadas en el problema (telecomunicaciones, informática, electrónica, radio difusión, etc).
El primer trabajo de este grupo se conoció como la norma ISO/IEC 11172, mucho más conocida como MPEG-1, en el año 1992. La idea inicial era la de permitir el almacenamiento y reproducción en soporte CD-ROM con un flujo de transmisión de datos del orden de 1,5 Mbits/s, transportando tanto imagen como sonido.
El estándar MPEG además de aprovechar la redundancia espacial intrínseca de una imagen fija utilizada en la codificación JPEG, aprovecha la redundancia temporal que aparece en la codificación de imágenes animadas, permitiendo encontrar similitudes entre las imágenes sucesivas de video.
Debido a que la calidad en la compresión de video en el estándar MPEG-1 era de baja calidad y no servía para otras aplicaciones, se creó la norma ISO/IEC 13818, mucho más conocida con el nombre de MPEG-2. Esta norma permite un flujo de transmisión hasta el orden de los 20 Mbits/s, transportando tanto imagen como sonido. Norma que se utilizaría en la televisión de alta definición.
En la actualidad, se está trabajando en una norma que será llamada MPEG-4 y está encaminada a la transmisión de datos del orden de los 8 a 32 Mbits/s, norma que será utilizada en las aplicaciones de video conferencia o video teléfono.
MPEG se estableció en la Junta de Comité Técnico de la ISO/IEC (International Organization of Standarization / International Electrotechnical Commission) con el objetivo de crear estándares de codificación para la representación de imágenes en movimiento, audio asociado y la combinación de los dos, para ser guardados y recuperados en un medio de almacenamiento digital con una tasa de transmisión mayor a 1.5 Mbit/seg.; este estándar se llamó MPEG-1 y fue lanzado en 1992.
MPEG-2 fue lanzado en 1994, con el fin de proveer calidad no menor a los estándares NTSC/PAL y mayor al CCIR 601, con tasas de transmisión entre los 2 y 10 Mbit/seg. Aplicaciones como distribución digital de TV por cable, servicios de bases de datos en red por medio de ATM (Asynchronous Transfer Mode), reproductores digitales de video y distribución de radiodifusión digital vía satélite o terrestre se vieron beneficiadas del lanzamiento de este estándar.
MPEG-4 tiene como objetivo el estandarizar algoritmos y aplicaciones para una flexible codificación y representación de datos audiovisuales, para afrontar los cambios de las futuras aplicaciones de multimedia. Particularmente debe tener una alta interacción y funcionalidad, debe codificar datos naturales y artificiales; así como una gran eficiencia en la compresión. La velocidad de transmisión para MPEG-4 está entre lo 5-54 kbits/seg. para aplicaciones de video redes telefónicas móviles o públicas y arriba de 4 Mbit/seg. para aplicaciones de TV y películas.
Un modelo general, MPEG consta de:
Un algoritmo de compresión en donde se establece como se van a eliminar las redundancias de la señal de video. Existen básicamente dos tipos de algoritmo para realizar la compresión de imágenes los cuales son:
-Sin pérdidas: Consiste en reducir el tamaño de la imagen para no perder sus características y calidad originales. La imagen codificada y la original deben de ser iguales antes que se empiece el proceso de decodificación
-Con pérdidas: Es en este tipo de compresión en el que se basa MPEG y sus derivaciones (1, 2 y 4), el cual consiste en limitar o reducir la cantidad de bits, esto se debe a que la mayoría de las aplicaciones en transmisión de video tienen un ancho de banda limitado o restringido. Es obvio que mientras más pequeña sea la cantidad de bits, se vuelve más complicado el proceso de compresión de la señal.
Un modelo del Codificador del video, en el cual se deben de eliminar las redundancias de las señales, tanto espaciales como frecuenciales, con técnicas como interpolación y correlación, esto se realiza con técnicas de interpolación intertramas y de codificación entre estas manipulando los píxeles de las mismas, esto lo realiza a través de DPCM/DCT (Differencial Pulse Code Modulation / Discrete Cosine Transform)
Submuestreo e Interpolación: El principio del submuestreo es reducir el tamaño de la imagen, tanto verticalmente como horizontalmente; y por consiguiente el de los píxeles que se codificarán. En el receptor, las imágenes son interpoladas antes de que se decodifiquen
Predicción Compensada de Movimiento: Es un proceso muy útil usado en MPEG para eliminar redundancias; se basa en la estimación del movimiento entre dos tramas de video; estas predicciones y el posible error son transmitidos al receptor.
Codificación de Transformación del Dominio: El propósito de la codificación de transformación es de correlacionar el contenido de las inter o intra tramas de imagen de error y codificarlos coeficientes de transformación en vez de los píxeles originales de las imágenes.
Según los requerimientos de la aplicación hay dos filosofías para la codificación de vídeo : la codificación sin pérdidas (lossless) que reduce la cantidad de datos manteniendo tras la decodificación la misma calidad de imagen que la señal original, y la codificación lossy, cuyo objetivo está centrado en la disminución de la tasa binaria para el almacenamiento o transmisión de la información. Ésta última es la seguida por los estándares MPEG.
En muchas aplicaciones la información ha de ser comprimida para ser transmitida por una canal con un ancho de banda limitado. En estas aplicaciones, la alta compresión se consigue a cambio de una degradación objetiva de la calidad de la señal tras su decodificación. El objetivo último de las técnicas de codificación lossy es optimizar la calidad de la imagen para una tasa requerida fija, según criterios objetivos o subjetivos. Hay que mencionar que el grado de degradación de la imagen (tanto objetiva , como en lo concerniente a los artefactos apreciables en ella) depende de la complejidad de la escena en particular tanto como de la sofisticación de la técnica de compresión.
Las técnicas de codificación MPEG son de naturaleza estadística. Las secuencias de vídeo contienen normalmente redundancia estadística en las dimensiones espacial y temporal. La propiedad estadística en la que se basa la compresión MPEG es la correlación entre píxeles. Se asume que la magnitud de un píxel determinado puede ser predicho mediante píxeles cercanos del mismo cuadro (correlación espacial), o los píxeles de cuadros cercanos (correlación temporal). Intuitivamente se puede apreciar que en los cambios abruptos de escena, la correlación entre cuadros adyacentes es pequeña o casi nula, en ese caso es mejor usar técnicas de compresión basadas en la correlación espacial en el mismo cuadro.
Los algoritmos de compresión MPEG usan técnicas de codificación DCT (transformada discreta del coseno) sobre bloques de 8*8 píxeles para explotar la correlación espacial. Sin embargo, cuando la correlación temporal es alta, en imágenes sucesivas de similar contenido, es preferible usar técnicas de predicción temporal (DPCM : codificación por modulación diferencial de pulsos). En la codificación MPEG se usa una combinación de ambas técnicas para conseguir una alta compresión de los datos.
Casi todas las técnicas de codificación de vídeo que veremos realizan submuestreo y cuantificación de la señal. El concepto básico de submuestreo es reducir la dimensión (espacial) de la imagen y, por tanto, el número de píxeles que deben ser codificados. En algunos casos también se realiza un submuestreo en la dimensión temporal.
El proceso dual en recepción es interpolar la imagen tras la decodificación.
Esta técnica hace uso de las características subjetivas de la visión humana, de forma que elimina la redundancia subjetiva contenida en la imagen.
El ojo humano es mucho más sensible a los cambios en la iluminación que en la cromaticidad. Lo que se hace en la codificación MPEG es dividir la imagen en tres componentes (Y : luminancia, U ,V : crominancia), y aplicar diferente submuestreo a la crominancia. Por ejemplo, en MPEG-2 se usan unas relaciones Y :U :V típicas de 4 : 1 : 1, o 4 : 2 : 2 .
3.1 ¿CÓMO SE EXPLOTA LA CORRELACIÓN TEMPORAL ?
MPEG-1 y MPEG-2 utilizan la predicción por compensación de movimiento. El concepto de compensación de movimiento se basa en estimar el movimiento entre cuadros sucesivos. Por ejemplo, si todos los elementos en una escena son desplazados aproximadamente igual, el movimiento entre sucesivos cuadros puede ser definido por un cierto número de parámetros (por ejemplo vectores de traslación de los píxeles). La mejor predicción del píxel actual vendrá dada en este caso por la compensación de movimiento respecto al cuadro anterior. Normalmente el error de predicción junto con los vectores de movimiento, se transmiten al receptor. Aprovechando la correlación espacial, lo que se hace es agrupar bloques de píxeles (16*16 en MPEG-1, y MPEG-2) y estimar un único vector de movimiento para todo el bloque.
3.2 ¿CÓMO SE EXPLOTA LA CORRELACIÓN ESPACIAL ?
El propósito de la codificación mediante DCT es decorrelar el error intra- o intercuadro y codificar los coeficientes de la DCT en vez de los píxeles originales de la imagen. Para ello la imagen de entrada se divide en bloques de N*N píxeles y se aplica la transformada a cada uno de ellos para obtener la matriz de coeficientes N*N correspondiente . En recepción, los píxeles pueden ser recuperados aplicando la transformada inversa.
De entre todas las posibles alternativas, un tamaño de bloque de 8*8 ha sido el que ha dado resultados más satisfactorios en la codificación de vídeo.
El mayor objetivo de este tipo de codificación es hacer que la mayoría de los coeficientes sean tan pequeños que no necesiten ser codificados para la transmisión. Al mismo tiempo, es deseable minimizar las dependencias estadísticas entre coeficientes. Los coeficientes con varianza menor son menos significativos para la reconstrucción del bloque que los coeficientes con mayor varianza. En la práctica se observa que, como media, sólo es necesario transmitir una pequeña cantidad de coeficientes al receptor para obtener una reconstrucción aproximada de la imagen. Además los coeficientes más significativos son de valor pequeño.
Así, mediante la combinación de la predicción por compensación de movimiento y la transformada DCT, se obtiene una representación compacta de la señal temporal DPCM en el dominio transformado. Esta combinación es la clave de los estándares de codificación MPEG.
En 1988 se crea el comité MPEG (formalmente conocido como ISO/IEC JTC1/SC29/WG11), siglas correspondientes a Moving Pictures Experts Group, con el fin de desarrollar una técnica de codificación de vídeo y su audio asociado capaz de reducir la tasa binaria al entorno de los 1,5 Mbit/s. La calidad de la señal codificada debería ser lo suficientemente apropiada para su posible empleo en aplicaciones que integrasen vídeo, sonidos, imágenes, texto y gráficos, tanto en computadores personales como en estaciones de trabajo profesionales.
Como consecuencia de ello surge el estándar ISO 11172 [4], mejor conocido como MPEG o MPEG-1. Este estándar describe la estructura de la trama y el mecanismo básico de descompresión, dejando plena libertad en el procedimiento de compresión y en la arquitectura del codificador y decodificador, siempre que se atengan a la sintaxis establecida. Se identifican dos partes bien delimitadas:
La trama puede contener información de diversos "media". Es por tanto necesario disponer de un procedimiento adecuado de multiplexación de canales de datos, de información de contenidos y de sincronización entre ellos. La descripción de estos mecanismos aparece detallada en la primera parte del estándar, conocida como la trama de sistema.
Otra zona de la trama está dedicada exclusivamente a la codificación de las señales de vídeo y audio (partes segunda y tercera del estándar respectivamente).
En la figura 7 se muestra la estructura básica de un decodificador MPEG. La información proveniente de un sistema de almacenamiento o compresión digital necesita atravesar un decodificador específico del medio de transmisión empleado (síncrono o asíncrono, continuo o por paquetes, etc.) para regenerar la trama ISO 11172 original. Seguidamente ésta será analizada por un decodificador de la trama de sistema, tras lo cual se podrán separar los diferentes canales con contenidos comprimidos, así como la información de control y sincronización asociada. Por último, los diferentes decodificadores específicos se encargarán de restaurar las señales originales de los diferentes "media". A continuación se analizarán brevemente cada una de las tres tramas básicas del estándar MPEG (sistema, vídeo y audio) [5,6,7], así como su evolución.
figura 7. Decodificador ISO 11172 característico
4.1 Trama de sistema
Es la estructura básica que transporta tanto la información relativa a la multiplexación de los diversos canales, como al contenido intrínseco de cada uno de ellos. Puede contener numerosos canales de audio y vídeo, y también de datos genéricos o de usuario. La trama de sistemas presenta una primera estructura en bloques de datos denominados "packs". Cada "pack" contiene información genérica sobre sus contenidos, sobre la gestión de "buffers" en el decodificador, así como marcas temporales para sincronización entre extremos. Además, cada "pack" puede contener subestructuras denominadas "packets". Dentro de cada "packet" se encuentra información relativa exclusivamente a un determinado canal de información. Tras una cabecera con información específica sobre sincronización, se empaquetan los datos comprimidos.
Trama de vídeo
El algoritmo de codificación de vídeo desarrollado por MPEG cubre un amplio rango de aplicaciones, lo que confiere al estándar la característica de genérico. Asimismo es asimétrico puesto que la mayor carga de procesamiento recae en el codificador, simplificando considerablemente la complejidad del decodificador. El algoritmo alcanza una alta tasa de compresión a costa de unas pérdidas de calidad aceptables basándose en dos técnicas de codificación:
La primera técnica radica en la reducción de la redundancia temporal.
En primer lugar se definen tres tipos de cuadros de imagen: Intra (I), Predictivos (P) y Bidireccionales o interpolados (B). Los cuadros I son codificados sin referencia temporal alguna a cuadros anteriores o posteriores, lo que supone una compresión menos eficiente aunque les confiere la idoneidad de ser puntos de acceso en búsquedas aleatorias. Los cuadros P son codificados más eficientemente empleando predicción por compensación de movimiento sobre un cuadro I o P anterior, pudiendo ser a su vez referencia para futuros cuadros P (predicciones causales). Los cuadros B ostentan la mayor tasa de compresión. Emplean compensación de movimiento sobre cuadros I o P, tanto pasados como futuros (predicción bidireccional o interpolación, no causal), no pudiendo ser empleados como referencia. Estas compensaciones de movimiento se realizan sobre pequeñas zonas de imagen de 16316 píxeles (macro bloques), buscando dicho patrón en cuadros referencia anteriores o posteriores y proporcionando finalmente los vectores del movimiento detectado. Una secuencia de imágenes conteniendo un único cuadro I en su origen (IBBPBBP...BBI...) se denomina grupo de cuadros (GOP), el cual puede ser visualizado de forma independiente y aleatoria.
El segundo procedimiento es la reducción de la redundancia espacial.
Después del primer proceso, la imagen diferencia entre la entrante y la precedida es codificada empleando la técnica de la transformada discreta del coseno (DCT) a nivel de bloque. Este algoritmo permite la transformación de áreas de imagen en representaciones bidimensionales de energía frente a frecuencia. A continuación se aplica un proceso de cuantificación, con pérdidas de información controladas por el nivel de llenado del "buffer" de salida de datos codificados, y aplicado en menor medida a las zonas de baja frecuencia, en las que el ojo es más sensible. Los coeficientes resultantes son transformados en otros recurriendo a tablas en las que los eventos más probables son codificados con un menor número de bits, lo que incrementa la eficiencia del proceso (codificación entrópica).
En la figura 8 aparece detallado el encadenamiento de los procesos anteriormente descritos para configurar un codificador y decodificador MPEG.
figura 8. Modelo de sistemas de codificación de vídeo MPEG
En el codificador, la primera operación a realizar es la provisión de imágenes de vídeo con la resolución deseada, y muestreadas por separado las componentes de luminancia (Y) y crominancia (C). A continuación la secuencia de imágenes sufre un reordenamiento para permitir la codificación previa de las referencias futuras (I o P) de los cuadros B:
I1B2B3P4B5B6P7B8B9I10B11B12.... => I1P4B2B3P7B5B6I10B8B9P13B11....
El proceso siguiente es la estimación de movimiento, el cual genera un conjunto de vectores y una imagen estimada. La diferencia entre el cuadro original y el estimado, en definitiva el error de estimación, es transformada mediante la DCT y posteriormente cuantificada (Q). Por último sufre un proceso de codificación entrópica (VLC, Variable Length Coding) antes de pasar al "buffer" de salida. La diferencia entre el nivel de llenado y el de vaciado de este "buffer" actúa como regulador del tamaño del escalón de cuantificación y, por tanto, sobre el factor de compresión y la calidad final. La imagen comprimida resultante es reconstruida mediante los procesos inversos (Q-1 y DCT-1), previo a su almacenamiento interno para referencias futuras.
En el decodificador el procedimiento es el inverso al anterior, con la pequeña diferencia que representa el decodificador de longitud variable (VLD). La complejidad del sistema de decodificación es muy inferior al recíproco, fundamento de los codificadores asimétricos.
La tasa característica de vídeo codificado, en torno a 1,2 Mbit/s, proporciona una calidad de imagen por lo general análoga al sistema de vídeo VHS.
El estándar MPEG se divide en tres partes: audio, vídeo y sistemas, siendo este último el encargado de coordinar los dos anteriores cuando se reproducen conjuntamente. Utiliza mecanismos muy parecidos a la compresión gráfica, pero se necesita un equipo bastante potente para proceder a la compresión.
El algoritmo de compresión MPEG básicamente es el siguiente :
1.Se reduce la resolución al binomio 352x240. Posteriormente, se convierte la información del color del sistema RGB al sistema YUV, que divide el color en valores luminescentes y cromáticos.
2 Se descartan las 3/4 partes de los valores cromáticos, ya que el ojo humano no es capaz de distinguir estos cambios.
3 Se utiliza una función de transformación que traduce cada bloque de 8x8 pixels en un conjunto de números que describen el nivel de detalle de la imagen.
4 Los números obtenidos se dividen por una constante y se redondean. Esto reduce el número de valores semejantes.
5 Este es el paso más importante de todos los mencionados: las cadenas de valores repetidos se sustituyen por una única cadena, y el número de veces que se repite.
Los valores restantes se comprimen mediante el código Huffman.
6. Compresión entre cuadros: si un bloque de pixels es idéntico al de una imagen anterior, se sustituye por un puntero. Esta operación se realiza con cuadros futuros, mediante complejas técnicas de previsión de datos.
MPEG define tres tipos de imágenes que se encadenan según el esquema de la Figura 9. Los cuales son el soporte de la codificación diferencial y bidireccional, minimizando la propagación de errores.
Figura 9. Encadenamiento de los 3 tipos de imágenes MPEG
5.1. Las imágenes I (intra)
Son imágenes que no requieren información adicional para su decodificación. Son codificadas sin ninguna referencia a otras imágenes, como en JPEG, es decir, que contiene todos los elementos necesarios para su reconstrucción por el decodificador y son, por ello, el punto de entrada obligatorio para el acceso a una secuencia.
La tasa de compresión de imágenes I es relativamente pequeña, comparable con la de JPEG con pérdidas. Ellas consisten ante todo de los coeficientes transformados y no contienen vectores de movimiento.
5.2. Las imágenes P (previstas)
Se codifican con respecto a las imágenes de tipo I o P anteriores, gracias a las técnicas de predicción con compensación de movimiento. Como la compensación de movimiento no es perfecta, no se podrá multiplicar indefinidamente el número de imágenes I, ya que, como se utilizan para decodificar otras imágenes P o B, se propagan amplificando cualquier error de codificación.
Su tasa de compresión es claramente mayor que la de las imágenes I. Las imagines P requieren aproximadamente la mitad de los datos de las imágenes I.
Se codifican por interpolación entre dos imágenes de tipo I o P precedentes y siguiente que las enmarcan. Como no se utilizan para describir otras imágenes, las imágenes B no propagan los posibles errores de codificación.
Este tipo de imágenes es el que ofrece el factor de compresión más alto, que generalmente es de una cuarta parte de los datos de las imágenes I.
Dependiendo de la complejidad del codificador utilizado, se podrán codificar solo las imágenes I, las imágenes I y P o las imágenes I, P y B; sin duda, con resultados absolutamente diferentes a nivel del factor de compresión y en cuanto a las posibilidades de acceso aleatorio, así como del tiempo de codificación y de la calidad percibida.
Los dos parámetros M y N definen la manera en que las imágenes I, P y B se encadenan:
M es la distancia (en número de imágenes) entre dos imágenes P (previstas) sucesivas.
N es la distancia entre dos imágenes I (intra) sucesivas.
Para alcanzar un flujo de video de 1.15 Mbits/s con una calidad satisfactoria, al tiempo que se mantiene una resolución de acceso aleatorio aceptable (< 0.5 segundos), los parámetros comúnmente utilizados son M=3 y N= 12 como se muestra en la Figura 10.
Figura 10. Ejemplo de grupo de imágenes, para M=3, N=12
En este caso, una secuencia de video se compone de 1/12 (8.33%) de imágenes I, 1/4 (25%) de imágenes P y de 2/3 (66.66%) de imágenes B. El factor de compresión global se ve favorecida por el hecho de que son las imágenes más frecuentes las que tienen un factor de compresión mas alto.
En la visualización, tras la codificación y decodificación, es evidente que las imágenes de la secuencia de video deben ser reproducidas en el mismo orden en que se captaron.
Con los parámetros definidos anteriormente (M=3, N=12), el modo de codificación de imágenes sucesivas se traduce por la correspondencia número Û tipo de imagen siguiente:
1(I) 2(B) 3(B) 4(P) 5(B) 6(B) 7(P) 8(B) 9(B) 10(P) 11(B) 12(B) 13(I) 14(B) 15(B) 16(P).....
Sin embargo, para codificar o decodificar una imagen B (Bidireccional), el codificador y el decodificador necesitarán la imagen I o P que la precede y la imagen P o I que la sigue. El orden de las imágenes será, por tanto, modificado antes de la codificación, de forma que el codificador y el decodificador dispongan, antes que las imágenes B, de las imágenes I y/o P necesarias para su tratamiento, o sea (Ver Figura 11):
1(I) 4(P) 2(B) 3(B) 7(P) 5(B) 6(B) 10(P) 8(B) 9(B) 13(I) 11(B) 12(B) 16(P) 14(B) 15(B).......
Figura 11. Comparación de las imágenes antes y después de la compresión, mostrando un cambio de secuencia
El aumento del factor de compresión facilitado por las imágenes B se paga, pues, con un tiempo de codificación/decodificación más largo (duración de dos imágenes) y un aumento en el tamaño de la memoria necesaria tanto en el codificador como en el decodificador (hay que almacenar una imagen suplementaria).
La Figura 12 muestra una curva de calidad constante donde la rata de bits cambia con el tiempo de codificación. A la izquierda, solamente se utilizan imágenes I o codificación espacial, mientras que a la derecha solo se utilizan imágenes sucesivas IBBP. Esto significa que hay una codificación bidireccional de imágenes entre imágenes de codificación espacial (I) e imágenes previstas (P).
Figura 12. Curva de calidad constante
5.4 DESCOMPOSICION EN CAPAS DE UNA SECUENCIA DE VIDEO MPEG
Una secuencia de video MPEG es básicamente la salida del material en bruto de un codificador y contiene no mas que lo necesario para que un decodificador restablezca la imagen original. La sintaxis de la señal comprimida es definida de manera rigurosa por MPEG, así se asegura que el decodificador cumpla con esta.
La Figura 13 muestra la construcción de una secuencia de video MPEG constituida por capas bien definidas.
Figura 13. Estructura de una secuencia de video MPEG
5.4.1. Bloque (Block)
Es la unidad fundamental de la información de la imagen y esta representada por un bloque de coeficientes DCT, que tienen un tamaño de 8x8 pixeles, los cuales representan datos Y, Cr o Cb.
Aquí el coeficiente DC es enviado primero ya que este representa con mayor precisión la información de este bloque. Los demás coeficientes son enviados al final de este.
5.4.2. Macrobloque (Macroblock)
Es la unidad fundamental de la imagen que además está compensada en movimiento. Cada macrobloque es un vector de desplazamiento en dos dimensiones situado en la parte superior de la secuencia. En una imagen B, el vector puede ser hacia adelante o hacia atrás.
La compensación de movimiento puede ser en modo de cuadro o en modo de campo, el cual es indicado. La escala utilizada para la recuantificación de los coeficientes también es indicada. Usando los vectores, el decodificador obtiene información acerca de las imágenes anteriores y las posteriores, produciendo así una predicción de imágenes. Los bloques son transformados inversamente para producir una imagen de rectificación que es adicionada a la imagen prevista que ha sido producida a la salida del decodificador.
En un formato de codificación 4:2:0, cada macrobloque tendrá 4 bloques Y, y dos bloques de color diferente. Para hacer posible la identificación de cada bloque y sus componentes, estos se envían en un orden especifico. Cada macrobloque tiene un tamaño de 16 x16 pixeles.
5.4.3. Rebanada (Slice)
Los macrobloques son reunidos en rebanadas, y aquellas siempre deben representar una fila horizontal que está ordenada de izquierda a derecha.
En MPEG, las rebanadas pueden comenzar en cualquier sentido y ser de tamaño arbitrario, pero las ATSC (Advance Television Systems Committee) establecen que ellas deben comenzar en el borde izquierdo de la imagen. Las rebanadas son la unidad fundamental de sincronización para la codificación de la longitud variable y diferencial, los vectores iniciales en una rebanada son enviados completamente, mientras que los demás vectores son transmitidos diferencialmente.
En imágenes I, los primeros coeficientes DC de las rebanadas son enviados completamente y los demás coeficientes DC son transmitidos en forma diferencial. En imágenes de diferencia, esta técnica no se utiliza.
5.4.4. Imagen (Picture) de tipo I, P o B
Cuando un número de rebanas se combinan, construyen una imagen, la cual es la parte activa de un campo o un cuadro.
La imagen de soporte inicial define qué imágenes I, P o B codifica e incluye una referencia temporal para que la imagen pueda ser representada en el momento adecuado. En el caso de tomas panorámicas e inclinaciones, los vectores en cada macrobloque serán los mismos. Un vector global puede ser enviado para toda la imagen, y luego se pueden enviar vectores individuales que lleguen a crear la diferencia en el vector global.
5.4.5. Grupo de imágenes (Group Of Pictures o GOP)
Las imágenes pueden ser combinadas para producir un GOP (grupo de imágenes) que comienza con una imagen I. El GOP es la unidad fundamental de codificación temporal. En el estándar MPEG, el uso de GOP es opcional, pero esta en la práctica es necesaria. Entre imágenes I, un número variable de imágenes P y/o B pueden ser colocadas como ya se ha descrito. Un GOP puede ser abierto o cerrado. En un GOP cerrado, las ultimas imágenes B requieren de una imagen I para el siguiente GOP por decodificar y la secuencia de bits puede ser cortada al final de la GOP.
5.4.6. Secuencia
Cuando algunas GOP son combinadas se produce una secuencia de video con un código de inicio, seguido por un encabezamiento, y luego termina con un código final. Códigos de soporte adicional pueden ser situados al inicio de la secuencia. La secuencia de soporte especifica el tamaño horizontal y vertical de la imagen, norma de barrido, la rata de imágenes, si se usa un barrido progresivo o entrelazado, el perfil, nivel, velocidad de transferencia de bits, y cuales matrices de cuantificación se usan para codificar imágenes espaciales y temporales.
Sin la secuencia de soporte de datos, un decodificador no puede comprender el flujo de bits y por lo tanto no puede comenzar la operación de decodificación correcta. Esto ocurre generalmente cuando un televidente está cambiando canales de un lugar a otro en su televisor.
6.MPEG-1
Ahora hablaremos un poco más a fondo del estándar MPEG-1, el cual cubre muchas aplicaciones que van desde sistemas interactivos en CD-ROM, hasta la entrega de videos en una red. El soporte de un gran número de aplicaciones y una gran diversidad de parámetros de entradas, tales como el tamaño de la imagen o la cantidad de bits puede ser especificado por el usuario. MPEG recomienda un conjunto de parámetros que son: que las fuentes de video deben aceptar al menos parámetros mayores a los de TV, incluyendo un mínimo de 720 pixels por línea, 576 líneas por imagen, 30 tramas por segundo y una velocidad mínima de 1.86 Mbits/seg.
Su algoritmo ha sido diseñado en base a las actividades JPEG y el estándar CCITT H:261 (Internatonal Telephone Consultive Committee). Sin embargo MPEG-1 fue primordialmente diseñado para aplicaciones multimedia de CD-ROM que requieren una funcionalidad soportada por encoders y decoders.
Una función importante de MPEG-1 es el reabastecimiento condicional, el cual indica que el algoritmo de codificación tiene la posibilidad de actualizar la información de los macrobloques en el decodificador, sólo si es necesario, esto es, si la información del macrobloque ha cambiado en comparación al contenido del mismo macrobloque de la imagen anterior, hay tres formas de llevar a cabo el reabastecimiento condicional:
Salteamiento de macrobloques
Inter macrobloques
Intra macrobloques
Una posibilidad que tienen los algoritmos de MPEG-1 es la de ajustar la tasa de bits por segundo, esto se obtiene al variar el tamaño de los pasos de cuantización; pero el algoritmo para el control de esta tasa no es parte del estándar de MPEG-1 y queda a juicio de los implementadores estrategias eficientes para lograr este control. Es además importante recalcar que la eficiencia del algoritmo de control de la tasa depende en gran forma la calidad de la imagen reconstruida.
7. LA TÉCNICA DE COMPRESIÓN MPEG-1.
El primer cuadro de una secuencia de vídeo se codifica de modo intracuadro, sin ninguna referencia respecto a anteriores o futuros cuadros. Es lo que se llama I-picture. Los siguientes cuadros se codifican usando predicción intercuadro (P-picture). La predicción se basa en los datos del cuadro codificado inmediatamente anterior, ya sea I-picture o P-picture.
Cada cuadro es dividido en macrobloques no solapados, y cada macrobloque contiene bloques de datos de luminancia y crominancia (cuatro bloques de luminancia, Y1, Y2, Y3, Y4, y dos de crominancia, U y V), cada uno de tamaño 8*8 pixels.
En el codificador se aplica la DCT a cada uno de los bloques de crominancia y luminancia. Se obtienen a la salida los bloques de 64 coeficientes DCT, que son cuantificados uniformemente. El escalón de cuantificación empleado es transmitido al receptor.
Después de la cuantificación, el coeficiente DCT más pequeño (coeficiente DC) se procesa de forma diferente a los restantes (coeficientes AC).
El coeficiente DC representa la intensidad media del bloque en cuestión y se codifica usando una técnica de predicción diferencial (debido a la fuerte correlación entre coeficientes DC de bloques adyacentes, se codifica la diferencia entre el del bloque anterior y el actual).
El resto de coeficientes son barridos en zig-zag y codificados según un código VLC (variable lenght code). Esta técnica transforma la imagen en dos dimensiones en una ristra de bits de una dimensión. En el barrido se detectan los valores de los coeficientes AC no nulos, así como la distancia que separa a dos consecutivos. Este par de valores se codifica con una sola palabra código (VLC).
En el decodificador se realizan las operaciones inversas. Se extraen y decodifican las palabras código, para obtener así la localización y el valor cuantificado de los coeficientes DCT no nulos de cada bloque. Tras la reconstrucción y la aplicación de la transformada inversa, se obtienen los valores de los pixels de ese bloque. Realizando la operación sucesivamente con todos los bloques, se obtiene la reconstrucción de la imagen.
Para la codificación de las P-pictures, el cuadro anterior es almacenado (FS, frame store) tanto en el codificador como en el decodificador. La técnica de compensación de movimiento se aplica sobre macrobloques, obteniendo los vectores de movimiento que son codificados y transmitidos al receptor.
El error de predicción se calcula para cada pixel de los contenidos en el macrobloque. Se calcula posteriormente la DCT de los bloques 8*8 que conforman el macrobloque, se cuantifican los coeficientes obtenidos y se codifican según un código VLC. En éste proceso es necesario el uso de una buffer para asegurar una determinada tasa binaria.
El decodificador realiza el proceso inverso. Tras decodificar las palabras código, se reconstruyen los valores del error de predicción. Los pixels compensados en movimiento del cuadro anterior, almacenados en el FS, se añaden al error de predicción para obtener el macrobloque del cuadro actual.
figura 14 codificador y decodificador para MPEG1
La característica de relleno condicional consiste en la posibilidad de transmitir o no al receptor cierta información acerca de los macrobloques, según las necesidades. Existen tres tipos distintos de codificación de los macrobloques (MB) :
- Skipped MB : no se transmite ni codifica información acerca del MB.
- Inter MB : usa predicción por compensación de movimiento. Se transmite al receptor el tipo, dirección, vector de movimiento, coeficientes DCT, y escalón de cuantificación del macrobloque.
- Intra MB : sólo usa predicción basada en el propio cuadro. No transmite, por tanto, vector de movimiento.
Una característica importante de los algoritmos MPEG-1 es la flexibilidad en la tasa binaria, que puede variarse ajustando el escalón de cuantificación (en la cuantificaión de los coeficientes DCT) según las exigencias de cada aplicación en particular. Esto permite el almacenamiento o transmisión de vídeo con alto nivel de compresión. Además, el decodificador puede variar el escalón en cada macrobloque adaptándose a las necesidades de cada imagen.
Para el acceso a señales de vídeo almacenadas, MPEG-1 desarrolla funcionalidades como FF, FR, o el acceso aleatorio. Para ello introduce el concepto de B-pictures.
Las I-pictures son codificadas sin referencia a otros cuadros. Permiten de este modo introducir puntos de acceso que faciliten las funcionalidades mencionadas antes. Sin embargo, alcanzan un bajo grado de compresión.
Las P-pictures no permiten estos puntos de acceso.
Las B- pictures (predicción/interpolación bidireccional) requieren anteriores y futuros cuadros para la codificación. Para conseguir mayor compresión se utiliza compensación de movimiento con el cuadro anterior y posterior (de tipo I o P).
Como norma general, una secuencia codificada usando sólo I-pictures (IIII...) consigue el mayor grado de accesibilidad pero la compresión más baja. Si se codifica combinando I- y P-pictures (IPPPPPIPPPP...) se consigue una solución de compromiso entre ambos aspectos, y si se usa la combinación de las tres (IBBPBBPBBI...) se consigue un alto grado de compresión y una razonable accesibilidad, aunque se aumenta el retardo de codificación, lo que lo hace inviable para aplicaciones de videotelefonía o videoconferencia.
8. MPEG-2
Uno de los factores que aseguró el éxito mundial de MPEG-1 fue su estructura genérica, la cual soporta una gran variedad de aplicaciones, además de parámetros específicos de estas. Pero como todo evoluciona y está en mejora continúa en 1991 se inicia la estandarización MPEG-2 la cual se mencionó brevemente al inicio del presente documento pero aquí se abundará más sobre este estándar, el cual fue lanzado en 1994. Fue desarrollado en conjunto con un grupo de expertos en codificación de video en ATM el ITU-T SG 15, de hecho MPEG-2 es idéntico a la recomendación ITU-T H.262.
Básicamente MPEG-2 puede ser visto como un gran conjunto de MPEG-1, que como resulta obvio, cada decodificador del primero puede decodificar una imagen del primero. Se le agregaron nuevas cualidades para lograr un buen nivel de funcionalidad y cualidad; además de que agregaron nuevos métodos de predicción para la codificación de video entrelazado. Se adicionaron extensiones de codificación para escalar video, para proveer más funcionalidad, como es el caso de la codificación de TV digital y HDTV (High Definition Television).
MPEG-2 introduce los conceptos de Profile y Level. El primero define la adición de varios conjuntos de algoritmos como un super conjunto de algoritmos en el Profile de abajo. El level indica el número de parámetros que se puede soportar para la implementación.
9. EL ESTÁNDAR MPEG-2.
SIMPLE : incluye las funcionalidades del perfil MAIN, pero no soporta modos de predicción para las B-pictures. YUV : 4 : 2 : 0.
MAIN : la característica más importante son los modos de codificación no escalados, tanto para secuencias continuas como entrelazadas. Es una adaptación del MPEG-1 para permitir el entrelazado pero sin perder ninguna de las anteriores funcionalidades. Permite predicción en las B-pictures y puntos de acceso. YUV : 4 :2 :0.
En secuencias con entrelazado, la entrada al codificador consiste en una serie de campos pares e impares. Los dos campos de un cuadro deben ser codificados de forma separada. En ese caso, cada campo se divide en macrobloques no solapados y se le aplica la transformada.
Otra alternativa es codificar los dos campos como un cuadro, de forma similar a una secuencia continua. Para ello se mezclan las líneas pares y las impares formando el cuadro a codificar.
Para codificar cuadros y campos se desarrollaron nuevos métodos de predicción por compensación en movimiento. En la predicción de un campo se usan uno o más campos anteriores. La elección del campo usado como referencia se transmite al receptor. La predicción de un cuadro se realiza en base a uno o más cuadros anteriores.
SNR scalable : este perfil soporta las funcionalidades del perfil MAIN, pero añadiendo un algoritmo para codificación escalable SNR. YUV :4 :2 :0.
Los modos de codificación escalable que se añaden a partir de este perfil, permiten interoperabilidad entre varios servicios y flexibilidad en los receptores, de forma que aquellos que no sean capaces o no deseen la reconstrucción de la señal a la resolución completa en que fue codificada, puedan decodificar a una resolución temporal o espacial menor, o con menos calidad. Este aspecto es importante en la compatibilidad entre HDTV y la definición estándar de TV, de modo que un receptor HDTV pueda interpretar también la señal convencional.
La codificación escalable SNR se desarrolló para permitir una cierta degradación en transmisiones prioritarias. Si el nivel base puede ser protegido frente a errores en el canal, decodificando únicamente este nivel puede obtenerse una versión del vídeo original. Tanto el nivel básico como el superior codifican la señal a la misma resolución espacial. En el nivel básico los coeficientes DCT son cuantificados a grosso modo, consiguiendo una calidad moderada pero una baja tasa binaria. En el nivel superior se codifica la diferencia entre los coeficientes no cuantificados y los cuantificados en el nivel básico con un escalón mucho más fino.
SPATIAL Scalable : este nivel añade al anterior la escalabilidad espacial. YUV :4 :0 :0.
Este algoritmo soporta displays con diferente resolución en el receptor, consiguiendo menor resolución espacial si se decodifica solo el nivel base de la información recibida. Esta funcionalidad es útil para la compatibilidad HDTV/TV, permitiendo una migración de servicios de TV digital a servicios de mayor resolución espacial.
* HIGH : este perfil añade la representación 4 :2 :2 y la posibilidad de codificación en tres niveles, incluyendo los modos escalables SNR y espacial.
Otros modos desarrollados por MPEG-2, fueron la escalabilidad temporal y la partición de datos
9.1 CÓDIGOS DE EXTENSIONES NO ESCALABLES PARA MPEG-2
MPEG-2 se basa en DPCM/DCT al igual que MPEG-1, incluyendo una estructura de macrobloques, compensación por movimiento y modos de codificación para reabastecimiento condicional de macrobloques.
MPEG-2 introduce los conceptos de trama de imagen, campo de imagen junto con sus formas de acomodar la codificación de video progresivo y entrelazado, que son predicción de trama y campo.
En las predicciones de campo , estas son hechas independientemente para cada campo usando datos de uno o más campos decodificados previamente.
La predicción de trama, crea una predicción para una trama de imágenes, basada en tramas previamente decodificadas. Ya sea en un campo o una trama de imágenes las predicciones pueden ser usadas y el modo de predicción preferido puede ser seleccionado de un macrobloque o una base de macrobloques.
MPEG-2 ha introducido compensación por movimiento para hacer más eficiente la exploración de redundancias temporales entre campos.
MPEG-2 cuenta con formatos de radio de submuestreo de luminancia y crominancia, para aplicaciones con altos requerimientos de calidad de video.
9.2 CÓDIGOS DE EXTENSIONES ESCALABLES PARA MPEG-2
Las aplicaciones escalables de MPEG-2, soportan aplicaciones por arriba de los que se han establecido en el código del algoritmo del Profile principal. Esto provee la interoperabilidad entre diferentes servicios y la de soportar receptores con diferentes capacidades de desplegado. Otro propósito es proveer video en capas que pueda ser prioritizado para su transmisión.
10 COMPRESIÓN DE VIDEO EN EL ESTÁNDAR MPEG-2
(APLICACIONES BROADCAST)
MPEG-2 puede describirse como una " caja de herramientas" de compresión más compleja que MPEG-1, por lo tanto, también puede ser considerada como una unidad superior: en efecto, toma todas las herramientas anteriores y le añade otras. Además, la norma prevé la compatibilidad ascendente, lo que significa que un decodificador MPEG-2 deberá decodificar trenes binarios elementales de la norma MPEG-1.
10.1 PERFILES Y NIVELES MPEG-2
MPEG-2 se puede utilizar en un vasto rango de aplicaciones, requiriendo diferentes grados de complejidad y desempeño.
Para un propósito practico el estándar MPEG-2 es dividido en perfiles y cada perfil es subdividido en niveles (Ver la Figura 15). Un perfil es básicamente el grado de complejidad esperada en la codificación, mientras que un nivel describe el tamaño de la imagen, la resolución de esta o la velocidad de transferencia de bits usada en ese perfil. En principio, hay 24 combinaciones posibles, pero no todas están definidas. Un codificador MPEG cuando entrega un perfil y un nivel determinado, debe además ser capaz de decodificarlo a perfiles y niveles inferiores.
Figura 15. Niveles y perfiles de MPEG-2
Un perfil simple no soporta una codificación bidireccional y de este modo solo genera imágenes I y P. Esto reduce la tasa de compresión simplificando el codificador y el decodificador; permitiendo un sencillo hardware. Un perfil simple solamente está definido en el nivel main (principal) como (SP@ML). El perfil main (principal) corresponde actualmente al mejor compromiso entre calidad/tasa de compresión, utilizando los tres tipos de imágenes (I, P y B), a costa de un codificador y decodificador, más complejos.
Los perfiles escalables (código jerárquico) están previstos para operaciones posteriores y permitirán transmitir una imagen básica (base layer) en términos de resolución espacial (spatially scalable profile) o de cuantificación (SNR scalable profile), así como información suplementaria independiente (enhanced layer) que permite mejorar sus características, por ejemplo para transmitir la misma emisión en definición estándar y HD (High Definition), o permitir una recepción con calidad aceptable en caso de recepción difícil y de calidad óptima en buenas condiciones (por ejemplo, para la televisión digital terrestre).
La Figura 16 muestra un codificador MPEG convencional, con coeficientes de cuantificación de elevado peso; que al codificar una imagen la genera con una moderada razón señal a ruido. Después esta imagen al ser decodificada y sustraída de la imagen original pixel a pixel da como resultado una imagen de "ruido de cuantificación". Esta imagen puede ser comprimida y transmitida como una imagen de ayuda. Un simple decodificador solo decodifica la imagen principal, con un flujo de bit con ruido de cuantificación, pero un decodificador más complejo puede decodificar ambas imágenes con diferentes flujos de bits y combinarlos para producir una imagen con bajo ruido. Este es el principio del perfil SNR escalable.
Figura 16. Codificación escalable SNR
Como otra alternativa, la Figura.17 muestra que por solo codificar las frecuencias espaciales bajas en imágenes HDTV, parte del flujo de bits puede ser reconstruido por un receptor con codificador para SDTV (Standard Definition TeleVision). Si una imagen de baja definición es localmente decodificada y sustraída de la imagen original, se produce entonces una imagen de "realce de definición", esta imagen puede ser codificada en una señal de ayuda. Un decodificador de forma conveniente podría combinar las señales principales y de ayuda para recrear la imagen HDTV. Este es el principio del perfil de escalabilidad espacial.
Figura 17. Codificador espacial escalable
El perfil high (alto) soporta tanto el SNR y la escalabilidad espacial como también la opción de muestreado 4:2:2.
El perfil 4:2:2 se ha desarrollado para proveer compatibilidad con los equipos de producción digital de televisión existentes. Este perfil admite trabajar con 4:2:2 sin requerir una complejidad adicional si se usa en el perfil high. Por ejemplo, un decodificador HP@ML debe soportar escalabilidad SNR que no es requerida en la producción de televisión digital. El perfil 4:2:2 tiene la misma libertad de escoger su estructura de GOP como en otros perfiles, pero en la práctica este usa comúnmente GOPs cortos de edición sencilla. La operación 4:2:2 requiere una mayor velocidad en la transmisión del bit que una operación 4:2:0, y el uso de pequeños GOPs requiere también de mayores velocidades de transferencia de bits para proporcionar calidad en sus imágenes.
El nivel low (bajo) corresponde a la resolución SIF utilizada en el MPEG-1.
El nivel main (principal) corresponde a la resolución 4:2:0 "normal" (de hasta 720 pixeles x 576 líneas).
El nivel high-1440 (alto-1440) está destinado a la HDTV (de hasta 1440 píxeles x 1152 líneas).
El nivel high (alto) está optimizado para la HDTV (de hasta 1920 píxeles x 1152 líneas).
Según el compromiso de calidad/flujo de bits perseguido y la naturaleza de las imágenes, el flujo de bits estará comprendido entre los 4 Mbits/s (calidad equivalente a la de una imagen codificada en PAL o SECAM) y los 9 Mbits/s (calidad próxima a la de una imagen de estudio CC1R-601).
Todo el proceso de codificación de las imágenes animadas descrito en el capítulo anterior para MPEG-1 se aplica a MPEG-2 (MP@ML), especialmente la jerarquía de capas (desde el bloque hasta la secuencia de la Figura 18).
Figura 18. Jerarquía de capas de la secuencia
Una diferencia que hay que destacar para las slices, es que en MPEG-2 no necesariamente abarcan toda la imagen, y además deben estar compuestas únicamente de macrobloques contiguos situados en la misma línea horizontal. Ver Figura. 19.
Figura 19. Rebanadas (slices) en MPEG-2
La principal novedad con respecto a MPEG-1, además de los perfiles y niveles, provienen del tratamiento de las imágenes entrelazadas.
10.2 MODOS DE PREDICCIÓN ESPECÍFICOS EN MPEG-2 (IMÁGENES ENTRELAZADAS)
Dependiendo del trabajo a realizar, estas pueden ser tratadas de manera diferente según la importancia de los movimientos entre los dos campos de una misma imagen (los casos extremos son, por un lado, cuando se transmiten películas cinematográficas por televisión "telecine" donde no hay movimiento entre los dos campos de TV, puesto que proceden de la exploración del mismo fotograma de la película, y por otro lado, las imágenes de video de acontecimientos deportivos, donde puede haber importantes movimientos entre los dos campos de una imagen).
La Figura 20 representa la secuencia temporal de la posición vertical de las líneas de los campos sucesivos en un sistema entrelazado.
Figura 20. Posición de las líneas de campos sucesivos en un sistema entrelazado
Para la codificación Intra de las imágenes entrelazadas, MPEG-2 permite elegir entre dos estructuras de imágenes llamadas frame (estructura "imagen") o field (estructura "campo").
10.3 LA ESTRUCTURA "FRAME"
También llamada "progresiva", es apropiada para los casos donde hay poco movimiento entre dos campos sucesivos. Los bloques y macrobloques se dividen en la imagen completa (Ver Figura. 21), y la DCT se efectúa, sobre puntos verticales que distan 20 ms en el tiempo, lo que no plantea problemas si los dos campos difieren poco.
Figura 21. División de los macrobloques en bloques en modo imagen (frame)
En este caso, siempre es posible codificar los bloques de mayor animación en modo inter-campo, es decir, dividiéndoles en un campo.
10.4 LA ESTRUCTURA "FIELD"
También llamada "entrelazada", es preferible cuando el movimiento de un campo a otro es importante. En este caso, a fin de evitar un contenido en frecuencias verticales elevadas que reduciría la eficacia de la compresión tras efectuar la DTC, la división de los macrobloques se hace considerando cada uno de los campos como una imagen independiente en el interior del cual se toman los bloques. Ver Figura 22.
Figura 22. División de los macrobloques en bloques en modo campo (field)
En cuanto a la estimación de movimiento, también hay varios modos previstos:
Un macrobloque puede predecirse en modo "imagen", "campo" o "mixto"
El Modo "Frame"
Un macrobloque formado en el campo impar sirve para predecir el bloque correspondiente del próximo campo impar, y lo mismo para los bloques del campo par, por tanto, la predicción se hace sobre un tiempo de 40 ms (2 campos).
El Modo "Field"
La predicción de un bloque se efectúa a partir de un bloque del campo anterior, entonces aquí, los vectores de movimiento corresponden a un tiempo de 20ms.
El Modo "Mixto"
Los bloques se predicen a partir de dos bloques que corresponden a dos campos.
10.5 SCANNING (Exploración)
Después de realizar la DTC a un bloque de 8x8 pixeles, se nota que generalmente los coeficientes más significativos de la DTC se encuentran en la parte superior izquierda de la matriz. Una vez evaluados, los coeficientes de menor valor pueden ser redondeados a cero. Permitiendo de este modo, una transmisión de datos más eficiente, debido a que los coeficientes no-cero son enviados primero, seguido de un código el cual indica que todos los demás números son ceros.
La exploración es una técnica que aumenta la probabilidad de alcanzar este resultado, porque ella envía los coeficientes en orden descendente según su probabilidad. La Figura 23 muestra que en un sistema no-entrelazado, la probabilidad de hallar coeficientes de mayor peso es más alta en la parte superior izquierda que en la parte inferior derecha. Aquí una exploración en forma diagonal a 45º es la que se denomina una exploración en zig-zag, la cual es la mejor secuencia para emplear en este caso.
Figura 23. Exploración clásica o en zig-zag, normalmente para cuadros (frames)
En la Figura 24 muestra una exploración para una fuente entrelazada, se observa que la exploración se extiende dos veces más por encima del área vertical, de este modo se pueden conseguir más detalles acerca de la imagen. Las frecuencias verticales aparecen dos veces más que las frecuencias horizontales. Por tanto, la exploración ideal para una imagen entrelazada será sobre una diagonal de 67.5º. La Figura 24 muestra que esta forma de exploración, entrega primero las frecuencias espaciales verticales y luego las frecuencias espaciales horizontales.
Figura 24. Exploración alternada, normalmente para campos (fields)
10.6 DESCRIPCIÓN DEL PROCESO DE CODIFICACIÓN MPEG-2
Al igual que MPEG-1, la norma no define explícitamente el método de codificación, sino únicamente la sintaxis que controla el tren binario a la salida del codificador, lo cual deja gran libertad a su diseñador.
El esquema de bloques MPEG-1, también se aplica al codificador MPEG-2. Ver Figura 25.
Figura 25. Esquema simplificado del codificador MPEG-2
A partir de la imagen digitalizada en formato 4:2:0 (caso del main profile), el codificador elige para cada imagen su tipo (I, P o B) y si esta debe ser codificada en modo frame (imagen) o field (campo). El codificador a continuación debe estimar los vectores de movimiento para cada macrobloque de 16x16 pixeles. El número de vectores depende del tipo de imagen y del modo de codificación escogido para cada bloque.
En el caso más general, donde el codificador es capaz de generar imágenes B (bidireccionales), deberá reordenar las imágenes antes de la codificación y la transmisión.
La unidad básica de codificación es el macrobloque, compuesto por 4 bloques de luminancia de 8x8 pixeles y (en el caso del formato 4:2:0) de 2 bloques de crominancia (un Cr y un Cb) de 8x8 pixeles que abarcan la misma zona de la imagen.
Todos los macrobloques de la imagen se codifican secuencialmente de izquierda a derecha y de arriba abajo, eligiéndose un modo de codificación independiente para cada uno de ellos.
Una vez que se ha elegido el modo de codificación, la predicción con compensación de movimiento del contenido del bloque se hace a partir de la imagen de referencia (I o P) pasada (caso de las imágenes P) y eventualmente futura (caso de las imágenes B). La predicción se elimina de los datos reales del macrobloque, lo que da la señal de error de predicción.
En una imagen con estructura frame, el codificador deberá elegir entre efectuar la DTC en modo frame o field. Esto depende principalmente de la amplitud del movimiento entre los campos de la imagen.
La señal de error se separa inmediatamente en bloques de 8x8, a los que se aplica la DTC. Cada bloque de coeficientes resultante se cuantifica y barre en zig-zag para formar una serie de coeficientes. Seguidamente, se codifica la información auxiliar necesaria para que el decodificador pueda reconstruir el bloque (modo de codificación, vectores de movimiento, etc.), codificando los coeficientes cuantificados con ayuda de una tabla VLC (codificación Huffman).
La unidad de control de flujo supervisa el estado de ocupación de la memoria intermedia de salida, utilizando esta información como retorno para controlar el número de bits que el codificador generará para los bloques siguientes, jugando principalmente con los coeficientes de cuantificación. Se obtiene entonces a la salida del codificador un tren binario completo, ya utilizable para un decodificador.
Para aumentar la calidad de la imagen decodificada, el propio codificador almacena y decodifica (decuantificación de los coeficientes después de la DTC inversa) las imágenes I y P, como referencia para reconstruir otras imágenes obtenidas por predicción con compensación de movimiento en el decodificador, y calcula una señal de error que se añade a la señal de predicción.
10.7 DESCRIPCIÓN DEL PROCESO DE DECODIFICACIÓN MPEG-2
Como ya se ha dicho, la decodificación es más sencilla que la codificación, ya que no tiene que efectuar alguna estimación de movimiento, que es una de las partes más complejas del codificador.
El esquema de bloques del decodificador de la Figura 26 es el que se va a analizar para MPEG-2.
Figura 26. Esquema simplificado del decodificador MPEG-2
La memoria intermedia (buffer) de entrada recibe los datos del canal de transmisión, y el decodificador lee el tren binario hasta encontrar el principio de una imagen, su tipo (I, P o B) y su estructura (frame o field).
Empieza la decodificación con la primera imagen I, almacenándola en su memoria, así como la imagen P siguiente, para servir de referencia a las imágenes P o B que dependen de ella.
Para las imágenes I, la decodificación propiamente dicha consiste en aplicar a cada bloque la decodificación VLC, la decuantificación de los coeficientes y la transformación DTC inversa.
Para las imágenes P o B, este proceso consiste en construir la predicción de cada macrobloque a partir de su tipo, de los vectores de movimiento y de las imágenes de referencia memorizadas. El decodificador lee, decodifica y decuantifica los coeficientes DTC del error de predicción transmitido para cada bloque de 8x8 pixeles, y, después de la transformada DTC inversa, añade el resultado a la predicción.
La reconstrucción de la imagen se efectúa cuando todos los macrobloques han sido tratados.
La ultima etapa de la decodificación es poner las imágenes en el orden inicial de visualización.
Como se vio anteriormente, la necesidad de memoria para el decodificador es de unas 3 imágenes (dos imágenes de referencia más la imagen en vía de reconstrucción), siendo para una imagen 4:2:0, de aproximadamente 16 Mbits.
11. ¿CÓMO TRABAJA MPEG?
MPEG trabaja en fases. Estas fases son normalmente denotadas por números árabes (MPEG-1, MPEG-2, MPEG-4). Las actividades de audio de la primera fase, MPEG-1, fueron finalizadas en 1992 y discutidas en la International Standard ISO/IEC 11172-3, la cual fue publicada en 1993. Parte de las actividades de audio en la segunda fase, MPEG-2, han sido terminadas en 1994 y discutidas en la International Standard ISO/IEC 13818-3, la cual fue publicada en 1995. Otra fase, en vías de aparición, la denominada MPEG-4, está planeada para terminar en 1998.
Tanto en MPEG-1 como en MPEG-2, han sido definidas tres capas -Layers, en inglés- diferentes, a veces llamadas incorrectamente "niveles". Estas capas representan una familia de algoritmos de codificación. Las capas son preferentemente denotadas por números romanos, esto es, Layer I, Layer II y Layer III..
Las distintas capas han sido definidas porque todas ellas tienen sus ventajas. Básicamente, la complejidad de los codificadores y decodificadores, el retraso cod/decod, y la eficacia de codificación incrementan a medida que vamos desde Capa I hasta Capa III pasando por Capa II. La Capa I es la de menor complejidad y es específicamente adecuada para aplicaciones donde también la complejidad del codificador juega un importante papel. La Capa II requiere un codificador más complejo y un decodificador más complejo y delicado, y está dirigida hacia muchas aplicaciones. A diferencia de la Capa I, la Capa II es capaz de quitar más redundancia de la señal y aplicar el umbral psicoacústico más eficientemente. La Capa III es aún más compleja y está dirigida hacia aplicaciones de bajas tasas de bit debido a la redundancia e irrelevancia adicional de la extracción de la resolución de la frecuencia realzada en su banco de filtro.
Dentro del mercado profesional y del consumidor, pueden ser definidos cuatro campos de aplicación: radiodifusión, almacenamiento, multimedia y telecomunicación. Esta variedad de aplicaciones es posible debida al extenso rango de tasas de bits y a las numerosas configuraciones, permitidas dentro del standard MPEG audio. Algunas de las aplicaciones más importantes son:
Grabaciones para consumidor (DCC)
Almacenamiento basado en disco (CD-i, CD-Vídeo)
Edición fundamentada en disco, automatización de las estaciones de radiodifusión
Sólidos estados de almacenamiento para audio
TV por cable y satélite (pe. DVB, USSB, DirectTV, EchoStar)
Radio vía cable
Radiodifusión de audio digital (pe. ADR, DAB, US-Radio Digital, Worldspace Radio)
Multimedia basada en ordenadores
Contribución de enlaces
Distribución de enlaces
Enlaces ISDN
El sistema visual humano tiene limitaciones fundamentales en la respuesta en frecuencia, como límites para resolver detalles finos, o transiciones de intensidad. Los factores limitantes son el número y organización de los fotorreceptores en la retina, la calidad de la parte óptica del ojo (córnea, humor acuoso, cristalino, y humor vítreo), y la transmisión y procesamiento de la información visual al cerebro.
El ojo humano puede observar todos los colores del espectro visible, "mezclando" los tres colores primarios, rojo, verde y azul, lo que se aprovecha en la televisión, con las señales R, G y B.
En el video digital, las copias son exactamente iguales los originales, por lo tanto pueden hacerse infinidad de grabaciones sin pérdida alguna de la calidad.
Las redes de comunicaciones desarrolladas para manejar datos pueden llevar perfectamente video digital acompañado también de audio a distancias indefinidas sin pérdidas de calidad.
La compresión de imágenes se basa fundamentalmente en la eliminación de las redundancias de codificación, entre píxeles y psicovisual de la imagen, tratando de dejar solamente la entropía.
En la compresión sin pérdidas la imagen comprimida se puede reproducir exactamente igual a la original.
En la compresión con pérdidas hay una pérdida de información irreversible, por lo que la imagen no se puede recuperar como la original.
La compresión con pérdidas logra factores de compresión mayores que en la compresión sin pérdidas.
Las técnicas de compresión con pérdidas son, en general más complejas que las técnicas de compresión sin pérdidas.
En la técnica de codificación por Transformación, la DCT condensa la energía en una cantidad pequeña de coeficientes, permitiendo eliminar los demás, para así obtener una compresión de la imagen.
En la compresión JPEG se utiliza una combinación de técnicas de compresión sin pérdidas y con pérdidas.
El estándar JPEG es un estándar de compresión espacial o intra.
En la compresión intra o espacial se hace en dos dimensiones, mientras que en la compresión inter o temporal se hace tres dimensiones, ya que además de los dos ejes espaciales, también entra a hacer parte de esta en eje del tiempo.
A diferencia de la codificación espacial, con la codificación temporal se obtienen altos factores de compresión.
La codificación temporal se aprovecha de la estimación del movimiento de los macrobloques, por medio del vector de movimiento, para no tener que enviar toda la imagen, sino sólo la parte de la imagen que se mueve.
El MPEG 2 es un estándar de compresión para imágenes con movimiento a velocidades de pixel entre 5 y 10 Mbit/s. El estándar de video consiste de cinco perfiles, referido a la complejidad del algoritmo de compresión y cuatro niveles, los cuales se refieren a la resolución del video original.
MPEG 2 es un estándar emergente para reproducir video en pantalla completa y audio con calidad de transmisión; está más orientado hacia la televisión que MPEG 1, además de que la calidad de la imagen es superior.
El tren de transporte está destinado a la transmisión de programas a larga distancia, por lo que está sujeto a muchos errores; mientras que el tren de programa está destinado a aplicaciones donde el dispositivo de almacenamiento o transmisión es poco susceptible a los errores.
Como no puede dependerse de la llegada del paquete anterior antes de descomprimir el paquete actual, MPEG 2 no es ideal para transmisión vía Internet.
El estándar MPEG-2, al haber sido aceptado en América, Europa y Asia, se ha convertido en el soporte básico sobre el que se desarrollará la televisión digital en los próximos años. MPEG-2 estará presente en la difusión de programas de televisión por satélite, cable, redes terrenas y grabaciones en discos ópticos. Muchos sistemas de producción y archivo de programas harán uso de MPEG-2 en su perfil de estudio 4:2:2. La compresión MPEG2 será el flujo vital que llenará de sonido y color el entorno multimedia.
Otras aplicaciones importantes de los algoritmos MPEG están en los famosos MP3, los cuales comprimen la música hasta una décima parte.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución