Block Matching for Collaborative Filtering in Video Codecs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Measurement precision
If extensive block matching search is performed to find multiple best-matching blocks, then filter quality is maintained, but memory requirements increase
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.
Data Source
Figure 1A
Figure 1B
Figure 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.