基于重复码和Schur分解的视觉加密彩色盲水印方法与流程

    专利2022-07-08  116


    本发明涉及数字图像彩色水印技术领域,尤其涉及一种基于重复码和schur分解的视觉加密彩色盲水印方法。



    背景技术:

    随着信息技术的飞速发展与广泛应用,文本、音频、图像、视频等数字信息数据越来越多,导致数字图像等数据的版权所有问题愈加严重,因此对数字图像的版权保护越来越重要。水印技术在数字图像版权保护领域发挥着重要作用。

    数字水印作为一种版权保护技术,可以防止违法分子在没有得到数字图像文件版权所有人的同意的情况下肆意复制、传播甚至篡改原有图像。利用水印算法有效地解决版权保护和内容认证问题的基本思想是通过嵌入算法将版权标识(即水印)嵌入原有图像(即载体信息)中,通过嵌入算法的逆操作即可提取图像中的版权信息,以便于确认图像版权的归属。

    传统的水印嵌入方式是在文本和视频以及图像的表面上加入水印信息,以保证图像的所有权。为了保证水印信息不轻易被提取,出现了很多加密版权信息的方法,但这些方法仍然有局限性,很容易被破解。随着水印技术研究的进一步深入,现有的水印技术比传统的所有权加密技术有了很大进步,现有的数字图像水印技术都是二值图像,数据较小,透明度好。

    然而,随着时代的发展和技术的进步,人们对彩色图像是使用愈加频繁。很多公司也都在使用彩色商标。因此彩色水印技术应用的越来越广泛,数字水印由二值水印转化成彩色水印的需求明显增强。例如,化妆品商标logo多为彩色,该行业越来越需要彩色水印的应用。因此,对彩色水印的深入研究尤为迫切。

    水印算法包括鲁棒水印、脆弱水印、盲水印、非盲水印和零水印。其中,盲水印与非盲水印的区别在于提取水印的过程中是否需要可靠的第三方提供信息。盲水印与零水印不同,盲水印需要将水印信息嵌入载体图像,而零水印只需要提供特征矩阵,水印信息嵌入到矩阵中,零水印也需要可靠的第三方提供水印相关信息。因此,盲水印的优势在于其安全性高。

    盲水印算法主要应用svd、schur、qr等技术,将水印系数嵌入到最大特征值中去。刘等人[9]利用schur分解将二值水印信息嵌入到彩载体图像中,运用arnold置乱对水印信息进行加密,将彩色载体图像rgb分通道并进行分块处理,利用schur分解的特性,用嵌入强度系数q将水印信息嵌入到最大特征值中,再利用该算法的逆算法提取水印信息。该方法的透明性和鲁棒性都非常好,但由于是二值水印信息,不适用于彩色图像的需求。

    为了改进水印算法,出现了重复码的技术。soumitra等人将二值水印信息加倍成奇数个,并嵌入到不易影响透明度并且较抗攻击的dct(discretecosinetransform)变换的中频系数中,取得了一定的良好成绩。但中频系数较高频系数来说较为不稳定。

    综上所述,传统盲水印存在两个弊端,一是水印信息较大时对水印技术透明性影响较大的问题;二是彩色水印安全性较低的问题。



    技术实现要素:

    本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于重复码和schur分解的视觉加密彩色盲水印方法,将彩色水印进行视觉加密,采用重复码技术,并将水印信息嵌入到schur分解的彩色载体图像中,同时采用可逆算法,不需要第三方提供任何信息即可提取水印信息,有效提高了彩色盲水印的安全性、透明性以及鲁棒性,具有较高的实用价值。

    为解决上述技术问题,本发明所采取的技术方案是:

    一种基于重复码和schur分解的视觉加密彩色盲水印方法,该方法通过一种水印嵌入算法将彩色水印图像嵌入到彩色载体图像中;通过一种水印提取算法将被攻击的彩色载体图像中嵌入的彩色水印图像提取出来,如果能提取出来彩色水印图像,证明该彩色载体图像拥有版权;

    所述水印嵌入算法的具体步骤为:

    步骤1.1:将像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块;

    步骤1.2:将像素大小为16*16的彩色水印图像进行arnold置乱加密,并分成r、g、b三个通道;将每个通道进行视觉加密,处理成32*32的像素矩阵,然后将彩色水印图像的十进制像素矩阵转化成8位的二进制像素矩阵,生成32*32*8的像素矩阵;

    视觉加密方式包括对角线方式、同行方式和同列方式,分别如式(1)-式(3),将对角线方式、同行方式、同列方式分别用于彩色载体图像的rgb通道中;

    其中,a表示彩色水印图像置乱前的像素值,b表示彩色水印图像置乱后的像素值,a、b取值为水印信息中的1或0;

    步骤1.3:采用重复码技术,将8位二进制水印信息的高4位进行(3,1)或(3,0)的方式进行扩展,将步骤1.2中32*32*8的像素矩阵扩展为32*32*16的像素矩阵;

    步骤1.4:将分块的彩色载体图像进行schur分解,选出32*32*16个位置嵌入彩色水印图像的水印信息;

    所述水印提取算法的具体步骤为:

    步骤2.1:将攻击后的像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块;

    步骤2.2:将分块的彩色载体图像进行schur逆分解,提取出32*32*16个水印信息,将提取的水印信息删除重复码并转化成32*32大小的十进制矩阵;

    将rgb每个通道的十进制矩阵进行视觉加密逆处理,还原水印信息,生成彩色水印图像。

    所述arnold置乱加密的公式如下:

    其中,x1、y1为置乱后的数,x、y为置乱前的数,n为变换次数。

    所述schur分解的算法公式如下:

    其中,t'(1,1)是嵌入水印后的值,t(1,1)表示特征矩阵的最大值,δ表示水印嵌入系数,k为水印嵌入强度,w为嵌入的水印信息;

    schur逆分解的算法公式如下:

    其中,w1为提取的水印信息。

    采用上述技术方案所产生的有益效果在于:本发明提供的基于重复码和schur分解的视觉加密彩色盲水印方法,采用了重复码技术,增加了算法的可靠性,提高了纠错性;将重复码用在更简洁的schur算法中,降低时间复杂度的同时,避免了dct中频系数较不稳定的特点,并且将重复码用在了高有效位,而不是全部位数,避免水印信息过多,保证了嵌入水印后的透明性,能够解决传统盲水印中水印信息较大时对水印技术透明性影响较大的问题,并有效提高彩色水印的安全性。

    附图说明

    图1为本发明实施例提供的水印嵌入算法的流程图;

    图2为本发明实施例提供的水印提取算法的流程图。

    具体实施方式

    下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

    本实施例提供一种基于重复码和schur分解的视觉加密彩色盲水印方法,具体方法如下所述。

    该方法通过一种水印嵌入算法将彩色水印图像嵌入到彩色载体图像中;通过一种水印提取算法将被攻击的彩色载体图像中嵌入的彩色水印图像提取出来,如果能提取出来彩色水印图像,证明该彩色载体图像拥有版权。

    水印嵌入算法如图1所示,具体步骤为:

    步骤1.1:将像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块。

    步骤1.2:将像素大小为16*16的彩色水印图像进行arnold置乱加密,并分成r、g、b三个通道;将每个通道进行视觉加密,处理成32*32的像素矩阵,然后将彩色水印图像的十进制像素矩阵转化成8位的二进制像素矩阵,生成32*32*8的像素矩阵。

    视觉加密方式包括对角线方式、同行方式和同列方式,分别如式(1)—式(3),将对角线方式、同行方式、同列方式分别用于彩色载体图像的rgb通道中;

    其中,a表示彩色水印图像置乱前的像素值,b表示彩色水印图像置乱后的像素值,a、b取值为水印信息中的1或0。

    arnold是一种置乱加密技术,可以在一定程度上提高水印算法的安全性。arnold置乱加密的公式如下:

    其中,x1、y1为置乱后的数,x、y为置乱前的数,n为变换次数。

    步骤1.3:采用重复码技术,将8位二进制水印信息的高4位进行(3,1)或(3,0)的方式进行扩展,将步骤1.2中32*32*8的像素矩阵扩展为32*32*16的像素矩阵。

    重复码的用途是纠错,把1和0重复多次,以便于纠正在传输过程中可能会出现的误差。当出现误差时,取位数多的那个值。

    例如(5,1)重复码编码方法如下:“0”→“00000”,“1”→“11111”。

    当出现误差时,例如:“00001”→“0”,“00101”→“0”,“00111”→“1”。即1的个数为a,0的个数为b,且a与b的和为奇数,若a>b,则值为1,反之,为0。

    由于水印信息是8位二进制,而高4位的信息比较重要,因此,将水印信息的高4位进行(3,1)或(3,0)的方式进行扩展,如式(8)所示,以提高其鲁棒性。

    abc→a*3 b*3 c*3(8)

    其中,a,b,c∈(0,1)。

    例如:

    “10100001”→“1110001110000001”

    把高4位用(3,1)和(3,0)的方式扩展成12位,后四位不变,整体8位变成16位,扩大了二倍。

    步骤1.4:将分块的彩色载体图像进行schur分解,选出32*32*16个位置嵌入彩色水印图像的水印信息。

    任何n阶复方阵酉相似于一个上三角阵,即对任意n阶矩阵a,存在酉矩阵u,使得u‘au为一个上三角矩阵,而且该上三角阵u‘au的对角线元素为a矩阵的特征根,公式如下:

    [ut]=schur(i)。

    schur分解的算法公式如下:

    其中,t'(1,1)是嵌入水印后的值,t(1,1)表示特征矩阵的最大值,δ表示水印嵌入系数,k为水印嵌入强度,w为嵌入的水印信息。

    schur逆分解的算法公式如下:

    其中,w1为提取的水印信息。

    水印提取算法如图2所示,具体步骤为:

    步骤2.1:将攻击后的像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块;

    步骤2.2:将分块的彩色载体图像进行schur逆分解,提取出32*32*16个水印信息,将提取的水印信息删除重复码并转化成32*32大小的十进制矩阵;

    将rgb每个通道的十进制矩阵进行视觉加密逆处理,还原水印信息,生成彩色水印图像。

    水印评估方法包括透明度、鲁棒性、安全性和虚警率的评估。

    透明度也叫不可感知性,是指观察者不能通过感知系统观测到图像中的水印信息。无法确认图像中是否存在水印信息,更无法通过感知系统提取出水印的任何信息。透明度是度量水印技术是否成熟的重要指标。透明性是指嵌入的水印信息在人眼可视范围内不能被发现,不会对原有图像有所改变。嵌入水印后的图像与之前的图像不能有人眼可观察出来的区别,而且可以将想要嵌入的水印信息嵌入到载体图像中去,而不影响原图像。

    鲁棒性是指载体图像被攻击后是否依然可以提取出水印信息的度量标准。无论是几何攻击、非几何攻击以及组合攻击都无法破坏图像中的水印信息即证明该水印技术鲁棒性很好。水印的鲁棒性可以通过增加水印的嵌入强度来提高,但这会使水印的透明性降低。强鲁棒性是指经过噪声干扰或其他的攻击后依然能提取出较完整的水印信息,强鲁棒性算法不易被攻击干扰。强鲁棒性一般算法只能做到抵挡一项或两项攻击,对于多种攻击或组合攻击,鲁棒性较差。因此这一直是数字水印的难点。鲁棒性的检验标准就是nc值,即归一化相关系(normalizationcrosscorrelation,nc)是用来检验水印算法的鲁棒性,nc值越高,其水印算法鲁棒性越好,反之,鲁棒性越差。其公式如下:

    水印算法是公开的,因此容易被不法分子截获,进而被非法提取出水印信息,这就要求水印技术的安全性特征。安全性可以保证图像的版权信息得到保护,不被非法提取,因此安全性是水印算法好坏的度量标准,也是水印算法的必须具备的特性之一。

    虚警率是为了检测算法是否可靠。虚警率高则证明算法容易被模仿,用相同的算法提取出相似的水印信息,证明算法不可靠,虚警率高。如果用相似的算法提取出的水印不同则证明虚警率低,算法可靠。

    为了比较算法的鲁棒性,将本发明的方法和与相关的算法进行比较,结果如表1,将对该算法的几何攻击结果进行详细的比较,如表2。

    表1算法nc值对比

    表2几何攻击nc值对比

    经比较,本发明的方法对剪切攻击、椒盐噪声的鲁棒性很好,nc值在0.99左右,而对于旋转攻击的鲁棒性有所提高,对于椒盐噪声攻击和高斯攻击的鲁棒性也有小幅度提升。由于本发明中将重复码用在了高有效位,而不是全部位数,避免水印信息过多,保证了嵌入水印后的透明性,而且该水印技术的安全性也有一定保证。如果将其运用到诸如化妆品包装等彩色图像上,可以有效的保证图像版权,防止有人恶意侵权。将本发明的方法运用到其他图片上不会提取到水印信息,因此虚警率较低。

    本发明所述基于重复码和schur分解的视觉加密彩色盲水印方法,使用重复码增加了算法的可靠性,提高了纠错性;采用schur分解比svd分解更简洁,因为schur分解是svd分解的中间步骤,降低了时间复杂度;彩色视觉加密的使用可以增加彩色水印技术的安全性。

    最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。


    技术特征:

    1.一种基于重复码和schur分解的视觉加密彩色盲水印方法,其特征在于:该方法通过一种水印嵌入算法将彩色水印图像嵌入到彩色载体图像中;通过一种水印提取算法将被攻击的彩色载体图像中嵌入的彩色水印图像提取出来,如果能提取出来彩色水印图像,证明该彩色载体图像拥有版权;

    所述水印嵌入算法的具体步骤为:

    步骤1.1:将像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块;

    步骤1.2:将像素大小为16*16的彩色水印图像进行arnold置乱加密,并分成r、g、b三个通道;将每个通道进行视觉加密,处理成32*32的像素矩阵,然后将彩色水印图像的十进制像素矩阵转化成8位的二进制像素矩阵,生成32*32*8的像素矩阵;

    视觉加密方式包括对角线方式、同行方式和同列方式,分别如式(1)-式(3),将对角线方式、同行方式、同列方式分别用于彩色载体图像的rgb通道中;

    其中,a表示彩色水印图像置乱前的像素值,b表示彩色水印图像置乱后的像素值,a、b取值为水印信息中的1或0;

    步骤1.3:采用重复码技术,将8位二进制水印信息的高4位进行(3,1)或(3,0)的方式进行扩展,将步骤1.2中32*32*8的像素矩阵扩展为32*32*16的像素矩阵;

    步骤1.4:将分块的彩色载体图像进行schur分解,选出32*32*16个位置嵌入彩色水印图像的水印信息;

    所述水印提取算法的具体步骤为:

    步骤2.1:将攻击后的像素大小为512*512的彩色载体图像分成r、g、b三个通道,将每个通道进行128*128个4*4分块;

    步骤2.2:将分块的彩色载体图像进行schur逆分解,提取出32*32*16个水印信息,将提取的水印信息删除重复码并转化成32*32大小的十进制矩阵;

    将rgb每个通道的十进制矩阵进行视觉加密逆处理,还原水印信息,生成彩色水印图像。

    2.根据权利要求1所述的基于重复码和schur分解的视觉加密彩色盲水印方法,其特征在于:所述arnold置乱加密的公式如下:

    其中,x1、y1为置乱后的数,x、y为置乱前的数,n为变换次数。

    3.根据权利要求1所述的基于重复码和schur分解的视觉加密彩色盲水印方法,其特征在于:所述schur分解的算法公式如下:

    其中,t'(1,1)是嵌入水印后的值,t(1,1)表示特征矩阵的最大值,δ表示水印嵌入系数,k为水印嵌入强度,w为嵌入的水印信息;

    schur逆分解的算法公式如下:

    其中,w1为提取的水印信息。

    技术总结
    本发明提供一种基于重复码和Schur分解的视觉加密彩色盲水印方法,涉及数字图像彩色水印技术领域。将彩色水印进行视觉加密,采用重复码技术,并将水印信息嵌入到schur分解的彩色载体图像中,同时采用可逆算法,不需要第三方提供任何信息即可提取水印信息。避免了DCT中频系数较不稳定的特点,并且将重复码用在了高有效位,而不是全部位数,避免水印信息过多,保证了嵌入水印后的透明性,能够解决传统盲水印中水印信息较大时对水印技术透明性影响较大的问题,并有效提高彩色水印的安全性。

    技术研发人员:张金羽
    受保护的技术使用者:张金羽
    技术研发日:2020.11.27
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16847.html

    最新回复(0)