高速、可配置的一维离散小波变换vlsi结构的制作方法

文档序号:6360652阅读:221来源:国知局
专利名称:高速、可配置的一维离散小波变换vlsi结构的制作方法
技术领域
本发明主要是关于一种高速、可配置的一维5/3和9/7小波变换的VLSI实现结构。
小波变换的VLSI实现研究一直是近些年来国际上的研究的热点。G.Knowles等人的论文——“VLSI Architecture for the Discrete Wavelet Transform,”Electronic letters,vol.26,no.15,1990,pp.2091-2110,提出了第一个关于离散小波变换的VLSI结构。该结构中离散小波变换作为一个低通滤波器和一个高通滤波器进行实现,中间计算是通过大量的乘加运算来实现的,因此从经济成本角度来看,该结构不适合用于ASIC的实现。其后,A.S.Lewis等人在提出了一种无乘法操作两维离散小波变换的VLSI结构(A.S.Lewis and G.Knowles,“VLSI Architecture for 2-D Daubechies Wavelet Transform Without Multipliers,”Electronicletters,vol.27,no.2,1991,pp.171-173)。但是这个结构主要适用于Daubechies的四阶小波滤波器,对于其它形式的小波滤波器并不是十分理想。后来,Aware公司提出了一种折叠方式小波变换结构,其结构将所有各级的小波变换的计算采用一组低通和高通小波滤波起来实现,这样的结构各级间具有较低处理延时,但是增加了硬件面积,同时需要复杂的互连方式(Aware Inc.,Cambridge,Aware Wavelet Transform Processor(WTP)Preliminary,1991)。尽管由Parhi和Nishitani提出的串行处理的小波变换VLSI结构,克服了上述的折叠结构的缺点,但是增加了系统延时(K.K.Parhi and T.Nishitani,“VLSI Architecture for DiscreteWavelet Transform,”IEEE Transactions on Very Large Scale Integration(VLSI)System,vol.1,no.2,1993,pp.191-202)。后来,Firdman,Owens,Chakrabarti,Denk等人在他们的论文中提出多种改进结构,但是所有的这些结构都是基于传统的卷积方式实现的小波变换,因此,这些结构计算单元和逻辑控制都十分复杂。于是,一种改进的基于提升(lifting)结构的小波变换算法被提出来,并且迅速得到广泛应用。
基于提升(lifting)结构的小波变换算法是由美国著名数学家Wim Sweldens于上世纪90年代中期提出的。它的原理是将低通和高通滤波处理分解成为一系列上三角和下三角矩阵的乘积。如此的结构具有明显的优点,例如,可以实现原位计算,即计算的结果可以存入相应原数据存储单元,这样节省了计算过程的中间数据缓存。它可以实现整数处理,这对于无损情况下的编码处理十分有效;另外,它的正向变换和逆向变换具有相似的对称结构。由于基于提升(lifting)结构的小波变换算法的诸多优点,它已经成为国际最新影像压缩标准——JEPG2000核心编码算法(标准号15444-1)的推荐小波变换算法。标准中推荐了两个小波滤波器——基于整数的5/3滤波器(5阶低通滤波器和3阶高通滤波器组成的滤波器组);基于实数的9/7滤波器(9阶低通滤波器和7阶高通滤波器组成的滤波器组)。
于是,基于提升(lifting)结构的小波变换算法的VLSI结构研究也就成为了目前的研究热点。这里已经有几种相应的VLSI结构推出,其中最为有代表性的是由台湾大学Chung-Jr Lian等人提出的直接硬件映射结构(C.J.Lian,K.F.Chen,H.H.Chen,and L.G.Chen,“Lifting Based Discrete Wavelet Transformation Architecture for JPEG2000,”CAS2001.pp.II445-II448)和美国亚利桑那州立大学Kishore Andra等人提出的联合方式的小波变换结构(K.Andra,C.Chakrabarti,and T.Acharya,“A VLSI architecture for lifting-basedforward and inverse wavelet transform,”IEEE Transactions on Signal processing,Vol.50,No.4,pp.966-977,April.2002)。前者的结构是根据提升(lifting)结构的小波变换算法的特点,将其直接映射相应硬件运算单元,其结构简单易于形成流水处理。可是结构在数据延拓,以及正向变换和逆向变换的资源共享方面还有一定的缺点。后者的结构是一种折叠的处理方式,这种结构具有较高的硬件利用效率。但是,当进行9/7小波变换时,需要将第一次计算结果反馈回输入端,这样增加控制的复杂度和造成数据通路流水处理间断。
本发明提出的一维离散小波变换VLSI结构,其数据通路是基于流水线操作方式,结构包括基于流水线的多级提升(lifting)处理单元,嵌入式数据延拓控制单元,输入/输出控制单元。
本发明中的一维小波变换结构是对一维数据进行处理。待处理的一维数据按照奇/偶索引分别送入本发明提出的结构中,经过多级的提升(lifting)运算处理(5/3小波为2级提升操作;9/7小波为4级提升操作),这里每一级提升(lifting)运算对应着一个乘加单元(MAC);经过提升(lifting)运算后分别生成小波变换后的低频数据和高频数据。
上述输入/输出控制单元,在数据的输出端根据小波滤波器的不同,选择相应的数据输出。当进行5/3小波变换时,数据直接进行输出,当进行9/7小波变换时,提升(lifting)处理后的数据需要进行重规整化处理,即低频和高频数据分别乘上规整化系数,然后输出处理结果。上面是进行正向小波变换时的数据流程。
当进行逆向小波变换时,输入数据按照低频和高频分为两组分别送入处理结构中。输入端首先进行判断,5/3小波逆向变换时,数据直接送入进行提升(lifting)处理;当9/7小波逆向变换时,数据首先进行逆向的重规整化处理,即输入的低频和高频系数分别乘以逆向的重规整化系数,然后,将逆向重规整化后的系数进行逆向提升(lifting)处理,5/3小波对应着2级逆向提升(lifting)处理,9/7小波对应着4级逆向提升(lifting)处理。每一级逆向提升(lifting)处理对应着一个乘加单元(MAC),不过这里的乘加单元(MAC)和正向变换时的乘加单元(MAC)具有不同的系数。提升(lifting)处理后生成原数据的奇偶索引数据。于是,可以看出正向小波变换过程和逆向小波变换过程具有不完全统一的数据通路,但是具有统一的控制逻辑。另外,结构的数据延拓部分采用了本发明中独有的嵌入式数据延拓方法。
图2多级提升(lifting)处理的流水线操作。
图3每一级提升(lifting)处理对应的乘加单元结构示意图。
图4传统的直接数据延拓方式。
图5改进的嵌入时数据延拓方法。
基于流水线的多级提升(lifting)处理两种小波变换分别对应着多级的提升(lifting)操作,这样的多级提升(lifting)处理经过适当的安排和调度构成一个多级流水线(pipelining)处理方式。其中因为9/7小波变换时需要4级提升(lifting)处理,而5/3小波变换时仅需要2级提升(lifting)处理,于是整个处理过程是一个基于四级流水的流水线。每一级处理的数据经过一次缓存后送入下一级流水处理。当进行5/3小波变换时,将经过两级流水处理后的数据进行结果输出。图2中给出了流水线处理示意图。
流水线的每一级处理过程对应着一个乘加单元(MAC),每个乘加单元(MAC)具有不同的计算系数。表1给出了5/3小波和9/7小波的各个流水阶段对应乘加单元(MAC)的系数。可以看出,5/3小波具有规整的整数系数,因此可以移位操作来实现乘法运算。然而,9/7小波具有浮点型的系数,如果采用浮点型的运算结构,将增加结构的复杂度和设计成本。因此,本结构中采用其定点表示方式。另外,因为进行常系数乘法操作,于是可以采用系数的CSD编码方式(K.K.Parhi,VLSI Digital Signal Processing SystemsDesignand Implementation,John Wiley & Sons,1999),将常系数的乘法操作转变为加法操作,这样减少了设计的复杂度。表2给出了9/7小波的各个系数对应的CSD表示形式。完成的系数的转换处理后,这里要介绍一下所采用的乘加单元(MAC)。这里的乘加单元(MAC)不同于常规意义上的乘加单元。它完成了两次加法和一次乘法操作,这里的乘法操作已经转变为加法处理。图3是乘加单元(MAC)的示意图。
在不同的小波(5/3和9/7)、不同的变换方式(正向和逆向)中,每一级提升(lifting)操作对应着不同的乘加单元(MAC)。流水线处理中,每一级输入端的数据同时输入到该级的乘加单元进行处理,在输出端根据预定处理方式选择相应结果进行输出。所有这些控制通过8个2选1的数据选择器来完成的,如

