CN113538198B - 水印添加方法、装置、存储介质以及电子设备 - Google Patents

水印添加方法、装置、存储介质以及电子设备 Download PDF

Info

Publication number
CN113538198B
CN113538198B CN202010296435.0A CN202010296435A CN113538198B CN 113538198 B CN113538198 B CN 113538198B CN 202010296435 A CN202010296435 A CN 202010296435A CN 113538198 B CN113538198 B CN 113538198B
Authority
CN
China
Prior art keywords
pixel
watermark
packets
target
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010296435.0A
Other languages
English (en)
Other versions
CN113538198A (zh
Inventor
章佳杰
惠轶群
郑云飞
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010296435.0A priority Critical patent/CN113538198B/zh
Publication of CN113538198A publication Critical patent/CN113538198A/zh
Application granted granted Critical
Publication of CN113538198B publication Critical patent/CN113538198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本公开关于一种水印添加方法、装置、存储介质以及电子设备,属于视频处理技术领域。方法包括:对待添加水印的载体图像进行像素块划分;将划分出来的像素块中每m个像素块组成一个分组,得到多个分组;对待添加至载体图像中的目标水印进行编码处理得到二进制序列;在多个分组中确定适合嵌入二进制序列的N个分组,N指代二进制序列的长度;在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。本公开对载体图像进行像素块划分并分组,以及在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,不但利用了图像空间上的冗余性,而且该种水印添加方式针对各种常用攻击手段的攻击具有较强的稳健性,能够实现有效的版权保护。

Description

水印添加方法、装置、存储介质以及电子设备
技术领域
本公开涉及视频处理技术领域,尤其涉及一种水印添加方法、装置、存储介质以及电子设备。
背景技术
时下各大视频网站(也称视频平台)均存在众多的视频生产者,这些用户生产并上传的视频很有可能会被其他用户或者其他视频网站所盗用,因此亟需一种确认版权的手段,以对视频生产者和视频网站进行保护。
相关技术中,为了对视频进行版权保护,通常采取以下几种方式:在视频画面中的边角位置添加上视频平台的LOGO(标志)、视频作品的唯一标识码、或者视频生产者自己的LOGO等。针对上述几种方式,均存在容易被抹除的缺陷、不够稳健,因此效果欠佳。比如,通过对视频画面进行剪裁等简单编辑操作便可以抹除掉LOGO。又或者,利用一些简单的数字图像处理算法,即可对视频画面中存在LOGO的部分进行遮挡,即在不损失视频画面大小的情况下抹除LOGO。
基于以上描述可知,为了实现有效的版权保护,亟需一种不易被抹除、足够稳健的版权保护措施。随之而来,数字水印技术作为一种新的版权保护技术便得到了广泛的研究和应用。
发明内容
本公开提供一种水印提取方法、装置、存储介质以及电子设备,在采用本公开实施例提供的水印添加方法进行水印嵌入后,嵌入的水印不容易被抹除,而且针对各种常用攻击手段的攻击具有较强的稳健性,能够实现有效的版权保护,该种水印技术的效果较佳。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种水印添加方法,包括:
对待添加水印的载体图像进行像素块划分;
将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数;
对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列;
在所述多个分组中确定适合嵌入所述二进制序列的N个分组,N为正整数,N指代所述二进制序列的长度;
在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息。
在一种可能的实现方式中,所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组,包括:
对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;
根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
在一种可能的实现方式中,所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组之后,还包括:
在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;
在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
在一种可能的实现方式中,所述在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息,包括:
对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;
根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
在一种可能的实现方式中,所述在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息,包括:
在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;
获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;
对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;
根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;
根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
在一种可能的实现方式中,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
在一种可能的实现方式中,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
在一种可能的实现方式中,所述获取所述像素块的像素矩阵,包括:
获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
在一种可能的实现方式中,所述对待添加水印的载体图像进行像素块划分,包括:
根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;
对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
在一种可能的实现方式中,所述对待添加水印的载体图像进行像素块划分,包括:
将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
在一种可能的实现方式中,所述在对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列之后,还包括:
对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述在所述N个分组中的每个分组分别嵌入所述二进制序列的一个比特水印信息,包括:在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
在一种可能的实现方式中,还包括:若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
根据本公开实施例的第二方面,提供一种水印添加装置,包括:
划分模块,被配置为对待添加水印的载体图像进行像素块划分;
分组模块,被配置为将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数;
编码模块,被配置为对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列;
确定模块,被配置为在所述多个分组中确定适合嵌入所述二进制序列的N个分组,N为正整数,N指代所述二进制序列的长度;
第一嵌入模块,被配置为在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息。
在一种可能的实现方式中,所述确定模块,还被配置为对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
在一种可能的实现方式中,所述装置还包括:
第二嵌入模块,被配置为在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
在一种可能的实现方式中,所述第二嵌入模块,还被配置为对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
在一种可能的实现方式中,所述划分模块,还被配置为根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
在一种可能的实现方式中,所述划分模块,还被配置为将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
在一种可能的实现方式中,所述装置还包括:
纠错编码模块,被配置为对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述第一编码模块,还被配置为在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
在一种可能的实现方式中,所述装置还被配置为若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的水印添加方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的水印添加方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面所述的水印添加方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在水印添加过程中,本公开实施例首先对待添加水印的载体图像进行像素块划分,并将划分出来的像素块中每m个像素块组成一个分组,进而得到多个分组;之后,对待添加至载体图像中的目标水印进行编码处理得到二进制序列,并在多个分组中确定适合嵌入二进制序列的N个分组,其中,N指代二进制序列的长度;最后,在这N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。
基于以上描述可知,本公开实施例对载体图像进行像素块划分并分组,以及在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,不但利用了图像空间上的冗余性,而且该种水印添加方式针对各种常用攻击手段的攻击具有较强的稳健性,能够实现有效的版权保护,即可以对诸如视频等数字载体的创作者身份进行追溯。这样,即便视频被盗用并被发表至其他视频平台,也可以被发现并检测到;另外,添加的水印信息还不容易引起用户视觉上可察觉的变化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种水印添加方法涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种水印添加方法的执行流程框架图。
图3是根据一示例性实施例示出的一种水印添加方法的流程图。
图4是根据一示例性实施例示出的一种水印添加方法的流程图。
图5是根据一示例性实施例示出的一种水印添加装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
在对本公开实施例进行详细地解释说明之前,先对本公开实施例可能涉及到的一些缩略语或术语进行介绍。
数字水印:是信息隐藏技术的一个重要研究方向。简言之,数字水印技术即是将一些身份标识信息(即数字水印)直接嵌入到数字载体(包括但不限于音频、视频、图像、文档或软件)中,但不影响原有数字载体的使用价值,通过这些隐藏在数字载体中的信息,来达到版权保护的目的。
通常情况下,数字水印一般应用具有如下特点:
a、隐形性(Invisibility):是指数字水印的存在不应明显干扰被保护的数字载体。
b、稳健性或鲁棒性(Robustness):是指数字水印应该难以被破坏或伪造。一般来说,对于不确定或无目的的攻击,在不致破坏原有数字载体而影响识别的情况下,数字水印应当具有:一般信号处理下的稳健性,几何变换下的稳健性,以及欺骗攻击下的稳健性。
示例性地,一般信号处理包括但不限于:噪声、平滑、增强等信号滤波,D/A转换、A/D转换,以及有失真压缩等,本公开实施例对此不进行具体限定。几何变换包括但不限于:平移、旋转、缩放以及裁剪等,本公开实施例对此同样不进行具体限定。欺骗攻击包括但不限于:共谋攻击(Collusion)和伪造攻击(Forgery)等,本公开实施例对此同样不进行具体限定。
c、确定性(Unambiguous):是指数字水印所携带的信息能够被唯一确定地鉴别。
d、安全性(Security):非授权用户无法检测和破坏水印,主要针对获知水印算法或相关知识情况下的有目的攻击(Targeted Attacks)。
e、数据容量(Data Capacity):是指数字水印应能够包含相当的数据容量,以满足多样化的需要。
下面对本公开实施例提供的视频编码方法涉及的实施环境进行介绍。
参见图1,该实施环境可以包括水印添加设备101和水印提取设备102。
其中,水印添加设备101也可称为水印嵌入设备,用于执行本公开实施例提供的水印添加方法。
在本公开实施例中,水印添加设备101用于在载体图像中嵌入水印信息,以用于版权保护和创作者身份追溯。而水印提取设备102则用于在嵌入有水印信息的目标图像中提取出水印信息。
在一种可能的实现方式中,水印添加设备101和水印提取设备102的类型包括但不限于:移动式终端和固定式终端。作为一个示例,移动式终端包括但不限于:智能手机、平板电脑、笔记本电脑、电子阅读器、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器等;固定式终端包括但不限于台式电脑,本公开实施例对此不进行具体限定。
示例性地,上述载体图像可以为视频中的任意一帧视频画面,即水印添加设备101可以为视频中的每一帧视频画面均添加水印。
另外,上述载体图像既可以为单通道图像,也可以为多通道图像。例如,可以对载体图像的RGB三个通道中的每一个通道均进行水印信息嵌入;又例如,还可以对编解码过程中的YUV图像的Y通道进行水印信息嵌入。
另外,上述载体图像既可以为横幅图像,也可以为竖幅图像,本公开实施例对此不进行具体限定。
图2示出了一种可能的水印添加过程的执行流程图。
对于数字水印
步骤a、将需要嵌入的数字水印编码为二进制序列。
对于载体图像
步骤b、将载体图像进行像素块划分,并将划分出来的像素块中每m个像素块组成为一个分组。
步骤c、在多个分组中确定适合嵌入水印信息的水印嵌入区域。
步骤d、在水印嵌入区域嵌入上述二进制序列,得到水印图像。
基于以上的实施环境,本公开实施例提供了一种水印添加方案,该种水印添加方案,通过在载体图像中嵌入水印信息,可以对诸如视频等数字载体的创作者身份进行追溯。比如,即便视频被盗用并被发表至其他视频平台,也可以被发现并检测到;另外,添加的水印信息不容易引起用户视觉上可察觉的变化。另外,该种水印添加方案对常见的攻击手段有较强的抵抗能力,利用这些手段对添加有水印信息的视频进行处理之后,仍然能提取出添加的水印信息。比如,对常见的压缩转码操作不敏感,利用常见的压缩转码对添加有水印信息的视频进行处理之后,仍然能够正确提取水印信息;又比如,对裁剪处理不敏感,对添加有水印信息的视频进行裁剪后,仍然能够正确提取水印信息。
下面通过以下实施例对本公开实施例提供的水印添加方案进行详细解释说明。
图3是根据一示例性实施例示出的一种水印添加方法的流程图,如图3所示,该方法用于图1所示的水印添加设备中,包括以下步骤。
在步骤301中,对待添加水印的载体图像进行像素块划分。
在步骤302中,将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数。
在步骤303中,对待添加至载体图像中的目标水印进行编码处理得到二进制序列。
在步骤304中,在多个分组中确定适合嵌入二进制序列的N个分组,N为正整数,N指代二进制序列的长度。
在步骤305中,在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。
本公开实施例提供的方法,在水印添加过程中,本公开实施例首先对待添加水印的载体图像进行像素块划分,并将划分出来的像素块中每m个像素块组成一个分组,进而得到多个分组;之后,对待添加至载体图像中的目标水印进行编码处理得到二进制序列,并在多个分组中确定适合嵌入二进制序列的N个分组,其中,N指代二进制序列的长度;最后,在这N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。
基于以上描述可知,本公开实施例对载体图像进行像素块划分并分组,以及在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,不但利用了图像空间上的冗余性,而且该种水印添加方式对各种常用攻击手段具有较强的稳健性,能够实现有效的版权保护,即可以对诸如视频等数字载体的创作者身份进行追溯。这样,即便视频被盗用并被发表至其他视频平台,也可以被发现并检测到;另外,添加的水印信息还不容易引起用户视觉上可察觉的变化。
在一种可能的实现方式中,所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组,包括:
对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;
根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
在一种可能的实现方式中,所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组之后,还包括:
在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;
在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
在一种可能的实现方式中,所述在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息,包括:
对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;
根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
在一种可能的实现方式中,所述在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息,包括:
在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;
获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;
对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;
根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;
根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
在一种可能的实现方式中,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
在一种可能的实现方式中,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
在一种可能的实现方式中,所述获取所述像素块的像素矩阵,包括:
获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
在一种可能的实现方式中,所述对待添加水印的载体图像进行像素块划分,包括:
根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;
对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
在一种可能的实现方式中,所述对待添加水印的载体图像进行像素块划分,包括:
将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
在一种可能的实现方式中,所述在对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列之后,还包括:
对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述在所述N个分组中的每个分组分别嵌入所述二进制序列的一个比特水印信息,包括:在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
在一种可能的实现方式中,还包括:若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图4是根据一示例性实施例示出的一种水印添加方法的流程图该方法用于图1所示的水印添加设备。如图4所示,包括以下步骤。
在步骤401中,对待添加水印的载体图像进行像素块划分;将划分出来的像素块中每m个像素块组成一个分组,得到多个分组。
其中,待嵌入水印的载体图像可以为视频中的任意一帧视频画面,即可以为视频中的每一帧视频画面均添加水印。另外,上述载体图像既可以为单通道图像,也可以为多通道图像。若上述载体图像为多通道图像,则可以对该载体图像的每一个通道均执行水印添加处理。另外,上述载体图像既可以为横幅图像,也可以为竖幅图像,本公开实施例对此均不进行具体限定。
本公开实施例仅以上述载体图像为视频中的一帧图像,且该图像为单通道图像为例,对本公开实施例提供的水印添加方案进行举例说明。
示例性地,划分出来的各个像素块的大小可以均一致,比如每个像素块的大小可以为n*n像素。进一步地,在划分出来的像素块中将每m像素块组成一个分组,进而得到多个分组。其中,m的取值为正整数。
举例来说,以载体图像的大小为16*16像素为例,若划分出来的各个像素块的大小为4*4像素,则一共可以得到16个像素块。进一步,如果将相邻的2个像素块组成一个分组,则一共可以得到8个分组。
在步骤402中,对待添加至载体图像中的目标水印进行编码处理得到二进制序列。
其中,目标水印可以为图像,也可以为文本,本公开实施例对此不进行具体限定。
以目标水印为图像为例,示例性地,可以采取如下方式将其进行编码处理得到二进制序列:首先对其进行DCT(DiscreteCosineTransform,离散余弦变换),然后依据JPEG(Joint Photographic Experts Group,联合图像专家组)压缩规则对其进行量化编码和调整,进而转换为二进制序列。以目标水印为文本为例,则可以采取词嵌入方式对其进行编码处理得到二进制序列。本公开实施例对水印的编码处理方式不进行具体限定。
其中,假设二进制序列的长度为N,如果每个分组内的m个像素看用来嵌入这个二进制序列中的一个bit水印信息。则高度为H且宽度为W像素的载体图像,最多可以用于嵌入(H/n)*(W/n)/m个bit的水印信息。
在步骤403中,对于多个分组中的每个分组,获取该分组包括的每个像素块的像素值方差。
在对划分出来的像素块进行分组后,对于任意一个分组,本公开实施例会计算该分组包括的每个像素块的像素值方差,并记录下各个像素块的像素值方差。其中,像素值方差反映了像素块内的纹理丰富程度。而对于无纹理区域是无法进行水印信息嵌入的。
其中,像素值方差的计算公式可以为
Figure BDA0002452362560000121
其中,n2指代像素块中包括像素点个数,x为n2个像素点的像素均值,x1、x2…等指代各个像素点的像素值。
在步骤404中,根据获取到的像素值方差,在多个分组中确定适合嵌入二进制序列的N个分组。
如前文所述,高度为H且宽度为W像素的载体图像,最多可以用于嵌入(H/n)*(W/n)/m个bit的水印信息,这个数值通常是要大于N的,其中,N为正整数,N指代二进制序列的长度。因此,可以在得到的多个分组中确定适合嵌入二进制序列的N个分组。
在一种可能的实现实现方式中,在得到的多个分组中确定适合嵌入二进制序列的N个分组,包括但不限于下述步骤:
4041、在多个分组中确定像素值方差最大的N个分组,得到适合嵌入二进制序列的N个分组。
针对该种方式,即是在多个分组中选择组内的像素块的像素值方差符合要求的分组,比如,计算每个分组内各个像素块的像素值方差,并挑选像素块的像素值方差最大的N个组用于嵌入二进制序列。
另外,考虑到画面中最上面和最下面的边缘部分容易被裁剪,或者通过在这些边缘部分添加LOGO等对画面进行重新编辑,因此前述对待添加水印的载体图像进行像素块划分,还可以采取下述方式:
4042、根据目标比例在载体图像中确定上边缘区域和下边缘区域;对载体图像中除了上边缘区域和下边缘区域之外的其他图像区域进行像素块划分。
其中,上述目标比例是一个可调参数,其取值可以根据实际任务需求而定,本公开实施例对此不进行具体限定。比如,目标比例的取值可以为10%。
举例来说,假设载体图像的高度为1092像素,如果目标比例的取值为10%,则在进行像素块划分和进行分组时,可以避免最上边缘至1092*10%个像素之间的上边缘区域,以及最下边缘至1092*10%个像素之间的下边缘区域。即,针对载体图像的整体来说,上下各自滤除10%大小的区域,并在剩余的80%区域进行像素块划分和分组。
在步骤405中,在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。
在选定好N个分组后,对于同一个分组内的每个像素块,首先获取该像素块的像素值方差;若该像素块的像素值方差大于目标阈值,则在该像素块内嵌入一个比特水印信息。若该像素块的像素值方差小于目标阈值,则跳过这个像素块不对其进行如下处理。
在一种可能的实现方式中,在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,包括但不限于如下步骤:
4051、在N个分组中,对于同一分组内的每个像素块,获取该像素块的像素矩阵;获取该像素块的像素均值,根据该像素矩阵和该像素均值获取中间矩阵;对该中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵。
以这个像素块的像素矩阵为M为例,则像素矩阵M中的各个元素指代这个像素块对应位置上的像素值;假设这个像素块的像素均值为μ,则中间矩阵为像素矩阵M减去像素均值μ得到的矩阵。
进一步地,对中间矩阵进行奇异值分解(Singular Value Decomposition,SVD):M-μ=U*S*V’。其中,矩阵U和矩阵V是两个正交矩阵,矩阵V’为矩阵V的转置矩阵,矩阵S是一个对角矩阵,该对角矩阵的对角线元素即为该对角矩阵的奇异值。
4052、根据目标强度参数和该分组需要嵌入的水印信息,量化得到的对角矩阵中的目标奇异值。
其中,基于矩阵奇异值分解的水印嵌入技术是想要将需要嵌入的水印信息嵌入到对角的奇异值中。如果在嵌入水印的过程中选择一个嵌入强度因子来控制水印信息嵌入的程度,那么当该嵌入强度因子足够小时,嵌入水印后的图像在视觉上不会产生明显的变化。因此在水印嵌入时,选择合适的嵌入强度因子是十分重要的。其中,该嵌入强度因子在本文中也被称之为强度参数。
其中,小的强度参数有利于水印的透明性,但嵌入的水印信息容易受到外界噪声的干扰,如果噪声强度足够大,则可能会使水印信息被噪声淹没而完全丢失,导致提取水印时无法得到水印的完整信息。大的强度参数有利于增强算法的鲁棒性,即使在噪声较强的情况下水印信息也不会受到很大的影响,但是过大的强度参数可能对奇异值产生较大的影响,有可能破坏水印的透明性,影响图像的质量。因此,在水印嵌入时要选择适当的强度参数,以使得水印图像的不可觉察性与鲁棒性达到最佳。
示例性地,目标强度参数的设置可根据实际任务需求而定,本公开实施例对此不进行具体限定。本步骤即是对于在对角矩阵S中选定的奇异值,根据目标强度参数s和需要嵌入的水印信息(嵌入比特为0或1)将选中的奇异值量化到对应的数值。其中,选定的奇异值可以为随机选定的,比如选定的奇异值可以为任意一个对角线元素,本公开实施例对此不进行具体限定。
在一种可能的实现方式中,根据目标强度参数和该分组需要嵌入的水印信息,量化该对角矩阵中的目标奇异值,包括但不限于:
步骤a、若该分组需要嵌入的水印信息为0,则根据目标强度参数s和需要嵌入的水印信息0,将选定的目标奇异值量化修改为与目标强度参数s相关的第一数值。
例如,选中对角线的第3个元素为需要变化的目标奇异值,需要嵌入的水印信息为0,则根据参数s和0,将第3个元素修改成与s相关的第一数值。
示例性地,与参数s相关的第一数值,可以为参数s与选定的目标奇异值的和值,本公开实施例对此不进行具体限定。
步骤b、若该分组需要嵌入的水印信息为1,则根据目标强度参数s和嵌入的水印信息,将选定的目标奇异值量化修改为与目标强度参数s相关的第二数值。
继续以上述例子为例,如果需要嵌入的水印信息为1,则根据参数s和1,将第3个元素修改成与s相关的第二数值。
示例性地,与参数s相关的第二数值,可以为参数s与选定的目标奇异值的差值,本公开实施例对此不进行具体限定。
需要说明的是,在进行量化修改时,除了上述加法运算和减法运算外,还可以为更复杂的其他运算,本公开实施例对此不进行具体限定。
4053、根据量化后得到的新的奇异值、两个正交矩阵和像素均值,重构该像素块的像素矩阵,以新的像素矩阵替换该像素块原始的像素矩阵。
本步骤即是按照量化后得到的新的奇异值,来重构该像素块的像素矩阵。即,M_new=U*S_new*V’+μ。其中,S_new指代新的奇异值,M_new就是重构得到的新的像素矩阵。
至此,对单帧图像的水印信息嵌入完成。进一步地,通过对视频中的每一帧视频画面都进行上述处理,即可以将水印信息嵌入视频的每一帧画面中。
另外,除了上述水印嵌入方式之外,还可以采取其他水印嵌入方法,而每一种方法对不同的攻击手段的抵抗能力不同,算法的复杂度不同,适用于不同的任务。
本公开实施例提供的方法会对载体图像进行像素块划分并分组,以及在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,该种水印添加方案不但利用了图像空间上的冗余性,而且对各种常用攻击手段具有较强的稳健性,能够实现有效的版权保护,即可以对诸如视频等数字载体的创作者身份进行追溯。这样,即便视频被盗用并被发表至其他视频平台,也可以被发现并检测到;另外,添加的水印信息还不容易引起用户视觉上可察觉的变化。
另外,该种水印添加方案对常见的攻击手段有较强的抵抗能力,利用这些手段对添加有水印信息的视频进行处理之后,仍然能提取出添加的水印信息。比如,通过对载体图像进行像素块划分以及分组,并对组内符合要求的每个像素块进行矩阵的奇异值分解计算,据此来实现水印信息的嵌入,能够保证嵌入的水印对压缩转码等攻击手段比较稳健。即,该种水印嵌入方案对常见的压缩转码操作不敏感,比如利用常见的压缩转码对添加有水印信息的视频进行处理之后,仍然能够正确提取水印信息;又比如,还对裁剪处理不敏感,对添加有水印信息的视频进行裁剪后,仍然能够正确提取水印信息。
另外,通过对视频中每一帧视频画面进行水印信息嵌入,利用了视频时间上的冗余性。
在另一个实施例中,关于水印嵌入区域(选定的N个分组),可以通过设定定位码的方式来进行指定并编码到载体图像中,以在水印提取过程中,通过定位码来定位水印嵌入区域。即,本公开实施例支持通过添加定位码来限定水印嵌入区域。换言之,定位码用于在载体图像上定位水印添加区域,其中,X指代定位码的长度,X为正整数。即,在多个分组中确定适合嵌入二进制序列的N个分组之后,本公开实施例还包括如下步骤:
406、在N个分组的开头部分确定连续的X个分组,在该X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;在N个分组的结尾部分确定连续的X个分组,在该X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息。
作为一个示例,为了降低误识别率,在本公开实施例中,定位码可以采用组内掩模(mask)的形式嵌入。需要说明的是,对于属于水印的比特信息,相应分组内所有像素块小块的嵌入信息都是相同的,即全部像素块要么嵌入1要么嵌入0。而对于定位码的嵌入信息,在组内通过组内掩模的形式进行确定。即,在X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息,包括但不限于:
对于X个分组中的每个分组,对该分组内待嵌入的水印信息和目标掩模进行异或操作;根据得到的异或操作结果,确定该分组内各个像素块应嵌入的定位信息;其中,该分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,其中,i为正整数。
即,该分组内每一像素块的嵌入比特=需要嵌入的定位比特与目标掩模的异或操作。
以定位码的长度为3,目标掩模的长度也为3为例,假设目标掩模为101,而本组需要嵌入的定位比特是0,那么第1个像素块需要嵌入的定位信息为1XOR 0=1,第2个像素块需要嵌入的定位信息为0XOR 0=0,第3个像素块需要嵌入的定位信息1XOR 0=1,循坏地,第4个像素块需要嵌入的定位信息为1XOR 0=1,第5个像素块需要嵌入的定位信息为0XOR0=0,第6个像素块需要嵌入的定位信息1XOR 0=1,以此类推,直至本组内最后一个像素块。
需要说明的是,定位码和目标掩模的长度并不是一个定值,可以根据任务需要而定。其中,定位码和目标掩模的长度十分重要,如果不知道这两个参数,那么在水印提取阶段将难以定位水印嵌入区域,进而难以提取到水印信息。
另外,针对水印添加阶段,由于在水印嵌入区域的开头部分和结尾部分分别利用连续的X个分组来嵌入定位码(比如100),那么针对水印提取阶段,在水印图像上检测到距离为N个分组的两个100的嵌入信息,即可以确定中间部分为水印嵌入区域。
另外,定位码的形式和嵌入方式除了上述所示之外,还可以采取其他形式和其他嵌入方式,本公开实施例对此不进行具体限定。
通过如上操作,可以使得定位码和普通的水印信息能够比较明显的区分开。另外,通过定位码不但使得在水印提取阶段能够精确地定位水印嵌入区域,为水印提取提供了保障,而且在载体图像中加入定位码,还增强了水印的稳定性。
在另一个实施例中,考虑到水印提取过程中有可能存在误判的情况,比如原本要嵌入的比特是1,由于图像在编解码、传输、后续编辑等过程中产生了变化,提取的结果变为不确定或者变为了0,这样会造成水印信息提取失败。为了避免这种情况的发生,本公开实施例还会引入纠错编码机制。其中,纠错编码是一大类方法,用于对已有信息进行重新编码,使得编码后的信息能够抵抗一定程度的错误和缺失;另外,纠错编码可以发现一定程度的错误并进行纠正,也可以发现是否存在过多错误从而无法纠正。即,在对待添加至载体图像中的目标水印进行编码处理得到二进制序列之后,本公开实施还包括如下步骤:
407、对二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列。
其中,纠错编码处理可以发生在图2中所示的得到二进制序列之后以及执行水印嵌入之前。示例性地,纠错编码BCH纠错编码,参数具体为m=6,t=3。其中,BCH码是一种常用的纠错码,它是循环码的一种,具有很强的纠正能力。通常用(n,k)表示,n表示编完码以后的码长,k表示信息位长度。
在此参数下,纠错校验码为18比特,所以48比特信息将被重新编码为66比特。其中,T指代纠错能力,66比特指代66位编码后的码长,48比特信息表示信息位的长度,18比特为纠错校验码。
需要说明的第一点是,BCH编码的过程是将长度length的数据编码得到长度为length–k的校验码;BCH解码的过程是将长度为length的数据和长度为length–k的校验码进行计算,检测数据是否有错误,如果数据发生错误,对错误的数据进行纠正。其中,最多可以纠正t个错误。即BCH纠错编码的原理是:对于任何正整数m和t(m>=3,t<2m-1),存在着能纠正t个以内错误的BCH码,其参数为:码长:n=2m-1。最小码距:d>2t+1。
需要说明的第二点是,除了采取BCH纠错编码之外,也可以采用其他的纠错编码算法,或者在采取BCH纠错编码的情况下使用其他的参数,本公开实施例对此不进行具体限定。
在水印嵌入过程中对水印信息进行纠错编码处理,能够保证在水印提取阶段精确地提取水印,为水印提取提供了保障,即在水印嵌入过程中引入纠错编码机制,增强了水印的稳定性。
图5是根据一示例性实施例示出的一种水印添加装置的框图。参照图5,该装置包括划分模块501,分组模块502,编码模块503,确定模块504和第一嵌入模块505。
划分模块501,被配置为对待添加水印的载体图像进行像素块划分;
分组模块502,被配置为将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数;
编码模块503,被配置为对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列;
确定模块504,被配置为在所述多个分组中确定适合嵌入所述二进制序列的N个分组,N为正整数,N指代所述二进制序列的长度;
第一嵌入模块505,被配置为在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息。
本公开实施例提供的装置,在水印添加过程中,本公开实施例首先对待添加水印的载体图像进行像素块划分,并将划分出来的像素块中每m个像素块组成一个分组,进而得到多个分组;之后,对待添加至载体图像中的目标水印进行编码处理得到二进制序列,并在多个分组中确定适合嵌入二进制序列的N个分组,其中,N指代二进制序列的长度;最后,在这N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息。
基于以上描述可知,本公开实施例对载体图像进行像素块划分并分组,以及在N个分组中的每个分组内分别嵌入二进制序列的一个比特水印信息,不但利用了图像空间上的冗余性,而且该种水印添加方式对各种常用攻击手段具有较强的稳健性,能够实现有效的版权保护,即可以对诸如视频等数字载体的创作者身份进行追溯。这样,即便视频被盗用并被发表至其他视频平台,也可以被发现并检测到;另外,添加的水印信息还不容易引起用户视觉上可察觉的变化。
在一种可能的实现方式中,所述确定模块,还被配置为对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
在一种可能的实现方式中,所述装置还包括:
第二嵌入模块,被配置为在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
在一种可能的实现方式中,所述第二嵌入模块,还被配置为对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
在一种可能的实现方式中,所述第一嵌入模块,还被配置为获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
在一种可能的实现方式中,所述划分模块,还被配置为根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
在一种可能的实现方式中,所述划分模块,还被配置为将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
在一种可能的实现方式中,所述装置还包括:
纠错编码模块,被配置为对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述第一编码模块,还被配置为在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
在一种可能的实现方式中,所述装置还被配置为若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了本公开一个示例性实施例提供的一种电子设备600的结构框图。通常,设备600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本公开中方法实施例提供的水印添加方法。
在一些实施例中,设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:显示屏605和电源609。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
显示屏604用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏604是触摸显示屏时,显示屏604还具有采集在显示屏604的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏604还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏604可以为一个,设置设备600的前面板;显示屏604可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源605用于为设备600中的各个组件进行供电。电源605可以是交流电、直流电、一次性电池或可充电电池。当电源605包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图6中示出的结构并不构成对设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备600的处理器执行以完成上述水印添加方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备600的处理器执行时,使得电子设备600能够执行如上述方法实施例中的水印添加方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (24)

1.一种水印添加方法,其特征在于,包括:
对待添加水印的载体图像进行像素块划分;
将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数;
对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列;
在所述多个分组中确定适合嵌入所述二进制序列的N个分组,N为正整数,N指代所述二进制序列的长度;
在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息;
所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组之后,还包括:
在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;
在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
2.根据权利要求1所述的水印添加方法,其特征在于,所述在所述多个分组中确定适合嵌入所述二进制序列的N个分组,包括:
对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;
根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
3.根据权利要求1所述的水印添加方法,其特征在于,所述在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息,包括:
对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;
根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
4.根据权利要求1所述的水印添加方法,其特征在于,所述在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息,包括:
在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;
获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;
对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;
根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;
根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
5.根据权利要求4所述的水印添加方法,其特征在于,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
6.根据权利要求4所述的水印添加方法,其特征在于,所述根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值,包括:
若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
7.根据权利要求4所述的水印添加方法,其特征在于,所述获取所述像素块的像素矩阵,包括:
获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
8.根据权利要求1至7中任一项所述的水印添加方法,其特征在于,所述对待添加水印的载体图像进行像素块划分,包括:
根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;
对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
9.根据权利要求1至7中任一项所述的水印添加方法,其特征在于,所述对待添加水印的载体图像进行像素块划分,包括:
将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
10.根据权利要求1至7中任一项所述的水印添加方法,其特征在于,所述对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列之后,还包括:
对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息,包括:在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
11.根据权利要求1至7中任一项所述的水印添加方法,其特征在于,还包括:若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
12.一种水印添加装置,其特征在于,包括:
划分模块,被配置为对待添加水印的载体图像进行像素块划分;
分组模块,被配置为将划分出来的像素块中每m个像素块组成一个分组,得到多个分组,m为正整数;
编码模块,被配置为对待添加至所述载体图像中的目标水印进行编码处理得到二进制序列;
确定模块,被配置为在所述多个分组中确定适合嵌入所述二进制序列的N个分组,N为正整数,N指代所述二进制序列的长度;
第一嵌入模块,被配置为在所述N个分组中的每个分组内分别嵌入所述二进制序列的一个比特水印信息;
所述装置还包括:
第二嵌入模块,被配置为在所述N个分组的开头部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入定位码中的一个比特定位信息;在所述N个分组的结尾部分确定连续的X个分组,在所述X个分组中的每个分组内分别嵌入所述定位码中的一个比特定位信息;
其中,所述定位码用于在所述载体图像上定位水印添加区域,X为正整数,X指代所述定位码的长度。
13.根据权利要求12所述的水印添加装置,其特征在于,所述确定模块,还被配置为对于所述多个分组中的每个分组,获取所述分组包括的每个像素块的像素值方差;根据获取到的像素值方差,在所述多个分组中确定像素值方差最大的N个分组,得到适合嵌入所述二进制序列的所述N个分组。
14.根据权利要求12所述的水印添加装置,其特征在于,所述第二嵌入模块,还被配置为对于所述X个分组中的每个分组,对所述分组内待嵌入的水印信息和目标掩模进行异或操作;根据得到的异或操作结果,确定所述分组内各个像素块应嵌入的定位信息;其中,所述分组内第i个像素块与第i+X个像素块需要嵌入的定位信息相同,i为正整数。
15.根据权利要求12所述的水印添加装置,其特征在于,所述第一嵌入模块,还被配置为在所述N个分组中,对于同一分组内的每个像素块,获取所述像素块的像素矩阵,所述像素矩阵中的各个元素指代所述像素块对应位置上的像素值;获取所述像素块的像素均值,根据所述像素矩阵和所述像素均值获取中间矩阵;对所述中间矩阵进行奇异值分解处理,得到两个正交矩阵和一个对角矩阵,所述对角矩阵的对角线元素为所述对角矩阵的奇异值;根据目标强度参数和所述分组嵌入的水印信息,量化所述对角矩阵中的目标奇异值;根据量化后得到的新的奇异值、所述两个正交矩阵和所述像素均值,重构所述像素块的像素矩阵,以新的像素矩阵替换所述像素块原始的像素矩阵。
16.根据权利要求15所述的水印添加装置,其特征在于,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为0,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第一数值。
17.根据权利要求15所述的水印添加装置,其特征在于,所述第一嵌入模块,还被配置为若所述分组嵌入的水印信息为1,则根据所述目标强度参数和所述嵌入的水印信息,将所述目标奇异值量化修改为与所述目标强度参数相关的第二数值。
18.根据权利要求15所述的水印添加装置,其特征在于,所述第一嵌入模块,还被配置为获取所述像素块的像素值方差,若所述像素值方差大于目标阈值,则执行所述获取所述像素块的像素矩阵的步骤。
19.根据权利要求12至18中任一项所述的水印添加装置,其特征在于,所述划分模块,还被配置为根据目标比例在所述载体图像中确定上边缘区域和下边缘区域;对所述载体图像中除了所述上边缘区域和所述下边缘区域之外的其他图像区域进行像素块划分。
20.根据权利要求12至18中任一项所述的水印添加装置,其特征在于,所述划分模块,还被配置为将添加水印的载体视频中的每一帧视频画面均作为所述载体图像进行像素块划分。
21.根据权利要求12至18中任一项所述的水印添加装置,其特征在于,所述装置还包括:
纠错编码模块,被配置为对所述二进制序列进行纠错编码处理,得到经过纠错编码后的水印序列;
所述第一嵌入模块,还被配置为在所述N个分组中的每个分组内分别嵌入所述水印序列中的一个比特水印信息。
22.根据权利要求12至18中任一项所述的水印添加装置,其特征在于,所述装置还被配置为若所述载体图像为多通道图像,则对所述载体图像的每一个通道均执行水印添加处理。
23.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至11中任一项所述的水印添加方法。
24.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至11中任一项所述的水印添加方法。
CN202010296435.0A 2020-04-15 2020-04-15 水印添加方法、装置、存储介质以及电子设备 Active CN113538198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010296435.0A CN113538198B (zh) 2020-04-15 2020-04-15 水印添加方法、装置、存储介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010296435.0A CN113538198B (zh) 2020-04-15 2020-04-15 水印添加方法、装置、存储介质以及电子设备

Publications (2)

Publication Number Publication Date
CN113538198A CN113538198A (zh) 2021-10-22
CN113538198B true CN113538198B (zh) 2023-02-28

Family

ID=78120175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010296435.0A Active CN113538198B (zh) 2020-04-15 2020-04-15 水印添加方法、装置、存储介质以及电子设备

Country Status (1)

Country Link
CN (1) CN113538198B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122385A (zh) * 2011-02-28 2011-07-13 北京工业大学 一种能同时抵抗多种攻击的数字水印方法
CN102903076A (zh) * 2012-10-24 2013-01-30 兰州理工大学 数字图像可逆水印嵌入方法及其提取方法
CN109035122A (zh) * 2018-05-07 2018-12-18 国网浙江省电力有限公司信息通信分公司 水印图像的处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122385A (zh) * 2011-02-28 2011-07-13 北京工业大学 一种能同时抵抗多种攻击的数字水印方法
CN102903076A (zh) * 2012-10-24 2013-01-30 兰州理工大学 数字图像可逆水印嵌入方法及其提取方法
CN109035122A (zh) * 2018-05-07 2018-12-18 国网浙江省电力有限公司信息通信分公司 水印图像的处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二值图像中的数据隐藏算法;郭萌等;《电子学报》;20091130;第37卷(第11期);第2409-2415页 *

Also Published As

Publication number Publication date
CN113538198A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
Jia et al. Mbrs: Enhancing robustness of dnn-based watermarking by mini-batch of real and simulated jpeg compression
Pereira et al. Optimal transform domain watermark embedding via linear programming
CN113538197B (zh) 水印提取方法、装置、存储介质以及电子设备
US20230008085A1 (en) Method for embedding watermark in video data and apparatus, method for extracting watermark in video data and apparatus, device, and storage medium
US8774451B2 (en) Method and apparatus for embedding a watermark image in a host image
Rajput et al. Image tamper detection and self-recovery using multiple median watermarking
CN112561766B (zh) 图像隐写及提取方法、装置及电子设备
CN111768327A (zh) 基于深度学习的水印添加、提取方法、设备及存储介质
EP1908007B1 (en) Image watermarking
CN107688731B (zh) 一种基于文本文档保护的数字水印算法
Fan et al. A Robust Watermarking Technique Resistant JPEG Compression.
CN115482142A (zh) 暗水印添加方法、提取方法、系统、存储介质及终端
CN113538198B (zh) 水印添加方法、装置、存储介质以及电子设备
CN109859090B (zh) 基于人类视觉系统的可逆水印方法及装置
Huynh-The et al. Robust image watermarking framework powered by convolutional encoder-decoder network
CN112004148B (zh) 视频处理方法、装置、计算机设备及存储介质
JP2007036652A (ja) 画像処理方法および画像処理装置およびプログラムおよび記憶媒体
Bhatnagar Robust covert communication using high capacity watermarking
CN113537484B (zh) 用于数字水印的网络训练、编码和解码方法、装置及介质
CN117499665B (zh) 一种基于灰度值量化的图像数据嵌入和提取方法、装置
JP4992678B2 (ja) 画像処理方法、制御プログラム及び画像処理装置
CN113989089B (zh) 隐形图片水印处理方法、系统、计算机设备、智能终端
US11423506B2 (en) Video frame to frame difference watermarking with drm metadata
Yang et al. A Data Hiding Method Based on Partition Variable Block Size with Exclusive-or Operation on Binary Image
CN117615075A (zh) 水印添加及水印鉴别方法、装置、设备、可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant