当前位置: 首页 > 专利查询>苹果公司专利>正文

具有交织通道数据的每通道处理的卷积引擎制造技术

技术编号:22978633 阅读:17 留言:0更新日期:2020-01-01 00:52
本发明专利技术提供了如下实施方案,该实施方案涉及一种可配置卷积引擎,该可配置卷积引擎接收配置信息以对各种格式的流输入数据执行卷积和其他深度机器学习操作。该卷积引擎可包括卷积核心电路和空间合并电路。该卷积核心电路对输入数据执行卷积操作,以交织方式生成包括第一通道的第一值和第二通道的第二值的第一流。该卷积核心电路还可执行后处理操作,包括通道间处理操作。该空间合并电路对该卷积核心电路的输出执行每通道操作,分别合并该第一通道和该第二通道的值的子集,并且以交织方式将该空间合并的值组合成具有多个通道的输出流。

Convolution engine for each channel processing with interleaved channel data

【技术实现步骤摘要】
【国外来华专利技术】具有交织通道数据的每通道处理的卷积引擎
技术介绍
由图像传感器捕获的图像数据或从其他数据源接收的图像数据通常在进一步处理或消耗之前在图像处理流水线中处理。例如,在提供给诸如视频编码器的后续部件之前,可校正、过滤或以其他方式修改原始图像数据。为了对捕获的图像数据执行校正或增强,可采用各种部件、单元级或模块。可构造这样的图像处理流水线,使得能够以有利的方式执行对捕获的图像数据的校正或增强,而不消耗其他系统资源。虽然可通过在中央处理单元(CPU)上执行软件程序来执行许多图像处理算法,但是在CPU上执行这些程序将消耗CPU和其他外围资源的大量带宽以及增加功耗。因此,图像处理流水线通常被实现为与CPU分离的硬件部件,并且专用于执行一个或多个图像处理算法。各种类型的图像处理涉及核和数据之间的卷积。不同的核可用于例如模糊、锐化、压花或在图像中执行边缘检测。此类卷积操作通常由CPU执行,这降低了CPU对于其他进程的可用性。
技术实现思路
实施方案涉及一种可配置卷积引擎,其用于通过配置卷积引擎中的部件的操作,以期望的方式对各种通道的输入数据执行卷积操作。卷积引擎可包括卷积核心电路和空间合并电路。卷积核心电路对输入数据执行卷积操作,以交织方式生成包括第一通道的第一值和第二通道的第二值的输出流。卷积核心电路还可执行后处理操作,包括通道间处理操作。空间合并电路对卷积核心电路的输出执行每通道操作,分别合并第一通道和第二通道的值的子集,并且以交织方式将空间合并的值组合成具有多个通道的输出流。附图说明图1是根据一个实施方案的电子设备的高级图。图2是示出根据一个实施方案的电子设备中的部件的框图。图3是示出根据一个实施方案的使用图像信号处理器实现的图像处理流水线的框图。图4是示出根据一个实施方案的图像信号处理器中的视觉模块的框图。图5是根据一个实施方案的卷积引擎的框图。图6A是根据一个实施方案的卷积引擎的双卷积模式的框图。图6B是根据一个实施方案的卷积引擎的级联模式的框图。图6C是根据一个实施方案的卷积引擎的并联模式的框图。图7是示出根据一个实施方案的以多种模式操作卷积引擎的方法的流程图。图8是示出根据一个实施方案的卷积核心电路的框图。图9是根据一个实施方案的由响应整流器单元施加的非线性变换的曲线图。图10是示出根据一个实施方案的卷积核心的框图。图11A是示出根据一个实施方案的多平面格式卷积核心电路的输入和输出的概念图。图11B是示出根据一个实施方案的平面化格式卷积核心电路的输入和输出的概念图。图12是示出根据一个实施方案的空间合并电路的框图。图13A和图13B是示出根据一个实施方案的多平面格式空间合并电路的输入和输出的概念图。图13C和图13D是示出根据一个实施方案的平面化格式空间合并电路的输入和输出的概念图。图14是示出根据一个实施方案的操作空间合并电路的方法的流程图。图15是示出根据一个实施方案的通道合并器的框图。图16是示出根据一个实施方案的平面化格式通道合并器的输入和输出的概念图。仅仅出于示例目的,附图描绘以及详细说明描述各种非限定性实施方案。具体实施方式现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。然而,可以在没有这些具体细节的情况下实施所述实施方案。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。本公开的实施方案涉及包括卷积核心电路和空间合并电路的可配置卷积引擎。卷积核心电路通过将多个卷积核应用于输入数据来生成包括与多个交织通道相关联的值的流。在流的生成和一个或多个通道间后处理操作之后,空间合并电路对交织的流执行每通道空间合并和/或归一化操作。每通道空间合并和归一化操作有利于深入学习架构中的图像处理。此外,在不显著牺牲计算机视觉任务性能的情况下,减小了数据大小。示例性电子设备本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如个人数字助理PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自AppleInc.(Cupertino,California)的设备、iPod设备、Apple设备和设备。可选地使用其他便携式电子设备,诸如可穿戴设备、膝上型电脑或平板电脑。在一些实施方案中,该设备不是便携式通信设备,而是台式计算机或不是为便携式使用而设计的其他计算设备。在一些实施方案中,所公开的电子设备可包括触敏表面(例如,触摸屏显示器和/或触摸板)。以下结合图1描述的示例电子设备。图1(例如,设备100)可包括用于接收用户输入的触敏表面。电子设备还可包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。图1是根据一个实施方案的电子设备100的高级图。设备100可包括一个或多个物理按钮,诸如“home”按钮或菜单按钮104。菜单按钮104例如用于导航到在设备100上执行的一组应用程序中的任何应用程序。在一些实施方案中,菜单按钮104包括识别菜单按钮104上的指纹的指纹传感器。指纹传感器能够被用来确定菜单按钮104上的手指是否具有与为解锁设备100存储的指纹匹配的指纹。另选地,在一些实施方案中,菜单按钮104被实现为触摸屏上显示的图形用户界面(GUI)中的软键。在一些实施方案中,设备100包括触摸屏150、菜单按钮104、用于使设备开/关机和用于锁定设备的下压按钮106、音量调节按钮108、用户身份模块(SIM)卡槽110、耳麦插孔112和对接/充电外部端口124。下压按钮106可被用于通过压下该按钮并将该按钮保持在压下状态达预定义的时间间隔来对设备进行开关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施方案中,设备100还通过麦克风113接受用于激活或去激活某些功能的语音输入。设备100包括各种部件,包括但不限于存储器(可包括一个或多个计算机可读存储介质)、存储器控制器、一个或多个中央处理单元(CPU)、外围设备接口、RF电路、音频电路、扬声器111、麦克风113、输入/输出(I/O)子系统和其他输入或控制设备。设备100可包括一个或多个图像传感器164、一个或多个接近传感器166,以及一个或多个加速度计168。设备100可包括图1中未示出的部件。设备100仅是电子设备的一个示例,并且设备100可具有比上面列出的更多或更少的部件,其中一些部件可组合成部件或具有不同的配置或布置。以上列出的设备100的各种部件体现为硬件、软件、固件或其组合,包括一个或多个信号处理和/或专用集成电路(ASIC)。图2是示出根据一个实施方案的设备100中的部件的框图。设备100可执本文档来自技高网...

