Tree-structured product-codebook vector quantization

Tree-structured product-codebook vector quantization

Signal Processing: Image Communication 16 (2001) 421}430 Tree-structured product-codebook vector quantization Giovanni Poggi*, Arturo R.P. Ragozini D...

554KB Sizes 1 Downloads 50 Views

Signal Processing: Image Communication 16 (2001) 421}430

Tree-structured product-codebook vector quantization Giovanni Poggi*, Arturo R.P. Ragozini Dipartimento di Ingegneria Elettronica e delle Telecomunicazioni, Universita% **Federico II++ di Napoli, Via Claudio, 21, 80125 Napoli, Italy Received 14 December 1999

Abstract To carry out vector quantization (VQ) on large vectors, and hence obtain a good performance, it is necessary to introduce some structural constraint in the encoder. Product-codebook VQ reduces memory storage and encoding complexity. Tree-structured VQ reduces encoding complexity as well, and allows for progressive transmission. In this paper tree-structured product-codebook VQ is proposed to carry out low-complexity, low-memory storage VQ, with progressive transmission. The joint design of the tree-structured component codebooks is analyzed and a low-complexity greedy procedure is devised. The proposed approach has been implemented for two applications: the compression of gray-scale images, and the compression of multispectral images by means of the SPIHT algorithm, providing in both cases satisfactory experimental results.  2000 Elsevier Science B.V. All rights reserved. Keywords: Compression; Vector quantization; Product codebook; Tree structure

1. Introduction In the last two decades, vector quantization (VQ) [7] has been successfully applied to the encoding of a wide variety of sources, in particular images, video and speech. It is well known that VQ, owing to its structural freedom, is theoretically optimal among all lossy block coding techniques. Unfortunately, such a consideration has only a speculative value, since most of the times implementation issues (limited computing power and memory, insu$cient statistical knowledge) compel the designer to introduce a number of constraint which severely degrade the performance, to begin with the segmentation of the input signal in much smaller

* Corresponding author. Fax: #39-081-7683149. E-mail address: [email protected] (G. Poggi).

vectors. As a result, VQ-based encoding techniques are not competitive, at present, with last generation techniques based on wavelet transform like EZW [10] or SPIHT [9]. Nonetheless, as quantization stands at the core of compression, VQ keeps being an important building block for e$cient encoding algorithms. Quantizing vectors rather than scalars cannot but improve the performance, even when the vector components are independent [7], and the design of simple and e$cient vector quantizers remains of great interest for many applications. As a matter of fact, there is intense research on the joint use of VQ and wavelet transform for image coding [5], and also the technique presented in this paper was developed originally [1,6] to extend the SPIHT algorithm to the case of multispectral images through the use of vector quantization. We propose here a new coding technique, called tree-structured product-codebook vector

0923-5965/01/$ - see front matter  2001 Elsevier Science B.V. All rights reserved. PII: S 0 9 2 3 - 5 9 6 5 ( 0 0 ) 0 0 0 0 7 - 2

422

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

quantization (TSPCVQ), which integrates two popular forms of constrained VQ to take advantage of the distinctive features of both of them. Product-codebook VQ [7] (e.g., gain-shape VQ, mean-residual VQ, etc.) reduces coding complexity and memory storage with respect to unconstrained VQ, and allows one to use larger vectors and obtain eventually a better performance. If the component vectors are only weakly dependent on one another, the performance penalty for using a product codebook is quite limited. Tree-structured VQ (TSVQ), on the other hand, presents other appealing features: the coding complexity is much reduced (although the memory storage can increase substantially), it lends itself easily to progressive transmission of information, and the variable-length version [4] is extremely e$cient. By using a product-codebook VQ where the component codebooks are treestructured, we reduce the large memory requirment typical of TSVQ, and obtain low-complexity progressive encoding of large vectors, hence improving the encoding performance with respect to other VQ techniques of similar complexity. A few papers have addressed this topic in the recent past. In [8] it was proposed a mean-gainshape VQ technique with tree-structured codebooks for all the components; the codebooks were developed independently for each component to be jointly pruned later in order to work at a speci"c encoding rate. This independent-codebook strategy is based on the consideration that mean, gain and shape components are approximately independent on one another. Therefore, it will not work in other situations, where a joint codebook design will be necessary. In addition, it does not allow for progressive transmission. A more general case was considered in [11] but, again, the codebooks were not designed jointly, and progressive transmission was not possible. Furthermore, the problem of bit allocation among the codebooks was not addressed, calling for the transmission of side information for each encoded vector. In this paper, for a general two-component product-codebook VQ, we consider the problem of optimal joint design of the tree-structured component codebooks for progressive transmission. We show that a truly optimal design is exceedingly complex, but propose a simple, greedy, design procedure

