现在的位置: 首页 > 视频监控 > 正文

浅谈DVR的各项功能及原理剖析

2014年05月30日 视频监控 ⁄ 共 1824字 ⁄ 字号 暂无评论 ⁄ 阅读 3,619 次

大家都知道我们中维DVR(Digital Video Record)产品主要采用海思的芯片方案,有Hi3515A、Hi3515C,Hi3520D,Hi3520A,Hi3521,Hi3531等从低端到高端的芯片SoC,根据芯片的编解码能力研发了不同分辨率(QCIF,CIF,WCIF,D1,WD1),不同路数(4、8、16、24、32路)的Linux嵌入式产品,中维DVR具有对图像、语音进行长时间录像、录音、远程监视和控制的功能,集合了压缩录像、画面分割、云台控制、报警控制、分控连接等五种功能于一身。

从大的硬件模块来讲,DVR系统主要由CPU(包含编解码器、2D加速器),内存,主板,音视频A/D芯片,电源,Flash(ROM),硬盘,连接线缆等构成。那DVR系统的这些硬件模块是如何完成上面我们说的5大功能的呢?下面将简要说明。

1、录像功能

我们的DVR产品采用当前最为流行的H.264编解码算法(大部分算法采用硬编、硬解)。根据市场的不同需求,海思的主芯片的编解码能力也不同:有的支持的编解码路数多,有的支持的路数少,对应的高路数产品方案所配置的CPU能力强、内存大,反之CPU处理能力弱、内存小。

例如,

JVS-D6004-S1 采用Hi3515A,支持同时编解码104个QCIF CPU:600MHz(单核) DDR:2Gbits;

JVS-D7016-S1 采用Hi3521,支持同时编解码512个QCIF CPU:930MHz(单核) DDR:4Gbits;

JVS-D9016 采用Hi3531,支持同时编解码960个QCIF CPU:930MHz(双核) DDR:8Gbits

(注:1D1=4CIF=16QCIF,所以每个芯片方案最多支持的编解码路数可以计算出来)

在这里打个简单的比方:把监控摄像机比作原材料,音视频A/D看做订单,音视频编码器和DDR比作产线加工能力,磁盘I/O比作仓储,CPU比作生产管理协调能力。订单多了,需要采购更多的原材料,但不能超过产线的加工能力,生产出来的产品需要入库、发货等;同理放在DVR系统中,在定义DVR产品时需要根据音视频编解码能力以及CPU的处理能力来决定可以接入多少路数、多少磁盘,网传多少路等。

更专业来讲,其实整个DVR系统就类似于计算机操作系统讲过的生产者消费者模型,即生产者在产生数据后放在一个缓冲区中,让消费者从缓冲区中取出数据处理,这种方式是异步的,生产者只管生产数据,然后扔到一个缓冲区内(DDR),不管数据是否被立即处理了,消费者则从缓冲区中依次取出数据进行自己节奏的处理。从线程模型角度来说,这种模式是多线程的,多线程必须要考虑的一个问题是线程之间的协作,协作即协调合作,不要乱套,以生产者和消费者模型而言,就是当缓冲区里没有数据时消费者要等待,等待生产者生产数据,当缓冲区满的时候生产者要等待,等待消费者消耗掉一些数据空出位置好存放数据。这样就可以解释我们之前在DVR上经常遇到的满负荷下的丢帧问题了,归根结底,是由于缓冲区不足或CPU的协调处理能力不足,导致了录像丢帧问题等;另外录像存储受限于磁盘的I/O速度,而磁盘I/O受制于磁盘的读写速度和CPU的处理能力。

2、画面分割

画面分割这个功能主要直接利用了海思提供的API函数,将整个显存按照要输出的路数及布局进行分割,对应着将各个视频通道的预览码流缩小或放大到指定的窗口中,如此一来就很方便的在一块完整的屏幕上看到全部摄像机的实时预览图像。

3、云台控制

云台控制功能主要是通过485总线,集成主流的PTZ协议来完成对云台上、下、左、右、循迹预置点移动功能、倍焦功能等。目前DVR上的云台协议同板卡云台协议的保持一致,支持26种云台协议,详细协议参考DVR系统设置中的云台设备菜单。

4、报警控制

当前我们的DVR在不同的产品型号上,选择性的支持报警输入、输出,既有简单的开关量报警也有复杂的485总线式的报警,基本可以满足工程上的报警控制应用。

5、分控连接

分控连接主要依托我们公司的云视通服务,可以通过手机、PC(云视通客户端或IE客户端)对DVR进行远程设置、远程预览、远程录像下载等;此功能的连接路数及分辨率主要受制于CPU处理能力、音视频编解码器的能力、DDR的余量等参数。但目前最新的云视通库支持多播功能使同时连接路数大幅提升。网络连接方式支持有线、ADSL拨号、3G接入,WIFI等。

以上是对DVR功能的简单总结,不足之处请大家指正,谢谢。


给我留言

留言无头像?