视频监控系统的设计原则与解决方案

2024-11-24 版权声明 我要投稿

视频监控系统的设计原则与解决方案(共8篇)

视频监控系统的设计原则与解决方案 篇1

河姆渡分享,项目介绍该中学校园现有46个教学班,2200名学生,200名教职工,40名留学生,学校校园面积90000m2。有数字实验室、生态博物馆、多媒体教室、计算机教室、演播室、图书馆、大型电子阅览室等。需要建设整套的数字安防系统,达到以下效果。

1、利用监控系统帮助管理人员对数字实验室、生态博物馆、多媒体教室、计算机教室、演播室、图书馆、大型电子阅览室等各建筑主要出入口,以及校门、设备用房、道路及路口、停车场单车棚及公共活动区域的人员活动和设备情况进行监控,及实现对考场的电子监控。

2、功能上需实现安全防范、防盗报警、考场监控、课件制作、综合管理以及意外事件预警机制;此外餐厅、图书馆、实验室等实现门禁一卡通实现考勤、门禁、消费于一体。

3、校园监控中心可任意调看整个校园各个监控点的情况;或能升级联网到上级教育部门,上级教育部门可以远程监控校园的情况,校园管理领导者可以通过网络在远程实看的 设计原则

本系统中的视频监控系统采用全数字化产品。视频从前端图像采集设备输出时即为数字信号,并以网络为传输媒介,基于国际通用的TCP/IP协议,采用流媒体技术实现视频在网上的多路复用传输,并通过设在网上的网络虚拟(数字)矩阵控制主机(IPM)来实现对整个监控系统的指挥、调度、存贮、授权控制等功能。此外报警、门禁、巡更等前端设备输出的数字信号也可由多网合一的方式通过网络复用进行传输并在同一平台上进行管理与制。

1、前端一体化。监控系统前端一体化意味着多种技术的整合,嵌入式构架,适应性更强,以及不同平台间的整合输出,为系统集成化奠定了基础。

2、传输网络化。视频监控系统的网络化意味着系统的结构将由集总式向集散式系统发展,集散式系统采用多层分级的结构形式,将使整个网络系统硬件和软件资源以及任务和负载得以共享,这也是系统集成与整合的重要基础。

3、处理数字化。信息处理数字化意味着信息流的数字化、编码压缩、开放式的协议,具有微内核技术的实时多任务、多用户、分布式操作系统,以实现抢先任务调度算法的快速响应,硬件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、人机界面友好以及系统安装、调试和维修简单化,系统运行互为热备份,容错可靠等功能。

4、系统集成化。系统集成化正是由于构建系统的各子系统均实现了网络化和数字化,特别是使视频监控系统与弱电系统中其它各子系统间实现无缝连接,从而实现了在统一的操作平台上进行管理和控制。

需求分析

按照监控目标的重要性,对监控区域划分为三类,便于对所有图像采集区域进行理。

A类重点区域:大门出入口、校园周界、宿舍楼周边、数据监控中心。要求使用高清晰度视频采集设备,其中校园大门出入口和安防监控中心尤为重要,需确保24小时工作。

B类次重点区域:数字实验室、生态博物馆、多媒体教室、机房、演播室、图书馆、大型电子阅览室等建筑出入口和内部。室内监控为主,可以选用网络高清半球摄像机。

C类普通监控区域:校园内道路、操场等公共场合。室外区域为主,需配置ip66等级的一体化摄像机,快球摄像机做辅助监控。

设计思路

整个校园综合安防系统,主要包括以下部分:视频监控系统、防盗报警系统、一卡通门禁系统、通信传输系统。此外,还可以加入智能分析系统,能够将校园安防子系统无缝整合在一起,化被动监控为主动监控,能够极大的提高视频的利用效率,提升监控系统的整体性能。

视频监控系统

据现场情况,将校园内所有需要安装监控摄像机的点统计后分析,再给出定义。比如常见校门口出入口、教学楼出入口、走廊、楼梯、图书馆出入口、阅览区、宿舍楼出入口、走廊、教室、实验室、校园操场、公共区域、校园周界等视频监控点,具体划分为ABC类。A类区域,不仅设计大范围监控的全局摄像机,而且配合高清快球摄像机做关键点特写联动,普赛顿采用vivotek最新的鱼眼联动高清快球的方案,达到完美监控的效果。A类区域作为最重要监控区域,需在学校的保安值勤点设置分区监控点。B类区域则无需接入到分区监控点,保安工作由监控中心统一指挥调度。C类区域相对面积广阔,则只需做大范围监控。

防盗报警系统

根据现场情况可以分为校园周界红外对射报警区、重要建筑周界及出入口三鉴探测报警、声光报警和紧急按钮区域等报警探测区域。

通讯传输系统

通信传输系统分为视频网络传输和报警信号传输两部分。对于学校来说,传输网络部分将全部使用学校现有校园计算机网络,将各考场摄像机及相关联的报警传感设备通过一根网络双绞线直接与校园网接入层交换机直联,充分利用学校现有网络资源,实现视频、音频、报警、数据等信息在IP网络上的有效传递和交换,节约用户系统投资。一般情况下校园局域网完全可以满足视频监控系统需要的带宽,同时可以避免重复建设。此外,校园实时视频监控图像通过3G网络可以实现**控。

智能分析系统(可选)

智能分析系统是对上述各个系统功能的补充和加强,它基于对视频的一系列分析,从视频中提取运动目标信息,发现感兴趣事件,根据用户设置的报警规则,自动分析判断报警事件,产生报警信号,从而可以在许多场合替代或者协助人为监控。

此外整个校园安防系统可对外提供平台接口,实现与上级教育主管部门和公安部门的系统对接,让各部门共同参与应急事件并进行协同指挥。同时,视频监控系统可与考场视频监控系统完美融合教室监控也是安防监控系统的重点防范区域,对于高考考点的学校,需要建设考场、保密室等处的国家教育考试网上巡查系统,本系统的建设须考虑能与国家教育考试网上巡查系统的无缝融合,避免重复建设,造成资金的浪费。在考点级安保监控中心和考试巡查监控中心(可合可分)要能同时对考场、保密室、学校大门、主要通道、重要场所、围墙、各建筑物出入口等处进行统一的监控,同时在上级平台也可灵活调用考场、大门口等处的监控视频。

系统设计

本校园安防系统是一个大型综合监控系统,首先考虑到其中的网络视频监控系统,其传输过程的特点是大数据量、近似恒定的网络带宽、从前端的视频监控点向各级监控中心的汇聚型传输。同时,还需接入防盗报警系统和一卡通系统,如果设计好系统的拓扑结构就能够在一定程度上减小异构网络中传输不可靠、数据传输延迟等难点问题。

总体框架

总体框架如下图,视频监控系统中,根据不同的监控需求,进出口、楼道走廊安装高清网络摄像机,在校园周界及操场上安装可以360度旋转的摄像机,实现无死角监控,在教室及实验室内安装半球摄像机,实现大角度监控。通过传输系统(校园网或自建光纤网),统一接入学校的监控中心,在后端监控中心系统中,通过网络硬盘录像机(NVR)实现对前端视频数据进行24小时监控及录像存储,通过数字矩阵实现对前端网络信号上墙显示,通过监控平台可以实现视频管理、控制权限管理、存储管理、报警管理等功能,通过公网、3G网络可以实现外网访问、**控等功能。本视频监控系统将采用集中存储的方式对数据进行管理,依靠A、B、C三级监控重心做区域化管理。为了加强保证校园内外安全性,我们在学校园区周界增加了红外对射,在教学楼、科技楼、宿舍楼内安装声光报警器和紧急按钮等报警装置,当有非法人员闯入周界范围内时,红外对射报警,当有楼内发生突发紧急事件时,可以通过紧急按钮、声光报警器报警,通过报警主机传到校园监控中心,监控中心负责人员发现警情信号,及时处理。同时,视频监控系统的平台可接受报警信号联动相应的球机进行预置点的调用,通过对平台软件进行布防,实现报警联动弹出画面、电子地图报警显示等功能,直观的了解第一手信息。

视频监控系统

视频监控管理系统,包含监控综合应用平台、智能分析系统、电视墙显示系统及监控客户端几个重要部分。其中,综合应用平台是整个系统的核心。分区监控中心,则通过监控客户端来实现。监控综合应用平台是整个系统的核心,起着关键的作用,本系统选择的综合应用平台,基于TCP/IP网络应用技术,全面集成安防监控的录像、转发、电子地图、报警联动等功能。

综合应用平台介绍

本项目选择VIVOTEK提供的ICS综合应用平台,ICS可以支持系统的堆叠,在实际应用中,对于用户来说,可以当做一台设备看待,也即是堆叠之后多台ICS可以看做是一个整体,其在安防功能可以实现三大功能。

前端设备的集中管理和机构、用户权限的管理:设备的管理包括网络摄像机、智能分析主机等,机构、用户权限的管理除了多级行政机构的管理和用户权限的分配外,还可以根据不同监控应用的需求进行统一分配资源,如教学应用和安防应用的统一管理和分权分配等。

录像存储和流媒体服务:包括前端所有网络摄像机的视频转发,另外,流媒体的应用可以提供给电视墙或更多客户端的应用(如领导远程教学、教学评估和保安的安保监控和视频录像的调阅等)。

电子地图和报警联动的管理:电子地图主要给用户提供一种直观的管理手段,报警联动结合电子地图外完成不同安保系统的统一集成。

大屏幕显示设计

本系统中选择大屏幕液晶监视器,由数字矩阵连接。统一的操作界面,用户只需要鼠标点选任意一个屏幕编号,就可以进行设置其显示内容、分割画面,可以任意选择前端任意一路摄像机显示在任意一个通道上。

防盗报警系统

防盗报警系统主要由主动红外对射探测器、报警控制主机、控制键盘、地址编码器、警号、报警电子地图管理软件组成。系统采用总线制方式,可使系统设备有机结合,报警信号、防拆信号、设备故障信号、线路故障信号、电源不良信号等情况均通过总线即时向控制主机进行通报,并且可由中心控制室通过检测操作对系统各设备进行检测、调整,并可对各探测器的灵敏度进行调节。

从安装范围看,防盗报警装置主要分布在围墙、宿舍楼、数字实验室、生态博物馆、多媒体教室、计算机教室、图书馆、电子阅览室等重点建筑的周界。可安装紧急按钮类的报警开关,在紧急状况下实现人为手动报警,如果防区联动视频可实现录像和抓拍。对于重点场所防盗预警,可采用各种探测器,比如红外对射,三鉴探测器,玻璃破碎探测器,震动传感器等等,利用这些主动或者被动的探测器来侦测意外的警情。一旦发生警情,现场会联动警铃,管理平台会显示警情信息,同时联动弹出电子地图的具体防区报警点,接警人员可以方便、及时、有效地处理警情。

本系统可以单独由本身报警系统所组成一个完整的回路实现其所有的报警功能,也可以把系统接入视频监控系统,当有报警信号输入时可以直接联动摄像机,把发生警情的区域画面第一时间传送到监控中心。

一卡通系统

本系统将实现餐厅、图书馆、实验室的门禁、考勤、消费一体。所有终端都采用网络化设备,统一联网统一管理。

智能分析系统综述(可选)

智能视频是视频监控的一种高端应用,以其强大的功能对传统监控进行极大的补充和增强。智能视频分析系统能满足各行业多样化需求,并采用功能模块化设计,为不同行业提供完善的解决方案,主要包括下面几个功能模块。

周界检测:自动检测侵入监控防区的入侵者(人、物体或者交通工具),能够自动区分入侵者的种类、大小、移动方向等特征,并报警。

遗留物体检测:车辆或来历不明的物品停靠或放置在设定区域超过一定的时间则产生报警。比如有人遗留包裹或爆炸物等。主要用来检测被遗弃在公共场所的可疑物品,是反恐的典型应用。

骤变:当视频图像发生巨大变化时系统报警。如摄像头被遮挡和大幅度移动时,有效预防不法分子通过遮挡和转动摄像头销毁犯罪证据。

出入口人数统计:在出入口统计进出的人数,结合各出入口的实时人数信息,即可得到封闭空间内的实时保有量,可提供分时段的人数统计结果。并可在总人数超过预设值时,系统发出报警。

视频质量监测:对视频图像出现的视频丢失、雪花、滚屏、模糊、偏色、画面冻结、增益失衡和云台失控等常见故障做出判断并发出报警信息。对重要摄像头的及时保护可有效防止不法分子破坏摄像头或传输设备的行为。

火焰检测:通过智能分析技术,自动检测警戒区内的火焰。在摄像机监视的视场范围内,可根据需要设置任意形状的警戒区域。一旦警戒区域发现火焰,则自动产生告警,并用告警框标识出火焰范围。

设计总结

视频监控系统的设计原则与解决方案 篇2

关键词:监控系统,安全,智能系统

随着现代网络技术、电子技术、计算机技术、软件技术以及信息技术为代表的高新技术的广泛应用, 监控系统从现代生活需求出发, 综合运用了计算机、信息、通信、控制等科学技术, 以智能控制系统、社区信息平台、安防系统、小区物业管理系统和综合信息服务系统为依托, 用高科技手段构建高速互联网络信息服务平台。

1 监控系统的设计原则

根据当前监控系统的技术状况以及未来的发展趋势, 弱电系统设计和实施应立足于先进且成熟的主流技术和主流产品, 在技术开放和高度集成的基础上, 进行更高层次的研究开发与应用。在“统一领导、统一规划, 统一建设、统一管理”的前提下, 贯彻以“总体规划、分步实施、重点突破”的十二字方针, 使系统易用、易维护、易扩展并且安全系数高。

因此, 规划和实施监控系统应遵循以下原则:

1.1 以人为本

“人”是监控系统应用的主体, 设计监控系统时, 以人为中心, 紧紧围绕着人的实际需求, 以实用、简便、经济、安全的原则, 同时照顾到不同职务层次、不同部门的需要。

1.2 技术先进性与成熟性

监控系统的设计方案既考虑了现有的成熟可靠的设备及技术, 又追求技术的先进性, 使系统尽可能适应未来功能扩充的需要。

1.3 系统的安全可靠性

系统的安全可靠包括设备可靠性、环境可靠性、布线可靠性、桌面应用可靠性、远程访问的可靠性等。在设备选型方面, 充分考虑设备长时间安全运行可靠、数据处理安全性和人机界面友好性。室外设备具有防雨、防火、防尘、防腐蚀、防机械冲力等防护措施。

1.4 系统的适用性

当今科技发展迅速, 可应用于弱电系统的技术和产品可谓五花八门, 层出不穷, 工程中选用的系统和产品都应该使用户得到实惠, 让用户受益, 并满足用户近期的需要, 又要照顾中长期的发展, 在多种实现途径中, 选择最经济可行的途径。

1.5 实施的可行性

以现有成熟的产品为对象进行设计, 同时还要考虑到周边信息、通信环境的现状和技术的发展趋势, 并考虑行政主管部门归口管理的要求, 使设计的方案切实可行。

1.6 标准化、开放性

在系统设计的过程中, 充分遵循现行的各种国际和工业标准, 使相应的硬件和软件具有良好的开放性和兼容性。

1.7 系统的可扩充性

系统功能的可扩充性, 是系统方案的重要方面, 对于功能复杂的应用系统, 尤为重要。系统方案在网络构成、数据结构等方面均充分考虑功能扩充的需要。设备方面, 为方便于系统扩充、选用的设备均为标准通用设备, 研制开发的产品均采用标准接口。在软件设计方面力求做到功能全面, 使用方便与维护简单、接口标准且便于扩展。

1.8 系统管理性

系统设计具有很强的信息采集综合分析和处理能力, 要求数据传递具有科学性、安全性、有序性、顺畅性, 不同格式之间的数据转换安全可靠、平滑到位, 不同的用户对系统的访问权限确定、优先级确定、可靠安全、使整个系统的访问处理井然有序。

1.9 系统的经济合理性

系统设计追求以较高的性能价格比获得系统高效益成本比, 充分考虑到系统发展的需要, 为避免重复投资造成无谓的浪费。

1.10 系统设计依据

(1) 《工业企业通讯设计规范》 (GBJ42-81) 。 (2) 《工业电视系统工程设计规范》 (GBJ115-87) 。 (3) 《工业企业通讯接地设计规范》 (GBJ79-85) 。 (4) 《中华人民共和国公共安全行业标准》 (GA/T74-94) 。 (5) 《工业与民用闭路监视电视系统工程技术规范》 (GB50198-94) 。 (6) 《安全防范系统工程程序与要求》 (GA/T75-94) 。 (7) 《电气设备安全设计导则》GB4064。 (8) 《电气设备抗干扰特性》GB4890。 (9) 《电气设备雷击保护导则》GB7450。 (10) 《电力设施抗震设计与规范》GB50260-96。11《中华人民共和国公共安全行业标准》 (GA/T74-94) 。

2 监控系统的设计方案

设计方案按功能划分为控制设备、显示设备、录像记录设备、摄像设备等几部分。

2.1 控制设备

采用矩阵主机, 主控键盘对电视墙进行控制。

2.2 显示设备

显示器和液晶监视器组成的电视墙共同显示;

2.3 录像设备

配置硬盘录像机, 对视频信号进行全实时的一对一录像。

2.4 摄像设备

在前端不同位置设置不同类型的摄像机, 总计设置监控点。

如图系统结构图示例:

3 监控系统设计说明

监控系统的主要作用是通过图像方式及时掌握厂区和生产区出入口、主要通道以及生产过程的实际情况, 并对监控现场进行录像和保存。通过有效的监督、控制现场情况, 出现情况能够及时处理。

4 系统优势

(1) 集中管理, 分散控制, 即系统具有高度集成, 又把危险相对分散, 同时便于系统灵活配置。 (2) 由于系统高度集成, 没有物理上严格分割的子系统, 只有逻辑上加以区分各个职能子系统, 从而, 整个系统的结构清晰而可靠。 (3) 开放式的结构, 可通过软件的编程实现多种灵活的监控功能, 又便于系统进一步的扩展。

5 维护细则

