APP下载

一种基于字符点阵式编码的工程图信息隐藏算法

2011-07-07杨玉军杨夷梅

图学学报 2011年4期
关键词:线宽工程图字符

杨玉军, 杨夷梅

(怀化学院计算机科学与技术系,湖南 怀化 418008)

计算机和网络技术的迅速发展使得数字多媒体信息被大量使用且能方便快捷地进行传输。然而数字媒体的版权问题日益成为人们关注的热点问题。因此,数字水印技术和信息隐藏技术[1]得到了迅速的发展,并广泛应用于图像、视频和音频等方面,但对于工程图的应用研究相对较少。工程图广泛应用于服装和建筑等行业,它是设计师们的智慧结晶和劳动成果,也是企业的重要资产,其版权应该得到有效的保护。目前,已经有一些与保护工程图相关的研究[2-5],但还处于起步阶段。文献[3]提出了一种通过修改工程图中各实体顶点间的距离比例来隐藏信息的算法;在文献[3]的基础上,文献[4]提出了一种改进的信息隐藏算法。虽然这些方法能够有效的抵抗平移、旋转、缩放和修改等攻击,但是由于修改了工程图中的顶点间的距离,因此在实际应用中可能会影响产品的加工与制造。文献[5]提出了一种基于实体调色板的信息隐藏算法,但不能抵抗编辑、修改甚至删除攻击,而且嵌入的信息量不高。在此,本文提出一种基于字符点阵式编码的工程图信息隐藏算法,该算法先对要隐藏的信息进行点阵式编码处理,使字符具有图像的特性,然后根据使用Logistic混沌系统产生的二值化混沌序列选择其中部分线段实体,结合 HVS和隐藏信息对工程图的线宽进行微小修改,从而实现隐藏信息的目的和自校验。实验结果显示该算法对平移、旋转和编辑等攻击具有较好的鲁棒性和较高的嵌入量, 是一种较好的能解决数字工程图的版权保护问题的方法。

1 点阵式字符编码和工程图线型特征

1.1 点阵式字符编码

点阵式字符编码是以字符的点阵字库为基础的字符编码技术,点阵字库是一个保存了所有文字和字符的点阵数组的数据文件。广泛应用于液晶显示技术中。以UCDOS中文宋体字库为例,根据国标汉字库中的每一个文字和字符均由256点阵来表示的标准,每一个文字和字符由 16行16列的点阵组成,每一个点可以理解为一个像素,因此每一个文字和字符的字形可以理解为一幅图像。事实上任何一个字符不仅可以显示为字符,也可以显示为256像素的图像。

1.2 工程图线型特征

AutoCAD是美国Autodesk公司的产品,广泛应用于电子电路、机械设计、服装鞋帽、航空航天等诸多领域。现已成为国际上广为流行的绘图工具。本文将以AutoCAD 2004为应用工具,讨论工程图的信息隐藏技术。

组成工程图的实体元素主要有点、线段、圆和弧,其中以线段居多。线段是属于某个工作层上的对象,在每个工作层上都可以进行图形绘制和设置线段的线型和颜色。AutoCAD支持多种线型的选择,选择不同的线型可以使图形更美观和对比查看。在默认情况下,AutoCAD工作层上的线型为连续(即Continuous)类型,同时还可以选择随层(即 Bylayer)和随块(即ByblockM),这样在某个工作层上的所有线段都是统一的。线段的另外一个重要属性就是线宽,线宽的范围从 0mm~2.11mm,也可以选择随层或随块,默认情况下线段的线宽为 0.25mm,AutoCAD提供的几种线型的选择方式如图1所示。

图1 AutoCAD线段属性图

2 基于字符点阵式编码的工程图信息隐藏算法

2.1 信息隐藏的基本思想

由于工程图主要由线段组成,因此可以将要隐藏的信息隐藏在这些线段中。然而衡量一个信息隐藏技术的好坏,一方面取决于其抗攻击能力,另一方面取决于人的主观视觉特性,若目标工程图中含有某些人眼不敏感或者“不在乎”的信息,那么对观察者而言,就意味着信息隐藏技术较好。因此,信息隐藏技术必须考虑人眼的视觉特性。

