


摘 要:針對數字水印技術應用廣泛但指標計算及評價機制普遍不夠完善的現狀,本文在研究常用算法的基礎上建立了一個能夠滿足實際應用的數字水印系統基本功能模型,完成了對數字水印的指標計算及評價機制。該模型基于信息隱藏技術,綜合運用了多種數字水印算法,結合相關的技術手段,完成了相對較為完善的數字水印生成、嵌入、檢測和提取功能。最后通過一個簡單的實例應用驗證了本數字水印系統在多媒體版權保護及應用上的良好特性。
關鍵詞:信息隱藏;數字水印;系統模型
中圖分類號:TP399 文獻標識碼:A
1 引言(Introduction)
信息隱藏學是一門新興的交叉學科,在多個領域有著廣闊的應用前景。而數字水印技術除了具備信息隱藏技術的一般特點外,還具有更加安全、透明的特征和較強的魯棒性質[1,2]。因此數字水印技術已經越來越多地應用在各種領域,但是目前的應用研究對于數字水印的指標計算及評價機制普遍還不夠完善,本系統模型設計主要目的就是在研究比較各種數字水印算法的基礎上,完成了對數字水印的指標計算及評價機制[3]。
本文目的在于通過對信息隱藏及數字水印技術領域的常用算法的研究,提出可行的改進措施及方案,綜合相關的技術手段,建立能夠完成實際應用的數字水印系統模型并實現數字水印系統的基本功能及應用。
2 應用需求分析(Analysis of application requirement)
一套完整的數字水印系統模型,都必須包含嵌入和檢測兩大部分。嵌入過程至少具有兩個輸入量:一個是水印信息,它一般是以圖像文字等形式適當處理后作為待嵌入的水印信號(圖1);另一個就是載體數據,主要指準備嵌入水印的數字載體作品[4]。水印嵌入部分的輸出結果為含水印的載體作品,通常用于傳輸和轉錄。當含有水印的載體通過信道傳輸到接收方后,而檢測部分的目的是試圖盡可能的判斷出水印是否存在,若存在則提取出水印信號用于版權的檢測(圖2)或授權的鑒別等進一步的操作[5]。
由以上分析可知,本系統需要建立基于信息隱藏技術的一套數字水印系統模型,確定框架的主要功能及模塊內容。在本系統模型中,首先將需要嵌入的數字水印進行了簡單的粗處理,再將處理完的數字水印嵌入到相應的載體中,等載體作品需要鑒定作品產權時候,再將嵌入的數字水印進行相應檢測并跟其分離提取,然后對數字水印的質量和正確性進行測試和評估[6]。
3 系統總體模型設計(Design of system general model)
3.1 系統模型的構成
本數字水印系統主要由三個部分組成:水印生成、水印嵌入和水印的檢測及提取[7]。根據不同的應用,這三個部分的設計要求各有側重,各有不同。
(1)水印生成階段:水印信息一般都包含了有意義的需要隱藏的信息如版權、發行者、產品的使用及標識等信息。為了保護隱藏這些有意義的水印信息,在它們作為水印之前都進行相應的加密處理,以保證生成的水印信號唯一而有效性。因此水印的生成可以由生成函數來確定,而水印和生成函數通常都基于加密系統、混沌序列、偽隨機數生成函數、置亂算法等。設W1為有意義的需要隱藏的信息,G為水印生成的函數,W為生成的水印,則有G=T.R。
為了得到基于數字產品的水印W,需要知道用于修改原始水印信息的算法T,而對于T的算法要求也會根據不同應用的需求而改變[8]。有的應用要求建立易損水印或用于版權爭議的穩健水印,即當數字產品的差別也能產生不同的水印;有的應用則要求數字水印對數字產品及其相似的產品版本有依賴性,如半易損水印。在基于信息偽裝的應用中,由于信息偽裝要求隱藏信息的不可檢測性,因此對于算法T通常不作要求。
算法R用于輸出基于密鑰K原始水印W。R可以是基于加密系統的、基于偽隨機函數的、基于混沌序列的、基于置亂算法的。當R為加密系統服務時,K表示加密的密鑰信息。而為了生成偽隨機函數,R為偽隨機函數服務時,K則表示偽隨機發生器的種子[9]。當R為混沌序列服務時,K表示生成混沌序列初始參數值。當R基于置亂算法時,K表示置亂的次數。算法R可以用于通常的數字水印系統,同時由于算法R的存在即使攻擊者成功的提取出了水印,也無法解密隱藏信息。數字水印生成策略圖,如圖3所示。
(2)水印嵌入算法及策略:將預處理后生成的水印信息嵌入到原始的載體數字產品中,就是水印嵌入的過程,其中水印信息用W={w(i)}表示,載體數字產品用S={s0(i)}表示。因此通常的水印嵌入過程可以表示為:
sw(i)=s0(i)∪h(i)∪w(i)。其中∪表示疊加處理,H=h(i)表示水印的偽裝或加權處理,常用的兩種嵌入規則如下:
加法嵌入規則 sw=s0+h(i)*w(i)
乘法嵌入規則 sw= s0*(1+h(i)*w(i))
s0表示采樣強度/幅度(空域/時域)或者是變換域的系數值。
近年來,另一種融合嵌入規則得到了廣泛的關注,其嵌入規則是:
sw=(1-h(i))*s0+h(i)*w(i)),這種規則對原始數據s0和水印w進行了綜合考慮,在不影響人類視覺的前提下,適當的對s0進行一定程度的修改。
嵌入水印的強度一般用水印加權h來代表。水印的強度越大則魯棒性越好,但是會影響水印的透明性[10]。因此需要在水印的魯棒性和透明性之間進行折中,兼顧兩方面的需求以取得最好的效果。數字水印嵌入策略圖,如圖4所示。
(3)水印檢測算法及策略
在已知載體數字產品中檢測是否存在目標水印或者進一步解密恢復目標水印并把它從載體數字產品中分離提取出來的過程就是水印檢測。水印檢測根據檢測過程是否需要原始的載體數字產品可以分成非盲(nonblind)水印檢測和盲(blind)水印檢測兩種[11]。從檢測效果來分析,一般需要較好檢測率和較高穩健可靠性時候,通常采用非盲水印檢測,而盲水印檢測應用的范圍廣泛而且計算的效率更高。在水印的檢測過程中,可能會產生兩種誤報:
一種是數字產品中實際不存在水印而檢測出有水印存在(虛報)。
另一種是數字產品中實際存在有水印而檢測顯示水印不存在(漏報)。
這二種錯誤發生的概率稱為虛警率Pfa和漏警率Pmiss。總的錯誤率Perror是兩者相加的和,即Perror=Pfa+Pmiss。在實際應用中可以預先設定可以接受的錯誤率Perror、Pfa或者Pmiss。
對于水印檢測算法一般要求具有良好的可靠性和計算效率。在實際的應用中可以根據其應用的場合適當的降低。數字水印檢測策略圖如圖5所示。
綜上所述基于信息隱藏的數字水印系統的基本框架模型圖,如圖6所示。
3.2 核心機制的設計
首先,本系統對數字水印及載體圖像的預處理主要運用置亂算法、混沌序列,以及已有的密碼技術來實現。在系統中實現的置亂算法包括Arnold及幻方置亂,實現的混沌序列包括Logistic映射函數及混合光學雙穩模型生成混沌序列,能夠對生成的混沌序列進行歸一化的處理和相應的序列調制(如0,1序列;-1,1的雙極性序列)。能夠方便的應用已經成熟的密碼技術來實現相關的加密(如HASH函數、RSA等)。
其次,本系統設計實現數字水印嵌入的采用了多重算法,包括常見的LSB、DCT、DWT算法,以及基于HVS的自適應算法。利用這些算法能完成雙重及多重水印的嵌入,也能夠完成對WAV音頻載體的數字水印嵌入。
在利用系統進行數字水印的嵌入時,系統找到能嵌入數字水印的魯棒性最強的區域,在不影響載體透明性的情況下,嵌入標志、算法、數字水印大小等的系統信息。在檢測時提取此系統信息,如果此信息不存在,可以選擇通過指定提取算法來進行數字水印的提取,也可以選擇由系統調用所有的數字水印的提取函數對疑似含水印載體進行數字水印提取,最后由人工判別是否提取成功。提取水印的算法和嵌入水印的算法一般是配套。
之外,由于本系統對數字水印算法的評估參考是基于數字水印抗攻擊能力的判斷,因此需要對數字水印的抗攻擊功能進行各種攻擊,其中部分的攻擊方法也可以作為對數字水印或者載體預處理的一部分,如中值濾波、圖像的幾何處理等。同時還能計算出相應的技術指標值(如NC、PSNR等),并根據計算出的指標值提示數字水印的透明性及魯棒性的特點[12]。
3.3 系統結構圖
數字水印系統模型結構圖,如圖7所示。
數字水印系統功能流程圖,如圖8所示。
3.4 系統的功能設計
數字水印系統主要按六個步驟來完成各個功能。
(1)對數字水印及原始載體進行預處理
確認需要嵌入的數字水印后,需要分析判定采用哪種嵌入及檢測的方式(盲水印還是非盲水印)。利用相關的算法對數字水印進行嵌入前的預處理,包括轉換成二進制比特序列、加密、置亂等預處理的過程,一方面增強數字水印的安全性,另一方面通過處理使數字水印的數據信息分布更加合理,從而有利于數字水印嵌入和檢測。同時對原始的載體也進行相應的預處理,如載體的選擇,根據不同的原始載體及需要實現的功能需要選擇相應的處理步驟(如載體摘要信息的提取、原始載體的圖像的圖像增強、聲頻視頻信息的濾波等處理)。數字水印及原始載體的預處理的目的在于增強數字水印的安全,使原始載體提供更大的嵌入容量,能更容易更方便的嵌入及檢測到數字水印,有利于數字嵌入及檢測恢復,最終生成需要嵌入的數字水印及水印載體。
(2)將數字水印嵌入到原始載體中
將水印附加到對應的原始載體上,需要選擇合適的算法。選擇嵌入算法一般要綜合考慮數字水印的透明性和魯棒性,既不能讓人輕易地發現數字水印的存在,又要保證水印載體的數字水印若被破壞或刪除將降低載體質量甚至不可使用。所以根據完成數字水印功能的同時需要兼顧這兩方面的應用需要,可以同時嵌入兩個或者多個數字水印,以完成不同應用需求。數字水印嵌入流程圖,如圖9所示。
(3)檢測數字水印
接收到載體后,需要檢測載體中是否有數字水印的存在,一般都是預先確定相應的算法和密鑰再對目標載體進行針對性的檢測。數字水印的檢測包括盲水印檢測及非盲水印檢測,非盲水印檢測的準確率高但是使用范圍有限,不如盲水印檢測,在檢測過程中可能會出現有虛報和漏報的情況。
(4)提取數字水印
當目標載體經過檢測確定有數字水印存在時,需要通過預先確定的算法及密鑰將載體中的數字水印分離提取和恢復出來。如果提取出來的數字水印符合版權要求、產品就能被合法使用,提取數字水印的流程圖,如圖10所示。
(5)測試數字水印的魯棒性
數字水印抗攻擊的能力主要以數字水印魯棒性測試結果來衡量。比如對圖像載體還包括JPEG圖像可壓縮、圖像旋轉、圖像幾何處理等濾波、加噪攻擊能力的測試。
(6)計算及評估數字水印相關指標
數字水印的性能主要用數字水印及嵌入后的載體給予量化的數值來評估,包括峰值信噪比(PSNR)、信噪比(SNR)、相關系數(NC)、均方差(MSE)等。其實對于人類視覺系統(HSV)及聽覺系統(HAS)的閾值JND的確定也是一種評估的計算,其目的在于度量各個元素可修改的值的范圍[13]。
4 數字水印系統的實現(Implementation of digital watermarking system)
4.1 系統開發工具
在本系統的實現中,數字水印的嵌入、檢測、提取和恢復部分的處理、相關數據的分析和圖形圖像的生成等算法的實現主要由MATLAB工具來完成,對于系統界面的設計及實現,以及一些MATLAB處理速度較慢的操作如數據的排序,大循環語句的處理等由.NET開發平臺來實現。通過MATLAB與.NET搭建的應用程序的開發環境完成整個系統模型的實現。
4.2 界面及系統功能說明
圖11列出的是實現的數字水印系統模型程序的部分界面及功能。在實現的數字水印系統模型中可以對數字水印進行預處理操作包括置亂、混沌映射、數字調制和加密等。
4.3 實例應用
圖12是某數字載體作品在使用本數字水印系統進行Arnold置亂預處理操作的界面,也列出的單數字水印嵌入操作的界面,程序將根據選擇的操作執行Arnold置亂或反置亂,執行選定嵌入算法的(LSB、DWT、DCT、HSV等)數字水印嵌入,并計算出相關的技術參數指標(PSNR、SNR、NC、MSE)。
在圖13實例應用中,本文討論的數字水印系統模型程序功能都能在其中找到對應的程序命令,包括數字水印預處理、嵌入、檢測、提取和恢復、攻擊及測試、相關技術指標的計算和數字水印的評價[14],所有功能一目了然。
本系統中對于水印算法的分析及測試由StirMark來完成。StirMark是一個由劍橋大學開發的用于數字水印研究的測試工具。StirMark用于測試的攻擊手段包括線性濾波、非線性濾波、剪切/拼接攻擊、同步性破壞攻擊等,可以從多方面測試水印算法的魯棒性。目前數字水印技術方面公開發行的學術論文一般衡量水印算法好壞都以StirMark的攻擊結果作為標準[15]。
5 結論(Conclusion)
通過實例使用驗證,本文建立的數字水印系統可以較好地完成數字水印預處理、水印嵌入、水印的檢測、水印提取和功能執行等流程,并且利用MATLAB和VS.NET作為開發工具實現了綜合運用基于人類視覺模型數字水印算法、雙重及多重數字水印算法、雙重自恢復數字水印算法、基于音頻載體的數字水印算法,以及常用的LSB、DCT、DWT等數字水印算法的數字水印技術應用。利用本系統模型實現數字水印應用時,能在有效提高水印算法魯棒性的同時,兼顧數字水印對透明性的要求,并且各種抗攻擊檢測下來,綜合指標良好。
參考文獻(References)
[1] D.L.Shinfeng,C.F.Chen.A Robust DCT-Based Watermarking for Copyright Protection.IEEE Transactions on Consumer Electronics,2000(2):185-192.
[2] Suhail M A,Obaidat M S.Digital Watermarking-Based DCT and JPEG Model.IEEE Transactions on Instrumentation and Measurement,2003(3):255-263.
[3] Hernandez J R,AmadoM,Gonzalez P F.DCT-Domain Watermarking Techniques for Still Images:Detector Performance Analysis and a New Structure.IEEE Transactions on Image Processing,2000,9(1):55-68.
[4] 郭永.數字水印技術在電力文檔安全傳輸中的研究[J].信息技術,2016(10):110-111.
[5] 劉巖,等.數字水印技術及其在電力系統中的應用[J].電力信息化,2005,3(6):91-92.
[6] 王曉紅 ,等.一種彩色QR碼嵌入彩色圖像的數字水印技術[J].光電子激光,2016(10):136-138
[7] 穆國吉.數字水印及其在印刷行業中的應用[J].印刷質量與標準化,2014(3):17-20.
[8] 許冬凌.數字水印相關問題淺析[J].辦公室業務,2013(05):225-226.
[9] 聶廷遠,等.多重加密的數字水印生成方法[J].計算機工程與設計,2013,34(9):3054-3057.
[10] 楊瑩.幾種常用的數字水印算法研究[J].計算機光盤軟件與應用,2012(19):136.
[11] 古麗江·庫爾班.探討數字水印與數字密寫的差異[J].數字技術與應用,2011(1):117.
[12] 王俠.數字水印技術的研究與應用[J].數字技術與應用,2011(3):88-89.
[13] 劉佳鳴,張鴻賓.基于數字水印和傳統加密技術的數字版權管理系統框架的研究[J].計算機科學,2008,35(4):254-256;271.
[14] 陳旭輝.數字水印系統在高校數字圖書館中的應用[J].機電技術,2011,34(5):12-16.
[15] 張勇,賴惠成.圖像數字水印系統的框架模型及攻擊方法研究[J].新疆職業大學學報,2008,16(1):75-77.
作者簡介:
張天星(1977-),女,碩士,講師.研究領域:計算機應用技術.