FEC Symbol Blocking for Variable-Length RTP Packet Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Forward Error Correction (FEC) technologies for MBMS streaming services face challenges with variable size RTP packets, leading to significant wastage of FEC overhead and limited block lengths, which are not efficiently addressed by existing frameworks that primarily support simple XOR-based codes and destroy the original RTP packet structure.

Innovation Solution

A method and system that distribute data packets into equally sized data symbols, allowing for the use of efficient coding schemes like LDPC erasure codes, which form error correction symbols using all data symbols in a block, enabling flexible matrix sizes and adaptive block sizes to accommodate variable length packets, and include additional fields to identify packet lengths for accurate reconstruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If padding bits are employed to obtain equal size data packets from variable size RTP packets, then equal length packets are achieved for FEC encoding, but significant wastage of FEC overhead occurs

Engineering Contradiction:
Improvepacket size uniformityVSAvoidFEC overhead wastage
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The invention segments the data stream into fixed-size data symbols (e.g., 64 bytes) rather than using fixed-size packets. Variable length RTP packets are divided into multiple data symbols, allowing efficient utilization of FEC codes without padding waste. This segmentation approach enables the FEC encoder to work with uniform symbol sizes while preserving the original variable packet structure for reconstruction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention changes the parameter from packet size to symbol size for FEC encoding purposes. By introducing a new abstraction layer (data symbols) with fixed size that is independent of RTP packet size, the system achieves efficient FEC encoding without requiring padding of variable packets. The packetization layer adapts to different packet sizes by varying the number of symbols per packet rather than changing symbol size.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If media encoders are requested to provide almost equal-size RTP packets, then FEC overhead wastage is reduced, but support for wide range of source encoders is limited

Engineering Contradiction:
ImproveFEC overhead wastageVSAvoidencoder compatibility
Core Design Contradiction:
Loss of substanceVSAdaptability or versatility

Solution Approach 1:

The invention introduces a segmentation layer that operates independently of the encoder output characteristics. Any encoder producing variable-size packets can be accommodated by segmenting the incoming packet stream into fixed-size data symbols. This decouples the FEC encoding process from encoder-specific packet size characteristics, maintaining both efficiency and compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data symbol abstraction serves multiple functions: it provides fixed-size units for efficient FEC encoding, accommodates variable-length input packets from any encoder, and enables flexible packetization strategies. This universal symbol-based approach replaces the need for encoder-specific optimization, making the FEC system universally compatible with diverse media encoders.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of manufacture

If packet-based approach with equal length packets is used, then simple source-blocking algorithm is convenient, but severe disadvantages occur for MBMS streaming services with variable size RTP packets

Engineering Contradiction:
ImproveFEC encoding convenienceVSAvoidstreaming service compatibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The invention applies segmentation at the symbol level rather than packet level. By dividing variable-size packets into fixed-size data symbols, the system maintains the simplicity of block-based FEC processing while adapting to variable packet structures. The source-blocking algorithm operates on symbols instead of packets, preserving its computational simplicity while achieving streaming service compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data symbol acts as an intermediary between variable-size RTP packets and the FEC encoding process. This intermediate representation layer translates the variability of packet structures into uniform symbol sequences that are suitable for conventional FEC algorithms, bridging the gap between packet-based and symbol-based processing approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If existing FEC frameworks supporting simple XOR-based codes are used, then implementation is simple, but block length is limited and original RTP packet structure is destroyed

Engineering Contradiction:
ImproveFEC implementation complexityVSAvoiderror correction capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The invention changes the fundamental parameter from packet size to symbol size, enabling the use of powerful LDPC erasure codes with large block lengths. By operating on fixed-size symbols rather than variable packets, the system can efficiently implement complex FEC codes that require large input blocks, significantly improving error correction capability while maintaining manageable complexity through the symbol abstraction layer.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7853856B2Forming of error correction data
Publication Date: 2010.12.14 INTERSTATE PATENTS LLC
  • US7853856B2 patent drawing
  • US7853856B2 patent drawing
  • US7853856B2 patent drawing

AI summary

The invention relates to the generation of error correction data for available data packets and to the reconstruction of missing data packets based on available data packets and available error correction data. In order to enable an efficient error correction, the data packets are distributed at an encoding end to at least one block of data symbols, each data symbol being of equal size. Then all data symbols of a respective block are used in an encoding operation for forming a respective one of at least one error correction symbol for this block. At a decoding end, received data packets are distributed again to a block of data symbols and missing data packets are reconstructed based on these data symbols and on error correction symbols associated to the block.