基于多级二维离散小波变换的VLSI设计方法与流程

文档序号:15982757发布日期:2018-11-17 00:31阅读:176来源:国知局

本发明属于超大规模集成电路(verylargescaleintegration,简称vlsi)设计范畴,设计出一种级内可折叠的高性能多级二维离散小波变换的vlsi结构。

背景技术

二维离散小波变换(discretewavelettransform,dwt)是一种广泛应用于图像分析、图像压缩的数字信号处理领域的数字信号滤波方法。经离散小波变换的处理,信号被分解成同时具有时域信息和频域信息的不同的子带。由于离散小波变换的运算量较高,一般通过硬件电路来实现。对于硬件实现二维离散小波变换架构,为了搞笑低功耗的处理数字信号,降低硬件资源消耗的同时提高系统性能成为了结构优化的热点研究方向。

在目前已有的关于单级二维离散小波变换的研究成果中,各文献创新主要集中在如何提升架构的硬件效率上。weiz等人在论文《anefficientvlsiarchitectureforlifting-baseddiscretewavelettransform》[1]中在已有提升算法的基础上重新整合各个运算项,提出了新型双输入/双输出的流水线结构,关键路径(criticalpathdelay,cpd)降为一个乘法器延时(tm),内部数据存储减少为4n(n为输入图像长度)。darjia等人在论文《dual-scanparallelflippingarchitectureforalifting-based2-ddiscretewavelettransform》[2]中提出了一种横向z型扫描的双输入/双输出结构,对转置结构进行了改进,关键路径同样为一个乘法器延时。huy等人在文献《amemory-efficientscalablearchitectureforlifting-baseddiscretewavelettransform》[3]中引入了重复扫描的方法,通过重复扫描1行像素的方法减小了模块内存储面积。mohantybk等人在论文《area-andpower-efficientarchitectureforhigh-throughputimplementationoflifting2-ddwt》[4]中通过提高并行度的方式来增加系统的吞吐率,极大的减小了整体运算之间,但相应地系统的输入数据存储面积与整体运算资源消耗随之增加。

在jpeg2000图像压缩系统等主要应用环境下,数据需要进行多级的二维离散小波变换,一般需要级间缓存或数据调整来完成两级之间的ll分量的数据衔接。对于多级结构,ye和hou在文献《memoryefficientmultileveldiscretewavelettransformschemesforjpeg2000》[5]中通过对不同扫描方式的对比,通过优化块扫描顺序的方式在折叠结构下降低了存储面积,但是所需的存储资源仍然很大。mohanty和meher在论文《memoryefficientmodularvlsiarchitectureforhighthroughputandlow-latencyimplementationofmultilevellifting2-ddwt》[6]中提出了一种基于并行行扫描的无级间存储展开结构,关键路径为一个乘法器延时和两个加法器延时(ta)。之后他们在论文《memory-efficienthigh-speedconvolution-basedgenericstructureformultilevel2-ddwt》[7]中阐释了一种并行卷积结构,降低了存储需求,但是运算资源相应增加。wu和zhang在文献《hardwareefficientmultiplier-lessmulti-level2ddwtarchitecturewithoutoff-chipram》[8]中通过引入csd乘法器在三输入多级结构的基础上降低关键路径延时为一个加法器延时,但是系统需要多时钟控制,控制逻辑比较复杂。

通过对已有单级以及多级二维离散小波变换结构的研究可以发现,非折叠结构相比于折叠结构延时更小,资源更低。但是在非折叠结构中,由于后一级离散小波变换只对前一级的low-low(ll)子带继续进行处理,这样造成时钟数据不匹配。一般多级非折叠结构会通过采用多时钟域来解决这个问题,但这又会增减额外的硬件资源消耗。因此本文将基于dwt提升算法,设计一种单一时钟域下的多级离散小波变换结构,优化模块内级间存储需求,改善时钟数据不匹配情况,提升硬件效率与系统性能。

dwt提升算法最早由daubechies和sweldens所提出,之后huangct等在《flippingstructure:anefficientvlsiarchitectureforlifting-baseddiscretewavelettransform》[9]中提出了二维离散小波变换的flipping算法,其算法如公式(1)-公式(6)所示。

h°(2n+1)=k×h(2n+1)(5)

