<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于FPGA的數字水印實(shí)現

基于FPGA的數字水印實(shí)現

作者:程前 董長(cháng)旭 廖媛媛 時(shí)間:2019-03-29 來(lái)源:電子產(chǎn)品世界 收藏

The realization of digital watermarking based on FPGA

本文引用地址:http://dyxdggzs.com/article/201903/399042.htm

程前 1 ,董長(cháng)旭 1 ,廖媛媛 2
(1.電子科學(xué)與工程學(xué)院,四川 成都 610000;
2.電子科技大學(xué),通信抗干擾技術(shù)國家級重點(diǎn)實(shí)驗室,四川 成都 610000)

       摘要:數字水印技術(shù)在信息安全、知識產(chǎn)權保護和認證等領(lǐng)域有著(zhù)重要的功能和地位。本文基于現場(chǎng)可編程門(mén)陣列(FPGA),通過(guò)流水線(xiàn)設計,乒乓緩沖和,實(shí)現8×8矩陣的變換,充分利用FPGA的查找表(LUT)和塊RAM(BRAM)資源,實(shí)現載體圖像的快速DCT域變換。原始通過(guò)Arnold變換進(jìn)行置亂,并與Logistic映射的選擇合適的水印信息嵌入點(diǎn)。最后通過(guò)不同的水印攻擊來(lái)驗證本系統的
隱蔽性和魯棒性。
       關(guān)鍵詞:;;;;
       0 引言
  隨著(zhù)通信技術(shù)的飛速發(fā)展,數字媒體通信在信息交流中得到了廣泛的應用。網(wǎng)絡(luò )信息交換之間的安全和加密等問(wèn)題引起了高度重視[1],保證信息不被非法利用和破壞也變得越來(lái)越重要。圖像數據可承載比文字更多的內容,成為信息傳遞的重要途徑。傳統的加密方法主要針對數據傳輸過(guò)程進(jìn)行保護,而不能完全解決接收解密后的安全性問(wèn)題,而利用信息隱藏技術(shù)通過(guò)在公開(kāi)的載體信息中插入隱藏的機密信息后進(jìn)行數據傳輸,實(shí)現了信息的安全隱秘傳輸[2]。

1557134203520665.jpg

  數字水印技術(shù)可以廣泛用于信息安全、知識產(chǎn)權保護和認證等領(lǐng)域,其通過(guò)某一種水印算法,實(shí)現將包含機密信息的隱藏在傳輸的載體圖像中,而數據接收方則通過(guò)專(zhuān)用解密方法提取水印信息,實(shí)現圖像數據安全提取和傳輸[3]。
  1 圖像水印實(shí)現系統整體方案

  本系統分為水印嵌入和水印提取兩個(gè)模塊,實(shí)現將水印圖像嵌入載體圖像后提取加密水印,整體框架圖如圖1所示。
  2 水印嵌入模塊

  水印嵌入模塊選擇在空間域或變換域進(jìn)行水印圖像嵌入載體圖像。首先將200×200的二值水印圖像進(jìn)行置亂處理后,利用在800×800載體圖像中選擇合適的水印嵌入位置,在制定的嵌入規則指導下進(jìn)行水印的嵌入。本系統的水印嵌入模塊主要包括DCT變換模塊、模塊、混沌序列模塊等。
  2.1.1 變換模塊

  最初的數字水印算法是基于空間域實(shí)現,是在嵌入規則下直接實(shí)現水印圖像嵌入。雖然空間域嵌入可實(shí)現高速變換并降低系統復雜度,但是難以實(shí)現較好的魯棒性和不可感知性。變換域是指通過(guò)某一算法,常見(jiàn)的包括離散余弦變換(DCT),離散傅里葉變換(DFT),離散小波變換(DWT)等,將載體圖像變換到頻域進(jìn)行水印圖像的嵌入,這樣可實(shí)現高魯棒性,高安全性的水印不可感知嵌入系統。因為DCT變化是圖片JPEG壓縮標準,所以本系統選擇在DCT域進(jìn)行水印嵌入,實(shí)現高抗JPEG壓縮攻擊性[4]。

  本 系 統 選 擇 對 8 0 0 × 8 0 0 的 載 體 圖 像 進(jìn) 行8 × 8 矩 陣 分 塊 后 , 形 成 x(i,j) 0 ≤ i < 8, 0 ≤ j < 8的矩陣數據,然后再經(jīng)過(guò)二維DCT得到變換結果X(m,n) 0 ≤ m < 8, 0 ≤ n < 8 ,二維DCT的公式如下:

