CABAC Coefficient Decoding With Adaptive Bit-Split Context Modeling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video data compression and decompression systems face inefficiencies in entropy encoding, particularly with existing CABAC techniques, which do not fully optimize bit rate and image quality, especially at higher bit depths and resolutions.
Innovation Solution
The proposed solution involves enhancing the CABAC entropy encoding process by using a context modeling approach that adapts the probability model based on previously encoded data, and introducing a fixed number of bits for each coefficient to split it into most-significant and least-significant parts, allowing for more efficient encoding and decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If conventional CABAC entropy encoding is used, then encoding simplicity is maintained, but bit rate efficiency deteriorates at higher bit depths and resolutions
Solution Approach 1:
The patent implements dynamic context modeling where the probability model adapts based on previously encoded data. The context variable is modified after encoding each data value, allowing the encoding process to dynamically adjust to the characteristics of higher bit depth data, thereby improving bit rate efficiency without requiring a complete redesign of the CABAC framework
Solution Approach 2:
The patent changes the parameters of the probability model by modifying the context variable based on encoding history. This parameter adaptation allows the entropy encoding to better match the statistical properties of the input data at higher bit depths, achieving improved compression efficiency while maintaining the overall CABAC structure
2Measurement precision
If fixed number of bits is used for each coefficient, then encoding precision is improved, but device complexity increases due to splitting into most-significant and least-significant parts
Solution Approach 1:
The patent segments each coefficient into most-significant and least-significant parts using a fixed number of bits. This segmentation allows for more precise control over the encoding process, enabling better adaptation to higher bit depth data while maintaining a systematic and manageable encoding structure
Solution Approach 2:
The patent performs preliminary splitting of coefficients into most-significant and least-significant parts before the actual entropy encoding process. This preliminary action prepares the data in a format that facilitates more efficient context modeling and probability adaptation, improving overall encoding precision
3Productivity
If context adaptive probability model is used, then bit rate efficiency is improved, but computational complexity increases
Solution Approach 1:
The patent implements feedback mechanisms where the context variable is modified based on previously encoded data values. This feedback loop allows the probability model to adapt to the statistical characteristics of the input data, improving bit rate efficiency by better matching the actual data distribution at higher bit depths
Solution Approach 2:
The context modeling process serves itself by automatically adapting to the data characteristics through feedback from previously encoded values. This self-adjusting mechanism improves encoding efficiency without requiring external intervention or complex manual tuning of parameters
Data Source
Figure 1~4
Figure 5
Figure 6
AI summary
A data decoding method for decoding a set of data values comprises the steps of: decoding a first portion of each data value from one or more data sets indicative of first portions of predetermined magnitude ranges encoded an input data stream using binary encoding; decoding a second portion of at least those data values not fully encoded by the data sets, the number of bits of the second portion depending upon a value n, where n is an integer, data defining the second portion being included in the input data stream and, if a data value has not been fully decoded by the respective first and second portions, decoding a remaining third portion of the data value from the input data stream; detecting, for a subset of the data values, (i) instances of data values for which a third portion has been encoded and would still have been required had a higher value of n been used, and (ii) instances of data values for which a second portion has been encoded but the value of n was such that the data value could have been fully encoded by first and second portions using a lower value of n; and varying n for use in respect of subsequent data values according to the results of the detecting step.