【正文】
||取樣1||雙聲道|| 16bit量化|聲道0(左)| 聲道0(左)|聲道1(右)|聲道1(右)|||(低位字節(jié))|(高位字節(jié))|(低位字節(jié))|(高位字節(jié))| 圖26 wav數(shù)據(jù)bit位置安排方式Figure 26 Arrangement of data bit of wav本章主要概括了音頻數(shù)字水印技術(shù)的基礎(chǔ)知識(shí),較為詳細(xì)地介紹了數(shù)字音頻的基本理論,其中包括人類聽覺特性與掩蔽效應(yīng),音頻信號(hào)的數(shù)字化和常用音頻信號(hào)編碼格式,闡述了水印系統(tǒng)的要求、應(yīng)用,系統(tǒng)地介紹了音頻水印系統(tǒng)的基本構(gòu)架,另外還介紹了目前已有的音頻水印算法以及音頻水印面臨的攻擊,介紹了音頻水印的評(píng)價(jià)標(biāo)準(zhǔn),最后介紹了WAVE音頻文件的格式。本章內(nèi)容的介紹,為本課題的研究提供了理論基礎(chǔ)?;谀芰勘容^的時(shí)域音頻數(shù)字水印算法3基于能量比較的時(shí)域音頻數(shù)字水印算法本章的音頻數(shù)字水印算法是在研究分析了Lie[43]提出的時(shí)域音頻水印算法后,對(duì)其算法中的不足做了一些改進(jìn)。Lie提出的算法采用三個(gè)相鄰數(shù)據(jù)塊的能量關(guān)系來嵌入水印,設(shè)、分別表示三個(gè)相鄰數(shù)據(jù)塊的能量,將、按照能量大小進(jìn)行排序,排序后的能量重新表示為、計(jì)算他們的能量差,能量差表示為: () ()嵌入算法根據(jù)能量差之間的關(guān)系來嵌入水?。海?)水印比特是“1”時(shí),如果,則不對(duì)音頻信號(hào)做任何修改;否則增加或減少,直到滿足。(2)水印比特是“0”時(shí),如果,則不對(duì)音頻信號(hào)作任何修改;否則增加或減少,直到滿足。其中參數(shù)為比例因子,控制修改的幅度。提取水印信號(hào)時(shí),設(shè)相鄰三個(gè)數(shù)據(jù)塊的能量排序后分別表示為、計(jì)算。如果≥,提取的水印比特為“1”,否則提取的水印比特為“0”。對(duì)Lie所提出的算法進(jìn)行研究分析,發(fā)現(xiàn)其存在以下兩方面的問題:(1)在嵌入和提取水印的過程中,必須要計(jì)算相鄰三個(gè)數(shù)據(jù)塊的能量,通過比較對(duì)它們進(jìn)行排序,得到最大值、最小值和中間值,最后還要計(jì)算它們之間的能量差,計(jì)算比較復(fù)雜。(2)算法中比例因子的取值不容易確定,它對(duì)算法的魯棒性有很大的影響,要取得較好的效果,必須通過多次實(shí)驗(yàn)來確定一個(gè)合適的比例因子值,且不同的音頻的取值也不一樣。針對(duì)以上算法中存在的問題,本章算法對(duì)其進(jìn)行了改進(jìn)。本章算法先把音頻信號(hào)劃分為若干個(gè)包含相同采樣點(diǎn)數(shù)的段,計(jì)算每段音頻的能量,比較相鄰兩段能量的大小,充分結(jié)合人類聽覺系統(tǒng)特性,根據(jù)能量比較的結(jié)果以及要嵌入的水印比特是“1”還是“0”,以縮小或不改變某段音頻信號(hào)能量的方式,將二值水印圖像嵌入到音頻信號(hào)中。在提取水印時(shí)不需要原始水印信號(hào)的參與,是一種盲水印算法。在嵌入水印的過程中,盡管縮小(或不改變)了某段音頻的能量,但通??s小的幅度比較小,在聽覺上對(duì)音頻信號(hào)不會(huì)產(chǎn)生太大的影響,人耳幾乎察覺不到,因而感知透明性比較好。還有,縮小某段音頻的能量并不是簡(jiǎn)單地縮小該段音頻的某一個(gè)特定點(diǎn)的樣本值,而是縮小該段中每一個(gè)樣本值,即使由于噪聲干擾、惡意攻擊等改變某一個(gè)樣本值,也不會(huì)影響到某段音頻的整體能量,因此具有較強(qiáng)的魯棒性。作為秘密信息的數(shù)字水印有很多種形式,比如隨機(jī)信號(hào)、文字、圖形或者各種商標(biāo)。本章算法選取二值圖像作為水印。為了消除二值水印圖像的像素空間相關(guān)性,提高數(shù)字水印的安全性能,避免嵌入水印的音頻某部分受到破壞后不能恢復(fù)出水印,需要首先對(duì)二值圖像進(jìn)行置亂加密處理。數(shù)字圖像的置亂技術(shù),可以看作是一種數(shù)字圖像的加密方法,它主要用在數(shù)字圖像的預(yù)處理和后處理階段。數(shù)字圖像置亂是通過改變圖像中像素的位置或者像素的顏色,把原始圖像變換成一個(gè)雜亂無(wú)章的、看不清其內(nèi)容的新圖像。在不知道所使用的置亂變換方案的情況下,很難恢復(fù)出原始圖像。目前,數(shù)字圖像置亂算法主要有:Hilbert曲線、仿射變換、幻方、Gray代碼、Arnold變換、FibonacciQ變換以及混沌序列等。本章算法在預(yù)處理階段采用Arnold變換對(duì)水印圖像進(jìn)行加密處理。Arnold變換是V. J. Arnold在遍歷理論的研究中提出的一種變換,也叫貓臉變換。Arnold變換實(shí)際上是一種點(diǎn)的位置的移動(dòng),它是在保證圖像像素總個(gè)數(shù)不變的基礎(chǔ)上,通過移動(dòng)像素點(diǎn)的位置來打亂一幅圖像。一幅的數(shù)字圖像的二維Arnold變換定義為:()其中,表示變換前圖像像素的位置,表示變換后圖像像素的位置,為模運(yùn)算。對(duì)一幅圖像反復(fù)地進(jìn)行Arnold變換,當(dāng)置亂達(dá)到一定次數(shù)時(shí),置亂后的圖像的內(nèi)容就變得無(wú)法辨認(rèn),提高了圖像的安全性。Arnold變換具有周期性,即對(duì)圖像實(shí)施Arnold變換,當(dāng)變換到一定次數(shù)時(shí),就會(huì)恢復(fù)出原始圖像,它的逆置亂就是根據(jù)周期特性來實(shí)現(xiàn)的[44],通過逆置亂對(duì)加密后的圖像進(jìn)行解密。實(shí)驗(yàn)表明,Arnold變換的周期與圖像的大小有關(guān),隨著的增大而增長(zhǎng),但并不是簡(jiǎn)單的正比關(guān)系。表31列出了不同值與Arnold變換周期之間的關(guān)系。表31 Arnold算法的變換周期Table 31 The transformation cycle of Arnold algorithm階數(shù)345678163264128256周期4310128612244896192為了方便在音頻文件中嵌入水印,在預(yù)處理階段將置亂加密后的水印矩陣轉(zhuǎn)換為一維矩陣。(1)分段為了使算法具有較好的魯棒性,在嵌入水印前,對(duì)原始音頻信號(hào)分段,使水印信息均勻的分布在音頻信號(hào)中。設(shè)原始音頻信號(hào)含有個(gè)采樣點(diǎn),表示為: ()其中表示第個(gè)采樣點(diǎn)的幅值。設(shè)原始音頻信號(hào)分段時(shí)每段音頻信號(hào)的長(zhǎng)度為,的取值對(duì)算法性能的好壞有一定的影響。為了提高算法的感知透明性,使嵌入水印后的音頻信號(hào)在聽覺上不被感知,可以說的取值越大越好。通過實(shí)驗(yàn)發(fā)現(xiàn),時(shí),嵌入水印的音頻信號(hào)與原始音頻信號(hào)相比在聽覺上差異不明顯。但每個(gè)音頻都有一定的長(zhǎng)度,因此的取值不能無(wú)限制的大。假設(shè)要嵌入的水印圖像有個(gè)像素信息,由于該算法是在兩段音頻信號(hào)中嵌入一個(gè)水印比特,所以的取值應(yīng)滿足: ()為了提高水印的抗裁剪性,本章算法將水印圖像重復(fù)嵌入到音頻信號(hào)中。設(shè)重復(fù)嵌入水印的次數(shù)為,這時(shí)的取值應(yīng)滿足: ()(2)能量計(jì)算計(jì)算每段音頻信號(hào)的能量,其能量定義為: () 其中表示第個(gè)采樣點(diǎn)的幅值。(3)嵌入水印相鄰兩段音頻信號(hào)的能量分別記為,比較,的大小,根據(jù)嵌入水印的比特信息,結(jié)合人類聽覺系統(tǒng)特性,使或縮小或者保持不變。這樣在音頻信號(hào)的每?jī)啥吻度胍槐忍氐乃⌒畔?,而不是每段都嵌入水印信息,有一定的時(shí)間間隔,不容易被人耳察覺。水印嵌入算法框圖如圖31所示。含水印音頻信號(hào)原始音頻信號(hào)分段計(jì)算、比較相鄰兩段能量Arnold置亂待嵌水印根據(jù)嵌入規(guī)則嵌入水印水印圖像 圖31水印嵌入算法框圖Figure 31 Block diagram of watermark embedding algorithm具體嵌入規(guī)則如下:水印信號(hào)為“1”時(shí),如果,則不修改的值,使其保持不變。反之,則縮小,直到。若,說明音頻信號(hào)的能量有逐漸減小的趨勢(shì),根據(jù)人類聽覺系統(tǒng)的滯后掩蔽特性(弱音被前面的強(qiáng)音掩蔽),縮小時(shí),前面的強(qiáng)音會(huì)掩蔽縮小的,因此不會(huì)產(chǎn)生明顯的影響。 水印信號(hào)為“0”時(shí),如果,則不修改的值,使其保持不變。反之,則縮小,直到。若,說明音頻信號(hào)的能量有逐漸增加的趨勢(shì),根據(jù)人類聽覺系統(tǒng)的超前掩蔽特性(弱音被后面的強(qiáng)音掩蔽),縮小時(shí),后面的強(qiáng)音會(huì)掩蔽縮小的,因此也不會(huì)產(chǎn)生明顯的影響。本章算法中縮小某段音頻信號(hào)的能量時(shí),縮小該段音頻信號(hào)的每一個(gè)采樣值。具體做法是:先將該段音頻的每個(gè)采樣值縮小1/100,重新計(jì)算該段音頻的能量,和相鄰段音頻能量進(jìn)行比較,如果該段能量還是大于相鄰段能量,繼續(xù)縮小,第二次將每個(gè)采樣值縮小2/100,以此類推,第三次縮小3/100,直到這段音頻的能量小于相鄰段能量。為了使該算法有較好的抗裁剪性,將水印圖像重復(fù)嵌入次。要在剪切后的含水印音頻中能正確找到和嵌入水印時(shí)相同的分段點(diǎn),將嵌入水印的音頻段放回原來的位置時(shí),需要在每?jī)啥我纛l的第一段前加入同步點(diǎn)。由于音頻信號(hào)采樣點(diǎn)很密集,所以加入同步點(diǎn)后的含水印音頻在聽覺上不會(huì)有太大的影響。為了能恢復(fù)出正確的水印圖像,同樣需要在水印信息前加入同步點(diǎn)。水印的提取過程可以看作是水印嵌入過程的逆過程。本章提出的音頻數(shù)字水印算法在提取或檢測(cè)數(shù)字水印信號(hào)時(shí)不需要原始音頻信號(hào)的參與,是一種盲水印算法。水印提取框圖如圖32所示。置亂的圖像水印圖像含水印音頻信號(hào)分段計(jì)算、比較相鄰段能量根據(jù)提取規(guī)則提取水印水印Arnold反置亂圖32水印提取算法框圖Figure 32 Block diagram of watermark extraction algorithm水印的提取過程具體如下:(1)嵌入水印時(shí),在每?jī)啥我纛l的第一段前加入了同步點(diǎn),所以提取水印時(shí),要先去掉每?jī)啥我纛l前的同步點(diǎn),然后把含水印的音頻信號(hào)分成和嵌入水印時(shí)相同大小的段。(2)計(jì)算各段音頻的能量,比較相鄰兩段的能量,根據(jù)能量比較的結(jié)果確定嵌入的水印是“1”還是“0”。具體提取規(guī)則如下:如果,提取出的水印比特為1;如果,提取出的水印比特為0;(3)由于嵌入水印時(shí),在水印信息前也加入了同步點(diǎn),所以要先去掉同步點(diǎn), 然后將提取結(jié)果重新分為組,比較相同位置的0、1值,根據(jù)出現(xiàn)概率的多少判定0、1值,得到水印序列。(4)最后根據(jù)置亂次數(shù)將該水印序列升維后進(jìn)行Arnold反變換,得到原始水印圖像。為了測(cè)試水印算法的各方面性能,實(shí)驗(yàn)選取內(nèi)容不同的兩幅圖像作為水印,如圖33(a)和圖33(b)所示,它們都是的二值圖像。 (a) (b)圖33水印圖像Figure 33 Watermark image在Windows XP環(huán)境下,來檢測(cè)水印算法的性能。(1)感知透明性,本實(shí)驗(yàn)通過ABX測(cè)試對(duì)音頻文件水印嵌入前后的音頻質(zhì)量進(jìn)行主觀評(píng)價(jià)。為了消除人的主觀影響,還通過計(jì)算音頻信號(hào)的信噪比來客觀評(píng)價(jià)算法的感知透明性。(2) 安全性實(shí)驗(yàn)測(cè)試提取水印時(shí),每段音頻的樣本數(shù)的錯(cuò)誤取值對(duì)提取結(jié)果的影響程度。具體做法是:將的取值設(shè)置為稍大于或小于嵌入水印時(shí)的值,測(cè)試這種情況下能否正確提取出水印圖像,以測(cè)試水印的安全性。如果這種情況下不能正確提取出水印圖像,那么的取值和嵌入時(shí)相差很多時(shí),更不可能提取出水印圖像,說明算法安全性較好。(3)魯棒性測(cè)試算法的魯棒性時(shí),對(duì)嵌入水印的音頻信號(hào)進(jìn)行各種攻擊,在遭受攻擊后的音頻信號(hào)中提取水印,并計(jì)算提取的水印圖像與原始水印圖像的相關(guān)系數(shù)。具體攻擊過程如下:1)重采樣:有下采樣和上采樣。下采樣是先把音頻信號(hào)的采樣頻率降為原來的一半,然后再還原為原來的采樣頻率。上采樣是先將音頻信號(hào)的采樣頻率提升到原來的2倍,然后再還原為原來的采樣頻率。該過程中采用插值技術(shù)提高采樣頻率,用抽取技術(shù)降低采樣頻率。 2)低通濾波:對(duì)嵌入水印后的音頻信號(hào)進(jìn)行濾波處理,選用長(zhǎng)度為6階,截止頻率為4KHz的巴特沃茲低通濾波器。3)添加高斯白噪聲: 在嵌入水印的音頻信號(hào)中加入高斯白噪聲,信噪比取為40dB。4)剪切:分別將含水印音頻信號(hào)剪切掉原來的1/10,1/5,然后提取出水印圖像。5)MP3壓縮:分別用160kbps(:1)、128kbps(:1)的比特率對(duì)音頻信號(hào)進(jìn)行壓縮,然后再解壓縮為WAV格式以便于提取水印。、16位量化位數(shù)、單聲道、不同類型的WAV音樂進(jìn)行測(cè)試,Arnold變換的變換次數(shù)都是20,分段時(shí)每段音頻的樣本數(shù)都是400,為了提高水印的抗裁剪性,將水印信號(hào)重復(fù)嵌入了3次。在水印信號(hào)前加入8bit同步碼(10101010),在每?jī)啥我纛l信號(hào)的前一段前也加入3bit同步碼(000)。本實(shí)驗(yàn)還選取4段不同的話音進(jìn)行感知透明性測(cè)試。表31和表32分別給出了本章算法嵌入圖33(a)和(b)時(shí)感知透明性測(cè)試結(jié)果。表32在不同類型音樂測(cè)試下的感知透明性Table 32 Transparency test under different types of music 水印圖像音樂類型圖33(a)圖33(b)ABX值SNR值A(chǔ)BX值SNR值古典樂%%流行樂%%民樂%%民謠%%電子樂%%平均值%%表33在不同話音測(cè)試下的感知透明性Table 33 Transparency test under different voice 水印圖像話音圖33(a)圖33(b)ABX值SNR值A(chǔ)BX值SNR值話音1%%話音2%%話音3%%話音4%