# Staggered Diagonal Embedding Based Linear Field Size Streaming Codes

An (a,b,τ) streaming code is a packet-level erasure code that can recover under a strict delay constraint of τ time units, from either a burst of b erasures or else of a random erasures, occurring within a sliding window of time duration w. While rate-optimal constructions of such streaming codes are available for all parameters {a,b,τ,w} in the literature, they require in most instances, a quadratic, O(τ^2) field size. In this work, we make further progress towards field size reduction and present rate-optimal O(τ) field size streaming codes for two regimes: (i) gcd(b,τ+1-a)> a (ii) τ+1 > a+b and b a ∈{0,a-1}.

## Authors

• 8 publications
• 9 publications
• 8 publications
• 15 publications
05/10/2021

### Explicit Rate-Optimal Streaming Codes with Smaller Field Size

Streaming codes are a class of packet-level erasure codes that ensure pa...
03/14/2019

### Low Field-size, Rate-Optimal Streaming Codes for Channels With Burst and Random Erasures

In this paper, we design erasure-correcting codes for channels with burs...
04/14/2021

### Generalized Simple Streaming Codes from MDS Codes

Streaming codes represent a packet-level FEC scheme for achieving reliab...
05/17/2022

### Learning-Augmented Streaming Codes are Approximately Optimal for Variable-Size Messages

Real-time streaming communication requires a high quality of service des...
06/04/2020

### Online Versus Offline Rate in Streaming Codes for Variable-Size Messages

Providing high quality-of-service for live communication is a pervasive ...
04/11/2019

### An Explicit Rate-Optimal Streaming Code for Channels with Burst and Arbitrary Erasures

