论文部分内容阅读
随着网络和数字视频的发展,实时视频编码的需求越来越多。人们对视频的分辨率和质量的要求也越来越高,高清视频的应用越来越多。然而高清实时编码庞大的计算量让传统的x86处理器不堪重负。在物理条件的约束下,如今提高单个芯片的频率受到了限制,并行计算成为了提高计算能力,延续摩尔定律的解决之道。然而并行计算的处理器,例如在本文中所研究的CELL异构多核并行处理器,对传统的软件设计和编程模式提出了巨大的挑战,软件和算法设计者必须适应并行思考带来的变革。本文主要研究并行计算对视频编码带来的影响,并以具有出色并行计算能力的CELL多核处理器为例,研究如何通过并行计算实现H.264高清实时编码。最后本文提出一种新的DCT域失真模型用于减少宏块级视频质量抖动,改进编码器的画质。本文首先介绍了CELL的架构和并行计算能力,并总结了基于CELL的并行程序设计思想。在介绍了H.264视频编码标准的重要算法后,本文给出标清实时编码在单个向量处理核心Synergistic Processor Elements(SPE)上的实现和优化方案,并以占最多运算量的运动估计为例,研究了并行计算对传统快速运动估计算法的影响,提出了一个适合于CELL并行计算的快速运动估计算法和模式选择算法。最后在单个SPE上实现了720x576标清编码,通过程序和算法并行优化得到了19倍的性能提高,实现了单核标清实时编码。在完成了单核标清实时编码以后,本文继续讨论多核高清并行编码实现方法。首先对H.264的GOP和帧级,Slice和宏块层次等数据级的可并行性进行了深入的分析。本文详细对比了三种多核并行算法,并对各种并行算法进行了延时和可扩展性分析。最后使用动态任务分配方法进一步提高并行效率,使用8个CELL协处理核实现了1920x1088高清实时编码。通过对宏块的PSNR统计分析发现即使对于一个固定的量化参数,一帧内不同宏块的PSNR存在很大的波动。以一帧内每个宏块的PSNR作为样本点,样本的标准差达到2.05dB左右。为了改进视频质量的稳定性减少宏块之间的画质抖动,本文首先提出一个新的DCT域失真模型,并使用该模型对每个宏块的PSNR进行估计,然后通过控制宏块的量化参数,使标准差降低了0.57dB左右。该算法能够改善编码器的图像质量,减少宏块级画质抖动。