基于TMS320DM642芯片的MPEG4SVP视频编码的实现 下载本文

内容发布更新时间 : 2024/11/17 19:35:38星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于TMS320DM642芯片的MPEG4SVP视频编码的实现

作者:高韬

来源:《科技创新导报》2011年第03期

摘 要:本文在TI公司的TMS320DM642芯片上实现了MPEG4SVP算法,并针对DSP硬件系统对算法进行了优化,实现了系统的实时性,可应用于实时视频监控以及远程视频图像传输等多方面。

关键词:视频编码MPEG4SVPDSP

中图分类号:TN911 文献标识码:A 文章编号:1674-098X(2011)01(c)-0072-02 1 引言

MPEG4标准为ISO于1994年开始制定,最初是为了满足视频会议等的需要,后来经过不断的发展成为一个可以适应于各种多媒体应用,提供各种编码比特率的标准。与传统的基于像素的视频编码标准不同,MPEG4采用基于对象的视频编码方法,它不仅可以实现对视频图像的高效压缩,还可以提供基于内容的交互功能。为了支持对多媒体内容的访问和操作,MPEG4标准引入了A/VO的概念,即音/视频对象。在引入了A/VO对象概念的基础上,MPEG4能够对A/VO对象进行各种操作,增强了对象和用户之间的交互性。MPEG4采用了基于对象的视频编码算法,把视频分割成各种不同的对象实体,分别进行处理,针对不同的对象进行比特流控制,并能实现多种基于对象的交互功能,有广泛的应用前景[1]。其中MPEG4SVP是目前MPEG4各种档中应用最为广泛的一种。

我们在TMS320DM642芯片上实现了MPEG4SVP的实时压缩回放,可用于视频监控以及网络视频传输等多方面应用。

龙源期刊网 http://www.qikan.com.cn

2 TMS320DM642芯片特性介绍

TMS320DM642是TI公司最新推出的一款针对多媒体处理领域的DSP芯片,芯片内核采用先进的超长指令字(VLIW)结构,每个时钟周期最高可提供8条32位指令,具有高度的并行性和快速的运行能力。芯片的时钟频率为600MHz,其最大处理能力可达到4800×106条指令/s。由于具有6个并行的算术逻辑单元与两个并行的硬件乘法器,并利用先进的超长指令字结构,DM642芯片可以完成MPEG4中的DCT变换,运动估计与运动补偿等复杂运算。为了提高处理器的存取速度,DM642芯片还提供了一些特别适用于视频处理的指令。同时TMS320DM642芯片在C64系列的基础上增加了很多外围设备和接口,如三个可以配置的视频端口,一个音频接口,一个以太网接口以及PCI接口等。

龙源期刊网 http://www.qikan.com.cn

3 MPEG4SVP编码原理及系统设计 3.1 视频编码原理与框图

MPEG4SVP的视频编码就是针对运动信息、纹理信息和形状信息的编码,其编码过程为:首先从原始视频流中分割出VO;然后对VO进行编码,对不同VO的运动信息、纹理信息和形状信息分配不同的码字;最后将各个VO的码流复合成符合MPEG4标准的比特流。图1为视频编码的原理框图。 3.2 硬件系统设计

硬件系统设计可分为三部分,第一部分为图像数据采集模块,它采集并将原始模拟视频流转化为数字视频,第二部分为MPEG4SVP视频编码模块,第三部分为输出编码后的码流以及重建图像回放。硬件系统设计结构图如图1所示。

摄像头采集的视频为PAL制,通过A/D转换芯片SAA7115转化成数字信号,得到的数字图像大小为720*576个像素,4∶2∶0格式的YCbCr信号。经过DM642芯片编码处理后,重建图像则通过D/A转换芯片SAA7105转化成模拟信号输出到显示器,同时压缩形成后的码流可通过Ethernet接口在网络传输。

这里FPGA芯片完成屏幕显示功能,在默认模式下,DM642视频口的数据可直接输出到视频编码芯片,在需要屏幕显示功能时,FPGA把内部的FIFO中的数据和视频口输出的数据混合,对FPGA内部FIFO的访问可通过对DM642的EMIF的CE3地址空间的同步模式的访问实现。 在DM642上电或复位时,如果选择是从Flash中引导程序,DSP会从Flash的起始地址拷贝1K bytes的代码到内部的RAM地址为0处,并开始执行。我们需要用这1K的代码把自己的程序加载并指向起始点,开始执行。

4 MPEG4SVP视频编码的软件实现

MPEG4SVP的软件设计采用C语言与汇编语言相结合的方式。MPEG4SVP所采用的视频对象VO为矩形,其容错性与H263大致相同。 4.1 程序设计

程序设计主要采用了TI公司推荐使用的TMS320DM642 Video Port Mini-Driver即视频端口微型驱动函数。视频设备硬件驱动一般分为上下两层,底层为IOM驱动,上层为FVID模式。FVID实际上是DSP/BIOS GIO驱动的简单封装。FVID为视频图像的输入和输出提供了标准的