当前位置: 首页 > 专利查询>路博超专利>正文

一种基于Zynq系列FPGA的时分复用二维小波变换系统技术方案

技术编号:15108687 阅读:55 留言:0更新日期:2017-04-09 00:03
本发明专利技术公布了一种基于Zynq系列FPGA的时分复用二维小波变换系统,用于图像处理和数据分析。该套系统仅使用一个行变换模块,和一个列变换模块,高速稳定的实现多级97提升式小波变换系统,并通过将FPGA与Linux系统结合,实现图像数据通过网络传入,变换结束后通过网络传出的系统架构。

【技术实现步骤摘要】

本专利技术属于电子电路
,特别涉及一种基于Zynq系列FPGA的时分复用二维小波变换系统,可用于图像处理和数据分析。
技术介绍
小波变换具有良好的时频定位性质和多分辨率特征,在各种数据分析中得到广泛的应用。但由于其复杂的计算过程,给小波变换的应用带来了一定的阻碍。目前,多数小波变换的应用多选择在计算机平台上实现,在微处理器平台上,使用小波变换的并不多。即使在微处理器平台上实现的小波变换,其性能也受到很大的限制。近年来,FPGA的发展为电子领域带来了很多改变,其大规模并行化运行的能力,实现了很多在微处理器平台上难以实现的算法。而小波变换的计算过程中,存在着大量的可并行化的运算,将FPGA与小波变换结合,便可以实现高性能的小波变换系统。随着技术水平的提升,市场上出现了各式各样的FPGA,而Zynq系列的FPGA具有独特的优势。它集成了ARM处理器的软件可编程性和FPGA的硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成CPU、DSP、ASSP以及混合信号功能。Zynq系列的FPGA将可定制智能性融入当前嵌入式系统,可灵活的适应各种应用需求。在Zynq系列FPGA上实现小波变换系统,可将系统与网络直接相连,通过网络传入传出数据,实现高性能云计算。虽然使用FPGA实现小波变换可获得较高的性能,但现有的基于FPGA的二维小波变换系统,尤其是多级小波变换系统,都使用了较多的硬件资源。如专利技术专利1(专利技术人:顾晓东,陈军,王怀超,安军社,陈晓敏,“一种基于FPGA的星载图像压缩的小波变换系统及方法”:专利申请号:201110156077.4)中所述的小波变换系统,在进行第一级二维小波变换的时候,使用了一套计算系统,进行第二级变换的时候需要另一套计算系统来完成。其专利中所述的小波变换系统完成三级的小波变换,便需要三套计算系统,以实现多级小波变换的并行计算。而专利技术专利2(专利技术人:雷杰,李云松,李双十,叶繁,郭杰,张皓,吕宝刚,“基于FPGA的多级复用小波变换器”:专利申请号:201310476968.7)中所述的小波变换系统,通过时分复用,减少了计算系统的资源消耗,但其小波变换系统中,仍需要第一级的一套计算系统和时分复用的一套计算系统,共两套计算系统来实现多级小波变换,仍然消耗较多的硬件资源。通过理论分析发现,多级小波变换通过时分复用,用一套计算系统便可完成,即通过一个行变换模块和一个列变换模块便可实现任意级数的小波变换。同时,每多实现一级变换,仅需添加十行数据左右大小的FIFO即可(行的长度随级数增加,以0.5为倍数减小)。但要达到理想效果,有一定的设计难度。
技术实现思路
在实现基于行的二维97提升式小波变换的过程中,行变换需要输入两个图像数据,才会输出两个变换结果,如果每个时钟送入两个数据给行变换模块,则每处理一行的数据,行变换模块会空闲半行的时钟周期。而列变换模块需要输入两行图像数据,才输出两行变换数据,每处理两行的数据,会空闲一行的时钟周期。无论是行变换模块还是列变换模块,中间都会有一段空闲时间,且这段空闲时间与模块运行的时间相等。第二级小波变换需要的空闲时间和运行时间都是第一级小波变换的一半,第三级所需要的时间则是第二级的一半。所以在第一级小波变换的空闲时间里,完全可以进行第二级小波变换,并且还剩下第二级的空闲时间;而在第二级的空闲时间里,完全可以进行第三级变换,依此类推,通过时分复用的方法,可以实现使用一套计算系统,而实现任意级数的小波变换。本专利技术的目的在于提供一种基于Zynq系列FPGA的时分复用二维小波变换系统,仅使用一个行变换模块,和一个列变换模块,高速稳定的实现多级97提升式小波变换系统,并通过将FPGA与Linux系统结合,实现图像数据通过网络传入,变换结束后通过网络传出的系统架构。为实现上述目的,本专利技术对各级数据流以及图像输入输出进行规整,并结合少量的缓存,实现计算模块的时分复用。同时,对计算模块内部进行优化,保证其稳定高速的运行状态。本专利技术的基于Zynq系列FPGA的时分复用二维小波变换系统的技术方案包括如下三个设计:设计1:图像数据送入系统后,并不是直接送入行变换模块,而是先送入行缓存模块,等待控制模块给出读信号后再输入到行变换模块。行变换模块的结果先送入列缓存模块,待控制模块给出读信号后再输入到列变换模块。列变换模块输出的数据流中,包含各级变换结果,并配有各级结果的标志。同时,数据流中各级变换结果的LL子带会送入到行缓存模块中,以进行多级变换。设计2:行变换模块和列变换模块由多个加法乘法模块和延迟模块组成。加法模块将同步电路和异步电路结合,通过两个时钟周期完成有符号加法。列变换模块中通过计算缓存模块,缓存一行中间计算结果,用于处理前边界。行变换和列变换均采用镜像方式处理边界。计算模块和缓存模块所使用的位宽可以调节,各个接口处设有位宽转换机制。列缓存模块内由10个FIFO模块组成,用来缓存5行行变换结果。设计3:该套系统可与Linux系统结合,形成一套可实现网络传输和实时变换处理的图像处理平台。该系统封装为IP核,通过AXI4-Stream协议与Zynq芯片上的ARM处理器运行的Linux系统相连,可任意时刻零延时暂停与继续工作。系统输出配有各级变换结果标志,连同所有变换结果通过两路信号输出。上述设计1中,小波变换系统的结构特点是:对每一级变换,均配上两行长度的行缓存,行的长度为当前级数的小波变换所对应的行宽。两行缓存中存储同一行的输入数据,但一行缓存输出奇数位的数据,另一行缓存输出偶数位的数据,每个时钟送出两个数据给行变换模块。行变换模块通过高频通道和低频通道,输出两路数据流。对每一级列变换,均配上一个列缓存模块。每个列缓存模块缓存5行行变换结果,其中每行的高频部分和低频部分是分开缓存的。列变换模块通过高频通道和低频通道,输出两路数据流。其低频通道中各级的LL子带部分数据将被送入行缓存模块中,作为下一级变换的输入。上述设计2中,各个子模块的特点是:行变换模块和列变换模块通过多个模块组合而成,采用流水线结构。对于不同种类的小波变换,调整乘法模块的参数,乘法模块、加法模块以及缓存的个数,并配合相应的控制信号便可实现,而系统整体时分复用结构不需要变动。加法模块将输入的有符号定点数由原码先转换为补码,进行补码加法后,再将结果转换为原码。其中原码与补码的转换通过同步电路来实现,而加法过程通过异步电路来实现。加法模块通过2个时钟周期完成一次有符号加法运算。乘法模本文档来自技高网
...

