视频水印的嵌入处理方法、装置、电子设备及存储介质与流程

文档序号:20616636发布日期:2020-05-06 20:14阅读:283来源:国知局
视频水印的嵌入处理方法、装置、电子设备及存储介质与流程

本发明涉及计算机技术领域,具体涉及一种视频水印的嵌入处理方法、装置、电子设备及存储介质。



背景技术:

数字水印信息的嵌入技术是运用不同的嵌入方法将特定的数字水印信息隐藏到多媒体内容(视频、音频、图像)中,数字水印信息具有良好的水印不可见性及用户的不可感知性。

根据数字水印的嵌入方式,可将数字水印嵌入技术分为基于空域和基于频域两类。基于空域的数字水印方法是直接在图像的像素值上嵌入水印信息。基于频域的数字水印方法是经过离散傅里叶变换或小波变换或离散余弦变换后,在变换域中嵌入水印信息。

但是现有的基于空域的视频水印嵌入方法抗击几何攻击的鲁棒性较差,基于频域的视频水印嵌入方法抗击对比度增强的能力较差。



技术实现要素:

由于现有方法存在上述问题,本发明实施例提出一种视频水印的嵌入处理方法、装置、电子设备及存储介质。

第一方面,本发明实施例提出一种视频水印的嵌入处理方法,包括:

对原始的视频文件进行解码,获得各个yuv形式的单帧图像;

针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

针对每个单帧图像的y分量,获取当前单帧图像y分量的水印嵌入位置;

依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置;

将嵌入水印后的每个单帧图像的y分量与原始的u、v分量合成为yuv形式的目标单帧图像;

将所有的目标单帧图像编码输出为目标视频文件。

可选地,所述水印嵌入位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

可选地,所述水印字符串为二进制串,包括开始字符串和水印信息字符串;

相应地,所述依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置,具体包括:

依次将所述开始字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

从下一个单帧图像起,依次将所述水印信息字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

循环将所述开始字符串和所述水印信息字符串的各字符顺序嵌入各单帧图像y分量的水印嵌入位置,直至所有单帧图像y分量的水印嵌入位置均嵌入水印字符;

其中,所述每个单帧图像y分量的水印嵌入位置只嵌入水印字符串中的一位。

可选地,所述依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置,具体包括:

计算各个单帧图像y分量的水印嵌入位置(i,j)的像素值img(i,j)为:

mean=(org(i,j-1)+org(i+1,j-1)+org(i+1,j))/3

其中,org(i,j)为坐标(i,j)嵌入水印信息之前的像素值;flag为所述水印字符串中待嵌入的字符,off为像素值的偏移量,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值。

可选地,所述视频水印的嵌入处理方法还包括:

对待检测的所述目标视频文件进行解码,获得各个yuv形式的单帧图像;

针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

针对每个单帧图像的y分量,获取当前单帧图像y分量的水印提取位置;

依次顺序提取每个单帧图像y分量的水印提取位置的字符,并待入水印检测公式,若所述水印检测公式连续输出的第一预设数量的字符串是所述开始字符串,则所述水印检测公式连续输出的后续第二预设数量的字符串是水印信息字符串;

若判断至少一组提取的水印信息字符串与嵌入的所述水印信息字符串匹配,则确定水印检测成功。

可选地,所述水印提取位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

可选地,所述水印检测公式为:

mean=(img(i,j-1)+img(i+1,j-1)+img(i+1,j))/3

flag=flag(x,y+1)||flag(x-1,y)||flag(x+1,y)||flag(x,y-1)

其中,img(i,j)为像素点(i,j)嵌入水印信息之后的像素值,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值,flag(i,j)为四邻域中各像素点的像素值;flag为水印检测公式的输出值。

第二方面,本发明实施例还提出一种视频水印的嵌入处理装置,包括:

视频解码模块,用于对原始的视频文件进行解码,获得各个yuv形式的单帧图像;

分量分离模块,用于针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

位置获取模块,用于针对每个单帧图像的y分量,获取当前单帧图像y分量的水印嵌入位置;

水印嵌入模块,用于依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置;

分量合成模块,用于将嵌入水印后的每个单帧图像的y分量与原始的u、v分量合成为yuv形式的目标单帧图像;

