论文部分内容阅读
H.264/AVC编码器的编码性能取决于预测模式的选择。在对一个宏块进行编码时,为实现编码后码率达到最小,编译器在进行模式选择时,会分别对各种块的类型进行一次运动估计,从中再选择编码代价最小的编码模式。H.264/AVC采用了多个编码模式,编码模式的确定过程消耗很大一部分的整体计算。因为模式选择造成沉重的计算负荷,许多H.264/AVC的快速模式决策算法被提出。 针对H.264编码器为确定每种模式的编码成本,需要多次进行运动估计和熵编码的运算的特点,本文做了如下几个工作:(1)提出了一种新的基于线程级别的并化算法用于快速RDO模式决策,即SLK算法,可以有效地解决H.264编码器帧内模式决策和帧间模式决策数据之间的依赖性,在保证没有太大的峰值信噪比PSNR值损失和比特率增加的前提下减少总编码时间;(2)参考X264编码器的运动估计过程,分析运动估计过程的8×4和4×8、16×8和8×16这两组模式之间的数据相关性很小,可以通过并行化的方法同时执行,进一步实现预测模式过程的并行化;(3)最后使用OpenMP技术编程实现预测模式过程并行(包括运动估计并行)并集成到H.264参考编译器中;(4)选取了8种不同纹理复杂度、运动激烈程度的视频进行实验,验证本文提出的基于多核处理器的快速并行模式决策算法的优越性和可行性。 实验结果说明,使用OpenMP使得模式决策部分与原JM19.0程序相比,使用 OpenMP并行化后的程序编码后的视频序列的图像质量有所下降,但是最多降低只有0.5dB,平均不足0.275 dB,对图像客观质量的影响是不大的,在许多实际应用中可以忽略;对于编码后视频比特率,程序码率有所下降,平均降低了2.125%,在编码速度时间平均提升了24.36秒,平均增速27.73%,甚至接近30%的提高。同时,使用OpenMP技术实现并行之后的程序在两个CPU上的负载比较均匀,更好的利用了两个内核的硬件资源。编码后的视频图像和编码前的相比,几乎没什么区别,虽然本算法在颜色的过渡上存在明显的缺陷,但是对整个视频图像的质量不会造成明显的影响。