Parallel Video Encoding Without Boundary Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern video encoding processes face inefficiencies due to increased computational complexity and filtering dependencies in multi-core processing, leading to performance drops and decreased encoding speed.
Innovation Solution
The solution involves tracking boundary regions and suppressing filtering along boundaries of tiles and blocks assigned to different cores, enabling filtering only within tiles and blocks processed by the same core, thereby reducing inter-core dependencies and optimizing encoding operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If filtering is applied across tile and block boundaries in multi-core processing, then video quality is improved, but encoding speed decreases due to synchronized processing requirements
Solution Approach 1:
The video frame is divided into multiple tiles and blocks that are independently processed by different cores. By suppressing filtering at boundaries between tiles/blocks assigned to different cores, each core can process its assigned regions independently without waiting for synchronization, thereby maintaining video quality within regions while dramatically improving encoding speed.
2Productivity
If filtering is suppressed along boundaries to enable parallel processing, then encoding speed is improved, but video quality may deteriorate due to filtering artifacts at boundaries
Solution Approach 1:
Filtering is applied selectively: full filtering is applied within tiles and blocks assigned to the same core, while filtering is suppressed only at boundaries between regions assigned to different cores. This local differentiation maintains video quality in most regions while enabling parallel processing for speed improvement.
3Manufacturing precision
If synchronized processing is implemented across cores for filtering, then video quality is maintained, but computational complexity and processing time increase
Solution Approach 1:
The filtering operation at inter-core boundaries is extracted and suppressed, allowing each core to complete its processing independently without waiting for synchronization with other cores. This removes the time-consuming synchronized processing requirement while maintaining filtering quality within each core's assigned region.
Data Source
AI summary
Disclosed are techniques for compressing data of an image using multiple processing cores. The techniques include obtaining, using a first (second, etc.) processing core, a first (second, etc.) plurality of reconstructed blocks approximating source pixels of a first (second, etc.) portion of an image and filtering, using the first processing core, the first plurality of reconstructed blocks. The filtering includes enabling application of one or more filters to a first plurality of regions that include pixels of the first plurality of reconstructed blocks but not pixels of the second plurality of reconstructed blocks. The filtering further includes disabling application of the one or more filters to a second plurality of regions that include pixels of the first plurality of reconstructed blocks and pixels of the second plurality of reconstructed blocks.