视频编码模块,用于将所有的目标单帧图像编码输出为目标视频文件。

可选地,所述水印嵌入位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

可选地,所述水印字符串为二进制串,包括开始字符串和水印信息字符串;

相应地,所述水印嵌入模块具体用于:

依次将所述开始字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

从下一个单帧图像起,依次将所述水印信息字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

循环将所述开始字符串和所述水印信息字符串的各字符顺序嵌入各单帧图像y分量的水印嵌入位置,直至所有单帧图像y分量的水印嵌入位置均嵌入水印字符。

可选地,所述每个单帧图像y分量的水印嵌入位置只嵌入水印字符串中的一位。

可选地,所述水印嵌入模块具体用于:

计算各个单帧图像y分量的水印嵌入位置(i,j)的像素值img(i,j)为:

mean=(org(i,j-1)+org(i+1,j-1)+org(i+1,j))/3

其中,org(i,j)为坐标(i,j)嵌入水印信息之前的像素值;flag为所述水印字符串中待嵌入的字符,off为像素值的偏移量,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值。

可选地,所述视频水印的嵌入处理装置还包括:

视频二次解码模块,用于对待检测的所述目标视频文件进行解码,获得各个yuv形式的单帧图像;

分量二次分离模块,用于针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

位置二次获取模块,用于针对每个单帧图像的y分量,获取当前单帧图像y分量的水印提取位置;

水印检测模块,用于依次顺序提取每个单帧图像y分量的水印提取位置的字符,并待入水印检测公式,若所述水印检测公式连续输出的第一预设数量的字符串是所述开始字符串,则所述水印检测公式连续输出的后续第二预设数量的字符串是水印信息字符串;

检测成功确定模块,用于若判断至少一组提取的水印信息字符串与嵌入的所述水印信息字符串匹配,则确定水印检测成功。

可选地,所述水印提取位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

可选地,所述水印检测公式为:

mean=(img(i,j-1)+img(i+1,j-1)+img(i+1,j))/3

flag=flag(x,y+1)||flag(x-1,y)||flag(x+1,y)||flag(x,y-1)

其中,img(i,j)为像素点(i,j)嵌入水印信息之后的像素值,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值,flag(i,j)为四邻域中各像素点的像素值;flag为水印检测公式的输出值。

第三方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明实施例通过在最大连通域的质心的四邻域的位置顺序循环嵌入水印字符串的各字符,使得各个单帧图像的水印嵌入位置都不同,从而提高水印信息的抗击几何攻击的鲁棒性;同时通过各个单帧图像嵌入不同的水印字符,能够抗击多次编码操作、增强处理和抽帧处理等,计算复杂度低,计算速度快。

附图说明

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

图1为本发明一实施例提供的一种视频水印的嵌入处理方法的流程示意图;

图2为本发明一实施例提供的单帧图像中像素点的四邻域的示意图;

图3为本发明一实施例提供的一种视频水印的嵌入处理方法的流程示意图;

图4为本发明一实施例提供的一种视频水印的检测流程示意图;

图5为本发明一实施例提供的一种视频水印的嵌入处理装置的结构示意图;

图6为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种视频水印的嵌入处理方法的流程示意图,包括:

s101、对原始的视频文件进行解码,获得各个yuv形式的单帧图像。

其中,所述视频文件为待嵌入水印的视频文件。

具体地,对视频文件解码后,得到多个帧,每一帧即为一个单帧图像。

s102、针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

s103、针对每个单帧图像的y分量,获取当前单帧图像y分量的水印嵌入位置;

所述水印嵌入位置为当前的单帧图像中待嵌入水印信息的位置。

s104、依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置;

举例来说,水印字符串为10个字符,视频文件解码后有100帧单帧图像,则对于第1-10帧单帧图像,分别嵌入第1-10号字符,即第1帧单帧图像嵌入第1号字符,第2帧单帧图像嵌入第2号字符……,第10帧单帧图像嵌入第10号字符;对于第11-20帧单帧图像,继续循环嵌入第1-10号字符,即第11帧单帧图像嵌入第1号字符,第12帧单帧图像嵌入第2号字符……,第20帧单帧图像嵌入第10号字符;……第100帧单帧图像嵌入第10号字符。

