Implicit Sub-pixel Interpolation Filter Selection for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding techniques face inefficiencies in selecting interpolation filters at small granularity levels, leading to increased signaling overhead and reduced compression performance due to the use of a single interpolation filter for all sub-pixels in a prediction block.

Innovation Solution

The method involves implicitly determining sub-pixel interpolation filters for each pixel position in a prediction block based on characteristics of the reference block, allowing for optimal interpolation filter selection at the pixel level without additional signaling overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a single interpolation filter is used for all sub-pixels in a prediction block, then signaling overhead is reduced, but compression performance deteriorates

Engineering Contradiction:
Improvesignaling overheadVSAvoidcompression performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies local quality by determining different interpolation filters for different pixel positions within a prediction block based on local characteristics. Specifically, for each pixel position, the patent evaluates characteristics of reference pixels (such as gradients or variance) and selects an appropriate interpolation filter (e.g., bilinear, bicubic, or Lanczos) that best suits the local content, thereby optimizing compression performance without requiring extensive signaling overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of interpolation filter selection from a global single-filter approach to a local multi-filter approach. By varying the interpolation filter parameter based on local image characteristics (such as edge presence or texture complexity), the patent achieves better compression performance while managing signaling overhead through implicit or context-based filter indication.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If interpolation filters are selected at pixel level, then compression performance is improved, but device complexity increases

Engineering Contradiction:
Improvecompression performanceVSAvoidfilter selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-defining a set of interpolation filters and their characteristics before the actual prediction process. The encoder and decoder both have access to the same predefined filter set, allowing the decoder to replicate the encoder's filter selection process without receiving explicit filter selection signals, thereby reducing device complexity while maintaining pixel-level optimization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling the decoder to autonomously determine the same interpolation filters used by the encoder based on shared knowledge of filter characteristics and local image properties. This self-service mechanism eliminates the need for complex signaling and synchronization, reducing device complexity while achieving pixel-level filter optimization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10499078B1Implicit motion compensation filter selection
Publication Date: 2019.12.03 GOOGLE LLC
  • US10499078B1 patent drawing
  • US10499078B1 patent drawing
  • US10499078B1 patent drawing

AI summary

A method and apparatus for motion prediction of a block of pixels are provided. The method includes determining respective sub-pixel interpolation filters for pixel positions of a reference block for the block of pixels and generating a prediction block of prediction pixels using the reference block and the respective sub-pixel interpolation filters. The apparatus includes a memory and a processor configured to execute instructions stored in the memory to determine respective sub-pixel interpolation filters for pixel positions of a reference block for the block of pixels and generate a prediction block of prediction pixels using the reference block and the respective sub-pixel interpolation filters. Each sub-pixel interpolation filter for a pixel position is determined using at least one characteristic of a set of pixels of the reference block about the pixel position.