EFFICIENT CODEBOOK DESIGN
FOR IMAGE COMPRESSION
USING VECTOR QUANTIZATION
CONTENTS
•   Introduction
•   Compression techniques
•   Types of lossless data compression
•   Types of lossy data compression
•   Vector quantization
•   LBG algorithm
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.
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.
TYPES OF LOSLESS DATA COMPRESSION
• Dictionary coders
  – Zip (file formats)
• Entropy coding
  – Huffman coding ( simple entropy coding)
• Run-length coding
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.
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       .
VECOR QUANTIZATION
 Source
 output       Encoder    Decoder   Reconstruction


          Find closest   Table
Group                               Unblock
          code-vector    lookup
into
vectors




                                               5
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.
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.
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.
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.

Vector quantization

  • 1.
    EFFICIENT CODEBOOK DESIGN FORIMAGE COMPRESSION USING VECTOR QUANTIZATION
  • 2.
    CONTENTS • Introduction • Compression techniques • Types of lossless data compression • Types of lossy data compression • Vector quantization • LBG algorithm
  • 3.
    INTRODUCTION • Data compressionis 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 • Mainlythere 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 LOSLESSDATA COMPRESSION • Dictionary coders – Zip (file formats) • Entropy coding – Huffman coding ( simple entropy coding) • Run-length coding
  • 6.
    TYPES OF LOSSYDATA 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 • Theamount 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 • Proposedby 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.