On Coding for Real-Time Streaming under Packet Erasures Derek Leong*#, Asma Qureshi*, and Tracey Ho* *California Institute of Technology, Pasadena, California, USA #Institute for Infocomm Research, Singapore ISIT 2013 2013-07-09 Introduction: Real-Time Streaming System Real-time streaming system where messages created at regular time intervals at a source are encoded for transmission to a receiver over a packet erasure link, and the receiver must subsequently decode each message within a given delay from its creation time On Coding for Real-Time Streaming under Packet Erasures Slide 2 of 26 Introduction: Erasure Models and Objectives Types of erasure models: Deterministic: • Window-based: Limited number of erasures in each window [1] • Bursty: Erasure bursts of a limited length with minimum guard interval lengths IID: Each packet is erased independently with the same probability Objective for deterministic erasure models: Find an erasure correction code that achieves the maximum message size, among all codes that allow all messages to be decoded by their respective deadlines under all admissible erasure patterns Objective for i.i.d. erasure model: For a given message size, find an erasure correction code that achieves the maximum probability of decoding a message by its deadline [1] D. Leong and T. Ho, “Erasure coding for real-time streaming,” in Proc. IEEE ISIT, Jul. 2012. On Coding for Real-Time Streaming under Packet Erasures Slide 3 of 26 Introduction: Related Work Related work: Martinian et al. [2,3] and Badr et al. [4] provided constructions of streaming codes that minimize the decoding delay for certain types of bursty erasure models [2] E. Martinian and C.-E. W. Sundberg, “Low delay burst erasure correction codes,” in Proc. IEEE ICC, May 2002. [3] E. Martinian and M. Trott, “Delay-optimal burst erasure code construction,” in Proc. IEEE ISIT, Jun. 2007. [4] A. Badr, A. Khisti, W.-T. Tan, and J. Apostolopoulos, “Streaming codes for channels with burst and isolated erasures,” in Proc. IEEE INFOCOM, Apr. 2013. Tree codes or anytime codes, for which the decoding failure probability decays exponentially with delay, are examined in [5,6,7] [5] L. J. Schulman, “Coding for interactive communication,” IEEE Trans. Inf. Theory, Nov. 1996. [6] A. Sahai, “Anytime information theory,” Ph.D. dissertation, MIT, 2001. [7] R. T. Sukhavasi, “Distributed control and computing: Optimal estimation, error correcting codes, and interactive protocols,” Ph.D. dissertation, Caltech, 2012. On Coding for Real-Time Streaming under Packet Erasures Slide 4 of 26 Problem Definition: Real-Time Streaming System Discrete-time data streaming system Independent messages of uniform size s are created at regular intervals of c time steps at the source; at each time step, the source transmits a single data packet of normalized unit size over the packet erasure link Receiver must decode each message within a delay of d time steps from its creation time messages are created every c = 3 time steps … … and have to be decoded within d = 8 time steps On Coding for Real-Time Streaming under Packet Erasures Slide 5 of 26 Problem Definition: Erasure Patterns and Models An erasure pattern specifies a set of erased packet transmissions An erasure model describes a distribution of erasure patterns Erasure 13,20} 14, 15, 16} Erasurepattern pattern#2 #1=={2, {7,3,12, On Coding for Real-Time Streaming under Packet Erasures Slide 6 of 26 First Erasure Model: Bursty Erasures On Coding for Real-Time Streaming under Packet Erasures Slide 7 of 26 Bursty Erasures: Problem Definition Define the set of admissible erasure patterns to be those in which each erasure burst consists of at most z erased time steps consecutive bursts are separated by a guard interval or gap of at least d−z unerased time steps (each message sees at most z erasures) Other bursty models possible… Interested in erasure correction codes that allow all messages to be decoded by their respective deadlines under any admissible erasure pattern Specifically, we want to find a code that achieves the maximum message size s, for a given choice of (c, d, z) On Coding for Real-Time Streaming under Packet Erasures Slide 8 of 26 Bursty Erasures: Results Previously in [1], we constructed a time-invariant intrasession code that is asymptotically optimal (as the number of messages n goes to infinity) in the following cases: d is a multiple of c d is not a multiple of c, and the maximum erasure burst length z is sufficiently short, i.e., z ≤ c − r(d,c) d is not a multiple of c, and the maximum erasure burst length z is sufficiently long, i.e., z ≥ d − r(d,c) Here, we construct time-invariant diagonally interleaved codes that are asymptotically optimal in several other cases [1] D. Leong and T. Ho, “Erasure coding for real-time streaming,” in Proc. IEEE ISIT, Jul. 2012. On Coding for Real-Time Streaming under Packet Erasures Slide 9 of 26 Bursty Erasures: Diagonally Interleaved Codes 3. Apply Diagonally interleaved codes systematic block and codes with certain 2. a systematic block codederived for d−zfrom information symbols z parity symbols 4. These sufficient code properties describe decoding deadlines for individual symbols. 1. About symbols, packets, andoptimal messages. properties are asymptotically for the bursty erasure model. on each diagonal. Here (c,d,z) = (3,11,4) On Coding for Real-Time Streaming under Packet Erasures Slide 10 of 26 Bursty Erasures: Diagonally Interleaved Code Example On Coding for Real-Time Streaming under Packet Erasures Slide 11 of 26 Bursty Erasures: Diagonally Interleaved Code Example Consider the d symbols of one codeword On Coding for Real-Time Streaming under Packet Erasures Slide 12 of 26 Bursty Erasures: Diagonally Interleaved Code Example Rearrange these d symbols as follows On Coding for Real-Time Streaming under Packet Erasures Here (c,d,z) = (5,57,42) Slide 13 of 26 Bursty Erasures: Diagonally Interleaved Code Example Actual information symbols Nondegenerate parity symbols Degenerate parity symbols Here (c,d,z) = (5,57,42) Symbol decoding deadlines On Coding for Real-Time Streaming under Packet Erasures Slide 14 of 26 Bursty Erasures: Diagonally Interleaved Code Example Example of an erasure burst… On Coding for Real-Time Streaming under Packet Erasures Here (c,d,z) = (5,57,42) Slide 15 of 26 Second Erasure Model: IID Erasures On Coding for Real-Time Streaming under Packet Erasures Slide 16 of 26 IID Erasures: Problem Definition Each packet transmitted over the link is erased independently with the same probability pe Want to find an erasure correction code that achieves the maximum message decoding probability, for a given message size s Primary performance metric: Decoding probability, i.e., the probability that a given message is decodable by its decoding deadline for applications sensitive to bursts of decoding failures Secondary performance metric: Burstiness of undecodable messages, i.e., the conditional probability that the next message is undecodable by its decoding deadline given that the current message is undecodable by its decoding deadline In the interest of practicality, we restrict our attention to time-invariant codes On Coding for Real-Time Streaming under Packet Erasures Slide 17 of 26 IID Erasures: Decoding Probability Assume decoder memory size is unbounded The probability of decoding a given message k can be expressed in terms of conditional entropies as follows message k unerased packets received up to the decoding deadline for message k criteria for successful decoding condition over all erasure patterns probability of the corresponding erasure pattern Here, finding an optimal code is a combinatorial problem involving probabilistic erasure patterns, in contrast to the deterministic “worst-case” problem formulation for the other erasure models On Coding for Real-Time Streaming under Packet Erasures Slide 18 of 26 IID Erasures: Decoding Probability Upper Bound We derive the following upper bound on the decoding probability for any time-invariant code: for any message k ≥ encoder memory size mE Proof combines the bounding technique from our work on the sliding window erasure model [1] with a combinatorial analysis on the maximum number of erasure patterns that can be supported On Coding for Real-Time Streaming under Packet Erasures Slide 19 of 26 IID Erasures: Symmetric Codes For intrasession codes coding is allowed within the same message but not across different messages the unit-size packet at each time step is divided into blocks allocated to different messages; a suitable code (e.g., MDS) is subsequently applied For symmetric codes, we define a spreading parameter m, and divide the packet at each time step evenly among all active messages Spreading parameter m is a multiple of c: Same-size blocks c=3 m=9 m=9 On Coding for Real-Time Streaming under Packet Erasures Slide 20 of 26 IID Erasures: Symmetric Codes For intrasession codes coding is allowed within the same message but not across different messages the unit-size packet at each time step is divided into blocks allocated to different messages; a suitable code (e.g., MDS) is subsequently applied For symmetric codes, we define a spreading parameter m, and divide the packet at each time step evenly among all active messages Spreading parameter m is not a multiple of c: Big and small blocks c=3 m=8 m=8 On Coding for Real-Time Streaming under Packet Erasures Slide 21 of 26 IID Erasures: Symmetric Codes Performance Decoding Probability Plots of the decoding failure probability against... minimal spreading performs well when s and pe are large maximal spreading performs well when s and pe are small message size s (for pe = 0.05) On Coding for Real-Time Streaming under Packet Erasures packet erasure probability pe (for s = 1) Slide 22 of 26 IID Erasures: Symmetric Codes Performance Burstiness of Undecodable Messages Plots of the conditional probability against... results agree with our intuition about overlapping effective coding windows minimal spreading performs well over a wide range of s and pe message size s (for pe = 0.05) On Coding for Real-Time Streaming under Packet Erasures packet erasure probability pe (for s = 1) Slide 23 of 26 IID Erasures: Symmetric Codes Performance Trade-off between performance metrics When the message size and packet erasure probability are small (a regime of interest), maximal spreading achieves a high decoding probability, but it also exhibits a higher burstiness of undecodable messages For applications sensitive to bursty undecodable messages, a symmetric code with a suboptimal decoding probability but lower burstiness may be preferred On Coding for Real-Time Streaming under Packet Erasures Slide 24 of 26 Conclusion For the bursty erasure model We constructed diagonally interleaved codes that are asymptotically optimal over all codes in several specific cases For the i.i.d. erasure model We derived an upper bound on the decoding probability for any time-invariant code, and We analyzed the performance of symmetric codes (observed phase transitions, good codes, trade-offs) On Coding for Real-Time Streaming under Packet Erasures Slide 25 of 26 Thank You! On Coding for Real-Time Streaming under Packet Erasures Slide 26 of 26