A Joint Source-Channel Coding Scheme for Robust Image Transmission Vinay Chande Nariman Farvardin Department of Electrical Engineering and Institute for Systems Research University of Maryland College Park MD 20742 email: (chande,farvar)@eng.umd.edu Abstract
In this paper we propose a joint source-channel coding scheme for transmission of images over noisy channels. In this scheme, the interaction between the source coding and the channel coding is through a small number of parameters. A robust source coder based on classi cation of coecients of Discrete Wavelet Transform of the image is coupled with a exible error control scheme which uses a bank of channel codes. An iterative algorithm is developed for selection of source coding rates and channel codes. The system has high reliability as the sensitive information is kept small. The developed system has high performance in terms of end-to-end picture quality.
1 Introduction Image transmission over wireless channels forms an integral part of the task of taking multimedia applications to the mobile user. The wireless channel is marked by high bit error rates. The channel induced errors can be very damaging to the bitstream from the output of an image compression algorithm, as they can cause a loss in synchronization leading to either a complete loss of the image or very poor quality of the recovered image. Hence the problem of transmitting images over such noisy channels has received a lot of attention recently [1, 2, 3]. The problem of image transmission over noisy channels can be stated as that of minimizing channel bandwidth usage for a given quality of the received image or equivalently, that of maximizing the end-to-end image quality for a given channel bandwidth Prepared through collaborative participation in the Advanced Telecommunications/Information Distribution Research Program (ATIRP) Consortium sponsored by the U.S. Army Research Laboratory under Cooperative Agreement DAAL01-96-2-0002.
1
usage. An optimized image transmission system must involve a lossy image compression algorithm with a mechanism for recovery from channel induced errors. According to Shannon's source-channel separation theorem, it is possible to design the source coding part independently of the error control part without losing the optimality. But this is an asymptotic result and it has been demonstrated that for nite delay, nite complexity systems, a combined design of the source coding and channel coding parts can yield better end to end performance e.g. [4]. In situations, where the source coding application (e.g. one residing in a personal computer) interacts with an external transmission system (e.g a cellular network), the protocols for the transmission system may not oer the full exibility to implement the optimal combined source-channel coding designs (e.g. Channel Optimized Vector Quantization (COVQ) [5]). Still, if the channel coder allows some exibility, it can be used by the source coder for a joint design to obtain useful improvements in performance over blind designs. This exibility is typically used in choosing the source coding rate and the channel code to maximize the end-to-end image quality for given transmission rate. Some authors have recommended that the source coder and the transmission system interact through such a limited interface, in which the output of the source coder is divided into streams and the transmission system oers dierent error protection for dierent streams [6]. In this paper we propose a joint source-channel coding scheme for transmission of images where the interaction between the source coding block and the channel coding block is only through a few parameters. We consider a scheme in which the channel coding block consists of a collection of channel codes of dierent rates and performances. The image source is split into a collection of sub-sources. Each sub-source is compressed independently. Unequal error protection is applied by assigning a channel code from the available collection to each sub-source. The splitting of the image is achieved by subband coding of the image followed by Spectral Classi cation [7] of the subband coecients. A concatenated error detection - error correction - masking scheme based on Rate Compatible Punctured Convolutional (RCPC) codes [8] is employed for unequal error protection. An iterative algorithm is proposed for the allocation of resources to the source coding and channel coding parts. A novel Robust Arithmetic Coding is introduced to combat error propagation and loss in synchronization in arithmetic coding due to channel errors. RCPC codes for unequal error protection to subband coded images were used in [1]. The proposed system diers from [1] in classi cation of the coecients, xed-length source packets, parameter based iterative resource allocation, separate transmission of sensitive information, and error detection and masking. The paper is organized as follows. In Section 2, we describe the components of the proposed system. In Section 3 we formulate the resource allocation problem and describe the iterative algorithm for its solution. In Section 4, we present the simulation results. Section 5 is the concluding section.
2 System Description
The principal components of the proposed system are (i) a robust image coder which is capable of generating several independent sequences of bits organized in packets, (ii) a transmission system providing a collection of channel codes of varying capabilities of error protection and (iii) an iterative allocation algorithm which chooses the source-
2
coding rates and channel codes for the sequences generated by the source coder so that the overall system is operationally optimal. Below, we discuss the components brie y.
2.1 Source Coding
We achieve robustness in the source coder by reducing the sensitive information to be transmitted over the channel and localizing the eects of channel errors on other bits. The source coder has the following parts. Discrete Wavelet Transform (DWT): Discrete Wavelet Transform of images is a well established transform which achieves high energy compaction and decorrelation of coecients [9]. Spectral Classi cation: Schemes based on classi cation of subband coecients of the image have been shown to be eective for image compression [10]. The high-pass DWT coecients of the image are classi ed into high and low activity classes by the method of Spectral Classi cation[7]. The coecients corresponding to each class in each subband are arranged in a sequence. Scalar Quantization: Each sequence of coecients generated by the classi cation is modeled as a i.i.d. source with generalized Gaussian density. Each sequence is allocated a target rate in bits per sample. The coecients of that sequence are quantized with an appropriately chosen uniform threshold quantizer tuned to its model. The outputs of the quantization are a collection of sequences of symbols representing the quantized coecients. Robust Arithmetic Coding: Typically, arithmetic coding [11] is used for noiseless compression of the symbols output by the quantizer. A channel induced error in the output bitstream of an arithmetic coder can be disastrous as it can lead to error propagation and loss in synchronization. To check the propagation of errors, we propose the following modi ed version of arithmetic coding, dubbed Robust Arithmetic Coding. Robust Arithmetic Coder generates xed-length packets of bits and some xed-length side information used for synchronization. For Robust Arithmetic Coding, we begin with a conventional arithmetic coder. For simplicity, assume that the probability model for the arithmetic coder is xed, i.e. nonadaptive. The output of the quantizer, the quantized symbols, is arithmetic coded as follows. The arithmetic coder is initialized and the symbols are coded one by one until the coder outputs a packet of a xed number of bits (packet size ) chosen beforehand. Then the arithmetic coder is reinitialized. A xed-length word indicating the number of symbols which can be successfully decoded by the arithmetic decoder from this packet, is saved elsewhere as synchronization information. To generate the next packet, the arithmetic coder starts encoding from the rst symbol which could not be decoded by the end of the last packet. It is reset again after outputting a packet. The synchronization information for the new packet is determined and is saved. This procedure of resetting the arithmetic coder and saving synchronization information is repeated until all the quantized symbols are encoded. If necessary, the last packet is generated by encoding some extra dummy symbols at the end. If the arithmetic
3
coder is adaptive, this scheme also requires reinitialization of the probability model at the beginning of each packet. We call the packets generated by the above scheme as robust packets to distinguish them from the synchronization information. In the absence of channel errors, the robust arithmetic decoder can decode each robust packet independently and can concatenate the symbols to obtain the original sequence. If there is an error in a packet, the symbols decoded by an arithmetic decoder are dierent from the encoded symbols. It is also possible that the number of symbols decoded is dierent from the number encoded, causing a loss in synchronization. In such cases, a reliable synchronization information for the packet can restore the synchronization for decoding the next packet. Due to reinitialization of the arithmetic coder at the beginning of every packet, any error in a packet does not propagate beyond the packet length. The synchronization information is transmitted separately and protected more strongly than the robust packets. The output of the compression block has two components: (i) Sensitive bits, which consist of the overhead information, namely, the image dimensions, the classi cation map, the sequence variances and the synchronization information. (ii) Robust packets, which are the packets output by Robust Arithmetic Coding. An error in the sensitive bits can cause a complete failure in the reconstruction of the image. But, provided the sensitive bits are received correctly, an occasional error in robust bits does not impair the quality of the received image severely. The sensitive bits form a small fraction of the total bits. They are protected by use of a strong channel code which is selected such that it essentially guarantees error free transmission of the sensitive bits over the noisy channel. They are transmitted over the channel before transmitting any robust packets.
2.2 Transmission System
Robust Arithmetic Coding allows the packets to be encoded and decoded independently of each other. Packets from dierent sequences contribute dierently towards reduction in distortion. Hence they can be protected by potentially dierent amounts of error protection. We require a transmission system which is capable of providing unequal error protection to the source bits. Several modulation and coding schemes, for example, those based on multilevel channel codes [12] or multi-carrier modulation [13], can provide varying degrees of error protection for dierent source bits. Rate Compatible Punctured Convolutional (RCPC) codes are binary codes of dierent code-rates which can be implemented with the same encoder and decoded with the same trellis [8]. We design the proposed system for transmission over Binary Symmetric Channels (BSC) and use RCPC codes for error correction. We use a concatenated channel coding scheme consisting of a xed outer error detection code and an inner error correction code chosen from a family of RCPC codes. We use Cyclic Redundancy Check (CRC) as the error detection code. The error detection code is useful for error masking during image reconstruction. Each robust packet is appended with CRC and then encoded by the assigned RCPC code. The output of the RCPC encoder is transmitted over the channel. For simplicity, same RCPC code is used for all robust packets coming from one sequence. The sensitive bits are encoded by a low rate error correction code from the same family.
4
2.3 Channel Decoding and Image Reconstruction
The channel decoder decodes the sensitive bits and recovers the synchronization information before decoding the robust packets bits. Then it makes an attempt at decoding the robust packets. The success or failure of decoding is decided by the outer error detection code. On successful decoding the quantized DWT coecients are reconstructed. On failures, all the DWT coecients corresponding to the incorrectly decoded packet are replaced by the mean of the corresponding sequence. This minimizes the average squared error for the coecient. After recovering wavelet coecients from all the received packets, the image is reconstructed by taking inverse DWT. Given a binary symmetric channel of a xed crossover probability, the selection of the rates for compression of the sequences and the choice of channel codes is done by an iterative rate-allocation and code-selection algorithm described in the next section.
3 An Iterative Rate Allocation and Code Selection Algorithm The objective of this resource allocation algorithm is to assign a target source coding rate in bits per pixel and a channel code to each sequence obtained by classi cation of the DWT coecients of the image, such that the end-to-end distortion is minimized subject to a constraint on the total number of bits transmitted over the channel. We assume that the channel code used for protecting the sensitive bits is strong enough so that the sensitive information is always recovered error free. Let the number of bits in each robust packet output by the Robust Arithmetic Coder be N . For encoding the robust packets, we are provided with a family of RCPC codes C def = fc1 ; c2 ; : : : cJ g. Let rc (c1 ); rc (c2 ); : : : rc (cJ ) denote their respective code rates. For the given channel, let Aj denote the event that a packet of N bits appended by a CRC of ncrc bits and m trellis termination bits, encoded with code cj and transmitted over the channel, is decoded successfully by the decoder. Let the probability of Acj (complement of Aj ) be denoted by Pe (cj ). We assume that the probability of errors which are undetected by the CRC is zero. Let rc (c1 ); rc (c2 ); : : : rc (cJ ) denote the eective code rates of the concatenated codes, i.e. rc(ci ) def = N +rcn(ci )N+ m for ci 2 C: crc The transmission system interacts with the source coder through the numbers Pe (cj ). For a given channel, the packet error probabilities can be obtained by simulation or training. Let K be the number of sequences obtained by spectral classi cation of the DWT of the image. Let Ni be the number of coecients in the ith sequence. Let the ith sequence be assigned a source coding rate of rsi bits per coecient and a channel code ci 2 C . Then, on average, Pe (ci ) fraction of the packets will be incorrectly decoded. Hence, as all errors are detected, on average, Pe (ci ) fraction of the coecients will be replaced by the mean of the source, irrespective of the source coding rate rsi . We call such coecients erased coecients. The average distortion for the correctly received coecients of ith sequence is the operational distortion-rate function for the ith sequence, Di (rsi ). The average distortion for the erased coecients of a sequence is Di (0). For squared error 0
0
5
0
0
distortion measure, Di (0) is the variance i2 of the sequence. We assume squared error distortion measure for this paper. The end-to-end average distortion for the image for this scheme is given by the following expression,
(rs1 ; rs2 ; : : : rsK ; c1 ; c2 ; : : : cK ) def =
K X i=1
Ni(1 ? Pe (ci ))Di (rsi ) + Ni Pe (ci )i2
(1)
The computation of the total number of bits transmitted over the channel must include the total number of sensitive bits and the channel code used for protecting them. Let the synchronization information for a packet of N bits be coded in a xed number of bits nsynch. Let csens 2 C be the channel code used for protecting the sensitive bits. Let the number of sensitive bits other than the synchronization information be Roverhead . Then, for a given source coding rate allocation (rs1 ; rs2 ; : : : rsK ) and a given code selection (c1 ; c2 ; : : : cK ), ignoring round os, the total number of bits to be transmitted over the channel, RT , is written as K X Ni rsi + Ni rsi nsynch + RT (rs1 ; rs2 ; : : : rsK ; c1 ; c2 ; : : : cK ) def = Rr overhead i Nrc(csens) c (csens ) i=1 rc (c ) 0
0
(2)
0
The objective of the optimization is to minimize end-to-end distortion subject to a constraint on RT , i.e. min
rs1 ;rs2 ;:::rsK ;c1 ;c2 ;:::cK
subject to RT T :
(3)
We propose the following iterative scheme for solving ( 3). The iterative scheme involves solving the constrained optimization with respect to the source coding rate while keeping a channel code allocation xed, and then nding the optimal channel code allocation for the given source coding rate allocations. These two steps are repeated until the allocations stop changing. As the number of channel code allocations is nite, the algorithm converges. If the channel code assignments ci for the sequences is xed, the minimization ( 3) reduces to 1 K K X X n synch i Ni (1 ? Pe(c ))Di (rsi )subject to Ni rsi r (ci ) + Nr (c ) T min rs1 ;rs2 ;:::rsK c c sens i=1 i=1 (4) def R . Equation (4) is a standard rate allocation problem of where T = T ? rcoverhead (csens ) minimizing total weighted distortion subject to a linear inequality constraint. If all Di (r) are convex then ( 4) can be solved by a greedy algorithm. If the source coding rates rsi are xed, the channel codes are obtained by solving the following minimization problem. 0
0
0
min 2
0
0
K X
c1 ;c ;:::;cK i=1
Ni Pe(ci )(i2 ? Di (rsi ))subject to
6
T (5) Ni rsi r (1ci ) + Nrnsynch ( c ) sens c c i=1
K X
0
0
0
This problem is an integer programming problem which can be solved by dynamic programming. A joint solution for these minimization problems gives us the optimal allocation of resources. We require the knowledge of operational distortion-rate performance of the uniform threshold quantizer followed by robust arithmetic coding scheme for each type of sequence. For natural images, the sequences output by the spectral classi cation can be modeled as i.i.d. sources with generalized Gaussian densities. If the shape parameter for the densities are same then the distortion-rate performance of each sequence is the same as that of a unit-variance source, upto a scaling by the variance of the sequence. We also require the knowledge of Pe for each member of the family of channel codes, for the given channel and for given packet size N . Note that, on receiving the variances of the sequences and the classi cation map, the decoder can execute the same algorithm to obtain the channel code allocations for the robust packets. In the next section we present the simulation results obtained using the proposed scheme.
4 Simulation Results Simulations were conducted for transmission of the test images \LENNA" and \GOLDHILL" of dimensions 512x512 over binary symmetric channels with dierent crossover probabilities. The image was decomposed into 22 subbands as in [7]. A packet size of 32 bytes was used for robust arithmetic coding and the synchronization information was coded in 16 bits per packet. Families of RCPC codes were chosen from [8] and [14]. A 16 bit CRC was applied as the outer error detecting code. List Viterbi Decoding [15, 2] was used for decoding with a search depth of 100 paths in the trellis. The obtained average Peak Signal to Noise Ratio (PSNR) results for dierent crossover probabilities and dierent target transmission rates are reported in Tables 1 and 2. For the test images chosen, the system performs favorably compared to most of the systems reported in the literature [1, 3] with the exception of [2]. The notable feature in the proposed system is that the sensitive data forms a small fraction (less than ten percent) of the total source data. Hence the probability of a complete image decoding failure is an order of magnitude lower than that in [2]. Channel Transmission Rate bits/pixel Bit Error Rate 0.25 0.5 1.0 0.1 27.00 30.35 33.60 0.01 30.74 34.44 37.24 0.001 31.98 35.33 38.64
Table 1: Average PSNR (dB) Results for image LENNA over BSC's. Simulation results for the image GOLDHILL for transmission in the presence of channel mismatch are reported in Table 3.The results indicate that the proposed system is robust to some channel mismatch.
7
Channel Transmission Rate bits/pixel Bit Error Rate 0.25 0.5 1.0 0.1 25.95 28.07 30.33 0.01 28.19 30.59 33.27 0.001 29.14 31.65 34.61
Table 2: Average PSNR (dB) Results for image GOLDHILL over BSC's. True Channel Transmission Rate bits/pixel Bit Error Rate Design BER 0.001 0.25 0.5 1.0 0.001 29.14 31.65 34.61 0.003 29.01 31.33 34.19 Design BER 0.01 0.01 28.19 30.59 33.27 0.02 28.13 30.53 33.25 0.03 25.59 29.05 32.97 Design BER 0.1 0.1 25.95 28.07 30.33 0.11 25.78 27.72 28.97 0.12 23.38 24.33 28.24
Table 3: Performance in the presence of channel mismatch for image GOLDHILL.
5 Conclusion The image transmission scheme discussed in this paper has the following key features. Since the interaction between the source and channel coding portions of the scheme is through a few parameters, (i) the system is exibly applied to dierent channels; (ii) the same feature also allows an easy replacement of the family of channel codes used; (iii) As the fraction of sensitive information is small, the scheme is robust to a little channel mismatch or channel variability, and (iv) as all packets output by the Robust Arithmetic Coder are independent, all correctly received packets can be used for image reconstruction. This feature makes the system progressive, though not necessarily optimally progressive. The quality of the received image is superior as indicated by the simulation results.
8
6 Additional Results The following simulation results are for the same system with slightly modi ed channel code parameters.
Performance: Arithmetic Coding with Synchronization
Performance of Robust Arithmetic coding for compressing quantized generalized Gaussian source: Packet Size = 32 bytes Synch. Info. = 2 bytes per packet 9
Entropy Robust Arithemetic Coding Robust Arithmetic Coding + Synch, Info.
8
Synch. Info.
Rate in Bits per Pixel
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
Entropy in Bits per Pixel
Figure 1: Performance: Arithmetic Coding with Synchronization
9
8
Simulation Results: LENA over BSC Average PSNR (dB) for 512 x 512 image LENA over Binary Symmetric Channels of BER 0.001, 0.01 and 0.1. 40
PSNR in dB
35
30
Sherwood and Zeger BER 0.001,0.01, 0.1 Proposed System BER 0.001, 0.01, 0.1 Tanabe and Farvardin BER 0.001, BER 0.01
25 0.2
0.3
0.4
0.5 0.6 0.7 0.8 0.9 Total Transmission Rate in Bits Per Pixel
10
1
1.1
1.2
Simulation Results: GOLDHILL over BSC Average PSNR (dB) for 512 x 512 image GOLDHILL over Binary Symmetric Channels of BER 0.001, 0.01 and 0.1. 36
34
PSNR in dB
32
30
28
26
24 Sherwood−Zeger BER 0.001,0.01, 0.1 Proposed System BER 0.001, 0.01, 0.1 Chen−Fischer BER 0.001,0.01, 0.1
22 0.2
0.3
0.4
0.5 0.6 0.7 0.8 0.9 Total Transmission Rate in Bits Per Pixel
11
1
1.1
1.2
Time Varying Channel 1-a
1-b
a
G
B
b BER 0.01
BER 0.1
Average burst length TB = 200 bits, Probability of Bad state PB = 0:005. Sensitive information is protected for the worst case 33 Proposed System: Sensitive bits protected for BER 0.1 Sherwood and Zeger: Designed for BER 0.1 Sherwood−Zeger: Designed for BER 0.01
32
PSNR (dB)
31
30
29
28
27
26
0
0.2
0.4 0.6 0.8 Total Transmission Rate: Bits per pixel
1
Figure 2: Image GOLDHILL through bursty Channel
References [1] N. Tanabe and N. Farvardin, \Subband image coding using entropy coded quantization over noisy channels," IEEE Journal Sel. Areas. Comm, vol. 10, pp. 926{943, June 1992.
12
[2] P. Sherwood and K. Zeger, \Progressive image coding on noisy channels," in Proc. Data Compression Conference (DCC),, pp. 72{81, March 1997. [3] Q. Chen and T. Fischer, \Robust quantization for image coding and noisy digital transmission," in Proceedings DCC'96, Data Compression Conference, pp. 3{12, 1996. [4] N. Farvardin, \A study of vector quantization for noisy channels," IEEE Trans. Info. Theory, vol. 36, pp. 799{809, July 1990. [5] N. Farvardin and V. Vaishampayan, \On the performance and complexity of channel optimized vector quantizers," IEEE Trans. Info. Theory, vol. 37, pp. 155{160, January 1991. [6] P. Haskell and D. Messerschmitt, \In favor of an enhanced network interface for multimedia services," Submitted to IEEE Multimedia Magazine. [7] H. Jafarkhani and N. Farvardin, \Adaptive image coding using spectral classi cation," IEEE Trans. Image Processing: To appear, Submitted July 1996. [8] J. Hagenauer, \Rate compatible punctured convolutional (RCPC) codes and their applications," IEEE Trans. Comm., vol. 36, pp. 389{399, April 1988. [9] J. W. Woods and S. O'Neil, \Subband coding of images," IEEE Trans. Accoustics, Speech and Siganl Processing, vol. ASSp-34, pp. 1278{1288, October 1986. [10] R. Joshi, H. Jafarkhani, J. Kasner, T. Fischer, N. Farvardin, M. Marcellin, and R. H. Bamberger, \Comparison of dierent methods of classi cation in subband coding of images," Submitted to IEEE Trans. Image Processing, 1996. [11] J. Rissanen and G. G. Langden, \Arithmetic coding," IBM J. Res. Develop, vol. 23, pp. 149{162, Mar. 1984. [12] A. R. Calderbank and N. Seshadri, \Multilevel codes for unequal error protection," IEEE Trans. Info. Theory, vol. 39, pp. 1234{1248, 1993. [13] C. Petrovic, W. Roehr, and D. W. Cameron, \Multicarrier modulation for narrowband PCS," IEEE Trans. Vehicular Technology, vol. 43, pp. 856{862, 1994. [14] S. Lin and D. J. Costello, Error Control Coding: Fundamentals and Applications. Englewood Clis, New Jersey: Prentice-Hall, 1983. [15] N. Seshadri and C. Sundberg, \List viterbi decoding algorithm with applications," IEEE Tras. Comm., vol. 42, pp. 313{323, Feb./Mar.Apr. 1994.
13