• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的JPEG圖像數(shù)字水印系統(tǒng)

      2022-02-18 06:44:56陳鑫石東張穎
      數(shù)據(jù)采集與處理 2022年1期
      關(guān)鍵詞:二值魯棒性編碼

      陳鑫,石東,張穎

      (南京航空航天大學(xué)電子信息工程學(xué)院,南京 211106)

      引 言

      數(shù)字水印的概念最初由Van Schyndel等在1994年提出,并自此迅速成為研究熱點(diǎn)[1]。而圖像水印是數(shù)字水印技術(shù)應(yīng)用最為廣泛的水印類型,在多媒體水印技術(shù)中占有極其重要的地位[2]。

      傳統(tǒng)的圖像水印算法是基于空域?qū)崿F(xiàn),通過(guò)直接修改原始圖像的像素值來(lái)實(shí)現(xiàn)水印信息嵌入。Van Schyndel等[3]提出了利用m序列修改圖像數(shù)據(jù)最低位的水印嵌入方法,這種LSB(Least significant bits)算法利用了m序列良好的自相關(guān)性,便于水印的檢測(cè)與提取,但抗攻擊能力弱、穩(wěn)健性差。隨后Bender等[4]提出一種Patchwork算法。其基本思想是隨機(jī)選取像素點(diǎn),增加一個(gè)點(diǎn)的亮度值,然后相應(yīng)降低另一個(gè)點(diǎn)的亮度值,借以隱藏水印信息。但是總體來(lái)說(shuō)這類算法都比較脆弱,通過(guò)一些常規(guī)的信號(hào)處理操作,就能輕易抹掉隱藏的水印信息。

      因此,研究者開(kāi)始通過(guò)修改圖像變換域中的變換系數(shù)來(lái)嵌入水印信息,包括離散傅氏變換、離散余弦變換、離散小波變換和奇異值分解等[5]。為了實(shí)現(xiàn)水印的隱蔽性與魯棒性之間的平衡,很多研究工作基于這幾種圖像變換自身的特點(diǎn),對(duì)水印嵌入算法提出了不同程度的改進(jìn)。曾琳玲[6]就提出了一種同時(shí)結(jié)合Arnold變換、離散小波變換和奇異值分解的雙彩色圖像水印算法。

      但是,JPEG壓縮是一種不可恢復(fù)的有損圖像壓縮方式,針對(duì)這種圖像的可逆水印比較困難,水印嵌入需要和具體的圖像壓縮算法進(jìn)行結(jié)合。Akira等[7]通過(guò)修改每個(gè)8×8塊DCT系數(shù)的最后一個(gè)非零數(shù)后的零系數(shù),即用新的非零數(shù)值替換原位置的“0”,一次可以嵌入若干比特水印信息。劉磊等[8]利用JPEG圖像DCT系數(shù)的零系數(shù)間隔確定修改的位置,利用間隔中零系數(shù)的個(gè)數(shù)確定水印嵌入量,進(jìn)而嵌入水印信息。何順等[9]隨后提出一種改進(jìn)的水印算法。每一個(gè)帶有零間隔的DCT塊分別嵌入2位水印信息,并且將這2位水印信息嵌入到DCT塊最后一個(gè)非零系數(shù)之后的第1或者第2位零系數(shù)中,提升了水印圖像的不可見(jiàn)性。

      本文在上述研究基礎(chǔ)上,給出了一種基于JPEG壓縮域的改進(jìn)LSB嵌入算法,該算法利用DCT系數(shù)的符號(hào)位與最低位進(jìn)行水印信息的嵌入,不僅具有嵌入容量大的優(yōu)點(diǎn),還具有良好的隱蔽性。最終,為了驗(yàn)證本系統(tǒng)的實(shí)用性,還設(shè)計(jì)了一套完整的JPEG水印編碼軟硬件系統(tǒng)解決方案,實(shí)現(xiàn)了在JPEG圖像中水印信息的實(shí)時(shí)嵌入以及上位機(jī)對(duì)水印編碼的控制和回顯預(yù)覽。

      1 系統(tǒng)總體設(shè)計(jì)框架

      1.1 水印嵌入流程

      傳統(tǒng)JPEG編碼流程包含5個(gè)部分:YCbCr色彩空間轉(zhuǎn)換(RGBtoYCbCr)、二維離散余弦變換(2D?DCT)、之字形掃描、量化編碼和熵編碼。

      如圖1所示,本文選擇在量化編碼和熵編碼之間嵌入水印,主要有兩點(diǎn)原因:(1)根據(jù)人類對(duì)低頻分量敏感、對(duì)高頻分量不敏感的視覺(jué)特性,在圖像的DCT頻域內(nèi)進(jìn)行針對(duì)性地水印嵌入,提高算法不可見(jiàn)性與魯棒性;(2)防止量化編碼破壞水印信息。

      因此,本文含有水印嵌入的JPEG編碼過(guò)程有4個(gè)步驟,具體如下:

      (1)對(duì)原始載體圖像I進(jìn)行YCbCr色度空間轉(zhuǎn)換與重采樣,再進(jìn)行DCT變換、之字形掃描與量化編碼。

      (2)對(duì)原始水印圖像W進(jìn)行預(yù)處理,包括二值化處理與K次的Arnold變換,得到待嵌入二值水印序列W′,具體內(nèi)容如第2節(jié)所示。

      (3)水印嵌入模塊從水印信息預(yù)處理模塊讀取二值水印序列,根據(jù)第3節(jié)中的嵌入算法對(duì)量化后的DCT系數(shù)矩陣進(jìn)行水印嵌入,并將嵌入了水印的DCT系數(shù)矩陣送入后面的熵編碼模塊。

      (4)繼續(xù)進(jìn)行JPEG壓縮編碼流程中的熵編碼,得到含水印的JPEG圖像。

      1.2 水印提取流程

      水印提取的過(guò)程實(shí)質(zhì)上是水印嵌入的逆過(guò)程,在下文不再贅述。過(guò)程如下:

      (1)對(duì)嵌入水印后的JPEG圖像I′進(jìn)行熵解碼的解壓縮操作。

      (2)在JPEG熵解碼后的系數(shù)矩陣中,選出對(duì)應(yīng)的DCT系數(shù)矩陣,根據(jù)第3節(jié)中的嵌入算法,進(jìn)行逆運(yùn)算,最終得到加密的水印序列W′。

      (3)根據(jù)嵌入密鑰K,對(duì)提取出的水印序列W′作(T-K)次Arnold變換,恢復(fù)其相關(guān)性,最終得到有意義的水印信息。

      2 水印信息預(yù)處理模塊

      2.1 RGB彩色圖像二值化處理

      RGB彩色圖像二值化處理用于將彩色水印圖像或者二值水印圖像轉(zhuǎn)換為一維二值水印信息序列,以壓縮水印信息量。其過(guò)程是首先將圖像轉(zhuǎn)為灰度圖,然后設(shè)置閾值,將灰度圖轉(zhuǎn)為黑白圖。

      圖像灰度值計(jì)算為

      黑白圖轉(zhuǎn)換公式為

      式中:Gray為圖像灰度值,Tg為參考閾值。為了方便計(jì)算與提高運(yùn)算速度,采用圖像灰度值的中值127作為參考閾值。從而,生成了一個(gè)數(shù)據(jù)位寬為1的二維二值水印序列。若原始彩色水印圖像是24位色,則信息量壓縮到原來(lái)的1/24。

      2.2 Arnold置亂變換

      Arnold置亂變換用于水印信息的加密以及增強(qiáng)水印的魯棒性。

      對(duì)于一個(gè)N×N的數(shù)值矩陣,其二維Arnold置亂變換為

      式中:0≤xi,yi,xi+1,yi+1≤N-1,N為數(shù)值矩陣階數(shù),mod為模N運(yùn)算。

      通過(guò)上述變換公式,Arnold置亂變換將(xi,yi)處的矩陣值移動(dòng)到(xi+1,yi+1)處。通過(guò)多次Arnold置亂變換,最終能得到雜亂無(wú)序的二值水印序列。但是Arnold置亂變換具有周期性,對(duì)其再經(jīng)過(guò)若干次Arnold變換后,一定會(huì)恢復(fù)到Arnold置亂變換之前的原始二值序列。因此,Arnold置亂變換的周期特性非常有利于數(shù)字水印的提取。

      由表1可知,隨著矩陣階數(shù)的增加,Arnold變換周期也隨之增加。綜合考慮置亂變換的計(jì)算量大小以及水印算法的隱蔽性,本文采用階數(shù)32、周期24的置亂變換,即將二值水印序列分割為多個(gè)32×32的小塊,各個(gè)小塊獨(dú)立進(jìn)行Arnold置亂,減少計(jì)算工作量。

      表1 常用階數(shù)的最小Arnold置亂周期(T)Table 1 Minimum Arnold scrambling period of common order

      圖2為水印序列Arnold變換實(shí)現(xiàn)的結(jié)構(gòu)框圖。讀地址的高5位Raddr[14:10]用于選擇不同的塊,Raddr[9:0]則送入Arnold讀地址映射單元。

      圖2 Arnold變換實(shí)現(xiàn)結(jié)構(gòu)框圖Fig.2 Block diagram of Arnold transform

      Arnold讀地址映射器實(shí)際上是一個(gè)1 024×10 b的數(shù)據(jù)RAM,存放對(duì)0~1 023連續(xù)計(jì)數(shù)值進(jìn)行Ar?nold變換后的結(jié)果,指示了當(dāng)前外部讀地址的提取數(shù)據(jù)在原始RAM中水印序列的存儲(chǔ)位置??梢杂糜诩铀貯rnold置亂變換的運(yùn)算過(guò)程。例如,若Arnold讀地址映射器地址0存放的數(shù)值為28,則外部模塊提取的Arnold變換置換的第0個(gè)數(shù)據(jù)存放在二值水印ROM地址為28的位置中。

      3 改進(jìn)LSB算法

      本文將傳統(tǒng)時(shí)域(空域)中的LSB算法應(yīng)用到DCT變換域,并對(duì)其作了適當(dāng)?shù)母倪M(jìn),設(shè)計(jì)實(shí)現(xiàn)了一種嵌入容量可調(diào)的LSB嵌入算法,通過(guò)修改量化后的DCT系數(shù)值來(lái)實(shí)現(xiàn)水印的嵌入。

      算法的實(shí)現(xiàn)過(guò)程描述如下,對(duì)量化后的8×8 DCT系數(shù)矩陣進(jìn)行之字形掃描,然后選定一個(gè)嵌入起始地址AddrL(取值0~63)和欲嵌入信息位的長(zhǎng)度BitLen,對(duì)起始地址往后的BitLen長(zhǎng)度內(nèi)的DCT系數(shù)Qi作運(yùn)算后得到Q′i,具體運(yùn)算過(guò)程如下:

      (1)如式(4)所示,DCT系數(shù)Qi的高11位保持不變。

      (2)若DCT系數(shù)Qi嵌入的二值水印為1,Qi[0]運(yùn)算公式則為

      (3)若嵌入的二值水印為0,Qi[0]運(yùn)算公式則為

      式中:i為當(dāng)前DCT系數(shù)塊的Z字形掃描序列,且0≤i≤63,Qi為量化后的DCT系數(shù),數(shù)據(jù)位寬為12,Q′i為嵌入水印后的DCT系數(shù)值。

      由上述內(nèi)容可知,改進(jìn)的LSB算法的本質(zhì)是利用DCT系數(shù)值的最高位與最低位的關(guān)系,修改最低位的值來(lái)實(shí)現(xiàn)水印嵌入。并且通過(guò)AddrL與BitLen的設(shè)置,實(shí)現(xiàn)了0~64嵌入容量的自由調(diào)節(jié)。

      當(dāng)嵌入二值水印為1時(shí),若原載體圖像的DCT系數(shù)為正偶數(shù)、0或者負(fù)奇數(shù)時(shí),嵌入過(guò)程不會(huì)改變?cè)璂CT系數(shù)值。由于量化后的DCT系數(shù)中存在大量的0值系數(shù),故當(dāng)二值水印序列中1的占比較大時(shí),對(duì)DCT系數(shù)矩陣的改動(dòng)也會(huì)相應(yīng)減少,適用于白色分量居多的二值水印圖像。相較于傳統(tǒng)LSB算法的直接暴力地用水印信息替換最低位,該算法對(duì)原圖的影響更小,不可見(jiàn)性更好。

      此外,綜合考慮人類視覺(jué)對(duì)頻域系數(shù)的敏感特性和水印的魯棒性與不可見(jiàn)性,本文選擇起始地址AddrL為6的中頻系數(shù)區(qū)域進(jìn)行水印嵌入,并且設(shè)定水印信息嵌入長(zhǎng)度BitLen=16,每個(gè)8×8的圖像塊嵌入16 b的水印信息序列。分別采用本文設(shè)計(jì)的LSB嵌入算法和傳統(tǒng)LSB算法對(duì)圖3(a)中量化后的DCT系數(shù)矩陣進(jìn)行水印嵌入,嵌入16 b的全1水印序列(16’hFFFF),最后結(jié)果如圖3(b)和圖3(c)所示。斜線小方塊表示嵌入前后變化了的DCT系數(shù)值??梢园l(fā)現(xiàn)對(duì)于全1序列前者僅修改了4個(gè)DCT系數(shù)實(shí)現(xiàn)了16 b水印信息的嵌入,改動(dòng)量為傳統(tǒng)LSB算法的二分之一。

      圖3 嵌入結(jié)果對(duì)比Fig.3 Embedding results comparison

      4 系統(tǒng)驗(yàn)證

      4.1 驗(yàn)證平臺(tái)

      本文采用Xilinx的Virtex?7 VC707評(píng)估套件作為硬件開(kāi)發(fā)測(cè)試平臺(tái),內(nèi)部系統(tǒng)時(shí)鐘頻率為250 MHz,分辨率1 920像素×1 440像素、數(shù)據(jù)量7.9 MB的BMP圖像作為測(cè)試圖像,對(duì)本文設(shè)計(jì)內(nèi)容進(jìn)行實(shí)測(cè)驗(yàn)證。

      為了方便控制硬件模塊,本文還設(shè)計(jì)一個(gè)上位機(jī)軟件,實(shí)現(xiàn)對(duì)圖像的傳輸及水印嵌入過(guò)程的控制。上位機(jī)的GUI界面由圖像加載界面、圖像預(yù)覽界面、命令控制寄存器配置界面、DMA參數(shù)配置界面和Log信息預(yù)覽界面5部分組成。

      4.2 不可見(jiàn)性測(cè)試

      圖4為原始載體圖像、原始水印圖像、嵌入水印的JPEG水印載體圖像以及無(wú)水印的原始JPEG圖像對(duì)比示意圖。圖4(c)與圖4(d)的峰值信噪比(PSNR)為41.10 dB。但是,相比于原始JPEG圖像,水印信息的嵌入并未引起JPEG水印載體圖像的失真,因此該水印算法具有主觀上良好的不可見(jiàn)性。

      圖4 二維碼水印嵌入結(jié)果Fig.4 Watermark embedding result of QR code

      表2以PSNR作為不可見(jiàn)性指標(biāo),將本文改進(jìn)的LSB算法與復(fù)現(xiàn)的傳統(tǒng)LSB算法,以及和已經(jīng)發(fā)表的論文進(jìn)行了對(duì)比。文獻(xiàn)[6]嵌入的數(shù)據(jù)量更多,但是PSNR指標(biāo)低于本文結(jié)果的14.26%。在嵌入數(shù)據(jù)的比特?cái)?shù)相同及更少的情況下,其他設(shè)計(jì)的PSNR是本文結(jié)果的70.39%~83.99%,由此可見(jiàn)本文實(shí)現(xiàn)的水印嵌入算法具有更好的不可見(jiàn)性。

      表2 PSNR性能對(duì)比Table 2 PSNR performance comparison

      4.3 魯棒性測(cè)試

      為了驗(yàn)證本文改進(jìn)LSB算法的魯棒性,本文對(duì)嵌入了水印信息的圖像進(jìn)行各種攻擊實(shí)驗(yàn),然后從被攻擊后的圖像中再提取水印圖像,并以相似系數(shù)(NC)為指標(biāo)與原水印進(jìn)行比較分析。

      圖5所示的是裁剪32×32的小塊后,攻擊后的圖像和提取出的水印圖像。圖6為均值0,方差0.005的高斯噪聲和椒鹽噪聲攻擊實(shí)驗(yàn)的結(jié)果。圖7為壓縮質(zhì)量Q為50的JPEG壓縮攻擊實(shí)驗(yàn)結(jié)果。

      如圖5~7所示,水印載體圖像在受到各種噪聲攻擊后,仍能提取出水印信息,顯示改進(jìn)LSB方法具有一定的抗攻擊能力。同時(shí),表3將本文改進(jìn)的LSB算法與傳統(tǒng)LSB算法進(jìn)行魯棒性的性能對(duì)比。由表3可知改進(jìn)LSB的NC值更大,有更好的還原性能。

      圖5 裁剪32×32攻擊實(shí)驗(yàn)結(jié)果Fig.5 Experimental results of 32×32 clip?ping attack

      圖6 噪聲攻擊實(shí)驗(yàn)(噪聲密度0.005)Fig.6 Experimental results of noise attack(noise density is 0.005)

      圖7 JPEG壓縮攻擊實(shí)驗(yàn)(Q=50)Fig.7 Experimental results of JPEG compress attack(Q=50)

      表3 NC性能對(duì)比Table 3 NC performance comparison

      4.4 處理速度測(cè)試

      本文最后還進(jìn)行了處理速度測(cè)試。由于本文提出的改進(jìn)LSB方法易于采用流水線設(shè)計(jì),所以處理速度主要取決于搭載硬件的電路性能。在輸入接口數(shù)據(jù)寬度為128 b時(shí),處理數(shù)據(jù)帶寬最高可達(dá)128 b×250 MHz=32 Gb/s,體現(xiàn)了基于FPGA實(shí)現(xiàn)水印嵌入功能的優(yōu)越性。

      5 結(jié)束語(yǔ)

      本文對(duì)JPEG圖像數(shù)字水印進(jìn)行了深入的研究與設(shè)計(jì),提出了一種結(jié)合圖像壓縮算法的改進(jìn)LSB嵌入方法。該方法不僅嵌入容量大,隱蔽性好,還利于硬件實(shí)現(xiàn)。在Xilinx Virtex?7 VC707評(píng)估套件上輸入接口數(shù)據(jù)寬度為128 b時(shí),處理數(shù)據(jù)帶寬最高可達(dá)32 Gb/s。基于FPGA設(shè)計(jì)完成了JPEG數(shù)字水印系統(tǒng),最后通過(guò)測(cè)試平臺(tái)對(duì)水印編碼系統(tǒng)的水印嵌入功能進(jìn)行了測(cè)試與驗(yàn)證,驗(yàn)證了本系統(tǒng)的實(shí)用性。但是,在圖像中增加嵌入的水印數(shù)據(jù)量,將會(huì)惡化PSNR指標(biāo)和魯棒性。如何在嵌入數(shù)據(jù)量、PSNR指標(biāo)和魯棒性上取得較好的平衡,目前還未得以解決,這也是今后本文進(jìn)一步的研究方向。

      猜你喜歡
      二值魯棒性編碼
      混沌偽隨機(jī)二值序列的性能分析方法研究綜述
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      支持CNN與LSTM的二值權(quán)重神經(jīng)網(wǎng)絡(luò)芯片
      《全元詩(shī)》未編碼疑難字考辨十五則
      荒漠綠洲區(qū)潛在生態(tài)網(wǎng)絡(luò)增邊優(yōu)化魯棒性分析
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      基于確定性指標(biāo)的弦支結(jié)構(gòu)魯棒性評(píng)價(jià)
      Genome and healthcare
      基于二值形態(tài)學(xué)算子的軌道圖像分割新算法
      基于曲率局部二值模式的深度圖像手勢(shì)特征提取
      北票市| 青海省| 团风县| 韶关市| 象州县| 皮山县| 抚松县| 大余县| 博湖县| 名山县| 越西县| 彰化市| 宣化县| 景德镇市| 正阳县| 灵山县| 江北区| 鲁甸县| 开原市| 水城县| 古田县| 无为县| 滦平县| 韩城市| 高青县| 望奎县| 黄梅县| 慈利县| 内乡县| 甘德县| 贵溪市| 凤台县| 许昌县| 新晃| 巫溪县| 长垣县| 英吉沙县| 玉树县| 莆田市| 宁都县| 长春市|