Hierarchy-oriented searching algorithms using alternative duplicate codewords for vector quantization mechanism

https://doi.org/10.1016/j.amc.2003.12.134Get rights and content

Abstract

In this paper, we will show those algorithms that speed up the search of a closest codeword over a given codebook. The mechanism is based on a multilevel concept constructed as a hierarchical organization. For a given codebook with size N (existing N codewords), there are only ⌈logkN⌉ levels that need to be constructed in order to find the closest codeword, where k is a parameter selection to optimize the comparisons in the course of the searching. Theoretically, the comparisons required to find the closest codeword are on average k⌈logkN⌉, which is substantially faster than that of a full search job. Besides, in order to approach the perfect match with the exact one among the codewords, a duplicate mechanism is also applied to our algorithm so that the lowest possible distortion is achieved. As is observed from the results of the experiments, the estimation of comparisons in our execution, without codeword duplicate, is on average about k⌈logkN⌉/N times the full search method. It is worth noting that the larger the size of the codebook, the more the speed increases. In particular, there are two classifications, non-duplicate and duplicate method which are associated with the codewords distribution in the dominated set, which were experimented on some tables. The duplicate is manipulated by the training set containing six popular image data, to demonstrate the efficiency of our scheme. Also, the time requirement to find the closest codeword is effectively reduced, especially in the case of a large sized codebook. Therefore, our scheme offers a novel exploration and achieves a faster performance in the closest codeword searching for vector quantization of image data.

Introduction

There is a technique, called vector quantization (VQ), which is widely used for digital image compression. It can achieve an excellent performance in the way of shorter coding, and still remain of high image quality. Due to its aspect of secrecy, VQ has been receiving great attention from a lot of researchers in image compression treatment. Relevant literatures can be found in [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15]. In VQ process, in general, there are three phrases required as follows: They are called pre-processing, encoding, and decoding, respectively. The first phrase, pre-processing, is also called the codebook generation phrase. Here we give a simple description for the concept of codebook in VQ presentation. Define a mapping function Q:RkCRk, where Rk is a k-dimensional Euclidean space and C is a finite set of {ci|i=1,2,…,Nc}. The range set C is called codebook with a table size Nc. Thus, there are Nc codewords in the index ordered from 1 to Nc, and each codeword in C is a form of vector representation with the dimensionality k.

The generation of a codebook results from a lot of training vectors, which are given by some simulated image blocks to conduct a set of representative codewords. The creation of an optimal codebook is rather important for gaining a better fidelity for a reconstructed image. Up until now, there has been plenty of research in [2], [5], [16] to fill the demand, with the algorithm in the scheme of Linde, Buzo, and Gray (LBG) [2] being the most popular algorithm for codebook creation. In the LBG, algorithm, an initial set of Nc k-dimensional vectors is chosen. Then the Lloyd iteration procedure is recursively performed until the ratio of two consecutive average distortions between the improved codewords and training vectors is less than a certain threshold value. An improved codebook is thus generated for use by the next encoding phrase. Then the second encoding phrase divides each input image into very large non-overlapping blocks, in which each block is of a size smaller than k=n by n. These blocks are then further ordered into a sequence of vector representations, with dimensionality k as the input vectors, so as to thoroughly compare the codewords planted in C. Set an input vector x and a codeword Cq in C. Both are to accurately measure the distortion between x and Cq and explore an efficient algorithm to search out the exact codeword. The most popular criterion in measuring distortion between two compared vectors is the squared Euclidean distance D. It is basically defined as follows:D(x,y)=∥x−y∥2=∑i=1k(xi−yi)2,where xi and yi are the ith component of the input vector x and the matching codeword (vector) y, respectively, and k is the dimension of both x and y. In our case, it is apparent that the symbol y in (1) is then replaced by the chosen Cq. If the closest codeword, Cq, is located, then the input vector x can be represented by its index q of the Cq in C. This representation in VQ implementation requires that the number of bits is much less than that of the original image requirement. The bit ratio for VQ only requires (log2Nc)/k. Clearly, the bit requirements are proportional to size Nc of the codebook at a fixed k value. In other words, the compressing performance is more significant when a smaller Nc is chosen. On the contrary, the fidelity of an image perceived by the human visualization system will gradually degrade with a smaller Nc. Accordingly, the most frequent table size, Nc, used in VQ implementation is chosen from the size set of {128,256,512,1024} to cope with both the tradeoff of a less bit ratio and high quality in an image-processing manner. On the other hand, the researches of the fast search algorithms for finding the closest codeword are categorized into two groups of the lossy and the lossless approaches according to the resulting quality being the same as the full search algorithm (FSA for short). There are some literatures in [5], [15] that classify the lossy approach. When one observes these methods, the strategies adopted are either based on the pre-storing of a large amount of squared numbers in (1) or the pre-generation of the key-codeword being very much closer to the exact closest codeword in the `genuine' codebook. Time cost is saved due to the approximate finding of a `genuine' codeword. As to the lossless approach, which not only makes for faster searching, but also the resulting quality remains the same when compared to the FSA. These approaches were presented in many literatures in [1], [6], [7], [9]. A popular and common technique exploited in these presentations is the triangle inequality elimination (TIE for short). TIE is a technique derived from (1), in which an input vector x, two codewords yi, yj, and a third vector v, the so-called single control vector, are required. Afterwards, the mathematical relations are made according to the property of triangle inequality listed as follows:∥D(x,v)−D(yi,v)∥⩽D(x,yi)and∥D(x,v)−D(yj,v)∥⩽D(x,yj).The inequality resulting when D(x,yi)⩽D(x,yj) holds if the left hand of (3) is greater than the right side of (2). The reasoning follows the relation ofD(x,yi)⩽∥D(x,v)−D(yj,v)∥⩽D(x,yj).As a result, if we set the yi as the initial codeword and D(x,yi)=Dmin, the other yj's will be rejected by the fact that ∥D(x,v)−D(yj,v)∥⩾Dmin. Owing to the computations of D(x,v) and D(yi,v) being able to be pre-processed, the search space for codeword yj in codebook is thus reduced from the set of Nc size to only having the search set of {yj|∥D(x,v)−D(yj,v)∥⩽Dmin}. By using multiple control points to search for the closest codeword, a higher performance is achieved [6]. Last, let us introduce the third phrase of VQ, the decoding phase. This phase is very easy for decoding the original vectors in the codebook. Owing to the codebook being kept on both sides, by encoder and decoder, the decoder could reveal the original codeword by indicating the receiving of index mapping. Finally, the image is reconstructed by putting together all blocks with the given order of the index sequence.

