Televisión Digital y Sistemas Multimedia UNED Página 1 de 1
PROGRAMA DE POSTGRADO, UNED – CURSO 1999/2000
Departamento de Ingeniería Eléctrica, Electrónica y de Control
E.T.S. de Ingenieros Industriales de la UNED
Curso de Experto Universitario en Sistemas de
Sistemas de Comunicaciones: Redes, Servicios e InfoVía Plus
TESINA FINAL Parte II
Ingeniero Superior en Electrónica, Facultad de CC. Físicas, UCM, Madrid Experto Universitario en Sistemas de Comunicaciones:
Redes, Servicios e Infovía Plus, DIEEC, ETSII, UNED, Madrid
Primer ciclo de Ingeniería Superior de Telecomunicaciones, plan 64-M2, ETSIT, UPM, Madrid
Televisión Digital y Sistemas Multimedia UNED Página 2 de 2
Parte II
Televisión Digital y Sistemas Multimedia UNED Página 3 de 3
PRESENTACIÓN Y COMPRESIÓN MULTIMEDIA
1.- PRESENTACIÓN Y COMPRESIÓN DE LA IMAGEN
Una imagen digital representa un “array” bidimensional de muestras, denominándose a cada una con el nombre de píxel. Existe un parámetro denominado precisión relacionado con el nº de bits por píxel que se utiliza para codificar la imagen y que permite clasificarlas en:
. Imágenes binarias: 1bit/píxel . Gráficos de ordenador: 4 bits/píxel . Escala de grises: 8 bits/muestra . Imágenes a color: ≥ 16 bits/muestra
De acuerdo a la teoría tricromátrica (colorimetría) la sensación de color se produce por la excitación selectiva de tres clases de receptores en el ojo, esto es, los tres grupos de bastones (S, M y L) que ya hemos visto y que son sensibles a las cortas, medias o grandes longitudes de onda. Aprovechando las características del sistema visual humano, se implementan sensores en las cámaras que operan de manera análoga, pero que serán sensibles a distintas señales según la representación de la señal que se elija, esto es: 3 sensores en general independientes pero sensibles a tres señales de color (R, G y B) o a una señal de luminancia (Y) y a dos de diferencia de color (U y V, etc...), según que el sistema de TV de la zona geográfica a cubrir sea NTSC, PAL o SECAM.
Otro parámetro importante es la resolución de la imagen, sobre todo en el caso de la TV digital, que es el que nos ocupa, y que está relacionado con la capacidad para reproducir detalles finos. Las resoluciones más elevadas requerirán sistemas más complejos para codificar estas señales en tiempo real, y tienen varias formas de especificación (pisels horizontales x píxeles verticales, para monitores de PC como VGA y nº de líneas para las pantallas de TV (625 para las normales o 937 para la de alta definición)
Otro parámetro importante para definir en los estándares, como ya hemos visto, es la frecuencia de las tramas que permite ofrecer mayor o menor sensación de continuidad (24 Hz para TV; 60 Hz para HDTV (alta definición); 15 Hz para animación; 20 Hz para videoconferencia y aplicaciones multimedia interactivas; 5 para vídeo telefonía; etc...
El vídeo representa una colección de imágenes o tramas que pueden ser representadas en distintos formatos según que las aplicaciones sean para ordenador o para televisión.
En formatos para computadores el parámetro de resolución se especifica con el nº de píxeles.
En formatos para televisión la resolución se refiere al nº de pares de líneas que se presentan en la pantalla del televisor. Hay divergencias entre Europa (625 líneas/ 50 Hz) y USA/ Japón (525 líneas/ 60 Hz) e incluso en los parámetros de la televisión de alta definición, así como la relación geométrica de aspecto de las pantallas ( relación entre el ancho y el alto), así como otros parámetros más específicos como el ángulo de visón, la distancia óptima ( 7.0 m para NTSC y 6 m para PAL) etc... Todos estos parámetros irán evolucionando con las nuevas gamas de productos que los fabricantes ofrecen, pero lo que parece obvio es que las
Televisión Digital y Sistemas Multimedia UNED Página 4 de 4
diferencias entre los dos bloques van a existir siempre, ya que existe una auténtica guerra por la acaparabilidad de mercados.
Formatos para ordenador
Resolución (pixels)
Colores (bits)
Capacidad de almacenamiento
por imagen CGA
(Color Graphics Adapter)
320x200 4 (2 bits) 16 KB EGA
(Enchanced Graphics Adapter)
640x350 16 (4 bits) 112 KB
VGA
(Video Graphics Adapter)
640x480 256 (8 bits) 307´2 KB 88514/A
Display Adapter Mode
1024x768 256 (8 bits) 786´432 KB XGA a
(Extended Graphics Adapter
640x480 65000 (24 bits)
786´432 KB XGA b 1024x768 256 (8 bits) 786´432 KB SVGA
Super VGA
1024x768 65000 (24 bits)
2´36 MB
Las señales de TV son transmitidas a través de un único canal en el caso de la difusión como se describió en el bloque primero de éste estudio, utilizando la técnica clásica de MDF y dividiendo el espectro en una serie de anchos de banda asociados para cada transmisión.
Así pues, audio, imagen y video requieren señales con una ingente cantidad de datos asociados para su representación, requiriendo un espacio de almacenamiento considerable que varía según las aplicaciones (desde 2 KB para páginas de texto hasta 30 MB/s para vídeo) Las modernas técnicas de compresión ofrecen una solución a éste problema, reduciendo así tremendamente los requisitos de los sistemas, variando sus tasas desde las habituales 10:1 hasta las 50:1 ó las tasas elevadísimas conseguidas con técnicas de compresión alta, 1000:1 para vídeo.
La compresión de datos digitales está basada en varios algoritmos computacionales que pueden ser implementados tanto por software como por hardware, según los dispositivos (TV, monitores, etc...) La clasificación más general es:
Sistema Líneas totales
Líneas activas
Resolución vertical
Distancia óptima (m)
Razón de aspecto
Resolución horizontal
Elementos de imagen HDTV
USA
1050 960 675 2´5 16/9 600 720000 HDTV
EUR
1250 1000 700 2´4 16/9 700 870000 NTSC 525 484 242 7´0 4/3 330 106000 PAL 625 575 290 6´0 4/3 425 165000 SECAM 625 575 290 6´0 4/3 465 180000
Televisión Digital y Sistemas Multimedia UNED Página 5 de 5
a) Con pérdidas: involucran algoritmos que recuperan imágenes que se aproximan a las originales.
b) Sin pérdidas: capaces de recuperar la representación original perfectamente.
Las más adecuadas para señales, son las técnicas con pérdidas que utilizan técnicas similares a las vistas en técnicas de codificación avanzada. Entre éstas podemos destacar:
1) Técnicas predictivas: como el ADPCM que predice los valores futuros en base a los pasados.
2) Técnicas orientadas a la frecuencia: como la transformada discreta del coseno (DCT) o la codificación subbanda, que están relacionadas con la codificación por transformada, y en concreto con la transformación rápida de Fourier (FFT)
3) Técnicas orientadas a la importancia: que utilizan otras características de las señales para su compresión, como por ejemplo la DVI que usa tablas de aspecto del color y filtrado de datos.
4) Técnicas híbridas: que combinan varias técnicas como predicción, transformación, cuantización o estimación del movimiento. Un ejemplo de esto es el estándar MPEG (Moving Pictures Experts Group) para la codificación de imágenes en movimiento, que tiene diversas variantes y actualizaciones.
2.- JPEG
Las imágenes contienen un volumen de datos elevado con mucha información redundante.
Es conveniente adaptar el volumen de datos a los canales de información. En concreto, para aplicaciones de vídeo, tanto estáticas como dinámicas (que no es más que una sucesión de imágenes estáticas) es conveniente llegar a un compromiso entre la compresión y la calidad dela imagen.
En 1980, el ISO y el CCITT formaron un grupo denominado Joint Photographic Experts Group, cuyo objetivo era el estudio de un esquema eficiente de compresión de imágenes estáticas, en color o en Blanco y Negro que inicialmente consiguió unos resultados de calidad razonable (<1bpp) El resultado fue un estándar (10918) que en la actualidad se aplica como algoritmo para la compresión de imágenes estáticas a todo color e incluso se utiliza en algunas aplicaciones en tiempo real, dando lugar al Motion JPEG ó MJPEG, que no tiene nada que ver con el MPEG.
Tiene cuatro modos de operación básicos, que son los que voy a desarrollar a continuación.
2.1.- JPEG SECUENCIAL
La imagen se codifica mediante un recorrido “raster”, esto es, de izquierda a derecha de arriba abajo, empezando por el vértice superior izquierdo avanzando píxel a píxel, descendiendo línea por línea hasta llegar al vértice inferior derecho.
Televisión Digital y Sistemas Multimedia UNED Página 6 de 6
Utiliza la codificación por transformada DCT bidimensional en bloques de 8 x 8 píxeles, que ya ha sido descrita en capítulos anteriores, con la variante de que se aplicaría a 2D, mediante la siguiente expresión:
( ) ( ) ( ) ( ) ( ) ( )
( )
>
= =
+
=
∑∑
+= =
0 .
1
0 2.
1
16 1 cos 2
16 1 cos 2
2 , , 2
7
0 7
0
α α α
π π
si C si
v y u
y x x v f
xC u v C
u F
x y
2.1.1.- Codificador JPEG
En primer lugar, los bloques de imagen con muestras en un determinado rango son trasladados a otro para facilitar el tratamiento de las muestras (o sea, se les aplica un offset). Seguidamente se aplica la codificación de las muestras al dominio de la frecuencia utilizando la DCT, que no es más que una versión reducida de la transformada de FOURIER. Se obtiene una señal discreta de 64 puntos que es función de las dos dimensiones espaciales. Los coeficientes DCT así obtenidos son también denominados frecuencias espaciales.
El primer coeficiente F(0,0) es denominado coeficiente de DC o continua y el resto coeficientes de AC. El fundamento de la compresión de datos es el hecho de que la mayor parte de estos coeficientes son nulos o prácticamente nulos.
El paso siguiente es el de la cuantización de los coeficientes mediante unas tablas especificadas para cada aplicación con el fin de reducir la amplitud de estos coeficientes, aumentando el nº de coeficientes nulos descartando aquellos que no aporten información significativa para la imagen, y que por lo tanto no influyen en la calidad de la imagen. La cuantificación se efectúa de acuerdo a la siguiente expresión:
( ) ( ) ( )
=
v u Q
v u E F v u F
q,
, ,
siendo E la función entero más próximo, y Q(u,v) los coeficientes de cuantificación especificados en la tabla de cuantificación, y que suelen ser enteros desde 1 a 255 que se aplican a cada coeficiente DCT en función del tamaño del escalón del cuantificador.
Después de esto los 63 coeficientes AC son ordenados en zig-zag tal y como indica la figura.
Para la construcción de la tabla de cuantificación que se aplica a los coeficientes, se utiliza el algoritmo de Nelson:
Televisión Digital y Sistemas Multimedia UNED Página 7 de 7
for i=0 to n;
for j=0 to n;
Q(i,j)=1+[(1+i+j) x quality;
end j;
end i;
El parámetro quality expresa el factor de calidad y el rango recomendado es desde 1 a 25, donde 1 se corresponde a la mejor calidad pero a la tasa de compresión más baja. En nuestro caso n=8 ya que los bloques son de 8x8, y una calidad de 2 es bastante buena.
3 5 7 9 11 13 15 17 5 7 9 11 13 15 17 19 7 9 11 13 15 17 19 21 9 11 13 15 17 19 21 23 11 13 15 17 19 21 23 25 13 15 17 19 21 23 25 27 15 17 19 21 23 25 27 29 17 19 21 23 25 27 29 31
La ordenación en zig-zag facilita la fase siguiente que es la codificación de entropía desplazando los coeficientes de baja frecuencia que suelen ser no nulos antes de los coeficientes de alta frecuencia.
La razón de que se aplique codificación predictiva a los coeficientes DC es que normalmente existe una fuerte correlación entre entre los coeficientes DC de los bloques adyacentes. En la práctica se aplica DPCM al valor que resulta de la diferencia entre el coeficiente DC del bloque actual y el del bloque precedente (DIC=DCi-DCi-1) Como consecuencia, la tasa de compresión se ve mejorada.
El último bloque en el codificador JPEG es el codificador de entropía que proporciona una compresión más compacta para los coeficientes cuantificados. El estándar JPEG define dos métodos para este bloque (la codificación Huffman y la codificación aritmética). El codificador JPEG secuencial utiliza el primero.
DC 2 6 7 15 16 28 29
3 5 8 14 17 27 30 43 4 9 13 18 26 31 42 44 10 12 19 25 32 41 45 54 11 20 24 33 40 46 53 55 21 23 34 39 47 52 56 61 22 35 38 48 51 57 60 62 36 37 49 50 58 59 63 64
Televisión Digital y Sistemas Multimedia UNED Página 8 de 8
El codificador Huffman convierte los coeficientes DCT después de la cuantificación en una secuencia binaria compacta a través de dos pasos:
a) Formación de una secuencia intermedia de símbolos.
En esta secuencia intermedia cada coeficiente AC se representa mediante un par de símbolos. El símbolo-1 tiene dos subcampos de 4 bits (la longitud de recorrido, que es el nº de coeficientes nulos que preceden al coeficiente nulo y que va de 0 a 15) y el tamaño (nº de bits empleado para codificar la amplitud, que es 10) y el símbolo-2 (que es la amplitud del coeficiente no nulo y que va desde –1023 a 1024 y que requiere 10 bits. Para los coeficientes DC el símbolo-1 es el tamaño y el símbolo 2 la amplitud, que como utiliza codificación diferencial duplica el rango, o sea desde –2048 a 2047. Existen unos símbolos especiales como (0,0) que representa el fin de bloque y el (15,0) que representa que la longitud del recorrido es mayor que 15 y entonces equivale a 16 pudiendo aparecer formando un grupo de varios “16”.
b) Conversión de esta secuencia en otra binaria usando las tablas de Huffman.
Los símbolos-1 son codificados utilizando un código de longitud variable (VLC) obtenido a partir de la tabla de Huffman especificada para cada componente de imagen.
Los símbolos-2 son codificados utilizando un código de longitud variable entera (VLI), asignando según el tamaño (nº de bits) unos intervalos asociados con los extremos variables que delimitan el rango que codifican.
2.1.2.- Decodificador JPEG
En la decodificación JPEG secuencial, todos los pasos del proceso de codificación son invertidos e implementados en orden contrario.
Primero un decodificador de entropía parecedo al Huffman se aplica a los datos de la imagen comprimida. La secuencia binaria se convierte a símbolos usando las tablas de Huffman (VLC y VLI).
Después los símbolos son convertidos a DCT, para implementar la decuantificación (Q-1) usando la siguiente función:
F(u,v)= F
q(u,v)xQ(u,v)
Después se aplica una transformada inversa discreta del coseno (IDCT) sobre los coeficientes decuantizados con el objetivo de convertir la imagen desde el dominio de la frecuencia al dominio espacial:
( ) ( ) ( ) ( ) ( ) ( )
( )
>
= =
+ +
=
∑∑
= =0 . , 1
0 2 .
1
16 1 cos2
16 1 cos2
4 , , 1
7
0 7
0
α α α
π π
si C si
v y u
v x u F v C u C y
x F
u v
Televisión Digital y Sistemas Multimedia UNED Página 9 de 9
Y por último, se aplica un offset contrario al que se aplicó en la codificación directa, para recuperar las muestras en el rango adecuado (0, 2n-1) siendo n el nº de bits por píxel.
El esquema del codificador JPEG secuencial es el que sigue (el decodificador es el inverso, aplicando las operaciones al revés tal y como se ha descrito más arriba)
8x8 Datos de la imagen comprimida
2.1.3.- Medidas de la compresión
La medida básica para la medida de la ejecución del algoritmo de compresión es la tasa de compresión:
C
C
r= O
; siendo O el tamaño original de los datos y C el tamañocomprimido
Hay una relación entre la tasa de compresión y la calidad ofrecida, de manera que las tasas de compresión más altas ofrecen una menor calidad de la imagen. La calidad de la imagen puede variar también en función del contenido de la escena y las características de la fuente de imagen.
Un parámetro para definir la calidad de la imagen es el nº de bits por píxel en la imagen comprimida:
píxeles de
número
s codificado bits
de número Nb
_ _
_ _
= _
Calidades entre 1´5 y 2 ofrecen imágenes comprimidas prácticamente indistinguibles de la original; de 0´75 a 1 ofrecen excelentes resultados; de 0´5 a 0´75 buenas a muy buenas calidades y de 0´25 a 0´5 de moderado a bueno.
Como en otros tantos procesos electrónicos un parámetro estadístico muy bueno para evaluar los algoritmos de compresión es el RMS (root mean square), que muestra la relación estadística entre la imagen original y la imagen decomprimida:
DCT Q
Codificador de ENTROPÍA
TABLAS TABLAS
Televisión Digital y Sistemas Multimedia UNED Página 10 de 10
( )
21
1 ˆ
∑
=−
=
ni
i
i
X
n X
RMS
; siendoX
i los valores de los píxeles originales,
Xˆ
i los de los píxeles después de descomprimir y n el nº total de píxeles en una imagen.El algoritmo descrito puede ser fácilmente expandido para ser aplicado a la compresión de imágenes en color o a señales de múltiples componentes. El modelo de la fuente de imagen JPEG consta de 1 a 255 componentes de imagen denominadas bandas espectrales o de color. Por ejemplo, la representación RGB e YUV consta de tres componentes. Cada una de ellas puede tener un nº diferente de píxeles sobre los ejes horizontales y verticales. Por último las componentes se pueden procesar de dos formas;
sin orden de datos intercuadro, de manera que el procesamiento se realiza componente a componente en modo raster dentro del mismo cuadro y primero se procesan las componentes R, después las G y finalmente las B y con ordenamiento de datos intercuadro, de manera que las diferentes componentes de la señal se combinan en unos grupos con componentes de diferentes cuadros denominados MCUs o unidades codificadas mínimas.
2.2.- JPEG PROGRESIVO
Para aplicaciones con imágenes que contengan un nº elevado de pixels, el proceso de compresión y transmisión a través de una red puede durar varios minutos. Por ello se crea la necesidad de producir una imagen compacta rápidamente y después incrementar su calidad empleando sucesivos “scans” o barridos.
El modo progresivo produce una secuencia de barridos en los que se codifica un subconjunto de coeficientes DCT en cada uno de ellos. Además, el codificador JPEG necesitará de un “buffer” a la salida del cuantificador y antes del codificador de entropía con una capacidad suficiente para almacenar todos los coeficientes DCT de la imagen que verán en este modo un incremento de 3 bits en cada coeficiente con respecto a las muestras originales.
El modo progresivo tiene a su vez tres variantes:
a) Algoritmo de selección espectral: los coeficientes DCT son agrupados en determinadas bandas espectrales. Normalmente se envían primero las bandas de baja frecuencia y después los de frecuencias más altas. Por ejemplo, se podría utilizar una secuencia de cuatro bandas espectrales,
Banda 1: coeficientes
DC
solamente Banda 2:AC
1 yAC
2Banda 3:
AC
3 ,AC
4,AC
5 yAC
6 . Banda 4:AC
7 ...AC
63.b) Algoritmo de aproximaciones sucesivas: todos los coeficientes DCT son enviados primero con una precisión baja y después se refinan mediante posteriores barridos,
Televisión Digital y Sistemas Multimedia UNED Página 11 de 11
donde se aumenta la resolución (desde submúltiplos de los coeficientes en los primeros barridos hasta la resolución completa en el último)
c) Algoritmo combinado: combina los dos métodos anteriores, diviediendo la imagen en una serie de barridos combinados. En el primero sólo se enviaran los coeficientes DC con una resolución baja, dentro de una banda; después se enviarán en sucesivos barridos diferentes bandas de AC entre las que en algún momento determinado se intercalará alguna banda DC con resolución más alta.
Los experimentos que se han realizado con JPEG progresivo, han ofrecido transmisión de imágenes mucho más rápida que con JPEG secuencial, sobre todo para los primeros barridos.
Una modalidad muy interesante del JPEG progresivo, es el modo INTERACTIVO.
En determinadas aplicaciones (como BioIngeniería, Telemedicina, exploración espacial, etc...) donde se necesite transmitir imágenes con una complejidad elevada a una velocidad considerable, se recurre a la intervención del usuario en el proceso de transmisión de imagen. Éste puede acceder a la base de datos remota a través de su interfaz gráfico realizando una solicitud inicial que será atendida. La imagen será enviada y reconstruída en el terminal de usuario que en un principio será una reducción de la imagen que sólo incluirá los coeficientes DCT de las componentes de DC. Seguidamente el usuario puede aislar con un capturador de imagen u otras aplicaciones las zonas de la imagen que le interesen y solicitar barridos adicionales de ésta que irán proporcionándole mayor calidad de detalles pudiéndose llegar al máximo de 2 bpp (indistinguibilidad con la imagen original)
2.3.- JPEG SIN PÉRDIDAS
Se basa en un algoritmo de predicción simple en lugar de la técnica DCT que por llevar asociada una cuantificación conlleva a la inevitables e irreversibles pérdidas. Para evitar éstas, en este modo de operación, se sustituyen en el codificador el bloque DCT y el cuantificador por un predictor.
Las predicciones que el nuevo bloque efectúa sobre las muestras se calculan a partir de las muestras precedentes y después la diferencia entre el valor real y el predecido se computa y codifica utilizando el algoritmo aritmético de Huffman.
X
+
X-
X)-
Xˆ
C B A X
Muestras Previas
F(A,B,C)
Televisión Digital y Sistemas Multimedia UNED Página 12 de 12
Existen varias fórmulas de predicción que se pueden utilizar para predecir el valor de los píxeles en función de los precedentes, y que se seleccionan en el bloque predictor mediante unos valores de selección:
Valor de selección Fórmula de predicción 0 Sin predicción 1 X=A
2 X=B
3 X=C
4 X=A+B+C 5 X=A+(B+C)/2 6 X=B+(A+C)/2 7 X=(A+B)/2
2.4.- JPEG JERÁRQUICO
Este modo de operación crea un conjunto jerárquico de imágenes comprimidas empezando con la más pequeña e incrementando la resolución en las sucesivas. Este proceso se denomina muestreo hacia abajo o codificación piramidal.
Después de la fase de muestreo inferior, cada imagen de resolución más baja se expande hacia arriba en un proceso inverso y se usa como predicción para las capas o niveles superiores.
Este modo de JPEG requiere mucho más espacio de almacenamiento para los buffers, aunque aporta la disponibilidad inmediata de diferentes resoluciones de imagen como beneficio.
3.- MPEG
Cuando el video en movimiento es representado en forma digital, se puede descomponer en una secuencia de unidades de información con dependencia temporal. Así se puede establecer una jerarquía entre éstas unidades según la granuralidad de las unidades.
FILM CLIP TRAMA BLOQUE PÍXEL
Un film o película consta de un nº de clips o fragmentos caracterizados con un mismo hilo, que a su vez se subdivide en un conjunto de tramas constituida por un grupo de bloques o agrupaciones mínimas de píxeles (8 x 8, 16 x 16, etc...)
La mayoría de las imágenes contiene un elevado grado de redundancia que permite la aplicación de una técnica de compresión eficiente que reduzca significativamente la cantidad
Televisión Digital y Sistemas Multimedia UNED Página 13 de 13
de información que necesita ser almacenada o transmitida. Esta redundancia puede aparecer entre píxeles, líneas o tramas cuando la escena es estacionaria o “quasi-estacionaria”.
Los algoritmos de compresión que se han implementado para vídeo (imagen en movimiento) son numerosos ofreciendo tasa de compresión desde 3:1 hasta 30:1.
Algoritmo de compresión
Tasa de compresión típica
Características
Intel RTV 3:1 Una fuente de datos de 128x240 se interpola a 256x240. El color se submuestrea 4:1. Se usa una codificación simple de 16 bits sin corrección de error. Utiliza diferenciación de tramas.
Intel PLV 12:1 La fuente nativa de 256x240 se codifica usando cuantificación vectorial y estimación de
movimiento. Requiere equipamiento especializado IBM Photomotion 3:1 Una paleta óptima de 8 colores se determina y
se acompaña de codificación recorriendo la longitud y diferenciación de tramas.
MJPEG 10:1 Utiliza 2D DCT para codificar las tramas de forma individual. Ofrece buenos resultados en tiempo real con equipamientos no caros pero de objetivos específicos. Esta técnica soporta acceso aleatorio en lugar de diferenciación de tramas.
Fractales 10:1 Comprime bien escenas reales pero requiere unos recursos computacionales poderosos pues utiliza aritmética fractal.
Wavelets 20:1 Ofrece aplicaciones 2D y 3D con una complejidad lo suficientemente baja como para comprimir imágenes completas y sin sufrir las limitaciones que conllevan las técnicas DCT.
H.261/H.263 50:1 Es un algoritmo de compresión y descompresión en tiempo real para vídeo-telecomunicaciones basado en 2D DCT con estimación simple de movimiento entre tramas
MPEG 30:1 Utiliza 2D DCT con estimación e interpolación entre tramas. El estándar MPEG es difícil y caro para comprimir pero funciona bien sin embargo con aplicaciones en tiempo real sin equipamientos costosos.
Las técnicas de video-compresión hacen posibles un gran número de aplicaciones que se pueden agrupar en 4 grupos:
a) Difusión de televisión al consumidor; que incluye difusión de vídeo digital hasta los hogares y que necesita normalmente de un pequeño nº de compresores de calidad elevada y un gran nº de descompresores de bajo coste. Se esperan tasas de 50:1.
Televisión Digital y Sistemas Multimedia UNED Página 14 de 14
b) Reproducción de aplicaciones por el consumidor; comolibrerías CD-ROM y juegos interactivos. Comparte los mismos requerimientos que el grupo anterior aunque requiere tasas de compresión mayores (100:1)
c) Vídeo-Dekstop; que incluye sistemas para la creación y edición de vídeopresentaciones. Es una aplicación simétrica que requiere el mismo nº de codificadores y de decodificadores, esperándose tasas de compresión desde 5:1 a 50:1.
d) Vídeoconferencia; que también requiere el mismo nº de compresores y decompresores aunque requiere tasas de compresión de 100:1.
Aplicación Ancho de Banda Estándar Tamaño Velocidad [tramas/s]
Videoteléfono analógico
5-10 Kbps Ninguno 170x128 2-5 Videoconferencia de
baja velocidad
26-64 Kbps H.263 128x96 176x144
15-30 Videotelefonía básica 64-128 Kbps H.261 176x144
352x288
10-20 Videoconferencia >384 Kbps H.261 352x288 15-30 Multimedia
interactiva
1-2 Mbps MPEG-1 352x240 15-30 NTSC Digital 3-10 Mbps MPEG-2 720x480 30 HDTV 15-80 Mbps MPEG-2 1200x800 30-60 El algoritmo de compresión MPEG que es el que voy a desarrollar con detalle está destinado para la compresión de vídeo repleto de movimiento. El método de compresión usa compresión Intertrama y puede proporcionar tasas de compresión de 200:1 mediante el almacenamiento de las diferencias entre las sucesivas tramas. El estándar MPEG incluye también un algoritmo para la compresión de datos de audio en el rango 5:1 a 10:1.
Cuando el MPEG fue concebido pretendía ofrecer las siguientes prestaciones: acceso aleatorio, búsquedas rápidas en sentido directo e inverso, reproducción invertida, sincronización audiovisual, robustez frente a errores, editabilidad, flexibilidad de formato y costes comerciales nulos.
3.1.- Estructura de las tramas MPEG
Las tramas en una secuencia son codificadas usando tres algoritmos diferentes.
1 I 3 B
2 B 4 B
6 P 5 B
7 B 9 B
8 I
Televisión Digital y Sistemas Multimedia UNED Página 15 de 15
• Los cuadros I, o intra imagen son auto-costituyentes y se codifican usando una técnica basada en DCT similar al JPEG. Se usan como puntos de acceso aleatorio al flujo MPEG y ofrecen las tasas de compresión más baja ofrecidas con MPEG. El proceso de codificación consiste en transformación mediante DCT, cuantificación de los coeficientes resultantes en virtud de unas tablas de cuantificación modificadas por un factor de escala.
El mecanismo soporta además cuantificación adaptativa. Por último los coeficientes resultantes son reordenados en zig-zag, codificados según su frecuencia en longitud, con longitud variable y por entropía. La estructura de datos resultante debería mostrar potentes niveles de compresión similares al JPEG.
• Los cuadros P, o predictivos se codifican usando codificación predictiva futura, donde la trama actual se codifica con referencia a otra previa (que puede ser I o P) La tasa de compresión ofrecida por los cuadros o tramas P es significativamente mayor que con los intracuadro. Estos cuadros introducen el concepto de compensación del movimiento.
Cada macrobloque se codifica con un vector que predice su valor desde un cuadro I o P más cercano. El proceso de decodificación copia los contenidos del macrobloque de la talla adecuada en la dirección referenciada por el vector que actúa como un puntero hacia el macrobloque del cuadro P originalmente codificado. Hay 5 bits adicionales de resolución reservados para la magnitud del vector en las dos dimensiones espaciales, horizontal y vertical, permitiendo que se pueda hacer referencia a 1024 bloques con un macrobloque predecido. Además, se pueden asignar 8 rangos de magnitud a estos cinco bits, lo que quiere decir que se podrían evaluar hasta 8192 macrobloques para determinar el mejor vector exhaustivamente. Cada evaluación podría requerir testeo de 384 píxeles e incluso complejidades computacionales más elevadas para el desarrollo de técnicas de interpolación fraccional que permitirían soportar vectores de movimiento de fracciones de píxel. Para acabar, la diferencia entre la predicción y el macrobloque a comprimir se puede codificar de la misma manera que la codificación aplicada a los cuadros I.
• Los cuadros B, o bidireccionales se codifican usando dos tramas de referencia (una pasada y otra futura) dando lugar a un cuadro interpolado. Proveen la compresión más elevada. En el ejemplo de la figura anterior con la secuencia IBBBPBBBI, los 3 primeros cuadros B son codificados a partir de los cuadros anterior (I) y posterior (P) Es interesante ser consciente de que el orden de las tramas en los proceso de codificación y decodificación no es el mismo, así como que lógicamente se conseguirán mayores tasas de compresión a mayor nº de cuadros B intercalados en el flujo de cuadros. Los cuadros B se calculan con dos vectores. Un vector hacia atrás referencia una región de un macrobloque de un determinado tamaño en los cuadros I o P previos, mientras que otro hacia delante apunta a zonas similares de cuadros IoP venideros. Por esta razon, los cuadros I y P son emplazados delante de los B que los referencien en los GOP.
Los macrobloques referenciados mediante vectores de compensación de movimiento, son promediados para producir la estimación del movimiento que se realiza en el macrobloque que se decodifica. Así como en los cuadros P el error entre los cuadros predecidos y los originales se codifica y comprime para ser emplazado en el flujo de bits.
El factor de erro se descomprime y añade a la predicción para formar el cuadro B.
La aplicación MPEG impone el orden de los cuadros. Si hay necesidad por ejemplo de un acceso aleatorio rápido, se conseguirá la mejor resolución a través de la codificación de
Televisión Digital y Sistemas Multimedia UNED Página 16 de 16
toda la secuencia mediante cuadros I con lo que MPEG sería exactamente igual que el MJPEG. La secuencia que ha sido probada en la mayoría de las aplicaciones con éxito es la siguiente: (IBBPBBPBB) (IBBPBBPBB) ...
3.2.- Codificador y decodificador MPEG para vídeo
Los cuadros I son generados de manera similar a las imágenes JPEG, mientras que los cuadros P y B se codifican condicionados por los cuadros pasado y futuro. El vector de movimiento se estima y la diferencia entre los bloques originales y los predecidos se calculan introduciendo el mecanismo de predicción un cierto error que se codifica a través de un bloque DCT y que posteriormente pasa a través del codificador de entropía para producir el código compacto.
Modelo de sistema de codificación de vídeo MPEG
El algoritmo alcanza una alta de compresión a costa de unas pérdidas de calidad aceptables basándose en dos técnicas de codificación.
a) Reducción de la redundancia temporal: ésta se consigue mediante la estructura de la secuencia de tres tipos de cuadro que utilizan predicciones unidireccionales o bidireccionales en el eje del tiempo, con lo que el primer bloque del codificador es el de ordenación de los cuadros proporcionando un secuencia adecuada a la aplicación.
b) Reducción de la redundancia espacial: después del primer bloque, el siguiente consiste en codificar la diferencia entre las imágenes entrante y predecida (usando un método de estimación y compensación de movimiento mediante la generación de los vectores asociados) La diferencia se codifica mediante la transformado directa del coseno (DCT) con lo que conseguimos pasar del dominio espacial al de la frecuencia en el que representamos valores energéticos asociados a cada píxel. El bloque siguiente es el decuantificación con las
Televisión Digital y Sistemas Multimedia UNED Página 17 de 17
consecuentes pérdidas que son controladas con un buffer con su correspondiente nivel de llenado que ofrece a su salida un flujo de datos codificado y que se aplica en menor medida a los coeficientes de baja frecuencia. Seguidamente se aplica un procedimiento de codificación entrópica o VLC que mediante unas tablas aplica unas transformaciones que asocian un nº de bits menor a los eventos más probables.
En el decodificador el proceso es el mismo pero en orden opuesto y utilizando los bloques inversos correspondientes. Es un decodificador asimétrico (no es igual al codificador) que además incluye un decodificador de longitud variable o VLD.
3.3.- La estructura de datos MPEG
La especificación MPEG define una vídeo-secuencia compuesta de una cabecera y varios grupos de imágenes o GOP (Group of Pictures).
La cabecera define el formato de vídeo, las dimensiones de la imagen, la razón de aspecto, la velocidad de trama y la velocidad de distribución de datos. Los formatos incluidos son CCIR 601, HDTV (16:9) y VGA; y para color YUV 4:2:0 y RGB 4:4:4. Se especifica también un tamaño sugerido para el buffer para evitar el jitter (distorsión introducida por las diferencias en el tiempo de codificación.
Un GOP contiene imágenes que pueden ser codificadas según uno de los tres formatos de compresión que se soportan. La cabecera contiene un campo de inicio del grupo en el tiempo, y además se puede usar como un punto de acceso aleatorio.
Dentro del GOP cada cuadro está numerado y emparejando este número con el inicio del GOP y la velocidad de la reproducción de trama se determina el instante de reproducción.
Cada cuadro se divide en tiras y seguidamente cada tira en macrobloques. Un macrobloque se compone de cuatro bloques 8x8 de datos de luminancia, y normalmente en dos bloques 8x8 para la crominancia, según la estructura de muestreo.
La especificación MPEG reúne diversos resultados técnicos demandantes, tales como algoritmos rápidos para la transformación DCT, algoritmos rápidos para la estimación del vector de movimiento, algoritmos para cuantificación adaptativa y descompresión en entornos susceptibles a algunos errores.
3.4.- Compensación y estimación del movimiento
Los procesos de codificación para los cuadros P y B incluyen el estimador de movimiento que encuentra el mejor bloque a utilizar de entre los cuadros referenciados disponibles. Los cuadros P siempre utilizan predicción futura mientras que los B siempre lo hacen en los dos sentidos mediante la también denominada interpolación de movimiento compensada o mediante predicción hacia delante o hacia atrás. Un bloque (b) en un cuadro B en curso se puede calcular mediante la predicción de otro bloque en el cuadro anterior (a) de otro bloque en el siguiente o (b) o de la media aritmética de ambos mediante interpolación (b=(a+c)/2)
Televisión Digital y Sistemas Multimedia UNED Página 18 de 18
A
B
C
Mediante la estimación del movimiento se extrae la información sobre el movimiento de la vídeo-secuencia. De cada bloque 8x8 o 16x16 de un cuadro B o P se calculan uno o dos vectores de movimiento (un único vector de movimiento para los cuadros P y un par de vectores, uno hacia delante y otro hacia atrás para los cuadros B predecidos mediante interpolación)
MPEG no especifica la técnica de compensación de movimiento, por lo que son bastantes las que se han desarrollado e implementado (algoritmo de búsqueda exhaustiva, algoritmo de búsqueda en tres pasos, algoritmo de búsqueda logarítmico en 2D, algoritmo de búsqueda mediante la dirección conjugada, algoritmo de búsqueda jerárquico paralelo en 1D,etc...) Además las reglas de comparación entre bloques son fáciles de manejar. La meta es estimar el movimiento de un bloque de tamaño (n x m) en el cuadro original en relación a los píxeles de los cuadros pasados o próximos. El bloque se compara con su homólogo (en tamaño) en un área de búsqueda [(m + 2p) x (n + 2p)] en los cuadros anterior y/o posterior. Parámetros típicos para el MPEG son bloques de 16x16, o sea m=n=16 y p=6.
n + 2p
m + 2p
p mxn
Televisión Digital y Sistemas Multimedia UNED Página 19 de 19
3.4.1.- Funciones de Coste
Las técnicas de tratamiento de bloques para la estimación del movimiento obtienen el vector de movimiento mediante la minimización de una “función de coste”. Existen las siguientes funciones de coste propuestas:
a) MAD o Diferencia Principal Absoluta:
( ) ∑ ∑ ( ) ( )
= =−
+ +
−
=
22 2
2
, 1 ,
,
n
i n m
j m
dy j dx i G j i mxn F
dy dx MAD
F ,
( )
i j representa un macrobloque m x n del cuadro en cursoG(i, j) representa el macrobloque homólogo del cuadro de referencia
(dx, dy) es un vector que representa la localización de la búsqueda, de de manera que el área de búsqueda se determina mediante el
parámetro p: dx={-p, p} y dy={-p, p}
Valores típicos para MPEG son m=n=16 y p=6.
b) MSD o Diferencia mínima Cuadrática:
Es exactamente igual salvo que utiliza el cuadrado de la diferencia.
( ) ∑ ∑ ( ) ( )
= =−
+ +
−
=
22 2
2
,
21 , ,
n
i n m
j m
dy j dx i G j i mxn F
dy dx MSD
c) CCF o Función de Correlación Cruzada:
( ) ( )
(
2( ) , ).1/2( ,
2( , , ) ).1/2
) ,
( ∑ ∑ ∑ ∑ ∑ ∑
+ +
+
= +
i j
i j
i j
dy j dx i G j
i F
dy j dx i G j i F dy
dx
CFC
Televisión Digital y Sistemas Multimedia UNED Página 20 de 20
d) PSD o Clasificación por la diferencia entre píxeles:
( ) = ∑∑ ( )
i j
j i dy dx T dy
dx
PSD , , , ,
Donde (dx,dy)={-p,p}
T es la representación binaria de la diferencia entre píxeles,
( ) ( ) ( )
→
≤ + +
−
= →
resto
t dy j dx i G j i F j si
i dy dx
T 0
, ,
, , 1 , ,
t un valor umbral predefinido
La función MAD es considerada como buena candidata para aplicaciones de vídeo por su facilidad de implementación mediante hardware. Las otras dos funciones de coste pueden ser más eficientes pero su implementación es muy compleja. Para reducir la complejidad computacional de estas tres funciones se propuso el método PDC basado en un criterio simple de comparación entre bloques.
3.4.2- Algoritmos de estimación del vector de movimiento
Existen diversos algoritmos para la estimación del movimiento mediante vectores.
a) Algoritmo de búsqueda exhaustiva: Es el más simple, pero el más efectivo computacionalmente que evalúa la función coste de cada posición en el área de búsqueda. Si utiliza la función MSD son necesarias
(2p+1)
2 iteraciones para la estimación del vector de movimiento.b) Algoritmo de búsqueda en 3 pasos: Primero calcula el valor de la función coste en el centro del área de búsqueda y después hace lo mismo en las 8 posiciones circundantes. La posición que produce el valor de función más pequeño (típicamente utiliza MSD) se convierte en la posición central para el siguiente paso, y el rango de búsqueda se reduce a la mitad. Vamos a ilustrarlo con el siguiente ejemplo para p=6.
Se desarrolla un método iterativo en tres pasos donde el área de búsqueda se va reduciendo en cada proceso. Este método generalizado de dividir el proceso de cálculo del vector de movimiento en tres pasos en los que se repite el algoritmo de determinación del mejor bloque buscando en áreas de cobertura que se van reduciendo progresivamente es generalizado para la mayoría de los algoritmos implementados.
Televisión Digital y Sistemas Multimedia UNED Página 21 de 21
-6 -2 -1 0 1 2
En el primer paso se calculan los nueve primeros valores de la función MAD (muestras rojas) Asumiendo que el extremo superior derecha da el menor valor de la función, este se convierte en el nuevo centro para el próximo paso, en el que se calculan nueve nuevos coeficientes (muestras amarillas) pero ahora usando un área de búsqueda menor. Con el mínimo valor como centro se hace lo mismo en el paso 3 que por ser la última iteración nos da el valor que determinará las coordenadas finales del vector de movimiento (el más grueso) con una de las muestras azules como extremo, a través de tres vectores intermedios que se han generado en cada uno de los pasos.
c) Algoritmo de búsqueda logarítmica en 2D: Usa la función MSD y efectúa el algoritmo de búsqueda logarítmica a lo largo de una dirección virtual de mínima distorsión (DMD) sobre los datos incluidos en el área de búsqueda.
Existe una versión modificada que utiliza la función MAD.
El proceso es muy similar al anterior. Se muestrea el origen y se compara con el valor umbral. Si no es menor se calculan los valores MAD para los 4 valores circundantes que ahora formarán un rombo centrado en el origen. El mínimo que aparece se elige para ser un nuevo centro de búsqueda en el mismo área, pero ahora en un segundo proceso dentro del mismo paso se eligen las dos muestras circundantes superior e inferior, hasta que se determina el mínimo. Tras este segundo proceso queda determinado el mínimo que será el centro del paso siguiente, en el que se reducirá el área de búsqueda. Se repiten otra vez los dos procesos dentro del paso, hasta determinar el valor mínimo de las muestras circundantes, y así sucesivamente hasta que no se puede reducir más el área de búsqueda. Es un proceso muy similar al anterior salvo que cada paso se realiza mediante dos subpasos en los que se comparan distintos valores con el centro elegido en el paso anterior.
Televisión Digital y Sistemas Multimedia UNED Página 22 de 22
Al final se determinarían de igual manera los valores mínimos para (dx, dy) que nos darían las coordenadas del vector de movimiento estimado.
Las muestras circulares, a parte de la incolora (origen que es la que se compara inicialmente) son las que protagonizan el primer paso (las rojas el primer subpaso y las rosas el segundo); las cuadradas el segundo paso (en azul más claro las del segundo subproceso) y finalmente en verde las del tercer paso también subdividiendo en dos partes el proceso. Al final se estima en negrita el vector de movimiento óptimo. Nótese que aunque aparecen más subvectores intermedios, uno por subproceso, realmente sólo se determinan 3 subvectores intermedios (los coloreados) uno por cada paso.
d) Algoritmo de búsqueda de la dirección conjugada: Este método puede ser implementado como un algoritmo de búsqueda en un solo paso. Se basa en un algoritmo denominado de la dirección conjugada en el que se determina una dirección de mínima variación en una carta de curvas iso-evaluada cambiando la dirección vertical por horizontal y viceversa en cada intersección con la curva de mínimo valor hasta determinar el mínimo absoluto.
Primero se evalúan los valores de la función MAD en una dirección, por ejemplo la dx, eligiendo primero el sentido de variación mínima y después encontrando en ese sentido el mínimo absoluta. Seguidamente, con este mínimo como punto de partida se explora ahora en dirección vertical dy, buscando primero el sentido mínimo de variación (horizontal o vertical) y después el mínimo absoluto. Cuando este aparece, el algoritmo continúa buscando el mínimo absoluto buscando ahora a lo largo de la dirección que determinan el origen y el mínimo absoluto del proceso anterior. El mínimo absoluto encontrado en esta nueva dirección pone fin al proceso de obtención del vector de movimiento.
Televisión Digital y Sistemas Multimedia UNED Página 23 de 23
¿?
¿?
Se han coloreado en tonos cálidos ascendentes hacia el naranja, la búsqueda del mínimo en el eje x; se ha hecho lo mismo en el eje y con azules y finalmente lo mismo sobre la dirección de variación mínima determinada con los tonos verdes.
e) PHODS o algoritmo de búsqueda 1D jerárquico paralelo: Se reduce el nº de bloques a buscar recurriendo al empleo de dos vectores unidimensionales en lugar de uno bidimensional, de manera que uno sirve para estimar el movimiento en la dirección horizontal y el otro en la vertical. Ambos vectores son buscados en paralelo.
Primero se evalúa la función coste en el origen. Seguidamente, en el área de búsqueda determinada, se procede a determinar los dos mínimos del primer paso, uno en la dirección vertical y otro en la horizontal. Estos dos subvalores determinarán la primare pareja de subvectores estimados.
Televisión Digital y Sistemas Multimedia UNED Página 24 de 24
En el paso siguiente se reduce el tamaño del área de búsqueda y se calculan dos nuevos subvalores por (uno por dirección) que serán los centros de búsqueda del siguiente paso con menor área de búsqueda, que determinarán los subvectores finales que apuntarán a las coordenadas (dx, dy) del vector de movimiento estimado.
Los círculos en tonos cálidos se corresponden con el paso uno (los más oscuros al subvector horizontal 1D y el más claro al subvertor 1D vertical.
Seguidamente se hace lo mismo con los cuadrados y los tonos azulados en el segundo paso y con las muestras en tonos verdes para el tercer paso, en el que como siempre se llega a determinar el vector de movimiento.
f) MPDC-LSA o algoritmo de clasificación de la diferencia entre píxeles- estructurado en capas:
Es un algoritmo de búsqueda de bloques basado en una modificación de la función de coste PDC que proporciona una baja complejidad computacional.
El algoritmo se basa en el criterio MPDC que se define como:
( ) ( )
→
=
= →
resto
n dy dx PDC dy si
dx
MPDC 0
, ....
, 1
2
El mejor vector de movimiento se busca con técnicas similares a las hasta ahora vistas, y especifica la distancia espacial entre los macrobloques de referencia y el original (el que está en proceso) El macrobloque del cuadro en curso se predice después mediante predicción futura (esto es, basándose en un macrobloque previo) o predicción hacia atrás (si la referencia está en un cuadro posterior) La predicción del macrobloque se realiza mediante el uso de determinadas fórmulas iterativas, que varían según que los cuadros sean interpolados o no. La diferencia entre el bloque predecido y el original se calcula dando lugar al término de error que puede ser utilizado en operaciones posteriores.
3.5.- Codificador y decodificador de audio MPEG
El estándar MPEG también cubre compresión de audio. MPEG usa las mismas frecuencias de muestreo que el “compact disc digital” (CD-DA) y que las cintas de audio digitales (DAT) Además de estas dos frecuencias (44´1 KHz y 48 KHz) soporta también 32 KHz, todas ellas mediante un proceso de codificación de “16 bits”. Por ejemplo, el CD-DA proporciona dos canales de 44´1 KHz con 16 bits/muestra y requiere una tasa de datos de 1´4 Mbits/s.
Las técnicas de compresión de audio existentes incluyen un cuantificador mediante ley µ (ó A, según los países) ADPCM (codificación mediante modulación adaptativa diferencial de los pulsos), que son ambas técnicas de una complejidad baja, tasas bajas de compresión y ofrecen una calidad de audio baja.
Televisión Digital y Sistemas Multimedia UNED Página 25 de 25
El algoritmo de compresión MPEG para audio por el contrario es de una complejidad alta, pero ofrece altas tasas de compresión y una calidad de audio elevada. Puede alcanzar tasas de compresión comprendidas en el rango de 5:1 a 10:1.
El algoritmo utilizado se desarrolla mediante tres pasos. En el primero la señal de audio se transforma al dominio de la frecuencia, y el espectro obtenido se divide en 32 subbandas no solapadas. Seguidamente, en el segundo paso se calcula la amplitud de la señal de audio para cada subbanda y se determina el nivel de ruido mediante un modelo psicoacústico. Este modelo es la componente clave del decodificador MPEG y su función es analizar la señal de entrada y determinar en qué zona del espectro el ruido de cuantificación debería ser enmascarado.
Finalmente en el tercer paso se cuantifica cada subbanda de acuerdo a la audibilidad del ruido de cuantificación de esa banda.
El diagrama del codificador y decodificador de audio MPEG se puede representar como sigue.
Modelo de sistema de codificación de audio MPEG
El flujo de entrada de audio pasa simultáneamente a través de un banco de filtros y un bloque de modelo psicoacústico.
El banco de filtros divide la entrada en múltiples subbandas, mientras que el modelo psicoacústico determina la tasa máscara señal de cada subbanda. En el bloque de cuantificación/decodificación se usa el bit o las tasas máscar/señal para determinar el número de bits de cuantificación o las señales que en cada subbanda minimizan la audibilidad del ruido de cuantificación.
El último bloque realiza la codificación usando el método de Huffman y da el formato adecuado a los datas de salida que conformarán una determinada trama. El decodificador utiliza el método de Huffman, para reconstruír después los valores de las subbandas cuantificadas y transforma estos valores al dominio temporal dando lugar a la señal de audio.
El estándar especifica tres capas de compresión. La capa 1 proporciona el algoritmo básico y alcanza la tasa máxima de 448 Kbits/s, las capas 2 y 3 son
Televisión Digital y Sistemas Multimedia UNED Página 26 de 26
mejoras que alcanzan los 384Kbits/s y 320 Kbits/s respectivamente a costa de hacer más complejos los bloques del codificador y del decodificador.
3.6.- Estructura de datos MPEG
El estándar MPEG define una sintaxis que las estructuras de audio y vídeo.
Para audio la estructura consta de una serie de tramas que son divididas en unidades de acceso de audio. Cada una de éstas últimas se divide en “slots” o ranuras que pueden tener tamaños de 4 bits (para la capa 1) o de 1 byte (para las capas 2 y 3) La trama a la salida siempre consta de un nº constante de muestras.
Las unidades de acceso de audio son la secuencia de datos comprimidos más pequeña que se pude codificar de una manera independiente. Los tiempos de reproducción de estas unidades son de 8 ms a 48 KHz, 8´7 ms a 44´1 KHz y 12 ms a 32 KHz.
La estructura de datos para vídeo en MPEG ya fue desarrollada en el apartado correspondiente en el que se definían las 6 estructuras que se corresponden con una capa sintáctica asociada. De esta forma vamos de la capa de secuencia (para la secuencia de vídeo MPEG), a la capa de grupo de cuadros (a nivel de GOP), para continuar con la capa de cuadros (a nivel de cuadros), sin olvidarnos de la capa de tira (que referida a las tiras correspondientes) pasando después a la capa de macrobloques (a nivel de macrobloques) que tiene por debajo la capa de bloque (a nivel de bloques de 8x8 o 16x16 píxeles)
3.7.- Evolución del MPEG
La primera fase del estándar (MPEG-1) apunta a la compresión de vídeo de resolución 320x240 a la velocidad de 1-1´5 Mbps en aplicaciones tales como multimedia y difusión de televisión. La aplicación principal es el almacenamiento y recuperación en sistemas informáticos multimedia de video con una calidad de vídeo doméstico. Como técnica de codificación utiliza una técnica híbrida (predictivo-transformacional) La predicción se realiza por compensación de movimiento. También se puede utilizar para transmisión. El formato de la señal es progresivo (no hay entrelazado) y se utiliza muestreo 4:2:0, lo que se traduce en la estructura de los macrobloques (4 bloques Y adyacentes y 2 bloques para la crominancia, uno para cada diferencia de color)
MPEG-2 está diseñado para resoluciones mayores similares al estándar digital para televisión CCIR 601 ó EDTV, y adicionalmente para la televisión de alta definición (HDTV) especificando flujos de bits comprimidos de alta calidad desde 2 hasta 80 Mbps. Además soporta formatos de vídeo entrelazado y un cierto número de imágenes para HDTV. Puede direccionar al mismo tiempo codificación de vídeo jerárquica para aplicaciones que necesiten diferentes resoluciones de imagen, tales como vídeo-comunicaciones sobre RDSI usando redes ATM.
Utiliza una técnica de codificación híbrida (predictivo/transformacional) con compensación de movimiento. Permite señal progresiva y entrelazada, ya que soporta dos formatos de muestreo (4:2:0 y 4:2:2, además del 4:4:4 aunque no es muy frecuente) La estructura de los macrobloques para 4:2:0 es la misma que para
Televisión Digital y Sistemas Multimedia UNED Página 27 de 27
MPEG-1; sin embargo para 4:2:2 hay 4 bloques adyacentes para el macrobloque de luminancia Y y dos bloques de crominancia para cada uno de los macrobloques de crominancia (Cr y Cb) El objetivo de este nuevo formato es que permite el entrelazado mezclando las líneas de dos campos dando lugar al cuadro. Además, existen dos formas de procesar la señal de luminancia; el modo cuadro en el que los bloques tienen líneas de luminancia entrelazadas pertenecientes a los dos campos y el modo campo en el que se efectúa un desentrelazado, y se generan dos macrobloques de luminancia con las líneas de cada campo sin mezclar. De esta manera, en el modo campo se duplican las estimaciones y los vectores de movimiento, porque cada macrobloque de luminancia tendrá dos submacrobloques (con los macrobloques de crominancia no se hace predicción de movimiento) Este mecanismo de desentrelazado es el fundamento de la TVAD ó HDTV. Mediante técnicas de filtrado, utilizando los filtros que describí en el apartado de muestreo, se consigue desentrelazar la imagen con lo que se duplican las muestras, se duplica la frecuencia (mayor nitidez) y además, mediante técnicas de escalado ascendente se pueden aumentar el nº de líneas de la pantalla alcanzando las cotas de píxeles y la resolución de las pantallas de alta definición.
El escalado se consigue aprovechando otra de las propiedades que tiene el estándar MPEG-2, y es la escalabilidad. Una codificación es escalable cuando produce varios flujos de bits denominados niveles, para la misma secuencia de vídeo, de manera que permite aumentar la calidad de los niveles inferiores añadiendo información (escalado ascendente) o viceversa. La escalabilidad puede observarse en cuatro ámbitos diferentes (espacial, temporal, SNR ó relación señal a ruido e híbrida) Por último reseñar que el proceso para audio es el mismo para los dos estándares, que es el que se ha estudiado en general en el apartado correspondiente.
La variedad MPEG-4 cubre la compresión de vídeo e imágenes en movimiento compuesto de pequeñas tramas y requiriendo lentos “refrescos”
(actualizaciones de memoria) La velocidad de los datos varía entre 9 y 40 Kbps, y las aplicaciones que tiene como objetivo incluyen multimedia interactivo y vídeo- telefonía. Se requiere por lo tanto de nuevas técnicas de codificación basadas en modelos para la interacción humana y que ofrezcan velocidades de bit lentas. Es un estándar de codificación no sólo de vídeo, sino orientado a objetos visuales, potente, porque ofrece la posibilidad de añadir funcionalidades a parte de comprimir y jugar con la imagen.
En la actualidad, existen otras fases del MPEG ampliamente aceptadas y universalizadas, como el archiconocido MP3 o MPEG-3 tan ampliamente difundido por Internet que proporciona copias de audio a multitud de usuarios con una calidad comparable al CD, más compresión por lo que se pueden incluir más temas dentro del mismo soporte y precios muy económicos si se tiene la infraestructura adecuada, llegando a crear inmensos quebraderos de cabeza a las compañías discográficas. Tal es el éxito que está teniendo que hay industrias que han ganado la batalla a las discográficas logrando comercializar reproductores portátiles tipo walkman permitiendo al usuario grabar temas desde Internet, almacenarlos en su equipo y escucharlos, a precios muy asequibles. Cada vez son más los grupos que editan temas en MP3 puestos a nivel público para todos los que quieran escucharlos, con lo que se abre la brecha que está causando más
Televisión Digital y Sistemas Multimedia UNED Página 28 de 28
problemas legales a la autopista de la información: los derechos de autor y los plagios así como una nueva concepción de lo público y lo privado que no acaba de discernirse claramente, salvo en los casos descarados de servicios comerciales y de telecompra en los que queda clara muy explícitamente la intención de los administradores de determinados servidores.
Otra implementación que está todavía en fase de implementación del MPEG de las que tengo conocimiento es el MPEG-7, así que parece ser que el algoritmo ha tenido una difusión sin precedentes y que sigue todavía en constante evolución.