{'fraction_non_alphanumeric': 0.04298334285588713, 'fraction_numerical': 0.010152507361666594, 'mean_word_length': 4.191421400866986, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Algebraic Framework for Concatenated Linear Block Codes in Side Information Based Problems

This work provides an algebraic framework for source coding with decoder side information and its dual problem, channel coding with encoder side information, showing that nested concatenated codes can achieve the corresponding rate-distortion and capacity-noise bounds. We show that code concatenation preserves the nested properties of codes and that only one of the concatenated codes needs to be nested, which opens up a wide range of possible new code combinations for these side information based problems. In particular, the practically important binary version of these problems can be addressed by concatenating binary inner and non-binary outer linear codes. By observing that list decoding with folded Reed- Solomon codes is asymptotically optimal for encoding IID q-ary sources and that in concatenation with inner binary codes it can asymptotically achieve the rate-distortion bound for a Bernoulli symmetric source, we illustrate our findings with a new algebraic construction which comprises concatenated nested cyclic codes and binary linear block codes.


I. INTRODUCTION
Two traditional problems in the field of communications are the Wyner-Ziv coding problem [1] and its dual version, the Gel'fand-Pinsker problem [2], [3]. The first is an instance of distributed source coding: one source is encoded by taking advantage of the fact that the decoder receives another correlated source as side information. In contrast, the Gel'fand-Pinsker problem is a channel coding problem in which a channel encoder embeds messages by using available channel state information as side information [3]. We will refer to these problems also as source coding with decoder side information (SCSI) for the Wyner-Ziv case, and as channel coding with encoder side information (CCSI) for the Gel'fand-Pinsker problem in the following, respectively.
The duality of these problems has been studied in [4] for the Gaussian case, where the authors also analyze how this relationship can be exploited to design dual coset codes. While nested lattice based coset coding schemes for these problems have been proposed for continuous-input (Gaussian) channels [5], in the following we focus on the binary version of these problems, as this is beneficial in many applications which cope with binary data and communication channels, as for example in digital watermarking for the case of CCSI and in distributed video coding for SCSI. In [6] superposition coding was proposed for the binary CCSI case for which random codes and maximum-likelihood (ML) decoding is able to achieve capacity. Differently from superposition coding, nested codes have been used for the binary SCSI case, and a technique based on nested parity check codes has been proposed in [7] which asymptotically achieves the rate-distortion bound for a Bernoulli symmetric source. Recently, in [8] the authors present compound LDPC/LDGM constructions for both problems which asymptotically achieve capacity for the CCSI problem and the rate distortion bound for the SCSI problem with bounded graphical complexity under ML decoding. They show that these compound codes essentially have a joint source-channel coding interpretation. Further, polar codes have been shown to be asymptotically optimal for both problems with bounded decoding complexity [9]. However, their performance for practical block lengths is worse than for other codes of the same length [10]. Finally, other coding schemes for both SCSI and CCSI based on common modulation and coding schemes, as trellis coded quantization/modulation and turbo codes have been presented (see, e.g., [6], [11], [12]).
The novel contribution of this paper is an algebraic framework which extends the above results for the binary SCSI and CCSI cases to concatenated nested linear block codes. In particular, we show that by concatenating two linear block codes new binary constructions can be obtained which preserve the nested structure either of the outer or of the inner code. This opens up a wide range of possible new code combinations and indicates that code concatenation can alleviate the search for both practical and optimal constructions. We analyze code concatenations for q m -ary outer codes and q-ary inner codes as a binary inner code can be simply obtained by q = 2.
Recent work by Guruswami and Rudra [13] gives an explicit construction of folded RS (FRS) codes that can achieve list decoding capacity. We show this result implies that if RS codes are used as source codes, the rate-distortion bound is achieved for IID q-ary sources. Together with the fact that concatenated binary codes using outer FRS codes can achieve list decoding capacity for concatenated codes [13], it motivates the use of nested RS codes as outer codes in combination with list decoding for both SCSI and CCSI problems. Finally, based on our findings we exemplarily present an algebraic concatenated nested coding scheme that asymptotically achieves the ratedistortion and capacity-rate bounds with low encoding and decoding complexity.
II. NESTED LINEAR BLOCK CODES These codes were first proposed in [14] under the name of partitioned cyclic codes and can be generally defined as follows.

Definition 1 (Nested Linear Block Code). A nested linear block code
It has been shown in [5], [6], [8] that nested codes are able to achieve the rate-distortion bound for the SCSI problem and symmetric Bernoulli sources and the capacity-noise bound for the CCSI problem and binary symmetric channels (BSCs) as communication channels, respectively. In the following, we revise these results and the use of nested linear block codes in these problems, where we focus on the binary case.

A. Channel coding with encoder side information
For this problem, we consider a BSC with noise vector Z ∼ Bern(p) (BSC(p)) and interference S, representing the channel state, which is uniformly distributed over F N 2 and known a priori at the encoder. The channel output is given by where E is the transmitted codeword under the input constraint with w H (·) denoting the Hamming weight. For encoding, we assume that without loss of generality subcode C 1 carries the information which is transmitted in K 1 dimensions of the N -dimensional vector space F N 2 . If K = dim(C) according to property (ii) in Definition 1 we have that K 2 = dim(C 2 ) where K = K 1 + K 2 . Note that a nested parity-check code is simply a dual code of the nested generator code C G (N, K, R) = C 1 (N −K 2 , K 1 , R)+C 2 (N, K 2 , R+K 1 ) [14].
For a given information vector encoded in C 1 , there are 2 K2 possible vectors in C 2 . The encoder now has the task to find a vector c 2 in C 2 such that with c 1 ∈ C 1 , such that E satisfies the constraint in (2). Otherwise, an encoder error is declared. From (1) we obtain the received vector as Lemma 1 ([8]). The error probability in recovering c 1 + c 2 from Y approaches zero with increasing N under the constraint (2) for the transmitted codeword E if the maximal message rate is given as Note that (5) approaches the rates h(W ) − h(p) of the capacity-noise bound R GP (W, p) = u.c.e.{h(W ) − h(p), (0, 0)} where "u.c.e." denotes the upper convex envelope. All other rates on the curve R GP (W, p) can be obtained by time sharing with the point (0, 0).

B. Source coding with decoder side information
This problem addresses the compression of a symmetric source W ∼ Bern( 1 2 ) by exploiting the knowledge of another correlated source Y as side information at the decoder. The correlation between sources can be represented as W = Y ⊕S where S ∼ Bern(p) is a "separation" vector corresponding to errors on a virtual BSC(p) modeling the correlation. For the estimate of the source sequenceŴ we require a constraint on the maximal distortion D, given as where d H (·) denotes the Hamming distance. The encoder receives a sequence of N bits from source W , represented by W. It can be interpreted as where c ∈ C. We also require 1 N w H (E) ≤ D due to (6), such that the stored version of W is given asŴ = c, otherwise an encoder error is declared. We again assume that information is conveyed in K 1 dimensions of the N -dimensional vector space F N 2 , corresponding to code C 1 . Thus, the resulting compression rate is K 1 /N .
At the decoder, the encoded information of length K 1 can be recovered as a codeword in C 1 of length N . Because the decoder has access to side information Y it can recover c 2 according to The decoder can then reconstructŴ by considering that c = c 1 + c 2 . (6) is given as

Lemma 2 ([8]). The overall compression rate of the scheme under the distortion constraint in
where "l.c.e." denotes the lower convex envelope. All other rates on the curve R W Z (D, p) can be obtained by time sharing with the point (p, 0).

III. CONCATENATION OF NESTED CODES
The results presented in Section II indicate that nested linear block codes can asymptotically achieve the limits for both SCSI and CCSI problems but does not address how practical capacity-approaching codes for these cases can be obtained. However, the asymptotically capacity-achieving results for compound LDGM/LDPC codes in [8] suggests that code concatenation may result in practical and efficient codes for these applications.
In this section we provide an new algebraic framework for nested concatenated codes for which the constructions in [8] can be seen as special cases. In particular, we formally prove that code concatenation preserves the nested code structure, where the inner code serves as translator to a q-ary field in such way that the outer code operates in the corresponding q mary extension field. This especially also covers the practically important binary case for q = 2.
This means that a sequence of length n in F Q can be expressed as a q-ary sequence of length nm. If m = 1 we have u = v and there is no mapping.
This definition means that the sequence u is partitioned into l groups of nm/l q-ary symbols that are each encoded by C Ψ . Note that this partition corresponds to an (nm/l)-folded code over F nm/l q . If l = n, then the groups have length m, and are the q-ary representation of a Q-ary symbol. If l = 1, the entire q-ary sequence u is encoded as a single input message by C Ψ .

Lemma 3.
Let v be a codeword of the nested linear block code C(n, k, d) over F Q with Q = q m and C = C 1 + C 2 . The concatenation between C and C Ψ (N/l, nm/l, d Ψ ) yields an equivalent code C eq (N, K, D) over F q according to C eq (N, The proof follows in a straightforward way from sequential concatenation [15]. Note that φ(v) is a q-ary codeword of C q (nm, km, d q ), which is the q-ary version of C in the underlying field F q .
The following proposition represents the main result of this section and states that the nested property as stated in Definition 1 is preserved if the outer code is a nested q-ary linear block code and the inner code is a Q-ary linear block code. Proposition 1. The concatenation between C and C Ψ produces codewords of an equivalent linear code C eq (N, K) over F q , such that Proof: 1) According to Lemma 3 we have C eq = {ψ * (φ(v))} v∈C . Since C = C 1 + C 2 , then C eq = {ψ * (φ(v 1 + v 2 ))} v1∈C1;v2∈C2 . But as ψ * and φ are a linear maps and both C 1 and C 2 are also subspaces over the ground field F q , as F n Q is equivalent to F nm q , the additivity property of linear mappings 2) We define the kernel of ψ * to be ker(ψ * ) {u ∈ C q | ψ(u) = 0}, where C q (nm, km) is the equivalent code C in the underlying field F q . As ψ * is one-to-one, ker(ψ * ) = {0}, i.e., u = 0. Equivalently, ker(φ) = {0}, which means that By using a similar approach, it follows from Proposition 1 that its converse also holds, i.e., that the nested property is preserved if the inner code is a nested q-ary linear block code and the outer code is a Q-ary linear block code.

