一种基于视网膜机制的高速低功耗图像处理器转让专利

申请号 : CN201910684793.6

文献号 : CN110517183B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周军项晓强刘丽丽

申请人 : 电子科技大学

摘要 :

该发明公开了一种基于视网膜机制的高速低功耗图像处理器,属于图形处理领域。针对背景技术中存在的问题,本专利提出了一种高速、低功耗的基于人眼视网膜技术启发机制的色调映射处理器。面向嵌入式等智能设备的应用,不仅可以处理低动态设备显示高动态图像的问题,亦可以对夜间亮度较暗的图像进行亮度上的增强。具有单位功耗可以处理更多的像素数据,提高智能物联网设备的数据处理效率;实现了每秒189帧图像的处理速度,基本上超过了现有的相关硬件实现的处理技术,完全可以满足无人车、无人机等相关设备的应用需求;可根据当前使用环境的需求进行功能或技术上的实时可编程调整,大大增强的处理器的功能灵活性。

权利要求 :

1.一种基于视网膜机制的高速低功耗图像处理器,该处理器依次通过:光感受器模块、水平细胞处理模块、第二基于并行的数据分块处理模块、流水线处理模块、双极细胞处理模块对图像进行处理;

所述光感受器模块包括:相邻帧特征共享模块和第一基于并行的数据分块处理模块,输入图像同时输入相邻帧特征共享模块和第一基于并行的数据分块处理模块;

所述水平细胞处理模块包括:卷积核选择器、卷积核解压缩模块、第一卷积模块,所述光感受器模块中的相邻帧特征共享模块的输出数据依次经过卷积核选择器、卷积核解压缩模块的处理,所述卷积核解压缩模块和光感受器模块中第一基于并行的数据分块处理模块的输出数据同时输入第一卷积模块;

所述双极细胞处理模块包括:第二卷积模块和卷积核压缩模块,所述流水线处理模块和卷积核压缩模块的输出数据同时输入给第二卷积模块;第二卷积模块的输出为图像处理器的输出;

所述相邻帧特征共享模块包括:BRAM、均值模块、方差模块、选核模块、卷积模块、移位寄存器、反馈模块,所述均值模块、方差模块、卷积模块、移位寄存器直接从BRAM获取数据,均值模块计算得到的数据同时输出给方差模块和选核模块,方差模块计算得到的数据也输出给选核模块,选核模块计算得到的数据输出给卷积模块,卷积模块输出数据给移位寄存器,移位寄存器输出数据给反馈模块;

对于高速视频流第一帧图像数据首先输入均值模块计算其均值;第二帧输入标准差模块,利用第一帧计算好的均值来计算第二帧的方差;第三帧输入卷积模块,将第一帧和第二帧计算好的均值和方差送入到选核模块,为第三帧每个像素点的卷积选取不同的卷积核;

在进行第三帧卷积时,同时会将提取出来的图像卷积数据来计算第三帧的均值和方差;后续每帧图像都直接输入卷积模块,将上一帧得到的均值和方差送入选核模块,为当前帧每个像素点的卷积选取不同的卷积,同时会利用提取出来的图像卷积数据来计算当前帧的均值和方差,为后一帧做准备。

2.如权利要求1所述的一种基于视网膜机制的高速低功耗图像处理器,其特征在于所述第一基于并行的数据分块处理模块或第二基于并行的数据分块处理模块包括:数据分区控制器、BRAM阵列、数据阵列模块;所述数据分区控制器同时控制BRAM阵列和数据阵列模块,输入数据首先存入BRAM阵列,然后BRAM阵列根据数据分区控制器的指令将输入存入数据阵列模块,数据阵列模块的输出为基于并行的数据分块处理模块的输出。

3.如权利要求1所述的一种基于视网膜机制的高速低功耗图像处理器,其特征在于所述流水线处理模块包括:7个BRAM组成的存储阵列,采用S形滑动窗口方式从存储阵列中读取数据。

4.如权利要求1所述的一种基于视网膜机制的高速低功耗图像处理器,其特征在于所述水平细胞处理模块中的卷积模块前还包括一个零检测模块,所述卷积核压缩模块中的片内只存储非重复数据。

