Bi-Directional Optical Flow for Residual Motion Video Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing block-based video coding systems face inefficiencies in motion compensation due to residual motion within bi-predicted blocks, leading to suboptimal compression and decoding performance.
Innovation Solution
Implement bi-directional optical flow (BIO) for motion refinement by deriving local motion vectors at a sample level, using gradient filters and interpolation processes to enhance prediction accuracy, and enable/disable BIO based on similarity thresholds and gradient information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If bi-directional optical flow (BIO) is enabled for motion refinement, then prediction accuracy and decoding performance are improved, but device complexity and computational cost increase
Solution Approach 1:
The patent applies local quality by deriving motion refinement only for specific regions where it is most needed. The encoder determines a subset of coding blocks to apply BIO based on motion characteristics, gradient information, and prediction similarity metrics. This selective application ensures high prediction accuracy for complex motion regions while avoiding unnecessary computational complexity in regions where simple motion models suffice.
Solution Approach 2:
The patent utilizes parameter changes by dynamically adjusting the BIO threshold and motion refinement strength based on scene characteristics. The system modifies parameters such as the BIO threshold value, gradient magnitude thresholds, and motion vector precision adaptively during encoding/decoding to balance prediction accuracy improvements with computational complexity reduction.
2Reliability
If motion compensation is performed at sample level, then residual motion is reduced, but processing time and computational load increase
Solution Approach 1:
The patent applies segmentation by dividing the motion compensation process into multiple stages: coarse motion compensation at block level, gradient-based motion refinement for selected blocks, and sample-level BIO for a subset of coding blocks. This hierarchical segmentation allows the system to achieve high compression efficiency through sample-level refinement where needed while avoiding the full computational burden across all blocks.
Solution Approach 2:
The patent implements partial action by applying BIO and sample-level motion refinement only to a subset of coding blocks rather than all blocks. The encoder uses criteria such as motion vector magnitude, gradient information, and prediction similarity to select which blocks receive intensive processing, achieving sufficient compression efficiency without the excessive computational load of universal sample-level processing.
3Measurement precision
If bi-directional optical flow is applied to all coding blocks, then prediction accuracy improves, but encoding complexity increases
Solution Approach 1:
The patent applies local quality by deriving motion refinement only for specific regions where it is most needed. The encoder determines a subset of coding blocks to apply BIO based on motion characteristics, gradient information, and prediction similarity metrics. This selective application ensures high prediction accuracy for complex motion regions while avoiding unnecessary computational complexity in regions where simple motion models suffice.
Solution Approach 2:
The patent implements dynamics by making the BIO application decision adaptive rather than static. The encoder dynamically adjusts which coding blocks receive BIO based on real-time analysis of motion vectors, gradient magnitudes, and prediction similarities. This dynamic selection allows the system to optimize prediction accuracy for complex regions while maintaining low encoding complexity for simple regions.
Data Source
AI summary
A device may determine whether to enable or disable bi-directional optical flow (BIO) for a current coding unit (CU) (e.g., block and/or sub-block). Prediction information for the CU may be identified and may include prediction signals associated with a first reference block and a second reference block (e.g., or a first reference sub-block and a second reference sub-block). A prediction difference may be calculated and may be used to determine the similarity between the two prediction signals. The CU may be reconstructed based on the similarity. For example, whether to reconstruct the CU with BIO enabled or BIO disabled may be based on whether the two prediction signals are similar. It may be determined to enable BIO for the CU when the two prediction signals are determined to be dissimilar. For example, the CU may be reconstructed with BIO disabled when the two prediction signals are determined to be similar.


