PCA-Based Fast Search Method Using PCA-LBG-Based ... - IEEE Xplore

6 downloads 1675 Views 10MB Size Report
Apr 15, 2016 - 2Department of Computer Science, National Pingtung University, Pingtung City 900, Taiwan ... the proposed PCA-based fast search method outperforms the conventional ...... and the Ph.D. degree in engineering science and.
Received March 10, 2016, accepted March 25, 2016, date of publication March 30, 2016, date of current version April 15, 2016. Digital Object Identifier 10.1109/ACCESS.2016.2548664

PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook for Codebook Search PO-YUAN YANG1 , JINN-TSONG TSAI2 , AND JYH-HORNG CHOU1,3,4 , (Fellow, IEEE) 1 Department

of Electrical Engineering, National Kaohsiung University of Applied Sciences, Kaohsiung 807, Taiwan of Computer Science, National Pingtung University, Pingtung City 900, Taiwan of Electrical Engineering, National Kaohsiung First University of Science and Technology, Kaohsiung 824, Taiwan 4 Department of Healthcare Administration and Medical Informatics, Kaohsiung Medical University, Kaohsiung 807, Taiwan 2 Department 3 Institute

Corresponding author: J.-H. Chou ([email protected]) This work was supported by the Ministry of Science and Technology, Taiwan, under Grant NSC 102-2221-E-151-021-MY3 and Grant MOST103-2221-E-153-004-MY2.

ABSTRACT A fast search method based on principle component analysis (PCA) is proposed to search codewords using vector quantization (VQ) codebooks obtained by PCA with Linde–Buzo–Gray (LBG) algorithms. The PCA sorts vectors of a test image and codewords of a PCA-LBG-based VQ codebook. The first search starts from the first codeword in the sorted codebook, and the next search starts from the previous best-matching codeword position in the sorted codebook. Both forward and backward searches are performed within the set search range until the best-matching codewords for all vectors of the test image are found in a sorted codebook. Because PCA efficiently distinguishes both test image vectors and codebook codewords, the proposed PCA-based fast search method outperforms the conventional algorithms in a codebook search. In particular, the experimental results show that, by using PCA-LBG-based VQ codebooks, the proposed PCA-based fast search method outperforms other methods in terms of peak signal-to-noise ratio for the compressed image, number of codewords searched, and runtime. INDEX TERMS Vector quantization, codebook, principle component analysis, fast search.

I. INTRODUCTION

Vector quantization (VQ) was first proposed by Linde et al. [1] and is now a well-established image compression method. The structure, computation efficiency, and low bit rate of VQ make it effective in many applications, including image compression [2], [3] and data hiding [4]–[6]. The three main steps of VQ are codebook generation, image encoding, and image decoding. One of the most common codebook generation methods is the Linde-Buzo-Gray (LBG) algorithm, which partitions a training image into non-overlapping blocks (called vectors) and then performs initialization and training to generate a codebook from vectors. Recent improvements in LBG algorithms for codebook generation include genetic simulated annealing method [7], ant colony algorithm [8], particle swarm optimization [9], honey bee mating optimization [10], and firefly algorithm [11]. Our previous works combined principle component analysis (PCA) with LBG algorithms [12] and combined PCA with evolutionary and

1332

LBG algorithms [13]. Experimental comparisons confirmed that the proposed combined approaches to VQ codebook design outperform existing approaches. After the encoding step divides an image into several nonoverlapping blocks, codewords are computed for all blocks to find the closest codeword in a codebook. The index of the closest codeword is then substituted for each block. The main task in image encoding is searching for proper codewords in a codebook. Improved methods of searching codebooks for the codewords with the best match include mean pyramid structure [14], [15], double test of principal components [16], mean square error [17], [18], law-of-cosine-based search algorithm [19], triangle inequality [20]–[22], Cauchy-Schwarz inequality [23], Hadamard transform [24], binary tree concept [25], quasibinary search [26], double test scheme [27], and absolute moment block truncation coding [28]. Although all of the above methods can find suitable codewords and obtain superior results compared to the full search algorithm, they all

2169-3536 2016 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

