主頁 > 移動端開發 > 基于ODBTC編碼的水印演算法

基于ODBTC編碼的水印演算法

2020-10-06 05:33:50 移動端開發

進入資訊化時代以來,人們越來越依靠計算機來獲取和利用資訊,而數字化后的多媒體資訊具有資料的海量性,與當前硬體技術所能提供的計算機存盤資源和網路帶寬之間存在很大的差距,這樣就對資訊的存盤和傳輸造成了很大困難,成為阻礙人們獲取和利用資訊的一個瓶頸問題,

影像資訊作為計算機上一個最重要的資源,對其有效的進行影像壓縮處理無疑會給人們帶來巨大的好處,但傳統的影像塊截斷編碼(block truncation codingBTC)雖是一種極低復雜度的編碼演算法,但是當影像分塊較大的時候,BTC編碼演算法會存在較為明顯的塊效應,且壓縮效果較差等缺陷,針對這個問題,本文在傳統的BTC編碼演算法基礎之上提出了一種有序抖動塊截斷編碼(Order dither block truncation codingODBTC),該演算法不僅具有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像素點,

3.1 有序抖動序列設計

一般來說,藍色噪聲分布為人眼提供了最佳的影像質量Ulichney1993中提出了一種產生均勻有序抖動陣列的方法,該方法假設抖動陣列的大小為M×N,其中每個元素都有自己的從0(M×N-1)的整數順序,然后將這些順序歸一化為影像中相當閾值的像素值,其具體步驟如下所示:

第一階段是產生一個初始的二進制模式,其中使用高斯低通濾波器來檢查少數像素密度,少數像素從最緊密的簇移動到最大的空隙,重復該程序,直到少數像素從最緊密的簇移動,并且最大的空位置是先前最緊密的簇位置,

第二階段涉及三個步驟,首先,使用一個常數A來表示初始的二進制模式中少數像素的數量,然后通過在最大的無效位置插入少數像素,在A和中途點(M×N)/ 2之間輸入值,最后,通過在最緊密的位置插入多數像素,從中途點輸入所有大多數像素的值,

3.2 BTC編碼的基本原理

塊截斷編碼是一種有效的、快速的有損影像壓縮方法,與矢量量化和變換編碼相比,塊截斷編碼更加容易實作,因為它具有運算量低,所需存貯量小,簡單、快速的低復雜度實作演算法,以及良好的抗信道干擾特性等優點,所以長期以來在實時影像傳輸領域中一直受到人們的重視,實質上塊截斷編碼是一個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(像素值0255),所謂位平面的含義便是將每一個像素值都分解為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變換,獲得水印嵌入的效果,而之后通過解碼,便可以獲得嵌入水印的宿主影像,而事實證明,此演算法在面對加噪,旋轉,壓縮等干擾攻擊時,有較高的魯棒性,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/158801.html

標籤:其他

上一篇:P站視頻下載,手把手教你下載保存P站1080p高清視頻到手機相冊,老司機專用

下一篇:軟體工程(3) CSDN花神生涯

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more