CN110740333B - 基于小波模极大值重建的改进spiht图像编码和解码方法 - Google Patents

基于小波模极大值重建的改进spiht图像编码和解码方法 Download PDF

Info

Publication number
CN110740333B
CN110740333B CN201911068598.7A CN201911068598A CN110740333B CN 110740333 B CN110740333 B CN 110740333B CN 201911068598 A CN201911068598 A CN 201911068598A CN 110740333 B CN110740333 B CN 110740333B
Authority
CN
China
Prior art keywords
coefficient
bit
type
coefficients
bit stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911068598.7A
Other languages
English (en)
Other versions
CN110740333A (zh
Inventor
宋传鸣
谢维冬
张晋豪
王相海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaoning Normal University
Original Assignee
Liaoning Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Liaoning Normal University filed Critical Liaoning Normal University
Publication of CN110740333A publication Critical patent/CN110740333A/zh
Application granted granted Critical
Publication of CN110740333B publication Critical patent/CN110740333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种基于小波模极大值重建的改进SPIHT图像编码和解码方法,将小波模极大值重建引入到图像可分级编码中,发现对小波变换后的最高频子带进行模极大值重建能取得较高的重构质量,并利用最高频子带系数的方向梯度模长,选取适合模极大值重建的子带;对需要进行模极大值重建的子带施加二次小波变换,将那些具有幅值相关性的高幅值系数的能量进一步集中到少量系数上,在增加了空间方向树高度的同时,增大了局部模极大值的幅值,有利于改善局部模极大值在中、低码率下的解码精度和交替投影的重建质量;利用父子系数间的幅值衰减规律,对模极大值重建后的小波系数幅值进行约束。

Description

基于小波模极大值重建的改进SPIHT图像编码和解码方法
技术领域
本发明涉及图像处理领域,尤其是一种边缘解码精度高、主观质量好的基于小波模极大值重建的改进SPIHT图像编码和解码方法。
背景技术
图像可分级编码方法能够根据空间分辨率、网络带宽或终端计算能力的实际情况对码流的一部分进行解码且解码图像具有较高的重构质量,能够很好地适应网络的异构特性、带宽的动态波动及终端计算能力的多样性,并满足图像的渐进传输、多质量服务以及图像数据库浏览等应用要求。由于其优良的执行效率和压缩比,被广泛应用在高光谱图像压缩、视频压缩、指纹图像压缩、医学图像压缩和图像加密等领域。
图像可分级编码由三个阶段组成,即变换、量化扫描和熵编码。其中,量化扫描阶段是可分级编码的核心步骤,决定了其整体编码效率和渐进逼近效率,其目的是在可接受的数据失真范围内,通过减少像素值或变换系数的值域区间,降低待编码图像的信息熵,进而实现图像压缩。国内外的研究人员提出了多种有效的量化扫描方法,如嵌入式零树方法(Embedded Zerotree Wavelet,EZW)、多级树集合分裂方法(Set Partitioning inHierarchical Trees,SPIHT)、集合分裂嵌入块方法(Set Partitioned Embedded Block,SPECK)和优化截断的嵌入块方法(Embedded Block Coding with Optimized Truncation,EBCOT)等。
在面向静态图像的众多可分级编码方法中,SPIHT是应用范围最广泛、受到关注最多、改进最全面的方法之一。目前,关于SPIHT的研究和改进主要集中在以下三个方面。
第一,基于变换方式改进的SPIHT算法。
研究表明,小波变换并非2D图像的最优稀疏表示工具,高频子带仍然包含大量具有较大幅值的变换系数,无法实现对复杂边缘奇异的最佳逼近和能量集中。于是,有研究人员将脊波、曲波和轮廓波(Contourlet)等新一代多尺度变换引进可分级编码,进而使变换系数具有更好的各向异性、更快的尺度间衰减性、更突出的能量聚集性等特征。刘晓山等人讨论了脊波变换系数之间的相关性,并结合SPIHT编码算法设计出一种基于脊波变换的图像可分级编码算法;Mansoor等人提出对曲波变换系数进行阈值化处理,将其前p%个幅值最小的系数清零,再选择不同的量化曲线对剩余系数进行有损压缩和熵编码,其重构质量在低码率下优于基于小波变换的编码算法;Lqbal等人将曲波变换与SPIHT相结合,采用一种基于阈值选择的处理方式对不同尺度的重要系数分别进行量化,再利用多级树集合分裂的方式对量化后的系数完成扫描和编码。与之类似,Manikandan等人则对量化后的系数进行零树扫描编码。实验结果表明,基于曲波变换的可分级编码可以获得与小波变换相当的PSNR值,尤其对图像边缘系数的还原更加准确。肖羽等人提出了一种基于轮廓波变换的空间方向树结构,并据此实现了一种基于轮廓波变换的可分级编码算法CSPIHT,它在低码率下的重构PSNR要高于传统的SPIHT算法;而在中等码率下,尽管它的PSNR略低于SPIHT,可是重构图像在纹理和边缘区域的视觉效果要优于SPIHT,具有更优秀的方向性和各向异性,对边缘信息和纹理信息的非线性逼近效率更高。进一步地,肖羽等人提出一种多尺度量化方案,采取不同的阈值分别对各个子带进行量化,提高了CSPIHT算法的编码效率;Inouri等人通过分析和比较轮廓波和小波的系数分布来寻找重要子带,再根据子带的重要性级别重新排列这些子带的顺序,用更多的二进制位来编码重要子带以减少编码失真,从而提出了一种轮廓波域的多级树集合分裂编码方法;Eslami等人则联合小波变换和曲波变换,对经哈尔小波变换得到的低频子带进行SPIHT编码,而采用曲波变换处理剩余的高频子带,并且仅对中、低频的曲波系数分别进行差分脉冲编码调制(DPCM)和SPIHT编码,取得了不错的效果。总体地讲,由于脊波、轮廓波等多尺度几何变换对边缘和纹理细节的非线性逼近效率高于小波变换,该类编码方法在低码率下的主观解码质量往往优于传统的SPIHT算法。不过,脊波、曲波和轮廓波均为冗余变换,导致高码率下的客观解码质量甚至低于SPIHT。而且,这些多尺度变换的计算复杂度亦明显高于小波变换。为此,Zhang等人提出了一种二维自适应提升小波变换,能有效利用图像的方向特征,进一步降低高频能量以提高压缩效率。
第二,基于量化方式改进的SPIHT算法。
传统的SPIHT算法针对所有系数均采用统一的量化。虽然这种处理方式较为简捷,计算复杂度也较低,但是由于各个尺度下的小波变换子带呈现不同的分布特性,均匀量化无法很好地适应这种规律。在这种情况下,Wang等人采用多标量量化方法处理最低频系数,而使用均匀标量量化来编码其它子带,进而提出一种复合量化方案的SPIHT图像可分级编码算法;针对提升方案的整数小波变换具有较小系数分布范围的特点,宋传鸣等人将奇数的平方作为量化阈值,并提出了一种基于二分法的量化逼近方案。与传统基于位平面的量化方法相比,该量化方案能用更少的比特来完全重构各个变换系数;而刘伟等人则从小波系数的分布特点出发,在零树结构与人眼视觉系统特性的基础上,引进了新的系数扫描顺序,有助于改善图像重构的主观质量;Vargic等人通过连续显著性映射对图像的感兴趣区域进行独立量化编码,并嵌入到原始码流中,提高了图像的主观质量;Agarwal等人则研究了通过一维、二维和三维数据的不同数据组合来改善图像可分级编码效率的策略。从发明人所掌握的文献来看,尚鲜见对变换系数的逐次逼近量化策略的相关研究。
第三,基于系数扫描组织方式改进的SPIHT算法。
传统SPIHT的分级扫描方式是在EZW的零树基础上演变而来的,其目的是克服EZW算法产生大量孤立零而浪费编码码流的不足。然而,SPIHT的扫描编码方式亦存在着冗余输出和重复扫描等问题。故此,有部分研究人员专门对SPIHT的扫描方式进行改进,进而提高SPIHT的编解码效率。Huang等人认为在一个重要系数的周围存在其它重要系数的概率较大,于是按照周围重要系数的个数对每个待编码的系数或系数集合进行统计排序,一旦发现含有重要周围系数的集合,就开始对重要系数进行细化扫描,提出了一种改进的SPIHT算法ASPIHT,有助于实现图像边缘系数的高效率重构;Rema等人发现,SPIHT经过多级树集合分裂后得到的直接系数中,重要系数的概率并不高,若用4个二进制位依次判断每个直接子系数的重要性,则会浪费宝贵的码流带宽。针对这一现象,出现了三项改进工作。其中,Rema等人先判断L型集合的重要性,进而利用尺度间系数的衰减性来确定其父系数的重要性,提出一种基于二叉树结构的TSPIHT算法,减少了系数重要性扫描过程所需的同步信息量;类似地,Huang等人也提出了一种具有自适应扫描顺序的二叉树编码,若该方法发现某个系数块是重要的,则将其分裂为2个子块而不是4个,并预先扫描重要系数的邻居系数,从而有利于发掘重要系数的聚集性来提高同步信息的表示效率;而Wang等人则在集合分裂过程中增加了一个结构类型,将4个直接子系数作为一个集合来判断,若4个直接子系数均为不重要系数,则用1位比特“0”来表示,从而提出了一种MSPIHT-ICA算法,可为每个D型集合节省3位同步比特,有效地优化了输出比特流的编码效率;Liu等人也采用类似的原理实现了一种改进的SPIHT编码算法MSPIHT。与上述工作的角度不同,Rema对传统SPIHT的空间方向树进行了重新排序,将最低频子带中的那些没有子结点的低频系数作为3个相邻系数的父结点,其目的是通过增加零树的高度来增加系数链表中的重要系数比例,减少低频系数的同步比特数量,改善低码率下的编码性能;Brahimi等人提出了一种基于小波系数分解特性的多模压缩方法,将小波低频系数嵌入到高频系数中,从而提高编码码流的利用率,并成功将该方法应用于三种成熟的多模压缩系统中;Ma等人提出了一种包含静态码的四叉树搜索模型,利用系数的显著性来区分重要系数,并利用常量代码替代了传统SPIHT中的等概率假设代码,在提高解码质量的同时,可有效提高解码效率;在四叉树模型的基础上,Song等人将SPIHT算法推广到三维空间,提出了一种基于八叉树的数据结构,并利用二进制编码来处理小波系数的小数部分,提高了解码效率和重建精度;ZainEldin等人提出了一种无链表零树结构,使用提升小波变换代替卷积小波变换,并引进了基于条带的编码策略,无需等待整体图像的小波变换就可以进行系数的编解码;Li等人则采用“广义树”结构来定位大幅值系数,树中的每个节点都是一个系数块,很好地兼顾了传统零树和零块结构的特点。
基于量化方式的改进SPIHT算法和基于系数扫描组织方式的改进SPIHT算法均是从信号保真和能量保持的角度,以提高解码图像的峰值信噪比为根本出发点,却忽略了重构图像在低码率下所存在的边缘模糊不清、振铃效应明显等问题。而结构相似度SSIM指标的相关研究表明,人眼视觉系统对于图像中的结构差异较之亮度差异敏感得多,这显然不利于保证解码图像的视觉质量。若能充分利用人眼视觉系统的这一特性,在保持现有方法的客观解码质量的前提下,进一步发掘小波变换的奇异点和非奇异点的能量关系,有效增强边缘和纹理等细节结构特征,则有助于提高图像可分级编码的效率。尽管基于变换方式的改进SPIHT算法已关注了边缘解码质量,可是此类算法依旧囿于其基函数的非线性逼近效率的限制,基函数对直线、曲线奇异的稀疏表示效率决定了该类算法编码性能的上界,却没能发掘多尺度变换系数的奇异点之间、奇异点与非奇异点之间的相关关系。因此未充分利用这种相关关系来修复细尺度下那些没有得到充分解码或者完全没有被解码的奇异系数和非奇异系数,边缘、轮廓、纹理区域的主观解码质量以及平滑区域的客观解码精度有待提高。
发明内容
本发明是为了解决现有技术所存在的上述技术问题,提供一种边缘解码精度高、主观质量好的基于小波模极大值重建的改进SPIHT图像编码和解码方法。
本发明的技术解决方案是:一种基于小波模极大值重建的改进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=[log2Max],并将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.初始化非重要系数表
Figure BDA0002260214050000061
重要系数表
Figure BDA0002260214050000062
非重要子集表
Figure BDA0002260214050000063
和比特位流表
Figure BDA0002260214050000064
步骤8.采用类似SPIHT的扫描方式编码所有小波变换系数:
步骤8.1初始化扫描阈值T=2n,将最低频子带的所有系数放入LIP表,将存在孩子系数的最低频系数加入LIS表,并将其扫描类型设置为D型;
步骤8.2若T<1或比特位流表中的待输出比特数大于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传输至解码端,编码过程结束。
一种与上述基于小波模极大值重建的改进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.初始化非重要系数表
Figure BDA0002260214050000081
重要系数表
Figure BDA0002260214050000082
非重要子集表
Figure BDA0002260214050000083
将待解码图像的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从比特位流中读取1bit 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从比特位流中读取1bit 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从比特位流中读取1bit 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或T<1,则转入步骤5,否则转入步骤4.1;
步骤5.对子带B进行小波模极大值重建;
步骤5.1按照光栅扫描顺序,将子带B的已解码系数重新组织成一个长度为l的一维系数序列S,并令index←1,num←1,并建立一个长度为l的一维数组Loca,将其初始化为零数组,用于保存局部模极大值的位置;
步骤5.2从缓冲区M中读取1bit f,若f=1,则令一维数组Loca的第num个元素等于index,即Loca(num)←index,并令index←index+1,num←num+1;
步骤5.3若index>l,则转入步骤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中的每个系数,若其幅值大于
Figure BDA0002260214050000091
则将该系数的幅值设置为其父亲系数幅值的1/2;
步骤6.对所有子带的已解码系数进行log2min{H,W}-3级Daubechies双正交9/7小波逆变换,得到解码图像I′,输出I′。
本发明与现有技术相比具有以下优点:第一,将小波模极大值重建引进图像可分级编码中,通过发掘小波变换系数的奇异点之间、奇异点与非奇异点之间的相关性,增强了图像的主要边缘和轮廓在中、低码率下的解码效果;第二,利用最高频子带系数的平均方向梯度的模长,自适应地确定适合模极大值重建的子带,从而实现对纹理较为复杂、局部极值点较多的子带进行模极大值重建,有利于更加有效地解码出丰富的边缘和纹理细节区域;第三,利用父子系数间的幅值衰减规律,对模极大值重建后的小波系数幅值进行约束,可缓解在中、低码率下,由于局部模极大值的解码精度不足所导致的“伪边缘”现象。因此,本发明具有边缘解码精度高、主观质量好的特点。
附图说明
图1是本发明实施例与传统SPIHT方法在不同码率下解码Lena图像的效果对比图。
图2是本发明实施例与传统SPIHT方法在不同码率下解码Barbara图像的效果对比图。
表1是本发明与现有技术在不同码率下Lena图像(512×512像素)的解码峰值信噪比比较。
表2是本发明与现有技术在不同码率下Barbara图像(512×512像素)的解码峰值信噪比比较。
具体实施方式
本发明的一种基于小波模极大值重建的改进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,进而得出最大位平面数
Figure BDA0002260214050000115
并将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.初始化非重要系数表
Figure BDA0002260214050000111
重要系数表
Figure BDA0002260214050000112
非重要子集表
Figure BDA0002260214050000113
和比特位流表
Figure BDA0002260214050000114
步骤8.采用类似SPIHT的扫描方式编码所有小波变换系数:
步骤8.1初始化扫描阈值T=2n,将最低频子带的所有系数放入LIP表,将存在孩子系数的最低频系数加入LIS表,并将其扫描类型设置为D型;
步骤8.2若T<1或比特位流表中的待输出比特数大于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传输至解码端,编码过程结束。
与上述基于小波模极大值重建的改进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.初始化非重要系数表
Figure BDA0002260214050000131
重要系数表
Figure BDA0002260214050000132
非重要子集表
Figure BDA0002260214050000133
将待解码图像的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从比特位流中读取1bit 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从比特位流中读取1bit 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从比特位流中读取1bit 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或T<1,则转入步骤5,否则转入步骤4.1;
步骤5.对子带B进行小波模极大值重建;
步骤5.1按照光栅扫描顺序,将子带B的已解码系数重新组织成一个长度为l的一维系数序列S,并令index←1,num←1,并建立一个长度为l的一维数组Loca,将其初始化为零数组,用于保存局部模极大值的位置;
步骤5.2从缓冲区M中读取1bit f,若f=1,则令一维数组Loca的第num个元素等于index,即Loca(num)←index,并令index←index+1,num←num+1;
步骤5.3若index>l,则转入步骤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中的每个系数,若其幅值大于
Figure BDA0002260214050000151
则将该系数的幅值设置为其父亲系数幅值的1/2;
步骤6.对所有子带的已解码系数进行log2min{H,W}-3级Daubechies双正交9/7小波逆变换,得到解码图像I′,输出I′。
本发明实施例与传统SPIHT方法、基于改进空间方向树的SPIHT编码方法(2015)和SPACS算法(2016)在不同码率下的解码峰值信噪比如表1~表2所示。
本发明实施例与传统SPIHT方法在不同码率下解码Lena图像的对比结果如图1所示。其中(a)~(c)为传统SPIHT方法的解码图像;(d)~(f)为本发明的解码图像。
本发明实施例与传统SPIHT方法在不同码率下解码Barbara图像的对比结果如图2所示。其中(a)~(c)为传统SPIHT方法的解码图像;(d)~(f)为本发明的解码图像。
表1在不同码率下Lena图像(512×512像素)的解码峰值信噪比比较(单位:dB)
Figure BDA0002260214050000152
Figure BDA0002260214050000161
表2在不同码率下Barbara图像(512×512像素)的解码峰值信噪比比较(单位:dB)
Figure BDA0002260214050000162
从表1~表2、图1~图2可见,本发明解码图像的峰值信噪比较之传统SPIHT算法平均要高出2.25dB,在中低码率下比基于空间方向空间树的改进SPIHT算法平均提高2.40dB,在中高码率下则比SPACS算法平均提高0.48dB。特别地,本发明在码率高于0.2bpp时,能够取得明显高于现有技术的主观解码质量。本发明不仅明显提高了解码图像的峰值信噪比,而且能够在中、低码率下更加准确地重建原始图像中的边缘和纹理信息,保证了解码图像的主客观质量。

Claims (2)

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,进而得出最大位平面数
Figure FDA0002260214040000011
并将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.初始化非重要系数表
Figure FDA0002260214040000021
重要系数表
Figure FDA0002260214040000024
非重要子集表
Figure FDA0002260214040000022
和比特位流表
Figure FDA0002260214040000023
步骤8.采用类似SPIHT的扫描方式编码所有小波变换系数:
步骤8.1初始化扫描阈值T=2n,将最低频子带的所有系数放入LIP表,将存在孩子系数的最低频系数加入LIS表,并将其扫描类型设置为D型;
步骤8.2若T<1或比特位流表中的待输出比特数大于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.初始化非重要系数表
Figure FDA0002260214040000041
重要系数表
Figure FDA0002260214040000042
非重要子集表
Figure FDA0002260214040000043
将待解码图像的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或T<1,则转入步骤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若index>l,则转入步骤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中的每个系数,若其幅值大于
Figure FDA0002260214040000051
则将该系数的幅值设置为其父亲系数幅值的1/2;
步骤6.对所有子带的已解码系数进行log2min{H,W}-3级Daubechies双正交9/7小波逆变换,得到解码图像I′,输出I′。
CN201911068598.7A 2019-08-01 2019-11-05 基于小波模极大值重建的改进spiht图像编码和解码方法 Active CN110740333B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019107071814 2019-08-01
CN201910707181 2019-08-01

Publications (2)

Publication Number Publication Date
CN110740333A CN110740333A (zh) 2020-01-31
CN110740333B true CN110740333B (zh) 2021-07-06

Family

ID=69272191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911068598.7A Active CN110740333B (zh) 2019-08-01 2019-11-05 基于小波模极大值重建的改进spiht图像编码和解码方法

Country Status (1)

Country Link
CN (1) CN110740333B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114676931B (zh) * 2022-04-12 2024-02-20 国网江苏省电力有限公司泰州供电分公司 一种基于数据中台技术的电量预测系统
CN116389759A (zh) * 2022-05-27 2023-07-04 上海玄戒技术有限公司 图像编码方法、装置、电子设备、芯片及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040234146A1 (en) * 1999-10-28 2004-11-25 Egbert Ammicht Coefficient computation in image compression using set partitioning in hierarchical trees
CN103067710A (zh) * 2012-12-28 2013-04-24 辽宁师范大学 基于三维小波变换的分布式超光谱图像编码及解码方法
CN105828088A (zh) * 2016-03-22 2016-08-03 辽宁师范大学 边缘增强的改进spiht图像编码和解码方法
CN109035350A (zh) * 2018-08-02 2018-12-18 辽宁师范大学 基于能量泄露和放大的改进spiht图像编码和解码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040234146A1 (en) * 1999-10-28 2004-11-25 Egbert Ammicht Coefficient computation in image compression using set partitioning in hierarchical trees
CN103067710A (zh) * 2012-12-28 2013-04-24 辽宁师范大学 基于三维小波变换的分布式超光谱图像编码及解码方法
CN105828088A (zh) * 2016-03-22 2016-08-03 辽宁师范大学 边缘增强的改进spiht图像编码和解码方法
CN109035350A (zh) * 2018-08-02 2018-12-18 辽宁师范大学 基于能量泄露和放大的改进spiht图像编码和解码方法

Also Published As

Publication number Publication date
CN110740333A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
US6671413B1 (en) Embedded and efficient low-complexity hierarchical image coder and corresponding methods therefor
CN110740333B (zh) 基于小波模极大值重建的改进spiht图像编码和解码方法
CN101631243B (zh) 一种基于小波变换的图像编和解码的方法
EP1464181A2 (en) Method of compressing images of arbitrarily shaped objects
Kumar et al. A review: DWT-DCT technique and arithmetic-Huffman coding based image compression
Boujelbene et al. Enhanced embedded zerotree wavelet algorithm for lossy image coding
WO2022057091A1 (zh) 一种点云属性编码方法、解码方法、编码设备及解码设备
CN104079947B (zh) 一种基于改进ezw的声纳图像数据压缩方法
CN101754021B (zh) 基于改进小波变换图像压缩方法实现手机移动门户的方法
Zhu et al. An improved SPIHT algorithm based on wavelet coefficient blocks for image coding
Bin et al. An improved SPIHT wavelet transform in the underwater acoustic image compression
CN109035350B (zh) 基于能量泄露和放大的改进spiht图像编码和解码方法
CN100426866C (zh) 全相位沃尔什双正交变换及其对jpeg的改进方法
CN1822050A (zh) 全相位反余弦双正交变换及其对jpeg的改进方法
CN102281437A (zh) 用于图像压缩的提升结构二维离散小波变换交织扫描方法
CN101267557B (zh) 一种用复合矢量量化进行图像压缩和解码的方法
CN103561275A (zh) 一种改进条带波变换的图像压缩方法
Kumar et al. Comparative analysis of wavelet based compression methods
Ranjeeta et al. Image compression: an overview
Li et al. Dual x-tree wavelet image coding
Zhou An Improved SPIHT Algorithm for Lossy Image Coding
Liu et al. An improved image compression algorithm based on embedded zerotree wavelets transform
Goyal A performance and analysis of ezw encoder for image compression
Wang et al. Modified SPIHT based image compression algorithm for hardware implementation
Hsin et al. An adaptive coding pass scanning algorithm for optimal rate control in biomedical images

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant