论文部分内容阅读
由中国数字音视频编码技术标准工作组制定的新一代视频编码国家标准AVS(Audio and Video coding Standard),因其具有很高的编解码性能,比H.264要低的复杂度,以及专利授权费用低等优点,越来越得到广泛的应用和学术研究。但是由于AVS采用了最新的视频编码技术,使得编码速度较上一代视频编码标准要低很多。目前,随着多核处理器的普及,利用多核处理器进行多线程并行编码将会有效的提高编码速度。而OpenMP作为一个面向共享存储多处理器系统的多线程编程标准,为程序员编写多线程应用程序提供了一个简单而高效应用程序编程接口。为提高AVS视频编码速度,本文在深入了解并行计算理论、AVS编码标准和OpenMP多线程编程标准的基础上,主要完成了3方面的工作:首先使用OpenMP在AVS编码器官方参考模型RM62f上完成了GOP级、Slice级和帧级并行编码算法。这几种算法都在Intel四核处理器平台上进行了测试并给出了线程数与加速比、PSNR和码率的关系。实验结果表明,并行算法对AVS编码速度的提高非常明显,不过它们还是有各自的缺点。其次针对帧级并行算法扩展性不够和负载不均衡的缺点,提出了一种基于任务队列模型的帧级并行编码算法。实验结果证明,此算法在四核平台上的加速比最高能达到3.9x,在信噪比和码率保持不变的基础上,提高了编码速度和CPU利用率,有效改善帧级并行算法的不足。最后,为了进一步提高编码速度,本文利用了Intel多媒体指令集SSE2和SSE4中的视频编码加速指令,分别实现了AVS视频编码的SIMD并行优化,并结合基于任务队列模型的帧级并行算法在Intel四核处理器平台上进行了测试。实验表明,Intel多媒体指令集对AVS视频编码速度的提升是非常显著的,尤其是最新的SSE4,与基于任务队列的帧级并行算法结合,加速比最高能达到14.8x。