Tema 6: Compresión de imagen
Lab. Procesado de Imagen, ETSI Telecomunicación
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
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
1.- Introducción (II)
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
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
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
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
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
2.- Codificación de pixel (III) Código de longitud variable: código Huffman
– Aproxima la entropía: ii ppH 2log
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
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
3.- Cuantificación: escalar (III)
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
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.
x1
x2
x1
x2 fx(x1,x2)
fx1(x1)
fx2(x2)
3.- Cuantificación vectorial: Motivación
x1
x2
x1
x2 fx(x1,x2)
fx1(x1)
fx2(x2)
3.- Cuantificación vectorial: Motivación
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
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)
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)
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)
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
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)
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
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)
3.- Cuantificación vectorial. LBG
3.- Cuantificación vectorial. LBG
3.- Cuantificación vectorial. LBG
3.- Cuantificación vectorial. LBG
3.- Cuantificación vectorial. LBG
3.- Cuantificación vectorial. LBG
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
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
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
4.- Codificadores de forma de onda (IV)
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
4.- Codificadores de forma de onda (VI)
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
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
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
4.- Codificadores de resolución variable. Plano de bits (II)
4.- Codificadores de resolución variable. Plano de bits (II)
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
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[
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
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
6.- Codificadores basados en modelos (II)
Top Related