Entropy Coding Transform Partitioning for Video Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video compression schemes face inefficiencies in encoding and decoding due to the use of uniform transform sizes, which can lead to increased costs and reduced compression efficiency, especially when dealing with variable block sizes in video streams.
Innovation Solution
The method involves determining a multiform transform size for transforming residual information by recursively assessing whether using a current block size transform is more cost-effective than partitioning the block into sub-blocks, and entropy coding the transform partitioning flag based on adjacent block sizes to optimize encoding and decoding processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If uniform transform sizes are used for encoding video blocks, then the encoding process is simple, but compression efficiency is reduced
Solution Approach 1:
The video block is divided into multiple sub-blocks for transform processing. The transform unit partitions the current block into several smaller sub-blocks, allowing different transform sizes to be applied to different regions, thereby improving compression efficiency while maintaining manageable encoding complexity through systematic segmentation.
Solution Approach 2:
The transform size is made dynamic rather than fixed. The encoding system adaptively selects transform sizes based on the characteristics of different video blocks, using larger transforms for smooth regions and smaller transforms for regions with high frequency content or edges, thus optimizing compression efficiency across varying content types.
2Productivity
If transform partitioning is applied to all blocks, then compression efficiency improves, but encoding complexity increases
Solution Approach 1:
Different transform partitioning strategies are applied to different regions of the video based on local characteristics. Rather than uniformly applying partitioning to all blocks, the system analyzes local content features and applies appropriate transform sizes and partitioning levels only where beneficial, reducing overall encoding complexity while maintaining compression efficiency in critical regions.
Solution Approach 2:
The transform parameters (size, partitioning level) are dynamically changed based on content analysis. The system adjusts transform parameters according to the statistical properties and visual characteristics of each video block, applying more aggressive partitioning where it yields compression benefits and using simpler transforms where content is already compressible, thus balancing complexity and efficiency.
3Productivity
If adaptive transform size selection is used, then compression efficiency improves, but decoding complexity increases
Solution Approach 1:
The transform partitioning information and size selection decisions are encoded and transmitted in the bitstream during the encoding phase. The decoder receives pre-determined transform parameters along with the transform coefficients, eliminating the need for complex adaptive decision-making during decoding. The encoding complexity is shifted to the encoding stage where the information can be efficiently packed into the bitstream.
Data Source
AI summary
Entropy coding of transform partitioning information may include decoding a current block by determining a probability for entropy decoding a transform partitioning flag based on a transform block size of an adjacent block that is available for decoding, entropy decoding the transform partitioning flag for the current block using the probability, generating a reconstructed block based on the current block by, on a condition that the transform partitioning flag indicates that transform partitioning is omitted for the current block, inverse transforming the current block using a current block size inverse transform, and, on a condition that the transform partitioning flag indicates transform partitioning for the current block, identifying sub-blocks from the current block, wherein each sub-block from the sub-blocks has a sub-block size smaller than the current block size, inverse transforming the sub-blocks using sub-block size inverse transforms, and generating the reconstructed block based on the residual block.


