Video Encoder VBV Buffer Constraint Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

When encoding multiple frames in parallel, video encoders face challenges in accurately estimating the fullness level of the VBV Buffer, leading to potential underflow due to incorrect quantization parameter selection, which can result in an excessive number of bits being generated for the bitstream.

Innovation Solution

The method involves estimating the initial fullness level of the VBV Buffer, continuously updating it during encoding, and applying constraint conditions to switch to skip mode for remaining coding tree units when the actual fullness level approaches the minimum threshold, ensuring that only necessary bits are generated to prevent underflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the encoder uses estimated fullness level to select quantization parameter for parallel frame encoding, then the encoding speed is improved, but the bitstream may generate too many bits causing VBV Buffer underflow

Engineering Contradiction:
Improveencoding speedVSAvoidVBV Buffer underflow risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The encoder performs preliminary actions by estimating the fullness level before parallel frame encoding and pre-selecting quantization parameters. This allows the encoding process to proceed in parallel without waiting for actual fullness measurements, improving speed while the constraint mechanism prevents underflow

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The encoder implements feedback by continuously monitoring the actual fullness level during parallel encoding and comparing it against the minimum fullness threshold. When the threshold is approached, the encoder adjusts quantization parameters to reduce bit generation, preventing underflow while maintaining parallel processing

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If the encoder decreases quantization parameter to increase bitstream bitrate, then the VBV Buffer fullness level decreases, but the number of bits generated increases risking underflow

Engineering Contradiction:
Improvebitstream bitrateVSAvoidVBV Buffer underflow risk
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The encoder dynamically adjusts the quantization parameter based on the current fullness level. When fullness is high, the quantization parameter is decreased to increase bitrate. When fullness approaches the minimum threshold, the quantization parameter is increased to reduce bit generation and prevent underflow, creating a dynamic balance between bitrate and buffer fullness

Inventive Principle:
Principle #15Dynamics

3Reliability

If the encoder increases quantization parameter to decrease bitstream bitrate, then the VBV Buffer fullness level increases, but the bitstream quality decreases

Engineering Contradiction:
ImproveVBV Buffer fullness levelVSAvoidbitstream quality
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The encoder changes the quantization parameter based on the fullness level to control bitrate. When fullness is low, a higher quantization parameter is used to reduce bitrate and allow buffer recovery. When fullness is high, a lower quantization parameter is used to increase bitrate and improve quality, optimizing the trade-off between buffer stability and output quality

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9955168B2Constraining number of bits generated relative to VBV buffer
Publication Date: 2018.04.24 ARRIS ENTERPRISES LLC
  • US9955168B2 patent drawing
  • US9955168B2 patent drawing
  • US9955168B2 patent drawing

AI summary

A method is provided for encoding multiple video frames in parallel. The method includes the steps of generating an estimated starting fullness level of a VBV buffer before encoding begins, beginning parallel frame encoding, monitoring the number of bits produced for each parallel frame during encoding, tracking the number of unencoded CTUs within each parallel frame during encoding, continuously updating an actual fullness level of the VBV buffer relative to each parallel frame during encoding, and encoding in skip mode any remaining unencoded CTUs in a particular frame and any preceding frames when the difference between the actual fullness level for a frame and a minimum fullness level for the VBV Buffer equals the number of remaining unencoded CTUs in that particular frame.