一种控制能够进行平移和倾斜控制的相机的方法及装置与流程

文档序号:11235050阅读:356来源:国知局
一种控制能够进行平移和倾斜控制的相机的方法及装置与流程

本发明大体涉及一种控制能够进行平移和倾斜控制的相机的方法及装置,更具体地,涉及一种控制此类相机的视场调整的方法及装置。



背景技术:

对于例如监控应用之类的许多摄像机应用,使用可以平移、倾斜(可选地可变焦和/或旋转)的相机来覆盖更大的区域是有利的。此类相机以pt(平移-倾斜)相机、ptz(平移-倾斜-变焦)相机等名称为人所知。还可以通过将相机安装在所谓的pt头上提供pt功能,pt头是一种可以平移和倾斜安装于其上的相机的机动安装基座。在相机例如平移/倾斜之类的运动期间,由该相机捕获的视频流的比特率可能达到较高水平。这是由于视频流内(即视频流内的两个连续的图像帧之间)的调整使得难以实现p-块编码。因此,在此类调整期间使用耗费较高的i-块对图像帧内的大部分或者所有像素块进行编码,这引起比特率的增加。

视频处理领域一直致力于在保持视频流的可感知的质量的同时降低比特率。上述问题的一种解决方案是根据平移/倾斜调整的速度调节编码视频流的编码器的运动向量搜索范围。由于两个图像之间的匹配像素块的搜索通常需要大量数学运算并且增加的运动向量搜索范围导致要进行更多比较,因此,此解决方案的问题在于编码处理的运算复杂度会增加,从而需要更多处理器能力和/或增加完成编码处理的处理时间。

由此,在这种背景下,存在改进需求。



技术实现要素:

鉴于以上所述,本发明的目的在于解决或者至少降低上文中讨论过的一个或若干缺陷。一般而言,上述目的通过随附独立专利权利要求实现。

根据第一方面,本发明通过一种控制连接至被布置为对相机被捕获的视频流进行编码的能够进行平移和倾斜(pt)控制的相机的方法实现,其中所述编码器具有运动向量搜索范围,该方法包括以下步骤:

-获取视频流中的当前图像帧的第一视场(fov)设定,

-接收关于在视频流中的随后图像帧中期望从第一fov设定调整到第二fov设定的期望fov调整的用户输入,

-使用相机的帧每秒(fps)设定定义当前图像帧与随后图像帧之间的时间段,并且使用该时间段计算期望fov调整的速度和方向,

-通过将编码器的运动向量搜索范围转换为该时间段期间相机的最大fov调整并且计算该最大fov调整的速度来确定第一阈值速度,

-通过将第一阈值速度与高于1的数值相乘确定第二阈值速度,并且

-将期望fov调整的速度与第一阈值速度和第二阈值速度进行比较。

如果期望fov调整的速度高于第二阈值速度或者低于第一阈值速度,则在所述时间段期间将相机的fov从第一fov设定调整至第二fov设定。换言之,根据用户输入调整相机的fov。

然而,如果期望fov调整的速度介于第一阈值速度与第二阈值速度之间,则在所述时间段期间基于期望fov调整的方向以及第一阈值速度调整相机的fov。

这意味着,在用户想要对相机的fov进行调整的大小(magnitude)使得编码器将仍能够使用编码器的运动向量搜索范围在视频流的两个连续图像之间寻找匹配块的情况下,fov(经由相机的平移/倾斜运动的)调整是根据用户请求实施的。例如,如果编码器的运动向量搜索范围是15个像素,并且用户想要对fov进行调整的大小与少于或等于视频流中两个连续图像之间的15个像素差相对应,则根据用户期望实施调整,并且将使用p-块对视频流内的大部分像素块进行编码。

并且,当用户想要对相机的fov进行调整的大小与多于某阈值乘以运动向量搜索范围相对应时,例如,在15个像素的运动向量搜索范围的情况下,视频流中两个连续图像之间具有50个像素差,根据用户期望实施调整,并且将使用i-块对视频流内的大部分像素块进行编码。

然而,当用户想要对相机的fov进行调整的大小与多于两个连续图像帧之间的像素差的运动向量搜索范围、但仍低于第二阈值差相对应时,则与用户所期望的相比,降低fov调整的速度,以使得将使用p-块对视频流内的大部分像素块进行编码。

