首页> 中国专利> 一种基于DCT变换的矢量地图数据盲水印方法

一种基于DCT变换的矢量地图数据盲水印方法

摘要

本发明公开了一种基于DCT变换的矢量地图数据盲水印方法。传统水印算法还很难直接应用在矢量地图数据上。本发明方法的包括水印信息嵌入和水印信息提取。水印信息嵌入是把用户选择的水印信息嵌入到原始矢量地图中得到一个新的矢量地图,具体包括调制水印信息、对矢量地图数据进行分块处理、和嵌入水印信息。水印信息提取是从待检测的矢量地图中提取水印信息内容,具体包括对待检测的矢量地图数据进行分块处理、提取水印信息和生成水印信息图。本发明方法具有较好的鲁棒性,并且是一种盲检算法,具有较好的实用价值。

著录项

  • 公开/公告号CN101847250A

    专利类型发明专利

  • 公开/公告日2010-09-29

    原文格式PDF

  • 申请/专利权人 浙江工商大学;

    申请/专利号CN201010158251.4

  • 发明设计人 王勋;章志勇;黄定军;凌云;

    申请日2010-04-27

  • 分类号G06T1/00(20060101);G06F17/14(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人杜军

  • 地址 310018 浙江省杭州市下沙高教园区学正街18号

  • 入库时间 2023-12-18 00:52:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-23

    授权

    授权

  • 2010-11-17

    实质审查的生效 IPC(主分类):G06T1/00 申请日:20100427

    实质审查的生效

  • 2010-09-29

    公开

    公开

说明书

技术领域

本发明属于多媒体信息安全技术领域,涉及一种针对地理空间数据的基于DCT变换的矢量地图数据盲水印方法。

背景技术

数字水印技术是将代表著作权人身份的特定信息,按照某种方式嵌入被保护的信息中,在产生版权纠纷时,通过相应的算法提取出该数字水印,从而验证版权的归属,确保著作权人的合法利益,避免非法盗版的威胁。被保护的信息可以是任何一种数字媒体,如图像、声音、视频或一般性的电子文档等。数字水印技术运用于数据版权保护和数据真伪检测应用中,是一种可在开放的网络环境下实现信息隐藏与跟踪的新型技术。矢量地图数据水印算法不同于传统的基于图像水印算法,这主要是由于地图数据不具有图像数据应用的普遍性等原因,同时还在于矢量地图数据在数据结构、存储形式、表现方式、应用环境、使用要求以及可能的攻击行为等方面与图像等多媒体数据都不一样,一般的水印算法还很难直接应用在矢量地图数据上。由此可见,数字水印技术在矢量地图数据上的应用具有更加潜在的用途。由于地理空间数据是描述关于人类赖以生存的地球的重要信息,是国家基础性、公益性设施,是国家基础设施建设和地球科学研究的支撑性成果,是国家经济、国防建设中不可缺少的资源,对社会持续发展起着重要作用,因此对于矢量地图数据的水印技术也具有非常好的使用前景。

发明内容

本发明针对现有技术的不足,提供了一种基于离散余弦变换(DCT)的矢量地图数据盲水印方法。

本发明方法的包括水印信息嵌入和水印信息提取。

所述的水印信息嵌入是把用户选择的水印信息嵌入到原始矢量地图中得到一个新的矢量地图,具体步骤包括:

步骤(1)调制水印信息,二值水印图结合密钥和运用Arnold变换把水印信息置乱,得到二进制比特流w:设定水印图像为N×N的二值图,则水印信息长度为l=N×N,采用离散化的Arnold变换并结合密钥得到最终水印信息比特流w=(w1,w2,...,wi,...,w1),其中wi∈{0,1},0≤i<l;

步骤(2)对矢量地图数据进行分块处理:运用四叉树算法把地图划分成矩形网格,使得每个矩形网格内所含的顶点数不小于水印信息长度l×α,并对划分所得的树状结构矩形网格按深度优先排序,其中α表示嵌入每位水印信息所需要的载体数据个数,这里是指α个顶点;

步骤(3)嵌入水印信息:按照深度优先顺序遍历每一块网格,采用步骤a至步骤e完成水印嵌入。具体步骤是:

步骤a、把网格内的所有顶点进行排序,排序规则为:从网格的左上角开始,按照先从左到右、再从上到下的顺序对顶点进行排序;

步骤b、截取顶点坐标:对排好序的所有顶点坐标值减去该网格内最左下顶点坐标值,得到一组顶点坐标差值,并对这组顶点坐标差值放大m倍,m取10、100、1000或10000;

步骤c、DCT变换:把连续α个顶点坐标差值进行一维DCT变换,得到一组长度为α的DCT系数值d,保留d0和da-1取剩下系数值的最小值dmin,即dmin=min{d1,...,da-2},然后水印信息位wi和系数值关系做以下判断操作:

如果wi等于1,而且fabs(dmin)>fabs(da-1),则da-1=fabs(dmin)×β×sign(da-1);否则da-1保持不变;

如果wi等于0,而且fabs(dmin)<fabs(da-1),则da-1=fabs(dmin)×1/β×sign(da-1);否则da-1保持不变;

其中,函数fabs表示取绝对值,函数sign表示取数值的正负符号,β表示放大倍数,β>1;

这样就把一位水印信息嵌入到一组DCT系数中了,

步骤d、重复步骤c直到所有水印信息嵌入到相应的DCT系数中去;

步骤e、DCT反变换:依次把嵌入水印信息的DCT系数做反变换,顶点坐标差值缩小m倍,将缩小后的顶点坐标差值加上网格内最左下顶点坐标值,得到新的坐标值数据。

所述的水印信息提取是从待检测的矢量地图中提取水印信息内容,包括以下步骤:

步骤(1)对待检测的矢量地图数据进行分块处理:运用四叉树算法把地图划分成矩形网格,使得每个矩形网格内所含的顶点数不小于水印信息长度l×α,并对划分所得的树状结构矩形网格按深度优先排序;

步骤(2)提取水印信息:遍历每一块网格块,采用步骤f至步骤i提取水印。具体步骤是:

步骤f、把网格内的所有顶点进行排序;排序规则为:从网格的左上角开始,按照先从左到右、再从上到下的顺序对顶点进行排序;

步骤g、截取顶点坐标:对排好序的所有顶点坐标值减去该网格内最左下顶点坐标值,得到一组顶点坐标差值,并对这组顶点坐标差值放大m倍,m取10、100、1000或10000;

步骤h、DCT变换:把连续α个顶点坐标差值进行一维DCT变换,得到一组长度为α的DCT系数值d,保留d0和da-1取剩下系数值的最小值dmin,即dmin=min{d1,...,da-2},通过判断得到水印信息位wi,判断规则为:如果fabs(dmin)>fabs(da-1),则wi=0;否则wi=1;这样就把一位水印信息从每一组DCT系数中提取出来了;

步骤i、重复步骤h直到从相应的DCT系数中提取出所有水印信息;

步骤(3)生成水印信息图:把提取出的水印信息,通过密钥和Arnold反置乱变换操作,重新生成得到二值水印图。

本发明的有益效果:该方法是在DCT变换域上嵌入水印信息。该方法对矢量地图数据的一般几何变换(平移、缩放、坐标转换、加点、删除和旋转等常规操作)以及数据对象顺序置乱和裁剪等攻击具有较好的鲁棒性,并且是一种盲检算法,具有较好的实用价值。

具体实施方式

本发明方法的包括水印信息嵌入和水印信息提取两部分。

水印信息嵌入就是把用户选择的水印信息嵌入到原始矢量地图中得到一个新的矢量地图,具体步骤包括:

步骤(1)调制水印信息,二值水印图结合密钥和运用Arnold变换把水印信息置乱,得到二进制比特流w:设定水印图像为N×N的二值图,则水印信息长度为l=N×N,采用离散化的Arnold变换并结合密钥得到最终水印信息比特流w=(w1,w2,...,wi,...,w1),其中wi∈{0,1},0≤i<l;

步骤(2)对矢量地图数据进行分块处理:运用四叉树算法把地图划分成矩形网格,使得每个矩形网格内所含的顶点数不小于水印信息长度l×α,并对划分所得的树状结构矩形网格按深度优先排序,其中α表示嵌入每位水印信息所需要的载体数据个数,这里是指α个顶点,一般取值α为8;

步骤(3)嵌入水印信息:按照深度优先顺序遍历每一块网格,采用步骤a至步骤e完成水印嵌入。具体步骤是:

步骤a、把网格内的所有顶点进行排序,排序规则为:从网格的左上角开始,按照先从左到右、再从上到下的顺序对顶点进行排序;

步骤b、截取顶点坐标:对排好序的所有顶点坐标值减去该网格内最左下顶点坐标值,得到一组顶点坐标差值,并对这组顶点坐标差值放大m倍,m取10、100、1000或10000,为了提高矢量地图数据的精度,在一般情况下取值m为10000;

步骤c、DCT变换:把连续α个顶点坐标差值进行一维DCT变换,得到一组长度为α的DCT系数值d,保留d0和da-1取剩下系数值的最小值dmin,即dmin=min{d1,...,da-2},然后水印信息位wi和系数值关系做以下判断操作:

如果wi等于1,而且fabs(dmin)>fabs(da-1),则da-1=fabs(dmin)×β×sign(da-1);否则da-1保持不变;

如果wi等于0,而且fabs(dmin)<fabs(da-1),则da-1=fabs(dmin)×1/β×sign(da-1);否则da-1保持不变;

其中,函数fabs表示取绝对值,函数sign表示取数值的正负符号,β表示放大倍数,β>1;

这样就把一位水印信息嵌入到一组DCT系数中了。

步骤d、重复步骤c直到所有水印信息嵌入到相应的DCT系数中去;

步骤e、DCT反变换:依次把嵌入水印信息的DCT系数做反变换,顶点坐标差值缩小10000倍,将缩小后的顶点坐标差值加上网格内最左下顶点坐标值,得到新的坐标值数据。

水印信息提取是从待检测的矢量地图中提取水印信息内容,包括以下步骤:

步骤(1)对待检测的矢量地图数据进行分块处理:运用四叉树算法把地图划分成矩形网格,使得每个矩形网格内所含的顶点数不小于水印信息长度l×α,并对划分所得的树状结构矩形网格按深度优先排序;

步骤(2)提取水印信息:遍历每一块网格块,采用步骤f至步骤i提取水印。具体步骤是:

步骤f、把网格内的所有顶点进行排序;排序规则为:从网格的左上角开始,按照先从左到右、再从上到下的顺序对顶点进行排序;

步骤g、截取顶点坐标:对排好序的所有顶点坐标值减去该网格内最左下顶点坐标值,得到一组顶点坐标差值,并对这组顶点坐标差值放大1000倍;

步骤h、DCT变换:把连续α个顶点坐标差值进行一维DCT变换,得到一组长度为α的DCT系数值d,保留d0和da-1取剩下系数值的最小值dmin,即dmin=min{d1,...,da-2},通过判断得到水印信息位wi,判断规则为:如果fabs(dmin)>fabs(da-1),则wi=0;否则wi=1;这样就把一位水印信息从每一组DCT系数中提取出来了;

步骤i、重复步骤h直到从相应的DCT系数中提取出所有水印信息;

步骤(3)生成水印信息图:把提取出的水印信息,通过密钥和Arnold反置乱变换操作,重新生成得到二值水印图。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号