Non-separable Transform Memory Reduction in Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding techniques, such as those in HEVC, face limitations in efficiently compressing video data due to the separable transform methods used, which may not fully exploit the energy compaction capabilities for transform coefficients, leading to suboptimal compression efficiency.
Innovation Solution
The implementation of non-separable transforms in video coding, where a window is assigned and weights are assigned to each position within the window to determine the transform output coefficients, allowing for more flexible and efficient energy compaction of transform coefficients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If separable transform methods are used in video coding, then the implementation complexity is reduced and processing is simplified, but the compression efficiency deteriorates due to insufficient energy compaction capabilities
Solution Approach 1:
The transform process is segmented into multiple stages: a separable transform (e.g., DCT) is applied first to achieve energy compaction, followed by a non-separable transform (e.g., rotational transform) applied to selected coefficient blocks to further enhance compression. This segmentation allows the system to benefit from both the simplicity of separable transforms and the efficiency of non-separable transforms.
Solution Approach 2:
The non-separable transform is applied partially rather than to the entire transform coefficient block. Specifically, it is applied only to sub-blocks containing significant energy or non-zero coefficients, determined by thresholding or energy criteria. This partial application maintains compression efficiency while avoiding excessive computational complexity.
2Productivity
If non-separable transforms are applied to the entire transform coefficient block, then compression efficiency is improved through better energy compaction, but the computational complexity and processing time increase significantly
Solution Approach 1:
The transform coefficient block is segmented into multiple sub-blocks, and the non-separable transform is applied selectively to specific sub-blocks based on energy criteria rather than to the entire block. This segmentation reduces the number of transform operations required while maintaining compression efficiency in the most beneficial regions.
Solution Approach 2:
Different transform operations are applied to different regions of the coefficient block based on local characteristics. The non-separable transform is applied locally to sub-blocks that meet energy thresholds, while other regions use the simpler separable transform, optimizing the balance between compression efficiency and computational complexity for each local region.
3Loss of information
If non-separable transforms are used, then the representation of residual data is improved leading to better bit rate reduction, but the memory requirements and storage complexity increase
Solution Approach 1:
The residual data processing is segmented such that non-separable transforms are applied only to specific sub-blocks rather than the entire residual block. This reduces the amount of data that requires complex transformation and storage, thereby reducing memory requirements while maintaining improved representation where it matters most.
Solution Approach 2:
The non-separable transform is applied partially to only those coefficient blocks that benefit most from enhanced representation, determined by energy thresholds. This partial application reduces the overall memory and storage requirements compared to applying the transform universally, while still achieving significant bit rate reduction.
Data Source
AI summary
Techniques are described in which a decoder is configured to receive an input data block and apply an inverse non-separable transform to at least part of the input data block to generate an inverse non-separable transform output coefficient block. The applying the inverse non-separable transform comprises assigning a window, assigning a weight for each position inside the assigned window, and determining the inverse non-separable transform output coefficient block based on the assigned weights. The decoder is further configured to forming a decoded video block based on the determined inverse non-separable transform output coefficient block, wherein forming the decoded video block comprises summing the residual video block with one or more predictive blocks.