图1中所示。
嵌入式数据延拓控制单元当进行小波变换时,通常需要对要处理的数据两端进行延拓处理。图4给出了传统的直接数据延拓方式,表3给出了5/3小波和9/7小波的数据延拓规则。直接数据延拓方式是直接将延拓数据增加到待处理一维数据的两端,这样得到一个增长了的一维数据,然后再对增长了的一维数据进行小波变换处理。这种延拓方式简单、直接,但是在硬件实现时,这种方式具有严重的缺点。首先,它需要额外存储单元存储一维数据两端增加的延拓数据;另外,进行直接延拓处理还增加了对数据存储单元的访问次数;最重要的是在计算过程中增加了对延拓数据的计算,从而增加了整个处理过程的计算量。鉴于直接数据延拓方式的诸多缺点,英国人K.C.B.Tan和T.Arslan在其论文“Low power embedded extensionalgorithm for lifting-based discrete wavelet transform in JPEG2000,”ELECTRONICS LETTERS,Vol.37,No.22,pp.1328-1330,Oct.2001中,提出了基于5/3小波的嵌入式数据延拓的思想。嵌入式数据延拓的主要思想是根据延拓数据关于起始数据和末尾数据的对称性,通过及时调整小波变换的计算过程来达到等效数据延拓处理,它将数据延拓过程嵌入到正常的小波变换处理中,因此称为嵌入式数据延拓方式。图5给出了嵌入式数据延拓的原理示意图。可以看出,通过调整起始端和结尾端的数据计算过程,就能够达到数据延拓处理,这种方式只需要增加较少的数据操作控制逻辑,但是可以避免数据延拓所需要的额外存储单元,额外的存储单元的访问,以及计算延拓数据所需要的计算过程。从而,减少了硬件设计的复杂度和成本,降低了设计结构的功率消耗。
K.C.B.Tan等人给出了5/3小波的嵌入式处理方式,但是没有对9/7小波的嵌入式延拓方式进行论述,并且没有给出嵌入式数据延拓的VLSI实现结构。本发明中给出了9/7小波的嵌入式数据延拓的实现算法,同时结合本发明的结构特点,提出一种简单有效的嵌入式数据延拓的VLSI结构。如图1中的四块椭圆内的结构。
式(1)(2)给出了K.C.B.Tan等人提出的5/3小波的嵌入式延拓算法。式(3)到式(8)给出了本发明中提出的9/7小波的嵌入式数据延拓算法。
y(2n+1)=-k×y(2n+1)i0≤2n+1≤il-1 (7)y(2n)=y(2n)/ki0≤2n≤il-1 (8)
其中,x(n)表示待处理的一维数据,y(n)为小波处理后的输出结果,w(n)为9/7小波变换过程中的中间计算结果,i0表示待处理一维数据起始索引,il表示待处理一维数据结尾数据后面一个数据的索引,α,β,γ和δ分别为9/7小波变换过程中的各级提升操作中的计算系数,k为重规整化系数。嵌入式数据延拓将原来的数据计算过程分为三个计算过程,即正常数据计算过程,起始端数据延拓过程和结尾端数据延拓过程。每个计算过程对应不同的计算方法。从改进后的算法上可以看出,在嵌入式延拓算法中,延拓的处理是将对两端延拓数据的操作映射到对中间等效的数据单元的操作来实现的,这在硬件实现结构中可以通过简单的2选1数据选择器来实现。图1给出了各级提升(lifting)处理过程中对应的嵌入式数据延拓操作。通过采用8个2选1数据选择器来控制数据流的处理过程,从而完成三个计算过程。表4给出了三个过程中,各个数据选择器的控制情况。控制信号的产生时间是根据要处理的数据长度和进行的处理方式进行控制的。
输入/输出端的数据控制单元该部分主要是完成输入端的处理时序的调整,输出数据的控制,以及9/7小波变换时的重规整化处理或逆向重规整化处理。
当选择偶索引延拓时,输入端的时序需要进行适当的调整以满足连续流水的小波处理方式,这里通过对奇索引数据输入端增加一级数据延迟来实现。在数据的输出端需要根据选择的小波滤波器,来控制相应的数据通路的输出数据,这个控制是通过两个2选1数据选择器来实现的。另外,在进行9/7小波变换处理时,还需要增加重规整化处理。当进行正向9/7小波变换时,在处理数据的输出端增加重规整化处理,即生成的低频和高频系数分别乘上重规整化系数;当进行逆向9/7小波变换时,在处理数据的输入端增加逆向重规整化处理,即输入的奇偶索引数据分别乘以逆向重规整化系数;由于重规整化系数为常数,这里采用和提升(lifting)处理中相同的CSD表示方式,把乘法运算转变为加法运算,减少设计的复杂度。这些操作是通过采用四个2选1的数据选择器和四个采用加法操作的常系数乘法器来实现的。
本发明结构的性能分析本发明还对提出的结构进行了性能分析,并对处理N×M两维数据块时,结构的存储单元数量,存储单元的访问次数,结构的数据处理能力,以及理论的功耗分析等方面和台湾大学Chung-JrLian等人提出的直接硬件映射结构进行了比较,表5给出了具体的比较结果。其中,L是进行小波变换的级数;fclk为系统的时钟频率,函数f为存储单元的能量消耗与存储单元尺寸之间的关系函数,它主要是由制造工艺所决定。可以明显看出,本发明中提出的结构在存储单元的数量,存储单元的访问次数,结构的数据处理能力,以及理论的功耗分析等方面都有十分显著的改进。
表1各级提升(lifting)处理对应的乘加单元的系数

