Codificación logarítmica: C alidad wavelet a precio de DPCM

39
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Jose Javier Garcia Aranda email: [email protected] Marina Gonzalez Casquete 22 Octubre 2013 Codificación logarítmica: Calidad wavelet a precio de DPCM Hiparco de Nicea

description

Jose Javier Garcia Aranda email: [email protected] Marina Gonzalez Casquete 22 Octubre 2013. Codificación logarítmica: C alidad wavelet a precio de DPCM. Hiparco de Nicea. Contexto: Videoxperience. Retos para un posible nuevo algoritmo. - PowerPoint PPT Presentation

Transcript of Codificación logarítmica: C alidad wavelet a precio de DPCM

Page 1: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

Jose Javier Garcia Aranda email: [email protected]

Marina Gonzalez Casquete

22 Octubre 2013

Codificación logarítmica: Calidad wavelet a precio de DPCM

Hiparco de Nicea

Page 2: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

2

Contexto: Videoxperience

Page 3: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

3

Retos para un posible nuevo algoritmo• No debe estar sujeto a patentes ( JPEG2000 y fractales

tienen patentes asociadas que limitan su difusión)• Mejorar el ratio de compresión de forma significativa sobre

algoritmos estándar basados en DCT ( JPEG), wavelets (JPEG2000) , fractales y otros (predictivos como WebP)

• Compresión mayor y con menor coste computacional que los más avanzados (como wavelets, la compresión fractal, la compresión basada en redes neuronales y/o el video H264)

• Permitir relacionar secuencias de imágenes con un bajo coste computacional, evitando así el tiempo invertido en el cálculo de vectores de movimiento (para vídeo)

Page 4: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

4

Agenda

3| color

1| Introducción y concepto de salto logarítmico

2| Relevancia perceptual, mallas y escalados

4| Video y Futuro

Page 5: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

5

La cantidad de información para el ojo humano es la variación logarítmica de la luz.

LHE: fundamento

Page 6: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

6

LHE: Logarithmical Hopping Encoding

2lefttop

ref

YYY

Yleft

Ytop

Yi

Un juego de saltos para cada Yref

hopnegativek

YY

hoppositivek

YY

Y kref

i

kref

i

i /1

1

/1

1

255

Page 7: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

7

LHE: Logarithmical Hopping Encoding

• LHE permite compresión estadística (huffman) de los hops, ya que los hops más pequeños aparecen un 90%

• Cuantos más tipos de hops, mas calidad , aunque también aumentan los bpp (Bit Per Pixel)

• Más de 8 tipos de hops + hop nulo no aportan significativamente más calidad

Page 8: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

8

Asignación de códigos a los hopsPuesto que un pixel se parece al anterior ( x-1) , el hop mas frecuente será el hop nulo

Redundancia H

Redundancia V

Puesto que un pixel se parece al anterior ( y-1) , el siguiente hop mas frecuente será el hop localizado en y-1

Al resto de hops les asignaremos códigos huffman de mayor a menor probabilidad de aparición. Para cualquier imagen, los mas probables son los mas pequeños de modo que la tabla huffman será estática

Estrategias mejores pendientes de ser inventadas

Page 9: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

9

Ejemplo 8 hops + hop nulo512x512

1.91 bpp

LHE 42.11 dB

JPEG 40.7dB

JPEG2000 42.7dB

complejidad

O(n)

nlog(n)

>nlog(n)

Page 10: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

10

Agenda

3| color

1| Introducción y concepto de salto logarítmico

2| Relevancia perceptual, mallas y escalados

4| Video y Futuro

Page 11: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

11

Relevancia perceptual • Bordes y detalles (suaves y marcados) pero no “pelo” ni “ruido” ni

“espuma”. La medida por tanto no puede ser la de la entropía

Page 12: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

12

Estrategia: escalar las zonas de baja relevancia perceptual

Page 13: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

13

Page 14: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

14

Macroblock 32x32

Macroblock 16x16

block 8x8 block 8x8 escalated to 4x4 (ratio 4:1) or 8x4 (ratio 2:1) or 4x8 (ratio 2:1)

macroblock 16x16 escalated to 8x4 or 4x8 (ratio 8:1) or 4x4 (ratio 16:1)

macroblock 32x32 escalated to 4x8 or 8x4 (ratio 32:1) or 4x4 (ratio 64:1)

Mallas: 3 niveles de escalado

Page 15: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

15

LHE : distintas calidades

Todo escalado a malla 2

Minima calidad Calidad media Máxima calidad

Algunos bloques escalados en malla 2, otros en malla 1 y otros

en malla 0, en función de su relevancia perceptual

Todos los bloques en malla cero y sin escalar

¿Se podria usar la informacion de mallas para elegir una estrategia de asignación de códigos a los hops más adecuada y así reducir más los bpp?

Es posible, aun son posibles muchas mejoras. LHE acaba de nacer

Page 16: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

16

3 Mallas y reconstrucción1. Asignacion de escalados según relevancia perceptual2. escalado y codificación de bloques escalados

3. Reconstrucción por interpolación

Page 17: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

17

Page 18: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

18

JPEG a 0.1 bpp: 21.9 dB LHE a 0.1 bpp : 27.4dB

LHE : comparativa con DCT

Page 19: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

19

LHE : comparativa con DCT

Page 20: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

20

DCT

LHE

LHE : comparativa con DCT

Page 21: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

21

Paralelización y performance

LHE parallel processing of NxN pixels in 2N-1 steps.

2lefttop

ref

YYY

Yleft

Ytop

Yi

Tiempos (ms)

