摘要:介绍了采用TechWell公司的TW2834芯片实现运动检测的软硬件设计方法,给出了用TW2834实现运动参数检测的设计要点,同时对应用SST89E516RD2单片机和TW2834进行运动检测的优点进行了分析总结。
关键词:视频监控;运动检测;TW2834;SST89E516RD2
0 引言
视频监控系统是物联网安全防范系统的重要组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、准确、及时和信息内容丰富而广泛应用于电力系统的变电站、交通运输、超市防盗、军事安全、小区安防等诸多领域。
视频监控系统在人们日常生活中的广泛使用,大大提高了生产效率,同时也提高了公共环境的安全防护效果。20多年来,视频监控系统经历了从第一代百分之百的模拟系统,到第二代部分数字化的系统,再到第三代完全数字化的系统以及现代物联网技术的发展演变。其实,在第三代视频监控系统中,智能化技术就已经渗透到视频监控系统中,如运动图像的检测就有利于可疑活动的判断,从而及时告知监控中心。因此,运动检测的研究,对于视频监控系统的研究和完善,具有重要的参考意义和实用价值。
1 运动检测
运动分析与估计是数字视频处理的基本内容,也是视频处理研究的难点和热点。目前,用于运动检测的方法有图像序列差分法、块匹配算法、光流法等。其中,图像序列差分法分为帧间差分法和背景差分法两种算法,本文基于TW2834的运动检测方法就是基于背景差分法实现的。
2 T772834的运动参数检测
2.1 屏蔽区域和检测区域
基于TW2834实现的运动检测算法使用全屏视频数据并检测每个单元(以16X12像素为单元)的运动状况。用于运动检测的全屏视频数据由每行704个像素组成,NTSC格式的视频为240行,PAL格式的视频为288行。在水平方向的起始像素个数可通过MD_ALIGN寄存器设置为0~15的某个值。每个检测单元可以通过MD_MASK寄存器设置是否屏蔽。当对应单元的屏蔽位被设为1时,则该单元不做运动检测。MD_MASK寄存器在读模式和写模式下有不同的功能。在写模式下,设置MD_MASK为1,则对应的单元不做运动检测;在读模式下,MD_MASK寄存器则根据MASK_MODE寄存器的不同值提供两类信息。当MASK_MODE=1时,MD_MASK寄存器提供检测单元的屏蔽信息;当MASK_MODE=0时,MD_MASK寄存器提供检测单元的运动检测结果,MD_MASK=1表示对应的检测单元有运动,否则没有运动。
2.2 灵敏度控制
运动检测单元通过4个灵敏度参数来控制运动检测的阈值,通过MD_LVSENS寄存器可设置亮度灵敏度,通过MD_SPSENS寄存器和MD_CELSE NS寄存器可设置空间灵敏度,而通过MD_TMPSENS寄存器则可设置时间灵敏度。
内置的运动检测算法可通过当前场和参考场的亮度差来判断是否有运动发生。当亮度差大于MD_LVSENS的值时,表示已检测到运动。运动检测单元的灵敏度随MD_LVSENS值的减小而增强,但是,如果MD_LVSENS的值太小,则运动检测模块的抗干扰能力会减弱。
由于运动检测仅通过亮度差来判断,因此,抗空间随机噪声的能力很差。为了防止由于随机噪声而引起的运动检测错误,TW2834使用了空间滤波器。MD_SPSENS定义了一场视频检测到运动的运动检测单元的个数。增大MD_SPSENS的值,可以增强空间随机噪声的抗干扰能力。每一个检测单元有4个子单元,每个检测单元是否检测到运动取决于其4个子单元。MD_CELSENS定义了被检测单元检测到运动时的子单元检测到运动的个数。同样,增大MD_CELSENS的值,可以提高视频小区域内的抗空间随机噪声的能力。
时间滤波器用于滤除时间随机噪声引起的虚假运动,MD_TMPSENSE滤波器用于控制时间灵敏度,增大MD_TMPSENS的值可以增强抗时间随机噪声的能力。
2.3 速度控制
运动的物体具有不同的速度,较快的运动物体在相邻场视频出现和消失的速度比较快,反之,速度则慢。由于内置的运动检测算法仅根据相邻场的亮度差来判断,因此,较快的运动物体相对比较慢的运动物体更利于运动的检测。为了解决这个问题,MD_SPEED参数可以将用于运动检测的相邻场视频增加到64场。MD_SPEED参数设置用于亮度比较的两场视频的间隔。因此,对于较快的运动物体,MD_SPEED需要设置得较小,而较慢的运动物体则需要设置得较大。MD_SPEED的值必须比MD_TMPSENS的值要大。另外,TW2834用1个参数控制参考场的选择。MD_FLD寄存器是一个场的选择参数,如奇数、偶数、任何场或帧等。MD_REFFLD寄存器用于控制更新参考场的周期。MD_REFFLD=0时,当前场与参考场的间隔始终为MD_SPEED的值,也就是说,参考场随每场视频的变化而更新。MD_REFFLD=0时,当前场与参考场的关系如图1所示。
当MD_REFFLD=1时,参考场只是在MD_SPEED所指示的时间间隔才更新参考场。在这种情况下,TW2834可以在一定的灵敏度检测不同速度的运动物体。MD_REFFLD=1时,当前场与参考场的关系如图2所示。
TW2834通过MD_STRB_EN和MD_STRB寄存器来控制参考场/帧的更新时间。MD_STRB_EN=0时,参考场/帧自动更新并保存;MD_STRB_EN=1时,参考场/帧只有当MD_STRB=1时才能被更新和保存。
3 基于TW2834的运动检测设计
3.1 基于TW2834运动检测的硬件设计
通过微处理器与TW2834相结合的方法实现运动检测,具有硬件结构简单、编程灵活等特点,可以根据检测环境的变化改变单片机的控制程序,从而使系统具有较强的适应性。
在利用TW2834实现运动检测的系统中,单片机与TW2834的硬件连接电路如图3所示。
TW2834通过NMIRQ管脚提供中断请求。当检测到运动图像时,TW2834将NMIRQ管脚的电平置低直到相应的控制寄存器被清零。通过向中断清除寄存器IRQCLR_NOVID、IRQCLR_MDBD的对应位写入高电平,可清除中断请求。主机在清除IRQCLR_NOVID、IRQCLR_MDBD寄存器之前,可通过读取该寄存器的值来判断中断请求,从而判断是否检测到运动图像。如果需要屏蔽中断请求,则可以通过IRQENA_NOVID、IRQENA_MOTION和IRQENA_BLIND寄存器屏蔽相应的中断请求。
3.2 基于TW2834运动检测的软件设计
实现运动检测需要对TW2834进行运动检测的速度、灵敏度、检测区域及屏蔽区域等参数进行设置。因此,运动检测模块分为速度控制子模块、灵敏度控制子模块、检测/屏蔽区域控制子模块、视频检测查询子模块等几个子模块。各子模块的功能如下:
速度控制子模块主要根据系统对运动检测物体的初始速度要求,来设置TW2834的速度控制参数,使运动检测的速度参数适合待检测物体的速度要求。
灵敏度控制子模块可根据检测系统对检测目标灵敏度的要求来设置TW2834的灵敏度参数,即TW2834的时间灵敏度和空间灵敏度参数。
检测/屏蔽区域控制子模块用于设置运动检测目标的检测区域和屏蔽区域,以选择感兴趣的检测区域,屏蔽不关心是否运动的区域。
视频检测查询子模块:由于TW2834通过NMIRQ提出的中断请求可能是检测到运动或视频丢失等原因导致,因此,通过查询相关的寄存器确定引起中断的原因。
在运动检测系统中,TW2834的NMIRQ与单片机(本文选用SST89E516RD2单片机)的P4.2相连,即与单片机的外部中断3(INT3)相连。因此,当TW2834向单片机发出中断请求时,将运行外部中断3的中断服务子程序。在中断服务子程序中,系统通过视频检测标志位(mt_det)告知主系统TW2834提出了中断请求。实现运动检测的程序框图如图4所示。
4 基于TW2834运动检测的优点分析
通过对TW2834实现运动检测的分析以及和其它实现运动检测方法的对比,可以看出,运用TW2834实现运动检测的方法具有以下优点:
(1)实时性好。TW2834实现运动检测的算法是基于背景差分的检测算法,背景差分算法属于图像序列差分法。在目前用于运动检测的算法中,图像序列差分法具有最好的实时性。因此,运用TW2834实现运动检测的方案具有实时性好的优点。
(2)参考背景自动更新。由于利用TW2834进行运动检测的参考帧是当前帧之前的某一帧,其值可以通过寄存器进行设置,因此,利用TW2834实现运动检测的方案参考背景具有自适应性。
(3)抗噪声能力强。TW2834可根据监控环境的噪声大小设置不同的灵敏度参数,以适应环境的变化。因此,环境适应性较好,抗噪声性能较强。
(4)可检测不同运动速度的物体。通过速度控制参数的设置,可以使该系统适用于不同运动速度物体的检测,因而克服了三帧差分法对慢速运动物体检测困难的问题。
(5)可屏蔽不关心检测区域。通过对检测/屏蔽区域的控制设置,可以使该运动检测系统对不关心的区域不予检测,因而比较适用于背景区域具有某种固有运动的检测场合。
(6)硬件电路简单。TW2834内部具有视频解码模块,可直接输入模拟视频。同时,TW2834内部也具有视频编码模块,故可直接输出模拟视频。本方案相对于利用DSP实现运动检测的方案,不需要外接视频解码芯片和视频编码芯片,因此,实现运动检测具有硬件结构简单的特点。
(7)软件开发简单。本方案可通过控制TW2834的寄存器实现运动检测,而不需要编写运动检测算法。因此,实现运动检测的软件开发比较简单。
(8)成本低。本方案实现运动检测不需要外接视频解码芯片和视频编码芯片,硬件成本低。同时,系统软件编写简单,软件开发费用相对较低。因此,本方案实现运动检测具有开发成本低的优点。
5 结语
本文采用TW2834实现运动检测的方法具有实时性好、参考背景可自动更新、硬件电路和软件开发简单、成本低等优点。本文提出的运动检测实现方法,对视频监控系统的进一步完善和研究具有重要的参考价值。