基于声道低频能量比的MP3压缩域音频水印算法

2018-10-16 02:56:16王可鑫田丽华
计算机应用 2018年8期
关键词:声道码率频带

李 晨,王可鑫,田丽华

(西安交通大学 软件学院,西安 710049)(*通信作者电子邮箱lhtian@mail.xjtu.edu.cn)

0 引言

随着网络和多媒体技术的发展,音频文件的传播变得更加便利,显然,音频版权信息的保护也就显得愈发重要[1]。为防止音频被盗用以及音频原创者的合法权益受到侵害,数字音频水印技术开始发展[2]。

近年来,运动图像专家组压缩标准音频层面3(Moving Picture experts group audio layer Ⅲ, MP3)格式音频以其压缩比高、传播方便等优点逐渐替代无损音频成为目前应用最为广泛的一种音频格式[3]。而目前的音频水印算法却大多应用于无损格式音频如波形声音文件(WAVe audio files,WAV)格式,若将此类针对非压缩格式音频的算法直接应用于MP3,则其水印嵌入过程需要将MP3音频解压缩至WAV格式,才能通过相应算法实现水印的嵌入,之后还需要重新进行MP3压缩才能得到最终含有水印信息的MP3音频文件。同理,在进行水印提取时,需要将待提取水印的MP3音频解码至WAV格式后,对此WAV格式音频进行操作才能进行水印提取,必然要多耗费一段时间。可见,将针对非压缩格式的音频水印直接应用于MP3音频会导致水印方法变得非常繁琐且效率不高,即此种方式下的水印嵌入和提取过程消耗的时间长,过程较为复杂。因此,基于MP3压缩域的音频水印逐渐开始成为音频水印领域的研究热点[4]。此类水印方式致力于在MP3压缩的过程中实现水印嵌入,也就是说,经初始压缩后得到的MP3音频文件即为含有水印的MP3音频,无需额外的水印嵌入过程[5],在得到MP3音频文件时就已经完成了水印嵌入。同理,在水印提取时,基于MP3压缩域的水印算法在MP3解压缩至WAV的过程中即可完成水印提取,无需对得到的WAV文件进行额外操作。相比直接将非压缩域水印算法应用于MP3音频而言,省去了很多额外的步骤和时间,水印嵌入和提取过程的执行更快速,因此效率更高,实用性更强。此处的效率主要是指水印嵌入提取过程的速度和复杂程度。

另外,由于MP3编码过程通过模拟人耳听觉系统的感知特性[6],将大多冗余信号去除,达到了很高的压缩率,故对MP3音频进行水印嵌入时音频可听性易受到影响;因此,如何保证鲁棒性与不可感知性间较好的平衡是目前基于MP3压缩域的音频水印面临的主要难点[7]。

至今为止,基于MP3压缩域的音频水印相对传统的非压缩域而言依然较少。文献[8]中提出的压缩域水印算法选取1~14的量化改进离散余弦变换(Modified Discrete Cosine Transform,MDCT)系数实现了水印嵌入,透明性较好且对于MP3压缩有一定的鲁棒性;但该方法对MP3重压缩鲁棒性较差,且对于低通滤波、白噪声等类型攻击的鲁棒性也不理想。文献[9-10]中提出了针对比例因子的水印算法,此类方法在MP3编码时的量化过程之后,以特定方式取得MP3帧内某些位置的比例因子,通过修改其二进制值的最低位实现水印嵌入,不可感知性良好,且能在MP3解码时提取出几乎完整的水印图像,但同样无法抵抗MP3重压缩的攻击。文献[11]中则提出了基于MDCT系数的水印算法,选取MP3编码时MDCT后前几个能量较大的比例因子频带,修改其内部最大的MDCT系数符号实现水印嵌入,虽能保证对MP3重压缩一定程度的鲁棒性,但对音频质量影响较大,透明性较差。

针对上述问题,结合低频能量具有较好稳定性的特点,本文提出了基于声道内低频能量的压缩域水印算法,以量化声道间低频能量比的方式嵌入水印,实现了对于MP3重压缩及多种类型攻击较好的鲁棒性;且算法根据比例因子频带能量的分布对水印嵌入频带进行了选择,保证了鲁棒性与透明性之间较好的平衡。

1 理论基础

1.1 声道备选频带的选取