(1) 建立系统的维护保养档案, 详细记录各类设备的分布、使用及检修情况。 (2) 配备专门的维护人员。 (3) 及时维修出现故障的设备, 将提供备机使用, 系统故障将在4小时内恢复, 以保监控系统的正常运转。 (4) 提供系统功能及使用方法的初级培训, 并根据实际需要加以调试。 (5) 提供适用于本系统的最新专业改造方案, 充分发挥已有系统资源。 (6) 工程人员定期上门对设备进行检修和保养, 要求每周巡检一次, 每个月进行1次全面维护, 并定期提交详细的巡检与维修报告。 (7) 遇重大故障, 在接到电话通知后半小时内派人现场解决。 (8) 出现非紧急故障, 8小时内解决。

另外, 工业生产中的监控系统不仅可以作为人员生产的过程控制, 而且还可以对安全和质量进行全面监管和控制, 在生产中切实按照设计原则和设计方案进行实施, 确保企业安全的、高效的、顺利地进行。

参考文献

[1]范素芳, 邱晓国, 吴云, 李大帅.多级环境自动监测监控系统的设计与实现[J].价值工程, 2012 (13) .

[2]周承云.高速公路视频测速监控系统的设计与实现[J].中小企业管理与科技 (上旬刊) , 2009 (08) .

视频监控系统的设计原则与解决方案 篇3

【关键词】视频会议会场系统;声频系统;视频系统;灯光系统;供电;接地;会场环境

文章编号:10.3969/j.issn.1674-8239.2014.10.014

【Abstract】For subsystems of video conference system such as audio, video, lighting, power supply, problems in design and use were posed, specific solutions were given, and the influence degree of sound environment on the whole system was also specifically pointed out as well.

【Key Words】video conference room system; audio system; video system; lighting system; power supply; grounding; venue environment

视频会议系统,是指两个或多个地点的用户之间利用远程多媒体传输技术,将各个会场系统的声音、图像、数据信息通过网络进行实时传输,实现电视电话会议的系统。而“视频会议会场系统”是指能将本会场的声音、图像和数据等信息拾取、扩声、显示并实时向远端会场发送本会场上述信息,以及能播放和显示远端会场传送的声音、图像和数据等信息的系统。由上可见,视频会议系统包含了信号远程传输,而视频会议会场系统仅指各会场内部的信号采集和处理。

视频会议会场系统从狭义来说,包括声频系统、视频系统和灯光系统;而从广义来说,还应该包括会场环境工程系统。

按照国家标准GB50635—2010《会议电视会场系统工程设计规范》(以下简称《规范》),视频会议系统的正式名称应该是“会议电视系统”,但本文中还是用“视频会议系统”这个习惯名称。

虽然视频会议会场系统工程除了要向远端会场发送本会场信息外,其他和一般会场的视频会议系统没有太大区别,一些基本问题在《规范》中也有具体要求,但实际上有许多特殊问题需要解决。下面就分别从声频、视频、灯光、供电和会场环境等几个方面来叙述。

1 声频系统

1.1 本会场声音拾取和扩声

根据中国国情,视频会议会场往往有两种形式。例如省对市开会,省里的会场是“对下”会场,省级发言人是坐在主席台发言的,而此时各市级会场就属于“对上”会场,市级发言人通常是坐在观众席前排中部发言的;但如果市对县开会,市里的会场又成为“对下”会场,市级发言人又坐在主席台发言了。可见市级会场必须适应既能在台上发言、又能在台下发言这两种不同的使用状态。

这两种使用状态似乎只要台上、台下都备有传声器插座就行了,但实际上对本会场扩声会有明显影响。因为中、小型报告厅主扬声器通常安装在台口两侧墙面,台上发言时,传声器不在主扬声器覆盖范围,可以得到较高的传声增益;而台下发言时,传声器已进入主扬声器覆盖范围,传声增益必然会降低。

解决这个问题的办法就是在台下发言时设法使主扬声器覆盖区域避开台下发言位置。所幸的是,当在台下发言时,发言人附近并不需要太大的声压,因此有两个处理方法可以考虑。一种方法是将主扬声器安装支架做成内倾角可调,在台下发言时转动主扬声器适当减小内倾角;另一种方法是主扬声器不固定安装而是安装在扬声器立架上,在台下发言时将主扬声器连同立架适当向后移。这两种方法都可以使台下的传声器避开主扬声器覆盖区域。

当然,一般会场提高传声增益的各种措施也可以采用。

(1) 使用多支传声器时,保持只打开正在发言的1支传声器,最方便有效的方法便是采用“智能混音器”。

(2) 利用均衡器或反馈抑制器对主要的声反馈频点进行适当衰减。这样虽然会影响音质,但视频会议扩声对音质要求并不很高,其影响一般可以容忍。实际上,视频会议的声频系统不需要很宽的频带,调音台传声器通道的高、低频均衡都可以适当衰减,有助于传声增益的提高。

(3) 如果会场没有严重的建声缺陷,大多数中、小型视频会议会场无须设置后场补声辅助扬声器,只要对扩声系统进行正确的设计和调试,就能满足《规范》所要求的最大声压级、声场不均匀度和语言清晰度等各项指标。不恰当的设置后场辅助扬声器不仅使声像一致性变差,而且如果扬声器过多将造成声相位混乱和声干涉,使声场不均匀度和声失真增大,反而会降低传声增益。

1.2 远端会场声音信号的扩声

虽然视频会议终端输出的声频指标并不低,但实际输出的远端声频信号常常会出现音量不够、失真和噪声(包括交流声)等问题。

视频会议终端的声频输出电平应该尽量开大,不仅可提高音量,更可以提高信噪比。

失真大,一种常常是远端发送的信号在当地已经过载,另一种是本地扩声时接口电平不适当。例如视频会议终端的声频输出电平是“线路”电平,有几百毫伏,如果误接到调音台传声器输入端口,电平大了上百倍,自然会造成调音台输入级过载而产生失真。

噪声特别是交流声是视频会议声频系统常见问题,大多数交流声是由于接地不当形成“地回路”引起的。因为视频会议终端要连接到网络,使得接地问题变得十分复杂。最理想的解决办法是在视频会议终端和调音台输入端之间加声频隔离器。声频隔离器有带外壳的成品,也有不带外壳的成品,甚至还可以用价格低廉的小型1:1的声频变压器DIY(自己动手做)。声频隔离器最好有金属屏蔽盒并接地,以免声频隔离器受到电磁干扰。

至于噪声,常常是视频会议终端输出电平低造成信噪比差而引起的,前面说过视频会议终端的声频输出电平应该尽量开大。

远端会场声音信号最好单独送入调音台一个通道,而不要通过信号选择器和其他信号(例如播放机)共用调音台一个通道。因为远端会场声音信号质量肯定没有本地媒体播放得好,常常需要对高、低频进行适当衰减,共用一个通道或者影响本地媒体播放的音质,或者需要经常对通道均衡进行调节,比较麻烦。

1.3 本地会场声音的送出

本地会场声频信号和本地扩声不宜使用调音台同一路输出信号,而应该从调音台辅助或编组输出端口送到视频会议终端的声频输入,这样不仅有利于单独调节送出信号的电平,和本地扩声的音量互不影响;而且,虽然大多数视频会议终端内部已经集成了回声抑制功能,但分路输出更有利于抑制通过远端会场引起声反馈或回声。

1.4 录音

现在有专门用于会议录音录像(一般还包括VGA信号)的多路录播设备,不过价格比较贵;也可采用家用硬盘/光盘录像机,只是每台录像机只能记录1路视频。

如果只要录音,在计算机上安装简单的录音软件就可以,只是要注意,有些计算机(特别是移动计算机)声卡只有传声器输入端口而没有线路输入端口,这就必须将调音台“录音输出”端口的信号用两只电阻分压衰减成传声器电平(例如用51 kΩ和1 kΩ电阻分压使信号大致衰减到1/50),否则将可能会使声卡输入端过载,造成录音失真。

顺便说一下,大多数视频监控用的多路硬盘录像机录像质量不适合作为会议录像。

2 视频系统

2.1 摄像系统

摄像系统设备和安装的一些具体要求在《规范》3.3.2和3.5.1中已有说明。

多路摄像时,要选择最适宜的画面显示或送出,因此每台摄像机的图像需要同时预先监视。这就需要将每台摄像机的输出先通过1分2视频分配器分配,一路送视频切换设备,另一路接监视器预监。为了避免监视器过多,可采用屏幕分割显示方式,但一般只宜4分割显示。这里倒是可以利用视频监控用的多路1分2视频分配器(例如4分8、8分16等)和多画面分割器产品。

如果希望摄像机能自动跟踪发言人,最好采用“手拉手”会议系统,通过手动打开发言单元控制摄像机跟踪。虽然智能混音器也有带摄像跟踪功能的,但由于是自动打开发言传声器跟踪,常常会因为偶遇的声干扰造成摄像机失控。

现在还常常要在讨论式会议室安装视频会议系统,要摄取围坐的每一位发言人,摄像机就必须位于会议桌中间,现在有专门的摄像机电动升降器产品。如果会议桌中间是空的,可以用三脚架支撑摄像机。由于会议桌大多数是“跑道”形,摄像机到各发言人的距离经常变化,因此摄像机要选择转动速度和自动对焦速度快的产品。

2.2 显示系统

主显示器到底采用哪种显示方式是值得考虑的问题。等离子或液晶平板显示器可以在明亮环境下得到高亮度和高对比度图像,但由于现在80英寸以上单屏平板显示器或平板拼接显示价格都比较昂贵,而且拼接平板显示还有缝隙,当一个4×4平板拼接屏显示特写人像时,拼缝正好在面部,视觉上很不舒适, 《规范》3.3.3中也提到“会场不宜采用有缝的视频拼接显示墙”。不过最近已见到透明拼缝的平板拼接,通过光学处理其拼缝在1 m距离几乎看不出来,当然目前价格比普通拼接屏高了不少。正投影方式可以得到大尺寸显示,但必须限制环境亮度,否则对比度很差;背投影可以在一定程度上兼顾以上问题,只是会场必须要有足够的空间容纳这个庞然大物。至于LED真彩屏虽然已经有间距1 mm左右的产品,但价格昂贵,而且视觉效果还是不如平板或投影显示。

目前,主显示器还是以采用正投影为多。只要注意限制环境亮度,特别是投影屏幕附近的照明灯必须可以单独控制以免直射光照到屏幕,也能取得较满意的显示效果。

为发言人设置的“返看”显示器通常都采用平板显示器。由于使用时大多数用支架倾斜安装,而且高度较低,因此要注意屏幕反光问题。等离子显示器显示的图像质量优于液晶显示器,但大多数反光比较明显(直贴膜屏好一些),然而现在许多“硬屏”液晶显示器也有明显反光。不过视频会议显示的内容很少有暗场景画面,反光也许并不十分明显。

显示系统设备和安装的具体要求在《规范》3.3.3和3.5.2中有说明。

3 灯光系统

虽然摄像机可以手动或自动调整白平衡,在多种不同色温下正常摄像,但还是以3 200 K最能正确再现景物的色彩,因此视频会议会场照明宜采用3 200 K的三基色荧光灯,光线柔和、温度低而且节能。现在有可调光三基色荧光灯具,使用更灵活、方便。

由于自然光的色温比三基色灯高得多,如果这两种光源同时照射,可能会使图像产生色干扰,况且自然光的照度和色温还可能随时变化,因此即使室内自然光照度很好也不宜利用,要把所有窗户都用深色窗帘遮挡,避免自然光。

视频会议被摄对象面部的照度一般宜在500 lx左右。为防止面部光线不自然,面光投射角度不宜大于45°。

要避免环境照明对显示的影响。正投影在全黑环境效果最理想,对于会议场所当然不可能是全黑环境,但必须尽量降低其附近的照度,一般要求控制在80 lx以下。

灯光系统设备和安装的一些具体要求在《规范》3.4和3.5.5中有说明。

4 供电和接地

因为视频会议常常有比较重要的会议,为保证会场系统供电的安全可靠,减少由电源带来的干扰,视频会议设备、照明和空调等用电应该分路供电,并且视频会议设备最好加设在线式UPS。

为了安全,保护接地是必须的,《规范》5.4中也有具体说明。至于系统接地,如果担心系统自身形成地回路,可以采用信号线屏蔽仅在一端接地的方法。

5 会场环境

这里主要说说建声问题。除大型工程,现在会场的建筑声学设计常常被忽视。许多业主缺乏建声概念或为了节省设计费用而不重视建声,加上一些中、小型建筑设计部门也不具备建声设计能力,因此很少进行专门的建声设计,这样建声效果往往就取决于装潢部门。然而装潢部门主要从美观出发,况且他们大多数也不具备建声设计能力。于是长期以来,装潢结果要么到处使用玻璃、石材和金属等光滑的装饰面,造成混响时间过长,使清晰度差和传声增益低;要么大量应用软包,造成中、高频吸声过度,使声音发干。视频会议会场以语言扩声为主,从语音清晰度要求考虑,其全频混响时间宜在0.5 s~0.8 s之间为佳。

建声对音响效果起着举足轻重的作用,对视频会议会场还显得更重要一些。如果建声好,一般的设备就能取得足够好的拾声和扩声效果;而如果建声很差,即使再高档的国外知名品牌设备也无济于事。因此,工程商应该劝导业主花点费用在建声上,这样比使用昂贵的设备更节省,甚至有“事半功倍”的效果。

高清远程视频接访系统设计方案 篇4

设计方案

柳州沃泰科技有限公司 2012年5月24日

0772 3806198 ***

高清远程视频接访系统技术方案

目录

高清远程视频接访系统技术方案

高清远程视频接访系统技术方案

1.1.接访业务背景

接访部门担负着受理群总来信来访、调节处理社会矛盾纠纷、促进社会和和谐稳定的重要职责。随着社会信息化、市场化的不断发展,人民群众维护切身利益的观念不断增强,各种情况和问题将通过接访渠道 反映。如何适应当今接访工作的新形势、新任务,通过人民群众根本利益、密切党和政府与人民群众的联系,已然成为当前各级接访部门和广大接访干部必须思考的一个新课题。2.2.远程视频接访实施意义

 增强政府办事的透明度和公开度,拉近党和政府与人民群众的距离;

 拓宽接访渠道,控制接访成本,减少重访、缠访、越级访和群体性事件的发生,提高接访工作效率;

 实现广大群众对政府工作的监管,实现主管领导对干部队伍的全称监控;  解决并处理好群众来访,研究制定更加科学合理的政策措施,以减少接访问题的发生;

 加强基层信访有利于 人民群众对社会管理事务等工作的支持。2.3.远程视频接访业务特点 2.3.1.接访业务可视化

可以跨越空间距离实现“面对面”即时互动交流,上访群众只需要到当地基层单位就能通过视音频与上级单位领导实现“面对面”交流,反映诉求,也让上访群众切实感受到政府机关对民心、民意的重视,畅通了接访渠道,提高了解决问题的效率,减轻了上访人的来回奔波。2.3.2.接访业务网络化

系统既支持点对点扁平化部署,也支持多点级联部署。从而实现上访群众在所辖区域基层单位与上级单位接访人员的可视化沟通,同时也可实现各单位接访人员之间的会商讨论。2.3.3.接访业务高效化

上访群众对当地相关部门的处理不够信任,执意要上访的,可由上级机关工作人员利用视频系统进行远程接访,有效的畅通了接访渠道,提高了处置紧急、重大接访问题的快速反应能力。2.3.4.接访业务透明化

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

有利于上级主管部门领导及时了解接访动态,从中发现接访接待中存在的问题,有针对性地改进接访接待工作。如果上访人对接访人的接待不满意,可以直接通过视频接访系统与上级主管领导进行视频对话沟通,促进了接访工作的透明度和公开度,拉近了党和政府与人民群众的距离。2.3.5.接访业务监督化

实现广大群众对政府工作的监管,实现主管领导对干部队伍的全称监控,督促接访人依法规范接访,文明接访,有效克服接访人出现粗暴和不文明接待行为。2.3.6.接访成本节约化

有效化解重访、缠访、越级访、群众集体上访及突发性事件所造成的成本浪费,降低上访人民群众的经济负担,减少各级行政机关就同一接访事项重复处理而导致的社会管理成本。

1.2.1 设备配置

根据用户项目需求以及我公司多年来在视频行业内的丰富经验,我公司对此次视频接访系统提出以下建议:

  2个会场分别配置一套VOTA视讯终端产品。

要求设备采用模块化设计,产品均可互联互通,兼容扩展性好。方便于用户以后系统扩容,避免重复建设;  系统能自动根据网络速度选择音视频数据压缩比,无需人工调整即可实现高清晰流畅的音视频流传输;

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

高清远程视频接访系统技术方案

络协议,支持多方远程提讯和证据交互、多媒体双流同步传输、数字混音,支持所有的标准化视频会议类技术产品的互连互通和资源共享;当业务应用需求增加时,也可通过部署MCU模块来完成多点互通。

在视频方面采用了符合HDTV*标准的高清晰电视规格,采用了HDTV标准中的1080P规格,垂直解析度达到1080P,单帧画面的细腻程度超过传统视频接访10倍!使得远程接访视频系统画面的解析度得到了革命性的提高,大大改善了接访画面的观感,极大增加了画面内容的细节。2.高清画面16:9显示

在视频规格幅型比上采用了更为符合人类眼睛观赏习惯的16:9的规格来替代传统视频接访系统采用的4:3的规格,在垂直解像度(线数)相同的情况下,可视面积增加33%,单帧画面可容纳更多的可视信息,观赏者可看到更大角度的远端上访视频情况。

3.画质和带宽使用情况

在使用了高效的H.264 MP标准作为视频编解码器,能够在较低的带宽下得到远超传统视频接访系统的画质,并且在1.5M带宽的情款下达到1080P的解析度,其不同传输带宽所能得到的画质情况详见下表:

4多画面显示

本系统可在接访过程中可切换图像显示模式,可显示本地、远端以及PC画面。满足接访双方的视觉要求。5视频通讯质量保证策略

视频接访系统的视音频质量通过延时、抖动、回声等参数来衡量,影响这些参数的主要因素有:a)承载网提供和保证的传输带宽;b)视频输入、输出设备(摄像机/麦克风等);c)视音频编解码能力;d)多点控制单元(MCU)的处理能力。这些因素可归纳为承载网因素和视频接访系统自身因素两大类。

1、承载网因素:网络是视频接访系统的基础,用于承载分布在各地的视频接访设备之间所交换的视频、音频以及各类控制信息。

