一种视频监控系统及其摄像机进行精确控制的方法
【专利摘要】本发明公开了一种视频监控系统及其摄像机进行精确控制的方法,该视频监控系统包括摄像机、客户端、流媒体服务器,还包括:控制服务器;所述控制服务器,负责接收所述客户端发送的摄像机控制命令,根据该摄像机控制命令进行计算处理,获取该摄像机的当前状态信息,并该当前状态信息实时返回至所述客户端。本发明提供的视频监控系统,可对前端摄像机设备进行精确控制,不但可以使对前端设备的控制更加精确,同时满足了视频监控系统中其它的应用需求。
【专利说明】一种视频监控系统及其摄像机进行精确控制的方法
【技术领域】
[0001]本发明属于多媒体通信领域,特别涉及一种视频监控系统及其摄像机进行精确控制的方法。
【背景技术】
[0002]视频监控系统主要由前端设备、流媒体服务器及客户端组成。客户端通过流媒体服务器与前端设备建立连接,流媒体服务器负责前端设备的接入与视频流信号的接收,暂存前端设备发来的流数据,同时响应客户端的命令发送相应的视频流数据。并且流媒体服务器还具有对摄像机进行控制的功能,包括云台的转动,调焦等等。
[0003]但是目前流媒体服务器对前端摄像机的控制只是简单的发送控制命令的方式,而前端设备品牌型号多种多样,同样的控制命令不能得到相同的结果,同时目前前端设备的型号大多比较老旧,并不具有返回状态的功能,可以说目前视频监控领域的摄像机控制存在以下问题:
[0004]1.目前视频监控领域中的前端摄像机大多型号并不支持当前状态的返回,如当前云台角度,当前摄像机焦距值等等。这就造成了用户控制一个前端摄像机后,对摄像机控制后的状态并不清楚。如云台转动控制,用户只知道向某个方向进行了转动,但并不知道实际转了多少度,多次控制后就会造成完全不知道该摄像机目前指向的方向,这大大限制了视频监控系统中摄像机的其它应用,造成监控不准确,定位不准确的问题。
[0005]2.随着前端摄像机设备品牌型号的增多,不同的品牌型号对同样的控制命令响应结果往往不同,如云台转动命令,某一品牌的球形摄像机对一条转动命令的响应是转动并且每秒转30度,而另一品牌对同样的转动命令则转动速度往往不同,这就造成了视频监控系统无法对所有的前端摄像机进行统一的控制计算,为精确控制前端摄像机增加了难度。
[0006]如何有效的对所有如端摄像机设备进行精确控制,是一个急待解决的问题。
【发明内容】
[0007]本发明的目的在于提供一种视频监控系统及其摄像机进行精确控制的方法,用于解决现有技术中无法对所有前端摄像机设备进行精确控制的缺陷。
[0008]为了实现上述目的,本发明提供一种视频监控系统,包括摄像机、客户端、流媒体服务器,其特征在于,还包括:控制服务器;
[0009]所述控制服务器,负责接收所述客户端发送的摄像机控制命令,根据该摄像机控制命令进行计算处理,获取该摄像机的当前状态信息,并将该当前状态信息实时返回至所述客户端。
[0010]所述的视频监控系统,其中,所述控制服务器进一步包括:控制调度模块、命令接收解析模块、命令发送模块、状态反馈模块、计算模块;
[0011]所述命令接收解析模块,用于接收所述客户端发送的所述摄像机控制命令,并解析出命令类型;[0012]所述命令发送模块,用于从所述控制调度模块接收控制命令,并转发给所述摄像机;
[0013]控制调度模块,用于根据所述命令类型调用相应的计算模块进行处理,并将处理结果发送给所述状态反馈模块、所述命令发送模块;
[0014]所述计算模块,用于计算所述摄像机的当前状态,获取所述当前状态信息;
[0015]所述状态反馈模块,用于从所述控制调度模块接收所述当前状态信息,并将所述当前状态信息实时返回给所述客户端。
[0016]所述的视频监控系统,其中,所述计算模块又包括:
[0017]摄像机方向计算模块,用于当所述摄像机控制命令为云台转动控制命令时,响应该云台转动控制命令,根据该云台转动控制命令以及要控制的摄像机的转速,计算转动角度;
[0018]摄像机视角计算模块,用于当所述摄像机控制命令为调焦控制命令时,响应该调焦控制命令,根据该调焦控制命令以及要控制的摄像机的调焦时间值,计算调焦后的当前视角。
[0019]所述的视频监控系统,其中,所述摄像机方向计算模块以如下公式进行转动角度的精确计算:
[0020]hDirect1nAngle = hSpeedX t+hBeforeDirect1nAngle
[0021]vDirect1nAngle = vSpeedX t+vBeforeDirect1nAngle
[0022]其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值,hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。
[0023]所述的视频监控系统,其中,所述摄像机视角计算模块以如下公式进行调焦后当前视角的精确计算:
[0024]hAngleView = 2 X arctg (hlen/2 X f) X 180/pi
[0025]vAngleView = 2 X arctg (vlen/2 X f) X 180/pi
[0026]其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角,hlen为镜头靶面宽,vlen为镜头靶面高,f为摄像机当前的焦距值,pi为常量值
3.1415926。
[0027]为了实现上述目的,本发明还提供一种视频监控系统中对摄像机进行精确控制的方法,所述视频监控系统包括:所述摄像机、客户端、流媒体服务器以及控制服务器,其特征在于,该方法包括:
[0028]步骤一,所述客户端发送一摄像机控制命令至所述控制服务器;
[0029]步骤二,所述控制服务器接收所述摄像机控制命令,根据所述摄像机控制命令进行计算处理,获取所述摄像机的当前状态信息,并将该当前状态信息实时返回至所述客户端。
[0030]所述的对摄像机进行精确控制的方法,其中,所述步骤二中,包括:
[0031]所述控制服务器解析出根据摄像机控制命令的命令类型,根据所述命令类型进行处理,获取所述摄像机的当前状态信息。[0032]所述的对摄像机进行精确控制的方法,其中,所述步骤二中,包括:
[0033]所述控制服务器当所述摄像机控制命令为云台转动控制命令时,响应该云台转动控制命令,根据该云台转动控制命令以及要控制的摄像机的转速,计算转动角度;或
[0034]所述控制服务器当所述摄像机控制命令为调焦控制命令时,响应该调焦控制命令,根据该调焦控制命令以及要控制的摄像机的调焦时间值,计算调焦后的当前视角。
[0035]所述的对摄像机进行精确控制的方法,其中,所述步骤二中,包括:
[0036]所述摄像机方向计算模块以如下公式进行转动角度的精确计算:
[0037]hDirect1nAngle = hSpeedX t+hBeforeDirect1nAngle
[0038]vDirect1nAngle = vSpeedX t+vBeforeDirect1nAngle
[0039]其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值,hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。
[0040]所述的对摄像机进行精确控制的方法,其中,所述步骤二中,包括:
[0041]所述摄像机视角计算模块以如下公式进行调焦后当前视角的精确计算:
[0042]hAngleView = 2 X arctg (hlen/2 X f) X 180/pi
[0043]vAngleView = 2 X arctg (vlen/2 X f) X 180/pi
[0044]其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角,hlen为镜头靶面宽,vlen为镜头靶面高,f为摄像机当前的焦距值,pi为常量值
3.1415926。
[0045]本发明提供的视频监控系统及对前端摄像机设备进行精确控制的方法,不但可以使对前端设备的控制更加精确,同时满足了视频监控系统中其它的应用需求。
[0046]具体来说,本发明具有以下优点:
[0047](I)控制服务器负责对所有的控制命令进行计算,判断并计算摄像机执行该控制命令后,摄像机实际的变化情况,并且能够将变化后的实时状态返回给客户端。这样的设计使得视频监控系统能够对所有的前端摄像机进行精确的控制,使得视频监控系统能够更加准确,应用更加广泛。
[0048](2)控制服务器针对不同的前端摄像机设备,建立不同的相关参数索引库。使得视频监控系统在进行精确控制的前提下,能够大量的兼容大多数的摄像机设备型号,大大增强了视频监控系统的扩展性、适应性。
【专利附图】
【附图说明】
[0049]图1是本发明视频监控系统的结构示意图;
[0050]图2是本发明控制服务器的模块结构示意图;
[0051]图3是本发明视频监控系统中摄像机进行精确控制的方法流程示意图。
【具体实施方式】
[0052]以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
[0053]如图1所示,是本发明视频监控系统的结构示意图,图2是本发明控制服务器的模块结构示意图。
[0054]该视频监控系统100包括前端设备10、客户端20、流媒体服务器30、控制服务器40。
[0055]前端设备10包括摄像机,如球形摄像机、枪形摄像机。
[0056]控制服务器40,负责接收客户端20发送的摄像机控制命令,根据该命令调用相应的计算模块进行计算,通过不断将计算结果反馈的方式将前端摄像机10的状态实时返回给客户端20。
[0057]客户端20,负责向控制服务器40发送摄像机控制命令,同时根据控制服务器40返回的摄像机状态,实时保存该状态。
[0058]流媒体服务器30,负责对视频流的接收与发送,并不负责具体的设备控制。
[0059]进一步地,前端设备10 (如摄像机)与流媒体服务器30及控制服务器40相连,摄像机10将视频流信号发送给流媒体服务器30,同时通过控制端口连接控制服务器40。客户端20分别与流媒体服务器30、控制服务器40相连接,同时流媒体服务器30与控制服务器40相互独立,并不连接。
[0060]进一步地,控制服务器40根据前端接入的摄像机10的品牌型号,查询并统计所有品牌型号的详细参数,包括最小焦距值、最大焦距值、镜头靶面大小等等,最小焦距调至最大焦距所需时间t,是最大变焦时间值。
[0061]对于可以转动的摄像机详细查询转动的水平转动速度、垂直转动速度。并对统计的所有参数建立索引库,控制服务器40中的计算模块根据这些参数进行相关计算。
[0062]进一步地,客户端20选择需要播放的摄像机10,发送调用流媒体命令至流媒体服务器30,查看相应视频。在此基础上,客户端20根据需要发送摄像机10的控制命令至控制服务器40,并实时得到控制服务器40返回的摄像机实时状态。
[0063]在一实施例中,控制服务器40根据客户端20发送的摄像机控制命令,解析该控制命令,得到该控制命令的类型,并且从索引库中检索得到所控摄像机10的参数、当前状态,根据不同控制类型调用不同的计算模块(摄像机方向计算模块45、摄像机视角计算模块46),并且能够返回设备状态。在一实施例中,摄像机10的当前状态是指当前该摄像机10的水平所指方向、垂直所指方向、当前焦距值的大小,计算模块根据这些参数计算摄像机10的下一状态。
[0064]在一实施例中,计算模块包括摄像机方向计算模块45、摄像机视角计算模块46,具体模块内部计算方法根据云台转动规律,及摄像机10的成像原理实现。
[0065]具体地,摄像机方向计算模块45根据索引库中摄像机10的水平转动速度值、垂直转动速度值及当前的水平方向、垂直方向,可以实时的计算得到摄像机10转动一定时间t后的水平方向、垂直方向。具体计算公式见式(I)、(2):
[0066]hDirect1nAngle = hSpeedXt+hBeforeDirect1nAngle (I)
[0067]vDirect1nAngle = vSpeedXt+vBeforeDirect1nAngle (2)
[0068]其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值。hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。[0069]具体地,摄像机视角计算模块46根据索引库中摄像机10的镜头靶面参数、最小焦距值、最大焦距值及调焦时间值,可以实时的计算得到摄像机10的当前视角。具体计算公式见式(3)、(4):
[0070]hAngleView = 2 X arctg (hlen/2 X f) X 180/pi (3)
[0071]vAngleView = 2 X arctg (vlen/2 X f) X 180/pi (4)
[0072]其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角。hlen为镜头靶面宽,vlen为镜头靶面高,f为摄像机当前的焦距值,pi为常量值
3.1415926。
[0073]其中f的获取方法为:最小焦距值+ (调焦时间值/最大变焦时间值)*最大焦距值。
[0074]调焦时间值的初始值为0,变化范围为(0,最大变焦时间值),当执行焦距变大命令时,直到调焦结束,调焦时间值增加,增加值与执行焦距变大命令时间相等;当执行焦距变小命令时,直到调焦结束,调焦时间值减少,减少值与执行焦距变小命令时间相等。变化过程中保证调焦时间值在变化范围内。在一实施例中,返回的设备状态包括:摄像机当前指向角度、摄像机当前视角大小、摄像机当前焦距大小。
[0075]在图2中,控制服务器40主要由命令接收解析模块41、命令发送模块42、状态反馈模块43、控制调度模块44、摄像机方向计算模块45、摄像机视角计算模块46组成。 [0076]命令接收解析模块41,负责接收客户端20发送的摄像机控制命令,并解析出摄像机控制命令的类型,如云台转动、调焦等等。
[0077]命令发送模块42,负责将从控制调度模块44收到的控制命令,转发给响应的前端摄像机10。
[0078]状态反馈模块43,根据控制调度模块33的调度,负责将计算模块(主要包括摄像机方向计算模块45、摄像机视角计算模块46)计算得到的摄像机当前状态实时返回给客户端20。
[0079]控制调度模块44,负责根据控制命令类型调用相应的计算模块,并将计算模块的计算结果发送给状态反馈模块43、命令发送模块42 ;
[0080]摄像机方向计算t旲块45,负责响应z?台转动控制命令,根据该z?台转动控制命令以及所控制的摄像机实际品牌型号的转速,进行转动角度的精确计算;
[0081]进一步地,摄像机方向计算模块45负责响应云台转动控制命令,包括水平左转、水平右转、垂直上转、垂直下转,从索引库中得到所控摄像机10的转动速度参数,同时得到摄像机当前的水平、垂直方向,在此基础上,设置方向计算的反馈间隔时间t,根据上述公式
(I)、( 2 )进行转动角度的精确计算,在此简略。
[0082]摄像机视角计算模块46,负责响应摄像机调焦控制命令,根据该调焦控制命令以及要控制的摄像机实际品牌型号的调焦时间值,进行调焦后当前视角的精确计算。
[0083]进一步地,摄像机视角计算模块46负责响应摄像机调焦控制命令,包括焦距变大、焦距变小,根据调焦控制命令得到调焦时间值,同时从索引库中得到所控摄像机10的镜头靶面参数,在此基础上,根据上述公式(3)、(4)进行摄像机当前视角的精确计算,在此简略。
[0084]如图3所示,是本发明视频监控系统中摄像机进行精确控制的方法流程示意图。结合图1、2,该方法的具体实施步骤如下:
[0085]步骤301,控制服务器40根据客户端20发送的摄像机控制命令,解析控制命令,得到控制命令的类型,并且从索引库中检索得到所控摄像机10的参数、当前状态;
[0086]步骤302,根据不同控制类型调用不同的计算模块:
[0087]判断控制命令类型是否为焦距变化,若控制命令类型为焦距变化时,调用摄像机视角计算模块46 ;否则进一步判断控制命令类型是否为转动云台,若控制命令类型为转动云台时,则调用摄像机方向计算模块45 ;否则进一步判断控制命令是否为停止命令,若为停止命令,则客户端20对前端的摄像机10停止控制,并进入步骤305,否则,调用其他功能模块;
[0088]控制服务器40在调用相应的计算模块处理后,设置反馈间隔时间t=100ms(毫秒),并进入下一步;
[0089]步骤303,控制服务器40发送控制命令,并开始计时,进入下一步;
[0090]步骤304,控制服务器40计算状态变化值,包括摄像机10的水平方向值、垂直方向值、摄像机10的水平视角、垂直视角,并将其反馈至客户端20,进一步判断是否到达反馈间隔时间t,若到达,则进入下一步骤305 ;若没有到达反馈间隔时间t时,则不做处理,进入等待状态,为了保证控制精度,反馈间隔时间t尽量小。
[0091 ] 步骤305,控制服务器40判断停止控制是否结束,若结束,进入步骤306,否则返回步骤303 ;
[0092]步骤306,结束。
[0093]在一实施例中,步骤301,控制服务器40根据客户端20发送的摄像机控制命令,解析控制命令,得到控制命令的类型,并且从索引库中检索得到所控摄像机10的参数、当前状态。此处已得到当前状态,后续步骤无须再次获取相应的状态信息。
[0094]在一实施例中,步骤301中,摄像机10的当前状态是指当前该摄像机10的水平所指方向、垂直所指方向、当前焦距值的大小,计算模块根据这些参数计算摄像机10的下一状态。
[0095]在一实施例中,步骤302中,控制服务器40根据不同控制类型调用不同的计算模块(摄像机方向计算模块45、摄像机视角计算模块46 ),并且能够向客户端20返回设备状态信息。
[0096]在一实施例中,步骤302中,计算模块包括摄像机方向计算模块45、摄像机视角计算模块46,具体模块内部计算方法根据云台转动规律,及摄像机的成像原理实现。
[0097]具体地,摄像机方向计算模块45根据索引库中摄像机10的水平转动速度值、垂直转动速度值及当前的水平方向、垂直方向,可以实时的计算得到摄像机10转动一定时间t后的水平方向、垂直方向。具体计算公式见式(I)、(2):
[0098]hDirect1nAngle = hSpeedXt+hBeforeDirect1nAngle (I)
[0099]vDirect1nAngle = vSpeedXt+vBeforeDirect1nAngle (2)
[0100]其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值。hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。[0101]其中,转动时间t的值等于反馈间隔时间,表示每隔反馈间隔时间t计算一下转动后的方向,计算完成后的当前摄像机的水平方向值hDirect1nAngle、垂直方向值vDirect1nAngle,水平方向值 hDirect1nAngle、垂直方向值 vDirect1nAngle 作为下次计算时的保存摄像机的水平方向值hBeforeDirect1nAngle、vBeforeDirect1nAngle垂直方向值,循环计算,不断反馈状态,直到停止转动。具体地,摄像机视角计算模块46根据索引库中摄像机10的镜头靶面参数、最小焦距值、最大焦距值及调焦时间值,可以实时的计算得到摄像机10的当前视角。具体计算公式见式(3)、(4):
[0102]hAngleView = 2 X arctg (hlen/2 X f) X 180/pi (3)
[0103]vAngleView = 2 X arctg (vlen/2 X f) X 180/pi (4)
[0104]其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角。hlen为镜头靶面宽,vlen为镜头靶面高,f为摄像机当前的焦距值,pi为常量值
3.1415926。
[0105]其中f的获取方法为:最小焦距值+ (调焦时间值/最大变焦时间值)*最大焦距值。
[0106]调焦时间值的初始值为0,变化范围为(0,最大变焦时间值),当执行焦距变大命令时,直到调焦结束,调焦时间值增加,增加值与执行焦距变大命令时间相等;当执行焦距变小命令时,直到调焦结束,调焦时间值减少,减少值与执行焦距变小命令时间相等。变化过程中保证调焦时间值在变化范围内。在一实施例中,返回的设备状态包括:摄像机当前指向角度、摄像机当前视角大小、摄像机当前焦距大小。控制命令,包括转动命令、调焦命令等,执行过程都分为开始和结束两个命令。每一次命令执行时间表示从开始执行命令到结束执行命令的间隔时间。
[0107]在本流程中,反馈间隔时间t表示在命令执行时间中执行的中间状态,分成各个小的时间段反馈给用户,其中每个小的时间段是反馈间隔时间t。
[0108]具体地,在调焦命令执行过程中,调焦时间值的变化量等于反馈间隔时间t,当执行焦距变小命令时,调焦时间值=调焦时间值-反馈间隔时间;当执行焦距变大命令时,调焦时间值=调焦时间值+反馈间隔时间;循环计算,不断反馈状态,直到停止调焦,同时调焦时间值必须在(O,最大变焦时间值)变化范围内。
[0109]在一实施例中,步骤302中,返回的设备状态信息包括:摄像机当前指向角度、摄像机当前视角大小、摄像机当前焦距大小。
[0110]本发明在视频监控系统所有前端设备不返回状态,以及前端设备品牌型号多种多样的情况下,提供了一种能够根据控制命令进行精确控制计算的方式,高效、实时的掌握所有前端摄像机的当前状态。
[0111]当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种视频监控系统,包括摄像机、客户端、流媒体服务器,其特征在于,还包括:控制服务器; 所述控制服务器,负责接收所述客户端发送的摄像机控制命令,根据该摄像机控制命令进行计算处理,获取该摄像机的当前状态信息,并将该当前状态信息实时返回至所述客户端。
2.根据权利要求1所述的视频监控系统,其特征在于,所述控制服务器进一步包括:控制调度模块、命令接收解析模块、命令发送模块、状态反馈模块、计算模块; 所述命令接收解析模块,用于接收所述客户端发送的所述摄像机控制命令,并解析出命令类型; 所述命令发送模块,用于从所述控制调度模块接收控制命令,并转发给所述摄像机;控制调度模块,用于根据所述命令类型调用相应的计算模块进行处理,并将处理结果发送给所述状态反馈模块、所述命令发送模块; 所述计算模块,用于计算所述摄像机的当前状态,获取所述当前状态信息; 所述状态反馈模块,用于从所述控制调度模块接收所述当前状态信息,并将所述当前状态信息实时返回给所述客户端。
3.根据权利要求2所述的视频监控系统,其特征在于,所述计算模块又包括: 摄像机方向计算模块,用于当所述摄像机控制命令为云台转动控制命令时,响应该云 台转动控制命令,根据该云台转动控制命令以及要控制的摄像机的转速,计算转动角度;摄像机视角计算模块,用于当所述摄像机控制命令为调焦控制命令时,响应该调焦控制命令,根据该调焦控制命令以及要控制的摄像机的调焦时间值,计算调焦后的当前视角。
4.根据权利要求3所述的视频监控系统,其特征在于,所述摄像机方向计算模块以如下公式进行转动角度的精确计算:
hDirect1nAngle = hSpeedXt+hBeforeDirect1nAngle
vDirect1nAngle = vSpeedX t+vBeforeDirect1nAngle 其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值,hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。
5.根据权利要求3或4所述的视频监控系统,其特征在于,所述摄像机视角计算模块以如下公式进行调焦后当前视角的精确计算:
hAngleView = 2Xarctg(hlen/2Xf) X 180/pi
vAngleView = 2 X arctg (vlen/2 Xf)X 180/pi 其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角,hlen为镜头祀面宽,vlen为镜头祀面高,f为摄像机当前的焦距值,pi为常量值3.1415926。
6.一种视频监控系统中对摄像机进行精确控制的方法,所述视频监控系统包括:所述摄像机、客户端、流媒体服务器以及控制服务器,其特征在于,该方法包括: 步骤一,所述客户端发送一摄像机控制命令至所述控制服务器; 步骤二,所述控制服务器接收所述摄像机控制命令,根据所述摄像机控制命令进行计算处理,获取所述摄像机的当前状态信息,并将该当前状态信息实时返回至所述客户端。
7.根据权利要求6所述的对摄像机进行精确控制的方法,其特征在于,所述步骤二中,包括: 所述控制服务器解析出根据摄像机控制命令的命令类型,根据所述命令类型进行处理,获取所述摄像机的当前状态信息。
8.根据权利要求7所述的对摄像机进行精确控制的方法,其特征在于,所述步骤二中,包括: 所述控制服务器当所述摄像机控制命令为云台转动控制命令时,响应该云台转动控制命令,根据该云台转动控制命令以及要控制的摄像机的转速,计算转动角度;或 所述控制服务器当所述摄像机控制命令为调焦控制命令时,响应该调焦控制命令,根据该调焦控制命令以及要控制的摄像机的调焦时间值,计算调焦后的当前视角。
9.根据权利要求8所述的对摄像机进行精确控制的方法,其特征在于,所述步骤二中,包括: 所述摄像机方向计算模块以如下公式进行转动角度的精确计算: hDirect1nAngle = hSpeedXt+hBeforeDirect1nAngle vDirect1nAngle = vSpeedX t+vBeforeDirect1nAngle 其中,t表示转动时间,hDirect1nAngle为转动t时间后摄像机的水平方向值,vDirect1nAngle为转动t时间后摄像机的垂直方向值,hSpeed为摄像机的水平转动速度,vSpeed为摄像机的垂直转动速度,hBeforeDirect1nAngle为摄像机转动之前保存的水平方向值,vBeforeDirect1nAngle为摄像机转动之前保存的垂直方向值。
10.根据权利要求8或9所述的对摄像机进行精确控制的方法,其特征在于,所述步骤二中,包括: 所述摄像机视角计算模块以如下公式进行调焦后当前视角的精确计算: hAngleView = 2X arctg (hlen/2 X f) X 180/pi vAngleView = 2 X arctg(vlen/2 Xf)X 180/pi 其中,hAngleView为摄像机当前的水平视角,vAngleView为摄像机当前的垂直视角,hlen为镜头祀面宽,vlen为镜头祀面高,f为摄像机当前的焦距值,pi为常量值3.1415926。
【文档编号】H04N5/232GK104038727SQ201310068711
【公开日】2014年9月10日 申请日期:2013年3月5日 优先权日:2013年3月5日
【发明者】王文超, 穆森, 孙昆, 刘丽霞 申请人:北京计算机技术及应用研究所