require the use of complex methods to reject unlikely codewords. The performance of the search algorithm proposed here was compared with those proposed in earlier studies by Kekre and Sarode [25] and by Chang and Hsieh [27] because both studies implemented various search algorithms in codebooks of varying size (128, 256, 512 and 1024) and because both studies used test images with varying characteristics. The full search algorithms developed in our previous works [12], [13] also obtained high image quality using codebooks of varying size (128, 256, 512 and 1024). Despite their good search performance, however, full search algorithms are very time-consuming. Therefore, further studies are needed to improve efficiency in finding the best-matching codewords for image encoding. In the decoding step, the codeword of a codebook is used to recover the value of each index. After all indices are treated, the VQ coded image is decompressed, and image quality is evaluated. Since a high peak signal-to-noise ratio (PSNR) indicates a high quality image, the PSNR of the compressed image is used as an index in performance evaluations of the proposed fast search method of image encoding. The PCA-based fast search method proposed in this study efficiently searches VQ codebooks for codewords used for image encoding. The PCA speeds up the encoding process by sorting both the test image and the codebook. Since codebook quality is measured in terms of image encoding efficiency, the proposed PCA-based fast search method uses PCA-LBG-based VQ codebooks to improve image encoding efficiency. The PCA-LBG-based VQ codebooks are generated by the PCA and LBG algorithms developed previously by the authors [12]. Three PCA-LBG-based VQ codebooks are used in this study: PCA-LBG-Median, which selects the median vector in each group; PCA-LBG-Centroid, which selects the centroid vector in each group; and PCA-LBG-Random, which selects a random vector in each group. Experimental performance comparisons showed that the proposed PCA-based fast search method using PCA-LBG-based VQ codebooks outperforms conventional VQ codebook search methods in terms of PSNR for the compressed image, number of codewords searched, and runtime. This paper is organized as follows. Section 2 defines the research issue. Related works are briefly described in Section 3. The proposed approach is presented in Section 4. Section 5 presents and discusses the case study results. Finally, Section 6 concludes the study. II. PROBLEM DESCRIPTION

Vector quantization is a common method of image compression in which a quantized value, i.e., a codebook codeword, is used to represent a vector, i.e., a non-overlapping block in an image. The VQ method is described in detail in works by Linde et al. [1], Gray [29], and Tsai and Yang [12]. The VQ encoding process applied in this study separates a test image into 4×4 blocks of non-overlapping pixels, each of which is a 16-element vector. The vector of the block is compared with all codewords in a sorted codebook to VOLUME 4, 2016

identify the codeword closest to this block. The index for the codeword is then used as the compression code for the 4×4 block. A full search is conventionally used to find the closest codeword for each input vector. If the codesize is Nc , the number of a codeword searched is Nc for each input vector. For example, if a 512×512 image is divided into 16384 blocks and has a codebook size of 1024, the number of codewords that must be searched to encode the image is 16,777,216. Therefore, the objective of this study was to increase the speed of the full search algorithm by developing an effective and efficient method of obtaining the best-matching codewords for image encoding. III. RELATED WORKS

This section briefly describes PCA and PCA-LBG-based algorithms and then describes the index used to measure image quality in this study. A. PRINCIPAL COMPONENT ANALYSIS

The PCA uses orthogonal linear transformation to transform data to a new coordinate system [30]. Due to projection, the first coordinate has the greatest variance, the second coordinate has the second greatest variance, and so on. That is, PCA can extract a smaller representative data set from a larger data set. In the original data, the principal component set has the largest variance. The number of principal components that can be computed depends on how much variability is preserved. In the original data set, the first principal component is computed by preserving the maximum variability, and each of the other principal components (e.g., the second, third, and fourth principal components) illustrates the remaining variability. B. PCA-LBG-BASED ALGORITHMS

The LBG algorithm proposed by Linde et al. [1] uses K-means method to generate codebooks. An earlier study by the authors [12] increased the speed and accuracy of the LBG algorithm in generating codebooks by combining it with PCA. A PCA-LBG-based algorithm uses PCA to sort all 16-element training vectors (4×4 blocks of non-overlapping pixels) in the training image by extracting the principal components. To choose the initial codeword for the initial codebook, all 16-element training vectors sorted by PCA are divided into Nc groups. The initial codebook is generated using three different methods. For example, PCA-LBG-Median uses the median vector in each group, PCA-LBG-Centroid uses the centroid vector in each group, and PCA-LBG-Random uses a randomly selected vector in each group. The following steps illustrate the codebook generation procedure used in PCA-LBG-based-algorithms. Step 1: Set parameters: codebook size Nc and precision of LBG optimization process ε. Step 2: Divide a training image into 4×4 blocks of non-overlapping pixels. 1333

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

