Document 7756727

Download Report

Transcript Document 7756727

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 Fourier
Coeficientes de Wavelet
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 componentes
obtenidos 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:
w(t) =
1 si
-1 si
0 si
t  [ 0, 1/2];
t  [ 1/2, 1];
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 1 0 0 0 ............. 0 0
1 -1 0 0 0 ............. 0 0
0
0
1 1 0 0 ............ 0 0
½ *
1 -1 0 0 ............ 0 0
..............................................
..............................................
0 0 0 0 0 ............ 1 1
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
1 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 1 0 0 0 ............. 0 0
1 -1 0 0 0 ............. 0 0
0
0
0 1 1 0 ............ 0 0
½ *
0 1 -1 0 ............ 0 0
..............................................
..............................................
0 0 0 0 0 ............ 1 1
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
½ *
1 1 0 0 0 ............. 0 0
A1
C1
0
A2
C2
..............................................
...
...
0 0 0 0 0 ............ 1 1
An
Cn/2
0 1 1 0 ............ 0 0
*
N/2 x N
=
Filtro paso de alta
A1
1 -1 0 0 0 ............. 0 0
½ *
0
0 1 -1 0 ............ 0 0
A2
*
..............................................
0 0 0 0 0 ............ 1 -1
N/2 x N
C(n+1)/2
C(n+2)/2
...
..........
An
Cn
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ágenes
Codificación de Imágenes
Transformada 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ágenes
Cuantificador
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ágenes
Codificació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
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)
Transformada Wavelet en dos dimensiones. El componente
de más baja frecuencia (ll, llll, etc.) se descompone en el
siguiente nivel de la 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