一种基于随机阈值调整的EZW数据压缩方法与流程

文档序号:18027944发布日期:2019-06-28 22:20阅读:290来源:国知局
一种基于随机阈值调整的EZW数据压缩方法与流程

本发明涉及一种基于随机阈值调整的ezw数据压缩方法,属于分布式电源并联运行控制技术领域。



背景技术:

图像展现的信息具有显而易见,直观,明了的特点,能够很好地表现出人们看到的信息。然而图像包含的信息量很大,使得图像信息占用很大的存储空间,增加了信息获取的成本,现如今是网络高速发展的时代,大量的信息冗余已经不能满足人们对获取信息速度的要求。在这样的时代环境下,图像压缩成为人们解决问题的重要方向。如遥感图像、医学图像、气象云图、数字电视等领域具有广泛的应用。图像的压缩处理过程中难免会存在失真,基于小波变换的图像压缩编码方法不仅能够很好地消除图像数据中的统计冗余,而且还能都很好地反应图像的轮廓和细节信息。ezw可以根据图像质量和压缩率的要求控制编解码过程,随着接收比特的增加,重构图像的细节越多,质量会越来越好。但是大量的扫描将会加大编码的时间,这也必然会降低编码效率。

多级树集合分裂排序(setpartitioninginhierarchicalthrees,spiht)算法,利用了空间方向树、非直系子孙集合l(i,j)和所有子孙集合d(i,j)的概念,更有效地表示了系数结构,编码效率比ezw有了较大地提高。但是在低比特率的情况下,会导致解码恢复的图像失真程度更高。改进的spiht算法去除了spiht算法中的3个有序表,更易于硬件实现。但是压缩质量有所下降,信噪比会有所下降。



技术实现要素:

本发明要解决的技术问题是:提供一种基于随机阈值调整的ezw数据压缩方法,以解决上述现有技术中存在的问题。

本发明采取的技术方案为:

一种基于随机阈值调整的ezw数据压缩方法,该方法包括对图像进行小波编码的步骤为小波变换、量化、编码,解码过程与之相反,对图像扫描编码时,首先计算初始阈值,然后进行ezw编码,编码算法的迭代过程如下:

1)判断路径上的系数绝对值是否大于阈值t,如果大于t转第2)步,否则转第5)步;

2)判断路径上系数是否为正,是转第3)步,否转第4)步;

3)将刚判断位置上的系数替换为0,标为p,转第6)步;

4)将刚判断位置上的系数替换为0,标为n,转第6)步;

5)如果是孤立零,标记iz;如果是零树根,则将该位置上的数替换为0,标记ztr,转第6)步;

6)将标记了p、n的位置按顺序进行编码,如果系数绝对值在[t,t+t/2]区间上则编码为0,如果系数绝对值在[t+t/2,2t]区间上则编码为1,将本次迭代所用的t、标记序列、编码序列保存以备解码时用,最后转第7)步;

7)将阈值t替换为t/2,如果t大于或等于设定的最小阈值,转第1)步,否则结束。

初始阈值:

式中:cmax表示最大系数绝对值。

编码结束后采用参数峰值信噪比和压缩比进行评价:

参数峰值信噪比(psnr)定义如下:

其中mse(·)表示某颜色分量的均方差,如rgb模式中k为3,即红、绿、蓝三分量的均方差之和,灰度模式中k为1;

压缩比(cr)的计算公式为:

cr=(1-nz)×100%(20)

其中,nez:零的个数;nwc:小波系数个数。

设小波系数矩阵为上标1表示此为第1次ezw编码时的系数,下标1表本轮未编码的矩阵,下标p、q表示此矩阵有p行q列,矩阵中各元素为i、j取值范围分别为[1,p]、[1,q],定义算符abs(·)作用于一个矩阵时,表示对矩阵的每一个元素取绝对值,有:

定义算符sign(·)为对矩阵中每个元素取符号运算,有

第1轮编码时阈值为t1,定义算符subb(·,t)为矩阵中每个元素减去t,有

为第一轮编码时向解码器传递的解码信息,是将阈值除以2作为下一轮编码的阈值。

编码过程中每次更新阈值除以2时,给2加上一个0到1以内随机数,具体以式(25)方式调节阈值:

本发明的有益效果:与现有技术相比,本发明随机调整判断小波系数重要性的阈值,让阈值在小范围内随机取值,使图像在保证还原质量的同时提高压缩比,针对同一张图片,在不同的范围内随机取阈值进行编码,压缩比有所提高,并且失真的压缩图像还原效果较好,虽然峰值信噪比有一定程度的下降,但影响不大。

附图说明

图1是子空间关系图;

图2是分解与重构过程图;

图3是嵌入式零树小波扫描顺序图;

图4是ezw编码流程图;

图5是待处理原图;

图6是算法编码解码流程图;

图7是处理图片后实验结果图。

具体实施方式

下面结合附图及具体的实施例对本发明进行进一步介绍。

嵌入式零树小波原理:多分辨率分析与小波变换,设x∈r,f:x→r且ψk(x):x→r是线性无关的函数系,则f(x)可表示为:

其中,ak是展开系数,称v为函数系{ψk(x)}的张成空间:

例如,以整数平移和实数二值尺度、平方可积函数ψk组成展开函数集合{ψj,k(x)}:

一维函数的小波正、逆变换公式分别如下:

其中cψ满足容许条件,式(3)是求展开系数的过程,而式(4)是求张成函数空间中的一个函数。设函数系{ψj,k(x)}是以整数平移和实数二值尺度、平方可积函数ψk∈l2(r)组成的展开函数集合。小波变换中,取

ψj,k(x)=2j/2ψ(2jx-k)(5)

其中,ψ(x)∈l2(r),j,k∈z,若给式(5)中的j赋予一个给定的值,如j=j0,展开集合将是{ψj,k(x)}的一个子集,并且没有跨越l2(r),可表示一个子空间vj0:

由此,可定义代表任何j,k上的跨度子空间的一般化表达形式为:

vj的大小随着j增加,具有变化较小的变量或细节函数可包含在子空间中,此即多分辨率分析的数学基础。

当x∈rn时,以上原理及表示方法可以类推。图像数据为n=2时的情况,当把图像数据视为可分离的二维离散数据时,可表示为:

φ(x,y)=φ(x)φ(y)(8)

其中φ(x)是一维尺度函数,定义ψ(x)为小波函数,则可建立二维小波变换基础的三个二维基本小波:

尺度函数φ(x)可看作低通滤波器,小波函数ψ(x)即为同一层的高通滤波器。且函数集为l2(r2)下的规范正交基,表示为:

lj,m,n(x,y)}={2jψl(x-2jm,y-2jn)}(10)

其中,j≥0,l=1,2,3,j、l、m、n为整数。

在变换的每一层,图像被分解为四个四分之一大小的图像,其均由原图像与一个小波基内积后经过x和y方向作二倍间隔采样产生。第一层(j=1)小波变化可写成:

对于后继层次(j>1)的变化,在每个层进行四个相同的间隔采样滤波操作。

二维离散数据的小波正、逆变换公式如式(12)、式(13)所示:

上两式中,i变化时代表水平、垂直、对角线方向的值,定义了在尺度j0上f(x,y)的近似值,系数附加了水平、垂直、对角线方向的细节。

图像数据的多分辨率分析中主要涉及到尺度函数和小波函数的分解应用,将原信号(函数)先按照尺度函数张成各个分辨率下的函数子空间(v),这些子空间的信号即提供了原始信号的一个近似值,另外再通过小波函数张成相邻分辨率下子空间的差异部分(w),即提供原始信号的细节部分,关系如图1所示,表达式为式(16)所示

从v0逐级分解到v1、w2,再到v2、w2,用mallat算法实现的表达式为(15)、(16):

其重构过程为:

具体分解过程及重构过程如图2所示。

一种基于随机阈值调整的ezw数据压缩方法,该方法包括对图像进行小波编码的步骤为小波变换、量化、编码,解码过程与之相反,,图像经过小波变换之后,低频子带数据值比较大。ezw中嵌入式编码就是按照这种信息重要程度的先后次序来精确控制码率。在对原始信号分解分析过程中,v空间的信号便是通过低通滤波器(l)得到粗尺度下的近似信号部分,当要对某一部分信号细节进行分析,则通过高通滤波器(h)进一步获取细尺度下w空间中细节部分的信号。以一维为例,一个原始信号便可分解为ll1、hl1、lh1、hh1四个部分。嵌入式零树小波编码过程中,采用z字顺序扫描。如图3所示,对图像扫描编码时,首先计算初始阈值,然后进行ezw编码,编码算法的迭代过程如下:

1)判断路径上的系数绝对值是否大于阈值t,如果大于t转第2)步,否则转第5)步;

2)判断路径上系数是否为正,是转第3)步,否转第4)步;

3)将刚判断位置上的系数替换为0,标为p,转第6)步;

4)将刚判断位置上的系数替换为0,标为n,转第6)步;

5)如果是孤立零,标记iz;如果是零树根,则将该位置上的数替换为0,标记ztr,转第6)步;

6)将标记了p、n的位置按顺序进行编码,如果系数绝对值在[t,t+t/2]区间上则编码为0,如果系数绝对值在[t+t/2,2t]区间上则编码为1,将本次迭代所用的t、标记序列、编码序列保存以备解码时用,最后转第7)步;

7)将阈值t替换为t/2,如果t大于或等于设定的最小阈值,转第1)步,否则结束。

ezw编码流程图如图4所示。

初始阈值:

式中:cmax表示最大系数绝对值。

