IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 16, NO. 2, FEBRUARY 2007 577 Correspondence LDPC-Based Iterative Joint Source-Channel Decoding for JPEG2000 Lingling Pu, Student Member, IEEE, Zhenyu Wu, Member, IEEE, Ali Bilgin, Member, IEEE, Michael W. Marcellin, Fellow, IEEE, and Bane Vasic, Member, IEEE Abstract—A framework is proposed for iterative joint source-channel de- coding of JPEG2000 codestreams. At the encoder, JPEG2000 is used to per- form source coding with certain error-resilience (ER) modes, and LDPC codes are used to perform channel coding. During decoding, the source decoder uses the ER modes to identify corrupt sections of the codestream and provides this information to the channel decoder. Decoding is carried out jointly in an iterative fashion. Experimental results indicate that the proposed method requires fewer iterations and improves overall system performance. Index Terms—Error resilience (ER), joint source/channel coding, JPEG2000, LDPC. I. INTRODUCTION Arithmetic codes are gaining attention in source coding schemes, be- cause of their implementation in practical systems such as JPEG2000, which is the latest international image compression standard. Synchro- nization issues cause arithmetic codes to be sensitive to channel noise. It is known that combining channel and source coding can improve overall error control performance [1]. In [2], a rate-compatible punc- tured convolutional code (RCPC) is concatenated with an arithmetic coder. A forbidden symbol never encoded by the arithmetic coder is assigned a nonzero probability nonetheless. Whenever the forbidden symbol is decoded, error occurrence is detected. In [3], a signal space detector used along with FEC codes is proposed to enhance the de- coding process for the DVD channel. In [4], Turbo codes of rate 0.5 are applied to compressed images/video coded by different source coding schemes, such as vector quantization, JPEG and MPEG. Redundant source information, or some unique structure in these source codes, are used by the channel decoder. In [5], the authors proposed error-resilient soft decoding of arithmetic codes. They also describe a joint scheme combining arithmetic codes and convolutional channel codes, but state that iterations bring no significant gain. There is also intensive work in designing unequal error protection schemes for embedded sources. In [6], the authors propose an efficient system to protect JEPG2000 coded images using Turbo codes. The Viterbi algorithm was used to find an optimal rate allocation between source and channel codes, minimizing Manuscript received September 8, 2005; revised July 11, 2006. This work was supported in part by the National Science Foundation under Grant CCR- 9979310 and Grant ANI-0325979. Portions of this work were presented at the Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, November 2003. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Aria Nosratinia. L. Pu, A. Bilgin, M. W. Marcellin, and B. Vasic are with the Department of Electrical and Computer Engineering, The University of Arizona, Tucson, AZ 85721 USA. Z. Wu was with the Department of Electrical and Computer Engineering, The University of Arizona, Tucson, AZ 85721 USA. He is now with Thomson, Inc., Corporate Research, Princeton, NJ 08540 USA. Digital Object Identifier 10.1109/TIP.2006.888329 the distortion in reconstructed images. In [7], the authors consider the design of punctured irregular repeat-accumulate codes, and their appli- cation to a UEP scheme for scalable image and video coders. In [8], the authors investigate the design of rate-compatible LDPC codes, and use the codes to protect JPEG2000 coded images. LDPC codes are used in [9] to protect uncompressed still images. In [10], LDPC codes and Reed–Solomon codes are used to protect baseline JPEG images. In this correspondence, we propose a joint source-channel decoding scheme based on JPEG2000 [11] and LDPC channel codes. JPEG2000 is used to perform source coding with certain error-resilience (ER) modes, and LDPC codes are used to perform channel coding. During decoding, the source decoder uses the ER modes to identify corrupt sections of the codestream and provides this information to the channel decoder. The decoding is carried out jointly in an iterative fashion. The resulting scheme can be thought of as a concatenated error con- trol scheme. The source coder is serving as an outer code, providing error detection to an inner LDPC error correction code, similar to the schemes in [2] and [4]. In JPEG2000, the wavelet transform is performed on an image to obtain subbands, which are partitioned into codeblocks. Binary arithmetic bitplane coding is performed on the quantized coefficients of each codeblock. Each bitplane is encoded in three coding passes. JPEG2000 provides several ER tools, including the arithmetic coder switches RESTART and ERTERM. RESTART causes the arithmetic coder to be restarted at the beginning of each coding pass. In this case, each coding pass has a separate arithmetic codeword segment. When the ERTERM switch is used, the source decoder is able to reliably detect when an arithmetic codeword segment is corrupted. If the JPEG2000 codestream is generated using these two mode switches, the decoder can identify when an error has occurred in a given coding pass. When an error occurs in a coding pass, common practice is to discard the current and all future coding passes of the current codeblock. The decoder then starts decoding the first coding pass in the next codeblock. In this way, bit errors do not propagate from one codeblock to the next. For a more detailed description of the standard, readers are referred to [11]. II. ITERATIVE JOINT SOURCE-CHANNEL DECODING OF JPEG2000 CODESTREAMS LDPC codes were invented by Gallager in 1960 [12] and have good block-error correcting performance. These codes did not gain much at- tention until the mid-1990s. The iterative decoding algorithm provided in [12] was rediscovered as the belief propagation or message passing algorithm in [13] and [14]. In our work, information on which coding passes in each codeblock are decodable is fed back to the LDPC decoder. To see how this feed- back source information can help the channel decoder, examination of the LDPC decoding algorithm is needed. For BPSK modulation, each bit of an LDPC codeword is mapped to symbol , , or , cor- responding to it being 0 or 1. The set of corresponds to the set of variable nodes in a Tanner graph [15]. The Tanner graph also has a set of check nodes defined by the parity check matrix of the code. The transmitted symbol has a received (noisy) value of , and the log a posteriori ratio of is (1) 1057-7149/$25.00 © 2006 IEEE