Robust Streaming Codes based on Deterministic Channel Approximations - - PowerPoint PPT Presentation
Robust Streaming Codes based on Deterministic Channel Approximations - - PowerPoint PPT Presentation
Robust Streaming Codes based on Deterministic Channel Approximations Ashish Khisti University of Toronto Joint Work with Ahmed Badr (Toronto), Wai-Tian Tan (HP Labs) and John Apostolopoulos (HP Labs) ISIT, 2013 July 9th 2013 Motivation -
Motivation - Delay Sensitive Communication
Delay is a central issue in many applications1
Application Bit-Rate MSDU (B) Delay (ms) Delay (pkts) PLR Video Conf. 2 Mbps 1500 100 ms 24 10−4 Interactive Gaming 1Mbps 512 50 ms 12 10−4 SDTV 4Mbps 1500 200 ms 60 10−6
Communication Medium: Wireless Channel.
1IEEE Usage Model Proposal (doc.: IEEE 802.11-03/802r23) ISIT, 2013 July 9th 2013 2/ 17
Motivation - Delay Sensitive Communication
Delay is a central issue in many applications1
Application Bit-Rate MSDU (B) Delay (ms) Delay (pkts) PLR Video Conf. 2 Mbps 1500 100 ms 24 10−4 Interactive Gaming 1Mbps 512 50 ms 12 10−4 SDTV 4Mbps 1500 200 ms 60 10−6
Communication Medium: Wireless Channel. Prior Work - Real Time Streaming Communication
Structural Theorems on Real-Time Encoders (Witsenhausen ’79, Teneketzis ’06) Tree Codes (Schulman ’96, Sahai ’01, Sukhavasi and Hassibi ’11) Real-Time Scheduling (Hou and Kumar ’11, Shakkottai and Srikanth ’11) Low-delay Path Selection (Chen et. al.)
1IEEE Usage Model Proposal (doc.: IEEE 802.11-03/802r23) ISIT, 2013 July 9th 2013 2/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Real-Time Streaming Model
ISIT, 2013 July 9th 2013 3/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
ISIT, 2013 July 9th 2013 4/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
Channel C(N, B, W): Any sliding window of length W contains
A burst of maximum length B, or, No more than N erasures in arbitrary positions.
3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2
ISIT, 2013 July 9th 2013 4/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
Channel C(N, B, W): Any sliding window of length W contains
A burst of maximum length B, or, No more than N erasures in arbitrary positions.
3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2
ISIT, 2013 July 9th 2013 4/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
Channel C(N, B, W): Any sliding window of length W contains
A burst of maximum length B, or, No more than N erasures in arbitrary positions.
3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2
ISIT, 2013 July 9th 2013 4/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
Channel C(N, B, W): Any sliding window of length W contains
A burst of maximum length B, or, No more than N erasures in arbitrary positions.
3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 B = 3
ISIT, 2013 July 9th 2013 4/ 17
Problem Setup
Assume s[t] ∈ Fk
q, i.i.d. uniform
x[t] ∈ Fn
q . Causal Encoder.
Rate: R = k
n
Channel C(N, B, W): Any sliding window of length W contains
A burst of maximum length B, or, No more than N erasures in arbitrary positions.
3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 N = 2 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 B = 3 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (2,3,6) 2 6 7 13 W = 6 B = 3 Capacity R(N, B, W, T)
ISIT, 2013 July 9th 2013 4/ 17
Main Result
Theorem Consider the C(N, B, W) channel, with W ≥ B + 1, and let the delay be T. Upper-Bound(Badr et al. INFOCOM’13) For any rate R code, we have:
- R
1 − R
- B + N ≤ min(W, T + 1)
ISIT, 2013 July 9th 2013 5/ 17
Main Result
Theorem Consider the C(N, B, W) channel, with W ≥ B + 1, and let the delay be T. Upper-Bound(Badr et al. INFOCOM’13) For any rate R code, we have:
- R
1 − R
- B + N ≤ min(W, T + 1)
Lower-Bound: There exists a rate R code that satisfies:
- R
1 − R
- B + N ≥ min(W, T + 1) − 1.
The gap between the upper and lower bound is 1 unit of delay.
ISIT, 2013 July 9th 2013 5/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
Recover s0, s1, s2, s3 s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
Recover s0, s1, s2, s3 s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 )
ISIT, 2013 July 9th 2013 6/ 17
Error Correction: Baseline Techniques
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
Recover s0, s1, s2, s3 s0 p0 p1 p2 p3 p4 p5 p6 p7
xi
s1 s2 s3 s4 s5 s6 s7
k n
pi = si · H0 + si−1 · H1 + . . . + si−M · HM, Hi ∈ Fk×n−k
q
Erasure Codes: Random Linear Codes Strongly-MDS Codes (Gabidulin’88, Gluesing-Luerssen’06 ) p4 p5 p6 p7 = H4 H3 H2 H1 H5 H4 H3 H2 H5 H4 H3 H5 H4
- full rank
s0 s1 s2 s3
ISIT, 2013 July 9th 2013 6/ 17
Streaming Codes - Burst Erasure Channel
N = 1, B = 4, T = 8
Rate 1/2 Baseline Erasure Codes, T = 7
v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7
xi
v8 p8 v9 p9 v10 p10 v11 p11
v0,v1,v2,v3
ISIT, 2013 July 9th 2013 7/ 17
Streaming Codes - Burst Erasure Channel
N = 1, B = 4, T = 8
Rate 1/2 Baseline Erasure Codes, T = 7
v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7
xi
v8 p8 v9 p9 v10 p10 v11 p11
v0,v1,v2,v3
Rate 1/2 Repetition Code, T = 8
u0 u-8 u1 u-7 u2 u-6 u3 u-5 u4 u-4 u5 u-3 u6 u-2 u7 u-1
xi
u8 u0 u9 u1 u10 u2 u11 u3
u0 u1 u2 u3
ISIT, 2013 July 9th 2013 7/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
u0 u-8 u1 u-7 u2 u-6 u3 u-5 u4 u-4 u5 u-3 u6 u-2 u7 u-1 u8 u0 u9 u1 u10 u2 u11 u3 v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7 v8 p8 v9 p9 v10 p10 v11 p11
v u u u
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7 v8 p8 v9 p9 v10 p10 v11 p11 u0 u-8 u1 u-7 u2 u-6 u3 u-5 u4 u-4 u5 u-3 u6 u-2 u7 u-1 u8 u0 u9 u1 u10 u2 u11 u3
u v u u
R= u+v 3u+v =1 2
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
R= u+v 2 u+v =2 3
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si xi u v u
R= u+v 2 u+v =2 3
Encoding:
1
Split each source symbol into 2 groups si = (ui, vi)
2
Apply Erasure code to the vi stream generating pi parities
3
Repeat the ui symbols with a shift of T
4
Combine the repeated ui’s with the pi’s
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3
xi u v u
R= u+v 2 u+v =2 3
Encoding:
1
Split each source symbol into 2 groups si = (ui, vi)
2
Apply Erasure code to the vi stream generating pi parities
3
Repeat the ui symbols with a shift of T
4
Combine the repeated ui’s with the pi’s
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3 u0 u1 u2 u3
xi u v u
R= uv 2uv
Encoding:
1
Split each source symbol into 2 groups si = (ui, vi)
2
Apply Erasure code to the vi stream generating pi parities
3
Repeat the ui symbols with a shift of T
4
Combine the repeated ui’s with the pi’s
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3 u0 u1 u2 u3 s0 s1 s2 s3
xi u v u
R= u+v 2 u+v =2 3
Encoding:
1
Split each source symbol into 2 groups si = (ui, vi)
2
Apply Erasure code to the vi stream generating pi parities
3
Repeat the ui symbols with a shift of T
4
Combine the repeated ui’s with the pi’s
ISIT, 2013 July 9th 2013 8/ 17
Burst-Erasure Streaming Codes
N = 1, B = 4, T = 8
u0 u-8 u1 u-7 u2 u-6 u3 u-5 u4 u-4 u5 u-3 u6 u-2 u7 u-1 u8 u0 u9 u1 u10 u2 u11 u3 v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7 v8 p8 v9 p9 v10 p10 v11 p11
v u u u
v0 p0 v1 p1 v2 p2 v3 p3 v4 p4 v5 p5 v6 p6 v7 p7 v8 p8 v9 p9 v10 p10 v11 p11 u0 u-8 u1 u-7 u2 u-6 u3 u-5 u4 u-4 u5 u-3 u6 u-2 u7 u-1 u8 u0 u9 u1 u10 u2 u11 u3
u v u u
R= u+v 3u+v =1 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
R= u+v 2 u+v =2 3 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si xi u v u
R= u+v 2 u+v =2 3 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3
xi u v u
R= u+v 2 u+v =2 3 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3 u0 u1 u2 u3
xi u v u
R= uv 2uv v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
si
v0,v1,v2,v3 u0 u1 u2 u3 s0 s1 s2 s3
xi u v u
R= u+v 2 u+v =2 3
Encoding:
1
Split each source symbol into 2 groups si = (ui, vi)
2
Apply Erasure code to the vi stream generating pi parities
3
Repeat the ui symbols with a shift of T
4
Combine the repeated ui’s with the pi’s
ISIT, 2013 July 9th 2013 8/ 17
Isolated Erasures
N ≥ 2
T = 8
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 v0 v1 v2 v3 v4 p4 +u-4 v5 v6 v7 v8 v9 v10 v11 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi u v u
Erasures at time t = 0 and t = 8 u0 cannot be recovered due to a repetition code
ISIT, 2013 July 9th 2013 9/ 17
Proposed Approach: Layering
N ≥ 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0
Layered Code Design Burst-Erasure Streaming Code C1 : (ui, vi, pi + ui−T ) Erasure Code: qi = fi(u0, . . . , ui−1) ∈ Fk
q
Append qi to C1: (ui, vi, pi + ui−T , qi) R = u + v 2u + v + k, k = N T − N + 1B
ISIT, 2013 July 9th 2013 10/ 17
Proposed Approach: Layering
N ≥ 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0
Layered Code Design Burst-Erasure Streaming Code C1 : (ui, vi, pi + ui−T ) Erasure Code: qi = fi(u0, . . . , ui−1) ∈ Fk
q
Append qi to C1: (ui, vi, pi + ui−T , qi) R = u + v 2u + v + k, k = N T − N + 1B
ISIT, 2013 July 9th 2013 10/ 17
Proposed Approach: Layering
N ≥ 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0
Layered Code Design Burst-Erasure Streaming Code C1 : (ui, vi, pi + ui−T ) Erasure Code: qi = fi(u0, . . . , ui−1) ∈ Fk
q
Append qi to C1: (ui, vi, pi + ui−T , qi) R = u + v 2u + v + k, k = N T − N + 1B
ISIT, 2013 July 9th 2013 10/ 17
Proposed Approach: Layering
N ≥ 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0
v0 v2
Layered Code Design Burst-Erasure Streaming Code C1 : (ui, vi, pi + ui−T ) Erasure Code: qi = fi(u0, . . . , ui−1) ∈ Fk
q
Append qi to C1: (ui, vi, pi + ui−T , qi) R = u + v 2u + v + k, k = N T − N + 1B
ISIT, 2013 July 9th 2013 10/ 17
Proposed Approach: Layering
N ≥ 2 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0
v0 v2
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 p4 +u-4 p0 +u-8 p1 +u-7 p2 +u-6 p3 +u-5 p5 +u-3 p6 +u-2 p7 +u-1 p8 +u0 p9 +u1 p10 +u2 p11 +u3
xi si u v u
q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11
k
q0 u0u2
Layered Code Design Burst-Erasure Streaming Code C1 : (ui, vi, pi + ui−T ) Erasure Code: qi = fi(u0, . . . , ui−1) ∈ Fk
q
Append qi to C1: (ui, vi, pi + ui−T , qi) R = u + v 2u + v + k, k = N T − N + 1B
ISIT, 2013 July 9th 2013 10/ 17
Related Works
Streaming Codes for Burst Erasure Channel (Block Code + Interleaving): Martinian and Sundberg (IT-2004), Martinian and Trott (ISIT-2007)
ISIT, 2013 July 9th 2013 11/ 17
Related Works
Streaming Codes for Burst Erasure Channel (Block Code + Interleaving): Martinian and Sundberg (IT-2004), Martinian and Trott (ISIT-2007) Other Variations of Streaming Codes
Unequal Source Channel Rates (Patil-Badr-Khisti-Tan Asilomar 2013, ISIT 2013, Poster) Multicast Extension (Khisti-Singh 2009, Badr-Lui-Khisti Allerton 2010) Parallel Channels (Lui-Badr-Khisti CWIT 2011) Multi-Source Streaming Codes (Lui Thesis, 2011) Lower Field Size for MiDAS Codes (Badr et. al. CWIT 2013)
ISIT, 2013 July 9th 2013 11/ 17
Related Works
Streaming Codes for Burst Erasure Channel (Block Code + Interleaving): Martinian and Sundberg (IT-2004), Martinian and Trott (ISIT-2007) Other Variations of Streaming Codes
Unequal Source Channel Rates (Patil-Badr-Khisti-Tan Asilomar 2013, ISIT 2013, Poster) Multicast Extension (Khisti-Singh 2009, Badr-Lui-Khisti Allerton 2010) Parallel Channels (Lui-Badr-Khisti CWIT 2011) Multi-Source Streaming Codes (Lui Thesis, 2011) Lower Field Size for MiDAS Codes (Badr et. al. CWIT 2013)
Connections between Network Coding and Real-Time Streaming Codes (Tekin-Ho-Yao-Jaggi ITA-2012, Leong and Ho ISIT-2012)
ISIT, 2013 July 9th 2013 11/ 17
Related Works
Streaming Codes for Burst Erasure Channel (Block Code + Interleaving): Martinian and Sundberg (IT-2004), Martinian and Trott (ISIT-2007) Other Variations of Streaming Codes
Unequal Source Channel Rates (Patil-Badr-Khisti-Tan Asilomar 2013, ISIT 2013, Poster) Multicast Extension (Khisti-Singh 2009, Badr-Lui-Khisti Allerton 2010) Parallel Channels (Lui-Badr-Khisti CWIT 2011) Multi-Source Streaming Codes (Lui Thesis, 2011) Lower Field Size for MiDAS Codes (Badr et. al. CWIT 2013)
Connections between Network Coding and Real-Time Streaming Codes (Tekin-Ho-Yao-Jaggi ITA-2012, Leong and Ho ISIT-2012) Tree Codes: Schulman (IT 1996), Sahai (2001), Martinian and Wornell (Allerton 2004), Sukhavasi and Hassibi (2011)
ISIT, 2013 July 9th 2013 11/ 17
Distance and Span Properties
MiDAS → (Near) Maximum Distance And Span tradeoff Consider (n, k, m) Convolutional code: xi = m
j=0 si−jGj
States Trellis Diagram
1 2 3 4
ISIT, 2013 July 9th 2013 12/ 17
Distance and Span Properties
MiDAS → (Near) Maximum Distance And Span tradeoff Consider (n, k, m) Convolutional code: xi = m
j=0 si−jGj
States Trellis Diagram – Free Distance
1 2 3 4
ISIT, 2013 July 9th 2013 12/ 17
Distance and Span Properties
MiDAS → (Near) Maximum Distance And Span tradeoff Consider (n, k, m) Convolutional code: xi = m
j=0 si−jGj
States Column Distance in [0,3]
1 2 3 4
Column Distance: dT dT = min
[s0,...,sT ] s0=0
wt
- s0
. . . sT
-
G0 G1 . . . GT G0 . . . GT−1 . . . ... . . . . . . G0
ISIT, 2013 July 9th 2013 12/ 17
Distance and Span Properties
MiDAS → (Near) Maximum Distance And Span tradeoff Consider (n, k, m) Convolutional code: xi = m
j=0 si−jGj
States Column Distance in [0,3]
1 2 3 4
Column Distance: dT dT = min
[s0,...,sT ] s0=0
wt
- s0
. . . sT
-
G0 G1 . . . GT G0 . . . GT−1 . . . ... . . . . . . G0
ISIT, 2013 July 9th 2013 12/ 17
Distance and Span Properties
MiDAS → (Near) Maximum Distance And Span tradeoff Consider (n, k, m) Convolutional code: xi = m
j=0 si−jGj
States Trellis Diagram
1 2 3 4
States Trellis Diagram – Free Distance
1 2 3 4
States Column Distance in [0,3]
1 2 3 4
States Column Distance in [0,3]
1 2 3 4
States Column Span in [0,3]
1 2 3 4
Column Span: cT cT = min
[s0,...,sT ] s0=0
span
- s0
. . . sT
-
G0 G1 . . . GT G0 . . . GT−1 . . . ... . . . . . . G0
ISIT, 2013 July 9th 2013 12/ 17
Column-Distance & Column Span Tradeoff
Theorem Consider a C(N, B, W) channel with delay T and W ≥ T + 1. A streaming code is feasible over this channel if and only if it satisfies: dT ≥ N + 1 and cT ≥ B + 1
ISIT, 2013 July 9th 2013 13/ 17
Column-Distance & Column Span Tradeoff
Theorem Consider a C(N, B, W) channel with delay T and W ≥ T + 1. A streaming code is feasible over this channel if and only if it satisfies: dT ≥ N + 1 and cT ≥ B + 1 Theorem For any rate R convolutional code and any T ≥ 0 the Column-Distance dT and Column-Span cT satisfy the following:
- R
1 − R
- cT + dT ≤ T + 1 +
1 1 − R There exists a rate R code (MiDAS Code) over a sufficiently large field that satisfies:
- R
1 − R
- cT + dT ≥ T +
1 1 − R
ISIT, 2013 July 9th 2013 13/ 17
Simulation Results
Gilbert-Eliott Channel (α, β) = (5 × 10−4, 0.5), T = 12 and R = 12/23
Gilbert Elliott Channel
Good State: Pr(loss) = ε Bad State: Pr(loss) = 1
- ISIT, 2013 July 9th 2013
14/ 17
Simulation Results
Gilbert-Eliott Channel (α, β) = (5 × 10−4, 0.5), T = 12 and R = 12/23
1 2 3 4 5 6 7 8 9 10 x 10
3
10
6
10
5
10
4
10
3
10
2
- Loss Probability
Gilbert Channel (,) = (5x104,0.5) T = 12, Rate = 12/23 0.5 Uncoded MaximallyShort Code (N,B) = (1,11) StronglyMDS Code (N,B) = (6,6) MiDAS Code (N,B) = (2,9)
Code N B Code N B Strongly MDS 6 6 MiDAS 2 9 Burst-Erasure 1 11
ISIT, 2013 July 9th 2013 14/ 17
Simulation Results - II
Gilbert-Eliott Channel (α, β) = (5 × 10−5, 0.2), T = 50 and R ≈ 0.6
1 2 3 4 5 6 7 8 9 10 x 10
3
10
6
10
5
10
4
10
3
- Loss Probability
Gilbert Channel (,) = (5x105,0.2), Simulation Length = 108, T = 50, Rate = 50/88 0.6
MS (N,B) = (1,33) SBEC (N,B) = (20,20) MIDAS (N,B) = (4,30) PRC (N,B) = (4,25)
Code N B Code N B Strongly MDS 20 20 MiDAS 4 30 Burst-Erasure 1 33 PRC 4 25
ISIT, 2013 July 9th 2013 15/ 17
Conclusions
Error Correction Codes for Real-Time Streaming Deterministic Channel Models C(N, B, W) Tradeoff between achievable N and B MiDAS Constructions Column-Distance and Column-Span Tradeoff Partial Recovery Codes for Burst + Isolated Erasures
ISIT, 2013 July 9th 2013 16/ 17
Burst plus Isolated Erasures
CII(N, B, W) that in a window of length W introduces A burst erasure of length B plus one isolated erasure Upto N isolated erasures 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (3,2,7) 2 6 7 13 W=7
ISIT, 2013 July 9th 2013 17/ 17
Burst plus Isolated Erasures
CII(N, B, W) that in a window of length W introduces A burst erasure of length B plus one isolated erasure Upto N isolated erasures 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (3,2,7) 2 6 7 13 W=7 Gilbert Elliott Channel
Good State: Pr(loss) = ε Bad State: Pr(loss) = 1
- ISIT, 2013 July 9th 2013
17/ 17
Burst plus Isolated Erasures
CII(N, B, W) that in a window of length W introduces A burst erasure of length B plus one isolated erasure Upto N isolated erasures 3 4 5 9 11 12 14 15 1 8 10 (N,B,W) = (3,2,7) 2 6 7 13 W=7 Partial Recovery Codes Layered Construction Partial Recovery for burst + isolated patterns
ISIT, 2013 July 9th 2013 17/ 17