一种隐形水印嵌入方法、装置以及存储设备与流程

文档序号:14444736阅读:207来源:国知局
一种隐形水印嵌入方法、装置以及存储设备与流程

本发明涉及隐形水印技术领域,特别涉及一种隐形水印嵌入方法、装置以及存储设备。



背景技术:

随着信息传播技术的发展,信息版权保护也成为一个迫切需要解决的问题。传统的加密技术在信息传播过程中虽有保护作用,但数据一旦被接收并解密,其保护作用也随之消失。因此,传统的加密技术只能满足有限的要求。

为了解决上述问题,提出了水印技术。依据所嵌入的主媒体不同,水印可分为图像水印、音频水印、视频水印、文本水印和网络水印。与传统的加密技术不同,水印技术应用的目的不是限制信息的传播,而是在信息传播过程中水印不被改变或消除。从视觉效果考虑,有一种水印称谓隐形水印,这叫信息隐藏,就是把一些水印秘密地嵌入到音频、视频、图片等载体中,盗版追踪是这种技术很常见的用途。对不同的用户,在信息里面加上不同的水印,用户视觉上看不到,但可以使用特定算法检测出来,用户传播信息时隐形水印也不会消失,这样可以实现追踪。但是,现有技术将隐形水印嵌入文件的某些位置时,会无法检测到隐形水印。因此,将隐形水印如何嵌入需要传播的信息中成为一个突出的问题。



技术实现要素:

为解决现有技术的问题,本发明提出一种隐形水印嵌入方法、装置以及存储设备,使得嵌入的隐形水印不管设置在文件任何位置都能够很好的检测出来。

为实现上述目的,本发明提供了一种隐形水印嵌入方法,包括:

对隐形水印的内容进行处理,获得所述隐形水印的二进制序列信息;

从宿主图像中获取分量图像,并对所述宿主图像的每个分量图像进行划分,获得非重叠块;

从所述非重叠块中选择非冲撞的嵌入像素块;

对所述嵌入像素块进行qr分解,获得正规正交矩阵与第一上三角形矩阵;

修改所述第一上三角形矩阵的第一行第四列的值来嵌入所述隐形水印的二进制序列信息,获得第二上三角形矩阵;

利用所述第二上三角形矩阵和所述正规正交矩阵执行逆qr分解获得包含所述隐形水印的分量图像;

将包含所述隐形水印的分量图像重新组合获得包含隐形水印的图像。

优选地,所述第二上三角形矩阵获得的步骤包括:

根据所述隐形水印的二进制序列信息确定修改幅度;

根据所述修改幅度获得第一结果c1和第二结果c2;

当abs(r1,4-c2)<abs(r1,4-c1)时,所述第一上三角矩阵的第一行第四列的值更改为第二结果c2,获得第二上三角矩阵;否则,所述第一上三角形矩阵的第一行第四列的值更改为第一结果c1,获得第二上三角形矩阵。

优选地,所述隐形水印的二值序列信息获得的步骤包括:

将所述隐形水印的内容生成点阵图;

将所述点阵图处理成透明背景图;

从所述透明背景图中获取分量图像,将所述透明背景图的分量图像进行基于密钥kai的arnold变换,并且把变换后的分量图像的每个像素值转换为二进制序列;其中,i取值为1、2、3,i为透明背景图的分量图像的编号;

所有二进制序列组合在一起形成隐形水印的二进制序列信息。

优选地,所述非冲撞的嵌入像素块通过密钥ki的md5-hash伪随机替换算法从所述宿主图像的每个分量图像的非重叠块中确定;其中,i取值为1、2、3,i为宿主图像的分量图像的编号。

优选地,所述修改幅度包括:第一修改幅度t1和第二修改幅度t2;其中,当ω为1时,则t1=0.5δ,t2=-1.5δ;当ω为0时,则t1=-0.5δ,t2=1.5δ;其中,δ为阈值;ω为隐形水印的二进制序列信息。

优选地,所述第一结果c1根据第一修改幅度t1、δ、k确定;所述第二结果c2根据第二修改幅度t2、δ、k确定;其中,k=floor(ceil(r1,4/δ)/2),floor(x)的取值不大于x的最大整数,ceil(x)是取不小于x的最小整数;r1,4是第一上三角矩阵的第一行第四列的值。

优选地,所述隐形水印的内容为数字和/或字母。

为实现上述目的,本发明还提供了一种隐形水印嵌入装置,包括:

处理器,适于实现各指令;以及

存储器,适于存储多条指令,所述指令适于由所述处理器加载并执行:

对隐形水印的内容进行处理,获得所述隐形水印的二进制序列信息;

从宿主图像中获取分量图像,并对所述宿主图像的每个分量图像进行划分,获得非重叠块;

从所述非重叠块中选择非冲撞的嵌入像素块;

对所述嵌入像素块进行qr分解,获得正规正交矩阵与第一上三角形矩阵;

修改所述第一上三角形矩阵的第一行第四列的值来嵌入所述隐形水印的二进制序列信息,获得第二上三角形矩阵;

