技术领域
本发明属于图像数据处理技术领域,特别涉及并行二维离散小波变换的 硬件实现。
背景技术
由于在时域-频域的多
分辨率和变焦特性,因而在
信号分析、
图像处理、 图像压缩等领域小波变换得到了越来越广泛的应用,并且已成为许多图像 压缩标准的一个重要组成部分,比如新的静止图像压缩标准JPEG2000。小 波变换硬件
加速器的实现对于满足运算的实时性的需求具有重要意义。近 年来,许多研究者也因此提出了大量的关于小波变换的
算法和硬件结构设 计。小波变换的实现可以分为两大类:一种是基于卷积运算,一种是基于 提升算法。基于提升的小波变换实现较基于传统的卷积运算实现具有许多 的优点,比如实现原位计算减少
存储器规模、有效减少乘加运算的计算量 等。利用二维小波变换可以实现对于图像的多尺度分解,有两种方法来计 算2-D的小波变换:一种是通过行列变换可分离的方法实现,利用一维小 波变换先对图像沿着行方向进行分解,然后再沿列向进行分解。这种方法 的缺点是既需要一个大规模的数据转置存储器存放一维运算的中间数据, 又具有大的系统延时,以及长的计算周期。不可分离二维小波变换结构是 对于图像在行和列方向同时进行,因而可以消去可分离实现方法要求的中 间数据存储器,大量减少所需的存储器规模,又由于4个子带变换同时计 算,所以系统具有更高的数据吞吐能
力和小的系统延时。但是,由于这种 实现结构需要四个对应的专有
滤波器以分别实现低-低通、低-高通、高-低 通和高-高通的滤波运算,因此将会需要消耗大量的硬件资源。直接二维小 波变换结构既可以有效减少所需的中间数据缓冲存储器,又将保持较高的 数据吞吐能力。在以往的文献中,有研究者提出了各种形式的直接二维小 波变换结构,如p.Wu的论文——“An efficient architecture for two-dimensional discrete wavelet transform,”IEEE Trans.on Circuits and Systems for Video Tech.,vol.11,no.4,pp.536-545,2001,和兰旭光的论文— —JPEG2000二维
离散小波变换高效并行VLSI结构设计,西安交通大学 学报,38(2):149-152,2004。
但是,以往提出的
电路设计结构要么是针对
正交小波变换的特点进行的 优化设计,不太适于双正交小波变换因而不具有通用性,要么由于其采用 的是基于传统的卷积或传统的提升小波变换结构,因而具有较高的硬件复 杂度和系统输出延时。
发明内容
本发明提供
一种并行二维离散小波变换电路,一种快速的直接二维离散 小波变换的VLSI结构的设计方法,和一种快速及功率面积有效的直接二维 9/7小波变换的VLSI结构。其目的在于,根据上述背景技术中存在的
缺陷 和不足,本发明的结构适于图像在按行扫描格式输入的应用,以及具有快 速和减少系统面积和功率消耗的特点。
本发明的一种实现直接二维离散小波变换的电路,包括依次
电信号连 接的选择器、数据串/并转换
接口电路、主变换电路;主变换电路为2输入 /2输出结构,包括一个
水平滤波器、与其输出分别连接的并行的第一垂直 滤波器和第二垂直滤波器以及输出系数规整单元,所述水平滤波器为2输 入/2输出结构,垂直滤波器均为单输入/单输出结构,第一垂直滤波器和第二 垂直滤波器输出连接输出系数规整单元;输出系数规整单元的一个输出电 信号连接到外部存储器、后者输出至选择器的一个输入端。
所述的一种实现直接二维离散小波变换的电路,(1)所述数据串/并转 换接口电路可以由2个移位寄存器
串联组成,各个移位寄存器的输出分别 对应连接到水平滤波器的两个输入端,完成数据的串/并转换,从而在每个 内部工作时钟得到2个数据的输入;(2)所述输出系数规整单元可以由两 个乘法器和两个2选1选择器组成:第一垂直滤波器的输出之一连接第一 乘法器、在其中乘以尺度规整因子K2后输出到第一选择器的一个输入端, 第一垂直滤波器的输出之二直接输出到第一选择器的另一个输出端;第二 垂直滤波器的输出之一连接第二乘法器、在其中乘以尺度规整因子1/K2后 输出到第二选择器一个输入端,第二垂直滤波器的输出之二直接输出第二 选择器的另一个输入端。
所述的一种实现直接二维离散小波变换的电路,其进一步的特征在于: (1)所述水平滤波器由4个选择器、4个乘加运算器、5个单位延时寄存 器和7个流水线寄存器R1~R7组成:第一单位延时寄存器、第一流水线寄 存器、第二乘加运算器、第二流水线寄存器、第四单位延时寄存器、第三 流水线寄存器、第四乘加运算器、第七流水线寄存器依次串联;第二单位 延时寄存器、第一乘加运算器、第四流水线寄存器、第三单位延时寄存器、 第五流水线寄存器、第三乘加运算器、第六流水线寄存器、第五单位延时 寄存器依次串联;第一单位延时寄存器的输入接入第一选择器、第一单位 延时寄存器的输出同时接入第一选择器和第一乘加运算器,第一选择器的 输出亦接入第一乘加运算器;第三单位延时寄存器的输出接入第二选择器、 第三单位延时寄存器的输入同时接入第二选择器和第二乘加运算器,第二 选择器的输出亦接入第二乘加运算器;第四单位延时寄存器的输入接入第 三选择器、第四单位延时寄存器的输出同时接入第三选择器和第三乘加运 算器,第三选择器的输出亦接入第三乘加运算器;第五单位延时寄存器的 输出接入第四选择器、第五单位延时寄存器的输入同时接入第四选择器和 第四乘加运算器,第四选择器的输出亦接入第四乘加运算器;(2)所述第 一垂直滤波器和第二垂直滤波器的电路结构相同,各由9个线延时器、7 个选择器、2个运算处理器以及4个流水线寄存器组成。第一、第二、第 三线延时器依次串联,其各自
输入信号端再分别连接到第一、第二、第三 选择器的一个输入端;第四、第五、第六线延时器依次串联,第六、第三、 第四线延时器的
输出信号分别连接到第一、第二、第三选择器的另一个输 入端;第一、第三选择器输出分别连接到第四选择器的两个输入,第四、 第三、第二选择器分别输出到第一乘加运算器的第一、第二和第三输入端; 第一乘加器的输出连接到第四线延时器和第一寄存器的输入;第五、第六 线延时器的输出分别连接第二、第三寄存器的输入;第一、第二寄存器的 输出分别连接第五、第六选择器的一个输入端,第五、第六选择器的输出 分别连接到第七选择器的两个输入,第七、第六选择器、第三寄存器的输 出分别连接到第二乘加器的第一、第二、第三输入端;第二乘加器的输出 连接到第七线延时器和第四寄存器的输入端,第七、第八、第九线延时器 依次串联,第七、第九线延时器的输出分别连接第六、第五选择器的另一 个输入端,第四寄存器的输出连接到后级的系数规整单元。
所述的一种实现直接二维离散小波变换的电路,(1)所述第一垂直滤波 器和第二垂直滤波器的各线延时器可以由n个串联的延时单元和一个n选 1选择器组成,n个串联的延时单元中各延时单元分别为N/2n、N/2n、N/2n-1、 N/2n-2、…、N/22单位延时寄存器,各个延时单元的输出连接到n选1选择 器输入端、n选1选择器的输出作为线延时器的输出;其中N为图像宽度 且为2的整数次幂,n取小于等于log2N的任意整数且为小波变换的分解级 数;(2)垂直滤波器中运算处理器PE1和PE2各自包括两个加法器、一个 乘法器和一个2选1选择器,两个可选择的提升系数连接到选择器的两个 数据输入端,选择器输出连接到乘法器的一个数据输入端,外部输入数据 IN1和IN2连接到第一加法器的两个数据输入端,第一加法器的输出连接 到乘法器的另一个数据输入端,乘法器的输出连接到第二加法器的一个数 据输入端,外部输入数据IN3连接到第二加法器的另一个数据输入端,第 二加法器的输出为PE1或PE2的输出。
本发明基于提升小波变换算法进行结构数据路径的电路设计,采用并行 技术和流水线技术,嵌入式边界数据处理技术及其嵌入式数据下
采样技术, 实现并行快速和减少系统面积以及系统功率的小波变换VLSI结构设计。本 发明电路结构的主体包括1个水平滤波器HF1,以及2个垂直滤波器VF1 和VF2。水平滤波器和垂直滤波器并行流水线工作,每个滤波器模
块的利 用率为100%。该结构采用基于折叠和时分复用的嵌入式数据
下采样技术有 效减少垂直滤波器用乘法器、加法器运算单元及片内存储器的规模,同时 实现了垂直滤波器交替完成垂直方向的高通和低通滤波运算,在一个内部 时钟周期并行产生相应的2个滤波系数。提出了采用折叠型结构实现多级 小波分解变换的系统结构,在大约2N2(1-4-J)/3时钟周期可完成N×N图像 块的J级小波分解变换。
本发明是一种并行的具有快速性能的VLSI电路设计方案。比较同类电 路结构,本发明具有更少的系统占用面积和系统功率消耗。提出的电路结 构具有快速、规则、低的控制复杂度等特点,非常易于VLSI设计实现。
附图说明
图1是本发明的电路结构
框图。
图2(a)是本发明数据输入读取格式,图2(b)为图1中输入数据串/并 转换接口电路图。图中fs代表采样
频率,fw代表内部电路工作频率。
图3是图1中系数规整单元电路结构
实施例。
图4是图1的水平滤波器HF的电路结构实施例。
图5是图1的垂直滤波器VF1/VF2的电路结构实施例。
图6是图4中线延时器(LD)的结构示图。
图7是图4中乘加运算处理器PE1、PE2的电路结构图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
按照图1的技术方案,给出了小波变换的VLSI设计通用结构图。在本 实施例中使用的是IPEG2000标准中推荐的
有损压缩小波滤波器-CDF(9/7) 双正交小波变换,提出的结构不仅适于此类滤波器。图1的电路包括:外 部存储器单元EM、输入数据串/并转换接口电路“S/P转换”、水平滤波器 HF、第一垂直滤波器VF1和第二垂直滤波器VF2和系数规整单元。
在本实施例中,首先根据图1提出的结构,要求主模块为2输入/2输 出结构。图1的电路结构包括一个水平滤波器和两个并行工作的垂直滤波 器,所述水平滤波器为2输入/2输出结构,垂直滤波器为单输入/单输出结 构。
通过采用2倍于内部工作频率的时钟对原始图像数据进行按行扫描的 方式进行数据读取,采样得到一组输入数据x(m,2n)、x(m,2n+1),并通过2 个移位寄存器完成数据的串/并(S/P)转换,从而在每个内部工作时钟得到 2个数据的输入,其数据读取方式及输入数据串/并转换接口电路设计如图 2(a)和图2(b)所示。
系数规整单元电路结构如图3所示,包括一个乘法器和一个2选1选择 器。两个垂直滤波器的输出分别通过一个系数规整单元后输出,其中一个 系数规整单元的输出连接到外部缓冲存储器EM。
图1的电路中,水平滤波器和垂直滤波器分别完成沿行和列方向的一维 变换。水平滤波器HF完成数据的一维行向变换,在一个内部工作时钟周 期产生水平方向的一个低频系数L(m,n)和一个高频系数H(m,n);水平方向 的低频系数L(m,n)输出到第一垂直滤波器VF1的输入端,水平方向的高频 系数H(m,n)输出第二垂直滤波器VF2的输入端;通过VF1和VF2分别实 现对低频系数和高频系数的一维列向变换,交替产生图像的4个子带:低- 低频(LL)与低-高频(HL)和高-低频(LH)与高-高频(HH)。
为了减少系统延时,垂直滤波器与水平滤波器级连、并行流水线工作, 以及同样沿着行向扫描进行列向变换。水平滤波器和垂直滤波器的结构分 别如图4和图5所示。图4中的水平滤波器由4个选择器mux1~mux4、4 个乘加运算器PEa~PEd、5个单位延时寄存器D1~D5和7个流水线寄存 器R1~R7组成:第一单位延时寄存器D1、第一流水线寄存器R1、第二乘 加运算器PEb、第二流水线寄存器R2、第四单位延时寄存器D4、第三流 水线寄存器R3、第四乘加运算器PEd、第七流水线寄存器R7依次串联; 第二单位延时寄存器D2、第一乘加运算器PEa、第四流水线寄存器R4、 第三单位延时寄存器D3、第五流水线寄存器R5、第三乘加运算器PEc、 第六流水线寄存器R6、第五单位延时寄存器D5依次串联;第一单位延时 寄存器D1的输入接入第一选择器mux1、第一单位延时寄存器D1的输出 同时接入第一选择器mux1和第一乘加运算器PEa,第一选择器mux1的输 出亦接入第一乘加运算器PEa;第三单位延时寄存器D3的输出接入第二选 择器mux2、第三单位延时寄存器D3的输入同时接入第二选择器mux2和 第二乘加运算器PEb,第二选择器mux2的输出亦接入第二乘加运算器PEb; 第四单位延时寄存器D4的输入接入第三选择器mux3、第四单位延时寄存 器D4的输出同时接入第三选择器mux3和第三乘加运算器PEc,第三选择 器mux3的输出亦接入第三乘加运算器PEc;第五单位延时寄存器D5的输 入接入第四选择器mux4、第五单位延时寄存器D5的输出同时接入第四选 择器mux4和第四乘加运算器PEd,第四选择器mux4的输出亦接入第四乘 加运算器PEd。图5中垂直滤波器的设计结构由9个线延时器LD1~LD9、 7个选择器mux1~mux7、2个运算处理器PE1和PE2以及4个流水线寄存 器R1~R4组成。线延时器LD1、LD2、LD3串联连接,其输入信号分别连 接到选择器mux1、mux2、mux3的一个输入端;线延时器LD4、LD5、LD6 串联连接,LD6、LD3、LD4的输出信号分别连接到选择器mux1、mux2、 mux3的另一个输入端;选择器mux1和mux3输出连接到选择器mux4的 两个输入,选择器mux4、mux3、mux2的输出引脚分别输出到运算处理器 PE1的输入端IN1、IN2和IN3;PE1的输出连接到线延时器LD4的输入; 同时,PE1、LD5、LD6的输出分别输出到寄存器R1、R2和R3;R3的输 出连接到运算处理器PE2的输入IN1,R1和R2的输出分别连接到选择器 mux5、mux6的一个输入端,mux5和mux6的输出分别连接到选择器mux7 的两个输入。同时,mux7和mux6的输出分别连接到PE2的输入IN1和IN2; PE2的输出连接到线延时器LD7的输入端,同时连接到寄存器R4的输入, R4的输出将连接到下一级的系数规整单元;线延时器LD7、LD8、LD9串 联连接,LD7和LD9的输出分别连接到mux6和mux5的另一个输入端。 水平滤波器中各乘加运算器PEa~PEb的输出为其第一输入信号与第二输入 信号之和乘以提升系数然后与第三输入信号相加;即PEa的输出为: I3+a(I1+I2);PEb的输出为:I3+b(I1+I2);PEc的输出为:I3+c(I1+I2);PEd的 输出为:I3+d(I1+I2)。垂直滤波器中各线延时器结构如图6所示,其组成包 括:n个串联的延时单元DUn-DU1和一个n选1选择器mux,延时单元 DUn-DU1分别由N/2n、N/2n、N/2n-1、N/2n-2、…、N/22单位延时寄存器串 联,该n个延时单元的输出连接到选择器输入端、选择器输出作为线延时 器的输出,其中N为图像宽度且为2的整数次幂,n取小于等于log2N的任 意整数为小波变换的分解级数。作为一个实施例,当N取128,n取3时, 则线延时器包括延时单元DU3、DU2、DU1和一个3选1的选择器,其中 DU3由32个单位延时寄存器组成,DU2由32个单位延时寄存器组成,DU1 由64个单位延时寄存器组成。垂直滤波器中运算处理器PE1和PE2的内 部结构如图7所示,包括两个加法器、一个乘法器和一个2选1选择器, 两个可选择的提升系数Coe1和Coe2连接到选择器mux的两个数据输入 端,sel为选择器
控制信号,选择器mux的输出连接到二输入乘法器mul 的一个数据输入端,外部输入数据IN1和IN2连接到第一加法器add1的两 个数据输入端,第一加法器的输出连接到乘法器mul的另一个数据输入端, 乘法器mul的输出连接到第二加法器add2的一个数据输入端,外部输入数 据IN3连接到第二乘法器add2的另一个数据输入端,第二加法器add2的 输出为垂直滤波器中运算处理器PE1或PE2的输出。
通过小波变换的提升分解算法,映射得到相应水平滤波器和垂直滤波器 实现行向和列向一维小波变换的结构,如图4和图5所示。水平滤波器子 块实现在单个工作时钟周期完成2输入/2输出的数据处理,每个垂直滤波 器独立实现单个工作时钟周期完成单输入/单输出的数据处理。在水平滤波 器子块中,预测与更新提升以及各步提升运算流水线并行执行以提高系统 的处理能力,每个内部工作时钟同时产生水平方向的一个低通和一个高通 输出;在垂直滤波器子块中,各步中的预测与更新提升运算按行序交替进 行,不同步的提升运算并行流水线实现,使得垂直方向的高频和低频输出 按行交替产生。
对于J≥2的多级小波分解变换,采用图1所示的折叠结构形式实现。第 1级变换产生的低-低频系数缓冲到外部存储器(EM)单元(由于提升小波 变换的原位计算的优点,对于图像压缩系统来说,该存储器可由存储原始 图像数据的存储器代替)。当第1级变换完成后,通过一个2选1选择器读 取缓冲存储器中的数据再进行第2级的变换,此过程一直到要求的分解级 数完成为止,并分别交替输出相应的4个子带信号LL(LL)j、LH(LL)j、 HL(LL)j和HH(LL)j(j=0~J-1,J代表最高的分解级数)。
为了减少片内存储器规模和对存储器的
访问,采用嵌入式边界数据对称 扩展技术进行数据的边界处理,其实现由4×2个2选1的数据选择器来实 现,见图4的mux1~mux4和图5的mux4、mux7所示。实现前向变换的嵌 入式边界数据扩展算法如下:
(1)一维行向变换的嵌入式边界数据对称扩展处理算法:
for i=1,2. (1a)
for i=1,2. (1b)
式中L(0)(m,n)=x(m,2n)为偶数列样本,H(0)(m,n)=x(m,2n+1)为奇数列样本。
(2)一维列向变换的嵌入式边界数据对称扩展处理算法:
for i=1,2. (2a)
for i=1,2. (2b)
for i=1,2. (2c)
for i=1,2. (2d)
式(1)和(2)中,s1=a,s2=c;t1=b,t2=d为9/7小波变换的提升系数, LL(0)(m,n)=L(2)(2m,n),HL(0)(m,n)=L(2)(2m+1,n),LH(0)(m,n)=H(2)(2m,n), HH(0)(m,n)=H(2)(2m+1,n)。
整个系统内部统一在一个单相的时钟控制下同步流水线工作,控制逻 辑和控制电路非常简单。本发明还对提出的结构进行了分析,并将本发明 提出的结构与其它比较有效的结构进行了性能比较,其中包括P.Wu(2001) 的基于多项式分解和系数折叠技术的直接二维结构[1],兰旭光等(2004) 提出的基于内部并行思想的高效并行结构[2],以及刘雷波等(2002)提出 的基于“空间组合推举算法”的递归金字塔结构[3]。其中的结构[1]是基于 卷积运算的小波变换实现,结构[2],[3]是基于提升小波变换算法提出的。 结构[1]和主要是针对正交小波的优化结构,其选取的滤波器长度为K。详 细比较结果见表1。
比较结果显示,本发明具有更好的性能,特别是在运算单元的数目、 中间存储器规模和控制电路的复杂性方面均有良好的表现。
表1:性能比较
K,:滤波器长度;J:分解级数;N:图像行宽。 结构 Wu[1] 兰[2] 刘[3] 本发明 乘法器 数目 4K 12 14 10 加法器 数目 4K 16 32 16 输出延时 KN/2 5N 6N 5N/2 存储器规模 KN+K 11N 12N(1-2-J) 9N 计算时间 2N2(1-4-J)/3 2N2(1-4-J)/3 ≈N2 2N2(1-4-J)/3 控制 复杂度 中 中 复杂 简单 边界处理 方式 无 对称扩展 无 嵌入式 对称扩展 硬件效率 100% 100% <66.7% 100%