基于ARM的视频监控系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类号:密级:
U D C:编号:
学位论文
基于ARM的视频监控系统的设计
程杰
指导教师姓名:王宝珠教授河北工业大学
申请学位级别:硕士学科、专业名称:电子与通信工程论文提交日期: 2013年3月论文答辩日期: 2013年4月
学位授予单位:河北工业大学
答辩委员会主席:
评阅人:
2013年4月
Dissertation Submitted to
Hebei University of Technology
for
The Master Degree of
Electronics and Communications Engineering Design of video surveillance system based on ARM
by
Cheng Jie
Supervisor: Prof. Wang Baozhu
April 2013
基于ARM的视频监控系统的设计
摘要
随着信息技术的不断发展,视频监控从早期的模拟监控进入了数字监控时代,计算机网络技术的快速发展,特别是嵌入式技术的逐渐普及,使得基于嵌入式技术的网络视频监控系统正逐渐取代一些传统的数字视频监控设备。
嵌入式网络视频监控系统具有体积小、成本低、稳定性高、实时性好等优点,具有广阔的发展前景。
本文首先介绍了国内外视频监控系统的发展现状及未来趋势,分析了嵌入式网络视频监控系统的特点和关键技术;在此基础上,提出了一种基于ARM11和嵌入式Linux的远程视频监控系统的方案,硬件系统采用Tiny6410开发板作为嵌入式硬件开发平台。
Tiny6410的核心板S3C6410集成了ARM1176JZF-S型号的CPU,正常运行频率可达553 MHz,具有高性价比、低功耗等特点。
它采用32位内部总线架构,S3C6410内置强大的多媒体处理单元,可进行图像的处理、音频的处理、显示操作和缩放。
在系统监控终端,使用现代的Z301摄像头通过USB接口与开发板相连,向S3C6410提供YUY2格式的视频帧。
系统软件设计方面,在利用V4L2接口对数据进行采集的基础上,选择了具有高压缩效率的H.264压缩标准,通过CPU内部集成的MFC模块实现对视频流的硬件压缩。
本系统通过将BOA 移植到运行于ARM11开发板上的Linux系统中,建立了嵌入式web服务器,为远程客户端提供基于HTTP协议的网络接入方式,通过CGI脚本对远程客户端的请求进行响应,发送经过编码的视频数据包。
本文完成了图像的采集、编码、传输、显示模块的设计,在局域网内进行了调试与验证。
在客户端应用了能够接受实时网络流的VLC开源软件,来接收目标板上服务器通过套接字发送的网络串流,它融合了FFmpeg与Libdvdcss库可以对大部分的视频数据进行解码与播放。
实验结果表明:系统设计合理,方案可行,在发送帧率达到25fps时能够正常显示,丢包率很低。
关键词:视频监控,嵌入式系统,图像采集,图像压缩,图像传输
i
DESIGN OF VIDEO SURVEILLANCE
SYSTEM BASED ON ARM
ABSTRACT
Along with the continuous development of information technology, video surveillance from early analog control into the digital era, and the rapid development of computer network technology, in particular the increasing popularity of embedded technology, making the network video surveillance system based on embedded techn- ology is gradually replacing some traditional digital video surveillance equipment. Embedded network video surveillance system has the advantages of small size, low cost, high stability, good real-time, and has broad prospects for development.
This paper first introduces the development status and future trends of the video surveillance system at home and abroad, the analysis of the characteristics of the embedded network video surveillance system and key technologies; proposed based on an ARM11 embedded Linux-based remote video surveillance system program, the system structure of a Tiny6410 development board as an embedded development hardware platform. The core board S3C6410 integrates ARM1176JZF-S CPU models, the normal operating frequency up to 553 MHz, and has a high cost, low power consumption, it uses 32-bit internal bus architecture S3C6410 built-in powerful multimedia processing unit can be image processing, audio and video processing, and display operations and scaling. Monitoring terminal in the system, the use of modern the Z301 camera connected by USB interface development board, to S3C6410 the YUY2 format of video frame. The system software design aspect, in V4L2 interface for data collection, is selected having a high compression efficiency of the H.264 compression standard hardware compression of the video stream, the first by internal CPU integrated MFC module. The system by boa ported to Linux systems running on the ARM11 development board, the establishment of an embedded web server for remote clients to provide network access based on the HTTP protocol to respond to requests for remote clients by CGI scripts sending a coded video data packets.
This paper completed video capture, encoding, transmission, and display module design, debugging and verification in the LAN. VLC in the client can receive network streaming from target board server via the socket, it blends the FFmpeg with Libdvdcss library can decode and play most of the video data. Experimental results show that: the system design is reasonable and feasible, and can be displayed properly when sending the frame rate is more than 25fps, packet loss rate is very low.
KEY WORDS: video surveillance,embedded system ,image acquisition, image compression, image transmission
ii
目录
第一章绪论 (1)
§1-1 课题来源与研究意义 (1)
§1-2 视频监控发展现状 (2)
§1-3 视频监控发展趋势 (2)
§1-4 本论文系统方案与章节安排 (3)
第二章嵌入式硬件开发环境的搭建 (5)
§2-1嵌入式系统概述 (5)
2-1-1嵌入式系统概念 (5)
2-1-2嵌入式系统的发展 (5)
§2-2 ARM处理器 (6)
§2-3 S3C6410核心板 (7)
§2-4 Tiny6410开发板 (8)
§2-5 硬件模块介绍 (9)
2-5-1多格式编解码器 (9)
2-5-2 存储器系统 (10)
2-5-2 串口模块 (10)
2-5-3 JTAG模块 (11)
2-5-4 SD储存卡 (11)
§2-6硬件系统总体设计 (12)
§2-7本章小结 (12)
第三章嵌入式系统的移植 (13)
§3-1软件开发环境的搭建 (13)
3-1-1 建立宿主机开发环境 (13)
3-1-2 建立交叉编译开发环境 (14)
§3-2 Uboot的制作与移植 (14)
3-2-1 Uboot工作原理 (14)
3-2-2 Uboot执行文件 (16)
§3-3内核与文件系统的定制与移植 (17)
3-3-1 linux系统体系结构 (17)
3-3-2 Linux内核的研究 (18)
3-3-3 内核的配置与编译 (20)
3-3-4 根文件系统的制作 (21)
3-3-5 Linux系统的移植 (22)
§3-4本章小结 (24)
iii
第四章图像采集与编码的实现 (25)
§4-1软件总体设计 (25)
§4-2摄像头图像采集的设计 (26)
4-2-1 采集前端的摄像头设备 (26)
4-2-2 基于V4l2的采集模块的设计 (29)
4-2-3 基于MFC的压缩模块的设计 (34)
§4-3本章小结 (37)
第五章嵌入式Web服务器的实现 (38)
§5-1传输模块的设计 (38)
§5-2实验结果与分析 (42)
§5-3本章小结 (46)
第六章总结 (47)
参考文献 (48)
致谢 (50)
攻读学位期间所取得相关科研成果 (51)
iv
第一章绪论
§1-1 课题来源与研究意义
由于社会的进步、科技的不断发展,当视频监控出现时,监控从此获得了跨越式的发展,从采用人力对事物进行监控,到以图像和声音的形式更加直观、及时出现在监控终端能够达到的地方,从此想要对事物进行现场查看才能达到的监控效果可以在你的监控室通过从摄像头采集的图像再经过闭路线路到达显示器这样的方式达到,这是最早期的模拟视频监控方式。
伴随着科技的发展我们总是不断地思考如何更好的进行视频监控,包括如何提高图像的清晰度,如何减少设备的体积,如何让信号达到更远的地方,如何减少视频传输的延时,如何让监控从业人员观看到更加的信息化与智能化。
模拟监控设备已经在现代社会的各个领域起到了不可估量的作用,更不用说现阶段已经普及的各种的数字监控设备,它可以传输更加清晰的画质,通过计算机对图像进行处理,从普遍的压缩、存储、传输、显示到进行智能化的分析,进行物体追踪,识别,报警等服务。
我们已经进入了一个到处都有视频监控概念的时代。
随着经济的发展,流动人口越来越多,社会环境也愈发复杂,也对视频监控提出了更高的要求。
例如,今日天津市公安局《关于加强我市技术防范网络体系建设的实施意见》经市政府同意,正式发布。
提出了在全市街头路面累计规划建设10.5万个高清视频监控点位、900处高清电子卡口的目标。
还明确了今后全市技防网络将与社会管理工作紧密结合,逐步实现全域覆盖、全时监控、全息感知、全景分辨。
视频监控设备的发展为人们居家生活提供了安全保障,当老人或小孩单独在家的时候,如果做子女或父母的不放心,就可以在家中安装一个摄像头,并通过无线传输手段,从单位的电脑或随身的手机即时看到老人或孩子在家的情况。
如果老人孩子出现情况,也能够及时了解,做出快速反应。
电子监考已经广泛地应用了摄像监控设施,摄像头安装在考场的后墙上,可以无死角地观察到整个考场的情况,并且具备变焦和自动聚焦功能,电子监考已经在全国许多省市普及开来。
不光在民用领域视频监控有着越来越重要的作用,像监狱的自动化监控、水文站的无线数据采集、森林防火、油田的自动化管理系统等方面都对是屁监控提出了跟高的要求。
在安防监控领域里,我国相对于国外的监控技术与服务还有一定的距离,需要有更多的人力的投入和技术产品的不断发展。
我很高心有机会对视频监控领域的进行一些了解,并选择远程视频监控作为我本文的课题。
1
§1-2 视频监控发展现状
伴随着信息技术的不断发展,视频监控从早期的模拟监控进入了数字监控时代,并且由于嵌入式技术的逐渐普及,嵌入式视频监控产品也在逐渐取代一些传统的数字视频监控设备。
首先,第一代的视频监控系统虽然没有数字视频监控系统的图像质量、传输便宜性和功能上的多元化等优势,但是由于它在使用上的简易和已经被人们所长时间的习惯性使用,而且成本也比较低,所以他还没有完全退出市场。
在2005年之前是模拟监控时代品,但是由于国内公司的技术研发比较落后,主要采用产品的逆向研究,然后进行模仿制造,在购买了国外的芯片和镜头后然后加上一些自己开发的简单外设然后推向市场。
[1]
在2005年之后,数字视频监控在天地伟业、深圳永辉、日森电子、深圳缔佳、深圳百安信等一大批视频监控公司的大力推动下,得到了跨越式的发展。
到08年时奥运会时,以IP网络摄像机为代表的嵌入式网络视频监控技术得到了快速的发展。
这个时期国内视频监控的市场分布中交通监控、商业住宅监控、公检法系统、政府机关等占了将近六成的市场份额,其他领域包括医院、部队、边防、煤矿监控等使用率也在快速的提高。
2010年,国内高清监控产品和应用市场有了长足的发展。
高清监控在上海世博会等一批高端项目的应用对中国高清监控市场的发展起到了实质性的推动。
高清监控产品的研发、制造和应用已经成为行业发展的方向和新的增长点。
国内视频监控厂商对高清监控的热情集中爆发,几乎所有的视频监控厂商都宣称推出了高清、智能化的视频监控产品。
“高清”几乎成为视频监控的代名词。
与此同时,监控设备厂商纷纷向全线监控产品和提供行业整体解决方案的方向发展。
以上是关于视频监控技术的几个发展阶段和市场对于数字视频监控系统的不断地接受和提出更高的要求。
[2]数字视频监控的特点是从采集前端开始对信息进行了数字化,在传输之前进行了各种格式的压缩编码。
特别是像H.264这种逐渐普及应用的编码方式极大地提高了信息的传输效率,为提高网络化传输的性能提供了很大的技术支持。
网络化的监控系统使用了开放式的协议,支持网络的各个子系统进行无缝连接,实现了在统一的监控终端上对监控资源进行快速和合理的配置与管控,而且由于设备的简易和多元化,使得在使用监控的环境中能够假设足够数量的监控设备,能够实现多方位多角度对区域实施无死角的监控。
例如,现在为了加强对于幼儿园的幼儿的保护和照顾,有越来越多的地方选择在幼儿园安装全方位的网络视频监控系统。
整个市场对于网络视频监控的了解使用和认可,也使得监控技术的不断革新与改进,使得网络视频监控设备成为了主要的市场增长点。
虽然中国市场的成熟度相对于全球市场略有欠缺,但是中国市场在整体需求、增长速度上具有更多的发展机会。
此外,由于中国视频监控市场的部署基础相对较小,因此在技术切换的速度上,将更具优势。
§1-3 视频监控发展趋势
在传统的网络监控设备为我们的生活提供巨大地帮助与支持的同时,嵌入式技术,网络技术、模糊智能技术等与视频监控的发展息息相关的科技也在不断地在实践中应用与改革。
我们也在期待更加高清2
和智能化的视频监控设备出现在生活中。
随着3G的普及以及WIFI无线网络的大范围覆盖,基于智能手机的移动视频监控方式会被越来越多的出现在我们的视野中。
当前端的摄像头将实时画面通过互联网发送到手机客户端时,就可以通过视频图像对远端实施监控。
除了在使用的便宜性上推陈出新以外,对于监控系统的智能分析能力的提高,也是一个主流的发展趋势。
对视频的智能分析主要是采用先进的图像识别技术,对画面中可能出现的人或各种事物惊醒识别,并对各种可能的信号提供相应的服务。
[3]下面对各种功能进行简要的介绍:能够对画面中所记录的移动的物体做出类别的区分;对于越过默认的曲线或位置的移动目标做出非法越界的报警响应;能将捕捉到的移动的目标的运动轨迹进行记录并进行分析,然后根据预先定义的服务做出响应;对于适当的应用场合中出现的事物进行确认与记录,当画面中目标发生变化时,发出提示或警报;对于在公共场所的捕获图像与数据库中定义的各种异常行为进行交叉比对,如果发现任何一种匹配情况,都会发出对应的提示信息;也可以应用在生产车间里,对流水线上的产品进行监控并且通过分析图像对数量进行记录。
对于不同的应用场合,所要求的监控服务特点也不太相同,这就需要对于不同的服务要求提出和实现不同的算法,也需要在技术领域提高以外,对于监控系统的维护与服务质量的提高方面更加的专业化。
对于视频监控网络化的发展给我们的使用带来了极大的方便,但是同时潜在的信息泄露,网络入侵等一系列在互联网上不断出现的层出不穷的挑战,尽可能的做出准备,例如对于安全级别较高的监控设备,实行封闭式管理,而不是连接到互联网。
对于有很高实时性要求的应用环境,如何去解决系统响应速度以及网络延时或者数据丢包等问题,提出网络的优化方案。
因为作为安防系统的智能视频监控系统在系统的可靠性与稳定性上要求较高,对于不断发展的基于嵌入式系统的前端与服务器组成的网络系统的稳定性提出了要求,服务的要求越高,系统复杂度越高,稳定度就会成为新的问题,如何平衡复杂度与稳定度的问题将伴随整个智能视频监控发展。
[4]
§1-4 本论文系统方案与章节安排
本论文采用高性能的硬件平台,在嵌入式Linux系统下使用V4L2接口对数据进行采集,选择了具选择很高压缩效率的H.264压缩标准,通过CPU内部集成的MFC模块实现对视频流的硬件压缩,在移植到系统的boa服务器上编写了CGI脚本对远程客户端做出响应。
在客户端中,通过VLC软件完成了对经过网络传输到客户端上的视频数据的解码与播放,完成了包括视频的采集、编码、传输、显示各个功能模块的整个系统设计。
本论文章节安排如下:
第一章绪论,主要内容是课题的来源与研究的意义,介绍了视频监控的发展状况和未来的趋势,最后是本论文的方案与工作安排。
第二章硬件开发环境的搭建,主要介绍了嵌入式系统的组织,通过系统讲述嵌入式硬件的结构,最后提出了本文的硬件系统方案。
第三章嵌入式系统的移植,在完成了引导程序Uboot的移植后,对arm11目标平台上的Linux系统进行了配置、编译和移植。
并且完成了软件开发环境的测试工作,组建了用于开发测试的局域网。
第四章采集和传输模块的设计,用Linux内核中的驱动v4l2提供的接口函数,完成了对图像的前
3
端采集工作。
在对开发板的多媒体功能模块的驱动进行移植测试后,以硬件压缩的方式完成了是图像压缩的功能设计。
第五章嵌入式web服务器的实现,具体讲述的网络套接字的工作流程,通过boa服务器的通用网络接口对远程客户端做出响应,执行CGI脚本,完成视频采集压缩的启动工作,并通过网络套接字方式对数据帧进行传输,最后在客户端上对数据解码与播放。
第六章总结
第二章嵌入式硬件开发环境的搭建
§2-1嵌入式系统概述
2-1-1嵌入式系统概念
嵌入式系统是计算机软件与硬件的综合体,也包括机器和其他的附属装置,而这个综合体设计的目的是满足对某种特殊功能的要求。
从另外的一个角度可解释为以应用为中心,以计算机技术为基础,软硬件可裁剪,系统对功能、可靠性、成本、体积、耗电量和应用环境有特殊要求的专用计算机系统。
它是将应用程序、操作系统和计算机硬件进行定制并集成在一起的系统。
简单的说,就是软件加值硬件(通过软件为硬件提高价值)。
以ARM架构的CPU为例子它加上不同的设备,以及不同类型的嵌入式操作系统与应用软件,可以开发出完全不同用途的电子产品。
[5]
嵌入式硬件系统包括CPU、内存、输入设备以及输出设备这4个主要设备组成。
计算机系统必定是为了解决某种特殊的问题而设计,复杂的PC是这样,嵌入式系统更是如此,解决问题的过程包括数据的输入与结果的输出。
在嵌入式系统领域中,除了处理数据的算法因为产品应用的领域而不同之外,输入与输出的种类非常多,而且一般都要对硬件进行直接的操作。
例如,空调的恒温控制器接收检测温度的传感器提供的数据,通过算法处理数据后,输出信号对冷气调节开关进行控制;虚拟运动游戏中采用的无线游戏杆,输入的是游戏者不断运动导致的方位变化以及按下的按钮产生的数据,然后通过红外线将数据送到游戏主机中。
[6]
嵌入式系统有着非常广的应用范围,从家里的冰柜、机顶盒、微波炉、游戏机到学习用的电子词典、Ipad到每天使用的手机、汽车的行车控制系统、视频监控终端;甚至在一个大系统中,包含了许多的微型嵌入式系统,像PC机的显示器、光驱、键盘中都有一个子计算机系统。
由于电子产品的应用环境各有不同,很难建立一套统一的开发标准,没有一个国际标准组织,也没有规定一定要用哪个CPU或开发语言,但是无论开发什么电子产品,基本的开发思路与技巧是相似的。
2-1-2嵌入式系统的发展
嵌入式系统的早期阶段,硬件架构比较简单。
例如8位的CPU,其软件子系统是采用一体化的监控程序,不存在操作系统平台。
MCS-51单片机是低端嵌入式系统中用得最多的微处理器。
16位微处理器有MCS-96系列单片机和16位DSP等。
ARM是使用很广泛的32位嵌入式芯片。
1981年世界上第1个嵌入式实时内核VTRX32由Ready System开发,它包含了许多传统操作系统的特征,包括进程管理、内存管理、进程间通信、同步与排斥、中断机制功能。
随后又出现了如PSOS、IMG的VxWork, Palm OS,WinCE,Embedded Linux,Uclinux , QNX等,以及国内的Hopen、Delta OS
等嵌入式操作系统。
[7]
计算机系统里会有一个主控IC,最常见的是MCU和Soc,还有擅长处理信号的DSP等。
CPU最主要功能是解释内存中的指令以及处理内存中的数据,它遵循了Von Neumann Architecture,运行过程分为4个阶段:Fetch、Decode、Execute、Write-Back。
CPU是一个概念性的名词,可以用它称呼任何主控芯片。
MCU微控制器是把CPU、内存、timer、I/O Interface等都整合到一块集成电路芯片上的微型计算机。
它不用过多的连接外部硬件,体积小,功能简单。
SoC是将完整的计算机系统与部分外接电路放到一个芯片内,这个芯片可能包含有数字与模拟电路,以及射频电路等。
ASIC(Applicantion-Specific Intergrated Circuit),它根据特定的用途而设计的特殊规格的逻辑芯片。
作为集成电路与特定用户的整机或系统技术紧密结合的产物,具有体积更小、功耗更低,性能加强、成本降低等优点。
FPGA,主控芯片可以直接在其上面使用具有可程序化的逻辑电路的芯片。
DSP它具有特殊硬件与指令设计,分开了程序与数据存储器,使得更加高效的存取数据。
所以说CPU 更擅长于控制,而DSP适合运算处理。
§2-2 ARM处理器
ARM公司在1991年英国剑桥成立,主要出售芯片技术的授权。
目前,ARM技术正在逐步占据我们生活中电子产品消费的各个领域,包括消费类电子产品、通讯信息系统、网络系统、工业控制等, 32位RISC微处理器约7成的市场份额被ARM微处理器所占据。
特别是占据了手机市场的垄断地位,并且由于32位CPU价格不断下降和开发环境的进一步成熟,ARM会被使用的更加广泛。
[8] ARM公司专门从事基于RISC技术芯片的技术开发,公司本身并不直接从事芯片生产,世界上各大半导体生产商购买了ARM微处理器核的技术,然后根据不同的应用领域,加入适当的外围电路,从而形成各自的ARM处理器IC,利用这种合作关系,ARM很快成为全球性的RISC标准的缔造者。
全世界各大半导体公司包括IBM、LG、SONY、SAMSUNG、NEC、INTEL等公司都是用ARM公司的授权,这使得ARM技术获得了更多的第三方工具、制作、软件的支持,又使整个系统的成本降低,使得产品进入市场时更具竞争力。
ARM作为精简指令集计算机架构的处理器,着眼于使得CPU的硬件结构更加简单,选取了使用频率最高的简单指令。
舍弃了复杂指令,固定了指令长度,减少了指令格式和寻址方式,使得ARM有了更多的通用寄存器,它有独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
ARM体系结构版本从V1发展到V7,前3个版本采用冯诺依曼体系结构,从v4开始采用哈佛结构,同时指令集功能和地址空间都在不断扩大。
同种的体系结构可以有多种的CPU,它们有各自的应用领域。
§2-3 S3C6410核心板
S3C6410 是RISC指令的微处理器,具有高性价比、低功耗等特点,它采用了32位内部总线架构,它包含了强大的硬件加速器,包括图像的处理、音视频的处理、显示操作和缩放。
特别是本论文要重点使用的多格式编解码器(MFC)支持系统对MPEG-4、H.263\H.264等压缩标准的图像的硬件压缩编码与解码,H/W编解码器支持实时的视频会议和TV的输出。
[9]
S3C6410处理器有一个优化的接口与外部存储器相连接,存储器系统具有双重外部存储器端口、DRAM和ROM/DRAM/FLASH端口,DRAM端口可以配置为移动DDR和移动SDRAM,ROM/DRAM/FLASH端口支持NOR-FLASH和NAND-FLASH.除此之外,它还包括许多硬件外设:相机接口、TFT24位真彩液晶显示控制器,系统管理器,4通道UART,32通道DMA,4通道的Timer,以及Common I/O Interface ,IIS和IIC 总线接口。
USB主设备接口,SD卡及高速多媒体卡接口,还有产生时钟的PLL。
S3C6410核心板集成了ARM1176JZF-S型号的CPU,正常运行频率可达553MHz,配备了256MB的DDR RAM,以及2GB的MLC NAND-FLASH。
它采用5V电压供电,并且在板上实现了CPU所需的各种电压的转换。
通过2.0mm的排针引出了各种所需的接口资源。
S3C6410共有187个GPIO接口。
Tiny6410核心板采用2.0mm的双排插针,P1与P2各为60Pin,CON1和CON2都是30Pin,还有10Pin的JTAG接口。
其中P1接口包含了AD、LCD、SDIO2、USB、TVOUT0、中断等;P2包含了SDCARD、SPI1、I2C、I2S、串口、系统总线等接口;CON1包含GPIO、AD、TVOUT1、SPI0等信号;CON2包含CMOS和GPIO等接口,如图2.1为核心板布局图。
图2.1核心板布局图
Fig.2.1 Diagram of Core board layout。