人眼视觉系统(Human Visual System, HVS)的掩蔽特性主要表现在3个方面:亮度特性、频率特性和颜色感知特性。而本文主要考虑的是工程图线段的线宽感知特性。从感知特性来说,Low和Maxemchuk等人在文献[6]和文献[7]中提出,在人的视觉条件下,如果字符间距的改变量不超过2%(约0.17mm),肉眼是感觉不到的。类似的,在工程图中,如果两条线段的线宽差距0.1mm之内的话,从人体视觉感知特性来看是无法感知的。图2为三条不同线宽的线段,其中,线段 A的线宽为 0.18mm,线段 B的线宽为0.20mm,线段C的线宽为0.25mm,通过肉眼很难区分这三条线段的线宽。

图2 三条不同线宽的线段视图

因此,从人体视觉感知特性来看[8],采取微小改变工程图中线段线宽的方法来隐藏秘密信息将会具有较好的隐藏效果。当然,线段线宽的微小改变并不会改变工程图的标注尺寸,同时也不会影响工程图的正常阅读和执行。在AutoCAD 2004中,线段线宽的范围从0.00mm~2.11mm,总共分24个等级,相邻2个或3个等级的线宽相差不大,最小的差距为 0.02mm,最大为0.42mm,适合隐藏信息的条件,对24级的线段线宽分析发现,大部分的线宽级差在 0.01mm~0.15mm之间,且线段线宽值较小的级差较小,比较适合于隐藏信息。具体可以通过以下方法来隐藏信息,当需要隐藏的信息为“1”时,将线段的线宽增大或减少一级,当需要隐藏的信息位为“0”时,保持该线段的线宽不变。

2.2 信息隐藏算法

针对一幅工程图,可以把组成工程图的所有线段看作成一个集合,表示为 S ={ s1, s2,… ,si,… ,sn}。嵌入信息前的工程图用 D表示,嵌入信息后的工程图用D′表示。

信息的嵌入算法具体描述如下:

Step 1 输入要隐藏的信息H和待处理的工程图D;

Step 2 将要隐藏的信息H转换成为点阵式字符编码序列其中mi是要隐藏信息H中的某个字符的点阵式编码;

Step 3 逐个将点阵式字符编码序列mi转换成二进制形式其中bi×j×k是要隐藏信息字符的点阵式编码的一位二进制位,表示点阵式的j行k列的一位二进制位,r和c是点阵式的阵列的最大行数和列数,最后形成所有点阵式字符编码序列的二进制形式

Step 4 在密钥K的作用下,由混沌系统L生成混沌序列,经过二值化处理后,得到二值化的混沌序列 Q ={q1, q2, …,qi, … , qn},其 中qi∈{0,1}

Step 6 根据序列 Q的值来修改线段的线宽,当qi值为“1”时,则将对相应线段的线宽做微小修改;当qi值为“0”时,则不在该线段对象中隐藏信息,保持线段原来的线宽不变,微小修改线段的线宽具体方法如式(2)所示

Step 7 待所有信息嵌入后,即获得含有秘密信息的工程图D′。

2.3 信息检测和提取算法

隐藏后信息的检测和提取算法基本与嵌入算法相似 ,具体描述如下:

Step 1 输入含有隐藏信息的工程图D′;

Step 3 在密钥K的作用下,由混沌系统L生成混沌序列,经过二值化处理后,得到二值化的 混沌 序 列 Q ={q1, q2, …,qi, … , qn},其 中qi∈{0,1};

Step 4 根据序列Q的值来检测和提取线段的线宽,当qi值为“1”时,若对相应线段的线宽比原来线段的线宽减小k级,则提取信息值为k,并转换成二进制值bi×j×k;当qi值为“0”时,则不需要进行检测和提取;

