Bi-directional Optical Flow Motion Compensation Complexity Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high computational complexity of bi-directional optical flow (BIO) techniques in video coding limits their widespread adoption, particularly due to the need for extensive gradient calculations and high-resolution interpolation, which is not efficiently managed in existing implementations.
Innovation Solution
Conditionally applying the BIO process based on specific coding modes, such as Merge or AMVP modes, and using a jointly-coded flag to enable or disable the BIO process, while also clipping motion vector offsets to reduce computational overhead and memory bandwidth, and extending BIO to chroma components with scaled or shared offsets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If BIO technique is applied to all bi-predicted blocks, then motion compensation precision is improved, but computational complexity increases significantly
Solution Approach 1:
The patent applies BIO technique selectively to specific block types (e.g., blocks with certain motion characteristics or block sizes) rather than uniformly to all bi-predicted blocks. This local application strategy maintains high motion compensation precision for blocks that benefit most from BIO while avoiding unnecessary computational overhead for blocks where BIO provides minimal improvement.
Solution Approach 2:
The patent implements a simplified version of BIO with reduced computational steps for certain scenarios, applying only the essential parts of the full BIO algorithm. This partial action approach achieves sufficient motion compensation precision for many practical cases while significantly reducing the computational complexity compared to the complete BIO implementation.
2Reliability
If BIO is applied to improve motion compensation, then coding performance is improved, but memory bandwidth usage increases
Solution Approach 1:
The patent divides the processing into stages, performing gradient calculations and interpolation only for blocks where BIO is determined to be beneficial. This segmentation allows the system to maintain high coding performance for selected blocks while avoiding memory bandwidth consumption for blocks where BIO would not provide significant improvement.
Solution Approach 2:
The patent performs preliminary assessment of block characteristics before applying BIO to determine whether the block is suitable for BIO processing. This preliminary action filters out blocks that would not benefit from BIO, preventing unnecessary memory bandwidth usage while preserving coding performance for blocks that do benefit.
3Measurement precision
If full BIO implementation is used, then motion refinement accuracy is improved, but processing time increases
Solution Approach 1:
The patent modifies key parameters of the BIO algorithm, such as reducing the gradient filter tap length or limiting the interpolation resolution for certain block types. These parameter changes maintain sufficient motion refinement accuracy for practical applications while significantly reducing the number of computational operations and thus the processing time.
Data Source
AI summary
Methods and apparatus of motion compensation using the bi-directional optical flow (BIO) techniques are disclosed. According to one method of the present invention, the BIO process is applied to encode or decode bi-directional current block in Merge mode only or in AMVP (advanced motion vector prediction) mode only. According to another method, the BIO process conditionally to encode or decode the current block depending on a jointly-coded flag if the current block is coded using a bi-prediction mode. According to yet another method, x-offset value vx and y-offset value vy for the current block are added to the current motion vector to form a final motion vector. The final motion vector is then used as a reference motion vector for following blocks. In still yet another method, the BIO process is applied to the chroma component.


