Video Codec Loop Filter Using Pixel Comparison Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding technologies face challenges in improving video quality during transmission over limited bandwidth channels, particularly in correcting artifacts caused by compression, and require efficient methods to filter pixels effectively across video encoders and decoders.

Innovation Solution

The proposed solution involves constructing a lookup table of offset values based on comparisons between target pixels and neighboring pixels, using equations to derive offset values that adjust pixel values to make them more similar to their neighbors, thereby acting as a low-pass filter, and implementing these operations in both video encoders and decoders to enhance video quality by reducing compression artifacts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional filtering methods are used to correct compression artifacts, then video quality is improved, but computational complexity increases

Engineering Contradiction:
Improvevideo qualityVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent transforms the filtering operation from continuous arithmetic computations to discrete parameter lookups. By pre-calculating offset values based on pixel comparison patterns and storing them in lookup tables, the system changes the computational parameters from floating-point arithmetic to integer indexing and addition, significantly reducing computational complexity while maintaining filtering effectiveness.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary computation by pre-calculating offset values for all possible pixel comparison patterns before actual video filtering. These pre-computed values are stored in lookup tables, so during video processing, the system only needs to perform simple comparisons and table lookups rather than complex real-time calculations, thereby reducing operational computational complexity.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If complex filtering operations are applied to reduce artifacts, then video quality improves, but processing time increases

Engineering Contradiction:
Improvevideo qualityVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent changes the computational parameters from multi-step arithmetic operations to single-step table lookups. Each filtering operation is reduced to: (1) compare target pixel with neighbors, (2) form index from comparison results, (3) lookup offset value, (4) add offset to target pixel. This parameter transformation dramatically reduces processing time per pixel.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

By pre-computing offset values for all possible neighbor comparison patterns and storing them in lookup tables, the patent eliminates the need for complex real-time calculations during video processing. The system only needs to perform simple comparisons and retrieve pre-prepared offset values, significantly reducing processing time while maintaining filtering quality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10477248B2Efficient loop filter for video codec
Publication Date: 2019.11.12 CISCO TECHNOLOGY INC
  • US10477248B2 patent drawing
  • US10477248B2 patent drawing
  • US10477248B2 patent drawing

AI summary

Presented herein are techniques for filtering pixels during video coding and decoding operations. Similar operations are performed at a video encoder and a video decoder. For a target pixel in a block of a video frame represented by the encoded bit-stream, a value of the target pixel is compared with neighboring pixels to produce a plurality of comparison results. A particular offset value for the target pixel is derived based on the plurality of comparison results. The target pixel is filtered using the particular offset value. This process is performed for some or all of the pixels of blocks of a video frame.