CN105427232A - 一种保持方向关系的矢量地图可逆信息隐藏方法 - Google Patents

一种保持方向关系的矢量地图可逆信息隐藏方法 Download PDF

Info

Publication number
CN105427232A
CN105427232A CN201510883460.8A CN201510883460A CN105427232A CN 105427232 A CN105427232 A CN 105427232A CN 201510883460 A CN201510883460 A CN 201510883460A CN 105427232 A CN105427232 A CN 105427232A
Authority
CN
China
Prior art keywords
sequence
coordinate
coordinates
watermark
prime
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.)
Granted
Application number
CN201510883460.8A
Other languages
English (en)
Other versions
CN105427232B (zh
Inventor
王娜娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Normal University
Original Assignee
Jiangsu Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Normal University filed Critical Jiangsu Normal University
Priority to CN201510883460.8A priority Critical patent/CN105427232B/zh
Publication of CN105427232A publication Critical patent/CN105427232A/zh
Application granted granted Critical
Publication of CN105427232B publication Critical patent/CN105427232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种保持方向关系的矢量地图可逆信息隐藏方法。包括如下步骤:获取顶点坐标;顶点坐标排序;有序序列坐标分段;计算段的边界;获取段的扩展坐标序列,嵌入水印;获取有序含水印坐标序列;获取含水印坐标;水印提取及无损恢复。本发明对各坐标轴顶点坐标排序并分段,利用段的边界坐标扩大嵌入容量,依据矢量地图的精度误差容限设置嵌入参数,通过设定水印嵌入条件,使水印嵌入过程不改变各坐标轴的顶点坐标相对位置,保持矢量地图图元方向关系的同时,具有较好不可见性;另一方面该算法在水印提取后,无损恢复矢量地图原始数据,能够有效确保矢量地图的精确使用。

Description

一种保持方向关系的矢量地图可逆信息隐藏方法
技术领域
本发明涉及地理信息科学、信息隐藏领域,具体是一种保持方向关系的矢量地图可逆信息隐藏方法。
背景技术
随着因特网和地理信息处理软件的出现,人们能够更快捷、方便的传播和编辑空间信息。同时,这也使得矢量地图面临版权保护、来源跟踪、篡改鉴别等一系列数据安全问题。矢量地图信息隐藏技术是一种有效保护矢量地图数据安全的前沿技术,它是在不影响矢量地图可用性的前提下,将秘密信息即水印隐藏在其中,并在需要时利用一定的检测方法将其提取出来的方法。可逆信息隐藏技术具有在精确提取秘密信息的同时,无失真地恢复原始数据的特性。这种特性对精确描述地理信息的矢量地图具有很高的适用性。
近年来,信息隐藏技术已在图像、视频,音频以及文本数据领域取得了相当多的研究成果。对矢量地图信息隐藏技术的研究逐步趋于成熟,但在矢量地图可逆信息隐藏技术方面,人们取得的成果还比较少。Voigt等人于2004年首先给出了一种用于二维矢量数据的可逆水印算法。该算法通过更改8个顶点的整数DCT系数完成水印信息的嵌入,并在提取水印信息的同时无损恢复原始矢量地图数据。这种方法能灵活调整隐藏容量以满足不同的应用需求。但是这种算法在变换域实现,不容易控制水印的嵌入给二维矢量数据带来的扰动。Wang等人基于Tian的差值扩大思想提出了两种二维矢量地图的可逆水印算法。一种算法通过直接改变相邻坐标的差值嵌入水印;另外一种方法通过改变顶点间曼哈顿距离的差值嵌入水印。这两种方法简单易于实现,但由于嵌入水印时没有考虑矢量地图的形状特征,使得含水印矢量地图在放大的状态下具有不自然的外形特征。周璐等人提出了一种基于差值直方图的矢量地图可逆水印算法。该方案能够较好地保持矢量地图形状特征,但嵌入容量不足。钟尚平等人提出一种采用复合整数变换差值扩大法以提高水印信息的透明性和水印嵌入容量的矢量地图可逆水印算法。这种方法在嵌入水印时充分考虑矢量地图图元的形状特征,有较好的水印嵌入容量,但并不适用于点图元。Cao等人给出了通过改变中间值和平均值的关系迭代嵌入水印信息的方法。该方法的嵌入容量较高,但多次迭代嵌入水印后,含水印矢量地图质量可能不够高。Wang等人提出一种通过量化坐标的两个虚拟坐标之间的距离嵌入水印的方法。该方案具有较高的嵌入容量和较好的不可见性,但由于向一个顶点嵌入水印时,并没有考虑该顶点和其他顶点间的方向关系,该方案无法保持图元的方向关系。这也是上述矢量地图可逆信息隐藏方法的共同缺点。例如,水印嵌入之前,图元A位于图元B的正南方,但嵌入水印后,图元A位于图元B的西南方。这种图元间方向关系的改变可能会引起第三方的注意,最终导致隐藏信息的破坏或者非法获取。
综上所述,虽然人们目前提出了一些用于矢量地图可逆信息隐藏方法,试图在传递秘密信息的同时,恢复原始数据,保证矢量地图原始数据的精确使用,但这些方法在保持图元方向关系、实现信息安全传输方面还存在不足。另外,专利申请号2013102366569,名称为“一种基于LSD平面的矢量地图可逆信息隐藏方法”;专利授权公告号CN102110281B,名称为“一种针对shape点图层数据的差值扩展水印嵌入与提取方法”;专利授权公告号CN101604440B,名称为“基于空间特征的矢量地图可逆水印处理方法”的中国专利文件中也涉及矢量地图的可逆信息隐藏问题,但本专利申请采用方法不同,都不能保持图元间的方向关系。
美国专利库中的“Reversiblewatermarkingusingexpansion,ratecontrolanditerativeembedding”,与本专利申请针对内容不同,具体方法也不同。
发明内容
本发明提出一种保持方向关系的矢量地图可逆信息隐藏方法,一方面该方法对各坐标轴顶点坐标排序并分段,利用段的边界坐标扩大嵌入容量,依据矢量地图的精度误差容限设置嵌入参数,通过设定水印嵌入条件,使水印嵌入过程不改变各坐标轴的顶点坐标相对位置,保持矢量地图图元方向关系的同时,具有较好不可见性;另一方面该算法在水印提取后,无损恢复矢量地图原始数据,能够有效确保矢量地图的精确使用。实验结果表明该方案保持图元方向关系,具有较好的不可见性和较高的嵌入容量,是一种用于矢量地图可逆信息隐藏的实用算法。矢量地图图元(点图元、线图元和面图元)是由大量密集的顶点按照特定的顺序排列而成的,地图数据就是这些顶点的2维坐标序列。矢量地图可逆信息隐藏技术是一种传递秘密信息的重要手段,已有的矢量地图可逆信息隐藏技术不能在兼顾高嵌入容量和不可见性的同时,保持图元的方向关系。针对上述问题,本发明提出一种保持方向关系的矢量地图可逆信息隐藏方法,包括以下步骤:
(1)获取顶点坐标;
顺次扫描矢量地图顶点,获取顶点坐标序列V={vj(xj,yj)|j=1,2,...,n},vj表示顶点序列V中的第j个顶点,xj和yj分别表示顶点vj的x坐标和y坐标,n表示序列V中的顶点数目,将X={xj|j=1,2,…,n]}和Y={yj|j=1,2,…,n}分别记为与坐标序列V对应的x坐标序列和y坐标序列,将xmax和xmin分别记为序列X中坐标的最大值和最小值,ymax和ymin分别记为序列Y中坐标的最大值和最小值;
(2)顶点坐标排序;
按照升序,将步骤(1)中序列X的坐标排序,得到有序序列 X s = { x j s | j = 1 , 2 , ... , n } ( x t s ≤ x t + 1 s ≤ x t + 2 s , t = 1 , 2 , ... , n - 2 ) , 表示序列X中第j个坐标;
(3)有序序列坐标分段;
将步骤(2)中有序序列Xs的坐标平均分为Dx(Dx≥1)段,将划分的第i(i=0,1,…,Dx–1)段记为Si,每段的长度记为lx,将段Si对应的坐标序列记为 X i s = { x i , j s | j = 0 , 1 , ... , n i - 1 } ( 0 ≤ n i ≤ n ) , 表示序列的第j个坐标,ni表示序列的坐标数目;
(4)计算段的边界;
为步骤(3)的每个段Si(i=0,1,…,Dx–1)计算定义该段范围的左端点坐标和右端点坐标将计算得到称为Si的边界坐标;
(5)获取段的扩展坐标序列;
对于步骤(3)的每个段Si(i=0,1,…,Dx–1),将其边界坐标作为第一个坐标,作为最后一个坐标,加入到其对应的坐标序列中,得到段Si的扩展坐标序列 X i a = { s i l , x i , 0 s , x i , 1 s , ... , x i , n i - 1 s , s i r } = { x i , j a | j = 0 , 1 , ... , n i + 1 } ( x i , t a ≤ x i , t + 1 a ≤ x i , t + 2 a , t = 0 , 1 , ... , n i - 1 ) , 表示序列的第j个坐标;
(6)嵌入水印;
在步骤(5)的每个扩展坐标序列的eligible顶点中嵌入水印,嵌入水印后,得到含水印坐标序列 表示序列的第j个坐标,由于嵌入方法不改变坐标序列的坐标相对顺序,仍然为有序坐标序列,即 x i , t a ′ ≤ x i , t + 1 a ′ ≤ x i , t + 2 a ′ ( t = 0 , 1 , ... , n i - 1 ) , x i , 0 a = x i , 0 a ′ , 中去除得到有序坐标序列对应的含水印序列 X i s ′ = { x i , 1 a ′ , x i , 2 a ′ , ... , x i , n i a ′ } = { x i , j s ′ | j = 0 , 1 , ... , n i - 1 } ( x i , t s ′ ≤ x i , t + 1 s ′ ≤ x i , t + 2 s ′ , t = 0 , 1 , ... , n i - 3 ) , 表示序列的第j个坐标;
(7)获取有序含水印坐标序列;
按照升序,将步骤(6)的含水印序列顺次连接,得到有序坐标序列Xs对应的含水印坐标序列 X s ′ = { x j s ′ | j = 1 , 2 , ... , n } ( x t s ′ ≤ x t + 1 s ′ ≤ x t + 2 s ′ , t = 1 , 2 , ... , n - 2 ) , 表示序列的第j个坐标;
(8)获取含水印坐标;
依据步骤(2)中序列X和序列Xs的一一映射关系,通过调整含水印坐标序列Xs'的坐标位置,得到含水印坐标序列X'={xj'|j=0,1,…,n–1},xj'表示序列X'的第j个坐标;
(9)获取含水印矢量地图;
利用步骤(2)-(8),在顶点坐标序列V的y坐标中嵌入水印后,得到含水印顶点坐标序列V={vj'(xj',yj')|j=1,2,...,n},其中vj'表示V'的第j个顶点,yj'表示顶点vj'的y坐标;
(10)水印提取及无损恢复;
依据嵌入参数,提取含水印矢量地图水印信息并恢复其原始数据;具体步骤如下:
(10.1)获取含水印顶点坐标;
依据步骤(1),获取含水印矢量地图顶点坐标序列V={vj'(xj',yj')|j=1,2,....,n]}及与之对应的含水印x坐标序列X'={xj'|j=1,2,…,n}和含水印y坐标序列Y'={yj'|j=1,2,…,n};其中,vj'表示顶点序列V'的第j个顶点,xj'和yj'分别表示顶点vj'的x坐标和y坐标,n表示序列V'的顶点数目;将xmax'和xmin'分别记为序列X'中坐标的最大值和最小值,将ymax'和ymin'分别记为序列Y'中坐标的最大值和最小值;
(10.2)含水印顶点坐标排序;
依据步骤(2),将序列X'的坐标排序,得到含水印坐标序列Xs';
(10.3)含水印有序序列坐标分段;
依据步骤(3),将xmax'和xmin'之间的距离平均分为Dx'(Dx'≥1)段,每段的长度为lx',并计算段Si'(i=0,1,…,Dx'–1)对应的含水印坐标序列记为
(10.4)计算段的边界;
依据步骤(4),计算每个段Si'(i=0,1,…,Dx'–1)的边界坐标为段Si'的左端点坐标,为段Si'的右端点坐标;
(10.5)获取段的含水印扩展坐标序列;
依据步骤(5),对于每个段Si'(i=0,1,…,Dx'–1),将其边界坐标分别作为第一个坐标和最后一个坐标,加入到其对应的含水印坐标序列中,得到段Si'的含水印扩展坐标序列
(10.6)提取水印和恢复原始数据;
从每个含水印扩展坐标序列的eligible坐标中提取水印并恢复原始数据,得到恢复数据的扩展坐标序列从序列中去除第一个坐标和最后一个坐标,得到有序坐标序列
(10.7)获取恢复数据的有序坐标序列;
按照升序,将每段对应的有序坐标序列顺次连接,得到恢复数据的有序坐标序列Xs
(10.8)获取原始坐标序列;
利用本步骤b中序列X'和序列Xs'的一一映射关系,通过调整恢复数据的有序坐标序列Xs的坐标位置,得到含水印坐标序列X;
(10.9)恢复矢量地图原始数据;
利用本步骤的b-h,提取含水印y坐标序列Y'中水印信息并恢复其原始数据,最终得到原始顶点坐标序列V,恢复矢量地图原始数据。
进一步的,所述的每段的长度lx的计算方法为:
lx=(xmax-xmin)/Dx
Dx的取值需满足以下条件,
D x ≥ ( x m a x - x min ) / ( 2 τ )
其中,τ为矢量地图的精度误差容限;假设序列Xs的第j个坐标(j=1,2,…,n)划分到段中,该坐标所属段的索引值的计算方法为:
进一步的,每个段Si(i=0,1,…,Dx–1)的左端点坐标和右端点坐标的计算方法为:
s i l = x m i n + i × l x s i r = x min + ( i + 1 ) × l x
进一步的,若序列中三个相邻的坐标满足以下关系,则称为一个eligible坐标,
x i , t a < x i , t + 1 a < x i , t + 2 a .
进一步的,将坐标视为一个间隔每个间隔中嵌入的水印比特数目为c(c=1,2,…),所述的在中嵌入水印w(0≤w<2c)的具体步骤如下:
(6.1)计算间隔Qi,t+1的参数ri,t+1
r i , t + 1 = 0 i f x i , t + 1 a < ( x i , t a + x i , t + 2 a ) / 2 r i , t + 1 = 1 i f x i , t + 1 a &GreaterEqual; ( x i , t a + x i , t + 2 a ) / 2
(6.2)将间隔Qi,t+1平均分为2c+1个子间隔,计算每个子间隔的长度li,t+1
l i , t + 1 = ( x i , t + 2 a - x i , t a ) / 2 c + 1
(6.3)计算坐标对应的含水印坐标所在的子间隔的索引值si,t+1(0≤si,t+1<2c+1),
si,t+1=2c×ri,t+1+w
(6.4)将坐标移动至第si,t+1个子间隔,得到含水印坐标
x i , t + 1 a &prime; = x i , t a + s i , t + 1 &times; l i , t + 1 + h + m
其中,
m = &kappa; ( x i , t + 2 a - x i , t a ) / 2 &times; ( l i , t + 1 - 2 h ) &kappa; = x i , t + 1 a - ( 1 - r i , t + 1 ) &times; x i , t a - r i , t + 1 &times; ( x i , t a + x i , t + 2 a ) / 2 h = 5 &times; 10 - ( q + 1 )
q(q≥0)表示浮点数的存储精度。
进一步的,所述的从序列的含水印坐标中提取水印w和恢复原始数据的具体步骤如下:
(10.6.1)依据步骤(6.1)的公式,计算含水印间隔的参数ri,t+1
(10.6.2)依据步骤(6.2)的公式,将间隔Qi,t+1'平均分为2c+1个子间隔,计算每个子间隔的长度li,t+1
(10.6.3)计算间隔Qi,t+1'的参数si,t+1
(10.6.4)提取水印信息w,
w=si,t+1-ri,t+1×2c
(10.6.5)计算对应的原始坐标
x i , t + 1 a = ( 1 - r i , t + 1 ) &times; x i , t a &prime; + r i , t + 1 &times; ( x i , t a &prime; + x i , t + 2 a &prime; ) / 2 + m &prime;
其中,
m &prime; = ( x i , t + 2 a &prime; - x i , t a &prime; ) / 2 l i , t + 1 - 2 h &times; ( x i , t + 1 a &prime; - x i , t a &prime; - s i , t + 1 &times; l i , t + 1 - h ) .
本发明一方面该方法对各坐标轴顶点坐标排序并分段,利用段的边界坐标扩大嵌入容量,依据矢量地图的精度误差容限设置嵌入参数,通过设定水印嵌入条件,使水印嵌入过程不改变各坐标轴的顶点坐标相对位置,保持矢量地图图元方向关系的同时,具有较好不可见性;另一方面该算法在水印提取后,无损恢复矢量地图原始数据,能够有效确保矢量地图的精确使用。本发明具有以下优点:
本发明对各坐标轴顶点坐标排序并分段,利用段的边界坐标提供更多的水印嵌入空间,能够获得较高的嵌入容量,实现大数据量的信息隐藏;
本发明依据矢量地图的精度误差容限设置嵌入参数,能够有效控制水印嵌入给矢量地图带来的扰动,保证含水印矢量地图质量;
本发明通过设定水印嵌入条件,使水印嵌入过程不改变各坐标轴的顶点坐标相对位置,能够保持矢量地图图元方向关系,更隐秘的隐藏信息;
本发明在提取水印信息后,无损恢复矢量地图原始数据,有效秘密信息的同时,能够确保高保真场合下矢量地图数据的精确使用。
附图说明
图1保持方向关系的矢量地图可逆信息隐藏方法流程图。
图2嵌入水印前的矢量地图(交通地图)。
图3嵌入水印后的矢量地图(交通地图)。
图4提取水印后恢复数据的矢量地图(交通地图)。
具体实施方式
下面结合附图和实例对本发明技术方案做进一步的描述:
如图1所示,本发明保持方向关系的矢量地图可逆信息隐藏方法流程图,该方法总体分为两个方面:A、矢量地图水印嵌入算法;B、矢量地图水印提取及数据恢复算法。
A、矢量地图水印嵌入算法,步骤如下:
(1)获取顶点坐标;
顺次扫描矢量地图顶点,获取顶点坐标序列V,
V={vj(xj,yj)|j=1,2,...,n}
其中,vj表示顶点序列V的第j个顶点,xj和yj分别表示顶点vj的x坐标和y坐标,n表示序列V的顶点数目。
将X={xj|j=1,2,..,n}和Y={yj|j=1,2,…,n}分别记为与坐标序列V对应的x坐标序列和y坐标序列。将xmax和xmin分别记为序列X中坐标的最大值和最小值,将ymax和ymin分别记为序列Y中坐标的最大值和最小值。
本方法分别在顶点x坐标和y坐标中嵌入水印。由于在顶点x坐标和y坐标中嵌入水印的方法相同,下面将以顶点坐标x坐标为例介绍嵌入方法。
(2)顶点坐标排序;
按照升序,将步骤(1)中序列X的坐标排序,得到有序序列 X s = { x j s | j = 1 , 2 , ... , n } ( x t s &le; x t + 1 s &le; x t + 2 s , t = 1 , 2 , ... , n - 2 ) , 表示序列X的第j个坐标。
(3)有序序列坐标分段;
将步骤(2)中有序序列Xs的坐标平均分为Dx(Dx≥1)段。将划分的第i(i=0,1,…,Dx–1)段记为Si,每段的长度记为lx。lx的计算方法为:
lx=(xmax-xmin)/Dx
Dx的取值需满足以下条件,
D x &GreaterEqual; ( x m a x - x min ) / ( 2 &tau; )
其中,τ为矢量地图的精度误差容限。
假设序列Xs的第j个坐标(j=1,2,…,n)划分到段 中,该坐标所属段的索引值的计算方法为:
将段Si对应的坐标序列记为 X i s = { x i , j s | j = 0 , 1 , ... , n i - 1 } ( 0 &le; n i &le; n ) , 表示序列的第j个坐标,ni表示序列的坐标数目。
(4)计算段的边界;
为步骤(3)的每个段Si(i=0,1,…,Dx–1)计算定义该段范围的左端点坐标和右端点坐标
s i l = x m i n + i &times; l x s i r = x min + ( i + 1 ) &times; l x
将本步骤中计算得到的坐标,即称为Si的边界坐标。
(5)获取段的扩展坐标序列;
对于步骤(3)的每个段Si(i=0,1,…,Dx–1),将其边界坐标作为第一个坐标,作为最后一个坐标,加入到其对应的坐标序列中,得到段Si的扩展坐标序列 X i a = { s i l , x i , 0 s , x i , 1 s , ... , x i , n i - 1 s , s i r } = { x i , j a | j = 0 , 1 , ... , n i + 1 } ( x i , t a &le; x i , t + 1 a &le; x i , t + 2 a , t = 0 , 1 , ... , n i - 1 ) , 表示序列的第j个坐标。
(6)嵌入水印;
在步骤(5)的每个扩展坐标序列的eligible坐标中嵌入水印。若序列中三个相邻的坐标满足以下关系,则称为一个eligible坐标,
x i , t a < x i , t + 1 a < x i , t + 2 a
将坐标视为一个间隔每个间隔中嵌入的水印比特数目为c(c=1,2,…),在中嵌入水印w(0≤w<2c)的具体步骤如下:
a.计算间隔Qi,t+1的参数ri,t+1
r i , t + 1 = 0 i f x i , t + 1 a < ( x i , t a + x i , t + 2 a ) / 2 r i , t + 1 = 1 i f x i , t + 1 a &GreaterEqual; ( x i , t a + x i , t + 2 a ) / 2
b.将间隔Qi,t+1平均分为2c+1个子间隔,计算每个子间隔的长度li,t+1
l i , t + 1 = ( x i , t + 2 a - x i , t a ) / 2 c + 1
c.计算坐标对应的含水印坐标所在的子间隔的索引值si,t+1(0≤si,t+1<2c+1),
si,t+1=2c×ri,t+1+w
d.将坐标移动至第si,t+1个子间隔,得到含水印坐标
x i , t + 1 a &prime; = x i , t a + s i , t + 1 &times; l i , t + 1 + h + m
其中,
m = &kappa; ( x i , t + 2 a - x i , t a ) / 2 &times; ( l i , t + 1 - 2 h ) &kappa; = x i , t + 1 a - ( 1 - r i , t + 1 ) &times; x i , t a - r i , t + 1 &times; ( x i , t a + x i , t + 2 a ) / 2 h = 5 &times; 10 - ( q + 1 )
q(q≥0)表示浮点数的存储精度。
嵌入水印后,得到含水印坐标序列 表示序列的第j个坐标。由于嵌入方法不改变坐标序列的坐标相对顺序,仍然为有序坐标序列,即 x i , t a &prime; &le; x i , t + 1 a &prime; &le; x i , t + 2 a &prime; ( t = 0 , 1 , ... , n i - 1 ) , x i , 0 a = x i , 0 a &prime; , 中去除得到有序坐标序列对应的含水印序列 X i s &prime; = { x i , 1 a &prime; , x i , 2 a &prime; , ... , x i , n i a &prime; } = { x i , j s &prime; | j = 0 , 1 , ... , n i - 1 } ( x i , t s &prime; &le; x i , t + 1 s &prime; &le; x i , t + 2 s &prime; , t = 0 , 1 , ... , n i - 3 ) , 表示序列的第j个坐标。
(7)获取有序含水印坐标序列;
按照升序,将步骤(6)的含水印序列顺次连接,得到有序坐标序列Xs对应的含水印坐标序列 X s &prime; = { x j s &prime; | j = 1 , 2 , ... , n } ( x t s &prime; &le; x t + 1 s &prime; &le; x t + 2 s &prime; , t = 1 , 2 , ... , n - 2 ) , 表示序列Xs'的第j个坐标。
(8)获取含水印坐标;
依据步骤(2)中序列X和序列Xs的一一映射关系,通过调整含水印坐标序列Xs'的坐标位置,得到含水印坐标序列X'={xj'|j=0,1,…,n–1},xj'表示序列X'的第j个坐标。
(9)获取含水印矢量地图;
利用步骤(2)-(8),在顶点坐标序列V的y坐标中嵌入水印后,得到含水印顶点坐标序列V={vj'(xj',yj')|j=1,2,...,n},其中vj'表示V'的第j个顶点,yj'表示顶点vj'的y坐标。
由于该水印嵌入过程不改变x顶点坐标序列和y顶点坐标序列的相对顺序,各顶点的相对位置在水印嵌入后保持不变,能够保持图元间的方向关系;由于利用了段的边界坐标获取更多的eligible坐标,扩大了嵌入容量。如图2-3所示,为水印嵌入前后矢量地图对比情况,其中图2为原始矢量地图,图3为嵌入水印后的情况。方向关系发生改变的图元对数为0。当嵌入参数c=1时,嵌入容量为1.363bit/vertex。
B、矢量地图水印提取及数据恢复算法
(10)水印提取及无损恢复;
依据嵌入参数,提取含水印矢量地图水印信息并恢复其原始数据。具体步骤如下:
a.获取含水印顶点坐标;
依据步骤(1),获取含水印矢量地图顶点坐标序列V={vj'(xj',yj')|j=1,2,....,n]}及与之对应的含水印x坐标序列X'={xj'|j=1,2,…,n}和含水印y坐标序列Y'={yj'|j=1,2,…,n}。其中,vj'表示顶点序列V'的第j个顶点,xj'和yj'分别表示顶点vj'的x坐标和y坐标,n表示序列V'的顶点数目。将xmax'和xmin'分别记为序列X'中坐标的最大值和最小值,将ymax'和ymin'分别记为序列Y'中坐标的最大值和最小值。
b.含水印顶点坐标排序;
依据步骤(2),将序列X'的坐标排序,得到含水印坐标序列Xs'。
c.含水印有序序列坐标分段;
依据步骤(3),将xmax'和xmin'之间的距离平均分为Dx'(Dx'≥1)段,每段的长度为lx',并计算段Si'(i=0,1,…,Dx'–1)对应的含水印坐标序列,记为
d.计算段的边界;
依据步骤(4),计算每个段Si'(i=0,1,…,Dx'–1)的边界坐标为段Si'的左端点坐标,为段Si'的右端点坐标。
e.获取段的含水印扩展坐标序列;
依据步骤(5),对于每个段Si'(i=0,1,…,Dx'–1),将其边界坐标分别作为第一个坐标和最后一个坐标,加入到其对应的含水印坐标序列中,得到段Si'的含水印扩展坐标序列
f.提取水印和恢复原始数据;
从每个含水印扩展坐标序列的eligible坐标中提取水印,并恢复原始数据。从序列的含水印坐标中提取水印w和恢复原始数据的具体步骤如下:
p1.依据步骤(6)中a的公式,计算含水印间隔的参数ri,t+1
p2.依据步骤(6)中b的公式,将间隔Qi,t+1'平均分为2c+1个子间隔,
计算每个子间隔的长度li,t+1
p3.计算间隔Qi,t+1'的参数si,t+1
p4.提取水印信息w,
w=si,t+1-ri,t+1×2c
p5.计算对应的原始坐标
x i , t + 1 a = ( 1 - r i , t + 1 ) &times; x i , t a &prime; + r i , t + 1 &times; ( x i , t a &prime; + x i , t + 2 a &prime; ) / 2 + m &prime;
其中,
m &prime; = ( x i , t + 2 a &prime; - x i , t a &prime; ) / 2 l i , t + 1 - 2 h &times; ( x i , t + 1 a &prime; - x i , t a &prime; - s i , t + 1 &times; l i , t + 1 - h )
从每个eligible坐标中提取水印并恢复数据后,得到恢复数据的扩展坐标序列从序列中去除第一个坐标和最后一个坐标,得到有序坐标序列
g.获取恢复数据的有序坐标序列;
按照升序,将每段对应的有序坐标序列顺次连接,得到恢复数据的有序坐标序列Xs
h.获取原始坐标序列;
利用本步骤b中序列X'和序列Xs'的一一映射关系,通过调整恢复数据的有序坐标序列Xs的坐标位置,得到含水印坐标序列X。
i.恢复矢量地图原始数据。
利用本步骤的b-h,提取含水印y坐标序列Y'中水印信息并恢复其原始数据,最终得到原始顶点坐标序列V,恢复矢量地图原始数据。
图4为从图3中含水印矢量地图中提取水印并恢复原始数据后的情况。

Claims (6)

1.一种保持方向关系的矢量地图可逆信息隐藏方法,其特征在于,包括以下步骤:
(1)获取顶点坐标;
顺次扫描矢量地图顶点,获取顶点坐标序列V={vj(xj,yj)|j=1,2,...,n},vj表示顶点序列V中的第j个顶点,xj和yj分别表示顶点vj的x坐标和y坐标,n表示序列V中的顶点数目,将X={xj|j=1,2,…,n]}和Y={yj|j=1,2,…,n}分别记为与坐标序列V对应的x坐标序列和y坐标序列,将xmax和xmin分别记为序列X中坐标的最大值和最小值,ymax和ymin分别记为序列Y中坐标的最大值和最小值;
(2)顶点坐标排序;
按照升序,将步骤(1)中序列X的坐标排序,得到有序序列 X s = { x j s | j = 1 , 2 , ... , n } ( x t s &le; x t + 1 s &le; x t + 2 s , t = 1 , 2 , ... , n - 2 ) , 表示序列X中第j个坐标;
(3)有序序列坐标分段;
将步骤(2)中有序序列Xs的坐标平均分为Dx(Dx≥1)段,将划分的第i(i=0,1,…,Dx–1)段记为Si,每段的长度记为lx,将段Si对应的坐标序列记为 表示序列的第j个坐标,ni表示序列的坐标数目;
(4)计算段的边界;
为步骤(3)的每个段Si(i=0,1,…,Dx–1)计算定义该段范围的左端点坐标和右端点坐标将计算得到称为Si的边界坐标;
(5)获取段的扩展坐标序列;
对于步骤(3)的每个段Si(i=0,1,…,Dx–1),将其边界坐标作为第一个坐标,作为最后一个坐标,加入到其对应的坐标序列中,得到段Si的扩展坐标序列 X i a = 表示序列Xi a的第j个坐标;
(6)嵌入水印;
在步骤(5)的每个扩展坐标序列Xi a(i=0,1,…,Dx–1)的eligible顶点中嵌入水印,嵌入水印后,得到含水印坐标序列 表示序列Xi a′的第j个坐标,由于嵌入方法不改变坐标序列Xi a的坐标相对顺序,Xi a′仍然为有序坐标序列,即 x i , t a &prime; &le; x i , t + 1 a &prime; &le; x i , t + 2 a &prime; ( t = 0 , 1 , ... , n i - 1 ) , x i , 0 a = x i , 0 a &prime; , x i , n i + 1 a = x i , n i + 1 a &prime; , 从Xi a′中去除得到有序坐标序列Xi s对应的含水印序列 X i s &prime; = { x i , 1 a &prime; , x i , 2 a &prime; , ... , x i , n i a &prime; } = { x i , j s &prime; | j = 0 , 1 , ... , n i - 1 } ( x i , t s &prime; &le; x i , t + 1 s &prime; &le; x i , t + 2 s &prime; , t = 0 , 1 , ... , n i - 3 ) , 表示序列Xi s′的第j个坐标;
(7)获取有序含水印坐标序列;
按照升序,将步骤(6)的含水印序列顺次连接,得到有序坐标序列Xs对应的含水印坐标序列 X s &prime; = { x j s &prime; | j = 1 , 2 , ... , n } ( x t s &prime; &le; x t + 1 s &prime; &le; x t + 2 s &prime; , t = 1 , 2 , ... , n - 2 ) , 表示序列Xs'的第j个坐标;
(8)获取含水印坐标;
依据步骤(2)中序列X和序列Xs的一一映射关系,通过调整含水印坐标序列Xs'的坐标位置,得到含水印坐标序列X'={xj'|j=0,1,…,n–1},xj'表示序列X'的第j个坐标;
(9)获取含水印矢量地图;
利用步骤(2)-(8),在顶点坐标序列V的y坐标中嵌入水印后,得到含水印顶点坐标序列V={vj'(xj',yj')|j=1,2,...,n},其中vj'表示V'的第j个顶点,yj'表示顶点vj'的y坐标;
(10)水印提取及无损恢复;
依据嵌入参数,提取含水印矢量地图水印信息并恢复其原始数据;具体步骤如下:
(10.1)获取含水印顶点坐标;
依据步骤(1),获取含水印矢量地图顶点坐标序列V={vj'(xj',yj')|j=1,2,....,n]}及与之对应的含水印x坐标序列X'={xj'|j=1,2,…,n}和含水印y坐标序列Y'={yj'|j=1,2,…,n};其中,vj'表示顶点序列V'的第j个顶点,xj'和yj'分别表示顶点vj'的x坐标和y坐标,n表示序列V'的顶点数目;将xmax'和xmin'分别记为序列X'中坐标的最大值和最小值,将ymax'和ymin'分别记为序列Y'中坐标的最大值和最小值;
(10.2)含水印顶点坐标排序;
依据步骤(2),将序列X'的坐标排序,得到含水印坐标序列Xs'
(10.3)含水印有序序列坐标分段;
依据步骤(3),将xmax'和xmin'之间的距离平均分为Dx'(Dx'≥1)段,每段的长度为lx',并计算段Si'(i=0,1,…,Dx'–1)对应的含水印坐标序列记为
(10.4)计算段的边界;
依据步骤(4),计算每个段Si'(i=0,1,…,Dx'–1)的边界坐标为段Si′的左端点坐标,为段Si′的右端点坐标;
(10.5)获取段的含水印扩展坐标序列;
依据步骤(5),对于每个段Si'(i=0,1,…,Dx'–1),将其边界坐标分别作为第一个坐标和最后一个坐标,加入到其对应的含水印坐标序列中,得到段Si′的含水印扩展坐标序列Xi a′;
(10.6)提取水印和恢复原始数据;
从每个含水印扩展坐标序列Xi a′(i=0,1,...,Dx′-1)的eligible坐标中提取水印并恢复原始数据,得到恢复数据的扩展坐标序列Xi a;从序列Xi a中去除第一个坐标和最后一个坐标,得到有序坐标序列Xi s
(10.7)获取恢复数据的有序坐标序列;
按照升序,将每段对应的有序坐标序列Xi s(i=0,1,...,Dx-1)顺次连接,得到恢复数据的有序坐标序列Xs
(10.8)获取原始坐标序列;
利用本步骤b中序列X'和序列Xs'的一一映射关系,通过调整恢复数据的有序坐标序列Xs的坐标位置,得到含水印坐标序列X;
(10.9)恢复矢量地图原始数据;
利用本步骤的b-h,提取含水印y坐标序列Y'中水印信息并恢复其原始数据,最终得到原始顶点坐标序列V,恢复矢量地图原始数据。
2.根据权利要求1所述的一种保持方向关系的矢量地图可逆信息隐藏方法,其特征在于:所述的每段的长度lx的计算方法为:
lx=(xmax-xmin)/Dx
Dx的取值需满足以下条件,
D x &GreaterEqual; ( x m a x - x min ) / ( 2 &tau; )
其中,τ为矢量地图的精度误差容限;假设序列Xs的第j个坐标划分到段中,该坐标所属段的索引值的计算方法为:
3.根据权利要求1所述的一种保持方向关系的矢量地图可逆信息隐藏方法,其特征在于:每个段Si(i=0,1,…,Dx–1)的左端点坐标和右端点坐标的计算方法为:
s i l = x m i n + i &times; l x s i r = x min + ( i + 1 ) &times; l x .
4.根据权利要求1所述的保持方向关系的矢量地图可逆信息隐藏方法,其特征在于:若序列Xi a中三个相邻的坐标满足以下关系,则称为一个eligible坐标,
x i , t a < x i , t + 1 a < x i , t + 2 a .
5.根据权利要求1所述的一种保持方向关系的矢量地图可逆信息隐藏方法,其特征在于:将坐标视为一个间隔每个间隔中嵌入的水印比特数目为c(c=1,2,…),所述的在中嵌入水印w(0≤w<2c)的具体步骤如下:
(6.1)计算间隔Qi,t+1的参数ri,t+1
r i , t + 1 = 0 i f x i , t + 1 a < ( x i , t a + x i , t + 2 a ) / 2 r i , t + 1 = 1 i f x i , t + 1 a &GreaterEqual; ( x i , t a + x i , t + 2 a ) / 2
(6.2)将间隔Qi,t+1平均分为2c+1个子间隔,计算每个子间隔的长度li,t+1
l i , t + 1 = ( x i , t + 2 a - x i , t a ) / 2 c + 1
(6.3)计算坐标对应的含水印坐标所在的子间隔的索引值si,t+1(0≤si,t+1<2c+1),
si,t+1=2c×ri,t+1+w
(6.4)将坐标移动至第si,t+1个子间隔,得到含水印坐标
x i , t + 1 a &prime; = x i , t a + s i , t + 1 &times; l i , t + 1 + h + m
其中,
m = &kappa; ( x i , t + 2 a - x i , t a ) / 2 &times; ( l i , t + 1 - 2 h ) &kappa; = x i , t + 1 a - ( 1 - r i , t + 1 ) &times; x i , t a - r i , t + 1 &times; ( x i , t a + x i , t + 2 a ) / 2 h = 5 &times; 10 - ( q + 1 )
q(q≥0)表示浮点数的存储精度。
6.根据权利要求1所述的一种保持方向关系的矢量地图可逆信息隐藏方法,其特征在于:所述的从序列Xi a′的含水印坐标中提取水印w和恢复原始数据的具体步骤如下:
(10.6.1)依据步骤(6.1)的公式,计算含水印间隔的参数ri,t+1
(10.6.2)依据步骤(6.2)的公式,将间隔Qi,t+1'平均分为2c+1个子间隔,计算每个子间隔的长度li,t+1
(10.6.3)计算间隔Qi,t+1'的参数si,t+1
(10.6.4)提取水印信息w,
w=si,t+1-ri,t+1×2c
(10.6.5)计算对应的原始坐标
x i , t + 1 a = ( 1 - r i , t + 1 ) &times; x i , t a &prime; + r i , t + 1 &times; ( x i , t a &prime; + x i , t + 2 a &prime; ) / 2 + m &prime;
其中,
m &prime; = ( x i , t + 2 a &prime; - x i , t a &prime; ) / 2 l i , t + 1 - 2 h &times; ( x i , t + 1 a &prime; - x i , t a &prime; - s i , t + 1 &times; l i , t + 1 - h ) .
CN201510883460.8A 2015-12-03 2015-12-03 一种保持方向关系的矢量地图可逆信息隐藏方法 Active CN105427232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510883460.8A CN105427232B (zh) 2015-12-03 2015-12-03 一种保持方向关系的矢量地图可逆信息隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510883460.8A CN105427232B (zh) 2015-12-03 2015-12-03 一种保持方向关系的矢量地图可逆信息隐藏方法

Publications (2)

Publication Number Publication Date
CN105427232A true CN105427232A (zh) 2016-03-23
CN105427232B CN105427232B (zh) 2018-12-28

Family

ID=55505414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510883460.8A Active CN105427232B (zh) 2015-12-03 2015-12-03 一种保持方向关系的矢量地图可逆信息隐藏方法

Country Status (1)

Country Link
CN (1) CN105427232B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113284036A (zh) * 2021-06-15 2021-08-20 苏州科技大学 基于虚拟格网区间映射的矢量地图可逆水印算法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540038A (zh) * 2009-04-29 2009-09-23 华南理工大学 用于矢量地图的可逆数据隐藏方法
CN101604440A (zh) * 2009-04-23 2009-12-16 哈尔滨工程大学 基于空间特征的矢量地图可逆水印处理方法
CN101840473A (zh) * 2010-04-19 2010-09-22 哈尔滨工程大学 基于非线性变换的矢量地图版权保护方法
KR20130015574A (ko) * 2011-08-04 2013-02-14 부경대학교 산학협력단 지리정보시스템의 벡터 맵 데이터의 워터마크 은닉 방법 및 워터마크 검출 방법
CN103325082A (zh) * 2013-06-14 2013-09-25 哈尔滨工程大学 一种基于lsd平面的矢量地图可逆信息隐藏方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604440A (zh) * 2009-04-23 2009-12-16 哈尔滨工程大学 基于空间特征的矢量地图可逆水印处理方法
CN101540038A (zh) * 2009-04-29 2009-09-23 华南理工大学 用于矢量地图的可逆数据隐藏方法
CN101840473A (zh) * 2010-04-19 2010-09-22 哈尔滨工程大学 基于非线性变换的矢量地图版权保护方法
KR20130015574A (ko) * 2011-08-04 2013-02-14 부경대학교 산학협력단 지리정보시스템의 벡터 맵 데이터의 워터마크 은닉 방법 및 워터마크 검출 방법
CN103325082A (zh) * 2013-06-14 2013-09-25 哈尔滨工程大学 一种基于lsd平面的矢量地图可逆信息隐藏方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NANA WANG: "Reversible fragile watermarking for locating tampered blocks in 2D vector maps", 《MULTIMED TOOLS APPL》 *
NANA WANG等: "A high capacity reversible data hiding method for 2D vector maps based on virtual coordinates", 《COMPUTER-AIDED DESIGN》 *
NANA WANG等: "Reversible fragile watermarking for 2-D vector map authentication with localization", 《COMPUTER-AIDED DESIGN》 *
PENG FEI等: "A reversible watermark scheme for 2D vector map based on reversible contrast mapping", 《SECURITY AND COMMUNICATION NETWORKS》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113284036A (zh) * 2021-06-15 2021-08-20 苏州科技大学 基于虚拟格网区间映射的矢量地图可逆水印算法

Also Published As

Publication number Publication date
CN105427232B (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
Tian et al. An integrated visual saliency-based watermarking approach for synchronous image authentication and copyright protection
CN110796582B (zh) 一种基于矢量图形压缩的可逆明水印方法和装置
CN103325082A (zh) 一种基于lsd平面的矢量地图可逆信息隐藏方法
CN102147912A (zh) 一种基于自适应差值扩展的可逆图像水印方法
CN105488434B (zh) 一种基于标记的矢量地图完整性认证方法
Cao et al. A recursive embedding algorithm towards lossless 2D vector map watermarking
Zhao et al. Tampered region detection of inpainting JPEG images
CN104053074A (zh) 基于深度图像和Otsu分割的视频水印方法
Al-Hammadi et al. Curvelet transform and local texture based image forgery detection
Zhang et al. Reversibility improved data hiding in 3D mesh models using prediction-error expansion and sorting
Mushtaq et al. Image copy move forgery detection: a review
CN104899821A (zh) 一种用于文档类图像可视水印的擦除方法
CN110298809B (zh) 一种图像去雾方法及装置
CN109754358B (zh) 一种基于显著性检测和轮廓波变换的图像水印方法与系统
CN105427232B (zh) 一种保持方向关系的矢量地图可逆信息隐藏方法
CN111640052B (zh) 一种基于标记码的鲁棒大容量数字水印方法
CN106570817B (zh) 一种抗几何攻击的鲁棒可逆水印方法
CN102034219A (zh) 一种利用上下文建模和泛化扩展的图像可逆水印方法
CN104318505A (zh) 基于图像离散余弦变换的三维网格模型盲水印方法
CN117114956A (zh) 一种面向神经辐射场模型的数字水印方法
CN104103031B (zh) 基于归一化的矢量空间数据盲水印方法
CN111275602A (zh) 人脸图像安全保护方法、系统及存储介质
Dixit et al. Copy-move image forgery detection using frequency-based techniques: a review
CN115393151A (zh) 基于iwt和预测差值直方图平移的可逆水印算法
CN111931689B (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
GR01 Patent grant
GR01 Patent grant