一种针对gis矢量数据的多重数字水印方法

文档序号:6336137阅读:412来源:国知局
专利名称:一种针对gis矢量数据的多重数字水印方法
技术领域
本发明属于地理信息版权保护领域,具体涉及一种针对GIS矢量数据采用综合方 式嵌入与提取水印以提高算法鲁棒性的多重数字水印方法。
背景技术
近年来,国内外学者关注于地理信息系统(GIS)矢量数据数字水印算法的设计, 提出了多种GIS矢量数据数字水印算法。随着数字水印技术在GIS矢量数据产品应用中的 不断深入,单一水印在鲁棒性方面具有较明显的靶向性,抗攻击能力有限,易被攻击者掌握 或破坏从而不能满足人们的需要,因此便产生了多重数字水印技术。多重水印是指在同一 个载体中以多种方式嵌入多个水印的技术,它可用来对数字产品进行传输追踪、多重认证 等,在数字产品版权保护以及所有权鉴别等方面具有实际应用价值。目前,国内外关于多重 水印的研究还主要集中于图像、音频等多媒体领域,并取得了一些成果。例如,马强(计算 机应用与软件,Vol. 24, No. 8,186-188,2007年)等提出了对宿主图像频域进行二维离散余 弦变换(DCT变换),采用灰度图像YND门限值和多数字基底对宿主图像的DCT频域构造了 选块分组技术,对中频分量的DCT交流系数分组嵌入水印比特,对高低频分量的DCT系数随 机嵌入水印比特,嵌入了多个灰度数字盲水印。而针对GIS矢量数据的多重数字水印研究 则相对较少。其中,闵连权等(计算机应用与软件,Vol. 24,No. 1,146-148,174,2007年) 设计了一个基于DCT的数字地图水印算法,首先提取地图数据的特征点,组成特征图像;然 后对特征图像作离散余弦变换,把水印信息嵌入在中低频系数上。该算法同时在中低频系 数上嵌入水印,嵌入容量有所提升,但并没有考虑中频、低频不同的系数特征。另外,这其实 可以看作是一种非严格意义上的多重数字水印算法。

