一种基于核心张量的灰度视频水印算法的制作方法

文档序号:18400513发布日期:2019-08-09 23:50阅读:191来源:国知局
一种基于核心张量的灰度视频水印算法的制作方法

本发明涉及视频水印技术领域,尤其涉及一种基于核心张量的灰度视频水印算法。



背景技术:

随着互联网的飞速发展,视频的获得变得日益便捷。但在利益驱使下,视频的盗版问题也更加猖狂。近年来,数字水印技术在视频版权保护领域取得一定的成果,它是将水印信息嵌入到载体的冗余信息中,从而对视频版权进行保护。

视频水印技术根据嵌入域的不同,可分为空域水印技术和变换域水印技术。基于空域视频水印技术,kalkert将扩频的思想引入到广播监控中,将视频看作一系列连续的图像,从而在各个视频帧中嵌入水印信息,该算法对广播传输处理具有一定的鲁棒性,但对于常见的视频攻击的鲁棒性还有待提高。hartung等人将水印信息调制成一个伪随机序列,嵌入在由原始视频图像转换而来的一维信号上,然而该算法对视频压缩、滤波等攻击的鲁棒性还较脆弱。基于此,karybali等人引入了感知掩模和水印盲提取策略来进一步提高视频水印算法的鲁棒性。空域水印技术是直接在空域中对图像的像素值进行修改,具有低透明度、低复杂度等优点,但对于图像压缩和几何攻击的鲁棒性极其脆弱。而变换域水印技术是对图像进行傅里叶等变换,从而在变化域中完成水印的嵌入,这对滤波、图像压缩等攻击都具有良好的鲁棒性,克服了空域水印算法鲁棒性不强的缺陷。e.koch于1995年实现了在dct域进行水印的嵌入与提取,进一步提高了对有损压缩和滤波攻击的鲁棒性。在此基础上,1997年cox等人通过对多篇变换域水印文献进行总结及分析,发现图像的低频部分更具稳定性,将水印信息嵌入到低频部分能进一步提高水印的鲁棒性。

目前大多数的视频水印算法都没有考虑到视频相邻帧之间的相关性,导致算法对帧攻击的鲁棒性通常不强。

如公开号为cn106878827a的专利公开了一种高鲁棒性音视频交叉水印算法,包括:解码视频码流,利用视频的帧间相关性生成视频水印;解码音频码流,利用音频码流的低通幅值统计特性生成音频水印;通过视觉显著模型将音频水印嵌入到视频关键帧中;通过叠加的方式将视频水印嵌入到音频码流的低频系数中。本发明所达到的有益效果:1)利用音视频码流特征生成水印,且水印都是在载体视频解码过程中实时动态生成的,嵌入水印的不确定性提高了算法的安全性;2)选择在音频码流和视频码流中均嵌入水印,即使其中之一码流受到破坏导致水印无法提取时,仍可以从另一码流中提取水印,更加全面有效地保护了载体视频,大大提高了水印的鲁棒性。

上述专利虽然可以提高水印的鲁棒性,但是依然存在没有考虑到视频相邻帧之间的相关性,导致算法对帧攻击的鲁棒性通常不强的问题。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供了一种基于核心张量的灰度视频水印算法,首先,将灰度视频表示为三阶张量,并使用张量分解来获得核心张量;其次,通过对核心张量的量化来嵌入水印;最后,将水印信息均匀地分散到视频地各个帧中。

为了实现以上目的,本发明采用以下技术方案:

一种基于核心张量的灰度视频水印算法,包括步骤:

s1.将视频水印进行arnold变换;

s2.将每个视频张量通过tucker分解并获得核心张量;

s3.将所述获取的核心张量进行量化与修正;

s4.将所述量化与修正后的核心张量重构,生成重构后的水印视频。

进一步的,还包括步骤:

s5.对每个重构后的水印视频通过tucker分解并获得核心张量;

s6.根据所述获得的核心张量确定水印信息;

s7.通过arnold逆变换获得原始水印信息。

进一步的,还包括:

设置一段分辨率为m×n的视频v,水印b的大小为m×m。每k帧灰度视频表示为一个三阶张量,则每个张量ai(1≤i≤m2)的大小为m×n×k。