编码结束后通过对比处理后的图片效果、峰值信噪比(psnr)、比特率(bitrate)率以及压缩比(cr)来进行判断改进的合理性及有效性。因为阈值的小范围增加,预计编码数据个数会有所减少,因而压缩比会有所提高,编码结束后采用参数峰值信噪比和压缩比进行评价:

参数峰值信噪比(psnr)定义如下:

其中mse(·)表示某颜色分量的均方差,如rgb模式中k为3,即红、绿、蓝三分量的均方差之和,灰度模式中k为1;

压缩比(cr)的计算公式为:

cr=(1-nz)×100%(20)

其中,nez:零的个数;nwc:小波系数个数。

设由式(12)、(13)、(15)、(16)原理所得的小波系数按图3所示格式组成的小波系数矩阵为上标1表示此为第1次ezw编码时的系数,下标1表本轮未编码的矩阵,下标p、q表示此矩阵有p行q列,矩阵中各元素为i、j取值范围分别为[1,p]、[1,q],定义算符abs(·)作用于一个矩阵时,表示对矩阵的每一个元素取绝对值,有:

定义算符sign(·)为对矩阵中每个元素取符号运算,有

第1轮编码时阈值为t1,定义算符subb(·,t)为矩阵中每个元素减去t,有

为第一轮编码时向解码器传递的解码信息,是将阈值除以2作为下一轮编码的阈值。

编码过程中每次更新阈值除以2时,给2加上一个0到1以内随机数,具体以式(25)方式调节阈值:

式中:α是给随机数乘的一个控制范围的值(分别取的0、0.1、0.5、1、1.5);rand(.)是求的一个0到1范围的随机数。

实验验证:

实验过程中所用到的数据原图如图5所示,对其分别通过嵌入式零树小波编码以及本文所提出的改进算法进行编码。算法流程如图6所示:

对比峰值信噪比(psnr)、比特率(bitrate)率以及压缩比(cr)得出实验数据如表1所示。

表1实验结果

从上表结果可以看出,当α增加时,cr增加,但是bitrate与psnr在降低,为了取舍合适的因子α,这里定义一个性能评价函数s:

s=100·bitrate×λ+psnr×ρ+cr×σ,(λ+ρ+σ=1)(26)

其中λ、ρ、σ分别为参数bitrate、psnr、cr所乘的比例系数,其大小对应于各个参数在性能评价时所占重要程度,三个比例系数的和为1。当s取值最大时,认为此时的效果是令人最满意的,对应于不同α值的s值列于表1最后一列。处理后的图像效果如图7所示。

从实验数据和处理后的图像对比结果发现,压缩后的图像能基本还原。当α=0时,数据即ezw方法处理的结果,随着α的增大,最终还原的图像失真越大,同时psnr呈现小幅度下降,但因为α值的改变,阈值会在一定范围内变大,导致标记为零的系数更多,即nez的值增大,从而使cr呈明显增大趋势。不过从整体效果来看,虽然cr增大,但压缩效果所受影响较小,并且被还原的图像仍然保留了原图像的主要特征,失真不大,说明了在本发明的方法中,通过性能评价函数选取的α值不仅可以有效的提高压缩比,还能保证最终压缩效果。此外,由于本发明所提方法是针对数据压缩,所以对压缩比值增大的需求更大,因此在本发明的性能评价函数中cr值所乘比例系数σ取值更大,λ、ρ、σ分别取值0.3、0.3、0.4,最后综合性能评价函数判断,当α=0.1时效果最佳。综上所述,通过在每次扫描更新阈值时加上一个α倍(0,1)范围内随机数的方法可以在提高压缩率的同时保证压缩效果,对数据压缩有较好的作用。

结论:在提高压缩比的同时尽可能减小失真,我们尝试在阈值的选择上进行相关处理。主要方法是基于嵌入式小波零树编码(ezw)算法,对其编码过程中的阈值在一定范围内随机取值进行编码,并根据实验结果得出α=0.1时效果最佳。虽然psnr有一定下降,但从图像效果来看,失真不大。因此表明了本文所提方法的合理性与有效性,适用于工程应用中。

本发明能够实现在提高压缩比的同时尽可能减小失真,提出随机改变阈值的ezw算法。主要手段是基于嵌入式零树小波编码(ezw)算法,随机调整判断小波系数重要性的阈值,让阈值在小范围内随机取值,使图像在保证还原质量的同时提高压缩比。因为阈值作为判断节点重要性的值,在整个编码解码过程中,对最终图像压缩以及还原的效果一定有着关键的影响。将算法代码用于实际处理中,针对同一张图片,在不同的范围内随机取阈值进行编码,实验结果表明压缩比有所提高,并且失真的压缩图像还原效果较好,虽然峰值信噪比有一定程度的下降,但影响不大。最后通过分析对比,证明了所提改进算法的实际效果,并定义了一个性能评价度函数来对随机数所乘因子进行取舍以达到某种满意效果。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1