Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 37ce2601040f8edc2329d4714238376a > files > 4019

eso-midas-doc-13SEPpl1.2-3.mga5.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 98.1p1 release (March 2nd, 1998)
originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Multiresolution Analysis</TITLE>
<META NAME="description" CONTENT="Multiresolution Analysis">
<META NAME="keywords" CONTENT="vol2">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="vol2.css">
<LINK REL="next" HREF="node317.html">
<LINK REL="previous" HREF="node315.html">
<LINK REL="up" HREF="node314.html">
<LINK REL="next" HREF="node317.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html5409"
 HREF="node317.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="icons.gif/next_motif.gif"></A> 
<A NAME="tex2html5406"
 HREF="node314.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="icons.gif/up_motif.gif"></A> 
<A NAME="tex2html5400"
 HREF="node315.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="icons.gif/previous_motif.gif"></A> 
<A NAME="tex2html5408"
 HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="icons.gif/contents_motif.gif"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html5410"
 HREF="node317.html">The &#224; trous algorithm</A>
<B> Up:</B> <A NAME="tex2html5407"
 HREF="node314.html">The discrete wavelet transform</A>
<B> Previous:</B> <A NAME="tex2html5401"
 HREF="node315.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION002042000000000000000">&#160;</A>
<A NAME="sec_mallat">&#160;</A>
<BR>
Multiresolution Analysis
</H2>
Multiresolution analysis [<A
 HREF="node370.html#mallat">25</A>] results
from the embedded subsets generated by the interpolations at
different scales.

<P>
A function <I>f</I>(<I>x</I>) is projected at each step <I>j</I> onto the subset
<I>V</I><SUB><I>j</I></SUB>. This projection is defined by the scalar product <I>c</I><SUB><I>j</I></SUB>(<I>k</I>) of
<I>f</I>(<I>x</I>) with the scaling function <IMG
 WIDTH="49" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img602.gif"
 ALT="$\phi(x)$">
which is dilated and
translated:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
c_j(k)=<f(x),2^{-j}\phi( 2^{-j}x-k)>
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="320" HEIGHT="51" ALIGN="MIDDLE" BORDER="0"
 SRC="img603.gif"
 ALT="$\displaystyle c_j(k)=<f(x),2^{-j}\phi( 2^{-j}x-k)>$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.9)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
As <IMG
 WIDTH="49" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img604.gif"
 ALT="$\phi(x)$">
is a scaling function which has the property:
<BR>
<DIV ALIGN="CENTER"><A NAME="eqn_phi_h">&#160;</A>
<!-- MATH: \begin{eqnarray}
{1 \over 2} \phi({x \over 2}) = \sum_n h(n) \phi(x-n)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="255" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img605.gif"
 ALT="$\displaystyle {1 \over 2} \phi({x \over 2}) = \sum_n h(n) \phi(x-n)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.10)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
or
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat{\phi}(2\nu)=\hat h(\nu)\hat{\phi}(\nu)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="172" HEIGHT="53" ALIGN="MIDDLE" BORDER="0"
 SRC="img606.gif"
 ALT="$\displaystyle \hat{\phi}(2\nu)=\hat h(\nu)\hat{\phi}(\nu)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.11)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
where 
<!-- MATH: $\hat h(\nu)$ -->
<IMG
 WIDTH="47" HEIGHT="53" ALIGN="MIDDLE" BORDER="0"
 SRC="img607.gif"
 ALT="$\hat h(\nu)$">
is the Fourier transform of the function 
<!-- MATH: $\sum_n
h(n)\delta(x-n)$ -->
<IMG
 WIDTH="164" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img608.gif"
 ALT="$\sum_n
h(n)\delta(x-n)$">.
We get:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat h(\nu)=\sum_n h(n)e^{-2\pi n \nu}
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="214" HEIGHT="60" ALIGN="MIDDLE" BORDER="0"
 SRC="img609.gif"
 ALT="$\displaystyle \hat h(\nu)=\sum_n h(n)e^{-2\pi n \nu}$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.12)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
