GPU-Accelerated Motion Compensation for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding algorithms face challenges in processing high-resolution and high-frame-rate images due to limitations in CPU parallel processing, leading to slow processing speeds and low accuracy in motion compensation.

Innovation Solution

A method and system that utilize a graphics processing unit (GPU) to perform interpolation and block matching searches on video frames, offloading computationally intensive tasks from the CPU, allowing for more efficient motion vector determination and improved coding quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CPU-based search algorithms are used for video coding, then motion compensation can be performed, but processing speed is slow and accuracy is low when image resolution and frame rate increase

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidvideo coding speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the video processing tasks into distinct segments: the CPU handles frame extraction and motion vector determination, while the GPU handles computationally intensive operations including interpolation process at least once on reference frame images to obtain multiple interpolation images, block division of current frame images to obtain prediction blocks, and block matching searches. This segmentation allows each processor to optimize for its specific function, resolving the contradiction between accuracy and speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary processing architecture where the CPU and GPU work in coordinated collaboration. The CPU extracts frames and sends them to the GPU, which performs parallel processing of interpolation and block matching, then returns results to the CPU for final motion vector determination. This intermediary role of the GPU as a parallel processing accelerator resolves the speed-accuracy contradiction by distributing computational load appropriately.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If CPU parallel processing is used for high-resolution and high-frame-rate images, then motion compensation can be performed, but the processing speed is insufficient

Engineering Contradiction:
Improveimage data volumeVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent replaces the traditional CPU-based sequential processing mechanism with a GPU-based parallel processing mechanism for computationally intensive tasks. The GPU's architecture, designed for handling large quantities of data simultaneously through thousands of cores, substitutes the CPU's limited parallel processing capability. This substitution enables efficient processing of high-resolution and high-frame-rate images by performing interpolation and block matching operations on multiple image blocks simultaneously, thereby resolving the contradiction between data volume and processing speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10448036B2Motion compensation matching for video coding
Publication Date: 2019.10.15 ALIBABA GROUP HOLDING LTD
  • US10448036B2 patent drawing
  • US10448036B2 patent drawing
  • US10448036B2 patent drawing

AI summary

The present disclosure relates to a motion compensation matching method and system for video coding. The method comprises: a CPU extracting a current frame image and a reference frame image from a video to be processed and sending the extracted frame images to a GPU; the GPU performing interpolation process at least once on the reference frame image to obtain a plurality of interpolation images; the GPU dividing the current frame image to obtain a plurality of prediction blocks; the GPU, according to each of the prediction blocks, performing block matching search in the reference frame image and each of the interpolation images; according to a result of the block matching search, determining a motion vector of a desired image block of the current frame image. The present disclosure uses GPU to execute large amounts of computation for interpolation and division of the frame images and block matching search, and uses CPU to process a small amount of computation. Since GPU is used to process search, which can be the most complicated and the most energy-consuming part of the coding process, the large-scale concurrency of the graphics card can be sufficiently utilized, and thus the video coding speed can be significantly increased.