5.如权利要求2所述的一种基于视网膜机制的高速低功耗图像处理器,其特征在于所述BRAM阵列包括15个小BRAM,对输入图像进行分块处理方法为:输入图像的前15行的像素数据被缓存到了15个小BRAM中,每个BRAM中包含1024个输入数据,当需要计算出一个输出像素数据时,每次在一个时钟内更新15个像素数据,并马上输出,完成后续的和卷积核的点乘和加法求和操作;

当滑动窗口进行换行时,采用S形滑动窗口,使得每一行操作的最后一部分数据得到复用,并且当卷积已经输出一行数据时,输入图像的新的一行数据已经缓存到了15个BRAM当中的一个BRAM中,为输出图像的下一行输出做准备;

当每次从15个BRAM读取15个像素数据时,输入图像的第16行的新数据会被写入到第一个BRAM中;对于卷积核与待卷积数据的点乘运算,来自不同BRAM的数据将会通过一个复用器被寄存在一个15*15的乘法器阵列的数据寄存器中;数据分区控制器会动态的配置复用器以及数据寄存器,从而输入到乘法器阵列的15*15的数据会被重新排列,与卷积核完成一对一的数据点乘操作运算。

说明书 :

一种基于视网膜机制的高速低功耗图像处理器

技术领域

[0001] 本发明属于图像处理领域,特别是嵌入式图像处理器。

背景技术

[0002] 现有的相关技术,其算法目前多用于科研或者其他相关的学术研究方面,多在CPU端使用。这样会造成运行速度很低,功耗高,无法实时处理图像,对于高清视频流更加无法处理。并且在CPU端使用,成本较高,更无法应用到较小的嵌入式物联网终端当中。目前已有一些学者将当前的色调映射及基于其改进的相关图像处理算法在FPGA硬件平台上予以实现,虽然这些实现采用不同的创新技术,功耗以及处理速度效果都非常可观。但是针对速度、功耗以及成本要求成本更高的场合,如无人车、无人机或者无人检测等智能物联网终端上时,就显得力有不足。并且当前一些学者提出的一些FPGA的硬件实现,其硬件处理后的图像与软件处理后的图像相比,在图像质量上也有一定的损失。
[0003] 随着物联网和人工智能技术应用的结合,众多的智能处理技术,将会嵌入到物联网终端,实现物联网设备的智能化。同时,物联网应用设备对功耗以及成本要求较高。因此需要与之相匹配的低功耗、低成本、高速的嵌入式智能专用FPGA处理器。并且相较于之前已有的图像处理FPGA处理器,要有新的处理架构与技术,从而达到所需的技术指标要求。
[0004] 目前人们使用较多的是基于数学方法的色调映射算法,基于视网膜机制的图像处理方法并应用到硬件上的目前据我们调研所知只有一种。即Raquel  等人的《Real-time tone mapping on GPU and FPGA》文章中提出的在FPGA上实现基于部分视网膜机理和直方图均衡的图像处理算法。其采用了部分视网膜机理,并将其与传统的直方图均衡结合起来。该方法相比较传统的数学层面的算法,处理后的图像显得更加自然,但是其依然存在一些缺陷,其没有完全应用视网膜处理的机制,只采用了视网膜处理机制中的水平细胞部分,算法应用的不够全面。而且其在处理速度上不够快,功耗不够低,无法应用到无人机,无人驾驶等需要高速处理视频流的场景中,也无法应用到对功耗敏感的物联网等设备之中。

发明内容

