Motion Vector Generation for 3D Graphics Frame Interpolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing 3D computer graphics rendering technologies face challenges in accurately interpolating frames and converting framerates while efficiently managing computational resources, particularly in mobile devices, due to the misrepresentation of motion vectors in areas with varying depth ranges and the blending of objects with and without motion vectors.

Innovation Solution

The method involves generating 1-phase and 0-phase motion vectors with associated depth values, forming textures, and converting them into blocks for image processing, which allows for accurate interpolation by separating objects with and without motion vectors and dynamically adjusting sampling resolution to reduce computational power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If motion vectors are generated for all pixels without depth consideration, then frame interpolation can be performed, but accuracy deteriorates in areas with varying depth ranges

Engineering Contradiction:
Improveframe interpolation capabilityVSAvoidmotion vector accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by differentiating motion vector processing based on depth characteristics of different regions. Objects are classified into foreground and background groups based on their depth values, and separate motion vectors are calculated for each group. This ensures that motion compensation is adapted to the local depth properties, improving accuracy in areas with varying depth ranges while maintaining overall frame interpolation capability.

Inventive Principle:
Principle #3Local quality

2Device complexity

If all objects are processed together without separation, then processing is simpler, but objects with and without motion vectors are blended causing accuracy loss

Engineering Contradiction:
Improveprocessing simplicityVSAvoidobject representation accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent implements segmentation by dividing objects into distinct foreground and background groups based on depth information. This segmentation allows separate motion vector calculation and processing for each group, preventing the blending of objects with different motion characteristics. The segmentation is performed while maintaining efficient processing through block-based operations and selective computation.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If high-resolution sampling is used for motion vectors, then interpolation accuracy improves, but computational power consumption increases

Engineering Contradiction:
Improveinterpolation accuracyVSAvoidcomputational power consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by calculating motion vectors at a reduced resolution (e.g., every fourth pixel) rather than for every pixel. This partial computation significantly reduces computational power consumption while maintaining sufficient interpolation accuracy. The approach uses the subsampled motion vectors to generate intermediate frames without the full computational burden of high-resolution motion vector calculation across the entire image.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11941744B2Methods and systems for motion vectors in 3D graphics
Publication Date: 2024.03.26 PIXELWORKS SEMICON TECH SHANGHAI CO LTD
  • US11941744B2 patent drawing
  • US11941744B2 patent drawing
  • US11941744B2 patent drawing

AI summary

Various methods are provided for generating motion vectors in the context of 3D computer-generated images. An example method includes generating, for each pixel of one or more objects to be rendered in a current frame, a 1-phase motion vector (MV1) and a 0-phase motion vector (MV0), each MV1 and MV0 having an associated depth value, to thereby form an MV1 texture and an MV0 texture; converting the MV1 texture to a set of MV1 blocks and converting the MV0 texture to a set of MV0 blocks; and outputting the set of MV1 blocks and the set of MV0 blocks for image processing.