Estándar MPEG 2 Estándar MPEG-2

Anuncio
Estándar MPEG 2
Estándar MPEG-2
• El estándar de compresión de vídeo MPEG-2, fue la
segunda fase de trabajo realizado por el grupo MPEG.
• El conjunto de requerimientos fijados:
–
–
–
–
–
–
–
–
Compatibilidad con MPEG-1
Buena calidad de la imagen
Flexibilidad del formato de entrada
Capacidad de acceso aleatorio
Rebobinados rápidos y lentos hacia delante y hacia detrás
Escalabilidad en el flujo de bits
Bajos retardos para comunicaciones en ambos sentidos
Resistencia a errores
• El estándar MPEG-2 se realizó como una extensión del
MPEG-1, el cual, se puede considerar como un
subconjunto del MPEG-2.
1
MPEG-2: Características
•
La sintaxis del MPEG-2 tiene dos categorías:
– Una sintaxis no escalable, la cual incluye a la sintaxis del MPEG-1, con
extensiones adicionales para soportar vídeo entrelazado.
– Una sintaxis escalable, la cual permite una codificación por capas de la
señal de vídeo, mediante la cual, el descodificador puede descodificar
• o sólo la capa básica para obtener una señal con calidad mínima,
• o utilizar capas adicionales para incrementar la calidad de la señal.
•
Como el MPEG-1, el MPEG-2 es un estándar de compresión con
pérdidas, basado en:
–
–
–
–
–
•
Compensación de movimiento
Estimación de movimiento hacia delante, hacia atrás o interpolada
Transformada DCT
Cuantificación
Codificación RLE y Huffman
En el modo de sintaxis escalable, la capa básica de una señal de
vídeo codificada con el MPEG-2, podría ser también descodificada
por un descodificador MPEG-1, aunque esto último no es requerido
en el estándar.
MPEG-2: Vídeo entrelazado
•
El estándar MPEG-2 soporta ambos formatos,
– vídeo entrelazado
– y vídeo progresivo,
– por lo que se debe distinguir entre cuadro y campo.
•
Los campos de un cuadro de vídeo entrelazado pueden ser
– codificados separadamente (imágenes-campo)
– o pueden ser juntados de nuevo para formar el cuadro original y ser
codificados como una única imagen (imágenes-cuadro), como en el
estándar MPEG-1.
•
Como en MPEG-1, todas las imágenes de entrada (bien sean
cuadros o campos) pueden ser codificadas como imágenes I, P o B.
– Si la primera imagen de un cuadro codificado es una imagen-campo de
tipo I, entonces la segunda imagen puede ser o una imagen de tipo I o
una imagen-campo de tipo P.
– Si la primera imagen es una imagen-campo de tipo P o B, entonces la
segunda imagen-campo tiene que ser del del mismo tipo.
2
MPEG-2: Formatos de muestreo
• Como en MPEG-1, las imágenes de entrada son
codificadas en el espacio de colores YCbCr, sin
embargo, en adición al formato de muestreo 4:2:0
utilizado en el MPEG-1. El MPEG-2 también soporta los
formatos 4:2:2 y 4:4:4.
• Cuando la sintaxis del MPEG-2
– no está en algunos de los modos de sus extensiones
escalables, todos los bloques del macrobloque son de 8 x 8
píxeles.
– por el contrario, cuando si que lo está, los macrobloques pueden
contener bloques escalados con menores resoluciones, 1 x 1, 2
x 2 ó 4 x 4.
• Con respecto al tamaño de la imagen de entrada, el
MPEG-2 es muy flexible, aceptando cualquier valor
hasta 16.000 x 16.000 píxeles.
MPEG-2: Transformada DCT
• Debido a la existencia de los conceptos de cuadro y
campo, la transformada DCT, que se realiza
igualmente que en MPEG-1 sobre la unidad funcional
de bloque, puede ser realizada sobre imágenes-cuadro
o imágenes-campo.
• La estructura de los bloques de luminancia es distinta
para cada una de las dos posibilidades. Para los
bloques de la crominancia, todos los bloques están
entrelazados, es decir, igual que para la transformada
DCT de imagen-cuadro.
3
MPEG-2: Estimación y
compensación del movimiento
•
En la predicción por campo,
– las predicciones se hacen independientemente para cada campo
utilizando como referencia otros campos. Similar a lo que se hace en
MPEG-1, considerando cada campo como una imagen independiente.
•
En la predicción por cuadro,
•
Para mejorar la eficiencia de la predicción, MPEG-2 proporciona
dos modos adicionales de compensación del movimiento.
– el cuadro completo es considerado como una única imagen.
– La compensación de movimiento 16 x 8: permite a un macrobloque
de 16 x 16 ser tratado como dos regiones de 16 x 8, una superior y otra
inferior. Cada región de 16 x 8 es compensada independientemente. La
compensación de movimiento 16 x 8 m sólo se permite en imágenescampo.
– La compensación de movimiento dual-prime: es aplicable sólo a
imágenes P y GOPs que no tienen imágenes B entre estas imágenes P
y las imágenes de referencia.
MPEG-2: Cuantificación
•
MPEG-1 utiliza sólo dos matrices de cuantificación para los
coeficientes DCT,
– una para bloques intra
– y otra para bloques inter.
•
Para los formatos 4:2:2 y 4:4:4, el MPEG-2 permite una codificación
más eficiente debido al uso de diferentes matrices de cuantificación
para los componentes:
– luminancia
– crominancia.
•
De este modo, se pueden utilizar
– dos matrices para la luminancia (una para bloques intra y otra para
bloques inter)
– y otras dos para los componentes de crominancia.
•
Las matrices de cuantificación
– En MPEG-1, sólo pueden ser cambiadas en la capa de secuencia,
– mientras que en MPEG-2, las matrices pueden ser cambiadas en el nivel
de cuadro.
•
Tanto en MPEG-1 como en MPEG-2, el factor de escala Q (o
MQUANT) puede ser cambiado a nivel de macrobloque.
4
MPEG-2: RLE
•
•
•
En MPEG-2, en adición al
orden en zig-zag de lectura de
los coeficientes DCT para
realizar la codificación RLE, se
permite otro orden de lectura
de coeficientes, llamado
alternativo.
Los coeficientes DC y AC de
los bloques intra e inter de la
DCT, se codifican de la misma
forma que lo hace MPEG-1.
Una vez que se ha realizado la
RLE, los pares que esta
codificación proporciona son
codificados acorde a unos
códigos de longitud variable
Huffman.
MPEG-2: Escalabilidad
•
•
Una nueva extensión en MPEG-2 es la escalabilidad del flujo de
bits, la cual permite una representación por capas del flujo de bits
de una única fuente de vídeo.
Esto se consigue estructurando el flujo de bits en dos o más capas,
– comenzando por una capa básica, que puede ser única,
– y añadiendo una o mas capas que mejoran la calidad que proporciona
la capa básica.
•
La sintaxis del MPEG-2 permite cuatro modos básicos de
escalabilidad del flujo de bits:
–
–
–
–
–
•
Partición de datos
Escalabilidad SNR
Escalabilidad espacial
Escalabilidad temporal
Escalabilidad híbrida (mezcla de las anteriores)
En el caso de escalabilidad básica, se utilizan dos capas llamadas
– capa básica
– y capa de mejora,
•
Con la escalabilidad híbrida hasta tres capas son soportadas.
5
MPEG-2: Escalabilidad
Partición de datos
•
•
•
El flujo de bits es dividido en dos capas, llamadas particiones.
La idea está basada sobre el hecho de que el sistema visual
humano es insensible a las componentes de alta frecuencia de
las señales de vídeo.
Con este esquema, la llamada capa base transmite con un nivel de
prioridad alta.
– los coeficientes de baja frecuencia,
– los modos de codificación
– y los vectores de movimiento
•
La llamada capa de mejora, transmiten en un nivel de prioridad
mas baja donde la probabilidad de pérdidas es mayor
– Los coeficientes de alta frecuencia,
– y otra información menos importante,
– a su llegada al receptor mejora la calidad proporcionada por la capa
base.
•
Este modo de escalabilidad es idóneo en aplicaciones de
transmisión de vídeo, cuando se tienen redes de transmisión que
soportan dos niveles de prioridad como las redes con tecnología
ATM.
MPEG-2: Escalabilidad
Partición de datos: Características de diseño
• Las dos particiones poseen el mismo valor del
factor Q.
• Breakpoint: define el número de coeficientes
distintos de cero en un bloque (aparte del DC en
MB intra), que serán asignados a la capa base.
• Calidad: la partición de la información debe de
ser tal, que la capa base, pueda proporcionar
por sí misma una calidad mínima aceptable.
• Sobreflujo: la codificación jerárquica introduce
un sobreflujo (réplica de cabeceras en ambas
particiones) que deberá de ser analizado.
6
MPEG-2: Escalabilidad
Partición de datos: Asignación de prioridad
El módulo de Asignación de prioridad, se encarga de tomar las decisiones
sobre que información del flujo de bits irá a la capa base con
Prioridad alta (HP, capa base), y cual irá a la capa de mejora con
prioridad baja (LP, capa mejora)
7
MPEG-2: Escalabilidad
Partición de datos: Descodificación
• Si el error o pérdida de información ocurre en la capa de
mejora, el descodificador utiliza sólo la información de la
capa base, para reconstruir la señal de vídeo.
• Esta situación se prolonga hasta que se encuentre la resincronización entre las dos capas. La re-sincronización
se busca a nivel de cabecera de franja y se realiza
comparando las cabeceras encontradas en las dos
capas.
• Los macrobloques que sólo hayan sido descodificados
con la capa base tendrán una menor calidad (pero
aceptable) que los que fueron descodificados utilizando
las dos capas.
• Si el error o pérdida de información se produce en la
capa base, entonces el descodificador tiene que
descartar toda la información recibida (ambas capas)
hasta que encuentra la siguiente cabecera de franja de
vídeo.
8
MPEG-2: Escalabilidad
SNR
• Todas las capas tienen la misma resolución espacial
para diferentes calidades de vídeo.
– La capa básica es codificada por si misma y proporciona la
calidad básica del vídeo.
– Las capas de mejora restantes son codificadas para mejorar la
calidad básica, proporcionando un mayor refinamiento de los
coeficientes de la DCT de la capa básica.
• Cada capa contiene todos los coeficientes DCT, pero
cada capa puede tener un valor diferente del factor Q.
• La escalabilidad SNR proporciona también una mejor
resistencia a errores de transmisión:
– por ejemplo, las capas de mejora pueden transmitirse sobre
canales con peores prestaciones, en términos de retardos y
errores de transmisión,
– y transmitir la capa básica sobre un canal que presente mejores
prestaciones, asegurando un mínimo de calidad con la capa
básica.
MPEG-2: Escalabilidad
Temporal
•
La escalabilidad temporal permite:
– la migración desde sistemas con baja resolución temporal a sistemas
con mayores resoluciones temporales,
– y permite su inter-operatividad con un mismo flujo de bits.
•
La capa básica:
– es codificada por si misma
– y proporciona el caudal básico temporal, y las capas de mejora son
codificadas con predicción temporal con respecto a la capa básica.
– la capa básica y la capa de mejora pueden ser combinadas para
generar un flujo de bits de resolución temporal completa.
•
•
Los sistemas de resolución temporal baja pueden descodificar sólo
la capa básica para proporcionar una resolución temporal baja,
mientras que los sistemas mas sofisticados pueden descodificar
ambas capas para obtener una resolución temporal mas alta, a la
vez que pueden trabajar conjuntamente con sistemas menos
sofisticados.
Todas las capas tienen el mismo tamaño de cuadro y formatos de
muestreo, pero diferentes caudales de cuadro.
9
MPEG-2: Escalabilidad
Espacial
•
La escalabilidad espacial
– fue diseñada para ser utilizada como herramienta que permitiese la interoperatividad entre diferentes estándares y entre diferentes sistemas con
diferentes resoluciones como TV y HDTV, con un mismo flujo de bits.
•
El flujo de bits se divide en capas de diferente resolución espacial.
– La capa básica es codificada por si misma y proporciona la resolución espacial
básica,
– mientras que la capa de mejora utiliza la capa básica, para proporcionar la
resolución espacial completa de la señal de vídeo.
•
Las capas pueden tener diferentes
– Tamaños de cuadro
– Caudal de cuadros
– Formatos de muestreo
•
En una aplicación típica
– La capa básica puede ser un flujo de bits acorde al estándar MPEG-1 con un
formato de tamaño SIF
– Mientras que la capa de mejora puede ser utilizada para generar una resolución
de vídeo del tipo CCIR 601.
MPEG-2: Perfiles y niveles
•
•
Los expertos en MPEG se dieron cuenta que era imposible definir un
único estándar que pueda satisfacer todos los requerimientos, y que
la mayoría de las aplicaciones deberían utilizar un pequeño
subconjunto de las posibilidades ofrecidas por el estándar.
El grupo MPEG adoptó la decisión de realizar un estándar compuesto
por un conjunto de Perfiles y Niveles que pudiesen satisfacer los
requerimientos específicos de las aplicaciones.
10
MPEG-2: Sintaxis y Semántica
•
El flujo de bits de vídeo comprimido puede verse como una jerarquía
sintáctica, en la cual las estructuras sintácticas contienen a una o más
estructuras sintácticas subordinadas. Cada una de estas estructuras
sintácticas se reconoce por una cabecera que la identifica y no puede
repetirse en ningún otro lado del flujo de bits codificado.
MPEG-2: Sintaxis y Semántica
Reglas básicas
1. Si la primera cabecera de la secuencia no está seguida por una
extensión de secuencia, entonces el flujo de bits debe ser conforme
con la sintaxis del estándar MPEG-1.
2. Si la primera cabecera de secuencia está seguida por una
extensión de secuencia entonces todas las subsecuentes
apariciones de la cabecera de secuencia deberán estar
inmediatamente seguidas por una extensión de secuencia.
3. La extensión de secuencia sólo puede ocurrir inmediatamente
después de una cabecera de secuencia.
4. Si en el flujo de bits aparece una extensión de secuencia, entonces
después de cada cabecera de imagen debe seguir una extensión
para la codificación de la imagen.
5. La extensión para la codificación de la imagen debe de aparecer
solamente después de una cabecera de imagen.
6. La primera imagen codificada después de un GOP debería ser una
de tipo I.
11
MPEG 2: Codificación CBR
•
•
•
•
La mayoría de los codificadores de vídeo (incluido MPEG 2) son
controlados de acuerdo con el esquema CBR (Constant Bit Rate),
donde el caudal generado por la señal de vídeo codificada se
mantiene constante a un valor prefijado con anterioridad, mediante
el ajuste dinámico del factor de cuantificación Q.
En codificación CBR, la calidad de vídeo varía de acuerdo con el
contenido de la secuencia, ya que el factor de cuantificación se
varía para alcanzar un caudal de salida constante
independientemente de la complejidad de la escena.
La codificación CBR ha sido motivada hasta la fecha, debido a que
las tecnologías de comunicación, tales como la RDSI, y también las
tecnologías de almacenamiento, como los CS-ROM, sólo son
capaces de trabajar a caudal constante.
En un codificador CBR, los bits producidos por el codificador son
almacenados en un buffer, el cual es drenado al caudal constante
deseado.
12
MPEG 2: Codificación VBR
•
•
•
•
Las tecnologías LAN o ATM pueden soportar tráfico de caudal
variable mediante el uso de la multiplexación estadística.
Por lo tanto, cuando el vídeo tiene que ser transmitido por una de
estas redes, se puede utilizar un esquema de codificación VBR
(Variable Bit Rate), con el objetivo de obtener un nivel mas
consistente en la calidad de vídeo comparado al de la codificación
CBR.
El esquema de codificación VBR mas utilizado es la literatura hoy
en día, es la codificación VBR en lazo abierto (OL-VBR), en el cual,
el factor de cuantificación Q se mantiene constante para toda la
duración de la secuencia y es prefijado con anterioridad.
Con codificación OL-VBR, una escena compleja es codificada
utilizando un mayor número de bits, de este modo, la calidad es
cuasi-constante y menos variable en el tiempo que la obtenida con
CBR.
MPEG 2: Impacto de los errores
• El hecho de que el esquema de codificación de vídeo
MPEG 2 utilice técnicas de eliminación de la
redundancia o compresión hace que cualquier
aplicación de vídeo MPEG 2 sea muy vulnerable ante:
– La pérdida de información
– Errores en la descodificación o en la transmisión.
• Su impacto negativo sobre la calidad de vídeo se ve
amplificado debido a los fenómenos de propagación
espacial y temporal presentes en el estándar MPEG 2.
• En ausencia de cualquier esquema adicional que
controle la propagación de las pérdidas o los errores, su
impacto es la descodificación puede causar que la
degradación de la calidad de vídeo caiga por debajo de
niveles aceptables.
13
MPEG 2: Impacto de los errores
Propagación espacial
•
•
•
•
•
En ausencia de cualquier esquema adicional que controle la
propagación, la pérdida de información conteniendo vídeo o un error
provoca la pérdida de toda la información restante de la franja de
vídeo.
Esta pérdida incluye la información restante perteneciente a esta
franja de vídeo aunque se haya recibido correctamente.
Los macrobloques pertenecientes a una franja de vídeo contienen
información codificada diferencialmente con respecto a los
macrobloques que le preceden.
Cuando se produce una pérdida o un error en alguno de los
macrobloques, el resto de los macrobloques de la franja de vídeo
pierde sus predictores para descodificar la información diferencial
que transportan.
Y por tanto debe de ser también descartados hasta el comienzo de
la siguiente franja de vídeo, donde estos predictores fueron
iniciados a un valor nulo de codificación.
MPEG 2: Impacto de los errores
Propagación temporal
•
•
•
•
Además de la propagación espacial, debido a la naturaleza
predictiva entre imágenes de MPEG 2, existe otra propagación de
los errores en el dominio temporal, conocida como propagación
temporal.
Cuando un error se produce en una imagen tipo I, dicho error se
propaga por todas las imágenes del GOP hasta la llegada de la
siguiente imagen I. Las imágenes P y B del GOP fueron codificadas
con referencia a la imagen I.
Si los errores se producen en las imágenes de tipo P, la
propagación temporal afectará a las imágenes P y B que fueron
codificadas con referencia a ésta.
Si los errores se producen en una imagen de tipo B, aparecerá la
correspondiente propagación espacial pero ésta no será propagada
temporalmente a ninguna imagen más, ya que las imágenes de tipo
B no son utilizadas como referencia por otras imágenes en el GOP.
14
Descargar