Multi-level significance maps for video encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video encoding standards, such as H.264/AVC and the developing HEVC, face inefficiencies in encoding and decoding significant-coefficient flags due to the high computational cost of determining contexts for large transform units like 16x16 and 32x32, particularly due to costly memory access operations and the large number of zeros in these maps.
Innovation Solution
The implementation of multi-level significance maps, where significant-coefficient flags are grouped into larger units (e.g., 4x4 blocks within 16x16 or 8x8 blocks within 32x32 transform units), allowing for context-adaptive encoding and decoding by using significant-coefficient-group flags, reducing the need to encode zero coefficients and optimizing bitstream transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If context-adaptive encoding is used for large transform units (16x16, 32x32), then encoding precision is improved, but computational cost increases due to the large number of contexts (88 contexts) and costly memory access operations
Solution Approach 1:
The significance map is divided into multiple sub-blocks (e.g., 4x4 sub-blocks within a 16x16 transform unit). Instead of maintaining separate contexts for each coefficient position across the entire large transform unit, the patent applies context-adaptive encoding independently to each sub-block. This segmentation reduces the number of contexts that need to be tracked simultaneously and decreases memory access operations, while still preserving encoding precision through localized context adaptation.
2Measurement precision
If context-adaptive encoding is used for large transform units, then encoding accuracy is improved, but encoding speed decreases due to the large number of memory access operations
Solution Approach 1:
By segmenting the large transform unit into smaller sub-blocks, the patent reduces the scope of memory access operations. Each sub-block can be processed with its own context model independently, allowing for parallel processing and reducing the sequential memory access burden. This maintains encoding accuracy through context adaptation while improving encoding speed by reducing memory access overhead.
Solution Approach 2:
The patent applies context-adaptive encoding selectively rather than uniformly across all coefficient positions. By identifying and applying context adaptation only where necessary (partial action), or by using simplified context models for certain regions (excessive action in a controlled manner), the patent balances encoding accuracy with computational efficiency, thereby improving encoding speed without sacrificing essential precision.
3Loss of information
If all significant-coefficient flags are encoded individually, then completeness of information is improved, but bitstream size increases due to encoding many zero coefficients
Solution Approach 1:
The patent extracts and encodes only the significant coefficients (non-zero values) from the transform unit, rather than encoding all coefficient flags individually. By identifying and separating the significant coefficients from the zero coefficients, the patent reduces bitstream size while maintaining completeness of information. The position information of significant coefficients is encoded, allowing the decoder to reconstruct the original data without transmitting redundant zero information.
Solution Approach 2:
Instead of performing full encoding on all coefficient flags (excessive action), the patent applies encoding only to the necessary subset of significant coefficients (partial action). This selective encoding approach reduces bitstream size by eliminating redundant encoding of zero coefficients, while still preserving all essential information needed for accurate reconstruction of the video data.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is disclosed a method for use in a decoder of a bit stream of encoded data for determining a value of a significant-coefficient flag corresponding to a transform coefficient of a block among one or more non-overlapping blocks within a transform unit. The significant-coefficient flag is a member of a group of significant- coefficient flags corresponding to the block. The group has a significant-coefficient-group flag. The method comprises: upon determining that the value of the significant-coefficient-group flag is to be decoded from the bitstream and is one, determining the value of the significant-coefficient flag: to be one when all of the other significant-coefficient flags of the group have been previously determined to have a value of zero, and otherwise by decoding the value from the bitstream.