本实施例的一个优势在于,对于特定的fov调整范围,将对调整速度进行求交运算(capped)以满足编码器的运动向量搜索范围。因此,编码器将能够使用p-块对大部分像素块进行编码,并且用户可能不会注意到相机的fov调整速度与期望速度的偏差。例如,用户输入可能与在接下来的24个图像帧内将fov在水平方向上调整96度相关。这意味着,对于每一帧,fov需要被调整4度。在确定最大fov调整的速度时(基于编码器的运动向量搜索范围),在此示例中响应于每个图像帧调整3度进行计算。可由此改变fov调整,进而使得在接下来的32帧内对fov执行80度的调整,这将引起比特率的降低,这是因为编码器可使用p-块编码大部分图像帧,并且用户可能不会察觉到到调整所花费的八个额外的帧的困扰。

在本说明书的上下文中,术语“运动向量搜索范围”应理解为编码器中用于运动补偿的图像搜索范围。在视频压缩中,运动向量是运动估计处理的关键元素。其用于基于像素块(或者类似的像素块)在例如视频流中的前一图像帧的图像帧(参考帧)中的位置来表示另一图像帧中的该像素块。如上所述,运动向量搜索范围确定参考图像中进行类似像素块的搜索的区域的大小。

在本说明书的上下文中,术语“fov设定”应理解为在任意给定时刻由相机的图像传感器捕获并传送给编码器的相机周围的场景内容。视场(fieldofview)还可被称为视角(aov)。将术语“fov”与相机周围由该相机的图像传感器捕获的场景的范围区分开是很重要的。通常,由图像传感器捕获的图像数据等同于fov,但在一些情况下,可使用所谓的数字fov。这意味着,由图像传感器捕获的数据仅部分被传送给编码器并随后构成编码视频流。在本说明书中,术语“相机的fov”应理解为包括fov的上述两种实施方式。贯穿本说明书并且包含在权利要求书中的“fov”和“fov设定”同义地用于表示任意给定时刻由相机的图像传感器捕获并且传送给编码器的相机周围的场景内容。

在确定该第一阈值速度时,对编码器的运动向量搜索范围,例如15个像素,进行转换以替代地描述fov调整。换言之,计算出的最大fov调整仍能够允许编码器在由运动向量搜索范围定义的区域中的两个图像帧之间寻找匹配的像素块。当然,这是一种基于假设由相机捕获的场景的内容还未在两个图像之间移动的理论计算。基于此理论计算,可计算出最大fov调整的速度并将其用作第一阈值速度。从像素数量(运动向量搜索范围)到fov调整的这种转换涉及由相机捕获的图像帧的图像分辨率以及由相机捕获并且由编码器编码的给定场景的角范围(在一些情况下是相机镜头的视角)。

根据一些实施例,相机还能够进行变焦z控制。

根据一些实施例,相机还能够进行旋转r控制。

根据一些实施例,编码器被布置为使用与相机的fps设定不同的fps设定对视频流进行编码。在此情况下,在确定该第一阈值速度时,有利地计算并考虑编码器的fps设定与相机的fps设定之间的比率。例如,当编码器每秒仅编码一个图像帧而相机每秒捕获20个图像帧时,从一个图像帧到下一个图像帧的相机的最大fov调整可能仅与如上所述的运动向量搜索范围的1/20相对应。可替代地,从图像帧n到图像帧n+20,最大fov调整可以仅与如上所述的运动向量搜索范围相对应。

根据一些实施例,第二阈值速度是通过将第一阈值速度乘以2而确定的。这可被认为是用户感知到的fov调整的期望速度与实际速度之间的偏差与降低从编码器输出的编码视频流的比特率之间的较佳平衡。

根据第二方面,本发明提供一种包括具有适于在被具有处理能力的装置执行时实施第一方面的方法的指令的计算机可读存储介质的计算机程序产品。

根据第三方面,本发明提供一种适于控制能够进行平移和倾斜(pt)控制的相机的控制装置,该相机连接至被布置为对由相机捕获的视频流进行编码的编码器,该编码器具有运动向量搜索范围,该控制装置包括被布置为进行以下操作的处理器:

从该相机中获取视频流中当前图像帧的第一视场(fov)设定;

接收关于在视频流中的随后图像帧中期望从第一fov设定调整到第二fov设定的期望fov调整的用户输入,使用帧每秒定义当前图像帧与随后图像帧之间的时间段,并且使用该时间段来计算期望fov调整的速度和方向,

