CN106570272A - 一种二维离散小波变换的vlsi设计方法 - Google Patents
一种二维离散小波变换的vlsi设计方法 Download PDFInfo
- Publication number
- CN106570272A CN106570272A CN201610973952.0A CN201610973952A CN106570272A CN 106570272 A CN106570272 A CN 106570272A CN 201610973952 A CN201610973952 A CN 201610973952A CN 106570272 A CN106570272 A CN 106570272A
- Authority
- CN
- China
- Prior art keywords
- module
- formula
- input
- alpha
- transform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明涉及一种二维离散小波变换的VLSI设计方法,采用9/7小波的能离散小波变换架构,包括输入数据存储模块、列变换模块、转置模块、行变换模块以及缩放模块;数据先依次进入数据存储模块,然后由存储模块送往后续模块依次进行处理,最终由缩放模块输出,所有乘法运算均使用加减法移位操作替代;列变换模块采用三输入小波变换计算方法;行变换模块,使用二输入计算方法。
Description
技术领域
本发明属于超大规模集成电路(Very Large Scale Integration,简称VLSI)设计范畴,设计出一种的基于提升算法的高性能二维离散小波变换(Discrete WaveletTransform,简称DWT)的VLSI结构。
背景技术
离散小波变换以其优异的时频局部特性和良好的去相关能力,作为多分辨率分析的有效工具,在信号处理和视频压缩等领域获得了广泛的应用。由于DWT计算量较大,为了满足实时处理的需要,必须将算法运行在硬件电路上以提升计算速度。因此设计高效的离散小波变换的硬件架构具有重要意义,其中提高系统性能和减少硬件开销成为离散小波变换架构优化设计的主要考虑因素。
在目前已有的二维DWT电路结构中,各文献创新主要集中在算法内部的硬件效率上。Darji A等人在论文《Dual-scan parallel flipping architecture for a lifting-based 2-D discrete wavelet transform》中使用了较为传统的提升算法,使用了乘法器和加法器进行运算,改进了转置结构。Hu Y和Jong C C在论文《A memory-efficientscalable architecture for lifting-based discrete wavelet transform》中阐述了一种并行提升算法。随着并行度的提高,计算速度有所提升。但是在扫描方式的选择上,由于其使用了自上而下的图像扫描方式,故需要存入整张图像的数据后才能开始进行处理,存储需求较大。Mohanty B K等人在论文《Area-and power-efficient architecture forhigh-throughput implementation of lifting 2-D DWT》中提出一种并行的DWT计算架构,采用了多个输入数据同步的读取方式,在速度上和硬件开销上取得了较为平衡的的效果。Hsia C H等人在论文《Memory-efficient hardware architecture of 2-D dual-modelifting-based discrete wavelet transform》中设计了一种三输入无乘法器DWT计算结构。该结构使用移位加法器替代了乘法器,减小了硬件开销,但是由于其扫描方式为自上而下,故存储需求也较大。Darji A等人在论文《Multiplier-less pipeline architecturefor lifting-based two-dimensional discrete wavelet transform》中使用了一种基于改进的提升算法的二维DWT架构,在其架构中也使用了移位加法器替代乘法器,减少了硬件开销。但是由于其系数精度只有8为,计算精度损失严重。曹鹏和王超在专利《一种二维离散小波变换的硬件架构》中使用了基于处理单元的设计架构,硬件速度较高,但是转置缓存较大。
基于以上分析,现有架构都忽略了一个现象:通常输入数据是单个数据依次输入,而并不是直接一次性输入大量数据。基于以上现象,本发明提出了一种新型DWT架构。
Wei Z等人在论文《An Efficient VLSI Architecture for Lifting-BasedDiscrete Wavelet Transform》提出了改进的二输入提升架构,将一维9/7小波变换总结为以下公式:
H°(2n+1)=-K×H(2n+1) (9)
其中,x为输入数据,为列变换中需要暂存的中间变量,H°(2n+1)和L°(2n)为小波变换的输出结果,常系数取值分别为α=-1.586134342,β=-0.052980118,γ=0.882911075,δ=0.443506852,K=1.230174105。经过两次该过程运算即可得到二维DWT结果。本发明将以公式(1)~公式(10)为基础进行改进设计。
发明内容
考虑到输入数据多为单像素数据依次进入,现有架构需要较大的输入数据存储空间;另一方面,目前多数架构使用乘法器较多,导致硬件效率较低的问题,本发明提出一种二维离散小波变换的VLSI设计方法,本发明的技术方案为:
1.一种二维离散小波变换的VLSI设计方法,采用9/7小波的能离散小波变换架构,将暂存变量从4个减少为3个,输入数据个数从2个增加到3个,利用公式(2)~公式(4)、公式(6)~公式(10)和公式(11)组成三输入小波变换计算方法:
H°(2n+1)=-K×H(2n+1) (9)
其中,x为输入数据,y为输出数据,为列变换中需要暂存的中间变量,H°(2n+1)和L°(2n)为小波变换的输出结果,常系数取值分别为α=-1.586134342,β=-0.052980118,γ=0.882911075,δ=0.443506852,K=1.230174105;
硬件架构包括输入数据存储模块、列变换模块、转置模块、行变换模块以及缩放模块。数据先依次进入数据存储模块,然后由存储模块送往后续模块依次进行处理,最终由缩放模块输出,公式中的所有乘法运算均使用加减法移位操作替代;
输入数据存储模块用于暂时存储输入图像数据,输出为3个同列的像素点数据。
列变换模块负责完成二维小波变换的列向一维变换计算,整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta,即一个16位加法器延时,利用公式(2)~公式(4)、公式(6)~公式(10)和公式(11)组成三输入小波变换计算方法;
转置模块,用于数据的重新排列,关键路径为Tmux,即一个选择器延时。
行变换模块,负责完成二维变换中的行向一维变换计算。整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta。使用基于公式(1)~公式(10)的二输入计算方法。
缩放模块设计4级流水线,关键路径延时为Ta。
本发明提供了一种硬件效率更高的二维离散小波变换结构,使用加减法移位操作替代了乘法器,缩短了关键路径延时,设计了更为高效的输入数据存储以及扫描方式,在提升系统运算速度的同时,节省了硬件开销,具有更高的硬件效率。
附图说明
图1为本发明的整体结构图
图2为本发明所采用的扫描方式示意图
图3为图1中输入数据存储模块的结构图
图4为图1中列变换模块的结构图
图5为图1中转置模块的结构图
图6为图1中行变换模块的结构图
图7为图4和图6中第一个乘法器M1的结构图
图8为图4中第二个乘法器M2的结构图
图9为图6中第二个乘法器M2’的结构图
图10为图4和图6中第三个乘法器M3的结构图
图11为图4和图6中第四个乘法器M4的结构图
图12为图1中缩放模块的结构图
具体实施方式
下面结合附图对本发明进行详细说明。
如图1所示,本发明为一种高性能的二维离散小波变换架构,适用于9/7小波系数,包括输入数据存储模块、列变换模块、转置模块、行变换模块以及缩放模块,上述5个模块依次连接。图像数据以逐行扫描的方式输入数据存储模块,离散小波变换的输出结果由缩放模块输出。
本发明首先根据公式(1)~公式(10),提出改进的三输入计算方法。将公式(1)带入公式(5)中,可得到
其中,被替换,所需要的暂存变量从4个减少为3个,输入数据个数从2个增加到3个。公式(2)~公式(4)、公式(6)~公式(10)和公式(11)组成了本发明的三输入小波变换计算方法。
其次,基于上述计算方法,设计了一种应用于9/7小波的高性能离散小波变换架构,包括输入数据存储模块、列变换模块、转置模块、行变换模块以及缩放模块。数据先依次进入数据存储模块,然后由存储模块送往后续模块依次进行处理,最终由缩放模块输出。公式中的所有乘法运算均使用加减法移位操作替代。
输入数据存储模块用于暂时存储输入图像数据,输出为3个同列的像素点数据。
列变换模块包含15个加法器、9个减法器、33个寄存器以及3个深度为N,宽度为16位的RAM。该模块负责完成二维小波变换的列向一维变换计算。整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta,即一个16位加法器延时。列变换使用了三输入计算方法。
转置模块包含3个寄存器和2个选择器,用于数据的重新排列,关键路径为Tmux,即一个选择器延时。
行变换模块包含16个加法器、9个减法器以及37个寄存器,负责完成二维变换中的行向一维变换计算。整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta。由于转置模块输出为二个数据,因此行变换模块使用的是基于公式(1)~公式(10)的二输入计算方法。
缩放模块由10个加法器、4个减法器、18个寄存器以及2个选择器组成,共设计了4级流水线,关键路径延时为Ta。
在本发明中,图像数据以逐行扫描的方式进入数据存储模块。数据存储模块负责将数据整理重排,按照图2所示方式进行输出,之后的DWT模块实质上是一个三输入的二维DWT模块。
DWT模块中包含列变换模块、转置模块、行变换模块以及缩放模块。
列变换模块结构如图4所示,该模块使用了两级提升的架构,由4个乘法器、8个加法器、3个RAM以及19个寄存器组成,整个架构以流水线方式进行计算。由于使用了图7、9-11的乘法器替代结构,4个乘法器被7个加法器、9个减法器以及14个寄存器所替代,同时也将关键路径延时缩短为一个减法器延时。而一个16位减法器延时等于一个反相器延时和一个16位加法器延时的和,而且一个反相器延时远小于一个16位加法器延时,故一个减法器延时近似等于加法器延时。因此,该模块关键路径延时缩短至一个加法器延时(Ta)。
转置模块结构如图5所示,由3个寄存器和2个选择器组成,负责完成列变换模块的输出转置。
行变换模块结构如图6所示。与列变换模块相似,行变换模块也使用了两级提升的流水线架构,由4个乘法器、8个加法器以及18个寄存器组成。具体实现时使用了图8-11的乘法器替代结构,4个乘法器被8个加法器、9个减法器以及15个寄存器所替代,关键路径为一个减法器延时,约等于Ta。
缩放模块结构如图12所示。实质上缩放模块进行了4个乘法运算,通过两个选择器进行结果选择。由于使用了乘法器替代结构,故整个模块由10个加法器、4个减法器、18个寄存器以及2个选择器构成,关键路径为一个减法器延时,约等于Ta。
本发明还对提出的架构进行了分析,各模块的硬件开销如表1所示。
表1本发明各模块的硬件开销
本发明与现有其他二维离散小波变换架构进行了对比,对比结果如表2所示。
[1]代表Darji A等人(2014)的传统的双输入、水平扫描架构,[2]代表Hu Y和JongC C(2013)并行计算、自上而下扫描的架构,[3]代表Mohanty B K等人(2012)的双输入水平扫描并行计算架构,[4]代表Hsia C H等(2013)的三输入、无乘法器、自上而下扫描的架构,[5]代表Darji A等人(2015)的双输入、无乘法器、水平扫描架构,[6]代表曹鹏和王超(2012)的单输入、水平扫描架构。表中S代表并行架构中的并行度,通常取S=8或16,CPD表示该架构的关键路径延时(Critical Path Delay)。
表2各架构硬件开销对比
为了更明确的对比不同架构之间的硬件效率,使用参数——预估晶体管数-延时-吞吐率(Transistor Count-Delay-Product,简称TDP)进行效率对比,计算公式如下:
TDP=TransistorCount×CPD×ACT(transistor·s) (12)
其中Transistor Count表示架构的总晶体管数量,ACT(全称Active Cycle Time)表示计算一副图像所需要的周期数,ACT=N2/吞吐量。
单个器件的硬件开销以及延时如表3所示。表4为整体架构的硬件效率对比,其中测试图像大小为1024×1024,即N=1024。
表3单一器件的晶体管数占用以及延时
器件 | 晶体管数 | CPD |
16位加法器 | 504 | 3.01ns |
16位乘法器 | 5852 | 6.79ns |
16位寄存器 | 256 | - |
1x16位RAM | 96 | - |
1x8位RAM | 48 | - |
表4整体架构的硬件效率对比
从表4中可以看出,本发明架构的TDP最小,所以硬件效率最高。虽然[5]在效率上与本发明接近,但是其计算精度差,缺乏实用价值。因此,本发明所设计的二维离散小波变换架构缩短了系统的关键路径,减少了片内存储需求,具有较高的硬件效率。
Claims (1)
1.一种二维离散小波变换的VLSI设计方法,采用9/7小波的能离散小波变换架构,将暂存变量从4个减少为3个,输入数据个数从2个增加到3个,利用公式(2)~公式(4)、公式(6)~公式(10)和公式(11)组成三输入小波变换计算方法:
H°(2n+1)=-K×H(2n+1) (9)
其中,x为输入数据,y为输出数据,为列变换中需要暂存的中间变量,H°(2n+1)和L°(2n)为小波变换的输出结果,常系数取值分别为α=-1.586134342,β=-0.052980118,γ=0.882911075,δ=0.443506852,K=1.230174105;
硬件架构包括输入数据存储模块、列变换模块、转置模块、行变换模块以及缩放模块;数据先依次进入数据存储模块,然后由存储模块送往后续模块依次进行处理,最终由缩放模块输出,公式中的所有乘法运算均使用加减法移位操作替代;
输入数据存储模块用于暂时存储输入图像数据,输出为3个同列的像素点数据;
列变换模块负责完成二维小波变换的列向一维变换计算,整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta,即一个16位加法器延时,利用公式(2)~公式(4)、公式(6)~公式(10)和公式(11)组成三输入小波变换计算方法;
转置模块,用于数据的重新排列,关键路径为Tmux,即一个选择器延时;
行变换模块,负责完成二维变换中的行向一维变换计算;整个模块分为两步提升,共设计11级流水线,关键路径延时为Ta;使用基于公式(1)~公式(10)的二输入计算方法;
缩放模块设计4级流水线,关键路径延时为Ta。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973952.0A CN106570272A (zh) | 2017-01-10 | 2017-01-10 | 一种二维离散小波变换的vlsi设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973952.0A CN106570272A (zh) | 2017-01-10 | 2017-01-10 | 一种二维离散小波变换的vlsi设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106570272A true CN106570272A (zh) | 2017-04-19 |
Family
ID=58540072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610973952.0A Pending CN106570272A (zh) | 2017-01-10 | 2017-01-10 | 一种二维离散小波变换的vlsi设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106570272A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577834A (zh) * | 2017-07-13 | 2018-01-12 | 天津大学 | 一种基于提升算法的二维离散小波变换架构设计 |
CN107908389A (zh) * | 2017-11-21 | 2018-04-13 | 天津大学 | 小点数fft旋转因子复数乘法加速器 |
CN113343610A (zh) * | 2021-07-13 | 2021-09-03 | 天津大学 | 一种消除转置存储器的二维离散小波变换vlsi设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1374692A (zh) * | 2002-04-17 | 2002-10-16 | 西安交通大学 | 一种内在并行的二维离散小波变换的vlsi结构的设计方法 |
KR20080022878A (ko) * | 2006-09-08 | 2008-03-12 | 동부일렉트로닉스 주식회사 | Jpeg2000 인코더를 설계하는 방법 |
CN101430737A (zh) * | 2008-11-19 | 2009-05-13 | 西安电子科技大学 | 提升小波变换的vlsi结构设计方法 |
-
2017
- 2017-01-10 CN CN201610973952.0A patent/CN106570272A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1374692A (zh) * | 2002-04-17 | 2002-10-16 | 西安交通大学 | 一种内在并行的二维离散小波变换的vlsi结构的设计方法 |
KR20080022878A (ko) * | 2006-09-08 | 2008-03-12 | 동부일렉트로닉스 주식회사 | Jpeg2000 인코더를 설계하는 방법 |
CN101430737A (zh) * | 2008-11-19 | 2009-05-13 | 西安电子科技大学 | 提升小波变换的vlsi结构设计方法 |
Non-Patent Citations (3)
Title |
---|
WEI ZHANG 等: "An Efficient VLSI Architecture for Lifting-Based Discrete Wavelet Transform", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS》 * |
姜喆: "高性能JPEG2000图像编码器的VLSI设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
郭峰 等: "基于FPGA的JPEG_2000双重截断码率控制算法", 《微电子学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577834A (zh) * | 2017-07-13 | 2018-01-12 | 天津大学 | 一种基于提升算法的二维离散小波变换架构设计 |
CN107908389A (zh) * | 2017-11-21 | 2018-04-13 | 天津大学 | 小点数fft旋转因子复数乘法加速器 |
CN113343610A (zh) * | 2021-07-13 | 2021-09-03 | 天津大学 | 一种消除转置存储器的二维离散小波变换vlsi设计方法 |
CN113343610B (zh) * | 2021-07-13 | 2022-05-17 | 天津大学 | 一种消除转置存储器的二维离散小波变换vlsi设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504637B (zh) | 一种点数可变实时fft处理芯片 | |
WO2019205617A1 (zh) | 一种矩阵乘法的计算方法及装置 | |
CN106570272A (zh) | 一种二维离散小波变换的vlsi设计方法 | |
CN101847986B (zh) | 一种实现fft/ifft变换的电路及方法 | |
Zhang et al. | A multiwindow partial buffering scheme for FPGA-based 2-D convolvers | |
CN105589677A (zh) | 一种基于fpga的脉动结构矩阵乘法器及其实现方法 | |
CN101576961B (zh) | 高速的图像匹配方法 | |
Jana et al. | An area efficient vlsi architecture for 1-d and 2-d discrete wavelet transform (dwt) and inverse discrete wavelet transform (idwt) | |
CN103533378B (zh) | 基于fpga的三维整数dct变换系统及其变换方法 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
CN107577834A (zh) | 一种基于提升算法的二维离散小波变换架构设计 | |
CN116090530A (zh) | 可配置卷积核大小和并行计算数目的脉动阵列结构及方法 | |
CN103179398A (zh) | 一种提升小波变换fpga实现的方法 | |
CN105611302A (zh) | 一种基于粗粒度可重构系统的二维离散小波变换实现方法 | |
JPH07200539A (ja) | 二次元dct演算装置 | |
Wisdom et al. | An Efficient Implementation of a 2D DWT on FPGA | |
Lan et al. | Memory-efficient Very Large Scale Integration Architecture of 2D Algebraic-integer-based Daubechies Discrete Wavelet Transform. | |
Aroutchelvame et al. | An efficient architecture for lifting-based forward and inverse discrete wavelet transform | |
Ramchandani et al. | Design of a lifting based discrete wavelet transform using flipping method for images | |
Shan et al. | High performance 2-D IDCT for Image/Video Decoding based on FPGA | |
Cao et al. | Efficient architecture for two-dimensional discrete wavelet transform based on lifting scheme | |
CN113343610B (zh) | 一种消除转置存储器的二维离散小波变换vlsi设计方法 | |
Wang et al. | An FPGA-based reconfigurable CNN training accelerator using decomposable Winograd | |
Pinto et al. | Dual-scan architecture for 2D discrete wavelet transform using modified lifting algorithm | |
Prameela Jyothi et al. | Finite Impulse Response Filter Growth and Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170419 |
|
WD01 | Invention patent application deemed withdrawn after publication |