s105、将嵌入水印后的每个单帧图像的y分量与原始的u、v分量合成为yuv形式的目标单帧图像。

其中,所述目标单帧图像为嵌入水印后合成的图像。

s106、将所有的目标单帧图像编码输出为目标视频文件。

其中,所述目标视频文件为嵌入水印后的视频文件。

本实施例通过在最大连通域的质心的四邻域的位置顺序循环嵌入水印字符串的各字符,使得各个单帧图像的水印嵌入位置都不同,从而提高水印信息的抗击几何攻击的鲁棒性;同时通过各个单帧图像嵌入不同的水印字符,能够抗击多次编码操作、增强处理和抽帧处理等,计算复杂度低,计算速度快。

进一步地,在上述方法实施例的基础上,所述水印字符串为二进制串,包括开始字符串和水印信息字符串。

相应地,s104具体包括:

依次将所述开始字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

从下一个单帧图像起,依次将所述水印信息字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

循环将所述开始字符串和所述水印信息字符串的各字符顺序嵌入各单帧图像y分量的水印嵌入位置,直至所有单帧图像y分量的水印嵌入位置均嵌入水印字符。

进一步地,所述每个单帧图像y分量的水印嵌入位置只嵌入水印字符串中的一位。

举例来说,在嵌入水印信息前需先嵌入开始字符串的二进制串:01010011,对应的字符串是s,表示在这之后要嵌入水印信息了。

首先,在解码后的第一帧单帧图像的y分量的水印嵌入位置加入开始字符串的二进制串的第一位,在解码后的第二帧单帧图像的y分量的水印嵌入位置加入开始字符串的二进制串的第二位,以此类推,直到在解码后的第八帧单帧图像的y分量的水印嵌入位置加入开始字符串的二进制串的第八位;然后,在解码后的第九帧单帧图像的y分量的水印嵌入位置加入水印信息二进制串的第一位;在解码后的第十帧单帧图像的y分量的水印嵌入位置加入水印信息二进制串的第二位,以此类推;在水印信息二进制串的最后一位嵌入之后,再从开始字符串的二进制串的第一位开始,循环嵌入,直到所有的单帧图像都处理结束。

进一步地,在上述方法实施例的基础上,所述水印嵌入位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的四邻域的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

所述最大连通域为单帧图像中面积最大的连通区域。

单帧图像的质心为图像灰度值的重心。

所述连通域为单帧图像中相邻且像素值相近或相同的图像区域。

进一步地,在上述方法实施例的基础上,s104具体包括:

计算各个单帧图像y分量的水印嵌入位置(i,j)的像素值img(i,j)为:

mean=(org(i,j-1)+org(i+1,j-1)+org(i+1,j))/3

其中,org(i,j)为坐标(i,j)嵌入水印信息之前的像素值;flag为所述水印字符串中待嵌入的字符,off为像素值的偏移量,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值。

具体地,当确定当前单帧图像的水印嵌入位置后,计算得到像素值img(i,j),并将水印嵌入位置的像素值更新为img(i,j)。

进一步地,在上述方法实施例的基础上,所述视频水印的嵌入处理方法还包括:

对待检测的所述目标视频文件进行解码,获得各个yuv形式的单帧图像;

针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

针对每个单帧图像的y分量,获取当前单帧图像y分量的水印提取位置;

依次顺序提取每个单帧图像y分量的水印提取位置的字符,并待入水印检测公式,若所述水印检测公式连续输出的第一预设数量的字符串是所述开始字符串,则所述水印检测公式连续输出的后续第二预设数量的字符串是水印信息字符串;

若判断至少一组提取的水印信息字符串与嵌入的所述水印信息字符串匹配,则确定水印检测成功。

具体地,水印提取位置的获取方法与水印嵌入位置相同,即为当前单帧图像y分量的最大连通域的质心的四邻域的位置。

举例来说,在检测水印信息之前需要先找到开始字符串的二进制串(01010011)所在的位置。

