APP下载

基于循环码的LWT-DCT半脆弱音频水印算法

2018-08-28杨志疆

铁道学报 2018年8期
关键词:鲁棒性音频分量

杨志疆

(漳州职业技术学院 计算机工程系,福建 漳州 363000)

音频水印[1-2]是指先在数字音频中嵌入水印信息,然后通过提取的水印信息来保护音频的版权或判定音频内容的完整性与真实性。它在音乐作品的拷贝限制、使用跟踪、盗版确认及广播分析等领域有着广泛的应用。根据音频水印的特性可以划分为鲁棒性水印、脆弱性水印和半脆弱性水印,前两种水印是目前研究最多的技术,但通常只能实现单一功能,这使得它们渐渐不能满足人们的实际应用需求。而半脆弱水印兼具有鲁棒性水印和脆弱性水印的特性,即水印对一般的音频信号处理具有稳定性,可实现版权保护功能,同时对音频内容的篡改操作具有脆弱性,可实现内容认证功能,因此引起学术界的关注。文献[3]基于听觉掩蔽特性和音频自身特性,自适应划分音频数据段和调整嵌入强度,实现半脆弱水印的嵌入,但只能大致确定篡改发生区域。文献[4]提取音频的MFCC系数作为水印,然后在小波域中采用均值量化嵌入水印,但水印在音频常规处理中的鲁棒性不够强。文献[5]针对水印假同步率高的问题,提出基于KMP半脆弱音频水印,对篡改区域的定位较精确,但文中缺少水印的鲁棒性检测相关数据。针对以上问题,本文提出一种半脆弱音频水印新方案:首先,对二值水印图降维,并进行两次混沌加密,根据循环码的编码原则进行编码,生成水印编码信息;其次,根据原水印图的行数分别对水印编码信息和音频载体分帧;利用提升小波变换对每一帧音频进行分解,并对低频分量进行DCT变换;最后,通过量化系数的方法把同帧的水印编码信息嵌入到DCT中频系数中。仿真实验证明,本方案的水印具有较好的不可听性,在加噪、重采样、重量化等音频信号处理中具有强鲁棒性,而对替换、剪切等恶意篡改,水印能精确定位被篡改的位置。

1 算法的主要技术与原理

1.1 循环编码

数字音频水印技术可视为信道抗干扰的通信过程[6],其中,音频载体为信道,各种有意或无意的攻击为干扰信号,水印为信道中要传递的信息,水印的嵌入过程相当于发送信息的过程,水印的提取过程相当于接收信息的过程;而基于信道的纠错编码方式很多,其中循环码[7]的检错纠错能力强,码率较高,易于用反馈式移位寄存器实现编码,所以被广泛应用于数据存储和数据通信等领域。循环码是一种重要的线性分组码,它把所保护的数据块看作一个二进制多项式,即多项式的所有系数都为0或1。由于本算法采用的水印是二值图像,水印二进制位串符合多项式系数的特征,因此,本文把水印看作循环码要保护的信息,利用循环码来提高水印的抗干扰能力和可靠性。循环码的应用原理主要遵循以下过程:

假设要保护的数据信息多项式为M(x),发送方和接收方预先约定的生成多项式G(x)的阶为r,信息码字为n位。

(1)编码过程

步骤1将r个“0”附加在信息码字的低端,即循环左移r位,相应多项式变为xrM(x),长度为n+r位。

步骤3将xrM(x)的位串与余数R(x)的位串进行异或运算,得编码信息T(x),即T(x)=xrM(x)⊕R(x),⊕为异或运算。

(2)解码过程

步骤1接收方收到发来的编码信息T′(x)后,除以同一个生成多项式G(x),若余数R′(x)=0,则表示接收到信息正确,否则有错。

步骤2把收到的正确编码信息T′(x)去掉尾部r位,即得数据信息M(x)。

(3)纠错过程

如果收到的信息T′(x)不能被G(x)整除,则T(x)≠T′(x),传输出错。假设T′(x)=T(x)⊕E(x),其中,E(x)是错误矢量,则T′(x)/G(x)=(T(x)⊕E(x))/G(x)。由于T(x)%G(x)=0,所以(T(x)⊕E(x))/G(x)=E(x)/G(x)。若E(x)≠0,则传输出错,因此通过在接收方检测T′(x)HT是否为0来检查是否出错,H为一致校验矩阵。