由于H.323体系下的视频接访系统,采用无纠错的UDP数据包的方式传送视音频码流,在网上传送语音和图像数据包,对丢包、时延和抖动较为敏感,严重的会出现马赛克、停顿等现象。因此为了保证接访的流畅,路由器、交换机等网络设备应设置PQ、CQ、WFQ等优先级队列,将视音频数据包设置成较高优先级,保证视频业务的优先传送。

2、视频接访自身因素:视频接访系统除了支持PQ、CQ、WFQ等QOS策略外,还通过以下几个方面来保证接访的质量。1)前向纠错校正

在发送的视音频码流中,加入前向纠错码,如果视音频数据包在接收端出现错误,柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

可以通过冗余信息进行校正,防止在有线路误码的情况下数据包的差错。2)智能丢包恢复功能

当IP 网络出现丢包时,通过系统的丢包重传机制,在接收端会通过反向RTP通道向发送端发出充分请求,发送端将该视音频重新发送。3)动态速率调整策略

视频产品动态速率调整策略主要是通过检测数据包丢失率来实现的。如果终端检测到数据包丢失率超过了指定的阀值,它将自动降低视频接访码率,同时通知其它参会终端做相同的动作,从而提供一个具有最优视音频效果的接访码率。4)唇音同步技术

当音频和视频包离开发送端通过承载网时,各种队列算法会对音频资料包和视频资料包进行不同的处理。这将打乱音频资料包与相应的视频资料包的同步关系,导致声音与口型失去同步。dingxin视频产品通过使用IP包中的RTP时间戳信息来纠正这一问题。利用RTP时间戳,dingxin终端能够确定哪一音频包与哪一视频包对应,重新调整相应的视音频包,保证声音与口型的同步。6.至臻高清图像

系统支持高达1920×1080的画面分辨率,20倍于传统图像的清晰度,画面锐利清晰,色彩逼真鲜艳,运动图像流畅稳定,是全面升级的真正高清体验。通过科达远程视频接访系统可将各类有效证据通过系统呈现在接访人员面前,各类物证证据直接展现,论证更贴近实际,接访更准确快捷。

7.音频处理技术 1)自动回声抑制

当视频接访终端接收音频包时,将解码后的音频流与本地输入的音频流进行电平比较,去掉相同的部分,这样本地的声音就不会在自己的扬声器传出,从而避免回声。2)自动增益控制

使用全向式麦克风时,每一个发言人由于距离麦克风的位置不同,麦克风接受到的电平也不同。为了保证传向远程的音频电平的平稳,在进行编码时要进行音频的增益处理,保证一定范围内的发言人以同一个音调发言,这样远程接访室的声音就不会忽高忽低。3)背景噪音消除

召开接访时不可避免地会有一些环境噪音,例如空调、风扇、交流电等电器设备持续发出的环境噪音,这些声音严重的影响了接访的音频质量。自动噪声抑制系统会根据音频的高低、持续情况,判断是否为环境噪音,并且进行处理,以达到良好的声音接访效果。4)卓越的音频效果

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

系统支持MPEG4-AAC(LC/LD)、MP3、G.722.1 AnnexC、G.719等多种宽频语音处理技术,音频采样频率高达48KHz,可提供更卓越的接访音频效果,更可通过自动回声消除(AEC)、背景噪声抑制(ANS)、自动增益控制(AGC)和自动唇音同步等技术进一步提升音频体验。

8.高安全可靠性

系统采用高可靠电信级架构,嵌入式设计,支持128位AES加密,全面保障系统安全。不会因遭受网络攻击,受到病毒感染而导致系统瘫痪,可保证可视通信的稳定运行,接访业务不被中断。9.高清接访信息直播、点播

高清远程接访系统与传统的远程接访系统相比:其技术的创新关键在于它采用全新的网络化技术架构,高还原优化的双嵌入式高清直播、点播视频服务平台,采用先进的H.264多视频并行编码处理技术,对接访活动两地现场的音、视频图像信息进行合流或双流同步独立压缩存储,远端接访现场、本地接访现场、证据交互内容进行高清的合流或双流直播、点播,最佳的网络全尺寸视频观赏效果,保证从前端采集到后端处理全部实现高清图像。完全满足院领导、及相关人员通过本地内部局域网进行提讯现场的旁听和对接访人员进行业务考评,而无需添加外围设备。10.高清接访音频信息数字独立录音

高清远程接访终端在产品设计过程中,始终坚持独有研发哲学,实事求是,都严格坚持以音频采集固定言词证据为主的证据学原则,其独有的技术特点:采用专业级高品质AAC音频双编码录音、编码数据分流、音频双通道同步备份存储技术,完全实现了(1)远程与本地音视频双向交互混流的同步编码数字录播。(2)本地数字接访同时同步录音录像。(3)远程接访音频数据双通道硬盘独立录制存储(即音像混流存储和声音独立存储)。真实还原现场环境的响度、音色和音调,更符合档案管理条件的有关规定,为事后单独调用、提取或保存接访音频信息,提供了有柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

利的技术保障。2.2 硬件优势  标准化设计

支持规范ITU-T H323国际标准,所有硬件视频设备厂家均按照国际统一标准进行设计,各厂家产品均可互联互通,兼容扩展性好。方便于用户以后系统扩容,避免重复建设。 稳定性

所有硬件设备均基于硬件平台,能够7×24小时无故障的连续工作,稳定可靠,会议过程中一般不会出现系统当机等非人为异常现象,极大的保证了会议的连续性。 安全性

基于硬件平台,采用嵌入式操作系统,软件固化,不易受到其他程序攻击,尤其在抗病毒方面,不易受病毒攻击。

 操作简单

提供专用的硬件管理系统,操作简单,维护方便,进行会议时,只需对设备进行开关机操作即可,不像软件视频会议要求有专业的IT维护人员 2.3 设备选型

根据用户要求,本次方案中建议选用VOTA视频终端作为整个系统的媒体交互设备。

 硬件视频终端选型

 各会议室建议配置VOTA Express200硬件终端设备

 VOTA Express200采用分体式硬件架构设计,便于用户合理摆放。整套系统由四个部分组成,分别是:编解码器、高清晰摄像机、VOTA MicPod(作为高清晰拾音Mic)和全功能红外遥控器。

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

2.4 方案组网拓扑图

该套系统在上访室和接访室分别建设一套VOTA视讯终端,利用网络召开远程视频会议。系统组网方案如下:

 组网方案

各分会场分别配置一套VOTA高清视频终端设备,利用网络召开远程视频会议。如下图所示:

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

图2.1.2 高清系统

高清远程视频接访系统技术方案

务措施。

我公司将成立有专人负责的小组,定期随时通报情况,做到遇事有人可找,有专人负责,有解决方案,避免拖延、等待、推诿现象。将服务水平提高到用户非常满意的程度。

在系统启用一段时间后, 特别是用户工程师经过培训、操作、运用系统后, 对整个系统有了一定经验, 我公司将配合用户工程师测试系统性能, 对系统进行必要调整, 使系统保证在最佳运转状态,此项工作将定期进行。

a)产品技术服务

我们将为您提供完善的产品技术服务,尽我们的最大努力使用最为快捷、方便、合理的方式为您解答疑问,排除问题,解决您的后顾之忧。

电话支持

您可以通过电话向柳州沃泰科技客服中心反馈您的问题,我们承诺将在3小时内安排专人做出响应,24小时之内提出解决方案。当我们对您安排专人响应后,您可以随时与您的专职客服人员进行联系。

工作时间服务电话:07723806198(公司客服中心)

注:工作时间为每天的9:00---18:00(国家法定节假日除外)远程视频支持

如果您觉得在电话中沟通交流不太深入,您可以呼叫我们的公网视频会议室,让您与我们的技术人员进行面对面地沟通与交流,完成信息的准确反馈。

IP地址:222.45.43.36 注:呼叫公网视频会议室需要提前电话预约。网络支持

我们提供设备的远程调试服务,当您遇到问题时,在条件允许的情况下将设备接入公网,我们将有专业技术人员通过远程登录的方式,及时准确的为您定位问题、解决问题。

现场支持

如果问题不能在远程解决,根据实际情况我们将派出专业技术人员到达您的使柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

用现场,为您排查问题并解决问题。我们会为在质保期内的用户提供1次免费的现场技术支持服务,以后的现场技术支持服务就会按照规定收取相应的费用,详见附表。

备机支持

对于需要返厂维修的设备,我们根据您的需求将会提供备机服务,把对您的影响降到最低。

b)售后服务 保修承诺

沃泰科技承诺对其售出的视频会议系列产品提供一年的免费保修服务。在保修期满后的售后服务,本公司将按标准收取相应的维修及服务费用。

服务条款

当用户购买的产品出现故障并通报沃泰科技后,我们将有技术人员将随时通过电话、网络协助用户进行故障排查。

对于保修期内产品,我们实行免费维修政策。在确认产品故障之后,技术人员将根据实际情况采取以下方式为客户进行服务:电话支持、现场支持、网络远程维护。对于需要返厂维修的设备,用户可以向我公司提出申请,在维修期内提供相应备用设备。

免除保修义务

对于出现下列情况之一的产品,我公司有权拒绝提供保修服务: 产品不是从沃泰科技有限公司或公司认可的合作伙伴处购买。

于火灾、洪水、雷电、地震或其它不可抗拒事件引起的机器损坏,和在非产品规定的工作环境下使用(如温度过高、过低,过于潮湿或干燥,机器内部过脏,电压过高或电流不稳定等,零地电压过大等等)引起的机器损坏。

未经授权而对产品进行拆卸、修理、改装而造成的故障、损伤。由于保存或运输不当造成的损坏(如进水、挤压、严重碰撞等)延长保修服务期限

在免费保修期截止之前,如果您愿意继续享受我们的保修服务,可以与我公司客服中心联系购买一定期限的保修服务。收费细则详见附表。

柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

如果您在使用过程中出现任何问题,请与我们联系。在您致电沃泰科技有限公司之前,请确保获知以下信息:产品序列号,型号名称和版本号,产品使用环境,包括网络环境和配合使用的主要设备,有关的错误信息

注:本保修条款仅在中华人民共和国大陆地区范围内有效,本保修条款的最终解释权属于沃泰科技有限公司。

c)培训安排 i.培训对象

公司的培训对象为甲方技术人员及系统管理人员,为了保证培训工作的顺利进行及培训的效果,培训对象一般要求有一定的网络及计算机基础,能够熟练操作计算机,对一般的网络术语及概念有所了解。

ii.培训内容

公司的培训包括两部分:现场培训和集中培训。其中现场培训是在工程实施工程中,由具体施工的工程师对甲方技术人员进行培训;集中培训是由公司提供的技术培训,下面是具体的说明。iii.现场培训

现场培训是在工程实施过程中,根据实际的操作步骤,对相关人员进行即时培训,培训涉及视频会议终端设备及技术,以及网络及设备维护的方法和注意事项等,同时对用户提出的各种相关技术问题进行解答,直至得到用户的认可。

iv.集中培训

集中培训是指在用户指定的时间,由公司的系统工程师对相关人员进行更为系统的配置,培训侧重在原理的讲解和配置,以及日常维护中的常见问题和解决办法。

集中培训属于售后服务与技术支持部分,通过这些培训,工作人员可以很清楚地了解整个系统的结构、功能以及相关技术知识,从而提高工作人员的网络知识水平和工作素质,这不仅对网络的日常维护,避免事故的发生提供了保障,而且也为工作人员应付紧急事件打下了基础,从而降低用户的损失,这无疑给用户整个系统柳州沃泰科技有限公司 柳州市东环路69号水晶印象7A-7室 0772 3806198

高清远程视频接访系统技术方案

加上了双重保险,也使其具有真正意义上的高可靠性。

高清远程视频接访系统技术方案

6传输条件

若采用以太网,距离超过100米时,以太网网线传输将性能下降,建议采用光纤收发器传送以太网信号。

若采用同轴电缆,要求采用芯线线径0.3平方毫米(75欧姆),不能采用芯线线径0.2平方毫米的(75欧姆),否则将影响信号质量。

7供电系统

为保证接访室供电系统安全可靠,减少经电源途径带来的串扰,应采用三套供电系统。

1).一套供电系统作为接访室的照明供电。

视频监控系统的设计原则与解决方案 篇5

摘要

本文根据家庭视频采集系统的要求,提出一种基于ARM的网络视频采集方案。方案要求视频的实时传输、实时监控。本系统以Intel Xscale 芯片和嵌入式Linux系统为平台,在平台中搭建网络视频服务器,并以它为中介,负责将USB摄像头采集到得视频数据传输到网络服务器中,最后发送到申请监控的远程PC机中,远程PC只需在网页中便能实时的看到监控端的视频图像。

论文首先阐述了嵌入式网络视频采集技术的发展、现状和前景,然后介绍了嵌入式硬件系统结构和嵌入式Linux操作系统的特点,阐述了嵌入式硬件整体结构,使大家大体的完整的对系统硬件有详细的了解,实际记录了嵌入式操作系统内核的编译和移植,介绍了Bootloader的基本原理和启动过程,实现了视频采集程序的编译和移植,研究了嵌入式一般驱动程序的使用。随后,本文详细描述了视频采集程序的整体结构框图和具体功能代码块、网络通信编程技术、图像编解码、嵌入式视频服。

关键词:ARM;嵌入式;Linux;视频采集

I

目录

摘 要.............................................................................................................................I 第1章 引言.................................................................................................................1

1.1 课题的背景和来源..........................................................................................1 1.2本文的内容及主要工作..................................................................................1 第2章 嵌入式ARM系统硬件结构简介..................................................................3

2.1 视频监控系统结构简介..................................................................................3 2.2 ARM处理器简介.............................................................................................3 2.3 XSCALE体系结构............................................................................................4 2.4 主要硬件电路说明..........................................................................................7 第3章 嵌入式ARM系统软件结构..........................................................................9

3.1 LINUX操作系统简介.......................................................................................9 3.2 交叉编译环境的建立....................................................................................10 3.3 嵌入式LINUX操作系统移植........................................................................11 3.3.1 BootLorder移植...................................................................................11 3.3.2 Linux 内核移植...................................................................................12 3.3.3 嵌入式文件系统.................................................................................13 3.4 LINUX下的程序调试.....................................................................................14 第4章 USB设备驱动程序设计...............................................................................15 4.1 设备驱动程序简介........................................................................................15 4.2 LINUX下驱动程序的实现.............................................................................18 4.3 USB摄像头驱动程序设计............................................................................20 第5章 视频采集功能的设计...................................................................................23 5.1 基于V4L的编程...........................................................................................24 5.1.1 摄像头相关数据结构.........................................................................24 5.1.2 摄像头基本功能实现.........................................................................25 5.1.3 视频数据采集.....................................................................................29 5.2 图像编解码....................................................................................................32 5.2.1 编解码介绍.........................................................................................32 5.2.2 系统压缩技术.....................................................................................33

第1章引言

1.1课题的背景和来源

二十一世纪的网络化、数字化让人们的生活每天都发生着翻天覆地的变化,获取信息的方便和快捷可以使人们在信息化的今天领先一步创造出巨大的利益,而获取信息的重要途径就是眼睛。据统计,人类采集信息的80%来自视觉。图像和视频是对客观事物生动、形象的描述,是一种最直观的表现方式。而视频监控技术因为它方便快捷、生动形象、信息丰富等特点日益受到人们的青睐,并在各行各业得到广泛的应用。与此同时,现代网络和数字技术的快速发展也为视频监控技术的发展奠定了坚实的基础。

二十一世纪,嵌入式技术、多媒体处理技术进一步发展,为视频监控系统的发展提供了新的出路——嵌入式视频监控系统。嵌入式系统是以应用为中心,软硬件可以剪裁,具有高稳定、低成本、功耗低、速度快、实时好的专用计算机系统,它由嵌入式微处理器,配以周边硬件设备,接口电路组成。嵌入式系统内部使用嵌入式操作系统,安装专用的功能软件。嵌入式技术把硬件和软件集于一体,独立工作。嵌入式视频监控系统比其他视频采集系统在布局区域范围上要广泛;由于使用IP技术,嵌入式视频监控技术比其他视频采集系统更具紧密的结合度,能够充分利用现代网络技术的成果,并能构成复杂的视频监控网络;性能上,嵌入式视频采集系统继承了嵌入式技术的优点,非常适合自动化的环境。

因此,嵌入式视频采集技术正在我国快速的发展,积极的研究会加强我们在这方面技术的学习,也会为视频监控技术的发展贡献力量。

1.2本文的内容及主要工作

根据毕业设计的初衷,我们需要设计基于ARM的网络视频采集系统。在监控系统中,视频采集、传输、播放的功能不是由专门视频处理芯片完成,而是由软件实现。

论文首先介绍了嵌入式ARM系统的硬件结构和软件结构,方便大家熟悉ARM和Linux系统,包括嵌入式设备的硬件结构,逻辑框图和Linux的基本操作、安装方法;第二,研究了嵌入式的一些驱动程序,主要是摄像头驱动程序

V4L,系统中选用的摄像头芯片——中星微301;第三,研究了视频监控的具体流程和实现方式,让大家在总体上对整个系统有一个大概的认知。

本次设计的目的只有一个,就是实现视频的实时监控。围绕它,不管是硬件结构还是软件流程,都需要学习和研究,不断调试,决不放弃。

总之,论文的内容都是围绕如何建立一个视频采集系统。无论是从哪个方面,我们都是为这个目标而努力。2

第2章嵌入式ARM系统硬件结构简介

2.1视频监控系统结构简介

网络视频监控系统是基于嵌入式技术设计的。嵌入式并没有统一的定义,但目前有一个广泛而又被认可的规范:将软件产品固化到硬件平台上,完成应有的功能既是嵌入式。

基于嵌入式ARM技术的视频监控系统服务器端采用摄像头不断的采集图像,压缩成视频流,然后通过网络发送到申请监控的客户端。监控系统的使用者可以在远程实现网页上的实时监控和一些简单的功能操作。系统整体结构如图2.1所示[1]。

LCDJTAG摄像头ZC301CPU单元Intel Xscale以太网控制器远程PC客户端SDRAMFLASH

图2.1 系统整体结构图

