Motion-Compensated Partitioning for Video Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding technologies face challenges in efficiently compressing and transmitting high-resolution video data over limited bandwidth channels, requiring improved methods for motion estimation and partitioning to reduce computational complexity and data volume.
Innovation Solution
The method employs motion-compensated partitioning, which involves coarse motion estimation, partitioning, and fine motion estimation to identify optimal partitioning schemes for video blocks, using a two-stage process that includes basic block motion search, post-order depth-first traversal, and selective sub-pixel motion search to generate pruned partition trees and encode video data efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional motion estimation and partitioning methods are used, then video encoding accuracy is maintained, but computational complexity and encoding time increase significantly
Solution Approach 1:
The patent performs coarse motion estimation at the macroblock level before partitioning, establishing preliminary motion vectors that guide subsequent fine motion estimation at partition level. This preliminary action reduces the search space for fine motion estimation, thereby decreasing computational complexity while maintaining encoding accuracy and improving encoding speed.
Solution Approach 2:
The patent divides the motion estimation process into two distinct stages: coarse motion estimation at macroblock level and fine motion estimation at partition level. This segmentation allows each stage to focus on specific tasks with appropriate computational resources, reducing overall complexity while maintaining accuracy. The partitioning of video blocks into smaller units enables selective processing based on motion characteristics.
2Measurement precision
If fine motion estimation is performed for all partitions, then motion vector accuracy is improved, but encoding time increases
Solution Approach 1:
The patent applies different levels of motion estimation quality to different partitions based on their motion characteristics. Partitions with significant motion or motion differences from neighboring partitions receive fine motion estimation, while stationary or smoothly moving partitions use coarse motion vectors. This local differentiation maintains motion vector accuracy where needed while reducing encoding time for regions where high precision is not necessary.
Solution Approach 2:
Instead of performing fine motion estimation for all partitions, the patent selectively applies fine motion estimation only to partitions that require it based on motion activity criteria. This partial action approach achieves sufficient motion vector accuracy for the overall video sequence without the excessive time cost of universal fine estimation.
3Productivity
If video data is compressed for limited bandwidth transmission, then transmission efficiency is improved, but video quality may deteriorate
Solution Approach 1:
The patent changes the precision parameter of motion vectors based on partition characteristics and motion activity. High-precision sub-pixel motion vectors are used for partitions with significant motion, while integer-pixel precision suffices for stationary partitions. This parameter adaptation improves transmission efficiency by reducing the bit rate required for motion vector encoding while maintaining video quality through appropriate precision selection.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Video coding using motion-compensated partitioning includes identifying a current block of a current frame of an input video stream, generating an encoded block by encoding the current block using motion-compensated partitioning, and transmitting or storing the encoded block. Encoding the current block using motion-compensated partitioning includes generating coarse motion estimation information for the current block, partitioning the current block, and generating fine motion estimation information for the current block.