1 / 73

Resumen.

Resumen. 1. Introducción. 2. Características de la imagen. 2.1 Captura y digitalización de imagen. 2.2 Tipos de imagen (según su resolución) 3. Compresión de imagen. Redundancia espacial. 3.1 Estándar JPEG 3.2 JPEG Escalado 3.2 Wavelets EZW JPEG 2000 LTW 4. Conclusiones.

ping
Download Presentation

Resumen.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resumen. 1. Introducción. 2. Características de la imagen. 2.1 Captura y digitalización de imagen. 2.2 Tipos de imagen (según su resolución) 3. Compresión de imagen. Redundancia espacial. 3.1 Estándar JPEG 3.2 JPEG Escalado 3.2 Wavelets EZW JPEG 2000 LTW 4. Conclusiones.

  2. 3.2 Redundancia espacial: Wavelets (DWT). • Discrete Wavelet Transform (DWT): Se basa en un conjunto de funciones básicas que se derivan de una función prototipo (“madre”). • Estas funciones son escalados y desplazamientos de la función prototipo. • Permiten analizar regiones de la señal con diferente detalle (resolución). • Analiza de forma independiente las bajas y altas frecuencias de la señal (realmente actúa como un filtro). • Problemas con la DCT • Efectos de borde en los bloques • Base ortonormal fija (cosenos a distinta frec)

  3. DWT (T) Q Cod. Coef.Q. P C=T(P) C q =Q(C) Transmisión / Almac. bitstream IDWT (T -1) Q -1 Dec. Coef.Q. P’=T -1(C’) C’=Q -1(C q) C q 1ª parte del compresor 2ª parte del compresor Esquema general de un codificador basado en DWT.

  4. Análisis Síntesis Paso bajo 2  2  S S 2  2  Paso alto Implementación descomposición 1DWavelet : filtros. • Dos funciones: • Función generadora del espacio wavelet () • Función de escalado () que define la señal en el espacio original a distintas escalas • Esquema general de la 1D FWT y la 1D IWT calculada con filtros

  5. s0 s1 s2 … sn-2 sn-1 sn sn+1 sn+2 … sm-2 sm-1 sm + Implementación descomposición 1DWavelet : filtros. El esquema Filter-Bank • Aplicación del filtro paso bajo a una componente n, utilizando un filtro con cinco taps rn/2 donde i = n/2

  6. s0 s1 s2 … sn-2 sn-1 sn sn+1 sn+2 … sm-2 sm-1 sm + Implementación descomposición 1DWavelet : filtros. El esquema Filter-Bank • Aplicación del filtro paso bajo a una componente n+2, utilizando un filtro con cinco taps r(n/2)+1 donde i = n/2

  7. s0 s1 s2 … sn-2 sn-1 sn sn+1 sn+2 … sm-2 sm-1 sm + Implementación descomposición 1DWavelet : filtros. El esquema Filter-Bank • Aplicación del filtro paso bajo a la última componente, utilizando un filtro con cinco taps ? ? Tanto en el inicio de la señal como en el final no disponemos de suficientes elementos para tratar la señal de la misma forma que el resto de elementos

  8. s1 s2 … sn-2 sn-1 sn sn+1 sn+2 … sm-2 sm-1 sm + Implementación descomposición 1DWavelet : filtros. El esquema Filter-Bank • Aplicación del filtro paso bajo a la última componente, utilizando un filtro con cinco taps s2 s1 s0 sm-1 sm-2 rm/2 Aplicamos extensión simétrica

  9. ancho s2 s1 s0 s1 s2 … sn-2 sn-1 sn sn+1 sn+2 … sm-2 sm-1 sm sm-1 sm-2 r0 d0 d1 r1 … … d(m/2)-1 r(m/2)-1 rm/2 dm/2 Implementación descomposición 1DWavelet : filtros. El esquema Filter-Bank • Aplicación del esquema Filter-Bank directo sobre una señal 1-D filtro paso alto filtro paso bajo ancho / 2 ancho / 2 Se puede volver a aplicar la WT

  10. Aplicación de varios niveles de descomposición (I) s

  11. Aplicación de varios niveles de descomposición (II) d1 r1

  12. Aplicaciónde varios nivelesde descomposición (III) r2 d2 d1

  13. Aplicaciónde varios nivelesde descomposición (IV) d3 d2 r3 d1

  14.  3 -5 2 6 -1 4 4 -2 1.5 -2.5 4 -2 + +  - s1= s= s2= + - -    Descomposición Wavelet: ejemplo Haar Wavelet. • Filtros: • Filtro paso bajo (), H={h0,h1}={0.5, 0.5} • Filtro paso alto (), G={g0,g1}= {0.5, -0,5} Versión ortogonal de la Haar Wavelet

  15. Una familia de wavelets: Haar wavelet I

  16. Una familia de wavelets: Haar wavelet II

  17. n: Escala k: Desplazamiento Una familia de wavelets: Haar wavelet III

  18. Otras wavelets • El filtro más utilizado para compresión de imagen es el Bi-ortogonal(9,7)

  19. Aplicación de wavelets sobre imágenes I (2D) Imagen

  20. Low High Aplicación de wavelets sobre imágenes II (2D) • Esquema Filter-Bank sobre una señal 2-D: • Aplicar 1-D sobre filas

  21. LL HL LL -> Subbanda de baja frecuencia LH, HL y HH -> Subbandas de alta frecuencia HH LH Aplicación de wavelets sobre imágenes III (2D) • Esquema Filter-Bank sobre una señal 2-D: • Aplicar 1-D sobre columnas

  22. Aplicación de wavelets sobre imágenes IV (2D) • Esquema Filter-Bank sobre una señal 2-D: • Segundo nivel de descomposición

  23. Mayor parte de la energía en subbanda LL LL2 HL2 LL1 HL1 HL1 LH2 HH2 LH1 LH1 HH1 HH1 Aplicación de wavelets sobre imágenes V (2D) • Aplicar la 1D DWT primero por filas y luego por columnas

  24. Aplicación sobre imágenes, ejemplo I

  25. Aplicación sobre imágenes, ejemplo II

  26. Aplicación sobre imágenes, ejemplo III

  27. Aplicación sobre imágenes, ejemplo IV

  28. K1 K0 Implementación descomposición 1DWavelet : lifting. • Sucesivos pasos de predicción y actualización • Ventajas del cálculo por lifting: • Asintóticamente es el doble de rápido • Permite cálculo in-situ (ahorro de memoria / desordenados) • Transformada inversa fácil de calcular (sentido inverso) • Permite cálculo con enteros sin pérdidas (redondeo)

  29. PN(z) U1(z) P1(z) UN(z) Implementación descomposición 1DWavelet : lifting. El esquema Lifting • Transformada general del esquema Lifting {si1} {siN} {si0} K0 Transformada Lazy Salida paso bajo + + {xi} ,   Salida paso alto {di0} {di1} {diN} K1

  30. Algoritmos basados en línea para la 2D DWT • Principales inconvenientes de la DWT para imágenes: • Requiere la imagen entera en memoria • Afecta dispositivos de memoria limitada como PDAs, cámaras, etc. • Problema en general para imágenes grandes (GIS) • Pobre aprovechamiento de la caché (accesos múltiples) • Propuestas iniciales para reducir memoria • Dividir la imagen en trozos más reducidos (tiling en JPEG2K) • Reaparecen los efectos de borde en los bloques • Menor eficiencia: no se elimina correlación de toda la imagen • Algoritmos basados en líneas (line based) “Deshacerse de los coeficientes wavelets tan pronto como sea posible”

  31. Buffer de primer nivel Algoritmos basados en línea para la 2D DWT • Primer nivel de descomposición: • Entrada: líneas de la imagen • Se calcula la transformada 1D de cada línea y se almacenan en un buffer (tamaño 2N+1) • Cuando el buffer está lleno aplicamos un paso de transformada por columnas (primero filtro paso alto, luego filtro paso bajo) • Se obtiene una línea de cada subbanda wavelet y una línea de la subbanda LL1 LL1 ancho/2 HL1 2N+1 HH1 LH1 ancho línea de la imagen (LL0 )

  32. Buffer de primer nivel Algoritmos basados en línea para la 2D DWT • Primer nivel de descomposición: • Las líneas HL1, HH1, LH1 son parte del resultado final (almacenar, comprimir, etc.) • La línea LL1 es entrada del siguiente nivel • Continúa el cálculo a este nivel: • se desplaza el buffer dos veces (se descartan las dos líneas superiores y se introducen dos nuevas líneas de la imagen) • se repite el mismo proceso LL1 ancho/2 HL1 2N+1 HH1 LH1 ancho línea de la imagen (LL0 )

  33. Buffer de primer nivel Algoritmos basados en línea para la 2D DWT • Segundo nivel de descomposición: • Entrada: líneas LL1 del primer nivel • Se repite el mismo proceso que en el nivel anterior ancho/4 LL2 Buffer de segundo nivel ancho/2 LL1 ancho/2 HL1 2N+1 HH1 LH1 ancho línea de la imagen (LL0 )

  34. Uso de memoria • Algoritmo line-based (asintótico, cuando nlevel tiende a infinito) “Dos veces el ancho del primer buffer” vs • Algoritmo normal “Ancho de imagen × alto de imagen” Buffer de primer nivel Algoritmos basados en línea para la 2D DWT • Nivel n-ésimo de descomposición: • El esquema se repite hasta alcanzar el nivel n-ésimo de descomposición deseado nlevel LLnlevel ancho/2nlevel-1 … ancho/4 LL2 Buffer de segundo nivel ancho/2 LL1 ancho/2 HL1 2N+1 HH1 LH1 ancho línea de la imagen (LL0 )

  35. Resumen. 1. Introducción. 2. Características de la imagen. 2.1 Captura y digitalización de imagen. 2.2 Tipos de imagen (según su resolución) 3. Compresión de imagen. Redundancia espacial. 3.1 Estándar JPEG 3.2 Wavelets EZW JPEG 2000 LTW 4. Conclusiones.

  36. Wavelets: Cuantización y codificación. • Una vez descompuesta la imagen en sub-bandas, se procede a cuantificar los coeficientes wavelets. • La mayor parte de la energía está concentrada en las bandas de menor frecuencia. • Existe una relación clara entre los coeficientes de la misma posición espacial en las diferentes bandas (ver imagen ejemplo). • Algoritmos propuestos: • Embedded Zero-tree Wavelet (EZW) • Set Partitioning In Hierarchical Trees (SPIHT) • Set Partitioning Embedded Block (SPECK) • Embedded block coding with Opt. Truncation (EBCOT) (JP2K) • Lower-Tree Wavelet(LTW)

  37. Wavelets: Algoritmo EZW. • Basado en la definición de árboles de coeficientes • Hay coeficientes en diferentes subbandas que representan la misma posición espacial en la imagen. • En imágenes naturales, la mayor parte de energía se centra en las bandas de menor frecuencia. • Cuanto más cerca del nodo raíz está un coeficiente, mayor magnitud tiene • Si un nodo es menor que un umbral, posiblemente sus descendientes también lo serán. • El algoritmo realiza aproximaciones sucesivas (planos de bits) con dos pasos por plano • Utiliza un codificador aritmético • 4 símbolos: sp, sn, zr, iz

  38. Wavelets: Algoritmo EZW. • INICIALIZACION: • n: número de bits necesarios para codificar el mayor coeficiente. • PASO DOMINANTE (se almacena el mapa para localizar coeficientes) • 1) Los coeficientes que necesitan exactamente n bits para ser codificados se etiquetan como significantes (positivo sp o negativo sn), se añaden a una lista de significantes y ya no se procesan en otros pasos dominantes. • 2) El resto de coeficientes (que necesitan menos de n bits): • Si todos sus descendientes también necesitan menos de n bits, se etiqueta todo el árbol como raíz de un árbol de ceros (zr) • Sino, se etiqueta ese coeficiente como cero aislado (iz) • PASO SUBORDINADO (se almacenan los bits de los coeficientes) • Se codifica el bit n de los coeficientes de la lista de significantes • Si no se ha alcanzado la tasa de bits deseada (embedded): • Se decrementa n en uno (vamos al siguiente bit de menor peso) • Procedemos a realizar una nueva iteración (pasos dominante y subordinado)

  39. Símbolos = {sp,zr,zr,zr} Bits={} Lista signif = {} Símbolos = {sp,zr,zr,zr, sp,sn,iz, zr,zr,zr,zr, sp,zr,zr,zr, sp,zr,zr,zr} Bits={0} Lista signif = {1011} 11 4 -1 2 -6 3 2 1 4 2 7 1 3 0 2 2 1011 0100 0001 0010 0110 0011 0010 0001 0100 0010 0111 0001 0011 0000 0010 0010 * 0100 0001 0010 0110 0011 0010 0001 0100 0010 0111 0001 0011 0000 0010 0010 11 -6 -1 2 2 4 3 0 1 2 2 3 2 1 4 7 3 2 Wavelets: Algoritmo EZW. Ejemplo I

  40. 11 4 -1 2 -6 3 2 1 4 2 7 1 3 0 2 2 * *0001 0010 * 0011 0010 0001 * 0010 * 0001 0011 0000 0010 0010 11 -1 -6 7 2 4 3 0 1 3 2 2 1 4 2 2 Símbolos = {sp,zr,zr,zr, sp,sn,iz, zr,zr,zr,zr, sp,zr,zr,zr, sp,zr,zr,zr, sp, zr,sp,sp,zr, sp,sp,zr, zr,sp,sp} Bits={0, 1, 0, 1, 0, 1} Lista signif = { 1011, 0100, 0110, 0100, 0111 } 1 Wavelets: Algoritmo EZW. Ejemplo II

  41. 11 4 -1 2 -6 3 2 1 4 2 7 1 3 0 2 2 11 -1 -6 4 1 2 4 3 0 7 2 3 2 2 2 1 Wavelets: Algoritmo EZW. • ¿Cuándo dejamos de codificar? • Cuando terminamos con la cuota de bits • Varias opciones a la hora de que el decodificador complete los bits no transmitidos: • Relleno de ceros (p.ej 101xxx  101000) • Relleno de unos (p.ej 101xxx  101111) • Reducir el intervalo de error (p.ej 101xxx  101100)

  42. Resumen. 1. Introducción. 2. Características de la imagen. 2.1 Captura y digitalización de imagen. 2.2 Tipos de imagen (según su resolución) 3. Compresión de imagen. Redundancia espacial. 3.1 Estándar JPEG 3.2 Wavelets EZW JPEG 2000 LTW 4. Conclusiones.

  43. 3.2 Redundancia espacial: JPEG 2000. • Estándar ISO/ITU (‘01) que amplía y mejora el anterior JPEG. • Mejora la compresión  usa transformada Wavelet • Hay versión con pérdidas y sin pérdidas. • Permite multiresolución (gracias al análisis Wavelet). • Permite dividir la imagen en bloques de cualquier tamaño (no solo 8x8) (incluso un único bloque) • Permite codificar Regiones de Interés (ROI) • Es más robusto frente a errores.

  44. JPEG 2000: Motivación • Inconvenientes del EZW: • Debido a las estructuras de árboles, los errores se propagan de unas subbandas a otras → Menor robustez frente a errores. • Debido a la codificación progresiva por planos de bits, no hay escalabilidad espacial (sólo de calidad  SNR). • JPEG 2000 corrige estos inconvenientes: • Codifica las distintas subbandas por bloques y de forma independiente, sin utilizar árboles (algoritmo Embedded Block Coding with Optimized Truncation, EBCOT). • Se utiliza un nuevo algoritmo de optimización de Lagrange para suplir la pérdida de eficiencia al no aprovechar la redundancia existente entre subbandas. • Se introduce una etapa de reordenación de coeficientes que permite todo tipo de escalabilidad (al no haber árboles los coeficientes se reordenan con mayor facilidad).

  45. JPEG 2000: Estructura • Estructura de un codificador JPEG 2000: • Una imagen se puede dividir en bloques denominados tiles (normalmente hay sólo uno). • A cada tile se le aplica el algoritmo JPEG2000: • Se calcula su transformada Wavelet. • Se cuantizan los coeficientes. • Se aplica el algoritmo EBCOT por bloques (de 32x32 ó 64x64 coeficientes) (tier 1 coding) • Se organiza el bit stream (tier 2 coding) según la escalabilidad deseada. • Escalabilidad espacial: Se sitúan primero las subbandas de menor frecuencia. • Escalabilidad SNR o en calidad: Se codifica primero los planos de bits de los coeficientes de mayor magnitud.

  46. JPEG 2000: Comparativa JPEG-JPEG2000 Comparación objetiva

  47. JPEG 2000: Comparativa JPEG-JPEG2000 Comparación subjetiva Comprimida con JPEG 6,1 kbytes - 1:115 Comprimida con JPEG 2000 6,1 kbytes - 1:115 Original: 700 kbytes

  48. Resúmen. 1. Introducción. 2. Características de la imagen. 2.1 Captura y digitalización de imagen. 2.2 Tipos de imagen (según su resolución) 3. Compresión de imagen. Redundancia espacial. 3.1 Estándar JPEG 3.2 Wavelets EZW JPEG 2000 LTW 4. Conclusiones.

  49. 3.2 Lower Tree Wavelet (LTW) Encoder • Propuesta del LTW: • Codificar los coeficientes sin hacer una pasada por cada plano de bits • La cuantización se realiza con dos estrategias: • Cuantización fina: Es una cuantización escalar uniforme de todos los coeficientes • Cuantización gruesa: Eliminar algunos bits menos significativos de los coeficientes • rplanes: número de bits menos significativos a eliminar • Un coeficiente es significativo si es distinto de 0 después de descartar los primeros rplanes bits ( c ≥ 2rplanes)

  50. LTW: Algoritmo I, una aproximación sin árboles • Recorrer todas las subbandas • Para cada coeficiente de esa subbanda • Calcular el número de bits necesario para representarlo (nbits) • Si es significativo (c ≥ 2rplanes i.e., nbits > rplanes), • Arithmetic_outputnbits • Binary_output los bits significantes y el signo • Sino (no es significante), • Arithmetic_output LOWER

More Related