硬盘录像机系列文档之三:框架

[ 2006-05-24 17:25:39 | 作者: 痉挛的老鸨 ]
文字大小: | |
  http://www.heybrain.com 首发,如有转载,请务必保留网站连接。

  这一篇的主要内容是描述硬盘录像机的内部框架结构,建立基本的鸟瞰图。说到框架,就不能不对硬盘录像机做一个定义。

  硬盘录像机的定义:以视频为中心,结合各种周边软硬件,以监控为目的的系统。

  视频的定义很宽泛,包括专业摄像头/usb摄像头/DV/电视卡/web摄像头等设备采集的画面、视频片断、网络视频等。所有的目的就是一个,获取由多幅静态画面组成的动画视频。但是仅仅采集到视频是不够的,必需显示出来才能被人所认知,所以就需要视频显示的功能。同时视频具有一些基本的控制功能,比如亮度、对比度、色度、饱和度、分辨率等。显示和控制是最基本的要求,另外存储和录像播放也是必不可少,同时,系统中还会包括一些附属设备和功能,比如云台控制、开关报警、音频录制、远程观看和控制等。把以上这些功能组合起来,就构成了一套完整的硬盘录像机。

  从系统架构上看,一套完整的硬盘录像机包括以下几个方面:

  1.原始数据采集和控制。

  对于视频采集设备,目前一般分为四种。一种是以BT848/878或7143芯片为核心的软采集卡,主要功能是通过AD转换将模拟信号转换为数字信号,再通过驱动送往应用层。接口有三种方式,一种是比较“原始”的连接库(DLL/lib)方式,通过函数进行调用来获得每一帧画面,这种方式比较原始,但是效率是最高的;第二种是通过标准的系统调用来提供数据,比如vfw(video for windows)和v4l(video for linux),这种方式最先起源于usb摄像头,目的是提供统一的接口以方便用户调用,但是面对越来越多的视频采集设备和日益发展的硬件水平,其接口逐渐变得不那么适合,对于windows而言,正在逐步淘汰vfw,而在linux里,v4l也进化到了v2版本;第三种是windows独有的方式:directshow,复杂,强大,效率相对要低一些,开发比较困难。软卡的优点是数据处理方式很灵活,可以跟随软硬件的不断发展而进化,缺点是在目前的硬件水平下,多路同时处理比较受限,主要表现在多路压缩时占用的CPU过高和PCI带宽不够,但随着CPU的不断进步和PCI-X的逐步实现,这些都是可以解决的。

  第二种采集设备是以软卡机制为前端,以dsp芯片为核心的硬采集卡。主要框架是前端依然通过AD将模拟信号数字化,但是后端并不直接将数据送出,而是送往dsp芯片进行压缩,然后将压缩后的数据送出,同时提供overlay方式的显示功能。硬卡的核心就是dsp,dsp的核心就是压缩算法,从最早的mpeg-1、mpeg-2到mpeg4,再到现在满天乱飞的h264,硬卡的进步也是有目共睹。其优点是对系统资源占用小,无论是显示还是存储,都对系统没有什么特殊要求,但是缺点也是很明显,主要是对上层的监控系统限制太多,以及升级成本偏高,升级codec对于软件而言是很容易的,但是对于dsp就不那么现实了。

第三种采集设备是usb摄像头、dv等,采用vfw或dshow方式采集视频数据。由于usb的带宽限制,这种设备一般只用于低端应用,比如家庭娱乐。但是作为硬盘录像机的附加设备,也有其存在的空间。其功能和性能较上面两种要弱,但是应用难度却相对较低。

第四种采集设备是web摄像头,一般使用montionjpeg的方式提供视频,即由webserver提供不断刷新的静态画面。四种设备中这是速度最慢的,控制通过http方式来操作,不太方便。

除了视频,在硬盘录像机中,音频也是一个比较常见的数据源,一般来自于采集设备或line in/microphone。由于监控大多采集的是日常环境中的声音,所以对音源的要求并不高,只要能获取常用频段的数据即可。但是音频数据如何与视频数据整合却是难点之一。

2、压缩

原始的视频和音频数据尺寸都是比较大的,必须通过压缩才能降低尺寸,以便于存储和网络传输。目前的压缩分为无损压缩和有损压缩两种,无损压缩能保证数据的完整性,但是压缩后的尺寸还是相对较大,所以一般在监控里使用有损压缩。有损压缩从mpeg-1、mpeg-2、mpeg-4(h263)到现在逐渐实用化的h264,尺寸不断缩小,已经逐渐接近理论的极限值。mpeg-1和mpeg-2已经逐渐被淘汰,h264对cpu的占用还太高,这是由于它的算法的复杂度决定的,所以目前常用的还是mpeg-4。市面上有一些硬卡厂家号称生产出了h264的卡,但是基本上都是采用了优化后的mpeg-4或者是简化后的h264,并非真正的h264,但是在不远的将来,h264是有可能大行其道的。目前,mpeg-4一般使用microsoft的mpeg-4 V3或xvid,在画面细腻程度上,ms mpeg-4 v3要稍微好一些,在尺寸上,xvid更加的小一些。ms mpeg4 v3基本已不再发展,ms已经逐渐转向media encode系列codec,而xvid还在不断发展,xvid基于GPL协议,居于跨平台、效率高的特点,更适用于硬盘录像机,但是似乎目前使用的不多。

按照某些行业的要求,对存储的保存时间是有硬性规定的,在硬盘价格不断下降、CPU速度不断提升以及压缩算法的不断改进的形势下,保存时间在不断拉长,但是目前所需要的硬盘数目依然很多,这是现状,也是需要对客户进行解释和培训的。

压缩的数据,不管是软件压缩还是硬卡压缩,除了存储,还有一个比较常用的功能,就是网络传输。网络传输的难点在于传输协议,一般常用的标准协议有rstp和mms等,但是未必适合硬盘录像机的全部要求,所以一般要做一些改造,甚至是自己设计。首先是协议问题,大多数开发人员考虑到尽量利用带宽,所以一般使用udp协议,但是udp协议有一些根本性的问题,比如局域网内如何连接,包的乱序和纠错造成开发上的困难等。个人建议,还是使用tcp比较适合。同时,现在逐渐流行的p2p协议也是可以考虑的,比如emule和bt的传输协议,不过由于硬盘录像机面向的是实时传输、客户端较少的现状,所以未必适用。

3、移动侦测

一些高级的云台一体机有物体跟踪,甚至是模式识别的功能,但大多数还没有到实用的阶段。所以目前常用的还是以检测指定范围内的图像移动为主,算法上大体差不多,主要区别在于优化和切割粒度上。

4、云台控制

2006-05-24 17:27
2006-05-28 22:00
2006-07-04 09:26
评论Feed 评论Feed: /feed.asp?q=comment&id=39

这篇日志没有评论.

发表
表情图标
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   (非注册用户不需要输入密码) 注册?
验证码(不区分大小写) * 请输入验证码