李 晨,王可鑫,田麗華
(西安交通大學 軟件學院,西安 710049)(*通信作者電子郵箱lhtian@mail.xjtu.edu.cn)
隨著網(wǎng)絡和多媒體技術的發(fā)展,音頻文件的傳播變得更加便利,顯然,音頻版權信息的保護也就顯得愈發(fā)重要[1]。為防止音頻被盜用以及音頻原創(chuàng)者的合法權益受到侵害,數(shù)字音頻水印技術開始發(fā)展[2]。
近年來,運動圖像專家組壓縮標準音頻層面3(Moving Picture experts group audio layer Ⅲ, MP3)格式音頻以其壓縮比高、傳播方便等優(yōu)點逐漸替代無損音頻成為目前應用最為廣泛的一種音頻格式[3]。而目前的音頻水印算法卻大多應用于無損格式音頻如波形聲音文件(WAVe audio files,WAV)格式,若將此類針對非壓縮格式音頻的算法直接應用于MP3,則其水印嵌入過程需要將MP3音頻解壓縮至WAV格式,才能通過相應算法實現(xiàn)水印的嵌入,之后還需要重新進行MP3壓縮才能得到最終含有水印信息的MP3音頻文件。同理,在進行水印提取時,需要將待提取水印的MP3音頻解碼至WAV格式后,對此WAV格式音頻進行操作才能進行水印提取,必然要多耗費一段時間??梢?,將針對非壓縮格式的音頻水印直接應用于MP3音頻會導致水印方法變得非常繁瑣且效率不高,即此種方式下的水印嵌入和提取過程消耗的時間長,過程較為復雜。因此,基于MP3壓縮域的音頻水印逐漸開始成為音頻水印領域的研究熱點[4]。此類水印方式致力于在MP3壓縮的過程中實現(xiàn)水印嵌入,也就是說,經(jīng)初始壓縮后得到的MP3音頻文件即為含有水印的MP3音頻,無需額外的水印嵌入過程[5],在得到MP3音頻文件時就已經(jīng)完成了水印嵌入。同理,在水印提取時,基于MP3壓縮域的水印算法在MP3解壓縮至WAV的過程中即可完成水印提取,無需對得到的WAV文件進行額外操作。相比直接將非壓縮域水印算法應用于MP3音頻而言,省去了很多額外的步驟和時間,水印嵌入和提取過程的執(zhí)行更快速,因此效率更高,實用性更強。此處的效率主要是指水印嵌入提取過程的速度和復雜程度。
另外,由于MP3編碼過程通過模擬人耳聽覺系統(tǒng)的感知特性[6],將大多冗余信號去除,達到了很高的壓縮率,故對MP3音頻進行水印嵌入時音頻可聽性易受到影響;因此,如何保證魯棒性與不可感知性間較好的平衡是目前基于MP3壓縮域的音頻水印面臨的主要難點[7]。
至今為止,基于MP3壓縮域的音頻水印相對傳統(tǒng)的非壓縮域而言依然較少。文獻[8]中提出的壓縮域水印算法選取1~14的量化改進離散余弦變換(Modified Discrete Cosine Transform,MDCT)系數(shù)實現(xiàn)了水印嵌入,透明性較好且對于MP3壓縮有一定的魯棒性;但該方法對MP3重壓縮魯棒性較差,且對于低通濾波、白噪聲等類型攻擊的魯棒性也不理想。文獻[9-10]中提出了針對比例因子的水印算法,此類方法在MP3編碼時的量化過程之后,以特定方式取得MP3幀內(nèi)某些位置的比例因子,通過修改其二進制值的最低位實現(xiàn)水印嵌入,不可感知性良好,且能在MP3解碼時提取出幾乎完整的水印圖像,但同樣無法抵抗MP3重壓縮的攻擊。文獻[11]中則提出了基于MDCT系數(shù)的水印算法,選取MP3編碼時MDCT后前幾個能量較大的比例因子頻帶,修改其內(nèi)部最大的MDCT系數(shù)符號實現(xiàn)水印嵌入,雖能保證對MP3重壓縮一定程度的魯棒性,但對音頻質量影響較大,透明性較差。
針對上述問題,結合低頻能量具有較好穩(wěn)定性的特點,本文提出了基于聲道內(nèi)低頻能量的壓縮域水印算法,以量化聲道間低頻能量比的方式嵌入水印,實現(xiàn)了對于MP3重壓縮及多種類型攻擊較好的魯棒性;且算法根據(jù)比例因子頻帶能量的分布對水印嵌入頻帶進行了選擇,保證了魯棒性與透明性之間較好的平衡。
MP3編碼主要包括分析濾波器組、MDCT、量化編碼。一般來說,MP3幀分為兩個顆粒,每個顆粒由左右兩個聲道組成,各聲道間獨立編碼[12]。且聲道數(shù)據(jù)經(jīng)MDCT后,會生成576個頻率由低到高排列的頻線值,即MDCT系數(shù),并被分配至不同的比例因子頻帶。當采樣率為44.1 kHz時,MDCT系數(shù)被劃分至21個比例因子頻帶,由各頻帶對應的頻率范圍可知,前8個頻帶大致代表了頻率小于1.5 kHz的低頻部分。結合心理聲學模型分析[13]得到,在MP3壓縮過程中低頻部分的信掩比(Signal-to-Mask Ratio,SMR)較高,失真程度較低,故其能量較為穩(wěn)定[14]。經(jīng)大量實驗發(fā)現(xiàn),此部分低頻能量對攻擊的魯棒性良好,圖1為某音頻中某聲道低于1.5 kHz部分的低頻能量經(jīng)過不同攻擊后的變化情況。可見,絕大部分MP3幀的低頻能量經(jīng)不同攻擊后基本無明顯變化,可證明聲道內(nèi)低于1.5 kHz部分的低頻能量對多種攻擊的魯棒性良好。因此本文選取聲道內(nèi)前8個比例因子頻帶作為水印嵌入的備選頻帶,利用該部分的低頻能量實現(xiàn)水印信息的嵌入。
圖1 不同攻擊下聲道內(nèi)低于1.5 kHz部分的低頻能量值
MP3編碼中,根據(jù)不同MDCT窗框劃分的數(shù)據(jù)塊長短,比例因子頻帶對應頻線的劃分略有差別[15]。由于一般情況下,絕大部分MP3幀均采用長塊編碼,故本文采用長塊的劃分方式計算頻帶內(nèi)能量。長塊比例因子頻帶中頻線的劃分方式如表1所示。
表1 44.1 kHz比例因子頻帶的頻線劃分(長塊)
每個比例因子頻帶的能量由該頻帶包含的MDCT系數(shù)計算得到。計算方式如式(1)所示:
(1)
其中:Ei為第i個比例因子頻帶能量,xj為第j個MDCT系數(shù),j=0,1,…,575,第i個比例因子頻帶的頻線起始索引為starti,結束索引為endi,其值可由表1得到。
為保證水印魯棒性與透明性之間的平衡,本文根據(jù)比例因子頻帶的能量占比從備選頻帶中選出水印嵌入頻帶。經(jīng)大量實驗發(fā)現(xiàn),將8個備選頻帶按其能量由大到小排序后,在某些MP3幀中,最大的頻帶能量值會遠遠大于剩余7個頻帶的能量之和。這里給出三種不同類型音頻某聲道備選低頻帶中最大頻帶能量與剩余7個頻帶能量和之間的關系,如圖2所示。因此,當備選低頻帶中最大的頻帶能量大于全部備選頻帶能量和的3/4時,若對能量最大頻帶內(nèi)的系數(shù)進行修改,會對音頻可聽性造成較大影響,即在上述情況下,能量最大的比例因子頻帶不適合作為水印的嵌入頻帶;所以在此情況下就舍棄該頻帶,而只選取剩余的7個頻帶作為水印嵌入頻帶,否則選取全部8個備選頻帶進行嵌入。
為保證MP3幀顆粒內(nèi)左右聲道的變化一致,兩個聲道水印嵌入頻帶的選取應該一致。即選取嵌入頻帶時,將左右聲道對應的備選頻帶能量分別相加,得到8個備選頻帶的顆粒內(nèi)能量值,再按上述方法選擇嵌入頻帶,其結果同時作為兩個聲道的嵌入頻帶。
圖2 最大頻帶能量與剩余7個頻帶能量和的關系
水印的嵌入過程在MP3編碼的MDCT之后、量化編碼之前實現(xiàn),編碼完成之后即可直接得到含水印的MP3文件。水印嵌入的流程如圖3所示。
圖3 水印嵌入過程
1)預處理。對待嵌入的水印圖像進行降維操作,若圖像大小為M×N,則可轉換成一維的二值水印序列W={W(i),1≤i≤M×N}。
2)嵌入幀的選擇。為充分利用音頻信息并使水印均勻分布,每隔P幀進行一次水印嵌入,因此在水印嵌入前需判斷此幀是否為嵌入幀,若選擇此幀進行水印嵌入,則進行后續(xù)步驟,否則直接執(zhí)行后續(xù)編碼過程。
3)比例因子頻帶的能量計算。由1.2節(jié)所述,分別計算聲道內(nèi)8個備選頻帶的能量。使用每幀顆粒1的左右聲道嵌入水印,左聲道的頻帶能量記為EBL(i),右聲道記為EBR(i)(0≤i≤7)。通過式(2)將兩個聲道對應頻帶的能量相加,得到頻帶的顆粒內(nèi)能量EB(i)。
EB(i)=EBL(i)+EBR(i)
(2)
5)左右聲道低頻能量的計算。根據(jù)得到的水印嵌入頻帶,分別將左、右聲道內(nèi)對應頻帶的能量相加作為相應聲道內(nèi)的低頻能量,分別用EL和ER表示。
6)量化左右聲道的低頻能量比。左右聲道的低頻能量比值r=ER/EL,通過式(3)對r量化,r′為量化后的比值,q為量化步長,b為待嵌入水印比特數(shù),round函數(shù)表示對變量進行四舍五入。
(3)
7)計算修正系數(shù)。通過式(4)、(5)求得修正系數(shù)d,用來實現(xiàn)聲道嵌入頻帶內(nèi)MDCT系數(shù)的調整。
(4)
d=(a-1)/(a+1)
(5)
8)調整左右聲道的MDCT系數(shù)。利用式(6)、(7)分別對左、右聲道中嵌入頻帶的MDCT系數(shù)進行調整。Li表示左聲道需要調整的MDCT系數(shù),Li′為調整后的值;同理,Ri表示右聲道需要調整的MDCT系數(shù),調整之后的值則用Ri′表示。嵌入頻帶內(nèi)包含的MDCT系數(shù)可由表1得到。
Li′=Li×(1-d)
(6)
Ri′=Ri×(1+d)
(7)
系數(shù)調整完成后繼續(xù)進行此幀的后續(xù)編碼。當MP3編碼完成后,即可得到含水印的MP3音頻。
由于MP3解碼為編碼的逆過程,因此水印的提取在MP3解碼的反改進離散余弦變換(Inverse Modified Discrete Cosine Transform, IMDCT)之前、反量化過程之后實現(xiàn)。水印提取流程如圖4所示。
圖4 水印提取過程
1)提取幀的選擇。由于水印每P幀嵌入一次,因此在提取時需要判斷此幀是否有水印嵌入。如果確定為提取幀,則進行后續(xù)水印提取步驟,否則繼續(xù)執(zhí)行MP3解碼流程。
2)比例因子頻帶能量計算。利用反量化后得到的MDCT系數(shù)計算頻帶能量,并得到8個顆粒內(nèi)頻帶能量值EB′(i)(0≤i≤7),具體過程與嵌入時相同。
3)提取水印頻帶的選擇。將8個備選頻帶按EB′(i)由大到小排序,根據(jù)最大頻帶能量的占比決定提取頻帶,具體方法與水印嵌入過程相同。
4)左右聲道低頻能量的計算。將求得的水印提取頻帶的能量相加作為聲道的低頻能量,左聲道低頻能量表示為EL′,右聲道低頻能量為ER′。
5)水印的提取。聲道間低頻能量比R=ER′/EL′,提取的水印比特b可由式(8)得到,q為量化步長,mod函數(shù)表示取余數(shù)。提取完成后,繼續(xù)進行此幀后續(xù)IMDCT等解碼流程。
b=round(R/q) mod 2
(8)
6)升維。水印全部提取完成后,將得到的一維二值水印序列升維至二維,即可得到提取的水印圖像。升維過程為水印嵌入預處理時降維的逆過程。
圖5 原始水印圖像
實驗采用LAME 3.92作為MP3編解碼器,并通過修改其源碼完成相關測試。測試中均使用采樣率44.1 kHz的時長為140 s的雙聲道音頻,且對三種不同類型的音頻進行了實驗,三種音樂類型分別為流行樂、搖滾樂和古典樂。原始水印圖像如圖5所示,其大小為32×32。另外在水印嵌入和提取時q=0.4,P=3。
圖6顯示了某音頻在添加水印之后與未添加水印時的時域波形圖對比??梢?,嵌入水印后的音頻波形圖幾乎沒有發(fā)生改變。
圖6 水印嵌入前后的時域波形圖對比
此外,本文采用國際電信聯(lián)盟(International Telecommunication Union, ITU)推薦的主觀聽覺質量區(qū)分度(Subjective Difference Grade, SDG)對測試音頻主觀聽覺質量的優(yōu)劣進行了判斷,SDG得分所代表的含義如表2所示。實驗中,向20名隨機人員分別提供了三種不同類型的經(jīng)過128 kb/s碼率編碼含水印音頻及相應原始音頻進行聽覺測試,由參與者的主觀感受對音頻按照SDG打分,并將每種類型音頻得分的均值作為此類音頻的測試結果。最終,實驗結果顯示,流行樂分值為-0.05,搖滾樂和古典樂的分值均為0。其中,由于音頻測試結果幾乎為0,可證明本文算法具有良好的主觀不可感知性。
表2 SDG測評標準
為了進一步對不可感知性進行定量說明,實驗分別求出了上述經(jīng)128 kb/s碼率編碼的三種類型的音頻在加入水印前后的信噪比(Signal-to-Noise Ratio,SNR)測試結果,如表3所示。由表3可以看出,嵌入水印前后的SNR無明顯差別,且都大于國際唱片業(yè)協(xié)會(International Federation of the Phonographic Industry, IFPI)規(guī)定的高于20 dB的要求,可進一步說明本文算法具有較為理想的不可感知性。
表3 三種不同類型音頻的信噪比
本文采用歸一化相關系數(shù)(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攻擊對音頻造成的信息損失主要出現(xiàn)在MP3編碼的量化過程,而本文算法在量化過程前進行水印嵌入,因此在編碼完成得到含水印的MP3音頻時,該音頻相當于已經(jīng)經(jīng)過了一次MP3壓縮攻擊,因此直接對得到的含水印MP3解碼提取水印即可證明本文算法對于MP3壓縮攻擊的魯棒性。而MP3重壓縮攻擊則是將含水印的音頻文件以另外不同的碼率重新編碼,相當于施加了兩次不同程度的MP3壓縮攻擊,破壞程度更大,更難保證其魯棒性。
流行樂音頻經(jīng)過上述攻擊后提取得到的水印圖像結果如圖7所示;三種不同類型音頻經(jīng)上述攻擊后,水印的魯棒性測試結果如表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)??梢钥吹竭@兩者的效果差別不大,這是由于本文方法利用音頻在頻域內(nèi)的能量分布實現(xiàn)水印嵌入,在下采樣降低采樣速率并恢復后雖然MDCT系數(shù)略有變化,但整體的能量分布沒有變化,故在下采樣恢復后還可以得到清晰可見的水印圖像,進一步說明了本文算法的魯棒性。
通過與文獻[9]針對比例因子的水印算法對比得出,本文算法僅在MP3壓縮攻擊的魯棒性上略低于文獻[9]算法,而對其他類型攻擊的魯棒性均明顯強于文獻[9]算法。這是由于文獻[9]算法的水印嵌入是在MP3編碼的量化過程之后完成的,未經(jīng)過信號損失過程,相當于直接修改得到的MP3碼流;因此一旦音頻重新壓縮,比例因子重新確定,水印便會遭到嚴重破壞。本文算法利用低頻能量實現(xiàn)水印嵌入,MP3壓縮中失真程度較低;且低頻能量由于攜帶了音頻大多數(shù)信息,有較好的穩(wěn)定性;故本文算法的魯棒性良好,尤其解決了目前壓縮域水印面臨MP3重壓縮攻擊魯棒性較差的問題。
表4 兩種算法的魯棒性測試結果
本文提出了基于聲道能量比的MP3壓縮域水印方案,通過量化聲道間的低頻能量比實現(xiàn)了水印嵌入。方案的水印嵌入提取過程在MP3編解碼的過程中完成,無需額外操作,效率相比傳統(tǒng)音頻水印算法有較大程度的提升。由于采用低頻能量,方案具有較好的魯棒性,可以抵抗多種類型的攻擊,且對于MP3重壓縮攻擊魯棒性效果也較為理想。同時,通過對水印嵌入頻帶的篩選保證了魯棒性與不可感知性較好的平衡,解決了目前MP3壓縮域水印算法面臨的主要難題。另外,本文在頻帶的選取以及MP3幀選取等細節(jié)上還存在進一步優(yōu)化的可能,下一步可通過調整此類參數(shù)以達到更大的水印嵌入容量以及各指標間更優(yōu)的平衡。