用于矢量地图的可逆数据隐藏方法

文档序号:6482023阅读:149来源:国知局
专利名称:用于矢量地图的可逆数据隐藏方法
技术领域
本发明涉及矢量地图的信息隐藏技术,具体涉及一种用于矢量地图的可逆 数据隐藏方法。
背景技术
随着GIS(地理信息系统)的日益发展和广泛应用,出现了多种以网络应用为 目的的矢量图像格式,AI、 SVG、 VML、 GML等格式的矢量图像在网络上普遍 流行。由于互联网的开放特性,非法从互联网上获取具有版权的矢量图像并不 困难,因此,用于矢量图像的信息隐藏技术近年来得到了极大的关注。
信息隐藏技术是一种研究如何将某一信息隐藏于另一公开的信息中,然后 通过公开的信息来传递隐藏信息的技术。由于含有隐藏信息(或称含秘)的媒 体的发布是公开的,而可能的敌手难以从公开的信息中判断隐藏信息是否存在, 所以难以截获秘密信息,从而达到了保证信息安全传送的目的。
目前,用于矢量地图上的信息隐藏技术大多关注于隐藏信息的鲁棒性而非 容量,并且大部分方案是不可逆的。由于地图数据具有精确度的要求,在很多 应用场合(如军事上)要求数据嵌入不能破坏数字地图本身的完整性,这就需要可 逆数据隐藏技术。可逆数据隐藏又称无损数据隐藏,是指嵌入隐秘数据时,虽 然可能会对载体图像的视觉造成一定的破坏,但若含秘图像在传输过程中没有 信息损失,则在解码端合法用户可无损抽取所隐藏的数据,并可根据所抽取的 信息清除嵌入过程对图像所造成的失真,无损恢复出原始图像。
目前针对矢量地图的可逆数据隐藏方法非常少。Voigt等人于2004年最早在 ACM期刊上发表论文"Reversible Watermarking of 2D-Vector Data",提出了一 种利用修改原始矢量地图顶点坐标的整数离散余弦变换系数来隐藏信息的方 案。该方案的主要缺陷是数据嵌入对载体地图造成的扰动过大,并且嵌入容量 很小。中国的王孝通等人于2007年在IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY期刊上发表论文"Reversible Data-Hiding Scheme for 2-D Vector Maps Based on Difference Expansion",提出了 目前最新的用于矢量地图的可逆数据隐藏方法,该方法将Tian于2003年在IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY 期干U上所发表的i仑文"Reversible Data Embedding Using a Difference Expansion" 中提出的经典的图像差值扩展技术推广到二维矢量地图,得到的结果优于Voigt 等人的技术方案,但嵌入容量还是不够大,而且不可控。上述几种技术方案可 在IEEE/IET Electronic Library (正L)和ACM的论文数据库中找到,其它一些关 于信息隐藏的文献也可在IEL、 ACM、 Springer和Kluwer的论文数据库中找到。