Equation <A HREF="node316.html#eqn_phi_h">14.10</A>  permits to
compute directly the set 
<!-- MATH: $c_{j+1}(k)$ -->
<I>c</I><SUB><I>j</I>+1</SUB>(<I>k</I>) from <I>c</I><SUB><I>j</I></SUB>(<I>k</I>). 
If we start from the set <I>c</I><SUB>0</SUB>(<I>k</I>) we compute all the sets
<I>c</I><SUB><I>j</I></SUB>(<I>k</I>), with <I>j</I>&gt;0, without directly computing any other scalar
product:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
c_{j+1}(k)=\sum_n h(n-2 k)c_{j}(n)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="277" HEIGHT="60" ALIGN="MIDDLE" BORDER="0"
 SRC="img610.gif"
 ALT="$\displaystyle c_{j+1}(k)=\sum_n h(n-2 k)c_{j}(n)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.13)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
<P>
At each step, the number of scalar products is divided by 2. Step by step 
the signal is smoothed and information is lost. The remaining
information can be restored using the complementary subspace <I>W</I><SUB><I>j</I>+1</SUB> of
 <I>V</I><SUB><I>j</I>+1</SUB> in <I>V</I><SUB><I>j</I></SUB>. 
This subspace can be generated by a suitable wavelet function
<IMG
 WIDTH="50" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img611.gif"
 ALT="$\psi(x)$">
with translation and dilation. 
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
{1 \over 2}\psi({x\over 2})=\sum_n g(n)\phi(x-n)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="256" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img612.gif"
 ALT="$\displaystyle {1 \over 2}\psi({x\over 2})=\sum_n g(n)\phi(x-n)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.14)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
or
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat{\psi}(2\nu)=\hat{g}(\nu)\hat{\phi}(\nu)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="172" HEIGHT="53" ALIGN="MIDDLE" BORDER="0"
 SRC="img613.gif"
 ALT="$\displaystyle \hat{\psi}(2\nu)=\hat{g}(\nu)\hat{\phi}(\nu)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.15)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
<P>
We compute the scalar products 
<!-- MATH: $<f(x),2^{-(j+1)}\psi(2^{-(j+1)} x-k)>$ -->
<IMG
 WIDTH="323" HEIGHT="51" ALIGN="MIDDLE" BORDER="0"
 SRC="img614.gif"
 ALT="$<f(x),2^{-(j+1)}\psi(2^{-(j+1)} x-k)>$">
with:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
w_{j+1}(k)=\sum_n g(n-2k)c_{j}(n)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="281" HEIGHT="60" ALIGN="MIDDLE" BORDER="0"
 SRC="img615.gif"
 ALT="$\displaystyle w_{j+1}(k)=\sum_n g(n-2k)c_{j}(n)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.16)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
<P>
With this analysis, we have built the first part of a filter bank
[<A
 HREF="node370.html#smith">34</A>]. In order to restore the original data, Mallat uses 
the properties of orthogonal wavelets, but the theory has been
generalized to a large class of filters [<A
 HREF="node370.html#cdf">8</A>] by introducing two
other filters <IMG
 WIDTH="19" HEIGHT="27" ALIGN="BOTTOM" BORDER="0"
 SRC="img616.gif"
 ALT="$\tilde h$">
and <IMG
 WIDTH="17" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
 SRC="img617.gif"
 ALT="$\tilde g$">
named conjugated to <I>h</I> and
<I>g</I>. The restoration is performed with:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
c_{j}(k)=2\sum_l [c_{j+1}(l)\tilde h(k+2l)+w_{j+1}(l)\tilde g(k+2l)]
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="469" HEIGHT="65" ALIGN="MIDDLE" BORDER="0"
 SRC="img618.gif"
 ALT="$\displaystyle c_{j}(k)=2\sum_l [c_{j+1}(l)\tilde h(k+2l)+w_{j+1}(l)\tilde g(k+2l)]$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.17)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
