随着通信和网络技术的飞速发展,多媒体及其视频流应用越来越广泛控制工程网版权所有,同时用户也对视频传输速率和图像质量有更高的要求www.cechina.cn,MPEG-4标准适时地解决了多媒体压缩存储和传输的问题。但是目前多数播放器都是在PC机上运行CONTROL ENGINEERING China版权所有,应用范围受到很大限制。研究和开发一种嵌入式的MPEG-4解码系统终端具有重要的现实意义和实用价值。
MPEG-4标准是由国际运动图像专家组于2000年10月公布的一种面向多媒体应用的视频压缩标准。它采用了基于对象的压缩编码技术,在编码前首先对视频序列进行分析,从原始图像中分割出各个视频对象,然后再分别
MPEG-4以其高质量、低传输速率等优点已经被广泛应用到网络多媒体、视频会议和多媒体监控等图像传输系统中。目前国内外大部分成熟的MPEG-4应用均为基于PC层面的客户端和服务器模式,应用在嵌入式系统上的并不多,且多数嵌入式MPEG-4解码系统大多使用商业的嵌入式操作系统,如Windows CE、VxWorks等,成本高、灵活性差。如以嵌入式Linux作为操作系统不仅开发方便,且可以节约成本,并可以根据实际情况进行裁减,占用资源少、灵活性强,网络性能好,适用范围更广。
下面详细地介绍此嵌入式MPEG-4解码系统的设计原理、硬件和软件组成。
1 系统设计原理
系统设计包括硬件和软件。硬件主要分控制系统、MPEG-4解码系统、输入数据源三部分。数据源可以是IDE接口设备(如硬盘)或网络端口。控制系统对系统各部分进行监测和控制、完成数据流的传输等。如图1所示,它主要由主控芯片、Flash和SRAM组成。主控芯片通过PCI总线控制系统其他模块,是控制系统的核心;Flash里固化嵌入式Linux操作系统,存放应用软件和备份数据;SDRAM作为内存供系统运行使用。
MPEG-4硬件解码系统采用硬解码方式,负责将输入的MPEG-4数据流解码成普通的电视信号,其核心是解码芯片。为解决数据流不稳定的问题,解码芯片通常使用SDRAM进行数据缓冲才可以保证正常解码过程,解码芯片的输出数字音频、视频数据还要经数模转换器(DAC)转换成模拟电视图像信号和声音信号。解码芯片通过I2C总线发送指令配置音、视频数模转换器。整个系统框图如图1所示。
软件主要包括嵌入式Linux移植、解码驱动和应用程序编写。嵌入式Linux移植到由主控芯片Flash控制器控制的Flash里,操作系统程序文件分成五个主要部分:bootloader、kernel、ramdisk、usr和boot_param,分别放在Flash内的五个模块中。根据不同模块的具体功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,开发好后不需要动态改变www.cechina.cn,且容量小,使用节省空间的ROMFS只读文件系统,usr模块内容较多并需要进行读写操作CONTROL ENGINEERING China版权所有,要使用支持动态擦写保存的JFFS文件系统。
2 系统硬件设计