虚拟摇杆技术在网络高清高速球中的应用

2013-12-23 04:00郑明
中国公共安全 2013年16期
关键词:摇杆步数字节

文/郑明

随着高清监控时代的到来,网络高清高速球发展迅速,在高清产品的应用中占据了很大地份额。相对与前代产品,新一代高分辨率CMOS器件和高性能编码芯片的使用,网络高清高速球的图像质量,画面流畅性等取得了非常大的进步。在这个即将全面引爆的高清监控时代中,我们必须冷静认识到网络高清高速球在发展中存在哪些技术短板。

高清高速球发展的技术短板

第一个短板是互联互通的问题。对应目前主流的NVR,我们的网络高清高速球出现了私有协议接入自家NVR没有问题,而采用目前主流的ONVIF、PSIA、GB28181等协议接入第三方的NVR都存在图像卡帧严重,或者PTZ不能控制,或者球机功能严重缺失等问题,具体如不能保存预置位,不能预置位巡航,更不用说其他一些更高级一点的PTZ动作。

从目前的NVR应用情况来看,我们只能等待标准协议的进一步升级。当然,NVR厂家能够提供功能齐全而又开放的私有协议,高清网络高速球机快速配合NVR厂家开发。在目前的发展阶段来说,开放式的私有协议,更能够开发出功能齐全,性能优良的网络高清高速球产品,则对网络高清行业的前期推广有着难以言喻的好处。

第二个短板是网络高速球的操控问题。网络高清高速球相对于传统模拟球具有网络延迟的先天不足,目前的网络高清高速球控制都是采用调出PTZ控制界面来进行变倍、转动等控制,由于网络的延迟性和控制步长的原因,目前的网络高清高速球很难精确控制,想要监控活动物体,非常困难。这样就把网络高清高速球的应用体验降低了很多,远远不如传统模拟球的控制得心应手。随着高清监控的发展,这个弊端必然会逐步暴露出来,会给高清行业的发展带来很大的弊端。当然,很多公司也发现了这些问题,在局部上都作出了一些优秀的解决方案,比如网络键盘、3维定位技术等。

鼠标在虚拟摇杆技术中的定义

虚拟摇杆技术作为解决上述高速球短板的优秀解决方案之一,大受业内关注。概念本身由一款新型的摄像机控制器延伸而来。摄像机控制器的设计初衷是为了在DVR等设备上更好的控制高速球,可以把其部分的系统控制高速球机的理念剥离出来,用于控制网络高清高速球,会发挥更好的效用,会达到非常好的用户体验,并实现了网络高清高速球的所有精确控制和便捷操作。

在一个现实的场景中,需要的是快速监控可疑目标,快速浏览周边场景,并能跟上目标的移动速度,做到精确地监控目标对象。虚拟摇杆技术就是利用鼠标的方便操作,将鼠标作为虚拟摇杆来定义鼠标的所有功能:

鼠标功能

左键单击:按下鼠标左按键, 然后松开。此时高速球快速到达按键目标,并使按键目标处于屏幕中心位置。

左按键双击:连续快速的按下鼠标左按键然后松开。此时高速球快速到达按键目标,并放大镜头光学倍数3倍,使目标处于屏幕中心位置,并显示更多细节,多次左按键双击,可以达到镜头最大光学倍数。

左按键向右上或右下拖动并释放:保持左按键按下状态, 并向右上或者右下移动鼠标,形成矩形区域然后放开。此时,高速球快速调整位置和镜头光学放大倍数,并使该矩形区域尽可能充满屏幕画面,多次重复操作,可以达到镜头最大光学倍数。

左按键向左上或左下拖动并释放:保持左按键按下状态, 并向左上或者左下移动鼠标,形成矩形区域然后放开。此时,高速球快速调整位置和镜头光学缩小倍数,并使该矩形区域达到屏幕画面中心,多次重复操作,可以达到镜头最小光学倍数。

右按键拖动:保持右按键按下状态, 并移动鼠标。此时,屏幕画出按键中心位置和鼠标移动位置之间的箭头方向和距离,高速球按照箭头的方向和距离跟随运动,随着鼠标的拖动,随时改变移动速度和方向。

滚动滚轮向前:向前滚动滚轮。此时,屏幕逐渐拉远,高速球的镜头倍数逐渐减少,直到镜头的最小放大倍数。

滚动滚轮向后:向后滚动滚轮。此时,屏幕逐渐拉近,高速球的镜头倍数逐渐增加,直到镜头的最大放大倍数。

鼠标的位置计算

为了实现以上动作,鼠标的各种动作必须以统一的坐标计算方法传送,以下为杭州途视定义的坐标计算方法:

(1)以图像中心为参考原点,将图像划分成四个部分,相对于参考原点,分别为右上、左上、左下、右下,其中右、下为正,左、上为负。

(2)得到当前坐标相对于原点的值,再除以单位长度,得到相对的比例值,此比例值已经与具体的分辨率无关

(3)因为得到的相对比例值一定小于等于1,为了避免为小数,统一将得到的比例值乘以8192,将乘积后的值取整,作为参数填入到协议对应字节。

举例如下:

