A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

download A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

of 14

Transcript of A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    1/14

    IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012 3737

    A New On-Board Image Codec Based on Binary TreeWith Adaptive Scanning Order in Scan-Based Mode

    Ke-Kun Huang and Dao-Qing Dai, Member, IEEE

    AbstractRemote sensing images offer a large amount of infor-mation but require on-board compression because of the storageand transmission constraints of on-board equipment. JPEG2000 istoo complex to become a recommended standard for the mission,and CCSDS-IDC fixes most of the parameters and only providesquality scalability. In this paper, we present a new, low-complexity,low-memory, and efficient embedded wavelet image codec foron-board compression. First, we propose the binary tree as a noveland robust way of coding remote sensing image in wavelet domain.Second, we develop an adaptive scanning order to traverse thebinary tree level by level from the bottom to the top, so that betterperformance and visual effect are attained. Last, the proposed

    method is processed with a scan-based mode, which significantlyreduces the memory requirement. The proposed method is veryfast because it does not use any entropy coding and rate-distortionoptimization, while it provides quality, position, and resolutionscalability. Being less complex, it is very easy to implement inhardware and very suitable for on-board compression. Experi-mental results show that the proposed method can significantlyimprove peak signal-to-noise ratio compared with SPIHT withoutarithmetic coding and scan-based CCSDS-IDC, and is similar toscan-based JPEG2000.

    Index TermsAdaptive scanning order, binary tree coding,on-board application, remote sensing image compression, scan-based mode.

    I. INTRODUCTION

    T HE application of remote sensing images has become verywidespread such as environment monitoring, geology de-tection, urban planning, etc. [1][3]. Along with the increasingdemand of remote sensing data, the sensor technology hasbeen developed to improve the spatial and spectral resolution,which significantly increases the image data and requires moreand more storage space and transmission capabilities. On theother hand, the storage and channel bandwidth of on-boardequipment are limited. Therefore, the high-fidelity and high-speed compression technology is very desired to alleviate thesecontradictions.

    Most coding systems are based on a transform stage [4], such

    as KarhunenLoeve transform, discrete cosine transform [5],and wavelet transform. The discrete wavelet transform (DWT)provides an efficient way to compress images by separating an

    Manuscript received August 23, 2011; revised January 1, 2012 andJanuary 24, 2012; accepted February 2, 2012. Date of publication March 16,2012; date of current version September 21, 2012. This project was supportedin part by the National Science Foundation of China (90920007, 11171354).

    K.-K. Huang is with the Department of Mathematics, JiaYing University,Meizhou 514015, China (e-mail: [email protected]).

    D.-Q. Dai is with the Center for Computer Vision and the Departmentof Mathematics, Sun Yat-Sen University, Guangzhou 510275, China (e-mail:[email protected]).

    Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

    Digital Object Identifier 10.1109/TGRS.2012.2187340

    image into several scales and exploiting the correlations acrossscales as well as within each scale. Many well-known codingsystems use wavelet transform, such as EZW [6], SPIHT [7],SPECK [8], and EBCOT [9]. And they are used for hyper-spectral data in 3-D mode [10]. The JPEG2000 standard [11],using EBCOT as its kernel, is also a wavelet-based codingsystem and usually taken as the reference technique. In practice,JPEG2000 has been employed in some space missions [12]. In[13], the wavelet transform in JPEG2000 is replaced by a 2-Doriented wavelet transform, and it outperforms JPEG2000 forremote sensing images. Since remote sensing data are often

    captured incrementally by sensors in a push-broom fashionand quite large, the scan-based approach is also very desirableto handle the data. In [14], the authors present a scan-basedmethod that enables the use of JPEG2000 with incrementallyacquired data.

    However, some components of JPEG2000 that help to pro-vide high compression performance (context modeling, arith-metic coding, Lagrangian rate-distortion optimization) alsohave high implementation complexity. This limits the suitabilityof JPEG2000 for airborne or satellite-borne missions withhigh data-throughput rates and limited capacity of acquisition,storage, and transmission.

    Since 1982, the Consultative Committee for Space Data

    Systems (CCSDS) [15] is working toward the developmentof space data handling standards. In November 2005, CCSDSpublished a recommended standard, CCSDS-IDC Blue Book[16], for a data compression algorithm based on wavelet trans-form. In June 2007, the Green Book 120.1-G-1 [17], a tutorialof the IDC Recommendation, was published. The recommen-dation specifically targets use aboard spacecraft and focusesmore on compression and less on options of handling anddistributing compressed data. A careful trade off has beenperformed between compression performance and complexity,which is very suitable for on-board image compression. Todate, more than 300 space missions have elected to fly withCCSDS protocols and realized the benefits: reduced cost, risk,and development time.

    However, CCSDS-IDC only has quality scalability and donot allow the interactive decoding. It fixes most of the pa-rameters limiting the choices of the end user, and the mostsignificant is the number of levels of DWT, which is set tothree. In [18], some prominent extensions have been presentedfor the CCSDS-IDC, and compression performance is notablyimproved with respect to the recommendation for a large varietyof remote sensing images.

    In this paper, we present a new, low-complexity, low-memory, and efficient embedded wavelet image codec for on-board compression. The proposed method is based on a binarytree representation, which is related to EZBC and HIC. EZBC

    0196-2892/$31.00 2012 IEEE

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    2/14

    3738 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    TABLE IFEATURE COMPARISON OF SPIHT, EZBC, SCA N-BASED CCSDS,

    SCA N-BASED JPEG2000, AND THE PROPOSED METHOD

    is presented in [19]. In this scheme, quadtree representation ofwavelet coefficients is established for individual subbands, andthe context models were carefully designed for coding quadtreenodes at different tree levels and subbands. In [20], the sphericalrepresentation (SPHE) has been introduced, which uses localenergy as a direct measure to differentiate between parts of thewavelet subband and to decide how to allocate the available bi-trate. In [21], a hierarchical classification (HIC) map is definedin each wavelet subband, which describes the quantized data

    through a series of index classes and extends SPHE.EZBC and HIC build good models to match the true distri-

    bution of the wavelet domain information. The coefficients areclassified or partitioned into significant and insignificant setsso that large sets of insignificant coefficients are coded withless cost. The disadvantage of these coders is that they have ahigh computational complexity, too, particularly using entropycoding. However, without entropy coding, the performance ofthese methods is not very good. Moreover, EZBC uses quadtreerepresentation which is not fine enough, and HIC cannot gener-ate embedded code streams. These methods are not not suitablefor remote sensing image compression, because it is an on-board real-time process and should be designed in practice,

    particularly on computational complexity.The proposed method builds a binary tree model similar to

    EZBC and HIC, but is designed in low complexity and lowmemory. In addition, the proposed method uses an adaptivescanning order so that better performance and visual effect areattained. Furthermore, the proposed method is processed withscan-based mode, which significantly reduces the memory re-quirement. The proposed method is very fast because it does notuse any entropy coding and rate-distortion (R-D) optimization,while it has quality, position, and resolution scalability. Theproposed method based on binary tree coding with adaptivescanning order in scan-based mode is called BTCA-S.

    There are some other low-complexity algorithms based on

    wavelet transform, such as the distributed source coding (DSC)[22] and lower tree wavelet (LTW) [23] encoder. However,DSC is only for lossless compression, and LTW is not a bitplane encoder, which does not provide quality, position, andresolution scalability, and is hard to rate control. They both useentropy coding too.

    In summary, Table I shows the feature comparison betweenSPIHT, EZBC, scan-based CCSDS, scan-based JPEG2000, andthe proposed method.

    The remainder of the paper is organized as follows. InSection II, we present the proposed method based on binarytree with adaptive scanning order in scan-based mode. InSection III, the complexity of time and space of the proposedmethod is analyzed. The experimental results are given inSection IV. Finally, the conclusion is provided in Section V.

    Fig. 1. Remote sensing image and a subband of its wavelet transform. In (b),the white position is where the significant coefficients locate. It can be seenthat there are large contiguous areas where the insignificant coefficients locate.(a) A remote sensing image: coastal-b1. (b) A subband of wavelet transform tocoastal-b1.

    II. PROPOSED METHOD

    In this section, we propose a binary tree coding algorithm,

    called BTC, for each code block of wavelet subband first. Basedon BTC, the adaptive scanning order is introduced, which iscalled BTCA. Then, the BTCA is processed with scan-basedmode, and the final proposed method is called BTCA-S.

    A. Binary Tree Coding

    The energy in wavelet subbands is usually clustered. Itmotivates the use of spatially varying models in coding thewavelet information. A subband of the wavelet transform to aremote sensing image is shown as Fig. 1(b). The white positionis where the significant coefficients with respect to the threshold8 locate, and the others are the insignificant coefficients. It can

    be seen that there are large contiguous areas where the insignif-icant coefficients locate. Hence, we can divide the subband intoseveral subblocks with the same size such as 8 8 and 16 16,and then we check whether it contains significant coefficients.If a subblock does not contain significant coefficients, thenwe can use a binary bit to encode the entire block. If thereare many such subblocks, then high compression ratio (CR) isattained. However, it is a problem that how big the subblocksize is. If the size is too big, then the proportion of insignificantcoefficients will be increased in significant blocks, and thecoding performance is reduced. If the size is too small, thenthere are more contiguous insignificant subblocks, and it cannotfurther improve the CR.

    To solve the problem, EZBC [19] adopts the quadtree split-ting method. Each quadtree node splits into four insignificantdescendent nodes of the next lower level once it tests assignificant against the threshold of the current bitplane codingpass. This scheme in EZBC is not fine enough. Suppose thereis a code block as Fig. 2. With quadtree coding in EZBC, wefirst encode 1 because the 4 4 block contains significantcoefficients. Then ,the four 2 2 subblocks are coded. We alsoencode 1 because the upper left 2 2 subblock contains sig-nificant coefficients. And then the four coefficients are encodedwith 0100. Finally, the resulting code is 1101001010000,with a total of 13 bits. However, we can get better performanceusing the binary tree coding method of this paper.

    We provide the notation for the binary tree as follows.Suppose there is a code block B of wavelet image with

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    3/14

    HUANG AND DAI: NEW ON-BOARD IMAGE CODEC BASED ON BINARY TREE 3739

    Fig. 2. Simple block to be encoded. Almost all coefficients are insignificant

    except two.

    Fig. 3. Linear indexing with a code block. The 2-D data is transformed into1-D using morton scanning order.

    size of 2N 2N. Let {B(r, c)|0 r,c < 2N} denote thecoefficients of the code block B. In order to facilitatedescription, the 2-D data is transformed into 1-D usingmorton scanning order [28]. We can represent the row in-dex in binary r = [rN1rN2 . . . r1r0], and do the samefor the column index c = [cN1cN2 . . . c1c0]. Let p =[rN1cN1rN2cN2 . . . r1c1r0c0] and V(p) = B(r, c), thenthe linear index p ranges from 0 to 2N 2N 1. Then, V canrepresent B with a single index instead of two. Fig. 3 shows an

    example of this indexing scheme.From bottom to the top, we construct the binary tree whose

    nodes are (t) for 1 t < 2 S where S = 2N 2N. Thebottom level of the binary tree consists of all coefficients inmorton scanning order

    (t) = |V(t S)| for S t < 2 S.

    The upper levels of the tree are defined iteratively as follows:

    (t) = max {(2t), (2t + 1)} for 1 t < S.

    (2t) and (2t + 1) are called each others brother, andthey are called the children of (t). (t) is called the parent

    of (2t) and (2t + 1). The tree depth D = N + N + 1. Forexample, there are a code block and its binary tree in the leftand right of Fig. 4, respectively. Then, the bottom level of thebinary tree consists of four nodes: (4) = |V(4 2 2)| = 1,(5) = 0, (6) = 2 and (7) = 4. The upper level consists oftwo nodes: (2) = max{(4), (5)} = 1 and (3) = 4. Thetop level consists of one node: (1) = max{(2), (3)} = 4.

    When a binary tree is constructed for a code block, wecan traverse the tree by depth as follows: for each bit plane,going from top to the bottom of the subtree, if a tree node isinsignificant, then it is coded by 0, otherwise it is coded by1, and the process is recursively applied to the two children. Ifthe process reaches the bottom of the tree and the corresponding

    coefficient is significant, then the sign of the coefficient iscoded. In this way, we can quickly zoom in to high energy areas,

    Fig. 4. Code block (left) and its binary tree (right). The bottom level of the

    binary tree consists of all coefficients in morton scanning order. The value ofthe other nodes is the maximum of its two children.

    and regions of all zero pixels can be compactly represented.There are two kinds of codes that can be neglected.

    If one node has been coded with significant in largerthreshold, then we know this node must be significant.For example, the root of the tree in Fig. 4 is equal to 4.Certainly, it is larger than 2.

    If one node has a significant parent and the brother of thenode has just been coded with insignificant, then we knowthis node must be significant. For example, the root of thetree in Fig. 4 is equal to 4, and its left child is equal to1 that is less than 4. Hence, the right child must beequal to 4.

    The detail steps of the proposed method can be described asa function TravDep as follows, where t is the index of a nodeof the binary tree, and Tk is a threshold where T0 = 2

    log2(1)

    and Tk = T0/2k. The function will traverse the subtree whose

    root is the node (t) by depth first.

    Function code = TravDep(, t , T k)

    If(t) has been coded with significant in larger threshold,namely, (t) Tk1,

    Ift < S,

    cl = TravDep(, 2t, Tk); cr = TravDep(, 2t + 1, Tk); code = cl cr.

    Else code = {sign(V(t S))}.

    Else if(t) has a significant parent and the brother of(t)has just been coded with insignificant, namely, t > 1 andt mod 2 = 1 and (t 1) < Tk,

    Ift < S, cl = TravDep(, 2t, Tk); cr = TravDep(, 2t + 1, Tk); code = cl cr.

    Else code = {sign(V(t S))}.

    Else if(t) Tk

    Ift < S, cl = TravDep(, 2t, Tk); cr = TravDep(, 2t + 1, Tk); code = {1} cl cr.

    Else code = {1} {sign(V(t S))}.

    Else

    code = {0}.

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    4/14

    3740 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    Fig. 5. Comparison of the histograms of two kinds of coefficients (except significant coefficients). About 40% of the magnitudes of the coefficients in (a)are greater than 4, while there are about 13% in (b). Hence, we can scan the neighborhood of the previous significant coefficients first. (a) The significant-likeneighborhood. (b) All the coefficients.

    The function TravDep is described as a recursive formabove. To accelerate the calculation speed, it can be realized

    into nonrecursive function by a stack. We can regard an entirewavelet image as a code block and encode it with functionTravDep(, 1, Tk) at each bit plane. This method is calledBTC. The binary tree can be represented by an array, whichis a very simple structure so as to easily store in restrictedscenarios.

    The 2-D data can be transformed into 1-D using raster scan-ning order (line by line scanning) instead of morton scanningorder. However, it would decrease the peak signal-to-noiseratio (PSNR) a little, about an average of 0.25 dB. Becausethere could be many insignificant square blocks of waveletdomain that can be represented by some nodes of the binarytree constructed by morton scanning order, while the nodes of

    the binary tree constructed by raster scanning order can onlyrepresent some insignificant linear blocks that are less seen.The morton scanning can also be replaced by a Hilbert (fractal-like) scanning [24], in which almost the same performance isattained.

    Using the BTC algorithm to encode the block as Fig. 2,we will get the resulting code as 11110011000 without signcoding, with a total of 11 bits, which is more efficient thanEZBC.

    When the size of the code block is arbitrary such as W H,which is not equal to 2N 2N, we can deal with it as follows.First, we can linear index the code block with morton scan-ning order into {V(p)|0 p < S0} where S0 = W H. Let

    D = log2(S0) + 1 and S = 2D1

    , then we can construct thebinary tree whose nodes are (t) for 1 t < 2 S as above,where (t) = |V(t S0)| for S t < S + S0 and (t) = 0for S+ S0 t < 2 S. In order to avoid the unnecessarycode for the S S0 coefficients expanded with zero value, wecalculate the number of the invalid nodes of each level of thetree v(d) for 1 d D, where v(D) = S S0 and v(d) =v(d + 1)/2 for 1 d D 1. Then, the index set of thepossible visiting invalid nodes U for the function TravDep canbe attained as follows.

    U = {}. For d = 1 to D

    Ifmod(v(d), 2) = 1, U = U {2d v(d)}.

    Finally, when (t) Tk, the function TravDep needs to bemodified as follows:

    Else if(t) Tk while t < S and 2t + 1 U,

    t = 2t. Ift < S,

    cl = TravDep(, 2t, Tk); cr = TravDep(, 2t + 1, Tk); code = {1,cl,cr}.

    Else code = {1,sign(V(t S))}.

    For example, suppose there is a code block with size of 1 5 which is indexed by V(0) = 0, V(1) = 1, V(2) = 0, V(3) =0, V(4) = 1, where S0 = 5, M = 3 and S = 8. The number of

    the invalid nodes of each level v(4) = 3, v(3) = 1, v(2) = 0,v(1) = 0, and the possible visiting invalid nodes U = {7, 13},respectively. Using the modified function TravDep to encodethe binary tree, we can get the resulting code as 111001without sign coding.

    B. Adaptive Scanning Order

    The wavelet coefficients on the edges are often significant.Moreover, because the brightness around the edges of naturalimage usually changes gradually, the magnitudes of the waveletcoefficients around the edges are often large too. Such asFig. 1(b), the coefficients whose magnitudes are greater than

    4 but less than 8 locate in the gray position. The other blackposition is where the coefficients whose magnitudes are lessthan 4 locate. It can be found that the gray coefficients are likelyaround the white coefficients.

    To facilitate the description, the four coefficients on the left,right, up, and down of a coefficient are called the neighborhoodof the coefficient, and the neighborhood of the previous signifi-cant coefficients is called significant-like neighborhood.

    Except for the previous significant coefficients whose magni-tudes are greater than 8, we can get the histogram of significant-like neighborhood as Fig. 5(a). The number on the horizontalaxis is the magnitude of the coefficients, and the numberon the vertical axis is the number of the coefficients in the

    corresponding interval. It can be found that about 40% of themagnitudes of the coefficients are greater than 4, and 70% of

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    5/14

    HUANG AND DAI: NEW ON-BOARD IMAGE CODEC BASED ON BINARY TREE 3741

    Fig. 6. Adaptive scanning order in the binary tree. The gray nodes are theprevious significant nodes. Going from the bottom to the top of the tree, if onenode is insignificant and its brother is significant, then the subtree whose rootis just the node is traversed first.

    them are greater than 2. And the histogram is very differentfrom the histogram of all the coefficients as Fig. 5(b), whereonly about 13% of the magnitudes of the coefficients are greaterthan 4, and 26% of them are greater than 2.

    According to the above analysis, we can scan significant-like neighborhood before other regions are scanned. Whenalgorithm stops at a certain point, it can encode more significant

    coefficients, and thus it can improve the quality of decodedimage, particularly on the edge. In the binary tree, we candesign an adaptive scanning order as follow: going from thebottom to the top of the tree, if one node is insignificant and itsbrother is significant with respect to the larger threshold, thenthe subtree whose root is just the node is traversed first. Forexample, suppose there is a tree as Fig. 6. The gray nodes areprevious significant nodes, and the scanning order is labeledwith the number in the white nodes. For example, at the bottomlevel, the nodes labeled with 1 and 2 are encoded first,because their brothers are significant already, while the nodeslabeled with 4, 5, 7, and 8 should not be encoded atthis time. At the next upper level, the subtree whose root is the

    node labeled with 3 is encoded by the function TravDep,so the nodes labeled with 4 and 5 may be encoded by thefunction TravDep if the node labeled with 3 is significant.

    Combining the binary tree coding algorithm, the detailedsteps of the adaptive scanning order for the binary tree codingat each bit plane can be described as a function TravLev asfollows. This method is called BTCA. Before traversing the treeby levels with the function, we should traverse the tree by depthwith T0, namely code = TravDep(, 1, T0), so that there areprevious significant nodes with smaller thresholds {Tk|k > 0}.

    Function code = TravLev(Tk)

    From bottom to the top of the tree, we find the brother ofprevious significant nodes to traverse. namely, let d = D,repeat the following steps while d > 1.

    For t =d1

    i=0 2i + 1 to

    di=0 2

    i

    Let ct = {}. If (t) Tk1, If t mod 2 = 0 and (t + 1) < Tk1, then ct =

    TravDep(, t + 1, Tk); Else ift mod 2 = 1 and (t 1) < Tk1, then

    ct = TravDep(, t 1, Tk). code = {code, ct}. d = d 1.

    Here, we give a toy example. Suppose there is a code block

    as Fig. 7(a). We can construct the binary tree (t) for 1 t 1. For j = 1 to 7

    Ifj 4, then d = D 2. Ifd 0, continue. For t =

    d1I=0 2

    i + 1 tod

    i=0 2i

    Let ct = {}. If j(t) Tk1, Ift mod 2 = 0 and j(t + 1) < Tk1, then ct =

    TravDep(j , t + 1, Tk);

    Else ift mod 2 = 1 and j(t 1) < Tk1, thenct = TravDep(j , t 1, Tk). code = {code, ct}.

    D = D 1.

    The function TravLevs is similar with the functionTravLev. The difference is that the former traverses multiplytrees by levels at the same time, because the coding efficiencyof BTCA for different code blocks is very similar at the samebit plane and the same level of the binary tree. The functionTravLevs is easy to extend to higher levels of wavelet trans-form, in which there are more subbands.

    Because the function TravLevs is an embedded coding pro-cess, it can be stop at any CR. When each specified CR (quality

    layer) is reached, we can record the length of the bits for eachcode block into the head of the coding stream. For example,suppose there are Q quality layers and C code blocks. Let lqcdenote the length of the bits for cth code block and the qth qual-ity layer. Then, the Q C numbers {lqc |c = 1, 2, . . . , C , q =1, 2, . . . , Q} need to be recoded. Consequently, in the finalstream, the bit stream for each quality and each code blocksis preceded by a header indicating its length. Then, when wetransmit or decode the coding stream, we can select a certainquality layer, some resolution or position bit stream withoutneeding to decode the whole encoded stream, so as to get thescalability of quality, resolution, and position.

    3) Rate Allocation for Scan Elements: When multiple scanelements are desired, the method of allocating bit rates for eachscan element is required. The simplest method is to encodeeach scan element at a fixed rate, which is proportional to thenumber of the rows in it. However, this simple method has somedisadvantages. When the image content varies considerablybetween different areas, the reconstructed image of the simple

    method may vary in quality from top to bottom. If one wantsto optimize overall image quality subject to an overall rateconstraint, a strategy to optimize the allocation of compressedbytes to different scan elements could be employed. Such animplementation, however, might have high complexity [16].In fact, it has almost no difference (only about 0.03 dB inthe experiment in [14]) between the overall PSNR of theimages reconstructed from the fixed-rate method and that fromoverall rate-distortion optimization method when the size ofscan elements is not very small, and there is a fixed-rate optionin CCSDS-IDC recommendation[16]. Hence, we propose amodified fixed-rate method for rate allocation as follows.

    First, we encode each scan element in the fixed-rate method

    with the function TravLevs. When qth specified CR is reachedin a scan element, the length of the bits for the cth code blockin the sth scan element is recoded by lqsc . At this time, the firstseveral code blocks in a scan element are encoded by the func-tion TravLevs with the same level D of the binary trees, andthe others are encoded with level D + 1. We continue encodingthese code blocks in the scan element until the while loopwith the level D is finished, hence a better quality is attained,and the length of the bits for cth code block, namely, lqesc , isrecorded. We can also record the length of bits for the firstseveral code blocks as lqbsc when coding at the beginning of thewhile loop with the level D, which represents a worse quality.The corresponding distortion with the level D at the bit plane

    Tk is marked by Dqsc = Tk Dmax + D.Finally, we can get the candidate truncation points

    {lqsc , lqbsc

    , lqesc} and corresponding distortion Dqsc

    . At qth CR,the lqbsc bits for each code blocks of all scan elements are selectedfirst. Then, we can select more bits, namely, instead lqbsc ofl

    qsc

    orlqesc , for each code block according to the D

    qsc

    descending order,until the qth CR is reached. Be pointed out that there is a smallnumber of truncation points to select, thus it only needs a littlecost, but it can balance the quality difference between differentscan elements.

    For example, Fig. 9 shows the candidate truncation pointsfor the code blocks. It lists three code blocks, namely, the (c 1)th, cth, (c + 1)th code block, in qth scan element. The gray

    nodes are the previous significant nodes, and the nodes markedwith numbers 1, 2, . . . , 12 are the nodes traversed by levels.

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    8/14

    3744 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    Fig. 9. Candidate truncation points for the code blocks. There list three code blocks, namely, the (c 1)th, cth, (c + 1)th code block, in sth scan element. Thegray nodes are the previous significant nodes, and the nodes marked with numbers 1, 2, . . . , 12 are the nodes traversed by levels. Their scanning order is labeledwith the numbers. Suppose the algorithm reaches qth compression ratio when coding the node marked with 9, then the truncation points for the three codeblocks are attained as the figure.

    Their scanning order is labeled with the numbers. Suppose thealgorithm reaches qth CR when coding the node marked with9, then the truncation points for the three code blocks areattained as the figure.

    III. COMPLEXITY ANALYSIS

    A. Time Complexity

    In this subsection, we will analyze the time complexity ofour method and compare it with those of EZBC and SPIHT. Infact, zerotree encoders, such as SPIHT, usually trade memoryfor computation by precomputing and storing the maximummagnitudes of all possible descendant and grand-descendanstset [6], [7], [28], and they also need to compare coefficientseach other and the comparing times is similar with that ofconstructing the binary tree in our method. Details of thecalculation are given as follows.

    Suppose an entire wavelet image is regarded as a code blockwith size of2N 2N. There are 2N 2N = 22N nodes at thebottom of the binary tree. When an upper level node of thetree is constructed, it needs a comparison with two children.Let DB = log2(2

    2N) + 1 = 2N + 1 stand for depth of the tree.Hence, all the comparison times for constructing the tree is

    CB = 22N

    1

    2+

    1

    22+ +

    1

    2DB1

    = 22N

    1 1

    22N

    = 22N 1.

    Similarly, when a node of the quadtree of EZBC is con-structed, it needs three comparisons to find the max valueof four children. Let DE = log4(2

    2N) + 1 = N + 1 stand fordepth of the quadtree. All the comparison times for constructingthe quadtree is

    CE = 3 22N

    1

    4+

    1

    42+ +

    1

    4DE1

    = 3 22N

    1

    4

    1 (1/4)N

    1 1/4

    = 22N

    1.We can see CB = CE.

    To find the maximum magnitude of all possible descendant inSPIHT, we need to construct a quadtree in each subband first.There are 22N/4 coefficients in a highest resolution subband,and the comparison times for construct the quadtree in thesubband are 22N/4 1. Let DS = log4(2

    2N) + 1 = N + 1

    stand for the wavelet decomposition level, so all the comparisontimes are

    CS=3

    22N

    4 1

    +

    22N

    42 1

    + +

    22N

    4Ds1 1

    =22N 1 3N.

    In addition, it needs to compare the corresponding nodesin the quadtrees of different subbands at different resolution.Hence, all the comparison times finding the maximum magni-tude of all possible descendant are more than CS. Thus, CB isnearly equal to CS. In fact, CS is also the comparison times forfinding the max magnitude of all coefficients, which is required

    for all wavelet image compression algorithms.Including all the wavelet coefficients, the number of the

    nodes in the binary tree is NB = 22N + 22N 1, and those

    in EZBC and SPIHT are NE = 22N + (22N 1/3), NS =

    22N + (22N/4) + (22N/42), respectively. NB is more thanNE and NS, and it needs more time to traverse all the nodes,but, in fact, it does not need to traverse all the nodes in codingprocess usually. When we get a bit for significance test in BTC,EZBC, or SPIHT, it needs to compare a value with the thresholdone time, and the other computation is proportional to it. Hence,the cost time of BTC, EZBC, and SPIHT is similar at the samebit rates when the max magnitudes of all possible set are stored.The method coding more significant coefficients can get better

    performance.The additional computation of the BTCA is to find the adap-

    tive scanning order. BCTA performs the binary tree coding levelby level from the bottom to the top and does not increase theextra bitstreams compared with BTC. It increases the judgmentfor the statement Ifj(t) Tk1 for each node in the binarytree, but the statement is very simple and does not require anyother operation such as sort operation. Hence, there is onlya little cost time for the adaptive scanning order. The scan-based process needs not any extra computation. On the contrary,because this process reduces the memory requirement greatly,it can save the time for exchanging cache.

    The step of entropy coding usually accounts for most of the

    coding/decoding time. For an example in [7], when we usearithmetic coding in SPIHT in C language implementation,

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    9/14

    HUANG AND DAI: NEW ON-BOARD IMAGE CODEC BASED ON BINARY TREE 3745

    the CPU time for encoding an image at 0.5 bpp is 0.33 s,while it is 0.14 s without arithmetic coding. The rate-distortionoptimization is very expensive, too, because there could bemany unnecessary coding units and the distortion rates of alltruncation points must be stored and sorted, which is a majorcomponent that dictates the performance [25]. Hence, the meth-ods using complex context-based arithmetic coding and rate-distortion optimization, such as EBCOT [9], JPEG2000 [11],HIC [21], would be too complex to become a recommendedstandard for space missions.

    If EBCOT does not use arithmetic coding, its performancewill decrease a lot. Except for the refinement code and signcode, there are some original binary codes of EBCOT rep-resenting the significance of four coefficients, and there aremost codes representing the significance of single coefficient.Only a few codes represent the significance of the coefficientsof a subblock with size of 16 16. Thus, there are many0 in the original binary codes of EBCOT, and they need touse arithmetic coding to raise the performance. However, the

    original binary codes of SPIHT can represent the significance ofall the coefficients in a zero tree, and the original binary codesof the binary tree coding can represent the significance of allthe coefficients in a subtree, so the performance of SPIHT andthe proposed method are better than EBCOT without arithmeticcoding. The PSNR of EBCOT will decrease more than 1 dBwithout arithmetic coding according to our experiment.

    B. Memory Requirement

    When a traditional row column filtering is implemented forwavelet transform, it needs memory with size as the whole im-age. For example, if there is an image of size 20482048 to be

    encoded, and each wavelet coefficients needs 4 bytes to store,then the traditional method needs memory of 204820484=16 M bytes, while it only needs (Bf+Bs)20484 =0.3359 M for three levels of line-based wavelet transform, whereBf= 27 and Bs= 16. When a scan element contains coefficients.of 32 rows for the proposed method and scan-based JPEG2000,or CCSDS-IDC contains 2048 blocks in a segment, then itneeds memory of3220484 = 0.25 M, including buffer sizefor synchronization Bs, which is 1620484 = 0.125 M. Inthis case, the total buffer size for storing the coefficients of scan-based method is 0.3359+0.250.125 0.46 M bytes.

    In addition, it needs some extra memory, such as the mem-ory for recording significant/insignificant coefficients and sets,

    which is related to the CR. For example, using SPIHT to encodean image of size 2048 2048 at 1 bpp, there are about 650 000significant coefficients, 540 000 insignificant coefficients, and300 000 insignificant sets. If we use linked list to store them,then each one needs 8 bytes. Hence, the memory for recodingsignificant/insignificant coefficients and sets is about 11 Mbytes. The total memory for SPIHT is about 16 + 11 = 27 M.In the proposed method, the number of the nodes in the binarytrees is twice as the number of the coefficients in the scanelement, but nodes of the bottom level of the tree are equalto the coefficients and need not be stored. Thus, the additionalmemory requirement is equal to the size of the scan element,namely, 0.25 M for the binary tree in the above case, which

    is not related to the CR. Hence, the total memory requirementfor the proposed method is 0.46 + 0.25 = 0.71 M, except

    TABLE IIMEMORY REQUIREMENT (M bytes) OF SPIHT, SCA N-BASED

    CCSDS-IDC, SCA N-BASED JPEG2000, AND THEPROPOSED METHODS AT 1 bpp

    some minor variables. Table II shows comparison of memoryrequirement of traditional methods and the proposed methods,scan-based CCSDS-IDC, and scan-based JPEG2000 at 1 bpp.They are evaluated with two images with two kinds of sizes,i.e., 2048 2048 and 1024 1024. From Table II, we canfind that the memory requirement of the scan-based methods,namely, BTCA-S3, BTCA-S4, scan-based CCSDS, and scan-based JPEG2000, is very similar and is much less than that offrame-based method like SPIHT. The memory requirement ofthe proposed methods is only a little more than that of scan-

    based JPEG2000.

    IV. EXPERIMENTAL RESULTS

    To evaluate the performance of the proposed method for re-mote sensing images, experiments are conducted on the CCSDSreference test image set [29]. The image set includes a variety ofspace imaging instrument data such as solar, stellar, planetary,earth observations, optical, radar, and meteorological, as shownin Fig. 10. We will compare different methods with PSNR(peak-signal-to-noise ratio, dB) at different CR (bpp), whichare expressed by the following relations [31]:

    PSNR(dB) = 10log10 (2b

    1)2

    M SE

    M SE =

    i,j(xij xij)

    2

    Row Col

    CR(bpp) =number of coded bits

    Row Col

    where xij and xij denote the original and reconstructed pixel,respectively, and b denotes the bit depth of the image which isof size Row Col.

    A. Comparison of the Proposed Methods and OtherAlgorithms Without Entropy Coding

    To compare our methods with other algorithms without en-tropy coding, all the 8 bit-depth images with size of 1024 1024 and size of 512 512 from CCSDS reference test imageset are used. In addition, these images are all decomposed byfive levels of 9/7-tap bi-orthogonal wavelet filters [30] witha symmetric extension at the image boundary. The PSNRsat different CR of the proposed method were compared tothose algorithms without arithmetic coding, such as SPIHT [7],SPECK [8], and EZBC [19]. We will also give the results ofBTC and BTCA to show the gradually improved process of ourproposed method.

    Table III lists the experiment results of the proposed methodand other algorithms without arithmetic coding. The results are

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    10/14

    3746 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    Fig. 10. Part of the remote sensing images used in simulation with different sizes and bit depth. (a) Coastal-b3 (8 bit depth, 1024 1024). (b) Europa3(8 bit depth, 600 557)). (c) Marstest (8 bit depth, 512 512). (d) Lunar (8 bit depth, 512 512). (e) Spot-la-panchr (8 bit depth, 1000 1000). (f) Ice-2kb1(10 bit depth, 2048 2048). (g) Pleiades-portdebouc-b3 (12 bit depth, 320 1376).

    evaluated at five bit rates, namely: 1, 0.5, 0.25, 0.125, and0.0625 bpp. From the results, we can see that the averagePSNR of BTC is better than SPIHT, SPECK, and EZBC atfive bit rates with all the listed images. It increases about anaverage of 0.97 dB than SPIHT, 0.65 dB than SPECK, 0.13 dBthan EZBC, respectively, which proves that the proposed bi-nary tree provides a more efficient image representation thanSPIHT, SPECK, and EZBC. The performance of SPIHT ispoor at lower bit rates because there is too much insignificantcoefficients in the initial list when using five levels of wavelet

    transform.We can also find that the PSNR of BTCA is better than that

    of BTC, up to 0.49 dB, with an average of 0.14 dB. It shows thatthe adaptive scanning order gets better performance. In fact, thePSNR of BTCA is almost the best of all methods with all listedtest images at different bit rates.

    When we use BTCA in scan-based mode, each subband ofa scan element only contains a few rows. If the coefficientsin a large square of original wavelet domain are insignificant,then it cannot be represented by BTCA in scan-based mode.Moreover, there is not rate-distortion optimization in BTCA-S.Hence, the performance of BTCA-S is worse than BTCA. How-ever, BTCA-S needs much less memory than BTCA, and the

    former has quality, position, and resolution scalability, whilethe latter only has quality scalability.

    B. Comparison of the Proposed Method, Scan-Based

    CCSDS-IDC, and Scan-Based JPEG2000

    To compare our method with scan-based CCSDS-IDC andscan-based JPEG2000, all the images from CCSDS referencetest image set are used. These images include all the imageswith 8 bit depth listed in Table IV, and all the images with10 bit depth such as ice-2kb1, ice-2kb4,india-2kb1,india-2kb4, ocean-2kb1, ocean-2kb4 with size of2048 2048, and landesV-G7-10b with size of 2381 454,marseille-G6-10b with size of 1856 528. There are also

    eight images with 10 bit depth, six images with 12 bit depth,and two images with 16 bit depth [29]. In addition, these imagesare all decomposed by float 9/7-tap bi-orthogonal wavelet filtersfor lossy compression. When lossless compression is desired,the integer 5/3 DWT is used for the proposed method andJPEG2000, while integer 9/7 DWT is used for CCSDS-IDC.BTCA-S4 uses DWT of four levels, and the other algorithmsuse DWT of three levels. The results of scan-based CCSDS-IDC and scan-based JPEG2000 are attained from annex C ofCCSDS-IDC Green Book [17].

    When the coefficients are almost significant, the codingefficiency of BTC is not good. However, the coefficientsin the lowest frequency subband are just almost significant,

    and there are a lot of such coefficients using only three orfour levels of wavelet transform. Thus, the proposed method

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    11/14

    HUANG AND DAI: NEW ON-BOARD IMAGE CODEC BASED ON BINARY TREE 3747

    TABLE IIIPSNR (dB) FOR THE PROPOSED METHOD AND OTHER ALGORITHMS

    WITHOUT ENTROPY CODING WIT H FIV E LEVELSOF WAVELET TRANSFORM

    directly encodes the coefficients in the lowest frequency sub-

    band at this time, namely, when the coefficient is insignificant,then 0 is output, otherwise 1 and its sign are output.

    TABLE IVPSNR (dB) FO R SCA N-BASED CCSDS-IDC, SCA N-BASED

    JPEG2000, AND THE PROPOSED METHODUSING 8-BIT-D EPTH IMAGES

    Because all the coefficients in the lowest frequency subband

    are usually positive, we can also omit the sign coding atthis time.

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    12/14

    3748 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    TABLE VAVERAGE PSNR (dB) FO R SCA N-BASED CCSDS-IDC, SCA N-BASED

    JPEG2000, AND THE PROPOSED METHOD USINGIMAGES WIT H DIFFERENT BIT DEPTH

    TABLE VIPERFORMANCE (B IT S/P IXEL) OF LOSSLESS COMPRESSION FOR

    SCA N-BASED CCSDS-IDC, SCA N-BASED JPEG2000,AND THE PROPOSED METHOD

    Table IV lists the experiment results of scan-based CCSDS-IDC, scan-based JPEG2000, and the proposed method using allthe images with 8 bit depth. From the results, we can see thatthe average PSNR of BTCA-S3 is better than that of CCSDS-IDC at 1 bpp and 0.5 bpp. Because BTCA-S directly encodesthe lowest resolution subband, its average PSNR is less thanCCSDS-IDC at lower bit rates with three levels of wavelettransform. When using four levels of wavelet transform, theperformance of BTCA-S is better than CCSDS-IDC at threebit rates and is better than JPEG2000 in scan-based mode at0.5 bpp and 0.25 bpp. At 1 bpp, the PSNR of JPEG2000 in

    scan-based mode increases only an average of 0.04 dB thanthat of BTCA-S4 using all 8 bit-depth images and is less thanBTCA-S4 using the images with size of 1024 1024. Table Vlists the comparison of average PSNR using images with 10,12, and 16 bit depth, and similar result is attained.

    When lossless compression is desired, every bit plane needsto be encoded. However, the performance of the proposedmethod are not good at the last bit plane, so the proposedmethod directly encodes the insignificant coefficients at thistime (i.e., when Tk = 0). Table VI lists the performance(bits/pixel) of lossless compression for scan-based CCSDS-IDC, scan-based JPEG2000, and the proposed method. Fromthe results, we can see that the average bpp of BTCA-

    S3 is similar to CCSDS-IDC, and only a little worse thanJPEG2000.

    C. Comparison of Visual Effects

    Fig. 11 shows a visual comparison between BTCA-S andscan-based CCSDS with the coastal-b3 image at 0.25 bpp,and Fig. 12 is the comparison with lunar image at 0.5 bpp.The recovered portion of the image has a size of 200 100 pixels, while the original image size is 1024 1024 for

    coastal-b3, and 512 512 for lunar, respectively. Becausethe magnitudes of the wavelet coefficients around the edgesare often significant, and BCTA can encode these coefficientsbefore other coefficients are scanned. When algorithm stops ata specified bit rates, it can encode more significant coefficientson the edge, and thus it can improve the quality of decodedimage. We can see that the image reconstructed by BTCA-S isclearer than CCSDS in the rectangles.

    D. Comparison of Encoding Time

    Table VII shows comparison of the CPU encoding times(s)of CCSDS-IDC, SPIHT without arithmetic coding and the

    proposed method in C language implementation. The resultsare evaluated with three images of different sizes at three bitrates. The program of SPIHT without arithmetic coding comesfrom its official website [32], and the program of CCSDS canbe download from [33], which is introduced in annex B ofCCSDS-IDC Green Book [17]. From the result, we can seethat the proposed method is only a little slower than SPIHTwithout arithmetic coding, but is faster than CCSDS withentropy coding.

    V. CONCLUSION AND DISCUSSION

    In this paper, we proposed an on-board remote sensing image

    codec based on a binary tree with adaptive scanning order inscan-based mode. We perform the line-based wavelet transformon the available data, and subsets of wavelet coefficients are col-lected into several scan elements. Then, we construct a binarytree for each code block of scan element. In each code blockand each bit plane, we traverse each level of the binary tree withan adaptive scanning order. Experimental results show that theproposed method can significantly improve PSNR comparedwith SPIHT without arithmetic coding and scan-based CCSDS-IDC and is similar to scan-based JPEG2000. The speed ofour method is very fast. Being less complex, our method isfully implementable either in hardware or software. Hence, theproposed method is very fit for on-board remote sensing image

    compression.Because multicomponent images are very common in re-

    mote sensing applications, to attain component scalability,CCSDS-IDC encodes each spectral band separately, while ourproposal is able to encode all the spectral bands together asfollows. We can create scan elements for each spectral bandas Section II-C1 and encode them with BCTA as Section II-C2.Then, we can allocate the bit rates of all scan elements fromall spectral bands with the method as Section II-C3. At last,random access is guaranteed to each band for the proposedmethod.

    In order to improve the coding performance, a commonstrategy for hyperspectral images can decorrelate first the image

    in the spectral domain [3], [4], [10], [14], [34][36], suchas DWT and principal component analysis. However, it is a

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    13/14

    HUANG AND DAI: NEW ON-BOARD IMAGE CODEC BASED ON BINARY TREE 3749

    Fig. 11. Comparison of BTCA-S and CCSDS with the coastal-b3 image at 0.25 bpp. The PSNRs of the reconstructed images are 39.68 dB and 39.13 dB,

    respectively. There are richer lines in the top rectangle of the image reconstructed by BTCA-S, and the lines in the bottom rectangle with BTCA-S are moreclearer. Because BCTA can preferentially encode the neighbor of the previous significant coefficients where the edges locate, the quality of decoded image on theedges of is more clear for BTCA-S. (a) Original image. (b) Image reconstructed by BTCA-S. (c) Image reconstructed by CCSDS.

    Fig. 12. Comparison of BTCA-S and CCSDS with the lunar image at 0.5 bpp. The PSNRs of the reconstructed images are 30.92 dB and 31.52 dB, respectively.The boundary of the objects in the rectangles of the image reconstructed by BTCA-S is clearer and more continuous. (a) Original image. (b) Reconstructed imagewith BTCA-S. (c) Reconstructed image with CCSDS.

    TABLE VIICPU ENCODING TIMES(S) OF CCSDS-IDC, SPIHT WITHOUT

    ARITHMETIC CODING AND THE PROPOSED METHOD

    problem for the proposed method to allocate bit rates across

    the transformed bands with low-complexity, low-memory, andefficient way, which is our future work.

    ACKNOWLEDGMENT

    The authors would like to thank the associate editor andthe three anonymous reviewers for thoughtful comments andinsightful suggestions which have brought improvements to thismanuscript.

    REFERENCES

    [1] D. Chaudhuri and A. Samal, An automatic bridge detection technique formultispectral images, IEEE Trans. Geosci. Remote Sens., vol. 46, no. 9,pp. 27202727, Sep. 2008.

    [2] B. Sirmacek and C. Unsalan, Urban-area and building detection usingSIFT keypoints and graph theory, IEEE Trans. Geosci. Remote Sens.,vol. 47, no. 4, pp. 11561167, Apr. 2009.

    [3] Q. Du and J. E. Fowler, Hyperspectral image compression

    using JPEG2000 and principal component analysis, IEEEGeosci. Remote Sens. Lett., vol. 4, no. 2, pp. 201205,Apr. 2007.

  • 7/28/2019 A New on-Board Image Codec Based on Binary Tree With Adaptive Scanning Order in Scan-Based Mode

    14/14

    3750 IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 50, NO. 10, OCTOBER 2012

    [4] B. Penna, T. Tillo, E. Magli, and G. Olmo, Transform coding techniquesfor lossy hyperspectral data compression, IEEE Trans. Geosci. RemoteSens., vol. 45, no. 5, pp. 14081421, May 2007.

    [5] P. Hou, M. Petrou, C. I. Underwood, and A. Hojjatoleslami, ImprovingJPEG performance in conjunction with cloud editing for remote sensingapplications, IEEE Trans. Geosci. Remote Sens., vol. 38, no. 1, pp. 515524, Jan. 2000.

    [6] J. M. Shapiro, Embedded image coding using zerotrees of wavelet co-

    efficients, IEEE Trans. Signal Process., vol. 41, no. 12, pp. 34453462,Dec. 1993.[7] A. Said and W. A. Pearlman, A new, fast, and efficient image codec based

    on set partitioning in hierarchical trees, IEEE Trans. Circuits Syst. VideoTechnol., vol. 6, no. 3, pp. 243250, Jun. 1996.

    [8] W. A. Pearlman, A. Islam, N. Nagaraj, and A. Said, Efficient low-complexity image coding with a set-partitioning embedded block coder,

    IEEE Trans. Circuits Syst. Video Technol., vol. 14, no. 11, pp. 12191235,Nov. 2004.

    [9] D. Taubman, High performance scalable image compression withEBCOT, IEEE Trans. Image Process., vol. 9, no. 7, pp. 11581170,Jul. 2000.

    [10] X. Tang and W. A. Pearlman, Three-dimensional wavelet-based com-pression of hyperspectral images, in Hyperspectral Data Compression.New York: Springer-Verlag, 2006, pp. 273308.

    [11] JPEG2000 Image Coding System, ISO/IEC Std. 15 444-1, 2000.[12] G. Yu, T. Vladimirova, and M. N. Sweeting, Image compression systems

    on board satellites, Acta Astronaut., vol. 64, no. 9/10, pp. 9881005,May/Jun. 2009.

    [13] B. Li, R. Yang, and H. X. Jiang, Remote-sensing image compressionusing two-dimensional oriented wavelet transform, IEEE Trans. Geosci.

    Remote Sens., vol. 49, no. 1, pp. 236250, Jan. 2011.[14] P. Kulkarni, A. Bilgin, M. W. Marcellin, J. C. Dagher, J. H. Kasner,

    T. J. Flohr, and J. C. Rountree, Compression of earth science data withJPEG2000, in Hyperspectral Data Compression. New York: Springer-Verlag, 2006, pp. 347378.

    [15] Consult. Comm. Space Data Syst. [Online]. Available: http://www.ccsds.org

    [16] CCSDS122.0-B-1, Image Data Compression, Nov. 2005. [Online]. Avail-able: http://public.ccsds.org/publications/archive/122x0b1c3.pdf

    [17] CCSDS120.1-G-1, Image Data Compression, Jun. 2007. [Online]. Avail-able: http://public.ccsds.org/publications/archive/120x1g1e1.pdf

    [18] F. Garca-Vlchez and J. Serra-Sagrist, Extending the CCSDS recom-

    mendation for image data compression for remote sensing scenarios,IEEE Trans. Geosci. Remote Sens., vol. 47, no. 10, pp. 34313445,Oct. 2009.

    [19] S. T. Hsiang and J. W. Woods, Embedded image coding using zeroblockof subband/wavelet coefficients and context modeling, in Proc. DataCompress. Conf., Washington, DC, 2001, pp. 8392.

    [20] H. F. Ates and M. T. Orchard, Spherical coding algorithm for wavelet im-age compression, IEEE Trans. Image Process., vol. 18, no. 5, pp. 10151024, May 2009.

    [21] H. F. Ates and E. Tamer, Hierarchical quantization indexing for waveletand wavelet packet image coding, Signal Process., Image Commun.,vol. 25, no. 2, pp. 111120, Feb. 2010.

    [22] A. Abrardo, M. Barni, E. Magli, and F. Nencini, Error-resilient and low-complexity on-board lossless compression of hyperspectral images bymeans of distributed source coding, IEEE Trans. Geosci. Remote Sens.,vol. 48, no. 4, pp. 18921904, Apr. 2010.

    [23] J. Oliver and M. P. Malumbres, Low-complexity multiresolution image

    compression using wavelet lower trees, IEEE Trans. Circuits Syst. VideoTechnol., vol. 16, no. 11, pp. 14371444, Nov. 2006.

    [24] G. Melnikov and A. K. Katsaggelos, A jointly optimal fractal/DCT com-pression scheme, IEEE Trans. Multimedia, vol. 4, no. 4, pp. 413422,Dec. 2002.

    [25] T. Kim, H. M. Kim, P. S. Tsai, and T. Acharya, Memory efficient pro-gressive rate-distortion algorithm for JPEG 2000, IEEE Trans. CircuitsSyst. Video Technol., vol. 15, no. 1, pp. 181187, Jan. 2005.

    [26] W. Yu, F. Sun, and J. E. Fritts, Efficient rate control for JPEG-2000,IEEE Trans. Circuits Syst. Video Technol., vol. 16, no. 5, pp. 577589,Jan. 2006.

    [27] C. Chrysafis and A. Ortega, Line-based, reduced memory, wavelet imagecompression, IEEE Trans. Image Process., vol. 9, no. 3, pp. 378389,Mar. 2000.

    [28] F. W. Wheeler and W. A. Pearlman, SPIHT image compression withoutlists, in Proc. ICASSP, Istanbul, Turkey, 2000, pp. 20472050.

    [29] Consult. Comm. Space Data Syst., CCSDS Image Test. [Online]. Avail-able: http://cwe.ccsds.org/sls/docs/sls-dc/[30] M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies, Image coding

    using wavelet transform, IEEE Trans. Image Process., vol. 1, no. 2,pp. 205220, Apr. 1992.

    [31] D. J. Granrath, The role of human visual models in image processing,Proc. IEEE, vol. 69, no. 5, pp. 552561, May 1981.

    [32] Center Image Process. Res. [Online]. Available: http://ipl.rpi.edu/[33] Univ. Nebraska-Lincoln. [Online]. Available: http://hyperspectral.

    unl.edu/[34] J. Fowler and J. T. Rucker, 3-D wavelet-based compression of hyper-

    spectral imager, in Hyperspectral Data Exploitation: Theory and Appli-cations. Hoboken, NJ: Wiley, 2007, pp. 379407.

    [35] E. Magli, Multiband lossless compression of hyperspectral images,IEEE Trans. Geosci. Remote Sens., vol. 47, no. 4, pp. 11681178,Apr. 2009.

    [36] H. Wang, S. D. Babacan, and K. Sayood, Lossless hyperspectral-image

    compression using context-based conditional average, IEEE Trans.Geosci. Remote Sens., vol. 45, no. 12, pp. 41874193, Dec. 2007.

    Ke-Kun Huang received the B.S. and M.S. degreesfrom Sun Yat-Sen University, Guangzhou, China, in2002, and 2005, respectively.

    He is currently with the Department of Mathemat-ics, JiaYing University, JiaYing University, Meizhou,China. His research interests include image process-ing and face recognition.

    Dao-Qing Dai (M09) received the B.Sc. degreefrom Hunan Normal University, Changsha, China, in1983, the M.Sc. degree from Sun Yat-Sen University,Guangzhou, China, in 1986, and the Ph.D. degreefrom Wuhan University, Wuhan, China, in 1990, allin mathematics.

    From 1998 to 1999, he was an Alexander vonHumboldt Research Fellow with Free University,Berlin, Germany. He is currently a Professor andAssociate Dean of the Faculty of Mathematics andComputing, Sun Yat-Sen University, Guangzhou. He

    is an author or coauthor of over 100 refereed technical papers. His currentresearch interests include image processing, wavelet analysis, face recognition,and bioinformatics.

    Dr. Dai was the recipient of the outstanding research achievements inmathematics award from the International Society for Analysis, Applications,and Computation, Fukuoka, Japan, in 1999. He served as a Program Cochairof Sinobiometrics in 2004 and a program committee member for severalinternational conferences.