Low-Latency Video Streaming With Adaptive FEC Renditions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video streaming, particularly in broadcast scenarios, reducing latency is challenging due to the need to transmit video content to multiple viewers simultaneously, which can hinder real-time viewing experiences of live events like gaming or sports.
Innovation Solution
The implementation of adaptive bitrate streaming with multiple rendition versions, including predictive frames only, and the use of protocols like WebRTC that do not require packet retransmission, along with edge node FEC coding, to minimize latency while maintaining quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional broadcast streaming protocols are used to transmit video to multiple viewers, then reliability and error correction are improved, but latency increases
Solution Approach 1:
Forward error correction (FEC) codes are pre-encoded into the video stream before transmission. This preliminary encoding allows the receiver to reconstruct lost packets without requiring retransmission, thereby reducing latency while maintaining reliability. The FEC data is prepared in advance and embedded in the stream, enabling immediate error recovery upon packet loss.
Solution Approach 2:
FEC codes act as an intermediary mechanism between the transmitter and receiver. Instead of direct retransmission requests (which add latency), the FEC codes mediate the error recovery process by providing redundant information that allows the receiver to autonomously correct errors, eliminating the need for interactive retransmission protocols.
2Reliability
If packet retransmission protocols are used to ensure data integrity, then reliability is improved, but latency increases due to retransmission delays
Solution Approach 1:
Redundant FEC code data is prepared and embedded in the video stream before transmission occurs. This preliminary preparation eliminates the need for post-transmission retransmission requests and responses, allowing immediate error recovery and significantly reducing the retransmission delay that would otherwise occur with traditional protocols.
3Adaptability or versatility
If video is encoded with multiple renditions and versions for adaptive bitrate streaming, then adaptability to network conditions is improved, but device complexity increases
Solution Approach 1:
The video content is segmented into multiple renditions (different resolutions, bitrates, and frame rates) and further divided into versions with different FEC code rates. This segmentation allows the system to offer varied quality levels and error protection levels to match different network conditions and device capabilities, improving adaptability while distributing the encoding complexity across multiple standardized streams.
Solution Approach 2:
The system dynamically selects and switches between different rendition versions based on real-time network conditions and device capabilities. This dynamic adaptation allows the streaming service to optimize quality and latency for each viewer without requiring complex real-time encoding decisions, as the encoding complexity is resolved during the initial creation of multiple static versions.
4Loss of time
If low latency encoding settings are used (predictive frames only), then latency is reduced, but reliability decreases due to fewer reference frames for error recovery
Solution Approach 1:
FEC codes are pre-encoded into the stream during low-latency encoding, providing error recovery capability without requiring additional reference frames or retransmission. This preliminary embedding of redundancy allows the system to use aggressive low-latency encoding settings (predictive frames only) while maintaining reliability through the pre-prepared FEC data that compensates for the reduced natural error recovery capability.
Data Source
AI summary
Techniques for low latency streaming, for example in a broadcasting environment, are described herein. In some examples, one or more individual renditions may be encoded into multiple rendition versions associated with different respective latencies. Also, in some examples, one or more individual renditions may be encoded into multiple rendition versions having different respective amounts of forward error correction (FEC), for example by an edge node of a video streaming service. Also, in some examples, video may be broadcast using a protocol that does not require retransmission of lost packets, such as Web Real-Time Communication (WebRTC), which is commonly used for point-to-point transmissions. Also, in some examples, one or more servers may receive quality of service feedback information from each player to which video content is transmitted. The one or more servers may use this feedback information to select and switch between appropriate renditions and rendition versions for each player.


