Buffer Management for Real-Time Streaming Video

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time video streaming systems face significant video quality degradation due to the need to drop consecutive frames from a limited video frame buffer, and previous solutions that avoid frame dropping by buffering more frames introduce unacceptable latency.

Innovation Solution

A buffer manager is implemented to manage the video frame buffer by determining whether new frames can be processed without dropping existing ones, either by discarding or averaging new frames with subsequent ones, while the video processing pipeline is busy, thereby reducing latency and buffer utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a larger video frame buffer is used to avoid dropping consecutive frames, then video quality is improved, but latency increases

Engineering Contradiction:
Improvevideo qualityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The buffer manager dynamically adjusts buffer utilization by monitoring the processing pipeline's state and selectively dropping frames only when the pipeline is busy, rather than using a static large buffer. This dynamic approach maintains video quality by preserving frames when possible while avoiding the latency of continuously buffering large numbers of frames.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of buffer utilization from a fixed large capacity to a variable capacity that adapts based on processing pipeline state. By changing how the buffer is managed (from always filling to selective filling), the system achieves both low latency and high video quality.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If a limited video frame buffer is used, then latency is reduced, but consecutive frames must be dropped causing video quality degradation

Engineering Contradiction:
ImprovelatencyVSAvoidvideo quality
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The buffer manager implements feedback by continuously monitoring whether the processing pipeline has an unprocessed frame and using this information to make drop decisions. This feedback mechanism allows the system to maintain low latency while preserving video quality by only dropping frames when necessary (when the pipeline is busy).

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The buffer management strategy dynamically adapts to processing pipeline state, transitioning between preserving frames and dropping frames based on real-time conditions. This dynamic behavior allows the system to maintain low latency while minimizing frame drops and preserving video quality.

Inventive Principle:
Principle #15Dynamics

3Productivity

If video frames are buffered prior to processing, then processing can be optimized, but buffer overflow occurs requiring frame drops

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidframe continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary buffering of video frames before processing, but with a twist: the buffer manager prepares to drop frames proactively when detecting that the processing pipeline is busy, rather than waiting for buffer overflow. This preliminary action maintains processing efficiency while preventing frame continuity issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer manager accepts that some frame drops may occur as a partial loss, but uses selective dropping (only when pipeline is busy) to maintain overall frame continuity. This partial action approach balances processing efficiency with frame continuity by tolerating minimal drops rather than over-buffering.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8665281B2Buffer management for real-time streaming
Publication Date: 2014.03.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8665281B2 patent drawing
  • US8665281B2 patent drawing
  • US8665281B2 patent drawing

AI summary

Technologies are described herein for buffer management during real-time streaming. A video frame buffer stores video frames generated by a real-time streaming video capture device. New video frames received from the video capture device are stored in the video frame buffer prior to processing by a video processing pipeline that processes frames stored in the video frame buffer. A buffer manager determines whether a new video frame has been received from the video capture device and stored in the video frame buffer. When the buffer manager determines that a new video frame has arrived at the video frame buffer, it then determines whether the video processing pipeline has an unprocessed video frame. If the video processing pipeline has an unprocessed video frame, the buffer manager discards the new video frame stored in the video frame buffer or performs other processing on the new video frame.