发明详细描述
为了描述在本发明中提出的结构,我们首先需要定义DWT和给出在该结构内实施的基本算法。有DWT的几种替换的定义/表示,诸如树结构滤波器库、网格结构、提升方案或矩阵表示法。以下的讨论使用DWT的矩阵定义和流图表示,这在设计有效的并行/流水线DWT结构时是非常有效的。
离散小波变换是线性变换y=H·x,其中x=[x0,...,xN-1]T和y=[y0,...,yN-1]T分别是长度N=2m的输入和输出矢量,以及H是阶数N×N的DWT矩阵,它被形成为稀疏矩阵的乘积:
H=H(J)H(J-1)·...·H(1),1≤J≤m;
其中Ik是单位(k×k)矩阵(k=2m-2m-j+1),以及Dj是在级j处的分析(2m-j+1×2m-j+1)矩阵,其具有以下的结构:
其中LP=[11,...,1L]和HP=[h1,...,hL]分别是低通和高通滤波器的系数的矢量(L是滤波器的长度),以及Pj是尺寸(2m-j+1×2m-j+1)的完全反移算子(perfect unshuffle operator)的矩阵。完全反移算子在第一(第二)半输出矢量处收集输入矢量的偶数(奇数)编号的分量,假设分量编号从零开始。为了简明起见,假设低通和高通滤波器具有相同的长度,是偶数。该结果可以容易地扩展到任意滤波器长度的一般情形。在一般情形下(也就是其中N=r×km而不是N=2m),其中k不等于2(也就是除了两个滤波运算之外还有),会施加适当的跨步置换(stride permutation)而不是反移运算。
采用在公式(1)和(2)中引入的表示法后,DWT在J级(也称为分解级别或倍频程)中被计算,其中第j级,j=1,...,J,构成稀疏矩阵H(j)与暂用(scratch)变量的当前矢量的乘法,第一个这样的矢量是输入矢量x。注意,每个矩阵H(j)的右下角是单位矩阵,以及考虑到矩阵Dj的结构,相应的算法可被写为以下的伪代码,其中 和
j=1 ,...,J,是暂用变量的(2m-j×1)矢量,以及符号[(x1)T,...,(xk)T]T代表列矢量x1,...,xk的级联。
算法1.
1.设置
2.对于j=1,...,J计算
和
其中
或,等价地,
2.对于i=0,...,2m-j-1,
开始
形成矢量//*矢量xLP (J-1)的、长度为L的子矢量*//
计算
结束
3.形成输出矢量
对于公式(2)的矩阵Dj的算法1的计算可以通过使用流图表示法被显示。图2上显示了对于N=23=8,L=4,J=3的情形的例子。流图包含J级,第j级,j=1,...,J,具有2m-j个节点(如图2的方块描绘的)。每个节点代表基本的DWT运算(见图2(b))。级j=1,...,J的第i节点,i=0,...,2m-j-1,具有来自前级的L个循环连续的节点2i,2i+1,(2i+2)mod2m-j+1,...,(2i+L-1)mod2m-j+1的进入边缘,或者(对于第一级的节点)具有来自输入的进入边缘。每个节点具有两个外出边缘。上部(下部)外出边缘代表低通(高通)滤波器系数矢量与进入边缘的数值矢量的内积值。一级的外出的数值按照完全反移算子被置换,这样,所有的低通分量(上部外出边缘的数值)被集中在该被置换矢量的前一半中,以及高通分量集中在其后一半中。低通分量然后形成到下一级的输入或者(对于最后一级的节点)代表输出值。在该级处的高通分量和低通分量以给定的分辨率表示输出值。
实质上,流图表示提供了离散小波变换的另一个定义。至少从实施观点看来,它与诸如树结构滤波器库、提升方案或网格结构表示的传统的DWT表示相比较,具有一些优点。
然而,已给出的DWT的流图表示也具有缺点,即,对于较大的N的数值它是非常大的。这个缺点可以根据以下的措施被克服。假设J<log2N,即,分解级别的数目大大地小于输入矢量中的点数(在大多数应用中,J<<log2N),可以看到,DWT流图包含N/2J个类似的图案(见图2上的两个画阴影的区域)。使用把输入信号形成为它的每个倍频程的特定策略,每个图案可被看作为2J点DWT。第j个倍频程,j=1,...,J,的2m-j+1个输入值在(长度N=2m的)原始DWT内被划分成包含2J-j+1个连续数值的N/2J=2m-J个非重叠的组。这等价于把(3)的矢量xLP (j-1)划分成子矢量
s=0,...,2m-J-1,其中在这里和以下内容中,符号x(a:b)代表包含x的第a到第b分量的x的子矢量。然后,在第s个图案内第j个倍频程,j=1,...,J,是矢量的子矢量
是矢量xLP (j-1)与循环的接下来Qj个矢量的级联,其中Qj=[(L-2)/2J- j+1]。
如果2m-J个图案被合并成单个图案,则得到DWT的紧凑(或核心)流图表示。图3上显示了对于J=3,L=4的情形下DWT紧凑流图表示的例子。紧凑DWT流图在它的第j级具有2J-j个节点,j=1,...,J,其中2m-J个时间分布的数值的组现在被分配给每个节点。每个节点具有L个进入和两个外出边缘,像在(“非紧凑”)DWT流图中那样。进入边缘也是来自于前级的L个“循环连续”节点,但现在每个节点代表一组临时分布的数值。即,第j级,j=1,...,J,的第i个节点的L个输入,为其第s个数值,s=0,...,2m-J-1,被连接到第(j-1)级的节点(2i+n)mod2J-j+1,n=0,...,L-1,它们现在代表它们的第(s+s′)个数值,其中s′=[(2i+n)/2J-j+1]。另外,输出现在不单空间地而且时间地被分布在紧凑流图的输出边缘。也即,相应于最后一级节点的高通滤波结果或节点的低通滤波结果的每个输出边缘代表2m-J个输出值的组。应当指出,紧凑DWT流图的结构不依赖于DWT的长度,而仅仅依赖于分解级别数和滤波器长度。DWT长度只在由每个节点所表示的值的数目中反映。还应当指出,紧凑流图具有2J点DWT的结构,其具有稍微修正的附加策略,事实上,这种附加策略常常在DWT定义的矩阵公式中被使用。
令
表示D
j的主要的(2
J-j+1×(2
J-j+1+L-2))子式(见公式(2)),j=1,...,J,也就是,令
是由D
j的头2
J-j+1行和头2
J-j+1+L-2列组成的矩阵。例如,如果J-j+1=2和L=6,则
具有以下的形式:
采用公式(4)的表示法,由紧凑流图表示的计算处理可以用以下的伪代码描述。
算法2.
1.对于s=0,...,2m-J-1,设置
2.对于j=1,...,J
对于s=0,...,2m-J-1
开始
2.1.按照公式(4)设置
2.2.计算
结束
3.形成输出矢量
对于s并行地执行循环,产生并行的DWT实现方案。另一方面,通过交换对于j和s的循环的嵌套次序,和对于j并行地执行该(嵌套的)循环,有可能实施流水线的DWT实现方案。然而,这两个实现方案都是不经济的,因为运算的数目从一个倍频程到下一个倍频程被减半。然而,组合两个方法,可以产生非常有效的并行-流水线或部分并行-流水线的实现方案。
为了把流水线应用到算法2,必须施加重定时,因为对于s的计算包括对于s+1,...,s+Qj-1的计算的结果,这意味着,第j个倍频程,j=1,...,J,引入Qj个步骤的延时。因为延时被积累,所以在步骤s=s*(j),...,2m-J+s*(j)-1期间,对于第j个倍频程的计算,j=1,...,J,必须以以下的延时开始:
因此,计算从在步骤s=s*(1)开始执行,直至步骤s=s*(J)+2m-J-1为止。在步骤s=s*(1),...,s*(2)-1,只执行第一个倍频程的计算,在步骤s=s*(2),...,s*(3)-1,只执行头两个倍频程的运算,等等。从步骤s=s*(J)开始,直至步骤s=s*(1)+2m-J-1为止(如果s*(J)<s*(1)+2m-J),执行所有倍频程的计算,j=1,...,J,但从步骤s=s*(1)+2m-J开始,不执行第一个倍频程的计算,从步骤s=s*(2)+2m-J开始,不执行头两个倍频程的计算,等等。一般地,在步骤s=s*(1),...,2m-J+s*(J)-1,执行对于倍频程j=J1,...,J2的计算,其中J1=min{j,使得s*(j)≤s<s*(j)+2m-J}和J1=max{j,使得s*(j)≤s<s*(j)+2m-J}。以下的伪代码给出了在本发明中提出的结构内实施的流水线DWT实现方案。
算法3.
1.对于s=0,...,2m-J-1,设置
2.对于s=s*(1),...,2m-J+s*(J)-1,
对于j=J1,...,J2,并行地进行
开始
2.2.计算
结束
3.形成输出矢量
在本发明中,引入被称为类型1和类型2核心DWT结构的两种类型的DWT结构的一般参量结构,以及根据任一个核心DWT结构构建的、两个其他的DWT结构(分别被称为多核心DWT结构和可变分辨率DWT结构)的一般参量结构。所有的结构可以用变化的并行性级别实施,因此允许在速度和硬件复杂性之间的折衷。根据并行性的级别,可以达到直到恒定时间实施方案的吞吐量(每个时间单元一个2m点DWT)。在每个并行性级别上,该结构用接近100%硬件利用运行,因此与串行DWT实施方案相比较,达到相对于并行性级别的几乎线性的加速。该结构是相对独立于DWT参量的。也就是,具有所提出的结构之一的装置能够有效地实施不仅仅一个DWT,而且实施一系列具有不同滤波器长度的不同DWT,以及在可变分辨率DWT结构的情形下,对于任意长度的矢量具有不同数目的分解级别。
所提出结构的许多不同实现是可能的。所以,它们的通用结构是在功能级别上被描述的。也给出了通用结构在寄存器级别上的示例性实现方案。这些实现方案显示了通用结构的有效性。所提出的结构在功能描述级别上与已知的结构在实质上不同,每个提出的结构的更详细的概要如下。应当指出,在[34]中公布的FPP和LPP结构可被看作为类型1(多个和单个)核心DWT结构的特定的实现方案。
类型1和类型2核心DWT结构根据不超过给定数目Lmax的长度L的低通和高通滤波器实施具有J<m个倍频程的2m点DWT,其中J和Lmax(但不是m或L)是实现方案的参量。类型1和类型2核心DWT结构包括一个串行或并行数据输入块以及J个流水线级,第j级,j=1,...,J,包含数据路由块和2J-j个处理单元(PE)。将参照图4对此进行描述。该结构的第j流水线级,j=1,...,J,在2m-J个运算步骤中实施第j个DWT倍频程的2m-j个独立的类似运算。在每个步骤中,在流水线级的2J-j个PE内并行地实施一组2J-j个运算。PE可以以变化的并行性级别实施,其并行性由它的输入的数目p≤Lmax规定。具有p个输入的单个PE在包含[L/p]个时间单元的一个运算步骤中执行一个基本DWT运算(见图2(b)),其中在每个时间单元,并行地得到2p个乘法和加法的结果。因此,时间周期(被测量为在连续的输入矢量进入结构时的时间单元之间的时间间隔)等于2m-J[L/p]个时间单元,其中时间单元的持续时间等于一次乘法运算的时间周期。这比先前已知的结构[12]-[26]的最好时间周期快了2J/[L/p]倍,以及比[30]中描述的结构快了2J-1/[L/p]倍。这两种结构的效率(或硬件利用)等于L/(p[L/p])·100%≈100%。在p=L=Lmax的情形下,时间周期是2m-J个时间单元,这与在[34]和[35]中给出的LLP结构相同,然而,后者依赖于滤波器长度L(即,LPP结构只能实施具有固定长度L的滤波器的DWT)。两种类型的核心DWT结构根据在一个流水线级的PE之间不存在(类型1)或存在(类型2)互连而不同。两种类型的核心DWT结构的可能实现方案在图5到10上给出。上述两种类型的核心DWT结构可以根据参量p,以变化的并行性程度实施。
在多核心DWT结构内,并行性级别的进一步的灵活性可以通过引入新的参量r=1,...,2m-J而达到。多核心DWT结构实际上是从相应的(单个)核心DWT结构通过把它扩展r倍而得到的。它的通用结构在图11上给出。该结构包含一个串行或并行数据输入块以及J个流水线级,第j个流水线级,j=1,...,J,包含数据路由块和r2J-j个PE。多核心DWT结构的时间周期等于(2m-J[L/p])/r个时间单元,它比单个核心DWT结构快r倍,即,提供了线性加速。多核心DWT结构的效率与单个核心结构相同,也就是,接近100%。应当指出,在p=L=Lmax和r=2m-J的情形下,对于2m点DWT,时间周期正好是一个时间单元。类似的性能在[34]和[35]中给出的FPP结构中也可达到,它可被看作为多核心DWT结构的可能实现方案的特例(p=L=Lmax和r=2m-J)。
单核心和多核心DWT结构是相对独立于输入长度和滤波器长度的,这意味着可以用具有类型1或类型2核心DWT结构的相同装置来实施基于任意滤波器(具有不超过Lmax的长度)和施加任意长度的信号的DWT。然而,类型1、类型2和多核心结构都取决于DWT倍频程的数目J。它们可以用小于J的数目的倍频程来执行DWT,但在硬件利用上会有某些损失。
可变分辨率DWT结构以任意数目J′的倍频程执行DWT,以及无论J′是大于或是等于给定的数目,结构的效率都保持接近100%。可变分辨率DWT结构包括相应于Jmin分解级别的核心DWT结构和任意串行DWT结构,例如,基于RPA的结构(见图12(a))。核心DWT结构执行J′个倍频程DWT的头Jmin个倍频程,而串行DWT结构执行J′个倍频程DWT的最后J′-Jmin个倍频程。由于核心DWT结构可以以变化的并行性级别被执行,所以它可以与串行DWT结构平衡,以使得只要J′≥Jmin,就可以获得接近100%的硬件利用。
基于多核心DWT结构的可变分辨率DWT结构也可被构建(见图12(b)),其中数据路由块被插入在多核心和串行DWT结构之间。
建议的DWT结构
这节给出被称为类型1和类型2核心DWT结构的两种类型的DWT结构,以及根据任一个核心DWT结构构建的两个其他的DWT结构(分别被称为多核心结构和可变分辨率DWT结构)的通用结构。多核心DWT结构是任一个核心DWT结构的扩展,它可以根据参量r以可变的并行性级别被执行,以及在特定的情形下(r=1),它成为单核心DWT结构。为了易于理解,从单核心DWT结构的描述开始介绍该结构。
两种类型的核心DWT结构根据具有长度L不超过给定数目Lmax的低通和高通滤波器,实施具有J个分解级别(倍频程)的任意离散小波变换。它们的运算是基于前面给出的算法3。代表两种类型的核心DWT结构的通用结构在图4上给出,其中虚线表示连接,根据具体的实现方案,这些连接可以存在也可以不存在。在类型1中不存在连接,但在类型2中存在连接。在两种情形下,结构由一个数据输入块和J个流水线级组成,每个级包含数据路由块和处理器单元(PE)块,其中数据输入块执行算法3的步骤1,数据路由块负责步骤2.1,以及PE的块用于步骤2.2的计算。两个核心结构类型的主要不同点在于,在相同流水线级的PE之间数据交换的可能性。在类型2核心DWT结构中,单个级的PE可以通过互连来交换中间数据,而在类型1核心DWT结构中,在流水线级内的PE之间没有互连,因此,单个级的PE在它们的运算期间不交换数据。
通常,数据路由块和PE块的许多不同的实现方案是可能的。所以,一方面,本发明可以被认为是在于结构,如在块级别上被描绘的(图4,11和12)以及以下在功能级别上被描述的结构,而与选择用于PE和数据路由块的精确实施方案无关。然而,在寄存器级别上提出的核心DWT结构的实际的实现方案通过参照图5到10被作为例子给出。这些示例性实施方案证明了本发明的有效性。
图4给出类型1和类型2核心DWT结构的通用结构。正如以上解释的,类型1和类型2的不同点在于:在一级内的PE之间是没有互连还是存在互连。两种核心DWT结构的数据输入块可被实现为字-串行或字-并行。在前一种情形下,数据输入块包含单个(字-串行)输入端口,它被连接到长度为2J的移位寄存器(图4的虚线方块),移位寄存器具有来自它的每个单元的字-并行输出。在后一种情形下,数据输入块包含2J个并行输入端口。在这两种情形下,数据输入块都具有2J个并行输出,它们被连接到第一流水线级的数据路由块的2J个输入上。在图6上,给出字-并行数据输入块的例子,而图7和10给出字-串行数据输入块的例子。
类型1核心DWT结构
在类型1核心DWT结构内执行的基本算法是具有执行步骤2.2的特定次序的算法3。2J-j+1×2J-j+1矩阵
的结构是使得步骤2.2的矩阵矢量乘法可被分解成2J-j个矢量与矢量的内积对计算:
它们可被并行地执行。另一方面,长度为L的每个矢量与矢量的内积可被分解为长度为p的内积的Lp=[L/p]序列,并对结果进行累加(假设,系数矢量和输入矢量被附加适当数目的零并被划分成连续的p个分量的子矢量)。结果,算法3可以通过以下对前面的伪代码的修正加以表示。
算法3.1.
1.对于s=0,...,2m-J-1,设置
2.对于s=s*(1),...,2m-J+s*(J)-1,
对于j=J1,...,J2,并行地进行
开始
2.2.对于i=0,...,2J-j-1并行地进行
开始
设置SLP(i)=0,SHP(i)=0;
对于n=0,...,Lp-1,顺序地进行
开始
结束
设置
结束
结束
3.形成输出矢量
应当指出,给定s和j后,该组运算(6)和(7)涉及到子矢量
(对于n=0),子矢量
以及一般地,子矢量
对于n=0,...,L
p-1。换句话说,对于n=0,...,L
p-1的计算牵涉到通过把矢量
的分量向左移np个位置而得到的矢量
的头2
J-j+1+p-2个分量。还应当指出,对于给定的i=0,...,2
J-j-1的计算总是牵涉到当前的矢量
的分量2i,2i+1,...,2i+p-1。
图4上给出类型1核心DWT结构的通用结构。在这种结构的情形下,可以忽略虚线,因为在单个级的PE之间没有连接。该结构包含数据输入块(已在上面讨论)和J个流水线级。通常,类型1核心DWT结构的第j个流水线级(j=1,...,J)包括数据路由块,所述数据路由块具有形成该级输入的2J-j+1个输入端IPS(j)(0),...,IPS(j)(2J-j+1-1)和被连接到2J-j个PE的输入端的2J-j+1+p-2个输出端ODRB(j)(0),...,ODRB(j)(2J-j+1+p-3)。每个PE具有p个输入端和两个输出端,其中p≤Lmax是描述每个PE的并行性级别的实现的参量。第j级(j=1,...,J)的数据路由块的连续p个输出端ODRB(j)(2i),ODRB(j)(2i+1),...,ODRB(j)(2i+p-1)被连接到同一个级的第i个PE(PEj,i),i=0,...,2J-j-1,的p个输入端。第j个流水线级,j=1,...,J-1,的2J-j个PE的每个PE的第一个输出构成该级的输出OPS(j)(0),...,OPS(j)(2J-j-1),并被连接到下一级,即第(j+1)级的数据路由块的2J-j个输入端IPS(j+1)(0),...,IPS(j+1)(2J-j-1)。最后级,即第J级的(一个)PE的第一输出是该结构的第0个输出out(0)。第j个流水线级,j=1,...,J,的2J-j个PE的第二输出构成该结构的第(2J-j)到第(2J-j+1-1)个输出out(2J-j),...,out(2J-j+1-1)。
现在,在功能级别上描述类型1核心DWT结构的块。为了方便起见,时间单元被规定为PE完成一次运算的时间周期(它等于进入PE的p个数据的连续编组之间的时间周期),以及该结构的一次运算步骤被规定为包括Lp个时间单元。
该数据输入块以每个运算步骤2J个分量的速率串行或者并行地接收该输入矢量的一组分量,和并行地输出该输入矢量的一组分量。因此,矢量xLP (0,s)在步骤s=0,...,2m-J-1,在数据输入块的输出端处被形成。
数据路由块(级j,j=1,...,J)通常可以以任意电路被实现,它在每个运行步骤的第一时间单元n=0时并行地接收2
J-j+1个分量的一个矢量,然后在该运行步骤的每个时间单元n=0,...,L
p-1时,它并行地输出一个矢量的头2
J-j+1+p-2个分量np,np+1,...,(n+1)p+2
J-j+1-3的矢量,所述矢量是在先前的
个步骤中接受的矢量的级联(按时间顺序),其中
在类型1核心DWT结构中使用的PE的功能是在每个时间单元期间计算在它的p个输入端处的矢量与预定系数的两个矢量的两个内积,以及(分开地)累加在一个运行步骤期间计算的两个内积的结果。在每个运行步骤结束时,两个累加的结果传送到PE的两个输出端,并开始新的累加。显然,每个PE执行一对运算(6)和(7),只要在它们的输入端处形成正确的变元(argument)。
现在将说明,该结构执行按照算法3.1的计算。在L<Lmax的情形下,引入额外的延时。该额外的延时是允许其执行具有任意滤波器长度L≤Lmax的DWT的结构灵活性的结果(花费)。这应当与算法3.1相比较,后者给出具有固定的滤波器长度L的DWT的计算。事实上,该结构是对于滤波器长度Lmax设计的,但也执行具有较短滤波器的DWT,延时略有增加但时间周期没有增加。
令
在该结构的运行期间,在步骤s=0,...,2m-J-1,在数据输入块的输出端处形成矢量xLP (0,s),以及该矢量进入到第一流水线级的数据路由块的输入端。为了示出该结构执行按照算法3.1的计算,示出假设在步骤s=(j-1),...,(j-1)+2m-J-1、矢量xLP (j-1,s-(j-1))进入第j级的情况下,在步骤s=(j),...,(j)+2m-J-1,在第j级的PE的第一输出端(它们被连接到第j+1级的输入)处形成矢量xLP (j,s-(j))和在它们的第二输出端形成矢量xHP (j,s-(j))就足够了(由数学推导证明)。因此,假设级j=1,...,J,的数据路由块在步骤s=(j-1),...,(j-1)+2m-J-1接受矢量xLP (j-1,s-(j-1))然后,按照数据路由块的功能描述,在每个步骤s=(j),...,(j)+2m-J-1的时间单元n=0,...,Lp-1,在数据路由块的输出端处形成以下矢量的分量np,np+1,...,(n+1)p+2J-j+1-3:
这个矢量是分别在步骤
接受的矢量的级联。由于(j)≥s*(j)(比较(3)和(9)),矢量
(按照式(4)规定的)是
的子矢量,这样它们的头2J-j+1+L-3个分量是完全相同的。因此,在级j=1,...,J,的数据路由块的输出端处,在步骤s=(j),...,(j)+2m-J-1的时间单元n=0,...,Lp-1形成矢量 由于在数据路由块和PE之间的连接,在PEj,i的输入端处(i=0,...,2J-j-1),在步骤s=(j),...,(j)+2m-J-1的时间单元n=0,...,Lp-1形成矢量
的分量2i,2i+1,...,2i+p-1,这些分量实际上是运算(6)和(7)的参数。因此,如果PE使用相应系数执行它们的运算,则在步骤s=(j),...,(j)+2m-J-1后,在PE的第一输出端处形成矢量xLP (j,s-(j)),以及在它们的第二输出端处形成矢量xHP (j,s-(j))。由于PE的第一输出端被连接到下一个流水线级的输入端,这证明,该结构执行了按照算法3.1的计算,虽然用了不同的时序(在算法3.1中的每处都用(j)代替s*(j))。
从以上考虑,可以看到使用类型1核心DWT结构在2m-J+(J)步骤中执行2m点DWT,每个步骤包含Lp个时间单元。因此,在输入矢量和相应的输出矢量之间的延时等于
Td(C1)=(2m-J+(J))[L/p] (11)个时间单元。很清楚,该结构可以执行输入矢量流的DWT。所以显然,吞吐量或时间周期(当连续的输入矢量输入到该结构时被测量为在时间单元之间的时间间隔)等于
TP(C1)=2m-J[L/P] (12)个时间单元。
并行/流水线结构的性能常常相对硬件利用或效率来评估,被规定为
其中T(1)是使用一个PE完成算法的时间,以及T(K)是使用包括K个PE的结构完成同一个算法的时间。可以看到,使用与在类型1核心DWT结构中所用的PE相似的一个PE来执行2m点DWT需要T(1)=(2m-1)[L/p]个时间单元。连同(11)和(12)一起,考虑到在类型1核心DWT结构内总共有K=2J-1个PE,可以看到,相对时延或者还有时间周期复杂性,对于该结构都达到约100%的效率(硬件利用)。应当看到,接近于FPP结构效率的效率只在从现有技术(见[17])已知的几个流水线DWT设计中达到,而大多数已知的流水线DWT结构只能获得远低于100%的平均效率。还应当看到,已知的DWT结构需要至少O(N)个时间单元的时间周期。而提出的结构由于可以根据参量p使用变化的并行性级别实现,因此可以达到想要的时间周期。正如从(12)得到的,实施方案的时间周期复杂性在TL(C1)=2m-J和T1(C1)=L2m-J之间变化。因此,该结构的吞吐量比最快的已知结构的吞吐量要快2J/L到2J倍。用可变的并行性级别实现该结构的可能性也使得有可能在时间与硬件复杂性之间进行折衷。还应当指出,该结构是非常规则的,并且只需要简单的控制结构(基本上,只需要一个时钟),而与例如[17]的结构不同。它不包含反馈、开关、或取决于输入的尺寸的长连接,而只具有最大长度仅仅为O(L)的连接。因此,它可被实现为半脉动阵列。
类型1核心DWT结构的可能的实现方案
图5上显示用于类型1核心DWT结构的第j流水线级(j=1,...,J)的可能结构。在图6和7上分别显示对于Lmax=6,J=3的情形的此类实现方案的两个例子,其中p=Lmax=6和p=2。应当指出,在文献[34]和[35]中给出了相应于p=Lmax的情形的此类实现方案的特定情形,以及具体地,给出图6的例子的特定版本,在其中它被称为有限的并行-流水线(LPP)结构。相反,图5的类型1核心DWT结构和它的实现方案被用于任意p的情形。还应当指出,文献[34]和[35]上描述的LPP结构并不支持具有小于Lmax的滤波器长度的DWT的有效计算,而图5给出的类型1核心DWT结构的实现方案可以支持。
参照图5,可以看到,在这个实现方案中,数据路由块包含
个链连接的组,每个具有2
J-j+1延时;以及长度为2
J-j+1+L
max-2的移位寄存器,它在每个时间单元把在它的单元内的数值向上移p个位置。加到该级的2
J-j+1个输入被并行地连接到第一组延迟级,该组延迟级的输出被连接到下一组延迟级的输入端,等等。每个组的延迟级的输出被并行地连接到移位寄存器的2
J-j+1个连续的单元。倒数第
组延迟级的输出被连接到头2
J-j+1个单元,第
组延迟级被连接到紧接的2
J-j+1个单元,等等,例外的是该级的头
个输入被直接连接到移位寄存器的最后q
j个单元。移位寄存器的头2
J-j+1+p-2个单元的输出形成数据路由块的输出,以及被连接到PE的输入端。在p=L
max的情形下(见图6),不需要移位寄存器,但延迟单元组的输出端和该级的头q
j个输入端被直接连接到PE的输入端。另一方面,在p=2的情形下(见图7),在数据路由块与PE之间的互连被简化,因为在这种情形下,从移位寄存器的第一单元到PE的输入端只有2
J-j+1个并行连接。本领域技术人员将会看到,给出的实现方案满足对于类型1核心DWT结构的数据路由块的功能性约束条件。事实上,在每个步骤开始时,移位寄存器包含把前
个步骤接受的数据的矢量与来自下一个接受矢量的头L
max-2个分量的矢量的级联。然后,在L
p个时间单元期间,它每次把该分量向上移位p个位置。
图8上给出在任意的p,p=1,p=2,和p=Lmax的情形下(分别是图8(a),(b),(c),和(d))用于类型1核心DWT结构的PE的可能的结构。同样,本领域技术人员将了解,这些结构实施了(6)和(7)运算,因此,满足PE的功能性描述。同样还应指出,这些结构适合于与滤波器系数无关的通用DWT实施方案,并且对于特定的滤波器系数最佳化的PE结构也可以被实施。
类型2核心DWT结构
类型2核心DWT结构执行算法3.1的一个稍微修正的版本。修正是基于观察到运算(6)和(7)的算子对于下标i和n的(i1,n1)和(i2,n2)对是相同的,使得2i1+n1p=2i2+n2p的情况。假设偶数p(奇数情形可类似地被处理,但对于它的表示需要更多的符号),这意味着当执行(6)和(7)的运算时,需要在分支i=0,...,2J-j-p/2-1内、在时间单元n=1,...,Lp-1使用的被乘数可以根据分支i+p/2内、在步骤n-1得到的被乘数而得到。相应的计算处理过程用以下的伪代码描述,其中我们表示:
算法3.2.
1.对于s=0,...,2m-J-1,设置
2.对于s=s*(1),...,2m-J+s*(J)-1,
对于j=J1,...,J2,并行地进行
开始
2.1.按照公式(4)设置
2.2.对于i=0,...,2J-j-1,并行地进行
开始
对于k=0,...,p-1
开始
设置
计算
结束
对于n=0,...,Lp-1,顺序地进行
开始
对于k=0,...,p-1
开始
结束
计算
结束
设置
结束
3.形成输出矢量
图4上给出类型2核心DWT结构的通用结构。在这种情形下,属于同一个流水线级的PE之间的连接(虚线所示)是有效的。正如从图4上看到的,类型2核心DWT结构类似于类型1核心DWT结构,只是现在除了p个输入端和两个输出端(以后称为主输入端和主输出端)以外,每个PE还具有附加的p个输入端和p个输出端(以后称为中间输入端和中间输出端)。PEj,i+p/2的p个中间输出端被连接到PEj,i=0,...,2J-j-p/2-1,的p个中间输入端。类型2核心DWT结构内的其他连接类似于类型1核心DWT结构内的那些连接。
类型2核心DWT结构的块的功能性基本上类似于类型1核心DWT结构的那些块的功能性。数据输入块的功能性与类型1核心DWT结构的情形完全相同。
级j(j=1,...,J)的数据路由块通常可以以任意电路实现,它在每个运行步骤的第一时间单元n=0时并行地接收2
J-j+1个分量的一个矢量,以及并行地输出在先前的
个步骤中接受的矢量的级联(按时间顺序排序)所构成的一个矢量的头2
J-j+1+p-2个分量(0,1,...,2
J- j+1+p-3)的矢量,其中
是在(8)式中规定的。然后在该运行步骤的每个时间单元n=0,...,L
p-1,数据路由块在它的最后p个输出端处并行地输出同一个矢量的p个分量2
J-j+1+np-2,...,2
J-j+1+(n+1)p-3的下一个子矢量。
在每个运行步骤的每个时间单元n=0,...,Lp-1时,在类型2核心DWT结构中所使用的PE的功能性是计算在它的p个主输入端或p个中间输入端处存在的矢量x与预定系数的两个矢量(长度为p的LP′和HP′)的两个内积,以及计算x与LP′的逐点乘积。在时间单元n=0时,矢量x通过使用PE的p个主输入端被形成,以及在时间单元n=1,...,Lp-1时,矢量x通过使用PE的中间输入端被形成。在一个运行步骤期间计算的两个内积的结果被累积并被传送到PE的两个主输出端,而逐点乘积的结果被传送到PE的中间输出端。
类似于类型1核心DWT结构,可以看到类型2核心DWT结构以由(11)和(12)给出的延时与时间周期特性来执行算法3.2。类型1和类型2结构的其他特性也是相似的。具体地,类型2结构是非常快速的,可作为半脉动结构被实施,并具有变化的并行性级别,从而提供了产生时间与硬件复杂性之间的折衷的机会。这两个结构之间的差别在于,类型1核心DWT结构中数据路由块的移位寄存器用类型2核心DWT结构内的PE之间的附加连接代替。
类型2核心DWT结构的可能的实现方案
图9上显示用于类型2核心DWT结构的第j流水线级(j=1,...,J)的可能的结构。在图10(a)上显示对于L
max=6,J=3和p=2的情形的这种实现方案的例子。在这个实现方案中,数据路由块包含
个链连接的组,每组具有2
J-j+1个延时;以及长度为L
max-2的移位寄存器,它在每个时间单元把数值向上移p个位置。加到该级的2
J-j+1个输入被并行地连接到第一组延迟级,该组延迟级的输出被连接到下一组延迟级的输入端,等等。最后第
组延迟级的输出形成数据路由块的头2
J-j+1个输出以及被连接到PE的主输入端。第
t)组延迟级的输出,
被并行地连接到移位寄存器的2
J-j+1个连续的单元。第
组延迟级的输出被连接到头2
J-j+1个单元,第
组延迟级的输出被连接到下一个2
J-j+1个单元,等等。然而,该级的头
个输入被直接连接到移位寄存器的最后q
j个单元。来自移位寄存器的头p-2个单元的输出形成数据路由块的最后p-2个输出,以及按照该通用结构内的连接被连接到PE的主输入端。可以看到,给出的实现方案满足对于类型2核心DWT结构的数据路由块的功能性约束条件。事实上,在每个步骤开始时,在先前的
个步骤中接受的矢量的级联(按时间顺序排序)所形成的一个矢量的头2
J-j+1+p-2个分量被形成在数据路由块的输出端处,然后在每个随后的时间单元期间,该矢量的接下来p个分量被形成在它的最后的p个输出端处。
图10(b)上给出在p=2的情形下用于类型2核心DWT结构的PE的可能的结构。本领域技术人员将会看到,对于任意的p和对于p=1,p=2,和p=Lmax的结构可以类似于图8(a),(b),(c),和(d)所显示的那些结构被设计。
应当指出,在p=Lmax的情形下,类型2核心DWT结构的这个实现方案是与图6的类型1核心DWT结构的实现方案相同的。
多核心DWT结构
上述的两种类型的核心DWT结构可以根据参量p而以变化的并行性级别来实施。在多核心DWT结构内,通过引入新的参量r=1,...,2m-J,得到并行性级别上的进一步的灵活性。多核心DWT结构事实上是通过把相应的单核心DWT结构扩展r倍而从其得到的。图11上给出它的通用结构。该结构包含一个数据输入块和J个流水线级,每个级包含一个数据路由块和一个PE块。
数据输入块可以以类似于核心DWT结构的情形的方式被实现为字串行和字并行,但在这种情形下,它现在具有r2J个并行的输出端,它们被连接到第一流水线级的数据路由块的r2J个输入端。数据输入块的功能性是串行或并行地接受,并以每个运行步骤r2J个分量的速率并行输出该输入矢量的一组分量。
首先考虑类型1多核心DWT结构。在这种情形下,第j流水线级,j=1,...,J,包含数据路由块,具有形成到该级的输入端的r2J-j+1个输入IPS(j)(0),...,IPS(j)(r2J-j+1-1)和被连接到r2J-j个PE的输入端的r2J-j+1+p-2个输出端ODRB(j)(0),...,ODRB(j)(r2j-j+1+p-3)。每个PE具有p个输入端和两个输出端,其中p≤Lmax是描述每个PE的并行性级别的实现方案的参量。第j级,j=1,...,J,的数据路由块的连续的p个输出端ODRB(j)(2i),ODRB(j)(2i+1),...,ODRB(j)(2i+p-1)被连接到同一级的第i个PE(PEj,i),i=0,...,r2J-j-1,的p个输入端。第j个流水线级,j=1,...,J,的r2J-j个PE的第一个输出构成该级的输出OPS(j)(0),...,OPS(j)(r2J-j-1),以及被连接到下一级,即第(j+1)级的数据路由块的r2J-j个输入端IPS(j+1)(0),...,IPS(j+1)(r2J-j-1)。最后级,即第J级的r个PE的第一输出形成了该结构的头r个输出out(0),...,out(r-1)。第j个流水线级,j=1,...,J,的r2J-j个PE的第二输出构成该结构的第(r2J-j)到第(r2J-j+1-1)个输出out(r2J-j),...,out(r2J-j+1-1)。
(级j=1,...,J的)数据路由块通常可以以任意电路被实现,它在每个运行步骤的第一时间单元n=0时并行地接受r2J-j+1个分量的一个矢量,然后在该运行步骤的每个时间单元n=0,...,Lp-1时,它并行地输出在先前的
个步骤中接受的矢量的级联(按时间顺序排序)所形成的一个矢量的r2J-j+1+p-2个分量np,np+1,...,(n+1)p+r2J-j+1-3的矢量(见式(8))。PE的功能性是与类型1核心DWT结构的情形完全相同的。
现在考虑类型2多核心DWT结构。数据输入块与类型1核心DWT结构的情形完全相同。在类型2多核心DWT结构中使用的PE与它们之间的互连类似于类型2单核心DWT结构的情形。差别在于,现在在该结构的第j个流水线级(j=1,...,J)内有r2
J-j(而不是2
J-j)个PE。数据路由块现在具有r2
J-j+1个输入端和r2
J-j+1+p-2个输出端,具有与类型1多核心DWT结构的情形下相同的、到PE的连接。(级j=1,...,J)的数据路由块通常可以以任意电路被实现,它在每个运行步骤的第一时间单元n=0时并行地接受r2
J-j+1个分量的一个矢量,以及并行地输出在先前的
个步骤中接受的矢量级联(按时间顺序排序)所形成的一个矢量的头r2
J-j+1+p-2个分量0,1,...,r2
J-j+1+p-3的矢量。然后在该运行步骤的每个时间单元n=0,...,L
p-1,在它的最后p个输出端处并行地输出同一个矢量的p个分量r2
J-j+1+np-2,...,r2
J-j+1+(n+1)p-3的下一个子矢量。
两种类型的多核心DWT结构比起单核心DWT结构快r倍,也就是达到相对于参量r的线性加速。在输入和相应的输出矢量之间的延时等于
Td(C1)=(2m-J+(J))[L/p]/r (14) 个时间单元,以及吞吐量或时间周期等于
Tp(C1)=2m-J[L/p]/r (15)个时间单元。因此,在多核心DWT结构内达到进一步的加速和在时间与硬件复杂性之间折衷的灵活性。此外,该结构是模块化和常规的,以及可以被实施为半脉动阵列。
作为对于p=L=Lmax和r=2m-J的多核心DWT结构的可能的实现方案,可以考虑DWT流图本身(见图2),其中节点(矩形)代表PE以及小圆圈代表锁存器。这个实现方案在[34]中给出,在其中它被称为全并行流水线(FPP)结构。然而,它只是按照本发明提出的多核心DWT结构的一个特定的实现方案。
可变分辨率的DWT结构
上述的结构实施倍频程数目不超过给定数目J的DWT。它们可以实施倍频程数目小于J的DWT,尽管在硬件利用上有一些损失。可变分辨率的DWT结构执行具有任意数目J′的倍频程的DWT,而只要J′大于或等于给定的数目Jmin时,结构的效率保持接近于100%。
图12(a)上显示可变分辨率的DWT结构的通用结构。它包含相应于Jmin个分解级别的核心DWT结构和任意串行的DWT结构,例如基于RPA的一个结构([14]-[17],[19]-[20],[22])。核心DWT结构执行J′倍频程DWT的头Jmin个倍频程。来自核心DWT结构的out(0)的低通结果被传送到串行DWT结构。串行DWT结构执行J′倍频程DWT的最后的J′-Jmin个倍频程。因为核心DWT结构可以以可变的并行性级别实施,所以它可以与串行DWT结构如此平衡,使得只要J′≥Jmin就能达到约100%的硬件利用。
为了达到在两个部分之间的平衡,核心DWT结构被安排成执行具有与串行结构执行(J′-Jmin)倍频程的M点DWT相同的或更快的吞吐量的Jmin倍频程的N点DWT(M=(N/2Jmin))。在文献上找到的串行结构在2M个时间单元中([14],[15])或在M个时间单元中([14]-[19])执行M点DWT,其相应地利用L或2L个基本单元(BU,乘法器-加法器对)。它们可被缩小到包含任意数目K≤2L的BU,以使得M点DWT在M[2L/K]个时间单元中被执行。由于类型1或类型2核心DWT结构在N[L/p]/2Jmin个时间单元中执行Jmin倍频程N点DWT,所以平衡条件成为[L/p]<[2L/K],如果p=[K/2],则这将会被满足。通过这个条件,可变分辨率的DWT结构包含总共A个BU,以及在Td个时间单元中执行J′倍频程N点DWT,其中:
基于多核心DWT结构的可变分辨率DWT结构也可以通过把数据路由块插入在多核心与串行DWT结构之间而被构建(见图12(b))。数据路由块的功能性是以每个运行步骤r个样本的速率而并行地接受和串行地输出数字。在这种情形下的平衡条件是rp=[K/2],以及面积时间特性是
在图14上给出的表1比较了建议的结构与某些传统结构的性能。在这个表上,正如文献上共同接受的,乘法器-加法器对(它们是DWT结构中的基本单元(BU))被看作为代表给定结构的面积。时间单元被取为对于一次乘法所需要的时间周期,因为这是关键的流水线级。按照本发明所建议的DWT结构的特性(在表1的最后7行中显示的),是对于任意的实现参量Lmax,p和r以及对于参量选择的某些例子给出的。还应指出,在建议的结构中使用的BU的数目是在图8的PE例子的假设下(其中具有p个输入端的PE包含2p个BU)给出的。然而,PE可被进一步优化,以包括较小数目的BU。
为了方便起见,图15上显示的表2给出对于DWT参量J=3或J=4,N=1024,和L=9的选择(这相应于大多数流行的DWT,Daubechies 9/7小波)的面积-时间特性的数字实例。图16上显示的表3给出对于J=3或J=4,N=1024,和L=5(Daubechies 5/3小波)的数字实例。在表上给出的门计数是在假设:BU包含16比特Booth乘法器,后面跟随级联的32比特加法器,因此总共包括1914个门的条件下被计算的(见[37])。图13以图形的形式表示表2的某些行。应当指出,相应于建议的结构的线可被扩展到大得多的数目的基本单元,尽管这些未给出的情形需要相当大的硅面积,在当前的技术水平下可能是不实际的。
正如从这些图示得出的,建议的结构与传统的结构相比较在中等面积要求下呈现优越的时间特性。建议的结构的优点可以在相对于ATp2准则(通常被用来评估面向高速的结构的性能)考虑它们的性能时被最好地理解。注意,表的第一行代表通用DSP结构。在紧接的两个行上给出的结构是非流水线的或限制的(仅仅两级)流水线的结构,它们以大约100%硬件利用运行,正如按照本发明建议的结构那样。因此,它们的性能“正比于”建议的结构的性能,然而,它们在可达到的并行性级别上灵活得多,从而导致可能的时间和面积复杂性的范围很宽。表的第四行给出具有差的硬件利用以及因此差的性能的J级流水线结构。表的第五到第七行给出来自先前的文献的结构,它们是J级流水线的,以及达到100%硬件利用和良好的性能,但不允许灵活的面积与时间复杂性的范围,诸如由按照本发明建议的结构所提供。
以上讨论了能够执行具有任意参量(诸如滤波器长度和系数、输入长度和分解级别的数目)的小波变换的“通用”小波变换器的通用结构。通过优化在结构中所包括的处理单元(PE)的结构,有可能进一步优化特定的离散小波变换(相应于以上参量的特定的组)的结构。
本发明可被实施为使用CMOS技术的专用半脉动的VLSI电路。它可以是独立的器件或用于通用处理器的嵌入式加速器。建议的结构可以用变化的并行性级别实施,这导致变化的成本和性能。实施方案的模式以及想要的并行性级别的选择取决于应用领域。在上面,该结构是在用于执行任意DWT的实施方案的环境下被描述的。然而,它们可被如此地进一步优化和实施,以便专用于特定类型的DWT。这在涉及到JPEG 2000的应用中可能是想要的,其中Daubechies5/3或9/7小波被规划为基本的DWT。
已经描述了本发明的特定实施方案和实施例。本领域技术人员明白,本发明并不限于以上给出的实施例的细节,而是可以以使用等价装置的其他实施例来实施,而不背离本发明的特性。本发明的范围仅仅由附属的专利权利要求限制。
缩略语
ASIC 专用集成电路
CMOS 互补金属氧化物硅
DSP 数字信号处理器
DWT 离散小波变换
FPP 完全的并行-流水线(DWT结构)
LPP 限制的并行-流水线(DWT结构)
PE 处理器单元
[1]S.G.Mallat,“A Theory for Multiresolution SignalDecomposition:The Wavelet Representation(多分辨率信号分解的理论:小波表示)”,IEEE Trans.on Pattern Analysis and MachineIntelligence,Vol.2,n.12,Dec.1989,pp.674-693.
[2]M.Vetterli and J.Kovacevic,Wavelet and SubbandCoding(小波和子带编码),Englewood Cliffs(NJ):Prentice-Hall,1995.
[3]I.Daubachies,Ten Lectures on Wavelets(关于小波的十次讲座),Philadelphia(PA):SIAM,1992.
[4]I.Daubachies,“The Wavelet Transform,Time Frequency,Locallization and Signal Analysis(小波变换,时间频率,本地化和信号分析)”,IEEE Trans.on Information Theory,vol.36,n.5,Sept.1990,pp.961-1005.
[5]G.Beylkin,R.Coifman,and V.Rokhlin,“Wavelet inNumerical Analysis(数值分析中的小波)”,in Wavelets and theirApplications,New York(NY):Jones and Bartlett,1992,pp.181-210.
[6]G.Beylkin,R.Coifman,and V.Rokhlin,“Fast WaveletTransforms and Numerical Algorithms(快速小波变换和数值算法)”,New Haven(CT):Yale Univ.,1989.
[7]L.Senhadji,G.Carrault,and J.J.Bellanguer,“Interictal EEG Spike Detection:A New Framework Based on TheWavelet Transforms(Interictal EEG尖峰信号检测:基于小波变换的新的框架结构)”,In Proc.IEEE-SP Int.Symp.Time-Frequency Time-Scale Anal.,Philadephia(PA)Oct,1994,pp.548-551.
[8]S.G.Mallat,“Multifrequency Channel Decomposition ofImages and Wavelet Models(图像的多频率信道分解和小波模型)”,IEEE Trans.on Acoust.Speech,Signal Processing,vol.37,n.12,1989,pp.2091-2110.
[9]Z.Mou and P.Duhamel,“Short-Length FIR Filters andTheir Use in Fast Non Recursive Filtering(短长度的FIR滤波器及其在快速非递归滤波中的使用)”,IEEE Trans.on SignalProcessing,vol.39,n.6,Jun.1991,pp.1322-1332.
[10]A.N.Akansu and R.A.Haddad,Multiresolution SignalDecomposition:Transforms,Subbands and Wavelets(多分辨率的信号分解:变换,子带和小波),New York(NY):Academic,1992.
[11]R.Kronland-Martinet,J.Morlet,and A.Grossman,“Analysis of Sound Patterns through Wavelet Transform(通过小波变换的声音图案的分析)”,Int.Journ,Pattern Recognitionaand Artificial Intell.,vol.1,n.2,1987,pp.273-302.
[12]S.B.Pan and R.H.Park,“New Systolic Arrays forComputation of the 1-D Discrete Wavelet Transform(用于一维离散小波变换的计算的新脉动阵列)”,Proceedings of the IEEEInternational Conference on Acoustics,Speech,and SignalProcessing,1997,Vol.5,1997,pp.4113-4116.
[13]A.B.Premkumar and A.S.Madhukumar,“An Efficient VLSIArchitecture for the Computation of 1-D Discrete WaveletTransform(用于一维离散小波变换的计算的有效的VLSI结构)”,Proc.Of the IEEE Int.Conf.On Information,Communicationsand Signal Processing(ICICS‘97),Singapore 9-12 September1997,pp.1180-1183.
[14]M.Vishwanath,R.M.Owens,and M.J.Irwin,“VLSIArchitectures for the Discrete Wavelet Transform(用于离散小波变换的VLSI结构)”,IEEE Trans.on Circ.and Syst.II:Analogand Digital Signal Processing,vol.42,n.5,May1995,pp.305-316.
[15]J.Fridman and S.Manolakos,“Discrete WaveletTransform:Data Dependence Analysis and Synthesis ofDistributed Memory and Control Array Architectures(离散小波变换:分布存储器与控制阵列结构的数据依赖性分析和综合)”,IEEETrans.on Signal Processing,vol.45,n.5,May1997,pp.1291-1308.
[16]K.K.Parhi and T.Nishitani,“VLSI Architectures forDiscrete Wavelet Transforms(用于离散小波变换的VLSI结构)”,IEEE Trans.on VLSI Systems,vol.1,n.2,1993,pp.191-202.
[17]T.C.Denk and K.K.Parhi,“Systolic VLSI Architecturesfor 1-D Discrete Wavelet Transform(用于一维离散小波变换的脉动VLSI结构)”,Proceedings of the Thirty-Second AsilomarConference on Signal,Systems & Computers,1998,Vol.2,pp.1220-1224.
[18]G.Knowles,“VLSI Architecture for the DiscreteWavelet Transform(用于离散小波变换的VLSI结构)”,ElectronicsLetters,vol.26,n.15,1990,pp.1184-1185.
[19]C.Chakrabarti and M.Vishwanath,“EfficientRealizations of Discrete and Continuous Wavelet Transforms:From Single Chip Implementations to Mappings on SIMD ArrayComputers(离散的和连续的小波变换的有效的实现方案:从单片实施到SIMD阵列计算机上的映射)”,IEEE Trans.on SignalProcessing,vol.43,n.3,1995,pp.759-771.
[20]C.Chakrabarti,M.Vishwanath,and R.M.Owens“Architecture for Wavelet Transform:A Survey(用于小波变换的结构:纵览)”,Journal of VLSI Signal Processing,vol.14,n.2,1996,pp.171-192.
[21]A.Grzezczak,M.K.Mandal,S.Panchanatan,“VLSIImplementation of Discrete Wavelet Transform(离散小波变换的VLSI实施)”,IEEE Trans.on VLSI Systems,vol.4,n.4,Dec.1996,pp.421-433.
[22]M.Vishwanath,and R.M.Owens“A Common Architecturefor the DWT and IDWT(用于DWT和IDWT的公共结构)”,Proceedingsof IEEE Int.Conf.on Application Specific Systems,Architectures and Processors,1996,pp.193-198.
[23]C.Yu,C.H.Hsieh,and S.J.Chen,“Design andImplementation of a Highly Efficient VLSI Architecture forDiscrete Wavelet Transforms(用于离散小波变换的高效VLSI结构的设计和实施方案)”,Proceedings of IEEE Int.Conf.on CustomIntegrated Circuits,1997,pp.237-240.
[24]S.B.Syed,M.A.Bayoumi,“A Scalable Architecture forDiscrete Wavelet Transform(用于离散小波变换的可缩放结构)”,Proceedings of Computer Architectures for MachinePerception(CAMP’95),1995,pp.44-50.
[26]M.Vishwanath,“The Recursive Pyramid Algorithm forthe Discrete Wavelet Transform(用于离散小波变换的递归金字塔算法)”,IEEE Transactions on Signal Processing,vol.42,n.3,1994,pp.673-677.
[27]D.Liu,C.Svensson,“Trading Speed for Low Power byChoice of Supply and Threshold Voltages(通过电源和门限电压的选择用速度换取低功率)”,IEEE Journal of Solid StateCircuits,vol.28,n.1,1993,pp.10-17.
[28]H.T.Kung,“Why Systolic Architectures?(为什么用脉动结构)”,IEEE Computer,1982.
[30]F.Marino,D.Gevokian,and J.Astola,“High-Speed/Low-Power 1-D DWT Architectures with high efficiency(具有高效率的高速度/低功率的一维DWT结构)”,Proceedings of the IEEEInternational Conference on Circuits and Systems,May 28-31 2000,Geneva,Switzerland,vol.5,pp.337-340.
[31]D.Z.Gevokian,“Computational Aspects of DiscreteLinear Transforms and Rank Order Based Filters(离散线性变换和基于排名次序的滤波器的计算方面)”,Thesis for the degree ofDoctor of Technology,May 1997,214 pages.
[32]J.T.Astola,S.S.Agaian,and D.Z.Gevokian,“ParallelAlgorithms and Architectures for a Family of Haar-likeTransforms(用于Haar样变换族的并行算法和结构)”,in Proceedingsof the SPIE’s International Symposium on Electronic Imaging:Science and Technology,vol.2421,Feb.1995,San Jose,California,USA.
[34]D.Gevorkian,F.Marino,S.Agaian,and J.Astola,“Flowgraph Representation of Discrete Wavelet Transforms andWavelet Packets for their Efficient Parallel Implementation(离散小波变换和小波包,用于它们的有效并行实施方案的流图表示)”,in Proceedings of TICSP Int.Workshop on SpectralTransforms and Logic Design for Future Digital Systems,June2-3,2000,Tampere,Finland.
[35]D.Gevorkian,J.Astola,F.Marino,and S.Agaian,“Highly Efficient Fast Architectures for Discrete WaveletTransforms based on Their Flowgraph Representation(基于其流图表示、用于离散小波变换的高效快速结构)”,in Proceedings ofthe X European Signal Processing Conference,Sept.4-8,2000,Tampere,Finland.
[37]P.Pirsch,Architectures for Digital SignalProcessing(用于数字信号处理的结构),J.Willey &Sons,1998,419 Pages.