Staggered Diagonal Embedding Based Linear Field Size Streaming Codes - - PowerPoint PPT Presentation

staggered diagonal embedding based linear field size
SMART_READER_LITE
LIVE PREVIEW

Staggered Diagonal Embedding Based Linear Field Size Streaming Codes - - PowerPoint PPT Presentation

Staggered Diagonal Embedding Based Linear Field Size Streaming Codes Vinayak Ramkumar * , Myna Vajha * , M. Nikhil Krishnan , P. Vijay Kumar * * Department of Electrical Communication Engineering, IISc Bangalore Department of Electrical and


slide-1
SLIDE 1

Staggered Diagonal Embedding Based Linear Field Size Streaming Codes

Vinayak Ramkumar*, Myna Vajha*, M. Nikhil Krishnan†,

  • P. Vijay Kumar*

* Department of Electrical Communication Engineering, IISc Bangalore † Department of Electrical and Computer Engineering, University of Toronto

IEEE International Symposium on Information Theory 2020 Los Angeles, California, USA 21-26 June 2020

1/28

slide-2
SLIDE 2

The Setting: Delay-Constrained Decoding of Packets

◮ A stream of packets sent over a network ◮ Some packets are dropped or lost (packet erasure) ◮ congestion, deep fade in wireless link, arriving after deadline ◮ Atmost τ future packets (along with all past packets) can be used for recovering any erased packet

1 2 3 4 5 6 7 8 9

Source 𝜐 = 4

1 2 3 4 5 6 7 8 9

Destination

i erased packet Network

Packet 2 decoded

2/28

slide-3
SLIDE 3

Potential Latency Sensitive Applications

Multiplayer Gaming

Interactive Voice & Video Latency

Ultra reliability and low latency

Enhanced Broadband Massive IoT

5G

Industrial Automation Traffic Control & Safety Tele-surgery

AR Multiplayer VR

◮ underlying stream of packets could correspond to voice, video or data

3/28

slide-4
SLIDE 4

Modeling Packet Erasures: DCSW Channel

◮ Gilbert Elliot (GE) Channel is a commonly-accepted model ◮ Not tractable, difficult to design codes

BEC(𝜗) BEC(1)

G B

𝛽 𝛾 (1 − 𝛽) (1 − 𝛾)

◮ Delay Constrained Sliding Window (DCSW) Channel ◮ A deterministic approximation of GE channel under decoding delay constraint ◮ Admissible erasure patterns (AEP) of {a, b, w, τ} DCSW channel ◮ within every sliding window of size w: either ≤ a random erasures or a burst of ≤ b erasures ◮ decoding delay constraint τ

9 10 a = 2 random erasures 1 2 3 4 6 7 8 5 w = 5 burst of b = 4 erasures w = 5 i erased pkt

(a = 2, b = 4, w = 5, τ = 4)

4/28

slide-5
SLIDE 5

Streaming Code

◮ Streaming code is a packet-level code that can correct from all AEP of DCSW channel within the decoding delay constraint τ. ◮ Non-trivial only if a ≤ b ≤ τ. ◮ Turns out WOLOG we can set w = τ + 1. ◮ This reduces parameter set from {a, b, w, τ} to {a, b, τ}. ◮ The optimal rate of an (a, b, τ) streaming code is given by 1: Ropt = τ + 1 − a τ + 1 − a + b .

1 Badr et al., “Layered Constructions for Low-Delay Streaming Codes”, Trans. IT, 2017. 5/28

slide-6
SLIDE 6

Prior Work on Streaming Codes

Martinian- Sundberg [2004] Martinian- Trott [ISIT 2007] Badr et al. [2017] Krishnan- Shukla-Kumar [Jan 2019]

Burst-only Burst and Random Erasures

Near Rate-Optimal Rate-Optimal Rate-Optimal & Quadratic Field-size Domanovitz- Fong-Khisti [April 2019] Fong et al. [ISIT 2018] Krishnan- Kumar [ISIT 2018] Rate-Optimal, Explicit & Quadratic Field-size Krishnan et al. [Sept 2019] Simple Streaming Codes 6/28

slide-7
SLIDE 7

Block Codes and Decoding Delay Constraint

◮ Decoding delay constraint τ = ⇒ for decoding i-th code symbol only till (i + τ)-th code symbol is accessible. ◮ Short code: block length n ≤ τ + 1

◮ All non-erased symbols can be used for decoding of any erased symbol.

