Motion Estimation for Non-Natural Video Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional motion estimation techniques designed for natural video data are inefficient when applied to non-natural video data, as they assume error decreases with the best match candidate block, which is not true for non-natural data with sharp transitions and high spatial frequencies, leading to suboptimal performance and increased computational complexity.
Innovation Solution
Implementing a multi-stage approximated error cost computation with early exit mechanisms and a modified initial search in a moving diamond pattern, which focuses on partial samples and adjusts the search area to better capture the characteristics of non-natural video data, reducing computational resources and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional motion estimation techniques are used for non-natural video data, then the error calculation assumes monotonic decrease with best match candidate block, but this leads to suboptimal performance and increased computational complexity
Solution Approach 1:
The search space is segmented into multiple diamond patterns (first diamond pattern and second diamond pattern) that are horizontally and/or vertically displaced from each other. This segmentation allows the algorithm to divide the computational task into smaller, manageable sections, reducing the overall computational complexity while maintaining accuracy for non-natural video data with sharp transitions
Solution Approach 2:
The algorithm performs preliminary error calculations on partial samples of candidate blocks before completing the full error calculation. By calculating error for only a subset of samples initially, the system can make early decisions about whether to continue with full calculation, thereby reducing computational complexity while preserving reliability
2Productivity
If conventional search patterns are used, then the error calculation covers all samples, but this increases computational resources without improving efficiency for non-natural video data
Solution Approach 1:
The algorithm performs partial error calculations on subsets of samples rather than calculating errors for all samples in the candidate block. This partial action approach reduces computational resources consumed while maintaining sufficient accuracy for non-natural video data, thereby improving productivity without excessive energy use
Solution Approach 2:
The candidate block samples are segmented into different groups, and error calculations are performed on specific segments (partial samples) rather than the entire block. This segmentation strategy reduces the number of computations required, improving efficiency while lowering computational resource consumption
3Measurement precision
If full error calculation is performed on all candidate blocks, then accurate motion estimation is achieved, but computational complexity increases significantly
Solution Approach 1:
The algorithm performs preliminary error calculations on partial samples before committing to full error calculation. This preliminary action allows the system to identify and eliminate poor candidate blocks early, maintaining measurement precision for promising candidates while reducing computational complexity overall
Solution Approach 2:
Instead of performing full error calculations on all candidate blocks, the algorithm applies partial calculations to subsets of samples. This approach maintains sufficient measurement precision for identifying the best match while significantly reducing the computational complexity associated with processing all samples of all candidates
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
A method for motion estimation for screen and non-natural content coding is disclosed. In one aspect, the method may include selecting a candidate block of a first frame of the video data for matching with a current block of a second frame of the video data, calculating a first partial matching cost for matching a first subset of samples of the candidate block to the current block, and determining whether the candidate block has a lowest matching cost with the current block based at least in part on the first partial matching cost.