发明内容
本发明的目的在于针对目前单一水印算法鲁棒性不强,不能有效保护GIS矢量 数据的问题,提出一种针对GIS矢量数据特征的多重数字水印嵌入与提取的方法,使之在 抵抗坐标系变换攻击、裁剪攻击、压缩攻击、加噪攻击、编辑攻击、增加数据攻击等方面具有 较好的鲁棒性。为了实现上述目的,本发明所采取的技术方案是一种针对GIS矢量数据的多重数字水印方法,主要包括以下过程(1)水印嵌入过程步骤一数据的读取和处理,读取GIS矢量数据,配置嵌入算法的参数,检查所有 输入数据及配置参数的合法性;步骤二 奇偶法嵌入算法,嵌入对象为源数据整体,利用要素节点个数的奇偶性来 表示水印信息“ 1”或“0”,一条要素嵌入一位的水印信息,通过在节点序列中增加一个冗余 点来改变当前要素的奇偶性;步骤三基于传统水印的嵌入位置与嵌入方式,利用道格拉斯普克法对要素的节点序列进行压缩后,分别在横坐标、纵坐标的空间域、离散小波变换域、离散余弦变换域利 用低位加性方法、最低有效位替换法嵌入水印,水印嵌入对象为具体的地理空间要素;步骤四零水印算法,利用载体数据的重要特征来构造水印信息,该步骤通过按照 范围分区,然后统计各个分区内的节点个数,根据结果构造零水印,并将零水印保存下来;步骤五保存嵌入水印之后的数据;(2)水印提取过程为所述(1)嵌入过程的逆过程步骤一数据的读取和处理,读取待提取水印的GIS矢量数据,读取配置参数文 件,检查输入数据及配置参数的合法性;步骤二 零水印算法提取水印信息;步骤三奇偶法提取水印信息;步骤四在利用道格拉斯普克压缩法压缩后,分别在横坐标、纵坐标的空间域、离 散小波变换域、离散余弦变换域利用低位加性方法、最低有效位替换法提取水印;步骤五综合比较、分析上述步骤提取的水印信息,得出最优提取结果。其中,本发明针对GIS矢量数据的多重数字水印方法之嵌入步骤具体如下环节一嵌入水印前的数据准备。读取GIS矢量数据,然后采用间隔多边形法选取嵌入水印的多边形并组织为自定 义结构SO ;输入版权标记水印信息W1,并转化为算法内部的待嵌入水印W2 ;配置嵌入算法 的参数;检查所有输入数据及配置参数的合法性。环节二 奇偶法嵌入水印信息。该方法属于定制水印算法,只适用于线、面数据,它 利用单一要素内元素的节点总数的奇偶性表示水印位,即偶数表示0,奇数表示1。其中,通 过在节点序列中增加一个冗余点来改变当前要素的奇偶性,由于要素具有大量的节点,因 此增加一个点(可以是相邻两个节点的中点)对于要素而言没有任何影响。算法的处理过程如下1)计算嵌入次数,公式如下
c = \n^l\(1)其中,C是嵌入次数,η是要素个数,1是水印的长度,L」是取整符号。若C < 1,则 返回。2)依次取一位水印信息Wi (0 < = i < 1),一个要素节点集合SOj (0<= j < η); 若水印信息是“0”,并且要素节点个数是奇数,则在点序列中间增加一个点,点的坐标取其 前后两个点的均值;若水印信息是“1”,并且要素节点个数是偶数,也在点序列中间增加一 个点,点的坐标取其前后两个点的均值;环节三对SOj (0<= j<n)进行道格拉斯普克压缩法压缩,得到简化之后的节 点序列ROj (0 <= j < η)作为下一阶段的输入数据,以及嵌入对照表Τ。环节四横坐标DWT低频加性算法嵌入水印。首先按照8位一组顺序选取ROj (0 <=j <η)中的顶点构成数据序列,通过对此数据序列进行离散小波变换(DWT),分离出 低、中、高三种频率系数,然后在低频系数上按照下式嵌入水印信息,最后再经DWT逆变换 输出嵌入水印信息的数据Rlj (0 <= j < η)。xw = x+w (2)
4
其中,Xw=为含水印载体,X = Ixi, 0 彡 i < N}和w = {wi; 0 彡 i < N}分别为原始载体和水印。环节五横坐标空域最低有效位替换算法嵌入水印。即在地图数据精度允许的 范围内,利用最低有效位替换算法将水印信息直接嵌入至输入数据(环节四中的输出数据 Rlj (0 <= j < η))横坐标中,得到输出数据R2j (0 <= j < η)。环节六纵坐标DCT低频加性算法嵌入水印信息。同环节四,只不过此环节对载体 数据(R2j (0 < = j < η))进行的是纵坐标的离散余弦变换,然后将水印信息嵌入至其低频 系数中,得到输出数据R3j (0 <= j < η)。具体嵌入公式同环节四。 环节七纵坐标DCT中频加性算法嵌入水印信息。同环节四,只不过此环节的载体 数据(R3j (0 < = j < η))进行的是纵坐标的离散余弦变换,然后将水印信息嵌入至其中频 系数中,得到输出数据R4j (0 <= j < η)。具体嵌入公式同环节四。环节八道格拉斯法反压缩。依据环节三所产生的嵌入对照表Τ,将含水印的载体 数据(R4j(0<= j<n))整合至未压缩过的全部数据SO中,得到含水印的未压缩数据Si。环节九零水印算法。本环节利用输入数据Sl的重要特征来构造水印信息,构造 过程中不修改Sl的任何信息。具体过程如下1)遍历Sl中所有节点,得到其空间位置分布最大范围D ;2)根据设置的横块个数H、纵块个数Z得到统计区间个数C(C = HXZ);3)将1)中的D平均分成C个子区间,并存储各个子区间的边界范围;4)遍历所有节点,判断该节点属于哪一个子区间,将此区间的节点总数Ccoimt增 加1 ;5)根据节点总数、统计区间个数、每个区间内的节点数构造“零水印”,并保存为物
理文件。环节十保存嵌入水印之后的文件。具体过程如下1)将嵌入水印信息的节点重新装配回数据要素;2)将数据要素保存至硬盘。本发明针对GIS矢量数据的多重数字水印方法之提取是嵌入的逆过程,具体步骤 如下环节一提取水印前的数据准备。读取待提取水印的GIS矢量数据,并组织为自定义结构SO ;读取配置参数文件;检 查输入数据及配置参数的合法性。环节二 提取零水印算法。本环节利用输入数据SO的重要特征来构造水印信息, 构造过程中不修改SO的任何信息。具体过程如下1)遍历SO中所有节点,得到其空间位置分布最大范围D ;2)根据配置参数中的横块个数H、纵块个数Z得到统计区间个数C(C = HXZ);3)将1)中的D平均分成C个子区间,并存储各个子区间的边界范围;4)遍历所有节点,判断该节点属于哪一个子区间,将此区间的节点总数Ccoimt增 加1 ;
5)根据节点总数、统计区间个数、每个区间内的节点数构造“零水印"W0,并保存为 物理文件。环节三奇偶法提取水印信息。算法的处理过程如下1)依次取要素节点集合SOj (0 < = j < η),并对节点个数求余,得到Μ,并将M添 加至水印字符串Wl ;2)按照预先制度的规则解析W1,得到版权标记水印W1。环节四对SOj (0 <= j < η)进行道格拉斯普克压缩法压缩,得到简化之后的节 点序列ROj (0 <= j < η)作为下一阶段的输入数据。环节五横坐标DWT低频加性算法提取水印。首先按照8位一组顺序选取ROj (0 <=j <η)中的顶点构成数据序列,通过对此数据序列进行离散小波变换(DWT),分离出 低、中、高三种频率系数,然后在低频系数上按照下式提取水印信息,得到水印信息W2。w = Xw-X (3)其中,W=^,0彡 i <Ν}为提取的水印信息,Xw = {^,0《/<#},χ = Ixi,0 ^ i <N}为含水印载体数据和原始载体数据。环节六横坐标空域最低有效位替换算法提取水印。根据读取的参数直接在 ROj (0 <= j < η)的横坐标序列中利用最低有效位替换算法提取水印信息,并解析之得到 版权标记信息W3。环节七纵坐标DCT低频加性算法提取水印信息。同环节四,只不过此环节对载体 数据(ROj (0 < = j < η))进行的是纵坐标的离散余弦变换,然后从低频系数中提取水印信 息,并解析得到版权标记信息W4。具体提取公式同环节五。环节八纵坐标DCT中频加性算法提取水印信息。同环节四,只不过此环节的载体 数据(ROj (0 < = j < η))进行的是纵坐标的离散余弦变换,然后从中频系数中提取水印信 息,并解析得到版权标记信息W5。具体提取公式同环节五。环节九综合比较、分析WO、Wl、W2、W3、W4、W5,得出最优提取结果W。本发明是根据GIS矢量数据的特征以及易受到攻击的形式专门设计的一种多重 数字水印方法,它分别将载体数据的全部、地理空间要素的特征点作为水印信息的嵌入对 象,采用嵌入水印与零水印相结合、不同域频相融合的水印嵌入方式以此增强算法的鲁棒 性。本发明所采用的方法克服了传统单一水印算法鲁棒性不强,无法有效保护GIS矢量数 据版权的限制,能够为GIS矢量数据的生产、传播、应用提供有效的保障。


