Description
The Encoding Symbol Identifier (ESI) is a fundamental component of the 3GPP-specified application-layer Forward Error Correction (FEC) schemes, namely Raptor and RaptorQ codes, defined for reliable data delivery over broadcast and multicast channels. These FEC codes operate by taking an original data object (e.g., a file or a stream segment), dividing it into source blocks, and then generating a potentially limitless number of encoding symbols from each block. Encoding symbols can be either original source symbols or repair symbols generated mathematically from the source symbols. The ESI is an integer value that uniquely identifies each individual encoding symbol within the context of a specific source block.
Technically, during the encoding process, the FEC encoder assigns an ESI to every symbol it generates. For the original source symbols, the ESI values are typically consecutive integers starting from 0. For repair symbols, the ESI values continue sequentially or are assigned from a separate range, depending on the FEC scheme's configuration. This ESI is then included as part of the symbol's payload when it is transmitted, often encapsulated within a protocol like FLUTE/ALC. On the receiver side, the FEC decoder collects received symbols, each tagged with its ESI. The decoder uses the ESI to place each symbol in the correct position within the mathematical system of equations that models the FEC code. Once enough symbols (with distinct ESIs) are received—reaching or exceeding the number of original source symbols—the decoder can solve these equations to reconstruct the entire source block perfectly.
The role of the ESI is critical for the efficiency and robustness of the FEC process. It allows symbols to be transmitted and received out-of-order, which is common in IP networks and especially in broadcast scenarios where different receivers may experience different loss patterns. The receiver does not need to know the transmission order; it simply needs a set of symbols with distinct ESIs. This makes the FEC scheme ideal for one-to-many distribution. The ESI, along with the FEC Payload ID (which also contains the source block number and other parameters), forms the minimal necessary information for the decoder to function, ensuring that the overhead for FEC control information is kept very low, maximizing the efficiency of the broadcast bearer.
Purpose & Motivation
The ESI was created to address the challenge of reliable file and stream delivery over inherently unreliable one-to-many channels, such as those used in MBMS/eMBMS. Traditional TCP-based retransmission is inefficient and non-scalable for broadcast because it leads to feedback implosion (millions of receivers sending NACKs). Forward Error Correction (FEC) provides a solution by adding redundant data, but a practical FEC scheme for broadcast requires a way for receivers to identify which specific pieces of redundant data they have received without relying on sequence numbers that imply a strict linear order.
The ESI solves this by providing a content-centric identifier rather than a sequence-centric one. Its purpose is to allow the FEC decoder to identify the mathematical role of each received symbol uniquely, independent of transmission order or loss. This design directly addresses the limitations of previous simpler FEC schemes or pure retransmission. It enables the use of advanced fountain codes like RaptorQ, where the receiver can recover the original data from *any* set of encoding symbols, as long as the total number is sufficient. The ESI is the key that makes this 'any-symbol' recovery possible, as it tells the decoder exactly which linear equation each symbol represents. This innovation was crucial for making 3GPP broadcast services robust against packet loss while maintaining high spectral efficiency.
Key Features
- Uniquely identifies each encoding symbol (source or repair) within a source block
- Enables FEC decoding independent of symbol transmission or reception order
- Integral part of the Raptor and RaptorQ FEC scheme specifications
- Carried within the FEC Payload ID of transmitted packets
- Allows receivers to reconstruct data from any sufficient set of distinct symbols
- Minimizes protocol overhead for reliable broadcast/multicast delivery
Evolution Across Releases
Introduced the ESI as part of the Raptor code FEC framework for MBMS download and streaming services in LTE (eMBMS). Defined its role and encoding within the FEC Payload ID structure in TS 26.346, establishing the mechanism for reliable broadcast file delivery.
Defining Specifications
| Specification | Title |
|---|---|
| TS 26.346 | 3GPP TS 26.346 |
| TS 26.517 | 3GPP TS 26.517 |
| TS 26.946 | 3GPP TS 26.946 |
| TS 26.947 | 3GPP TS 26.947 |
| TS 28.318 | 3GPP TS 28.318 |