 Research
 Open Access
Rateadaptive BCH codes for distributed source coding
 Matteo Salmistraro^{1}Email author,
 Knud J Larsen^{1} and
 Søren Forchhammer^{1}
https://doi.org/10.1186/168761802013166
© Salmistraro et al.; licensee Springer. 2013
Received: 15 April 2013
Accepted: 11 October 2013
Published: 5 November 2013
Abstract
This paper considers BoseChaudhuriHocquenghem (BCH) codes for distributed source coding. A feedback channel is employed to adapt the rate of the code during the decoding process. The focus is on codes with short block lengths for independently coding a binary source X and decoding it given its correlated side information Y. The proposed codes have been analyzed in a highcorrelation scenario, where the marginal probability of each symbol, X _{ i } in X, given Y is highly skewed (unbalanced). Rateadaptive BCH codes are presented and applied to distributed source coding. Adaptive and fixed checking strategies for improving the reliability of the decoded result are analyzed, and methods for estimating the performance are proposed. In the analysis, noiseless feedback and noiseless communication are assumed. Simulation results show that rateadaptive BCH codes achieve better performance than lowdensity paritycheck accumulate (LDPCA) codes in the cases studied.
Keywords
 Distributed source coding
 Rateadaptive errorcorrecting codes
 Rateadaptive BCH codes
 BCH codes