Propositions 1 and 2 show that properties (i) and (ii) in
Definition 1 still hold after code concatenation, no matter whether the nested code is an inner or outer code. The only requirement is that both subcodes are concatenated with the same outer code, in order to preserve property (ii). We define the subcodes in the resulting q-ary nested structure of C eq as C eq1 = {ψ * (φ(v 1 ))} v1∈C1 and C eq2 = {ψ * (φ(v 2 ))} v2∈C2 which now instead can be employed in both the SCSI and the CCSI cases.
IV. CONCATENATED NESTED CYCLIC CODES AND BINARY LINEAR BLOCK CODES When employing nested codes to the SCSI problem as in Section II, C eq2 is required to be a good channel code to correct the error formed by the source encoding distortion and the observation error. At the same time, C eq must be a D-distortion source code to output a codeword as close as possible to the information sequence produced by the source with a distortion constraint D. In the case of CCSI, C eq2 takes on the role of a good W -distortion source code whereas C eq is the channel code.
While channel coding can be performed by means of good decoding algorithms, performing source coding with error correcting codes makes it necessary to have complete algorithms that can return the nearest codewords. Motivated by recent results on list decoding of RS codes we will now study the suitability of these codes for source encoding.

A. List decoding for folded Reed-Solomon codes
In [13], Guruswami and Rudra describe an explicit family of codes with a list decoding algorithm that can asymptotically achieve the information-theoretic limit of list decodability, with encoding and decoding performed in polynomial time. The proposed codes are folded RS codes, which can be seen as standard RS codes viewed as codes over a larger alphabet.
Definition 5 (ν-Folded Reed-Solomon Code (FRS)). Let α ∈ F q be a primitive element of F q . Let n ′ ≤ q − 1 be a multiple of ν and 1 ≤ k < n. An FRS code C (ν) (n ′ , k) over alphabet F ν q is a folded version of the RS code C(n, k) over F q and is defined as (10) where n ′ = n/ν. In other words, a FRS code is an RS code where ν consecutive symbols each are grouped together.
The GR algorithm for FRS codes of rate R allows to list decode in polynomial time up to a fraction of (1 − R − ε) worst-case errors. The folding operation does not change the rate of the RS code (R = k/n = k/n ′ ν), thus e ′ ν/n = 1 − k/n − ε, so e = e ′ ν is the number of correctable errors for the corresponding unfolded RS code [13].