进一步的,所述步骤s1具体包括:

其中,(x,y)为原始水印像素的坐标,(x',y')为(x,y)经过arnold变换后的坐标,m为矩阵的宽。

进一步的,所述步骤s2具体包括:

通过tucker分解并获得的核心张量为si;

其中,ai∈rm×n×k是原始视频张量,u∈rm×m,v∈rn×n,w∈rk×k分别为三个因子矩阵。

进一步的,所述步骤s3具体包括:

a.对核心张量si进行量化,记作:

其中,q为量化强度,round()取整数;

b.对核心张量si进行修正,记作:

进一步的,所述步骤s4具体包括:

生成重构后的水印视频ai';

a′i=s′i×1ui×2vi×3wi。

进一步的,所述步骤s5具体包括:

获得重构后水印视频的核心张量si';

s′i=a′i×1ut×2vt×3wt

进一步的,所述步骤s6具体包括:

a.对核心张量si'进行量化,记作:

其中,q为量化强度,floor()为向下取整;

b.根据λi'的奇偶性确定提取的信息。

进一步的,所述步骤s7具体包括:

执行arnold逆变换获得原始水印信息,

与现有技术相比,本发明将灰度视频表示三阶为张量,充分考虑了视频相邻帧之间的相关性;通过对核心张量的量化,水印信息被均匀地分散到视频的各个帧中,提高了算法的不可感知性及对常见的视频攻击。

附图说明

图1是实施例一提供的一种基于核心张量的灰度视频水印算法流程图;

图2是实施例一提供的一种水印嵌入的方法图;

图3是实施例二提供的一种基于核心张量的灰度视频水印算法流程图;

图4是实施例二提供的一种水印提取的方法;

图5是实施例二提供的水印视频与原始视频前100帧的psnr;

图6是实施例二提供的算法对常见攻击的结果统计。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

本发明的目的是针对现有技术的缺陷,提供了一种基于核心张量的灰度视频水印算法,首先,将灰度视频表示为三阶张量,并使用张量分解来获得核心张量;其次,通过对核心张量的量化来嵌入水印;最后,将水印信息均匀地分散到视频地各个帧中。

实施例一

本实施例提供一种基于核心张量的灰度视频水印算法,如图1所示,包括步骤:

s11.将视频水印进行arnold变换;

s12.将每个视频张量通过tucker分解并获得核心张量;

s13.将所述获取的核心张量进行量化与修正;

s14.将所述量化与修正后的核心张量重构,生成重构后的水印视频。

在本实施例中,首先设置一段大小为m×n的视频v,水印b的大小为m×m。假设每k帧灰度视频表示为一个三阶张量,则每个张量ai(1≤i≤m2)的大小为m×n×k。

水印嵌入的方法如图2所示。

s11.将视频水印进行arnold变换;

为了消除水印像素之间的空间相关性,利用arnold变换将水印b置乱为b':

其中,(x,y)为原始水印像素的坐标,(x',y')为(x,y)经过arnold变换后的坐标,m为矩阵的宽。

在本实施例中,取a=1,b=1,并对原始水印执行t次的arnold变换。

arnold变换的目的在于打乱原图像,使非法者无法识别原图像的内容,arnold变换的置乱度表明了图像被打乱的过程,图像经过置乱变换,越“乱”效果越好,保密性越好。

s12.将每个视频张量通过tucker分解并获得核心张量;

在本实施例中,对每个ai(1≤i≤m2)进行tucker分解,并获得的核心张量si;

其中,ai∈rm×n×k是原始视频张量,u∈rm×m,v∈rn×n,w∈rk×k分别为三个因子矩阵。

tucker分解是一种高阶的主成分分析,它将一个张量表示成一个核心张量沿每一个mode乘上一个矩阵。

s13.将所述获取的核心张量进行量化与修正;

将arnold变换后的水印信息b'嵌入到核心张量中。

在本实施例中,采用奇偶量化的方法来嵌入水印信息,对于每个张量ai,si(1,1,1)为核心张量si的最大值,记作σi。