1 Introduction
In this paper, we address the use of BoseChaudhuriHocquenghem (BCH) codes in distributed source coding (DSC) with feedback. In recent years, DSC [1, 2] has gained increasing interest, e.g. for distributed video coding (DVC) [3–6]. The coding is referred to as SlepianWolf (SW) coding and is based on the SW theorem [1]. The relation between SW coding and syndrome decoding of errorcorrecting codes was observed by Wyner in [7].
Applying and designing practical SW coding schemes of finite block length pose challenges. Turbo and lowdensity paritycheck (LDPC) codes have been applied and studied, e.g. in [8] using block lengths of 10^{4} and 10^{5} bits, but this may be too long for some practical applications.
We shall consider SW coding of shorter blocks within an architecture, where the decoder can provide feedback to the encoder. Therefore, we shall compare the proposed codes with lowdensity paritycheck accumulate (LDPCA) codes [9]. We shall focus on the case where each symbol to be coded, X _{ i }, is strongly correlated with the side information Y, and thus the conditional entropy H(XY) is low. We shall analyze the case where the difference between X _{ i }, and the corresponding symbol in the side information, Y _{ i }, is modelled as a Bernoulli process having (a small) error probability, p = P(X _{ i } ≠ Y _{ i }).
In DSC, using short block length may be of interest, e.g. in the case of delay restrictions relative to the bit rate or for adaptive coding. Contextbased adaptive coding as used, e.g. in conventional image and video coding may, in principle, adapt after every symbol. Using short code lengths in DSC, it is possible to obtain decoded bits at a fine granularity, allowing, in turn, the parameters used to model the source to adapt and/or converge faster, when performing adaptive DSC. In transform domain DVC [6], bit planes of DCT coefficients are coded: for QCIF resolution this means 1584 source bits in each bit plane to encode, and it may be desired to adapt with even finer granularity in an adaptive DSC architecture. Distributed coding of strongly correlated sources was treated in [10], where arithmetic codes were used in place of LDPC or Turbo codes. However, in the reported results, the bit error rate was not reduced much when compared with simply selecting the most likely values of X _{ i } given the corresponding side information, Y.
In the case of feedbackfree DSC coding [3, 4, 11], the code has to be designed to cope with the relatively large variation in number of errors in case of short blocks. As we also demonstrate in the result section, the performance of a feedbackfree nonrateadaptive code is limited by the block length and for short and mediumlength codes clearly inferior compared with the performance of its rateadaptive counterpart. In the context of nonrateadaptive codes, quasiarithmetic codes for DSC have been investigated in [12], and in the field of realnumber codes, BCHDFT codes [13] have been proposed.
In general, a rateadaptive code is an errorcorrecting code having the capability to vary its strength (i.e. increase or decrease the number of parity symbols) in order to adapt to the number of errors in the given block. In our case, rate adaptation is performed incrementally and controlled by the decoder by means of a feedback channel. This is a quite common assumption in LDPCA and Turbo codebased DVC [5, 6]. BCH codes with feedback channel have also been used in [14] in order to perform the quantum key reconciliation step in the quantum key distribution protocol. In this system, the rate of the BCH code is fixed and it is decided based on the noise on the quantum channel. The feedback is used to allow the receiver to inform the sender whether the quantum key has been correctly reconciled, and therefore, it does not need to be discarded. Nevertheless, the feedback channel is not used for rate adaptation purposes.
In this work, we will demonstrate that our RA BCH codes are able to outperform LDPCA codes if p < 0.04 (H(XY) < 0.24). When using efficient side information generation methods in DVC, e.g. OBMC or optical flowbased systems [16], the most significant bit planes of the coded coefficients have error rates comparable with those in our scenario when lowmotion sequences are analyzed. For example, for the Hall Monitor, sequence is coded using side information produced by optical flow, and the maximum error rate among the first three bit planes of the first five DCT coefficients is p = 0.038. In some of the cases, it is less than 0.01. In [16] it has been noted that in lowmotion sequences there is a consistent gap between the performance of an ideal code and the real performance of the LDPCA code. Our system could be considered as part of a WynerZiv decoder in order to reduce the gap for the easytodecode (most significant) bit planes in lowmotion sequences. It should be noted that we do not think that our codes can substitute LDPCA (or Turbo) codes generally in DVC, but we think that a hybrid system, using both BCH and LDPCA codes, chosen accordingly to the correlation of the bit planes, can improve the performance of current DSC architectures. For example, in [17] the authors presented a DVC codec able to perform rate decision at the decoder, achieving superior performance through the use of different coding modalities: skip, arithmetic, and intracoding. We think that our codes could be used in a similar way. The proposed scheme can also be used for other DSC scenarios, e.g. in cases such as the one examined in [14], where LDPC codes require very long block lengths and the correlation is so high that the RA BCH codes are an efficient solution for many of the considered cases.
The rest of the paper is organized as follows: In Section 2 RA BCH coding and distributed decoding is presented. Section 3 presents expressions for analyzing the performance. In order to increase the reliability without heavily affecting the rate, Section 4 extends the scheme by an extra CRC check over multiple blocks decoded using RA BCH. Simulation results are presented in Section 5.
2 Rateadaptive BCH codes
We consider a specific version of SW coding [1] employing RA BCH codes over a communication system with error free transmission and errorfree feedback channel. We shall describe SW coding using linear block codes in the next subsection and thereafter describe the adaptive algorithm using BCH codes which belong to the class of linear codes.
2.1 SlepianWolf coding with linear block codes
Since the code is of finite length, errors in cannot be completely avoided. We consider the case that the difference E is an independent and identically distributed (i.i.d.) Bernoulli process with error probability p, given the side information Y. We analyze the performance assuming that X (and Y) are equiprobable i.i.d. In this case, the likelihood may be expressed by the Hamming distance, and thus, the decoding performance of the instance above follows from the usual performance analysis for linear block codes [18, 19].
2.2 Rate adaptation
The block coding scheme described above may be made rate adaptive using an increasing number of rows in H(s), thus providing incremental redundancy. This requires that the errorcorrecting code is chosen from a family of codes where the H matrix is extensible with more rows while the previous rows are kept, i.e. where more syndrome bits may be produced, without changing the previous ones. In this way, when more syndrome bits are requested by the decoder, the already received bits can be reused in the next decoding attempt, see Figure 1.
BCH codes [18] form such a family and allow simple algebraic decoding. We shall describe how to use them in a rateadaptive way. The length of the blocks X and Y is l ≤ 2^{ M }1 for an integer M. Let α be a primitive element in G F(2^{ M }). For fixed s and a given syndrome, s _{ X }(s), the BCH code is sure to correct t(s) errors if α, α ^{2}, …, α ^{2t(s)} are roots of the codewords regarded as binary polynomials. The syndrome (2) is calculated in blocks of bits, which we hereafter name syndromes, and each of these is calculated in G F(2^{ M }) as X(α ^{ i }) = r _{ i }(α ^{ i }), where r _{ i }(z) is the remainder of X(z) divided in G F(2) by m _{ i }(z), the minimal polynomial for α ^{ i }. For binary BCH codes, for some values of i, syndromes do not increase the errorcorrecting capability; therefore, there is only a need to know the other syndromes which we call independent syndromes. We denote the number of bits in r _{ i }(α ^{ i }) as m(s) ≤ M. The structure of BCH codes makes them suited for rate adaptation as the number of syndromes is freely selectable up to the maximum number of syndromes.
We shall, as usual, decode the BCH codes using bounded distance decoding, i.e. correct up to t(s) errors, whereas a maximumlikelihood decoder would have been more powerful. Rate adaptation through the use of the feedback channel allows to counterbalance the coding loss due to having a short block length. For decoding, we use the BerlekampMassey algorithm [18] to determine the error locator polynomial since it operates on the syndromes for increasing powers of α just as the rate adaptation. The next step in the decoding determines the errors from the roots in the error locator polynomial, and this result may be evaluated to assess its acceptability. Thus, the rate adaptation algorithm may be stopped if the result is acceptable. If a new independent syndrome is needed (i.e. the result is not acceptable), it is requested from the encoder, and the BerlekampMassey algorithm may continue from the stopping point since all previous syndromes are already included in the current result. A similar approach for adapting BCH codes was used to do error correction in an adaptive ARQ communication system by Shiozaki [20]. This approach also assumes errorfree syndromes, but the calculations involved are unnecessarily complex and no analysis of the (adaptive) BCH is provided.
The index s indicates the number of independent syndromes known at a certain step in the rate adaptation. We will also refer to s also as the state of the system.
2.3 Checking strategies
The bounded distance decoding of s independent syndromes may have two different results if the actual number of errors is higher than t(s). If the actual error pattern E does not come closer than t(s) to any codeword, the decoder declares a decoder failure and the rateadaptive scheme just continues by requesting a new independent syndrome. If the error pattern is at most t(s) from another nonzero codeword, we have a decoder error and the error pattern is wrongly accepted. For ReedSolomon codes, the probability that a received vector with more than t(s) errors is erroneously decoded is known to be close to 1/t(s)! [21]. A similar argument may be used for the probability of decoding error for a BCH code. Thus, if t(s) is reasonably high, there is no need for further testing of the reliability, but for smaller t(s), a test for reliability has to be added. We suppose that the BCH decoder has initially accepted a given decoded word as correct, employing s syndromes: now we add a procedure to check it. We shall detail the three coding strategies we analyze.
The most common way of addressing the problem is to use additional CRC check bits [11] after the BCH decoder has accepted a decoded word. If the CRC check fails, the BCH decoder is forced to start again. We refer to this approach as Fixed CRC check. This is also used in, e.g. DVC codecs [6]. It has to be noted that in common communication systems a CRC check is usually employed to check the correctness of a decoded block, and in case of failure, the block is requested again by the receiver if this is possible. In the rateadaptive case, the CRC check is used to allow the decoder to improve the reliability of the decoded result through the request of other syndromes when the CRC check rejects the decoded string.
Since the reliability of the decoded sequence varies greatly with respect to the state s in which the decoder is, we can employ the knowledge of state s of the decoder (known at the encoder by means of the feedback) to use extra bits to perform the checking, i.e. we perform a strong check (requiring more bits) if t(s) is low but a weaker check, or even no check, (requiring fewer or no bits) if t(s) is high enough. We can perform the check using more syndromes or CRC bits.
In this scenario, we can request a CRC check, which in strength is matched with the desired resulting reliability and the reliability of the result at the time of the request. We denote the number of extra bits required to check the result as c(s) which is a nonincreasing function (c(s) ≥ c(s + 1)). The reliability is improved by (about) 2^{c(s)} when using a CRC check [22]. In case of a decoder error at s ^{′}, the c(s ^{′}) bits used for the checking are stored and used for the next result the BCH decoder accepts. Hence, in general, the number of bits used to check a result when the system is in state s ≥ s ^{′} is greater than or equal to c(s). We call this approach Variable CRC check (see Appendix).
When performing the check through the request of extra syndromes, we can simply request δ(s) extra syndrome(s) (whose transmission requires c(s) bits) and let the BerlekampMassey algorithm continue one or more steps: if the result is not consistent with the extra check syndrome(s), the RA BCH decoder is forced to start the decoding process again. If the check fails, a new error pattern may be calculated based on the syndromes already available, including the checks, and if needed, extra check syndromes may be requested. We call this third solution Syndrome check method.
To summarize, we investigate and analyze three different checking strategies to be performed after a word has been accepted by the BCH decoder:

