Video Encoder Cache Memory for Fast Block Vector Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing video encoding technologies, particularly in the HEVC standard, face inefficiencies in the INTRA Block Copy mode due to computationally intensive block matching processes, which hinder the encoding speed and complexity in finding good predictor blocks for INTRA Block Copy and INTER modes.
Innovation Solution
A method and device that utilize a cache memory to store and test block vectors as potential predictor blocks, allowing for accelerated encoding by prioritizing good candidates and skipping unnecessary tests based on predetermined criteria, thereby optimizing the encoding process by reducing computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If exhaustive block matching is performed to find good predictor blocks, then prediction accuracy is improved, but encoding complexity and time increase
Solution Approach 1:
The patent applies preliminary action by performing a fast initial block matching search to identify candidate predictor blocks before conducting more precise evaluation. This preliminary step narrows down the search space, allowing the encoder to achieve good prediction accuracy without performing exhaustive block matching on all possible candidates, thus reducing overall encoding complexity
Solution Approach 2:
The patent segments the block matching process into multiple stages: an initial fast search phase that identifies promising candidate blocks, followed by a more detailed evaluation phase only on selected candidates. This segmentation allows the system to balance between finding accurate predictors and maintaining manageable encoding complexity
2Measurement precision
If exhaustive block matching is performed to find good predictor blocks, then prediction accuracy is improved, but encoding time increases
Solution Approach 1:
The patent performs preliminary block matching on a limited set of candidate blocks to identify the best predictors early in the encoding process. This preliminary action provides sufficiently accurate prediction results without requiring time-consuming exhaustive search, thereby reducing overall encoding time while maintaining acceptable prediction accuracy
Solution Approach 2:
The patent applies partial action by performing block matching only on a selected subset of candidate predictor blocks rather than exhaustively searching all possible blocks. This partial evaluation approach achieves good enough prediction accuracy for practical encoding while significantly reducing the time required compared to complete exhaustive search
3Productivity
If cache memory is used to store block vectors, then encoding speed is improved, but device complexity increases
Solution Approach 1:
The patent uses cache memory to store copies of previously computed block vectors and predictor block information. This copying mechanism allows the encoder to quickly retrieve and reuse predictor data for adjacent or similar blocks without performing redundant block matching operations, thereby significantly improving encoding speed while the added memory complexity remains relatively small compared to the computational savings
Data Source
AI summary
The present invention concerns a method of encoding an image, the image comprising a plurality of coding elements made of blocks of pixels, each block of pixels being encoded according to a coding mode out of a plurality of coding modes, the method comprising for each block of pixel to be encoded determining the coding mode to be used for the encoding of a given block of pixels by sequentially evaluating some coding modes in the plurality of coding modes; wherein the method comprises evaluating Inter coding modes and fast IBC coding modes; and no residue-test is conducted between the evaluation of the Inter coding mode and the evaluation of the fast IBC mode. Accordingly, some good predictors may be found more rapidly and the whole encoding process is speed up.


