[发明专利]一种基于像素序关系不变的非盲鲁棒空域图像水印方法有效

专利信息
申请号: 201710253044.9 申请日: 2017-04-18
公开(公告)号: CN107067363B 公开(公告)日: 2018-09-04
发明(设计)人: 姚孝明;王豪 申请(专利权)人: 海南大学
主分类号: G06T1/00 分类号: G06T1/00
代理公司: 海口翔翔专利事务有限公司 46001 代理人: 莫臻
地址: 570228 海南省*** 国省代码: 海南;46
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于信息技术领域,具体涉及一种基于像素序关系不变的非盲鲁棒空域图像水印方法,包括版权水印嵌入和版权水印提取检测两部分,其中,版权水印嵌入包括原图像I和水印W的排序、随机选取嵌入水印的位置、嵌入水印、获得公开图像等;版权水印提取检测包括、数据排序、生成水印提取参数、获取二维水印W’、将W和W’按图像方式显示并加以对比,证实版权权益所属;或按既有水印检测方式来确认。本发明通过利用空域图像相对稳定的像素序关系,在图像质量满足的条件下其容量及嵌入深度可以任意调节,能够抵抗常见的图像攻击,具有容量大、鲁棒性强、可抗组合攻击等特点,为多媒体数字作品版权权益保护提供了坚实的技术支持。
搜索关键词: 水印 空域图像 水印提取 序关系 像素 嵌入 嵌入水印 鲁棒 信息技术领域 图像 多媒体数字 版权权益 二维水印 技术支持 权益保护 任意调节 数据排序 水印检测 随机选取 图像方式 图像攻击 作品版权 鲁棒性 原图像 检测 排序 抵抗 攻击
【主权项】:
1.一种基于像素序关系不变的非盲鲁棒空域图像水印方法,其特征在于,包括版权水印嵌入和版权水印提取检测两部分,其过程如下:一)、版权水印嵌入(1)原载体图像I和水印W的排序:将原载体图像和水印由二维矩阵数据按照逐行相连方式转化为一维数组,并将其按照从小到大的顺序排序,公式如下:[Ist,Ixu]=sort(I)[Wst,Wxu]=sort(W)len_I=length(Ist)len_W=length(Wst)其中sort()为排序函数算法;length()为长度函数;Ist、Wst分别为按从小到大顺序排序后的原载体图像和水印一维数组数据;Ixu、Wxu为Ist、Wst在原载体图像数据中的平面坐标信息;len_I和len_W分别为Ist和Wst的数组长度;(2)随机选取嵌入水印的位置:根据水印数组长度为len_W、随机种子密钥key1及取值范围为0~1之间的伪随机数生成器函数random(),来随机确定Ist中一个长度为len_W的伪随机一维数组β1,具体步骤如下:①生成一维伪随机数数组随机数范围可以在1~len_I中任意选取,只要选取的起点start和终点end之间间隔大于len_W即可;当start=1,end=len_I,则所选范围为整个Ist;其它情况则只选用了Ist的一部分;具体公式如下:β1=random(key1,len_W)×(end‑start+1)+start②取整由于位置坐标是整数,需要按以下公式对β1进行取整,其中round()为对数组内每个元素实施四舍五入方法,即:β1=round(β1)③排序将上述β1按从小到大顺序排序,最后结果作为嵌入位置信息β1:β1=sort(β1)其中sort()为排序函数算法,函数内变量β1为上一步骤生成的一维随机数嵌入位置序列;(3)嵌入水印按照下式,根据嵌入深度α1和嵌入位置信息β1将水印信息嵌入:Ist'(β1)=Ist(β1)+α1×Wst(4)调整Ist'的部分像素值,确保嵌入前后的总体序不变,具体方法如下:①计算Ist'和Ist的差值:diff_I=Ist'‑Ist②根据diff_I寻找嵌入不同水印数值的分界点:a.对于二值水印,则从diff_I开头直接找到首次取值等于α1×1的数组下标i1即可,得到的分界点div为{1,i1,len_W};b.对于灰度水印,由于取值范围为[0,5],故从diff_I开头分别寻找首次取值为α1×1、α1×2、……、α1×5的数组下标i1,i2,i3,i4,i5,最后得到的分界点div为{1,i1,i2,i3,i4,i5,len_W};③根据嵌入水印分界点div进行以下操作来维持原序关系:对于Ist'中位置坐标在1~i1之间的数值其实际嵌入水印为0,故对此部分不做处理;对于坐标在i1~i2的数值其实际嵌入水印为1,对这里的处理是加上1×α1,具体公式为:Ist'(i1~i2)=Ist'(i1~i2)+α1×1‑diff_I(i1~i2)以此类推,对于灰度水印,需要对i2~i3,i3~i4,i4~i5之间的数据重复以上操作,直到坐标在i5~len_W之间的数据加上α1×5为止;(5)直方图人工“空隙”调整:按序嵌入不同像素值的水印,Ist'的直方图在嵌入水印数据的分界点div边侧将出现明显的人工“空隙”,即若干连续像素值出现的频次值均为0,表现在直方图上即为若干连续像素值纵向频次分布子图在横向上的整体后移,从而暴露嵌入位置信息;为避免被攻击者利用,故而采取将“空隙”随机分散的方法来从视觉上隐藏这些“空隙”,具体方法如下:①确定范围:对于某个具体“空隙”,可选取其左侧的若干像素值进行适当的右移以分散原密集的“空隙”;由版权水印嵌入步骤(4)可知第一个分界点位置为div中的i1,由于嵌入强度为α1,可知直方图“空隙”宽度为alpha=α1‑1;将“空隙”左右两侧标记为left和right,则初始left=i1‑1,right=i1,其对应的像素值即为Ist'(left)和Ist'(right);②人工空隙隐藏算法为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作:a.选取一个1~10之间的随机整数beta;b.若Ist'(left)‑beta频次为0或Ist'(left)‑beta+1频次为0,则令beta=beta+1,重复直到Ist'(left)‑beta和Ist'(left)‑beta+1的频次都不为0为止;其中若Ist'(left)‑beta由于图像数据为整数,需要按以下公式对其进行取整,其中,round()为对数组内每个元素按四舍五入方法取整,即:Ist'=round(Ist')(7)对直方图人工“空隙”的进一步视觉隐藏处理:由于经过上述步骤处理后,直方图存在众多分散的宽度为1的不连续人工“空隙”,因此当原载体图像直方图整体缺少或没有“空隙”时需要做进一步的视觉隐藏处理以填充、掩盖这些人工“空隙”;否则,可以跳过该步骤;设accounts()为计算某像素值出现频次的函数,为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作,具体过程如下:遍历Ist'中各个像素值,若某个像素值X的对应频次accounts(X)为0,或者accounts(X)<(accounts(X‑1)+accounts(X+1))/4,则选取此像素值左右两侧相邻的5个像素值,将Ist'中这些像素值各取1/10将其赋值为像素值X,这只需要将相应量的像素值增加一个与X的差值即可;(8)获得公开图像I’:①将Ist'按照原载体图像顺序坐标信息Ixu根据下式将其重新排列,可以恢复图像一维数组空间顺序:I'(Ixu)=Ist'②将一维数组按照图像行列大小逐行抽取,可以得到二维公开图像I’;二)、版权水印提取检测(1)数据排序:将原载体图像I和公开图像I'由二维数据逐行相连转化为相应的一维数组,并将其按照从小到大的顺序排序,公式如下:I=sort(I)I'=sort(I')其中sort()为排序函数算法;将原载体图像和公开图像的一维数组形式I、I'分别按从小到大顺序排序;(2)生成水印提取参数KEYa)由嵌入过程中Key1、end、start、len_W计算β1:β1=random(key1,len_W)×(end‑start+1)+startb)由版权水印图像W逐行连接转换为一维数组并排序得到对应的水印位置信息Wxu;c)依公式KEY(Wxu)=β1按Wxu重排列β1得到提取水印位置KEY;d)由KEY分别在原载体图像和公开图像中提取对应位置的像素数据:sub_I=I(KEY)sub_I'=I'(KEY)(3)将获取的数据进行相减处理,提取一维水印信息:watermark=sub_I'‑sub_I(4)然后将watermark一维数组数据按水印图像大小逐行抽取,得到二维水印W’;(5)将W和W’按图像方式显示并加以对比,根据两者相似性,并由此证实版权权益所属;或按既有水印检测方式来确认。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海南大学,未经海南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710253044.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top