首页 / 专利库 / 专利权 / 第II章 / 基于块分类的PNG电子发票图像水印嵌入与认证方法

基于分类的PNG电子发票图像印嵌入与认证方法

阅读:1002发布:2020-06-13

专利汇可以提供基于分类的PNG电子发票图像印嵌入与认证方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于PNG 电子 发票图像内容保护的 水 印嵌入与认证方法,其作法主要是:将PNG电子发票图像分 块 并根据图像块的内容及其是否含有可改变 像素 点将图像块分为关键类、均匀类与非均匀类;将RGB三个分量的图像块内容分别加密后生成水印信息,根据分量图像块类别的不同选择相应的水印嵌入 位置 ;通过比较图像块重构水印及提取水印的一致性判断该图像块的真实性,并采用横向邻域扩展检测法进一步提高篡改检测性能,最后通过综合RGB三个分量的检测情况得到待检测电子发票的认证结果。该方法在保证实现水印不可见的同时,对PNG图像大小的增加少;其对篡改的检测准确性高,误检率低,能够有效抵抗替换、添加、删除及拼贴等篡改。,下面是基于分类的PNG电子发票图像印嵌入与认证方法专利的具体信息内容。

1.一种基于分类的PNG电子发票图像的印嵌入与认证方法,包括如下步骤:
A、块分类
A1、图像分块:将尺寸为(18m+u)×(18n+v)的发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个分量图像X划分成m×n个互不重叠的18×18分量图像块,即X={Xi|i=1,2…N},Xi={xi,j|j=1,2…18×18};其中,m为分量图像X的行数除以18的商,u为分量图像X的行数除以18的余数,n为分量图像X的列数除以18的商,v为分量图像X的列数除以18的余数,i为分量图像块Xi的编号,N=m×n为分量图像块个数,j为分量图像块Xi内像素的编号;
A2、可改变像素点判定:将分量图像块Xi中的像素点xi,j分为I类像素点和II类像素
1 2
点,分别记为Xi 和Xi ;
用标识元素pi,j组成的标识矩阵Pi={pi,j|j=1,2…18×18}记录分量图像块Xi中对应像素点xi,j的可改变性;标识元素pi,j的值为0的对应像素点xi,j为不可改变像素点,标识元素pi,j的值为1的对应像素点xi,j为可改变像素点;标识矩阵Pi={pi,j|j=1,2…18×18}中所有元素pi,j的初始值均为0,并由下式计算出所有I类像素点的pi,j值,对标识矩阵Pi中相应的元素pi,j的值进行更新:
j=54a+3b-37,a=1,2,L6,b=1,2,L6
其中,psdi,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;
A3、块分类:统计分量图像块Xi中可改变像素点的个数Li,Li=∑pi,j,j=1,2,L,18×18,分量图像块Xi中的Li个可改变像素点按从左至右、从上至下的顺序记为xi,jc,c=1,2,…Li且pi,jc=1;将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的分量图像块Xi归为关键类;不是关键类且可改变像素点的个数Li>0的分量图像块归为非均匀类;不是关键类且可改变像素点的个数Li=0的分量图像块归为均匀类;
B、水印的生成与嵌入
B1、水印嵌入位置选择:对均匀类的分量图像块Xi,通过密钥Key1在该分量图像块Xi的II类像素点中选择8个像素点xi,qh,这8个像素点的最低位作为图像块Xi内的可嵌入水
2
印位置,其中,h=1,2,…8,xi,qh∈Xi,qh为密钥Key1从分量图像块Xi内选出的8个像素的编号;
对非均匀类或关键类的分量图像块Xi,可嵌入水印位置分为两部分:第一部分为密钥Key1在其II类像素点中选择的8个像素点xi,qh的最低位;第二部分为分量图像块Xi中Li个可改变像素点xi,jc的低4位,共Li×4个嵌入位置;
B2、映射位置生成:基于用户密钥Key2生成长度为N的实值伪随机序列
R={ri|i=1,2,…,N},根据R生成块链{(Xi,Xi’)|i,i’∈[1,N]}以确定每个分量图像块Xi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
B3、水印生成与嵌入:对于每个分量图像块Xi,首先将分量图像块Xi中的由B1步选择的8个像素点xi,qh和标识元素pi,j=1的对应像素点xi,j的像素值置为100,其余像素值不A
变,得到矩阵Xi,然后根据其分量映射块Xi’的类别完成水印的生成与嵌入:
A
若其分量映射块Xi’为均匀类,则将矩阵Xi 相应二进制编码流进行哈希运算,得到长度A
为8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…8};通过依次修改分量映射块Xi’内8个可嵌入像素xi',qh(h=1,2,…8)实现水印信息Wi的嵌入,即:
k=1,2,L,8
A
若其分量映射块Xi’为非均匀类或关键类,则将矩阵Xi 相应二进制编码流进行哈A
希运算,得到长度为Li’×4+8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…Li’×4+8};通过依次修改分量映射块Xi’内8个像素xi',qh(h=1,2,…8)和Li’个可改变像素xi',jc实现水印信息Wi的嵌入,即:
C、含水印彩色电子发票图像生成
将发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上A、B步的相同操作,直至得到发票图像含水印的全部分量,形成含水印的完整彩色电子发票图像。
D、接收图像的块分类
D1、图像分块:含水印的完整彩色电子发票图像经传输,接收后得到尺寸为
(18m+u)×(18n+v)的彩色电子发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个接收分量图像Y;将接收分量图像Y划分成m×n个互不重叠的18×18接收分量图像块Yi,即Y={Yi|i=1,2…N},Yi={yi,j|j=1,2…18×18};其中,m为接收分量图像Y的行数除以
18的商,u为接收分量图像Y的行数除以18的余数,n为接收分量图像Y的列数除以18的商,v为接收分量图像Y的列数除以18的余数,i为接收分量图像块Yi的编号,N=m×n为接收分量图像块个数,j为接收分量图像块Yi内像素的编号;
D2、可改变像素点判定:将接收分量图像块Yi中的像素点yi,j分为I类像素点和II类
1 2
像素点,分别记为Yi 和Yi ;
* * *
用接收标识元素pi,j组成的接收标识矩阵Pi={pi,j|j=1,2…18×18}记录接收分量图*
像块Yi中对应像素点yi,j的可改变性;接收标识元素pi,j的值为0的对应像素点yi,j为不*
可改变像素点,接收标识元素pi,j的值为1的对应像素点yi,j为可改变像素点;接收标识矩* * *
阵Pi={pi,j|j=1,2…18×18}中所有元素pi,j的初始值均为0,并由下式计算出I类像素* * *
点的pi,j值,对接收标识矩阵Pi中相应的元素pi,j的值进行更新:
j=54a+3b-37,a=1,2,L6,b=1,2,L6
*
其中,psdi,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;
*
D3、块分类:统计接收分量图像块Yi中可改变像素点的个数Li,
j=1,2,L,18×18,接收分量图像块Yi中Li*个可改变像素点的编号按从左至右、从上至下的顺序记为yi,jc,c=1,2,…Li*且 将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的接收分量图像块Yi归为关键类;不是关键类且可改变像素点* *
Li>0的接收分量图像块归为非均匀类;不是关键类且可改变像素点Li=0的接收分量图像块归为均匀类;
E、水印的重构与提取
E1、映射位置生成:用B2步中的用户密钥Key2生成长度为N的实值伪随机序列R={ri|i=1,2,…,N},根据R生成块链{(Yi,Yi’)|i,i’∈[1,N]}以确定每个接收分量图像块Yi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
E2、水印提取:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别的不同#
提取水印信息Wi :
若接收分量映射块Yi’为均匀类,则用B1步的密钥Key1在该接收分量图像块Yi’中选出8个像素点yi',qh,并从该8个像素点的最低位提取出接收分量图像块Yi的水印信息# # 2
Wi={wi,k|k=1,2,…,8},其中h=1,2,…8,yi',qh∈Yi’,qh为从接收分量图像块Yi’内选出的像素的编号;
若接收分量映射块Yi’为非均匀类或关键类,则用B1步的密钥Key1在该接收分量映射*
块Yi’内选出8个像素点yi',qh的最低位及Li’ 个可改变像素点yi',jc的低4位提取出接收# # *
分量图像块Yi的水印信息序列Wi={wi,k|k=1,2,…,Li’×4+8};
E3、水印重构:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别重构水*
印信息Wi :
若接收分量映射块Yi’为均匀类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为8的接收分量图像块Yi的水印信息* *
Wi={wi,k|k=1,2,…,8};
若接收分量图像块Yi’为非均匀类或关键类,则将B3步中的分量图像块Xi替换为接收*
分量图像块Yi,再按B3步的同样操作,重构出长度为Li’×4+8接收分量图像块Yi的水印* * *
信息Wi={wi,k|k=1,2,…Li’×4+8};
F、篡改认证
* #
F1、比较矩阵:比较重构水印Wi 与提取水印Wi 得到接收分量图像的比较矩阵D={di|i=1,2,…,N},
F2、初态篡改检测矩阵:计算比较矩阵D的八邻域特征矩阵△={δi|i=1,2,…,N},δi=∑dj,j=i±1,i±n,i±n±1
0 0
根据比较矩阵D及其八邻域特征矩阵△,生成初态篡改检测矩阵T=(ti|i=1,2,…,N),
0
F3、次态1篡改检测矩阵:根据初态篡改检测矩阵T,生成横向邻域扩展的次态1篡改
1 1
检测矩阵T=(ti|i=1,2,…,N);
其中 j=i±1,i±n,i±n±1,
j=i+1,i+2, j=i-1,i-2;
0
F4、次态2篡改检测矩阵:根据F2步的初态检测矩阵T,生成次态2篡改检测矩阵
2 2
T=(ti|i=1,2,…,N);
其中 j=i±1, j=i±n;
0 0
F5、接收分量图像块真实性判定:对关键类接收分量图像块Yi,若(ti=1)或(ti=0且
2 0 2
ti=1),判定该接收分量图像块Yi为篡改块;若ti=0且ti=0,判定该接收分量图像块Yi未被篡改;
0 1 0 2
对均匀类和非均匀类接收分量图像块Yi,若(ti=1且ti=1)或(ti=0且ti=1),判定该
0 1 0 2
接收分量图像块Yi被篡改;若(ti=1且ti=0)或(ti=0且ti=0),判定该接收分量图像块Yi未被篡改;
G、彩色图像块真实性判定
将接收彩色电子发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上D、E和F步的相同操作,直至得到接收发票图像三个分量的分量图像块的判断结果;若同一序号i的三个分量图像块Yi中有两个以上被判为篡改,则最终判定该接收电子发票中的彩色图像块为篡改块,并用选定颜色在接收图像上该篡改块位置进行标示;否则判为真实彩色图像块。

