一种面向图像处理的可重构架构平台设计方法转让专利

申请号 : CN201410369673.4

文献号 : CN104112053B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨硕周津杨阳

申请人 : 中国航天科工集团第三研究院第八三五七研究所

摘要 :

本发明公开了一种面向图像处理的可重构架构平台设计方法。该设计方法首先,分析并归纳常用复杂算法的多种运算类型。其次,对图像算法处理流程进行了可重构架构下的软硬件划分。然后,对多类型的图像算法运算类型进行可重构单元设计和实现,并在此基础上,对通用性的复杂算法全局互联架构进行了方案设计和技术实现。最后,基于此架构进行了通用化的卷积运算IP核的设计与实现。

权利要求 :

1.一种面向图像处理的可重构架构平台设计方法,其特征在于包括以下步骤:步骤一、实现信息处理流程及复杂算法组合:

通过对信号处理中各个图像处理算法运算类型在硬件上涉及的操作以及运算数据类型的分析,归类四种基本运算类型及其组合;

所述四种基本运算类型是乘加算术运算、比特串行运算、累加与数值比较运算和数据存取;

在复杂算法映射时,可通过配置、互联重构,分时复用组合所述四种基本运算类型,实现复杂算法映射;

步骤二、基于功能和效率的复杂算法软硬件划分方法:

①不适宜由软件处理的任务由硬件来做;

②图像算法的大数据流的预处理任务由硬件来做;

③关键路径上性能要求苛刻的任务由硬件来做;

④关键路径上、多循环次数的特定复杂运算任务由硬件来做;

⑤图像算法主处理任务的特征提取和大数据量的特征匹配由硬件来做;

⑥图像算法主处理任务关键路径上、多分支判断结构的子任务由软件来做;

⑦有可重配置性与多应用性灵活要求的任务由软件来做;

步骤三、算法芯片结构设计:

将所述四种基本运算类型作为可重构功能单元的基本粒度,针对数据片上流向特点设计出片上互联结构,结合数据存储器、配置信息存储器,图像算法处理指令控制器和逻辑控制引擎,实现了一个可扩展的通用可重构算法芯片处理架构平台;

步骤四、卷积运算IP核设计与实现:

不以卷积窗口运算作为主要计算方式,而采用行累加、列累加并进行减法消除,减少乘法和加法运算单元的资源调用,采用步骤三的可重构算法芯片处理架构平台来完成资源优化。

2.根据权利要求1所述的面向图像处理的可重构架构平台设计方法,其特征在于所述步骤一中的乘加算术运算是对数值结果的移位;所述比特串行运算是单比特的移位、数据抽头和数据异或。

3.根据权利要求2所述的面向图像处理的可重构架构平台设计方法,其特征在于所述对数值结果的移位是FFT中的蝶形运算、相关、滤波变换以及数字信号处理中常用的各种卷积运算、矩阵乘法;所述单比特的移位、数据抽头和数据异或是编码、高速串行、CRC校验。

4.根据权利要求1所述的面向图像处理的可重构架构平台设计方法,其特征在于所述步骤一中的累加与数值比较运算是图像处理常用的取最大值或最小值;所述数据存取是数据缓存、转置存储或直方图统计。

5.根据权利要求1所述的面向图像处理的可重构架构平台设计方法,其特征在于所述步骤二的不适宜由软件处理的任务是图像采集的高速接口传输和数模转换;所述图像算法的大数据流的预处理任务是校正、滤波、边缘检测、阈值分割;所述关键路径上性能要求苛刻的任务是图像压缩的编解码;所述关键路径上、多循环次数的特定复杂运算任务是卷积运算、FFT;所述图像算法主处理任务的特征提取和大数据量的特征匹配是SIFT算法的特征点提取和匹配;所述图像算法主处理任务关键路径上、多分支判断结构的子任务是目标识别、目标判断和目标决策;有可重配置性与多应用性灵活要求的任务是CPU可重构指令的控制分配。