Step 5 循环执行Step 4,直到所有的信息都被检测完成,得到二进制形式 Bi={ bi×1×1,… ,bi×j×k, … ,bi×r×c};

Step 6 将二进制形式Bi合并成二进制集合B={B1,…,Bi, …,Bn},对B进行点阵式字符处理,得到序列 M ={m1,m2, …,mi, … , mn};

要隐藏的信息 H转换成为点阵式字符编码序列 M ={m1, m2, …,mi, … , mn},其中mi是要隐藏信息H中的某个字符的点阵式编码;逐个将点阵式字符编码序列mi转换成二进制形式Bi={bi×1×1,…,bi×j×k,…,bi×r×c},其中 bi×j×k是要隐藏信息字符的点阵式编码的一位二进制位,表示点阵式的j行k列的一位二进制位,r和c是点阵式的阵列的最大行数和列数,最后形成所有点阵式字符编码序列的二进制

Step 7 对mi进行点阵式字符编码校正和识别处理,即获得隐藏的信息H。

3 性能分析

算法测试在P4 2.6GHz×2,DDRAM 2048M,Windows XP Professional 5.1,AutoCAD 2004 以及VBA开发环境中进行,图3和图4分别是原始的部分工程图和含有隐藏信息“怀化学院”的部分工程图。对比图3和图4,隐藏信息在工程图中是不可察觉的,同时经过实验测试,可以正确提取隐藏信息“怀化学院”。

3.1 信息隐藏量分析

由于该算法是通过修改线段的线宽来隐藏信息,且每一个线段实体可隐藏1-2bit的信息,且算法采用了混沌系统来产生二值化的伪随机序列来选择待隐藏信息的线段实体对象,根据混沌系统的特性,其“0”和“1”的分布是均匀的,因此“0”和“1”都接近0.5,因此对于一个包含N个线段实体对象的工程图来说,其理论可嵌入信息容量C为N bit,即

而文献[5]和文献[9]提出的算法的嵌入量为 N/2 bit,因此本文提出的算法嵌入量是文献[5]和文献[9]中提出算法的嵌入量的2倍。

图3 原始的部分工程图

图4 含有隐藏信息的部分工程图

3.2 算法复杂度分析

信息隐藏算法和信息检测及提取算法都是按顺序对工程图的线段实体进行信息嵌入和提取,因此对于一个存在n个线段实体的二维工程图,信息隐藏算法和检测算法的时间复杂度均为O(n)。

3.3 抗编辑攻击能力分析

在实际应用中,工程图的实体对象可能被进行部分的修改或移动,甚至删除等编辑操作,因此,需要分析该算法是否具有很好的抗编辑等攻击能力。考虑工程图的正常编辑,以及工程图的蓄意破坏、篡改密写信息等行为通常针对工程图连续的若干实体对象,这样对密写信息连续嵌入的算法是不利的,而对于非连续的编辑和攻击,算法具有很好的效果。

3.3.1 抗插入或移动攻击能力分析

为了分析算法的抗插入或移动攻击能力,首先在一个工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图分别进行插入一些实体对象或移动一些实体对象后,再提取工程图中的隐藏信息。表1为工程图进行插入或移动部分线段实体对象后隐藏信息的提取实验结果。

由表1可知,对已隐藏信息的工程图分别进行插入部分线段实体对象并不影响隐藏信息的提取,从而表明了算法具有较好的抗插入攻击能力,但移动操作对算法提取秘密信息的影响较大,理论情况与实验情况基本符合,即便采用了自校验技术对连续的多线段实体对象进行攻击,算法还是具有很弱的抗击能力。

表1 插入或移动部分对象后隐藏信息的提取实验结果

3.3.2 抗编辑或删除攻击能力分析

为了分析算法的抗编辑或删除攻击能力,首先在一个工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图分别进行随机或连续的编辑或删除部分实体对象后,再提取工程图中的隐藏信息。表2为工程图进行编辑或删除部分实体对象后隐藏信息的提取实验结果。

表2 编辑或删除部分对象后隐藏信息的提取实验结果

