Parallel Video Encoding with Estimated Quantization Parameters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding technologies face inefficiencies in parallel processing of video frames across multiple video processing engines, particularly in maintaining compliance with standards like HEVC while achieving concurrent encoding of Coding Tree Units (CTUs) without relying on raster-order encoding.
Innovation Solution
The system employs multiple video processing engines to estimate and set Quantization Parameters (QPs) for rows of CTUs, allowing concurrent encoding by designating specific CTUs as non-skip blocks to facilitate parallel processing and maintain format compliance, such as HEVC standards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple video processing engines encode different rows of CTUs concurrently, then encoding productivity is improved, but compliance with HEVC standards becomes difficult to maintain
Solution Approach 1:
The video frame is divided into multiple rows of CTUs, with each row assigned to a different video processing engine for concurrent encoding. This segmentation enables parallel processing while maintaining standard compliance through careful management of inter-row dependencies.
Solution Approach 2:
Estimated QP values for subsequent rows are determined in advance before actual encoding begins. This preliminary action allows processing engines to be pre-configured with necessary parameters, enabling concurrent encoding without violating HEVC standards that require QP information to be available before encoding.
2Reliability
If QP estimation is performed for each row sequentially, then standard compliance is maintained, but processing time increases
Solution Approach 1:
QP estimation for multiple rows is performed in advance of actual encoding, allowing subsequent concurrent encoding to proceed without sequential delays. The estimated QP values are stored and made available to processing engines before encoding begins.
Solution Approach 2:
Estimated QP values from previously processed rows are copied and used as running QP values for subsequent rows. This copying mechanism eliminates the need for sequential QP estimation while maintaining the statistical accuracy required by HEVC standards.
3Reliability
If raster-order encoding is used, then standard compliance is ensured, but parallel processing efficiency is reduced
Solution Approach 1:
The frame is segmented into multiple CTU rows that can be processed in parallel by different engines. This segmentation breaks the sequential raster-order constraint while maintaining compliance through proper handling of QP dependencies between rows.
Solution Approach 2:
Instead of processing CTUs in traditional raster-order (left-to-right, top-to-bottom), the system processes entire rows concurrently in a dimension parallel to the row index. This dimensional change enables full utilization of multiple processing cores while maintaining standard compliance.
Data Source
AI summary
A system can include a video processing engine to determine an estimated Quantization Parameter (QP) for a row of Coding Tree Units (CTUs) in a frame of a video. The processing engine can encode the row of CTUs in the frame of the video. A CTU in the row of CTUs can be encoded with a QP equal to the estimated QP. The system includes another video processing engine to determine an estimated QP for another row of CTUs of the frame of the video. The other processing engine can set a running QP to the estimated QP for the row of CTUs prior to the given video processor encoding a last CTU in the given row of CTUs. The other processing engine can further encode the other row of CTUs. CTUs encoded by the video processing engine and the other video processing engine can be stored in memory.


