本申请要求于2020年1月30日提交到韩国知识产权局的第10-2020-0011153号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
以下描述涉及图像数据处理。
背景技术:
各种类型的图像数据处理技术(包括用于改变由数据表示的图像以适合目的的技术)被积极地使用,并且用于图像操作、图像分析、图像识别和图像通信。在各种图像数据处理技术中,卷积处理被广泛用于模糊效果或锐化效果。在一个示例中,卷积处理是将图像数据中的中心像素及其相邻像素的像素值乘以分配给滤波器(或掩模,mask)的权重(或系数),并且将与它们的和对应的结果值分配为中心像素的像素值的处理方法。
技术实现要素:
提供本发明内容以便以简化的形式介绍将在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意图确定所要求权利的主题的关键特征或必要特征,也不意图用于帮助确定所要求权利的主题的范围。
在一个总体方面,提供一种传感器装置,所述传感器装置包括:图像传感器,被配置为获取图像数据;图像缓冲器,被配置为存储图像数据;以及图像处理器,被配置为:通过将与图像缓冲器的存储模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
图像处理器可被配置为:从不同模式的多个滤波器中选择与图像缓冲器的存储模式对应的滤波器,并且将选择的滤波器应用于存储在图像缓冲器中的图像数据。
可基于能够存储在图像缓冲器中的图像数据的行的数量以及滤波器的大小来确定不同模式的滤波器的数量。
图像处理器可被配置为:基于图像缓冲器中的最近存储图像数据的缓冲器区域,从多个模式的多个滤波器中选择用于当前存储在图像缓冲器中的图像数据的模式的滤波器。
图像处理器可被配置为:通过将用于卷积处理的卷积滤波器应用于存储在图像缓冲器中的图像数据,来生成卷积处理的图像数据作为经图像处理的数据。
针对存储在图像缓冲器中的图像数据的卷积处理可在传感器装置中执行。
图像处理器可被配置为:响应于图像数据的行被输入并被存储在图像缓冲器中,通过将卷积滤波器应用于存储在图像缓冲器中的图像数据而输出结果图像的行。
图像缓冲器可被配置为:存储包括按照模式排列的多个颜色分量的像素的图像数据,并且图像处理器可被配置为:通过将与所述模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
图像处理器可被配置为:将与模式中的第一颜色分量的排列模式对应的第一滤波器应用于存储在图像缓冲器中的图像数据,以及将与模式中的第二颜色分量的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据。
第一颜色分量和第二颜色分量可以是不同的颜色分量,并且第一滤波器和第二滤波器被交替地应用于存储在图像缓冲器中的图像数据的像素。
图像缓冲器可被配置为:以行为单位顺序地存储通过图像传感器获取的图像数据的部分。
图像处理器可被配置为:将滤波器应用于存储在图像缓冲器中的图像数据,并且通过对被应用滤波器的图像数据进行量化来生成量化的图像数据。
传感器装置可包括:输出接口,被配置为将经图像处理的数据发送到所述传感器装置的外部。
图像缓冲器可被配置为:顺序地覆写图像数据的行。
图像处理器可被配置为:基于图像缓冲器中的图像数据的最近改变的行,从多个模式的多个滤波器中选择用于当前存储在图像缓冲器的图像数据的滤波器。
输出接口可被配置为:响应于对象在经图像处理的数据中被检测到,将经图像处理的数据发送到所述传感器装置的外部。
在另一总体方面,提供一种由传感器装置执行的图像数据处理方法,所述图像数据处理方法包括:使用图像传感器获取图像数据;将获取的图像数据存储在图像缓冲器中;以及通过将与图像缓冲器的存储模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
生成经图像处理的数据的步骤可包括:从不同模式的多个滤波器中选择与图像缓冲器的存储模式对应的滤波器,并将选择的滤波器应用于存储在图像缓冲器中的图像数据。
生成经图像处理的数据的步骤可包括:通过将用于卷积处理的卷积滤波器应用于存储在图像缓冲器中的图像数据,来生成卷积处理的图像数据作为经图像处理的数据。
生成经图像处理的数据的步骤可包括:响应于获取的图像数据的行被输入并被存储在图像缓冲器中,通过将卷积滤波器应用于存储在图像缓冲器中的图像数据来生成结果图像的行。
图像数据可包括按照模式排列的多个颜色分量的像素,并且生成的步骤可包括:通过将与所述模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
生成的步骤可包括:将与模式中的第一颜色分量的排列模式对应的第一滤波器应用于存储在图像缓冲器中的图像数据;以及将与模式中的第二颜色分量的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据。
在另一总体方面,提供一种传感器装置,所述传感器装置包括:图像传感器,被配置为获取图像数据;图像缓冲器,被配置为以行为单位顺序地存储图像数据;以及图像处理器,被配置为:通过应用与最近存储在图像缓冲器中的图像数据的行的存储模式对应的滤波器来处理存储的图像数据。
通过下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
图1示出识别系统的整体配置的示例。
图2示出对象识别处理的示例。
图3示出由传感器装置执行的图像数据处理方法的操作的示例。
图4示出卷积处理过程的示例。
图5和图6示出针对图像数据执行卷积处理的示例。
图7a至图8示出针对拜耳模式的图像数据执行卷积处理的示例。
图9示出传感器装置的配置的示例。
图10示出识别设备的配置的示例。
贯穿附图和具体实施方式,除非另有描述或提供,否则相同的附图参考标记将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供以下具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备置和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅仅是示例,并且不限于在此所阐述的操作顺序,而是除了必须以特定顺序发生的操作之外,操作顺序可如在理解本申请的公开之后将是清楚地那样改变。此外,为了更加清楚和简明,可省略本领域中已知的特征的描述。
在此描述的特征可以以不同的形式来实现,并且不应被解释为限于在此描述的示例。相反,已提供在此描述的示例以仅示出实现在理解本申请的公开之后将是清楚的在此描述的方法、设备和/或系统的许多可行的方式中的一些方式。
在下文中,将参照附图进一步描述示例。在本公开中公开的示例的以下结构描述或功能描述仅旨在描述示例的目的,并且示例可以以各种形式实现。示例并不意味着受到限制,而是意图在权利要求的范围内也涵盖各种修改、等同物和替代物。
可在此使用诸如第一、第二等的术语以描述组件。这些术语中的每个术语不用于限定相应组件的本质、顺序或次序,而仅用于将相应组件与其他组件区分开。应当注意,如果描述一个组件“连接”、“结合”或“接合”到另一个组件,则尽管第一组件可直接连接、结合或接合到第二组件,但是第三组件可“连接”、“结合”或“接合”在第一组件与第二组件之间。
除非上下文另外清楚地指示,否则单数形式也意图包括复数形式。还将理解,当术语“包含”和/或“包括”在此使用时,说明存在陈述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。
在下文中,将参照附图详细描述示例。当参照附图描述示例时,相同的参考标记表示相同的构成元件,并且将省略与之相关的重复描述。
图1示出识别系统的整体配置的示例。
参照图1,识别系统100包括传感器装置110和识别设备120。识别系统100通过传感器装置110获取图像数据,并且通过识别设备120识别图像数据中所示的对象。识别系统100用于对象识别(诸如,面部识别或事物的识别)。
传感器装置110使用图像传感器(诸如,相机)获取图像数据,并且通过对获取的图像数据执行图像处理来生成经图像处理的结果数据。传感器装置110通过对获取的图像数据执行卷积处理来生成卷积处理的结果数据。传感器装置110通过将用于执行卷积运算的滤波器应用于图像数据来执行卷积处理。如果通过图像传感器获取的图像数据是拜耳模式的图像数据,则传感器装置110通过也针对拜耳模式的图像数据执行卷积处理来生成卷积处理的结果数据。如上所述,图像数据的卷积处理在传感器装置110中执行。在此,术语“滤波器”与术语掩模、核或模板可互换地使用。
在另一示例中,传感器装置110对卷积处理的图像数据进行压缩。例如,传感器装置110通过对卷积处理的图像数据进行量化来生成量化的图像数据作为结果数据。量化的图像数据是比通过图像传感器获取的原始图像数据具有更少的位的图像数据(例如,其中图像数据的所有像素中的每个像素具有第一像素值(例如,“0”)和第二像素值(例如,“1”)中的一个的二进制图像数据)。
在一个示例中,传感器装置110使用内部处理单元(例如,图像处理器或微控制器单元)自主地执行图像处理(诸如,卷积处理和/或量化)。经图像处理的结果数据被发送到识别设备120。在此,图像处理器是指在传感器装置110中执行处理图像数据的功能的处理器,并且不应被解释为限于仅执行处理图像的功能的处理器。在一个示例中,图像处理器执行除图像处理之外的功能(例如,控制传感器装置110)。
如上所述,首先在传感器装置110中而不是在识别设备120中针对通过传感器装置110获取的图像数据执行图像处理。例如,传感器装置110针对图像数据执行卷积处理和/或量化。在这个示例中,将经图像处理的结果数据从传感器装置110发送到传感器装置110的外部,因此,可减小数据传输所需的带宽以及数据传输量。
传感器装置110自主地执行需要相对低的计算复杂度的处理操作。例如,传感器装置110在对获取的图像数据执行卷积处理和/或量化之后执行诸如对象检测(例如,面部检测)的处理操作。如果对象在图像数据中被检测到,则传感器装置110将卷积处理的图像数据和/或量化的图像数据发送到传感器装置110的外部,并且如果对象在图像数据中未被检测到,则传感器装置110不将图像数据发送到外部。在本示例中,仅当对象在图像数据中被检测到时,卷积处理的图像数据和/或量化的图像数据才从传感器装置110被发送。
识别设备120从传感器装置110接收由传感器装置110进行图像处理的结果数据,并且基于接收的结果数据执行对象识别。在一个示例中,识别设备120使用训练的对象识别模型来执行对象识别。对象识别模型是例如神经网络模型,并且基于图像数据提供指示对象与输入到对象识别模型中的图像数据中所示的对象对应的得分(例如,期望值或概率值)。对象识别模型是具有与从传感器装置110接收的结果数据的位宽对应的位宽的神经网络模型。如果从传感器装置110接收的结果数据是具有低位宽的量化的图像数据,则使用具有与其对应的低位宽的神经网络模型,使得所需资源的量减少,并且处理速率增加。通过使用如上所述的具有低位宽的对象识别模型,识别系统100在有限嵌入式系统(诸如,智能传感器或智能电话)中以低功率、更少的存储器容量的使用和高速执行对象识别处理。
图2示出对象识别处理的示例。图2中的操作可以以如图所示的顺序和方式执行,然而,在不脱离所描述的说明性示例的精神和范围的情况下可改变一些操作的顺序或省略一些操作。图2中所示的操作中的许多操作可并行地或同时地执行。图2的对象识别处理的块以及块的组合由对象识别设备执行。在一个示例中,对象识别设备由基于专用硬件的计算机和执行指定功能的装置(诸如,处理器)或包括在对象识别设备中的专用硬件和计算机指令的组合来实现。除了下面图2的描述之外,图1的描述也适用于图2并且通过引用包含于此。因此,这里可不重复以上描述。
参照图2,对象识别处理包括操作210和操作220,在操作210中,传感器装置通过对图像数据执行图像处理来生成经图像处理的结果数据,在操作220中,识别设备基于经图像处理的结果数据执行对象识别。
在操作210中,传感器装置(在操作212中)使用图像传感器获取图像数据,并且(在操作214中)将获取的图像数据存储在传感器装置中的图像缓冲器中。在一个示例中,包括在传感器装置中的图像缓冲器具有有限的容量,因此,图像缓冲器顺序地存储通过图像传感器获取的图像数据的部分,而不是存储整个图像数据。例如,图像缓冲器在一个时间点仅存储构成图像数据的多个行之中的若干(例如,5)行(例如,行,row)的图像数据。这里,行是指图像数据中包括的多个像素之中的沿同一水平方向或沿同一垂直方向布置的一组像素。在一个示例中,由于有限的缓冲空间,图像缓冲器以行为单位存储图像数据,并且以顺序地覆写图像数据的方式存储图像数据。例如,假设由于有限的缓冲器区域,图像缓冲器仅存储5行的图像数据,则每当图像缓冲器接收到新的一行图像数据时,就将最近接收到的新的一行图像数据存储在图像缓冲器的缓冲器区域中存储最久的图像数据的行中。因此,存储在图像缓冲器的缓冲器区域中的图像数据之中的最久记录的图像数据从缓冲器区域移除。
通过图像传感器获取的图像数据具有多个颜色分量的像素被排列在其中的模式(例如,拜耳模式),并且该模式的图像数据被存储在图像缓冲器中。一般拜耳模式包括不同的颜色分量的像素值,例如,绿色分量的像素值、蓝色分量的像素值和红色分量的像素值,其中,根据行,蓝色分量的像素值和绿色分量的像素值交替排列,或者红色分量的像素值和绿色分量的像素值交替排列。然而,可通过图像传感器获取的图像数据的拜耳模式不限于特定拜耳模式,并且可存在构成图像数据的颜色分量的像素值的各种排列模式。例如,图像数据具有tetracell模式或britecell模式,在tetracell模式中,相同颜色分量的像素值被设置为单个组,在britecell模式中,拜耳模式中的绿色分量的像素值被替换为白色分量的像素值。在下文中,为了便于描述,将基于一般拜耳模式来提供描述。然而,可通过图像传感器获取的图像数据的模式不限于一般拜耳模式,并且可存在无限制的类型的模式。
在操作216中,传感器装置针对存储在图像缓冲器中的图像数据执行图像处理,并且在操作218中,传感器装置生成经图像处理的图像数据作为结果数据。传感器装置根据执行图像处理的时间点,使用与图像缓冲器的存储模式对应的模式来执行诸如卷积处理的图像处理。如上所述,存储在图像缓冲器中的图像数据的存储模式由于顺序的存储而随时间改变,并且传感器装置使用多个滤波器之中的与存储在图像缓冲器中的图像数据的存储模式对应的模式的滤波器来执行卷积处理。因此,应用于图像缓冲器中的图像数据的滤波器的模式也随时间改变,并且模式的改变以周期性重复。
在一些示例中,可在针对图像数据执行卷积处理之后进一步执行量化。在一个示例中,在量化期间,传感器装置使用半色调技术来对图像数据进行量化。半色调技术是将具有高位宽的图像数据转换为具有低位宽的图像数据(例如,二进制图像数据)的技术,其中,图像的像素值被表示为二维空间上的密度。例如,传感器装置通过将量化滤波器(诸如,抖动矩阵,dithermatrix)应用于图像数据来对图像数据进行量化,或者使用误差扩散来对图像数据进行量化。
由传感器装置生成的经图像处理的结果数据通过传感器装置的输出接口发送到识别设备。例如,传感器装置通过输出接口(诸如,移动工业处理器接口(mipi))的将结果数据发送到识别设备。基于mipi标准确定从传感器装置发送到识别设备的结果数据的行数。识别设备包括例如连接到mipi的应用处理器(ap)。
在操作220中,识别设备使用对象识别模型222执行对象识别。对象识别模型222是例如训练的神经网络模型,并且基于从传感器装置接收的经图像处理的结果数据提供关于对象识别的识别结果。对象识别处理在处理器的控制下执行,处理器可以是具有物理地构造成执行期望操作的电路的硬件实现的数据处理装置(诸如,包括在识别设备中的中央处理器(cpu)、图形处理器(gpu)或神经处理器(npu))。如果图像数据被输入到对象识别模型222中,则对象识别模型222输出指示图像数据中所示的对象对应于每个类(或标签)的概率或可能性的分数。识别设备基于与分数有关的信息来确定对象识别结果。
图3示出由传感器装置执行的图像数据处理方法的操作的示例。图3中的操作可以以如图所示的顺序和方式执行,然而,在不脱离所描述的说明性示例的精神和范围的情况下可改变一些操作的顺序或省略一些操作。图3中所示的操作中的许多操作可并行地或同时地执行。图3的图像数据处理方法的块和块的组合由基于专用硬件的计算机和执行指定功能的装置(诸如,处理器)或包括在传感器装置中的专用硬件和计算机指令的组合来执行。除了以下图3的描述之外,图1至图2的描述也适用于图3,并且通过引用包含于此。因此,这里可不重复以上描述。
参照图3,在操作310中,传感器装置使用图像传感器(诸如,相机)来获取图像数据。在操作320中,传感器装置将获取的图像数据存储在图像缓冲器中。由于图像缓冲器的有限的缓冲器区域,传感器装置以行为单位顺序地存储图像数据的部分。在另一示例中,图像传感器获取拜耳模式的图像数据,并且拜耳模式的图像数据被存储在图像缓冲器中。
在操作330中,传感器装置通过对存储在图像缓冲器中的图像数据执行图像处理来生成经图像处理的结果数据。传感器装置通过将与图像缓冲器的当前存储模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的结果数据。例如,传感器装置通过将用于卷积处理的卷积滤波器应用于存储在图像缓冲器中的图像数据,来生成卷积处理的图像数据作为结果数据。当通过图像传感器获取的图像数据的行被输入并存储在图像缓冲器中时,传感器装置通过将卷积滤波器应用于存储在图像缓冲器中的图像数据来执行卷积处理,输出结果图像的行。卷积滤波器包括将应用于图像数据的系数或权重,并且使用卷积滤波器的卷积处理的结果图像的像素值基于存储在图像缓冲器中的图像数据的像素值来确定。如上所述,在传感器装置中执行针对存储在图像缓冲器中的图像数据的卷积处理。
传感器装置从不同模式的滤波器中选择与图像缓冲器的当前存储模式对应的滤波器,并且将选择的滤波器应用于存储在图像缓冲器中的图像数据。在一个示例中,不同模式的滤波器的数量基于可存储在图像缓冲器中的图像数据的行的数量和滤波器的大小来确定。例如,如果图像缓冲器能够针对图像缓冲器的缓冲器大小存储五行图像数据,并且滤波器的大小是5×5,则可存在不同模式的五个滤波器。
传感器装置基于图像数据最近存储在图像缓冲器中的缓冲器区域,从多个模式的滤波器中选择将应用于当前存储在图像缓冲器中的图像数据的模式的滤波器。基于包括在图像缓冲器的缓冲器区域中的行之中的最近改变的行,从多个模式的滤波器中确定将用于图像处理的滤波器。
当图像数据被存储在图像缓冲器的整个缓冲器区域中时,或者当图像数据被存储在整个缓冲器区域的一部分中时,使用滤波器的图像处理过程开始。如果图像数据被存储在整个缓冲器区域的一部分中,则使用零填充(zero-padding)或环绕(wrap-around)进行图像处理,零填充通过用值“0”来填充图像处理所需的部分来执行图像处理,环绕将图像数据处理为好像图像数据的开始部分和结束部分彼此连接一样。
如果存储在图像缓冲器中的图像数据是排列有多个颜色分量的像素的模式(例如,拜耳模式)的图像数据,则传感器装置通过将与存储在图像缓冲器中的图像数据的拜耳模式中的颜色分量的排列模式对应的滤波器应用于存储在图像缓冲器中的图像数据,来生成经图像处理的结果数据。例如,在相对于存储在图像缓冲器中的图像数据的第一时间点,传感器装置将与拜耳模式中的第一颜色分量(例如,蓝色分量)的排列模式对应的第一滤波器应用于存储在图像缓冲器中的图像数据,并且将与不同于第一颜色分量的第二颜色分量(例如,绿色分量)的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据。第一滤波器和第二滤波器被交替地应用于存储在图像缓冲器中的图像数据的像素。例如,在相对于存储在图像缓冲器中的图像数据的第二时间点,传感器装置将与拜耳模式中的第二颜色分量(例如,绿色分量)的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据,并且将与不同于第二颜色分量的第三颜色分量(例如,红色分量)的排列模式对应的第三滤波器应用于存储在图像缓冲器中的图像数据。第二滤波器和第三滤波器也交替地应用于存储在图像缓冲器中的图像数据的像素。
在一些示例中,传感器装置通过在卷积处理之后执行量化来生成具有低位宽的结果数据。传感器装置通过将量化滤波器应用于对其执行卷积处理的图像数据来生成量化的图像数据。通过图像传感器获取的图像数据具有大数量的位。传感器装置通过经由包括在传感器装置中的处理单元(诸如,图像处理器或微控制器单元)自主地执行量化来减少与结果数据对应的图像数据的位数。
在操作340中,传感器装置将经图像处理的结果数据发送到传感器装置的外部。传感器装置通过输出接口(诸如,mipi)将结果数据发送到传感器装置的外部。如上所述,通过图像传感器获取的图像数据在传感器装置中被图像处理之后从传感器装置输出。
图4示出卷积处理过程的示例。图4中的操作可以以图如所示的顺序和方式执行,然而,在不脱离所描述的说明性示例的精神和范围的情况下可改变一些操作的顺序或省略一些操作。图4中所示的操作中的许多操作可并行地或同时地执行。图4的卷积处理过程的块和块的组合由基于专用硬件的计算机和执行指定功能的装置(诸如,处理器)或包括在卷积处理装置中的专用硬件和计算机指令的组合来执行。除了下面图4的描述之外,图1至图3的描述也适用于图4并且通过引用包含于此。因此,这里可不重复以上描述。
参照图4,在操作410中,通过图像缓冲器接收图像数据的当前行。在操作420中,传感器装置将接收的图像数据的当前行存储在图像缓冲器中。例如,传感器装置将图像数据的当前行记录在图像缓冲器的缓冲器区域中的记录最久图像数据的缓冲器区域中。这里,以行为单位定义记录图像数据的缓冲器区域。
在操作430中,传感器装置使用与图像缓冲器中的图像数据的存储模式对应的滤波器来执行卷积处理。例如,传感器装置使用预定义模式的卷积滤波器之中的与当前存储在图像缓冲器中的图像数据的存储模式对应的卷积滤波器来执行图像处理。这里,图像数据的存储模式例如根据包括在图像缓冲器的缓冲器区域中的多个行之中的最近存储图像数据的行而改变。
在操作440中,传感器装置输出卷积处理的结果数据。传感器装置通过将卷积滤波器应用于存储在图像缓冲器中的图像数据,经由卷积处理输出结果图像的行作为结果数据。
在操作450中,传感器装置确定针对整个图像数据的图像处理是否完成。传感器装置确定通过图像传感器获取的图像数据的最后一行是否被发送并存储在图像缓冲器中并且针对图像数据的最后一行的卷积处理是否全部完成。如果通过完成针对图像数据的最后一行的图像处理而全部完成了针对整个图像数据的图像处理,则终止卷积处理过程。
如果针对整个图像数据的图像处理尚未完成,则在操作460中,通过图像缓冲器接收图像数据的下一行。在一个示例中,图像数据的下一行是在通过图像传感器获取的图像数据中紧接在操作410中接收的图像数据的当前行之后的行。在操作470中,传感器装置将接收的图像数据的下一行存储在图像缓冲器中。传感器装置将图像数据的下一行记录在图像缓冲器的缓冲器区域中的记录最久图像数据的缓冲器区域中。传感器装置从操作430开始再次执行图像处理过程。
如上所述,传感器装置以行为单位顺序地将通过图像传感器获取的图像数据存储在图像缓冲器中,并且使用与存储在图像缓冲器中的图像数据的存储模式对应的滤波器来执行卷积处理,使得卷积处理在传感器装置中有效地执行,而与图像缓冲器的有限的缓冲器区域无关。
图5和图6示出针对图像数据执行卷积处理的示例。
图5示出图像数据500通过传感器装置的图像传感器获取。图像数据500包括多个行(例如,1,2,3,……,10),每个行是一组像素。例如,图像数据500的行“1”是与第一行对应的一组像素,图像数据500的行“2”是与第二行对应的一组像素。图像数据500被存储在包括在传感器装置中的图像缓冲器中。在本示例中,假设图像缓冲器的缓冲器区域仅存储五行图像数据。然而,图像缓冲器的缓冲器区域的大小不限于此。
类似于卷帘快门,图像缓冲器逐行地顺序存储图像数据500。例如,图像缓冲器顺序地存储图像数据500的行“1”至“5”,如存储模式510所示。由于有限的缓冲器区域,图像缓冲器以覆写的方式存储接收到的图像数据。例如,如果在存储模式510所示的图像缓冲器的存储状态下接收到图像数据500的行“6”,则图像缓冲器通过将图像数据的行“6”覆写到最久记录的缓冲器区域(记录图像数据的行“1”的缓冲器区域)来存储图像数据的行“6”,如存储模式520所示。此后,如果接收到图像数据500的行“7”,则图像缓冲器将图像数据的行“7”记录到最久记录的缓冲器区域(记录图像数据的行“2”的缓冲器区域),如存储模式530所示。以这种方式,存储在图像缓冲器中的图像数据的存储模式以存储模式510、存储模式520、存储模式530、存储模式540、存储模式550、存储模式560的顺序被顺序地表示。如上所述,图像数据500被逐行发送到图像缓冲器,并且图像缓冲器以覆写的方式将接收的图像数据的行存储在缓冲器区域中。
参照图6,示出针对图像缓冲器的每个存储模式执行卷积处理的示例。当图像缓冲器的存储模式改变时,用于卷积处理的滤波器的模式也根据图像缓冲器的存储模式而改变。传感器装置从不同模式610、620、630、640和650的滤波器中选择与图像缓冲器的当前存储模式对应的滤波器,并且将选择的滤波器应用于存储在图像缓冲器中的图像数据。
例如,对应于图像缓冲器中的图像数据的存储模式510,将模式610的滤波器应用于图像数据,并且对应于图像缓冲器中的图像数据的存储模式520,应用存储模式620的滤波器。在存储模式510的情况下,直接应用作为基本模式的模式610的滤波器。然而,在存储模式520的情况下,因为存储在图像缓冲器中的图像数据的行的顺序不是按顺序的,所以不应直接应用作为基本模式的模式610的滤波器。因此,传感器装置旋转滤波器的分量以与存储模式520的顺序对应,如模式620中所示,并且使用其中分量以“5,1,2,3,4”的顺序布置的模式620的滤波器。通过将模式610的滤波器应用于存储模式510的图像数据来确定与结果数据690的行“a”对应的数据(卷积处理的像素值),并且通过将模式620的滤波器应用于存储模式520的图像数据来确定与结果数据690的行“b”对应的数据。
此外,对应于存储模式530、存储模式540和存储模式550分别应用模式630的滤波器、模式640的滤波器和模式650的滤波器。如果图像数据的行“7”如存储模式530所示被存储在图像缓冲器中,则存储在图像缓冲器中的图像数据的顺序是“6,7,3,4,5”。在这个示例中,传感器装置使用具有与存储模式530的顺序对应的分量顺序“4,5,1,2,3”的模式630的滤波器。
在存储模式560的情况下,通过再次应用模式610的滤波器来确定与结果数据690的行“f”对应的数据。作为一个循环,应用于图像缓冲器的滤波器的模式从模式610重复地改变到模式650。具有以如上所述的周期性重复地改变的模式的滤波器将被称为“旋转滤波器”。每当图像数据被输入到图像缓冲器中时,用于卷积处理的滤波器的模式改变(例如,滤波器的分量被旋转)。不同模式的滤波器的数量对应于可存储在图像缓冲器中的图像数据的行的数量。例如,假设能够存储在图像缓冲器中的图像数据的行的数量为“5”,则存在5个不同模式的滤波器。传感器装置通过在每当图像数据的新的行被输入到图像缓冲器中时顺序地应用与图像缓冲器的存储模式对应的滤波器来获得卷积处理的结果数据690。
图7a至图8示出针对拜耳模式的图像数据执行卷积处理的示例。
参照图7a,示出通过图像传感器获取的拜耳模式的图像数据700的示例。拜耳模式的图像数据700以其中排列有蓝色分量702的像素值、绿色分量704和706的像素值以及红色分量708的像素值的形式表示。预先定义与图像数据700的每个像素对应的颜色分量。例如,图像数据700的奇数行包括交替排列的蓝色分量702的像素值和绿色分量704的像素值,图像数据700的偶数行包括交替排列的绿色分量706的像素值和红色分量708的像素值。然而,拜耳模式不限于本示例,并且可具有各种形式。
图7b示出存储图7a的拜耳模式的图像数据700的示例。参照图7b,以行为单位顺序地将图像数据700存储在图像缓冲器的缓冲器区域中,因此存储在图像缓冲器中的图像数据的存储模式随时间改变。
例如,图像缓冲器顺序地存储拜耳模式的图像数据700的行“1”至“5”,如存储模式710中所示。由于有限的缓冲器区域,图像缓存器以覆写的方式存储接收的图像数据。例如,如果在存储模式710中所示的图像缓冲器的存储状态下接收到图像数据700的行“6”,则图像缓冲器通过将图像数据的行“6”覆写到最久记录的缓冲器区域(记录图像数据的行“1”的缓冲器区域)来存储图像数据的行“6”,如存储模式715中所示。如果图像数据700以这种方式存储在图像缓冲器中,则图像数据以存储模式710、存储模式715、存储模式720、存储模式725、存储模式730、存储模式735、存储模式740、存储模式745、存储模式750、存储模式755、存储模式760……的顺序存储在图像缓冲器中,如图7b中所示。存储模式760示出与存储模式710相同的模式,并且存储模式710至存储模式755从存储模式760重复。
图8示出针对在图像缓冲器中以不同模式存储的拜耳模式的图像数据执行卷积处理的示例。当拜耳模式的图像数据被存储在图像缓冲器中时,图像缓冲器的存储模式按照从存储模式710至存储模式730的顺序改变。传感器装置通过将与存储在图像缓冲器中的图像数据的拜耳模式中的颜色分量的排列模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的结果数据890。结果数据890也具有拜耳模式。传感器装置从预定义模式的滤波器中选择与图像缓冲器的当前存储模式对应的滤波器,并且将选择的滤波器应用于存储在图像缓冲器中的图像数据。
传感器装置将与存储在图像缓冲器中的图像数据的拜耳模式中的颜色分量的排列模式对应的滤波器应用于图像数据。例如,通过对存储模式710的图像数据交替地应用对应于蓝色分量的滤波器812和对应于绿色分量的滤波器814(或者针对每两个空间应用滤波器812和814),对存储模式710的图像数据执行卷积运算,并且确定与结果数据890的行“a”对应的数据(卷积处理的像素值)。这里,对应于红色分量的滤波器816未被应用。通过交替地对存储模式715的图像数据应用对应于绿色分量的滤波器824和对应于红色分量的滤波器826,对存储模式715的图像数据执行卷积运算,并且确定与结果数据890的行“b”对应的数据。这里,对应于蓝色分量的滤波器822未被应用。通过交替地对存储模式720的图像数据应用对应于蓝色分量的滤波器832和对应于绿色分量的滤波器834,对存储模式720的图像数据执行卷积运算,并且确定与结果数据890的行“c”对应的数据。这里,不应用对应于红色分量的滤波器836。通过交替地对存储模式725的图像数据应用对应于绿色分量的滤波器844和对应于红色分量的滤波器846,对存储模式725的图像数据执行卷积运算,并且确定与结果数据890的行“d”对应的数据。这里,不应用对应于蓝色分量的滤波器842。通过交替地对存储模式730的图像数据应用对应于蓝色分量的滤波器852和对应于绿色分量的滤波器854,对存储模式730的图像数据执行卷积运算,并且确定与结果数据890的行“e”对应的数据。这里,不应用对应于红色分量的滤波器856。
如上所述,每当图像数据的新行被输入并存储在图像缓冲器中时,传感器装置通过顺序地应用与存储在图像缓冲器中的图像数据的拜耳模式对应的模式的滤波器来获得结果数据890。在这个示例中,传感器装置针对每个颜色分量执行卷积运算,但不将用于卷积运算的滤波器应用于未包括在输出数据890的行中的颜色分量。
图9示出传感器装置的配置的示例。
参照图9,传感器装置900包括图像传感器910、图像处理器920、存储器930、图像缓冲器940和输出接口950。传感器装置900对应于在此描述的传感器装置。
图像传感器910获取图像数据。例如,图像传感器910获取诸如彩色图像、灰度图像或红外图像的图像数据。图像缓冲器940存储通过图像传感器910获取的图像数据。图像缓冲器940以行为单位顺序地存储图像数据的部分。
图像处理器920控制传感器装置900的操作,并且包括例如数字信号处理器(dsp)、图像信号处理器(isp)和微控制器单元(mcu)中的任何一个或任何组合。
图像处理器920针对存储在图像缓冲器940中的图像数据执行图像处理(诸如,卷积处理和/或量化)。图像处理器920执行与以上参照图1至图8描述的图像处理相关的一个或多个操作。
例如,图像处理器920通过将与图像缓冲器940的当前存储模式对应的卷积滤波器应用于存储在图像缓冲器中的图像数据来生成卷积处理的结果数据。如果存储在图像缓冲器中的图像数据是拜耳模式的图像数据,则图像处理器920通过将与存储在图像缓冲器中的图像数据的拜耳模式中的颜色分量的排列模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的结果数据。在另一示例中,图像处理器920通过针对卷积处理的图像数据执行量化来生成量化的图像数据作为结果数据。
存储器930存储将由处理器920执行的指令和将用于执行图像处理的信息。存储器930存储通过图像传感器910获取的图像数据和经图像处理的结果数据。存储器930包括例如高速随机存取存储器和/或非易失性计算机可读存储介质。下面提供关于存储器930的进一步细节。
输出接口950将由图像处理器920进行图像处理的结果数据发送到传感器装置900的外部。输出接口950通过有线通信或无线通信将结果数据发送到识别设备。例如,输出接口950是mipi。在这个示例中,传感器装置900以通过mipi标准确定的带宽来发送结果数据。
图10示出识别设备的配置的示例。
参照图10,识别设备1020包括:处理器1030、存储器1040、存储装置1050、输入装置1060、输出装置1070和通信装置1080。识别设备1020的多个元件通过通信总线彼此进行通信。识别设备1020对应于在此描述的识别设备。
处理器1030控制识别设备1020的操作并且执行指令和功能以执行对象识别。例如,处理器1030执行存储在存储器1040或存储装置1050中的指令。处理器1030包括例如cpu、gpu和npu中的任何一个或任何组合,并且执行与参照图1至图9描述的对象识别相关的操作中的一个或多个。例如,处理器1030基于从传感器装置900接收的经图像处理的结果数据来执行对象识别。
存储器1040存储将由处理器1030执行的指令和将用于执行对象识别的信息。存储器1040包括例如高速随机存取存储器和/或非易失性计算机可读存储介质。下面提供关于存储器1040的进一步细节。
存储装置1050包括计算机可读存储介质。存储装置1050比存储器1040存储更大量的信息并且存储更长的时间。例如,存储装置1050包括诸如硬盘、光盘和固态驱动器的存储介质。
输入装置1060通过触觉、视频、音频或触摸输入从用户接收输入。例如,输入装置1060包括键盘、鼠标、触摸屏、麦克风或检测来自用户的输入并将检测到的输入发送到识别设备1020的任何其他装置。
输出装置1070通过视觉、听觉或触觉通道向用户提供识别设备1020的输出。输出装置1070包括例如显示器、触摸屏、扬声器、振动发生器或向用户提供输出的任何其他装置。
通信装置1080通过有线或无线网络与外部装置进行通信。例如,通信装置1080通过mipi从传感器装置900接收经图像处理的结果数据。
在此描述的设备、单元、模块、装置和其他组件通过硬件组件实现。可用于执行在本申请中描述的操作的硬件组件的示例适当地包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行在本申请中描述的操作的任何其他电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行在本申请中描述的操作的硬件组件中的一个或多个硬件组件。可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明起见,单数术语“处理器”或“计算机”可用于本申请中描述的示例的描述,但是在其他的示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或者两个或更多个硬件组件可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或者处理器和控制器来实现,一个或多个其他硬件组件可通过一个或多个其他处理器,或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,其中,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理以及多指令多数据(mimd)多处理。一个或多个处理器可包括硬件,例如,处理器、控制器和算术逻辑单元(alu)、dsp、微型计算机、fpga、可编程逻辑单元(plu)、微处理器或能够以限定的方式响应并执行指令的任何其他装置。
执行本申请中描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,其中,计算硬件被如上所述实现为执行指令或软件,以执行在本申请中描述的通过该方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可通过一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
用于控制处理器或计算机实现硬件组件并执行如上所述的方法的指令或软件被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置处理器或者计算机作为机器或专用计算机进行操作,以执行如上所述的由硬件组件和方法执行的操作。在一个示例中,指令或软件包括小应用程序、动态链接库(dll)、中间件、固件、装置驱动器、存储图像数据处理方法的应用程序中的至少一个。在一个示例中,指令或软件包括由处理器或者计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一个示例中,指令或软件包括由处理器或者计算机使用解释器执行的高级代码。本领域的普通编程人员可基于附图中所示的框图和流程图以及说明书中的对应描述,容易地编写指令或软件,附图中所示的框图和流程图以及说明书中的对应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制计算硬件(例如,一个或多个处理器或计算器)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,任何其他装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将所述指令或软件以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
虽然本公开包括具体示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例将仅被认为是描述性含义的,而不是出于限制的目的。每个示例中的特征或方面的描述将被认为是可适用于其他示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或者电路中的组件以不同的方式组合和/或用其他组件或者它们的等同物进行替换或者补充,则可获得适当的结果。因此,本公开的范围不由具体实施方式限定,而是由权利要求及它们的等同物限定,并且在权利要求及它们的等同物的范围内的所有变化将被解释为包括在本公开中。
1.一种传感器装置,包括:
图像传感器,被配置为获取图像数据;
图像缓冲器,被配置为存储图像数据;以及
图像处理器,被配置为:通过将与图像缓冲器的存储模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
2.根据权利要求1所述的传感器装置,其中,图像处理器还被配置为:从不同模式的多个滤波器中选择与图像缓冲器的存储模式对应的滤波器,并且将选择的滤波器应用于存储在图像缓冲器中的图像数据。
3.根据权利要求2所述的传感器装置,其中,基于能够存储在图像缓冲器中的图像数据的行的数量以及滤波器的大小来确定不同模式的滤波器的数量。
4.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像处理器还被配置为:基于图像缓冲器中的最近存储图像数据的缓冲器区域,从多个模式的多个滤波器中选择用于当前存储在图像缓冲器的图像数据的滤波器。
5.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像处理器还被配置为:通过将用于卷积处理的卷积滤波器应用于存储在图像缓冲器中的图像数据,来生成卷积处理的图像数据作为经图像处理的数据。
6.根据权利要求5所述的传感器装置,其中,针对存储在图像缓冲器中的图像数据的卷积处理在所述传感器装置中执行。
7.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像处理器还被配置为:响应于图像数据的行被输入并被存储在图像缓冲器中,通过将卷积滤波器应用于存储在图像缓冲器中的图像数据而输出结果图像的行。
8.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像缓冲器还被配置为:存储包括按照模式排列的多个颜色分量的像素的图像数据,并且
图像处理器还被配置为:通过将与所述模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
9.根据权利要求8所述的传感器装置,其中,图像处理器还被配置为:
将与第一颜色分量的排列模式对应的第一滤波器应用于存储在图像缓冲器中的图像数据,以及
将与第二颜色分量的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据。
10.根据权利要求9所述的传感器装置,其中,第一颜色分量和第二颜色分量是不同的颜色分量,并且
第一滤波器和第二滤波器被交替地应用于存储在图像缓冲器中的图像数据的像素。
11.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像缓冲器还被配置为:以行为单位顺序地存储通过图像传感器获取的图像数据的部分。
12.根据权利要求1至权利要求3中的任意一项所述的传感器装置,其中,图像处理器还被配置为:将滤波器应用于存储在图像缓冲器中的图像数据,并且通过对被应用滤波器的图像数据进行量化来生成量化的图像数据。
13.根据权利要求1至权利要求3中的任意一项所述的传感器装置,还包括:
输出接口,被配置为将经图像处理的数据发送到所述传感器装置的外部。
14.根据权利要求11所述的传感器装置,其中,图像缓冲器还被配置为:顺序地覆写图像数据的行。
15.根据权利要求11所述的传感器装置,其中,图像处理器还被配置为:基于图像缓冲器中的图像数据的最近改变的行,从多个模式的多个滤波器中选择用于当前存储在图像缓冲器的图像数据的滤波器。
16.根据权利要求13所述的传感器装置,其中,输出接口还被配置为:响应于对象在经图像处理的数据中被检测到,将经图像处理的数据发送到所述传感器装置的外部。
17.一种图像数据处理方法,所述图像数据处理方法包括:
获取图像数据;
将获取的图像数据存储在图像缓冲器中;以及
通过将与图像缓冲器的存储模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
18.根据权利要求17所述的图像数据处理方法,其中,生成经图像处理的数据的步骤包括:
从不同模式的多个滤波器中选择与图像缓冲器的存储模式对应的滤波器,并将选择的滤波器应用于存储在图像缓冲器中的图像数据。
19.根据权利要求17所述的图像数据处理方法,其中,生成经图像处理的数据的步骤包括:
通过将用于卷积处理的卷积滤波器应用于存储在图像缓冲器中的图像数据,来生成卷积处理的图像数据作为经图像处理的数据。
20.根据权利要求17所述的图像数据处理方法,其中,生成经图像处理的数据的步骤包括:
响应于获取的图像数据的行被输入并被存储在图像缓冲器中,通过将卷积滤波器应用于存储在图像缓冲器中的图像数据来生成结果图像的行。
21.根据权利要求17所述的图像数据处理方法,其中,图像数据包括按照模式排列的多个颜色分量的像素,并且
生成经图像处理的数据的步骤包括:通过将与所述模式对应的滤波器应用于存储在图像缓冲器中的图像数据来生成经图像处理的数据。
22.根据权利要求21所述的图像数据处理方法,其中,生成经图像处理的数据的步骤包括:
将与第一颜色分量的排列模式对应的第一滤波器应用于存储在图像缓冲器中的图像数据;以及
将与第二颜色分量的排列模式对应的第二滤波器应用于存储在图像缓冲器中的图像数据。
23.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,使得处理器执行根据权利要求17至权利要求22中的任意一项所述的图像数据处理方法。
24.一种传感器装置,包括:
图像传感器,被配置为获取图像数据;
图像缓冲器,被配置为以行为单位顺序地存储图像数据;以及
图像处理器,被配置为:通过应用与最近存储在图像缓冲器中的图像数据的行的存储模式对应的滤波器来处理存储的图像数据。
技术总结