<P>
In order to get an exact restoration, two conditions are required
for the conjugate filters:
<UL>
<LI><I>Dealiasing condition</I>:
<BR>
<DIV ALIGN="CENTER"><A NAME="eqn_desa">&#160;</A>
<!-- MATH: \begin{eqnarray}
\hat h(\nu+\frac{1}{2})\hat{\tilde h}(\nu)+\hat g(\nu+\frac{1}{2})\hat{\tilde
g}(\nu)=0
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="321" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img619.gif"
 ALT="$\displaystyle \hat h(\nu+\frac{1}{2})\hat{\tilde h}(\nu)+\hat g(\nu+\frac{1}{2})\hat{\tilde
g}(\nu)=0$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.18)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
<LI><I>Exact restoration:</I>
<BR>
<DIV ALIGN="CENTER"><A NAME="eqn_exact">&#160;</A>
<!-- MATH: \begin{eqnarray}
\hat h(\nu)\hat{\tilde h}(\nu)+\hat g(\nu)\hat{\tilde g}(\nu)=1
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="237" HEIGHT="63" ALIGN="MIDDLE" BORDER="0"
 SRC="img620.gif"
 ALT="$\displaystyle \hat h(\nu)\hat{\tilde h}(\nu)+\hat g(\nu)\hat{\tilde g}(\nu)=1$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.19)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P></UL>
<P>
<BR>
<DIV ALIGN="CENTER"><A NAME="fig_shema_filter_bank">&#160;</A><A NAME="14390">&#160;</A>
<TABLE WIDTH="50%">
<CAPTION><STRONG>Figure 14.3:</STRONG>
The filter bank associated with the multiresolution
analysis</CAPTION>
<TR><TD><IMG
 WIDTH="940" HEIGHT="675"
 SRC="img622.gif"
 ALT="\begin{figure}
\centerline{
\hbox{
\psfig{figure=fig_paper_3.ps,bbllx=3.5cm,bblly=9cm,bburx=18cm,bbury=22.5cm,height=10
cm,width=14cm,clip=}
}}
\end{figure}"></TD></TR>
</TABLE>
</DIV>
<BR>
<P>
In the decomposition, the function is successively convolved with
the two filters <I>H</I> (low frequencies) and <I>G</I> (high frequencies). Each
resulting function is decimated by suppression of one sample out of two. The
high frequency signal is left, and we iterate with the low frequency signal
(upper part of  figure <A HREF="node316.html#fig_shema_filter_bank">14.3</A>).
In the reconstruction, we restore the sampling by inserting a 0 between
each sample, then we convolve with the conjugate filters <IMG
 WIDTH="25" HEIGHT="27" ALIGN="BOTTOM" BORDER="0"
 SRC="img623.gif"
 ALT="$\tilde H$">
and
<IMG
 WIDTH="23" HEIGHT="27" ALIGN="BOTTOM" BORDER="0"
 SRC="img624.gif"
 ALT="$\tilde G$">,
we add the resulting functions and we multiply the result by 2.
We iterate up to the smallest scale
(lower part of  figure <A HREF="node316.html#fig_shema_filter_bank">14.3</A>).

<P>
Orthogonal wavelets correspond to the restricted case where:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat g(\nu) & = & e^{-2\pi\nu}\hat h^*(\nu+{1\over 2}) \\
\hat{\tilde h}(\nu) & = &  \hat h^*(\nu) \\
\hat{\tilde g}(\nu) & = & \hat g^*(\nu)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="45" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img625.gif"
 ALT="$\displaystyle \hat g(\nu)$"></TD>
<TD ALIGN="CENTER" NOWRAP>=</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="152" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img626.gif"
 ALT="$\displaystyle e^{-2\pi\nu}\hat h^*(\nu+{1\over 2})$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.20)</TD></TR>
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="47" HEIGHT="63" ALIGN="MIDDLE" BORDER="0"
 SRC="img627.gif"
 ALT="$\displaystyle \hat{\tilde h}(\nu)$"></TD>