6.根据权利要求1所述的面向图像处理的可重构架构平台设计方法,其特征在于所述步骤三的可重构算法芯片处理架构平台包括配置信息存储器、图像算法处理指令控制器、逻辑控制引擎、可重构功能单元核、数据存储器以及全局互联;

所述配置信息存储器与逻辑控制引擎连接;图像算法处理指令控制器与逻辑控制引擎连接;逻辑控制引擎与图像算法处理指令控制器、可重构功能单元核和配置信息存储器相连接;可重构功能单元核与全局互联和逻辑控制引擎相连接,数据存储器与图像算法处理指令控制器和全局互联相连接;全局互联与可重构功能单元核和数据存储器相连接。

7.根据权利要求6所述的面向图像处理的可重构架构平台设计方法,其特征在于所述可重构功能单元核包括至少一个可重构单元。

8.根据权利要求7所述的面向图像处理的可重构架构平台设计方法,其特征在于所述可重构单元由局部互联和至少一个可重构单元切片构成。

说明书 :

一种面向图像处理的可重构架构平台设计方法

技术领域

[0001] 本发明属于可重构设计技术领域,具体涉及一种面向图像处理的可重构架构平台设计方法。

背景技术

[0002] 目前面向各领域应用的图像处理越来越复杂,各种图像处理算法(如图像预处理、图像检测、跟踪等)运算量都十分巨大,同时又有着极高的实时性要求。基于DSP+FPGA的协同处理架构是目前采用的常用方法。在实现对相关算法软硬划分的基础上,充分发挥DSP的软件灵活性和FPGA的硬件实时性,实现系统软硬件协同工作与可靠运行。
[0003] 基于FPGA芯片的复杂算法处理所耗费的硬件资源非常巨大,导致在设计选型时都选用国外高端FPGA芯片,这些芯片短期内无法找到国产化替代的FPGA。随着系统设计集成化水平越来越高,传统的图像算法处理方案无法解决算法性能提升与资源消耗降低之间的矛盾,因此这就要求新的硬件平台在保证应用需求的灵活性前提下尽量获得ASIC的效率和性能。
[0004] 近几年发展起来的可重构处理器得到了广泛的研究,可重构架构在灵活性上吸取了DSP和FPGA可配置的特点,采用颗粒度更大的结构,获得性能提升的同时降低了配置的复杂性,提高了资源利用率,虽然在通用性上有所降低,但仍然可以满足特定领域的需求,获得接近ASIC的效率。

发明内容