其中,x为输入数据,y、h和l为中间变量,h°(2n+1)和l°(2n)为小波变换的输出结果,各系数为常数定值,取值如下:α=-1.586134342,β=-0.052980118,γ=0.882911075,δ=0.443506852,k=1.230174105。经过两次该过程运算即可得到二维离散小波变换结果。本发明将以公式(1)~公式(6)为基础进行改进设计。参考文献:

[1]zhangw,jiangz,gaoz,etal.anefficientvlsiarchitectureforlifting-baseddiscretewavelettransform[j].ieeetransactionsoncircuitsandsystemsii:expressbriefs,2012,59(3):158-162.

[2]darjia,agrawals,ozaa,etal.dual-scanparallelflippingarchitectureforalifting-based2-ddiscretewavelettransform[j].ieeetransactionsoncircuits&systemsiiexpressbriefs,2014,61(6):433-437.

[3]huy,jongcc.amemory-efficientscalablearchitectureforlifting-baseddiscretewavelettransform[j].ieeetransactionsoncircuits&systemsiianalog&digitalsignalprocessing,2013,60(8):502-506.

[4]mohantybk,mahajana,meherpk.area-andpower-efficientarchitectureforhigh-throughputimplementationoflifting2-ddwt[j].ieeetransactionsoncircuits&systemsiiexpressbriefs,2012,59(7):434-438.

[5]yel,houz.memoryefficientmultileveldiscretewavelettransformschemesforjpeg2000[j].ieeetransactionsoncircuits&systemsforvideotechnology,2015,25(11):1773-1785.

[6]mohantybk,meherpk.memoryefficientmodularvlsiarchitectureforhighthroughputandlow-latencyimplementationofmultilevellifting2-ddwt[j].ieeetransactionsonsignalprocessing,2011,59(5):2072-2084.

[7]mohantybk,meherpk.memory-efficienthigh-speedconvolution-basedgenericstructureformultilevel2-ddwt[j].ieeetransactionsoncircuits&systemsforvideotechnology,2013,23(2):353-363.

[8]wuc,zhangw,jiaq,etal.hardwareefficientmultiplier-lessmulti-level2ddwtarchitecturewithoutoff-chipram[j].ietimageprocessing,2017,11(6):362-369.

[9]huangct,tsengpc,chenlg.flippingstructure:anefficientvlsiarchitectureforlifting-baseddiscretewavelettransform[j].ieeetransactionsonsignalprocessing,2004,52(4):1080-1089.



技术实现要素:

本发明的目的是提供一种采用单时钟域,根据时钟数据比进行内部折叠,高并行高效的多级二维离散小波变换的vlsi设计方法。本发明的技术方案如下:

一种基于多级二维离散小波变换的vlsi设计方法,采用9/7小波的离散小波变换架构,根据公式(1)-(6)建立内部可折叠的多级二维离散小波变换模块,硬件架构包括输入数据存储模块、第一级离散小波变换模块、第二级离散小波变换模块、第三级离散小波变换模块,数据先依次进入数据存储模块,然后由存储模块送往后续模块依次进行处理,最终得到三级小波变换的最终结果:

h°(2n+1)=k×h(2n+1)(5)

其中,x为输入数据,y、h和l为中间变量,h°(2n+1)和l°(2n)为小波变换的输出结果,各系数为常数定值,取值如下:α=-1.586134342,β=-0.052980118,γ=0.882911075,δ=0.443506852,k=1.230174105;其中,

输入数据存储模块用于暂存按行依次到达的输入图像数据,当整个系统的并行度为1时,数据输出为3个分属三行的像素,所需要的存储ram为3n;当整个系统的并行度为s时,数据输出为(2s+1)个行数据,所需要的存储ram也相应变为(2s+1)*n;对于以单一并行度,存储模块的输出数据为重复1行扫面,即每次输出的第3个像素为重复扫描点;同时对输出数据进行错位处理,同一列3个像素中的第2个像素点提前一周期进入变换模块,这样使得变换模块中的乘法运算得以提前一周期开始;

多级二维离散小波变换模块整体采取非折叠架构,采用前后级并行度为2:1的整体模块设计,这样第一级离散小波变换的时钟数据比是1:1,第二级是2:1,第三级是4:1;

