Databases Reference
In-Depth Information
has the same training image so that it can generate an identical codebook. This is impractical
because, if the receiver already has the image in question, much better compression can be
obtained by simply sending the name of the image to the receiver. Sending the codebook with
the image is not unreasonable. However, the transmission of the codebook is overhead that
could be avoided if a more generic codebook, one that is available to both transmitter and
receiver, were to be used.
In order to compute the overhead, we need to calculate the number of bits required to
transmit the codebook to the receiver. If each codeword in the codebook is a vector with
L elements and if we use B bits to represent each element, then in order to transmit the
codebook of a K -level quantizer we need B
×
L
×
K bits. In our example, B
=
8 and L
=
16.
Therefore, we need K
×
128 bits to transmit the codebook. As our image consists of 256
×
256
pixels, the overhead in bits per pixel is 128 K
536. The overhead for different values of
K is summarized in Table 10.8 . We can see that while the overhead for a codebook of size
16 seems reasonable, the overhead for a codebook of size 1024 is over three times the rate
required for quantization.
Given the excessive amount of overhead required for sending the codebook along with
the vector quantized image, there has been substantial interest in the design of codebooks
that are more generic in nature and, therefore, can be used to quantize a number of images.
To investigate the issues that might arise, we quantized the Sinan image using four different
codebooks generated by the Sena, Sensin, Earth, and Omaha images. The results are shown
in Figure 10.16 .
As expected, the reconstructed images from this approach are not of the same quality as
when the codebook is generated from the image to be quantized. However, this is only true
as long as the overhead required for storage or transmission of the codebook is ignored. If
we include the extra rate required to encode and transmit the codebook of output points, using
the codebook generated by the image to be quantized seems unrealistic. Although using the
codebook generated by another image to perform the quantization may be realistic, the quality
of the reconstructions is quite poor. Later in this chapter we will take a closer look at the subject
of vector quantization of images and consider a variety of ways to improve this performance.
You may have noticed that the bit rates for the vector quantizers used in the examples are
quite low. The reason is that the size of the codebook increases exponentially with the rate.
Suppose we want to encode a source using R bits per sample; that is, the average number of bits
per sample in the compressed source output is R . By “sample” we mean a scalar element of
the source output sequence. If we wanted to use an L -dimensional quantizer, we would group
/
65
,
T A B L E 10 . 8
Overhead in bits per pixel for
codebooks of different sizes.
Codebook Size K
Overhead in Bits per Pixel
16
0.03125
64
0.125
256
0.50
1024
2.0
 
Search WWH ::




Custom Search