当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ARM9的嵌入式3G无线视频监控系统设计

国内外市场上主要推出的是数字控制的模拟视频监控和数字视频监控两类产品。前者的技术发展已经非常成熟,产品性能稳定, 在实际工程中得到了广泛应用。

后者是新近崛起的以计算机技术及图像视频压缩技术为核心的新型视频监控系统, 该系统在解决模拟视频监控系统的部分弊端的基础上迅速崛起。在互联网的普遍推广和网络带宽逐渐提高的背景下,视频监控技术飞速发展, 出现了集多媒体技术、网络通信技术、嵌入式技术于一体的嵌入式网络视频监控系统。

目前国内嵌入式视频监控系统的研究有了很大的发展, 但是国内对嵌入式无线视频监控系统的研究还比较少。本文介绍了自主开发的基于ARM 的嵌入式无线视频采集系统设计方案。该方案采用S3C2410 嵌入式处理器和ARMLinux 操作系统, 利用通过自行开发的视频服务器软件,通过3G无线上网卡完成客户端与视频服务器的通信。介绍了系统的硬件结构、服务器端软件的总体结构、驱动程序的构建、图像的采集和压缩以及传输模块的设计,并进行了测试。实验结果表明, 系统采用H.264 编码技术在保证视频传输质量的同时具有良好的带宽适应能力。

1 系统总体结构

本系统由监控现场摄像头、嵌入式视频服务器、客户端三部分组成。监控现场的摄像头实现图像的采集,并把采集的图像信息通过内部总线传送给嵌入式视频服务器。嵌入式远程视频监控系统是一个基于S3C2410处理器、H.264 压缩、Web 服务器和Linux 操作系统的嵌入式系统, 它的主要功能是对摄像头采集到的图像进行H.264 压缩编码, 并对编码后的图像通过3G 无线网络进行传输。客户端主要完成图像的接收和解压缩, 用户可以通过Web 浏览器访问嵌入式视频服务器来观看摄像头采集到的图像,从而实现远程视频监控。嵌入式远程视频监控系统总体结构如图1 所示。

图1 嵌入式远程视频监控系统总体结构

2 系统硬件结构

系统硬件由图像传感器MI360 、3G 无线模块MC8630 、图像压缩芯片ZC0301 、微处理器芯片S3C2410 、以太网控制芯片、SDRAM 等芯片组成。S3C2410 具有低功耗、精简而出色的全静态设计等特点,具备MMU 存储器管理功能, 拥有独立的16 KB 指令和16 KB 数据缓存,在高性能和低功耗特性方面提供了可靠的性能。无线模块选用中兴3G 模块MC8630, 数据速率为前向:3.1 Mb/smax,反向:1.8 Mb/s max 。

为了降低成本, 简化设计, 本方案选用中星微的ZC0301 作为视频压缩编码芯片,Vimicro ZC0301 主要由系统控制、图像信号处理、次取样和水平扫描、JPEG 编码器和USB 设备控制五大功能模块组成。CMOS 图像传感器选择美光的MI360 , 它采用VGA 标准(30 万像素) ,感光面积为1/4 英寸, 有效像素649H ×489H, 采用低噪声技术,噪声等级达到CCD 标准。MI360 和ZC0301 压缩编码芯片完成视频数据的采集、压缩和编码。系统硬件结构如图2 所示。

图2 嵌入式监控系统硬件结构

3 系统软件结构

本嵌入式远程视频监控系统软件由摄像头驱动模块、图像采集模块、H.264 图像压缩模块、嵌入式Web 服务器组成。摄像头驱动模块实现摄像头在Linux 操作系统下的正常工作, 并为应用程序提供接口。图像采集程序获取摄像头传送过来的图像信息并进行暂存。H.264压缩模块完成对原始图像的编码处理。嵌入式Web 服务器实现图像数据处理与网络传输。嵌入式Web 服务器一般由5 个主要模块组成: 嵌入式HTTP 引擎、安全模块、应用程序接口、文件系统和配置模块[ 2]。由于开发平台采用的嵌入式操作系统为ARMLinux , 具有成熟的文件系统, 提供文件访问的接口, 可以直接使用文件系统提供的读写接口访问嵌入式Web 资源文件, 不需要另外设计文件系统。嵌入式视频监控系统软件体系结构如图3 所示。[!--empirenews.page--]

图3 嵌入式视频监控系统软件体系结构

3.1 摄像头驱动程序设计

图像的采集工作由图像传感器MI360 和视频压缩芯片ZC0301 完成,ZC0301 通过USB 接口和S3C2410 相连,因此驱动程序主要是对Linux 下USB 驱动程序的开发,ZC0301 的驱动独立开发难度较大, 主要是既要考虑图像采集芯片的驱动, 还要考虑USB 的驱动, 且Vimicro 没有公布ZC0301 的详细技术资料。Linux 下ZC0301 的驱动程序有开源代码, 根据本系统的开发平台进行修改、移植、重新编译内核等操作可以完成ZC0301 的驱动程序。

3.2 图像采集模块设计