由表2可知,对已隐藏信息的工程图分别进行编辑或删除不连续的部分线段实体对象并不影响隐藏信息的提取,从而表明了算法具有较好的抗随机编辑或删除线段实体对象的攻击能力,这完全符合大部分实际情况需要对工程图进行轻度编辑的操作要求,因此算法具有较好的实际应用价值。但连续编辑或删除实体对象操作会对算法提取隐藏信息具有较大的影响,理论情况与实验情况基本符合,即便采用了自校验技术也没有办法达到较高或完全提取的水平,这正是日后工作要努力解决的问题。

3.4 与其它类似算法的性能对比分析

该算法采用了字符点阵式编码技术,在隐藏信息时隐藏的是秘密信息字符的点阵式的一个点素,而不是字符的ASCII或其它编码的一个二进制位。在提取信息时,算法提取的也是字符的点阵式的一个点素,即使字符的部分点阵式点素的丢失,也可以根据字符的点阵式识别技术进行纠正。而普通算法在提取信息时,丢失了任何一个编码二进制位都是无法纠正的,变成另外一个字符而发生信息错误,这是因为机器的字符编码是采用连续编码的方式。图5是实验过程中提取隐藏信息“化”时的实验结果图。图5A是完整提取信息“化”的实验结果图;图5B和图5C是在有部分实体对象进行编辑攻击之后,有丢失点阵式点素情况下提取信息“化”的实验结果图,在这种情况下,算法可以正确识别出信息是“化”;图5D是在较大范围编辑攻击下提取的信息“化”的实验结果图,在这种情况下,算法基本可以识别出信息是“化”,但实验中也有几次没有正确识别出来,经查看提取的实验结果图,那是连续局部大范围攻击的原因造成的;图5E是在连续大范围编辑攻击下提取的信息“化”的实验结果图,在这种情况下,算法无法正确识别提取的信息是信息“化”。

图5 提取隐藏信息“化”时的实验图

3.5 抗图形处理攻击能力分析

在实际情况下,工程图一般需要进行一些图形处理操作,如平移、旋转和缩放等,因此,需要分析算法针对这些操作的抗攻击能力。

3.5.1 抗平移攻击能力分析

为了分析算法的抗平移攻击能力,首先在工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图分别进行随机多次平移操作后,再分别提取工程图中的隐藏的信息。测试结果显示,在经过多次平移后的工程图中都能正确提取隐藏的信息,如表3所示,表明算法具有很好的抗平移攻击能力。

表3 工程图平移后的隐藏信息提取实验结果

3.5.2 抗旋转攻击能力分析

为了分析算法的抗旋转攻击能力,同样首先在工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图分别进行随机多次旋转操作后,再分别提取工程图中的隐藏的信息。测试结果显示,在经过多次旋转后的工程图中都能正确提取隐藏的信息,如表4所示,表明算法具有很好的抗旋转攻击能力。

表4 工程图旋转后的隐藏信息提取实验结果

3.5.3 抗缩放攻击能力分析

为了分析算法的抗缩放攻击能力,同样首先在工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图分别进行随机多次缩放操作后,再分别提取工程图中的隐藏的信息。测试结果显示,在经过多次缩放后的工程图中都能正确提取隐藏的信息,如表5所示,表明算法具有很好的抗缩放攻击能力。

表5 工程图缩放后的隐藏信息提取实验结果

3.6 抗组合攻击能力分析

抗组合攻击能力是指对隐藏信息后的工程图进行任意多种以上的攻击方法后,算法对攻击后的工程图能否正确提取隐藏信息的能力。为了分析算法的抗组合攻击能力,同样首先在工程图中隐藏信息“怀化学院”,然后将已隐藏信息的工程图随机进行前面提到的修改、移动、修改、删除、平移、旋转和缩放七种操作中的多种操作任意组合操作后,再分别提取工程图中隐藏的信息。测试结果显示,在经过多次组合操作处理后的工程图中也能较好地提取隐藏的信息,如表6所示,表明算法具有较好的抗组合攻击能力。

