3-codificación y difusión de información multimedia · el codificador suele ser más complejo y...

169
TECNOLOGÍAS DE RED AVANZADAS Master IC 2010-2011 http://www.grc.upv.es/docencia/tra/ 3- Codificación y difusión de información multimedia Factores de diseño de un codec Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. Codificación y compresión de audio Compresión de imagen. Redundancia espacial. Estándar JPEG JPEG Escalado Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo. Redundancia temporal. Estimación de movimiento: algoritmos. Estándares: MPEG e ITU Difusión de vídeo. Bibliografía [FLU95] Understanding networked multimedia [GIB98] Digital Compression for Multimedia [TSU99] Introduction to video coding standards for multimedia communication [JPEGESC] JPEG escalado - Tesis [JPEGAD] JPEG image coding with adaptive quantization [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

Upload: vanhanh

Post on 10-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

Bibliografía[FLU95] Understanding networked

multimedia

[GIB98] Digital Compression for

Multimedia

[TSU99] Introduction to video coding

standards for multimedia communication

[JPEGESC] JPEG escalado - Tesis

[JPEGAD] JPEG image coding with

adaptive quantization

[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

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Introducción a la compresión de datos.

Muchas aplicaciones multimedia requieren volúmenes de información importantes: CD-ROM: 648 MB

72‟ sonido estéreo.

30‟‟ de vídeo (estudio TV).

Una película de 90‟ ocuparía 120 GB.

Una foto (35 mm) a resolución 2000x2000 ocuparía 10MB.

Un canal de HDTV requiere un ancho de banda de 2Gbps.

Por esta razón se emplean técnicas de compresión que permitan reducir el volumen de información

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Introducción a la compresión de datos (II).

Un sistema de compresión consta de:

Codificador y decodificador

Codificador y decodificador pueden ser:

Asimétricos

El codificador suele ser más complejo y lento que el decodificador (Ej.: Vídeo por demanda)

Simétricos

Coste computacional similar (Ej: Videoconferencia).

Con pérdidas (lossy compression) o irreversible

Adecuada para medios continuos (audio y vídeo).

Mayores tasas de compresión.

Sin pérdidas (lossless compression) o reversible:

Ficheros de datos, imágenes médicas, etc.

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Factores en el diseño de un codificador.

4

Eficiencia- Tasa de compresión

Complejidad- Espacio de memoria

- Potencia (mW)

- Operaciones/Seg.

Retardo

Calidad de la señal- BER (Bit Error Ratio)

- SNR (Signal/Noise)

- MOS (Mean Opinion Score)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Dos clases de técnicas de compresión.

Entropy encoding

Codifica los datos sin necesidad de conocer la naturaleza de estos.

De propósito general (todo tipo de datos).

Son técnicas de compresión sin pérdidas.

Ejemplos: Statistical (Huffman, aritmética,etc.), Run-length.

Source encoding

Codifica los datos basándose en las características y propiedades de estos.

Suelen ser técnicas de compresión con pérdidas.

Se obtienen tasas de compresión elevadas.

Codificadores/decodificadores de propósito específico.

Ejemplos:

Differential, transform, vector quantization, etc.

5

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación basada en la entropía.

Entropía: Valor medio de información de un conjunto de símbolos

procedente de una fuente de información (es imposible de medir en la práctica).

(pi = probabilidad del símbolo i)

Por ejemplo: Sea S = {4,5,6,7,8,9}, en donde la probabilidad de cada símbolo es la misma (1/6).

Según la teoría de la información (Shannon), esta fuente no puede ser codificada (sin pérdidas) con menos de 2.585 bits por símbolo.

7

i i

i

ppSH

1log2

585.26log6

16 2 SH

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Statistical encoding

Trata de identificar los símbolos (patrones de bits) que más se repiten en el conjunto de datos de entrada.

Se codifican con pocos bits los símbolos más frecuentes, mientras que los menos frecuentes son codificados con más bits.

Ejemplos:

Codificación Morse

E: „•‟ y Q:‟--•-‟

Codificación Huffman.

Codificación aritmética.

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación Huffman

Representan los símbolos con un número de bits inversamente proporcional a su frecuencia.

Algoritmo genérico: Se construye un árbol binario de abajo hacia arriba

agrupando los símbolos de menor frecuencia y asignado la suma de las probabilidades de ambos al nodo padre del árbol.

Cada símbolo estará representado por una hoja del árbol y su código serán los bits recorridos hasta la raíz del mismo.

Ejemplo:

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación Huffman: Ejemplo

1

0

Símbolo Código

A 0

B 100

C 101

D 110

E 111

ABCDE(39)

0

1

DE(11)

10

BC(13)

10

BCDE(24)

10

A(15) B(7) C(6) D(6) E(5)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación aritmética

Identifica una secuencia de símbolos asignándoles una representación binaria de un intervalo de una longitud inferior a la unidad.

Siempre son más eficientes que los códigos Huffman

Separa el modelo probabilístico de la asignación de bits pudiendo definir codificadores adaptativos.

Es computacionalmente eficiente, aunque está sujeto a patentes.

Ejemplo:

Supongamos sólo dos símbolos, A y B con una probabilidad de P(A)=1/3 y P(B)=2/3.

1

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación aritmética: Ejemplo

1

2

A

B

2/3

4/9

8/9AA

AB

BA

BB

16/27

8/27

AAAAABABA

ABB

BAA

BAB

BBA

BBB

0

1

P(A) = 1/3 P(B) = 2/3 segmento

31/3215/1614/16

6/8

3/8

1/4

10/16

4/8

código

.11111

.110

.1010

.100

.1111

.1110

.01

.011

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Run-length encoding

Se basa en detectar las repeticiones de símbolos (bits, números, etc) en los datos a codificar.

Ejemplo:

1

3

Datos a codificar (42): 3150000000376541111111127000000000000003

315A0737654A1827A0143Datos codificados (21):

Tasa de compresión: 50%

Este patrón es frecuente en multimedia:

Audio: Tiras de ceros que representan silencios.

Vídeo e imagen: Fondos del mismo color (paredes, cielos, etc.)

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación basada en la fuente.

Se basan fundamentalmente en las propiedades de la fuente de datos a codificar.

Suelen tolerar pérdidas en la codificación (lossy codecs) que perceptualmente pasan inadvertidas para el usuario.

Son codificadores de propósito específico.

Por término general obtienen mayores prestaciones que los codificadores basados en la entropía.

1

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación Diferencial

Se basa en la codificación de las diferencias entre dos símbolos consecutivos.

Ciertos tipos de datos tienen la propiedad de similitud entre símbolos consecutivos:

Señal de Audio, vídeo, imágenes, etc.

Esto permite codificar con pocos bits las diferencias.

Ejemplo:

DPCM (Differential Pulse Code Modulation)

Codificación con pérdida.

1

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Transform encoding

Se basa en transformar el dominio (Ej.: del temporal al de la frecuencia) de los datos de entrada (Ej.: señal de audio).

Ejemplos:

Aritmética:

Fourier:

DCT (Discrete Cosine Transformation):

Muy común en compresión de imágenes estáticas (JPEG).

Codificación sin pérdida*.1

7

t

F(t) C

f

160 160 161 160

161 165 166 158

160 167 165 161

159 160 160 160

160 0 1 0

1 5 6 -2

0 7 5 1

-1 0 0 0

Imágen BW

4x4 pixels

Restar a todos los

pixels el valor del

primero

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Vector quantization

Es directamente aplicable a imágenes y audio.

Consiste en lo siguiente (imágenes):

La imagen se divide en bloques de tamaño fijo (vectores).

Se construye una tabla, code-book, con todos los vectores diferentes encontrados.

Se codifica la imagen como una sucesión de índices a la tabla.

Tanto el codificador como el decodificador necesitan conocer la tabla (code-book).

La tabla puede estar predefinida o ser creada dinámicamente.

Si en una imagen predomina un número reducido de vectores, el índice de compresión puede ser importante.

1

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Vector quantization (II)

Ejemplo:

1

9

0 0 1 0

2 2 2 0

3 2 2 0

0 4 0 0

Imagen original divididaen vectores de nxn pixels

0

1

2

3

4

Code-book

001022032200400

Si un vector no se encuentra en el code-book: Buscaremos el que más se parezca.

Idem + enviar algún dato para aumentar el parecido (valor medio).

Idem + enviar lo que sea necesario (vector error) para reconstruir el vector.

Codificación con pérdida*.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Vector quantization (III)

CLUT (Color Look-Up Table)

Es utilizado para codificar imágenes RGB, que normalmente no utilizan todos los colores posibles.

Se utiliza una tabla (code-book) con los colores usados en la imagen. Cada pixel es representado con el índice de la tabla correspondiente a su color.

Ejemplo:

Imagen RGB de 24bits de color que solo usa 256.

Se construye una tabla de 256 entradas y en cada una de ellas se guarda un color (24 bits).

En lugar de usar 24bits/pixel, ahora usaremos 8bits/pixel

Tasa de compresión: ~66%

Codificación más lenta que decodificación.

2

0

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Introducción a la codificación y compresión de audio.

Las secuencias de audio forman parte de las aplicaciones multimedia.

El estudio de la codificación y compresión se puede enfocar en función de la aplicación: Aplicaciones interactivas (audio-conferencia audio) codecs

simétricos.

Aplicaciones de difusión y reproducción de medios (TV digital, audio Hi-Fi, DVD, etc.) codecs asimétricos

Características de una señal de audio.

Distintos tipos de calidad de audio.

Técnicas de compresión de audio.

2

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Características del audio

Una señal de audio no es más que una onda acústica (variaciones de presión del aire)

La señal de audio es unidimensional (tiempo)

El micrófono transforma las ondas acústicas que lo golpean, en señales eléctricas (niveles de voltaje)

El oído es muy sensible a las variaciones de sonido de corta duración (ms) al contrarío que el ojo humano.

La relación de dos sonidos A y B se mide en decibelios: dB=20 log10 (A/B).

La intensidad de un sonido A se mide en decibelios tomando como referencia el menor sonido audible. 0 dB: Menor sonido audible

La señal de referencia (B) es una onda senoidal a 1khz que provoca una presión de 0.0003 dinas/cm2

A y B son amplitudes (si fueran potencias sería 10 log10 (A/B))

50 dB: Conversación normal.

120dB: Umbral del dolor.2

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Características del audio

El rango de frecuencias audibles por los humanos está entre 20Hz y 20KHz.

24

Audible

No audible

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Digitalización y cuantificación.

2

5

La digitalización de las señales de audio se realizan mediante convertidores A/D.

Muestrean la señal analógica de audio a una frecuencia determinada.

Según Nyquist: “Si la señal de entrada tiene una frecuencia máxima de f, la frecuencia de muestreo tiene que ser de al menos 2f “(al muestrear a Sf captaremos hasta la frec. Sf/2)

En el conversor D/A, un filtro paso bajo puede interpolar la parte de señal entre las muestras, para poder reconstruir perfectamente la señal original.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Digitalización y cuantificación.

2

6

Cuantificación: Las muestras obtenidas se codifican en un número finito de bits Error de cuantificación (quantification noise).

Codificación lineal o logarítmica.

PCM (Pulse Code Modulation). Usado para la digitalización de señales de audio.

Parámetros: Sf, bits/muestra, niveles de cuantificación*

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Digitalización y cuantificación.

2

7

Cuantificación PCM lineal Los niveles de cuantificación están espaciados de manera

equitativa.

Cada bit de resolución añade 6 dB de rango dinámico.

Con 16 bits por muestra se cubre totalmente el rango dinámico del oído humano.

Cuantificaciones no-lineales (logarítmica) Los pasos de cuantificación decrecen logarítmicamente.

El oído humano es menos sensible a sonidos fuertes.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Digitalización: Interfaz MIDI

MIDI (Musical Instrument Digital Interface).

Utilizado para codificar música (instrumentos).

Codifica los elementos básicos (notas, silencios, ritmos, etc.) en mensajes MIDI.

Cada instrumento tiene su propio código (hasta 127)

Un sintetizador interpreta los mensajes MIDI y produce la señal de audio correspondiente.

Ventaja:

Reduce mucho el ancho de banda necesario (factor de 1000 !!)

Inconvenientes:

Necesidad de un sintetizador en ambos extremos (calidad de sonido diferente).

Aplicable solo a música.

2

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad de una señal de audio.

Voz (telefonía) Se define para los servicios de telefonía digital.

Estándar G.711 (ITU): Codificación logarítmica.

Japón y USA: Transformación µ-law.

Resto: Transformación A-law. (+)

Parámetros:

Señal de audio de 3.5 KHz (BW).

Sf = 8 KHz

8 bits/muestra.

Tasa de bits: 64Kbps (N-ISDN).

Otras técnicas de codificación y compresión:

DPCM y ADPCM,

G.72x,

GSM,

LPC y CELP,

etc.2

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad de una señal de audio.

CD-Digital Audio. Calidad de audio superior: Sonido Hi-Fi estereofónico.

Utiliza una codificación lineal. Las diferencias de amplitud deben ser respetadas por igual.

Parámetros:

Señal de audio de 20 KHz (BW).

Sf = 41.1 KHz

16 bits/muestra.

Soporta estereofonía (dos canales)

Tasa de bits: 1.411 Mbps.

Otros estándares utilizan esta calidad de audio:

DAT (32.4 y 48 KHz),

MPEG (32, 44,1 y 48 KHz),

DVI,

etc.

3

0

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Parámetros específicos.

Tasa de bits (throughput): Audio sin comprimir:

Calidad telefónica: 64Kbps.

Calidad CD: 1.411 Mbps.

Audio comprimido:

Calidad telefónica: 32, 16, 4 Kbps (ADPCM, CELP)

Calidad CD: 192 Kbps. (MPEG audio)

Retardo de tránsito (aplicaciones interactivas)

Conversación:

Telefonía: < 25 ms (evitar echo).

100 a 500 ms (sensación de tiempo real).

3

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Parámetros específicos.

Varianza del retardo (jitter). Es el parámetro más crítico para los streams de audio.

Solución: Técnicas de ecualización del retardo.

– Se suministra un tiempo adicional antes de comenzar la reproducción, almacenando los paquetes en un buffer de entrada.

Consecuencias:

– Incrementamos el retardo total.

– Necesitamos recursos de memoria para el buffer de ecualización.

Compromiso entre la capacidad de almacenamiento y el máximo jitter tolerable por la aplicación.

Tasas de error:

Calidad telefónica: < 10-2, Calidad CD: < 10-3

3

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos de compresión (Voz)

Codificación diferencial:

DPCM (Differential Pulse Code Modulation).Explota la redundancia temporal entre las muestras.

Se transmite la diferencia

entre muestras (bastante

menor).

Problema: Sobrecarga de gradiente (slope overload)Las diferencias en altas

frec.(cercanas a Nyquist) no

se pueden representar con

el mismo número de bits.

33

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos de compresión (Voz)

3

4

Codificación diferencial adaptativa:

ADPCM (Adaptive Differential Pulse Code Modulation). Predice la muestra y cuantiza adaptativamente.

Predicción: Codifica la diferencia entre la muestra actual y una estimación basada en las últimas “n” muestras

Dequantizer

(adaptive)+

Predictor

module

Xp[n-1]

C[n] Xp[n]Dq[n]

Decodificador

Quantizer

(adaptive)

Dequantizer

(adaptive)

-

+Predictor

module

X[n]

Xp[n-1]

C[n]

Dq[n]

D[n]

Xp[n]

Codificador

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos de compresión (Voz)

3

5

Codificación diferencial adaptativa: ADPCM (Adaptive Differential Pulse Code Modulation).

Predice la muestra y cuantiza adaptativamente.

Cuantización adaptativa: Usa pasos más largos para codificar diferencias entre muestras muy distintas en magnitud (de alta frecuencia) y pasos más pequeños para muestras que son similares (bajas frecuencias).

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Una implementación de ADPCM

Algoritmo ADPCM (IMA: Interactive Multimedia Association) Algoritmo de dominio público. Calidad de audio e índice de

compresión aceptables.

Sencillo y capaz de trabajar en tiempo real (software).

Indice de compresión: (PCMbits/4) a 1.

3

6

Dequantizer

(adaptive)+

DelayXp[n-1]

C[n] Xp[n]Dq[n]

Decodificador

Quantizer

(adaptive)

Dequantizer

(adaptive)

-

+Delay

X[n]

Xp[n-1]

C[n]

Dq[n]

D[n]

Xp[n]

Codificador

Predictor

module

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad telefónica: Recomendaciones ITU

G.701: Digitalización PCM

G.711: Codificación logarítmica µ-law y A-law

G.721: ADPCM Muestreo a 8 Khz, muestras de 8 bits: 64 Kbps

Utiliza diferencias de 4 bits: tasa de bits final 32 Kbps

G.722: Sub-Band ADPCM. Muestreo a 16 Khz, muestras de 14 bits: 224 Kbps

Codifica señales de audio de hasta 7 KHz (por el muestreo)

Descompone la señal en dos bandas de 4 KHz.

A cada banda le aplica ADPCM.

Tasas de bits finales: 48, 56 y 64 Kbps.

G.723, G.726, G.727: Variantes del G.721 (ADPCM).

3

7

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad telefónica: Vo-coding

LPC (Linear Predictive Coding) US-FS-1015 Define un modelo analítico del aparato fonador

Reduce cada segmento de audio a los parámetros del modelo que más se aproximan al original.

El decodificador recoge estos parámetros y sintetiza la voz correspondiente.

LPC-10E puede bajar hasta 2.4 Kbps.

CELP (Code Excited Linear Prediction) US-FS-1016. Es una versión mejorada del LPC.

Diferencia:

Utiliza un code-book con secuencias predefinidas para aplicarlas a cada frame de audio, eligiendo aquella que más se aproxima al original. Además, calcula los errores cometidos.

Se envían los parámetros y la versión comprimida de los errores.

Tasa de bits de hasta 4.8 Kbps (calidad similar a ADPCM G.721 a 32 Kbps)

Variantes CELP: GSM, VSELP, LD-CELP, ITU G.729, QCELP, MELT, etc.

3

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad telefónica

Tabla resumen de algunos codecs de audio.

3

9

Año Tasa de bits

(Kbps)

Nombre MOS

1972 64 PCM (PSTN) 4.4

1976 2.4 LPC-10 2.7

1984 32 G.721 ADPCM 4.1

1990 4.15 INMARSAT 3.2

1991 13 GSM 3.6

1991 4.8 CELP (US 1016) 3.2

1992 16 G.728 (LD-CELP) 4

1992 8 VSELP 3.5

1993 1-8 QCELP 3.4

1995 8 G.729 4.2

1995 6.3 G.723.1 3.98

1995 5-6 Half-Rate GSM 3.4

1996 2.4 New LPC 3.3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Calidad CD

Estándares MPEG/audio (Estándar ISO)

MPEG (Moving Pictures Expert Group)

MPEG/audio ofrece altos índices de compresión, manteniendo la calidad del audio del stream original.

Son algoritmos de compresión con pérdidas*.

MPEG-1 /audio

Muestreos: 32, 44.1 y 48 KHz.

Soportan uno o dos canales (diferentes modos de operación).

Tasas de bits: 32 a 256 Kbps/canal.

Indices de compresión: 2.7 a 24.

MPEG-2 /audio

Compatibilidad hacia atrás con MPEG-1.

Diseñado para sistemas de sonido multicanal.4

0

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG-1 audio.

El stream comprimido puede incluir información auxiliar (acceso aleatorio, avance y retroceso rápido, CRC, etc.)

Arquitectura de tres nivelesMPEG-1 Nivel I:

El más sencillo. Tasa de bits 192 Kbps/canal. Aplicaciones: Philips DCC

MPEG-1 Nivel II:

Complejidad media. Tasa de bits 128 Kbps/canal. Aplicaciones: DAB, CD-I, Vídeo CD.

MPEG-1 Nivel III:

El más complejo. Ofrece la mejor calidad de audio con tasas de bits sobre 64 Kbps/canal. Está preparado para N-RDSI.

Existen codecs hardware de los tres niveles para aplicaciones de tiempo real.4

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG audio: Fundamentos.

Se basa en la capacidad de percepción que tiene el oído humano (modelos psico-acústicos) Enmascaramiento de señales débiles (noise masking):

4

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG audio: Fundamentos.

Discriminación frecuencial limitada.

La agudeza (selectividad) del oído humano en baja frecuencia es muy superior que en altas frecuencias (sub-band coding)

4

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG Audio: Diagrama de bloques

4

4

Time-Frec

Sub-band

filtering

Modelo

psico-acúst.

Asig. Bits.

Cuantizador

Codificador

Formato del

stream de bits

Datos auxiliares

(opcional)

PCM audioStream de bits

comprimido

Codificador

Stream de bits

comprimido

DesensambladoReconst.

de bandas

Transformación

Frec-Time

PCM audio

Datos auxiliares

(opcional)

Decodificador

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG-1 audio: Niveles.

Nivel I: Se divide la señal de audio en 32 bandas de 750 Hz.

Tasa de muestreo: 48 Khz. Tamaño de trama: 384 muestras

El umbral de enmascaramiento (SMR) se calcula con una FFT de 512 puntos (modelo psico-acústico).

Para cada sub-banda se escoge uno de los 15 cuantizadores definidos en función del SMR y la tasa de bits requerida.

Nivel II: Utiliza un tamaño de trama de 1152 muestras, una FFT de 1024

puntos (cálculo del SMR) y una cuantización más fina.

Nivel III: Incrementa la resolución en frecuencia de las 32 bandas (MDCT),

utiliza un modelo psico-acústico más elaborado, y añade una etapa de compresión Huffman.4

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG Audio: Calidad de audio

Parámetros de calidad objetivos: MSE (Mean Square Error).

Calcula el error cuadrático medio entre la señal original y la reconstruida con el codec.

SNR (Signal-to-Noise Ratio)

Relación logarítmica entre dos señales. Se utilizará para comparar la señal original con el error introducido por el codec.

Se expresa en decibelios (dB).

4

6

MSE

isN

dBSNR

N

i

1

2

10

1

log10)(

N

i

isisN

MSE1

21

MSEPSNR

2

10

255log10

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG Audio: Calidad de audio.

Parámetros de calidad subjetivos: MOS (Mean Opinion Score): MPEG define una serie de tests para

determinar la calidad de audio generada por cada nivel.

4

7

Resultados: Fuente:

Estéreo, 16bits, 48KHz, 256 Kbps

Compresión 6:1

En condiciones de escucha óptimas, expertos en audición han sido incapaces de distinguir secuencias comprimidas de sus originales.

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Introducción a la codificación de imágenes.

Las imágenes que percibimos están compuestas de ondas electromagnéticas (: 250nm - 780nm). A diferentes longitudes de onda, diferentes sensaciones de color.

El ojo es más sensible a unos colores que a otros. Dadas tres fuentes de luz de la misma intensidad y distinto color (una

roja, otra verde y otra azul), el ojo percibe la verde con el doble de intensidad que la roja, y seis veces más intensa que la azul.

Los mecanismos de percepción visual humanos son menos sensibles y estrictos que los auditivos. Ej.: Variaciones de frecuencia, supresión de imágenes, etc.

Mezclando 3 colores (RGB) podemos obtener otro.

Integra la información que recibe.

4

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura y digitalización de imagen I

Las imágenes digitales están compuestas de píxels (picture element).

Una cámara fotográfica digital utiliza un CCD (charge coupled device) para realizar el proceso de adquisición analógica. El CCD tiene una serie de pequeños diodos sensibles a la luz que convierten luz

en cargas eléctricas (o sea, fotones en electrones).

Cada diodo del CCD captura un píxel de la imagen a adquirir.

Para poder situar cada píxel de la imagen (luz entrante) en su diodo correspondiente del CCD se utiliza una lente.

50

Mediante la lente se puede conseguir también

realizar zoom óptico (no confundir con zoom

digital)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura y digitalización de imagen II

Problemática del color: Si el CCD captura la luz directa que recibe de la lente, sólo tenemos la

intensidad de luz, pero no su color.

Añadimos un filtro (R, G ó B) a cada píxel, de manera que algunos píxels reciben sólo la luz roja, otros la verde y otros la azul.

El número de píxels que reciben luz verde es el mismo que la suma de los que reciben luz roja y azul.

51

La información de color que no se ha obtenido en

cada píxel se interpola directamente de sus

vecinos, usando un DSP.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura y digitalización de imagen III

El CCD es un dispositivo analógico. Es necesario un conversor analógico digital (ADC)

que obtenga la representación digital de cada píxel a partir de la señal eléctrica generada por cada diodo.

Una cámara digital necesita un DSP para gestionar el funcionamiento de la cámara. Realiza el acceso y almacenamiento de fotos en

memoria, el proceso de compresión, la interpolación de los colores, gestión de menús, etc.

Uno de los más usados, el TMS320DSC24 de Texas Instruments, funciona a 80 Mhz y es utilizado por Kodak en sus productos.

52

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura y digitalización de imagen IV

Codificación y recodificación. Cada muestra RGB se codifica con una cantidad de bits por

componente de color (p.ej., 8 bits/componente→24 bits/muestra).

A veces resulta interesante codificar el nivel de brillo de una muestra (luminancia, o componente Y) y las diferencias de color (crominancias azul, roja y verde, o componentes Cb, Cr, Cg).

La conversión de RGB a YCbCr (YUV) se realiza mediante una matriz de conversión (aproximada):

Y = 0.3R + 0.6G + 0.1B (Nivel de brillo o luminancia)

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

5

3

La diferencia de color verde (Cg)

es redundante y no se almacena, ya

que se puede obtener a partir de la

Y, la Cb y la Cr.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura y digitalización de imagen V

Subsampling: El ojo es más sensible a la información de luminancia que de crominancia.

5

4

YCb

Cr

720

480

o

576

Y

720

480

o

576

CbCr

360

480

o

576

Formato 4:4:4

Y

720

480

o

576

Cb

Cr

360

240

o

288

Y

720

480

o

576

CbCr

180

480

o

576

Formato 4:2:0

Formato 4:2:2

Formato 4:1:1

Muestra Cr + Muestra Cb

Muestra Y

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Tipos de imagen (según su resolución)

La resolución de una imagen se mide según el número de píxels por lado (ancho x alto).

En cámaras digitales se suele medir en Megapixels (millones de píxels por imagen)

1) Common Intermediate Format (CIF) (352x288): Utilizado habitualmente en videoconferencia (junto con Quarter CIF)

