发明内容
本发明的目的是为了解决上述技术的不足,而提供一种内嵌式指纹重构加速器,在SoC主处理器系统中,内嵌一种指纹重构加速器,采用硬件方式进行指纹片断的获取及重构参数计算,以降低主处理器、内存等系统资源的过度开销。使指纹识别SoC的软硬件系统资源得到源平衡配置,实现系统整体优化。
本发明的另一目的是提供一种在实时处理过程中动态实现指纹重构的方法,配合硬件系统高效完成指纹重构处理。
为了达到上述目的,本发明的技术方案是这样实现的:
本发明所述的这种内嵌式指纹重构加速器,包括帧图采集器、帧图缓存单元、指纹重构单元和全局控制逻辑,帧图采集器与帧图缓存单元之间通过写入地址总线组、写入数据总线组连接,帧图缓存单元与指纹重构单元之间通过读出地址总线组、读出数据总线组连接,全局控制逻辑通过控制总线分别与帧图采集器、帧图缓存单元、指纹重构单元连接,图像缓冲区通过内部总线与指纹重构单元连接:其中:
1)帧图采集器用于指纹片段采集,包括一个采集控制寄存器组和串行接口,在全局控制逻辑控制下,通过串行接口向指纹传感器发送控制信号、并接收采集到的指纹帧图数据;
2)帧图缓存单元用于对采集到的帧图数据进行缓存处理,包括缓存器和缓存逻辑电路,缓存逻辑电路用于指示缓存器的存储状态;
3)指纹重构单元包括用于配置重构参数的重构寄存器组,负责计算相邻两帧图的偏移量,并将来自缓存器的有效帧图搬移到图像缓冲区;
4)全局控制逻辑包括一个全局控制寄存器组,通过控制总线监控帧图缓存单元、指纹重构单元的工作状态,以此状态信息控制帧图采集器的启闭,当整幅指纹图像重构处理完成后产生中断。
较佳地,所述缓存器由A、B两个高速数据缓冲存储器,即缓存器A和缓存器B组成,用来存放相邻两帧图像,缓存器A和缓存器B各自拥有两组独立的地址/数据总线,使帧图采集器和指纹重构单元能够分别对缓存器A和缓存器B进行写数据和读数据操作:所述写入地址总线组由两条写地址总线A_ADDR_WR、B_ADDR_WR组成,所述写入数据总线组由两条写数据总线A_DATA_WR、B_DATA_WR组成,以上四条总线,构成帧图缓存单元的数据写入通道,其中A_ADDR_WR、A_DATA_WR与缓存器A写入端相连,B_ADDR_WR、B_DATA_WR与缓存器B写入端相连;所述读出地址总线组由两条读地址总线A_ADDR_RD、B_ADDR_RD组成,所述读出数据总线组由两条读数据总线A_DATA_RD、B_DATA_RD组成,以上四条总线,构成帧图缓存单元的数据读出通道,其中A_ADDR_RD、A_DATA_RD与缓存器A读出端相连,B_ADDR_RD、B_DATA_RD与缓存器B读出端相连。
可以在所述帧图采集器包含采集寄存器组的基础作上进一步完善,增加位移寄存器、译码器、时钟发生器、写操作总线选择器和写操作地址发生器电路,位移寄存器分别与指纹传感器、写操作总线选择器相连,时钟发生器分别与位移寄存器、指纹传感器相连,译码器与写操作总线选择器、写操作地址发生器相连,采集寄存器组分别与时钟发生器、写操作地址发生器相连;其中:
1)时钟发生器按照采集寄存器组中的串行接口速率设定时钟;
2)移位寄存器的运行与暂止,由控制逻辑寄存器组、重构寄存器组的设定共同控制;移位寄存器在时钟发生器时钟信号的激励下(主模式),将来自指纹传感器的串行数据转换为并行数据,并送往写操作总线选择器;移位寄存器也可采用外部时钟信号激励(从模式)进行数据位移操作;
3)译码器对来自缓存逻辑的缓存状态信号进行解析,动态选择缓存器A和缓存器B作为帧图缓存目的,并将选择信号向写操作总线选择器和写操作地址发生器发送;
4)写操作总线选择器按照译码器发来的选择信号,选通恰当的连接缓存器A的写数据总线A_DATA_WR或缓存器B的B_DATA_WR;
5)写操作地址发生器按照译码器发来的选择信号,选通恰当的缓存器A的写地址总线A_ADDR_WR或者缓存器B的B_ADDR_WR,同时采集控制寄存器组的控制参数,计算缓存操作的地址;
6)采集控制寄存器组中至少含有帧图宽、帧图高、和串行接口参数三类控制参数。
可以在所述指纹重构单元内含重构寄存器组的基础作上进一步完善,比较器、重组器、读操作总线选择器、读操作地址发生器和译码器B,比较器分别与读操作总线选择器、读操作地址发生器相连,重组器分别与比较器、读操作总线选择器、读操作地址发生器相连,译码器B分别与读操作总线选择器、读操作地址发生器相连,重构寄存器组分别与比较器、重组器相连,其中:
1)比较器采用矩阵窗口互相关性算法,计算出相邻两帧图像的最大相关偏移量,确定两帧图像的重构参量off_x和off_y,发送给重组器,当比较器运行时,通过控制总线分别对帧图缓存单元、帧图采集器发送控制信号,以暂止帧图采集;
2)重组器根据比较器发送的重构参量off_x和off_y,以及重构寄存器组设置的目标图像地址,计算源地址和目的地址后,将帧图数据搬移到目的地址,当重组器运行时,通过控制总线分别对帧图缓存单元、帧图采集器发送控制信号,以暂止帧图采集;
3)译码器B对来自缓存逻辑的缓存状态信号进行解析,动态选择缓存器A和缓存器B作为帧图缓存目的,并将选择信号向读操作总线选择器和读操作地址发生器发送;
4)读操作总线选择器按照译码器B发来的选择信号,选通恰当的连接缓存器A的读数据总线A_DATA_RD或者缓存器B的读数据总线B_DATA_RD;
5)读操作地址发生器按照译码器B发来的选择信号,选通恰当的连接缓存器A的读地址总线A_ADDR_RD或者缓存器B的读地址总线B_ADDR_RD。
本发明提供一种动态指纹重构方法,包括如下步骤:
1)在帧图缓存单元内开辟两个大小相等的缓存器A和缓存器B;
2)帧图采集器采集到的像数据通过写入数据总线组,对帧图缓存单元形成输入数据流;
3)在第1缓存周期,全局控制逻辑通过写入地址总线组,将输入数据流导入缓存器A;
4)在第2缓存周期,全局控制逻辑将输入数据流切换到缓存器B,同时将第1缓存周期暂存在缓存器A的图像数据送入指纹重构单元的比较器中,进行下列运算:
1_偏移量计算;
2_去除重叠图像运算处理;
3_保留有效图像;
4_通过内部总线,发送给图像缓冲区。
5)在第3缓存周期:全局控制逻辑将输入数据流切换到缓存器A,同时将第2缓存周期暂存在缓存器B的图像数据送入指纹重构单元的比较器中,进行下列运算:
1_偏移量计算;
2_去除重叠图像运算处理;
3_保留有效图像;
4_通过内部总线,发送给图像缓冲区。
6)如此循环直至输入数据流处理完毕。
所述偏移量计算,包含下列步骤:
1)设前帧图像为Fi,后帧图像为Fj;
2)开辟一个面积小于传感器感测帧图的取样窗口W;
3)令取样窗口W处于前帧图像Fi基准位置,其坐标为Lb;
4)计算Fi落入该取样窗口W中n个像素灰度值的方差 其中:
1/Si为取样窗口W处于Fi基准位置时,所取第i个像素灰度值;
2/S0为取样窗口W处于Fi基准位置时,所有n个像素灰度值的均值。
5)令取样窗口W以一个像素为步长,遍历后帧图像Fj,同时计算每一步落入取样窗口W内n个像素灰度值的方差;
1_当遍历至第k步时,Fj落入取样窗口W内的像素灰度值方差为 其中:
1/Si为取样窗口W遍历Fj至第k步时,第i个像素灰度值;
2/Sk为取样窗口W遍历Fj至第k步时,所有n个像素灰度值的均值。
6)若遍历至m步,遍历完成。算得方差共有m个:
……
7)在m个遍历方差中,找出与方差D0最为接近的方差Dp所属区块,即为局部相关性匹配区域Zp;
8)取局部相关性匹配区域Zp的坐标Lp;
9)计算前后帧图像Fi、Fj之间的偏移量,即(off_x,off_y)=Lb-Lp。
所述去除重叠图像运算处理,包含下列步骤:
1)在取样窗口W顶端中心位置,设定基准点P;
2)当取样窗口W处于前帧图像Fi基准位置Lb时,基准点P在图像Fi上投射出基准点Pi;
3)取样窗口W遍历后帧图像Fj,找出局部相关性匹配区域Zp时,基准点P在图像Fj上投射出基准点Pj;
4)以定宽像素为取样边界,计算基准点Pj与左右边界的距离,切除图像Fj溢出左右边界部分;
5)将溢出切除后的后帧图像Fj,按照偏移量off_x,off_y平移到前帧图像Fi上,使Pi、Pj两点重合。
为了提高偏移量计算中的遍历处理速度,可以增添无效遍历步骤剔除机制对遍历计算进行优化。方法是:将指纹划擦运动方向与指纹传感器轴对称线的偏角在±45°之内所形成的后续帧图视为有效帧图,其余则排除在遍历步骤之外。具体步骤是:
6)设取样窗口W的基准点P处于前帧图像Fi基准位置Lb时,在图像Fi上投射出基准点A对于原点O的坐标为A(a,b);
7)当取样窗口W遍历后帧图像Fj至某一位置,基准点P在图像Fj上投射出基准点B对于原点O的坐标为B(a’,b’);
8)其位移向量
为:
9)偏角θ为:
10)设定有效后续帧图的偏角区间为:
11)作遍历判断:
1_当 时,为有效遍历。继续该遍历步骤中的后续运算;
2_否则,为无效遍历。停止本遍历步骤中的后续运算,开始下一遍历步骤。
本发明有益的效果:本发明将指纹图像重构由公知的软件技术实现,提升为由硬件技术实现,节省了处理器开销,大幅度提高了指纹重构效率,同时节省了内存空间,还改善了有效图像面积的精确控制。本发明在提高指纹重构效率前提下,降低主处理器、内存等系统资源的过度开销,使SoC系统构架中的软硬件资源平衡配置,实现系统整体优化。
具体实施方式
下面通过实施例结合附图对本发明作进一步的描述。
图1是本发明提供的一种内嵌于处理器系统的指纹重构加速器的体系结构图,本发明所述的这种内嵌式指纹重构加速器,包括帧图采集器22、帧图缓存单元24、指纹重构单元26和全局控制逻辑28,帧图采集器22与帧图缓存单元24之间通过写入地址总线组202、写入数据总线组203连接,帧图缓存单元24与指纹重构单元26之间通过读出地址总线组204、读出数据总线组205连接,全局控制逻辑28通过控制总线201分别与帧图采集器22、帧图缓存单元24、指纹重构单元26连接,图像缓冲区40通过内部总线206与指纹重构单元26连接;其中:帧图采集器22用于指纹片段采集,包括一个采集控制寄存器组221和串行接口222,在全局控制逻辑28控制下,通过串行接口222向指纹传感器30发送控制信号、并接收采集到的指纹帧图数据;帧图缓存单元24用于对采集到的帧图数据进行缓存处理,包括缓存器241和缓存逻辑电路242,缓存逻辑电路242用于指示缓存器241的存储状态;指纹重构单元26包括用于配置重构参数的重构寄存器组261,负责计算相邻两帧图的偏移量,并将来自缓存器241的有效帧图搬移到图像缓冲区40;全局控制逻辑28包括一个全局控制寄存器组281,通过控制总线201监控帧图缓存单元24、指纹重构单元26的工作状态,以此状态信息控制帧图采集器22的启闭,当整幅指纹图像重构处理完成后产生中断。
本实施例中采用硬件逻辑完成指纹片断采集、重构参数提取、图像重构全过程,无需软件干预,专门设计了指纹片断采集器(FrmCap)和指纹重构器(Restructor),并通过全局控制逻辑(GlobalControl)以及双倍帧图像缓冲器等器件使之有效结合,实现了指纹片断的自动采集和指纹重构的自动完成,整个过程只需要预先设定好相关参数,硬件就能够自动完成指纹重构的全部过程,并将重构好的完整指纹图像存放在预先指定好的用户缓存中,并通过中断或者状态指示的方法通知处理器。
1)指纹片断采集器FrmCap的作用是负责采集指纹片断。由于大部分指纹传感器都是采用SPI串行接口,因此FrmCap采用SPI串行接口作为同指纹传感器的硬件接口。FrmCap_ Reg是FrmCap的控制寄存器组,包括FrmCap_FrmW、FrmCap_FrmH及FrmCap_SpiCntl三个寄存器。这些寄存器被用来配置SPI的传输模式、传输速率及图像规格等参数。指纹片断采集器采集到的帧图像数据在控制逻辑的控制下被送到相应的帧缓冲区FrameBufferA或FrameBufferA。
2)指纹重构器Restuctor负责计算相邻两帧图像的偏移量off_x及off_y并将有效图像搬移到用户指定的图像缓存。Res_Reg是指纹重构器的控制寄存器组,包括Res_WinH、Res_WinW、Res_WinOffset及Img_Start四个寄存器。这些寄存器被用来配置参考矩阵窗口的规格、窗口的最大偏移量以及图像的目标地址等参数。
Res_WinH
BIT16-BIT0
参考矩阵窗口的高度1~16
Res_WinW
BIT16-BIT0
参考矩阵窗口的高度32~128
Res_WinOffset
BIT16-BIT0
参考矩阵窗口的左右偏移量
Img_Start
BIT31-BIT0
目标图像地址
3)双倍帧图像缓冲器FrameBufferA和FrameBufferB用来缓存FrmCap采集到的帧图像数据。双倍帧图像缓冲器包括FrameBufferA和FrameBufferB两个同等大小的高速数据缓存存储器。每个缓冲存储器可以单独控制,用来存放相邻的两帧图像片断。缓存逻辑BufLogic负责监控FrameBufferA和FrameBufferB的存储状态,并给出BufStat[1:0]信号。
4)全局控制逻辑GlobalControl负责模块同处理器的接口,用户可以通过该接口控制整个模块的行为。全局控制逻辑含有一个寄存器组,包括Global_Cnt1和Global_State两个寄存器。通过这些寄存器用户可以了解模块的运行状态,并设定模块运行完成之后的中断机制。具体设置如下:
◆全局控制寄存器Global_Cntl
BIT15-BIT2 BIT1 BIT0
RESERVE INTE START
BIT0:START为1启动模块;START为0停止模块运行,默认为0。
BIT1:INTE为1时,当整副图像重构成功后,产生中断,默认为0。
◆全局状态寄存器Global_State
BIT15-BIT3 BIT2 BIT1 BIT0
RESERVE Ready BufB BufA
BIT0:BufA指示FrameBufferA的状态,1为有效。默认为0。
BIT1:BufB指示FrameBufferB的状态,1为有效。默认为0。
BIT2:READY为1表示一副完整指纹图像已经存放至用户缓冲区,默认为0。
图2表示了帧图缓存单元缓存器内部的具体配置,以及缓存器A、B与各种类型总线的连接方式。专门设计的双倍帧图像缓冲器FrameBufferA和FrameBufferB及缓存逻辑电路,不仅能高速存取数据,并且返回缓冲区的存储状态。
1)所述缓存器241由A、B两个大小同等的高速数据缓冲存储器,即缓存器A24a和缓存器B24b组成,用来存放相邻两帧图像。缓存器A24a和缓存器B24b各自拥有两组独立的地址/数据总线,使帧图采集器22和指纹重构单元26能够分别对缓存器A 24a和缓存器B 24b进行写数据和读数据操作。
2)所述写入地址总线组202由两条写地址总线A_ADDR_WR、B_ADDR_WR组成,所述写入数据总线组203由两条写数据总线A_DATA_WR、B_DATA_WR组成,以上四条总线,构成帧图缓存单元24数据写入通道,其中A_ADDR_WR、A_DATA_WR与缓存器A24a写入端相连,B_ADDR_WR、B_DATA_WR与缓存器B24b写入端相连;所述读出地址总线组204由两条读地址总线A_ADDR_RD、B_ADDR_RD组成,所述读出数据总线组205由两条读数据总线A_DATA_RD、B_DATA_RD组成,以上四条总线,构成帧图缓存单元24数据读出通道,其中A_ADDR_RD、A_DATA_RD与缓存器A24a读出端相连,B_ADDR_RD、B_DATA_RD与缓存器B24b读出端相连。
3)缓存逻辑电路BufLogic可以将存储器的状态进行编码,并通过BufStat[1:0]信号加以指示。
BufStat[1:0] 状态转换
00 初始状态,A内数据无效,B内数据无效
01 A内数据更新完毕
11 A内数据有效,B内数据更新完毕
10 A内数据失效,B内数据有效
11 A内数据更新,B内数据有效
01 A内数据有效,B内数据失效
11 A内数据有效,B内数据更新
…
…
注:BufStat[1:0]对应状态转换表。A/B分别代表FrameBufferA/B
图3是关于帧图采集器一种较佳的内部电路的扩充以及相互之间的连接关系。专门设计的指纹片断采集器FrmCap无需软件干预,能自动地、高效地完成帧图像的采集。节省了处理器开销。
所述帧图采集器22在包含采集寄存器组的基础上,还包括位移寄存器223、译码器224、时钟发生器225、写操作总线选择器226和写操作地址发生器227电路,位移寄存器223分别与指纹传感器30、写操作总线选择器226相连,时钟发生器225分别与位移寄存器223、指纹传感器30相连,译码器224与写操作总线选择器226、写操作地址发生器227相连,采集寄存器组221分别与时钟发生器225、写操作地址发生器227相连;其中:
1)时钟发生器225按照采集寄存器组221中的串行接口速率设定时钟,时钟发生器按照FrmCap_SpiCnt1.SPEED[5:0]的配置,来产生CLK时钟并提供给移位寄存器。
2)移位寄存器223的运行与暂止,由控制逻辑寄存器组281、重构寄存器组261的设定共同控制;移位寄存器223采用时钟发生器224产生的CLK信号激励SPI主模式或者是外部CLK信号激励SPI从模式,将来自指纹传感器30的串行数据转换为并行数据,并送至总线选择器A。Start信号、StateHold信号共同控制移位寄存器是否运行。Start信号是来自Global_Cntl寄存器的控制信号,用于启动模块;StateHold是来自指纹重构器的握手信号,其高电平表示指纹缓冲区的数据正被使用,禁止操作Buffer。
3)译码器224对来自缓存逻辑242的缓存状态信号进行解析(负责解析BufStat[1:0]信号),动态选择缓存器A24a和缓存器B24b作为帧图缓存目的,并根据不同的信号状态给出控制信号Addr_select,用以控制总线选择器选择正确的地址和数据总线(写操作总线选择器226和写操作地址发生器),从而将数据存储到缓存器A24a或者是缓存器B24b。
4)写操作总线选择器226按照译码器224发来的选择信号,选通恰当的连接缓存器A24a的写数据总线A_DATA_WR或缓存器B24b的B_DATA_WR;写操作总线选择器按照控制信号Addr_select选通正确的数据总线,Addr_select为高时,选择BufA_DATA_w;Addr_select为低时,选择BufB__DATA_W。
5)写操作地址发生器227按照译码器224发来的选择信号,选通恰当的缓存器A24a的写地址总线A_ADDR_WR或者缓存器B24b的B_ADDR_WR,同时采集控制寄存器组221的控制参数,计算缓存操作的地址;
6)采集控制寄存器组221包括FrmCap_FrmW、FrmCap_FrmH及FrmCap_SpiCntl三个寄存器。
FrmCap_SpiCntl
BIT15-BIT6 BIT5 BIT[4:0]
RESERVE Mode Speed
Mode:SPI主从模式选择。Mode为1为主模式。默认为0。
Speed:分频系数。SPI Baudrate=Mclk/Speed。Speed默认为24
FrmCap_FrmW
BIT16-BIT0
指纹片断图像的宽度
FrmCap_FrmH
BIT16-BIT0
指纹片断图像的高度
图4是一种较佳的对指纹重构单元进一步进行改进的内部结构图。专门设计的指纹重构器Restructor,无需软件干预,能快速高效地完成重构参数的提取和图像重组。
所述指纹重构单元26还包括比较器262、重组器263、读操作总线选择器264、读操作地址发生器265和译码器B266,比较器分别262与读操作总线选择器264、读操作地址发生器265相连,重组器263分别与比较器262、读操作总线选择器264、读操作地址发生器265相连,译码器B266分别与读操作总线选择器264、读操作地址发生器265相连,重构寄存器组261分别与比较器262、重组器263相连,其中:
1)比较器262(CMP)采用计算矩阵窗口互相关性的方法来寻找相邻两帧图像的最大相关偏移量,比较器262运行时,StateHold信号有效,该信号通知帧图采集器22挂起(暂止帧图采集),防止采集的数据冲掉有效数据。
2)重组器263(Mover)负责根据比较器传来的重构参量off_x和off_y及Img_Start参数计算正确的源地址和目的地址,并将有效数据搬移到目的地址。重组器运行时,StateHold信号有效,该信号通知图像采集器挂起,防止采集的数据冲掉有效数据。
3)译码器B266对来自缓存逻辑242的缓存状态信号进行解析,动态选择缓存器A24a和缓存器B24b作为帧图缓存目的,并将选择信号向读操作总线选择器264和读操作地址发生器265发送;
4)读操作总线选择器264按照译码器B266发来的选择信号,选通恰当的连接缓存器A24a的读数据总线A_DATA_RD或者缓存器B24b的读数据总线B_DATA_RD;
5)读操作地址发生器265按照译码器B266发来的选择信号,选通恰当的连接缓存器A24a的读地址总线A_ADDR_RD或者缓存器B24b的读地址总线B_ADDR_RD。
6)总线选择器B/C同指纹片断采集器FrmCap中的总线选择器A作用相同。
7)译码器B同指纹片断采集器FrmCap中的译码器A作用相同。
本发明提供一种动态指纹重构方法,包括如下步骤:
1)在帧图缓存单元内开辟两个大小相等的缓存器A和缓存器B;
2)帧图采集器采集到的像数据通过写入数据总线组,对帧图缓存单元形成输入数据流;
3)在第1缓存周期,全局控制逻辑通过写入地址总线组,将输入数据流导入缓存器A;
4)在第2缓存周期,全局控制逻辑将输入数据流切换到缓存器B,同时将第1缓存周期暂存在缓存器A的图像数据送入指纹重构单元的比较器中,进行下列运算:
1_偏移量计算;
2_去除重叠图像运算处理;
3_保留有效图像;
4_通过内部总线,发送给图像缓冲区。
5)在第3缓存周期:全局控制逻辑将输入数据流切换到缓存器A,同时将第2缓存周期暂存在缓存器B的图像数据送入指纹重构单元的比较器中,进行下列运算:
1_偏移量计算;
2_去除重叠图像运算处理;
3_保留有效图像;
4_通过内部总线,发送给图像缓冲区。
6)如此循环直至输入数据流处理完毕。
所述偏移量计算,包含下列步骤:
1)设前帧图像为Fi,后帧图像为Fj;
2)开辟一个面积小于传感器感测帧图的取样窗口W;
3)令取样窗口W处于前帧图像Fi基准位置,其坐标为Lb;
4)计算Fi落入该取样窗口W中n个像素灰度值的方差 其中:
1/Si为取样窗口W处于Fi基准位置时,所取第i个像素灰度值;
2/S0为取样窗口W处于Fi基准位置时,所有n个像素灰度值的均值。
5)令取样窗口W以一个像素为步长,遍历后帧图像Fj,同时计算每一步落入取样窗口W内n个像素灰度值的方差;
1_当遍历至第k步时,Fj落入取样窗口W内的像素灰度值方差为 其中:
1/Si为取样窗口W遍历Fj至第k步时,第i个像素灰度值;
2/Sk为取样窗口W遍历Fj至第k步时,所有n个像素灰度值的均值。
6)若遍历至m步,遍历完成。算得方差共有m个:
……
7)在m个遍历方差中,找出与方差D0最为接近的方差Dp所属区块,即为局部相关性匹配区域Zp;
8)取局部相关性匹配区域Zp的坐标Lp;
9)计算前后帧图像Fi、Fj之间的偏移量,即off_x,off_y=Lb-Lp。
所述去除重叠图像运算处理,包含下列步骤:
1)在取样窗口W顶端中心位置,设定基准点P;
2)当取样窗口W处于前帧图像Fi基准位置Lb时,基准点P在图像Fi上投射出基准点Pi;
3)取样窗口W遍历后帧图像Fj,找出局部相关性匹配区域Zp时,基准点P在图像Fj上投射出基准点Pj;
4)以定宽像素为取样边界,计算基准点Pj与左右边界的距离,切除图像Fj溢出左右边界部分;
5)将溢出切除后的后帧图像Fj,按照偏移量off_x,off_y平移到前帧图像Fi上,使Pi、Pj两点重合。
为了提高偏移量计算中的遍历处理速度,可以增添无效遍历步骤剔除机制对遍历计算进行优化。方法是:将指纹划擦运动方向与指纹传感器轴对称线的偏角在±45°之内所形成的后续帧图视为有效帧图,其余则排除在遍历步骤之外。具体步骤是:
6)设取样窗口W的基准点P处于前帧图像Fi基准位置Lb时,在图像Fi上投射出基准点A对于原点O的坐标为Aa,b;
1)当取样窗口W遍历后帧图像Fj至某一位置,基准点P在图像Fj上投射出基准点B对于原点O的坐标为Ba’,b’;
2)其位移向量
为:
3)偏角θ为:
4)设定有效后续帧图的偏角区间为:
5)作遍历判断:
1_当 时,为有效遍历。继续该遍历步骤中的后续运算;
2_否则,为无效遍历。停止本遍历步骤中的后续运算,开始下一遍历步骤。
图5是本发明挂接SW6888传感器的实现流程。
本示例以挂接SW6888指纹传感器为例,说明该发明的使用及配置过程。
整体流程分为初始化配置、模块启动及图像获取三个步骤。
初始化配置阶段的任务是确定模块的状态、对参数进行正确的配置。在这个阶段首先将模块至于停止状态,在参数设置之前禁止所有中断的使能,以保证参数设置的过程稳定,同时将状态寄存器清空;然后,根据SW6888传感器的特点对SPI工作模式、帧图像格式、采集窗口大小等寄存器进行设置。
上述初始化配置过程结束后,通过对Global_Cntl.Start置位的操作来启动模块。
检测状态位Global_state_Ready状态,当该位置位时,表明模块已经采集到一副完整的指
纹图像并已经存放到用户指定的地址。
表A是本发明挂接SW6888传感器实施例中,与传统指纹重构方法所做的处理效果参数对比。
表A
上表是采用同一种传感器并使用同一种重构算法时,采用本模块和纯软件实现的效果对比。可以明显看出,本发明较传统的纯软件实现方法在重构效率和内存使用效率上都有了明显的提高。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。