图1本发明水印嵌入流程图。图2本发明水印提取流程图。图3为中国县级行政区划矢量数据。图4为图3嵌入水印之后被裁剪攻击的结果图。
具体实施例方式下面结合附图和实施例做进一步详细说明。实施例1 本实例选择一种典型的GIS矢量数据,针对数据的读取、预处理、水印嵌入、结果 保存、水印提取的整个过程,给出本发明的一个实施例,进一步详细说明本发明。本实施例 选择中国县级行政区划矢量数据(如图3)作为实验数据,数据格式为shp,面图层,数据记 录个数是3407。水印标记内容为“南京师范大学”文本信息,对应的二进制水印序列W为 “11000100110011111...... 100111”,长度为 96。1、针对GIS矢量数据的多重数字水印嵌入方法。如图1,是本发明所提出的GIS矢量数据多重数字水印方法的嵌入工作流程图。整 个流程分为以下几个部分步骤一载体数据的读取及预处理。1)利用MapWinGIS开源插件的读取函数读取相应的载体数据信息,本实施例选取 的数据如图3。它是GIS矢量数据中的面数据。2)数据预处理包括两步首先,读取面数据中的节点序列,将数据组织为 List<IFMEOPoint>[]结构,每一个List对象都是一个多边形要素中的节点序列;其次,采 用间隔多边形嵌入水印的策略,筛选出嵌入水印的多边形,从而使任两个多边形的公共边 都只嵌入一次水印。经过筛选之后嵌入多边形的个数为1057个。步骤二 奇偶法嵌入水印。1)计算嵌入次数。根据嵌入步骤中环节二的公式(1),得c = Ll057+96」=ll;2)以嵌入一个水印为例,依次获取二进制水印的某位信息,设为Wi,0 ^ i < 1, 1 是水印长度。取当前嵌入要素的节点个数η (η >=3),若2,%是求余符号,则在 此节点序列中的第2个位置增加一个点p2,P2的横纵坐标是前后两个点的平均值;3)重复 c-1 次 2);步骤三对嵌入多边形按照道格拉斯普克法进行节点压缩,得 List<IFMEOPoint>[]型特征点数据列表 CompressedPoints,List<int>[]型压缩对应表 CompressedTable。道格拉斯普克法是一种成熟的矢量数据压缩方法,在此不再赘述。步骤四横坐标DWT低频加性方式嵌入水印。以每个要素的节点序列列表为单位, 每8个一组进行离散小波变换,不足8个则不进行变换;之后,通过公式(2)将水印信息与 嵌入位置信息相加,以此嵌入水印信息;步骤五替换横坐标最低有效位法嵌入水印。根据设置的嵌入点位(值为4)、嵌 入长度(值为4)将水印信息直接替换横坐标中相应的数值以此嵌入水印;步骤六纵坐标DCT中频、低频分别以加性方式嵌入水印。具体过程同步骤四;步骤七反道格拉斯普克压缩,将嵌入水印的节点序列根据压缩时产生的参数 CompressedTable整合至全部节点列表中。步骤八提取“零水印”。根据全部节点的数据大小,确定分布范围,本实施例中分 布范围为 Xmax = 134. 3835199,Xmin = 74. 848011010179221,Ymax = 52. 90461345,Ymin =18. 3902364,根据设置的分块个数(6X6 = 36块)将分布范围划分具体的统计区间,然 后遍历全部节点判断其位于哪个区间内,记录区间内节点的总数,最后将节点总数、区间信息、区间内节点个数等信息组成字符串以文本的形式保存下来,即“零水印”,002200606000 00000000000000800002800002100000000000000003600002200000700002800000400003800 01400000990000550000020000000001440003020003140001960000120000000000370002180 00258000280000071000018000000000000000000000003000085000026。步骤九保存嵌入水印之后的数据。根据读取数据时采用的参数信息将数据要素 写入新的数据文件当中,得到含水印信息的矢量数据文件。2、针对GIS矢量数据的多重数字水印提取方法。嵌入完毕后进行水印信息提取验证。这部分的实质是嵌入过程的逆过程,如图2 是提取方法的工作流程,与嵌入过程不同的是在数据预处理时不需要进行“去公共边”处 理。具体步骤如下步骤1 载体数据的读取及预处理。1)利用MapWinGIS开源插件的读取函数读取相应的含水印载体数据,即图3经过 上述嵌入过程处理之后的数据。它是GIS矢量数据中的面数据。2)数据预处理读取面数据中的节点序列,将数据组织为List<IFMEOP0int>[]的 自定义结构,记为S0,每一个List对象都是一个多边形要素中的节点序列。步骤2:提取零水印。本环节利用输入数据SO的重要特征来构造水印信息。具体过程如下1)遍历SO中所有节点,得到其空间位置分布最大范围D ;2)根据配置参数中的横块个数H、纵块个数Z得到统计区间个数C(C = 6X6);3)将1)中的D平均分成C个子区间,并存储各个子区间的边界范围;4)遍历所有节点,判断该节点属于哪一个子区间,将此区间的节点总数Ccoimt增 加1 ;5)根据节点总数、统计区间个数、每个区间内的节点数构造“零水印"W0,并保存为 物理文件。步骤3:奇偶法提取水印。算法的处理过程如下1)依次取要素节点集合SOj (0 < = j < η),并对节点个数求余,得到Μ,并将M添 加至水印字符串Wl ;2)按照预先制度的规则解析W1,得到版权标记水印W1。步骤4 对SOj (0 <= j < η)进行道格拉斯普克压缩法压缩,得到简化之后的节 点序列ROj (0 <= j < η)作为下一阶段的输入数据。步骤5 横坐标DWT低频加性算法提取水印。首先按照8位一组顺序选取ROj (0 <=j <η)中的顶点构成数据序列,通过对此数据序列进行离散小波变换(DWT),分离出 低、中、高三种频率系数,然后在低频系数上提取水印信息,得到水印信息W2。步骤6 横坐标空域最低有效位替换算法提取水印。根据读取的参数直接在ROj (0 <=j <η)的横坐标序列中利用最低有效位替换算法提取水印信息,并解析之得到版权标 记信息W3。步骤7 纵坐标DCT低频加性算法提取水印信息。同步骤5,只不过此步骤对载体 数据(ROj (0 <= j < η))进行的是纵坐标的离散余弦变换,然后从低频系数中提取水印信息,并解析得到版权标记信息W4。步骤8 纵坐标DCT中频加性算法提取水印信息。同步骤5,只不过此步骤的载体 数据(ROj (0 <= j < η))进行的是纵坐标的离散余弦变换,然后从中频系数中提取水印信 息,并解析得到版权标记信息W5。步骤9 利用编辑距离两两计算WO、Wl、W2、W3、W4、W5之间的相似度并进行取舍, 得出最优提取结果w(11000100110011111……100111),还原之后为原始版权信息“南京师
范大学”。3、测试与分析。 本发明所提出的方法是算法的集成,采用该方法可以开发实现GIS矢量数据多重 数字水印系统。(1)坐标系变换攻击将含有水印的数据进行坐标转换,由于坐标系转换会造成组成要素的点的坐标都 发生轻微变化,因此通过改变坐标而嵌入水印的算法提取不出水印,但是这种攻击不会影 响奇偶法、零水印算法的水印提取。实验表明,奇偶法和零水印算法的提取率都达到100%, 因此本发明能够抵抗坐标系变换攻击。(2)裁剪攻击对含水印数据进行裁剪攻击,效果如图4所示。由算法原理分析可知,水印的嵌入 载体是符合间隔策略的所有多边形,所以嵌入多边形在所有多边形中是均勻分布的。因此, 即便是受到较大范围剪切攻击,只要仍然有一个多边形是属于嵌入多边形,那么本方法就 能提取出水印,如本发明中的通用方法,实验中水印的提取率为100%。但因为奇偶法、零水 印是基于全局数据来进行水印的嵌入与提取的,所以抵抗不了裁剪攻击。(3)压缩攻击对本方法的工作流程图1分析可知,在通用方式嵌入水印之前就已经对载体数据 进行过道格拉斯普克法压缩,之后水印的嵌入位置只是要素中的某些特征点。只要压缩攻 击不是恶意的,即此压缩方式仍保留要素的基本形态,那么本发明方法是可以抵抗此压缩 攻击的。基于ArcGIS 9. 2的Generalize压缩命令进行压缩攻击的实验表明,当压缩比达 到30%时,仍能100%的提取出水印。(4)加噪攻击、编辑攻击、增加数据攻击此类攻击都是针对载体数据中的节点进行,一旦大规模对载体数据使用这种攻 击,那么将大大降低地图数据的使用价值,这就决定了此类攻击属于局部攻击。分析本发明 的原理可知,以通用方式嵌入水印的目标对象都是全局的要素对象,也就是说,水印均勻分 布于载体数据中,因此此类局部攻击不能影响水印的正常提取。实验结果表明,这三种攻击 的综合提取结果都达到了 100%。综上分析,本发明内部的嵌入与提取方法不会造成相互之间的干扰和冲突,相反 这些方法能够优势互补,有效提高鲁棒性,从而在生产、传播、使用中有效保护GIS矢量数 据。
权利要求
一种针对GIS矢量数据的多重数字水印方法,其特征在于包括以下过程(1)水印嵌入过程步骤一数据的读取和处理,读取GIS矢量数据,配置嵌入算法的参数,检查所有输入数据及配置参数的合法性;步骤二奇偶法嵌入算法,嵌入对象为源数据整体,利用要素节点个数的奇偶性来表示水印信息“1”或“0”,一条要素嵌入一位的水印信息,通过在节点序列中增加一个冗余点来改变当前要素的奇偶性;步骤三基于传统水印的嵌入位置与嵌入方式,利用道格拉斯普克法对要素的节点序列进行压缩后,分别在横坐标、纵坐标的空间域、离散小波变换域、离散余弦变换域利用低位加性方法、最低有效位替换法嵌入水印,水印嵌入对象为具体的地理空间要素;步骤四零水印算法,利用载体数据的重要特征来构造水印信息,该步骤通过按照范围分区,然后统计各个分区内的节点个数,根据结果构造零水印,并将零水印保存下来;步骤五保存嵌入水印之后的数据;(2)水印提取过程为所述(1)嵌入过程的逆过程步骤一数据的读取和处理,读取待提取水印的GIS矢量数据,读取配置参数文件,检查输入数据及配置参数的合法性;步骤二零水印算法提取水印信息;步骤三奇偶法提取水印信息;步骤四在利用道格拉斯普克压缩法压缩后,分别在横坐标、纵坐标的空间域、离散小波变换域、离散余弦变换域利用低位加性方法、最低有效位替换法提取水印;步骤五综合比较、分析上述步骤提取的水印信息,得出最优提取结果。
全文摘要
本发明公开了一种针对GIS矢量数据的多重数字水印方法,属于地理信息版权保护领域。该方法的水印嵌入过程包括数据的读取和处理;奇偶法嵌入算法;分别在横坐标、纵坐标的空间域、离散小波变换域、离散余弦变换域利用低位加性方法、最低有效位替换法嵌入水印;零水印算法;保存含水印数据。该方法的水印提取过程为上述嵌入过程的逆过程。本发明针对GIS矢量数据常见的攻击方式,依据各个单一算法原理及抗攻击表现综合集成一种实用的多重数字水印保护方法,由于采用了多种嵌入方式并控制了各重水印的具体嵌入位置,使之在嵌入与提取时互不干扰,避免了冲突,因此各重算法的优势得以发挥、互补,从而大大提高了数字水印的抗攻击能力。
文档编号G06F21/00GK101968878SQ20101054874
公开日2011年2月9日 申请日期2010年11月18日 优先权日2010年11月18日
发明者曹江华, 李安波, 闾国年 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1