MP3编码主要包括分析滤波器组、MDCT、量化编码。一般来说,MP3帧分为两个颗粒,每个颗粒由左右两个声道组成,各声道间独立编码[12]。且声道数据经MDCT后,会生成576个频率由低到高排列的频线值,即MDCT系数,并被分配至不同的比例因子频带。当采样率为44.1 kHz时,MDCT系数被划分至21个比例因子频带,由各频带对应的频率范围可知,前8个频带大致代表了频率小于1.5 kHz的低频部分。结合心理声学模型分析[13]得到,在MP3压缩过程中低频部分的信掩比(Signal-to-Mask Ratio,SMR)较高,失真程度较低,故其能量较为稳定[14]。经大量实验发现,此部分低频能量对攻击的鲁棒性良好,图1为某音频中某声道低于1.5 kHz部分的低频能量经过不同攻击后的变化情况。可见,绝大部分MP3帧的低频能量经不同攻击后基本无明显变化,可证明声道内低于1.5 kHz部分的低频能量对多种攻击的鲁棒性良好。因此本文选取声道内前8个比例因子频带作为水印嵌入的备选频带,利用该部分的低频能量实现水印信息的嵌入。

图1 不同攻击下声道内低于1.5 kHz部分的低频能量值

1.2 比例因子频带内能量的计算

MP3编码中,根据不同MDCT窗框划分的数据块长短,比例因子频带对应频线的划分略有差别[15]。由于一般情况下,绝大部分MP3帧均采用长块编码,故本文采用长块的划分方式计算频带内能量。长块比例因子频带中频线的划分方式如表1所示。

表1 44.1 kHz比例因子频带的频线划分(长块)

每个比例因子频带的能量由该频带包含的MDCT系数计算得到。计算方式如式(1)所示:

(1)

其中:Ei为第i个比例因子频带能量,xj为第j个MDCT系数,j=0,1,…,575,第i个比例因子频带的频线起始索引为starti,结束索引为endi,其值可由表1得到。

1.3 水印嵌入频带的选取

为保证水印鲁棒性与透明性之间的平衡,本文根据比例因子频带的能量占比从备选频带中选出水印嵌入频带。经大量实验发现,将8个备选频带按其能量由大到小排序后,在某些MP3帧中,最大的频带能量值会远远大于剩余7个频带的能量之和。这里给出三种不同类型音频某声道备选低频带中最大频带能量与剩余7个频带能量和之间的关系,如图2所示。因此,当备选低频带中最大的频带能量大于全部备选频带能量和的3/4时,若对能量最大频带内的系数进行修改,会对音频可听性造成较大影响,即在上述情况下,能量最大的比例因子频带不适合作为水印的嵌入频带;所以在此情况下就舍弃该频带,而只选取剩余的7个频带作为水印嵌入频带,否则选取全部8个备选频带进行嵌入。

为保证MP3帧颗粒内左右声道的变化一致,两个声道水印嵌入频带的选取应该一致。即选取嵌入频带时,将左右声道对应的备选频带能量分别相加,得到8个备选频带的颗粒内能量值,再按上述方法选择嵌入频带,其结果同时作为两个声道的嵌入频带。

图2 最大频带能量与剩余7个频带能量和的关系

2 水印的嵌入过程

水印的嵌入过程在MP3编码的MDCT之后、量化编码之前实现,编码完成之后即可直接得到含水印的MP3文件。水印嵌入的流程如图3所示。

图3 水印嵌入过程

1)预处理。对待嵌入的水印图像进行降维操作,若图像大小为M×N,则可转换成一维的二值水印序列W={W(i),1≤i≤M×N}。

2)嵌入帧的选择。为充分利用音频信息并使水印均匀分布,每隔P帧进行一次水印嵌入,因此在水印嵌入前需判断此帧是否为嵌入帧,若选择此帧进行水印嵌入,则进行后续步骤,否则直接执行后续编码过程。

3)比例因子频带的能量计算。由1.2节所述,分别计算声道内8个备选频带的能量。使用每帧颗粒1的左右声道嵌入水印,左声道的频带能量记为EBL(i),右声道记为EBR(i)(0≤i≤7)。通过式(2)将两个声道对应频带的能量相加,得到频带的颗粒内能量EB(i)。

EB(i)=EBL(i)+EBR(i)

(2)

5)左右声道低频能量的计算。根据得到的水印嵌入频带,分别将左、右声道内对应频带的能量相加作为相应声道内的低频能量,分别用EL和ER表示。

6)量化左右声道的低频能量比。左右声道的低频能量比值r=ER/EL,通过式(3)对r量化,r′为量化后的比值,q为量化步长,b为待嵌入水印比特数,round函数表示对变量进行四舍五入。

(3)

7)计算修正系数。通过式(4)、(5)求得修正系数d,用来实现声道嵌入频带内MDCT系数的调整。

(4)

d=(a-1)/(a+1)

(5)

