随着互联网的不断发展,多媒体技术随之发展迅速,利用音频水印能够实现对音频文件的版权保护、信息标注、内容认证等,但现有音频水印的主要制约因素是难以在透明性、鲁棒性和嵌入容量之间进行权衡[1].音频水印通过选择合适的嵌入位置和嵌入方法,能够有效地平衡数字水印的嵌入容量、透明性和鲁棒性,并能够实现对音频水印的优化.目前,音频水印技术主要基于离散小波变换(DWT)、离散余弦变换(DCT)、奇异值分解(SVD)、熵、快速傅里叶变换频谱等技术取得了众多研究成果[2-14].如文献[2]通过修改DCT系数对数均值特征实现水印嵌入.文献[4]采用DCT和SVD实现了鲁棒、高度微感知的音频水印.文献[7]采用基于DWT中近似系数范数比的水印算法,嵌入容量较高.文献[9]采用基于DWT/DCT和子采样的混合盲语音水印算法,提高了鲁棒性.文献[11]基于DWT的多分辨率特性和DCT的能量压缩能力提出一种具有较强透明性和鲁棒性的音频水印算法.文献[12]和文献[14]对语音的小波域进行DCT后的能量自适应的嵌入水印,嵌入容量高,鲁棒性较强.综上分析可见:现有鲁棒音频水印方法大多都是基于DCT,DWT和DFT等变换域进行水印嵌入,未很好地解决嵌入容量、透明性、鲁棒性三者相互制衡的问题.这里以音频检索为出发点,将提取的音频指纹作为水印信息对语音文件进行标注,为了权衡鲁棒性、透明性和嵌入容量三者之间的关系,给出了一种基于双树复小波变换(DT-CWT)和SVD的鲁棒音频水印算法,在保证嵌入容量和透明性的同时,有效地提高了水印的鲁棒性,并可对音频文件进行信息标注.1 预备知识1.1 双树复小波变换(DT-CWT)DT-CWT[15]通过两个并列的低通滤波器组和高通滤波器组对语音进行DWT变换,将其分解为两棵离散小波树,实现实部和虚部的并行计算.DT-CWT在具备其多分辨率等特性的同时,克服了DWT平移敏感性和频率混叠的问题.图1为二级DT-CWT的分解及重构过程.10.13245/j.hust.210905.F001图1二级DT-CWT的分解与重构过程如图1所示,h0和h1分别为实部的低通、高通滤波器,g0和g1分别为虚部的低通、高通滤波器,↑2和↓2为隔点采样,其中di(k)和cj(k)为实部或虚部的细节分量系数和近似分量系数,i为分解级数、j为最大分解级数.设所分解的两棵离散小波树分别为Ψh(t)和Ψg(t),则DT-CWT的定义为ψ(t)=ψh(t)+jψg(t).(1)1.2 奇异值分解(SVD)SVD[3-4]通过提取矩阵的对角特征值来实现数据降维、多媒体文件的降噪等.将水印信息嵌入到变换域的奇异值中,能够有效地提高水印算法的鲁棒性,其计算公式为B=USVT=[u1,u2,⋯,um]diag[λ1,λ2,⋯,λn][v1,v2,⋯,vn]T, (2)式中:B为m×n的矩阵,左奇异矩阵U={u1,u2,…,um}和右奇异矩阵V={v1,v2,…,vn}分别为m×m和n×n的正交矩阵,奇异值矩阵S对角线上不全为0的元素即奇异值,其能够体现矩阵B的大部分信息,其中第一个奇异值λ1对B的影响尤为明显.2 提出的鲁棒水印算法图2为提出的鲁棒音频水印算法处理流程.该算法将语音文件的音频指纹作为音频水印进行信息标注,并利用基于能量的嵌入位置选择对水印算法10.13245/j.hust.210905.F002图2鲁棒音频水印算法处理流程进行优化.本文算法主要适用于须要进行高效的水印嵌入、且要求水印综合性能均较为优秀、而不要求某种指标突出的应用环境.2.1 水印嵌入算法2.1.1 音频指纹构建(水印生成)为了降低数据量并保证音频指纹的鲁棒性,将12维MFCC特征矩阵中的1,3,10,11,12维特征构建特征矩阵,该5维包含原始音频特征67%以上的信息量.通过基于能量的特征降维对特征矩阵进行降维并构建音频指纹.处理步骤如下所示.步骤1 特征提取.语音采样率为16 kHz,设帧长为32 ms、帧移为10 ms、窗函数为汉明窗,提取原始语音的12维MFCC特征Mfcc=(M1,M2,…,M12),选择第1,3,10,11,12维特征构建特征矩阵Mfcc'=(M1,M3,M10,M11,M12).步骤2 分段并计算对数能量.将语音信号分成n1帧,将分帧后的信号平均分为四段、每段帧数为z1,计算每帧信号的频域信号XH(k),然后采用计算每帧的对数能量,具体为E(i)=ln1+b-1∑k=0l-1XH2(k)    (1≤H≤z1-19),(3)式中:k=0,1,…,l-1,l为每帧帧长;H为采样点;b为常数.步骤3 构建特征矩阵.对比每段信号[f1,fz1-19]的对数能量确定能量最高的帧fmax,[fmax,fmax+19]即为每段提取特征的帧,构建n1×1的空矩阵T1,提取特征的位置置1,其余位置置0,得到特征选择矩阵T1'.将特征矩阵Mfcc'与T1'相乘,并将矩阵中不为0的维数构建特征矩阵Mfcc″.步骤4 构建音频指纹.将Mfcc″通过h(p)q=1     (Mfcc(p)q″Mfcc(p-1)q″);0      (Mfcc(p)q″≤Mfcc(p-1)q″)进行阈值判断构建音频指纹h=(h1,h2,…,h5),式中:p=1,2,…,80;q=1,2,…,5.将大小为80×5的音频指纹h的每列进行转置,重新构造为400×1的音频指纹h'=(h1T,h2T,…,h5T).步骤5 水印生成.利用步骤4得到的音频指纹h'构建大小为1 200×1的水印w=(h',h',h'),并将水印w重构为600×2的水印ww=(w1;w2).2.1.2 嵌入位置选择通过基于能量的嵌入位置选择确定水印嵌入位置,在保证嵌入容量的同时,有效提高透明性和对大多数内容保持操作的鲁棒性,处理步骤如下.步骤1 预处理.将原始语音进行不重叠分帧,帧长为128、窗函数为汉明窗,分成n2帧;步骤2 分段并计算对数能量.将分帧后的信号均分为5段、每段帧数为z2,按式(3)计算每段的对数能量和,比较五段语音对数能量和大小,确定三段能量较高的语音段和两段能量较低的语音段;步骤3 确定低能量语音段的水印嵌入位置.对比该段信号[f31',fz2-29']的对数能量确定能量最高的帧fmax',[fmax-30',fmax+29']即为该段的水印嵌入位置;步骤4 确定高能量语音段的水印嵌入位置.对比该段信号[f51',fz2-49']的对数能量确定能量最高的帧fmax″,将[fmax-50″,fmax+49″]作为该段的水印嵌入位置.之后将剩下的帧组成新的语音段,对新的语音段按照步骤3的方法确定60个帧,将160个帧作为该段语音的水印嵌入位置;步骤5 水印嵌入位置整理.将600个水印嵌入帧确定后,按照2.1.1节中步骤3的方法构建n2×1的水印嵌入位置矩阵T2'.2.1.3 水印嵌入语音经过DT-CWT后,在高频分量进行水印嵌入有更好的鲁棒性,但对语音的透明性影响较大,而水印嵌入位置选择算法与SVD能够一定程度上弥补透明性的不足.水印嵌入步骤如下所示.步骤1 DT-CWT变换.将原始语音按照2.1.1节中步骤1的方法进行分帧,通过步骤5的水印嵌入位置矩阵T2'确定水印嵌入位置,取每帧信号进行4级DT-CWT,实部和虚部分别分解为高频分量一级分解DR1,DI1,二级分解DR2,DI2,三级分解DR3,DI3,四级分解DR4,DI4,低频分量CR,CI.步骤2 SVD分解.将DT-CWT的细节分量DR4均匀地分成N段,将分段后的细节分量按照N/2分为前半段和后半段,对N段细节分量进行SVD得到矩阵[U1,S1,V1],[U2,S2,V2],…,[UN,SN,VN].步骤3 奇异值量化.将奇异值S1(1,1), S2(1,1),…,SN(1,1)按照c=floor(S(1,1)/a)进行量化,其中:量化步长a=0.08;c为量化值;floor表示向下取整函数.步骤4 水印嵌入.根据水印ww对量化值按照c'=c     (c为偶数,w=0;c为奇数,w=1);c+1     (c为奇数,w=0;c为偶数,w=1)进行修改,将w1和w2分别嵌入到前半段和后半段细节分量的奇异值矩阵中,w为水印的信息.步骤5 奇异值重构.通过修改后的量化值c'重构每段细节分量的奇异值矩阵S',具体为S'(1,1)=c'a+0.5a.步骤6 细节分量重构.将奇异值矩阵S'与U,V按照DR4'=U×S'×VT重构每段细节分量DR4'.将DR4'按照DR4″=2(DR4'-DR4)+DR4重构为含水印的细节分量DR4″.步骤7 语音重构.将重构的实部细节分量DR4″与其他分量通过DT-CWT逆变换重构含水印的语音帧,将所有帧按照步骤1~7进行水印信息的嵌入,得到含水印的语音,即完成对语音文件的信息标注.2.2 水印提取算法步骤1 预处理.按照2.1.2节计算水印嵌入位置,之后按照2.1.3节中步骤1和步骤2计算每个含水印帧的奇异值S1'(1,1),S2'(1,1),⋯,SN'(1,1).步骤2 水印提取.对奇异值S'按照§2.1.3中的步骤3计算量化值c',通过c'为偶数     (w=0);c'为奇数      (w=1)分别提取前半段与后半段细节分量的水印w1'和w2',将提取的水印ww'=(w1';w2')重构为水印w'=(w11',w22',w33').步骤3 确定水印信息.将w11',w22',w33'水印分别两两按照D(wn,wm)=wn(i)-wm(i)/M进行归一化汉明距离度量d12,d23和d13,式中M为水印长度,通过比较三组度量值,选择其中两组较小的度量值dnm和dun确定水印wn'.步骤4 水印优化.将水印wn'与其他两组水印wu'和wm'进行异或,构建位置矩阵Pun和Pnm,将Pun,Pnm取交集构建水印优化矩阵Pn,通过Pn对水印wn'相应位置进行修改(即将该位置的0和1互换),优化后的水印wn″即为代表该段语音的音频指纹.3 实验结果与性能分析实验所用语音是THCHS-30语音库中的语音,该语音库语音为16 kHz、采样精度为16 bit、单通道wav格式.硬件环境:Intel(R) Core(TM) i5-7300HQ CPU,2.50 GHz,内存8 GiB.软件环境:Windows 10,Matlab R2017a,Gold Wave 6.47,格式工厂4.10.5.3.1 嵌入容量和透明性分析嵌入容量(embedding capacity,Cap)是衡量音频水印算法指标之一,国际唱片业协会(International Federation of the Phonographic Industry,IFPI)规定鲁棒音频水印算法的嵌入容量应高于20 bit/s.本文算法的嵌入容量与音频载体的低能量音频段和高能量音频段数量p1和p2、两种音频段的水印嵌入帧数N1和N2、语音长度L、细节分量分段数N、双树复小波分解级数r等参数有关,嵌入容量计算公式为Cap=(p1N1+p2N2)N/L.在水印嵌入时细节分量分段数N分别设为2和4,当N为2时,方案为低容量,嵌入容量较低,但透明性较高,且对各种攻击有较高的鲁棒性;当N为4时,方案在鲁棒性和嵌入容量之间形成一个权衡,通过降低一定的透明性和鲁棒性,有效地提高了嵌入容量.在透明性分析方面,选择能够直观、准确地反映含水印语音听觉质量变化程度的信噪比(signal-to-noise ratio,SNR)、感知语音质量评估(perceptual evaluation of speech quality,PESQ)对含水印语音进行质量评价,PESQ是客观平均意见得分值的评价方法,取值范围为-1~4.5.当PESQ3.5时,含水印语音的音频质量较好,IFPI规定音频水印的SNR应高于20 dB,其计算公式为αSNR=10lg∑l=1Lx2(l)/∑l=1L(x(l)-y(l))2,式中:L为原始语音长度;l为采样点;x为原始语音;y为含水印语音.表1为本文算法与文献[5]、文献[7]、文献[11]、文献[12]、文献[13]和文献[14]的嵌入容量和透明性对比.10.13245/j.hust.210905.T001表1与现有算法的嵌入容量和透明性比较算法Cap/(bit·s-1)SNR/dBPESQ无攻击BER/%文献[5]86.2025.103.9020文献[7]86.2022.303.8360文献[11]172.2723.213.8800.11文献[12]172.2724.593.7970文献[13]86.2027.804.0670文献[14]86.2026.303.9660本文N=260.0031.544.1460N=4120.0023.653.8940由表1可知:本文算法当N=2时,虽然嵌入容量Cap不如文献[11]和文献[12],但SNR和PESQ优于所有对比文献,而当N=4时,其SNR和PESQ优于文献[7]、文献[11],与文献[12]相接近,虽不如文献[5]、文献[13]、文献[14],但Cap是文献[5]、文献[13]、文献[14]的1.5倍.这主要由于提出的水印位置选择算法能够在保证一定嵌入容量的同时,实现较高的透明性,但并未针对高嵌入容量进行优化,而是权衡各种指标.且本文算法在N分别为2和4时,SNR均高于IFPI所规定的鲁棒音频水印的SNR指标,且PESQ指标分别为4.146,3.894均高于3.5,说明本文算法的透明性较高.且水印的嵌入容量皆高于IFPI所规定的鲁棒音频水印的嵌入容量,能够满足对语音文件进行信息标注的实际需要.为了进一步验证本文算法的透明性性能,图3对比了原始语音与含水印语音的波形图,其横坐标为时间,纵坐标为语音波形幅值随时间的变化,其中波形的幅值无单位.从图3可以看出:嵌入水印后语音波形变化较小,即本文算法透明性较好,对载体语音影响较小.10.13245/j.hust.210905.F003图3原始语音与含水印语音的波形图对比3.2 鲁棒性分析为了更好地测试鲁棒性,对载体语音进行:MP3压缩(128 kbit/s,MP3)、截止频率为4 kHz的低通滤波(BW)、重量化(16 bit→8 bit→16 bit,R.Q)、重采样(16 kHz→8 kHz→16 kHz,R.S)、幅度缩放0.8和1.2(A↓和A↑)、添加回声(衰减5%、时长分别为10 ms和50 ms,E1和E5)和添加20,30和35 dB窄带高斯噪声(G20,G30,G35)等内容保持操作,通过误码率(βBER)来衡量鲁棒性,βBER越小则鲁棒性越好,IFPI规定鲁棒水印在对语音内容保持操作时所提取的水印βBER应低于20%.表2为本文算法与现有文献算法的对比结果,具体为βBER=M-1∑i=1M(w1″(i)⊕w2″(i)),(14)式中w1″和w2″为原始水印和提取到的水印.由表2可知:本文算法在重采样、重量化、添加高斯白噪声等5种内容保持操作后,鲁棒性均优于文献[5]、文献[7]、文献[11]、文献[12]、文献[13]、文献[14].在MP3压缩后鲁棒性与文献[5]、文献[7]、文献[11]、文献[12]、文献[13]和文献[14]相近似.在低通滤波后,优于文献[5]、文献[7]、文献[13]和文献[14],略低于文献[11]、文献[12].在添加回声后,略低于文献[11]和文献[12],高于文献[5].本文算法在某些处理后鲁棒性近似甚至优于对比文献的主要原因是能量特征对于这几种操作都具有较高的鲁棒性,且DT-CWT能够反映原本信号的更多细节信息,在其高频实部分量进行水印嵌入能够进一步提高鲁棒性.而在幅值缩放后,高于文献[7]和文献[14],低于文献[5]、文献[11]、文献[12]和文献[13],这是因为本文基于能量选择水印嵌入位置,而能量对于幅值缩放方面鲁棒性较差,导致水印提取与水印嵌入位置不符,使提取的水印信息错误,故本文算法在幅值缩放处理后鲁棒性一般.本文算法在各种内容保持操作下的水印βBER均低于IFPI所规定的βBER,所以本文算法有较好的鲁棒性.10.13245/j.hust.210905.T002表2本文算法与现有算法的鲁棒性比较操作本文文献[5]文献[7]文献[11]文献[12]文献[13]文献[14]N=2N=4R.S0004.760 00.1901.2604.76R.Q00—00.340.14——MP30.060.160.020.270 00.2100.1150.35BW2.463.435.0627.580 00.190.0127.53027.58G35000—0.850.05——G30000—1.600.16——G200.290.201910.390 64.731.88——E10.982.18101—0.220——E50.571.50——0.230——A↓11.69.314.6828.550 00.1901.44024.54A↑13.5712.771.0831.220 00.1900.96038.72将原始语音的音频指纹作为水印信息,为了更全面地反映本文算法的鲁棒性对检索性能的影响,通过查全率R=[fT/(fT+fL)]×100%和查准率P=[fT/(fT+fF)]×100%来衡量语音受到11种内容保持操作后音频指纹的检索性能,其中:fT为检索到的相关语音;fL为未检索到的相关语音;fF为检索到的不相关语音.设定相似性阈值0.35≤T≤0.4,并通过归一化汉明距离进行匹配检索.表3为本文算法分段数N分别为2和4时在经过11种内容保持操作后的音频指纹的检索性能.10.13245/j.hust.210905.T003表3内容保持操作后音频指纹的检索性能操作RPN=2N=4N=2N=4R.S100100100100R.Q100100100100MP3100100100100BW100100100100G35100100100100G30100100100100G20100100100100E1100100100100E5100100100100A↓92.798.898.999.9A↑85.2091.6097.6099.89%由表3可知:当相似性阈值T为0.35时,含有水印信息的载体语音在受到各种内容保持攻击后,提取的音频水印查全率和查准率均较高,能够实现较为精确地检索,说明本文算法具有较强的鲁棒性.3.3 运行效率分析在语音库中随机选出1 000条长度为20 s的语音,计算平均计算时间(包括水印嵌入和提取时间).表4为本文算法与现有算法的对比结果.由表4可知:本文算法运行效率优于文献[5]、文献[7]、文献[11]、文献[12]和文献[13],虽然略低于文献[14],但本文载体语音时长是文献[14]的近两倍.相较于其他嵌入位置算法,本文算法通过能量确定水印嵌入位置,且通过量化在DT-CWT域细节分量的奇异值矩阵中进行水印嵌入的方法实现较为简单,极大地降低了水印嵌入时间.10.13245/j.hust.210905.T004表4本文算法与现有算法的运行效率比较水印算法载体语音时长平均计算时间文献[5]11.61.962 0文献[7]11.62.110 0文献[11]60.047.145 7文献[12]60.050.099 2文献[13]11.62.771 0文献[14]11.61.827 0本文N=220.01.921 0N=420.01.836 6s4 结论提出了一种基于DT-CWT和SVD的鲁棒音频水印算法.该算法利用DT-CWT相较于小波变换和小波包变换的优势、以及SVD在水印嵌入方面的优势,采用基于能量的位置选择方法确定嵌入位置,通过量化的方法进行鲁棒水印的嵌入.实验结果表明:该算法在保证嵌入容量和透明性的同时,可有效地提高音频水印的鲁棒性,且具有较高的运行效率.另外,含水印语音在经过多种内容保持操作后所提取的音频指纹仍具有较高的查全率和查准率,可满足对原始语音进行信息标注的实际需求.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读