1426 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 51, NO. 9, SEPTEMBER 2003 A Novel Product Coding and Recurrent Alternate Decoding Scheme for Image Transmission Over Noisy Channels Lei Cao, Member, IEEE, and Chang Wen Chen, Senior Member, IEEE Abstract—In this letter, we present a novel product channel coding and decoding scheme for image transmission over noisy channels. Two convolutional codes with at least one recursive sys- tematic convolutional code are employed to construct the product code. Received data are decoded alternately in two directions. A constrained Viterbi algorithm is proposed to exploit the detection results of cyclic redundancy check codes so that both reduction in error patterns and fast decoding speed are achieved. Experiments with image data coded by the algorithm of set partitioning in hierarchical trees exhibit results better than those currently reported in the literature. Index Terms—Constrained Viterbi algorithm (C-VA), image transmission, product code, recurrent alternate decoding. I. INTRODUCTION R OBUST image transmission is of great interest to the high-data-rate wireless communications. Many joint source and channel coding (JSCC) techniques [1], [2] optimally design the bit rate allocation between the source coder and channel coder based on a rate-distortion (R-D) function to achieve minimum end-to-end distortion. These techniques generally require a fixed-length coding (FLC) algorithm in the source coder. Although the variable-length coding (VLC) widely adopted in image compression achieves better source coding efficiency, the impact of channel corruption is difficult to represent in the R-D function. One interesting result obtained in [1] shows that under the optimized bit allocation, essentially all the end-to-end distortion is due to the source coder since the channel appears nearly noiseless under an optimized channel coding rate. Therefore, the final end-to-end performance of these JSCC techniques is limited by the FLC used in the source coder. Sherwood and Zeger proposed a scheme [3] that cascades the VLC-based set partitioning in hierarchical trees (SPIHT) source coder [4] with a cyclic redundancy check (CRC)/rate-compatible punctured convolutional (RCPC) channel coder. This scheme outperforms previous coding systems for known and fixed channel bit-error rate (BER) in binary symmetric channels (BSC). However, an implicit requirement of this scheme is that the designed channel coder must be able to remove all the channel errors. Otherwise, the first uncorrected bit error may cause the decoder to discard Paper approved by E. Ayanoglu, the Editor for Communication Theory and Coding Application of the IEEE Communications Society. Manuscript received February 26, 2001; revised August 31, 2002. This paper was presented in part at the IEEE Data Compression Conference, Snowbird, UT, March 2000. L. Cao is with the Department of Electrical Engineering, University of Mis- sissippi, University, MS 38677 USA (e-mail: lcao@olemiss.edu). C. W. Chen is with the Department of Electrical and Computer Engi- neering, Florida Institute of Technology, Melbourne, FL 32901 USA (e-mail: cchen@fit.edu). Digital Object Identifier 10.1109/TCOMM.2003.816941 Fig. 1. Product encoding of the source data. all subsequent bits whether or not they are decoded correctly. Unequal error protection (UEP) was proposed in [5] and [6] for the transmission of progressive data so that more important bits are given more channel protection. The effect of UEP is to shift the uncorrectable bit errors to a less important bit segment so that a reconstructed image with basic quality is guaranteed by using the highly protected important bits. To improve the image transmission performance in fading channels with burst error characteristics, Sherwood and Zeger proposed a product coding scheme [7] in which an RCPC/CRC is employed in one direction and a Reed–Solomon (RS) code is used in the other direction. Any data packet that cannot be correctly decoded by the RCPC will be regarded as an erasure in the other direction for RS decoding. In the existing schemes [3], [5], [7], when the decoded data packet does not satisfy CRC detection, it will be considered as an erasure and all the data in the packet are discarded. This can be a big waste of the transmission resource, because the majority of the bits in the packet may be correctly received. The proposed scheme in this letter will take full advantage of the information in every correctly decoded bit, including its value and position along both horizontal and vertical directions, to form a new coding/decoding strategy. In the following, Sec- tion II describes the details of coding and decoding of the pro- posed scheme; Section III presents some exciting experimental results of its application in image transmission; and Section IV concludes this letter. II. SYSTEM DESCRIPTION A. Product Coding Structure Fig. 1 shows the structure of the proposed product code. First, the compressed source data are organized into an array on a row-by-row basis. CRC detection codes are put at the end of each packet in both directions. These codes are adopted in order to determine the positions of correctly decoded data packets. In 0090-6778/03$17.00 © 2003 IEEE