第一级离散小波变换模块的时钟数据比为1:1,由于时钟数据相匹配,设计为内部全展开结构,模块为3输入,其中第3个输入数据为重复扫描点,输入数据经过错位处理,列变换模块运算顺序得以优化,使得内部缓存减少到3n,并且关键路径降为一个乘法器延时(tm);

第二级离散小波变换模块的时钟数据比为2:1,设计为半折叠架构,即对于一组数据的四次基本运算,分别对应公式(1)-(4);

第三级离散小波变换模块的时钟数据比为4:1,设计为全折叠架构,即对于一组数据的四次基本运算。

本发明提供了一种硬件效率更高的多级二维离散小波变换结构,采用了多三输入并行的横向扫描方式,设计了级内可折叠架构,节省了硬件开销,具有更高的硬件效率。

附图说明

图1为本发明的前后两级并行度之比示意图

图2为本发明的数据扫描输入方式

图3为第一级dwt列变换模块结构示意图

图4为第一级dwt转置模块结构示意图

图5为第二级dwt列变换模块结构示意图

图6为第二级dwt转置模块结构示意图

图7为第三级dwt列变换模块结构示意图

图8为第三级dwt转置模块结构示意图

具体实施方式

下面结合附图对本发明进行详细说明。

本发明整体采用前后两级dwt之间并行度之比为2:1的非折叠结构,如图1所示。

非折叠结构中前一级生成的ll分量、lh分量、hl分量和hh分量中,只有ll分量进入下一级继续进行处理,因此传统的非折叠结构中前后两级dwt架构之间的吞吐率之比为4:1。这样,若仍旧使用一个系统时钟,后一级dwt将有很多时钟周期处于做无用功的状态,降低了系统整体的使用率。然而若采用多时钟域,又会增加时钟树综合的面积和系统的复杂度。因此,本发明采用了前后两级dwt并行度之比为2:1的整体模块设计。这种情况下,第一级dwt的时钟数据比为1:1,即每一个时钟周期进入一组有效数据;第二级的时钟数据比为2:1,即每两个时钟周期进入一组有效数据;第三级的时钟数据比为4:1,即每四个时钟周期进入一组有效数据。若整个系统的小波变换级数超过三级,则以每三级形成一个整体的小系统,采用同一个系统时钟。而每三级之间即每个小系统之间采用不同的时钟域。

公式(1)-(4)中,每一个公式中都包含一个乘法运算和两个加法运算。且在流水线结构下,公式(2)-(4)中每一次加法运算中的待乘加数至少比非待乘加数提前一个周期到达。如公式(2)中的待乘加数x(2n)在第n周期已经到达,而y(2n+1)与y(2n-1)至少在第n+1周期得到。又因为16位加法器与乘法器的典型延时分别为3.01ns和6.79ns,因此基本运算中的乘法运算与加法运算是可以同时进行且不会对关键路径产生影响的。由于公式(2)-(4)中的乘法项至少先于另外两个加法项一个周期到达,因此只需对公式(1)的输入进行调整,使x(2n+1)先于x(2n)和x(2n+2)一个周期到达,那么公式(1)-(4)的基本运算模块设计相一致。因此在行并行三输入扫描的基础上,采取数据时钟错位的方法,让像素x(2n+1)点比x(2n)与x(2n+2)提前一个周期进入二维离散小波变换处理模块,这样使得每一级的加法运算与乘法均可以在同一周期完成。如图2所示为并行度s=1时的情况,其中灰色像素点为重复扫描像素,clkn代表当前行的第n个周期。

第一级dwt架构的列变换如图3所示。此时时钟数据比为1:1,因此设计为内部全展开结构。该一维dwt架构由四个基本运算模块顺序连接而成,按顺序分别对应公式(1)-(4)。若多个模块并行则图中存入ram的数据相应变为传出给下一列变换模块,从ram中读取的数据则来自上一列变换模块。根据公式,需要传输的中间数据为y(2n+1)、y(2n)和h(2n+1)。图3中带*号的x(2n+1)为提前进入项;dx代表在第x周期得到的数据,由于x(2n+1)提前1周期进入,因此在第0周期已得到公式(1)的乘法项。行变换模块与列变换模块结构基本相同,列变换中的ram被buffer取代则可作为行变换模块。

由列变换模块输出的l与h系数需要经过转置才能满足行变换的输入需求。对于时钟数据比为1:1的模块,其列变换输出和转置如图4所示,空白处为无效数据。

