视频分析的制作方法

文档序号:7713732阅读:228来源:国知局
专利名称:视频分析的制作方法
技术领域
本公开涉及一种用于高效地执行视频分析操作的方法、相应的计 算机程序和照相机。
背景技术
视频分析或视频内容分析涵盖从视频运动检测和音频检测到更
先进的系统(包括照相机擅改(tampering)检测、人员计数、检测 物体穿过感兴趣的线或区域、车辆牌照识别、将视频分成前景部分和 背景部分、跟踪目标、交通分析、元数据提取、生物测定应用、以及 人脸识别)。视频分析还使得监视系统更加智能,以将大量的图像数 据减少到可管理的水平。智能视频监视系统例如可以实时地自动分析 监视视频并对监视视频加标签,检测可疑活动,启动视频记录,激活 警报或其它动作以警告操作员或其他人员。
在监视应用中,常常使用视频分析来检测运动。运动检测是通过 分析图像数据来定义场景中的活动的一种方式,并可以对监视照相机 的整个视野或者对用户定义的感兴趣的区域执行运动检测。此外,具 有运动检测能力的视频监视系统能够比操作员更可靠地检测运动,并 因此能够使操作员不必长时间地盯着多个视频监视器。作为替代,具 有运动检测能力的视频监视系统能够在检测到运动时使用视觉指示 器、音频指示器或两者来警告操作员。这样的监视系统还可以使监视 照相机自动地聚焦在检测到运动的区域以获得更详细的图像。
如本发明人所认识的那样,能够执行视频分析的网络照相机将降 低集中式图像处理系统的工作负荷,并节省宝贵的网络带宽。这样的 网络照相机将使得能够实现真正的事件驱动的监视系统,其中照相机 进行的运动检测可以触发预先定义的自动处理(诸如调整温度、激活警报、锁门/开门,等等)。
然而,由于视频分析频繁地需要对大量的像素数据执行几种相对 简单的操作,所以当前的方法不适用于诸如网络照相机的移动应用或
嵌入式应用。为了降低CPU处理负担,已开发了快速减少在视频分
析期间所处理的数据量(像素数目)的传统方法。
一种这样的传统方法顺序地遍历图像中的所有像素以识别感兴 趣的像素。如果对某像素不感兴趣,则该方法转到下一像素进行分析。 在本文中,"感兴趣的"表示像素包含与正在进行的分析相关的信息 (例如,运动信息)。如果对某像素感兴趣,则该方法在转到下一像 素之前对该像素执行相关操作。因此,此方法将像素的视频分析处理
嵌套(nest)在识别感兴趣的像素的例程(routine)内。在滤波器的 情况下,例如,虽然只是选择性地对感兴趣的像素应用滤波器,但每 次仍仅对一个像素应用滤波器。
许多现代处理器能够执行单指令多数据(SIMD)指令,以便并 行地处理多个数据字段,并提高性能。在具有SIMD指令能力的处理 器中,每个寄存器被划分成至少两个字段。每个字段表示独立于其它 字段中数据的数据。例如,在视频分析的情况下,每个字段可以表示 单个像素。由于处理器能够对整个寄存器执行SIMD指令,所以在寄 存器的多个字段中包含的像素被同时处理。因此,具备SIMD能力的 处理器的性能会明显地好于通用处理器的性能。
然而,如本发明人所认识的那样,选择要被处理的像素的上述传 统方法不是很适合于SIMD指令处理。因为该方法将视频分析处理嵌 套在像素选择流程内,所以迫使具备SIMD能力的处理器以与通用处 理器大致相同的方式一次一个地处理所选的像素,从而消除了通过采 用SIMD指令而获得的优点。
传统视频分析的上述低效的结果是对于执行视频分析功能(诸 如滤波和运动检测)来说,仍然优选具有高处理能力的强大计算机系 统。因此,这些方法不是很适合于网络照相机中视频分析的本地实现。
典型的视频监视系统包括通过诸如基于IP的网络之类的网络连接到中央处理单元的多个视频监视照相机。基于IP的网络常常不是 排它地专用于视频监视系统,而被与其它基于网络的应用(诸如电子
邮件、Web浏览、数据库系统等)共享。在视频监视系统采用由中央 处理单元执行的传统视频分析的情况下,每个照相机必须向中央处理 单元提供原始视频图像流。这将巨量的视频数据置于具有大量数据通 信量的网络上,因此需要本来可被其它网络应用所使用的带宽。

