580 likes | 1.38k Views
Compresión con Wavelet. AUTORES Óscar Asaustre García Cristobal Gómez Barba. Compresión basada en Wavelet Índice. Análisis de Fourier. Diferencias entre A. Fourier y A.Wavelet Transformada continua de wavelet (CWT). Transformada discreta de wavelet (DWT). Wavelet de Haar.
E N D
Compresión con Wavelet AUTORES Óscar Asaustre García Cristobal Gómez Barba
Compresión basada en WaveletÍndice • Análisis de Fourier. • Diferencias entre A. Fourier y A.Wavelet • Transformada continua de wavelet (CWT). • Transformada discreta de wavelet (DWT). • Wavelet de Haar. • Presentación de una aplicación. • Aplicaciones de wavelet. • Un ejemplo de aplicación de wavelet: compresión de imágenes • Bibliografía.
Análisis de Fourier. Introducción. • Fourier descompone una señal en un conjunto de ondas sinusoidales de diferentes frecuencias. • El inconveniente es que se pierde la información temporal al pasar al dominio de la frecuencia.
Análisis de Fourier. Ventana de análisis. • Consiste en dividir la señal en pequeñas ventanas, a las que se les aplica por separado la función de Fourier. • El inconveniente es que una vez elegido el tamaño de ventana de tiempo, este es el único que se le aplica a toda la señal.
Wavelet. Diferencias con Fourier (I). DEFINICION:Un wavelet es una forma de onda de duración limitada que tiene un valor promedio de ceros. • Mientras las sinusoidales son aisladas y predecibles, las wavelets tienden a ser irregulares y asimétricas. • Mientras que el tamaño de ventana en Fourier es fijo, en wavelet varia. • Las ondas sinusoidales con las que trabaja Fourier, no tienen limitación en el tiempo.
Wavelet. Diferencias con Fourier (II). • Fourier descompone la señal en ondas sinusoidales de diferentes frecuencias. • Wavelet divide la señal en un conjunto ondas wavelets con distinta posición (adelantar o retrasar) y escala (estirar o encoger) del wavelet original
Wavelet. Diferencias con Fourier (III). • Si consideramos una señal sinusoidal con una pequeña discontinuidad: • Fourier no indica la discontinuidad. • Wavelet muestra exactamente la localización de la discontinuidad en el tiempo. Coeficientes de Wavelet Coeficientes de Fourier
Wavelet. Transformada continua de wavelet. • Matemáticamente, el análisis de Fourier se representa por la transformada de Fourier y divide la señal original en suma de ondas sinusoidales. • La transformada continua de wavelet se define como la suma de todo el tiempo de la señal multiplicado por la escala, cambiando la función wavelet. Da como resultado coeficientes wavelets, que están en función de la escala y la posición.
Wavelet. Transformada continua de wavelet (II). • Escalamiento del wavelet • Escalar un wavelet significa estirarlo o encogerlo, se le denomina factor de escala y se representa por a. • En el seno el factor de escala es fácil de ver:
Wavelet. Transformada continua de wavelet (III). • Desplazamiento del wavelet • Desplazar un wavelet significa adelantarlo o retrasarlo al original en el tiempo.
Wavelet. Transformada continua de wavelet (IV). • Cálculo de la Transformada Continua de Wavelet (CWT). • PASO 1: Tomar el wavelet y compararlo a la primera sección de la imagen original PASO 2: • Calcular el coeficiente de wavelet C, el cual representa la relación entre el wavelet y la sección de la señal sobre la que se trabaja. • El C mayor es el de mayor similitud. • El resultado dependerá del wavelet seccionado.
Wavelet. Transformada continua de wavelet (V). • Cálculo de la Transformada Continua de Wavelet (CWT). • PASO 3: • Desplazar el wavelet a la derecha y repetir los pasos 1 y 2, hasta cubrir toda la señal. PASO 4: - Estirar el wavelet y repetir los pasos 1, 2 y 3.
Wavelet. Transformada continua de wavelet (VI). • Cálculo de la Transformada Continua de Wavelet (CWT). • PASO 5: Repetir los pasos 1 a 4 para todos los estiramientos del wavelet. La siguiente imagen muestra una matriz de coeficientes wavelet, donde el color del punto indica el coeficiente wavelet
Wavelet. Transformada continua de wavelet (VII) • Relación entre escala del wavelet y frecuencia de la señal. • Pequeña escala del wavelet (wavelet comprimido) –> se obtiene la alta frecuencia. • Alta escala del wavelet (wavelet estirado) –> se obtiene la baja frecuencia.
Wavelet. Transformada discreta de wavelet (I)Descomposición de la Señal • Calcular los coeficientes wavelet en todas las posibles escalas es mucho trabajo, y generarlos son demasiados datos. Por ello se elige un subconjunto de estiramientos y translaciones. Estos subconjuntos serán potencia de dos. Se aplican dos filtros, uno de baja frecuencia y otro de alta frecuencia: -Con el de baja frecuencia se obtienen datos de aproximación. - Con el de alta frecuencia se obtienen datos de detalle.
Wavelet. Transformada discreta de wavelet (II)Descomposición de la Señal • Downsampling. Se aplica para no obtener 2 matrices del mismo tamaño a la original, y consiste en extraer 1 de cada dos datos. • Los coeficientes de detalle cD constan principalmente del ruido de alta frecuencia. • Los coeficientes cA contienen menos ruido que la imagen original.
Wavelet. Transformada discreta de wavelet (III)Descomposición de la Señal • Descomposicion en múltiples niveles. El proceso de descomposición puede ser iterado,a fin de que una señal sea descompuesta en muchas componentes de resolución inferior. Árbol de descomposición de wavelet:
Wavelet. Transformada discreta de wavelet (IV)Recostrucción de la Señal La Reconstrución de la señal consiste en ensamblar los componentesobtenidos en el proceso de descoposición, obteniendo la señal original sin pérdida de información. A este proceso se le denomina Transformada Inversa de Wavelet (IDWT). Antes se realizaba filtrado y downsampling, y ahora se realiza upsampling y filtrado. • Upsampling. • Upsampling es el proceso alargador de una señal, insertando un cero por cada dos datos de la señal:
Wavelet. Transformada discreta de wavelet (V)Recostrucción de la Señal • Filtros de Reconstrucción. La elección de filtros es crucial para poder obtener la reconstitución perfecta de la señal original. Al aplicar el downsampling sobre la señal, se obtiene una distorsión, denominada aliasin, en las componentes. Por esto hay que elegir bien los filtros de descomposición y reconstitución, ya que deben estar estrechamente relacionados, y así eliminar las distorsión en el proceso de la reconstrucción. La reconstrucción de la señal original se realiza a partir del vector de coeficientes, obtenido en la descomposición.
Wavelet. Transformada discreta de wavelet (VI)Recostrucción de la Señal • La relación de Filtros para la forma de Wavelet. La selección de los filtros es importante para obtener la reconstrucción perfecta de la señal, y para determinar la forma del wavelet para realizar el análisis de esta. A partir del filtro de baja, se obtiene el filtro de alta que se relaciona a este. Por ejemplo, si tenemos un filtro de reconstrucción paso de baja (0.3415; 0.5915; 0.1585 ; -0.0915) , para wavelet db2, obtenemos el filtro de alta invirtiendo el vector y multiplicando por –1 los valores de las celdas pares (-0.0915; -0.1585; 0.5915; -03415). Finalmente, realizamos el upsampling y convolucionamos con el filtro de reconstrucción paso de baja, obteniéndose el wavelet de primera iteración.
Wavelet. Transformada discreta de wavelet (VII) Múltiples descomposiciones y reconstrucciones. Este proceso implica tres aspectos: - descomponer la señal para obtener los coeficientes de wavelet, - modificando los coeficientes de wavelet, - y reensamblando la señal de los coeficientes.
Wavelet. Transformada discreta de wavelet (VIII) Múltiples descomposiciones y reconstrucciones. Con los coeficientes obtenidos con el análisis de wavelet se tienen muchos usos conocidos, siendo la eliminación del ruido y la compresión los primeros de ellos. Durante el análisis de wavelet, una señal es descompuesta en una de aproximación y otra de detalle. Estas son de primer nivel, pero la señal de aproximación de primer nivel también se puede descomponer en una señal de aproximación y otra de detalle, pero ahora son de segundo nivel. Si repetimos el proceso sobre las señales de aproximación obtendremos n niveles.
Wavelet. Función wavelet de Haar(I). La función wavelet de Haar corresponde: 1 si t [ 0, 1/2]; w(t) = -1 si t [ 1/2, 1]; 0 si otro Y se representa en la siguiente figura: 1 1/2 0 -1
Wavelet. Función wavelet de Haar(II). Toda función se puede representar como combinación lineal de wavelets de Haar. Con Haar también se dan dos filtros, uno paso de alta y otro paso de baja, y se representa Filtro paso de baja Filtro paso de alta • 1 0 0 0 ............. 0 0 • 0 1 1 0 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 1 • -1 0 0 0 ............. 0 0 • 0 1 -1 0 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 -1 ½ * ½ * Estas matrices presentan n filas y n columnas.
Wavelet. Función wavelet de Haar(III). El dowsampling también se aplica en Haar, y se representa por la siquiente matriz: Dowsampling • 0 0 0 0 ............. 0 0 • 0 0 1 0 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 0 Esta matriz presenta n/2 filas y n columnas. El proceso de filtrado y dowsampling se representa: Filtro paso de baja Filtro paso de alta • 1 0 0 0 ............. 0 0 • 0 0 1 1 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 1 • -1 0 0 0 ............. 0 0 • 0 0 1 -1 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 -1 ½ * ½ * Estas matrices presentan n/2 filas y n columnas.
Wavelet. Función wavelet de Haar(IV). Los coeficientes wavelets de Haar se obtienen aplicando las matrices anteriores a la señal: Filtro paso de baja A1 A2 ... An C1 C2 ... Cn/2 C(n+1)/2 C(n+2)/2 .......... Cn • 1 0 0 0 ............. 0 0 • 0 0 1 1 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 1 * ½ * = N/2 x N Filtro paso de alta A1 A2 ... An • -1 0 0 0 ............. 0 0 • 0 0 1 -1 0 ............ 0 0 • .............................................. • 0 0 0 0 0 ............ 1 -1 * ½ * N/2 x N
Wavelet. Aplicaciones de Wavelet. • Aplicaciones de compresión en imágenes médicas: • Reducción del ruido en señales electrocardiográficas. • compresión en imágenes de mamografía. • Compresión de voz y vídeo. • Eliminar ruido en señales digitales. • Técnicas para la reducción de triangulos basada en wavelets para mapas cartográficos digitales (Mallado triangular). • Compresión de la compensación de problemas auditivos.
Aplicación de Wavelet a la compresión de Imágenes Transformada Discreta de Wavelet (DWT)
INTRODUCCIÓN • La DWT juega un papel importante en el proceso de compresión de imágenes. • Los ratios de compresión con Wavelet son bastantes mejores que con la DCT de Fourier • A partir de un mismo archivo pueden obtenerse imágenes con diferentes resoluciones. Con esto se puede negociar la resolución de las imágenes. • Es útil para la aplicaciones en la Web.
Codificación de ImágenesTransformada Discreta de Wavelet (DWT) La compresión de imagenes basadas en wavelets puede ser como una forma de codificación subbanda en la cual la imagen es descompuesta en bandas de frecuencia mediante un banco de filtros. Un codificador subbanda es una técnica de codificación donde la señal de entrada es filtrada y separada en bandas de frecuencia. Al aplicar el DWT se obtiene una matriz de coeficientes wavelets.
Codificación de ImágenesCuantificador Aquí es donde se realiza la compresión realmente, porque este paso sirve para incrementar el número de ceros y reducir la magnitud de los coeficientes de transformación. Existen esquemas de compresión con pérdidas o sin perdidas. Los algoritmos de compresión con perdidas proporcionan una mayor compresión que los algoritmos sin perdida. Con esto se obtiene una matriz de coeficientes donde existe un mayor número de ceros.
Codificación de ImágenesCodificación entrópica Codificador que aprovecha la redundancia de información existente en una señal digital para crear secuencias de bits. Se utilizan menos bits para aquellas secuencias que aparecen con mayor frecuencia logrando así la compresión de datos. Es posible recuperar la señal original. Son algoritmos sin pérdida Existen diversos algoritmos de codificación pero lo mas usados son el EZW (Embedded Zerotree Wavelet) o el SPITH.e A partir de la codificación se obtiene la imagen comprimida
Decodificación de Imágenes (II) Decodificador entrópico : A partir de la imagen comprimida obtenemos la matriz de coeficientes. Descuantizador: Se aplica la función de cuantización y a partir de la matriz de coeficientes se obtiene la matriz de coeficientes wavelets, que no tiene que coincidir con la matriz de coeficientes que la obtenida en el proceso de codificación ya que si hemos aplicado un algoritmo con pérdidas hay información que ha sido eliminada. IDWT : Aplicando la Transformada Inversa de Wavetets se obtiene la imagen reconstruida.
Transformada Discreta de Wavelet (DWT)Descomposición de la Imagen La DWT aplicada a imágenes proporciona una matriz de coeficientes conocidos como coeficientes wavelet. Si a una imagen le aplicamos la DWT obtenemos 4 tipos de coeficientes: aproximaciones, detalles horizontales, detalles verticales y detalles diagonales.
Transformada Discreta de WaveIet (DWT) Descomposición de la Imagen (II) La aproximación contiene la mayor parte de energía de la imagen, es decir , la información más importante Los detalles tienen valores próximos a cero. Generalmente la energía de las imágenes se concentra en las frecuencias bajas.Una imagen tiene un espectro que se reduce con el incremento de la frecuencia. Estas propiedades de las imágenes quedan reflejadas en la transformada wavelet discreta de la imagen. En definitiva para muchas señales la información más importante se encuentran en la frecuencias bajas, mientras que en las altas se encuentran los detalles o matices de la señal.
Transformada Discreta de WaveIet (DWT) Banco de filtros La compresión de imagen basada en wavelets puede ser vista como una forma de codificación de subbanda en la cual la imagen es descompuesta en bandas de frecuencia mediante un banco de filtros. El codificador desarrollado es un codificador de subbanda implementado con complejidad lineal con dos pares de filtros ortonormales un filtro pasabajas (H) y un filtro pasaaltas (G).
Transformada Discreta de WaveIet (DWT) Banco de filtros (II) Una vez filtrados los datos de entrada se realiza un proceso de “downsampling” que consiste en despreciar uno de cada dos coeficientes de transformación. Esto es debido a que el filtrado proporciona el doble de datos de los que son necesarios. Este proceso se aplica repetidamente a los valores obtenidos después del downsampling a los datos filtrados por el filtro pasabajas. Para realizar el downsampling es necesario que las dimensiones de la imagen sean potencias de 2. A una imagen de dimensiones 2n x 2m sólo pueden aplicarse min(n,m) niveles.
Transformada Discreta de WaveIet (DWT) Banco de filtros (III) TransformadaWavelet en dos dimensiones. El componente de más baja frecuencia (ll, llll, etc.) se descompone en el siguiente nivel dela pirámide.
Transformada WaveIet Discreta Inversa (IDWT) Reconstrucción de la imagen El proceso de reconstrucción de la imagen, también denominado síntesis se encarga de la obtención de la señal a partir de los detalles y aproximaciones. Este proceso se lleva a cabo con la transformada wavelet discreta inversa. La siguiente figura muestra los procesos para obtener la Transformada inversa, donde se observa que el proceso es similar. Se aplica el “upsampling” a los coeficientes de transformación consistente en insertar ceros entre cada muestra.
Wavelet. Bibliografía. http://www.mathcad.com/wavelets http://www.mathworks.com http://jupiter.cic.jpn.mx/~trio/Oscar/tesis Toolbox de Matlab http://www.ee.siue.edu/CVIPtools