1.一种旋转、均匀缩放和平移不变的矢量地图可逆信息隐藏方法,其特征在于:(1)获取顶点坐标;
顺次扫描矢量地图顶点,获取顶点坐标序列V={vj(xj,yj)|j=1,2,...,n},vj表示顶点序列V中的第j个顶点,xj和yj分别表示顶点vj的x坐标和y坐标,n表示序列V的顶点数目;
(2)选择参照顶点;
在密钥Key的控制下,从步骤(1)的序列V中随机选取两个顶点作为水印嵌入过程中采用的参照顶点,将选取的参照顶点记为顶点vf1(xf1,yf1)和顶点vf2(xf2,yf2),xf1和yf1分别表示顶点vf1的x坐标和y坐标,xf2和yf2分别表示顶点vf2的x坐标和y坐标;
(3)计算量化步长;
依据矢量地图的精度误差容限τ,计算嵌入参数Qw和归一化量化步长Sw,参数Qw将直接作为水印提取及数据恢复阶段的输入参数;计算嵌入参数和归一化量化步长的方法为:其中,||vf1vf2||为参照顶点vf1和vf2之间的欧几里得距离,参数Qw将直接作为水印提取及数据恢复阶段的输入参数;
(4)嵌入水印;
依据步骤(3)得到的量化步长Sw,利用量化的方法,在步骤(1)的序列V的顶点中嵌入水印,得到含水印顶点坐标序列V'={vj'(xj',yj')|j=1,2,...,n},vj'表示V'中的第j个顶点,xj'和yj'分别表示顶点vj'的x坐标和y坐标,其中,不在参照顶点中嵌入水印;
(5)水印提取及无损恢复;
依据参照顶点和嵌入参数Qw,从步骤(4)含水印顶点坐标序列V'中提取含水印矢量地图水印信息并恢复其原始数据,具体步骤如下:(5.1)获取含水印顶点坐标;
依据步骤(1),获取含水印矢量地图的顶点坐标序列V'={vj'(xj',yj')|j=1,2,...,n}; 其中,vj'表示V'的第j个顶点,xj'和yj'分别表示顶点vj'的x坐标和y坐标,n表示序列V'的顶点数目;
(5.2)选择参照顶点;
在密钥Key的控制下,从顶点坐标序列V'中随机选取两个顶点作为水印嵌入过程中采用的参照顶点;
(5.3)计算量化步长;
依据Qw和步骤(3)的公式,计算归一化量化步长Sw;
(5.4)提取水印和恢复原始数据;
提取步骤(1)中含水印顶点序列V'的水印信息,恢复V'的原始数据,最终得到恢复后的顶点序列V={vi(xi,yi)|i=1,2,...,n},恢复矢量地图原始数据。
2.根据权利要求1所述的旋转、均匀缩放和平移不变的矢量地图可逆信息隐藏方法,其特征在于:假设顶点vj(xj,yj),j=1,2,...,n,vj≠vf1,vj≠vf2为待嵌入水印的顶点,0≤w<
2c为待嵌入的水印,c为每个顶点中嵌入的水印比特数目,所述的嵌入水印的具体步骤如下:(4.1)依据归一化量化步长Sw,以参照顶点vf1为起点,将参照顶点vf1和顶点vj确定的直线量化,并计算顶点vj所在的量化区间的索引值其中,||vf1vj||表示参照顶点vf1和顶点vj之间的欧几里得距离;将第 个量化区间记为和 是定义量化区间 范围的两个端点;
(4.2)计算量化区间 的两个端点,即 和
(4.3)以 为起点,将区间 量化为2c+1个子区间,计算每个子区间的长度lsls=Sw/2c+1(4.4)计算区间 的r状态
(4.5)含水印顶点vj记为vj',计算vj所在子区间的索引值ss=2c×r+w
(4.6)将顶点vj移动到第s个子区间,得到含水印顶点vj'其中,
ε为浮点数的存储精度,ε≥0,||vf1vj′‖为参照顶点vf1和含水印顶点vj'之间的欧几里得距离;将含水印顶点vj'的x坐标和y坐标分别记为xj'和yj',按照下式获取xj'和yj',
3.根据权利要求1所述的旋转、均匀缩放和平移不变的矢量地图可逆信息隐藏方法,其特征在于:所述的(5.4)提取水印和恢复原始数据的具体步骤如下:(5.4.1)依据归一化量化步长Sw,以参照顶点vf1为起点,将参照顶点vf1和顶点vj'确定的直线量化,并依据公式 计算顶点vj'所在的量化区间 其中,||vf1vj||表示参照顶点vf1和顶点vj之间的欧几里得距离;将第 个量化区间记为和 是定义量化区间 范围的两个端点;
(5.4.2)利用公式 计算定义量化区间 范围的端点,即 和c+1 c+1
(5.4.3)以 为起点,将区间 平均分为2 个子区间,并依据公式ls=Sw/2 计算每个子区间的长度ls,其中,c为每个顶点中嵌入的水印比特数目;
(5.4.4)计算顶点vj'在区间 中所在的子区间的索引值s(5.4.5)依据公式 计算区间 的r状态;
(5.4.6)利用如下公式,提取水印信息w
w=s-r×2c,
(5.4.7)依据下式,计算原始顶点vj(xj,yj)的坐标其中
h=5×10-(ε+1),ε为浮点数的存储精度,ε≥0;
c
利用公式s=2×r+w计算顶点vj的x坐标xj和y坐标yj。