Video Pre-Encoder Bit Budgeting via Contextual Block Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding technologies face challenges in efficiently allocating bit budgets across video frames, particularly in scenarios with homogeneous content like nature scenes or video games, where applying adjustments to the entire frame can lead to rapid bit budget exhaustion.

Innovation Solution

A pre-encoder system that analyzes each block of a video frame for contextual indicators such as memory colors, text, and depth of field, generates importance values, and allocates a specific percentage of the bit budget to important blocks, influencing quantization parameters to ensure optimal encoding while meeting target bitrates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the encoder allocates higher bit budget to detailed blocks, then the encoding quality of detailed regions is improved, but the bit budget is exhausted quickly when most blocks are highly detailed

Engineering Contradiction:
Improveencoding qualityVSAvoidbit budget
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating block importance within the frame and allocating bit budgets accordingly. Instead of uniform treatment, the system identifies specific blocks containing important features (text, memory colors, depth of field) and assigns them higher importance values, resulting in localized quality enhancement without proportionally increasing the overall bit budget consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of bit budget allocation from a uniform approach to a differentiated approach based on block importance. By introducing an importance value parameter that varies across blocks, the encoder dynamically adjusts quantization parameters and bit allocation to match the actual information content of different regions, preventing bit budget exhaustion in homogeneous detailed scenes.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If the encoder applies adjustment to the entire frame, then the encoding is simplified, but it is not favorable when the content is largely homogeneous

Engineering Contradiction:
Improveencoding complexityVSAvoidencoding quality
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent segments the video frame into multiple blocks and evaluates each block independently for contextual indicators. This segmentation allows the encoder to identify homogeneous regions and apply appropriate bit budget allocation strategies at the block level rather than treating the entire frame uniformly, thereby maintaining encoding quality without excessive complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial action by selectively adjusting bit budget allocation only for blocks that contain important features, rather than applying adjustments to the entire frame. This approach avoids the complexity of global adjustments while ensuring that critical regions receive adequate encoding resources, even in homogeneous content.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11843772B2Video encode pre-analysis bit budgeting based on context and features
Publication Date: 2023.12.12 ATI TECHNOLOGIES ULC
  • US11843772B2 patent drawing
  • US11843772B2 patent drawing
  • US11843772B2 patent drawing

AI summary

Systems, apparatuses, and methods for bit budgeting in video encode pre-analysis based on context and features are disclosed. A pre-encoder receives a video frame and evaluates each block of the frame for the presence of several contextual indicators. The contextual indicators can include memory colors, text, depth of field, and other specific objects. For each contextual indicator detected, a coefficient is generated and added with other coefficients to generate a final importance value for the block. The coefficients can be adjusted so that only a defined fraction of the picture is deemed important. The final importance value of the block is used to determine the bit budget for the block. The block bit budgets are provided to the encoder and used to influence the quantization parameters used for encoding the blocks.