procesamiento digital de imágenespdi-fich.wdfiles.com/local--files/teorias/pdi_unidad_vib.pdf ·...

24
Procesamiento Digital de Imágenes Unidad VI (b): Compresión de imágenes con pérdidas Departamento de Informática - FICH Universidad Nacional del Litoral 20 de mayo de 2011 Unidad VI: Compresi´ on de im´ agenes II – p. 1/24

Upload: trannga

Post on 20-Sep-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Procesamiento Digital de Imágenes

Unidad VI (b): Compresión de imágenes con pérdidas

Departamento de Informática - FICHUniversidad Nacional del Litoral

20 de mayo de 2011

Unidad VI: Compresion de imagenes II – p. 1/24

Temas a desarrollar

b Introducción.b Métodos de compresión con pérdidas:

b Compresión en el dominio espacial.bc RLC con pérdidas.bc Codificación predictiva diferencial con pérdidas.

b Compresión en el dominio frecuencial.

Unidad VI: Compresion de imagenes II – p. 2/24

Métodos con pérdida de información

b Aumento de CR con técnicas que eliminan información psicovisual nosignificativa.

b Las técnicas actuales logran:b Con CR = 4..20: no existe diferencia con la imagen original.b Con CR de 50 ó más: degradación imperceptible o no molesta

(algunas técnicas solamente!).b Dominio de la compresión:

b Espacial: RLC con pérdida, codificación predictiva diferencial.b Frecuencial: codificación de la transformada.

Unidad VI: Compresion de imagenes II – p. 3/24

RLC con pérdida

Algoritmo de la ventana dinámica.b Permite que los valores dentro de las cadenas sean diferentes, variando

en el llamado rango dinámico de la ventana.b Rango inicial: fijado a priori.b Dinámico: los límites se varían a medida que se leen los grises de la

imagen.b Agregado de grises a la cadena hasta leer un valor fuera de la ventana.b Codificación final con dos valores: longitud de cadena y valor representa-

tivo de los grises de la cadena (p. ej., la media).

Unidad VI: Compresion de imagenes II – p. 4/24

RLC con pérdida

b Ejemplo con la secuencia: 80 82 81 79 78 83 85 86 87, con ancho deventana Av = 7.

b El primer valor es la referencia: R = 80.b Se definen los límites de la ventana con:

MIN = R− (Av −1) = 74 y MAX = R+(Av −1) = 86b Los valores siguientes, si caen en la ventana, ajustan el rango a la

intersección del nuevo rango con el anterior:Rango del 82: [76,88] =⇒ Rango ajustado: [76,86]Rango del 81: [75,87] =⇒ Rango ajustado: [76,86]Rango del 79: [73,85] =⇒ Rango ajustado: [76,85]Rango del 78: [72,84] =⇒ Rango ajustado: [76,84]Rango del 83: [77,89] =⇒ Rango ajustado: [77,84]

b El valor 85 está fuera del rango, por lo que se codifica la cadenaencontrada con:

Lv = 6 y m = (80+82+81+79+78+83)/6= 80b Descompresión: Lv valores aleatorios en el rango [m−Lv/2,m+Lv/2]

Unidad VI: Compresion de imagenes II – p. 5/24

RLC con pérdida

Ejemplo:

Unidad VI: Compresion de imagenes II – p. 6/24

RLC con pérdida

Ejemplo:

Unidad VI: Compresion de imagenes II – p. 7/24

Codificación predictiva diferencial

b Eliminación de redundancia interpíxel.b Caso SIN PERDIDAS:

Error de predicción:

en = fn − fn

b Caso CON PERDIDAS:b Se agrega un cuantificador que absorbe la señal de error y la

transforma en un rango de valores limitado.b El error cuantizado establece la calidad de la compresión y distorsión

asociada al predictor con pérdidas.

Unidad VI: Compresion de imagenes II – p. 8/24

Codificación predictiva diferencial

b Modelo del codificador:

La entrada al predictor tiene en cuenta la cuantización al ser función delas predicciones pasadas y el error cuantizado:

fn = en + fn

b Modelo del decodificador:

Unidad VI: Compresion de imagenes II – p. 9/24

Codificación predictiva diferencial

b Modulación Delta:

fn = α fn−1 y en =