2) VGA (640x480): Usado por cámaras de baja calidad.

3) n-Megapixels: Ofrecido por cámaras de mayor calidad.

A veces, la resolución real de una cámara digital no coincide con la del CCD de esa misma cámara. P.ej, una cámara de 3,3 MP ofrece una resolución de 2048x1536.

Parte de la circuitería del CCD que transporta los datos al ADC está situada en determinados diodos que no pueden ser usados.

5

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Compresión de imagen.

Una imagen suele presentar redundancia espacial: Redundancia espacial:

Las imágenes tienen información redundante susceptible de ser eliminada o reducida (por ejemplo, el color del cielo en una foto suele ser uniforme y azul :-).

El proceso de compresión de imagen consistirá en:

1) Eliminar en la medida de lo posible la redundancia espacial utilizando técnicas de source encoding (normalmente mediante transformada matemática).

2) Codificar los datos obtenidos en el paso anterior usando entropy enconding (elimina aun más la redundancia espacial).

Para conseguir mayores índices de compresión, este proceso será con pérdidas (cuantización de los datos).

56

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Redundancia espacial: JPEG

Es un estándar ISO („91) cuyo origen proviene del grupo JPEG (Joint Photographic Expert Group).

Codifica imágenes de tono-continuo

Dispone de cuatro modos de operación (incluyendo codificación sin perdidas).

