一种图像水印嵌入、检测方法及装置的制造方法

文档序号:10613614阅读:368来源:国知局
一种图像水印嵌入、检测方法及装置的制造方法
【专利摘要】本发明实施例公开了一种图像水印嵌入、检测方法及装置,从待处理图像中选取连续的多行像素点;根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。本方案简单实用,能够一定程度的抵抗转码破坏。
【专利说明】
一种图像水印嵌入、检测方法及装置
技术领域
[0001] 本发明涉及图像水印技术领域,特别涉及一种图像水印嵌入、检测方法及装置。
【背景技术】
[0002] 随着互联网和多媒体的飞速发展,数字产品的传播变得越来越方便迅速,由于数 字产品的特性使得任何人都有可能随意对各种数字产品进行复制和修改,这样很可能会严 重损害版权人的利益,因此,需要通过一定的保护手段来保护版权人的利益,对于最常见的 图像来说,一般通过在图像中嵌入不可见信息即水印来保护授权的图像,并可以通过检测 被嵌入水印的图像中的水印来判断这幅图片的归属,进而保护版权所有者的合法权益。
[0003] 现有技术中常用的水印方法有频域水印、空域水印、视频码流或者图像编码流中 的语义水印等。其中,视频码流或者图像编码流中的语义水印无法抵抗转码破坏,而频域水 印、空域水印能够抵抗图像处理、图像转码等攻击;但是,频域水印、空域水印的算法较复 杂,尤其是频域水印,其采用的频域变换一般分为三种:离散余弦变换域、小波变换域和傅 里叶变换域,这些算法都比较复杂。因此,如何更加简单的嵌入水印并还能使其具有一定的 抵抗转码破坏能力,是一个亟待解决的问题。

【发明内容】

