1.引言
多媒体监控一直是人们关注的应用技术热点之一,它以直观、方便、信息内容丰富等特点被广泛应用于许多场合。而随着嵌入式系统和视频压缩技术的不断发展,基于嵌入式技术的视频监控系统也得到了快速的发展与应用。其通过把摄像机输出的模拟信号转化为数字信号,再经过嵌入式系统编码和传输。在客户端,通过安装监控软件,或者直接通过Web进行监控。采用嵌入式Linux操作系统的视频监控系统具备编码处理、网络通信、自动控制等强大功能,直接支持网络传输和网络管理,使得监控范围达到了一定的广度。
此外,嵌入式处理器的发展也日新月异,有专注于控制的ARM系列处理器,擅长快速计算的DSP处理器,还有一些针对性非常强的处理器,可以实现硬件视频编解码等。而德州仪器(TI)新近推出的针对便携式高清(HD)视频产品市场的达芬奇(DaVinci)处理器TMS320DM355处理器,结合了它们的特长。其内部具有一个ARM9EJ-S的主处理器,负责整个系统的控制,同时也集成了一个MPEG/JPEG协处理器,专注于MPEG/JPEG算法的实现。其内部的视频处理子系统(VPSS)及其它外设可方便快速的实现视频的采集、预处理、显示、网络传输等功能。同时,其低廉的价格也为用户降低了成本。而本设计即选用此处理器。
2.视频监控系统整体框架
本嵌入式网络视频监控系统由视频服务器、网络传输链路、客户监控端等3部分组成。视频服务器负责音视频等数据的采集、压缩处理等,网络传输链路将视频服务器压缩和发送的多媒体数据进行传输,而客户端监控部分接收音视频数据,进行解压、显示以及对视频服务器的控制等。整个系统的示意图如图1所示。
图1视频监控系统示意图
2.1.视频服务器
视频服务器采用德州仪器(TI)新近推出的达芬奇(DaVinci)系列处理器TMS320DM355作为主处理器,接收CCD摄像头采集的视频信号,进行预处理及MPEG4压缩,然后将压缩后的数据通过网络传输。同时,接收上位机发送的命令,解析并且执行。每个设备都具有*的ID,当客户端进行连接时,服务器会首先检查ID号是否匹配,以防止恶意连接。此外,当视频服务器运行异常时,其内部的守护进程会进行监视,适当的时候进行重启。
2.2.网络传输链路
网络传输链路负责多媒体数据的传输。此处,可以根据实际需求,进行网络传输链路的选择。局域网(LAN)、无线局域网(WLAN)、INTERNET、CDMA、3G等都是可供选择的传输链路。其中,局域网(LAN)和无线局域网(WLAN)带宽充足、稳定,并且设备简单,易于实现,但会受到距离的限制。INTERNET和CDMA网络可以使监控距离得到扩展,但是其带宽受限,图像质量会受到影响。而*的3G网络也是一个不错的选择,带宽在静止状态下可以达到2Mbps,但是其在稳定性方面还待测试。用户可以根据自己的需求进行选择,或者直接搭建专线网络,以实现各自的监控指标。
2.3.客户监控端
客户端主要与各个视频服务器进行连接,以实现监控。客户端可以采用PC机或者便携式设备,与网络传输链路相连,通过上位机软件与视频服务器连接,接收视频服务器发送的多媒体数据,进行解码,然后在上位机显示。同时,向视频服务器发送控制命令,实现云台、镜头等的控制。3.视频服务器硬件设计3.1.整体框架视频服务器完成视频的采集、MPEG4压缩和网络传输,以及云台、镜头等的控制。其硬件结构框图如图2所示。
图2视频服务器硬件结构框图
4.1.系统上电及引导程序
系统上电时,是由DM355的输入引脚BTSEL[1:0]来决定从ROM或者AEMIF启动。此设计处选择从ROM启动。此时,系统直接跳转到内部ROM的起始地址(0X00008000)执行指令。内嵌的ROM启动代码(RBL)进行一些配置操作,然后读取BOOTCFG寄存器来决定是从NAND、MMC/SD或者UART启动。本设计选择NAND启动。NANDflash里预先烧写好了U-boot、Linux内核以及根文件系统。NAND启动以后,会读取bootloader的stage1部分的指令对系统进行必要的设置,然后将stage2部分的代码搬移到SDRAM中进行执行。当用户选择启动内核时,bootloader将内核从NANDflash里搬运到SDRAM,然后跳转到内核的起始地址进行执行,启动内核。
4.2.嵌入式Linux操作系统
嵌入式Linux操作系统是针对不同的应用需求,对Linux内核进行裁剪修改使之能在嵌入式计算机系统上运行的一种操作系统。它开放源码,内核小、效率高,适用于多种CPU和硬件平台,性能稳定,可移植性好等特点为其开辟了一片属于自己的空间。
本设计选择嵌入式Linux操作系统作为软件平台,实现各硬件模块的驱动的添加及移植,用户应用程序的编写及调试。