郭 雯,宋春花,關(guān) 虎,黃 櫻,牛保寧,蘭方鵬
(1.太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,太原 030024;2.中國(guó)科學(xué)院自動(dòng)化研究所 數(shù)字內(nèi)容中心,北京 100190)
文本圖像水印技術(shù)是文本水印技術(shù)研究的一個(gè)重要方向,是文本侵權(quán)舉證的重要手段[1]。文本圖像在傳播過程中,會(huì)遇到多種處理攻擊,如旋轉(zhuǎn)、加噪、壓縮、打印掃描等。其中,打印掃描是文本圖像的重要傳播途徑,同時(shí)也是文本信息泄漏和被盜用的常見方式之一。因此,文本圖像水印既要能夠抵抗常見的圖像攻擊,又要對(duì)打印掃描攻擊具有良好的抵抗能力。然而,打印掃描是一個(gè)復(fù)雜的過程,對(duì)水印的攻擊受儀器型號(hào)、參數(shù)影響較大,這給文本圖像水印帶來(lái)了極大的挑戰(zhàn)。
當(dāng)前,文本圖像水印方法可以分為變換域方法[2-3]、空間域方法[4-9]和雙域結(jié)合方法[10-12]。
變換域方法將像素值變換到某種變換域上,如離散余弦變換(discrete cosine transform,DCT)、離散傅里葉變換(discrete fourier transform,DFT)、離散小波變換(discrete wavelet transform,DWT)等,通過修改變換域系數(shù)嵌入水印。變換域方法魯棒性強(qiáng),但文本圖像只有黑白二值,使用變換域方法嵌入水印以后需要將文本二值化,在此過程中水印容易丟失。
空間域方法是直接修改文本像素來(lái)嵌入水印的??梢酝ㄟ^修改文本結(jié)構(gòu)嵌入水印,如上下移動(dòng)行位置[4]、左右移動(dòng)字符位置[5];可以通過修改字符特征嵌入水印,如拆分多結(jié)構(gòu)字符[6]、調(diào)整筆畫彎曲程度[7];可以通過翻轉(zhuǎn)像素嵌入水印,如使用像素翻轉(zhuǎn)策略選擇人眼關(guān)注度低的像素進(jìn)行翻轉(zhuǎn)[8-9]??臻g域方法不需要二值化處理,但對(duì)各種攻擊的抵抗能力較差。
雙域結(jié)合方法為結(jié)合變換域和空間域方法。HE et al[10]將文本圖像進(jìn)行分塊,以每塊內(nèi)黑色像素?cái)?shù)量比例作為特征值,結(jié)合單個(gè)像素的像素翻轉(zhuǎn)策略和DCT嵌入水??;但是該算法的特征值在打印掃描前后差異較大,導(dǎo)致水印抗打印掃描的效果不理想。姚寒冰等[11]使用亓文法[9]提出的打印掃描不變量作為特征值,然后通過像素翻轉(zhuǎn)和DCT嵌入水?。辉撍惴ㄖ荒芮度?4位水印,水印容量較低。TAN et al[12]提出單輪廓像素翻轉(zhuǎn)策略,對(duì)連通分量最外層輪廓信息進(jìn)行DFT,修改DFT系數(shù)得到新輪廓,通過新舊輪廓差異選擇可翻轉(zhuǎn)像素,然后結(jié)合打印掃描不變量翻轉(zhuǎn)像素嵌入水??;該算法視覺效果好,但是單輪廓像素翻轉(zhuǎn)策略可能會(huì)嵌入錯(cuò)誤水印,降低水印魯棒性。雙域結(jié)合方法結(jié)合變換域和空間域方法的優(yōu)點(diǎn),可以提高水印的魯棒性,又可用于二值文本圖像,但當(dāng)前雙域結(jié)合方法對(duì)打印掃描攻擊的抵抗能力依然有待提高。
針對(duì)當(dāng)前文本圖像水印方法對(duì)打印掃描攻擊魯棒性不佳的問題,本文基于打印掃描不變量提出一種多輪廓像素翻轉(zhuǎn)的雙域結(jié)合文本圖像水印算法,在保證水印視覺不可見、能夠抵抗常見圖像攻擊的前提下,提高水印對(duì)打印掃描攻擊的抵抗能力,其創(chuàng)新點(diǎn)如下。
1) 提出一種水印壓縮預(yù)處理方法,在嵌入水印前使用跳白塊編碼壓縮水印圖像,使得在文本圖像總嵌入容量一定的情況下,增加水印嵌入的次數(shù),達(dá)到提高水印魯棒性的目的;
2) 提出多輪廓像素翻轉(zhuǎn)策略,降低單輪廓像素翻轉(zhuǎn)策略嵌入錯(cuò)誤水印的可能性,提高水印魯棒性;
3) 基于打印掃描不變量,結(jié)合DCT和多輪廓像素翻轉(zhuǎn)策略,設(shè)計(jì)一種優(yōu)化的雙域結(jié)合的文本圖像水印嵌入及提取算法,進(jìn)一步提高水印魯棒性。
在打印掃描過程中,文本會(huì)遭遇多種攻擊,例如:旋轉(zhuǎn)、壓縮、加噪、縮放等,并且不同型號(hào)、不同參數(shù)的打印機(jī)和掃描儀給文本帶來(lái)的影響也不同。這使得無(wú)法使用精確的模型模擬打印掃描過程[12]。為了使得水印能夠抵抗打印掃描攻擊,可以找到文本中在打印掃描前后保持不變的部分,利用此部分嵌入水印。亓文法[9]提出一種文本圖像打印掃描過程中的不變量。
定義打印掃描不變量。在打印掃描過程前后,文本中單個(gè)字符包含的黑色像素?cái)?shù)量和平均每個(gè)字符包含的黑色像素?cái)?shù)量比值保持不變。表達(dá)式如下:
(1)
式中:F(x)和FPS(x)分別表示打印掃描前后的文本圖像;I表示字符區(qū)域;x表示黑色像素?cái)?shù)量;M和MPS分別表示打印掃描前后平均單個(gè)字符的黑色像素?cái)?shù)量。
跳白塊編碼是經(jīng)典有效的二值圖像無(wú)損壓縮方法。為了增加水印嵌入次數(shù),本文使用跳白塊編碼壓縮水印圖像。在跳白塊編碼中,白色像素表示為“0”,黑色像素表示為“1”.將圖像分為多塊,每塊包含N位像素。如果塊內(nèi)都是白色像素,則使用“0”編碼該塊;如果塊內(nèi)包含黑色像素,則使用標(biāo)志位“1”和塊內(nèi)N位像素的直接編碼共同表示該塊。解碼時(shí),若識(shí)別“0”,則恢復(fù)N位白色像素;若識(shí)別“1”,則按其后N位編碼恢復(fù)N位像素[13]。
在像素翻轉(zhuǎn)文本圖像水印方法中,像素翻轉(zhuǎn)策略選擇文本中翻轉(zhuǎn)后視覺差異小的像素進(jìn)行翻轉(zhuǎn),是像素翻轉(zhuǎn)水印方法中平衡水印不可見性和魯棒性的重要技術(shù)。WU et al[8]提出一種經(jīng)典的單像素的像素翻轉(zhuǎn)策略,根據(jù)每個(gè)像素在其8鄰域內(nèi)的連通性和平滑性計(jì)算該像素的可翻轉(zhuǎn)得分,選擇得分高的像素翻轉(zhuǎn)。該策略為量化比較每個(gè)像素的翻轉(zhuǎn)級(jí)別提供了方案,但是單像素的像素翻轉(zhuǎn)策略容易在字符筆畫邊界引入凹凸點(diǎn),降低水印的不可見性[12]。為了解決該問題,TAN et al[12]提出單輪廓像素翻轉(zhuǎn)策略。使用傅里葉描述子表示連通分量最外層的輪廓,修改傅里葉描述子得到新連通分量輪廓,根據(jù)新舊輪廓的差異選擇可翻轉(zhuǎn)像素。由于人眼對(duì)輪廓改變的敏感度比單個(gè)像素改變的敏感度更低,該策略更符合人類視覺特性。但是該策略容易嵌入錯(cuò)誤水印,并且嵌入水印后可能打亂水印順序,降低水印的魯棒性。
為了提高水印對(duì)于打印掃描攻擊的抵抗能力,同時(shí)使得水印視覺不可見,對(duì)常見圖像攻擊具有抵抗能力,本文基于打印掃描不變量,結(jié)合DCT和像素翻轉(zhuǎn)方法,提出一種文本圖像水印算法。算法包括水印壓縮預(yù)處理、多輪廓像素翻轉(zhuǎn)策略和水印嵌入及提取算法。
為了提高水印的魯棒性,本文提出一種水印預(yù)處理方法。在水印圖像嵌入到文本圖像之前對(duì)其進(jìn)行壓縮,使得在文本圖像總嵌入容量一定的情況下,根據(jù)總嵌入容量動(dòng)態(tài)增加水印嵌入的次數(shù),提取時(shí)對(duì)提取的多個(gè)水印按位取眾值,達(dá)到提高水印魯棒性的目的。
典型的二值圖像無(wú)損壓縮方法有跳白塊編碼、游程編碼、四叉樹編碼等[13]。其中,跳白塊編碼通過縮減白色像素壓縮圖像,適用于白色像素遠(yuǎn)多于黑色像素的二值水印圖像。跳白塊編碼將圖像分為多塊進(jìn)行編碼。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),水印圖像分塊大小不同時(shí),壓縮率不同,圖1為不同分塊大小時(shí)二值水印圖像的壓縮率。從圖1中可以看出,當(dāng)分塊大小為2×2像素時(shí),水印圖像壓縮率最高。當(dāng)分塊大小為2×2像素時(shí)所有編碼情況如圖2所示。因此,本文使用跳白塊編碼設(shè)計(jì)一種水印壓縮預(yù)處理方法。將二值水印圖像分割為2×2像素大小的子塊,然后進(jìn)行跳白塊編碼,將水印圖像壓縮為只有0和1的水印序列w={w1,w2,…,wy},y為水印序列長(zhǎng)度。
圖1 不同分塊大小的二值圖像壓縮率Fig.1 Compression rate of binary images with different block sizes
圖2 分塊大小為2×2時(shí)不同塊的編碼Fig.2 Encoding of different blocks with block size 2×2
單像素的像素翻轉(zhuǎn)策略容易在字符邊界引入凹凸點(diǎn),單輪廓像素翻轉(zhuǎn)策略[12]修改連通分量最外層輪廓翻轉(zhuǎn)像素,新連通分量黑色像素?cái)?shù)量的實(shí)際值和目標(biāo)值可能存在誤差,導(dǎo)致錯(cuò)誤地嵌入水印,并且翻轉(zhuǎn)像素后連通分量的黑色像素?cái)?shù)量可能低于連通分量提取閾值t,提取時(shí)無(wú)法識(shí)別,打亂了水印順序。為了更好地平衡水印的不可見性和魯棒性,本文提出多輪廓像素翻轉(zhuǎn)策略,相比單輪廓像素翻轉(zhuǎn)策略具有以下優(yōu)點(diǎn)。
1) 降低了嵌入錯(cuò)誤水印的可能性。連通分量?jī)?nèi)所有輪廓由大到小排序。修改一個(gè)輪廓后,如果當(dāng)前連通分量黑色像素?cái)?shù)量和目標(biāo)黑色像素?cái)?shù)量誤差為q,則修改下一個(gè)輪廓,下一輪廓待翻轉(zhuǎn)像素?cái)?shù)量為-q;直到q為0或者所有輪廓都已修改。
2) 保證嵌入水印的連通分量在水印提取過程中可以被識(shí)別。每次修改輪廓后判斷當(dāng)前連通分量黑色像素?cái)?shù)量是否低于閾值t.如果低于t,則不修改當(dāng)前輪廓。
具體翻轉(zhuǎn)步驟如下:
Step1連通分量ai的黑色像素?cái)?shù)量是xi,目標(biāo)黑色像素?cái)?shù)量為xi′.提取ai中的所有輪廓,并由大到小排序。
Step2修改第一個(gè)輪廓。計(jì)算該輪廓的傅里葉描述子F(p),p∈[0,l-1],l為該輪廓像素點(diǎn)個(gè)數(shù)。
Step3將高頻區(qū)域p∈[l/2-γ,l/2+γ]的描述子置零,γ初值為0.使用新傅里葉描述子重構(gòu)得到新的輪廓。
2.3.1水印嵌入
水印嵌入算法基于打印掃描不變量設(shè)計(jì),結(jié)合DCT和多輪廓像素翻轉(zhuǎn)策略修改文本圖像中連通分量的打印掃描不變量嵌入水印。
水印嵌入算法流程如圖3所示。水印嵌入算法的具體步驟如下。
1) 計(jì)算各連通分量的打印掃描不變量。提取文本圖像中黑色像素?cái)?shù)量高于閾值t的連通分量,使用下式計(jì)算各連通分量的打印掃描不變量ei:
(2)
式中:xi為每個(gè)連通分量的黑色像素?cái)?shù)量;A為精度調(diào)節(jié)參數(shù),如:1 000,10 000等;M為文本圖像中連通分量的平均黑色像素?cái)?shù)量。為了避免使用亓文法算法調(diào)整區(qū)域,增加可以嵌入水印的連通分量數(shù)量,本文使用文本首行的連通分量的平均黑色像素?cái)?shù)量作為M,計(jì)算公式如下:
(3)
式中:D為文本圖像首行中連通分量個(gè)數(shù)。
圖3 水印嵌入算法流程Fig.3 Watermark embedding algorithm flow
2) 使用打印掃描不變量構(gòu)造特征矩陣。使用連通分量的打印掃描不變量ei,按照行優(yōu)先順序構(gòu)造多個(gè)8×8特征矩陣Ej(j=0,1,…,k-1,k為特征矩陣的個(gè)數(shù))。
3) 計(jì)算水印可嵌入次數(shù)并擴(kuò)展水印。為了提高水印魯棒性,本文算法將水印重復(fù)多次嵌入,嵌入次數(shù)由文本總嵌入容量動(dòng)態(tài)決定。每個(gè)特征矩陣Ej即每64個(gè)連通分量中嵌入固定位水印,則文本中水印可重復(fù)嵌入次數(shù)c計(jì)算公式如下:
(4)
式中:p為每個(gè)特征矩陣內(nèi)嵌入水印位數(shù);y為編碼后水印序列的長(zhǎng)度。
將水印序列擴(kuò)展c次。如:原水印序列為010,c為3,水印序列擴(kuò)展后為000111000.
相關(guān)系數(shù)R計(jì)算公式為:
(5)
最優(yōu)差分U計(jì)算公式為
(6)
(7)
2.3.2水印提取
水印提取算法與水印嵌入算法相對(duì)應(yīng),其流程如圖4所示。
圖4 水印提取算法流程Fig.4 Watermark extraction algorithm flow
水印提取算法的具體步驟為:
1) 將打印掃描后的文本圖像二值化,使用霍夫變換糾正打印掃描過程引起的文本傾斜。
2) 提取文本圖像中黑色像素?cái)?shù)量低于閾值t的連通分量,計(jì)算各連通分量的打印掃描不變量。
3) 使用打印掃描不變量以行優(yōu)先順序構(gòu)造8×8特征矩陣Ej.
4) 根據(jù)Ej的DCT系數(shù)提取水印序列。DCT系數(shù)按照逆“Z”字排列后,從第s位系數(shù)開始,若系數(shù)為正數(shù),則提取“1”;若系數(shù)為負(fù)數(shù),則提取“0”。提取序列連續(xù)c位的眾值決定一位水印,得到水印序列。
5) 解壓縮水印序列,得到水印圖像。
為了說(shuō)明本文算法的可行性和有效性,本節(jié)通過實(shí)驗(yàn)驗(yàn)證水印的不可見性和魯棒性。實(shí)驗(yàn)數(shù)據(jù)集為96張不同字體不同字號(hào)的中英文文本圖像,其中宋體四號(hào)、隸書小四、楷體小四、Times New Roman 12pt、Century 11pt、Arial 11pt各16張。嵌入和提取過程在Visual Studio 2013中進(jìn)行。
3.1.1實(shí)驗(yàn)參數(shù)設(shè)置
為了動(dòng)態(tài)地調(diào)節(jié)提取連通分量的閾值,t值取文本首行平均每個(gè)連通分量黑色像素?cái)?shù)量的1/5.為平衡水印的不可見性和魯棒性,本文將水印嵌入到特征矩陣的中頻區(qū)域。每個(gè)特征矩陣內(nèi)嵌入的水印位數(shù)p為24,水印開始嵌入位數(shù)s為16,A取值10 000.
3.1.2評(píng)價(jià)標(biāo)準(zhǔn)
本文使用峰值信噪比(peak signal to noise ratio,PSNR)作為水印不可見性的客觀評(píng)價(jià)標(biāo)準(zhǔn),使用誤碼率(bit error ratio,BER)作為水印魯棒性的評(píng)價(jià)標(biāo)準(zhǔn)。
PSNR(用RPSN表示)通過計(jì)算文本嵌入水印前后的差異衡量水印給文本帶來(lái)的視覺差異。RPSN值越大,說(shuō)明水印的不可見性越好;反之亦然。RPSN計(jì)算公式如下:
(8)
式中:RPSN表示文本圖像的峰值信噪比;gmax表示文本圖像顏色的最大數(shù)值;Ems為均方差,計(jì)算公式如下:
(9)
式中:K和I分別是原始文本和嵌入水印后文本;m×n為文本大小。
BER通過計(jì)算提取的水印中錯(cuò)誤位數(shù)的比例來(lái)衡量水印魯棒性(用bER表示)。bER值越低,代表水印魯棒性越高;反之亦然。其計(jì)算公式如下:
(10)
式中:bER為提取水印的誤碼率;yerr為水印錯(cuò)誤提取位數(shù);ylen為水印總位數(shù)。
通過舉例展示使用本文算法嵌入水印的視覺效果。圖5為一張二值水印圖像,圖6為一張宋體四號(hào)中文文本圖像,圖7為使用本文算法將圖5嵌入到圖6的文本圖像。為了更直觀地展示嵌入水印的效果,將圖6和圖7進(jìn)行放大。圖8和圖9分別為原始文本圖像和嵌入水印后的文本圖像的局部放大圖。
圖5 原始水印圖像Fig.5 Original watermark image
圖6 原始文本圖像Fig.6 Original text image
圖7 嵌入水印文本圖像Fig.7 Text image with watermark embedded
圖8 原始文本圖像的局部放大圖Fig.8 Enlarged image of the original text image
圖9 嵌入水印文本圖像的局部放大圖Fig.9 Enlarged image of embedded watermark text image
利用本文所提算法,圖8中連通分量“卩”需要減少黑色像素,在圖9中部分凸起像素被去掉;圖8中連通分量“冂”需要增加黑色像素?cái)?shù)量,在圖9中部分凹陷像素被填充。通過對(duì)比嵌入水印前后的文本圖像,可以發(fā)現(xiàn)使用本文算法在文本圖像中嵌入水印后,字符失真度非常小,視覺效果良好。
使用PSNR值RPSN客觀評(píng)價(jià)本文算法的不可見性。使用本文算法、文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]算法分別在相同數(shù)據(jù)集的所有文本圖像中嵌入相同的水印圖像,通過嵌入前后的文本圖像的RPSN值對(duì)比四種算法的不可見性。不同字體字號(hào)的文本圖像實(shí)驗(yàn)結(jié)果如表1所示。
表1 不可見性比較Table 1 Comparison of invisibility
從表1中可以看出,本文算法平均RPSN值分別在文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]的基礎(chǔ)上提高了8.81%、5.16%和0.03%,說(shuō)明本文算法的不可見性更好。本文算法和文獻(xiàn)[12]算法相比,RPSN值幾乎相等,因?yàn)楸疚乃惴ê臀墨I(xiàn)[12]算法都通過修改輪廓嵌入水印。除在Arial 11pt字體字號(hào)的文本圖像中,本文算法和文獻(xiàn)[12]算法的RPSN值都高于文獻(xiàn)[9]和文獻(xiàn)[11]算法。說(shuō)明除Arial 11pt字體,通過修改輪廓嵌入水印給文本帶來(lái)的視覺損失更小,水印不可見性更高。Arial字體相對(duì)其他字體來(lái)說(shuō)字符邊界更加平滑,輪廓可修改地方更少。實(shí)驗(yàn)結(jié)果證明,本文算法可以保證水印視覺不可見。
使用誤碼率bER值客觀評(píng)價(jià)本文算法的魯棒性。使用本文算法、文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]算法分別在相同數(shù)據(jù)集的所有文本圖像中嵌入相同的水印圖像,計(jì)算經(jīng)過攻擊之后提取水印的bER值,進(jìn)而驗(yàn)證本文算法的魯棒性。
3.3.1打印掃描攻擊
使用HP LaserJet 3055打印掃描一體機(jī)打印文本圖像,并以600 dpi分辨率掃描成文本圖像,然后使用對(duì)應(yīng)的提取算法提取水印,計(jì)算bER值。實(shí)驗(yàn)結(jié)果如表2所示。
表2 打印掃描攻擊的魯棒性比較Table 2 Comparison of robustness against print-scan attack
從表2中可以看出,本文算法平均bER值分別在文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]的基礎(chǔ)上降低了49.86%、17.3%和23.34%,說(shuō)明本文算法對(duì)于打印掃描攻擊的抵抗能力更強(qiáng)。這是因?yàn)楸疚乃惴ㄊ褂昧硕噍喞袼胤D(zhuǎn)策略,還重復(fù)嵌入水印,提高了水印魯棒性。在6種字體字號(hào)的文本圖像中,本文算法在楷體文本圖像中表現(xiàn)最佳,說(shuō)明本文算法更適用于楷體文本中。實(shí)驗(yàn)結(jié)果證明,本文算法提高了水印對(duì)于打印掃描攻擊的魯棒性。
需要說(shuō)明是,不同的打印掃描分辨率對(duì)水印提取的準(zhǔn)確率會(huì)有一定的影響,但從算法效果的對(duì)比來(lái)看,本文算法與對(duì)比算法在不同分辨率下進(jìn)行bER的比較,呈現(xiàn)的優(yōu)劣程度基本一致,因此,不失一般性,本文僅就600 dpi分辨率下的實(shí)驗(yàn)結(jié)果進(jìn)行展示與分析。
3.3.2其他攻擊
本文除了重點(diǎn)針對(duì)打印掃描攻擊的魯棒性進(jìn)行系統(tǒng)實(shí)驗(yàn)和深入分析外,也對(duì)其它算法對(duì)于常見圖像處理的抵抗能力進(jìn)行驗(yàn)證。對(duì)使用不同算法嵌入相同水印的文本圖像分別進(jìn)行旋轉(zhuǎn)、噪聲、壓縮、縮放處理,然后使用對(duì)應(yīng)的提取算法提取水印,計(jì)算bER值。實(shí)驗(yàn)結(jié)果如圖10所示。
從圖10中可以看出,對(duì)于旋轉(zhuǎn)攻擊和噪聲攻擊,本文算法的平均誤碼率低于文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12],說(shuō)明本文算法的水印對(duì)旋轉(zhuǎn)和噪聲攻擊的魯棒性更好。這是因?yàn)楸疚乃惴ㄔO(shè)置了文本傾斜矯正和過濾過小連通分量,并且使用水印壓縮預(yù)處理增加水印嵌入的次數(shù),結(jié)合DCT和多輪廓像素翻轉(zhuǎn)策略嵌入水印,提高了水印的魯棒性。對(duì)于壓縮攻擊,本文算法的表現(xiàn)雖然比文獻(xiàn)[11]差,但是優(yōu)于文獻(xiàn)[9]和文獻(xiàn)[12]。對(duì)于縮放攻擊,本文算法的平均誤碼率高于文獻(xiàn)[11]和文獻(xiàn)[12],但低于文獻(xiàn)[9]。這是因?yàn)榭s放攻擊使得輪廓的細(xì)節(jié)信息丟失,從而使得特征矩陣的DCT系數(shù)改變,水印被改變。實(shí)驗(yàn)結(jié)果證明,本文算法可以抵抗合理范圍內(nèi)的旋轉(zhuǎn)、加噪、壓縮等攻擊,在抵抗縮放攻擊方面,本文算法的性能還有待進(jìn)一步提高。
圖10 其他攻擊的魯棒性比較Fig.10 Comparison of robustness against other attacks
本文提出打印掃描不變的多輪廓像素翻轉(zhuǎn)文本圖像水印算法。為了提高水印魯棒性,首先在嵌入水印之前使用水印壓縮預(yù)處理方法壓縮水印圖像,在總嵌入容量一定的情況下,增加水印嵌入的次數(shù);然后提出多輪廓像素翻轉(zhuǎn)策略,進(jìn)一步提高水印魯棒性;最后基于打印掃描不變量,結(jié)合離散余弦變換和多輪廓像素翻轉(zhuǎn)策略,設(shè)計(jì)水印嵌入及提取算法,盡可能地提高水印魯棒性。在文獻(xiàn)[9]、文獻(xiàn)[11]和文獻(xiàn)[12]的基礎(chǔ)上,嵌入水印前后的平均RPSN值分別提高了8.81%、5.16%和0.03%,打印掃描攻擊后的平均bER值分別降低了49.86%、17.3%和23.34%.經(jīng)實(shí)驗(yàn)驗(yàn)證,本文算法在保證水印不可見的前提下,提高了水印對(duì)打印掃描攻擊的魯棒性,并且水印可以抵抗合理范圍的旋轉(zhuǎn)、噪聲、壓縮等攻擊。本文算法在嵌入水印的過程中,多次使用迭代方法,導(dǎo)致算法運(yùn)行時(shí)間長(zhǎng),并且對(duì)于縮放攻擊的魯棒性有待提高,下一步將就提高算法運(yùn)行效率和對(duì)縮放攻擊的抵抗能力進(jìn)行深入研究。