通过将编码器的运动向量搜索范围转换为该时间段期间相机的最大fov调整并且计算最大fov调整的速度来确定第一阈值速度,

通过将第一阈值速度与高于1的数值相乘确定第二阈值速度,

将期望fov调整的速度与第一阈值速度和第二阈值速度进行比较,

当确定期望fov调整的速度高于第二阈值速度或者低于该第一阈值速度时,在该时间段期间将相机的fov从第一fov设定调整至第二fov设定;

当确定期望fov调整的速度介于第一阈值速度与第二阈值速度之间时,在时间段期间基于期望fov调整的方向和第一阈值速度调整相机的fov。

根据第四方面,本发明提供一种能够进行平移和倾斜(pt)控制的相机,该相机连接至被布置为对由相机捕获的视频流进行编码的编码器,该相机包括根据第三方面的控制装置。

根据一些实施例,相机连接至操纵杆,该操纵杆提供关于期望fov调整的用户输入。

第二、第三和第四方面通常可以具有与第一方面相同的特征和优势。

附图说明

本发明的上述以及附加的目的、特征和优势将通过本发明的实施例的以下参照附图的示例性且非限制性的详细说明而变得更易于理解,附图中相同的参考标记用于相同的元件,其中:

图1示意性地示出了运动补偿预测编码的基本原理以及编码器的运动向量搜索范围的用途,

图2示出了相机的期望fov调整的速度与相机的fov调整的实际速度之间的转化函数,

图3-6各自以示例方式示出了如何将fov调整转换为调整的速度和方向,

图7根据本发明的实施例示出了一种控制能够进行pt控制的相机的方法。

具体实施方式

图1示出了捕获包括多个图像帧106、108的视频流104的相机102。当编码此类视频流时,可以有利地使用运动补偿预测编码作为编码方法。当相机在3d空间中移动时,或者当相机被捕获的场景内的内容运动时,这导致图像帧中的内容在图像平面中移位。在图1中示例了这一情况,其中,视频流的第一图像帧106中的物体移动到了视频流的第二图像108中。运动补偿预测编码通常设法利用描述第二图像帧和先前图像帧106之间的像素块移动的运动向量来表示诸如第二图像帧108中的块110之类的像素块。可选地,还对被编码的像素块110与先前图像帧中最匹配的像素块114之间的内容差所对应的残留数据进行编码。

当在例如正被编码的一个像素帧之前的图像帧中搜索匹配像素块时,运动补偿预测编码采用运动向量搜索范围116。编码通常根据当前正被编码的块110在先前图像106中的相同位置112处开始搜索类似的像素块。在搜索中可使用任意合适的块匹配算法。从初始位置112开始,编码器将在运动向量搜索范围116内搜索匹配的像素块。在未在运动向量搜索区域118内找到合适的匹配块的情况下,编码器通常将使用与例如可使用p-块编码(运动补偿预测编码)的情况相比需要更多比特的i-块编码对像素块进行编码。毋庸置疑的是,如果相机的移动使得两个图像帧之间的对应块位于运动向量搜索区域118之外,则将无法找到匹配块并且可能需要使用i-帧编码对整个图像帧进行编码,与可针对图像帧中的大部分或所有像素块使用p-块编码的情况相比,这导致用于传送被编码的图像帧的比特率增加。这种情景可能发生在相机的平移/倾斜(pt)运动期间,其中比特率可能会达到较高水平。在最好的情况下,pt-运动(fov调整)将足够小,以使得编码器能够找到较好的运动向量匹配并且将每个宏块编码为p-块。然而,在许多情况下(尤其是当编码器具有受限的运动向量搜索范围116时),运动过大并且大多数块将被替代地编码为i-块。如上所述,i-块的编码通常比p-块耗费得多,这导致比特率突增。

本发明基于如下构思:基于编码器的运动向量搜索范围限制fov(通过相机的pt(z)运动)调整的容许速度,以使得可以在如果不使用预测编码则使用i-块编码的一些情况下使用预测编码。典型的实施方式可以是:如图2所示,制约(clamp)fov调整的速度,以使得如果期望fov调整的速度高于编码器能够使用p-块进行编码的速度、但低于特定阈值速度时,调整速度将被限制为满足编码器的p-块编码要求。在图2中,除了实际速度204被制约的特定速度范围(第一阈值速度206与第二阈值速度208之间)之外,期望fov调整的速度202和实际调整速度204相同。

