一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-09-07 20:08:00 来源:中国专利 TAG:水印 电子设备 装置 音频 计算机


1.本技术涉及计算机技术领域,尤其涉及一种音频水印处理方法、装置、电子设备及存储介质。


背景技术:

2.本部分旨在为权利要求书中陈述的本技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.现有的在音频中嵌入水印的方法通常是,通过fft(fast fourier transform,快速傅里叶变换)将时域音频变换到频域,在频域信号的频谱幅值或者相位角中嵌入水印信息,然后对嵌入了水印信息的频域信号进行ifft(inverse fast fourier transform,快速傅里叶反变换),重构时域音频,获得嵌入水印的音频。在提取水印时,同样将音频变换到频域,从而提取水印信息。由于现有的音频水印嵌入方法通常在频谱幅值或者相位角中嵌入水印,这会影响音频的音质,且容易遭受攻击,导致水印被破坏。因此现有的音频水印处理方法的鲁棒性和隐蔽性都较差。


技术实现要素:

4.针对上述技术问题,非常需要一种改进的方法,既能降低嵌入水印的能量,又能保证水印的准确提取,以获得更好的鲁棒性和隐蔽性。
5.一方面,本技术一实施例提供了一种音频水印处理方法,包括:
6.获得音频中各个音频帧分别对应的频域信号;
7.在所述各个音频帧对应的频域信号的虚部分量中嵌入水印信息;
8.对嵌入所述水印信息的频谱信号进行时域重构,得到包含水印信息的音频。
9.可选地,所述将各个目标频点所对应的元素值和各个目标频点对应的掩蔽阈值的乘积,确定为各个目标频点对应的幅值,具体包括:
10.将各个目标频点所对应的元素值、各个目标频点对应的掩蔽阈值的乘积和强度系数的乘积,确定为各个目标频点对应的幅值。
11.可选地,各个音频帧对应的门限值是根据所述音频帧对应的频域信号中各个频点的虚部分量中的最大值确定的。
12.可选地,所述获得音频中各个音频帧分别对应的频域信号,具体包括:
13.对音频中各个音频帧分别进行加窗的快速傅立叶变换,得到所述各个音频帧分别对应的频域信号,其中,每个频域信号中的余弦分量为虚部分量。
14.一方面,本技术一实施例提供了一种音频水印处理方法,包括:
15.获得已嵌入水印信息的音频中各个音频帧分别对应的频域信号;
16.从所述各个音频帧对应的频域信号的虚部分量中提取出所述水印信息。
17.可选地,所述从所述各个音频帧对应的频域信号的虚部分量中提取出所述水印信息,具体包括:
18.从所述各个音频帧对应的频域信号中提取出各个频点的虚部分量;
19.对所述各个音频帧对应的各个频点的虚部分量进行对数运算处理;
20.从经对数运算处理后的虚部分量中提取出水印信息。
21.可选地,所述水印信息为一个二进制序列,若每个音频帧中嵌入了所述水印信息中的一个数值,则所述从经对数运算处理后的虚部分量中提取出水印信息,具体包括:
22.分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,所述指定序列p在所述音频中嵌入所述水印信息时对所述水印信息进行扩频处理时使用的序列;
23.若检测判决量大于0,则确定在对应音频帧中嵌入的数值为0,否则确定在对应音频帧中嵌入的数值为1;
24.按所述各个音频帧在所述音频中的序位,顺序串联确定出的在所述各个音频帧中嵌入的数值,得到所述水印信息。
25.可选地,所述水印信息为一个二进制序列,若所述音频中相邻两个音频帧中嵌入了所述水印信息中的一个数值,则所述从经对数运算处理后的虚部分量中提取出水印信息,具体包括:
26.分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,所述指定序列p在所述音频中嵌入所述水印信息时对所述水印信息进行扩频处理时使用的序列;
27.若嵌入同一数值的相邻两个音频帧对应的检测判决量之间的差值大于0,则确定在所述相邻两个音频帧中嵌入的数值为0,否则确定在所述相邻两个音频帧中嵌入的数值为1;
28.按各对相邻两个音频帧在所述音频中的序位,顺序串联确定出的在各对相邻两个音频帧中嵌入的数值,得到所述水印信息。
29.一方面,本技术一实施例提供了一种音频水印处理装置,包括:
30.第一转换模块,用于获得音频中各个音频帧分别对应的频域信号;
31.水印嵌入模块,用于在所述各个音频帧对应的频域信号的虚部分量中嵌入水印信息;
32.时域重构模块,用于对嵌入所述水印信息的频谱信号进行时域重构,得到包含水印信息的音频。
33.可选地,所述水印嵌入模块,具体用于通过以下方式在所述各个音频帧中的任一音频帧中嵌入所述水印信息:
34.根据所述任一音频帧在所述各个音频帧中所处的序位,获取在待嵌入序列中处于对应序位的待嵌入信息,其中,所述待嵌入序列包括根据所述水印信息确定的多个待嵌入信息;
35.将所述任一音频帧对应的频域信号中虚部分量的绝对值小于门限值的频点确定为目标频点;
36.在各个目标频点的虚部分量中嵌入所述任一音频帧对应的待嵌入信息。
37.可选地,所述水印信息为一个二进制序列,所述水印嵌入模块还用于通过如下方式,根据所述水印信息确定所述待嵌入序列:
38.根据指定序列p,对所述水印信息中每个序位的数值进行扩频处理,得到所述待嵌入序列;
39.其中,水印信息中的数值0扩频后得到一个待嵌入信息 p,水印信息中的数值1扩频后得到一个待嵌入信息-p;或者,水印信息中的数值0扩频后得到两个待嵌入信息 p和-p,水印信息中的数值1扩频后得到两个待嵌入信息-p和 p。
40.可选地,所述水印嵌入模块,具体用于:
41.根据各个目标频点在所述频域信号中的排序,确定各个目标频点在所述任一音频帧对应的待嵌入信息中所对应的元素值;
42.根据各个目标频点所对应的元素值,在各个目标频点的虚部分量上分别加上对应的幅值。
43.可选地,所述水印嵌入模块,还用于将所述音频的各个音频帧分别输入心理声学模型,获得各个音频帧对应的频域信号中的每个目标频点对应的掩蔽阈值;
44.所述水印嵌入模块,具体用于:
45.将各个目标频点所对应的元素值和各个目标频点对应的掩蔽阈值的乘积,确定为各个目标频点对应的幅值;
46.在各个目标频点的虚部分量上分别加上对应的幅值。
47.可选地,所述水印嵌入模块,具体用于:将各个目标频点所对应的元素值、各个目标频点对应的掩蔽阈值的乘积和强度系数的乘积,确定为各个目标频点对应的幅值。
48.可选地,各个音频帧对应的门限值是根据所述音频帧对应的频域信号中各个频点的虚部分量中的最大值确定的。
49.可选地,所述第一转换模块,具体用于:对音频中各个音频帧分别进行加窗的快速傅立叶变换,得到所述各个音频帧分别对应的频域信号,其中,每个频域信号中的余弦分量为虚部分量。
50.一方面,本技术一实施例提供了一种音频水印处理装置,包括:
51.第二转换模块,用于获得包含水印信息的音频中各个音频帧分别对应的频域信号;
52.水印提取模块,用于从所述各个音频帧对应的频域信号的虚部分量中提取出所述水印信息。
53.可选地,所述水印提取模块,具体用于:
54.从所述各个音频帧对应的频域信号中提取出各个频点的虚部分量;
55.对所述各个音频帧对应的各个频点的虚部分量进行对数运算处理;
56.从经对数运算处理后的虚部分量中提取出水印信息。
57.可选地,所述水印信息为一个二进制序列,若每个音频帧中嵌入了所述水印信息中的一个数值,则所述水印提取模块,具体用于:
58.分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,所述指定序列p在所述音频中嵌入所述水印信息时对所述水印信息进行扩频处理时使用的序列;
59.若检测判决量大于0,则确定在对应音频帧中嵌入的数值为0,否则确定在对应音频帧中嵌入的数值为1;
60.按所述各个音频帧在所述音频中的序位,顺序串联确定出的在所述各个音频帧中嵌入的数值,得到所述水印信息。
61.可选地,所述水印信息为一个二进制序列,若所述音频中相邻两个音频帧中嵌入了所述水印信息中的一个数值,则所述水印提取模块,具体用于:
62.分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,所述指定序列p在所述音频中嵌入所述水印信息时对所述水印信息进行扩频处理时使用的序列;
63.若嵌入同一数值的相邻两个音频帧对应的检测判决量之间的差值大于0,则确定在所述相邻两个音频帧中嵌入的数值为0,否则确定在所述相邻两个音频帧中嵌入的数值为1;
64.按各对相邻两个音频帧在所述音频中的序位,顺序串联确定出的在各对相邻两个音频帧中嵌入的数值,得到所述水印信息。
65.一方面,本技术一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
66.一方面,本技术一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
67.一方面,本技术一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
68.本技术实施例提供的音频水印处理方法、装置、电子设备及存储介质,只在音频对应的频谱信号的虚部分量中嵌入水印信息,对实部分量不做水印嵌入,由于对音频进行的各种处理大多只针对音频频谱的实部分量进行,很少对音频频谱的虚部分量进行处理,因此实部分量容易遭受各种数字攻击,而虚部分量受到的攻击很少,因此在虚部分量中嵌入水印信息,可以有效抵御多种数字攻击,从而准确提取出水印信息。此外,由于虚部分量一般比实部分量小很多,因此嵌入水印的总能量很小,用户很难察觉到嵌入水印前后音频的差异,保证了嵌入水印后音频的音质。因此,本技术提供的音频水印处理方法,既能保证添加水印后音频的音质,又能保证水印的准确提取,能够获得更好的鲁棒性和隐蔽性。
附图说明
69.通过参考附图阅读下文的详细描述,本技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本技术的若干实施方式,其中:
70.图1为本技术实施例提供的音频水印处理方法的应用场景示意图;
71.图2为本技术一实施例提供的音频水印处理方法的流程示意图;
72.图3为本技术一实施例提供的在一个音频帧中嵌入水印信息的流程示意图;
73.图4为本技术一实施例提供的音频水印处理方法的流程示意图;
74.图5为本技术一实施例提供的提取水印信息的流程示意图;
75.图6为本技术一实施例提供的提取水印信息的流程示意图;
76.图7为本技术一实施例提供的提取水印信息的流程示意图;
77.图8为本技术一实施例提供的测试过程中使用嵌入音频中的水印图案和从音频中提取出的水印图案;
78.图9为本技术一实施例提供的测试过程中使用的原始音频和嵌入图8所示的水印图案后的音频的波形图;
79.图10为本技术一实施例提供的音频水印处理装置的结构示意图;
80.图11为本技术一实施例提供的音频水印处理装置的结构示意图;
81.图12为本技术一实施例提供的电子设备的结构示意图。
具体实施方式
82.下面将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本技术,而并非以任何方式限制本技术的范围。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
83.本领域技术人员知道,本技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本技术可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
84.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
85.为了方便理解,下面对本技术实施例中涉及的名词进行解释:
86.音频水印(audio watermarking):一种信息隐藏技术,即将数字水印信息嵌入到音频当中,且对音质无太大影响,或是人耳察觉不到影响。一旦音频经过非法传输和拷贝,则能够在样本音频中提取到水印信息,以明确版权的拥有者,惩罚侵权行为。
87.隐蔽性(imperceptibility):又称不可感知性,反映了人耳多大程度上能察觉水印产生的音质变化。
88.鲁棒性(robustness):反映了嵌入水印后的音频,经过传输和拷贝过程中的攻击后,能准确提取水印信息的能力。
89.信息速率:即1s的音频能嵌入多少比特水印信息。
90.盲提取(blind extracting):不借助原始音频,仅有样本音频,即可提取水印信息。
91.变换域:将时域信号等价变换到的其他域,常见的有离散傅里叶变换(dft,discrete fourier transform)域(频域)、离散余弦变换(dct,discrete cosine transform)域、离散小波变换(dwt,discrete wavelet transformation)域。
92.快速傅里叶变换:是离散傅里叶变换dft的一种快速算法,工程上一般将fft作为dft的一种实现,ifft是fft的反变换,即将频域信号变回时域。
93.扩频(spread spectrum):最早用于无线通信,而在音频水印系统中,是将单一比特调制到一个伪随机序列(pn sequence)上,该序列具有良好的自相关特性,即使音频在传输过程中受到多种攻击,也能准确提取水印信息。扩频水印是业界公认最稳健的水印系统之一。
94.宿主信号干扰(host signal interference):是基于扩频的音频水印系统中的固有干扰。由于水印信息是盲提取,且采用相关检测的方式,扩频水印和音频信号本身的相关性不能得知,所以音频本身也被当做噪声。
95.掩蔽阈值:英文masking threshold,对音频的修改只要低于掩蔽阈值,就可以认为人耳无法感知。掩蔽阈值由心理声学模型计算得到。
96.心理声学模型:即psychoacoustic model,最早用于感知音频编码。在水印系统中,可以获取到各频点的掩蔽阈值,用来确定各频点的嵌入能量上限,以保证音质变化在人耳不可查觉的范围内。大多数音频水印算法都或多或少利用了该模型的原理。
97.下面参考本技术的若干代表性实施方式,详细阐释本技术的原理和精神。
98.发明概述
99.本技术的发明人发现,现有的音频水印嵌入方法通常在音频频谱的频谱幅值或者相位角中嵌入水印,这会影响音频的音质,且容易遭受攻击,导致水印被破坏。因此现有的音频水印处理方法的鲁棒性和隐蔽性都较差。
100.为了解决上述问题,本技术提供了一种音频水印处理方法,只在音频对应的频谱信号的虚部分量中嵌入水印信息,对实部分量不做水印嵌入,具体包括:获得音频中各个音频帧分别对应的频域信号;在各个音频帧对应的频域信号的虚部分量中嵌入水印信息;对嵌入水印信息的频谱信号进行时域重构,得到包含水印信息的音频。由于对音频进行的各种处理大多只针对音频频谱的实部分量进行,很少对音频频谱的虚部分量进行处理,因此实部分量容易遭受各种数字攻击,而虚部分量受到的攻击很少,因此在虚部分量中嵌入水印信息,可以有效抵御多种数字攻击,从而准确提取出水印信息。此外,由于虚部分量一般比实部分量小很多,因此嵌入水印的总能量很小,用户很难察觉到嵌入水印前后音频的差异,保证了嵌入水印后音频的音质。因此,本技术提供的音频水印处理方法,既能保证添加水印后音频的音质,又能保证水印的准确提取,能够获得更好的鲁棒性和隐蔽性。
101.在介绍了本技术的基本原理之后,下面具体介绍本技术的各种非限制性实施方式。
102.应用场景总览
103.参考图1,其为本技术实施例提供的音频水印处理方法的应用场景示意图。该应用场景包括水印嵌入装置101、服务器102和水印提取装置103。其中,水印嵌入装置101、水印提取装置103和服务器102之间通过有线或无线的通信网络连接。水印嵌入装置101具备在音频中添加水印信息的功能,水印提取装置103具备从音频中提取水印信息的功能,水印嵌入装置101和水印提取装置103可以是两个独立的装置,也可以集成在同一装置,即同一装置同时具备添加水印和提取水印的功能。水印嵌入装置101和水印提取装置103可以是独立的实体装置,也可以是安装在终端设备内的应用程序。服务器102用于向用户提供收听音频、下载音频或上传音频等服务,服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。用户通过水印嵌入装置101在音频中水印信息,然后再将嵌入水印信息的音频发送到网络平台对应的服务器102,以发布嵌入水印信息的音频。其他用户可收听、下载在网络平台上发布的音频。当需要对音频进行溯源或验证音频的版权时,用户可通过水印提取装置103从音频中提取出水印信息,以证明其拥有该音频的版权。
104.示例性方法
105.下面结合图1的应用场景,来描述根据本技术示例性实施方式的音频水印处理方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
106.参考图2,本技术实施例提供了的一种音频水印处理方法,可应用于图1所示的水印嵌入装置101,具体可包括以下步骤:
107.s201、获得音频中各个音频帧分别对应的频域信号。
108.其中,一个音频帧的长度可根据实际应用需求设定,例如,一个音频帧的长度可以是10毫秒、25毫秒等。
109.具体实施时,为了防止频谱泄漏,可对音频中各个音频帧分别进行加窗的快速傅立叶变换,得到各个音频帧分别对应的频域信号,其中,每个频域信号中的余弦分量为虚部分量。其中,进行快速傅里叶变换时使用的窗口大小可根据实际应用场景确定,本技术实施例不作限定。
110.假设一个音频帧对应的时域信号为x,通过加窗的快速傅立叶变换后,得到的频域信号为x,具体的变换公式为:其中,h[k]是窗函数,x[n]为频域信号x中的一个频点,一共存在n个频点,余弦分量为频点x[n]的实部分量,正弦分量为频点x[n]的虚部分量。
[0111]
s202、在各个音频帧对应的频域信号的虚部分量中嵌入水印信息。
[0112]
具体实施时,嵌入音频的水印信息为一个二进制序列,如:00111010。根据指定序列p,对水印信息中每个序位的数值进行扩频处理,得到待嵌入序列,其中,指定序列p是由一个固定的key(密钥)生成的一个二进制序列。具体的扩频方法可以是:将水印信息中的数值“0”扩频为 p,将水印信息中的数值“1”扩频为-p,例如,对水印信息“00111010”进行扩频后得到的待嵌入序列为{ p, p,-p,-p,-p, p,-p, p},待嵌入序列中的每个 p或-p为水印信息中的一个比特位所对应的待嵌入信息。当然,具体的扩频方法也可以是:将水印信息中的数值“0”扩频为-p,将水印信息中的数值“1”扩频为 p,本技术实施例不作限定。
[0113]
然后,针对各个音频帧中的任一音频帧,根据该音频帧在各个音频帧中所处的序位,获取在待嵌入序列中处于对应序位的待嵌入信息,将获取的待嵌入信息添加到该音频帧对应的频域信号的虚部分量中,其中,待嵌入序列包括根据水印信息确定的多个待嵌入信息。具体地,可通过如下公式在频域信号的虚部分量中嵌入水印信息:y.im=x.im
±
p,其中,x.im为虚部分量,y为嵌入了水印信息的频域信号,y.im为嵌入了水印信息的频域信号的虚部分量。
[0114]
具体实施时,假设音频一共有m个音频帧,水印信息包含n个比特位,则各个音频帧和待嵌入序列中各个序位的待嵌入信息的对应关系可以是:第1一个音频帧对应待嵌入序列中的第1个待嵌入信息,第2个音频帧对应待嵌入序列中的第2个待嵌入信息,
……
第n个音频帧对应待嵌入序列中的第n个待嵌入信息,第n 1个音频帧对应待嵌入序列中的第1个待嵌入信息,第n 2个音频帧对应待嵌入序列中的第2个待嵌入信息,
……
第2n个音频帧对
应待嵌入序列中的第n个待嵌入信息,以此类推,直至确定出最后一个音频帧(即第m个音频帧)对应的比特位。当然,也可以是只在zn个音频帧中嵌入水印信息,其中z≥1,zn≤m。
[0115]
进一步地,为了提高水印的保密性,在信息速率要求不苛刻的情况下,可先对水印信息进行加密或编码,然后对加密或编码后的水印信息进行扩频处理,然后将扩频后的水印信息嵌入到频域信号的虚部分量中。需要说明的是,加密后的水印信息依然为一个二进制序列,本技术对加密方法不作限定,例如可采用两倍的重复码,将原始水印信息中的一个比特位的数值“0转换为“00”,数值“1”装换为“11”,或者使用其他的信道编码方法。在提取水印信息时,对从虚部分量中提取的信息进行相应的解密或解码,即可得到原始的水印信息。
[0116]
s203、对嵌入水印信息的频谱信号进行时域重构,得到包含水印信息的音频。
[0117]
具体实施时,对嵌入水印信息的频谱信号(包括实部分量和虚部分量)进行ifft,获得各个音频帧对应的时域信号,基于各个音频帧获得完整的嵌入水印信息的音频。
[0118]
本技术实施例提供的音频水印处理方法,只在音频对应的频谱信号的虚部分量中嵌入水印信息,对实部分量不做水印嵌入,可以有效抵御多种数字攻击(如压缩编码、重采样、da/ad转换),提高提取水印信息的准确率,且由于虚部分量一般比实部分量小很多,因此嵌入水印的总能量很小,用户很难察觉到嵌入水印前后音频的差异,保证了嵌入水印后音频的音质。因此,本技术提供的音频水印处理方法,既能保证添加水印后音频的音质,又能保证水印的准确提取,能够获得更好的鲁棒性和隐蔽性。
[0119]
为了进一步提高嵌入音频中的水印信息的隐蔽性以及音频的保真度,针对虚部分量设定了一个门限值,仅对虚部分量的绝对值大于该门限值的频点进行水印嵌入操作,以降低嵌入的水印信息的总能量。为此,参考图3,可通过以下步骤在音频的各个音频帧中的任一音频帧中嵌入水印信息:
[0120]
s301、根据该音频帧在各个音频帧中所处的序位,获取在待嵌入序列中处于对应序位的待嵌入信息,其中,待嵌入序列包括根据水印信息确定的多个待嵌入信息。
[0121]
具体实施时,可根据指定序列p,对水印信息中每个序位的数值进行扩频处理,得到待嵌入序列。
[0122]
在一种可能的实施方式中,可在一个音频帧中嵌入水印信息中的一个比特位。此时,扩频处理的方法可以是:将水印信息中的一个比特位的数值扩频为一个待嵌入信息 p或-p。例如,水印信息中的一个数值0扩频后得到一个待嵌入信息 p,水印信息中的数值1扩频后得到一个待嵌入信息-p;或者,水印信息中的一个数值1扩频后得到一个待嵌入信息 p,水印信息中的数值0扩频后得到一个待嵌入信息-p。
[0123]
在另一种可能的实施方式中,可在相邻的两个音频帧中嵌入水印信息中的一个比特位。此时,扩频处理的方法可以是:将水印信息中的一个比特位的数值扩频为两个符号相反的指定序列,即一个比特位的数值扩频成两个待嵌入信息。例如,水印信息中的数值0扩频后得到两个待嵌入信息 p和-p,水印信息中的数值1扩频后得到两个待嵌入信息-p和 p,例如,对水印信息“00111010”进行扩频后得到的待嵌入序列为{ p,-p, p,-p,-p, p,-p, p,-p, p, p,-p,-p, p, p,-p}。或者,水印信息中的数值1扩频后得到两个待嵌入信息 p和-p,水印信息中的数值0扩频后得到两个待嵌入信息-p和 p。这样在提取水印信息时,可根据相邻两个音频帧确定水印信息中的一个比特位的数值,具体地,可根据从中相邻两个
音频帧中提取出的待嵌入信息进行作差处理,来降低宿主信号干扰对水印提取结果的影响,提高水印的抗干扰能力。具体的水印提取方法将在后续详细介绍。
[0124]
s302、将该音频帧对应的频域信号中虚部分量的绝对值小于门限值的频点确定为目标频点。
[0125]
在一种可能的实施方式中,各个音频帧分别对应的门限值是根据该音频帧对应的频域信号中各个频点的虚部分量中的最大值确定的。例如,某一音频帧的频域信号中的虚部分量的最大值为m
i
,则该音频帧对应的门限值β=a
·
m
i
,其中a为大于0且小于1的数值,例如a可以是0.1~0.8之间的数值,筛选掉能量较高的频点,以保证在能量较小的频点中嵌入水印信息,从而降低嵌入的水印信息的总能量。
[0126]
例如,若频点x[n]为的虚部分量的绝对值则确定频点x[n]为需要嵌入水印信息的目标频点,否则不需要在该频点中嵌入水印信息。
[0127]
在另一种可能的实施方式中,针对每个音频帧,还可以统计该音频帧中各个频点的虚部分量的绝对值的分布情况,根据分布情况确定门限值。例如,可按虚部分量的绝对值从小到大的顺序统计百分位数,将第q个百分位数对应的数值确定为门限值,当q=80时,即前80%的频点会被确定为目标频点。
[0128]
s303、在各个目标频点的虚部分量中嵌入该音频帧对应的待嵌入信息。
[0129]
通过图3所示的方法,仅在频域幅值低于门限值的频点中嵌入水印信息,可进一步降低嵌入的总能量,保证了音频的音质,同时提高水印信息的隐蔽性和抗干扰能力。
[0130]
具体实施时,步骤s303具体包括:根据各个目标频点在频域信号中的排序,确定各个目标频点在待嵌入信息中对应的元素值;根据各个目标频点对应的元素值,在各个目标频点的虚部分量上分别加上对应的幅值。
[0131]
进一步地,本技术实施例的方法还包括如下步骤:将音频的各个音频帧分别输入心理声学模型,获得各个音频帧对应的频域信号中的每个频点对应的掩蔽阈值。相应地,步骤s303中,根据各个目标频点对应的元素值,在各个目标频点的虚部分量上分别加上对应的幅值,具体包括:将各个目标频点对应的元素值和各个目标频点对应的掩蔽阈值的乘积,确定为各个目标频点对应的幅值;在各个目标频点的虚部分量上分别加上对应的幅值。其中,通过心理声学模型计算出的遮蔽阈值作为可嵌入水印能量的上限值,控制嵌入的水印总能量。
[0132]
具体地,可通过如下公式在频域信号的虚部分量中嵌入水印信息:y.im=x.im
±
p
·
m,其中,x.im为目标频点的虚部分量,y为嵌入了水印信息的频域信号,y.im为嵌入了水印信息的频域信号的虚部分量,m为各个目标频点分别对应的掩蔽阈值组成的向量,m可确定在虚部分量上增加的幅值,即嵌入的水印能量的上限。
[0133]
进一步地,步骤s303中,将各个目标频点在待嵌入信息中对应的元素值和各个目标频点对应的掩蔽阈值的乘积,确定为各个目标频点对应的幅值,具体包括:将各个目标频点对应的元素值、各个目标频点对应的掩蔽阈值的乘积和强度系数的乘积,确定为各个目标频点对应的幅值。
[0134]
具体地,可通过如下公式在频域信号的虚部分量中嵌入水印信息:y.im=x.im
±
αp
·
m,其中,x.im为目标频点的虚部分量,y为嵌入了水印信息的频域信号,y.im为嵌入了水
印信息的频域信号的虚部分量,m为各个目标频点分别对应的掩蔽阈值组成的向量,α为一个强度系数,用于调整总体的嵌入能量。
[0135]
参考图4,本技术实施例提供了的一种音频水印处理方法,可应用于图1所示的水印提取装置103,具体可包括以下步骤:
[0136]
s401、获得已嵌入水印信息的音频中各个音频帧分别对应的频域信号。
[0137]
其中,对已嵌入水印信息的音频的分帧处理方法可参考嵌入水印信息时的处理方法,不再赘述。
[0138]
具体实施时,为了防止频谱泄漏,可对已嵌入水印信息的音频中各个音频帧分别进行加窗的快速傅立叶变换,得到各个音频帧分别对应的频域信号,其中,每个频域信号中的余弦分量为虚部分量。具体地实施方式可参考嵌入水印信息时的处理方法,不再赘述。
[0139]
s402、从各个音频帧对应的频域信号的虚部分量中提取出水印信息。
[0140]
本技术实施例提供的音频水印处理方法,只在音频对应的频谱信号的虚部分量中嵌入水印信息,因此可以有效抵御多种数字攻击,提高了提取水印信息的准确率。
[0141]
具体实施时,参考图5,步骤s402具体包括:
[0142]
s501、从各个音频帧对应的频域信号中提取出各个频点的虚部分量。
[0143]
s502、对各个音频帧对应的各个频点的虚部分量进行对数运算处理。
[0144]
s503、从经对数运算处理后的虚部分量中提取出水印信息。
[0145]
假设已嵌入水印信息的音频中各个音频帧的频域信号s=y n,其中y是嵌入了水印的音频,n是音频y在传输环境中由数字攻击、压缩重采样等产生的频域噪声,对虚部分量s.im进行对数运算处理:s.im(db)=10
·
log(s.im)。然后,从s.im(db)中提取出水印信息。
[0146]
图5所示的方法,在提取水印时,利用对数函数的性质将频点尺度化到对数域,将虚部分量中绝对值较低的频点拉到较低的位置,同时水印的能量也被拉宽,以提高水印提取的准确率,保证鲁棒性。
[0147]
在上述任一实施方式的基础上,参考图6,若嵌入水印时采用的扩频方法为:在一个音频帧中嵌入水印信息中的一个比特位的数值,则可通过如下方式提取水印信息:
[0148]
s601、分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,指定序列p在音频中嵌入水印信息时对水印信息进行扩频处理时使用的序列。
[0149]
s602、若检测判决量大于0,则确定在对应音频帧中嵌入的数值为0,否则确定在对应音频帧中嵌入的数值为1。
[0150]
s603、按各个音频帧在音频中的序位,顺序串联确定出的在各个音频帧中嵌入的数值,得到水印信息。
[0151]
具体实施时,使用嵌入水印信息时的key指定序列p,将经对数运算处理后的虚部分量s.im(db)和指定序列p做内积运算,得到一个相关峰值作为检测判决量r=s.im(db)
·
p。若嵌入水印信息时采用的扩频方法为:水印信息中的一个数值0扩频后得到一个待嵌入信息 p,水印信息中的数值1扩频后得到一个待嵌入信息-p,则当r>0时,在对应音频帧中嵌入的数值为0,否则在对应音频帧中嵌入的数值为1。若嵌入水印信息时采用的扩频方法为:水印信息中的一个数值1扩频后得到一个待嵌入信息 p,水印信息中的数值0扩频后得到一个待嵌入信息-p,则当r>0时,在对应音频帧中嵌入的数值为1,否则在对应音频帧中嵌入的
数值为0。
[0152]
在上述任一实施方式的基础上,参考图7,若嵌入水印时采用的扩频方法为:在相邻的两个音频帧中分别嵌入水印信息中的一个比特位所对应的符号相反的两个指定序列p,则可通过如下方式提取水印信息:
[0153]
s701、分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,指定序列p在音频中嵌入水印信息时对水印信息进行扩频处理时使用的序列。
[0154]
s702、若嵌入同一数值的相邻两个音频帧对应的检测判决量之间的差值大于0,则确定在相邻两个音频帧中嵌入的数值为0,否则确定在相邻两个音频帧中嵌入的数值为1。
[0155]
s703、按各对相邻两个音频帧在音频中的序位,顺序串联确定出的在各对相邻两个音频帧中嵌入的数值,得到水印信息。
[0156]
假设检测判决量r=s.im(db)
·
p=(x.im(db)
±
αp
·
m n)
·
p,其中n是扩频系统中固有的宿主信号干扰,可利用音频的短时平稳性对宿主信号干扰进行抑制。如果在嵌入水印信息时,相邻两个音频帧嵌入了符号相反的指定序列p,即嵌入水印信息时采用的扩频方式为:将水印信息中的数值“0”扩频为 p和-p,将水印信息中的数值“1”扩频为-p和 p,或者将水印比特“1”扩频为 p和-p,将水印比特“0”扩频为-p和 p,则在提取水印时,对相邻两个音频帧的检测判决量r作差,差值为r’=(δx.im(db)
±
αp
·
m’ δn)
·
p。由于相邻音频帧能在短时间内保持一定的平稳性,因此δx是一个很小的值,同样δx.im(db)也是一个很小的值,且δx.im(db)的分布随机性较强,和指定序列p的相关性较差,从统计意义上认为δx.im(db)和p内积运算结果近似为零,因此,r’可以近似为(αp
·
m’ δn)
·
p。
[0157]
当将水印信息中的数值“0”扩频为 p和-p,将水印信息中的数值“1”扩频为-p和 p时,若在相邻两个音频帧嵌入的是数值“0”,则相邻两个音频帧的检测判决量r的差值为:
[0158]
r’=(x[1].im(db) αp
·
m1 n1)
·
p-(x[2].im(db)-αp
·
m2 n2)
·
p
[0159]
ꢀꢀ
=(δx.im(db) 2αp
·
m’ δn)
·
p,
[0160]
其中,r’可以近似为(2αp
·
m’ δn)
·
p,由于δn近似为零,因此,r’>0。即当r’>0时,可确定在相邻两个音频帧中嵌入的数值为0。即当r’>0时,可确定在相邻两个音频帧中嵌入的数值为0。
[0161]
同样的,当将水印信息中的数值“1”扩频为-p和 p,将水印信息中的数值“1”扩频为 p和-p时,若在相邻两个音频帧嵌入的是数值“1”,则相邻两个音频帧的检测判决量r的差值为:
[0162]
r’=(x[1].im(db)-αp
·
m1 n1)
·
p-(x[2].im(db) αp
·
m2 n2)
·
p
[0163]
ꢀꢀ
=(δx.im(db)-2αp
·
m’ δn)
·
p,
[0164]
其中,r’可以近似为(-2αp
·
m’ δn)
·
p,由于δn近似为零,因此,r’<0。即当r’<0时,可确定在相邻两个音频帧中嵌入的数值为1。
[0165]
通过在相邻两个音频帧中分别嵌入水印信息中的一个比特位所对应的符号相反的两个指定序列p的方法,可提高水印信息的抗干扰能力,以提高水印提取准确率。
[0166]
下面是针对本技术实施例提供的音频水印处理方法进行测试的结果。
[0167]
在一段采样率为44.1khz的音频中嵌入了图8中左侧的水印图案,通过调整强度系数α,使得嵌入水印后的音频的能量和水印信息的能量之比约为45db,人耳几乎无法感知到
添加水印前后的差异。图9中上方的图为原始音频的波形图,图9中下方的图为嵌入水印后的音频的波形图,从波形上看不出明显差异,因此,本技术实施例提供的音频水印处理方法,可提高嵌入的水印信息的隐蔽性,保证嵌入水印后的音频音质。
[0168]
在一段采样率为44.1khz的音频中嵌入了图8中左侧的水印图案,经过96kbps码率的aac(advanced audio coding,高级音频编码)压缩后,通过本技术实施例提供的音频水印处理方法从压缩后的音频中提取出水印信息,基于提取出的水印信息得到图8中右侧的水印图案,提取准确率高于90%。音频经过32khz重采样后,提取准确率同样可高于95%。音频经过da/ad转换后,提取准确率高于98%。
[0169]
示例性设备
[0170]
在介绍了本技术示例性实施方式的方法之后,接下来对本技术示例性实施方式的音频水印处理装置进行介绍。
[0171]
如图10所示,为本技术实施例提供的音频水印处理装置的结构示意图。在一个实施例中,音频水印处理装置100包括:第一转换模块1001、水印嵌入模块1002和时域重构模块1003。
[0172]
第一转换模块1001,用于获得音频中各个音频帧分别对应的频域信号;
[0173]
水印嵌入模块1002,用于在各个音频帧对应的频域信号的虚部分量中嵌入水印信息;
[0174]
时域重构模块1003,用于对嵌入水印信息的频谱信号进行时域重构,得到包含水印信息的音频。
[0175]
可选地,水印嵌入模块1002,具体用于通过以下方式在各个音频帧中的任一音频帧中嵌入水印信息:
[0176]
根据任一音频帧在各个音频帧中所处的序位,获取在待嵌入序列中处于对应序位的待嵌入信息,其中,待嵌入序列包括根据水印信息确定的多个待嵌入信息;
[0177]
将任一音频帧对应的频域信号中虚部分量的绝对值小于门限值的频点确定为目标频点;
[0178]
在各个目标频点的虚部分量中嵌入任一音频帧对应的待嵌入信息。
[0179]
可选地,水印信息为一个二进制序列,水印嵌入模块1002还用于通过如下方式,根据水印信息确定待嵌入序列:根据指定序列p,对水印信息中每个序位的数值进行扩频处理,得到待嵌入序列;其中,水印信息中的数值0扩频后得到一个待嵌入信息 p,水印信息中的数值1扩频后得到一个待嵌入信息-p;或者,水印信息中的数值0扩频后得到两个待嵌入信息 p和-p,水印信息中的数值1扩频后得到两个待嵌入信息-p和 p。
[0180]
可选地,水印嵌入模块1002,具体用于:
[0181]
根据各个目标频点在频域信号中的排序,确定各个目标频点在任一音频帧对应的待嵌入信息中所对应的元素值;
[0182]
根据各个目标频点所对应的元素值,在各个目标频点的虚部分量上分别加上对应的幅值。
[0183]
可选地,水印嵌入模块1002,还用于将音频的各个音频帧分别输入心理声学模型,获得各个音频帧对应的频域信号中的每个目标频点对应的掩蔽阈值;
[0184]
水印嵌入模块1002具体用于:将各个目标频点所对应的元素值和各个目标频点对
应的掩蔽阈值的乘积,确定为各个目标频点对应的幅值;在各个目标频点的虚部分量上分别加上对应的幅值。
[0185]
可选地,水印嵌入模块1002,具体用于:将各个目标频点所对应的元素值、各个目标频点对应的掩蔽阈值的乘积和强度系数的乘积,确定为各个目标频点对应的幅值。
[0186]
可选地,各个音频帧对应的门限值是根据音频帧对应的频域信号中各个频点的虚部分量中的最大值确定的。
[0187]
可选地,第一转换模块1001,具体用于:对音频中各个音频帧分别进行加窗的快速傅立叶变换,得到各个音频帧分别对应的频域信号,其中,每个频域信号中的余弦分量为虚部分量。
[0188]
如图11所示,为本技术实施例提供的音频水印处理装置的结构示意图。在一个实施例中,音频水印处理装置110包括:第二转换模块1101和水印提取模块1102。
[0189]
第二转换模块1101,用于获得包含水印信息的音频中各个音频帧分别对应的频域信号;
[0190]
水印提取模块1102,用于从各个音频帧对应的频域信号的虚部分量中提取出水印信息。
[0191]
可选地,水印提取模块1102,具体用于:
[0192]
从各个音频帧对应的频域信号中提取出各个频点的虚部分量;
[0193]
对各个音频帧对应的各个频点的虚部分量进行对数运算处理;
[0194]
从经对数运算处理后的虚部分量中提取出水印信息。
[0195]
可选地,水印信息为一个二进制序列,若每个音频帧中嵌入了水印信息中的一个数值,则水印提取模块1102,具体用于:
[0196]
分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,指定序列p在音频中嵌入水印信息时对水印信息进行扩频处理时使用的序列;
[0197]
若检测判决量大于0,则确定在对应音频帧中嵌入的数值为0,否则确定在对应音频帧中嵌入的数值为1;
[0198]
按各个音频帧在音频中的序位,顺序串联确定出的在各个音频帧中嵌入的数值,得到水印信息。
[0199]
可选地,水印信息为一个二进制序列,若音频中相邻两个音频帧中嵌入了水印信息中的一个数值,则水印提取模块1102,具体用于:
[0200]
分别计算各个音频帧对应的经对数运算处理后的虚部分量和指定序列p的内积,得到各个音频帧对应的检测判决量,其中,指定序列p在音频中嵌入水印信息时对水印信息进行扩频处理时使用的序列;
[0201]
若嵌入同一数值的相邻两个音频帧对应的检测判决量之间的差值大于0,则确定在相邻两个音频帧中嵌入的数值为0,否则确定在相邻两个音频帧中嵌入的数值为1;
[0202]
按各对相邻两个音频帧在音频中的序位,顺序串联确定出的在各对相邻两个音频帧中嵌入的数值,得到水印信息。
[0203]
本技术实施例提供的音频水印处理装置,与上述音频水印处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
[0204]
基于与上述音频水印处理方法相同的发明构思,本技术实施例还提供了一种电子设备,该电子设备具体可以为图1中的终端设备或服务器等。如图12所示,该电子设备120可以包括处理器1201和存储器1202。
[0205]
处理器1201可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0206]
存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0207]
示例性程序产品
[0208]
本技术实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行本技术任一示例性实施方式中的音频水印处理方法的程序。
[0209]
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0210]
在一些可能的实施方式中,本技术的各个方面还可以实现为一种计算机程序产品,其包括程序代码,当该计算机程序产品在服务器设备上运行时,该计算机程序产品用于使所述服务器设备执行本说明书上述“示例性方法”部分中描述的根据本技术各种示例性实施方式的音频水印处理方法中的步骤。
[0211]
所述计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0212]
根据本技术的实施方式的用于即时通信应用的计算机程序产品,其可以采用便携
式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在服务器设备上运行。然而,本技术的程序产品不限于此,在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0213]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0214]
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0215]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0216]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0217]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0218]
虽然已经参考若干具体实施方式描述了本技术的精神和原理,但是应该理解,本技术并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本技术旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