任克強,王法印
(江西理工大學 信息工程學院,江西 贛州 341000)
?
基于BCH和JND的小波域數字圖像水印算法
任克強,王法印
(江西理工大學 信息工程學院,江西 贛州 341000)
為了提高數字圖像水印的魯棒性,提出一種結合BCH碼和JND模型的小波域數字圖像水印算法。該算法采用Arnold變換和BCH碼對二值水印圖像進行置亂加密以及編碼,對載體圖像分塊后再進行二維離散小波變換,將加密并且編碼后的水印信息嵌入到載體圖像各子塊的二維離散小波變換的低頻子帶中,嵌入強度根據載體圖像的JND值自適應的選取。實驗結果表明,水印的透明性很好,在遭受不同類型和強度的水印攻擊時,具有較強的魯棒性。
數字圖像水印;最小可覺察誤差;BCH碼;離散小波變換;Arnold變換
數字水印技術是在不影響原始數字媒體質量的條件下,通過嵌入算法在載體中添加一定數量的標志性信息,并且保證這些信息具有不易察覺和破壞,但易于被原始載體所有者提取和識別。作為版權保護和信息安全領域的一個重要分支,數字水印技術被普遍用于文本、音頻、視頻和圖像等數字媒體的版權保護[1-4]。
當前,數字水印算法主要集中在兩個方面:一種是空間域,基于該區(qū)域算法是直接對載體中的像素值進行修改完成水印信息的嵌入;另一種是變換域,先將圖像做某種變換,然后再進行水印嵌入[5]。文獻[6]提出了一種抗旋轉、剪切和縮放等幾何型攻擊的LSB數字水印算法,通過修改載體中每個像素值二進制表示的最低位進行水印嵌入,雖然水印嵌入的容量較大,但受到攻擊時魯棒性不理想。文獻[7]基于抗亮度攻擊的基本思想,利用圖像亮度的變換公式,對離散余弦變換之后的直流系數進行修正來嵌入水印,在抵御高斯、中值以及平均濾波、JPEG壓縮和重采樣等攻擊時,表現出良好的魯棒性。文獻[8]提出一種基于改進的脊波變換數字水印算法,選擇恰當的系數,利用奇偶量化水印信息,達到在載體中嵌入水印的目的。文獻[9]利用人類視覺的固有屬性以及離散小波變換(Discrete Wavelet Transform,DWT)的優(yōu)良特性將水印嵌入載體圖像中,具有較好的透明性和魯棒性。
本文結合最小可覺察誤差(Just Noticeable Distortion,JND)模型、DWT和BCH碼的特點,提出一種數字圖像水印算法。算法對Arnold置亂加密后的水印圖像進行BCH編碼,將載體圖像進行分塊二維DWT變換,計算各子塊DWT低頻子帶的JND值,并將置亂加密和編碼的水印信息嵌入到載體圖像中,嵌入強度根據載體圖像的JND值自適應選取。
1.1JND模型
JND模型是根據人類視覺系統(Human Visual System,HVS)特性創(chuàng)建的一種模型。根據HVS的掩蓋特性,在含水印的載體圖像中,水印的透明性會受到頻率、背景亮度和紋理特性的影響。
人眼對不同頻帶信號中的頻率敏感性不同,對低頻信號的頻率較為敏感,對高頻信號的不同尺度、方向的頻率不敏感,特別是對高頻中45°方向的頻率更加不敏感。對DWT中4個子帶的頻率敏感性如下
(1)
式中:l為分解層數(l=0,1,2,3);s為DWT分解方向(s=LL,HL,LH,HH)。
背景亮度敏感性為
j+1+y·2l-3)
(2)
式中:(x,y)為l層中的坐標。
紋理掩蔽特性為
x·2l-3,1+j+y·2l-3]}
(3)
根據式(1)、式(2)和式(3)可以得到在第l層坐標(x,y)處的JND值
(4)
JND值的求解過程結合了HVS對頻率和背景亮度的敏感性以及紋理的掩蓋特性,可為水印嵌入的強度提供依據。
1.2DWT
目前大多數數字水印算法是基于變換域的,在變換域中,小波變換具有良好的空域分解,可以模擬HVS特性,并且具有多尺度的處理能力,因而被廣泛應用于圖像處理中。
DWT是將時間域上連續(xù)的小波變換進行方向尺度和平移的離散化過程,將目標圖像做高通、低通和降頻處理后分解成低頻子帶LL、水平子帶HL、垂直子帶LH和45°對角子帶HH。LL為圖像的邊緣和亮度部分,與原圖像最為接近,包含了圖像的大部分能量;其他3個子帶為載體的紋理、細節(jié)信息。載體圖像經過兩次二維DWT,得到一、二級子帶的分布如圖1所示。
圖1 兩級小波分解后的子帶分布
2.1水印預處理
1)水印圖像置亂加密
Arnold變換首先由弗拉基米爾·阿諾爾德應用于一幅貓臉的圖像中,所以又稱貓臉變換。設載體圖像尺寸為M×M,則二維Arnold變換為
(5)
式中:n為變換次數。
對應的Arnold逆變換為
(6)
對載體圖像進行n次Arnold變換后可將圖像轉換為雜亂無章,相當于對圖像進行了加密。本文的水印圖像為64×64的二值圖像,如圖2a所示,經過30次Arnold變換后得到圖2b所示的加密水印。
圖2 原始水印和加密水印
對于置亂加密后的水印圖像,想要從中恢復出原始水印圖像必須知道M和n的取值,否則難以得到原始水印圖像,從而可以有效提升水印的安全性。
2)水印信息糾錯編碼
數字水印系統中的水印信息嵌入和提取相當于數字通信系統完成一次通信過程,通信系統通過對待發(fā)送的消息進行糾錯編碼可以有效降低碼字在接收端發(fā)生錯誤的概率。在數字圖像水印算法中,可以借鑒數字通信系統中糾錯編碼的思想,利用糾錯碼對水印信息進行編碼,以提高水印的魯棒性。本文采用本原BCH(63,16,11)對置亂并且加密之后的水印信息進行BCH編碼。
2.2水印嵌入
本文把置亂加密并且編碼之后的水印嵌入到載體圖像DWT的低頻子帶中,嵌入強度根據載體圖像的JND值自適應選取,水印的嵌入步驟如下。
步驟1:將載體圖像裁剪成大小為8×8的子塊,并且兩兩之間均不重疊,共64×64塊。然后分別對每個子塊進行兩級DWT變換,得到低頻子帶矩陣LL2。
步驟2:對水印圖像進行Arnold置亂加密,將置亂加密后的水印降為一維序列并對其進行BCH編碼得到序列M_BCH。
步驟3:計算經兩級DWT變換得到的低頻子帶LL2的JND值,并計算每個子塊的平均值得到矩陣AVE_LL。
步驟4:將矩陣AVE_LL轉換成一維向量并進行降序排列,并按從大到小選取低頻子帶進行水印嵌入
(7)
式中:I(i)為原始載體圖像低頻子帶LL2的像素值;JND(i)為I(i)對應的JND值;M_BCH(i)為序列M_BCH中第i個值。
步驟5:記錄含水印的位置信息,存入矩陣Loa_M中,將含水印的低頻子帶與其他未作修改的子帶經過兩級IDWT變換,生成已嵌入水印之后的載體圖像。
2.3水印提取
從含水印載體圖像之中提取水印的步驟如下。
步驟1:將含水印的載體圖像裁剪成大小為8×8的子塊,并且兩兩之間均不重疊,并通過兩級DWT得到低頻子帶LL2′。
步驟2:由矩陣Loa_M找到含水印的像素值,提取水印如下
(8)
步驟3:對提取出的水印序列M_BCH′進行BCH解碼以及Arnold逆變換,獲得提取的水印圖像。
實驗軟硬件環(huán)境為:Intel(R) Core(TM) i5-5200U CPU @ 2.20 GHz,內存8 Gbyte;Windows 10專業(yè)版;MATLAB R2015a。載體圖像是尺寸為512×512的Lena.jpg灰度值圖像,水印為圖2a所示的二值圖像。
衡量一種數字水印算法的性能優(yōu)劣一般包括主觀評價和客觀評價。主觀評價受測試者的主觀因素影響較大,不同的測試者可能對同一圖像產生完全不同的判斷,因此一般使用客觀評價來鑒別一種水印算法的優(yōu)劣??陀^評價一般采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和歸一化相關系數(Normalized Correlation Coefficient,NC)進行評判。
(9)
式中:M和N為載體圖像的尺寸;I和I′分別表示水印嵌入前后的載體圖像;Imax為I中所有像素的最大值;I(x,y)和I′(x,y)分別為兩幅載體圖像坐標(x,y)處的像素點的大小值。PSNR值越大,表明載體圖像嵌入水印或遭受攻擊后的失真越小,水印的透明性越好。
(10)
式中:m和n為水印圖像的尺寸;W(i,j)為原始水印的像素值;W′(i,j)為提取水印的像素值。NC值越大,表明提取出的水印圖像與原始的水印圖像越相似,水印的魯棒性越好。
圖3所示為原始載體圖像和已嵌入水印的載體圖像。當PSNR>30 dB時,圖像通常表現出較高的視覺質量[10];當PSNR>36 dB時,HVS則難以辨別其差異。含水印圖像的PSNR為44.957 8 dB,遠遠大于HVS對圖像分辨的閾值30 dB,說明本文水印的透明性很好。
圖3 原始圖像和含水印圖像
對含水印圖像分別進行中值濾波(3×3)、椒鹽噪聲(0.01)、JPEG壓縮(20%)和剪切(25%)攻擊后,提取的水印如圖4所示。
圖4 攻擊后提取的水印圖像
從圖4可以看出,本文水印遭受上述攻擊后,可以較好地提取水印圖像,提取出來的水印識別度較高。
為進一步地驗證比較水印的透明性和魯棒性,對含水印圖像分別進行不同攻擊類型、強度下的攻擊,提取水印、計算PSNR和NC值并與文獻[9]進行比較,實驗結果如表1所示。由表1可知,遭受不同類型和強度的攻擊后,本文和文獻[9]均表現出較好的透明性和魯棒性。除了遭受剪切(右上1/4)、剪切(右下1/4)以及高斯噪聲(0.01)攻擊后,本文的PSNR值小于文獻[9]外,本文的其他PSNR值均大于文獻[9],說明本文水印的透明性總體上比文獻[9]更好。尤其是本文的NC值均大于文獻[9],這是由于本文采用了糾錯編碼技術,使得本文水印的魯棒性得到有效提升。
表1不同攻擊類型和強度的實驗結果
攻擊類型和強度本文文獻[9]PSNR/dBNCPSNR/dBNC椒鹽噪聲0.0126.36550.998125.34800.93200.0222.36580.948422.27140.86170.0321.63270.902820.61030.83330.0419.38060.850818.40760.7656剪切左上1/411.97410.897311.55170.8499左下1/413.56250.91429.84160.9045右上1/410.85110.915611.94950.8186右下1/410.87810.911012.10940.9090中間1/411.65530.920711.06360.8420高斯噪聲0.0119.63820.913419.95870.80680.00820.89010.907119.95270.82060.00620.92470.850319.99670.81030.00421.03480.821019.98940.8177中值濾波3×335.71970.9572—0.9457JPEG壓縮Q=10021.03480.821019.98940.8177Q=8043.32391.000025.31030.9907Q=6039.21970.990625.17320.9416Q=4037.89110.923124.93710.8062縮放3/438.09360.9501—0.9457
提出一種基于BCH碼和JND模型的小波域數字圖像水印算法,算法通過Arnold變換來增強水印的安全性,利用HVS、JND模型以及DWT的特性來保證水印的透明性和魯棒性,并引入BCH碼來進一步強化水印的魯棒性。通過仿真比較實驗,該算法在抵御不同水印攻擊類型和攻擊強度時,表現出良好的透明性和魯棒性。
[1]WANG T,LI H. A novel scrambling digital image watermark algorithm based on double transform domains[J]. Mathematical problems in engineering,2015(2):1-13.
[2]朱新山,陳硯鳴,董宏輝,等.基于雙域信息融合的魯棒二值文本圖像水印[J].計算機學報,2014,37(6):1352-1364.
[3]王友衛(wèi),劉元寧,朱曉東.用于圖像內容認證的半脆弱水印新算法[J].浙江大學學報(工學版),2013,47(6):969-976.
[4]方旺盛,李玉南,張蓉,等.基于整數小波變換的大容量彩色水印嵌入技術[J].江西理工大學學報,2011,32(3):6-10.
[5]KASHYAP N,SINHA G R. Image watermarking using 3-level discrete wavelet transform(DWT)[J]. International journal of modern education and computer science,2012,4(3):50-56.
[6]白冬慧,劉彥隆.抗幾何攻擊的最低有效位數字水印算法[J].電視技術,2013,37(5):29-32.
[7]李旭東.抗亮度和對比度攻擊的DCT域圖像數字水印算法[J].光電子·激光,2013,24(6):1184-1190.
[8]高虎明,賈麗媛,劉美玲.基于改進脊波變換的抗攻擊數字水印算法[J].計算機應用研究,2014,31(9):2750-2753.
[9]葉闖,沈益青,李豪,等.基于人類視覺特性(HVS)的離散小波變換(DWT)數字水印算法[J].浙江大學學報(理學版),2013,40(2):152-156.
[10]姜傳賢,楊鐵軍,董明剛,等.基于線性空間隱藏模型的可逆圖像水印算法[J].自動化學報,2014,40(10):2324-2333.
任克強(1959— ),教授,碩士生導師,主要研究方向為信息隱藏、無線傳感器網絡等;
王法印(1989— ),碩士研究生,研究方向為信息隱藏。
責任編輯:時雯
Digital image watermarking algorithm in wavelet domain based on BCH and JND
REN Keqiang, WANG Fayin
(SchoolofInformationEngineering,JiangxiUniversityofScience&Technology,JiangxiGanzhou341000,China)
In order to improve the robustness of digital image watermarking, a digital image watermarking algorithm in wavelet domain based on BCH code and JND model is proposed. Arnold transform and BCH code are used to scrambling encryption and encoding of the binary watermarking image. The carrier image is divided to blocks,then each sub-block is carried on two-dimensional discrete wavelet transform respectively. The encrypted and encoded watermarking are embedded into the low frequency subband of two-dimensional discrete wavelet transform of each sub-block in the carrier image, the embedding strength is adaptively selected according to JND value of carrier image. The experimental results show that the watermarking transparency is very good, and has stronger robustness when it is attacked by different types and intensity.
digital image watermarking; just noticeable distortion; BCH code; discrete wavelet transform; Arnold transform
TN911.73; TP391
A
10.16280/j.videoe.2016.09.004
江西省教育廳青年科學基金項目(GJJ11132);江西省研究生創(chuàng)新基金項目(YC2013-S199)
2016-01-21
文獻引用格式:任克強,王法印. 基于BCH和JND的小波域數字圖像水印算法[J]. 電視技術,2016,40(9):22-25.
REN K Q, WANG F Y.Digital image watermarking algorithm in wavelet domain based on BCH and JND[J]. Video engineering,2016,40(9):22-25.