staggered diagonal embedding based linear field size
play

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


  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

  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 0 1 2 3 4 5 6 7 8 9 Source erased packet i Network Destination 0 1 2 3 4 5 6 7 8 9 𝜐 = 4 Packet 2 decoded 2/28

  3. Potential Latency Sensitive Applications AR Multiplayer Gaming Interactive Voice & Video Enhanced Broadband Multiplayer VR 5G Industrial Automation Latency Traffic Control Massive IoT Ultra reliability and & Safety low latency Tele-surgery ◮ underlying stream of packets could correspond to voice, video or data 3/28

  4. Modeling Packet Erasures: DCSW Channel 𝛽 ◮ Gilbert Elliot (GE) Channel is a (1 − 𝛽) G B (1 − 𝛾) commonly-accepted model ◮ Not tractable, difficult to design codes 𝛾 BEC( 𝜗 ) BEC( 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 τ erased pkt i w = 5 w = 5 0 1 2 3 4 5 6 7 8 9 10 burst of b = 4 erasures a = 2 random erasures ( a = 2 , b = 4 , w = 5 , τ = 4) 4/28

  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 : τ + 1 − a R opt = τ + 1 − a + b . 1 Badr et al., “Layered Constructions for Low-Delay Streaming Codes”, Trans. IT , 2017. 5/28

  6. Prior Work on Streaming Codes Burst and Random Erasures Burst-only Rate-Optimal Rate-Optimal, Explicit & Simple Streaming Rate-Optimal & Near Quadratic Field-size Quadratic Field-size Codes Martinian- Rate-Optimal Fong et al. Sundberg [ISIT 2018] [2004] Domanovitz- Krishnan- Badr et al. Krishnan et al. Shukla-Kumar Fong-Khisti Krishnan- [Sept 2019] [2017] Martinian- [Jan 2019] [April 2019] Kumar Trott [ISIT 2018] [ISIT 2007] 6/28

  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. c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 𝜐 +1 = 5 known inaccessible 7/28

  8. Redundancy through Packet Expansion Framework �(�) � � Encoder . . . . . �(�) �(0) �(1) �(�) (� − �) time � �(�) message packets coded packet ◮ Coded packet stream obtained by embedding code symbols of a scalar block code. 8/28

  9. Diagonal Embedding (DE) ◮ Codewords of [ n , k ] scalar block code are diagonally placed in the packet stream. ◮ This approach needs n − k ≥ b . �(0) �(1) �(2) �(3) �(4) �(5) �(6) �(7) �(8) �(9) �(10)�(11)�(12)�(13) m 1 m 1 m 1 m 2 m 2 m 2 m 3 m 3 m 3 m 4 m 4 m 4 m 5 m 5 m 5 m 6 m 6 m 6 p 1 p 1 p 1 p 2 p 2 p 2 p 3 p 3 p 3 p 4 p 4 p 4 p 5 p 5 p 5 p 6 p 6 p 6 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

  10. Staggered Diagonal Embedding(SDE) 0 1 2 3 4 5 6 7 8 9 ◮ Codewords are embedded c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 diagonally with gaps in the packet N=10 stream. 𝑦(0) 𝑦(1) 𝑦(2) 𝑦(3) 𝑦(4) 𝑦(5) 𝑦(6) 𝑦(7) 𝑦(8) 𝑦(9) 𝑦(10) 𝑦(11) ◮ This approach reduces the impact c 0 c 0 c 0 of burst erasure. c 1 c 1 c 1 ◮ In the example, burst of 6 c 2 c 2 c 2 erasures results in erasure of c 3 c 3 c 3 atmost 4 consecutive code symbols. c 4 c 4 c 4 c 5 c 5 c 6 c 6 c 6 c 6 ◮ Dispersion span N c 7 c 7 c 7 SDE of [ n = 8 , k = 4] MDS code for ◮ N ≤ τ + 1 = ⇒ short code, ( a = 4 , b = 6 , τ = 9) streaming code N > τ + 1 = ⇒ long code Krishnan et al., “Simple streaming codes for reliable, low-latency communication”, Comm Letters, 2020. 10/28

  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 ) = b . � �� � mb ◮ 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

  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

  13. SDE of Long Codes 13/28

  14. SDE with N > τ + 1: Long Codes ◮ N > τ + 1 = ⇒ partial-knowledge decoding is required 0 1 2 3 4 5 6 7 8 9 10 11 12 13 c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 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) c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 SDE of [10 , 6] scalar code with N = 14 to construct ( a = 2 , b = 6 , τ = 10) streaming code 14/28

  15. Scalar Code Properties: ( a = 2 , b = 6 , τ = 10) Example 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ◮ Recover c 0 in the presence of an c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 additional random erasure or a burst of 4 erasures starting at c 0 , by accessing only till c 7 . c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 inaccessible 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ◮ Recover c 2 in the presence of an c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 additional random erasure or a burst of 4 erasures starting at c 2 , with c 0 , c 1 known. c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 known Conditions for other c i are similar 15/28

  16. SDE Based Construction 16/28

  17. SDE based Streaming Code Construction gcd ( b , τ + 1 − a ) = g ∈ { a , a + 1 , . . . , b − 1 , b } ���� � �� � ℓ g mg τ + 1 − a m R opt = τ + 1 − a + b = 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

  18. The Scalar Code Construction ℓa (m-ℓ+1)a (ℓ-1)a a I a Z 2 Z 1 ℓa C Z 1 Z 2 Z 1 Z 2 a p-c matrix of the scalar code ◮ C is a Cauchy matrix. ◮ Every square sub-matrix of C is invertible. ◮ Z = [ Z 1 Z 2 ] is a Zero-band (ZB) generator matrix of [2 a , a ] MDS code. 18/28

  19. Construction Continued... 0 0 * * * * * * 0 0 * * 0 0 * * * * 3 × 6 ZB matrix ◮ Field size q ≥ ( m + 1) a = a ( τ +1 − a + g ) = O ( τ ). g ◮ When g = b , we get simple streaming codes. 19/28

  20. An Example Construction: ( a = 2 , b = 6 , τ = 10) ◮ g = gcd (6 , 9) = 3, ℓ = 2, m = 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 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

  21. ( a = 2 , b = 6 , τ = 10) Example: Recovery of c 0 , c 1 ◮ For recovery of c 0 non-erased symbols only till c 7 are accessible. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 0 1 2 3 4 5 6 7 � � 1 0 0 0 c 00 c 01 c 02 c 03 ˆ H = 0 1 0 0 c 10 c 11 c 12 c 13 ◮ Removing all-zero columns from ˆ H gives generator matrix of a [6 , 2] MDS code. = ⇒ Random erasure recovery of c 0 . ◮ Column 0 of ˆ H is not in linear span of columns 1, 2 and 3. = ⇒ Burst erasure recovery of c 0 . ◮ Similar arguments work for c 1 . 21/28

  22. Random Erasure Recovery of c i , i ∈ [2 : 9] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 ◮ For recovery of c i , 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 c i , i ∈ [2 : 9]. 22/28

Recommend


More recommend