CN101464995B - 基于空间拓扑的二维矢量空间数据数字水印方法 - Google Patents
基于空间拓扑的二维矢量空间数据数字水印方法 Download PDFInfo
- Publication number
- CN101464995B CN101464995B CN2008102369528A CN200810236952A CN101464995B CN 101464995 B CN101464995 B CN 101464995B CN 2008102369528 A CN2008102369528 A CN 2008102369528A CN 200810236952 A CN200810236952 A CN 200810236952A CN 101464995 B CN101464995 B CN 101464995B
- Authority
- CN
- China
- Prior art keywords
- watermark
- data
- subset
- carrier
- spot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
基于空间拓扑的二维矢量空间数据数字水印方法,包括有水印载体提取过程、对水印载体嵌入水印信息的过程和从水印载体检测水印信息的过程;所述水印载体提取过程为,在二维矢量空间数据指定图层中提取处于同一图斑内的各对象间的拓扑关系所对应度量值的统计值集合,将所得统计值集合作为水印载体;所述对水印载体嵌入水印信息的过程将水印载体通过HASH函数进行子集划分;分别在每个子集内嵌入水印信息的一个水印位;所述从水印载体检测水印信息的过程为,对水印载体通过HASH函数进行子集划分;判断每个子集中的数据呈现两种预定分布模式中的哪一种,从而辨别该子集内嵌入的水印位为0或1;综合所有子集检测出的水印串,确定水印载体中嵌入的水印信息。
Description
技术领域
本发明属于版权保护技术领域,特别是涉及一种基于空间拓扑的二维矢量空间数据数字水印方法。
背景技术
今天的世界是一个数字化的信息世界,几乎我们接触的所有信息都是采用数字化载体。当数字化在数据的编辑、复制、分发等方面给我们带来很大方便时,同时也带来了版权保护的难题。计算机通信和网络技术的快速发展使得数据的非法复制和分发通过网络变得比以前任何时候都要便捷,也因此使得版权保护问题的解决变得更加紧迫。
数字水印技术通过把版权信息隐藏于数据中为上述问题的解决提供了一种可行的方案。虽然目前有关多媒体数字水印技术的研究已非常广泛和深入,但有关地理信息系统中矢量空间数据数字水印的研究相对要少了很多。现在空间数据的获取仍然是一个高成本的过程,数据生产者还无法承担免费提供数据。作为一种保护数据版权的方式,二维矢量空间数据数字水印技术起着非常重要的作用。
在现有的大部分水印算法中,矢量空间数据基本上被看作点云(坐标点的集合),而非地理对象的集合。水印信息直接隐藏在坐标点(或坐标点的频率系数)中。这类方法因为从点云的角度来考虑水印信息的嵌入,在水印嵌入的过程中没有地理对象的概念,因而忽略了地理对象的形状和空间关系,从而可能导致地理对象的形状变形过大,或对象的空间关系产生冲突,比如,原本相离的两地理对象可能会变成相交。另外,把水印信息直接隐藏在坐标点中更容易受到坐标点攻击,比如插值、坐标点删除、地图综合或化简、重新数字化以及因对数据的常规操作而带来的噪声等。
发明内容
本发明目的在于针对现有技术的不足,提出一种基于空间拓扑的二维矢量空间数据数字水印方法。
本发明的技术方案为:包括有水印载体提取过程、对水印载体嵌入水印信息的过程和从水印载体检测水印信息的过程;
所述水印载体提取过程为,在二维矢量空间数据指定图层中提取处于同一图斑内的各对象间的拓扑关系所对应度量值的统计值集合,将所得统计值集合作为水印载体;
所述对水印载体嵌入水印信息的过程包括以下步骤:
步骤1.1,将水印载体进行子集划分,划分所得子集个数m=水印信息所含水印位的长度Length(watermark)×重复嵌入次数N;
步骤1.2,分别在每个子集内嵌入水印信息的一个水印位,从而在水印载体内重复嵌入水印信息N次;所述嵌入水印位的实现方式为,在数据的容错范围内调整对象与其所在图斑的其他对象的拓扑关系,使得调整后子集内数据的分布呈现两种预定分布模式中的一种,两种预定分布模式分别代表嵌入的水印位为0或1;
所述从水印载体检测水印信息的过程包括以下步骤:
步骤2.1,对水印载体进行子集划分;
步骤2.2,判断每个子集中的数据呈现两种预定分布模式中的哪一种,从而辨别该子集内嵌入的水印位为0或1;
步骤2.3,综合所有子集检测出的水印串,构成N个长度为Length(watermark)的水印串,采用少数服从多数的投票机制比较这些水印串的相应位,决定水印信息所含每个水印位应当是0或1,从而确定水印载体中嵌入的水印信息。
而且,所述指定图层为点层、线层或面层。
而且,所述水印载体提取过程中,所述拓扑关系采用相离关系(也可以采用其它的拓扑关系),具体实现方式包括以下步骤,
步骤3.1,将指定图层分块,分成n个图斑P1,P2,...,Pn;
步骤3.2,对指定图层中的任一图斑Pi,i∈[1,n],假设Pi中含有k个对象fi 1,fi 2,...,fi k;对图斑Pi中的每个对象fi j∈Pi,j∈[1,k],依次以图斑Pi中其他与对象fi j相离的对象为参考对象,根据式1-1分别计算得到fi j与参考对象的相离关系的度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k;对度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k构成的数据集采用箱线图去除离群点后,再计算中位值median及均值mean;
dist(aB,aA)=min(Dist(p,q)|p∈aB,q∈aA) (1-2)
式中,p为多边形B的边界中的点,q多边形A的边界中的点;
步骤3.3,对于每个对象fi j,根据式1-3定义一个变量Ci j如下:
Ci j=(mean-median)/(Q3-Q1) (1-3)
式中,Q3和Q1分别是度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k所构成数据集的上四分位数和下四分位数;变量Ci j反映了对象fi j与图斑Pi中其他与对象fi j相离的对象在度量关系上的整体均衡情况;同一图斑Pi内的各对象间的拓扑关系所对应度量值的统计值集合即为Ci={Ci 1,...,Ci j,Ci j+1,...,Ci k};
在对给定图层Layer中所有图斑P1,P2,...,Pn内的对象进行处理后,最终可以得到数据C1 1,C1 2,...,C1 k,...,Ci j,Ci j+1,...,Ci k,...,Cn k,这些数据构成的数据集C即是水印嵌入的载体,C={C1,C2,...,Cn}。
而且,步骤3.1通过Hilbert排列码实现对二维矢量空间数据指定图层地图数据分块。
而且,步骤1.1的具体实施方式为,设置m个空的子集D1,D2,...,Dm,其中1,2,...,m为组号;将每个Ci j∈C按组分配到子集D1,D2,...,Dm中,其所属组的组号通过一个加密的HASH函数来计算,计算方式如下:
对于一个HASH函数H1(),输入一定长度的消息M,输出一个固定长度的HASH值,即输出h=H1(M),其中M是通过密钥k1连接Ci j前面2位最高有效位来生成;Ci j所属组的组号Group(Ci j)=(h MOD m)+1,Group(Ci j)为Ci j所属组的组号,其中MOD表示取模;
步骤1.2的具体实施方式包括以下步骤:
1)对于任一子集Dx,x∈[1,m],设定一个数据轴,在数据轴上找到一个基准点Ox,然后分别向左向右以步长d对数据轴进行分段,对每段进行编号,把子集Dx中各数据落到数据轴上,;所述基准点Ox通过密钥k2和HASH函数H2()确定,Ox=H2H(k2o(x*0.1)o k2);所述步长d根据二维矢量空间数据的地图精度确定;
2)如果要在子集Dx中嵌入水印位1,通过调整相应多边形的坐标,把落在偶数编号的数据段上的数据调整到离其最近的奇数编号的数据段上去,从而使子集Dx中的数据呈现代表所嵌入水印位为1的预定分布模式;
如果要在子集Dx中嵌入水印位0,通过调整相应多边形的坐标,把落在奇数编号的数据段上的数据调整到离其最近的偶数编号的数据段上去,从而使子集Dx中的数据呈现代表所嵌入水印位为0的预定分布模式。
而且,步骤2.1的具体实施方式为,用嵌入水印时的密钥k1把水印载体分散到空的子集D1,D2,...,Dm中;
步骤2.2的具体实施方式为:
对每个子集Dx,x∈[1,m],用密钥k2计算出数据轴的基准点Ox;以基准点Ox为起点,向左向右用步长d对数据轴分段;把子集Dx中的数据落到数据轴上,并计算各数据所在数据段的编号,最后分别统计子集Dx中落在编号为偶数和编号为奇数的数据段上的数据个数no和ne,如果no-ne>0,则认为子集Dx中嵌入了水印位1;如果no-ne<0,则认为子集Dx中嵌入了水印位0;如果no-ne=0,则认为子集Dx中水印检测失败。
本发明具有以下主要有益效果:
其一.根据二维矢量空间数据的空间拓扑关系,能将该水印信息嵌入到空间拓扑关系的统计特征中。同时,在不需要原始数据的情况下,利用本发明提供的水印嵌入和水印检测方法解决了如何将水印信息有效地提取出来的难题。
其二.数字水印不影响原始数据的有用性,它是隐藏在原始数据中的特殊信息,用于数据版权保护。对于含有水印的二维矢量空间数据,可用一个只对所有者公开的水印密钥(包括密钥k1,密钥k2,数据分块参数λ和二维矢量空间数据所提供地图的左上角坐标)检测出一个特殊的信息即水印,从而达到申明版权的目的。
其三.水印信息嵌入在二维矢量空间数据的空间拓扑关系中,并在嵌入水印时采用重复嵌入和检测时采用选举的方法,能够有效地抵抗缩放,平移,旋转和插值等攻击。
附图说明
图1为本发明原理示意图;
图2为本发明实施例的嵌入水印信息示意图。
具体实施方式
本发明用于为二维矢量空间数据嵌入水印来提供版权保护。二维矢量空间数据是地理空间的数字表达,数据本身承载着丰富的地理意义和地理规律。在地理世界中,最有规律可循的是地理事物的空间分布。这种空间分布上的特征可以通过地理目标的空间关系在统计上的特征体现出来。水印信息可隐藏在数据空间关系的统计特征中。本发明是一种用数字水印技术保护二维矢量空间数据版权的方法,它包括有水印载体提取过程、对水印载体嵌入水印信息的过程和从水印载体提取水印信息的过程。参见附图1,本发明所提供的方案实际上包括了两种应用流程:一种为嵌入水印流程,对嵌入水印前的2D矢量地图,首先进行水印载体提取,然后对水印载体嵌入水印信息(实施例为执行步骤3.1~3.3后执行步骤1.1、1.2);一种为检测水印流程,对嵌入水印后的2D矢量地图,首先进行水印载体提取,然后从水印载体提取水印信息的过程(实施例为执行步骤3.1~3.3后执行步骤2.1~2.3)。具体实施时,二维矢量空间数据的产品发行方可以采用嵌入水印流程,作为嵌入方在产品中加入水印后发售;在需要验证版权时,产品发行方或公证机构可以作为检测方,采用检测水印流程,提取出产品中所含水印信息。这两种流程的基础都是水印载体的提取,本发明选择二维矢量空间数据的空间拓扑关系构成载体对象,并且通过引入度量值,把拓扑关系与度量值结合起来描述空间关系。因此水印载体的提取由数据分块、计算度量值、度量值分组这三步组成。二维矢量空间数据是由点、线、面三种类型的图层数据构成,具体实施时可以分别对点层、线层和面层引入不同的度量值来辅助描述拓扑关系,并分别对点层、线层、和面层添加水印。
本发明实施例选择通过相离关系构建水印载体,具体实施方式也可以选择其它种类的拓扑关系。本发明实施例的提取水印载体具体步骤为:
步骤3.1,通过Hilbert排列码将指定图层分成n个图斑P1,P2,...,Pn;
指定图层Layer={P1,P2,...,Pn}。P1表示指定图层Layer中的第1个图斑,Pn表示指定图层Layer中的第n个图斑。
具体实施时,先将整个指定图层Layer划分成2λ×2λ的网格,然后就是每个网格的Hilbert编码,再根据Hilbert编码从小到大的顺序,判断各个网格内所包含的对象。Hilbert编码连续的对象分到同一个图斑,Hilbert编码不连续的对象分到不同的图斑。数据分块参数λ和图层左上角坐标可作为水印密钥内容之一保存,由嵌入方和检测方共享。嵌入水印流程中,按照数据分块参数λ对嵌入水印前的2D矢量地图的指定图层分块;检测水印流程中,按照数据分块参数λ对嵌入水印后的2D矢量地图的指定图层分块。Hilbert编码是现有保持空间聚集性最好的排列码技术,因此是本发明推荐的优选实施方式。
步骤3.2,对指定图层中的任一图斑Pi,i∈[1,n],假设Pi中含有k个对象fi 1,fi 2,...,fi k;对图斑Pi中的每个对象fi j∈Pi,j∈[1,k],依次以图斑Pi中其他与对象fi j相离的对象为参考对象,根据式1-1分别计算得到fi j与参考对象的相离关系的度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k;对度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k构成的数据集采用箱线图去除离群点后,再计算中位值median及均值mean;
dist(aB,aA)=min(Dist(p,q)|p∈aB,q∈aA) (1-2)
式中,p为多边形B的边界中的点,q多边形A的边界中的点;
步骤2.3,对于每个对象fi j,根据式1-3定义一个变量Ci j如下:
Ci j=(mean-median)/(Q3-Q1) (1-3)
式中,Q3和Q1分别是度量值(Mf i j)1,(Mf i j)2,...,(Mf i j)j-1,(Mf i j)j+1,...,(Mf i j)k所构成数据集的上四分位数和下四分位数;变量Ci j反映了对象fi j与图斑Pi中其他与对象fi j相离的对象在度量关系上的整体均衡情况;同一图斑Pi内的各对象间的拓扑关系所对应度量值的统计值集合即为Ci={Ci 1,...,Ci j,Ci j+1,...,Ci k};其中采用箱线图去除离群点为现有技术,本发明不予赘述。
在对给定图层Layer中所有图斑P1,P2,...,Pn内的对象进行处理后,最终可以得到数据C1 1,C1 2,...,C1 k,...,Ci j,Ci j+1,...,Ci k,...,Cn k,这些数据构成的数据集C即是水印嵌入的载体,C={C1,C2,...,Cn}。
本发明针对二维矢量空间数据的特点,研究将水印信息均匀地分布到数据中的嵌入水印方案,保证该嵌入水印对数据的修改恰好在数据的使用范围内。同时,研究在不需要原始数据的情况下,如何将水印信息有效地提取出来。本发明所提供对水印载体嵌入水印信息的过程包括,步骤1.1,将水印载体进行子集划分,因为水印信息一般采用1或0构成的数值串,因此划分所得子集个数m=水印信息所含水印位的长度Length(watermark)×重复嵌入次数N;步骤1.2,分别在每个子集内嵌入水印信息的一个水印位,从而在水印载体内重复嵌入水印信息N次;所述嵌入水印位的实现方式为,在数据的容错范围内调整对象与其所在图斑的其他对象的拓扑关系,使得调整后子集内数据的分布呈现两种预定分布模式中的一种,两种预定分布模式分别代表嵌入的水印位为0或1。本发明所提供从水印载体检测水印信息的过程包括,步骤2.1,对水印载体进行子集划分;步骤2.2,判断每个子集中的数据呈现两种预定分布模式中的哪一种,从而辨别该子集内嵌入的数值为0或1;步骤2.3,综合所有子集检测出的水印串,构成N个长度为Length(watermark)的水印串,采用少数服从多数的投票机制比较这些水印串的相应位,决定水印信息所含每个水印位应当是0或1,从而确定水印载体中嵌入的水印信息。
本发明实施例中,对水印载体嵌入水印信息的过程具体实现方式如下:
步骤1.1中,设置m个空的子集D1,D2,...,Dm,其中1,2,...,m为组号;将每个Ci j∈C按组分配到子集D1,D2,...,Dm中,其所属组的组号通过一个加密的HASH函数来计算,计算方式如下:
对于一个HASH函数H1(),输入一定长度的消息M,输出一个固定长度的HASH值,即输出h=H1(M),其中M是通过密钥k1连接Ci j前面2位最高有效位来生成;Ci j所属组的组号Group(Ci j)=(h MOD m)+1,Group(Ci j)为Ci j所属组的组号,其中MOD表示取模;
其中MOD含义为取模,MSB(the Most Significant Bits)表示最高有效位,取小数点后前2位最高有效位。
划分所得子集个数m=水印信息所含水印位的长度Length(watermark)×重复嵌入次数N,因此能够在水印载体{C1 1,C1 2,...,C1 k,...,Ci j,Ci j+1,...,Ci k,...,Cn k}中将水印信息充分嵌入N次。
步骤1.2的具体实施方式包括以下步骤,
1)对于任一子集Dx,x∈[1,m],设定一个数据轴,在数据轴上找到一个基准点Ox,然后分别向左向右以步长d对数据轴进行分段,对每段进行编号,把子集Dx中各数据落到数据轴上;所述基准点Ox通过密钥k2和HASH函数H2()确定,Ox=H2(k2o(x*0.1)o k2),H1()可以等于H2(),也可以不同;所述步长d根据二维矢量空间数据的地图精度确定;
步长d的取值受到地图精度的限制。假设地图精度为τ。因为水印信息调制在相离的拓扑关系上,度量值可以按下式计算。
MB A=area(B)/Buffer(B,DistBA) (1-1)
DistBA是缓冲距离,也是B和A的最近距离。令R1=area(B)/Buffer(B,(DistBA)+τ),R2=area(B)/Buffer(B,(DistBA)-τ),则MB A的可调范围为[R1,R2],其可调幅度R’=R2-MB A≈MB A-R1。设Di中各数据的可调幅度的众数是R,则d可取1.5*R,即d=1.5*R。其中Buffer函数为把B按膨胀因子DistBA进行膨胀。
2)如果要在子集Dx中嵌入水印位1,通过调整相应多边形的坐标,把落在偶数编号的数据段上的数据调整到离其最近的奇数编号的数据段上去,从而使子集Dx中的数据呈现代表所嵌入水印位为1的预定分布模式;例如图2中,比较嵌入水印信息位前和嵌入水印信息位1后,左边第1号数据段上的数据调整到了右边第2号数据段;左边第3号数据段上的数据调整到了左边第2号数据段。
在调整数据时,为了能够不超出数据的容错范围,本发明总结了约束条件以方便实施。调整相应多边形的坐标时,满足以下约束条件即可,
(1)坐标调整幅度在数据精度允许范围内;
(2)不会改变对象间拓扑关系的类型,比如原本相离的对象,在调制水印后,不能变成相交或其他类型的拓扑关系;
(3)多边形的形状变形不能太突兀,变形不能过大;
(4)不改变度量值之间的大小关系,即如果嵌入水印前,某两个度量值存在(mf i j)a>(mf i j)b这种不等关系,那么嵌入水印后此不等式仍然成立;
(5)不能改变Ca1 b1和Ca2 b2的大小关系。
后两个条件保证了水印的嵌入不会改变地理对象的相对空间关系。
本发明实施例中,从水印载体检测水印信息的过程具体实现方式如下:
步骤2.1的具体实施方式为,用嵌入水印时的密钥k1把水印载体分散到空的子集D1,D2,...,Dm中。此步骤和步骤1.1相应,采用同样的密钥k1和HASH函数H1()求取组号,即可将每个Ci j∈C按组分配到子集D1,D2,...,Dm中。
步骤2.2的具体实施方式为:
对每个子集Dx,x∈[1,m],用密钥k2计算出数据轴的基准点Ox;以基准点Ox为起点,向左向右用步长d对数据轴分段;把子集Dx中的数据落到数据轴上,并计算各数据所在数据段的编号,最后分别统计子集Dx中落在编号为偶数和编号为奇数的数据段上的数据个数no和ne,如果no-ne>0,则认为子集Dx中嵌入了水印位1;如果no-ne<0,则认为子集Dx中嵌入了水印位0;如果no-ne=0,则认为子集Dx中水印检测失败。此步骤和步骤1.2相应,采用同样的密钥k2和HASH函数H2()确定基准点Ox。采用这种水印密钥制度,可以更好地保护水印不被破解。
步骤2.3中,本发明实施例采用少数服从多数的投票机制来决定最终的水印串,投票矩阵如下表所示。
水印位 | b1 | b2 | ... | b|w| |
D1~D|w| | ||||
D|w|+1~D2*|w| | ||||
. . . | ||||
D(N-1)*|w|+1~Dm | ||||
嵌入水印位0的票数 | ||||
嵌入水印位1的票数 |
其中|w|=Length(watermark)(其中N表示重复嵌入次数)
经过投票判断,可以确认水印位b1、b2...b|w|所对应的数值是0或是1,从而推导出嵌入的水印信息。
本发明提供的这种二维矢量空间数据的水印嵌入及检测机制,可以采用ArcGIS实现。嵌入方和检测方可以事先搭建二维矢量空间数据水印开发平台。ArcGIS是一个地理信息系统(GIS)的开发平台,ArcGIS Engine是用于GIS桌面应用程序的二次开发组件库。本领域技术人员可以利用ArcGIS的使用以及ArcGIS Engine中的地图显示和地图操作等开发组件,根据本发明技术方案提供水印嵌入及检测流程。
Claims (5)
1.基于空间拓扑的二维矢量空间数据数字水印方法,其特征在于:包括有水印载体提取过程、对水印载体嵌入水印信息的过程和从水印载体检测水印信息的过程;
所述水印载体提取过程为,在二维矢量空间数据指定图层中提取处于同一图斑内的各对象间的拓扑关系所对应度量值的统计值集合,将所得统计值集合作为水印载体;水印载体提取过程中,所述拓扑关系采用相离关系,具体实现方式包括以下步骤,
步骤3.1,将指定图层分块,分成n个图斑P1,P2,...,Pn;
步骤3.2,对指定图层中的任一图斑Pi,i∈[1,n],假设Pi中含有k个对象fi 1,fi 2,...,fi k;对图斑Pi中的每个对象fi j∈Pi,j∈[1,k],依次以图斑Pi中其他与对象fi j相离的对象为参考对象,根据式1-1分别计算得到fi j与参考对象的相离关系的度量值对度量值 构成的数据集采用箱线图去除离群点后,再计算中位值median及均值mean;
dist(aB,aA)=min(Dist(p,q)|p∈aB,q∈aA) (1-2)
式中,p为多边形B的边界中的点,q为多边形A的边界中的点;
步骤3.3,对于每个对象fi j,根据式1-3定义一个变量Ci j如下:
Ci j=(mean-median)/(Q3-Q1) (1-3)
式中,Q3和Q1分别是度量值所构成数据集的上四分位数和下四分位数;变量Ci j反映了对象fi j与图斑Pi中其他与对象fi j相离的对象在度量关系上的整体均衡情况;同一图斑Pi内的各对象间的拓扑关系所对应度量值的统计值集合即为Ci={Ci 1,...,Ci j,Ci j+1,...,Ci k};
在对给定图层Layer中所有图斑P1,P2,...,Pn内的对象进行处理后,最终可以得到数据C1 1,C1 2,...,C1 k,...,Ci j,Ci j+1,...,Ci k,...,Cn k,这些数据构成的数据集C即是水印嵌入的载体,C={C1,C2,...,Cn};
所述对水印载体嵌入水印信息的过程包括以下步骤:
步骤1.1,将水印载体进行子集划分,划分所得子集个数m=水印信息所含水印位的长度Length(watermark)×重复嵌入次数N;
步骤1.2,分别在每个子集内嵌入水印信息的一个水印位,从而在水印载体内重复嵌入水印信息N次;所述嵌入水印位的实现方式为,在数据的容错范围内调整对象与其所在图斑的其他对象的拓扑关系,使得调整后子集内数据的分布呈现两种预定分布模式中的一种,两种预定分布模式分别代表嵌入的水印位为0或1;
所述从水印载体检测水印信息的过程包括以下步骤:
步骤2.1,对水印载体进行子集划分;
步骤2.2,判断每个子集中的数据呈现两种预定分布模式中的哪一种,从而辨别该子集内嵌入的水印位为0或1;
步骤2.3,综合所有子集检测出的水印串,构成N个长度为Length(watermark)的水印串,采用少数服从多数的投票机制比较这些水印串的相应位,决定水印信息所含每个水印位应当是0或1,从而确定水印载体中嵌入的水印信息。
2.如权利要求1所述二维矢量空间数据数字水印方法,其特征在于:所述指定图层为点层、线层或面层。
3.如权利要求2所述二维矢量空间数据数字水印方法,其特征在于:步骤3.1通过Hilbert排列码实现对二维矢量空间数据指定图层分块。
4.如权利要求3所述二维矢量空间数据数字水印方法,其特征在于:
步骤1.1的具体实施方式为,设置m个空的子集D1,D2,...,Dm,其中1,2,...,m为组号;将每个Ci j∈C按组分配到子集D1,D2,...,Dm中,其所属组的组号通过一个加密的HASH函数来计算,计算方式如下:
对于HASH函数H1(),输入一定长度的消息M,输出一个固定长度的HASH值,即输出h=H1(M),其中M是通过密钥k1连接Ci j前面2位最高有效位来生成;Ci j所属组的组号Group(Ci j)=(h MOD m)+1,Group(Ci j)为Ci j所属组的组号,其中MOD表示取模;
步骤1.2的具体实施方式包括以下步骤:
1)对于任一子集Dx,x∈[1,m],设定一个数据轴,在数据轴上找到一个基准点Ox,然后分别向左向右以步长d对数据轴进行分段,对每段进行编号,把子集Dx中各数据落到数据轴上;所述基准点Ox通过密钥k2和HASH函数H2()确定,Ox=H2(k2o(x*0.1)o k2);所述步长d根据二维矢量空间数据的地图精度确定;
2)如果要在子集Dx中嵌入水印位1,通过调整相应多边形的坐标,把落在偶数编号的数据段上的数据调整到离其最近的奇数编号的数据段上去,从而使子集Dx中的数据呈现代表所嵌入水印位为1的预定分布模式;
如果要在子集Dx中嵌入水印位0,通过调整相应多边形的坐标,把落在奇数编号的数据段上的数据调整到离其最近的偶数编号的数据段上去,从而使子集Dx中的数据呈现代表所嵌入水印位为0的预定分布模式。
5.如权利要求4所述二维矢量空间数据数字水印方法,其特征在于:
步骤2.1的具体实施方式为,用嵌入水印时的密钥k1把水印载体分散到空的子集D1,D2,...,Dm中;
步骤2.2的具体实施方式为:
对每个子集Dx,x∈[1,m],用密钥k2计算出数据轴的基准点Ox;以基准点Ox为起点,向左向右用步长d对数据轴分段;把子集Dx中的数据落到数据轴上,并计算各数据所在数据段的编号,最后分别统计子集Dx中落在编号为偶数和编号为奇数的数据段上的数据个数no和ne,如果no-ne>0,则认为子集Dx中嵌入了水印位1;如果no-ne<0,则认为子集Dx中嵌入了水印位0;如果no-ne=0,则认为子集Dx中水印检测失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102369528A CN101464995B (zh) | 2008-12-22 | 2008-12-22 | 基于空间拓扑的二维矢量空间数据数字水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102369528A CN101464995B (zh) | 2008-12-22 | 2008-12-22 | 基于空间拓扑的二维矢量空间数据数字水印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464995A CN101464995A (zh) | 2009-06-24 |
CN101464995B true CN101464995B (zh) | 2011-06-15 |
Family
ID=40805564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102369528A Expired - Fee Related CN101464995B (zh) | 2008-12-22 | 2008-12-22 | 基于空间拓扑的二维矢量空间数据数字水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464995B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054262B (zh) * | 2009-11-04 | 2012-05-30 | 武汉大学 | 一种抵抗几何攻击的矢量地图水印方法 |
CN103310134B (zh) * | 2013-07-02 | 2015-02-25 | 湖南科技大学 | 一种基于地理语义支持的矢量数据水印防伪方法 |
CN103593590B (zh) * | 2013-11-18 | 2016-03-30 | 南京信息工程大学 | 基于云环境的混合加性多次水印嵌入方法及解码方法 |
US10802485B2 (en) * | 2017-10-09 | 2020-10-13 | Here Global B.V. | Apparatus, method and computer program product for facilitating navigation of a vehicle based upon a quality index of the map data |
CN109408605A (zh) * | 2018-10-11 | 2019-03-01 | 西华师范大学 | 一种城市配位数的计算方法 |
CN111292219A (zh) * | 2018-11-21 | 2020-06-16 | 慧盾信息安全科技(苏州)股份有限公司 | 一种针对图片图像数据隐性水印的实现方法 |
CN112711644B (zh) * | 2019-10-24 | 2024-06-04 | 北京四维图新科技股份有限公司 | 地图数据的电子签名处理方法、装置、系统及存储介质 |
-
2008
- 2008-12-22 CN CN2008102369528A patent/CN101464995B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101464995A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101464995B (zh) | 基于空间拓扑的二维矢量空间数据数字水印方法 | |
CN101916277B (zh) | 地理瓦片多金字塔时态数据集生成方法 | |
Lee et al. | Vector watermarking scheme for GIS vector map management | |
CN101458810B (zh) | 一种基于对象属性特征的矢量地图水印方法 | |
Abubahia et al. | Advancements in GIS map copyright protection schemes-a critical review | |
CN105630988A (zh) | 一种快速检测空间数据变化并更新的方法及系统 | |
CN1834967A (zh) | 集成电路版图的层次网表提取方法 | |
CN107305556A (zh) | 用于3d打印的装置及方法 | |
CN102779165A (zh) | 栅格地图图片库的建立方法 | |
CN105095263A (zh) | 卡号的生成方法及其装置 | |
CN101609465B (zh) | 一种空间矢量数据的快速转换方法 | |
CN113129198A (zh) | 一种零水印生成方法、系统及版权的侵权比对方法、系统 | |
CN102792297A (zh) | 模式匹配装置、模式匹配方法和模式匹配系统 | |
CN103069396A (zh) | 对象布置设备及其方法,计算机程序 | |
CN113821816B (zh) | 一种基于位置的区块链共识方法、系统及装置 | |
Li et al. | Copyright authentication of digital vector maps based on spatial autocorrelation indices | |
TWI460680B (zh) | 密度式資料分群方法 | |
CN103377320B (zh) | 一种矢量地理数据选择性认证半脆弱水印方法 | |
CN102508853B (zh) | 一种填充栅格数据的方法及系统 | |
CN112100308B (zh) | 一种北斗时空轨迹的相似性查询方法 | |
Wang et al. | RST invariant fragile watermarking for 2D vector map authentication | |
CN102054262B (zh) | 一种抵抗几何攻击的矢量地图水印方法 | |
CN116720480A (zh) | 一种城市管理要素统一标识建立方法及装置 | |
CN101848229A (zh) | 一种解决分布式网络计算中最小生成网络问题的方法 | |
CN101350097B (zh) | 信息处理装置和信息嵌入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110615 Termination date: 20151222 |
|
EXPY | Termination of patent right or utility model |