In this paper, we consider transmitting a sequence of messages (a stream...
04/26/2020

### Experimental Analysis and Evaluation of RaptorQ Codes for Video Multicasting over Wi-Fi

This paper presents a reliable and efficient high quality video streamin...
##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## I Introduction

Ultra-Reliable, Low-Latency Communication (URLLC) is a principal focus area of 5G and is key to enabling many next-generation applications such as interactive streaming, industrial automation, multi-player gaming and disaster recovery. ARQ-based schemes, while ensuring reliability, are not suitable for low-latency communication due to their large round-trip delays. The naive solution of replication to ensure reliability leads to wastage of resources. Thus, the development of FEC schemes that can operate under a strict decoding-delay constraint is necessary for the setting up of a reliable, low-latency communication system. The streaming codes under discussion here, were developed with this aim in mind.

In [1] and [2], authors introduced the setting of streaming codes, which is as follows. There is an infinite stream of message packets , , which needs to be reliably transmitted from a transmitter to a receiver, where the channel can introduce packet losses. In order to tackle packet losses, coded packets which contain both message and parity parts are transmitted across the channel. We use the terminology message packet to denote the message part of the coded packet and similarly parity packet refers to the parity part of the coded packet. Let denote the coded packet transmitted at time . Then , where is the message packet at time and is the parity packet at time . The parity packet at time is a function only of , due to the causal nature of the encoder. The initial channel model considered for streaming codes in [1] and [2] is such that in every sliding window of time duration , there can be a burst erasure of length at most . Streaming code constructions are presented in [1] and [2], which permit recovery of each message packet with a delay of at most , in spite of the burst losses, i.e., is recovered by time , for all . In a subsequent work, Badr et al. [3] introduced the delay-constrained sliding-window (DC-SW) channel model, which is a tractable deterministic approximation of the popularly used Gilbert-Elliott (GE) channel model. Under the DC-SW channel model, within any sliding window of time duration , there can be either at most random erasures or else, a burst erasure of length . The paper [3] presented streaming code constructions which can recover every packet by time in presence of the DC-SW channel. It is to be noted that the channel parameters naturally satisfy: . Without loss of generality, one can set (see [3] or [4]). Hence the DC-SW channel is parameterized by . In the remainder of the paper, we use  streaming code to refer to codes which can recover from all the permissible erasure patterns of DC-SW channel, under strict decoding delay constraint .

In [3], an upper bound on the rate of an  streaming code is provided. In [5], [6] it was shown that this upper bound is indeed achievable for all parameters. The optimal rate of an  streaming code thus obtained is given by,

 Ropt≜τ+1−aτ+1−a+b.

The papers [5, 6] presented first families of rate-optimal streaming code constructions and required a field size exponential in . In [4], an field size non-explicit rate-optimal streaming code construction is presented for all possible . The paper [4] also provided additional constructions with field size for restricted parameter sets (see Table I). An explicit quadratic field size streaming code construction for all parameters is presented in [7]. The rate-optimal streaming code constructions appearing in [2, 5, 6, 4, 7] all employ a certain diagonal embedding (DE) technique introduced in [2]. The DE technique enables one to construct streaming codes by diagonally embedding the code symbols of a scalar block code in the packet stream. In a recent work [8], the authors introduced the technique of staggered diagonal embedding (SDE), which generalizes DE. Under the SDE approach, code symbols of the scalar block code are dispersed across a span of successive packets. A linear field size rate-optimal streaming code construction for all such that is presented in [8]. The study of SDE in [8] is restricted to the case . In the present paper, we explore the SDE technique beyond and present new streaming code constructions, which require field size and smaller packet length , compared to existing constructions. As shown in Fig. 1, constructions in the present paper provide a significant range of new parameters over which linear field size is feasible.

#### Our Contributions

• We provide necessary and sufficient conditions for SDE of a scalar code to result in an  streaming code.

• We develop a new family of scalar codes which result in linear field size, rate-optimal  streaming codes for two new regimes.

• We use SDE to generate  streaming codes for all with .

• We show using DE (a special case of SDE where ) that the scalar code construction results in  streaming codes whenever and and a modified version of this scalar code works whenever and .

#### Organization of the Paper

The SDE framework is described in full generality in Section II. In Section III, we provide the construction of scalar block code to be used in conjunction with SDE or the special case of DE. We provide construction of linear field size streaming codes based on SDE technique in Section IV. In Section V, we show how the construction can be modified to come up with DE-based linear field size streaming codes.

#### Notation

We use the notation to denote . For any finite set , we use to denote number of elements in and to denote the largest element in . Let , then by , we mean the sub-matrix of comprising of rows whose indices lie in and columns whose indices lie in . We use the notation for the identity matrix. For , span denotes the linear span of .

## Ii Staggered Diagonal Embedding

In this section, we explain the staggered diagonal embedding technique introduced in [8], for constructing packet-level codes from scalar codes. Let be an linear code over , with first symbols forming an information set. Let be an integer and let be such that . Let , where . We refer to as the base code, as the placement set and as the dispersion span. The packet-level code resulting from SDE of scalar code with the placement set will be referred to as SDE. For , let denote the th component of the coded packet of the packet-level code SDE (see Fig. 2 for an example). Then we have the following relation between component symbols:

 (x0(t+s0),x1(t+s1),⋯,xn−1(t+sn−1))∈C, ∀t. (1)

It is easy to see that the resultant packet-level code has rate , which is same as that of . When , we have and SDE reduces to DE.

For the packet-level code SDE to be an streaming code, there are some conditions that it needs to satisfy. The Theorem in [8] states such conditions for the case , whereas here in Theorem II.1, we provide necessary and sufficient conditions for the general case which includes .

For a streaming code, a lost packet must be recovered from admissible erasures by accessing all the available packets till time . We need to translate this requirement in terms of the scalar code . Towards this, we first introduce the function for a given placement set , which is defined as:

 fS(j)≜max{i:si≤j}.

We now define for every index . During the recovery of th code symbol, one can access only till th code symbol. We will use the notation to indicate the set .

As an example, in Fig. 2, we have and . In order to recover packet from a burst of size starting at time , one can access packets only till time . In terms of , as we have , for recovering , symbols only till are accessible.

###### Theorem II.1.

Let be an base code over and let be a placement set, where . The packet-level code SDE is an streaming code iff satisfy the following conditions:

1. Random erasure recovery : for all and every such that , , is a linear combination of over , for all .

2. Burst erasure recovery: for all and every such that , is a linear combination of over , for all .

Proof: By definition, the packet-level code SDE is an streaming code iff for every and every such that and either or , the packet is recoverable from . Let be the -th component of the packet . Since the packets are coded using SDE, by (1), the following condition is satisfied for every :

 (x0(t−si+s0),⋯,xi(t),⋯,xn−1(t−si+sn−1))≜c–∈C.

For any erasure set such that and , the codeword observes erasures across coordinates indexed by . For any such erasure , the symbols for all , can be recovered, iff condition 1 holds. Now, for any erasure set such that , , let . The erasures that the codeword observes are given by and the recovery of symbols for all is ensured iff condition holds. Therefore conditions 1 and 2 are necessary and sufficient conditions for SDE to result in an streaming code.

### Ii-a Equivalent Conditions on Parity Check (P-C) Matrix

Motivated by the p-c-matrix-based properties for DE-based  streaming codes given in [4], we list down here analogous conditions for SDE-based streaming codes. These conditions will be used in proving that the linear field size code to be presented in Section IV is an  streaming code. We first state, without proof, a well-known result that is useful in coming up with these conditions.

###### Lemma II.2.

Let be an linear code over and let be a p-c matrix for , where denotes the th column of . Let be an erasure set such that , then the code symbol can be recovered iff .

Let be an linear code over and . Then the punctured code is the code of block length obtained by deleting all the coordinates in . Let be a p-c matrix for and be the p-c matrix for , for all . Here denotes th column of . Using Lemma II.2, the recovery conditions in Theorem II.1 can be restated in terms of these p-c matrices and placement set as follows:

1. Random erasure recovery: for all and every such that , ,

• if , ,

• else if , is a linearly independent set.

2. Burst erasure recovery: for all and every such that ,

• if ,

• else if , is a linearly independent set.

We now state a result which makes checking these p-c conditions easier in some cases. We will make use of this result repeatedly in the proof of Theorem IV.1.

###### Lemma II.3.

Let and . If , then .

Proof: Note that and hence is a sub-matrix of as shown below. If , the statement trivially holds. For , has the following structure:

 H(i) = [H(p)0M1M2]=[h––(i)0h––(i)1⋯h––(i)ri].

Suppose the statement doesn’t follow then:

 hi––(i) = ∑j∈Tajh––(i)j.

By equating rows where columns have zeros we have:

 hi––(p) = ∑j∈T∩[i+1,rp]ajh––(p)j.

This contradicts our assumption that .

## Iii Building Blocks

In this section, we provide a construction of the scalar base code, which will be used in conjunction with SDE to obtain rate-optimal linear field size  streaming codes.

###### Definition III.1 (Zero-band MDS Generator Matrix).

A matrix is a zero-band MDS generator matrix if:

1. is a generator matrix for an MDS code and,

2. , such that

Note that , such that . Otherwise, it would contradict the minimum distance of MDS code being equal to .

For every set of positive integers such that , a zero-band MDS generator matrix can be explicitly constructed over , if (for instance, see [4]).

###### Definition III.2 (Super-regular Matrix).

A matrix is a super-regular matrix if every square sub-matrix of is invertible.

It is a well-known result [9] that a Cauchy matrix is super-regular and can always be explicitly constructed over , with , for all positive integers .

###### Construction III.1.

Here we construct an linear block code for all such that , for some integer , and . Let be an zero-band MDS generator matrix, where and . Let be an Cauchy matrix. We now describe an p-c matrix of through a series of steps.

1. Initialize to be the

all-zero matrix,

2. set ,

3. set ,

4. set ,

5. set .

## Iv Linear Field Size Construction for gcd(b,τ+1−a)≥a

In this section, we present a linear field size rate-optimal  streaming code construction for all satisfying , where is a non-negative integer. Clearly, there exist positive integers such that , and . It also follows that , otherwise . This is not possible as .

Now, we will use (see Construction III.1) as the base code. It can be easily seen that is an code and its rate . We remark that both the matrices and used in the construction exist over if and hence, requires only a field of size . For SDE, we fix the dispersion span and choose the placement set:

 Sa,b,τ=i=m+ℓ−1⋃i=0[i(a+g):i(a+g)+a−1]. (2)

It can be clearly verified that .

### Iv-a An Example: {a=2,b=6,τ=10}

Here . Hence, we have , , and is an code. The p-c matrix of is given by:

 H=⎡⎢ ⎢ ⎢⎣1000c00c01c02c03000100c10c11c12c130000z000c20c21c22c23z02z0300z10z11c30c31c32c330z13⎤⎥ ⎥ ⎥⎦,

such that:

 Z=[z000z02z03z10z110z13],C=⎡⎢ ⎢ ⎢⎣c00c01c02c03c10c11c12c13c20c21c22c23c30c31c32c33⎤⎥ ⎥ ⎥⎦

are zero-band MDS generator matrix, Cauchy matrix respectively. Both these matrices can be constructed over . In order to prove that the packet-level code constructed by SDE of with placement set is a rate-optimal streaming code, we only have to show that along with satisfy both random and burst erasure recovery conditions laid out in Section II. In this case, we have: .

### Random Erasure Recovery

The p-c matrix of punctured code takes the form , after removing columns that are all-zero. This matrix can be shown to be a generator matrix for a MDS code and hence no two columns are linearly dependent. Thus, random erasure recovery condition is satisfied for .

Here we need to show that any two columns among last columns of are linearly independent. It can be easily seen that no two among columns and can be linearly dependent as is a generator matrix for a MDS code. Since every square sub-matrix of a Cauchy matrix is invertible, any two among columns and are linearly independent. Also, if we pick one column with index in and another column with index in , they are linearly independent because they have different support. Thus we have showed that no two columns of are linearly dependent, thereby showing that random erasure condition is satisfied for .

### Burst Erasure Recovery

For , consider any consecutive columns in of the form . The placement set ensures that . Hence it follows that any burst of size results in a loss of consecutive symbols for every underlying codeword of the base code (for instance, see Fig. 2).

In , which is the p-c matrix of , it can be easily seen that column is not a linear combination columns and due to disjoint support. Similarly, column of does not lie in span of columns and , due to difference in support. Thus, for burst erasure recovery condition is satisfied.

In order to show that burst erasure property holds for , it suffices to prove that any collection of consecutive columns among last columns of forms a linear independent set. Equivalently, one needs to show that is invertible, for all . As and are both invertible, is invertible. As is invertible and , invertibility of follows. The matrix is the Cauchy matrix and is hence invertible. The invertibility of together with results in being invertible. Since and are both invertible, is invertible. Thus, we have proved that the packet-level code SDE is a rate-optimal streaming code and can be constructed over . This example is generalized in the Theorem stated below.

###### Theorem IV.1.

For any set of parameters such that , let and , then the packet level code SDE, is an streaming code that is rate-optimal and field size.

Proof: When gcd, we have and is an MDS code. The packet level code for case is exactly same as the MDS base code construction in [8]. We skip the proof for case since it is provided in [8]. Throughout the reminder of the proof we assume .

Let denote the p-c matrix of and is as defined as shown in equation (2). Therefore . The index of further most symbol accessible for recovery of symbol at index is given by:

 rja = fSa,b,τ(min{sja+τ,N−1}) = fSa,b,τ(min{(j+m)(a+g)+a−1,N−1}) = {(j+m+1)a−1j<ℓ(m+ℓ)a−1j≥ℓ.

The values of determines the punctured codes which we need to consider to prove the theorem.

We will now show that burst in of size results in burst of size in . Let where and then:

 fSa,b,τ(B) = fSa,b,τ({j(a+g)+j0∣j0∈[j′:j′+ℓ(a+g)−1]}) = fSa,b,τ({j(a+g)+j0∣j0∈[j′:a−1]})∪ ∪j+ℓ−1j1=j+1fSa,b,τ({j1(a+g)+j0∣j0∈[0:a−1]})∪ fSa,b,τ({(j+ℓ)(a+g)+j0∣j0∈[0:j′−1]}) = [i:(j+1)a−1]∪(∪j+ℓ−1j1=j+1[j1a:(j1+1)a−1]) ∪[(j+ℓ)a:(j+ℓ)a+j′−1] = [i:i+ℓa−1].

Therefore, by Theorem II.1 and the fact that , it is enough to show that for all , can be recovered from to prove burst erasure recovery.

We divide the proof into three parts based on the value of .

1. For , we show how to recover symbol by accessing symbols only until , though we have access until -th symbol. The parity check matrix that represents the punctured code is given by:

 H(0)=[Ia0a×(ℓ−1)aC(0:a−1,0:(m+1−ℓ)a−1)]

Random Erasure Recovery: Let be a set of erasures such that . Let . Then it is clear that . Clearly the -th column in , doesn’t belong to span of any other columns in as is a Cauchy matrix.

Burst Erasure Recovery: Let . This will result in erasures in the base code. We will show that the code symbol can be recovered by accessing symbols until . Here, is clearly not in span of , again due to super-regular property of , and hence can be recovered.

2. For with we show how to recover by accessing symbols only until though we have access until . The parity check matrix that represents the punctured code , is given by:

 H(ja)=⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣Ia% \multirowsetup0\multirowsetupC(0:(j+1)a−1,0:(m+1−ℓ)a−1)\cline1−4\cline7−9Z1Z2\cline1−4\cline7−9⋱⋱\cline1−4\cline7−9Z1Z2⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦

It can observed that columns of