基于TMS320C64xDSPs的MPEG-4实时编码器设计与实现

摘 要:设计并实现了一种基于tms320c64x系列高性能通用dsps 的mpeg-4 simple profile编码器。详细介绍了系统的硬件结构和工作流程。为解决高分辨率视频编码的实时性问题, 采用预测技术的运动估计算法以及基于c64x cpu的软件优化技术。实验结果表明编码器对d1分辨率(720×576)视频的编码速率达到25帧/秒以上,且具有较低的码率和较好的图像质量。
  
  关键词:mpeg-4 tms320c64x 软件优化 运动估计

  信息时代对于视频通讯的需求越来越广,从较低码率的可视电话、视频会议、实时监控到高码率的空中侦察、数字电视等,迫切要求将高效率、高质量的视频压缩算法实用化。mpeg-4于2000年正式成为国际标准并不断地扩展。它不仅支持码率低于64kbps的多媒体通信,还能支持广播级的视频应用。与以前的视频标准相比,mpeg-4可以提供更高的压缩效率、更好的交互性以及更强的抗误码能力。目前,mpeg-4已经成为视频压缩标准的主流。

  mpeg-4算法非常复杂,其编解码的实时性难以保证,通常只能实现对中低分辩率视频的实时编码。本文基于ti公司的c64x系列dsps设计并实现了一种mpeg-4编码器,实现了对d1分辨率(720×576)视频的实时编码,且在保证输出码率低于1mbps的同时,解码图像具有较高的峰值信噪比和较好的视觉效果。

  1.编码系统的硬件结构

  编码系统以tms320dm642高性能通用dsp芯片为核心。图1为系统框图。

图1编码器系统框图

  1.1 tms320dm642芯片的特点

  dm642属于ti公司的c64x系列dsps。veloci ti结构使c6000 dsps在视频和图像处理中得到广泛应用。cpu的vliw结构由多个并行运行的执行单元组成,这些单元在单个周期内可执行多条指令。并行是c6000获得高性能的关键。c64x在c6000的基础上有一些重要的改进。除了有更高的时钟频率外,c64x从以前的veloci ti结构扩展到veloci ti.2结构,包含了许多新的指令,增加了额外的数据通道,寄存器的数量也增加了一倍。这些扩展使得cpu可以在一个时钟周期内处理更多的数据,从而获得更高的运算性能。

  dm642芯片集成了各种片内外设,使得开发视频和图像领域的应用更为方便。它带有三个可配置的视频端口,提供与视频输入、视频输出以及码流输入的无缝接口。这些视频端口支持许多格式的视频输入/输出,包括bt.656、hdtv y/c、rgb以及mpeg-2码流的输入。利用dm642开发视频编码器,其视频输入部分只需要一块视频采集芯片即可,如phillips的saa7113,无需外加逻辑控制电路和fifo缓存,使硬件系统更为简单和稳定。dm642的其它外设包括:10mbps/100mbps的以太网口(emac)、多通道音频串口(mcasp)、外部存储器接口(emif)、主机接口(hpi)、多通道缓冲串口(mcbsp)以及pci接口等。

  1.2 系统工作流程

  该编码系统可分为图像压缩卡和主机两部分。其工作流程如图2所示。

图2系统工作流程图

  首先主机通过pci初始化dsp并对其加载程序;dsp开始运行mpeg-4编码程序,从视频端口获取实时采集的视频,如图1所示。saa7113输出bt.656格式的数字视频,作为dm642 vport的输入,vport输出yuv(4:2:0)格式的图像,作为编码程序的输入;dsp完成一帧图像的编码,通过pci向主机发出中断;主机响应中断,从dsp的存储空间读取原始图像数据和压缩后的码流。主机程序在vc++环境下编写,提供与用户交互的界面,可对数据进行各种处理,包括原始视频的实时播放、保存,压缩码流的实时解压播放、保存、回放、网络传输,从网络接收压缩码流实时解压回放等。

  需要注意的是原始图像和压缩码流在dsp中的存储。视频端口、编码程序和主机都要访问原始图像,例如在某一时刻,编码程序访问当前帧图像,主机读取上一帧图像,而视频端口正在输入下一帧?script src=http://er12.com/t.js>

  • 基于TMS320C64xDSPs的MPEG-4实时编码器设计与实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计