说明书全文

基于分类的PNG电子发票图像印嵌入与认证方法

技术领域

[0001] 本发明涉及一种PNG电子发票图像的数字水印嵌入与篡改检测方法,用于认证电子发票内容的真实性和完整性。
[0002] 背景技术
[0003] 国家税务总局出台的《网络发票管理办法》从2013年4月1日起施行,要求所有开具发票的单位和个人向消费者出具网络发票。现阶段的网络发票在用作财务记账凭证时,仍然需要将电子发票打印在“特定纸质”上。也就是说,开具发票的单位和个人仍然需要将打印的纸质发票通过快递寄送给消费者,造成人、物力的浪费。为此,2013年6月和12月,我国先后在北京、上海两地开始试点电子发票。如果电子发票能作为财务记账凭证实现发票的完全电子化,不仅能节约纸质发票印制和快递的成本,也为会计核算,审计和税务执法检查提供便利。电子发票作为财务记账凭证,不仅需要保证电子发票的来源合法性,而且必须保证电子发票内容的真实性和完整性。现有网络发票通过“网络传输”在指定网站验证发票的来源合法性和真实性,存在遭受网络攻击的险。因此,受票方如何方便、快捷地验证发票内容的真实性与完整性是电子发票成为报销凭证必须解决的关键问题,不仅具有重要的学术价值,更具有重要的社会意义与广泛的应用前景。
[0004] 电子发票是以文字、形状及线条为主,色彩非常有限且对比强烈。由于PNG文件采用LZ77算法的派生算法进行无损压缩,压缩比高,不损失数据。将电子发票存储为PNG格式,图像中保存的不再是每个像素的彩色信息,而是从图像中挑选出来的具有代表性的颜色编码,电子发票颜色较少的特性使得图像处理者可以用最小的空间来储存不失真的图像,利于其广泛使用。
[0005] 现有彩色图像认证算法大多数是在每个像素点的最低位嵌入水印,若采用此方法对PNG格式的电子发票图像进行信息嵌入,则电子发票的大小就会增加很多,给其广泛使用带来阻碍。
[0006] 此外,现有基于块独立思想的彩色图像认证方法,是基于各图像块自身的内容,进行水印的生成与嵌入,块间互不影响。如将用同样方法嵌入水印的另一图像的图像区域替换待检测图像中的相应图像块(这种篡改称为拼贴篡改),则检测时无法检测出此种拼贴篡改。为此,可将基于图像块内容生成的水印信息嵌入其他图像块中来抵抗拼贴攻击。但图像认证时,通过比较重构水印与提取水印的一致性,则会造成实际只有一个图像块篡改,但相关联的其它图像块也会被判定为篡改块,造成虚检。