Step 3: Use PCA to sort all 16-element training vectors (4×4 blocks of non-overlapping pixels), and divide the sorted vectors into Nc groups. Step 4: Use three methods to generate initial codebooks: PCA-LBG-Median, PCA-LBG-Centroid, and PCA-LBG-Random. Step 5: Execute the LBG algorithm. Continue generating the three codebooks until precision ε is reached. C. INDEX OF IMAGE QUALITY

Image quality was evaluated in terms of mean square error (MSE), signal-to-noise ratio (SNR), and PSNR. The MSE between the original image and the decompressed image is defined as N1 P N2 P

MSE =

(xij − x¯ij )2

i=1 j=1

,

N1 × N2

(3.1)

where N1 × N2 is the image size. The xij and x¯ij denote the pixel values at location (i, j) in the original and decompressed images, respectively. The SNR is defined as N1 P N2 P i=1 j=1

SNR = 10 log

2 xi,j

N1 N2

MSE

,

(3.2) d(t(i), y) =

where N1 × N2 is the image size and xij is the pixel value at location (i, j) in the original images. This study evaluated image quality in terms of PSNR, which is defined by the following equation. PSNR = 10 log

2552 (dB). MSE

and backward direction are searched first. The search process immediately stops when a suitable codeword is found. The process continues until the best-matching codewords in a codebook are found for all 16-element vectors of an image. The detailed steps for performing a PCA-based fast search of codewords in a sorted PCA-LBG-based VQ codebook are as follows. Step 1: Set search range to R, choose a PCA-LBG-based VQ codebook, and set codebook size to Nc . Step 2: Partition a test image into 4 × 4 blocks of nonoverlapping pixels. Step 3: Use PCA to sort all vectors of the test image and codewords of the codebook. Step 4: Find the suitable codeword by computing the square Euclidean distance between the vector and the codeword. Start the first search from the first codeword in the sorted codebook. Start the next search from the previous codeword position in the sorted codebook. Search forwards and backwards within the set search range starting with the shortest paths between the forward and backward directions. When a suitable codeword is found, stop the search process. Calculate the square Euclidean distance as shown below:

(3.3)

B A X X

|t(a, b) − y(a, b)|2 ,

(4.1)

a=1 b=1

where d is the distance between t(i) and y; t(i) and y denote the ith vector and target vector, respectively; and A and B are vector sizes. Step 5: If suitable codewords are found for all vectors of the test image, stop the search. Otherwise, return to Step 4.

IV. PROPOSED PCA-BASED FAST SEARCH METHOD

The VQ codebook search procedure performs a full codebook search to find a suitable codeword for each vector in an image. However, the full VQ codebook search procedure has a long run time and requires a large number of searches. In the proposed PCA-based fast search method, image encoding is performed by combining PCA with PCA-LBG-based VQ codebooks. To sort the image vectors and the codebook codewords and to enable a fast search, the PCA first computes the principal components for all 16-element vectors in a test image and for all 16-element codewords in a codebook. The search range R is set from 10% to 50% of the codebook length. Then, all 16-element vectors in an image and all 16-element codewords in a codebook are sorted in ascending order according to the principal component. When the bestmatching codeword in a codebook for the first 16-element vectors in an image is found, the codebook position is set as the initial search point. To find a suitable codeword for the next 16-element vectors of an image from the previous position, forward and backward searches are performed within the set search range. The shortest paths between the forward 1334

V. DESIGN EXAMPLES AND COMPARISONS

Three examples are used for performance comparisons between PCA-based fast search using PCA-LBG-based VQ codebooks and existing methods reported in the literature. The PCA-LBG-based VQ codebooks include PCA-LBGMedian, PCA-LBG-Centroid, and PCA-LBG-Random VQ codebooks. The experiments were run on a Windows 7 laptop with a core i5-2410M, 2.3 GHz CPU and 2 GB RAM. Example 1: Comparison of the PCA-based fast search method using PCA-LBG-based VQ codebooks and the full search method using TY-LBG codebooks developed by Tsai and Yang [12]. Fig. 1 shows the seven 512×512 single images (Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill) used by the PCA-LBG-based algorithms to generate VQ codebooks. The PCA-based fast search method uses PCA-LBG-based VQ codebooks to encode images. Each image is divided into 4×4 blocks of non-overlapping pixels. The search range is set from 10% to 50% of the codebook size. The search methods were compared VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

FIGURE 1. Test images: Lena, Baboon, Tiffany, Sailboat (Lake), Jet, Pepper, and Goldhill.

