版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章緒論第二章數(shù)字水印基本原理2.1概述對數(shù)字水印(DigitalWatermarking)技術(shù)來說,載體對象通常是數(shù)字產(chǎn)品,是版權(quán)保護(hù)對象,而所嵌入的信息則是與該產(chǎn)品相關(guān)的版權(quán)標(biāo)志、購買者或者其他相關(guān)信息。其是將一些標(biāo)識信息(即數(shù)字水印)直接嵌入數(shù)字載體當(dāng)中(包括多媒體、文檔、軟件等)或是間接表示(修改特定區(qū)域的結(jié)構(gòu)),不影響原載體的使用價(jià)值,也不容易被探知和再次修改,但可以被生產(chǎn)方識別和辨認(rèn)。通過這些隱藏在載體中的信息,可以達(dá)到確認(rèn)內(nèi)容創(chuàng)建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的。2.2數(shù)字水印的特點(diǎn)作為數(shù)字水印技術(shù)基本上具有下面幾個(gè)方面的特點(diǎn):1、安全性:表現(xiàn)為水印能夠抵抗惡意攻擊的能力。數(shù)字水印的信息應(yīng)是安全的,難以篡改或偽造,同時(shí),應(yīng)當(dāng)有較低的誤檢測率,當(dāng)原內(nèi)容發(fā)生變化時(shí),數(shù)字水印應(yīng)當(dāng)發(fā)生變化,從而可以檢測原始數(shù)據(jù)的變更;當(dāng)然數(shù)字水印同樣對重復(fù)添加有較強(qiáng)的抵抗性2、隱蔽性:數(shù)字水印應(yīng)是不可知覺的,而且應(yīng)不影響被保護(hù)數(shù)據(jù)的正常使用;不會降質(zhì);3、魯棒性:是指在經(jīng)過常規(guī)信號處理后,數(shù)字水印仍能保持部分完整性并能被準(zhǔn)確鑒別。可能的信號處理過程包括信道噪聲、濾波、數(shù)/模與模/數(shù)轉(zhuǎn)換、重采樣、剪切、位移、尺度變化以及有損壓縮編碼等。主要用于版權(quán)保護(hù)的數(shù)字水印易損水?。‵ragileWatermarking),這種水印是在內(nèi)容數(shù)據(jù)中嵌入不可見的信息。當(dāng)內(nèi)容發(fā)生改變時(shí),這些水印信息會相應(yīng)地發(fā)生改變,從而可以鑒定原始數(shù)據(jù)是否被篡改。4、水印容量:是指載體在不發(fā)生形變的前提下可嵌入的水印信息量。嵌入的水印信息必須足以表示多媒體內(nèi)容的創(chuàng)建者或所有者的標(biāo)志信息,或購買者的序列號,這樣有利于解決版權(quán)糾紛,保護(hù)數(shù)字產(chǎn)權(quán)合法擁有者的利益。尤其是隱蔽通信領(lǐng)域的特殊性,對水印的容量需求很大[11]。2.3數(shù)字水印的基本原理2.3.1數(shù)字水印系統(tǒng)的基本框架粗略來看,數(shù)字水印系統(tǒng)包含嵌入器和檢測器兩大部分。嵌入器至少具有兩個(gè)輸入量:一個(gè)是原始信息,它通過適當(dāng)變換后作為待嵌入水印信號;另一個(gè)就是要在其中嵌入水印的載體作品。水印嵌入器輸出結(jié)果為含水印的載體作品,通常用于傳輸和轉(zhuǎn)錄。之后這件作品或另一件未經(jīng)過這個(gè)嵌入器的作品可以作為水印檢測器的輸入量。具體如圖2-1所示:圖2-1數(shù)字水印處理系統(tǒng)基本框架通用的水印技術(shù)包含兩個(gè)方面:水印的嵌入和水印的提取、檢測,如圖2-2和圖2-3所示。水印信息水印信息原始數(shù)據(jù)密鑰水印嵌入算法含水印產(chǎn)品圖2-2水印信號嵌入水印載體水印載體原始數(shù)據(jù)密鑰水印提取算法水印提取或檢測圖2-3水印信號提取或檢測2.4數(shù)字水印的幾種主要算法對于水印嵌入和提取技術(shù),縱觀近幾年來相關(guān)的報(bào)道和文獻(xiàn),從整體框架構(gòu)思到具體實(shí)現(xiàn)細(xì)節(jié),可以說是百花齊放,設(shè)計(jì)思想往往取決于研究人員的研究背景和入手角度。一般來講,主要包括以下幾個(gè)方面:1、空間域水印L.F.Turner與R.G.vanSchyndel等人的空間域水印算法是最低有效位算法(LSB)與改進(jìn)算法。由于該算法是通過調(diào)整原始數(shù)據(jù)的最低幾位來隱藏信息,使一般用戶對于隱藏信息,在視覺上很難察覺。雖然其有較大的信息嵌入量,但作為數(shù)字水印算法,因其基本原理限制,所隱藏的數(shù)字水印信息是極為脆弱的,無法經(jīng)受一些有損的信號處理。Bander等人提出的基于統(tǒng)計(jì)的數(shù)字水印方案(Patchwork)和紋理塊映射編碼方法則是空間域水印技術(shù)的典型設(shè)計(jì)。Patchwork任意選擇N對圖像點(diǎn),增加其一點(diǎn)的亮度的同時(shí),相應(yīng)降低另一點(diǎn)的亮度值。通過這一調(diào)整過程完成水印的嵌入。該算法具有不易察覺性,并且對于有損壓縮編碼(JPEG)和一些惡意攻擊處理等具有抵抗力。紋理塊映射編碼方法則是將數(shù)字信息隱藏于數(shù)字圖像的任意紋理部分,其將隱藏信息紋理映射到另一紋理相似的區(qū)域。該算法對于濾波、壓縮和扭轉(zhuǎn)等操作具有抵抗力,但僅適于具有大量任意紋理區(qū)域的圖像。Pitas和Kaskalis利用“Patchwork”算法的基本原理,提出了數(shù)字圖像簽名的思想。這種算法可以有效抵抗二次采樣攻擊與JPEG壓縮。2、變換域算法基于變換域的技術(shù)可以嵌入大量比特?cái)?shù)據(jù)而不會導(dǎo)致可察覺的缺陷,往往采用類似擴(kuò)頻圖像的技術(shù)來隱藏?cái)?shù)字水印信息。這類技術(shù)一般基于常用的圖像變換,基于局部或是全部的變換,這些變換包括離散余弦變換(discreteconsinetransform,DCT)、小波變換(discretewavelettransform,DWT)、傅氏變換(fouriertransform,F(xiàn)T)以及哈達(dá)馬變換(Hadamardtransform)等等。其中基于分塊的DCT是最常用的變換之一,現(xiàn)在所采用的靜止圖像壓縮標(biāo)準(zhǔn)JPEG也是基于分塊DCT的。最早的基于分塊DCT的一種數(shù)字水印技術(shù)方案是由一個(gè)密鑰隨機(jī)地選擇圖像的一些分塊,在頻域的中頻上稍稍改變一個(gè)三元組以隱藏二進(jìn)制序列信息。選擇在中頻分量編碼是因?yàn)樵诟哳l編碼易于被各種信號處理方法所破壞,而在低頻編碼則由于人的視覺對低頻分量很敏感,對低頻分量的改變易于被察覺。該數(shù)字水印算法對有損壓縮和低通濾波是穩(wěn)健的。另一種DCT數(shù)字水印算法是首先把圖像分成8×8的不重疊像塊,在經(jīng)過分塊DCT變換后,即得到由DCT系數(shù)組成的頻率塊,然后隨機(jī)選取一些頻率塊,將水印信號嵌入到由密鑰控制選擇的一些DCT系數(shù)中。該算法是通過對選定的DCT系數(shù)進(jìn)行微小變換以滿足特定的關(guān)系,以此來表示一個(gè)比特的信息。在水印信息提取時(shí),則選取相同的DCT系數(shù),并根據(jù)系數(shù)之間的關(guān)系抽取比特信息。除了上述有代表性的變換域算法外,還有一些變換域數(shù)字水印方法,它們當(dāng)中有相當(dāng)一部分都是上述算法的改進(jìn)及發(fā)展,這其中有代表性的算法是I.Podichuk和ZengWen-jun提出的算法。他們的方法是基于靜止圖像的DCT變換或小波變換,研究視覺模型模塊返回?cái)?shù)字水印應(yīng)加載在何處及每處可承受的JND(JustNoticeableDifference恰好可察覺差別)的量值(加載數(shù)字水印的強(qiáng)度上限),這種水印算法是自適應(yīng)的。3、壓縮域算法基于JPEG、MPEG標(biāo)準(zhǔn)的壓縮域數(shù)字水印系統(tǒng)不僅節(jié)省了大量的完全解碼和重新編碼過程,而且在數(shù)字電視廣播及VOD(VideoOilDemand)中有很大的實(shí)用價(jià)值。相應(yīng)地,水印檢測與提取也可直接在壓縮域數(shù)據(jù)中進(jìn)行。Hartung提出了一種針對MPEG-2壓縮視頻數(shù)據(jù)流的數(shù)字水印案。雖然MPEG-2數(shù)據(jù)流語法允許把用戶數(shù)據(jù)加到數(shù)據(jù)流中,但是這種方案并不適合數(shù)字水印技術(shù),因?yàn)橛脩魯?shù)據(jù)可以簡單地從數(shù)據(jù)流中去掉,同時(shí)在MPEG-2編碼視頻數(shù)據(jù)流中增加用戶數(shù)據(jù)會加大位率,使之不適于固定帶寬的應(yīng)用,所以關(guān)鍵是如何把水印信號加到數(shù)據(jù)信號中,即加入到表示視頻幀的數(shù)據(jù)流中。對于輸入的MPEG-2數(shù)據(jù)流而言,它可分為數(shù)據(jù)頭信息、運(yùn)動向量(用于運(yùn)動補(bǔ)償)和DCT編碼信號塊3部分,在Hartung方案中,只有MPEG-2數(shù)據(jù)流最后一部分?jǐn)?shù)據(jù)被改變,其原理是,首先對DCT編碼數(shù)據(jù)塊中每一輸入的Huffman碼進(jìn)行解碼和逆量化,以得到當(dāng)前數(shù)據(jù)塊的一個(gè)DCT系數(shù);其次,把相應(yīng)水印信號塊的變換系數(shù)與之相加,從而得到水印疊加的DCT系數(shù),再重新進(jìn)行量化和Huffman編碼,最后對新的Huffman碼字的位數(shù)n,與原來的無水印系數(shù)的碼字n0進(jìn)行比較,只在n1不大于n0的時(shí)候,才能傳輸水印碼字,否則傳輸原碼字,這就保證了不增加視頻數(shù)據(jù)流位率。該方案有一個(gè)問題值得考慮,即引入的水印信號是一種引起降質(zhì)的誤差信號,而基于運(yùn)動補(bǔ)償?shù)木幋a方案會將一個(gè)誤差擴(kuò)散和累積起來,為解決此問題,該算法采取了漂移補(bǔ)償?shù)姆桨竵淼窒蛩⌒盘柕囊胨鸬囊曈X變形。4、NEC算法該算法由NEC實(shí)驗(yàn)室的Cox等人提出,該算法在數(shù)字水印算法中占有重要地位,其實(shí)現(xiàn)方法是,首先以密鑰為種子來產(chǎn)生偽隨機(jī)序列,該序列具有高斯N(0,1)分布,密鑰一般由作者的標(biāo)識碼和圖像的哈希值組成,其次對圖像做DCT變換,最后用偽隨機(jī)高斯序列來調(diào)制(疊加)該圖像除直流分量外的1000個(gè)最大的DCT系數(shù)。該算法具有較強(qiáng)的魯棒性、安全性、透明性等。由于采用特殊的密鑰,故可防止IBM攻擊,而且該算法還提出了增強(qiáng)水印魯棒性和抗攻擊算法的重要原則,即水印信號應(yīng)該嵌人源數(shù)據(jù)中對人感覺最重要的部分,這種水印信號由獨(dú)立同分布隨機(jī)實(shí)數(shù)序列構(gòu)成,且該實(shí)數(shù)序列應(yīng)具有高斯分布N(0,1)的特征。隨后Podilchuk等利用人類視覺模型又對該算法進(jìn)行了改進(jìn),從而提高了該算法的魯棒性、透明性等。5、生理模型算法人的生理模型包括人類視覺系統(tǒng)HVS和人類聽覺系統(tǒng)HAS。該模型不僅被多媒體數(shù)據(jù)壓縮系統(tǒng)利用,同樣可以供數(shù)字水印系統(tǒng)利用。它們的基本思想均是利用從視覺模型導(dǎo)出的JND描述來確定在圖像的各個(gè)部分所能容忍的數(shù)字水印信號的最大強(qiáng)度,從而能避免破壞視覺質(zhì)量,也就是說,利用視覺模型來確定與圖像相關(guān)的調(diào)制掩模,然后再利用其來插人水印。這一方法同時(shí)具有好的透明性和魯棒性。2.5數(shù)字水印的分類1、按特性劃分按水印的特性可以將數(shù)字水印分為魯棒性數(shù)字水印和易損性數(shù)字水印兩類。魯棒性數(shù)字水印主要用于在數(shù)字作品中標(biāo)識著作權(quán)信息,利用這種水印技術(shù)在多媒體內(nèi)容的數(shù)據(jù)中嵌入創(chuàng)建者、所有者的標(biāo)示信息,或者嵌入購買者的標(biāo)示(即序列號)。在發(fā)生版權(quán)糾紛時(shí),創(chuàng)建者或所有者的信息用于標(biāo)示數(shù)據(jù)的版權(quán)所有者,而序列號用于追蹤違反協(xié)議而為盜版提供多媒體數(shù)據(jù)的用戶。用于版權(quán)保護(hù)的數(shù)字水印要求有很強(qiáng)的魯棒性和安全性,除了要求在一般圖像處理(如:濾波、加噪聲、替換、壓縮等)中生存外,還需能抵抗一些惡意攻擊。易損性水印,與魯棒水印的要求相反,易損數(shù)字水印主要用于完整性保護(hù),這種水印同樣是在內(nèi)容數(shù)據(jù)中嵌入不可見的信息。當(dāng)內(nèi)容發(fā)生改變時(shí),這些水印信息會發(fā)生相應(yīng)的改變,從而可以鑒定原始數(shù)據(jù)是否被篡改。易損水印應(yīng)對一般圖像處理(如:濾波、加噪聲、替換、壓縮等)有較強(qiáng)的免疫能力(魯棒性),同時(shí)又要求有較強(qiáng)的敏感性,即:既允許一定程度的失真,又要能將失真情況探測出來。必須對信號的改動很敏感,人們根據(jù)易損水印的狀態(tài)就可以判斷數(shù)據(jù)是否被篡改過。2、按水印所附載的媒體劃分按水印所附載的媒體,我們可以將數(shù)字水印劃分為圖像水印、音頻水印、視頻水印、文本水印以及用于三維網(wǎng)格模型的網(wǎng)格水印等。隨著數(shù)字技術(shù)的發(fā)展,會有更多種類的數(shù)字媒體出現(xiàn),同時(shí)也會產(chǎn)生相應(yīng)的水印技術(shù)。3、按檢測過程劃分按水印的檢測過程可以將數(shù)字水印劃分為明文水印和盲水印。明文水印在檢測過程中需要原始數(shù)據(jù),而盲水印的檢測只需要密鑰,不需要原始數(shù)據(jù)。一般來說,明文水印的魯棒性比較強(qiáng),但其應(yīng)用受到存儲成本的限制。目前學(xué)術(shù)界研究的數(shù)字水印大多數(shù)是盲水印。4、按內(nèi)容劃分按數(shù)字水印的內(nèi)容可以將水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是某個(gè)數(shù)字圖像(如商標(biāo)圖像)或數(shù)字音頻片段的編碼;無意義水印則只對應(yīng)于一個(gè)序列號。有意義水印的優(yōu)勢在于,如果由于受到攻擊或其他原因致使解碼后的水印破損,人們?nèi)匀豢梢酝ㄟ^視覺觀察確認(rèn)是否有水印。但對于無意義水印來說,如果解碼后的水印序列有若干碼元錯(cuò)誤,則只能通過統(tǒng)計(jì)決策來確定信號中是否含有水印。5、按水印隱藏的位置劃分按數(shù)字水印的隱藏位置,我們可以將其劃分為時(shí)(空)域數(shù)字水印、頻域數(shù)字水印、時(shí)/頻域數(shù)字水印和時(shí)間/尺度域數(shù)字水印。時(shí)(空)域數(shù)字水印是直接在信號空間上疊加水印信息,而頻域數(shù)字水印、時(shí)/頻域數(shù)字水印和時(shí)間/尺度域數(shù)字水印則分別是在DCT變換域、時(shí)/頻變換域和小波變換域上隱藏水印。隨著數(shù)字水印技術(shù)的發(fā)展,各種水印算法層出不窮,水印的隱藏位置也不再局限于上述四種。應(yīng)該說,只要構(gòu)成一種信號變換,就有可能在其變換空間上隱藏水印。第三章數(shù)字水印的關(guān)鍵技術(shù)3.1公鑰密碼算法——RSA1976年Diffle和Hellman發(fā)表了“密碼學(xué)的新方向”一文,提出了公鑰密碼算法。它不僅使對稱密碼的密鑰分發(fā)困難得到有效解決,而且可用于數(shù)字水印,為網(wǎng)絡(luò)時(shí)代的信息安全提供新的理論和技術(shù)基礎(chǔ)。公鑰加密體制系統(tǒng)如圖3-1所示:圖3-1公鑰密碼系統(tǒng)本系統(tǒng)運(yùn)用基于數(shù)論的互素?cái)?shù)、指數(shù)模和模逆元計(jì)算的\o"RSA算法"RSA算法。大數(shù)的因子的分解是RSA的安全性的保證,但同時(shí)并沒有從\o"理論"理論上證明破譯RSA的難度與大數(shù)分解難度等價(jià)。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學(xué)界多數(shù)人士傾向于因子分解而不是NPC問題。任何算法都有其自身的缺陷,RSA的缺點(diǎn)主要有:A)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。B)其速度較慢。由于RSA算法涉及大數(shù)的高次冪模運(yùn)算,計(jì)算量很大。這種算法出現(xiàn)于1978年,它是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字以發(fā)明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理論上的證明。
RSA的安全性依賴于大數(shù)分解。公鑰和\o"私鑰"私鑰都是兩個(gè)大素?cái)?shù)(大于100個(gè)十進(jìn)制位)的函數(shù)。據(jù)猜測,從一個(gè)密鑰和密文推斷出明文的難度等同于分解兩個(gè)大素?cái)?shù)的積。
為了計(jì)算兩個(gè)密鑰,給定兩個(gè)大素?cái)?shù),p和q,并計(jì)算。計(jì)算:
n=p*q、r=(p-1)*(q-1)然后隨機(jī)選擇加密密鑰e,要求e和r互質(zhì),即互素?cái)?shù)。再然后,利用歐幾里得(Euclid)擴(kuò)展算法計(jì)算解密密鑰d,它滿足
e*d=1(modr)
其中,e即為公鑰,d即為私鑰。e和n是公開的,p和q在加解密過程中不再需要,但絕不能泄露,應(yīng)該丟棄。給定\o"加密信息"加密信息(明文)
m(二進(jìn)制表示)時(shí),首先把m分成等長數(shù)據(jù)塊m1,m2,...,mi,塊長s,其中s應(yīng)小于n的位數(shù),對應(yīng)的加密密文是:
ci=mi^e(modn) (3-1)得到相應(yīng)的密文塊,加密后的密文m由相同長度的密文塊ci組成。解密時(shí)作如下計(jì)算:
mi=ci^d(modn) (3-2)
RSA可用于數(shù)字簽名時(shí),簽名是用(3-1)式,驗(yàn)證使用(3-2)式。具體操作時(shí)考慮到安全性和m信息量較大等因素,一般是先作HASH運(yùn)算。
破譯者要解密,就要根據(jù)已知的e和n,計(jì)算d。而要計(jì)算d,應(yīng)知道r,因而必須知道p和q。但是,如果n是一個(gè)600位的大整數(shù),如何能在有生之年將它分解為兩個(gè)素?cái)?shù)因子呢,據(jù)研究,目前最快的計(jì)算機(jī)也無法做到。這就是
RSA的安全所性依賴的。但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆]有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法。現(xiàn)在,人們已能分解140多個(gè)十進(jìn)制位的大素?cái)?shù)。因此,模數(shù)n必須選大一些,因應(yīng)就具體適用情況而定。
3.2數(shù)字圖像置亂技術(shù)置亂技術(shù)是隨著信息的安全和保密被重視而發(fā)展起來的圖像加密技術(shù)。它可以看作是從經(jīng)典密碼學(xué)中的單表系統(tǒng)擴(kuò)展而來的。數(shù)字圖像置亂即是一種加密方法,合法使用者可以自由控制算法的選擇,參數(shù)的選擇以及使用隨機(jī)數(shù)技術(shù),達(dá)到非法使用者無法破譯圖像內(nèi)容的目的[12]。3.2.1數(shù)字圖像置亂技術(shù)的基本概念經(jīng)典密碼學(xué)對于一維數(shù)據(jù)流提供了很好的加解密算法,其中如DES、RSA等著名密碼系統(tǒng)得到了廣泛的應(yīng)用,但是這些系統(tǒng)往往忽視數(shù)字圖像的一些特殊性質(zhì)如二維的自相似性、大數(shù)據(jù)量等。圖像置亂技術(shù)早期是對模擬圖像的位置空間做置換,可以看作從經(jīng)典密碼學(xué)中的單表系統(tǒng)擴(kuò)展而來。對于數(shù)字化的圖像,置亂過程不僅可以在數(shù)字圖像的空域(色彩空間、位置空間)上進(jìn)行,還可以在數(shù)字圖像的頻域上進(jìn)行。數(shù)字圖像置亂即是對數(shù)字圖像的一種加密方法,它使得合法使用者可以自由控制算法的選擇、參數(shù)的選擇以及使用隨機(jī)數(shù)技術(shù),這就給攻擊者帶來非法破譯的難度,主要表現(xiàn)在統(tǒng)計(jì)分析各種可能的組合的巨大計(jì)算量。此外,近年興起的信息隱藏以及數(shù)字水印技術(shù),從不同角度對數(shù)字圖像的隱藏與偽裝、著作權(quán)保護(hù)等問題提出了一些解決方法,本文提出的數(shù)字水印算法把圖像置亂技術(shù)和水印技術(shù)結(jié)合起來,通過產(chǎn)生置亂算法和水印算法的密鑰來保護(hù)水印原始數(shù)據(jù)和跟蹤產(chǎn)品的流動等。數(shù)字圖像的置亂變換就是一種可逆變換,通過對數(shù)字圖像的位置或灰度級等做變換,來“擾亂”圖像,以達(dá)到在一定程度上迷惑第三者的目的。如果不知道所使用的置亂變換算法,很難恢復(fù)出原始圖像。置亂算法置亂算法圖3-1原始圖像和置亂后的圖像圖3-1給出了一個(gè)通過象素置亂算法得到的置亂圖像和原始圖像的比較。3.2.2最佳置亂度文獻(xiàn)[6]提出了最佳置亂度的定義,通過計(jì)算置亂度判斷圖像置亂的程度。圖像中的任意兩個(gè)像素的距離可以用公式表示如下: (3-3)式中(xi,yi),(xj.yj)分別表示像素的空間坐標(biāo)值,如果將圖像以矩陣形式表示,相當(dāng)于矩陣元素的行和列的值。某—矩陣元素和它相鄰的元素之間的距離稱為一階距離,用Dl(i,j)表示,將某一矩陣元素和它相距一個(gè)元素的元素之間的距離稱為二階距離,用D2(i,j)表示,同理相距n個(gè)元素的元素之間的距離稱為n階距離、用Dn(i,j)表示。定義1:一階置亂度是圖像I中所有像素的一階距離的均值和方差之比,用公式表示如下: (3-4)從公式3-4可以看出,一階距離的均值比較大表示置亂后相鄰像素之間的距離變大了.也即相鄰像素被分散了,—階距離的方差比較小表示距離變化程度比較集中,所以二者的比值越大表示置亂度越大,即原來完整的圖像的像素被均勻地打散的程度越大。直觀地看,置亂度大表示一幅圖像中原先空間距離小的像素對之間的距離變大了。因?yàn)橐浑A置亂度只定義了原來相鄰像素對之間的距離變化,還不足以十分精確地描繪置亂程度,為此將一階置亂度的公式推廣,引出n階置亂度的計(jì)算公式。(3-5)公式3-5中通過引入一個(gè)加權(quán)系數(shù)ak來體現(xiàn)不同階距離在置亂度中所起的作用,即首先考慮將相距最近的像素對盡量分散開,然后再考慮其它距離較大的像素對[12]。3.2.3Arnold變換Arnold變換是在Arnold遍歷理論研究中提出的一種變換,俗稱描臉變換。定義2設(shè)有單位正方形上的點(diǎn)(x,y),將點(diǎn)(x,y)變到另一點(diǎn)的變換為:此變換稱作貓變換。公式3-6定義的變換實(shí)際上是一種點(diǎn)的位置移動,該變換是一一對應(yīng)的,且具有周期性。此外,這種變換可以迭代地做下去。需要注意的是,Arnold變換具有周期性,即當(dāng)?shù)侥骋徊綍r(shí),將從新得到原始圖像。Dyson和Falk分析了離散Arnold變換的周期性,給出了對于任意,Arnold變換的周期,這也許是迄今最好的結(jié)果了。3.2.4基于Arnold變換的數(shù)字圖像位置置亂對于數(shù)字化圖像而言,我們所說的位置移動實(shí)際上是對應(yīng)點(diǎn)的灰度值或者RGB顏色值的移動,即將原來點(diǎn)處象素對應(yīng)的灰度值或RGB顏色值移動至變換后的點(diǎn)處。如果我們對一個(gè)數(shù)字圖像迭代地使用離散化的Arnold變換,即將左端輸出的作為下一次Arnold變換的輸入,可以重復(fù)這個(gè)過程一直作下去,當(dāng)?shù)侥骋徊綍r(shí),如果出現(xiàn)的圖像符合我們對圖像的“雜亂無章”標(biāo)準(zhǔn)的要求,這即是一副置亂了的圖像。圖3-2即是經(jīng)Arnold變換置亂后的圖像,我們可以看到對圖像只需進(jìn)行幾次Arnold變換迭代,原圖像就已經(jīng)雜亂無章了,置亂效果非常好。 (a)原始圖像 (b)一次Arnold變換后的圖像 (c)三次Arnold變換后的圖像 (d)五次Arnold變換后的圖像圖3-2Arnold變換置亂3.3DCT域數(shù)字水印3.3.1DCT變換概述離散余弦變換是數(shù)字圖像處理以及信號處理常用的一種正交變換,具有壓縮比高、誤碼率小、信息集中能力和計(jì)算復(fù)雜性綜合效果較好等優(yōu)點(diǎn),是圖像編碼的核心技術(shù)之一[13,14]。二維離散DCT變換及IDCT反變換公式如下:(3-7)DCT逆變換(3-8)圖像二維DCT變換(N取8或16)有許多優(yōu)點(diǎn):圖像信號經(jīng)過變換后,變換系數(shù)幾乎不相關(guān),經(jīng)過反變換重構(gòu)圖象信道誤差和量化誤差將像隨機(jī)噪聲一樣分散到塊中的各個(gè)像素中去,不會造成誤差累積,并且變換能將數(shù)據(jù)塊中的能量壓縮到為數(shù)不多的部分低頻系數(shù)中去(即DCT矩陣的左上角)。對于給定圖像存在兩種DCT變換方法:一種是把圖像看成一個(gè)二維矩陣直接對其進(jìn)行DCT變換,然后嵌入水印,Cox采用此種方法;另一種方法是與JPEG壓縮標(biāo)準(zhǔn)相統(tǒng)一,先把圖像分成8×8的不同小塊,再分別對每一塊進(jìn)行DCT變換,進(jìn)而嵌入水印。3.3.2DCT數(shù)字圖像水印基本特點(diǎn)不同的應(yīng)用對數(shù)字水印的要求不盡相同,一般認(rèn)為數(shù)字水印應(yīng)具有如下特點(diǎn):1、透明性:對于以模擬方式存儲和分發(fā)的信息(如電視節(jié)目),或是以物理形式存儲的信息(如報(bào)刊、雜志),用可見的標(biāo)志就足以表明其所有權(quán)。但在數(shù)字方式下,標(biāo)志信息極易被修改或擦除。因此應(yīng)根據(jù)多媒體信息的類型和幾何特性,利用用戶提供的密鑰將水印隱藏到一系列隨機(jī)產(chǎn)生的位置中,使人無法察覺。2、魯棒性:水印必須對一般的信號處理操作(如濾波、平滑、增強(qiáng)和有失真壓縮等)、刪除攻擊和迷惑攻擊等具有魯棒性。除非對數(shù)字水印具有足夠的先驗(yàn)知識,任何破壞和消除水印的企圖都將嚴(yán)重破壞多媒體信息的質(zhì)量。3、不可檢測性:包括兩方面的含義:(1)水印信息與原始載體數(shù)據(jù)具有一致的特性,使攻擊者無法通過信息分析手段判斷多媒體數(shù)據(jù)中是否存在水印;(2)水印信息本身具有不可統(tǒng)計(jì)性,避免攻擊者通過統(tǒng)計(jì)多個(gè)多媒體數(shù)據(jù)進(jìn)而分析存在的相似性來進(jìn)行攻擊。4、安全性:指水印嵌入算法具有較強(qiáng)的抵抗攻擊的能力,能夠承受一定程度的人為攻擊而使水印不會被破壞。5、自恢復(fù)性:經(jīng)過一些操作或者變換之后,可能會使原始載體數(shù)據(jù)產(chǎn)生較大的破壞,如果從留下的片斷數(shù)據(jù)能夠恢復(fù)信號,就是所謂的自恢復(fù)性。3.3.3DCT數(shù)字圖像水印基本特點(diǎn)3.4數(shù)字水印的模式識別3.4.1、模式識別的基本概念模式識別就是機(jī)器識別,計(jì)算機(jī)識別或機(jī)器自動識別,目的在于讓機(jī)器自動識別事物。3.4.2、數(shù)字水印的檢測方法:基于假設(shè)檢驗(yàn)的水印檢測設(shè)要檢驗(yàn)的作品x屬于一下兩種情況之一:H0: x=x’H1: x=x’+w 即假設(shè)H0假定接收到的作品x中沒有水印,稱之為零假設(shè)。假設(shè)H1假定接收到的作品x中嵌入水印w,稱之為備擇假設(shè)。滿足假設(shè)H0的作品全體組成集合R0,滿足假設(shè)H1的作品全體組成集合R1。假設(shè)檢驗(yàn)的方法,顧名思義,就是利用接受到的載體作品對假設(shè)進(jìn)行檢驗(yàn),從而判斷假設(shè)檢驗(yàn)是否成立。本章研究了實(shí)現(xiàn)的數(shù)字水印系統(tǒng)中用到的一些關(guān)鍵技術(shù)和對其中一小點(diǎn)的擴(kuò)展,在學(xué)習(xí)和研究這些技術(shù)的同時(shí),也為本文后續(xù)的工作做了充足的基礎(chǔ)準(zhǔn)備,在后期實(shí)現(xiàn)的過程中,也更深入的了解了這些技術(shù),并做了自己的優(yōu)化。第四章一種優(yōu)化的數(shù)字水印系統(tǒng)的實(shí)現(xiàn)4.1數(shù)字水印系統(tǒng)說明本文提出了一種優(yōu)化的數(shù)字水印算法,及基于系數(shù)關(guān)系的DCT域數(shù)字圖像水印算法。在嵌入的過程中,優(yōu)化嵌入內(nèi)容,提高原圖片的不可見性;在提取過程中,優(yōu)化提取判定條件,提高水印圖片的魯棒性。算法作用域在DCT變換后的中頻域內(nèi),通過算法的處理在DCT系數(shù)里嵌入二值水印,系統(tǒng)能夠支持彩色和灰度兩種格式的BMP圖像文件,并實(shí)現(xiàn)數(shù)字圖像的隱藏,且水印的提取完全是盲提取,不需要原始圖像,具有較強(qiáng)的安全性和魯棒性。4.2數(shù)字水印系統(tǒng)優(yōu)化設(shè)計(jì)普通數(shù)字水印系統(tǒng)僅僅包含對圖像的嵌入以及提取,用戶數(shù)字水印系統(tǒng)分為6個(gè)模塊,分別為用戶身份驗(yàn)證模塊、采集圖像等數(shù)據(jù)載體和預(yù)處理模塊、數(shù)字水印嵌入模塊、數(shù)字水印檢測模塊、水印提取以及水印測試模塊。充分分析用戶的需求,彌補(bǔ)了當(dāng)下系統(tǒng)人機(jī)操作不協(xié)調(diào)的缺陷。4.2.1用戶身份驗(yàn)證首先用戶只有獲得授權(quán)方能進(jìn)入系統(tǒng),其次對已授權(quán)的用戶的身份加以驗(yàn)證和加密保護(hù)。不僅保證了用戶的信息安全,而且可以實(shí)現(xiàn)用戶的分配。圖4-1用戶身份驗(yàn)證用例圖4.2.2采集圖像與預(yù)處理系統(tǒng)支持?jǐn)?shù)據(jù)載體的采集,查看,收藏,預(yù)處理等基本操作,優(yōu)化當(dāng)前系統(tǒng)用戶對初始圖片的采集,修改的缺陷。圖4-2預(yù)處理用例圖4.2.3數(shù)字水印的生成系統(tǒng)提供用戶生成自定義水印信息的功能,方便用戶添加自己的個(gè)人信息或者是版權(quán)信息。用戶可通過簡單的操作,實(shí)現(xiàn)自己的水印,而不需借助其他圖像處理工具。圖4-3水印生成用例圖4.2.4數(shù)字水印的嵌入通過水印嵌入算法,實(shí)現(xiàn)將水印信息與載體數(shù)據(jù)的融合,形成水印載體數(shù)據(jù)。圖4-4水印嵌入用例圖4.2.5數(shù)字水印提取對給定的圖像進(jìn)行水印的提取,采用盲檢測技術(shù),有水印則提取出水印,無則提取為空。實(shí)現(xiàn)將水印信息與載體信息分離,水印信息的可視化,可操作話。圖4-5水印提取用例圖4.2.6數(shù)字水印魯棒性檢測多角度,多方面對數(shù)字水印進(jìn)行測試,通過各類有意或無意的修改,結(jié)合預(yù)處理的操作,對載體圖像的亮度,大小,對比度進(jìn)行修改,然后再提取。測試提取結(jié)果與原圖片之間的差異。圖4-6水印檢測用例圖4.3數(shù)字水印系統(tǒng)優(yōu)化算法本系統(tǒng)核心是離散預(yù)先變換(DCT),運(yùn)用基于實(shí)數(shù)的正交變換,實(shí)現(xiàn)圖像的“能量集中”特性。但同時(shí)不局限于此,在原理論的基礎(chǔ)上,優(yōu)化改善DCT矩陣的生成、DCT中頻的確定、DCT系數(shù)的替換、統(tǒng)計(jì)均值比較算法規(guī)則等多個(gè)方面。提高水印系統(tǒng)的不可見性和魯棒性等基本要求,不可見性就是在載體圖像中嵌入水印圖像后不能被人的視覺系統(tǒng)覺察或注意到,而魯棒性就是能夠從嵌入水印后的載體圖像中提取出盡可能完整的水印圖像,而不因圖像數(shù)據(jù)的某種改動而導(dǎo)致水印信息丟失。由于人類視覺系統(tǒng)對圖像頻域空間的中低頻信息不敏感,所以,本文將水印圖像的中低頻DCT系數(shù)隱藏到載體圖像的中頻DCT系數(shù)中。為了提高水印的魯棒性,先對載體圖像分割成8*8的像素塊,然后將水印圖像分別嵌入到每一塊當(dāng)中;提取時(shí)從帶水印圖像的每一塊中提取出水印圖像,再計(jì)算這些水印圖像的平均值從而得到最終的水印圖像。對于彩色圖像的B分量即藍(lán)色分量按照這種方法進(jìn)行。4.3.1數(shù)字水印采集及預(yù)處理1、C#語言及其窗體程序,良好的用戶體驗(yàn)?zāi)壳暗乃∠到y(tǒng)多以matlab為基礎(chǔ),調(diào)用其自身所含圖像類,進(jìn)行數(shù)字水印的研究與系統(tǒng)實(shí)現(xiàn)。本系統(tǒng)采用微軟框架,以C#語言為基礎(chǔ),完成優(yōu)秀的界面設(shè)計(jì),提高用戶體驗(yàn)感受和操作舒適度。2、bitmap類和BitmapData類圖像處理類微軟C#語言框架對于圖像處理提供bitmap類,BitmapData類兩大主要類,可方便實(shí)現(xiàn)圖像的二值化存儲,以及圖像數(shù)據(jù)調(diào)入內(nèi)存操作,并提供Scan0屬性獲取位圖中第一個(gè)像素?cái)?shù)據(jù)的地址,方便對圖像的數(shù)據(jù)進(jìn)行定位和掃描。是圖像處理中公認(rèn)的較為方便的類。對圖像亮度調(diào)節(jié)主要代碼如下:BitmapDatadata=b.LockBits(newRectangle(0,0,width,height),ImageLockMode.ReadWrite,PixelFormat.Format24bppRgb);unsafe{byte*p=(byte*)data.Scan0;intoffset=data.Stride-width*3;for(inty=0;y<height;y++){for(intx=0;x<width;x++){for(inti=0;i<3;i++){pix=p[i]+degree;if(degree<0)p[i]=(byte)Math.Max(0,pix);if(degree>0)p[i]=(byte)Math.Min(255,pix);}//ip+=3;}//xp+=offset;}//y}b.UnlockBits(data);returnb;}catch{returnnull;} 4.3.2水印圖片生成算法首先確定水印圖像的背景,可由系統(tǒng)自動默認(rèn)選擇或由用戶提供,然后對文字和圖像進(jìn)行嵌入,生成水印圖片。具體步驟如下:(1)確定水印圖像的默認(rèn)圖片。(2)添加文字信息和圖片信息,并選擇插入的位置。(3)進(jìn)行文字和圖片的嵌入。主要圖片生成算法:privateImageGetTextWatermark(stringtext){Brushbrush=newSolidBrush(m_fontColor);SizeFsize;using(Graphicsg=Graphics.FromImage(m_image)){size=g.MeasureString(text,m_font);}Bitmapbitmap=newBitmap((int)size.Width,(int)size.Height);bitmap.SetResolution(m_image.HorizontalResolution,m_image.VerticalResolution);using(Graphicsg=Graphics.FromImage(bitmap)){g.DrawString(text,m_font,brush,0,0);}returnbitmap;}4.3.3數(shù)字水印嵌入算法水印的嵌入分五大步進(jìn)行,概括而言,首先對源圖像進(jìn)行分塊處理,而后進(jìn)行DCT變換,通過矩陣乘法得到新的DCT系數(shù)矩陣,接著使用Zig-Zag數(shù)組對各塊DCT系數(shù)進(jìn)行掃描,使其按Zig-Zag數(shù)組的順序排列,之后用水印圖像數(shù)據(jù)替換符合條件的DCT系數(shù),從而保證了嵌入水印后的圖像的不可見性和一定的魯棒性。水印嵌入步驟如下:(1)將給定的原始圖像進(jìn)行分塊,并對每一塊進(jìn)行DCT操作。(2)使用貓臉置亂對給定的二值水印圖像進(jìn)行置亂操作,,置亂次數(shù)由用戶輸入,然后進(jìn)行二值序列化,將二維圖像數(shù)據(jù)轉(zhuǎn)化為一維序列W={wc},其中c=1,2,3…,C,C=W*H,方法為: 判斷像素像素平均值,如果像素平均值大于128,則為1,否則為0(3)在各個(gè)DCT分塊中,將上一步生成的二值水印序列嵌入進(jìn)去,方法為: 采用Zig-Zag進(jìn)行排序,對每個(gè)DCT塊數(shù)據(jù)進(jìn)行重新分配,然后從第15個(gè)系數(shù)開始選取16個(gè)系數(shù)即:Di(j),j=15,16…30,并做替換操作,每替換完一個(gè)二值序列的值就操作下一個(gè)DCT塊。替換方法為:如果wc=1,則Di’(j)=max(Di),否則Di’(j)=min(Di)。 (4)對圖像進(jìn)行逆離散余弦(IDCT)操作,還原圖像,即得到嵌入水印之后的圖像。 (5)對于原始圖像和嵌入后的圖像之間的差異程度,本文采用PSNR來客觀的評價(jià),從而評價(jià)此水印算法的性能,計(jì)算公式為:4-1主要嵌入算法的代碼如下:///<summary>///DCT公式///DCT變換的具體算法///產(chǎn)生DCT的余弦矩陣///</summary>///<paramname="order">維數(shù)個(gè)數(shù)</param>///<returns>DCT的余弦矩陣</returns>publicdouble[,]GenerateDCTmatrix(intN){inti,j;intSize;Size=N;doublealpha;//系數(shù)doublefenMu;double[,]DCTCoeff=newdouble[Size,Size];for(j=0;j<=Size-1;j++){DCTCoeff[0,j]=Math.Sqrt(1/(double)Size);}alpha=Math.Sqrt(2/(double)Size);//C(u)fenMu=(double)2*Size;for(j=0;j<=Size-1;j++)for(i=1;i<=Size-1;i++){DCTCoeff[i,j]=alpha*Math.Cos(((2*j+1)*i*3.14159)/fenMu);}return(DCTCoeff);}///<summary>///分塊DCT變換///</summary>///<paramname="imgSource">圖像圖片</param>///<returns>返回一個(gè)color對象的二維數(shù)組</returns>publicvoidDCTBlocksTrans(){double[,]temp=newdouble[8,8];double[][,]BlockDCTkernel=newdouble[3][,];for(intk=0;k<3;k++)BlockDCTkernel[k]=newdouble[8,8];for(inti=0;i<blocks.H;i++){for(intj=0;j<blocks.W;j++){for(intl=0;l<3;l++){//思想先得到對應(yīng)DCT矩陣BlockDCTkernel[l]=GenerateDCTmatrix(Order);//將DCT矩陣與圖像矩陣相乘?temp=multiply(BlockDCTkernel[l],blocks.Blocks[i,j].array[l]);//將相乘矩陣與DCT矩陣的轉(zhuǎn)置矩陣相乘的矩陣返回給圖像的顏色DCTblocks.Blocks[i,j].ColorDCT[l]=multiply(temp,Transpose(BlockDCTkernel[l]));}}}return;}4.3.4數(shù)字水印提取算法本系統(tǒng)采用盲水印提取的方式,水印提取不需要原始水印圖像,初始操作與水印嵌入相同,也是先進(jìn)行分塊處理,而后進(jìn)行DCT域變換,再對各塊系數(shù)進(jìn)行Zig-Zag掃描,然后對指定位置系數(shù)進(jìn)行判斷,從而得出水印圖像。具體如下:(1)對于嵌入水印后的圖像進(jìn)行分塊處理和DCT變換,對各塊系數(shù)進(jìn)行Zig-Zag掃描,而后從第15個(gè)系數(shù)位置開始進(jìn)行提取,DCT系數(shù)判決條件如下:如果Di’’(j)>=avg(Di’’),則wc=1,否則wc=0。(2) 對于提取到的二值序列進(jìn)行反置亂,置亂次數(shù)由用戶輸入,即得到水印圖像。(3)為了衡量提取出的水印和原始水印之間的相似度,本文采用歸一化相似度計(jì)算公式來評價(jià)水印算法的性能,計(jì)算公式為:4-2主要的提取代碼如下://二值水印的提取publicvoidExtractMain(){doublemax;doublemin;doubleavg;intindex=Position;double[]Src_Zig;intcount=0;for(inti=0;i<waterImg_One.Length;i+=blocks.W*blocks.H){for(intj=0;j<blocks.H;j++){for(intk=0;k<blocks.W;k++){if(count<waterImg_One.Length){Src_Zig=ZigZagSort(blocks.Blocks[j,k].ColorDCT[0]);avg=getDCTBlockAVG(Src_Zig);if(Src_Zig[index]>=avg){waterImg_One[count++]=1;}else{waterImg_One[count++]=0;}blocks.Blocks[j,k].ColorDCT[0]=IZigZagSort(Src_Zig);}}}index++;}}///<summary>///重組水印數(shù)組///</summary>///<paramname=""></param>///<returns>水印圖像</returns>publicBitmapgenWaterMark(){BitmapnewPic=newBitmap(WaterMarkHeight,WaterMarkWidth);inttmp=0;intcount=0;for(inti=0;i<WaterMarkHeight;i++){for(intj=0;j<WaterMarkWidth;j++){tmp=waterImg_One[count++];if(tmp==1){newPic.SetPixel(j,i,Color.FromArgb(255,255,255));}else{newPic.SetPixel(j,i,Color.FromArgb(0,0,0));}}}returnnewPic;}4.3.5數(shù)字水印核心算法類圖系統(tǒng)的大體框架使用C#窗體應(yīng)用,代碼集成在窗體類中,但為便于后期維護(hù)和管理,將水印操作的核心類統(tǒng)一設(shè)計(jì)在一起。并以功能開,如圖4-7所示:1,Block類,用于存儲圖像每塊的內(nèi)容,包含構(gòu)造函數(shù)用于初始化;2,DCTBlocks類,用于對源圖像數(shù)據(jù)的存儲,包含Block類數(shù)組,記錄每塊的信息,其中H字段是圖像的高度,W字段是圖像的寬度,同時(shí)也包含構(gòu)造函數(shù)用于初始化數(shù)據(jù)。3,ArnoldTransport類,數(shù)字水印算法的輔助類,用于對水印圖片進(jìn)行加密,采用Arnold置亂算法,將水印數(shù)組循環(huán)賦值后,生成雜亂的數(shù)組。其中times字段記錄置亂的次數(shù),而方法包含Arnold和Reverse_Arnold分別是將水印置亂與恢復(fù)的逆置亂。4,DCTTransform類,用于最核心的水印嵌入、提取、評測。其中包含zig-zag數(shù)組、分塊大小等字段。waterMarkEmbed方法為嵌入的主方法,waterMarkExtract發(fā)放為提取的總方法,GenerateDCTmatrix方法則用來生成DCT余弦矩陣系數(shù);multiply方法為兩個(gè)矩陣相乘的算法實(shí)現(xiàn),Transpose方法則是生成給定矩陣的轉(zhuǎn)置矩陣。圖4-7數(shù)字水印核心算法類圖4.4系統(tǒng)程序運(yùn)行展示4.4.1用戶身份的認(rèn)證窗體在程序運(yùn)行之后,首先要進(jìn)行用戶身份的驗(yàn)證,即要求輸入用戶密碼,方可進(jìn)入系統(tǒng),如圖4-9所示:圖4-9輸入用戶密碼4.4.2采集圖像等數(shù)據(jù)載體和預(yù)處理窗體在用戶輸入了正確的密碼之后進(jìn)入程序主界面,頁面提供打開,選擇,預(yù)覽等操作,如圖4-10所示:圖4-10程序主界面4.4.3數(shù)字水印的生成窗體本系統(tǒng)提供水印的制作,自定義添加機(jī)密內(nèi)容,內(nèi)容格式分圖片與文字兩種,還可自定義選擇顯示位置。界面如圖4-11所示:圖4-11水印生成主界面4.4.4數(shù)字水印的嵌入窗體在水印的嵌入和提取之前,都要求輸入置亂次數(shù),界面如圖4-12所示:圖4-12輸入置亂次數(shù)水印嵌入完成之后主界面將同時(shí)顯示原始圖片、二值水印圖片以及嵌入水印之后的圖片,如圖4-13所示:圖4-13嵌入水印主界面4.4.4數(shù)字水印提取窗體水印的提取時(shí),需先打開已嵌入水印的圖片,再輸入置亂次數(shù),點(diǎn)擊提取水印之后,即得到二值水印,如圖4-14所示:圖4-14提取水印4.5系統(tǒng)性能測試系統(tǒng)進(jìn)行測試時(shí),使用圖像處理中經(jīng)典的灰度圖像lena(如圖a)和彩色圖像lena(如圖b)做仿真實(shí)驗(yàn),兩幅圖像大小均為512*512;而水印圖像是一幅128*128的二值圖像,如圖4-15(c)所示。(a)灰度圖片(b)彩色圖片(c)二值水印圖4-15原始圖片和水印圖片4.4.1正常未受攻擊情況嵌入水印后的灰度和彩色圖像和未受到攻擊情況下提取的水印分別如圖4-16、4-17所示。從圖像的視覺角度來看,圖像的嵌入對圖像的改變并不明顯,肉眼根本無法觀察。(a)嵌入水印的圖像(b)提取的水印圖像圖4-16嵌入后的圖像和提取的水印圖像嵌入水印后的圖像的峰值信噪比PSNR=67.54db,提取的水印的相似度NC=0.9991。(a)嵌入水印的圖像(b)提取的水印圖像圖4-17嵌入后的圖像和提取的水印圖像嵌入水印后圖像的峰值信噪比PSNR=68.69db,提取的水印的相似度NC=0.9997。4.4.2非正常受攻擊情況系統(tǒng)進(jìn)行的攻擊主要包含對嵌入了水印的圖片進(jìn)行亮度、對比度的調(diào)節(jié);圖像發(fā)生裁減以及污染的情況等。系統(tǒng)設(shè)計(jì)要求在此種條件下還能保證提取出的水印圖片保持一定的可辨度。受攻擊的圖像如圖4-18、4-19、4-20所示。PSNR=35.39dbPSNR=63.51db(a)亮度變高(b)對比度變高圖4-18嵌入水印的圖像受到亮度、對比度攻擊PSNR=56.39dbPSNR=57.51db(a)中間塊剪裁(b)剪裁四份之一角圖4-19嵌入水印的圖像受到裁減攻擊PSNR=61.15dbPSNR=63.28db(a)涂抹雜質(zhì)(b)涂抹雜質(zhì)圖4-20嵌入水印的圖像受到污染對于圖4-18攻擊之后,提取出的水印圖像如圖4-21所示。NC=0.7003NC=0.6845圖4-21針對圖4-18(a)、(b)所提取出來的水印圖像對于圖4-19攻擊之后,提取出的水印圖像如圖4-22所示。NC=0.8003NC=0.7845 (a)(b)圖4-22針對圖4-19(a)、(b)所提取出來的水印圖像對于圖4-23攻擊之后,提取出的水印圖像如圖4-17所示。NC=0.9723NC=0.9702(a)(b)圖4-23針對圖4-20(a)、(b)所提取出來的水印圖像4.4.3特殊攻擊情況現(xiàn)實(shí)生活中,系統(tǒng)也會遇到一些特殊的情況,被一些高級圖像處理軟件嚴(yán)重處理過,如霧化、底片化、積木化,數(shù)字水印則不能提取成功。這也是系統(tǒng)算法中存在的不足。受攻擊的圖像如圖4-24所示。PSNR=25.37dbPSNR=63.51db(a)霧化(b)底片化圖4-24嵌入水印的圖像受到霧化、底片化攻擊對于圖4-18攻擊之后,提取出的水印圖像如圖4-21所示。NC=0.0023NC=0.0845圖4-25針對圖4-24(a)、(b)所提取出來的水印圖像4.5本章小結(jié)本章對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河北省定向長安大學(xué)選調(diào)生招錄備考考試試題及答案解析
- 2025山東日照市五蓮縣教體系統(tǒng)招聘博士研究生2人備考筆試題庫及答案解析
- 深度解析(2026)《GBT 26034-2010片狀銅粉》(2026年)深度解析
- 2025山東青島海建投資有限公司及全資子公司招聘25人參考考試試題及答案解析
- 2025臨滄市臨翔區(qū)自然資源局面向社會公開招聘編外工作人員(2人)備考考試試題及答案解析
- 深度解析(2026)《GBT 25892.3-2010信息技術(shù) 維吾爾文、哈薩克文、柯爾克孜文編碼字符集 32點(diǎn)陣字型 第3部分:庫非白體》
- 深度解析(2026)《GBT 25725-2010帶電作業(yè)工具專用車》(2026年)深度解析
- 西昌市教育系統(tǒng)2025年下半年考核引進(jìn)教師(98人)備考筆試試題及答案解析
- 2026年威海乳山市民兵訓(xùn)練基地公開招聘事業(yè)單位工作人員(1名)備考考試試題及答案解析
- 江蘇徐州市新沂市面向2026年畢業(yè)生招聘教師88人參考考試試題及答案解析
- 2025云南省人民檢察院招聘22人筆試考試備考題庫及答案解析
- 銀行行業(yè)公司銀行客戶經(jīng)理崗位招聘考試試卷及答案
- 2026年安全生產(chǎn)管理培訓(xùn)課件與事故預(yù)防與應(yīng)急處理方案
- 2026天津市靜海區(qū)北師大實(shí)驗(yàn)學(xué)校合同制教師招聘81人(僅限應(yīng)屆畢業(yè)生)考試筆試備考題庫及答案解析
- 數(shù)理統(tǒng)計(jì)(第三版)課后習(xí)題答案
- 2-管道儀表流程圖PID
- 污水的消毒處理課件
- 思想道德與法治課件:第五章 第二節(jié) 吸收借鑒優(yōu)秀道德成果
- 新鄉(xiāng)瑞豐 潤滑油添加劑系列產(chǎn)品技術(shù)改造項(xiàng)目 環(huán)評報(bào)告書
- 高速服務(wù)區(qū)給排水工程施工組織方案
- 蒸汽爆炸研究綜述
評論
0/150
提交評論