FEC Source Block Layout for Variable-Length Packet Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transmission systems face challenges in efficiently recovering data loss during packet transmission, particularly with high-capacity multimedia content, due to network congestion and variable packet lengths, which result in audio and video quality degradation and increased zero padding that transmits unnecessary parity data.
Innovation Solution
A method and apparatus that efficiently configure source blocks by dividing them into regions with different column sizes, minimizing zero padding and improving error correction capabilities, using Forward Error Correction (FEC) encoding to recover missing data while reducing redundancy and transmission overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If variable length source packets are grouped into source blocks with uniform column size, then data can be transmitted with FEC protection, but zero padding increases the number of source symbols and transmits unnecessary parity data
Solution Approach 1:
The source block is divided into multiple regions with different column sizes, where each region can accommodate packets of specific length ranges. This segmentation allows packets of different lengths to be efficiently packed without excessive zero padding, while maintaining the overall block structure needed for FEC encoding.
Solution Approach 2:
Different regions within the source block have different column sizes optimized for specific packet length ranges. This local differentiation allows each region to minimize padding for its intended packet type, improving overall transmission efficiency while maintaining reliable data recovery through FEC.
2Ease of manufacture
If zero padding is added to fill source blocks, then FEC encoding can be performed on complete blocks, but the number of source symbols increases and redundant parity is transmitted
Solution Approach 1:
By segmenting the source block into regions with different column sizes, the system can accommodate variable length packets more efficiently. Each region is designed to minimize padding for specific packet types, reducing the total number of source symbols while maintaining complete block structures for FEC encoding.
Solution Approach 2:
The column size parameter varies across different regions of the source block rather than being uniform. This parameter change allows the system to adapt to different packet lengths, reducing the need for zero padding while maintaining the structural requirements for FEC encoding.
3Device complexity
If uniform column size is used in source blocks, then encoding is simpler, but variable length packets require excessive zero padding
Solution Approach 1:
The source block is segmented into multiple regions, each with optimized column sizes for specific packet length ranges. This segmentation reduces the need for zero padding compared to uniform column sizes, while the regular structure of regions maintains manageable encoding complexity.
Solution Approach 2:
The source block uses a composite structure with different column size regions, combining the benefits of uniform structures (manageable complexity) with the efficiency of variable structures (reduced padding). Each region acts as a component optimized for specific packet types.
Data Source
Figure 1a~1b
Figure 2
Figure 3a
AI summary
A method and apparatus are provided for recovering data efficiently even when data loss has occurred over a channel or network. The packet transmission method includes arranging a first transmission packet in a source symbol in a first region of a source block; arranging a second transmission packet in a space starting with an empty space of a last source symbol where the first transmission packet is arranged, remaining after arranging the first transmission packet; arranging information related to the second transmission packet in a second region of the source block; performing Forward Error Correction (FEC) encoding on the source block; and transmitting the encoded source block.