JPEG-2000 Wavelet Demo
What is going on?
-
An image is loaded and placed in the upper left corner.
-
The forward wavelet transform is applied on the image. The result is displayed
on the right of the input image.
-
The forward wavelet transform is repeated on on the downside image (=the
DC image) appearing in the upper left corner until only 1 pixel is left.
This resulting image is the wavelet image of the input image.
-
1 pixel is "transmitted" from the wavelet image to the image on the bottom
right. This is indicated with the red box that appears in the wavelet image.
All other pixels at the receiver side are set to zero (zero pixels in YCrCb
become green in the RGB color space and hence they appear as green in the
image at bottom right). On this wavelet image a series of backward wavelet
transforms are applied until an image of the original size is reached.
This inverse image is then copied and displayed on the bottom left.
-
Three (=22-1) extra pixels "are transmitted" and the backward
wavelet transforms are applied on the image on the bottom right. The result
of inverse wavelet transforms is displayed at the bottom left.
-
This process is repeated until an exact reconstruction of the original
image is obtained and displayed on the bottom left. In each step, about
2i-2i-1 extra pixels are "transmitted" until the
full wavelet image is obtained at the "receiver side". The relative progress
is indicated in the red slider bar at the right of the wavelet image.
This applet uses an implementation of the forward and backward wavelet
transform defined in the MPEG4 standard Version 1 (ISO/IEC JTC/SC29/WG11
N1902, Fribourg, Oct. 1997, Paragraph 10 Annex A Coding transforms).
The wavelet transform is implemented by means of the lifting scheme
(See papers of Wim Sweldens
for an explanation about this scheme.) The implemented synthesis filters
corresponds to a Cohen - Daubechies
- Feauveau biorthogonal 9/3 taps filter with the following coefficients
:
-
Highpass = {3,6,-16,-38,90,-38,-16,6,3}*2(-13/2)
-
Lowpass = {32,64,32}*2(-13/2)
There are 2 vanishing moments in the primal wavelet and 4 in the dual wavelet.
The primal wavelet with 2 vanishing moments is :
t1(z) = -1/2 * z-1 - 1/2
The dual wavelet with 4 vanishing moments is :
s1(z) = -3/64 * z-1 - 19/64 + 19/64 * z - 3/64
* z2
Remark that the denominators are powers of two.
To rerun this demonstration applet, hit the reload button. Unfortunately,
I noticed that this sometimes imposes heavy demand on the memory resources
(e.g. when using Netscape Communicator 4.03). A work-around is to press
shift-reload. This frees the memory resources but reloads the class files
and the images (62 Kbytes).
Thanks to:
Copyright 1998, IMEC
Author: Lode Nachtergaele
Multimedia Image Compression
Systems
Date: 98/02/27