宋慧 趙晨潔
摘要:為扼制盜版、保護(hù)音樂版權(quán),提出了音頻水印原型系統(tǒng)設(shè)計。本文在音頻水印算法理論研究的基礎(chǔ)上,采用UML的方法對音頻水印原型系統(tǒng)進(jìn)行了需求分析,并在此基礎(chǔ)上完成了系統(tǒng)的設(shè)計。
關(guān)鍵詞:音頻水印;系統(tǒng)設(shè)計;水印嵌入;水印提取
中圖分類號:TP309.7 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)15-0242-03
通過對音樂發(fā)行過程的調(diào)研發(fā)現(xiàn)非法復(fù)制和盜版問題日益突出,如何對音樂進(jìn)行版權(quán)保護(hù)是目前亟須解決的問題。在對音頻水印嵌入、提取、測試等相關(guān)技術(shù)的研究之后,為了解決音樂發(fā)行商的音樂產(chǎn)品的版權(quán)問題,本文設(shè)計了一個音頻水印原型系統(tǒng),該系統(tǒng)主要用于對音樂產(chǎn)品的版權(quán)進(jìn)行保護(hù)。
1 系統(tǒng)需求描述
1.1 系統(tǒng)角色描述
音頻水印原型系統(tǒng)的用戶主要是音樂發(fā)行商,下面對音樂發(fā)行商的業(yè)務(wù)流程進(jìn)行分析。音樂發(fā)行商進(jìn)行音樂產(chǎn)品發(fā)行之前,首先對音樂產(chǎn)品進(jìn)行統(tǒng)一處理,并給音樂產(chǎn)品加上版權(quán)信息,對含有版權(quán)信息的音樂產(chǎn)品進(jìn)行性能測試,只能測試結(jié)果達(dá)到一定標(biāo)準(zhǔn)之后才可以對音樂產(chǎn)品實行發(fā)行。當(dāng)遇到版權(quán)糾紛時,音樂發(fā)行商對發(fā)生糾紛的音樂產(chǎn)品進(jìn)行水印提取并與原來的版權(quán)信息進(jìn)行匹配,通過這種方式確認(rèn)音樂產(chǎn)品的版權(quán),以判定音樂產(chǎn)品的所有權(quán)歸屬。
1.2 系統(tǒng)功能描述
通過對音樂發(fā)行需求的調(diào)研和分析,本文對用戶的需求進(jìn)行描述。對于音樂發(fā)行商來說,他們需要一個快速準(zhǔn)確、操作簡單、可視化展現(xiàn)結(jié)果的系統(tǒng)來幫助音樂發(fā)行商進(jìn)行音樂產(chǎn)品版權(quán)的保護(hù)。音頻水印原型系統(tǒng)將目前常用的一些音頻水印嵌入算法模塊納入系統(tǒng)中,通過系統(tǒng)的幫助,用戶可以根據(jù)自身需要進(jìn)行組合,實現(xiàn)水印嵌入及水印提取工作。系統(tǒng)還將給出該算法在常規(guī)音頻攻擊下的性能測試結(jié)果,用戶根據(jù)測試結(jié)果進(jìn)行算法的分析及調(diào)整。因此音頻水印原型系統(tǒng)應(yīng)該包括以下幾個功能模塊:水印嵌入模塊、添加攻擊模塊、水印提取模塊、結(jié)果分析模塊?;谏鲜雒枋觯到y(tǒng)的功能應(yīng)包括以下幾個方面:
(1)水印嵌入功能:選擇被嵌入的音頻、選擇版權(quán)信息、生成水印序列、選擇嵌入位置及嵌入方法;將水印嵌入到音頻文件中,給出嵌入成功的提示,并生成含有水印的音頻文件;
(2)添加攻擊功能:完成對含有水印的音頻文件添加常見音頻攻擊,生成攻擊后的音頻文件并進(jìn)行保存;
(3)水印提取功能:將水印信息從含有水印的音頻文件中提取出,將提取的水印保存到指定的文件夾下,并給出提取成功的提示;
(4)結(jié)果分析功能:選擇原始水印和提取水印圖像,將選擇的圖像顯示在界面上,并給出原始水印和提取水印的NC、BER值[1]。
根據(jù)上面的用戶功能需求描述,采用UML標(biāo)準(zhǔn)建模語言描述問題模型,則音頻水印原型系統(tǒng)的用例如圖1所示。音頻水印原型系統(tǒng)中包含水印嵌入、添加攻擊、水印提取、結(jié)果分析4個用例。
水印嵌入用例包含選擇音頻用例、選擇版權(quán)信息用例、生成水印序列用例、選擇嵌入位置用例、選擇嵌入規(guī)則及水印序列嵌入用例6個子用例[2]。選擇音頻用例為選擇系統(tǒng)要嵌入水印的音頻文件,系統(tǒng)將保留其路徑信息;選擇版權(quán)信息用例,選擇系代表版權(quán)信息的圖標(biāo)并獲得版權(quán)信息圖標(biāo)的大小;生成水印序列用例包括Arnold變換、降維、選擇水印序列是選擇待嵌入的水印信息是否與音頻內(nèi)容無關(guān)等操作;選擇嵌入位置用例是選擇水印嵌入過程中使用到的一些變換操作;選擇嵌入規(guī)則用例包含量化嵌入規(guī)則和零水印嵌入規(guī)則;水印序列嵌入用例為采用選擇的嵌入規(guī)則將水印嵌入到選擇的音樂文件當(dāng)中,并生成帶水印的音頻文件并返回嵌入提示信息[3]。
添加攻擊用例包含加噪用例、低通濾波用例、重采樣用例、MP3壓縮壓縮、重量化用例5個子用例,分別為對含水印的音頻文件添加相應(yīng)的攻擊操作,并生成攻擊后的含水印音頻文件。
水印提取用例為對含有水印的音頻文件進(jìn)行水印的提取,并對提取的水印進(jìn)行保存操作。結(jié)果分析用例為選擇原始水印和提取水印圖像,選擇的圖像進(jìn)行界面顯示并給出原始水印和提取水印的BER、NC值,由計算BER用例及計算NC用例組成[4]。
2 系統(tǒng)設(shè)計
2.1 水印嵌入模塊的設(shè)計
水印嵌入模塊是音頻水印原型系統(tǒng)的核心模塊,該模塊完成將水印嵌入到原始音頻產(chǎn)品中的功能,圖2為水印嵌入模塊活動圖。水印嵌入模塊由含擇音頻、選擇版權(quán)信息、生成水印序列、選擇嵌入位置、選擇嵌入規(guī)則和水印序列嵌入子模塊組成。下面對其中主要的子功能模塊進(jìn)行介紹。
2.1.1選擇音頻
本系統(tǒng)中用到的音樂文件均為wav格式的無損音樂,選擇音頻文件以后,將返回音頻文件的大小及采樣率信息。
2.1.2選擇版權(quán)信息
本系統(tǒng)使用的代表版權(quán)信息的水印圖片都是bmp格式,選擇版權(quán)信息后,進(jìn)行數(shù)據(jù)的讀入并將返回版權(quán)信息圖片的大小并在界面上進(jìn)行版權(quán)信息圖片的顯示。
2.1.3生成水印序列
進(jìn)行水印序列的生成,先選擇水印序列生成是否與內(nèi)容有關(guān),如果選擇是,則提取音頻特征MFCC并選擇第一階進(jìn)行編碼操作得到二值特征序列,然后將二值特征序列與經(jīng)過Arnold變換、降維操作后的二值版權(quán)信息序列進(jìn)行Xor操作,便獲得含有音頻特征的待嵌入的水印序列,如果選擇否,則將經(jīng)過Arnold變換、降維操作后的二值版權(quán)信息序列作為待嵌入的水印序列。
2.1.4選擇嵌入位置
選擇嵌入位置模塊按照所選擇的嵌入位置對原始音頻進(jìn)行相應(yīng)的變換或者分解操作,該模塊包含DWT模塊、DCT模塊、SVD三個子模塊,它們在當(dāng)前算法中被經(jīng)常使用,用戶可以根據(jù)自己的需要進(jìn)行組合,如可以組合為DWT+DCT、DWT+SVD、DWT+DCT+SVD等,同時也可以不進(jìn)行組合單獨進(jìn)行使用。
2.1.5選擇嵌入規(guī)則
選擇嵌入規(guī)則模塊主要包括量化嵌入規(guī)則和零水印嵌入規(guī)則,也就是文獻(xiàn)[5]和[6]采用的嵌入規(guī)則,在此不再贅述。若選擇量化嵌入的規(guī)則,那么則采用奇偶量化的方式完成水印的嵌入過程;若選擇零水印嵌入規(guī)則,那么就采用記錄位置索引的方式完成水印嵌入操作。在完成選擇過嵌入規(guī)則操作后,進(jìn)行水印嵌入時,通過所選擇的嵌入規(guī)則完成對水印嵌入的操作及一系列的逆變換過程,最終生成的含水印的音頻文件并進(jìn)行保存。
2.2 添加攻擊模塊的設(shè)計
添加攻擊模塊,主要實現(xiàn)的是對含水印的音頻添加各種常見攻擊的操作,主要包括加噪、低通濾波、重采樣、Mp3壓縮、重量化及各種攻擊參數(shù)設(shè)置操作。當(dāng)用戶進(jìn)行添加攻擊的操作時,首先判斷待攻擊的音頻文件是否存在、是否選擇了攻擊方式、對攻擊參數(shù)是否進(jìn)行了相應(yīng)的參數(shù)設(shè)置,若全部存在則對含水印的音頻進(jìn)行添加攻擊操作,否則彈出提示窗口并給出相應(yīng)的提示信息。
2.3 水印提取模塊的設(shè)計
水印提取模塊主要是進(jìn)行水印提取算法的實現(xiàn)過程,需要對含水印的音頻文件進(jìn)行和水印嵌入時相似的操作,其水印提取的活動圖如圖3所示。首先需要對選取的待提取的音頻實行同嵌入水印時一樣的操作,比如若在嵌入預(yù)操作中選擇的是DWT+SVD的組合,那么在水印提取模塊也要進(jìn)行同樣的操作,然后根據(jù)提取規(guī)則進(jìn)行水印的提取,便得到一維的水印序列,如果水印序列與音頻內(nèi)容相關(guān),則將其與音頻特征序列實行Xor操作,獲得一維版權(quán)水印數(shù)組,再對一維版權(quán)水印數(shù)組依次進(jìn)行升維操作及Arnold反變換,最后便得到提取的版權(quán)水印圖像。其中,采用文獻(xiàn)[7]和[8]所描述的提取規(guī)則進(jìn)行水印序列的提取,在此不再贅述。
2.4 ?結(jié)果分析模塊的設(shè)計
結(jié)果分析模塊既可以完成對算法性能的評價,又可以在發(fā)生版權(quán)糾紛時完成水印匹配、版權(quán)驗證的任務(wù)。為了使分析結(jié)果客觀公正,取在算法中多被采用的原始水印和提取水印的NC和BER作為評價指標(biāo)。用戶進(jìn)入結(jié)果分析模塊后,首先進(jìn)行原始水印圖片和提取水印圖片的選擇,如果沒有進(jìn)行選擇,那么會向用戶給出進(jìn)行相應(yīng)操作的提示信息,在完成原始水印圖片和提取水印圖片選擇操作后,所選擇的圖像將在界面上進(jìn)行顯示,點擊計算按鈕將會給出相應(yīng)結(jié)算結(jié)果。
3 結(jié)束語
針對音樂發(fā)行商如何對音樂產(chǎn)品版權(quán)進(jìn)行保護(hù)的問題,在對音頻水印嵌入、提取、測試等相關(guān)技術(shù)的研究之后,本文設(shè)計了一個音頻水印原型系統(tǒng),本系統(tǒng)系統(tǒng)納入了常規(guī)水印算法,并可根據(jù)需求進(jìn)行算法組合,主要用于對音樂產(chǎn)品版權(quán)保護(hù)方面,音樂發(fā)行商可以方便地對音樂產(chǎn)品的版權(quán)進(jìn)行保護(hù)及認(rèn)證。
參考文獻(xiàn):
[1] 王卿, 王汀, 胡貞. 基于cRIO的快速伺服控制原型系統(tǒng)設(shè)計[J]. 計算機(jī)測量與控制, 2018, 26(4).
[2] 張達(dá), 承軼峰, 孫立群,等. 音頻水印技術(shù)在融合互動播出系統(tǒng)中的應(yīng)用[J]. 廣播電視信息, 2017(8):32-33.
[3] 蔡倩, 唐向宏, 何雨亭,等. 一種基于DWT-SVD與SNR優(yōu)化的數(shù)字音頻盲水印算法[J]. 杭州電子科技大學(xué)學(xué)報, 2017, 37(2):28-33.
[4] 楊志疆. 基于MATLAB的半脆弱音頻水印系統(tǒng)的設(shè)計與實現(xiàn)[J]. 寶雞文理學(xué)院學(xué)報(自然科學(xué)版), 2018(1):44-47.
[5] 萬旭光, 劉凡. 軍事通信中基于DCT域直流分量的音頻數(shù)字水印技術(shù)研究[J]. 現(xiàn)代電子技術(shù), 2017, 40(13):14-16,20.
[6] 馬超逸, 瞿連政. 基于SOA架構(gòu)的戰(zhàn)場態(tài)勢服務(wù)原型系統(tǒng)設(shè)計與實現(xiàn)[J]. 指揮控制與仿真, 2017, 39(5):104-108.
[7] 宋慧,李晨,田麗華,張玉龍.基于音頻特征MFCC的混合域脆弱水印算法[J].計算機(jī)工程與設(shè)計,2017,38(7):1885-1890.
[8] 宋慧,李晨,田麗華. 基于音頻特征MFCC的零水印算法[J]. 計算機(jī)應(yīng)用與軟件,2016, 33(10):140-144.
[9] 李振舉. 遙感云計算平臺原型系統(tǒng)設(shè)計與實現(xiàn)[J]. 測繪與空間地理信息, 2018(1):1-5.
【通聯(lián)編輯:張薇】