Video Entropy Coding With Last Non-Zero Coefficient Flags
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current entropy coding methods, such as CABAC, are inefficient for larger block sizes in video coding due to the need for two scanning passes and lack of systematic implementation, leading to increased complexity and reduced compression efficiency.
Innovation Solution
A systematic entropy coding approach that uses a flag to indicate the last non-zero coefficient in a block, allowing for encoding and decoding in a single scanning pass, reducing binary bins and improving compression efficiency by eliminating unnecessary coding operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If CABAC coding is used for quantized transform coefficients, then coding efficiency is improved, but device complexity increases due to two scanning passes being required
Solution Approach 1:
The patent segments the coding process by introducing a flag to mark the last non-zero coefficient position, allowing the significance map coding to be separated from the magnitude coding. This segmentation enables the encoder to stop processing after encountering a certain number of consecutive zero coefficients, eliminating the need for the second inverse zigzag scanning pass while maintaining coding efficiency.
Solution Approach 2:
The patent applies preliminary action by encoding the last non-zero coefficient position flag during the forward zigzag scan before completing the full block processing. This preliminary marking of the last non-zero position allows the decoder to reconstruct the significance map without requiring a second pass, reducing complexity while preserving the benefits of CABAC coding.
2Loss of information
If CABAC coding is used for larger block sizes, then compression efficiency is maintained, but productivity decreases due to increased processing time from two scanning passes
Solution Approach 1:
By segmenting the coding process and using a flag to mark the last non-zero coefficient, the patent eliminates the second scanning pass for larger blocks. This segmentation allows the encoder to process only the necessary portion of the block, significantly reducing processing time and improving productivity while maintaining compression efficiency through the preserved significance map information.
Solution Approach 2:
The patent applies skipping by allowing the encoder to rush through the remaining coefficients after encountering a specified number of consecutive zeros following the last non-zero coefficient. This skipping mechanism eliminates unnecessary processing of trailing zero coefficients in large blocks, directly improving productivity without compromising the compression efficiency achieved by CABAC.
3Measurement precision
If two scanning passes are performed for CABAC coding, then accuracy of coefficient coding is improved, but loss of time increases due to multiple passes over the data
Solution Approach 1:
The patent performs preliminary action by marking the last non-zero coefficient position during the forward zigzag scan. This preliminary marking captures the essential information needed for accurate coefficient reconstruction, allowing the process to terminate early without requiring the second inverse zigzag pass, thus reducing time loss while maintaining coding accuracy.
Solution Approach 2:
The significance map coding process serves itself by incorporating the last non-zero coefficient flag within the same forward scan. This self-service approach eliminates the need for a separate second pass, as the necessary information is captured and utilized during the initial scanning process, reducing time loss while preserving accuracy.
Data Source
AI summary
Methods and apparatus are provided for improved entropy encoding and decoding. An apparatus includes a video encoder (200) for encoding at least a block in a picture by transforming a residue of the block to obtain transform coefficients, quantizing the transform coefficients to obtain quantized transform coefficients, and entropy coding the quantized transform coefficients. The quantized transform coefficients are encoded using a flag to indicate that a current one of the quantized transform coefficients being processed is a last non-zero coefficient for the block having a value greater than or equal to a specified value.


