[发明专利]基于小波模极大值重建的改进SPIHT图像编码和解码方法有效

专利信息
申请号: 201911068598.7 申请日: 2019-11-05
公开(公告)号: CN110740333B 公开(公告)日: 2021-07-06
发明(设计)人: 宋传鸣;谢维冬;张晋豪;王相海 申请(专利权)人: 辽宁师范大学
主分类号: H04N19/63 分类号: H04N19/63;H04N19/64;H04N19/96;H04N19/184;H04N19/154
代理公司: 大连非凡专利事务所 21220 代理人: 闪红霞
地址: 116000 辽宁*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 小波模 极大值 重建 改进 spiht 图像 编码 解码 方法
【权利要求书】:

1.一种基于小波模极大值重建的改进SPIHT图像编码方法,其特征在于按照如下步骤进行:

步骤1.输入待编码图像I和目标码率R,设待编码图像I大小为H×W像素,根据目标码率R计算编码图像I所需的比特数Bit_Budget=H×W×R,并将H和W各用1个字节传输至解码端;

步骤2.对待编码图像I进行log2min{H,W}-3级Daubechies双正交9/7小波变换;

步骤3.判断最低频子带是否存在负系数,若包含负系数,则令标志变量HavingNegative=1,否则令HavingNegative=0,然后将HavingNegative的值用1bit传输至解码端;

步骤4.计算最低频子带系数的绝对值最大的幅值Max,进而得出最大位平面数并将n的值用4bit传输至解码端;

步骤5.采用前向差分算子,计算最高频的LH、HL和HH子带在每个系数处的梯度,然后分别统计这三个子带的平均梯度模长,令其分别为ΘLH、ΘHL和ΘHH,并将其各用8bit传输至解码端;

步骤6.选取ΘLH、ΘHL和ΘHH中的最大者所对应的子带B,并提取子带B的模极大值序列:

步骤6.1按照光栅扫描顺序,将子带B的二维小波系数重新组织成一个长度为l的一维系数序列S,且l=H×W/4;

步骤6.2对一维系数序列S进行1阶一维小波变换,从而将系数能量进一步集中;

步骤6.3令SMax表示小波系数的模极大值序列,并将SMax初始化为空集;

步骤6.4将一维系数序列S的第1个系数加入到SMax中,向解码端传输一个比特“1”,并令index←2;

步骤6.5令S(index)、S(index-1)和S(index+1)分别表示一维系数序列S的第index个系数、第(index-1)个系数和第(index+1)个系数,若|S(index)||S(index-1)|且|S(index)||S(index+1)|,则S(index)为一个局部模极大值,将其加入到SMax中,并向解码端传输一个比特“1”,否则将“0”加入到SMax中,向解码端传输一个比特“0”;

步骤6.6令index←index+1,若index=l,则转入步骤6.7,否则转入步骤6.5;

步骤6.7将一维系数序列S的第l个系数加入到SMax中,并向解码端传输一个比特“1”;

步骤6.8舍弃子带B的全部原始小波系数,并用模极大值序列SMax中的系数代替子带B的小波系数,转入步骤7;

步骤7.初始化非重要系数表重要系数表非重要子集表和比特位流表

步骤8.采用类似SPIHT的扫描方式编码所有小波变换系数:

步骤8.1初始化扫描阈值T=2n,将最低频子带的所有系数放入LIP表,将存在孩子系数的最低频系数加入LIS表,并将其扫描类型设置为D型;

步骤8.2若T1或比特位流表中的待输出比特数大于Bit_Budget,则转入步骤9;否则,转入步骤8.3;

步骤8.3扫描LIP表:顺序取出LIP表中的每个待处理系数c,执行步骤8.3.1~步骤8.3.5;若LIP表中的所有系数均已处理完毕,则转入步骤8.4;

步骤8.3.1若|c|T,则在位流表E的末尾添加比特“0”,返回步骤8.3;

步骤8.3.2若|c|≥T,则在位流表E的末尾添加比特“1”,把该系数c从LIP表中删除并添加到LSP表末尾;

