《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 數(shù)字圖像盲水印算法與LDPC碼的聯(lián)合方案

數(shù)字圖像盲水印算法與LDPC碼的聯(lián)合方案

2008-06-05
作者:周統(tǒng)和,喬秦寶,謝 亮

  摘 要: 針對(duì)現(xiàn)有盲水印算法" title="盲水印算法">盲水印算法穩(wěn)健性差的問題,提出一種新的數(shù)字圖像盲水印方案。詳細(xì)介紹了利用LDPC碼良好的糾錯(cuò)性能以及改進(jìn)的盲水印算法,嵌入及提取水印的具體算法,并通過實(shí)驗(yàn)驗(yàn)證算法的穩(wěn)健性和復(fù)雜度。
  關(guān)鍵詞: 數(shù)字水印" title="數(shù)字水印">數(shù)字水印 LDPC碼 離散余弦變換


  隨著現(xiàn)代數(shù)字技術(shù)的發(fā)展,數(shù)據(jù)媒體的復(fù)制和傳輸越來越廣泛。與此同時(shí),版權(quán)的保護(hù)措施顯得相對(duì)薄弱。在此情況下,引進(jìn)數(shù)字水印技術(shù)" title="數(shù)字水印技術(shù)">數(shù)字水印技術(shù)顯得至關(guān)重要。數(shù)字水印技術(shù)通過一定算法將水印信息(如公司標(biāo)志、版權(quán)序列號(hào)等)嵌入到媒體中,但不影響媒體的使用。數(shù)字水印分為明文水印和盲水印。明文水印在檢測(cè)過程中需要原始數(shù)據(jù),具有較強(qiáng)的穩(wěn)健性,但存儲(chǔ)成本較高;盲水印的檢測(cè)不需要原始數(shù)據(jù),存儲(chǔ)成本低,較為實(shí)用,但其穩(wěn)健性稍差。
  低密度校驗(yàn)LDPC(Low Density Parity Check)碼[1,2]是繼Turbo碼之后的又一性能趨近香農(nóng)限的優(yōu)秀碼種。實(shí)驗(yàn)證明它在多方面具有突出優(yōu)點(diǎn):逼近香農(nóng)限的性能;描述和實(shí)現(xiàn)簡(jiǎn)單;適合硬件實(shí)現(xiàn);在碼長(zhǎng)較大時(shí)LDPC碼性能優(yōu)于Turbo碼且譯碼復(fù)雜度更低。
  文獻(xiàn)[3]提出基于Turbo碼的水印算法,利用Turbo碼的糾錯(cuò)性能來改善水印傳輸中的誤碼率。本文利用性能更優(yōu)的LDPC碼來改善水印傳輸?shù)恼`碼率,以增強(qiáng)水印的穩(wěn)健性。
  本水印系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。原始圖像采用256×256像素的灰度Lena圖像。原始水印采用16×32像素的字母“W”的二值圖像(像素值為0或1)。交織采用偽隨機(jī)交織器。


1 水印的LDPC編碼及嵌入
1.1 水印的LDPC編碼

  一個(gè)(n,j,k)的LDPC碼由它的校驗(yàn)矩陣H定義。其中n表示碼長(zhǎng),j、k分別表示校驗(yàn)矩陣H的每行和每列中含1的個(gè)數(shù),其他元素為0。一般,j<k,j<<(n×k)/j,k<<n。
  正則LDPC碼中的每列(行)的列(行)重相等,若不相等則為非正則LDPC碼。LDPC碼的H矩陣一般由非系統(tǒng)形式給出。(10,2,5)的H矩陣如下,其Tanner圖如圖2所示。


  LDPC碼的校驗(yàn)矩陣的行對(duì)應(yīng)校驗(yàn)方程,即校驗(yàn)位,列對(duì)應(yīng)著傳輸?shù)奈?,即信息位。它們之間的關(guān)系可以用Tanner圖來表示:如果hij=1,則表示第i個(gè)校驗(yàn)位和第j個(gè)信息位之間存在一條連線。例如上面的正則LDPC碼H矩陣對(duì)應(yīng)的Tanner圖,由圖2所示(上端5個(gè)節(jié)點(diǎn)對(duì)應(yīng)校驗(yàn)比特,下端10個(gè)節(jié)點(diǎn)對(duì)應(yīng)信息比特)。
  LDPC碼的編碼過程主要依賴于校驗(yàn)矩陣H的構(gòu)造,可歸納為下列幾個(gè)步驟:
  (1)生成一個(gè)全0矩陣,然后隨機(jī)在每列插入j個(gè)1;
  (2)調(diào)整行重,盡量使行重保持一致;
  (3)調(diào)整列中1的位置,使得相鄰兩列1的位置在行上不重疊;
  (4)消除矩陣中的短循環(huán)(長(zhǎng)度為4的環(huán));
  (5)通過高斯" title="高斯">高斯-約旦變換,把H變成系統(tǒng)形式H=[PT,I1],其中I1為M階的單位矩陣。
  求得該H矩陣對(duì)應(yīng)的生成矩陣G=[I2,P],其中I2為N-M階的單位陣。用信息比特去乘生成矩陣G得到編碼后的碼字,即完成編碼過程。
  本算法采用正則LDPC碼,碼長(zhǎng)為32,校驗(yàn)矩陣每列含1的個(gè)數(shù)j=3,碼率r=1/2。將原始水印的二值圖像進(jìn)行偽隨機(jī)亂序后,作為信息比特輸入到LDPC編碼器進(jìn)行碼率為1/2的編碼,得到的輸出結(jié)果為32×32的二值矩陣V。
1.2 水印的嵌入算法
  本文采用在DCT變換域上嵌入水印。采用盲嵌入方法,并對(duì)文獻(xiàn)[4]作了改進(jìn)和簡(jiǎn)化。具體過程為:
  (1)將原始圖像I分成8×8像素的子塊M8×8(i),分塊進(jìn)行DCT,得到系數(shù)矩陣N8×8(i),i=1,2,……1 024;
  (2)將二值矩陣V組成長(zhǎng)為1 024的序列W(i);同時(shí),生成兩個(gè)長(zhǎng)度為10的偽隨機(jī)數(shù)序列S0、S1;選中N8×8(i)的10個(gè)特定的次高頻系數(shù)C(i,j);對(duì)于N8×8(i),更新這10個(gè)DCT系數(shù)(其中α為嵌入因子):

2 水印的提取及譯碼
2.1 水印提取過程
  采用改進(jìn)的盲檢測(cè)算法。過程如下:

2.2 水印的LDPC譯碼過程
  將檢測(cè)出來的二值矩陣進(jìn)行LDPC譯碼。置信傳播BP算法,又稱和積算法SPA(Sum Product Algorithm),是最普遍的LDPC碼譯碼算法" title="譯碼算法">譯碼算法[2]。這種算法的優(yōu)點(diǎn)是:運(yùn)算可以完全并行,因此譯碼速度極高,譯碼復(fù)雜性很低,其運(yùn)算量不會(huì)因?yàn)榇a長(zhǎng)增加而急劇增加。本文的譯碼算法采用BP迭代譯碼算法。主要包括以下四個(gè)步驟:(1)概率初始化:對(duì)特定的信道(本文假設(shè)為高斯信道)設(shè)置信息比特的先驗(yàn)概率。(2)橫向步驟:由信息比特的先驗(yàn)概率按照置信傳播算法得出各校驗(yàn)比特的后驗(yàn)概率。(3)縱向步驟:由校驗(yàn)比特的后驗(yàn)概率得出信息比特的后驗(yàn)概率。(4)似然值判決:將各信息比特的后驗(yàn)概率的比值取對(duì)數(shù)得到似然值,根據(jù)其符號(hào)做出硬判決,得到譯碼結(jié)果,則譯碼結(jié)束;若不滿足,則跳轉(zhuǎn)至步驟(2),進(jìn)行反復(fù)迭代,直到滿足條件,得出正確的譯碼結(jié)果。如果循環(huán)次數(shù)達(dá)到預(yù)先設(shè)定值但仍不滿足條件,就停止循環(huán),宣告譯碼失敗。
3 實(shí)驗(yàn)結(jié)果及分析
  仿真在Matlab 6.5 平臺(tái)上進(jìn)行。LDPC碼的碼率為1/2,譯碼最大迭代次數(shù)設(shè)置為100。嵌入因子α=0.1。實(shí)驗(yàn)圖像如圖3所示。


  水印圖像的質(zhì)量用峰值信噪比PSNR進(jìn)行質(zhì)量評(píng)價(jià)。峰值信噪比PSNR為39.51dB時(shí),由圖3(c)可以看到,含水印的圖像與原始圖像的視覺效果無太大差異。因此,本算法具有良好的隱蔽性。
  為了驗(yàn)證本算法的穩(wěn)健性,本文采用了幾種信道攻擊試驗(yàn),以考察檢測(cè)到的水印質(zhì)量。由于嵌入水印前是否加入LDPC編碼對(duì)原始圖像視覺效果的影響不明顯,因此本文重點(diǎn)是針對(duì)水印質(zhì)量在有無LDPC編碼的情況下做出比較。
  (1)加噪。將高斯噪聲和椒鹽噪聲加到含有水印的圖像中,考察噪聲對(duì)提取出的水印質(zhì)量的影響。
  (2)旋轉(zhuǎn)處理。對(duì)含水印圖像進(jìn)行旋轉(zhuǎn)45度進(jìn)行了試驗(yàn)。
  (3)剪切。對(duì)含有水印的圖像左上角剪切1/4,考察其對(duì)水印提取效果的影響。
  (4)高通濾波。通過增強(qiáng)圖像的高頻分量以減小圖像的模糊程度,也稱為銳化。
  (5)JPEG壓縮。將含水印的圖像進(jìn)行質(zhì)量參數(shù)為0~100的JPEG有損壓縮編碼。選定質(zhì)量參數(shù)為10時(shí)對(duì)提取出的水印效果作比較。
  有無LDPC碼的抗攻擊效果對(duì)比如表1所示。從表中的各種攻擊實(shí)驗(yàn)結(jié)果看出,對(duì)原始水印采用了LDPC編碼之后,提取出的水印質(zhì)量均有明顯的改善。


  基于LDPC編碼的新型數(shù)字圖像盲水印方案具有如下優(yōu)點(diǎn):(1)與普通水印相比,該方案不依賴原始圖像;(2)水印對(duì)加噪、旋轉(zhuǎn)、剪切、濾波、JPEG壓縮等攻擊所表現(xiàn)出的抵抗能力比未加LDPC編碼時(shí)更強(qiáng);(3)總體復(fù)雜度低。LDPC碼的編譯碼復(fù)雜度比同性能的Turbo碼低很多,因此該方案具有很強(qiáng)的實(shí)用性。
參考文獻(xiàn)
1 Gallager R G.Low-density parity-check codes[J].IRE Transactions on Information Theory,1962;(1):21~28
2 Gallager R G.Low-density parity-check codes[A].Cam-bridge,Mass,1963
3 陳心浩,陳軍波.基于Turbo碼的數(shù)字水印技術(shù).電視技術(shù),2003;(8):73~75
4 徐亞哲,金聰.一種新的DCT域盲數(shù)字水印嵌入和檢測(cè)方法.計(jì)算機(jī)工程與應(yīng)用,2004;(2):47~49
5 David J C.Good error-correcting codes based on very sparse matrices.IEEE Transactions on Information Theory,1999;45(2):399~431
6 Cox I J著,王穎譯.數(shù)字水印.北京:電子工業(yè)出版社,2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。