Intra Block Copy Search Range for Efficient Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing size, resolution, and frame rate of video data require more efficient compression techniques to reduce the amount of data needed for storage and transmission, as existing methods like H.264/AVC and HEVC are not sufficient for the growing volume of video data.
Innovation Solution
The proposed method involves video encoding and decoding in units of blocks using an intra block copy (IBC) mode, where a current coding block's reference block is limited within a defined search area set in the current and left coding tree blocks, selected from pre-decoded processing regions, to enhance compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the search area for block vector is expanded to improve prediction accuracy, then encoding efficiency improves, but memory resources and processing complexity increase
Solution Approach 1:
The current coding tree block is divided into multiple processing regions (e.g., 32×32 regions within a 64×64 block). The search area is segmented to include only those processing regions that have been previously decoded, rather than searching the entire block. This segmentation reduces the search space while maintaining prediction accuracy for repeated patterns.
Solution Approach 2:
Different regions within the coding tree block have different qualities in terms of availability for reference. The patent applies local quality by allowing reference only from processing regions that have been decoded, creating a spatially varying reference availability map. This ensures that reference blocks are locally available without requiring global memory access.
2Measurement precision
If the search area includes more processing regions, then prediction accuracy for repeated patterns improves, but memory access requirements increase
Solution Approach 1:
Processing regions are decoded in a specific order (e.g., raster scan order) before the current processing region is decoded. This preliminary decoding action ensures that reference blocks are already available in memory when needed for prediction, eliminating the need to store entire large blocks in memory simultaneously.
Solution Approach 2:
Instead of requiring the entire coding tree block to be decoded and stored in memory before allowing reference, the patent uses only the partially decoded processing regions that are sufficient for prediction. This partial action approach reduces memory requirements while maintaining prediction accuracy.
3Quantity of substance
If block vector values are restricted to a limited search area, then memory usage is reduced, but the risk of reference blocks being outside valid regions increases
Solution Approach 1:
The patent implements feedback by checking whether the reference block indicated by the block vector lies within the search area (previously decoded processing regions). If the reference block is outside the search area, the block vector is adjusted or clipped to point to a valid region within the search area, ensuring reference block validity.
Solution Approach 2:
The search area is predefined to include only processing regions that are guaranteed to be decoded before the current region. This beforehand cushioning prevents the possibility of referencing undecoded regions, eliminating the need for runtime validity checks while reducing memory usage.
Data Source
AI summary
A video decoding method for predicting a picture, which is split into equal-sized coding tree blocks, in units of blocks, the method includes: reconstructing a block vector for a current coding block in a current coding tree block to be decoded, by decoding block vector information from a bitstream, wherein the current coding block is one of blocks split from the current coding tree block in a tree structure; and setting, as a prediction block of the current coding block, a reference block indicated by the block vector in the picture in which the current coding block is located.