Tiempos tomados de prototipo java experimental, no optimizado

Page 22: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

22

Agenda

3| Color en LHE

1| Introducción y concepto de salto logaritmico

2| Relevancia perceptual, mallas y escalados

4| Video y Futuro

Page 23: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

23

Modelo YUV (422 y 420)

YUV 420

Y1 Y2

Y5 Y6

U1

V1

U2

V2

Y3 Y4

Y7 Y8

Y1 Y2

Y5 Y6

Y3 Y4

Y7 Y8

U1

V3

U4

V2

U3

V1

U2

V4

YUV 422

crominanciaU[i]=128+(-147*red - 289*green + 436* blue)/1000; //funcion de crominanciaU

crominanciaV[i]=128+ (615*red – 515*green -100*blue)/1000; //funcion de crominanciaV

luminancia[i]=(red*299+ green*587 + blue*114)/1000;

Page 24: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

24

Modelo YUV (422 y 420) en LHE

YUV 420 YUV 422

Caracterización del color LisoAdmite escalados

Page 25: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

25

Modelo YUV 422 aplicado a LHE

0,96 BPP 0,32 BPP 0,37 BPP

Page 26: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

26

Modelo YUV 422 aplicado a LHE

1,65 BPP33,22 dB

Page 27: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

27

Modelo YUV 422 aplicado a LHE

Page 28: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

28

Modelo YUV 422 aplicado a LHE

Y: 0,18 BPPU: 0,05 BPPV: 0,058 BPP

0,388 BPP28,4 dB

Page 29: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

29

Modelo YUV 422 aplicado a LHE

Page 30: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

30

Agenda

3| Color en LHE

1| Introducción y concepto de salto logaritmico

2| Relevancia perceptual, mallas y escalados

4| Video y Futuro

Page 31: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

31

Video Encoding

network

Video Decoding

Entre que un jugador realiza una acción y ve sus efectos en la pantalla pasan al menos:

2 x latencia red + latencia encoder + latencia decoderComo norma general se aprecia que 60 ms de latencia de red (en el caso de 30-40vms de latencia de codificación/decodificación) es el límite para una experiencia de juego satisfactoria independientemente del tipo de juego

Game server 12

3

4 5 6

Cloud gaming:Latency composition

Page 32: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

32

La estimación de movimiento es un proceso con una alta complejidad de cálculo y a menudo representa 2/3 del coste computacional en la codificación de vídeo. Actualmente, muchas de las investigaciones dentro el campo de la codificación de vídeo se centran en buscar algoritmos que puedan realizar más eficientemente la estimación de movimiento.

Vectores de movimiento

En cloud gaming (o aplicaciones de video interactivo) solo va a haber frames I y frames P, no frames B. Por tanto los vectores se calculan sólo a partir del frame/s anteriores y no posteriores.

Page 33: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

33

Hops logarítmicos temporales (T-hops)

Las metricas sobre los T-Hops ahora no nos dicen cuanta relevancia tiene la información, sino cuánto ha cambiado la información

“Target frame”

“last frame”

Page 34: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

34

video codificado en T-hopsPodemos representar una secuencia de video con T-HOPS. Si el movimiento es brusco se pierden los detalles. Cuando se estabiliza empiezan a verse los detalles, pues los nuevos saltos mas pequeños van refinando en el tiempo la imagen

Page 35: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

35

Hops logarítmicos temporales (T-hops)

Page 36: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

36

Estimación LHE de Vectores

“caja 1”

Macrobloque 32x32

“caja 2”

“caja 1”

“caja 2”

Si la caja2 conserva el centro de gravedad de cada hop mas o menos en el mismo lugar relativo, es que el vector ha sido bien estimado y se puede usar para el siguiente fotograma. SI por el contrario se ha desplazado, actualizamos el vector para estimar el siguiente fotograma. Si ha cambiado mucho, lo despreciamos y asignamos V=0

Calculamos el centro de gravedad de los hops de cada tipo, al tiempo que estamos haciendo la codificacion de los T-hops

Last frame + T-hops = target frame + V1

2Last frame + V + T-hops’ = target frame + V’

v

Page 37: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

37

Estimación LHE de Vectores

Estimación correcta. Información resultante

nula

Estimación correcta. Presencia de información

en las areas “nuevas”

Estimación incorrecta en un bloque

Page 38: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

38

Video con LHE: conclusionesPodemos representar una secuencia de video con T-HOPS. Si el movimiento es brusco se pierden los detalles. Cuando se estabiliza empiezan a verse los detalles, pues los nuevos saltos mas pequeños van refinando en el tiempo la imagenLos T-HOPS tienen una altísima redundancia espacial, mayor aun que los Hops espaciales, por lo que son fácilmente compresibles con técnicas de escalado similares

Los T-HOPS permiten calcular vectores de movimiento sin apenas coste computacional, lo que permitiría tiempos de codificación cercanos al 1ms , con alta compresión

LHE, por lo tanto se presenta como una alternativa superior a DCT en calidad y computacionalmente y a la vez como una técnica de codificación de vídeo ultra rápida para aplicaciones de video interactivo (cloud gaming, videoconf…)

LHE necesita desarrollarse mucho más. Acaba de nacer y puede mejorar mucho tanto en imagen fija como en video, aplicando nuevas ideas que están por inventar, mejorando la asignación de códigos a los hops, robusteciendo el calculo de vectores, etc

[email protected]

[email protected]

Page 39: Codificación  logarítmica:  C alidad  wavelet a precio de DPCM

All Rights Reserved © Alcatel-Lucent 2010