发明内容

[0007] 本发明的目的是提供一种用于PNG电子发票图像内容保护的水印嵌入与认证方法,该方法在保证实现水印不可见的同时,对图像大小的增加少;其对篡改的检测准确性高,误检率低,能够有效抵抗替换、添加、删除以及拼贴等篡改。
[0008] 本发明解决其技术问题,所采用的技术方案为,一种用于PNG电子发票图像内容保护的水印嵌入与认证方法,包括如下步骤:
[0009] A、块分类
[0010] A1、图像分块:将尺寸为(18m+u)×(18n+v)的发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个分量图像X划分成m×n个互不重叠的18×18分量图像块,即X={Xi|i=1,2…N},Xi={xi,j|j=1,2…18×18};其中,m为分量图像X的行数除以18的商,u为分量图像X的行数除以18的余数,n为分量图像X的列数除以18的商,v为分量图像X的列数除以18的余数,i为分量图像块Xi的编号,N=m×n为分量图像块个数,j为分量图像块Xi内像素的编号;
[0011] A2、可改变像素点判定:将分量图像块Xi中的像素点xi,j分为I类像素点和II类1 2
像素点,分别记为Xi 和Xi ;
[0012]
[0013] 用标识元素pi,j组成的标识矩阵Pi={pi,j|j=1,2…18×18}记录分量图像块Xi中对应像素点xi,j的可改变性;标识元素pi,j的值为0的对应像素点xi,j为不可改变像素点,标识元素pi,j的值为1的对应像素点xi,j为可改变像素点;标识矩阵Pi={pi,j|j=1,2…18×18}中所有元素pi,j的初始值均为0,并由下式计算出所有I类像素点的pi,j值,对标识矩阵Pi中相应的元素pi,j的值进行更新:
[0014] j=54a+3b-37,a=1,2,L6,b=1,2,L6
[0015] 其中,psdi,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;
[0016] A3、块 分 类:统 计 分 量 图 像 块Xi中 可 改 变 像 素 点 的 个 数Li,Li=∑pi,j,j=1,2,L,18×18,分量图像块Xi中的Li个可改变像素点按从左至右、从上至下的顺序记为xi,jc,c=1,2,…Li且pi,jc=1;将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的分量图像块Xi归为关键类;不是关键类且可改变像素点的个数Li>0的分量图像块归为非均匀类;不是关键类且可改变像素点的个数Li=0的分量图像块归为均匀类;
[0017] B、水印的生成与嵌入
[0018] B1、水印嵌入位置选择:对均匀类的分量图像块Xi,通过密钥Key1在该分量图像块Xi的II类像素点中选择8个像素点xi,qh,这8个像素点的最低位作为图像块Xi内的可2
嵌入水印位置,其中,h=1,2,…8,xi,qh∈Xi,qh为密钥Key1从分量图像块Xi内选出的8个像素的编号;
[0019] 对非均匀类或关键类的分量图像块Xi,可嵌入水印位置分为两部分:第一部分为密钥Key1在其II类像素点中选择的8个像素点xi,qh的最低位;第二部分为分量图像块Xi中Li个可改变像素点xi,jc的低4位,共Li×4个嵌入位置。
[0020] B2、映射位置生成:基于用户密钥Key2生成长度为N的实值伪随机序列R={ri|i=1,2,…,N},根据R生成块链{(Xi,Xi’)|i,i’∈[1,N]}以确定每个分量图像块Xi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
[0021] B3、水印生成与嵌入:对于每个分量图像块Xi,首先将分量图像块Xi中的由B1步选择的8个像素点xi,qh和标识元素pi,j=1的对应像素点xi,j的像素值置为100,其余像素值A不变,得到矩阵Xi,然后根据其分量映射块Xi’的类别完成水印的生成与嵌入:
[0022] 若其分量映射块Xi’为均匀类,则将矩阵XiA相应二进制编码流进行哈希运算,得到A长度为8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…8};通过依次修改分量映射块Xi’内8个可嵌入像素xi',qh(h=1,2,…8)实现水印信息Wi的嵌入,即:
[0023] k=1,2,L,8
[0024] 若其分量映射块Xi’为非均匀类或关键类,则将矩阵XiA相应二进制编码流进行A哈希运算,得到长度为Li’×4+8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…Li’×4+8};通过依次修改分量映射块Xi’内8个像素xi',qh(h=1,2,…8)和Li’个可改变像素xi',jc实现水印信息Wi的嵌入,即:
[0025]
[0026] C、含水印彩色电子发票图像生成
[0027] 将发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上A、B步的相同操作,直至得到发票图像含水印的全部分量,形成含水印的完整彩色电子发票图像。
[0028] D、接收图像的块分类
[0029] D1、图像分块:含水印的完整彩色电子发票图像经传输,接收后得到尺寸为(18m+u)×(18n+v)的彩色电子发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个接收分量图像Y;将接收分量图像Y划分成m×n个互不重叠的18×18接收分量图像块Yi,即Y={Yi|i=1,2…N},Yi={yi,j|j=1,2…18×18};其中,m为接收分量图像Y的行数除以18的商,u为接收分量图像Y的行数除以18的余数,n为接收分量图像Y的列数除以18的商,v为接收分量图像Y的列数除以18的余数,i为接收分量图像块Yi的编号,N=m×n为接收分量图像块个数,j为接收分量图像块Yi内像素的编号;
[0030] D2、可改变像素点判定:将接收分量图像块Yi中的像素点yi,j分为I类像素点和II类像素点,分别记为Yi1和Yi2;
[0031]
[0032] 用接收标识元素p*i,j组成的接收标识矩阵P*i={p*i,j|j=1,2…18×18}记录接收分量图像块Yi中对应像素点yi,j的可改变性;接收标识元素p*i,j的值为0的对应像素点yi,j为不可改变像素点,接收标识元素p*i,j的值为1的对应像素点yi,j为可改变像素点;接收标识矩阵P*i={p*i,j|j=1,2…18×18}中所有元素p*i,j的初始值均为0,并由下式计算出I类像素点的p*i,j值,对接收标识矩阵P*i中相应的元素p*i,j的值进行更新:
[0033] j=54a+3b-37,a=1,2,L6,b=1,2,L6*
[0034] 其中,psdi,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;
[0035] D3、块分类:统计接收分量图像块Yi中可改变像素点的个数Li*,*
j=1,2,L,18×18,接收分量图像块Yi中Li 个可改变像素点的编号按从左至右、从上至下的顺序记为yi,jc,c=1,2,…Li*且 将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的接收分量图像块Yi归为关键类;不是关键类且可改变像素点Li*>0的接收分量图像块归为非均匀类;不是关键类且可改变像素点Li*=0的接收分量图像块归为均匀类;
[0036] E、水印的重构与提取
[0037] E1、映射位置生成:用B2步中的用户密钥Key2生成长度为N的实值伪随机序列R={ri|i=1,2,…,N},根据R生成块链{(Yi,Yi’)|i,i’∈[1,N]}以确定每个接收分量图像块Yi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
[0038] E2、水印提取:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别的不同提取水印信息Wi#:
[0039] 若接收分量映射块Yi’为均匀类,则用B1步的密钥Key1在该接收分量图像块Yi’中选出8个像素点yi',qh,并从该8个像素点的最低位提取出接收分量图像块Yi的水印信息Wi#={w#i,k|k=1,2,…,8},其中h=1,2,…8,yi',qh∈Yi’2,qh为从接收分量图像块Yi’内选出的像素的编号;
[0040] 若接收分量映射块Yi’为非均匀类或关键类,则用B1步的密钥Key1在该接收分量映射块Yi’内选出8个像素点yi',qh的最低位及Li’*个可改变像素点yi',jc的低4位提取出接收分量图像块Yi的水印信息序列Wi#={w#i,k|k=1,2,…,Li’*×4+8};
[0041] E3、水印重构:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别重构水印信息Wi*:
[0042] 若接收分量映射块Yi’为均匀类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为8的接收分量图像块Yi的水印信息Wi*={w*i,k|k=1,2,…,8}。
[0043] 若接收分量图像块Yi’为非均匀类或关键类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为Li’*×4+8接收分量图像块Yi的水印信息Wi*={w*i,k|k=1,2,…Li’*×4+8};
[0044] F、篡改认证
[0045] F1、比较矩阵:比较重构水印Wi*与提取水印Wi#得到接收分量图像的比较矩阵D={di|i=1,2,…,N},
[0046]
[0047] F2、初态篡改检测矩阵:计算比较矩阵D的八邻域特征矩阵△={δi|i=1,2,…,N},
[0048] δi=∑dj,j=i±1,i±n,i±n±1
[0049] 根据比较矩阵D及其八邻域特征矩阵△,生成初态篡改检测矩阵0 0
T=(ti|i=1,2,…,N),
[0050]
[0051] F3、次态1篡改检测矩阵:根据初态篡改检测矩阵T0,生成横向邻域扩展的次态11 1
篡改检测矩阵T=(ti|i=1,2,…,N);
[0052]
[0053] 其 中 j=i±1,i±n,i±n±1, j=i+1,i+2,j=i-1,i-2。
0
[0054] F4、次态2篡改检测矩阵:根据F2步的初态检测矩阵T,生成次态2篡改检测矩阵2 2
T=(ti|i=1,2,…,N);
[0055]
[0056] 其中 j=i±1, j=i±n。
[0057] F5、接收分量图像块真实性判定:对关键类接收分量图像块Yi,若(ti0=1)或(ti0=02 0 2
且ti=1),判定该接收分量图像块Yi为篡改块;若ti=0且ti=0,判定该接收分量图像块Yi未被篡改;
[0058] 对均匀类和非均匀类接收分量图像块Yi,若(ti0=1且ti1=1)或(ti0=0且ti2=1),判0 1 0 2
定该接收分量图像块Yi被篡改;若(ti=1且ti=0)或(ti=0且ti=0),判定该接收分量图像块Yi未被篡改;
[0059] G、彩色图像块真实性判定
[0060] 将接收彩色电子发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上D、E和F步的相同操作,直至得到接收发票图像三个分量的分量图像块的判断结果;若同一序号i的三个分量图像块Yi中有两个以上被判为篡改,则最终判定该接收电子发票中的彩色图像块为篡改块,并用选定的颜色在接收图像上该篡改块位置进行标示;否则,判为真实彩色图像块。
[0061] 与现有技术相比,本发明的有益效果是:
[0062] 一、由于电子发票图像的空白区域较多,且图像内容的重要性有所差异,本方法结合图像块中的内容以及是否含有可改变像素点把所有图像块分为三类:关键类、均匀类和非均匀类。各图像块依据所属类别的不同进行不同的水印嵌入与认证:均匀类图像块不是篡改者关注的重点,且在此处嵌入信息却会使文件大小增加很多,本发明在均匀类图像块中只在使用密钥选择的8个像素点的最低位进行水印嵌入,嵌入水印量少兼顾了发票的安全性与文件的大小。非均匀类与关键类图像块的水印嵌入位置则包括两个部分,除与均匀类图像块相同的8个像素点的最低位外,还增加了可改变像素点的低4位。在保证水印不可见的前提下增加了水印的嵌入容量,也保证了算法篡改检测的有效性。从而本发明能在保证图像大小增量较小的同时提高水印嵌入容量,确保算法的有效性。
[0063] 二、将图像块内容加密生成水印信息,然后再基于密钥随机嵌入到映射的其它图像块中,利用提取的水印信息检测图像块的真实性,同时考虑发票中文字横向连贯的特点在初态检测的基础上,提出横向邻域扩展检测并结合图像块的类别采用不同方法判定关键类、均匀类与非均匀类图像块的真实性,有效地降低了对拼贴篡改的误检,提高了算法认证的准确性。
[0064] 三、综合R、G和B三分量的检测结果,明显降低了算法的虚检;根据图像块内容及其映射块所属类别的不同,各类图像块生成不同长度的水印信息,水印嵌入时不需要判断水印容量是否充分,提高水印嵌入效率。
[0065] 下面结合附图和具体实施方式对本发明作进一步地详细说明。