in terms of PSNR for the compressed image, number of codewords searched per vector, and runtime. In Tables 1-3, the PCA-based fast search method using PCA-LBG-based VQ codebooks is compared with the full search method using TY-LBG codebooks in terms of PSNRs of seven compressed images in different search ranges (10%, 20%, 30%, 40%, and 50%) and in different codebook sizes (Nc = 128, 256, 512, and 1024). Tables 1-3 show that the PCA-based fast search method using PCA-LBG-based VQ codebooks obtains higher PSNRs compared to the full search method using TY-LBG codebooks in all five search ranges and in all four codebook sizes. Notably, Tsai and Yang [12] reported that full search using PCA-LBG-based VQ codebooks has superior encoding performance compared to full VOLUME 4, 2016

search using TY-LBG codebooks. The superior performance is achieved by using PCA to extract the principal components needed to sort the 16-element training vectors in the training image. Therefore, search speed is improved by improving the sequence of codewords for the sorted PCA-LBG-based VQ codebook. Each search starts from the previous codeword position of the sorted codebook, and searches are performed in the forward and backward directions within the set search range (10%-50%). The shortest path between the forward and backward directions is searched first. Although it limits the search to 10%-50% of the codebook, the PCA-based fast search method still finds codewords more efficiently and with higher PSNRs compared to full search using TY-LBG codebooks. 1335

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 1. The PSNRs of compressed images obtained by PCA-based fast search (PCAFS) with PCA-LBG-Median VQ codebooks and by full search (FS) with TY-LBG codebooks in different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

TABLE 2. The PSNRs of compressed images obtained by PCA-based fast search (PCAFS) with PCA-LBG-Centroid VQ codebooks and full search (FS) with TY-LBG codebooks in different codebook sizes based on the codebook obtained by using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

In Tables 4-6, the performance of the PCA-based fast search method using PCA-LBG-based VQ codebooks is compared with full search performed using 1336

TY-LBG codebooks in terms of the average number of codewords searched per vector and the average search ratio of PCA-based fast search versus full search. For the four VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 3. The PSNRs of compressed images obtained by PCA-based fast search (PCAFS) with PCA-LBG-Random VQ codebooks and full search (FS) with TY-LBG codebooks in different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

TABLE 4. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-Median VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average number of codewords searched per vector and average search ratio (%) for PCA-based fast search versus full search in different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

codebook sizes, PCA-based fast search method and full search method have the following average search ratios, respectively: 7.26% and 8.88% over a search range of 10%; VOLUME 4, 2016

13.97% and 17.04% over a search range of 20%; 20.41% and 24.78% over a search range of 30%; 26.64% and 32.27% over a search range of 40%; and 32.69% and 39.48% over 1337

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 5. Performances of PCA-based fast search (PCAFS) using PCA-LBG-Centroid VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average number of codeword searched per vector and average search ratio (%) for PCA-based fast search versus full search for different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

TABLE 6. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-Random VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average number of codeword searched per vector and average search ratio (%) for PCA-based fast search versus full search in different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

a search range of 50%. That is, the PCA-based fast search method has a lower average search ratio in all search ranges because it searches codewords in the sorted PCA-LBG-based

1338

VQ codebook. However, even though PCA-based fast search method obtains codewords within a limited range, Tables 1-3 show that the PSNRs are higher than those obtained by full

VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 7. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-Median VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average runtime (sec) and average runtime ratio (%) for PCA-based fast search versus full search in different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

TABLE 8. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-Centroid VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average runtime (sec) and average runtime ratio (%) for PCA-based fast search versus full search for different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

search using TY-LBG codebooks. That is, PCA-based fast search using PCA-LBG-based VQ codebooks outperforms full search using TY-LBG codebooks.

VOLUME 4, 2016

Tables 7-9 further compares performance between full search using PCA-LBG-based VQ codebooks and full search using TY-LBG codebooks in terms of average runtime and

1339

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 9. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-Random VQ codebooks and full search (FS) using TY-LBG codebooks in terms of average runtime (sec) and average runtime ratio (%) for PCA-based fast search versus full search for different codebook sizes based on the codebook obtained using Lena, Baboon, Tiffany, Sailboat, Jet, Pepper, and Goldhill as single training images.

TABLE 10. The PSNRs of compressed images obtained by PCA-based fast search (PCAFS) with PCA-LBG-based VQ codebooks and CH fast search [27] for different codebook sizes based on the codebook obtained by using Lena, Baboon, Tiffany, Sailboat, Jet, and Pepper as training images.

