1.本发明实施例涉及数字水印技术领域,具体涉及一种水印复用嵌入方法、系统、设备及存储介质。
背景技术:2.数字水印技术是指用信号处理的方法在数字化的多媒体数据(如图像、音频、视频等)中嵌入信息。水印可分为浮现式和隐藏式两种,明水印(visible watermarking)所包含的信息可在观看图片或视频时同时被看见;盲水印(blind watermarking)是以数字数据的方式加入音频、图片或视频中,无法通过肉眼进行观测。
3.嵌入数字水印的过程就是向被保护的数字载体数据(如静止图像、视频、音频等)嵌入能证明版权归属或跟踪侵权行为的信息,该信息可以是作者的序列号、公司标志、有意义的文本等,同时又不影响被保护的数字对象,所嵌入的信息即为水印。
4.在现有的数字水印技术中,单一视频只能嵌入一个数字水印,当视频中已经嵌入水印时,嵌入新的水印内容会将原来的水印内容覆盖。在实际应用过程中,会有较大的限制与影响。当需要在视频中嵌入多个水印时,现有的视频嵌入数字水印技术无法满足需求,嵌入新水印时,旧水印无法保证完整性。
技术实现要素:5.为此,本发明实施例提供一种水印复用嵌入方法、系统、设备及存储介质,以解决现有技术无法在同一视频中嵌入多个水印的技术问题。
6.为了实现上述目的,本发明实施例提供如下技术方案:
7.根据本发明实施例的第一方面,提供了一种水印复用嵌入方法,包括:
8.接收目标视频帧和至少一个第一待嵌入水印;
9.利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印;
10.将目标视频帧分割为预设大小的第一像素方块;
11.基于预设信息,预估所述目标视频帧的水印嵌入容纳数;
12.判断水印嵌入容纳数是否大于或等于1;
13.如果所述水印嵌入容纳数小于1,则所述目标视频帧无法进行水印嵌入,接收下一目标视频帧;
14.如果所述水印嵌入容纳数大于或等于1,则从所述目标视频帧中提取第一像素方块;
15.计算所述第一像素方块的亮度方差;
16.判断所述亮度方差是否在阈值范围内;
17.如果所述亮度方差不在预设阈值范围内,则跳过该第一像素方块,提取下一第一像素方块;
18.如果所述亮度方差在预设阈值范围内,则将所述第一像素方块标记为第二像素方
块;
19.选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最小信息单元分配给对应第一预设数量的第二像素方块,生成像素方块分配结果;
20.利用所述像素方块分配结果构建水印索引;
21.根据所述水印索引依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块。
22.进一步地,利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印,包括:
23.设定所述第一待嵌入水印具有最小信息单元的第一最小信息单元数量最大值;
24.从所述第一待嵌入水印所有的最小信息单元中,选取第二预设数量的最小信息单元作为crc校验和位,剩余的最小信息单元作为最大净载荷信息长度;
25.从所述第一待嵌入水印获取水印净载荷数据;
26.判断所述水印净载荷数据的信息长度是否小于所述最大净载荷信息长度;
27.如果所述水印净载荷数据的信息长度小于所述最大净载荷信息长度,则使用字符0填充为空的字符位,与所述水印净载荷数据一起生成第一净载荷信息单元;
28.如果所述水印净载荷数据的信息长度等于所述最大净载荷信息长度,则直接利用所述水印净载荷数据生成第二净载荷信息单元;
29.计算所述水印净载荷数据的crc校验和;
30.选取所述crc校验和的低crc校验和信息计算位填充至所述crc校验和位,生成crc校验数据;
31.由所述第一净载荷信息单元/所述第二净载荷信息单元和所述crc校验数据一起生成第二待嵌入水印。
32.进一步地,基于预设信息,预估所述目标视频帧的水印嵌入容纳数,包括:
33.统计目标视频帧经分割得到第一像素方块对应的第一像素方块数;
34.基于所述第一最小信息单元数量最大值,得到所述第二待嵌入水印具有最小信息单元的第二最小信息单元数量最大值;
35.设定嵌入所述第二待嵌入水印的最小信息单元所需的第二像素方块数;
36.利用所述第二最小信息单元数量最大值和所述第二像素方块数,计算得到嵌入一个第二待嵌入水印所需的第二像素方块数;
37.利用所述第一像素方块数和第二像素方块数估算出所述目标视频帧的水印嵌入容纳数。
38.进一步地,选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最小信息单元分配给对应第一预设数量的第二像素方块,生成像素方块分配结果,包括:
39.根据所述第二待嵌入水印预设一个水印密钥;
40.利用预设水印密钥初始化伪随机数发生器,生成一个伪随机数;
41.将所述伪随机数映射至所述第二像素方块的数据范围中,生成第二像素方块索引;
42.从所述索引首位依次选取对应的第二像素方块;
43.判断所述第二像素方块是否被使用;
44.如果所述第二像素方块已被使用,则从所述索引中选取下一第二像素方块;
45.如果所述第二像素方块未被使用,则将所述第二像素方块分配给当前最小信息单元并标记所述第二像素方块已被使用。
46.进一步地,所述第二像素方块索引的生成公式为:
[0047][0048]
其中,index为第二像素方块索引,r为伪随机数,
“”
为向下取整运算符,blk_cnt为目标视频帧的第二像素方块的编号。
[0049]
进一步地,利用所述像素方块分配结果依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块,包括:
[0050]
依次对所述第二像素方块进行离散余弦变换,生成频域系数集;
[0051]
从所述频域系数集中选取第一预设位的第一频域系数、第二预设位的第一中频系数与第三预设位的第二中频系数;
[0052]
计算所述第一频域系数的第一嵌入强度值;
[0053]
判断当前第一像素方块对应的最小信息单元的值是否为0;
[0054]
如果所述最小信息单元的值为0,则对第一中频系数取正第一嵌入强度值,第二中频系数取负第一嵌入强度值;
[0055]
如果所述最小信息单元的值不为0,则第一中频系数取负第一嵌入强度值,第二中频系数取正第一嵌入强度值;
[0056]
分别对所述第一中频系数的正/负第一嵌入强度值与所述第二中频系数的正/负第一嵌入强度值进行逆离散余弦变换,生成含有水印信息的第三像素方块。
[0057]
进一步地,所述第一频域系数的第一嵌入强度值的计算公式为:
[0058][0059]
其中,v为第一嵌入强度值,x1为所述频域系数集的首个系数的取值,m为平均嵌入强度系数,平均嵌入强度系数m的计算公式为:
[0060][0061]
其中,streng_db为嵌入强度,所述嵌入强度streng_db的取值范围为大于-40db且小于-25db。
[0062]
根据本发明实施例的第二方面,提供了一种视频水印复用嵌入系统,所述系统包括:
[0063]
接收模块,用于接收目标视频帧和至少一个第一待嵌入水印;
[0064]
校验模块,用于利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印;
[0065]
分割模块,用于将目标视频帧分割为预设大小的第一像素方块;
[0066]
容纳数估算模块,用于基于预设信息,预估所述目标视频帧的水印嵌入容纳数;
[0067]
容纳数判断模块,用于判断水印嵌入容纳数是否大于或等于1;如果所述水印嵌入容纳数小于1,则所述目标视频帧无法进行水印嵌入,接收下一目标视频帧;如果所述水印嵌入容纳数大于或等于1,则从所述目标视频帧中提取第一像素方块;
[0068]
亮度方差计算模块,用于计算所述第一像素方块的亮度方差;
[0069]
亮度方差判断模块,用于判断所述亮度方差是否在阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一像素方块,提取下一第一像素方块;如果所述亮度方差在预设阈值范围内,则将所述第一像素方块标记为第二像素方块;
[0070]
分配模块,用于选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最小信息单元分配给对应预设数量的第二像素方块,生成像素方块分配结果;
[0071]
嵌入模块,用于利用所述像素方块分配结果依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块。
[0072]
根据本发明实施例的第三方面,提供了一种水印复用嵌入设备,所述设备包括:处理器和存储器;
[0073]
所述存储器用于存储一个或多个程序指令;
[0074]
所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种水印复用嵌入方法的步骤。
[0075]
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一种水印复用嵌入方法的步骤。
[0076]
根据本发明实施例的第五方面,提供了一种水印复用提取方法,包括:
[0077]
接收目标水印密钥和待提取水印的水印索引;
[0078]
利用所述目标水印密钥对所述水印索引进行解密,获得待提取水印的各个最小信息单元嵌入的各个第一对应像素方块和第一对应像素方块数;
[0079]
依次计算所述第一对应像素方块的亮度方差;
[0080]
判断所述亮度方差是否在预设阈值范围内;
[0081]
如果所述亮度方差不在预设阈值范围内,则跳过该第一对应像素方块,选取下一第一对应像素方块;
[0082]
如果所述亮度方差在预设阈值范围内,则将所述第一对应像素方块标记为所述最小信息单元的第二对应像素方块并统计所述第二对应像素方块的数量,记作第二对应像素方块数;
[0083]
依次对所述第二对应像素方块进行离散余弦变换,生成频域系数集;
[0084]
从所述频域系数集中选取第一预设位的第一中频系数与第二预设位第二中频系数;
[0085]
分别计算与各个最小信息单元对应的所述第一中频系数之和与所述第二中频系数之和;
[0086]
判断所述第一中频系数之和是否大于所述第二中频系数之和;
[0087]
如果所述第一中频系数之和大于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为1;
[0088]
如果所述第一中频系数之和小于或等于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为0;
[0089]
基于所述水印索引的解密结果对所提取出的各个最小信息单元的值排列,得到所提取出的水印信息。
[0090]
优选地,一种水印复用提取方法还包括:
[0091]
从所提取出的水印信息中获取净载荷字符与校验和字符;
[0092]
利用所述净载荷字符计算crc校验和;
[0093]
从所述crc校验和中取预设数量的低crc校验和位数据,判断所述低crc校验和位数据与所述校验和字符是否一致;
[0094]
如果所述低crc校验和位数据与所述校验和字符不一致,则提取水印失败;
[0095]
如果所述低crc校验和位数据与所述校验和字符一致,则提取水印成功。
[0096]
优选地,一种水印复用提取方法还包括:
[0097]
依次判断各个最小信息单元对应的每个第二对应像素方块的第一中频系数是否大于第二中频系数;
[0098]
如果当前第二对应像素方块的第一中频系数大于第二中频系数,则将当前第二对应像素方块标记为第三对应像素方块;
[0099]
统计各个最小信息单元对应的所述第三对应像素方块的数量,记作第三对应像素方块数;
[0100]
根据当前最小信息单元的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个最小信息单元的第一信息提取置信度;
[0101]
对所有最小信息单元的置信度计算平均值,得到水印的第二信息提取置信度置信度。
[0102]
进一步地,根据当前最小信息单元的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个最小信息单元的第一信息提取置信度,包括:
[0103]
判断当前最小信息单元的值是否为0;
[0104]
如果当前最小信息单元的值为0,则所述第一信息置信度的计算公式为:
[0105][0106]
其中,confidence_bit为第一信息提取置信度,blk_cnt_per_bit为第二对应像素方块数,positive_cnt为第三对应像素方块数。
[0107]
进一步地,如果当前最小信息单元的值为1,则所述第一信息置信度的计算公式为:
[0108][0109]
其中,confidence_bit为第一信息提取置信度,blk_cnt_per_bit为第二对应像素方块数,positive_cnt为第三对应像素方块数。
[0110]
根据本发明实施例的第六方面,提供了一种水印复用提取系统,所述系统包括:
[0111]
接收模块,用于接收目标水印密钥和待提取水印的水印索引;
[0112]
解密模块,用于利用所述目标水印密钥对所述水印索引进行解密,获得待提取水印的各个最小信息单元嵌入的各个第一对应像素方块和第一对应像素方块数;
[0113]
第一计算模块,用于依次计算所述第一对应像素方块的亮度方差;
[0114]
第一判断模块,用于判断所述亮度方差是否在预设阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一对应像素方块,选取下一第一对应像素方块;如果所
述亮度方差在预设阈值范围内,则将所述第一对应像素方块标记为所述最小信息单元的第二对应像素方块并统计所述第二对应像素方块的数量,记作第二对应像素方块数;
[0115]
离散余弦变换模块,用于依次对所述第二对应素方块进行离散余弦变换,生成频域系数集;
[0116]
中频系数选取模块,用于从所述频域系数集中选取第一预设位的第一中频系数与第二预设位第二中频系数;
[0117]
第二计算模块,用于分别计算与各个最小信息单元对应的所述第一中频系数之和与所述第二中频系数之和;
[0118]
第二判断模块,用于判断所述第一中频系数之和是否大于所述第二中频系数之和;如果所述第一中频系数之和大于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为1;如果所述第一中频系数之和小于或等于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为0;
[0119]
排列模块,用于基于所述水印索引的解密结果对所提取出的各个最小信息单元的值排列,得到所提取出的水印信息。
[0120]
进一步地,所述系统还包括检测模块,用于执行以下步骤:
[0121]
从所提取出的水印信息中获取净载荷字符与校验和字符;
[0122]
利用所述净载荷字符计算crc校验和;
[0123]
从所述crc校验和中取预设数量的低crc校验和位数据,判断所述低crc校验和位数据与所述校验和字符是否一致;
[0124]
如果所述低crc校验和位数据与所述校验和字符不一致,则提取水印失败;
[0125]
如果所述低crc校验和位数据与所述校验和字符一致,则提取水印成功。
[0126]
进一步地,所述系统还包括置信度计算模块,用于执行以下步骤:
[0127]
依次判断各个最小信息单元对应的每个第二对应像素方块的第一中频系数是否大于第二中频系数;
[0128]
如果当前第二对应像素方块的第一中频系数大于第二中频系数,则将当前第二对应像素方块标记为第三对应像素方块;
[0129]
统计各个最小信息单元对应的所述第三对应像素方块的数量,记作第三对应像素方块数;
[0130]
根据当前最小信息单元的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个最小信息单元的第一信息提取置信度;
[0131]
对所有最小信息单元的置信度计算平均值,得到水印的第二信息提取置信度置信度。
[0132]
根据本发明实施例的第七方面,提供了一种水印复用提取设备,所述设备包括:处理器和存储器;
[0133]
所述存储器用于存储一个或多个程序指令;
[0134]
所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种水印复用提取方法的步骤。
[0135]
根据本发明实施例的第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一
种水印复用提取方法的步骤。
[0136]
本发明实施例具有如下优点:
[0137]
本发明实施例在接收到目标视频帧与待嵌入水印后,通过将目标视频帧分割为预设大小的第一像素方块,基于预设信息预估目标视频帧的水印容纳数,选取水印容纳数大于或等于1的视频帧提取第一像素方块,计算第一像素方块的亮度方差并选取在阈值范围内的第二像素方块,依次将待嵌入水印的最小信息单元分配给对应第一预设数量的第二像素方块,生成像素方块分配结果,利用像素方块分配结果依次将各个最小信息单元映射至对应的第二像素方块中,生成含有水印信息的第三像素方块。这样,在接收到目标视频帧和至少一个第一待嵌入水印后,实现一个视频嵌入多个相互独立的水印。
附图说明
[0138]
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
[0139]
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
[0140]
图1为本发明实施例提供的一种水印复用嵌入系统的逻辑结构示意图;
[0141]
图2为本发明实施例提供的一种水印复用嵌入方法的流程示意图;
[0142]
图3为本发明实施例提供的一种水印复用嵌入方法中的对待嵌入水印进行预处理的流程示意图;
[0143]
图4为本发明实施例提供的一种水印复用嵌入方法中的预估目标视频帧的水印嵌入容纳数的流程示意图;
[0144]
图5为本发明实施例提供的一种水印复用嵌入方法中的判断像素方块是否被使用的流程示意图;
[0145]
图6为本发明一个实施例提供的一种水印复用嵌入方法中的嵌入最小信息单元的流程示意图;
[0146]
图7为本发明实施例提供的一种水印复用提取系统的逻辑结构示意图;
[0147]
图8为本发明实施例提供的一种水印复用提取方法的流程示意图;
[0148]
图9为本发明实施例提供的一种水印复用提取方法中的检测水印是否成功提取的流程示意图;
[0149]
图10为本发明实施例提供的一种水印复用提取方法中的计算水印提取置信度的流程示意图。
具体实施方式
[0150]
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一
部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0151]
在现有的数字水印技术中,单一视频只能嵌入一个数字水印,当视频中已经嵌入水印时,嵌入新的水印内容会将原来的水印内容覆盖。在实际应用过程中,会有较大的限制与影响。当需要在视频中嵌入多个水印时,现有的视频嵌入数字水印技术无法满足需求,嵌入新水印时,旧水印无法保证完整性。
[0152]
为了解决上述无法在同一视频中嵌入多个水印的技术问题。
[0153]
参考图1,本发明实施例公开了一种水印复用嵌入系统,该系统包括:接收模块1;校验模块2;分割模块3;容纳数估算模块4;容纳数判断模块5;亮度方差计算模块6;亮度方差判断模块7;分配模块8;嵌入模块9。
[0154]
参考图2,接收模块1接收到目标视频帧和至少一个第一待嵌入水印后;通过校验模块2利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印;分割模块3将目标视频帧分割为预设大小的第一像素方块;容纳数估算模块4基于预设信息,预估所述目标视频帧的水印嵌入容纳数;容纳数判断模块5判断水印嵌入容纳数是否大于或等于1;如果所述水印嵌入容纳数小于1,则所述目标视频帧无法进行水印嵌入,接收下一目标视频帧;如果所述水印嵌入容纳数大于或等于1,则从所述目标视频帧中提取第一像素方块;亮度方差计算模块6计算所述第一像素方块的亮度方差;亮度方差判断模块7判断所述亮度方差是否在阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一像素方块,提取下一第一像素方块;如果所述亮度方差在预设阈值范围内,则将所述第一像素方块标记为第二像素方块;分配模块8选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最小信息单元分配给对应预设数量的第二像素方块,生成像素方块分配结果;嵌入模块9利用所述像素方块分配结果依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块。
[0155]
与上述公开的一种水印复用嵌入系统相对应,本发明实施例还公开了一种水印复用嵌入方法。以下结合上述描述的一种水印复用嵌入系统详细介绍本发明实施例中公开的一种水印复用嵌入方法。
[0156]
参考图2,本发明公开了一种水印复用嵌入方法,包括:接收目标视频帧和至少一个第一待嵌入水印;利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印;将目标视频帧分割为预设大小的第一像素方块;基于预设信息,预估所述目标视频帧的水印嵌入容纳数;判断水印嵌入容纳数是否大于或等于1;如果所述水印嵌入容纳数小于1,则所述目标视频帧无法进行水印嵌入,接收下一目标视频帧;如果所述水印嵌入容纳数大于或等于1,则从所述目标视频帧中提取第一像素方块;计算所述第一像素方块的亮度方差;判断所述亮度方差是否在阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一像素方块,提取下一第一像素方块;如果所述亮度方差在预设阈值范围内,则将所述第一像素方块标记为第二像素方块;选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最小信息单元分配给对应第一预设数量的第二像素方块,生成像素方块分配结果;利用所述像素方块分配结果依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块。
[0157]
优选地,本发明实施例所提出的所述一种水印复用嵌入方法中,判断所述像素方
块的亮度方差是否在预设阈值内,所述亮度方差可以被替换为所述像素方块的纹理方差、所述像素方块的能量方差等。
[0158][0159]
具体地,所述预设大小的第一像素方块的最优长宽取值为4,每一个像素方块包含16个像素,所述视频帧的第一像素方块数blk_cnt为其中,w为视频帧的宽,h为视频帧的高;嵌入第二待嵌入水印的一个最小信息单元所需的第二像素方块数为blk_cnt_per_bit,其中,blk_cnt_per_bit的最佳取值为64;第一最小信息单元数量最大值为max_wm_bits,同样,第二待嵌入水印具有最小信息单元的第二最小信息单元数量最大值也为max_wm_bits,其中,max_wm_bits的最佳取值为80。
[0160]
具体地,所述水印嵌入容纳数wm_cnt的计算公式为:
[0161][0162]
其中,blk_cnt_per_bit
×
max_wm_bits为嵌入一个第二待嵌入水印所需的第三像素方块数。
[0163]
进一步地,参考图3,利用所述第一待嵌入水印生成带有校验信息的第二待嵌入水印,包括:设定所述第一待嵌入水印具有最小信息单元的第一最小信息单元数量最大值;从所述第一待嵌入水印所有的最小信息单元中,选取第二预设数量的最小信息单元作为crc校验和位,剩余的最小信息单元作为最大净载荷信息长度;从所述第一待嵌入水印获取水印净载荷数据;判断所述水印净载荷数据的信息长度是否小于所述最大净载荷信息长度;如果所述水印净载荷数据的信息长度小于所述最大净载荷信息长度,则使用字符0填充为空的字符位,与所述水印净载荷数据一起生成第一净载荷信息单元;如果所述水印净载荷数据的信息长度等于所述最大净载荷信息长度,则直接利用所述水印净载荷数据生成第二净载荷信息单元;计算所述水印净载荷数据的crc校验和;选取所述crc校验和的低crc校验和信息计算位填充至所述crc校验和位,生成crc校验数据;由所述第一净载荷信息单元/所述第二净载荷信息单元和所述crc校验数据一起生成第二待嵌入水印。
[0164]
其中,crc校验和位记作crc_bits,crc校验和位crc_bits的最佳取值为16,所述最大净载荷信息长度记作payload_bits ,最大净载荷信息长度payload_bits的计算公式为
[0165][0166]
最大净载荷信息长度payload_bits的最佳值为64。
[0167]
进一步地,参考图4,基于预设信息,预估所述目标视频帧的水印嵌入容纳数,包括:统计目标视频帧经分割得到第一像素方块对应的第一像素方块数;基于所述第一最小信息单元数量最大值,得到所述第二待嵌入水印具有最小信息单元的第二最小信息单元数量最大值;设定嵌入所述第二待嵌入水印的最小信息单元所需的第二像素方块数;利用所述第二最小信息单元数量最大值和所述第二像素方块数,计算得到嵌入一个第二待嵌入水印所需的第二像素方块数;利用所述第一像素方块数和第二像素方块数估算出所述目标视频帧的水印嵌入容纳数。
[0168]
进一步地,参考图5,选取一个第二待嵌入水印,依次将对应第二待嵌入水印的最
小信息单元分配给对应第一预设数量的第二像素方块,生成像素方块分配结果,包括:根据所述第二待嵌入水印预设一个水印密钥;利用预设水印密钥初始化伪随机数发生器,生成一个伪随机数;将所述伪随机数映射至所述第二像素方块的数据范围中,生成第二像素方块索引;从所述索引首位依次选取对应的第二像素方块;判断所述第二像素方块是否被使用;如果所述第二像素方块已被使用,则从所述索引中选取下一第二像素方块;如果所述第二像素方块未被使用,则将所述第二像素方块分配给当前最小信息单元并标记所述第二像素方块已被使用。
[0169]
具体地,所述第二像素方块索引的生成公式为:
[0170][0171]
其中,index为第二像素方块索引,r为伪随机数,
“”
为向下取整运算符,blk_cnt为目标视频帧的第二像素方块的编号。
[0172]
进一步地,参考图6,利用所述像素方块分配结果依次将所述第二待嵌入水印的各个最小信息单元映射至对应第二像素方块中,生成含有水印信息的第三像素方块,包括:依次对所述第二像素方块进行离散余弦变换,生成频域系数集;从所述频域系数集中选取第一预设位的第一频域系数、第二预设位的第一中频系数与第三预设位的第二中频系数;计算所述第一频域系数的第一嵌入强度值;判断当前第一像素方块对应的最小信息单元的值是否为0;如果所述最小信息单元的值为0,则对第一中频系数取正第一嵌入强度值,第二中频系数取负第一嵌入强度值;如果所述最小信息单元的值不为0,则第一中频系数取负第一嵌入强度值,第二中频系数取正第一嵌入强度值;分别对所述第一中频系数的正/负第一嵌入强度值与所述第二中频系数的正/负第一嵌入强度值进行逆离散余弦变换,生成含有水印信息的第三像素方块。
[0173]
其中,所述第一中频系数的最优为选取第6位系数,所述第二中频系数的最优为选取第9位中频系数。
[0174]
具体地,所述第一频域系数的第一嵌入强度值的计算公式为:
[0175][0176]
其中,v为第一嵌入强度值,x1为所述频域系数集的首个系数的取值,m为平均嵌入强度系数,平均嵌入强度系数m的计算公式为:
[0177][0178]
其中,streng_db为嵌入强度,所述嵌入强度streng_db的取值范围为大于-40db且小于-25db。
[0179]
本发明实施例公开了一种水印复用嵌入方法中,一个视频帧最多能够同时嵌入水印嵌入容纳数wm_cnt个互相独立的水印;多个像素方块来嵌入一个最小信息单元;对所述第一像素方块进行亮度方差筛选,过滤无法进行水印嵌入操作的方块,提升视频的效果;利用预设水印密钥实现待嵌入水印与第二像素方块之间的伪随机映射,通过对第一待嵌入水印进行校验和预处理,生成带有校验和数据的第二待嵌入水印,并利用离散余弦变换后的
中频系数进行水印嵌入操作,使所述已嵌入的水印具备高可靠性与安全性,提升了水印的信噪比和鲁棒性,使得视频质量影响较小,抗变换攻击能力高。
[0180]
参考图7,本发明实施例公开了一种水印复用提取系统,该系统包括:接收模块1;解密模块10;第一计算模块11;第一判断模块12;离散余弦变换模块13;中频系数选取模块14;第二计算模块15;第二判断模块16;排列模块17;检测模块18;置信度计算模块19。
[0181]
参考图8,接收模块1接收到目标水印密钥和待提取水印的水印索引后;解密模块10利用所述目标水印密钥对所述水印索引进行解密,获得待提取水印的各个最小信息单元嵌入的各个第一对应像素方块和第一对应像素方块数;第一计算模块11依次计算所述第一对应像素方块的亮度方差;第一判断模块12判断所述亮度方差是否在预设阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一对应像素方块,选取下一第一对应像素方块;如果所述亮度方差在预设阈值范围内,则将所述第一对应像素方块标记为所述最小信息单元的第二对应像素方块并统计所述第二对应像素方块的数量,记作第二对应像素方块数;离散余弦变换模块13依次对所述第二对应素方块进行离散余弦变换,生成频域系数集;中频系数选取模块14从所述频域系数集中选取第一预设位的第一中频系数与第二预设位第二中频系数;第二计算模块15分别计算与各个最小信息单元对应的所述第一中频系数之和与所述第二中频系数之和;第二判断模块16判断所述第一中频系数之和是否大于所述第二中频系数之和;如果所述第一中频系数之和大于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为1;如果所述第一中频系数之和小于或等于所述第二中频系数之和,则将所述第二对应像素方块对应的最小信息单元的值记为0;排列模块17基于所述水印索引的解密结果对所提取出的各个最小信息单元的值排列,得到所提取出的水印信息。
[0182]
本发明实施例在接收目标水印密钥和待提取水印的水印索引后,利用所述目标水印密钥对所述水印索引进行解密,获得待提取水印的各个第一对应像素方块;筛选第一对应像素方块获得含有水印的第二对应像素方块;依次对所述第二对应像素方块进行离散余弦变换,提取出各个最小信息单元的值;基于所述水印索引的解密结果对所提取出的各个最小信息单元的值排列,得到所提取出的水印信息。这样,在接收目标水印密钥和待提取水印的水印索引后,实现从多个水印的视频中精确并快速地独立提取出目标水印信息。
[0183]
优选地,检测模块18从所提取出的水印信息中获取净载荷字符与校验和字符;利用所述净载荷字符计算crc校验和;从所述crc校验和中取预设数量的低crc校验和位数据,判断所述低crc校验和位数据与所述校验和字符是否一致;如果所述低crc校验和位数据与所述校验和字符不一致,则提取水印失败;如果所述低crc校验和位数据与所述校验和字符一致,则提取水印成功。
[0184]
本发明的另一个实施例在成功提取水印信息后,通过提取出已提取的水印信息的校验和字符与净载荷字符的低crc校验和位数据检测水印是否提取成功,从而检测水印提取的准确性。
[0185]
优选地,置信度计算模块19依次判断各个最小信息单元对应的每个第二对应像素方块的第一中频系数是否大于第二中频系数;如果当前第二对应像素方块的第一中频系数大于第二中频系数,则将当前第二对应像素方块标记为第三对应像素方块;统计各个最小信息单元对应的所述第三对应像素方块的数量,记作第三对应像素方块数;根据当前最小
信息单元的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个最小信息单元的第一信息提取置信度;对所有最小信息单元的置信度计算平均值,得到水印的第二信息提取置信度。
[0186]
本发明的另一个实施例在成功提取水印信息后,通过计算各个最小信息单元的第一信息提取置信度,再通过计算所述第一信息提取置信度的平均值获得所述水印信息的第二信息提取置信度。其中所述置信度便于对所提取的水印进行效果评估,并根据所述置信度只能调整水印的嵌入强度。
[0187]
与上述公开的一种水印复用提取系统相对应,本发明实施例还公开了一种水印复用提取方法。以下结合上述描述的一种水印复用提取系统详细介绍本发明实施例中公开的一种水印复用提取方法。
[0188]
参考图8,本发明公开了一种水印复用提取方法,包括:接收目标水印密钥key和待提取水印的水印索引wm_index;利用所述目标水印密钥key对所述水印索引wm_index进行解密,获得待提取水印的各个比特嵌入的各个第一对应像素方块和第一对应像素方块数;依次计算所述第一对应像素方块的亮度方差;判断所述亮度方差是否在预设阈值范围内;如果所述亮度方差不在预设阈值范围内,则跳过该第一对应像素方块,选取下一第一对应像素方块;如果所述亮度方差在预设阈值范围内,则将所述第一对应像素方块标记为所述比特的第二对应像素方块。
[0189]
依次对所述第二对应像素方块进行dct(discrete cosine transform,离散余弦)变换,生成频域系数集;从所述频域系数集中选取第6位的第一中频系数与第9位的第二中频系数;分别计算与各个比特对应的所述第6位的第一中频系数之和sum6与所述第9位的第二中频系数之和sum9;比较sum6与sum9的大小;如果sum6大于sum9,则将所述第二对应像素方块对应的比特的值为1;如果sum6小于sum9,则将所述第二对应像素方块对应的比特的值为0;基于所述水印索引的解密结果对所提取出的各个比特的值排列,得到所提取出的水印信息字符串。
[0190]
其中,经过解密所获得的的第一对应像素方块的长宽取值均为4,每一个像素方块包含16个像素,所述第一对应像素方块数blk_cnt的计算公式为:
[0191]
其中,w为视频帧的宽,h为视频帧的高。
[0192]
进一步地,参考图9,本发明实施例公开的一种水印复用提取方法还包括:检测水印是否成功提取,其包括:从所提取出的水印信息中获取净载荷字符与校验和字符;利用所述净载荷字符计算crc校验和;从所述crc校验和中取预设数量的低crc校验和位数据,判断所述低crc校验和位数据与所述校验和字符是否一致;如果所述低crc校验和位数据与所述校验和字符不一致,则提取水印失败;如果所述低crc校验和位数据与所述校验和字符一致,则提取水印成功。
[0193]
本发明实施例在成功提取水印信息后,通过提取出已提取的水印信息的校验和字符与净载荷字符的低crc校验和位数据检测水印是否提取成功,从而检测水印提取的准确性。
[0194]
进一步地,参考图10,本发明实施例公开的一种水印复用提取方法还包括:计算提取出的水印的置信度,其包括:依次判断各个比特对应的每个第二对应像素方块的第一中
频系数是否大于第二中频系数;如果当前第二对应像素方块的第一中频系数大于第二中频系数,则将当前像素方块标记为第三对应像素方块;统计各个比特对应的所述第三对应像素方块的数量,记作第三对应像素方块数;根据当前比特的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个比特的第一水印提取置信度;对所有比特的置信度计算平均值,得到水印的第二水印提取置信度。
[0195]
进一步地,根据当前比特的值,利用所述第二对应像素方块数和所述第三对应像素方块数计算各个比特的第一水印提取置信度,包括:判断当前比特的值是否为0;如果当前最小信息单元的值为0,则当前比特的置信度计算公式为:
[0196][0197]
其中,confidence_bit为当前比特的置信度,blk_cnt_per_bit为第二对应像素方块数,blk_cnt_per_bit的最佳值为64,positive_cnt为第三对应像素方块数。
[0198]
进一步地,如果当前比特的值为1,则所述第一信息置信度的计算公式为:
[0199][0200]
其中,confidence_bit为第一信息提取置信度,blk_cnt_per_bit为第二对应像素方块数,blk_cnt_per_bit的最佳值为64,positive_cnt为第三对应像素方块数。
[0201]
另外,本发明实施例还提供了一种水印复用嵌入设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种水印复用嵌入方法的步骤。
[0202]
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一种水印复用嵌入方法的步骤。
[0203]
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(fieldprogrammable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0204]
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
[0205]
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
[0206]
其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
[0207]
易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(directrambus ram,简称drram)。
[0208]
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0209]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0210]
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。