◮ Long code: n > τ + 1

◮ Partial-knowledge decoding is needed for some symbols.

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

known inaccessible

𝜐 +1 = 5

7/28

slide-8
SLIDE 8

Redundancy through Packet Expansion Framework

Encoder

  • ( − )

time

message packets coded packet

  • (0)

. . . . . (1) ()

() ()

()

◮ Coded packet stream obtained by embedding code symbols of a scalar block code.

8/28

slide-9
SLIDE 9

Diagonal Embedding (DE)

◮ Codewords of [n, k] scalar block code are diagonally placed in the packet stream. ◮ This approach needs n − k ≥ b.

m1 m1 m1 m2 m2 m2 m3 m3 m3 m4 m4 m4 m5 m5 m5 m6 m6 m6 p1 p1 p1 p2 p2 p2 p3 p3 p3 p4 p4 p4 p5 p5 p5 p6 p6 p6 (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)(11)(12)(13)

DE of [12, 6] scalar code to get (a = 4, b = 6, τ = 9) streaming code ◮ Optimal rate code needs n > τ + 1, for a < b = ⇒ Long code ◮ Best known explicit construction requires field size > τ 2 and n = τ + 1 − a + b.

9/28

slide-10
SLIDE 10

Staggered Diagonal Embedding(SDE)

◮ Codewords are embedded diagonally with gaps in the packet stream. ◮ This approach reduces the impact

  • f burst erasure.

◮ In the example, burst of 6 erasures results in erasure of atmost 4 consecutive code symbols.

◮ Dispersion span N ◮ N ≤ τ + 1 = ⇒ short code, N > τ + 1 = ⇒ long code

1 2 3 4 5 6 7 8 9 c0 c1 c2 c3 c4 c5 c6 c7 N=10 c0 c0 c0 c1 c1 c1 c2 c2 c2 c3 c3 c3 c4 c4 c4 c5 c5 c6 c6 c6 c6 c7 c7 c7

𝑦(0) 𝑦(1) 𝑦(2) 𝑦(3) 𝑦(4) 𝑦(5) 𝑦(6) 𝑦(7) 𝑦(8) 𝑦(9) 𝑦(10) 𝑦(11)

SDE of [n = 8, k = 4] MDS code for (a = 4, b = 6, τ = 9) streaming code Krishnan et al., “Simple streaming codes for reliable, low-latency communication”, Comm Letters, 2020.

10/28

slide-11
SLIDE 11

Simple Streaming Codes: SDE of Short Codes

◮ Here N ≤ τ + 1 = ⇒ No partial-knowledge decoding needed ◮ Simple streaming codes are rate-optimal when gcd(b, τ + 1 − a

  • mb

) = b. ◮ Pick [n = (m + 1)a, k = ma] MDS code

a b-a

…........

a b-a a

◮ a code symbols are placed in a consecutive packets followed by (b − a) gaps.

◮ Burst of b erasure = ⇒ Erasure of a consecutive code symbols

◮ For SDE with N ≤ τ + 1, these codes are the only rate-optimal codes.

Krishnan et al., “Simple streaming codes for reliable, low-latency communication”, Comm Letters, 2020.

11/28

slide-12
SLIDE 12

Our Contributions

◮ Enlarging the set of O(τ) field size rate-optimal streaming codes ◮ SDE Based Construction

◮ O(τ) field size rate-optimal (a, b, τ) streaming codes when gcd(b, τ + 1 − a) ∈ {a, a + 1, . . . , b − 1, b}

◮ DE based Constructions

◮ O(τ) field size rate-optimal (a, b, τ) streaming codes when

i) τ + 1 ≥ a + b and b(mod a) = 0 ii) τ + 1 ≥ a + b and b(mod a) = a − 1

12/28

slide-13
SLIDE 13

SDE of Long Codes

13/28

slide-14
SLIDE 14

SDE with N > τ + 1: Long Codes

◮ N > τ + 1 = ⇒ partial-knowledge decoding is required

x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11) x(12) x(13) x(14) x(15) x(16)

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

SDE of [10, 6] scalar code with N = 14 to construct (a = 2, b = 6, τ = 10) streaming code

14/28

slide-15
SLIDE 15

Scalar Code Properties: (a = 2, b = 6, τ = 10) Example

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

inaccessible

◮ Recover c0 in the presence of an additional random erasure or a burst of 4 erasures starting at c0, by accessing only till c7.

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

known

