基于fpga的二维图像重采样算法加速器的制作方法

文档序号:6366980阅读:242来源:国知局
专利名称:基于fpga的二维图像重采样算法加速器的制作方法
技术领域
本发明涉及数字图像处理、电路与系统领域,特指ー种ニ维图像重采样算法加速器。
背景技术
随着图像获取技术和应用需求的高速发展,单幅图像的数据量和単位时间内的总图像数据量均呈现指数增长态势,从而给传统的基于软件实现的各类图像应用的处理速度提出了巨大挑战。传统的基于软件实现的图像处理途径主要有两种①基于桌面PC计算机、工作站、服务器等实现的单机图像处理软件;②基于大規模并行处理机、集群系统等实现的多机并行图像处理软件。从用户使用的角度出发,方法①具有平台体积较小、用户使用便捷的特点,但受限于平台性能,其处理速度不能满足现代图像应用对大规模数据的实时或及时处理需求。方法②具有处理性能高、实时性强的优点,但受限于大規模并行计算平台较低的可用性以及并行算法较高的设计难度,普通用户使用极不方便。同时,上述两种方法还有ー个共同的缺点环境适用性较差,难以满足ー些对体积、性能等有特殊要求的场合(例如星载遥感图像处理)的使用需求。重采样算法是图像处理的ー种基本方法,是由已知图像根据一定的变换规则产生目标结果图像的过程,广泛使用在图像校正、图像配准、图像融合、图像变换等应用领域。重采样算法主要包括两个前后衔接的计算处理过程①根据变换规则计算结果图像中的每个像素点位在已知图像中的共轭位置,常见的变换规则包括刚性变换、仿射变换、透视变换、多项式变换等;②根据已知图像中以共轭位置为中心的某一范围内(称为插值像素窗ロ,一般为矩形窗ロ)的所有像素值确定结果图像中相应像素点位的像素值,常见的像素值确定方法有双三次卷积法、双线性插值法、最邻近像素法等,其中双三次卷积法的采样精度最高,但计算复杂度也最高。计算机生产制造エ艺的飞速发展使得芯片容量越来越大,工作频率越来越高,从而为采用硬件实现更为复杂的功能(例如各种复杂的应用算法)提供了器件基础。现代FPGA(Field-Programmable Gate Array,现场可编程门阵列)器件及相关设计技术的发展为快速逻辑设计、验证、实现提供了一种极为方便的设计途径。算法加速器是指针对具体的应用算法而专门优化设计的硬件实体,其具有较高的数据吞吐率,从而成为应对大規模数据实时或及时处理问题的有效技术途径。算法加速器不仅能够作为独立实体单独使用,而且能够作为协处理或者附加模块在现有平台上使用。由于FPGA内部集成的存储块容量通常只有几KB 几MB,不能满足大容量图像数据的处理需求,故现有的加速器设计中还未发现有基于FPGA芯片实现的图像重采样算法加速器。

发明内容
本发明所要解决的技术问题是针对现有技术存在的问题,提供一种数据呑吐率高、处理速度快、使用便捷、实时性好和适用性广的基于FPGA的ニ维图像重采样算法加速器。为解决上述技术问题,本发明采用以下技术方案一种基于FPGA的ニ维图像重采样算法加速器,包括FPGA芯片和外部存储器,所述FPGA芯片将从外部采集的已知图像存储到所述外部存储器中;在进行重采样处理时,所述FPGA芯片从所述外部存储器中读取已知图像的数据进行计算,并将计算得到的结果图像存储到所述外部存储器中并输出到外部。作为本发明的进ー步改进所述FPGA芯片包括存储控制模块、坐标计算模块、权重计算模块、结果像素值计算模块和总控模块;所述存储控制模块用于将从外部采集的已知图像和计算得到的结果图像存储到所述外部存储器中,并在重采样处理过程中读取插值像素窗口中的所有像素点;所述坐标计算模块用于计算结果图像中每个像素点位在已知图像中的共轭位置的坐标,将所得坐标分解成坐标整数部分和坐标小数部分,并将所述坐标整数部分输出给所述存储控制模块用以读取插值像素窗口中的所有像素点,将所述坐标小数部分输出给所述权重计算模块用以计算插值像素窗ロ中每个像素点的插值权重;所述结果像素值计算模块根据插值像素窗口中的每个像素点及其相应的插值权重计算结果图像中对应像素点位的像素值,所得所有像素值通过所述存储控制模块按序输出到外部存储器存储为结果图像数据;所述总控模块对所述存储控制模块、所述坐标计算模块、所述权重计算模块和所述结果像素值计算模块进行管理。所述外部存储器为SDRAM或闪存。与现有技术相比,本发明的优点在于I、本发明的基于FPGA的ニ维图像重采样算法加速器,采用FPGA芯片外接外部存储器的结构,使加速器具有更高的数据吞吐率、更快的数据处理速度,井能够满足海量图像数据的实时或及时处理需求。本发明的加速器与现有基于桌面PC计算机、工作站、服务器等实现的单机图像处理软件技术相比,采用FPGA芯片实现不仅能够获得较高的计算处理能力,而且具有体积小、使用方便、适用场合广等特点。与现有基于大规模并行处理机、集群系统等实现的多机并行图像处理软件技术相比,本发明具有体积小、造价低、使用便捷等优点。2、本发明的基于FPGA的ニ维图像重采样算法加速器,采用坐标计算模块和权重计算模块实现插值权重即时计算,与传统基于查找表实现的权重确定方法相比,有效避免了存储权重系数所产生的存储容量以及访问存储器带来的存储延迟,具有低存储、低延迟的优点,可实现存在刚性变换的ニ维图像重采样处理。3、本发明的基于FPGA的ニ维图像重采样算法加速器,不仅能够作为独立实体单独使用,而且能够作为协处理或者附加模块在现有平台上使用,能够满足多种环境的使用需求,特别是对性能、体积等有严格要求的星载遥感图像处理环境。