换言之,在期望fov调整的速度介于第一阈值速度206与第二阈值速度208之间的情况下,将基于期望fov调整的方向和第一阈值速度调整fov。通过如此操作,fov调整速度将被约束至关于特定速度范围的编码器限制,而当速度超出阈值时,实际速度将与期望速度相对应。这是有利的,这是因为对于想要快速调整fov的用户来说,期望fov调整将也是实际的最终fov调整。

为了计算期望fov调整的速度和方向,可使用不同的算法和度量。例如,期望调整的速度可由3d空间中的例如从第一fov的中心到第二fov的中心的向量长度来表示。在图3中示意性地示出了此实施例。为了简化图示,图3(以及图4-6)示出了fov在2d空间(即fov在3d空间中的2d投影)中的调整。

可替代地,可使用极坐标来计算以相机的运动起点(即,相机的悬挂点,相机可围绕该悬挂点移动)为中心的围绕假想球体的向量的长度和方向。

fov可由相机被捕获的给定场景的角范围(下文中进一步讨论)以及代表相机的指向方向的3d空间中的点表示。由此,fov的中心点可由指向方向(x、y、和z值或类似物)来表示,并且可使用该中心点以及由相机捕获的给定场景的角范围来计算fov的角点(corners)。

通过计算第一fov302与期望的第二fov304之间的向量306,可将向量306的长度用作指示调整的速度的值,而向量的方向可用于指示fov调整的方向。该长度例如可计算为具有第一fov302的相机的指向方向与具有期望的第二fov304的相机的指向方向之间的x、y、和z的差。

不是仅使用第一和第二fov的中心点来计算速度和方向,而是可以使用fov的角点。在图4中示出了这种情况,其中计算了四个向量306a-d,每个fov的角点具有一个向量。为了计算速度和方向,可使用四个向量306a-d的平均值。可替代地,可使用最长或最短的向量。

在调整涉及变焦的情况下,或者如果调整涉及fov的旋转,则使用fov的角点来计算fov调整速度和方向是有利的。在旋转的情况下,如图5所示,这可导致不同长度和方向的四个向量306a-d。可根据以上所述来计算所产生的期望fov调整的速度和方向。在变焦的情况下(如图6所示),使用第一fov302和第二fov304的中心会导致零向量,即,长度为0的向量,由此其所有的分量都等于0。然而,因为由相机捕获的场景的内容将已在由相机捕获的具有第一fov302的图像帧与由相机捕获的具有第二fov304的图像帧之间进行了移动,所以这是不正确的。

应注意的是,期望fov调整不是瞬时的,而相反是将在一定时间段期间发生的。例如,第一fov302可以是第一图像帧的fov,而第二fov可以是第n个图像帧的fov。可以通过使用相机帧每秒(fps)来计算调整的时间段。例如,如果fps是x帧/秒;则在这种情况下该时间段将是n/x秒。通过基于该时间段计算速度,可以如上所述地有利地处理相机的fps不同于编码器的编码fps的情况。

在确定第一阈值速度(图2中的206)时,需要在该时间段期间将编码器的运动向量搜索范围转换为相机的最大fov调整。通过考虑由相机捕获的图像的分辨率和由相机捕获的给定场景的角范围,可将编码器的运动向量搜索范围转换为相机的最大fov调整。相机的一个或多个镜头适于捕获锥形光线。像圈是锥形光线的横截面。为了避免晕映(图像边缘的色饱和),相机必须具有比被捕获的图像的图像格式尺寸更大的像圈。由相机捕获的给定场景的角范围与被捕获的图形相对应,而不与镜头可成像的角范围相对应。

例如,如果由相机捕获的场景的角范围可以是水平方向上的40度和垂直方向上的30度,则被捕获的图像的分辨率可以是1200*900像素。这意味着每个像素与1/30度相对应。在运动向量搜索范围为30个像素的情况下,这与编码器中两个被编码的图像之间的1度的fov调整相对应。在编码器的fps与相机的fps相同的情况下,被捕获的两个图像之间的最大fov调整为1度。对于此示例,由此第一阈值将与相机的(在3d空间中的)1度的fov调整相对应。

