|Posted: Tue Jul 28, 1998 6:42 am
Subject: Software: Image coder using biorth. wavelets in Java
|#9 Software: Image coder using biorth. wavelets in Java
Wavelet Expansion of Image Using Biorthogonal Filter Bank
Laurent Balmelli (firstname.lastname@example.org)
Laboratory for Audio-Visual Communications
Swiss Federal Institute of Technology
1015 Lausanne, Switzerland
The applet implements an iterated biorthogonal filter bank,
where four filters are involved (namely H0, H1, G0, G1) for image
coding. The leftmost image always represents the original data set
(which can be selected among a few ones using the left-bottom
pull-down), the middle one represents the coefficients expansion,
whereas the rightmost image contains the reconstructed data. The
coefficients are arranged as usually described in the literature (with
a flip!) :
LL : low-pass on image line, low-pass on image columns
HL : high-pass " " ", low-pass " " "
A set of biorthogonal filters is preset (first pull-down menu), Haar
(this one is orthogonal!), linear spline and quadratic spline, with
the delay induced by the filters, since one has linear phase. A
special option, named CUSTOM, allows the user to enter its own
filters. To do so, one must edit the filter fields above and below the
diagrams depicting the analysis part and the synthesis part of the
bank, and the filter bank total delay (rightmost field), AND FINALLY
SELECT THE CUSTOM OPTION of the pull-down menu, in order to initialize
the bank with the new filters. The message board acknowledge the bank
new setting with the message:
"Filter bank has been reset and is ready for analysis."
Filtering operations are described in the next section.
2. Filtering and Selection of Reconstruction Subbands
Each analysis step yields four subbands (see 1.). The "analysis"
button allows to iterate the filtering on the low-pass subband and
generate the coefficients of the wavelet transform of the image. A
counter between the "analysis" and "synthesis" buttons shows the
current number of steps achieved. Symmetrically, the "synthesis"
button allows performing a single reconstruction step. When doing so,
one can choose which subbands must be taken into account during THIS
SINGLE RECONSTRUCTION STEP, by selecting or disabling the checkboxes.
The unselected subbands will be put to zero. This feature allows to
fully reconstruct the image (the image is fully reconstructed when the
counter reaches value 0) with arbitrary subbands.
3. Transform Coefficients Representation
"Good" filter banks concentrates the signal energy in the low-pass
subband. For this reason, high-pass coefficients are usually of small
non-integer magnitude. Moreover, high-pass coefficients may have
arbitrary sign. Image pixel are formed of three colors (Red, Green,
Blue), each encoded using 8 bits. Simply visualizing high-frequency
components as is (e.g. generating a coefficients image by converting
the values into 8-bit integers) yields a dark, poor quality
representation. A simple method is to translate and scale the
coefficients to transfer them to a more visible space. This operation
is performed to generate the coefficients image (middle image).
However, the reconstructed image is left unchanged, unless the user
select the "enhance" checkbox. This option is particularly useful when
one wants the reconstruct an image only using the high-pass subbands
(disable the LL checkbox during reconstruction), in order to visualize
its high-frequencies (details).
The applet is a didactic tool to understand iterated filter banks,
wavelet transform, biorthogonal filters and multiresolution
decomposition of images. It is part of an iterative DSP course ,
which is currently in preparation. It is also a simple tool to test
biorthogonal filters and compare their performance.
 Martin Vetterli and Jelena Kovacevic - Wavelets and Subband
Coding, Prentice Hall, Englewood Cliffs, NJ 07632
 Laurent Balmelli and Serge Ayer - The Interactive DSP Book,
http://lcavwww.epfl.ch/DSPBook Swiss Federal Institute of