该系统中CPU采用基于ARM的PXA270微处理器,通过在其上运行Linux操作系统,执行Boa视频服务器,接受并处理来自摄像头的图像信号,通过以太网控制器发送至远端,实现视频数据的远程传输和接受,达到视频监控的目的[2]。

2.2ARM处理器简介

ARM,既是一个公司的名字,也是对一类微处理器的通称。ARM嵌入式微处理器是全球领先的16/32位RISK处理器芯片知识产权设计供应商ARM(AdvancedRISKMachines)公司的产品。ARM公司本身不直接从事芯片生产,而是依靠转让设计许可,由合作公司生产各具特色的芯片。

ARM处理器以其完整的体系结构,极小的体积、极低的功耗、极低的成本、极高的性能,及时根据嵌入对象的不同进行功能上的扩展的优势,在众多种类的嵌入式微处理器中脱颖而出。基于ARM技术的微处理器应用占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

采用RISC架构的ARM微处理器一般具有如下特点:

(1)采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种;(2)使用单周期指令,便于流水线操作执行;

(3)大量使用寄存器,数据处理指令只对寄存器进行操作,以提高指令的执行效率;

(4)所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率;

(5)可用加载/存储指令批量传输数据,以提高数据的传输效率;(6)可在一条数据处理指令中同时完成逻辑处理和移位处理;(7)在循环处理中使用地址的自动增减来提高运行效率。

目前,ARM处理器有ARM7、ARM9、ARM9E、ARM10、ARM10E、SecurCore、StrongARM和XScale等系列。每个系列除了具有ARM体系结构的共同特点以外,都有各自的特点和应用领域。

2.3XScale体系结构

Xscale核是采用ARM V5TE架构的处理器,是Intel公司的StrongARM的升级换代产品,它具有高性能、低功耗等特点,并在流水线设计、DSP处理和指令设计中有很大改进[3]。ARM的体系结构是基于RISK的,XScale是ARM处理器的一种,所以XScale具有RISK的基本特性。而且针对嵌入式系统,XScale构架还引入了Pentium处理器工艺和系统结构技术,实现了Pentium微处理器体系结构的一系列高性能技术,达到了高性能、低功耗和小体积等嵌入式系统要求的特性。它的特点有:超流水线、高主频、存储体系、分支预测和指令集体系结构。本设计采用的就是基于英特尔Xscale构架的一种32位嵌入式处理器,它除了应用于掌上电脑之中外,还可以应用于智能手机、网络存储设备、骨干网路由器等电子设备。

PXA27x系列处理器是英特尔当前最新推出的嵌入式处理器。它的时钟频率从312到624MHz不等,并内建64MB的堆栈型Intel StrataFlash内存。内置了英特尔的无线MMX技术,能够显著提升多媒体性能。

OURS-PXA270-EP是一款基于INTEL XSCALE PXA270处理器,针对高效

嵌入式系统教学和实验科研的平台。这款设备主要包括核心板与底版两个部分,核心板主要集成了高速的PXA270 CPU,配套的存储器,网卡等设备;底版主要是各种类型的接口与扩展口。

核心板(8层PCB电路)系统包括:

CPU: INTEL PXA270(520M),支持GDB调试; SDRAM: 64M 工作在104M外频上; FLASH: 32M INTEL Nor FLASH;Net: 10/100M Ethernet controller(LAN91C111);SUPERIO: WINBOND 83977;CPLD: XILINX 95144(117USER IO);总线驱动器: 若干;核心板正面如图2.2所示,核心板背面如图2.3所示。

SDRAMCPUdrvdrvCPLDdrvFLASHdrvdrvFLASHLDOdrv 图2.2 核心板正面图

SDRAMdrvEthernetdrvdrvdrv100PIN CONNECTORSuperIOLDO 图2.3 核心板背面图

底版(4层PCB电路)如图2.4所示。包括: Ethernet: 10/100接口1个

UART: 6个(包括RS232,RS485,IRDA,全功能串口)USB1.1:2个(1个host 一个device)PS2:2个(KEYBOARD&MOUSE)标准并口:1个 PCMCIA: 1个 IDE:1个 SD/MMC: 1个 SMC:1个 CAMERA:1个 96PIN功能扩展口:2个 4X5 小键盘

CPU_JTAG CPLD_JTAG LED SHARP LQ080V3DG01 8寸真彩LCD

640X480 VGA 640X480 LED 8X8点阵

一组7段LED数码管

4个

串口irda串口串口串口LCD接口LCD接口并口VGALED点阵音频1音频2音频3PCMCIA 卡LED数码管SMC 卡核心板SDPSPSUSBUSB485NET键盘 图2.4 底版图

2.4主要硬件电路说明

嵌入式设备除了以ARM芯片为主要控制单元,也有很多周边电路和外围设备,它们有的帮助ARM处理信号、有的负责存储数据、有的进行网络连接、有的用来数据通信,这些周边设备缺一不可,不能替代。

首先介绍CPU核心总线[4],总线是CPU和其他设备的桥梁。CPU是通过总线信号来控制SDRAM ,FLASH,网卡,SUPERIO等外部设备的,无论是低速还是高速,只要是与总线相关的芯片,都要和CPU总线信号有关。其次,研究嵌入式系统内存——SDRAM。SDRAM是嵌入式系统的内存,具有单位空间存储容量大和价格便宜的优点,已广泛应用在各种嵌入式系统中。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度。同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。PXA270芯片在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口。除了SDRAM,FLASH也是一种存储媒介。FLASH一般具有NOR型和NAND型。NAND型FLASH单元密度高,写入和擦除速度非常快,而且一般NAND型FLASH的存储容量很大。NOR型FLASH的优点是芯片内执行命令,这样应用程序可以直接在FLASH内运行,不用进入内存,使得它的传输效率很高。嵌入式设备最大的优点就是网络功能强大,它能像PC一样方便地连接到互联网上,这些功能都是网络控制器的作用。也就是Ethernet Controller,本系统采用SMSC公司的单芯片的网络控制器,LAN91C111。它可以工作在两种速度下,10M以太网或者100M以太网。LAN91C111的工作流程是,驱动程序将要发送的数据包按指定格式写入芯片并启动发送命令,LAN91C111会自动把数据包转换成物理帧格式在物理信道上传输;反之芯片收到物理信号后自动将其还原成数据,并按指定格式存放在芯片RAM中以便主机程序取用。就是LAN91C111完成数据包和电信号之间的相互转换。最后,说明一下串口电路,在嵌入式视频监控系统中,串口起到了很重要地作用,嵌入式系统启动的信息都可以通过串口传到PC上,极大地方便了系统的移植和软件的调试。大多数情况下,嵌入式CPU的串口0会作为CPU的一个终端,为用户与CPU交互提供基本的输出输入信息。当CPU运行BOOT代码时,通常只有这个终端 ;运行LINUX内核时,如果有LCD显示,串口0与LCD终端会同时有效。串口0终端的交互

方式是命令行的模式,在BOOT阶段,支持简单的BOOT命令。8

第3章嵌入式ARM系统软件结构

3.1Linux操作系统简介

Linux是一个类似Unix的操作系统,它起源于芬兰一个名为LinusTorvaldS的业余爱好者,现已成为最流行的一款开放源代码的操作系统。Linux从问世至今,短短时间内已发展成为一个功能强大、设计完善的操作系统。Linux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒。由于Linux的源码开放,内核精简且性能强悍,不依赖于具体厂商,能广泛适用于各种硬件设备,系统二次开发成本极低,因此在IT业界已经达成共识,即采用嵌入式Linux作为嵌入式操作系统是大势所趋[5]。

嵌入式Linux是目前嵌入式系统领域中发展势头非常迅猛的系统。嵌入式Linux是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几M字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用操作系统。目前正在开发的嵌入式系统中,49%的项目选择嵌入式Linux作为操作系统。嵌入式Linux现已成为嵌入式操作系统的理想选择[6]。目前基于嵌入式Linux的应用已经遍布很多领域,比如移动多媒体设备、手持设备、车载导航系统、机械控制等。嵌入式Linux分为两种类型:在没有使用MMU的平台上(无内存虚实地址转换和映射)的一般为uCLinux;而在有MMU平台上,则使用原本地嵌入式Linux版本。由于在目前的主流嵌入式ARM中大多不具有MMU,因此只用IM左右的内核就能实现网络功能和任务调度的Linux系统就可以适用于从高端服务器到嵌入式应用的各级平台。ARM技术和Linux成功地结合,应用于数以千计的商业产品中。从便携式消费品、网络和无线设备,到自动化设备、医疗设备和存储产品,这一应用列表与日俱增。ARM和Linux的结合充分满足了各类应用对嵌入式平台高性能、低功耗和低价格的要求,通过开发环境、开源社区和ARM的商业伙伴的优势为嵌入式开发提供了更灵活的选择。

本次设计的开发环境为redhat9.0系统,在Windows XP 下安装虚拟机,在虚拟机中安装Linux系统,这样可以屏蔽底层差别,避免硬件驱动带来的麻烦,而且还能方便的使用串口、并口、USB接口,快速的进入实验环境。图3.1为虚拟机下Linux系统启动后的情况。

图3.1 虚拟机下Linux操作系统

3.2交叉编译环境的建立

通常嵌入式系统的软件编译和执行是在两个不同平台上进行的。编译是在宿主机,一般为装有Linux的pc;执行是在目标机,即嵌入式系统的硬件平台。一般是在宿主机上通过跨平台交叉编译器把源文件编译成目标平台上可执行的文件,再通过串口、并口或者网络下载至目标平台上的FLASH或者其它存储介质,然后由目标机来运行这些软件。这里所说的跨平台编译器和一般的编译器功能类似,都是把源代码通过编译器编译成目标文件,然后通过链接器、可重定位器程序和定位器把目标文件重新定位成可执行文件。和通用的编译器之间最大的差别就在于跨平台编译器编译出来的可执行程序通常只能在特定CPU所属平台上运行。所以一般来说每种CPU都对应有不同的跨平台编译器。

本系统采用基于XScale的PXA270,可以使用常用的ARM-LINUX-GCC交叉编译器。要成功构建完整的交叉编译环境需要在宿主机上创建一系列的工具包括C/C++编译器、汇编器、链接器、嵌入式系统的标准C库和GDB代码级调试器。成功建立好开发环境后便可以运用这些工具进行嵌入式系统开发[7]。

3.3嵌入式Linux操作系统移植 3.3.1BootLorder移植

BootLoader是系统加电后运行的第一段代码。一般只是在启动时运行很短的时间,然而对一个嵌入式系统来说,这一部分却是整个系统的一个无比重要的组成部分,不可缺少。在一般嵌入式系统中,系统复位或者加电后通常从地址0x00000000处开始执行,而这个地址一般正是存放的BootLoader启动代码。通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终加载操作系统内核准备好正确的环境。

BootLoader一般情况下需要包含以下几个必备的功能 :(l)初始化处理器。这个动作都是用汇编语言完成的,称为重置码(resetcode)或者称为bootcode,而且对于每个CPU都不一样的,当电源接通后就会执行这个动作,通常只有两三个汇编指令,目的是将CPU的控制权转给硬件初始化的程序。

(2)初始化一些必要的硬件。这个动作也大都由汇编语言来完成,主要是初始化CPU、SDRAM等,其他的硬件,例如串口,可以由c语言等比较高级的程序语言来完成后续动作。

(3)设置处理器的寄存器以及内存,关掉所有的输入管脚(包括中断管脚),以防止突然有信号进入妨碍接下来的硬件初始化动作。然后初始化串口,以便后续运行的程序能够同HOST端进行通信,便于调试。

(4)从特定的位置把操作系统和文件系统调入内存,并设置一些操作系统所必需的参数,然后把CPU控制权交给操作系统。有的BootLoader会先从串口或者网络等其他途径得到内核的映像文件,然后把这些文件写入目标系统的FLASH或者其它存储介质,最后再把内核载入RAM执行,交出控制权。

一般BootLoader都包含两种不同的操作模式:“启动加载”模式和“下载”模式,这种区别仅对于开发人员才有意义。从最终用户的角度看,BootLoader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载模式的区别。

(l)启动加载(Bootloading)模式:这种模式也称为“自主”(Autonomous)模式,即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,BootLoader显然必须工作在这种模式下。

(2)下载(Downloading)模式:在这种模式下,目标机上的BootLoader将通过串

口连接或者网络连接等通信手段从主机(HOST)下载文件,比如下载内核映像和根文件系统映像等。从主机下载的文件通常首先被BootL0ader保存到目标机的RAM中,然后再被BootLoader写到目标机上的FLASH类固态存储设备中。BootLoader的这种模式通常在第一次安装内核与根文件系统时被使用,此外,以后的系统更新也会使用BootLoader的这种工作模式。工作于这种模式下的BootLoader通常都会向它的终端用户提供一个简单的命令行接口。

BootLoader的实现依赖于CPU的体系结构,一般来说启动过程分为两个阶段。

第一阶段依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在第一阶段中,而且通常都用汇编语言来实现,运行效率比较高。这个阶段完成的任务一般如下:(l)硬件设备初始化(屏蔽所有的中断、关闭处理器内部的指令/数据cache);(2)为第二阶段准备RA.M空间;(3)复制BootLoader的第二阶段代码到RAM空间中;(4)设置好堆栈并跳转到第二阶段的C程序入口点。

第二阶段则通常用C语言来实现,这样可以实现复杂的功能,而且代码会具有更好的可读性和可移植性。这个阶段主要任务有:(l)初始化本阶段要使用的硬件设备;(2)检测系统内存映射;(3)将内核映像和根文件系统从FLASH读到RAM中;(4)为内核设置启动参数;(5)调用内核文件运行。

本设计中的Bootloader采用Blob,Blob是Boot Loader Object的缩写,是一款功能强大的Bootloader。Blob最初是由Jan-Derk Bakker和Erik Mouw两人为一块名为LART(Linux Advanced Radio Terminal)的开发板写的,该板使用的处理器是StrongARM SA-1100,现在Blob已经被成功移植到许多基于ARM的CPU上了。本设计中的Intel Xcale就是采用Blob作为Bootloader[8]。

3.3.2Linux 内核移植

选用嵌入式Linux作为目标机操作系统,一方面由于Linux是一款免费的操作系统,能很好的降低成本,同时Linux的开发应用现在已经成为热门,有大量的资源可用于学习与重复应用,并且Linux系统具有良好的可移植性和可裁剪性,能自动支持多任务管理。一般常用的GUI如QT/E,MiniGUI等都支持Linux。

Linux的开发工具也都可以很方便的免费获得。

系统采用的嵌入式Linux内核为随实验平台光盘中的Linux内核,它是针对这套实验平台所配置的Linux内核,内核版本为Linux2.4.20[9]。在实验过程中,只需要在这个内核的基础上进行添加和删减所需要和不需要的功能,编译后就可以使用了。

在编译内核之前,需要对内核进行必要的配置,通过虚拟机进入/pxa270_linux/linux/目录后在终端执行make menuconfig[10]命令,就可以可视化的配置内核需要的功能和要求,本次试验,主要是针对视频方面,选择了对V4L的静态加载、对spca5xx摄像头驱动的动态加载,这样就结束了对内核的配置。编译内核需要创建内核依赖关系、创建内核镜像文件和创建内核模块。首先执行makedep命令,读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而哪些不需要;接着需要makeclean删除前面步骤留下的文件,以避免出现一些错误;然后便可以生成所需要的内核文件了,用make zlmage来实现得到可移植的内核。内核文件通过并口下载线烧写入开发板中,便可以通过BootLoader加载运行。

3.3.3嵌入式文件系统

嵌入式Linux操作系统一般采用FLASH作为存储介质。FLASH具有独特的物理特性,所以必须使用专门的嵌入式文件系统。嵌入式系统对文件的操作是通过层次结构实现的。对于用户程序来说,文件是有结构的文件,用户程序通过对文件IO函数操作文件。嵌入式文件系统是嵌入式操作系统的一部分,它的任务是对逻辑文件进行管理,其工作包括提供对逻辑文件的操作(复制、删除、修改等)接口,方便用户操作文件和目录。在文件系统内部,根据存储设备的特点,使用不同的文件组织模式来实现文件的逻辑结构。此外,文件系统要对管理文件的安全性负责。文件系统不能直接控制物理设备,它是通过FLASH驱动实现控制的[11]。

目前FLASH支持的文件系统技术主要有JFFS2,YAFFS2,TrueFFS,FTL/NTFL,RAMFS,CRAMFS和ROMFS等等。本系统采用的是JFFS2文件系统。

JFFS2文件系统是专门为NAND闪存设计的嵌入式文件系统,根据NAND闪存以页面为单位存取的特点,将文件组织成固定大小的数据段。利用NAND闪存提供的每个页面16B的备用空间来存放ECC(ErrorCorrectionCode)和文件系统的组织信息、,不仅能够实现错误检测和坏块处理,也能够提高文件系统的加

载速度。JFFS2采用一种多策略混合的垃圾回收算法,结合了贪心策略的高效性和随机选择的平均性,达到了兼顾损耗平均和系统开销的目的。它是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外掉电对文件系统一致性和完整性的影响。JFFS2文件系统是按层次结构设计的,分为文件系统管理层接口、JFFS2内部实现层和NAND接口层,这样就简化了其与系统的接口设计,可以方便地集成到系统中去。与YAFFS相比,它增加了一些功能,因此功能更强。

3.4Linux下的程序调试

调试是程序开发过程中必不可少的一个重要环节,通用PC机的程序调试与嵌入式操作系统的调试环境上有着明显的区别,前者调试器和被调试的程序往往是运行在同一台机器上,是相同操作系统下的两个不同的进程,调试器通过操作系统专用调用接口控制被调试进程,后者通常为远程调试,调试器一般运行于桌面操作系统上,而被调试的程序则运行在嵌入式系统之上,因此需要协调这两个程序之间的通信。Linux下的调试工具非常的少,gdb是Linux下最著名的调试工具,它是GNUC自带的调试工具,它可以使开发人员了解程序运行的详细细节,从而消除程序的错误,达到调试的目的,gdb还具有远程调试功能,可以满足嵌入式系统调试的要求,在调试过程中PC机也称为宿主机和嵌入式系统通过串口协议或者TCP/IP协议连接起来,远程主机上运行被gdb规范断点改造过的内核,当条件成立时,断点被激活,然后等待本地宿主机的连接命令,一旦连接成功,宿主机就可以向远程嵌入式系统发送调试命令了。在调试过程中gdb通过调试stub来完成通信功能,调试stub是嵌入式操作系统中的一小段代码,它提供了运行gdb的宿主机和嵌入式系统进程之间交互的一个媒介。