[0005] 针对背景技术中存在的问题,本专利提出了一种高速、低功耗的基于人眼视网膜技术启发机制的色调映射处理器。面向嵌入式等智能设备的应用,不仅可以处理低动态设备显示高动态图像的问题,亦可以对夜间亮度较暗的图像进行亮度上的增强。
[0006] 本发明技术方案为一种基于视网膜机制的高速低功耗图像处理器,该处理器依次通过:光感受器模块、水平细胞处理模块、第二基于并行的数据分块处理模块、流水线处理模块、双极细胞处理模块对图像进行处理;
[0007] 所述光感受器模块包括:相邻帧特征共享模块和第一基于并行的数据分块处理模块,输入图像同时输入相邻帧特征共享模块和第一基于并行的数据分块处理模块;
[0008] 所述水平细胞处理模块包括:卷积核选择器、卷积核解压缩模块、第一卷积模块,所述光感受器模块中的相邻帧特征共享模块的输出数据依次经过卷积核选择器、卷积核解压缩模块的处理,所述卷积核解压缩模块和光感受器模块中第一基于并行的数据分块处理模块的输出数据同时输入第一卷积模块;
[0009] 所述双极细胞处理模块包括:第二卷积模块和卷积核压缩模块,所述多层卷积的流水线处理模块和卷积核压缩模块的输出数据同时输入给第二卷积模块;第二卷积模块的输出为图像处理器的输出。
[0010] 进一步的,所述第一基于并行的数据分块处理模块或第二基于并行的数据分块处理模块包括:数据分区控制器、BRAM阵列、数据阵列模块;所述数据分区控制器同时控制BRAM阵列和数据阵列模块,输入数据首先存入BRAM阵列,然后BRAM阵列根据数据分区控制器的指令将输入存入数据阵列模块,数据阵列模块的输出为基于并行的数据分块处理模块的输出。
[0011] 进一步的,所述BRAM阵列包括15个小BRAM,对输入图像进行分块处理方法为:
[0012] 输入图像的前15行的像素数据被缓存到了15个小BRAM中,每个BRAM中包含1024个输入数据,当需要计算出一个输出像素数据时,每次在一个时钟内更新15个像素数据,并马上输出,完成后续的和卷积核的点乘和加法求和操作;
[0013] 当滑动窗口进行换行时,采用S形滑动窗口,使得每一行操作的最后一部分数据得到复用,并且当卷积已经输出一行数据时,输入图像的新的一行数据已经缓存到了15个BRAM当中的一个BRAM中,为输出图像的下一行输出做准备;
[0014] 当每次从15个BRAM读取15个像素数据时,输入图像的第16行的新数据会被写入到第一个BRAM中;对于卷积核与待卷积数据的点乘运算,来自不同BRAM的数据将会通过一个复用器被寄存在一个15*15的乘法器阵列的数据寄存器中;数据分区控制器会动态的配置复用器以及数据寄存器,从而输入到乘法器阵列的15*15的数据会被重新排列,与卷积核完成一对一的数据点乘操作运算。
[0015] 进一步的,所述相邻特征共享模块包括:BRAM、均值模块、方差模块、选核模块、卷积模块、移位寄存器、反馈模块,所述均值模块、方差模块、卷积模块、移位寄存器直接从BRAM 获取数据,均值模块计算得到的数据同时输出给方差模块和选核模块,方模块计算得到的数据也输出给选核模块,选核模块计算得到的数据输出给卷积模块,卷积模块输出数据给移位寄存器,移位寄存器输出数据给反馈模块;
[0016] 对于高速视频流第一帧图像数据首先输入均值模块计算其均值;第二帧输入标准差模块,利用第一帧计算好的均值来计算第二帧的方差;第三帧输入卷积模块,将第一帧和第二帧计算好的均值和方差送入到选核模块,为第三帧每个像素点的卷积选取不同的卷积核;在进行第三帧卷积时,同时会将提取出来的图像卷积数据来计算第三帧的均值和方差;后续每帧图像都直接输入卷积模块,将上一帧得到的均值和方法送入选核模块,为当前帧每个像素点的卷积选取不同的卷积,同时会将提取出来的图像卷积数据来计算当前帧的均值和方差,为后一帧做准备。
[0017] 进一步的,所述流水线处理模块包括:7个BRAM组成的存储阵列,采用S形滑动窗口方式从存储阵列中读取数据。
[0018] 进一步的,所述水平细胞处理模块中的卷积模块前还包括一个零检测模块,所述卷积核压缩模块中的片内只存储非重复数据。在15*15卷积的部分,算法根据每个待卷积数据的取值范围,为每个待卷积数据提供不同的卷积核,很好的适应每个卷积核的特征,使得卷积出来的图像看起来更加的自然。但是由于卷积核数量较多,会占据较大的片内存储资源,因此针对算法当中的卷积核特性,15*15部分的卷积核只有部分是非零数,并且是呈中心对称,有较多数据重复,因而针对该特性,该部分卷积核压缩电路只在片内存储卷积核当中的非重复数据,可以减少卷积核数据在片内的存储空间,同时也减少了从RAM中提取数据的功耗。同时为了进一步降低功耗,对于卷积窗口中的数据以及卷积核中的数据有零存在时,该电路架构会直接忽略零元素,使其直接不参与计算,这样也可以进一步降低DSP电路的功耗。
[0019] 该处理器具有以下技术优势与特点:
[0020] 1、高能效比:单位功耗可以处理更多的像素数据,提高智能物联网设备的数据处理效率。
[0021] 2、高吞吐率:本专利相比较当前已有的技术,实现了每秒189帧图像的处理速度,基本上超过了现有的相关硬件实现的处理技术,完全可以满足无人车、无人机等相关设备的应用需求。
[0022] 3、可编程:由于本专利是采用FPGA作为专用处理器的设计平台,因而可根据当前使用环境的需求进行功能或技术上的实时可编程调整,大大增强的处理器的功能灵活性。

