Client-Side FEC Selection for Scalable ABR Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate (ABR) streaming over unreliable transport networks faces challenges with existing forward error correction (FEC) methods, which are inefficient due to the need for real-time client feedback and per-client FEC generation, leading to scalability issues and sub-optimal error correction.
Innovation Solution
The system allows clients to dynamically select FEC fragments based on measured channel characteristics without requiring real-time feedback, generating FEC information only once per configuration, thereby avoiding the need for per-client processing and enhancing scalability and error correction efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If real-time client feedback and per-client FEC generation are used, then error correction effectiveness is improved, but server processing load and system complexity increase
Solution Approach 1:
The patent applies preliminary action by pre-generating multiple FEC configurations (different redundancy ratios and coding schemes) at the server side before transmission. These pre-generated FEC data sets are then transmitted to clients along with the media content, eliminating the need for real-time FEC generation and reducing server processing load during actual streaming operations.
Solution Approach 2:
The patent implements dynamics by enabling clients to dynamically select the most appropriate FEC configuration based on real-time channel conditions and their own buffer states. This dynamic selection allows the system to adapt to varying network conditions without requiring complex real-time FEC generation at the server, thus maintaining error correction effectiveness while reducing server complexity.
2Reliability
If per-client FEC processing is implemented, then client-specific error correction is improved, but scalability deteriorates
Solution Approach 1:
The patent applies segmentation by dividing the FEC processing into two independent parts: (1) server-side pre-generation of multiple FEC configurations that can serve multiple clients, and (2) client-side selection and application of appropriate FEC data. This segmentation allows the server to handle FEC generation once per content rather than per client, significantly improving scalability while still providing customized error correction for each client based on their specific needs.
Solution Approach 2:
The patent implements self-service by enabling clients to autonomously select and apply the most suitable FEC configuration based on their own channel conditions and buffer states without requiring continuous server intervention or customization. This self-service mechanism allows each client to receive client-specific error correction while the server maintains a standardized set of pre-generated FEC options, thereby improving scalability.
3Adaptability or versatility
If multiple FEC configurations are pre-generated, then adaptability to different channel conditions is improved, but initial processing and storage requirements increase
Solution Approach 1:
The patent applies local quality by providing different FEC configurations with varying redundancy ratios and coding schemes tailored to specific channel conditions and client requirements. Instead of using a single uniform FEC approach for all scenarios, the system offers localized optimization through multiple configurations, allowing clients to select the most appropriate level of redundancy and correction strength based on their specific network conditions and device capabilities.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A client-side FEC selection system involves pre-generating FEC data for a plurality of media segment streams based on a number of FEC configuration settings at a server. Metadata relative to the FEC data may be provided to a client device via appropriate manifest files or other mechanisms, whereupon the client device is operative to select and request a suitable FEC data fragment responsive to monitoring various network characteristics.