Video4linux(V4L) 是Linux 的影像串流系统与嵌入式影像系统的基础,是Linux Kernel 中支持影像设备的一组APIs , 配合适当的视频采集卡与视频采集卡驱动程序,可以实现影像采集、AM/FM 无线广播、影像CODEC、视频切换等功能。Video4linux 为二层式架构, 上层为Video4linux 驱动程序本身, 下层架构则是影像设备的驱动程序。这里用到的是Video4linux 的上层驱动程序, 即Video4linux 本身所提供给程序开发人员的APIs 。

Video4linux 视频图像采集流程如图4 所示。

图4 Video4linux 视频图像采集流程图

3.3 H.264 图像压缩模块设计

H.264 是ITU-T 视频编码专家组(VCEG) 和ISO/IEC活动图像编码专家组(MPEG) 的联合视频组(JVT) 开发的一个新的数字视频编码标准。在技术上,H.264 标准有很多优势,如统一的VLC 符号编码,高精度、多模式的位移估计,基于4×4 块的整数变换、分层的编码语法等。这些措施使得H.264 算法具有很高的编码效率, 在相同的重建图像质量下能够比H.263 降低50%左右的码率。

H.264 的码流结构网络适应性强, 增加了差错恢复能力, 能够很好地适应IP 和无线网络。H.264 能以较低的数据速率传送基于IP 的视频流, 在视频质量、压缩效率和数据包恢复丢失等方面,超越了现有的MPEG-2、MPEG-4 和H.26x 视频通信标准, 更适合窄带传输,是目前监控系统最为理想的信源压缩编码标准。[!--empirenews.page--]

相对于有线网络而言,无线网络状况更不稳定,除去网络流量所造成的传输速率的波动外, 设备的移动速度和所在位置也会严重地影响到传输速率。其次, 无线信道的环境也要比有线信道恶劣得多,数据的误码率也要高许多,而高压缩的码流对传输错误非常敏感, 还会造成错误向后面的图像扩散, 因此无线流媒体在信源和信道编码上需要很好的容错技术。错误恢复的工具随着视频压缩编码技术的提高在不断改进。旧的标准(H.261、H.263、MPEG-2 的第二部分)中,使用片和宏块组的划分、帧内编码宏块、帧内编码片和帧内编码图像来防止错误的扩散。之后改进的标准(H.263+,MPEG-4)中,使用多帧参考和数据分割技术来恢复错误。H.264 标准在以前的基础上提出了三种关键技术来进行错误的恢复, 分别是参数集合、灵活的宏块次序(FMO)和冗余片(RS)。FMO 是H.264 的一大特色,可以是一帧中的宏块顺序分割,使分割后的片的尺寸小于无线网络的MTU 尺寸,避免在网络层再进行一次数据分割,降低了数据传输的额外开销。

3.4 嵌入式Web 服务器设计

本系统选用适合嵌入式系统的Boa 服务器, 它是单任务HTTP 服务器, 占用空间小, 另外支持动态Web 技术的CGI 技术, 源代码开放, 性能高。嵌入式Boa 服务器移植到Linux 系统中的网上相关资料很多, 不再赘述。

下面重点介绍应用程序接口CGI 程序设计。

公共网关接口CGI 是HTTP 服务器与其他机器上的程序进行“ 交谈” 的一种工具, 其程序须运行在网络服务器上。CGI 是一个用于Web 服务器与外部程序之间通信方式的标准, 使得外部程序能生成HTML、图像或其他内容,而服务器处理的方式与那些非外部程序生成的HTML、图像或其他内容的处理方式是相同的。使用CGI的原因在于它是一个定义良好并被广泛支持的标准, 没有CGI 就不可能实现动态的Web 页面, 除非使用一些服务器中提供的特殊方法。

CGI 程序入口为main () 函数, 函数首先执行初始化用到的变量, 然后根据提供的环境变量Environmentv 获取当前访问用户的用户名, 判断用户的访问权限, 然后根据REQUESM 得到用户的请求方法。如果是POST, 则根据Contentl 获取用户请求内容并分析;如果是GET, 则根据Querys 获取信息并分析请求内容, 最后根据用户权限做出相应的处理;如果是其他的请求方法, 则返回错误, 不支持该请求方法。流程图如图5 所示。

图5 CGI 程序处理流程

S3C2410 凭借其高性价比、丰富的接口以及对网络的强大支持, 使其非常适合做网络视频监控系统的Web视频服务器的处理器。H.264 算法具有很高的编码效率, 在相同的重建图像质量下, 能够比H.263 降低50%左右的码率。H.264 的码流结构网络适应性强, 增加了差错恢复能力,能够很好地适应IP 和无线网络。本系统支持动态IP, 可以直接连入以太网, 能够即插即看。通过局域网(100 Mb/s 以太网) 内部测试, 可以达到25 帧/秒CIF 图像(320×240) 要求, 传输延迟0.6 s 以内, 编码后的码率150 Kbit/s , 由客户端软件解码恢复后的视频图像清晰、流畅、没有抖动现象, 能获得较好的视频质量。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 嵌入式 主板

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...

关键字: 嵌入式 物联网 人工智能

嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...

关键字: 嵌入式 软件 人工智能

esim卡的全名为Embedded-SIM,意思就是嵌入式的SIM卡。esim卡的原理简单来说,就是将手机传统插入到手机里的SIM卡直接嵌入进设备芯片中,这样大家就不必再手动物理插入SIM卡,减少了麻烦的同时也降低了si...

关键字: 嵌入式 esim卡 手机

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