This method achieves the same or even slightly
better image quality (in terms of PSNR, see Table 1)
compared to k-means++.
Looking at the decompressed images from
random seeding (Figure 1d), k-means++ seeding
(Figure 2a) and PCA-based seeding (Figure 2f), it is
striking to see how well the smooth color transition
of the sky is reproduced by random seeding.
However, this is not a hidden power of the k-means
algorithm, but simply due to the random choice if
selection is uniformly distributed. This is reflected in
the large number of seeds from sky in the codebook
(see Figure 1e).
In contrast, both the k-means++ and the PCA-
based seeding produce noticeable banding artefacts.
In both cases, this is a direct consequence of the
design intentions, since the involved image vectors
are close to each other and won’t cause significant
image errors. While it is non-obvious how a remedy
could be integrated into the k-means++ algorithm,
we will present a method for reducing these artifacts
in the PCA-based seeding. It takes advantage of the
fact that processing is done in eigenspace.
At some point in the subdivision process the sky
(or similar areas) will have been separated into a
distinct cluster, and will be subjected to a PCA. It’s
quite obvious that the eigenvalues will exhibit a
certain property: they will drop sharply in size since
all image vectors are more or less aligned from dark
to light blue. This property is less pronounced or
absent in more noisy or diverse image areas.
Thus we can use the eigenvalue statistics (cluster
shape) as a further split criterion. As a simple
example, we have used the ratio of the largest (ev1)
and the second largest (ev2) eigenvalues to select the
group to be split next. That is, if ev1/ev2 > T the
subvolume is split regardless of the image error.
For Figure 3a, we have set the threshold T to 2.5,
whereas for Figure 3f T was set to 1.5. As can be
seen in the initial codebooks (see Figure 3b, g), the
allocation of codevectors to sky can be controlled
quite well. Other than reserving more codevectors to
these specially shaped clusters, operation is not
affected and thus most details are still preserved as
in Figure 2f. “Codevector stealing” begins to
become visible in Figure 3f, (see the letter “S” in
Figure 3i). However, T=2.5 seems to be a good
compromise, while T=1.5 appears to be overdone.
Further parameters to include in the split
decision are the population count of a cluster, and
the absolute spatial extent along the principal
component.
It should be mentioned that the method is neutral
in case there are no such areas in the image, since
then a corresponding eigenvalue ratio will not occur.
The opposite doesn’t hold, though. A high ratio
doesn’t mean that there is a smooth transition, as in
the case of the brown building, which nevertheless
gets assigned more codevectors. Excluding these
areas for true unsupervised compression is subject of
future research.
3 RESULTS
To demonstrate the differences in image quality, we
have chosen a set of images from
http://www.imagecompression.info. Each image was
compressed into its own codebook. We have used a
block size of 8x8 pixels for a vector dimension of
192. The number of codevectors was chosen such
that the compression rate was roughly the same for
each image. The results are given in Table 1, in
terms of PSNR [dB].
Table 1: Seeding comparison.
Img. Name Rand KM++ PCA bpp
Artificial 31.8 35.7 37.9 2.2
Bridge 29 29.5 29.5 2.1
Cathedral 32.1 32.4 32.6 2.3
Deer 30.1 30.5 30.7 2.2
Fireworks 29.8 37.3 42.9 2.3
Hdr 35.7 38.5 39 2.2
Leaves 26.3 27 27.1 2.3
As test case for showing the potential of
eigenvalue-based subdivision we have selected an
image with the following properties:
• a large area with a smooth color transition to
make quantization artefacts (banding) visible,
• a high amount of image detail with known
shape such as traffic lights or street signs.
Original image size is 1024x768 pixels, or
12,288 blocks. Since the algorithms perform roughly
the same on small codebooks, we have chosen a
codebook of 1k codevectors to expose the
differences. Processing times and image quality are
summarized in Table 2.
Table 2: Compression time and image quality.
Method Seeding
[s]
Clustering
[s]
PSNR
[dB]
Random 0.016 37.5 24.17
KM++ 10 35.6 24.99
PCA 39.3 36.5 25.07
PCA, T=2.5 67.6 36.8 25.03
PCA, T=1.5 69 36.8 24.85
PCA-BASED SEEDING FOR IMPROVED VECTOR QUANTIZATION
97