当前分辨率为1024×768,则图像中心点坐标为(512,384),如果目标位置坐标为(768,576),则可知目标位置处于右上,其比例值为:水平:(768-512)/512 = 0.5,再乘以8192,即为4096,因为是右边,所以为4096,填入对应字节即可。垂直:(576-384)/384 = 0.5,再乘以8192,即为4096,因为是上边,所以为-4096,填入对应字节即可。

图示如下:

图1:虚拟摇杆坐标图

网络高清高速球与后台的通讯定义

根据以上的鼠标动作规则定义和鼠标位置坐标定义,网络高清高速球和后台控制设备之间就可以完成完整的联动,杭州途视结合常用的通讯协议习惯和目前最为流行的PELCO通讯协议,定义如下的虚拟摇杆的控制规则定义命令

左键单击:串口通讯格式,采用9字节发送方式:

?

左按键双击:串口通讯格式,采用9字节发送方式:

?

左按键向右上或右下拖动并释放:串口通讯格式,采用9字节发送方式:

?

左按键向左上或左下拖动并释放:串口通讯格式,采用9字节发送方式:

?

右按键拖动:串口通讯格式,采用7字节发送方式:PELCO-D协议

?

滚动滚轮向前:串口通讯格式,采用7字节发送方式:PELCO-D协议

?

拖动滚轮向后:串口通讯格式,采用7字节发送方式:PELCO-D协议

?

参数说明:0x3A为同步符。

目的地址码:为球机设备的物理地址号,地址范围:0x00-0xFF。

指令码:10H(表示虚拟摇杆功能)

水平坐标:目标位置的水平坐标,有符号整形数,2字节, 高字节在前,低字节在后。

垂直坐标:目标位置的垂直坐标,有符号整形数,2字节, 高字节在前,低字节在后。

变倍参数:定位到目标位置后,自动进行放大的倍数,为0表示不放大,否则代表放大倍数。无符号整形数,1字节,一般使用中的摄像机99%为35倍以内。默认值可设为2。最高位表示放大/缩小,为0表示放大,为1表示缩小,低7位表示具体放大/缩小的倍数,为0不进行变倍操作。

校验码:(字节2+字节3+…+字节8)%256。

虚拟摇杆技术在网络高清高速球的实现

通过上述对虚拟摇杆技术分析,下一步便可在网络高清高速球中实现该技术了。只需将显示界面的中心位置作为原点,把界面的原点对应于当前水平和垂直电机的微步位置,将图象上的定位坐标转化为云台水平和垂直电机定位的微步位置,然后控制电机定位到相应的位置即可,如图2。

水平位置控制与定位

首先,读出相机当前的变倍倍数,由当前变倍倍数查表得到水平一屏电机需要运行的微步数(需要实际测量得到该查找表)。由于相机垂直方向所在的位置不同,导致相机环视一周时水平电机运行的微步数不同,因此需要对水平电机进行昂角修正,此时要根据不同的角度使水平一屏电机需要运行的微步数乘以一个比例系数。然后,将从接收命令中解析出来的水平坐标转换成水平电机从当前位置开始需要运行的微步数。具体做法是将水平坐标的绝对值乘以水平一屏电机需要运行的微步数的一半。接着,计算出水平电机定位的微步位置。具体实现时,若水平坐标为负数,将当前微步位置减去需要运行的微步数,否则加上需要运行的微步数。最后,将水平电机定位到上述计算得到的水平微步位置。

图2:虚拟摇杆在高清高速球的应用图

垂直位置控制与定位

首先,根据当前相机变倍倍数查表得到垂直一屏电机需要运行的微步数(需要实际测量得到该查找表)。然后,将从接收命令中解析出来的垂直坐标转换成垂直电机从当前位置开始需要运行的微步数。具体做法是将垂直坐标的绝对值乘以垂直一屏电机需要运行的微步数的一半。接着,计算出垂直电机定位的微步位置。具体实现时,若垂直坐标为负数,将当前微步位置减去需要运行的微步数,否则加上需要运行的微步数。最后,将垂直电机定位到上述计算得到的处置方向的微步位置。

摄像机变倍

首先,将从接收命令中解析出来的相机变倍值转换成相机变倍时间(此值时根据屏幕上鼠标拖动框的大小而定);然后,给相机发送启动变倍命令,相机自动进行变倍;最后,当相机变倍时间到时,给相机发送停止变倍命令。

通过上述的几个技术步骤,便可完成虚拟摇杆的完整定义,

结束语

高清网络高速球作为高清视频监控最主要的组成部分之一,其在视频监控的地位不言而喻,但高速球的操控性一直是厂商与用户所关注的焦点,笔者在此提出虚拟摇杆控制技术的全新的高速球控制理念可为高速球带来更加便捷、简单、高效的操控。行业发展正在逐步走向成熟,高速球产品的技术差异化如今已是太明显,厂商之间的竞争需要在细微之处体现出产品的差异性,同时又能贴合实际应用,这样才能在竞争中掌握主动权。

猜你喜欢
摇杆步数字节
No.8 字节跳动将推出独立出口电商APP
楚国的探索之旅
曲柄摇杆机构的急回程度分析与探讨*
曲柄与摇杆摆角的关系
No.10 “字节跳动手机”要来了?
微信运动步数识人指南
轻量级分组密码Midori64的积分攻击
国人运动偏爱健走
曲柄摇杆行星系取苗机构参数匹配与优化
人类进入“泽它时代”