Se definen una serie de parámetros que permiten codificar las imágenes para obtener una gran variedad de calidades de compresión.

Factor de compresión ronda 20:1*

Es un sistema de codificación simétrico.

Forma parte de otros estándares de compresión de secuencias de vídeo (MPEG y H.26*).

5

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG (pasos)

Codificación JPEG en modo secuencial con pérdidas

Paso 1: Preparación de la imagen. No define el formato de imagen original. Podría ser RGB, YUV,

YIQ, YCrCb, etc.

Convierte la imagen a formato YCbCr utilizando una reducción de color 4:1:1 (sub-sampling)

Ej.: RGB 640x480 (VGA): Y (640x480), Cb y Cr (320x240)

Se divide la imagen en bloques de 8x8 elementos

Ej. anterior: 4800 bloques Y, 1200 Cb y 1200 Cr.

5

9

Prep. de

bloquesDCT Cuantiz.

Tabla

Run

LengthHuffman

Tabla

Imagen

original (RGB)

Imagen

codificada

Codificación fuente Codificación entrópica

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Transformada DCT

Paso 2: Transformada discreta del coseno (DCT). Transforma un dominio de amplitudes al dominio de la frecuencia.

Las componentes frecuenciales más altas son susceptibles de ser eliminadas (percepción visual)

