基于PDF417二维码数字水印技术的实现

2018-01-13 01:45庞毅林
网络安全技术与应用 2018年1期
关键词:数字水印条码像素点

◆庞 博 庞毅林

(1.武警警官学院 四川 610213;2.华东理工大学信息学院 上海 200237)

0 引言

二维条形码技术是一种结合信息技术与计算机技术发展起来的集数据采集和处理、编码、识别、印刷于一体的新型技术。它是用某种特定的几何图形按一定规律在水平和垂直方向的二维空间里利用黑白相间的图形存储信息,具有信息量大、编码能力强和保密防伪性强等特点。数字水印技术与二维条形码技术相结合,不仅可以对证件进行自动识别,而且可以有效地防止证件伪造等,在信息领域得到了广泛地应用。

国内外目前对二维码的水印技术研究主要集中在 PDF417码和QR码。文献[4]对PDF417码组成单元的宽度进行适量修改以实现水印信息的嵌入,具有抵打印和扫描功能,但水印信息很小。文献[5]提出了一种基于边界移位的二维图形码数字水印技术,可以在二维码图像中嵌入水印,提高了二维码图像的安全性和适用性。文献[6]提出了一种在DCT域的PDF417码的数字水印算法,提高了数字水印的鲁棒性。文献[7]提出了一种基于QR码的脆弱水印算法,增强了数字水印的隐蔽性,提高了水印容量,可广泛应用于终端设备对电子票的防伪及认证。文献[8]提出了基于 PDF417的明隐藏和暗隐藏的方法。本文提出了一种基于PDF417的二维码数字水印算法,提高了水印的抗JPEG压缩的鲁棒性,并用JAVA语言编程实现了一个APP应用,具有一定的实用性。

1 一种改进的PDF417二维码水印算法

1.1 PDF417二维码原理

PDF417二维码是一种高密度、高信息含量的便携式数据文件,一个PDF码最多可容纳1850 个字符或1108 个字节的二进制数据,如果只表示数字则可容纳2710 个数字。PDF417码是一种堆叠式二维图形码,每一个 PDF417码由 3-90横列构成。PDF417使用RS编码进行突发差错校验。

1.2 本文提出的PDF417二维码数字水印算法

基于PDF417二维码的数字水印技术一般包括两个阶段:水印嵌入和提取过程。

(1)本文算法的水印嵌入

先将水印信息表示的二进制比特流信息进行预判,然后选择嵌入水印到PDF417的“黑条”还是“白空”的位置,再寻找合适的符合条件的嵌入像素点。具体步骤如下:

① 预判水印比特信息。如果含“0”的多于“1”,则选择“黑条”嵌入;否则选“白空”作为嵌入位置。

② 忽略掉二维码图像的四个静空区,然后连续读取每两行像素值。

③ 比较每两行的像素值大小,如果相同,转步骤①,继续读取,如果不相同,则断定这两行像素为PDF417堆叠字码的边界处,可在此处嵌入水印,同时根据PDF417码的特点得到每行堆叠字码的像素高,以便进行下一边界寻找的判断。

④ 判断边界紧邻的上一行像素值,寻找该行中连续为黑(或白)的像素点,水印可在第一行的这些连续像素的最后(或者最前)一个像素点处嵌入。

⑤ 取待嵌入水印信息中的一个比特,如果为0,则继续进行,不做改动;如果为1,则修改连续的黑像素点为白像素点以嵌入水印信息。

如果水印信息已经全部嵌入完毕,则算法结束;反之如果连续点已用完,则转步骤②,继续往下寻找下一符合条件的边界,如果已经无边界,则说明该PDF417码不足以嵌入全部水印信息。

(2)本文算法的水印提取

水印提取是水印嵌入的相反过程。考虑到水印嵌入时用的是紧邻边界的上一行像素,并修改该行符合条件的像素点。因而,在水印提取中就只根据PDF417码的特点,根据前述的嵌入过程中每行堆叠字码的像素高,作为边界判断,寻找紧邻边界的上一行,即是水印嵌入行。同时,由于嵌入算法中对水印先做了预判,因而水印提取以嵌入算法中的预判结果为依据进行后续处理。

2 实验结果

实验中采用的PDF417二维条码样本如图1(a)所示,嵌入的数字水印信息为“http∶//www.baidu.com”,嵌入水印之后的图像如图1(b)所示。通过两幅图的对比,可以看出两幅图像的差别非常小。嵌入水印后,可以通过相应的水印提取算法,从携带水印的PDF417二维条码中恢复出数字水印信息“http∶//www.baidu.com”,如图1(c)。实验结果表明,该数字水印算法能够实现嵌入水印信息的正确提取嵌入,同时不影响嵌入水印后的二维码信息正确识读,保证了二维码自身携带的数据信息的完整性。

图1 实验效果图

算法性能评价选用峰值信噪比PSNR和相似度NC作为参数指标。

Xij :载体图像像素值;X ij :含隐写信息图像像素值。

图2 基于PDF417二码数字水印技术的App

对嵌入数字水印后的二维条码图像进行JPEG压缩的鲁棒性分析,在不同的JPEG压缩因子下,携带水印的二维条码图像从视觉上看不出明显区别。由表1可以看出,嵌入水印后的二维码图像与原二维码样本具有较高的相似性,且峰值信噪比低至19dB时仍能通过二值化恢复出原本的水印信息,因此该二维码水印算法对JPEG压缩具有较好的鲁棒性。

表1不同JPEG压缩因子对应的PSNR、NC值比较

3 APP的实现

运用Java编程实现基于Android系统的APP应用的设计。该APP可以实现对PDF417二维码进行扫描、水印嵌入、提取等功能。操作界面如图2所示。

4 结束语

本文提出了一种基于PDF417二维码的数字水印算法,实现了水印的嵌入和提取,并正确识读原二维码信息,具有抗JPEG压缩的鲁棒性,最后设计并实现了相关功能的APP,对实际生活中运用二维码进行防伪认证等方面具有一定的实用性。

[1]蒋翠玲,黄帅等.一种基于 PDF417条码的鲁棒数字水印方法.网络与信息安全学报, 2016.

[2]Jiangxiao Han, Gang Wang,Johan Sidén, Fragment-type UHF RFID tag embedded in QR barcode label, Electronics Letters , 2015.

[3]吴桐树.基于二维码的数字水印技术研究[D].浙江理工大学,2015.

[4]牛夏牧,黄文军,吴迪,张慧.基于二维条码的信息隐藏技术[J].中山大学学报(自然科学版),2004.

[5]陈峥,姚宇红,王晓京.一种基于二维图形码的数字水印技术[J].计算机应用,2006.

[6]张基宏,肖薇薇,纪震.基于二维条码 PDF417的数字图像水印算法[J].深圳大学学报(理工版),2002.

[7]朱本威,万武南,陈运.基于LSB的QR码数字水印算法研究[J].成都信息工程学院学报,2012.

[8]赵博.二维条码研究[D].西安电子科技大学,2007.

猜你喜欢
数字水印条码像素点
热线互动
基于局部相似性的特征匹配筛选算法
浅析影响商品条码质量的主要因素
日杂商品条码质量现状研究
基于网屏编码的数字水印技术
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于FPGA的数字水印提取系统设计研究
基于数字水印的人脸与声纹融合识别算法