Codebook-Based Motion Filtering for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video compression techniques face challenges in achieving high precision motion compensation with adaptive filters, leading to increased computational complexity and bit cost due to the need for iterative calculations and multiple filter sets, which affects coding efficiency and accuracy.

Innovation Solution

The implementation of a codebook-based approach for motion filtering, where pre-calculated filter coefficient sets are stored and looked up instead of iteratively computed, reducing computational complexity and bit cost by partitioning the codebook into a base and virtual codebook, and using indices to represent filter sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If adaptive motion filtering is used to improve prediction accuracy, then motion compensation precision is improved, but computational complexity increases due to iterative calculations

Engineering Contradiction:
Improvemotion compensation precisionVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Filter coefficient sets are pre-calculated for different picture types (I, P, B frames) and motion vector precision levels (integer, 1/4 pel, 1/8 pel) and stored in a codebook. During encoding, the appropriate pre-calculated coefficients are selected and applied directly without iterative computation, eliminating the computational complexity while maintaining adaptive filtering accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple filter sets are used for different picture types and precision levels, then motion compensation accuracy is improved, but bit cost increases

Engineering Contradiction:
Improvemotion compensation accuracyVSAvoidbit cost
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

Filter coefficient sets for different picture types (I, P, B) and precision levels are merged into a single unified codebook structure. The codebook is organized with picture type indicators and precision level indicators as indices, allowing the encoder to select the appropriate coefficients by simple table lookup rather than transmitting multiple separate filter sets, thereby reducing bit cost while maintaining accuracy.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If pre-calculated codebook is used instead of iterative computation, then computational complexity is reduced, but adaptability to specific content may be limited

Engineering Contradiction:
Improveencoding efficiencyVSAvoidcontent adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The codebook is designed to be dynamic and content-adaptive by including separate filter coefficient sets for different picture types (I, P, B frames) and different motion vector precision levels. The encoder dynamically selects the appropriate coefficients based on the actual picture type and precision requirements of each block, maintaining adaptability to specific content while using pre-calculated values for efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2656611B1Content adaptive motion compensation filtering for high efficiency video coding
Publication Date: 2020.12.02 INTEL CORP
  • EP2656611B1 patent drawingFigure 1
  • EP2656611B1 patent drawingFigure 2
  • EP2656611B1 patent drawingFigure 3

AI summary

A system and method for adaptive motion filtering to improve subpel motion prediction efficiency of interframe motion compensated video coding is described. The technique uses a codebook approach that is efficient in search complexity to look-up best motion filter set from a pre-calculated codebook of motion filter coefficient set. In some embodiments, the search complexity is further reduced by partitioning the complete codebook into a small base codebook and a larger virtual codebook, such that the main calculations for search only need to be performed on the base codebook.