1.png

  其中0≤m , n≤7,尺度因子。

  二維DCT運算算法十分復雜,若用組合邏輯實(shí)現將大大影響系統的時(shí)序性能,本系統利用其可分解性質(zhì),對8×8矩陣每行首先進(jìn)行一維DCT變化,然后對變換結果每列進(jìn)行一維DCT即可得到二維DCT變換結果,具體操作步驟如下:一維DCT變換公式可以表示為矩陣形式:對于二維DCT變換,其公式可以用矩陣表示為:更進(jìn)一步,可以將二維DCT變換分解:為了得到更快的工作頻率,本系統選擇通過(guò)流水線(xiàn)設計改善其時(shí)序性能,提高計算效率。緩存時(shí)加入乒乓操作改善輸入速度和輸出速度差距過(guò)大的問(wèn)題,巧妙設計時(shí)序增加資源利用率。由于dct模塊和轉置ram只例化一次,實(shí)現最小資源耗費。一維DCT算法基本操作即為8×8矩陣相乘,需要大量的乘累加運算,占用FPGA的專(zhuān)用乘法器資源,所以為了實(shí)現資源優(yōu)化,本系統通過(guò),將一維DCT的系數矩陣C 8×8 與輸入數據可能的運算結果事先存儲在FPGA的BRAM資源中,利用真正的輸入行/列數據產(chǎn)生地址進(jìn)行讀操作即可正確實(shí)現一維DCT運算。最終本系統實(shí)現100個(gè)周期內完成一次完整的兩個(gè)8×8矩陣的DCT變換(IDCT同理)。
   2.1.2 模塊

   水印圖像的置亂操作,簡(jiǎn)單來(lái)說(shuō)就是將所有像素按照一定規則實(shí)現重新排序,使得圖像成為雜亂的不可識別圖像,從而隱藏水印信息,本質(zhì)上就是對水印圖像的加密 [5] 。置亂后的水印圖像可以降低噪聲或者攻擊的影響,提高水印信息的魯棒性和抗攻擊性。本系統采用Arnold置亂對水印圖像進(jìn)行處理,通過(guò)FPGA將32位200×200的原始水印圖像進(jìn)行置亂。模塊將水印信息原存儲地址經(jīng)過(guò)置亂后,得到Arnold存儲器地址后將水印信息重新存入。
  地址變換是將水印圖像原地址(x,y)處的像素點(diǎn)移動(dòng)至變換后的位置(x’,y’),其中位置變換公式為:x’ = (x + y) / 200,y’ = (x + 2y) / 200。

1557134217556302.jpg

1554781148309292.png

  同時(shí)Arnold置亂具有周期性,通過(guò)仿真發(fā)現圖像的置亂周期為150,即經(jīng)過(guò)150次置亂后得到原圖像,所以在水印嵌入模塊進(jìn)行N Arnold 次置亂后,在水印提取模塊進(jìn)行150-N Arnold 次置亂即可恢復水印圖像。
  本系統的Arnold置亂模塊利用上述公式,對水印圖片的行/列地址進(jìn)行置亂。首先將輸入的水印圖像信息按行的順序串行輸入并進(jìn)行N Arnold 次Arnold置亂,利用遞減循環(huán)操作進(jìn)行置亂地址的200減法求余運算,最終得到完成Arnold置亂的水印圖像,圖3的原始水印圖像經(jīng)過(guò)90次Arnold置亂后得到圖4所示的置亂水印圖像。
   2.1.2 混沌序列模塊

   混沌現象非周期,不收斂,有界且對初值敏感,是非線(xiàn)性動(dòng)態(tài)系統中出現的確定的類(lèi)似隨機過(guò)程,可以容易地生成很多非相關(guān)、類(lèi)隨機的確定再生信號。
  映射是廣泛應用于混沌系統中的一個(gè)非線(xiàn)性方程 [6] ,公式如下:其 中 x, μ 是 分 支 系 數 , 且3.5699456≤μ≤4時(shí),Logistic映射工作于混沌狀態(tài),本系統選擇μ=3.875,初始值x 0 =0.621,在基于FPGA設計系統時(shí),應盡可能避免小數操作,所以將μ右移3位得到U=31,初始值x 0 右移8位得到x 0 =159。輸入初值進(jìn)行Logistic映射時(shí),按照x i+1 =U×X i (1-X i )運算,得到的值x i+1 左移11位即可得到0~1之間的混沌序列。

1554781208660687.png

1554781208960570.png

