CN116362953B - 基于不可见字符的高精地图水印方法 - Google Patents
基于不可见字符的高精地图水印方法 Download PDFInfo
- Publication number
- CN116362953B CN116362953B CN202310621376.3A CN202310621376A CN116362953B CN 116362953 B CN116362953 B CN 116362953B CN 202310621376 A CN202310621376 A CN 202310621376A CN 116362953 B CN116362953 B CN 116362953B
- Authority
- CN
- China
- Prior art keywords
- watermark
- character
- characters
- sequence
- identifier
- 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 45
- 238000013507 mapping Methods 0.000 claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 150000001875 compounds Chemical class 0.000 claims abstract description 18
- 238000012937 correction Methods 0.000 claims abstract description 12
- 230000000739 chaotic effect Effects 0.000 claims abstract description 10
- 239000012634 fragment Substances 0.000 claims description 23
- 239000002131 composite material Substances 0.000 claims description 14
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 abstract description 3
- 238000011160 research Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开一种基于不可见字符的高精地图水印方法,首先建立不可见字符与比特字符、空格字符、十进制数字的一一映射关系。将水印字符与其所对应的位置相结合,在水印字符序列中加入海明码并转换成不可见字符构建出复合型水印字符序列。水印检测前,根据Logistic混沌映射对地图数据中的元素顺序进行置乱,然后根据置乱后的顺序嵌入复合型水印字符序列。水印检测时,对数据进行预处理,获取水印嵌入时的元素顺序,按照此顺序提取水印信息,然后根据水印中的海明码纠错码对水印中可能存在的错误进行纠正,纠正后剔除纠错码获取最终的水印信息。本发明可以在不改变数据可用性及高精度特性的条件下实现了水印信息的嵌入与检测。
Description
技术领域
本发明属于地理信息安全技术领域,更具体地,涉及一种基于不可见字符的高精地图水印方法。
背景技术
高精地图,通常又称为高度自动驾驶地图或高分辨率地图,是对二维导航电子地图的颠覆性升级,具有坐标精度更高、图层信息更丰富、道路内容更精细、实时动态信息与静态地图信息相结合的特点,广泛应用于自动驾驶领域。智能自动驾驶需要高精地图的支持,而高精度的特点使高精地图相较于普通导航地图具有更高的商业价值和保密需求,高精地图数据的泄密、盗用与非法传输不仅会影响自动驾驶领域的发展、损害企业的切实利益,还可能威胁到国家安全,因此亟需有效的技术方法对高精地图数据进行保护。
OpenDrive是当今国际主流的高精地图数据标准格式之一,其数据存储在扩展名为xodr的XML文件中,描述了自动驾驶应用的静态道路交通网络。本发明以OpenDrive高精地图为研究对象,存储此地图数据的xodr文件属于文本类型文件,因此OpenDrive格式下的高精地图数字水印可以参考常见的文本水印算法。
《基于ZIP文档格式的信息隐藏方法》(李兵兵,2011)、《WORD文档数字水印算法研究》(王志刚,2010)、《基于PDF文档结构的数字水印算法》(钟征燕,2012)分别基于ZIP、WORD、PDF文档结构与特有属性设计了相应的水印嵌入方法,均不适用于xodr文件数据。《Research on the Method of Text Information Hiding Based on XML》(Chen L,2013)设计的水印算法随适用于XML文件,但修改标识符会造成数据不可用。
以上算法均是基于文档结构的水印算法。《格式化文本水印性能评估基准研究》(陈青,2014),《改进行移编码的文本数字水印算法研究》(2014,李雪红)这两种算法利用变换行间距与字间距的方法嵌入水印,但仅适用于支持文本排版格式的数据。《基于正交编码的大数据纯文本水印方法》(李兆璨,2019),《不可见字符的文本安全隐藏算法研究》(陈旖旎,2019)这两种算法对不可见字符进行编码实现水印嵌入,但存在着鲁棒性不高的问题。
综上所述,现有文本水印算法多依赖于载体数据结构或格式调整进行水印嵌入,但xodr文件并不支持文档结构与格式的设置,且现有的基于XML文件特性与不可见字符的水印算法并未顾及OpenDrive格式高精地图数据的特性且存在着鲁棒性较差的问题。因此为了解决OpenDrive高精地图水印算法缺失的问题,本发明提出一种适用于OpenDrive格式下高精地图数据的数字水印算法,能够很好的填补这一板块的空白。
发明内容
提供了本发明以解决现有技术中存在的上述问题。因此,针对于高精地图数据在投入实际应用中安全性和共享性的双重需求,以及需要保证处理后的数据的高精度及无损可用性,提出了一种基于不可见字符的高精地图水印方法,在不改变数据可用性及高精度特性的条件下实现了水印信息的嵌入与检测。
根据本发明的第一方案,提供了一种基于不可见字符的高精地图水印方法,所述方法包括:
获取地图数据中的标识符集合,表示为I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,每个标识符包含其对应的属性值集合,表示为Ii=(A1,A2,A3,..A.n(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于Logistic映射对水印信息嵌入顺序进行置乱,所述映射表示为:
Xn+1=f(Xn,μ)=μXn(1-Xn)
其中,初始条件
利用映射产生的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为I′=(I1′,I2′,I3′,…Ii′),标识符所对应的置乱后属性值集合表示为Ii'=(A1',A'2,A3',...,A'n(i));
根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至数据的header标识符内容中;
在原始水印信息序列中加入水印比特对应的位置信息与校验码信息,得到复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度,wm[j]表示水印字符,j为水印字符的对应位置;
获取属性值集合I'中的属性值字段,基于不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,将各个水印字符wm[j]及其索引位置信息转换为不可见字符后插入至属性值字段末尾处,直至所有标识符对应的属性值集合遍历完毕;
通过如下方法得到复合型水印字符序列:
根据标识性信息生成明文字符串,并对所述明文字符串进行编码生成二进制水印信息字符序列W,其长度为N1,则W={w[i],0≤i≤N1},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
遍历集合WL,对每份字符串进行海明码编码,将加入校验码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格;
最终复合型水印字符序列为WM,包括位置信息字符与水印信息字符;其中位置信息字符通过二进制字符的对应位置l转换为字符表示,水印信息字符通过WLStr[l]表示。
进一步地,在所有标识符对应的属性值集合遍历完毕后,所述方法还包括水印检测。
进一步地,所述水印检测具体包括:
获取头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于初始条件X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合I′=(I1′,I2′,I3′,…Ii′),相应置乱后的属性值集合为Ii'=(A1',A'2,A3',...,A'n(i));
循环获取标识符属性值字段,检测属性值字段末尾是否包含指定的不可见字符:
若包含不可见字符,则根据不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,表示为:
WStr=value&index
式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息;
遍历完集合I'并进行升序排序,遍历完成获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...,WStrN×n(i)),逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值;
若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增,遍历完集合获得原始的复合水印字符序列WM;
按照海明码的纠错原理对WM包含的错误值进行纠错并将校验码剔除,确定最终的原始水印信息序列W。
根据本发明的第二技术方案,提供一种基于不可见字符的高精地图水印装置,所述装置包括:
获取单元,被配置为获取地图数据中的标识符集合,表示为I=(I1,I2,I3,...i.)I.,i∈[1.N],N为标识符集合的长度,每个标识符包含其对应的属性值集合,表示为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
第一置乱单元,被配置为基于映射对水印信息嵌入顺序进行置乱,所述映射表示为:
Xn+1=f(Xn,μ)=μXn(1-Xn)
其中,初始条件
第二置乱单元,被配置为利用映射产生的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为I=(I1′,I2′,I3′,…Ii′),标识符所对应的置乱后属性值集合表示为Ii'=(A1',A'2,A3',...,A'n(i));
第一转换单元,被配置为根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至数据的header标识符内容中;
序列生成单元,被配置为在原始水印信息序列中加入水印比特对应的位置信息与校验码信息,得到复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度,wm[j]表示水印字符,j为水印字符的对应位置;
第二转换单元,被配置为获取属性值集合I'中的属性值字段,基于不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,将各个水印字符wm[j]及其索引位置信息转换为不可见字符后插入至属性值字段末尾处,直至所有标识符对应的属性值集合遍历完毕;
所述序列生成单元被进一步配置为:
根据标识性信息生成明文字符串,并对所述明文字符串进行编码生成二进制水印信息字符序列W,其长度为N1,则W={w[i],0≤i≤N1},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
遍历集合WL,对每份字符串进行海明码编码,将加入校验码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格;
最终复合型水印字符序列为WM,包括位置信息字符与水印信息字符;其中位置信息字符通过二进制字符的对应位置l转换为字符表示,水印信息字符通过WLStr[l]表示。
进一步地,所述装置还包括检测单元,其被配置为检测水印。
进一步地,所述检测单元被进一步配置为:
获取头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于初始条件X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合I′=(I1′,I2′,I3′,…Ii′),相应置乱后的属性值集合为Ii'=(A1',A'2,A3',...,A'n(i));
循环获取标识符属性值字段,检测属性值字段末尾是否包含指定的不可见字符:
若包含不可见字符,则根据不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,表示为:
WStr=value&index
式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息;
遍历完集合I'并进行升序排序,遍历完成获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...,WStrN×n(i)),逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值;
若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增,遍历完集合获得原始的复合水印字符序列WM;
按照海明码的纠错原理对WM包含的错误值进行纠错并将校验码剔除,确定最终的原始水印信息序列W。
根据本发明的第三技术方案,提供一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行如上所述的方法。
根据本发明各个方案的基于不可见字符的高精地图水印方法,充分考虑了OpenDRIVE标准格式下高精地图数据的特性,基于不可见字符并与海明码技术相结合,使得本方法能够在保证数据可用性与数据精度的同时,较好的抵抗平移、旋转、缩放与裁剪攻击,完成水印信息的嵌入与检测。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所发明的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1是本发明复合型水印字符序列构建流程图。
图2是本发明水印嵌入流程图。
图3是本发明水印检测流程图。
图4是本发明方法的实验数据。
图5是使用本发明方法进行水印嵌入之后的数据。
图6是一种基于不可见字符的高精地图水印装置的结构图;
图7是一种基于不可见字符的高精地图水印装置在包括有检测单元时的构图。
具体实施方式
为使本领域技术人员更好的理解本发明的技术方案,下面结合附图和具体实施方式对本发明作详细说明。下面结合附图和具体实施例对本发明的实施例作进一步详细描述,但不作为对本发明的限定。本文中所描述的各个步骤,如果彼此之间没有前后关系的必要性,则本文中作为示例对其进行描述的次序不应视为限制,本领域技术人员应知道可以对其进行顺序调整,只要不破坏其彼此之间的逻辑性导致整个流程无法实现即可。
针对于高精地图数据在投入实际应用中安全性和共享性的双重需求,以及需要保证处理后的数据的高精度及无损可用性,提出了一种基于不可见字符的高精地图水印方法,在不改变数据可用性及高精度特性的条件下实现了水印信息的嵌入与检测。
该方法可以通过如下方式实现:
首先建立不可见字符与比特字符、空格字符、十进制数字的一一映射关系,如表1-3所示。
表1、不可见字符表
表2、不可见字符与比特字符和空格字符映射表
表3、不可见字符与十进制字符映射表
将水印字符与其所对应的位置相结合,在水印字符序列中加入海明码并转换成不可见字符构建出复合型水印字符序列。
水印检测前,根据Logistic混沌映射对地图数据中的元素顺序进行置乱,然后根据置乱后的顺序嵌入复合型水印字符序列。
水印检测时,对数据进行预处理,获取水印嵌入时的元素顺序,按照此顺序提取水印信息,然后根据水印中的海明码纠错码对水印中可能存在的错误进行纠正,纠正后剔除纠错码获取最终的水印信息。
本发明的基本思路:首先对Unicode不可见字符大量严格的筛选与测试选取了6个不可见字符,这些字符嵌入至OpenDRIVE数据中不会影响数据的正常使用且不影响高精地图的精度。对选取的不可见字符进行组合并建立其与比特字符、空格字符、十进制数字字符的一一映射关系。将水印字符与其所对应的位置相结合,在水印字符序列中加入海明码并转换为不可见字符构建出复合型水印字符序列。基于Logistic映射关系对xodr文件中的标识符集合与其对应的属性值集合顺序进行置乱,按置乱的顺序嵌入水印字符序列,并将映射关系的初始条件转换为不可见字符嵌入至头元素中,便于检测时获取;水印检测时,提取初始条件并对数据进行预处理,获取水印嵌入时的元素顺序,按照此顺序提取水印信息,然后根据水印中的海明码纠错码对水印中可能存在的错误进行纠正,纠正后剔除纠错码获取最终的水印信息。
基于如上基本思路,本发明基于不可见字符并结合海明码技术设计了适用于OpenDRIVE格式高精地图的水印方法,请结合图1-3所示,其步骤如下:
步骤一、复合型水印字符序列生成。
步骤1.1:将用户提供的标识性信息生成明文字符串,并对该明文字符串进行UTF-8编码生成二进制水印信息字符序列W,其长度为N,则W={w[i],0≤i≤N},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
步骤1.2:以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
步骤1.3:遍历集合WL,对每份字符串进行海明码编码。将加入海明码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格。
步骤1.4:设最终复合型水印字符序列为WM,由位置信息字符与水印信息字符组成。其中位置信息可由步骤1.3中的的l转换为字符表示,水印信息字符可由步骤1.3的中的WLStr[l]表示。因此WM可表示为:
WM=wmStr[index]=WLStr[l]&String(l),Index=0,1,2,...,L-1
式中&为字符串拼接操作,String为整型数字转字符串操作。
步骤二、水印嵌入。
步骤2.1:首先需要获取xodr地图数据中的标识符集合,为I=(I1,I2,I3,...IN),N为标识符集合的长度。其中每个标识符又包含其对应的属性值集合,表示为,为Ii=(A1,A2,A3,...An(i)),i∈[1.N],n(i)为标识符Ii对应的属性值集合的长度;
步骤2.2:为了保证水印嵌入顺序的随机性,预处理后基于典型的Logistic映射对水印信息嵌入顺序进行置乱。Logistic映射为Xn+1=f(Xn,μ)=μXn(1-Xn),为了使映射处于混沌状态,本算法取μ=4。初始条件式中N与n(i)均为正整数;
步骤2.3:通过Logistic生成的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为Ii'=(I1',I'2,I3',...,I'N),标识符所对应的置乱后属性值集合表示为Ii'=(A1',A'2,A3',...,A'n(i));
步骤2.4:根据header头文件标识符在xodr文件中有且必须只有一个实例的特性,根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至header头文件标识符中,便于水印检测时恢复至相应的嵌入顺序;
步骤2.5:设获得的原始水印信息序列W,根据本文复合型水印字符序列的生成过程,在序列W中加入水印比特对应的位置信息与校验码信息,最终生成复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度。
步骤2.6:读取属性值集合I'中的属性值字段,基于表2与表3的映射关系,将水印字符wm[j]及其对应位置转换为不可见字符后插入至属性值字段末尾处。重复上述嵌入操作直至所有标识符对应的属性值集合遍历完毕。
步骤三、水印检测。
步骤3.1:首先获取高精地图数据header头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,...IN),N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),i∈[1.N],n(i)为标识符Ii对应的属性值集合的长度;
步骤3.2:基于X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合Ii'=(I1',I'2,I3',...,I'N),相应置乱后的属性值集合为Ii'=(A1',A'2,A3',...,A'n(i));
步骤3.3:循环读取标识符属性值字段,检测属性值字段末尾是否包含算法指定的不可见字符。若包含不可见字符,则根据表2表3的映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,可表示为:WStr=value&index。式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息。
步骤3.4:遍历完集合I'并依据值进行升序排序,遍历完成可获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...WStrN×n)。逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值。基于海明码只能纠错但不能填充空缺值的特性,在分析过程中,若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增。遍历完集合获得原始的复合水印字符序列WM。
步骤3.5:按照海明码的纠错原理对WM可能包含的错误值进行纠错并将校验码剔除,从而确定最终的原始水印信息序列W。
本发明充分考虑了OpenDRIVE标准格式下高精地图数据的特性,基于不可见字符并与海明码技术相结合,使得本方法能够在保证数据可用性与数据精度的同时,较好的抵抗平移、旋转、缩放与裁剪攻击,完成水印信息的嵌入与检测。
下面本发明将集合具体的实验数据对本发明的进步性和可行性进行充分的说明。
如图4所示,为本发明实施例所采集的要应用于本发明的实验数据。本实施例选择OpenDrive官网提供的示例路网数据数据,共有41个道路元素,339个车道段元素,8个路口元素。针对高精地图数据水印信息生成、嵌入与检测过程,实现步骤如下:
步骤1.水印信息生成:
步骤一:获取需要嵌入的原始水印信息;
步骤二:将水印信息根据UTF-8编码转换为二进制编码组成的水印字符序列;
步骤三:在水印字符序列中添加各比特字符对应的位置信息;
步骤四:在水印字符序列中加入海明码纠错码,生成复合型水印字符序列。
步骤2.水印嵌入:
步骤一:根据数据中的元素个数生成Logistic映射的初始条件并将其转化为不可见字符嵌入至地图数据的头元素中;
步骤二:基于Logistic映射对数据中的标识符及其属性值顺序进行置乱;
步骤三:按照置乱后的顺序,将复合型水印字符序列多次嵌入至地图数据的标识符属性值中;
步骤3.水印检测:
步骤一:获取头元素中隐藏的Logistic映射的初始条件,并利用Logistic映射获取水印嵌入时的标识符及其属性值顺序;
步骤二:提取属性值中的复合型水印字符序列;
步骤三:利用序列海明码对其中可能产生的比特错误进行纠正,然后剔除海明码,获得原始的水印信息。
使用本发明方法进行水印嵌入之后的数据如图5所示。
本发明实施例提供一种基于不可见字符的高精地图水印装置,如图6所示,所述装置包括:
获取单元601,被配置为获取地图数据中的标识符集合,表示为I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,每个标识符包含其对应的属性值集合,表示为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
第一置乱单元602,被配置为基于映射对水印信息嵌入顺序进行置乱,所述映射表示为:
Xn+1=f(Xn,μ)=μXn(1-Xn)
其中,初始条件
第二置乱单元603,被配置为利用混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为Ii'=(I1',I'2,I3',...,I'N),标识符所对应的置乱后属性值集合表示为Ii'=(A1',A'2,A3',...,A'n(i));
第一转换单元604,被配置为根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至头文件标识符中;
序列生成单元605,被配置为在原始水印信息序列中加入水印比特对应的位置信息与校验码信息,得到复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度,wm[j]表示水印字符,j为水印字符的对应位置;
第二转换单元606,被配置为被配置为利用映射产生的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为I=(I1′,I2′,I3′,…Ii′),标识符所对应的置乱后属性值集合表示为Ii'=(A1',A'2,A3',...,A'n(i))。
在一些实施例中,所述序列生成单元被进一步配置为:
根据标识性信息生成明文字符串,并对所述明文字符串进行编码生成二进制水印信息字符序列W,其长度为N1,则W={w[i],0≤i≤N1},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
遍历集合WL,对每份字符串进行海明码编码,将加入校验码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格;
最终复合型水印字符序列为WM,包括位置信息字符与水印信息字符;其中位置信息字符通过二进制字符的对应位置l转换为字符表示,水印信息字符通过WLStr[l]表示。
在一些实施例中,如图7所示,所述装置还包括检测单元607,其被配置为检测水印。
在一些实施例中,所述检测单元被进一步配置为:
获取头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于初始条件X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合I′=(I1′,I2′,I3′,…Ii′),相应置乱后的属性值集合为Ii'=(A1',A'2,A3',...,A'n(i));
循环获取标识符属性值字段,检测属性值字段末尾是否包含指定的不可见字符:
若包含不可见字符,则根据不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,表示为:
WStr=value&index
式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息;
遍历完集合I'并进行升序排序,遍历完成获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...,WStrN×n(i)),逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值;
若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增,遍历完集合获得原始的复合水印字符序列WM;
按照海明码的纠错原理对WM包含的错误值进行纠错并将校验码剔除,确定最终的原始水印信息序列W。
需要说明的是,本实施例所提出的基于不可见字符的高精地图水印装置与在先阐述的基于不可见字符的高精地图水印方法属于同一技术思路,其具有相同的工作原理,并能起到同样的有益效果,此处不赘述。
本发明实施例还提供了一种存储有指令的非暂时性计算机可读介质,当指令由处理器执行时,执行根据本发明任一实施例所述的方法。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本发明的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本发明。这不应解释为一种不要求保护的发明的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的发明的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
Claims (7)
1.一种基于不可见字符的高精地图水印方法,其特征在于,所述方法包括:
获取地图数据中的标识符集合,表示为I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,每个标识符包含其对应的属性值集合,表示为n(i)为标识符Ii对应的属性值集合的长度;
基于Logistic映射对水印信息嵌入顺序进行置乱,所述映射表示为:
Xn+1=f(Xn,μ)=μXn(1-Xn)
其中,初始条件
利用映射产生的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为I′=(I′1,I′2,I′3,…I′i),标识符所对应的置乱后属性值集合表示为I′i=(A′1,A′2,A′3,...,A′n(i));
根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至数据的header标识符内容中;
在原始水印信息序列中加入水印比特对应的位置信息与校验码信息,得到复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度,wm[j]表示水印字符,j为水印字符的对应位置;
获取属性值集合I'中的属性值字段,基于不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,将各个水印字符wm[j]及其索引位置信息转换为不可见字符后插入至属性值字段末尾处,直至所有标识符对应的属性值集合遍历完毕;
通过如下方法得到复合型水印字符序列:
根据标识性信息生成明文字符串,并对所述明文字符串进行编码生成二进制水印信息字符序列W,其长度为N1,则W={w[i],0≤i≤N1},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
遍历集合WL,对每份字符串进行海明码编码,将加入校验码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格;
最终复合型水印字符序列为WM,包括位置信息字符与水印信息字符;其中位置信息字符通过二进制字符的对应位置l转换为字符表示,水印信息字符通过WLStr[l]表示。
2.根据权利要求1所述的方法,其特征在于,在所有标识符对应的属性值集合遍历完毕后,所述方法还包括水印检测。
3.根据权利要求2所述的方法,其特征在于,所述水印检测具体包括:
获取头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于初始条件X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合I′=(I′1,I′2,I′3,…I′i),相应置乱后的属性值集合为I′i=(A′1,A′2,A′3,...,A′n(i));
循环获取标识符属性值字段,检测属性值字段末尾是否包含指定的不可见字符:
若包含不可见字符,则根据不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,表示为:
WStr=value&index
式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息;
遍历完集合I'并进行升序排序,遍历完成获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...,WStrN×n(i)),逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值;
若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增,遍历完集合获得原始的复合水印字符序列WM;
按照海明码的纠错原理对WM包含的错误值进行纠错并将校验码剔除,确定最终的原始水印信息序列W。
4.一种基于不可见字符的高精地图水印装置,所述装置包括:
获取单元,被配置为获取地图数据中的标识符集合,表示为i∈[1.N],N为标识符集合的长度,每个标识符包含其对应的属性值集合,表示为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
第一置乱单元,被配置为基于映射对水印信息嵌入顺序进行置乱,所述映射表示为:
Xn+1=f(Xn,μ)=μXn(1-Xn)
其中,初始条件
第二置乱单元,被配置为利用映射产生的混沌序列对集合I与Ii进行置乱,置乱后的标识符集合表示为I=(I′1,I′2,I′3,…I′i),标识符所对应的置乱后属性值集合表示为I′i=(A′1,A′2,A′3,...,A′n(i));
第一转换单元,被配置为根据十进制字符与不可见字符的映射关系,将初始条件X0转换为不可见字符插入至数据的header标识符内容中;
序列生成单元,被配置为在原始水印信息序列中加入水印比特对应的位置信息与校验码信息,得到复合型水印字符序列WM={wm[j],j∈[0,m-1]},m表示水印字符序列的长度,wm[j]表示水印字符,j为水印字符的对应位置;
第二转换单元,被配置为获取属性值集合I'中的属性值字段,基于不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,将各个水印字符wm[j]及其索引位置信息转换为不可见字符后插入至属性值字段末尾处,直至所有标识符对应的属性值集合遍历完毕;
所述序列生成单元被进一步配置为:
根据标识性信息生成明文字符串,并对所述明文字符串进行编码生成二进制水印信息字符序列W,其长度为N1,则W={w[i],0≤i≤N1},w[i]表示值为0、1或空格的水印字符,i为水印字符的对应位置;
以空格为分隔符将W分成K份二进制字符串序列,存储于集合WL中,WL={WL[j],0≤j≤K},WL[j]表示单份二进制字符串序列;
遍历集合WL,对每份字符串进行海明码编码,将加入校验码后的二进制字符串集合WL转换为二进制字符序列WLStr,长度为L,则WLStr={WLStr[l],0≤l≤L},其中l表示二进制字符的对应位置,WLStr[l]值为0、1或空格;
最终复合型水印字符序列为WM,包括位置信息字符与水印信息字符;其中位置信息字符通过二进制字符的对应位置l转换为字符表示,水印信息字符通过WLStr[l]表示。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括检测单元,其被配置为检测水印。
6.根据权利要求5所述的装置,其特征在于,所述检测单元被进一步配置为:
获取头文件标识符中的初始条件X0与标识符集合I=(I1,I2,I3,......Ii),i∈[1.N],N为标识符集合的长度,其中单个标识符所对应的属性值集合为Ii=(A1,A2,A3,...An(i)),n(i)为标识符Ii对应的属性值集合的长度;
基于初始条件X0对标识符集合I进行伪随机置乱,获取符合水印嵌入顺序的标识符集合I′=(I′1,I′2,I′3,…I′i),相应置乱后的属性值集合为I′i=(A′1,A′2,A′3,...,A′n(i));
循环获取标识符属性值字段,检测属性值字段末尾是否包含指定的不可见字符:
若包含不可见字符,则根据不可见字符与比特字符和空格字符映射关系和不可见字符与十进制字符映射关系,通过逆向映射将属性值字段中的不可见字符还原为水印字符片段WStr,表示为:
WStr=value&index
式中&为字符串拼接操作,value值为0、1或空格,index表示由十进制数字组成的索引位置信息;
遍历完集合I'并进行升序排序,遍历完成获得水印字符片段集合,表示为WStrList=(WStr1,WStr2,WStr3,...,WStrN×n(i)),逐个分析集合中的水印字符片段,依据多数原则确定第index位的字符值;
若index位的字符值无法由多数原则确定或该index值与value值缺失,则将value赋值为0,index值由前一位已确定的位置信息进行递增,遍历完集合获得原始的复合水印字符序列WM;
按照海明码的纠错原理对WM包含的错误值进行纠错并将校验码剔除,确定最终的原始水印信息序列W。
7.一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行根据权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310621376.3A CN116362953B (zh) | 2023-05-30 | 2023-05-30 | 基于不可见字符的高精地图水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310621376.3A CN116362953B (zh) | 2023-05-30 | 2023-05-30 | 基于不可见字符的高精地图水印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116362953A CN116362953A (zh) | 2023-06-30 |
CN116362953B true CN116362953B (zh) | 2023-08-01 |
Family
ID=86928527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310621376.3A Active CN116362953B (zh) | 2023-05-30 | 2023-05-30 | 基于不可见字符的高精地图水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362953B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034220B (zh) * | 2023-10-10 | 2024-01-05 | 北京安华金和科技有限公司 | 一种数字水印处理方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769061B1 (en) * | 2000-01-19 | 2004-07-27 | Koninklijke Philips Electronics N.V. | Invisible encoding of meta-information |
CN102547297A (zh) * | 2012-02-28 | 2012-07-04 | 中国传媒大学 | 基于dc系数的mpeg2视频水印实现方法 |
CN103646195A (zh) * | 2013-11-27 | 2014-03-19 | 南京师范大学 | 一种面向版权保护的数据库水印方法 |
CN110084733A (zh) * | 2019-04-19 | 2019-08-02 | 中国科学院自动化研究所 | 文本图像水印的嵌入方法及系统、提取方法及系统 |
CN110457873A (zh) * | 2018-05-08 | 2019-11-15 | 中移(苏州)软件技术有限公司 | 一种水印嵌入与检测方法及装置 |
CN111966974A (zh) * | 2020-08-18 | 2020-11-20 | 哈尔滨工业大学(威海) | 一种安全可逆的关系数据库版权保护技术 |
-
2023
- 2023-05-30 CN CN202310621376.3A patent/CN116362953B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769061B1 (en) * | 2000-01-19 | 2004-07-27 | Koninklijke Philips Electronics N.V. | Invisible encoding of meta-information |
CN102547297A (zh) * | 2012-02-28 | 2012-07-04 | 中国传媒大学 | 基于dc系数的mpeg2视频水印实现方法 |
CN103646195A (zh) * | 2013-11-27 | 2014-03-19 | 南京师范大学 | 一种面向版权保护的数据库水印方法 |
CN110457873A (zh) * | 2018-05-08 | 2019-11-15 | 中移(苏州)软件技术有限公司 | 一种水印嵌入与检测方法及装置 |
CN110084733A (zh) * | 2019-04-19 | 2019-08-02 | 中国科学院自动化研究所 | 文本图像水印的嵌入方法及系统、提取方法及系统 |
CN111966974A (zh) * | 2020-08-18 | 2020-11-20 | 哈尔滨工业大学(威海) | 一种安全可逆的关系数据库版权保护技术 |
Non-Patent Citations (3)
Title |
---|
A Novel Zero-watermark Algorithm in Image Subspace Domain;Yufeng Hu等;《2007 IEEE International Conference on Control and Automation》;第2744-2748页 * |
地理信息安全技术研究进展与展望;朱长青等;《测绘学报》;第51卷(第6期);第1017-1028页 * |
联合变换域上强化加密的文本图像水印技术研究;王玉莹;《中国优秀硕士学位论文全文数据库》;信息科技辑 I138-132 * |
Also Published As
Publication number | Publication date |
---|---|
CN116362953A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Reference sharing mechanism for watermark self-embedding | |
Al-Nofaie et al. | Utilizing pseudo-spaces to improve Arabic text steganography for multimedia data communications | |
CN100447812C (zh) | 一种文档数字水印嵌入方法 | |
US20040001606A1 (en) | Watermark fonts | |
CN100550653C (zh) | 一种可变长度结构化信息的编码和解码方法 | |
CN116362953B (zh) | 基于不可见字符的高精地图水印方法 | |
US20030026453A1 (en) | Repetition coding of error correction coded messages in auxiliary data embedding applications | |
CN110913092B (zh) | 一种加密图像可逆信息隐藏方法 | |
CN116385250B (zh) | 基于鲁棒水印与脆弱水印的轨迹数据双重水印方法 | |
CN112016061A (zh) | 一种基于鲁棒水印技术的Excel文档数据保护方法 | |
CN110770725B (zh) | 数据处理方法及装置 | |
Yin et al. | High capacity reversible steganography in encrypted images based on feature mining in plaintext domain | |
CN115481412A (zh) | 一种基于拉格朗日插值法的数据库水印方法 | |
Govada et al. | Text steganography with multi level shielding | |
Cao et al. | Approaches to obtaining fingerprints of steganography tools which embed message in fixed positions | |
Shreelekshmi et al. | Cover image preprocessing for more reliable LSB replacement steganography | |
CN111382398A (zh) | 信息处理、隐藏信息解析和嵌入的方法、装置及设备 | |
Lin et al. | A data hiding scheme on word documents using multiple-base notation system | |
Shreelekshmi et al. | Preprocessing Cover Images for More Secure LSB Steganography | |
Zhou et al. | A QR data hiding method based on redundant region and BCH | |
Saber et al. | Steganography in MS excel document using unicode system characteristics | |
Cheng et al. | A robust text digital watermarking algorithm based on fragments regrouping strategy | |
Hemida et al. | Block-DCT based alterable-coding restorable fragile watermarking scheme with superior localization | |
CN115455966B (zh) | 安全字库构建方法及其安全码提取方法 | |
El_Haggar et al. | Blind watermarking technique for relational database |
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 |