CN104134224B - 一种形状自适应编码的证件照片压缩方法 - Google Patents
一种形状自适应编码的证件照片压缩方法 Download PDFInfo
- Publication number
- CN104134224B CN104134224B CN201410360901.1A CN201410360901A CN104134224B CN 104134224 B CN104134224 B CN 104134224B CN 201410360901 A CN201410360901 A CN 201410360901A CN 104134224 B CN104134224 B CN 104134224B
- Authority
- CN
- China
- Prior art keywords
- coding
- node
- mask
- low
- interval
- 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
Links
Abstract
本发明公开一种形状自适应编码的证件照片压缩方法,其步骤主要有:利用图像区域分割与图像边缘检测相结合的方法精准分割证件照片;利用4‑方向链码方法编码证件照片前景区域轮廓;利用提升形状自适应离散小波变换去除前景区域图像像素相关性;利用基于上下文预测编码方法编码小波低频系数;利用形状自适应零树编码法编码小波高频系数;提取背景信息;整合轮廓编码、零树编码和预测编码的编码序列,利用整数自适应算术编码法进行二次编码。本发明具有对证件照片高效压缩和良好视觉效果的优点。
Description
技术领域
本发明涉及一种图像压缩技术,特别涉及一种形状自适应编码的证件照片压缩方法。
背景技术
图像之所以能够被压缩,是因为它具有大量的数据信息,而这些数据信息存在着冗余数据。传统图像压缩是将整幅图像的所有区域作为同等重要的一个对象进行压缩,然而人类视觉系统对于图像信息的感知是具有选择性的,人们在观察和分析图像的时候,往往会被图像中的某些区域引起特别的关注。
人们通过证件照片辨识人的信息主要在照片的前景区域,对于背景区域几乎可以忽略不计。针对证件照片的这个特点,目前也有很多针对证件照片的压缩算法。基于特征校正的二级矢量量化算法实现了对黑白照片的压缩,结合二级矢量量化算法和改进嵌入式零树编码的混合算法实现了对彩色照片的压缩,三级质量分级算法也实现了对彩色照片的压缩。但是这三种方法都有共同的特点,区分证件照片关注区域和非关注区域采用不同的编码方法提高压缩的效率,但是它们也都存在一定的局限性,对于关注区域的设定不是任意形状区域,而是简单的矩形区域。本发明克服了这个局限性,实现了证件照片的精准分割并引入形状自适应编码算法应用到证件照片的压缩中,不仅提高照片的压缩效率,同时还能保持良好的人眼视觉效果。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种形状自适应编码的证件照片压缩方法,该证件照片压缩方法是一种基于轮廓的任意形状的压缩方法,其压缩效率高,重构的证件照片有清晰轮廓,具有良好的人眼视觉效果,支持对照片前景区域的单独编辑和访问。
本发明的目的通过下述技术方案实现:一种形状自适应编码的证件照片压缩方法,主要包括以下步骤:证件照片精准分割、证件照片前景区域轮廓编码、形状自适应图像编码;整数自适应算术编码。
证件照片精准分割步骤,结合四叉树分裂合并分割与Canny边缘检测的分割方法精准的提取证件照片前景区域。利用四叉树分裂合并分割取得照片前景区域的粗略位置,结合Canny边缘检测提取照片的边界轮廓,最后结合坐标系旋转与最小二乘法曲线拟合技术连接间断轮廓形成闭合轮廓。
前景区域轮廓编码步骤,首先提取需要编码的轮廓,然后对轮廓采用4-方向链码进行编码。需要提取的轮廓是指与照片边框重叠之外的前景区域轮廓。
任意形状图像编码中,利用形状自适应提升小波变换去除照片前景区域图像相关性,得到相应小波系数;用基于上下文的预测编码法编码小波低频系数;用形状自适应小波零树编码法编码小波高频系数。
整数自适应算术编码步骤,整合轮廓编码与前景区域编码序列,利用整数自适应算术编码进行二次编码。
本发明的具体方案可以如下:一种形状自适应编码的证件照片压缩方法,包括以下步骤:
步骤1、证件照片分割;
步骤2、证件照片前景区域轮廓编码;
步骤3、形状自适应图像编码;
步骤4、整数自适应算术编码;整合轮廓编码与前景区域编码序列,利用整数自适应算术编码进行二次编码;
所述步骤1包括以下步骤:
步骤11、四叉树分裂合并分割证件照片,得到照片前景区域的初始掩膜;
步骤12、边缘检测提取证件照片轮廓图像;
步骤13、将步骤(11)中的掩膜缩小至一个像素宽度,得到缩小后的掩膜;
步骤14、将步骤(11)中的初始掩膜与步骤(13)中缩小后的掩膜进行减法运算,生成最终的掩膜;
步骤15、将步骤(14)中最终的掩膜与步骤(12)中的轮廓图像进行与运算,生成与运算后的轮廓;
步骤16、采取坐标系旋转和最小二乘法,曲线拟合并连接步骤(15)中与运算后的轮廓,得到照片前景区域的轮廓;
步骤17、根据步骤(16)中的照片前景区域的轮廓生成前景区域的掩膜;
步骤18、根据步骤(17)中前景区域的掩膜,提取证件照片前景区域图像;
所述步骤2包括以下步骤:
步骤21、提取需要编码的轮廓;
步骤22、对需要编码的轮廓采用4-方向链码进行编码。
所述步骤3包括以下步骤:
步骤31、证件照片前景区域掩膜分解;
步骤32、采用形状自适应提升小波变换去除照片前景区域图像相关性,得到相应小波系数;
步骤33、采用形状自适应小波零树编码法编码小波高频系数。
步骤34、采用基于上下文的预测编码法编码小波低频系数;
所述步骤31包括以下步骤:
步骤A1、从任意形状的前景掩膜中取出第一列掩膜;
步骤A2、在每一列内,确定由连续掩膜点组成的第一个分段;
步骤A3、分别用偶采样和奇采样取得低频和高频的掩膜数目;
步骤A4、将低频掩膜放在低频子带内相应的列中,高频掩膜放在高频子带内相应的列中;
步骤A5、对该列中由连续掩膜组成的下一个分段进行上述操作;
步骤A6、对下一列的掩膜进行上述分解操作,直到所有列分解完毕为止;
步骤A7、对低频和高频区域的掩膜进行转秩运算;
步骤A8、重复执行步骤A1~A6;
步骤A9、对低频和高频区域的掩膜进行转秩运算;
步骤A10、对低频-低频子带重复执行步骤A1~A9,直到完成掩膜分解级数为止。
所述步骤32包括以下步骤:
步骤B1、利用掩膜分解的位置信息确定要需要变换的第一列系数;
步骤B2、在每一列内,利用掩膜分解信息确定需要变换的第一个分段;
步骤B3、将当前分段系数采用一维适形离散小波变换的提升方案进行处理;
步骤B4、低通小波系数根据分解的掩膜信息放在低通子带内相应的列中,高通小波系数则放在高通子带内相应的列中;
步骤B5、对该行中由连续系数组成的下一个分段进行上述操作;
步骤B6、对下一列的像素进行上述操作;
步骤B7、将上述变换得到的低通、高通区域进行转秩运算;
步骤B8、重复步骤B1~B6,得到四个子带;
步骤B9、对步骤B8中所述的四个子带进行转秩运算;
步骤B10、对低频-低频子带重复执行步骤B1~B9,直到完成小波分解级数为止。
所述步骤33包括以下步骤:
C1、在小波树根节点层,利用掩膜信息判断当前节点是否是外节点:如果当前节点是外节点,则对当前节点不进行编码,并标记当前节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;如果当前节点不是外节点,则用自适应算术编码器/解码器对当前节点进行编码;如果当前符号是孤立零点或者是值,并标记当前节点的4个孩子节点,编码时标记为TBE,解码时标记为TBD;如果当前符号是零树根或者零树根值,那么将当前节点的4个孩子节点标记为NC;如果当前符号是VAL或者VZTR,使用算术编码器/解码器将这个节点编码/解码成一个非0小波系数;如果当前符号是IZ或者ZTR,把当前节点对应的小波系数设置为0;
C2、介于根节点层和叶子层中所有的节点,利用掩膜信息判断节点是否是外节点:如果当前节点是外节点,则对该节点不进行编码,并标记当前节点的4个孩子节点,编码时根据该节点被标记的状态TBE或者NC对应标记该节点的4个孩子节点为TBE或者NC,在解码时根据该节点被标记的状态TBD或者NC对应标记该节点的4个孩子节点为TBD或者NC;如果当前节点不是外节点,判断当前节点是否被标记为NC,如果是,则对当前节点不进行编码,并将当前节点对应的小波系数设置为0;否则,用自适应算术编码器/解码器对当前节点编码一个符号:如果当前符号是IZ或者VAL,标记该节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;如果当前符号是ZTR或者VZTR,标记该节点的4个孩子节点为NC;如果当前符号是VAL或者VZTR,使用算术编码器/解码器将当前节点编码/解码成一个非0小波系数;如果当前符号是IZ或者ZTR,那么将当前节点所对应的小波系数设置为0;
C3、叶子层节点,利用掩膜信息判断节点是否是外节点,如果是,则对当前节点不进行编码;否则,判断当前节点是否被标记为NC,如果是,则对当前节点不使用位,并将该节点对应的小波系数值设置为0;否则,用自适应算术编码器/解码器设置当前节点编码/解码一个非0小波系数;
所述步骤34包括以下步骤:
D1、根据低频掩膜,提取有效DC系数;
D2、对步骤D1中的DC系数采用均匀量化方法,同时将量化步长编入比特流中;
D3、计算掩膜范围内DC系数的均值,并将其编入比特流中,将掩膜区域外的点填均值;
D4、如果VA、VB、VC和VX分别表示A、B、C和X的像素值,对掩膜区域内的DC系数进行预测;
D5、将步骤D4预测到的DC系数进行偏移,偏移量是系数偏移后最小系数值,以确保DC系数为非负实数,将系数偏移后的最小值和最大值编入比特流中;
D6、采用位平面编码方法从高比特平面到低比特平面的顺序编码偏移后的DC系数;
VX=VX-pred, (2)
其中,pred表示偏移后的DC系数,VA表示A的像素值,VB表示B的像素值,VC表示C的像素值,VX表示X的像素值。
在步骤4中,整合背景信息、轮廓编码序列和前景区域编码序列进行整数自适应算术编码,去除编码的信息冗余;设字符串s的字符来自符号集s={a1,a2,…,am},p(ai)表示字符ai的概率,s后跟字符ai扩展成字符串sai,所述步骤4主要包括如下步骤:
步骤41、初始化;编码区间[low(s),high(s)]初始化为[0,Integer),Integer是一个大于m的整数;字符ai的概率p(ai)初始化为等值概率,如公式(3);
p(a1)=p(a2)=…=p(am)=[Integer/m], (3)
(2)刷新字符概率,如公式(4);
p(ai)=p(ai)+1, (4)
(3)刷新字符累积概率,如公式(5):
(4)刷新编码区间,如公式(6)~(8);
A(sai)=[low(sai),high(sai)), (6)
low(sai)=low(s)+[(high(s)-low(s)+1)×p(ai)/p(am)], (7)
high(sai)=low(s)+[(high(s)-low(s)+1)×(p(ai)+p(ai))/p(am)]-1, (8)
(5)输出字符串概率值,如公式(9)。
Pencode=low(sai), (9)
步骤42、对于区间[low,high]进行区间扩展;在计算机中整数区间[low,high]的上限和下限是以二进制进行表示的,根据二进制值的最高两位,有四个区间值,low和high在所述四个区间中存在第一种分布情况(情况1)、第二种分布情况(情况2)、第三种分布情况(情况3)、第四种分布情况(情况4)、第五种分布情况(情况5)和第六种分布情况(情况6),在所述第一种分布情况、第四种分布情况和第六种分布情况中,对区间[low,high]进行扩展,在所述第二种分布情况、第三种分布情况和第五种分布情况中不对区间[low,high]进行扩展;所述对区间[low,high]进行扩展的扩展方法如下:
在所述第一种分布情况中,对区间[low,high]进行扩展的扩展方法为:所述第一种分布情况的区间上限和下限二进制值的最高位都是1,在后续编码区间更新过程中,区间上限和下限的最高位二进制值保持不变;移除区间上限和下限的二进制最高位“1”,然后在区间上限high的二进制值的最后一位补“1”,在区间下限low的二进制值的最后一位补“0”;然后检查二进制值的次高位,如果区间上限high的二进制值的次高位是“0”,而区间下限low的二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,使解码时能够还原到相应的编码区间;通过移除高位、忽略次高位以及低位补位的操作,更新编码区间的上限值与下限值,以放大编码区间[low,high];
在第四种分布情况中,对区间[low,high]进行扩展的扩展方法为:第四种分布情况的区间上限和下限二进制值的最高位分别是“1”和“0”;检查二进制值的次高位,该检查方法与第一种分布情况中检查次高位的方法相同,如果区间上限二进制值的次高位是“0”,而下限二进制值的次高位是“1”,忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,为解码提供相应的信息;
在第六种分布情况中,对区间[low,high]进行扩展的扩展方法为:第六种分布情况的区间上限和下限二进制值的最高位都是0;移除二进制值的最高位并在最低位进行补位;同时检查二进制值的次高位,如果区间上限high的二进制值的次高位是“0”,而区间下限low的二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,使解码时能够还原到相应的编码区间;通过移除高位、忽略次高位以及低位补位的操作,更新编码区间的上限值与下限值,以放大编码区间[low,high]。
本发明的原理:本发明对于任意形状的证件照片前景区域和背景区域分别采用不同的处理方式,实现证件照片的高效压缩和良好人眼视觉效果;证件照片前景区域采用基于轮廓的形状自适应图像编码算法进行编码,背景区域信息采用一个具有代表性的背景像素值进行表示;本压缩方法能实现任意形状照片前景区域编码,对证件照片实施高效率编码,同时保证重构照片具有清晰的轮廓和良好的人眼视觉效果。
本发明相对于现有技术具有如下的优点及效果:
(1)克服了矩形编码区域的局限性,支持任意形状区域编码,支持对进行基于内容的访问和编辑。
(2)轮廓采用最小二乘法曲线拟合技术处理后用4-方向链码进行编码,重构的证件照片有清晰轮廓。
(3)前景区域采用基于提升自适应小波变换的编码方法,整个背景区域利用一个特征值表示,照片压缩效率高,具有良好的人眼视觉效果。
附图说明
图1为本压缩方法证件照片精准分割的流程图。
图2为本压缩方法任意形状证件照片前景区域编码的流程图。
图3-1表示信号起始位置在偶位置的情况的任意长度一维掩膜分解后位置信息示意图。
图3-2表示信号起始位置在奇位置的情况的任意长度一维掩膜分解后位置信息示意图。
图4为小波低频系数编码中,预测系数X与周围系数的分布示意图。
图5为整数自适应算术编码中区间状态的6种情况。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
一种形状自适应编码的证件照片压缩方法,包括以下步骤:
1、证件照片精准分割;结合四叉树分裂合并分割与Canny边缘检测的分割方法精准的提取证件照片前景区域。利用四叉树分裂合并分割取得照片前景区域的粗略位置,结合Canny边缘检测提取照片的边界轮廓,最后结合坐标系旋转与最小二乘法曲线拟合技术连接间断轮廓形成闭合轮廓。如图1所示,证件照片分割具体包括以下步骤:(1)四叉树分裂合并分割证件照片,得到照片前景区域掩膜粗略位置;(2)Canny边缘检测提取证件照片轮廓图像;(3)将步骤(1)掩膜缩小3(或者5)个像素宽度,得到新的掩膜;(4)将步骤(1)掩膜与步骤(3)掩膜执行减法运算,生成新掩膜;(5)将步骤(4)掩膜与步骤(2)轮廓图像进行与运算,生成新轮廓;(6)结合坐标系旋转与最小二乘法曲线拟合连接步骤(5)轮廓,得到照片前景区域的轮廓;(7)根据步骤(6)得到的轮廓生成前景区域的掩膜;(8)根据步骤(7)掩膜提取证件照片前景区域图像。
2、证件照片前景区域轮廓编码,如图2所示,其步骤包括:(1)根据所述步骤(7)中所得到的掩膜,生成4-连通的轮廓;(2)步骤(1)中的轮廓与证件照片边框执行与运算,生成新轮廓;(3)步骤(1中)的轮廓与步骤(2)中生成的新轮廓执行减法运算,生成新轮廓;(4)采用4-方向链码E3轮廓,生成4-链码的码流。
3、证件照片前景区域编码包括证件照片前景区域的掩膜分解、证件照片前景区域提升自适应小波变换、小波高频系数形状自适应零树编码和小波低频系数基于上下文预测编码。
4、证件照片前景区域掩膜分解,其步骤包括:(1)从任意形状的前景掩膜中取出第一列掩膜;(2)在每一列内,确定由连续掩膜点组成的第一个分段;(3)分别用偶采样和奇采样取得低频和高频的掩膜数目;(4)根据如图3-1和图3-2所示的存放方法,将低频掩膜放在低频子带内相应的列中,高频掩膜放在高频子带内相应的列中;(5)对该列中由连续掩膜组成的下一个分段进行上述操作;(6)对下一列的掩膜进行上述分解操作,直至所有列分解完毕;(7)对低频和高频区域的掩膜进行转秩运算;(8)重复步骤(1)~(6);(9)对低频和高频区域的掩膜进行转秩运算;(10)对低频-低频子带重复步骤(1)~(9),直至完成掩膜分解级数。
5、证件照片前景区域提升自适应小波变换,其步骤包括:(1)利用掩膜分解的位置信息确定要需要变换的第一列系数;(2)在每一列内,利用掩膜分解信息确定需要变换的第一个分段;(3)将当前分段系数采用一维适形离散小波变换的提升方案进行处理;(4)低通小波系数根据分解的掩膜信息放在低通子带内相应的列中,高通小波系数则放在高通子带内相应的列中;(5)对该行中由连续系数组成的下一个分段进行上述操作;(6)对下一列的像素进行上述操作;(7)将上述变换得到的低通、高通区域进行转秩运算;(8)重复步骤(1)~(6);(9)对步骤(8)得到的四个子带进行转秩运算;(10)对低频-低频子带重复步骤(1)~(9),直至完成小波分解级数。
6、小波高频系数形状自适应零树编码,其步骤如下:
1)在小波树根节点层,利用掩膜信息判断当前节点是否是外节点:(1)如果当前节点是外节点,对该节点不编码,并标记该节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;(2)如果当前节点不是外节点,用自适应算术编码器/解码器对该节点进行编码:①如果当前符号是孤立零点(IZ)或者是值(VAL),那么标记该节点的4个孩子节点,编码时标记为TBE,解码时标记为TBD;否则如果当前符号是零树根(ZTR)或者零树根值(VZTR),那么将当前节点的4个孩子节点被标记为NC;②如果当前符号是VAL或者VZTR,使用算术编码器/解码器将这个节点编码/解码成一个非0小波系数;否则,当前符号是IZ或者ZTR,那么这个节点对应的小波系数被设置为0;
2)介于根节点层和叶子层中所有的节点,利用掩膜信息判断节点是否是外节点:(1)如果当前节点是外节点,对该节点不编码,标记该节点的4个孩子节点,编码时根据该节点被标记的状态TBE或者NC对应标记该节点的4个孩子节点为TBE或者NC,在解码时根据该节点被标记的状态TBD或者NC对应标记该节点的4个孩子节点为TBD或者NC;(2)如果当前节点不是外节点:①如果当前节点被标记为NC,对该节点不编码,将这个节点对应的小波系数被设置为0;②如果当前节点被标记的不是NC,那么用自适应算术编码器/解码器对这个节点编码一个符号:i、如果当前符号是IZ或者VAL,标记该节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;否则,如果当前符号是ZTR或者VZTR,标记该节点的4个孩子节点为NC;ii、如果当前符号是VAL或者VZTR,使用算术编码器/解码器将这个节点编码/解码成一个非0小波系数;否则,如果当前符号是IZ或者ZTR,那么将这个节点对应的小波系数设置为0;
3)叶子层节点,利用掩膜信息判断节点是否是外节点:(1)如果当前节点是外节点,对该节点不编码;(2)如果当前节点不是外节点:①如果当前节点被标记为NC,对这个节点不使用位,将该节点对应的小波系数值设置为0;②如果当前节点被标记的不是NC,那么用自适应算术编码器/解码器对这个节点编码/解码一个非0小波系数。
7、小波低频系数基于上下文预测编码,解码过程是编码过程的逆过程,编码步骤如下:(1)根据低频掩膜,提取有效DC系数;(2)对步骤(1)的DC系数采用均匀量化方法,同时将量化步长编入比特流中;(3)计算掩膜范围内DC系数的均值,并将其编入比特流中。将掩膜区域外的点填均值(4)如果VA、VB、VC和VX分别表示A、B、C和X的像素值(如图4所示)。对掩膜区域内的DC系数进行基于上下文内容的预测,预测值由公式(1)和公式(2)确定;(5)将步骤(4)得到的DC系数进行偏移,偏移量就是系数偏移后最小系数值,确保DC系数为非负实数。将系数偏移后的最小值和最大值都编入比特流中;(6)采用位平面编码方法从高比特平面到低比特平面的顺序编码偏移后的DC系数。
VX=VX-pred, (2)
8、整合背景信息、轮廓编码序列和前景区域编码序列进行整数自适应算术编码,进一步去除编码的信息冗余,提高压缩效率。设字符串s的字符来自符号集s={a1,a2,…,am},p(ai)表示字符ai的概率,s后跟字符ai扩展成字符串sai,则整数自适应算术编码步骤如下:
(1)初始化:编码区间[low(s),high(s)]初始化为[0,Integer),Integer是一个大于m的整数;字符ai的概率p(ai)初始化为等值概率,如公式(3);
p(a1)=p(a2)=…=p(am)=[Integer/m], (3)
(2)刷新字符概率,如公式(4);
p(ai)=p(ai)+1, (4)
(3)刷新字符累积概率,如公式(5):
(4)刷新编码区间,如公式(6~8);
A(sai)=[low(sai),high(sai)) (6)
low(sai)=low(s)+[(high(s)-low(s)+1)×p(ai)/p(am)], (7)
high(sai)=low(s)+[(high(s)-low(s)+1)×(p(ai)+p(ai))/p(am)]-1, (8)
(5)输出字符串概率值,如公式(9)。
Pencode=low(sai), (9)
9、步骤4中对于区间[low,high]需要进行区间扩展。在计算机中整数区间[low,high]的上限和下限是以二进制进行表示的,根据二进制值的最高两位,有四个区间值,low和high在这四个区间中存在六种分布情况,如图5所示,六种情况中情况1、4、6需要对区间[low,high]进行扩展,情况2、3、5不需要对区间进行扩展。情况1、4、6扩展方法如下:
(1)情况1时区间[low,high]扩展方法:情况1的区间上限和下限二进制值的最高位都是1,在后续编码区间更新过程中,区间上限和下限的最高位二进制值是保持不变的。根据这个特点,移除区间上限和下限的二进制最高位“1”,然后在区间上限high的二进制值的最后一位补“1”,在区间下限low的二进制值的最后一位补“0”;然后检查二进制值的次高位,如果区间上限high的二进制值的次高位是“0”,而区间下限low的二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位,并记录次高位的忽略次数,以便解码时能够正确的还原到相应的编码区间。通过移除高位、忽略次高位以及低位补位的操作,更新了编码区间的上限值与下限值,编码区间得到适当放大。
(2)情况4时区间[low,high]扩展方法:情况4的区间上限和下限二进制值的最高位分别是“1”和“0”,针对这种情况,检查二进制值的次高位,这与情况1中检查次高位的方法是相同的,如果区间上限二进制值的次高位是“0”,而下限二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位,同时记录次高位的忽略次数,为正确解码提供相应的信息。
(3)情况6时区间[low,high]扩展方法:情况6的区间上限和下限二进制值的最高位都是0,与情况1类似,移除二进制值的最高位并在最低位进行补位。同时需要检查二进制值的次高位,按照情况1中的相关方法进行处理。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种形状自适应编码的证件照片压缩方法,其特征在于,包括以下步骤:
步骤1、证件照片分割;
步骤2、证件照片前景区域轮廓编码;
步骤3、形状自适应图像编码;
步骤4、整数自适应算术编码;整合轮廓编码与前景区域编码序列,利用整数自适应算术编码进行二次编码;
所述步骤1包括以下步骤:
步骤11、四叉树分裂合并分割证件照片,得到照片前景区域的初始掩膜;
步骤12、边缘检测提取证件照片轮廓图像;
步骤13、将步骤(11)中的掩膜缩小至一个像素宽度,得到缩小后的掩膜;
步骤14、将步骤(11)中的初始掩膜与步骤(13)中缩小后的掩膜进行减法运算,生成最终的掩膜;
步骤15、将步骤(14)中最终的掩膜与步骤(12)中的轮廓图像进行与运算,生成与运算后的轮廓;
步骤16、采取坐标系旋转和最小二乘法,曲线拟合并连接步骤(15)中与运算后的轮廓,得到照片前景区域的轮廓;
步骤17、根据步骤(16)中的照片前景区域的轮廓生成前景区域的掩膜;
步骤18、根据步骤(17)中前景区域的掩膜,提取证件照片前景区域图像;
所述步骤3包括以下步骤:
步骤31、证件照片前景区域掩膜分解;
步骤32、采用形状自适应提升小波变换去除照片前景区域图像相关性,得到相应小波系数;
步骤33、采用形状自适应小波零树编码法编码小波高频系数;
步骤34、采用基于上下文的预测编码法编码小波低频系数。
2.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,所述步骤2包括以下步骤:
步骤21、提取需要编码的轮廓;
步骤22、对需要编码的轮廓采用4-方向链码进行编码。
3.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,所述步骤31包括以下步骤:
步骤A1、从任意形状的前景掩膜中取出第一列掩膜;
步骤A2、在每一列内,确定由连续掩膜点组成的第一个分段;
步骤A3、分别用偶采样和奇采样取得低频和高频的掩膜数目;
步骤A4、将低频掩膜放在低频子带内相应的列中,高频掩膜放在高频子带内相应的列中;
步骤A5、对该列中由连续掩膜组成的下一个分段进行上述操作;
步骤A6、对下一列的掩膜进行上述分解操作,直到所有列分解完毕为止;
步骤A7、对低频和高频区域的掩膜进行转秩运算;
步骤A8、重复执行步骤A1~A6;
步骤A9、对低频和高频区域的掩膜进行转秩运算;
步骤A10、对低频-低频子带重复执行步骤A1~A9,直到完成掩膜分解级数为止。
4.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,所述步骤32包括以下步骤:
步骤B1、利用掩膜分解的位置信息确定要需要变换的第一列系数;
步骤B2、在每一列内,利用掩膜分解信息确定需要变换的第一个分段;
步骤B3、将当前分段系数采用一维适形离散小波变换的提升方案进行处理;
步骤B4、低通小波系数根据分解的掩膜信息放在低通子带内相应的列中,高通小波系数则放在高通子带内相应的列中;
步骤B5、对该行中由连续系数组成的下一个分段进行上述操作;
步骤B6、对下一列的像素进行上述操作;
步骤B7、将上述变换得到的低通、高通区域进行转秩运算;
步骤B8、重复步骤B1~B6,得到四个子带;
步骤B9、对步骤B8中所述的四个子带进行转秩运算;
步骤B10、对低频-低频子带重复执行步骤B1~B9,直到完成小波分解级数为止。
5.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,所述步骤33包括以下步骤:
C1、在小波树根节点层,利用掩膜信息判断当前节点是否是外节点:如果当前节点是外节点,则对当前节点不进行编码,并标记当前节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;如果当前节点不是外节点,则用自适应算术编码器/解码器对当前节点进行编码;如果当前符号是孤立零点或者是值,并标记当前节点的4个孩子节点,编码时标记为TBE,解码时标记为TBD;如果当前符号是零树根或者零树根值,那么将当前节点的4个孩子节点标记为NC;如果当前符号是VAL或者VZTR,使用算术编码器/解码器将这个节点编码/解码成一个非0小波系数;如果当前符号是IZ或者ZTR,把当前节点对应的小波系数设置为0;
C2、介于根节点层和叶子层中所有的节点,利用掩膜信息判断节点是否是外节点:如果当前节点是外节点,则对该节点不进行编码,并标记当前节点的4个孩子节点,编码时根据该节点被标记的状态TBE或者NC对应标记该节点的4个孩子节点为TBE或者NC,在解码时根据该节点被标记的状态TBD或者NC对应标记该节点的4个孩子节点为TBD或者NC;如果当前节点不是外节点,判断当前节点是否被标记为NC,如果是,则对当前节点不进行编码,并将当前节点对应的小波系数设置为0;否则,用自适应算术编码器/解码器对当前节点编码一个符号:如果当前符号是IZ或者VAL,标记该节点的4个孩子节点,编码时标记为TBE,在解码时标记为TBD;如果当前符号是ZTR或者VZTR,标记该节点的4个孩子节点为NC;如果当前符号是VAL或者VZTR,使用算术编码器/解码器将当前节点编码/解码成一个非0小波系数;如果当前符号是IZ或者ZTR,那么将当前节点所对应的小波系数设置为0;
C3、叶子层节点,利用掩膜信息判断节点是否是外节点,如果是,则对当前节点不进行编码;否则,判断当前节点是否被标记为NC,如果是,则对当前节点不使用位,并将该节点对应的小波系数值设置为0;否则,用自适应算术编码器/解码器设置当前节点编码/解码一个非0小波系数。
6.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,所述步骤34包括以下步骤:
D1、根据低频掩膜,提取有效DC系数;
D2、对步骤D1中的DC系数采用均匀量化方法,同时将量化步长编入比特流中;
D3、计算掩膜范围内DC系数的均值,并将其编入比特流中,将掩膜区域外的点填均值;
D4、如果VA、VB、VC和VX分别表示A、B、C和X的像素值,对掩膜区域内的DC系数进行预测;
D5、将步骤D4预测到的DC系数进行偏移,偏移量是系数偏移后最小系数值,以确保DC系数为非负实数,将系数偏移后的最小值和最大值编入比特流中;
D6、采用位平面编码方法从高比特平面到低比特平面的顺序编码偏移后的DC系数;
VX=VX-pred, (2)
其中,pred表示偏移后的DC系数,VA表示A的像素值,VB表示B的像素值,VC表示C的像素值,VX表示X的像素值。
7.根据权利要求1所述的形状自适应编码的证件照片压缩方法,其特征在于,在步骤4中,整合背景信息、轮廓编码序列和前景区域编码序列进行整数自适应算术编码,去除编码的信息冗余;设字符串s的字符来自符号集s={a1,a2,…,am},p(ai)表示字符ai的概率,s后跟字符ai扩展成字符串sai,所述步骤4主要包括如下步骤:
步骤41、初始化;编码区间[low(s),high(s)]初始化为[0,Integer),Integer是一个大于m的整数;字符ai的概率p(ai)初始化为等值概率,如公式(3);
p(a1)=p(a2)=…=p(am)=[Integer/m], (3)
(2)刷新字符概率,如公式(4);
p(ai)=p(ai)+1, (4)
(3)刷新字符累积概率,如公式(5):
<mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
(4)刷新编码区间,如公式(6)~(8);
A(sai)=[low(sai),high(sai)) (6)
low(sai)=low(s)+[(high(s)-low(s)+1)×p(ai)/p(am)], (7)
high(sai)=low(s)+[(high(s)-low(s)+1)×(p(ai)+p(ai))/p(am)]-1, (8)
(5)输出字符串概率值,如公式(9):
Pencode=low(sai), (9)
步骤42、对于区间[low,high]进行区间扩展;在计算机中整数区间[low,high]的上限和下限是以二进制进行表示的,根据二进制值的最高两位,有四个区间值,low和high在所述四个区间中存在第一种分布情况、第二种分布情况、第三种分布情况、第四种分布情况、第五种分布情况和第六种分布情况,在所述第一种分布情况、第四种分布情况和第六种分布情况中,对区间[low,high]进行扩展,在所述第二种分布情况、第三种分布情况和第五种分布情况中不对区间[low,high]进行扩展;所述对区间[low,high]进行扩展的扩展方法如下:
在所述第一种分布情况中,对区间[low,high]进行扩展的扩展方法为:所述第一种分布情况的区间上限和下限二进制值的最高位都是1,在后续编码区间更新过程中,区间上限和下限的最高位二进制值保持不变;移除区间上限和下限的二进制最高位“1”,然后在区间上限high的二进制值的最后一位补“1”,在区间下限low的二进制值的最后一位补“0”;然后检查二进制值的次高位,如果区间上限high的二进制值的次高位是“0”,而区间下限low的二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,使解码时能够还原到相应的编码区间;通过移除高位、忽略次高位以及低位补位的操作,更新编码区间的上限值与下限值,以放大编码区间[low,high];
在第四种分布情况中,对区间[low,high]进行扩展的扩展方法为:第四种分布情况的区间上限和下限二进制值的最高位分别是“1”和“0”;检查二进制值的次高位,该检查方法与第一种分布情况中检查次高位的方法相同,如果区间上限二进制值的次高位是“0”,而下限二进制值的次高位是“1”,忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,为解码提供相应的信息;
在第六种分布情况中,对区间[low,high]进行扩展的扩展方法为:第六种分布情况的区间上限和下限二进制值的最高位都是0;移除二进制值的最高位并在最低位进行补位;同时检查二进制值的次高位,如果区间上限high的二进制值的次高位是“0”,而区间下限low的二进制值的次高位是“1”,需要进行忽略次高位的操作,并在最低位补位和记录次高位的忽略次数,使解码时能够还原到相应的编码区间;通过移除高位、忽略次高位以及低位补位的操作,更新编码区间的上限值与下限值,以放大编码区间[low,high]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410360901.1A CN104134224B (zh) | 2014-07-25 | 2014-07-25 | 一种形状自适应编码的证件照片压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410360901.1A CN104134224B (zh) | 2014-07-25 | 2014-07-25 | 一种形状自适应编码的证件照片压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104134224A CN104134224A (zh) | 2014-11-05 |
CN104134224B true CN104134224B (zh) | 2017-08-25 |
Family
ID=51806893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410360901.1A Active CN104134224B (zh) | 2014-07-25 | 2014-07-25 | 一种形状自适应编码的证件照片压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104134224B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608713B (zh) * | 2016-01-04 | 2018-11-16 | 湖南大学 | 一种基于四叉树的二值图像编码与高效逻辑运算方法 |
CN108429916B (zh) * | 2018-02-26 | 2020-07-31 | 西安万像电子科技有限公司 | 图像编码方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684109A (zh) * | 2004-02-17 | 2005-10-19 | 三星电子株式会社 | 用于编码和解码三维数据的方法和装置 |
CN103647959A (zh) * | 2013-12-23 | 2014-03-19 | 国网安徽省电力公司信息通信分公司 | 一种甚低码率应用中传输高清数码照片的方法 |
-
2014
- 2014-07-25 CN CN201410360901.1A patent/CN104134224B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684109A (zh) * | 2004-02-17 | 2005-10-19 | 三星电子株式会社 | 用于编码和解码三维数据的方法和装置 |
CN103647959A (zh) * | 2013-12-23 | 2014-03-19 | 国网安徽省电力公司信息通信分公司 | 一种甚低码率应用中传输高清数码照片的方法 |
Non-Patent Citations (4)
Title |
---|
一种基于改进Canny的边缘检测算法;许宏科等;《红外技术》;20140331;第36卷(第3期);第210-214页 * |
形状自适应变换在基于对象编码中的应用;侯正信等;《计算机工程》;20111231;第37卷(第23期);第282-290页 * |
形状自适应的嵌入式小波图像编码算法;沃焱等;《华南理工大学学报》;20080131;第36卷(第1期);第55-59页 * |
彩色身份证件照片的混合压缩算法;郭田德等;《计算机学报》;20000331;第23卷(第3期);第334-337页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104134224A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113789B (zh) | 一种基于深度学习的视频摘要在线生成方法 | |
CN110059698A (zh) | 用于街景理解的基于边缘稠密重建的语义分割方法及系统 | |
CN108141592B (zh) | 用于编码和解码数字图像或视频流的方法和装置 | |
CN107710759A (zh) | 用于非正方形块的转换系数编解码的方法及装置 | |
JPH0630391A (ja) | 大域ブロック変換を用いた圧縮画像データに頑強性を付与するための装置および方法 | |
CN103177281A (zh) | 一种二维码的编码方法 | |
CN110059769A (zh) | 用于街景理解的基于像素重排重建的语义分割方法及系统 | |
CN110288535B (zh) | 一种图像去雨方法和装置 | |
CN102081795B (zh) | 基于稀疏表示的自动去块效应方法 | |
CN101419702A (zh) | 用于彩色图像篡改定位与恢复的半脆弱数字水印方法 | |
CN107835427A (zh) | 一种基于contourlet和SVD的彩色图像信息隐藏方法 | |
CN104134224B (zh) | 一种形状自适应编码的证件照片压缩方法 | |
US6678421B1 (en) | Subband coefficient prediction with pattern recognition techniques | |
Schiopu et al. | Lossless compression of subaperture images using context modeling | |
CN108810534A (zh) | 物联网下基于方向提升小波及改进spiht的图像压缩方法 | |
CN107113464A (zh) | 内容提供装置、显示装置及其控制方法 | |
CN113284203B (zh) | 基于八叉树编码和体素上下文的点云压缩及解压缩方法 | |
Shah et al. | Vector quantization with codebook and index compression | |
TWI376960B (en) | Codebook generating method for image compression | |
Kopylov et al. | Compression of map images by multilayer context tree modeling | |
CN110276715B (zh) | 一种图像去夜方法和装置 | |
Pandian | An Image steganography algorithm using huffman and interpixel difference encoding | |
Semary et al. | Novel Compression System for Hue-Saturation and Intensity Color Space. | |
Redondo et al. | Lossless chain coder for gray edge images | |
Meenpal et al. | Digital Image Watermarking technique for tamper detection and restoration |
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 |