摘要:X.264编码器注重实效性,在不明显降低编码性能的前提下,降低编码的计算复杂度,摒弃了JM中一些耗时相对较大但对性能的提升影响很小的模块,因此嵌入式系统中常选用X.264编码器。移植到DSP平台的X.264编码器,编码效率不佳,平均只有0.7 f/s。为了能够在DSP平台上进行高效率的鳊码,采用了代码优化以及DM642优化2种优化方式来优化移植到DM642平台的X.264编码器。对优化过后的X.264编码器在DM642平台上进行了实验。实验结果表明,优化过后的X.264编码器对CIF格式视频序列的编码时间大幅度的降低。
关键词:X.264;DM642;软件流水;函数合并;EDMA
引言
H.264标准的全称为“H.264/MPEG-4 part 10”,是由ITU-T和ISO/IEC共同成立的联合视频组(Joint Video Team,JVT)制定的新标准。H.264依然采用预测结合变换的混合编码方案,为了在相同的编码框架下得到更高的视频压缩编码性能和更广泛的适用性,H.264标准引入了许多新技术,如1/4,1/8像素精度的运动估计、多参考帧的帧间预测、帧内预测、环路滤波和自适应算术编码等。H.264视频编码标准在编码质量和压缩比上比原有的视频编码标准都有了明显的提高。
在相同的视觉感知质量上,编码效率比之前的编码方式提高了50%。H.264标准的编码性能超越了以往所有的视频编码标准,具有很好的应用前景,大量的应用于视频压缩和视频监控。
目前,H.264编解码标准的研究主要分为算法研究和硬件实现两大类,硬件实现的方案主要分为3种:
(1)基于PC平台的方案。此方案为纯软件实现编解码,利用MMX和SSE/SSE2等多媒体指令集来优化程序,具有开发成本低和周期短等优点。PC机的CPU体系结构并不适合处理数字信号,故CPU的有效利用率比较低。
(2)基于ASIC芯片的纯硬件方案。此方案将视频编解码算法固化成硬件,具有集成度高和开发周期短等优点,但是专用型比较强,产品不易升级。目前市场上已经出现了H.264的编解码芯片,如Fujitsu的MB86H51、HiSILcon的GOALTMHi3510和JVC公司的JCY0237 LSI等。
(3)基于DSP的软硬件结合方案。此方案利用DSP芯片和其它外围芯片来构成处理系统,具有开发灵活性高、处理能力强、开发周期低、功耗低和易升级等优点。随着DSP性价比的不断提高,该方案已经成为目前H.264编码器硬件实现的理想方案。
H.264编解码标准具有压缩比高、适应性广、容错能力强和图像恢复质量高等特点,在实时系统中具有很好的应用前景。TMS320DM642是TI公司推出的一款针对视频和图像处理领域应用的数字多媒体处理芯片,具有处理能力强和集成度高等特点,是目前实现H.264视频编码器的理想芯片之一。很多国内外公司都在开发或已经开发出了基于DM642开发视频监控系统。
1 X.264编码器移植
X.264是由法国巴黎中心学校的中心研究所于2004年6月发起,由许多视频爱好者共同完成的项目,它注重实效性,在不明显降低编码性能的前提下,努力降低编码的计算复杂度,摒弃了JM中一些耗时相对较大但对性能的提升影响很小的模块,如多参考帧、帧间预测中不必要的块模式、CABAC等。X.264编码器在程序结构上,利用了MMX/SSE/SSE2等基于X86构架的多媒体硬件加速指令。需要将相关的X86指令屏蔽,对部分函数进行精简,使其结构简单易于在DSP上执行。简单移植过后的X.264编码器,在DM642平台上的编码效率极低,表1为移植过后的X.264编码器在DM642平台上编码结果。
由结果可以看出,移植完成后的X.264在DM642平台上的编码效率非常低,只能达到平均0.6 f/s的编码速率,需要进一步针对X.264编码器和DM642的特性来优化以提高编码效率。