<TD ALIGN="CENTER" NOWRAP>=</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="57" HEIGHT="53" ALIGN="MIDDLE" BORDER="0"
 SRC="img628.gif"
 ALT="$\displaystyle \hat h^*(\nu)$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.21)</TD></TR>
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="45" HEIGHT="52" ALIGN="MIDDLE" BORDER="0"
 SRC="img629.gif"
 ALT="$\displaystyle \hat{\tilde g}(\nu)$"></TD>
<TD ALIGN="CENTER" NOWRAP>=</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="56" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img630.gif"
 ALT="$\displaystyle \hat g^*(\nu)$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.22)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
and
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\mid \hat h(\nu) \mid^2+ \mid \hat h(\nu+{1\over 2} \mid^2=1
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="253" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img631.gif"
 ALT="$\displaystyle \mid \hat h(\nu) \mid^2+ \mid \hat h(\nu+{1\over 2} \mid^2=1$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.23)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
We can easily see that this set satisfies the two basic
relations <A HREF="node316.html#eqn_desa">14.18</A> and <A HREF="node316.html#eqn_exact">14.19</A>.
Daubechies wavelets are the only compact solutions.
For biorthogonal wavelets [<A
 HREF="node370.html#cdf">8</A>]
we have the relations:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat g(\nu) & = & e^{-2\pi\nu}\hat{\tilde h}^*(\nu+{1\over 2}) \\
\hat{\tilde g}(\nu) & = & e^{2\pi\nu}\hat h^*(\nu+{1\over 2})
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="46" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img632.gif"
 ALT="$\displaystyle \hat g(\nu)$"></TD>
<TD ALIGN="CENTER" NOWRAP>=</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="151" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img633.gif"
 ALT="$\displaystyle e^{-2\pi\nu}\hat{\tilde h}^*(\nu+{1\over 2})$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.24)</TD></TR>
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="46" HEIGHT="52" ALIGN="MIDDLE" BORDER="0"
 SRC="img634.gif"
 ALT="$\displaystyle \hat{\tilde g}(\nu)$"></TD>
<TD ALIGN="CENTER" NOWRAP>=</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="138" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img635.gif"
 ALT="$\displaystyle e^{2\pi\nu}\hat h^*(\nu+{1\over 2})$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.25)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
and
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\hat h(\nu)\hat{\tilde h}(\nu)+\hat h^*(\nu+{1\over 2})
\hat{\tilde h}^*(\nu+{1\over 2})=1
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="343" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
 SRC="img636.gif"
 ALT="$\displaystyle \hat h(\nu)\hat{\tilde h}(\nu)+\hat h^*(\nu+{1\over 2})
\hat{\tilde h}^*(\nu+{1\over 2})=1$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.26)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
We also satisfy relations <A HREF="node316.html#eqn_desa">14.18</A> and <A HREF="node316.html#eqn_exact">14.19</A>. A large class of
compact wavelet functions can be derived.
Many sets of filters were proposed, especially for coding. It was shown
[<A
 HREF="node370.html#daube">9</A>] that the choice of these filters must be guided by the
regularity of the scaling and the wavelet functions. 
The complexity is proportional to <I>N</I>. The algorithm provides a pyramid of
<I>N</I> elements.

<P>
The 2D algorithm is based on separate variables leading to
prioritizing of x and y directions. The scaling function is defined by:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
\phi(x,y) = \phi(x)\phi(y)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="182" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img637.gif"
 ALT="$\displaystyle \phi(x,y) = \phi(x)\phi(y)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.27)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
The passage from a resolution to the next one is done by:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
f_{j+1}(k_x,k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
h(l_x- 2k_x) h(l_y -2k_y) f_{j}(l_x,l_y)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
 WIDTH="559" HEIGHT="85" ALIGN="MIDDLE" BORDER="0"
 SRC="img638.gif"
 ALT="$\displaystyle f_{j+1}(k_x,k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
h(l_x- 2k_x) h(l_y -2k_y) f_{j}(l_x,l_y)$"></TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.28)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
The detail signal is obtained from three wavelets:
<UL>
<LI>a vertical wavelet :
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
\psi^1(x,y) = \phi(x)\psi(y)
\end{displaymath} -->


<IMG
 WIDTH="187" HEIGHT="40"
 SRC="img639.gif"
 ALT="\begin{displaymath}\psi^1(x,y) = \phi(x)\psi(y) \end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
<LI>a horizontal wavelet:
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
\psi^2(x,y) = \psi(x)\phi(y)
\end{displaymath} -->


<IMG
 WIDTH="187" HEIGHT="40"
 SRC="img640.gif"
 ALT="\begin{displaymath}\psi^2(x,y) = \psi(x)\phi(y) \end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
<LI>a diagonal wavelet:
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
\psi^3(x,y) = \psi(x)\psi(y)
\end{displaymath} -->


<IMG
 WIDTH="190" HEIGHT="40"
 SRC="img641.gif"
 ALT="\begin{displaymath}\psi^3(x,y) = \psi(x)\psi(y) \end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P></UL>which leads to three sub-images:
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
C_{j+1}^1 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
g(l_x- 2k_x) h(l_y -2k_y) f_{j}(l_x,l_y)
\end{displaymath} -->


<IMG
 WIDTH="554" HEIGHT="78"
 SRC="img643.gif"
 ALT="\begin{displaymath}C_{j+1}^1 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
g(l_x- 2k_x) h(l_y -2k_y) f_{j}(l_x,l_y)\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
C_{j+1}^2 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
h(l_x- 2k_x) g(l_y -2k_y) f_{j}(l_x,l_y)
\end{displaymath} -->


<IMG
 WIDTH="554" HEIGHT="78"
 SRC="img644.gif"
 ALT="\begin{displaymath}C_{j+1}^2 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
h(l_x- 2k_x) g(l_y -2k_y) f_{j}(l_x,l_y)\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH: \begin{displaymath}
C_{j+1}^3 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
g(l_x- 2k_x) g(l_y -2k_y) f_{j}(l_x,l_y)
\end{displaymath} -->


<IMG
 WIDTH="553" HEIGHT="78"
 SRC="img645.gif"
 ALT="\begin{displaymath}C_{j+1}^3 (k_x, k_y) = \sum_{l_x=-\infty}^{+\infty} \sum_{l_y=-\infty}^{+\infty}
g(l_x- 2k_x) g(l_y -2k_y) f_{j}(l_x,l_y)\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
 
<BR>
<DIV ALIGN="CENTER"><A NAME="fig_mallat3">&#160;</A><A NAME="14456">&#160;</A>
<TABLE WIDTH="50%">
<CAPTION><STRONG>Figure 14.4:</STRONG>
Wavelet transform representation of an image</CAPTION>
<TR><TD><IMG
 WIDTH="542" HEIGHT="521"
 SRC="img646.gif"
 ALT="\begin{figure}
\centerline{
\hbox{
\psfig{figure=fig_mallat3.ps,bbllx=5.5cm,bblly=9.5cm,bburx=16cm,bbury=20cm,height=8cm,width=8cm,clip=}
}}
\end{figure}"></TD></TR>
</TABLE>
</DIV>
<BR>
<P>
The wavelet transform can be interpreted as the decomposition on 
frequency sets with a spatial orientation.

<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html5409"
 HREF="node317.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="icons.gif/next_motif.gif"></A> 
<A NAME="tex2html5406"
 HREF="node314.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="icons.gif/up_motif.gif"></A> 
<A NAME="tex2html5400"
 HREF="node315.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="icons.gif/previous_motif.gif"></A> 
<A NAME="tex2html5408"
 HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="icons.gif/contents_motif.gif"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html5410"
 HREF="node317.html">The &#224; trous algorithm</A>
<B> Up:</B> <A NAME="tex2html5407"
 HREF="node314.html">The discrete wavelet transform</A>
<B> Previous:</B> <A NAME="tex2html5401"
 HREF="node315.html">Introduction</A>
<!--End of Navigation Panel-->
<ADDRESS>
<I>Petra Nass</I>
<BR><I>1999-06-15</I>
</ADDRESS>
</BODY>
</HTML>