Adaptive OBMC Subblock Sizes for Video Coding Boundary Artifacts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding systems face inefficiencies in motion compensation due to large discontinuities at block boundaries, leading to visual artifacts and reduced transform/coding efficiency, particularly in geometry and symmetrical motion partitions.
Innovation Solution
The implementation of Overlapped Block Motion Compensation (OBMC) with adaptive subblock sizes based on selected inter prediction tools, such as DMVR, affine, and SbTMVP modes, to smooth boundary discontinuities and improve prediction accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Object-affected harmful factors
If traditional block motion compensation is used, then computational complexity is reduced, but visual artifacts increase due to large discontinuities at block boundaries
Solution Approach 1:
The current block is divided into multiple subblocks, and motion compensation is performed separately for each subblock. This segmentation allows for more precise motion representation while reducing boundary discontinuities, as each subblock can have its own motion vector derived from neighboring blocks, thereby reducing visual artifacts without requiring full OBMC computational complexity.
Solution Approach 2:
Different motion compensation strategies are applied to different regions of the block. Specifically, subblocks at boundaries use motion vectors from neighboring blocks to smooth transitions, while interior subblocks use standard motion compensation. This local differentiation reduces visual artifacts at boundaries without unnecessarily increasing complexity across the entire block.
2Manufacturing precision
If OBMC with fixed small subblock size is used, then boundary discontinuities are reduced, but computational complexity and memory bandwidth requirements increase
Solution Approach 1:
The subblock size for OBMC is made dynamic rather than fixed. The method adaptively determines the subblock size based on the prediction mode, block size, and boundary characteristics. This dynamic adjustment allows the system to use smaller subblocks only when necessary for high prediction accuracy, while using larger subblocks elsewhere to reduce computational complexity and memory bandwidth requirements.
Solution Approach 2:
The subblock size parameter is changed adaptively based on coding conditions. Different subblock sizes are selected depending on the inter prediction mode (e.g., DMVR, affine, SbTMVP), the size of the current block, and the position of boundaries. This parameter adaptation maintains prediction accuracy where needed while reducing computational burden in other regions.
3Productivity
If inter prediction tools with subblock processing are used, then coding efficiency is improved, but block boundary discontinuities increase
Solution Approach 1:
Overlapped block motion compensation acts as an intermediary process between subblock-based prediction and final reconstruction. The OBMC process blends motion-compensated predictions from overlapping subblocks at boundaries, using weighted combinations to smooth discontinuities. This intermediary blending operation maintains the coding efficiency benefits of subblock processing while eliminating the harmful boundary artifacts.
Data Source
AI summary
A method and apparatus for Overlapped Boundary Motion Compensation (OBMC) are provided. According to the method, input data associated with a current block is received, wherein the input data includes pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. An inter prediction tool from a set of inter-prediction coding tools is determined for the current block. An OBMC subblock size for the current block is determined based on information related to the inter prediction tool selected for the current block or the inter prediction tool of a neighboring block. Subblock OBMC is applied to a subblock boundary between a neighboring subblock and a current subblock of the current block according to the OBMC subblock size.