第二阈值速度(图2中的208)是通过将第一阈值速度与高于1的数值相乘确定的。该数值可以是1.2、1.5、2、4等。根据一些实施例,该数值为2。因此通过使用上述示例,第二阈值可以与在被捕获两个图像之间的相机的2度的fov调整相对应。

因此,如果用户期望在接下来的20帧中将fov在水平方向上调整38度,则可以采用调整速度的求交算法(capping),以使得将花费38帧来调整fov,这导致较低的被编码的视频流比特率。可替代地,如果用户期望将fov调整45度,则将不采用求交算法并且该调整将花费期望的20帧,这可能在fov调整期间导致比特率峰值,这是因为可能需要i-编码。通过如上所述地使用第二阈值,打算快速调整相机的fov的用户可能仍能够在期望时间段期间使用超出第二阈值的速度进行这种调整。

图7根据本发明的实施例示出了一种控制能够进行pt控制的相机的方法。如上所述,还可以使用该方法来控制能够ptz、ptr或ptzr控制的相机。相机的移动可被设置为远程控制。

相机连接至被布置为对由相机捕获的视频流进行编码的编码器。编码器可位于相机的外部或内部。编码器具有可调或不可调的定义的运动向量搜索范围。

该方法包括步骤:获取(s702)视频流中的当前图像帧的第一fov设定。这意味着获取相机的当前fov。

该方法还包括步骤:接收(s704)关于在视频流中的随后图像帧中期望从第一fov设定调整到第二fov设定的期望fov调整相关的用户输入。用户可以例如向相机输入请求相机在水平方向上转动90度,或者将缩放值从1x变为2.5x的命令。该期望调整可以与fov的任意调整相关。

可通过操纵杆或其他用于控制相机的fov的适当的控制装置(比如计算机鼠标)向相机提供用户输入。操纵杆(鼠标等)可包括例如按钮或可推动(激活等)以复写第一和第二阈值之间的调整的速度的求交算法的类似物。还可在用户可用的计算机界面中提供复写功能。控制装置可用于通过控制装置的移动(例如,操纵杆的伸出)直接调整fov,或者控制装置可与计算机界面结合使用从而在图像进行点击或敲击以调整相机的fov。在后一种情况下,此类调整可被预定义为发生在特定的时间段期间,然后可如上所述或如下所述基于第一和第二阈值改变该时间段。另一种典型的情形是相机被设置为执行巡更,其以预定义的速度在多个预定位置之间移动。

因此,期望调整可能涉及其期间发生调整的时间段,或者可在调整期间捕获的视频流中的图像帧数量。换言之,用户输入与在视频流中的随后图像帧中期望从第一fov设定调整到第二fov设定的期望fov调整。由此,可使用相机的fps设定定义当前图像帧与随后图像帧之间的时间段。

根据期望fov调整,可以计算(s706)期望fov调整的速度和方向。速度的计算涉及期间发生调整的时间段。

该方法还包括步骤:通过将编码器的运动向量搜索范围转换为该时间段期间相机的最大fov调整来确定(s708)第一阈值速度。由此,可计算出最大fov调整的速度。应注意的是,在编码器的运动向量搜索范围是固定数量(例如,15、30、40、50等)的像素的情况下,可能仅需要对每个相机执行一次确定第一阈值的步骤s708,或者仅在相机启动时执行。

该方法还包括步骤:通过将第一阈值速度与高于1的数值相乘确定(s710)第二阈值速度。如根据上文所理解的,根据一些实施例,此步骤仅在确定(s708)第一阈值速度时执行。该数值可以是高于1的任意适当数值,例如1.2、1.5、2、2.5、4等。

该方法还包括:将期望fov调整的速度与该第一阈值速度和第二阈值速度进行比较,并且基于此比较,可以以两种不同方式调整fov。

当确定期望fov调整的速度高于第二阈值速度或者低于第一阈值速度时,则在该时间段期间将相机的fov从第一fov设定调整(s714)至第二fov设定。这意味着执行用户对期望fov调整。

然而,如果确定期望fov调整的速度介于第一阈值速度和第二阈值速度之间,则在该时间段期间基于期望fov调整的方向以及第一阈值速度来调整(s716)相机的fov。这意味着使用编码器仍可在视频流的两个图像帧之间找到对应的像素块的最大速度调整fov,并且由此,与允许根据用户的期望来调整fov相比,可将比特率保持在较低的水平。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1