Contrary to the above-mentioned researches, we focused on the optimal search for a closest codeword in a hierarchy structured over the given codebook. First of all, we generate a smaller size set of key-codewords instead of the `genuine' codewords in the original codebook. Then same procedure is then repeated to shorten the set of those just generated key-codewords. Moreover, the generation of the new key-codewords in each level of the hierarchy is due to the adoption of the UBT-LBG algorithm [15], a method used to accelerate the generation of optimal code vectors, so that the overall performance is superior to the regular LBG usage. In this paper, we also discuss two methods of `duplicate' and `non-duplicate' in the key-codewords selection. No matter which method is used, the quality of the experimental image remains quite high, and the operating speed for gaining access to the exact codeword is much quicker than that of the FSA.

The rest of this paper is organized as follows. In Section 2, we briefly review an UBT-LBG algorithm to improve the regular LBG algorithm in order to reinforce our efficiency in searching for the closest codeword. In Section 3, our fast searching scheme, based on the mechanism of hierarchy-orientation is presented. Next in Section 4 the empirical experiments and performance analyses are presented to illustrate our findings. Finally, we make our concluding remarks in Section 5.

Section snippets

Review of a UBT-LBG (Unbalance-Binary-Tree LBG) algorithm

In this section, we would like to briefly review the mechanism proposed by [15], in which a specified algorithm, called the UBT-LBG, was proposed to improve the LBG algorithm for the codebook generation. The relevant symbols are listed first to clarify our review:

  • C: a given codebook with size N.

  • KC: a generated key-codebook with size Nc.

  • xi: an image block of k-dimensional cardinality.

  • yi: a codeword planted in C.

  • zi: a key-codeword planted in KC.

  • Dzi: a dominated set which consists of the codewords

Our scheme of fast hierarchy-oriented searching

In VQ exploration, how to speed up the finding of a closest codeword over a given codebook is a critical mechanism, when an image block in term of a vector representation is taken from the encoding image. Inspecting the traditional way of searching, like the FSA, which is a linear search to find the exact one. If the process to find the closest one could be reduced by a binary search method, then time cost would be saved accordingly. This idea also has been investigated by the TSVQ approach [2]

Empirical experiments and performance analyses

The experiments run in our scheme are built on an IBM PC platform with a PC Pentium III at 600 MHZ. The images selection used in our experiments were 512 × 512 monochrome still images. Basically, there are six images selected to be our training set, as shown in Fig. 3. They are `Girl', `Gold', `Lena', `Pepper', `Toys' and `Tiffany' with each pixel containing 256 gray-levels, respectively. However, each image is divided into 4 × 4 pixels blocks and each block is indicated as a 16-dimensional vector.

Concluding remarks

In this paper, we proposed a novel methodology that significantly speeds up the seeking of the closest codeword over a codebook for vector quantization of image data. The `genuine' codewords planted in the codebook dominate the key-codewords and are then organized in a hierarchy, where the key-codewords are created by the UBT-LBG, the improvement of a regular LBG algorithm. By applying the UBT-LBT, the codeword covered inside the dominated set is uniformly distributed so that the search time

References (16)

  • C.D. Bei et al.

    An improvement of the minimum distortion encoding algorithm for vector quantization

    IEEE Trans. Commun

    (1985)
  • A. Buzo et al.

    Speech coding based upon vector quantization

    IEEE Trans. Acoustics Speech Signal Process

    (1980)
  • C.C. Chang et al.

    An efficient computation of Euclidean distance using an approximated look-up tables

    IEEE Trans. Circuits Systems Video Technol

    (2000)
  • G.A. Davidson et al.

    Systolic architectures for vector quantization

    IEEE Trans. Acoustics Speech Signal Process

    (1988)
  • A. Gersho et al.

    Vector Quantization and Signal Compression

    (1992)
  • C.H. Hsieh et al.

    Fast search algorithm for vector quantization of images using multiple triangle inequalities and wavelet transform

    IEEE Trans. Image Process

    (2000)
  • C.M. Huang et al.

    Fast full search equivalent encoding algorithms for image compression using vector quantization

    IEEE Trans. Image Process

    (1992)
  • C.H. Lee et al.

    A fast vector search algorithm for vector quantization using mean pyramids of codevector

    IEEE Trans. Commun

    (1995)
There are more references available in the full text version of this article.

Cited by (7)

View all citing articles on Scopus
View full text