2. CONTENTS
• Introduction
• Compression techniques
• Types of lossless data compression
• Types of lossy data compression
• Vector quantization
• LBG algorithm
3. INTRODUCTION
• Data compression is a process of encoding data
so that it takes lesser storage space and lesser
transmission time than the data which is not
compressed.
• Data compression is the art or science of
representing information in a compact form.
• Compression is possible because most real world
data is very redundant.
4. COMPRESSION TECHNIQUES
• Mainly there are two types of compression techniques.
1) Lossless Compression:
– Lossless compression techniques involve no loss of
information. If the data have been losslessly
compressed, the original data can be recovered exactly
from the compressed data.
2) Lossy Compression:
– Lossy compression techniques involve some loss of
information, and data that have been compressed
using lossy techniques generally cannot be recovered
exactly.
5. TYPES OF LOSLESS DATA COMPRESSION
• Dictionary coders
– Zip (file formats)
• Entropy coding
– Huffman coding ( simple entropy coding)
• Run-length coding
6. TYPES OF LOSSY DATA COMPRESSION
• Scalar Quantization:
– The most common type of quantization is scalar
quantization. Scalar quantization, typically denoted as y
=Q(x) is the process of using quantization function Q( )
to map a scalar input value x to scalar output value y.
• Vector Quantization:
– A vector quantizer maps k-dimensional vectors in the
vector space Rk into a finite set of vectors Y = {yi: i = 1, 2,
..., N}. Each vector yi is called a code vector or
a codeword. and the set of all the codewords is called
a codebook.
7. VECTOR QUANTIZATION
• The amount of compression will be described in
terms of the rate, which will be measured in bits
per sample. Suppose we have a codebook of size
k, and the input vector is of dimension L. We
need to use [log 2 k] bits to specify which of the
code-vectors was selected. The rate for an L-
dimensional vector quantizer with a codebook of
size K is [log 2 k]/L .
8. VECOR QUANTIZATION
Source
output Encoder Decoder Reconstruction
Find closest Table
Group Unblock
code-vector lookup
into
vectors
5
9. VECTOR QUANTIZATION ENCODING
• VQ was first proposed by Gray in 1984.
• First, construct codebook which is composed of
codevector.
• For one vector being encoding, find the nearest
vector in codebook. (determined by Euclidean
distance)
• Replace the vector by the index in codebook.
• When decoding, find the vector corresponding
by the index in codebook.
10. LBG ALGORITHM
• Proposed by Linde, Buzo, Gray
• The basic idea is to divide a group of vector. To
find a most representative vector from one
group. Then gather the vectors to form a
codebook.
11. LBG ALGORITHM
1. Divide image into blocks. Then we can view one
block as k-dimension vector.
Ex: block: 4x4 , consider 512x512 image, which
can be divided into (512x512)/(4x4)=16384
blocks. Each block can be viewed 16 dimension
vector.
2. Arbitrarily choose initial codebook.
3. Set these initial codebook as centroids. Other
vectors are grouped. Vectors are in the same group
when they have the same nearest centroid.
4. Again, to find new centroids for every group. Get a
new codebooks. Repeat 2,3 steps until the
centroids of every group converge.
12. APPLICATION OF VECTOR
QUANTIZATION
Vector quantization technique is efficiently used
in various areas of biometric modalities like
finger print pattern recognition ,face recognition
by generating codebooks of desired size.