Se aplica esta transformada a cada bloque de 8x8 obteniendo la matriz de coeficientes DCT asociada Componente (0,0): el nivel de continua DC del bloque (Media)

6

0

Fx

Fy

Coeficiente

DCT

Transformada

DCTx

y

Amplitud

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Transformada DCT(II)

DCT-1D: (vector 8 elementos)

DCT-2D: (matriz 8x8 elementos)

6

1

7

0 16

)12(cos)(

2

)()(

x

uxxs

uCuS

7

0 16

)12(cos)(

2

)()(

u

uxuS

uCxs

2

1)( 0,u uCSi

1)( ,1 uCSi u

N

jy

N

ixyxpixeljCiC

NjiDCT

N

x

N

y 2

)12(cos

2

)12(cos),()()(

2

1),(

1

0

1

0

N

jy

N

ixjiDCTjCiC

Nyxpixel

N

i

N

j 2

)12(cos

2

)12(cos),()()(

2

1),(

1

0

1

0

Transformada

directa

Transformada

inversa

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Cuantificación

Paso 3: Cuantificación (quantization). Se eliminan los coeficientes menos representativos de la DCT

(transformación con pérdidas).

Cada coeficiente de la matriz 8x8 es dividido por un valor almacenado en una tabla (quantization table).

El estándar sugiere dos tablas una para la componente Y y otra para las componentes Cb y Cr.

Estas tablas se pueden escalar con otro parámetro Q que nos permitirá ajustar el índice de compresión requerido.

6

2

150 70 38 16 4 0 1 0

88 56 22 9 2 0 0 0

21 34 12 4 0 0 0 0

4 6 3 7 0 1 0 0

1 0 5 0 2 0 0 0

0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Coeficientes DCT

1 1 2 4 8 16 32 64

1 1 2 4 8 16 32 64

2 2 2 4 8 16 32 64

4 4 4 4 8 16 32 64

8 8 8 8 8 16 32 64

16 16 16 16 16 16 32 64

32 32 32 32 32 32 32 64

64 64 64 64 64 64 64 64

Tabla de

cuantificación150 70 19 4 0 0 0 0

88 56 11 8 0 0 0 0

10 17 6 1 0 0 0 0

1 1 1 2 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Coeficientes DCT

cuantificados

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Codificación entropía

Paso 4: Codificación DPCM de los componentes DC de cada bloque. Bloques sucesivos tienen un valor medio muy similar.

Paso 5: Codificación run-length de todos los componente de un bloque. Se hace un barrido “zig-zag” con el fin de agrupar todos los

componentes nulos.

6

3

150 70 19 4 0 0 0 0

88 56 11 8 0 0 0 0

10 17 6 1 0 0 0 0

1 1 1 2 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

150-70-88-10-56-19-4-11-17-1-0-1-6-8-0-0-0-1-1-0-0-0-0-0-2-..(39 0’s)

150-70-88-10-56-19-4-11-17-1-0-1-6-8-A0/3-A1/2-A0/5-2-A0/39

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Codificación entropía

Paso 6: Codificación estadística VLC: Huffman A lo obtenido en el paso anterior se aplica el algoritmo de Huffman

para comprimir aún más la información.

El resultado de este paso es lo que debemos enviar o almacenar.

La decodificación JPEG consiste en realizar el proceso inverso:

6

4

110001110011100010…..Huffman

decoderRun-lenght

decoder

Zig-zag

ordering

Inverse

Quantization

Inverse

DCT

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Ejemplo real (Quant)

6

5

40 44 47 40 40 55 79 75

44 52 40 47 40 48 67 79

52 55 36 67 63 62 52 72

68 45 56 60 52 55 36 60

62 48 56 48 40 36 47 62

47 67 40 55 55 40 36 62

36 56 23 67 62 44 49 47

48 55 36 55 52 47 47 36

411 -18 14 -8 24 -10 -14 -18

20 -34 27 -9 -11 11 14 7

-11 -23 -1 5 -19 4 -20 -2

-8 -5 14 -14 -8 -3 -3 9

-3 9 7 2 -10 17 18 16

3 -2 -17 8 7 -3 1 -8

8 1 -2 3 -2 -7 -1 -2

1 -8 -4 2 2 3 -7 2

DCT

Bloque de muestras (pixels) Bloque de muestras transformadas

102 -2 1 0 1 0 0 -1

2 -4 2 0 0 0 0 0

-1 -2 0 0 -1 0 -1 0

0 0 1 -1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 -1 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

39 49 38 47 45 55 70 76

50 49 38 46 45 57 65 72

54 46 43 55 54 60 53 60

58 47 50 59 55 57 43 55

64 52 51 54 45 48 41 60

56 52 51 55 44 45 42 55

43 50 47 58 51 49 43 42

42 50 40 53 50 51 48 39

IDCT

Bloque de muestras cuantizadasBloque recuperado de muestras

Quant

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Ejemplo real I (RLE+VLC)

6

6

102 -2 1 0 1 0 0 -1

2 -4 2 0 0 0 0 0

-1 -2 0 0 -1 0 -1 0

0 0 1 -1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 -1 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Bloque de muestras cuantizadas

Codificación RLE+VLC de los coeficientes cuantizados

Paso 1. Se codifica la DC usando codificación

diferencial DPCM • Si DC Bloque anterior es 98 → codificar 102-98

• Se codifica como:

Num. bits necesarios (tabla VLC) + codif + signo

• DC se codifica como: 101 100 0

Número de bits Código

0 100

1 00

2 01

5

6

7

8

9

10

11

1110

1111 0

1111 10

1111 110

1111 1110

1111 1111 0

1111 1111 1

Tabla para la DC

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Ejemplo real II (RLE+VLC)

6

7

Paso 2: Se codifica en zig-zag

pares <Run (cuenta de ceros),

coeficientes> Tabla para pares <Run, Niveles>

Run Nivel Código

EOB 10

0 1 11s

0 2 0100 s

0 3 0010 1s

0 4 0000 110s

0 5 0010 0110 s

1 1 011s

1 2 0001 10s

1 3 0010 0101 s

1 4 0000 0011 00s

2 1 0101 s

2 2 0000 100s

Escape 0000 01

102 -2 1 0 1 0 0 -1

2 -4 2 0 0 0 0 0

-1 -2 0 0 -1 0 -1 0

0 0 1 -1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 -1 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Bloque de muestras cuantizadas

Run (Num. De Ceros)

Valores

Código VLC

0 -2 0100 1

0 2 0100 0

0 -1 111

0 -4 0000 1101

0 1 110

1 2 0001 100

Parte del bloque codificado con VLC

Existe código de escape:

0000 01 RRRR RR NNNN NNNN

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Ejemplo real III (RLE+VLC)

6

8

102 -2 1 0 1 0 0 -1

2 -4 2 0 0 0 0 0

-1 -2 0 0 -1 0 -1 0

0 0 1 -1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 -1 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Bloque de muestras cuantizadas

Resultado final de la codificación RLE+VLC

Bloque codificado con VLC

Run (Num. De Ceros)

Valores

Código VLC

N/A 4 101 100 0

0 -2 0100 1

0 2 0100 0

0 -1 111

0 -4 0000 1101

0 1 110

1 2 0001 100

0 -2 0100 1

5 1 0001 110

3 1 0011 10

5 -1 0001 111

0 -1 111

2 -1 0101 1

4 -1 0011 01

7 -1 0001 001

EOB 10

Tasa de compresión:

Stream final: 1011000010010100011100001101 … 000100110 (85 bits)

Bits por píxel: (Núm bits/ Núm píxels) 85/64= 1’33 bpp

Factor de compresión:

Tam_comprimida:Tam_original= 85:(8*8*8)= 85:512

1:Tam_original/Tam_comprimida= (85/85):(512/85)= 1:6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación JPEG: Ejemplo real IV (Calidad)

6

9

Medida objetiva del error:

MSE (Mean Square Error)

Medida objetiva de la calidad:

PSNR (Peak SNR)

Valores del ejemplo:

MSE = 49’53

PSNR = 31’18 dB

40 44 47 40 40 55 79 75

44 52 40 47 40 48 67 79

52 55 36 67 63 62 52 72

68 45 56 60 52 55 36 60

62 48 56 48 40 36 47 62

47 67 40 55 55 40 36 62

36 56 23 67 62 44 49 47

48 55 36 55 52 47 47 36

Bloque de muestras (pixels)

39 49 38 47 45 55 70 76

50 49 38 46 45 57 65 72

54 46 43 55 54 60 53 60

58 47 50 59 55 57 43 55

64 52 51 54 45 48 41 60

56 52 51 55 44 45 42 55

43 50 47 58 51 49 43 42

42 50 40 53 50 51 48 39

Bloque recuperado de muestras

N

i

isisN

MSE1

21

MSEPSNR

2

10

255log10

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

JPEG escalado

Motivación

Fundamentos del JPEG escalado

Compatibilidad con JPEG estándar

Cuantificación variable

Resultados

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Motivación

Utilización de tamaño de bloque mayor: NxN.

Mayor compactación de energía pero mayor tiempo de cálculo.

Descartar coeficientes de alta frecuencia hasta quedarse con sólo una submatriz de 8x8.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Fundamentos del JPEG escalado

División de la imagen en bloques de NxN puntos conservando sólo los 8x8 primeros coeficientes.

Utilización de la DCT recortada de N a 8, modificada.

Utilización de nuevas matrices de cuantificación.

Elección de N=16.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

El proceso de codificación/decodificación JPEG escalado

Bloques de 16x16

Imagen

IDCT 16x168x8 a 16x16Descuanti-Decodifica.de entropía

Decodificador de JPEG escalado

Imagen

comprimida

ficador

IDCT 16x16 recortada

Bloques de 16x16

Imagen

Imagencomprimida

FDCT 16x16 16x16 a 8x8Cuantifi-

cador

Codificador

de entropía

Codificador de JPEG escalado

FDCT 16x16 recortada

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Original

Tasa 24 - 180K Compresión 78:1

Tasa 0.3 - 2.2K

JPEG estándar JPEG escalado

Ejemplo de compresión JPEG escalado

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Original

Tasa 24 - 180K Compresión 128:1

Tasa 0.18 - 1.4K

JPEG estándar JPEG escalado

Ejemplo de compresión JPEG escalado (continuación)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Compatibilidad con JPEG estándar

Aunque el bloque de imagen es de 16x16 el de coeficientes es de 8x8 puntos.

Los coeficientes obtenidos se escalan para que estén en el rango de los que se obtienen en una DCT de 8x8.

Las funciones básicas son similares.

Se incluye información de tamaño real de la imagen, mediante códigos definidos para extensiones.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Comparación de la DCT de 8 y 16 puntos

Funciones básicas de las DCT de 8 y 16 puntos

10

4 5 6 7

2 3

DCT n=8 DCT n=16

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Mezcla de formatos

Imagen Leída como Se obtiene

JPEG estándar

JPEG escalado

JPEG estándar

JPEG escalado

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Cuantificación variable

En el proceso de cuantificación se consigue la compresión a base de anular coeficientes

Para conseguir más ceros hay que incrementar los valores Qvu, lo que afecta a todos los bloques

S 0,0 S 0,1 S 0,7

S 1,0 S 1,1 S 1,7

S 7,0 S 7,1 S 7,7

Cuantificación

redondeo

S vu

Qvu

Sqvu

Sq0,0 Sq 0,1 Sq0,7

Sq1,0 Sq 1,1 Sq1,7

Sq7,0 Sq 7,1 Sq7,7

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Cuantificación variable: propuesta

Utilización de una función de cuantificación con umbral.

Clasificación de los bloques en categorías.

Utilización de un umbral distinto para cada categoría.

Sq vu

redondeo

S vu

Q vu

, si

S vu

Q vu> umbral

0, en otro caso

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Ejemplo de clasificación de bloques y asignación de umbrales

Zona 1:

Hasta 47 ceros

Umbral 1,0

Zona 3:

de 56 a 59 ceros

Umbral 2,5

Zona 4:

de 60 a 63 ceros

Umbral 1,0

Zona 2:

de 48 a 55 ceros

Umbral 1,5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Ejemplo de cuantificación adaptativa:detalle de la cara de Lena

Sin cuantificación

adaptativa

Con cuantificación

adaptativa

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Ejemplo de cuantificación adaptativa:detalle del sombrero de Lena

Sin cuantificación

adaptativaCon cuantificación

adaptativa

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Resultados

Detalle de la cara de Lena a 0.25 bpp

JPEG escalado con

cuantificación adaptativa

JPEG escaladoJPEG estándar

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Detalle de la cara de Lena a 0.15 bpp

JPEG escalado con

cuantificación adaptativa

JPEG escaladoJPEG estándar

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Relación Señal-Ruido para distintastasas de bits de la imagen Lena

Lena 512x512

20

21

22

23

24

25

26

27

28

29

30

0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5

Tasa de bits

SN

R'

estándar escalado adaptativo

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Relación Señal-Ruido para distintastasas de bits de la imagen Catedral

Catedral 899x1107 y 450x554(1:2)18

19

20

21

22

23

24

25

26

0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5

Tasa de bits

SN

R'

estándar escalado adaptativo

estándar (1:2) escalado (1:2) adaptativo (1:2)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Relación del SNR de las imágenes con JPEG escalado y adaptativo frente al estándar

0,98

1

1,02

1,04

1,06

1,08

1,1

0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5

Tasa de bits

SN

R' E

sc

ala

do

y A

da

pta

tiv

o / E

stá

nd

ar

Escalado

Adaptativo

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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)

