11
Published in IET Image Processing Received on 22nd March 2011 Revised on 27th September 2012 Accepted on 9th December 2012 doi: 10.1049/iet-ipr.2012.0016 ISSN 1751-9659 Exploiting chrominance planes similarity on listless quadtree coders Ruzelita Ngadiran 1 , Said Boussakta 2 , Ahmed Bouridane 3 , Fouad Kheli3 1 School of Computer and Communication, University Malaysia Perlis, 01000 Kuala Perlis, Malaysia 2 School of Electrical, Electronic and Computer Engineering, Newcastle University, Newcastle upon Tyne NE1 7RU, UK 3 School of Computing, Engineering and Information Sciences, Northumbria University, Pandon Building, Newcastle upon Tyne NE2 1XE, UK E-mail: [email protected]; [email protected] Abstract: This study proposes an efcient algorithm for colour image compression with listless implementation based on set partition block embedded coding (SPECK). The objective of this work is to develop an algorithm that exploits the redundancy in colour spaces, low complexity quadtree partitioning and reduced memory requirements. Colour images are rst transformed into luminance chrominance (YCbCr) planes and a wavelet transform is applied. A reduction of the memory requirement is achieved with the introduction of a state marker that matches each colour plane to eliminate the list with dynamic memory in the original colour SPECK coder (CSPECK). The wavelet coefcients are scanned using Z-order that matches the subband decompositions. The proposed algorithm then encodes the de-correlated colour plane as one unit and generates a mixed bit stream. The linear indexing and initial state marker are modied to jointly test the chrominance plane together. Composite colour coding enables precise control of the bit rate. The performance of the proposed algorithm is comparable with CSPECK, set partitioning in hierarchical trees (SPIHT) and JPEG2000 but with less memory requirements. For progressive lossless, a saving of more than 70% than nal working memory against CSPECK and SPIHT highlights the benet of the proposed algorithm. 1 Introduction Compression in the wavelet domain has become more signicant since the introduction of embedded coding such as the embedded zerotree wavelet (EZW) [1] and set partitioning in hierarchical trees (SPIHT) [2], which offer effective reordering and coding of the transformed coefcients into progressive and rate controllable bit streams. Both algorithms use simple prioritisation and segregation of signicant coefcients into ordered bit planes. Another popular embedded coding technique based on a block partitioning (zeroblock) algorithm is set partition embedded block coder (SPECK). SPECK offers a low complexity approach and provides comparable performance to SPIHT but with faster encoding and decoding time [3, 4]. The SPECK algorithm properly and efciently sorts the sets of transform coefcients with block partitioning according to their maximum magnitude with respect to a sequence of declining thresholds. This allows the processing of different regions of the transformed image based on their energy content. The basic principle of set partition coding is to collect the location information of a large group of samples/pixels with maximum values below a certain low threshold [5]. Ignoring how the location information is gathered, the location information of each group together with its size and threshold would determine the bit savings of every group. Therefore compression is achieved through the bit savings of every group compared with the actual bits required to represent each pixel. If this technique is applied directly to raw images, adding the location information would require more bits; therefore a transform is required to compute samples with small maximum values. Image transforms would provide a suitable way of forming the partitions and the way in which the location information of the partitions is represented. These denitions have resulted in the development of state-of-the-art coders such as SPIHT and SPECK which are based on grouping the location information of the partitions represented. The set partition coder such as SPIHT and SPECK, group the location information of a group of samples in a certain threshold through the introduction of listsin the algorithm. The lists grow as the group contains more samples when the threshold value is reduced. Owing to the nature of both algorithms, the lists are required to be added, removed and moved, thus leading to useful data dependency and dynamic memory requirements and memory management benet. A listless approach can be deployed to deal with these issues and a listless coder is able to remove the need for location information in the list through the introduction of a scanning method to identify the location of the coefcients and a sparse marker to represent the state information of each coefcient. This state information is kept in a xed-size array of four bits per www.ietdl.org IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575585 575 doi: 10.1049/iet-ipr.2012.0016 & The Institution of Engineering and Technology 2013

Hyperspectral image compression with modified 3D SPECK

Embed Size (px)

Citation preview

www.ietdl.org

IE

d

Published in IET Image ProcessingReceived on 22nd March 2011Revised on 27th September 2012Accepted on 9th December 2012doi: 10.1049/iet-ipr.2012.0016

T Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585oi: 10.1049/iet-ipr.2012.0016

ISSN 1751-9659

Exploiting chrominance planes similarity on listlessquadtree codersRuzelita Ngadiran1, Said Boussakta2, Ahmed Bouridane3, Fouad Khelifi3

1School of Computer and Communication, University Malaysia Perlis, 01000 Kuala Perlis, Malaysia2School of Electrical, Electronic and Computer Engineering, Newcastle University, Newcastle upon Tyne NE1 7RU, UK3School of Computing, Engineering and Information Sciences, Northumbria University, Pandon Building, Newcastle upon

Tyne NE2 1XE, UK

E-mail: [email protected]; [email protected]

Abstract: This study proposes an efficient algorithm for colour image compression with listless implementation based on setpartition block embedded coding (SPECK). The objective of this work is to develop an algorithm that exploits theredundancy in colour spaces, low complexity quadtree partitioning and reduced memory requirements. Colour images are firsttransformed into luminance chrominance (YCbCr) planes and a wavelet transform is applied. A reduction of the memoryrequirement is achieved with the introduction of a state marker that matches each colour plane to eliminate the list withdynamic memory in the original colour SPECK coder (CSPECK). The wavelet coefficients are scanned using Z-order thatmatches the subband decompositions. The proposed algorithm then encodes the de-correlated colour plane as one unit andgenerates a mixed bit stream. The linear indexing and initial state marker are modified to jointly test the chrominance planetogether. Composite colour coding enables precise control of the bit rate. The performance of the proposed algorithm iscomparable with CSPECK, set partitioning in hierarchical trees (SPIHT) and JPEG2000 but with less memory requirements.For progressive lossless, a saving of more than 70% than final working memory against CSPECK and SPIHT highlights thebenefit of the proposed algorithm.

1 Introduction

