Butterfly ADST Transform for Parallel Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current image and video compression technologies face inefficiencies due to high computational complexity in transform modules, particularly in implementing asymmetric discrete sine transforms (ADST) for hybrid transform coding, which hinders parallel computing and compression gains.
Innovation Solution
A butterfly asymmetric discrete sine transform (ADST) with a kernel form of sin(2n-1) / (2k-1) π 4N is introduced, allowing for a butterfly structured implementation consistent with discrete cosine transform (DCT) kernels, enabling parallel computing via single instruction multiple data (SIMD) operations and efficient hardware utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If asymmetric discrete sine transform (ADST) is implemented in traditional sequential structure, then transform coding accuracy is improved, but hardware computational complexity increases and parallel computing capability deteriorates
Solution Approach 1:
The ADST transform is segmented into multiple independent stages that can be executed in parallel. Each stage processes a subset of the transform coefficients independently, allowing the overall transform to be decomposed into parallel computational units that reduce hardware complexity while maintaining coding accuracy.
Solution Approach 2:
The transform implementation is transitioned from a sequential one-dimensional processing approach to a multi-dimensional parallel architecture. By organizing computations across multiple processing elements and memory banks simultaneously, the system achieves both high accuracy and reduced computational complexity through spatial parallelism.
2Ease of manufacture
If traditional transform kernel structure is used, then implementation simplicity is maintained, but parallel computing efficiency and hardware utilization deteriorate
Solution Approach 1:
The transform kernel computation is divided into multiple independent segments that can be calculated simultaneously by different processing units. This segmentation maintains the mathematical correctness of the transform while enabling efficient parallel execution on modern hardware architectures.
Solution Approach 2:
Multiple computational operations within the transform kernel are merged and executed together in a single parallel processing step. By combining compatible operations that previously required sequential execution, the system achieves higher productivity without sacrificing implementation simplicity.
3Device complexity
If sequential processing architecture is used for transform module, then implementation complexity is reduced, but codec processing speed and compression gains deteriorate
Solution Approach 1:
The sequential transform processing is segmented into multiple parallel streams that can be processed simultaneously. Each stream handles a portion of the input data independently, allowing the overall processing speed to increase linearly with the number of parallel processing elements while keeping individual processor complexity manageable.
Solution Approach 2:
The processing architecture transitions from a static sequential structure to a dynamic parallel structure that can adaptively utilize available hardware resources. The system dynamically distributes computational tasks across multiple processing elements based on data characteristics and hardware capabilities, achieving high processing speed without excessive complexity.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A method and system may identify a video data block using a video codec and apply a transform kernel of a butterfly asymmetric discrete sine transform (ADST) to the video data block in a pipeline.