边缘增强的改进spiht图像编码和解码方法
【专利摘要】本发明公开一种边缘增强的改进SPIHT图像编码和解码方法,该方法对小波变换后的图像低频子带进行高通滤波提取出图像中的主要轮廓和边缘,一方面,利用最低频子带实现编码端和解码端之间的同步,无需额外传输同步信息即可定位重要系数,减少了传统SPIHT编码的同步信息量;另一方面,根据低频子带的高通滤波结果控制编解码的优先程度,对图像中人眼视觉系统最为敏感的主要轮廓和边缘进行优先解码,从而提高了解码图像主客观质量。
【专利说明】
边缘増强的改进SPIHT图像编码和解码方法
技术领域
[0001] 本发明设及图像处理领域,尤其是一种同步信息少、主客观质量高的边缘增强的 改进SPIHT图像编码和解码方法。
【背景技术】
[0002] 随着网络多媒体技术及其应用的不断发展,人们对图像编码的要求不断提高,不 仅要求解码图像具有较高的重构质量,同时要求其能够适应网络异构特性及终端计算能力 不同等应用需求。运就需要一种好的解决方法来实现在保证图像质量的前提下去除各种冗 余,用尽量少的比特数来表征图像信息,同时使图像编码码流能很好的适应网络带宽的波 动及不同计算能力终端的解码需求。一个图像的编码码流具有可分级性是指利用该码流的 一部分(或子集)可W产生对该图像一个有用表示的能力,即解码器能够根据分辨率的实际 情况对码流的一部分进行解码。图像编码码流的运种可分级特性可W满足图像的渐进传 输、多质量服务W及图像数据库浏览等应用要求。
[0003] 关于静态图像的编码主要需要考虑两个问题:一是如何能有效地表示重要系数的 位置信息,同时尽量占用少的比特来编码同步信息;二是如何能有效地编码重要系数的幅 值。近年来,基于小波变换的图像可分级编码方法出现了一些经典的算法,如EZW、SPIHT、 MRWD、EBC0T和SPECK等,获得了较好的主观质量效果。对于第一个问题,利用系数分布相似 特性,EZW提出采用"零树"结构来定位重要系数;SPIHT则利用"空间方向微'来定位重要系 数;而利用系数的聚集特性,SPECK采用四叉树结构定位重要系数;MRWD利用数学形态学的 膨胀操作,对重要系数的聚簇进行提取和编码;BSP树(Binary Space Edition Tree)和 GW(Geome化ic Wavelets)方法则通过二值空间分割树确定图像中具有相同系数特性的一 致性区域,进而进行编码;对于第二个问题,EBCOT利用分数位平面编码重要系数,而其他方 法大都采用基于位平面的逐次逼近量化SAQ(Successive Approximation Quantization) 来编码重要系数。然而,一方面,运些方法在同步信息上花费了相当数量的比特开销,从而 影响了重构图像质量,特别在低码率情况下。另一方面,现有方法将所有变换系数同等对 待,而关于结构相似度SSIM (Structural SimiIarity)指标的研究就表明人眼视觉系统对 于图像中的结构差异较之亮度差异更加敏感,具体地讲,人眼视觉系统对于边缘、轮廓区域 的像素值比对平坦区域的像素值敏感,运样将全部系数同等处理不利于保证解码图像的主 观质量。
【发明内容】
[0004] 本发明是为了解决现有技术所存在的上述技术问题,提供一种同步信息少、主客 观质量高的边缘增强的改进SPIHT图像编码和解码方法。
[0005] 本发明的技术解决方案是:一种边缘增强的改进SPIHT图像编码和解码方法,其特 征在于按照如下步骤进行: 步骤1.输入待编码图像和目标码率签,设图像大小为戀K雜像素,并对图像进行
级小波变换; 步骤2.将繳和號各用1个字节传输至解码端,并对最低频子带的系数进行DPCM编码 和算术编码,传输至解码端; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值iifslY,计算最大位平面勤
步骤4.依据最高非O位平面,把高通滤波后的最低频系数从大到小分成综組,若某个 高通系数的最高非O位平面为其第i个位平面,I送i适掛:,则将它分到第S组,同时建立一个 与最低频子带相同大小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号 表对应的元素中;令
步骤5.初始化非重要系数表
重要系数表
、非重要子集表
步骤6.在组号表中扫描第P组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第酱组;如果某 个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第裝组;如果某个系 数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第繫组; 步骤7.将第彩组的所有低频系数添加到Zi户中,将第彩组中存在孩子系数的低频系 数添加到变按中并将其扫描类型设置为D型,计算第密:组低频系数的最大绝对值講和扫描 轮i
步骤8.采用类似SPIHT的扫描方式对第梦组的每个低频系数所在空间方向树上的高 频系数进行第t轮扫描; 所述类似SPIHT的扫描方式包括如下步骤:
步骤8.1如; 转入步骤9;否则,转入步骤8.2; 步骤8.2处: 巧序扫描左IP表中的每个系数e, 步骤8.2.1巧 ,贝化比特位流表末尾添加比特"r,把该系数添加到玄雜表末 尾,并且如果系数C 在位流表末尾添加比特"r,否则,在位流表末尾添加比特"0"; 步骤8.2.2如: 则在位流表末尾添加比特"炉,并且把该系数^从碰表中删除; 步骤8.3处理玉游表处理:顺序扫描LIS表中的每个元素 f,如果其扫描类型为D型,贝U 转入步骤8.3.1,否则转入步骤8.3.2; 步骤8.3.1判断C的D型子集是否为重要集合: a.如果e的D型子集是重要集合,则在比特位流表末尾添加比特"r,再依次判断6的4 个D型孩子系数的重要性, a. 1如果某个孩子系数是重要的,则在比特位流表末尾添加比特"r,并且把该孩子系 数加到I.SP表末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特"r, 如果该孩子系数为负数,则在比特位流表末尾添加比特"0";转入a. 3; a. 2如果某个孩子系数不是重要系数,则把该孩子系数添加到遐黎;表末尾,并且在比 特位流表末尾添加比特"0";转入a. 3; a. 3判断6的L型子集是否为空集,如果不为空集,则把按的扫描类型由D型转变成L型 后添加到主稳表尾部,如果技的L型子集为空集,则从王技表中删除元素我;转入步骤8.3.2; b. 如果曰渐D型子集是不重要集合,则在位流表末尾添加字符"0"; 步骤8.3.2判断S的L型子集是否为重要集合: a. 如果的L型子集是重要集合,则在比特位流表末尾添加比特"r,并且把e的4个 直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4; b. 如果€的L型子集不是重要集合,则在比特位流表末尾添加比特"0"; 步骤8.4精细扫描:顺序扫描戶表,除了第2;轮扫描增加的那些系数W外,将表中 其余系数的第《个位平面输出到比特位流表中; 步骤8.5令
,如果比特位流表中的比特数目已经达到燕父Jlx號,则转入 步骤10,否则,转入步骤9。
[0006] 步骤9.令
转入步骤6,否则,转入步骤10; 步骤10.对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程 结束。
[0007] -种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按 照如下步骤进行: 步骤1.输入待解码比特流和目标码率及,从压缩码流的前2个字节中解码出图像的 大小A/和號; 步骤2.利用算术解码和DPCM解码得到最低频子带的系数; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值iifiTs:,计算最大位平面勤
步骤4.依据最高非0位平面,把高通滤波后的最低频系数从大到小分成皆组,若某个 高通系数的最高非0位平面为其第f个位平面,!<z<??,则将它分到第Z-组,同时建立一个 与最低频子带相同女小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号 表对应的元素中;4
; 步骤5.初始化非重要系数表:
步骤6.在组号表中扫描第梦组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第彩组;如果某个 系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第取组;如果某个系 数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第梦组; 步骤7.将第F组的所有低频系数的坐标添加到IiP中,将第窮组中存在孩子系数的 低频系数坐标添加到王/又中并将其扫描类型设置为D型,计算第歎组低频系数的最大绝对 值和扫描轮i
步骤8.采用类似SPIHT的扫描方式对第F组的每个低频系数所在空间方向树上的高 频系数进行第3;轮扫描; 所述类似SPIHT的扫描方式包括如下步骤: 步骤8.1如勇
则转入步骤9;否则,转入步骤8.2; 步骤8.2处理盘^隶:利用算术解码从压缩码流中获得1 bit C, 8.2.1如果e=l,表明盤度表中当前坐标的系数为重要系数,则把该系数坐标添加到 左5'p表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为"r,则将当前坐 标的系数更新为!,觀妒,如果该比特为"0",则将当前坐标的系数更新为-Lfe#; 8.2.2如果e =0,则里雜表的当前待解码系数为不重要系数,将其从态游表中删除; 步骤8.3处理玄蕊表处理:如果当前待处理元素.P的扫描类型为D型,则转入步骤 8.3.1,否则转入步骤8.3.2; 步骤8.3.1利用算术解码从压缩码流中获得1 bits; a如果带=1,表明P对应的D型子集是重要集合,再执行4次步骤a. 1~a.4依次判断其4 个D型孩子系数的重要性; a.1利用算术解码从压缩码流中获得1 bit,如果该比特为"1",则转入a.2,否则转入 a.3; a.2把裝的相应孩子系数的坐标加到LSP表末尾,进一步利用算术解码从压缩码流 中再获得1 bit,如果该比特为"1",则将相应孩子系数更新为,如果该比特位为 "0",则将相应孩子系数更新为斗著;转入a.4; a.3把相应孩子系数的坐标添加到挺藉表末尾;转入a.4; a.4判断P的L型子集是否为空集,如果不为空集,则把梦的扫描类型由D型转变成L型 后添加到IJS表尾部,如果寅的L型子集为空集,则从£1 进表中删除元素其:;转入步骤8.3.2; b如果S =0,表明护对应的是不重要集合; 步骤8.3.2利用算术解码从压缩码流中获得1 bitf,判断取的L型子集是否为重要集 厶 1=1 ? a如果f=l,表明热的L型子集是重要集合,则把热的4个直接孩子系数添加到过沒表尾 部,将其扫描类型设置为D型;转入步骤8.4; b如果f=0,表明P的L型子集不是重要集合; 步骤8.4精细扫描:顺序扫描LSP表,除了第3;轮扫描增加的那些系数W外,对于其 余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特位"r,则将该系 数的绝对值增加^梦4,否则将该系数的绝对值减少;梦; 步骤8.5.令
,如果解码的比特数目已经达到赛k撒X嫌,则转入步骤10, 否则,转入步骤9。
[000引步骤9.令
,转入步骤6,否则,转入步骤10; 步骤10.对解码出的系数进巧
级小波逆变换得到解码图像,解 码过程结束。
[0009] 与现有技术相比,本发明具有W下特点:第一,考虑到绝大多数的大幅值小波变换 系数分布在图像轮廓和边缘等处,本发明对小波变换后的图像低频子带进行高通滤波提取 出图像中的主要轮廓和边缘,从而利用最低频子带实现编码端和解码端之间的同步,无需 额外传输同步信息即可定位重要系数,明显节省了传统SPIHT编码的同步信息量。运些节省 下来的同步比特就能够用于解码那些大幅值变换系数,进而提高解码图像的客观质量;第 二,本发明根据低频子带的高通滤波结果控制编解码的优先程度,对图像中人眼视觉系统 最为敏感的主要轮廓和边缘进行优先解码,有利于提高解码图像的主观质量。
【附图说明】
[0010] 图1是本发明实施例与SPIHT图像编码方法的效果对比图。 具体实施例
[0011] -种边缘增强的改进SPIHT图像编码和解码方法,其特征在于按照如下步骤进行: 步骤1.输入待编码图像和目标码率及,设图像大小为證Je載像素,并对图像进行
爱小波变换; 步骤2.将,4/'和兴各用1个字节传输至解码端,并对最低频子带的系数进行DPCM编码 和算术编码,传输至解码端; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值A姑X,计算最大位平面勤
步骤4.依据最高非0位平面,把高通滤波后的最低频系数从大到小分成沒组,若某个 高通系数的最高非0位平面为其第自个位平面,1皂i送K,则将它分到第i组,同时建立一个 与最低频子带相同大小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号 表对应的元素中;令
步骤5.初始化非重要系数表
、重要系数表
.非重要子集表
步骤6.在组号表中扫描第載组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第裘頌;如果某 个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第梦组;如果某个 系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第r 组; 步骤7.将第窮组的所有低频系数添加到遐涼中,将第窮组中存在孩子系数的低频系 数添加到汇銭中并将其扫描类型设置为D型,计算第彩组低频系数的最大绝对值.4和扫描 轮数
; 步骤8.采用类似SPIHT的扫描方式对第F组的每个低频系数所在空间方向树上的高 频系数进行第3;轮扫描; 所述类似SPIHT的扫描方式包括如下步骤:
步骤8.1如勇 转入步骤9;否则,转入步骤8.2; 步骤8.2处度 !序扫描王恕表中的每个系数C, 步骤8.2.1如: ,则在比特位流表末尾添加比特"r,把该系数添加到玉雜表 末尾,并且如果系数C是正数,则在位流表末尾添加比特"r,否则,在位流表末尾添加比特 步骤8.2.2如果
,则在位流表末尾添加比特"0",并且把该系数C从丞鎖表中删 除; 步骤8.3处理L巧表处理:顺序扫描LIS表中的每个元素软,如果其扫描类型为D型,贝U 转入步骤8.3.1,否则转入步骤8.3.2; 步骤8.3.1判断;g的D型子集是否为重要集合(即该元素的子孙系数中存在绝对值不 小于/y的系数): a.如果€的0型子集是重要集合,则在比特位流表末尾添加比特"r,再依次判断6的4 个D型孩子系数的重要性, a. 1如果某个孩子系数是重要的,则在比特位流表末尾添加比特"r,并且把该孩子系 数加到£雜素末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特"r, 如果该孩子系数为负数,则在比特位流表末尾添加比特"0";转入a. 3; a. 2如果某个孩子系数不是重要系数,则把该孩子系数添加到£IP表末尾,并且在比 特位流表末尾添加比特"0";转入a. 3; a. 3判断C的L型子集是否为空集,如果不为空集,则把6渐扫描类型由D型转变成L型 后添加到王15'表尾部,如果e的L型子集为空集,则从IJ5表中删除元素餐;转入步骤8.3.2; b. 如果;r的D型子集是不重要集合,则在位流表末尾添加字符"0"; 步骤8.3.2判断岩的L型子集是否为重要集合: a. 如果该的L型子集是重要集合,则在比特位流表末尾添加比特"r,并且把若的4个 直接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4; b. 如果皆的L型子集不是重要集合,则在比特位流表末尾添加比特"0"; 步骤8.4精细扫描:顺序扫描LSP表,除了第3:轮扫描增加的那些系数W外,将表中 其余系数的第马个位平面输出到比特位流表中; 步骤8.5令
如果比特位流表中的比特数目已经达至隧kM:x游,则转入 步骤10,否则,转入步骤9。
[0012] 步骤9.令
,转入步骤6,否则,转入步骤10; 步骤10.对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程 结束。
[0013] -种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按 照如下步骤进行: 步骤1.输入待解码比特流和目标码率忿,从压缩码流的前2个字节中解码出图像的 大小M和蘇; 步骤2.利用算术解码和DPCM解码得到最低频子带的系数; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值ik姑E,计算最大位平面邀
步骤4.依据最高非0位平面,把高通滤波后的最低频系数从大到小分成M组,若某个 高通系数的最高非0位平面为其第I-个位平面,]<?<;.:,则将它分到第i组,同时建立一个 与最低频子带相同大小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号 表对应的元素中;令
步骤5.初始化非重要系数表
、非重要子集表
步骤6.在组号表中扫描第載组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第彩组;如果某 个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第沪组;如果某个 系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第r 组; 步骤7.将第窮纽的所有低频系数的坐标添加到ZJP中,将第窮组中存在孩子系数的 低频系数坐标添加到玄按中并将其扫描类型设置为D型,计算第麥组低频系数的最大绝对 值;J和扫描轮数
步骤8.采用类似SPIHT的扫描方式对第F组的每个低频系数所在空间方向树上的高 频系数进行第1;轮扫描; 所述类似SPIHT的扫描方式包括如下步骤: 步骤8.1如果
则转入步骤9;否则,转入步骤8.2; 步骤8.2处理;錢g表:利用算术解码从压缩码流中获得1 bit C, 8.2.1如果C=I,表明滋护表中当前坐标的系数为重要系数,则把该系数坐标添加到 ISP表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为"r,则将当前坐 标的系数更新为錢X#,如果该比特为"0",则将当前坐标的系数更新为冰转萨; 8.2.2如果£:=0,则遐凉表的当前待解码系数为不重要系数,将其从丞顯表中删除; 步骤8.3处理I/.S'表处理:如果当前待处理元素衣的扫描类型为D型,则转入步骤 8.3.1,否则转入步骤8.3.2; 步骤8.3.1利用算术解码从压缩码流中获得1 biur; a如果谊:=1,表明软对应的D型子集是重要集合,再执行4次步骤a. I~a. 4依次判断其4 个D型孩子系数的重要性; a.1利用算术解码从压缩码流中获得1 bit,如果该比特为"1",则转入a.2,否则转入 a.3; a. 2把F的相应孩子系数的坐标加到丕雜表末尾,进一步利用算术解码从压缩码流 中再获得1 bit,如果该比特为"r,则将相应孩子系数更新为!.敎选^,如果该比特位为 "0",则将相应孩子系数更新为-!、&# ;转入a. 4; a. 3把相应孩子系数的坐标添加到怠密隶末尾;转入a. 4; a.4判断F的L型子集是否为空集,如果不为空集,则把取的扫描类型由D型转变成L型 后添加到五搂表尾部,如果护的L型子集为空集,则从五搂表中删除元素 F ;转入步骤 8.3.2; b如果f=0,表明P对应的是不重要集合; 步骤8.3.2利用算术解码从压缩码流中获得1 bit f,判断F的L型子集是否为重要集 厶 1=1 ? a如果f=l,表明F的L型子集是重要集合,则把取的4个直接孩子系数添加到£掷表尾 部,将其扫描类型设置为D型;转入步骤8.4; b如果f=0,表明梦的L型子集不是重要集合; 步骤8.4精细扫描:顺序扫描王装C表,除了第轮扫描增加的那些系数W外,对于其 余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特位"r,则将该系 数的绝对值增加梦,否则将该系数的绝对值减少;
步骤8.5.令 如果解码的比特数目已经达到妓父溢装游,则转入步骤10, 否则,转入步骤9。
[0014] 步骤9. ^ 卽3 >0,转入步骤6,否则,转入步骤10; 步骤10.对解码出的系数进巧
级小波逆变换得到解码图像,解 码过程结束。
[00151 太货巧违施例白SPTHT图像缩招巧値招方诀对比如下亲巧图1所元,
【主权项】
1. 一种边缘增强的改进SPIHT图像编码和解码方法,其特征在于按照如下步骤进行: 步骤1.输入待编码图像和目标码率ι?,设图像大小为发像素,并对图像进行步骤2.将J/和次各用1个字节传输至解码端,并对最低频子带的系数进行DPCM编码 和算术编码,传输至解码端; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值Μτ?:,计算最大位平面数界=; 步骤4.依据最高非0位平面,把高通滤波后的最低频系数从大到小分成魏组,若某个高 通系数的最高非0位平面为其第?个位平面,则将它分到第#组,同时建立一个与 最低频子带相同大小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号表 对应的元素中;令沪 步骤5.初始化非重要系数表_梦=_、重要系数表二傷、非重要子集表: 和比特位流表=0 ; 步骤6.在组号表中扫描第梦:组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第歡组;如果某 个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第梦组;如果某个 系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第Γ 组; 步骤7.将第组的所有低频系数添加到中,将第I?组中存在孩子系数的低频系 数添加到US中并将其扫描类型设置为D型,计算第Ρ组低频系数的最大绝对值2和扫描 轮数?; = (_/〇& .4 j ; 步骤8.采用类似SPIHT的扫描方式对第梦:组的每个低频系数所在空间方向树上的高频 系数进行第rt.轮扫描; 所述类似SPIHT的扫描方式包括如下步骤: 步骤8.1如果I; < i,则转入步骤9;否则,转入步骤8.2; 步骤8.2处理表:顺序扫描表中的每个系数&, 步骤8.2.1如果,则在比特位流表末尾添加比特"Γ,把该系数添加到X:變表 末尾,并且如果系数e是正数,则在位流表末尾添加比特T,否则,在位流表末尾添加比特 "0,,; 步骤8.2.2如果g<#,则在位流表末尾添加比特"〇",并且把该系数e从IZF:表中删 除; 步骤8.3处理心这表处理:顺序扫描LIS表中的每个元素:0,如果其扫描类型为D型,则 转入步骤8.3.1,否则转入步骤8.3.2; 步骤8.3.1判断r的D型子集是否为重要集合:a.如果¥的D型子集是重要集合,则在 比特位流表末尾添加比特T,再依次判断著的4个D型孩子系数的重要性, a. 1如果某个孩子系数是重要的,则在比特位流表末尾添加比特"Γ,并且把该孩子系 数加到JS逆表末尾,进一步,如果该孩子系数是正数,则在比特位流表末尾添加比特"Γ, 如果该孩子系数为负数,则在比特位流表末尾添加比特"〇" ;转入a. 3; a. 2如果某个孩子系数不是重要系数,则把该孩子系数添加到么逆表末尾,并且在比特 位流表末尾添加比特"〇" ;转入a. 3; a. 3判断&的L型子集是否为空集,如果不为空集,则把夂:的扫描类型由D型转变成L型 后添加到LJS表尾部,如果e的L型子集为空集,则从表中删除元素 e ;转入步骤8.3.2; b. 如果e的0型子集是不重要集合,则在位流表末尾添加字符"0" ; 步骤8.3.2判断在的L型子集是否为重要集合: a. 如果^的L型子集是重要集合,则在比特位流表末尾添加比特"Γ,并且把e的4个直 接孩子系数添加到LIS表尾部,将其扫描类型设置为D型;转入步骤8.4; b. 如果e的L型子集不是重要集合,则在比特位流表末尾添加比特"0" ; 步骤8.4精细扫描:顺序扫描1SP表,除了第5;轮扫描增加的那些系数以外,将表中 其余系数的第ξ个位平面输出到比特位流表中; 步骤8.5令:=2? =1:,如果比特位流表中的比特数目已经达到,则转入步 骤10,否则,转入步骤9; 步骤9.令p =雷一 1,若P > Q,转入步骤6,否则,转入步骤1 〇; 步骤10.对比特位流表进行算术编码得到压缩码流,并将其传输至解码端,编码过程 结束。2.-种与上述边缘增强的改进SPIHT图像编码方法对应的解码方法,其特征在于按照 如下步骤进行: 步骤1.输入待解码比特流和目标码率歲,从压缩码流的前2个字节中解码出图像的大 小Λ/和遂; 步骤2.利用算术解码和DPCM解码得到最低频子带的系数; 步骤3.将最低频子带系数进行拉普拉斯高通滤波,找出高通系数的绝对值最大的幅 值遂&£,计算最大位平面数疼= 異奪? | ; 步骤4.依据最高非0位平面,把高通滤波后的最低频系数从大到小分成碎组,若某个高 通系数的最高非0位平面为其第i个位平面,,则将它分到第i·组,同时建立一个与 最低频子带相同大小的二维数组,称为"组号表",将每个高通系数的组号存储到在组号表 对应的元素中;令= ? ; 步骤5.初始化非重要系数表£1終=最、重要系数表、非重要子集表; 步骤6.在组号表中扫描第F组的每个低频系数,并利用Kirsch算子判断其方向,如果 某个系数属于水平方向,则在组号表中把与它相邻的左右两个系数也归为第F组;如果某 个系数属于竖直方向,则在组号表中把与它相邻的上下两个系数也归为第避组;如果某个 系数属于对角线方向,则在组号表中把沿着对角线方向与它相邻的两个系数也归为第貧组; 步骤7.将第P组的所有低频系数的坐标添加到__中,将第麗:组中存在孩子系数的 低频系数坐标添加到尤孩中并将其扫描类型设置为D型,计算第梦:组低频系数的最大绝对 值2和扫描轮数篇=#韵 步骤8.采用类似SPIHT的扫描方式对第梦组的每个低频系数所在空间方向树上的高频 系数进行第P轮扫描; 所述类似SPIHT的扫描方式包括如下步骤: 步骤8.1如果I; < i,则转入步骤9;否则,转入步骤8.2; 步骤8.2处理1想表:利用算术解码从压缩码流中获得1 bit £:, 8.2.1如果?;=1,表明Ι/P表中当前坐标的系数为重要系数,则把该系数坐标添加到 12戀表末尾;继续利用算术解码从压缩码流中获得1 bit,如果该比特为"Γ,则将当前坐 标的系数更新为,如果该比特为"〇",则将当前坐标的系数更新为 8.2.2如果=〇,则iXP表的当前待解码系数为不重要系数,将其从表中删除; 步骤8.3处理ZJS表处理:如果当前待处理元素的扫描类型为D型,则转入步骤 8.3.1,否则转入步骤8.3.2; 步骤8.3.1利用算术解码从压缩码流中获得1 bit a如果(6=1,表明P对应的D型子集是重要集合,再执行4次步骤a. 1~a.4依次判断其4个 D型孩子系数的重要性; a. 1利用算术解码从压缩码流中获得1 bit,如果该比特为T,贝啭入a.2,否贝啭入a. 3; a.2把B的相应孩子系数的坐标加到ZSP表末尾,进一步利用算术解码从压缩码流中 再获得1 bit,如果该比特为"Γ,则将相应孩子系数更新为如果该比特位为"〇", 贝1J将相应孩子系数更新为-L&#:;转入a. 4; a. 3把相应孩子系数的坐标添加到i:|P.表末尾;转入a. 4; a. 4判断,Ρ的L型子集是否为空集,如果不为空集,则把浐的扫描类型由D型转变成L型 后添加到US'表尾部,如果史的L型子集为空集,则从表中删除元素转入步骤8.3.2; b如果£*=〇,表明P对应的是不重要集合; 步骤8.3.2利用算术解码从压缩码流中获得1 bit f,判断F的L型子集是否为重要集 合, a如果f=l,表明於的L型子集是重要集合,则把的4个直接孩子系数添加到£|矣表尾 部,将其扫描类型设置为D型;转入步骤8.4; b如果f=0,表明多的L型子集不是重要集合; 步骤8.4精细扫描:顺序扫描I.6T表,除了第I:轮扫描增加的那些系数以外,对于其 余的每个待处理系数,利用算术解码从压缩码流中获得1 bit,如果该比特位"Γ,则将该系 数的绝对值增加#_1,否则将该系数的绝对值减少; 步骤8.5.令:# ^,如果解码的比特数目已经达至_1<_:)<齋,则转入步骤1〇,否 贝1J,转入步骤9; 步骤9.令,,若_ :>氣转入步骤6,否则,转入步骤10; 步骤10.对解码出的系数进行级小波逆变换得到解码图像,解 码过程结束。
【文档编号】H04N19/64GK105828088SQ201610164768
【公开日】2016年8月3日
【申请日】2016年3月22日
【发明人】宋传鸣, 王相海, 汲海巍, 闵新
【申请人】辽宁师范大学