CN103533357A - 基于fpga的多级复用小波变换器 - Google Patents
基于fpga的多级复用小波变换器 Download PDFInfo
- Publication number
- CN103533357A CN103533357A CN201310476968.7A CN201310476968A CN103533357A CN 103533357 A CN103533357 A CN 103533357A CN 201310476968 A CN201310476968 A CN 201310476968A CN 103533357 A CN103533357 A CN 103533357A
- Authority
- CN
- China
- Prior art keywords
- row
- stage
- coefficient
- line translation
- order
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于FPGA的多级复用小波变换器,主要解决现有技术资源浪费的问题。该小波变换器包括第一级行变换器、第一级列变换器、时分复用行变换器、时分复用列变换器、小波系数分离器和中间缓存器。第一级行变换器用于进行第一级行变换;第一级列变换器用于进行第一级列变换;时分复用行变换器用于进行行时分复用,分别进行第二、第三、第四级行变换;时分复用列变换器用于进行列时分复用,分别进行第二、第三、第四级列变换;小波系数分离器用于对第一、第二、第三、第四级的小波系数分别进行分离;中间缓存器用于缓存各级列变换的中间数据和第二、第三级的低频子带系数。本发明具有资源利用率高的优点,可用于图像压缩编码。
Description
技术领域
本发明属于电子电路技术领域,特别涉及一种基于FPGA的多级复用小波变换器,可用于图像压缩编码中的小波变换。
背景技术
随着现代空间技术的不断发展,遥感图像数据海量增长,给存储和传输带来了极大的困难,因而进行有效实时的数据压缩显得特别迫切和重要。目前较为流行的静态图像压缩标准是联合图像专家小组(Joint Photographic Experts Group)提出的JPEG标准,其采用的变换方法是离散余弦变换DCT,由于DCT是基于图像块进行变换的,所以低码率图像不可避免的会出现明显的马赛克现象。而小波变换理论作为数字图像变换方法的引入,给图像编码技术带来了新的契机。小波变换技术在20世纪90年代受到了各领域学者的高度重视并得到了广泛的应用,其中包括图像压缩领域。小波变换的优点是:可以将图像信号分解成不同的空间分辨率、不同频率和具有方向性的子图像信号,这便于在失真编码中考虑带宽和人的视觉特性,实现渐进式编码;小波变换作用于图像的整体,在有效去除图像的全局相关性的同时,使量化误差分散到整个图像中,可以有效避免JPEG编码方法带来的“马赛克”方块效应。所有这些优势使其成为一种极有前途的编码方法,使其为图像编码技术的发展注入了巨大的活力。
小波变换是对图像数据进行去相关性,常用的小波变换有两种:
一是9/7小波变换,用于有损压缩,需要进行四步提升,公式1)为9/7小波变换的四步提升计算公式:
其中d0[n]、s0[n]分别为需要变换的输入数据,d1[n]、s1[n]分别为第一步和第二步提升计算的结果,用于进行第三步和第四步的提升计算,d[n]、s[n]分别为一维小波变换得到的高频小波系数和低频小波系数;
二是5/3小波变换,用于无损压缩,需要进行两步提升,公式2)为5/3小波变换两步提升计算公式:
其中d0[n]、s0[n]分别为需要变换的输入数据,d[n]、s[n]分别为一维小波变换得到的高频小波系数和低频小波系数。
小波变换的实现过程是:将图像视作由行列向量组成的数据矩阵,第一级小波变换对原始图像的数据矩阵进行二维小波变换;第二级小波变换对第一级变换产生的低频子带LL系数矩阵进行二维小波变换;第三级小波变换对第二级变换产生的低频子带的LL系数矩阵进行二维小波变换;第四级小波变换对第三级变换产生的低频子带的LL系数矩阵进行二维小波变换。其中单级二维小波变换的实现过程是:先对数据矩阵的每行数据根据提升步骤逐行进行行方向的一维小波变换,即行变换,分解为一个水平低频系数矩阵L和一个水平高频系数矩阵H,矩阵的行数和原图像行数相同,列数是原图像列数的一半;然后对行变换生成的系数矩阵的每列数据继续进行一维小波变换,即列变换,得到四个子带的系数矩阵,即低频子带LL系数矩阵、水平子带HL系数矩阵、垂直子带LH系数矩阵和对角子带HH系数矩阵,四个子带系数矩阵的大小均为原图像的四分之一。
现有的小波变换实现方法主要有软件实现方法和硬件实现方法。软件实现时,将设计的软件程序在计算机的软件环境中运行,其优点在于,高级语言的设计结构简单,其缺点在于,软件处理数据所需时间很长,不能满足实时的图像数据处理需求;硬件实现时,将设计的硬件程序借助软件工具生比特文件,并烧写到硬件电路中,形成程序指定的电路结构,这种硬件电路可以并行处理数据,使其能够实现图像数据的高速实时处理。
在现有的小波变换硬件实现中,西安电子科技大学申请的发明专利“基于行的小波变换的VLSI结构”(专利申请号:200510042864.0,公开号:CN1717049)公开了一种基于行的小波变换的超大规模集成电路VLSI结构。这种结构利用了小波变换滤波器的特性,使得每一级小波分解的行变换和列变换并行处理,以及四级的小波变换并行处理,这种结构通过有效管理中间数据的缓存空间,虽说降低了对数据存储空间的要求,但却存在不足:由于每一级小波变换都需要一个行变换器和一个列变换器,多一级变换,就要多一个行变换器和一个列变换器,第二级、第三级和第四级小波变换占用的变换器大部分的时间是空闲的,使资源没有得到充分的利用,造成了资源的浪费。
发明内容
本发明的目的在于针对上述已有技术的不足,提供一种用于实现小波变换的多级复用超大规模集成电路,以在不降低数据处理速度的同时,减少变换器的数量,提高资源的利用率。
为实现上述目的,本发明的小波变换器,包括:
第一级行变换器,用于对输入的原始图像数据进行第一级行变换;
第一级列变换器,用于对第一级行变换系数R1进行列变换,完成对第一级列变换所需中间数据在中间缓存器中的存取;
小波系数分离器,用于对第一、第二、第三、第四级的小波系数C1、C2、C3、C4分别进行分离,得到每一级的低频子带系数LL、水平子带系数HL、垂直子带系数LH和对角子带系数HH;
所述中间缓存器,用于缓存各级列变换的中间数据,缓存第二和第三级的低频子带系数LL2和LL3;
其特征在于:还包括:
时分复用行变换器,用于进行行时分复用,即分别对小波系数分离器分离出的第一、第二、第三级的低频子带系数LL1、LL2、LL3进行第二、第三、第四级行变换,得到第二、第三、第四级行变换系数R2、R3、R4,并将其输出到时分复用列变换器;
时分复用列变换器,用于进行列时分复用,即分别对第二、第三、第四级行变换系数R2、R3和R4进行列变换,完成对第二、第三、第四级列变换所需中间数据在中间缓存器中的存取,并将经第二、第三、第四级列变换得到的第二、第三、第四级的小波系数C2、C3和C4输出到小波系数分离器。
作为优选,所述的第一级行变换器,包括:第一级变换行提升控制器和四个结构相同的行提升器;
该第一级变换行提升控制器,用于产生四个行提升器的控制信号;
该四个行提升器,用于对输入的原始图像数据进行9/7小波的四步提升计算和边界拓展运算,得到第一级行变换系数R1。
作为优选,所述的第一级行变换器,包括:第一级变换行提升控制器和两个结构相同的行提升器;
该第一级变换行提升控制器,用于产生两个行提升器的控制信号;
该两个行提升器,用于对输入的原始图像数据进行5/3小波的两步提升计算和边界拓展运算,得到第一级行变换系数R1;
作为优选,所述的第一级列变换器,包括:第一级变换列提升控制器,四个结构相同的列提升器和第一级读写缓存控制器;
该第一级变换列提升控制器,用于产生第一级列变换中四步提升计算所需的控制信号;
该四个列提升器,用于对第一级行变换系数R1进行9/7小波的四步提升计算和边界拓展运算;
该第一级读写缓存控制器,用于控制第一级列变换中计算得到的中间数据在中间缓存器中的存取。
作为优选,第一级列变换器,包括:第一级变换列提升控制器,两个结构相同的列提升器和第一级读写缓存控制器;
该第一级变换列提升控制器,用于产生第一级列变换中两步提升计算所需的控制信号;
该两个列提升器,用于对第一级行变换系数R1进行5/3小波的两步提升计算和边界拓展运算;
该第一级读写缓存控制器,用于控制第一级列变换中计算得到的中间数据在中间缓存器中的存取。
作为优选,所述的时分复用行变换器,包括:行变换复用选择器,多级变换行提升控制器,四个结构相同的行提升器和二三四级数据分离器;
该行变换复用选择器,用于从第一、第二、第三级低频子带系数LL1、LL2和LL3中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换并完成第二和第三级的低频子带系数LL2和LL3在中间缓存器中的存取;
该多级变换行提升控制器,用于产生四个行提升器的控制信号;
该四个行提升器,用于将当前级的上一级低频子带系数进行9/7小波的四步提升计算和边界拓展运算,得到的当前级的行变换系数;
该二三四级数据分离器,用于将四个行提升器计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
作为优选,所述的时分复用行变换器,包括:行变换复用选择器,多级变换行提升控制器,两个结构相同的行提升器和二三四级数据分离器;
该行变换复用选择器,用于从第一、第二、第三级低频子带系数LL1、LL2和LL3中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换并完成第二和第三级的低频子带系数LL2和LL3在中间缓存器中的存取;
该多级变换行提升控制器,用于产生两个行提升器的控制信号;
该两个行提升器,用于将当前级的上一级低频子带系数进行5/3小波的两步提升计算和边界拓展运算,得到的当前级的行变换系数;
该二三四级数据分离器,用于将两个行提升器计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
作为优选,所述的时分复用列变换器,包括:列变换复用选择器,多级变换列提升控制器,四个结构相同的列提升器,二三四级输出分离器,读写缓存控制器;
该列变换复用选择器,用于从二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换,并将当前级需缓存的数据输出到读写缓存器;
该多级变换列提升控制器,用于产生当前级列变换各步提升所需的控制信号;
该四个列提升器,用于将当前级的行变换系数进行9/7小波的四步提升计算和边界拓展运算,得到当前级的中间数据和当前级小波系数;
该二三四级输出分离器,用于将四个列提升器计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4;
该读写缓存控制器,用于控制第二、第三、第四级列变换的中间数据在中间缓存器的读写操作。
作为优选,所述的时分复用列变换器,包括:列变换复用选择器,多级变换列提升控制器,两个结构相同的列提升器,二三四级输出分离器,读写缓存控制器;
该列变换复用选择器,用于从二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换,并将当前级需缓存的数据输出到读写缓存器;
该多级变换列提升控制器,用于产生当前级列变换各步提升所需的控制信号;
该两个列提升器用于将当前级的行变换系数进行5/3小波的两步提升计算和边界拓展运算,得到当前级的中间数据和当前级小波系数;
该二三四级输出分离器,用于将两个列提升器计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4;
该读写缓存控制器,用于控制第二、第三、第四级列变换的中间数据在中间缓存器的读写操作。
本发明与现有技术相比较,具有如下优点:
第一,本发明由于第二、第三和第四级行变换采用时分复用一个行变换器来实现,提高了资源的利用率。
第二,本发明由于第二、第三和第四级列变换采用时分复用一个列变换器来实现,进一步提高了资源的利用率。
附图说明
图1是本发明基于FPGA的多级复用小波变换器结构框图;
图2是本发明的9/7小波第一级行变换器结构图;
图3是本发明的9/7小波第一级列变换器结构图;
图4是本发明的9/7小波时分复用行变换器结构图;
图5是本发明的9/7小波时分复用列变换器结构图;
图6是本发明的小波系数分离器结构图;
图7是本发明的9/7小波中间缓存器结构图;
图8是本发明的5/3小波第一级行变换器结构图;
图9是本发明的5/3小波第一级列变换器结构图;
图10是本发明的5/3小波时分复用行变换器结构图;
图11是本发明的5/3小波时分复用列变换器结构图;
图12是本发明的5/3小波中间缓存器结构图。
具体实施方式
本发明使用Xilinx ISE10.1集成开发软件和Verilog HDL语言,在Xilinx公司的XilinxVirtex2-XC2V3000可编程FPGA上实现了四级的小波变换。
下面结合附图对本发明做详细的描述。
参照图1,本发明的结构框图包括第一级行变换器1、第一级列变换器2、时分复用行变换器3、时分复用列变换器4、小波系数分离器5和中间缓存器6。第一级行变换器1,首先对输入的原始图像数据进行第一级行变换,得到的第一级行变换系数R1输出给第一级列变换器2;第一级列变换器2对第一级行变换系数R1进行第一级列变换,完成第一级列变换过程中的中间数据在中间缓存器6中的存取,并将第一级列变换得到的小波系数C1输出到小波系数分离器5;经过小波系数分离器5分离出的第一、第二、第三级低频子带系数LL1、LL2和LL3输出给时分复用行变换器3;时分复用行变换器3将第一、第二、第三级低频子带系数LL1、LL2和LL3进行第二、第三、第四级行变换,得到第二、第三、第四级行变换系数R2、R3和R4,输出到时分复用列变换器4;时分复用列变换器4将第二、第三、第四级行变换系数R2、R3和R4进行第二、第三、第四级列变换,得到的第二、第三、第四级的小波系数C2、C3和C4输出到小波系数分离器5;中间缓存器6用于缓存各级列变换计算产生的中间数据以及缓存第二和第三级的低频子带系数LL2和LL3;小波系数分离器5对第一、第二、第三、第四级的小波系数C1、C2、C3和C4分别进行分离,得到每一级的低频子带系数LL、水平子带系数HL、垂直子带系数LH和对角子带系数HH,其中第一、第二、第三级的低频子带系数LL1、LL2和LL3输出到时分复用行变换器3,第一级、第二级、第三级、第四级的水平子带系数HL1、HL2、HL3、HL4,垂直子带系数LH1、LH2、LH3、LH4,对角子带系数HH1、HH2、HH3、HH4以及第四级的低频子带系数LL4作为小波变换的最终结果输出。
各部件的结构根据不同的小波变换类型,给出如下两种实施例:
实施例1:多级复用9/7小波变换器:
参见图2,本实施例的第一级行变换器1,包括第一级变换行提升控制器11和四个结构相同的行提升器1T1、1T2、1T3和1T4;
所述第一级变换行提升控制器11,产生行第一控制信号X1、行第二控制信号X2、行第三控制信号X3和行第四控制信号X4,每个控制信号包括一个行提升使能和一个边界拓展使能,其中:提升使能的实现是:在任一行提升器输入其所需的提升数据时,将该行提升器的提升使能设为有效;边界拓展使能的实现是:在当前行的左边界,当前行首次进行四步提升计算时,将提供给行提升器1T2和1T4的边界拓展使能设为有效,将提供给行提升器1T1和1T3的边界拓展使能设为无效;在右边界,当前行进行最后一次四步提升计算时,由输入图像的大小决定拓展,如果输入图像数据列数是偶数,则将提供给行提升器1T1和1T3的边界拓展使能设为有效,将提供给行提升器1T2和1T4的边界拓展使能设为无效,如果输入图像数据列数是奇数,则将提供给行提升器1T2和1T4的边界拓展使能设为有效,将提供给行提升器1T1和1T3的边界拓展使能设为无效。
所述四个行提升器1T1,1T2、1T3和1T4,其中在任一行提升器对应的行提升使能有效时,则该行提升器启动提升计算,此时若该行提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算;输入图像数据经过这四个提升器1T1,1T2、1T3和1T4的四步提升计算后,得到第一级行变换系数R1。
参见图3,本实施例的第一级列变换器2,包括第一级变换列提升控制器21,四个结构相同的列提升器2T1、2T2、2T3、2T4和第一级读写缓存控制器22;
所述第一级变换列提升控制器21,用于产生列第一控制信号Y1,列第二控制信号Y2,列第三控制信号Y3和列第四控制信号Y4,先将这四个列控制信号和第一级列变换所需的四组提升数据,输出给列提升器2T1、2T2、2T3、和2T4;再将列变换中需缓存的中间数据输出给第一级读写缓存控制器22;从列提升器2T3、2T4的中间数据中分离出第一级小波变换系数C1;每个列控制信号包括一个列提升使能和一个边界拓展使能,其中:列提升使能的实现是:在对任一列提升器输入其所需的提升数据时,将该列提升器的提升使能设为有效;边界拓展使能的实现是:在当前列的上边界,当前列首次进行四步提升计算时,将提供给列提升器2T2和2T4的边界拓展使能设为有效,将提供给行提升器2T1和2T3的边界拓展使能设为无效;在下边界,当前列进行最后一次四步提升计算时,由输入图像的大小决定拓展,如果输入图像数据的行数是偶数,则将提供给列提升器2T1和2T3的边界拓展使能设为有效,将提供给列提升器2T2和2T4的边界拓展使能设为无效,如果输入图像数据的行数是奇数,则将提供给列提升器2T2和2T4的边界拓展使能设为有效,将提供给列提升器2T1和2T3的边界拓展使能设为无效。
所述列提升器2T1、2T2、2T3、2T4,其中任一列提升器对应的列提升使能有效时,该列提升器启动提升计算,此时若该列提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算,并将列提升器2T1、2T2、2T3、2T4计算得到的四组中间数据输出给第一级变换列提升控制器21。
所述第一级读写缓存控制器22,用于产生存储第一级列变换四步提升中间数据所需的4个写使能、4个写地址、4个读使能和4个读地址;并将第一级列变换四步提升的中间数据、4个写使能、4个写地址、4个读使能和4个读地址输出到中间缓存器6,再将取出的中间数据输出到第一级变换列提升控制器21。
参见图4,本实施例的时分复用行变换器3,包括行变换复用选择器31,多级变换行提升控制器32,四个结构相同的行提升器3T1、3T2、3T3、3T4和二三四级数据分离器33;
所述行变换复用选择器31,在第一、第二、第三级低频子带系数LL1、LL2和LL3中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换,并产生当前级标志信号,表示当前进行行变换的级数;选择当前级的上一级低频子带系数进行行变换的实现过程是:第一级低频子带系数LL1输入时,直接将其送入行提升器3T1、3T2、3T3和3T4进行第二级行变换;第二级低频子带系数LL2输入时,先将其存入中间缓存器6,等待第二级行变换结束后,再将其从中间缓存器6中取出,送入行提升器3T1、3T2、3T3和3T4进行第三级行变换;第三级低频子带系数LL3输入时,先将其存入中间缓存器6,等待第三级行变换结束后,再将其从中间缓存器6中取出,送入行提升器3T1、3T2、3T3和3T4进行第四级行变换。
所述多级变换行提升控制器32,根据当前级标志信号,产生当前级行变换的复用行第一控制信号Z1、复用行第二控制信号Z2、复用行第三控制信号Z3、复用行第四控制信号Z4,每个控制信号包括一个行提升使能和一个边界拓展使能,行提升使能和边界拓展使能的实现与第一级行变换器1中的实现相同。
所述四个行提升器3T1、3T2、3T3、3T4,其中任一行提升器对应的行提升使能有效时,该行提升器启动提升计算,此时若该行提升器对应的边界拓展使能有效,该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算。
所述二三四级数据分离器33,根据当前级标志信号,将四个行提升器3T1、3T2、3T3和3T4计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
参见图5,本实施例的时分复用列变换器4,包括:列变换复用选择器41,多级变换列提升控制器42,四个结构相同的列提升器4T1、4T2、4T3、4T4,二三四级输出分离器43和读写缓存控制器44;
所述列变换复用选择器41,用于实现如下功能:一是在第二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换;二是产生当前级标志信号,表示当前进行列变换的级数;三是将当前级需缓存的中间数据和当前级标志信号输出到读写缓存控制器44。
其中所述的选择当前级行变换系数进行列变换的实现过程为:第二级行变换系数R2输入时,选择第二级行变换系数R2作为当前级的行变换系数,进行当前时刻的列变换;第三级行变换系数R3输入时,先将其输出到读写缓存控制器44中进行缓存,当前一行的第二级行变换系数R2输入完毕后,将第三级行变换系数R3取出,作为当前级的行变换系数,进行当前时刻的列变换;第四级行变换系数R4输入时,先将其输出到读写缓存控制器44中进行缓存,当前一行第三级行变换系数R3输入完毕后,将第四级行变换系数R4取出,作为当前级的行变换系数,进行当前时刻的列变换。
所述多级变换列提升控制器42,根据当前级标志信号,产生复用列第一控制信号W1、复用列第二控制信号W2、复用列第三控制信号W3和复用列第四控制信号W4,将这两个复用列控制信号和当前级列变换所需的四组提升数据分别输入给列提升器4T1、4T2、4T3和4T4;将当前级列变换需缓存的中间数据输出给列变换复用选择器41;从列提升器4T3和4T4的中间数据中分离出当前级的小波变换系数,输出到二三四级输出分离器43;每个控制信号包括一个列提升使能和一个边界拓展使能,其中,列提升使能和边界拓展的产生过程与第一级列变换器2相同。
所述四个列提升器4T1、4T2、4T3和4T4,其中任一列提升器对应的列提升使能有效时,该列提升器启动提升计算,此时若该列提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算,列提升器4T1、4T2、4T3和4T4计算过程中得到的四组中间数据输出给多级变换列提升控制器42。
所述二三四级输出分离器43,根据当前级标志信号,将四个列提升器4T1、4T2、4T3和4T4计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4。
所述读写缓存控制器44,在第二、第三、第四级列变换中,产生存取每一级列变换四步提升中间数据所需的4个写使能、4个写地址、4个读使能和4个读地址;并将该级四步提升的中间数据、4个写使能、4个写地址、4个读使能和4个读地址输出到中间缓存器6,再将从中间缓存器6取出的中间数据输出到列变换复用选择器41。
参见图6,本实施例的小波系数分离器5,用于将第一、第二、第三、第四级的小波系数C1、C2、C3和C4分别进行分离,得到每一级的低频子带系数LL、水平子带系数HL、垂直子带系数LH和对角子带系数HH;再将其中的第一、第二、第三级的低频子带系数LL1、LL2和LL3输出到时分复用行变换器3,将第一级、第二级、第三级、第四级的水平子带系数HL1、HL2、HL3、HL4,垂直子带系数LH1、LH2、LH3、LH4,对角子带系数HH1、HH2、HH3、HH4以及第四级的低频子带系数LL4作为小波变换的最终结果输出。
参见图7,本实施例的中间缓存器6,包括17个双端口存储器RAM,其中,RAM1、RAM2、RAM3和RAM4分别用于缓存第一级小波列变换四步提升的四组中间数据;RAM5、RAM6、RAM7和RAM8分别用于缓存第二级小波列变换四步提升的四组中间数据;RAM9、RAM10、RAM11和RAM12分别用于缓存第三级小波列变换四步提升的四组中间数据;RAM13、RAM14、RAM15和RAM16分别用于缓存第四级小波列变换四步提升的四组中间数据;RAM17用于缓存第二和第三级的低频子带系数LL2和LL3。
实施例2:多级复用5/3小波变换器:
参见图8,本实施例的第一级行变换器1,包括第一级变换行提升控制器11和两个结构相同的行提升器1S1和1S2;
所述第一级变换行提升控制器11,产生行第一控制信号X1和行第二控制信号X2,每个控制信号包括一个行提升使能和一个边界拓展使能,其中:提升使能的实现是:在任一行提升器输入其所需的提升数据时,将该行提升器的提升使能设为有效;边界拓展使能的实现是:在当前行的左边界,当前行首次进行两步提升计算时,将提供给行提升器1S2的边界拓展使能设为有效,将提供给行提升器1S1的边界拓展使能设为无效;在右边界,当前行进行最后一次两步提升计算时,由输入图像的大小决定拓展,如果输入图像数据列数是偶数,则将提供给行提升器1S1的边界拓展使能设为有效,将提供给行提升器1S2的边界拓展使能设为无效,如果输入图像数据列数是奇数,则将提供给行提升器1S2的边界拓展使能设为有效,将提供给行提升器1S1的边界拓展使能设为无效。
所述两个行提升器1S1和1S2,其中在任一行提升器对应的行提升使能有效时,则该行提升器启动提升计算,此时若该行提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算;输入图像数据经过这两个提升器1S1和1S2的两步提升计算后,得到第一级行变换系数R1。
参见图9,本实施例的第一级列变换器2,包括第一级变换列提升控制器21,两个结构相同的列提升器2S1、2S2和第一级读写缓存控制器22;
所述第一级变换列提升控制器21,用于产生列第一控制信号Y1和列第二控制信号Y2,并先将这两个列控制信号和第一级列变换所需的两组提升数据,输出给列提升器2S1和2S2,再将列变换中需缓存的中间数据输出给第一级读写缓存控制器22,然后从列提升器2S1和2S2的中间数据中分离出第一级小波变换系数C1;每个列控制信号包括一个列提升使能和一个边界拓展使能,其中:列提升使能的实现是:在对任一列提升器输入其所需的提升数据时,将该列提升器的提升使能设为有效;边界拓展使能的实现是:在当前列的上边界,当前列首次进行两步提升计算时,将提供给列提升器2S2的边界拓展使能设为有效,将提供给行提升器2S1的边界拓展使能设为无效;在下边界,当前列进行最后一次两步提升计算时,由输入图像的大小决定拓展,如果输入图像数据的行数是偶数,则将提供给列提升器2S1的边界拓展使能设为有效,将提供给列提升器2S2的边界拓展使能设为无效,如果输入图像数据的行数是奇数,则将提供给列提升器2S2的边界拓展使能设为有效,将提供给列提升器2S1的边界拓展使能设为无效。
所述列提升器2S1和2S2,其中任一列提升器对应的列提升使能有效时,该列提升器启动提升计算,此时若该列提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算,并将列提升器2S1和2S2计算得到的两组中间数据输出给第一级变换列提升控制器21。
所述第一级读写缓存控制器22,用于产生存储第一级列变换两步提升中间数据所需的2个写使能、2个写地址、2个读使能和2个读地址;并将第一级列变换两步提升的中间数据、2个写使能、2个写地址、2个读使能和2个读地址输出到中间缓存器6,再将取出的中间数据输出到第一级变换列提升控制器21。
参见图10,本实施例的时分复用行变换器3,包括行变换复用选择器31,多级变换行提升控制器32,两个结构相同的行提升器3S1、3S2和二三四级数据分离器33;
所述行变换复用选择器31,在第一、第二、第三级低频子带系数LL1、LL2和LL3中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换,并产生当前级标志信号,表示当前进行行变换的级数;选择当前级的上一级低频子带系数进行行变换的实现过程是:第一级低频子带系数LL1输入时,直接将其送入行提升器3S1和3S2进行第二级行变换;第二级低频子带系数LL2输入时,先将其存入中间缓存器6,等待第二级行变换结束后,再将其从中间缓存器6中取出,送入行提升器3S1和3S2进行第三级行变换;第三级低频子带系数LL3输入时,先将其存入中间缓存器6,等待第三级行变换结束后,再将其从中间缓存器6中取出,送入行提升器3S1和3S2进行第四级行变换。
所述多级变换行提升控制器32,根据当前级标志信号,产生当前级行变换的复用行第一控制信号Z1和复用行第二控制信号Z2,每个控制信号包括一个行提升使能和一个边界拓展使能,行提升使能和边界拓展使能的实现与第一级行变换器1中的实现相同。
所述两个行提升器3S1和3S2,其中任一行提升器对应的行提升使能有效时,该行提升器启动提升计算,此时若该行提升器对应的边界拓展使能有效,该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算。
所述二三四级数据分离器33,根据当前级标志信号,将两个行提升器3S1和3S2计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
参见图11,本实施例的时分复用列变换器4,包括:列变换复用选择器41,多级变换列提升控制器42,两个结构相同的列提升器4S1和4S2,二三四级输出分离器43和读写缓存控制器44;
所述列变换复用选择器41,用于实现如下功能:一是在第二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换;二是产生当前级标志信号,表示当前进行列变换的级数;三是将当前级需缓存的中间数据和当前级标志信号输出到读写缓存控制器44。
其中所述的选择当前级行变换系数进行列变换的实现过程为:在第二级行变换系数R2输入时,选择第二级行变换系数R2作为当前级的行变换系数,进行当前时刻的列变换;在第三级行变换系数R3输入时,先将其输出到读写缓存控制器44中进行缓存,当前一行的第二级行变换系数R2输入完毕后,将第三级行变换系数R3取出,作为当前级的行变换系数,进行当前时刻的列变换;在第四级行变换系数R4输入时,先将其输出到读写缓存控制器44中进行缓存,当前一行第三级行变换系数R3输入完毕后,将第四级行变换系数R4取出,作为当前级的行变换系数,进行当前时刻的列变换。
所述多级变换列提升控制器42,根据当前级标志信号,产生复用列第一控制信号W1和复用列第二控制信号W2,将这两个复用列控制信号和当前级列变换所需的两组提升数据分别输入给列提升器4S1和4S2,并将当前级列变换需缓存的中间数据输出给列变换复用选择器41,从列提升器4S1和4S2的中间数据中分离出当前级的小波变换系数,输出到二三四级输出分离器43。每个控制信号包括一个列提升使能和一个边界拓展使能,其中,列提升使能和边界拓展的产生过程与第一级列变换器2相同。
所述两个列提升器4S1和4S2,其中任一列提升器对应的列提升使能有效时,该列提升器启动提升计算,此时若该列提升器对应的边界拓展使能有效,则该行提升器将输入的数据先进行边界拓展,再进行提升计算,否则直接进行提升计算,列提升器4S1和4S2计算过程中得到的两组中间数据输出给多级变换列提升控制器42。
所述二三四级输出分离器43,根据当前级标志信号,将两个列提升器4S1和4S2计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4。
所述读写缓存控制器44,在第二、第三、第四级列变换中,产生存取每一级列变换两步提升中间数据所需的2个写使能、2个写地址、2个读使能和2个读地址;并将该级两步提升的中间数据、2个写使能、2个写地址、2个读使能和2个读地址输出到中间缓存器6,再将从中间缓存器6取出的中间数据输出到列变换复用选择器41。
参见图6,本实施例的小波系数分离器5与实施例1中的小波系数分离器5结构相同。
参见图12,本实施例的中间缓存器6,包括9个双端口存储器RAM,其中,RAM1和RAM2分别用于缓存第一级小波列变换两步提升的两组中间数据;RAM3和RAM4分别用于缓存第二级小波列变换两步提升的两组中间数据;RAM5和RAM6分别用于缓存第三级小波列变换两步提升的两组中间数据;RAM7和RAM8分别用于缓存第四级小波列变换两步提升的两组中间数据;RAM9用于缓存第二和第三级的低频子带系数LL2和LL3。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (9)
1.一种基于FPGA的多级复用小波变换器,包括:
第一级行变换器(1),用于对输入的原始图像数据进行第一级行变换;
第一级列变换器(2),用于对第一级行变换系数R1进行列变换,完成对第一级列变换所需中间数据在中间缓存器(6)中的存取;
小波系数分离器(5),用于对第一、第二、第三、第四级的小波系数C1、C2、C3、C4分别进行分离,得到每一级的低频子带系数LL、水平子带系数HL、垂直子带系数LH和对角子带系数HH;
所述中间缓存器(6),用于缓存各级列变换的中间数据,缓存第二和第三级的低频子带系数LL2和LL3;
其特征在于:还包括:
时分复用行变换器(3),用于进行行时分复用,即分别对小波系数分离器(5)分离出的第一、第二、第三级的低频子带系数LL1、LL2、LL3进行第二、第三、第四级行变换,得到第二、第三、第四级行变换系数R2、R3、R4,并将其输出到时分复用列变换器(4);
时分复用列变换器(4),用于进行列时分复用,即分别对第二、第三、第四级行变换系数R2、R3和R4进行列变换,完成对第二、第三、第四级列变换所需中间数据在中间缓存器(6)中的存取,并将经第二、第三、第四级列变换得到的第二、第三、第四级的小波系数C2、C3和C4输出到小波系数分离器(5)。
2.根据权利要求1所述的小波变换器,其特征在于所述的第一级行变换器(1),包括:第一级变换行提升控制器(11)和四个结构相同的行提升器1T1、1T2、1T3、1T4;
所述第一级变换行提升控制器(11),用于产生四个行提升器1T1、1T2、1T3和1T4的控制信号;
所述四个行提升器1T1、1T2、1T3和1T4,用于对输入的原始图像数据进行9/7小波的四步提升计算和边界拓展运算,得到第一级行变换系数R1。
3.根据权利要求1所述的小波变换器,其特征在于所述的第一级行变换器(1),包括: 第一级变换行提升控制器(11)和两个结构相同的行提升器1S1、1S2;
所述第一级变换行提升控制器(11),用于产生两个行提升器1S1和1S2的控制信号;
所述两个行提升器1S1和1S2,用于对输入的原始图像数据进行5/3小波的两步提升计算和边界拓展运算,得到第一级行变换系数R1。
4.根据权利要求1所述的小波变换器,其特征在于所述的第一级列变换器(2),包括:第一级变换列提升控制器(21),四个结构相同的列提升器2T1、2T2、2T3、2T4和第一级读写缓存控制器(22);
所述第一级变换列提升控制器(21),用于产生第一级列变换中四步提升计算所需的控制信号;
所述四个列提升器2T1、2T2、2T3和2T4,用于对第一级行变换系数R1进行9/7小波的四步提升计算和边界拓展运算;
所述第一级读写缓存控制器(22),用于控制第一级列变换中计算得到的中间数据在中间缓存器(5)中的存取。
5.根据权利要求1所述的小波变换器,其特征在于所述的第一级列变换器(2),包括:第一级变换列提升控制器(21),两个结构相同的列提升器2S1、2S2和第一级读写缓存控制器(22);
所述第一级变换列提升控制器(21),用于产生第一级列变换中两步提升计算所需的控制信号;
所述两个列提升器2S1和2S2,用于对第一级行变换系数R1进行5/3小波的两步提升计算和边界拓展运算;
所述第一级读写缓存控制器(22),用于控制第一级列变换中计算得到的中间数据在中间缓存器(6)中的存取。
6.根据权利要求1所述的小波变换器,其特征在于所述的时分复用行变换器(3),包括:行变换复用选择器(31),多级变换行提升控制器(32),四个结构相同的行提升器3T1、3T2、3T3、3T4和二三四级数据分离器(33);
所述行变换复用选择器(31),用于从第一、第二、第三级低频子带系数LL1、LL2和LL3 中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换并完成第二和第三级的低频子带系数LL2和LL3在中间缓存器中(6)的存取;
所述多级变换行提升控制器(32),用于产生四个行提升器3T1、3T2、3T3和3T4的控制信号;
所述四个行提升器3T1、3T2、3T3和3T4,用于将当前级的上一级低频子带系数进行9/7小波的四步提升计算和边界拓展运算,得到的当前级的行变换系数;
所述二三四级数据分离器(33),用于将四个行提升器3T1、3T2、3T3和3T4计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
7.根据权利要求1所述的小波变换器,其特征在于所述的时分复用行变换器(3),包括:行变换复用选择器(31),多级变换行提升控制器(32),两个结构相同的行提升器3S1、3S2和二三四级数据分离器(33);
所述行变换复用选择器(31),用于从第一、第二、第三级低频子带系数LL1、LL2和LL3中选择任一级的低频子带系数作为当前级的上一级低频子带系数,进行当前时刻的行变换并完成第二和第三级的低频子带系数LL2和LL3在中间缓存器(6)中的存取;
所述多级变换行提升控制器(32),用于产生两个行提升器3S1和3S2的控制信号;
所述两个行提升器3S1和3S2,用于将当前级的上一级低频子带系数进行5/3小波的两步提升计算和边界拓展运算,得到的当前级的行变换系数;
所述二三四级数据分离器(33),用于将两个行提升器3S1和3S2计算得到的行变换系数按级分离,得到第二、第三、第四级行变换系数R2、R3和R4。
8.根据权利要求1所述的小波变换器,其特征在于所述的时分复用列变换器(4),包括:列变换复用选择器(41),多级变换列提升控制器(42),四个结构相同的列提升器4T1、4T2、4T3、4T4,二三四级输出分离器(43),读写缓存控制器(44);
所述列变换复用选择器(41),用于从二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换,并将当前级需缓 存的数据输出到读写缓存器(44);
所述多级变换列提升控制器(42),用于产生当前级列变换各步提升所需的控制信号;
所述四个列提升器4T1、4T2、4T3和4T4,用于将当前级的行变换系数进行9/7小波的四步提升计算和边界拓展运算,得到当前级的中间数据和当前级小波系数;
所述二三四级输出分离器(43),用于将四个列提升器4T1、4T2、4T3和4T4计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4;
所述读写缓存控制器(44),用于控制第二、第三、第四级列变换的中间数据在中间缓存器(6)的读写操作。
9.根据权利要求1所述的小波变换器,其特征在于所述的时分复用列变换器,包括:列变换复用选择器(41),多级变换列提升控制器(42),两个结构相同的列提升器4S1、4S2,二三四级输出分离器(43),读写缓存控制器(44);
所述列变换复用选择器(41),用于从二、第三、第四级行变换系数R2、R3和R4中选择任一级的行变换系数作为当前级的行变换系数,进行当前时刻的列变换,并将当前级需缓存的数据输出到读写缓存器(44);
所述多级变换列提升控制器(42),用于产生当前级列变换各步提升所需的控制信号;
所述两个列提升器4S1和4S2,用于将当前级的行变换系数进行5/3小波的两步提升计算和边界拓展运算,得到当前级的中间数据和当前级小波系数;
所述二三四级输出分离器(43),用于将两个列提升器4S1和4S2计算得到的小波系数按级分离,得到第二、第三、第四级的小波系数C2、C3和C4;
所述读写缓存控制器(44),用于控制第二、第三、第四级列变换的中间数据在中间缓存器(6)的读写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310476968.7A CN103533357B (zh) | 2013-10-13 | 2013-10-13 | 基于fpga的多级复用小波变换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310476968.7A CN103533357B (zh) | 2013-10-13 | 2013-10-13 | 基于fpga的多级复用小波变换器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103533357A true CN103533357A (zh) | 2014-01-22 |
CN103533357B CN103533357B (zh) | 2016-08-03 |
Family
ID=49934972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310476968.7A Active CN103533357B (zh) | 2013-10-13 | 2013-10-13 | 基于fpga的多级复用小波变换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103533357B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135394A (zh) * | 2017-04-19 | 2017-09-05 | 西安电子科技大学 | 基于spiht标准的小波系数存取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7196641B2 (en) * | 2005-04-26 | 2007-03-27 | Gen Dow Huang | System and method for audio data compression and decompression using discrete wavelet transform (DWT) |
CN101267558A (zh) * | 2008-05-04 | 2008-09-17 | 西安电子科技大学 | Jpeg2000标准中基于码块的低存储编码器及其编码方法 |
-
2013
- 2013-10-13 CN CN201310476968.7A patent/CN103533357B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7196641B2 (en) * | 2005-04-26 | 2007-03-27 | Gen Dow Huang | System and method for audio data compression and decompression using discrete wavelet transform (DWT) |
CN101267558A (zh) * | 2008-05-04 | 2008-09-17 | 西安电子科技大学 | Jpeg2000标准中基于码块的低存储编码器及其编码方法 |
Non-Patent Citations (1)
Title |
---|
雷杰: "遥感图像编码算法及其硬件实现技术研究", 《信号与信息处理》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135394A (zh) * | 2017-04-19 | 2017-09-05 | 西安电子科技大学 | 基于spiht标准的小波系数存取方法 |
CN107135394B (zh) * | 2017-04-19 | 2019-07-23 | 西安电子科技大学 | 基于spiht标准的小波系数存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103533357B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3792789B2 (ja) | 符号化装置 | |
JP3693988B2 (ja) | 通信管理システム及び通信管理方法 | |
JP2000500936A (ja) | 大規模デジタル画像の記憶および検索機構 | |
CN101309417A (zh) | 用于处理图像数据的方法和设备 | |
JPH11163733A (ja) | 符号化方法および装置 | |
CN1717049A (zh) | 基于行的小波变换的vlsi结构 | |
US8594427B2 (en) | Method and apparatus for reducing memory capacity in encoding image data | |
US8204331B2 (en) | Information processing apparatus and method to reduce delay in image decoding | |
CN103179389A (zh) | 图像处理设备和图像处理方法 | |
CN109168005A (zh) | 一种提高存储效率的二维离散小波变换结构设计方法 | |
CN103533357B (zh) | 基于fpga的多级复用小波变换器 | |
Jeengar et al. | A review comparison of wavelet and cosine image transforms | |
US8249375B2 (en) | Information processing apparatus and method | |
CN110365990A (zh) | 一种窄带准无损视频编码系统 | |
Tabra et al. | FPGA implementation of new LM-SPIHT colored image compression with reduced complexity and low memory requirement compatible for 5G | |
Kefalas et al. | Low-memory and high-performance architectures for the CCSDS 122.0-B-1 compression standard | |
CN103179392A (zh) | 图像处理设备以及图像处理方法 | |
KR100771153B1 (ko) | 이산 웨이블릿 변환 장치 및 그 방법 | |
Tabra et al. | Determination of FPGA Implementation of New LM-SPIHT Colored Image Compression with Reduced Complexity and Low Memory Requirement Compatible for 5G | |
Mhamunkar et al. | Design and implementation of generic 2-D biorthogonal discrete wavelet transform on FPGA | |
Hsieh et al. | A novel efficient VLSI architecture of 2-D discrete wavelet transform | |
Jayachandranath et al. | A High-Performance VLSI Architecture for Image Compression Technique Using 2-D DWT | |
Kumar | Design of 2-D DWT VLSI Architecture for Image Processing | |
Guo et al. | Comparison and analysis of the compression algorithm based on DCT and DWT warehousing image | |
Vijayakumar et al. | Design and FPGA Implementation of High Speed DWT-IDWT Architecture with Pipelined SPIHT Architecture for Image Compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220927 Address after: Building A5, CLP Software Park, No. 18, Jianshan Road, High-tech Zone, Changsha City, Hunan Province, 410205 Patentee after: HUNAN RONGCHUANG MICROELECTRONIC Co.,Ltd. Address before: 710071 No. 2 Taibai South Road, Shaanxi, Xi'an Patentee before: XIDIAN University |
|
TR01 | Transfer of patent right |