Video Decoder Context Variable Initialization for Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding technologies, such as those in the HEVC and VVC specifications, have inefficiencies in initialization processes, leading to reduced coding efficiency and increased processing time due to unnecessary initialization steps and delays in parallel processing.

Innovation Solution

The proposed solution involves simplifying the initialization process for context variables in video coding by eliminating unnecessary initialization steps. This is achieved by initializing context variables only under specific conditions, such as when a CTU is the first in a slice or tile, and enabling parallel decoding by using the same initialization scheme for all dependent CTUs. This approach reduces the complexity of video encoders and decoders and minimizes resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If context variables are initialized for every CTU, then coding accuracy is maintained, but processing time increases and productivity decreases

Engineering Contradiction:
Improvecoding accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating initialization requirements based on CTU position. First CTUs in slices or tiles receive full initialization to ensure coding accuracy, while subsequent CTUs use inherited context variables to maintain accuracy without redundant initialization, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by pre-initializing context variables only at specific locations (first CTU in slice/tile) before the main decoding process. This preliminary initialization ensures that context variables are ready where needed while avoiding unnecessary initialization operations in other regions, thereby improving processing speed without sacrificing coding accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel decoding is enabled for all CTUs, then productivity increases, but device complexity increases due to additional initialization requirements

Engineering Contradiction:
Improvedecoding speedVSAvoidinitialization process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing CTUs into distinct categories based on their position (first CTU in slice/tile vs. other CTUs). This segmentation allows different initialization strategies to be applied to different segments, enabling parallel decoding while managing complexity through conditional logic rather than uniform treatment of all CTUs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by providing full initialization only to the extent necessary (first CTUs in slices/tiles) rather than excessively initializing all CTUs. This partial initialization approach enables parallel decoding productivity while avoiding the unnecessary complexity that would arise from attempting to initialize every CTU uniformly.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If context variables are initialized at every CTU boundary, then coding reliability is maintained, but loss of time increases due to unnecessary initialization steps

Engineering Contradiction:
Improvecoding reliabilityVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by concentrating initialization operations at specific local positions (first CTU in slice or tile) where they are most needed for reliability, while omitting redundant initialization at other positions. This localized approach maintains coding reliability where it matters most while minimizing time loss from unnecessary initialization steps.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250056022A1Method for decoding video from video bitstream, method for encoding video, video decoder, and video encoder
Publication Date: 2025.02.13 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
  • US20250056022A1 patent drawing
  • US20250056022A1 patent drawing
  • US20250056022A1 patent drawing

AI summary

A method for decoding a video from a video bitstream is provided and includes: accessing a binary string representing a partition of the video, the partition comprising a plurality of coding tree units (CTUs) forming one or more CTU rows; for each CTU of the plurality of CTUs in the partition, determining whether the CTU is the first CTU in a slice or a tile; in response to determining that the CTU is the first CTU in a slice or a tile, initializing context variables for context-adaptive binary arithmetic coding (CABAC) according to a first context variable initialization process; in response to determining that the CTU is not the first CTU in a slice or a tile, determining whether parallel decoding is enabled and the CTU is the first CTU in a CTU row of a tile.