![[硕士论文精品]基于arm的远程视频监控系统研究_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/84e495e5-0346-4045-84c8-4820a526886f/84e495e5-0346-4045-84c8-4820a526886f1.gif)
![[硕士论文精品]基于arm的远程视频监控系统研究_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/84e495e5-0346-4045-84c8-4820a526886f/84e495e5-0346-4045-84c8-4820a526886f2.gif)
![[硕士论文精品]基于arm的远程视频监控系统研究_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/84e495e5-0346-4045-84c8-4820a526886f/84e495e5-0346-4045-84c8-4820a526886f3.gif)
![[硕士论文精品]基于arm的远程视频监控系统研究_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/84e495e5-0346-4045-84c8-4820a526886f/84e495e5-0346-4045-84c8-4820a526886f4.gif)
![[硕士论文精品]基于arm的远程视频监控系统研究_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/84e495e5-0346-4045-84c8-4820a526886f/84e495e5-0346-4045-84c8-4820a526886f5.gif)
已阅读5页,还剩74页未读, 继续免费阅读
[硕士论文精品]基于arm的远程视频监控系统研究.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要视频监控系统是一门集计算机技术、通信技术和数字视频技术于一体的综合系统。目前视频监控正向着数字化、网络化的方向发展。实现基于网络的视频监控系统的关键是一种嵌入式设备,它应该能够采集压缩视频数据并通过网络进行传输。本文介绍了一种基于嵌入式U加笼的网络视频监控系统的设计和实现方法。首先从整体上分析了网络视频监控系统的总体设计方案,给出了视频服务器的硬件框架和软件体系,并重点讨论了在ARM处理器上实现MPEG4压缩编码的方法。其次在ARM硬件平台成功构建了ATMLINUX嵌入式系统包括引导程序BOODOADER的设计、修改配置LINUX内核以及制作1FS2文件系统。其中创新地提出了从。ANDFLASH启动UBOOT具体设计方法。为了完成系统进一步的视频采集工作,系统实现了USB数码摄像头的驱动。在应用程序开发过程中,首先设计了基于VDEO4LINUX的视频采集程序,并采用MMAP内存映射方式截取图片。其次重点分析了MPEG4编码模型XVID程序中的运动估计部分,并研究了半像素快速搜索算法,从而减少了搜索点数提高了运算速度。最后利用开源JLRFI库实现视频数据流的RTP传送。整个设计都是在深圳旋极公司研制的SU甲ERARM硬件平台上进行的,LINUX内核采用2418。其中MPEG4编码优化测试是在ARMDEVELOPERSUITEADSVERSION12中完成。本课题为在ARM平台实现网络视频监控的设计做了有益的探索性尝试,对今后进一步完成远程嵌入式视频监控系统的设计有着积极的愈义。关键词视频监控S3C2410XLINUXABSTRACTVIDEOSURVEILLANCESYSTEMISAINTEGRATEDTECHNOLOGY,INCLUDINGCOMPUTER,COMMUNICATIONANDDIGITALVIDEOTECHNOLOGYATPRESENTTHEVIDEOSURVEILLANCESYSTEMISDEVELOPINGATDIGITIZATIONANDNETWORKANEMBEDDEDSYSTEMDEVICEISKEYTOVIDEOSURVEILLANCEBASEDONNETWORKITSHOULDBEABLETOGATHERVIDEODATAANDCARRYONDATATHROUGHNETWORKTHISARTICLEINTRODUCEDAMETHODOFNETWORKVIDEOSURVEILLANCESYSTEMBASEDONLINUXATFIRST,HASANALYZEDADESIGNPLANOFNETWORKSURVEILLANCESYSTEMFROMTHEWHOLE,INTRODUCED山EHARDWAREANDTHESOFTWARESYSTEM,ANDDISCUSSEDEMPHASISLYMPEG4ENCODINGONARMPROCESSORNEXTCONSTRUCTEDAMRLINUXINTHEARMHARDWAREPLATFORMSUCCESSLYINCLUDINGBOOTLOADERDESIGN,CONFIGURINGLINUXKERNELASWELLASJFFS2FILESYSTEMSTARTINGUBOOTFROMNANDFLASHISANEWMETHODINORDERTOCOMPLETENEXTWO氏THEPAPERHASREALIZED比。DRIVEROFUSBCAMERA玩山APPLICATIONPROGRAMMING,HASFIRSTDESIGNEDVIDEOGATHERINGPROGRAMBASEDONTHEVIDEO4LINUX,ANDUSESMMAP0TOCAPTURENEXTHASEMPHASISLYANALYZEDXVIDCODE,MPEG4MODULE,ANDOPTIMIZINGTHECODEOFMOVEMENTESTIMATEPARTFINALLYUSESJRTPLIBTOCARRYVIDEOSTREAMALLDES咖ISBASEDONSUPERARMHARDWAREPLATFORMINSHENZHENLIMRXKERNELVERSIONIS2418ADS12ARMDEVELOPERSUITEISUSEDTESTINGMPEG4CODETHISPAPERHASMADETHEBENEFICIALEXPLORATIONREALIZENETWORKVIDEOSURVEILLANCESYSTEMBASEDONARM,ANDHELPTOFURTHERSTUDYONREMOTEEMBEDDEDVI山WSURVE山ANCE叮STEMKEYWOR如S3C2410XLINUXIII学位论文独创性声明学位论文独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得盏遏达岁生或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。学位论文作者签名手写VIII字日7E“月夕日学位论文版权使用授权书本学位论文作者完全了解A1熟有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权直邑大堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密的学位论文在解密后适用本授权书学位一贡一梦“资签字日期,柳尸年B月/日导师签名剥呼签字日期加夕年了月,加学位论文作者毕业后去向工作单位通讯地址电话邮编第I章绪论第1章绪论11引言视频监控技术一直是人们关注的应用技术热点之一,它以其直观、方便、信息内容丰富的特点被广泛的应用于许多场合。视频监控系统是一门集计算机技术、通信技术和数字视频技术于一体的综合系统。它正从传统的安防监控向管理、生产监控发展,并逐步与管理信息系统相结合,为管理者提供更直观、更有效的决策信息。视频监控系统的一般过程是在一些重要的场所安放一个或若千个摄像机,摄像机采集监控现场的视频数据,并经过压缩编码处理后,通过一定的传输网络线缆、无线、光纤或以太网,传到指定的监控中心监控中心可以远程监控现场图像,并可通过存储介质保存现场视频数据供日后查询取证。同时,还可以根据不同需要在监控现场安装其它的探侧装置作为监控系统的辅助设备。目前视频监控系统已经进入了一个高速发展的时期,行业竞争日渐白热化,传统模拟视频监控系统逐渐不再适应社会发展的需要。以计算机技术及图像视频压缩为核心的新型视频监控系统得到了越来越广泛的应用,它具有传统模拟监控无法比拟的优点,克服了传统视频监控的局限性,正在逐步取代模拟监控。新型视频监控系统综合了数字图像处理与视频信息处理技术、嵌入式技术、数据传输网络技术、自动控制等技术,符合当前信息社会数字化、网络化、智能化的发展趋势,可广泛应用在安全监控、视频会议和视频点播、远程教育、新闻实况直播等诸多领域,而且其成本将随着技术的发展和网络的普及而大大降低,具有十分广阔的应用前景。12视频监控系统的发展概况随着计算机技术、网络技术、通信技术和多媒体技术等的发展,技术也得到了迅速发展。拟视频监控系统,基于视频监控技术的发展大致可分为三个阶段视频监控即本地模PC的视频监控系统,基于嵌入式技术的网络视频监控第1章绪论系统。下面分别做详细介绍川。1本地模拟信号监控系统典型的模拟视频监控系统一般由图像摄影部分拟摄像机、镜头、云台、麦克风等、图像传输部椒电缆、光缆、射频等、系统控制部分作键盘、视频分配器、视频矩阵切换器、云台控制解码器、字符益加器等PRO显示记录部分四大部分组成。传统的模拟闭路电视监控系统有很多局限性首先,有线模拟视频信号的传输对距离十分敏感其次,有线模拟视频监控无法联网,只能以点对点的方式监视现场,并且使得布线工程量极大另外,有线模拟视频信号数据的存储会耗费大量的存储介质如录像带,查询取证时十分烦琐。2基于PC插卡的数字监控系统基于PC机的远程图像监控系统由PC机插视频卡构成,在监控现场,有若干个摄像机,各种检侧、报替探头与数据设备,通过各自的传输线路,汇接到监控终端机上,该终端可以是一台PC机,也可以是专用的工业机箱。基于PC的视频监控系统终端功能较强,便于现场操作。但稳定性不好,视频前端如CCD等视频信号的采集、压缩、通讯减为复杂,可靠性不高,PC机也需专人管理,特别是在环境或空间不适宜的监控点,这种方式不理想。3基于嵌入式技术的网络数字监控系统基于嵌入式技术的监控系统不需处理模拟视频信号的PC,而是把摄像机输出的模拟视频信号通过嵌入式视频编码器直接转换成IP数字信号。嵌入式视频编码器也称视频服务器2具备视频编码处理、网络通信、自动控制等强大功能,直接支持网络视频传输和网络管理,使得监控范围达到前所未有的广度。除了编码器外,还有嵌入式解码器、控制器、录像服务器等独立的硬件模块,它们可单独安装,不同厂家设备可实现互连。数字化视频监控的优点是克服了模拟闭路电视监控的局限性首先,数字化视频可以在计算机网络局域网或广域网上传输图像数据,基本上不受距离限制,信号不易受千扰,可大幅度提高图像品质和稳定性其次,数字视频可利用计算机网络联网,网络带宽可复用,无须重复布线另外,数字化存储成为可能,经过压缩的视频数据可存储在磁盘阵列中或保存在光盘中,查询十分简便快捷。基于嵌入式设备的监控系统的优点是由于这种系统的硬件是一个同处理第1章绪论器和操作系统捆绑较为紧密、功能专一、专门设计的独立的设备,不像插卡系统那样受通用计算机系统中其它软件硬件的影响,因此性能上更稳定,且便于安装、维护,易于实现系统的模块化设计,便于管理、维护。13本课题的研究背景及主要工作关于嵌入式网络视频服务器的研究,国外起步较早,并处于领先水平,已有成熟的嵌入式网络摄象机产品。除了SONY公司的SVCVL10N之外,还有PANASONIC公司的KXHCM130SAMSUNG公司的SNC100P、安特公司的ANTNWC10/50/100,瑞典的AXDC系列等,性能普遍较好,但价格昂贵,国内用户大多无法承受。国内在这方面的研究刚起步,大多数是代理国外厂商的现成产品,从事实际研究的单位不多。国内同类产品大多为一到两路愉入,功能较少。播放速度较慢,播放效果较差,科技含量有待于进一步提高。本文根据视频监控系统的发展历史和现状,借鉴已有的研究成果,提出了目前较为先进的嵌入式网络视频服务器设计方案。主要工作内容如下1分析嵌入式网络视频服务器涉及到的理论包括嵌入式微处理ARM的体系结构以及LINUX内核的层次结构,并讨论将LINUX内核移植到ARM处理器上的可能性,理解TMAWLJ视频压缩技术以及流媒体技术等。2总体规划网络视频监控系统,着重设计网络视频服务器的软硬件系统结构,并讨论在嵌入式系统实现MPEG4编码的方法及其优化方案。3设计视频服务器的系统软件,包括引导程序BOOFLOADER设计、LINUX内核移植、USB数码摄像头驱动的加载以及建立根文件系统。4设计视频服务器的应用软件,包括视频采集程序设计、MPEG4源码WED的优化设计以及实现用RTP传送视频流。5对整个系统进行测试,分析优化结果。最后总结全文的研究成果,并对下一步的工作进行展望。第2章相关技术背景第2章相关技术背景21ARM微处理器ARM13IADVANCEDRISCMACHINES既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权目前,采用ARM技术知识产权IP准的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位R】SC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM内核采用相对简单的5级流水线,另外,ARM内核还革命性地采用16位THUMB指令集。16位THUMB指令级是ARM指令集的一个子集,它是由32位指令通过代码压缩得到的,这种经过压缩的代码大大提高了系统运行效率,使得在相同的内存和缓存中可以存放更多的指令,从而简化了指令解码系统。为了进一步简化系统结构,ARM处理器把浮点运算单元、内存管理单元的配置作为ARM内核的选项而不是标准配里。所有的这些措施使得ARM内核拥有最简单的结构,从而减小了ARM内核的芯片面积,减少了开发、升级、优化内核的成木,芯片面积的减小也直接导致了功耗和价格的降低。ARM的应用领域有开发式应用平台,包括无线设备、消费产品以及成像设备等实时嵌入式应用,包括存储设备、汽车、工业和网络设备安全系统,包括信用卡和SIM卡等。这些应用领域都是控制复杂、信息量大、算法相对复杂、存储数据T大、功耗低。211ARM的休系结构特点ARM体系结构的总体设计思想是在不牺牲性能的同时,尽量简化处理器,同时从体系结构的层面上灵活支持处理器扩展。这种简化和开放的思路使得ARM处理器采用了很简单的结构来实现。所有ARM处理器都共享这一体系结构。A丑M体系结构具有以下特点第2章相关技术背景1RISC型处理器结构ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的同时,提高了处理器的速度。同时,考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器内操作的指令执行时间,ISC型处理器采用了IOD/STORC加纫存御结构,即只有LOAD/STORE指令可与存储器打交道,其余指令都不允许进行存储器操作。同时,为了进一步提高指令和数据的存取速度,RISC型处理器增加了指令高速缓冲10故BE和数据高速缓冲DCACHE及多处理器结构,使指令的操作尽可能在寄存器之间进行。2THUMB指令集考虑到RISC型处理器的指令功能相对较弱,新型的ARM体系结构中定义了16位的THUMB指令集THUMB指令集比通常的8/16位CISC/RISC处理器有更好的代码密度,而芯片面积只增加696,却可以使程序存储器更小。3多处理器状态模式ARM体系结构定义了7种处理器模式用户。叼、快中断仍心、中断伽叮、管理SVC、终止ABT、系统UNC“未定义Y,大大提高了ARM处理器的效率。4两种处理器工作状态ARM处理器有两种工作状态ARM状态他行32位ARM指令和THUMB状态傲行16位THUMB指令。5嵌入式在线仿真调试ARM体系结构的处理器芯片都嵌入了在线仿真】CURT逻辑,便于通过7TAG来仿真调试芯片,省去了价格昂贵的在线仿真器。6灵活方便的接口ARM体系结构具有协处理器接口,允许接6个协处理器。这样,既可以使基本的ARM处理器内核尽可能小,也可以方便地扩充各种功能。7。低电压功耗的设计考虑到ARM体系结构的处理器主要用于手持式嵌入式系统中,ARM体系结构在设计中就十分注意功耗的设计。第2章相关技术背景212ARM体系的异常中断在ARM体系中通常有以下3种方式控制程序的执行流程在正常的程序执行过程中,每执行一条ARM指令,程序计数器PC的值加4个字节每执行一条THUMB指令,PC的值加2个字节。整个过程是按顺序执行的。通过跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。1ARM中异常中断的种类ARM体系中的异常中断如表21所示4I表21ARM体系中的异常中断异常中断名称含义复位RD当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。末定义指令UNDEFINEDINSTRUCTION当人只M处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。软件中断S介曰限加订娜式SM月该异常由执行SW】指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。指令预取终止PREFEC七ABE成若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出终止信号,但当预取的指令被执行时,才会产生指令预取终止异常。数据访问终止DATA周比R若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据终止异常。外部中断请求IRQ当处理器的外部中断请求引脚有效,且S中的I位为0时,产生MQ异常。系统的外设可通过该异常请求中断服务。快速中断请求FIQ当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。2A丑M处理器对异常中断的响应过程第2章相关技术背景ARM处理器对异常中断的响应过程如下所述。保存处理器当前状态、中断屏蔽位以及各条件标志位。这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。各异常中断有自己的物理SPSR寄存器。设置当前程序状态寄存器CPSR中的相应位。包括设置CPSR中的位,使处理器进入相应的执行模式设置CYS中的位,禁止IRQ中断,当进入NO模式时,禁止FIQ中断。将寄存器IRMODE设置成返回地址。将程序计数器PC设置成该异常中断的中断向T地址,从而跳转到相应的异常中断处理程序中。3从异常中断返回异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回将连接寄存器I1I的值减去相应的偏移LK后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。213ARM体系结构对操作系统的支持操作系统的任务是提供一个环境,使得当多道程序并行执行时,进程间不良冲突的威胁最小,同时又能安全的共享数据。进程间冲突的减小是靠每个进程只能访问自己的存储区域这样一种存储器管理与保护方案来实现的。每个程序在系统存储器中都有自己可见区域。程序切换时,存储器可见区域也动态地转换到新程序,前一个程序使用的所有存储器从视野中移出。这一切若要高效的实现,则需要复杂的硬件支持。对存储器保护下的数据共享窗口必须非常仔细地控制,大多数程序不正常的深层原因是对共享结构的偶然访问造成的,因此需要采用强制方法。对硬件设备的访问涉及大量的底层位处理。这些细节通常是由操作系统集中处理,而不是每个程序独自处理。这样程序可以通过系统调用方式在更高的层次上访问输入乃俞出函数。ARM体系结构中由专用结构来支持操作系统中所有类似的问题。第2章相关技术背景214S3C2410X处理器简介S3C2410XIQ处理器是一款基于ARM92OT内核的16/32位RLSC嵌入式微处理器,主要是面向手持设备以及高性价比、低功耗的应用。运行频率是203MHZ,如此高的频率使得系统可流畅运行多种应用。ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。其中,MW可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速CACHE组成。IRM92IJ1有两个内部协处理器CP14和CP15CP14用于调试控制,CP15用于存储系统控制以及测试控制。S3C2410X结构框图如图21所示S3C2410X的资源包括1内存控制器S3C2410X的内存控制器为外部内存访问提供了内存控制信号,包括总线宽度和等待控制寄存器、组控制寄存器、REFRESH控制寄存器、BANIZE寄存器、SDRAM模式寄存器。2NANDFLASH控制器S3C2410X处理器的启动代码可以在外部的NANDFLASH上执行。启动时,NANDFLASH的前4KB将被装载到SDRAM中被称作STEPPINGSTONE的地址中,然后开始执行这段代码。启动以后,这4KB的空间可用作其它用途,3时钟和电源管理S3C2410X可以生成三种时钟信号,分别为CPU使用的FCLK,AHB总线使用的HCLK和ABB总线使用的PCLK。同时,S3C2410X有两个锁相环,一个用于前面提到的FCLKHCI,K和PCLK另一个用于USB设备,称为UPLLS3C2410X支持HCLKPCLK和FCLK的分频选择,其比率是通过HDIVN,PUVN寄存器控制的。S3C2410X有四种电源管理模式NORMAL模式、SLOW模式、IDLE模式和POWEROFF,通过这四种模式有效地控制了功耗。4DMAS3C2410X支持4通道DMA控制器。使用DMA地最大好处是无须CPU的干预就可以进行数据传输。DMA操作可以通过软件或者硬件进行初始化。每一个DMA通道有9个控制寄存器4个通道共计36个寄存钧,6个用来控制第2章相关技术背景DMA传输,其它3个监视DMA控制器的状态。1几旧盯叼,闷T1_户艇已目日翻加月Q01月峪LI飞二一AP88U3图21S3C2410X结构框圈5输入月俞出口S3C2410X有117个通用1/O口PORTAPORTH。这些UO口为系统编程提供了极大的方便。6PWM计时器PWM计时器能生成DMA请求,计时器在收到ACK信号以前将保持DMA请求信号NDMA_REQ处于低电平,收到ACK信号后,计时器停止请求信号,并设置DMA模式位PCFG1寄存钧。7U冉及T第2章相关技术背景S3C2410X的UART提供了三组独立的异步串行1/O口,每个UART通道都包含16B的FIFO用于数据发送和传输,并且都可以在中断或DMA方式下进行操作。8中断中断有三种类型硬件中断、软件中断和异常中断。所有的处理器至少都有一个引脚被用做中断输入S3C2410X中对应的一个引脚是1INTO,外设控制芯片也有一个引脚用做中断输出,把这些引脚连接起来,当外设上有事件发生,其控制器将通过产生一个硬件中断的方式来通知处理器。S3C2410X的中断控制器能接受来自56个中断源的请求,这些中断源由内部的外围设备提供如DMA控制器、UART等。22嵌入式LINUX操作系统在大型嵌入式应用系统中,为了使嵌入式开发更加方便、快捷,需要具备一种稳定、安全的软件模块集合,用以管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等,这就是嵌入式操作系统。一般我们可认为嵌入式操作系统是软实时系统。所谓软实时系统指的是系统时限柔性灵活,它可以容忍偶而的超时错误,且失败造成的后果并不严重,仅仅是降低了系统的吞吐量。LINUX161最初是专门为基于INTE处理器的个人计算机而设计的。LINUX的前身指的是由芬兰学生LINUSTORVALD维护开发的开放源代码的类UNIX操作系统的内核。然而,目前大多数人用它来表示以LINUX内核为基础的整个操作系统。从这种意义讲,LINUX指的是源码开放,包含内核和系统工具、完整的开发环境和应用的类UNIX操作系统同时,LINUX遵循GNUGNUSNOTUNIX的通用公共许可证GPLGENERALPUBLICLICENSE,是自由软件家族中的一员。利用LINUX搭建嵌入式操作系统是近年来最令人振奋的方案之一,LINUX将来可能会成为主流嵌入式操作系统。嵌入式LINUX是按照嵌入式操作系统的要求而设计的一种小型操作系统。由一个内核及一些根据需要进行定制的系统模块组成。其KERNEL很小,一般只有几百KB左右。即使加上其它必须的模块和应用程序,所需的存储空间也很小。它有多任务、多进程的系统特征,有些还具有实时性。第2章相关技术背景把U朋笼用于嵌入式系统,一般都不是原封不动地照搬,而是充分考虑各种具体嵌入式系统的特点,有针对性地对L3NUX内核加以裁减、修改和补充。一个小型的嵌入式L3NUX系统只需要引导程序、L加UX微内核由内存管理、进程管理和事务处理构肉、初始化进程3个基本元素如果要让它有更多的功能且继续保持小型化,可以加上文件系统位持十多种文件系统类型,如“口、EXT3NFSCRAMPS匆、WINIP网络支持、设计精简的应用程序等。嵌入式LINUX的主要特点是精简标准的LINUX内核,适应于多种CPU和多种硬件平台,性能稳定,裁剪性很好,开发和使用都很容易,并且可以使用UNIX或LINUX上的应用程序。嵌入式U加笼操作系统的优势表现为1支持多种体系结构目前UNUX能够支持X86,ARM,POWERPC等多种CPU体系结构,现己被移植到数十种硬件平台上。2多任务,内核稳定,可定制,源代码开放。3强大的网络支持功能支持TCP/IP协议,及其上的高层协议,如电TELNET,H仰等。同时支持SOCKET网络编程。4。支持多文件系统LINUX支持FAT32,EXT2,EXT3等多种文件系统,支持虚拟文件系统,同时还可以连接其它的文件系统,如ROMFS,JFFS,CRAMPS等文件系统。5。驱动丰富,支持大IT的外设LINUX支持基本所有的PC外设,具有丰富的外设驱动程序。6LINUX具备一整套工具链容易自行建立嵌入式系统的开发环境、交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍。221嵌入式操作系统内核结构U皿笼内核主要由5个子系统组成进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。一般在LINUX系统中的/USR/,C/UNLLXS0气代表内核版本号目录第2章相关技术背景下就是内核源代码。扭比H子目录包含了所有硬件结构特定的内核代码。/DRIVE子目录包含了内核中所有的设备驱动程序。瓜子目录包含了所有的文件系统的代码。加CLUDE子目录包含了建立内核代码时所需要的大部分库文件,这个模块利用其他模块重建内核。该目录也包括了不同平台需要的库文件。比如,ARMARM是ARM平台需要的库文件。在NIT子目录包括了内核的初始化代码,内核从此处工作。AN子目录包括了进程间通信代码。/KERNEL子目录包括了主内核代码。川B子目录包含与平台无关的诸如TRLE和MEMCPY之类的通用函数/山口子目录包括了所有内存管理代码。阳D子目录包括了和网络有关的代码。/SCRIPTS子目录存放了配置内核的一些脚本文件,比如“MAKEMENUCONFI扩命令,用于配置内核。/DOCUMENTATION这个目录中包括大童的内核相关文档,系统移植中需要经常查阅。一般在每个目录下都有一个DEPEND文件和一个MAKETIE文件这两个文件都是编译时使用的辅助文件。其中M目沈曰。文件中指出了编译时需要用到的编译器,也是移植内核过程中不可缺少的。222IDNUX内核对系统移植提供的支持虽然LINUX内核采用了相对来说并不是很灵活的单体内核机制,但却具有很好的跨平台性和可扩展性。LINUX之所以能够成为目前支持硬件平台最为广泛的操作系统之一,这除了归功于遍布世界各地大量优秀的开发人员的贡献之外,还应该感谢LINUX的创始者HUNS在最初设计该操作系统时就为提高可移植性所提供的独特设计。概括起来,LINUX为在系统移植方面提供了以下支持1分层结构U即兀内核的设计吸取了层次结构和对硬件抽象层门IAL的思想,对内核进行分层,以便将硬件相关的部分和操作其它上层实现分离开来,从而增强了第2章相关技术背食系统的可移植性。图22表示了TINNY内核的分层结构。通过加入硬件抽象层,将硬件相关代码和硬件无关代码分离开来,这样上层代码就不必关心底层采用了什么方式,如何完成操作等细节。例如,不论是打开字符设备还是块设备,对上层操作而言,和打开一个普通文件一样,都只需采用。IMO函数调用即可,而具体对设备的操作,由设备驱动程序去完成,这样,移植工作主要就集中在部分的硬件抽象层以及和硬件设备直接相关的部分。第三层第二层第一层操作系统内核层硬件16象层HAL砚件直接相关层圈22LINUX内核分层结构下面我们对这个分层结构同进行简要的描述硬件直接相关层主要包括由于处理器体系结构和指令集不同而需要进行相应实现的部分,如ARM,MIPS,1386,POWERPC等不同体系结构和指令集的处理器,它们在内核中和硬件直接相关的代码部分应该有不同的实现。硬件抽象层HAL这是为了屏蔽底层的硬件细节,并为上层提供一个逻辑上统一的硬件环境接口及各种硬件平台上操作系统的代码重用而引入的机制,故这一层既和硬件直接相关又和操作系统上层相关。从实现上看,这一层主要由一些硬件相关的数据结构、方法和宏组成,LINUX通过它们来屏蔽硬件相关的代码,所以这一层对于操作系统上层的可移植性非常重要,U监内核的移植工作也主要是在这一层上做工作,而在系统移植过程中也是一个难点。从功能上来分,这个层次包括两个部分系统初始化部分和硬件设备的驱动部分。硬件无直接关的操作系统内核层这主要包括进程管理、内存管理、设备管理、文件系统以及其它和底层设各不直接相关的较高层实现。内存管理等内核部分与目标计算机的体系结构密切相关,必须针对目标计算机单独开发而设备驱动、文件系统和网络部分与处理器结构关系不大。第2章相关技术背景2面向对象思想虽然U朋万内核主要是用非面向对象的C语言编写而成,但是LINUX内核中大量的借鉴和使用了面向对象的思想。虽然C语言本身没有提供面向对象的语法支持,但是在LINUX中通过使用结构体和函数指针实现了对面向对象机制的部分模拟。例如LINUX采用了虚拟文件系统汉璐雌行抽象的技术,为各种文件系统提供了一系列统一的结构作为接口,各种实际的文件系统只要对VFS提供的数据结构进行实现,就可以将自己的文件系统挂接到系统中,这就好比为整个系统提供了一条文件系统的总线,只要遵循总线协议,就可以进行相互间的通信。在上层调用的时候,只需要使用通用的接口就可以通过函数指针调用到相应的具体实现。这样,一个结构体的定义相当于一个类的定义,结构体中使用函数指针就是对类中方法的模拟。通过对结构体的不同实现,在内核中部分实现了面向对象的多态特性,使内核结构更为清晰,井且增强了内核的硬件无关性,提高了系统的可移植性。3,可加载模块机制对传统的单体内核操作系统来说,对内核的任何部分进行了修改,要想在目标平台中得到体现,都必须重新编译并链接内核以便生成新的可执行文件映像然后下载到目标板,重新启动系统。因此,如果在这样的系统上进行修改、增加设备驱动程序、更新内核等都是很困难的。显然,在这样的系统上进行移植也是很困难的事。为此,LLNUX引入了可加载模块的独特解决方案FI。可加载模块也是在内核空间运行的程序,实际上是一种可在系统启动后的任何时候动态载入核心的代码块。它在被加载到内核前并不进行链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。当我们不再需要它时又可以将它从核心中卸载并删除。LINUX系统使用可加载模块机制很好地解决了扩展性的问题,大大方便了LINUX平合下驱动程序的开发,增强了系统的伸缩性和运行效率。U皿内核可加载模块有两个特征动态链接当内核己经在存储器并正在运行时,模块可以被加载并链接到内核。模块也可以在任何时候断开链接,从存储器中移出。可堆栈模块,模块按层次排列通过可堆投模块可以定义模块间的依赖关系,这有两个好处一组相似的模第2章相关技术背景块,相同的代码可以移入一个模块,减少了重复内核可以确保需要的模块都在,避免卸载正在运行的模块依赖的其他模块,并且当加载一个新模块时加载任何需要的附加模块。采用内核可加载模块机制,将模块从内核中独立出来,大大增加了L3MU内核的灵活性。对于系统的移植而言,采用内核可加载模块,主要优点有通过使用内核可加载模块,分离了内核硬件相关代码中与硬件体系结构没有关联或关联较小的部分,只在内核中保留和硬件体系结构直接相关的硬件代码,降低了内核的复杂度。因此,该机制允许我们在开发的初期,只需具备内核所必须的相关软硬件模块,就可让内核运行起来,在此基础上进行系统的开发,大大降低了系统移植的难度。可以将对硬件设备的支持,也就是驱动程序的部分做成可加载模块的形式。由于这些驱动都可以编译成单独的模块,降低了新增硬件对内核的影响,降低了内核为支持新硬件的复杂度,这样就可以大大增加内核支持的硬件设备种类。模块可动态加载,让我们无需重构核心并频萦重新启动来尝试运行新的内核代码,这就大大方便了开发人员的调试工作,降低了开发人员的开发难度。可以运用动态加载实现在线更新,因此不必为满足应用需求的多样性而把将来所有可能需要的驱动都加入内核,而是把该部分留给用户自己,或将来需要的时候才进行动态加载,减少了系统开发复杂性,大大节约了内核空间的占用。最后,需要说明的是,分层结构、面向对象思想和可加载模块这几种机制并不是各自孤立的,而是紧密联系,相辅相成的。IINUX内核吸取了分层结构和面向对象的思想,从设计的角度对单体系内核进行了改进,可加载模块机制在LINUX内核中得到具体实现,从实现和实用的角度增加了内核的灵活性。分层结构、面向对象思想的运用从内核设计的角度为采用可加载模块做了准备。可加载模块机制的使用,使分层结构和面向对象思想得到体现。第2章相关技术背景23MPEG4视频压缩技术231MPEG4简介MPEG寻101是一种压缩标准,国际标准化组织于19年成立运动图像专家组MPEGMOTIONPIAMEXPERTSGROUP,在1993年8月正式制定的IMPEG1,在1994年又发布了MPEG2标准。1999年2月正式公布了为国际标准的MPEG4ISO/IEC14496第一版本,同年年底又发布MPEG4第二版MPEG4的压缩方法不同于MPEG1/2或H263系列标准,不再局限于某种算法。为实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用。为此,MPEG4提供了一个包含各种工具和算法的工具箱,给出各种任意形状可视对象的高效表达式。在不同应用情况下进行码流交换的不同框架,可以方便地选用此框架中所包含的工具。与MPEG12和H263比较,MP“T_SI在低比特流式传愉上有更多的优势。MIIG4压缩率最高,同时又保持了清晰的画质。MPEG4动态分配码流,根据画面的复杂程度和变化程度调整码流。MPEG4向H26X学习借鉴的错误回复工具可以提供高抗误码性,有助于低比特视频信号在高误码率环境下的存储和传输。232MPEG4编码餐结构1MPEG4视频编码器中的数据结构类MPEG4的视频流提供了对视频场景的分层描述,分层的每一级都可以通过码流中被称为初始码的特性码值进行访问。其中有以下五个层次的数据结构,它们都以类的形式定义VS即DEOSESSION视频场景,它位于数据结构层次的最高层,包含其它三个类,一个完整的视频序列可以由几个VS组成。它对应于一段完整的视频场景,可以包括任何二维或三维、自然或合成对象以及它们的增强层,一个VS包括了一个或多个VOVO郎DEOOBJECT视频对象,它是场景中的某个对象,可以是任意形状第2章相关技术背景的对象,也可以是个矩形帧。它由时间上连续的许多帧构成VOLVIDEOOBJECTLAYER二视频对象层,VO的三种属性信息编码于这个类中,这个类的引入主要用来扩展VO的时域或空域分辨率VOGGROUPOFVIDEOOBJECTPLANE视频对象平面组,是可选的数据结构,它可以提供对码流的随机访问点VOP脚DEOOBJECTPLANE视频对象平面,它可以看作是VO在某一时刻的表象,即某一核VO2MPEG4视频编码框架以往的视频压缩编码标准如MPEG1,MPEG么1“I263等都是基于矩形帧的视频编码标准,而MPEG4采用现代图像编码方法,利用人眼视觉特性抓住图像信息传输的本质,从轮廓、纹理的思路出发,支持基于视觉内容的交互功能。而基于内容交互功能的关键在于基于视频对象的编码。为此,MPEG4引入视频对象面VOP的概念,面向视频对象进行编码,是基于媒体对象的压缩标准。其编码逻辑结构如图23所示。编码时首先由输入的视频序列定义出VOP类型,针对每一个VOP分别进行编码,将所有VOP编码的结果合成在一起,形成压缩视频数据流。内3MPEG4视频基于VOP的编码基本原理在基于对象的视频编码中,编码的基本单元是视频对象。为了实现基于对象的表示,MPEG4定义了视频对象少。和视频对象平面VOP等概念。根据人眼感兴趣的一些特性,如纹理、运动、形状等,将视频序列的每一帧通过人工、半自动或全自动等方式分割为一些任意形状的图像区域,这些区域被称为视频对象平面,同一对象连续的VOP称为视频对象。从图24可以看出,MPEG4视频基于VOP的编码就是针对运动信息、形状信息和纹理信息等3种信息的编码技术,纹理编码、运动预测和运动补偿部分在原理上同现有标准一致,而形状编码是视频编码标准中第一次引入的技术。当图像序列中被编码的VOP具有任愈形状而非矩形时,必须提供VOP的形状信息,进行形状编码当图像序列中被编码的VOP为矩形时,可不进行形状编码。第2章相关技术背景BITSTREAM图23MPEG4视频编码器框图圈24MPEG4视频墓于VOP的编码框图形状编码形状编码是基于几何轮廓的编码。形状信息的获得首先要对图像进行分析和分割,把各个代表不同内容的目标分割后再用形状表示。在MPEG4标准中,VO的形状信息有两类二值形状信息和灰度形状信息,这两种信息都可以采用位图法BITMAP来表示,位图表示法具有较高的编码效率和较低的运算复杂度。二值形状信息就是用0,1的方式来表示被编码的VOP的形状,0表示非VOP区域,1表示VOP区域灰度形状信息则是在0255之间取值,其中0表示完全透明,255表示完全不透明,它的引入是为了使得前景物体盛加到背景上的时候不至于在边界处显得太过生硬和模糊而进行模糊处理。形状信息的编码就是分别对二值形状及灰度形状进行编码,其中对像素亮度值的编码也是以亮第2童相关技术背景度宏块为单元用纹理编码技术进行编码。二值形状信息使用基于上下文相关信息的算术编码和运动补偿算法进行压缩编码,灰度级形状信息采用基于块的DO,和运动补偿编码。运动信息编码VPEG利用运动估计和补偿技术来去除帧间的时间冗余度。很显然,只有对PVOP和BNOP编码时才需要运动估计。运动信息是反映VOP随时间变化的信息。通过运动预测与补偿,消除VOP的时间冗余度,提高编码效率。MPEG4中的运动预测与补偿帧格式类似于其它压缩标准,所不同的是其他标准中采用的是基于块的技术,而MIPEG中采用的是VOP结构。VOP有3种编码模式帧内编码模式IVOP,帧间编码模式PVOP和帧间双向预侧编码模式BVOP。与形状编码一样,将VOP窗分割为16X16的宏块或8X8块,它可以基于宏块也可以基于块。MPEG4采用了全局运动补偿、块补偿、重盈运动补偿、二维三角形网络预侧、半像素预测、重盈填充和多边形匹配等运动预测与补偿技术,它对预测误差和宏块运动矢量同时进行编码。对于VOP内部宏块,做半像素预测等类似于H263标准的运动预测与补偿对于VOP边界宏块,利用VOP内部的像素值推算出其外部的象素值,把VOP填充为多边形,然后进行多边形匹配运动预侧与补偿。运动矢T的搜索范围可搜盖到VOP外部区域。纹理编码VOP的纹理信息包含在视频信号的亮度分ITY和两个色度分ITU和V中。对于IVOP,纹理信息直接包含在亮度和色度分量中,而对于运动补偿后的VOP,纹理信息包含在运动补偿后的残差中。完全属于VOP内部的8X8块直接进行编码,而对于横跨VOP边界的块,先采用图像填充技术得到VOP之外的象素值,再进行编码。纹理编码过程如图35所示,要经过DO,变换、盆化、DC/AC预侧、扫描、基于HUFMAN的VLC编码。2A流媒体简介随着INTERNET的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频1视频AUDIO/VIDEO,简称AN等多媒体文件时,基本上只有下载和流式传输两种第2章相关技术背景选择。通常说来,AN文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。流STREAMING是近年在INTERNET上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。流媒体包含广义和狭义两种内涵广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术狭义上的流媒体是相对于传统的下载一回放方式而言的,指的是一种从INTERNET上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。由于受网络带宽、计算机处理能力和协议规范等方面的限制,要想从INTERNET上下载大量的音频和视频数据,无论从下载时间和存储空间上来讲都是不太现实的,而流媒体技术的出现则很好地解决了这一难题。目前实现流媒体传输主要有两种方法顺序流PROGRESSIVESTREAMING传输和实时流REALTIME5加幽加9传输,它们分别适合于不同的应用场合。1顺序流传愉顺序流传输采用顺序下载的方式进行传输,在下载的同时用户可以在线回放多媒体数据,但给定时刻只能观看已经下载的部分,不能跳到尚未下载的部分,也不能在传输期间根据网络状况对下载速度进行调整。由于标准的HTRP服务器就可以发送这种形式的流媒体,而不需要其他特殊协议的支持,因此也常常被称作HTTP流式传输。顺序流式传输比较适合于高质量的多媒体片段,如片头、片尾或者广告等。2实时流传输实时流式传输保证媒体信号带宽能够与当前网络状况相匹配,从而使得流媒体数据总是被实时地传送,因此特别适合于现场事件。实时流传输支持随机访问,即用户可以通过快进或者后退操作来观看前面或者后面的内容。从理论上讲,实时流媒体一经播放就不会停顿,但事实上仍有可能发生周期性的暂停第2章相关技术背景现象,尤其是在网络状况恶化时更是如此。与顺序流传输不同的是,实时流传输需要用到特定的流媒体服务器,而且还需要特定网络协议的支持11第3奄嵌入式网络视频监控系统总体设计第3章嵌入式网络视频监控系统总体设计31系统总体设计分析本课题的目的是设计一种嵌入式视频服务器,实现把USL3摄像头采集到的信息通过USS口传输给CPU处理器,CPU处理器对数据进行压缩打包,并通过以太网发送出去。使任意一台连接到该网络上的PC机都能观看摄像头处的视频信息,PC机通过串行口可以做出相应的控制。系统框图如图31所示L1图31嵌入式网络视频监控系统框图本系统的功能结构为嵌入式视频服务器实现视频图像采集、存储和压缩编码工作,并通过INTERNET传输图象到远端主机。PC机端可以对图像数据实现处理如解压显示,也可通过信息交互对该设备终端进行远程控制如设置摄像头采集图像的分辨率、亮度、对比度等参数。通过分析系统的功能需求可知,要设计网络视频服务器,首先要设计一个嵌入式系统,然后再在该嵌入式系统的基础上做视频处理,以及网络开发。本设计采用基于LINUX的嵌入式系统。由于LINUX自身携带丰富的网络协议TCP/IP,以及功能强大的视频处理模块VIDEO4LINUXAPI,因此,设计的一个难点是在嵌第3章嵌入式网络视频监控系统总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江公务员考试真题2025
- 2025年公共卫生知识考试题带答案
- 2025年家庭教育指导师资格考试复习试题及答案
- 2025年麻精药品考试题库(附答案)
- 2025年安全工程师安全生产管理重特大事故起数控制指标模拟试题(附答案)
- 2025年度检验科生物安全考试题(附答案)
- 2025年校长公选面试题及答案
- 幼儿园中班教学活动设计案例
- 山药胚淀粉生产创新创业项目商业计划书
- 2025年造价工程师土建计量石方试题(附答案)
- 《蔚来汽车的SWOT分析》课件
- 智联招聘银行试题及答案
- 麻醉科职责及管理制度
- 血栓闭塞性脉管炎中免疫性血栓形成的分子机制研究
- 2025年艾滋病知识讲座
- 2025年全国企业员工全面质量管理知识竞赛题库及答案(共90题)
- 2025年度融资租赁居间服务合同
- 《隐私保护技术》课件
- 药房管理规章制度目录
- 花坛景观设计59课件讲解
- 大一开学新生的安全教育
评论
0/150
提交评论