Proposition 3.
If the GR list decoding algorithm is used in conjunction with RS codes for source encoding of IID qary sources, the probability of encoding errors asymptotically vanishes.
Proof: Starting from an observation that the normalized covering radius t(C)/n of a linear code C(n, k) [16] is t(C)/n ≤ 1 − k/n, which is met with equality by RS codes, we see that e = t(C) − ε, where ε > 0, C(n, k) is the unfolded RS code and t(C) is its covering radius. Because a fraction of errors over F ν q is equivalent to a fraction of errors over F q , the GR algorithm for FRS codes asymptotically corrects a number of errors over F q that is equal to the covering radius of the corresponding unfolded RS code.
Note that list decoding may not output a single codeword but a list of possible codewords. This does not pose a problem since the source encoder can always pick the one which is closest to the source sequence in Hamming distance.
Using concatenated codes for both the CCSI and the SCSI problems, there are two different ways of implementing the source encoding step of finding a vector c 2 ∈ C eq2 and c ∈ C eq , respectively. The first way is to perform separate source encoding for each of the concatenated codes. While RS outer codes in conjunction with the GR algorithm can optimally perform source encoding in F n q , the performance of this strategy also depends on the inner code. Another way is to perform source encoding over the concatenated binary code. In fact, list decoding capacity for binary codes can be asymptotically achieved if FRS codes are concatenated with random binary linear block codes (BLBC) [13]. This means that every Hamming sphere of radius h −1 (1 − R − ε) has polynomially many codewords. Thus, it is possible to asymptotically achieve the rate-distortion bound for a Bernoulli symmetric source.
In the following we provide a general setup which universally addresses the scenario of outer algebraic RS or BCH codes and arbitrary inner BLBCs.

