Motion Vector Predictor List Construction via Duplicate Pruning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding techniques face inefficiencies in constructing motion vector predictor lists due to duplicates and increased processing time, particularly when the list size is large, which affects coding efficiency and processing speed.

Innovation Solution

A method is introduced to efficiently construct motion vector predictor lists by grouping neighboring blocks and pruning duplicates, allowing for faster processing by determining if motion vectors are the same as existing vectors in the list, thereby reducing the need for unnecessary insertions and improving list construction speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If motion vector predictor lists are constructed using existing video coding techniques, then the list contains motion vector candidates for prediction, but duplicates are included and processing time increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by checking for duplicate motion vectors before inserting them into the predictor list. The encoder examines each candidate motion vector against existing list entries prior to insertion, preventing duplicates from being added in the first place. This proactive approach eliminates the need for subsequent duplicate removal operations, thereby reducing processing time while maintaining coding efficiency.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the motion vector predictor list size is increased to include more candidates, then better prediction accuracy is achieved, but processing complexity and time increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent reduces processing complexity by performing duplicate detection before list insertion. The encoder checks whether a candidate motion vector already exists in the predictor list before adding it, preventing unnecessary duplicates. This preliminary check simplifies the overall processing workflow while allowing the list to maintain an optimal size for accurate prediction without the burden of managing redundant entries.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and removes duplicate motion vectors from the candidate pool before they can pollute the predictor list. By identifying and eliminating redundant motion vectors through comparison operations, the patent ensures that only unique, valuable candidates remain in the final predictor list, thereby maintaining list quality without increasing processing burden.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If duplicate motion vectors are included in the predictor list, then the list construction is simpler, but the coding efficiency decreases

Engineering Contradiction:
Improvelist construction simplicityVSAvoidcoding efficiency
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent maintains ease of list construction by implementing duplicate checking as a simple comparison operation during the insertion phase. The encoder compares each candidate motion vector with existing list entries using straightforward equality checks, and only inserts the candidate if it is unique. This approach preserves the simplicity of the construction process while ensuring coding efficiency by eliminating duplicates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3834417B1Motion vector predictor list generation
Publication Date: 2024.11.13 QUALCOMM INC
  • EP3834417B1 patent drawingFigure 1
  • EP3834417B1 patent drawingFigure 2A~2B
  • EP3834417B1 patent drawingFigure 3A~3B

AI summary

A video coder is configured to perform motion vector prediction to predict a motion vector for a block of video data. The motion vector prediction may use a motion vector predictor list that includes both adjacent and non-adjacent candidates relative to the current block. The video coder may divide spatial motion vector prediction candidates for a current block of video data into groups, add the spatial motion vector prediction candidates to a motion vector predictor list based on the groups, and decode a motion vector for the current block of video data based on the motion vector predictor list.