Ring Buffer Video Packet Management for FEC and Frame Discarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital video streams face errors and quality degradation due to packet loss and bandwidth changes during transmission, leading to issues in real-time decoding and display, especially over bandwidth-limited channels.

Innovation Solution

A system utilizing a ring buffer to receive and manage video packets, performing forward error correction (FEC) on associated frames, and selectively outputting frames to a decoder for rendering, while discarding incomplete frames to prevent retransmission delays and maintain video quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If retransmission is performed to correct packet loss errors, then video quality is improved, but transmission delay increases

Engineering Contradiction:
Improvevideo qualityVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Forward error correction codes are added to video packets during encoding before transmission. This preliminary action enables the receiver to correct packet loss errors without needing retransmission, thus improving video quality while avoiding the time delay associated with retransmission requests and waiting for re-sent packets.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If all received packets are processed through decoding, then video completeness is improved, but processing time increases due to incomplete frames

Engineering Contradiction:
Improvevideo completenessVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs selective decoding by identifying and processing only those video frames that are complete and error-free. Incomplete or corrupted frames are discarded rather than processed, which reduces unnecessary processing time while maintaining video completeness through the use of forward error correction on valid frames.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system discards incomplete or corrupted video frames that cannot be recovered through forward error correction, and recovers/processes only the valid complete frames. This selective approach prevents wasting processing time on unrecoverable data while maintaining overall video completeness through FEC on the recoverable portions.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If forward error correction is applied to all frames, then video quality is improved, but processing complexity increases

Engineering Contradiction:
Improvevideo qualityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Forward error correction is applied selectively rather than uniformly to all frames. The system identifies frames that actually need error correction based on packet reception status and applies FEC only to those specific frames, reducing overall processing complexity while maintaining video quality where it is most needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10506245B2Video data processing using a ring buffer
Publication Date: 2019.12.10 CYBROOK INC
  • US10506245B2 patent drawing
  • US10506245B2 patent drawing
  • US10506245B2 patent drawing

AI summary

Systems, apparatuses, and methods for decoding a video sequence includes: receiving, by a ring buffer of the computer device, a packet associated with a frame of the video sequence; based on a determination that the frame occurs later in time than the most recent frame outputted from the ring buffer, determining whether the frame is stored in the ring buffer; when the frame is stored in the ring buffer, determining whether all packets associated with the frame have been received by the ring buffer; and when all packets associated with the frame have been received by the ring buffer and a preceding frame has been outputted from the ring buffer, outputting the frame from the ring buffer, where the preceding frame occurs immediately prior to the frame in the video sequence.