a.对核心张量si进行量化,记作:

其中,q为量化强度,round()为舍入整;

b.对核心张量si进行修正,记作:

修改每个核心张量si的最大值来嵌入水印。

s14.将所述量化与修正后的核心张量重构,生成重构后的水印视频ai';

a′i=s′i×1u×2v×3w。

本实施例将灰度视频表示三阶为张量,充分考虑了视频相邻帧之间的相关性;通过对核心张量的量化,水印信息被均匀地分散到视频的各个帧中,提高了算法的不可感知性及对常见的视频攻击。

实施例二

本实施例提供一种基于核心张量的灰度视频水印算法,如图3所示,包括步骤:

s11.将视频水印进行arnold变换;

s12.将每个视频张量通过tucker分解并获得核心张量;

s13.将所述获取的核心张量进行量化与修正;

s14.将所述量化与修正后的核心张量重构,生成重构后的水印视频;

s15.对每个重构后的水印视频通过tucker分解并获得核心张量;

s16.根据所述获得的核心张量确定水印信息;

s17.通过arnold逆变换获得原始水印信息。

在本实施例中,首先设置一段大小为m×n的视频v,水印b的大小为m×m。假设每k帧灰度视频表示为一个三阶张量,则每个张量ai(1≤i≤m2)的大小为m×n×k。

水印提取的方法如图4所示。

s11.将视频水印进行arnold变换;

为了消除水印像素之间的空间相关性,利用arnold变换将水印b置乱为b':

其中,(x,y)为原始水印像素的坐标,(x',y')为(x,y)经过arnold变换后的坐标,m为矩阵的宽。

在本实施例中,取a=1,b=1,并对原始水印执行t次的arnold变换,t保存为密钥用于水印提取过程。

arnold变换的目的在于打乱原图像,使非法者无法识别原图像的内容,arnold变换的置乱度表明了图像被打乱的过程,图像经过置乱变换,越“乱”效果越好,保密性越好。

s12.将每个视频张量通过tucker分解并获得核心张量;

在本实施例中,对每个ai(1≤i≤m2)进行tucker分解,并获得的核心张量si;

其中,ai∈rm×n×k是原始视频张量,u∈rm×m,v∈rn×n,w∈rk×k分别为三个因子矩阵。

tucker分解是一种高阶的主成分分析,它将一个张量表示成一个核心张量沿每一个mode乘上一个矩阵。

s13.将所述获取的核心张量进行量化与修正;

将arnold变换后的水印信息b'嵌入到核心张量中。

在本实施例中,采用奇偶量化的方法来嵌入水印信息,对于每个张量ai,si(1,1,1)为核心张量si的最大值,记作σi。

a.对核心张量si进行量化,记作:

其中,q为量化强度,round()为舍入整;

b.对核心张量si进行修正,记作:

修改每个核心张量si的最大值来嵌入水印。

s14.将所述量化与修正后的核心张量重构,生成重构后的水印视频ai';

a′i=s′i×1u×2v×3w。

s15.对每个重构后的水印视频通过tucker分解并获得核心张量;

对每个嵌入水印信息后的视频张量ai'进行tucker分解。

获得嵌入水印后视频的核心张量si';

s′i=a′i×1ut×2vt×3wt

s16.根据所述获得的核心张量确定水印信息;

根据核心张量si'的最大值来确定提取的水印信息。

a.量化每个核心张量si'的最大值σi',记作:

其中,q为量化强度,floor()为向下取整。

b.根据λi'的奇偶性确定提取的信息,当λi'为偶数时,bi'为1;当λi'为奇数时,bi'为0。

s17.通过arnold逆变换获得原始水印信息。

对b'执行arnold逆变换得到原始水印信息b;

本实施例将灰度视频表示三阶为张量,充分考虑了视频相邻帧之间的相关性。通过对核心张量的量化,水印信息被均匀地分散到视频的各个帧中,提高了算法的不可感知性及对常见的视频攻击。

如图5所示为水印视频与原始视频前100帧的psnr。

其中,psnr即峰值信噪比,是一种评价图像的客观标准。

如图6所示为算法对常见攻击的结果统计。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1