La TV análogica ha sido el único sistema de comunicación de video
●
La TV análogica no ha cambiado en los últimos 49 años
●
La TV analógica ha sido el primer sistema de compresión
●
La TV es un sistema de comunicación unidireccional
●
El usuario es un simple espectador
- La TV está cambiando a digital - El usuario tendrá un papel fundamental
Evolución ●
La TV digital nos conduce a una nueva era en los sistemas de video
●
Los standards de video (MPEG-x, H.26x) mejoran el papel del usuario
●
El usuario puede generar y transmitir su propio contenido
●
MPEG-4 mejorará la capacidad del usuario (objetos)
●
La cantidad disponible de material de video es enorme
●
El usuario querrá crear su contenido a partir de bases de datos
MPEG-1
MPEG-2
MPEG-4
MPEG-7
Cada evolución contiene menos codificación y más análisis
Standards de codificación
ISO
ITU
1984
1986
1988
1990
1992
1994
1996
1998
H.263 H.263+, H.26L
H.261
MPEG-1
MPEG-4 MPEG-2
Ui
Ui
AU i AT
Q Vi Cuantificador Vi Codificador
Q
Canal
N
Decodificador entrópico
Canal
Esquema general de codificación por transformadas - JPEG
ViQ
T
entrópico
Q
A Vi A
UiQ
UiQ
Codificador JPEG 2000
Bit-stream
Decorrelación componentes
Transformada wavelet
Reversible
No Reversible
Q
Bit stream ordering
Region of interest
Codificación aritmética
Coefficient bit modeling
Error resilience
Esquema general codificación video Secuencia original Transformada
Cuantificador Q
Predicción temporal compensada en mov.
Cuantificación error de predicción decorrelado
Codificador entrópico
Error de predicción Decorrelación 2D error de predicción DCT
Codificador híbrido de video Control Información lateral
+
DCT
VLC
Q
Q
-1
Predictor Estimación movimiento
Memoria
IDCT + + VLC
MUX
Buffer
Codificación basada en bloques
Imagen original Akiyo (QCIF)
La unión de dos mundos TV analógica
1. Compresión de imagen y video - Esquemas basados en el pixel - JPEG, H.26x, MPEG-1,2
MPEG-4 2. Análisis de imagen y video - Segmentación - Reconocimiento de objetos
Standard MPEG-4 Compresión
Interactividad basada en contenido
Acceso universal
Objetos audio-visuales Video Object Plane - VOP
Audio object planes Train to MPEG-4
07:30
Welcome to MPEG-4
Attention please!
Representación de una secuencia en VO’s (1)
Representación de una secuencia en VO’s (2)
Standard MPEG-4 (1) • Imagen = Objetos + texto + fondo (VO’s) • Codificación separada de los objetos • Manipulación de los objetos +
+
Texto
MPEG-4 Texto
Standard MPEG-4 (2) ● ● ● ● ● ● ● ●
Content-based multimedia data access tools. Content-based manipulation and bit-stream editing. Hybrid natural and synthetic data coding. Improved temporal random access. Improved coding efficiency. Coding of multiple concurrent data streams. Robustness in error prone environments. Content-based scalability.
Escena MPEG-4 audiovisual objects
voice
hierarchically multiplexed upstream control / data
audiovisual presentation
sprite
hierarchically multiplexed downstream control / data
2D background y
3D objects
scene coordinate system x z
user events audio compositor
video compositor projection plane
hypothetical viewer speaker
display user input
Terminal MPEG-4 Demultiplex
N e t w o r k
...
Decompression
Composition and Rendering
... Elementary Streams
Primitive AV Objects
...
Scene Description (Script or Classes)
L a y e r
Hierarchical, Interactive, Audiovisual Scene
Composition Information
Upstream Data
...
(User Events, Class Request, ...)
MPEG-4: Reutilización de contenido
COMPOSITOR
DEMULTIPLEXER
VO #N
MULTIPLEXER
...
CODER
VO #1
DECODER
DB
DB
Codificación de objetos
MPEG-4: SNHC Synthetic and Natural Hybrid Coding Codificación híbrida natural y sintética ● Solapamiento (overlay) de texto y gráficos ● Animación de caras y cuerpos (Facial & body animation) Realidad virtual ● Conversión Texto voz ● Codificación imágenes 3D (espaciales) ●
Facial Animation Parameter Units 11.5
11.5 11.4
11.4
11.2 11.2 4.4 4.6
11.1 4.2
4.3
4.1
4.4 4.5 11.6
10.2
10.1
10.6
10.7
5.2
y
10.2 10.10
10.3
5.3
5.4 10.8
10.5
5.1
5.4 10.4 10.8 10.6
z
y
x 2.1
2.11
2.12
2.10
z
7.1
2.10
x
5.2
2.13
2.14
4.2
4.6
10.9
10.10 10.4
11.1
11.3
2.14
2.12
2.1 3.13
3.14 3.2
3.1 3.8
3.6
3.12
3.11
3.5
3.7
3.3
3.4 3.10
3.9
Right eye
9.6
Left eye
9.7
9.8 9.12
Nose 9.14 9.10
9.13
9.11 9.3
8.6 2.5 6.2
8.9
9.5
8.10 8.1
2.7
2.2
2.9
2.3
2.6
8.5
8.3
2.4
6.3 8.8
6.1
9.15
9.4
8.4
6.4
9.1
9.2
9.9
Teeth
Tongue
Mouth
2.8
8.7
8.2
Feature points affected by FAPs Other feature points
Modelo de cara
MPEG-4: SNHC Synthetic and Natural Hybrid Coding
Multiple concurrent data streams
Escalabilidad basada en contenido Capa base
Capa mejora
Escalabilidad de objetos +
+ VOP 1 Decodificado
VOP 2 Decodificado
+ VOP 3 Decodificado
VOP 4 Decodificado
+
Escena compuesta
Compositor – Acciones del usuario para definir el compositor Posición espacial de los objetos ● Tamaño de los objetos ● Prioridades de overlay (orden de fundido de los VOP ’s) ● Selección de los objetos ●
– Se controla a nivel de sistema – La composición se aplica sucesivamente
MPEG-4 composición Fondo sintético:
Gráficos: Transparencia: Video e información de forma:
Jerarquía de clases en MPEG-4 VideoSession (VS)
VS1
VO1
VideoObjec (VO)
VideoObjectLayer (VOL)
GroupOfVOPs (GOV)
VideoObjectPlane (VOP)
VOL1
GOV1
VOP1
VO2
VOL2
GOV2
VOPk
VOP1
VOPk
Grupos Standard MPEG-4 ● ● ● ● ● ● ● ● ●
Requirements Video Audio SNHC Systems Error resiliance Test Implementation No son parte del standard final Liaison
Estado actual Estándard MPEG-4 •
Marzo 2000: – Versión 1: – Versión 2:
•
International Standard (1999) Conformance Testing (2000) International Standard (2000)
Video Reference software: – MoMuSys: – Microsoft:
implementación en C implementación en C++
Perfiles y herramientas Main Simple scalable B_VOP Temp. Scal. Spat. Scal.
Simple I and P VOPs ACDC prediction 4MV Error resilience H263 compatible
Compatibilidad MPEG-4 MPEG-4 VLBV Core Coder Video Object Plane
Motion (MV)
Texture (DCT)
bitstream
(Similar to H.263/MPEG-1)
Generic MPEG-4 Coder Video Object Plane
Shape
Motion (MV)
Texture (DCT)
bitstream
Contenido de vídeo • • • • • • • • • • •
Intra and Prediction modes: Extrapolación. Bi-directional mode: Interpolación. Binary shape: Basado en bloques (CAE). Alpha maps: Técnicas de textura. I/P/B VOs: Extrapolación. Temporal and Spatial scalability. Static Sprites: Concepto de panorama. Error resilience tools: Canales móviles. Interlaced tools: TV estándar. 12 bit video: Aplicaciones médicas. Compatibilidad H263: Perfile simple
Mejoras del block matching Incorpora técnicas avanzadas de BM: • Precisión de medio o cuarto de píxel. • Posibilidad de subdividir el bloque (16x16) en 4 subbloques (8x8). • Bloques totalmente solapados. • Vectores de movimiento no restringidos sobre la imagen.
VO acumulado Sprites VO acumulado
Porción visible en un instante dado 1 3 4 5
2
VO acumulado - Sprites La idea es análoga a la utilización de fondos en dibujos animados.
VO acumulado - ejemplo
VO acumulado - manipulación de objetos
Manipulación de objetos - sprites
Herramientas externas al estándar ● ●
● ●
● ●
Creación de los Video Objects. Creación de los Sprites. Técnicas de Bit allocation. Técnicas de Rate control. Métodos de composición. Métodos de interactuación.
Codificación VOP n
Decodificación VOP 1 Decodificación VOP 2
Decodificación VOP n
Interacción del usuario
Composición de VOP’s
Codificación VOP 2
Demultiplexador
Codificación VOP 1
Multiplexador
Control de codificación
Formación de VOP’s
Información de video
Diagrama general MPEG-4
Codificador MPEG-4 motion texture coding
+ _
DCT
Q
video multiplex
-1
Q IDCT + + S w i t c h
pred. 1 pred. 2
Frame Store
pred. 3
Motion estimation Shape coding
Técnicas de codificación MPEG-4
Codificación de textura Codificación de contornos Codificación de movimiento
* MPEG 4 no proporcionará la segmentación para obtener VO’s
Codificación de los VO’s Video sequence
VOP 1
Codificación de contornos
Codificación de textura
Formación del VOP
VOP 2
Codificación de movimiento
VOP 3 VOP n
Codificación de textura VOP
8x8 DCT
8x8 DCT con padding No se codifica
Cuantificación ●
Método 1: Similar a H.263
●
Metodo 2: Similar a MPEG-2
●
Cuantificación no lineal optimizada de los coeficientes DC
●
Matrices de cuantificación y mecanismo de carga
Shape adaptive DCT (Fase 2)
Codificación wavelet ●
Generalización de la transformada wavelet a VO’s de forma arbitraria
●
Número de coeficientes transformados en el VO = = Número de pixels en el VO
●
Generalización del codificador zero-tree
Codificación de contornos (1)
Creación del Bounding Box
Codificación de contornos (2) ALL-0 BAB
ALL-255 BAB
Parcialmente incluido
Binary Alpha Blocks (BAB)
BAB’s parcialmente incluidos (1) Codificación intra: Dentro del Macrobloque actual, se realiza una predicción del valor de cada píxel basada en un contexto causal: Intra CAE
BAB’s parcialmente incluidos (2) Codificación inter: Se estima el movimiento y se analiza si se debe utilizar o no. Se codifica el error de estimación mediante Inter CAE.