Frame-Rate Up Conversion Motion Search Complexity Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current frame-rate up conversion (FRUC) methods in video coding systems face challenges in reducing complexity and memory bandwidth usage, leading to increased computational complexity and memory access issues in hardware implementations.
Innovation Solution
The proposed solution involves constraining search ranges and limiting the number of search iterations during FRUC motion search processes, using clustering algorithms to reduce the number of motion vector candidates, and applying a unified search range to minimize external memory access, thereby reducing complexity and memory bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a full motion search is performed without constraints, then motion vector accuracy is improved, but computational complexity and memory bandwidth usage increase significantly
Solution Approach 1:
The motion search process is divided into two stages: initial motion vector derivation using a limited set of candidates, and refinement search constrained to a small window around the initial result. This segmentation allows the algorithm to explore a wide search space initially, then focus computational effort only in the most promising region, reducing overall complexity while maintaining accuracy.
Solution Approach 2:
The initial motion vector derivation is performed as a preliminary step before the refinement search. By deriving initial candidates first (using techniques like AMVP or template matching), the algorithm establishes a starting point that guides the subsequent constrained refinement search, avoiding the need to perform an exhaustive search from scratch.
2Device complexity
If motion vector candidates are clustered to reduce complexity, then computational complexity is reduced, but the number of motion vector candidates decreases
Solution Approach 1:
Instead of clustering all motion vector candidates, the algorithm derives a larger initial set of candidates (potentially 10-15 candidates per sub-CU) and then applies clustering only to select a manageable subset for refinement. This partial application of clustering maintains enough diversity in candidates to preserve accuracy while reducing the number sufficiently to lower computational complexity.
3Loss of energy
If search range is constrained to use memory cache, then memory bandwidth usage is reduced, but search coverage is limited
Solution Approach 1:
The initial motion vector candidates are derived using techniques that leverage temporal and spatial correlations (such as AMVP and template matching) to predict likely motion vectors before the constrained refinement search. This preliminary action ensures that the initial candidates are already close to the optimal motion vector, making the subsequent small-window refinement search sufficient to achieve high accuracy without extensive search coverage.
Data Source
AI summary
Systems and methods are described for selecting a motion vector (MV) to use in frame-rate up conversion (FRUC) coding of a block of video. In one embodiment, a first set of motion vector candidates is identified for FRUC prediction of the block. A search center is defined based on the first set of motion vector candidates, and a search window is determined, the search window having a selected width and being centered on the search center. A search for a selected MV is performed within the search window. In some embodiments, an initial set of MVs is processed with a clustering algorithm to generate a smaller number of MVs that are used as the first set. The selected MV may be subject to a motion refinement search, which may also be performed over a constrained search range. In additional embodiments, search iterations are constrained to limit complexity.


