Module 3.4: Vector Quantization

Codebook design and k-means algorithm:- 

Definition:- In vector quantisation we need to determine the reconstruction levels and corresponding cells Ci.  A list of reconstruction levels is called a "codebook" (CB). If there are L-reconstruction levels in the list it is referred to as an L-level codebook.

The CB is needed at the transmitter to quantise a source vector to one of the L-reconstruction levels and at the receiver to determine the reconstruction level from the received codeword. This implies that the same CB should be known both to transmitter and receiver.

·  Design of codebook:

Unlike scalar quantisation, reconstruction levels in VQ are vectors and cell boundaries are no longer points but lines.

The optimum determination of  and Ci depends on the error criterion used. The often used mean square error (MSE) criterion is expressed as average distortion:

with  

is a distance/norm measure.

Optimal design of codebook is  highly non linear problem. Attempts to solve this needs the following two conditions.

Condition 1: For  vector  to be quantized to one of the reconstruction levels, the optimal quantiser must choose the for which has the smallest distortion between and .

This implies,  if and only if ,

(3.4.4)

for

Condition 2: Each reconstruction level must minimize the average distortion D in Ci, that is, minimise wrt

The level that satisfies condition  2 is called the centroid of Ci.. If condition (1) is not satisfied, the average distortion D can be reduced by imposing condition (1). If condition (2) is not satisfied, then average distortion D can be reduced by imposing condition (2).The above conditions are necessary for optimal solution.

It is to be noted that condition (1) satisfies a rule for quantising without explicit use of Ci. In other words, the distortion measure together with all 's for , specifies all the cells Ci for  .Similarly, condition (2) shows a way to determine from Ci and

The two conditions show that given , and Ci are not independent.

That is, specifies Ci and Ci specifies .

Only reconstruction levels alone are sufficient in the codebook. Explicit information about cells does not have to be stored.