【技术保护点】
1.一种卷积引擎,包括:/n卷积核心电路,所述卷积核心电路被配置为对输入数据执行卷积操作来以交织方式生成包括第一通道的第一值和第二通道的第二值的第一流;和/n空间合并电路,所述空间合并电路耦接到所述卷积核心电路以从所述卷积核心电路接收所述第一流,所述空间合并电路被配置为:/n通过合并所述第一通道的所述第一值的子集来生成第一空间合并值;/n通过合并所述第二通道的所述第二值的子集来生成第二空间合并值;以及/n在第二流中交织所述第一空间合并值和所述第二空间合并值。/n

【技术特征摘要】
【国外来华专利技术】20170427 US 15/499,5021.一种卷积引擎,包括:
卷积核心电路,所述卷积核心电路被配置为对输入数据执行卷积操作来以交织方式生成包括第一通道的第一值和第二通道的第二值的第一流;和
空间合并电路,所述空间合并电路耦接到所述卷积核心电路以从所述卷积核心电路接收所述第一流,所述空间合并电路被配置为:
通过合并所述第一通道的所述第一值的子集来生成第一空间合并值;
通过合并所述第二通道的所述第二值的子集来生成第二空间合并值;以及
在第二流中交织所述第一空间合并值和所述第二空间合并值。


