GPU Motion Estimation Layout for Faster Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Video encoding, particularly motion estimation, is computationally intensive and bottlenecks processing power due to its high complexity, necessitating more efficient processing methods beyond CPU speed improvements.

Innovation Solution

A system utilizing both central processing units (CPUs) and graphics processing units (GPUs) to perform video encoding, where the GPU handles motion estimation in parallel with CPU encoding, leveraging its capabilities through data arrangement and the use of a depth buffer to accelerate the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU speed is improved to handle video encoding, then encoding performance is improved, but CPU cost and power consumption increase significantly

Engineering Contradiction:
Improvevideo encoding performanceVSAvoidCPU power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the video encoding workload into two parts: motion estimation is offloaded to the GPU while the CPU handles other encoding tasks. This division allows the CPU to operate at lower speeds while maintaining overall encoding performance, thereby reducing power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The GPU is utilized for motion estimation, a task traditionally performed by the CPU. This multi-functional use of the GPU allows the system to maintain high encoding performance without requiring a high-speed CPU, thus reducing power consumption.

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

2Productivity

If CPU speed is improved to handle video encoding, then encoding performance is improved, but system cost increases

Engineering Contradiction:
Improvevideo encoding performanceVSAvoidCPU specification requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the video encoding workload into two parts: motion estimation is offloaded to the GPU while the CPU handles other encoding tasks. This division allows the CPU to operate at lower speeds while maintaining overall encoding performance, thereby reducing power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The GPU is utilized for motion estimation, a task traditionally performed by the CPU. This multi-functional use of the GPU allows the system to maintain high encoding performance without requiring a high-speed CPU, thus reducing power consumption.

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

3Measurement precision

If motion estimation search range is increased to capture real motion, then prediction accuracy is improved, but computational complexity increases

Engineering Contradiction:
Improvemotion prediction accuracyVSAvoidmotion estimation computational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces the traditional CPU-based sequential search algorithm with a GPU-based parallel search algorithm. The GPU's parallel architecture enables simultaneous evaluation of multiple search points, maintaining high prediction accuracy while reducing computational complexity.

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

Solution Approach 2:

The patent transforms the sequential search process into a parallel process by utilizing the GPU's multi-channel architecture. Each channel processes a different search point simultaneously, effectively adding a parallelism dimension to the search algorithm.

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

4Productivity

If GPU is used for motion estimation, then encoding speed is accelerated, but data arrangement complexity increases

Engineering Contradiction:
Improvevideo encoding speedVSAvoiddata arrangement complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary data arrangement by collocated frames before processing. This pre-organization of data in a format suitable for GPU processing eliminates the need for complex real-time data manipulation during the encoding process, simplifying the overall system.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7813570B2Accelerated video encoding using a graphics processing unit
Publication Date: 2010.10.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7813570B2 patent drawing
  • US7813570B2 patent drawing
  • US7813570B2 patent drawing

AI summary

A video encoding system uses both a central processing unit (CPU) and a graphics processing unit (GPU) to perform video encoding. The system implements a technique that enables the GPU to perform motion estimation for video encoding. The technique allows the GPU to perform a motion estimation process in parallel with the video encoding process performed by the CPU. The performance of video encoding using such a system is greatly accelerated as compared to encoding using just the CPU. Also, data related to motion estimation is arranged and provided to the GPU in a way that utilizes the capabilities of the GPU. Data about video frames may be collocated to enable multiple channels of the GPU to process tasks in parallel. The depth buffer of the GPU may be used to consolidate repeated calculations and searching tasks during the motion estimation process.