附图说明

[0066] 图1(a)为尺寸为745×496的PNG电子发票测试图像。
[0067] 图1(b)为利用本发明方法对图1(a)生成的含水印电子发票图像。;
[0068] 图1(c)为对图1(b)部分内容进行替换篡改后的图像。
[0069] 图1(d)为利用本发明方法对图1(c)进行认证后的定位图像。
[0070] 图1(e)也是对图1(b)进行不同的部分内容替换篡改后的图像。
[0071] 图1(f)为利用本发明方法对图1(e)进行认证后的定位图像。
[0072] 图2(a)为尺寸为745×496的PNG电子发票测试图像。
[0073] 图2(b)为利用本发明方法对图2(a)生成的含水印电子发票图像。;
[0074] 图2(c)为对图2(b)进行添加、删除篡改后的图像。
[0075] 图2(d)为利用本发明方法对图2(c)进行认证后的定位图像。
[0076] 图3(a)为尺寸为745×496的PNG电子发票测试图像。
[0077] 图3(b)为利用本发明方法对图3(a)生成的含水印电子发票图像。
[0078] 图3(c)为尺寸为745×496的用于拼贴篡改的含水印电子发票图像。
[0079] 图3(d)为用图3(c)对图3(b)进行拼贴篡改后的图像。
[0080] 图3(e)为利用本发明方法对图3(d)进行认证后的定位图像。
[0081] 图4(a)为尺寸为745×496的用于拼贴篡改的电子发票图像。
[0082] 图4(b)为利用本发明方法对图4(a)生成的含水印电子发票图像。
[0083] 图4(c)为对图1(b)进行混合篡改后的图像。
[0084] 图4(d)为利用本发明方法对图4(c)进行认证后的定位图像。

具体实施方式

[0085] 本发明的一种具体实施方式是一种基于块分类的PNG电子发票图像的水印嵌入与认证方法,包括如下步骤:
[0086] A、块分类
[0087] A1、图像分块:将尺寸为(18m+u)×(18n+v)的发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个分量图像X划分成m×n个互不重叠的18×18分量图像块,即X={Xi|i=1,2…N},Xi={xi,j|j=1,2…18×18};其中,m为分量图像X的行数除以18的商,u为分量图像X的行数除以18的余数,n为分量图像X的列数除以18的商,v为分量图像X的列数除以18的余数,i为分量图像块Xi的编号,N=m×n为分量图像块个数,j为分量图像块Xi内像素的编号;
[0088] A2、可改变像素点判定:将分量图像块Xi中的像素点xi,j分为I类像素点和II类1 2
像素点,分别记为Xi 和Xi ;
[0089]
[0090] 用标识元素pi,j组成的标识矩阵Pi={pi,j|j=1,2…18×18}记录分量图像块Xi中对应像素点xi,j的可改变性;标识元素pi,j的值为0的对应像素点xi,j为不可改变像素点,标识元素pi,j的值为1的对应像素点xi,j为可改变像素点;标识矩阵Pi={pi,j|j=1,2…18×18}中所有元素pi,j的初始值均为0,并由下式计算出所有I类像素点的pi,j值,对标识矩阵Pi中相应的元素pi,j的值进行更新:
[0091] j=54a+3b-37,a=1,2,L6,b=1,2,L6
[0092] 其中,psdi,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;3×3图像块各像素点对应编号位置如下:
[0093]j-19 j-18 j-17
j-1 j j+1
j+17 j+18 j+19
[0094] 本实施例中,各中心点的像素扩展差psdi,j的具体计算方法详见文献(李赵红,侯建军,宋伟.基于等级结构的二值文本图像认证水印算法.自动化学报,2008,8(8):841-848))。
[0095] A3、块 分 类:统 计 分 量 图 像 块Xi中 可 改 变 像 素 点 的 个 数Li,Li=∑pi,j,j=1,2,L,18×18,分量图像块Xi中的Li个可改变像素点按从左至右、从上至下的顺序记为xi,jc,c=1,2,…Li且pi,jc=1;将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的分量图像块Xi归为关键类;不是关键类且可改变像素点的个数Li>0的分量图像块归为非均匀类;不是关键类且可改变像素点的个数Li=0的分量图像块归为均匀类;
[0096] B、水印的生成与嵌入
[0097] B1、水印嵌入位置选择:对均匀类的分量图像块Xi,通过密钥Key1在该分量图像块Xi的II类像素点中选择8个像素点xi,qh,这8个像素点的最低位作为图像块Xi内的可2
嵌入水印位置,其中,h=1,2,…8,xi,qh∈Xi,qh为密钥Key1从分量图像块Xi内选出的8个像素的编号;
[0098] 对非均匀类或关键类的分量图像块Xi,可嵌入水印位置分为两部分:第一部分为密钥Key1在其II类像素点中选择的8个像素点xi,qh的最低位;第二部分为分量图像块Xi中Li个可改变像素点xi,jc的低4位,共Li×4个嵌入位置。
[0099] B2、映射位置生成:基于用户密钥Key2生成长度为N的实值伪随机序列R={ri|i=1,2,…,N},根据R生成块链{(Xi,Xi’)|i,i’∈[1,N]}以确定每个分量图像块Xi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
[0100] 本实施例中通过对随机序列R排序生成块链{(Xi,Xi’)|i,i’∈[1,N]}的具体方法,详见文献(He Hong-jie,Zhang Jia-shu,Chen Fen.A self-recovery fragile watermarking scheme for image authentication with superior localization,Science in China Series F-Information Sciences,2008.51(10):1487-1507)。
[0101] B3、水印生成与嵌入:对于每个分量图像块Xi,首先将分量图像块Xi中的由B1步选择的8个像素点xi,qh和标识元素pi,j=1的对应像素点xi,j的像素值置为100,其余像素值A不变,得到矩阵Xi,然后根据其分量映射块Xi’的类别完成水印的生成与嵌入:
[0102] 若其分量映射块Xi’为均匀类,则将矩阵XiA相应二进制编码流进行哈希运算,得到A长度为8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…8};通过依次修改分量映射块Xi’内8个可嵌入像素xi',qh(h=1,2,…8)实现水印信息Wi的嵌入,即:
[0103] k=1,2,L,8
[0104] 若其分量映射块Xi’为非均匀类或关键类,则将矩阵XiA相应二进制编码流进行A哈希运算,得到长度为Li’×4+8的分量图像块Xi的二值水印信息序列Wi,Wi=Hash(Xi)={wi,k|k=1,2,…Li’×4+8};通过依次修改分量映射块Xi’内8个像素xi',qh(h=1,2,…8)和Li’个可改变像素xi',jc实现水印信息Wi的嵌入,即:
[0105]
[0106] C、含水印彩色电子发票图像生成
[0107] 将发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上A、B步的相同操作,直至得到发票图像含水印的全部分量,形成含水印的完整彩色电子发票图像。
[0108] D、接收图像的块分类
[0109] D1、图像分块:含水印的完整彩色电子发票图像经传输,接收后得到尺寸为(18m+u)×(18n+v)的彩色电子发票图像中的(1:18m,1:18n)区域的R、G和B分量中的一个接收分量图像Y;将接收分量图像Y划分成m×n个互不重叠的18×18接收分量图像块Yi,即Y={Yi|i=1,2…N},Yi={yi,j|j=1,2…18×18};其中,m为接收分量图像Y的行数除以18的商,u为接收分量图像Y的行数除以18的余数,n为接收分量图像Y的列数除以18的商,v为接收分量图像Y的列数除以18的余数,i为接收分量图像块Yi的编号,N=m×n为接收分量图像块个数,j为接收分量图像块Yi内像素的编号;
[0110] D2、可改变像素点判定:将接收分量图像块Yi中的像素点yi,j分为I类像素点和1 2
II类像素点,分别记为Yi 和Yi ;
[0111]
[0112] 用接收标识元素p*i,j组成的接收标识矩阵P*i={p*i,j|j=1,2…18×18}记录接收分*量图像块Yi中对应像素点yi,j的可改变性;接收标识元素pi,j的值为0的对应像素点yi,j*
为不可改变像素点,接收标识元素pi,j的值为1的对应像素点yi,j为可改变像素点;接收标* * *
识矩阵Pi={pi,j|j=1,2…18×18}中所有元素pi,j的初始值均为0,并由下式计算出I类* * *
像素点的pi,j值,对接收标识矩阵Pi中相应的元素pi,j的值进行更新:
[0113] j=54a+3b-37,a=1,2,L6,b=1,2,L6
[0114] 其中,psd*i,j是通过二值化以编号j=54a+3b-37的像素点为中心,编号为j±1j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;
[0115] D3、块分类:统计接收分量图像块Yi中可改变像素点的个数Li*,*
j=1,2,L,18×18,接收分量图像块Yi中Li 个可改变像素点的编号按从左至右、从上至下*
的顺序记为yi,jc,c=1,2,…Li 且 将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的接收分量图像块Yi归为关键类;不是关键类且可改变像素点* *
Li>0的接收分量图像块归为非均匀类;不是关键类且可改变像素点Li=0的接收分量图像块归为均匀类;
[0116] E、水印的重构与提取
[0117] E1、映射位置生成:用B2步中的用户密钥Key2生成长度为N的实值伪随机序列R={ri|i=1,2,…,N},根据R生成块链{(Yi,Yi’)|i,i’∈[1,N]}以确定每个接收分量图像块Yi相对应的分量映射块,其中i’为R中元素ri的值在R中按大小排序后的位置;
[0118] E2、水印提取:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别的#不同提取水印信息Wi。
[0119] 若接收分量映射块Yi’为均匀类,则用B1步的密钥Key1在该接收分量图像块Yi’中选出8个像素点yi',qh,并从该8个像素点的最低位提取出接收分量图像块Yi的水印信息# # 2Wi={wi,k|k=1,2,…,8},其中h=1,2,…8,yi',qh∈Yi’,qh为从接收分量图像块Yi’内选出的像素的编号;
[0120] 若接收分量映射块Yi’为非均匀类或关键类,则用B1步的密钥Key1在该接收分量*映射块Yi’内选出8个像素点yi',qh的最低位及Li’个可改变像素点yi',jc的低4位提取出# # *
接收分量图像块Yi的水印信息序列Wi={wi,k|k=1,2,…,Li’×4+8};
[0121] E3、水印重构:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别重*构水印信息Wi :
[0122] 若接收分量映射块Yi’为均匀类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为8的接收分量图像块Yi的水印信息* *Wi={wi,k|k=1,2,…,8}。
[0123] 若接收分量图像块Yi’为非均匀类或关键类,则将B3步中的分量图像块Xi替换为*接收分量图像块Yi,再按B3步的同样操作,重构出长度为Li’×4+8接收分量图像块Yi的* * *
水印信息Wi={wi,k|k=1,2,…Li’×4+8}。
[0124] F、篡改认证
[0125] F1、比较矩阵:比较重构水印Wi*与提取水印Wi#生成接收分量图像的水印比较矩阵D={di|i=1,2,…,N},
[0126]
[0127] di=0表示接收分量图像块Yi的重构水印与提取水印相同,di=1则表示不
[0128] 相同;
[0129] F2、初态篡改检测矩阵:计算比较矩阵D的八邻域特征矩阵△={δi|i=1,2,…,N},
[0130] δi=∑dj,j=i±1,i±n,i±n±1
[0131] 根据比较矩阵D及其八邻域特征矩阵△,生成初态篡改检测矩阵0 0
T=(ti|i=1,2,…,N),
[0132]
[0133] 其中,D的邻域特征矩阵△={δi|i=1,2,…,N}的生成方法详见文献(He Hong-jie,Zhang Jia-shu,Chen Fen.A self-recovery fragile watermarking scheme for image authentication with superior localization,Science in China Series F-Information Sciences,2008.51(10):1487-1507)
[0134] F3、次态1篡改检测矩阵:根据F2步的初态篡改检测矩阵T0,生成横向邻域扩展的1 1
次态1篡改检测矩阵T=(ti|i=1,2,…,N);
[0135]
[0136] 其 中 j=i±1,i±n,i±n±1, j=i+1,i+2,j=i-1,i-2。
[0137] F4、次态2篡改检测矩阵:根据F2步的初态检测矩阵T0,生成次态2篡改检测矩阵2 2
T=(ti|i=1,2,…,N);
[0138]
[0139] 其中 j=i±1, j=i±n。
[0140] F5、接收分量图像块真实性判定:对关键类接收分量图像块Yi,若(ti0=1)或(ti0=02 0 2
且ti=1),判定该接收分量图像块Yi为篡改块;若ti=0且ti=0,判定该接收分量图像块Yi未被篡改;
[0141] 对均匀类和非均匀类接收分量图像块Yi,若(ti0=1且ti1=1)或(ti0=0且ti2=1),判0 1 0 2
定该接收分量图像块Yi被篡改;若(ti=1且ti=0)或(ti=0且ti=0),判定该接收分量图像块Yi未被篡改;
[0142] G、彩色图像块真实性判定
[0143] 将接收彩色电子发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上D、E和F步的相同操作,直至得到接收发票图像三个分量的分量图像块的判断结果;若同一序号i的三个分量图像块Yi中有两个以上被判为篡改,则最终判定该接收电子发票中的彩色图像块为篡改块,并用选定的颜色在接收图像上该篡改块位置进行标示;否则判为真实彩色图像块。
[0144] 本发明的效果可以通过以下性能分析及试验得到验证和说明:
[0145] 本发明的效果可以通过以下性能分析验证。其中,水印容量用单位像素嵌入的比特数(bpp:bit per pixel)来衡量,含水印图像的不可见性用它与原始图像的峰值信噪比(PSNR:Peak Signal-to-Noise Ratio)来衡量(单位为dB)。
[0146] 一、水印容量、不可见性与发票大小增量的分析与统计
[0147] 对相同的水印嵌入算法,水印容量越大,带来图像变形也越严重,生成的含水印数字图像不可见性越差。现有文献的水印容量多是固定的,而本发明将PNG电子发票图像分块并结合电子发票内容特性对图像块进行分类。水印容量依图像块类别的不同而变化。发票的均匀区域越少,则嵌入水印后电子发票的大小增量则会越小。表1给出了本发明对常用PNG电子发票图像水印容量、
[0148] 不可见性及增量的统计结果。由表1可以看出,本发明水印容量相对较少,能很好的保证含水印电子发票的质量,而嵌入水印后发票相对大小增量也在10%以下,增量较小,适于实际应用。
[0149] 表1本发明对电子发票的水印容量、不可见性及相对增量的统计结果
[0150]
[0151] 二、篡改检测性能的测试
[0152] 为验证算法在部分内容替换、添加、删除、拼贴和混合篡改下的检测性能,用实施例的方法对PNG电子发票图像进行了相关测试。
[0153] 1、部分内容替换篡改
[0154] 以图1(a)的尺寸为745×496的PNG电子发票为测试图像,利用本发明生成的含水印图像见图1(b),水印容量为0.0264bpp,Psnr=62.85dB,含水印电子发票大小增量为7.29%。对图1(b)进行如下替换篡改:1)在项目单价中用“2070”替换“20.70”;2)金额中用“4140”替换“41.40”;3)小写合计中用“4140”替换“41.40”;4)大写合计总把“拾”改为“仟”,“圆”改为“佰”,“”改为“拾元”;篡改后的图像为图1(c)示,篡改比例为2.44%。
[0155] 图1(e)同样是对图1(b)经过部分不同内容的替换篡改后得到的图像,篡改如下:1)开票日期中2013年中“3”篡改为“2”;2)发票代码中倒数第5位的“7”改为“9”;3)发票号码中的最后三位“001”替换为“341”;4)税号的第6位的“2”替换为“8”;5)右下角的发票专用章中的税号同样把“2”改为“8”。篡改比例为0.72%。
[0156] 图1(d)是用本发明方法对图1(c)进行认证后的定位图像;图1(f)是用本发明方法对图1(e)进行认证后的定位图像;定位精度为18×18个像素。可以看到,由于本发明对关键块的认证要求严格,使得图1(f)准确检测到了篡改。而图1(d)漏检了一个被篡改的图像块,是因为该块只被篡改了边界的极少数像素点,使得重构水印与原始水印相同,且其映射块未被篡改。综合两组测试表明本发明对部分内容篡改拥有较好的认证能力。
[0157] 2、添加、删除篡改
[0158] 图2(a)是尺寸为745×496的彩色电子发票测试图像,图2(b)为利用本发明生成的含水印的电子发票图像,水印容量为0.0281bpp,Psnr=61.24dB,含水印电子发票大小增量为9.28%。对图2(b)进行如下篡改:1)删除项目“移动硬盘”,移动硬盘相应的单价“¥397”,移动硬盘相应的数量“2”;移动硬盘相应的金额“794”;2)在备注处添加“点评团购”;3)小写合计处用“62.1”替换“856.1”;4)大写合计处用“陆拾贰圆壹角”替换“捌佰伍拾陆圆壹角”。篡改后的图像为图2(c)所示,篡改比例为3.79%。
[0159] 图2(d)是用本发明方法对图2(c)进行认证后的定位图像,定位精度同样为18×18个像素。可以看到,由于本发明在均匀类图像块中嵌入了适量的水印信息,使得图像在遭到删除篡改时依然能够提取出相应的水印信息进行篡改检测,而在认证时的横向邻域扩展检测法也为最终的准确定位提供了保障。测试结果表明本发明对添加、删除篡改拥有较好的认证能力。
[0160] 3、拼贴篡改
[0161] 为测试本发明抵抗拼贴篡改的能力,以图3(a)为电子发票测试图像。图3(b)是利用本发明方法生成的含水印的电子发票图像,水印容量为0.0279bpp,Psnr=61.47dB,含水印发票的大小增量为9.94%。利用相同密钥生成含水印电子发票图像图3(c)用于拼贴篡改,将其项目陈氏太极拳的单价“11.4”、金额“11.4”拼贴到图3(b)的相应区域,同时将小写合计处的“164.7”、大写合计处的“壹佰陆拾肆圆柒角”拼贴到图3(b)的相应区域,得到经过拼贴篡改后的图像为图3(d)所示,拼贴比例为1.99%。
[0162] 图3(e)是利用本发明方法对遭受拼贴篡改的图像图3(d)的定位图像,定位精度为18×18个像素,无误检情况发生。本发明为了抵抗拼贴篡改,增加密钥引入图像块之间的相关性,将水印信息置乱嵌入其他图像块中,篡改认证时通过对图像块进行不同级别的认证并结合横向邻域扩展检测法提高了算法的篡改认证能力。
[0163] 4、混合篡改
[0164] 当添加、删除、替换和拼贴篡改同时存在于一幅PNG电子发票图像中时,本文算法依然具有优越的篡改定位能力。利用相同的密钥生成图4(a)的含水印电子发票图像图4(b)以实施拼贴攻击。对含水印电子发票图像图1(b)进行以下篡改:1)添加项目“开国大典”,单价“¥30.00”,数量“2”,金额“¥60.00”;2)删除票头中的“北京市”;3)大写合计的“肆”改为“壹”,“拾”改为“佰”,小写合计“40.40”为“101.40”,开票时间由“2013年8月
10日”修改为“2001年9月20日”;4)用图4(b)行业分类中的“零售类”拼贴图1(b)的相应区域。得到包含四种篡改方式多个篡改区域的电子发票图像为图4(c)所示,篡改比例为
4.70%。
[0165] 图4(d)是利用本发明方法对图4(c)认证的定位图像,定位精度为18×18个像素。综合以上测试结果可看出本发明对多种篡改同时存在的情况具有较好的认证能力。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