The document discusses wavelet compression, which is a form of data compression well suited for image, video, and audio compression. It works by applying a wavelet transform to the data, which concentrates the information into a few coefficients. These coefficients can then be compressed by quantizing and entropy encoding them. The document provides details on how wavelet compression can be applied to images by grouping pixels into tiles, storing the average color and differences from the average to compress the data lossily while maintaining resolution. It also discusses how color images can be compressed by decomposing them into luma and chroma components rather than independent color channels.
1 of 8
Download to read offline
More Related Content
wavelet compression
1. Submitted by
K.Priyadarsini II M.SC(CS& IT)
N.Pandimeena II M.SC(CS& IT)
V.Sarmila II M.SC(CS& IT)
Nadar saraswathi college of arts and science,
Theni.
2. wavelet compression
? Wavelet compression is a form of data compression well suited for
image compression (sometimes also video compression and audio
compression).
? Notable implementations are JPEG2000 , Divu and ECW for still
images, Cine Form, and the BBC's Dirac.
? The goal is to store image data in as little space as possible in a file.
? Wavelet compression can be either lossless or lossy.
? Using a wavelet transform, the wavelet compression methods are
adequate for representing transients.
? such as percussion sounds in audio, or high-frequency components in
two-dimensional images, for example an image of stars on a night sky.
3. Method
? First a wavelet transform is applied.
? This produces as many coefficients as there are pixels in the image (i.e., there
is no compression yet since it is only a transform).
? These coefficients can then be compressed more easily because the information
is statistically concentrated in just a few coefficients.
? This principle is called transform coding.
? After that, the coefficients are quantized and the quantized values are entropy
encoded and/or run length encoded.
5. The Idea
? The idea is to start first with a gray scale image, and do like you would proceed for
a PNG image compressor: pick your buffer and group the pixels in tiles of 2x2.
? Now, if you only store the average color of the four pixels of each tile you are
already compressing by 1:4. Good. Of course the image resolution has decreased.
? Let's fix it by storing the real value of the 4 pixels in a compact manner.
? Because these pixels are physically near to each other, we can pretty safely assume
their colors will be similar to that average color that we already encoded.
? So, instead of storing these pixels as full gray scale values, let's store only the
amount by which they are different to the average color
6. The Details
? Well, not quite. Wavelets are a complex signal processing tool, and what we are
doing here is nothing but scratching the very surface of the thing.
? In fact, what we are doing is to use one of the many possible Wavelets basis, the
Haar wavelet to be more precise.
? But we are not going into filter-banks and dsp stuff here - instead we just will see
how I implemented this simple multilevel color encoding technique and how I had
my image compressed into my demo.
7. Color Images
? So far we have compressed gray scale images only.
? For color images we are gonna use a very standard method that makes storing
color very unexpensive, almost for free.
? The naive approach of decomposing the rgb images in three independent gray scale
images is a very bad idea, you should NEVER do that. Instead we are going to use
the popular luma/chroma decomposition, as JPG does.