专利名称:一种数字水印检测方法及装置的制作方法
技术领域:
本申请涉及图像处理技术领域,特别是涉及一种数字水印检测方法及装置。
背景技术:
数字水印(Digital Watermarking)是信息隐藏技术的一个重要研究方向,其基本原理是将一些数字标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统) 觉察或注意到。通过这些隐藏在载体中的信息,可以达到鉴别文件真伪、判断载体是否被篡改、传送隐秘信息等目的。图像数字水印,是在数字图像文件中嵌入特定的水印信息,该信息可以是代表图像所有权的文字、图像、随机序列等等。在嵌入水印的过程中,应注意尽量不损失原始图像的质量,嵌入水印后的图像,应保证在视觉上和原始图像并没有很大区别(难以被肉眼分辨)。然而通过特定的方法,可以检测到图像中是否具有上述特定的水印信息,从而进一步确认图像的原始创建者,这对于数字图像的版权保护具有重要意义。除了隐蔽性和可检测性之外,数字水印应该能够抵抗各种有意或无意的攻击,即数字水印应该具有较好的鲁棒性。目前已经提出的一些水印算法,可以抵抗一些常见的数字图像处理操作,例如对图像进行压缩、滤波等。然而对于经过剪切、拼接、局部修改等操作的图像,却难以检测出水印信息,从而使得图像版权难以跟踪。
发明内容
为解决上述技术问题,本申请实施例提供一种数字水印检测方法及装置,以实现对经过剪切、拼接、局部修改操作后图像的水印检测,本申请所提供的技术方案如下一种图像数字水印检测方法,包括A.对待检测图像进行小波变换,获得待检测图像的低频分量数据;B.对待检测图像的低频分量数据做横行i单位、纵向j单位的位移后,分别检测每次位移结果中的水印信息,其中i = 0,1,. . . 1-1、j = 0,1,... J-I, JXI为嵌入水印区域的大小;C.判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。在本申请方案的一种实施方式中,该方法还包括对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后,将位移结果作为待检测图像,分别执行步骤A-步骤C。在本申请方案的一种实施方式中,在水印检测为横向滑道检测的情况下,所述步骤B具体实现为对待检测图像的低频分量数据做纵向j单位的位移后,分别在每次位移结果中进行横向滑道检测,
4
其中j = 0,1,. . . J-l,J为嵌入水印滑道区域的高度。在本申请方案的一种实施方式中,在水印检测为纵向滑道检测的情况下,所述步骤B具体实现为对待检测图像的低频分量数据做纵向i单位的位移后,分别在每次位移结果中进行纵向滑道检测,其中i = 0,1,. . . 1-1,I为嵌入水印滑道区域的宽度。在本申请方案的一种实施方式中,所述步骤C具体实现为在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。在本申请方案的一种实施方式中,所述步骤C具体实现为在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且停止位移。在本申请方案的一种实施方式中,包括图像域变换单元,用于对待检测图像进行小波变换,获得待检测图像的低频分量数据;频域位移单元,用于对待检测图像的低频分量数据做横行i单位、纵向j单位的位移,将位移结果分别输入所述图像域变换单元,其中i = 0,1,. . . 1-1、j = 0,1,... J-l, JXI为嵌入水印区域的大小;水印信息检测单元,用于检测所述频域位移单元输入的每次位移结果中的水印信息;水印判断单元,用于判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。在本申请方案的一种实施方式中,该装置还包括时域位移单元,用于对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后,将位移结果作为待检测图像,输入所述图像域变换单元。在本申请方案的一种实施方式中,在所述水印信息检测单元配置为横向滑道检测的情况下,所述频域位移单元具体配置为用于对待检测图像的低频分量数据做纵向j单位的位移后,将位移结果分别输入所述图像域变换单元,其中j = 0,1,. . . J-l,J为嵌入水印滑道区域的高度。在本申请方案的一种实施方式中,在所述水印信息检测单元配置为纵向滑道检测的情况下,所述频域位移单元具体配置为用于对待检测图像的低频分量数据做纵向i单位的位移后,将位移结果分别输入所述图像域变换单元,其中i = 0,1,... 1-1,I为嵌入水印滑道区域的宽度。在本申请方案的一种实施方式中,所述水印判断单元具体配置为用于在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。在本申请方案的一种实施方式中,所述水印判断单元具体配置为
用于在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且控制所述频域位移单元或时域单元停止位移操作。本申请实施例所提供的技术方案,在对数字图像进行水印检测时,首先对待检测图像进行小波变换,然后根据嵌入水印的大小,对待检测图像的频域分量进行多次位移, 在每次位移的结果中分别进行水印检测,根据所有的检测结果综合判定图像中是否存在水印。应用本申请实施例所提供的技术方案,即使第三方对图像进行了剪切、拼接、局部修改等操作导致水印错位,同样可以有效地检测到水印,提高了图像水印的鲁棒性。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本申请实施例数字水印检测方法的流程图;图为本申请实施例原始图像及其修改结果的示意图;图3a_3b为本申请实施例水印区域示意图;图4为本申请实施例数字水印检测方法的另一种流程图;图5为本申请实施例水印数组的示意图;图6为本申请实施例水印bit矩阵的示意图;图7为本申请实施例数字水印检测装置的一种结构示意图;图8为本申请实施例数字水印检测装置的另一种结构示意图。
具体实施例方式首先对本申请实施例所提供的一种图像数字水印检测方法进行说明,该方法可以包括以下步骤对待检测图像进行小波变换,获得待检测图像的低频分量数据;对待检测图像的低频分量数据做横行i单位、纵向j单位的位移后,分别检测每次位移结果中的水印信息,其中i = 0,1,. . . 1-1、j = 0,1,... J-I, JXI为嵌入水印区域的大小;判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。本申请实施例所提供的技术方案,在对数字图像进行水印检测时,首先对待检测图像进行小波变换,然后根据嵌入水印的大小,对待检测图像的频域分量进行多次位移, 在每次位移的结果中分别进行水印检测,根据所有的检测结果综合判定图像中是否存在水印。应用上述水印检测方法,即使第三方对图像进行了剪切、拼接、局部修改等操作导致水印错位,同样可以有效地检测到水印,提高了水印的鲁棒性。为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。图1所示为本申请所提供的一种图像数字水印检测方法的流程图,可以包括以下步骤S101,对待检测图像进行小波变换,获得待检测图像的低频分量数据;小波变换是以某些特殊函数为基将数据过程或数据系列变换为级数系列以发现它的类似频谱的特征,从而实现数据处理。小波变换可以应用于众多领域,其中,数字图像处理是小波变换的一个较为重要的应用方面。一幅数字图像,经过小波变换之后,可以分为小波低频区和小波高频区,如果把原始图像像素点的值以矩阵的方式表示,那么该图像经小波变换后的低频区也是一个矩阵, 矩阵的高度和宽度都是原始图像的1/2,即总面积是原始图像的1/4 ;而低频区矩阵的每个点的取值范围比原始图像扩大了一倍,例如原始图像中每个点的像素值取值范围是0 255,那么小波低频区矩阵中每个点的取值范围是0 510。对于一幅数字图像,其核心的信息都存在于小波低频区中,一般的水印嵌入过程, 也是在小波低频区中进行。相应地水印检测操作也需要在小波低频区中实现。因此,在本申请实施例中,针对一幅需要检测是否存在水印的图像,首先需要进行小波变换,以得到该图像的低频分量数据。S102,对待检测图像的低频分量数据做横行i单位、纵向j单位的位移后,分别检测每次位移结果中的水印信息,在对一幅图像进行水印嵌入操作后,该图像可能会由于因为一些修改操作而导致水印信息无法检测,参见图2所示图加为原始图像;图2b为原始图像经剪切操作后的示意图;图2c为原始图像经拼接操作后的示意图;图2d为原始图像经局部修改操作后的示意图。由图2a_2d可以看出,修改后的图像中仍保持有原始图像的大量信息,这种情况下,原始图像的版权自然是一个值得关注的问题。当然,上述几种修改操作的组合,例如将原始图像(或原始图像的一部分)嵌入其他较大的图像,这样的图像也同样存在着版权追踪的需求。经上述几种修改操作之后,会令原始图像中的水印错位,从而导致无法正常检测, 举一个简单的例子进行说明,图3a为一个2X2的水印区域示意图,在嵌入水印的过程中, 可以向原始图像嵌入多个这样的水印信息,相应在检测的过程中,也是从待检测图像的坐标原点开始,以2X2区域为单位进行水印信息检测。当图像被修改之后,水印可能移到了其他的位置,如图北所示,此时如果仍然从坐标原点开始,以2X2区域为单位进行检测,则刚好是无法检测到水印信息的。针对这种情况,本申请实施例提供的方案是对待检测图像的小波低频区数据整体进行位移后,分别针对每次位移结果进行检测。其中,位移的范围是,横向i个单位(i = 0,1,... 1-1)、纵向j个单位(j = 0,1,... J-1),JXI是水印区域的大小。以图3a和图3b为例,水印区域大小为2X2,即I = J = 2,当i = j = 0时,相当于不进行移动,除此之外,还需要分别进行三种移动横向1单位,纵向0单位,即i = 1,j = 0 ;横向0单位,纵向1单位,即i = 0,j = 1 ;横向1单位,纵向1单位,即i = 1,j = 1 ;这里的“横向”可以是向左或向右,“纵向”可以是向上或向下,当然在一次循环过程中应保证方向的一致性。每次移动后(包括i = j = 0),都分别对移动结果进行水印检测,对于图北所示的图,在进行横向1单位,纵向1单位的移动后,即可正确检测到水印信肩、O可见,在本步骤中,实际是考虑到可能出现的水印区域位移情况,将待检测图像的小波低频数据进行偏移校正后再进行检测,从而抵抗水印错位对检测结果的影响。根据嵌入水印所采用的不同方式,在本步骤中可以采用明文检测或盲检测,这些并不影响本申请方案的实现。当然,上述方法也可以理解为是对检测区域的校正。以图北为例,原始的检测方法是从待检测图像的坐标原点(0,0)开始,以2X2区域为单位进行检测,而进行位移之后,相当于将检测的起始点分别调整为(1,0)、(0,1)(1,1),当检测的起始点调整至(1,1) 时,即可以正确检测到水印信息。在本申请的另一种实施方式中,还提供一种滑道检测的方式,具体分为两种1)横向滑道检测按照水印区域的高度J、将图像的小波低频区划分为若干横向滑道,在嵌入水印的过程中,仅在滑道中嵌入水印信息,不能偏离滑道。相应地,在检测水印过程中,在固定高度的滑道内进行检测。横向滑道检测可以自动检测出滑道内的横向位移,因此,在检测时仅需对待检测图像的低频分量数据做纵向j单位(j = 0,1,... J-1)的位移,然后分别在每次位移结果中进行横向滑道检测。同样该方法也可以理解为对检测区域的校正,即将检测滑道整体纵向位移j个单位(j =0,1,...J-1)后,再对图像进行横向滑道检测。2)纵向滑道检测按照水印区域的宽度I、将图像的小波低频区划分为若干纵向滑道,在嵌入水印的过程中,仅在滑道中嵌入水印信息,不能偏离滑道。相应地,在检测水印过程中,在固定宽度的滑道内进行检测。纵向滑道检测可以自动检测出滑道内的纵向位移,因此,在检测时仅需对待检测图像的低频分量数据做纵向i单位(i = 0,1,. .. 1-1)的位移,然后分别在每次位移结果中进行纵向滑道检测。同样该方法也可以理解为对检测区域的校正,即将检测滑道整体纵向位移i个单位(i = 0,1,... 1-1)后,再对图像进行纵向滑道检测。S103,判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。在S102中对待检测图像的小波低频数据进行位移并分别检测之后,根据每次检测到的水印信息数量,判断待检测图像中是否存在水印。考虑到原始图像可能被剪切或局部修改导致水印信息数量变小,这里的阈值可以根据经验设为原始图像水印信息数量的一半左右。
—种具体方案是在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。另一种具体方案是在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且停止位移。也就是说,在已经能够确认待检测图像版权信息的情况下,可以不需要继续进行位移及检测。上述方法,是对待检测图像的频域分量进行多次位移,在每次位移的结果中分别进行水印检测,根据所有的检测结果综合判定图像中是否存在水印。在本申请的另一种实施方式中,为了抵抗修改后图像奇数位的位移对小波域的影响,还可以进一步在待检测图像的空间域进行检测。参见图4所示,在步骤S103之后,还包括S104,对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后,将位移结果作为待检测图像,分别执行步骤SlOl-步骤S103。在小波变换中,原始图像空间域的奇数位位移会导致小波域数据的变化,考虑到这种情况,在本实施例中,将待检测图像的空间域数据进行偏移校正后再进行后续的检测步骤,具体而言,除了保持原始图像空间域数据不变之外,还需要分别进行三种移动横向1单位,纵向0单位;横向0单位,纵向1单位;横向1单位,纵向1单位;与小波域类似,这里的“横向”可以是向左或向右,“纵向”可以是向上或向下,当然在一次循环过程中应保证方向的一致性。每次移动后,都分别执行S101-S103,对移动结果进行水印检测。可见,在本实施例中,考虑到原始图像空间域数据对小波变换的影响,在检测过程中又增加了一重循环。在步骤S103中,可以在所有循环都结束后,统计检测到水印信息的总数量是否达到预设的阈值;也可以在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,从而确定待检测图像中是否含有水印信息。下面结合一个实际的例子,对本申请的实施方案进行说明,为便于理解,对于水印的嵌入过程也进行适当的说明。1)嵌入阶段图5所示是一个2X4的水印数组,包含了 Sbit数据,其中1表示要对原始图像小波低频区的数据增加一个水印嵌入强度单位,0表示要对原始图像小波低频区的数据减小一个水印嵌入强度单位。本实施例中,采用盲水印嵌入方法,参见图6所示,将原始图像小波低频区的矩阵分成多个3X3的矩阵,这个矩阵称为“水印bit矩阵”。每个水印bit矩阵只保存一个bit 信息。在水印嵌入过程中,E的原始值用其余八个点的平均值代替,假设水印嵌入强度是 12,E点的平均值是300,如果需要嵌入的bit信息是1,那么嵌入后E点的值就是300+12, 即被修改成了 312。如果需要嵌入的bit信息是0,那么嵌入后E点的值就是300-12,即被修改成了观8。为了防止嵌入水印后影响图像的质量,可以预先判断一个下当前的“水印bit矩阵”是否适合嵌入水印。因为假设E点的值等于周围8个点的平均值,记E点的平均值为 E*。如果E点的值和E*相差的比较大(例如设置的是大于2倍的水印强度,即M),就说明不适合嵌入水印。比如E点的平均值E*是300,但是实际E点的值是100,则说明不适合嵌入水印。因为E* = 300,那么E点实际的值应该在276 3M之间才适合嵌入水印,这样对 E点的值改动才比较小,才不会影响图像的质量。在实施例中,对于不适合嵌入水印信息的 “水印bit矩阵”称为“毛刺bit矩阵”。由于水印数组的大小是2X4的数组,而每个bit都需要一个“水印bit矩阵”来存储,所以需要小波域的一个6X12的矩阵才能嵌入一个水印信息。6X12即为嵌入水印区域的大小。在本实施例中,采用横向滑道水印嵌入方式,假设小波低频矩阵为32X32,可以把前30行分成5组,每组6行,把每一组称为一个“滑道”,即一共有5个滑道,滑道的宽度为 6。嵌入水印的时候,必须在这五个滑道上嵌入,不能偏离滑道。在原始图像的小波低频区中,跳过“毛刺bit矩阵”后,统计每个滑道中共包含几个符合要求的6 X 12矩阵,就可以得到需要嵌入水印信息的总数量X。在嵌入水印信息的过程中,如果bit为1,则E = E*+12 ;其中12为水印嵌入的强度。如果bit为0,则E = E*-12 ;这里有一个边界问题需要处理,如果E*等于505,那么E*+12 = 517,但是E点的最大取值只能是510,这种情况下,可以把E点的取值定义为E*-2X12,即碰到上边界时,减去2倍的水印强度;类似地,如果E*等于5,那么E*_12 = _7,但是E点的最小取值只能是0,这种情况下,可以把E点的取值定义为E*+2X12,即碰到下边界时,加上2倍的水印强度。对于在水印嵌入阶段所采用的边界处理算法,也应对应有相应的检测算法,而不同的算法并不会影响本申请方案的实现。2)检测阶段S201,小波变换:假设待检测图像为out. png,首先分4种情况对out. png进行小波变换a)直接对out. png进行小波变换b)把out. png整体左移一个单位,进行小波变换c)把out. png整体上移一个单位,进行小波变换d)把out. png整体左移和上移各一个单位,进行小波变换对如上得到的4个小波变换的矩阵分别进行步骤B的水印检测。S202,检测水印:假设out. png是132*130像素的,小波变换后的低频区是66*65,把小波变换后的矩阵按照滑道高度(J = 6)分成11组,即分成11个滑道,在每个滑道上检查水印信息的数量。把检测到的水印信息数量记为CountO。考虑到图像质量损失的因素,在检测过程中,可以定义一个水印损失度,例如水印损失度为2,根据周围八个点的值计算出E点的平均值E* = 300,如果E点保存的bit值为 1,那么E点的取值应该是312,因为需要考虑损失的因素,E点的取值范围为310到314,也就是说,如果待检测图像中当前E的取值在310到314之间,则可以认为检测的了水印信息。类似地,果E点保存的bit值为0,那么E点的取值应该是观8,考虑损失的因素,E点的取值范围为观6 IlJ 290 0
为了防止滑道错位的情况,我们把所有的滑道整体下移1个单位、2个单位、3个单位、4个单位、5个单位,然后分别进行检查水印信息的数量,把检查到的水印信息数量分别记为 Count 1、Count2、Count3、Count4、Count5。计算总水印数量CountSum = Count0+Countl+Count2+Count3+Count4+Count5S203,判断是否存在水印对S201得到的4个小波变换的矩阵分别进行S202的水印检测。检测到的水信息数量分别记为 CountSum 1、CountSum 2、CountSum 3、CountSum4。计算 CountSum
1+CountSum 2+CountSum 3+CountSum 4,如果大于预设的阈值X/2,则认为该待检测图像存在水印,如果小于X/2,则认为该待检测图像不存在水印。本申请实施例还提供一种图像数字水印检测装置,参见图7所示,包括图像域变换单元310,用于对待检测图像进行小波变换,获得待检测图像的低频分量数据;一幅数字图像,经过小波变换之后,可以分为小波低频区和小波高频区,如果把原始图像像素点的值以矩阵的方式表示,那么该图像经小波变换后的低频区也是一个矩阵, 矩阵的高度和宽度都是原始图像的1/2,即总面积是原始图像的1/4 ;而低频区矩阵的每个点的取值范围比原始图像扩大了一倍,例如原始图像中每个点的像素值取值范围是O 255,那么小波低频区矩阵中每个点的取值范围是O 510。对于一幅数字图像,其核心的信息都存在于小波低频区中,一般的水印嵌入过程, 也是在小波低频区中进行。相应地水印检测操作也需要在小波低频区中实现。因此,在本申请实施例中,针对一幅需要检测是否存在水印的图像,首先需要进行小波变换,以得到该图像的低频分量数据。频域位移单元320,用于对待检测图像的低频分量数据做横行i单位、纵向j单位的位移,将位移结果分别输入所述图像域变换单元,其中i = 0,1,. . . 1-1、j =0,1,... J-I, JXI为嵌入水印区域的大小;水印信息检测单元330,用于检测所述频域位移单元输入的每次位移结果中的水印信息;在对一幅图像进行水印嵌入操作后,该图像可能会由于因为一些修改操作而导致水印信息无法检测,图3a为一个2X2的水印区域示意图,在嵌入水印的过程中,可以向原始图像嵌入多个这样的水印信息,相应在检测的过程中,也是从待检测图像的坐标原点开始,以2X2区域为单位进行水印信息检测。当图像被修改之后,水印可能移到了其他的位置,如图北所示,此时如果仍然从坐标原点开始,以2X2区域为单位进行检测,则刚好是无法检测到水印信息的。针对这种情况,本申请实施例提供的方案是对待检测图像的小波低频区数据整体进行位移后,分别针对每次位移结果进行检测。其中,位移的范围是,横向i个单位(i = 0,1,... 1-1)、纵向j个单位(j = 0,1,... J-1),JXI是水印区域的大小。以图3a和图3b为例,水印区域大小为2X2,即I = J = 2,当i = j = O时,相当于不进行移动,除此之外,频域位移单元320还需要分别进行三种移动操作横向1单位,纵向O单位,即i = 1,j = O ;横向O单位,纵向1单位,即i = 0,j = 1 ;
横向1单位,纵向1单位,即i = 1,j = 1 ;这里的“横向”可以是向左或向右,“纵向”可以是向上或向下,当然在一次循环过程中应保证方向的一致性。每次移动后(包括i = j = 0),都分别对移动结果进行水印检测,对于图北所示的图,在进行横向1单位,纵向1单位的移动后,即可正确检测到水印信肩、O可见,这里实际是考虑到可能出现的水印区域位移情况,将待检测图像的小波低频数据进行偏移校正后再进行检测,从而抵抗水印错位对检测结果的影响。根据嵌入水印所采用的不同方式,水印信息检测单元330可以采用明文检测或盲检测,这些并不影响本申请方案的实现。当然,上述方法也可以理解为是对检测区域的校正。以图北为例,原始的检测方法是从待检测图像的坐标原点(0,0)开始,以2X2区域为单位进行检测,而进行位移之后,相当于将检测的起始点分别调整为(1,0)、(0,1)(1,1),当检测的起始点调整至(1,1) 时,水印信息检测单元330即可以正确检测到水印信息。水印判断单元340,用于判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。在对待检测图像的小波低频数据进行位移并分别检测之后,根据每次检测到的水印信息数量,判断待检测图像中是否存在水印。考虑到原始图像可能被剪切或局部修改导致水印信息数量变小,这里的阈值可以根据经验设为原始图像水印信息数量的一半左右。在本申请的一个实施例中,所述水印判断单元340可以具体配置为用于在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。在本申请的一个实施例中,所述水印判断单元340可以具体配置为用于在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且控制所述频域位移单元或时域单元停止位移操作。参见图8所示,本申请实施例所提供的图像数字水印检测装置,还可以进一步包括时域位移单元350,用于对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后,将位移结果作为待检测图像,输入所述图像域变换单元310。在小波变换中,原始图像空间域的奇数位位移会导致小波域数据的变化,考虑到这种情况,在本实施例中,将待检测图像的空间域数据进行偏移校正后再进行后续的检测步骤,具体而言,除了保持原始图像空间域数据不变之外,时域位移单元350还需要分别进行三种移动操作横向1单位,纵向0单位;横向0单位,纵向1单位;横向1单位,纵向1单位;与小波域类似,这里的“横向”可以是向左或向右,“纵向”可以是向上或向下,当然在一次循环过程中应保证方向的一致性。每次移动后,将位移结果作为待检测图像,输入所述图像域变换单元,对移动结果进行水印检测。在本申请的一个实施例中,在所述水印信息检测单元330配置为横向滑道检测的情况下,所述频域位移单元320可以具体配置为用于对待检测图像的低频分量数据做纵向j单位的位移后,将位移结果分别输入所述图像域变换单元,其中j = 0,1,. . . J-l,J为嵌入水印滑道区域的高度。在本申请的一个实施例中,在所述水印信息检测单元配置330为纵向滑道检测的情况下,所述频域位移单元320可以具体配置为用于对待检测图像的低频分量数据做纵向i单位的位移后,将位移结果分别输入所述图像域变换单元,其中i = 0,1,. . . 1-1,I为嵌入水印滑道区域的宽度。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。以上所述仅是本申请的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
权利要求
1. 一种图像数字水印检测方法,其特征在于,包括A.对待检测图像进行小波变换,获得待检测图像的低频分量数据;B.对待检测图像的低频分量数据做横行i单位、纵向j单位的位移后,分别检测每次位移结果中的水印信息,其中i = 0,1,. . . 1-1、j = 0,1,... J-I, JXI为嵌入水印区域的大C.判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。
2.根据权利要求1所述的方法,其特征在于,该方法还包括对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后, 将位移结果作为待检测图像,分别执行步骤A-步骤C。
3.根据权利要求1或2所述的方法,其特征在于,在水印检测为横向滑道检测的情况下,所述步骤B具体实现为对待检测图像的低频分量数据做纵向j单位的位移后,分别在每次位移结果中进行横向滑道检测,其中j = 0,1,. . . J-l,J为嵌入水印滑道区域的高度。
4.根据权利要求1或2所述的方法,其特征在于,在水印检测为纵向滑道检测的情况下,所述步骤B具体实现为对待检测图像的低频分量数据做纵向i单位的位移后,分别在每次位移结果中进行纵向滑道检测,其中i = 0,1,... 1-1,I为嵌入水印滑道区域的宽度。
5.根据权利要求1或2所述的方法,其特征在于,所述步骤C具体实现为在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。
6.根据权利要求1或2所述的方法,其特征在于,所述步骤C具体实现为在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且停止位移。
7.一种图像数字水印检测装置,其特征在于,包括图像域变换单元,用于对待检测图像进行小波变换,获得待检测图像的低频分量数据;频域位移单元,用于对待检测图像的低频分量数据做横行i单位、纵向j单位的位移, 将位移结果分别输入所述图像域变换单元,其中i = 0,1,. . . 1-1、j = 0,1,. . . J-l,JX I 为嵌入水印区域的大小;水印信息检测单元,用于检测所述频域位移单元输入的每次位移结果中的水印信息;水印判断单元,用于判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。
8.根据权利要求7所述的装置,其特征在于,该装置还包括时域位移单元,用于对待检测图像的空间域数据做横行1单位、纵向1单位以及横纵向各1单位的位移后,将位移结果作为待检测图像,输入所述图像域变换单元。
9.根据权利要求7或8所述的装置,其特征在于,在所述水印信息检测单元配置为横向滑道检测的情况下,所述频域位移单元具体配置为用于对待检测图像的低频分量数据做纵向j单位的位移后,将位移结果分别输入所述图像域变换单元,其中j = 0,1,. . . J-l,J为嵌入水印滑道区域的高度。
10.根据权利要求7或8所述的装置,其特征在于,在所述水印信息检测单元配置为纵向滑道检测的情况下,所述频域位移单元具体配置为用于对待检测图像的低频分量数据做纵向i单位的位移后,将位移结果分别输入所述图像域变换单元,其中i = 0,1,... 1-1,I为嵌入水印滑道区域的宽度。
11.根据权利要求7或8所述的装置,其特征在于,所述水印判断单元具体配置为 用于在得到所有位移后的检测结果后,对每次位移后检测到的水印信息数量进行求和,如果和值达到预设的阈值,则确定待检测图像中存在水印。
12.根据权利要求7或8所述的装置,其特征在于,所述水印判断单元具体配置为 用于在位移过程中,实时判断当前已检测到的水印信息数量总和是否达到预设的阈值,如果是,则确定待检测图像中存在水印,并且控制所述频域位移单元或时域单元停止位移操作。
全文摘要
本申请公开了一种数字水印检测方法及装置,一种图像数字水印检测方法包括对待检测图像进行小波变换,获得待检测图像的低频分量数据;对待检测图像的低频分量数据做横行i单位、纵向j单位的位移后,分别检测每次位移结果中的水印信息,其中i=0,1,...I-1、j=0,1,...J-1,J×I为嵌入水印区域的大小;判断检测到的水印信息数量是否达到预设的阈值,如果是,则确定待检测图像中存在水印。应用本申请实施例所提供的技术方案,即使第三方对图像进行了剪切、拼接、局部修改等操作导致水印错位,同样可以有效地检测到水印,提高了图像水印的鲁棒性。
文档编号G06T1/00GK102436635SQ201110296069
公开日2012年5月2日 申请日期2011年9月28日 优先权日2011年9月28日
发明者黄银锋 申请人:百度在线网络技术(北京)有限公司