嵌入式Linux的视频监控系统设计.docx
- 文档编号:2131917
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:8
- 大小:69.17KB
嵌入式Linux的视频监控系统设计.docx
《嵌入式Linux的视频监控系统设计.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux的视频监控系统设计.docx(8页珍藏版)》请在冰豆网上搜索。
嵌入式Linux的视频监控系统设计
嵌入式应用系统设计
小论文
课程名称:
嵌入式应用系统设计
论文题目:
嵌入式Linux的视频监控系统设计
学生姓名:
所在学院:
专业班级:
学生学号:
指导教师:
2014年12月18日
1、引言
随着计算机技术及网络技术的迅猛发展,公安、安防行业的发展趋势必然是全面数字化、网络化。
传统的模拟闭路电视监控系统有很多局限性:
传输距离有限、无法联网,而且模拟视频信号数据的存储会耗费大量的存储介质(如录像带),查询取证时十分烦琐。
基于个人计算机的视频监控系统终端功能较强,但稳定性不好,视频前端(如电压耦合元件等视频信号的采集、压缩、通讯)较为复杂,可靠性不高。
基于嵌入式Linux视频的网络监控系统不需要用于处理模拟视频信号的个人计算机,而是把视频服务器内置一个嵌入式Web服务器,采用嵌入式实时多任务操作系统。
由于把视频压缩和Web功能集中到一个体积很小的设备内,可以直接连入局域网,即插即看,省掉复杂的电缆,安装方便(仅需设置一个IP地址),用户也无需安装任何硬件设备,仅用浏览器即可观看。
基于嵌入式Linux的视频网络监控系统将嵌入式Linux系统连接上Web,即视频服务器内置一个嵌入式Web服务器,摄像机传送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线传送到内置的Web服务器上。
2、绪论
视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。
视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。
近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,涌现出大量的嵌入式视频监控系统。
2.1视频监控系统概述
视频监控是利用机器视觉和图像处理的方法对图像序列进行运动检测、运动目标分类、运动目标跟踪以及对监视场景中目标行为的理解与描述。
其中,运动检测、目标分类、目标跟踪属于视觉中的低级和中级处理部分,而行为理解和描述则属于高级处理。
运动捡测、运动目标分类与跟踪是视频监控中研究较多的三个问题;而行为理解与描述则是近年来被广泛关注的研究热点,它是指对目标的运动模式进行分析和识别,并用自然语言等加以描述。
2.2视频监控系统发展
视频监控技术的发展大致可分为四个阶段:
闭路电视系统构建的模拟系统、数字信号控制的模拟视频监控系统、数字硬盘录像设备为核心的视频监控系统和现在的数字网络视频监控系统。
第一代视频监控系统是采用闭路电视系统构建的模拟系统,通过摄像机、监视器、磁带录像机等构成I甜。
由于模拟矩阵很难做到数十路的切换,不能与报警系统联动,不能对前端进行控制且价格昂贵、操作管理复杂、很难实现较大系统的要求,已经逐渐被淘汰。
第二代视频监控系统是数字信号控制的模拟视频监控系统。
数字信号控制的模拟视频监控系统又分为基于微处理器的视频切换控制加PC机的多媒体管理和基于PC机实现对矩阵主机的切换控制及对系统的多媒体管理两种类型。
第三代视频监控系统是以数字硬盘录像设备为核心的视频监控系统。
90年代末,随着多媒体技术、视频压缩编码技术、网络通讯技术的发展,数字录像监控系统迅速崛起。
数字监控录像系统通常分为两类:
一类是基于PC机组合的计算机多媒体工作方式;另一类是嵌入式数字监控录像系统。
2.3嵌入方式的数字监控录像系统
嵌入式系统的优缺点
a、系统为专用系统,所以系统小,指令精简,处理速度快
b、系统数据置于ROM/FLASHMEMORY,调用速度快,不会被改变,稳定性好
C、系统处理实时性好,性能稳定
d、文件管理系统更适合于大量的视频数据
e、该类系统目前四路以上机型还较为少见
f、在网络功能、音视频同步等方面也难令人满意。
第四代视频监控系统一数字网络视频监控系统
2.4数字网络视频监控系统的原理
数字网络视频监控系统16J的关键设备是网络视频信号采集终端(也被称为视频服务器),网络视频信号采集终端采用嵌入式实时多任务操作系统。
摄像机送来的视频信号在网络视频信号采集终端数字化后由高效压缩芯片压缩,通过内部总线送到网络接口发送到网络上l刀,网络上用户可以直接用在PC机上用浏览器观看网络视频信号采集终端传送过来的摄像机所拍摄的图像,授权用户还可以通过计算机网络透过网络视频信号采集终端控制摄像机镜头和云台的动作或对系统进行配置操作。
由于把视频压缩和网络功能集中到一个体积很小的设备内,可以直接连入局域网,达到即插即用,省掉多种复杂的电缆,安装方便(仅需设置一个坤地址),用户也无需安装任何硬件设备,仅通过PC机用浏览器即可观看。
2.5数字网络视频监控系统与其它监控系统的比较
a、布控区域广阔
数字网络视频监控系统的网络视频信号采集终端直接连入网络,没有线缆
长度和信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的概念,扩展布控区域。
b、系统具有几乎无限的无缝扩展能力
所有设备都以IP地址进行标识,增加设备只是意味着口地址的扩充。
c、可组成非常复杂的监控网络
采用基于网络视频信号采集终端为核心的监控系统,在组网方式上与传统的模拟监控和基于PC平台的监控方式有极大的不同,由于视频信号采集终端输出已完成模拟到数字的转换并压缩,采用统一的协议在网络上传输,支持跨网关、跨路由器的远程视频传输。
d、性能稳定可靠,无需专人管理
视频信号采集终端实际上基于嵌入式电脑技术,采用嵌入式实时多任务操作系统,又由于视频压缩和网络功能集中到一个体积很小的设备内,直接连入局域网或广域网,即插即看,系统的实时性、稳定性、可靠性大大提高,也无需专人管理,非常适合于无人值守的环境。
e、当监控中心需要同时观看较多的摄像机图像时,对网络带宽就会有一定的要求。
2.6视频监控系统的应用概括来说,目前视频监控系统应用领域主要有以下一些方面:
a、教育系统主要是校园安全监控、电子考场监控、网络教学、远程教育等;
b、电力系统主要是机房无人值守、变电站无人值守、发电厂安全生产管理监控等;
c、公检法系统主要是社区监控、城市安全监控、监狱安全监控、庭审直播等;
d、部队系统主要是通信机房监控、作战指挥系统、仓储物资监控、基层连队的日常管理监控系统等;
e、银行系统主要是银行监控系统的联网、储蓄监控、金库监控等;
f、医疗系统主要是特护病房视频监控、手术直播及教学系统、日常安全管理监控等。
3、总体设计
嵌入式Linux视频网络监控系统是电工电子装置、计算机软硬件以及网络、通信等多方面的有机组合体,它以智能化、网络化、交互性为特征,结构比较复杂。
如果利用OSI七层模型的内容和形式,把相应的数据采集控制模块硬件和应用软件以及应用环境等有机组合,可以形成一个统一的系统总体框架,其系统总体框架示意图如图l所示。
3.1硬件设计方案
系统硬件结构如图1所示,该系统采用Samsung公司的ARM9内核芯片S3C2440作为硬件平台的中央处理器,该处理器主频可达400MHz,硬件接口和资源丰富,存储单元包括Flash和SDRAM,Flash具有掉电保持数据的特性,用于存储Bootloader启动程序、Linux内核映像、文件系统以及用户应用程序等。
SDRAM数据存取速度大大高于Flash存储器,用于为操作系统和应用程序提供运行空间。
平台利用RS232接口输出调试信息,通过以太网控制器芯片DM9000扩展了一个网口,用于与外部网络进行通信,通过USBHOST接口连接USB摄像头采集图像数据。
图2系统硬件结构图
3.2软件设计方案
软件平台采用的嵌入式操作系统为Linux2.6.13,Linux具有内核小、效率高、源码开放、内核直接提供网络支持等优点,但嵌入式系统的硬件资源有限,因此需根据实际需求对内核进行裁剪,配置所需的功能模块,然后再移植到硬件平台上。
Linux系统,建立交叉编译环境,在宿主机编写程序代码,再利用交叉编译工具生成目标机上可用的可执行文件,最后向目标机平台移植。
3.3视频采集模块
视频采集模块通过嵌入式Linux操作系统调用Video4Linux(V4L)[5]和底层设备驱动程序来完成视频捕获。
V4L是Linux中关于视频设备的内核驱动,它为Linux下的各种视频设备提供了统一的编程接口,应用程序通过这些接口函数就可以操纵各种不同的设备。
视频采集流程如图2所示。
图3视频采集流程
a、打开视频设备。
Linux下的视频设备文件一般为“/dev/video0”,通过调用函数v4l_open(),利用vd->fd=open(“/dev/video0”,O_RDWR)打开设备并获得设备文件描述符vd->fd。
b、获取设备和图像信息。
通过v4l_get_capability()函数获取设备信息,通过v4l_get_picture()函数获取图像信息。
c、内存映射。
获取图像的方式有两种:
read()直接读取和mmap()内存映射。
直接读取方式通过内核缓冲区来读取图像数据,而本文使用内存映射方式mmap(),内存映射方式可以直接把设备文件映射到内存中,进程可以像访问普通内存一样对文件进行访问,读取效率更高。
初始化内存映射时,需在内存中开辟一块空间,利用ioctl(vd->fd,VIDIOCGMBUF,&(vd->mbuf))操作取得需要映射的内存空间大小vd->mbuf.size,利用mmap()函数,即vd->map=(unsignedchar*)mmap(0,vd->mbuf.size,PROT_READ|PROT_WRITE,MAP_SHARED,vd->fd,0)操作,把设备文件的内容映射到内存,vd->map指针所指向的内存区即为采集的图像数据,且此内存区具有可读写和共享属性。
d、初始化采集参数。
设置采集视频图像的宽度、高度、格式等信息。
3.4视频压缩模块
从摄像头直接采集过来的图像由于数据量较大,不利于进行网络传输,因此需先对其进行压缩编码。
MPEG-4是目前网络多媒体传输的主要格式,具有高效的压缩率,它利用很窄的带宽,通过帧重建技术来压缩图像数据,以求利用最少的数据获得最佳的图像质量,可满足实时视频传输的要求。
本文用软件方式进行视频编码,选择开源高效的Xvid视频编码器对采集的视频图像数据进行MPEG-4压缩编码。
Xvid视频编码器选用0.9.2版本,因为该版本已经实现了MPEG-4的SimpleProfile(SP)特性,而1.0以后的版本增加了很多AdvancedSP(ASP)特性及其他功能,ASP特性的加入会增加运算复杂度,降低编码速度,由于嵌入式系统的处理能力有限,一般只使用Xvid的SP特性,因此实验选用Xvid0.9.2编码器,交叉编译并移植到嵌入式系统内。
在宿主机Linux操作系统中对Xvid0.9.2进行交叉编译的步骤如下:
a、解压缩Xvid源码:
tar–xzvfxvidcore-0.9.2.tar.gz
b、进入build/generic目录,创建编译配置文件。
由于Xvid没有针对ARM的汇编优化,因此编译时需将汇编关闭;还需指定程序所运行的平台为arm-linux。
执行命令:
./configure--disable-assembly--host=arm-linux
c、编译:
make;makeinstall。
d、编译完成后会生成静态库libxvidcore.a和动态库libxvidcore.so.*,用户程序可利用库文件所提供的编程接口调用Xvid里面的函数。
摄像头采集的视频帧为YUV420格式,通过Xvid编码器的encoder_encode函数实现视频压缩,该函数定义如下:
intencoder_encode(Encoder*pEnc,XVID_ENC_FRAME*pFrame
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 视频 监控 系统 设计