Flexible Motion Vector Precision for Local Video Coding Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video coding techniques often use fixed motion vector precision at the frame level, which can lead to inefficient bit usage due to varying motion characteristics within a video frame, reducing compression efficiency.
Innovation Solution
Implementing flexible motion vector precision at the block or group-of-blocks level, where precision is hierarchically limited by a higher level precision, allowing for variable precision based on local motion characteristics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed motion vector precision is used at the frame level, then device complexity is reduced, but coding efficiency deteriorates due to varying motion characteristics within a video frame
Solution Approach 1:
The patent applies local quality by allowing different motion vector precisions for different blocks or groups of blocks within a frame. Each block can be assigned a precision level (e.g., 1/4-pixel, 1/8-pixel, or 1/16-pixel) based on its local motion characteristics, rather than using a single fixed precision for the entire frame. This enables finer motion regions to use higher precision while static regions use lower precision, improving coding efficiency without uniformly increasing complexity.
Solution Approach 2:
The patent segments the video frame into multiple blocks or groups of blocks, each with independently controllable motion vector precision. By dividing the frame into smaller units, the system can apply different precision levels to different segments based on their motion complexity, resolving the contradiction between overall complexity and local coding efficiency.
2Productivity
If variable motion vector precision is used at the block level, then coding efficiency is improved by adapting to local motion characteristics, but device complexity increases due to hierarchical precision control
Solution Approach 1:
The patent introduces dynamic motion vector precision control where the precision level for each block is not fixed but can be adjusted based on motion complexity metrics. The system dynamically selects precision levels (e.g., switching between 1/4-pixel and 1/8-pixel precision) according to the actual motion characteristics of each block, enabling adaptive compression efficiency improvement while managing complexity through controlled variability.
Solution Approach 2:
The patent changes the precision parameter of motion vectors from a fixed frame-level setting to a variable block-level setting. By allowing the precision parameter to change across different blocks and within blocks (sub-blocks), the system achieves better compression efficiency for regions with varying motion characteristics while maintaining manageable complexity through systematic parameter variation.
3Measurement precision
If higher motion vector precision is used throughout the frame, then measurement precision of motion vectors is improved, but bit usage increases reducing compression efficiency
Solution Approach 1:
The patent applies local quality by assigning different precision levels to different blocks based on their motion characteristics. High-precision motion vectors (e.g., 1/16-pixel) are used only in blocks with complex motion where accuracy is critical, while low-precision vectors (e.g., integer-pixel or 1/4-pixel) are used in static or simply moving regions. This selective precision approach improves measurement precision where needed while minimizing bit usage overall.
Solution Approach 2:
The patent applies partial precision by using high-precision motion vectors only partially in specific blocks rather than uniformly across the entire frame. By applying 1/8-pixel or 1/16-pixel precision only to blocks that require it (partial action), the system achieves improved measurement precision for critical regions while avoiding the excessive bit usage that would result from applying high precision frame-wide.
Data Source
AI summary
Decoding a current block includes obtaining at least one of a maximum motion vector (MV) precision or a minimum MV precision for a group of blocks. The group of blocks includes the current block. A block-level MV precision for decoding the current block is obtained. The block-level MV precision is such that it is limited by the at least one of the maximum MV precision or the minimum MV precision. An MV for the current block is decoded using the block-level MV precision. A prediction block is obtained for the block using the MV.


