Tema 6: Compresión de imagen

47
Tema 6: Compresión de imagen Lab. Procesado de Imagen, ETSI Telecomunicación

description

Tema 6: Compresión de imagen. Lab. Procesado de Imagen, ETSI Telecomunicación. Contenidos. 1.- Introducción Clasificación 2.- Codificación de pixel 3.- Cuantificación Escalar Vectorial Algoritmos de entrenamiento VQ 4.- Codificación de forma de onda Codificadores de resolución variable - PowerPoint PPT Presentation

Transcript of Tema 6: Compresión de imagen

Page 1: Tema 6: Compresión de imagen

Tema 6: Compresión de imagen

Lab. Procesado de Imagen, ETSI Telecomunicación

Page 2: Tema 6: Compresión de imagen

Contenidos

1.- Introducción– Clasificación

2.- Codificación de pixel3.- Cuantificación

– Escalar– Vectorial

• Algoritmos de entrenamiento VQ

4.- Codificación de forma de onda– Codificadores de resolución variable

5.- Codificación mediante transformada6.- Codificadores basados en modelos

Page 3: Tema 6: Compresión de imagen

1.- Introducción

El objetivo de la compresión

de imagen:

– Reducción del número de

bits que requieren para:

• Almacenamiento

• Transmisión

– A ser posible con la menor

pérdida de calidad

Page 4: Tema 6: Compresión de imagen

1.- Introducción (II)

Page 5: Tema 6: Compresión de imagen

1.- Introducción (III) La compresión de imagen puede tener tres etapas:

– Transformación de la imagen:• Se elimina información redundante

• Reducción de su rango dinámico

• La información debe compactarse en pocos coeficientes

– Cuantificación:• Reducción en la precisión de los coeficientes

• Implica siempre pérdida de calidad

– Codificación:• Se aumenta la compresión sin introducir pérdidas

• Se busca la codificación óptima con el menor número de bits

– Estas tres etapas están enormemente relacionadas

Page 6: Tema 6: Compresión de imagen

1.- Introducción. Clasificación (I) Tres grandes tipos de técnicas de compresión:

– De forma de onda:• La cuantificación se realiza directamente en los niveles de gris

• Se suele procesar los niveles de gris para eliminar correlación

– De transformada:• Se hace una transformación para eliminar la dependencia entre

pixels

• Los coeficientes se cuantifican escalarmente y se codifican

• La transformación representa un cambio de base

– Basados en modelo:• Se trata de modelar la generación de la imagen

• Lo que se cuantifica y codifica son los parámetros del modelo

• La imagen se divide en regiones homogéneas

• Se modela cada región de la imagen de forma independiente

Page 7: Tema 6: Compresión de imagen

1.- Introducción. Clasificación (II) Otra clasificación de las técnicas de compresión:

– Sin pérdidas:• La imagen original puede recuperarse de forma exacta

• No incluyen ninguna fase de cuantificación

• Suelen dar lugar a tasas de compresión pequeñas

– Con pérdidas:• Se realiza un procesado irreversible de la imagen

• Se emplea algún tipo de cuantificación

• Las tasas de compresión suelen ser grandes

– Visualmente sin pérdidas:• La imagen reconstruida es distinta de la original

• Las pérdidas de la imagen no son detectables por el ojo humano

• Las tasas de compresión toman valores intermedios

Page 8: Tema 6: Compresión de imagen

2.- Codificación de pixel (I)

Información asociada al símbolo i-ésimo (fuente de L símbolos)

Información media de la fuente: entropía de la fuente

(medida en bits/símbolo)

Entropía de fuente de mensajes equiprobables

ii pI 2log

L

iii ppIH

12log

LLL

HL

i2

12 log

1log

1

Page 9: Tema 6: Compresión de imagen

2.- Codificación de pixel (II) Código de longitud fija:

– L posibles valores ai, i=0,...,L-1

– El método más sencillo es un código de longitud fija

– Se representa cada nivel con n=log2 L bits