{

+ξ en > 0

−ξ otro

con α: coeficiente de predicción (<= 1), ξ : constante positiva.

La salida en del cuantizador se representa por un bit, de manera que elcodificador utiliza códigos de longitud de palabra fija de un bit.

Unidad VI: Compresion de imagenes II – p. 10/24

Codificación predictiva diferencial

b Ejemplo: α = 1, ξ = 6.5.Secuencia {14,15,14,15,13,15,15,14,20,26,27,28,27,27,29,39,49,62,75,77,78,79,80,81,81,82,82}

Unidad VI: Compresion de imagenes II – p. 11/24

Codificación predictiva diferencial

b Fenómenos de la compresión (comunes también a otros métodos):b Si ξ es pequeño: sobrecarga de pendiente (no puede seguir las

diferencias grandes de grises). Produce desenfoque de bordes.Solución: aumentar el ξ .

b Si el ξ es grande y los grises tienen poca variación: ruido granular.Produce superficies granulares (ruido en regiones de gris constante).Solución: disminuir el ξ .

Unidad VI: Compresion de imagenes II – p. 12/24

Codificación predictiva diferencial

b Predictor óptimo: para fijar los parámetros del predictor se planteaminimizar el error cuadrático medio de predicción

E{

e2n

}

= E{

[

fn − fn]2}

= E

{[

fn −m

∑i=1

αi fn−i

]2}

b Compresión DPCM (modulación de código de pulso diferencial):

f (x,y) = 0.97 f (x,y−1)

f (x,y) = 0.5 f (x,y−1)+0.5 f (x−1,y)

f (x,y) = 0.75 f (x,y−1)+0.75 f (x−1,y)−0.5 f (x−1,y−1)

b Ampliamente difundido para compresión de audio e imágenes. Ej: enarchivos WAV se utiliza una versión adaptativa del predictor(ADPCM).

Unidad VI: Compresion de imagenes II – p. 13/24

Codificación predictiva diferencial

Ejemplo con cuantizador de diferente longitud:

Unidad VI: Compresion de imagenes II – p. 14/24

Codificación de la transformada

b Métodos que transforman el dominio de la imagen (reversiblemente), ycodifican una serie de coeficientes.

b Se intenta encontrar el mínimo número de coeficientes que concentren lamayor cantidad de energía.

b Para lograr altas tasas de compresión se cuantizan al mismo nivel, o sedescartan, los coeficientes con magnitud muy pequeña (distorsión en laimagen reconstruída).

b Esquema del proceso de codificación y decodificación:

Unidad VI: Compresion de imagenes II – p. 15/24

Selección de la transformada

b Transformada Discreta Coseno (DCT): dada una imagen f (x,y) de NxN sedefine como

C(u,v) = α(u)α(v)N−1

∑x=0

N−1

∑y=0

f (x,y)cos

[

(2x+1)uπ2N

]

cos

[

(2y+1)vπ2N

]

con u,v = 0,1, . . . ,N −1, y α(u) =

1N parau = 0

2N parau = 1,2, . . . ,N −1

La IDCT se define como:

f (x,y) =N−1

∑u=0

N−1

∑v=0

α(u)α(v)C(u,v)cos

[

(2x+1)uπ2N

]

cos

[

(2y+1)vπ2N

]

b Ventaja: g(u,v,x,y) = h(u,v,x,y) ⇒ beneficioso para una implementaciónhardware.

Unidad VI: Compresion de imagenes II – p. 16/24

Selección de la transformada

b Transformada real.b Imágenes base:

b Conjunto de imágenes base fijo para toda la imagen (funciones independi-entes de los datos de entrada).

Unidad VI: Compresion de imagenes II – p. 17/24

Selección de la transformada

b Representación gráfica de la DCT:

Unidad VI: Compresion de imagenes II – p. 18/24

Tamaño de la subimagen

b Factor importante que se elige para reducir la redundancia entresubimágenes adyacentes

b A medida que aumenta, se reduce la redundancia y aumenta el nivel decompresión, pero se incrementa también la complejidad computacional.

b Tamaños estándar: 8x8 y 16x16.

Unidad VI: Compresion de imagenes II – p. 19/24

Asignación de bits

b Después de transformar, la compresión se logra guardando sólo unafracción de los coeficientes obtenidos, mediante una función deenmascaramiento:

γ(u,v) =

{

1 si T (u,v) satisface el criterio de truncado

0 otro

b Los coeficientes que se almacenan se eligen por dos métodos:b Codificación zonal : se retienen los de máxima varianza.

Es el mismo conjunto para todas las subimágenes.b Codificación por umbral : se retienen los de mayor magnitud.

Conjunto diferente para cada subimagen.b Los coeficientes retenidos se cuantizan y codifican.b El proceso completo de truncado, cuantizado y codificación de los coefi-

cientes elegidos en la subimagen transformada se denomina asignaciónde bits.

Unidad VI: Compresion de imagenes II – p. 20/24

Asignación de bits

b Codificación zonal:1. Se calcula la varianza para cada coeficiente de los (N/n)2 bloques de

nxn.2. Se igualan a cero las k varianzas más pequeñas y se codifica.3. Reconstrucción: se obtiene la IDCT para cada bloque.

b Alternativamente al paso 2, se pueden reordenar las varianzas pormagnitud alrededor del origen, y ver el proceso como una máscara de 0’sy 1’s que se aplica sobre los coeficientes:

Unidad VI: Compresion de imagenes II – p. 21/24

Asignación de bits

b Codificación por umbral: en cada subimagen, los coeficientes de mayormagnitud se retienen.

b Técnica adaptativa, ya que varía la máscara que se aplica a cadasubimagen.

b Criterio de truncado:b Umbral global: es el mismo para todas las subimágenes. La razón de

compresión varía de imagen a imagen.b N-mayores: se varía el umbral en cada subimagen para retener N

coeficientes. La razón de compresión se conoce a priori.b Umbral variable en función de la localización del coeficiente en la

subimagen. Razón de compresión variable entre imágenes.

Unidad VI: Compresion de imagenes II – p. 22/24

Estándares de compresión

b Algoritmo del sistema base JPEG:1. Subdivisión de la imagen en bloques de 8x8, procesados a

continuación de izquierda a derecha y de arriba hacia abajo.

2. Desplazamiento de nivel restando 2(n−1), con n: número de bits decada píxel original. Ej: en 256 niveles de grises se resta 127 a cadapíxel.

3. Cálculo de la DCT.4. Cuantización de coeficientes.5. Reordenamiento de coeficientes.6. Codificación del coeficiente de brillo mediante DPCM con el brillo del

bloque anterior, y código Huffman.7. Codificación del resto de coeficientes con código Huffman.

Unidad VI: Compresion de imagenes II – p. 23/24

Fin de teoría

b Próxima teoría: seminario de aplicaciones.

Unidad VI: Compresion de imagenes II – p. 24/24