首页> 中国专利> 空域和频域相结合的矢量空间数据多重盲水印方法

空域和频域相结合的矢量空间数据多重盲水印方法

摘要

数字水印被认为是一种有效的数字地图版权保护方法。如果在某一方面鲁棒性不高的水印,就会导致水印被破坏或删除,那么数据将失去保护。目前,就矢量空间数据水印而言,根据水印的嵌入位置,矢量空间数据水印算法可以分为:空域水印算法和频域水印算法。但是,这些水印算法大多采用单一水印技术,每一种水印技术都是基于一种算法程序来实现。矢量空间数据采用单一的一种数字水印技术,往往不能抵抗多种不同类型的攻击。针对单一水印算法难以抵抗多种水印攻击的问题,本发明构建了一种新的“空域和频域相结合的矢量空间数据多重盲水印放发”该算法通过混沌置乱水印图像,建立水印与载体数据之间的Hash单向映射函数,使用两种不同的嵌入方法,先后嵌入水印到空域和DFT域。水印被多次嵌入,实现了水印的盲提取。

著录项

  • 公开/公告号CN104680472A

    专利类型发明专利

  • 公开/公告日2015-06-03

    原文格式PDF

  • 申请/专利权人 兰州交通大学;

    申请/专利号CN201410376063.7

  • 申请日2014-08-02

  • 分类号G06T1/00(20060101);

  • 代理机构

  • 代理人

  • 地址 730070 甘肃省兰州市安宁西路88号兰州交通大学708信箱

  • 入库时间 2023-12-18 09:13:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-29

    授权

    授权

  • 2015-07-01

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

    实质审查的生效

  • 2015-06-03

    公开

    公开

说明书

技术领域

本发明属于地图学与地理信息科学技术领域,是一种空域和变换域结合的矢量地理空间数据盲水印算法。

背景技术

矢量地理空间数据是国家重要的战略性信息资源,是经济、军事、国防建设和社会发展的基础数据,获取通常要借助于昂贵的专业设备和花费大量的人力、物力,所以,其版权保护至关重要。矢量地理空间数据以数字化的形式保存,在方便数据拷贝和传播的同时,也使盗版变得极其容易。目前,迫切需要可靠的技术保障地理空间数据的安全,数字水印被认为是一种有效的数字地图版权保护方法。

根据水印的嵌入位置,矢量空间数据水印算法可以分为:空域水印算法和频域水印算法。空域水印是直接在空间数据上嵌入水印,具有水印容量大、算法简单、不可见性好等特点;频域水印算法是首先从空间数据中选取顶点坐标,并按一定的规则进行组织,然后进行某种数学变换,将水印嵌入到它们的变换系数中,最后再经反变换输出含水印信息的载体数据。一般而言,频域算法鲁棒性较好,是目前研究的重点。

但是,这些水印算法大多采用单一水印技术,每一种水印技术都是基于一种算法程序来实现。矢量空间数据采用单一的一种数字水印技术,往往不能抵抗多种不同类型的攻击。目前为止,没有哪一种水印技术可以抵抗所有的水印攻击。如果在某一方面鲁棒性不高的水印,就会导致水印被破坏或删除,那么数据将失去保护。因此,基于多种水印方法的组合,采取不同的水印技术手段,取长补短,进行有效的组合,来防范不同的水印攻击,是行之有效的数字水印研究方向之一。

发明内容

针对上述情况,本发明提出“空域和频域相结合的矢量空间数据多重盲水印方法”。多重水印是指在同一个载体中以多种方式嵌入多个水印的技术,它将多个水印标识通过多种方式嵌入到载体中,从不同方面提高了水印的鲁棒性和安全性。

本发明方法包括:空域水印嵌入算法、DFT域水印嵌入算法和水印提取算法。

整个多重水印嵌入流程如图1所示。算法中嵌入两个不同的水印图像如图2。为了消除水印图像像素之间的相关性,同时增强水印的安全性,水印图像在嵌入之前,应用Logistic混沌算法置乱。混沌变换的初始值可以作为水印信息提取的密钥。

