Temporal Motion Vector Prediction for Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding and decoding methods fail to effectively utilize temporal correlation in motion vectors, leading to suboptimal compression and increased bandwidth consumption, especially in applications with limited bandwidth.

Innovation Solution

The method involves predicting temporal motion vectors by extrapolating block positions using motion vectors from previous frames and combining overlapping motion vectors to select and encode motion vectors for subsequent frames, thereby enhancing motion estimation and compression efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If traditional motion vector encoding methods are used, then the encoding process is simple, but bandwidth consumption increases and compression efficiency deteriorates

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidencoding complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating temporal motion vectors using extrapolated block positions and combining overlapping motion vectors before the actual encoding process. This preliminary computation of motion vectors from previous frames enables more efficient encoding without increasing real-time computational complexity, thereby reducing bandwidth consumption while maintaining simple encoding architecture.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If temporal motion vector prediction is implemented, then compression efficiency improves, but computational complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs temporal motion vector calculation as a preliminary action using motion vectors from previous frames. By pre-computing the temporal motion vectors and storing them for later use during encoding, the system achieves improved compression efficiency without adding complex real-time computational requirements during the actual encoding process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by utilizing motion vectors from previous frames (frame i-1) to predict and calculate motion vectors for the current frame (frame i). This copying approach leverages existing motion vector data to generate new predictions, improving compression efficiency while avoiding the need for complex de novo computation during encoding.

Inventive Principle:
Principle #26Copying

3Loss of energy

If motion vectors are encoded for all blocks, then encoding completeness is maintained, but bandwidth consumption increases

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidencoding completeness
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The patent applies partial action by selectively encoding only the residual motion vectors (differences between actual and predicted motion vectors) rather than encoding all motion vector components. This partial encoding approach reduces bandwidth consumption significantly while maintaining sufficient information for accurate block reconstruction, as the residual values capture only the essential variations in motion.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8908767B1Temporal motion vector prediction
Publication Date: 2014.12.09 GOOGLE LLC
  • US8908767B1 patent drawing
  • US8908767B1 patent drawing
  • US8908767B1 patent drawing

AI summary

Taught herein are techniques to incorporate temporal motion vector prediction in encoding and decoding a video stream. Motion vectors are temporally predicted for blocks of a frame. An extrapolated position for at least one block of a first frame is predicted in a second frame using a respective motion vector of the at least one block. A temporal motion vector for a block of the second frame is calculated as a combination of respective motion vectors of blocks overlapping the block of the second frame if at least one of the overlapping blocks is an extrapolated block at the extrapolated position. The temporal motion vector is used in a motion estimation algorithm to select a motion vector for the block, and the block is encoded using the selected motion vector.