Embedded Zerotree Wavelet
- An Image Coding Algorithm
Shufang Wu [Link]
vswu@[Link] Friday, June 14, 2002
Embedded Zerotree Wavelet
22 - 1
Agenda
Overview Discrete Wavelet Transform Zerotree Coding of Wavelet Coefficients Successive-Approximation Quantization (SAQ) Adaptive Arithmetic Coding Relationship to Other Coding Algorithms A Simple Example Experimental Results Conclusion References Q&A
22 - 2
Embedded Zerotree Wavelet
Overview (2-1)
Two-fold problem
Obtaining best image quality for a given bit rate Accomplishing this task in an embedded fashion
What is Embedded Zerotree Wavelet (EZW) ?
An embedded coding algorithm 2 properties, 4 features and 2 advantages (next page)
What is Embedded Coding?
Representing a sequence of binary decisions that distinguish an image from the null image Similar in spirit to binary finite-precision representations of real number
Embedded Zerotree Wavelet
22 - 3
Overview (2-2) - Embedded Zerotree Wavelet (EZW)
2 Properties
Producing a fully embedded bit stream Providing competitive compression performance
4 Features
Discrete wavelet transform Zerotree coding of wavelet coefficients Successive-approximation quantization (SAQ) Adaptive arithmetic coding
2 Advantages
Precise rate control No training of any kind required
Embedded Zerotree Wavelet
22 - 4
Agenda
Overview Discrete Wavelet Transform Zerotree Coding of Wavelet Coefficients Successive-Approximation Quantization (SAQ) Adaptive Arithmetic Coding Relationship to Other Coding Algorithms A Simple Example Experimental Results Conclusion References Q&A
22 - 5
Embedded Zerotree Wavelet
Discrete Wavelet Transform (2-1)
Identical to a hierarchical subband system
Subbands are logarithmically spaced in frequency Subbands arise from separable application of filters
LL2
HL2
LL1
HL1
HL1
LH2 HH2
LH1
HH1
LH1
HH1
First stage
Second stage
Embedded Zerotree Wavelet
22 - 6
Discrete Wavelet Transform (2-2)
Wavelet decomposition (filters used based on 9-tap symmetric quadrature mirror filters (QMF))
wy
Df1
Df1
wx
In the frequency domain
Embedded Zerotree Wavelet
D32jf
Image wavelet representations
22 - 7
Zerotree Coding (3-1)
A typical low-bit rate image coder
Large bit budget spent on encoding the significance map
Binary decision as to: whether a coefficient has a zero or nonzero quantized value
True cost of encoding the actual symbols: Total Cost = Cost of Significance Map + Cost of Nonzero Values
Embedded Zerotree Wavelet
22 - 8
Zerotree Coding (3-2)
What is zerotree?
A new data structure Parent: IF: To improve the compression of significance maps of The coefficient at the scale coarse scale. wavelet coefficients A wavelet coefficient at a coarse is insignificant with Scanning rule:
Child: respect to a given threshold T, a coefficient xA is said to be insignificant with respect wavelet What is insignificant? No child node is scanned before its parent. coefficient x is All coefficients corresponding to the same spatial location at THEN: to a given threshold T if : Zerotree is element based onof an true hypothesis IF An aempirically zerotree for threshold T is the next finer scale of similar orientation. All itself wavelet coefficients of |x| the same orientation in the same < T are and all of its descendents insignificant with IF Parent-child dependencies (descendants & ancestors) spatial at finerrespect scales are to be zerotree insignificant to Tlikely . It is notlocation the descendant of a previously found root Scanning of the coefficients with respect toTT. for threshold . An element of a zerotree for threshold T Scanning order of the subbands Parent-child dependencies of subbands A zerotree root
Embedded Zerotree Wavelet
22 - 9
Zerotree Coding (3-3)
Encoding
Embedded Zerotree Wavelet
22 - 10
SAQ (3-1)
Successive-Approximation Quantization (SAQ)
Sequentially applies a sequence of thresholds T0,,TN-1 to determine significance
Thresholds
Chose so that Ti = Ti-1 /2 T0 is chosen so that |xj| < 2T0 for all coefficients xj
Two separate lists of wavelet coefficients
Dominant list Subordinate list Dominant list contains: Subordinate list of contains: The coordinates those coefficients that have not yet been found to The magnitudes of those that have been found be significant in the samecoefficients relative order as the initial scan. to be significant.
Embedded Zerotree Wavelet
22 - 11
SAQ (3-2)
Dominant pass a dominant During Subordinate pass pass: with coordinates on the dominant list are compared coefficients Encoding process During a subordinate pass:
to the threshold Ti to determine their significance, and if all coefficients on the subordinate list are scanned and the significant, their sign. SAQ encoding process: specifications of the magnitudes available to the decoder are FOR I = T0 TO TN-1 refined to an additional bit of precision. Dominant Pass; Subordinate Pass (generating string of symbols) ; String of symbols is entropy encoded; Sorting (subordinate list in decreasing magnitude); IF (Target stopping condition = TRUE) break; NEXT;
Embedded Zerotree Wavelet
22 - 12
SAQ (3-3)
Decoding
Each decode symbol, during both passes, refines and reduces the width of the uncertainty interval in which the true value of the coefficient ( or coefficients, in the case of a zerotree root)
Reconstruction value
Can be anywhere in that uncertainty interval Practically, use the center of the uncertainty interval
Good feature
Terminating the decoding of an embedded bit stream at a specific point in the bit stream produces exactly the same image that would have resulted had that point been the initial target rate
22 - 13
Embedded Zerotree Wavelet
Adaptive Arithmetic Coding
Based on [3], encoder is separate from the model
which is basically a histogram
During the dominant passes
Choose one of four histograms depending on
Whether the previous coefficient in the scan is known to be significant Whether the parent is known to be significant
During the subordinate passes
A single histogram is used
Embedded Zerotree Wavelet
22 - 14
Relationship to Other Coding Algorithms
Relationship to Bit Plane Encoding (more general & complex) (all thresholds powers of uncertainty two and all coefficients are a) Reduce the width are of the largest interval in all coefficeints integers ) precision further b) Increase the
c) Attempt to predict insignificance from low frequency to high Most-significant binary digit (MSBD)
Item 1) First b) a) including First a) second b) Dominant bits (digits to second the left and the MSBD) 2) No encoded c) c) Measured and during the dominant pass 3) Training needed No training needed Subordinate bits (digits to the right of the MSBD)
Measured and encoded during the subordinate pass
Its sign and bit position are measured and encoded during the dominant pass PPC EZW
Relationship to Priority-Position Coding (PPC)
22 - 15
Embedded Zerotree Wavelet
Agenda
Overview Discrete Wavelet Transform Zerotree Coding of Wavelet Coefficients Successive-Approximation Quantization (SAQ) Adaptive Arithmetic Coding Relationship to Other Coding Algorithms A Simple Example Experimental Results Conclusion References Q&A
22 - 16
Embedded Zerotree Wavelet
A Simple Example (2-1)
Only string of symbols shown (No adaptive arithmetic coding) Simple 3-scale wavelet transform of an 8 X 8 image T0 = 32 (largest coefficient is 63)
63 -34 49 10 7 13 -12 7 -31 23 14 -13 3 4 6 -1
15 14 3 -12 5 -7 -9 -7 -14 8 4 -2 3 3 9 2
-5 9 -1 47 4 6 -2 2 3 0 -3 2 3 -2 0 4
2 -3
6 4
3 0
6 4
22 - 17
5 11 5
Embedded Zerotree Wavelet
3 -4
Example
A Simple Example (2-2)
First dominant pass First subordinate pass
63 -34 49 10 7 13 -12 7 -31 23 14 -13 3 4 6 -1 15 14 3 -12 5 -7 -9 -7 -14 8 4 -2 3 3 9 2
-5 9 -1 47 4 6 -2 2 3 0 -3 2 3 -2 0 4 2 -3
6 4
3 0
6 4
5 11 5
3 -4
Example
Embedded Zerotree Wavelet
Magnitudes are partitioned into the uncertainty intervals [32, 48) and [48, 64), with symbols 0 and 1.
22 - 18
Experimental Results
12-byte header
Number of wavelet scales For image of Barbara: Dimensions of the image For number of significant coefficients retained at the same low bit rate: in the arithmetic coder Item Maximum histogram JPEG count for the models EZW Same file size meanPSNR lower Looks better Image & initial threshold
Item Other EZW Same PSNR to standard Looks better File size smaller Applied b/w 8 bpp. test images Number retained Less More encoding with the JPEG positions of the significant coefficients.) Compared Compared with other wavelet transform coding
Embedded Zerotree Wavelet
512 X 512 Lena image ( PSNR : Peak-Signal-to-Noise-Rate ) 512 X 512zerotree Barbaracoding image provides a much better way of (Reason: The
22 - 19
Conclusion
2 Properties
Producing a fully embedded bit stream Providing competitive compression performance
4 Features
Discrete wavelet transform Zerotree coding of wavelet coefficients Successive-approximation quantization (SAQ) Adaptive arithmetic coding
2 Advantages
Precise rate control No training of any kind required
Embedded Zerotree Wavelet
22 - 20
References
1. E. H. Adelson, E. Simoncelli, and R. Hingorani, Orthogonal pyramid transforms for image coding, Proc. SPIE, vol.845, Cambridge, MA, Oct. 1987, pp. 50-58 2. S. Mallat, A theory for multiresolution signal decomposition: The wavelet representation, IEEE Trans. Pattern Anal. Mach. Intell., vol. 11, pp. 674-693, July 1989 3. I. H. Witten, R. Neal, and J. G. Cleary, Arithmetic coding for data compression, Comm. ACM, vol. 30, pp. 520-540, June 1987 4. J. Shapiro, Embedded image coding using zerotrees of wavelet coefficients, IEEE Trans. Signal Processing., vol. 41, pp. 3445-3462, Dec. 1993
Embedded Zerotree Wavelet
22 - 21
Embedded Zerotree Wavelet
22 - 22