引言
随着互联网的飞速发展,消费类电子、电视电影广播、计算机技术日益紧密地结合起来。人们不再满足于只用简单的文字、声音进行交流,逐渐趋向于用图、文、声、动画、视频等多种媒体进行综合交流。
MPEG-4作为新一代多媒体标准提供了一整套能同时满足制作者、服务商和终端用户的编解码技术。它为数字化的多媒体数据的通信、访问和操作提供了新的方法,并且提供了一个灵活的框架和一套开发工具来支持新的和传统的性能。其基于对象的数据压缩、灵活的码流伸缩性以及可交互性的优点使其可以适应多媒体数据压缩技术的发展趋势。
基于MPEG4标准的解决方案纷纷推出,有的为硬件方案,有的为软件方案。前者设计一个MPEG-4专用编解码芯片,后者方式是基于通用视频DSP芯片的软件实现. 采用专用芯片的优点是系统实时性好,压缩率高,且图像质量也好。缺点是一旦编解码方案固定,就较难对其进行升级与更新,且此种系统成本造价高,不易在市场上推广。后一种方式利用DSP的高速信号处理功能,使用软件实现的算法在其上运行时可以大大缩短执行时间,获得较高的压缩率,同时该方案易升级,算法易更新。
近几年随着通用DSP芯片的价格下降,使得以DSP芯片为核心加上适当的外围部件形成的MPEG-4音视频编解码系统将成为主流。本系统就是基于TI 公司的DSP平台上对MPEG-4编解码算法的实现。
1.方案设计
在开发MPEG-4编解码系统时,总的来说其难点在于对MPEG-4视频编解码算法的实现上。这是由于视频图像数据量巨大,对其处理和压缩需占用较多的芯片资源和处理时间,在单独的一片DSP芯片很难实现。举例来说,在视频编码中通常的实现方式是由单片的DSP芯片加上一定的片外扩展资源(如EPROM、SDRAM等)来实现编码算法,但是在实际算法的执行中,对外接器件中的数据读写的速度远小于对DSP芯片内部资源的读写速度,这使得整个系统的运行速度就比较慢。如果要求一片DSP芯片同时实现编解码算法则开发难度就更大了。实际的开发经验也证明在单片DSP上实现视频的编解码算法较为困难,开发周期较长,其图像效果也不佳。而在实际应用中,用户对图像显示效果的要求越来越高,这就对图像的显示速度和清晰度提出了更高的要求。
本方案中是采用多DSP来实现MPEG-4的编解码算法,多DSP的好处不言而喻,多DSP的协同处理可以极大得提高信号处理的速度。虽然多DSP带来成本上提升,但是主流通用DSP芯片TMS320C5000、TMS320C6000系列芯片价格的逐年下降,使得多DSP的应用已经步入实用化阶段。
2.系统实现
具体的系统实现方案是采用三片DSP作为音视频的协处理器:一片TMS320C5402(以下简称为TMS5402)实现音频编解码,一片TMS320C6204(以下简称为TMS6204)实现视频编码,另一片TMS6204实现视频的解码。为了实现对系统的控制,同时扩展其网络功能,另外采用了一片ATMEL公司的AT75C220芯片,通过在其上嵌入式操作系统,来实现对DSP芯片及其外围电路的控制。具体的系统硬件结构图如下图1所示:
系统上电后,通过自引导程序进行初始化,AT75C220自动从Flash Disk中植入嵌入式操作系统,各DSP芯片也分别自引导入相应的编解码算法。同时此操作系统还向用户提供一个友好的操作界面,用户通过此界面来控制DSP芯片的编解码过程、系统与网络的连接,以及常用的功能(关机、播放音视频、上网等)。
2.1 音视频编码
视频编码模块框图如下:
视频编码工作过程:视频图像经过采集存储于帧缓存器中,采集完成后FPGA(可编程逻辑器件)向TMS6204发出接收信号。TMS6204接收到“图像已采集好”的信号后,就通过DMA方式将图像写至片外存储器SDRAM中,并开始运行MPEG-4视频编码算法对片外存储器中的图像进行编码。编码输出信号通过HPI(Host Port Interface)口送至AT75C220,AT75C220将视频信号与音频进行同步打包后经由网络模块发往接收主机处。
音频编解码模块框图如下:
音频编码的过程与视频类似,不同的是由TMS5402来执行编码算法,这主要是考虑到系统的性价比。由于音频编码的运算量要比视频编码小得多,这使得TMS5402的芯片资源足够完成音频编码,并且其价格要比TMS6204低的多。
音频编码工作过程:信号通过MIC(Microphone)送到A/D转换器中,A/D转换器将收到的模拟信号转换成为离散信号,未压缩的离散信号被送到DSP后,DSP将其存储起来,每收够一帧处理一次,即调用音频编码算法一次,编码后得到的离散信号被DSP发送至AT75C220,由其打包经由网络发至主机处。
音频解码和音频编码都在同一块DSP芯片TMS5402中完成,这是因为音频的编解码过程没有视频那么复杂,占用的资源相对较少。以TMS5402的芯片资源是可以同时完成音频的编解码算法的。
2.2 音视频解码
音频解码工作过程:TMS5402接收到MPEG-4音频已编码信号后就开始进行解码算法,每解码出一帧音频信号,就直接将其进行D/A转换发送到耳机或是音箱中播放。
视频解码模块框图如下:
视频解码工作过程:AT75C220将接收到的MPEG-4视频编码信号直接送往TMS6204。当其运行解码算法得到第一帧的图像数据后,就将其拷贝到片外的SDRAM中,同时向FPGA发送一个初始化信号,然后FPGA调用中断通过DMA方式将SDRAM中的图像转移到FIFO里,经D/A转换合成为RGB信号后送往显示器显示出图像。
2.系统特点
根据仿真的结果,在352*240(NTSC制式),视频输出35帧/秒以上,码率可控制在100kbps~1000kbps之间,完全可以满足实际需要。近年来,随着FPGA技术的日益成熟,利用FPGA的特殊结构和特性,很多复杂数字算法开始使用PPCA完成,使它可以更加高速和高效地完成这些算法,但相应的是其开发难度变大,周期变长。由于本系统是基于DSP来实现的,与上述方式相比具有设计周期短,成本低的特点。同时具有很强的通用性和扩展性,可根据实际需求形成丰富的产品系列。
3.结束语
MPEG4的应用前景将是非常广阔的。 它的出现将对以下各方面产生较大的推动作用:实时通信、数字电视、广播电视、实时多媒体监控、移动多媒体通信、内容存储和检索多媒体系统、基于Internet/Intranet的数字码流视频、基于面部表情模拟的虚拟会议、DVD上的交互多媒体应用、基于计算机网络的可视化合作实验室场景应用等。