Bilateral Loop Filter for Video Decoding Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video compression methods face challenges in efficiently applying bilateral filtering without increasing decoding complexity, particularly due to serial decoding requirements for intra blocks and inter blocks, which can lead to performance degradation and increased latency.

Innovation Solution

A method is introduced where bilateral filtering is applied as a loop filter after all blocks have been decoded, allowing access to samples from neighboring blocks regardless of their type, thus avoiding the critical path issue and reducing computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If bilateral filtering is applied directly after reconstruction for intra blocks, then filtering quality is improved, but decoding time increases due to serial decoding requirements

Engineering Contradiction:
Improvefiltering qualityVSAvoiddecoding time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies bilateral filtering after all blocks (both intra and inter) have been decoded, rather than immediately after intra block reconstruction. This preliminary completion of decoding for all blocks eliminates the serial dependency, allowing the filter to access samples from any block without waiting for sequential decoding, thus reducing decoding time while maintaining filtering quality

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent inverts the conventional filtering approach by processing inter blocks before intra blocks in the filtering stage. Instead of filtering intra blocks immediately after their reconstruction (which would require waiting for neighboring intra blocks), the method completes all decoding first, then applies filtering in an order that can utilize already-decoded samples, effectively reversing the critical path dependency

Inventive Principle:
Principle #13The other way round (Inversion)

2Measurement precision

If bilateral filtering uses samples from neighboring intra blocks, then filtering accuracy is improved, but decoding complexity increases due to serial processing requirements

Engineering Contradiction:
Improvefiltering accuracyVSAvoiddecoding complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent completes the decoding of all blocks (including all neighboring intra blocks) before applying bilateral filtering. This preliminary action ensures that all required samples are already available in the decoded buffer, allowing the filter to access any neighboring sample without requiring complex serial processing logic or synchronization mechanisms during the filtering stage

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent separates the decoding process from the filtering process into distinct stages. The decoding stage processes all blocks independently and stores results, while the filtering stage operates separately on the completed decoded data. This segmentation eliminates the need for complex inter-stage dependencies and allows each stage to optimize for its specific function without increasing overall decoding complexity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12219133B2Bilateral loop filter
Publication Date: 2025.02.04 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US12219133B2 patent drawing
  • US12219133B2 patent drawing
  • US12219133B2 patent drawing

AI summary

Methods, decoders, and programs are provided. All blocks of an image that has been encoded are decoded. At least one sample of at least one block of the image is filtered by, for each block being filtered: for each sample being filtered: selecting a plurality of neighboring samples. For at least one neighboring sample, a difference is calculated between the neighboring sample and the sample. A modifier value is obtained. A modifier sum is derived based on a sum of the modifier values for the neighboring samples. A correction value is determined based on a conditional addition of at least one shifted version of the modifier sum, each shift having a same number of shift steps in each correction value determination. A filtered sample is derived based on the sample and correction value. The filtered sample is stored. The block and filtered sample is output towards a decoder output.