发明内容
本公开提供一种适合于具备SIMD能力的处理器的、用于从图像 中选择感兴趣的像素的方法、计算机程序、以及照相机,从而解决现 有技术中的上述不足。根据本发明的用于视频分析处理的示例性系统 包括像素收集单元,所述像素收集单元通过使用预先确定的二进制掩 码从图像收集多个感兴趣的像素。所述预先确定的二进制掩码被用于 定义感兴趣的像素在图像上的位置。电子存储器将感兴趣的像素存储 为像素矩阵,该像素矩阵只包含被相邻排列的感兴趣的像素。数据处 理器独立于像素收集单元地对所述像素矩阵执行视频分析处理,且像 素分散单元根据预先确定的掩码将经处理的像素分散回图像中。


随着通过阅读参照附图进行的以下详细描述而更好地理解本发
明及其许多伴随的优点,将容易地获得对本发明及其许多伴随的优点
的更全面的认识,在附图中
图1是根据本公开的示例性实施例的视频分析系统的示意图; 图2是在其上执行根据本公开的示例性实施例的视频分析方法
的计算机系统的示意图3是根据本公开的示例性实施例的视频分析方法的示意图; 图4是根据本公开的示例性实施例的二进制掩码应用的流程图; 图5是根据本公开的示例性实施例的二进制掩码的形态膨胀和
应用的示意图;图6是根据本公开的示例性实施例的形态膨胀的流程图7是根据本公开的实施例的像素收集图8是根据本公开的实施例的像素分散图;以及
图9是根据本公开的示例性实施例的视频分析方法的流程图10是视频监视系统图;以及
图11是根据本公开的示例性实施例的网络照相机的图。
具体实施例方式
本公开通过参考附图来描述优选实施例。
图1是根据本公开的示例性实施例的视频分析系统的图。该系统 包括用于收集感兴趣的像素的收集单元3、用于在处理完成时分散感 兴趣的像素的分散单元4、用于存储感兴趣的像素的电子存储器2、 以及用于执行视频分析处理的数据处理器1。所有上述组件通过数据 总线5互连。
可以在诸如采用奔腾处理器的PC的个人计算设备上实现所述视 频分析处理系统。可以将收集单元3和分散单元4的指令集提供作为 结合处理器和操作系统(诸如Microsoft VISTA 、 Unix、 Solaris, Linux、 Apple MAC-OS及本领域技术人员已知的其它系统)所执行 的实用程序(utility application )、操作系统的后台守护进程或组件、 或其组合。
电子存储器2可以是被集成到PC的动态或静态随机存取存储器 (RAM),或者可以是其它存储设备(诸如FLASH、 EEPROM、光 盘、服务器等)。所述存储器也可以是能够从视频分析处理系统拆卸 的。
图2是根据本实施例的客户端计算机或监视中心计算机的示意 图。该计算机包括与键盘112、定位设备lll和显示器IIO相连的计 算设备100。
计算设备100包括执行控制处理并与用于临时存储正被处理的 数据的主存储器105相连的处理器101,和存储由处理器101执行的指令的ROM 106。盘控制器107至少控制可用于在处理前和处理后 存储视频序列的盘108和CD-ROM 109。显示器控制器104用于控制 外部显示器,且I/O接口 102用于控制其它外部设备(诸如键盘112、 定位设备111和显示器110)。总线103将所有这些组件互连。
计算设备100可以是例如采用奔腾处理器的PC。存储在ROM 106中的指令集可被提供为结合处理器和操作系统(诸如VISTA、 UNIX、 SOLARIS、 LINUX、 APPLE MAC-OS及本领域技术人员已 知的其它系统)所执行的实用程序、操作系统的后台守护进程或组件、 或其组合。
计算设备100的主存储器105可以是集成到PC的动态或静态随 机存取存储器(RAM),或者可以是其它存储设备(诸如FLASH、 EEPROM、光盘、服务器等)。另外,主存储器105的至少一部分还 可以是能够从视频运动检测系统拆卸的。
还可以在硬件设备(诸如FPGA、 ASIC、微控制器、PLD或本 领域已知的其它这样的设备)上实现所述视频分析处理系统。
图3描绘根据本公开的示例性实施例的视频分析处理方法。该视 频分析处理方法具有三个阶段收集像素、处理像素和分散像素。在 收集阶段22中,使用二进制掩码23来收集从图像21中选择的用于 视频分析处理的像素。二进制掩码23是使用'T,和"0"来定义感 兴趣的像素的像素位置的位图。在二进制掩码23中,由一个位来表 示每个像素。值为"1"的位定义被选择以进行处理的像素(即"感 兴趣的"像素),而值为"0"的位定义未被选择来进行处理的像素。 然而,本公开也可以使用相反的方案,即,可以用"0"值来表示感 兴趣的像素,而用值'T,来表示不会被处理的像素。
使用二进制掩码23来识别感兴趣的像素是非常高效的,因为可 以同时测试二进制掩码的几个像素位置。图4是将二进制掩码应用于 图像的流程图。在本实施例中,使用32位寄存器,但是可以利用任 何长度的寄存器进行该处理。该处理在步骤S40开始。在步骤S41, 向寄存器加载对应于32个图像像素的32个二进制掩码位。在步骤S42,将寄存器与"0"进行比较,如在本例子中一样,"0"值定义 未被选择来进行处理的像素。如果寄存器等于"0",则处理继续进 行至步骤S51以确定是否已到达掩码的结尾。如果已到达掩码的结尾, 则处理在步骤S53结束。
然而,如果还有更多掩码位,且因此还有更多要被处理的像素, 则在S52使确定由正被检验的32个掩码位构成的区块的指针前进32 位,且处理返回到步骤S41以将一组新的32个掩码位加载到寄存器 中。如果在S42寄存器不等于"0",则在S43将寄存器划分为两个 16位字(最高有效字(MSW)和最低有效字(LSW))。在S44, 将MSW与"0"进行比较。如果MSW不等于"0",则在S45将其 划分为两个8位字节(最高有效字节(MSB )和最低有效字节(LSB ))。 在S46,将MSB与"0"进行比较,且如果MSB不等于"0",则在 S47对其进行线性搜索以识别"非0"位。然后,在S49和S47对LSB 执行类似的一系列步骤。在回到S51之前,在S48将"非0"像素存 储为"感兴趣的像素"。
从步骤S50开始对LSW执行类似处理。 一旦收集了所有感兴趣 的像素并到达了掩码的结尾,则该处理在S53结束。
虽然在上述例子中,只使用二级划分(即,从32位至16位,以 及从16位至8位),但可以使用附加的划分等级,或者可以使用较 少的划分等级。作为备选的方案,可以在不执行任何划分的情况下直 接对寄存器进行线性搜索。在这种情况下,"划分,,表示从一大组像 素创建像素数目相等的两个像素组。例如, 一个8位组的第一级划分 形成两个4位组,等等。
在上述像素收集中,将由二进制掩码23定义的感兴趣的像素按 照预先定义的顺序收集到阵列中以供进一步处理。例如,可以将像素 从左至右收集到一维阵列中。然而,对于被收集的区域的边界处的像 素来说,丢失了竖向方向和横向方向上的关于相邻像素的信息。许多 视频分析操作需要这样的相邻信息,因此需要收集邻近感兴趣的像素 的附加的相邻像素。这些操作例如包括索伯尔(Sobel)梯度滤波器。通过沿横向方向对二进制掩码23进行形态膨胀以包括相邻像素,高 效地实现了沿横向方向收集附加像素。
在沿竖向方向进行形态膨胀的情况下,执行三遍收集 一遍用于 向其原始位置之上平移(translate) 了一行的横向膨胀掩码;另 一遍 在其原始位置;以及最后一遍用于其原始位置之下的一个像素行。这 生成3xN阵列。现在,感兴趣的像素在阵列中相同的相对位置处具 有来自原始图像的它们各自的相邻像素。向位于沿着边界的位置的那 些感兴趣的像素添加填充(padding)像素作为相邻像素。
图5是上述收集处理的简化例子。感兴趣的像素58为灰色,用 "X"标记的像素52是作为形态膨胀的结果而收集的像素,用圆圈内 的"X"标记的像素是被填充的像素56,且用方框标记的像素显示沿 竖向方向的附加相邻像素55。图5还包括得到的阵列59,其中在第 二遍收集的感兴趣的像素58相对于它们最接近的邻居而被显示出来。 在不脱离本公开的范围的情况下,还可以使用其它方法。例如,可在 单遍收集中收集像素。
图6是根据本公开的示例性实施例的将二进制掩码54应用于图 像的流程图。在步骤S61,将二进制掩码54 (参见图5)上移一个像 素行以收集感兴趣的像素58之上的竖向邻居。然后,在S62将二进 制掩码54应用于图像51,并在步骤S63将相应的像素存储在阵列59 的顶行59a中。在步骤S64,将二进制掩码移回其原始位置,以便收 集感兴趣的像素58和它们各自的横向邻居。在步骤S65,如上所述将 二进制掩码54应用于图像51,并在步骤S66将相应的像素存储在阵 列59的第二行59b中。然后,将二进制掩码54下移一个像素行,以 便收集感兴趣的像素58之下的竖向邻居。在步骤S68应用二进制掩 码54,并在步骤S69将像素存储在阵列59的第三行59c中。
应注意的是,流程图中的任何处理描迷或方框应被理解为表示包 括一个或多个可执行指令的代码的模块、片断、部分,所述一个或多 个可执行指令用于实现该处理中的特定逻辑功能或步骤,并且,如本 领域的技术人员将理解的那样,替代的实施方式被包括在本发明的示例性实施例的范围内,其中,取决于所涉及的功能,可以按照与所示 出的或所讨论的顺序不同的顺序来执行多个功能,包括基本同时地执 行多个功能或者按照颠倒的次序执行多个功能。
如上所述,将像素收集在3 x N像素矩阵中使得能够高效地利用 SIMD指令,因为像素矩阵只包含原始图像的少数像素。与每次处理 一个感兴趣的像素的传统方法不同,应用于像素矩阵的行或列的 SIMD指令同时处理多个感兴趣的像素。对3 x N像素矩阵执行的 SIMD指令的示例包括接合(splice)指令、双倍绝对值指令、对结果 四舍五入(round)的取平均指令、具有舍位指令的取平均指令、以 及对结果朝着预先确定的数四舍五入的线性内插指令。
参照图7,图像36由对应于像素位置(X, Y)的大量像素组成, 其中,X定义像素的行位置(A~F),且Y定义列位置(1~5)。 然而,仅图像中的某些像素被确定为感兴趣的像素(31~34)。在图 像36中,感兴趣的像素(31~34)散布开而不相邻。在像素收集期 间,形成只包含感兴趣的像素(31~34)和任何相关相邻像素的像素 矩阵35。由于像素矩阵35只包含图像36中所含的一小部分像素,所 以可以高效地实现基于SIMD的处理。
接下来,参照图8,描述像素分散。在像素分散期间,将包含在 像素矩阵45中的已处理的像素(41~44)放回图像36中它们各自的 原始位置(31~34)。因此,分散是收集的反向处理,并使用相同的 二进制掩码23。
在本公开的另 一示例性实施例中,优选具有用于收集和分散阶段 的DMA单元。该DMA单元允许绕过数据处理器1直接进行存储器 存取,并减轻数据处理器的一些处理需求。
图9是概述根据本公开的示例性实施例的视频分析方法的步骤 的流程图。在步骤S1,对图像应用定义感兴趣的像素的位置的二进制 掩码。然后,在步骤S2收集所识别的感兴趣的像素,并在步骤S3期 间将其彼此相邻地存储在像素矩阵中。然后,在步骤S4对像素矩阵 执行视频分析处理。该视频分析处理可以包括使用SIMD指令来处理图像。在步骤S5,使用用以定义已处理的像素的各自位置的二进制掩 码,将已处理的像素分散回到图像中。
在另一示例性实施例中,使用上述方法来实现NxN滤波器。在 已于收集阶段收集了感兴趣的像素之后向像素矩阵35应用NxN滤 波器核。因为滤波器只对之前被收集到像素矩阵中的感兴趣的像素以 及它们各自的邻居而不是整个图像进行操作从而可改善滤波效率。如 上所述,在滤波完成时,将像素分散。
可以通过使用下面的技术来实现滤波器而进一步改善滤波效率, 所述技术避免使用在滤波器核与像素数据之间执行巻积的传统方式。 传统巻积的中间结果的位数两倍于巻积函数的自变量的位数。例如, 8位巻积在中间步骤将数据扩展为16位。使用诸如取平均指令、接合 指令或线性内插指令等SIMD运算来实现视频分析滤波器使得无需执 行巻积,并在整个滤波过程中保持每个像素的位数恒定。
接下来,参照图IO描述采用上述视频分析系统和相关方法的网 络照相机。网络照相机70 (或IP照相机)可以是能够生成图像序列 并通过网络将图像序列或来自图像序列的图像数据(诸如图像元数 据)传送至用户客户端的任何数字照相机。
图10是具有嵌入式视频分析的网络照相机70。网络照相机70 包括用于收集入射光的镜头系统71、用于寄存入射光的图像传感器 (传感器)72、图像处理器73、用于管理照相机功能以及视频分析处 理76a的中央处理单元(CPU) 76、图4象/^L频编码器75、存储器74 和网络接口 77。
在网络照相机70中,传感器72例如可以是电荷耦合器件 (CCD)、 CMOS传感器或类似物。图像W见频编码器75以任何已知 视频/图像编码格式(诸如MPEG 1、 MPEG2、 MPEG4、 H.264、 JPEG、 M-JPEG、位图等)将视频编码。存储器74存储图像信息、程序指令 等,且网络接口 77用于通过诸如IP网络的网络传输图像信息,以及 从网络接收信息。
此外,图像处理器73、视频分析76a、以及图像/视频编码器75可以被实现为由CPU 76执行的软件指令,或者可以在诸如单独的微 处理器、FPGA、 ASIC等的硬件中被实现。还可以将CPU76实现为 具有或不具有SIMD指令能力的微处理器、FPGA、 ASIC等。所述存 储器可以是静态或动态的RAM、 ROM、 EPROM、 EEPROM、 FLASH 等等,且镜头系统71可以永久性地附着于网络照相机70,或者可以 是可移除的。
虽然将上述网络照相机70描述为单个单元,但可以有其它实施 方式。能够生成模拟图像序列的模拟照相机与诸如视频编码器或视频 服务器的转换器的系统也可以是网络照相机。这样的系统中的转换器 将来自模拟照相机的模拟图像序列转换成数字图像序列或图像数据, 并将数字图像序列或图像数据提供给网络。该转换器还执行视频/图像 编码和本地纟见频分析。
网络照相机70的其它组件(诸如用于使镜头系统71聚焦的电动 马达、光度计、电源等)是已知的,因此为简洁起见而省略其描述。 此外,在不脱离本公开的范围的情况下,可以有其它实施方式。例如, 网络照相机70可以是红外线照相机,或者,所述网络接口可以是无 线接口,等等。
通过在网络照相机上本地执行视频分析,可以只将相关视频数据 置于网络上,其明显少于由传统网络照相机置于网络上的视频数据的
图11是采用如上所述的网络照相机的网络照相机系统。此示例 性网络包括连接到专用网络92或公共网络93的多个网络照相机 (81~85)。网络照相机81包括模拟照相机81a和转换器81b,同时, 网络照相机(82~85)完全集成了包括视频分析的所有功能。
专用网络92可以是对它的访问受限的局域网(LAN)或广域网 (WAN)。此外,专用网络92可以通过访问限制设备90连接到公 共网络93,访问限制设备90可以提供防火墙功能、网络地址转换 (translation)等。访问限制设备90可以是专用路由器、计算机、服 务器等。公共网络93(例如,因特网)可以包含诸如Wifi、蜂窝式网络、PSTN、 ISDN等的无线和有线区段(segment)。专用网络92也 可以包括诸如Wifi、以太网等的无线和有线区段。
客户端计算机(87、 88、 91)、监视中心89、以及网络视频记 录器86经由专用网络或公共网络(分别为92或93 )连接到网络照相 机(81~85)。在网络照相机系统80中,网络照相机(81~85)的 网络接口使得能够实现网络照相机(81~85)与客户端计算机(87、 88、 91)之间的通信。这样的通信包括图像数据、音频数据、控制信 息(拍全景(pan)、倾斜、变焦等)、视频设置等的传输。此外, 网络照相机(81~85)可以服务于多个客户端(例如监视中心89、客 户端计算机(87、 88、 91)、或用于存储图像并将它们转送至其它客 户端(未示出)的服务器)。
另夕卜,可以在如美国申请第12/273,220号中的图3所讨论的系统 中使用上述网络照相机。
诸如运动检测的视频分析应用基于对来自通过网络照相机(81~ 85)捕捉的图像序列的图像分析。如本发明人所认识的那样,当在网 络照相机本身上执行图像分析时,可以减少公共网络93或专用网络 92上的数据通信量。可以只将与相关事件有关联的数据发送到监视中 心89或客户端计算机(87、 88、 91),为其它应用节省带宽,减少 存储视频信息所需的存储空间的量,并减少随后要搜索的视频数据的 量。,
虽然在以上描述中讨论了运动检测,但是这里所描述的系统和相 关方法还适合于其它形式的视频分析(诸如人脸识别、对象识别、背 景/前景分离、模式分析等等)。
前述讨论仅仅公开了本公开的示例性实施例。如本领域的技术人 员将理解的那样,在不脱离本发明的精神和本质特性的情况下,还可 以其它特定形式来实现本发明。因此,本发明的公开意欲起说明性作 用,而非限制本发明以及权利要求的范围。本公开(包括在此进行的 教导的任何容易想到的变体)部分地限定前述术语的范围,使得本发 明的内容不被贡献给公众。
权利要求
1.一种视频分析处理方法,包括根据预先确定的二进制掩码将来自图像的多个感兴趣的像素收集在计算机可读存储介质中,所述预先确定的二进制掩码定义所述多个感兴趣的像素在所述图像上的至少一个位置;将所述多个感兴趣的像素排列在至少包括所述感兴趣的像素的像素矩阵中,每个感兴趣的像素被与其它感兴趣的像素相邻地存储在所述像素矩阵中;使用数据处理器上的SIMD指令对所述像素矩阵执行视频分析处理;以及根据所述预先确定的二进制掩码,在处理之后将所述感兴趣的像素分散到图像中,其中独立于执行视频分析处理步骤地执行所述收集步骤和所述分散步骤。
2. 如权利要求1所迷的视频分析处理方法,其中,对于每个感 兴趣的像素,所述收集步骤包括使所述预先确定的二进制掩码沿横向方向膨胀至少一个像素位置,依照膨胀后的二进制掩码收集来自所述感兴趣的像素之上的像 素行的至少 一 个相邻像素,依照膨胀后的二进制掩码收集来自所述感兴趣的像素的像素行 的至少一个相邻像素和所述感兴趣的像素,以及依照膨胀后的二进制掩码收集来自所述感兴趣的像素之下的像 素行的至少 一个相邻像素。
3. 如权利要求1或2所述的视频分析处理方法,其中,所述收 集步骤和所述分散步骤还包括使用DMA单元以独立于所述数据处理器的方式分别收集和分散所述多个感兴趣的像素和相邻像素。
4. 如权利要求1至3中的任何一项所述的视频分析处理方法, 其中,执行视频分析处理包括使用SIMD指令集利用NxN滤波器核 对所述感兴趣的像素进行滤波,所述SIMD指令集包括取平均指令、 具有有偏结果的半分减法指令和接合指令。
5. 如权利要求4所述的视频分析处理方法,其中,在整个滤波 运算过程中,预先确定的表示每个像素的位的数目被保持恒定。
6. —种包括计算机可读指令的计算机程序,所述指令在被处理 器执行时使该处理器执行视频分析处理方法,所述视频分析处理方法 包括根据预先确定的二进制掩码将来自图像的多个感兴趣的像素收 集在计算机可读存储介质中,所述预先确定的二进制掩码定义所述多个感兴趣的像素在所述图像上的至少一个位置;将所述多个感兴趣的像素排列在至少包括所述感兴趣的像素的 像素矩阵中;使用SIMD处理器对所述像素矩阵执行视频分析处理;以及 根据所述预先确定的二进制掩码,在处理之后将所述像素分散到 图像中,其中独立于执行视频分析处理步骤地执行所述收集步骤和所述分散步骤。
7. 如权利要求6所述的计算机程序,其中,对于每个感兴趣的 像素,所述收集步骤包括使所述预先确定的二进制掩码沿横向方向膨胀至少 一 个像素位置,依照膨胀后的二进制掩码收集来自所述感兴趣的像素之上的像素行的至少一个相邻像素,依照膨胀后的二进制掩码收集来自所述感兴趣的像素的像素行 的至少一个相邻像素和所述感兴趣的像素,以及依照膨胀后的二进制掩码收集来自所述感兴趣的像素之下的像 素行的至少一个相邻像素。
8. 如权利要求6或7所述的计算机程序,其中,所述收集步骤 和所述分散步骤还包括使用DMA单元以独立于所述数据处理器的方 式分別收集和分散所述多个感兴趣的像素和相邻像素。
9. 如权利要求6~8中的任何一项所述的计算机程序,其中,执 行视频分析处理包括使用SIMD指令集利用NxN滤波器核对感兴趣 的像素进行滤波,所述SIMD指令集包括取平均指令、具有有偏结果 的半分减法指令和接合指令。
10. 如权利要求9所述的计算机程序,其中,在整个滤波运算过 程中,预先确定的表示每个像素的位的数目被保持恒定。
11. 一种网络照相机,包括 至少一个镜头,其被配置为收集入射光;传感器,其被布置在所述镜头之后并被配置为将所述入射光转换 为图像数据;电子存储器,其被配置为将对应于所述图像的电子数据存储为图 像数据;视频编码器,其被配置为对所述图像数据进行编码;数据处理器,所述数据处理器包括收集单元,其被配置为根据预先确定的二进制掩码将来自图 像的多个感兴趣的像素收集在所述电子存储器中,所述预先确定的二 进制掩码定义所述多个感兴趣的像素的至少一个位置;布置单元,其被配置为将所述多个感兴趣的像素排列在至少 包括所述感兴趣的像素的像素矩阵中,视频分析单元,其被配置为独立于所述收集单元地对所述像 素矩阵执行视频分析处理,分散单元,其被配置为独立于所述收集单元和所述视频分析单元地将所述感兴趣的像素分散到图像中;以及 网络接口,其被配置为连接到数据网络。
12. 如权利要求11所述的网络照相机,其中,所述收集单元还 ,皮配置为使所述预先确定的二进制掩码沿横向方向膨胀至少 一 个像素位置,依照膨胀后的二进制掩码收集来自所述感兴趣的像素之上的像 素行的至少一个相邻像素,依照膨胀后的二进制掩码收集来自所述感兴趣的像素的像素行 的至少一个相邻像素和所述感兴趣的像素,以及依照膨胀后的二进制掩码收集来自所迷感兴趣的像素之下的像 素行的至少一个相邻像素。
13. 如权利要求11或12所述的网络照相机,还包括 DMA单元,其被配置为独立于所述数据处理器地传输像素,所述像素收集单元和所述像素分散单元分别在收集和分散感兴趣的像 素时采用所述DMA单元。
14. 如权利要求11~13中的任何一项所述的网络照相机,其中, 所述数据处理器还被配置为使用SIMD指令利用NxN滤波器核对所 述感兴趣的像素进行滤波,所述SIMD指令包括取平均指令、具有有 偏结果的半分减法指令、以及接合指令。
15.如权利要求14所述的网络照相机,其中,在整个滤波运算 过程中,预先确定的表示每个像素的位的数目被保持恒定。
全文摘要
一种用于执行低水平视频分析处理的视频分析系统及相关方法将处理分为三个阶段,以便高效地使用许多现代数据处理器的SIMD指令。在第一阶段,使用预先确定的掩码来收集感兴趣的像素并将其置于像素矩阵中。在第二阶段,对像素矩阵执行视频分析处理,并且在第三阶段,使用相同的预先确定的掩码来分散所述像素。这允许同时处理许多像素,提高了总体性能。还可以在像素的收集和分散期间使用DMA单元来减轻处理器的负担,进一步提高性能。网络照相机集成了视频分析系统以降低网络通信量。
文档编号H04N7/18GK101685540SQ200910175879
公开日2010年3月31日 申请日期2009年9月23日 优先权日2008年9月26日
发明者J·阿尔布莱德 申请人:阿克塞斯股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1