which provides satisfactory experimental performance. The bit allocation problem is also solved as a by-product of such a procedure. The codebook design and bit allocation problems are analyzed in Section 2, where the proposed design procedure is also described. Sections 3 and 4, then, present two implementations of the technique for gray-scale images and multispectral remote sensing images. Finally, Section 5 draws conclusions.

2. Codebook design In product-codebook VQ all codewords are of the form x( "u( 䉺*( where u( and *( are componGH G H G H ent codewords belonging to suitable codebooks U and V, and 䉺 is the composition rule (e.g., ordinary product for gain-shape VQ). The encoder selects a suitable couple of component codewords and transmits their indexes i and j; these are used by the decoder to address its local copy of the codebooks and to reproduce the output product codeword x( , as shown in Fig. 1. Note that no GH assumption is made about the nature of the components, although it is common to have a scalar component and a vectorial one. Unlike in ordinary PCVQ, we impose in addition that the component codebooks be tree-structured, in order to speed up the codeword selection, and to allow for progressive re"nement of the information. Therefore, the resulting coding scheme will be referred to as TSPCVQ. 2.1. A simplixed situation For the time being, we will consider a simpli"ed situation in order to gain insight about the

Fig. 1. Encoder and decoder of a product-codebook vector quantizer.

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

423

Under these conditions, a joint codebook design procedure is readily outlined. As a matter of fact, it is usually a trivial task to design the optimal (minimum mean-square error) size-1 codebooks U and V over a suitable training set T"+y , y ,2, y ,.   2 As an example, for a gain-shape codebook it results Fig. 2. Two size-4 balanced tree-structured codebooks. At 0 bits all input vectors are reproduced as u(  䉺*(  . Each encoding bit   allows one to descend the trees down to the full-resolution product codeword, in the example, u(  䉺*(  .  

codebook design problem; later, more general cases will be discussed. First of all, let us suppose that both component codebooks, U and V, are described by balanced trees of the same size N (in Fig. 2, the case N"4 is shown). As a consequence, each tree-structured codebook, U for example, can be seen as a set of linear codebooks U"+U, U, U,2, U,,,

(1)

one for each layer of the tree, where UL"+u( L , u( L ,2, u( L ,. (2)   L\ U is composed of a single codeword u(  which is  the root of the tree, while U, corresponds to the full-resolution codebook. Our second simplifying assumption is that for each input vector x the encoder sends alternately one bit for the ; component and one for the < component. Therefore, if the encoder sends the string of bits `0100a, the decoder follows the path `00a on the ; tree and `10a on the < tree to reproduce the full-resolution codeword u(  䉺*(  (see again Fig. 2). As a matter of   fact, with each new bit received the decoder can improve the reproduction of the input vector:



u(  䉺*(    u(  䉺*(    x( " u(  䉺*(    u(  䉺*(    u(  䉺*(   

3 U;V

no bit received,

3 U;V

0,

3 U;V

01,

3 U;V

010,

3 U;V

0100,

(3)

and hence realize a progressive encoding of the input.

y g(  """y "", s(  " ,   ""y ""

(4)

where y is the centroid of T, g( is a scalar gain codeword, and s( is a unit-norm shape codeword. At 0 bits, all input vectors x are reproduced as u(  䉺*(  . Then, if a single encoding bit per vector is   available, for the assumptions made above it goes to re"ne ;, so we should now design U. This is a straightforward task as well, since it simply consists in the application of the ordinary generalized Lloyd algorithm GLA [1]. The ; root is initially split in two new values, say, u( "u(  #e *  and u( "u(  !e, and the set of all training vectors 0  that were encoded by the parent codeword u(  (the  whole training set in this case) is partitioned in two subsets T and T according to a minimum dis* 0 tortion criterion T "+y : ""y !u( 䉺*(  "")""y !u( 䉺*(  "",, * R R *  R 0  (5) T "T!T . 0 * Given these training subsets, the values of u( and * u( can be optimized in their turn (the exact expres0 sion depends on the composition rule 䉺). The alternate optimization of partition and codewords continues until convergence. A similar procedure is carried out to design all other layers, for example, V given U, where each couple of codewords is designed on the training subset associated with their parent codeword. Note that, contrary to what happens in conventional PCVQ, each codebook is designed given, rather than jointly with, some codebooks relative to the other component. This will probably cause some performance loss, but makes the design very easy, just like in ordinary TSVQ. 2.2. Optimizing the encoding path Now, let us remove the simplifying assumptions considered above, beginning with the "xed

424

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

encoding path (rigid alternation of ; and < bits). Indeed, there is no reason to choose such an encoding path, and it is easy to envision situations where an unequal resource assignment to the two components is desirable. In mean-residual VQ, for example, the low-pass information conveyed by the mean is so important that several bits will be spent for it before any bit is devoted to the residual. The design procedure needs only minor changes. Suppose UL and VK are the last codebooks already designed and let us denote as D(UL, VK) the corresponding average distortion over the training set 1 2 D(UL, VK)" ""y !u( L(y )䉺*( K(y )"", R R R ¹ R

(6)

where u( L(y ) and *( K(y ) are the ; and < codewords R R selected by the encoder for y in the codebooks R UL and VK, and ¹ is the size of the training set. Now, both UL given VK and VK given UL are tentatively designed, and the distortions over the training set, D(UL, VK) and D(UL, VK), are compared: the minimum distortion solution is accepted and the corresponding new codebook goes in the last layer of its tree, while the other one is simply discarded (see Fig. 3). Starting from the roots, the whole encoding path is soon singled out.

2.3. Using unbalanced trees Another unnecessary constraint is that the trees be balanced and, more basically, that they grow one full layer at a time rather than one node at a time. By removing such a constraint we are bound to design two sequences of ; and < codebooks +U, U, U,2, and +V, V, V,2, where the (n#1)st is obtained by the nth through the split of a single terminal node (see, for example, Fig. 4). Again, given UL and VK one has to decide which node of which tree should be split. In principle, we proceed as before, by selecting each time the split that provides the highest bene"t, and updating the trees accordingly. Unlike before, however, we must take into account not only the decrease in distortion but also the increase in coding length, because unbalanced trees lead to variablelength encoding. More precisely, following the usual approach for the growth of unbalanced TSVQ codebooks [2,4], we want to carry out the split that maximizes the ratio "*D/*R" (that is, the slope along the empirical rate-distortion curve) where *D is the decrease in distortion and *R is the increase in rate deriving from the split. This quantity can be evaluated in a relatively simple way for each node. In fact, at any given moment, through the encoding rule, the two codebooks UL and VK partition the input space in n;m regions, and the training set in as many subsets (see Fig. 5), where the generic T comprises all the GH training vectors that are encoded by u( L and *( K. G H Accordingly, we de"ne T "8 T GH GH H

Fig. 3. Growing the best balanced trees. Starting from the situation (a) with U and V, two alternative paths are followed: (b) growing U given V; and (c) growing V given U. The newly grown codewords are marked by white circles to indicate that they are tentative; only after a decision is made, one of the two con"gurations (b) and (c) is accepted.

and T "8 T , HH GH G

(7)

Fig. 4. Growing an unbalanced tree. A single node of U is split to obtain U. Note that all the codewords of U, but the split one, are also codewords of U.

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

Fig. 5. The two codebooks partition the input space in n;m regions. T is the set of all training vectors that are encoded by H u(  and by any *( . T is the set of all training vectors that are  H H encoded by any u(  and by *(  . T is the set of all training G   vectors that are encoded by u(  and by *(  .  

where T [T ] is the set of all training vectors GH HH that are encoded by u( L [*( K], irrespective of which G H <[;] codeword is used. Now, let us take node i of UL: once the children codewords of u( L have been designed by the GLA, it G easily results *R"¹ /¹, G 1 *D" [""y!u( L(y)䉺*( K(y)"" ¹y T Z GH !""y!u( L>(y)䉺*( K(y)""],

(8)

(9)

where ¹ indicates the cardinality of T , u( L(y)"u( L G GH G by construction, and u( L>(y) is either the left or the right child of u( L. G Given the distortion-rate (DR) slopes "*D/*R" for all nodes of the two trees, the maximum is selected, and the corresponding codeword is replaced by its two children. It is worth underlining that this is a greedy procedure, since the long-term e!ects of a split are not taken into account. 2.4. Limiting the design complexity The algorithm outlined above for the optimal joint growth of the two trees must be somewhat

425

simpli"ed to limit the computational complexity, in line with the original goal of TSPCVQ. Indeed, although a single binary GLA has low complexity, it is not reasonable to run it n#m times (the total number of leaves in the trees) whenever a node is split. In addition, the data structure needed to keep track of the joint growth of the trees is also pretty cumbersome. The key towards the implementation of a simpler algorithm is the observation that the split of a node does not a!ect any other split in the same tree. For example, expressions (8) and (9) concerning the split of u( L do not depend in any way on the values of all G codewords u( L , kOi. All other nodes in the ; tree I could be split, maybe repeatedly, without a!ecting the DR slope of node i, nor its children codewords. Hence, one can split the nodes of a tree as many times as desired, and only when the tree is switched a general updating (GLA algorithm, computation of DR slopes) is needed. Based on this observation, in the growing algorithm we forbid switching trees for a while (e.g., until the encoding rate has increased by a minimum quantity R ), so the updating will be much less

 frequent, and both complexity and data structures will be perfectly manageable. This approach amounts to adopting an intermediate strategy between growing balanced trees one layer at a time or unbalanced trees one node at a time; which is to grow unbalanced trees one layer at a time, with layers of variable depth. In the next two sections we will see two implementations of this approach.

3. Tree-structured gain-shape VQ We now apply the concepts presented above to realize a fast and simple encoding technique for gray-scale images. Gain-shape VQ is considered, hence, the ; codevectors are actually scalars, u( L"g( L, while G G the < codevectors are unit norm vectors *( K"s( K. H H As was said before, in order to limit the complexity a simpli"ed codebook design procedure is necessary. Therefore, we use a balanced gain codebook that grows one layer at a time and an unbalanced shape codebook that grows freely by splitting each

426

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

Fig. 6. In tree-structured gain-shape VQ the gain tree is balanced and the shape tree unbalanced; for each layer of the gain tree a layer of the shape tree is grown. Starting from the situation (a) with G and S, "rst G and then S (b) are grown (the new layers are marked by white circles). Note that the shape layers have variable depth.

time the maximum-slope node. A new layer of the gain codebook is designed whenever its DR slope, "*D/*R"""*D", is larger than the maximum DR slope of the shape nodes. This way, for each layer of the gain tree there is a variable-depth layer (possibly empty) of the shape tree (see Fig. 6). Such a choice makes the design procedure very fast because the scalar gain quantizer requires minimal computation, and the DR slope associated with each shape node must be recomputed only when a new layer of the gain is added. Speci"cally, Eqs. (8) and (9) become *R"1,

(10)

1 *D" [""y!g( L(y)s( K(y)""!""y!g( L(y)s( K(y)""], ¹y T Z (11) in case a new layer of the gain codebook is considered, and *R"¹ /¹, H 1 *D" [""y!g( L(y)s( K(y)"" ¹y T Z HH !""y!g( L(y)s( K>(y)""],

(12)

(13)

when a single node of the shape codebook is tentatively split. Although the use of a balanced gain tree

is a constraint, it should not a!ect much the performance because the distribution of the scalar gain over a large training set is approximately uniform. The training set for all the experiments is composed by blocks drawn from twenty gray-scale images of 512;512 pixels, 8 bit per pixel (bpp). The images are those of the USC database and others of similar characteristics used in the data compression community to test compression algorithms. Blocks of 4;4 and 6;6 pixels were considered, and in all cases, the codebooks were grown up to a total average depth of 16 bit/vector. The initial experiments with this technique provided disappointing results; although the codebook design algorithm devoted most of the encoding resources to the shape vectors, quite often these were poorly encoded. The reason is that the distribution of the shape is highly peaked around the `#ata shape (unit vector with identical components) due to the relative abundance of #at areas in natural images. As a consequence, most bits were spent to separate, in a very ine!ective way, the #at shape from various `edgea shapes, as shown in the example of Fig. 7. Several possible solutions to this problem can be envisaged, like the use of nonlinear splitting surfaces or more sophisticated (nongreedy) growing procedures, but they go beyond the scope of this paper; here, we use a simple `ad hoca solution, and force the "rst split to classify each shape as either #at or edge. Fig. 8 shows the encoding results for two out-oftraining images, (a) `Lenaa and (b) `Barbaraa, in terms of peak signal-to-noise ratio (PSNR) versus rate, when blocks of 4;4 and 6;6 pixels are used. In all cases the results are very close to those of unconstrained VQ, also reported in the "gures, showing that the doubly structured nature of the TSPCVQ codebook does not signi"cantly impair the performance. As a matter of fact, sometimes TSPCVQ even outperforms VQ, thanks to the higher #exibility allowed by its variable-rate coding strategy (unbalanced trees). A large performance gap can be observed, instead, when the block size is enlarged from 4;4 to 6;6 pixels. In this case, in fact, VQ is able to quantize jointly a larger number of pixels which often exhibit strong mutual dependencies; this is especially true for the smoother image Lena, where the gain is accordingly larger, up to 4 dB.

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

427

Fig. 7. An ine$cient tree. The central shaded region has a much higher density of training vectors than the surrounding. Each linear split in (a)}(c) separates this region from a part of the outer space. Most of the training vectors are encoded by the central codeword s(  , but this corresponds to a long binary string: `101a. 

Such results stress the importance of using large blocks and hence the advantage of using structured codebooks: with 6;6 blocks, indeed, unstructured VQ becomes exceedingly cumbersome (but at very low rates) because of the encoding complexity, the large memory storage and, especially, the huge training time necessary to generate meaningful codebooks. On the contrary, TSPCVQ can be carried out with no special computation or memory problems, at least up to a rate of 0.4 bpp. These results are con"rmed by the analysis of Fig. 9, where the original test image Lena and its encoded version at 0.4 bpp with blocks of 6;6 pixels are compared: the quality is quite satisfactory, except for some blockyness. The same is not true for Barbara, where the use of TSPCVQ with blocks of 6;6 pixels provides a gain of just one dB over VQ; however this happens because the training set itself, and hence the shape codebook, lacks the high-frequency blocks found in the image (Fig. 10).

Fig. 8. Encoding performance (peak SNR versus rate) of treestructured gain-shape VQ on the test images (a) `Lenaa and (b) `Barbaraa using blocks of 4;4 or 6;6 pixels. For comparison, the performance of VQ with blocks of 4;4 or 6;6 pixels are also reported.

4. Gain-shape SPIHT for multispectral images The set partitioning in hierarchical trees (SPIHT) algorithm [9] is probably the best image coding technique known in the literature, both for its ratedistortion performance, and for other appealing features such as universality, limited computational complexity and progressive encoding. A description of the encoding algorithm is out of the scope of this paper, it will be enough, here, to say that it is based on three conceptual steps: E wavelet transform of the image;

428

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

Fig. 9. (a) The original `Lenaa. (b) `Lenaa encoded at 0.4 bpp, using tree-structured gain-shape VQ with blocks of 6;6 pixels. The PSNR is 33.2 dB.

Fig. 10. (a) The original `Barbaraa. (b) `Barbaraa encoded at 0.4 bpp, using tree-structured gain-shape VQ with blocks of 6;6 pixels. The PSNR is 24.5 dB.

E

SPIHT algorithm to 3-D sources is of great interest. The obvious way to take advantage of the correlation in the third dimension is to consider a proper 3-D transform in place of the usual 2-D wavelet transform and proceed just like in the conventional SPIHT. However, an interesting alternative consists in taking the wavelet transform of each component image and then using VQ on vectors of homologous components. In this way, all dependence

E

(partial) sorting of the coe$cients for decreasing magnitude; progressive scalar quantization of the sorted coef"cients.

Often one has to deal with three-dimensional images, like video sequences, slices of a 3-D body taken by some imaging device, remote-sensing multispectral images, etc. Therefore, extending the

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

(not only linear) can be exploited and one can even encode jointly images of di!erent nature, like images of the same subject taken by di!erent sensors. The encoding procedure of SPIHT requires a partial sorting of the coe$cients for decreasing magnitude, in order to privilege the most signi"cant ones. In the vectorial case, it is natural to use the vector norm (i.e., gain) to measure the signi"cance of a vector, and hence resort to a gain-shape representation. Moreover, to realize the progressive transmission it is convenient to use tree-structured codebooks for both gain and shape. Therefore, TSPCVQ, and more speci"cally tree-structured gain-shape VQ, looks like a natural solution for vector-SPIHT. The main di!erence with respect to the case of Section 3 lies in the structure of the gain codebook. In fact, due to the hierarchical encoding procedure [9], it is convenient to see the gain codebook as the juxtaposition of a large number of simpler treestructured codebooks, one for each level of signi"cance (see Fig. 11). Such codebooks are all identical but for the values of the gain codewords that are halved going from the nth to the (n#1)st. Of course they do not require any design e!ort. Apart from that, the design procedure is the same as that of Section 3. In the encoding phase, instead, according to the SPIHT, each codebook becomes active only when the associated level of signi"cance is reached. Experiments were carried out on a multispectral image of a region near the river Rhein, Germany, taken by an airborne GER sensor. The image is composed by 63 spectral bands, each of size 1953;512 pixel, quantized at 16 bpp. Part of the

429

Fig. 12. Encoding performance (SNR versus rate) of gain-shape SPIHT on the test section of the GER image using vectors of 16 (a), 8 (b) and 4 (c) components (image bands). For comparison, the performance of conventional SPIHT is also reported (d).

image was used as a training set for the codebooks, while the rest formed the test set. Fig. 12 reports the rate-distortion results of the gain-shape SPIHT when vectors of 4, 8 and 16 components are used. The vectors are formed by taking one pixel from each band, which implies that 4, 8 or 16 bands are jointly encoded. The results are de"nitely good (note that here the SNR is used rather than the PSNR). In particular, the comparison with conventional two-dimensional SPIHT shows a large gain in performance, from 3 to 5 dB, at all rates of practical interest, which proves that the proposed VQ-based approach allows one to exploit the strong interband dependencies exhibited by this image. This is also con"rmed by Fig. 13 which compares the original of band 12 with its encoded version at 0.2 bpp, and shows a very good reconstruction quality for such a low rate.

5. Conclusions

Fig. 11. An example of a gain codebook for the SPIHT. Vectors whose norm is larger than 32 go to the "rst tree-structured subcodebook; vectors with norm between 16 and 32 go to the second, etc. During the encoding phase, high-signi"cance vectors are encoded before low-signi"cance vectors.

In this paper we have proposed tree-structured product-codebook vector quantization, aimed at reducing both computational complexity and memory storage with respect to conventional VQ. The doubly structured nature of the codebook requires a careful design phase. In particular, it is important to tune each component codebook for the other, and to assign encoding resources where

430

G. Poggi, A.R.P. Ragozini / Signal Processing: Image Communication 16 (2001) 421}430

complexity allows one to use larger vectors than those used in unconstrained VQ. Experimental results have con"rmed the value of TSPCVQ and have shown that it can serve both as an autonomous encoding technique and as a building block in more complex schemes (the SPIHT algorithm in this case) just like conventional VQ. In both implementations of TSPCVQ presented here the gain-shape structure has been considered: in future work, other structures of interest will be analyzed, such as mean-residual, or Kroneckerproduct gain-shape [3]. References

Fig. 13. (a) The original test section of the GER image, band 12. (b) band 12 encoded at 0.2 bpp using gain-shape SPIHT with vectors of 16 components. The SNR is 15.2 dB.

they are needed the most. To meet these requirements a greedy procedure has been proposed for the joint growth of two unbalanced tree-structured codebooks. Such a procedure, although not optimal, presents limited computational complexity and memory needs, and allows one to assign the encoding resources in a reasonable way. Encoding and decoding are straightforward, and the low

[1] F. Amato, C. Galdi, G. Poggi, Embedded zerotree wavelet coding of multispectral images, in: Proceedings of the 1997 IEEE International Conference on Image Processing, Santa Barbara, CA, October 1997, Vol. 1, pp. 612}615. [2] L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classi"cation and Regression Trees, Wadsworth, Belmont, CA, 1984. [3] G.R. Canta, G. Poggi, Kronecker-product gain-shape vector quantization for multispectral and hyperspectral image coding, IEEE Trans. Image Process. 7 (May 1998) 668}678. [4] P.A. Chou, T. Lookabaugh, R.M. Gray, Optimal pruning with applications to tree-structured source coding and modeling, IEEE Trans. Inform. Theory IT-35 (March 1989) 299}315. [5] P.C. Cosman, R.M. Gray, M. Vetterli, Vector quantization of image subbands: a survey, IEEE Trans. Image Process. 5 (February 1996) 202}225. [6] P.L. Dragotti, G. Poggi, A.R.P. Ragozini, Compression of multispectral images by three-dimensional SPIHT algorithm, IEEE Trans. Geosci. Remote Sensing, submitted for publication. [7] A. Gersho, R.M. Gray, Vector quantization and signal compression, Kluwer, Boston, 1992. [8] K. Oelher, R.M. Gray, Mean-gain-shape vector quantization, in: Proceedings of the 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing, Minneapolis, MN, April 1993, Vol. 5, pp. 241}244. [9] A. Said, W.A. Pearlman, A new fast and e$cient image codec based on set partitioning in hierarchical trees, IEEE Trans. Circuits Systems Video Technol. 6 (June 1996) 243}250. [10] J.M. Shapiro, Embedded image coding using zerotrees of wavelet coe$cients, IEEE Trans. Signal Process. 41 (December 1993) 3445}3462. [11] V.S. Sitarm, C.M. Huang, P.D. Israelsen, E$cient codebooks for vector quantization image compression with adaptive tree search algorithm, IEEE Trans. Comm. 42 (11) (November 1994) 3027}3033.