La mayor parte de las implementaciones de esta Tesis utilizan transformadas wavelet en la etapa lineal. La teoría wavelet proporciona un marco unificado en el que se engloban varias técnicas que se desarrollaron independientemente para diferentes aplicaciones de tratamiento de señales (Rioul y Vetterli, 1991). Por ejemplo, el tratamiento multirresolución de señales (Mallat, 1989), usado en visión artificial; la codificación en subbandas para comprimir imágenes y audio; y los desarrollos en series wavelet, usados en las matemáticas aplicadas (Daubechies, 1990), pueden considerarse elementos diferentes de una misma teoría.
La teoría wavelet se basa en analizar las señales utilizando un conjunto de funciones base. La idea fundamental es analizar las señales a diferentes escalas, o resoluciones, y por eso se trata de una técnica multirresolución. Las wavelets son una clase de funciones usadas para localizar una señal simultáneamente en el dominio espacial y en el de la escala, y utilizan el concepto de autosimilitud. Una función wavelet inicial, llamada función madre y que se diseña para que presente ciertas características deseadas, se usa para generar todas las funciones base. En una formulación multirresolución, se necesita también una segunda función, que se llama función de escalado. La wavelet madre es típicamente un filtro paso banda y por tanto el resto de filtros también lo son, por ser copias escaladas de éste. La familia de wavelets se construye ensanchando o comprimiendo la wavelet madre para cambiar así el tamaño de la ventana de análisis. De esta forma, las wavelets “grandes” dan una idea de la señal, mientras que las “pequeñas” hacen un “zoom” de los detalles. Un pequeño cambio en la representación
wavelet genera sólo un pequeño cambio en la señal reconstruida, lo que significa que los errores locales no echan a perder toda la transformación. La transformada wavelet es especialmente adecuada para analizar señales no-estacionarias, tales como las señales de muy pequeña extensión y las que tienen componentes interesantes a diferentes escalas.
Una representación wavelet está a caballo entre el dominio espacial y el de Fourier. El cálculo puede hacerse eficientemente gracias a la existencia de algoritmos piramidales basados normalmente en filtros QMF. Además, es posible reconstruir la señal original utilizando algoritmos similares. Los sistemas multitasa y los bancos de filtros juegan un importante papel en los sistemas wavelet.
La transformada wavelet descompone una señal utilizando un cierto conjunto de funciones base wavelet. Si representamos con ψ(x) la wavelet madre (que debe cumplir que ), el resto de wavelets pueden obtenerse simplemente escalando o desplazando ψ(x) como sigue:
0 )
( =
− ⋅ = a b x a x b a ψ ψ , ( ) 1 (2.4)
Normalmente, el escalado es discreto y diádico, de modo que a = 2-j. El desplazamiento se discretiza con respecto a cada escala, siendo b = k⋅2-j⋅T. Así, las funciones base vienen dadas por:
(
x k T)
x j j
k
j, ( )=2 /2⋅ψ 2 ⋅ − ⋅
ψ (2.5)
El entero j, se suele denominar escala, y representa la frecuencia de la función
wavelet o desplazamiento del espectro. El entero k, por su parte, representa el
desplazamiento de la wavelet y está relacionado con la dimensión espación en la transformada wavelet. Esta parametrización de la escala y el espacio resulta muy adecuada.
En la formulación multirresolución, además de la función ψ(x) se necesita otra función ϕ(x), llamada función de escalado. El escalado y el desplazamiento de ϕ(x) se definen de manera similar a los de ψ(x). Así, la descomposición wavelet de una señal
y(x) viene dada por (Burrus et al., 1998):
∑ ∑
∑
∞ = ⋅ + ⋅ = k j j k j k j k k j k x d x c x y 0 0 ( ) ( ) ) ( ϕ , , ψ , (2.6)Para wavelets reales y ortogonales, las expresiones que relacionan los coeficientes
wavelet con la señal original son las siguientes:
dx x x y ck =
∫
( )⋅ j,k( ) 0 ϕ (2.7) dx x x y dj,k =∫
( )⋅ψj,k( ) (2.8) Si las wavelets son biortogonales, las funciones madre y de escalado aparecen por parejas, ψ(x), ψ y ϕ(x), ϕ . En este caso, una de las parejas de funciones se utiliza para el análisis y la otra para la síntesis, y los coeficientes wavelet se obtienen a partir de las siguientes expresiones:) (
dx x x y ck =
∫
( )⋅ϕ~j0,k( ) (2.9) dx x x y dj,k =∫
( )⋅ψ~j,k( ) (2.10) En la mayoría de las aplicaciones de las transformadas wavelet, se requiere que la señal original pueda ser recuperada a partir de los coeficientes wavelet. Esta condición se conoce con el nombre de reconstrucción perfecta. En cambio, en otras aplicaciones tales como el reconocimiento de patrones, esta condición puede relajarse. En el caso de reconstrucción perfecta, si se quiere representar de forma compacta la señal y utilizar el mismo conjunto de wavelets tanto para el análisis como para la síntesis, las waveletsdeben ser ortogonales. Si se utilizan dos conjuntos de wavelets diferentes para el análisis y la síntesis, entonces la condición de reconstrucción perfecta es equivalente a la condición de biortogonalidad.
En el dominio discreto, la transformada wavelet recibe el nombre de transformada
wavelet discreta (Discrete Wavelet Transform o DWT). El cálculo eficiente de los
coeficientes de la DWT se realiza normalmente mediante un conjunto particular de filtros multitasa. Los filtros usados para el cálculo de la transformada se denominan filtros de análisis y aquellos usados para el cálculo de la transformada inversa, se denominan filtros de síntesis. Los coeficientes de estos filtros, normalmente con respuesta finita al impulso (Finite Impulse Response o FIR), se obtienen a partir de las funciones wavelet madre y de escalado.
A diferencia de las transformaciones del tipo de la de Fourier, que están basadas en un conjunto particular de funciones base, existen muchas bases wavelet distintas con diferentes características. El hecho de que una base wavelet dada sea útil en una cierta aplicación, en absoluto implica que también lo sea en cualquier otra aplicación. Por tanto, la elección de la base wavelet debe hacerse con cuidado para cada aplicación. En general, el objetivo es crear una función wavelet madre que dé una descripción informativa, eficiente y útil de la señal de interés. Como el contenido de la mayoría de las imágenes varía “suavemente”, es razonable usar una función wavelet madre “suave” para analizar las imágenes. No es sencillo diseñar un procedimiento uniforme para desarrollar la mejor wavelet madre o transformada wavelet para una clase dada de señales. Sin embargo, basándose en las características generales de las funciones
wavelet, es posible determinar qué wavelets son más adecuadas para una cierta
aplicación. En la práctica, las wavelets compactas con soporte finito (FIR) son las más utilizadas debido a su relación con los bancos de filtros multirresolución. Entre estas
wavelets, las más usadas se dividen en dos clases: ortogonales y biortogonales. Las
wavelets ortogonales descomponen las señales en espacios ortogonales con un buen
comportamiento. En concreto, la ortogonalidad tiene dos buenas características: las funciones wavelet madre y de escalado de análisis son iguales a las de síntesis, y además se eliminan las correlaciones de la señal entre subespacios. En este caso, los filtros de análisis y de síntesis no son simétricos (la simetría puede ser necesaria en algunas aplicaciones de tratamiento de imágenes), y no existen expresiones explícitas para las funciones madre y de escalado. Es deseable que los filtros wavelet sean simétricos, ya que así la transformada wavelet correspondiente puede implementarse usando condiciones de frontera de tipo espejo, que reducen los artefactos en los bordes. Por desgracia, aparte de la wavelet de Haar (un caso trivial), no existe ninguna otra wavelet
que sea a la vez ortogonal y simétrica. Para conseguir la simetría, debemos relajar la condición de ortogonalidad usando bases biortogonales. Las wavelets biortogonales son más complicadas y se definen, como hemos visto, a partir de pares de funciones wavelet
madre y de escalado. Esta mayor flexibilidad es la que permite forzar que los filtros de análisis y de síntesis sean simétricos, lo cual es importante en aquellas aplicaciones que requieren filtrados con fase lineal.
Existen muchas funciones que son ortogonales, pero algunas de estas funciones son muy irregulares, incluso de naturaleza fractal. Esto puede ser conveniente para analizar señales irregulares o fractales, pero ciertamente no lo es para la mayoría de las señales e imágenes. El número de momentos evanescentes de la función wavelet madre ψ(x) está relacionado con la “suavidad” y la diferenciabilidad de dicha función, así como de la de la función de escalado ϕ(x). Fijado el orden de los filtros wavelet FIR, Daubechies (1990) construyó wavelets con regularidad máxima, maximizando el número de momentos nulos de la función madre ψ(x). Dichas wavelets se denominan wavelets de Daubechies y son las que hemos elegido en el desarrollo de esta Tesis. Algunos ejemplos pueden verse en la Figura 2.3.
En general, todas las wavelets ortogonales son asimétricas, como sabemos. En algunas aplicaciones, si las wavelets son simétricas o no, no es importante. Sin embargo, en otras aplicaciones esto puede ser relevante. Por ejemplo, en las aplicaciones de tratamiento de imagen, ya que el SVH tolera mejor los errores simétricos que los asimétricos. Además, las wavelets simétricas permiten tratar los bordes de la imagen de manera más sencilla. La simetría perfecta sólo es posible en filtros wavelet complejos,
wavelets biortogonales, wavelets con soporte infinito y multi-wavelets. En la mayoría de las aplicaciones se desea que los coeficientes de los filtros sean reales, por lo que las
Figura 2.3: Ejemplos de wavelets de Daubechies. ψ es la función madre y ϕ es la función de escalado. Los subíndices representan el orden del filtro wavelet correspondiente (en el caso de wavelets ortogonales es siempre un número par).
wavelets biortogonales comúnmente están basadas en funciones “spline”. Algunos
ejemplos de estas wavelets se muestran en la Figura 2.4. En este caso, hay dos funciones madre, ψ(x) y ψ , una para análisis y otra para síntesis, y dos funciones de escalado,
ϕ(x) y ϕ , siendo intercambiable el papel de los filtros de análisis y de síntesis. ) ( ~ x ) ( ~ x
Las transformadas wavelet han demostrado ser muy útiles en la codificación de imágenes y en consecuencia, muchos esquemas de compresión de imágenes usan estas transformaciones. Así por ejemplo, el reciente estándar internacional de compresión de imágenes JPEG 2000 está basado en dos transformaciones wavelet biortogonales (las transformadas 5/3 y 9/7). En compresión de imágenes, es muy importante disponer de una representación eficiente de las imágenes. Idealmente, querríamos representar una imagen con un número pequeño de parámetros. Las transformadas wavelet
proporcionan una representación así, ya que la mayoría de los coeficientes wavelet de una imagen típica valen prácticamente cero, de modo que la imagen puede aproximarse con un número pequeño de coeficientes de valor alto. El motivo de la eficiencia de la representación wavelet es que las imágenes son señales no-estacionarias que pueden
Figura 2.4: Ejemplos de wavelets biortogonales. ψ y ψ son las funciones madre de análisis y síntesis respectivamente, y ϕ y ϕ las funciones de escalado. Los subíndices aparecen por parejas, representando el primero, el orden del filtro paso bajo de análisis y el segundo, el orden del filtro paso bajo de síntesis (a diferencia del caso ortogonal, el orden de los filtros puede ser par o impar, siendo la única restricción que la diferencia sea par).
~ ~
modelarse como un conjunto de regiones “suaves” localmente, separadas por bordes. Dentro de estas regiones “suaves”, el valor de los coeficientes wavelet cae rápidamente desde las escalas gruesas a las finas, siendo muy pequeño en las escalas finas. En el vecindario de los bordes, el valor de los coeficientes wavelet cae mucho más lentamente, pero, debido al carácter local del soporte de los filtros wavelet, relativamente pocos coeficientes se ven afectados por los bordes.