Upload
robert
View
111
Download
0
Embed Size (px)
DESCRIPTION
Tema 6: Codificación y compresión de vídeo. 1. Introducción. 2. Características del vídeo. 2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación. 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red. 3. Compresión de vídeo. 3.1 Redundancia temporal. - PowerPoint PPT Presentation
Citation preview
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del
vídeo. 2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación. 2.4 Tipos de vídeo (según su
calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo.
3.1 Redundancia temporal. 3.2 Estimación de movimiento. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Bibliografía[FLU95] Understanding networked multimedia[GIB98] Digital Compression for Multimedia[TSU99] Introduction to video coding standards for multimedia communication [H.264] Overview of the H.264 / AVC Video Coding Standard [MPEG4] MPEG-4 Overview[HiJa94] Compressing still and moving images with wavelets
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
1. Introducción
Una secuencia de vídeo es una sucesión de imágenes que producen sensación de movimiento.
El proceso completo de transmisión de vídeo con compresión consiste en:Adquisición del vídeo a transmitir.
Captura analógica de la secuencia de imágenes. Digitalización del vídeo.
(Re)codificación y subsampling de las muestras. Típicamente se pasa de RGB a YCbCr Subsampling de la crominancia (de 4:4:4 a 4:2:0 ó 4:2:2)
Compresión del vídeo.Transmisión progresiva del vídeo comprimido (a ser posible
usando protocolos con soporte multimedia)
2
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.1 Captura de vídeo analógico I
Las imágenes (dos dimensiones) son convertidas en una señal analógica. Se capturan las imágenes a intervalos regulares. Cada imagen (cuadro o frame) es barrida calculando la
intensidad de cada punto (B&W). Para reproducir la imagen se realiza el proceso inverso.
4
Líneas debarrido
13579
483
Líneas de barrido mostradas
t
a
Lentes
Placa debarrido
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.1 Captura de vídeo analógico II
La captura (y reproducción) de imágenes en color es muy similar a la de blanco y negro. En este caso se utilizan tres haces de barrido (RGB). Conversión RGB a YUV (compatibilidad con señales B&W).
5
Y: Luminancia (intensidad).U y V: Diferencias de color.El ojo humano es más sensible a la intensidad (brillo) que a la información de color (sub-sampling).
Y: Luminancia (intensidad).U y V: Diferencias de color.El ojo humano es más sensible a la intensidad (brillo) que a la información de color (sub-sampling).
Lentes
Placa debarrido
t
a
Divisor
Filtros
t
a
t
a
R
G
B
Cámara
Demod.Conv.
CRT
TV ColorRGB
Y+C
Filtro CRT
TV B&W
YY+C
GB
R
Y
U
VC
ModuladorCodificador
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.1 Captura de vídeo analógico III
Parámetros de barrido:Relación de aspecto (ancho:alto): 4:3Existen distintos estándares:
NTSC (Usa y Japón): 525 líneas, 30 frames/s PAL/SECAM (Resto): 625 líneas, 25 frames/s.
Algunas líneas (superiores e inferiores) no son visibles.Durante el retorno vertical, se puede insertar información
adicional (teletexto).
Barrido entrelazado y progresivo.Entrelazado.
Cada cuadro se representa con dos campos sucesivos (uno con las líneas impares y otro con las pares) (60 c/s ó 50 c/s).
6
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.1 Captura de vídeo analógico IV
Parpadeo de imagen (flicker)Efecto que aparece cuando la imagen no es refrescada con
suficiente rapidez.La retina mantiene una imagen durante un tiempo antes de
que desaparezca.Valor mínimo: 50 imágenes/segundo
Continuidad de movimiento.Viene determinada por el número de cuadros diferentes por
segundo.No se recomienda utilizar menos de 25 cuadros/s.
Ancho de banda de una señal de vídeo analógico: 6 MHz.
7
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.2 Digitalización I
ITU-R (CCIR-601): Estándar para la digitalización de señales de TV.Define los parámetros de muestreo, cuantificación, barrido y
resolución de imagen que se deben tomar para digitalizar una señal de TV analógica.
Parámetros de barrido:Dos formatos (NTSC y PAL/SECAM)
525 líneas y 858 muestras/línea - 30 frames/seg. 625 líneas y 864 muestras/línea - 25 frames/seg.
Las muestras corresponden a la luminancia (Y): Intensidad de luz de cada pixel (cantidad de blanco).
Las diferencias de color Cr (U) y Cb (V) se muestrean a la mitad (429/línea, 432/línea): Sub-sampling 4:2:2.
9
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.2 Digitalización II
Cada línea tiene una zona visible (línea activa). Este estándar define una línea activa de 720 pixels.
Se define un número de líneas visibles por cuadro: 480 (NTSC), 576 (PAL/SECAM).
Barrido entrelazado:Un cuadro (frame) está formado por dos campos:
El primero con las líneas impares y el segundo con las pares.
Frecuencia de muestreo única.525x858x30* = 625x864x25 = 13,5 MHz.
10
Línea completa
Línea activa720 muestreos
Tiempo
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.2 Digitalización III
Codificación y recodificación.Cada muestra RGB se codifica con 24 bits/color.La conversión de RGB a YCbCr (YUV) se realiza mediante una
matriz de conversión (aproximada): Y = 0.3R + 0.6G + 0.1B U = B - Y (Diferencia de color azul) (equiv. Cb=U/2+128) V = R - Y (Diferencia de color rojo) (equiv. Cr=V/1.6+128)
Cada uno de los componentes se codifica con 8 bits. Y (8 bits): rango 16-235 Cb (8 bits) y Cr (8 bits): rango 16-240
11
RG
B
720
480o
576
Y
720
480o
576 Cb Cr
360
480o
576
Subsampling 4:2:2
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: RGB
13
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: YCbCr
14
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: Y Subsampling (I)
15
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: Y Subsampling x2 (II)
16
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: Y Subsampling x4 (III)
17
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: Y Subsampling x8 (IV)
18
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: CbCr Subsampling (V)
19
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: CbCr Subsampling x2 (VI)
20
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: CbCr Subsampling x4 (VII)
21
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.3 Codificación: CbCr Subsampling x8 (VIII)
22
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling).
2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.4 Tipos de vídeo (según su calidad) I
La percepción de calidad de una señal de vídeo se basa en tres parámetros:La resolución de las imágenes.La frecuencia de reproducción (cuadros/s.).El tipo de barrido (progresivo o entrelazado)
Televisión de alta definición (HDTV).Existen diferentes variantes acerca HDTV.
1920x1080/60, 1920x1080/30-24, 1280x720/30-24Relación de aspecto 16:9
Vídeo digital profesional (studio-quality).Estándar ITU-R (CCIR-601) de vídeo digital.
24
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.4 Tipos de vídeo (según su calidad) II
Vídeo de difusión (TV broadcast).Difusión de señales de televisión analógicas.Estándares NTSC y PAL/SECAM.
Reproductor de Vídeo (VCR-quality).Grabación de vídeo analógico (en VHS)Menor resolución de imagen (la mitad de PAL/SECAM).
Videoconferencia (Low-speed).Tasas de bits pequeñas (alrededor de 128 Kbps)Resolución de imagen 4 veces inferior al vídeo digital.
ITU-TS H.261: Common Intermediate Format (CIF) 352x288La secuencia de cuadros/s se reduce entre 5 y 10.
25
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.5 Parámetros específicos de red I
Lo que debe suministrar una red para el envío en tiempo real de una secuencia de vídeo.
Tasa de bits.
27
Calidad Estándar Sin comprimir Mbps
Comprimido Mbps
HDTV 1920x1080/60
Sin comprimir
Comprimido
MPEG-2
2000
25 a 34
ITU-R digital TV
Sin comprimir
Comprimido
ITU-R 601
MPEG-2
166
3 a 6
TV broadcast MPEG-2 2 a 4
VCR MPEG-1 1,2
Videoconferencia H.261 0.1
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.5 Parámetros específicos de red II
Retardo y varianza del retardo.Normalmente se envían una secuencia de vídeo
sincronizada con el audio correspondiente. La sincronización es muy importante y necesaria desde HDTV
hasta VCR. En Videoconferencia no es tan importante ya que la imagen no
es continua (pocos cuadros/s).En estos casos, los requerimientos para estos parámetros
los impone el audio (más sensible).Valores indicativos para la varianza del retardo:
HDTV: 50 ms. Vídeo difusión: 100 ms. Videconferencia: 400 ms.
28
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
2.5 Parámetros específicos de red III
Tasa de error.El vídeo comprimido es más sensible a los errores.La degradación de la calidad de vídeo percibida depende:
BER de la red Del tipo de error (simple, ráfaga, bloque, etc.) Donde se produce ese error. El índice de compresión de vídeo.
Mecanismos de recuperación ante errores: Técnicas de protección de la señal.
– FEC (Forward Correction Codes).– Marcas de resincronización.– Reversible VLC.
– Técnicas de paquetización. Ocultación de errores (error concealment)
– Cuando se pierden bloques o llegan demasiado tarde.
– Técnicas de extrapolación e interpolación de cuadros.
29
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
3.1 Redundancia temporal.
Se basa en la similitud de cuadros sucesivos en una secuencia de vídeo.Ej.: Secuencias de plano estático.
Se utilizan técnicas de codificación diferencial o transformada 3DSólo se codificarán las diferencias entre cuadros sucesivos
(DPCM). La reconstrucción de un cuadro puede estar basado en
otro(s) anterior(es). Un algoritmo típico de eliminación de redundancia temporal
(motion compensation) es el que emplea MPEG.
31
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
Cuadros de referencia y cuadros auto-contenidosSi F1 lo usamos para construir F2, se dice que F1 es un
cuadro de referencia (reference frame).Si un cuadro no se construye a partir de ningún otro, se
dice que es auto-contenido (intracoded frame) Normalmente estos sirven de referencia para otros.
Macrobloques (macroblocks)16x16 pixels (6 bloques de 8x8: 4Y,1U y 1V).
32
F1 F2 F3
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
Vectores de movimiento (motion vector) Identifican el desplazamiento de un determinado
macrobloque en el cuadro actual respecto a la posición que tenía en el cuadro de referencia.
Los vectores de movimiento se aplican cuando se identifica un macrobloque existente en el cuadro de referencia (matching blocks)
33
F1 F2
Macrobloques idénticos
Vector de movimientoΔx = -20, Δy = 0Cuadro de referencia
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
Búsqueda de macrobloques.Se buscan los macrobloques del cuadro a codificar en el
cuadro de referencia.Si se encuentra el mismo macrobloque, sólo se codifica el
vector de movimiento correspondiente.Si no se encuentra exactamente el mismo se elige el más
parecido (macrobloque INTER). Se codifica el vector de movimiento. Se calcula el macrobloque error (las diferencias) aplicándole
codificación estilo JPEG (DCT, quant, RLE+VLC en zigzag).Si no se encuentra ningún bloque similar (mb. INTRA)
Se codifica dicho macrobloque con codificación estilo JPEG.
34
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
Tipos de cuadros I (Intracoded frames): Cuadro codificado usando JPEG
(autocontenido).P (Predictive frames): Cuadro basado en las
diferencias respecto a un cuadro de referencia anterior (tipo I).
B (Bidirectional frames): Cuadros basados en la interpolación de un cuadro anterior y otro posterior en la secuencia (tipo I o P).
35
F1 F2 F3
Cuadro de tipo Iautocontenido
Cuadro de tipo Bbasado en F1 y F3
Cuadro de tipo Pbasado en F1
Macrobloque encontrado!! Macrobloque
encontrado!!
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
Secuencias de cuadros (Group Of Pictures)Los cuadros de tipo I son los menos comprimidos, a
continuación los de tipo P y por último los que más compresión obtiene son los de tipo B.
Secuencias típicas: IBBBPBBBI IBBPBBPBBI (PAL) IBBPBBPBBPBBI (NTSC)
36
I B B P B B P B B I
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Redundancia temporal (MPEG-1)
La importancia de los cuadros de tipo I.En un sistema de vídeo es habitual el usar los controles de
avance, retroceso, pausa, etc. Si queremos detener la secuencia de vídeo, necesitamos
encontrar el último cuadro I para reconstruir el cuadro donde se ha detenido la imagen.
Sirven como puntos de sincronización.Se estima que deben aparecer al menos un cuadro I cada
300-400 ms.Si se está difundiendo una secuencia de vídeo comprimida
(TV broadcast, videoconferencia, etc) Permite “engancharse” rápidamente y recuperarse ante la
recepción de algún cuadro dañado.
37
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.261.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
3.2 Estimación de movimiento: Algoritmos.
La parte más costosa de la estimación de movimiento corresponde a los algoritmos de búsqueda de macrobloques en el cuadro(s) de referencia.
Provoca codificación asimétrica Los algoritmos más conocidos son los siguientes:
Búsqueda completa (Full-Search).TTS (Three-Step Search)Búsqueda logarítmica.Búsqueda en cruz (Cross-Search)OTS (One-at-a-Time Search)Vecinos más próximos (Nearest Neighbours Search)Búsqueda jerárquica.
39
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Estimación de movimiento.
Se define una función de coste que calcula el error entre dos macrobloques, por ejemplo, SAE (Sum of Absolute Errors)* :
(i,j) está definido dentro del área de búsqueda (NxM) determina las dimensiones del macrobloque.C(i,j) y R(i,j) definen los pixels del macrobloque actual y
referencia respectivamente. Las coordenadas (i,j) que menor SAE exhiban determinarán
el vector de movimiento del macrobloque actual.
40
1
0
1
0,,,
M
j
N
ijiRjiCjiSAE
(*) Más conocido como SAD (Sum of Absolute Differences)
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: Full Search.
Examina todos los puntos del área de búsqueda (+/- p) Complejidad computacional por macrobloque:
Número total de posiciones: (2p + 1)2
Cada posición (i,j), MxN pixels.Cada pixel requiere: 1 resta, 1 suma y 1 valor absoluto.
Complejidad (secuencia IxJ pixels @ F fps)
Ejemplo: Broadcast TV (I=720, J=480, F=30, N=M=16)Coste de este algoritmo: 29.89 GOPS (p=15) ó 6.99 GOPS
(p=7)
41
MNpMBO 312 2
MBOMN
IJFFSO
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: Three-Step Search.
Coste: Examina puntos 1.02 GOPS (p=15) ó 770 MOPS (p=7).
42
1log8 2 p
MV: (7,-3)MV: (7,-3)
(-7,-7) (0,-7) (7,-7)
(-7,7) (0,7) (7,7)
1
1
1
1
1
1
1
1
1 2
22 2
2 2
2
2
3 3 333
3
3 3 1. Busca en la posición (0,0)2. S=2N-1 (step size)3. Busca 8 posiciones a +/-S
píxeles alrededor de (0,0)4. De las nueva posiciones
elige aquella con el SAD menor.
5. S=S/2 y el nuevo origen de búsqueda el punto obtenido en 4.
6. Repetir pasos 3-5 hasta que S=1.
1. Busca en la posición (0,0)2. S=2N-1 (step size)3. Busca 8 posiciones a +/-S
píxeles alrededor de (0,0)4. De las nueva posiciones
elige aquella con el SAD menor.
5. S=S/2 y el nuevo origen de búsqueda el punto obtenido en 4.
6. Repetir pasos 3-5 hasta que S=1.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: Búsqueda logarítmica.
Coste: Examina 20 puntos 616 MOPS (p=7 y N=2).
43
(-7,-7) (0,-7) (7,-7)
(-7,7) (0,7) (7,7)
1 1
1
1
1
2
2
2
3
3
4
45 5
5 555 5
5
MV: (5,-3)MV: (5,-3)
1. Busca en la posición (0,0) y establece S=N (step size)
2. Selecciona 4 posiciones a S píxeles del origen en los ejes X e Y.
3. Calcula la posición que ofrece el menor SAD, fijándola como el nuevo origen de la búsqueda
4. Si esta posición es la central de las 5 seleccionadas S=S/2
5. Si S=1 ir al paso 6, sino ir al paso 2.6. Selecciona el origen actual y las 8
posiciones de alrededor, y calcula aquella que minimiza el SAD
1. Busca en la posición (0,0) y establece S=N (step size)
2. Selecciona 4 posiciones a S píxeles del origen en los ejes X e Y.
3. Calcula la posición que ofrece el menor SAD, fijándola como el nuevo origen de la búsqueda
4. Si esta posición es la central de las 5 seleccionadas S=S/2
5. Si S=1 ir al paso 6, sino ir al paso 2.6. Selecciona el origen actual y las 8
posiciones de alrededor, y calcula aquella que minimiza el SAD
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: Búsqueda en cruz (Cross Search)
Coste: Examina
puntos 523 MOPS (p=7).4
4
MV: (-3,-5)MV: (-3,-5)(-7,-7) (0,-7) (7,-7)
(-7,7) (0,7) (7,7)
1
1
1 1
1 4
4
2 2
2 23
3 3
3
5log4 2 p
1. Establece el origen en la posición (0,0). S=2N-1 (step size)
2. Selecciona 4 posiciones a +/-S píxeles del origen formando una cruz (X) y el propio origen.
3. Calcula la posición que ofrece el menor SAE, fijándola como el nuevo origen de la búsqueda
4. Si (S>1) entonces S=S/2 y va al punto 2. Sino ir al punto 5.
5. Si la mejor posición está en el punto superior izquierda o inferior derecha de la X, evaluar 4 puntos más en forma de X a una distancia de +/-1 pixel. Sino hacer lo mismo pero con los 4 puntos distribuidos en “+”.
1. Establece el origen en la posición (0,0). S=2N-1 (step size)
2. Selecciona 4 posiciones a +/-S píxeles del origen formando una cruz (X) y el propio origen.
3. Calcula la posición que ofrece el menor SAE, fijándola como el nuevo origen de la búsqueda
4. Si (S>1) entonces S=S/2 y va al punto 2. Sino ir al punto 5.
5. Si la mejor posición está en el punto superior izquierda o inferior derecha de la X, evaluar 4 puntos más en forma de X a una distancia de +/-1 pixel. Sino hacer lo mismo pero con los 4 puntos distribuidos en “+”.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: OTS (One-at-a-Time Search)
Coste: Examina 12 puntos 369 MOP.
45
MV: (-4,-3)MV: (-4,-3)(-7,-7) (0,-7) (7,-7)
(-7,7) (0,7) (7,7)
11 12345
1. Establece el origen en (0,0).2. Selecciona el origen y las dos
posiciones vecinas en el eje X3. Calcula la posición que menor
SAD exhiba. Si es el origen ir al paso 5.
4. Establece el nuevo origen en la posición que ha ofrecido el menor SAD. Ir al paso 2.
5. Repetir los pasos 2 al 4 seleccionando las posiciones en el sentido vertical (eje Y).
1. Establece el origen en (0,0).2. Selecciona el origen y las dos
posiciones vecinas en el eje X3. Calcula la posición que menor
SAD exhiba. Si es el origen ir al paso 5.
4. Establece el nuevo origen en la posición que ha ofrecido el menor SAD. Ir al paso 2.
5. Repetir los pasos 2 al 4 seleccionando las posiciones en el sentido vertical (eje Y).
6
6
78
9
Puede dar lugar a mínimos locales !
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Algoritmos: Vecino más próximo.
Coste: Examina 12 puntos 369 MOP.
46
MV: (-3,-4)MV: (-3,-4)
1. Calcula el SAD del (0,0).2. Establece el origen de búsqueda a la
posición del vector supuesto (predicted vector)
3. Selecciona 4 posiciones alrededor del origen en forma de “+”.
4. Si el origen de búsqueda (o la posición 0,0 en la primera iteración) ofrece el menor SAD entonces “fin de búsqueda”.Sino establece el nuevo origen de búsqueda en la posición que menor SAD ha ofrecido.
1. Calcula el SAD del (0,0).2. Establece el origen de búsqueda a la
posición del vector supuesto (predicted vector)
3. Selecciona 4 posiciones alrededor del origen en forma de “+”.
4. Si el origen de búsqueda (o la posición 0,0 en la primera iteración) ofrece el menor SAD entonces “fin de búsqueda”.Sino establece el nuevo origen de búsqueda en la posición que menor SAD ha ofrecido.
(-7,-7) (0,-7) (7,-7)
(-7,7) (0,7) (7,7)
0
1
1
1
1
1
22
23
3
Propuesto para H.263 y MPEG-4.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8Estimación de movimiento: Otras
consideraciones. Estimación de movimiento con fracciones de pixel
Se basa en realizar la estimación de movimiento con mayor precisión, ya que a veces el movimiento real no se ajusta a desplazamientos de píxel enteros.
Half-Pixel motion estimation Se obtiene un imagen de mayor resolución interpolando un punto
de la imagen entre cada dos píxeles.
47
A A A
c
b
A A A
A A A
c cd
b b
b
b b
d
c c cd d
A: Píxeles reales (Enteros)b,c,d: Píxeles interpolados. Las flechas indican la dirección de interpolación.
Se incrementan notablemente las prestaciones del algoritmo de estimación de movimiento a expensas de un mayor coste computacional.
H.263 utiliza está técnica, incluso se propone utilizar ¼ y 1/8 de píxel para el estándar H.264
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8Estimación de movimiento: Mejoras
propuestas.
Vectores de movimiento fuera del cuadro de referencia. Para estimar correctamente el movimiento que se produce en
los bordes del cuadro. Tamaño de bloque variable.
Para realizar estimación de movimiento más precisa. Se utiliza en H.263 (Anexo F) y H.264.
Tamaños: 16x16;8x8;4x4;8x16;16x8.... OBMC (Overlapped Block Motion Compensation)
Objetivo: Suavizar los efectos de “blocking” que aparecen en los bordes de los macrobloques.
Incremento significativo del coste computacional. H.263 recomiendo utilizar filtros de salida (deblocking filters) que
realizan esta operación a un coste computacional muy inferior. Modelos de estimación más complejos:
Region-based, Picture Warping, Mesh-based, Object-based...
48
Transmisión de Datos Multimedia – http://www.grc.upv.es/docencia/tdm – Master IC 2007/2008
Tema 6: Codificación y compresión de vídeo.Tema 6: Codificación y compresión de vídeo.
1. Introducción.2. Características del vídeo.
2.1 Captura de vídeo analógico. 2.2 Digitalización. 2.3 Codificación (de RGB a YCbCr con subsampling). 2.4 Tipos de vídeo (según su calidad). 2.5 Parámetros específicos de red.
3. Compresión de vídeo. 3.1 Redundancia temporal. 3.2 Estimación de movimiento: algoritmos. 3.3 Estándares: MPEG y H.26x.
4. Conclusiones.
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
3.3 Estándar MPEG.
Conjunto de estándares ISO para la grabación y transmisión digital de audio y vídeo.
En su evolución se han desarrollado varias versiones del estándar MPEG:MPEG-1 (ISO 11172) (‘91):
CD-ROM vídeo (1,5 Mbps). MPEG-2 (ISO 13818) (‘93):
TV Broadcast (4-6 Mbps). HDTV (25-34 Mbps).
MPEG-4 (ISO 14496) (‘99): Originalmente: Videoconferencia (4,8 a 64 Kbps). Enfoque universal de tratamiento de elementos multimedia.
MPEG-7 (00-?): Descripción de contenido multimedia (videodatabases)
MPEG-21 (01-?): Uso transparente de contenido multimedia entre redes y usuarios heterogéneos.
50
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Relación entre los estándares MPEG.
51
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-1.
MPEG-1 (ISO 11172) (‘91)MPEG-Vídeo (IS 11172-2)MPEG-Audio (IS 11172-3)MPEG-System (IS 11172-1):
Multiplexado y sincronización.MPEG-Conformance Testing (IS 11172-4)
Patrones de prueba, medida de calidad, etcMPEG-Software Coding (IS 11172-5)
Directrices para la codificación de los algoritmos.
Propósito de MPEG-1Almacenamiento en CD-ROM de audio (calidad CD) y vídeo
(calidad VCR) sincronizado (1,5 Mbps).
52
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-1
Características de MPEG-1:Resolución de imagen: 352x(288 ó 240) (PAL/NTSC).Reducción de color (sub-sampling): 4:2:0.Barrido progresivo (no entrelazado).Tasa de cuadros: 25/30 (PAL/NTSC). Incluye cuadros de tipo D (DC-coded):
Operaciones de avance rápido (Fast Forward).Codificador/decodificador asimétrico.
53
Audioencoder
Vídeoencoder
SystemMux.
Reloj
SalidaMPEG-1
Tasa de compresión: 27:1. Los codificadores de audio
y vídeo trabajan por separado. Utilizan un reloj común para
establecer el tiempo de cada una de sus capturas (system).
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-2
Conjunto de estándares ISO 13818 (‘93). Propósito:
Mejorar la calidad de imagen respecto al anterior sin incrementar excesivamente la tasa de bits requerida
Calidad de vídeo profesional (studio-quality) y HDTV Aplicación:
Difusión de señales de TV, HDTV, VOD La codificación/decodificación es muy similar a la de MPEG-
1 salvo algunas diferencias:No se incluyen cuadros de tipo D.Permite bloques de 16x8 para vídeo entrelazado.Otras mejoras (permite DC de hasta 10 bits, cuantización
no lineal, nuevas tablas VLC, escalabilidad SNR y multiresolución)
54
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-2
Características de MPEG-2.Soporta barrido entrelazado y progresivo.Puede trabajar con distintas resoluciones (nivel):
CIF: 352x288/240 (VCR quality) (Compatibilidad MPEG-1) Principal: 720x576/480 (studio-quality) High-1440: 1440x1152 (HDTV) High: 1920x1080 (HDTV)
Define varios perfiles de implementación Detalles de los algoritmos de compresión y parámetros de
imagen, barrido, etc.El multiplexado y sincronización es más general y flexible
que MPEG-1 Se pueden multiplexar/sincronizar varias fuentes de audio,
vídeo y datos (ej.: subtítulos en varios idiomas).
55
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-4
Propósito:Diseño de aplicaciones multimedia interactivas distribuidas.
Aplicación:Televisión digital
Compatibilidad con MPEG-2 (backware compatibility)Aplicaciones multimedia interactivas
El usuario puede interaccionar con los objetos multimedia de la sesión.
Distribución de información multimedia (tipo WWW) A través de una red, se permitirá el acceso y distribución a
información multimedia, facilitando su diseño y presentación.
56
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-4
Características:Accesibilidad de la información de manera universal y
robusta.Alta interactividad con la información multimedia.
Definición de escenarios virtuales compuestos por objetos independientes (AVOs).
El usuario puede modificar/configurar el escenario actual.Codificación conjunta de datos sintéticos y reales.Codificación eficiente de la información.
Mejoras en la compresión y multiplexación de la información. Codificación de objetos con forma irregular.
57
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
MPEG-4
58
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
3.3 Estándar H.261.
Pertenece al conjunto de estándares H.320 del ITU dedicados a videoconferencia sobre RDSI.H.320: Definición de la familia de estándaresH.221: Multiplexado, sincronización sobre uno o varios
canales RDSI y empaquetamiento (framming).H.242/H.230: Establecimiento y control de sesión.H.224/H.281: Control remoto de cámaras.H.233 y H.234: Cifrado y autenticación de los datos.T.120: Soporte para aplicaciones (transferencia de
imágenes, anotaciones compartidas, etc.)G.711, G.72x ...: Algoritmos de compresión de audioH.261: Compresión de vídeo (conocido como
px64).
59
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Estándar H.261.
Características de H.261:Formato de imagen: YCbCr
CIF: 352x288 (opcional) QCIF: 176x144 (obligatorio)
Reducción de color: 4:2:0Tasa de cuadros/seg: como máximo 30 max.
Mecanismo de compresión similar a MPEG-1:Para la redundancia temporal se emplean mecanismos
similares a MPEG, basados en macrobloques (16x16).H.261 define el concepto de GOB (Group Of Blocks)
1 GOB = 3x11 macrobloques (QCIF: 3 GOBs)
60
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Estándar H.261.
Sólo se definen dos tipos de cuadros: I y P.No existen secuencias predefinidas de cuadros.Decisión de codificación I o P para cada cuadro.
Estimación de movimiento (motion estimation):Se realiza a nivel de macrobloqueBúsqueda restringida en un área de +-15 pixels, usando
sólo la información de luminancia (Y).Resultado de la búsqueda:
Macrobloque del cuadro de anterior que más se parece al actual
Cálculo de las diferencias (macrobloque error). Si superan un cierto umbral se codifican (DCT), si no se elimina
el macrobloque error, utilizando sólo el vector de movimiento.
Cuantificación lineal (menos costosa). Se siguen utilizando run-length y Huffman (VLC).
61
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Estándar H.261.
62
PSC TR PType GOB1 GOB2 .... GOBm
GOB Start Grp# Quant MB1 ... MBn
Addr Type Quant Vector CBP b0 b1 ... b5
DC Run, Valor ... Run, Valor EOB
Esquema del formato H.261
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Otros estándares H.26x.
H.263: Mejora, amplía y sustituye el H.261De propósito general (no sólo para videoconf.) Incluye compensación de movimiento de “medio-píxel”Soporta cinco resoluciones (SQCIF, QCIF, CIF, 4CIF y 16CIF)Permite estimación de movimiento bidireccional y sin
restricción en el tamaño de la ventana de búsqueda H.263+: Añade nuevas características a H.263
Escalabilidad SNR, espacial y temporalPredicción de los valores de los coeficientes de la DCT
H.264: Mejora la eficiencia en codificaciónDCT con enteros y tam. bloque 4x4, compensación de
movimiento con bloques de tamaño variable, etc.
63
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
Otros estándares H.26x.
Comparación subjetiva MPEG-4 - H.264
64
Tra
nsm
isió
n d
e D
ato
s M
ult
imedia
- M
ast
er
IC 2
00
7/2
00
8
4. Conclusiones
Las imágenes son captadas por cámaras de vídeo que proporcionan una señal analógica RGB.
La digitalización está basada en el estándar ITU-R En función de la calidad de vídeo deseada, existen diversos
formatos de imagen, barrido, etc. Se definen distintos parámetros de red de importancia para el
transporte de vídeo Algoritmos de compresión de vídeo
Fundamentos: Redundancia temporal Algoritmos de estimación de movimiento: Alto coste
computacional. Estándares de compresión:
Familia MPEG: 1-2-4– Diseñados para procesar vídeo digital de calidad (Sector consumo).
Familia ITU: H.261-3-4– Diseñados para comunicaciones audiovisuales en distintos tipos de redes (RDSI, IP,
telefonía, etc.)
65