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