8)调整左右声道的MDCT系数。利用式(6)、(7)分别对左、右声道中嵌入频带的MDCT系数进行调整。Li表示左声道需要调整的MDCT系数,Li′为调整后的值;同理,Ri表示右声道需要调整的MDCT系数,调整之后的值则用Ri′表示。嵌入频带内包含的MDCT系数可由表1得到。

Li′=Li×(1-d)

(6)

Ri′=Ri×(1+d)

(7)

系数调整完成后继续进行此帧的后续编码。当MP3编码完成后,即可得到含水印的MP3音频。

3 水印的提取过程

由于MP3解码为编码的逆过程,因此水印的提取在MP3解码的反改进离散余弦变换(Inverse Modified Discrete Cosine Transform, IMDCT)之前、反量化过程之后实现。水印提取流程如图4所示。

图4 水印提取过程

1)提取帧的选择。由于水印每P帧嵌入一次,因此在提取时需要判断此帧是否有水印嵌入。如果确定为提取帧,则进行后续水印提取步骤,否则继续执行MP3解码流程。

2)比例因子频带能量计算。利用反量化后得到的MDCT系数计算频带能量,并得到8个颗粒内频带能量值EB′(i)(0≤i≤7),具体过程与嵌入时相同。

3)提取水印频带的选择。将8个备选频带按EB′(i)由大到小排序,根据最大频带能量的占比决定提取频带,具体方法与水印嵌入过程相同。

4)左右声道低频能量的计算。将求得的水印提取频带的能量相加作为声道的低频能量,左声道低频能量表示为EL′,右声道低频能量为ER′。

5)水印的提取。声道间低频能量比R=ER′/EL′,提取的水印比特b可由式(8)得到,q为量化步长,mod函数表示取余数。提取完成后,继续进行此帧后续IMDCT等解码流程。

b=round(R/q) mod 2

(8)

6)升维。水印全部提取完成后,将得到的一维二值水印序列升维至二维,即可得到提取的水印图像。升维过程为水印嵌入预处理时降维的逆过程。

4 实验结果及分析

图5 原始水印图像

实验采用LAME 3.92作为MP3编解码器,并通过修改其源码完成相关测试。测试中均使用采样率44.1 kHz的时长为140 s的双声道音频,且对三种不同类型的音频进行了实验,三种音乐类型分别为流行乐、摇滚乐和古典乐。原始水印图像如图5所示,其大小为32×32。另外在水印嵌入和提取时q=0.4,P=3。

4.1 不可感知性测试

图6显示了某音频在添加水印之后与未添加水印时的时域波形图对比。可见,嵌入水印后的音频波形图几乎没有发生改变。

图6 水印嵌入前后的时域波形图对比

此外,本文采用国际电信联盟(International Telecommunication Union, ITU)推荐的主观听觉质量区分度(Subjective Difference Grade, SDG)对测试音频主观听觉质量的优劣进行了判断,SDG得分所代表的含义如表2所示。实验中,向20名随机人员分别提供了三种不同类型的经过128 kb/s码率编码含水印音频及相应原始音频进行听觉测试,由参与者的主观感受对音频按照SDG打分,并将每种类型音频得分的均值作为此类音频的测试结果。最终,实验结果显示,流行乐分值为-0.05,摇滚乐和古典乐的分值均为0。其中,由于音频测试结果几乎为0,可证明本文算法具有良好的主观不可感知性。

表2 SDG测评标准

为了进一步对不可感知性进行定量说明,实验分别求出了上述经128 kb/s码率编码的三种类型的音频在加入水印前后的信噪比(Signal-to-Noise Ratio,SNR)测试结果,如表3所示。由表3可以看出,嵌入水印前后的SNR无明显差别,且都大于国际唱片业协会(International Federation of the Phonographic Industry, IFPI)规定的高于20 dB的要求,可进一步说明本文算法具有较为理想的不可感知性。

表3 三种不同类型音频的信噪比

4.2 鲁棒性测试

本文采用归一化相关系数(Normalized Cross-Correlation,NC)及误码率(Bit Error Rate,BER)定量描述了算法的鲁棒性结果,实验分别对针对以下几种攻击进行了测试。

1)MP3压缩:以某种码率对原始音频进行MP3编码,并以同样的码率对得到的含水印MP3音频解码提取水印信息,此处的码率包括:128 kb/s、64 kb/s、192 kb/s。

2)高斯噪声:将128 kb/s的含水印MP3解码至WAV,添加25 dB高斯噪声后以同样码率重新编码至MP3,以同样码率解码即可提取水印。

3)低通滤波:将128 kb/s的含水印MP3解码至WAV,通过截止频率10 kHz的Butterworth低通滤波器后以同样码率重新编码至MP3,以128 kb/s码率解码即可提取水印。

