Description
Reverse Variable Length Code (RVLC) is a forward error correction (FEC) coding scheme specified in 3GPP TS 26.111 for multimedia broadcast/multicast services (MBMS), particularly in the context of 3GPP Packet Switched Streaming (PSS) and Multimedia Broadcast Multicast Service (MBMS). The coding technique is applied to variable length coded data, such as Huffman-coded symbols, to enhance error resilience. Unlike conventional variable length codes (VLC) that are only decodable in one direction, RVLC is designed to be uniquely decodable both forwards and backwards. This bidirectional decodability is achieved by constructing codewords that satisfy symmetric properties, allowing a decoder to start from either end of a received bitstream when errors corrupt parts of the data.
Architecturally, RVLC operates at the application layer in the multimedia delivery stack. In an MBMS system, multimedia content is encoded using audio and video codecs, which often produce variable length codes after entropy coding (e.g., Huffman coding in Advanced Audio Coding - AAC). These VLC bitstreams are then protected with RVLC before being packetized and transmitted over the broadcast channel. The key components involve the RVLC encoder at the broadcast source, which maps source symbols to reversible codewords, and the RVLC decoder at the receiver, which exploits the reversibility to recover data even if the bitstream is corrupted. The decoder typically uses synchronization markers and error detection mechanisms to identify error boundaries and attempt decoding from both directions to maximize data recovery.
How RVLC works involves constructing a codebook where each codeword is a palindrome or satisfies specific constraints that ensure reversibility. When transmitting, the encoder processes the source symbols and outputs RVLC codewords. During reception, if errors occur, the decoder may lose synchronization, making forward decoding impossible beyond the error point. However, because the code is reversible, the decoder can start from the end of the bitstream and decode backwards until it meets the error from the other side. This effectively allows the recovery of data that would otherwise be lost. The technique is particularly effective for burst errors common in wireless channels, as it increases the likelihood of decoding segments between error bursts.
RVLC's role in the network is to improve the quality of experience for broadcast services by enhancing error resilience without significantly increasing overhead. It is a key enabler for reliable mobile TV and streaming over broadcast networks, where channel conditions can vary widely among users. By integrating with other FEC mechanisms like Reed-Solomon codes at the transport layer, RVLC provides a layered protection approach, ensuring that multimedia content is delivered robustly even in challenging radio environments, thus supporting the commercial viability of broadcast services in 3GPP systems.
Purpose & Motivation
RVLC was developed to address the challenge of error propagation in variable length coded multimedia data transmitted over error-prone wireless broadcast channels. In traditional VLC schemes, such as Huffman coding used in audio and video compression, a single bit error can cause loss of synchronization, leading to catastrophic decoding failure as the decoder misinterprets subsequent bits. This is particularly problematic for broadcast services like MBMS, where retransmissions are inefficient or impossible, and users experience varying signal qualities. RVLC solves this by enabling bidirectional decoding, allowing receivers to recover more data from corrupted streams.
The motivation for RVLC stems from the need for efficient error resilience in multimedia broadcasting without excessive redundancy. Prior approaches relied heavily on lower-layer FEC or retransmission protocols, which could introduce high latency or bandwidth overhead. RVLC provides an application-layer solution that complements physical layer protections. It was introduced in 3GPP Release 8 alongside enhancements for MBMS, as part of the effort to enable mobile TV and group communication services over cellular networks. The technique allows broadcasters to deliver acceptable quality to a larger audience, including those at cell edges or in poor coverage areas.
Historically, error resilience for VLC data involved techniques like reversible variable length coding (RVLC) adopted from standards like MPEG-4. 3GPP standardized RVLC to ensure interoperability and optimal performance within its multimedia frameworks. It addresses limitations of previous methods by offering a standardized code construction that balances compression efficiency with error recovery capability. This enables service providers to deploy broadcast services more reliably, enhancing user experience and supporting business models for mass media distribution over cellular networks.
Key Features
- Bidirectional decodability allowing forward and backward decoding of variable length codes
- Enhanced error resilience for burst errors in wireless broadcast channels
- Application-layer forward error correction complementary to physical layer FEC
- Standardized code construction for interoperability in 3GPP MBMS and PSS
- Reduces error propagation in entropy-coded multimedia bitstreams
- Improves quality of experience for mobile TV and streaming services
Evolution Across Releases
Defining Specifications
| Specification | Title |
|---|---|
| TS 26.111 | 3GPP TS 26.111 |