表2 9/7小波的乘加单元系数的CSD编码表示

表3 5/3和9/7小波在不同索引情况下的数据延拓情况

表4嵌入式数据延拓过程的控制

表5本发明结构的性能比较

权利要求
1.一种高速、可配置的一维5/3和9/7小波变换的VLSI实现结构。其特征在于数据通路是基于流水线操作方式,结构包括基于流水线的多级提升处理单元,嵌入式数据延拓控制单元,输入/输出控制单元。
2.根据权利要求1所述的VLSI结构,其特征在于基于流水线的多级提升处理单元中,5/3小波为两级提升,9/7小波为4级提升,每级提升对应着一个乘加单元,提升处理后分别生成小波变换后的低频数据和高频数据。
3.根据权利要求2所述的VLSI结构,其特征在于上述输入/输出控制单元,当进行正向小波变换时,(1)如为5/3小波正向变换,数据直接输出;(2)如为9/7小波正向变换,低频数据和高频数据分别乘以规整化系数,然后再输出结果。
4.根据权利要求2所述的VLSI结构,其特征在于上述输入/输出控制单元,当进行逆向小波变换时,(1)如为5/3小波逆向变换,数据直接送入进行提升处理;(2)如为9/7小波逆向变换,数据首先进行逆向重规整化处理输入的低频和高频系数分别乘以逆向的重规整化系数,然后将逆向重规整化后的系数进行逆向提升处理;5/3小波对应两级逆向提升处理,9/7小波对应4级逆向提升处理,每级提升处理对应着一个乘加单元。
5.根据权利要求1所述的VLSI结构,其特征在于所述的嵌入式数据延拓控制单元中,对于5/3小波数据延拓采用下述算法 对于9/7小波数据延拓采用下述算法 y(2n+1)=-k×y(2n+1) i0≤2n+1≤il-1 (7)y(2n)=y(2n)/ki0≤2n≤il-1 (8)
6.根据权利要求5所述的VLSI结构,其特征在于所述的嵌入式数据延拓操作通过采用8个2选1的数据选择器来实现。
7.根据权利要求4所述的VLSI结构,其特征在于对9/7小波变换的重规整化处理操作通过四个2选1的数据选择器和四个采用加法操作的常系数乘法器来实现。
全文摘要
本发明为一种高速、可配置的一维5/3和9/7小波变换的VLSI实现结构。其数据通路是基于流水线操作方式,它由多级提升(lifting)处理单元,嵌入式数据延拓控制单元,输入/输出控制单元组成。嵌入式数据延拓控制单元采用改进的嵌入式数据延拓算法,输入/输出控制单元完成了正向/逆向重规整化操作。本发明在存储单元的数量,存储单元的访问次数,结构的数据处理能力,以及理论的功耗分析等方面较现有的技术都有十分显著的改进。
文档编号G06F9/38GK1477498SQ03129688
公开日2004年2月25日 申请日期2003年7月3日 优先权日2003年7月3日
发明者朱珂, 华林, 周晓方, 章倩苓, 朱 珂 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1