average runtime ratio for PCA-based fast search versus full search. For the four codebook sizes, PCA-based fast search and full search have the following average runtime ratios, respectively: 5.02% and 6.21% over a search range of 10%; 9.72% and 11.59% over a search range of 20%; 13.88% and 16.51% over a search range of 30%; 18.06% and 21.43% over a search range of 40%; and 22.01% and 25.88% over a search range of 50%. Because the number of codewords searched at each input vector is smaller in PCA-based fast 1340

search, the runtime is shorter than that of full search using TY-LBG codebooks. In other words, PCA-based fast search using PCA-LBG-based VQ codebooks is faster than full search using TY-LBG codebooks. Tables 1-3 show that the PCA-based fast search using PCA-LBG-based VQ codebooks with larger search range obtains higher PSNRs. In a search range of 50%, the PCA-based fast search using PCA-LBG-based VQ codebooks obtains the highest PSNRs compared to the VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 11. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-based VQ codebooks and CH fast search [27] in terms of average runtime (sec) and average runtime ratio (%) for PCA-based fast search versus CH fast search method for different codebook sizes based on the codebook obtained by using Lena, Baboon, Tiffany, Sailboat, Jet, and Pepper as training images.

TABLE 12. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-based VQ codebooks and different methods developed by Chang and Hsieh [27] in terms of average runtime (sec) and average runtime ratio (%) for search methods versus CH full search method for a codebook size of 256.

PCA-based fast search using PCA-LBG-based VQ codebooks in search ranges of 10%-40% and full search using TY-LBG codebooks. Although the search range is limited to trade the image quality off for reducing number of codewords searched and runtime, the PCA-based fast search using PCA-LBG-based VQ codebooks still obtains higher PSNRs compared to full search using TY-LBG codebooks. The above discussion shows that, for all five search ranges and for all four codebook sizes, a PCA-based fast search using PCA-LBG-based VQ codebooks is superior to full search using TY-LBG codebooks in terms of PSNRs for the compressed image, number of codewords searched, and runtime. Example 2: Comparison of the PCA-based fast search using PCA-LBG-based VQ codebooks and search methods developed by Chang and Hsieh [27]. This example compares the performances of the PCA-based fast search using PCA-LBG-based VQ codebooks and the search methods developed by Chang and Hsieh [27]. In this experiment, the PCA-LBGbased algorithms are used to generate codebooks from six 512×512 images (Lena, Baboon, Tiffany, Sailboat, Jet, and Pepper, as shown in Fig. 1). The PCA-LBG-based VOLUME 4, 2016

VQ codebooks are used to encode images in the PCA-based fast search. Each image is divided into 4 × 4 blocks of non-overlapping pixels, and the search range is set to 10%. Performance is compared in terms of the PSNRs for the compressed image and runtime. Table 10 shows the PSNRs of compressed images obtained by PCA-based fast search using PCA-LBG-based VQ codebooks and by CH fast search method [27] in different codebook sizes. Table 11 shows the runtime (sec) obtained by PCA-based fast search with PCA-LBG-based VQ codebooks and by CH fast search in different codebook sizes. The average runtime ratios (%) for PCA-based fast search versus CH fast search are between 11.22% and 19.77% for the four codebook sizes. Although PCA-based fast search using PCA-LBG-based VQ codebooks searches only 10% of the codebook size, it outperforms the CH fast search in terms of PSNRs and runtime for all four codebook sizes. In Table 12, the runtime and a codebook size of 256 are compared among the PCA-based fast search using PCA-LBG-based VQ codebooks and other methods, including PDE, MPS, DTA, CH fast search, and CH full search 1341

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

TABLE 13. The PSNRs of the compressed images obtained by PCA-based fast search (PCAFS) with PCA-LBG-based VQ codebooks, KS fast search using KFCG codebooks, and KS full search using KFCG codebooks for different codebook sizes based on the codebook obtained using Lena, Baboon, Pepper, and Goldhill as single training images.

TABLE 14. Performances of the PCA-based fast search (PCAFS) using PCA-LBG-based VQ codebooks and KS search methods using KFCG codebooks given by Kekre and Sarode [25] in terms of average runtime (sec) and average runtime ratio (%) of search methods versus KS full search method in different codebook sizes based on the codebook obtained by using Lena, Baboon, Pepper, and Goldhill as single training images.

given by Chang and Hsieh [27]. The average runtime ratio for PCA-based fast search using PCA-LBG-based VQ codebooks versus CH full search is 1.74%. The runtime of the PCA-based fast search method using PCA-LBG-based VQ codebooks to search 10% of the codebook size are superior to those of the PDE, MPS, DTA, CH fast search, and CH full search methods developed by Chang and Hsieh [27]. Example 3: Comparison of PCA-based fast search using PCA-LBG-based VQ codebooks and KS search methods using KFCG codebooks given by Kekre and Sarode [25]. 1342

