具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有的音频水印在剪裁攻击等同步攻击或各类普通攻击下,普遍存在无法正确找到水印信息的提取位置,对同步攻击鲁棒性低等问题,本发明实施例提供了一种音频水印的嵌入方法。图1为本发明实施例提供的音频水印的嵌入方法的流程示意图,如图1所示,该嵌入方法包括:
110,对载体音频进行若干次离散小波变换,获取载体音频的载体细节信号。
具体地,载体音频是指待嵌入水印的音频。为了保证嵌入水印的鲁棒性,被嵌入的水印在音频中的分布应当是离散的,因此首先要对载体音频进行离散处理。离散小波变换(Discrete wavelet transform,DWT)是对基本小波的尺度和平移进行离散化。离散小波变换实际上是一种信号分解方法,对原始信号进行离散小波变换,可以得到被分解信号的近似信号和细节信号。此处,近似信号用于表示被分解信号的低频分量,细节信号用于表示被分解信号的高频分量。本发明实施例中,对载体音频进行若干次离散小波变换,此处不对进行离散小波变换的次数作具体限定。若仅对载体音频进行一次离散小波变换,则载体细节信号为对载体音频进行离散小波变换得到的细节信号。若对载体音频进行两次或两次以上的离散小波变换,即不再对载体音频的高频分量进行分解,而是对载体音频的低频分量进行连续分解,将最后一次对上次变换得到的近似信号进行离散小波变换后得到的细节信号作为载体细节信号。
120,从载体细节信号中选取预设数量个梯度值最高的波峰。
具体地,获取载体细节信号中每一波峰的梯度值,按照梯度值由高到低的顺序对载体细节信号中的波峰进行排序,并从中选取前预设数量个波峰。此处,波峰的梯度值是指波峰处下降的变化率。此处,预设数量是指预先设定的在载体音频中嵌入水印的数量,即待嵌入区域的数量。
130,以任一波峰为中心,从载体细节信号中选取预设区域长度的区域作为该波峰对应的待嵌入区域;预设区域长度大于等于水印信息的长度。
具体地,待嵌入区域是指从载体细节信号中选取的一段用于嵌入水印信息的音频信号。任一波峰是指通过步骤120中依据梯度值选取得到预设数量个波峰中的任意一个波峰。针对任一波峰,将该波峰作为对应的待嵌入区域的中心,并以预设区域长度为待嵌入区域的长度,分别从该波峰的两边进行扩张,截取该波峰对应的待嵌入区域。需要说明的是,为了保证水印信息能够完整嵌入待嵌入区域,待嵌入区域的长度,即预设区域长度必须大于或者等于水印信息的长度。
140,将水印信息嵌入每一待嵌入区域中,获取带水印音频。此处,水印信息为需要嵌入至载体音频的水印,带水印音频为已嵌入水印的载体音频。
本发明实施例提供的方法,将水印信息嵌入到从通过离散小波变换获取的载体细节信号中选取的待嵌入区域,使得带水印音频在受到随机剪裁等同步攻击后,仍能够借助待嵌入区域的确定,迅速定位被嵌入的水印信息并正确提取,有效增强了水印针对随机剪裁等同步攻击的鲁棒性,同时使得水印在针对普通攻击时也能具备较强的鲁棒性。
基于上述实施例,图2为本发明实施例提供的载体音频细节信号的获取方法的流程示意图,如图2所示,步骤110具体包括:
111,对载体音频进行离散小波变换,得到第一级近似信号。
112,对第一级近似信号进行离散小波变换,得到第二级近似信号。
113,对第二级近似信号进行离散小波变换,得到第三级细节信号,将第三级细节信号作为载体音频的载体细节信号。
具体地,对载体音频进行三次离散小波变换。步骤111对载体音频进行首次离散小波变换,得到第一级近似信号和第一级细节信号,此处第一级近似信号为载体音频的近似信号,第一级细节信号为载体音频的细节信号。随即步骤112中仅对上一步骤中得到的第一级近似信号进行离散小波变换,得到第二级近似信号和第二级细节信号,此处第二级近似信号为第一级近似信号的近似信号,第二级细节信号为第一级近似信号的细节信号。接着,步骤113中对上一步骤中得到的第二级近似信号进行离散小波变换,得到第三级近似信号和第三级细节信号,此处第三级近似信号为第二级近似信号的近似信号,第三级细节信号为第二级近似信号的细节信号,将第三级细节信号作为载体音频的载体细节信号。
本发明实施例提供的方法,根据三次离散小波变换得到的载体细节信号确定待嵌入区域,使得水印对噪声、MP3压缩等普通攻击也具有较强的鲁棒性。
基于上述任一实施例,步骤140具体包括:
141,对任一待嵌入区域进行DCT变换,获取该待嵌入区域的低频系数。
142,将水印信息嵌入该待嵌入区域的低频系数中,得到该待嵌入区域的带水印低频系数。此处,待水印低频系数是指嵌入了水印信息的待嵌入区域的低频系数。
143,对该待嵌入区域的带水印低频系数进行DCT反变换,得到该待嵌入区域对应的带水印区域。此处,带水印区域是指在低频系数中嵌入了水印信息的待嵌入区域。
144,应用每一带水印区域替换对应的每一待嵌入区域,得到带水印音频。
具体地,DCT变换即离散余弦变换,用于将待嵌入区域从时域转化到频域,而经过DCT变换后的待嵌入区域的低频系数能够代表整段待嵌入区域音频信号的基本特征,针对噪声、压缩、滤波等普通攻击具有良好的鲁棒性。将水印信息嵌入到待嵌入区域的低频系数中,得到带水印低频系数,随后对带水印低频系数进行DCT反变换,重新从频域转化到时域,得到带水印区域,并应用带水印区域替换对应的待嵌入区域,即实现了载体音频的水印嵌入,得到带水印音频。
本发明实施例提供的方法,通过DCT变换将水印信息嵌入待嵌入区域的低频系数中,从而使得水印具备了针对噪声、压缩、滤波等普通攻击的良好的鲁棒性。
基于上述任一实施例,步骤142进一步包括:基于双边量化方法将水印信息嵌入任一待嵌入区域的低频系数中,得到该待嵌入区域的带水印低频系数。
双边量化是一种常见的量化方式,其原理简单,容易实现,在水印嵌入算法中得到了广泛的应用。基于双边量化方法,将水印信息按照如下公式嵌入待嵌入区域的低频系数:
其中,w(i)为水印信息的第i位,x(i)为低频系数的第i位,x′(i)为带水印低频系数的第i位,s为量化步长,w_len为水印信息长度,floor()为取整函数。
基于上述任一实施例,步骤140之前,还包括:对水印图像进行图像置乱和降维,得到水印信息。
具体地,图像置乱是指将图像的信息次序打乱,使其变换成杂乱无章难以辨认的图像,图像置乱是信息隐藏中的常用技术,可以很大限度的提高置乱后图像的鲁棒性。能够用于图像置乱的方法有很多,例如基于离散元素序列的图像置乱方法,基于扫描路线的图像置乱方法,基于遍历矩阵的图像置乱方法,基于迭代函数系统的图像置乱方法以及基于矩阵变换的图像置乱方法等。降维则是用于将二维的待嵌入音频中的水印图像转换为一维的水印信息。
基于上述任一实施例,图3为本发明实施例提供的音频水印的提取方法的流程示意图,如图3所示,一种音频水印的提取方法,包括:
310,对带水印音频进行若干次离散小波变换,获取带水印音频的带水印细节信号。
具体地,带水印音频为已嵌入水印的载体音频。针对上述任一实施例提出的音频水印的嵌入方法,水印信息被嵌入在带水印音频的待嵌入区域中,而待嵌入区域是从载体细节信号中选取的。因此,首先对带水印音频进行离散小波边换,获取带水印音频的带水印细节信号,此处的带水印细节信号即已经嵌入了水印信息的载体细节信号。需要说明的是,步骤310中,对带水印音频进行离散小波变换的次数,与在水印信息嵌入时,为获取载体细节信息对载体音频执行的离散小波变换的次数是一致的。
320,从带水印细节信号中选取预设数量个梯度值最高的波峰。
330,以任一波峰为中心,从带水印细节信号中选取预设区域长度的区域作为该波峰对应的带水印区域;带水印区域为嵌有水印信息的待嵌入区域,预设区域长度与待嵌入区域的长度一致。
具体地,针对上述任一实施例提出的嵌入方法的步骤120和130中从载体细节信号中选取预设数量个梯度值最高的波峰,并以波峰为中心选取待嵌入区域的待嵌入区域确定方法,步骤320和330依据相同的方法从带水印细节信号中选取带水印区域,以便于从带水印细节信号中选取的带水印区域与待嵌入区域一致,准确定位水印信息的嵌入位置。此处,预设数量是指预先设定的在载体音频中嵌入水印的位置数量,即待嵌入区域的数量,同样指示带水印区域的数量。
步骤320中,获取带水印细节信号中每一波峰的梯度值,按照梯度值由高到低的顺序对带水印细节信号中的波峰进行排序,并从中选取前预设数量个波峰。此处,波峰的梯度值是指波峰处下降的变化率。步骤330中,任一波峰是指通过步骤321中依据梯度值选取得到预设数量个波峰中的任意一个波峰。针对任一波峰,将该波峰作为对应的待嵌入区域的中心,并以预设区域长度为待嵌入区域的长度,分别从该波峰的两边进行扩张,截取该波峰对应的嵌有水印信息的待嵌入区域,即带水印区域。
340,从每一带水印区域中提取水印信息。
本发明实施例提供的方法,将水印信息从通过离散小波变换获取的带水印细节信号中选取的带水印区域中提取出来,在带水印音频在受到随机剪裁等同步攻击后,本发明实施例提供的方法仍能够借助带水印区域的确定,迅速定位被嵌入的水印信息并正确提取,有效增强了水印针对随机剪裁等同步攻击的鲁棒性,同时使得水印在针对普通攻击时也能具备较强的鲁棒性。
基于上述任一实施例,步骤340之后,还包括:对所述水印信息进行升维和图像重构,还原水印图像。
具体地,在将水印信息嵌入至载体音频之前,需要将水印图像进行图像置乱和降维,得到水印信息。对应地,在水印提取过程中,得到水印信息以后,可以通过执行降维的逆操作升维以及图像置乱的逆操作图像重构,对水印图像进行还原。
基于上述实施例,步骤310具体包括:
311,对带水印音频进行离散小波变换,得到第一级带水印近似信号。
312,对第一级带水印近似信号进行离散小波变换,得到第二级带水印近似信号。
313,对第二级带水印近似信号进行离散小波变换,得到第三级带水印细节信号,将第三级带水印细节信号作为带水印音频的带水印细节信号。
具体地,对带水印音频进行三次离散小波变换。步骤311对带水印音频进行首次离散小波变换,得到第一级带水印近似信号和第一级带水印细节信号,此处第一级带水印近似信号为带水印音频的近似信号,第一级带水印细节信号为带水印音频的细节信号。随即步骤312中仅对上一步骤中得到的第一级带水印近似信号进行离散小波变换,得到第二级带水印近似信号和第二级带水印细节信号,此处第二级带水印近似信号为第一级带水印近似信号的近似信号,第二级带水印细节信号为第一级带水印近似信号的细节信号。接着,步骤313中对上一步骤中得到的第二级带水印近似信号进行离散小波变换,得到第三级带水印近似信号和第三级带水印细节信号,此处第三级带水印近似信号为第二级带水印近似信号的近似信号,第三级带水印细节信号为第二级带水印近似信号的细节信号,将第三级带水印细节信号作为带水印音频的带水印细节信号。
本发明实施例提供的方法,针对嵌入方法对载体音频进行三次离散小波变换得到载体细节信号,从而确定待嵌入区域,同样对带水印音频进行三次离散小波变换得到带水印细节信号,从而为确定带水印的待嵌入区域即带水印区域提供前提。
基于上述任一实施例,步骤340具体包括:
341,对任一带水印区域进行DCT变换,获取该带水印区域的带水印低频系数。
342,从该带水印区域的带水印低频系数中提取水印信息。
具体地,针对嵌入方法的步骤141-144中,通过DCT变换将水印信息嵌入待嵌入区域的低频系数中,得到带水印低频系数。本发明实施例对带水印区域进行DCT变换,从带水印区域的带水印低频系数中提取水印信息。
为了更好地理解与应用本发明提出的一种音频水印的嵌入方法和提取方法,本发明进行以下示例,且本发明不仅局限于以下示例。
图4为本发明另一实施例提供的音频水印的嵌入方法的流程示意图,如图4所示,在嵌入水印之前,分别对载体音频与水印图像进行操作。
针对载体音频的操作如下:
411,DWT变换:参考图2,对载体音频进行三次离散小波变换,将第三级细节信号作为载体音频的载体细节信号。
412,确定待嵌入区域:在载体音频的载体细节信号中,计算该细节信号每个采样的梯度变化,选取k个梯度变化(即梯度值)最大的波峰作为k个待嵌入区域的中心。每个待嵌入区域均为以波峰为中心,长为roi_len的一段音频信号,roi_len大于等于水印信息的长度。
413,DCT变换:由于DCT变换后的低频系数基本代表了音频信号的基本特征,因此在本示例中,为了保证嵌入的水印对噪声、压缩、滤波等普通攻击具有良好的鲁棒性,对每个待嵌入区域进行DCT离散余弦变换,将待嵌入区域的音频信号从时域转化到频域,得到待嵌入区域的低频系数。
针对水印图像的操作如下:
421,二值化:对水印图像进行二值化。
422,Arnold变换:对二值化后的水印图像进行Arnold变换。Arnold变换是将数字图像中的点重新排列,打乱图像位置。因为Arnold置乱技术实现简单,计算快捷,具有周期性,并且置乱效果明显,被广泛地应用于数字图像水印算法的预处理过程,用来增加水印算法的安全性。
423,降维:将Arnold变换后的二维水印图像转化为一维。一维水印的长度C=M×N。其中,M是水印图像的高度,N为水印图像的宽度。此时水印信息可以表示为V={V(i),1≤i≤M×N}。
随后,将水印信息嵌入至待嵌入区域的低频系数中:
431,嵌入水印:利用双边量化方法,将水印信息嵌入到每个待嵌入区域的低频系数中。
432,DCT反变换:对于每一待嵌入区域,应用带水印低频系数替换原始的低频系数,然后再进行DCT反变换,从而得到新的嵌入了水印信息后的音频信号,即带水印区域。最后将每段带水印区域替换该位置的待嵌入区域,从而得到了最终的嵌入水印信息的音频信号,即带水印音频。
图5为本发明另一实施例提供的音频水印的提取方法的流程示意图,如图5所示,音频水印的提取方法如下:
501,DWT变换:参考图2,对带水印音频进行三次离散小波变换,将第三级细节信号作为带水印音频的带水印细节信号。
502,确定带水印区域:在带水印音频的带水印细节信号中,计算该细节信号每个采样的梯度变化,选取k个梯度变化(即梯度值)最大的波峰作为k个带水印区域的中心。每个带水印区域均为以波峰为中心,长为roi_len的一段音频信号。
503,DCT变换:对每个带水印区域进行DCT离散余弦变换,将带水印区域的音频信号从时域转化到频域,得到带水印区域的低频系数。
504,提取带水印信息:从带水印区域的低频系数中提取带水印信息。
505,升维:基于原始的二维水印图像的高度和宽度对带水印信息进行升维,得到二维的水印图像。
506,Arnold反变换:对升维后得到的二维水印图像进行Arnold反变换,重构水印图像。
本示例提供的音频水印的嵌入方法和提取方法,将水印信息嵌入到从通过离散小波变换获取的载体细节信号中选取的待嵌入区域,使得带水印音频在受到随机剪裁等同步攻击后,仍能够借助待嵌入区域的确定,迅速定位被嵌入的水印信息并正确提取,有效增强了水印针对随机剪裁等同步攻击的鲁棒性,同时使得水印在针对普通攻击时也能具备较强的鲁棒性。
图6为本发明实施例提供的音频水印的嵌入装置的结构示意图,如图6所示,一种音频水印的嵌入装置,包括载体细节获取单元601、待嵌入中心获取单元602、待嵌入区域获取单元603和嵌入单元604。
其中,载体细节获取单元601用于对载体音频进行若干次离散小波变换,获取载体音频的载体细节信号;
待嵌入中心获取单元602用于从载体细节信号中选取预设数量个梯度值最高的波峰;
待嵌入区域获取单元603用于以任一波峰为中心,从载体细节信号中选取预设区域长度的区域作为该波峰对应的待嵌入区域;预设区域长度大于等于水印信息的长度;
嵌入单元604用于将水印信息嵌入每一待嵌入区域中,获取带水印音频。
本示例提供的装置,将水印信息嵌入到从通过离散小波变换获取的载体细节信号中选取的待嵌入区域,使得带水印音频在受到随机剪裁等同步攻击后,仍能够借助待嵌入区域的确定,迅速定位被嵌入的水印信息并正确提取,有效增强了水印针对随机剪裁等同步攻击的鲁棒性,同时使得水印在针对普通攻击时也能具备较强的鲁棒性。
基于上述任一实施例,载体细节获取单元601包括第一变换子单元、第二变换子单元和第三变换子单元;
其中,第一变换子单元用于对载体音频进行离散小波变换,得到第一级近似信号;
第二变换子单元用于对第一级近似信号进行离散小波变换,得到第二级近似信号;
第三变换子单元用于对第二级近似信号进行离散小波变换,得到第三级细节信号,将第三级细节信号作为载体音频的载体细节信号。
基于上述任一实施例,嵌入单元604包括DCT变换子单元、嵌入子单元、DCT反变换子单元和替换子单元;
其中,DCT变换子单元用于对任一待嵌入区域进行DCT变换,获取该待嵌入区域的低频系数;
嵌入子单元用于将水印信息嵌入该待嵌入区域的低频系数中,得到该待嵌入区域的带水印低频系数;
DCT反变换子单元用于对该待嵌入区域的带水印低频系数进行DCT反变换,得到该待嵌入区域对应的带水印区域;
替换子单元用于应用每一带水印区域替换对应的每一待嵌入区域,得到带水印音频。
基于上述任一实施例,嵌入子单元具体用于,基于双边量化方法将水印信息嵌入该待嵌入区域的低频系数中,得到该待嵌入区域的带水印低频系数。
基于上述任一实施例,还包括水印单元,用于对水印图像进行图像置乱和降维,得到水印信息。
图7为本发明实施例提供的音频水印的提取装置的结构示意图,如图7所示,一种音频水印的提取装置,包括水印细节获取单元701、带水印中心获取单元702、带水印区域获取单元703和提取单元704;
其中,水印细节获取单元701用于对带水印音频进行若干次离散小波变换,获取带水印音频的带水印细节信号;
带水印中心获取单元702用于从带水印细节信号中选取预设数量个梯度值最高的波峰;
带水印区域获取单元703用于以任一波峰为中心,从带水印细节信号中选取预设区域长度的区域作为该波峰对应的带水印区域;带水印区域为嵌有水印信息的待嵌入区域,预设区域长度与待嵌入区域的长度一致;提取单元704用于从每一带水印区域中提取水印信息。
本发明实施例提供的装置,将水印信息从通过离散小波变换获取的带水印细节信号中选取的带水印区域中提取出来,在带水印音频在受到随机剪裁等同步攻击后,本发明实施例提供的方法仍能够借助带水印区域的确定,迅速定位被嵌入的水印信息并正确提取,有效增强了水印针对随机剪裁等同步攻击的鲁棒性,同时使得水印在针对普通攻击时也能具备较强的鲁棒性。
基于上述任一实施例,还包括水印图像单元,用于对水印信息进行升维和图像重构,还原水印图像。
图8为本发明实施例提供的电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)801、通信接口(Communications Interface)802、存储器(memory)803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。处理器801可以调用存储在存储器803上并可在处理器801上运行的计算机程序,以执行上述各实施例提供的音频水印的嵌入方法,例如包括:对载体音频进行若干次离散小波变换,获取载体音频的载体细节信号;从载体细节信号中选取预设数量个梯度值最高的波峰;以任一波峰为中心,从载体细节信号中选取预设区域长度的区域作为该波峰对应的待嵌入区域;预设区域长度大于等于水印信息的长度;将水印信息嵌入每一待嵌入区域中,获取带水印音频。
另外,处理器801还可以调用存储在存储器803上并可在处理器801上运行的计算机程序,以执行上述各实施例提供的音频水印的提取方法,例如包括:对带水印音频进行若干次离散小波变换,获取带水印音频的带水印细节信号;从带水印细节信号中选取预设数量个梯度值最高的波峰;以任一波峰为中心,从带水印细节信号中选取预设区域长度的区域作为该波峰对应的带水印区域;带水印区域为嵌有水印信息的待嵌入区域,预设区域长度与待嵌入区域的长度一致;带水印区域为嵌有水印信息的待嵌入区域;从每一带水印区域中提取水印信息。
此外,上述的存储器803中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的音频水印的嵌入方法,例如包括:对载体音频进行若干次离散小波变换,获取载体音频的载体细节信号;从载体细节信号中选取预设数量个梯度值最高的波峰;以任一波峰为中心,从载体细节信号中选取预设区域长度的区域作为该波峰对应的待嵌入区域;预设区域长度大于等于水印信息的长度;将水印信息嵌入每一待嵌入区域中,获取带水印音频。
本发明实施例还提供另一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的音频水印的提取方法,例如包括:对带水印音频进行若干次离散小波变换,获取带水印音频的带水印细节信号;从带水印细节信号中选取预设数量个梯度值最高的波峰;以任一波峰为中心,从带水印细节信号中选取预设区域长度的区域作为该波峰对应的带水印区域;带水印区域为嵌有水印信息的待嵌入区域,预设区域长度与待嵌入区域的长度一致;带水印区域为嵌有水印信息的待嵌入区域;从每一带水印区域中提取水印信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。