首先,提取解码后的第一帧单帧图像的y分量的水印提取位置的二进制值,待入水印检测公式,如果输出的字符是0,那么保留该字符;如果输出的字符是1,那么舍弃该字符;然后,提取解码后的第二帧单帧图像的y分量的水印提取位置的二进制值,待入水印检测公式,如果输出的字符是1,那么保留该字符;如果输出的字符是0,那么舍弃该字符及之前提取的字符;以此类推,直到找到连续的八帧单帧图像的y分量的水印提取位置的二进制值待入水印检测公式,如果输出的是开始字符串的二进制串:01010011,此时可以认为找到了开始字符串的二进制串所在的位置,那么从下一帧单帧图像开始,就可以提取水印信息了。

进一步地,在上述方法实施例的基础上,所述水印检测公式为:

mean=(img(i,j-1)+img(i+1,j-1)+img(i+1,j))/3

flag=flag(x,y+1)||flag(x-1,y)||flag(x+1,y)||flag(x,y-1)

其中,img(i,j)为像素点(i,j)嵌入水印信息之后的像素值;mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值,flag(i,j)为四邻域中各像素点的像素值;flag为水印检测公式的输出值。

四邻域中各像素点的位置关系如图2所示。

具体地,提取开始字符串的二进制串所在位置的下一帧单帧图像的y分量的水印提取位置的二进制值,待入水印检测公式,将输出值作为水印信息二进制字符串的第一位,以此类推,直到所有的单帧图像都处理结束。

图3示出了一种视频水印的嵌入流程示意图,具体包括以下步骤:

step1、视频解码

将视频文件解码为yuv形式的单帧图像,并分离出各个单帧图像的y分量。

step2、嵌入水印信息

四邻域嵌入水印信息的顺序是:先上邻域(x,y+1),再左邻域(x-1,y),再右邻域(x+1,y),最后下邻域(x,y-1)。像素点的四邻域如图2所示。

step3、视频编码

将嵌入水印信息的单帧图像的y分量与原始的u、v分量合成为yuv形式的目标单帧图像,最后将所有的目标单帧图像编码输出为目标视频文件。

图4示出了一种视频水印的检测流程示意图,具体包括以下步骤:

step1、视频解码

将目标视频文件解码为yuv形式的单帧图像,并分离出各个单帧图像的y分量。

step2、检测水印信息

在检测水印信息之前需要先找到开始字符串的二进制串(01010011)所在的位置。

根据以下水印检测公式进行检测:

mean=(img(i,j-1)+img(i+1,j-1)+img(i+1,j))/3

flag=flag(x,y+1)||flag(x-1,y)||flag(x+1,y)||flag(x,y-1)

其中,img(i,j)是在坐标(i,j)嵌入水印信息之后的像素值;flag(i,j)是在坐标(i,j)提取出来的二进制信息,flag是从四邻域(x,y+1),(x-1,y),(x+1,y),(x,y-1)提取出来的二进制信息。

step3:输出检测信息

若判断至少一组检测的水印信息字符串与嵌入的水印信息字符串匹配,则确定水印检测成功。

本实施例提供的视频水印的嵌入处理方法在保障不可见性及不可感知性的基础上,不仅能抗击多次编码操作,亮度、对比度、色相及饱和度等增强处理,抽帧处理等,还对几何攻击(裁剪、缩放)有很好的鲁棒性;且通过在空间域的不固定位置嵌入水印,算法复杂度低,嵌入及检测速度快,适用场景广泛,时效性好。

图5示出了本实施例提供的一种视频水印的嵌入处理装置的结构示意图,所述装置包括:视频解码模块501、分量分离模块502、位置获取模块503、水印嵌入模块504、分量合成模块505和视频编码模块506,其中:

所述视频解码模块501用于对原始的视频文件进行解码,获得各个yuv形式的单帧图像;

所述分量分离模块502用于针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

所述位置获取模块503用于针对每个单帧图像的y分量,获取当前单帧图像y分量的水印嵌入位置;

所述水印嵌入模块504用于依次将水印字符串的各字符顺序循环嵌入各个单帧图像y分量的水印嵌入位置;

所述分量合成模块505用于将嵌入水印后的每个单帧图像的y分量与原始的u、v分量合成为yuv形式的目标单帧图像;