除了使用调试器外还可以直接在程序中使用printf()或printk打印函数,这种方法功能比较弱,效率低下,但在内核模块调试时这是唯一的方法。14

第4章USB设备驱动程序设计

4.1设备驱动程序简介

Linux系统中,设备驱动程序扮演着特殊的角色。它就像一个独立的黑盒子一样,使某个特定的硬件可以相应一个定义良好的内部编程接口并且完成隐藏设备的作用。用户只需调用一组标准化的函数完成操作,而且这些操作与特定的驱动程序无关。驱动程序的任务就是将这些函数映射到作用硬件的具体操作上。这样的模块化的驱动程序结构使得Linux系统中的驱动程序可以独立于内核的其他部分,可以在需要使用的时候将驱动“插入”内核。

从系统运行顺序来看,硬件平台启动运行Linux后,启用了MMU单元即内存管理单元,在这种模式下系统不能直接对物理地址进行访问。若要对某一硬件外设进行读写,需要通过内核调用该硬件的驱动来实现。

上面已经说过,驱动程序的作用在于向应用程序提供访问硬件设备的接口,驱动程序屏蔽了硬件实现上的细节操作,于是应用程序可以像操作普通文件一样对硬件设备进行操作。Linux以模块的形式加载设备类型,通常是一个模块对应实现一个设备驱动。模块是内核的一部分,它们没有被编译到内核中,而是分别被编译并链接成一组目标文件。可以根据用户的需要在不需要对内核进行重新编译的情况下动态载入正在运行的内核,或从正在运行的内核中卸载。利用这种机制,内核尺寸可以保持在最小,并具有最大的灵活性,也便于检验新的内核代码,而不需要重新编译内核并重新引导。设备驱动程序一般需要完成以下功能:(l)对设备初始化和释放;(2)把数据从内核传送到硬件和从硬件读取数据;(3)读取应用程序传送给设备文件的数据和回送应用程序的请求数据;(4)检测和处理设备出现的错误。

在Linux操作系统下有两类主要设备文件类型:块设备、字符设备。用户进程正是通过设备文件来与硬件打交道。每个设备文件都有其文件属性,表示是字符设备还是块设备。另外每个文件都有2个设备号,第一个是主设备号,标识驱动程序;第二个是从设备号,标识使用同一个设备驱动程序的不同硬件设备。设备文件的主设备号必须与设备驱动程序在登记时申请的设备号一致,否则用户进程将无法访问驱动程序。

Linux驱动程序可以分为三个主要部分: 15

(l)自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和能否正常工作。如果该设备正常,则对这个设备及其他必需的条件位口中断、DMA通道)进行申一请并初始化。这部分驱动程序仅在初始化时被调用一次。

(2)服务于I/O请求的子程序,又称为驱动程序的上半部分。调用这部分程序是由于系统调用的结果。这部分程序在执行时,系统仍认为是与进行调用的进程属于同一个进程,只是由用户态变成了核心态,但仍具有进行此系统调用的用户程序的运行环境,因而可以在其中调用与进程运行环境相关的函数。

(3)中断服务子程序,又称为驱动程序的下半部分。在Linux操作系统中,并不是直接从中断向量表中调用设备驱动程序的中断服务子程序,而是由Linux系统来接收硬件中断,再由系统调用中断服务子程序。中断可以在任何一个进程运行时产生,因而在中断服务子程序被调用时,不能依赖于任何进程的状态,也就不能调用任何与进程运行环境有关的函数。因为设备驱动程序一般支持同一类型的若干设备,所以一般在系统调用中断服务子程序时,都带有一个或多个参数,以唯一标识请求服务的设备。

在系统内部,I/O设备的存取通过设备驱动程序提供的一组固定的入口点来进行,这组入口点在驱动程序初始化时向系统进行登记,以便在系统适当的时候调用。一般来说,字符型设备驱动程序能够提供如下几个入口点:(1)open入口点:打开设备准备I/O操作,对字符特别设备进行打开操作,都会调用设备的open入口点。open子程序必须对将要进行的I/O操作做好必要的准备工作,如清除缓冲区等。如果设备是独占的,即同一时刻只能有一个程序访问此设备,则open子程序必须设置一些标志以表示设备的状态。

(2)close入口点:关闭一个设备,当最后一次使用设备结束后,调用dose子程序。独占设备必须标记设备可再次使用。

(3)read入口点:读取设备,对于有缓冲区的I/0操作,一般从缓冲区里读取设备数据。

(4)write入口点:向设备写数据,对于有缓冲区的I/O操作,一般向缓冲区里写入数据。

(5)ioctl入口点:执行读写之外的操作。

USB(Universal Serial Bus)即“通用串行外部总线”,用途广泛,可以外接硬盘、键盘、鼠标、打印机等多种设备,USB能够使用尽可能少的接口支持尽可能多的外设,尤为适合在嵌入式设备中使用,是嵌入式接口标准的一个很好的选择。

USB总线规范有1.1版和2.0版。USB1.1支持两种传输速率:低速1.5Mbit/s、全速12Mbit/s,这样的速率完全满足鼠标、键盘、CD-ROM等设备,但是在嵌入式视频监控系统中,这样的速度还是很慢。所以,USB2.0提供了一种更好的传输速率:高速,它可以达到480Mbit/s。USB2.0向下兼容USB1.1,可以将遵循USB1.1规范的设备连接到USB2.0控制器上,也可以把USB2.0的设备链接到USB1.1控制器上。

USB总线的硬件拓扑结构[12]如图4.1所示。

USB主机控制器USB设备根集线器USB设备USB设备集线器USB设备集线器USB设备集线器USB设备USB设备USB设备USB设备 图4.1 USB总线硬件拓扑图

USB主机控制器通过根集线器与其他USB设备相连。集线器也属于USB设备,通过它可以在一个USB接口上扩展出多个接口。除根集线器外,最多可以层叠5个集线器,每条USB电缆的最大长度是5m,所以USB总线的最大距离为30m。一条USB总线上可以外接127个设备,包括根集线器和其他集线器。整个结构图是一个星状结构,一条USB总线上所有设备共享一条通往主机的数据通道,同一时刻只能有一个设备与主机通信。

通过USB主机控制器来管理外接的USB设备,USB主机控制器共分3种:UHCI、OHCI和EHCI。在配置Linux内核的时候,看到的“HCD”字样表示“Host Controller Drivers”,即主机控制器驱动程序。

USB驱动程序分为两类:USB主机控制器驱动程序(Host Controller Drivers)、USB设备驱动程序(USB device drivers)。它们在内核中的层次如图4.2所示。

UserUSB Device DriversUSB Host Controller DriversHardware 图4.2 USB驱动程序层次结构

在试验中,教学平台上的Linux嵌入式内核已经配置了USB主机控制器驱动程序,只需要添加需要的USB设备驱动程序,就能实现USB设备的正常使用。

4.2Linux下驱动程序的实现

Linux操作系统下对硬件设备进行驱动开发的一般步骤如下:(l)注册设备

在系统启动时或者在模块加载的时候需要将设备和重要的数据结构登记到内核的设备数组中,并确定该设备的主次设备号。在Linux系统中,对于字符设备一般通过调用register_chrdev向系统注册设备驱动程序,register_chrdev在fs/deviees.c文件中的定义如下:int register_chrdev(unsigned int major,const char*name,struct file_operations fops)定义中的major是设备驱动程序向系统申请的主设备号,如果major为O,则系统为该驱动程序动态的分配一个主设备号,不过此设备号是临时的;name是设备名:fops是各个调用入口点的说明。函数返回O表示注册成功,返回-INVAL表示申请的主设备号非法,返回-EBUSY表示申请的主设备号正在被其它设备驱动程序使用。

以后对设备驱动程序的file_operations的操作都可以通过该主设备号的索引来完成。register_chrdev函数操作成功后,设备名便出现在/proc/devices文件目录中,使用命令cat/proc/devices可以查看设备的工作状态。

(2)定义操作集

驱动程序中要通过一系列函数完成对设备的不同操作,这些操作在面向对象编程术语中也称为方法,该操作集通过数据结构file_operations实现。内核内部通过file结构识别设备,通过file_operations数据结构提供的文件系统的入口点函数访问设备。

file_operations定义在中的函数指针表: struct file_operations { struct module*owner;loff_t(*llseek)(struct file*, loff_t, int);ssize_t(*read)(struct file*, size_t, loff_t*);ssize_t(*write)(struct file*, const char*, size_t, loff_t*);int(*readdir)(struct file*, void*, filldir_t*);unsigned int(*poll)(struct file*, struct poll_table_struct*);int(*ioctl)(struct inode*, struct file*, unsigned int, unsigned long);int(*mmap)(struct file*, struct vm_area_struct*);int(*open)(struct inode*, struct file*);int(*flush)(struct file*);

int(*release)(struct inode*, struct file*);int(*fsync)(struct file*, struct dentry*, int datasync);int(*fsyne)(int, struct file*, int);int(*lock)(struct file*,int, struct file_lock*);ssize_t(*readv)(struct file*, const struct iovec*, unsigned long, loff_t*);ssize_t(*writev)(struct file*, const struct iovec*, unsigned long, loff_t*);ssize_t(*sendpage)(struct file*, struct page*, int, size_t, loff_t*, int);unsigned long(*get_unmapped_area)(struct file*, unsigned long, unsigned long,unsigned long, unsigned long);}

这个结构的每一个成员的名字对应一个系统调用,在用户程序利用系统调用对设备文件进行诸如读/写操作时,系统调用会通过设备文件的主设备号找到相应的驱动程序,然后读取这个数据结构的相应函数指针,把控制权交给该函数。对于具体的设备驱动并不需要实现结构中所有的例程,只要完成设备功能就可以了。例如对于一个常见的字符设备驱动来说,可能只有操作open(),write(),read(),ioctl()和close(),当用户程序通过系统调用访问设备时,最终要通过这些操作集来完成。

(3)卸载模块

当不再需要使用一个模块或设备时,需要将其从内核中卸载下来,这时会动态调用模块中的module_exit()函数,并需要在该函数中调用modul_unregister_chrdev()或module_unregister_blkdev()释放挂入内核的数据结构同时释放该设备号。

4.3USB摄像头驱动程序设计

摄像头属于视频设备,在Linux内核中,VideoforLinux(简称V4L)是关于视频设备的驱动标准。这个标准为应用程序定义了一系列的接口函数,内核、驱动和应用程序都是依靠这个标准来进行交流。本系统所使用的USB摄像头正是基于该标准来编写驱动和应用程序的。

Linux内核是依据设备号来操作设备文件的,在内核中,摄像头对应的设备文件名为/dev/video0,主设备号是81,次设备号根据摄像头数目来确定,本系统中仅使用一个摄像头,所以可以通过mknod/dev/video0 c 81 0来创建节点。USB摄像头驱动程序实现原理如图4.3所示。

USB摄像头的驱动和通用设备的驱动准则一样,但需要与内核提供的视频驱动挂钩。即首先在驱动中声明一个 video_device结构,并为其指定文件操作函数指针数组fops,向系统注册。在应用程序发出文件操作的相关命令时,核心根据这些指针调用相应函数,并将该结构作为参数传递给它们。这样,就完成了驱动和核心之间的通信。

例如: Static struct video_devie vdev_template={……};

声明 video_deviee,指出挂接驱动

用户进程系统调用摄像头驱动文件操作接口接收缓冲区发送缓冲区中断服务程序摄像头 图4.3 摄像头驱动实现框图

Static Struct file_operation spcasxx_fops= {……};

声明本驱动的文件操作函数指针 Struct video_device*vdev=video_devdata(file);从文件指针中提取出 video_deviee结构

在video_deviee结构中,有一个私有指针priv,可以将它指向一块保留内存。在这块内存中,保存着本驱动、本设备的相关初始化信息。这块内存的申请、初始化、指针指向等工作都是在USB驱动的枚举函数probe中完成。这样,在枚举函数将控制权返还给系统后,因为内核不销毁保留内存,所以驱动仍然保留着自己的信息。在驱动卸载函数中需要将申请的各块内存全部释放。

Linux系统中任何USB传输都通过URB实现。为提高速度,可以考虑扩大URB的缓冲,这样可以降低每个USB事务中握手信息所占比例,提高有效数据的输速度。但是受限于总线带宽和具体的USB设备芯片,单纯扩大URB的缓冲不能无限制地解决问题。USB在操作系统中每次传输都要包括URB的建立、发出、回收、数据整理等阶段,这些时间不产生有效数据。因此可以建立两个URB,在等待一个URB被回收时,也就是图像正在被传感器采集时,处理、初始化另一个URB,并在回收后立刻将其发出。两个URB交替使用,大大减少了额外时间。

由于嵌入式平台上运行的Linux2.4.20内核,内部已经集成了对USB2.0的支持,所以无需移植相应的USB驱动。

在设计中,摄像头芯片采用中星微的Z301系列芯片,Linux2.4内核并不支持这种芯片,所以我们通过移植芯片驱动程序来达到目的。芯片的驱动程序是spca5**系列,如果不重新编译内核的话,将驱动程序动态加载就可以正常使用。设计中动态加载的命令使用insmod命令,它和modprobe命令在使用上有所不同,modprobe在加载模块时不用指定模块文件的绝对路径,也不用带模块文件的后缀.o或.ko;而insmod需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的.o或者.ko。但是在功能上,它们所达到的效果基本相同[13]。22

第5章视频采集功能的设计

视频采集程序是基于V4L开发的,包括摄像头的初始化、打开/关闭、参数设置和数据读取等操作,视频采集程序流程图如图5.1所示[14]。

开始初始化摄像头init_videoIn()打开摄像头open_v4l()获取摄像头参数icotl(int->vd,int cmd,..)设置摄像头参数ioctl()获取一帧图像N一帧是否截取完毕Y存储并准备传输N是否终止视频采集Y关闭摄像头终止 图5.1 视频采集程序流程图

5.1基于V4L的编程 5.1.1摄像头相关数据结构

摄像头的组成部分是传感器、DSP、镜头、外壳、USB连线、电路板和周边电路构成,其中最重要的是传感器和DSP(数字信号处理器)。本系统选用的摄像头采用了CMOS传感器和中星微301处理器。

V4L[15]提供了一系列的接口应用程序,可以利用这些程序实现对摄像头的调用,其中有read、open、ioctl等。V4l同时将这些函数和参数封装成一个数据结构vdIn。struct vdIn {

int fd;char *videodevice;struct video_mmap vmmap;struct video_capability videocap;int mmapsize;struct video_mbuf videombuf;struct video_picture videopict;struct video_window videowin;struct video_channel videochan;struct video_param videoparam;

int cameratype;char *cameraname;char bridge[9];int sizenative;int sizeothers;int palette;int norme;int channel;int grabMethod;unsigned char *pFramebuffer;unsigned char *ptframe [4];

};int framelock [4];pthread_mutex_t grabmutex;int framesizeIn;volatile int frame_cour;int bppIn;int hdrwidth;int hdrheight;int formatIn;int signalquit;

int fd :打开摄像头时,open函数返回的文件描述符,其他函数使用这个描述符对摄像头进行操作。

struct video_mmap vmmap: 用于内存映射的结构体。

struct video_capability videocap :描述摄像头基本信息,如设备名称、支持的最大分辨率、信号源信息、信道数等。

struct video_mbuf videombuf :在进行内存映射时读取帧的信息,实际上是输入到摄像头存储缓存中的帧信息。

struct video_picture videopict :摄像头采集图像的属性,如亮度、色调、对比度、色度、深度等。

struct video_window videowin :表示采集窗口参数,如分辨率等。struct video_channal videochan :关于信号源的属性。

5.1.2摄像头基本功能实现

(1)初始化摄像头参数

在对摄像头进行操作之前,要对摄像头进行初始化,即对vdIn这个结构进行初始化。使用init_videoIn 函数。

int init_videoIn(struct vdIn *vd, char *device, int width, int height, int format, int grabmethod){

int err =-1;int i;if(vd == NULL || device == NULL)return-1;

} if(width == 0 || height == 0)return-1;grabmethod = 1;//read by default;if(grab method < 0 || grabmethod > 1)// check format

vd->videodevice = NULL;vd->cameraname = NULL;vd->videodevice = NULL;vd->videodevice =(char *)realloc(vd->videodevice, 16);vd->cameraname =(char *)realloc(vd->cameraname, 32);snprintf(vd->videodevice, 12, “%s”, device);if(debug)printf(“video %s n”,vd->videodevice);memset(vd->cameraname, 0, sizeof(vd->cameraname));memset(vd->bridge, 0, sizeof(vd->bridge));vd->signalquit = 1;vd->hdrwidth = width;vd->hdrheight = height;vd->formatIn = format;

vd->bppIn = GetDepth(vd->formatIn);vd->grabMethod = grabmethod;vd->pFramebuffer = NULL;err = init_v4l(vd);for(i = 0;i < OUTFRMNUMB;i++){

} vd->frame_cour = 0;pthread_mutex_init(&vd->grabmutex, NULL);return err;vd->ptframe[i] = NULL;(unsigned char *)realloc(vd->ptframe[i], sizeof(struct frame_t)+(size_t)vd->framelock[i] = 0;vd->framesizeIn);

(2)打开摄像头

在Linux中,类似摄像头的设备是作为文件来看待的,叫做设备文件。我们可以使用open函数来对设备进行打开操作,open带有两个参数,第一个为设备文件名称,本实验的摄像头设备名称是/dev/video0,第二个则是打开的类型。

在使用open函数打开摄像头之前,要判断是否有摄像头设备,即检查参数videodevice是否为空。Open函数执行结束后会返回摄像头的文件描述符,如果返回值为-1,则说明打开设备出错。

int open_v4l(char *vd->videodevice){

if(!vd->videodevice){

printf(“No device file, ERROR opening V4L interface”);

return-1;}

if((vd->fd=open(vd->videodevice, O_RDWR))==-1){

printf(“ERROR opening V4L interface”);

return-1;} return vd->fd;}(3)获取摄像头参数

成功打开摄像头后,需要获取摄像头的一些参数,利用ioctl函数控制I/O通道来实现。Ioctl函数的使用是ioctl(int->fd, int cmd,……),fd代表文件描述符,cmd表示用户对设备的控制命令,第三个参数是一个其他的参数。其中,cmd包括VIDIOCGCAP(获得video_capbility中有关摄像头的信息)、VIDIOCGPICT(获取图像信息)、VIDIOCSPICT(改变图像信息)、VIDIOCGMBUF(获取摄像头存储缓冲区帧信息)、VIDIOCAMCAPTURE(获取视频图像)、VIDIOSYNC(判断摄像头是否截取成功)等。

读取video_capability中有关摄像头的信息

if(ioctl(vd->fd, VIDIOCGCAP, &(vd->videocap))==-1){ printf(“Fail to get video_capability!/n”);return-1;} 读取video_picture中的图像信息 printf(“Fail to get video_picture!/n”);return-1;} if(ioctl(vd->fd, VIDIOCGPICT, &(vd->videopict))==-1){

读取video_window信息

if(ioctl(vd->fd,VIDIOCGWIN,&(vd->videowin))==-1){

printf(“Fail to get video_window!/n”);

return-1;}(4)设置摄像头参数

在对摄像头参数进行设置的时候,应该按照以下步骤:比如更改图像信息,首先,先给video_picture结构中所要修改的变量赋值,如vd->videopict.palette=vd->formaIn;vd->videopict.depth=GetDepth(vd->formatIn);然后通过ioctl函数的VIDIOCSPICT来设置,如if(ioctl(vd->fd,VIDIOCSPICT,&(vd->videopict))<0){ printf(Fail to set videopict params with VIDIOCSPICT!/n“);return-1;} 在设置好了之后可以通过VIDIOCGPICT命令来查询图像信息设置是否成功。(5)关闭摄像头

在Linux编程过程中,必须养成一个好的编程习惯,就是在开启一个设备后一定要关闭它,这样可以避免很多诸如内存泄露等严重的问题。

本系统支持两种读取方式来获得视频流,它们是内存映射和直接读取,所以首先需要判断视频采集的方式,如果是内存映射,则在系统任务完成后关闭内存映射,然后关闭摄像头设备。同样道理,如果采用的是直接读取,则在任务完成后关闭直接读取,然后在关闭摄像头设备。在代码中,采用了一个判断语句,判断vd->grabMethod的值来判断系统采用哪种读取方式。int close_v4l(struct vdIn *vd){

int i;if(vd->grabMethod){

} else { free(vd->pFramebuffer);vd->pFramebuffer = NULL;if(debug)printf(“unmapping frame buffern”);munmap(vd->pFramebuffer, vd->mmapsize);

} } if(debug)printf(“close video_devicen”);close(vd->fd);/* dealloc the whole buffers */ if(vd->videodevice){

} if(vd->cameraname){

} for(i = 0;i < OUTFRMNUMB;i++){

} pthread_mutex_destroy(&vd->grabmutex);if(vd->ptframe[i]){

} free(vd->ptframe[i]);vd->ptframe[i] = NULL;vd->framelock[i] = 0;if(debug)printf(“freeing output buffer %dn”, i);

free(vd->cameraname);vd->cameraname = NULL;free(vd->videodevice);vd->videodevice = NULL;5.1.3视频数据采集

视频数据的采集是系统实现的第一步,是所有工作的前提。嵌入式Linux系统支持两种视频数据采集的方式:内存映射、直接读取视频。

(1)内存映射

内存映射方式是通过mmap系统调用函数来实现的。mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间

后,进程可以像访问普通内存一样对文件进行访问,不必再调用read()、write()等操作。

首先,使用ioctl系统调用的VIDIOCSFBUF命令获得摄像头存储缓冲区的帧信息,之后初始化video_mbuf,修改video_mmap中的设置,重新设置图像信息,如帧的垂直及水平分辨率、彩色显示格式等。为了防止缓冲区的内容与有用信息叠加产生干扰,在初始化之前可以先调用memset(&(vd->videombuf),0,sizeof(vd->videombuf)来清零缓冲区。然后使用函数vd->map=(unsigned char*)mmap(O,vd->mbuf.size,PROT_READ|PROT_WRITE,MAP_SHARED,vd->fd,ff_t offset)使设备内容映射到内存区,其中第一个参数为共享内存的起始地址,一般设为0,表示由系统分配;第二个参数为映射到调用进程地址空间的字节数,它从被映射文件开头offset个字节开始算起;第三个参数指定共享内存的访问权限(PROT_READ(可读),PROT_WRITE(可写),PROT_EXEC(可执行));第四个参数可以是MAP_SHARED或者MAP_PRIVATE;第五个参数为设备描述符。mmap()成功调用后返回系统实际分配的起始地址。

内存映射方式下真正进行视频截取的是ioctl系统调用的VIDIOCMCAPTURE命令,若函数成功调用,再用VIDIOCSYNC命令来判断图像截取是否己经完毕,若该函数调用成功,则表明一帧图像的截取已完成,便开始下一帧图像数据的截取,并将当前截取的帧号按缓冲区总帧数的模加上l。

vd->vmmap.height=vd->hdrheight;vd->vmmap.width=vd->hdrwidth;vd->vmmap.format=vd->formatln;/*判断图像截取是否完成*/ if(ioctl(vd->fd,VIDIOCSYNC,&vd->vmmap.frame)<0){ perror(„‟cvsync errn);erreur=-I;} while((vd->framelock [vd->frame_cour]!=0)&&vd->signalquit)usleep(1000);temps=ms_time();

pthread_mutex_lock(&vd->grabmutex);jpegsize=convertframe(vd->ptframe[vd->frame_cour]+sizeof(struct frame_t),vd->pFramebuffer+vd->videombuf.offsets[vd->vmmap.frame],vd->hdrwidth,vd->hdrheight,vd->formatln,vd->framesizeIn);headerframe=(struct frame_t*)vd->ptframe [vd->frame_cour];

snprintf(headerframe->header, 5,”%s”.”SPCA”);

headerframe->seqtimes=ms_time();headerframe->w=vd->hdrwidth;headerframe->h=vd->hdrheight;headerframe->size=((jpegsize<0)? 0: jpegsize);headerframe->format=vd->formatln;headerframe->nbframe=frame++;pthread_mutex_unlock(&vd->grabmutex);/*截取视频帧*/ if((ioctl(vd->fd,VIDIOCMCAPTURE,&(vd->vmmap)))<0){ perror(“cmcapture”);

if(debug)printf(“>>cmcapture err n”);erreur=-l;} vd->vmmap.frame=(vd->vmmap.frame+1)%vd->videombuf.frames;vd->frame_cour=(vd->frame_cour+l)%OUT FRMNUMB;(2)直接读取方式

直接读取视频数据是通过read系统调用函数来实现。read是一个用来从指定的文件或设备中读取数据的系统调用。参数表为read(fd,(void*)pFramebuff,(size_t)framesizeln)。其中fd为文件描述符,pFramebuffer为指向存放数据的内存的指针,framesizeln为需要读取的数据的长度。对于摄像头设备的读取,需要先分配内存空间,用来存储从摄像头读取过来的视频数据,然后直接调用read系统调用读取视频数据,返回值为实际读取的视频帧大小,也正是在视频传输过程中发送的视频数据大小。

size=vd->framesizeln;vd->pFramebuffer=(unsigned char*)realloc(vd->pFramebuffer,(size_t)size);Len=read(vd->fd, vd->pFramebuffer, size);if(len<0){ if(debug)printf(“v41 read errorn”);

if(debug)printf(“len %d asked %dn”, len, size);return 0;}

/*是否有其他进程正在使用该视频帧*/ while((vd->framelock [vd->frame_cour]!=0)&&vd->signalquit)

headerframe->deltatimes=(int)(headerframe->seqtimes-timecourant);

usleep(1000);temps=ms_time();

pthread_mutex_lock(&vd->grabmutex);jpegsize=convertframe(vd->ptframe[vd->frame_cour]+sizeof(structframe_t),vd->pFramebuffer,vd->hdrwidth,vd->hdrheight,vd->formatln,vd->framesizeln);headerframe=(struct frame_t*)vd->ptframe [vd->frame_cour];snprintf(headerframe->header, 5,”%s”,”SPCA”);headerframe->seqtimes=ms_time();headerframe->deltatimes=(int)(headerframe->seqtimes-timecourant);headerframe->w=vd->hdrwidth;headerframe->h=vd->hdrheight;headerframe->size=((jpegsize<0)? 0: jpegsize);headerframe->format=vd->formatln;headerframe->nbframe=frame++;vd->frame_cour=(vd->frame_cour+1)%OUTFRMNUMB;pthread_mutex_unlock(&vd->grabmutex);5.2图像编解码 5.2.1编解码介绍

通过摄像头采集到数据后,还并不能把它们直接通过网卡传输,因为这样的数据很大,网络不能承担如此庞大的数据传输。所以,必须将采集到得数据进行编码,压缩数据大小。通过这样的操作,我们采集到得数据就会变得很小,然后再把这些数据通过网络传输。同样的道理,在输出端我们还要把接收到的已经压缩的数据还原回来,这就涉及到解码的内容。通过这一系列的操作,图像和视频数据就实现的远程的传输。如果没有编解码,远程传输就是实际上不可能的事情,所以图像的编解码是非常重要的。

现在普遍使用的编解码技术。对于静态图像,普遍使用静态压缩JPEG标准;对于动态视频,普遍使用动态压缩MPEG标准。

JPEG是由ISO和CCITT为静态图像压缩所建立的国际上第一个静态图像压缩标准,JPEG有着较高的压缩比,复杂度适中,既可以用硬件实现,也可以用软件实现,实用性强,被广泛使用于计算机和通信行业。

MPEG中文译名为动态图像专家组。到目前为止,MPEG标准主要有五个,32

MPEG-

1、MPEG-

2、MPEG-

4、MPEG-7和MPEG-21。它是由ISO/IEC1172压缩编码标准得出的视频压缩格式,MPEG的出现使视听传播进入数码化时代。MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减少时间冗余度,利用DCT技术以减少图像的空间冗余度,利用熵编码技术在信息表示方面减少了统计冗余度。通过一系列技术,极大的体现了压缩性能[16]。

5.2.2系统压缩技术

由于本系统要求实现远程视频传输,为了达到预计的设计要求,设计采用基于MJPEG算法的压缩技术进行视频压缩。MJPEG和MPEG的不同点在于MJPEG不使用帧间编码。可是MJPEG与MPEG仍然是一脉相承的,它对MEPG进行了一些改进和发展,功能更加强大,能发送高质图片、清晰视频,编码容易实现。但MJPEG也有一些缺点,由于功能的提升,MJPEG对带宽的要求很高,编码效率低。

参考文献

1.张永强,赵勇勇,李崇德.嵌入式远程视频采集系统的设计与实现[J].现代电子技术,2006,05(02):57-60.2.Jing Li, Weidong Hao.Research and Design of Embedded Network Video Monitoring System Based on Linux[C].The 2008 International Conference on Embedded Software and Systems Symposia, 2008, 1310-1313.3.陈章龙,唐志强,涂时亮.嵌入式技术与系统——Intel Xscale 结构与开发[M].北 京:北京航空航天大学出版社,2004,143.4.奥尔博公司.PXA270嵌入式实验开发系统——Linux实验指导[M],2007.5.Seon Gyu Kim and Sung Ho Cho.Implementation of an Embedded Software Modem Platform[J].Division of Electrical & Computer Engineering,2006,04(2):5-9 6.杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.7.朱珍民,隋雪青.嵌入式实时操作系统及其应用开发[M].北京:北京邮电大学出版社,2006.8.李亚峰 欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学 33

视频监控系统的设计原则与解决方案 篇6

全高清实时视频显示

嵌入式系统设计与调试

课程名称

姓名学号

年级专业

嵌入式系统设计

彭嘉乔

3130104084

大三

电子信息工程

所在学院

电气工程学院 全高清实时视频显示嵌入式系统设计与调试报告

3130104084 彭嘉乔

心得体会:

我想了想,还是决定把心得体会放在这里。毕竟基础实验大家做的都是一样的内容,何况我们做的水平也就那样,Phase5还没有做完。但我的感想是独一无二的,不如把最有价值的部分排版到最前面。

如果让我直观总结下这22天小学期的感受,我会毫不犹豫地说:“累”。如果要具体点的话,“真的很累”。这种累,不仅是身体上的累,更是心累,大部分时候是一种深深的绝望。

我对这门课是有心理准备的。上课前我就看过往届学生写的报告,无一例外充斥着“大学最累的课”“大学生涯难度最高的课”“累得昏天黑地”这种话,然而我还是有着迷之自信。其实如果我不是有着迷之自信的话我压根就不会选这门课,毕竟我之前没有上过数字系统设计,没有任何与FPGA板开发有关的经验,对这门课的内容完全是两眼一抹黑。

这门课一开始是早上八点开始,到下午五点结束,后来才改成了早上八点半开始。最初我根本不适应这样的强度,而且由于这样改变了我睡午觉的习惯,导致我第一周每天回寝室后都先补觉睡到九点,再起来继续白天的进度到凌晨三点再睡觉,作息严重混乱。后面稍微调整过来了,回寝不需要补觉了,只是昏昏沉沉一晚上而已。

从Phase2第一次要求自己写代码开始我就感觉到了巨大的压力。因为没有上过数字系统设计,我压根就不会Verilog语言,得拿着数设的书从零开始自学,以致于连写个激励源文件都要折腾一天时间。这门课的玄学之处也从写这第一个testbench开始出现,我照着书上的例子一模一样的形式写的都运行不了。

当然这只算小儿科的,Phase2.3把之前的几个文件综合起来,本来分别检验都符合要求,综合起来后出现了严重的bug,仿真显示scl的输出有一半是高阻态,sda的输出始终为高阻态。即使将其强制赋值为1再输出仍然不行。我在i2c文件里通过注释掉其余语句逐句检验也发现不了问题。偶然间我发现,当注释掉与sda有关的一切,删掉sda的输出引脚后仿真显示scl正常,注释掉scl后sda仍然全为高阻态。我开始猜测是不是sda引脚出现了干扰,甚至去检查约束文件。为了这个bug我整整耽误了两天,最终在万念俱灰走投无路的情况下我干脆重建了工程把代码原样复制了进去,结果仿真就正常了„„

有趣的是重建工程前还可以生成bitstream文件,重建后就不行了。明明是一样的代码啊„„再花半天终于生成了bitstream文件,我也不知道怎么弄好的,然后烧录上去果然不能用,即使仿真波形和老师给的标准波形一模一样。干脆全部推倒重写吧。

这样的玄学在之后的实验中会一而再再而三地发生。同样的代码,重建工程复制进去就是截然不同的结果。同一个工程没有任何改动,重启下电脑就不能用了。同样的bitstream文件每次烧录显示都不同。一模一样的操作步骤在别人的电脑上行得通在自己电脑上就报错。不仅是我,其他同学也都发现了,人人都知道了重建大法好,出bug第一反应不再是去找原因而是先重建试试。想想以后我用的电子产品可能就是这样一群人用这样的方式做出来的,简直慌得要死。

除了玄学,很多时候一点小问题也会耽误我们一整天的时间。或者是数百行代码里的一句话,或者是软件的一个设置。在此不得不吐槽一下vivado和SDK都实在是太复杂太用户不友好了,如果老师不多教教软件的使用,告诉我们软件各个部分各种功能都是做什么的,只靠我们自己摸索实在是太难了。其实除了玄学问题我们真的没办法以外,大部分问题我们最终发现都是很简单的小问题,如果经验丰富的话很快就能解决,可让我们这些新手来自己解决的话往往无从下手,像无头苍蝇一样浪费非常多的时间。

整个小学期,我们可能只有5%的时间真正在写代码,70%以上的时间双眼空洞地盯着电脑屏幕,仰天长叹乞求上苍告诉自己究竟错在了哪里。当然上天不会回应,助教也不会。当我发现无论我问什么助教都会回答:“讲义上有自己好好看看吧”而我确定一定以及肯定我把讲义上的每一个字都看过了而且确实没有答案的时候,助教在我心中就已经不存在了。

虽然我可以理解老师和助教希望我们自己解决问题以提升能力积累经验的苦心,但是我质疑这样是否有效率。让高中生提前接触微积分他或许会感受到数学的美和神奇进而爱上数学,而换成个小学生只会感到枯燥厌烦。适当拔高确实可以考验打磨学生,拔得太高拔苗助长只是种折磨。如果在好几个关键时刻有过来人抬我们一手,稍微指点一下,我们的进度起码可以快一周,Phase5可能就做出来了,攀登到高峰看到最美的风景,创新实验也能做得更好。可实际上我们在很多没有意义的细节上浪费时间,向着看不见的敌人挥拳,收不到任何正反馈,仿佛身体被掏空一般难受。

我并不怕苦怕累,毕竟能考进浙江大学,吃不得苦高考就被淘汰掉了。可大多数时候我知道自己吃苦能换来什么,知道自己忙得有意义能忙出成果,但在这门课里大多数时候是“穷忙”,结果每天在电脑前忙个不停,却可能一整天都找不出bug原地踏步,没有任何充实的感觉,反而觉得异常空虚。

或许是作学生太久了变得娇惯了吧,觉得世间万事都该让着自己。幸好在我最烦躁最愤怒的时候被老师浇了一盆冷水,现在还记得特别深刻:“以后工作的时候,没人会问你遇到了什么问题,只会问你做出来了没有。”

这么一想大概也就释怀了吧。这个世界就是这么残酷啊,我确实可以找一万个理由来解释我为什么做得这么差,可还是掩盖不掉一个现实就是别人做出来了可我没有。没做出来就是没做出来,还是老实承认自己太菜吧。其实世间所有的不如意,都是自己不给力。

毕竟学渣是原罪。

以下是具体的实验过程。

Phase1、基于 Xilinx Vivado 的嵌入式系统设计入门实验。

Phase1是整个实验的入门,与其他实验相比,实验很简单,不过因为没有指导,需要自己摸索,所以,也是花了我们半天的时间。这次实验是对vivado软件的初步认识,如建立project,IP,sdk等等。

Phase2、设计 HDMI 控制器。

Phase2首先进行的是HDMI控制器的硬件设计,根据时序图得到hsync,vsync等信号和clk信号的关系,实验需要进行720p和1080p的设计,程序编写并不困难,但是由于对verilog语言的陌生,我和队友在testbench的编写上花费了较多的时间,后来经过上网找例子教程才明白,弄懂之后发现并不难,主要包括复位信号,时钟信号和输入信号,这些语句在不同的程序里大同小异,一次编写成功后,基本就掌握了testbench的编写。

下一节进行的是I2C总线控制器设计,以前曾经学习过I2C,所以我先是找了以前的I2C协议的程序,然后参考程序写出I2C协议,先是将频率转化为CLK_100K_A和CLK_100K_B,再利用二者的 | 或者&得到CLK_100K_SDA和CLK_100K_SCL,在这两个时钟下进行i2c_scl和i2c_sda的计算,最后经过仿真观察波形确定程序的正确性。

第三节是在前两节的基础上进行HDMI 显示测试图硬件电路设计。首先接触到的是yuv422编码方式,在理解这种编码方式上花费了一些时间,尽管如此,在之后还是出现了反色的问题。反色问题的原因是因为技术行数据写入了偶数行,使得yuyv的排列变成了yvyu,解决方案是地址整体加1或者减1。实验还是分为720p和1080p两部分,但是其实两部分差不多,所以我们为了节省时间,只做了和后面实验有关系的1080p部分。显示彩条和彩色砖块都是对地址进行划分。之后的显示小飞机需要从rom中读取数据,这一部分的步骤按照实验讲义进行,在rom的读取语句中有些困惑,经过询问同学,知道输入输出对应rom里用到的引脚便可。

在显示小飞机的实验中,图片出现了左右偏移的情况,最左侧一列为绿色,按照我们的想法,将loc_x地址加2进行调整,如果不够,再加2,然而加到8后最右侧一列已经出现明显偏移,而最左侧一列仍然是绿色,这让我们意识到,最左侧一列可能根本没有显示信号。进过检查代码,enable信号响应需要时间,由于在读取像素点信息时引入了enable信号,当扫到第一列的时候enable仍为0,导致第一列没有获得像素点信息。进行相应的更改,显示器上得以在每一处均有显示。最后经过合适的调整,使得显示不偏不倚。

Phase3、AXI-Lite 接口的设计。

Phase3 是从软件给出的AXI-Lite协议修改得到自己要用的AXI-Lite协议,封装成IP核添加到Block design中,利用cpu提供的150Mclk执行。这是我第一次接触到AXI协议,为了弄懂AXI-Lite协议,我阅读了讲义上提供的英文参考资料,因为对AXI协议没有基础,所以在阅读过程中比较吃力。在通读一遍后,对AXI协议有了简单的了解。从phase4.1中得到了zju_ip的AXI_Lite协议,尝试着去理解这个协议。AXI_Lite协议包括端口定义,各种信号和对register或者rom的调用。我们主要做的内容就是讲zju_ip中的register调用改为rom调用。在调用之前的I2C程序时,需要注意输入输出的匹配。

IP封装时,选择package current resource,完成封装后,就可以在Block design中直接调用创建的IP,选择自动连接,然后将输入输出引脚引出。Block design完成后,有时会发现IP核中的错误,需要对IP进行修改,可以直接找到IP的程序文件用记事本或其他阅读软件打开修改保存,然后在upgrade IP,然后generate outputs得到更新后的IP。直接在已创建好的IP上进行修改更新,比重新封装一个新的IP要简单快捷。

搭建好block design后,生成比特流文件并打开sdk,在sdk中编写软件,用cpu通过axi协议访问rom,对rom进行读写的操作。

Phase4、AXI-Full 接口的设计。

Phase3中用到的是axi slave,在phase4中用到的是axi master,master的程序代码与slave相比更加繁杂。在4.1提供了一份波形图供参考,我们通过波形图分析各个信号之间的关系。在信号的关系中,txn_request信号和axi总线的关系最为复杂,也最为重要。txn_request信号

sdk写完后进行烧录,出现了绿屏的现象,这是因为没有在sdk中写入elf文件,写入elf文件后在显示器上显示花屏,这是因为airbus.h文件没有正确的放入sdk中。在修改了一些错误后,终于在显示器上有了显示。

示器上显示出的大飞机图片出现了左右偏移的情况,且偏移的幅度很大。我们又开始进行漫长的debug过程。先是修改了地址位,结果大飞机却出现了雪花,急忙将地址为修改回来。后来,听从同学的意见,我们将fpga板子重启,重新烧录,在显示器上得到了正确的显示。

全高清数码相框的实验中,短学期已经将要结束,我们直接应用了老师提供的bmp.c和main.c代码,不过直接用这写代码在编译时不通过,问题出现在“f_mount(0,&fs);”一句,报错的原因是因为参数不够,打开“ff.h”文件查看f_mount的用法,并进行修改,编译得以通过。向sd卡里复制bmp图片,然后查到板子上,烧录后在显示器上没有显示图片,而在sdk中显示“airbus1 open success”和“It is not a bmp file”,出现这个问题的原因是因为main.c中的“sprintf(filename,“0:/bmp1080p/airbus%d.bmp”,j);”语句与sd卡中的bmp文件名airbus_1不匹配所导致,修改语句为

“sprintf(filename,“0:/bmp1080p/airbus_%d.bmp”,j);”bmp文件能够在显示屏上正常显示。这是出现的又一个问题只能显示前airbus_1.bmp至airbus_9.bmp这9张图片,这是因为文件名不能超过8个字符,我的解决办法是直接删掉airbus_9之后的图片并修改main.c中的for循环语句的循环次数,使得能够在显示器上循环显示9张图片。

Phase5 全高清摄像头视频采集

视频监控系统的设计原则与解决方案 篇7

银行属于一级风险单位,它具有规模多样、重要设施繁多、出入人员复杂、管理涉及领域广等特点,它作为当今社会货币的主要流通场所、国家经济运作的重要环节,以其独特的功能和先进的技术广泛服务于国内各行各业,其业务涉及大量的现金、有价证券及贵重物品。我国现阶段银行系统联网一般以单独城市为单位,银行监控联网系统是一个覆盖整个城市的大型综合监控系统。目前银行系统视频联网的要求为:在同城内构建同行的视频监控集中管理系统,使银行下辖各个营业网点从一个个独立的监控孤岛转换为真正的统一监控管理集群。通过固化网络需求、标准化监控系统配置而构建起大型的银行视频监控平台,使银行安保部门及公安机关可以及时了解现场情况,及时策应,大大减轻人力投资。

本方案设计采用广州市伟昊科技电子有限公司的Any Vision视频管理系统,将同城市内的53家营业网点进行联网,包括作为总控中心的分行,分行下辖各支行、各自助银行及离行式ATM机。联网系统实施后,各网点的监控视频信号,对讲及监听的音频信号,各报警探测器的报警信号可汇总至总控中心,进而上传至公安机关相应部门(图1)。

以本方案设计思路为蓝本的系统工程,已在全国多个城市银行监控联网系统项目中得到检验,具备很强实用性及实施性。

2 需求分析

银行视频监控系统(即CCTV)不再是传统的闭路电视监控系统,已经走向网络化,其职能也已经由传统的单一安防职能转化为兼顾安全防范、解决商业纠纷的双项功能。根据客户的实际需求,视频联网系统应兼顾如下内容:

1)网机构:分行大楼原有矩阵监控系统,下辖有43家支行、5家自助银行、4台离行式ATM机等营业机构。

2)网设备:分行及各支行大部分录像主机为大华、海康威视、蓝色之星、大立等主流品牌4路/8路嵌入式硬盘录像机,自助银行及离行式ATM机亦为以上品牌ATM专用录像机,个别支行还有部分其他品牌硬盘录像机;各营业网点配备相应数量的拾音器,各支行营业柜台配备相应数量的对讲机;各支行及自助银行安装主流品牌报警系统。