Fixed CRC check: request a fixed amount of CRC check bits to check the result (analysis in Section 3.1)

Variable CRC check: request a variable amount of CRC check bits to check the result; the strength of the CRC check is matched with the reliability of the decoded result (analysis is in the Appendix)

Syndrome check: request a variable amount of syndrome bits to check the result; the number of syndromes is related to the reliability of the result (analysis is in Section 3.2)
It is quite straightforward to notice that in the two latter cases, the algorithm deciding the value of δ(s) or c(s) dictates the performance of the code. In this paper, the parameters of the algorithm are specified by a set of thresholds T = {T _{0}, T _{1}, T _{2}, T _{3}, T _{max}} where T _{0} < T _{1} < … < T _{max}. The decision on the strength of the check is based on comparing the state s with the thresholds. We will refer to T to as the strategy.
As can be seen, in the results to be presented, the maximum number of extra syndromes δ _{ M } = 3. In order to have a more compact notation, we make the dependence on T implicit, denoting δ _{ T }(s) simply as δ(s). In the case of variable CRC, we define c(s) = M δ(s), while in the case of Syndrome check, in general, c(s) ≤ M δ(s). To summarize, a RA BCH DSC codec is specified by the length, l = 2^{ M }  1, of the RA BCH code and the strategy, T, used to decide the values of c(s).
3 A model for the performance of rateadaptive BCH codes
where N(s) ($=\sum _{{s}^{\prime}=1}^{s}m\left({s}^{\prime}\right)$) is the total number of bits in the s independent syndromes.
The probability of having more than t(s) errors and thereby not having the correct result after bounded distance decoding is expressed by P _{ e }(> t(s)). The argument presented in [21], which we use to express (7) is based on the assumption that, when there are more than t(s) errors, the error pattern, E, is completely random. Therefore, we may apply a combinatorial analysis. The ratio in (7) relates the possible decoder errors, i.e. cases with up to t(s) Hamming distance to a wrong codeword of the BCH code to the total number of possible syndromes. There are ${N}_{\mathit{\xca}}$ distinct error patterns, which may be output as accepted by the code. Actually one of these is the correct pattern, E. To reflect this, the expression should be multiplied by the ratio of the number of possible patterns which are decoder errors (${N}_{\mathit{\xca}}1$) and divided by ${N}_{\mathit{\xca}}$, but we assume $({N}_{\mathit{\xca}}1)/{N}_{\mathit{\xca}}\approx 1$.
In the case of t(s) > p l, we use 2t(s) + 1 in the estimate (11) since it is the minimum distance between two valid words of the code, one of which is the correct error pattern and the other is the wrongly decoded error pattern. Summarizing, given a code with block length l = 2^{ M }  1 and a strategy T and for a given p, we want to analyze the performance by estimating the rate and the BER.
3.1 Rateadaptive BCH codes using Fixed CRC check
since we need to take into account the rate contribution of the CRC check only once because it does not depend on the state s of the decoder.
3.2 Rateadaptive BCH codes using Syndrome check
For i ≠ 0, (20) is expressed using three terms (2123); Π(s, i) (21) is the probability of having more than s + i errors given that we have more than s + i  1 errors. This knowledge comes from the fact that we made a mistake in the previous check. Increasing the number of syndromes from s+i  1 to s + i increases the strength of the code; this phenomenon is expressed using the ratio between the number of words belonging to the code when using s + i  1 syndromes and s + i syndromes (22). These two terms can be derived from the same heuristic reasoning used for (7). The last term (23) is a correction factor. Consider the sphere having centre in the correct word and radius t(s + δ(s)). We use the volume (weighted by the error probability) of the shell (from t(s + i  1) to t(s + δ(s))), we still have to explore, as numerator. This correction factor takes into account that the previous two terms overestimate the error probability as the system not only has to make consecutive errors but also identical errors.
Summing the contributions (89) of r(s) (31) and b(s) (32) gives the estimated performance of the RA BCH code.
4 Hierarchical check of rateadaptive BCH codes
The reliability of the decoded result is a central issue in DSC. Increased reliability can be achieved at the expense of a higher rate. In order to decrease the BER without heavily effecting the rate, we proposed [15] the use of a hierarchy of checks, the first one being performed at block level, as described in Section 3.2, and the other(s) at a higher macroblock level where a macroblock is the union of f blocks. In this way, using an additional check of c bits on the macroblock, the cost sustained from each block is reduced to c/f bits at the expense of higher latency.
We implement and analyze only one level of the hierarchical structure. After decoding f blocks using the Syndrome check RA BCHbased system, a CRC spanning the macroblock is generated and it is used to check the decoded results. If the CRC check is not satisfied, an extra syndrome is requested for each of the individual blocks in turn, one at a time, until a block decodes to a different sequence than before. Thereafter, the cbit CRC check is performed again. This continues until the cbit CRC check is satisfied.
It has to be noted that r _{ H }(s) takes into account the full extra contributions on the whole macroblock coming from errors of the current block. Since we are interested in average performance, we can add r _{ H }(s) to the rate estimation of the current block. In this way, the contributions to the current block coming from errors in other blocks in the total estimation of the rate are also included.
5 Experimental results
In this section, we present our numerical calculations and simulations in order to validate our theoretical analysis. We compare our methods with LDPCA codes. All the simulations have been conducted using 10^{7} blocks or 10^{7} macroblocks in the case of hierarchical CRC check. We experimented with three rateadaptive BCH codes with length l = 255, 511, 1023. We focused on a high correlation (low entropy) scenario; hence, we chose low values of p.
Among all the possible strategies, some can be inefficient, i.e. there are strategies having the same (or higher) rate but still achieving worse BER than another strategy. In order to identify the best strategies, a (linear BER) convex hull optimization is performed over the estimated performance of strategies, selecting the set of the strategies as the points forming the convex hull.
Evaluation of BER model accuracy Γ (p, l)
l  Syndrome checkbased model Γ(p, l) 

