Televisió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

Download Report

Transcript Televisió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

Televisió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
1
Tipos 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)
2
Herramientas de Compresión
 Sample Rate Reduction

4:4:4, 4:2:2, 4:2:0…
 DCT


Objetivo: Eliminar redundancia espacial
Utilizada en varias de las técnicas explotadas por
MPEG-2
 Compensación de Movimiento

Objetivo: Eliminar redundancia temporal
3
Señales a Codificar
Si codificamos
cada una de las
componentes
RGB, las tres
deberían
codificarse con
mucha calidad
4
Señales a Codificar
 Se codifican otras tres señales relacionadas con ellas
(luminancia y crominancia).
5
Macrobloques y Bloques
6
Macrobloques y Bloques
7
Estructura de Muestreo 4:4:4
8
Estructura de Muestreo 4:4:4
9
Estructura de Muestreo 4:2:2
De todos los píxeles se obtienen
muestras de luminancia.
De crominancia solo de la mitad
de ellos.
10
Estructura de Muestreo 4:2:2
11
Estructura de Muestreo 4:2:2
12
Estructura de Muestreo 4:2:0
13
Estructura de Muestreo 4:2:0
14
Estructura de Muestreo 4:2:0
15
Redundancia Espacial
 DCT 8x8
 Cada coeficiente representa la contribución de una
frecuencias horizontales y verticales a la imagen
16
DCT
17
DCT
 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)
18
DCT 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
19
DCT 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
20
Matrices de Cuantificación
 Existen varias matrices de cuantificación definidas
por MPEG-2, pero el codificador puede utilizar
cualquier otra
Para 4:2:0 se definen
dos matrices. Para los
otros dos posibles
formatos de muestreo
se definen cuatro.
21
Resumen Cuantificación
22
Serialización de los Índices
 Serializo los índices dando prioridad a los
“mas importantes”
23
Run Length Code
 Almaceno el número de ceros antes del siguiente coeficiente
diferente de cero, y luego el valor del coeficiente.
DCT
24
Variable Length Code (VLC)
 Toda información no aleatoria tiene unas
secuencias mas probables que otras
 Explota (probabilidad)
P cadenas cortas de ceros > P cadenas largas de ceros
 P coeficientes bajos > 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)
25
Buffering 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.
26
Buffering 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)
27
Compresió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
28
Predicció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
29
Redundancia Temporal
30
Redundancia Temporal
31
Predicción Interframe Co-Sited
(VLC)
Ojo!!
Imagen Predicha
32
Compensación de Movimiento
33
Compensació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
34
Compensació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)
35
Á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”
36
Vectores de Desplazamiento
 Compromiso entre Tamaño Macrobloque y Bit Rate
Vectores de Desplazamiento


Macrobloque Grande => Menos información vectores
Macrobloque Pequeño => 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
37
Predicción Bidireccional
Forward Prediction
Backward Prediction
Bi-directional Prediction
El macrobloque se obtiene como
combinación lineal de los otros dos
38
Predicció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)
39
Predicción Bidireccional
(pasos a seguir para su aplicación)
40
Predicció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
41
Tipos 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.
42
Group 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 => Numero de imágenes en el GOP
M => Espaciamiento entre imágenes tipo P
43
Group Of Pictures (GOP)
44
Imagen, slice, macroblock…
45
Secuencia
 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
46
Imagen

La imágenes pueden ser campos o cuadros. El tratamiento es idéntico en ambos casos
47
Slice
48
Slice
 Hay dos posibles estructuras:
General
Restringida
Existen Macrobloques no
contenidos en Slices
No hay ningún Macrobloques
fuera de los Slices
49
Macrobloque
 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.
50
Bloque
 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.
51
Perfiles y Niveles MPEG-2
52
Modos de Predicción
 La predicción puede hacerse en diferentes
modos




Frame
Field
16x8 Motion Compensation
Dual Prime Mode
53
Modos 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
54
Distorsión en MPEG
La degradación es diferente a la habitual en televisión convencional
55
Medida Objetiva de Errores
 Error cuadrático medio o Mean Squared Error (MSE)
56
Medida Objetiva de Errores
 El MSE no coincide siempre con la valoración subjetiva de la degradación
57
Medida 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)
58
Medida Subjetiva de Errores
59