IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
1669
Low-Complexity Soft Decoding of Huffman Codes and Iterative Joint Source Channel Decoding Amin Zribi, Ramesh Pyndiah, Senior Member, IEEE, Sonia Zaibi, Frédéric Guilloud, Member, IEEE, and Ammar Bouallègue, Member, IEEE
Abstract—Most source coding standards (voice, audio, image and video) use Variable-Length Codes (VLCs) for compression. However, the VLC decoder is very sensitive to transmission errors in the compressed bit-stream. Previous contributions, using a trellis description of the VLC codewords to perform soft decoding, have been proposed. Significant improvements are achieved by this approach when compared with prefix decoding. Nevertheless, for realistic VLCs, the complexity of the trellis technique becomes intractable. In this paper, we propose a soft-input VLC decoding method using an a priori knowledge of the lengths of the sourcesymbol sequence and the compressed bit-stream with Maximum A Posteriori (MAP) sequence estimation. Performance in the case of transmission over an Additive White Gaussian Noise (AWGN) channel is evaluated. Simulation results show that the proposed decoding algorithm leads to significant performance gain in comparison with the prefix VLC decoding besides exhibiting very low complexity. A new VLC decoding method generating additional information regarding the reliability of the bits of the compressed bit-stream is also proposed. We consider the serial concatenation of a VLC with two types of channel code and perform iterative decoding. Results show that, when concatenated with a recursive systematic convolutional code (RSCC), iterative decoding provides remarkable error correction performance. In fact, a gain of about 2.3 dB is achieved, in the case of transmission over an AWGN channel, with respect to tandem decoding. Second, we consider a concatenation with a low-density parity-check (LDPC) code and it is shown that iterative joint source/channel decoding outperforms tandem decoding and an additional coding gain of 0.25 dB is achieved. Index Terms—Communication system performance, source coding, variable-length codes, error correction coding, iterative methods.
I. I NTRODUCTION EXT generation communication systems are faced with the competing goals of providing high quality of service for multimedia applications while minimizing power and bandwidth consumption. It is clear that both source coding and channel coding are important components to achieve
N
Paper approved by J. Kliewer, the Editor for Iterative Methods and CrossLayer Design of the IEEE Communications Society. Manuscript received June 1, 2010; revised January 30, August 25, and November 21, 2011, and January 23, 2012. A. Zribi, S. Zaibi, and A. Bouallègue are with the Communications Systems (SysCom) Laboratory, National Engineering School of Tunis, BP 37, Le Belvedere, 1002, Tunis, Tunisia (e-mail:
[email protected]; {sonia.zaibi, ammar.bouallegue}@enit.rnu.tn). R. Pyndiah and F. Guilloud are with the Signal and Communications Department, Institut Telecom, Telecom Bretagne, UMR CNRS 6285 Lab-STICC, Technopole Brest Iroise, CS 83818, 29238 Brest Cedex 3, Université Européenne de Bretagne, France (e-mail: {ramesh.pyndiah, frederic.guilloud}@telecom-bretagne.eu). Digital Object Identifier 10.1109/TCOMM.2012.041212.100330
these goals. Shannon’s separation theorem [1] states that these two components can be optimized separately if unconstrained block lengths and unconstrained coding and decoding complexities are allowed. In most practical applications, it is impossible to fulfill these requirements. Joint Source/Channel (JSC) coding and decoding techniques have emerged as a pragmatic approach leading to a convergence of the multimedia and digital communication worlds. Variable-Length Codes (VLCs) are widely used in stateof-the-art image, video, and audio compression schemes. Although they provide a reduction in the data rate by exploiting the redundancy in the source-symbol sequence, the VLCencoded data are very sensitive to transmission errors (error propagation phenomenon). Especially when the compressed bit-stream has to be transmitted over a noisy channel, efficient coding or decoding techniques have to be considered to guarantee a good source-symbol sequence reconstruction. The first contributions, reported in [3] as robust entropy coding techniques, add some redundancy in the entropy coding stage to help detect the erroneous bits or prevent error propagation. Since a single bit error in the VLC-encoded stream can lead to the loss of synchronization, the authors in [4] introduced a class of VLCs with good synchronization properties. In [5], variable length bit-streams from individual blocks are distributed into slots of equal size to improve their synchronization. This technique was called EREC for Error Resilient Entropy Coding. Reversible VLCs (RVLCs) were proposed in [6] to increase the compressed bit-stream robustness against the channel errors. Additional work focused on exploiting the residual redundancy in the compressed bitstream to improve the decoding performance [7]–[9], [21]. Recent work exploits the VLC properties to improve its decoding efficiency. These techniques consider trellises that are built using the structure of the VLC codebook to apply well-known algorithms used for channel decoding such as Viterbi and List Viterbi [10]–[13]. In [10], [11], the authors used channel soft outputs to perform the MAP decoding on a trellis whose states are indexed by the VLC-encoded sequence length. The same decoding strategy was applied in [13] on bitsynchronized trellises describing both a Markov source and the VLC encoder. Other contributions assume that a priori information such as the number of source symbols or the size of the encoded bit-stream is available at the decoder to improve the decoding performance. In [14] and [17], bit- and symbol-synchronized trellises were presented, where the compressed bit-stream and the source-symbol sequence
c 2012 IEEE 0090-6778/12$31.00
1670
lengths are supposed to be known at the receiver. Decoding is performed using a Viterbi-like algorithm where the branch metrics consider both the source and channel statistics. However, the state reduction techniques used in these algorithms degrade the decoding performance [15]. Later contributions proposed to exploit the efficiency of the turbo decoding by integrating the VLCs in an iterative decoding process [21]–[24]. While Bauer and Hagenauer [22], [23] proposed new VLC trellis representations for Soft-Input SoftOutput (SISO) VLC decoding, Guyader et al. [24] introduced a Bayesian network-based decoding approach. Both decoding schemes considered a VLC concatenated with a convolutional code, and substantial gains were obtained with iterative decoding. Iterative decoding of the serial concatenation of a VLC with a turbo code and a Low-Density Parity-Check (LDPC) code were respectively studied in [25], [26] and [27]. All the described techniques rely on a specific trellis construction and eventually combined with pruning, resulting in various efficiencies. However, in the proposed trellises, the states number increases with the source-symbol sequence length L and the source alphabet size U . Thus, the decoding complexity becomes intractable for large values of L and U . Finally, some contributions considered the JSC decoding of an LDPC channel code in the case of image transmission. In [28], the authors considered rate-compatible LDPC codes to study unequal error protection on the compressed JPEG2000 bit-stream. Extra information provided by the error-resilience mode of the JPEG2000 encoder was delivered to the LDPC decoder and iterative decoding was performed in [29]. In this paper, the Maximum A Posteriori (MAP) sequence estimation criterion is employed for the maximum likelihood decoding of the VLCs in the case of transmission over a noisy channel. We suppose that the source-symbol sequence length L and the corresponding compressed bit-stream size l are known at the decoder side. The VLC decoding is based on a search of the MAP sequence among the length-valid sequences (bit-streams of length l decoding L symbols). The original contribution of our work lies in the adaptation of the Chase decoder [31] for soft input VLC decoding. In fact, we proposed a Chase-like VLC decoder with reduced complexity and taking into account the bit-streams’ length validity. Such a condition was considered in [14], [15], [17], but the authors used a trellis representation to apply the VLC approximate soft input decoding. The VLC decoding algorithm proposed in this paper does not use state machine representation for the VLCs which makes it more simple to implement. The feasibility of the proposed approach is demonstrated in different contexts and the results are compared with [14] and [15]. As a second contribution, we propose an iterative JSC decoding scheme based on a VLC concatenated with a channel code. The VLC is used to perform source compression and the channel code performs error correction. After the soft-input soft-output channel decoding, the VLC Chase-like decoder is modified to identify reliable and non-reliable compressed bits and this extra information is provided to the channel decoder at the next iteration. We consider two types of channel codes : a recursive systematic convolutional code (RSCC) and a capacity-approaching low-density parity-check code (LDPC). The source/channel decoding is iterated several times
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
Fig. 1.
Block diagram of the studied transmission system.
to improve the error-rate performance. The paper is organized as follows. In Section II, the system model and the MAP sequence decoding metric are briefly reviewed. In Section III, a new low-complexity VLC decoding algorithm is described and its performance are validated in different configurations including JPEG image transmission. The results are also compared with those of previous solutions using a VLC trellis-decoding algorithms [14], [15] in terms of complexity and error correcting performance. In Section IV, we propose a simple method to achieve a low-complexity VLC decoding with bit reliability definition. The latter is serially concatenated with a SISO channel decoder to perform iterative JSC decoding. Results are investigated in the case of a concatenation with a RSCC, then with an LDPC code. Finally, Section V gives some conclusions and suggests directions for future work. II. S YSTEM OVERVIEW The communication system model considered in this paper is presented in Fig. 1 and consists of a VLC encoder, a transmission channel, and a VLC decoder. We suppose a source generating symbols sk from the set Ω = {0, 1, . . . , U − 1} with the probabilities pu , u ∈ Ω. The VLC table (of size U ) is supposed to be tree-structured and will be determined using the Huffman construction method [2]. Let s = (s1 , s2 , . . . , sL ) denote the source-symbol sequence generated with a nonuniform distribution pΩ . The compressed bit-stream b = (b1 , b2 , . . . , bl ) of length l = f (s) is then transmitted over an AWGN channel, which delivers r = (r1 , r2 , . . . , rl ). When using a BPSK modulation, the channel√output is given by rj = hj + nj , j = 1, . . . , l where hj = Es (1 − 2.bj ) is the modulated value of bj , Es = Rc ·Eb with Eb being the energy per information bit, and Rc the channel coding rate which is equal to one if no channel code is used. nj is a Gaussian noise sample with zero mean and variance σ 2 . A standard VLC decoder performs a hard decision on the components of r and uses the prefix-free condition to deliver the decoded sequence ˆs. As mentioned in the introduction, the VLC decoding algorithm presented in this paper is based on an estimation of the MAP sequence which minimizes the source Packet Error Rate (PER). The MAP rule corresponds to the search for the best sequence ˆs satisfying: P (ˆs = si |r) ≥ P (sk |r), ∀k = i
(1)
k
Hence, for a compressed bit-stream b = (bk1 , bk2 , . . . , bkl ) obtained after the VLC encoding of the source-symbol sequence sk = (sk1 , sk2 , . . . , skL ), the decoding is based on the maximization of the metric P (sk |r) =
P (r|bk )P (sk ) P (r|sk )P (sk ) = P (r) P (r)
(2)
ZRIBI et al.: LOW-COMPLEXITY SOFT DECODING OF HUFFMAN CODES AND ITERATIVE JOINT SOURCE CHANNEL DECODING
The metric includes the channel-transition probability, the a priori source probability, and the term P (r). The last term can be ignored since it is constant for all the candidate sequences. The other terms can be calculated using the channel model and the a priori source model. Regarding the source symbols, for independent source symbols, we have P (sk ) = i p(ski ), whereas for a first order Markov source we get P (sk ) = k k i p(si |si−1 ). Taking the logarithm of (2), we can reformulate the problem as a maximization of the following metric: log(P (sk |r)) = log(P (r|bk )) + log(P (sk )) − log(P (r)) (3) Since P (r) is constant for all candidates, in the case of transmission across an AWGN channel with BPSK signalling, the soft decoding metric can be written as l (rj − hkj )2 k (4) − + log(P (sk )), M = 2 2σ j=1
√ where hkj = Es · (1 − 2 · bkj ) is the modulated value of bkj . The exhaustive decoding approach evaluates the metric M k for all possible pairs (sk , bk ) and selects the one with the highest metric. Based on the a priori knowledge of the encoding VLC table, such a decoding scheme requires the computation and the comparison of 2l sequence-metrics: all binary sequences bk of length l. However, decoding these 2l bitstreams results in variable-length source-symbol sequences, and we are sure that the decoded sequences of length different from L are in error. Thus, an extra information regarding the length of the source-symbol sequence L can help the VLC decoder to detect erroneous sequences among the 2l possible bit-streams. Length-constrained VLC decoding was already considered in previous contributions like [14], [15], [17]. In fact, the extra information about L can reduce the size of the search space, and, consequently, increase the minimum Hamming distance between all possible candidate sequences. In the following, we propose a new VLC decoding algorithm that restricts the search space to the most probable length-valid streams based on the soft information delivered by the channel. We also assume that the length information is transmitted to the decoder with no error. In practice, this can be guaranteed by the use of a channel code as in [19] or possibly by including this information in the frame header when a specific compression standard is used. III. L OW- COMPLEXITY S OFT D ECODING OF H UFFMAN C ODES
A. The Chase-like VLC Decoder As mentioned previously, much work has been done on the soft input decoding of Huffman codes. In general, the proposed techniques rely on a statistical estimation of the transmitted source-symbol sequence based on noisy observations delivered by the channel. For soft input decoding, we have to specify two constraints: the estimator and the search space. When the described MAP sequence estimator is considered, a length-constrained decoder selects the compressed bit-stream
1671
having the best metric M k (given by (4)) among all lengthvalid sequences in the search space. However, evaluating all these possible bit-streams is infeasible in practice and numerous solutions proposed suboptimal decoding algorithms based on a trellis description of the code. In this section, we propose a Chase-type algorithm [31] to achieve a low-complexity suboptimal soft-input decoding for the VLCs. The Chase algorithm was originally proposed for soft-input block-code decoding. The main idea of this algorithm is to limit the search space to only the Q most probable sequences, based on soft inputs, to reduce the complexity. A classical decoding scheme consists in applying a VLC prefix decoding to binary sequence y = (y1 , . . . , yl ) obtained by a hard detection on the received values r. The softinput decoder uses the extra information given by r called reliabilities. The reliability of a component yj is defined using the Log Likelihood Ratio (LLR) of the transmitted bit bj . For an AWGN channel with BPSK signaling and equal a priori probabilities, we can write: 2 P (bj = 0|rj ) = 2 · |rj | (5) |Λ(bj )| = log P (bj = 1|rj ) σ For a stationary channel, the LLR can be normalized and the reliability of yj is given by λj = |rj |. Then, the Chaselike decoding search space is based on binary sequences with different bit combinations at the q least reliable positions. Such a decoder has been validated by the authors in [40] for soft arithmetic decoding and showed good performance/complexity tradeoff. The proposed length-constrained Chase-like decoding of the VLCs is as follows: 1) Evaluate the hard decision vector y and the corresponding reliability vector Λ(y) = (λ1 , . . ., λl ), 2) determine the positions of the q least reliable binary elements of y based on Λ(y), 3) form test patterns ti , 0 < i ≤ Q with Q = 2q : all the l-elements binary vectors with elements tij , 0 < j ≤ l having a weight less than or equal to q with “1”s in only the least reliable positions and “0”s in the other positions (all zero test pattern represents the case where no transmission errors have occured), 4) form test sequences zi , 0 < i ≤ Q with zji = yj ⊕ tij , for 0 < j ≤ l, 5) decode all the test sequences zi using the standard VLC decoding. If a sequence zi decodes exactly L symbols, we compute its metric using (4) and append it to the subset of the competitor valid code sequences Ψ. 6) Finally, the decoded bit-stream corresponds to the sequence having the best metric M k in the subset Ψ. B. Simulation Results In this section, we present the simulation results of the proposed Chase-like VLC decoder in terms of the PER in the case of transmission over the AWGN channel using the BPSK modulation. Results are compared with the prefix-based VLC decoding and the effects of the chosen code and the pattern test weight q of the Chase-like decoder are detailed. Let us consider a memoryless source with U = 5 symbols. Table I gives the probabilities and the VLC codewords assigned to each symbol for the three codes C1 , C2 , and C3 . We
1672
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
TABLE I D IFFERENT VLC S FOR A MEMORYLESS SOURCE WITH U = 5 SYMBOLS AND ENTROPY =2.12 BIT / SYMBOL . Symbol u pu 0 0.4 1 0.2 2 0.2 3 0.1 4 0.1 ¯ l P (ΔS = 0) H(ΔS)
C1 01 00 11 100 101 2.2 0.675 1.39
C2 0 10 110 1110 1111 2.2 0.305 2.40
C3 0 11 101 1000 1001 2.2 0.131 4.38
TABLE II C ODE CA . A SYMMETRIC REVERSIBLE VLC [6].
Eb Fig. 2. PER versus N for the Chase-like VLC decoding in the case of 0 transmission over an AWGN channel with BPSK modulation. Results are given for the codes C1 , C2 , and C3 with different values of q.
notify that the described source and the codes were introduced in [37], then used in [38] as a reference for performance comparison when length-constrained soft input VLC decoding is applied. The presented codes have the same average length and consequently provide the same PER performance for prefix decoding. The investigated scheme considers the transmission of source-symbol sequences of L = 128 symbols and the obtained results are depicted in Fig. 2. Although codes C1 , C2 , and C3 have the same average length of ¯l = 2.2 bits per symbol, they deliver different results with Chase-like VLC decoding. In fact, it can be seen that the code C1 is a particularly poor code in terms of soft input decoding. However, applying Chase-like decoding to the code C2 yields a performance gain of about 0.7 dB with respect to prefix decoding. The code C3 outperforms by about 0.5 dB the code C2 , and results in an overall improvement of more than 1.2 dB compared to prefix decoding. These results confirm the conclusions made in [38] where the authors proposed criteria to select the best VLC code for length-constrained soft input decoding. In fact, they defined: • P (ΔS = 0) as the probability that an error induces a hard resynchronization. In this case, the error would have no effect on the decoded sequence length. • H(ΔS) as the amount of information delivered by the length constraint. In Table I, we report, for each code, the calculated values of P (ΔS = 0) and H(ΔS) which are, according to [38], the best criteria for choosing the best code for soft input decoding. For a fixed length l, if P (ΔS = 0) is small, the number of discarded sequences due to the length constraints will increase and, consequently, the probability of correct decisions will increase. This observation is confirmed by the simulation results presented in Fig. 2. In fact, the code C3 has the smallest P (ΔS = 0) and the highest entropy H(ΔS), and is also the code which presents the best performance gain by comparison to C1 and C2 . The worst results are obtained with C1 which presents the highest P (ΔS = 0) and the smallest
Symbol u 0 1 2 3 4
pu 0.33 0.3 0.18 0.1 0.09
CA 00 11 010 101 0110
H(ΔS). In the second experiment, we propose to investigate the effect of the test pattern weight q on the Chase-like VLC decoding performance. We present, in Fig. 2, simulation results obtained for the best VLC code C3 with q = 1, 2, and 4 bits. We can see that with q = 2 we have, for a PER=0.1, an improvement of about 1 dB over the classical prefix VLC decoding. Increasing q to 4 results in a small additional gain Eb , but causes a significant for small to medium values of N 0 increase in complexity. Thus, for this experiment, the best performance/complexity tradeoff is obtained with q = 2 bits. Nowadays, Reversible VLCs (RVLCs) have emerged as an alternative to Huffman codes that allow decoding in both directions, which can be exploited by the decoder to improve its performance. They were first introduced by Takishima et al. in [6] and are widely considered in video and image compression standards. In this experiment, we evaluate the efficiency of the soft-input Chase-like decoder with such a code and compare results to an optimal MAP decoding scheme taking into account the length constraints. We assume a BPSK modulation and an AWGN channel transmission with sourcesymbol sequences of length L = 100. Fig. 3 illustrates the Levenshtein symbol error rate (SER) results for the symmetric RVLC which is given in [6] and presented in Table II. We recall that the Levenshtein distance is defined as the minimal number of insertions, deletions, or substitutions that transform one sequence into the other. Results of the instantaneous VLC decoder, the Chase-like decoder with q = 4 bits, and the MAP decoder are depicted. We note that the simulated MAP decoder was presented in [11], and applies the Viterbi algorithm on a specific trellis taking into account the length information. More details can be found in [11]. According to the obtained results, the Chase-like VLC Eb when decoder offers almost a 3.0 dB gain in terms of N 0 compared to prefix decoding. This remarkable gain demonstrates that RVLCs are good candidates for Chase-like decod-
ZRIBI et al.: LOW-COMPLEXITY SOFT DECODING OF HUFFMAN CODES AND ITERATIVE JOINT SOURCE CHANNEL DECODING
Eb Fig. 3. Levenshtein SER versus N for the Chase-like VLC decoding in the 0 case of transmission over an AWGN channel with BPSK modulation. Results are given for the RVLC CA and compared to MAP decoding presented in [11].
ing. Compared to MAP decoding, the suboptimal Chase-like Eb decoder offers similar results with increasing N values. Thus, 0 we can conjecture that the Chase-like VLC decoder is very efficient and asymptotically optimal. C. Comparison With VLC Decoding Using a Trellis Representation Now, we propose to compare the performance of the described Chase-like VLC decoder with trellis-based MAP decoding using state reduction algorithms proposed in [14] and [15]. We recall that these techniques are based on the bit-constrained directed graph of [14] taking into account the length constraints. Moreover, at each bit step, the states are grouped into sets each representing the encoding of a symbol from the alphabet (we have U sets at each bit step). In [14], Park and Miller proposed an optimal MAP decoding method and an efficient approximation by directed graph search. The main problem with the optimal trellis decoding is the huge number of states in the graph when the encoded sequence length grows. It was proven in [15] that the number of states grows linearly with the value of the trellis bit step. In order to reduce the complexity, at each bit step, Park and Miller proposed to prune all the states but one in each of the U sets. In [15], the authors proposed two approximate methods called AMAP1 and AMAP2 with different state reduction operations. At each bit step, AMAP1 keeps only one state for every possible symbol number. The corresponding saved sequence should be the best in the sense of partial a posteriori probability for all graph states at this specific bit step. The second method proposed in [15], denoted AMAP2 keeps only the best T paths in the sense of partial a posteriori probability for each trellis bit step. In order to make a fair comparison, we consider in this experiment a first-order Gauss-Markov source with correlation coefficient ρ = 0.9. We applied a three-level scalar-quantizer
1673
on the obtained source and the corresponding probability matrices were estimated using a long training sequence. The source sequence s is the quantization index-sequence output by the described scheme. The resulting alphabet consists of U = 3 symbols with probabilities {0.5, 0.25, 0.25}. The corresponding Huffman code is {0, 10, 11} giving ¯l = 1.5 bit per symbol. The experiments are based on BPSK modulation and transmission over an AWGN channel with source-symbol sequences of length L = 100. Table III presents the performance results in terms of PER corresponding to several cases: prefix VLC decoding, approximate decoding of [14], the AMAP1 method, and the AMAP2 VLC decoding with T = 3 [15]. We propose to compare these references with the Chase-like VLC decoding. In the same table, we propose a comparison of the computational complexity of the simulated decoders. The computational complexity of a l l decoder was defined in [16] as γ = i=1 γi = i=1 Gi · Ji where γi is the overall complexity at a bit depth i determined with Gi and Ji which are respectively the number of reserved states and the number of each state projected branches at the same bit depth. Results show that the Chase-like decoder improves the decoding performance when compared with the classical decoding, and outperforms the approximate method of [14]. By reference to the decoding methods of [15], we Eb , the Chase-like can see that for medium to high values of N 0 decoding performance are almost the same as AMAP1 and AMAP2. We recall that it was demonstrated in [15] that the AMAP2 presents nearly the same performance as the optimal trellis-based soft decoding, which confirm the fact that the Chase-like VLC decoder is asymptotically optimal. For a fixed value of q, the computational complexity of the Chase-like decoder is constant. In fact, it has an average total complexity of ¯l · 2q VLC prefix decoding and metric computation operations. In Table III, we used three different q values for Chase-like VLC decoding according to the channel conditions. When the channel is noisier, we need more test patterns for Chase-like VLC decoding to reach the best performance. We can see that the computational complexity is less than the other trellis-based decoders at medium to high Signal to Noise Ratio (SNR). We also notify that increasing the alphabet size U induces more states per trellis bit step and, consequently larger complexity for trellis based algorithms. Furthermore, additional computations are needed for the trellis construction since for a given L, the trellis depends on l. Indeed, for every l value, we need to build a new trellis, which is unacceptable in practical applications. Thus, we can conclude that, compared to the described decoding algorithms, the Chase-like decoder presents the best performance/complexity tradeoff at medium to high SNR. Moreover, the Chase-like decoder can be easily extended to adaptive versions of VLCs. The trellis-based decoders are difficult to apply in the case of adaptive VLC since the latter is described by a time-variable code, which means variable trellis for the same source-symbol sequence. D. JPEG Image Transmission Application Now, we propose to evaluate the improvement achieved by the Chase-like VLC decoder on the visual quality of JPEG
1674
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
TABLE III C OMPARISON OF DIFFERENT SOFT INPUT VLC DECODING SCHEMES IN TERMS OF PER AND COMPUTATIONAL COMPLEXITY γ.
VLC decoder prefix decoding Chase-like decoding Park & Miller [14] AMAP1 [15] AMAP2 T = 3 [15]
Eb N0
PER 0.83 0.73 (q = 0.73 0.67 0.63
= 4 dB Complexity γ 150 4) 2400 1350 16725 1350
Eb N0
= 6 dB PER Complexity γ 0.29 150 0.2 (q = 3) 1200 0.27 1350 0.2 16725 0.2 1350
Eb N0
= 8 dB PER Complexity γ 0.028 150 0.015 (q = 2) 600 0.027 1350 0.016 16725 0.015 1350
IV. I TERATIVE J OINT S OURCE /C HANNEL D ECODING OF H UFFMAN C ODES In the previous section, a new soft input VLC decoder was presented. We showed the efficiency of the algorithm in terms of performance and complexity. In this section, we study the case where the communication system uses an Error Correcting Code (ECC) applied to the VLC compressed bitstream. In fact, if the VLC decoder can generate additional information regarding the reliability of the compressed bitstream components, iterative JSC decoding can be considered. The latter is based on extrinsic information exchange between the VLC and the channel decoder. Eb Fig. 4. Average PSNR versus N for classical and Chase-like VLC decoding 0 in the case of an AWGN channel transmission with BPSK modulation, and JPEG image compression.
A. System Description and Notations
image transmission. We used the baseline configuration of the JPEG standard. The input image is partitioned into 8 × 8 sub-blocks followed by the 2D Discrete Cosine Transform (DCT) for each sub-block. The number of quantization levels of the DCT coefficients controls the achieved compression ratio (we used the quantization table proposed in the standard for luminance components [39]). The quantized coefficients are then zigzag scanned. The coefficients are partitioned into DC and AC coefficients which are respectively compressed using a DPCM scheme and run-length encoding (RLE). The resulting stream is then Huffman encoded to deliver the final JPEG compressed bit-stream. We used the VLC table presented in [39] with an alphabet of U = 162 symbols. Applied to the grayscale test image lenna 512 × 512 (8 bpp), the JPEG outputs 0.64 bpp and a PSNR= 35.78 dB. We consider the transmission over an AWGN channel and evaluate performance in terms of the average PSNR over 500 image transmissions.
In the following, we describe a transmission system consisting of an outer VLC and an inner channel code. The structure of the system is depicted in Fig. 5, where the S/P (resp. P/S) denotes the transition from a serial to a parallel vector (resp. from parallel to serial). A memoryless source is considered and generates sequences sh = (sh1 , sh2 , . . . , shL ) of L source symbols. A standard VLC encoder encodes the source symbol sequences. The resulting compressed bitstreams bh = (bh1 , bh2 , . . . , bhlh ) are concatenated to form the binary sequence b = (b1 , b2 , . . . , bl ). The number of concatenated compressed bit-streams will be denoted H. Sequence b is then permuted by a random interleaver Π and, if required, some dummy bits are introduced to obtain the binary sequence m of length K. The latter is encoded by the channel encoder into a codeword x = (x1 , x2 , . . . , xN ), and transmitted through an AWGN channel by means of the BPSK modulation. A tandem decoding scheme involves soft input channel decoding using the received data r = (r1 , r2 , . . . , rN ) followed by a VLC prefix decoding. The proposed iterative JSC decoding is based on the information transfer between the Chase-like VLC decoder and the channel decoder and is detailed below. The reliability of a component ˆbj of the decoded sequence ˆ is defined using the a posteriori LLR of the transmitted bit b according to
Fig. 4 shows that the use of the proposed Chase-like lengthconstrained decoding with JPEG image transmission enables remarkable gains. With a single additional test sequence (q = 1), we can achieve more than 5 dB of gain in PSNR for Eb q N0 = 7 dB. Increasing the number Q = 2 of test sequences improves decoding performance for a relatively noisy channel. Eb = 5 dB, increasing Q from 2 to 32 gives In fact, for N 0 approximately a gain of 4 dB in average PSNR.
P (rj |bj = 0) · P (bj = 0) P (bj = 0|rj ) Λ(ˆbj ) = log = log . P (bj = 1|rj ) P (rj |bj = 1) · P (bj = 1) (6) Often, contributions dealing with channel decoding assume an AWGN channel and equal a priori probabilities P (bj = 1) = P (bj = 0), and use the expression given in equation (5). However, in the case of iterative channel and VLC decoding, all the components of the decoded sequence don’t have the
ZRIBI et al.: LOW-COMPLEXITY SOFT DECODING OF HUFFMAN CODES AND ITERATIVE JOINT SOURCE CHANNEL DECODING
1675
B. Concatenated VLC and RSCC Iterative Decoding
Fig. 5. General block diagram of the proposed concatenated transmission scheme with iterative JSC decoding.
Eb Fig. 6. PER versus N for the tandem decoding, and the Chase-like VLC 0 decoding (q=4 bits) with two configurations in the case of transmission over an AWGN channel with BPSK modulation. Results correspond to iterative decoding performance from the first to the fifth iteration.
same reliability and consequently the a priori term can be refined. We have seen in the previous section that the proposed Chase-like VLC decoder calculates the J (J ≤ Q) most likely ˆ i . The decoded VLC length-valid compressed bit-streams b ˆ corresponds to the best sequence, among the J sequence b candidates, according to the metric given in equation (4). It is clear that the positions j where we have the same bit for all possible candidate sequences (ˆbij1 = ˆbij2 ∀i1 = i2 ) are the most reliable positions. In the following, we assume such bits as reliably decoded, and assign to them a constant extrinsic information wj = β · (1 − 2.ˆbj ). We notify that a similar reliability definition was proposed in [32] for SISO decoding of linear block codes and that the value of β is determined experimentally. All the other bits are supposed non reliable and we assign to them an extrinsic information equal to zero. It’s worth noticing that in some cases, especially with a relatively noisy channel, the Chase-like VLC decoder is not able to find a length-valid codeword among the Q test sequences. In this ˆ = y and to assign to all case, we propose the decoding rule b its components an extrinsic information equal to 0.
We consider the system sketched in Fig. 5 with an inner Recursive Systematic Convolutional Code (RSCC). At the receiver side, the latter is decoded using a Soft Input Soft Output (SISO) BCJR [33] optimal decoder that provides the outer VLC decoder with soft values for the estimate of the variable-length encoded sequences. The output of the proposed Chase-like VLC decoder is a hard decision of the source symbols ˆsh on the one hand, and a bit reliability value on the other hand. These reliability values are fed back to the RSC decoder as a priori information so as to improve its performance at the next iteration. The experimental setup assumes the use of the source given in Table II with the corresponding code CA . The source generates source-symbol sequences of length L, encoded by the VLC. The resulting binary streams are grouped into H packets to form the bit-stream x. We note that no dummy bits are required and we have K = l. The utilized RSCC has a memory M = 4, a generator polynomial G(D) = (1, 1 + D2 + D3 /1 + D4 ), and a rate Rc = 0.5. The reference system considers a Huffman code, and tandem decoding with classical VLC decoding and the soft input Viterbi algorithm is used for RSC decoding. The Chase-like VLC decoder uses test patterns of maximum weight q = 4 and the best experimental value of β is β = 1.0. Experimental Eb in the case of results in terms of PER as a function of N 0 transmission over an AWGN channel with BPSK modulation are depicted in Fig. 6. The presented curves correspond respectively to tandem decoding, and Chase-like decoding with five JSC iterations and for two different configurations. The first one assumes H = 8 source-symbol sequences with L = 50, and the second has H = 4 and L = 100 symbols. Results show that the iterative JSC decoding based on the Chase-like algorithm provides a gain of about 1.7 dB with the first configuration (L = 100), and 2.3 dB with the second one with respect to tandem decoding. Results also show that the proposed iterative system presents a performance improvement along iterations until it converges to a fixed error rate. Moreover, we can see that when the number of concatenated sequences H decreases, we have faster convergence behavior and worst results. The configuration with H = 8 sourcesymbol sequences is 0.75 dB better than the one with H = 4. However, for a fixed q, the overall Chase-like VLC decoding complexity increases when H is bigger. Now, the best configuration with H = 8 sequences and L = 50 symbols is used. We compare the iterative JSC decoding performance in the case of the use of the Chase-like algorithm to trellis-based SISO VLC decoding methods. We also assume transmission over a Rayleigh channel by means of BPSK signalling. In Fig. 7, the simulation results in terms of PER as a Eb are illustrated for the JSC iterative scheme at function of N 0 the fifth iteration. The SISO reference decoders were presented respectively in [23] and [20] and consider different types of trellis. In fact, authors of [23] proposed a new symbol-clock trellis representation for VLC that enables the application of the BCJR algorithm [33] and provides a posteriori probability of the transmitted source-symbols. These probabilities were
1676
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
C. Concatenated VLC and LDPC Iterative Decoding
Eb Fig. 7. PER versus N for the tandem decoding, the Chase-like VLC 0 decoding (q=4 bits), and the trellis-based SISO VLC decoding methods presented respectively in [23] and [20] for the fifth JSC iteration in the case of transmission over a Rayleigh channel with BPSK modulation.
Fig. 8. Bipartite graph with message exchange for the proposed JSC iterative decoding.
used to generate an estimate value for the bit reliability of the compressed bit-stream, that enables iterative JSC decoding when the VLC is serially concatenated. Moreover, the decoder presented in [20] applies the BCJR algorithm on a VLC bitclock trellis first presented in [30]. The advantage of the method presented in [20] is that it provides directly the reliability of the compressed bit-stream needed for iterative decoding in the case of a serial concatenation. Results show that the iterative JSC decoding using the Chase-like VLC decoder provides a gain of about 4.0 dB at the fifth iteration with respect to tandem decoding. Compared to the SISO decoder [23], we can see that a slight performance gain is achieved. The use of the BCJR soft-output algorithm on a bit-clock VLC trellis [20] induces the best results and we observe a gain of about 0.3 dB compared to the Chase-like decoding performance. However, we point out that the Chaselike decoder has a much lower complexity than the decoders proposed in [23] and [20]. In fact, the latter apply optimal decoding on a trellis with a number of states increasing linearly with the binary sequence length.
Low-density parity-check codes, introduced by Gallager in 1960 [34], have regained attention as a capacity-approaching channel coding alternative to the turbo codes [35]. Recently, they have been adopted by the Digital Video Broadcasting by Satellite (DVB-S2) standard [36]. In this paragraph, we consider the serial concatenation of the VLC with an LDPC code and iterative decoding is performed to improve the system’s performance. The considered system is similar to the one depicted in Fig. 5, but no interleaver is required since interleaving is implicitly incorporated in the LDPC structure. Unlike the concatenation with the RSCC, the value of K is specific to a given LDPC. Thus, the number of concatenated variablelength bit-streams H is variable and some dummy bits are needed to provide exactly K bits at the input of the LDPC encoder. An LDPC code of length N and rate RLDP C can be represented using a Tanner graph with N variable nodes vn representing the N bits. Each variable node is connected to some of the M parity-check nodes cm . Let Fm,n denote the message from a check node cm to a variable node vn . Similarly, let Tn,m denote the message from a variable node vn to a check node cm . The bipartite graph of the JSC scheme and the messages involved in the iterative decoding are depicted in Fig. 8. The upper part of the figure is the Tanner graph representing the LDPC code. The nodes VLCDh in the lower part denote the VLC Chase-like decoding stages with the proposed compressed bits reliability definition. The iterative JSC decoding starts with the initialization to zero of the a priori information delivered by the VLC decoder (wn = 0 for 1 ≤ n ≤ N ). The check to variable messages Fm,n , 1 ≤ n ≤ N , are also initialized to 0. Then, the iterative decoding proceeds as follows: 1) LDPC decoding step: apply ItLDP C iterations of the Belief Propagation (BP) algorithm: a) BP horizontal step: each variable node vn computes the output messages Tn,m according to: Tn,m = In + Fn − Fm,n + wn , (7) where Fn = m ∈M(n) Fm ,n is the overall information associated with each variable node vn , M(n) is the set of checks connected to vn , In = σ22 · rn is the intrinsic information delivered by the channel output, and wn is the correction term given by the VLC Chase-like decoder. b) BP vertical step: every check node cm has to compute the output messages Fm,n using the input messages Tn,m [34] according to the equation ⎞ ⎛
,m T n ⎠, tanh Fm,n = 2 · tanh−1 ⎝ 2 n ∈N (m)\n
(8) where N (m) \ n is the set of variable nodes connected to check cm with bit vn excluded. c) Horizontal and vertical decoding steps are iterated until a valid LDPC codeword is obtained or the
ZRIBI et al.: LOW-COMPLEXITY SOFT DECODING OF HUFFMAN CODES AND ITERATIVE JOINT SOURCE CHANNEL DECODING
1677
Eb Fig. 9. PER, BER, and Levenshtein SER versus N for the concatenated Chase-like VLC (q = 4 bits) and LDPC iterative decoding scheme in the case of 0 transmission over an AWGN channel with BPSK modulation.
maximum number of iterations ItLDP C is reached. Then, messages qn , 1 ≤ n ≤ N , containing the overall information about the bit ˆbn are updated: qn = Fn + In
(9)
2) Chase-like VLC decoding step: a) The H sub-streams qh of respective lengths lh , extracted from q, are Chase-like decoded one-byone and the extrinsic information wh is updated as described above. b) Messages wh are concatenated and the resulting sequence w is then fed back to the LDPC variable nodes for further iterations. The algorithm is repeated as from step 1 until a stopping criterion is reached. In the system we are dealing with, both the LDPC and the VLC decoders are able to detect a valid sequence. In fact, the LDPC decoder can detect a valid codeword based on its syndrome. The VLC decoder can detect an erroneous bit-stream if the decoded sourcesymbol sequence is not length-valid. We propose to stop the decoding process if both detections are verified: we have a valid LDPC codeword, and the corresponding H bit-streams are VLC length-valid. The experimental setup assumes the use of the quaternary source and the VLC of the previous sub-section (see Table II) source symbol sequences of length L = 100. The LDPC code used is one of those proposed in the DVB-S2 standard [36], which has a rate RLDP C = 0.88 with K = 14400 bits and N = 16200 bits. The average degree of the variable nodes (resp. check nodes) is 2.99 (resp. 26.99). We considered two decoding scenarios. The first scenario involves tandem decoding with binary messages passing between the LDPC iterative decoder (using a maximum of 250 iterations) and the prefix VLC decoder. The second is based on iterative decoding as described in the previous subsection with
a maximum number of ItLDP C iterations for the BP-LDPC decoding and It joint source/channel decoding iterations. Simulation results of the PER, the BER, and the Levenshtein Eb are presented in Fig. 9. Three SER as a function of N 0 configurations of the iterative system are considered with It = 2, 5, and 10 and the respective values ItLDP C = 125, 50, and 25. For all these configurations, the Chase-like VLC decoder uses test patterns with a maximum weight q = 4 (best performance/complexity tradeoff) and a value of the extrinsic information β = 0.3 which was optimized experimentally to achieve the best performance. We note that compared to tandem decoding, the extrinsic information exchange between the Chase-like VLC decoder and the BP-LDPC decoder results in a remarkable reduction of the PER and the BER for the three configurations. Indeed, with It = 2 JSC decoding iterations, the number of erroneous Eb = 3.6 packets is almost divided by a factor of 200 for N 0 dB when compared to tandem decoding. Additional gains are possible with It = 5, and we have an overall gain of about 0.25 dB with respect to the classical decoding. The iterative decoding performance gain is due to the Chase-like VLC decoding error correction capability and to the extrinsic information available for each sub-packet at the input of the LDPC decoder (inter-packet correction). We also observe that increasing It to 10 results in a degradation of performance. Thus, the best performance/complexity tradeoff is obtained with It = 5 and ItLDP C = 50. It’s worth noticing that a similar concatenated LDPC and VLC scheme was considered in [27] with iterative decoding. However, authors applied the optimal BCJR algorithm on a bit-clock trellis for SISO VLC decoding and simulation results showed an improvement of 0.3 dB across tandem decoding. The performance difference between the Chase-like VLC decoder and the optimal scheme [27] is small and can be neglected if we consider complexity constraints.
1678
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 6, JUNE 2012
By using the error detection capabilities of the LDPC and the Chase-like VLC decoders, the average complexity of the iterative decoding scheme is negligible at low PER. For a PER< 10−3 at the channel output, the iterative scheme is applied to less than 0.1% of the received LDPC codewords. Thus, for a maximum of It = 5 iterations, the average complexity of the iterative scheme is increased by less than 0.4%. Compared to tandem decoding, the use of the iterative decoding presented in [27] induces a huge complexity increase since authors applied a BCJR forward-backward operation after every LDPC BP iteration. V. C ONCLUSION In this paper, we have proposed a novel low-complexity soft-input decoder for VLCs. This algorithm is derived from the Chase decoding algorithm initially developed for block codes and has been tested for transmission over an AWGN channel in the case of BPSK signaling. The decoding solution proposed here shows numerous significant advantages. First, the Chase-like decoding of the VLCs achieves good error correction performance with very low complexity, especially for medium to high values of signal-to-noise ratio. Second, the proposed decoder can be slightly modified to deliver the reliability of the decoded bits. The Chase-like decoder was concatenated with a SISO channel decoder and iterative decoding was performed. On one hand, we have shown that, when a RSCC is used as channel code, the proposed decoding algorithm achieves a gain of about 2.3 dB compared to tandem decoding. On the other hand, an additional coding gain of 0.25 dB has been demonstrated in the case of the concatenation with the high performance LDPC code, compared to tandem decoding, with a reasonable complexity increase. Ongoing work includes the generalization of the proposed technique to context-based adaptive entropy codes and the application to image and video compression standards. The extension of the Chase-like decoder to the context-based adaptive VLCs is quite easy contrary to the trellis-based decoders. Moreover, additional work will focus on improving the reliability at the output of the VLC Chase-like decoder. R EFERENCES [1] C. E. Shannon, “A mathematical theory of communication,” Bell Syst. Tech. J., vol. 27, pp. 379–423, 623–656, July/Oct. 1948. [2] D. A. Huffman, “A method for the construction of minimum redundancy codes,” Proc. I.R.E., vol. 40, no. 9, pp. 1098–1102, Sep. 1952. [3] Y. Wang and Q. Zhu, “Error control and concealment for video communication: a review,” Proc. IEEE, vol. 86, no. 5, pp. 974–997, May 1998. [4] B. L. Montgomery and J. Abrahams, “Synchronization of binary source codes,” IEEE Trans. Inf. Theory, vol. 32, no. 6, pp. 849–854, Nov. 1986. [5] D. W. Redmill and N. G. Kingsbury, “The EREC: an error resilient technique for coding variable-length blocks of data,” IEEE Trans. Image Process., vol. 5, no. 4, pp. 565–574, Apr. 1996. [6] Y. Takishima, M. Wada, and H. Murakami, “Reversible variable length codes,” IEEE Trans. Commun., vol. 43, no. 2/3/4, pp. 158–162, Feb./Mar./Apr. 1995. [7] K. Sayood and J. C. Borkenhagen, “Use of residual redundancy in the design of joint source/channel coders,” IEEE Trans. Commun., vol. 39, no. 6, pp. 838–846, June 1991. [8] J. Hagenauer, “Source-controlled channel decoding,” IEEE Trans. Commun., vol. 43, no. 9, pp. 2449–2457, Sep. 1995. [9] F. I. Alajaji, N. C. Phamdo, and T. E. Fuja, “Channel codes that exploit the residual redundancy in CELP-encoded speech,” IEEE Trans. Speech Audio Process., vol. 4, Sep. 1995.
[10] V. Buttigieg and P. G. Farrell, “A maximum a posteriori (MAP) decoding algorithm for variable length error-correcting codes,” in Proc. 1995 Codes and Cyphers: Cryptography and Coding IV. [11] M. Bystrom, S. Kaiser, and A. Kopansky, “Soft source decoding with applications,” IEEE Trans. Circuits Syst. Video Technol., vol. 11, no. 10, pp. 1108–1120, Oct. 2001. [12] K. P. Subbalakshmi and J. Vaisey, “On the joint source-channel decoding of variable-length encoded sources: the BSC case,” IEEE Trans. Commun., vol. 49, no. 12, pp. 2052–2055, Dec. 2001. [13] Z. Wang, X. Wu, and S. Dumitrescu, “Fast length-constrained MAP decoding of variable length coded Markov sequences over noisy channels,” in Proc. 2004 IEEE Int. Conf. Commun. [14] M. Park and D. J. Miller, “Joint source-channel decoding for variablelength encoded data by exact and approximate MAP sequence estimation,” IEEE Trans. Commun., vol. 48, no. 1, pp. 1–6, Jan. 2000. [15] C. Lamy and O. Pothier, “Reduced complexity maximum a posteriori decoding of variable-length codes,” in Proc. 2001 IEEE Global Telecommun. Conf. [16] M. Jia, J. Wen, S. Ye, and X. Li, “Error restricted fast MAP decoding of VLC,” IEEE Commun. Lett., vol. 9, no. 10, Oct. 2005. [17] K. Sayood, H. H. Otu, and N. Demir, “Joint source/channel coding for variable length codes,” IEEE Trans. Commun., vol. 48, no. 5, pp. 787– 794, May 2000. [18] V. Buttigieg, “Variable-length error-correcting codes,” Ph.D. dissertation, Dept. Elec. Eng., Univ. Manchester, Manchester, U.K., 1995. [19] S. X. Ng, F. Guo, J. Wang, L.-L. Yang, and L. Hanzo, “Joint source-coding, channel-coding and modulation schemes for AWGN and Rayleigh fading channels,” IEE Electron. Lett., vol. 39, no. 17, pp. 1259– 1261, Aug. 2003. [20] R. Bauer and J. Hagenauer, “On variable-length codes for iterative source/channel decoding,” in Proc. 2001 Data Compress. Conf., pp. 273–282. [21] R. Thobaben and J. Kliewer, “Low-complexity iterative joint source channel decoding for variable-length encoded Markov sources,” IEEE Trans. Commun., vol. 53, no. 12, pp. 2054–2064, Dec. 2005. [22] R. Bauer and J. Hagenauer, “Iterative source/channel decoding based on a trellis representation for variable length codes,” in Proc. 2000 Int. Symp. Inf. Theory, June 2000. [23] R. Bauer and J. Hagenauer, “Symbol-by-symbol MAP decoding of variable length codes,” in Proc. 2000 ITG Conf. Source Channel Coding, pp. 111–116. [24] A. Guyader, E. Fabre, C. Guillemot, and M. Robert, “Joint sourcechannel turbo decoding of entropy-coded sources,” IEEE J. Sel. Areas Commun., vol. 19, no. 9, Sep. 2001. [25] K. Lakovic and J. Villasenor, “On reversible variable length codes with turbo codes, and iterative source-channel decoding,” in Proc. 2002 IEEE Int. Symp. Inf. Theory, p. 170. [26] X. Jaspar and L. Vandendorpe, “New iterative decoding of variable length codes with turbo codes,” in Proc. 2004 IEEE Int. Conf. Commun., vol. 5, pp. 2606–2610. [27] K. Lakovic, Tao Tian, and J. Villasenor, “Iterative decoder design for joint source-channel LDPC coding,” in Proc. 2005 EUROCON Int. Conf. Computer as a Tool. [28] X. Pan, A. Cuhadar, and A. H. Banihashemi, “Combined source and channel coding with JPEG2000 and rate-compatible low-density paritycheck codes,” IEEE Trans. Signal Process., vol. 54, no. 3, pp. 1160– 1164, Mar. 2006. [29] L. Pu, Z. Wu, A. Bilgin, M. W. Marcellin, and B. Vasic, “LDPC-based iterative joint source-channel decoding for JPEG2000,” IEEE Trans. Image Process., vol. 16, no. 2, pp. 577–581, Feb. 2007. [30] V. B. Balakirsky, “Joint source-channel coding with variable length codes,” in Proc. 1997 IEEE Int. Symp. Inf. Theory, p. 419. [31] D. Chase, “A class of algorithms for decoding block codes with channel measurement information,” IEEE Trans. Inf. Theory, vol. 18, no. 1, pp. 170–182, Jan. 1972. [32] R. M. Pyndiah, “Near-optimum decoding of product codes: block turbo codes,” IEEE Trans. Commun., vol. 46, no. 8, Aug. 1998. [33] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Trans. Inf. Theory, vol. 20, no. 2, pp. 284–287, Mar. 1974. [34] R. G. Gallager, “Low-density parity check codes,” IRE Trans. Inf. Theory, vol. 8, pp. 21–28, Jan. 1962. [35] D. J. C. Mackay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inf. Theory, vol. 45, Mar. 1999. [36] Digital Video Broadcasting (DVB); Second Generation Framing Structure, Channel Coding and Modulation Systems for Broadcasting, Interactive Services, News Gathering and Other Broadband Satellite Applications, ETSI Std. EN. 302.307, June 2004.
ZRIBI et al.: LOW-COMPLEXITY SOFT DECODING OF HUFFMAN CODES AND ITERATIVE JOINT SOURCE CHANNEL DECODING
[37] G. Zhou and Z. Zhang, “Synchronization recovery of variable-length codes,” IEEE Trans. Inf. Theory, vol. 48, no. 1, pp. 219–227, Jan. 2002. [38] S. Malinowski, H. Jégou, and C. Guillemot, “Synchronization recovery and state model reduction for soft decoding of variable length codes,” IEEE Trans. Inf. Theory, vol. 53, no. 1, pp. 368–377, Jan. 2007. [39] W. B. Pennebaker and J. L. Mitchell, JPEG: Still Image Data Compression Standard. International Thomson, 1993. [40] A. Zribi, S. Zaibi, R. Pyndiah, and A. Bouallègue, “Chase-like decoding of arithmetic codes with image transmission applications,” in Proc. 2009 IEEE Int. Conf. Signal Image Technol. Internet Based Systems. Amin Zribi received the engineering degree in information and communication technologies in 2005, and the M.Sc degree in communication technologies in 2006, both from the National Engineering School of Tunis, Tunisia. In 2010, he received the Ph.D degree in information and communication technologies and sciences from Telecom Bretagne, Brest, France. In September 2010 he joined the Higher Institute of Communication Technologies (IsetCom), where he is now an Assistant Professor. Since January 2012, he has been a associate researcher at Telecom Bretagne and his research interests are in the fields of multimedia signal processing and communications. In particular, his expertise includes image and video coding, data compression, and joint source channel coding. Ramesh Pyndiah qualified in telecommunications eng. from Telecom Bretagne in 1985. In 1994, he received his Ph.D. in electronics engineering from the Université de Bretagne Occidentale, and in 1999 he earned the HDR (Habilitation à Diriger des Recherches) from Université de Rennes I. From 1985 to 1990, he was a Research Engineer at the Philips Research Laboratory (LEP) in France, where he was involved in the design of Monolithic Microwave Integrated Circuits (MMIC) for digital radio links. In 1991 he worked for one year at TRT (Philips Telecommunications Division, France) as Development Project Manager for MMIC components. In October 1991, he joined the Signal & Communications Department of Telecom Bretagne where among others he invented and developed block turbo codes (turbo product codes). Since 1998 he is the Head of the Signal & Communications Department. He has co-authored more than 20 journal papers and 90 conference papers in the areas of channel coding and digital communications. He has also contributed to two book chapters and 16 patents. He was co-editor of special journal issues on turbo techniques (Eurasip and Annals of Telecom), TPC member of several major conferences on communications (ICC, Globecom, ECWT, etc.) and executive committee member of ICC’04, ISTC (97,00,03, and 10), PIMRC’08, and WCNC’12. He was involved in the evaluation of several EU projects, and has chaired the IEEE ComSoc France chapter since 2000. He is recipient of the 2001 Blondel Medal (SEE). His current research interests are: modulation, channel coding (turbo codes), joint source channel coding and decoding, cooperative wireless coding, and MIMO techniques.
1679
Sonia Zaibi was born in Tunis, Tunisia, in 1974. She received the degree in telecommunications engineering (with honors) from the National School of Engineers of Tunis, in 1999, and the M.Sc. and Ph.D. degrees in electronic engineering from the University of Bretagne Occidentale, Brest, France, in 2000 and 2004, respectively. During her M.Sc. and Ph.D. studies, she was at the department of signal and communications of Telecom Bretagne, Brest, France. Since 2004, she has been with the National School of Engineers of Tunis, where she is currently an Assistant Professor and a member of the SysCom laboratory. Her research interests include information theory, joint source-channel coding, error control coding, data compression, and digital communications. Frédéric Guilloud received the Eng. degree in electronics from the Ecole Nationale Superieure de l’Electronique et de ses Applications (ENSEA) in 1998, and is a former student of the Ecole Normale Superieure de Cachan (ENS Cachan). He received the Ph.D. degree in 2004 from Telecom ParisTech in signal and communications, entitled Generic Architecture for LDPC Codes Decoding. He is Professeur Agrégé in electronics and power electronics since 1999, and Associate Professor at Telecom Bretagne in the Signal and Communications Department since 2004. His research and teaching activities focus on error correcting codes and digital communications.
Ammar Bouallègue was born in Tunis, Tunisia, in 1945. He received the electrical engineering and engineer doctor degrees from ENSERG of Grenoble, France, in 1971 and 1976, respectively, and the Ph.D. degree from ENSEEIHT, INP of Toulouse, France, in 1984. In 1976, he joined the engineering school of Tunis (ENIT), Tunisia. From 1984 to 1992, he was the head of the Electrical Department, ENIT, and from 1993 to 1995, he was Director of Telecommunication for the High School of Tunis, Tunisia. He is the head of the Communication Systems (SysCom) Laboratory at the National Engineering School of Tunis. His research interests include passive and active microwave structures, signal coding theory, and digital communications.