基于多DSP的MPEG-4系统的设计
引言
随着互联网的飞速发展,消费类电子、电视电影广播、计算机技术日益紧密地结合起来。人们不再满足于只用简单的文字、声音进行交流,逐渐趋向于用图、文、声、动画、视频等多种媒体进行综合交流。
MPEG-4|0">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,由其打包经由网络发至主机处。
音频解码和音频编码都在同一
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)