Two-Dimensional Wavelets ECE 802 Spring 2010 Two-Dimensional Wavelets • For image processing applications we need wavelets that are two-dimensional. • This problem reduces down to designing 2D filters. • We will focus on a particular class of 2D filters: separable filters (can be directly designed from their 1D counterparts) 2D Scaling Functions • The theories of multiresolution analysis and wavelets can be generalized to higher dimensions. • In practice the usual choice for a two-dimensional scaling function or wavelet is a product of two one-dimensional functions. For example, ( x, y) ( x) ( y) and the dilation equation assumes the form: ( x, y) 2 h(k , l ) (2x k ,2 y l ) k ,l 2D Wavelet Functions • Since (x), ( y) both satisfy the dilation equation, h(k , l ) h(k )h(l ) • We can analogously construct the wavelets. However, now instead of 1 wavelet function, we have 3 wavelet functions: • The corresponding dilation equations are: where g(I) (k,l)=h(k)g(l), g(II) (k,l)=g(k)h(l), g(III) (k,l)=g(k)g(l). Example: 2D Haar • 2D Haar scaling: • 2D Haar wavelets: Subspaces • V2j is the two-dimensional subspace at scale j. • As j increases, we get L2(R2). V j2 V j V j V 2 j 1 Vj2 Wj2 2D wavelet decomposition • The approximation and detail coefficients are computed in a similar way: • The reconstruction is: Filterbank Structure: Decomposition • Filterbank Structure: Reconstruction • The Three Frequency Channels We can interpret the decomposition as a breakdown of the signal into spatially oriented frequency channels. Decomposition of frequency support Arrangement of wavelet representations Wavelet Decomposition:Example LENA LH HL HH Wavelet Example 2 Applications: Edge Detection in Images • Application: Image Denoising Using Wavelets • Noisy Image: • Denoised Image: Denoising Images • Denoising Daubechies’ face: – Transform the image to the wavelet domain using Coiflets with three vanishing moments – Apply a threshold at two standard deviations – Inverse-transform the image. Image Denoising Using Wavelets • Calculate the DWT of the image. • Threshold the wavelet coefficients. The threshold may be universal or subband adaptive. • Compute the IDWT to get the denoised estimate. • Soft thresholding is used in the different thresholding methods. Visually more pleasing images. VisuShrink • Apply Donoho’s universal threshold, 2 logM • M is the number of pixels. • The threshold is usually high, overly smoothing. SUREShrink • Subband adaptive, a different threshold is calculated for each detail subband. • Choose the threshold that will minimize the unbiased estimate of the risk: • This optimization is straightforward, order the wavelet coefficients in terms of magnitude and choose the threshold as the wavelet coefficient that minimizes the risk. BayesShrink • Adaptive data-driven thresholding method • Assume that the wavelet coefficients in each subband is distributed as a Generalized Gaussian Distribution (GGD) • Find the threshold that minimized the Bayesian risk. GGD • Shape parameter β, std. σ. BayesShrink • Choose the threshold that will minimize the Bayesian risk. • There is no closed form for the threshold. BayesShrink Empirical Threshold • An empirical threshold is used in practice that is very close to the optimum threshold. • Adapts to the SNR in each subband. Comparisons Image Enhancement • Image contrast enhancement with wavelets, especially important in medical imaging • Make the small coefficients very small and the large coefficients very large. • Apply a nonlinear mapping function to the coefficients. Experiments Denoising and Enhancement • Apply DWT • Shrink transform coefficients in finer scales to reduce the effect of noise • Emphasize features within a certain range using a nonlinear mapping function • Perform IDWT to reconstruct the image. Examples Original Denoised Denoising with Enhancement Edge Detection • Edges correspond to the singularities in the image and are related to the local maxima of wavelet coefficients. • For edge detection, a smoothing function (such as a spline) and two wavelet functions are defined. • Wavelet functions are usually the first and second order derivatives of the smoothing function. • Examples: • Keep the detail coefficients and discard the approximation coefficients • Edges correspond to large coefficients Applications • Computer vision • Image processing in the human visual system has a complicated hierarchical structure that involves several layers of processing. • At each processing level, the retinal system provides a visual representation that scales progressively in a geometrical manner. • Intensity changes occur at different scales in an image, so that their optimal detection requires the use of operators of different sizes. • Therefore, a vision filter have two characteristics: it should be a differential operator, and it should be capable of being tuned to act at any desired scale. • Wavelets are ideal for this FBI Fingerprint Compression • A single fingerprint is about 700,000 pixels, and requires about 0.6MBytes. Image Compression and Wavelets Why Compression? • Uncompressed images take too much space, require larger bandwidth for transmission and longer time to transmit • Examples: – 512x512 grayscale image: 262KB – 512x512 color image: 786KB • The common principle beyond compression is to reduce redundancy: spatial and spectral redundancy Types of Compression • Lossy vs. Lossless: Lossy compression discards redundant information, achieves higher compression ratios. Lossless compression can reconstruct the original image. • Predictive vs. Transform Coding Components of a Coder • Source Encoder: Transform the image – DFT,DCT,DWT (linear transforms) • Quantizer: Scalar vs. Vector (lossy coding) • Entropy Encoder: Compresses the quantized values (lossless) Original JPEG • Use DCT to transform the image (real part of DFT) Original JPEG • Transform each 8x8 block using DCT • Since adjacent pixels are highly correlated, most of the coefficients are concentrated at lower frequencies. • Quantize the DCT coefficients (uniform quantization) and then entropy encode for further compression Disadvantages of DCT: Why wavelets? • DCT based JPEG uses blocks of image, there is still correlation across blocks. • Block boundaries are noticeable in some cases • Blocking artifacts at low bit rates • Can overlap the blocks Computationally expensive Was JPEG not good enough? • JPEG is based on DCT. • Equal subbands. • At low bit rates, there is a sharp degradation with image quality. • 43:1 compression ratio Why Wavelets? • No need to block the image • More robust under transmission errors • Facilitates progressive transmission of the image (Scalability) Features of JPEG2000 • Multiple Resolution: Decomposes the image into a multiple resolution representation. • Progressive transmission: By pixel and resolution accuracy, referred to as progressive decoding and signal-to-noise ratio (SNR) scalability: This way, after a smaller part of the whole file has been received, the viewer can see a lower quality version of the final picture. • Lossless and lossy compression • Random code-stream access and processing: JPEG 2000 supports spatial random access or region of interest access at varying degrees of granularity. This way it is possible to store different parts of the same picture using different quality. • Error resilience: JPEG 2000 is robust to bit errors introduced by noisy communication channels, due to the coding of data in relatively small independent blocks. JPEG2000 Basics General block diagram of the JPEG 2000 (a) encoder and (b) decoder Wavelets in Image Coding • Orthogonal vs. Biorthogonal: – – – – – – – JPEG 2000 uses biorthogonal filters Lossless and lossy compression Cohen-Daubechies-Feavau filters 9/7 CDF 5/3 for lossless compression (integer) Filters are symmetric/anti-symmetric Nearly orthogonal Symmetric extensions of the input data Steps in JPEG2000 • • • • Tiling: The image is split into tiles, rectangular regions of the image that are transformed and encoded separately. Tiles can be any size. Dividing the image into tiles is advantageous in that the decoder will need less memory to decode the image and it can opt to decode only selected tiles to achieve a partial decoding of the image. Using many tiles can create a blocking effect. Wavelet Transform: Either CDF 9/7 or CDF 5/3 biorthogonal wavelet transform. Quantization: Scalar quantization Coding: The quantized subbands are split into precincts, rectangular regions in the wavelet domain. They are selected in a way that the coefficients within them across the sub-bands form approximately spatial blocks in the image domain. Precincts are split further into code blocks. Code blocks are located in a single sub-band and have equal sizes. The encoder has to encode the bits of all quantized coefficients of a code block, starting with the most significant bits and progressing to less significant bits by EBCOT scheme. DWT for Image Compression • Image Decomposition – Parent – Children – Descendants: corresponding coeff. at finer scales – Ancestors: corresponding coeff. at coarser scales LL3 HL3 HL2 LH3 HH3 LH2 HL1 HH2 LH1 HH1 –Parent-children dependencies of subbands: arrow points from the subband of parents to the subband of children. DWT for Image Compression • Image Decomposition – Feature 1: • Energy distribution concentrated in low frequencies – Feature 2: • Spatial self-similarity across subbands LL3 HL3 HL2 LH3 HH3 LH2 HL1 HH2 LH1 HH1 The scanning order of the subbands for encoding the significance map. DWT for Image Compression • Differences from DCT Technique – In conventional transform coding: • Anomaly (edge) produces many nonzero coeff. insignificant energy • TC allocates too many bits to “trend”, few bits left to “anomalies” • Problem at Very Low Bit-rate Coding : block artifacts – DWT • Trends & anomalies information available • Major difficulty: fine detail coefficients associated with anomalies the largest no. of coeff. • Problem: how to efficiently represent position information? Embedded Zerotree Wavelet Compression (EZW) • The zerotree is based on the hypothesis that if a wavelet coefficient at a coarse scale is insignificant, then all wavelet coefficients of the same orientation in the same spatial location at finer scales are likely to be insignificant. – Natural images in general have a low pass spectrum. When an image is wavelet transformed, the energy in the sub-bands decreases with the scale goes higher so the wavelet coefficient will, on average, be smaller in the higher levels. EZW 1. 2. 3. We can set a threshold T, if the wavelet coefficient is larger than T, then encode it as 1, otherwise we code it as 0. ‘1’ will be reconstructed as T (or a number larger than T) and ‘0’ will be reconstructed as 0. We then decrease T to a lower value, repeat 1 and 2. So we get finer and finer reconstructed data. • There are coefficients in different subbands that represent the same spatial location in the image depicted by a quad tree. • If a wavelet coefficient at a coarse scale is insignificant with respect to a given threshold T, i.e. |c|<T then all wavelet coefficients of the same orientation at finer scales are also likely to be insignificant with respect to T. EZW Image Coding • Embedded Coding – Having all lower bit rate codes of the same image embedded at the beginning of the bit stream – Bits are generated in order of importance – Encoder can terminate encoding at any point, allowing a target rate to be met exactly – Suitable for applications with scalability EZW Algorithm • First step: The DWT of the entire 2-D image will be computed by FWT • Second step: Progressively EZW encodes the coefficients by decreasing the threshold • All the coefficients are scanned in a special order – If the coefficient is a zero tree root, it will be encoded as ZTR. All its descendants don’t need to be encoded – they will be reconstructed as zero at this threshold level – If the coefficient itself is insignificant but one of its descendants is significant, it is encoded as IZ (isolated zero). – If the coefficient is significant then it is encoded as POS (positive) or NEG (negative) depends on its sign. • Third step: Arithmetic coding is used to entropy code the symbols EZW Image Coding • Zerotree of DWT Coefficients – Significance map: Binary decision as to a pixel = 0 or not – Total encoding cost = cost of encoding significance map + cost of encoding nonzero values – An element of zerotree: • A coeff.: itself or some of its descendants are significant w.r.t. threshold T • Zerotree root: An element of zerotree, & not a descendant of a zero element at a coarser scale • Isolated zero: Insignificant, but has some significant descendant – Significance map can be efficiently represented as a string of four symbols: * Zerotree root * Isolated zero * Positive significant coeff. * Negative significant coeff. Set Partitioning in Hierarchical Trees (SPIHT) • Modify EZW. • Order coefficients by magnitude and transmit the most significant bits. • Progressive transmission. EBCOT (Embedded Block Coding with Optimized Truncation) • Implements tiling, DC-level shifting, DWT, arithmetic coding • Compression of the image at different resolutions JPEG2000 encoding process Progression • Progression by Quality Region of Interest Coding • Code different regions of interest with different quality • Scale coefficients such that the bits corresponding to ROI are in the higher bit plane. Scalability • SNR scalability and spatial scalability • The ability to achieve coding of more than one quality • Resilience to transmission errors, no need to know target bit rate/resolution, no need for multiple compressions SNR Scalability • The bit stream can be decompressed at different quality levels (SNR) Decompressed image “bike” at (a) 0.125 b/p, (b) 0.25 b/p, (c) 0.5 b/p Spatial Scalability • The bit stream can be decompressed at different resolution level