9

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura de vídeo analógico

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.

9

2

Líneas de

barrido

1

3

5

7

9

483

Líneas de barrido mostradas

t

a

Lentes

Placa de

barrido

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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).

9

3

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 de

barrido

t

a

Divisor

Filtros

t

a

t

a

R

G

B

Cámara

Demod.

Conv.CRT

TV ColorR

G

B

Y+C

Filtro CRT

TV B&W

YY+C

G

B

R

Y

U

VC

ModuladorCodificador

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Captura de vídeo analógico III

Parámetros de barrido: Relación de aspecto (ancho:alto): 4:3

Existen 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).

9

4

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

9

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Digitalización

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

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

9

7

Línea

completa

Línea activa

720 muestreos

Tiempo

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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

9

8

RG

B

720

480

o

576

Y

720

480

o

576 CbCr

360

480

o

576

Subsampling 4:2:2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: RGB

9

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: YCbCr

1

0

0

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: Y Subsampling (I)

1

0

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: Y Subsampling x2 (II)

1

0

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: Y Subsampling x4 (III)

1

0

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: Y Subsampling x8 (IV)

1

0

4

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: CbCr Subsampling (V)

1

0

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: CbCr Subsampling x2 (VI)

1

0

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: CbCr Subsampling x4 (VII)

