-
7/30/2019 Introduction to Wavelets in Image Compression
1/13
-
7/30/2019 Introduction to Wavelets in Image Compression
2/13
Vectors are extended to allow proper transformation with filters that reference the surrounding area of every sample. The extension is done with
4 elements, as required by the above 9/7 filter.
Note that the transformation is reversible regardless of the vector extension
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
3/13
But note that the coefficient magnitudes are lower with vector extension
The high-pass and low-pass subbands are interleaved after the transform, but it is often desirable to separate and deinterleave them for further
processing.
Wavelets on images
Wavelet transform is especially useful for transforming images. For this, we apply it twice according to the JPEG-2000 standard: first on
columns, second on rows. Upon this, we deinterleave the image matrix, and possibly recursively transform each subband individually further.
We can now import the standard benchmark picture, sized 512x512:
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
4/13
We will only work with a small but diverse part of the image, combining sharp features, smooth gradients, and complex textures. Note that we
conver the unsigned byte values [0,256) to signed on the interval [-128,128). This way we can exploit gradient symmetry in quantization
By transposing the image, we can easily implement the 2D DWT:
It is very useful to interleave and deinterlave images too. We do this by creating four subimages, for the HH, LH, HL, and LL subbands.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
5/13
Now that we have everything ready, we can embark on processing the chosen section of the image.
Let's show all four subbands:
The transformation is reversible, as we now show.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
6/13
Denoising
Now, let's try to denoise the image, by chopping near-zero values in the LH, HL and HH components (or low-power white noise), and
subsequently reconstructing the image. Note that we chop away more in the HH subband than in the LH and HL - but we didn't have to. This
technique is called hard thresholding.
Soft thresholding shrinks the magnitude of the coefficient values outside the threshold, but it's worse in our example.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
7/13
Quantization
Image compression is based on a slightly different concept - quantization. Instead of having 256 levels of grey, we might have only 16. Such an
image would look bad. But we can do just this on the LH, HL and HH subbands, without losing much. All we're going to do is rounding - with
different amounts depending on the subband. This is called deadzone (rounding down) uniform (division by a number) scalar (it operates on
individual color components of individual pixels which are scalars) quantization. Let's see:
As you can see, not that much quality was lost - especially considering that the above picture is enlarged on the screen! But the final filesize due
to skipping bits is (compare with 100%):
This might not seem much, but note that the remaining information is much more (i.e. orders of magnitude more) compressible with ordinary
entropy coding techniques (usually preceded by run-length coding), as we also denoised the image! Furthermore, we can recursively filter the LL
subband again, and repeat the procedure on LLLH, LLHL, and LLHH.
Examine the subbands after quantization. Note that the LH, HL and HH subbands have become extremely simple and very well compressible.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
8/13
We notice that the sharp edge information remains in the LH, HL and HH subbands, but most of the lower amplitude noise, as well as the exact
magnitudes of the edges have been compromised.
Other decompositions
Let us automatize some earlier operations. Specifically,we will perform DWT recursively in each subband. This is sometimes called a packet or
SPACL decomposition (if we recursively subdivided the LLLL once or twice more), unlike the above 1-level Mallat decompositions where the
high-pass subbands remain undecomposed. The decompositions can be performed recursively - if we performed a Mallat decomposition again on
the LL, we would obtain a 2-level Mallat decomposition. The decomposition below is actually a 2-level packet decomposition, as we performed
it twice recursively, and it's packet decomposition because it was performed on all subbands.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
9/13
We can see that the LH*, HL* and HH* subbands appear to be quite uninformative. It's time to try to understand what wavelet transform is
really about. The low-pass filter is a kind of a predictor: what can we say about the average value of a group of pixels. The high-pass filters, on
the other hand, store the errors we make with the low-pass predictors. LH and HL store the errors we make when we try to get to average values
of column-errors across rows, or vice versa, whereas HH stores LH's and HL's errors.
We see that the LL pass over LH,HL,HH subbands is tending towards the average of 0. This is a good indicator of noise as those irregularities
that appear merely in the highest resolution, but cannot be generalized to a wider area. However, we must note that people do recognize the
absence of noise. The main difference between the original and the compressed image is that the compressed one is too smooth.
In the following experiments, we will try to capture the regularities of noise. To do this, we will need a different kind of a transform.
Describing quantization noise
Let's examine the error introduced by quantization. We notice that the error is pretty much random, with the exception of a few features in the
HH band. The idea we will now pursue is to try to describe this error and re-introduce it in the decompressed image.
Let us now examine the frequency distributions of error:
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
r 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
10/13
The LH and HL band distributions are narrower because of the lower level of quantization, and are not very Gaussian: this is because noise got
through quantization in those two bands. We could have been more radical when quantizing - disposing with more than 4 bits without losing
much information. But not to dawdle, let's now capture the noise (assuming it is Gaussian) and reintroduce it in the image.
There is an important consideration to be made: a part of the quantization noise is indeed noise, but a part is lost information. The lost
information shouldn't be considered a part of noise - as we cannot reintroduce it. Thus not to overestimate the noise , we divide the estimated
std. deviation by 2.
The noise description is very compact, and adds very little to the compressed file size. Especially considering the fact that the mean is always
approximately 0, and does not need to be stored.
Here we add the noise to the compressed image:
And now we compare the "en-noised" compressed image to the original image and the normal "de-noised" compressed image:
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
ur 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
11/13
Although the en-noised image does look better than the de-noised one, we note that there is more noise than there was in the beginning. This is
partly because we equated some information lost in quantization with noise, and partly because there are noiser and less noisy areas on the
image. For example, the skin as a less noisy part of the image has received more noise than there was in the beginning, whereas the edges and
sharp features received too little. We corrected this by introducing the correction factor of 2 (we divided the standard deviation by 2) which
makes the skin appropriately smooth, but the hat feathers excessively smooth.
We would have achieved better results by decomposing in the spatial domain. For example, the texture of the hat is noisier than the texture of
the skin, so the noise distribution should be computed differently there. There is another important but yet unsolved problem: a part of the
quantization noise is indeed noise, but a part is lost information. The lost information shouldn't be considered a part of noise - as we cannot
reintroduce it.
Variance map
Now, we compute the standard deviations of quantization residuals at different resolutions. We will call these "variance maps".
We will need a routine which will bunch together neighboring pixels
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
ur 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
12/13
It seems that the variance map at 16 pixel resolution works best: not too much detail, yet not too little of it. Let's now apply variance map at
resolution 16 for noise reconstruction. We divide the standard deviations by 2, or else the amount of noise is overestimated. It is important to
realize that only noise must be reintroduced, but not just noise is lost in quantization.
Although the noise levels on the skin and in the feathers are now more correct, there are still visible transitions between different noise levels.
More troubling, there is too much noise in the areas around sharp edges. Further work should address proper computation of noise levels around
sharp edges.
SPACL decomposition of residuals:
We notice that we do not need to compute the standard deviations in such an expensive way: it is merely an issue of averaging absolute
residuals. We might wonder if we could describe the noise better with Spacl decomposition -
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html
ur 13 16/01/2013 09:53
-
7/30/2019 Introduction to Wavelets in Image Compression
13/13
One interesting approach would be discarding the noisy high-pass subband of variance and quantizing the low-pass subbands of variance.
oduction to Wavelets in Image Compression http://www.stat.columbia.edu/~jakulin/Wavelets/index.html