Presentation is loading. Please wait.

Presentation is loading. Please wait.

Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02.

Similar presentations


Presentation on theme: "Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02."— Presentation transcript:

1 Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02

2 Erasure Coding for Real-Time Streaming Slide 2 of 21 packet erasure link (each transmitted packet is of normalized unit size) Discrete-time data streaming system Independent messages of uniform size s are created at the source at regular intervals of c time steps, and must be decoded at the receiver within d time steps from their respective creation times Problem Definition messages are created every c = 3 time steps … … and have to be decoded within d = 8 time steps

3 Erasure Coding for Real-Time Streaming Slide 3 of 21 An erasure pattern specifies a set of erased or lost packets An erasure model describes a set of erasure patterns that we wish to withstand Problem Definition erasure pattern #1: {7, 12, 20} erasure pattern #2: {2, 3, 13, 14, 15, 16}

4 Erasure Coding for Real-Time Streaming Slide 4 of 21 We established the capacity region and found capacity-achieving codes for the following erasure models: #1: Limited number of erasures per sliding window #2: Erasure bursts of a limited length For each erasure model: We specify a set of erasure patterns The objective is to find an optimal code that achieves the maximum message size s, among all codes that allow all messages to be decoded by their respective deadlines under all erasure patterns in Problem Definition when is it necessary to apply intersession coding; when will intrasession coding suffice?

5 Erasure Coding for Real-Time Streaming Slide 5 of 21 Intrasession coding: coding only within the same message We specify the allocation of the unit-size packet at each time step among the different messages Random linear coding / MDS code is subsequently applied to the allocation Code Construction

6 Erasure Coding for Real-Time Streaming Slide 6 of 21 The unit-size packet at each time step is divided evenly among all active messages Code Construction when d is a multiple of c … messages 2, 3, 4 are active at t = 12 coding window for each message constant number of active messages at each time step

7 Erasure Coding for Real-Time Streaming Slide 7 of 21 The unit-size packet at each time step is divided evenly among all active messages Code Construction when d is not a multiple of c... messages 3, 4, 5 are active at t = 13 variable number of active messages at each time step messages 3, 4 are active at t = 12

8 Erasure Coding for Real-Time Streaming Slide 8 of 21 Erasure Model #1: Limited Number of Erasures Per Sliding Window

9 Erasure Coding for Real-Time Streaming Slide 9 of 21 Let be the union of coding windows for messages {1,..., n } Let be the set of all erasure patterns that have z or fewer erasures in each sliding window of size d The objective is to construct a code that allows all n messages {1,..., n } to be decoded by their respective deadlines under any erasure pattern Let be the maximum message size that can be achieved by such a code, for a given choice of n, c, d, and z #1: Limited Number of Erasures Per Sliding Window

10 Erasure Coding for Real-Time Streaming Slide 10 of 21 #1: Limited Number of Erasures Per Sliding Window However, it turns out that the constructed intrasession code is asymptotically optimal: RESULT 1 The constructed code achieves a message size of y 1 + ··· + y d − z, which is equal to the asymptotic maximum achievable message size Over a finite time horizon (i.e., when n is finite), intrasession coding can be suboptimal: for example, given ( n, c, d, z ) = (3, 1, 3, 1), the optimal intrasession code achieves a message size of 6/7, whereas the optimal intersession code achieves a message size of 1 M1M2 M1 M2 M3 + O 1 2 3 4 5 t

11 Erasure Coding for Real-Time Streaming Slide 11 of 21 when d is a multiple of c... Proof of Achievability: Each message is allocated the same amount of space, distributed in the same way over d blocks across its coding window Let y be the vector of block sizes sorted in ascending order #1: Limited Number of Erasures Per Sliding Window d−zd−z every coding window will always have d − z or more unerased time steps one-size blocks

