I. Introduction
Real-time streaming applications such as interactive audio/video conferencing, online gaming, and augmented reality require high reliability, low latency, and preferably in-order delivery of source packets. In this setup, the encoder must operate on a stream of source packets, in a sequential fashion. Likewise, the decoder must attempt to reconstruct the source packets in-order and by their playback deadlines. There are two main error correction approaches to combat packet losses in communication networks; Automatic Repeat Request (ARQ) and Forward Error Correction (FEC). ARQ is inherently inferior when considering low-latency constraints, especially for long distance communication. For that reason, FEC schemes are considered more appropriate candidates in applications such as interactive voice/video communication and multi-player gaming.