1

0

7

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Codificación: CbCr Subsampling x8 (VIII)

1

0

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Tipos de vídeo (según su calidad)

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-24

Relación de aspecto 16:9

Vídeo digital profesional (studio-quality). Estándar ITU-R (CCIR-601) de vídeo digital.

1

0

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Tipos de vídeo (según su calidad)

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) 352x288

La secuencia de cuadros/s se reduce entre 5 y 10.

1

1

0

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

1

1

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

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

1

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

1

3

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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 3D Só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.

1

1

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Redundancia temporal (MPEG-1)

Cuadros de referencia y cuadros auto-contenidos Si 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).

1

1

6

F1 F2 F3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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)

1

1

7

F1 F2

Macrobloques

idénticos

Vector de movimiento

Δx = -20, Δy = 0Cuadro de referencia

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

1

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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).

1

1

9

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!!

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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)

1

2

0

I B B P B B P B B I

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

2

1

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

2

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

2

4

1

0

1

0

,,,M

j

N

i

jiRjiCjiSAE

(*) Más conocido como SAD (Sum of Absolute Differences)

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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)

1

2

5

MNpMBO 3122

MBOMN

IJFFSO

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos: Three-Step Search.

Coste: Examina puntos

1.02 GOPS (p=15) ó 770 MOPS (p=7).1

2

6

1log8 2 p

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 3

3

3

3

3 31. 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.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos: Búsqueda logarítmica.

