前言
因学习需要,进行个人备份,来源于网络,进行整合
什么是网络摄像机
定义
网络摄像机,也叫IP摄像机(IP camera ,简称IPC,可不是进程通信的那个IPC)
特点
IPC的特点主要体现在“IP”上,即支持网络协议的摄像机,IPC可以看成是“模拟摄像机+视频编码器”的结合体,从图像质量指标讲,又可实现高于“模拟摄像机+视频编码器”能达到的效果。
IPC是新一代网络视频监控系统中的核心硬件设备,通常采用嵌入式架构,内置一个嵌入式芯片,采用嵌入式实时操作系统,集成了视频音频采集、信号处理、编码压缩、智能分析、缓冲存储及网络传输等多种功能,再结合录像系统及管理平台,就可以构建成大规模、分布式的智能网络视频监控系统。
IPC传送来的视频信号数字化后由高效压缩芯片压缩,通过网络总线传送到Web服务器。网络上用户可以直接用浏览器观看Web服务器上的摄像机图像,授权用户还可以控制摄像机云台镜头的动作或对系统配置进行操作。
IPC支持WIFI无线接入、3G接入、POE供电(网络供电)和光纤接入能更简单的实现监控特别是远程监控、更简单的施工和维护、更好的支持音频、更好的支持报警联动、更灵活的录像存储、更丰富的产品选择、更高清的视频效果和更完美的监控管理。
网络摄像机的原理
工作原理
网络摄像机除了具备一般传统摄像机所有的图像捕捉功能外,机内还内置了数字化压缩控制器和基于WEB的操作系统,使得视频数据经压缩加密后,通过局域网,Internet或无线网络送至终端用户。网络摄像机可以直接接入到TCP/IP的数字化网络中,因此这种系统主要的功能就是在联网上面,通过互联网或者内部局域网进行视频和音频的传输。
网络摄像机的基本原理是:
(1)图像信号经过镜头输入及声音信号经过麦克风输入后
(2)由图像传感器的声音传感器转化为电信号,
(3)A/D转换器将模拟电信号转换为数字电信号,
(4)再经过编码器按一定的编码标准进行编码压缩,
(5)在控制器的控制下,由网络服务器按一定的网络协议送上局域网或INTERNET,
控制器还可以接收报警信号及向外发送报警信号,且按要求发出控制信号。
组成结构
网络摄像机可以直接接入到TCP/IP的数字化网络中,因此这种系统主要的功能就是在联网上面,通过互联网或者内部局域网进行视频和音频的传 输。从内部构成上说,网络摄像机的基本结构一般都是由镜头、图像传感器、AD转换器、视频编码器、控制器、网络服务器、外部报警、控制接口等部分组成。
相比较传统的模拟摄像机,网络摄像机最核心的技术就是视频编码器。现在,就网络摄像机的各部分我们做一个技术分析,然后再重点分析一下核心的视频编码器部分。
镜头: 镜头作为网络摄像机的前端部件,有固定光圈、自动光圈、自动变焦、自动变倍等种类,与模拟摄像机相同。
图像传感器:传统的模拟摄像机,就是通过图像传感器采集视频信息,然后直接输出是模拟的视频信号,通过视频线对外输出。图像传感器有CMOS和CCD两种模式。CMOS既互补性金属氧化物半导体,CMOS主要是利用硅和锗这两种元素所做成的半导体,通过CMOS上带负电和带正电的晶体管来实现基本的功能的。这两个互补效应所产生的电流即可被处理芯片记录和解读成影像。CMOS针对CCD最主要的优势就是非常省电。不像由二级管组成的CCD和CMOS电路几乎没有静态电量消耗。这就使得CMOS的耗电量只有普通CCD的1/3左右,CMOS重要问题是在处理快速变换的影像时,由于电流变换过于频繁而过热。暗电流抑制的好就问题不大,如果抑制的不好就十分容易出现杂点。
CCD图像传感器由在单晶硅基片上呈二维排列的光电二级管及其传输电路构成。光电二极管把光转化成电荷,再经转化电路传送和输出。
通常,传送优良图像质量的设备都采用CCD图像传感器,而注重功耗和成本的产品则选择CMOS图像传感器。因此在监控工程中使用的图像传感器主要是CCD,而CCD的主流厂商大部分是日本 企业,比如Sony、Sharp等,几乎占了全球CCD市场的90%以上份额。
但新的技术正在克服每种器体固有的弱点,同时保留了适合于特定用途的某些特性。这一部分与模拟摄像机相同。 声音传感器即拾声器或叫麦克风,与传统的话筒原理一样。
AD转换器: A/D转换器的功能是将图像和声音等模拟信号转换成数字信号。
基于CMOS模式的图像传感器模块有直接数字信号输出的接口,无须A/D转换器。
基于CCD模式的图像传感器模块如有直接数字输出的接口,无须A/D转换器,但由于此模块主要针对模拟摄像机设计,只有模拟输出接口,故需要进行A/D转换。
视频编码器:其功能是 把CCD的视频信号按照一定的格式进行数字化编码,有些是直接抓取CCD输出的BT.656的信号,有些是采集CCD驱动输出的模拟信号,通过一个视频 AD进行模拟数字转化。视频编码的标准很多,现在主要的网络摄像机的标准有MJPEG、MPEG4和H.264。编码压缩技术有两种:一种是硬件编码压缩,即将编码压缩算法固化在芯片上;另一种是基于DSP的软件编码压缩,即软件运行在DSP上进行图像的编码压缩。
控制器: 控制器是网络摄像机的心脏,它肩负着网络摄像机的管理和控制工作。如果是硬件压缩编码,控制器是一个独立部件;如果是软件编码压缩,控制器是运行编码压缩软件的DSP,即二者合而为一。
网络服务器:网络服务器提供网络摄像机的网络功能,它采用了RTP/RTCP、UDP、HTTP、TCP/IP等相关网络协议,允许用户从自己的PC机使用标准的浏览器根据网络摄像机的IP地址对网络摄像机进行访问,观看实时图像,及控制摄像机的镜头和云台。其功能是把压缩好的视频信号,通过TCP/IP的协议输出,并且基本上要支持现阶段主流的通信格式
外部报警和控制接口都是网络摄像机的辅助功能,主要是通过串口或者IO口来实现,如控制云台的485接口,用于报警信号输入输出的I/O口等等,如红外探头发现有目标出现,发报警信号给网络摄像机,网络摄像机自动调整镜头方向并实时录像;另一方面,当网络摄像机侦测到有移动目标出现时,亦可向外发出报警信号。
图像的编码标准
网络摄像机的图像压缩编码标准主要有MPEG4、H.264、M-JPEG等。
(1)MPEG4
所谓MPEG标准就是指由ISO的活动图像专家组制定的一系列关于音视频信号以及多媒体信号的压缩与解压缩技术的标准。到2012年为止,已经制定完成并批准执行的有:1991年批准的MPEG1、MP3;1994年批准的MPEG2;1999年批准的MPEG4和MP4。正在制定的标准有:MPEG7和MEPG21.H.263 H.263是ITU-T提出的作为H.324终端使用的视频编解码建议,H.263经过不断地完善和多次的升级已经日臻成熟,如今已经大部分代替了H.261,而且H.263由于能在低带宽上传输高质量的视频流而日益受到欢迎。
(2)263
是基于运动补偿的DPCM的混合编码,在运动补偿的DPCM混合编码,在运动搜索的基础上进行运动补偿,然后运用DCT变换和“之”字形扫描编码,从而得到输出码流。H.263在H.261建议的基础上,将运动矢量的搜索增加为半象素点搜索;同时又增加了无限制运动矢量、基于语法的算术编码、高级预测技术和PB帧编码等四个高级选项;从而达到了进一步降低码速率和提高编码质量的目的。
(3)264
是ITU-T的VCEG和ISO/IEC的MPEG的联合视频组开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG4的第十部分。在相同的重建图像质量下,H.264能够比H.263节约50%左右的码率,比根据MPEG4实现的视频格式在性能方面提高33%左右。
(4)M-JPEG
即运动静止图像压缩技术,它把运动的视频序列作为连续的静止图像来处理,这种压缩技术方式单独完整地压缩每一帧,在编辑过程中可随机存储每一帧,可进行精确到帧地编辑。但M-JPEG只对帧内地空间冗余进行压缩,不对帧间的时间冗余进行压缩,故压缩效率不高。
网络摄像机架构
硬件层
硬件层随着应用场景的的不同硬件方案上差别很大,手机的芯片解决方案主要偏向于射频和基带信号处理,网上有很多联发科手机芯片解决方案,而安防领域则偏重于图像质量,更偏重于高清、远距离监控等;
安防监控和手机的外设差异非常大,安防领域设备的机型包括,卡片机、半球机、球机、筒机。具体外设随着机型的不同,差异比较明显,360度转动的滑环在球机类设备使用而卡片机上没有。
在图像传感器这款使用的型号还是比较多的,130万、200万、300万、500万、600万像素的设备挺多的,目前传感器这块主要来自美国和日本。常用的图像传感器分为CMOS(complementary Metal-Oxide Semiconductor)和CCD(charge-coupled device)类型,随着技术的进步两者差异在逐步减小,CMOS以成本优势依然占据市场大头,目前图像传感器厂商主要有松下、索尼、夏普、豪威、三星、aptina。
安防芯片这块主要有Ti、海思和安霸,Ti达芬奇系列DSP芯片,如C6678等,信号处理较为出色,常被采用到一些高端通信、信号处理场合,其达芬奇系列的DM385和DM8127以出色的性能占据了监控市场的高端需求,Ti的DSP开发灵活性大。安霸的A5s、S2l以其出色的图像质量和价格在中低端市场占有一席之地,其SDK是这三家中最好的一个,其也是对Linux内核版本提升最快的。海思的3516、3518芯片也正在抢占市场,这三家中售后做的很好,价格优势明显。
这些芯片基本具备的功能大致如下:
图像类: DSP(digital signal process),
ISP(image signal process),
编码硬核: ROI(region of interest)
MDT(motion detection)
CPU: ARM
SOC 外设: 音频(内置codec)
网口(百兆、千兆)
USB串口
功能外设: SD、NAND、DDR、SPI、ii2C、GPIO等
BSP层
BSP层的主要功能是封装底层资源,提供抽象的接口给应用程序使用,应用程序可以忽略资源的分配和管理,更多的倾向于业务逻辑功能的实现。
BSP这块我将其分为了两个部分,一个是OS一个库,OS层使用Linux操作系统,由于芯片方案商提供的SDK中包含了OS,一般这块只需要实现各种驱动程序,更优的文件系统,安全管理等。
库这块主要包括四个部分,均已so形式的库提供给应用程序使用:
1.标准glibc库,这个库提供给应用程序,基本的read、write、ioctl以及socket等均在这里
2.ISP库,这部分只要对应用程序提供设置图像传感器不同的参数,以达到修改图像质量的目的,能够改变宽动态、白平衡…
3.DSP库,图像的编解码库,这部分由应用程序传递的参数进行编解码,这里可以设置图像分辨率、编码格式等。
4.购买芯片厂商各自实现的库,这些包括:
(1)小型数据库SQLite,用于保存和配置用户配置的参数,
(2)图像处理算法库(比如opencv提供的智能算法),这部分代码使用C编写,可以再DSP(ti8127)或者ARM(安霸A5)运行,
有些厂商的DSP是专用图像编解码,不能够为用户所使用的。
(3)其它特定功能的库
应用层
业务逻辑层
用于区分各种功能:主要是一些设备管理、安全监测、报警推送、抓图等
网络交互层
用于网络支持,因为网络摄像机特点就是,将视频信号接入网络,所以必不可少的是视频传输协议
(1)基于IE/chrome的视频预览
现有的架构最常用的,偏向于PC、CVR、多屏监控中心应用
(2)基于Android/IOS客户端的预览
偏向于取代文字短信、语音通信的视频留言、视频实时通信,未来QQ以及微信之类的社交软件的发展趋势,也是未来电话的发展趋势。
目前1080P或者720P的图像2Mbps或者3Mbps的图像质量非常的好,完全可以满足视频通信需求,现状4G电信手机网速峰值达到了2M每秒,思科的VNI白皮书预测到2019年全球移动网的平均速率将达到4Mbps,手机端的速率将达到12Mbps,只要费用能够降低,则完全能够实现实时语音通信。