Block Matching for Collaborative Filtering in Video Codecs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current collaborative filtering techniques for image processing face high computational complexity and memory requirements, especially in real-time applications like video encoding and decoding, due to the need for extensive block matching searches, which limits the efficiency and accuracy of finding multiple best-matching blocks.

Innovation Solution

The approach subdivides the image area into non-overlapping template and non-template blocks, where template blocks are used to find the best-matching blocks within a search region, and these blocks are then applied to filter both template and non-template blocks, reducing the number of positions tested and thus decreasing computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full block matching search is performed for all blocks to find K best-matching blocks, then filtering quality is improved, but computational complexity increases proportionally to N*N*M*M

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

Solution Approach 1:

The image area is divided into template blocks and non-template blocks. Template blocks undergo full block matching to find K best-matching blocks, while non-template blocks reuse the offsets found from template blocks. This segmentation allows the system to maintain high filtering quality for template blocks while significantly reducing computational complexity for non-template blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method performs block matching for template blocks first to establish a set of best offsets. These pre-computed offsets are then reused for non-template blocks, eliminating the need to perform full block matching searches for each non-template block. This preliminary action reduces overall computational complexity while maintaining filtering quality.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If full block matching is performed for all blocks, then accuracy of finding best-matching blocks is improved, but processing time increases severely for real-time video applications

Engineering Contradiction:
Improveblock matching accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The method merges the block matching results from template blocks with the processing of non-template blocks by reusing the offsets found from template blocks. This combining approach allows non-template blocks to leverage pre-computed offset information, significantly reducing processing time while maintaining matching accuracy through the use of K best-matching blocks.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If extensive block matching search is performed to find multiple best-matching blocks, then filter quality is maintained, but memory requirements increase

Engineering Contradiction:
Improvefilter qualityVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The method extracts only the essential information from block matching - specifically the K best offsets and their corresponding similarity measures - and stores only this extracted data. By taking out only the necessary offset information rather than storing all candidate block data, the system maintains filter quality while reducing memory requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3655918B1Fast block matching method for collaborative filtering in lossy video codecs
Publication Date: 2021.11.03 HUAWEI TECH CO LTD
  • EP3655918B1 patent drawingFigure 1A
  • EP3655918B1 patent drawingFigure 1B
  • EP3655918B1 patent drawingFigure 2

AI summary

The present disclosure relates to the search of more than one K-integer best-matching blocks per block within an image, corresponding to best patches for subsequent filtering. In particular, the positions of K best-matching blocks for a template block are found within an image search area, by performing calculations of the similarity between the template block and a test block at all offset positions within a search area. The positions of K or more best-matching blocks for a non-template block are found within an image search area, by performing calculations of the similarity between the non-template block and a test block at all offset positions found as offsets of best-matching blocks for all template blocks.