发明名称 一种基于栅格地图特征的小波域零水印方法
摘要 本发明公开了一种基于栅格地图特征的小波域零水印方法。现有的水印的嵌入过程复杂化,消耗计算时间太长,不利于实际应用。本发明包括水印信息嵌入和水印信息检测。水印信息嵌入是指提取原始栅格地图的零水印信息,保存入库。水印信息检测是指将待检测栅格地图中提取的零水印信息与水印信息库中的水印信息操作得到最后水印信息。本发明具有较好的隐蔽性,可以克服可逆数字水印中存在的安全漏洞。
申请公布号 CN102129660A 申请公布日期 2011.07.20
申请号 CN201110072273.3 申请日期 2011.03.24
申请人 浙江工商大学 发明人 王勋;凌云;章志勇;林传峰;黄定军
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种基于栅格地图特征的小波域零水印方法,其特征在于该方法包括水印信息嵌入和水印信息检测;所述的水印信息嵌入是指提取原始栅格地图的零水印信息,保存入库,具体包括以下步骤:步骤(1)调制水印信息,二值水印图结合密钥和运用Arnold变换把水印信息置乱,得到二进制比特流w,具体是:设定水印图像为N×N的二值图,则水印信息长度为<i>l</i>=N×N,采用离散化的Arnold 变换并结合密钥得到最终水印信息比特流w=(w<sub>1</sub>,w<sub>2</sub>,...,w<sub>i</sub>,...,w<sub>l</sub>),其中w<sub>i</sub>∈{0,1},0≤i&lt;<i>l</i>;同时生成两个长度为<i>l</i>的二进制比特流x=(x<sub>1</sub>,x<sub>2</sub>,...,x<sub>i</sub>,...,x<sub>l</sub>)和y=(y<sub>1</sub>,y<sub>2</sub>,...,y<sub>i</sub>,...,y<sub>l</sub>),用来保存特征数据,其中x<sub>i</sub>=y<sub>i</sub>=0,0≤i&lt;<i>l</i>;步骤(2)对栅格地图数据进行分块处理:根据水印信息的长度<i>l</i>,把栅格地图数据分成<i>l</i>块<i>,</i>且每块大小为M×M方形小块;然后进行以下步骤:步骤a、对每个M×M的小块数据进行二维sym2小波分解,分解级数为2;步骤b、对第i块小波系数中的LL2<sub>i</sub>和HH2<sub>i</sub>系数分别进行统计:取LL2<sub>i</sub>中的最小值与最大值,均分成十个等间隔的区间,把LL2<sub>i</sub>中的元素分到此十个区间之内,并返回每个范围内元素的个数作为一个一维向量,记为V<sub>1</sub>,再取HH2<sub>i</sub>中的最小值与最大值,均分成十个等间隔的区间,把HH2<sub>i</sub>中的元素分到此十个区间之内,并返回每个范围内元素的个数作为一个一维向量,记为V<sub>2</sub>;步骤c、分别对向量V<sub>1</sub>和V<sub>2</sub>的元素进行从大到小的排序,记为V<sub>1</sub><sup>’</sup>和V<sub>2</sub><sup>’</sup>,获得V<sub>1</sub><sup>’</sup>排在向量前面的两个元素A<sub>1</sub><sup>’</sup>、B<sub>1</sub><sup>’</sup>,以及他们在向量V<sub>1</sub>中的位置H<sub>A1</sub>、H<sub>B1</sub>,获得V<sub>2</sub><sup>’</sup>排在向量前面的两个元素A<sub>2</sub><sup>’</sup>、B<sub>2</sub><sup>’</sup>,以及他们在向量V<sub>2</sub>中的位置H<sub>A2</sub>、H<sub>B2</sub>,然后做如下处理:如果abs(H<sub>A1</sub>-H<sub>B1</sub>)&gt;T,则令x<sub>i</sub>=1;如果abs(H<sub>A1</sub>-H<sub>B1</sub>)<img file="2011100722733100001DEST_PATH_IMAGE002.GIF" wi="18" he="21" />T,则令x<sub>i</sub>=0;如果abs(H<sub>A2</sub>-H<sub>B2</sub>)&gt;T,则令y<sub>i</sub>=1;如果abs(H<sub>A2</sub>-H<sub>B2</sub>)<img file="703451DEST_PATH_IMAGE002.GIF" wi="18" he="21" />T,则令y<sub>i</sub>=0;其中,abs()代表取绝对值,T代表阈值;步骤(3)生成零水印信息:把置乱后的水印信息二进制比特流w和x进行异或操作得到零水印信息I<sub>1</sub>,二进制比特流w和y进行异或操作得到零水印信息I<sub>2</sub>;步骤(4)保存零水印信息:把生成的零水印信息I<sub>1</sub>和I<sub>2</sub>保存到水印信息库中,以备检测时需要;所述的水印信息检测是指将待检测栅格地图中提取的零水印信息与水印信息库中的水印信息操作得到最后水印信息,具体步骤如下:步骤(5)根据待检测栅格地图数据,取出水印信息库中的水印信息I<sub>1</sub>和I<sub>2</sub>,并生成两个长度为<i>l</i>的二进制比特流α=(α<sub>1</sub>,α<sub>2</sub>,...,α<sub>i</sub>,...,α<sub>l</sub>)和β=(β<sub>1</sub>,β<sub>2</sub>,...,β<sub>i</sub>,...,β<sub>l</sub>),用来保存特征数据,其中α<sub>i</sub>=β<sub>i</sub>=0,0≤i&lt;<i>l</i>;;步骤(6)对待检测栅格地图数据进行分块处理:根据水印信息的长度,把栅格地图数据分成每块大小为M×M的小块;然后进行以下步骤: 步骤d、对每个M×M的小块数据进行二维sym2小波分解,分解级数为2;步骤e、对第i块小波系数中的LL2<sub>i</sub>和HH2<sub>i</sub>系数分别进行统计:取LL2<sub>i</sub>中的最小值与最大值,均分成十个等间隔的区间,把LL2<sub>i</sub>中的元素分到此十个区间之内,并返回每个范围内元素的个数作为一个一维向量,记为V<sub>3</sub>,再取HH2<sub>i</sub>中的最小值与最大值,均分成十个等间隔的区间,把HH2<sub>i</sub>中的元素分到此十个区间之内,并返回每个范围内元素的个数作为一个一维向量,记为V<sub>4</sub>;步骤f、分别对向量V<sub>3</sub>和V<sub>4</sub>的元素进行从大到小的排序,记为V<sub>3</sub><sup>’</sup>和V<sub>4</sub><sup>’</sup>,获得V<sub>3</sub><sup>’</sup>排在向量前面的两个元素C<sub>3</sub><sup>’</sup>、D<sub>3</sub><sup>’</sup>,以及他们在向量V<sub>3</sub>中的位置H<sub>C3</sub>、H<sub>D3</sub>,获得V<sub>4</sub><sup>’</sup>排在向量前面的两个元素C<sub>4</sub><sup>’</sup>、D<sub>4</sub><sup>’</sup>,以及他们在向量V<sub>4</sub>中的位置H<sub>C4</sub>、H<sub>D4</sub>,然后做如下处理:如果abs(H<sub>C3</sub>-H<sub>D3</sub>)&gt;T,则令α<sub>i</sub>=1;如果abs(H<sub>C3</sub>-H<sub>D3</sub>)<img file="824991DEST_PATH_IMAGE002.GIF" wi="18" he="21" />T,则令α<sub>i</sub>=0;如果abs(H<sub>C4</sub>-H<sub>D4</sub>)&gt;T,则令β<sub>i</sub>=1;如果abs(H<sub>C4</sub>-H<sub>D4</sub>)<img file="194793DEST_PATH_IMAGE002.GIF" wi="18" he="21" />T,则令β<sub>i</sub>=0;步骤(7)得到检测信息:把α和I<sub>1</sub>进行异或操作,得到w<sub>1</sub><sup>’</sup>,把β和I<sub>2</sub>进行异或操作,得到w<sub>2</sub><sup>’</sup>;步骤(8)反置乱水印信息:把二进制比特流w<sub>1</sub><sup>’</sup>、w<sub>2</sub><sup>’</sup>结合密钥进行Arnold反变换提取出最终的水印图像I<sub>1</sub><sup>’</sup>和I<sub>2</sub><sup>’</sup>。
地址 310018 浙江省杭州市下沙高教园区学正街18号