Last Significant Coefficient Coding With Fewer CABAC Context Models
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding techniques face inefficiencies in encoding the position of the last significant coefficient within a video block, particularly due to lengthy bit strings and excessive context models in CABAC, which impact compression performance.
Innovation Solution
Implementing a truncated unary coding scheme with a maximum bit length of 2 log2(T)−1 for the first binary string and a fixed length coding scheme with a maximum bit length of log2(T)−2 or log2(T)−1 for the second binary string to encode the position of the last significant coefficient, reducing the overall bit string length and context models.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If CABAC (Context-Adaptive Binary Arithmetic Coding) is used to encode the position of the last significant coefficient, then compression efficiency is improved, but the bit string length increases and the number of context models increases excessively
Solution Approach 1:
The patent segments the encoding process into two distinct parts: a truncated unary coding scheme for the most significant bits of the position value, and a fixed-length or variable-length coding scheme for the remaining bits. This segmentation allows each part to be optimized independently, reducing the overall complexity of context models while maintaining compression efficiency.
Solution Approach 2:
The patent applies different coding strategies to different parts of the position value based on their local characteristics. The most significant bits (which have lower frequency) use truncated unary coding with fewer context models, while the less significant bits use fixed-length or variable-length coding. This local optimization reduces the total number of context models required.
2Loss of information
If CABAC is used to encode the position of the last significant coefficient, then compression efficiency is improved, but the bit string length becomes excessive
Solution Approach 1:
The patent divides the position value encoding into segments with different coding schemes. The truncated unary coding for the most significant bits produces shorter codewords on average, while the fixed-length coding for remaining bits provides compact representation. This segmented approach reduces the overall expected bit string length compared to uniform CABAC encoding.
Solution Approach 2:
The patent changes the coding parameters dynamically based on the position value characteristics. By using truncated unary coding with a specified maximum bit length for the most significant bits and switching to fixed-length or variable-length coding for the remainder, the encoding adapts to the actual distribution of position values, reducing the average bit string length.
3Measurement precision
If a detailed coding scheme with many context models is used, then encoding precision is improved, but encoding/decoding time increases
Solution Approach 1:
The patent segments the context modeling into fewer, more manageable groups corresponding to the truncated unary coding portions and the fixed-length coding portions. This reduces the total number of context models that need to be updated and queried during encoding and decoding, thereby reducing processing time while maintaining sufficient precision through the segmented approach.
Data Source
AI summary
A video encoder is configured to determine a first and second binary string for a value indicating the position of the last significant coefficient, within a video block of size T. A video decoder is configured to determine a value indicating the position of a last significant coefficient within a video block of size T based on a first and second binary string. In one example, the first binary string is based on a truncated unary coding scheme defined by a maximum bit length defined by 2 log2(T)−1 and the second binary string is based on a fixed length coding scheme defined by a maximum bit length defined by log2(T)−2.