第二级dwt列变换的架构如图5所示。此时时钟数据比为2:1,即每两个时钟周期有一组有效数据,因此在一维模块变换内部可以对基本运算模块进行半折叠。即对于一组数据的四次运算处理,共需调用两个基本运算模块。如图5所示,x(2n)、x(2n+1)*和x(2n+2)进入模块后,一个时钟周期后即可得到y(2n+1),此时进入模块的数据为无效数据(时钟数据比为2:1),因此将第1周期产生的数据重新作为输入即可在第2周期得到y(2n)。同理,二次预测与更新的公式(3)和公式(4)也采用相同的方式对基础运算模块进行复用,这样在不改变时钟频率的情况下保证了每个时钟周期的处理均为有效处理。在通过转置模块将列变换的输出数据调整为时钟数据比为2:1后,行变换处理与列变换处理相同,只需将每个ram替换为四个深度的buffer。第二级dwt的列变换输出和转置如图6所示。

第三级dwt列变换的架构如图7所示。此时时钟数据比为4:1,即每四个时钟周期有一组有效数据,因此在一维模块变换内部可以对基本运算模块进行全折叠。即对于一组数据的四次运算处理,共调用一个基本运算模块。数据进入模块后,复用同一基本运算模块在四个周期内得到l与h系数,此时下一组有效数据恰好到达,即可做同样的处理。如图7所示,每四个周期到达一组有效数据,经过四个周期的基本运算模块复用完成变换。在通过转置模块将列变换的输出数据调整为时钟数据比为4:1后,行变换处理与列变换处理相同,只需将每个ram替换为八个深度的buffer。

第三级dwt的列变换输出和转置如图8所示。

本发明还对提出的架构进行了分析,各级dwt的硬件开销如表1所示。其中s代表并行架构中的并行度,通常取s=8或16.

表1本发明各级的硬件开销

本发明与现有其他二维离散小波变换架构进行了对比,对比结果如表2所示。其中cpd表示该架构的关键路径延时(criticalpathdelay),结构[4]额外使用了66个减法器表中未列出。

表2各架构硬件开销对比

为了更明确的对比不同架构之间的硬件效率,使用参数——预估晶体管数-延时-吞吐率(transistorcount-delay-product,简称tdp)进行效率对比,计算公式如下:

tdp=transistorcount×cpd×act(transistor·s)(12)

其中transistorcount表示架构的总晶体管数量,act(全称activecycletime)表示计算一副图像所需要的周期数,act=n2/吞吐量。8bit的乘法器、加法器、寄存器和ram的晶体管数量分别为1085、248、128和48,16bit的加法器、寄存器和ram的晶体管数量分别是504、256和96,16bit乘法器(包含4个8bit乘法器和3个8bit加法器)晶体管数量为5084。表3为整体架构的硬件效率对比,其中测试图像大小为512×512,即n=512。

表3整体架构的硬件效率对比

从表3中可以看出,与已有的多级二维离散小波变换vlsi架构相对比,本发明架构的tdp最小,即硬件效率最高。因此,本发明所设计的多级二维离散小波变换架构减少了数据存储需求以及整体运算与暂存资源,具有较高的硬件效率。

参考文献:

[1]b.k.mohantyandp.k.meher,“memoryefficientmodularvlsiarchitectureforhighthroughputandlow-latencyimplementationofmultilevellifting2-ddwt,”ieeetrans.signalprocess.,vol.59,no.5,pp.2072–2084,may.2011.

[2]b.k.mohantyandp.k.meher,“memory-efficienthigh-speedconvolution-basedgenericstructureformultilevel2-ddwt,”ieeetrans.circuitssyst.videotechnol.,vol.23,no.2,pp.353–363,feb.2013.

[3]y.huandc.jong,“amemory-efficienthigh-throughputarchitectureforlifting-basedmulti-level2-ddwt,”ieeetrans.signalprocess.,vol.61,no.20,pp.4975–4987,oct.2013.

[4]c.wu,w.zhang,q.jiaandy.liu,“hardwareefficientmultiplier-lessmulti-level2ddwtarchitecturewithoutoff-chipram,”ietimageprocess.,vol.11,no.6,pp.362–369,jun.2017。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1