CN104951750A - 一种soc中内嵌的图像处理加速方法 - Google Patents
一种soc中内嵌的图像处理加速方法 Download PDFInfo
- Publication number
- CN104951750A CN104951750A CN201510242307.7A CN201510242307A CN104951750A CN 104951750 A CN104951750 A CN 104951750A CN 201510242307 A CN201510242307 A CN 201510242307A CN 104951750 A CN104951750 A CN 104951750A
- Authority
- CN
- China
- Prior art keywords
- convolution
- soc
- address
- image data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Collating Specific Patterns (AREA)
Abstract
一种SOC中内嵌的图像处理加速方法,包括一SOC芯片,所述SOC芯片包括处理器,所述处理器上连接有指纹处理使用的RAM、卷积加速器、数据采集接口,所述数据采集接口上连接有指纹传感器,所述RAM内设有存储算子数据的参数区和存储指纹图像数据的图像数据区,所述卷积加速器同时对参数区和图像数据区内数据访问并进行卷积运算,再依据设定对卷积的结果进行调整处理,最后将处理完的数据写回图像数据区。本发明的图像处理的卷积运算和结果调整都是由卷积加速器这个硬件完成的,减少处理器的干预,间接提高图像处理的速度。卷积运算之前参与运算的算子数据和指纹图像数据存储在对应的RAM内的存储区里,方便卷积运算时的调用。
Description
技术领域
本发明涉及一种SOC中内嵌的图像处理加速方法。
背景技术
随着移动互联网和移动支付的发展,智能手机逐渐演变成一个功能强大的终端系统,用户对手机的安全机制要求越来越高。指纹作为生物认证的一个向,已经引起了手机厂家和移动支付系统链条上各个厂家的充分重视。苹果最早把指纹方案应用在手机上,接着中国的华为也推出了自己的指纹应用手机,指纹应用手机已经成为市场的风向标,越来越受到终端客户的认可。用户在使用智能手机的过程中对指纹识别的性能提出了越来越高的要求。为了提高用户的指纹体验,需要不断的加快指纹认证的速度,即要不断的提高处理指纹图像的速度的能力。
指纹识别技术的原理是利用人体的指纹特征对个体身份进行区分和鉴定。指纹识别的原理包括指纹采集原理、指纹特征提取原理和指纹特征匹配原理三大部分。其中指纹特征提取的原理是对指纹图案的整体特征和细节特征进行提取、鉴别的原理。其分析的对象包括纹形特征和特征点的分布、类型,以及一组或多组特征点之间的平面几何关系。特征点的平面几何关系表现为某两个特征点之间的距离等,或者某三个或更多特征点之间组成的多边形的几何特性。不论是特征点的单体特征,还是特征点的组合特征,都是指纹特征的组成部分。把这些指纹特征用数字模板的形式表示出来,就实现了一个指纹特征提取的过程。指纹特征提取过程中,滤波是个很重要的步骤,目前公知的一些算法,滤波一般占指纹特征提取的75%左右,滤波的处理过程中,卷积的耗时最长,如果能有效的提高滤波的性能即提高卷积的速度,整体指纹特征提取的性能会有明显的提升。
目前公知的指纹特征提取的技术中,涉及到滤波部分,基本采用软件算法实现指纹特征提取。一副完整的指纹图像通常由300~2000帧不等的指纹片断组成,指纹图像是以2进制的方式存储,每帧指纹片断的数据量为1~2KB。采用软件算法处理这么多的数据实现特征提取需要处理器不断的读取指纹图像的数据来参与卷积的运算,导致运算复杂,处理速度慢,同时也会给处理器带来额外的负担;为了克服这一困难,需要从嵌入式芯片的架构上加以改进,在尽量不增加硬件资源的前提下,提高嵌入式芯片处理指纹的特征提取算法的效率,进而提高指纹算法的整体性能。采用硬件电路辅助实现滤波,处理速度会有很大的提高,但是因为滤波要涉及大量的运算,滤波中涉及到乘法器和加法器单元需要占大量的用硬件资源,如果是采用DSP处理器协助,因为DSP的价格相对而言比较贵必然会增加开发的成本,如果自行设计部分硬件逻辑,乘法器等也会占用大量的硬件资源,也会增加开发的成本和难度。
发明内容
本发明提供了一种提高指纹图像处理的速度的SOC中内嵌的图像处理加速方法。
本发明采用的技术方案是:
一种SOC中内嵌的图像处理加速方法,包括一SOC芯片,所述SOC芯片包括处理器,所述处理器上连接有指纹处理使用的RAM、卷积加速器、数据采集接口,所述数据采集接口上连接有指纹传感器,其特征在于:所述RAM内设有存储算子数据的参数区和存储指纹图像数据的图像数据区,所述卷积加速器同时对参数区和图像数据区内数据访问并进行卷积运算,再依据设定对卷积的结果进行调整处理,最后将处理完的数据写回图像数据区。本发明的图像处理的卷积运算和结果调整都是由卷积加速器这个硬件完成的,减少处理器的干预,间接提高图像处理的速度。卷积运算之前参与运算的算子数据和指纹图像数据存储在对应的RAM内的存储区里,方便卷积运算时的调用。
进一步,所述指纹图像数据是按行存储在图像数据区,卷积加速器启动卷积运算时按照设定的卷积类型从每行读取需要的连续指纹图像数据参与卷积运算,卷积运算的结果经卷积加速器处理之后再写回到图像数据区的结果地址内。
进一步,所述卷积加速器在一次运算结束后自动启动下一次卷积运算,相对应的取数地址自动移动到下一个要计算的点,下一次计算的结果自动存储到之前存储地址的下一个地址。本发明的卷积运算和结果调整均是连续的运算,提高图像处理的速度。 进一步,所述卷积加速器在每一轮运算开始时会锁存参与运算设置的对应数据存储的基地址,并在每一轮运算结束后会重新读取新的基地址,如果基地址保持不变,对应的运算取数的地址会自动移动到下一个取数地址。
进一步,所述卷积加速器包括设置参数区的基地址的模板基址寄存器、设置初次参与运算的指纹图像数据的基地址的图像基址寄存器、设置卷积运算结果存储地址的基地址的结果基址寄存器。
进一步,所述卷积加速器包括设置卷积运算循环次数的运算循环次数寄存器、设置卷积类型和卷积结果处理控制信息的卷积控制寄存器。
进一步,所述卷积加速器包括设置调整卷积运算结果的结果控制寄存器,以便卷积算法更好的利用卷积后的结果。
进一步,所述卷积加速器包括设置图像宽度的参数寄存器,方便卷积加速器根据此参数值来调用指纹图像数据参与卷积运算。
本发明的有益效果:图像处理速度快,各参数调用方便。
附图说明
图1是本发明的结构示意图。
图2是本发明的数据通道示意图。
图3是本发明的数据流向示意图。
图4是本发明的运算流程图。
图5是本发明的一个MAC单元参与运算的取数和存储结果地址变化示意图。
图6是本发明的二个MAC单元参与运算的取数和存储结果地址变化示意图。
图7是本发明的单个MAC单元的运算时间关系示意图。
图8是本发明的两个MAC单元的运算时间关系示意图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
参照图1,一种SOC中内嵌的图像处理加速方法,包括一SOC芯片,所述SOC芯片包括处理器1,所述处理器1上连接有指纹处理使用的RAM2、卷积加速器3、数据采集接口4,所述数据采集接口4上连接有指纹传感器5,所述RAM2内设有存储算子数据的参数区和存储指纹图像数据的图像数据区,所述卷积加速器3同时对参数区和图像数据区内数据访问并进行卷积运算,再依据设定对卷积的结果进行调整处理,最后将处理完的数据写回图像数据区。本发明的图像处理的卷积运算和结果调整都是由卷积加速器3这个硬件完成的,减少处理器的干预,间接提高图像处理的速度。卷积运算之前参与运算的算子数据和指纹图像数据存储在对应的RAM2内的存储区里,方便卷积运算时的调用。
本实施例所述指纹图像数据是按行存储在图像数据区,卷积加速器3启动卷积运算时按照设定的卷积类型从每行读取需要的连续指纹图像数据参与卷积运算,卷积运算的结果经卷积加速器3处理之后再写回到图像数据区的结果地址内。
本实施例所述卷积加速器3在一次运算结束后自动启动下一次卷积运算,相对应的取数地址自动移动到下一个要计算的点,下一次计算的结果自动存储到之前存储地址的下一个地址。本发明的卷积运算和结果调整均是连续的运算,提高图像处理的速度。 本实施例所述卷积加速器3在每一轮运算开始时会锁存参与运算设置的对应数据存储的基地址,并在每一轮运算结束后会重新读取新的基地址,如果基地址保持不变,对应的运算取数的地址会自动移动到下一个取数地址。
本实施例所述卷积加速器3包括设置参数区的基地址的模板基址寄存器、设置初次参与运算的指纹图像数据的基地址的图像基址寄存器、设置卷积运算结果存储地址的基地址的结果基址寄存器。
本实施例所述卷积加速器3包括设置卷积运算循环次数的运算循环次数寄存器、设置卷积类型和卷积结果处理控制信息的卷积控制寄存器。
本实施例所述卷积加速器3包括设置调整卷积运算结果的结果控制寄存器,以便卷积算法更好的利用卷积后的结果。
本实施例所述卷积加速器3包括设置图像宽度的参数寄存器,方便卷积加速器根据此参数值来调用指纹图像数据参与卷积运算。
本发明存储在RAM2的指纹图像处理后的数据供卷积加速器3调用使用,每次卷积计算的结果写回对应的RAM2空间,处理器1通过总线接口连续读取卷积加速器3处理后的数据。参数区和图像数据区需要各自有对立的存储空间,卷积需要对2个区域同时访问,卷积运算完之后依据算法的需求对卷积的结果做第二次的处理,处理完的数据写回到图像数据区。
本实施例的卷积加速器3涉及到多个寄存器,具体如下
1、 卷积控制寄存器(Convolution_Ctrl)(bit0~31)
2 Bit 0 : 卷积使能控制位
2 Bit 8 : 卷积启动控制位
2 Others : 保留位
2、 参数寄存器(Parameter_Ctrl)(bit0~31)
2 Bit 15:0 : 图像宽度
2 Others : 保留位
3、 运算循环次数寄存器(Cycle_Ctrl)(bit0~31)
2 Bit 31:0 : 运算次数
4、 结果控制寄存器(Result_Ctrl)(bit0~31)
2 Bit0: 使能位(大于255的数据保存为255)
2 Bit1 : 使能位(小于0的数据保存为0)
2 Bit[29:24] : 移位位数
2 Bit[30] : 0,左移;1:右移
2 Bit[31] : 结果移位使能控制位
2 Others : 保留位
5、 参数基址寄存器(Para_Base_Addr)(bit0~31)
2 Bit 31:0 : 参与卷积运算的存储模块数据的基地址
6、 图像基址寄存器(Image_Base_Addr)(bit0~31)
2 Bit 31:0 : 参与卷积运算的存储图像数据的基地址
7、 结果基址寄存器(Result_Base_Addr)(bit0~31)
2 Bit 31:0 :存储卷积运算并调整之后的结果数据的基地址
8、 状态寄存器(Status)(bit0~31)
2 Bit 0 : 卷积使能控制位
2 Others : 保留位
卷积运算之前需把参与运算的算子数据和指纹图像数据存储在对应的RAM2里,方便卷积运算时的调用;卷积控制寄存器需要设计卷积的使能位;参数寄存器要设置图像的宽度,方便硬件根据此参数值来调用图像数据参与卷积运算;算子数据的地址需要参数基址寄存器设置,参与运算的指纹图像数据的初始地址需要图像基址寄存器设置;卷积运算的结果要根据结果控制寄存器的设置来调整,以便算法更好的利用卷积后的结果;最终的运算结果存在结果基址寄存器设置的地址内;运算可以通过寄存器的设置循环进行,循环的次数依赖运算循环次数寄存器的配置。第一次运算结束之后,对应的图像取数地址自动跳转到下一个地址,下一次运算的结果自动存储到之前存储地址的下一个地址。每一轮运算开始的时候会锁存参与运算设置的对应数据存储的基地址(分别有对应的三个基地址寄存器设置)。每一轮运算结束后会重新读取新的基地址,如果基地址保持不变,对应的运算取数的地址会自动移动到下一个取数地址(模块数据对应的地址每一轮运算结束之后会重新从对应的寄存器中取下一次参与运算的基地址)。运算循环次数配置寄存器设置的内容决定了每次开启运算的循环次数。
加速器运算的时候对应数据存储地址的地址会随加速器的运行变化。读取数据的地址变化主要分为以下2种情况:一个MAC单元参与运算(减少一个乘加单元并降低了设计的时候硬件的复杂性)和 二个MAC单元参与运算(主要是为了加快处理卷积的速度)。
一个MAC单元参与运算的取数和存储结果地址变化如图5所示,以5*5的运算为例。
算子数据的是连续存在对应的地址里,所以运算的时候按照顺序读数并参与运算;图像数据是按照帧的格式存在对应的RAM空间里,运算的时候取数是采用2维的方式,即第一帧取5个连续的数据之后,需要跳转到下一帧继续读取5个连续的数据。按照5*5的运算方式,需要分别在连续的5帧里分别取连续的5个数据和对应的模块数据来完成卷积运算,并依据寄存器的设置对运算的结果调整后保存到对应的地址空间里。每一轮运算的结果依次存到连续的地址空间里,方便处理器取数继续进行相关的图像处理运算。因为只有一个乘加运算单元(MAC),每个运算周期只要取一个8位的图像数据和一个16位的算子数据。
两个MAC单元参与运算的取数和存储结果的地址变化如图6所示,以5*5的运算为例。
算子数据的是连续存在对应的地址里,所以运算的时候按照顺序读数并参与运算;图像数据是按照帧的格式存在对应的RAM空间里,运算的时候取数是采用2维的方式,即第一帧取5个连续的数据之后,需要跳转到下一帧继续读取5个连续的数据。按照5*5的运算方式,需要分别在连续的5帧里分别取连续的5个数据和对应的模块数据来完成卷积运算,并依据寄存器的设置对运算的结果调整后保存到对应的地址空间里。每一轮运算的结果依次存到连续的地址空间里,方便处理器取数继续进行相关的图像处理运算。因为只有两个乘加运算单元(MAC),每个运算周期只要取两个8位的图像数据和两个16位的算子数据;
采用单个MAC单元的运算时间关系如图7所示,以5*5的运算为例。采用两个MAC单元的运算时间关系如图8所示,以5*5的运算为例。5*5的运算每个周期算2个点,为了减少硬件开销和降低取数部分逻辑的复杂性,每行的第5个点运算的时候可以单独占用一个周期。当然设计的时候也可以把运算的周期数减少到13个周期。对于更大的卷积运算,设计的时候可以每周期采用更多的MAC单元即在每个时钟周期算更多的点数。两次连续的运算之间有一个启动周期,利用此启动周期把上一次运算调整的结果写到对应的RAM。如果是最后一次运算则在运算完之后把最后一次运算的结果写到RAM。
Claims (8)
1.一种SOC中内嵌的图像处理加速方法,包括一SOC芯片,所述SOC芯片包括处理器,所述处理器上连接有指纹处理使用的RAM、卷积加速器、数据采集接口,所述数据采集接口上连接有指纹传感器,其特征在于:所述RAM内设有存储算子数据的参数区和存储指纹图像数据的图像数据区,所述卷积加速器同时对参数区和图像数据区内数据访问并进行卷积运算,再依据设定对卷积的结果进行调整处理,最后将处理完的数据写回图像数据区。
2.如权利要求1所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述指纹图像数据是按行存储在图像数据区,卷积加速器启动卷积运算时按照设定的卷积类型从每行读取需要的连续指纹图像数据参与卷积运算,卷积运算的结果经卷积加速器处理之后再写回到图像数据区的结果地址内。
3.如权利要求2所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器在一次运算结束后自动启动下一次卷积运算,相对应的取数地址自动移动到下一个要计算的点,下一次计算的结果自动存储到之前存储地址的下一个地址。
4.如权利要求3所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器在每一轮运算开始时会锁存参与运算设置的对应数据存储的基地址,并在每一轮运算结束后会重新读取新的基地址,如果基地址保持不变,对应的运算取数的地址会自动移动到下一个取数地址。
5.如权利要求4所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器包括设置参数区的基地址的模板基址寄存器、设置初次参与运算的指纹图像数据的基地址的图像基址寄存器、设置卷积运算结果存储地址的基地址的结果基址寄存器。
6.如权利要求1~5之一所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器包括设置卷积运算循环次数的运算循环次数寄存器、设置卷积类型和卷积结果处理控制信息的卷积控制寄存器。
7.如权利要求6所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器包括设置调整卷积运算结果的结果控制寄存器。
8.如权利要求1所述的一种SOC中内嵌的图像处理加速方法,其特征在于:所述卷积加速器包括设置图像宽度的参数寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510242307.7A CN104951750A (zh) | 2015-05-12 | 2015-05-12 | 一种soc中内嵌的图像处理加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510242307.7A CN104951750A (zh) | 2015-05-12 | 2015-05-12 | 一种soc中内嵌的图像处理加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104951750A true CN104951750A (zh) | 2015-09-30 |
Family
ID=54166392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510242307.7A Pending CN104951750A (zh) | 2015-05-12 | 2015-05-12 | 一种soc中内嵌的图像处理加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951750A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944381A (zh) * | 2017-11-20 | 2018-04-20 | 深圳云天励飞技术有限公司 | 人脸跟踪方法、装置、终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050119251A (ko) * | 2004-06-16 | 2005-12-21 | 정승민 | 단일 칩으로 구현된 지문 인식 장치 |
CN101408934A (zh) * | 2008-11-12 | 2009-04-15 | 杭州晟元芯片技术有限公司 | 内嵌式指纹重构加速器和动态指纹重构方法 |
CN102339386A (zh) * | 2011-08-16 | 2012-02-01 | 杭州晟元芯片技术有限公司 | 一种嵌入式指纹特征提取加速方法 |
CN102592258A (zh) * | 2012-01-04 | 2012-07-18 | 复旦大学 | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 |
-
2015
- 2015-05-12 CN CN201510242307.7A patent/CN104951750A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050119251A (ko) * | 2004-06-16 | 2005-12-21 | 정승민 | 단일 칩으로 구현된 지문 인식 장치 |
CN101408934A (zh) * | 2008-11-12 | 2009-04-15 | 杭州晟元芯片技术有限公司 | 内嵌式指纹重构加速器和动态指纹重构方法 |
CN102339386A (zh) * | 2011-08-16 | 2012-02-01 | 杭州晟元芯片技术有限公司 | 一种嵌入式指纹特征提取加速方法 |
CN102592258A (zh) * | 2012-01-04 | 2012-07-18 | 复旦大学 | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944381A (zh) * | 2017-11-20 | 2018-04-20 | 深圳云天励飞技术有限公司 | 人脸跟踪方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11875553B2 (en) | Method and device for detecting object in real time by means of deep learning network model | |
WO2017156965A1 (zh) | 一种指纹解锁的方法及终端 | |
CN105095722A (zh) | 一种移动终端的指纹验证方法及系统 | |
CN109598250B (zh) | 特征提取方法、装置、电子设备和计算机可读介质 | |
CN105893964A (zh) | 基于姿势的签名认证 | |
CN111045814A (zh) | 资源调度方法和终端设备 | |
JP2018524663A (ja) | 指紋隆線点認識方法および装置 | |
EP3327613A1 (en) | Fingerprint entry method, apparatus, and terminal device | |
CN104572219A (zh) | 拍照模式切换方法及装置 | |
CN108733347B (zh) | 一种数据处理方法及装置 | |
CN103390262A (zh) | 数字滤波器权重系数的获取方法和装置 | |
US20210233027A1 (en) | Method for conducting statistics on insurance type state information of policy, terminal device and storage medium | |
CN106991422A (zh) | 字符切割方法、装置及计算机可读存储介质和电子设备 | |
CN107291238B (zh) | 一种数据处理方法与装置 | |
CN107203764A (zh) | 长微博图片识别方法和装置 | |
CN104951750A (zh) | 一种soc中内嵌的图像处理加速方法 | |
CN108268291A (zh) | 一种应用程序删除方法及终端设备 | |
CN109656474A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
WO2019033683A1 (zh) | 图像处理方法、装置及系统 | |
CN111459682A (zh) | 频率调整方法、装置、电子设备以及存储介质 | |
CN109255771B (zh) | 图像滤波方法及装置 | |
CN111045959B (zh) | 一种基于存储优化的复杂算法变量映射方法 | |
CN116052233A (zh) | 一种神经网络优化方法、装置、计算设备及存储介质 | |
CN109117786B (zh) | 基于神经网络模型的数据处理方法、装置及可读存储介质 | |
CN112037814A (zh) | 一种音频指纹的提取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang province Yuhang District 311121 West Street Wuchang No. 998 Building 9 East Applicant after: HANGZHOU SYNODATA SECURITY TECHNOLOGY CO., LTD. Address before: Hangzhou City, Zhejiang province Yuhang District 311121 West Street Wuchang No. 998 Building 9 East Applicant before: Hangzhou Shengyuan Chip Technique Co., Ltd. |
|
COR | Change of bibliographic data | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150930 |
|
RJ01 | Rejection of invention patent application after publication |