Adaptive Coefficient Encoding for CABAC Delay and Circuit Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in efficiently processing increasing amounts of digital video data, leading to potential increases in processing delay, code amount, and circuit complexity due to inappropriate encoding schemes for blocks with and without orthogonal transform applications.
Innovation Solution
An encoder and decoder system that limits context adaptive coding processes and uses Golomb-Rice coding for coefficient information flags, with optional conversion using neighboring coefficients, to optimize encoding and decoding regardless of orthogonal transform application.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If context-based adaptive binary arithmetic coding (CABAC) is applied to encode coefficient information flags, then coding efficiency is improved, but processing delay and code amount increase when orthogonal transform is skipped
Solution Approach 1:
The patent applies dynamics by making the encoding scheme adaptive based on whether orthogonal transform is performed. When orthogonal transform is skipped, the system dynamically switches to a simpler encoding method (direct Golomb-Rice coding without CABAC) to reduce processing delay, while maintaining CABAC when orthogonal transform is performed to maximize coding efficiency.
Solution Approach 2:
The patent changes the encoding parameter (method selection) based on the processing condition. The system switches between CABAC-based encoding and direct Golomb-Rice encoding depending on whether orthogonal transform is applied, optimizing the balance between coding efficiency and processing speed for different scenarios.
2Productivity
If CABAC encoding is applied to coefficient information flags, then coding efficiency is improved, but circuit complexity increases
Solution Approach 1:
The patent makes the encoding circuitry dynamic by conditionally enabling CABAC based on whether orthogonal transform is performed. When orthogonal transform is skipped, the circuit automatically uses the simpler direct Golomb-Rice encoding path, reducing circuit complexity while maintaining efficiency where needed.
Solution Approach 2:
The system changes the encoding parameter dynamically - using CABAC when orthogonal transform is performed (for maximum efficiency) and skipping CABAC when orthogonal transform is skipped (for reduced complexity), thus optimizing the trade-off between coding efficiency and circuit complexity.
3Productivity
If orthogonal transform is performed on all blocks, then coding efficiency is improved, but processing delay increases
Solution Approach 1:
The patent segments the encoding process into two distinct paths: one for blocks where orthogonal transform is performed (for maximum efficiency) and another for blocks where it is skipped (for reduced processing delay). This segmentation allows the system to optimize for different performance requirements in different contexts.
Solution Approach 2:
The system dynamically decides whether to apply orthogonal transform based on block characteristics and encoding conditions. When orthogonal transform is skipped, the encoding process uses a simplified path without CABAC, reducing processing delay while maintaining acceptable coding efficiency.
Data Source
AI summary
An encoder including circuitry and memory coupled to the circuitry. In both of a first case where an orthogonal transform is performed and a second case where the orthogonal transform is skipped, when a number of CABAC processes is within an allowable range, the circuitry: encodes a plurality of coefficient information flags by CABAC; and encodes a remainder value of the coefficient; and when the number of CABAC processes is not within the allowable range, the circuitry: skips the encoding of the plurality of coefficient information flags, wherein in the first case, the circuitry: converts the coefficient to a second coefficient by using a poszero value that is determined using a plurality of surrounding coefficients; and encodes a value of the second coefficient, and wherein in the second case, the circuitry: encodes the value of the coefficient.