In this experiment, the performance of the PCA-based fast search using PCA-LBG-based VQ codebooks is compared with KS search methods using KFCG codebooks. In this experiment, the PCA-LBG-based algorithms use the four 512×512 images in Fig. 1 (Lena, Baboon, Pepper, and Goldhill) to generate codebooks. The PCA-based fast search uses PCA-LBG-based VQ codebooks for image encoding. Each image is divided into 4×4 blocks of non-overlapping pixels, and the search range is set to 10%. Search performance is compared in terms of PSNRs for the compressed image and runtime. VOLUME 4, 2016

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

Table 13 compares PSNRs of the compressed images obtained by the PCA-based fast search using PCA-LBG-based VQ codebooks, KS fast search using KFCG codebooks, and KS full search using KFCG codebooks in different codebook sizes. Table 14 compares the performance of PCA-based fast search using PCA-LBG-based VQ codebooks and KS search methods using KFCG codebooks in terms of average runtime (sec) and average runtime ratios for PCA-based fast search versus KS full search for different codebook sizes. For the four codebook sizes, the average runtime ratios (%) for PCA-based fast search versus KS full search and KS fast search range from 5.38% to 6.53%, while the average runtime ratios for KS fast search versus KS full search range from 21.72% to 73.22%. The above results show that, although it only searches 10% of the codebook size, the PCA-based fast search using PCA-LBG-based VQ codebooks still has superior PSNRs and superior runtime compared to KS fast search and KS full search using KFCG codebooks. This study demonstrated the advantages of PCA-based fast search using PCA-LBG-based VQ codebooks for fast search of codewords and for image encoding. The PCA uses an orthogonal transformation to transform a set of observed variables with correlations into a set of linearly unrelated variables, and efficiently distinguishes both test image vectors and codebook codewords by the principal components. Both the test image vectors and the PCA-LBG-based VQ codebook are sorted to obtain a sequence that improves fast search performance. This study showed that combining sorted test image vectors, sorted PCA-LBG-based VQ codebook, and PCA-based fast search method obtains superior compared to conventional methods in terms of PSNR for the compressed image, number of codewords searched, and runtime. VI. CONCLUSIONS

The proposed PCA-based fast search method effectively distinguishes vectors and finds suitable codewords for image encoding. The major contribution of this study is the development of simple but highly effective and efficient methods for VQ codebook search. By reducing the size of the search, the PCA-based fast search method not only reduces the runtime needed to find the best-matching codeword for each input vector, it also obtains a higher PSNR of the compressed image. Experimental results show that PSNRs obtained by the PCA-based fast search method using PCA-LBG-based VQ codebooks are higher than those obtained by full search using TY-LBG codebooks, by CH fast search method, and by KS fast search using KFCG codebooks. The proposed PCA-based fast search method using PCA-LBG-based VQ codebooks has superior search performance compared to full search using TY-LBG codebooks and has superior runtime compared to full search using TY-LBG codebooks, PDE, MPS, DTA, CH fast search method, and KS fast search using KFCG codebooks. In summary, PCA-based fast search using PCA-LBG-based VQ codebooks is effective and efficient for VOLUME 4, 2016

