Multi-core Video Decompression Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-definition video and multi-core processing pose challenges in load balancing and computational overhead due to the need for extensive data exchange between processor cores during video decompression, particularly in block-coded video data standards like H.264/MPEG-4 AVC.
Innovation Solution
A multi-core apparatus and method that decodes and deblocks block-coded video data in parallel, using a task management module to allocate tasks efficiently across processor cores, minimizing data exchange and optimizing cache coherency, with shared non-cacheable and cacheable memories to manage core communication and packet verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multi-core parallel processing is used for video decompression, then processing speed is improved, but computational overhead and data exchange requirements increase
Solution Approach 1:
The patent divides the video decompression process into distinct functional segments (entropy decoding, inverse quantization, inverse transform, deblocking filtering) that can be executed in parallel across multiple processor cores. Each core handles specific macroblock groups independently, reducing inter-core data exchange while maintaining parallel processing benefits.
Solution Approach 2:
The patent introduces a hierarchical processing structure with multiple dimensions: temporal dimension (parallel execution across cores), spatial dimension (division of macroblock groups), and functional dimension (separation of decoding stages). This multi-dimensional approach optimizes load distribution and minimizes computational overhead.
2Productivity
If more processor cores are added for real-time decompression, then processing capability is improved, but load balancing difficulty increases
Solution Approach 1:
The patent segments the workload into equal-sized macroblock groups distributed across N processor cores. Each core processes an identical number of macroblocks, ensuring balanced load distribution. The segmentation strategy divides frames into slices and further into macroblock groups, creating uniform work units that simplify load balancing.
Solution Approach 2:
The patent dynamically adjusts processing parameters such as macroblock group size and core assignment based on the number of available cores and video complexity. By changing these parameters, the system optimizes load distribution across different core configurations without requiring complex load balancing algorithms.
3Reliability
If extensive data exchange is performed between processor cores, then decompression completeness is improved, but latency increases
Solution Approach 1:
The patent performs preliminary actions by pre-allocating macroblock groups to specific cores before processing begins. Reference data and decoding parameters are pre-loaded into local caches of each core, reducing the need for inter-core data exchange during actual decompression. This preliminary preparation minimizes latency while ensuring complete decompression.
Solution Approach 2:
The patent introduces intermediary structures such as shared memory buffers and cache coherence protocols that mediate data exchange between cores. These intermediaries optimize data transfer by batching operations and reducing direct core-to-core communication, thereby maintaining decompression completeness while reducing latency.
Data Source
AI summary
Apparatus for and a method of decompression of block coded video data in a multi-core processor. The processor cores decode respective coded groups of blocks of video data independently, in parallel and deblock respective decoded groups of blocks of video data independently and in parallel with the decode operations and with other deblock operations.