B. Nested cyclic codes
The coding scheme for the outer code is based on an algebraic construction of nested cyclic codes. These codes form an ideal in the polynomial ring is the set of polynomials in x with coefficients from the finite field F q , where q = 2 m . The polynomial x n − 1 can be factorized as where r = n − (k 1 + k 2 ). The notation "a(x) (·) " is used to indicate the degree of polynomial "a(x)", and henceforth the argument "(x)" will be omitted in order to simplify notation. Note that for m = 1 we obtain BCH codes, otherwise RS codes are employed. The polynomial g (r) corresponds to a generator polynomial of the code C(n, k 1 + k 2 ), and (gf ) (r+k1) is a generator polynomial for C 2 (n, k 2 ). The codewords in C can be expressed as a sum of codewords as follows: where i (k1−1) 1 g (r) ∈ C 1 (n − k 2 , k 1 ).

C. Construction for the CCSI case
At the outer encoder, information i (k1−1) 1 is encoded using g (r) of code C(n, k 1 + k 2 ), producing v (n−1) 1 (zero padded to achieve length n) of the shortened cyclic code C 1 (n − k 2 , k 1 ). In order to allow incorporating binary side information, the sequence v 1 ∈ C 1 is mapped to its binary representation u 1 , which is then partitioned into l groups of nm/l bits that are each encoded by a BLBC code C Ψ (N/l, nm/l). Thus, the resulting codewords c 1 = ψ * (φ(v 1 )) have length N and are codewords in C eq1 (N − K 2 , K 1 ).
Note that the encoding complexity is essentially given by step IV, because all other operations are linear. For FRS codes a folding/unfolding step has to be performed before finding v 2 ∈ C 2 (n, k 2 ) as follows.
Folding/unfolding step: (i) Code folding σ : F nm Consider a symmetric Bernoulli source. Source encoding via list decoding of RS/BLBC code C eq2 can asymptotically achieve a vanishing probability of encoding error. Thus, given a concatenated RS/BLBC channel code C eq which asymptotically achieves capacity on the BSC(p), the resulting joint source-channel coding scheme for the CCSI case achieves the capacity-noise bound R GP (W, p).
Proof: From the rate distortion bound for a symmetric Bernoulli sequence, the rate for the W -distortion source code C eq2 is given as K 2 /N ≥ 1−h(W ). Because list decoding can asymptotically correct an error fraction of h −1 (1 − R 2 − ε), we see that R 2 = 1 − h(W ) − ε asymptotically achieves the rate-distortion bound and therefore results in an encoding error probability which asymptotically tends to zero. Therefore, if the RS/BLBC code C eq achieves capacity on the BSC(p), we This is equivalent to the capacity-noise bound R GP (W, p).
The channel coding performance of the proposed scheme is essentially the one for the chosen concatenated RS/BLBC code C eq2 . Here we can exploit the fact that some constructions (e.g., RS/LDPC) are capacity approaching, for which effective decoding algorithms exist.
After transmission of E, the decoder receives Y in (1) and the error vector Z is corrected in the same fashion as in any standard concatenated scheme (by using the corresponding decoding algorithms for each code), resulting in an error-free codeword (12). Then, the embedded information i 1 is extracted by a modulo operation and a polynomial division according to Decoding steps: I) Receive Y, recover v ∈ C; II) Compute i (k1−1) 1 as in (13).