所述视频编码模块506用于将所有的目标单帧图像编码输出为目标视频文件。

本实施例通过在最大连通域的质心的四邻域的位置顺序循环嵌入水印字符串的各字符,使得各个单帧图像的水印嵌入位置都不同,从而提高水印信息的抗击几何攻击的鲁棒性;同时通过各个单帧图像嵌入不同的水印字符,能够抗击多次编码操作、增强处理和抽帧处理等,计算复杂度低,计算速度快。

进一步地,在上述方法装置实施例的基础上,所述位置获取模块503具体用于:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

进一步地,在上述方法装置实施例的基础上,所述水印字符串为二进制串,包括开始字符串和水印信息字符串;

相应地,所述水印嵌入模块具体用于:

依次将所述开始字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

从下一个单帧图像起,依次将所述水印信息字符串的各字符顺序嵌入各个单帧图像y分量的水印嵌入位置;

循环将所述开始字符串和所述水印信息字符串的各字符顺序嵌入各单帧图像y分量的水印嵌入位置,直至所有单帧图像y分量的水印嵌入位置均嵌入水印字符;

其中,所述每个单帧图像y分量的水印嵌入位置只嵌入水印字符串中的一位。

进一步地,在上述方法装置实施例的基础上,所述水印嵌入模块504具体用于:

计算各个单帧图像y分量的水印嵌入位置(i,j)的像素值img(i,j)为:

mean=(org(i,j-1)+org(i+1,j-1)+org(i+1,j))/3

其中,org(i,j)为坐标(i,j)嵌入水印信息之前的像素值;flag为所述水印字符串中待嵌入的字符,off为像素值的偏移量,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值。

进一步地,在上述方法装置实施例的基础上,所述视频水印的嵌入处理装置还包括:

视频二次解码模块,用于对待检测的所述目标视频文件进行解码,获得各个yuv形式的单帧图像;

分量二次分离模块,用于针对每个yuv形式的单帧图像,分离出当前单帧图像的y、u、v分量;

位置二次获取模块,用于针对每个单帧图像的y分量,获取当前单帧图像y分量的水印提取位置;

水印检测模块,用于依次顺序提取每个单帧图像y分量的水印提取位置的字符,并待入水印检测公式,若所述水印检测公式连续输出的第一预设数量的字符串是所述开始字符串,则所述水印检测公式连续输出的后续第二预设数量的字符串是水印信息字符串;

检测成功确定模块,用于若判断至少一组提取的水印信息字符串与嵌入的所述水印信息字符串匹配,则确定水印检测成功。

进一步地,在上述方法装置实施例的基础上,所述水印提取位置是当前单帧图像y分量的最大连通域的质心的四邻域,所述质心的四邻域的计算具体包括:

针对每个单帧图像,计算单帧图像y分量的最大连通域的质心的位置(x,y):

其中,i为单帧图像y分量的水平方向,m为单帧图像y分量水平方向的像素数量,j为单帧图像y分量的垂直方向,n为单帧图像y分量垂直方向的像素数量,p(i,j)为单帧图像y分量中像素点(i,j)的灰度值;

根据最大连通域的质心的位置(x,y),确定上邻域的位置为(x,y+1),左邻域的位置为(x-1,y),右邻域的位置为(x+1,y),下邻域的位置为(x,y-1);所述质心的四邻域包括所述上邻域、所述左邻域、所述右邻域和所述下邻域。

进一步地,在上述方法装置实施例的基础上,所述水印检测公式为:

mean=(img(i,j-1)+img(i+1,j-1)+img(i+1,j))/3

flag=flag(x,y+1)||flag(x-1,y)||flag(x+1,y)||flag(x,y-1)

其中,img(i,j)为像素点(i,j)嵌入水印信息之后的像素值,mean为org(i,j)的三邻域org(i,j-1)、org(i+1,j-1)和org(i+1,j)的像素值的平均值,flag(i,j)为四邻域中各像素点的像素值;flag为水印检测公式的输出值。

本实施例所述的视频水印的嵌入处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

参照图6,所述电子设备,包括:处理器(processor)601、存储器(memory)602和总线603;

其中,

所述处理器601和存储器602通过所述总线603完成相互间的通信;

所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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