Adaptive Motion Search Control for Variable Block Size Partitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video encoding techniques face high computational complexity due to extensive motion search processes, particularly when performing motion searches for variable block size partitions, which increases processing time without significantly improving search accuracy.
Innovation Solution
Implementing a motion search algorithm that uses an initial search range to find a motion vector for a block, partitions the block into sub-blocks, and performs subsequent motion searches using a reduced search range based on the initial motion vector, thereby reducing computational load while maintaining search accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a full motion search is performed for each sub-block in variable block size partitions, then motion search accuracy is improved, but computational complexity increases significantly
Solution Approach 1:
The motion search process is segmented into two stages: a coarse search at the block level to identify a preliminary motion vector, followed by a refined search at the sub-block level using a reduced search range centered on the preliminary vector. This segmentation allows the system to maintain accuracy while reducing the total number of search points evaluated.
Solution Approach 2:
A preliminary motion search is performed on the entire block before processing individual sub-blocks. The results of this preliminary action provide an initial motion vector that serves as the center for subsequent sub-block searches, eliminating the need for each sub-block to perform a complete independent search and thereby reducing computational complexity.
2Productivity
If a reduced search range is used for sub-block motion searches, then computational cost is reduced, but motion search accuracy may deteriorate
Solution Approach 1:
The search strategy applies different quality levels to different stages of the process: a comprehensive full-range search at the block level to ensure global accuracy, followed by a focused local search at the sub-block level using a reduced range centered on the block-level motion vector. This local quality approach maintains overall accuracy while improving efficiency.
Solution Approach 2:
The block-level motion vector serves as an intermediary that bridges the gap between the initial full search and the final sub-block optimization. This intermediary provides a reliable starting point for the reduced search range, ensuring that the limited search space still captures the optimal motion vector for each sub-block.
3Productivity
If variable block size partitions are used, then compression efficiency is improved, but processing time increases
Solution Approach 1:
The processing of variable block size partitions is segmented into a hierarchical structure where a single motion search is performed for the parent block, followed by optimized searches for each child sub-block using reduced search ranges. This segmentation reduces the total processing time while maintaining the compression efficiency benefits of variable block sizes.
Solution Approach 2:
The motion vector for the parent block is determined through a preliminary full-range search before processing the variable size partitions. This preliminary action provides a foundation that accelerates subsequent processing of sub-blocks, reducing the overall processing time while preserving compression efficiency.
Data Source
AI summary
A block of a video data stream may be subject to a motion search for comparing inter prediction of the blocks to intra prediction of the block while being partitioned. A motion search using an initial search range finds a first motion vector for the block. The blocks is partitioned into at least two sub-blocks, each having a same size, and one or more motion searches are performed for each sub-block using a second search range and the first motion vector where the second search range is a fraction of the initial search range. Respective error values associated with each of the motion searches are compared to select a partition for coding the block, and the block may be encoded using the selected partition. Performing inter prediction in this fashion can improve the performance of an encoder in terms of both execution time and compression ratio.


