Video Encoder CABAC Subblock Flag Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face inefficiencies in processing and encoding schemes when orthogonal transforms are applied or skipped, leading to increased code amounts, processing complexity, and circuit scale, especially when different encoding schemes are used for blocks with and without transforms.
Innovation Solution
An encoder and decoder that use context-adaptive coding and Golomb-Rice coding to encode and decode subblock flags and coefficient information, regardless of the application of orthogonal transforms, to reduce the number of processes and balance code amount and processing delay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If different encoding schemes are used for blocks with and without orthogonal transforms, then encoding flexibility is improved, but code amount and processing complexity increase
Solution Approach 1:
The patent applies universality by using a single unified encoding scheme (CABAC) for both transform and non-transform blocks, eliminating the need for separate encoding processes. The subblock flag syntax allows the same encoder to handle different block types uniformly, reducing processing complexity while maintaining encoding flexibility.
Solution Approach 2:
The patent merges the encoding processes for transform and non-transform blocks into a single unified process. By combining the syntax elements and using a single CABAC encoder for both types of blocks, the patent reduces the number of separate encoding operations and simplifies the overall processing complexity.
2Adaptability or versatility
If different encoding schemes are used for blocks with and without orthogonal transforms, then encoding flexibility is improved, but circuit scale increases
Solution Approach 1:
The patent applies universality by using a single unified encoding scheme (CABAC) for both transform and non-transform blocks, eliminating the need for separate encoding processes. The subblock flag syntax allows the same encoder to handle different block types uniformly, reducing processing complexity while maintaining encoding flexibility.
Solution Approach 2:
The patent merges the encoding processes for transform and non-transform blocks into a single unified process. By combining the syntax elements and using a single CABAC encoder for both types of blocks, the patent reduces the number of separate encoding operations and simplifies the overall processing complexity.
3Speed
If orthogonal transform is skipped for certain blocks, then processing speed is improved, but coding efficiency decreases
Solution Approach 1:
The patent applies dynamics by making the orthogonal transform application dynamic and adaptive rather than fixed. The encoder can dynamically decide whether to apply orthogonal transform based on block characteristics and coding conditions, optimizing the balance between processing speed and coding efficiency for each specific case.
Solution Approach 2:
The patent changes the parameter of transform application from a fixed requirement to a flexible option. By allowing the orthogonal transform parameter to be changed based on block type and coding conditions, the system can optimize processing speed when transforms are skipped while maintaining coding efficiency when transforms are applied.
Data Source
AI summary
An encoder includes circuitry and memory coupled to the circuitry. In residual coding of a current block, the circuitry, in operation, encodes a subblock flag by Context-based Adaptive Binary Arithmetic Coding (CABAC) in both of a first type of residual coding where an orthogonal transform is performed and a second type of residual coding where the orthogonal transform is skipped, the subblock flag indicating whether a non-zero coefficient is included in a plurality of coefficients for a subblock within the current block, wherein a first syntax used for the first type of residual coding is different from a second syntax used for the second type of residual coding; and controls a number of CABAC processes, wherein the encoding of the subblock flag is not counted as the number of CABAC processes.


