CN107230215B - 数据处理装置、运动检测方法、集成电路制造系统 - Google Patents

数据处理装置、运动检测方法、集成电路制造系统 Download PDF

Info

Publication number
CN107230215B
CN107230215B CN201710182764.0A CN201710182764A CN107230215B CN 107230215 B CN107230215 B CN 107230215B CN 201710182764 A CN201710182764 A CN 201710182764A CN 107230215 B CN107230215 B CN 107230215B
Authority
CN
China
Prior art keywords
block
feature
sample points
processing apparatus
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710182764.0A
Other languages
English (en)
Other versions
CN107230215A (zh
Inventor
T·史密斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Priority to CN202211231022.XA priority Critical patent/CN115526911A/zh
Publication of CN107230215A publication Critical patent/CN107230215A/zh
Application granted granted Critical
Publication of CN107230215B publication Critical patent/CN107230215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

数据处理装置、运动检测方法、集成电路制造系统。一种用于在帧序列中检测运动的数据处理装置,各个帧包括一个或更多个像素块,所述数据处理装置包括:采样单元,其被配置为确定块的样本点集合处的图像特性;特征生成单元,其被配置为形成所述块的当前特征,所述当前特征具有从样本点推导的多个值;以及运动检测逻辑,其被配置为通过将块的当前特征与表示所述块的历史特征值的学习特征进行比较来生成所述块的运动输出。

Description

数据处理装置、运动检测方法、集成电路制造系统
技术领域
本发明涉及用于在帧序列中检测运动的设备,涉及一种在帧序列中检测运动的方法。
背景技术
经常期望的是在通过相机传感器捕获的帧序列中执行运动检测。例如,这在安全相机中会是有用特征,因为它允许相机标记视频供应中的运动周期或者仅在检测到运动时才记录或发送所捕获的视频流。情况往往是这样,相机硬件或者关联的处理设备中可用于执行运动检测的资源非常有限,和/或期望以低功率来执行运动检测。结果,由相机传感器捕获的帧通常被下采样(例如,从HD至VGA分辨率)并且以低帧速率(例如,每秒10-15帧,而非比如说相机传感器所提供的每秒30帧)在下采样的帧中执行运动检测。
为了进一步降低处理负担,帧通常关于执行何种运动检测被分割成块集合,各个块包括帧的多个像素。然而,即使利用这些技术,仍难以利用存在于相机硬件或关联的处理设备内的有限计算资源来执行精确的运动检测。
发明内容
根据本发明的第一方面,提供一种用于在帧序列中检测运动的数据处理装置,各个帧包括一个或更多个像素块,所述数据处理装置包括:
采样单元,其被配置为确定块的样本点集合处的图像特性;
特征生成单元,其被配置为形成所述块的当前特征,所述当前特征具有从所述样本点推导的多个值;以及
运动检测逻辑,其被配置为通过将块的当前特征与表示所述块的历史特征值的学习特征进行比较来生成所述块的运动输出。
特征生成单元可被配置为依据所确定的图像特性来形成所述块的当前特征。
特征生成单元可被配置为:比较所述集合中的多对样本点的图像特性,各个比较是相应对的样本点之间的比较;并且形成所述块的当前特征,使得各个值表示一对样本点的所述比较的结果。
学习特征可表示所述块的多对样本点的历史特征值。
关于一对样本点形成的当前特征的各个值可在表示该对样本点的历史值的学习特征中具有对应值。
当前特征的各个值可包括比特作为由运动检测逻辑针对相应一对样本点的所述比较的结果的二进制表示。
特征生成单元可被配置为从所述块的样本点集合随机地选择各对点。
特征生成单元可被配置为针对当前特征的各个值,利用二进制值来表示所述比较的结果,所述二进制值指示该对样本点的图像特性中的哪一个值较大。
学习特征的各个值处的历史值可以是由特征生成单元针对所述块的相应一对样本点的所述比较结果在多个帧上的加权平均。
当前特征可以是从样本点推导的图像特性直方图,其中所述多个值中的各个值对应于限定预定义的范围的条块(bin)并且包括具有落入该条块内的图像特性的采样点的数量的计数。
学习特征可表示所述块的历史图像特性直方图。
当前特征的各个条块可在具有该条块的所述预定义的范围的历史值的学习特征中具有对应条块。
学习特征的各个条块处的历史值可以是针对所述块具有落入该条块内的图像特性的采样点的数量的计数在多个帧上的加权平均。
所述序列的各个帧可包括相同的一个或更多个像素块。
采样单元、特征生成单元和运动检测逻辑可被配置为关于序列的各个帧的多个块执行其相应的功能,特征生成单元被配置为维护各个块的学习特征。
采样单元可被配置为依据位于采样点处的一个或更多个像素的像素值来识别各个图像特性。
采样单元可被配置为随机地生成所述块的样本点集合,在帧序列上所述样本点集合对于所述块是固定的。
采样单元可被配置为根据伪随机Halton序列来随机地生成所述块的样本点集合。
特征生成单元可包括采样单元。
特征生成单元可被配置为依据在所述序列的多个帧上接收的所述块的样本点来维护所述块的学习特征。
特征生成单元可被配置为通过在接收到所述序列的帧时使其多个值衰减并且将当前特征的值分配给学习特征的对应值来维护所述块的所述学习特征。
特征生成单元可被配置为根据预定义的衰减因子来使学习特征的值衰减。
特征生成单元可被配置为在将当前特征的值分配给学习特征的值之前根据预定义的加权因子对当前特征的值进行加权。
运动检测逻辑可被配置为通过计算当前特征的值与学习特征的对应值之差的测量来将针对所述块形成的当前特征与所述块的学习特征进行比较。
由运动检测逻辑执行的所述比较可包括基于所述差的测量就所述当前特征是否基于所述块的所述学习特征的历史值被预期在预定义或自适应阈值内形成估计。
运动检测逻辑可被配置为如果所述估计超过所述预定义或自适应阈值,则生成运动输出以指示所述块处的运动。
运动检测逻辑可被配置为维护所述块的预期变化程度的估计,并且依据该估计,为所述块形成所述自适应阈值。
运动检测逻辑可被配置为通过在接收到帧时依据针对所述帧的所述块形成的当前特征与针对所述块维护的学习特征之间的相似度的测量更新所述块的预期变化程度的所述估计来维护所述估计。
运动输出可以是运动的二进制指示,其标识由运动检测逻辑执行的比较的结果是否指示所述块中的运动。
各个块可包括帧的一个或更多个像素。
数据处理装置还可包括决策逻辑,该决策逻辑被配置为基于由运动检测逻辑关于帧的所述块生成的所述一个或更多个运动输出来生成该帧的运动的指示。
根据本发明的第二方面,提供一种在帧序列中检测运动的方法,各个帧包括一个或更多个像素块,所述方法包括以下步骤:
识别块的样本点集合处的图像特性;
形成所述块的当前特征,所述当前特征具有从所述样本点推导的多个值;以及
通过将块的当前特征与具有表示所述块的历史特征值的多个值的学习特征进行比较来生成所述块的运动输出。
所述方法还可包括以下步骤:
从所述块的样本点集合形成多对样本点;以及
针对各个对,比较该对样本点的图像特性,
其中,当前特征的所述多个值各自表示一对样本点的所述比较的结果。
学习特征可表示所述块的多对样本点的历史特征值。
关于一对样本点形成的当前特征的各个值可在表示该对样本点的历史值的学习特征中具有对应值。
当前特征的各个值可包括比特作为由运动检测逻辑针对相应一对样本点的所述比较的结果的二进制表示。
形成多对样本点的步骤可包括从所述块的样本点集合随机地选择各对点。
形成所述块的当前特征的步骤可包括针对当前特征的各个值,利用二进制值来表示所述比较的结果,所述二进制值指示该对样本点的图像特性中的哪一个值较大。
所述方法还可包括维护学习特征,使得所述学习特征的各个值处的历史值是针对所述块的相应一对样本点的所述比较结果在多个帧上的加权平均。
形成所述块的当前特征的步骤可包括从样本点推导图像特性直方图,其中所述多个值中的各个值对应于限定预定义的范围的条块并且包括具有落入该条块内的图像特性的采样点的数量的计数。
学习特征可表示所述块的历史图像特性直方图。
当前特征的各个条块可在具有该条块的所述预定义的范围的历史值的学习特征中具有对应条块。
所述方法还可包括维护学习特征,使得所述学习特征的各个条块处的历史值是针对所述块具有落入该条块内的图像特性的采样点的数量的计数在多个帧上的加权平均。
所述方法还可包括随机地生成所述块的样本点集合,在帧序列上所述样本点集合对于所述块是固定的。
所述方法还可包括依据在所述序列的多个帧上接收的所述块的样本点来维护所述块的学习特征。
维护所述块的学习特征的步骤可包括在接收到所述序列的帧时,使学习特征的所述多个值衰减并且将当前特征的值分配给学习特征的对应值。
将针对所述块形成的当前特征与所述块的学习特征进行比较的步骤可包括计算当前特征的值与学习特征的对应值之差的测量。
将针对所述块形成的当前特征与所述块的学习特征进行比较的步骤可包括基于所述差的测量就所述当前特征是否基于所述块的所述学习特征的历史值被预期在预定义或自适应阈值内形成估计。
所述方法还可包括维护所述块的预期变化程度的估计,并且依据该估计,为所述块形成所述自适应阈值。
维护所述块的预期变化程度的所述估计的步骤可包括在接收到帧时,依据针对所述帧的所述块形成的当前特征与针对所述块维护的学习特征之间的相似度的测量来更新所述估计。
所述设备可在集成电路上以硬件来具体实现。可提供一种在集成电路制造系统处制造所述设备的方法。可提供一种集成电路定义数据集,该集成电路定义数据集在集成电路制造系统中被处理时配置所述系统以制造所述设备。可提供一种存储有集成电路的计算机可读描述的非暂时性计算机可读存储介质,所述计算机可读描述在集成电路制造系统中被处理时使得集成电路制造系统制造所述设备。
可提供一种集成电路制造系统,该集成电路制造系统包括:
非暂时性计算机可读存储介质,其存储有描述所述设备的计算机可读集成电路描述;
布局处理系统,其被配置为处理所述集成电路描述以生成具体实现所述设备的集成电路的电路布局描述;以及
集成电路生成系统,其被配置为根据所述电路布局描述来制造所述设备。
可提供用于执行如本文所述的方法的计算机程序代码。可提供存储有计算机可读指令的非暂时性计算机可读存储介质,所述计算机可读指令在计算机系统处执行时使得计算机系统执行本文所述的方法。
附图说明
现在将参照附图作为示例描述本发明。附图中:
图1是用于在相机处所捕获的视频帧的流中执行运动检测的设备的示意图。
图2示出基于样本点对的随机选择形成块的二进制特征。
图3示出具有稳定内容的块的学习特征以及具有不稳定内容的块的学习特征。
图4是示出可在图像处理器处执行的处理的流程图。
图5是集成电路制造系统的示意图。
图6是示出根据第二方面的特征生成单元和运动检测器的操作的流程图。
图7示出在被分割成多个块的图像帧上操作的运动检测器的二进制输出。
图8示出基于点样本的集合为帧的块形成直方图。
图9是示出点采样技术的流程图。
具体实施方式
作为示例呈现以下描述以使得本领域技术人员能够制造并使用本发明。本发明不限于本文所描述的实施方式,对于本领域技术人员而言对所公开的实施方式的各种修改将是显而易见的。
描述基于从样本点形成的学习特征在图像帧序列中执行运动检测的设备和方法。在本文所描述的示例中,所述设备和方法形成描述块或帧的亮度值的学习特征。通常,所述设备和方法可关于任何输入值形成二进制特征,包括亮度(luminance)、色调、曝光度、色彩度、色度、饱和度、明度和光亮度(brightness)的测量。
现在将作为示例针对图1所示的用于在相机处所捕获的视频帧序列中执行运动检测的设备描述本发明的各方面。
图1是包括相机模块101和运动检测器115的设备的示意图。相机模块101包括被布置为向图像处理器103提供帧的相机传感器102。图像处理器103可生成在运动检测器和(可能地)相机流水线上或之外的其它处理单元处使用的各种图像特性。例如,图像处理器可收集在相机流水线的自动白平衡和自动曝光功能处使用的统计数据。图像处理器被配置为提供帧的一个或更多个块的图像特性。例如,各个帧可被分割成16个块的集合,图像处理器关于各个块生成图像特性。
块可以是帧的一部分或全部,任何给定块可与同一帧的其它块交叠或不交叠。块可以是帧的一个或更多个像素的集合,并且可采取任何形状。块的像素可在帧内邻接或不邻接。帧的一个或更多个像素可不属于为帧定义的任何块。帧的任何给定像素可属于一个或更多个块。
图像处理器可被配置为针对图像帧的一个或更多个颜色通道(例如,在相机处所捕获的RGB图像的情况下,针对红色、绿色和蓝色通道中的每一个)独立地生成图像特性。由图像处理器提供的亮度的测量可作为颜色分量或其它图像特性的集合来提供,以便于在运动检测器处解释为亮度的测量。
图4中示出了流程图400,流程图400示出图像处理器103的示例性操作。图像处理器从相机传感器102接收(输入流104的)原始图像401,并且执行图像的Bayer 空间处理402和去马赛克403。在404,图像处理器将原始图像转换为RGB图像,在该RGB图像上图像处理器计算在相机流水线(未示出)的自动曝光和自动白平衡功能处使用的统计数据405。这些统计数据可被包括在提供给运动检测器115的图像特性108中。图像处理器可另外执行进一步的RGB空间处理406,例如颜色校正。图像处理器将RGB图像帧转换到YUV颜色空间407中以生成YUV图像帧408,对该 YUV图像帧408可执行YUV空间处理409(例如,对比度增强)。所得YUV帧可根据从图像处理器得到其输入的后续单元(例如,编码器106)的要求按照一个或更多个不同的缩放比例410、411来提供。在此示例中,缩放器A 410可输出提供给编码器106的帧流105以便于编码为视频流107。编码器106可经由可存储来自相机传感器(可能通过图像处理器103处理)的帧数据的帧存储部118来接收帧。在一些示例中,运动检测器可(例如,经由缩放器B 411)从图像处理器103接收帧流。
可由图像处理器103按照比相机传感器所捕获的分辨率低的分辨率来执行图像处理。例如,相机传感器可以是HD传感器,但是可按照比如说VGA分辨率(640×480 个像素)来执行图像处理。诸如VGA的较低分辨率通常对于生成用于运动检测的统计数据而言足够了,并且降低了图像处理器所需的处理能力和/或允许图像处理以低功率来执行。在一些示例中,由相机传感器捕获的图像帧可在被提供给图像处理器之前被缩小,而相机传感器直接向编码器106提供完整分辨率帧(可能经由帧存储部 118和/或另一单元,例如将原始帧转换为YUV帧)。图像处理器可被配置为提供在运动检测器处使用的描述各个帧的一个或更多个块的图像特性,而不是图像帧本身。
图1所示的相机模块101的布置方式仅是一种可能,将理解,相机模块的各种其它布置方式也是可能的。具体地讲,编码器106是否存在与运动检测器115的操作无关,仅出于例示性目的而包括。相机模块101仅需要为运动检测器提供图像特性108,图像特性108对运动检测器形成指示块处的运动的输出而言足够了。图像特性108 可包括一个或更多个不同类型的图像特性,例如一个或更多个颜色通道的曝光度信息和颜色信息。在其它示例中,相机模块101可以是在运动检测器处使用的图像特性 108的任何其它来源(例如,模块101可从所存储的图像帧推导图像特性)。
图像处理器可提供帧内的点处的亮度的测量作为运动检测器的输入值。亮度的测量可表示执行运动检测所基于的图像特性108。亮度的测量可按照任何合适的方式来提供。例如,亮度值可用作帧内的点处的一个或更多个像素的亮度的测量(例如, YUV颜色空间的亮度分量),或者亮度的测量可包括一个或更多个单独的颜色分量,各个颜色分量表示在帧内的点处的相应颜色分量的平均值。
下面描述可利用图1的设备执行的两种不同的运动检测技术。第一种技术使用点采样技术来生成表示帧的块的图像特性的直方图,并且这与学习直方图进行比较以确定该块中是否存在运动。第二种技术使用二进制特征来表示帧的块的图像特性,并且这与学习特征进行比较以确定该块中是否存在运动。
基于点采样直方图的运动检测
数字相机的处理流水线通常使用直方图来总结由相机传感器的像素捕获的参数的频率分布,例如曝光度或颜色通道参数。直方图将参数的可能输入值的范围分割成一系列条块,各个条块表示具有落入该条块的相应范围内的参数的像素的数量的计数。这些直方图可由流水线的图像处理算法使用以便执行相机的控制功能,例如自动曝光、自动聚集和自动白平衡。相机传感器通常将包括几百万像素,使用这样的直方图有助于以流水线算法可管理的适当的细节水平提供所捕获的帧的特性的总结。
为了方便基于每块的运动检测处理(以及可能其它图像处理功能),相机流水线可为各个块生成表示块内(可能在多个帧上)的图像参数的频率分布的直方图。例如,可为块生成表示亮度的典型测量的直方图,并且可在该块中通过寻找指示运动的该块的亮度的突然变化来识别运动。
然而,每块针对参数使用有限数量的像素和/或使用窄条块和/或使用低帧速率可导致为块生成稀疏填充的直方图,即,在直方图分布中具有相当大比例的空条块和间隙的直方图。这样的稀疏直方图往往是参数的基础频率分布的差质量的表示。
现在将参照图9描述高效点采样技术,其允许在没有足够资源来处理所捕获的整个帧或块的设备(例如,在相机传感器102处)生成精确的直方图(无论作为全分辨率帧还是随后在图像处理器103处下采样)。在本示例中,点采样是对亮度值,但是将理解,该技术可被应用于任何图像特性的点采样。
在本示例中,采样单元120被配置为在由相机传感器捕获的帧或者其它图像区域的块内的多个点处执行点采样。用于采样的点可随机地或者伪随机地选择。这是图9 中的201。
采样单元可访问存储在帧存储部118处的帧数据和/或从图像处理器103接收帧(例如,经由缩放器B 411)。通常,采样单元可被设置在设备的任何地方(作为单独的实体或者与另一实体集成)。例如,采样单元120可形成图像处理器103的一部分,其被配置为提供采样的点(或者从其推导的值)作为各个块的图像特性108,或者采样单元120可形成运动检测器115的一部分(例如,在特征生成单元109处)。
采样单元可被配置为将采样的点或者从样本点推导的值提供给运动检测器115的特征生成单元109。采样单元可被配置为从可用帧数据计算帧的各个采样点处的相关图像特性(在这种情况下,亮度),例如,采样单元可将为给定像素存储的RGB值转换为该像素的亮度值。
针对各个块,采样单元120被配置为在块内的选择的点集合处对亮度值进行采样(例如,通过从保存在帧存储部118处的帧数据读取选择的点集合处的亮度值)。这是图9中的202。点集合可由采样单元或者任何其它实体来选择。对于要在运动检测器115处以下面所述的方式执行运动检测的给定帧序列,所选择的点集合对于要检测运动的帧序列或者以其它方式比较的帧可为固定的。
点集合可针对块伪随机地选择或者以其它方式选择。例如,点集合可根据Halton序列来选择,其中块内的样本点的位置由下式给出:
s(n)=(H(n+20,2),H(n+20,3)) (1)
其中H(n,b)是基于b的Halton序列中的第n值。由于Halton序列中的前面几个值往往是相关的,所以在式1中可忽略预定义的初始数量(例如,前20)的Halton序列值。使用Halton序列的优点在于,样本点在块内伪随机地分布,同时在块上均匀地分布。这确保了为块选择的样本点集合表示块的图像特性的良好分布的采样。
图8中示出了为帧801的块803生成的伪随机样本点集合802的示例。点集合可按照任何合适的方式来生成,包括:在设计时选择并存储以便于采样单元使用;在采样单元的初始化时选择;以及由采样单元在运行时关于帧的序列的一个或更多个块选择。一旦为块选择了点集合,为相机传感器所捕获的帧序列中的后续帧选择那些相同的点。对于被分割成大小相同的块的帧,相同的点集合可用于各个块。
样本点可利用分数坐标(在诸如一些GPU的一些硬件处可支持)来选择。样本点可被四舍五入为最近的整数,如果这导致生成重复的样本点,则重复的样本可被去除并且被另外生成的样本点代替。
在集合中的各个点处执行点采样时,采样单元可被配置为根据任何合适的采样策略在块的各个点处对一个或更多个像素或者像素组进行采样。例如,在各个点处,采样单元可根据预定图案对单个像素或多个像素进行采样(例如,采样单元可取位于样本点处的像素及其四个最近的像素的亮度值的平均)。
采样单元或另一实体(例如,下面所描述的特征生成单元)可为块形成采样的图像特性的表示。这是图9中的203。例如,可形成采样的图像特性的直方图,其表示块处的图像特性的分布。这种直方图或者其它表示(例如,二进制特征表示)的形成的示例在下面更详细地描述。
为了利用亮度或者通过点采样建立的另一图像特性在帧序列中执行运动检测,被配置为使用采样的点(或者其推导值)来比较序列帧之间的图像特性的表示的特征生成单元109可被设置。在下面所描述的示例中,特征生成单元109为帧的一个或更多个块形成图像特性的表示(例如,直方图);在其它示例中,这种表示可由采样单元 120形成。运动检测逻辑110可被设置为基于特征生成单元所执行的比较来检测帧序列中的运动。现在将描述特征生成单元和运动检测逻辑的操作的示例。
在第一示例中,对于帧的一个或更多个块,特征生成单元可被配置为维护描述为块选择的样本点集合处的亮度值的频率分布的直方图804。各个块的直方图可在存储器111处维护,如图1中由标记112指示的。例如,特征生成单元可被配置为通过将为该块的样本点接收的亮度值分配给一系列条块j(各个条块表示一定范围的亮度值) 中的一个或更多个条块来形成在给定帧的块处采样的亮度值的当前直方图
Figure GDA0003739674050000101
各个亮度值可按照任何合适的方式被分配给其相应的直方图条块。例如,针对为块接收的亮度值可通过下式形成具有256个条块的直方图,各个条块表示可能的8比特亮度值:
Figure GDA0003739674050000102
其中
Figure GDA0003739674050000103
是条块j的值,hj是该条块的先前值,j是表示亮度Y(s(n))的条块索引,其中s(n)是样本点,n是样本点的索引。
每块的样本数Nsamples可根据可用处理资源和/或直方图的所需精度来选择。
通过将块的当前直方图与该块的学习直方图(表示块的历史频率分布)进行比较,可估计块的当前亮度值属于历史频率分布的概率。
特征生成单元109被配置为维护帧的一个或更多个块的学习直方图,所述学习直方图针对各个块表示该块的亮度随时间的频率分布。例如,在接收到为块采样的亮度值集合时,特征生成单元可按照下面所述的方式利用所接收的亮度值来更新块的直方图。
块的直方图的各个条块可利用适合于实现的值来初始化。例如,对于具有256 个条块的直方图,直方图的各个条块可初始被设定为:
Figure GDA0003739674050000111
在接收到块的采样的亮度值集合时,该块的直方图的各个条块
Figure GDA0003739674050000112
可衰减以相对于新亮度值降低历史条块值的权重。这可在新亮度值被考虑之前执行。例如,块的直方图的各个条块可依据预定义或者自适应学习系数learnCoeff(取0与1之间的值) 来衰减:
Figure GDA0003739674050000113
learnCoeff的合适的值可通过经验来确定。
256条块学习直方图然后可根据式5通过例如以下方式来维护:随着接收到各个帧,使直方图的条块衰减并且将特征生成单元所形成的当前直方图的条块处所保持的值分配给通过learnCoeff(取0与1之间的值)加权的学习直方图的条块:
Figure GDA0003739674050000114
在多个帧上,可构建特定块的像素值的预期分布的非参数表示,其允许捕获复杂的多模态行为。
一旦特征生成单元形成了块的当前直方图,可在运动检测逻辑110处将它与学习直方图进行比较以便获得两个直方图之间的相似度的测量。当前直方图和学习直方图可利用陆地移动距离(EMD)或者Wasserstein尺度来比较。此选择的优点在于计算简单。
对于要比较的两个直方图,可首先例如通过下式将它们归一化:
Figure GDA0003739674050000115
并且对于
Figure GDA0003739674050000116
相似地:
Figure GDA0003739674050000121
然后可在运动检测逻辑110处利用陆地移动距离(EMD)来形成相似度的测量,这将被宽松地称作给定学习亮度直方图,当前亮度直方图表示前景运动的概率 Pforeground
Pforeground=EMD(hlearned,hcurrent) (8)
其中EMD(a,b)是两个归一化的直方图分布之间的陆地移动距离。
这样,可针对各个块从该块的相应当前直方图和学习直方图形成运动概率Pforeground。运动检测逻辑然后可就块将被分类为具有运动(前景,Fi=1)还是没有运动(背景,Fi=0)形成决策。一个方法是将亮度值属于为该块维护的直方图分布(即,是背景)的概率与预定义或自适应阈值T进行比较:
Figure GDA0003739674050000122
因此,如果两个直方图足够相似,则块被分类为背景(无运动);否则,块可被分类为前景(运动)。可按照任何方式确定合适的阈值,包括:通过经验来确定;从帧序列推导(例如,作为在图像处理器103处生成的一个或更多个统计数据);以及按照任何合适的方式自适应地计算。
对于包含相对恒定的像素值的块,上述方法可良好地作用。然而,使用自适应阈值可提供更好的性能。例如,对于包含值由于动态图像特征(本身不表示场景中的总运动)而频繁地变化的像素的块,适当的是可使用更高的阈值以避免错误肯定。像素亮度的这种变化不仅可由于场景的变化(例如,在风中移动的树叶)而出现,而且还可来自于传感器噪声。
自适应阈值可从历史每块概率
Figure GDA0003739674050000123
生成,
Figure GDA0003739674050000124
可形成为:
Figure GDA0003739674050000125
其中
Figure GDA0003739674050000126
是第i块的当前亮度直方图根据式8表示前景运动的概率,
Figure GDA0003739674050000127
是第i块的当前历史每块概率。学习系数可与式5中所使用的相同。
历史每块概率基于块的历史点样本提供块内的预期变化量(或预期运动)的估计。
自适应阈值Tadaptive然后可形成为:
Figure GDA0003739674050000128
其中Tuser是预定义的参数,其可例如由用户通过经验来选择或者依据一个或更多个算法来自动地确定以实现系统的期望性能。
使用这种自适应阈值可意味着在高背景运动的区域中,由于自适应阈值在这些区域中增加,算法变得对运动不那么敏感。然而通常,由传感器噪声或小场景变化导致的背景运动预期远小于场景中的前景运动。
基于二进制特征的运动检测
现在将描述检测块的图像特性的变化(可指示该块中的运动)的另选方法。在本示例中,该另选方法同样使用亮度作为图像特性,但是通常,可使用任何合适的图像特性以适合于特定实现方式。代替直方图或者除了直方图之外,本示例中所描述的另选方法使用二进制特征来表示块的内容(例如,亮度)。更一般地,二进制特征可以是为块形成的任何类型的当前特征,该当前特征的值不限于是二进制比特。
已提出了使用图像参数的直方图作为运动检测的基础的另选方式。例如,M.
Figure GDA0003739674050000131
和M.
Figure GDA0003739674050000132
在“A Texture-Based Method for Modeling the Backgroundand Detecting Moving Objects”(IEEE Transactions on Pattern Analysis andMachine Intelligence,第28卷,第657-662页,2006)中描述了在帧的像素中识别局部二进制图案并且在那些二进制图案中寻找指示帧中的运动的变化。这些二进制图案计算快速,但是不总是代表计算它们的一般块或帧。结果,此技术可遭受错误肯定,在没有系统的仔细调校的情况下,难以在宽范围的不同视频流(例如,显著不同的场景和/ 或照明条件)上实现良好的性能。
再参照图1,如所指出的,运动检测器包括特征生成单元109和运动检测逻辑110。在使用二进制特征运动检测时,特征生成单元109维护块的学习特征,运动检测逻辑 110基于块的学习特征来形成块的运动输出,如下面将作为示例描述的。特征生成单元和运动检测逻辑可按照任何方式来操作,包括串行地或者同时/并行地。特征生成单元和运动检测逻辑可并行地操作,因为在特征生成单元利用所接收的图像特性更新学习特征之前运动检测逻辑可使用块的学习特征。运动检测器115可被有利地配置为利用上述点采样捕获各个块的图像特性(例如,亮度)值来维护帧的一个或更多个块的学习特征;在其它示例中,运动检测器可按照任何其它方式利用从帧的一个或更多个块采样或者关于帧的一个或更多个块形成的图像特性来操作。
并非为各个块生成直方图112,特征生成单元109可被配置为从样本点集合形成各个块的当前二进制特征,并且还为各个块维护表示块的二进制特征的历史内容的学习特征。学习特征113可在存储器111处保持。
采样单元120可被配置为按照任何合适的方式来执行点采样,包括按照上面在“基于点采样直方图的运动检测”部分中描述的任何方式。例如,采样单元可被配置为对根据Halton序列选择的块的样本点的伪随机选择进行采样(参见上式1)。在其它示例中,另一实体可执行点采样(按照任何合适的方式,包括按照本文中针对采样单元描述的任何方式)并且将值(或者多对值的比较,如下所述)传递给特征生成单元。
图6示出了流程图,该流程图示出运动检测器115的操作的示例。在(例如,从相机模块101)接收到块1101的点样本时,特征生成单元109和运动检测逻辑110 执行其相应的功能以便分别维护块的学习特征和形成块的运动输出。
特征生成单元可被配置为比较多对样本点处的值,使得针对每一点对形成二进制值。这是图6中的1102。二进制1可用于指示该对中的第一点具有比第二点更大的值,二进制0可用于指示该对中的第二点具有比第一点更大的值。例如,对于第j点对,二进制值Sj可形成为:
Figure GDA0003739674050000141
其中
Figure GDA0003739674050000142
Figure GDA0003739674050000143
是该对样本点处的亮度值。
各对点可从块的样本点集合(伪)随机地选择,或者根据某种预定义的算法来选择。如果样本点本身是(伪)随机集合,则一对中的哪一点被标记为第一点,哪一点被标记为该对的第二点无关紧要。可执行样本点的选择以使得各个样本点属于至多一对。在一些示例中样本点可属于不止一对:这可导致性能受影响,但是通常将减少存储器访问次数。块的每一个样本点可被分配给至少一对。可根据式13生成满足 Nsamples=2Npairs的二进制值集合。帧的各个块可共享相同的样本点集合(可能相同的样本点对集合)。一旦为帧的块定义了样本点对集合,则对于后续帧的该块使用相同的样本点对集合,以允许二进制特征与学习特征的比较。
通过形成表示块的多对点中的每一对的亮度值的比较结果的二进制值,可为块构造表示块的亮度值的采样的二进制特征。这是图6中的1103。基于针对为块定义的样本对集合形成的二进制值而形成该块的二进制特征。此处理示出于图2中,图2 示出了用于形成二进制特征902的块901的样本点对集合。各对的二进制比较的结果表示二进制特征902的比特。在二进制特征902中,黑条表示“1”,白条表示“0”。
特征生成单元可被配置为维护存储器111处的学习特征113,其表示各点对的预期值。学习特征包括一系列值,各个值对应于块的点对。例如,学习特征的各个值可落在0和1之间。接近0的值将指示相应对将预期具有值0;接近1的值将指示相应对将预期具有值1。常常在一和零之间相等地变化的对将趋向于学习值0.5。具有稳定像素亮度值的块的学习特征的大多数值将接近于一或零。像素亮度值规则地变化的块的学习特征的值将散布于大得多的范围上。在其它示例中,学习特征的值可落在任何其它合适的范围内。
学习特征113的值可由特征生成单元针对块根据下式来维护:
Figure GDA0003739674050000151
其中
Figure GDA0003739674050000152
是对j的学习特征的现有值,
Figure GDA0003739674050000153
是由特征生成单元形成的当前二进制特征中的对应点对的二进制值。这是图6中的1104并且包括使学习特征的现有值
Figure GDA0003739674050000154
衰减1105并且将当前二进制特征
Figure GDA0003739674050000155
的值分配给学习特征1106 。一旦特征生成单元更新了块的学习特征,就可移到帧1107的下一块并且在为该块接收的点样本上操作,直至帧的所有块被处理。
学习特征的各个值可被初始化为:
Figure GDA0003739674050000156
图3示出学习特征的两个示例。学习特征301表示具有稳定亮度内容的块,其值大部分落在0或1附近(即,该学习特征指示具有高置信度的点对的预期值)。学习特征302表示具有不稳定亮度内容的块,其许多值落在0和1之间(即,该学习特征指示具有低置信度的点对的预期值)。
在运动检测逻辑110处可使用块的学习特征113通过将块的当前二进制特征与块的学习特征进行比较来形成给定块包括运动的概率的测量。这可在利用当前二进制特征更新学习特征之前进行。如本文所用,术语概率可不是取介于0和1之间的值的真实概率,而是所接收的二进制特征(或者先前部分中的一个或更多个图像特性)属于学习分布(例如,直方图或学习特征)的可能性的任何测量。可在运动检测逻辑处例如根据下式利用点对的学习值和当前值的绝对差之和来计算概率的合适测量:
Figure GDA0003739674050000157
这是图6中的1108。可使用另选测量,例如平方差之和。优选地,计算所使用的测量以使得各个点对被独立地评估并且对之间不存在顺序关系。
运动检测逻辑110可使用关于块计算的概率Pforeground以便确定该块是否可能表示运动。概率可以是给定关于块形成的学习特征,可预期针对该块形成的当前二进制特征的可能性的测量。运动检测逻辑可就概率是否指示块包含运动(即,表示所捕获的场景中的前景)形成二进制决策,前景运动的决策为Fi=1,块表示背景(无运动) 的决策为Fi=0。一个方法是将所计算的概率与预定义或自适应阈值T进行比较,如上面关于式10描述的。
可按照任何方式来确定合适的阈值,包括:通过经验来确定;从帧序列推导(例如,作为在图像处理器处生成的一个或更多个统计数据);以及按照任何合适的方式自适应地计算。例如,可根据上面的式11和12来确定合适的自适应阈值,使得从历史每块概率
Figure GDA0003739674050000161
生成自适应阈值,
Figure GDA0003739674050000162
形成为:
Figure GDA0003739674050000163
这是图6中的1109。学习系数可与式6和/或11中所使用的相同。历史每块概率基于块的历史点样本提供块内的预期变化量或预期运动的估计。自适应阈值Tadaptive然后可形成为:
Figure GDA0003739674050000164
其中Tuser是预定义的参数,其可例如由用户通过经验来选择或者依据一个或更多个算法来自动地确定以实现系统的期望性能。这是图6中的1110。
这样,可针对帧的各个块就点采样的亮度值是否指示帧中存在运动形成二进制指示:
Figure GDA0003739674050000165
其中如果概率超过自适应阈值,则运动检测逻辑将块分类为包括运动(Fi=1),如果概率没有超过自适应阈值,则分类为不包括运动(Fi=0)。这是图6中的1111。
无论使用基于点采样直方图的运动检测还是基于二进制特征的运动检测,通过就帧的各个块是否被认为表示运动形成二进制决策,运动检测逻辑110可在存储器111 中存储运动矩阵114,该运动矩阵114表示被确定存在于所接收的帧中的块方式运动。这可以是针对块1112的运动输出。图7中针对帧701示出了所存储的矩阵114处保持的信息的示例。帧被分割成16个块,运动矩阵114指示帧中的哪些块表示运动:指示运动的块(例如,703)在图中利用“M”来标记,不指示运动的块(例如,702) 在图中不用“M”来标记。图中的这些标记仅是例示性的;通常,可使用确定块处是否存在运动的任何指示。运动矩阵114可按照任何合适的方式来表示帧的一个或更多个块的运动信息,包括例如作为二进制串、值阵列、或者作为被编码为帧或者与帧本身关联的信息。运动矩阵可以是或可以不是值的矩形阵列。
在本文所描述的示例中,决策逻辑116可被配置为使用在运动检测器115处针对帧的一个或更多个块生成的运动信息(例如,运动矩阵)来形成帧的运动输出117。例如,运动检测逻辑110可被配置为当在落在所定义的关注区域内的一个或更多个块中检测到运动时在帧中识别出运动,或者当预定邻接数量的块指示运动时可识别出运动。帧的运动输出117可采取任何合适的形式,包括作为二进制指示或者帧中观察到的运动程度的某种测量(例如,运动检测器115识别为代表运动的块的数量或比例)。
决策逻辑还可接收(例如,与运动矩阵一起或者包括在运动矩阵中)给定由特征生成单元针对块形成的直方图所表示的频率分布,那些块的亮度值(例如,在运动检测逻辑处形成)出现的可能性的测量。这可允许决策逻辑进一步解释为帧形成的运动矩阵。例如,决策逻辑可被配置为检查运动矩阵中没有指示运动的一个或更多个块是否在其相应帧中被运动矩阵中指示运动的块环绕,并且如果是这样,则如果其相应的可能性的测量落在由运动检测逻辑确定的预定义或自适应阈值附近,将那些被环绕的块也解释为指示运动。
根据本文所描述的原理配置的运动检测器115可在低功率处理器处具体实现。由运动检测器或者关联的决策逻辑116生成的块或帧的运动输出(例如,117)可被布置为唤醒另一处理器(例如,编码器106)。此特定示例使得能够以节能方式实现运动激活记录。
如本文所述的点采样、二进制特征和学习特征的使用可与任何其它合适的图像特性一起采用,不限于使用亮度值。例如,所述技术可与用于块的多对值一起使用,其中所述值是图像特性(例如,亮度、颜色的测量等)的分散的测量,例如标准偏差或者方差。
帧包括多个像素,各个像素具有关联的图像特性。本文中使用术语像素来表示关于其计算、采样、感测或者以其它方式形成图像特性的任何类型的图像元素。像素不限于与数字相机的感测元件(例如,红色、绿色或蓝色感测元件或其集合)具有一对一对应关系。如本文所用,术语随机涵盖真实随机和伪随机分布、选择或值二者;术语伪随机涵盖真实随机和伪随机分布、选择或值二者。
图1的相机模块和运动检测器被示出为包括若干功能块。这仅是示意性的,并非意在限定这些实体的不同逻辑元件之间的严格划分。各个功能块可按照任何合适的方式设置。将理解,本文中被描述为由相机模块或运动检测器的任何实体形成的中间值无需由相机模块或运动检测器在任何点物理地生成,可仅仅表示方便地描述由相机模块或运动检测器在其输入和输出之间执行的处理的逻辑值。
图4和图6的流程图仅是示意性的。那些流程图中所示的示例中的步骤的间距和相对位置不应被当作以绝对方式或相对于其它步骤指示各个步骤发生的精确时间。流程图仅仅示出根据本文所描述的示例可执行步骤的示例性顺序。
通常,上述任何功能、方法、技术或组件可实现于软件、固件、硬件(例如,固定逻辑电路)或其组合中。本文中可使用术语“模块”、“功能”、“组件”、“元件”、“单元”、“块”和“逻辑”来总体地表示软件、固件、硬件或其任何组合。在软件实现方式的情况下,模块、功能、组件、元件、单元、块或逻辑表示当在处理器上执行那时执行所指定的任务的程序代码。本文所述的算法和方法可由执行代码的一个或更多个处理器来执行,所述代码使得处理器执行所述算法/方法。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、快闪存储器、硬盘存储器以及可使用磁、光以及其它技术来存储指令或其它数据并且可由机器访问的其它存储器装置。
如本文所用,术语计算机程序代码和计算机可读指令表示用于处理器的任何类型的可执行代码,包括以机器语言表示的代码、解释性语言或脚本语言。可执行代码包括二进制代码、机器代码、字节代码、定义集成电路的代码(例如,硬件描述语言或网表)以及以诸如C、Java或OpenCL的编程语言代码表示的代码。可执行代码可以是例如任何类型的软件、固件、脚本、模块或库,其在虚拟机或其它软件环境处被适当地执行、处理、解释、编译、执行时,使得支持可执行代码的计算机系统的处理器执行代码所指定的任务。
处理器、计算机或计算机系统可以是任何类型的装置、机器或专用电路、或者其集合或一部分,其具有处理能力以使得它可执行指令。处理器可以是任何类型的通用或专用处理器,例如CPU、GPU、系统芯片、状态机、媒体处理器、专用集成电路 (ASIC)、可编程逻辑阵列、现场可编程门阵列(FPGA)等。计算机或计算机系统可包括一个或更多个处理器。
还旨在涵盖定义如本文所述的硬件的配置的软件,例如HDL(硬件描述语言) 软件,其用于设计集成电路,或者用于配置可编程芯片,以执行期望的功能。即,可提供一种以集成电路定义数据集的形式编码有计算机可读程序代码的计算机可读存储介质,所述集成电路定义数据集在集成电路制造系统中被处理时配置所述系统制造被配置为执行本文所述的任何方法的数据处理装置,或者制造包括本文所述的任何设备的数据处理装置。集成电路定义数据集可以是例如集成电路描述。
集成电路定义数据集可为计算机代码的形式,例如作为网表、用于配置可编程芯片的代码、作为在任何级别定义集成电路的硬件描述语言,包括作为寄存器传送级 (RTL)代码、作为高级电路表示(例如,Verilog或VHDL)以及作为低级电路表示 (例如,OASIS(RTM)和GDSII)。逻辑上定义集成电路的高级表示(例如,RTL) 可在被配置用于在包括电路元件的定义以及组合那些元件的规则的软件环境的上下文中生成集成电路的制造定义的计算机系统处被处理以便生成由所述表示如此定义的集成电路的制造定义。软件在计算机系统处执行以定义机器时通常是这样,为了使被配置用于生成集成电路的制造定义的计算机系统执行定义集成电路的代码,可能需要一个或更多个中间用户步骤(例如,提供命令、变量等)以生成该集成电路的制造定义。
现在将参照图5描述在集成电路制造系统处处理集成电路定义数据集以配置所述系统制造数据处理装置的示例。
图5示出包括布局处理系统1004和集成电路生成系统1006的集成电路(IC)制造系统1002的示例。IC制造系统1002被配置为接收IC定义数据集(例如,定义如本文的任何示例中所描述的数据处理装置),处理IC定义数据集,并且根据IC定义数据集来生成IC(例如,具体实现如本文的任何示例中所描述的数据处理装置)。IC 定义数据集的处理配置IC制造系统1002制造具体实现如本文的任何示例中所描述的数据处理装置的集成电路。
布局处理系统1004被配置为接收并处理IC定义数据集以确定电路布局。从IC 定义数据集确定电路布局的方法是本领域已知的,例如可涉及合成RTL代码以确定要生成的电路的门级表示(例如,从逻辑组件(例如,NAND、NOR、AND、OR、 MUX和FLIP-FLOP组件)方面)。可从电路的门级表示通过确定逻辑组件的位置信息来确定电路布局。这可自动地进行或者通过用户参与来进行,以便优化电路布局。当布局处理系统1004确定了电路布局时,它可向IC生成系统1006输出电路布局定义。电路布局定义可以是例如电路布局描述。
IC生成系统1006根据电路布局定义来生成IC,如本领域已知的。例如,IC生成系统1006可实现半导体装置制造工艺以生成IC,这可涉及在由半导体材料制成的晶圆上逐渐形成电子电路的多步的照相平版印刷和化学处理步骤序列。电路布局定义可为掩模的形式,该掩模可用在用于根据电路定义生成IC的平版印刷工艺中。另选地,提供给IC生成系统1006的电路布局定义可为计算机可读代码的形式,IC生成系统1006可使用其来形成用于生成IC的合适掩模。
由IC制造系统1002执行的不同处理可全部在一个位置实现(例如,由一方实现)。另选地,IC制造系统1002可以是分布式系统,使得一些处理可在不同位置处执行,并且可由不同方执行。例如,一些阶段:(i)合成表示IC定义数据集的RTL代码以形成要生成的电路的门级表示、(ii)基于门级表示来生成电路布局、(iii)根据电路布局来形成掩模以及(iv)利用该掩模制造集成电路,可在不同位置执行和/或由不同方执行。
在其它示例中,在集成电路制造系统处处理集成电路定义数据集可配置所述系统制造数据处理装置,而无需处理IC定义数据集以生成电路布局。例如,集成电路定义数据集可定义可重配置处理器(例如,FPGA)的配置,并且处理该数据集可配置 IC制造系统生成具有该定义的配置的可重配置处理器(例如,通过将配置数据加载到FPGA)。
在一些实施方式中,集成电路制造定义数据集当在集成电路制造系统中被处理时可使得集成电路制造系统生成如本文所述的装置。例如,通过集成电路制造定义数据集按照上面关于图5所描述的方式配置集成电路制造系统可使得如本文所述的装置被制造。
在一些示例中,集成电路定义数据集可包括在数据集处定义的硬件上运行或者与数据集处定义的硬件组合的软件。在图5所示的示例中,IC生成系统还可由集成电路定义数据集配置,以在制造集成电路时根据集成电路定义数据集处定义的程序代码将固件加载到集成电路上,或者向程序代码提供集成电路以随集成电路一起使用。
申请人由此孤立地公开了本文所述的各个单独的特征以及两个或更多个这些特征的任何组合,使得这些特征或组合能够依据本领域技术人员的公知常识基于本说明书作为整体来实现,而不管这些特征或特征的组合是否解决本文所公开的任何问题。鉴于以上描述,对于本领域技术人员而言将显而易见的是,在本发明的范围内可进行各种修改。
在附录A的编号段落中从特征的示例性组合方面描述本公开的各方面。
附录A
1.一种用于在帧序列中检测运动的数据处理装置,各个帧包括一个或更多个像素块,所述数据处理装置包括:
采样单元,其被配置为确定块的样本点集合处的图像特性;
特征生成单元,其被配置为形成所述块的当前特征,所述当前特征具有从所述样本点推导的多个值;以及
运动检测逻辑,其被配置为通过将块的当前特征与表示所述块的历史特征值的学习特征进行比较来生成所述块的运动输出。
2.根据段落1所述的数据处理装置,其中,所述特征生成单元被配置为:比较所述集合中的多对样本点的图像特性,各个比较是相应对的样本点之间的比较;并且形成所述块的当前特征,使得各个值表示一对样本点的所述比较的结果。
3.根据段落2所述的数据处理装置,其中,所述学习特征表示所述块的多对样本点的历史特征值。
4.根据段落3所述的数据处理装置,其中,关于一对样本点形成的当前特征的各个值在表示该对样本点的历史值的学习特征中具有对应值。
5.根据段落2、3或4所述的数据处理装置,其中,所述当前特征的各个值包括比特作为由运动检测逻辑针对相应一对样本点的所述比较的结果的二进制表示。
6.根据段落2至5中任一项所述的数据处理装置,其中,所述特征生成单元被配置为从所述块的样本点集合随机地选择各对点。
7.根据段落2至6中任一项所述的数据处理装置,其中,所述特征生成单元被配置为针对当前特征的各个值,利用二进制值来表示所述比较的结果,所述二进制值指示该对样本点的图像特性中的哪一个值较大。
8.根据段落2至7中任一项所述的数据处理装置,其中,所述学习特征的各个值处的历史值是由特征生成单元针对所述块的相应一对样本点的所述比较结果在多个帧上的加权平均。
9.根据段落1所述的数据处理装置,其中,所述当前特征是从样本点推导的图像特性直方图,其中所述多个值中的各个值对应于限定预定义的范围的条块并且包括具有落入该条块内的图像特性的采样点的数量的计数。
10.根据段落9所述的数据处理装置,其中,所述学习特征表示所述块的历史图像特性直方图。
11.根据段落10所述的数据处理装置,其中,所述当前特征的各个条块在具有该条块的所述预定义的范围的历史值的学习特征中具有对应条块。
12.根据段落9、10或11所述的数据处理装置,其中,所述学习特征的各个条块处的历史值是针对所述块具有落入该条块内的图像特性的采样点的数量的计数在多个帧上的加权平均。
13.根据任何前述段落所述的数据处理装置,其中,所述序列的各个帧包括相同的一个或更多个像素块。
14.根据任何前述段落所述的数据处理装置,其中,所述采样单元、特征生成单元和运动检测逻辑被配置为关于序列的各个帧的多个块执行其相应的功能,特征生成单元被配置为维护各个块的学习特征。
15.根据任何前述段落所述的数据处理装置,其中,所述采样单元被配置为依据位于采样点处的一个或更多个像素的像素值来识别各个图像特性。
16.根据任何前述段落所述的数据处理装置,其中,所述采样单元被配置为随机地生成所述块的样本点集合,在帧序列上所述样本点集合对于所述块是固定的。
17.根据任何前述段落所述的数据处理装置,其中,所述采样单元被配置为根据伪随机Halton序列来随机地生成所述块的样本点集合。
18.根据任何前述段落所述的数据处理装置,其中,所述特征生成单元包括采样单元。
19.根据任何前述段落所述的数据处理装置,其中,所述特征生成单元被配置为依据在所述序列的多个帧上接收的所述块的样本点来维护所述块的学习特征。
20.根据任何前述段落所述的数据处理装置,其中,所述特征生成单元被配置为通过在接收到所述序列的帧时使其多个值衰减并且将当前特征的值分配给学习特征的对应值来维护所述块的所述学习特征。
21.根据段落20所述的数据处理装置,其中,所述特征生成单元被配置为根据预定义的衰减因子来使学习特征的值衰减。
22.根据段落20或21所述的数据处理装置,其中,所述特征生成单元被配置为在将当前特征的值分配给学习特征的值之前根据预定义的加权因子对当前特征的值进行加权。
23.根据任何前述段落所述的数据处理装置,其中,所述运动检测逻辑被配置为通过计算当前特征的值与学习特征的对应值之差的测量来将针对所述块形成的当前特征与所述块的学习特征进行比较。
24.根据任何前述段落所述的数据处理装置,其中,由所述运动检测逻辑执行的所述比较包括基于所述差的测量就所述当前特征是否基于所述块的所述学习特征的历史值被预期在预定义或自适应阈值内形成估计。
25.根据段落24所述的数据处理装置,其中,所述运动检测逻辑被配置为如果所述估计超过所述预定义或自适应阈值,则生成运动输出以指示所述块处的运动。
26.根据段落24或25所述的数据处理装置,其中,所述运动检测逻辑被配置为维护所述块的预期变化程度的估计,并且依据该估计,为所述块形成自适应阈值。
27.根据段落26所述的数据处理装置,其中,所述运动检测逻辑被配置为通过在接收到帧时依据针对所述帧的所述块形成的当前特征与针对所述块维护的学习特征之间的相似度的测量更新所述块的预期变化程度的所述估计来维护所述估计。
28.根据任何前述段落所述的数据处理装置,其中,所述运动输出是运动的二进制指示,其标识由运动检测逻辑执行的比较的结果是否指示所述块中的运动。
29.根据任何前述段落所述的数据处理装置,其中,各个块包括帧的一个或更多个像素。
30.根据任何前述段落所述的数据处理装置,该数据处理装置还包括决策逻辑,该决策逻辑被配置为基于由运动检测逻辑关于帧的所述块生成的所述一个或更多个运动输出来生成该帧的运动的指示。
31.一种在帧序列中检测运动的方法,各个帧包括一个或更多个像素块,所述方法包括以下步骤:
识别块的样本点集合处的图像特性;
形成所述块的当前特征,所述当前特征具有从所述样本点推导的多个值;以及
通过将块的当前特征与具有表示所述块的历史特征值的多个值的学习特征进行比较来生成所述块的运动输出。
32.根据段落31所述的方法,该方法还包括以下步骤:
从所述块的样本点集合形成多对样本点;以及
针对各个对,比较该对样本点的图像特性,
其中,当前特征的所述多个值各自表示一对样本点的所述比较的结果。
33.根据段落32所述的方法,其中,所述学习特征表示所述块的多对样本点的历史特征值。
34.根据段落33所述的方法,其中,关于一对样本点形成的当前特征的各个值在表示该对样本点的历史值的学习特征中具有对应值。
35.根据段落32、33或34所述的方法,其中,所述当前特征的各个值包括比特作为由运动检测逻辑针对相应一对样本点的所述比较的结果的二进制表示。
36.根据段落32至35中任一项所述的方法,其中,形成多对样本点的步骤包括从所述块的样本点集合随机地选择各对点。
37.根据段落32至36中任一项所述的方法,其中,形成所述块的当前特征的步骤包括针对当前特征的各个值,利用二进制值来表示所述比较的结果,所述二进制值指示该对样本点的图像特性中的哪一个值较大。
38.根据段落32至37中任一项所述的方法,该方法还包括维护学习特征,使得所述学习特征的各个值处的历史值是针对所述块的相应一对样本点的所述比较结果在多个帧上的加权平均。
39.根据段落31所述的方法,其中,形成所述块的当前特征的步骤包括从样本点推导图像特性直方图,其中所述多个值中的各个值对应于限定预定义的范围的条块并且包括具有落入该条块内的图像特性的采样点的数量的计数。
40.根据段落39所述的方法,其中,所述学习特征表示所述块的历史图像特性直方图。
41.根据段落40所述的方法,其中,当前特征的各个条块在具有该条块的所述预定义的范围的历史值的学习特征中具有对应条块。
42.根据段落40或41所述的方法,该方法还包括维护学习特征,使得所述学习特征的各个条块处的历史值是针对所述块具有落入该条块内的图像特性的采样点的数量的计数在多个帧上的加权平均。
43.根据段落31至42中任一项所述的方法,该方法还包括随机地生成所述块的样本点集合,在帧序列上所述样本点集合对于所述块是固定的。
44.根据段落31至43中任一项所述的方法,该方法还包括依据在所述序列的多个帧上接收的所述块的样本点来维护所述块的学习特征。
45.根据段落44所述的方法,其中,维护所述块的学习特征的步骤包括在接收到所述序列的帧时,使学习特征的所述多个值衰减并且将当前特征的值分配给学习特征的对应值。
46.根据段落31至45中任一项所述的方法,其中,将针对所述块形成的当前特征与所述块的学习特征进行比较的步骤包括计算当前特征的值与学习特征的对应值之差的测量。
47.根据段落46所述的方法,其中,将针对所述块形成的当前特征与所述块的学习特征进行比较的步骤包括基于所述差的测量就所述当前特征是否基于所述块的所述学习特征的历史值被预期在预定义或自适应阈值内形成估计。
48.根据段落47所述的方法,该方法还包括维护所述块的预期变化程度的估计,并且依据该估计,为所述块形成所述自适应阈值。
49.根据段落48所述的方法,其中,维护所述块的预期变化程度的所述估计的步骤包括在接收到帧时,依据针对所述帧的所述块形成的当前特征与针对所述块维护的学习特征之间的相似度的测量来更新所述估计。
50.一种被配置为执行根据段落31至49中任一项所述的方法的运动检测系统。
51.根据段落1至30中任一项所述的数据处理装置,其中,所述数据处理装置在集成电路上以硬件来具体实现。
52.一种集成电路定义数据集,该集成电路定义数据集在集成电路制造系统中被处理时配置所述系统制造根据段落51所述的数据处理装置。
53.一种存储有集成电路的计算机可读描述的非暂时性计算机可读存储介质,所述计算机可读描述在集成电路制造系统中被处理时使得所述集成电路制造系统制造根据段落51所述的数据处理装置。
54.一种集成电路制造系统,该集成电路制造系统包括:
非暂时性计算机可读存储介质,其存储有描述根据段落51所述的数据处理装置的计算机可读集成电路描述;
布局处理系统,其被配置为处理所述集成电路描述以生成具体实现所述数据处理装置的集成电路的电路布局描述;以及
集成电路生成系统,其被配置为根据所述电路布局描述来制造所述数据处理装置。
55.用于执行根据段落31至49中任一项所述的方法的计算机程序代码。
56.一种存储有计算机可读指令的非暂时性计算机可读存储介质,所述计算机可读指令在计算机系统处执行时使得所述计算机系统执行根据段落31至49中任一项所述的方法。
57.一种基本上如本文中参照图1至图9中的任一图所示的数据处理装置。

Claims (18)

1.一种用于在帧序列中检测运动的数据处理装置,各个帧包括一个或更多个像素块,所述数据处理装置包括:
采样单元,该采样单元被配置为确定块的样本点集合处的图像特性;
特征生成单元,该特征生成单元被配置为比较所述集合中的多对样本点的图像特性,并且根据所确定的图像特性形成所述块的当前特征,各个比较是相应对的样本点之间的比较,所述当前特征具有从所述样本点推导的多个值,使得各个值表示一对样本点的所述比较的结果;以及
运动检测逻辑,该运动检测逻辑被配置为通过将块的当前特征与表示所述块的历史特征值的学习特征进行比较来生成所述块的运动输出。
2.根据权利要求1所述的数据处理装置,其中,所述学习特征表示所述块的所述多对样本点的历史特征值,并且关于一对样本点形成的当前特征的各个值在表示该对样本点的历史值的所述学习特征中具有对应值。
3.根据权利要求1或2所述的数据处理装置,其中,所述当前特征的各个值包括比特作为由所述运动检测逻辑针对相应一对样本点的所述比较的结果的二进制表示。
4.根据权利要求1或2所述的数据处理装置,其中,所述特征生成单元被配置为从所述块的所述样本点集合随机地选择各对点。
5.根据权利要求1或2所述的数据处理装置,其中,所述特征生成单元被配置为针对所述当前特征的各个值,利用二进制值来表示所述比较的结果,所述二进制值指示所述对的样本点的图像特性中的哪一个的值较大。
6.根据权利要求1或2所述的数据处理装置,其中,所述学习特征的各个值处的历史值是由所述特征生成单元针对所述块的相应一对样本点的所述比较结果在多个帧上的加权平均。
7.根据权利要求1或2所述的数据处理装置,其中,所述采样单元被配置为随机地生成所述块的所述样本点集合,在所述帧序列上所述样本点集合对于所述块是固定的。
8.根据权利要求1或2所述的数据处理装置,其中,所述采样单元被配置为根据伪随机Halton序列来随机地生成所述块的所述样本点集合。
9.根据权利要求1或2所述的数据处理装置,其中,所述特征生成单元被配置为通过在接收到所述序列的帧时根据预定义的衰减因子使所述块的所述学习特征的多个值衰减并且将所述当前特征的值分配给所述学习特征的对应值来维护所述学习特征。
10.根据权利要求9所述的数据处理装置,其中,所述特征生成单元被配置为在将所述当前特征的值分配给所述学习特征的值之前根据预定义的加权因子对所述当前特征的值进行加权。
11.根据权利要求1或2所述的数据处理装置,其中,由所述运动检测逻辑执行的所述比较包括基于所述当前特征的值与所述学习特征的对应值之差的测量就所述当前特征是否基于所述块的所述学习特征的历史值被预期在预定义或自适应阈值内形成估计。
12.根据权利要求11所述的数据处理装置,其中,所述运动检测逻辑被配置为如果所述估计超过所述预定义或自适应阈值,则生成所述运动输出以指示所述块处的运动。
13.根据权利要求11所述的数据处理装置,其中,所述运动检测逻辑被配置为维护所述块的预期变化程度的估计,并且依据该估计,为所述块形成所述自适应阈值。
14.根据权利要求13所述的数据处理装置,其中,所述运动检测逻辑被配置为通过在接收到帧时依据针对所述帧的所述块形成的所述当前特征与针对所述块维护的所述学习特征之间的相似度的测量更新所述块的预期变化程度的所述估计来维护所述估计。
15.根据权利要求1或2所述的数据处理装置,所述数据处理装置还包括决策逻辑,该决策逻辑被配置为基于由所述运动检测逻辑关于帧的所述块生成的所述一个或更多个运动输出来生成该帧的运动的指示。
16.根据权利要求1或2所述的数据处理装置,其中,所述采样单元被配置为通过在所述块的样本点集合处进行点采样来确定图像特性。
17.一种在帧序列中检测运动的方法,各个帧包括一个或更多个像素块,所述方法包括以下步骤:
识别块的样本点集合处的图像特性;
从所述块的样本点集合形成多对样本点;
针对每一对样本点,比较该对样本点的图像特性;
根据所识别的图像特性形成所述块的当前特征,所述当前特征具有从所述样本点推导的多个值,使得各个值表示一对样本点的所述比较的结果;以及
通过将块的当前特征与具有表示所述块的历史特征值的多个值的学习特征进行比较来生成所述块的运动输出。
18.一种集成电路制造系统,该集成电路制造系统包括:
非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储有描述在集成电路上以硬件具体实现的数据处理装置的计算机可读集成电路描述,所述数据处理装置用于在帧序列中检测运动,各个帧包括一个或更多个像素块,所述数据处理装置包括:
采样单元,该采样单元被配置为确定块的样本点集合处的图像特性;
特征生成单元,该特征生成单元被配置为比较所述集合中的多对样本点的图像特性,并且根据所确定的图像特性形成所述块的当前特征,各个比较是相应对的样本点之间的比较,所述当前特征具有从所述样本点推导的多个值,使得各个值表示一对样本点的所述比较的结果;以及
运动检测逻辑,该运动检测逻辑被配置为通过将块的当前特征与表示所述块的历史特征值的学习特征进行比较来生成所述块的运动输出;
布局处理系统,该布局处理系统被配置为处理所述集成电路描述以生成具体实现所述数据处理装置的集成电路的电路布局描述;以及
集成电路生成系统,该集成电路生成系统被配置为根据所述电路布局描述来制造所述数据处理装置。
CN201710182764.0A 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统 Active CN107230215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211231022.XA CN115526911A (zh) 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1605116.1A GB2549074B (en) 2016-03-24 2016-03-24 Learned feature motion detection
GB1605116.1 2016-03-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211231022.XA Division CN115526911A (zh) 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统

Publications (2)

Publication Number Publication Date
CN107230215A CN107230215A (zh) 2017-10-03
CN107230215B true CN107230215B (zh) 2022-10-25

Family

ID=56027410

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211231022.XA Pending CN115526911A (zh) 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统
CN201710182764.0A Active CN107230215B (zh) 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211231022.XA Pending CN115526911A (zh) 2016-03-24 2017-03-24 数据处理装置、运动检测方法、集成电路制造系统

Country Status (4)

Country Link
US (4) US10395102B2 (zh)
EP (2) EP3389013B1 (zh)
CN (2) CN115526911A (zh)
GB (2) GB2549074B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2549073B (en) 2016-03-24 2020-02-26 Imagination Tech Ltd Generating sparse sample histograms
US10929945B2 (en) * 2017-07-28 2021-02-23 Google Llc Image capture devices featuring intelligent use of lightweight hardware-generated statistics
US10089743B1 (en) * 2017-10-05 2018-10-02 StradVision, Inc. Method for segmenting an image and device using the same
CN109146814B (zh) * 2018-08-20 2021-02-23 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
US10863097B2 (en) * 2018-08-21 2020-12-08 Gopro, Inc. Field of view adjustment
CN109360199B (zh) * 2018-10-15 2021-10-08 南京工业大学 基于沃瑟斯坦直方图欧氏度量的图像重复区域的盲检测方法
CN110163888B (zh) * 2019-05-30 2021-03-02 闽江学院 一种新型的运动分割模型数量检测方法
US11257226B1 (en) * 2019-07-17 2022-02-22 Amazon Technologies, Inc. Low-overhead motion classification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101352029A (zh) * 2005-12-15 2009-01-21 模拟装置公司 用于场景变化检测的随机子采样分区表决算法
CN102693007A (zh) * 2011-03-04 2012-09-26 微软公司 姿势检测和识别
CN104680504A (zh) * 2013-11-26 2015-06-03 杭州海康威视数字技术股份有限公司 场景变化检测方法及其装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526028B2 (en) * 2003-07-25 2009-04-28 Taiwan Imaging-Tek Corp. Motion estimation method and apparatus for video data compression
AU2006252252B2 (en) * 2006-12-22 2009-10-01 Canon Kabushiki Kaisha Image processing method and apparatus
WO2010011923A1 (en) * 2008-07-24 2010-01-28 Gesturetek, Inc. Enhanced detection of circular engagement gesture
WO2013093771A1 (en) * 2011-12-22 2013-06-27 Koninklijke Philips Electronics N.V. Monitoring a scene
US9043069B1 (en) * 2012-11-07 2015-05-26 Google Inc. Methods and systems for scan matching approaches for vehicle heading estimation
US9374532B2 (en) * 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
JP2014186520A (ja) * 2013-03-22 2014-10-02 Toshiba Corp 画像処理装置、画像処理方法およびプログラム
KR102170689B1 (ko) * 2014-01-14 2020-10-27 한화테크윈 주식회사 영상 정합을 위한 특징점 샘플링 방법
US9552524B2 (en) * 2014-09-15 2017-01-24 Xerox Corporation System and method for detecting seat belt violations from front view vehicle images
US10110846B2 (en) * 2016-02-03 2018-10-23 Sharp Laboratories Of America, Inc. Computationally efficient frame rate conversion system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101352029A (zh) * 2005-12-15 2009-01-21 模拟装置公司 用于场景变化检测的随机子采样分区表决算法
CN102693007A (zh) * 2011-03-04 2012-09-26 微软公司 姿势检测和识别
CN104680504A (zh) * 2013-11-26 2015-06-03 杭州海康威视数字技术股份有限公司 场景变化检测方法及其装置

Also Published As

Publication number Publication date
EP3223239A2 (en) 2017-09-27
US20210303832A1 (en) 2021-09-30
EP3223239B1 (en) 2019-12-04
GB2549074A (en) 2017-10-11
US20170277941A1 (en) 2017-09-28
CN107230215A (zh) 2017-10-03
GB2550259A (en) 2017-11-15
US11676288B2 (en) 2023-06-13
EP3389013B1 (en) 2020-06-24
EP3389013A1 (en) 2018-10-17
US20230342949A1 (en) 2023-10-26
US10395102B2 (en) 2019-08-27
US11068703B2 (en) 2021-07-20
CN115526911A (zh) 2022-12-27
US20190332857A1 (en) 2019-10-31
GB201605116D0 (en) 2016-05-11
GB2549074B (en) 2019-07-17
GB201704158D0 (en) 2017-04-26
EP3223239A3 (en) 2017-11-29
GB2550259B (en) 2019-07-17

Similar Documents

Publication Publication Date Title
CN107230215B (zh) 数据处理装置、运动检测方法、集成电路制造系统
Zhuo et al. Cloud classification of ground-based images using texture–structure features
US12003871B2 (en) Generating sparse sample histograms in image processing
US11908106B2 (en) Processing received pixel values in an image processing system using pixel value subset groups
US11100375B2 (en) Processing a stream of pixel values in an image processing system using pixel value subset groups
US11688047B2 (en) Systems and methods for processing a stream of data values using data value subset groups
US10924695B2 (en) Processing received pixel values in an image processing system using pixel subset average values of grouped subsets
CN115830528A (zh) 一种图像去重的方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant