提升小波的学习笔记

来源:互联网 发布:ubuntu 飞秋 编辑:程序博客网 时间:2024/04/29 22:57
from:http://www.blog.edu.cn/user2/lavily/archives/2006/1241229.shtml

提升样式(lifting scheme),叫做提升方案.
    
      小波变换是现在研究的比较多的时(空)频域分析理论,离散的小波变换(DWT)的快速算法时最近研究的热点.Swelden提出的一种不依赖于傅立叶变换
的新的小波构造方案-----lifting scheme,其复杂度只有原来卷积方法的一半左右,因此成为计算离散小波变换的主流方法.
      其实lifting scheme就是为了构造第二代小波,使得不像第一代小波那样构造,非常依赖Fourier变换.同时已经证明了提升方式可以实现所有的第一代小波变换.
      提升方式的特点:
1. 继承了第一代小波的多分辨率的特性
2. 不依赖傅立叶变换
3.不占用系统内存
4.反变换很容易从正变换得到,只是改变了数据流的方向和正负号
     正因为小波提升样式由于其计算速度快,占用内存少,可以实现整数变换等等特点所以被JPEG 2000所推荐作为小波变换,是JPEG 2000里面的核心算法.其通过预测和更新两个提升环节实现信号的高低频分离,由于信号有局部相关性,
某一点的信号值可以通过其相邻的信号的值通过适当的预测算子预测出来,同时预测出来的误差就是高频的信息,从而这个过程就是预测环节.预测环节下面得到的
高频信息又通过更新算子来调整信号的下抽样来得到低频信息,这个过程就是更新环节,在整个的提升算法中,更新环节叫做primary
lifting,而预测环节叫做dual lifting.
   实际上,小波提升的核心就是更新算法和预测算法,通过预测算法可以得到高频信息,而通过更新算子可以得到正确的低频信息.提升样式可以实现原位计算和整数提升,并且变换的中间结果是交织排列的.其中原位计算和整数提升在硬件实现中很有价值.
原位计算
       提升样式中一个很大的特点就是进行小波变换的时候在原位计算各个系数.原位计算,只是占用了跟输入大小相同的空间,不需要其他的辅助空间.
整数提升
       在传统的小波变换算法中(即Mallat算法),采取了输入信号与高通和低通滤波器相卷积的方法来实现高频和低频信息的分离.但是小波滤波器的系数都是小 数,中间结果中有一些是小数,如果对小数进行取整,会丢失很多信息,使得重构和分解是不可逆,从而无法实现精确重构.但是在提升方案中,可以进行整数变 换,并且整数变换是不影响精确重构.
分解结果交织
下面就一维信号进行分解为例:
             
X进行第一级分解,低频信息在奇数上面,高频在偶数上面,进行第二级分解,对第一级的低频信息进行分解,分解的结果则是在奇数数据中的奇数位数为低频信
息,偶数位数为高频信息.
算法 Algorithm
    变换算法
 while(true) do
{
     for each odd sample do
          odd=odd+Conv(-P,even)
    endfor
    for each even sample do
         even=even+Conv(U,odd)
    endfor
    if completed then
       break
   endif
}
反变换算法
while(true) do
{
   for each scale coefficient do
      Cs=Cs+Conv(-U,Cw)
   endfor
   for each wavelet coefficient do
     Cw=Cw+Conv(P,Cs)
   endfor
   if completed then
      break
   endif
}

 
原创粉丝点击