发明内容
本发明的目的在于克服上述现有技术的缺点和不足,提供一种用于矢量地 图的可逆数据隐藏方法,本发明方法提高了嵌入容量,实现了对嵌入容量的精 确控制,减少了含秘矢量地图的失真。
本发明的目的通过下述技术方案实现用于矢量地图的可逆数据隐藏方法, 包括嵌入端负载嵌入过程和接收端负载提取和矢量地图恢复过程,其中,嵌入 端负载嵌入过程,步骤如下
1. 用户选择并输入待嵌入的矢量地图到嵌入端,从矢量地图中顺序读入所 有的顶点坐标组成顶点坐标序列,设所具有的顶点坐标数量为m, m为自然数;
2. 从顶点坐标序列中自定义n个顶点坐标用于保存头文件,n为自然数, 且n小于m,用该n个顶点坐标的最小意义位构成一个临时位流,显然,该临 时位流的长度即为n,由其余的m-n个顶点坐标求取出差值组成差值序列,根据 具体的求取方法可以求取出不同数量的差值组成包含不同数量差值的差值序 列,由差值序列构建差值直方3. 根据用户提供的地图精度容忍度在差值直方图中确定一个可扩展嵌入差 值的最大内区间,位于该最大内区间内的差值的总数减去n后即为嵌入的负载 容量极限,用户根据负载容量极限输入需嵌入的实际负载,根据实际负载容量 和n从所述最大内区间中确定实际需要进行扩展嵌入的内区域,定义差值直方 图中内区域之外的区域为外区域;
4. 顺序扫描差值序列,将输入的实际负载扩展嵌入到所述内区域的差值中, 实际负载嵌入完毕后,继续顺序扫描差值序列,将临时位流扩展嵌入到内区域 尚未嵌入实际负载的差值中,当临时位流扩展嵌入完毕后,结束扫描;为了保 证图像的无损还原,必须平移外区域,使扩展嵌入后的内区域与外区域不相交, 所以,在进行实际负载和临时位流扩展嵌入的扫描过程中,根据实际负载和临 时位流的扩展嵌入情况设定平移约束条件,将符合该平移约束条件的外区域中已扫描的差值同时进行平移,这样,在临时位流扩展嵌入结束后,平移操作也 就结束,而最后一个扩展嵌入点之后的顶点无需改动;在临时位流扩展嵌入结 束后,生成记录最后一个扩展嵌入点的位置信息、实际负载及临时位流的扩展 嵌入信息以及平移信息的头文件;
5.根据扩展嵌入和平移后的差值重新生成含秘顶点坐标,然后,以最小意 义位置换的方式将头文件保存到步骤2所述n个顶点坐标的最小意义位,由含 秘顶点坐标、置换后的n个顶点坐标以及顶点坐标序列中其余没有改动的顶点 坐标得到含秘矢量地图,然后将含秘矢量地图传送到接收端;
接收端负载提取和矢量地图恢复过程为
接收端按照步骤1至5所述的嵌入端负载嵌入过程的逆过程从含秘矢量地 图中提取出实际负载和恢复出矢量地图。
上述方法中,由于矢量地图相邻顶点坐标间通常存在很强的相关性,所以, 步骤2所述由其余的m-n个顶点坐标求取出差值的方法可以采用基于顶点坐标 预测误差方法。
上述方法中,所述步骤3确定内区域的具体方法如下
根据用户输入的实际负载容量和n动态调节内、外区域的门限,从差值0
开始在差值直方图的对称轴两边交替扩大内区域,选择绝对值意义上的小差值
作为嵌入对象,直到所选择的内区域中的可扩展嵌入差值的个数满足实际负载 容量和n的要求,即可确定该实际负载容量和n所对应的内区域为[-r,, z;],其
中-r,和z;分别为内区域的左、右边界。
上述方法中,步骤4所述实际负载和临时位流扩展嵌入的方法优选采用经
典差值扩展嵌入方法。
因为由矢量地图所得到的差值直方图很可能不完全对称,出现一边拖尾长,
一边短,所以,步骤4所述实际负载和临时位流扩展嵌入的方法根据差值直方 图的拖尾情况可以采用内区域第0柱差值向左扩展或内区域第0柱差值向右扩
展的差值扩展嵌入方法。
上述方法中,所述头文件根据内区域第0柱差值的扩展嵌入方向标志、内
区域的左边界绝对值r,、内区域的右边界 ;和最后一个扩展嵌入点的位置信息来 构造。
上述方法中,所述接收端负载提取和矢量地图恢复过程的具体操作为顺
序读入含秘矢量地图的全部顶点坐标,先从前n个顶点坐标中提取头文件,获得实际负载和临时位流的扩展嵌入和平移信息,以及最后一个扩展嵌入点的位 置信息,然后从最后一个扩展嵌入点的位置开始,逆序扫描顶点序列,根据该
扩展嵌入和平移信息区分扩展嵌入后的差值与平移后的差值;根据扩展嵌入后 的差值恢复出实际负载和该扩展嵌入后的差值在扩展嵌入前的原始数值,以及 所述n个顶点坐标的最小意义位,利用所述扩展嵌入后的差值在扩展嵌入前的 原始数值恢复出相应的原始顶点坐标,利用所述n个顶点坐标的最小意义位恢 复出所述n个顶点坐标,对平移后的差值进行反平移操作恢复出该平移后的差 值在平移前的原始数值,进而恢复出相应的原始顶点坐标;结合所述顶点坐标 序列中其余没有改动的顶点坐标恢复出原始矢量地图。
上述方法中,所述自定义n个顶点坐标优选为所述顶点坐标序列中的前65 个顶点坐标。
本发明相对于现有技术具有如下的优点及效果本方法接收端采用在嵌入 端实际负载的嵌入过程的逆过程来进行实际负载的提取和矢量地图的恢复,嵌 入过程和提取恢复过程完全可逆,所以可以在接收端精确抽取所隐藏的数据即 实际负载,并可无损地恢复出原始矢量地图;本发明充分利用了矢量地图相邻 顶点坐标具有高相关性的特点,采用基于顶点坐标预测误差的方式产生更多数 值靠近零的差值,从而提高了嵌入容量,并减小了因实际负载和临时位流等数 据嵌入而引起的矢量地图失真;创建差值直方图来优先选择小幅值差值,并采 用随实际负载变化的嵌入容量,很好地适应了不同特征的图像,减小了扩展嵌 入操作所引起的形变;本发明在扩展嵌入结束后,就生成头文件信息,也就是 在完成临时位流的扩展嵌入后就中止扩展嵌入和平移,最后一个扩展嵌入点之 后的顶点无需改动,实现充分考虑了矢量图形顶点坐标存储格式的特点,通过 记录头文件避免额外的嵌入开销,实现了对嵌入容量的精确控制,进一步减少 了含秘矢量地图失真。


