<!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>The Reconstruction</TITLE> <META NAME="description" CONTENT="The Reconstruction"> <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="previous" HREF="node322.html"> <LINK REL="up" HREF="node321.html"> <LINK REL="next" HREF="node324.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html5484" HREF="node324.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="icons.gif/next_motif.gif"></A> <A NAME="tex2html5481" HREF="node321.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="icons.gif/up_motif.gif"></A> <A NAME="tex2html5477" HREF="node322.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="icons.gif/previous_motif.gif"></A> <A NAME="tex2html5483" 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="tex2html5485" HREF="node324.html">Visualization of the Wavelet</A> <B> Up:</B> <A NAME="tex2html5482" HREF="node321.html">Multiresolution with scaling functions</A> <B> Previous:</B> <A NAME="tex2html5478" HREF="node322.html">The Wavelet transform using</A> <BR> <BR> <!--End of Navigation Panel--> <H3><A NAME="SECTION002045200000000000000"> The Reconstruction</A> </H3> If the wavelet is the difference between two resolutions, an evident reconstruction for a wavelet transform <!-- MATH: ${\cal W} = \{w_1, w_2, \dots, w_{n_p}, c_{n_p}\}$ --> <IMG WIDTH="263" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img724.gif" ALT="${\cal W} = \{w_1, w_2, \dots, w_{n_p}, c_{n_p}\}$"> is: <BR> <DIV ALIGN="CENTER"> <!-- MATH: \begin{eqnarray} \hat c_0(\nu) = \hat c_{n_p}(\nu) + \sum_j \hat w_j(\nu) \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="254" HEIGHT="70" ALIGN="MIDDLE" BORDER="0" SRC="img725.gif" ALT="$\displaystyle \hat c_0(\nu) = \hat c_{n_p}(\nu) + \sum_j \hat w_j(\nu)$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.60)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> But this is a particular case and other wavelet functions can be chosen. The reconstruction can be done step by step, starting from the lowest resolution. At each scale, we have the relations: <BR> <DIV ALIGN="CENTER"> <!-- MATH: \begin{eqnarray} \hat c_{j+1} = \hat h(2^j \nu) \hat c_j(\nu) \\ \hat w_{j+1} = \hat g(2^j \nu) \hat c_j(\nu) \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="184" HEIGHT="53" ALIGN="MIDDLE" BORDER="0" SRC="img726.gif" ALT="$\displaystyle \hat c_{j+1} = \hat h(2^j \nu) \hat c_j(\nu)$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.61)</TD></TR> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="187" HEIGHT="51" ALIGN="MIDDLE" BORDER="0" SRC="img727.gif" ALT="$\displaystyle \hat w_{j+1} = \hat g(2^j \nu) \hat c_j(\nu)$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.62)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> we look for <I>c</I><SUB><I>j</I></SUB> knowing <I>c</I><SUB><I>j</I>+1</SUB>, <I>w</I><SUB><I>j</I>+1</SUB>, <I>h</I> and <I>g</I>. We restore <!-- MATH: $\hat c_j(\nu)$ --> <IMG WIDTH="54" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img728.gif" ALT="$\hat c_j(\nu)$"> with a least mean square estimator: <BR> <DIV ALIGN="CENTER"> <!-- MATH: \begin{eqnarray} \hat p_h(2^j\nu)|\hat c_{j+1}(\nu)-\hat h(2^j\nu)\hat c_j(\nu)|^2 + \hat p_g(2^j\nu)|\hat w_{j+1}(\nu)-\hat g(2^j\nu)\hat c_j(\nu)|^2 \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="629" HEIGHT="53" ALIGN="MIDDLE" BORDER="0" SRC="img729.gif" ALT="$\displaystyle \hat p_h(2^j\nu)\vert\hat c_{j+1}(\nu)-\hat h(2^j\nu)\hat c_j(\nu... ...t^2 + \hat p_g(2^j\nu)\vert\hat w_{j+1}(\nu)-\hat g(2^j\nu)\hat c_j(\nu)\vert^2$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.63)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> is minimum. <!-- MATH: $\hat p_h(\nu)$ --> <IMG WIDTH="57" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img730.gif" ALT="$\hat p_h(\nu)$"> and <!-- MATH: $\hat p_g(\nu)$ --> <IMG WIDTH="55" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img731.gif" ALT="$\hat p_g(\nu)$"> are weight functions which permit a general solution to the restoration of <!-- MATH: $\hat c_j(\nu)$ --> <IMG WIDTH="54" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img732.gif" ALT="$\hat c_j(\nu)$">. By <!-- MATH: $\hat c_j(\nu)$ --> <IMG WIDTH="53" HEIGHT="44" ALIGN="MIDDLE" BORDER="0" SRC="img733.gif" ALT="$\hat c_j(\nu)$"> derivation we get: <BR> <DIV ALIGN="CENTER"><A NAME="restauration"> </A> <!-- MATH: \begin{eqnarray} \hat{c}_{j}(\nu)=\hat{c}_{j+1}(\nu) \hat{\tilde h}(2^{j}\nu) +\hat{w}_{j+1}(\nu) \hat{\tilde g}(2^{j}\nu) \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="375" HEIGHT="63" ALIGN="MIDDLE" BORDER="0" SRC="img734.gif" ALT="$\displaystyle \hat{c}_{j}(\nu)=\hat{c}_{j+1}(\nu) \hat{\tilde h}(2^{j}\nu) +\hat{w}_{j+1}(\nu) \hat{\tilde g}(2^{j}\nu)$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.64)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> where the conjugate filters have the expression: <BR> <DIV ALIGN="CENTER"><A NAME="eqnht"> </A><A NAME="eqngt"> </A> <!-- MATH: \begin{eqnarray} \hat{\tilde h}(\nu) & = {\hat{p}_h(\nu) \hat{h}^*(\nu)\over \hat{p}_h(\nu) \mid \hat{h}(\nu)\mid^2 + \hat{p}_g(\nu)\mid \hat{g}(\nu)\mid^2}\\ \hat{\tilde g}(\nu) & = {\hat{p}_g(\nu) \hat{g}^*(\nu)\over \hat p_h(\nu) \mid \hat{h}(\nu)\mid^2 + \hat{p}_g(\nu)\mid \hat{g}(\nu)\mid^2} \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="47" HEIGHT="63" ALIGN="MIDDLE" BORDER="0" SRC="img735.gif" ALT="$\displaystyle \hat{\tilde h}(\nu)$"></TD> <TD ALIGN="CENTER" NOWRAP><IMG WIDTH="226" HEIGHT="63" ALIGN="MIDDLE" BORDER="0" SRC="img736.gif" ALT="$\textstyle = {\hat{p}_h(\nu) \hat{h}^*(\nu)\over \hat{p}_h(\nu) \mid \hat{h}(\nu)\mid^2 + \hat{p}_g(\nu)\mid \hat{g}(\nu)\mid^2}$"></TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.65)</TD></TR> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="45" HEIGHT="52" ALIGN="MIDDLE" BORDER="0" SRC="img737.gif" ALT="$\displaystyle \hat{\tilde g}(\nu)$"></TD> <TD ALIGN="CENTER" NOWRAP><IMG WIDTH="226" HEIGHT="57" ALIGN="MIDDLE" BORDER="0" SRC="img738.gif" ALT="$\textstyle = {\hat{p}_g(\nu) \hat{g}^*(\nu)\over \hat p_h(\nu) \mid \hat{h}(\nu)\mid^2 + \hat{p}_g(\nu)\mid \hat{g}(\nu)\mid^2}$"></TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.66)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> It is easy to see that these filters satisfy the exact reconstruction equation <A HREF="node316.html#eqn_exact">14.19</A>. In fact, equations <A HREF="node323.html#eqnht">14.65</A> and <A HREF="node323.html#eqngt">14.66</A> give the general solution to this equation. In this analysis, the Shannon sampling condition is always respected. No aliasing exists, so that the dealiasing condition <A HREF="node316.html#eqn_desa">14.18</A> is not necessary. <P> The denominator is reduced if we choose: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH: \begin{displaymath} \hat{g}(\nu) = \sqrt{1 - \mid\hat{h}(\nu)\mid^2} \end{displaymath} --> <IMG WIDTH="200" HEIGHT="46" SRC="img739.gif" ALT="\begin{displaymath}\hat{g}(\nu) = \sqrt{1 - \mid\hat{h}(\nu)\mid^2}\end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> This corresponds to the case where the wavelet is the difference between the square of two resolutions: <BR> <DIV ALIGN="CENTER"> <!-- MATH: \begin{eqnarray} \mid \hat \psi(2\nu)\mid^2 = \mid \hat \phi(\nu)\mid^2 - \mid \hat \phi(2\nu)\mid^2 \end{eqnarray} --> <TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%"> <TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG WIDTH="304" HEIGHT="53" ALIGN="MIDDLE" BORDER="0" SRC="img740.gif" ALT="$\displaystyle \mid \hat \psi(2\nu)\mid^2 = \mid \hat \phi(\nu)\mid^2 - \mid \hat \phi(2\nu)\mid^2$"></TD> <TD> </TD> <TD> </TD> <TD WIDTH=10 ALIGN="RIGHT"> (14.67)</TD></TR> </TABLE></DIV> <BR CLEAR="ALL"><P></P> <P> <BR> <DIV ALIGN="CENTER"><A NAME="fig_diff_uv_phi_psi"> </A><A NAME="15765"> </A> <TABLE WIDTH="50%"> <CAPTION><STRONG>Figure 14.10:</STRONG> Left, the interpolation function <!-- MATH: $\hat{\phi}$ --> <IMG WIDTH="18" HEIGHT="53" ALIGN="MIDDLE" BORDER="0" SRC="img741.gif" ALT="$\hat{\phi}$"> and right, the wavelet <!-- MATH: $\hat{\psi}$ --> <IMG WIDTH="21" HEIGHT="53" ALIGN="MIDDLE" BORDER="0" SRC="img742.gif" ALT="$\hat{\psi}$">.</CAPTION> <TR><TD><IMG WIDTH="940" HEIGHT="334" SRC="img743.gif" ALT="\begin{figure*} \centerline{ \hbox{ \psfig{figure=fig_diff_uv_phi_psi.ps,bbllx=0... ...blly=13.5cm,bburx=20.5cm,bbury=27cm,height=5cm,width=17cm,clip=}}} \end{figure*}"></TD></TR> </TABLE> </DIV> <BR> <BR> <DIV ALIGN="CENTER"><A NAME="fig_diff_uv_ht_gt"> </A><A NAME="15838"> </A> <TABLE WIDTH="50%"> <CAPTION><STRONG>Figure:</STRONG> On left, the filter <!-- MATH: $\hat{\tilde{h}}$ --> <IMG WIDTH="19" HEIGHT="33" ALIGN="BOTTOM" BORDER="0" SRC="img746.gif" ALT="$\hat{\tilde{h}}$">, and on right the filter <!-- MATH: $\hat{\tilde{g}}$ --> <IMG WIDTH="17" HEIGHT="52" ALIGN="MIDDLE" BORDER="0" SRC="img747.gif" ALT="$\hat{\tilde{g}}$">.</CAPTION> <TR><TD><IMG WIDTH="940" HEIGHT="338" SRC="img748.gif" ALT="\begin{figure*} \centerline{ \hbox{ \psfig{figure=fig_diff_uv_ht_gt.ps,bbllx=0.5... ...blly=13.5cm,bburx=20.5cm,bbury=27cm,height=5cm,width=17cm,clip=}}} \end{figure*}"></TD></TR> </TABLE> </DIV> <BR> <P> We plot in figure <A HREF="node323.html#fig_diff_uv_phi_psi">14.10</A> the chosen scaling function derived from a B-spline of degree 3 in the frequency space and its resulting wavelet function. Their conjugate functions are plotted in figure <A HREF="node323.html#fig_diff_uv_ht_gt">14.11</A>. <P> The reconstruction algorithm is: <DL COMPACT> <DT>1. <DD>We compute the FFT of the image at the low resolution. <DT>2. <DD>We set <I>j</I> to <I>n</I><SUB><I>p</I></SUB>. We iterate: <DT>3. <DD>We compute the FFT of the wavelet coefficients at the scale j. <DT>4. <DD>We multiply the wavelet coefficients <IMG WIDTH="29" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img749.gif" ALT="$\hat{w}_j$"> by <!-- MATH: $\hat{\tilde{g}}$ --> <IMG WIDTH="18" HEIGHT="52" ALIGN="MIDDLE" BORDER="0" SRC="img750.gif" ALT="$\hat{\tilde{g}}$">. <DT>5. <DD>We multiply the image at the lower resolution <IMG WIDTH="23" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img751.gif" ALT="$\hat{c}_j$"> by <!-- MATH: $\hat{\tilde{h}}$ --> <IMG WIDTH="19" HEIGHT="33" ALIGN="BOTTOM" BORDER="0" SRC="img752.gif" ALT="$\hat{\tilde{h}}$">. <DT>6. <DD>The inverse Fourier Transform of the addition of <!-- MATH: $\hat{w}_j\hat{\tilde{g}}$ --> <IMG WIDTH="41" HEIGHT="52" ALIGN="MIDDLE" BORDER="0" SRC="img753.gif" ALT="$\hat{w}_j\hat{\tilde{g}}$"> and <!-- MATH: $\hat{c}_i\hat{\tilde{h}}$ --> <IMG WIDTH="35" HEIGHT="63" ALIGN="MIDDLE" BORDER="0" SRC="img754.gif" ALT="$\hat{c}_i\hat{\tilde{h}}$"> gives the image <I>c</I><SUB><I>j</I>-1</SUB>. <DT>7. <DD><I>j</I> = <I>j</I> - 1 and we go back to 3. </DL> <P> The use of a scaling function with a cut-off frequency allows a reduction of sampling at each scale, and limits the computing time and the memory size. <P> <HR> <!--Navigation Panel--> <A NAME="tex2html5484" HREF="node324.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="icons.gif/next_motif.gif"></A> <A NAME="tex2html5481" HREF="node321.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="icons.gif/up_motif.gif"></A> <A NAME="tex2html5477" HREF="node322.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="icons.gif/previous_motif.gif"></A> <A NAME="tex2html5483" 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="tex2html5485" HREF="node324.html">Visualization of the Wavelet</A> <B> Up:</B> <A NAME="tex2html5482" HREF="node321.html">Multiresolution with scaling functions</A> <B> Previous:</B> <A NAME="tex2html5478" HREF="node322.html">The Wavelet transform using</A> <!--End of Navigation Panel--> <ADDRESS> <I>Petra Nass</I> <BR><I>1999-06-15</I> </ADDRESS> </BODY> </HTML>