Title: Televisiуn y Multimedia
1Televisión y Multimedia
- Compresión MPEG-2 Vídeo
- Tipos de Redundancia
- Herramientas de Compresión
- Sample Rate Reduction
- DCT
- Compensación de Movimiento
- Perfiles MPEG-2
2Tipos de Redundancia
- Compresión
- Sin Perdidas
- Con Perdidas
- La compresión explota la redundancia
- Redundancia Espacial
- Redundancia Temporal
- Redundancia de Codificación o Entrópica (ej
MORSE) - Redundancia Psicovisual (ej MP3)
3Herramientas de Compresión
- Sample Rate Reduction
- 444, 422, 420
- DCT
- Objetivo Eliminar redundancia espacial
- Utilizada en varias de las técnicas explotadas
por MPEG-2 - Compensación de Movimiento
- Objetivo Eliminar redundancia temporal
4Señales a Codificar
Si codificamos cada una de las componentes RGB,
las tres deberían codificarse con mucha calidad
5Señales a Codificar
- Se codifican otras tres señales relacionadas con
ellas (luminancia y crominancia).
6Macrobloques y Bloques
7Macrobloques y Bloques
8Estructura de Muestreo 444
9Estructura de Muestreo 444
10Estructura de Muestreo 422
De todos los píxeles se obtienen muestras de
luminancia. De crominancia solo de la mitad de
ellos.
11Estructura de Muestreo 422
12Estructura de Muestreo 422
13Estructura de Muestreo 420
14Estructura de Muestreo 420
15Estructura de Muestreo 420
16Redundancia Espacial
- DCT 8x8
- Cada coeficiente representa la contribución de
una frecuencias horizontales y verticales a la
imagen
17DCT
18DCT
- La DCT no reduce directamente la cantidad de
información a transmitir. De hecho,
necesitaríamos una DCT con coeficientes de 11
bits para recuperar la imagen original - La distribución no uniforme es debida a la
redundancia espacial de la imagen - La compresión viene de transmitir los
coeficientes de manera inteligente
(cuantificación, Zig-Zag, Run-Lenght Code, VLC)
19DCT Cuantificación
- La anchura de los escalones cuánticos determina
la precisión de la cuantificación
Ejemplo Escalón cuántico 4
Coeficientes
Cuantificación
Índices
Decuantificación
Coeficientes Recuperados
20DCT Cuantificación
- Error de cuantificación menos notorio en
- Altas Frecuencias
- Crominancia
- Matriz de Cuantificación
- Antes de cuantificar se ponderan los coeficientes
- Después de esa ponderación, la cuantificación
suele ser lineal, aunque también se contempla la
posibilidad de añadir un dead-zone para eliminar
ruido
21Matrices de Cuantificación
- Existen varias matrices de cuantificación
definidas por MPEG-2, pero el codificador puede
utilizar cualquier otra
Para 420 se definen dos matrices. Para los
otros dos posibles formatos de muestreo se
definen cuatro.
22Resumen Cuantificación
23Serialización de los Índices
- Serializo los índices dando prioridad a los mas
importantes
24Run Length Code
- Almaceno el número de ceros antes del siguiente
coeficiente diferente de cero, y luego el valor
del coeficiente.
DCT
25Variable Length Code (VLC)
- Toda información no aleatoria tiene unas
secuencias mas probables que otras - Explota (probabilidad)
- P cadenas cortas de ceros gt P cadenas largas de
ceros - P coeficientes bajos gt P coeficientes altos
- Implementación VLC
- Ningún Código completo es el principio de otro
- Ninguna combinación de códigos da 23 ceros
seguidos - End Of Block (EOB)
26Buffering and Feedback
- Mediante realimentación controlamos la calidad de
la codificación, de tal forma que el buffer ni se
llena ni se vacía, obteniendo una velocidad de
datos constante.
27Buffering and Feedback
- Ajuste de la matriz de cuantificación
- Podemos ajustar los 64 coeficientes
- Podemos aplicar un factor de escala (conservo el
peso relativo de unos coeficientes sobre otros)
28Compresión Intra Frame
- Todo lo anterior se utiliza para realizar una
compresión Intra Frame, es decir sin aprovechar
la redundancia temporal del vídeo. - Ese es el esquema utilizado por
- Cámaras Digitales (la mayoría)
- MJPEG
- DV
- DVCam
- DVCPro
- Tarjetas Digitalizadoras de Vídeo
29Predicción Inter Frame
- Intentamos predecir la imagen siguiente a partir
de las anteriores explotando la redundancia
temporal. - Es muy probable que los bloques sean muy
parecidos en imágenes sucesivas - Puedo utilizar esquemas de predicción tan
sencillos como tomar la imagen anterior a modo de
predicción y transmitir el error cometido
30Redundancia Temporal
31Redundancia Temporal
32Predicción Interframe Co-Sited
(VLC)
Ojo!!
Imagen Predicha
33Compensación de Movimiento
34Compensación de Movimiento
- Es un esquema mas avanzado de predicción de
imagen. - Explota el hecho de que a lo largo del tiempo los
píxeles se desplazan en la pantalla - Por lo tanto sólo transmito el macrobloque de
referencia (mediante el vector de desplazamiento)
y el error cometido - Evidentemente, siempre puedo transmitir el
macrobloque completo, en caso de no encontrar
ninguno que se le parezca
35Compensación de Movimiento
- Normalmente la compensación de movimiento se basa
en macrobloques 16x16, mientras que la
redundancia espacial se basa en bloques de 8x8. - Sin embargo la precisión es a nivel de píxel (el
macrobloque referencia puede estar situado en
cualquier localización)
36Área de Búsqueda Compensación de Movimiento
- La carga computacional de buscar el macrobloque
que mas se parezca es muy alta - Limitamos la búsqueda a una zona determinada
- Hierarchical block matching
37Vectores de Desplazamiento
- Compromiso entre Tamaño Macrobloque y Bit Rate
Vectores de Desplazamiento - Macrobloque Grande gt Menos información vectores
- Macrobloque Pequeño gt Mayor precisión estimación
- Utilizamos una combinación de dos técnicas para
reducir el ancho de banda ocupado por los
vectores - Codificación diferencial a partir de vectores
anteriores - VCL sobre predicción de error de codificación
diferencial
38Predicción Bidireccional
Forward Prediction Backward Prediction Bi-directio
nal Prediction
El macrobloque se obtiene como combinación lineal
de los otros dos
39Predicción Bidireccional(pasos a seguir para su
aplicación)
- Vector de Desplazamiento
- Calcular el vector forward a partir de la
referencia anterior - Calcular el vector backward a partir de la
referencia posterior - Calculo del error
- Usando bloque desplazado imagen anterior
- Usando bloque desplazado imagen posterior
- Usando promedio de los dos (anterior y posterior)
- Si la estimación no va a ser lo suficientemente
buena podemos codificar el macrobloque en modo
Intra - Si la estimación es muy buena (coincidencia
total), podemos no codificar el macrobloque
(skipped macroblock)
40Predicción Bidireccional(pasos a seguir para su
aplicación)
41Predicción Bidireccional
- Ventajas de la predicción Bidireccional
- Predicción de movimientos de cámara
- Predicción de cambios de plano
- Reducción de ruido
- Cuando ambas estimaciones (forward y backward)
son buenas, es conveniente utilizar el promedio
de las dos estimaciones para reducir el ruido de
la predicción. - La mayor desventaja es que la predicción a partir
de imágenes posteriores implica un retardo en
transmisión
42Tipos de Imágenes
- Imágenes I (Intra)
- Sólo utilizan la DCT. Proporcionan acceso
aleatorio a la secuencia de vídeo. Están formadas
por bloques de 8x8 que se transforman,
cuantifican y codifican. Pueden usarse para
predecir imágenes P y B. Es una manera de limpiar
el error. - Imágenes P (Predicted)
- Se codifican utilizando compensación de
movimiento forward a partir de una imagen I u
otra imagen P. Acumulan errores. Pueden usarse
para predecir otras imágenes P o imágenes B. - Imágenes B (Bidireccionales)
- Se codifican utilizando predicción bidireccional,
que puede ser forward, backward o una combinación
de ambas. No se acumulan los errores ya que nunca
se utilizan como referencia de otras imágenes.
43Group Of Pictures (GOP)
- Normalmente la secuenciación de imágenes ocurre
con una estructura repetitiva, aunque esto no es
necesario - La estructura puede describirse con dos
parámetros N/M - N gt Numero de imágenes en el GOP
- M gt Espaciamiento entre imágenes tipo P
44Group Of Pictures (GOP)
45Imagen, slice, macroblock
46Secuencia
- Dentro de la secuencia se mantiene constantes
ciertos parámetros - Tamaño Horizontal y Vertical de la imagen
- Relación de Aspecto
- Frecuencia de Imágenes
- Bit Rate
- Matrices de Cuantificación
- Perfil y Nivel
- Formato de Muestro de Crominancia
- Existen códigos de inicio y fin de la secuencia
47Imagen
- La imágenes pueden ser campos o cuadros. El
tratamiento es idéntico en ambos casos
48Slice
49Slice
- Hay dos posibles estructuras
General Existen Macrobloques no contenidos en
Slices
Restringida No hay ningún Macrobloques fuera de
los Slices
50Macrobloque
- Llamamos macrobloque a un conjunto de 16x16
píxeles de la imagen original, a partir de los
cuales se obtienen los bloques de luminancia y
crominancia
Es el conjunto básico de codificación. La
compensación de movimiento se hace a nivel de
macrobloque.
51Bloque
- Un bloque es un conjunto de 8x8 valores.
- Nótese que ya no podemos hablar de píxeles
El bloque es el conjunto básico de procesado. De
esa forma tenemos bloques de luminancia o de
crominancia.
52Perfiles y Niveles MPEG-2
53Modos de Predicción
- La predicción puede hacerse en diferentes modos
- Frame
- Field
- 16x8 Motion Compensation
- Dual Prime Mode
54Modos de Predicción
Estructura de macrobloque de luminancia, para
codificación en modo Cuadro
Estructura de macrobloque de luminancia, para
codificación en modo Campo
55Distorsión en MPEGLa degradación es diferente a
la habitual en televisión convencional
56Medida Objetiva de Errores
- Error cuadrático medio o Mean Squared Error (MSE)
57Medida Objetiva de Errores
- El MSE no coincide siempre con la valoración
subjetiva de la degradación
58Medida Subjetiva de Errores
- Lo ideal sería disponer de personas para realizar
la evaluación de la calidad de los vídeos - Se utilizan algoritmos que simulan el proceso,
tratando de emular la respuesta humana - Una medida muy utilizada es la JND (Just
Noticeable Difference). JND 1 implica que el
ojo es capaz de detectar la diferencia entre la
imagen original y la codificada. - La media de todos los valores de JND se denomina
PQR (Picture Quality Rating)
59Medida Subjetiva de Errores