CN110415156B - 一种无损水印方法及检测无损水印方法 - Google Patents
一种无损水印方法及检测无损水印方法 Download PDFInfo
- Publication number
- CN110415156B CN110415156B CN201910729294.4A CN201910729294A CN110415156B CN 110415156 B CN110415156 B CN 110415156B CN 201910729294 A CN201910729294 A CN 201910729294A CN 110415156 B CN110415156 B CN 110415156B
- Authority
- CN
- China
- Prior art keywords
- line
- elements
- watermark information
- embedded
- element pair
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000001514 detection method Methods 0.000 title claims description 27
- 238000010276 construction Methods 0.000 claims description 130
- 238000013507 mapping Methods 0.000 claims description 59
- 230000002441 reversible effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006835 compression Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction of an embedded watermark; Reliable detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0203—Image watermarking whereby the image with embedded watermark is reverted to the original condition before embedding, e.g. lossless, distortion-free or invertible watermarking
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开一种无损水印方法及检测无损水印方法,涉及地理信息安全管理与版权保护技术领域。该无损水印方法包括:获取水印信息;获取原始矢量地理数据;提取要素;按照规则将多个要素合并为一组,并抽象为第一线要素对;计算第一线要素对的方向和抽象距离;计算得到索引位;计算得到待嵌入水印信息数据;根据待嵌入水印信息数据调整方向,得到嵌入水印信息的矢量地理数据。该无损水印方法及检测无损水印方法通过构建和改变要素之间存储特征来实现水印信息的嵌入,只改变了要素间的存储特征,不会对数据的精度造成任何影响,由于常见的攻击并不会影响要素间的存储特征,因此本发明的无损水印方法及检测无损水印方法具有较强的鲁棒性。
Description
技术领域
本发明涉及地理信息安全管理与版权保护技术领域,特别是涉及一种无损水印方法及检测无损水印方法。
背景技术
随着测绘技术的更新与改进,高精度的矢量地理数据的产量越来越大,高精度的矢量地理数据的使用领域也越来越广。然而高精度的矢量地理数据的版权保护也面临着严峻的考验。作为版权保护主要手段之一的数字水印技术通常都是通过修改矢量地理数据的坐标值来实现水印信息嵌入,而高精度的矢量地理数据对此提出了更高的要求:数字水印算法要对数据无损或近无损,而且还能保护数据安全。
数字水印技术是将数字水印与数据融为一体的技术,可用于数据的版权保护以及真实性和完整性认证。当前,数字水印技术已经在空间地理数据的版权保护方面开始发挥重要作用,但是仍然面临一些问题:矢量地理数据的获取成本高,特别是高精度的地理空间数据,所以直接嵌入水印的方式标识版权会造成矢量地理数据不可逆转的精度破坏。因此无损水印算法应运而生,现有的矢量地理数据的无损水印算法包括:基于存储特征的无损水印。基于存储特征的无损水印算法利用线数据的内部顶点存储顺序可以逆向的特征,根据线数据的长度确定嵌入的水印信息的索引,然后通过线要素的角度的改变来实现水印信息嵌入。基于存储特征的无损水印算法可以既不影响数据精度又能将水印信息嵌入到数据中。基于存储特征的无损水印算法虽然对数据的精度没有影响,但是基于存储特征的无损水印算法需要依托于线要素内部的存储特征,由于点要素没有内部特征,因此基于存储特征的无损水印算法并不适用于点要素;而面要素的内部顶点的存储特征是有实际意义的,且不能破坏,因此基于存储特征的无损水印算法也不适用于面要素。
因此,现有的无损水印算法存在不适用于点要素和面要素的问题。
发明内容
本发明的目的是提供一种无损水印方法及检测无损水印方法,解决了现有的无损水印算法不适用于点要素和面要素的问题。
为实现上述目的,本发明提供了如下方案:
一种无损水印方法,包括:
获取水印信息;
获取原始矢量地理数据;
提取所述原始矢量地理数据的要素,所述要素包括:线要素、点要素和面要素;
根据所述要素将依次相邻的多个所述要素合并为一组;
将每组所述要素抽象为第一线要素对,得到第一线要素对集合;
计算每个所述第一线要素对的方向和抽象距离;
将每个所述第一线要素对的抽象距离通过第二映射函数进行映射,计算得到每个所述第一线要素对的索引位;
根据所述水印信息与所述索引位得到每个所述第一线要素对对应的待嵌入水印信息数据;
根据每个所述第一线要素对对应的待嵌入水印信息数据调整每个所述第一线要素对的方向,得到嵌入水印信息的矢量地理数据。
可选的,所述获取水印信息之前还包括:生成水印信息;
所述生成水印信息包括:
利用随机数生成器生成第一二进制序列;
获取待嵌入的版权信息;
将所述第一二进制序列与所述版权信息进行映射得到第一映射函数并进行存储得到映射表;所述映射表用于版权信息的检验;
获取设定的密钥;
将所述密钥作为初始条件通过所述随机数生成器生成伪随机序列;
将所述第一二进制序列与所述伪随机序列进行异或运算,得到所述水印信息。
可选的,所述根据所述要素,将依次相邻的多个所述要素合并为一组,具体包括:
当所述要素为线要素时,将每两个所述线要素合并为一组;
当所述要素为点要素时,将每四个所述点要素抽象为两个第一线要素,每两个所述第一线要素合并为一组;
当所述要素为面要素时,将每四个所述面要素抽象为四个第一点要素,将四个所述第一点要素抽象为两个第二线要素,每两个所述第二线要素合并为一组。
可选的,所述计算每个所述第一线要素对的方向和抽象距离,具体包括:
每个所述第一线要素对均包括第一构造线和第二构造线;
比较所述第一构造线和所述第二构造线的长度,得到比较结果;
当所述第一构造线大于所述第二构造线时,所述第一线要素对的方向为正向;
当所述第一构造线小于或等于所述第二构造线时,所述第一线要素对的方向为反向;
计算所述第一构造线的起点与所述第二构造线的起点之间的距离,得到所述抽象距离。
可选的,所述根据每个所述第一线要素对对应的待嵌入水印信息数据调整每个所述第一线要素对的方向,得到嵌入水印信息的矢量地理数据,具体包括:
判断每个所述第一线要素对对应的待嵌入水印信息数据是否等于每个所述第一线要素对的方向,得到判断结果;
当所述判断结果为是时,所述第一线要素对对应的待嵌入水印信息数据为所述第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据;
当所述判断结果为否时,对所述第一线要素对的第一构造线和第二构造线进行逆序,使得每个所述第一线要素对的方向等于所述待嵌入水印信息数据,即所述第一线要素对对应的待嵌入水印信息数据为所述第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
一种检测无损水印方法,包括:
获取待检测的矢量地理数据;
提取所述矢量地理数据的要素,所述要素包括:线要素、点要素和面要素;
根据所述要素将依次相邻的多个所述要素合并为一组;
将每组所述要素抽象为第二线要素对,得到第二线要素对集合;
计算每个所述第二线要素对的方向和抽象距离;
将每个所述第二线要素对的抽象距离通过第二映射函数进行映射,计算得到每个所述第二线要素对的索引位;
根据每个所述第二线要素对的方向,得到每个所述第二线要素对对应的嵌入水印信息数据;
根据每个所述第二线要素对对应的嵌入水印信息数据得到所述矢量地理数据中的嵌入水印信息;
将所述嵌入水印信息与伪随机序列进行异或运算,得到第二水印信息;
获取第一水印信息;
将所述第二水印信息与所述第一水印信息进行相关检测,得到相关检测结果;
通过所述相关检测结果得到嵌入的版权信息。
可选的,所述根据所述要素,将依次相邻的多个所述要素合并为一组,具体包括:
当所述要素为线要素时,将每两个所述线要素合并为一组;
当所述要素为点要素时,将每四个所述点要素抽象为两个第二线要素,每两个所述第二线要素合并为一组;
当所述要素为面要素时,将每四个所述面要素抽象为四个第二点要素,将四个所述第二点要素抽象为两个第三线要素,每两个所述第三线要素合并为一组。
可选的,所述计算每个所述第二线要素对的方向和抽象距离,具体包括:
每个所述第二线要素对均包括第一构造线和第二构造线;
比较所述第一构造线和所述第二构造线的长度,得到比较结果;
当所述第一构造线大于所述第二构造线时,所述第二线要素对的方向为正向;
当所述第一构造线小于或等于所述第二构造线时,所述第二线要素对的方向为反向;
计算所述第一构造线的起点与所述第二构造线的起点之间的距离,得到所述抽象距离。
可选的,所述通过所述相关检测结果得到嵌入的版权信息,具体包括:
当所述相关检测结果为所述第二水印信息与所述水印信息相等时,根据映射表通过所述水印信息得到所述嵌入的版权信息;所述映射表用于存储随机数生成器生成的第一二进制序列与所述嵌入的版权信息进行映射得到的第一映射函数。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种无损水印方法及检测无损水印方法。该无损水印方法包括:获取水印信息;获取原始矢量地理数据;提取原始矢量地理数据的要素;根据要素将依次相邻的多个要素合并为一组;将每组要素抽象为第一线要素对,得到第一线要素对集合;计算每个第一线要素对的方向和抽象距离;将每个第一线要素对的抽象距离通过第二映射函数进行映射,计算得到每个第一线要素对的索引位;根据水印信息与索引位得到每个第一线要素对对应的待嵌入水印信息数据;比较每个第一线要素对对应的待嵌入水印信息数据和每个第一线要素对的方向,得到嵌入水印信息的矢量地理数据。该无损水印方法及系统通过构建和改变要素之间存储特征来实现水印信息的嵌入。具体的,将点要素、线要素和面要素都抽象为线要素对,利用线要素对的方向确定待嵌入水印信息数据的索引位,利用线要素对方向的改变来实现水印信息的嵌入。该方法将点要素看做一个顶点,线要素看做一系列顶点的集合,面要素也看做一系列顶点的集合,但是首尾顶点是相同的;线要素对是对矢量地理数据中点要素、线要素和面要素的一种抽象与组合;一个面要素可以抽象为一个点要素,而两个点要素可以抽象为一个线要素,两个线要素组合为一个线要素对,这种抽象与组合赋予了线要素对一些特殊的空间特征,可以为水印算法所使用,如线要素对的抽象距离和方向;待嵌入水印信息数据的索引位由线要素对的抽象距离决定,水印信息的嵌入通过线要素对的方向改变实现。该无损水印方法只改变了要素间的存储特征,不会对数据的精度造成任何影响,由于常见的攻击并不会影响要素间的存储特征,因此本发明的无损水印方法及检测无损水印方法具有较强的鲁棒性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1所提供的无损水印方法的流程图;
图2为本发明实施例2所提供的检测无损水印方法的流程图;
图3为本发明实施例3所提供的原始矢量地理数据图;
图4为本发明实施例3所提供的嵌入水印信息的矢量地理数据图;
图5为本发明实施例3所提供的交通站点要素的攻击图;图5中的(a)为本发明实施例3所提供的对交通站的点要素进行平移攻击的攻击图,图5中的(b)为本发明实施例3所提供的对交通站的点要素进行旋转攻击的攻击图,图5中的(c)为本发明实施例3所提供的对交通站的点要素进行压缩攻击的攻击图;
图6为本发明实施例3所提供的航道线要素的攻击图;图6中的(a)为本发明实施例3所提供的对航道的线要素进行平移攻击的攻击图,图6中的(b)为本发明实施例3所提供的对航道的线要素进行旋转攻击的攻击图,图6中的(c)为本发明实施例3所提供的对航道的线要素进行压缩攻击的攻击图;
图7为本发明实施例3所提供的土地利用面要素的攻击图;图7中的(a)为本发明实施例3所提供的对土地利用的面要素进行平移攻击的攻击图,图7中的(b)为本发明实施例3所提供的对土地利用的面要素进行旋转攻击的攻击图,图7中的(c)为本发明实施例3所提供的对土地利用的面要素进行压缩攻击的攻击图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
本实施例提供一种无损水印方法。在实施本实施例1的无损水印方法之前,还需要生成待嵌入的水印信息。生成水印信息包括:
利用随机数生成器生成第一二进制序列。具体包括:水印信息可以分为有意义水印信息和无意义水印信息,本实施例1采用无意义水印信息。利用任意一种随机数生成器,每次生成一个比特(bit),直到生成一串长度为N的第一二进制序列。将生成的第一二进制序列作为第一水印信息,记做C,第一水印信息的长度为N。
获取待嵌入的版权信息I。
将第一二进制序列与版权信息进行映射得到第一映射函数并进行存储得到映射表。第一映射函数用于建立版权信息I与第一二进制序列C的映射关系;映射表用于存储版权信息I与第一二进制序列C的映射关系,映射表还用于版权信息的检验。
获取设定的密钥。密钥的长度越长,密钥的保密性越高。
将密钥作为初始条件通过随机数生成器生成伪随机序列。具体包括:将密钥作为随机数生成器生成随机数的初始条件,生成长度为N的二值伪随机序列R。
将第一二进制序列与伪随机序列进行异或运算,得到水印信息。具体包括:将第一二进制序列C与二值伪随机序列R对应的索引位进行异或运算,得到置乱后的水印信息W。水印信息W为待嵌入的水印信息。
图1为本发明实施例1所提供的无损水印方法的流程图。参见图1,无损水印方法包括:
步骤101,获取水印信息。水印信息为待嵌入的水印信息W。
步骤102,获取原始矢量地理数据。原始矢量地理数据为待嵌入的水印信息W的矢量地理数据。
步骤103,提取原始矢量地理数据的要素。具体为:提取原始矢量地理数据的所有要素,要素包括:线要素、点要素和面要素。
步骤104,根据要素将依次相邻的多个要素合并为一组。
步骤104具体包括:根据要素按照设定的规则将依次相邻的两个或四个要素合并为一组。
规则具体为:当要素为线要素时,将每两个线要素合并为一组。
当要素为点要素时,将每四个点要素抽象为两个第一线要素,每两个第一线要素合并为一组。将每四个点要素抽象为两个第一线要素在实际应用中为将每两个点要素组成一个第一线要素,例如两个点要素其中一个点要素作为第一线要素的起点,另一个点要素作为第一线要素的终点;则每四个点要素可以组成两个第一线要素。
当要素为面要素时,将每四个面要素抽象为四个第一点要素,将四个第一点要素抽象为两个第二线要素,每两个第二线要素合并为一组。将每四个面要素抽象为四个第一点要素,可选的将每个面要素中的任意一点作为第一点要素的坐标,得到四个第一点要素。
步骤105,将每组要素抽象为第一线要素对,得到第一线要素对集合。
步骤105具体包括:依次将每组要素抽象为第一线要素对,得到第一线要素对集合,记作Pair={pairi|i=1,2,...,m},其中m为第一线要素对的总个数,i表示第i个第一线要素对。在实际应用中每组要素均包括两个线要素,将每组要素抽象为第一线要素对即为每两个线要素组成一个第一线要素对。
步骤106,计算每个第一线要素对的方向Direction(pairi)和抽象距离Distance(pairi)。第一线要素对的抽象距离为第一线要素对中包括的两个线要素之间的距离。计算两个线要素之间距离的方法包括:计算两个线要素的起点之间的距离,或计算两个线要素的终点之间的距离。在本实施例1中线要素对的抽象距离的计算方法为计算两个线要素的起点之间的距离。由于第一线要素对中包括的两个线要素可能是要素为线要素时的两个线要素,也可能是要素为点要素时抽象为的两个第一线要素,还可能是要素为面要素时抽象为的两个第二线要素,所以将第一线要素对中包括的两个线要素统称为两个构造线,为了区分两个构造线将其中一个构造线称为第一构造线,另一个构造线称为第二构造线。
步骤106具体包括:每个第一线要素对pairi均包括第一构造线li1和第二构造线li2,记作pairi(li1,li2);
计算每个第一线要素对的方向Direction(pairi)具体包括:比较第一构造线和第二构造线的长度,得到比较结果。长度表示第一构造线或第二构造线的起点到终点的线段距离。
当第一构造线大于第二构造线时,即li1>li2,第一线要素对的方向为正向,记作1。
当第一构造线小于或等于第二构造线时,即li1≤li2,第一线要素对的方向为反向,记作0。
在本实施例1中计算每个第一线要素对的抽象距离Distance(pairi)具体包括:
计算第一构造线的起点到第二构造线的起点的距离,得到抽象距离。
步骤107,将每个第一线要素对的抽象距离通过第二映射函数进行映射,计算得到每个第一线要素对的索引位。
步骤107具体包括:将每个第一线要素对的抽象距离Distance(Pairi)通过第二映射函数f进行映射,计算得到每个第一线要素对的索引位Q={qi|i=1,2,..,m},即Q=f(Distance):
qi=[|sin(Distance(Pairi))|×(N-1)+1] (1)
公式(1)中,Distance(Pairi)表示每个第一线要素对的抽象距离,qi表示每个第一线要素对的索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
步骤108,根据水印信息与索引位得到每个第一线要素对对应的待嵌入水印信息数据。
步骤109,根据每个第一线要素对对应的待嵌入水印信息数据调整每个第一线要素对的方向,得到嵌入水印信息的矢量地理数据。
步骤109具体包括:判断每个第一线要素对对应的待嵌入水印信息数据是否等于每个第一线要素对的方向,得到判断结果:
当判断结果为是时,即当每个第一线要素对对应的待嵌入水印信息数据等于每个第一线要素对的方向Direction(Pairi)时,保持第一线要素对,即第一线要素对对应的待嵌入水印信息数据为第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
当判断结果为否时,即当每个第一线要素对对应的待嵌入水印信息数据不等于每个第一线要素对的方向Direction(Pairi)时,对第一线要素对的第一构造线和第二构造线进行逆序,即第一线要素对为Pairi(li2,li1),使得每个第一线要素对的方向Direction(Pairi)等于每个第一线要素对对应的待嵌入水印信息数据即第一线要素对对应的待嵌入水印信息数据为第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
本实施例1的无损水印方法通过构建和改变要素之间存储特征来实现水印信息的嵌入,具体的,将点要素、线要素和面要素都抽象为线要素对,利用线要素对的方向确定待嵌入水印信息数据的索引位,利用线要素对方向的改变来实现水印信息的嵌入。该方法将点要素看做一个顶点,线要素看做一系列顶点的集合,面要素也看做一系列顶点的集合,但是首尾顶点是相同的;线要素对是对矢量地理数据中点要素、线要素和面要素的一种抽象与组合;一个面要素可以抽象为一个点要素,而两个点要素可以抽象为一个线要素,两个线要素组合为一个线要素对,这种抽象与组合赋予了线要素对一些特殊的空间特征,可以为水印算法所使用,如线要素对的抽象距离和方向;待嵌入水印信息数据的索引位由线要素对的抽象距离决定,水印信息的嵌入通过线要素对的方向改变实现。该无损水印方法只改变了要素间的存储特征,不会对数据的精度造成任何影响,由于常见的攻击并不会影响要素间的存储特征,因此本发明的无损水印方法具有较强的鲁棒性。
实施例2
本实施例提供一种检测无损水印方法,检测无损水印方法用于检测矢量地理数据中的版权信息,图2为本发明实施例2所提供的检测无损水印方法的流程图。参见图2,检测无损水印方法包括:
步骤201,获取待检测的矢量地理数据。
步骤202,提取矢量地理数据的要素。要素包括:线要素、点要素和面要素。
步骤203,根据要素将依次相邻的多个要素合并为一组。
步骤203具体包括:根据要素按照设定的规则将依次相邻的两个或四个要素合并为一组。
规则具体为:当要素为线要素时,将每两个线要素合并为一组。
当要素为点要素时,将每四个点要素抽象为两个第三线要素,每两个第三线要素合并为一组。将每四个点要素抽象为两个第三线要素在实际应用中为将每两个点要素组成一个第三线要素,例如两个点要素其中一个点要素作为第三线要素的起点,另一个点要素作为第三线要素的终点;则每四个点要素可以组成两个第三线要素。
当要素为面要素时,将每四个面要素抽象为四个第二点要素,将四个第二点要素抽象为两个第四线要素,每两个第四线要素合并为一组。将每四个面要素抽象为四个第二点要素,可选的将每个面要素中的任意一点作为第二点要素的坐标,得到四个第二点要素。
步骤204,将每组要素抽象为第二线要素对,得到第二线要素对集合。
步骤204具体包括:依次将每组要素抽象为第二线要素对,得到第二线要素对集合,记作Pair'={pair'i'|i'=1,2,...,m'},其中m’为第二线要素对的总个数,i’表示第i’个第二线要素对。在实际应用中每组要素均包括两个线要素,将每组要素抽象为第二线要素对即为每两个线要素组成一个第二线要素对。
步骤205,计算每个第二线要素对的方向Direction(pair’i’)和抽象距离Distance(pair’i’)。第二线要素对的抽象距离为第二线要素对中包括的两个线要素之间的距离。计算两个线要素之间距离的方法包括:计算两个线要素的起点之间的距离,或计算两个线要素的终点之间的距离。在本实施例2中线要素对的抽象距离的计算方法为计算两个线要素的起点之间的距离。由于第二线要素对中包括的两个线要素可能是要素为线要素时的两个线要素,也可能是要素为点要素时抽象为的两个第三线要素,还可能是要素为面要素时抽象为的两个第四线要素,所以将第二线要素对中包括的两个线要素统称为两个构造线,为了区分两个构造线将其中一个构造线称为第一构造线,另一个构造线称为第二构造线。
步骤205具体包括:每个第二线要素对pair’i’均包括第一构造线li1’和第二构造线li2’,记作pair’i’(li1’,li2’);
计算每个第二线要素对的方向Direction(pair’i’)具体包括:比较第一构造线和第二构造线的长度,得到比较结果。长度表示第一构造线或第二构造线的起点到终点的线段距离。
当第一构造线大于第二构造线时,即li1’>li2’,第一线要素对的方向为正向,记作1。
当第一构造线小于或等于第二构造线时,即li1’≤li2’,第一线要素对的方向为反向,记作0。
在本实施例2中计算每个第二线要素对的抽象距离Distance(pair’i’)具体包括:
计算第一构造线的起点到第二构造线的起点的距离,得到抽象距离。
步骤206,将每个第二线要素对的抽象距离通过第二映射函数进行映射,计算得到每个第二线要素对的索引位。
步骤206具体包括:将每个第二线要素对的抽象距离Distance(pair’i’)通过第二映射函数f进行映射,计算得到每个第二线要素对的索引位Q’={q’i’|i’=1,2,..,m’},即Q’=f(Distance):
q’i’=[|sin(Distance(pair’i’))|×(N-1)+1] (2)
公式(2)中,Distance(pair’i’)表示每个第二线要素对的抽象距离,q’i’表示每个第二线要素对的索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
步骤207,根据每个第二线要素对的方向,得到每个第二线要素对对应的嵌入水印信息数据。
步骤208,根据每个第二线要素对对应的嵌入水印信息数据得到矢量地理数据中的嵌入水印信息。
步骤208具体包括:根据每个第二线要素对的索引位,将每个第二线要素对对应的嵌入水印信息数据进行组合得到矢量地理数据中的嵌入水印信息。
步骤209,将嵌入水印信息与伪随机序列进行异或运算,得到第二水印信息。
步骤209具体包括:获取无损水印方法中的二值伪随机序列R。
步骤210,获取第一水印信息,第一水印信息为无损水印方法中的第一二进制序列C。
步骤211,将第二水印信息与第一水印信息进行相关检测,得到相关检测结果。
步骤211具体包括:通过计算归一化相关系数NC对第二水印信息C’与第一二进制序列C进行相关检测:
步骤212,通过相关检测结果得到嵌入的版权信息。
步骤212具体包括:当相关检测结果,即归一化相关系数NC大于相关检测的阈值时,则第二水印信息C’与第一二进制序列C相等。
根据第一二进制序列C通过版权信息I与第一二进制序列C的映射表,获取版权信息I。
本实施例2的检测无损水印方法可以准确检测到数据中的水印信息。
实施例3
本实施例提供一种基于矢量地理数据要素间存储特征的无损水印方法,首先利用实施例1的无损水印方法对原始矢量地理数据进行水印信息的嵌入,然后对嵌入水印信息的矢量地理数据进行攻击,最后利用实施例2的检测无损水印方法对攻击后的矢量地理数据进行水印信息的提取,检测攻击后的矢量地理数据的水印信息与嵌入的水印信息是否相同。
步骤301,利用实施例1的无损水印方法对原始矢量地理数据:交通站的点要素、航道的线要素和土地利用的面要素进行水印信息的嵌入。图3为本发明实施例3所提供的原始矢量地理数据,参见图3,图3中的(a)为交通站的点要素,图3中的(b)为航道的线要素,图3中的(c)为土地利用的面要素。
(1)获取水印信息。水印信息为待嵌入的水印信息W。具体包括:利用任意一种随机数生成器,每次生成一个比特(bit),直到生成一串长度为N的第一二进制序列。将生成的第一二进制序列作为第一水印信息,记做C,第一水印信息的长度为N。
获取待嵌入的版权信息I为南京师范大学。
将第一二进制序列与版权信息进行映射得到第一映射函数并进行存储得到映射表。第一映射函数用于建立版权信息I与第一二进制序列C的映射关系;映射表用于存储版权信息I与第一二进制序列C的映射关系,映射表还用于版权信息的检验。
获取设定的密钥。密钥的长度越长,密钥的保密性越高。
将密钥作为初始条件通过随机数生成器生成伪随机序列。具体包括:将密钥作为随机数生成器生成随机数的初始条件,生成长度为N的二值伪随机序列R。
将第一二进制序列与伪随机序列进行异或运算,得到水印信息。具体包括:将第一二进制序列C与二值伪随机序列R对应的索引位进行异或运算,得到置乱后的水印信息W。水印信息W为待嵌入的水印信息。本实施例3中待嵌入的水印信息的形式为文字,图4-图7中未显示。
(2)获取原始矢量地理数据,本实施方式的原始矢量地理数据包括:交通站的点要素、航道的线要素和土地利用的面要素。
(3)提取原始矢量地理数据的要素。具体为:提取交通站的点要素、航道的线要素和土地利用的面要素。
(4)根据要素按照设定的规则将依次相邻的多个要素合并为一组。具体为:将每四个交通站的点要素抽象为两个第一线要素,每两个第一线要素合并为一组。
将每两个航道的线要素合并为一组。
将每四个土地利用的面要素抽象为四个第一点要素,将四个第一点要素抽象为两个第二线要素,每两个第二线要素合并为一组。
(5)将每组要素抽象为线要素对,得到线要素对集合。具体包括:将每组交通站的要素抽象为第一线要素对,得到第一线要素对集合,记作Pair1={pair1i1|i1=1,2,...,m1},其中m1为第一线要素对的总个数,i1表示第i1个第一线要素对。
将每组航道的要素抽象为第二线要素对,得到第二线要素对集合,记作Pair2={pair2i2|i2=1,2,...,m2},其中m2为第二线要素对的总个数,i2表示第i2个第一线要素对。
将每组土地利用的要素抽象为第三线要素对,得到第三线要素对集合,记作Pair3={pair3i3|i3=1,2,...,m3},其中m3为第三线要素对的总个数,i3表示第i3个第三线要素对。
(6)计算每个线要素对的方向Direction(pairi)和抽象距离Distance(pairi)。在本实施例3中每个线要素对的抽象距离的计算方法为计算两个线要素的起点之间的距离。由于每个线要素对中包括的两个线要素可能是要素为线要素时的两个线要素,也可能是要素为点要素时抽象为的两个第一线要素,还可能是要素为面要素时抽象为的两个第二线要素,所以将每个线要素对中包括的两个线要素统称为两个构造线,为了区分两个构造线将其中一个构造线称为第一构造线,另一个构造线称为第二构造线。具体包括:每个线要素对pairi均包括第一构造线li1和第二构造线li2,记作pairi(li1,li2);
计算每个线要素对的方向Direction(pairi)具体包括:比较第一构造线和第二构造线的长度,得到比较结果。长度表示第一构造线或第二构造线的起点到终点的线段距离。
当第一构造线大于第二构造线时,即li1>li2,线要素对的方向为正向,记作1。
当第一构造线小于或等于第二构造线时,即li1≤li2,线要素对的方向为反向,记作0。
得到第一线要素对的方向Direction1(pair1i1)、第二线要素对的方向Direction2(pair2i2)和第三线要素对的方向Direction3(pair3i3)。
在本实施例3中计算每个线要素对的抽象距离Distance(pairi)具体包括:
计算第一构造线的起点到第二构造线的起点的距离,得到抽象距离。
得到第一线要素对的方向Distance1(pair1i1)、第二线要素对的方向Distance2(pair2i2)和第三线要素对的方向Distance3(pair3i3)。
(7)将每个线要素对的抽象距离通过第二映射函数进行映射,计算得到每个线要素对的索引位。具体包括:将每个第一线要素对的抽象距离Distance1(Pair1i1)通过第二映射函数f进行映射,计算得到每个第一线要素对的第一索引位Q1={q1i1|i1=1,2,..,m1},即Q1=f(Distance):
q1i1=[|sin(Distance1(Pair1i1))|×(N-1)+1]
上式中,Distance1(Pair1i1)表示每个第一线要素对的抽象距离,q1i1表示每个第一线要素对的第一索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
将每个第二线要素对的抽象距离Distance2(Pair2i2)通过第二映射函数f进行映射,计算得到每个第二线要素对的第二索引位Q2={q2i2|i2=1,2,..,m2},即Q2=f(Distance):
q2i2=[|sin(Distance2(Pair2i2))|×(N-1)+1]
上式中,Distance2(Pair2i2)表示每个第二线要素对的抽象距离,q2i2表示每个第二线要素对的第二索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
将每个第三线要素对的抽象距离Distance3(Pair3i3)通过第二映射函数f进行映射,计算得到每个第三线要素对的第三索引位Q3={q3i3|i3=1,2,..,m3},即Q3=f(Distance):
q3i3=[|sin(Distance3(Pair3i3))|×(N-1)+1]
上式中,Distance3(Pair3i3)表示每个第三线要素对的抽象距离,q3i3表示每个第三线要素对的第三索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
(8)将水印信息与索引位进行对应得到每个线要素对对应的待嵌入水印信息数据。具体包括:提取水印信息中与第一索引位位置对应的数据,得到每个第一线要素对对应的待嵌入水印信息数据。水印信息根据第一索引位Q1,与q1i1对应得到每个第一要素对的待嵌入水印信息数据
(9)根据每个线要素对对应的待嵌入水印信息数据调整每个线要素对的方向,得到嵌入水印信息的矢量地理数据。图4为本发明实施例3所提供的嵌入水印信息的矢量地理数据图,参见图4,图4中的(a)为交通站的点要素,图4中的(b)为航道的线要素,图4中的(c)为土地利用的面要素。具体包括:判断每个第一线要素对对应的待嵌入水印信息数据是否等于每个第一线要素对的方向,得到第一判断结果:
当第一判断结果为是时,即当每个第一线要素对对应的待嵌入水印信息数据等于每个第一线要素对的方向Direction1(pair1i1)时,保持第一线要素对,即第一线要素对对应的待嵌入水印信息数据为第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
当第一判断结果为否时,即当每个第一线要素对对应的待嵌入水印信息数据不等于每个第一线要素对的方向Direction1(pair1i1)时,对第一线要素对的第一构造线和第二构造线进行逆序,即第一线要素对为Pair1i1(l1i2,l1i1),使得每个第一线要素对的方向Direction1(pair1i1)等于待嵌入水印信息数据即第一线要素对对应的待嵌入水印信息数据为第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据,参见图4中的(a)。
判断每个第二线要素对对应的待嵌入水印信息数据是否等于每个第二线要素对的方向,得到第二判断结果:
当第二判断结果为是时,即当每个第二线要素对对应的待嵌入水印信息数据等于每个第二线要素对的方向Direction2(pair2i2)时,保持第二线要素对,即第二线要素对对应的待嵌入水印信息数据为第二线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
当第二判断结果为否时,即当每个第二线要素对对应的待嵌入水印信息数据不等于每个第二线要素对的方向Direction2(pair2i2)时,对第二线要素对的第一构造线和第二构造线进行逆序,即第二线要素对为Pair2i2(l2i2,l2i1),使得每个第二线要素对的方向Direction2(pair2i2)等于待嵌入水印信息数据即第二线要素对对应的待嵌入水印信息数据为第二线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据,参见图4中的(b)。
判断每个第三线要素对对应的待嵌入水印信息数据是否等于每个第三线要素对的方向,得到第三判断结果:
当第三判断结果为是时,即当每个第三线要素对对应的待嵌入水印信息数据等于每个第三线要素对的方向Direction3(pair3i3)时,保持第三线要素对,即第三线要素对对应的待嵌入水印信息数据为第三线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
当第三判断结果为否时,即当每个第三线要素对对应的待嵌入水印信息数据不等于每个第三线要素对的方向Direction3(pair3i3)时,对第三线要素对的第一构造线和第二构造线进行逆序,即第三线要素对为Pair3i3(l3i2,l3i1),使得每个第三线要素对的方向Direction3(pair3i3)等于待嵌入水印信息数据即第三线要素对对应的待嵌入水印信息数据为第三线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据,参见图4中的(c)。
本实施例3步骤301只改变了要素间的存储特征,不会对数据的精度造成任何影响,由于常见的攻击并不会影响要素间的存储特征,因此本实施例3的无损水印方法具有较强的鲁棒性。为了验证本实施例3步骤301的无损水印方法对于各种攻击都具有较强的鲁棒性,步骤302对通过步骤301嵌入水印信息的矢量地理数据进行攻击,步骤303对攻击后的矢量地理数据的水印信息进行检测。
步骤302,分别对嵌入水印信息的矢量地理数据,即嵌入水印信息的交通站的点要素、嵌入水印信息的航道的线要素和嵌入水印信息的土地利用的面要素,进行攻击,得到攻击后的交通站的点要素、攻击后的航道的线要素和攻击后的土地利用的面要素。图5为本发明实施例3所提供的交通站点要素的攻击图,参见图5,图5中的(a)为本发明实施例3所提供的对交通站的点要素进行平移攻击的攻击图,图5中的(b)为本发明实施例3所提供的对交通站的点要素进行旋转攻击的攻击图,图5中的(c)为本发明实施例3所提供的对交通站的点要素进行压缩攻击的攻击图。图6为本发明实施例3所提供的航道线要素的攻击图,图6中的(a)为本发明实施例3所提供的对航道的线要素进行平移攻击的攻击图,图6中的(b)为本发明实施例3所提供的对航道的线要素进行旋转攻击的攻击图,图6中的(c)为本发明实施例3所提供的对航道的线要素进行压缩攻击的攻击图。图7为本发明实施例3所提供的土地利用面要素的攻击图,图7中的(a)为本发明实施例3所提供的对土地利用的面要素进行平移攻击的攻击图,图7中的(b)为本发明实施例3所提供的对土地利用的面要素进行旋转攻击的攻击图,图7中的(c)为本发明实施例3所提供的对土地利用的面要素进行压缩攻击的攻击图。攻击包括:平移攻击、旋转攻击和压缩攻击等。平移攻击为将矢量地理数据中全部要素的坐标点按照同一直线方向做相同距离的移动。旋转攻击为将任意一点作为旋转中心点,将矢量地理数据围绕旋转中心点进行旋转。压缩攻击为道格拉斯普克压缩。
步骤303,利用实施例2的检测无损水印方法对攻击后的矢量地理数据进行水印信息的提取。步骤303具体包括:
(1)获取待检测的矢量地理数据,即攻击后的交通站的点要素、攻击后的航道的线要素和攻击后的土地利用的面要素,也即图5、图6和图7。
(2)提取矢量地理数据的要素,具体为:提取交通站的点要素、航道的线要素和土地利用的面要素。
(3)根据要素按照设定的规则将依次相邻的多个要素合并为一组。具体为:将每四个交通站的点要素抽象为两个第三线要素,每两个第三线要素合并为一组。
将每两个航道的线要素合并为一组。
将每四个土地利用的面要素抽象为四个第二点要素,将四个第二点要素抽象为两个第四线要素,每两个第四线要素合并为一组。
(4)将每组要素抽象为线要素对,得到线要素对集合。在实际应用中每组要素均包括两个线要素,将每组要素抽象为线要素对即为每两个线要素组成一个线要素对。具体包括:将每组交通站的要素抽象为第四线要素对,得到第四线要素对集合,记作Pair4={pair4i4|i4=1,2,...,m4},其中m4为第四线要素对的总个数,i4表示第i4个第四线要素对。
将每组航道的要素抽象为第五线要素对,得到第五线要素对集合,记作Pair5={pair5i5|i5=1,2,...,m5},其中m5为第五线要素对的总个数,i5表示第i5个第五线要素对。
将每组土地利用的要素抽象为第六线要素对,得到第六线要素对集合,记作Pair6={pair6i6|i6=1,2,...,m6},其中m6为第六线要素对的总个数,i6表示第i6个第六线要素对。
(5)计算每个线要素对的方向Direction(pair’i’)和抽象距离Distance(pair’i’)。在本实施例3中线要素对的抽象距离的计算方法为计算两个线要素的起点之间的距离。由于每个线要素对中包括的两个线要素可能是要素为线要素时的两个线要素,也可能是要素为点要素时抽象为的两个第三线要素,还可能是要素为面要素时抽象为的两个第四线要素,所以将第二线要素对中包括的两个线要素统称为两个构造线,为了区分两个构造线将其中一个构造线称为第一构造线,另一个构造线称为第二构造线。具体包括:每个线要素对pair’i’均包括第一构造线li1’和第二构造线li2’,记作pair’i’(li1’,li2’);
计算每个线要素对的方向Direction(pair’i’)具体包括:比较第一构造线和第二构造线的长度,得到比较结果。长度表示第一构造线或第二构造线的起点到终点的线段距离。
当第一构造线大于第二构造线时,即li1’>li2’,线要素对的方向为正向,记作1。
当第一构造线小于或等于第二构造线时,即li1’≤li2’,线要素对的方向为反向,记作0。
得到第四线要素对的方向Direction4(pair4i4)、第五线要素对的方向Direction5(pair5i5)和第六线要素对的方向Direction6(pair6i6)。
在本实施例3中计算每个线要素对的抽象距离Distance(pair’i’)具体包括:
计算第一构造线的起点到第二构造线的起点的距离,得到抽象距离。
得到第四线要素对的方向Distance4(pair4i4)、第五线要素对的方向Distance5(pair5i5)和第六线要素对的方向Distance6(pair6i6)。
(6)将每个线要素对的抽象距离通过第二映射函数进行映射,计算得到每个线要素对的索引位。具体包括:将每个第四线要素对的方向Direction4(pair4i4)通过第二映射函数f进行映射,计算得到每个第四线要素对的索引位Q4={q4i4|i4=1,2,..,m4},即Q4=f(Distance):
q4i4=[|sin(Distance(pair4i4))|×(N-1)+1]
上式中,Distance(pair4i4)表示每个第四线要素对的抽象距离,q4i4表示每个第四线要素对的索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
将每个第五线要素对的抽象距离Distance5(Pair5i5)通过第二映射函数f进行映射,计算得到每个第五线要素对的第五索引位Q5={q5i5|i5=1,2,..,m5},即Q5=f(Distance):
q5i5=[|sin(Distance5(Pair5i5))|×(N-1)+1]
上式中,Distance5(Pair5i5)表示每个第五线要素对的抽象距离,q5i5表示每个第五线要素对的第五索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
将每个第六线要素对的抽象距离Distance6(Pair6i6)通过第二映射函数f进行映射,计算得到每个第六线要素对的第六索引位Q6={q6i6|i6=1,2,..,m6},即Q6=f(Distance):
q6i6=[|sin(Distance6(Pair6i6))|×(N-1)+1]
上式中,Distance6(Pair6i6)表示每个第六线要素对的抽象距离,q6i6表示每个第六线要素对的第六索引位,N表示水印信息的长度,[]表示四舍五入求整运算。
(7)根据每个线要素对的方向,得到每个线要素对对应的嵌入水印信息数据。具体包括:每个第四线要素对对应的嵌入水印信息数据和每个第四线要素对的方向Direction4(pair4i4)相等,得到矢量地理数据中的嵌入水印信息
(8)根据每个线要素对对应的嵌入水印信息数据得到矢量地理数据中的嵌入水印信息。具体包括:根据每个第四线要素对的第四索引位,将每个第四线要素对对应的嵌入水印信息数据进行组合得到交通站的点要素中的嵌入水印信息。
根据每个第五线要素对的第五索引位,将每个第五线要素对对应的嵌入水印信息数据进行组合得到航道的线要素中的嵌入水印信息。
根据每个第六线要素对的第六索引位,将每个第六线要素对对应的嵌入水印信息数据进行组合得到土地利用的面要素中的嵌入水印信息。
(9)将嵌入水印信息与伪随机序列进行异或运算,得到第二水印信息。具体包括:获取步骤301中的二值伪随机序列R。第二水印信息包括:第四水印信息、第五水印信息和第六水印信息。
(10)获取第一水印信息,第一水印信息为步骤301中的第一二进制序列C。
(11)将第四水印信息、第五水印信息和第六水印信息分别与第一水印信息进行相关检测,得到相关检测结果。具体包括:通过计算第四归一化相关系数NC4对第四水印信息C4与第一二进制序列C进行相关检测:
通过计算第五归一化相关系数NC5对第五水印信息C5与第一二进制序列C进行相关检测:
通过计算第六归一化相关系数NC6对第六水印信息C6与第一二进制序列C进行相关检测:
(12)通过相关检测结果得到嵌入的版权信息。具体包括:相关检测结果为:
第四归一化相关系数NC4大于相关检测的阈值,第四水印信息C4与第一二进制序列C相等。
第五归一化相关系数NC5大于相关检测的阈值,第五水印信息C5与第一二进制序列C相等。
第六归一化相关系数NC6大于相关检测的阈值,第六水印信息C6与第一二进制序列C相等。
根据第一二进制序列C通过版权信息I与第一二进制序列C的映射表,获取版权信息I。
本实施例3的基于矢量地理数据要素间存储特征的无损水印方法能够抵抗平移攻击、旋转攻击和压缩攻击,所以本实施例3的无损水印方法对于各种攻击都具有较强的鲁棒性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种无损水印方法,其特征在于,包括:
获取水印信息;
获取原始矢量地理数据;
提取所述原始矢量地理数据的要素,所述要素包括:线要素、点要素和面要素;
根据所述要素将依次相邻的多个所述要素合并为一组,具体包括:
当所述要素为线要素时,将每两个所述线要素合并为一组;
当所述要素为点要素时,将每四个所述点要素抽象为两个第一线要素,每两个所述第一线要素合并为一组;
当所述要素为面要素时,将每四个所述面要素抽象为四个第一点要素,将四个所述第一点要素抽象为两个第二线要素,每两个所述第二线要素合并为一组;
将每组所述要素抽象为第一线要素对,得到第一线要素对集合;
计算每个所述第一线要素对的方向和抽象距离,第一线要素对的抽象距离为第一线要素对中包括的两个线要素之间的距离;计算两个线要素之间距离的方法包括:计算两个线要素的起点之间的距离,或计算两个线要素的终点之间的距离;
将每个所述第一线要素对的抽象距离通过第二映射函数进行映射,计算得到每个所述第一线要素对的索引位;
根据所述水印信息与所述索引位得到每个所述第一线要素对对应的待嵌入水印信息数据;
根据每个所述第一线要素对对应的待嵌入水印信息数据调整每个所述第一线要素对的方向,得到嵌入水印信息的矢量地理数据。
2.根据权利要求1所述的无损水印方法,其特征在于,所述获取水印信息之前还包括:生成水印信息;
所述生成水印信息包括:
利用随机数生成器生成第一二进制序列;
获取待嵌入的版权信息;
将所述第一二进制序列与所述版权信息进行映射得到第一映射函数并进行存储得到映射表;所述映射表用于版权信息的检验;
获取设定的密钥;
将所述密钥作为初始条件通过所述随机数生成器生成伪随机序列;
将所述第一二进制序列与所述伪随机序列进行异或运算,得到所述水印信息。
3.根据权利要求1所述的无损水印方法,其特征在于,所述计算每个所述第一线要素对的方向和抽象距离,具体包括:
每个所述第一线要素对均包括第一构造线和第二构造线,将第一线要素对中包括的两个线要素统称为两个构造线,将其中一个构造线称为第一构造线,另一个构造线称为第二构造线;
比较所述第一构造线和所述第二构造线的长度,得到比较结果;
当所述第一构造线大于所述第二构造线时,所述第一线要素对的方向为正向;
当所述第一构造线小于或等于所述第二构造线时,所述第一线要素对的方向为反向;
计算所述第一构造线的起点与所述第二构造线的起点之间的距离,得到所述抽象距离。
4.根据权利要求3所述的无损水印方法,其特征在于,所述根据每个所述第一线要素对对应的待嵌入水印信息数据调整每个所述第一线要素对的方向,得到嵌入水印信息的矢量地理数据,具体包括:
判断每个所述第一线要素对对应的待嵌入水印信息数据是否等于每个所述第一线要素对的方向,得到判断结果;
当所述判断结果为是时,所述第一线要素对对应的待嵌入水印信息数据为所述第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据;
当所述判断结果为否时,对所述第一线要素对的第一构造线和第二构造线进行逆序,使得每个所述第一线要素对的方向等于所述待嵌入水印信息数据,即所述第一线要素对对应的待嵌入水印信息数据为所述第一线要素对的嵌入水印信息,得到嵌入水印信息的矢量地理数据。
5.一种检测无损水印方法,其特征在于,包括:
获取待检测的矢量地理数据;
提取所述矢量地理数据的要素,所述要素包括:线要素、点要素和面要素;
根据所述要素将依次相邻的多个所述要素合并为一组,具体包括:
当所述要素为线要素时,将每两个所述线要素合并为一组;
当所述要素为点要素时,将每四个所述点要素抽象为两个第二线要素,每两个所述第二线要素合并为一组;
当所述要素为面要素时,将每四个所述面要素抽象为四个第二点要素,将四个所述第二点要素抽象为两个第三线要素,每两个所述第三线要素合并为一组;
将每组所述要素抽象为第二线要素对,得到第二线要素对集合;
计算每个所述第二线要素对的方向和抽象距离,第二线要素对的抽象距离为第二线要素对中包括的两个线要素之间的距离;计算两个线要素之间距离的方法包括:计算两个线要素的起点之间的距离,或计算两个线要素的终点之间的距离;
将每个所述第二线要素对的抽象距离通过第二映射函数进行映射,计算得到每个所述第二线要素对的索引位;
根据每个所述第二线要素对的方向,得到每个所述第二线要素对对应的嵌入水印信息数据;
根据每个所述第二线要素对对应的嵌入水印信息数据得到所述矢量地理数据中的嵌入水印信息;
将所述嵌入水印信息与伪随机序列进行异或运算,得到第二水印信息;
获取第一水印信息;利用任意一种随机数生成器,每次生成一个比特,直到生成一串长度为N的第一二进制序列;将生成的第一二进制序列作为第一水印信息,第一水印信息的长度为N;
将所述第二水印信息与所述第一水印信息进行相关检测,得到相关检测结果;
通过所述相关检测结果得到嵌入的版权信息。
6.根据权利要求5所述的检测无损水印方法,其特征在于,所述计算每个所述第二线要素对的方向和抽象距离,具体包括:
每个所述第二线要素对均包括第一构造线和第二构造线,将第二线要素对中包括的两个线要素统称为两个构造线,将其中一个构造线称为第一构造线,另一个构造线称为第二构造线;
比较所述第一构造线和所述第二构造线的长度,得到比较结果;
当所述第一构造线大于所述第二构造线时,所述第二线要素对的方向为正向;
当所述第一构造线小于或等于所述第二构造线时,所述第二线要素对的方向为反向;
计算所述第一构造线的起点与所述第二构造线的起点之间的距离,得到所述抽象距离。
7.根据权利要求6所述的检测无损水印方法,其特征在于,所述通过所述相关检测结果得到嵌入的版权信息,具体包括:
当所述相关检测结果为所述第二水印信息与所述水印信息相等时,根据映射表通过所述水印信息得到所述嵌入的版权信息;所述映射表用于存储随机数生成器生成的第一二进制序列与所述嵌入的版权信息进行映射得到的第一映射函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729294.4A CN110415156B (zh) | 2019-08-08 | 2019-08-08 | 一种无损水印方法及检测无损水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729294.4A CN110415156B (zh) | 2019-08-08 | 2019-08-08 | 一种无损水印方法及检测无损水印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110415156A CN110415156A (zh) | 2019-11-05 |
CN110415156B true CN110415156B (zh) | 2023-03-21 |
Family
ID=68366611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910729294.4A Active CN110415156B (zh) | 2019-08-08 | 2019-08-08 | 一种无损水印方法及检测无损水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110415156B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598764A (zh) * | 2020-05-07 | 2020-08-28 | 北京东方通科技股份有限公司 | 一种基于人工智能的大数据水印方法 |
CN114140307B (zh) * | 2021-11-29 | 2024-01-26 | 苏州科技大学 | 基于存储序列调制的矢量地图无损水印方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002232694A (ja) * | 2001-02-05 | 2002-08-16 | Matsushita Electric Ind Co Ltd | 電子透かしに関する透かし情報埋込装置及び透かし情報抽出装置 |
CN101877119A (zh) * | 2009-11-20 | 2010-11-03 | 南京师范大学 | 一种gis矢量数据水印嵌入与提取的数据格式自适应方法 |
CN105741221A (zh) * | 2015-09-16 | 2016-07-06 | 湖南大学 | Cad工程图可逆水印方法、水印嵌入方法和水印提取方法 |
CN106780287A (zh) * | 2017-01-23 | 2017-05-31 | 南京师范大学 | 基于矢量地理线数据组织特征的无损水印方法 |
CN107578366A (zh) * | 2017-09-18 | 2018-01-12 | 南京师范大学 | 一种水印信息的嵌入、检测方法及装置 |
-
2019
- 2019-08-08 CN CN201910729294.4A patent/CN110415156B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002232694A (ja) * | 2001-02-05 | 2002-08-16 | Matsushita Electric Ind Co Ltd | 電子透かしに関する透かし情報埋込装置及び透かし情報抽出装置 |
CN101877119A (zh) * | 2009-11-20 | 2010-11-03 | 南京师范大学 | 一种gis矢量数据水印嵌入与提取的数据格式自适应方法 |
CN105741221A (zh) * | 2015-09-16 | 2016-07-06 | 湖南大学 | Cad工程图可逆水印方法、水印嵌入方法和水印提取方法 |
CN106780287A (zh) * | 2017-01-23 | 2017-05-31 | 南京师范大学 | 基于矢量地理线数据组织特征的无损水印方法 |
CN107578366A (zh) * | 2017-09-18 | 2018-01-12 | 南京师范大学 | 一种水印信息的嵌入、检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于Personel Geodatabase的数字线划图水印技术研究;平宗玮等;《山东国土资源》;20131015;全文 * |
小数据量矢量地理数据水印算法;佟德宇 等;《测绘学报》;20181130;第47卷(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110415156A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peng et al. | Multipurpose watermarking for vector map protection and authentication | |
CN106780287B (zh) | 基于矢量地理线数据组织特征的无损水印方法 | |
CN104166955B (zh) | 基于保角变换图像哈希生成及图像篡改检测定位方法 | |
Wang et al. | Reversible fragile watermarking for locating tampered blocks in 2D vector maps | |
Cao et al. | Nonlinear scrambling-based reversible watermarking for 2D-vector maps | |
CN113129198B (zh) | 一种零水印生成方法、系统及版权的侵权比对方法、系统 | |
CN110415156B (zh) | 一种无损水印方法及检测无损水印方法 | |
CN105488434B (zh) | 一种基于标记的矢量地图完整性认证方法 | |
Lin et al. | A reversible watermarking for authenticating 2D vector graphics based on bionic spider web | |
Ren et al. | A lossless watermarking algorithm based on line pairs for vector data | |
CN103377457A (zh) | 一种矢量地理数据精确认证脆弱水印方法 | |
Wang et al. | RST invariant fragile watermarking for 2D vector map authentication | |
CN103971324B (zh) | 一种保护矢量地图数据版权的非对称水印方法 | |
CN112446814B (zh) | 一种定位篡改实体组的矢量地图数据脆弱水印方法 | |
Zhao et al. | RST transforms resistant image watermarking based on centroid and sector-shaped partition | |
Qiu et al. | Reversible watermarking algorithm of vector maps based on ECC | |
Liu et al. | Adaptive feature calculation and diagonal mapping for successive recovery of tampered regions | |
CN103377320B (zh) | 一种矢量地理数据选择性认证半脆弱水印方法 | |
CN116805069B (zh) | 轨迹数据零水印生成方法、检测方法及装置和存储介质 | |
CN106599727B (zh) | 一种矢量地图完整性认证方法 | |
Vybornova et al. | Method for Vector Map Protection based on using of a Watermark Image as a Secondary Carrier. | |
CN110349072B (zh) | 一种矢量地理数据水印嵌入和检测过程中的水印同步方法 | |
CN103377458B (zh) | 一种基于字节流的地理空间数据水印方法 | |
CN110288505B (zh) | 抗几何变换攻击的空域矢量地理空间数据数字水印方法 | |
Wang et al. | 2D vector map fragile watermarking with region location |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |