Conditional Affine Candidate Generation for Complete Motion-Vector Lists

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding techniques fail to completely fill the candidate list for affine motion vector candidates, leading to issues during encoding and decoding.

Innovation Solution

A method to generate additional candidates, including zero motion vector candidates, derived candidates based on neighboring blocks, and temporal motion vector candidates, to ensure the candidate list is fully populated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If only inherited and constructed affine candidates are generated, then the candidate list generation is simple, but the candidate list is not completely filled leading to encoding/decoding issues

Engineering Contradiction:
Improvecandidate list completenessVSAvoidcandidate generation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by generating additional candidates (zero motion vector candidates, temporal motion vector candidates, and derived candidates) only when the candidate list is not full after the initial inherited and constructed candidates are added. This ensures the candidate list is completely filled without unnecessarily generating all possible candidates, thus improving reliability while controlling complexity.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the candidate list is not completely filled, then the encoding and decoding process is faster, but the encoder or decoder may choose non-existent candidates causing errors

Engineering Contradiction:
Improvecandidate selection reliabilityVSAvoidencoding and decoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively filling the candidate list with additional candidates (zero motion vector candidates, temporal motion vector candidates, and derived candidates) before the encoding and decoding processes begin. This ensures that when the encoder or decoder needs to select a candidate, the list is already completely filled with valid options, preventing errors while maintaining efficient processing.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If additional candidate generation steps are added, then the candidate list is completely filled, but the processing time increases

Engineering Contradiction:
Improvecandidate list completenessVSAvoidcandidate generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent generates additional candidates (zero motion vector candidates, temporal motion vector candidates, and derived candidates) only when necessary - specifically, only when the candidate list is not completely filled after the initial inherited and constructed candidates are added. This conditional approach ensures the candidate list is completely filled for reliability while avoiding unnecessary processing time when the list is already sufficient.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3834420B1Methods and apparatus for generating affine candidates
Publication Date: 2025.10.29 HFI INNOVATION INC
  • EP3834420B1 patent drawingFigure 1
  • EP3834420B1 patent drawingFigure 2
  • EP3834420B1 patent drawingFigure 3

AI summary

The techniques described herein relate to methods, apparatus, and computer readable media configured to encode or decode video data. A current block of video data is coded using affine prediction. A first set of candidates of a candidate list for the current block is generated, including determining one or more inherited candidates and deriving one or more constructed candidates. After generating the first set of candidates, it is determined whether the candidate list is full. Upon determining the candidate list is not full, the candidate list is filled by generating a second set of candidates of the candidate list, including one or more of generating one or more zero motion vector candidates, generating one or more additional derived candidates based on the plurality of associated neighboring blocks of the current block, and generating a temporal motion vector candidate based on a temporal collocated picture.