步骤8.3.4若c是最低频系数且HavingNegative=0,则返回步骤8.3;否则,转入步骤8.3.5;

步骤8.3.5如果系数c是正数,则在位流表E的末尾添加比特“1”,否则,在位流表E的末尾添加比特“0”,返回步骤8.3;

步骤8.4扫描LIS表:顺序取出LIS表中的每个待处理元素e,执行步骤8.4.1~步骤8.4.3;若LIS表中的所有元素均已处理完毕,则转入步骤8.5;

步骤8.4.1若其扫描类型为D型,则转入步骤8.4.2,否则转入步骤8.4.3;

步骤8.4.2判断e的D型子集是否为重要集合:

a若e的D型子集是重要集合,则在比特位流表E的末尾添加比特“1”,再执行4次步骤a.1~步骤a.3来依次判断e的4个D型孩子系数的重要性;

a.1若某个孩子系数是重要的,则在比特位流表E的末尾添加比特“1”,并且把该孩子系数加到LSP表末尾,进一步,若该孩子系数是正数,则在比特位流表E的末尾添加比特“1”,否则在比特位流表E的末尾添加比特“0”;

a.2判断e的L型子集是否为空集,如果不为空集,则把e的扫描类型由D型转换成L型后添加到LIS表尾部,如果e的L型子集为空集,则从LIS表中删除元素e;

a.3如果某个孩子系数不是重要系数,则把该孩子系数添加到LIP表末尾,并且在比特位流表末尾添加比特“0”;

b如果e的D型子集是不重要集合,则在位流表末尾添加字符“0”;

步骤8.4.2判断e的L型子集是否为重要集合:

a如果e的L型子集是重要集合,则在比特位流表末尾添加比特“1”,并且把e的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;返回步骤8.4;

b如果e的L型子集不是重要集合,则在比特位流表末尾添加比特“0”;返回步骤8.4;

步骤8.5精细扫描:顺序扫描LSP表,除了本轮扫描增加的那些系数以外,将表中其余系数的第n个位平面输出到比特位流表E中;

步骤8.6令T←T/2,n←n-1,转入步骤8.2;

步骤9.将比特位流表E传输至解码端,编码过程结束。

2.一种与权利要求1所述基于小波模极大值重建的改进SPIHT图像编码方法对应的解码方法,其特征在于按照如下步骤进行:

步骤1.初始化待解码图像I的基本信息;

步骤1.1输入待解码比特流和目标码率R,从比特位流的前2个字节中解码出图像的高度H和宽度W,进而确定解码图像I所需的比特数Bit_Budget=H×W×R;

步骤1.2从比特位流中读取1bit,解码出HavingNegative;

步骤1.3从比特位流中读取4bit,解码出最大位平面数n,并令nmax←n;

步骤1.4从比特位流中读取24bit,按照LH、HL和HH的顺序,解码出3个最高频子带的平均梯度模长ΘLH、ΘHL、ΘHH

步骤1.5选取ΘLH、ΘHL和ΘHH中的最大者所对应的子带,作为需用小波模极大值重构的子带B;

步骤1.6令l←H×W/4,并从比特位流中读取l个bit,暂存到一个缓冲区M中;

步骤2.初始化非重要系数表重要系数表非重要子集表将待解码图像的log2min{H,W}-3级小波变换系数全部初始化为0,令扫描阈值T=2n

步骤3.将最低频子带的所有系数坐标放入LIP表,将存在孩子系数的最低频系数的坐标添加到LIS表中,并将其扫描类型设置为D型;

步骤4.采用类似SPIHT的扫描方式处理LIP表、LIS表和LSP表:

步骤4.1扫描LIP表:对于LIP表中的每个待处理元素,执行步骤4.1.1~步骤4.1.5;若LIP表中的所有元素均已处理完毕,则转入步骤4.2;

步骤4.1.1从比特位流中读取1 bit c;

步骤4.1.2若c=0,则表明LIP表中当前坐标(i,j)所对应的系数为不重要系数,返回步骤4.1;

步骤4.1.3若c=1,表明LIP表中当前坐标(i,j)所对应的系数为重要系数,则将该重要系数的值更新为1.5×T,然后把坐标(i,j)从LIP表中删除并添加到LSP表末尾;

步骤4.1.4若当前坐标(i,j)处于最低频子带且HavingNegative=0,则返回步骤4.1;否则,转入步骤4.1.5;

步骤4.1.5从比特位流中读取1bit,如果该比特为“0”,则将当前坐标(i,j)所对应的系数值取相反数;否则,保持其系数值不变;

步骤4.2扫描LIS表:对于LIS表中的每个待处理元素p,执行步骤4.2.1~步骤4.2.3;若LIS表中的所有元素均已处理完毕,则转入步骤4.3;

步骤4.2.1如果当前待处理元素p的扫描类型为D型,则转入步骤4.2.2,否则转入步骤4.2.3;

步骤4.2.2从比特位流中读取1 bit e;

a如果e=1,表明p对应的D型子集是重要集合,执行4次步骤a.1~a.4依次判断其4个D型孩子系数的重要性;

a.1从比特位流中读取1bit,如果该比特为“1”,则转入a.2,否则转入a.4;

a.2把p的直接孩子系数的坐标加到LSP表末尾,并进一步从比特流中读取1bit,若该比特为“1”,则将相应孩子系数的值更新为1.5×T,否则将相应孩子系数的值更新为-1.5×T;

a.3判断p的L型子集是否为空集,若不为空集,则把p的扫描类型由D型转换成L型后添加到LIS表尾部;若p的L型子集为空集,则将元素p从LIS表中删除;转入步骤4.2.2;

a.4把孩子系数的坐标添加到LIP表末尾;

b如果e=0,表明p对应的是不重要集合,返回步骤4.2;

步骤4.2.3从比特位流中读取1 bit f,判断p的L型子集是否为重要集合;

a如果f=1,表明p的L型子集是重要集合,则把p的4个直接孩子系数的坐标添加到LIS表尾部,将其扫描类型设置为D型;返回步骤4.2;

b如果f=0,表明p的L型子集不是重要集合;返回步骤4.2;

步骤4.3精细扫描:顺序扫描LSP表,对于除本轮扫描增加的那些元素以外的每个元素,从比特位流中读取1bit,若该比特为“1”,则将该元素所对应的小波系数绝对值增加T/2,否则将该元素所对应的小波系数绝对值减小T/2;

步骤4.4令T←T/2,n←n-1,若目前从比特位流中读取的比特位数量已达到Bit_Budget或T1,则转入步骤5,否则转入步骤4.1;

步骤5.对子带B进行小波模极大值重建;

步骤5.1按照光栅扫描顺序,将子带B的已解码系数重新组织成一个长度为l的一维系数序列S,并令index←1,num←1,并建立一个长度为l的一维数组Loca,将其初始化为零数组,用于保存局部模极大值的位置;

步骤5.2从缓冲区M中读取1 bit f,若f=1,则令一维数组Loca的第num个元素等于index,即Loca(num)←index,并令index←index+1,num←num+1;

步骤5.3若indexl,则转入步骤5.4,否则转入步骤5.2;

步骤5.4根据一维系数序列S和局部模极大值的位置数组Loca,利用包含iter次迭代的交替投影法进行小波模极大值重建,得到重建后的一维系数序列;

步骤5.5对重建后的一维系数序列进行1阶一维小波逆变换,得到S′;

步骤5.6按照光栅扫描顺序,将S′的系数重新组织成大小为(H/2)×(W/2)的二维矩阵B′,并用B′的各个系数替代子带B中处于相同空间位置的已解码系数,得到小波模极大值重建后的子带B;

步骤5.7对于子带B中的每个系数,若其幅值大于则将该系数的幅值设置为其父亲系数幅值的1/2;

步骤6.对所有子带的已解码系数进行log2min{H,W}-3级Daubechies双正交9/7小波逆变换,得到解码图像I′,输出I′。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辽宁师范大学,未经辽宁师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911068598.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top