JPEG-2000 Wavelet Demo

SORRY: This page needs to be viewed with a Java enabled browser such as Netscape Navigator, HotJava, or Internet Explorer

What is going on?

  1. An image is loaded and placed in the upper left corner.
  2. The forward wavelet transform is applied on the image. The result is displayed on the right of the input image.
  3. 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.
  4. 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.
  5. 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.
  6. 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 :

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:


IMEC Copyright 1998, IMEC

Author: Lode Nachtergaele
Multimedia Image Compression Systems
Date: 98/02/27