3)网络资源:分行具备光纤通信20M带宽专网;各支行配置2M独立视频专网;自助银行复用营业专网,分2M中的1.5M给视频监控联网使用;各离行式A T M机为A D S L方式。

3 系统设计要点

本系统设计主要依据银行用户实际要求、行业设计规范、工程设计经验,还要结合现场情况和相关负责人的要求进行深化调整。

3.1 设计思想

随着银行监控系统数字化的普及,各个分散式的独立系统已经不能满足多方面的保卫管理工作的需求,银行监控联网已势在必行。如果说建立营业网点各自独立的监控系统是安全防范的需要,那么建立综合安防联网系统则是有效管理与维护的需要。

根据笔者对银行安保及科技部门的了解,以及对银行现有系统的研究得知:目前业界尚无全国范围的银行联网系统标准,仅在一些大城市(如北京、上海)有些试行的地方性行业规范,而且市面上很多所谓的银行联网产品和方案并不能满足建立“综合管理系统”的需求。

建立先进且务实的设计理念,是系统成功构建的基础。从银行的角度来讲,综合管理系统的最终目的应该是能够提供一个平台。在这个平台的管理之下,所有的组织机构(分行、支行、自助银行等)、设备(监控设备、音频设备、报警设备、存储设备等)、系统(监控系统、报警系统、门禁系统)等所有的被管理对象应该组合成为一个有机体,协同一致地为银行的监控管理目标服务。但需要强调的是,这个平台并非“无所不能”。平台建立时,不能片面追求大而全,追求一些表面上的功能模块而不是针对银行的具体业务需要,只是为建立平台而建立平台。由于不同品牌不同设备的迥异性,系统越大,可靠性越低。目前业界有很多方案宣称功能如何的齐全,但据笔者的实际工程经验,单一个“硬盘录像机品牌兼容性”功能,尚无哪个系统做到无所不能,更何况众多安防产品的大系统兼容,更是如此。平台的建立要务实,要遵循“有用,实用,常用,易用”的原则。在实用的基础之上,系统可做到不断升级完善。

故此,本系统设计思想是在银行原有监控系统建立思想基础之上,做出如下改进:

(1)管理权限重心后移

传统监控系统中,前端的营业网点安保人员一般具备管理员权限,可进行监控系统的所有操作。“综合管理系统”建立后,前端营业网点安保人员只有图像机实时监看、录像回放查看、报警信息查询的“监看”权限,所有系统的修改权限,包括:录像机系统设置,录像资料更改,报警系统设置等,全部由总控中心统一控制管理。

银行所有录像资料分别存储在各营业网点的DVR中,可有效避免因网络故障导致录像资料传输损坏或丢失。但由于配备的硬盘存储容量有限(一般为31天)和管理机制所限,致使所有录像资料面临两个信息安全问题:一是录像资料本身的安全,一旦录像资料查询不到,很难清楚确认是工作人员的失误操作,还是DVR设备本身存在问题;另一个是录像内容的安全,一些涉及重大案件及商务纠纷的录像资料,由于缺乏有效监管而散播到社会,将会造成意想不到的严重后果。总控中心统一管理可有效避免类似事件的发生。

(2)集成系统联动,建立管理平台,方便警务管理

将视频、音频、报警有机结合,尤其注重对各种门禁出入管理系统的建设和集成,整合原有110报警系统,建立统一管理平台。银行报警系统一般联动110报警,但误报率较高是一直无法解决的难题,故而业界应运而生了二级报警服务公司。“综合管理系统”建立以后,多项报警及门禁信息由总控中心进行网络视频确认,彻底解决误报问题。

由此,所有安防事务及商务纠纷的取证可由分行总控中心或各级分控中心专职完成,方便与公安机关的协调,使安保工作更加系统化、专业化。

3.2 系统功能

本方案以分行作为整个系统的网络一级中枢,下辖各支行为二级网络结点,自助银行、离行式ATM机为三级网络节点,建立一个安全、高效、先进的三级“综合管理系统”—“Any Vision银行网络视频管理平台”。

Any Vision网络视频管理系统区别于其他网络视频系统的特点之一是丰富的产品兼容性。在银行系统中,最突出的表现就是“硬盘录像机多品牌兼容性”。通过调用总控中心视频管理服务器中的数据库,能通过前端编码器和后端客户端软件共同实现控制大华、海康威视、蓝色之星、大立、金鹏、三星、松下等主流品牌硬盘录像机。

(1)远程图像调用功能

分行总控中心的系统管理员(Administrator)、一般安保人员(Guest)和一般授权用户(User),可根据各种权限对所属联网网点的指定摄像机图像实时调用:支持10个以上授权用户对同一画面同时访问,既可采用软解压方式,即客户端软件或WEB浏览,也可采用硬解压方式,即电视墙显示。

客户端浏览软件——Power Explorer(简称PE)简介:所有前端系统的图像采用的视频压缩标准为H.264,可按照摄像机的位置进行分组。图像界面可1/4/7/8/9/10/13/16画面分割,同时可在图像上叠加显示时间、地点名称,可选择任意一路图像扩大到全屏,显示实时的画面最高可达25帧/s。软件界面如图2所示。

(2)硬盘录像机管理功能

Any Vision视频管理平台将各个品牌硬盘录像机的键盘控制协议录入数据库,并在客户端软件中内嵌各品牌录像机的控制面板(如图2(1)),从而实现多品牌兼容。

由于客户端软件可直接调用多品牌硬盘录像机的控制面板,故系统管理人员可像现场直接操作硬盘录像机面板按键一样,进行远程录像机参数设置。除以上列举主流品牌录像机外,分行下属各支行还有其他品牌的数字硬盘录像机,只要提供相应的键盘控制协议或SDK开发包,即可实现兼容。

(3)远程录像回放功能

录像资料存储于各营业网点的硬盘录像机内,某些重要录像资料可通过网络转存集中在分行总控中心的视频管理服务器内。各级授权用户可以采用两种方式查看录像机资料:一是调用客户端软件内置的多品牌录像机控制面板,直接操作硬盘录像机的画面切换及录像回放(如图2(2));二是采用客户端录像回放软件Power Player,转存、查询、回放存储于视频管理服务器内的指定录像,如图3所示。

(4)报警联动功能

统一管理营业网点的报警信息,并做出相应的联动:报警信息及联动图像画面上传至总控中心,报警图像自动在总控中心客户端软件的用户界面弹出,在电子地图上显示具体报警位置,并辅以声光报警提示。

(5)双向语音对讲功能

由于银行视频监控系统兼顾安全防范、解决商业纠纷的双项功能,故而音频信号要实现双向传输功能:各支行柜员处客户及营业员的对话声音可上传至总控中心,总控中心也可主动对自助银行、离行式ATM机呼叫、喊话。所有音频、视频在前端录像机内同步存储,需要时上传至中心视频管理服务器集中存储。

(6)电视墙显示功能

系统支持硬解码,各营业网点图像在总控中心的电视墙集中显示。所有屏幕画面均由系统切换键盘统一控制,电视墙的监视器采用循环切换显示方式,最长不超过10min轮巡显示一次。既可显示多画面,也可调取任一硬盘录像机的单一画面。

(7)视频管理服务器增强功能

因视频管理服务器为整个系统的核心,它的可靠性决定整个系统的可靠性,故服务器的性能必须优异。服务器的增强功能包括:双机热备份、专业工业级服务器配置、NAS/SAN扩展存储阵列等功能。

(8)预留端口及系统扩展

监控中心预留与省级总行和市公安机关联网的通信接口,根据需要上传公安局内保局4~10路视频图像。整个系统具备良好的系统功能扩展性,保证银行营业网点扩充时只增加前端设备,总控中心不做任何硬件改动。

3.3 系统架构与原理

根据以上对银行监控系统要求的分析,“Any Vision银行网络视频管理平台”按照星形拓扑结构组建,并把它细分为系统中心一级中枢、前端支行二级网点、前端自助银行/离行式ATM机三级节点的三个主要部分。

(1)系统一级中枢构建

分行总控中心构建一级中枢,设2台视频管理服务器,以实现双机热备功能;设24台视频解码器,建立3行×8列电视墙,集中切换显示所有视频图像。主要设备如下表:

分行总控中心系统构建说明:

a)物理连接方式如下:视频管理服务器、视频解码器、系统管理电脑主机都接入交换机,再由交换机通过路由器统一接入银行专网;每台视频解码器对应一台彩色监视器,进行电视墙音视频播放。

b)逻辑关系如下:系统切换键盘将用户视频切换控制指令发送给视频管理服务器,再由服务器转发给视频解码器,实现电视墙视频切换;系统管理电脑主机将用户管理操作指令发送给视频管理服务器,再由服务器转发给前端编码器,实现硬盘录像机控制。

c)系统管理电脑主机运行Any Vision视频客户端软件—Power Explorer,软解压浏览、回放全行所有录像机视频图像;同时运行系统控制管理软件—Power Manager,进行服务器的系统配置。

d)系统拓扑图(图4)

(2)前端二级网点构建

各支行构建二级网点,构建方式是对原有监控系统进行改造,根据接入安防设备的数量(如硬盘录像机、报警主机)确定视频编码器数量。拟定8路嵌入式硬盘录像机为4台,报警主机1台,则需增加的主要设备如下表:

支行二级网点系统构建说明:

a)物理连接方式如下:DVR、视频编码器接入专用交换机,再由交换机通过路由器统一接入银行视频专网;每台视频编码器可同时对应一台录像机,一台报警主机,一套音响设备(音频输入/输出),从而实现安防设备控制。

b)逻辑关系如下:所有视频、音频、报警、门禁等信息由视频编码器上传至视频管理服务器,再由服务器及用户做出响应;所有控制指令由服务器统一发送给前端编码器,实现硬盘录像机控制、双向语音对讲及报警信号处理等功能。

c)原有监控系统中硬盘录像机模拟视频信号经视频分配器,将DVR输出视频1分2:一路进原有监视器显示,另一路进视频编码器上传;视频编码器控制端口(RS485)接录像机键盘控制口,通过远程调用视频管理服务器数据库中的控制协议,实现录像机控制;通过I/O报警输入或RS232串口,视频编码器能接入多品牌报警主机及各型号报警探测器。

d)视频传输效果说明:支行2M视频专网,可保证实时传输1路D1画质、25帧/s的图像;也可传输2路D1画质、15帧/s的图像。(备注:视频路数是以单台硬盘录像机为计量单位,如硬盘录像机为8路,同时传2路视频图像即为同时传输D1格式视频路数为8路/台×2台=16路视频)。

