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