嵌入式H.264网络视频监控系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

嵌入式H.264网络视频监控系统设计与研究题目嵌入式H.264网络视频监控系统设计与研究摘要H.264是ITU-T和ISO/IEC联合推出的最新视频编码国际标准,较之以往的视频编码标准有了明显的进步。由于其良好的压缩效率和网络自适应性,H.264将在可视电话、远程监控、移动流媒体、视频压缩存储等领域得到广泛的应用。基于ARM的嵌入式视频监控系统,具有体积小、成本低、稳定性高、实时性好、重量轻,便携等优点,具有很强的实用性价值,可广泛应用于安全监控系统、视频会议、远程同步教学等领域。研究在嵌入式开发平台上实现H.264视频监控具有重要的现实意义。本文设计并实现了一个嵌入式H.264视频监控系统。通过对嵌入式、数字图像处理等技术的研究,提出了基于utu2440开发平台的视频编码系统的设计与优化方案。论文的主要工作从以下几个方面展开:一是分析了H.264主要功能模块和核心算法复杂度,对计算复杂度高、费时多的分子像素运动进行了优化;二是充分利用系统资源配置和ARM处理器特性,结合H.264视频编码的运算量大和存储访问任务繁重的特点对ARM平台进行了优化;三是编写了视频采集应用程序,结合X264源码,完成了视频采集并压缩为H.264/AVC格式的视频数据的功能,实现了视频采集压缩系统的设计与优化,利用UDP协议完成了压缩视频流的发送;最后远程监控端采用DirectShow技术实现了视频解码播放。测试结果表明本系统具有图像压缩率高、质量好(QCIF显示模式)的优点,在utu2440开发板上视频延迟时间小,基本达到监控目的。关键词:嵌入式;H.264;UDP;DirectShow;优化第一章绪论1第二章嵌入式H.264视频监控系统总体方案设计§2.1设计总体方案本课题设计的嵌入式视频监控系统,采用迄今为止最先进的H.264视频压缩标准压缩视频文件,为基于嵌入式的多媒体应用搭建一个应用的基础平台。基于此设计思想,提出系统的总体设计框架如图2.1所示。软件应用软件:视频采集、压缩、Directshow解码播放操作系统:嵌入式Linux内核、根文件系统设备驱动程序硬件USBHOSTRS232JTAGLAN摄像头图2.1系统总体框图服务器端以RISC通用处理器为核心,由SDRAM、FLASH等存储器件和各种通信接口构成嵌入式硬件平台。通过USBHOST接口接入摄像头外设,以捕获视频原始数据。同时设有RS232、JTAG、LAN等用于开发调试的接口。选用免费、开源的Linux操作系统以实现基本控制和网络连接功能;采用H.264对采集的视频进行压缩编码,采用UDP协议实现视频的网络传输。客户端采用H.264解码后用Directshow技术播放接收到的视频。§2.2硬件平台的选择嵌入式处理器是嵌入式系统的核心部件。嵌入式处理器与通用处理器的最大不同点在于它把通用计算机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,并且具有高效率、高可靠性等特征。现今市面上有1000多种嵌入式处理器芯片,其中使用最广泛的有ARM、MIPS、PowerPC、MC68000等。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM[9]微处理器,已遍及工业控制、通信系统、网络系统、消费类电子产品、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场嵌入式H.264网络视频监控系统设计与研究份额,ARM技术正在逐步渗入到我们生活的各个方面[10]。ARM所提供的16/32位嵌入式RISC内核有以下几个系列:ARM7,ARM9,ARM9E,ARM10,SecurCore,StrongARM和IntelXScale。其中,ARM7,ARM9,ARM9E和ARM10为4个通用处理器系列,每个系列提供一套相对独特的性能来满足不同领域的需求。例如SecurCore系列专门为安全要求较高的应用而设计。S3C2440X[11]是韩国三星公司推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器。以手持设备为主,其特点有[12]:功耗低、处理速度快,同时增加了丰富的外围资源,这对系统开发非常有利。作为该芯片的CPU内核,16/32位ARM920TRISC微处理器采用0.13μmCMOS标准单元和存储单元复合体。它功耗极小,简单、稳定的设计非常适合对电源要求较高的产品上。ARM920T核由ARM9TDM1、存储管理单元(MMU)和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB指令Cache和16KB数据Cache组成。该芯片集成了支持TFT的LCD控制器、NANDFLASH控制器、SDRAM控制器、3个通道的UART等等控制器和丰富的外部接口。在时钟方面其也有突出的特点,该芯片集成了一个具有日历功能的RTC(实时控制)和具有PLL(MPLL和UPLL)的芯片时钟发生器。CPU最高主频达533MHz(标称频率为400MHz)。该工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的数据处理。utu2440开发板使用三星S3C2440微处理器,其它资源:10/100MHz自适应以太网控制器,用于网络通信;1通道5线制串口、2通道3线制串口,用于下载程序和打印输出信息;1通道USB1.1主机接口,可接usbhub,扩充多个usb主口,1通道USB1.1设备接口,用于接USB摄像头,及挂载临时程序;SD/MMC卡接口,可用来挂载程序;标准20pinJTAG调试接口,主要用来下载引导程序U-BOOT;标准配置64MBytesNand-Flash用于存放启动代码、内核、根文件系统,服务端程序等;标准配置64MBtyesSDRAM存储程序,启动代码启动后,由UBOOT的前4K代码负责把UBOOT从nandflah复制到SDRAM中,然后在SDRAM中执行整个系统的启动;支持的操作系统:WINCE/Linux。鉴于utu2440的以上特性,以及成本低的特点。非常适合本系统的开发,因此选用utu2440开发板作为本系统的硬件平台。开发板实物如图2.2。第一章绪论3图2.2utu2440开发板实物图§2.3软件平台§2.3.1视频采集方案本节介绍在utu2440开发平台上基于VideoforLinux的实时视频采集方案,USB摄像头因其价格低廉、性能良好而广泛应用于可视电话、视频聊天、视频监控等领域,同时以其灵活、方便的特性,易于集成到嵌入式系统中。摄像头由主控芯片和传感芯片组成。其中,主控芯片负责图像采集、压缩以及和主机的通信,传感芯片用于感应光信号转换为模拟或数字视频电信号。对于主控芯片为OV511、zc030x系列的主流USB摄像头,Linux内核可提供驱动程序支持。采用OV511芯片的摄像头采集的图像为RGB格式,数据量较大不利于实时采集和处理;采用zc030x主控芯片的摄像头支持JPEG格式和4:2:0采样的YUV原始视频数据输出,数据量小,可直接作为H.264等视频压缩编码标准的原始视频数据源,避免了对图像的重采样和色彩空间的变换等复杂的数字运算处理,非常适合于嵌入式的实时视频采集应用,已成为国内市场的主流。系统选择市场上常见的中星微USB摄像头,其采用的主控芯片为zc0301,图像传感芯片为HV7131R,图像象素为130万,最大分辨率为640×480。驱动程序选用gspca/spcasxx,所用版本为gspcavl-20080605。嵌入式H.264网络视频监控系统设计与研究§2.3.2视频编码方案H.264标准是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(运动图像专家组)的联合视频组(JVT,JointVideoTeam)开发的标准,也称为MPEG-4AVC,它作为MPEG-4Part10,是“高级视频编码”。H.264比H.263节约50%左右的码率,所以它有更好的IP、更高的压缩比和无线网络信道的适应性。H.264具有较强的抗误码特性,可适应丢包率高、干扰严重的信道中的视频传输。H.264支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。在数字视频通信和存储领域H.264得到越来越广泛的应用。鉴于H.264的以上优点,我们采用H264实现视频的编解码。H.264标准包含了三大开源编码器,它们分别是JM、X264、T264[13]。JM:特点:实现了H.264标准规定的所有特性,但其程序结构冗长,在引入各种新特性以提高编码性能时,却忽视了编码复杂度,其编码复杂度极高,实用性不强。X264:特点:注重实用。和JM相比,在不明显降低编码性能的前提下,努力降低编码的计算复杂度,故X264摈弃了JM中一些对编码效率贡献微小但计算复杂度极高的特性。T264:特点:和X264的出发点相似,并吸收了JM、X264、XVID的部分优点。为了选择更佳的编码器,我们对上述三大开源编码器做了如下测试:一:测试环境CPU:赛扬2.13GRAM:1GDDRIIOS:WindowsXP编码器版本:JM:JM86。选用不同分辨率qcif和cif,所有测试序列帧率都采用30fps。X264:x264-060330版本。T264:0.14版本。编码选项:由于X264和T264是基于基本档次的,所以JM采用baselineprofile。T264采用fastmode。量化步长依次选择为:24、28、32、36。二:测试的可行性由于我们测试的是编码器本身综合编码效率的优劣,因此在Intel处理器Windows操作系统上的测试结果同样适用于ARM处理器Linux操作系统中,即:如果在Windowsxp上编码器的编码效率从高到低的测试结果依次为:X264T264JM86,则在utu2440开发板中的测试结果同样有X264编码效率优于T264及T264优于JM86。而在Windowsxp上测试速度更快、更方便,所以选用在Windowsxp上测试,以节约开发时间。当编码器选用JM86,测试输入文件采用foreman_qcif.yuv,量化步长QP=24时,第一章绪论5测试输出如图2.3、图2.4。其它测试截图不一一列出。图2.3JM86测试输出截图嵌入式H.264网络视频监控系统设计与研究图2.4JM86测试输出截图三:实验结果分析1)PSNR:相同输入格式下三个编码器的表现相差很小。不同输入格式下JM86的y、u、v差异稍大,X264和T264差异很小,尤其是y分量差异很小,最大差异为2.07db。2)码率:Cif序列的码率是qcif序列的三倍多,qp越大倍数减少。3)编码速度:在同一视频序列下x264是jm86的90-300多倍,t264是x264的1.6倍左右,对同一个编码器qcif编码速度是cif的4倍左右,而在t264下,其倍数达4.5倍左右,说明t264对低分辨率序列的编码比较有效。4)分辨率提高n倍,为了得到相近的编码质量,输出码率和所用的编码时间也要增加近n倍。四、实验结论1)X264X264和JM86相比,其编码性能和JM86相当或更好的情况下,其编码速度可以提高90-300倍。这体现了X264编码非常有效。2)T264T264和JM86相比,编码速度有了更大的提高,但其编码性能下降很大,除了第一章绪论7传输带宽比较大或延时要求极其苛刻等这些特殊场合,T264(fastmode)的意义不大。3)T264highT264high在编码性能不如X264,而且编码速度也不如X264。总之,JM86编码效率不如T264,T264的编码效率不如X264。基于以上结论本文采用实效性更强的X264作为编码器。§2.3.3视频传输方案视频传输可以选择TCP与UDP。TCP(TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由IETF的RFC793说明。在简化的计算机网络OSI模型中,它完成运输层所指定的功能。在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功