利用所述第二上三角形矩阵和所述正规正交矩阵执行逆qr分解获得包含所述隐形水印的分量图像;

将包含所述隐形水印的分量图像重新组合获得包含隐形水印的图像。

优选地,所述处理器获得第二上三角形矩阵的指令包括:

根据所述隐形水印的二进制序列信息确定修改幅度;

根据所述修改幅度获得第一结果c1和第二结果c2;

当abs(r1,4-c2)<abs(r1,4-c1)时,所述第一上三角矩阵的第一行第四列的值更改为第二结果c2,获得第二上三角矩阵;否则,所述第一上三角形矩阵的第一行第四列的值更改为第一结果c1,获得第二上三角形矩阵。

优选地,所述处理器获得隐形水印的二值序列信息的指令包括:

将所述隐形水印的内容生成点阵图;

将所述点阵图处理成透明背景图;

从所述透明背景图中获取分量图像,将所述透明背景图的分量图像进行基于密钥kai的arnold变换,并且把变换后的分量图像的每个像素值转换为二进制序列;其中,i取值为1、2、3,i为透明背景图的分量图像的编号;

所有二进制序列组合在一起形成隐形水印的二进制序列信息。

优选地,所述处理器通过密钥ki的md5-hash伪随机替换算法从所述宿主图像的每个分量图像的非重叠块中确定所述非冲撞的嵌入像素块;其中,i取值为1、2、3,i为宿主图像的分量图像的编号。

优选地,所述处理器获得的修改幅度包括:第一修改幅度t1和第二修改幅度t2;其中,当ω为1时,则t1=0.5δ,t2=-1.5δ;当ω为0时,则t1=-0.5δ,t2=1.5δ;其中,δ为阈值;ω为隐形水印的二进制序列信息。

优选地,所述处理器根据第一修改幅度t1、δ、k确定所述第一结果c1;所述处理器根据第二修改幅度t2、δ、k确定所述第二结果c2;其中,k=floor(ceil(r1,4/δ)/2),floor(x)的取值不大于x的最大整数,ceil(x)是取不小于x的最小整数;r1,4是第一上三角矩阵的第一行第四列的值。

优选地,所述处理器处理的隐形水印的内容为数字和/或字母。

为实现上述目的,本发明还提供了一种存储设备,所述存储设备存储有多条指令,所述指令适于由处理器加载并执行上述所述的隐形水印嵌入方法。

上述技术方案具有如下有益效果:

本技术方案通过加密算法将隐形水印重新编码嵌入到任意包装的任意位置,通过专业的识别技术可以识别出隐藏的编码信息,校验匹配隐形水印内容从而可以做到识别交互功能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提出的一种隐形水印嵌入方法流程图;

图2为利用技术方案获得的含有隐形水印的图像示意图之一;

图3为利用技术方案获得的含有隐形水印的图像示意图之二;

图4为利用技术方案获得的含有隐形水印的图像示意图之三;

图5为本实施例对检测隐形水印的结果示意图;

图6为本发明实施例提出的一种隐形水印嵌入装置方框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

对于本技术方案来说,解决现有技术问题的关键在于:如何修改宿主图像实现在文件中的任何位置嵌入隐形水印。为此,本技术方案对宿主图像进行处理,并经过qr分解,获得上三角形矩阵,对该上三角形矩阵的第一行第四列的值更改为隐形水印的信息值,从而将隐形水印嵌入到文件中。

基于上述描述,如图1所示,为本发明实施例提出的一种隐形水印嵌入方法流程图。包括:

步骤101):对隐形水印的内容进行处理,获得所述隐形水印的二进制序列信息;

在本实施例中,通过特有算法将隐形水印的内容生成点阵图,再把点阵图处理成透明背景。为了提高隐形水印的安全性和鲁棒性,把所述透明背景图分成r、g、b三个分量图像,将所述透明背景图的分量图像进行基于密钥kai的arnold随机置乱,并且把经过arnold随机置乱之后的图像的每个像素值为8位二进制序列。最后组合所有8位二进制序列形成隐形水印的二进制序列信息。其中,kai中的i取值为1、2、3,i为透明背景图的分量图像的编号;

步骤102):从宿主图像中获取分量图像,并对所述宿主图像中的每个分量图像进行划分,获得非重叠块;

在本实施例中,原始宿主图像分成r、g、b三个分量图像hi,而且每个分量图像被划分成4*4的非重叠块。其中,i=1,2,3;i表示r、g、b三个分量图像中的某个分量图像。在本实施例中,彩色图像可以作为隐形水印,其水印信息量将是同尺寸二值图像的24倍,8*8划分的话太过复杂不能较好的满足彩色图像作为水印的要求。而4*4能够满足水印不可见性和和鲁棒性的需要,还能明显提高算法的执行效率。

步骤103):从所述非重叠块中选择非冲撞的嵌入像素块;

在本实施例中,为了提高水印的安全性,利用基于密钥ki的md5-hash伪随机替换算法在分量图像hi中选择非冲撞的嵌入像素块。其中,hi表示r、g、b三个分量图像中的某个分量图像;ki表示r、g、b三个分量图像中的某个分量图像对应的密钥。