定义:S=T′(x)HT为伴随式。则有

S=T′(x)HT=(T(x)⊕E(x))HT

=T(x)HT⊕E(x)HT=E(x)HT

由此可见伴随式只与错误矢量有关,与发送的码字无关。若E(x)=0,则S=0,表明正确;否则S≠0,表明有误。伴随式与E(x)有一个对应关系,通过这个对应关系,由伴随式S得到E(x),再将接收的码字T′(x)与E(x)相加,就可得到纠错后的正确编码信息。

1.2 LWT-DCT变换

提升小波变换[8]LWT是由Swelden提出的一种不依赖Fourier变换的新的小波构造方法,称为第二代小波变换。提升方法给出了双正交小波简单而有效的构造方法,使用了基本的多项式插补来获取信号的高频分量,通过构建尺度函数来获取信号的低频分量,其复杂度只有原来卷积方法的一半左右,因此成为计算离散小波变换的主流方法,在信号处理领域有着广泛的应用。一般在Matlab中使用提升小波变换的主要步骤是:先用小波函数获取相应的提升小波方案;然后设置原始的提升步骤,并且把提升步骤添加到提升方案中;最后应用提升方案对向量进行提升小波分解。

提升小波变换同第一代小波变换类似,对原音频信号进行一级小波分解后,将得到一级的低频分量cA1和一个高频分量cD1,如果继续对低频分量cA1再次分解,将得到新的二级的低频分量cA2和一个高频分量cD2,因此,经过多级提升小波分解得到的低频分量cAn的能量最大,在信号处理中是最具有鲁棒性的,是水印嵌入的理想选择。由于DCT变换具有很强的聚能特性,信号经过DCT变换后将把能量集中在低频和中频系数上,但低频系数的改变容易造成信号的降质。基于以上分析,本文选择音频信号多级LWT-DCT变换的中频系数作为水印的嵌入对象,来保证水印的稳定性。

1.3 混沌加密

混沌序列具有非周期性不收敛、强依赖于初始条件的特点,即不同的μ和X0迭代得到的混沌序列一定不同,反之,给定一样的μ和X0,将得到相同的混沌序列,因此本文利用混沌序列的特性来为水印加密,并且通过两次不同初始条件的混沌序列来加密,确保了水印的安全性。

1.4 自适应量化思想

2 半脆弱水印算法

2.1 水印的嵌入过程

记原始音频载体信号为A={a(i),i=1,2,…,L},L为音频总采样点数,二值水印图像为W={W(i,j),1≤i≤M,1≤j≤N},其中,W(i,j)∈(0,1)为水印第i行、第j列的像素值;M为像素点行数;N为像素点列数。

嵌入过程为:

( 1 )

步骤3反复进行步骤2的各项操作,直到所有帧的水印编码信息嵌入结束,再重新组合各帧新的音频信号,最终得到含水印音频。水印的整个嵌入过程如图1所示。

图1 水印的嵌入过程

2.2 水印提取过程

步骤1将待测音频载体分为M帧,对各帧音频系数进行以下操作:

( 2 )

步骤3由两组密钥产生与嵌入过程中同样的两个混沌序列,把步骤2得到的矩阵降为一维,并分别与混沌序列进行异或运算,解密后再将所得序列升维为[MN]矩阵,恢复出水印图像W′。水印的提取过程如图2所示。

图2 水印的提取过程

2.3 篡改检测过程

步骤1定义一个矩阵V,用来保存受篡改水印信息。

V(i,j)=W(i,j)⊕W′(i,j)

( 3 )

式中:⊕为异或运算;W′为提取的水印矩阵;W为原水印矩阵。

步骤2定义一个数组SS={ss(i),i=1,2,…,M},用来保存矩阵V中各帧的统计结果。设置适当的阈值F来消除一般音频处理的虚警检测,当ss(i)≤F,表示该帧未受损,否则遭受篡改,并可通过数组SS来确定音频受篡改的帧号。