VQ codebook search in terms of PSNR for the compressed image, number of codewords searched, and runtime. REFERENCES [1] Y. Linde, A. Buzo, and R. M. Gray, ‘‘An algorithm for vector quantizer design,’’ IEEE Trans. Commun., vol. 28, no. 1, pp. 84–95, Jan. 1980. [2] D. Liu, X. Sun, and F. Wu, ‘‘Inpainting with image patches for compression,’’ J. Vis. Commun. Image Represent., vol. 23, pp. 100–113, Jan. 2012. [3] N. Pati, A. Pradhan, L. K. Kanoje, and T. K. Das, ‘‘An approach to image compression by using sparse approximation technique,’’ Procedia Comput. Sci., vol. 48, pp. 769–775, Jun./Jul. 2015. [4] J.-D. Lee, Y.-H. Chiou, and J.-M. Guo, ‘‘Lossless data hiding for VQ indices based on neighboring correlation,’’ Inf. Sci., vol. 221, pp. 419–438, Feb. 2013. [5] C. Qin, C.-C. Chang, and Y.-C. Chen, ‘‘Efficient reversible data hiding for VQ-compressed images based on index mapping mechanism,’’ Signal Process., vol. 93, no. 9, pp. 2687–2695, 2013. [6] T.-Y. Tu and C.-H. Wang, ‘‘Reversible data hiding with high payload based on referred frequency for VQ compressed codes index,’’ Signal Process., vol. 108, pp. 278–287, Mar. 2015. [7] H.-C. Huang, J.-S. Pan, Z.-M. Lu, S.-H. Sun, and H.-M. Hag, ‘‘Vector quantization based on genetic simulated annealing,’’ Signal Process., vol. 81, no. 7, pp. 1513–1523, 2001. [8] N. M. Rajpoot, A. Hussain, U. Ali, K. Saleem, and M. Qureshi, ‘‘A novel image coding algorithm using ant colony system vector quantization,’’ in Proc. Int. Workshop Syst., Signals Image Process., Poznań, Poland, Sep. 2004, pp. 1–4. [9] Q. Chen, J. Yang, and J. Gou, ‘‘Image compression method using improved PSO vector quantization,’’ in Proc. 1st Int. Conf. Neural Comput. (ICNC), 2005, pp. 490–495. [10] M.-H. Horng and T.-W. Jiang, ‘‘Image vector quantization algorithm via honey bee mating optimization,’’ Expert Syst. Appl., vol. 38, no. 3, pp. 1382–1392, 2011. [11] M.-H. Horng, ‘‘Vector quantization using the firefly algorithm for image compression,’’ Expert Syst. Appl., vol. 39, no. 1, pp. 1078–1091, 2012. [12] J.-T. Tsai and P.-Y. Yang, ‘‘PCA-LBG-based algorithms for VQ codebook generation,’’ Int. J. Electron., vol. 102, no. 4, pp. 529–547, 2015. [13] J.-T. Tsai, P.-Y. Chou, and J.-H. Chou, ‘‘Performance comparisons between PCA-EA-LBG and PCA-LBG-EA approaches in VQ codebook generation for image compression,’’ Int. J. Electron., vol. 102, no. 11, pp. 1831–1851, 2015. [14] C.-H. Lee and L.-H. Chen, ‘‘A fast search algorithm for vector quantization using mean pyramids of codewords,’’ IEEE Trans. Commun., vol. 43, nos. 2–4, pp. 1697–1702, Feb. 1995. [15] S.-J. Lin, L.-K. Chung, and L.-C. Chang, ‘‘An improved search algorithm for vector quantization using mean pyramid structure,’’ Pattern Recognit. Lett., vol. 22, nos. 3–4, pp. 373–379, 2001. [16] C.-C. Chang, D.-C. Lin, and T.-S. Chen, ‘‘An improved VQ codebook search algorithm using principal component analysis,’’ J. Vis. Commun. Image Represent., vol. 8, no. 1, pp. 23–37, 1997. [17] Z. M. Lu, J. S. Pan, and S. H. Sun, ‘‘A fast codebook search algorithm for vector quantization,’’ Chin. J. Electron., vol. 28, no. 2, pp. 133–135, 2000. [18] J. Z. C. Lai and Y.-C. Liaw, ‘‘A fast search algorithm for mean-removed vector quantization using edge and texture strengths of a vector,’’ Image Vis. Comput., vol. 23, no. 8, pp. 739–746, 2005. [19] K.-L. Chung and J.-Y. Lai, ‘‘An efficient law-of-cosine-based search for vector quantization,’’ Pattern Recognit. Lett., vol. 25, no. 14, pp. 1613–1617, 2004. [20] C.-C. Chang, Y.-C. Li, and J.-B. Yeh, ‘‘Fast codebook search algorithms based on tree-structured vector quantization,’’ Pattern Recognit. Lett., vol. 27, no. 10, pp. 1077–1086, 2006. [21] G. Z. Geng, L. M. Yin, K. Lei, and Y. J. Wang, ‘‘Fast search algorithm based on tree-structured vector quantization codebook,’’ Chin. J. Electron Devices, vol. 30, no. 3, pp. 1061–1063, 2007. [22] Y.-C. Hu, B.-H. Su, and C.-C. Tsou, ‘‘Fast VQ codebook search algorithm for grayscale image coding,’’ Image Vis. Comput., vol. 26, no. 5, pp. 657–666, 2008. [23] C. M. Mu, J. G. Jiang, and M. B. Qi, ‘‘A fast codebook search algorithm for vector quantization,’’ J. Hefei Univ. Technol., vol. 29, no. 3, pp. 288–291, 2006. [24] S.-C. Chu, Z.-M. Lu, and J.-S. Pan, ‘‘Hadamard transform based fast codeword search algorithm for high-dimensional VQ encoding,’’ Inf. Sci., vol. 177, no. 3, pp. 734–746, 2007. 1343