◮ Recover c2 in the presence of an additional random erasure or a burst of 4 erasures starting at c2, with c0, c1 known. Conditions for other ci are similar

15/28

slide-16
SLIDE 16

SDE Based Construction

16/28

slide-17
SLIDE 17

SDE based Streaming Code Construction

gcd( b

  • ℓg

, τ + 1 − a

  • mg

) = g ∈ {a, a + 1, . . . , b − 1, b} Ropt = τ + 1 − a τ + 1 − a + b = m m + ℓ ◮ We first construct an [n = (m + ℓ)a, k = ma] scalar code.

a g-a

…........

a g-a a

◮ SDE of this code is done by putting a code symbols consecutively followed by (g − a) gaps until all code symbols are put together.

17/28

slide-18
SLIDE 18

The Scalar Code Construction

Ia Z1 Z1 Z1 Z2 Z2 Z2 C (m-ℓ+1)a (ℓ-1)a ℓa ℓa a a

p-c matrix of the scalar code ◮ C is a Cauchy matrix. ◮ Every square sub-matrix of C is invertible. ◮ Z = [Z1 Z2] is a Zero-band (ZB) generator matrix of [2a, a] MDS code.

18/28

slide-19
SLIDE 19

Construction Continued...

* * * * * * * * * * * *

3 × 6 ZB matrix

◮ Field size q ≥ (m + 1)a = a(τ+1−a+g)

g

= O(τ). ◮ When g = b, we get simple streaming codes.

19/28

slide-20
SLIDE 20

An Example Construction: (a = 2, b = 6, τ = 10)

◮ g = gcd(6, 9) = 3, ℓ = 2, m = 3

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

Placement pattern

◮ Burst erasure of length 6 = ⇒ Erasure of 4 consecutive code symbols

4 X 4 Cauchy matrix 2 X 4 ZB MDS gen matrix 20/28

slide-21
SLIDE 21

(a = 2, b = 6, τ = 10) Example: Recovery of c0, c1

◮ For recovery of c0 non-erased symbols only till c7 are accessible.

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

ˆ H = 1 2 3 4 5 6 7

  • 1

c00 c01 c02 c03 1 c10 c11 c12 c13 ◮ Removing all-zero columns from ˆ H gives generator matrix of a [6, 2] MDS code. = ⇒ Random erasure recovery of c0. ◮ Column 0 of ˆ H is not in linear span of columns 1, 2 and 3. = ⇒ Burst erasure recovery of c0. ◮ Similar arguments work for c1.

21/28

slide-22
SLIDE 22

Random Erasure Recovery of ci, i ∈ [2 : 9]

1 2 3 4 5 6 7 8 9 10 11 12 13

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9

◮ For recovery of ci, i ∈ [2 : 9], all non-erased symbols can be accessed.

0 1 2 3 4 5 6 7 8 9

◮ Any two columns among last 8 columns of H are linearly independent = ⇒ Random erasure recovery of ci, i ∈ [2 : 9].

22/28

slide-23
SLIDE 23

Burst Erasure Recovery of ci, i ∈ [2 : 9]

◮ Any 4 consecutive columns among last 8 columns of H forms an invertible matrix. = ⇒ Burst erasure recovery of ci, i ∈ [2 : 9]. invertible invertible

23/28

slide-24
SLIDE 24

Burst Erasure Recovery Continued...

invertible invertible invertible

24/28

slide-25
SLIDE 25

DE Based Constructions

25/28

slide-26
SLIDE 26

DE of Same Scalar Code

Ia Z1 Z1 Z1 Z2 Z2 Z2 C

𝜐+1-b

b-a b b a a

p-c matrix ◮ If τ + 1 ≥ a + b and a|b, the DE of this scalar code results in rate-optimal streaming code, even when gcd(b, τ + 1 − a) < a. ◮ Field size q ≥ τ + 1 = O(τ)

26/28

slide-27
SLIDE 27

DE of a Modified Scalar Code

Z2

*

Ia-1 Z1 Z1 Z1 Z2 Z2 C

𝜐+1-b

b-a b b a-1 a a-1 a a-1 a-1

* p-c matrix of modified code Z ∗

2 = Z2(0 : a − 2, 0 : a − 2)

◮ When τ + 1 ≥ a + b and b = ℓa + a − 1, DE of this modified scalar code leads to rate-optimal streaming code. ◮ Field size q ≥ τ + 1 = O(τ)

27/28

slide-28
SLIDE 28

Thanks

28/28