CABAC Range Encoding for Lower Bit Rate Video Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveoutput data sizeVSAvoidencoding process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If higher internal bit depths are used to improve transform matrix precision, then PSNR performance is improved, but the computational requirements increase

Engineering Contradiction:
ImprovePSNR performanceVSAvoidcomputational requirements
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If advanced entropy encoding methods are implemented to optimize bit allocation, then compression efficiency is improved, but the device complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidencoding apparatus complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2984761B1Data encoding and decoding
Publication Date: 2021.08.18 SONY GROUP CORP
  • EP2984761B1 patent drawingFigure 1~4
  • EP2984761B1 patent drawingFigure 5
  • EP2984761B1 patent drawingFigure 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.