Context Model Adaptation for Video Coding Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding standards, such as H.264/AVC, face inefficiencies in entropy encoding due to limited context modeling, particularly when dealing with residual data, leading to suboptimal compression efficiency and potential 'context dilution' from excessive context indices.

Innovation Solution

The proposed solution involves a context model that uses reference block information to dynamically determine context indices for entropy encoding, allowing for more accurate probability estimation and efficient encoding by processing reference block prediction coefficients, thereby enhancing compression efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If context-adaptive binary arithmetic coding (CABAC) is used for entropy encoding, then compression efficiency is improved, but device complexity increases due to the need for maintaining and updating multiple context models

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcontext model complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting context model parameters based on reference block characteristics. Specifically, the context index is determined as a function of reference block prediction coefficients, allowing the encoder to adapt the probability estimation parameters to the local image characteristics without adding substantial structural complexity. This resolves the contradiction by making the context model adaptive rather than static, improving compression efficiency while keeping the mechanism manageable through mathematical parameter relationships.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamics by making the context model adaptive and variable rather than fixed. The context index varies dynamically based on the reference block prediction coefficients, allowing the encoding process to adapt to different regions and characteristics of the video data. This dynamic adaptation improves compression efficiency by better matching the probability distribution to actual data characteristics, while the deterministic nature of the adaptation function keeps implementation complexity reasonable.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If more context indices are used to improve probability estimation accuracy, then entropy encoding efficiency is improved, but context dilution occurs leading to degraded performance

Engineering Contradiction:
Improveprobability estimation accuracyVSAvoidcontext dilution
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies local quality by determining context indices that are specific to local reference block characteristics rather than using a uniform context model for all data. The context index is derived as a function of local prediction coefficients, allowing different regions with different characteristics to use appropriately tailored context models. This improves probability estimation accuracy locally without causing context dilution, as each local region gets a context model suited to its specific characteristics.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements segmentation by effectively dividing the encoding process into different context segments based on reference block characteristics. Instead of using a single monolithic context model, the system segments the probability estimation into multiple context-specific models selected based on local characteristics. This segmentation improves accuracy by providing specialized context models for different data patterns while avoiding context dilution through proper segmentation boundaries.

Inventive Principle:
Principle #1Segmentation

3Productivity

If reference block information is used to determine context indices, then compression efficiency is improved, but encoding complexity increases due to additional processing requirements

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

Solution Approach 1:

The patent applies preliminary action by computing reference block prediction coefficients before using them to determine context indices. The reference block is reconstructed and its prediction coefficients are calculated in advance, which are then used to select appropriate context indices for encoding the current block. This preliminary computation allows the system to leverage reference information for improved compression efficiency while organizing the complexity in a structured, manageable sequence of operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses reference block prediction coefficients as an intermediary between the reference block data and the context index selection. Rather than directly using raw reference block pixels to determine context indices, the system computes prediction coefficients as an intermediate representation that captures the essential characteristics. This intermediary step simplifies the relationship between reference data and context selection, reducing encoding complexity while maintaining the benefit of reference information for improved compression.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2661893B1Coding of residual data in predictive compression
Publication Date: 2020.11.25 BLACKBERRY LTD
  • EP2661893B1 patent drawingFigure 1
  • EP2661893B1 patent drawingFigure 2A
  • EP2661893B1 patent drawingFigure 2B

AI summary

Encoding input data including one or more frames includes: generating a residual block based on a difference between a first block of data for multiple pixels in a first frame and a second block of data derived from information in the input data; generating a first block of coefficients based on a transform performed on the residual block; generating reference information based on the second block of data; and determining portions of a code value representing respective portions of the first block of coefficients based on at least one value derived from at least a portion of the reference information.