【技术保护点】
一种基于Zynq系列FPGA的时分复用二维小波变换系统,其特征在于,仅使用一个行变换模块和一个列变换模块,高速稳定的实现多级97提升式小波变换系统,并通过将FPGA与Linux系统结合,实现图像数据通过网络传入,变换结束后通过网络传出的系统架构;其中,所述时分复用二维小波变换系统通过行缓存模块、行变换模块、列缓存模块、列变换模块实现多级小波变换;所述时分复用二维小波变换系统采用模块化的设计方式,可设定不同模块的计算位宽;所述时分复用二维小波变换系统可与Linux系统实现协同运行,变换系统可随意暂停,通过AXI4‑Stream协议与Linux系统进行文件传输。

【技术特征摘要】
1.一种基于Zynq系列FPGA的时分复用二维小波变换系统,其特征在于,仅使用一个行
变换模块和一个列变换模块,高速稳定的实现多级97提升式小波变换系统,并通过将FPGA
与Linux系统结合,实现图像数据通过网络传入,变换结束后通过网络传出的系统架构;其
中,
所述时分复用二维小波变换系统通过行缓存模块、行变换模块、列缓存模块、列变换模
块实现多级小波变换;
所述时分复用二维小波变换系统采用模块化的设计方式,可设定不同模块的计算位
宽;
所述时分复用二维小波变换系统可与Linux系统实现协同运行,变换系统可随意暂停,
通过AXI4-Stream协议与Linux系统进行文件传输。
2.根据权利要求1所述的基于Zynq系列FPGA的时分复用二维小波变换系统,其特征是,
所述系统结构特点具体包括:
图像数据先送入行缓存模块。对每一级变换,均配上两行长度的行缓存,行的长度为当
前级数的小波变换所对应的行宽。两行缓存中存储同一行的输入数据,但一行缓存输出奇
数位的数据,另一行缓存输出偶数位的数据,每个时钟送出两个数据给行变换模块。行变换
模块通过高频通道和低频通道,输出两路数据流。对每一级列变换,均配上一个列缓存模
块。每个列缓存模块缓存5行行变换结果,其中每行的高频部分和低频部分是分开缓存的。
列变换模块通过高频通道和低频通道,输出两路数据流。其低频通道中各级的LL子带部分
数据将被送入行缓存模块中,作为下一级变换的输入。
3.根据权利要求1所述的基于Zynq系列FPGA的时分复用二维小波变换系统,其特征是,
所述各个子模块的特点具体包括:
行变换模块和列变换模块通过多个模块组合而成,采用流水线结构。对于不同种类的
小波变换,调整乘法模块的参数,乘法模块、加法模块以及缓存的个数,并配合相应的控制
信号便可实现,而系统整体时分复用结构不需要变动。加法模块将输入的有符号定点数由
原码先转换为补码,进行补码加法后,再将结果转换为原码。其中原码与补码的转换通过同
步电路来实现,而加法过程通过异步电路来实现。加法模块通过2个时钟周期完成一次有符
号加法运算。乘法模块采用移位加法实现,使用9位小数精度的97提升变换系数。对每一级
变换,均配上一个计算缓存模块,用于处理列变换前边界。行变换和列变换都通过镜像的方
式处理边界。系统的输入、中间计算以及输出的数据均采用定点数,分为小数位宽和整数位
宽,默认为16位小数+16位整数,经测试此精度下逆变换后的还原图像的PSNR可达108dB。计
算模块和缓存模块所采用的位宽可分开调整,提升计算模块的精度可减少误差,降低缓存
模块的精度,可在尽量降低误差影响的前提下,节省系统资源。列缓存模块内的10个FIFO模
块,5个用来存储行变换高频结果,5个用来存储行变换低频结果。每5个FIFO首尾相连,上一
个FIFO输出数据的同时,输出数据也被下一个FIFO存储,通过这种方式来更新FIFO内存储
的数据。
4.根据权利要求1所述的基于Zynq系列FPGA的时分复用二维小波变换系统,其特征是,
所述变换系统与Linux系统协同运作的模式具体包括:
系统整体设计稳定,可随意暂停,输出数据没有延迟。系统使用AXI4-Stream协议,通过
两个通道与Zynq芯片上的ARM处理器运行的Linux系统相连。一个通道从Linux传输图像数
据到系统,其中Linux方为Master,系统方为Slave;另一个通道从系统回传计算结果到
Linux,其中系统方为Master,Lin...

【专利技术属性】
技术研发人员:郭江凌路博超
申请(专利权)人:路博超郭江凌
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1