[0004] 本发明实施例的目的在于提供一种图像水印嵌入、检测方法及装置,以解决如何 更加简单地嵌入水印并还能使其具有一定的抵抗转码破坏能力的问题。
[0005] 为达到上述目的,本发明实施例公开了一种图像水印嵌入、检测方法及装置。技术 方案如下:一种图像水印嵌入方法,所述方法包括:
[0006] 从待处理图像中选取连续的多行像素点;
[0007] 根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像 素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
[0008] 根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素 点对应的像素偏移量;
[0009] 将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位 置偏移;
[0010] 根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行 像素点的像素值。
[0011]优选地,所述连续的多行像素点包括:除所述待处理图像的首行和最后一行以外 的连续多行像素点。
[0012] 优选地,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二 预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
[0013] 根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像 素点中每行像素点对应的b i t,包括:
[0014] 将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至 第第二预设数量个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量 行分别与所述bit序列的第一个至第第二预设数量个bit-一对应,确定所述多行像素点中 每行像素点对应的bit;
[0015] 或者;
[0016] 将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预 设数量个至第一个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量 行分别与所述bit序列的第第二预设数量个至第一个bit-一对应,确定所述多行像素点中 每行像素点对应的bit。
[0017] 优选地,所述预设的bit与像素偏移量的对应关系,为:
[0018] 任一 bit所对应的像素偏移量为(2*bit-l)/N,或者,任一 bit所对应的像素偏移量 为(1 -2*b i t) /N个像素,其中,N表示第二预设数量。
[0019] 优选地,将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量 进行位置偏移,包括:
[0020] 将所述多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置 偏移;
[0021] 对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一 行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
[0022] 对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素 点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
[0023] 一种图像水印检测方法,所述方法包括:
[0024]分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考 图像为根据上述任一方法对所述源图像嵌入水印所获得的图像;
[0025] 计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像 的函数与待检测图像的函数的第二相关系数;
[0026] 判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件;
[0027] 当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌 水印的图像。
[0028] -种图像水印嵌入装置,所述装置包括:
[0029] 选取模块,用于从待处理图像中选取连续的多行像素点;
[0030] 映射模块,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别确 定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
[0031] 像素偏移量确定模块,用于根据预设的bit与像素偏移量的对应关系,分别确定所 述多行像素点中每行像素点对应的像素偏移量;
[0032] 位置偏移模块,用于将所述多行像素点中每行像素点基于所确定的自身所对应的 像素偏移量进行位置偏移;
[0033] 像素值重生模块,用于根据位置偏移后所在的位置和预设插值算法,确定并更新 所述多行像素点中每行像素点的像素值。
[0034] 优选地,所述选取模块,用于选取除所述待处理图像的首行和最后一行以外的连 续多行像素点。
[0035] 优选地,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二 预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
[0036] 所述映射模块,具体用于将所述多行像素点的第一行至第第二预设数量行分别与 所述bit序列的第一个至第第二预设数量个bit-一对应,将所述多行像素点的倒数第一行 至倒数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit-一对应, 确定所述多行像素点中每行像素点对应的bit;
[0037] 或者;
[0038] 具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的 第第二预设数量个至第一个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二 预设数量行分别与所述bit序列的第第二预设数量个至第一个bit-一对应,确定所述多行 像素点中每行像素点对应的bit。
[0039] 优选地,所述预设的bit与像素偏移量的对应关系,为:
[0040] 任一 bit所对应的像素偏移量为(2*bit_l)/N,或者,任一 bit所对应的像素偏移量 为(1 -2*b i t) /N个像素,其中,N表示第二预设数量。
[0041 ]优选地,所述位置偏移模块,具体用于:
[0042] 对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一 行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
[0043] 对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素 点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
[0044] -种图像水印检测装置,所述装置包括:
[0045] 预处理模块,用于分别计算源图像、待检测图像和参考图像的表征同一特征的函 数,其中,所述参考图像为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图 像;
[0046] 相关系数计算模块,用于计算所述源图像的函数与待检测图像的函数的第一相关 系数,以及所述参考图像的函数与待检测图像的函数的第二相关系数;
[0047] 判断模块,用于判断所述第一相关系数与所述第二相关系数的相对大小是否满足 预设条件;
[0048] 检测结果确定模块,用于当判断结果为是时,确定所述待检测图像为对所述源图 像嵌入所述参考图像所嵌水印的图像。
[0049] 本方案中,从待处理图像中选取连续的多行像素点;根据预设的像素行与代表预 设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,根据预 设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏 移量;将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏 移;根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素 点的像素值。本方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水印嵌入方法 相比较更加简单,同时,本发明嵌入的水印信息是基于图像像素点位置的即水印包含在图 像像素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图像像素点的 位置是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程度的抵抗转 码破坏。
[0050] 另外,基于本发明实施例所提供的图像水印嵌入方法,本发明实施例还提供了一 种图像检测方法,通过比较图像特征的函数之间的关系,可以检测出通过本发明实施例所 提供的图像水印嵌入方法所处理的图片的归属。
[0051] 针对上述的图像水印嵌入方法、图像水印检测方法分别提出的图像水印嵌入装置 和图像水印检测装置,图像水印嵌入装置用于执行上述图像水印嵌入方法,图像水印检测 装置用于执行上述图像水印检测方法,因此,图像水印嵌入装置和图像水印检测装置具有 相应的技术效果。
【附图说明】
[0052] 为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面将对实施例或 者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还 可以根据这些附图获得其他的附图。
[0053] 图1为本发明实施例提供的一种图像水印嵌入方法的流程示意图;
[0054]图2为本发明实施例提供的一种图像水印检测方法的流程示意图;
[0055] 图3为本发明实施例提供的一种图像水印嵌入装置的结构示意图;
[0056] 图4为本发明实施例提供的一种图像水印检测装置的结构示意图。
【具体实施方式】
[0057] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0058] 针对如何更加简单地嵌入水印并还能使其具有一定的抵抗转码破坏能力的问题, 本发明提出了一种图像水印嵌入、检测方法及装置,用于对待处理的图像嵌入预设水印,检 测待检测的图像中是否含有与参考图像相同的水印信息,该图像水印嵌入、检测方法及装 置不仅可以应用于处理单个图像,还可以应用到处理视频帧中。
[0059] 下面先对一种图像水印嵌入方法进行说明。
[0060] 如图1所示,图1为本发明实施例提供的一种图像水印嵌入方法的流程示意图,该 方法包括:
[0061 ] S101、从待处理图像中选取连续的多行像素点;
[0062]在对待处理图像嵌入水印时,可以对整个图像的像素点着手嵌入,也可以从局部 的像素点着手嵌入,本步骤中,可根据实际情况,选取较为合适的连续的多行像素点。例如, 为了确保图像的首行和最后一行在嵌入水印时不需要扩幅处理,同时为了选取方便,可选 取的连续多行像素点不包括待处理图像的首行和最后一行。当然,如果不直接排除首行和 最后一行时,也可以这样规定:
[0063]图像处理时需要最后一行向上偏移时,该连续的多行像素点包括:除待处理图像 的最后一行以外的连续的多行像素点。
[0064] 图像处理时需要首行向上偏移时,该连续的多行像素点包括:除待处理图像的首 行以外的连续的多行像素点。
[0065] S102、根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定该多行 像素点中每行像素点对应的bit,其中,该bit序列中包括多个bit;
[0066] 预设水印的bit序列是指通过特定方法将预设水印转化形成的bit序列,这里的转 化方法属于现有技术,在这里不做赘述。执行本步骤之后可以确定该多行像素点的每行对 应的bit,即确定出该行对应的bit是0还是1。
[0067] S103、根据预设的bit与像素偏移量的对应关系,分别确定该多行像素点中每行像 素点对应的像素偏移量;
[0068] 在执行本步骤之前,会预设bit与像素偏移量的对应关系,例如,1所对应的像素偏 移量是某一确定值,而〇所对应的像素偏移量是另一确定值,根据这些对应关系,确定该多 行像素点中每行像素点对应的像素偏移量。
[0069] S104、将该多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行 位置偏移;
[0070] S105、根据位置偏移后所在的位置和预设插值算法,确定并更新该多行像素点中 每行像素点的像素值。
[0071] 在该多行像素点偏移后,相对于原来的位置,这些行像素点到了新的位置上,到了 新位置的像素点的像素值可通过其在待处理图像中的周围的像素点的像素值插值获得,这 里所说的预设插值算法可以是现有技术的插值算法的某一种,例如,双线性插值或滤波器 插值等等,滤波器具体如lanczos插值滤波器或cubic-spline插值滤波器等等,当然,还有 其他现有插值滤波器,在此不在赘述。
[0072]举例来说,双线性插值:若待处理图像的第五行向下偏移了 1/32,则偏移后的第五 行位于原来第五行和第六行之间的1/32处,偏移后的第五行的像素点的像素值等于原来第 五行的像素值乘以(1-1/32)加上原来第六行的像素值乘以1/32;若待处理图像的第五行向 上偏移了 1/32,则偏移后的第五行位于原来第四行和第五行之间的(1-1/32)即31/32处,偏 移后的第五行的像素点的像素值等于原来第四行的像素值乘以(1-31/32)加上原来第五行 的像素值乘以31/32。
[0073] lanczos滤波器插值:针对偏移后,新的像素行可能存在相邻两行之间的位置如表 一所示,针对每个位置获得一组权值,位置与权值的对应关系表,如表一所示。
[0074] 表一
[0075]
[0076]
[0077] 若某第r行向下偏移某一位置后,位于待处理图像原第r行和原第r+1行之间的该 位置处,则新的第r行的像素值根据以下式计算:
[0078] Er = qiDr-3+q2Dr-2+q3Dr-l+q4Dr+q5Dr+l+q6Dr+2+q7Dr+3+q8Dr+4
[0079] 其中,Dr表示待处理图像的原第r行的像素值,Er表示偏移后位于待处理图像原第r 行和原第:r+1行之间的新的第r行的像素值,qi、q2、q3、q4、q5、q6、q7和q8是针对偏移位置所对 应的权值。
[0080] 举例来说,若第五行向下偏移1/32后,位于待处理图像原第五行和原第六行之间 的1/32处,则新的第五行的像素值根据以下式计算:
[0081 ] Es = -0.0030D2+0.0096D3-0.0271D4+0.9983D5+0.0292D 6-〇.0102D7+0.0033D8-O.OOOlDg
[0082]当然,每个位置对应的权值数量也可以是其他数值,这样插值采用的行数也相应 变化。
[0083]本方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水印嵌入方法相比 较更加简单,同时,本发明嵌入的水印信息是基于图形像素点位置的即水印包含在图像像 素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图像像素点的位置 是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程度的抵抗转码破 坏,也能一定程度的抵抗图像处理破坏。
[0084] 具体的,本实施例中,该多行像素点的行数可以为第一预设数量,bit序列的比特 个数可以为第二预设数量,其中,第一预设数量等于第二预设数量的两倍;
[0085] 根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定该多行像素 点中每行像素点对应的bit,可以包括:
[0086] 将该多行像素点的第一行至第第二预设数量行分别与bit序列的第一个至第第二 预设数量个bit-一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别与 bit序列的第一个至第第二预设数量个bit-一对应,确定该多行像素点中每行像素点对应 的b i t ;例如,第一预设数量为6 4,第二预设数量为3 2,b i t序列为 10101011101010101010101101100110,其第一个 bit、第二 bit、、、第第二预设数量个 bit 是 从右往左数的,因此,64行像素点的第一行、第二行、第三行、、、第第二预设数量行分别对应 的bit是0、1、1……、1,而该多行像素点的倒数第一行、倒数第二行、倒数第三行……、倒数 第第二预设数量行分别对应〇、1、1……、1。
[0087] 或者;
[0088] 将所述多行像素点的第一行至第第二预设数量行分别与bit序列的第第二预设数 量个至第一个bit-一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别 与bit序列的第第二预设数量个至第一个bit-一对应,确定所述多行像素点中每行像素点 对应的b i t。还例如,第一预设数量为6 4,第二预设数量为3 2,b i t序列为 10101011101010101010101101100110,其第一个 bit、第二 bit、、、第第二预设数量个 bit 是 从右往左数的,因此,64行像素点的第一行、第二行、第三行……、第第二预设数量行分别对 应的bit是1、0、1……、0,而该多行像素点的倒数第一行、倒数第二行、倒数第三行……、倒 数第第二预设数量行分别对应1、〇、1……、〇。
[0089] 上述实施例中,预设的bit与像素偏移量的对应关系可以为:
[0090] 任一 bit所对应的像素偏移量为(2*bit-l)/N,bit为1时,bit对应的像素偏移量是 1/N;bit为0时,bit对应的像素偏移量是-1/N,或者,任一bit所对应的像素偏移量为(1-2* bit)/N个像素,bit为1时,bit对应的像素偏移量是-1/N,bit为0时,bit对应的像素偏移量 是1/N,其中,N表示第二预设数量。
[0091 ]为了表述方便,下文仅对前一种映射方式以及任一 bit所对应的像素偏移量为(2* bit-1 )/N的情况进行举例描述,其他情况类似。上述64行像素点的第一行、第二行、第三 行、、、第第二预设数量行分别对应的bit是0、1、1、……、1,进而依次对应的像素偏移量分别 为:-1/32、1/32、1/32……、1/32,而该多行像素点的倒数第一行、倒数第二行、倒数第三 行……、倒数第第二预设数量行分别对应〇、1、1……、1,进而依次对应的像素偏移量分别 为:-1/32、1/32、1/32……、1/32〇
[0092]上述实施例中,将该多行像素点中每行像素点基于所确定的自身所对应的像素偏 移量进行位置偏移,包括:
[0093]将该多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置偏 移;该多行像素点中第一行的位置偏移量是其自身所对应的像素偏移量,该64行像素点的 第一行向下偏移1/32。
[0094] 对该多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行 像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
[0095] 该64行像素点的第二行的位置偏移量是第一行的位置偏移量加上第二行所对应 的像素偏移量,第一行的位置偏移量-1/32加上第二行所对应的像素偏移量1/32,因此,第 二行的位置偏移量为〇,实际上,第二行不进行偏移;该64行像素点的第三行的位置偏移量 等于第二行的位置偏移量为〇加上本行所对应的像素偏移量1/32,因此,第三行向上偏移1/ 32,直到第第二预设数量行都是按照这种方式计算每行的位置偏移量,每行按照自身所确 定的位置偏移量进行偏移,可以确定,该64行像素点的第第二预设数量行的位置偏移量为 4/32,因此,该第第二预设数量行向上偏移4/32。
[0096] 对该多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点, 进行关于第第二预设数量行的位置偏移量减去本行所对应的像素偏移量的位置偏移。 [0097]该64行像素点的第第二预设数量加一行的位置偏移量是第第二预设数量的像素 偏移量4/32减去本行对应的1/32,即该64行像素点的第第二预设数量加一行的位置偏移量 为3/32,该行向上偏移3/32,该64行像素点的第第二预设数量加两行的位置偏移量是3/32 减去本行对应的像素偏移量 _1/32,获得本行的像素偏移量为4/32,本行向上偏移4/32。
[0098] 当然,也可以按照,计算获得位置偏移量的负号代表向上偏移,正号代表向下偏 移,只要整体统一即可。
[0099] 按照上述方法的设置,每一行的最大位置偏移量都不会超过1,且任意相邻两行的 位置偏移量相差为1/N,使得任意相邻两行偏移后,在上方的像素行仍然在上方,在下方的 像素行仍在下方,该相邻两行的相对上下位置不变。因此,可保证图像扭曲的大小,防止图 像过渡扭曲而失真。为了保证图像变化的人眼不可见性,可设置第一预设数量在8-64之间。
[0100] 相应于上述的图像水印嵌入方法,本发明实施例还提供了一种图像水印检测方 法。如图2所示,图2为本发明实施例提供的一种图像水印检测方法的流程示意图,该方法包 括:
[0101] S201、分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,该 参考图像为根据本发明提出的嵌入水印的方法对该源图像嵌入水印所获得的图像;
[0102] 所计算的函数分别是:源图像的函数为S(x,y),待检测图像的函数为C(x,y),参考 图像的函数为W(x,y)。这里计算的函数指的是关于自变量像素点坐标的像素值函数,这三 个像素值函数需要是表征图像同一特征的,例如全是RGB值,或全是灰度值,当然不仅仅限 于这两种。
[0103] S202、计算该源图像的函数与待检测图像的函数的第一相关系数,以及该参考图
[0105] 像的函数与待检测图像的函数的第二相关系数;[0104] 这里的第一相关系数和第二相关系数的计算公式如下:
[0106]
[0107] 其中,Pi、P2分别为第一相关系数和第二相关系数。
[0108] S203、判断第一相关系数与第二相关系数的相对大小是否满足预设条件;
[0109] 具体实施时,可以设置:判断第二相关系数与第一相关系数的差值是否大于第一 预设值,其中,第一预设值大于〇;或者,判断第二相关系数与第一相关系数比值是否大于第 二预设值,第二预设值大于1,主要用于判断出第二相关系数是否大于第一相关系数。
[0110] S204、当判断结果为是时,确定待检测图像为对源图像嵌入参考图像所嵌水印的 图像。
[0111] 第二相关系数大于第一相关系数时,可认为待检测图像为对源图像嵌入参考图像 所嵌水印的图像。当然,第二相关系数大于第一相关系数时,第二相关系数与第一相关系数 的相差越大,确定待检测图像为对源图像嵌入参考图像所嵌水印的图像的准确性越高。
[0112] 本实施例所提供的图像水印检测方法,通过比较图像特征的函数之间的关系,可 以检测出通过本发明实施例所提供的图像水印嵌入方法所处理的图片的归属。
[0113] 相应于上述的图像水印嵌入方法,本发明实施例提供了一种图像水印嵌入装置, 如图3所示,该装置可以包括:
[0114]选取模块31,用于从待处理图像中选取连续的多行像素点;
[0115]具体实施时,在对待处理图像嵌入水印时,可以对整个图像的像素点着手嵌入,也 可以从局部的像素点着手嵌入,该选取模块31,可根据实际情况,选取较为合适的连续的多 行像素点。例如,为了确保图像的首行和最后一行在嵌入水印时不需要扩幅处理,同时为了 选取方便,该选取模块31可选取的连续多行像素点不包括待处理图像的首行和最后一行。 当然,如果不直接排除首行和最后一行时,也可以这样规定:
[0116]图像处理时需要最后一行向上偏移时,该选取模块31,用于选取除待处理图像的 最后一行以外的连续的多行像素点。
[0117]图像处理时需要首行向上偏移时,该选取模块31,用于选取除待处理图像的首行 以外的连续的多行像素点。
[0118] 映射模块32,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别 确定该多行像素点中每行像素点对应的bit,其中,该bit序列中包括多个bit;
[0119] 像素偏移量确定模块33,用于根据预设的bit与像素偏移量的对应关系,分别确定 该多行像素点中每行像素点对应的像素偏移量;
[0120] 位置偏移模块34,用于将该多行像素点中每行像素点基于所确定的自身所对应的 像素偏移量进行位置偏移;
[0121] 像素值重生模块35,用于根据位置偏移后所在的位置和预设插值算法,确定并更 新所述多行像素点中每行像素点的像素值。
[0122] 本装置的嵌入水印方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水 印嵌入方法相比较更加简单,同时,本发明嵌入的水印信息是基于图形像素点位置的即水 印包含在图像像素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图 像像素点的位置是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程 度的抵抗转码破坏。
[0123] 本实施例中,该多行像素点的行数为第一预设数量,bit序列的比特个数为第二预 设数量,其中,第一预设数量等于第二预设数量的两倍;
[0124] 映射模块32,用于将所述多行像素点的第一行至第第二预设数量行分别与所述 bit序列的第一个至第第二预设数量个bit-一对应,将该多行像素点的倒数第一行至倒数 第第二预设数量行分别与bit序列的第一个至第第二预设数量个bit-一对应,确定该多行 像素点中每行像素点对应的bit;
[0125] 或者;
[0126] 用于将该多行像素点的第一行至第第二预设数量行分别与bit序列的第第二预设 数量个至第一个bit-一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分 别与所述bit序列的第第二预设数量个至第一个bit-一对应,确定该多行像素点中每行像 素点对应的bit。
[0127] 上述实施例中,预设的bit与像素偏移量的对应关系具体为:
[0128] 任一 bit所对应的像素偏移量为(2*bit_l)/N,或者,任一 bit所对应的像素偏移量 为(1 -2*b i t) /N个像素,其中,N表示第二预设数量。
[0129] 上述实施中,所述位置偏移模块34,具体用于:
[0130] 对该多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行 像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
[0131]对该多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点, 进行关于第第二预设数量行的位置偏移量减去本行所对应的像素偏移量的位置偏移。
[0132] 相应于上述的图像检测方法,本发明实施例还提供了一种图像检测装置,如图4所 示,该装置可以包括:
[0133] 预处理模块41,用于分别计算源图像、待检测图像和参考图像的表征同一特征的 函数,其中,该参考图像为根据上述水印嵌入方法对该源图像嵌入水印所获得的图像;
[0134] 相关系数计算模块42,用于计算源图像的函数与待检测图像的函数的第一相关系 数,以及参考图像的函数与待检测图像的函数的第二相关系数;
[0135] 判断模块43,用于判断第一相关系数与第二相关系数的相对大小是否满足预设条 件;
[0136] 具体实施时,该相关系数计算模块42可用于判断第二相关系数与第一相关系数的 差值是否大于第一预设值,其中,第一预设值大于〇;或者,用于判断第二相关系数与第一相 关系数比值是否大于第二预设值,第二预设值大于1,主要用于判断出第二相关系数是否大 于第一相关系数。
[0137] 检测结果确定模块44,用于当判断结果为是时,确定待检测图像为对源图像嵌入 该参考图像所嵌水印的图像。
[0138] 具体的,该判断模块43,用于判断当第二相关系数大于第一相关系数时,确认待检 测图像为对源图像嵌入参考图像所嵌水印的图像。
[0139] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之 间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在 涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些 要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设 备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除 在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0140] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于模块实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0141] 本领域普通技术人员可以理解实现上述方法实施方式中的全部或者部分步骤是 可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质 中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0142] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种图像水印嵌入方法,其特征在于,所述方法包括: 从待处理图像中选取连续的多行像素点; 根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点 中每行像素点对应的bit,其中,所述bit序列中包括多个bit; 根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对 应的像素偏移量; 将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏 移; 根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素 点的像素值。2. 根据权利要求1所述的方法,其特征在于,所述连续的多行像素点包括:除所述待处 理图像的首行和最后一行以外的连续多行像素点。3. 根据权利要求2所述的方法,其特征在于,所述多行像素点的行数为第一预设数量, 所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量 的两倍; 根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点 中每行像素点对应的b i t,包括: 将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第 二预设数量个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分 别与所述bit序列的第一个至第第二预设数量个bit-一对应,确定所述多行像素点中每行 像素点对应的bit; 或者; 将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预设数 量个至第一个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分 别与所述bit序列的第第二预设数量个至第一个bit-一对应,确定所述多行像素点中每行 像素点对应的bit。4. 根据权利要求3所述的方法,其特征在于,所述预设的bit与像素偏移量的对应关系, 为: 任一 bit所对应的像素偏移量为(2*bit-l)/N,或者,任一 bit所对应的像素偏移量为 (1 -2*b i t) /N个像素,其中,N表示第二预设数量。5. 根据权利要求4所述的方法,其特征在于,将所述多行像素点中每行像素点基于所确 定的自身所对应的像素偏移量进行位置偏移,包括: 将所述多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置偏移; 对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像 素点的位置偏移量加上本行所对应的像素偏移量的位置偏移; 对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进 行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。6. -种图像水印检测方法,其特征在于,所述方法包括: 分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考图像 为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图像; 计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像的函 数与待检测图像的函数的第二相关系数; 判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件; 当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌水印 的图像。7. -种图像水印嵌入装置,其特征在于,所述装置包括: 选取模块,用于从待处理图像中选取连续的多行像素点; 映射模块,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所 述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit; 像素偏移量确定模块,用于根据预设的bit与像素偏移量的对应关系,分别确定所述多 行像素点中每行像素点对应的像素偏移量; 位置偏移模块,用于将所述多行像素点中每行像素点基于所确定的自身所对应的像素 偏移量进行位置偏移; 像素值重生模块,用于根据位置偏移后所在的位置和预设插值算法,确定并更新所述 多行像素点中每行像素点的像素值。8. 根据权利要求7所述的装置,其特征在于,所述选取模块,用于选取除所述待处理图 像的首行和最后一行以外的连续多行像素点。9. 根据权利要求8所述的装置,其特征在于,所述多行像素点的行数为第一预设数量, 所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量 的两倍; 所述映射模块,具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述 bit序列的第一个至第第二预设数量个bit-一对应,将所述多行像素点的倒数第一行至倒 数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit-一对应,确定 所述多行像素点中每行像素点对应的bit; 或者; 具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第 二预设数量个至第一个bit-一对应,将所述多行像素点的倒数第一行至倒数第第二预设 数量行分别与所述bit序列的第第二预设数量个至第一个bit-一对应,确定所述多行像素 点中每行像素点对应的b i t。10. 根据权利要求9所述的装置,其特征在于,所述预设的bit与像素偏移量的对应关 系,为: 任一 bit所对应的像素偏移量为(2*bit-l)/N,或者,任一 bit所对应的像素偏移量为 (1 -2*b i t) /N个像素,其中,N表示第二预设数量。11. 根据权利要求10所述的装置,其特征在于,所述位置偏移模块,具体用于: 对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像 素点的位置偏移量加上本行所对应的像素偏移量的位置偏移; 对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进 行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。12. -种图像水印检测装置,其特征在于,所述装置包括: 预处理模块,用于分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其 中,所述参考图像为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图像; 相关系数计算模块,用于计算所述源图像的函数与待检测图像的函数的第一相关系 数,以及所述参考图像的函数与待检测图像的函数的第二相关系数; 判断模块,用于判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设 条件; 检测结果确定模块,用于当判断结果为是时,确定所述待检测图像为对所述源图像嵌 入所述参考图像所嵌水印的图像。
【文档编号】G06T1/00GK105976304SQ201610371664
【公开日】2016年9月28日
【申请日】2016年5月30日
【发明人】朱洪波
【申请人】北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1