Parallel Video Encoder Bit Budget Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel video encoding, it is challenging for independent encoder instances to cooperate in allocating bit budgets to blocks within frame portions, leading to inefficient allocation of bits, where complex blocks may receive insufficient data while simpler blocks may be over-allocated, due to lack of knowledge about the complexity of blocks assigned to other encoder instances.

Innovation Solution

The solution involves determining a historical complexity distribution of previous frames to allocate bit budgets between parallel encoder instances, allowing each instance to assign bits based on the complexity measure of its assigned frame portion, ensuring that more bits are allocated to complex blocks without requiring communication between encoder instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If independent encoder instances encode frame portions in parallel without communication, then encoding speed is improved, but bit budget allocation accuracy deteriorates

Engineering Contradiction:
Improveencoding speedVSAvoidbit budget allocation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary analysis of historical complexity distribution from previous frames before actual encoding. This pre-computed complexity information is then used to guide bit budget allocation during parallel encoding, allowing encoders to make informed decisions without real-time communication while maintaining allocation accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A central controller acts as an intermediary that collects complexity information from all encoder instances, computes the historical complexity distribution, and distributes bit budget allocations back to each encoder. This mediator enables indirect coordination without requiring direct communication between parallel encoder instances during encoding

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If more bits are allocated to complex blocks, then visual fidelity is improved, but overall bit budget efficiency may deteriorate due to lack of global complexity knowledge

Engineering Contradiction:
Improvevisual fidelityVSAvoidbit budget efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system uses feedback from historical encoding data, where the complexity distribution from previous frames is fed back into the bit budget allocation process. This feedback mechanism allows the system to learn from past performance and continuously improve bit allocation efficiency while maintaining high visual fidelity for complex blocks

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the bit budget allocation parameters based on the computed historical complexity distribution. By changing the allocation parameters according to actual complexity measurements rather than using fixed or uniform allocation, the system achieves both high visual fidelity for complex blocks and overall bit budget efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11985341B2Assigning bit budgets to parallel encoded video data
Publication Date: 2024.05.14 ATI TECHNOLOGIES ULC
  • US11985341B2 patent drawing
  • US11985341B2 patent drawing
  • US11985341B2 patent drawing

AI summary

A technique for encoding video is provided. The technique includes for a first portion of a first frame that is encoded by a first encoder in parallel with a second portion of the first frame that is encoded by a second encoder, determining a historical complexity distribution; determining a first bit budget for the first portion of the first frame based on the historical complexity distribution; and encoding the first portion of the first frame by the first encoder, based on the first bit budget.