Frame-parallel multithreading in libaom AV1 encoder
JOURNAL OF ELECTRONIC IMAGING(2022)
摘要
The increase in video streaming in recent years has led to the development of advanced video encoders to save bandwidth while meeting practical encoding complexity requirements. Video encoders, therefore, need to provide faster turnaround time through toolset optimizations and/or multithreading (MT). The multithread performance of a video encoder depends on the levels of parallel processing available in the encoder. For the libaom AV1 encoder, the default parallelism is limited to row/tile-based processing within a frame, resulting in low MT scaling even when configured with a high number of threads. We present our proposed frame-parallel MT approach for improving the existing libaom AV1 encoder's performance. For encoding multiple frames in parallel, it is critical to consider their temporal encoding dependencies. To facilitate the parallel encoding of frames, some frames are prevented from acting as references by either marking them nonreference frames or temporarily removing them from the active reference list. The cross-frame dependencies of various encoding parameters are resolved by disabling or delaying their updates across the frames in a parallel encode set. The proposed method offers an average 31% encode-time reduction at the cost of a reasonable YUV-PSNR BD-rate loss of 1.17% for encoding ultra-high-definition sequences using single tile encoding for cpu-used = 2 with 32 threads. The corresponding MT scaling ratio also improved to 7.1x from 4.9x of the existing libaom implementation. (C) 2022 SPIE and IS&T
更多查看译文
关键词
video compression, parallel processing, multithreading, open-source video codecs, AV1
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要