Coste: Examina 20 puntos

616 MOPS (p=7 y N=2).1

2

7

(-7,-7) (0,-7) (7,-7)

(-7,7) (0,7) (7,7)

1 1

1

1

1

2

2

2

3

3

4

4

5 5

5 55

5 5

5

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

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos: Búsqueda en cruz (Cross Search)

Coste: Examina puntos

523 MOPS (p=7).1

2

8

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 2

3

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 “+”.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos: OTS (One-at-a-Time Search)

Coste: Examina 12 puntos

369 MOP.1

2

9

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 X

3. 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

7

8

9

Puede dar lugar a mínimos locales !

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Algoritmos: Vecino más próximo.

Coste: Examina 12 puntos

369 MOP.1

3

0

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.

(-7,-7) (0,-7) (7,-7)

(-7,7) (0,7) (7,7)

0

1

1

1

1

1

2

2

23

3

Propuesto para H.263 y MPEG-4.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Estimació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.

1

3

1

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

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Estimació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...

1

3

2

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

3

4

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Relación entre los estándares MPEG.

1

3

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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, etc

MPEG-Software Coding (IS 11172-5)

Directrices para la codificación de los algoritmos.

Propósito de MPEG-1 Almacenamiento en CD-ROM de audio (calidad CD) y vídeo (calidad

VCR) sincronizado (1,5 Mbps).

1

3

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

3

7

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).

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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)

1

3

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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).

1

3

9

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

4

0

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.

1

4

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

MPEG-4

1

4

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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ándares

H.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 audio

H.261: Compresión de vídeo (conocido como px64).

1

4

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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:0

Tasa 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)

1

4

4

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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 macrobloque

Bú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).

1

4

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Estándar H.261.

1

4

6

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

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Otros estándares H.26x.

H.263: Mejora, amplía y sustituye el H.261 De 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 temporal

Predicción de los valores de los coeficientes de la DCT

H.264: Mejora la eficiencia en codificación DCT con enteros y tam. bloque 4x4, compensación de movimiento

con bloques de tamaño variable, etc.

1

4

7

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Otros estándares H.26x.

Comparación subjetiva MPEG-4 - H.264

1

4

8

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

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.)

1

4

9

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/

3- Codificación y difusión de información multimedia

Factores de diseño de un codec

Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc.

Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc.

Codificación y compresión de audio

Compresión de imagen. Redundancia espacial. Estándar JPEG

JPEG Escalado

Compresión de vídeo. Digitalización y Codificación de vídeo. Tipos de vídeo.

Redundancia temporal.

Estimación de movimiento: algoritmos.

Estándares: MPEG e ITU

Difusión de vídeo.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Introducción.

Desde el punto de vista de la red: Un stream de vídeo ha de ser “paquetizado” para su transporte.

La pérdida de paquetes implica una degradación de la calidad de vídeo que observa el destinatario.

Es por ello que resulte de interés el estudio de técnicas que protejan el vídeo en su viaje al destino y que los errores detectados puedan ser “ocultados” al usuario final Video resilience.

Desde el punto de vista del transporte de vídeo en sistemas y redes heterogéneos: Interoperabilidad de distintos codecs con bitstreams incompatibles en la

red heterogeneous transcoding.

Posibilidad de cambiar los parámetros de codificación (i.e. bitrate) de un mismo codec homogeneous transcoding.

Desde el punto de vista de la aplicación: Las redes (i.e. Internet) tienen un comportamiento muy variable e

impredecible en relación al ancho de banda disponible.

Por ello, con el fin de optimizar el uso de recursos disponibles en la red y maximizar la calidad de vídeo entregada al destinatario, se requieren mecanismos de control de flujo extremo-a-extremo.1

5

1

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Control de flujo.

Las técnicas de control de flujo deberán regular el bitrate de salida para conseguir la mejor relación calidad/productividad.

El control de flujo es una herramienta que al mismo tiempo nos permite prevenir situaciones de congestión en la red.

Para que un sistema de control de flujo funcione es necesario obtener de la red información acerca del ancho de banda disponible en cada momento (i.e. RTCP receiver

reports).

Existen diferentes formas de realizar un control de flujo:

Cuantización variable (Variable-quantization)

Resolución reducida (Reduced resolution)

Codificación multinivel (Multi-layer coding)

Etc..

1

5

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Variabilidad del bitrate.

Todos los estándares de compresión de vídeo producen de forma natural un bitstream con tasa de bits variable.

Se fija el valor de “Qp” para obtener una calidad constante.

Por contra, se puede variar el Qp (MB, GOB o Frame) para conseguir una tasa de bits constante a costa de una variabilidad en la calidad.

La variabilidad viene fijada por la actividad espacial y temporal de la secuencia de vídeo:

Un MB de un cuadro P, no se codifica si es muy similar al MB del cuadro de referencia. Dependiendo de la cantidad de movimiento en la escena, el número de MB que NO se codifican varía Variando también el

bitrate.

La correlación entre los pixels de un bloque de 8x8, dicta el número de bits necesario para codificar los 64 coeficientes resultantes de la transformada. Junto con el valor de Qp determinará el número de coeficiente nulos que aparecen y que posteriormente serán codificados con VLC en flujos bits de tamaño variable.

1

5

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Variabilidad del bitrate (II).

Parámetros de longitud fija y variable en un stream de vídeo H.263

La contribución de los parámetros de longitud variable en el bitrate final es mucho mayor que los de longitud fija, a pesar de ser menos.

Codes

Layers Variable length Fixed length

Picture Bit stuffing ESTUF, PSTUF Synchronization

Addresing

Quant. step size

Administrative

Spare

PSC(22), ECS(22)

TR(8), TRB(3)

PQUANT(5),DBQUANT(2)

PTYPE(13),CPM(1),PSBI(2)

PEI(1), PSPARE(8)

Group of Blocks

Bit Stuffing GSTUF Synchronization

Addresing

Administrative

Quant. step size

GBSC(17)

GN(5)

GSBI(2), GFID(2)

GQUANT(5)

Macroblock Administrative

Motion

MCBPC,MODB, CBPY

MVD, MVD2-4, MVDB

Administrative

Quant. step size

COD(1), CBPB(6)

DQUANT(2)

Block DCT Coefficients (except Intra DC terms)

TCOEFF DC terms of Intra DCT Coeff.

INTRADC(8)

154

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Tasa de bits constante.

Cuando al red ofrece un servicio de transporte de tipo CBR (i.e ATM), entonces podremos utilizar un control de flujo que proporcione una tasa de bits constante.

Es necesario incluir un buffer entre el encoder y la red para suavizar las fluctuaciones del bitrate.

Almacenar el video antes de enviarlo aumenta el retardo total, siendo no aconsejable para servicios de entrega de vídeo interactivo.

La técnica más común para controlar el flujo de salida del encoder es ajustar sus parámetros de configuración en función de la ocupación del buffer (feedback control).

Por otro lado, también podemos regular el flujo con información acerca de la actividad del frame actual (feed-forward).

1

5

5

Source

EncoderBuffe

r

Modify Encoder

Params.

Input

Picture

activity

Buffer

status

Output

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Ajuste de parámetros de codificación.

Al controlar de flujo de salida de un encoder se debe llegar a un compromiso entre la calidad y la tasa de compresión.

Cuando se trata de encoders basados en transformada por bloques, podemos jugar con varios parámetros: Tasa de cuadros (frame rate) Sólo usado cuando la calidad de

cada cuadro no puede degradarse.

Codificar sólo una parte del bloque de coeficientes (i.e. solo coeff. de baja frecuencia). El coeff. DC siempre debe estar presente.

