Intra Block Copy Coding via Hash-Based Block Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current IBC search algorithms for video coding, based on block matching, are not ideal as they search for similar blocks rather than identical blocks, which is suboptimal for screen content videos where pixel values are consistent due to algorithmic generation.
Innovation Solution
A video image coding method that divides an image frame into sub-blocks, calculates a hash value for each sub-block, and uses a hash table to quickly identify and validate identical blocks for Intra Block Copy (IBC) coding, thereby improving the efficiency of IBC mode determination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If block matching search algorithm is used for IBC, then similar blocks can be found, but identical blocks cannot be reliably identified for screen content videos
Solution Approach 1:
The patent replaces the mechanical block matching algorithm with a hash-based content addressable memory approach. Instead of comparing pixel values using mathematical operations, the system converts block content into hash values and uses direct address lookup in a hash table, substituting the mechanical comparison process with a more efficient information retrieval mechanism.
Solution Approach 2:
The patent changes the parameter representation from raw pixel values to hash values. By transforming the block content through a hash function, the system creates a compact representation that enables exact matching while reducing computational complexity. This parameter transformation allows the system to distinguish between similar and identical blocks effectively.
2Adaptability or versatility
If traditional block matching algorithm is used, then general video sequences can be processed, but screen content videos with identical blocks cannot be efficiently coded
Solution Approach 1:
The patent introduces a dynamic hash table that is updated during the coding process. As blocks are processed, their hash values and positions are stored in the hash table, enabling subsequent blocks to be quickly matched against previously processed blocks. This dynamic structure adapts to the specific characteristics of screen content videos while maintaining general applicability.
Solution Approach 2:
The patent uses the hash table as a copy of block information that can be quickly queried. Instead of storing actual block data, the system creates a compact copy in the form of hash values and position indices, enabling efficient retrieval and comparison without duplicating the full block content.
3Manufacturing precision
If exact block matching is implemented for screen content, then coding precision improves, but computational complexity increases
Solution Approach 1:
The patent performs preliminary hashing of block content before the actual matching process. By pre-computing hash values and storing them in the hash table during the scanning process, the system prepares the data structure in advance, enabling O(1) average time complexity for subsequent lookups instead of requiring exhaustive comparison.
Solution Approach 2:
The hash function serves as an intermediary between the block content and the matching process. Instead of directly comparing pixel arrays, the system uses hash values as intermediaries that uniquely represent block content, simplifying the matching operation to a straightforward equality check while maintaining precision.
Data Source
AI summary
Disclosed in the present disclosure is a video image coding method. The method includes: dividing an image frame to be coded into a plurality of sub-blocks, and assigning coordinates to each sub-block; calculating a hash value corresponding to an i-th sub-block according to a content of the i-th sub-block; performing a search in a first hash table by using the hash value corresponding to the i-th sub-block; in response to the coordinates of the first reference block being valid, acquiring a content of the first reference block according to the coordinates of the first reference block, and comparing the content of the first reference block with the content of the i-th sub-block; and in response to the content of the first reference block being consistent with the content of the i-th sub-block, performing Intra Block Copy (IBC) coding on the i-th sub-block.