[0005] 针对现有技术的不足,本发明拟解决的技术问题是:提供一种面向图像处理的可重构架构平台设计方法。该设计方法首先,分析并归纳常用复杂算法的多种运算类型。其次,对图像算法处理流程进行了可重构架构下的软硬件划分。然后,对多类型的图像算法运算类型进行可重构单元设计和实现,并在此基础上,对通用性的复杂算法全局互联架构进行了方案设计和技术实现。最后,基于此架构进行了通用化的卷积运算IP核的设计与实现。
[0006] 本发明解决所述技术问题的技术解决方案是:提供一种面向图像处理的可重构架构平台设计方法,其特征在于包括以下步骤:
[0007] 步骤一、实现信息处理流程及复杂算法组合:
[0008] 通过对信号处理中各个图像处理算法运算类型在硬件上涉及的操作以及运算数据类型的分析,归类四种基本运算类型及其组合;
[0009] 所述四种基本运算类型是乘加算术运算、比特串行运算、累加与数值比较运算和数据存取;
[0010] 在复杂算法映射时,可通过配置、互联重构,分时复用组合四种基本运算类型,实现复杂算法映射;
[0011] 步骤二、基于功能和效率的复杂算法软硬件划分方法:
[0012] ①不适宜由软件处理的任务应由硬件来做;
[0013] ②图像算法的大数据流的预处理任务由硬件来做;
[0014] ③关键路径上性能要求苛刻的任务应由硬件来做;
[0015] ④关键路径上、多循环次数的特定复杂运算任务应由硬件来做;
[0016] ⑤图像算法主处理任务的特征提取和大数据量的特征匹配由硬件来做;
[0017] ⑥图像算法主处理任务关键路径上、多分支判断结构的子任务应由软件来做;
[0018] ⑦有可重配置性与多应用性灵活要求的任务应由软件来做;
[0019] 步骤三、算法芯片结构设计:
[0020] 将四种基本运算类型作为可重构功能单元的基本粒度,针对数据片上流向特点设计出片上互联结构,结合数据存储器、配置信息存储器,图像算法处理指令控制器和逻辑控制引擎,实现了一个可扩展的通用可重构算法芯片处理架构平台;
[0021] 步骤四、卷积运算IP核设计与实现:
[0022] 不以卷积窗口运算作为主要计算方式,而采用行累加、列累加并进行减法消除,减少乘法和加法运算单元的资源调用,采用步骤三的可重构算法芯片处理架构平台来完成资源优化。
[0023] 所述步骤一中的乘加算术运算是对数值结果的移位;所述比特串行运算是单比特的移位、数据抽头和数据异或。
[0024] 所述对数值结果的移位是FFT中的蝶形运算、相关、滤波变换以及数字信号处理中常用的各种卷积运算、矩阵乘法;所述单比特的移位、数据抽头和数据异或是编码、高速串行、CRC校验。
[0025] 所述步骤一中的累加与数值比较运算是图像处理常用的取最大值或最小值;所述数据存取是数据缓存、转置存储或直方图统计。
[0026] 所述步骤二的不适宜由软件处理的任务是图像采集的高速接口传输和数模转换;所述图像算法的大数据流的预处理任务是校正、滤波、边缘检测、阈值分割;所述关键路径上性能要求苛刻的任务是图像压缩的编解码;所述关键路径上、多循环次数的特定复杂运算任务是如卷积运算、FFT;所述图像算法主处理任务的特征提取和大数据量的特征匹配是SIFT算法的特征点提取和匹配;所述图像算法主处理任务关键路径上、多分支判断结构的子任务是目标识别、目标判断和目标决策;有可重配置性与多应用性灵活要求的任务是CPU可重构指令的控制分配。
[0027] 所述步骤三的可重构的算法芯片架构平台包括配置信息存储器、图像算法处理指令控制器、逻辑控制引擎、可重构功能单元核、数据存储器以及全局互联;
[0028] 所述配置信息存储器与逻辑控制引擎连接;图像算法处理指令控制器与逻辑控制引擎连接;逻辑控制引擎与图像算法处理指令控制器、可重构功能单元核和配置信息存储器相连接;可重构功能单元核与全局互联和逻辑控制引擎相连接,数据存储器与图像算法处理指令控制器和全局互联相连接;全局互联与可重构功能单元核和数据存储器相连接。
[0029] 所述可重构功能单元核包括至少一个可重构单元。
[0030] 所述可重构单元由局部互联和至少一个可重构单元切片构成。
[0031] 与现有技术相比,本发明的有益效果是:
[0032] 1、本发明具备一定的通用性,在总结和精炼常用图像处理算法的基础上,分析了算法的运算特点,归纳了算法的运算类型,可很好的适用于基于SOPC和ASIC的复杂算法设计。
[0033] 2、本发明最大程度化节约了硬件资源,在有限的硬件资源上实现多种复杂算法功能,不依赖国外高端的FPGA芯片,有利于FPGA芯片国产化的发展进程。
[0034] 3、本发明将传统的功能模块化的IP核变为可重构运算单元与配置指令化IP核,通过选取不同的配置指令利用有限的可重构运算资源进行互联和运算。

附图说明

