视频分析方法及其装置与流程

文档序号:14360247阅读:203来源:国知局
本发明涉及一种通过对实时视频流的网络数据包的模式进行分析而对其运动进行检测的方法及其装置。具体来讲,涉及一种通过对实时视频流的网络数据包进行监控并对数据包的模式进行分析而检测视频中是否包含运动的方法以及执行上述方法的装置。
背景技术
::对如闭路电视(cctv;closed-circuittelevision)等网络摄像头实时接收视频并对所接收到的视频进行分析而检测出运动的现有方法,大部分是借助于在接收终端上的处理。接收终端通过网络以数据包(packet)为单位从摄像头接收实时视频。此外,接收终端以所接收到的数据包为对象,利用相应视频的编码解码器(codec)对其执行视频解码处理。此外,接收终端在构成视频的独立静止图像(image)中确认有变化的区域。即,现有的主要的视频分析方法,是通过对构成视频的两个图像进行比较而检测出有变化的区域,并借此检测出视频中是否包含运动。如上所述,在现有的视频分析方法中为了准确地掌握视频中的运动,需要在接收到图像的终端中对视频进行解码(decoding)并展开成画面,然后在对画面中的图像进行重新分析而掌握运动信息。但是,这种方法需要非常强大的计算能力(computingpower)。在使用一般性能的设备时,能够进行处理的处理量最多为3fps至7fps(每秒帧数,framepersecond)。而这仅仅是对已保存的视频进行处理时的处理量,如果不是已保存的视频,而是假定需要实时接收视频并对其进行处理,其结果必然比3至7fps更低。但是,仅凭借3fps至7fps左右的处理量,远远不足以在约30fps左右的实时视频中检测出运动并对其进行处理。此外,因为现有的方法必须经过视频解码过程,因此会在编码和解码的过程中形成视频应用程序的依赖性。即,需要根据发送视频的一侧所使用的编码方法决定接收视频的一侧需要使用的解码方法,还会因此对用于分析视频的设备造成影响。因此在不同的情况下,还可能需要更换用于分析视频的设备。因此,需要一种既不需要强大的计算能力,又能够简单地从视频中检测出运动的方法。此外,还需要一种与视频的编码解码器无关的能够从视频中检测出运动的方法。技术实现要素:本发明要解决的技术课题在与提供一种通过对实时视频流的网络数据包的模式进行分析而对其运动进行检测的方法及其装置。本发明的技术课题并不局限于上述技术课题,一般的技术人员将通过下述记载进一步明确理解未被提及的其他技术课题。为了解决上述技术课题,本发明的一方面提供一种以实时视频流网络数据包的模式分析为基础的视频分析方法,其可包括:由视频分析装置通过相加构成帧(frame)的多个数据包(packet)的大小而计算出上述帧的大小的步骤;由上述视频分析装置对构成视频的多个帧的大小进行比较,从而对上述多个帧大小的模式进行分析的步骤;以及由上述视频分析装置利用上述模式判断上述视频中是否包含运动(motion)的步骤。在一实施例中,上述通过相加构成帧的多个数据包的大小而计算出上述帧的大小的步骤可包括:当上述视频的数据包没有被加密时,将包括用于指示上述帧的开始的标记(marker)信息的数据包开始直至包括用于指示上述帧的结束的标记信息的数据包检测为上述多个数据包的步骤。在另一实施例中,上述通过相加构成帧的多个数据包的大小而计算出上述帧的大小的步骤可包括:当上述视频的数据包被加密时,利用针对上述视频的编码解码器(codec)事先进行机器学习的每帧的数据包的数量(packetperframe),将与上述每帧的数据包的数量对应的数据包检测为上述多个数据包的步骤。在另一实施例中,上述对构成视频的多个帧的大小进行比较,从而对上述多个帧的大小的模式进行分析的步骤可包括:对上述多个帧的大小的平均值(average)、偏差值(deviation)、最小值、最大值和周期中的三个以上进行计算的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述平均值位于上述最小值和上述最大值的平均值以及预先设定的临界值(threshold)之间时,判定上述视频中没有包含运动的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述偏差值等于或大于预先设定的临界值时,判定上述视频中没有包含运动。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述最小值和上述最大值周期性地重复时,判定上述视频中没有包含运动的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述平均值位于上述最小值以及预先设定的临界值之间时,判定上述视频中包含运动的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述偏差值等于或小于预先设定的临界值时,判定上述视频中包含运动的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当上述最小值和上述最大值没有周期性地重复时,判定上述视频中包含运动的步骤。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当判定上述视频中包含运动时,利用针对上述视频的编码解码器事先进行机器学习的决策树(decisiontree),将上述运动的程度计算成数值的步骤;其中,上述决策树将上述多个帧的大小的平均值和偏差值作为输入变量,将上述运动的程度数值作为目标变量。在另一实施例中,利用上述模式判断上述视频中是否包含运动的步骤可包括:当判定上述视频中没有包含运动时,从上述视频中删除(drop)没有包含运动的帧的步骤。在另一实施例中,上述从视频中删除没有包含运动的帧的步骤可包括:通过网络传送已删除没有运动的帧之后的视频的步骤。在另一实施例中,上述从视频中删除没有包含运动的帧的步骤可包括:将已删除没有运动的帧之后的视频存储到存储空间(storage)中的步骤。本发明的实施例具有如下的技术效果。在网络中,数据包的形式和信息并不提供与画面上的运动相关的任何信息。为了了解与画面上的运动相关的信息,需要像现有方法那样对视频进行解码。即,为了获得与画面上经过的是人还是汽车或者画面上出现的人在举手还是在放下手等等运动相关的具体信息,需要解码视频。但这需要较高的运算能力。对此,如果利用本发明所提供的方法,就能按照有意义的单位区别数据包并进行分析,并且在此基础上了解画面上是否包含运动及其程度。即,虽然不能辨别画面上经过的是人还是汽车,但能了解在画面上是否有物体经过从而发生了运动。并且,能够了解所发生的运动程度有多大。如此,如果利用本发明所提供的方法,虽然不能了解运动的内容,但能了解运动与否及程度。借此,在不包含运动或运动较小的情况下,可通过在传送视频时按视频帧单位去除视频帧,从而减少网络传送量。另外,在接收视频时,能够提高所传送的视频的存储空间。本发明所提供的方法无需较高的运算能力,因此能够与拍摄视频并且实时传送的摄影机结合。若如此与发送端结合,就能在传送视频前删除不包含运动或运动较小的视频帧后进行传送,从而减少网络传送量。相反,如果与接收并存储视频并且进行分析的接收终端结合,就能在接收并存储视频前,删除不包含运动或运动较小的视频帧后进行存储。那么,能够只甄选并存储视频帧中包含运动的帧,即只甄选并存储有意义的帧,因此能够提高存储空间的效率。本发明所提供的方法用于分析实时网络数据包级上的运动,因此不要求编码解码器的变更及信息。此外,不要求解码之后在接收终端上的操作量。这会显著降低与应用程序之间的从属性,从而能够提高适用性及引进的容易性,并且提高可移植性。此外,由于分析的不是数据包所包含的信息,因此即使数据包是被加密的,也能在未解码状态下分析视频。本发明的效果不限于上述效果,本领域技术人员能够清楚理解未提到的其他效果。附图说明图1是用于对现有的视频分析方法进行说明的顺序图。图2是适用本发明之一实施例的以实时视频服务网络数据包的模式分析为基础的运动检测方法的顺序图。图3a至图3b是用于对在适用本发明之一实施例中以帧大小的模式为基础检测运动的过程进行说明的示意图。图4a至图4b是用于对在适用本发明之一实施例中数据包被加密的情况下计算出帧大小的过程进行说明的示意图。图5a至图5b是用于对在适用本发明之一实施例中以帧大小的模式为基准判断运动程度的过程进行说明的示意图。图6是用于对现有视频分析方法中的运动程度和适用本发明之一实施例中的运动程度进行比较说明的示意图。图7a至7c是适用于适用本发明之一实施例的视频分析方法的试验结果进行说明的示意图。图8是用于对在按照本发明所提供的方法删除帧时对现有的视频识别的准确度造成的影响进行说明的示意图。图9是适用本发明之一实施例的以实时视频服务网络数据包的模式分析为基础的视频分析装置的硬件构成图。具体实施方式下面,参照附图对本发明的优选实施例进行详细说明。参照附图的同时参照详细地后述的实施例,本发明的优点及特征以及实现这些的方法将会明确。但是,本发明并不限定于以下所公开的实施例,而是可以以彼此不同的多种方式实现,本实施例仅仅用于完整地公开本发明,并且为了向本发明所属
技术领域
:的技术人员完整地告知本发明的范围而提供的,本发明仅由权利要求的范围定义。在说明书全文中相同的附图标记指相同的结构要素。如果没有其它定义,则在本说明书中所使用的所有用语(包括技术用语及科技用语)能够以本发明所属
技术领域
:的技术人员共同理解的含义使用。另外,在通常使用的词典中定义的用语只要没有被明确地特别定义,就不能理想地或过度地解释。在本说明书中所使用的用语用于说明实施例,并不旨在限制本发明。在本说明书中,单数形式只要在句子中未特别提到就可以包括复数形式。在说明书中使用的“包括(comprises)”和/或“包括(comprising)”所提到的结构要素、步骤、操作和/或元件并不排除一个以上的其他结构要素、步骤、操作和/或元件的存在或附加。下面,将结合附图对本发明进行详细的说明。图1是用于对现有的视频分析方法进行说明的顺序图。如图1所示,视频分析装置在对视频进行监控(s1100)的同时,确认视频数据包是否被加密(s1200)。在被加密时,将首先执行解密(decrypt)的过程(s1250)。接下来,将根据视频的编码解码器执行视频解码(decode)处理(s1300)。通过对视频进行解码,能够对构成视频的图像进行确认。视频实际上是被称之为帧的图像的罗列。30fps的视频,是通过在每1秒依次显示30张图像而实现如动画般的动态视觉效果。因此,通过对构成视频的帧进行分析,能够确认是否包含运动(s1400)。例如,在对连续的两个帧的图像进行比较时,其背景(back-ground)可能相同而只有运动对象的位置或形态发生了变化。通过按照如上所述的方式对图像之间的差异点进行分析,能够掌握有哪个对象发生了运动或发生了哪种运动等(s1500)。接下来,如果视频还没有结束(s1600),则将移动到下一帧并同样对其进行视频分析(s1100)。现有的视频分析(va;videoanalysis)需要强大的计算能力。首先,在对通过网络传送的视频数据包进行解码的过程(s1300)中就需要强大的计算能力。此外,在对视频的图像进行比较的过程(s1400)中同样需要强大的计算能力。此外,如果在通过网络传送视频数据包的过程中为了确保安全而进行加密(encrypt)传送,则在对其进行解密(decrypt)的过程(s1250)中同样需要强大的计算能力。因此,在实时地对视频进行分析和处理的情况下,其处理量将受到限制。此外,因为现有的方法必须经过视频解码过程(s1300),因此会对视频的编码解码器(codec)形成依赖性。即,在用于对视频进行分析的设备无法对视频进行解码的情况下,可能需要安装相应的编码解码器或更换设备。此外,在一部分编码解码器的情况下还有可能产生许可相关的费用。如上所述,现有的视频分析及运动检测方法会在实时处理方面受到一定的限制。即,现有方法中的最大的弱点(weakness)在于,因为过于繁重的视频画面处理和计算而难以实现实时应用。因此,无法在发送端中适用视频分析功能,而只能将其适用于接收端。此外,即使是适用于接收端的视频处理,也难以实现实时处理。例如,现有的视频流技术能够以30fps至60fps对画面进行传送,但是在实际接收的接收终端却无法以30fps至60fps对画面进行处理。现有的视频分析方法基本被限制于3fps至7fps左右的范围。为了解决上述问题,有必要将需要强大计算能力的过程(s1250,s1300,s1400)减至最少。尤其是,如果能够在不执行视频解码过程(s1300)的情况下检测出运动,则不仅能够降低对编码解码器(codec)的依赖性,还能够实现实时视频分析。图2是适用本发明之一实施例的以实时视频服务网络数据包的模式分析为基础的运动检测方法的顺序图。如图2所示,视频分析装置在对视频进行监控(s2100)的同时,确认视频数据包是否被加密(s2200)。上述过程与图1所示的过程相同,但是在本发明中,即使是在视频数据包被加密的情况下也不需要执行对其进行解密(decrypt)的过程(s1250)。取而代之,视频分析装置将以事先设定的帧分析信息为基础对帧进行识别(s2250)。在视频数据包没有被加密的情况下,将从视频数据包中读取帧信息并并识别出对应的帧(s2300)。在不对视频进行解码的情况下也能够执行s2300步骤。即,即使是不对视频进行解码,也能够通过数据包的元标签确认相应的数据包属于哪一帧的数据、由几个数据包组合构成一个帧等。在识别出帧之后,视频分析装置将累加构成帧的所有数据包的大小(size),从而计算出帧的大小(s2400)。数据包的大小是指数据包的字节(byte)大小。即,在为了实时传送视频而对数据包进行罗列之后,能够通过数据包的信息掌握由几号数据包到几号数据包构成一个帧,且通过对构成相应帧的所有数据包的大小进行累加,即可掌握相应帧的大小。但是,帧的大小本身并不包含任何信息。即,因为帧的大小只是单纯的数字,因此帧的大小并不能表示出相应的帧中包括哪种图像、包括哪种背景或前景等。但是,能够通过单纯地对数据包的大小进行累加而简单地计算出帧的大小。在计算出帧的大小(size)之后,视频分析装置将对连续帧之间的大小变化进行计算(s2500)。即,对帧大小的模式进行分析。这同样是单纯地对所罗列数字的模式进行分析的过程,因此相对于在图1中对帧图像进行比较的过程(s1400),只需要极小的计算能力就能够实现。在对帧大小的模式进行分析之后,视频分析装置将借此对运动进行检测(s2600)。此外,与在图1中对运动进行检测的过程(s1500)不同,并不能掌握运动的具体信息。但是,能够掌握是否包含运动或所发生运动的程度。接下来,如果视频还没有结束(s2700),则将移动到下一帧并同样对其进行视频分析(s2100)。关于利用帧大小的模式判断是否包含运动的过程(s2500),将结合图3a至图3b进行更为详细的说明。此外,关于利用帧大小的模式判断所发生运动的程度的过程(s2600),将结合图5a至图6进行更为详细的说明。此外,关于在视频数据包被加密的情况下以事先设定的帧分析信息为基础对帧进行识别的过程(s2250),将结合图4a至图4b进行更为详细的说明。通过对图1和图2进行比较可以发现,在图2中省略了图1中对已加密的视频数据包进行解密(decrypt)的过程(s1250)、对视频进行解码(decode)的过程(s1300)以及对帧图像进行比较分析的过程(s1400)。借此,只需要较少的计算能力就能够检测出运动。对已加密的视频数据包进行解密(decrypt)的过程(s1250),被替换成适用事先定义的帧分析方法的过程(s2250)。而对视频进行解码(decode)的过程(s1300),被替换成计算出帧的大小的过程(s2400)。而对帧图像进行比较分析的过程(s1400),被替换成计算出帧大小的模式的过程(s2400)。如图2所示,本发明所提供的方法只需要较少的计算能力就能够检测出运动,因此不仅能够适用于如cctv等网络摄像头的发送终端中,还能够适用于如现有的视频分析设备等接收终端中。此外,还能够与现有的方法并行使用。在适用于发送终端中时,能够在利用摄像头拍摄视频并实时地通过网络对其进行传送之前,首先检测其中是否包含运动并在删除没有包含运动的帧之后再进行传送。试验结果表明,当摄像头所拍摄时间中的30%左右包含运动而70%左右没有包含运动的视频情况下,通过网络传送的数据量能够减少约50%左右。此外,在适用于接收终端中时,能够在从网络摄像头接收视频并对其进行保存之前删除没有包含运动的帧,从而提升存储空间的存储效率。上述试验结果表明,当数据量减少约50%左右时,如果按照每十亿字节3美分的亚马逊存储费用进行换算,则用于对由100个摄像头拍摄的视频进行保存的总成本,能够从共计4,5000美元降低至共计2,300美元,节省达50%左右。此外,在本发明中所提供的方法还能够与现有的方法并行使用。例如,如果假定高性能(heavycomputing)的对象识别(objectrecognition)设备能够在每秒处理约5fps左右,则在从摄像头所拍摄的30fps视频中删除没有包含运动的帧而仅甄选出包含运动的帧并传递到对象识别设备中时,仅通过对象识别设备的约5fps左右的处理能力,就能够对摄像头所拍摄的30fps的视频进行处理。借此,能够将现有的视频分析设备的性能发挥到最高。此外,因为与编码解码器无关而利用帧大小的模式对运动进行判断,因此能够无关于现有系统中所使用的编码解码器而直接适用。即,因为是在网络级别上以数据包为对象进行工作,因此能够简单地移植到如摄像头等已构建的现有系统的内部。因此,即使是在智能家居的视频安全以及cctv传送相关的解决方案开发阶段也能够简单地适用,还能够以实时品质评估为基础,实现缩短解决方案品质测试期间以及节省解决方案开发成本等效果。总而言之,能够在不降低最为重要的识别率的前提下,提升网络效率并节省存储空间成本。此外,通过对视频的帧进行甄选分析,能够在识别率较差的较低带宽条件下实现更为准确的识别率,还能够克服在低处理速度视频端(即摄像头)中受到的限制。图3a至图3b是用于对在适用本发明之一实施例中以帧大小的模式为基础检测运动的过程进行说明的示意图。通过在传送视频数据包的网络上对数据包进行确认,能够区别出视频帧的开始和结束。这是因为,视频数据包与编码解码器的类型无关,具有用于指示帧结束的标记(marking)。即,即使是不将其解码成视频,也能够对构成帧的数据包进行识别。通过对构成帧的数据包进行识别,能够按照各个帧相加出视频数据包的大小。根据视频编码解码器和压缩相关的原理,视频画面中的运动将与视频数据包的帧的大小具有关联关系。即,视频画面中的运动将对数据包的大小以及帧的大小造成影响。因此,通过对帧的大小变化进行反向分析,能够大致地估算出画面中与运动相关的信息。以图表的形式显示的帧大小如图3a至图3b所示。在图3a至图3b中,横轴代表时间,而纵轴代表帧的大小。图3a是150秒至700秒的帧大小的图表,而图3b是750秒至1300秒的帧大小的图表。如图3a所示,帧的大小规则性地在10,000和20,000之间重复出现。与此相反,如图3b所示,帧的大小主要集中在15,000左右,同时间歇性地出现20,000的帧大小。实际上对视频进行解码分析可以发现,图3a是没有包含运动时的图表,而图3b是包含运动时的图表。可以发现,在实时视频中包含和不包含运动时会呈现出明显的差异。如图3a所示,当画面中没有包含任何运动时,在对没有包含运动的画面进行编码的结果中,帧大小的差异较大。当画面中没有包含任何运动时,因为不知道会在何时发生变化,因此将以较短的时间间隔持续性地对包含整个大小内容的视频画面进行捕获(capture)并保持等待状态。如图3a所示,从150秒直至700秒为止,帧的大小在整个区间内周期性地重复变小和变大。而当发生运动时,将以上述运动为基准,对之后连续的视频帧全部进行压缩和连接。如图3b所示,所生成的视频帧的大小差异将变得较小。在图3b中,大多数帧的大小类似,只有一部分帧的大小较大。帧的大小类似的区间,代表仅发生了一定程度的运动的情况。而帧的大小突然大幅变大的从750秒直至950秒之间的4个帧、从950秒直至1150秒之间的5个帧,代表运动的程度突然变大的情况。如上所述,相对于视频帧的绝对大小,能够利用如视频帧大小的增减、周期以及间隔等模式,能够对运动的发生与否以及程度的差异进行识别和判断。即,能够以如视频帧的大小平均值和分散等统计手段,掌握运动的发生与否以及程度等。将其归纳成表的结果如下。【表1】总而言之,在计算出视频帧的大小之后,如果视频帧的模式为最小值和最大值周期性重复的模式,则判定为没有包含运动。或者,当连续的第1帧的大小和第2帧的大小之间的差异小于临界值(threshold)时,判定为没有包含运动。或者,当分散小于临界值时,判定为没有包含运动。与此相反,当帧大小的模式为在最小值重复出现的过程中仅在一部分帧中呈现出最大值时,判定为包含运动。或者,当连续的第1帧的大小和第2帧的大小之间的差异大于临界值时,判定为包含运动。或者,当分散大于临界值时,判定为包含运动。图4a至图4b是用于对在适用本发明之一实施例中数据包被加密的情况下计算出帧大小的过程进行说明的示意图。在上面的内容中对图2进行说明的过程中,对在数据包被加密时利用事先设定的帧分析方法计算帧大小的过程(s2250)进行了介绍。当数据包没有被加密时,能够通过数据包中所包含的用于指示帧结束的标记而掌握构成帧的数据包,且能够通过相加数据包的大小而计算出帧的大小。但是,当数据包被加密时如果不对其进行解密(decrypt),则无法读取用于指示一个帧结束的标记,因此无法了解哪个数据包到哪个数据包为一个帧。此时,因为无法计算出帧的大小,因此需要一种即使是在数据包被加密的情况下也能够计算出帧大小的方法。为了解决上述问题,能够事先通过机器学习(machinelearning)的方式学习每帧的数据包的数量。即,当因为视频数据包本身被加密而无法掌握帧的开始和结束时,能够利用事先学习的每帧的数据包的数量,将相应数量的数据包识别为视频帧并计算出帧的大小。图4a为通过机器学习的方式对每帧的数据包的数量进行学习的结果。在图4a中,横轴代表每帧的数据包的数量,而纵轴代表帧的大小。如上述图3a至图3b所示,根据是否包含运动,其帧的大小可能具有不同的模式。但是,如图4a所示,即使是帧的大小具有不同的值,构成帧的数据包的数量却呈现出稳定的倾向。如图4a所示,虽然帧的大小具有从0直至7000为止的不同的值,但是构成帧的数据包的数量却呈现出约6个的稳定的状态。实际上,通过计算数据的平均值能够得到6.21个的结果值。即使是在数据包被加密的情况下,虽然数据包的大小可能增加,但是数据包的数量却不会发生变化,因此仍然能够利用上述方式。加密是以数据包为单位执行,而且在进行加密之后的数据包的大小可能会大于进行加密之前的数据包的大小。但是,即使是进行加密处理也不会导致数据包数量的变化,因此利用如图4a所示的机器学习的结果,即使是在加密的情况下也能够计算出帧的大小。总而言之,在数据包没有被加密的情况下,能够利用数据包的内容识别出帧的开始和结束,并通过相加构成相应帧的所有数据包的大小而计算出帧的大小。与此相反,在数据包被加密的情况下,能够利用事先学习的每帧的数据包的数量分割构成帧的数据包,并通过相加所有相应数据包的大小而计算出帧的大小。其中,虽然对数据包进行加密时会导致数据包大小的变化,但是这种变化并不是随机的,而是具有一定的比例关系,所以即使是数据包的大小变大,也能够利用数据包的大小计算出帧的大小,然后再利用帧大小的模式对运动进行检测。即,因为数据包的大小较大时被加密的数据包的大小也会较大,因此即使是在被加密之后,也仍然能够直接适用通过数据包的大小计算出帧的大小,然后再利用帧的大小检测出运动的特征。图4b是在利用与图4a不同的编码解码器对视频进行编码并对其进行加密之后通过网络进行传送的情况下,以图表的形式对帧的大小和数据包的数量之间的关系进行图示的示意图。在图4a中可以发现,与帧的大小无关,其数据包的数量大致均为6.21。但是,图4b是利用与图4a不同的编码解码器的情况,可以发现在图4b中帧的大小和数据包的数量呈现出正比关系。如图4b所示,当将帧的大小设定为x并将各个帧的数据包的数量设定为y时,在x和y之间能够构成y=0.0009x+0.307的比例式。这是通过递归分析(regressionanalysis)得出的值,可以发现关联系数r的乘方值为0.8264,呈现出了非常高的关联程度。如图4a或图4b所示,可以发现根据不同的编码解码器,构成帧的数据包的数量呈现出一定的模式。因此,通过机器学习的方法按照不同的编码解码器学习构成帧的数据包的数量,就能够在数据包被加密传送时利用事先学习的结果计算出构成帧的数据包的数量,并进一步计算出帧的大小。图5a至图5b是用于对在适用本发明之一实施例中以帧大小的模式为基准判断运动程度的过程进行说明的示意图。图5a至图5b是以视频编码器vp8和rtp数据包为基准生成的决策树(decisiontree)。如图5a至图5b所示,以偏差值(deviation)和平均值(average)为基准将运动的程度分成了1.13至3.88。其中,偏差值为dev,平均值为avg。首先对第1号节点进行确认可以发现,以帧大小的偏差值大于或小于2901.93为基准,分成第2号节点和第13号节点。第2号节点为偏差值小于2901.93的情况,在第2节点中将再次以偏差值大于或小于1693.15为基准,分成第3号节点和第10号节点。第3号节点为偏差值小于1693.15的情况,在第3节点中将再次以平均值大于或小于7180.86为基准,分成第4号节点和第9号节点。第4号节点为平均值小于7180.86的情况,在第4节点中将再次以平均值大于或小于6603.64为基准,分成第5号节点和第6号节点。第5号节点为叶节点(leafnode),是偏差值小于1693.15且平均值小于6603.64的情况。在第5号节点中,能够将运动的程度表示为数值3.25。第6号节点为平均值大于或等于6603.64的情况,在第6节点中将再次以偏差值大于或小于559.44为基准,分成第7号节点和第8号节点。第7号节点为叶节点(leafnode),是偏差值小于559.44且平均值大于或等于6603.64但小于7180.86的情况。在第7号节点中,能够将运动的程度表示为数值3.88。第8号节点为叶节点(leafnode),是偏差值大于或等于559.44但小于1693.15且平均值大于或等于6603.64但小于7180.86的情况。在第8号节点中,能够将运动的程度表示为数值3.55。第9号节点为叶节点(leafnode),是偏差值小于1693.15且平均值大于或等于7180.86的情况。在第9号节点中,能够将运动的程度表示为数值2。第10号节点为偏差值大于或等于1693.15的情况,在第10节点中将再次以偏差值大于或小于1825.78为基准,分成第11号节点和第12号节点。第11号节点为叶节点(leafnode),是偏差值大于或等于1693.15但小于1825.78的情况。在第11号节点中,能够将运动的程度表示为数值2.59。第12号节点为叶节点(leafnode),是偏差值大于或等于1825.78但小于2901.93的情况。在第12号节点中,能够将运动的程度表示为数值2.15。第13号节点为偏差值大于或等于2901.93的情况,在第13节点中将再次以偏差值大于或小于3458.9为基准,分成第14号节点和第19号节点。第14号节点为偏差值大于或等于2901.93但小于3458.9的情况,在第14节点中将再次以平均值大于或小于6427.28为基准,分成第15号节点和第18号节点。第15号节点为平均值小于6527.28的情况,在第15节点中将再次以平均值大于或小于6320.53为基准,分成第16号节点和第17号节点。第16号节点为叶节点(leafnode),是偏差值大于或等于2901.93但小于3458.9且平均值小于6320.53的情况。在第16号节点中,能够将运动的程度表示为数值1。第17号节点为叶节点(leafnode),是偏差值大于或等于2901.93但小于3458.9且平均值大于或等于6320.53但小于6427.28的情况。在第17号节点中,能够将运动的程度表示为数值3.25。第18号节点为叶节点(leafnode),是偏差值大于或等于2901.93但小于3458.9且平均值大于或等于6427.28的情况。在第18号节点中,能够将运动的程度表示为数值1.59。第19号节点为叶节点(leafnode),是偏差值大于或等于3458.9的情况。在第19号节点中,能够将运动的程度表示为数值1.13。在上述内容中,对图5a至图5b中的决策树进行了说明。将对图5a至图5b中的各个节点的条件以及运动程度整理成表的结果如下述表2所示。【表2】通过如上所述的机器学习,视频分析装置能够事先按照不同的编码解码器对帧的大小以及构成帧的数据包的数量进行学习。此外,视频分析装置能够按照不同的编码解码器,以平均值和偏差值为基准以数字方式提供运动程度。但是,上述内容仅为用于帮助理解的示例性内容,图4a至图4b以及图5a至图5b中的实例可能根据编码解码器而有所不同。简单来讲,利用帧大小的平均值和偏差值区分是否包含运动,接下来在包含运动时利用帧大小的平均值和偏差值提供对运动程度进行数值化的值,从而能够在部对视频进行解码且不对图像进行比较的情况下,也能够仅利用数据包和较少的计算能力快速掌握运动相关的各种信息。图6是用于对现有视频分析方法中的运动程度和适用本发明之一实施例中的运动程度进行比较说明的示意图。在图6中,对在现有的方式中通过对视频进行解码并对帧的图像进行比较而检测出运动并对运动的程度进行判断的结果(groundtruth),以及在利用本发明所提供的方式中仅以帧的大小为基准检测出运动并对运动的程度进行判断的结果进行了比较。如图6所示,两个结果保持了几乎相同的脉络,并没有呈现出太大的差异。对每一秒的包含运动与否及其运动的程度进行数值化以及比较可以发现,虽然结果没有太大的差异,但是本发明所提供的方法与现有的方法相比,具有能够以较少的计算能力快速得到结果的优点。图7a至7c是适用于适用本发明之一实施例的视频分析方法的试验结果进行说明的示意图。图7a是以实际的cctv视频为例对其适用本发明所提供的视频分析方法的结果进行整理的表格。通过图7a的关联系数(correlationcoefficient)可以发现,其结果呈现出了73.79%的准确度。上述准确度的有效程度,能够通过图7b进行确认。图7b是对视频分析的准确度及其意义进行整理的表格。通常,当视频分析中的准确度在51~60之间时,将判定为合理(reasonable)等级或可接受(acceptable)等级。此外,当准确度在60~70之间时,将判定为适当(moderate)等级。此外,当准确度在70~80之间时,将判定为良好(good)等级。此外,当准确度在80~90之间时,将判定为非常高(veryhigh)等级。此外,当准确度在90以上时,判定为优秀(excellent)等级。本发明所提供的方法能够达到73%左右的准确度,属于良好(good)等级。因为能够在不对视频进行解码的情况下仅通过对帧的数据包进行分析即可得到上述等级的准确度,因此可以说是非常优秀的性能。此外,因为不需要大量的计算能力,因此通过与现有的发送端的摄像头或接收端的分析装置结合使用而将其作为适用现有方法之前的预处理过程,还能够进一步提升现有的视频分析方法的效率。图7c中给出了没有进行加密的情况(open)下的准确度和进行加密的情况(encryption)下的准确度。在通过网络进行传送的视频数据包被加密的情况下,无法直接通过数据包的内容掌握帧的开始和结束。此时,能够通过使用者自定义的方式接收用户所输入的视频编码解码器以及传送属性,并读取(loading)与此对应的已事先完成机器学习的模式,从而使用每帧的数据包的数量。借此,即使是无法直接通过数据包掌握帧的开始和结束,也能够利用机器学习的每帧的数据包的数量计算出帧的大小并执行所需的模式分析操作。如图7c所示,相对于未加密的情况,在加密的情况下其准确度平均下降了4~5%,但是仍然呈现出了非常高的准确度。尤其是,本发明所提供的方法即使是在数据包被加密的状态下,也能够在不进行解密(decrypt)的情况下对帧进行分析。因此,如果考虑到能够节省在解密过程中所消耗的成本,可以说67.03~70.73%的准确度仍然是非常高的数值。如果与未加密的情况下的71~74%的准确度相比,能够对应于约94%左右的准确度。本发明所提供的方法,是一种能够仅通过数据包在网络上判断视频帧中是否包含运动的方法。借此,能够通过在传送数据包之前丢弃(drop)一部分帧并进行传送,从而减少其传送量,或者能够通过在传送数据包之后丢弃一部分帧并进行存储,从而提升其存储效率。但是,如果对没有包含运动的帧进行删除之后再利用现有的方法对视频进行分析,则不应因为帧的删除而导致准确度下降的问题。下面,将结合图8对当将本发明所提供的方法作为现有方法的预处理进行使用时,对现有方法的准确度造成的影响进行说明。图8是用于对在按照本发明所提供的方法删除帧时对现有的视频识别的准确度造成的影响进行说明的示意图。删除越多的视频帧,其信息量就变得越少。而且,这会进一步导致准确度的下降。在图8中,横轴代表帧的去除率(reductionrate),而纵轴代表准确度(qorscore)。如图8所示,删除越多的帧,其准确度就变得越小,直至达到0。如果将准确度目标设定为图7b中的良好(good)等级,则只需要保持70~80%左右的准确度即可。对图8中70~80%的准确度区间进行确认可以发现,删除约68%左右的帧也能够确保70%的准确度。即,即使是将本发明与现有的视频分析方法进行并行使用,也不会对准确度造成太大的影响。总而言之,现有的视频分析方法的视频处理能力被限制在约5fps左右。但是,如果利用本发明所提供的方法事先判断其是否包含运动并删除无效的帧,即使是删除68%左右的帧也能够保持良好(good)等级。因此在约15fps进行拍摄的网络摄像头中,即使是最多删除68%的帧并将约5fps传递到原有的视频分析装置,也不会对其准确度造成太大的影响,而且还能够提升视频分析效率。此外,还能够在不对准确度造成影响的同时,提升发送端的网络传送效率和接收端的存储效率。上面,结合图2至图8对本发明所提供的以实时视频服务网络数据包的模式分析为基础的视频分析方法进行了说明。利用本发明所提供的方法,能够在接收端显著减少所需的计算量,从而降低产品的价格并借此提升产品的竞争力。此外,与编码解码器的类型无关,能够适用于发送端或接收端。此外,因为仅利用网络的数据包信息,因此其可适用性以及可移植性较高。此外,因为能够删除不需要的视频帧,因此能够减少网络传送量并提升存储装置的效率性。图9是适用本发明之一实施例的以实时视频服务网络数据包的模式分析为基础的视频分析装置的硬件构成图。如图9所示,本发明所提供的以实时视频服务网络数据包的模式分析为基础的视频分析装置10,能够包括一个以上的处理器510、内存520、存储装置560以及接口570。处理器510、内存520、存储装置560以及接口570是通过系统总线550进行数据的接收和发送。处理器510用于执行被加载(load)到内存520中的计算机应用程序,而内存用于从存储装置560加载(load)上述计算机应用程序。上述计算机应用程序,能够包括视频数据包收集操作(未图示)、帧大小计算操作521以及运动检测操作523。首先,视频数据包收集操作(未图示)通过接口570接收从摄像头实时穿送过来的视频数据包,并将其作为存储装置560的视频数据包561进行存储。帧大小计算操作521通过系统总线550将存储在存储装置560中的视频数据包561读取到内存520中。接下来,在数据包没有被加密时,通过数据包的信息查找指示帧的开始和结束的标记。接下来,借此甄选出属于一个帧的数据包,并通过相加所甄选出的所有数据包的大小而计算出帧的大小。帧大小计算操作521在视频数据包561被加密的情况下,读取事先按照不同的编码解码器进行机器学习的结果563,并确认相应的编码解码器中的一个帧包括几个数据包。接下来,通过相加相应数量的数据包的大小而计算出帧的大小。运动检测操作523通过帧的大小生成平均值和偏差值等统计信息。此外,对帧大小的模式进行分析。帧大小的模式是指帧大小的最小值、最大值、周期等。利用帧大小的模式,判断其中是否包含运动。此外,运动检测操作523在需要时能够为了确认上述运动的程度,利用按照相应的编码解码器事先进行机器学习的决策树对上述运动的程度进行数值化。在以实时视频服务网络数据包的模式分析为基础的视频分析装置10与用于拍摄视频的摄像头等发送端结合的情况下,运动检测操作523将根据其结果删除没有包含运动的帧,并通过网络仅将包含运动的帧传送到原有的视频分析装置中。此外,在以实时视频服务网络数据包的模式分析为基础的视频分析装置10与用于通过网络实时接收并分析视频的装置结合的情况下,在适用现有的视频分析方法之前,作为预处理步骤删除没有包含运动的帧并仅将包含运动的帧传送到分析装置,从而提升其视频分析效率。此外,能够通过仅保存包含运动的帧而提升存储空间的效率。图9中所图示的各个构成要素,能够代表软件(software)或如现场可编程门阵列(fpga;fieldprogrammablegatearray)、特定用途集成电路(asic;application-specificintegratedcircuit)等硬件(hardware)。但是,并不是指上述构成要素被限定为软件或硬件,还能够被保存在可寻址(addressing)的存储媒介中,也能够用于执行一个或多个过程。在上述构成要素中所提供的功能也能够通过更加细分化的构成要素实现,还能够将多个构成要素整合为一体而实现用于执行特定功能的单一的构成要素。以上参照附图对本发明的实施例进行了说明,但本发明所属
技术领域
:的技术人员应能理解,本发明可在不改变本发明的技术思想或必要特征的情况下以其他具体方式实施。因此,应理解以上所述的实施例在所有方面为示例性的而不是限定性的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1