Adaptive Interpolation Filter Switching for Low-Overhead Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding technologies face challenges in optimizing interpolation filters for motion estimation and motion compensation, leading to increased encoder complexity and signaling overhead, especially when using content-dependent optimal filters.
Innovation Solution
Implementing a system that allows switching between different interpolation filters based on specific criteria for coding units, such as sequence, picture, coding tree unit, and prediction unit levels, with minimal additional bitstream size increase, and signaling these filters explicitly or implicitly to the decoder.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple interpolation filters are used adaptively for different coding units, then video quality and encoding efficiency are improved, but encoder complexity and signaling overhead increase
Solution Approach 1:
The patent changes the parameter of interpolation filter selection from a fixed single filter to multiple selectable filters with different characteristics (e.g., sharpness, smoothness). The encoder adaptively selects appropriate filter parameters based on content characteristics such as texture complexity and motion magnitude, thereby improving video quality while managing encoder complexity through conditional selection rules
Solution Approach 2:
The patent segments the video content into different coding units (blocks) and applies different interpolation filter selections to each segment based on local content characteristics. This allows the encoder to use simpler filters for smooth regions and more complex filters for detailed regions, improving overall video quality while controlling the average encoder complexity across the entire video stream
2Manufacturing precision
If multiple interpolation filters are used adaptively for different coding units, then inter-layer prediction performance is improved, but signaling overhead increases
Solution Approach 1:
The patent applies partial signaling by only explicitly signaling the interpolation filter selection for coding units where it provides significant performance benefit (e.g., high-detail regions, inter-layer prediction scenarios). For other regions, the decoder infers the filter selection based on content characteristics, thereby reducing signaling overhead while maintaining inter-layer prediction performance where it matters most
Solution Approach 2:
The patent incorporates feedback mechanisms where the encoder evaluates the effectiveness of different interpolation filter selections based on rate-distortion metrics and adjusts filter selection accordingly. This feedback loop allows the system to learn which filter selections provide the best performance-to-signaling-cost ratio, improving inter-layer prediction while minimizing unnecessary signaling overhead
3Measurement precision
If finer motion vector precision is used, then motion tracking accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent applies different motion vector precision levels to different regions of the video content based on local characteristics. For regions with simple motion or low visual importance, lower precision (e.g., integer pixels) is used. For regions with complex motion or high visual importance, higher precision (e.g., sub-pixel, quarter-pixel) is applied. This local quality approach improves motion tracking accuracy where needed while reducing computational complexity in other regions
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and apparatus are provided for adaptively switching interpolation filters during the encoding of video data or the decoding of a video bitstream. In various implementations, a set of interpolation filters can be defined and made available to coding device. The coding device can select an interpolation filter for a given coding unit. The interpolation filter can be selected based on, for example, the coding level of the coding unit, among other things. In some examples, signaling of the selected interpolation filter can be simplified by selecting a subset of the set of interpolation filters for a given coding situation. An index indicating an interpolation filter from the subset can then be signaled. Alternatively, a decoder can derive an identity of the interpolation filter from data provided by a bitstream, in which case the index need not be explicitly signaled in the bitstream.