Sub-pixel Motion Compensation via Shifted DCT Basis Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding devices with motion estimation modules struggle with accurate motion compensation at sub-pixel accuracy due to limitations in interpolation filters, which restrict precise motion estimation and compensation, especially when motion vectors have components less than 1/8 of a pixel.

Innovation Solution

A method for coding pixel blocks involves determining an intermediate prediction block larger than the original block by adding pixel lines and columns in the direction of motion, transforming it using a discrete cosine transform, and applying an inverse transform with shifted basis functions to match the motion vector components, allowing for more accurate prediction and residue calculation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional interpolation filters are used for motion compensation, then the device complexity is reduced, but the measurement precision of motion vectors is limited to 1/8 of a pixel

Engineering Contradiction:
Improvemotion vector precisionVSAvoidinterpolation filter complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the motion compensation process into multiple stages: first performing motion estimation at coarse precision using simple interpolation, then refining the motion vector components separately. The integer parts and fractional parts of motion vector components are processed through different transformation stages, allowing high precision without requiring a single complex interpolation filter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the motion compensation problem from spatial domain interpolation to frequency domain transformation. By using discrete cosine transform (DCT) and its inverse with shifted basis functions, the method achieves sub-pixel precision through parameter transformation rather than spatial interpolation, effectively moving the solution to another dimensional space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If larger interpolation filters are used to improve accuracy, then the measurement precision of motion vectors improves, but the processing time increases

Engineering Contradiction:
Improvemotion vector precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The method divides the transformation process into separate stages handling integer and fractional parts of motion vectors independently. This segmentation allows each stage to use optimized, computationally efficient transformations rather than requiring a single large, time-consuming interpolation filter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of the transformation basis functions (shifting the DCT basis functions by fractional amounts) rather than changing the spatial extent of interpolation filters. This parameter transformation achieves higher precision without increasing the computational complexity proportional to filter size.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If precise motion compensation at sub-1/8 pixel accuracy is achieved, then the manufacturing precision of image coding improves, but the device complexity increases

Engineering Contradiction:
Improveimage coding precisionVSAvoidtransformation module complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent uses a universal discrete cosine transform framework that can handle both integer-pixel and sub-pixel motion compensation through parameter adjustment. The same DCT basis functions are used across different precision requirements, with only the shift parameters changing, making the device multi-functional without requiring separate complex modules for each precision level.

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

Solution Approach 2:

The method performs preliminary motion estimation at integer pixel accuracy, then applies refined transformations only to the fractional parts of the motion vector components. This preliminary action separates the coarse and fine adjustment stages, allowing the complex high-precision transformation to be applied only where necessary rather than to the entire image processing pipeline.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If traditional interpolation methods are used, then the ease of operation is maintained, but the reliability of motion compensation decreases at high sub-pixel accuracy

Engineering Contradiction:
Improvemotion compensation reliabilityVSAvoidcoding method complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent uses inverse discrete cosine transform to reconstruct the prediction block from transformed coefficients, creating a precise copy of the motion-compensated data. This copying mechanism through mathematical transformation ensures reliability by maintaining exact relationships between original and transformed data, avoiding the approximations inherent in traditional interpolation methods.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9135721B2Method for coding and reconstructing a pixel block and corresponding devices
Publication Date: 2015.09.15 INTERDIGITAL MADISON PATENT HLDG
  • US9135721B2 patent drawing
  • US9135721B2 patent drawing
  • US9135721B2 patent drawing

AI summary

A method for coding a block of pixels is described. The coding method comprises:determining a prediction block for the pixel block from a motion vector;calculating a residue between the pixel block and the prediction block; andcode the residue.The determination of the prediction block comprises the following steps:determining an intermediate prediction block of size strictly greater than the size of the pixel block;transforming the intermediate prediction block into a first block transformed with a first transform; andtransforming the first transformed block into a second block transformed with a second transform of inverse the first transform whose basis functions are shifted by at least a part of each component of the motion vector, the prediction block being extracted from the second transformed block.