CABAC Range Encoding for Lower Bit Rate Video Compression
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 lower quantization parameters.
Innovation Solution
The implementation of advanced CABAC entropy encoding methods, including fixed-bit encoding schemes and context modeling, to optimize bit allocation and compression efficiency, and the use of higher internal bit depths to improve transform matrix precision and entropy coding dynamic ranges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If CABAC entropy encoding is used to compress video data, then the output data size is reduced, but the complexity of the encoding process increases
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting the precision of transform matrices and entropy coding dynamic ranges based on bit depth and quantization parameter values. This allows the encoder to optimize compression efficiency by using higher precision (e.g., 14-bit transform matrices) when quality is prioritized, and lower precision when compression is prioritized, thereby managing the trade-off between output data size and encoding complexity.
2Measurement precision
If higher internal bit depths are used to improve transform matrix precision, then PSNR performance is improved, but the computational requirements increase
Solution Approach 1:
The patent implements dynamics by making the transform matrix precision and entropy coding dynamic range adjustable based on operating conditions such as bit depth and quantization parameter. The system can dynamically switch between different precision levels (e.g., 10-bit vs. 14-bit transform matrices) to optimize PSNR performance while managing computational requirements, rather than using fixed high precision throughout.
Solution Approach 2:
The patent changes parameters by adapting the transform matrix precision and entropy coding dynamic range according to the specific bit depth and quantization parameter being used. This allows the system to achieve high PSNR performance when needed by using higher precision (14-bit matrices for 10-bit video), while reducing computational requirements by using lower precision when compression is prioritized.
3Productivity
If advanced entropy encoding methods are implemented to optimize bit allocation, then compression efficiency is improved, but the device complexity increases
Solution Approach 1:
The patent applies parameter changes by implementing advanced entropy encoding methods that adapt to different quantization parameters and bit depths. The system adjusts the entropy coding dynamic range and transform matrix precision based on these parameters, optimizing compression efficiency for different operating conditions while managing the increased device complexity through conditional implementation.
Data Source
Figure 1~4
Figure 5
Figure 6
AI summary
A method of data encoding input data values of a data set for encoding comprises the steps of: selecting one of a plurality of complementary sub-ranges of a set of code values according to the value of a current input data value, the set of code values being defined by a range variable; assigning the current input data value to a code value within the selected sub-range; modifying the set of code values in dependence upon the assigned code value and the size of the selected sub-range; detecting whether the range variable defining the set of code values is less than a predetermined minimum size and if so, successively increasing the range variable so as to increase the size of the set of code values until it has at least the predetermined minimum size; and outputting an encoded data bit in response to each such size-increasing operation;and after encoding a group of input data values, setting the range variable to a value selected from a predetermined subset of available range variable values, each value in the subset having at least one least significant bit equal to zero.