SlideShare utilise les cookies pour améliorer les fonctionnalités et les performances, et également pour vous montrer des publicités pertinentes. Si vous continuez à naviguer sur ce site, vous acceptez l’utilisation de cookies. Consultez nos Conditions d’utilisation et notre Politique de confidentialité.
SlideShare utilise les cookies pour améliorer les fonctionnalités et les performances, et également pour vous montrer des publicités pertinentes. Si vous continuez à naviguer sur ce site, vous acceptez l’utilisation de cookies. Consultez notre Politique de confidentialité et nos Conditions d’utilisation pour en savoir plus.
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,
Wavelet compression is a form of data compression well suited for
image compression (sometimes also video compression and audio
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.
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.
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
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.
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.