P.-Y. Yang et al.: PCA-Based Fast Search Method Using PCA-LBG-Based VQ Codebook

[25] B. H. Kekre and K. T. Sarode, ‘‘Fast codebook search algorithm for vector quantization using sorting technique,’’ in Proc. Int. Conf. Adv. Comput., Commun. Control, Mumbai, India, 2009, pp. 317–325. [26] L. J. Yan and S. H. Hwang, ‘‘Vector quantisation based on a quasibinary search algorithm,’’ IET Image Process., vol. 5, no. 1, pp. 49–54, 2011. [27] C. C. Chang and Y.-P. Hsieh, ‘‘A fast VQ codebook search with initialization and search order,’’ Inf. Sci., vol. 183, no. 1, pp. 132–139, 2012. [28] M. A. Hameed, ‘‘Fast vector quantization algorithm—Based on absolute moment block truncation coding,’’ Int. J. Appl. Innov. Eng. Manage., vol. 4, no. 6, pp. 4–7, 2015. [29] R. M. Gray, ‘‘Vector quantization,’’ IEEE ASSP Mag., vol. 1, no. 2, pp. 4–29, Apr. 1984. [30] T. W. Anderson, An Introduction to Multivariate Statistical Analysis. New York, NY, USA: Wiley, 1984, pp. 451–479.

PO-YUAN YANG received the B.S. and M.S. degrees in computer science from the National Pingtung University of Education, Pingtung, Taiwan, in 2011 and 2014, respectively. He is currently pursuing the Ph.D. degree in electrical engineering with the National Kaohsiung University of Applied Sciences, Kaohsiung, Taiwan. His research interest includes evolutionary algorithms, image processing, neural networks, data analysis, and quality engineering.

1344

JINN-TSONG TSAI received the B.S. and M.S. degrees in mechanical and electro-mechanical engineering from National Sun Yat-sen University, Taiwan, in 1986 and 1988, respectively, and the Ph.D. degree in engineering science and technology from the National Kaohsiung First University of Science and Technology, Taiwan, in 2004. He was a Lecturer with the Vehicle Engineering Department, Chung Cheng Institute of Technology, Taiwan, from 1988 to 1990. From 1990 to 2004, he was a Researcher and the Chief of the Automation Control Section of Metal Industries Research and Development Center, Taiwan. From 2004 to 2006, he was an Assistant Professor with the Medical Information Management Department, Kaohsiung Medical University, Kaohsiung, Taiwan. From 2006 to 2014, he was an Assistant and Associate Professor with the Department of Computer Science, National Pingtung University of Education, Pingtung, Taiwan. He is currently a Professor with the Department of Computer Science, National Pingtung University, Pingtung, Taiwan. His research interests include evolutionary computation, intelligent control and systems, neural networks, and quality engineering. JYH-HORNG CHOU (SM’04–F’15) received the B.S. and M.S. degrees in engineering science from National Cheng Kung University, Tainan, Taiwan, in 1981 and 1983, respectively, and the Ph.D. degree in mechatronic engineering from National Sun Yat-sen University, Kaohsiung, Taiwan, in 1988. He is currently the Chair Professor with the Electrical Engineering Department, National Kaohsiung University of Applied Sciences, Taiwan. He has co-authored four books, and authored over 270 refereed journal papers. He also holds six patents. His research and teaching interests include intelligent systems and control, computational intelligence and methods, automation technology, robust control, and robust optimization. He is a fellow of the Institution of Engineering and Technology, the Chinese Automatic Control Society, the Chinese Institute of Automation Engineer, and the Chinese Society of Mechanical Engineers. He was a recipient of the 2011 Distinguished Research Award from the National Science Council of Taiwan, the 2012 IEEE Outstanding Technical Achievement Award from the IEEE Tainan Section, the 2014 Distinguished Research Award from the Ministry of Science and Technology of Taiwan, the Research Award and the Excellent Research Award from the National Science Council of Taiwan 12 times, and numerous academic awards/honors from various societies. Based on the IEEE Computational Intelligence Society (IEEE CIS) evaluation, his Industrial Application Success Story has got the 2014 winner of highest rank, and thus being selected to become the first internationally industrial success story being reported on the IEEE CIS website.

VOLUME 4, 2016