2.根据权利要求1所述的卷积引擎,其中所述空间合并电路包括:
输入缓冲器,所述输入缓冲器被配置为接收所述第一流并且以所述交织方式存储所述第一流的所述第一值和所述第二值;
列处理器,所述列处理器被配置为:
通过在所述输入缓冲器的同一行中合并所述第一值的子集来生成第一列合并数据值;以及
通过在所述输入缓冲器的同一行中合并所述第二值的所述子集来生成第二列合并数据值;
列累加缓冲器,所述列累加缓冲器被配置为接收并存储所述第一列合并数据值和所述第二列合并数据值;
行压缩器,所述行压缩器耦接到所述列累加缓冲器并被配置为:
通过合并存储在所述列累加缓冲器的同一行中的所述第一列合并值来生成第一空间合并值;以及
通过合并存储在所述列累加缓冲器的同一行中的所述第二列合并值来生成第二空间合并值;以及
输出所述第一空间合并值和所述第二空间合并值。


3.根据权利要求2所述的卷积引擎,其中所述空间合并电路还包括耦接到所述输入缓冲器和所述列压缩器的每像素计算,并且所述每像素计算被配置为:
检索存储在所述输入缓冲器的同一行中的所述第一通道的所述第一数据值的所述子集,并对所述第一数据值应用偏移,对所述第一数据值求平方,或者确定所述第一数据值的绝对值;以及
检索存储在所述输入缓冲器的同一行中的所述第二通道的所述第二数据值的所述子集,并对所述第二数据值应用偏移,对所述第二数据值求平方,或者确定所述第二数据值的绝对值。


4.根据权利要求2所述的卷积引擎,其中所述空间合并电路还包括平方根单元,所述平方根单元耦接到所述行压缩器,并且被配置为确定所述第一空间合并值的平方根和所述第二空间合并值的平方根。


5.根据权利要求2所述的卷积引擎,其中所述空间合并电路还包括耦接到所述行压缩器和所述输入缓冲器的局部响应归一化(LRN)单元,所述LRN单元被配置为通过将所述第一空间合并值应用于所述第一通道的所述第一值并且将所述第二空间合并值应用于所述第二通道的所述第二值来执行局部响应归一化。


6.根据权利要求2所述的卷积引擎,其中所述空间合并电路包括:
平方根单元,所述平方根单元耦接到所述行压缩器,并且被配置为确定所述第一空间合并值的平方根和所述第二空间合并值的平方根;
耦接到所述行压缩器的局部响应归一化(LRN)单元,所述LRN单元被配置为通过将所述第一空间合并值应用于所述第一通道的所述第一值并且将所述第二空间合并值应用于所述第二通道的所述第二值来执行局部响应归一化;
延迟器,所述延迟器被配置为耦接到所述输入缓冲器和所述LRN单元,并且被配置为向所述LRN单元提供所述第一值和所述第二值;
具有耦接到所述行压缩器、所述平方根单元和所述LRN单元的输入的复用器,所述复用器被配置为选择所述行压缩器、所述平方根单元或所述LRN单元的输出作为所述第二流。


7.根据权利要求2所述的卷积引擎,其中:
所述列压缩器通过确定所述第一值的所述子集的最大值、所述第一值的所述子集的最小值或所述第一值的所述子集的总和合并所述第一值的所述子集;
所述列压缩器通过确定所述第二值的所述子集的最大值、所述第二值的所述子集的最小值或所述第二值的所述子集的总和合并所述第二值的所述子集。


8.根据权利要求2所述的卷积引擎,其中:
所述行压缩器通过确定所述第一列合并值的最大值、所述第一列合并值的最小值或所述第一列合并值的总和合并所述第一列合并值;并且
所述行压缩器通过确定所述第二列合并值的最大值、所述第二列合并值的最小值或所述第二列合并值的总和合并所述第二列合并值。


9.根据权利要求1所述的卷积引擎,其中所述卷积核心电路包括:
执行集群,所述执行集群被配置为生成所述第一通道的所述第一值和所述第二通道的所述第二值;和
后处理电路,所述后处理电路耦接到所述执行集群并且被配置为通过交织所述第一通道的所述第一值和所述第二通道的所述第二值生成所述第一流。


10.根据权利要求9所述的卷积引擎,其中所述后处理电路包括:
多通道归一化互相关(NCC)单元,所述多通道NCC单元耦接到所述执行集群并被配置为计算与所述第一值和所述第二值相关联的NCC得分;
响应整流器单元,所述响应整流器单元耦接到所述执行集群并且被配置为对来自所述执行集群的所述第一通道的所述第一值和所述第二通道的所述第二值执行非线性变换;和
通道间局部响应归一化(LRN)单元,所述通道间LRN...

【专利技术属性】
技术研发人员:朴盛熙
申请(专利权)人:苹果公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1