Compression in the wavelet domain has become moresignificant since the introduction of embedded coding suchas the embedded zerotree wavelet (EZW) [1] and setpartitioning in hierarchical trees (SPIHT) [2], which offereffective reordering and coding of the transformedcoefficients into progressive and rate controllable bitstreams. Both algorithms use simple prioritisation andsegregation of significant coefficients into ordered bitplanes. Another popular embedded coding technique basedon a block partitioning (zeroblock) algorithm is set partitionembedded block coder (SPECK). SPECK offers a lowcomplexity approach and provides comparable performanceto SPIHT but with faster encoding and decoding time [3,4]. The SPECK algorithm properly and efficiently sorts thesets of transform coefficients with block partitioningaccording to their maximum magnitude with respect to asequence of declining thresholds. This allows theprocessing of different regions of the transformed imagebased on their energy content.The basic principle of set partition coding is to collect the

location information of a large group of samples/pixels withmaximum values below a certain low threshold [5].Ignoring how the location information is gathered, thelocation information of each group together with its sizeand threshold would determine the bit savings of every

group. Therefore compression is achieved through the bitsavings of every group compared with the actual bitsrequired to represent each pixel. If this technique is applieddirectly to raw images, adding the location informationwould require more bits; therefore a transform is required tocompute samples with small maximum values. Imagetransforms would provide a suitable way of forming thepartitions and the way in which the location information ofthe partitions is represented. These definitions have resultedin the development of state-of-the-art coders such as SPIHTand SPECK which are based on grouping the locationinformation of the partitions represented.The set partition coder such as SPIHT and SPECK, group

the location information of a group of samples in a certainthreshold through the introduction of ‘lists’ in thealgorithm. The lists grow as the group contains moresamples when the threshold value is reduced. Owing to thenature of both algorithms, the lists are required to be added,removed and moved, thus leading to useful datadependency and dynamic memory requirements andmemory management benefit. A listless approach can bedeployed to deal with these issues and a listless coder isable to remove the need for location information in the listthrough the introduction of a scanning method to identifythe location of the coefficients and a sparse marker torepresent the state information of each coefficient. This stateinformation is kept in a fixed-size array of four bits per

575& The Institution of Engineering and Technology 2013

www.ietdl.org

coefficient to enable fast scanning of the set partition. Thiswork adds a simple modification to the original listlessimplementation by introducing a new scanning order andsimplified the state marker initialisation, so that the newcolour image coder can exploit the similarity on thechrominance plane and the performance of a reducedmemory coder is improved.This paper is organised as follows. Section 2 provides a

background and reviews work related to colour coding, theSPECK algorithm and the attractive listless coder. Section 3explains the algorithm of the proposed coder in detail. Thisis followed by a presentation of the numerical results inSection 4. The performance is compared with that of thecolour SPECK coder (CSPECK), JPEG2000 and SPIHT.The performance measurements include rate-distortionanalysis, memory used in the algorithm and complexity.Finally, conclusions are drawn in Section 5.

2 Background and review

Full colour images are represented by three colour spaces:red, green and blue, called RGB space. These colour planesare usually highly correlated and a less correlated spacesuch as luminance and chrominance is used for efficientcompression. In this work, colour space luminance andchrominance, YCbCr for digital images is used.

2.1 Colour coding in the wavelet domain

Early SPIHT implementation on colour image compressionuses the Karhunen-Loeve transform (KLT) to decorrelatethe spectral information prior to SPIHT coding [2, 6, 7].Early evaluation of this method shows that KLTperformance is comparable with the luminance chrominancecolour space (YUV) method, but has the disadvantages ofhigher computational complexity than YUV anddependency on the source. Colour embedded zerotreewavelet (CEZW) implements an embedded scalable colourimage coder by exploiting the colour components of theYUV plane [8]. The coding strategy of CEZW is similar toEZW but with changes to the dominant pass. Theluminance is first scanned and symbols are appropriatelyassigned accordingly. Then, the chrominance plane isalternately scanned until all the components are encoded.The rate against distortion performance in CEZW is lowerthan that of the SPIHT algorithm.CSPIHT has been introduced by Kassim and Siong [9]

with modifications to the SPIHT spatial orientation tree(SOT) structure. CSPIHT uses partially linked SOT acrossdifferent spectral planes. This method embeds bothchrominance and luminance in the coded bit stream andoffers lower computational complexity than SPIHT withKLT. CSPIHT also performs better than SPIHT + KLT,especially with a five-level decomposition wavelet. Khelifiand co-workers modified SPIHT in [10–13], providingbetter peak signal-to-noise ratio (PSNR) than the originalSPIHT [7], especially in very low bit-rate colourcompression. The modification in [10] consists of groupingthe trees within each chrominance plane in list ofinsignificant sets (LIS) during the sorting pass according tothe virtual relationship parent-descendants specific to thechrominance component. The same authors have alsoimplemented lossless colour/multispectral image codingusing SPECK by joining two correlated planes in thesignificance test of blocks, resulting in significant

576& The Institution of Engineering and Technology 2013

improvement in the final bit rates [14, 15]. Some work tookthe human visual system into account such as in [16–18] toimprove the compression performance. From the statedworks, it is clear that exploiting similarity of the correlatedcolour planes brings significant decrease of distortion,especially at low bit rates.

2.2 Reduced memory coder

There have been several attempts to reduce the memoryrequired for the coding and decoding processes of waveletcoefficients, as proposed in previous research [17–26]. Theidea of listless significance map coding was initiallyproposed by Lin et al. [19–22] in their work on listlesszerotree coders (LZC) for colour images [19], and whichwas further developed by Shively et al. [23] and Wheelerand Pearlman [24]. The LZC uses two significance bit mapswith one bit per coefficient to store the coordinates ofsignificant coefficients and tree information, thus making itsimplementation hardware-friendly. The PSNR performanceof LZC is low, at about 0.51 dB, compared with that of theSPIHT. Other recent listless algorithms that are based onthe SPIHT coder have been implemented by the authors[17, 18, 26]. Work by Wheeler and Pearlman [24] improvedthe algorithm performance by implementing a markingscheme which has facilitated breadth-first searching. As aresult, the algorithm [referred to as no-list SPIHT (NLS)],produced bit streams with similar bits (but in differentorder) and generated results that were practically identical.Among the described listless implementations, only LZChas been implemented on still colour images, providing truescalable embedded coding.Listless SPECK (LSK) is another low-memory greyscale

