Embedded Zerotree Wavelets

To explain how the coefficients are set to zero, an encoder specially designed to use wavelet transforms is used.  Shapiro’s Embedded Zerotree Wavelet (EZW) encoder is based on a type of coding called progressive encoding (also called embedded encoding) that compresses an image into a bit stream with increasing accuracy.  This means that as more bits are added to the stream, the decoded image contains more detail; a property similar to JPEG encoded images.  This property can be thought of in the same way as significant digits of a decimal number, such as pi, where the more significant digits that are used determine accuracy of the number.  

The EZW encoder violates the observation that larger coefficients are more important than smaller ones, by encoding the coefficients in decreasing order, during several passes.  For each pass, a threshold is chosen which all coefficients are measured against.   If a wavelet

coefficient is larger than the threshold it is encoded and removed from the image, if it is smaller than the threshold it is left for the next pass. When all the wavelet coefficients have been passed over, the threshold is lowered and the image is scanned again to add more detail to the already encoded image. This process is repeated until all the wavelet coefficients have been encoded completely.  Now the dependency between the wavelet coefficients across different scales must be used to effectively encode large parts of the image that are below the current set threshold. 

A wavelet transform works by transforming a signal from time domain into a joint time-scale domain, meaning the wavelet coefficients are two dimentional.  If the desired signal is to be compressed, the coefficient values and their position in time must be encoded.  If the signal is an image, such as the fingerprint images, the position in time is expressed better as a position in space.  After the image is transformed by wavelets, it can be represented by ‘trees’ because of the many samplings that are done in the transform.  Each coefficient in a low level can be thought of as having four descendants in the next higher level.  A type of tree structure is formed because every coefficient has four other coefficients attached to it, as seen below in Figure 10. 

Figure 10.  The relation between wavelet coefficients on different levels.

 

A zerotree is a tree similar to the one in Figure 10, in which all of the nodes are equal to or smaller than the one above it.  The tree is coded with a single symbol and recomposed by the decoder as a tree filled with zeros.  This zerotree takes advantage of the fact that all the wavelet coefficients will be zero if in a certain area of the image, there are no sharp edges. 

After these steps, but before the compressed data is saved, all the floating numbers must be converted into integers in a method called quantization.  Since the human eye sees according to a logarithmic scale, the error margin is very small when approximating small coefficients, but large when approximating large coefficients.  Once the floating numbers have been converted into integers, entropy coding is done.  Entropy coding takes advantage of the fact that a single number can represent many zeros.  To make entropy coding even more effective, a variable bit rate per scale is used to give more importance to larger coefficients and less importance to small scale coefficients.  This process proves to be a very effective tool in fingerprint compression because it allows more data to be sent over a modem or stored electronically.  The entire FBI method can be described by the schematic shown in Figure 11.

Figure 11.  FBI process for compressing and decompressing images.

<BACK  HOME  NEXT>