CABAC Context Mapping for Last Significant Coefficient Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding techniques face inefficiencies in encoding and decoding transform coefficients, particularly in representing the position of the last significant coefficient within a block, which affects compression and storage of video data.

Innovation Solution

The proposed solution involves using context adaptive binary arithmetic coding (CABAC) to encode and decode binary strings indicating the position of the last significant coefficient, determining contexts based on video block sizes to optimize encoding and decoding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional binarization coding is used for last significant coefficient position, then the encoding process is simple, but the compression efficiency is insufficient

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The position value is segmented into multiple parts: a most significant bit (MSB) and remaining bits. The MSB is encoded using one context model, while the remaining bits are encoded using another context model. This segmentation allows different coding strategies to be applied to different parts of the data, improving overall compression efficiency while managing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically selects context models based on the block size. For different transform block sizes (e.g., 4x4, 8x8, 16x16, 32x32), different context models are applied to the remaining bits after the MSB. This dynamic adaptation to block size improves compression efficiency by matching the coding strategy to the actual data characteristics.

Inventive Principle:
Principle #15Dynamics

2Productivity

If context adaptive binary arithmetic coding is used for all binary indices, then the compression efficiency improves, but the number of contexts required increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidnumber of contexts
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Different parts of the position value are assigned different quality levels of coding. The most significant bit receives a simpler coding treatment (one context model), while the less significant remaining bits receive more sophisticated coding (another context model). This local differentiation optimizes the balance between compression efficiency and complexity by applying appropriate coding strength to each part.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses a universal context modeling approach where the same two context models are applied across different block sizes, but the assignment of which model to use varies by block size. This multi-functional use of context models reduces the total number of contexts needed while maintaining adaptability to different block sizes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3439305B1Decoding of position of last significant coefficient
Publication Date: 2020.03.11 VELOS MEDIA INT LTD
  • EP3439305B1 patent drawingFigure 1
  • EP3439305B1 patent drawingFigure 2A~2D
  • EP3439305B1 patent drawingFigure 3

AI summary

A video encoder is configured to encode a binary sting indicating a position of a last significant coefficient within a video block. A video decoder is configured to decode the encoded binary string. The string may be coded using context adaptive binary arithmetic coding (CABAC). Binary indices of the binary string may be assigned a context. The context may be determined according to a mapping function. A context may be a assigned to one or more binary indices where each index is associated with a different block size. The last binary index of a 16x16 video block may share a context with the last binary index of a 32x32 video block.