image coder that implements a similar structure to NLS butuses the SPECK partitioning rule [25]. This approach offerslower complexity in terms of the partitioning rule andmaintains the fixed memory approach of a listless coder.The proposed algorithm is motivated by the development ofthe listless coders LSK, NLS and LZC, and with thequadtree partitioning rule for colour images, aiming toreduce the complexity of the scalable colour image coder.

2.3 Colour SPECK

SPECK is a block-based hierarchical image coding schemewhich is completely embedded and employs progressivetransmission with low computational complexity.Block-based coding is an efficient technique for exploitingthe clustering of energy found in image transforms. SPECKoutperforms SPIHT on images with high-frequency contentsuch as Barbara, whereas CSPECK outperforms JPEG2000and SPIHT for luminance components in most images [3].In wavelet-based progressive image compression, SPECKcan be considered as the most efficient coder comparedwith JPEG2000 and SPIHT. Previous reports indicate thatSPECK performs 4–8 times faster than JPEG2000 [3, 4].CSPECK treats all colour planes as one unit at the codingstage and generates a mixed bit stream. This maintains thefull embeddedness and precise rate control because it canstop at any point of the bit stream to reconstruct the colourimage of every plane. In CSPECK, one LIS is used foreach transformed plane, and each is initialised with thecorner coordinates of its lowest subband. Significant pointsamong the three planes are mixed in the single list ofsignificant pixels (LSP). After the threshold is lowered to T= 2(n− 1), the LIS sets of YUV are visited in turn on the

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

www.ietdl.org

three lists of the SPECK sorting passes. The refinement passtakes place on a single LSP by sending the nth bit of thebinary expansion of magnitude found significant. Theprocedure repeats until the bit budget is met.

3 Proposed coder

To apply LSK [25] for colour images, the algorithm treats allcolour planes (YCbCr) as one unit at the coding stage andgenerates a mixed bit stream. The YCbCr components inthis work have the same sample rate. For the sake ofclarification, LSK for colour images is referred to as listlessCSPECK (L-CSPECK). The proposed algorithm maintainslistless properties with a modification to jointly encode thechrominance planes in order to exploit the similaritiesbetween the two chrominance planes. Similar to the originalLSK [25], the proposed algorithm consists of three stages:initialisation, sorting pass and refinement. A dyadic wavelettransform results in a hierarchical ordering of the waveletcoefficients (the subband pyramids). The order is organised

Fig. 1 Morton ordering for Y-plane

Fig. 2 Comparison of scan order

a Scan order for L-CSPECKb Scan order for the proposed algorithm

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

in such a way that the coefficients’ magnitudes tend todecrease with the depth of the subband. This property isexploited by a bit-plane encoding scheme with asignificance test Sn(B) as shown in (1)

Sn(B) = 1, if maxi,j1B |Cij| ≥ 2n

0, else

