【技术实现步骤摘要】
【国外来华专利技术】具有交织通道数据的每通道处理的卷积引擎
技术介绍
由图像传感器捕获的图像数据或从其他数据源接收的图像数据通常在进一步处理或消耗之前在图像处理流水线中处理。例如,在提供给诸如视频编码器的后续部件之前,可校正、过滤或以其他方式修改原始图像数据。为了对捕获的图像数据执行校正或增强,可采用各种部件、单元级或模块。可构造这样的图像处理流水线,使得能够以有利的方式执行对捕获的图像数据的校正或增强,而不消耗其他系统资源。虽然可通过在中央处理单元(CPU)上执行软件程序来执行许多图像处理算法,但是在CPU上执行这些程序将消耗CPU和其他外围资源的大量带宽以及增加功耗。因此,图像处理流水线通常被实现为与CPU分离的硬件部件,并且专用于执行一个或多个图像处理算法。各种类型的图像处理涉及核和数据之间的卷积。不同的核可用于例如模糊、锐化、压花或在图像中执行边缘检测。此类卷积操作通常由CPU执行,这降低了CPU对于其他进程的可用性。
技术实现思路
实施方案涉及一种可配置卷积引擎,其用于通过配置卷积引擎中的部件的操作,以期望的方式对各种通道的输入数据执行卷积操作。卷积引擎可包括卷积核心电路和空间合并电路。卷积核心电路对输入数据执行卷积操作,以交织方式生成包括第一通道的第一值和第二通道的第二值的输出流。卷积核心电路还可执行后处理操作,包括通道间处理操作。空间合并电路对卷积核心电路的输出执行每通道操作,分别合并第一通道和第二通道的值的子集,并且以交织方式将空间合并的值组合成具有多个通道的输出流。附图说明图1是根 ...
【技术保护点】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。