空域水印嵌入算法:本算法以矢量图形对象为单位嵌入水印1。步骤如下,第一步,读取矢量地理空间数据,提取坐标点的X,Y值,提取空间数据坐标值中高位有效位部分,记为ix,iy;第二步,计算Hash(ix)和Hash(iy)的值i,Hash()函数为坐标点与水印比特之间的哈希映射函数;第三步,提取该坐标点需要嵌入的水印位w[i](1                                               );第四步,通过QIM方法,在坐标点中嵌入水印,取量化值R=100,以X坐标为例,依次对该对象所有坐标点x、y嵌入水印。

DFT域水印嵌入算法:在空域水印嵌入完成后,以含水印1的空间数据为载体,同样以矢量图形对象为单位,再次嵌入水印2。步骤如下:第一步,读取空间数据坐标点,产生复数序列{ak};第二步,对序列{ak}进行DFT变换,变换后的DFT系数{al},该序列包括幅度系数{|Al|}和相位系数{∠Al};第三步,应用QIM量化方法,水印嵌入到幅度系数{|Al|}和相位系数{∠Al},计算得出嵌入水印后的系数。对{进行离散傅里叶逆变换,得到嵌入水印后的复数序列{a’k};第四步,根据序列{a’k}修改相应顶点坐标,得到嵌入水印后的矢量数据。输出保存含水印矢量空间数据。

水印提取是水印嵌入的逆过程。由于采用不同的算法嵌入了不同的水印,因此两个水印应分别提取。

空域水印提取过程如下:

首先,提取空间数据坐标值;然后计算出水印的位置,用QIM量化方法提取水印位;再次,对提取到的一维水印序列,进行升维处理并反置乱,得到最终水印图像。

DFT域水印提取过程如下:

采用嵌入水印时的量化值R,计算出DFT变换系数所在的量化区间,各自提取出幅度系数水印和相位系数水印;对提取到的两个一维水印序列,变换为二维图像并反置乱,得到最终水印图像。

本发明方法先进、科学,克服了单重水印抗攻击能力弱的缺点,提高了水印的整体抗攻击能力。空域水印对顶点增加、压缩、顶点修改、噪声等攻击优势明显;DFT域水印具有很好的抵抗几何攻击的能力。同时两种算法对裁剪、要素删除、乱序、数据格式转换抗攻击能力强。试验分析表明,该算法具有很好的不可见性,水印嵌入误差小。两种水印都采用盲水印,具有很好的实用性。

附图说明

图1 是多重水印嵌入流程图

图2(a) 是水印1

图2(b) 是水印2

图2(c) 是置乱后水印1

图3(a) 是嵌入水印前后叠加对比图

图3(b) 是叠加后局部放大图

表1 是均方根误差和最大误差统计表

数据点数最大误差均方根误差误差小于6E-4202928.8616E-45.0154E-4占75%

表2 是増、删点及裁剪攻击的鲁棒性

攻击类型增点54272修改10%点修改50%点裁剪剩1/2裁剪剩1/4水印NC0.9910.991          10.979       0.984

表3是压缩、要素删除攻击的鲁棒性

攻击类型压缩至9239个点删除10%要素删除20%要素删除50%要素水印NC0.997  1         11         11         1

表4 是几何攻击的鲁棒性

攻击类型X,Y平移5旋转5o平移5旋转5o放大2倍缩小0.5倍水印NC11111

具体实施方式

为了详细说明本发明的技术内容、构造特征、所实现的目的及所达到的效果,以下结合具体实施方式详细说明。

空域水印嵌入算法

本算法以矢量图形对象为单位嵌入水印1。具体嵌入算法流程如下:

(1)   读取矢量地理空间数据,提取坐标点的X,Y值,提取空间数据坐标值中高位有效位部分,记为ix,iy

(2)   计算Hash(ix)和Hash(iy)的值i,Hash()函数为坐标点与水印比特之间的哈希映射函数;

(3)   提取该坐标点需要嵌入的水印位w[i](1),w为置乱后的水印,M为水印的长度;

(4)   通过QIM方法,在坐标点中嵌入水印,取量化值R=100,以X坐标为例:

此时分两种情况进行讨论:

(a)   如果W(i)=0 并且 MOD(x,R)>R/2

          x=x-R/2;

(b)  如果 W(i)=1 并且 MOD(x,R)<=R/2

          x=x+R/2;

(5)   依次对该对象所有坐标点x、y嵌入水印。

在水印嵌入中,可以根据空间数据的单位及大小,合理提取高位有效位,使得Hash函数的值均匀介于1~M之间。通过QIM量化方法嵌入水印时,如果直接量化嵌入,则水印就会嵌入坐标值的整数位部分,会导致数据误差太大。在水印嵌入之前,通过放大坐标值,然后量化嵌入,再缩小数据。这样就会使水印嵌入到坐标值的小数位部分。大大减小水印嵌入引起的误差。

DFT域水印嵌入算法

在空域水印嵌入完成后,以含水印1的空间数据为载体,同样以矢量图形对象为单位,再次嵌入水印2。具体嵌入算法流程如下:

1)      读取空间数据坐标点,根据式(1)产生复数序列{ak};