[0035] 图1是本发明一种面向图像处理的可重构架构平台设计方法的可重构算法芯片架构设计;
[0036] 图2是本发明一种面向图像处理的可重构架构平台设计方法的全局互联及存储架构;
[0037] 图3是本发明一种面向图像处理的可重构架构平台设计方法的卷积运算结构设计。

具体实施方式

[0038] 下面结合附图和实例对本发明进行详细介绍。
[0039] 本发明设计的一种面向图像处理的可重构架构平台设计方法(参见图1-3),具体步骤如下:
[0040] 步骤一、实现信息处理流程及复杂算法组合:
[0041] 通过对信号处理中各个图像处理算法运算类型在硬件上涉及的操作以及运算数据类型的分析,归类四种基本的运算类型,为基本可重构运算单元的架构设计提供依据。
[0042] ①图像校正一般分为灰度校正和几何校正,典型应用为非均匀性校正和稳像处理,操作类型为矩阵操作,运算类型为数据存取和乘加运算。
[0043] ②图像检测一般分为点目标和直线目标检测。点目标检测一般采用局部滤波方式,运算类型为数据缓存和乘加运算。直线检测一般采用hough变换,其对应的运算类型为数据存取、乘加和数值比较操作。
[0044] ③图像分割一般为点目标分割和面目标分割,将具有共同特性的像素聚类。典型应用为连通域标记和区域生长算法,运算类型为数据存取、数值比较和选择运算。
[0045] ④图像跟踪一般分为点目标跟踪和面目标跟踪,其中点目标跟踪的典型应用为卡尔曼滤波跟踪算法,运算类型为数据存取和乘加运算。面目标跟踪分为特征匹配和区域匹配,其中特征点匹配典型应用为SIFT算法,运算类型为乘加、数值比较,特征点匹配操作类型为矩阵操作,运算类型为乘加运算、数值比较、数据存取运算和选择运算。区域匹配典型应用为积相关匹配算法,可采用卷积和FFT两种运算方式实现,卷积运算类型为数据存储和乘加运算,FFT算法运算类型为数据存储和乘加运算。
[0046] ⑤图像增强一般采用图像直方图增强和DDE增强算法,其中直方图增强算法的运算类型为数据存取、累加和数据比较运算。DDE增强算法运算类型为数据缓存、乘加运算。
[0047] ⑥图像压缩一般采用频域变换方式,如DCT、小波变换等算法,DCT涉操作类型为局部滤波和并行串行转换操作,运算类型为数据缓存、乘加和比特串行运算。小波变换数据类型为数据缓存和乘加运算。
[0048] 表1 图像处理算法的运算类型的分析和归类总结
[0049]
[0050]
[0051] 通过上述图像处理算法的运算类型的分析和归类总结(参见表1)可以看出,虽然图像处理算法的运算方式和操作丰富,但是其运算类型存在一定的共性,可以归结以下四种基本运算类型及其组合,代表性地覆盖了一些基本的图像运算类型:
[0052] ①乘加算术运算,包括对数值结果的移位。如FFT中的蝶形运算、相关、滤波变换,以及数字信号处理中常用的各种卷积运算、矩阵乘法等。
[0053] ②比特串行运算,包括单比特的移位,数据抽头或数据异或。如编码、高速串行、CRC校验等。
[0054] ③累加与数值比较运算。如图像处理常用的取最大值或最小值等。
[0055] ④数据存取。如数据缓存、转置存储或直方图统计等。
[0056] 依据上述归类的运算类型,可以将各种复杂的图像处理算法最大程度地分解为四种运算类型的组合,并有针对性地对四种运算类型分别进行可重构运算单元电路结构的设计。在复杂算法映射时,可通过配置、互联重构,分时复用四种运算单元,有效的提高算法实现时硬件资源的利用率,提高系统集成的可靠性。
[0057] 步骤二、基于功能和效率的复杂算法软硬件划分原则:
[0058] 典型图像处理流程可被视为两个符合系统任务,其中一条流程为图像采集、图像校正、图像检测、图像分割和图像跟踪,另一条为图像采集、图像校正、图像增强、图像压缩和图像显示。上述两条单任务流图需要进一步深入的子任务细化。根据研究结果,单任务流图的软硬件划分原则如下:
[0059] ①不适宜由软件处理的任务应由硬件来做(如图像采集的高速接口传输和数模转换);
[0060] ②图像算法的大数据流的预处理任务由硬件来做(如校正、滤波、边缘检测、阈值分割);
[0061] ③关键路径上性能要求苛刻的任务应由硬件来做(如图像压缩的编解码);
[0062] ④关键路径上、多循环次数的特定复杂运算任务应由硬件来做(如卷积运算、FFT等);
[0063] ⑤图像算法主处理任务的特征提取和大数据量的特征匹配由硬件来做(如SIFT算法的特征点提取和匹配);
[0064] ⑥图像算法主处理任务关键路径上、多分支判断结构的子任务应由软件来做(如目标识别、目标判断和决策);
[0065] ⑦有可重配置性与多应用性灵活要求的任务应由软件来做(CPU可重构指令的控制分配)。
[0066] 面向可重构算法系统芯片,为从本质上提高任意单任务流图的IO吞吐量和硬件的重复利用率,可采用更为宏观的硬件流水线划分算法。根据常用算法运算类型分解,我们总可以将任意串行单任务流图根据相似性原则纵向划分为几个子图。其中运算类型最相似的子图可以用一个合成子图来描述并用一个定制可重构硬件模块单元来实现,而不同的硬件模块之间则可以实现一种宏流水线的软件调度方式从而使总系统IO吞吐量和硬件的重复利用率成倍增加。
[0067] 步骤三、算法芯片结构设计:
[0068] 本发明的主要思想是针对图像算法运算特点,提取基本运算类型,将其作为可重构功能单元的基本粒度,针对数据片上流向特点设计出结构简单且传输高效的片上互联结构,结合数据存储器、配置信息存储器,图像算法处理指令控制器和逻辑控制引擎,实现了一个可扩展的通用可重构算法芯片处理架构平台。
[0069] 可重构的算法芯片架构平台设计需要为每一种运算类型设计出相应的功能单元,将它们结合起来构成可重构功能单元核,承担图像算法的主要运算工作。同时,还需设计全局互联,配置信息存储器、数据存储器、逻辑控制引擎,结合图像算法处理指令控制器完成可重构图像处理任务,具体组织结构参见图1。
[0070] 可重构的算法芯片架构平台(参见图1)包括下列功能单元:配置信息存储器、图像算法处理指令控制器、逻辑控制引擎、可重构功能单元核、数据存储器以及全局互联。所述配置信息存储器与逻辑控制引擎连接;图像算法处理指令控制器与逻辑控制引擎连接;逻辑控制引擎与图像算法处理指令控制器、可重构功能单元核和配置信息存储器相连接;可重构功能单元核与全局互联和逻辑控制引擎相连接,数据存储器与图像算法处理指令控制器和全局互联相连接;全局互联与可重构功能单元核和数据存储器相连接。
[0071] 其中所述可重构功能单元核包括至少一个可重构单元。所述可重构单元由局部互联和至少一个可重构单元切片构成。
[0072] 工作时,首先外部上位机将配置信息发送到配置信息存储器中,图像算法处理指令控制器发出任务控制指令送入逻辑控制引擎,逻辑控制引擎接收图像算法处理指令控制器的指令后,从配置信息存储器中读取对应的配置信息发送给对应的可重构功能单元核;可重构功能单元核将配置信息进行运算,再将运算后产生的运算数据通过全局互联传送给数据存储器进行存储;图像算法处理指令控制器与可重构功能单元核间通过数据存储器进行数据交互。
[0073] 所述配置信息存储器用于存储外部上位机发送来的配置信息。
[0074] 所述图像算法处理指令控制器用于发出任务控制指令送入逻辑控制引擎。
[0075] 所述逻辑控制引擎主要负责读取、发送配置信息和与运算密切相关的逻辑控制。逻辑控制引擎工作时,在图像处理算法指令控制器发来的任务控制指令的指示下,从配置信息存储器中读取相应的配置信息并把它们发送给可重构功能单元核和全局互联。对各个功能单元的配置信息进行统计,通过配置信息可以控制可重构功能单元核的工作状态和任意两个功能单元的数据传输。
[0076] 所述可重构功能单元核是产生运算数据的唯一部件,每个可重构功能单元内部都配有可重构单元切片和局部互联结构,以缓存操作数据流,提高数据在本功能单元的计算、存储频率和硬件使用率,从而降低全局互联的压力。利用这个平台,多类型的图像处理算法可以通过改变配置信息,灵活的映射到至少一个可重构功能单元核上。
[0077] 所述数据存储器用于存储可重构功能单元核运算配置信息后产生的运算数据,数据存储器与图像处理算法指令控制器之间设计了数据通道,以应对不规则控制复杂的数据处理和小数据流硬件处理效率较低的图像算法,例如目标识别、判断、决策。
[0078] 所述全局互联用于可重构的算法芯片架构平台的各个功能单元之间的数据传输。
[0079] 根据基本运算类型研究设计四种常用可重构功能单元实现,分别是可重构算术运算单元(RAU)、比特串行运算单元(BSU)和加法密集运算单元(AAU),互联和存储结构单元:
[0080] ①可重构算术运算单元(RAU)
[0081] 乘加运算是图像处理算法中使用频率最高的运算,尤其是乘加和累加运算,例如滤波、FFT、相关等操作,这个结构是任何处理器或可重构结构中不可缺少的部分,所采用了经典的Booth Wallace-tree结构作为基本乘法运算单元。可以支持相邻时刻计算结果的累加运算(如FIR滤波、卷积运算等)。
[0082] ②比特串行运算单元(BSU)
[0083] 单比特操作在图像算法中也被广泛使用,例如图像压缩编解码、高速串行通信,CRC校验等等都大量使用了单比特逻辑运算,同时结合着抽头选取、比特移位等操作。
[0084] ③加法密集运算单元(AAU)
[0085] 加法密集运算单元(AAU)与RAU不同的是AAU将重点放在加法使用较密集的操作上,如数值比较、绝对值运算等。AAU模块适用诸如图像中值滤波,图像分割的门限判决等操作。
[0086] ④互联和存储结构单元
[0087] 从图像处理流程可以发现,数据基本是单向传输,且非随机的。例如图像数据沿校正、检测、分割、跟踪这样的顺序传递。因此,数据的流向可以被限制在一个较小的范围。所以针对全局互联设计了基于多总线多选择器的全局互联及存储架构。例如(参见图2)数据先通过第一可重构单元处理后通过总线开关送往第四可重构单元处理。
[0088] 该总线开关包含一个多路选择器、一个多路分离器和一个移位寄存器。多路选择器和多路分离器配置信息选择,配置信息包括源端选择和目的端选择控制;源端选择负责选择当前输入的数据来自哪个可重构功能单元,目的端选择负责选择当前数据传送到哪个可重构功能单元或者是数据存储器。为了简化数据流的组织,将所有功能单元包括数据存储器模块的输出数据宽度统一,同时根据各功能单元的运算需求和能力通过移位寄存器平衡不同速度的输入输出数据流。针对图像算法中类似FFT、直方图统计等算法需要大量进行存储器访存的情况,该互联结构提供可重构功能模块与存储器之间的快速访问,不需经过移位寄存器,直接连接功能模块的输出与存储器的输入端,数据位宽的统一放在局部互联和局部存储器中处理。
[0089] 步骤四、卷积运算IP核设计与实现:
[0090] 卷积运算是在图像处理中有着广泛的应用,如预处理中的局部滤波运算,匹配跟踪中的积相关运算,甚至FFT运算都可以借助卷积运算的思想来完成。所以,研究基于可重构架构的卷积运算IP核设计具有重要意义。
[0091] 卷积运算的一般实现方法为,首先根据卷积窗口大小进行图像的行像素缓存,然后对缓存的像素再进行缓存形成卷积所需的矩阵窗口,最后与卷积模板中的系数进行卷积运算。在实施时为了减少处理器和外部的存储器之间的接口带宽及内部缓存资源,输入的图像数据是以单像素宽度进入处理器并且缓存的像素行数为卷积矩阵的行数。传统的设计方法针对每一次不同的卷积运算都需要重新设计卷积运算模块,根据不同的窗口来确定不同的像素缓存结构,并根据不同的系数进行乘加运算。另外,卷积窗口的大小决定了矩阵窗口的乘法器和加法器的数量,即使将卷积运算拆分为行列运算,大窗口的卷积运算都会消耗大量的乘法器和加法器单元。本发明不以卷积窗口运算作为主要计算方式,而采用行累加、列累加并进行减法消除,可有效地减少乘法和加法运算单元的资源调用,同时也更方便采用可重构的架构来完成资源的优化实现。
[0092] 优化后的卷积运算方法(以3×3卷积窗口、6×6图像大小为例,参见图3):
[0093] 其中,整个卷积系统只调用一个乘法单元、两个加法单元、两个减法单元和一组移位寄存器,先后进行行累加和列累加运算。行累加运算过程如下:
[0094] 1.源图像和参考图像通过地址逻辑控制同步输入到乘法器的端口(A0,B0),进行乘法运算,输出结果为C0。
[0095] 2.计算后的结果分两个通路进行,一个通路根据乘法器输出结果完成行累加运算。
[0096] 3.另一个通路完成行累加控制,通过1×3的移位寄存器缓存输出经过减法器用控制行累加结果。(如行累加结果为C0,3=C0+C1+C2+C3,则减去缓存输出C0,使累加结果调整为C1,3=C1+C2+C3,下一次行累加结果为C1,4=C1+C2+C3+C4,则减去缓存输出C1,使累加结果调整为C2,4=C2+C3+C4,以此类推)。
[0097] 4.行累加结果同样分两个通路进行,一个通路通过1×6的行缓存完成列方向累加运算。
[0098] 5.另一个通路通过3×6的移位寄存器缓存输出控制列累加结果(如列累加结果为C0,20,则减去缓存输出C0,2,使累加结果调整为C6,20,下一次累加结果为C1,21,则减去缓存输出C1,3,使累加结果调整为C7,21,以此类推),并作为最终卷积结果输出。
[0099] 根据上述卷积设计方案,需要一个RAU_SLICE可重构单元,由于行累加和列累加一个时钟周期内同时进行,所以需要4个AAU_SLICE可重构单元完成加减法运算,同时需要卷积窗口大小的移位寄存器。基于可重构的卷积运算过程如下:
[0100] 1.通过全局互联开关控制命令从MEM输入源图像和参考图像至RAU_SLICE运算单元。
[0101] 2.RAU_SLICE完成乘法运算。
[0102] 3.RAU_SLICE通过全局互联开关控制结果分别传送到移位寄存器单元和AAU_SLICE单元0。
[0103] 4.AAU_SLICE单元0完成行累加运算。
[0104] 5.全局互联开关控制移位寄存器和AAU_SLICE单元0输出到AAU_SLICE单元1。
[0105] 6.AAU_SLICE单元1完成减法运算。
[0106] 7.列累加运算互联和运算方式同行累加运算,不再赘述。
[0107] 循环上述流程,即可得到最终的卷积输出结果。基于可重构的卷积运算IP核设计将传统的功能模块化的IP核变为可重构运算单元与配置指令化IP核,通过选取不同的配置指令利用有限的可重构运算资源进行互联和运算,可以实现多种图像算法功能。