– El código corresponde al índice i en base 2 con n bitsa0 000a1 001a2 010a3 011a4 100a5 101a6 110a7 111

Page 10: Tema 6: Compresión de imagen

2.- Codificación de pixel (III) Código de longitud variable: código Huffman

– Aproxima la entropía: ii ppH 2log

Page 11: Tema 6: Compresión de imagen

3.- Cuantificación: escalar (I) Transformación de un conjunto de valores de entrada:

– Finito o infinito– Continuo o discreto

En un conjunto de valores de salida siempre:– Finito– Discreto

Se divide el rango de entrada en un número finito de intervalos

Se asigna a todos los valores de cada intervalo un valor representativo

El número de intervalos o niveles es L=2n

n es el número de bits asignados a cada nivel

Page 12: Tema 6: Compresión de imagen

3.- Cuantificación: escalar (II) Los intervalos y los valores representativos se deben

elegir para que minimicen la distorsión media

2)ˆ()ˆ,( yyEyydE

El cuantificador más sencillo es el uniforme:– Los intervalos son todos del mismo tamaño– El nivel de cuantificación está a mitad de cada intervalo– Es óptimo exclusivamente cuando la distribución de la

entrada es uniforme

Page 13: Tema 6: Compresión de imagen

3.- Cuantificación: escalar (III)

Page 14: Tema 6: Compresión de imagen

3.- Cuantificación: escalar (IV)

Si la distribución de los valores de entrada no es

uniforme: cuantificación no uniforme

Se utiliza la técnica de compansión. Varios pasos:

1.- Transformación no lineal:

• Uniformiza la estadística de la señal de entrada

2.- Cuantificación uniforme

3.- Transformación no lineal inversa

El efecto conjunto es asignar más niveles a los

valores más frecuentes

El ojo tiene características logarítmicas de intensidad

Es lógico que la transformación sea logarítmica

Page 15: Tema 6: Compresión de imagen

3.- Cuantificación: multiescalar

Agrupación de múltiples cuantificadores escalares

Cada cuantificador se diseña de forma diferente

Se suele utilizar tras una fase de transformación:

– Los coeficientes tienen características estadísticas distintas

– Esta variación suele ser función de la frecuencia espacial

– Se aplica una cuantificación diferente adaptada a cada caso

– Es la que vamos a ver en el caso del estándar JPEG.

Page 16: Tema 6: Compresión de imagen

x1

x2

x1

x2 fx(x1,x2)

fx1(x1)

fx2(x2)

3.- Cuantificación vectorial: Motivación

Page 17: Tema 6: Compresión de imagen

x1

x2

x1

x2 fx(x1,x2)

fx1(x1)

fx2(x2)

3.- Cuantificación vectorial: Motivación

Page 18: Tema 6: Compresión de imagen

3.- Cuantificación: vectorial (VQ) (I)

Se agrupan k muestras de la señal de entrada

En una imagen ello significa dividir a ésta en

subbloques de tamaño k pixels

En suma, se parte de vectores k-dimensionales

Y se debe particionar el espacio k-dimensional

Cada partición tiene un representante: centroide

La complejidad ahora aumenta:– Determinación de la partición

– Determinación de los representantes o centroides

Page 19: Tema 6: Compresión de imagen

Es la versión multidimensional de la escalar Las componentes de un vector:

Y=[y1,y2,...,yk]

se cuantifican de forma conjunta.

El espacio está dividido en regiones Ci

Cada región viene representada por su centroide:

ik2i1ii y,,y,yY Es un mapeo en uno de los NC centroides según:

ik21i C]y,,y,y[Y si YY

3.- Cuantificación: vectorial (VQ) (II)

Page 20: Tema 6: Compresión de imagen

Al conjunto de los NC centroides se denomina librería de

centroides

Lo codificado es el índice i del centroide

Con el índice el decodificador reconstruye el centroide

El tamaño de la librería es NC = 2b

Cada índice i se puede representar con b bits (o aplicar

Huffman sobre los índices)

La complejidad aumenta:

– Linealmente con el número de centroides NC

– Exponencialmente con la dimensión k (tamaño subbloques)

– Normalmente, la dimensión es k = 16 (subbloques 4 x 4)

3.- Cuantificación: vectorial (VQ) (III)

Page 21: Tema 6: Compresión de imagen

La distorsión introducida cobra importancia en:– La fase de entrenamiento:

• Se deben elegir los centroides para minimizar la distorsión en Ci

– En la fase de codificación:

• Para cada vector de entrada se elige el centroide con distorsión

mínima

La medida de distorsión es:

C1

2 N,1,i )ˆ(1

)ˆ,(

k

ninni yy

kYYd

Se pretende encontrar la partición que minimice esta

medida.

3.- Cuantificación: vectorial (VQ) (IV)

Page 22: Tema 6: Compresión de imagen

Es el elemento que diferencia los algoritmos VQ

No se emplean las distribuciones k-dimensionales

para determinar los centroides y particiones

Se emplean métodos de entrenamiento que usen el

criterio de mínima distorsión:

3.- Cuantificación. Algoritmos de entrenamiento VQ (I)

iYY

ij para todo )Yd(Y, )Yd(Y, Si ji

Page 23: Tema 6: Compresión de imagen

El algoritmo más clásico es el LBG:

– Se parte de un conjunto de centroides:

3.- Cuantificación. Algoritmos de entrenamiento VQ (II)

Ci N,1,i ),1n(Y)1n(ˆ Y

– Para cada vector del conjunto de entrenamiento Yt, t = 1,...,T

se elige el miembro más cercano obteniéndose la partición

óptima Cii N,,1i,)1n(YP(n)S – Se vuelven a calcular los centroides:

C)n(SY

ti

i N,1,i ,Y)n(t

1)n(Y

it

– ti es el número de vectores de entrenamiento de Si(n)

Page 24: Tema 6: Compresión de imagen

El criterio de parada viene dado por:

3.- Cuantificación. Algoritmos de entrenamiento VQ (III)

)n(D

)n(D)1n(D

D(n) es la distorsión media dada por:

T

1tt )n(D

T

1)n(D

Dt(n) es la distorsión de cada vector de entrenamiento:

T,1, t, )n(Y,Yd min)n(D itN,,1i

tC

Page 25: Tema 6: Compresión de imagen

El algoritmo garantiza llegar a un mínimo local de la

función de distorsión.

Es interesante ejecutar el algoritmo varias veces a

partir de diferentes puntos de partida (diferentes

posiciones de los centroides iniciales)

3.- Cuantificación. Algoritmos de entrenamiento VQ (IV)

Page 26: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 27: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 28: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 29: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 30: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 31: Tema 6: Compresión de imagen

3.- Cuantificación vectorial. LBG

Page 32: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (I)

Se codifica directamente los niveles de gris

Son métodos muy sencillos

Se puede utilizar en un rango muy amplio de señales:

– Voz

– Imagen

Las tasas de compresión suelen ser menores

Se emplea a continuación cuantificación escalar y

codificación de longitud fija

Page 33: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (II)

PCM:

– La forma más sencilla

– La imagen se pasa a través de un cuantificador

– Se puede mejorar utilizando un cuantificador no uniforme

Page 34: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (III) DM:

– En PCM no se explota la correlación entre pixels

– Se cuantifica con 2 niveles (1 bit) la diferencia entre dos

pixels consecutivos:

• El rango dinámico aumenta al doble

• La varianza disminuye considerablemente

– El parámetro del DM es el tamaño del escalón

– Dos tipos de errores:

• Error granular: para señales lentas

• Error de sobrecarga de pendiente: para señales rápidas

Page 35: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (IV)

Page 36: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (V) DPCM:

– Es un método predictivo que generaliza el método DM

– Se utiliza más de un pixel para predecir el actual

– Se utiliza más de un bit para cuantificar la diferencia

– Se elimina gran parte de la correlación existente entre pixels

– La señal error tiene una varianza mucho menor

– Los coeficientes del predictor se pueden mediante algún algoritmo

de optimización (aunque el JPEG parte de coeficientes fijos)

– El método se puede diseñar adaptativo: ADPCM

Page 37: Tema 6: Compresión de imagen

4.- Codificadores de forma de onda (VI)

Page 38: Tema 6: Compresión de imagen

4.- Codificadores de resolución variable (I) La imagen se regenera progresivamente

Codificación piramidal

– Se parte de una imagen a baja resolución S0

– Se generan sucesivamente versiones a mayor resolución

mediante interpolación

– Primero se codifica la imagen S0 a baja resolución

– Se calcula la imagen diferencia entre S0 interpolada un nivel y

la imagen original a ese nivel

– Se codifica la imagen diferencia

– Se procede con el siguiente nivel

Page 39: Tema 6: Compresión de imagen

So[m,n]

S1[m,n]

S2[m,n]],[],[],[

]2,2[],[

1 nmhnmSnmS

nmSnmS

kk

kk

],[],[ˆ

],[],[],[1

nmeQnme

nmenmSInmS

kk

kkk

Creación de la pirámide

Error de predicción

Información a transmitir: SJ[m,n] + ],[ˆ nmek

4.- Codificadores de resolución variable: Codificación piramidal

Page 40: Tema 6: Compresión de imagen

Plano de bits:

– A partir de una imagen con P bits se generan P imágenes de

1 bit

– Los planos MSB contienen la información estructural

– Los planos LSB son más ruidosos y contienen menos

información pero no se pueden eliminar

– Se transmiten los planos de más a menos significativo

– Cada plano de bit hay que codificarlo por separado

– Se puede utilizar el método RLE y después Huffman

– Es un método sin pérdidas si se transmiten los P planos

4.- Codificadores de resolución variable. Plano de bits

Page 41: Tema 6: Compresión de imagen

4.- Codificadores de resolución variable. Plano de bits (II)

Page 42: Tema 6: Compresión de imagen

4.- Codificadores de resolución variable. Plano de bits (II)

Page 43: Tema 6: Compresión de imagen

5.- Codificadores de transformada (I) Se pretende alterar la distribución de los valores

Se logra independencia

Muchos coeficientes toman un valor muy pequeño

La transformación se realiza sobre bloques de la

imagen 8 x 8 ó 16 x 16

Es un cambio de base de forma que se tengan:

– Pocas componentes con valor grande

– Muchas componentes con valor muy pequeño

Page 44: Tema 6: Compresión de imagen

5.- Codificadores de transformada (II) y[n1,n2] se representa en la base a*

k1,k2 [n1,n2]

Transformada unitaria con coeficientes TU[k1,k2]:

]n,n[a]n,n[y]k,k[TU 21k,k

1N

0n

1N

0n2121 21

1 2

]n,n[a ]k,k[TU]n,n[y 21*

k,k

1N

0k

1N

0k2121 21

1 2

'22

'11

'22

'11

21*

k,k

1N

0n

1N

0n21k,k

kk y kk si1

kk o kk si0]n,n[a ]n,n[a '

2'1

1 2

21

T]A][Y][A[]TU[

Page 45: Tema 6: Compresión de imagen

5.- Codificadores de transformada (III) DFT:

N

nk2jexp

N

nk2jexp

N

1]n,n[a 2211

21k,k 21

DCT:

N2

)1n2(kcos

N2

)1n2(kcos

N

2]n,n[a 2211

21k,k 21

WHT:

11

11

2

1]WHT[ 1

1111

1111

1111

1111

2

1]WHT[ 2

Page 46: Tema 6: Compresión de imagen

6.- Codificadores basados en modelos (I) La imagen o una parte de esta se representa con un

modelo

Se codifican los parámetros del modelo

La tasa binaria es muy pequeña

En fase de desarrollo

Necesaria una segmentación previa de la imagen

Se utilizan para cada región:

– Modelos de texturas: determinísticos y campos aleatorios

– Modelos de contornos

Page 47: Tema 6: Compresión de imagen

6.- Codificadores basados en modelos (II)