(3)前端三级节点构建

各自助银行、离行式ATM机构建三级节点,构建方式是对原有监控系统进行改造。三级节点设备较少,拟定4路AMT专用录像机为2台,则需增加的主要设备如下表:

三级节点系统构建说明:

a)物理连接,逻辑关系参照二级网点。

b)视频传输效果说明:自助银行复用1.5M营业专网,可保证实时传输1路D1画质、15帧/s的图像;也可传输2路CIF画质、25帧/s的图像;离行式ATM机采用ADSL联网,可传输1路CIF画质、15帧/s的图像。

c)系统改造时如需额外增加摄像机,可直接接入视频编码器的备用视频通道。

4 总结

基于“Any Vision银行网络视频管理平台"的系统解决方案不仅保证了银行视频联网监控系统对网络资源的合理应用,更保证了系统运行的可行性及可靠性,并且有效地控制了系统的建设成本、网络建设成本及系统维护成本,使银行视频联网监控系统真正走向成熟。

摘要:本文结合一套专门为金融业定制的远程数字监控系统,阐述了一种实用的基于VPN的远程数字视频监控系统的架构。

视频监控系统的设计原则与解决方案 篇8

【摘要】针对现代视频监控视频数据的传输和线路的架设需要耗费大量的人力、物力问题,采用电力线载波通信和嵌入式技术,设计了一种电力线载波嵌入式视频监控系统。以嵌入式处理器S5PV210为控制核心,通过电力线载波传输视频数据。

【关键词】电力载波嵌入式视频监控

【中图分类号】 G 【文献标识码】A

【文章编号】0450-9889(2014)06C-0181-03

视频监控被广泛应用到各种生产、管理、检测领域。视频监控的视频数据的传输通常使用光纤、宽带网络、双绞线等方式作为传输媒介,在生产和安装过程中需要消耗大量的人力、物力。采用电力载波传输技术,利用广泛存在的电力线网络作为视频数据传输的媒介,能够有效节省生产和线路架设的成本。本系统采用嵌入式ARM作为视频采集、编码控制核心,结合电力线载波传输视频数据构成基于电力线载波嵌入式视频监控系统。以嵌入式处理S5PV210作为控制核心能够快速获取摄像头视频图像信息,利用内部硬件H.264编码器实现快速视频编码。以INT6400和INT1400作为电力线载波视频传输模块,能够快速组网实现多点监控和稳定地传输视频数据。该系统能够免除烦琐的视频数据线路的生产、架设安装,具有节约成本、即插即用等优点。实验表明,该视频监控系统具有低功耗、节省成本、安装方便、图像清晰等特点。

一、电力载波视频监控系统的总体设计

本视频监控系统采用C/S(客户端/服务器端)模式,由视频监控服务器和视频监控客户端组成。视频监控服务器设置固定的IP地址。视频监控服务器与客户端采用UDP通信协议进行视频传输。视频监控服务器主要由摄像头模块、嵌入式处理器模块、电力线载波通信模块组成。客户端在PC机上实现。系统总体结构框架图如图1所示。

图1 系统总体结构框架图

二、电力线载波视频监控系统硬件设计

(一)嵌入式处理器模块。嵌入式处理模块视频监控系统服务器控制核心主要负责原始视频图像数据的采集、H.264格式视频编码、视频数据传输给电力线载波通信模块。该模块采用Samsung公司的S5PV210嵌入式ARM CortexTM-A8处理器。处理器主频最高可达1GHz,支持USB2.0通信,支持对MPEG4、H.263、H.264等视频格式的硬件编码。嵌入式处理模块采用USB方式与摄像头进行连接,通过以太网网络芯片DM9000AEP接口与电力线载波通信模块进行连接。

(二)电力线载波通信模块。电力线载波通信模块主要负责接收嵌入式主控模块的视频数据,然后进行正交频分复用(OFDM)编码将数据调制到电力线上。本模块主要由INT6400电力线调制控制芯片和INT1400模拟前端组成。ATHEROS公司生产的INT640电力线载波调制芯片,内部集成A/D和D/A转换功能,其采用HomePlug1.0通信协议最高通信速率高达200Mbps,能够满足视频监控系统多路视频数据同时传输。INT6400通过RTL820CP网卡网络接口与主控模块通信。模拟前端INT1400主要负责将模拟信号进行放大加载到电力线上。图2 为电力线载波通信模块结构框图。

图2电力线载波通信模块

三、电力线载波视频监控系统软件设计

(一)视频图像采集。视频监控系统原始视频图像数据采集主要通过嵌入式ARM处理模块的USB接口读取摄像头图像信息。摄像头采用深圳威视有限公司生产的USB视频监控摄像头。该摄像头通信接口为:USB2.0;图像最大解析度为:640x480;图像输出格式为:YUYV;图像数据帧率最高为:30fps。本视频监控系统服务器端采用Linux嵌入式系统作为操作系统。V4L2内核驱动为Linux系统对进行视频采集设备提供了通用接口。Linux2.6.32内核已包含该摄像头的视频驱动,应用程序可利用V4L2标准的通用接口操作函数获取摄像头原始视频图像信息。本视频监控Linux系统中,对摄像头设备进行读写的系统文件为“/dev/video0”。对摄像头的操作通过ioctl(系统对内核驱动I/O设备进行管理的函数)函数进行操作即可。对视频设备进行操作主要由以下几个步骤组成。

1.打开视频设备,通过open()打开函数完成。

static char * usb_name= "/dev/video0";

/*定义摄像头设备文件名*/

usb_fd = open (usb_name, O_RDWR| O_NONBLOCK, 0); /*打开视频设备,usb_name设备名*/

2.获取USB摄像头所支持的各种参数。

ioctl (*usb_fd, VIDIOC_QUERYCAP, &cap_video); /* 在V4L2编程框架下采用VIDIOC_QUERYCAP 指令为结构体cap_video获取USB摄像头的各种参数*/

3.设置USB摄像头的输出格式。

ioctl ( * usb_fd, VIDIOC_S_FMT, &video_set); /*定义video_set 为摄像头设置输出图像的像素大小、输出像素格式*/

4.向驱动申请缓冲帧的个数。

ioctl ( * usb_fd, VIDIOC_REQBUFS, &video_requre );

5.获取视频缓冲帧的地址。

ioctl ( * usb_fd, VIDIOC_QUERYBUF, &video_buf );/*申请图像输出的内存存放起始地址*/

6.将缓冲地址放入视频采集队列和开始采集视频数据。

ioctl (*usb_fd, VIDIOC_QBUF, & video_buf));

ioctl (*usb_fd, VIDIOC_STREAMON, &video_type));

7.获取视频数据同时必须将缓冲地址再次放入采集队列。

ioctl ( * usb_fd, VIDIOC_DQBUF, &video_buf ); /*获取原始视频图像信息*/

ioctl ( * usb_fd, VIDIOC_QBUF, &video_buf ); /*对下一次视频图像采集入列 */

(二)嵌入式视频编码。对原始视频图像信息必须进行视频格式压缩才适合传输。本视频监控系统采用H.264视频格式进行视频编码。H.264视频格式编码采用流媒体技术支持边传输边播放功能,是一种高效率、高压缩率、高图像质量同时对误码具有较强的纠错能力的编码技术。嵌入式处理器S5PV210内置硬件H.264编码器,支持对视频进行H.264格式进行硬件编码,减轻系统的工作负担,提高工作效率。Samsung公司为该处理器提供相应的硬件驱动,应用程序只需对相关的驱动函数进行操作即可完成对视频进行编码。H.264编码主要由以下步骤组成。

1.打开编码设备。

handle = VideoMfcEncOpen(&buf_type)

2.设置H.264硬件编码的格式,设置图像像素的长宽、码率等参数。

SSBSIP_MFC_ENC_H264_PARAM * H264_video_mfc; /*定义硬件编码器为H.264格式*/

VideoMfcEncInit(handle , H264_video_mfc); /*初始化H.264编码器*/

3.设置H.264图像输入存放地址。

SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );

/*摄像头采集的视频图像存放在起始地址为input_info_video_mfc,图像视频数据长度为SourceWidth * SourceHeight */

ret= SsbSipH264EncodeExe(handle); /*进行视频的编码*/

4.进行H.264视频格式编码。

SsbSipMfcEncExe( handle );

5.获取H.264编码的视频数据。

SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 为视频编码后视频数据存放的数据地址*/

6.关闭视频编码设备。

(三)视频传输。电力线载波视频监控服务器与客户端通信采用UDP通信协议。UDP是一种无连接的网络通信协议,适合对数据量传输要求比较高的通信。服务器与客户端进行数据通信主要有以下步骤:

1.创建UDP协议套接口,采用无连接方式。

videofd=socket(AF_INET,SOCK_DGRAM,0);

2.利用bind函数对套接字进行绑定。

bzero(&video_adr,sizeof(struct,sockaddr_in));

video_adr.sin_family=AF_INET;

video_adr.sin_addr.s_addr=htonl(INADDR_ANY);

video_adr.sin_port=htons(SERVER_PORT);

bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))

3.利用sendto()函数进行视频数据打包发送。

video_adr= sizeof(struct sockaddr_in) ;

sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );

本系统每次发送3000个字符型视频数据。视频数据UDP协议通信方式如图3所示。

图3 视频数据UDP通信方式

四、系统测试

本视频监控系统采用S5PV210嵌入式ARM处理器、4块K4T160840F内存组成的512MB RAM作为主控模块,采用INT6400和INT1400组成的电力线载波模块。电(下转第184页)(上接第182页)力线载波通信的协议为:HomePlug1.0,主控模块与上位机PC通信协议采用UDP通信协议,视频传输像素为:320*240。PC端作为视频接收播放客户端。视频播放帧率为:30fps。视频编码格式为:H.264编码。每个电力线载波服务器设置固定IP地址,利用编写的播放应用软件进行视频播放,利用电力线网络数据测试工具检测视频通信的速率。在实验环境下,采用两个视频监控服务器进行视频监控。表1为两个视频监控服务器与PC客户端不同通信距离下的通信速率。在测试中图像清晰、视频延时小、图像稳定、通信速率高,能够满足多路视频同时传输和较好适应环境,实现视频监控。

表1 通信速率与距离

序号测试距离1号通信速率2号通信速率

15m172 Mbps175Mbps

210m167 Mbps162Mbps

320m127Mbps133Mbps

430m116Mbps113Mbps

540m88Mbps85Mbps

五、结论

基于电力线视频嵌入式监控系统采用电力线作为介质在短距离传输视频数据,利用广泛存在的电力线网络实现视频监控的即插即用,节省大量建造材料和安装的费用。同时采用嵌入式S5PV210处理器作为主控模块利用其内含H.264硬件编码器,能够快速高效率视频编码和传输视频数据。实验表明该方案可行,能够应用于停车场、工厂、仓库、家庭、银行等领域,具有广泛的市场应用前景。

【参考文献】

[1]童方圆,于强.基于Android的实时视频流传输系统[J].计算机工程与设计,2012(12)

[2]黄俊伟,巴义.基于V4L2移动视频监控系统的研究与设计[J].电视技术,2012(17)

[3]祝世平,张玲.基于分形和H.264的视频编码系统[J].光学精密工程,2013(3)

[4]岳兆娟,任勇毛,等.基于UDP的高速网络传输协议研究[J].计算机应用研究,2013(10)

(责编黎原)

3.设置H.264图像输入存放地址。

SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );

/*摄像头采集的视频图像存放在起始地址为input_info_video_mfc,图像视频数据长度为SourceWidth * SourceHeight */

ret= SsbSipH264EncodeExe(handle); /*进行视频的编码*/

4.进行H.264视频格式编码。

SsbSipMfcEncExe( handle );

5.获取H.264编码的视频数据。

SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 为视频编码后视频数据存放的数据地址*/

6.关闭视频编码设备。

(三)视频传输。电力线载波视频监控服务器与客户端通信采用UDP通信协议。UDP是一种无连接的网络通信协议,适合对数据量传输要求比较高的通信。服务器与客户端进行数据通信主要有以下步骤:

1.创建UDP协议套接口,采用无连接方式。

videofd=socket(AF_INET,SOCK_DGRAM,0);

2.利用bind函数对套接字进行绑定。

bzero(&video_adr,sizeof(struct,sockaddr_in));

video_adr.sin_family=AF_INET;

video_adr.sin_addr.s_addr=htonl(INADDR_ANY);

video_adr.sin_port=htons(SERVER_PORT);

bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))

3.利用sendto()函数进行视频数据打包发送。

video_adr= sizeof(struct sockaddr_in) ;

sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );

本系统每次发送3000个字符型视频数据。视频数据UDP协议通信方式如图3所示。

图3 视频数据UDP通信方式

四、系统测试

本视频监控系统采用S5PV210嵌入式ARM处理器、4块K4T160840F内存组成的512MB RAM作为主控模块,采用INT6400和INT1400组成的电力线载波模块。电(下转第184页)(上接第182页)力线载波通信的协议为:HomePlug1.0,主控模块与上位机PC通信协议采用UDP通信协议,视频传输像素为:320*240。PC端作为视频接收播放客户端。视频播放帧率为:30fps。视频编码格式为:H.264编码。每个电力线载波服务器设置固定IP地址,利用编写的播放应用软件进行视频播放,利用电力线网络数据测试工具检测视频通信的速率。在实验环境下,采用两个视频监控服务器进行视频监控。表1为两个视频监控服务器与PC客户端不同通信距离下的通信速率。在测试中图像清晰、视频延时小、图像稳定、通信速率高,能够满足多路视频同时传输和较好适应环境,实现视频监控。

表1 通信速率与距离

序号测试距离1号通信速率2号通信速率

15m172 Mbps175Mbps

210m167 Mbps162Mbps

320m127Mbps133Mbps

430m116Mbps113Mbps

540m88Mbps85Mbps

五、结论

基于电力线视频嵌入式监控系统采用电力线作为介质在短距离传输视频数据,利用广泛存在的电力线网络实现视频监控的即插即用,节省大量建造材料和安装的费用。同时采用嵌入式S5PV210处理器作为主控模块利用其内含H.264硬件编码器,能够快速高效率视频编码和传输视频数据。实验表明该方案可行,能够应用于停车场、工厂、仓库、家庭、银行等领域,具有广泛的市场应用前景。

【参考文献】

[1]童方圆,于强.基于Android的实时视频流传输系统[J].计算机工程与设计,2012(12)

[2]黄俊伟,巴义.基于V4L2移动视频监控系统的研究与设计[J].电视技术,2012(17)

[3]祝世平,张玲.基于分形和H.264的视频编码系统[J].光学精密工程,2013(3)

[4]岳兆娟,任勇毛,等.基于UDP的高速网络传输协议研究[J].计算机应用研究,2013(10)

(责编黎原)

3.设置H.264图像输入存放地址。

SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );

/*摄像头采集的视频图像存放在起始地址为input_info_video_mfc,图像视频数据长度为SourceWidth * SourceHeight */

ret= SsbSipH264EncodeExe(handle); /*进行视频的编码*/

4.进行H.264视频格式编码。

SsbSipMfcEncExe( handle );

5.获取H.264编码的视频数据。

SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 为视频编码后视频数据存放的数据地址*/

6.关闭视频编码设备。

(三)视频传输。电力线载波视频监控服务器与客户端通信采用UDP通信协议。UDP是一种无连接的网络通信协议,适合对数据量传输要求比较高的通信。服务器与客户端进行数据通信主要有以下步骤:

1.创建UDP协议套接口,采用无连接方式。

videofd=socket(AF_INET,SOCK_DGRAM,0);

2.利用bind函数对套接字进行绑定。

bzero(&video_adr,sizeof(struct,sockaddr_in));

video_adr.sin_family=AF_INET;

video_adr.sin_addr.s_addr=htonl(INADDR_ANY);

video_adr.sin_port=htons(SERVER_PORT);

bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))

3.利用sendto()函数进行视频数据打包发送。

video_adr= sizeof(struct sockaddr_in) ;

sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );

本系统每次发送3000个字符型视频数据。视频数据UDP协议通信方式如图3所示。

图3 视频数据UDP通信方式

四、系统测试

本视频监控系统采用S5PV210嵌入式ARM处理器、4块K4T160840F内存组成的512MB RAM作为主控模块,采用INT6400和INT1400组成的电力线载波模块。电(下转第184页)(上接第182页)力线载波通信的协议为:HomePlug1.0,主控模块与上位机PC通信协议采用UDP通信协议,视频传输像素为:320*240。PC端作为视频接收播放客户端。视频播放帧率为:30fps。视频编码格式为:H.264编码。每个电力线载波服务器设置固定IP地址,利用编写的播放应用软件进行视频播放,利用电力线网络数据测试工具检测视频通信的速率。在实验环境下,采用两个视频监控服务器进行视频监控。表1为两个视频监控服务器与PC客户端不同通信距离下的通信速率。在测试中图像清晰、视频延时小、图像稳定、通信速率高,能够满足多路视频同时传输和较好适应环境,实现视频监控。

表1 通信速率与距离

序号测试距离1号通信速率2号通信速率

15m172 Mbps175Mbps

210m167 Mbps162Mbps

320m127Mbps133Mbps

430m116Mbps113Mbps

540m88Mbps85Mbps

五、结论

基于电力线视频嵌入式监控系统采用电力线作为介质在短距离传输视频数据,利用广泛存在的电力线网络实现视频监控的即插即用,节省大量建造材料和安装的费用。同时采用嵌入式S5PV210处理器作为主控模块利用其内含H.264硬件编码器,能够快速高效率视频编码和传输视频数据。实验表明该方案可行,能够应用于停车场、工厂、仓库、家庭、银行等领域,具有广泛的市场应用前景。

【参考文献】

[1]童方圆,于强.基于Android的实时视频流传输系统[J].计算机工程与设计,2012(12)

[2]黄俊伟,巴义.基于V4L2移动视频监控系统的研究与设计[J].电视技术,2012(17)

[3]祝世平,张玲.基于分形和H.264的视频编码系统[J].光学精密工程,2013(3)

[4]岳兆娟,任勇毛,等.基于UDP的高速网络传输协议研究[J].计算机应用研究,2013(10)

上一篇:2024马年春节短信祝福语下一篇:歌舞比赛结束语主持词