步骤3通过统计ss(i)>F的个数计算受篡改帧数,并计算篡改比例。

( 4 )

3 仿真实验结果分析

为验证本算法的有效性,仿真实验在Windows 10操作系统下MATLAB软件环境中进行,音频载体为PCM 44.100 kHz、16位、单声道,长度为 10.54 s;二值水印图的大小为32×32;提升小波方案采用Haar小波函数;提升步骤设置为{'p',[-0.125 0.125],0};LWT分解级数为2;阈值F为3。

3.1 不可听性

图3是水印编码信息嵌入音频载体前后的波形对比,两个波形在直观上几乎一样,误差很小,求得音频的信噪比SNR为30.300 6。而在听觉上,因为人类听觉系统的局限性,难以分辨出前后音频载体的不同,说明本音频水印算法的不可听性较好。

图3 原始音频与含水印音频的比较

3.2 安全性

水印的作用是对多媒体信息的保护,如果水印缺少安全性,那么水印的作用将无从谈起。图4是水印经过两次加密和编码后的结果,图像已变的杂乱无章,无法直接获得任何有用信息,同时,混沌加密也降低水印中像素点之间原有相关性,有利于水印的嵌入操作。

图4 水印加密及编码结果

3.3 鲁棒性

原水印与提取水印的归一化互相关系数NC和误码率BER是评价水印提取效果的常用依据,若测得NC=1、BER=0,则水印提取效果最好,反之,若测得NC=0、BER=1,则水印提取效果最差。水印图像的提取效果可由人眼直接分辨。表1是待测音频在各种常见攻击后水印提取的效果,以及同文献[10] 、文献[11]提取结果的比较。可以看出水印在各种常见的信号攻击后,提取效果仍然较好,说明本水印算法在LWT-DCT域中利用循环码进行差错控制,提高了水印的鲁棒性,而且通过比较可得出本水印算法在抵抗低通滤波、噪声干扰、重新采样等方面有明显的优势。

表1 水印鲁棒性的检测与比较

表1(续)

3.4 篡改定位

在半脆弱水印算法中,篡改定位是水印的一个重要功能。图5是常规低通滤波的检测结果,虽然音频的SNR很低,但未检测到恶意篡改。图6是仿随机替换三大段采样点的定位结果,图7和图8为仿随机剪切样点的定位结果,可见本水印算法可准确定位样点替换或剪切等恶意篡改的位置,并能给出篡改帧数、帧号及篡改程度的提示。

图5 常规低通滤波的检测结果

图6 仿随机替换三大段采样点的定位结果

图7 仿随机剪切样点的定位结果(1)

图8 仿随机剪切样点的定位结果(2)

4 结束语

为提升半脆弱音频水印的性能,本算法在水印嵌入前,利用混沌加密的方法为水印信息进行两次加密,保证水印安全性和可靠性,同时,采用循环码对水印信息进行编码,抵抗各种信号干扰,保护水印信息。在嵌入时,通过设置提升方案,获取LWT最高级的低频分量进行DCT变换,选择中频系数进行自适应量化嵌入水印编码信息,从而保证水印的鲁棒性和盲检测性。仿真实验表明,水印在叠加噪声、重新采样、重新量化、Mp3有损压缩、低通滤波等常见攻击处理中稳定性强,而且在遭受恶意篡改时,能准确定位,并统计与提示篡改信息。由于本文引入(7,4)循环码对水印进行嵌入前的编码,使得信息嵌入量为原水印信息量的1.75倍,算法也为此多开支了编码时间和信息嵌入时间,嵌入信息的时间复杂度增加了将近一倍,这将影响到水印的不可听性及水印容量,因此,今后将进一步研究算法效率与信道编码的纠错能力,从而增强水印的实用性。

猜你喜欢

鲁棒性音频分量
武汉轨道交通重点车站识别及网络鲁棒性研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
基于确定性指标的弦支结构鲁棒性评价
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
论《哈姆雷特》中良心的分量
音频分析仪中低失真音频信号的发生方法
一种基于三维小波变换的鲁棒视频水印方案