技术领域
本发明属于图像数据处理技术领域,特别涉及并行二维离散小波变换的 硬件实现。
背景技术
由于在时域-频域的多
分辨率和变焦特性,因而在
信号分析、
图像处理、 图像压缩等领域小波变换得到了越来越广泛的应用,并且已成为许多图像 压缩标准的一个重要组成部分,比如新的静止图像压缩标准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个水平流水线寄存器Rr1~Rr7组成:第一单位延时寄存器、第一 水平流水线寄存器、第二水平乘加运算器、第二水平流水线寄存器、第四 单位延时寄存器、第三水平流水线寄存器、第四水平乘加运算器、第七水 平流水线寄存器依次串联;第二单位延时寄存器、第一水平乘加运算器、 第四水平流水线寄存器、第三单位延时寄存器、第五水平流水线寄存器、 第三水平乘加运算器、第六水平流水线寄存器、第五单位延时寄存器依次 串联;第一单位延时寄存器的输入接入第一水平选择器、第一单位延时寄 存器的输出同时接入第一水平选择器和第一水平乘加运算器,第一水平选 择器的输出亦接入第一水平乘加运算器;第三单位延时寄存器的输出接入 第二水平选择器、第三单位延时寄存器的输入同时接入第二水平选择器和 第二水平乘加运算器,第二水平选择器的输出亦接入第二水平乘加运算器; 第四单位延时寄存器的输入接入第三水平选择器、第四单位延时寄存器的 输出同时接入第三水平选择器和第三水平乘加运算器,第三水平选择器的 输出亦接入第三水平乘加运算器;第五单位延时寄存器的输出接入第四水 平选择器、第五单位延时寄存器的输入同时接入第四水平选择器和第四水 平乘加运算器,第四水平选择器的输出亦接入第四水平乘加运算器;(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)垂直滤波器中垂直乘加运算器PE-c1和PE-c2各自包括两个加法 器、一个乘法器和一个2选1选择器,两个可选择的提升系数连接到选择 器的两个数据输入端,选择器输出连接到乘法器的一个数据输入端,外部 输入数据IN1和IN2连接到第一加法器的两个数据输入端,第一加法器的 输出连接到乘法器的另一个数据输入端,乘法器的输出连接到第二加法器 的一个数据输入端,外部输入数据IN3连接到第二加法器的另一个数据输 入端,第二加法器的输出为PE-c1或PE-c2的输出。
本发明基于提升小波变换算法进行结构数据路径的电路设计,采用并行 技术和流水线技术,嵌入式边界数据处理技术及其嵌入式数据下
采样技术, 实现并行快速和减少系统面积以及系统功率的小波变换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是图5中线延时器(LD1~LD9)的结构示图。
图7是图5中乘加运算处理器PE-c1、PE-c2的电路结构图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
按照图1的技术方案,给出了小波变换的VLSI设计通用结构图。在本 实施例中使用的是JPEG2000标准中推荐的
有损压缩小波滤波器-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个水平选择器Mux-r1~ Mux-r4、4个水平乘加运算器PE-r1~PE-r4、5个单位延时寄存器D1~ D5和7个水平流水线寄存器Rr1~Rr7组成:第一单位延时寄存器D1、 第一水平流水线寄存器Rr1、第二水平乘加运算器PE-r2、第二水平流水线 寄存器Rr2、第四单位延时寄存器D4、第三水平流水线寄存器Rr3、第四 水平乘加运算器PE-r4、第七水平流水线寄存器Rr7依次串联;第二单位 延时寄存器D2、第一水平乘加运算器PE-r1、第四水平流水线寄存器Rr4、 第三单位延时寄存器D3、第五水平流水线寄存器Rr5、第三水平乘加运算 器PE-r3、第六水平流水线寄存器Rr6、第五单位延时寄存器D5依次串联; 第一单位延时寄存器D1的输入接入第一水平选择器Mux-r1、第一单位延 时寄存器D1的输出同时接入第一水平选择器Mux-r1和第一水平乘加运算 器PE-r1,第一水平选择器Mux-r1的输出亦接入第一水平乘加运算器 PE-r1;第三单位延时寄存器D3的输出接入第二水平选择器Mux-r2、第三 单位延时寄存器D3的输入同时接入第二水平选择器Mux-r2和第二水平乘 加运算器PE-r2,第二水平选择器Mux-r2的输出亦接入第二水平乘加运算 器PE-r2;第四单位延时寄存器D4的输入接入第三水平选择器Mux-r3、 第四单位延时寄存器D4的输出同时接入第三水平选择器Mux-r3和第三水 平乘加运算器PE-r3,第三水平选择器Mux-r3的输出亦接入第三水平乘加 运算器PE-r3;第五单位延时寄存器D5的输入接入第四水平选择器 Mux-r4、第五单位延时寄存器D5的输出同时接入第四水平选择器Mux-r4 和第四水平乘加运算器PE-r4,第四水平选择器Mux-r4的输出亦接入第四 水平乘加运算器PE-r4。图5中垂直滤波器的设计结构由9个线延时器 LD1~LD9、7个垂直选择器Mux-c1~Mux-c7、2个垂直乘加运算器PE-c1 和PE-c2以及4个垂直流水线寄存器Rc1~Rc4组成。线延时器LD1、LD2、 LD3串联连接,其输入信号分别连接到垂直选择器Mux-c1、Mux-c2、 Mux-c3的一个输入端;线延时器LD4、LD5、LD6串联连接,LD6、LD3、 LD4的输出信号分别连接到垂直选择器Mux-c1、Mux-c2、Mux-c3的另一 个输入端;垂直选择器Mux-c1和Mux-c3输出连接到垂直选择器Mux-c4 的两个输入,垂直选择器Mux-c4、Mux-c3、Mux-c2的输出引脚分别输出 到垂直乘加运算器PE-c1的输入端IN1、IN2和IN3;PE-c1的输出连接到 线延时器LD4的输入;同时,PE-c1、LD5、LD6的输出分别输出到垂直 流水线寄存器Rc1、Rc2和Rc3;Rc3的输出连接到垂直乘加运算器PE-c2 的输入IN1,Rc1和Rc2的输出分别连接到垂直选择器Mux-c5、Mux-c6 的一个输入端,Mux-c5和Mux-c6的输出分别连接到垂直选择器Mux-c7 的两个输入。同时,Mux-c7和Mux-c6的输出分别连接到PE-c2的输入IN1 和IN2;PE-c2的输出连接到线延时器LD7的输入端,同时连接到垂直流 水线寄存器Rc4的输入,Rc4的输出将连接到下一级的系数规整单元;线 延时器LD7、LD8、LD9串联连接,LD7和LD9的输出分别连接到Mux-c6 和Mux-c5的另一个输入端。水平滤波器中各乘加运算器PE-r1~PE-r2的 输出为其第一输入信号与第二输入信号之和乘以提升系数然后与第三输入 信号相加;即PE-r1的输出为:I3+a(I1+I2);PE-r2的输出为:I3+b(I1+I2); PE-r3的输出为:I3+c(I1+I2);PE-r4的输出为: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个单位延时寄存器组成。垂直滤 波器中垂直乘加运算器PE-c1和PE-c2的内部结构如图7所示,包括两个 加法器、一个乘法器和一个2选1选择器,两个可选择的提升系数Coe1 和Coe2连接到选择器mux的两个数据输入端,sel为选择器
控制信号,选 择器mux的输出连接到二输入乘法器mul的一个数据输入端,外部输入数 据IN1和IN2连接到第一加法器add1的两个数据输入端,第一加法器的输 出连接到乘法器mul的另一个数据输入端,乘法器mul的输出连接到第二 加法器add2的一个数据输入端,外部输入数据IN3连接到第二乘法器add2 的另一个数据输入端,第二加法器add2的输出为垂直滤波器中垂直乘加运 算器PE-c1或PE-c2的输出。
通过小波变换的提升分解算法,映射得到相应水平滤波器和垂直滤波器 实现行向和列向一维小波变换的结构,如图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的Mux-r1~Mux-r4和图5的Mux-c4、Mux-c7所示。实现前向 变换的嵌入式边界数据扩展算法如下:
(1)一维行向变换的嵌入式边界数据对称扩展处理算法:
式中L(0)(m,n)=x(m,2n)为偶数列样本,H(0)(m,n)=x(m,2n+1)为奇数列样本。
(2)一维列向变换的嵌入式边界数据对称扩展处理算法:
式(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%