图1是本发明方法的流程框图2是本实施例优选的负载提取和矢量地图恢复过程的流程图3是本实施扩展嵌入前差值内外区域的分布示意图4是本实施扩展嵌入和平移后差值内外区域的分布示意图。
具体实施例方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施 方式不限于此。 实施例
总的来说,如图1所示,用于矢量地图的可逆数据隐藏方法,包括嵌入端 负载嵌入过程和接收端负载提取和矢量地图恢复过程,其中,嵌入端负载嵌入 过程,步骤如下
1. 用户选择并输入待嵌入的矢量地图到嵌入端,从矢量地图中顺序读入所
有的顶点坐标组成顶点坐标序列,设所具有的顶点坐标数量为m, m为自然数;
2. 从顶点坐标序列中自定义n个顶点坐标用于保存头文件,n为自然数, 且n小于m,用该n个顶点坐标的最小意义位构成一个临时位流,显然,该临 时位流的长度即为n,由其余的m-n个顶点坐标求取出差值组成差值序列,根据 具体的求取方法可以求取出不同数量的差值组成包含不同数量差值的差值序 列,由差值序列构建差值直方3. 根据用户提供的地图精度容忍度在差值直方图中确定一个可扩展嵌入差 值的最大内区间,位于该最大内区间内的差值的总数减去n后即为嵌入的负载 容量极限,用户根据负载容量极限输入需嵌入的实际负载,根据实际负载容量 和n从所述最大内区间中确定实际需要进行扩展嵌入的内区域,定义差值直方 图中内区域外的区域为外区域;
4. 顺序扫描差值序列,将输入的实际负载扩展嵌入到所述内区域的差值中, 实际负载嵌入完毕后,继续顺序扫描差值序列,将临时位流扩展嵌入到内区域 尚未嵌入实际负载的差值中,当临时位流扩展嵌入完毕后,结束扫描;为了保 证图像的无损还原,必须平移外区域,使扩展嵌入后的内区域与外区域不相交, 所以,在进行实际负载和临时位流扩展嵌入的扫描过程中,根据实际负载和临 时位流的扩展嵌入情况设定平移约束条件,将符合该平移约束条件的外区域中 已扫描的差值同时进行平移,这样,在临时位流扩展嵌入结束后,平移操作也 就结束,而最后一个扩展嵌入点之后的顶点无需改动;在临时位流扩展嵌入结 束后,生成记录最后一个扩展嵌入点的位置信息、实际负载及临时位流的扩展 嵌入信息以及平移信息的头文件;
5. 根据扩展嵌入和平移后的差值重新生成含秘顶点坐标,然后,以最小意 义位置换的方式将头文件保存到步骤2所述n个顶点坐标的最小意义位,由含 秘顶点坐标、置换后的n个顶点坐标以及顶点坐标序列中其余没有改动的顶点坐标得到含秘矢量地图,然后将含秘矢量地图传送到接收端; 接收端负载提取和矢量地图恢复过程为
接收端按照步骤1至5所述的嵌入端负载嵌入过程的逆过程从含秘矢量地
图中提取出实际负载和恢复出矢量地图。
上述方法中,由于矢量地图相邻顶点坐标间通常存在很强的相关性,所以,
步骤2所述由其余的m-n个顶点坐标求取出差值的方法可以采用基于顶点坐标 预测误差方法。根据本发明下述优选的预测误差求取公式,对于m-n个顶点, 可以得到前m-n-2个顶点的坐标差值。
上述方法中,所述步骤3确定内区域的具体方法如下
根据用户输入的实际负载容量和n动态调节内、外区域的门限,从差值0
开始在差值直方图的对称轴两边交替扩大内区域,选择绝对值意义上的小差值
作为嵌入对象,直到所选择的内区域中的可扩展嵌入差值的个数满足实际负载 容量和n的要求,即可确定该实际负载容量和n所对应的内区域为[-r,,。,其
中A和7;分别为内区域的左、右边界。
上述方法中,步骤4所述实际负载和临时位流扩展嵌入的方法优选采用经 典差值扩展嵌入方法。
因为由矢量地图所得到的差值直方图很可能不完全对称,出现一边拖尾长, 一边短,所以,步骤4所述实际负载和临时位流扩展嵌入的方法根据差值直方 图的拖尾情况可以采用内区域第0柱差值向左扩展或内区域第0柱差值向右扩 展的差值扩展嵌入方法。
上述方法中,所述头文件根据内区域第0柱差值的扩展嵌入方向标志、内
区域的左边界绝对值r,、内区域的右边界7;和最后一个扩展嵌入点的位置信息来构造。
上述方法中,所述接收端负载提取和矢量地图恢复过程的具体操作为顺
序读入含秘矢量地图的全部顶点坐标,先从前n个顶点坐标中提取头文件,获
得实际负载和临时位流的扩展嵌入和平移信息,以及最后一个扩展嵌入点的位 置信息,然后从最后一个扩展嵌入点的位置开始,逆序扫描顶点序列,根据该
扩展嵌入和平移信息区分扩展嵌入后的差值与平移后的差值;根据扩展嵌入后 的差值恢复出实际负载和该扩展嵌入后的差值在扩展嵌入前的原始数值,以及 所述n个顶点坐标的最小意义位,利用所述扩展嵌入后的差值在扩展嵌入前的 原始数值恢复出相应的原始顶点坐标,利用所述n个顶点坐标的最小意义位恢 复出所述n个顶点坐标,对平移后的差值进行反平移操作恢复出该平移后的差值在平移前的原始数值,进而恢复出相应的原始顶点坐标;结合所述顶点坐标 序列中其余没有改动的顶点坐标恢复出原始矢量地图。
上述方法中,所述自定义n个顶点坐标优选为所述顶点坐标序列中的前65 个顶点坐标。
下面以基于SVG格式的矢量地图作为优选的实施例介绍本发明的实现。 本实施例用于矢量地图的可逆数据隐藏方法,包括两部分,第一部分是嵌
入端负载嵌入,第二部分是负载提取和矢量地图恢复。
第一部分包括求取矢量地图顶点坐标的差值序列并构建差值直方图、确定
最大内区间获取负载容量极限、根据负载和临时位流的要求选择实际可扩展嵌
入差值、实际负载和临时位流的扩展嵌入和平移、重新生成矢量地图的顶点坐
标等5个阶段。
第二部分是第一部分的逆过程,它包括获取头文件信息、提取实际负载并
恢复矢量地图两个阶段。下面分5个阶段详细说明第1部分。
第一阶段,求取矢量地图顶点坐标的差值序列并构建差值直方图
首先由用户选择并输入待嵌入的矢量地图到嵌入端。从矢量地图中顺序读 入顶点坐标组成顶点坐标序列,设顶点坐标序列为",V2,V3,^,…,vJ,其中,
v,(^,x), /e{l,2, m}, (A,X)是顶点巧的二维坐标。由于从不同格式矢量
地图读取的顶点是有固定精度的浮点数,在负载嵌入前需将浮点数转换为整数。 在本发明中根据SVG格式的特点利用公式(x,力-(x,,^)x103 (此时假设浮点数
的精度为10—3)进行转换,其它格式的矢量地图如AI、 VML、 GML格式,也根 据其格式的特点将浮点数转换为整数。嵌入数据后再做反变换,由整数变回浮 点数。
本发明提出一个在矢量地图中利用相邻顶点坐标的相关性,采用基于顶点 坐标预测误差方法来获取差值的方案。由于对x和y坐标的处理方法一样,在 此仅介绍对x坐标的操作过程。设
A = 2x,.+1 - x,.+2 +《. (1)
式中,《表示当前顶点坐标A的预测误差,为了说明一般性,本发明统称 其为差值。从(1)式可以看到,它利用了未来两个顶点的坐标值、+1和《+2来预 测当前顶点的坐标值,并用《来修正预测的偏差。通过对(1)式进行变换即可 得到待求的顶点坐标差值,其公式如下-《=义!. + x,.+2 - 2i,'+i ( 2 ) 利用(2)式对具有m个顶点的矢量地图计算m-77(g)-2顶点的坐标差值序 列,并构建差值直方图,这里2表示头文件,记录有关扩展嵌入和平移的参数 信息,供数据提取过程使用,之所以要减去2是因为^是利用了未来两个顶点 的坐标值、+1和《+2来预测,因而不能包括顶点序列的最后两个顶点。7(.)是计算 位流长度的函数。前/7(2)个顶点的坐标(即头文件长度个顶点的坐标)将用于 保存头文件信息,用该/7(G)个顶点坐标的最小意义位构成一个临时位流。在本 实施例中定义7(2) = 65,也即11=65。
第二阶段,确定最大内区间获取负载容量极限 经典第O柱差值向右扩展的差值扩展嵌入公式由以下公式(3)描述
《=2《+/ (3) 式中/=0或1,代表一个待嵌入的二进制信息位。《扩展嵌入后变成新差值 《。由于矢量地图有误差精度容忍度r的要求,而差值扩展嵌入可能会导致重
建后的坐标值超出原定的要求,因此并非所有差值均可用于扩展嵌入,数据隐 藏也即负载嵌入前要剔除不符合要求的差值。对于x坐标,设,=^/^/2」,其
中U为向下取整,则扩展嵌入的约束条件如下
-r'","'-1 (4)
满足(4)式的差值称为可扩展嵌入差值。令-乙--r, 7 =r'-l,定义[-7L,
rj为最大内区间,则只有最大内区间[-rto, rj内的差值才满足可扩展嵌入的
约束条件,如图3所示。位于该最大内区间的差值的总个数减去/7(g)后就是嵌
入的负载容量极限。
第三阶段,根据负载和临时位流的要求选择实际可扩展嵌入差值 用户在嵌入的负载容量极限范围内输入实际需嵌入的负载。由于输入的实 际负载容量通常低于负载容量极限,因此最大内区间内的可扩展嵌入差值并不 需要全都用于实际负载和临时位流的扩展嵌入。本发明在所述最大内区间范围
内确定一个子区间[-r,, t;],该区间将用于选择实际进行扩展嵌入的差值。本发 明称子区间[- ;, ?;]为内区域,其中- ;和7;分别表示内区域的左、右边界。内区
域位于最大内区间中,当到达扩展嵌入极限时,内区域就是最大内区间。
出于减少矢量地图失真的考虑,本发明在差值直方图基础上确定内区域。 从差值直方图的横轴原点开始,优先选择绝对值为o的差值柱。若所选中的可 扩展嵌入差值的个数不满足大于或等于实际负载容量加7(0)时,则搜索次靠近o的差值柱,选择门限逐步增大,直到所选择的可扩展嵌入差值的个数满足大于
或等于实际负载容量加7(2)的要求。具体的实施步骤如下-
步骤l、根据(4)式确定最大内区间[-7L,乙]并计算嵌入的负载容量极限,
将待嵌入的实际负载与负载容量极限的容量值进行比较,若大于此容量值,则
此矢量地图无法提供足够的扩展嵌入空间,结束嵌入过程;否则,开始下面的
可扩展嵌入差值搜索循环;
步骤2、令7;=0, r,O,则当前内区域为[O, O],图3和图4中的/(《)表示
第《柱上差值的个数,此时,可扩展嵌入的差值个数为coimt= /(0)。再判断coimt
>/7(0+ /;(/>)是否成立,式中P为输入的实际负载,如果上式成立,则说明已
经找到足够数量的可扩展嵌入差值,退出搜索循环,否则,进行下一步操作; 步骤3、令r,o不改动,同时让T;增l,则当前内区域变为[-l, O],可扩展
嵌入的差值个数count-/(0)+/(-1)。再判断counts 7/(2)+7(尸)是否成立,如成 立,则说明已经找到足够数量的可扩展嵌入差值,退出搜索循环;如不成立, 则入步骤4所述进一步增加可嵌入位置;
步骤4、令7;增1,同时不改动7]=1,则当前内区域变为[-l,l],可扩展嵌入
的差值个数(:011加=/(0)+ /(-1)+/(1)。判断counts/7(2)+ /7(户)是否成立,如成立,
则确定内区域的边界7;=1, ?;=1,结束搜索循环,否则,重复步骤3和4,直到 counts; (0十;7(户)成立,即可确定满足内区域[-7;, r,]。
图3显示出了所选中的可扩展差值位于对称轴两边的内区域[-r,, t;]中。
确定内区域后,差值直方图中内区域以外的区域统称为外区域。其中,图3和 图4中的-《 ,和《^分别表示整个嵌入端进行负载嵌入前后的差值范围的左、右边界。
如图4所示,使用经典差值扩展公式(3)后内区域将扩大,变成[-27],27;+l]。 为了保证图像的无损还原,必须平移外区域,使扩展嵌入后的内区域与外区域 不相交。外区域平移公式为
上述方法是让第o柱差值向右扩展,实际上,也可以让第o柱差值向左扩
展。向哪个方向扩展由差值直方图的特征决定。对于真实世界的矢量地图,所 得到的差值直方图很可能完全对称,出现一边拖尾长, 一边短。由于平移同样
改变顶点值,为了减少平移给地图质量所带来的影响,本发明的方法让第0柱
差值向拖尾短的一侧平移,以减少需要平移的差值的数目。当第0柱差值向左扩展时,第0柱差值向左扩展的经典差值扩展嵌入公式
如下
々=2《-/ (6)
无论使用公式(3)还是(6)对本发明没有本质性的影响,只是轻微改善地图质 量。给定实际负载后,可根据差值直方图的拖尾情况决定使用(3)还是(6)。本实 施例下面的描述,还是以(3)式为例子,而以(6)为例子的情况完全类似。
第四阶段,实际负载和临时位流的扩展嵌入和平移
为了在接收端提取所嵌入的数据并无损还原出原始的矢量地图,本发明设 计一个头文件2来保存嵌入端负载嵌入过程的参数信息,也即记录实际负载和临 时位流的扩展嵌入和平移信息以及最后一个扩展嵌入点的位置信息。G的结构如 下内区域第O柱差值的扩展嵌入方向标志F (1比特)+7; (16比特)+7; (16
比特)+最后一个扩展嵌入点的位置信息(32比特)。上节搜索循环结束时,通 常count〉;7(2) + ;7(户),即内区域所提供的可扩展嵌入差值并没有被当前的实际 负载和临时位流耗尽,故本发明提出在完成临时位流的嵌入后中止扩展嵌入和 平移,以达到精确控制容量并减少嵌入形变的目的。
头文件提供了数据提取过程所必需的信息。本发明利用最小意义位置换操
作将e的信息直接保存在前we)个顶点的x坐标的最小意义位上,而这些位置上
原有的最小意义位则构成一个临时位流,等负载扩展嵌入完毕后再进行扩展嵌 入。实际负载和临时位流的扩展嵌入和平移操作步骤如下
步骤l、从头按顺序扫描差值序列,将负载P逐比特扩展嵌入到/7(户)个差值 中。这里有两种情况如果当前差值位于内区域,则使用(3)式通过差值扩展 的方式嵌入;如果当前差值位于外区域,则使用(5)式将当前差值进行平移, 扩展嵌入和平移是同时进行的;
步骤2、在负载嵌入完毕后,以同样的方式嵌入上述最小意义位所构成的临 时位流;
步骤3、当完成实际负载和最小意义位临时位流嵌入后,记录最后一个扩展
嵌入点的坐标位置信息,根据获取的相关数据,构造头文件e。
第五阶段,重新生成矢量地图的顶点坐标
完成实际负载和最小意义位临时位流的嵌入过程后,利用公式(7)重构矢 量地图的顶点得到含秘顶点
重构含秘顶点后,用头文件G的内容从第一个顶点开始逐比特置换前"(0个顶点x坐标的最小意义位,最后将含秘顶点坐标、置换后的n个顶点坐标以及 顶点坐标序列中其余没有改动的顶点坐标由整数变回浮点数,从而得到含秘矢 量地图,然后将含秘矢量地图传送到接收端。
下面解释第二部分,即实际负载提取和原始矢量地图恢复过程。 第一阶段,获取头文件信息
从含秘矢量地图顺序读入顶点坐标序列,将顶点由浮点数转换为整数。然
后从前7(0个顶点X坐标的最小意义位提取出头文件信息。具体提取过程为 提取第一个比特作为标志位F,接下来的16比特构成7;值,再后面的16比特构 成7;值,最后的32比特构成最后一个扩展嵌入点的坐标。 第二阶段,提取实际负载并恢复地图
逆序扫描顶点坐标,从头文件记录的最后一个扩展嵌入点开始直至前//(0 个顶点,根据公式(2)计算预测误差即差值,判断当前差值的状态,决定进行 何种操作。遇到属于[-2 ;, 2 ;+l]区间的差值,则利用/ = |<|%2抽取所扩展嵌入
的含秘信息位,这里%代表取余运算,然后利用《=^/2」恢复原始地图顶点的坐
标差值,进而利用(l)恢复出原始顶点坐标。遇到不属于[-2z;, 2z;+i]区间的
差值,利用如下反平移变换公式(8)恢复出原始地图的坐标差值,进而利用(l) 恢复出原始顶点坐标。需要指出的是,所抽取出的前;/(0个比特用于恢复经最 小意义位置换而改变的前^^个顶点的x坐标,其后所抽取出的比特全部是负载
比特。此过程结束后,将恢复的顶点包括最后一个扩展嵌入点之后的未改动的
顶点坐标由整数转换为浮点数,可获得原始的矢量地图。
<formula>formula see original document page 15</formula>
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1、用于矢量地图的可逆数据隐藏方法,包括嵌入端负载嵌入过程和接收端负载提取和矢量地图恢复过程,其特征在于,所述嵌入端负载嵌入过程包括如下步骤a.用户选择并输入待嵌入的矢量地图到嵌入端,从矢量地图中顺序读入所有的顶点坐标组成顶点坐标序列,设所具有的顶点坐标数量为m,m为自然数;b.从顶点坐标序列中自定义n个顶点坐标用于保存头文件,n为自然数,且n小于m,用该n个顶点坐标的最小意义位构成一个临时位流,由其余的m-n个顶点坐标求取出差值组成差值序列,由差值序列构建差值直方图;c.根据用户提供的地图精度容忍度在差值直方图中确定一个可扩展嵌入差值的最大内区间,位于该最大内区间内的差值的总数减去n后即为嵌入的负载容量极限,用户根据负载容量极限输入需嵌入的实际负载,根据实际负载容量和n从所述最大内区间中确定实际需要进行扩展嵌入的内区域,定义差值直方图中内区域外的区域为外区域;d.顺序扫描差值序列,将输入的实际负载扩展嵌入到所述内区域的差值中,实际负载嵌入完毕后,继续顺序扫描差值序列,将临时位流扩展嵌入到内区域尚未嵌入实际负载的差值中,当临时位流扩展嵌入完毕后,结束扫描;在进行实际负载和临时位流扩展嵌入的扫描过程中,根据实际负载和临时位流的扩展嵌入情况设定平移约束条件,将符合该平移约束条件的外区域中已扫描的差值同时进行平移;在临时位流扩展嵌入结束后,生成记录最后一个扩展嵌入点的位置信息、实际负载及临时位流的扩展嵌入信息以及平移信息的头文件;e.根据扩展嵌入和平移后的差值重新生成含秘顶点坐标,然后,以最小意义位置换的方式将头文件保存到步骤b所述n个顶点坐标的最小意义位,由含秘顶点坐标、置换后的n个顶点坐标以及顶点坐标序列中其余没有改动的顶点坐标得到含秘矢量地图,然后将含秘矢量地图传送到接收端;所述接收端负载提取和矢量地图恢复过程为接收端按照步骤a至e所述的嵌入端负载嵌入过程的逆过程从含秘矢量地图中提取出实际负载和恢复出矢量地图。
2、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征 在于步骤b所述由其余的m-n个顶点坐标求取出差值的方法采用基于顶点坐 标预测误差方法。
3、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征在于所述步骤C确定所述内区域的具体方法如下根据用户输入的实际负载容量和n动态调节内、外区域的门限,从差值0 开始在差值直方图的对称轴两边交替扩大内区域,选择绝对值意义上的小差值 作为嵌入对象,直到所选择的内区域中的可扩展嵌入差值的个数满足实际负载容量和n的要求,即可确定该实际负载容量和n所对应的内区域为[-r,, t;],其 中-r,和 ;分别为内区域的左、右边界。
4、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征 在于步骤d所述实际负载扩展嵌入的方法采用经典差值扩展嵌入方法。
5、 根据权利要求1或4所述的一种用于矢量地图的可逆数据隐藏方法,其特征在于步骤d所述临时位流扩展嵌入的方法采用经典差值扩展嵌入方法。
6、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征 在于步骤d所述实际负载和临时位流扩展嵌入的方法采用内区域第0柱差值向左扩展的差值扩展嵌入方法。
7、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征在于步骤d所述实际负载和临时位流扩展嵌入的方法采用内区域第0柱差值向右扩展的差值扩展嵌入方法。
8、 根据权利要求6或7所述的一种用于矢量地图的可逆数据隐藏方法,其特征在于所述头文件根据内区域第0柱差值的扩展嵌入方向标志、内区域的左边界绝对值r,、内区域的右边界 ;和最后一个扩展嵌入点的位置信息来构造。
9、 根据权利要求l所述的一种用于矢量地图的可逆数据隐藏方法,其特征 在于所述接收端负载提取和矢量地图恢复过程的具体操作为顺序读入含秘矢量地图的全部顶点坐标,先从前n个顶点坐标中提取头文件,获得实际负载和临时位流的扩展嵌入和平移信息,以及最后一个扩展嵌入 点的位置信息,然后从最后一个扩展嵌入点的位置开始,逆序扫描顶点序列,根据该扩展嵌入和平移信息区分扩展嵌入后的差值与平移后的差值;根据扩展 嵌入后的差值恢复出实际负载和该扩展嵌入后的差值在扩展嵌入前的原始数 值,以及所述n个顶点坐标的最小意义位,利用所述扩展嵌入后的差值在扩展 嵌入前的原始数值恢复出相应的原始顶点坐标,利用所述n个顶点坐标的最小 意义位恢复出所述n个顶点坐标,对平移后的差值进行反平移操作恢复出该平 移后的差值在平移前的原始数值,进而恢复出相应的原始顶点坐标;结合所述 顶点坐标序列中其余没有改动的顶点坐标恢复出原始矢量地图。
10、根据权利要求1、 2、 3、 4、 6、 7、 9中任一项所述的一种用于矢量地 图的可逆数据隐藏方法,其特征在于所述自定义n个顶点坐标为所述顶点坐 标序列中的前65个顶点坐标。
全文摘要
本发明为用于矢量地图的可逆数据隐藏方法,步骤为顺序读入矢量地图的顶点坐标组成顶点坐标序列;定义n个顶点坐标用于保存头文件,用其最小意义位构成临时位流,由其余顶点坐标求取出差值组成差值序列并构建差值直方图;根据地图精度容忍度确定可扩展嵌入差值的最大内区间和负载容量极限,从最大内区间中确定实际嵌入的内区域和外区域,将实际负载、临时位流扩展嵌入到内区域的差值中,将外区域的差值进行平移,结束后生成头文件;重新生成含秘顶点坐标,将头文件保存到n个顶点坐标的最小意义位,得到含秘矢量地图传送到接收端;接收端按照负载嵌入的逆过程提取实际负载和恢复矢量地图。本发明提高了嵌入容量,能无损恢复矢量地图及隐藏的数据。
文档编号G06T5/00GK101540038SQ20091003910
公开日2009年9月23日 申请日期2009年4月29日 优先权日2009年4月29日
发明者璐 周, 曾华飞, 胡永健 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1