专利名称:一种用于网络视频监控中检测视频遮挡的方法
技术领域:
本发明涉及视频监控领域,具体涉及一种用于网络视频监控中检测视频遮 挡的方法。
背景技术:
随着社会信息化程度的不断提高,社会各行各业需要实施远程视频监控的 范围大大增加,由传统的安防监控向管理监控和生产经营监控发展。而且视频监控技术也经历了本地模拟视频监控、基于PC的多媒体监控、以及现在流行的 基于Web服务器的远程视频监控,即网络视频监控。但是不管用于什么场合,采用什么技术,对于视频监控而言,都要从图像 采集设备获得视频源, 一旦视频源出现问题, 一切均是枉然。要保证视频监控 能达到预期的目的,首先就得保证能正确地获得-f见频源,因此,及时检测到4见 频被恶意遮挡是一个不容忽视的问题。发明内容本发明的目的是提出 一种用于网络视频监控中检测视频遮挡的方法,用以 快速而准确4企测视频是否发生遮挡。为了实现上述发明目的,本发明具体是这样实现的一种用于网络视频监控中检测视频遮挡的方法,包括如下步骤步骤l,获得第一参考帧;步骤2,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是, 则进入步骤3,否则,重复步骤2;
步骤3,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是,则重复步骤3,否则,进入步骤4;步骤4,用步骤3获得的图像帧与第一参考帧做差分,得到运动区域,并将 所述图像帧存储,作为第二参考帧,并获得一设定的参考值;步骤5,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是, 则进入步骤3否则,进入步骤6;步骤6,用步骤5中获得的图像帧上的相关运动区域与第二参考帧上对应的 运动区域做差分,得到发生运动的宏块数,将得到的宏块数与设定的第一阈值 比较,超过阈值则转入步骤2,否则,转入步骤7;步骤7,获得所述步骤5中得到的图像帧的参考值,将该参考值与步骤4获 得的参考值累加,将累加值与设定的第二阈值进行比较,没有超过阈值,则转 入步骤5,否则,视频发生遮挡,对累加值清零。所述的用于网络视频监控中检测视频遮挡的方法,还包括步骤8,将所述步骤5中获得的非I图像帧与第一参考帧进行比较,获得发 生运动的区域,计算出该区域中每个宏块的亮度均值,取其中一亮度均值作为 样本值与其他均值求差的绝对值,若所有的绝对值都不超过设定的第三阀值, 则视频发生遮挡,否则,视频发生运动。所述的用于网络视频监控中检测视频遮挡的方法,所述步骤4中,具体是 这样实现的计算所述步骤3中获得的图像帧的宏块与第一参考帧对应的宏块中的象素 亮度差的绝对值,若得到的绝对值与设定的阀值Ti比较,若大于阀值,则相应 的象素发生运动,进而判定宏块发生了运动,得到运动区域,否则,图像帧没 有发生运动。接上方案,在得到象素发生运动后,还可进行如下处理判断发生运动的 象素数是否大于设定的阀值T2,若大于,则对应的宏块发生了运动,以此得到 运动区域,否则,图像帧未发生运动。
所述的用于网络视频监控中检测视频遮挡的方法,所述步骤3中,从编码器中获得图像帧的运动矢量;所述步骤4具体是这样实现的计算基于每个宏块的数据块的运动矢量的 绝对值是否大于阀值TV,若大于,则相应的数据块发生运动,则对应的宏块发 生运动,以此得到运动区域,否则图像帧未发生运动。所述的用于网络视频监控中检测视频遮挡的方法,判断每个宏块中发生运 动的数据块个数是否大于阀值T2',若大于,则对应的宏块发生运动,以此得到 运动区域,否则图像帧未发生运动。所述的用于网络视频监控中检测视频遮挡的方法,其中每4个宏块取一个 宏块来计算,在每个宏块中每4个象素点取1个,在一个宏块中采用4x4个象 素点计算亮度均值。本发明所述方法结合视频编码,在进行视频监控时对视频遮挡进行检测, 由于本发明釆用多个检测步骤给予保障,故出现漏报和误报的几率大大减小, 增加了检测的准确性。本发明是直接从编码器获得图像帧的信息,且不需要对 检测期间的所有图像帧进行比较,只对运动区域进行比较,故大大降低了 CPU 的占有率。
图1是本发明用于网络视频监控中检测视频遮挡的方法的流程图; 图2是遮挡发生初始的一种情况; 图3是遮挡发生过程中的一种情况; 图4是遮挡发生后的一种情况; 图5是遮挡发生后的另一种情况。
具体实施方式
本发明所述方法的主要技术思想是结合视频编码,对视频监控中是否存在
恶意遮挡给予检测,直接从编码器中获得图像帧的信息,只对其中的运动区域 进行比较,以此获得视频是否被遮挡。如图1所示为本发明所述方法的主要步骤如下 步骤l,获得第一参考帧&;步骤2,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是, 则进入步骤3,否则,重复步骤2;步骤3,继续从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若 是,则重复步骤3,否则,进入步骤4;步骤4,用步骤3获得的图像帧与第一参考帧做差分,得到运动区域,并将 该图像帧予以存储,作为第二参考帧R2,获得一设定的参考值;步骤5,继续从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若 是,则转入步骤3,否则,进入步骤6;步骤6,用步骤5中获得的图像帧上的相关运动区域与第二参考帧上对应的 运动区域做差分,得到发生运动的宏块数,将得到的宏块数与设定的第一阈值 比较,超过阈值则转入步骤2,否则,转入步骤7;步骤7,获得所述步骤5中得到的图像帧的参考值,将该参考值与步骤4获 得的参考值累加,将累加值与设定的第二阈值进行比较,没有超过阈值,则转 入步骤5,否则,视频发生遮挡,对累加值清零,并转入步骤8。步骤8、进行遮挡校验,并根据校验信息决定是否上报发生遮挡。下面结合附图对本发明所述方法的具体实施方式
进行详细说明。5101, 获取第一参考帧Rj。第一参考帧Ri的获取间隔时间较长,可以是几分钟,有时可能间隔几十分 钟更新一次背景,即获取第一参考帧R"5102, 从编码器获得一图像帧的帧类型信息,判断该帧是否为I帧,若是I 帧,则将该图像帧记为Fn,转入下一步,否则,重复S102。如图2所示, 一旦发生遮挡,图像帧的变化非常大,此时编码器不再作帧间编码,则当前图像帧Fn是I帧,因此如果从编码器中获取的图像帧是I帧, 则可能会发生视频遮挡,继续获得下一图像帧F^的帧类型信息,如图3所示, 该帧变化依然比较大,不能断定发生了遮挡,继续从编码器中获取图像帧Fn+2, 如图4所示,Fw与Fn+!的情况类似均是I帧,但也不能断定发生了遮挡。5103, 继续从编码器中获得图像帧的帧类型信息,判断该帧是否为I帧,若是,则重复S103,否则,将该图像帧记为Fn+3,转入下一步。5104, 将图像帧Fn+3与第一参考帧R^乍差分获得运动区域Recl,如图4中 黑色部分所示。在获得运动区域的过程中,是以宏块为单位进行。即计算Fw的宏块与第一参考帧Ri对应的宏块中的象素亮度差的绝对值,若得到的绝对值与阀值T,比较,若大于阀值,则相应的象素发生运动,为了避免噪声对图像运动的影响,进而判断发生运动的象素数是否超过阀值T2,若超过,则对应的宏块发生了运动,以此确定运动区域。同时,还需将帧Fn+3存储起来作为第二参考帧R2,并获得一参考值。考虑到实际情况会比较复杂,为了提高检测的准确性,可以多获得几个非I帧的图像帧后再进行检测,取靠后获得的非I帧的图像帧与第一参考帧R i进行差分获得运动区域。若采用运动矢量来获得运动区域,则在从编码器中获得图像帧时,不但要 获取帧类型信息,还要获得该帧的运动矢量。以宏块为单位进行运动区域计算,采用H.264编码器,该编码器支持4x4类型的分块方式,每个宏块中有16个4x4 的数据块,计算基于数据块的运动矢量的绝对值是否超过阀值TV,若超过,则 相应的数据块发生运动,为了避免噪声对图像运动的影响,进而判断一个宏块 中发生运动的数据块的个数是否大于阀值TV,若大于,则相应的宏块发生运动, 进而确定运动区域。5105, 继续从编码器中获得图像帧,判断该帧是否为I帧,若是,则进入 S103,否则,将该图像帧记为Fn十4,转入下一步。 5106, 将图像帧Fn+4的相关区域Recl ( S104中获得的运动区域)与第二参 考帧R2相对应区域(S104中获得的运动区域)做差分,获得发生运动的宏块数, 将该计数与设定的第一阈值T3做比较,若大于阀值,则表示是伪遮挡,转到S102 重新开始执行,否则,则转入S107。由于可能会出现如图4所示的意外情况,第一阈值T3的设定在不影响检测 精度的情况下尽可能设大点。5107, 获得S105中得到的图像帧的参考值,将该值与S104得到的参考值 相加并与第二阈值T4比较,若超过,则可能发生遮挡,将累加的参考值清零, 转入S108,否则,转入S105。为了提高检测准确性,可以间隔几帧做一次处理(例如,S106中的进行运动区域计算的图像帧,可以是S105中获取的第1个、2个、4个或8个.......非I帧),只需将相应的参考值适当增大即可。为了提高遮挡的检测准确度还可补充如下步骤S108,将最后累加参考值超过阈值T4的那一帧与第一参考帧进行比较,获 得运动区域Rec2。由于发生遮挡的时候运动区域的空间相关性非常的强,所以每4个宏块取 一个宏块来进行处理是完全可行的,不会影响最终结果。每个宏块中又每4个 像素点取一个,即一个宏块共4x4个像素点求均值。完成计算运动区域中每个 宏块的亮度均值运算后,取其中一个均值作为样本值与其他均值求差的绝对值。 当所有的绝对值均不超过阈值Ts时,则表明该运动区域的亮度值相差不大,就 说明发生了遮挡,上报发生遮挡,反之,不上报,转入S102,说明只是其他情 况引起的,例如转动摄像头再停下的情况,如果不进行该校验步骤就会对这种 情况产生遮挡报警。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保 护范围之内。
权利要求
1、一种用于网络视频监控中检测视频遮挡的方法,其特征在于包括如下步骤步骤1,获得第一参考帧;步骤2,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是,则进入步骤3,否则,重复步骤2;步骤3,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是,则重复步骤3,否则,进入步骤4;步骤4,用步骤3获得的图像帧与第一参考帧做差分,得到运动区域,并将所述图像帧存储,作为第二参考帧,并获得一参考值;步骤5,从编码器获得图像帧的帧类型信息,判断该帧是否为I帧,若是,则进入步骤3,否则,进入步骤6;步骤6,用步骤5中获得的图像帧上的相关运动区域与第二参考帧上对应的运动区域做差分,得到发生运动的宏块数,将得到的宏块数与设定的第一阈值比较,超过阈值则转入步骤2,否则,转入步骤7;步骤7,获得所述步骤5中得到的图像帧的参考值,将该参考值与步骤4获得的参考值累加,将累加值与设定的第二阈值进行比较,没有超过阈值,则转入步骤5,否则,视频发生遮挡,对累加值清零。
2、 如权利要求1所述的用于网络视频监控中检测视频遮挡的方法,其特征 在于,还包括步骤8,将所述步骤5中获得的非I图像帧与第一参考帧进行比较,获得发 生运动的区域,计算出该区域中每个宏块的亮度均值,取其中一亮度均值作为 样本值与其他均值求差的绝对值,若所有的绝对值都不超过设定的第三阀值, 则视频发生遮挡,否则,视频发生运动。
3、 如权利要求1或2所述的用于网络视频监控中检测视频遮挡的方法,其 特征在于,所述步骤4中,具体是这样实现的计算所述步骤3中获得的图像帧的宏块与第一参考帧对应的宏块的象素亮度差的绝对值,若得到的绝对值与设定的阀值Ti比较,若大于阀值,则相应的象素发生运动,进而判定宏块发生了运动,得到运动区域,否则,图像帧没有 发生运动。
4、 如权利要求3所述的用于网络视频监控中检测视频遮挡的方法,其特征在于,在得到象素发生运动后,进一步进行如下处理,判断发生运动的象素数是否大于设定的阀值T2,若大于,则对应的宏块发 生了运动,以此得到运动区域,否则,图像帧未发生运动。
5、 如权利要求1或2所述的用于网络视频监控中检测视频遮挡的方法,其 特征在于,所述步骤3中,从编码器中获得图像帧的运动矢量; 所述步骤4具体是这样实现的计算基于每个宏块的数据块的运动矢量的绝对值是否大于阀值Tr,若大于, 则相应的数据块发生运动,则对应的宏块发生运动,以此得到运动区域,否则 图像帧未发生运动。
6、 如权利要求5所述的用于网络视频监控中4企测视频遮挡的方法,其特征 在于,判断每个宏块中发生运动的数据块个数是否大于阀值T2',若大于,则对应的宏块发生运动,以此得到运动区域,否则图像帧未发生运动。
7、 如权利要求2所述的用于网络视频监控中检测视频遮挡的方法,其特征 在于,每4个宏块取一个宏块来计算,在每个宏块中每4个象素点取1个,在一 个宏块中采用4x4个象素点计算亮度均值。
全文摘要
本发明提出一种用于网络视频监控中检测视频遮挡的方法包括,获得第一参考帧;从编码器获得当前帧是否为I帧的信息,如果是连续的I帧表示为大运动而非遮挡;从第一个非I帧开始与第一参考帧相比获得变化区域,且将当前帧作为第二参考帧,记下一参考值;如果后续帧均为非I帧,则用所述变化区域的对应区域与第二参考帧作比较,获得其运动信息,记下另一参考值,将两个参考值累加后超过设定的阈值则报警;如果后续帧又有I帧,则累加的参考值清零再重复。本发明是直接从编码器获得图像帧的信息,且不需要对检测期间的所有图像帧进行比较,只对运动区域进行比较,故大大降低了CPU的占有率,且很好地检测到遮挡,减少误报和漏报。
文档编号G06T7/20GK101119480SQ200710145468
公开日2008年2月6日 申请日期2007年9月13日 优先权日2007年9月13日
发明者鑫 佟, 帅 刘, 刘军莉, 张良平, 段新平, 军 陈 申请人:中兴通讯股份有限公司