Video Coding Primary and Secondary Transform Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding designs do not allow for parallel processing of secondary and primary transforms, leading to delays and inefficiencies, particularly when the secondary transform size is equal to the primary transform size, which hinders the overall processing time and energy efficiency in video coding.

Innovation Solution

A video coding device is configured to apply a primary transform to a block and determine if a secondary transform can be applied to a sub-block, allowing the secondary transform only when the primary transform size is less than the secondary transform size, thereby constructing a residual block in the pixel domain and reconstructing the block based on predictive blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the secondary transform size is equal to the primary transform size, then the transform processing can be completed, but the processing time increases and parallel processing is not enabled

Engineering Contradiction:
Improvetransform processing completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the transform processing into two independent parallel paths: primary transform processing and secondary transform processing. When the sizes are equal, the secondary transform is applied to a sub-block rather than the entire block, enabling parallel execution without compromising the overall transform completeness. This segmentation allows both transforms to proceed simultaneously, reducing total processing time.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the secondary transform is applied to a sub-block when sizes are equal, then parallel processing is enabled and processing time is reduced, but the complexity of determining transform application increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtransform application determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary determination of whether the primary and secondary transform sizes are equal before initiating the transform process. Based on this preliminary assessment, the system pre-determines whether to apply the secondary transform to a sub-block or the entire block, and whether parallel processing should be enabled. This preliminary action simplifies the overall control logic by making decisions upfront rather than during execution.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If parallel processing is enabled for secondary and primary transforms, then power consumption is reduced, but the control logic for determining parallel eligibility becomes more complex

Engineering Contradiction:
Improvepower consumptionVSAvoidparallel processing control complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent uses parameter changes in the transform sizes to determine parallel processing eligibility. When the primary and secondary transform sizes are equal, the system changes the parameter of secondary transform application from the entire block to a sub-block, and changes the processing mode to parallel. This parameter-based control approach simplifies the decision logic compared to more complex control mechanisms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11095893B2Primary transform and secondary transform in video coding
Publication Date: 2021.08.17 QUALCOMM INC
  • US11095893B2 patent drawing
  • US11095893B2 patent drawing
  • US11095893B2 patent drawing

AI summary

A video coding device (e.g., a video encoder or a video decoder) is configured to perform various transformations on video data. The video coding device applies a primary transform to a block of the video data, the primary transform having a first size, and the sub-block being at least a portion of the block. The video coding device determines whether application of a secondary transform, having a second size, to a sub-block of the block is allowed. Application of the secondary transform is disallowed when the first size is equal to the second size. Based on the application of the secondary transform being allowed, the video coding device applies the secondary transform to the sub-block. Application of the primary transform and the secondary transform construct a residual block in a pixel domain.