附图说明

[0023] 图1为专利提出的基于视网膜机理的色调映射图像处理器的整体架构示意图;
[0024] 图2为应用S形滑动窗口技术的基于并行的数据分块模块示意图;
[0025] 图3为未采用相邻帧特征共享技术电路框图;
[0026] 图4为未采用相邻帧特征共享技术电路框图;
[0027] 图5为本发明多层卷积流水线方法示意图;
[0028] 图6为卷积核解压缩处理模块示意图。

具体实施方式

[0029] 图1为基于视网膜机理的色调映射图像处理器的整体架构。图中的水平细胞与双极细胞处理的算法模块是受到人眼视网膜处理机制中的相应处理阶段启发而来的。为了实现高吞吐率与高能效比,在专利中提出了一系列创新技术,如:基于并行的数据分块技术,相邻帧特征共享技术(因在处理高清视频流时,视频流的前后相邻帧有着相似的特征,因而采用这种技术,可以减少能效以及资源消耗,并提升处理速度),多层卷积的流水线处理,以及卷积核压缩技术。具体的技术说明将在下文中详细阐述。
[0030] 1、基于并行的数据分块技术
[0031] 本专利的基于视网膜机理的色调映射图像处理器包括两部分卷积(15*15以及7*7);对于 15*15部分的卷积,输入图片(1024*768)被存储到片上一个大的BRAM中,并且对于每个像素点一次进行点乘,完成卷积。为了降低读取时间以及提高吞吐率,对输入图像进行分块处理,首先输入图像的前15行的像素数据被缓存到了15个小BRAM中,每个BRAM中包含
1024个输入数据,如图2中所示。因此,当需要计算出一个输出像素数据时,每次需要更新的
15个数据都可以在一个时钟内,马上输出,从而完成后续的和卷积核的点乘和加法求和操作。这样可以节省大量的时钟。当滑动窗口进行换行时,采用S形而非Z形的滑动窗口,可以使得每一行操作的最后一部分数据得到复用,这样可以节省重新读取数据的时间以及功耗。并且当卷积已经输出一行数据时(1*1024),输入图像的新的一行数据也已经缓存到了
15个BRAM当中的一个BRAM中,为输出图像的下一行输出做准备。这样可以节省1024个时钟的等待时间。
[0032] 为了节省等待时间,当每次从15个BRAM读取15个像素数据时,输入图像的第16行的新数据会被写入到第一个BRAM中。通过这种方式,当输出图像的第一行像素数据已经完成时,输入图像的下一行数据就已经在第一个BRAM中准备就绪。这样,下一行的卷积就不需要等待,可以直接开始卷积。对于卷积核与待卷积数据的点乘运算,来自不同BRAM的数据将会通过一个复用器被寄存在一个15*15的乘法器阵列的数据寄存器中。数据分区控制器会动态的配置复用器以及数据寄存器,从而输入到乘法器阵列的15*15的数据会被重新排列,从而与卷积核完成一对一的数据点乘操作运算。比如,对于第一次换行操作,输入图像的第二至第十五行的数据会向上移动,第十六行(存储在第一个BRAM中)的数据会置于底端。当开始往BRAM中写入输入图像的第十七行数据时,这些数据被写入到了第二个BRAM中。同时,第三至食物行的数据会向上移动,并且第十六和第十七行的数据(存储在第1和第2个BRAM中)会被置于底端。其余部分可以根据上述进行类推,知道整幅图片的卷积完成输出。同时没在卷积期间涉及到了边缘填0的操作,相同的设计技术也适用于7*7卷积,以减少处理时间和功耗。
[0033] 2、相邻帧特征共享技术
[0034] 因而根据基础版本电路以及算法的处理原理,根据采用相邻帧特征共享技术的特点,设计了如图3所示的改进电路。对于高速视频流第一帧我们会首先计算其均值,对于第二帧,会利用第一帧刚计算好的均值来计算第二帧的方差。当第三帧到来时,利用相邻帧特征相似的原理,使用前两帧计算好的均值和方差作为本次帧的均值和方差,并送入到第三帧的选核模块,从而为第三帧每个像素点的卷积选取不同的卷积核。在进行第三帧卷积时,同时会将提取出来的图像卷积数据来计算第三帧的均值和方差(该部分的方差计算采用第二帧计算而来的均值),从而作为第四帧卷积的选核部分所使用的均值和方差。后续帧均按照这种原理,从而对于单独某一帧来说,只需要从BRAM提取一次数据,大大地提高了处理速度,并极大地降低了功耗。
[0035] 因而根据基础版本电路以及算法的处理原理,我们根据采用相邻帧特征共享技术的特点,设计了如图4所示的改进电路。对于高速视频流第一帧我们会首先计算其均值,对于第二帧,会利用第一帧刚计算好的均值来计算第二帧的方差。当第三帧到来时,利用相邻帧特征相似的原理,使用前两帧计算好的均值和方差作为本次帧的均值和方差,并送入到第三帧的选核模块,从而为第三帧每个像素点的卷积选取不同的卷积核。在进行第三帧卷积时,同时会将提取出来的图像卷积数据来计算第三帧的均值和方差(该部分的方差计算采用第二帧计算而来的均值),从而作为第四帧卷积的选核部分所使用的均值和方差。后续帧均按照这种原理,从而对于单独某一帧来说,只需要从BRAM提取一次数据,大大地提高了处理速度,并极大地降低了功耗。 3、多层卷积流水
[0036] 在我们基于视网膜机理的色调映射图像处理器的整体架构中,包括了两部分卷积,如上文中所述,即15*15和7*7两部分卷积。一个是在水平细胞处理部分的15*15的卷积,另一个就是双极细胞处理部分的7*7的卷积。为了连续执行两个卷积,需要BRAM缓冲器来存储两个卷积之间的中间数据。然而,由于数据的重复读写,将会导致增加大量的功耗。
[0037] 为了降低功耗,本专利中设计了多层卷积流水线技术。如图5中所示,当15*15部分卷积完成一部分数据时,7*7卷积会立即开始。由于在卷积中采用了0填充,因此在开始7*7卷积时,只需要3行以及4个像素数据即可开始7*7的卷积。这种多层卷积架构可以明显降低数据读写的功耗,并且也能很好的降低BRAM缓冲区的大小。
[0038] 4、卷积核解压缩处理模块
[0039] 在15*15卷积的部分,算法根据每个待卷积数据的取值范围,为每个待卷积数据提供不同的卷积核,这样很好的适应每个卷积核的特征,使得卷积出来的图像看起来更加的自然。但是由于卷积核数量较多,会占据较大的片内存储资源,因此针对算法当中的卷积核特性,15*15 部分的卷积核只有部分是非零数,并且是呈中心对称,有较多数据重复,因而针对该特性,该部分卷积核压缩技术电路只在片内存储卷积核当中的非重复数据,可以减少卷积核数据在片内的存储空间,同时也减少了从RAM中提取数据的功耗。同时为了进一步降低功耗,对于卷积窗口中的数据以及卷积核中的数据有零存在时,该电路架构会直接忽略零元素,使其直接不参与计算,这样也可以进一步降低DSP电路的功耗。
[0040] 本发明具有:
[0041] 1、能效比高:即单位功耗内可以处理更多的像素数据。
[0042] 2、处理速度快:本专利设计的基于视网膜机理的色调映射专用图像处理器可以在每秒钟输出高达189帧的1024*768的高清图像。完全满足当前一些无人机、无人车等无人智能设备对高速低功耗图像处理器的需求。
[0043] 3、硬件资源使用率低,并且处理器可重构编程的灵活性高:本专利设计的图像处理专用处理器,避免资源的浪费使用,把资源的重复利用率做到了一个很高的水准。
[0044] 上述技术优点在上文描述的几项技术中都有所涉及。每项技术都涉及到功耗、速度以及硬件资源等方面的优化。