1554781208351499.png

 ?。?)嵌入規則

   本系統設計為盲水印算法,即在水印檢測過(guò)程中時(shí),只需要密鑰而不需要原始數據的參與。在水印嵌入過(guò)程中,引入了混沌序列作為水印嵌入點(diǎn)選擇的條件。
  由于混沌序列本身具有初值敏感性特性(即初值不同產(chǎn)生的序列完全不同),因此,引入混沌序列作為密鑰將進(jìn)一步提高算法的隱蔽性。
  DCT 域8×8矩陣中的頻域系數進(jìn)行編號得到順序排列表,且表從左上角到右下角代表著(zhù)從圖像的低頻部分到高頻部分,如下表1所示。
  根據 Waston 模型的頻率敏感度特性,同時(shí)考慮圖像進(jìn)行JPEG壓縮后圖像質(zhì)量不出現明顯降低,本系統選擇在中頻系數選擇合適的像素點(diǎn),基于加法水印嵌入規則將200×200的水印圖像嵌入800×800的載體圖像,即可劃分為將4個(gè)水印圖像信息嵌入8×8載體圖像矩陣中,同時(shí)基于嵌入規則在可選4個(gè)像素點(diǎn)中選擇嵌入1個(gè)水印信息,嵌入比為1/16,因此為了嵌入所有水印信息,需要在8×8的載體圖像矩陣中選擇4組16個(gè)像素點(diǎn)。綜合考慮,本文選擇Zigzag 表中編號為19、20和 8、10 ,9、11和12、14 , 13、15和17、21 , 16、18和22、23這4組像素點(diǎn)進(jìn)行水印圖像嵌入。最后根據上述置亂后的水印信息W,混沌序列值為X,每組像素點(diǎn)的系數分別為F1,F2,F3,F4,最終選擇一個(gè)合適的a值實(shí)現加法嵌入規則得到最終的像素點(diǎn)F0:

   如果 X = 1,W = 1:若 F4 < F3,則F0 = F3+a,否則F0 = F4+a;

   如果 X = 1,W = 0:若 F4 > F3,則F0 = F3- a,否則F0 = F4 -a;

   如果 X = 0,W = 1:若 F2 < F1,則F0 = F1+a,否則F0 = F2+a;

   如果 X = 0,W = 0:若 F2 > F1,則F0 = F1- a,否則F0 = F2-a。

1554781272916345.png


1554781272762256.png

1554781272938652.png

 ?。?)系統運行結果

   將800×800載體圖像和200×200的水印圖像轉化成二值數據傳入本系統,仿真結果如圖5(a)(b)
 ?。╟)(d)所示,可以發(fā)現嵌入水印后的圖像與載體圖像并沒(méi)有視覺(jué)上的失真,具有良好的水印不可見(jiàn)性,同時(shí)在未受攻擊時(shí),水印圖像具有很好的隱蔽性。
   對嵌入水印后的載體圖像分別進(jìn)行1/4裁剪攻擊,方差 0.01的高斯加噪攻擊和馬賽克攻擊后提取水印信息來(lái)驗證本系統的魯棒性,攻擊方法如圖4(e)(g)(i)所示,結果如圖4(f)(h)(j)
   所示,可以發(fā)現經(jīng)過(guò)三種水印攻擊后,本系統仍舊可以提取水印信息,且通過(guò)仿真知,抵抗剪裁攻擊后的相關(guān)系數NC=0.7464,抵抗高斯噪聲后的相關(guān)系數NC=0.9998,抵抗馬賽克攻擊后的相關(guān)系數。

   3.2 硬件速度與資源使用情況

   通過(guò)仿真圖5(a)可以發(fā)現,本系統在經(jīng)過(guò)時(shí)序優(yōu)化后,完成一次圖片處理小于1 ms,可在頻率下正常工作,并實(shí)現100 ms內完成100個(gè)水印圖像嵌入操作。FPGA硬件使用資源如圖5(b)所示,除IO接口外使用的資源不足FPGA開(kāi)發(fā)板資源的1%。
  4 結論

  本系統在全國大學(xué)生集成電路創(chuàng )新創(chuàng )業(yè)大賽中,適用于參賽題目“華為云杯-圖片水印實(shí)現”,最終獲得西南分賽區一等獎,全國總決賽三等獎。本系統將繼續在架構上對二維DCT變換模塊進(jìn)行優(yōu)化,在保證功能的同時(shí),降低FPGA的IO接口資源使用率。

  參考文獻:
  [1] 李趙紅, 侯建軍. 基于Logistic混沌映射的DCT域脆弱數字水印算法[J]. 電子學(xué)報, 2006,34(12):2134-2137.
  [2] 于平平. 基于VLSI實(shí)現的數字圖像水印技術(shù)研究[D]. 天津大學(xué), 2010.
  [3] 常曄. 基于DCT域的圖像數字盲水印算法設計及硬件實(shí)現[D]. 天津大學(xué),2010.
  [4] 張釘銘. 基于FPGA的數字水印算法實(shí)現[D]. 南京航空航天大學(xué), 2012.
  [5] 倪蓉蓉, 阮秋琦. 利用Arnold對稱(chēng)性變換的圖像信息隱藏算法[J]. 北京交通大學(xué)學(xué)報, 2002, 26(2):25-28.
  [6] 劉昕浩, 郭騰, 謝德輝,等. 基于Logistic混沌映射的圖像加密通信系統研究[J].湖南理工學(xué)院學(xué)報(自科版), 2015, 28(4):27-31.

本文來(lái)源于科技期刊《電子產(chǎn)品世界》2019年第4期第76頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>