ak = xk + iyk   (k=1,…,N)     (1)

其中xk , yk为顶点坐标值, N为图形对象顶点数目。

2) 对序列{ak}进行DFT变换,变换后的DFT系数{al}。该序列包括幅度系数{|Al|}和相位系数{∠Al};

3) 应用QIM量化方法,水印嵌入到幅度系数{|Al|}和相位系数{∠Al}。通过式(2)计算得出嵌入水印后的系数;

  (2)

其中R为量化值。在量化嵌入过程中,分别对{|Al|}和{∠Al}系数放大10n倍,原因在于水印应嵌入变换系数的小数位部分,以减小水印嵌入引起的误差。水印嵌入完成后再缩小系数。n的值可以根据变换系数的大小及嵌入水印的强度来确定。

4) 对{进行离散傅里叶逆变换,得到嵌入水印后的复数序列{a’k};

5) 根据序列{a’k}修改相应顶点坐标,得到嵌入水印后的矢量数据;

6) 输出保存含水印矢量空间数据。

水印提取算法

水印提取是水印嵌入的逆过程。由于采用不同的算法嵌入了不同的水印,因此两个水印应分别提取。

空域水印提取过程如下:

1)      读取待测数据,提取坐标点的X,Y值,提取空间数据坐标值中高位有效位部分记为ix,iy

2)      通过Hash()函数,计算出i(i是水印的位置);

3)      通过QIM量化方法提取水印位W(i)的值,R取嵌入水印时的量化值;

4)      对提取到的一维水印序列,进行升维处理并反置乱,得到最终水印图像。

DFT域水印提取过程如下:

1)      读取待测数据,读取空间数据坐标点,根据式(1)产生复数序列{a’k};

2)      对序列{a’k}进行DFT变换,得到离散傅里叶系数{;

3)      对{幅度系数和相位系数分别放大10n倍,采用嵌入水印时的量化值R,计算出系数所在的量化区间,各自提取出幅度系数水印和相位系数水印;

4)      对提取到的两个一维水印序列,变换为二维图像并反置乱,得到最终水印图像。

在两个水印算法中,每一个水印都被多次嵌入,因此采用投票原则来确定水印信息。计算方法是:定义一个与水印序列等长的整数序列{B(i)=0, i=1,…,M},M为水印长度。单个水印位={1,-1},相同水印位提取过程中,使用公式B(i)= B(i)+来统计出水印信息值-1和1的多数,如“1”为多数,则;然后根据公式(3)来重构出二值水印图像。

             (3)

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号