Cuando la información del movimiento es más importante que el detalle espacial Mantener la tasa de cuadros y modificar el parámetro de cuantización Qp.

Incrementando Qp se obtendrán mas coeff. nulos, reduciendo los bits necesarios para codificar el bloque usando VLC

El ajuste de Qp se puede hacer a nivel de un cuadro, GOB o MB.

Umbral de detección de movimiento. Decide si un MB en un cuadro P es codificado o saltado (COD=1)

Si aumentamos el umbral el encoder se hace menos sensible al movimiento Pocos MB se codifican Reducimos la tasa de bits.

Umbral de codificación INTRA de un MB. Decide si un MB es codificado como INTRA (Mayor tasa de bits) o INTER.

1

5

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Cuantización variable.

El mecanismo de control de flujo más utilizado es: Ajuste del valor de Qp del siguiente cuadro, GOB o MB, basándose en la

ocupación actual del buffer (estado de la red).

Sin embargo, estos mecanismos ofrecen resultados no predecibles y/o fluctuaciones severas del bitrate: Los distintos umbrales de cuantización

(valores Qp) no afectan de forma linealal bitrate de salida

El contenido de vídeo puede afectar a lacantidad de bits necesarios para codificarun frame.

Para producir un bitrate estable es necesario emplear algoritmos más complejos, incorporando en muchos casos tanto feedback (buffer-based) como feed-forward control.

Un ejemplo: TM5 Rate control algorithm (MPEG-2, H.263, …) Buffer-based

http://www.mpeg.org/MPEG/MSSG/tm5/Overview.html1

5

7

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

TM5 rate control algorithm (I).

Mecanismo que controla el bitrate calculando de forma adaptativa el valor de Qp para cada MB.

Tres pasos: Paso 1: Estimación de la tasa de bits objetivo para el siguiente

cuadro.

Se realiza antes de codificar el cuadro

Estima de la complejidad global, X, del siguiente cuadro (I, P o B)donde S indica el número de bits requeridos para codificar el cuadro anterior, y Q es el valor de cuantización medio de todos los MBs

El número de bits para el siguiente cuadro, T, se calcula en base al número de bits disponible para el resto del GOP actual, R, y a la complejidad.

R se actualiza tras codificar cada frame (inicialmente R = 0)– Si es el primer cuadro de un GOP (INTRA o I-frame):

donde Np,b es el número de cuadros P y B que faltan por codificar en el GOP

– Sino (cuadros P y B)

bpibpibpi QSX ,,,,,,

RN

Rbp

FrameRate

bitrate ,

158

bpiSRR ,,

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

TM5 rate control algorithm (II).

Paso 2: Cálculo del valor Qp de referencia para todos los MBs del cuadro (rate control)

Esta basado en la idea de un buffer virtual. Antes de codificar el MBj

(j>= 1), se calcula el nivel de llenado del buffer virtual (del cuadro actual I, P o B).

d0 es el valor inicial de llenado del buffer

Bj es el número de bits generados al codificar los

MBs del cuadro hasta el MBj (incluido este)

dj es el valor de llenado del buffer al codificar el MBj

El valor final del buffer virtual (dji,p,b cuando j=MB_Cnt) se utiliza

como valor de llenado inicial para el siguiente cuadro del mismo tipo.

A continuación se calcula el valor de referencia del cuantizador Qj

para MBj:

Paso 3: Determinación del valor del cuantizador (mquantj) de MBj.

Cálculo de la actividad espacial de MBj:– Usando el valor de los pixels originales de los cuatro bloques de 8x8 de

luminancia (n=1..4) y los cuatro bloques de 8x8 de luminancia de los pixels organizados por campos (n=5..8)

MB_cnt

1,,

1

,,

0

,,

jTBdd

bpi

j

bpibpi

j

framerate

bitrate2

31

j

j

dQ

159

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

TM5 rate control algorithm (III).

Pkn son los valores de los pixels en el enésimo bloque de 8x8

Vblkn corresponde a la varianza de los pixels del enésimo bloque de 8x8

Actj es la actividad espacial del MBj

A continuación se normaliza la actividad espacial:

avg_act es el valor medio de actj en el último cuadro codificado (para el primer cuadro se asigna el valor de 400).

Por último, calcula el valor del cuantizador (mquantj) para MBj:

El valor de mquantj se recorta para que entre en el intervalo [1,31] y se utilice como valor de cuantización de MBj.

821 ,...,,min1 vblkvblkvblkact j

64

1

2P_mean

64

1

k

n

n

kn Pvblk

160

n

k

n

kn DCP

64

164

1P_mean

avg_act2

avg_act2N_act

j

j

jact

act

jjj Qmquant N_act

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Feed-forward rate control.

161

En feed-forward el parámetro de cuantificación se calcula en función de los bits necesarios para codificar el error de predicción del cuadro actual.

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Control de flujo: Resolución reducida.

Para aplicaciones donde se requieren bajas tasas de bits y no es suficiente con la cuantificación variable.

Submuestrear cada macrobloque de error antes de codificarlo y realizar la operación inversa (interpolando) en el decodificador.

1

6

2

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Control de flujo: Resolución reducida (2).

Ejemplo de decodificador H.263 con procesamiento de resolución reducida

1

6

3

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Control de flujo: Codificación multinivel.

El stream de salida esta formado por un número de codificaciones a distintos niveles de tasa de bits, cuadros por segundo y/o resolución.

Nivel Básico + Niveles de mejora.

Ejemplo H.261 con dos niveles sobre ATM (1992)

Básico a muy baja tasa de bits

Mejora diferencias con original

Ejemplo H.263 con dos niveles (1999)

Básico QCIF a f/s

Mejora CIF a 2 x f/s

MPEG-4 soporta multinivel

1

6

4

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Control de flujo: Codificación multinivel (2).

Ejemplo de MPEG-4, escalabilidad temporal, Qp=cte

1

6

5

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Protección y ocultación de errores.

Los datos de vídeo codificados son muy sensitivos a la pérdida de información y a los errores de bit del canal.

La calidad del video se degrada enormemente ante canales de altos BER a no ser que empleemos mecanismos de control de errores.

Las predicciones espacial y temporal de las secuencias de vídeo aumentan la vulnerabilidad.

Esquemas de gestión de errores deben situarse en codificador y decodificador

No es factible la retransmisión del vídeo erróneo debido a los requisitos de tiempo real

1

6

6

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Protección y ocultación de errores (2).

Técnicas de ocultación de errores.

Sólo interviene el decodificador en el control de errores. El codificador no añade redundancia.

El decodificador trata de aprovechar la información que ya tiene libre de errores de la secuencia de video ya recibida para realizar una recuperación aproximada.

1

6

7

(a) Sin ocultación

(b) Zero-MV

(c) MV del frame anterior

(d) MV del frame anterior que

mejor se mueve en la

dirección del MV perdido

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Protección y ocultación de errores (3).

Técnicas de protección de errores (en el codificador).

Inserción de códigos de corrección de errores. Normalmente se aplican a los códigos de longitud fija y se combinan con otras técnicas

Duplicación de los vectores de movimiento.

Refresco INTRA

Refresco INTRA adaptativo (AIR)

1

6

8AIR – Dos bloques INTRA en cada

cuadro

TECN

OLO

GÍA

S D

E R

ED

AVAN

ZAD

AS –

Mast

er

IC 2

010-2

011

Conclusiones.

Las técnicas de control de flujo nos permiten cambiar los parámetros de calidad para conseguir un bitrate deseado

Las secuencias de vídeo codificado son muy sensibles a los errores. Se pueden utilizar técnicas de ocultación de errores en el decodificador y codigos de redundancia y aumento de bloques intra en el codificador.

1

6

9