论文部分内容阅读
H.264/AVC是ITU-T和ISO/IEC联合推出的最新视频压缩标准,采用了近几年视频压缩方面的先进技术,以较高的编码效率和网络友好性成为新一代国际视频压缩标准。大量的试验表明H.264编码器的高效率是以更高的运算复杂度为代价的。实际应用中,恰当的使用H.264编码算法可以用低计算复杂度的算法来达到与高复杂度算法相近的编码效果。而在实际的视频编码器的开发中,需要对运算复杂度和编码效果之间进行兼顾考虑。本课题是通过参考当前PC平台上最成功的开源H.264编码器X264,在Equator公司以BSP-16多媒体DSP处理器为核心的Babelfish II多媒体开发平台上进行H.264的视频编码器的设计。为了能够降低编码器的运算复杂度,针对编码器中不同作用和实现方法的部分,需要采用不同的优化方式。对基本模块可以使用多媒体指令来优化,对于压缩算法可以通过研究快速算法来替代。本文基于以上思想进行优化,具体包括下述工作。由于X264中帧内最佳预测模式的选择使用的是全搜索的算法,这使得算法复杂度相当高。针对这种情况,本文提出了针对16×16亮度块和4×4亮度块的快速帧内预测模式选择算法。其中针对16×16亮度块的快速选择算法是基于宏块图像纹理属性而进行快速决策的,而针对4×4亮度块的快速算法是根据相邻预测方向代价相近的原理来进行快速选择的。为了更进一步提升编码器的性能以实现编码器的实时编码,本文采用BSP-16处理器的媒体指令集来对编码器进行优化。根据对编码器各模块的分析,使用FIRtree媒体指令集针对诸如运动搜索、运动补偿、整数变换、量化以及半象素插值等模块进行了优化,更进一步提高了编码器的执行速度。实验结果表明,通过对H.264编码器中运算密集模块进行算法和指令集的优化后,编码器的执行速度获得了大幅的提高。最终在Babelfish II开发平台上实现了CIF格式视频的实时编码。