CN105828088B - 边缘增强的改进spiht图像编码和解码方法 - Google Patents
边缘增强的改进spiht图像编码和解码方法 Download PDFInfo
- Publication number
- CN105828088B CN105828088B CN201610164768.1A CN201610164768A CN105828088B CN 105828088 B CN105828088 B CN 105828088B CN 201610164768 A CN201610164768 A CN 201610164768A CN 105828088 B CN105828088 B CN 105828088B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- bit
- group
- transferred
- type
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods 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
- H04N19/647—Methods 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 using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开一种边缘增强的改进SPIHT图像编码和解码方法,该方法对小波变换后的图像低频子带进行高通滤波提取出图像中的主要轮廓和边缘,一方面,利用最低频子带实现编码端和解码端之间的同步,无需额外传输同步信息即可定位重要系数,减少了传统SPIHT编码的同步信息量;另一方面,根据低频子带的高通滤波结果控制编解码的优先程度,对图像中人眼视觉系统最为敏感的主要轮廓和边缘进行优先解码,从而提高了解码图像主客观质量。
Description
技术领域
本发明涉及图像处理领域,尤其是一种同步信息少、主客观质量高的边缘增强的改进SPIHT图像编码和解码方法。
背景技术
随着网络多媒体技术及其应用的不断发展,人们对图像编码的要求不断提高,不仅要求解码图像具有较高的重构质量,同时要求其能够适应网络异构特性及终端计算能力不同等应用需求。这就需要一种好的解决方法来实现在保证图像质量的前提下去除各种冗余,用尽量少的比特数来表征图像信息,同时使图像编码码流能很好的适应网络带宽的波动及不同计算能力终端的解码需求。一个图像的编码码流具有可分级性是指利用该码流的一部分(或子集)可以产生对该图像一个有用表示的能力,即解码器能够根据分辨率的实际情况对码流的一部分进行解码。图像编码码流的这种可分级特性可以满足图像的渐进传输、多质量服务以及图像数据库浏览等应用要求。
关于静态图像的编码主要需要考虑两个问题:一是如何能有效地表示重要系数的位置信息,同时尽量占用少的比特来编码同步信息;二是如何能有效地编码重要系数的幅值。近年来,基于小波变换的图像可分级编码方法出现了一些经典的算法,如EZW、SPIHT、MRWD、EBCOT和SPECK等,获得了较好的主观质量效果。对于第一个问题,利用系数分布相似特性,EZW提出采用“零树”结构来定位重要系数;SPIHT则利用“空间方向树”来定位重要系数;而利用系数的聚集特性,SPECK采用四叉树结构定位重要系数;MRWD利用数学形态学的膨胀操作,对重要系数的聚簇进行提取和编码;BSP树(Binary Space Partition Tree)和GW(Geometric Wavelets)方法则通过二值空间分割树确定图像中具有相同系数特性的一致性区域,进而进行编码;对于第二个问题,EBCOT利用分数位平面编码重要系数,而其他方法大都采用基于位平面的逐次逼近量化SAQ(Successive Approximation Quantization)来编码重要系数。然而,一方面,这些方法在同步信息上花费了相当数量的比特开销,从而影响了重构图像质量,特别在低码率情况下。另一方面,现有方法将所有变换系数同等对待,而关于结构相似度SSIM (Structural Similarity)指标的研究就表明人眼视觉系统对于图像中的结构差异较之亮度差异更加敏感,具体地讲,人眼视觉系统对于边缘、轮廓区域的像素值比对平坦区域的像素值敏感,这样将全部系数同等处理不利于保证解码图像的主观质量。
发明内容
本发明是为了解决现有技术所存在的上述技术问题,提供一种同步信息少、主客观质量高的边缘增强的改进SPIHT图像编码和解码方法。
本发明的技术解决方案是:一种边缘增强的改进SPIHT图像编码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待编码图像和目标码率 R,设图像大小为像素,并对图像进行级小波变换;
步骤2. 将M和N各用1个字节传输至解码端,并对最低频子带系数进行DPCM编码和算术编码,传输至解码端;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表和比特位流表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数添加到LIP中,将第组中存在孩子系数的低频系数添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:顺序扫描LIP表中的每个系数,
步骤8.2.1 如果,则在比特位流表末尾添加比特“1”,把该系数添加到LSP表末尾,并且如果系数是正数,则在比特位流表末尾添加比特“1”,否则,在比特位流表末尾添加比特“0”;
步骤8.2.2 如果,则在比特位流表末尾添加比特“0”,并且把该系数从LIP表中删除;
步骤8.3 处理LIS表:顺序扫描LIS表中的每个元素,如果其扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 判断的D型子集是否为重要集合:
a.如果的D型子集是重要集合,则在比特位流表末尾添加比特“1”,再依次判断的4个D型孩子系数的重要性,
a.1 如果某个孩子系数是重要的,则在比特位流表末尾添加比特“1”,并且把该孩子系数加到LSP表末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特“1”,如果该孩子系数为负数,则在比特位流表末尾添加比特“0”;转入a.3;
a.2 如果某个孩子系数不是重要系数,则把该孩子系数添加到LIP表末尾,并且在比特位流表末尾添加比特“0”;转入a.3;
a.3 判断的L型子集是否为空集,如果不为空集,则把的扫描类型由D型转变成L型后添加到LIS表尾部,如果的L型子集为空集,则从LIS表中删除元素;转入步骤8.3.2;
b. 如果的D型子集是不重要集合,则在比特位流表末尾添加比特“0”;
步骤8.3.2 判断的L型子集是否为重要集合:
a. 如果的L型子集是重要集合,则在比特位流表末尾添加比特“1”,并且把的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b.如果的L型子集不是重要集合,则在比特位流表末尾添加比特“0”;
步骤8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,将表中其余系数的第个位平面输出到比特位流表中;
步骤8.5 令,如果比特位流表中的比特数目已经达到,则转入步骤10,否则,转入步骤9。
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤 10. 对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程结束。
一种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待解码比特流和目标码率R,从压缩码流的前2个字节中解码出图像的大小M和N;
步骤 2. 利用算术解码和DPCM解码得到最低频子带系数;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数的坐标添加到LIP中,将第组中存在孩子系数的低频系数坐标添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:利用算术解码从压缩码流中获得1 bit ,
8.2.1 如果=1,表明LIP表中当前坐标的系数为重要系数,则把该系数坐标添加到LSP表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将当前坐标的系数更新为,如果该比特为“0”,则将当前坐标的系数更新为;
8.2.2 如果=0,则LIP表的当前待解码系数为不重要系数,将其从LIP表中删除;
步骤8.3 处理LIS表:如果当前待处理元素P的扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 利用算术解码从压缩码流中获得1 bit;
a 如果=1,表明P对应的D型子集是重要集合,再执行4次步骤a.1~a.4依次判断其4个D型孩子系数的重要性;
a.1 利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则转入a.2,否则转入a.3;
a.2 把P的相应孩子系数的坐标加到LSP表末尾,进一步利用算术解码从压缩码流中再获得1 bit,如果该比特为“1”,则将相应孩子系数更新为,如果该比特为“0”,则将相应孩子系数更新为;转入a.4;
a.3 把相应孩子系数的坐标添加到LIP表末尾;转入a.4;
a.4 判断P的L型子集是否为空集,如果不为空集,则把P的扫描类型由D型转变成L型后添加到LIS表尾部,如果P的L型子集为空集,则从LIS表中删除元素P;转入步骤8.3.2;
b 如果=0,表明P对应的是不重要集合;
步骤8.3.2 利用算术解码从压缩码流中获得1 bit f,判断P的L型子集是否为重要集合,
a 如果f=1,表明P的L型子集是重要集合,则把P的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b 如果f=0,表明P的L型子集不是重要集合;
步骤 8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,对于其余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将该系数的绝对值增加,否则将该系数的绝对值减少;
步骤8.5. 令,如果解码的比特数目已经达到,则转入步骤10,否则,转入步骤9。
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤10. 对解码出的系数进行级小波逆变换得到解码图像,解码过程结束。
与现有技术相比,本发明具有以下特点:第一,考虑到绝大多数的大幅值小波变换系数分布在图像轮廓和边缘等处,本发明对小波变换后的图像低频子带进行高通滤波提取出图像中的主要轮廓和边缘,从而利用最低频子带实现编码端和解码端之间的同步,无需额外传输同步信息即可定位重要系数,明显节省了传统SPIHT编码的同步信息量。这些节省下来的同步比特就能够用于解码那些大幅值变换系数,进而提高解码图像的客观质量;第二,本发明根据低频子带的高通滤波结果控制编解码的优先程度,对图像中人眼视觉系统最为敏感的主要轮廓和边缘进行优先解码,有利于提高解码图像的主观质量。
附图说明
图1是本发明实施例与SPIHT图像编码方法的效果对比图。
具体实施方式
一种边缘增强的改进SPIHT图像编码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待编码图像和目标码率R,设图像大小为像素,并对图像进行级小波变换;
步骤2. 将M和N各用1个字节传输至解码端,并对最低频子带系数进行DPCM编码和算术编码,传输至解码端;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表和比特位流表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数添加到LIP中,将第组中存在孩子系数的低频系数添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:顺序扫描LIP表中的每个系数,
步骤8.2.1 如果,则在比特位流表末尾添加比特“1”,把该系数添加到LSP表末尾,并且如果系数是正数,则在比特位流表末尾添加比特“1”,否则,在比特位流表末尾添加比特“0”;
步骤8.2.2 如果,则在比特位流表末尾添加比特“0”,并且把该系数从LIP表中删除;
步骤8.3 处理LIS表:顺序扫描LIS表中的每个元素,如果其扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 判断的D型子集是否为重要集合(即该元素的子孙系数中存在绝对值不小于的系数):
a.如果的D型子集是重要集合,则在比特位流表末尾添加比特“1”,再依次判断的4个D型孩子系数的重要性,
a.1 如果某个孩子系数是重要的,则在比特位流表末尾添加比特“1”,并且把该孩子系数加到LSP表末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特“1”,如果该孩子系数为负数,则在比特位流表末尾添加比特“0”;转入a.3;
a.2 如果某个孩子系数不是重要系数,则把该孩子系数添加到LIP表末尾,并且在比特位流表末尾添加比特“0”;转入a.3;
a.3 判断的L型子集是否为空集,如果不为空集,则把的扫描类型由D型转变成L型后添加到LIS表尾部,如果的L型子集为空集,则从LIS表中删除元素;转入步骤8.3.2;
b. 如果的D型子集是不重要集合,则在比特位流表末尾添加比特“0”;
步骤8.3.2 判断的L型子集是否为重要集合:
a. 如果的L型子集是重要集合,则在比特位流表末尾添加比特“1”,并且把的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b.如果的L型子集不是重要集合,则在比特位流表末尾添加比特“0”;
步骤8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,将表中其余系数的第个位平面输出到比特位流表中;
步骤8.5 令,如果比特位流表中的比特数目已经达到,则转入步骤10,否则,转入步骤9。
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤 10. 对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程结束。
一种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待解码比特流和目标码率R,从压缩码流的前2个字节中解码出图像的大小M和N;
步骤 2. 利用算术解码和DPCM解码得到最低频子带系数;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数的坐标添加到LIP中,将第组中存在孩子系数的低频系数坐标添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:利用算术解码从压缩码流中获得1 bit ,
8.2.1 如果=1,表明LIP表中当前坐标的系数为重要系数,则把该系数坐标添加到LSP表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将当前坐标的系数更新为,如果该比特为“0”,则将当前坐标的系数更新为;
8.2.2 如果=0,则LIP表的当前待解码系数为不重要系数,将其从LIP表中删除;
步骤8.3 处理LIS表:如果当前待处理元素P的扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 利用算术解码从压缩码流中获得1 bit;
a 如果=1,表明P对应的D型子集是重要集合,再执行4次步骤a.1~a.4依次判断其4个D型孩子系数的重要性;
a.1 利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则转入a.2,否则转入a.3;
a.2 把P的相应孩子系数的坐标加到LSP表末尾,进一步利用算术解码从压缩码流中再获得1 bit,如果该比特为“1”,则将相应孩子系数更新为,如果该比特为“0”,则将相应孩子系数更新为;转入a.4;
a.3 把相应孩子系数的坐标添加到LIP表末尾;转入a.4;
a.4 判断P的L型子集是否为空集,如果不为空集,则把P的扫描类型由D型转变成L型后添加到LIS表尾部,如果P的L型子集为空集,则从LIS表中删除元素P;转入步骤8.3.2;
b 如果=0,表明P对应的是不重要集合;
步骤8.3.2 利用算术解码从压缩码流中获得1 bit f,判断P的L型子集是否为重要集合,
a 如果f=1,表明P的L型子集是重要集合,则把P的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b 如果f=0,表明P的L型子集不是重要集合;
步骤 8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,对于其余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将该系数的绝对值增加,否则将该系数的绝对值减少;
步骤8.5. 令,如果解码的比特数目已经达到,则转入步骤10,否则,转入步骤9。
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤10. 对解码出的系数进行级小波逆变换得到解码图像,解码过程结束。
本发明实施例与SPIHT图像编码和解码方法对比如下表及图1所示:
Claims (2)
1.一种边缘增强的改进SPIHT图像编码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待编码图像和目标码率 R,设图像大小为像素,并对图像进行级小波变换;
步骤2. 将M和N各用1个字节传输至解码端,并对最低频子带系数进行DPCM编码和算术编码,传输至解码端;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表和比特位流表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数添加到LIP中,将第组中存在孩子系数的低频系数添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:顺序扫描LIP表中的每个系数,
步骤8.2.1 如果,则在比特位流表末尾添加比特“1”,把该系数添加到LSP表末尾,并且如果系数是正数,则在比特位流表末尾添加比特“1”,否则,在比特位流表末尾添加比特“0”;
步骤8.2.2 如果,则在比特位流表末尾添加比特“0”,并且把该系数从LIP表中删除;
步骤8.3 处理LIS表:顺序扫描LIS表中的每个元素,如果其扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 判断的D型子集是否为重要集合: a.如果的D型子集是重要集合,则在比特位流表末尾添加比特“1”,再依次判断的4个D型孩子系数的重要性,
a.1 如果某个孩子系数是重要的,则在比特位流表末尾添加比特“1”,并且把该孩子系数加到LSP表末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特“1”,如果该孩子系数为负数,则在比特位流表末尾添加比特“0”;转入a.3;
a.2 如果某个孩子系数不是重要系数,则把该孩子系数添加到LIP表末尾,并且在比特位流表末尾添加比特“0”;转入a.3;
a.3 判断的L型子集是否为空集,如果不为空集,则把的扫描类型由D型转变成L型后添加到LIS表尾部,如果的L型子集为空集,则从LIS表中删除元素;转入步骤8.3.2;
b. 如果的D型子集是不重要集合,则在比特位流表末尾添加比特“0”;
步骤8.3.2 判断的L型子集是否为重要集合:
a. 如果的L型子集是重要集合,则在比特位流表末尾添加比特“1”,并且把的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b.如果的L型子集不是重要集合,则在比特位流表末尾添加比特“0”;
步骤8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,将表中其余系数的第个位平面输出到比特位流表中;
步骤8.5 令,如果比特位流表中的比特数目已经达到,则转入步骤10,否则,转入步骤9;
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤 10. 对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程结束。
2.一种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按照如下步骤进行:
步骤 1. 输入待解码比特流和目标码率R,从压缩码流的前2个字节中解码出图像的大小M和N;
步骤 2. 利用算术解码和DPCM解码得到最低频子带系数;
步骤 3. 将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅值,计算最大位平面数;
步骤4. 依据最高非0位平面,把高通滤波后的最低频子带系数从大到小分成n组,若某个高通系数的最高非0位平面为其第个位平面,,则将它分到第组,同时建立一个与最低频子带相同大小的二维数组,称为“组号表”,将每个高通系数的组号存储到在组号表对应的元素中;令;
步骤5. 初始化非重要系数表、重要系数表、非重要子集表;
步骤6. 在组号表中扫描第组的每个低频系数,并利用Kirsch算子判断其方向,如果某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第组;如果某个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第组;如果某个系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第组;
步骤 7. 将第组的所有低频系数的坐标添加到LIP中,将第组中存在孩子系数的低频系数坐标添加到LIS中并将其扫描类型设置为D型,计算第组低频系数的最大绝对值A和扫描轮数;
步骤8. 采用类似SPIHT的扫描方式对第组的每个低频系数所在空间方向树上的高频系数进行第轮扫描;
所述类似SPIHT的扫描方式包括如下步骤:
步骤 8.1 如果,则转入步骤9;否则,转入步骤8.2;
步骤 8.2 处理LIP表:利用算术解码从压缩码流中获得1 bit ,
8.2.1 如果=1,表明LIP表中当前坐标的系数为重要系数,则把该系数坐标添加到LSP表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将当前坐标的系数更新为,如果该比特为“0”,则将当前坐标的系数更新为;
8.2.2 如果,则LIP表的当前待解码系数为不重要系数,将其从LIP表中删除;
步骤8.3 处理LIS表:如果当前待处理元素P的扫描类型为D型,则转入步骤8.3.1,否则转入步骤8.3.2;
步骤8.3.1 利用算术解码从压缩码流中获得1 bit;
a 如果=1,表明P对应的D型子集是重要集合,再执行4次步骤a.1~a.4依次判断其4个D型孩子系数的重要性;
a.1 利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则转入a.2,否则转入a.3;
a.2 把P的相应孩子系数的坐标加到LSP表末尾,进一步利用算术解码从压缩码流中再获得1 bit,如果该比特为“1”,则将相应孩子系数更新为,如果该比特为“0”,则将相应孩子系数更新为;转入a.4;
a.3 把相应孩子系数的坐标添加到LIP表末尾;转入a.4;
a.4 判断P的L型子集是否为空集,如果不为空集,则把P的扫描类型由D型转变成L型后添加到LIS表尾部,如果P的L型子集为空集,则从LIS表中删除元素P;转入步骤8.3.2;
b 如果=0,表明P对应的是不重要集合;
步骤8.3.2 利用算术解码从压缩码流中获得1 bit f,判断P的L型子集是否为重要集合,
a 如果f=1,表明P的L型子集是重要集合,则把P的4个直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4;
b 如果f=0,表明P的L型子集不是重要集合;
步骤 8.4 精细扫描:顺序扫描LSP表,除了第轮扫描增加的那些系数以外,对于其余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特为“1”,则将该系数的绝对值增加,否则将该系数的绝对值减少;
步骤8.5. 令,如果解码的比特数目已经达到,则转入步骤10,否则,转入步骤9;
步骤9. 令,若,转入步骤6,否则,转入步骤10;
步骤10. 对解码出的系数进行级小波逆变换得到解码图像,解码过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610164768.1A CN105828088B (zh) | 2016-03-22 | 2016-03-22 | 边缘增强的改进spiht图像编码和解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610164768.1A CN105828088B (zh) | 2016-03-22 | 2016-03-22 | 边缘增强的改进spiht图像编码和解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105828088A CN105828088A (zh) | 2016-08-03 |
CN105828088B true CN105828088B (zh) | 2019-02-15 |
Family
ID=56524321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610164768.1A Expired - Fee Related CN105828088B (zh) | 2016-03-22 | 2016-03-22 | 边缘增强的改进spiht图像编码和解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105828088B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257473B (zh) * | 2017-07-18 | 2020-01-10 | 西安电子科技大学 | 一种高效的图像压缩算法 |
CN109035350B (zh) * | 2018-08-02 | 2023-03-21 | 辽宁师范大学 | 基于能量泄露和放大的改进spiht图像编码和解码方法 |
CN110740333B (zh) * | 2019-08-01 | 2021-07-06 | 辽宁师范大学 | 基于小波模极大值重建的改进spiht图像编码和解码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09172636A (ja) * | 1995-12-19 | 1997-06-30 | Fuji Xerox Co Ltd | 符号化装置 |
CN103209323A (zh) * | 2012-12-26 | 2013-07-17 | 辽宁师范大学 | 基于k阶零树间向量的图像压缩方法 |
CN103841420A (zh) * | 2014-03-07 | 2014-06-04 | 齐齐哈尔大学 | 一种基于感兴趣像素保护的高光谱图像压缩方法 |
CN103856776A (zh) * | 2013-12-26 | 2014-06-11 | 辽宁师范大学 | 边界和曲率驱动修复的图像编码和解码方法 |
-
2016
- 2016-03-22 CN CN201610164768.1A patent/CN105828088B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09172636A (ja) * | 1995-12-19 | 1997-06-30 | Fuji Xerox Co Ltd | 符号化装置 |
CN103209323A (zh) * | 2012-12-26 | 2013-07-17 | 辽宁师范大学 | 基于k阶零树间向量的图像压缩方法 |
CN103856776A (zh) * | 2013-12-26 | 2014-06-11 | 辽宁师范大学 | 边界和曲率驱动修复的图像编码和解码方法 |
CN103841420A (zh) * | 2014-03-07 | 2014-06-04 | 齐齐哈尔大学 | 一种基于感兴趣像素保护的高光谱图像压缩方法 |
Non-Patent Citations (3)
Title |
---|
一种新的小波域视频可分级运动估计方案;宋传鸣;《计算机学报》;20061231;第29卷(第12期);第2112-2118页 |
基于SUSAN算子的边缘增强低比特率图像压缩;陈晓雷;《兰州理工大学学报》;20091231;第35卷(第6期);第89-91页 |
改进的SPIHT图像编解码算法;汲海巍;《基于修复和小波变换的图像编码研究》;辽宁师范大学硕士学位论文;20150701;第25-39页 |
Also Published As
Publication number | Publication date |
---|---|
CN105828088A (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1186942C (zh) | 基于方差的自适应块大小dct图像压缩 | |
CN1303820C (zh) | 基于质量的图像压缩 | |
CN100484244C (zh) | 一种基于像素统计特征和视觉特征的图像编解码处理方法 | |
CN105828088B (zh) | 边缘增强的改进spiht图像编码和解码方法 | |
CN1516848A (zh) | 基于小波变换的图像编解码器中获得编码增益的方法和系统 | |
CN105323503B (zh) | 一种全景视频传输方法及系统 | |
CN1910925A (zh) | 编码和解码视频比特流的方法和装置 | |
CN101132529A (zh) | 基于快速逐次逼近量化的小波图像压缩方法 | |
CN109922339A (zh) | 结合多采样率下采样和超分辨率重建技术的图像编码框架 | |
CN109743575A (zh) | 一种基于朴素贝叶斯的dvc-hevc视频转码方法 | |
CN105825530B (zh) | 基于感兴趣区域的海岸带高光谱图像分布式有损编码和解码方法 | |
CN101155300A (zh) | 一种高误比特率下基于离散小波变换的水声图像压缩方法 | |
CN108769736B (zh) | 面向显示的视频转码码率决策模型的建立及参数确定方法 | |
CN110740333B (zh) | 基于小波模极大值重建的改进spiht图像编码和解码方法 | |
CN102724381B (zh) | 基于jpeg压缩原理的票据类图像压缩方法 | |
CN101489134B (zh) | 用于视频帧内编码的klt矩阵训练方法 | |
CN105306946A (zh) | 一种基于均方误差门限的质量可分级视频编码方法 | |
Zhu et al. | An improved SPIHT algorithm based on wavelet coefficient blocks for image coding | |
CN109035350A (zh) | 基于能量泄露和放大的改进spiht图像编码和解码方法 | |
CN1285215C (zh) | 视频通信系统的帧率调节方法 | |
CN104581157A (zh) | 基于预截断的jpeg2000感兴趣区域编码方法 | |
CN1277418C (zh) | 基于小波变换的视频编码控制方法 | |
CN102811349A (zh) | 可自动调节冗余的无反馈多描述分布式视频编解码器 | |
Shu et al. | Shape adaptive texture coding based on wavelet-based contourlet transform | |
CN101146227A (zh) | 嵌套式渐进可伸缩性三维小波视频编码算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190215 Termination date: 20210322 |