[发明专利]基于块分类的PNG电子发票图像水印嵌入与认证方法有效
申请号: | 201410090182.6 | 申请日: | 2014-03-12 |
公开(公告)号: | CN104036447B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 陈帆;秦瑶;和红杰 | 申请(专利权)人: | 西南交通大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 成都博通专利事务所51208 | 代理人: | 陈树明 |
地址: | 610031 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于PNG电子发票图像内容保护的水印嵌入与认证方法,其作法主要是将PNG电子发票图像分块并根据图像块的内容及其是否含有可改变像素点将图像块分为关键类、均匀类与非均匀类;将RGB三个分量的图像块内容分别加密后生成水印信息,根据分量图像块类别的不同选择相应的水印嵌入位置;通过比较图像块重构水印及提取水印的一致性判断该图像块的真实性,并采用横向邻域扩展检测法进一步提高篡改检测性能,最后通过综合RGB三个分量的检测情况得到待检测电子发票的认证结果。该方法在保证实现水印不可见的同时,对PNG图像大小的增加少;其对篡改的检测准确性高,误检率低,能够有效抵抗替换、添加、删除及拼贴等篡改。 | ||
搜索关键词: | 基于 分类 png 电子 发票 图像 水印 嵌入 认证 方法 | ||
【主权项】:
一种基于块分类的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类像素点,分别记为Xi1和Xi2;xi,j∈Xi1,ifj=54a+3b-37,a=1,2,...6,b=1,2,...6Xi2,otherwise]]>用标识元素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的值进行更新:pi,j=1,ifpsdi,j≤1.00,otherwise,j=54a+3b-37,a=1,2,...6,b=1,2,...6]]>其中,psdi,j是通过二值化以编号j=54a+3b‑37的像素点为中心,编号为j±1,j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;A3、块分类:统计分量图像块Xi中可改变像素点的个数Li,Li=∑pi,j,j=1,2,…,18×18,分量图像块Xi中的Li个可改变像素点按从左至右、从上至下的顺序记为c=1,2,…Li且将开票日期、代码、号码、收款单位、税号、项目信息、金额和发票专用章所在的分量图像块Xi归为关键类;不是关键类且可改变像素点的个数Li>0的分量图像块归为非均匀类;不是关键类且可改变像素点的个数Li=0的分量图像块归为均匀类;B、水印的生成与嵌入B1、水印嵌入位置选择:对均匀类的分量图像块Xi,通过密钥Key1在该分量图像块Xi的II类像素点中选择8个像素点这8个像素点的最低位作为图像块Xi内的可嵌入水印位置,其中,h=1,2,…8,qh为密钥Key1从分量图像块Xi内选出的8个像素的编号;对非均匀类或关键类的分量图像块Xi,可嵌入水印位置分为两部分:第一部分为密钥Key1在其II类像素点中选择的8个像素点的最低位;第二部分为分量图像块Xi中Li个可改变像素点的低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个像素点和标识元素pi,j=1的对应像素点xi,j的像素值置为100,其余像素值不变,得到矩阵然后根据其分量映射块Xi’的类别完成水印的生成与嵌入:若其分量映射块Xi’为均匀类,则将矩阵相应二进制编码流进行哈希运算,得到长度为8的分量图像块Xi的二值水印信息序列Wi,通过依次修改分量映射块Xi’内8个可嵌入像素实现水印信息Wi的嵌入,即:若其分量映射块Xi’为非均匀类或关键类,则将矩阵相应二进制编码流进行哈希运算,得到长度为Li’×4+8的分量图像块Xi的二值水印信息序列Wi,通过依次修改分量映射块Xi’内8个像素和Li’个可改变像素实现水印信息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类像素点,分别记为Yi1和Yi2;yi,j∈Yi1,ifj=54a+3b-37,a=1,2,...6,b=1,2,...6Yi2,otherwise]]>用接收标识元素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的值进行更新:pi,j*=1,ifpsdi,j*≤1.00,otherwise,j=54a+3b-37,a=1,2,...6,b=1,2,...6]]>其中,psd*i,j是通过二值化以编号j=54a+3b‑37的像素点为中心,编号为j±1,j±18,j±18±1的像素点为八邻域组成的3×3图像块,计算得到的中心点的像素扩展差;D3、块分类:统计接收分量图像块Yi中可改变像素点的个数Li*,接收分量图像块Yi中Li*个可改变像素点的编号按从左至右、从上至下的顺序记为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个像素点并从该8个像素点的最低位提取出接收分量图像块Yi的水印信息Wi#={w#i,k|k=1,2,…,8},其中h=1,2,…8,qh为从接收分量图像块Yi’内选出的像素的编号;若接收分量映射块Yi’为非均匀类或关键类,则用B1步的密钥Key1在该接收分量映射块Yi’内选出8个像素点的最低位及Li’*个可改变像素点的低4位提取出接收分量图像块Yi的水印信息序列Wi#={w#i,k|k=1,2,…,Li’*×4+8};E3、水印重构:对每个接收分量图像块Yi,根据其接收分量映射块Yi’所属类别重构水印信息Wi*:若接收分量映射块Yi’为均匀类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为8的接收分量图像块Yi的水印信息Wi*={w*i,k|k=1,2,…,8};若接收分量图像块Yi’为非均匀类或关键类,则将B3步中的分量图像块Xi替换为接收分量图像块Yi,再按B3步的同样操作,重构出长度为Li’*×4+8接收分量图像块Yi的水印信息Wi*={w*i,k|k=1,2,…Li’*×4+8};F、篡改认证F1、比较矩阵:比较重构水印Wi*与提取水印Wi#得到接收分量图像的比较矩阵D={di|i=1,2,…,N},di=0,ifWi*=Wi#1,otherwise]]>F2、初态篡改检测矩阵:计算比较矩阵D的八邻域特征矩阵Δ={δi|i=1,2,…,N},δi=Σdj,j=i±1,i±n,i±n±1根据比较矩阵D及其八邻域特征矩阵Δ,生成初态篡改检测矩阵T0=(ti0|i=1,2,…,N),F3、次态1篡改检测矩阵:根据初态篡改检测矩阵T0,生成横向邻域扩展的次态1篡改检测矩阵T1=(ti1|i=1,2,…,N);其中F4、次态2篡改检测矩阵:根据F2步的初态检测矩阵T0,生成次态2篡改检测矩阵T2=(ti2|i=1,2,…,N);其中F5、接收分量图像块真实性判定:对关键类接收分量图像块Yi,若(ti0=1)或(ti0=0且ti2=1),判定该接收分量图像块Yi为篡改块;若ti0=0且ti2=0,判定该接收分量图像块Yi未被篡改;对均匀类和非均匀类接收分量图像块Yi,若(ti0=1且ti1=1)或(ti0=0且ti2=1),判定该接收分量图像块Yi被篡改;若(ti0=1且ti1=0)或(ti0=0且ti2=0),判定该接收分量图像块Yi未被篡改;G、彩色图像块真实性判定将接收彩色电子发票图像中的区域(1:18m,1:18n)的R、G和B分量中的剩余分量进行以上D、E和F步的相同操作,直至得到接收发票图像三个分量的分量图像块的判断结果;若同一序号i的三个分量图像块Yi中有两个以上被判为篡改,则最终判定该接收电子发票中的彩色图像块为篡改块,并用选定的颜色在接收图像上该篡改块位置进行标示;否则判为真实彩色图像块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南交通大学,未经西南交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410090182.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种纳米银硅藻土抗菌滤芯及其制备方法
- 下一篇:一种清咽颗粒