步骤104):对所述嵌入像素块进行qr分解,获得正规正交矩阵与第一上三角形矩阵;

步骤105):修改所述第一上三角形矩阵的第一行第四列的值来嵌入所述隐形水印的二进制序列信息,获得第二上三角形矩阵;

在本实施例中,通过修改第一上三角形矩阵的第一行第四列的值来嵌入隐形水印的二进制序列信息的过程如下:

首先,根据需要嵌入的隐形水印的二进制序列信息选取不同的修改幅度t1和t2。

其中,ω表示隐形水印的二进制序列值,t1表示第一修改幅度,t2表示第二修改幅度,δ为阈值。

然后,依据第一修改幅度t1和第二修改幅度t2确定对应的修改结果。其中,c1=2k△+t1;c2=2k△+t2。在式中,k=floor(ceil(r1,4/δ)/2),floor(x)的取值不大于x的最大整数,ceil(x)是取不小于x的最小整数;r1,4是第一上三角矩阵的第一行第四列的值;c1、c2为修改结果。

最后,依据下列条件来计算嵌入隐形水印后的值

其中,abs(x)是求x的绝对值函数。

步骤106):利用所述第二上三角形矩阵和所述正规正交矩阵执行逆qr分解获得包含所述隐形水印的分量图像;

步骤107):将包含所述隐形水印的分量图像重新组合形成包含隐形水印的图像。

在本实施例中,用计算得到的替换r1,4,并利用公式a*=q*r*执行逆qr分解得到含隐形水印的分量图像。其中,q表示正规正交矩阵,r*表示第二上三角形矩阵。

最后,含隐形水印的r、g、b分量图像重新组合形成含隐形水印的图像h*。

如图2、图3、图4所示,为利用本技术方案后的获得的含有隐形水印的图像。在图中,隐形水印均设置在方框中。从这些图中可以看出,设置隐形水印时对位置并没有特别的要求。通过专业的识别技术可以识别出隐藏的隐形水印信息,方框的位置中嵌入了编码水印(“cloudcode”),防伪识别效果如图5所示,校验匹配隐形水印内容从而可以做到识别交互功能。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一般计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本领域技术人员还可以了解到本发明实施例列出的各种功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

如图6所示,为本发明实施例提出的一种隐形水印嵌入装置方框图。包括:

处理器a,适于实现各指令;以及

存储器b,适于存储多条指令,所述指令适于由所述处理器a加载并执行:

对隐形水印的内容进行处理,获得所述隐形水印的二进制序列信息;

从宿主图像中获取分量图像,并对所述宿主图像的每个分量图像进行划分,获得非重叠块;

从所述非重叠块中选择非冲撞的嵌入像素块;

对所述嵌入像素块进行qr分解,获得正规正交矩阵与第一上三角形矩阵;

修改所述第一上三角形矩阵的第一行第四列的值来嵌入所述隐形水印的二进制序列信息,获得第二上三角形矩阵;

利用所述第二上三角形矩阵和所述正规正交矩阵执行逆qr分解获得包含所述隐形水印的分量图像;

将包含所述隐形水印的分量图像重新组合形成包含隐形水印的图像。

所述处理器a获得隐形水印的二值序列信息的指令包括:

将所述隐形水印的内容生成点阵图;

将所述点阵图处理成透明背景图;

从所述透明背景图中获取分量图像,将所述透明背景图的分量图像进行基于密钥kai的arnold变换,并且把变换后的透明背景图的分量图像的每个像素值转换为二进制序列;其中,kai中的i取值为1、2、3,i为透明背景图的分量图像的编号;

所有二进制序列组合在一起形成隐形水印的二进制序列信息。

所述处理器a通过密钥ki的md5-hash伪随机替换算法从所述宿主图像的每个分量图像的非重叠块中确定所述非冲撞的嵌入像素块;其中,i取值为1、2、3,i为分量图像的编号。

所述处理器a获得第二上三角形矩阵获得的指令包括:

根据所述隐形水印的二进制序列信息ω确定修改幅度;获得的修改幅度包括:第一修改幅度t1和第二修改幅度t2;其中,当ω为1时,则t1=0.5δ,t2=-1.5δ;当ω为0时,则t1=-0.5δ,t2=1.5δ,其中,δ为阈值。

根据所述修改幅度获得第一结果c1和第二结果c2;根据第一修改幅度t1、δ、k确定所述第一结果c1;所述处理器根据第二修改幅度t2、δ、k确定所述第二结果c2;其中,k=floor(ceil(r1,4/δ)/2),floor(x)的取值不大于x的最大整数,ceil(x)是取不小于x的最小整数;r1,4是第一上三角矩阵的第一行第四列的值。

当abs(r1,4-c2)<abs(r1,4-c1)时,所述第一上三角矩阵的第一行第四列的值更改为第二结果c2,获得第二上三角矩阵;否则,所述第一上三角形矩阵的第一行第四列的值更改为第一结果c1,获得第二上三角形矩阵。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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