摘 要:本文详细介绍了一套嵌入式视频网络服务器系统:视频数据压缩部分由MPEG-X协议的ASIC芯片完成,嵌入式CPU只负责控制。它采用了压缩与控制分离的方式,提高了系统的灵活性和整体性价比。最后,本文给出了该视频服务器在校园亲子监控系统中的一个应用实例。
关键词:MPEG-X; RISC CPU; 亲子监控系统
引言
近几年随着嵌入式技术的蓬勃发展,出现了基于嵌入式视频服务器技术的远程网络视频监控设备。嵌入式视频服务器的主要工作原理是:模拟视频信号经A/D后,采用MPEG-2或MPEG-4协议压缩,然后将压缩后的视频数据打包,传送到网络上。用户可以直接用浏览器或者客户端专用软件观看视频服务器上的图像,授权用户还可以控制摄像机云台镜头的动作或对该嵌入式系统进行配置。压缩部分可以采用专用的硬件芯片或由嵌入式CPU进行软压缩实现。如果采用后者,则要求该CPU有较强的运算功能。
嵌入式视频网络服务器主要可以应用于城域教育网、远程网上培训、网络电视/电台、实时数字监控、远程视频会议等领域。
软压缩视频服务器
已有的视频服务器采用CPU软压缩方式(见图1)。4路模拟视频数据接入到视频解码器上,然后解码器将数字化后的视频流数据传送给CPU——PNX1300, MPEG压缩协议存储在Flash上,PNX1300将视频数据压缩后,输出给以太网控制芯片,然后视频数据通过RJ-45端口上传到以太网上。
PNX1300是Philips公司专为多媒体应用而优化设计的高性能低功耗芯片,其内核为32位通用VLIW结构的DSP 。可以较好地实现音视频压缩和解压缩算法。
但软压缩速度比硬压缩慢,而且要实现MPEG-X压缩协议,工作量非常大。另外,协议升级代价也很大。
硬压缩视频服务器
针对软压缩视频服务器的这些缺点,本文设计开发了采用硬压缩芯片的视频服务器,如图2所示。
多路视频数据的采集、A/D及传输格式
摄像机的模拟视频信号输入到视频解码器后,转换为数字视频信号。以Philips的SAA7113为例,说明视频解码器解码后的数据格式。
SAA7113支持NTSC/PAL/SECAM制式,A/D精度是9位,并行8位输出。在PAL制式下每一帧模拟视频信号数字化后的输出图像大小是1728×625,实际有效像素数是720×576,每一秒为25帧,所以视频输出带为27MHz。每一个时钟周期(1/27MHz)并行输出一个字节,每两个时钟周期输出一个完整的像素点,即每个像素点占用2个字节。输出的数据格式遵循ITU-R656标准,即YUV为4:2:2,所以每个像素点亮度信号占8位,两个色度信号共占8位。除了输出数字像素外,A/D还需传输同步时钟信号。CPU可以通过I2C总线设置SAA7113的相关寄存器,以对转化后的数字图像进行参数控制。
打包和视频信号的本地显示
ADC将多路模拟视频图像数字化后,为了便于压缩,需要将多路图像打包成一路数据,可以用AT4012来实现。
多路数据打包器将4路数字视频信号整合成1路视频数据流,并在每路视频数据头上打上ID号,以供压缩芯片分别压缩。同一时间它只能为某一路视频数据打包。例如当为第1路数据打包时,暂时还不能处理其他3路数据,这时它将其它3路数据暂存到SDRAM中。待完成当前数据的打包后,再将SDRAM中的数据取出处理。
除了将多路数据打包外, AT4012还有画面分割功能,即给AT4012接上视频D/A芯片后,可将1路复合数字视频流转换为模拟图像, 这样用户就可以在本地的1个监视器上看到4路摄像机摄到的图像,如果在多路打包器前接9路摄像机,用户就可以在一个监视器上看到9个画面。