進入資訊化時代以來,人們越來越依靠計算機來獲取和利用資訊,而數位化後的多媒體資訊具有資料的海量性,與當前硬體技術所能提供的計算機儲存資源和網路頻寬之間存在很大的差距,這樣就對資訊的儲存和傳輸造成了很大困難,成為阻礙人們獲取和利用資訊的一個瓶頸問題。
影象資訊作為計算機上一個最重要的資源,對其有效的進行影象壓縮處理無疑會給人們帶來巨大的好處。但傳統的影象塊截斷編碼(block truncation coding,BTC)雖是一種極低複雜度的編碼演演算法,但是當影象分塊較大的時候,BTC編碼演演算法會存在較為明顯的塊效應,且壓縮效果較差等缺陷。針對這個問題,本文在傳統的BTC編碼演演算法基礎之上提出了一種有序抖動塊截斷編碼(Order dither block truncation coding,ODBTC),該演演算法不僅具有BTC編碼演演算法的低複雜度特性,而且通過抖動矩陣來有效改善影象的壓縮品質。
本文在ODBTC影象壓縮編碼的基礎之上提出一種基於位平面的DCT域數位浮水印嵌入提取演演算法,該演演算法在嵌入水印之前,首先將水印影象進行位平面分解,然後在ODBTC編碼之後影象位平面進行DCT域的水印嵌入,並對嵌入水印後的位平面進行DCT逆變換,從而獲得獲得水印嵌入的效果,最後通過解碼,得到嵌入水印的宿主影象。進一步通過MATLAB平臺進行演演算法的模擬實驗,模擬結果表明在ODBTC編碼的基礎之上,基於位平面分解的數位浮水印演演算法具有良好的塊效應,並對加噪,旋轉,壓縮等攻擊具有較強的魯棒性。
隨著社會和科技的進步,數位化技術和網路技術也發展迅速,數位影像、數位音訊、數位影片等各種多媒體數位作品在政府、軍隊、醫院、學校等重要機構和領域得到了廣泛的應用。利用數位媒體技術可以得到更多的複製品,但同時也容易被盜版者傳播或複製,因而會給數位媒體的版權保護工作帶來嚴重的影響。如果數位產品的版權問題得不到有效的保護,這將會給創作者和水印的所有者造成巨大的經濟損失,同時也將會對削弱數位工作者的創作積極性,因而資訊工業的發展將受到很大的阻礙。因此,如何更好地保護多媒體數位產品的版權和資訊保安已經成為當前我們面臨的一項重大的挑戰。而數位浮水印技術可以有效地解決以上這些有關版權保護等的問題[1]。
數位浮水印技術源於資訊隱藏技術,並由資訊隱藏技術發展而來,為多個學科的交叉研究領域。數位浮水印技術通過將一些標識資訊直接或間接嵌入和表示於數位載體之中,在不影響原載體的使用價值的基礎之上,保證了水印資訊自身的不易探知性和不易修改性,與此同時,通過特定手段提取出的水印資訊又可確認資訊的建立者和購買者進而達到版權保護等目的[2]。
進入資訊化時代以來,人們越來越依靠計算機來獲取和利用資訊,而數位化後的多媒體資訊具有資料的海量性,與當前硬體技術所能提供的計算機儲存資源和網路頻寬之間存在很大的差距,這樣就對資訊的儲存和傳輸造成了很大困難。成為阻礙人們獲取和利用資訊的一個瓶頸問題。而影象資訊作為計算機上一個最重要的資源,對其有效的壓縮處理無疑會給人們帶來巨大的好處。然而傳統的塊截斷編碼(即BTC編碼)雖是具有極低複雜度的演演算法,但是在影象分塊較大時具有明顯的快效應,壓縮效果較差,而有序抖動塊截斷編碼(即ODBTC)則在繼承傳統BTC編碼演演算法低複雜度的同時,因其演演算法中抖動矩陣的設計,有效的改善了影象壓縮品質。
與此同時隨著網際網路技術的快速發展,人民生活水平的不斷提高,物質生活水平的不斷跟近,與之相對,人們對於精神文化的需求也不斷增長,然而由於煩累的社會勞動和工作,由於現代社會時間的緊湊和緊張,隨著富裕階層人口的不斷擴張和道路擁擠現象的不斷加劇。使得現實意義上的物質追求越來越難以滿足。然而與此同時,另一個問題卻也不斷突顯,即盜版橫行,而千萬文化創造者的合法權益無法得到保護,如何在保證網際網路文化的繁榮的基礎之上保護文化創造者的版權以及保護文化創造者的合法利益。所以一個尖銳的問題擺在我們面前:面對如此龐大的影像資訊,如何實現其在網際網路上的快速傳播,並保證其版權不受侵犯,這使得數位浮水印研究的展開顯得尤為意義重大。其研究意義主要包括如下幾個方面:
1).社會意義。數位浮水印技術作為人們數位作品版權保護的一種有效方法,可 以保護被侵權者的合法權益,同時也是懲治侵權者的有力證據,使得社會更加安定和諧,促進社會發展。
2).技術意義。數位浮水印作為隱藏學的一個重要分支,其技術意義非凡。數位 水印技術的不斷髮展激勵著整個隱藏學的進步。數位浮水印也是一門與多種學科相交叉的學科,其包含了密碼學、隱藏學、演演算法設計等多種學科,數位浮水印技術的發展也促進著其他學科的共同發展。
3).經濟意義。數位浮水印技術在人們的數位產品受到版權侵害時能夠形成有效 的保護,使人們的經濟損失降到最低。同時也會為從事這方面研究的專家及機構帶來一定的收益,一旦得到廣泛應用,甚至是促進整個國家經濟的發展。
數位浮水印(Digital Watermarking)技術是將一些標識資訊(即數位浮水印)直接嵌入數位載體當中(包括多媒體、檔案、軟體等)或是間接表示(修改特定區域的結構),且不影響原載體的使用價值,也不容易被探知和再次修改。但可以被生產方識別和辨認。通過這些隱藏在載體中的資訊,可以達到確認內容建立者、購買者、傳送隱祕資訊或者判斷載體是否被篡改等目的。數位浮水印是保護資訊保安、實現防偽溯源、版權保護的有效辦法,是資訊隱藏技術研究領域的重要分支和研究特性。要求被嵌入水印資訊必須滿足三個條件:一是要求對原始載體物件的內容不產生影響,且不能被肉眼所察覺,即滿足不可見性;二是要求嵌入的水印資訊難以被損壞或清除,且能夠提取出水印資訊,即滿足魯棒性;三是要求這一嵌入和提取過程必須是通過在提前知道祕鑰的前提下才能完成的,即滿足安全性。也就是說,數位浮水印技術應該同時具備較強的不可見性、魯棒性和安全性等。理想的數位浮水印演演算法應該能夠隱藏儘可能多的資料資訊,而不被肉眼所察覺,並且能夠抵抗各種攻擊。
目前,數位浮水印的劃分有多種型別,具體來講主要包括如下幾個方面:
第一、根據數位浮水印的特性差異性可以將數位浮水印分為魯棒數位浮水印和脆弱數位浮水印兩類。
1).魯棒水印(Robust Watermarking)主要用於在數位作品中標識著作權資訊,利用這種水印技術在多媒體內容的資料中嵌入建立者、所有者的標示資訊,或者嵌入購買者的標示(即序列號)。在發生版權糾紛時,建立者或所有者的資訊用於標示資料的版權所有者,而序列號用於追蹤違反協定而為盜版提供多媒體資料的使用者。用於版權保護的數位浮水印要求有很強的魯棒性和安全性,除了要求在一般影象處理(如:濾波、加噪聲、替換、壓縮等)中生存外,還需能抵抗一些惡意攻擊。
2).脆弱水印(Fragile Watermarking),與魯棒水印的要求相反,脆弱數位浮水印主要用於完整性保護和認證,這種水印同樣是在內容資料中嵌入不可見的資訊。當內容發生改變時,這些水印資訊會發生相應的改變,從而可以鑑定原始資料是否被篡改。根據脆弱水印的應用範圍,脆弱水印又可分為選擇性和非選擇性脆弱水印。非選擇性脆弱水印能夠鑑別出位元位的任意變化,選擇性脆弱水印能夠根據應用範圍選擇對某些變化敏感。例如,影象的選擇性脆弱水印可以實現對同一幅影象的不同格式轉換不敏感,而對影象內容本身的處理(如:濾波、加噪聲、替換、壓縮等)又有較強的敏感性,即:既允許一定程度的失真,又要能將特定的失真情況探測出來。
第二、根據數位浮水印的附載媒體進行劃分,可以將數位浮水印劃分為影象水印、音訊水印、視訊水印、文字水印以及用於三維網格模型的網格水印等。隨著數位技術的發展,會有更多種類的數位媒體出現,同時也會產生相應的水印技術。
第三、根據檢測過程劃分,按水印的檢測過程可以將數位浮水印劃分為盲水印和非盲水印。非盲水印在檢測過程中需要原始資料或者預留資訊,而盲水印的檢測不需要任何原始資料和輔助資訊。一般來說,非盲水印的魯棒性比較強,但其應用需要原始資料的輔助而受到限制。盲水印的實用性強,應用範圍廣。非盲水印中,新出現的半盲水印能夠以少量的儲存代價換來更低的誤檢率、漏檢率,提高水印演演算法的效能。目前學術界研究的數位浮水印大多數是盲水印或者半盲水印。
第四、根據內容劃分,數位浮水印的內容可以將水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是某個數位影像或數位音訊片段的編碼;無意義水印則只對應於一個序列。有意義水印的優勢在於,如果由於受到攻擊或其他原因致使解碼後的水印破損,人們仍然可以通過視覺觀察確認是否有水印。但對於無意義水印來說,如果解碼後的水印序列有若干碼元錯誤,則只能通過統計決策來確定訊號中是否含有水印。
第五、根據用途劃分不同的應用需求造就了不同的水印技術。按水印的用途,我們可以將數位浮水印劃分為票證防偽水印、版權保護水印、篡改提示水印和隱蔽標識水印。
第六、根據隱藏位置劃分,我們可以將其劃分為時(空)域數位浮水印、頻域數位浮水印、時/頻域數位浮水印和時間/尺度域數位浮水印。時(空)域數位浮水印是直接在訊號空間上疊加水印資訊,而頻域數位浮水印、時/頻域數位浮水印和時間/尺度域數位浮水印則分別是在DCT變換域、時/頻變換域和小波變換域上隱藏水印。
數位浮水印具有如下幾個方面的特徵:
1).不可見性:又稱隱蔽性,是指嵌入水印後的影象與原始載體影象在視覺上的相似度,兩者之間應感覺不到差別。對於一個優秀的水印演演算法,嵌入水印後的影象不能有視覺品質上的下降,與原始載體影象相比,肉眼是分辨不出來兩者的。
2).魯棒性:又稱穩健性,是指經歷多種無意或有意的訊號處理,如壓縮、裁剪、列印、 濾波等以及一些蓄意的攻擊後,數位浮水印仍能保持完整性或仍能被準確檢測和提取。然而,魯棒性並不是在所有的水印作品中都被要求的,相反,脆弱性水印中魯棒性是被強制要求避免的,如真偽鑑別。
3).可容性:即原始載體影象嵌入水印資訊的容量程度,又稱之為影象感知容量,指原始載體影象在不發生形變或畸變的前提下可嵌入的水印資訊量。可容性取決於原始載體影象的統計特性、冗餘度、失真程度以及水印嵌入和提取演演算法是否能充分利用載體影象等。
4).可證性:對於多媒體數位產品來說,證明版權的存在和歸屬至關重要。數位浮水印就是版權所有者證明其擁有該數位產品版權的有力證據,符號、文字、圖形等產品標識資訊都可以作為水印嵌入到版權所有者的載體資訊中,並可以通過計算機隨時將這些資訊從版權所有者的載體中提取出來。
5).安全性:一個金鑰唯一地對應一個水印,不可能出現多個不同的金鑰對應同一個水印。而且,未經授權不能隨意改動或是提取出水印資訊,保證授權者能夠準確無誤地提取出正確且唯一的水印資訊。
其中,不可見性、魯棒性、安全性和水印容量是數位浮水印主要特徵,其中不可見性和魯棒性是數位浮水印效能評估最主要的依據。數位影像水印演演算法要求在人們視覺感官上沒有察覺的前提下,在載體數位影像中祕密地嵌入足夠多的水印資訊。而且理想的水印演演算法要求,嵌入水印後的載體影象在受到各種攻擊後仍然能夠從中提取出有效的水印,即保證水印具有良好的魯棒性。其中,不可見性和魯棒性是一對矛盾體,互相影響,不可見性越好,魯棒性越差。因此,尋找兩者之間的平衡點是數位浮水印的關鍵。同時,評價水印演演算法的優劣也需要一個標準,這個可通過以下兩種評價標準實現。
從訊號處理角度來看,嵌入載體物件的水印訊號可以視為是在強訊號中嵌入一個弱訊號,當嵌入的水印訊號的強度小於人類視覺系統的對比度門限時或聽覺系統對聲音的感知門限,人類視覺系統和聽覺系統就感覺不到訊號的存在。對比度門限和時間、頻率及視覺系統空間特性有著非常密切的關係。所以,如果在視覺效果不備改變的情況下,我們可以通過對原始影象做適當的修改來嵌入水印資訊。從通訊的角度來說,水印資訊的嵌入過程可以看作是利用擴頻通訊原理,在寬頻通道上進行窄頻訊號的傳輸。水印訊號本身的能量很弱,一旦分散到通道中就很難被檢測出來。
一般來說,水印系統的通用模型包括兩個階段,即水印的嵌入演演算法和水印的提取演演算法。水印嵌入演演算法的目標是使水印在魯棒性和不可見性之間找到一個較好的折衷。水印提取階段主要是設計一個相應於水印嵌入過程的提取演演算法。水印檢測演演算法一般是以基於統計原理的檢驗結果來判斷水印是否存在,它的目標是使錯判概率和漏判概率儘量小。提取演演算法是通過提取出來的水印與原始水印進行比較,從而進行判斷水印是否存在。值得一提的是,目前大多數水印在嵌入和提取過程中都採用了金鑰,其目的是為了給惡意攻擊者增加去除水印的難度,這樣只有掌握了金鑰的人才能讀出水印。
根據水印系統的型別進行分類,主要包括如下幾種常見的水印型別。
第一、私有水印系統,檢測水印時需要原始影象,由於這種水印方案只傳遞很小的水印資訊,且檢測時要求存取原始影象,因此比其它的水印方案魯棒性強。
第二、半公開水印,檢測水印時需要一個依賴於原始影象的金鑰,這種水印一般不認為是公開的,它的應用範圍受到了較大的限制。
第三、公開水印,即盲水印,其檢測時既不需要原始影象也不需要嵌入的水印,但能從測試影象中提取出水印資訊。
對影象水印嵌入演演算法的魯棒性分析方面,主要考慮如下幾個方面的引數[14,15]:
第一、嵌入資訊的數量,這是一個重要的引數,因為它直接影響水印的魯棒性。對同一種水印方法而言,要嵌入的資訊越多,水印的魯棒性越差。
第二、水印嵌入強度,水印嵌入強度(對應於水印的魯棒性)和水印的可見性之間存在著一個折衷,增加魯棒性就要增加水印嵌入強度,相應的也會增加水印的可見性。
第三、影象的尺寸和特性,雖然尺寸小的含有水印的影象沒有多少商業價值。但一個水印軟體應該能夠從小圖片中恢復出水印,這樣可以有效地防止水印的馬賽克攻擊。除了影象尺寸外,影象的特性也對水印的魯棒性產生重要影響,如對掃描的自然影象具有高魯棒性的水印方案在應用於合成影象時,魯棒性會大大削弱。一個合理的基準測試所能適應的影象尺寸應該很大,並且應能使用不同型別的測試影象。
第四、祕密資訊(如金鑰),儘管祕密資訊的數量不直接影響水印的可見性和魯棒性,但對系統的安全性起重要作用。和其它的安全系統一樣,水印系統金鑰空間須足夠大,以使窮舉攻擊法失效。
離散餘弦變換域水印演演算法主要是在影象的DCT變換域的低、中頻係數上來疊加水印資訊。一般人眼的感覺最重要的畫素是集中在低、中頻區域,通常的影象處理操作不會改變低、中頻段的資料。因為在離散餘弦變換域上對影象資訊進行量化是JPEG演演算法的核心,所以水印資訊在經過量化過程後,可以抵抗一定程度的有失真壓縮。再則,DCT變換域係數的特徵具有統計分佈的數學模型,我們可以從理論上對水印的資訊量進行估計。由於DCT變換的影象數位浮水印在做IDCT時會散佈到整個影象中,所以水印資訊受到中值濾波、裁剪和壓縮等攻擊的影響不大,因此DCT域的水印具有較高的魯棒性和不可見性。基於以上的種種優點,DCT域影象數位浮水印演演算法已成為國內外研究的熱點問題[16]。
離散餘弦變換(DCT)是對實訊號定義的一種變換,變換後在頻域中得到的也是一個實訊號,相比DFT而言,DCT可以減少一半以上的計算。DCT還有一個很重要的性質:大多書自然訊號的能量都集中在離散餘弦變換後的低頻部分,因而DCT在資料壓縮中得到了廣泛的使用。由於DCT是從DFT推匯出來的另一種變換,因此許多DFT的屬性在DCT中仍然是保留下來的。基本原理是:將原影象分割多個無重疊畫素塊,併為每個畫素塊單獨設計2電平量化器,之後基於每個畫素塊的特性進行電平重建,以達到壓縮編碼的目的[17]。
離散餘弦變換包括一維離散餘弦變換和二維離散餘弦變換。其中,一維離散餘弦變換是由N.Ahmed等人於1974年提出。假設為訊號序列集合,其DCT的正變換定義為:
為了有效的計算DCT,許多演演算法被提出,一般DCT快速演演算法分為兩種:間接演演算法和直接演演算法,兩種演演算法都是集中在蝶型結構上,且目的都是為了減少乘法和加法的計算量。間接演演算法是利用DCT和DFT,DHT等正交變換之間的關係,用DFT或DHT快速演演算法來計算DCT。間接演演算法過程簡單,主要工作是處理演演算法間的轉換,因此往往需要加一些額外的操作步驟,由於將其他變換的快速演演算法應用在DCT中總有其自身的侷限性,所以現在演演算法上已很少有人採用間接演演算法來計算DCT。直接演演算法包括DCT變換矩陣分解,遞迴演演算法兩種技術,不同之處在於矩陣分解是利用稀疏矩陣分解法將變換矩陣分解,而遞迴演演算法是由較低階DCT矩陣遞迴產生較高階DCT矩陣,可以說遞迴演演算法是分解演演算法的逆演演算法,但遞迴演演算法較矩陣分解演演算法有良好的數值穩定性。
DCT變換有其獨有的特點,首先水印訊號經過離散餘弦變換後,變換系數變成了不相關,再經過IDCT變換影象進行重構,出現的誤差不會造成積累,它像噪聲一樣被分散到影象塊中的每個畫素中,並且變換能將資料塊中的能量壓縮到部分低頻變換系數中去。
基於DCT域的數位浮水印演演算法,對於給定影象存在兩種DCT變換方法:一類是直接對整幅影象進行DCT計算,選取合適的係數,嵌入水印。另一類是,首先將整幅影象分塊,對每一塊進行DCT計算,在每一塊中選取合適的頻段係數,將水印資訊分散嵌入到所選取的每一塊DCT係數中,這種方法稱為分塊DCT,通常塊大小採用8×8畫素點。
一般來說,藍色噪聲分佈為人眼提供了最佳的影象品質。Ulichney在1993中提出了一種產生均勻有序抖動陣列的方法。該方法假設抖動陣列的大小為M×N,其中每個元素都有自己的從0到(M×N-1)的整數順序,然後將這些順序歸一化為影象中相當閾值的畫素值,其具體步驟如下所示:
第一階段是產生一個初始的二進位制模式,其中使用高斯低通濾波器來檢查少數畫素密度,少數畫素從最緊密的簇移動到最大的空隙。重複該過程,直到少數畫素從最緊密的簇移動,並且最大的空位置是先前最緊密的簇位置。
第二階段涉及三個步驟。首先,使用一個常數A來表示初始的二進位制模式中少數畫素的數量。然後通過在最大的無效位置插入少數畫素,在A和中途點(M×N)/ 2之間輸入值。最後,通過在最緊密的位置插入多數畫素,從中途點輸入所有大多數畫素的值。
塊截斷編碼是一種有效的、快速的有損影象壓縮方法。與向量量化和變換編碼相比,塊截斷編碼更加容易實現。因為它具有運算量低,所需存貯量小,簡單、快速的低複雜度實現演演算法,以及良好的抗通道干擾特性等優點,所以長期以來在實時影象傳輸領域中一直受到人們的重視。實質上塊截斷編碼是一個1位元自適應矩保持(Moment-preserving quantizer)量化器,它能夠保持訊號樣本的一階矩和二階矩,使譯碼影象在一定程度上保持了原影象的區域性統計特性。然而標準塊截斷編碼演演算法和絕對矩塊截斷編碼演演算法所能達到的位元率均為2位元/畫素,同時其壓縮比也不高。因此,為了進一步提高壓縮比、減少位元率,並提高重建影象的品質隨後又陸續出現了許多關於塊截斷編碼的改進演演算法和自適應的或混合的塊截斷編碼方案。例如,用中值濾波器,向量量化,插值或預測等方法來對輸出量化器的資料進行編碼。然而,壓縮比的增加,位元率的減少都是以重建影象失真度的增大或演演算法複雜度的增加為代價的[19]。
在標準的塊截斷編碼中,將影象分段成為n×n無重疊影象塊,4×4為典型塊,併為各資料塊而單獨設計的2電平(1bit)量化器。量化門限和二個重建電平隨一個影象塊的區域性統計特徵而變化,因此該編碼實際上是一個區域性二進位制處理過程,這種資料塊的表達方式是由一個n×n位元映像所組成,該n×nbit代表了有關各畫素的重建電平和確定兩個重建電平的附加資訊,而譯碼是個簡單的處理過程,它在作為每位元映像的各畫素位置,選定一個合適的重建值而完成譯碼。
根據上述原理可知,BTC編解碼的整體流程圖如下所示:
在公式3.6和公式3.7中,變數表示的是原始影象;變數表示的是解壓縮後的影象。
在實驗中採用三幅圖象,Lena,claire1和monkey影象,它們的大小分別為256×256、256×256以及512×512,解析度為8位元/畫素,每幅圖象都被分成若干塊大小為4×4的塊。
(a)原始影象 (b)塊4X4 (c)塊8X8 (d)塊16X16
圖3.2測試影象1
(a)原始影象 (b)塊4X4 (c)塊8X8 (d)塊16X16
圖3.3測試影象2
(a)原始影象 (b)塊4X4 (c)塊8X8 (d)塊16X16
圖3.4測試影象3
在影象進行ODBTC編碼之後,可以獲得影象的編碼後的位平面,在此位平面,進行水印的嵌入和提取操作,下面首先對水印的嵌入操作進行介紹。基於ODBTC編碼後的DCT域影象位平面分解的水印嵌入演演算法流程圖如下圖所示:
步驟1、根據本文第三章節所介紹的原理進行影象的ODBTC編碼處理;
步驟2、對水印影象進行處理,獲得其相應的位平面,將原始的水印影象轉換為8個位平面影象。影象的位平面可以通過如下的示意圖示示:
圖4.2位平面分解圖
從圖4.1可知,對水印資訊計算其位平面,通過處理之後,將一個水印影象轉換為8個位平面。一幅數位影像的每一個畫素都是以多位元的方式存在的,而每一個畫素通常為8位(畫素值0到255)。所謂位平面的含義便是將每一個畫素值都分解為8個位寬的二進位制值,所有同權值的位構成的平面稱為一個位平面。
步驟3、對影象ODBTC編碼之後的影象位平面進行二維分塊DCT變換。
步驟4、對二維分塊DCT變換後的水印影象進行基於隨機序列水印嵌入操作,具體處理公式如下所示:
(4.1)
公式4.1中,變數w表示的是水印影象;變數f表示的是原始DCT域影象;變數f'表示的是嵌入水印後的DCT域影象。
步驟5、進行二維DCT逆變換,獲得嵌入水印後的影象;
水印嵌入之後,則進行水印的提取操作。基於ODBTC編碼後的DCT域影象位平面分解的水印提取演演算法流程圖如下圖所示:
根據該流程圖,水印提取演演算法的詳細步驟如下:
步驟1、對影象進行DCT變換,獲得DCT域的嵌入水印影象;
步驟2、產生和嵌入水印相同的隨機序列。由於水印在嵌入的時候,是根據隨機序列的極性進行水印的嵌入。因此,我們在水印提取的時候,充分考慮了這個特性。
步驟3、將DCT變換後的嵌入水印影象和隨機序列做相關運算,從而獲得水印資訊的嵌入位置和水印資訊。該步驟是水印提取的核心步驟,其主要利用了隨機序列的相關特性來實現的。
首先,隨機序列具有四大特性,分別為隨機序列中高低電平出現的次數大致相等;隨機序列具有良好的相關特性;隨機序列中連續出現的高電平或低電平被稱為遊程,而長度為n(n為自然數)的遊程出現的次數佔總遊程數的1/2;隨機隨意將一個序列位移得到的新序列與原序列比較,只有一半的元素相同。
這裡,我們首先對整個水印的嵌入和提取過程進行MATLAB模擬,模擬結果如下圖所示:
(a)原始影象 (b)水印 (c)嵌入水印的影象 (d)提取的水印
圖4.5水印嵌入和提取過程的MATLAB模擬
從圖4.5的模擬結果可知,通過本文提出的演演算法,可以較好的提取水印資訊,且嵌入水印後的影象基本不受水印的影響。下面將通過各種攻擊測試來分析水印的魯棒性。
·噪聲攻擊
噪聲攻擊是指通過對嵌入水印後的影象加入不同噪聲干擾大小的噪聲,進行水印的提取,並分析提取水印影象品質效果。這裡新增高斯白噪聲的大小為SNR=[-10,-5,0,5,10,15,20]
(a)PSNR指標 (b) NC指標
圖4.6在不同噪聲攻擊下的影象水印提取模擬效果
(a)SNR=-5噪聲攻擊下的水印提取效果
(b)SNR=5噪聲攻擊下的水印提取效果
(b)SNR=20噪聲攻擊下的水印提取效果
圖4.7在不同噪聲攻擊下的影象水印提取模擬效果
從圖4.6和圖4.7的模擬結果可知,當噪聲大小SNR大於5db之後,提取的水印效果基本處於穩定狀態,並獲得了較好的水印提取效果,因此本文研究的水印提取演演算法具有較好的抗噪聲魯棒性。
·旋轉攻擊
旋轉攻擊是指通過對嵌入水印後的影象進行一定角度的旋轉,然後再進行水印的提取,並分析提取水印影象品質效果。
(a)PSNR指標 (b) NC指標
圖4.8在不同旋轉攻擊下的影象水印提取模擬效果
·壓縮攻擊
壓縮攻擊是指通過對嵌入水印後的影象進行一定程度的畫素大小的壓縮,然後再進行水印的提取,並分析提取水印影象品質效果。壓縮大小為12.5%,25%,50%,100%。模擬結果如下圖所示:
本章提出一種基於一種特別的基於ODBTC編碼的水印演演算法,即在嵌入水印之前,先將水印進行位平面分解,而後在ODBTC編碼之後解碼之前形成的原影象位平面的DCT變換域上進行水印嵌,即在嵌入水印之前,先對位平面影象進行DCT變換域處理,而在嵌入之後,再做逆DCT變換,獲得水印嵌入的效果,而之後通過解碼,便可以獲得嵌入水印的宿主影象,而事實證明,此演演算法在面對加噪,旋轉,壓縮等干擾攻擊時,有較高的魯棒性。