In-Band Redundant Data Encoding for Higher-Quality Loss Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forward error correction techniques result in imperfect recreation of lost data due to reliance on lower quality versions of previously sent data, leading to suboptimal audio quality in internet-based communications.
Innovation Solution
Implement an in-band forward error correction scheme that sends redundant data across multiple packets, utilizing future data context to enhance encoding and dynamically allocate bandwidth, allowing for higher quality recreation of lost data by combining multiple FEC representations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional forward error correction techniques are used to send redundant data, then data loss recovery is enabled, but the recreation quality is imperfect due to reliance on lower quality versions of previously sent data
Solution Approach 1:
The patent implements dynamic bandwidth allocation that adjusts the quality and amount of FEC data sent in each packet based on current network conditions and available bandwidth. This allows the system to send higher quality FEC representations when bandwidth permits, directly improving data recreation quality while maintaining reliability.
Solution Approach 2:
The patent introduces a temporal dimension to FEC by sending multiple representations of the same data at different quality levels across multiple packets. Instead of relying solely on previous lower-quality versions, the system accumulates FEC data over time from multiple sources, enabling reconstruction of lost high-quality data by combining multiple lower-quality representations received later.
2Manufacturing precision
If more bandwidth is allocated to FEC data to improve recreation quality, then data loss recovery quality improves, but bandwidth utilization efficiency decreases
Solution Approach 1:
The system dynamically adjusts FEC bandwidth allocation based on real-time network conditions, available bandwidth, and the specific needs of the current packet. This allows optimal utilization of available bandwidth for FEC purposes without wasting resources, improving both recreation quality and efficiency simultaneously.
Solution Approach 2:
The patent changes the parameters of FEC encoding by sending the same data portion multiple times at different quality levels and with different encoding rates. This allows the system to maximize the information content within available bandwidth, improving recreation quality without proportionally increasing bandwidth consumption.
3Manufacturing precision
If multiple FEC representations are sent to enable higher quality recreation, then data recreation quality improves, but device complexity increases
Solution Approach 1:
The patent segments the FEC data into multiple representations of the same data portion, each suitable for different reconstruction scenarios. This segmentation allows the receiver to selectively combine only the necessary representations to reconstruct lost packets, managing complexity through modular organization of FEC data.
Solution Approach 2:
The system creates FEC data that serves multiple functions: it can reconstruct individual lost packets, fill gaps in sequential data, and provide progressively higher quality reconstructions as more packets are received. This multi-functionality reduces overall system complexity by using a single FEC mechanism for multiple recovery scenarios.
Data Source
AI summary
In some aspects, the techniques described herein relate to a method including: encoding a current data portion to generate an encoded current data portion for inclusion in a data packet; encoding, based upon content of the current data portion, a forward error correction data portion for a previous data portion to generate an encoded forward error correction data portion; generating the data packet including the encoded current data portion and the encoded forward error correction data portion; and providing the data packet to a receiver.