{(1)

where the output of the significant test will be 1 if themaximum coefficients value from a group of the testedcoefficients, (represented by subset B), |Cij| is larger thanthe current threshold, denoted by 2n. Originally, thesignificance tests of blocks are performed for each YCbCrcolour plane in L-CSPECK. The proposed algorithmcombines the significance test in the chrominance plane sothat it becomes more efficient. This is achieved bymodifying the scanning order and the initial state marker ofthe chrominance plane. There are three main componentsfor a listless implementation: linear indexing, state markerand the sorting algorithm. Linear indexing is a mappingtechnique of the transformed coefficients to order thecoefficients for efficient scanning as required at theinitialisation stage. This is followed by a state markingprocess to generate a set of insignificant coefficients whichare then skipped. Further details of each component aregiven in the following section.

3.1 Linear indexing

Linear indexing is a technique that represents the coordinateof the transformed coefficients with a single number,instead of three coordinates (x, y, c). The linear index canbe simply generated through bit interleaving [24] andgenerates a hierarchical order similar to a subband pyramid

577& The Institution of Engineering and Technology 2013

Fig. 3 Bit interleaving procedure and the linear index in plane Cb and Cr

a Bit interleaving techniqueb Linear index plane Cbc Linear index plane Cr

www.ietdl.org

as shown in Fig. 1. Linear indexing can provide an efficientway to map the transformed coefficients to a scanningorder during the partitioning process. The scanning order isbased on Morton ordering or recursive Z. Morton orderingoffers a good locality-preserving behaviour and providessuitable data structures for mapping multidimensional datato one dimension. This indexing efficiently supports theoperations on coefficients with one operation, assumingthe usual subband data arrangement. This particular formatoffers computational and organisational advantages [24, 25,27] and facilitates the breadth firstsearch algorithm.The straightforward approach for listless colour imagecompression is to apply a similar ordering to each plane toenable rate scalable properties on the reconstructed colourimage. The scan order for L-CSPECK is shown in Fig. 2afor comparison with the proposed coder as in Fig. 2b. Togenerate Morton ordering/scanning, linear indexing isproduced by bit interleaving the binary representation of itscoordinate values. Let us assume that indices of the colourimage represented as (x, y, c), where each integercoefficient requires ⌈log2 (size of(x), size of(y), size of(c))⌉bits to represent the coordinate in binary form. For the256 × 256 colour image, ⌈log2(256, 256, 3)⌉ = (8, 8, 2).Hence, 8 bits are required to represent the coordinate of xand y, and another 2 bits to represent the plane. Hence,x0→ x7, y0→ y7, c0→ c1 are binary representations of thecoordinates in each x, y and c-axes in bits. Bit interleavingof coordinates is represented in Fig. 2. For example, thecoordinate of point A in plane Cb is A(2,2,2) in 256 × 256colour image, the representation of coordinates in bits are A(00000001,00000001,01). Applying the bit interleavinggenerate the point as A(00000000000000111) which isequal to 7 in linear indexing as shown in Fig. 3b.

578& The Institution of Engineering and Technology 2013

The proposed algorithm used different scanning decisionsto combine the chrominance significance tests as shown inFig. 2b for all colour plane and linear index generated forchrominance planes in Figs. 3b and c. In this way, thealgorithm can exploit the similarities between chrominanceplanes (CbCr). To achieve this, the scanning considers bothchrominance planes in the linear index. Bit interleaving ofcoordinates that include the colour planes Cb and Cr, (x, y,c) is used to generate the linear index for the scanningorder. Fig. 3a also illustrates the bit interleaving procedureto generate the scanning or linear index for joinedchrominance planes, where c1, c0 represent planes Cb andCr, respectively. It is worth noting that this scanningensures interchanging between the chrominance planesduring the significance tests. For hardware consideration,Wheeler and co-workers [24, 27] mentioned that this indexconversion is trivial, but it is not directly supported by ageneral-purpose CPU. Therefore for faster softwareconversion, this indexing/ordering can be implementedusing a fixed look-up table that maps one byte to two byteswith zero bits, padded between original bits. Theconversion is simple and fast, using a bit spreader tablecombined with shift and bitwise OR operations.

3.2 State marker

The mapped coefficients have a direct relationship with thestate marker. The following markers play an important rolein keeping track of the partitioning rule. During theinitialisation process, all coefficients are marked as null, andthen a few coefficients are marked according to theestimated subband positions of the transformed coefficients.Four bits per coefficient are required to identify/code the

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

Table 1 Comparison of state marker initialisation in Cb and Crin L-CSPECK and proposed algorithm

L-CSPECK Proposed

mark(ma ×mb + 1:ma ×mb + 64)=MIP;

mark(ma ×mb × 1:ma ×mb +64) =MIP;

mark(ma ×mb + 82 + 1) =MS3; mark(ma ×mb × 82 + 1) =MS3;mark(ma ×mb + 162 + 1) =MS4; mark(ma ×mb × 162 + 1) =

MS4;mark(2 ×ma ×mb + 1:ma ×mb +64) =MIP;

mark(2 ×ma ×mb + 82 + 1) =MS3;

mark(2 ×ma ×mb + 162 + 1) =MS4;

Fig. 4 Proposed algorithm

a Four subsets in chrominance planeb Partitioning and state marker update

www.ietdl.org

marker. Table 1 shows an example of some coefficients whichare marked during the initialisation process and the differencebetween the markers initialised in L-CSPECK and theproposed algorithm. ‘Map’ refers to the indexing generatedfor scanning purposes. The meaning of each marker isshown below:

† MIP: the pixel is insignificant and will be tested for thisbitplane.† MNP: the pixel is newly significant, so it will not be refinedfor this bitplane.† MSP: the pixel is significant and will be refined in thisbitplane.† MSx: a block of size 2x × 2x is to be skipped.

MSx can also be defined as an edge marker to keep track ofsignificant pixels. The value of MSx in this algorithm rangesfrom MS1 to MS10. Based on Fig. 3a, MIP is marked for thelowest subband in the pyramids of coefficients. MS3 refers tothe edge of the block with size 23 × 23 = 64. During theinitialisation, only the marker from MS3 to MS10(depending on the image size) will be marked. This iscrucial so that every edge is recognised for the partitioningprocess during the encoding and decoding processes.Through the partitioning process, MS1 and MS2 will beupdated automatically. A pre-computed constant look-uptable, rather than calculation, is used during initialisation fora faster implementation.

3.3 Proposed algorithm

L-CSPECK and the proposed algorithm are implementedusing a similar algorithmic structure. Since the locationinformation is fixed, if the tested set is found significant,the partitioning proceeds without the need to identify whichplane belongs to the significant coefficients. The threestages of the algorithm are: initialisation, sorting pass andrefinement. During initialisation, scanning or linearindexing is first applied to all colour planes. This is the partwhere L-CSPECK and the proposed algorithm are deployeddifferently. The scanning, as previously explained inSection 3.1, is the key role in how the proposed algorithmis modified to enable us to exploit the similarities inchrominance planes.Once scanning is done, MIP is marked to all coefficients in

the lowest subband of each plane. A state marker is firstinitialised based on the pre-computed constant look-uptable. No list is required in this algorithm; instead the statemarker will automatically update if a significant coefficient

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

is detected. The details of the pseudo-code for the encodingprocess are given below where k denotes the plane. Thedifference in the two algorithms occurs during theinitialisation task in the state marker and mapping/scanningwhich combines both planes together.Initialisation1: Output n = ⌊log2(max|Ci, j, k|)⌋2: Map the transformed coefficient to match linear indexingseqt(map) = wavelet coefficients3: Initialise state markerMark NULL for all coefficientsmark(all) = NULLMIP for the lowest subband coefficients (Column 2

Table 1)mark(1:2N − L) =MIPMSx for each initial block or subband (Column 2 Table 1)mark(23 + 1) =MS3Sorting PassThe sorting pass is performed through the significance test

in (1) for the chrominance plane and will automaticallyinclude both planes by interchanging scan order as shownin Fig. 2b.1: For each coefficient with a MIP mark, output Sn(k)if Sn(k) = 1, mark coefficient as MNP, output sign of kFor chrominance plane, if n = odd, k = Cb and if n = even,

k =Cr2: For each coefficient with mark other than NULLif set Sn(S)≠ 0Partition set into four equal subsets O(S) (Fig. 4a)Update the state marker by MSX − 1

ElseSkip the coefficients by marker size MSx = 2x × 2x

579& The Institution of Engineering and Technology 2013

www.ietdl.org

An example of partitioning and state marker update can be

seen in Figs. 4a and b. Instead of two planes, the chrominanceis treated as one plane. MIP is marked in both planes with theinterchanging scan order.Refinement PassIn the refinement pass, each coefficient marked as MNP

will be refined to MSP and the marked MSP sends anoutput of the nth most significant bit of the coefficients tothe bit stream.Quantisation StepThis task is performed by decrementing n by 1 and

continuing to the corresponding sorting passes n = nmax,nmax− 1, nmax− 2, nmax− 3Here, the significance tests are performed with a bitwise

AND operation and the significance level for each bitplaneis T = 2n. During encoding, the significance coefficientstested, T AND n-th bit of the coefficients. The decoderfollows the same overall procedure as the encoder, but forcorrect reconstruction and refinement of significantcoefficients, the decoder sets the bits and signs of thecoefficients with bitwise OR instead of testing them withbitwise AND. It is meant here by a significant coefficient,any coefficient whose significance bit, received by thedecoder, is 1 for the current bit-plane level. It is worthnoting that all the coefficients are initially set to zero inarray ‘val’ and the significant coefficients are progressivelyupdated depending on the received bits. For example, ifnmax = 8. At a certain significance level n = 4, the currentthreshold in binary form is T = 000010000 (bit planes startfrom n = 8 to n = 0). For a coefficient val[i] that has alreadybeen found to be significant during the previoussignificance tests, for instance when n = 7, the update hasbeen done for all the higher bit-plane levels before thedecoder reached the significance level n = 4. The currentcoefficient value will be used with the threshold via the ORbitwise operation to obtain the newly updated coefficients.If current value val[i] = 011000000 it will be updated as

val[i] = val[i] OR T (2)

val[i] = 011000000 OR 000010000 (3)

val[i] = 011010000 (4)

Basically, the OR bitwise operation is used during thereconstruction so that the bits of the significant coefficientsin higher levels than the current one will not be affected. Itis worth mentioning that this only applies to significantcoefficients as non-significant coefficients will not involveany bit-wise operations. Similarly, the sign of a significantcoefficient is maintained at the refinement stage through thebit-wise OR operation by using an extra bit (0) for thethreshold T.The decoder may also perform mid-tread type

dequantisation for coefficients that are not fully decoded.The proposed algorithm automatically tests bothchrominance planes together because the generated scanorder alternates between the plane Cb and the plane Cr. Asuitable initial state marker is used by treating bothchrominance plane as one coded plane. This will ensurethat the partitioning process is able to exploit thesimilarities between the Cb and Cr planes. Thereforeinstead of duplicating the same structure of the initial statemarker for every plane, the proposed algorithm only usesone state marker’s initialisation for both chrominance planes.

580& The Institution of Engineering and Technology 2013

4 Numerical results and discussion

To assess the performance of the proposed coder, numericalexperiments have been carried out on a number of 24-bitcolour images from an image database at USC-SIPI [28,29]. The Barbara image is taken from [30] and cropped tothe size 512 × 512. For the purpose of the discussion, onlya few images are presented. This section will first describethe implementation of the proposed algorithm for lossycompression and then continue with lossless compression.For lossy compression, an RGB image is first transformed

to a YCbCr colour space using a standard transform inMATLAB. Then, a 9/7 tap biorthogonal wavelet filter withfive decomposition levels [31] is applied to each colourplane. For fair comparison, all coders are tested using thesame colour and wavelet transform without any entropycoding, except for JPEG2000, which was tested usingKakadu v6.2 [32]. The performance of the proposedalgorithm is evaluated using rate distortion measurementsand memory requirements. The rate distortion is measuredby the overall PSNR from the RGB plane after imagereconstruction using (5) for PSNR and (6) for mean-squareerror (MSE) for the respective colour plane

PSNR = 10 log3× 2552

MSE(R)+MSE(G)+MSE(B)(5)

MSE(C) = 1

NxNy

∑Nx

i=1

∑Ny

i=1

C(x, y)− C(x, y)( )2

(6)

where C(i, j) and C(i, j) are the original and reconstructedimages, respectively, at each colour plane and N = Nx ×Ny

is the number of pixels of the original image at each colourplane.For each bit rate, all decoded images are recovered from a

single fidelity embedded encoded file truncated at the desiredbit rate without any entropy coding. Back-end arithmeticcoding is expected to improve by 0.5 dB [24, 25] to thecurrent result.In lossless compression, the reconstructed image is 100%

similar to the original image. The measure of performanceis based on the final bit rate required to reconstruct theimage. Therefore the compression ratio can be measured byusing

Compression ratio = bpp original image

bpp compressed image(7)

4.1 Coding performance

Table 2 shows a comparative evaluation of the resultsobtained from L-CSPECK, CSPECK and JPEG2000,SPIHT and the proposed algorithm. The JPEG2000 resultwas obtained from Kakadu v6.2 [32]. The analysis wasperformed at different rates ranging from 0.125 bit per pixel(bpp) for the compression ratio 192:1, to 3 bpp for thecompression ratio 8:1. L-CSPECK performs very close toCSPECK, with a difference ranging between 0.4025 and0.0594 for all bit rates. This is expected since L-CSPECKand CSPECK are based on similar partitioning rules.Additional gain is contributed by the difference of themarker initialisation in the listless algorithm and bit ordering.

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

Table 2 PSNR comparison of proposed algorithm for colour image

Rate, bpp L-CSPECK CSPECK Proposed JPEG2000 SPIHT

Lenna (512 × 512)0.125 27.4289 27.3691 27.6283 27.9324 27.29390.25 29.6692 29.6657 30.0306 30.0227 29.62450.375 30.6428 30.5860 31.067 31.0366 30.80710.5 31.6821 31.5545 32.3129 31.7237 31.59990.75 32.4882 32.4420 33.1881 32.693 32.67751 33.1081 33.0276 34.1213 33.2909 33.2671.5 34.1699 34.1498 35.1304 34.3181 34.31373 36.078 35.6755 37.3529 36.0388 36.0316

Barbara (512 × 512)0.125 24.813 24.8147 24.8647 25.2165 24.4730.25 26.9386 26.9980 26.9673 27.0782 26.83370.375 28.8923 28.8780 28.9096 28.3766 28.67770.5 29.9591 30.0118 29.9876 30.0859 29.89520.75 32.2461 32.2479 32.2862 32.1862 32.05221 33.5844 33.5733 33.6082 33.6865 33.55451.5 36.0215 36.0107 36.0622 35.9189 35.94113 39.5932 39.4147 39.6262 40.1194 39.7008

Baboon (512 × 512)0.125 19.9764 19.9299 19.98356 20.2485 19.89050.25 21.1652 21.1590 21.18657 21.3211 20.97230.375 21.915 21.8114 21.9261 21.9843 21.89750.5 22.4773 22.4295 22.48605 22.4234 22.54930.75 23.7682 23.6824 23.7727 23.2996 23.59881 24.502 24.4759 24.50336 24.3443 24.60041.5 25.8726 25.7739 25.87918 25.5106 25.86213 28.5883 28.4451 28.5779 27.6762 28.673

Ariel (512 × 512)0.125 22.2481 22.1535 22.25002 22.6824 22.14080.25 23.542 23.4229 23.54507 23.8517 23.51530.375 24.2499 24.1344 24.25138 24.6814 24.22910.5 24.763 24.6728 24.80072 25.3024 24.77990.75 25.9447 25.7398 25.9547 26.01 25.97291 26.6029 26.4870 26.60964 26.6165 26.74111.5 28.3549 28.1032 28.4523 28.0783 28.20393 31.4894 31.2148 31.5206 30.7553 31.4324

Pepper (512 × 512)0.125 25.2661 25.2197 25.2376 26.0629 25.08460.25 27.5026 27.4656 27.4301 28.4843 27.6540.375 29.407 29.3009 29.3997 29.5673 29.59350.5 30.1322 30.0345 30.2005 30.2517 30.3650.75 31.5247 31.4766 31.519 31.5358 31.71171 31.9092 31.8663 31.9075 32.3334 32.30671.5 33.005 32.8575 32.987 33.1652 32.95963 34.8817 34.5775 34.8471 34.7091 34.9801

www.ietdl.org

It can be observed that the proposed coder improves therate distortion over CSPECK on most bit rates. This isbecause the proposed algorithm maintains the zeroblockpartitioning rule and jointly tests the chrominance planes toexploit the similarities between both colour planes. In thiswork, all algorithms are tested on YCbCr colour planewhich uses a 4:4:4 ratio. The main aim is to exploitsimilarities between two chrominance planes, so thisalgorithm can definitely be applied to colour space thatprovide same chrominance planes ratio for example 4:2:2.The difference over CSPECK as shown in Table 2 liesbetween 0.0355 and 1.6774 dB. The performance of theproposed coder and L-CSPECK is quite close. However, forthe Lenna image, the proposed coder outperformsL-CSPECK by about 1 dB at certain bit rates; this is due tothe correlation value between the chrominance planes.Further analysis of the image shows that if the correlationbetween the chrominance planes is high, the proposed coderoutperforms L-CSPECK, whereas if the correlation is verylow L-CSPECK shows better results than the proposedcoder. Compared with JPEG2000, the proposed coderperforms better at certain bit rates for Lenna, Barbara andBaboon images, but does not outperform for other images

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

at most rates. JPEG2000 is higher in complexity because ituses a block based bitplane coding method with multiplepasses per bitplane. Joint significance does benefitcompressed image quality especially on images that containhigh correlation between decorrelated colours transformedin the chrominance planes. The average difference of0.0437 dB, can be considered as comparable with theJPEG2000 performance.

4.2 Memory requirement and complexity analysis

CSPECK, L-CSPECK and the proposed algorithm all use themost basic operations, like memory access, bit shifting,addition for iteration and bit comparisons. The complexityof bitplane coding can roughly be measured by the numberof bit comparisons. Bitplane based coders use one bit (‘0’or ‘1’) to indicate the tested coefficients. SPECK-basedcoder uses block-based partitioning which exhibits lowercomplexity than SPIHT-based coder with SOT partitioning.L-CSPECK and the proposed algorithm also implement thesame block-based partitioning rule, so that the complexityis similar to that of the CSPECK. For jointly testing thechrominance planes, the proposed coder even lowers the

581& The Institution of Engineering and Technology 2013

www.ietdl.org

complexity of the algorithm. This is due to the fact that itrequires a smaller number of significance tests if the jointlytested plane is insignificant. Therefore all tested algorithmshave lower complexity than JPEG2000 because the coderrequires multiple passes per bitplane [3, 33].Algorithm efficiency can also be contributed by the

memory needed during the coding process (see Fig. 5). Thememory requirement in CSPECK depends on lists that maycause data dependence, variable memory requirements andmemory management when the list nodes are added,removed and moved. The proposed algorithm avoidsmemory management because the memory is fixed andthere is no list, whereas the marker is updated only when asignificant coefficient is encountered. As it is fixed, at lowerbit rates the memory is larger than the total list in SPECKand SPIHT. Since the marker requires 4 bits, the memoryfor the listless algorithm (for both L-CSPECK and theproposed) can be calculated based on (8)

Mlistless = Size of image(x× y)

× (3 colour planes)× (4 bits) (8)

However, the efficiency of this algorithm is better because offixed allocation, especially at higher bit rates. The listless

Fig. 5 Working memory comparison

a Lenna memory comparisonb Barbara memory comparisonc Baboon memory comparisond Ariel memory comparison

582& The Institution of Engineering and Technology 2013

algorithm becomes much more efficient than both SPECKand SPIHT, which will suffer from the growing lists andsize of the dynamic memory. The memory requirement forSPECK and SPIHT is calculated using (9) and (10) for eachrate

MSPIHT = LLSP + 2× LLIS + LLIP( )× bitX + bitY + bitZ( ) (9)

MCSPECK = (LLSP + 2× LLISY + LLISI + LLISQ

)× bitX + bitY + bitZ( ) (10)

L is the number of coefficients in the list, bitX and bitY are thenumber of bits required to represent the coordinates for eachplane, whereas bitZ refers to the colour plane. Based on thegraphs (a–d ) in Fig. 5, it can be seen that the memoryincreases with the increase of the bit rate. The memory ofthe proposed algorithm is fixed and represented by astraight line in the graph. The dynamic memory of SPECKand SPIHT is directly proportional with an increase of thebit rate. At the same time, dynamic memory means thatmemory management is needed for removing and addingentries to a list during the coding process. On the otherhand, the fixed memory allows the encoding and decodingprocesses to operate faster because memory management is

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

Table 4 Memory requirement for lossless (in bits) and saving

Image CSPECK SPIHT Proposed % saving CSPECK % saving SPIHT

512 × 512Lenna 15 658 440 15 682 200 3 145 728 79.9103 79.9407Barbara 15 667 620 15 719 560 3 145 728 79.9221 79.9884Peppers 15 698 580 15 707 920 3 145 728 79.9617 79.9736Ariel 15 728 460 15 728 520 3 145 728 79.9998 79.9998Baboon 15 728 460 15 728 560 3 145 728 79.9998 79.9999

256 × 256Barche 3 526 038 3 531 060 786 432 77.6964 77.7281Peppers 3 531 816 3 534 336 786 432 77.7329 77.7488Couple 3 465 990 3 483 792 786 432 77.3100 77.4259Tulips 3 536 892 3 537 684 786 432 77.7648 77.7698Jelly 3 463 668 3 497 256 786 432 77.2948 77.5129

Table 3 Lossless performance based on compression ratio

Colour image (24 bits) JPEG 2000 Proposed L-CSPECK CSPECK SPIHT

512 × 512Lenna 1.7012 1.6878 1.6355 1.6356 1.5980Barbara 1.8078 1.7214 1.7212 1.7249 1.6994Peppers 1.6215 1.5420 1.5512 1.5513 1.5126Ariel 1.4548 1.4223 1.4207 1.4208 1.4039Baboon 1.3273 1.3033 1.3075 1.3075 1.2859

256 × 256Barche 1.9773 1.8711 1.8665 1.8674 1.8475Peppers 1.9435 1.8270 1.8269 1.8274 1.8234Couple 1.9714 1.8926 1.8993 1.9003 1.8679Tulips 1.6116 1.5534 1.5583 1.5583 1.5576Jelly 2.4947 2.2869 2.2727 2.2737 2.2638average 1.7911 1.7108 1.7060 1.7067 1.6860

www.ietdl.org

removed from the coding process. Since the memory is fixedfor any rate, the lossless application will be greatly beneficialwhen applied with this method. The next section describeslossless implementation using this structure.

4.3 Lossless performance

To implement the lossless coder, a reversible colourtransform is used. Then, a reversible wavelet 5/3 tap filteris applied to each plane. The performance results aregiven in Table 3. In terms of the compression ratioachieved, JPEG2000 gives the best results for all images.This is expected since JPEG2000 is a complete coderwith higher complexity. The JPEG2000 algorithm usesdifference technique that includes layered block coding,fractional bit planes and block-based rate distortionoptimisation [34,35]. On the other hand, the proposedalgorithm manages to outperform L-CSPECK, CSPECKand SPIHT. The proposed algorithm provides big savingsin the memory required for the encoding and decodingprocess. This saving will greatly improve the timerequired to perform the compression. The memorycalculation is based on the final list generated andcalculated using (8)–(10). Table 4 shows that theproposed listless coder offers savings of more than 70%of the working memory required for SPIHT andCSPECK. This huge saving will greatly benefit thehardware implementation of rate scalable compression.Although there is better lossless compression available toproduce higher compression, progressive compression canbenefit applications where the operator views the

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

approximate image before the final lossless image isgenerated, such as in medical applications.

5 Conclusion

An efficient and simple colour image coding algorithm hasbeen developed. The algorithm has been tested on bothlossy and lossless compression. The proposed algorithmoffers interesting properties that reduce memory usagewhile still being able to maintain similar performance andefficiency as CSPECK. The algorithm maintains theL-CSPECK properties but exploits similarity in thechrominance planes to offer better performances in terms ofrate distortion and final bit rate. This is achieved through asimple modification of the scanning order in order tocombine the significance test on the chrominance planes.All tested algorithms are bit-plane coded to generate afidelity embedded bitstream for colour images.The fixed memory requirement of the listless colour image

coder is very low compared with the final dynamic memoryrequired by CSPECK, resulting in at least a 70% saving forlossless compression. This can greatly benefit algorithmperformance, especially for hardware implementation. Theproposed algorithm performed quite well in both losslessand lossy compression compared with the well-knowncoders such as JPEG2000, SPECK and SPIHT. Toconclude, the proposed listless algorithm for colour imagesoffers excellent working memory savings over conventionalrate scalable coders while still maintaining similar or betterperformances. Future possible improvement can be made byadding suitable entropy coder to improve current results.

583& The Institution of Engineering and Technology 2013

www.ietdl.org

6 Acknowledgment

R. Ngadiran would like to thank the University of MalaysiaPerlis (UniMaP) and the Ministry of Higher Education,Malaysia, for the scholarship and financial support providedto her for PhD studies at Newcastle University, UnitedKingdom.

7 References

1 Shapiro, J.M.: ‘Embedded image coding using zerotrees of waveletscoefficients’, IEEE Trans. Signal Process, 1993, 41, pp. 3445–3462

2 Said, A., Pearlman, W.A.: ‘A new, fast and efficient image codec basedon set partitioning in hierarchical trees’, IEEE Trans. Circuits Syst.Video Technol., 1996, 6, pp. 243–250

3 Pearlman, W.A., Islam, A., Nagaraj, N., Said, A.: ‘Efficient,low-complexity image coding with a set-partitioning embedded blockcoder’, IEEE Trans Circuits Syst. Video Technol., 2004, 14, (11),pp. 1219–1235

4 Islam, A., Pearlman, W.A.: ‘An embedded and efficient low-complexityhierarchical image coder’. Proc. SPIE Visual Communications andImage Processing’99, January 1999, vol. 3653, pp. 294–305

5 Pearlman,W.A., Said, A.: ‘Set partition coding: Part I of set partition codingand image wavelet coding systems’, Found. Trends Signal Process., 2008,2, (2), pp. 95–180, Now Publishers, Delft, The Netherlands

6 Saenz, M., Salama, P., Shen, K., Delp, E.J.: ‘An evaluation of colorembedded wavelet image compression techniques’. Proc. SPIE Conf.Visual Communications and Image Processing, San Jose, California,23–29 January 1999, vol. 3653, pt. 1, pp. 282–293

7 Kim, B.J., Pearlman, W.A.: ‘Fast color-embedded video coding withSPIHT’. Abstract in Proc. 1998 Data Compression Conf., March 1998

8 Shen, K., Delp, E.J.: ‘Color image compression using an embedded ratescalable approach’. Proc. IEEE Int. Conf. Image Processing, SantaBarbara, CA, 26–29 October 1997

9 Kassim, A.A., Siong, L.W.: ‘Embedded color image coding usingSPIHT with partially linked spatial orientation trees’, IEEE Trans.Circuits Syst. Video Technol., 2003, 13, (2), pp. 203–206

10 Bouridane, A., Khelifi, F., Amira, A., Kurugollu, F., Boussakta, S.: ‘Averylow bit-rate embedded color image coding with SPIHT’. Proc. IEEE Int.Conf. Acoustics, Speech, and Signal Processing (ICASSP’04), 2004

11 Khelifi, F., Doghmane, N., Bouden, T.: ‘Compression of the colorimages by SPIHT technique’. Proc. Int. Conf. Information andCommunication Technologies: From Theory to Applications, 2004

12 Khelifi, F., Bouridane, A., Kurugollu, F.: ‘Joined spectral trees forscalable SPIHT-based multispectral image compression’, IEEE Trans.Multimedia, 2008, 10, (3), pp. 316–329

13 Brahimi, T., Melit, A., Khelifi, F.: ‘An improved SPIHT algorithm forlossless image coding’ (Published in Digital Signal Processing(Elsevier), 2009) pp. 220–228

14 Khelifi, F., Bouridane, A., Kurugollu, F.: ‘Efficient lossless colourimage coding with speck’. Proc. 13th European Signal ProcessingConf. Eusipco 2005, Antalya, Turkey, 4–8 September 2005

15 Khelifi, F., Kurugollu, F., Bouridane, A.: ‘SPECK-based losslessmultispectral image coding’, IEEE Signal Process. Lett., 2008, 15,pp. 69–72

16 Li, W., Cui, Z., Gao, L.: ‘Low bit rate image coding based on wavelettransform and color correlative coding’. Int. Conf Computer Design andApplications (ICCDA 2010), 25–27 June 2010, vol. 1, pp. V1-479–V1-482

584& The Institution of Engineering and Technology 2013

17 Pan, H., Siu, W.C., Law, N.F.: ‘Efficient and low-complexity imagecoding with the lifting scheme and modified SPIHT’. NeuralNetworks, 2008. IJCNN 2008, (IEEE World Congress onComputational Intelligence)

18 Pan, H., Siu, W.C., Law, N.F.: ‘A fast and low memory image codingalgorithm based on lifting wavelet transform and modified SPIHT’,Signal Process., Image Commun., 2008, 23, (3), pp. 146–161

19 Lin, W.K., Burgess, N.: ‘Listless zerotree coding for color images’.Conf. Record of the Thirty-Second Asilomar Conf. Signals, Systemsand Computers 1998, 1998

20 Lin, W.K., Ng, B.W., Burgess, N.: ‘Reduced memory zerotree codingalgorithm for hardware implementation’. IEEE Int. Conf. MultimediaComputing and Systems, 1999

21 Lin, W.K., Moini, A., Burgess, N.: ‘Listless zerotree coding using rastertree search’. Proc. IEEE Region 10 Int. Conf. Electrical and ElectronicTechnology, TENCON, 2001

22 Lin, W.K., Moini, A., Burgess, N.: ‘Tree-pruning listless zerotreecoding’. IEEE Int. Conf. Multimedia and Expo (ICME 2001), 2001

23 Shively, R.R., Ammicht, E., Davis, P.D.: ‘Generalizing SPIHT: a familyof efficient image compression algorithms’. Proc. IEEE Int. Conf.Acoustics, Speech and Signal Processing (ICASSP), June 2000,vol. 2000, no. (4), pp. 2059–2062

24 Wheeler, F.W., Pearlman, W.A.: ‘SPIHT image compression withoutlists’. Proc. IEEE Int. Conf. Acoustics, Speech and Signal Processing(ICASSP), June 2000, vol. 2000, no. (4), pp. 2047–2050

25 Latte, M.V., Ayachit, N.H., Deshpande, D.K.: ‘Reduced memory listlessspeck image compression’, Digit. Signal Process., 2006, 16, (6),pp. 817–824

26 Lian, J., Wang, K.: ‘Listless zerotree image compression algorithm’,Optoelectron. Lett., 2006, 2, (5), pp. 376–378

27 Seetharaman, G., Zavidovique, B., Shivayogimath, S.: ‘Z-trees: adaptivepyramid-algorithms for image segmentation’. Proc. 1998 Int. Conf.Image Processing, 1998, ICIP 98

28 Available at http://www.sipi.usc.edu/database/, accessed January 201029 Available at http://www.decsai.ugr.es/cvg/dbimagenes/c256.php,

accessed January 201030 Available at http://www.mvnet.fi/index.phposioTutkielmatluokkaYliop

istosivuImagecompression, accessed January 201031 Antonini, M., Barlaud, M., Mathieu, P., Daubechies, I.: ‘Image coding

using wavelet transform’, IEEE Trans. Image Process., 1992, 1,pp. 205–220

32 Available at http://www.kakadusoftware.com/, accessed January 201033 Skodras, A., Christopoulos, C., Ebrahimi, T.: ‘The jpeg 2000 still image

compression standard’, IEEE Signal Process. Mag., 2001, 18, (5),pp. 36–58

34 RECOMMENDATION ITU-R BT.601-5, 1982-199535 Final Committee Draft for JPEG2000 Available at http://www.jpeg.org/

jpeg2000/CDs15444.html (2010)

8 Appendix

Examples of Reconstructed Image Quality. Fig. 6 showsreconstructed images from the proposed algorithm,L-CSPECK, CSPECK, SPIHT and JPEG2000 with theoriginal image for visual quality comparison.

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585doi: 10.1049/iet-ipr.2012.0016

Fig. 6 Reconstructed Barb at rate 0.25 bpp

a Originalb JPEG2000 27.0782 dBc SPECK 26.9980 dBd SPIHT 26.8337 dBe L-CSPECK 26.9386 dBf Proposed 26.9673 dB

www.ietdl.org

IET Image Process., 2013, Vol. 7, Iss. 6, pp. 575–585 585doi: 10.1049/iet-ipr.2012.0016 & The Institution of Engineering and Technology 2013