基于TMS320DM6446的X264编码器的移植和优化
2012-12-30苏寒松
郭 昕,苏寒松
(天津大学电子信息工程学院,天津300072)
H.264是ITU-T的视频编码专家组(VCEG)和ISO/IEC的活动图像专家组(MPEG)联合制定的视频压缩标准,引入了更多的新的高效的编码技术,在相同图像质量下,编码效率提高了50%,但同时带来了巨大的编码运算复杂度,影响了实时的要求。DSP的运行速度已经可以满足H.264对图像进行实时处理的要求。本文采用合众达公司基于TI达芬奇(DaVinci)DSP TMS320DM6446视频处理模板Seed-DVS6446[1]来进行移植工作,由于 H.264 直接移植到DSP平台上编码效率很低,需对其进行优化才能达到实时编码的要求。
1 编码硬件平台简介
德州仪器(TI)推出的TMS320DM6446采用Da-Vinci技术。TMS320DM6446采用双核架构集成了一个时钟频率为594 MHz的C64x+DSP内核和一个297 MHz的ARM926EJ-S内核。TMS320DM6446是定点DSP,便于进行视频处理的任务。由于其内部有一个ARM内核采用精简指令集,所以可以对DSP进行精确的控制,实现DSP的高速处理。并且集成了丰富的外设接口,如DDR2存储器接口、视频处理前端模块VPFE和视频显示设备连接的视频处理后端模块VPBE等,方便进行视频处理[2]。
其中,TMS320C64x+DSP是 TMS320C6000系列里最高性能的定点DSP平台,基于第二代高性能超长指令字结构,使其更适合数字多媒体的应用TMS320C64x+DSP处理器集成了64个32 bit通用寄存器、8个高性能独立功能单元—2个乘法器和6个算术逻辑单元。TMS320DM6446采用二级Cache结构,L1程序Cache为256 kbit直接映射Cache、L1数据Cache为640 kbit的双向配置Cache、L2存储/Cache包含一个512 kbit的存储器空间由程序和数据共享[3]。
2 编码器的算法流程
H264的实现版本主要有3种:JM、X264、T264,相比较而言,作为官方测试源码,JM更偏重于学术研究,编码复杂度高,不宜实用;T264是国内组织自行编写的代码,速度远高于JM,但目前还不甚完善;而X264结合了JM和T264的各自优点,所以本文选用 X264 作为算法原型[4]。……
