著录项信息
专利名称 | 内在并行的二维离散小波变换的VLSI结构设计方法 |
申请号 | CN03114602.3 | 申请日期 | 2003-04-07 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2003-10-15 | 公开/公告号 | CN1448871 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 西安交通大学 | 申请人地址 | 陕西省西安市咸宁路28号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 西安交通大学 | 当前权利人 | 西安交通大学 |
发明人 | 兰旭光;郑南宁;周宁;梅魁志 |
代理机构 | 西安通大专利代理有限责任公司 | 代理人 | 李郑建 |
摘要
本发明公开了一种二维离散小波变换基于提升算法内在并行的VLSI结构的设计方法,通过移位加技术将滤波器中的乘法操作变为移位寄存器和加法器的操作,大大减少了运算量,节省了硬件资源和开销;通过行缓存技术,将行、列滤波连接并使其同时进行,节省了大量的存储空间;通过延迟寄存器技术实现流水线处理,加快了硬件处理速度,提高硬件的利用率;通过统一对称扩展技术使得本发明具有通用性;本发明是一种具有多种优点的高效2-D DWT硬件实现方案。通过对二维离散小波变换行滤波和列滤波的优化设计,使硬件的利用率达到100%,在一个工作时钟内有两个输出,实现了并行性,却没有增加硬件开销,得到的硬件结构也非常简单,非常易于VLSI的实现。
1.一种内在并行的二维离散小波变换的VLSI结构设计方法,其特征在 于,包括以下内容:
1)通过“移位加”技术将滤波器中的乘法操作变为移位寄存器和加法器 的操作;
2)通过“行缓存”技术,将行方向、列方向滤波变换在一个紧凑的硬件 结构中实现并行;
3)通过“延迟寄存器”技术,实现流水线结构;
4)通过统一的“边界对称扩展”技术使得此滤波器结构具有通用性;
所述“移位加”技术是:
一个实数乘以2的n次幂,等价于将这个实数左移n位,一个实数与一 个小波滤波器系数的乘积就由实数的有限个移位的和来表示;
所述“行缓存”技术是:
把离散小波变换的行方向的滤波中间结果,存入行缓存阵列中,当达到 一定的行数,列方向的滤波就可以从行缓存中读取数据,进行列方向的滤波 变换,在一个时钟内可同时执行行、列滤波变换的操作,实现并行操作;或 者把离散小波变换的列方向的滤波中间结果,存入列缓存阵列中,当达到一 定的列数,行方向的滤波就可以从列缓存中读取数据,进行行方向的滤波变 换,在一个时钟内可同时执行列、行滤波变换的操作,实现并行操作;
所述“延迟寄存器”技术是:
二维离散小波变换的行、列滤波器设计,采用流水线方法,通过延迟寄 存器缓存输入和计算过程中的数据,使得滤波器连续处理;
所述统一的“边界对称扩展”技术是:
基于提升算法的离散小波变换中,边界要进行扩展,以使得图像获得准 确的重构,设计时把行或列开始索引统一为零,然后根据扩展原理,把扩展 点数统一为所有滤波器类型中最大的对称扩展点数。
一、所属技术领域\n本发明属于VLSI设计技术领域。具体涉及到在JPEG2000硬件实现中,设 计出一种内在并行、高效的基于提升算法的二维离散小波变换的VLSI结构设计 方法。\n二、背景技术\n2D-DWT硬件结构具有良好的时频分析特性使其在很多实际系统中得到应 用,如Jpeg2000标准的编码系统及视频处理等,考虑到速度和面积的要求,需 要用芯片实现压缩系统。目前已有的2-D DWT芯片结构中,大部分结构对于快 速离散小波变换两个阶段(行滤波和列滤波)的结构设计完全一样,这样虽然 减小了控制复杂度,但行滤波的中间结果的存储需要大量的存储空间,这样不 但减小了硬件利用率,而且增加了硬件资源的消耗和芯片成本,限制了芯片处 理数据的速度。\n三、发明内容\n根据上述背景技术中存在的缺陷和不足,本发明的目的在于,提供一种硬 件利用率高、成本低,具有并行性、硬件开销小、结构简单的2-D DWT的内在 并行的二维离散小波变换基于提升算法的VLSI结构的设计方法。\n为达到上述目的,本发明采用的解决方案是:内在并行的二维离散小波变 换的VLSI结构设计方法,按以下方式进行:\n1)通过“移位加”技术将滤波器中的乘法操作变为移位寄存器和加法器的 操作;\n2)通过“行缓存(LineBuffer)”技术,使得高通、低通滤波器,行方向、 列方向滤波变换在一个紧凑的硬件结构中实现并行操作,减少了存储空间,节 省了硬件资源的开销,增加硬件的利用率和处理速度;\n3)通过“延迟寄存器”技术,实现Pipeline思想,使得结构优化,提高了 处理速度。\n4)通过统一的“边界对称扩展”技术使得此滤波器结构具有通用性。\n所述移位加技术是,一个实数乘以2的n次幂,等价于将这个实数左移n 位;而任意一个小波滤波器系数都可以由有限个2的整数次幂的和表示;这样, 一个实数与一个小波滤波器系数的乘积就可以由这个实数的有限个移位的和来 表示。\n所述“行缓存”技术是:把离散小波变换的行方向(或列方向)的滤波中 间结果,存入行(或列)缓存阵列(Line Buffer Array)中,当达到一定的行数 (或列数)(实施例中不超过9行),列方向(或行方向)的滤波就可以从行(或 列)缓存中读取数据,进行列(或行)方向的滤波变换,这样,当离散小波行 变换开始后,列(或行)方向的滤波就可以开始了。在一个时钟内可同时执行、 列滤波变换的操作,实现了行、列方向滤波变换的并行性。行缓存阵列的大小, 是根据Lifting算法和对称扩展的个数确定的。\n所述“延迟寄存器”技术是:在设计二维离散小波变换的行、列滤波器时, 为了提高硬件处理速度,采用流水线思想,通过延迟寄存器缓存输入和计算过 程中的数据,使得滤波器可以连续处理和输出数据,这样,使得硬件资源得到 充分的利用。\n所述统一“边界对称扩展”技术是:在基于提升算法的离散小波变换中, 边界要进行扩展,以使得图像获得准确的重构。在Jpeg2000标准规定中,提升 算法对于不同长度的小波滤波器有不同的扩展点数,根据对称扩展原理,使得 扩展具有通用性,这样在Jpeg2000标准推荐中的5/3和9/7可以采用统一的扩 展,使得滤波器结构具有通用性。\n本发明是一种具有多种优点的高效2-D DWT硬件实现的设计方案。通过对 离散小波变换行滤波和列滤波的优化设计,硬件利用率达到100%,实现了行、 列滤波变换的并行性,用移位加操作取代乘法操作,使得运算量大大减少,而 且没有增加硬件开销,得到的硬件结构也非常简单,非常易于VLSI的实现。\n图1是本发明实施例乘法操作改为移位加操作结构图。\n图2是本发明实施例的二维离散小波变换基于提升算法的VLSI实现的体系 结构图。\n图3是本发明实施例行、列滤波变换的结构框图。\n图4是本发明实施例行方向滤波的结构框图。\n图5是本发明实施例列方向滤波的结构框图。\n五、具体实施方式\n下面结合附图和实施例对本发明进一步详细说明,但本发明不限于这个实 施例。\n按照本发明的技术方案,发明人给出了本发明的实施例。在本实施例中使 用的是JPEG2000标准中的一组双正交小波滤波器——DAUBECHIES 9/7双正 交小波。\n在本实施例中,首先通过通用的“移位加”技术将滤波器中的乘法操作用 移位寄存器和加法器实现。在运算过程中,采用定点数计算,后13位为小数, 数据宽度为24位。\n通过“移位加”技术,本实施例把乘法改为移位加操作。鉴于二维离散小 波变换的滤波器的系数是固定的,这样使得设计更为优化。基于提升算法的二 维离散小波变换核心是对奇数点的预测和对偶数点的更新;即(D9/7的提升算 法),现说明step1:\nstep1:Y(2n+1)=Xext(2n+1)+α×(Xext(2n)+Xext(2n+2))i0-3≤2n+1<i1+3\n其中i0,(i1-1),分别表示输入一行(或列)数据的开始索引和最后索引。\n滤波器系数用二进制表示如下:\nα=-1.586134342=-1.1001011000001\n =-(1+1/2+1/16+1/64+1/128+1/8192);\n在图1中,是本实施例中的,先把因为α为负值,所以先取Num的补码,\n Num=~Num+1;则有\n α×Num=Num+Num>>1+Num>>4+Num>>6+Num>>7+Num>>13,即把乘 法操作优化为移位加操作。其它系数均作同样的处理。本实施例中用补码来表 示负数;\n在图2中,给出了本实施例的基于提升算法VLSI实现的总的体系结构图。 控制单元是根据当前分解级数和所要求的小波分解级数来判断是否进行下一级 小波分解,并且控制变换输入的数据。行扩展模块是对输入进行扩展,行变换 模块是对扩展后的数据进行滤波处理。行缓存模块(Line Buffer Array)是存放一定 数量的行变换结果,以实现行列变换的并行。列变换是从行缓存中读出数据进 行列滤波处理,地址生成单元根据列滤波输出结果产生分配地址,并把当前小 波分解的系数写入存储模块。按此体系结构,不但可以使行和列方向内的高通 滤波和低通滤波实现并行,并且可以使行、列方向滤波变换实现并行。\n这里的内在并行性,指的是在没有增加硬件成本的基础上,实现了实际的 并行处理,包括行方向和列方向内的高通、低通滤波以及行列方向同时进行滤 波。每一个工作时钟内,产生两个输出。\n在图3中,给出了本实施例的行方向、列方向的综合滤波,这样可以实现 行方向和列方向的滤波变换并行进行。\n在图4中,给出了本实施例的行方向滤波变换结构。利用延迟寄存器把输 入分为偶数点和奇数点,进入α模块,把偶数点相加然后与滤波器系数相乘(优 化为移位加操作),再与奇数点相加,利用Pipeline寄存器实现流水线处理。接 着与α模块相同的处理方式,把前一模块的输出分为奇数点和偶数点,依次进入 β、γ、δ模块。随着数据的连续输入,行滤波器连续处理。这样可以充分利用 硬件,使其利用率达到100%。而且控制非常简单,只是利用几个延迟寄存器 (DFF)即可实现滤波的连续处理。行滤波的结果存入Line Buffer阵列中,本 实施例,采用了11条Line Buffer,位宽位24位,长度为图像宽度,256。之所 以用11条,是为了实现行变换和列变换并行进行,这样就大大节省了存储行变 换中间结果的Memory空间,使得硬件更为紧凑,减少面积的同时提高了运算 速度,也符合芯片设计思想。从结构中可以看到,D9/7双正交小波滤波器的行 滤波变换只需要8个Pipeline寄存器,6个延迟寄存器,8个加法器和4个移位 寄存器就可以实现。由于移位寄存器可以用线与来实现,所以移位寄存器基本 上没有增加硬件的开销。与传统方法相比,此结构极大地减小了硬件的开销和 结构的复杂度。\n在图5中,给出了本实施例列滤波阶段的结构。列滤波结构的设计与行滤 波阶段不同。因为,行滤波只有变换一定的数目时才能进行列滤波,本实施例 不超过9行。而列率波处理的数据是来自行滤波的结果,所以当列变换所需的 数据数满足时,即可开始列滤波,(数据数的大小根据提升算法和对称扩展个数 而取),本实施例中是从第五行开始就可以进行列滤波(先对称扩展,扩展后为 9行)。为了加快列滤波的处理速度,以免数据在Line Buffer Array中产生堆积, 在一个时钟从Line Buffer Array中读出9个数据,进行列变换处理,同时行变换 的结果继续存入Line Buffer中,读出和写入Line Buffer阵列是同时进行的。9 个数据依次进入4个模块,最后一个时钟输出两个数据,分别是LL、LH,或者 是HL、LH。根据输出数据,产生相应的地址,写入存储器中。从结构图中可以 看出,列滤波需要8个Pipeline寄存器,1个延迟寄存器,19个加法器和10个 移位加操作,加速了硬件处理速度。同时读出9个数据,使得处理速度大大提 高。这样就实现了行变换和列变换的并行处理。\n在本实施例中,通过统一的“对称扩展”技术,使得扩展具有通用性。对 称扩展的点数是根据滤波器的类型和一行(列)数据的开始索引和最后索引的 奇偶性来扩展的。设计时把行(列)开始索引i0统一为零,然后根据扩展原理, 把扩展点数统一为所有滤波器类型中最大的对称扩展点数。
法律信息
- 2013-06-05
未缴年费专利权终止
IPC(主分类): G06F 17/50
专利号: ZL 03114602.3
申请日: 2003.04.07
授权公告日: 2005.02.02
- 2005-02-02
- 2003-10-15
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |