next up previous contents index
Next: Fezw Up: Reference Previous: cfiezw   Contents   Index

ezw

$ \bigcirc$Name


ezw Wavelet transform compression via EZW algorithm




$ \bigcirc$Command Synopsis


ezw [-p] [-r NLevel] [-w WeightFac] [-t Threshold] [-m Max_Count_AC] [-d] [-R TargetRate] [-P TargetPSNR] [-s SelectArea] [-o Compress] WavTrans QWavTrans



-p : Print full set of information

-r NLevel : Quantize wavelet transform up to level NLevel (Default : number of level in WavTrans)

-w WeightFac : Scaling factor for wavelet coefficients

-t Threshold : Fix initial threshold

-m Max_Count_AC : Number of counts for histogram in arithm. coding

-d : Computes distorsion-rate function

-R TargetRate : Target bit rate

-P TargetPSNR : Target PSNR

-s SelectArea : Polygonal regions to be encoded with a different rate or PSNR (polygons)

-o Compress : Output compressed representation of WavTrans (cimage)

WavTrans : Input wavelet transform (wtrans2d)

QWavTrans : Output quantized wavelet transform (wtrans2d)




$ \bigcirc$Function Summary


void ezw (PrintFull , NumRec , WeightFac , Thres , Max_Count_AC , DistRate , Rate , PSNR , SelectedArea , Compress , Wtrans , Output , PtrDRC )

int *PrintFull ;

int *NumRec ;

float *WeightFac ;

float *Thres ;

int *Max_Count_AC ;

int *DistRate ;

float *Rate ;

float *PSNR ;

Polygons SelectedArea ;

Cimage Compress ;

Wtrans2d Wtrans ;

Wtrans2d Output ;

char *PtrDRC ;




$ \bigcirc$Description


This module compresses the wavelet transform of an image using Shapiro's EZW algorithm [Sha93]. It can produce both the compressed file and the quantized wavelet transform (which can be reconstructed from the compressed file).

Description of the algorithm

This is a brief description of EZW algorithm. We refer the reader to [Sha93] for a full explanation.

The EZW algorithm is a two steps iterative algorithm. The first step is called the dominant pass, and it alternates with the second step, which is called the subordinate pass. Another important feature of the EZW algorithm is that it strongly relies on the tree structure of the wavelet transform.

For the first dominant pass, one has to choose an initial threshold. This should be preferably smaller than the amplitude S of the biggest wavelet coefficient in the transform, and larger than S/2.

An important feature of the algorithm is that one can compute at any moment the number of bit transmitted or encoded, as well as the error between the original and the quantized wavelet transform. Thus one can stop the algorithm whenever a target bit rate or SNR (error) is reached. This is the progressive transmission capability of the EZW algorithm.

Options

- p : $\textstyle \parbox{15.2cm}{Print full information (number of zero tree roots,
...
... encoding of significance map (RM)
and refinement of quantization (RQ), ...).}$

- r    NLevel : $\textstyle \parbox{12.9cm}{Applies the algorithm
to the transform with $NLevel$\ levels (default : number of levels
in $WavTrans$). }$

- w    WeightFac : $\textstyle \parbox{13.0cm}{Multiplies wavelet coefficients
at level $J$\ by $W...
...ve
(sometimes...) the visual quality of the image, while degrading the PSNR. }$

$-m \;\; Max\mbox{\_}Count\mbox{\_}AC$ : $\textstyle \parbox{12.1cm}{Specifies
the capacity of the histogram representing the model of the source
for arithmetic coding (default : 256).}$

- t    Threshold : $\textstyle \parbox{13.3cm}{Specifies the initial threshold $T$for the first dom...
...lf of the amplitude
of the biggest coefficient in the transform $WavTrans$). }$

- d : $\textstyle \parbox{15.2cm}{Print bit rate and PSNR for different values of
bit rate (enables to draw a distortion-rate curve). }$

- R    TargetRate : $\textstyle \parbox{13.0cm}{Stops encoding when the target bit
rate $TargetRate$\ is reached (default : 8bpp). }$

- P    TargetPSNR : $\textstyle \parbox{13.3cm}{Stops encoding when the target PSNR
$TargetPSNR$\ is reached. }$

- s    SelectArea : $\textstyle \parbox{13.3cm}{Encode regions enclosed
by polygonal lines with a d...
...ops when encoding
has stopped in all selected regions and in the background. }$

- o    Compress : $\textstyle \parbox{13.3cm}{Generates the compressed file
and put it in $Compress$\ (output cimage). }$

Input

WavTrans is a wavelet transform of an image in the Wtrans2d format. It is the wavelet transform to be compressed.

Output

QWavTrans is a wavelet transform of an image in the Wtrans2d format. It is the result of the quantization of WavTrans. It can be reconstructed from Compress.




$ \bigcirc$See Also


fillpoly.

fezw.


$ \bigcirc$Version 1.30


Last Modification date : Thu Nov 29 20:23:57 2001


$ \bigcirc$Author


Jean-Pierre D'Ales






next up previous contents index
Next: Fezw Up: Reference Previous: cfiezw   Contents   Index
mw 2004-05-05