ABOUT 提升小波
第一代小波:小波基是由定义在空间上的函数二进伸缩平移的生成。其有若干局限性,如小波结构依赖于傅里叶变换,仅适用规则采样数据等。W。Sweldens(1994)等人认为,第一代小波的局限主要是伸缩平移不变性引起的,故提出一种不依赖傅里叶变换的新的双正交小波的构造方法——提升法(liftingscheme)。这种方法当然是保留了小波特性,同时又克服了原有的局限性;其主体思想是:始于非常简单的MRA,然后向具有某一特性的MRA逐渐逼近(提升)。提升方法可以快速实现,可在当前位置上进行变换,人们称提升方法为第二代小波。
转载的一篇文章:
小波变换是现在研究的比较多的时(空)频域分析理论,离散的小波变换(DWT)的快速算法时最近研究的热点。Swelden提出的一种不依赖于傅立叶变换的新的小波构造方案-----liftingscheme,其复杂度只有原来卷积方法的一半左右,因此成为计算离散小波变换的主流方法。
其实liftingscheme就是为了构造第二代小波,使得不像第一代小波那样构造,非常依赖Fourier变换。同时已经证明了提升方式可以实现所有的第一代小波变换。
提升方式的特点:
1.继承了第一代小波的多分辨率的特性
2.不依赖傅立叶变换
3.不占用系统内存
4.反变换很容易从正变换得到,只是改变了数据流的方向和正负号
正因为小波提升样式由于其计算速度快,占用内存少,可以实现整数变换等等特点所以被JPEG2000所推荐作为小波变换,是JPEG2000里面的核心算法。其通过预测和更新两个提升环节实现信号的高低频分离,由于信号有局部相关性,某一点的信号值可以通过其相邻的信号的值通过适当的预测算子预测出来,同时预测出来的误差就是高频的信息,从而这个过程就是预测环节。预测环节下面得到的高频信息又通过更新算子来调整信号的下抽样来得到低频信息,这个过程就是更新环节,在整个的提升算法中,更新环节叫做primary
lifting,而预测环节叫做dual lifting。
实际上,小波提升的核心就是更新算法和预测算法,通过预测算法可以得到高频信息,而通过更新算子可以得到正确的低频信息。提升样式可以实现原位计算和整数提升,并且变换的中间结果是交织排列的。其中原位计算和整数提升在硬件实现中很有价值。
原位计算
提升样式中一个很大的特点就是进行小波变换的时候在原位计算各个系数。原位计算,只是占用了跟输入大小相同的空间,不需要其他的辅助空间。
整数提升
在传统的小波变换算法中(即Mallat算法),采取了输入信号与高通和低通滤波器相卷积的方法来实现高频和低频信息的分离。但是小波滤波器的系数都是小数,中间结果中有一些是小数,如果对小数进行取整,会丢失很多信息,使得重构和分解是不可逆,从而无法实现精确重构。但是在提升方案中,可以进行整数变换,并且整数变换是不影响精确重构。
分解结果交织
下面就一维信号进行分解为例:
X进行第一级分解,低频信息在奇数上面,高频在偶数上面,进行第二级分解,对第一级的低频信息进行分解,分解的结果则是在奇数数据中的奇数位数为低频信息,偶数位数为高频信息。
算法 Algorithm
变换算法
while(true) do
{
for each odd sample do
odd=odd+Conv(-P,even)
endfor
for eacheven sample do
even=even+Conv(U,odd)
endfor
if completedthen
break
endif
}
反变换算法
while(true) do
{
for each scale coefficientdo
Cs=Cs+Conv(-U,Cw)
endfor
for each wavelet coefficientdo
Cw=Cw+Conv(P,Cs)
endfor
if completed then
break
endif
}作者: yuchengze 时间: 2016-8-20 10:08