一种二维离散小波变换的硬件架构的制作方法

文档序号:7803655阅读:217来源:国知局
专利名称:一种二维离散小波变换的硬件架构的制作方法
技术领域
本发明属于图像数据处理技术领域,涉及超大规模集成电路,为一种二维离散小波变换的硬件架构。
背景技术
离散小波变换以其优异的时频局部特性和良好的去相关能力,作为多分辨率分析的有效工具,在信号处理和视频压缩等领域获得了广泛的应用。作为JPEG2000静态图像编码标准的核心编码算法,二维离散小波变换算法复杂、计算密集、需要较大的缓存空间存储二维图像的中间结果。为了满足实时处理的需要,设计高效的二维离散小波变换的硬件架构具有重要意义。提高系统性能和减少硬件开销成为二维离散小波变换架构优化设计的主要考虑因素。目前离散小波变换的算法主要可分为两种一种是卷积小波,采用滤波器组实现, 一种是提升小波,通过将滤波器的多相矩阵分解为多个提升步骤实现。采用后者实现离散小波变换具有计算量小、支持原位计算等优点,从而可以减少硬件实现中所需的乘法器和加法器的个数,减小存储器的大小,因此,JPEG2000静态图像标准即采用了提升小波作为二维离散小波变换的算法。但是,采用提升小波算法实现的硬件架构导致了关键路径中过长, 从而影响了系统的性能,对此,C.-T. Huang 等在 Flipping structure :an efficient VLSI architecture for lifting-based discrete wavelet transform[J]. IEEE Transactions on Signal Processing, 2004,4 (52) :1080-1089中提出了一种基于翻转的提升小波,能够有效的缩短系统关键路径。本发明提出的二维离散小波变换的架构即基于该算法导出。在以往的文献中,研究者提出了多种可应用于JPEG2000图像编码标准的二维离散小波变换的硬件架构。C.-T. Huang等的论文〃 Generic RAM-based architectures for two-dimensional discrete wavelet transform with line-based method ", IEEE Transactions on Circuits and Systems for Video Technology, vol.15, no. 7, pp. 910-920,2005采用两个一维离散小波模块分别进行行变换和列变换,减小了片内存储器面积,但是没有对一维离散小波模块进行进一步的优化,从而影响了系统性能的提高; H· Liao等的论文"Efficient architectures for l_d and 2_d lifting-based wavelet transforms“,IEEE Transactions on Signal Processing, vol. 52, no. 5,pp.1315-1326, 2004采用递归金字塔结构进行多级二维离散小波变换的运算,提高了硬件利用率,但是增加了控制的复杂度,同时也没有对一维离散小波变换模块进行有效的优化;B. -F. Wu等的论文"A high-performance and memory-efficient pipeline architecture for the 5/3 and 9/7 discrete wavelet transform of jpeg2000 codec" , IEEE Transactions on Circuits and Systems for Video Technology, vol. 15,no. 12,pp. 1615—1628,2005 米用了改进的提升算法实现一维离散小波变换,缩短了系统的关键路径,减小了片内存储器面积,但是仍然存在所需的流水线寄存器和运算单元较多的缺点。

发明内容
本发明要解决的问题是现有应用于JPEG2000图像编码标准的二维离散小波变换的硬件架构控制复杂,所需的流水线寄存器和运算单元较多。本发明的技术方案为一种二维离散小波变换的硬件架构,包括一维离散小波变换行模块、转置模块、一维离散小波变换列模块和缩放模块,所述四个模块依次串联连接, 图像数据输入一维离散小波变换行模块的输入端,缩放模块输出二维离散小波变换的分解结果,所述一维离散小波变换行模块由行处理单元级联组成,一维离散小波变换列模块由列处理单元级联组成。所述行处理单元由一个乘法器、两个加法器、四个寄存器、五个2选1选择器和两个1转2切换开关组成,所述行处理单元的输入接第一切换开关的输入端,两个小波变换的提升系数a(m)、b(m)分别接第三选择器的1输入端和0输入端,第一切换开关的0输出端接第一寄存器的输入端,第一寄存器的输出分别接第一选择器的0输入端、第二选择器的1输入端和第四选择器的0输入端,第一切换开关的1输出端接第四选择器的1输入端,第三选择器的输出和第四选择器的输出分别接乘法器的两个输入端,乘法器的输出接第二寄存器的输入端,第二寄存器的输出和第一选择器的输出分别接第一加法器的两个输入端,第一加法器的输出接第三寄存器的输入端,第三寄存器的输出和第二选择器的输出分别接第二加法器的两个输入端,第二加法器的输出接第二切换开关的输入端,第二切换开关的0输出端接第五选择器的0输入端,1输出端接第四寄存器的输入端,第四寄存器的输出分别接第一选择器的1输入端、第二选择器的0输入端和第五选择器的1输入端,第五选择器的输出为所述行处理单元的输出。所述列处理单元由一个乘法器、两个加法器、两个寄存器、六个2选1选择器、两个临时缓存器和三个1转2切换开关组成,所述行处理单元的输入接第三切换开关的输入端, 两个小波变换的提升系数a(m)、b(m)分别接第八选择器的1输入端和0输入端,第三切换开关的0输出端接第五寄存器的输入端,第五寄存器的输出分别接第六选择器的0输入端、第七选择器的1输入端和第九选择器的0输入端,第三切换开关的1输出端接第九选择器的 1输入端,第八选择器的输出和第九选择器的输出分别接乘法器的两个输入端,乘法器的输出接第六寄存器的输入端,第六寄存器的输出和第六选择器的输出分别接第三加法器的两个输入端,第三加法器的输出接第五切换开关的输入端,第五切换开关的0输出端和1输出端分别接第一临时缓存器和第二临时缓存器的输入端,第一临时缓存器和第二临时缓存器的输出分别接第十一选择器的1输入端和0输入端,第十一选择器的输出和第七选择器的输出分别接第四加法器的两个输入端,第四加法器的输出接第四切换开关的输入端,第四切换开关的0输出端接第十选择器的0输入端,1输出端接第七寄存器的输入端,第七寄存器的输出分别接第六选择器的1输入端、第七选择器的0输入端和第十选择器的1输入端, 第十选择器的输出为所述行处理单元的输出。所述转置模块由两个数据缓存EvenJxif、0dd_buf,一个2选1选择器Mux和一个 1转2切换开关Sw组成,转置模块的输入接切换开关Sw的输入端,切换开关Sw的0输出端和1输出端分别接第一数据缓存EvenJxif和第二数据缓存OddJxif的输入端,第一数据缓存EvenJxif的输出端和第二数据缓存OddJxif的输出端分别接选择器Mux器的0输入端和1输入端,选择器Mux的输出为上述转置模块的输出。
所述缩放模块由一个4选1选择器和一个乘法器组成,小波变换的四个缩放系数 Kj、KJ(H、KJ(H、KH2分别接4选1选择器的四个输入端00、01、10、11,所述一维离散小波变换列模块的输出和所述4选1选择器的输出分别接乘法器的两个数据输入端,乘法器的输出为缩放模块的输出。本发明提供一种高性能低存储的二维离散小波变换的硬件架构。其中的一维离散小波变换行模块和列模块从基于翻转的提升算法映射而来,能够有效的缩短系统的关键路径、减少流水线寄存器的个数、提高系统性能,同时减少片内存储器的大小和运算单元的个数,减小系统的硬件面积。本发明提供的架构采用基于翻转结构的提升算法进行数据路径的设计,通过采用折叠技术优化电路结构,大大减少了每级提升所需的乘法器和加法器的个数,同时通过采用流水线技术缩短关键路径的长度,将关键路径限制为一个乘法器的时延,实现了高性能的一维离散小波变换行模块和列模块的超大规模集成电路VLSI架构。本发明的电路一维离散小波变换行模块和列模块并行工作,进行二维图像处理技术,实现了 100%的硬件利用率,使得占用的转置缓存和列缓存的大小大大减小,实现了低存储的二维离散小波变换的 VLSI架构。


图1为本发明的电路结构框图。图2(a)为图1适用于5/3小波的一维离散小波变换行模块的结构框图。图2(b)为图1适用于9/7小波的一维离散小波变换行模块的结构框图。图3(a)为图1适用于5/3小波的一维离散小波变换列模块的结构框图。图3(b)为图1适用于9/7小波的一维离散小波变换列模块的结构框图。图4为图2中行处理单元的结构框图。图5为图3中列处理单元的结构框图。图6为图1中转置模块的结构框图。图7(a)为图6中转置模块中输入数据的扫描顺序。图7(b)为图6中转置模块中输出数据的扫描顺序。图8为图1中缩放模块的结构框图。
具体实施例方式下面结合附图和实施实例对本发明进行详细说明。如图1所示,本发明一种二维离散小波变换的硬件架构,包括一维离散小波变换行模块、转置模块、一维离散小波变换列模块和缩放模块,所述四个模块依次串联连接,图像数据输入一维离散小波变换行模块的输入端,缩放模块输出二维离散小波变换的分解结果,所述一维离散小波变换行模块由行处理单元级联组成,一维离散小波变换列模块由列处理单元级联组成。级联数目根据实际小波变换确定。下面以适用于JPEG2000静态图像标准中5/3小波和9/7小波的二维离散小波变换硬件架构为实施例说明本发明。该架构由一维离散小波变换行模块、转置模块、一维离散小波变换列模块和缩放模块依次级联而成。
在本实施例中,首先,图像数据以逐行扫描的方式输入一维离散小波变换行模块进行水平方向的一维离散小波变换,然后,生成的高频(H)/低频(L)子带分量经转置模块存储并重新排列,接着输出至一维离散小波变换列模块进行垂直方向的一维离散小波变换,得到LL、LH、HL、HH子带分量,最后经缩放模块进行对每个子带分量进行缩放得到二维离散小波变换的结果。5/3小波和9/7小波的一维离散小波变换行模块和列模块的架构框图分别如图2 和图3所示。由于5/3小波和9/7小波分别经过一级提升步骤和两级提升步骤完成,因此 5/3小波的一维离散小波变换行模块和一维离散小波变换列模块分别由一个行处理单元和列处理单元实现,9/7小波的一维离散小波变换行模块和一维离散小波变换列模块分别由两个行处理单元和列处理单元级联实现。行处理单元和列处理单元分别是完成水平方向和垂直方向一级提升步骤的基本计算单元,由基于翻转的提升算法映射而来,通过采用折叠技术和流水线技术,减少了计算资源的开销、缩短了关键路径,其电路结构分别如图4和图 5所示。行处理单元由一个乘法器、两个加法器、四个寄存器、五个选择器和两个切换开关组成。图像数据逐行输入行处理单元,经过一级提升步骤后生成水平方向的高频(L)/低频 (H)子带提升结果交替输出。在硬件架构设计中,通过减少功能单元,如加法器和乘法器,使得集成电路的硅片面积最小是很重要的。折叠技术能够使得单个功能单元分时复用于多个算法运算,从而在同一个功能单元上执行多个算法运算,减少功能单元的个数,使得集成电路能够以较小的硅片面积来实现。在行处理单元的设计中采用了折叠技术,使得提升步骤中的预测操作和更新操作由一组包含一个加法器和两个乘法器的功能单元完成,从而减少了运算逻辑的面积。当偶数列的图像数据进入时,行处理单元中所有的切换开关将输入数据输出至0输出端,行处理单元中所有的选择器将0输入端数据输出至输出端,完成预测操作;当奇数列的图像数据进入时,所有的切换开关将输入数据输出至1输出端,所有的选择器将1输入端数据输出至输出端,完成更新操作。硬件电路的最高时钟频率取决于关键路径的长度。流水线技术通过在数据通路中引入流水线寄存器的方法来减小有效关键路径, 从而提高硬件电路的最高时钟频率。行处理单元通过采用流水线技术将关键路径缩短为一个乘法器的延时。行处理单元的输入端接至第一切换开关Swl的输入端,行处理单元的输出端为第五选择器Mux5的输出端;第一切换开关Swl、第四选择器Mux4、乘法器M、第二寄存器R2、第一加法器Al、第三寄存器R3、第二加法器A2、第二切换开关Sw2、第四寄存器R4 和第五选择器Mux5依次串联连接;第一寄存器Rl的输入与第一切换开关Swl的0输出端相连,第一寄存器Rl的输出同时接至第一选择器Muxl的0输入端、第二选择器Mux2的1 输入端和第四选择器Mux4的0输入端;第一切换开关Swl的1输出端与第四选择器Mux4 的1输入端相连;第四寄存器R4的输出同时接至第一选择器Muxl的1输入端、第二选择器 Mux2的0输入端和第五选择器Mux5的1输入端;第二切换开关Sw2的1输出端接至第四寄存器R4的输入端,第二切换开关Sw2的0输出端接至第五选择器Mux5的0输入端;第一选择器Muxl的输出和第二寄存器R2输出分别接至第一加法器Al的两个输入端;第二选择器Mux2的输出和第三寄存器R3输出分别接至第二加法器A2的两个输入端。两个提升系数a(m)和b(m)分别接至第三选择器Mux3的1输入端和0输入端,第三选择器Mux3的输出和第四选择器Mux4的输出分别接至乘法器的两个数据输入端。
一维离散小波变换行模块生成的高频(H) /低频(L)子带分量按图7 (a)所示的顺序逐行输入转置模块,重新排列后按图7(b)所示的顺序输出。转置模块中的存储单元包括第一数据缓存EvenJxif和第二数据缓存OddJxif,大小分别为N和N/2字,其中N为图像宽度,它们的读写地址随着时钟周期循环递增。当偶数行数据输入时,转置模块中的切换开关Sw将输入接至0输出端,即接至第一数据缓存Even_buf,将输入数据写入第一数据缓存EvenJxif ;当奇数行数据输入时,转置模块切换开关Sw将输入接至1输出端,即接至第二数据缓存OddJxif,将输入数据写入第二数据缓存OddJxif。当第0行(以偶数行起始) 的一维离散小波变换的结果输入后,转置模块随时钟周期交替输出第一数据缓存EvenJxif 和第二数据缓存OddJxif中的数据,按图7(b)所示按偶数行/奇数行交替的方式输出存储的高频(H)/低频(L)子带分量,即偶数列数据输入时,选择器Mux将0输入端的数据输出; 奇数列数据输入时,选择器Mux将1输入端的数据输出。列处理单元的结构与行处理单元结构类似,区别在于将行处理单元的第三寄存器 R3替换为由两个临时缓存、一个2选1选择器和一个1转2切换开关组成。替换的两个临时缓存为大小为N字的存储器,N为图像宽度。如图5所示,列处理单元由一个乘法器、两个加法器、两个寄存器、六个2选1选择器、两个临时缓存器和三个1转2切换开关组成,所述行处理单元的输入接第三切换开关Sw3的输入端,两个小波变换的提升系数a(m)、b(m)分别接第八选择器MuxS的1输入端和0输入端,第三切换开关Sw3的0输出端接第五寄存器R5 的输入端,第五寄存器R5的输出分别接第六选择器Mux6的0输入端、第七选择器Mux7的 1输入端和第九选择器Mux9的0输入端,第三切换开关Sw3的1输出端接第九选择器Mux9 的1输入端,第八选择器MuxS的输出和第九选择器Mux9的输出分别接乘法器的两个输入端,乘法器的输出接第六寄存器R6的输入端,第六寄存器R6的输出和第六选择器Mux6的输出分别接第三加法器A3的两个输入端,第三加法器A3的输出接第五切换开关Sw5的输入端,第五切换开关Sw5的0输出端和1输出端分别接第一临时缓存器RAMI和第二临时缓存器RAM2的输入端,第一临时缓存器RAMI和第二临时缓存器RAM2的输出分别接第十一选择器Muxll的1输入端和0输入端,第十一选择器Muxll的输出和第七选择器Mux7的输出分别接第四加法器A4的两个输入端,第四加法器A4的输出接第四切换开关Sw4的输入端, 第四切换开关Sw4的0输出端接第十选择器MuxlO的0输入端,1输出端接第七寄存器R7 的输入端,第七寄存器R7的输出分别接第六选择器Mux6的1输入端、第七选择器Mux7的0 输入端和第十选择器MuxlO的1输入端,第十选择器MuxlO的输出为所述行处理单元的输出。当偶数行的图像数据进入时,列处理单元中所有的切换开关将输入数据输出至0输出端,列处理单元中所有的选择器将0输入端数据输出至输出端;当奇数行的图像数据进入时,所有的切换开关将输入数据输出至1输出端,所有的选择器将1输入端数据输出至输出端。图8的缩放模块接收列模块的输出,由一个4选1选择器和一个乘法器组成。选择器的输出端和缩放模块的输入端分别接至乘法器的两个数据输入端。当LL、LH、HL、HH四个子带的提升结果输入时,选择器分别将相应的缩放系数ΚΛΚ#η、Κ#η、Κη2由00、01、10、11 输入端输出至输出端。整个二维离散小波变换的架构缩短了系统的关键路径,减少了所需的片内存储器的大小,并且具有规则的数据流、简单的控制逻辑和100%的硬件利用率。
本发明还对提出的结构进行了分析,各模块的硬件开销如下表1所示。表1本发明各模块的硬件开销
权利要求
1.一种二维离散小波变换的硬件架构,其特征是包括一维离散小波变换行模块、转置模块、一维离散小波变换列模块和缩放模块,所述四个模块依次串联连接,图像数据输入一维离散小波变换行模块的输入端,缩放模块输出二维离散小波变换的分解结果,所述一维离散小波变换行模块由行处理单元级联组成,一维离散小波变换列模块由列处理单元级联组成。
2.根据权利要求1所述的一种二维离散小波变换的硬件架构,其特征是所述行处理单元由一个乘法器、两个加法器、四个寄存器、五个2选1选择器和两个1转2切换开关组成, 所述行处理单元的输入接第一切换开关(Swl)的输入端,两个小波变换的提升系数a(m)、b(m) 分别接第三选择器(Mux3)的1输入端和0输入端,第一切换开关(Swl)的0输出端接第一寄存器(Rl)的输入端,第一寄存器(Rl)的输出分别接第一选择器(Muxl)的0输入端、第二选择器(Mux2)的1输入端和第四选择器(Mux4)的0输入端,第一切换开关(Swl)的1 输出端接第四选择器(Mux4)的1输入端,第三选择器(Mux3)的输出和第四选择器(Mux4) 的输出分别接乘法器的两个输入端,乘法器的输出接第二寄存器(似)的输入端,第二寄存器(似)的输出和第一选择器(Muxl)的输出分别接第一加法器(Al)的两个输入端,第一加法器(Al)的输出接第三寄存器(旧)的输入端,第三寄存器(旧)的输出和第二选择器 (Mux2)的输出分别接第二加法器m的两个输入端,第二加法器m的输出接第二切换开关(Sw2)的输入端,第二切换开关(Sw2)的0输出端接第五选择器(Mux5)的0输入端, 1输出端接第四寄存器(R4)的输入端,第四寄存器(R4)的输出分别接第一选择器(Muxl) 的1输入端、第二选择器(MuU)的0输入端和第五选择器(Mud)的1输入端,第五选择器 (Mux5)的输出为所述行处理单元的输出。
3.根据权利要求1所述的一种二维离散小波变换的硬件架构,其特征是所述列处理单元由一个乘法器、两个加法器、两个寄存器、六个2选1选择器、两个临时缓存器和三个1转 2切换开关组成,所述行处理单元的输入接第三切换开关(Sw3)的输入端,两个小波变换的提升系数a(m)、b(m)分别接第八选择器(MuxS)的1输入端和0输入端,第三切换开关(Sw3)的 0输出端接第五寄存器(肪)的输入端,第五寄存器(肪)的输出分别接第六选择器(Mux6) 的0输入端、第七选择器(Mux7)的1输入端和第九选择器(Mux9)的0输入端,第三切换开关(SW)的1输出端接第九选择器(Mux9)的1输入端,第八选择器(MuxS)的输出和第九选择器(Mux9)的输出分别接乘法器的两个输入端,乘法器的输出接第六寄存器(R6)的输入端,第六寄存器(R6)的输出和第六选择器(Mux6)的输出分别接第三加法器(A3)的两个输入端,第三加法器(A3)的输出接第五切换开关(Sw5)的输入端,第五切换开关(Sw5)的 0输出端和1输出端分别接第一临时缓存器(RAMI)和第二临时缓存器(RAiC)的输入端, 第一临时缓存器(RAMI)和第二临时缓存器(RAM2)的输出分别接第十一选择器(Muxll)的 1输入端和0输入端,第十一选择器(Muxll)的输出和第七选择器(Mux7)的输出分别接第四加法器(A4)的两个输入端,第四加法器(A4)的输出接第四切换开关(Sw4)的输入端,第四切换开关(Sw4)的0输出端接第十选择器(MuxlO)的0输入端,1输出端接第七寄存器 (R7)的输入端,第七寄存器(R7)的输出分别接第六选择器(Mux6)的1输入端、第七选择器 (Mux7)的0输入端和第十选择器(MuxlO)的1输入端,第十选择器(MuxlO)的输出为所述行处理单元的输出。
4.根据权利要求1所述的一种二维离散小波变换的硬件架构,其特征是所述转置模块由两个数据缓存EvenJxif、0dd_buf,一个2选1选择器Mux和一个1转2切换开关Sw组成,转置模块的输入接切换开关Sw的输入端,切换开关Sw的0输出端和1输出端分别接第一数据缓存EvenJxif和第二数据缓存OddJxif的输入端,第一数据缓存EvenJxif的输出端和第二数据缓存OddJxif的输出端分别接选择器Mux器的0输入端和1输入端,选择器 Mux的输出为上述转置模块的输出。
5.根据权利要求1所述的一种二维离散小波变换的硬件架构,其特征是所述缩放模块由一个4选1选择器和一个乘法器组成,小波变换的四个缩放系数K^、KJ(H、KJ(H、KH2分别接 4选1选择器的四个输入端00、01、10、11,所述一维离散小波变换列模块的输出和所述4选 1选择器的输出分别接乘法器的两个数据输入端,乘法器的输出为缩放模块的输出。
全文摘要
一种二维离散小波变换的硬件架构,包含一维离散小波变换行模块、转置模块、一维离散小波变换列模块和缩放模块,上述四个模块分别依次串联连接,图像数据接一维离散小波变换行模块的输入端,缩放模块输出二维离散小波变换分解结果。本发明具有高性能低存储的优点,适用于JPEG2000静态图像编码标准中离散小波变换的实现,通过采用折叠技术和流水线技术,本发明提供的硬件架构减少了运算单元的个数、缩短了系统的关键路径、提高了系统性能,该架构中的一维离散小波变换行模块和一维离散小波变换列模块间采用基于行的数据流调度,大大减少了所需的中间缓存,进而减小了片内存储器的面积及二维离散小波变换架构的硬件面积。
文档编号H04N7/26GK102572429SQ201110448440
公开日2012年7月11日 申请日期2011年12月29日 优先权日2011年12月29日
发明者曹鹏, 王超 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1