4)重采样:将128 kb/s的含水印MP3解码至WAV,将其采样率转换为22 050 Hz,再转换为44 100 Hz并以同样码率重新编码至MP3,以同样码率解码即可提取水印。

5)MP3重压缩:将以128 kb/s码率编码得到的含水印MP3解码至WAV格式,对此WAV音频用与不同的码率重新编码得到MP3,再对此新得到的MP3音频以对应码率解码提取水印。重新编码的码率包括:64 kb/s、128 kb/s、192 kb/s。

由于MP3攻击对音频造成的信息损失主要出现在MP3编码的量化过程,而本文算法在量化过程前进行水印嵌入,因此在编码完成得到含水印的MP3音频时,该音频相当于已经经过了一次MP3压缩攻击,因此直接对得到的含水印MP3解码提取水印即可证明本文算法对于MP3压缩攻击的鲁棒性。而MP3重压缩攻击则是将含水印的音频文件以另外不同的码率重新编码,相当于施加了两次不同程度的MP3压缩攻击,破坏程度更大,更难保证其鲁棒性。

流行乐音频经过上述攻击后提取得到的水印图像结果如图7所示;三种不同类型音频经上述攻击后,水印的鲁棒性测试结果如表4所示。

图7 攻击后提取得到的水印图像

综上可见,提取到的水印图像清晰可辨,且NC值均在0.9以上,证明算法对多种攻击均有较好的鲁棒性,尤其是可以抵抗MP3重压缩的攻击。以128 kb/s码率编码得到的含水印MP3解码至WAV格式,对此WAV音频再以相同的码率重新编码得到MP3,对新得到的MP3音频以同样码率解码提取水印的效果如图7(b)的128 kb/s所示;以128 kb/s的含水

印MP3解码至WAV,再将其采样率转换为22 050 Hz,再转换为44 100 Hz,然后以同样码率重新编码至MP3,以同样码率解码提取水印的结果如图7(d)。可以看到这两者的效果差别不大,这是由于本文方法利用音频在频域内的能量分布实现水印嵌入,在下采样降低采样速率并恢复后虽然MDCT系数略有变化,但整体的能量分布没有变化,故在下采样恢复后还可以得到清晰可见的水印图像,进一步说明了本文算法的鲁棒性。

通过与文献[9]针对比例因子的水印算法对比得出,本文算法仅在MP3压缩攻击的鲁棒性上略低于文献[9]算法,而对其他类型攻击的鲁棒性均明显强于文献[9]算法。这是由于文献[9]算法的水印嵌入是在MP3编码的量化过程之后完成的,未经过信号损失过程,相当于直接修改得到的MP3码流;因此一旦音频重新压缩,比例因子重新确定,水印便会遭到严重破坏。本文算法利用低频能量实现水印嵌入,MP3压缩中失真程度较低;且低频能量由于携带了音频大多数信息,有较好的稳定性;故本文算法的鲁棒性良好,尤其解决了目前压缩域水印面临MP3重压缩攻击鲁棒性较差的问题。

表4 两种算法的鲁棒性测试结果

5 结语

本文提出了基于声道能量比的MP3压缩域水印方案,通过量化声道间的低频能量比实现了水印嵌入。方案的水印嵌入提取过程在MP3编解码的过程中完成,无需额外操作,效率相比传统音频水印算法有较大程度的提升。由于采用低频能量,方案具有较好的鲁棒性,可以抵抗多种类型的攻击,且对于MP3重压缩攻击鲁棒性效果也较为理想。同时,通过对水印嵌入频带的筛选保证了鲁棒性与不可感知性较好的平衡,解决了目前MP3压缩域水印算法面临的主要难题。另外,本文在频带的选取以及MP3帧选取等细节上还存在进一步优化的可能,下一步可通过调整此类参数以达到更大的水印嵌入容量以及各指标间更优的平衡。

猜你喜欢
声道码率频带
9.7.8声道、造价250余万 James极品影院赏析
为发烧需求打造的11声道后级 Orisun(傲力声)OA-S11
Wi-Fi网络中5G和2.4G是什么?有何区别?
单音及部分频带干扰下DSSS系统性能分析
实现从7.2到11.2声道的飞跃 Onkyo(安桥)TX-RZ830
基于状态机的视频码率自适应算法
计算机应用(2018年7期)2018-08-27 10:42:40
双频带隔板极化器
电子测试(2017年15期)2017-12-18 07:18:51
基于场景突变的码率控制算法
X264多线程下码率控制算法的优化
计算机工程(2015年8期)2015-07-03 12:19:56
调谐放大器通频带的计算及应用