12 Erasure Coding for Real-Time Streaming Slide 12 of 21 when d is not a multiple of c... Proof of Achievability: Each message is allocated the same amount of space, distributed in the same way over d blocks across its coding window Let y be the vector of block sizes sorted in ascending order #1: Limited Number of Erasures Per Sliding Window d−zd−z every coding window will always have d − z or more unerased time steps small vs. big blocks

13 Erasure Coding for Real-Time Streaming Slide 13 of 21 Proof of Converse: When d is a multiple of c, we consider a cut-set bound corresponding to a specific worst-case erasure pattern in which exactly z erasures occur in every sliding window This is just the periodic erasure pattern comprising alternating intervals of d − z unerased time steps and z erased time steps #1: Limited Number of Erasures Per Sliding Window when d is a multiple of c... pick z = 4

14 Erasure Coding for Real-Time Streaming Slide 14 of 21 Proof of Converse: When d is not a multiple of c, no single admissible erasure pattern gives us a bound that matches the constructed code; instead, we need to combine different erasure patterns for different messages To pick these erasure patterns, we consider a base erasure pattern (which may not be admissible in general) #1: Limited Number of Erasures Per Sliding Window when d is not a multiple of c... partition the set of time steps into d sets

15 Erasure Coding for Real-Time Streaming Slide 15 of 21 Proof of Converse: When d is not a multiple of c, no single admissible erasure pattern gives us a bound that matches the constructed code; instead, we need to combine different erasure patterns for different messages To pick these erasure patterns, we consider a base erasure pattern (which may not be admissible in general) #1: Limited Number of Erasures Per Sliding Window when d is not a multiple of c... pick z = 4

16 Erasure Coding for Real-Time Streaming Slide 16 of 21 Proof of Converse: From this base erasure pattern, we derive admissible erasure patterns by taking its intersection with each coding window These derived erasure patterns are used to inductively compute an upper bound for the conditional entropy #1: Limited Number of Erasures Per Sliding Window “amount of space left in the unerased time steps of the coding window for message n...... after encoding the first n messages...... and conditioned on the previous time steps”

17 Erasure Coding for Real-Time Streaming Slide 17 of 21 Erasure Model #2: Erasure Bursts of a Limited Length

18 Erasure Coding for Real-Time Streaming Slide 18 of 21 Let be the union of coding windows for messages {1,..., n } Let be the set of all erasure patterns in which each erasure burst is z or fewer time steps in length, and consecutive bursts are separated by a gap of d − z or more unerased time steps The objective is to construct a code that allows all n messages {1,..., n } to be decoded by their respective deadlines under any erasure pattern Let be the maximum message size that can be achieved by such a code, for a given choice of n, c, d, and z #2: Erasure Bursts of a Limited Length

19 Erasure Coding for Real-Time Streaming Slide 19 of 21 #2: Erasure Bursts of a Limited Length Using the proof technique of Result 1, we can show that the constructed code is asymptotically optimal in a number of cases: RESULT 2 The constructed code achieves a message size of y 1 + ··· + y d − z, which is equal to the asymptotic maximum achievable message size in the following cases: (1) when d is a multiple of c (2) when d is not a multiple of c, and z ≤ c − r ( d, c ) (3) when d is not a multiple of c, and z ≥ d − r ( d, c ) maximum erasure burst length is sufficiently short maximum erasure burst length is sufficiently long intersession coding may be necessary for intermediate values of z

20 Erasure Coding for Real-Time Streaming Slide 20 of 21 We established the capacity region and found capacity-achieving codes for the following erasure models: #1: Limited number of erasures per sliding window #2: Erasure bursts of a limited length Further Work: Investigating optimal code constructions for the bursty erasure model when z takes on intermediate values; convolutional code construction appears to be sensitive to parameters c, d, and z Further Work: To consider the i.i.d. erasure model, where an erasure occurs at each time step independently with a given probability Probabilistic vs. deterministic message decoding requirements Withstanding a probabilistic vs. deterministic set of erasure patterns Conclusion

21 Erasure Coding for Real-Time Streaming Slide 21 of 21 Thank You!


Download ppt "Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02."

Similar presentations


Ads by Google