p = 0.01  
255  0.2395 
511  0.0920 
1023  0.0951 
p = 0.015  
255  0.2064 
511  0.0759 
1023  0.1609 
p = 0.02  
255  0.0989 
511  0.1092 
1023  0.4271 
p = 0.025  
255  0.1076 
511  0.1239 
1023  0.1057 
p = 0.03  
255  0.0305 
511  0.0545 
1023  0.0229 
p = 0.035  
255  0.0772 
511  0.0798 
1023  0.0623 
p = 0.04  
255  0.0586 
511  0.3445 
1023  0.0145 
where B _{ S }(l, p, T) is the BER estimated by simulations and B(l, p, T) is the BER calculated using the model proposed in Section 3.2.
where R _{LDPCA} is the normalized rate of the LDPCA code and R _{BCH} is the normalized rate of the BCH code, both obtained by simulations and not the model. For the BCH codes, we chose l = 255, and for the LDPCA codes, we chose l = 396, 1584 with an 8bit CRC check. In this case, the LDPCA codes outperform, in terms of the normalized rate, the BCH code by Δ _{ g } = 7.6% and Δ _{ g } = 10%, respectively, for similar BERs. Using the same metric for p = 0.005 and comparing the RA BCH having l = 1023 with the LDPCA code having l = 1584 and an 8bit CRC check, we obtain Δ _{ g } = 58%. It has to be noted that for lowcorrelation scenarios our system is not able to outperform the LDPCA codes, but based on the relatively small loss at p = 0.1, we note that in case of, e.g. varying values of p, the RA BCH codes do provide robustness outside the interval for which it performs better than LDPCA.
Our new model is also able to provide more accurate performance estimates than the model presented in [15] for a given strategy in almost all the cases. The improved accuracy is high: for example, one of the best cases is for p = 0.01, l = 255: the estimated BER by the proposed model for a given strategy is 1.85 × 10^{7}, while the simulated performance of the real decoder is BER = 2.20 × 10^{7}, and the model of [15] predicted BER = 8.89 × 10^{7}. Among the tested scenarios, the model of [15] is able to obtain better accuracy than the proposed one only in a few cases, but even in these cases, the results of the proposed model are still sufficiently accurate. The worst of these cases is l = 1023, p = 0.035: for the strategy having the highest difference, the BER is 9.36 × 10^{6}, the estimated BER by [15] is 9.16 × 10^{6}, and the predicted BER using our proposed model is 8.21 × 10^{6}.
The adaptive BCH and the LDPCA approach may also be compared with respect to complexity. Two aspects are interesting: the encoder and the decoder complexity.
The BCH encoder produces syndromes of (mostly) M bits and each of them may be produced with l division steps with an M degree polynomial. The number of syndromes needed is variable on average around pl, so the number of operations is growing as plMl. For the LDPCA encoder, approximately the same number of syndrome bits should be produced, and if it is implemented as an ordinary matrix multiplication, the number of operations becomes the same. Actually, the number of operations could be reduced using the sparse nature of the parity check matrix since it depends on the number of edges in the bipartite graph for the code which grows with l, but overall, we estimate the encoder complexity to be similar for the two approaches.
The BCH decoder uses a few operations to perform the next step in the BerlekampMassey algorithm for each received syndrome, but then a search for roots in the error locator has to be done. The complexity is proportional to l and to the current number of syndromes, and it is done each time a new syndrome is requested. The LDPCA decoder uses the approach of [9] and performs 100 iterations for each new set of syndrome bits. The complexity is difficult to estimate, but in our implementation which was not optimized in any way, the execution time of the BCH decoder was around 16 times less than that of the LDPCA decoder for a typical case: p = 0.04, l = 1023, LDPCA 1584 as benchmark. In order to account for the different lengths, in this comparison, we normalized the decoding time of both codes by their respective lengths.
6 Conclusions
In this work, we propose and analyze the concept and use of rateadaptive BCH codes for DSC. We demonstrated that these codes can outperform the rateadaptive LDPCA codes when employed in a highcorrelation scenario using short block lengths. Checking strategies are applied in order to increase the reliability of the decoded results. We presented and analyzed an adaptive strategy together with the RA BCH and, for comparison, both a fixed and an adaptive CRC. Finally, we devised and tested models which were able to correctly predict the performance of the codes. These models are employed to find the optimal code and check strategy knowing only the probability p. Furthermore, the reliability of our scheme was increased using a hierarchical CRC, which consists of a CRC spanning more blocks in order to divide the cost of a check between the them, obtaining a good tradeoff between the reliability and increase of the rate at the expense of increased latency.
Appendix
Rateadaptive BCH codes using Variable CRC check
When dealing with the Variable CRC check approach, we can use an approach similar to the one we have seen in the Fixed CRC check, but now the number of CRC check bits used for each state s is variable. In fact, c(s) bits are required only if no CRC bits have been requested in the past states; hence, we can now define C _{avg}(s) as the average number of bits used to check an acceptable decoded solution when in state s and Λ(s) as the average reliability improvement due to the CRC check in state s.
Declarations
Acknowledgements
The authors express their gratitude to Dr. David Varodayan for the valuable support in generating the LDPCA code having a block length of 4800.
Authors’ Affiliations
References
 Slepian D, Wolf J: Noiseless coding of correlated information sources. IEEE Trans. Inf. Theory 1973, 19(4):471480. 10.1109/TIT.1973.1055037MathSciNetView ArticleMATHGoogle Scholar
 Wyner A, Ziv J: The ratedistortion function for source coding with side information at the decoder. IEEE Trans. Inf. Theory 1976, 22: 110. 10.1109/TIT.1976.1055508MathSciNetView ArticleMATHGoogle Scholar
 Puri R, Majumdar A, Ramchandran K: PRISM: a video coding paradigm with motion estimation at the decoder. IEEE Trans. Image Process 2007, 16(10):24362448.MathSciNetView ArticleGoogle Scholar
 Yeo C, Ramchandran K: Robust distributed multiview video compression for wireless camera networks. IEEE Trans. Image Process 2010, 19(4):9951008.MathSciNetView ArticleGoogle Scholar
 Girod B, Aaron A, Rane S, RebolloMonedero D: Distributed video coding. Proc. IEEE 2005, 93: 7183.View ArticleGoogle Scholar
 Artigas X, Ascenso J, Dalai M, Klomp S, Kubasov D, Ouaret M: The DISCOVER codec: architecture, techniques and evaluation. In Proceedings of the 2007 Picture Coding Symposium. Lisbon, Portugal; November 2007.Google Scholar
 Wyner A: A Recent results in the Shannon theory. IEEE Trans. Inf. Theory 1974, 20: 210. 10.1109/TIT.1974.1055171MathSciNetView ArticleMATHGoogle Scholar
 Stankovic V, Liveris A, Xiong Z, Georghiades C: On code design for the SlepianWolf problem and lossless multiterminal networks. IEEE Trans. Inf. Theory 2006, 52(4):14951507.MathSciNetView ArticleMATHGoogle Scholar
 Varodayan D, Aaron A, Girod B: Rateadaptive distributed source coding using lowdensity paritycheck codes. EURASIP Signal Process. J. Spec Section Distributed Source Coding 2006, 86: 31233130.MATHGoogle Scholar
 Grangetto M, Magli E, Olmo G: Distributed arithmetic coding for the SlepianWolf problem. IEEE Trans. Signal Process 2009, 57(6):22452257.MathSciNetView ArticleGoogle Scholar
 Ali M, Kuijper M: Source coding with side information using list decoding. In Proceedings of the IEEE ISIT 2010. Austin, TX, USA; June 2010:9195.Google Scholar
 Malinowski S, Artigas X, Guillemot C, Torres L: Distributed coding using punctured quasiarithmetic codes for memory and memoryless sources. IEEE Trans. Signal Process 2009, 57(10):41544158.MathSciNetView ArticleGoogle Scholar
 Vaezi M, Labeau F: WynerZiv coding in the real field based on BCHDFT codes. arXiv:1301.0297 2013.Google Scholar
 Treeviriyanupab P, Sangwongngam P, Sripimanwat K, Sangaroon O: BCHbased SlepianWolf coding with feedback syndrome decoding for quantum key reconciliation. In Proceedings of ECTICON 2012. Thailand; May 2012:14.Google Scholar
 Forchhammer S, Salmistraro M, Larsen X, Huang KJ, Luong HV: Rateadaptive BCH coding for SlepianWolf coding of highly correlated sources. In Proceedings of Data Compression Conference (DCC), 2012. Snowbird, UT, USA; April 2012:237246.View ArticleGoogle Scholar
 Luong H, Rakêt L, Huang X, Forchhammer S: Side information and noise learning for distributed video coding using optical flow and clustering. IEEE Trans. Image Process 2012, 21(12):47824796.MathSciNetView ArticleGoogle Scholar
 Slowack J, Mys S, Škorupa J, Deligiannis N, Lambert P, Munteanu A, de Walle RV: Ratedistortion driven decoderside bitplane mode decision for distributed video coding. Signal Process. Image Commun 2010, 25(9):660673. 10.1016/j.image.2010.06.002View ArticleGoogle Scholar
 Blahut RE: Algebraic Codes for Data Transmission, 1st edn.. Cambridge: Cambridge University Press; 2003.View ArticleGoogle Scholar
 Polyanskiy Y, Poor H, Verdu S: Channel coding rate in the finite blocklength regime. IEEE Trans. Inf. Theory 2010, 56(5):23072359.MathSciNetView ArticleGoogle Scholar
 Shiozaki A: Adaptive typeII hybrid ARQ system using BCH codes. Trans. IEICE 1992, E75A: 10711075.Google Scholar
 McEliece R, Swanson L: On the decoder error probability for Reed  Solomon codes (Corresp.). IEEE Trans. Inf. Theory 1986, 32(5):701703. 10.1109/TIT.1986.1057212MathSciNetView ArticleMATHGoogle Scholar
 Kløve T, Korzhik V: Error Detecting Codes. Boston: Kluwer Academic; 1995.View ArticleGoogle Scholar
 Varodayan D, Lin YC, Girod B: Adaptive distributed source coding. IEEE Trans. Image Process 2012, 21(5):26302640.MathSciNetView ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License(http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.