表6 工程图组合攻击后隐藏信息的提取实验结果

由于算法对平移、旋转、缩放、修改和插入攻击具有很好的鲁棒性,因此对这几种操作的任意组合攻击算法同样具有很好的鲁棒性。而对于移动和删除攻击算法具有不太好的鲁棒性,因此算法对所有情况的组合攻击中主要取决于算法的抗移动和抗删除攻击能力。

4 结 论

针对工程图的版权保护问题和现有信息隐藏技术鲁棒性和实用性不强的特点,本文提出了一种基于字符点阵式编码的工程图信息隐藏算法,该算法先对要隐藏的信息进行点阵式编码处理,使字符具有图像的特性,然后根据使用Logistic混沌系统产生的二值化混沌序列选择其中部分线段实体,结合HVS和隐藏信息对工程图的线宽进行微小修改,从而实现隐藏信息的目的和自校验。实验结果显示该算法对平移、旋转和编辑等攻击具有较好的鲁棒性和较高的嵌入量,较好地解决了数字工程图的版权保护问题。即使在提取信息时出现轻度错误,算法也可以根据字符点阵式编码图像识别技术进行字符识别,这样大大提高了算法的抗攻击能力。实验结果显示该算法对工程图的线段实体对象可能被进行部分的修改或移动,甚至删除等编辑操作攻击具有较好的鲁棒性,同时对工程图的平移、旋转和缩放等一般图形处理操作攻击也具有很好的鲁棒性。

与文献[3]和文献[4]中提出的算法相比,本文提出的算法没有修改顶点间的比例和距离,因此不会改变工程图的加工尺寸,同时也不会对产品的生产和加工制造产生影响。与文献[5]相比,通过一个线段实体对象一次嵌入2bit的信息,提高了信息隐藏量,是文献[5]中提出算法的2倍,其次是算法引入了字符点阵式编码技术,允许30%以下的失败提取信息也能通过字符点阵式识别技术而识别出嵌入的隐藏信息,这样大大提高了算法的容错和抗攻击能力。

[1]Cox I J, Kalker T, Pakura G, et al. Information transmission and steganography[C]//Proc of the 4thInt Workshop on Digital Watermarking, LNCS 3710.Berlin: Springer, 2005: 15-29.

[2]黄晓生, 顾景文. CAD 图形数据数字水印综述[J].工程图学学报, 2005, 26(6): 140-145.

[3]汪亚顺, 徐铭政. 基于二维工程图的数字水印比例算法[J]. 南昌大学学报(工科版), 2003, 25(4): 29-31.

[4]汪亚顺, 徐铭政. 基于二维工程图的数字水印扩频算法[J]. 南昌大学学报(工科版), 2005, 27(4): 91-94.

[5]彭 飞, 龙 敏, 孙星明. 基于 HVS与实体调色板的二维工程图信息隐藏算法[J]. 工程图学学报,2009, 30(3): 71-75.

[6]Brass J T, Low S, Maxemchuk N F. Copyright protection for the electronic distribution of text document [C]//Proceeding of the IEEE, 1999:1181-1196.

[7]Low S, Maxemchuk N F. Performance comparison of two text marking methods [J]. IEEE J. Select Areas Commun., 1998, 16(5): 561-572.

[8]Ganzalez R C, Wintz P. Digital image processing(2nd edition)[M]. New York: Addison-Wesley Publishing Co., 1987. 38-42.

[9]彭 飞, 孙星明. 一种基于特征的二维工程图信息隐藏算法[J]. 计算机工程与应用, 2007, 43(15):53-55.

猜你喜欢

线宽工程图字符
通过三维软件PDF自适应转换实现工艺卡片二维工程简图的高清显示
减成法工艺下非电镀线路的精准加工方法
印制板制造中量化蚀刻研究
四合一铅笔刀设计
生产过程中的PCB线宽分析研究
面向工程认证的机制专业工程图学(一)课程教学探索
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
MASTERCAM工程图出图功能研究