Implementation of Time Management System with ERP System For Academic Institute
Document Sample


International Association of Scientific Innovation and Research (IASIR)
ISSN (Print): 2279-0020
(An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Online): 2279-0039
International Journal of Engineering, Business and Enterprise
Applications (IJEBEA)
www.iasir.net
Fast Encoding Techniques of Transformed VQ for CBIR
V.R. Khapli1 and A.S. Bhalchandra2
1
PrincipalK K Wagh Womens Polytechnic and Research scholar GECA,
Amrutdham, Panchavati, Nashik,
INDIA
2
Professor E and T/C, Government Engineering College,
Usmanpura, Aurangabad, M.S.
INDIA
[vrkhapli@yahoo.com, asbhalchandra@gmail.com]
Abstract:Vector quantization (VQ)technique provides an effective codebook as representation of an image. This
codebook requires reduced space than the original image. The codeboook is useful in reconstructing the image
that will closely match with the original. Hence VQ is always considered as an effective technique for image
compression. However this codebook is also very much useful as an image feature from the viewpoint of content
based image retrieval (CBIR). This paper discusses the various codebook generation techniques using VQ
suggested so far, for effective CBIR. It also presents the comparative analysis of these techniques in terms of
complexity, storage requirement, robustness and retrieval time. In addition this paper also provides survey on
various methods of vector quantization for CBIR.
Keywords:Content based image retrieval, vector quantization, codebook, feature vector, LBG algorithm
I. Introduction
Vector quantization has been discussed for more than a decade as an effective technique for data compression. It
is considered as an efficient technique for representing images in a compact manner while preserving all the
important information without much loss of data. Being very simple and easy to implement it is also widely
used in different applications like pattern recognition. Face detection, speech recognition, content based image
retrieval and so on. [ 21 ]
Huge image datasets are created everyday due to advancement in data storage and easy image acquisition
techniques. Also, due to the rapid growth of World Wide Web, effective and efficient image indexing and
accessing tools are in high demand in order to fully utilize the huge digital data available on the Internet.
Content based image retrieval is the need of today because of the limitations of text based retrieval approaches
[2]. CBIR is a technique of retrieving images on the basis of their contents like colour, texture and shape. It
consist of mainly three blocks. Feature Extraction, Matching and Retrieval . Feature extraction is the key to
CBIR. The success of CBIR greatly depends on effectiveness of feature representing it. VQ is a very popular
image compression technique. It leads to effective and compact representation of the image in the form of code
book. Hence if the codebooks generated for all database images are used as features of those images and then
these are used in the matching process with similar query image codebook, then it will lead to efficient image
retrieval. Hence codebook generation is very much important for CBIR using VQ.
The remainder of the paper is organized as follows: Section (2) focuses on VQ technique, Section (3) discusses
various codebook generations and encoding techniques suggested for image representation, Section (4) presents
the comparison of these techniques in terms of complexity, storage requirement, robustness and retrieval time
and section (5) concludes.
II. Vector Quantization
A vector quantizer Q of dimension k and size N is a mapping from a vector in k dimensional Euclidian space,
Rk, into a finite set C containing N output or reproduction points, called code vectors or codewords.
In other words, Q: Rk C,where C = {C1,C2,...,CN}and Ci⋲Rk , for each i ⋲ J ≡ (1, 2, …. N}. Cis the set of
reproduction vectors (code words), called the codebook and has size N.
These code words are used to reconstruct the images in image compression. Hence they represent images quite
effectively. Thus the codebook can be considered as an image feature vector too and it is useful for effective
CBIR.
The resolution, code rate or rate of a vector quantizeris r = (log2N) / k.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 53
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
The rate measures the number of bits per vector component used to represent the input vector and indicates the
accuracy or precision achievable with a vector quantizer if the codebook is well designed.
The overall operation of VQ can be regarded as cascade of two operations, Encoder and Decoder. The key to
effective VQ is a good codebook. In this paper we would like to highlight the use of VQ for effective CBIR
Hence we have discussed only encoding processes of VQ proposed till now, to generate the effective codebook,
in detail, because that is the part important from CBIR point of view.
In the codebook generation process, images are divided into k-dimensional training vectors. These training
vectors are used to generate the representative codebook by the clustering techniques. This is illustrated in figure
1. It shows an original image. It is divided into four blocks of size 2 x 2. Each block is then transformed to a
vector with four dimensions. This set of vectors is considered as training vectors. A codebook may be obtained
from these training vectors by clustering techniques and that codebook will be considered as feature vector of
the image. This FV is a compact representation of the image and can be used in matching phase of CBIR instead
of full image to speed up the retrieval. The codebook generation process is illustrated in figure 3.
Figure 1. Original image and splitting into 2 X 2 blocks
10 9 7 7 10 9 7 7
9 8 9 8 9 8 9 8
15 40 25 55 15 40 25 55
50 20 15 70 50 20 15 70
Figure 2. Set of four training vectors
V1 10 9 7 7
V2 7 7 9 8
V3 15 40 50 20
V4 25 55 45 70
Figure 3. VQ Codebook Generation process
Codebook /
Digital Image Training Feature
image Splitting vectors Vector
Codebook can be obtained in spatial domain by clustering techniques or using transform domain techniques.
The codebook generation process is time consuming. Hence researchers have focused on reducing
Yes
computational complexity of the VQ codebook generation process. The most common method for VQ codebook
generation is the one suggested by Linde Buzo Gary [LBG] algorithm. It is also known as Generalized Loyd
Algorithm [GLA]. However the LBG algorithm has the following limitations.
The resulting codebook generated has a local optimization problem that is, the codebook guarantees local
minimum distortion but not global minimum distortion.
Each codeword in the codebook has low utility.
Therefore researchers are proposing new methods to overcome the above mentioned problems and speed up the
process of finding optimal solutions. In this paper a review of recent development schemes is presented,
beginning with LBG algorithm.
III. VQ Encoding Techniques
The LBG Algorithm:Proposed by Linde, Buzo and Gray in 1980, this algorithm is also known as the
Generalized Lloyd Algorithm [1]. A mapping function is used here for partitioning training vectors into N
clusters. The mapping function is defined as
Rk CB
Let X = { x1, x2, ... xk } be a training vector and
d(X,Y) be the Euclidean distance between any two vectors X and Y. Then, d(X,Y) is given by,
( , (
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 54
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
The LBG Codebook generation algorithm is given below.
1. Generate initial codebook CB0 randomly.
2. Assign i = 0
3. For each training vector, perform following
a. Find Euclidean Distance between training vector and codewordCB i
b. Search for the codeword in CBithat is nearest
4. Partition the codebook into N cells
5. Calculate the centroid of each cell and obtain the new codebook CB i+1
6. Find the average distortion for CBi+1 If there is a small enough change since the earlier iteration, the
codebook may converge and the process stops.Else i = i + 1 and go to step 3
Figure 4. Flowchart of LBG clustering algorithm
Input Image
Decompose image into nonoverlapping blocks
Pick N vectors randomly
Cluster and calculate centroids
No
Converge? Yes
Yes
Final Codebook
In addition to the limitations stated above, LBG algorithm has one more limitation and that is the initialization
of code book. It selects the initial codebook randomly. If that is not proper, it will result in non optimal
codebook finally. This is the key issue associated with LBG. Hence many researchers proposed techniques to
provide efficient initialization. Thus some researchers are providing solutions for minimizing the MSE and some
proposed techniques for reducing computational complexity.
Amongst the second type are Mean-Distance ordered Partial Codebook Search (MPS) and PCA based Directed
search binary splitting (DSBS) in 1993 and Double Test of Principal components (DTPC) in 1997, and also
algorithms based on codeword displacement like Fast searching algorithm using projection and inequality
(FAUPI) by Lai and Liaw in 2001, Codebook generation algorithm using codeword displacement (CGAUCD)
by Lai et. al.in 2008.
Amongst first type are Enhanced LBG (ELBG) proposed in 2001 by, Neural network based Centroid Neural
network adaptive resonance theory ( CNN-ART) algorithm in 2003, Genetic based approaches by Pan and
Cheng like evolution based codebook generation algorithm known as evolution based tabu search (ETSA) and
a hybrid scheme based on CNN-ART and PCA proposed by Han et al. in 2007 to improve traditional LBG.
These are covered by TC Liu et. el in his paper on survey of VQ codebook generation [2] in 2010.
A lot of work has been done in addition to the techniques covered in [2]. In this paper we will discuss the
approaches proposed for making VQ effective proposed recently and not covered by T C Liu et.el.in [2].
Transformed Vector Quantization (TVQ) encoding: Vector quantization in frequency domain is also known as
transform domain VQ. It is combination of transformed coding and VQ. TVQ is developed for complexity
reduction. Input vector is transformed into transformed domain coefficient vector. It is then truncated and vector
quantized using a standard LBG algorithm.
Its advantages over spatial domain VQ are as follows.
a. The transformed vector components in high frequency regions contain low energy. Hence they can be
discarded.
b. Dimensions of transformed vectors and complexity of VQ are reduced.
c. Yields reduced codebook size and this makes TVQ computationally effective.
d. Memory requirement is reduced.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 55
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
Several approaches have been reported for image coding by VQ of transform coefficients instead of the image
pixels and are referred to as transform vector quantization (TVQ). TVQ based approaches combine the merits of
VQ and transform coding. Generally, they utilize the standard Linde-Buzo-Gray (LBG) algorithm for codebook
design. Hence these approaches also carry the problems associated with LBG.
An Efficient Algorithm for Codebook Design In Transform Vector Quantization (EACD-TVQ):
A new wavelet-domain codebook design algorithm is proposed for image coding by M Begun et. el [4] in 2003.
The method utilizes mean-squared error and variance based selection schemes for good clustering of data
vectors in the training space. The proposed method suggests codebook design in the wavelet-domain using
partially the essence of genetic algorithm (GA). Here, forming a number of clusters in the training vector space,
and using centroids of clusters to constitute the codebook, is similar to the conventional LBG algorithm.
However difference from the LBG is the process of cluster formation. The clusters are not emerged as an
implicit property of clustering algorithms. They are generated on the basis of requirements of purpose.
Codebook is formed by cluster representatives. Cluster representatives are similar types of vectors in the
training space from any initial condition. However they are forced to form clusters and the cluster
representatives, after going through some fitness evaluation. This fitness evaluation is to determine the degree of
goodness of an individual, which is a popular strategy in GA. Mean value of clusters, as cluster representative,
is not computed until a good clustering is ensured. Thus the original features of vectors are preserved to increase
the effectiveness of the codebook. This also reduces the severe initialization problem and needs less
computational time to give a better solution.
EACD-TVQ Algorithm:
1. Obtain the four components of the original image at different resolution level by taking its Wavelet
transform.
1. Divide each component image into sub-image blocks of size m x m and convert them to m2
dimensional vectors. Form a training vector space with these vectors. Thus four training sets are
formed for a single image leading to four separate codebooks corresponding to each training set.
2. Then codebook is generated. The code vectors are chosen as centroids of a set of clusters formed using
the MSE and variance based selection strategy.
Codebook generation: A step by step selection process is followed to generate a prescribed number of
temporary clusters for a particular training. Each step is associated with one selection criteria.
Clustering process is started by finding the smoothest vector in the training space based on its variance feature.
A vector with minimum variance represents the smoothest vector and considered as the reference vector.
Training vectors are then classified into C different clusters based on their MSE distances with the reference. C
vectors are chosen from these clusters, one from each cluster, by natural selection (GA based). The centroid is
defined as the mean of a cluster at the end of the temporary cluster formation. Whenever a new vector is
included into a cluster, its centroid is recomputed. Finally there are CU real clusters and CU centroids. Then each
vector undergoes a fitness test.
Fitness test: Every vector will be associated a value known as the fitness score ‘m’. A fitness score m indicates
that it has been selected as ‘closely-matched' for mtimes by a large set of vectors. This new vector-set is called
fitness vector. Fitness vector is created in the same way as a training - vector space but from different images. A
fitness vector will select a candidate vector as ‘closely matched' whenever its MSE with this candidate is
minimum compared to that with all other candidates in the CU vectors queue.
Figure 5.Convergence characteristics of the LBG and EACD-TVQ. [4]
FVQEOPT: Fast vector quantization encoding with orthonormal Polynomials Transform :
Krishnaoorthy R et el proposed FVQEOPT to make VQ encoding fast by combining features of transformed
coding with VQ in 2010 [5]. Vector quantization in frequency domain (Transformed Vector Quantization /
TVQ) has advantages over VQ in spatial domain. The transformed vector components in high frequency regions
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 56
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
are low energy components. Hence they can be discarded. As a consequence the dimension of transformed
vectors and the complexity of VQ are both reduced. This results in a reduced codebook size. In the proposed
method, binary tree codebook is constructed with the proposed Orthogonal Polynomials transformed training
vectors. The proposed transform is configured to take the interactions in the individual color planes as well as
interactions between the color planes. Hence there is no need to design codebook for three color components
separately no need of color coordinate conversion transformation. In case of the transformed binary tree
codebook the computational complexity grows linearly with rate, rather than exponentially as in GLA. The
search algorithm in this proposed work uses binary search and Partial Distortion Elimination (PDE) for finding
closest code vector of an input vector.
Codebook Generation and Code Word Matching
FEQEOPT algorithm consists of two steps namely the extraction of features using Orthogonal Polynomials to
transform and design of Binary Tree Method (BTM) for codebook generation. The transformed vector
components in the high frequency regions have very little information. Hence these low energy components
might be discarded entirely. The Binary Tree Method (BTM) codebook generation algorithm has higher
computational efficiency and requires lower memory space. For binary tree partitioning, a single feature with
largest variance is used as split key, because it is the effective feature and results in better decision principle at
each node to obtain better balanced tree structure. It is extracted from the training vectors. The mean value
corresponding to the split key feature is used as the threshold (T) because the mean contains most of the
statistical information of the feature and also requires less computation. The threshold T splits the training
feature vectors at each non-terminal node into two halves. Vector is placed on the left child node if its key value
of a is less than the split threshold, else, it is on the right child node. The splitting procedure is repeated until the
desired number of clusters i.e. the desired codebook size is reached. The number of clusters is equal to the
number of leaves at the lowest level of the binary tree. Finally, centroids of the feature vectors at each node are
taken as the code words of the codebook.
The second phase is VQ encoding, binary searching and PDE. It leads to fast code word search. For binary
searching, all the code words in the codebook are sorted based on the first component of code word. The first
and the last code vector of the code book is set as the lower and upper limit of binary searching. A codeword m
with minimum distortion based on the first component of input vector as well as code word from the codebook
(partial distortion)is selected for each input vector. This partial distortion is compared with next code vector
(m+1), and if this distortion is greater, then the upper limit of search is set (m+1) for binary search. This process
is repeated until the upper and lower bounds exceed each other. Finally the closest codeword ci is found with
index I. It is further compressed using entropy coding. Compared to full search (FS) the computational
complexity of proposed algorithm is very low.
The computation complexity of FS VQ encoding for color image is O(ckn), where k is the dimension of the
vector, n is the codebook size and c is three color components.
Computational complexity of codebook matching for the proposed algorithm reduces from O(ckn) to O(dlogn),
where d is the reduced dimension of transformed coefficients βijk. The value of c = 1, since single codebook is
generated for all the three color components utilizing the inter-correlation property of the color planes due to the
proposed transform.
An Efficient Codebook Initialization Approach (ECIA) for LBG Algorithm: RecentlyArup Kumar Pal and
AnupSar proposed another approach of codebook initialization in 2011 [6]. They proposed use of the highest
level approximate image of the original image formed usingimage pyramidprocess. It is then decomposed into
blocks to select as the initial codebook for codebook generation. Theselectedinitial codebook is then trained into
an improved one through several iterative processes. The algorithm is presented in figure 6.
The image pyramid offers a flexible, convenient multiresolution arrangement. It is the reflection of the
multiple scales of processing in the human visual system. The image pyramid is formed by a sequence of copies
of an original image with decreasing sample density and resolution in regular steps. The bottom of the pyramid
is the original image. It is then low pass filtered and subsampled by a factor of two to obtain the next pyramid
level. The process is repeated to generate the remaining pyramid levels. An image pyramid for “Lena” image is
shown in Figure 7.
It is empirically found that the ECIA scheme has a better convergence rate than the LBG algorithm.
Also PSNR performance is also marginally improved.
Fast Encoding Algorithms for Vector Quantization Based on Orthogonal Transform (FEAVQBOT):
Jiann-Der Lee and Yaw-Hwang Chiou proposed Fast Encoding Algorithms for Vector Quantization Based on
Orthogonal Transform in 2011 [7]. It is also an improvement in codebook initialization and clustering process of
VQ. In fact this paper proposed three efficient algorithms to extract the features of input vector using orthogonal
transform, i.e., PCA transform, Hadamard transform, Haar wavelet transform, respectively . The features are
then used to remove impossible codeword in the distortion computations stage. Proposed approaches decrease
the computation time for achieving VQ coding with the same quality with the full search algorithm.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 57
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
Figure 6. Flowchart of ECIA
Input Image
Reduced image using Image Pyramid
Decompose highest level Reduced image into identical blocks
Covert the block values into vectors and consider all vectors as
initial codevectors
Cluster and calculate centroids
No
Converge?
Yes
Final Codebook
Figure 7. Image pyramid of ‘Lena’
A. PCA-based algorithm
PCA is a well-known technique. It is used for data reduction. PCA is commonly used to transform a random
vector X (x1, x2, ….,xd) to a simplified vector Y ( y1, y2, …., ym) where m <d. Thus PCA transforms a number
of related variables to a smaller set of uncorrelated variables. The algorithm is described below.
I). Off-line preprocessing
Step 1: Derive the transform matrix W using the trainingimages.
Step 2: Calculate the projections of the codewords in a
codebook on first m axes. Rearrange them in the ascending order according to the projection value on the first
axis,
II). On-line processing
Step 1: Calculate the projections of the input vector Xion first m axes, denote them as yi1 ,yi2 , …, and yim.
Step 2: Use the 1st principal component of Xito search the nearest codeword in the codebook. Denote the nearest
codeword as ( Xcidx_min ) and idx_minis the corresponding index of Xi.
Step 3: Calculate the squared Euclidean distance e2 of Xi
andX c idx_min. Set idx_L= idx_min- 1,idx_U = idx_min+ 1, codebook_num = codebook size, and L = U = 1.
Step 4: If L = 0,go to step 9.
Step 5: From (10),if ( ycidx_ L1 - yi1) 2>e2then L = 0 ( i.e, discard the codewords range from idx_Lto 1in the
codebook), go to step 9.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 58
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
Step 6: if then discard the idx_L-thcodeword in the codebookgo to step.8.
Step 7: Calculate the squared Euclidean distance en2 of Xi and X c idx_ L. If en2<e2 then set the index of Xias
idx_L,ande2 = en2
Step 8: idx_L= idx_L- 1,if idx_L<1,set L=0。
Step 2.9: if U = 0,go to step 14.
Step 10: if (ycidx_U1 – yi1) >e2 then set U= 0 (i.e, discard the codewords range from idx_Uto codebook_numin
the codebook),go to step 14.
Step 11: if ( then discard the idx_U-thcodeword in the codebook,go to step 13.
Step 12: Calculate the squared Euclidean distance en2 ofXiand XcidxU . If en2 <e2 then set the index ofXias
idx_Uand e2 = en2
Step13: idx_U= idx_U+ 1,If idx_U>codebook_num, then set U=0.
Step 14: If (U + L) > 0,go to step 4.
Step 15: Check if there is any input vector to be encoded, if true, go to step 1.
Step 16: End of the process.
Fast Encoding Algorithm II based on HT:
The proposed HT-based algorithm is illustrated briefly as below.
I. Off-line preprocessing
Step 1: According to various codebook sizes, select a suitable Hadamard matrix H.
Step 2: Calculate the projections of the codewords in a codebook on each axis and rearrange them in the ascending
order according to the projection value on the first axis.
II. On-line processing
Step 1: Calculate the projections of the input vector Xi oneach axis, and denote them as yi1,yi2,…and yik.
Step 2: Use the first element of Xi to search the nearest codeword in the codebook. Denote the nearest codeword
as ( Xcidx_ min ) where idx_minis the corresponding index of Xi.
Step 3: Calculate the squared Euclidean distance e2 of Xiand Xcidx_ min . Set idx_L= idx_min- 1,and idx_U=
idx_min+ 1, codebook_num = codebook size and L = U = 1.
Step 4: If L = 0,go to step 9.
Step.5: if ( ycidx_ L1 - yi1)2>e2then L=0 ( i.e, discard the codewords range from idx_Lto 1in the codebook),
go to step 9.
Step 6: If e12 = ( Then discard the idx_L-thcodeword in the codebook.
Go to step 8.
Step 7: Calculate the squared Euclidean distance
1 ( 1 of Xiand Xcidx_ L .
If en2 e2 then set the index of Xi as idx_L, and e2 = en2
Step 8: idx_L= idx_L- 1,if idx_L<1,set L=0。
Step 9: if U = 0,go to step 14.
Step 10: if ( ycidx_U1 yi1)2e 2then set U = 0 (i.e, discard the codewords range from idx_Uto
codebook_numin the codebook),
go to step 14.
Step 11: if e12 = ( 1 then,discard the idx_U-thcodeword in the codebook,
go to step 13.
Step 12: Calculate the squared Euclidean distance
1 ( ofXi and Xcidx_U .
Ifen2 >e2 then set the index of Xi as idx_U,ande2 = en2
Step 13: idx_U= idx_U+ 1, If idx_U>codebook_num,then set U = 0.
Step 14: If (U + L) > 0,go to step 4.
Step 15: Check if there is any input vector to be encoded, if true, go to step 1.
Step 16: End of the process
Fast Encoding Algorithm III based on HWT:
The proposed algorithm based on HWT is given below.
I. Off-line preprocessing
Calculate the projections of each codeword in a codebook on each axis, i.e., all the sub-images of each
codeword, (A2-J f , (D2j f ,D j f ,D j f )-J<=j<= - 1, J= 2.
Rearrange them in the ascending order according to the projection value on the first axis (the lowest frequency),
II. On-line processing
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 59
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
Step 1: Calculate the projections of the input vector Xi on each axis, denoted as yi1 ,yi2 , …and yik.
Step 2: Use the first element of Xi to search the nearestcodeword in the codebook. Denote the nearest codeword
as ( Xcidx_ min ) and idx_minis the corresponding index of Xi .
Step 3: Calculate the squared Euclidean distance e2 ofXi and Xcidx_ min .
Set idx_L= idx_min- 1, idx_U= idx_min+ 1, codebook_num = codebook size and L = U = 1.
Step 4: If L = 0, go to step 11.
Step 5: if ( ycidx_ L1 - yi1)2>e2then L=0 ( i.e, discard the codewords range from idx_Lto 1 in the codebook),go
to step 11.
Step 6: if e12>e 2, then discard the idx_L-thcodeword in the codebook, go to step 10.
Step 7: e22>e2, then, discard the idx_L-thcodeword in the codebook, go to step 10.
Step 8: If e32>e, then discard the idx_L-thcodeword in the codebook, go to step 10.
Step9: Calculate the squared Euclidean distance
( of Xiand Xcidx_ L .
2 2
If en <e then set the index of Xi as idx_L, and e2 = en2
Step 10: idx_L= idx_L- 1, if idx_L<1, set L=0.
Step 11: If U = 0, go to step 18.
Step 12: If ( ycidx_U1- yi1)2>e2 then set U = 0
(i.e, discard the codewords range from idx_Utocodebook_numin the codebook),
go to step 18.
Step 13: e12>e2then discard the idx_U-thcodeword in the codebook, go to step 17.
Step14: If e22>e2then discard the idx_U-thcodeword in the codebook, go to step 17.
Step 15: If e32>e2then discard the idx_U-thcodeword in the codebook, go to step 17.
Step 16: Calculate the squared Euclidean distance
( ofXi and Xcidx_U . If en2<e2 then set the index of Xi as idx_U,
and e2 = en2
Step 17: idx_U= idx_U+ 1, If idx_U>codebook_num, then set U = 0.
Step 18: If (U + L) > 0, go to step 4.
Step 19: Check if there is any input vector to be encoded, if true, go to step 1.
Step 20: End of the process.
Performance Comparison of the three algorithms
FEA based on PCA:
This algorithm reduces the average number of distance calculations. However the computation time of FEA
based on PCA is not always smaller than others. This is because of extra computation time required for
removing the unlike codewords.
FEA based on HT:
Here the average number of distance calculations is less,
but its computational time is also not always smaller than others. However the proposed algorithm has the best
efficiency compared with previous algorithms in various codebook sizes for three test images.
FEA based on HWT:
This algorithm has the best performance among the previous approaches in removing non-similar codewords.
In computation time it has the best efficiency compared with previous algorithms in various codebook sizes for
three test images (Lena, Pepper and Baboon). It’s computation time is lowest. FEA-HWT reduces the search
range for codebook along with the reduction in input vector dimension and complexity.
New Clustering Algorithm for Vector Quantizationusing Rotation of Error Vector:
A new clustering algorithm is proposed by Kekreet.el [10] in 2010, to make VQ codebook more effective. In
this initial code vector is taken as the average (centroid) of all the training vectors just like LBG. Then for
splitting it into two vectors in the next iteration, an error vector is added and subtracted from the first codevector
to generate two vectors V1 and V2. Then Euclidian distance with vectors v1 & v2 of all the training vectors are
computed. Two clusters are formed based on closest of v1 or v2. The centroids of the two clusters are computed
and then both clusters are split by adding and subtracting error vector rotated in k-dimensional space at different
angles to both the code vector. This is repeated for every cluster. Every time to split the clusters error ei is added
and subtracted from the codevector and two vectors v1 and v2 are generated. Error vector ei is the ith row of the
error matrix of dimension k. The error vectors matrix E is given below.
Error vector matrix E = [ e1 e2 e3… .. . ek]T , where
e1 = [ 1 1 1 1 . . . 1 1 1]
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 60
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
e2 = [1 1 1 1. . ……. 1 1 -1]
e3 = [1 1 1 1 …. … … 1 -1 1 ]
e4 = [ 1 1 1 1 … … … 1 -1 -1 ]
e5 = [ 1 1 1 1 …….. -1 1 1 ]
.
.
ek = [ . . . . . ]
These error vector sequences are obtained by taking the binary representation of numbers starting from 0 to k-1
and replacing 0’s by 1’s and 1’s by -1’s.
Thus this simple technique overcomes the problem of one directional elongation of LBG and improves
clustering. MSE is also reduced.
Optimum Transform Domain Split VQ:
SaikatChatterjee et el,in [9] proposed an optimum transform domain split vector quantization (TrSVQ) methodin 2008.
Best rate distortion as well as less computational complexity was targeted. To overcome the complexity limitation of full
search VQ, the split VQ (SVQ), also known as partitioned VQ is proposed. In SVQ, the full vector is split into
subvectors. The subvectors are quantized independently. By Splitting the transform domain vector into
subvectors it becomes convenient to handle larger dimensional vectors and better performance is achieved . In
this paper an optimum TrSVQ method is developed for quantizing a multivariate Gaussian source using square
Euclidean distance (SED) measure. The R/D performance optimality for the TrSVQ method is addressed using
optimal bit allocation and high rate MSE expression of VQ. A binary split-based iterative algorithm is
developed and used in a tree structured manner to find the optimum subvectors’ dimensions. The technique
allows to choose the subvectors’ dimensions optimally at a particular bitrate for achieving less complexity
without sacrificing R/D performance.
KLT being the optimum de-correlating transform for quantizing a Gaussian source, is used here. By removal of
correlation between vector components, it fully exploits the linear redundancy and it is possible to
independently quantize each input argument vector using SVQ technique without sacrificing the inter-subvector
correlation.
An improved fast encoding algorithm for vector quantization using 2-pixel-merging sum pyramid data
structure:
In 2004, Z Pan et. el proposed fast encoding algorithm for VQ [12]. They have used 2-pixel merging sum
pyramid data structure of a vector for effective encoding with PSNR equivalent to full search. There are three
major modifications.
Instead of taking mean, sum is computed. Sum lead to integer operation and hence error due to round off
operation in mean calculations are avoided easily.
The sum is computed by 2-pixel-merging other than 4-pixel-merging way. Hence more levels can be
constructed in a sum pyramid and the rejection to current codeword can be realized easily.
Codebook is rearranged by sorting real sums directly ( offline), and search scope is narrowed further.
The Algorithm
Step 1.For each codeword, construct an accompanying 2-PM sum pyramid off-line. Each sum is generated by
summing every 2 x 1 items horizontally or 1x· 2 items vertically at the corresponding lower level . The sum at
top level is called the real sum because it is computed from the entire block. The distance between the image
block and a code word at the bottom level is called real distance.
Step 2.Sort and rearrange real sums in ascending order. Save codebook and all sums at each level
correspondingly along sorted real sums.
Step 3.For an image block , to be encoded, construct its sum pyramid online. Then find initial NN in the
rearranged codebook by the min real sum difference using binary search and compute min real distance so far as
d2min. Compute corresponding equivalent min distance so far for the vth level by equation
d2min,v = 2u2-v d2min for v = 1–u2- 1.
All d2min, v is saved temporarily for the comparison at the vth level. It is computationally lighter for in-
between level checks.
Step 4. Determine initial search scope.
Step 5. For each concurrent codewordCi within search scope, start checking the distance from the level-1
because level-0 check is guaranteed OK by initial search scope that has been determined at Step 4 already. If at
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 61
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
the vth level (v = 1-u2-1), dv2 (I,C) > d2min , then Ci can be rejected safely. Otherwise, continue to check distance
until bottom level is reached.
Step 6. If bottom level is reached, then compare current real distance with d 2min . If current real distance
is smaller (i.e. a better-matched codeword), then update d2min in, all d2min;v and ‘‘so far’’ winner index.
Otherwise, go to Step 8.
Step 7. Update current search scope using the smaller current d 2min to narrow the scope again.
Step 8. Go to next codeword. Repeat Steps 5–8 until final lower and upper bounds are reached. Then the
codeword that has the min real distance d2min so far is definitely the winner. The search is complete.
This algorithm is suggested from the view point of compression. However it can be also used for encoding
codewords and using them as FVs of images for CBIR.
Kekre’s codebook generation algorithms.
Kekre et el have proposed many codebook generation algorithms to reduce the computational complexity of
LBG . [14-16]
Kekre’s Proportionate error algorithm (KPE)
This algorithm improves clustering for codebook generation of VQ and thus improves LBG.
Step1. Let T= {X1, X2, ……, XM} be the training sequence consisting of M source vector. Let the source
vector is of length K, Xm={xm,1, xm,2, …… xm,K} for m=1, 2, ………. , M.
Step 2. Compute initial codevector by taking the mean of all the training vectors Xi for i=1, 2, ..…..., M.
Thus initially the codebook contains only one codevector.
Step 3. Then two vectors from the codevector are computed by adding and subtracting the proportionate error to
the initial codevector.
Step 4. Calculate the proportions between the members of vector as follows.
Let k be the length of codevector,
C = {c1, c2, ……..,ck} be the codevector, and
E = {e1, e2, …….,ek} be the error vector
cj = min{ci / i= 1,2, …. k} where j is the index of the member of vector whose value is minimum among the
vector members. Then assign ej = 1and If ci / cj≤ 10 then assign ei = ci / cj else assign ei = 10 for i ≠ j and
i=1,2,………., k.
Step 5. Two vectors v1 and v2 are formed by adding the error vector E to codevector C and by subtracting the
error vector E from codevector C respectively.
Step 6.The Euclidean distance between the all the training vectors Xi with v1 and with v2 are computed
i.e. d1=|| v1-Xi ||2 and d2=|| v2-Xi ||2 for i=1, 2, …..., M
If d1 < d2 then Xi is put in cluster1 else Xi is put in cluster2 and two clusters are created.
Step 7. Compute codevector from each cluster by taking the mean of all the vectors in the cluster. Thus the
codebook size is increased to two.
Step 8. Repeat the above procedure till the codebook size is increased to the size specified by the user or MSE is
reduced to a minimum permissible value.
Kekre’s Fast Codebook Generation (KFCG)
In [15], KFCG algorithm for image data compression is proposed. This algorithm reduces the time for codebook
generation. It does not use Euclidian distance for codebook generation.
Algorithm :
1. Divide an image into blocks and convert blocks to the vectors of size k. This forms a set of training vectors.
Initially one cluster with the entire training vectors is considered and its centroid C1 is the codevector.
2. Form the clusters comparing first element of training vectors with the first element of codevector C1. The
vector Xi is grouped into the cluster 1 if xi1<c11 otherwise vector Xi is grouped into cluster 2 where
codevector dimension space is 2.
3. In the second iteration, split the cluster 1 into two by comparing second element xi2 of vector Xi belonging to
cluster 1 to that of the second element of the code vector which is the centroid of cluster 1. Cluster 2 is split
into two by comparing the second element x i2 of vector Xi belonging to cluster 2 to that of the second
element of the code vector which is the centroid of cluster 2,
4. Repeat the procedure till the codebook size is reached to the size specified by the user.
Keker’s Median Codebook Generation Algorithm (KMCG)
Kekre et el in 2009[16], have proposed a simple and low complexity algorithm for VQ codebook generation.
This algorithm reduces the time for code book generation. Sorting and median technique is used for codebook
generation.
KMCG algorithm
1. Divide image into M blocks.
2. Convert M blocks to vectors of size k.
Matrix T =[ X11, X12, ….X1k, X21, … X2k, …. XM1, ….XMk ] represents matrix M x k of training
vectors.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 62
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
3. Sort the training vectors with respect to first component of all the traning vectors and let the matrix T as a
whole be one cluster.
4. Choose the median of T as a initial codevector and set size of codebook to one.
5. Divide the matrix T in two equal parts using median as a boundary. Sort each part again using second
component of all the training vectors. This will generate two clusters consisting of equal number of training
vectors.
6. Choose medians of these two clusters as two new codevectors and update the codebook size to two.
7. Repeat the process for the new clusters again, till desired codebook size is attained.
For sorting quick sort algorithm is used and no need of computation of Euclidian distance. Thus the algorithm
takes least time to generate codebook.
In [18 ]Kekare et. el. has used K means clustering algorithm for VQ codebook optimization and claimed that if
Kmeans is used for any existing codebook, it will optimize the codebook and reduce the convergence time
considerably. Authors verified it empirically by applying K means clustering to image codebooks generated by
LBG and KFCG.
Codebook Generation Using Partitioning and Agglomerative Clustering
C Chang et el [16], proposed Codebook Generation Using Partition and Agglomerative Clustering in 2011. It
combines a fast codebook generation algorithm with doubling technique (CGAUCD) and fast agglomerative
clustering algorithm (FACA) to generate a codebook. This results in less computing time and lower distortion.
Instead of using FACA directly to divide training vectors into M clusters, The proposed method first generates
qM clusters from these training vectors, where q>1 is an integer, and then applies FACA to merge these qM
clusters into M cells. The computational complexity of the Code Generation algorithm using codeword
displacement (CGAUCD) with doubling technique is less than that of FACA [17]. These M cluster centers are
used as the initial codebook for CGAUCD. The computational complexities of LBG/GLA and agglomerative
clustering are O(NMt) and O(N3), in terms of distance calculations, for a data set of N training vectors
respectively, where M is the number of codewords in a codebook, and t is the number of iterations. It is noted
that M<< N and t<< N, in general.
The Algorithm
a. Generate the set SC = { C1, C2, ….CqM} consisting of qM clusters using C.
b. Apply FACA to determine the initial codebook CB with M codewords.
c. CB = { C1, C2, ……., CM}
d. Use CGAUCD to generate desired codebook.
FACA used an inequality to find the nearest neighbor of a cluster and thereby speed up the clustering process.
The proposed method reduces MSE as well as computing time.
Fast Codevector Search Algorithm for 3-D Vector Quantized Codebook (FCSA)
Kekreet.el in 2009 [19] proposed a Fast Codevector Search Algorithm for 3-D Vector Quantized Codebook,
using sorting and centroid technique for search. A new performance parameter named as an Average fractional
change in pixel value is also introduced.
FCSA Algorithm
The algorithm can be divided into two parts. Preprocessing and on line processing.
I)Preprocessing : Formation of codebook
Step 1. Let CB be the codebook consisting of k-dimensional vectors. ( k=3 consisting of R, G, B component
values of every pixel.)
Step 2. Sort the codebook with respect to the first element of the codevector.
Step 3. Compute the centroid C0 of the first elements of all the codevectors.
Step 4. Divide the codebook into two parts based on the centroid of the first element as a dividing line. The
upper part consists of element values less than this centroid. And the lower part consists of element values
greater than the centroid.
Step 5. Sort the upper part of the codebook again with respect to the second elements of the codevectors and
again centroid C00 is computed for the second element for the upper part.
Step 6. Repeat the process for the lower part too and compute its centroid C01.
Step 7.Divide further the upper and lower parts into two new clusters based on their centroids and repeat the
process till the desired codebook size N (with. N centroids) is obtained.
Online processing: Encoding
Step1 Compare the first element xi1 of image training vector Xi with C0 , if xi1 < C0 then xi2 is compared with
C00 else then xi2 is compared with C01 and so on till the last level is reached.
Step2 Search the nearest codevector from the group of codevectors using Euclidean distance computation.
Following this method, the codebook is divided into subparts. Hence instead of full search, nearest subpart for
the training vector is found out and then closest codevector is searched using exhaustive search applied only to
the subpart that is obtained. It takes (log2N – 3) comparisons to locate the nearest subpart. Number of iterations
required are r= (log2N – 3) times so as to get 2r parts of the codebook.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 63
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
A new performance parameter is introduced that is named as Average Fractional Change in Pixel Value
(AFCPV) and it is computed as follows:
( , ( , ( ( ,
where F(x, y) is the original image of size M x N and (x, y) is the reconstructed image.
According to Kekreet. el. AFCPV is related to human perception. It gives a better understanding of the
closeness of the image by taking into consideration the average fractional change in each pixel value. Thus
smaller the AFCPV, better is the codebook.
Fast K-dimensional tree-structured vector quantization encoding method for image compression
Anke Meyer-Baeseet el. [20] in 2004 proposed Fast K-dimensional tree-structured vector quantization encoding
method to speed up the encoding process. The method is based on local search and is specially designed for very
large guidebooks. It is basically proposed to reduce the complexity of the nearest neighbor search algorithm
used in VQ encoding.
Proposed technique
a. Consider all training vectors (whole input space) in one cluster.
b. Determine minimum and maximum bound of cluster ‘i’ in each dimension k, { k = 1, 2, … n).
c. Put the reference vectors one after another in the appropriate cluster. A vector x belongs to a cluster I, if for
each dimension k, the vector x satisfies the following relation. minki, <xk, <maxki
d. Continue step 3 till the number of the vectors in one cluster exceeds an application-based threshold value.
e. Split the cluster into two child clusters. Splitting is based on the dimension of the largest deviation of the
reference vectors within the parent cluster.
Let dmaxbe the dimension of the largest deviation, Then, the ranges of the two child clusters for this specific
dimension are :
(mindmax ,middmax) for the left cluster and (middmax,maxdmax), for the right cluster.
The ranges for the other dimensions remains unchanged for both the left and right cluster. The mins and the
maxs are the parent’s bounds; middmaxis the average of the wo closest values of the reference vectors in this
dimension. Thus the generated tree will be binary with the leaves containing all reference vectors. The nodes
can be used to look up a certain cluster. This process is repeated up to processing of all reference vectors of the
codebook and till they are put into the appropriate cluster. Ordered clusters are generated so that search becomes
simple and fast. Once all vectors are distributed to the clusters, the closest reference vector to a given input
vector can be found just with few comparisons. The Euclidean distance to all reference vectors in the found
cluster is calculated to find the closest codeword.
IV. Computational Complexity
Ncompares = 5log2Ntotal /Ncluster, where,
Ncompares is the number of compares,
Ntotal is the total number of reference vectors, and
Ncluster the average number of elements in each cluster. The number of elements per cluster varies from one to
the maximum number of vectors which are allowed per cluster.
Table 1 Comparison of various Vector Quantization Techniques
VQ Robustness Simplicity Memory Transfer
technique requirement time
LBG/GLA High High Low Medium
Entropy High Medium Medium Undermined
constraint
VQ
Multistage Medium Low Medium Undermined
VQ
Wavelet Medium High Low Low
Domain
VQ
Multiple Medium Low Medium Undermined
VQ
Hybrid VQ High Medium Medium Low
Pyramid High M L Low
VQ
Tree Medium Medium Low Undermined
Structured
VQ
Neural High High Medium Low
Network
Based VQ
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 64
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
V. Conclusion
In this paper a survey of recent VQ codebook generation and encoding methods is presented. All techniques
try to minimize the distortion so that image reconstructed will be a close match to the original and also they are
trying to reduce the computational complexity. Table 1 shows the comparison among the various VQ
techniques. LBG is also known as GLA is the most simple, and popular algorithms for VQ. However it is
computationally complex and suffers from local optima problem. Hence many techniques are proposed by
researchers to improve over it.
Codebook generation can be done in spatial domain or in the frequency domain. Frequency domain technique
of VQ is known as transformed domain VQ or TVQ. Nowadays TVQ is becoming popular due to its various
advantages over spatial domain VQ. VQ encoding consists of two phases. Codebook generation and closest
codeword search. VQ also involves searching of codebook to find the appropriate codeword as representation of
training vector. Exhaustive search (ES) is computationally very complex and hence time consuming. Therefore
in order to reduce search time many search algorithms are available in the literature.
MPS, DSBS, DTPC, FAUPI and CGAUCD are designed to reduce the computation time of LBG. Most of them
can indeed speed up the training process. However, the qualities of the reconstructed images of these schemes
are worse than that of LBG. In addition, some of them even have the block effects.
ELBG, CNN-ART, ETSA, PNM and genetic-based algorithms are designed to overcome the local optimal
problem and prevent the premature convergence. However, most of them need long runtime because candidate
solutions must be fine tuned by LBG.
VI. Future Direction
Though VQ has developed for effective image compression in mind, it is very much suitable for many other
applications like speech recognition, image segmentation, Face detection, pattern recognition and Content based
Image retrieval etc. However from CBIR point of view, distortion is not the key issue. A thought should be
given over finding effective codebook as a perfect signature of the image may be tolerating little more
distortion, but the codebook should represent the image adequately with less computation time and higher
retrieval accuracy so that it will provide the best feature for the image. Hence research in Image compression
and on CBIR should go hand in hand so that whenever the compression scheme is developed it should also
provide an effective feature set for CBIR.
References
[1] Y. Linde, A. Buzo, and R. M. Gray, “An algorithm for vector quantizer design,” IEEE Trans.Commun., vol. COM-28, no. 1, pp. 84-
95, 1980.
[2] Tzu-Chuen Lu, Ching-Yun Chang, A Survey of VQ Codebook Generation, Journal of Information Hiding and Multimedia Signal
Processing 2010 ISSN 2073-4212 Ubiquitous International Volume 1, Number 3, July 2010
[3] RitendraDatta, Dhiraj Joshi, Jia Li, and James Z.Wang, “Image Retrieval: Ideas, Influences, and Trends of the New Age”, ACM
Computing Surveys, Vol. 40, No. 2, Article 5, Publication date: April 2008.
[4] Momotaz Begum, NurunNahar, Kaneez Fatimah, M. K. Hasan, and M. A. Rahman, “An Efficient Algorithm for Codebook Design In
Transform Vector Quantization”, WSCG’2003, February 3-7, 2003, Plzen, Czech Republic. Copyright UNION Agency – Science
Press
[5] Krishnamoorthy R, Punidha R “ FVQEOPT: Fast vector quantization encoding with orthonormal Polynomials Transform”, 2010 the
third international conference on Machine Vision (ICMV
[6] Arup Kumar Pal and AnupSar, “An Efficient Codebook Initialization Approach for LBG Algorithm”, International Journal of
Computer Science, Engineering and Applications (IJCSEA) Vol.1, No.4, August 2011 pp 72-80
[7] Jiann-Der Lee and Yaw-Hwang Chiou , “Fast Encoding Algorithms for Vector Quantization Based on Orthogonal Transform”,
International Journal Of Mathematical Models And Methods In Applied Sciences, Issue 1, Volume 5, 2011 pp 9 – 16
[8] C Chan, Y P Hsieh, W Wu, “ Wavelet based initialization for VQ codebook generation”, 2005
[9] SaikatChatterjee, and T. V. Sreenivas, “Optimum Transform Domain Split VQ”, IEEE SIGNAL PROCESSING LETTERS, VOL. 15,
2008
[10] H. B. Kekre, Tanuja K. Sarode, New Clustering Algorithm for Vector Quantization using Rotation of Error Vector”,
(IJCSIS)International Journal of Computer Science and Information Security, Vol. 7, No. 3, 2010
[11] http://en.wikipedia.org/wiki/Vector_quantization, Wikipedia, the free encyclopedia, August 18, 2009
[12] Zhibin Pan, Koji Kotani, TadahiroOhmi, “An improved fast encoding algorithm for vector quantization using 2-pixel-merging sum
pyramid data structure”, Pattern Recognition Letters 25 (2004) 459–468
[13] H. B. Kekre, Tanuja K. Sarode, “Two-level Vector Quantization Method for Codebook Generation using Kekre’s Proportionate Error
Algorithm”, International Journal of Image Processing, Volume (4): Issue (1)
[14] H. B. Kekre, Tanuja K. Sarode, Sudeep D. Thepade,: “Image Retrieval using Color-Texture Features from DCT on VQ Codevectors
obtained by Kekre’s Fast Codebook Generation.” In.: ICGST-Int. Journal GVIP, Vol. 9, Issue 5, pp. 1-8, (Sept 2009).
[15] H. B. Kekre, Tanuja K. Sarode, “2-level Vector Quantization Method for Codebook Design using Kekre’s Median Codebook
Generation Algorithm”, Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 2 Number 2 (2009) pp.
167–178
[16] Chih-Tang CHANG1, Jim Z.C. LAI2, Mu-Der JENG, “Codebook Generation Using Partition and Agglomerative Clustering”,
Advances in Electrical and Computer Engineering Volume 11, Number 3, 2011
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 65
Khapli et al., International Journal of Engineering, Business and Enterprise Applications, 2 (1), Aug-Nov, 2012, pp. 53-66
[17] Jim Z. C. Lai, Y. C. Liaw, and Julie Liu, “A fast VQ codebook generation using codeword displacement,” Pattern Recognition, vol.
41, no. 1, pp. 315-319, January 2008.
[18] H. B. Kekre, Tanuja K. Sarode, Vector Quantized Codebook Optimization using K-Means, International Journal on Computer
Science and Engineering Vol.1(3), 2009, 283-290
[19] H. B. Kekre, Tanuja K. Sarode, “Fast Codevector Search Algorithm for 3-D Vector Quantized Codebook”, World Academy of
Science, Engineering and Technology 50 2009
[20] Anke Meyer-Baese; KarstenJancke; Axel Wismuller M.D.; Michael Georgiopoulos, “Fast K-dimensional tree-structured vector
quantization encoding method for image compression (Journal Paper), Opt. Eng. 43(5) 1012–1013 (May 2004)
[21] Gersho and R. Gray, “Vector quantization and signal compression.” Kluwer Academic Publisher, 1992
[22] J. Z. C. Lai, Y. C. Liaw, and J. Liu, A Fast VQ Codebook Generation Algorithm Using CodewordDisplacement, Pattern
Recognition, vol. 41, pp. 315{319, 2008.
[23] T. C. Lin and P. T. Yu, Centroid Neural Network Adaptive Resonance Theory for Vector Quantization, Signal Processing, vol. 83,
pp. 649{654, 2003.
[24] S. M. Pan and K. S. Cheng, An Evolution-based Tabu Search Approach to Codebook Design, Pattern Recognition, vol. 40, pp.
476{491, 2007.
[25] S. W. Ra and J. K. Kim, A Fast Mean-Distance-Ordered Partial Codebook Search Algorithm for Image Vector Quantization, IEEE
Trans. Circuits and Systems - II: Analog and Digital Signal Pro cessing, vol. 40, no. 9, pp. 576{579, 1993.
[26] C. W. Tsai, C. Y. Lee, M. C. Chiang, and C. S. Yang, A Fast VQ Codebook Generation Algorithmvia Pattern Reduction, Pattern
Recognition Letters, vol. 30, pp. 653{660, 2009.
IJEBEA 12-219, © 2012, IJEBEA All Rights Reserved Page 66
Related docs
Other docs by iasir.journals
Some New Relationships Between the Derivatives of First and Second Chebyshev Wavelets
Views: 32 | Downloads: 0
Recognition and Deterrence of SQL injection attacks in database using web service
Views: 14 | Downloads: 0
NYMBLE: Protecting the Privacy of Users in Anonymous Networks and Blacklisting Misbehaving Users
Views: 106 | Downloads: 3
An Efficient Crawling Algorithm for Optimization of Web Page for Major Search Engines
Views: 43 | Downloads: 0
Analysis and Comparison of Lambda Iteration, Genetic Algorithm and Particle Swarm Optimization to Solve Economic Load Dispatch Problem
Views: 31 | Downloads: 0
Recognition and Deterrence of SQL injection attacks in database using web service
Views: 11 | Downloads: 0
Modified Agile Process: Improving the Competency for Process Development Methodologies
Views: 20 | Downloads: 0
Get documents about "