1 Compression of 3D Scientific Data for Archival, Distribution and Fast Classification First A. Author, Second B. Author, Jr., and Third C. Author, Member, IEEE Abstract—We propose a compression algorithm based on Partitioned Vector Quantization targeted to 3D scientific data, remote sensing and hyperspectral imagery. Along one of its dimensions, the input data is treated as a single vector that is partitioned into subvectors of (possibly) different lengths, each quantized separately. Quantization indices and residual errors are entropy coded. Partitioning serves different purposes: vector quantization looses efficiency in high dimension and partitioning is a way of improving it, it allows a better decorrelation of the data in the given dimension, improves compression. The concatenation of the quantization indices can be seen as a projection to a lower dimensional subspace that preserves the original statistical properties of the data; partition indices can be used for fast (remote) browsing and classification. In fact, experimental results with NASA AVIRIS hyperspectral images show that the proposed algorithm achieves, on such data, state of the art lossless compression, it provides near-lossless and lossy capabilities (that could be used for fast browsing and broadcasting on limited bandwidth communication channels), it is scalable to arbitrary data size, and it allows fast classification and target detection in the compressed domain. Index Terms—About four key words or phrases in alphabetical order, separated by commas. For a list of suggested keywords, send a blank e-mail to keywords@ieee.org or visit the IEEE web site at http://www.ieee.org/web/developers/webthes/index.htm. I. INTRODUCTION A N increasing number of scientific instruments produce high volume of data in the form of two-dimensional matrices of high dimensionality vectors, also called data cubes. Typical examples are biomedical images, multi, hyper and ultra spectral imagery, measurements of volumetric parameters like atmospheric temperature and pressure via microwaves sounders. Compressing these data presents a challenge for the currently standardized general purpose compressors. Beside the three dimensional nature of the measurements, which exhibit correlation along each dimension, the single measurements have values of 16 bits or more. Current state of the art compressors do not perform well on data sources with large alphabets. Furthermore, it is desirable to have a single compressor supporting lossless, near lossless, and lossy compression modes and can scale to data cubes of arbitrary sizes. Lossless compression is often 2 required for data collection and archiving due to the cost of the acquisition and transmission process and due to the fact that original data may be needed by unforeseen analyses or further elaboration. However, when data is downloaded by users, a lossy mode can be employed to speed up the transmission, since the final users may not need all measurements at their full precision, and in any case, can request further precision only when needed. In [1] we propose a compression algorithm based on Partitioned Vector Quantization, where one dimension of the cube is treated as a single vector, partitioned and quantized. Partitioning the vector into subvectors of (possibly) different lengths is necessary because of the possibly large number of components. Subvectors are individually quantized with appropriate codebooks. The adaptive partitioning uses a novel locally optimal algorithm and provides a tool to reduce the size of the source alphabet. Correlation among the other two dimensions is exploited with methods derived from the image coding domain. Lossless or near-lossless entropy coding can be applied to the residual error. An additional feature of this compression method is the possibility to tightly bound error on a pixel by pixel basis. Due to the hierarchical structure of the data compressed with the proposed algorithm, it is possible to perform classification and target detection directly in the compressed domain, with considerable speed up and memory savings. The high speed classification and target detection algorithm that we describe here can process 90 percent of the compressed pixels with a simple table lookup, full decompression is only required if exact classification is necessary and it is limited to the 10 percent remaining pixels. The proposed algorithms have been verified experimentally on the lossless and near lossless compression of NASA AVIRIS images where, under conservative assumptions, is able to improve the naïve classification of a factor of five or more. Section II discusses the communication paradigm under consideration. Section III introduces the necessary notation and briefly reviews the proposed algorithm. Section IV discusses compression experiments with LPVQ. The problem of classification and the necessary notation is introduced in Section V. In this same section experimental results on the classification error introduced by LPVQ lossy and near lossless compression 3 modes are discussed first. Building on these experimental observations, we describe an algorithm that speeds up the classification by accepting or rejecting vectors based only on bounds of the VQ error. These error bounds are available at design time or can be extracted from the compressed image. In the same section, the asymptotic behavior is derived. Given a compressed image and a classification threshold, the speed up achieved on the naïve algorithm depends on the acceptance and rejection rates. Experiments are performed on typical AVIRIS images in order to assess these rates for a number of classification thresholds. The acceptance and rejection rates only depend on the bounds on the quantization error and can be easily derived during the design of the LPVQ. So, these considerations also provide a tool useful to select the quantization parameters (codebook entries and number of partitions) in order to match a desired range of classification speeds. II. THE COMMUNICATION MODEL An application for which our algorithms are designed is the encoding of information collected by a remote sensing device having limited computational power (satellite, airplane, biomedical imager) and losslessly transmitted to a powerful central server (see Figure 1). The central server decompresses and elaborates the data, performing all necessary adjustments and corrections. Then, re-codes the data in a more compact representation and distributes the result among a number of users that may subscribe the service at different quality levels. A common example is weather information collected by geostationary satellites. The satellites observe events evolving in a specific geographic area, such as hurricanes, storms, flooding and volcanic eruptions. The collected data have to be transmitted to a land based central station that analyzes the data, applies some form of enhancement, further compresses the data and sends the result back to the satellite in order to broadcast it to the final users. In this setting, the same satellite is used for both acquisition and broadcasting. More common is the case of the central server performing the transmission. While the compression hardware used in the satellite must be simple and has to require very low power to function, there is typically little or no limitation to the computational power of the base station. 4 III. DEFINITIONS We model a three dimensional data cube as a discrete time, discrete values, bi-dimensional random source I(x,y) that emits pixels that are D-dimensional vectors I(x,y) . Each vector component Ii (x, y) , 0 i D 1, is drawn from a finite alphabet Xi and is distributed according to a space variant probability distribution that may depend on other components. We assume that the alphabet has the canonical form Xi 0,1, ,Mi. Our encoder is based on a Partitioned Vector Quantizer (or PVQ), which consists of N independent, L -levels, di -dimensional exhaustive search vector quantizers Qi (Ai,Fi,Pi ) , such that d D and: i 1 i N d Ai {c1i,c i2 ,...,c iL } is a finite indexed subset of R i called codebook. Its elements c ij are the code vectors. d Pi {S1i,S2i ,...,SLi } is a partition of R i and its equivalence classes (or cells) S ij satisfy: L j 1 i i S ij R d i and Sh Sk for h k . Fi:R Ai is a function defining the relation between the codebook and the partition as Fi (x) c ij di if and only if x S ij . The index j of the codeword c ij , result of the quantization of the di -dimensional subvector x , is the information that is sent to the decoder. With reference to the previously defined N vector quantizers Qi (Ai,Fi,Pi ) , a Partitioned Vector Quantizer can be formally described by a triple Q A ,P ,F where: D A A1 A2 AN is a codebook in R ; D P P1 P2 PN is a partition of R ; F :R D A is computed on an input vector x R D as the concatenation of the independent quantization of the N subvectors of x . Similarly, the index vector sent to the decoder is obtained as a concatenation of the N indices. 5 The design of a Partitioned VQ aims at the joint determination of the N 1 partition boundaries b0 0 b1 bN D and at the design of the N independent vector quantizers having dimension di bi bi1 , 1 i N . th In the following, given a source vector I(x,y) , we indicate the i subvector of boundaries bi1 and bi 1 with the symbol Ibb ii 11 (for simplicity, the x and y spatial coordinates are omitted when clear from the context). The mean squared quantization error between the vector I and its quantized representation Iˆ , is given by I ˆI 2 i Ji where c c N I b i 1 b i 1 ˆIbbii11 I b i 1 b i 1 c iJi i1 N i1 i Ji ,0 , ,c i J i ,d i 1 2 2 is the codeword of the i b i 1 I N i 1 h b i 1 th h c Ji i ,h b i 1 2 codebook minimizing the reconstruction error on Ibb ii 11 , and: b 1 i J i argmin MSE Ib ii 1 ,c l 1l L A. A Locally Optimal PVQ Design The complexity of building a quantizer that scales to vectors of arbitrary dimension is known to be computationally prohibitive. Furthermore, the efficiency of a VQ decreases with its dimensionality: the fraction of the volume of a hypersphere inscribed in a hypercube of the same dimension d goes to zero when d goesto infinity ([2]-[3]). Partitioning the vectors in consecutive, non-overlapping subvectors is a common solution to this problem (see the book of Gersho and Gray [4]). While a partitioned VQ leads to a sub-optimal solution in terms of Mean Squared Error (MSE) because it does not exploit correlation among subvectors, the resulting design is practical and coding and decoding present a number of advantages in terms of speed, memory requirements and exploitable parallelism. In a Partitioned VQ, we divide the input vectors into N subvectors and quantize each of them with an L -levels, exhaustive search VQ. Having N subvectors of the same dimension (except perhaps one, if N does not divide D) is generally not a possibility since, in this context, we assume that the components of 6 I(x,y) may be drawn from different alphabets. In this case their distributions may be significantly different and partitioning the D components uniformly into N blocks may not be optimal. We wish to determine the size of the N sub vectors (of possibly different size) adaptively, while minimizing the quantization error, measured for example in terms of MSE. Once the N codebooks are designed, input vectors are encoded by partitioning them into N subvectors of appropriate length, each of which is quantized independently with the corresponding VQ. The index of the partitioned vector is given by the concatenation of the indices of the N subvectors. Given the number of partitions N and the number of levels per codebook L, it is possible to find the partition boundaries achieving minimum distortion with a brute-force approach: first determine, for every 0 i j D , the distortion Dist(i, j) that an L -levels vector quantizer achieves on the input subvectors of boundaries i and j . Then, with a dynamic programming approach, traverse the matrix Dist(i, j) and find the N costs corresponding to the input partition of boundaries b0 0 b1 bN D and whose sum is minimal. (A more sophisticated approach to partitioned vector quantization is discussed in Matsuyama [5]. It uses dynamic programming at each step to decide the current optimal partition, instead of designing one vector quantizer for each possible partition configuration first and then applying dynamic programming. Nevertheless, even this approach is computational intensive.) The locally optimal partitioning algorithm that we propose in this paper (LPVQ) provides an efficient alternative to dynamic programming, while performing comparably in most applications. Our partitioning algorithm is based on a variation of the Generalized Lloyd Algorithm (or GLA, see Linde, Buzo and Gray [6]). Unconstrained vector quantization can be seen as the joint optimization of an encoder (the function F:R d A described before) and a decoder (the determination of the codewords for the equivalence classes of the partition P {S1 ,S2 ,...,SL }). GLA is an iterative algorithm that, starting from the source sample vectors chooses a set of codewords (also called centroids) and optimizes in turns encoder and decoderuntil improvements on the predefined distortion measure are negligible. In order to define our 7 PVQ, the boundaries of the vector partition b0 0 b1 bN D have to be determined as well. Our design follows the same spirit of the GLA. The key observation is that, once the partition boundaries are kept fixed, the Mean Square Error (the distortion we use in our application) is minimized independently for each partition by applying the well-known optimality conditions on the centroids and on the cells. Similarly, when the centroids and the cells are held fixed, the (locally optimal) partitions boundaries can be determined in a greedy fashion. The GLA step is independently applied to each partition. The equivalence classes are determined as usual, but as shown in Figure 2, the computation keeps a record of the contribution to the quantization error of the leftmost and rightmost components of each partition: 2 i Ib (x, y) Iˆb (x,y) and i I b 1 (x,y) Iˆb 1 (x, y) x ,y i 1 i 1 x,y i i 2 Except for the leftmost and rightmost partition, two extra components are also computed: i I b x,y i 1 1 2 (x,y) Iˆb i 1 1 (x, y) and i I b i (x,y) Iˆb i (x, y) x,y 2 The reconstruction values used in the expressions for i and i are determined by the classification performed on the components bi1,...,bi . The boundary bi1 between the partitions i 1 and i is changed according to the criteria Mi = min( i 1 i , i 1 i 1 , i i ) if ( Mi = i i ) bi1 bi 1 1 else if ( Mi = i 1 i 1 ) bi1 bi 1 1 IV. DATA COMPRESSION WITH LPVQ The partitioned vector quantizer is used here as a tool to reduce the dimensionality of the source vectors. Dependence between the other two dimensions has to be exploited by means of an entropy coder. Furthermore, when lossless coding is required, quantization residuals have to be entropy coded with a conditioning on the subvector indices. i i i The index vectors J(x,y) and the codewords c j c j ,b i , ,c j ,b i 1 1 , with 1 i N and 1 j L , are sufficient to a lossy reconstruction of the data. When higher accuracy is needed, the compressed data can be 8 augmented with the quantization error: E(x, y) Ebb10 1 (x, y),E bb21 1 (x, y),...,Ebb NN 11 (x, y) where, for each 1 i N : E bbii 11 (x,y) Ibb ii 11 (x, y) ˆIbbii11 (x, y) The unconstrained quantizers work independently from each other and independently on each source vector and an entropy encoder must be used to exploit this residual redundancy. In particular, each VQ index Ji(x,y) is encoded by conditioning its probability with respect to a set of causal indices spatially and spectrally adjacent. The components of the residual vector E bbii 11 (x,y) are entropy coded with their probability conditioned on the VQ index Ji(x,y) . In near-lossless applications, a small, controlled error can be introduced at this stage. Figure 3 depicts a diagram of the LPVQ encoder. A. Computational Complexity Vector Quantization is known to be computationally asymmetrical, in the sense that encoding has a computational complexity which is orders of magnitude higher than decoding. Even more time consuming is the design of the dictionary which is also not guaranteed to converge into an easily predictable number of iterations. Numerous methods have been designed to speed up the convergence, for example, by constraining the search of the closest codeword like in [7], or by seeding the dictionary with vectors having special properties [8]. Adding structure to the VQ can also simplify encoding at the price of a limited degradation of the output quality [4]. All these improvements clearly apply to our method as well; furthermore, practical scenarios arise in which our algorithm can be applied as is, without the computational complexity being an obstacle. A possible way of mapping the LPVQ algorithm to the communication model described in Section II is to equip the platform used for the remote acquisition with an encoder that is able to download a dictionary transmitted from the central server (see Figure 1). This dictionary can be, for the very first scene, bootstrapped as described in [8], with a number of vectors randomly selected from the image itself, with a dictionary designed for another image, or with any dictionary that is believed to be statistically significant. 9 Due to the nature of our algorithm, the choice of the first dictionary will only impact the compression ratio of the very first transmission. Once the central server receives a scene, at time instant t, a few iterations of LBG may be necessary to refine the dictionary, to adjust the partition boundaries and to improve compression. The refined version of the dictionary is transmitted back to the remote platform and is used for the encoding of the scene acquired at time t+1. Later in this section we report on experiments intended to assess the performance degradation derived from a mismatched dictionary. It has been observed in [1] that if the codewords in each codebook are sorted according to their energy, the N planes constituted by the indices retain important information on the structure of the original image. These planes alone can be used to browse and select areas of interest and, as we show in Section VI, to extract important information on the nature of the original pixel vectors. B. Experimental results LPVQ has been tested on a set of five AVIRIS images ([9]). AVIRIS images are obtained by flying a spectrometer over the target area. They are 614 pixels wide and typically have a height on the order of 2,000 pixels, depending on the duration of the flight. Each pixel represents the light reflected by a 20 x 20 meters area (high altitude) or 4 x 4 meters area (low altitude). The spectral response of the reflected light is decomposed into 224 contiguous bands (or channels), approximately 10nm wide, spanning from visible to near infrared light (400nm to 2500nm). Each of these vectors provides a spectral signature of the area. Spectral components are acquired in floating point 12-bit precision and then scaled and packed into signed 16 bit integers. After acquisition, AVIRIS images are processed to correct various physical effects (geometrical distortion due to the flight trajectory, time of day, etc.) and stored in scenes of 614 by 512 pixels each (when the image height is not a multiple of 512, the last scene will be smaller). All files for each of the 5 test images can be downloaded from the NASA web site (JPL [9]) and the scenes belonging to the same flight are merged together to form a complete image. Several experiments have been performed for various numbers of partitions and for different codebook 10 sizes. The results that we describe here were obtained for N 16 partitions and L 256 codebook levels. The choice of the number of levels makes also practical the use of off-the-shelf image compression tools that are fine-tuned for 8 bit data. The LPVQ algorithm trains on each image independently and the codebooks are sent to the decoder as side information. The size of the codebook is negligible with respect the size of the compressed data (256 x 224 x 2 bytes = 112 KB) and its cost is included in the reported results. The partition boundaries for each of the five images are depicted in Figure 4. While similarities exist, the algorithm converges to different optimal boundaries on different input images. This is evidence that LPVQ adapts the partitions to input statistics. Starting with a codebook obtained by random image pixels, we have found that adaptation is fairly quick and boundaries converge to their definitive values in less than one hundred iterations. If LPVQ is bootstrapped with the method described in [8], which populates the dictionary with the vector with highest norm and then adds the vector whose minimum distance from the current dictionary is maximum, the algorithms shows a much faster convergence. Furthermore, the constrained search for the closest codeword is generally faster by a factor of 2. LPVQ performances are analyzed in terms of Compression Ratio (defined as the size of the original file divided by the size of the compressed one), Signal to Quantization Noise Ratio, Maximum Absolute Error and Percentage Maximum Absolute Error. The Signal to Quantization Noise Ratio (SQNR) is defined here as: 2 10 D 1 Ii log 2 10 1 Ei 12 D i 0 is introduced to take into account the error introduced by the 12 bit SQNR (dB) The correction factor 1 12 analog-to-digital converter used by the AVIRIS spectrometer ([9]). This solution also avoids unbounded values in the case of a band perfectly reconstructed. th The Maximum Absolute Error (MAE) is defined in terms of the MAE for the i band as MAE max MAE i , where MAEi is: i 11 MAE i max Ii (x,y) Iˆi (x, y) x ,y th The average Percentage Maximum Absolute Error (PMAE) for the i band having canonical alphabet Xi 0,1, ,Mi is defined as: 1 D 1 MAE i 100 D Mi i 0 Table I shows that LPVQ achieves on this five images an average compression of 3.14:1. This is 45% PMAE (%) better than the 1-D lossless compressor bzip2 when applied on the plane–interleaved images (worse results are achieved by bzip2 on the original pixel–interleaved image format) and 55% better than the standard lossless image compressor JPEG-LS. We also compared LPVQ with the method published in [11], even though it reports experiments on a subset of our data set. The algorithm in [11] uses LBG to cluster data. An optimized predictor is computed for each cluster and for each band. Prediction error is computed and entropy coded, along with side information regarding the optimized predictors. The resulting method outperforms LPVQ, while sharing time complexity similar to the design stage of LPVQ and lacking any extra feature provided by the latter, like lossy and near-lossless mode, fast browsing and classification, et cetera. The last column of Table I reports, as a reference, the compression and the SQNR when only the indices are encoded and the quantization error is fully discarded. As we can see from the table, on average we achieve 55:1 compression with 25.27dB of SQNR. More interesting and practical are the results obtained with the near-lossless settings, shown in Table II. At first, the introduction of a small and constant quantization error across each dimension is considered; that is, before entropy coding, each residual value x is quantized by dividing x adjusted to the center of the x . This is the classical approach to the near-lossless 2 1 range by the size of the range; i.e., q( x) compression of image data and results into a constant MAE across all bands. With this setting, it is possible to reach an average compression ratio ranging from 4:1 with the introduction of an error 1 and a MAE 1 to 10:1 with and error of 10 and MAE 10 . While the performance in this setting seem to be acceptable for most applications and the SQNR is relatively high even at high compression, the analysis 12 of the contribution to the PMAE of the individual bands shows artifacts that might be unacceptable. In particular, while the average PMAE measured across the 224 bands of the AVIRIS cube is low, the percentage error peaks well over 50% on several bands (see Figure 5). Since the PMAE is relevant in predicting the performance of many classification schemes, we have investigated two different approaches aimed at overcoming this problem. In both approaches we select a quantization parameter that is different for each band and inversely proportional to the alphabet size (or dynamic). In general, high frequencies, having in AVIRIS images higher dynamic, will be quantized more coarsely than low frequencies. We want this process to be governed by a global integer parameter . th The first method, aiming at a quasi–constant PMAE across all bands, introduces on the i band a distortion i such that: 1 D 1 i D i 0 th Since the i band has alphabet Xi 0,1, ,Mi we must have: D 1 i D 1 Mi M 2 i 0 i The alternative approach, aims at a quasi–constant SQNR across the bands. If we allow a maximum th absolute error i on the i band, it is reasonable to assume that the average absolute error on that band will be i . If we indicate with i the average energy of that band and with the target average maximum 2 absolute error, then the absolute quantization error allowed on each band is obtained by rounding to the nearest integer the solution of this system of equations: 2j 2i 10log 10log i, j 0, ,D 1, i j 10 2 10 2 i 2 j 2 D 1 1 i D i 0 As can be seen from Table II, the three methods for near-lossless coding of AVIRIS data are equivalent in terms of average SQNR at the same compression. However, the quasi-constant PMAE method is indeed 13 able to stabilize the PMAE across each band (Figure 6). The small variations are due to the lossless compression of some bands and the rounding used in the equations. The average SQNR is not compromised as well. Similar results are observed for the quasi-constant SQNR approach. The SQNR is almost flat (Figure 7), except for those bands that are losslessly encoded and those with small dynamic. The PMAE is also more stable than the constant MAE method (Figure 8). C. LPVQ and Random Dictionaries In order to evaluate the proposed approach in the framework described in Section II, we performed the following experiments for each scene of the Moffett Field image: 1) we compute the compression ratio and RMSE at each step of the LPVQ algorithm, starting with a random dictionary; 2) same except that the starting dictionary is the locally optimal one for the previous scene. As we can see from Figure 9, compression performance is already quite stable after 50 iterations. The compression ratio is slightly lower when LPVQ is fed with the dictionary from the previous scene, while RMSE, on the other hand, is much lower. This suggests that the entropy coder needs to be tuned-up for this case and that the lossy compression is slightly better when only few iterations are allowed. A different experimental setting uses six different schemes to generate random dictionaries. One hundred dictionaries for each scheme are used with PVQ (i.e., the dictionary is not refined with the proposed LBGlike scheme to obtain a locally optimal one), and with both uniform and optimal partitions. Compression results for each scheme are box-plotted in Figure 10. The results suggest that taking a small sample of the input data is enough to obtain compression performances reasonably close to the locally optimal solution produced by LPVQ, and that the non-uniform partitioning is much more effective at high compression. V. FAST CLASSIFICATION WITH LPVQ Let each image pixel be a D-dimensional vectors I( x, y) I 0 disjoint subvectors as I( x, y) I0 I1 I1 I D 2 I D1 divided into N I N 2 I N 1 , the n -th partition having dimension dn , for 14 0 n N . For simplicity the boundaries are omitted here. Upon quantization J( x, y) J 0 J1 each J N 2 vector is represented J N 1 and by E( x, y) E0 by E1 an N -dimensional vector of indices ED2 ED1 , a D-dimensional vector representing the quantization error. Each component J(x,y) indexes one of the L codebook centroids for the VQ corresponding to the partition n , 0 n N . If Iˆk is the quantized value for Ik , LPVQ decomposes each component of an input vector I(x,y) into as Ik Iˆk Ek , where 0 k D . Given a target vector T t0 t1 tD2 tD1 , a distortion measure D(I,T) and a classification threshold , we wish to determine, for every image pixel I(x,y) , whether D(I(x, y),T) . When this condition is satisfied, we say that the pixel I(x,y) is a member of the class T . The Euclidean Distance ED(I,T) D 1 I k 0 k tk 2 is the distortion measures commonly used in classification. The classification threshold , plays an important role since it determines whether the classification is used to detect a rare pixel instance, eventually present in the image (problem commonly referred to as target detection) or whether the objective of the classification is the determination of a thematic map, where almost every pixel belongs to one of several classes. A. Effect of Coding Error on the Classification As we did in the case of compression, we used AVIRIS hyperspectral images to assess the effect of the coding error on classification. Classification and target detection are algorithms frequently applied to hyperspectral images; when the images are lossily encoded, it is licit to ask whether and in which measure the coding error affects the results of these algorithms. In order to assess the classification errors introduced by LPVQ lossy modes, we have experimented with the standard images for various errors and threshold parameters. It is important to notice that, while the lossy results are peculiar of our algorithm, the near lossless apply to any compression scheme that bounds 15 the maximum absolute error on each vector component. The results for three images, Cuprite, Moffet Field and Low Altitude, are presented here. Results on the other two images were very similar. In our experiments, the absolute error introduced by LPVQ in near lossless mode is respectively bounded to a maximum of 1, 2, 4 and 8 units. The classification uses Euclidean Distance with an average threshold per band [0,..,50] ; typically, values in the range [5,..,35] are of some interest in practical applications. The figures show the percentage of errors in the classification of 8 targets selected from each image. The targets are hand picked from the reduced resolution image constituted by the index planes and are meant to represent targets of common interest (buildings, roads, water, vegetation, etc...). The lossless encoding is used as a reference for the classification and the error percentages reflect the sum of all false positive (classifications that were not classified in the lossless), false negative (vectors classified in the lossless and not classified in the lossy) and misclassifications (different clusters in lossless and lossy). As it is possible to see from Figures 11-13, in near lossless, the classification is fundamentally unaffected; even for an error of 4 , the percentage of classification errors is, in the worst case, below 0.1%. This is sufficient for most applications. Smaller coding errors, achieve even lower percentages. For the compression parameters used in Section VII (i.e., 256 code vectors and 16 partitions) the indices and the code vectors alone (Figure 14, lossy case) achieve a classification error always lower than 3%. While this error rate may be unsuitable for some applications, as we show in the next section, it is possible to take advantage of this characteristic to design a faster classifier. B. Speeding up the Classification Since the LPVQ indices provide most of the information necessary to classify the pixels, we designed a simple algorithm that, bounding the minimum and maximum quantization error for each component and for each cluster, can decide the classification of most pixels without inspecting their error vector E(x, y) . Bounds on the quantization error are available at design time or can be inferred from the encoded image. The advantages of this algorithm are twofold. First: the number of partitions and the number of centroids are typically small, so pre-computed values can be arranged into a lookup table. If most vectors can be 16 classified without the need of the error, this will result into a substantial speed up. Second: we can imagine a user on the field, browsing and trying different classifications on the LPVQ indices instead of the whole image. Then, when a parameterization of interest is found, the user can query the server for the error vectors necessary to resolve any classification ambiguity. Given a threshold , a target vector T and a distortion measure D(I(x, y),T) , we wish to determine, from the quantization indices of a pixel I(x,y) , two quantities Dmin(I(x, y),T) and Dmax(I(x, y),T) , respectively lower and upper bounding the distortion D(I(x, y),T) . Since I(x,y) belongs to the class T only if D(I(x, y),T) , we can observe that: If Dmin(I(x, y),T) , the pixel I(x,y) clearly does not belong to the class T ; If Dmax(I(x, y),T) , the pixel I(x,y) trivially belongs to the class T ; If Dmin(I(x, y),T) Dmax (I(x,y),T) then the quantization indices and the bounds on the error are not sufficient to decide the classification. In this case, and only in this case, it is necessary to access the error vector and compute D(I(x, y),T) . Figure 15 shows the pseudocode that implements this scheme. The main assumption is that the quantities Dmin(I(x, y),T) and Dmax(I(x, y),T) can be computed by summing the individual contributions of each vector component k , upper and lower bounded by the minimum and maximum of the quantization residuals min( E k,l ) and max( Ek,l ) . This is clearly the case of Euclidean Distance, here defined as: ED(I(x,y),T) D 1 I tk 2 k k 0 2 Changing the threshold into , we can focus on the contribution of min( E k,l ) and max( Ek,l ) to the individual terms of the sum. For a given component k , 0 k D , in the partition n , 0 n N we have: I k tk 2 Iˆk E k t k . 2 If Ik has been quantized with the centroid l , 0 l L : 17 2 2 2 min Iˆk min( E k ,l ) tk , Iˆk max( E k,l ) tk Ik tk and 2 2 2 max Iˆk min( E k ,l ) tk , Iˆk max( E k,l ) tk Ik tk . Summing these bounds over all components of the partition n we obtain Dmin (Cl ,n,T) and Dmax (Cl ,n ,T) . These quantities are precomputed in the algorithm in Figure 15 by the two nested “for” loops. Since there are only 2 L N possible values and N and L are typically small ( N 16 and L 256 in Section VII), Dmin (Cl ,n,T) and Dmax (Cl ,n ,T) can be stored in a lookup table indexed by n and l . The computation of Dmin(I(x, y),T) and Dmax(I(x, y),T) requires a total of 2 N lookups and 2 (N 1) sums. If one of the two comparisons Dmin(I(x, y),T) and Dmax(I(x, y),T) succeeds, then the pixel I(x,y) is classified from its indices only, with a number of operations proportional to N . Otherwise, the error vector E(x, y) must be retrieved, I(x,y) exactly reconstructed as I(x,y) J(x, y) E(x, y) and finally D(I(x, y),T) computed. This requires a sum a subtraction and a product for each component and D1 sums to accumulate the result, i.e. a total of D subtractions, 2 D1 sums and D products, a number of operations proportional to D (for AVIRIS images, D 224 ). The speed of the new classification algorithm depends on the probability that the two tests fail and that we have to use the error vector in order to classify. Let this probability be: PrDmin (I(x, y),T) Dmax (I(x,y),T) If sub , add and mul are respectively the times to perform a subtraction, a sum and a multiplication on a given computing platform, the total running time of the new classification is: 2 (N 1) add D ( sub mult ) (2 D 1) add PrDmin (I(x, y),T) Dmax (I(x,y),T) Figures 16-18 show an experimental assessment of the quantity PrDmin (I(x, y),T) Dmax (I(x,y),T) for three AVIRIS images. They have been classified using 100 randomly selected targets. Average results are reported for thresholds [5,..,35] and quantizers having 256, 512 and 1024 levels. It is possible to see how the percentage of vectors on which the simplified test fails to classify the points reaches a maximum between 7.5% and 11% for a 1024 levels quantizer and 12% to 18% for a 256 level quantizer. 18 Practical figures are typically better. Problems like target detection are solved by applying a low threshold, while classification requires a high one; in these regions of the curve, the percentages may be much lower than the maxima. These results can be used in two ways. Given an image encoded with LPVQ, we can improve the speed the naïve classification with the use of a lookup table. Alternatively, we can use this as a tool to select the number of quantization levels and match a desired average classification speed VI. CONCLUSIONS We have presented an extension of the GLA algorithm to the locally optimal design of a partitioned D vector quantizer (LPVQ) for the encoding of source vectors drawn from a high dimensional source on R . It breaks down the input space into independent subspaces and for each subspace designs a minimal distortion vector quantizer. The partition is adaptively determined while building the quantizers in order to minimize the total distortion. Experimental results on lossless and near-lossless compression of hyperspectral imagery have been presented, and different paradigms of near-lossless compression are compared. Aside from competitive compression and progressive decoding, LPVQ has a natural parallel implementation and it can also be used to implement search, analysis and classification in the compressed data stream. High speed implementation of our approach is made possible by the use of small independent VQ codebooks (of size 256 for the experiments reported), which are included as part of the compressed image (the total size of all codebooks is negligible as compared to the size of the compressed image and our experiments include this cost). Decoding is no more than fast table look-up on these small independent tables. Although encoding requires an initial codebook training, this training may only be necessary periodically (e.g., for successive images of the same location), and not in real time. The encoding itself involves independent searches of these codebooks (which could be done in parallel and with specialized hardware). 19 REFERENCES [1] G. Motta, F. Rizzo, and J.A. Storer, “Compression of Hyperspectral Imagery,” in Proceedings Data Compression Conference, J.A. Storer and M. Cohn, Eds. 2003, pp. 333-342, IEEE Computer Society Press. [2] D. Landgrebe, “Hyperspectral Image Data Analysis,” in IEEE Signal Processing Magazine, January 2002, pp. 17–28 [3] M. G. Kendall, A course in the Geometry of n-Dimensions. New York: Hafner, 1961. [4] A. Gersho and R.M. Gray, Vector Quantization and Signal Compression. Kluwer Academic Press, 1991. [5] Y. Matsuyama. “Image Compression Via Vector Quantization with Variable Dimension”, TENCON 87: IEEE Region 10 Conference Computers and Communications Technology Toward 2000, Aug. 1987, Seoul, South Korea. [6] Y. Linde, A. Buzo, and R. Gray, “An algorithm for vector quantizer design”, IEEE Transactions on Communications 28, 84-95, 1980. [7] Huang, Bi, Stiles, and Harris, in IEEE Transactions on Image Processing, July 1992. [8] I. Katsavounidis, C.-C.J. Kuo, and Z. Zhang, “A New Initialization Technique for Generalized Lloyd Iteration,” in IEEE Signal Processing Letters, vol. 1, no. 10, pp. 144-146, October 1994 [9] JPL [2002]. NASA Web site: http://popo.jpl.nasa.gov/html/aviris.freedata.html [10] B. Aiazzi, L. Alparone and S. Baronti, “Near–Lossless Compression of 3–D Optical Data”, IEEE Transactions on Geoscience and Remote Sensing, vol. 39, no. 11, 2001. [11] J. Mielikainen and P. Toivanen, “Clustered DPCM for the Lossless Compression of Hyperspectral Images”, in IEEE Transactions on Geoscience and Remote Sensing, vol. 41, no. 12, pp. 2943-2946, December 2003. [12] F. Rizzo, B. Carpentieri, G. Motta, and J. A. Storer, “High Performance Compression of Hyperspectral Imagery with Reduced Search Complexity in the Compressed Domain”, in Proceedings Data Compression Conference, J.A. Storer and M. Cohn, Eds. 2004, IEEE Computer Society Press. . [1] G. P. Abousleman [1995]. “Compression of Hyperspectral Imagery Using Hybrid DPCM/DCT and Entropy-Constrained Trellis Coded Quantization”, Proc. Data Compression Conference, IEEE Computer Society Press. [2] B. Aiazzi, L. Alparone, A. Barducci, S. Baronti and I. Pippi [2001]. “Information-Theoretic Assessment of Sampled Hyperspectral Imagers”, IEEE Transactions on Geoscience and Remote Sensing 39:7. [3] . [4] . [5] JPL [2002]. NASA Web site: http://popo.jpl.nasa.gov/html/aviris.freedata.html [6] Y. Linde, A. Buzo, and R. Gray [1980]. “An algorithm for vector quantizer design”, IEEE Transactions on Communications 28, 84-95. [7] M. Manohar and J. C. Tilton [2000]. “Browse Level Compression of AVIRIS Data Using Vector Quantization on Massively Parallel Machine,” Proceedings AVIRIS Airborne Geoscience Workshop. [8] Y. Matsuyama [1987]. “Image Compression Via Vector Quantization with Variable Dimension”, TENCON 87: IEEE Region 10 Conference Computers and Communications Technology Toward 2000, Aug. 25-28, Seoul, South Korea. [9] R. E. Roger, J. F. Arnold, M. C. Cavenor and J. A. Richards, [1991]. “Lossless Compression of AVIRIS Data: Comparison of Methods and Instrument Constraints”, Proceedings AVIRIS Airborne Geoscience Workshop. 20 [10] S. R. Tate [1997], “Band ordering in lossless compression of multispectral images”, IEEE Transactions on Computers, April, 477-483. [11] G. Shaw and D. Manolakis [2002], “Signal Processing for Hyperspectral Image Exploitation”, IEEE Signal Processing Magazine 19:1 [12] S. Subramanian, N. Gat, A. Ratcliff and M. Eismann [1992]. “Real-Time Hyperspectral Data Compression Using Principal Component Transform”, Proceedings AVIRIS Airborne Geoscience Workshop. [13] G. O. Young, “Synthetic structure of industrial plastics (Book style with paper title and editor),” in Plastics, 2nd ed. vol. 3, J. Peters, Ed. New York: McGraw-Hill, 1964, pp. 15–64. [1] [2] NASA, “AVIRIS home page,” http://popo.jpl.nasa.gov, February 2003 [3]. [4]. [5] M. Manohar and J.C. Tilton, “Browse level compression of AVIRIS data using vector quantization on massively parallel machine,” in Proceedings AVIRIS Airborne Geosciences Workshop, 2000. SPURGARE LE REFERENCES ED AGGIUNGERE