图I是本发明的基于FPGA的ニ维图像重采样算法加速器的组成结构示意图。图2是本发明具体实施方式
的重采样数据处理単元的组成结构示意图。
图3是本发明具体实施方式
的坐标计算模块的结构示意图。图4是本发明具体实施方式
的权重计算模块的结构示意图。图5是本发明具体实施方式
的sine函数计算模块的结构示意图。图6是本发明具体实施方式
的结果像素值计算模块的结构示意图。
具体实施例方式以下将结合说明书附图和具体实施例对本发明作进ー步详细说明。如图I所示,本发明的基于FPGA的ニ维图像重采样算法加速器,包括FPGA芯片和外部存储器,FPGA芯片将从外部采集的已知图像存储到外部存储器中;在进行重采样处理吋,FPGA芯片从外部存储器中读取已知图像的数据进行计算,并将计算得到的结果图像存储到外部存储器中并输出到外部。本实施例中,外部存储器为SDRAM或闪存。本实施例中,如图2所示,FPGA芯片包括存储控制模块、坐标计算模块、权重计算模块、结果像素值计算模块和总控模块;存储控制模块用于将从外部采集的已知图像和计算得到的结果图像存储到外部存储器中,并在重采样处理过程中读取插值像素窗口中的所有像素点;坐标计算模块用于计算结果图像中每个像素点位在已知图像中的共轭位置的坐标,将所得坐标分解成坐标整数部分和坐标小数部分,并将坐标整数部分输出给存储控制模块用以读取插值像素窗ロ中的所有像素点,将坐标小数部分输出给权重计算模块用以计算插值像素窗口中每个像素点的插值权重;结果像素值计算模块根据插值像素窗ロ中的每个像素点及其相应的插值权重计算结果图像中对应像素点位的像素值,所得所有像素值通过存储控制模块按序输出到外部存储器存储为结果图像数据;总控模块对存储控制模块、坐标计算模块、权重计算模块和结果像素值计算模块
进行管理。本发明的基于FPGA的ニ维图像重采样算法加速器工作步骤如下I、输入已知图像和重采样的图像变换參数。I. I存储控制模块在总控模块的控制下将从外部采集的待重采样的大小为WXH的已知图像存放至外部存储器中。I. 2用户将重采样的图像变换參数(Xtjff, Yoff, Θ )传输给总控模块,其中Xoff为水平方向的平移量,Ytjff为垂直方向的平移量,Θ为图像旋转角度。2、坐标计算模块根据重采样的图像变换參数(Xtjff, Yoff, Θ)以及重采样的图像变换规则,计算结果图像中当前点位(TX,TY)在已知图像中的共轭位置的坐标(Χ,Υ);由于ニ维图像是由离散的像素点组成,因此该共轭坐标一般为非整数点位。坐标计算模块在共轭位置的坐标(X,Y)计算出来之后,将所得坐标分解成坐标整数部分(xint,Yint)和坐标小数部分(xfta,YfJ分别输出给存储控制模块和权重计算模块。本实施例中,如图3所示,坐标计算模块的计算规则为如下式(I)的刚性变换规则其中,sin Θ、cos Θ均在坐标计算模块启动之前计算得到,整个算法执行过程中保持不变,W/2、H/2只在需要时通过将W或H通过>> I (右移I位)操作即可完成。图3中为实现上述计算的逻辑电路结构,其中,A为有符号加法运算单元;B为有符号減法运算单元;C为有符号乘法运算单元。3、存储控制模块根据坐标整数部分(Xint,Yint),从外部存储器中读取插值像素窗口中的所有像素点,并传给结果像素值计算模块。本实施例中,插值像素窗ロ的大小为4X4。4、权重计算模块根据坐标小数部分(Xfra,Yfra)计算插值像素窗口中每个像素点的插值权重并传给结果像素值计算模块。如图4所示,步骤4中插值权重的计算采用双三次卷积法,具体为4. I 计算 Xfra, Xfra+1、Xfra-1、Xfra_2、Yfra、Yfra+1、Yfra-I 和 Yfra_2 的 sine 值。4. 2最后取步骤4. I中前四者中任ー个的sine值与后四者中任ー个的sine值(I个X和I个Y对应相乘)两两对应相乗,得到共计16个权重系数(同时计算得到)。 本实施例中,采用基于4X4插值像素窗ロ的重采样方法,即根据已知图像中以共轭坐标为中心的4X4像素窗ロ计算结果图像中相应点位的像素值,为保证重采样精度,窗口中每个像素值对结果像素值的贡献(权重系数)通过双三次卷积法确定,即插值像素窗口中(x,y)位置上的像素值的权重系数w(x,y)的计算公式为w (x, y) = sine (X) X sine (y) (2)其中,Xe [Xfr-2, Xfra-I, Xfra, Xfra+1},y e {Yfra-2, Yfra-I, Yfra, Yfra+1},sine 函数的计算公式为
权利要求
1.一种基于FPGA的ニ维图像重采样算法加速器,其特征在于,包括FPGA芯片和外部存储器,所述FPGA芯片将从外部采集的已知图像存储到所述外部存储器中;在进行重采样处理时,所述FPGA芯片从所述外部存储器中读取已知图像的数据进行计算,并将计算得到的结果图像存储到所述外部存储器中并输出到外部。
2.根据权利要求I所述的基于FPGA的ニ维图像重采样算法加速器,其特征在于,所述FPGA芯片包括存储控制模块、坐标计算模块、权重计算模块、结果像素值计算模块和总控模块;所述存储控制模块用于将从外部采集的已知图像和计算得到的结果图像存储到所述外部存储器中,并在重采样处理过程中读取插值像素窗口中的所有像素点;所述坐标计算模块用于计算结果图像中每个像素点位在已知图像中的共轭位置的坐标,将所得坐标分解成坐标整数部分和坐标小数部分,并将所述坐标整数部分输出给所述存储控制模块用以读取插值像素窗ロ中的所有像素点,将所述坐标小数部分输出给所述权重计算模块用以计算插值像素窗口中每个像素点的插值权重; 所述结果像素值计算模块根据插值像素窗口中的每个像素点及其相应的插值权重计算结果图像中对应像素点位的像素值,所得所有像素值通过所述存储控制模块按序输出到外部存储器存储为结果图像数据; 所述总控模块对所述存储控制模块、所述坐标计算模块、所述权重计算模块和所述结果像素值计算模块进行管理。
3.根据权利要求I或2所述的基于FPGA的ニ维图像重采样算法加速器,其特征在干,所述外部存储器为SDRAM或闪存。
全文摘要
本发明公开了一种基于FPGA的二维图像重采样算法加速器,包括FPGA芯片和外部存储器,FPGA芯片将从外部采集的已知图像存储到外部存储器中;在进行重采样处理时,FPGA芯片从外部存储器中读取已知图像的数据进行计算,并将计算得到的结果图像存储到外部存储器中并输出到外部。本发明可实现存在刚性变换的二维图像的重采样处理。
文档编号G06T1/20GK102663666SQ20121008336
公开日2012年9月12日 申请日期2012年3月27日 优先权日2012年3月27日
发明者宋振龙, 屈婉霞, 张晓明, 徐炜遐, 李元山, 李宝峰, 李小芳, 田宝华, 蒋句平, 邢建英, 郑义, 郑明玲 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1