Parallel Video Encoding Without Boundary Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvevideo qualityVSAvoidencoding speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveencoding speedVSAvoidvideo quality
Core Design Contradiction:
ProductivityVSManufacturing precision

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.

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If synchronized processing is implemented across cores for filtering, then video quality is maintained, but computational complexity and processing time increase

Engineering Contradiction:
Improvevideo qualityVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12184843B2Parallel encoding of video frames without filtering dependency
Publication Date: 2024.12.31 NVIDIA CORP
  • US12184843B2 patent drawing
  • US12184843B2 patent drawing
  • US12184843B2 patent drawing

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.