D. Construction for the SCSI case
The encoder receives a sequence of N bits from a Bernoulli symmetric source W , represented by W, which is equivalent to a codewordŴ = c in C eq (N, K) plus a "quantization" error E (7). An encoder error is declared if a codewordŴ = c cannot be found.
Encoding steps: I) Receive W, recover v ∈ C; II) Compute: i (k1−1) 1 as in (13). Analogous to the CCSI case, for FRS codes an extra folding/unfolding step must be performed before finding v ∈ C(n, k), with the difference that now the folded codeword is v ′ ∈ C (ν) (n ′ , k), so σ * (v ′ ) = v. We have the following statement which is analogous to Proposition 4.

Proposition 5.
Consider a symmetric Bernoulli source. Source encoding via list decoding of RS/BLBC code C eq can asymptotically achieve a vanishing probability of encoding error. Thus, given a concatenated RS/BLBC channel code C eq2 which asymptotically achieves capacity on the BSC(p * D), the resulting joint source-channel coding scheme for the SCSI case achieves the rate-distortion bound R GP (W, p).
The encoder extracts a polynomial i (k1−1) 1 of length k 1 (K 1 bits) from v (n−1) (12), so the compression rate is K 1 /N . The encoding steps in this case are essentially the same as the decoding steps of CCSI, but instead of channel decoding we employ source encoding algorithms which dominate the encoding complexity (see encoder step I).
For decoding, the steps are analogous to the encoding steps of the CCSI case, with the difference that S becomes Y, and instead of sending the error pattern after finding c 2 ∈ C eq2 , the information word corresponding to the actual codeword W = c 1 + c 2 is stored. Here, channel decoding is employed which dominates the complexity as all other operations are linear.
V. CONCLUSION Within the proposed algebraic framework we proved that code concatenation preserves the nested structure of joint source-channel codes. Therefore, the optimal asymptotic performance for both binary SCSI and CCSI problems can be universally achieved by concatenation with a linear block code, provided that one of the constituent codes has the necessary nested property. In particular, while in [8] ML decoding is assumed, through a novel RS/BLBC construction with low encoding and decoding complexity we show that list decoding provides the optimal source encoding performance asymptotically for both problems. At the same time, for channel error correction any capacity-approaching algorithm can be independently used.
It is still a challenge to exploit the full potential of concatenation with practical list decoding algorithms, but separate source and channel encoding is a feasible approach as practical encoding and decoding algorithms exist for each code. Future work will focus on studying other concatenated schemes employing QC-LDPC, polar, and BCH codes as outer codes, which seems to be a promising avenue since these codes have been successfully employed for source coding [9], [15], [17].