Rice Parameter Derivation for Parallel CTU Row Video Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The dependency between coding tree units (CTUs) in video coding conflicts with parallel processing, leading to instability and inefficiency in video coding, particularly in history-based Rice parameter derivation.

Innovation Solution

Implement history-based Rice parameter derivation by limiting the dependency between CTUs within the same CTU row and aligning it with parallel processing dependencies, using storage-synchronization processes to manage history counters and replacement variables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If history-based Rice parameter derivation is used to improve coding efficiency, then coding gain is improved, but dependencies between CTUs increase which hinders parallel processing

Engineering Contradiction:
Improvecoding efficiencyVSAvoiddependency complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the video data processing into independent CTU rows, where each row can be processed in parallel. By limiting history counter dependencies to within the same CTU row and initializing history counters for each row, the patent enables parallel processing of multiple rows while maintaining coding efficiency through intra-row history-based Rice parameter derivation.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel coding is enabled to improve processing speed, then productivity is improved, but stability of video coding deteriorates due to conflicts with history-based Rice parameter derivation

Engineering Contradiction:
Improveprocessing speedVSAvoidcoding stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces history counter storage variables as intermediaries to manage the transition of history counter values between parallel CTU row processing. These storage variables act as buffers that allow each parallel thread to access necessary history information without creating conflicts, thereby maintaining coding stability while enabling parallel processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If history counter is initialized for each CTU row to enable parallel processing, then ease of operation is improved, but loss of information increases due to resetting history context

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidhistory context information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies local quality by maintaining history counter values within each CTU row while allowing parallel processing of different rows. Each row preserves its own history context locally through the history counter storage variables, ensuring that history information is not lost within the parallel processing structure. The initialization only occurs at the start of each row, not within rows, preserving local history quality.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12627812B2History-based rice parameter derivations for wavefront parallel processing in video coding
Publication Date: 2026.05.12 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
  • US12627812B2 patent drawing
  • US12627812B2 patent drawing
  • US12627812B2 patent drawing

AI summary

In some embodiments, a video decoder decodes a video from a bitstream. The video decoder accesses a binary string representing a partition of the video and processes each coding tree unit (CTU) in the partition to generate decoded values in the CTU. The process includes for the first CTU of a current CTU row, determining whether the current CTU row is the first CTU row in the partition. If so, a history counter is set to an initial value. If not, the history counter is set to a value stored in a history counter storage variable. The video decoder decodes the CTU by calculating the Rice parameters for the CTU based on the history counter and decoding the binary string corresponding to the CTU based on the calculated Rice parameters. After decoding the CTU, the current value of the history counter is stored in the history counter storage variable.