劉 俊,楊任爾,萬旭東
(1.寧波大學(xué)a.信息科學(xué)與工程學(xué)院;b.通信技術(shù)研究所,浙江寧波315211;
2.浙江省移動網(wǎng)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,浙江寧波315211)
基于不同掃描順序差值的可逆信息隱藏算法
劉 俊1a,2,楊任爾1a,1b,萬旭東1a
(1.寧波大學(xué)a.信息科學(xué)與工程學(xué)院;b.通信技術(shù)研究所,浙江寧波315211;
2.浙江省移動網(wǎng)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,浙江寧波315211)
為實(shí)現(xiàn)敏感圖像的大容量可逆信息隱藏,提出一種基于圖像相鄰像素差值的大容量無損隱藏算法。通過將圖像分塊,對每個(gè)分塊按照不同的掃描順序計(jì)算差值,對差值序列進(jìn)行比較,選取最優(yōu)掃描順序生成的差值直方圖。從差值直方圖中選取2個(gè)最大峰值點(diǎn),每個(gè)峰值點(diǎn)選取最近的多個(gè)零值點(diǎn),在峰值像素點(diǎn)插入多位秘密信息,從而實(shí)現(xiàn)圖像大容量的可逆信息隱藏。仿真結(jié)果表明,該算法能根據(jù)不同分塊圖像的像素分布動態(tài)選擇最優(yōu)掃描順序,且利用雙峰值多零點(diǎn)嵌入,在嵌入隱秘信息后的峰值信噪比相差不大的情況下,可大幅提高隱寫容量。
分塊圖像;雙峰值和多零值;掃描順序選擇;相鄰像素差;直方圖修改;可逆信息隱藏
信息隱藏是將需要保護(hù)的信息嵌入到載體中,通過載體的傳輸達(dá)到將秘密信息傳送出去的目的。通常情況下,嵌入了秘密信息的載體都不可避免地出現(xiàn)一定程度的失真。但是對于某些特殊的載體,如生物醫(yī)學(xué)圖像,需要將圖像相關(guān)信息隱藏于圖像之中,但生物醫(yī)學(xué)圖像對于完整性具有極高的要求,因而對于
這些載體的處理就需要引入可逆信息隱藏技術(shù)[1-2]。
當(dāng)前,可逆信息隱藏技術(shù)的典型算法主要有基于無損壓縮的可逆信息隱藏算法[3]、基于像素差值的可逆信息隱藏算法[4]和基于圖像直方圖的可逆信息隱藏算法[5-8]。同時(shí)作為信息隱藏重要評價(jià)指標(biāo)——隱藏容量和隱藏后圖像質(zhì)量是信息隱藏算法需要面對的問題。而利用圖像直方圖特性修改部分圖像像素的可逆信息隱藏算法得到了許多學(xué)者的關(guān)注。其中,文獻(xiàn)[1]提出了圖像直方圖修改算法,通過直方圖峰值和零值點(diǎn)對實(shí)現(xiàn)隱秘信息嵌入,后來一系列基于直方圖修改算法的改進(jìn)算法被提出,文獻(xiàn)[9-10]提出了直方圖最大點(diǎn)進(jìn)行多位隱藏的方式,也實(shí)現(xiàn)了信息隱藏容量的提升,文獻(xiàn)[11]提出了基于預(yù)測誤差值直方圖修改算法,文獻(xiàn)[12-15]提出了相鄰像素差值的直方圖修改算法,這些改進(jìn)算法的目的都是為了增加直方圖的峰值點(diǎn)個(gè)數(shù),從而增加隱寫容量。
本文在文獻(xiàn)[15]的基礎(chǔ)上,通過對載體圖像分塊并通過分析分塊圖像像素分布選擇最佳的掃描順序,計(jì)算掃描過程中的相鄰像素差值并繪制直方圖,選取直方圖的2個(gè)最大峰值及多個(gè)零值進(jìn)行隱秘信息嵌入。
由于圖像相鄰像素之間具有相關(guān)性,圖像平滑區(qū)域的相鄰像素間的差值會比較小,將相鄰像素進(jìn)行差值運(yùn)算得到的差值直方圖會集中分布在差值0附近,選取差值直方圖中頻率最高的2個(gè)差值嵌入數(shù)據(jù)。但是不同載體圖像、不同分塊圖像的像素分布均有很大的差別,如果用一種固定的掃描方式計(jì)算差值,必定會產(chǎn)生分散的差值分布,從而獲得的差值直方圖差值峰值點(diǎn)較低、差值分散,這樣將影響隱寫容量及嵌入隱秘信息后的圖像質(zhì)量。
本文通過分析每一塊分塊圖像像素分布選擇最優(yōu)掃描順序,然后計(jì)算最優(yōu)掃描過程中相鄰像素的差值并構(gòu)造差值直方圖,通過改變差值直方圖的峰值點(diǎn)的像素進(jìn)行信息嵌入。因?yàn)橹狈綀D峰值點(diǎn)的個(gè)數(shù)直接影響圖像的隱寫容量,所以選擇最合適的掃描順序可以一定程度上提高隱寫容量。除此之外,本文還使用雙峰值-多零值點(diǎn)嵌入,這樣可以進(jìn)一步成倍地增加圖像的隱寫容量。
2.1 掃描方式的確定
將載體圖像I分成等大、不重疊的大小為N×N像素的正方形分塊圖像,對每個(gè)N×N分塊圖像采用如圖1所示的3種掃描方式得到3個(gè)長度為L=N×N像素序列。
(1)行Z型掃描:從上到下依次掃描每行像素。若行數(shù)為奇數(shù),則采用從左到右的掃描順序,若行數(shù)為偶數(shù),則采用從右到左的掃描順序。
(2)列Z型掃描:從左到右依次掃描每列像素。若列數(shù)為奇數(shù),則采用從上到下的掃描順序,若列數(shù)為偶數(shù),則采用從下到上的掃描順序。
(3)對角線直角掃描:從左上角到右下角掃描圖像像素。第一次掃描第一行第一列的像素,接下來的直角掃描按照以下規(guī)則:每次掃描的直角轉(zhuǎn)折點(diǎn)像素分布在分塊圖像的對角線上,設(shè)其坐標(biāo)為(j,k)。則每次完整的掃描路線為(1,k),(j,k),(j,1) 3點(diǎn)連線的直角軌跡,掃描方向按照掃描次數(shù)的奇偶數(shù)進(jìn)行確定。當(dāng)掃描次數(shù)為偶數(shù)次時(shí),掃描路線為第j行第1列到第j行第k列,然后從第j行第k列~第1行第k列(虛線箭頭部分);當(dāng)掃描次數(shù)為奇數(shù)次時(shí)掃描路線為第1行第k列~第j行第k列,然后從第j行第k列到第j行第1列(實(shí)線箭頭部分)。相鄰2次掃描之間的相鄰2個(gè)像素點(diǎn)按照先后順序依次掃描(細(xì)實(shí)線部分)。
圖1 掃描方式
設(shè)掃描序列L={x1,x2,…,xL},差值序列D= {x′1,x′2,…,x′L},將以上3種掃描方式得到的掃描序列分別定義為L1,L2,L3,對3種掃描順序得到的每個(gè)像素序列的相鄰元素做差值運(yùn)算后得到3個(gè)差值序列D1,D2,D3,其中:
統(tǒng)計(jì)每個(gè)差值序列中出現(xiàn)頻率最高的2個(gè)差值作為峰值點(diǎn),將2個(gè)峰值點(diǎn)出現(xiàn)的次數(shù)相加分別計(jì)為S1,S2,S3。取3個(gè)次數(shù)和中最大的值Sm對應(yīng)的差值序列嵌入隱秘信息。即Sm=max(S1,S2,S3)。
若Sm=S1,則選取行Z型掃描方式T1;
若Sm=S2,則選取列Z型掃描方式T2;
若Sm=S3,則選取對角線直角掃描方式T3。
設(shè)選取的最優(yōu)掃描方式為T(T=T1,T2,T3)。
以Lena圖像分割成4×4小塊后的第1塊圖像塊為例進(jìn)行說明。圖2~圖4分別表示第1塊分塊圖像行Z型掃描方式、列Z型掃描方式、對角線直角掃描方式得到的差值直方圖。
圖2 行Z型掃描方式
圖3 列Z型掃描方式
圖4 對角線直角掃描方式
p1,p2分別代表每塊圖像差值直方圖的最大、次大峰值點(diǎn),以上3種掃描方式得到的差值直方圖2個(gè)峰值和分別為1 802,2 953,2 063,因此第1塊分塊圖像采用第2種掃描方式,即列Z型掃描方式以獲得更多的峰值點(diǎn)。其他圖像塊采用相同的方法依次選取最合適的掃描方式進(jìn)行掃描,從而使得每個(gè)分塊圖像的差值直方圖能獲得更多的峰值點(diǎn)個(gè)數(shù)。
2.2 嵌入過程
嵌入過程如下:
輸入載體圖像I,隱秘信息s
輸出隱秘圖像S,分塊圖像掃描方式Ti,2個(gè)峰值零值組{L1,L2,…,Lm,P1}、{P2,R1,R2,…,Rm}
嵌入步驟:
(1)將分塊圖像C按照掃描方式Ti進(jìn)行掃描,得到像素序列L={x1,x2,…,xL}。
(2)將像素序列做差值運(yùn)算得到差值序列D= {d1,d2,…,dL}。
(3)統(tǒng)計(jì)差值序列得到差值序列直方圖,尋找直方圖上最大的2個(gè)峰值點(diǎn)記為P1,P2(P1<P2),尋找與2個(gè)峰值距離最近的m個(gè)連續(xù)零值點(diǎn)組成對應(yīng)的峰值-零值組{L1,L2,…,Lm,P1},{P2,R1,R2,…,Rm}。
(4)按照掃描方式Ti重新掃描分塊圖像C(像素Ci,加密后圖像像素Si),計(jì)算每個(gè)像素點(diǎn)的差值di,隱秘信息為s,初始化S1=C1,Ti(3種方式)。
如果di≠P1且di≠P2,Ci按照如下操作:
如果di=P1或者d1=P2,設(shè)k為m位連續(xù)二進(jìn)制s轉(zhuǎn)換為十進(jìn)制,Ci按照如下操作:
(5)重復(fù)步驟(4)直到完成所有像素處理,并將分塊圖像掃描方式Ti、峰值零值組作為頭信息嵌入圖像。
2.3 提取與恢復(fù)過程
提取與恢復(fù)過程如下:
輸入隱秘圖像S,分塊圖像掃描方式Ti,峰值零值組{L1,L2,…,Lm,P1},{P2,R1,R2,…,Rm}
輸出載體圖像I,隱秘信息s
提取隱秘信息與恢復(fù)載體圖像為嵌入過程的逆過程,具體過程如下:
(1)將隱秘圖像S分割成大小為N×N的不重疊圖像塊。
(2)對圖像塊按照掃描方式Ti進(jìn)行掃描得到像素序列L′,初始化第一行第一列恢復(fù)像素C1為L′第一個(gè)元素S1。
(3)隱秘信息提取過程如下:
(4)載體圖像恢復(fù)過程如下:
(5)重復(fù)步驟(3)和步驟(4)至最后一位像素完成提取和恢復(fù)。
2.4 防止溢出的解決方案
對于256灰度圖像像素分布于[0,255],本文算
法像素的最大修改量為m。為了防止像素溢出,對于像素小于m和像素大于255-m的像素點(diǎn)分別加上m和減去m像素。設(shè)置定位圖記錄各像素點(diǎn)的溢出的情況,對屬于[m,255-m]的像素定位圖賦值0,對于其他像素定位圖賦值1。由于圖像像素分布于小于m或者大于255–m的較少,因此采用游程編碼對定位圖進(jìn)行壓縮,并將壓縮后的定位圖與隱秘信息一起嵌入載體圖像中。
本文算法在基于VC++6.0的平臺下進(jìn)行仿真,對大量圖像進(jìn)行了實(shí)驗(yàn),結(jié)果表明本文算法能大大提高圖像的隱寫容量,同時(shí)可以獲得比較理想的峰值信噪比。
以圖5中Lena,Boats,Jetp,GoldHill 4幅圖像作為載體圖像為例進(jìn)行實(shí)驗(yàn),對該4幅圖像進(jìn)行4×4分塊,對分塊圖像分別進(jìn)行單零值嵌入、連續(xù)3位零值多位嵌入。單零值嵌入后的圖像結(jié)果如圖6所示。
圖5 嵌入前圖像
圖6 嵌入后圖像
本文實(shí)驗(yàn)結(jié)果與文獻(xiàn)[15]實(shí)驗(yàn)結(jié)果進(jìn)行比較,比較后的數(shù)據(jù)對照如表1所示,4幅圖像的嵌入率與峰值信噪比關(guān)系如圖7所示。
表1 3種算法的性能比較
圖7 嵌入率與峰值信噪比關(guān)系
實(shí)驗(yàn)數(shù)據(jù)表明,在取m=1的情況下對分塊圖像進(jìn)行單零值嵌入獲得的隱寫容量比文獻(xiàn)[15]算法有較大提升,而峰值信噪比兩者相差不大。當(dāng)m=3時(shí),雖然峰值信噪比有所下降,但是隱藏容量相對于m=0時(shí)有了成倍提升。
本文提出了一種基于分塊圖像直方圖修改的大容量可逆信息隱藏算法。將大圖像分塊為多個(gè)不重疊小分塊后,利用不同掃描方式掃描分塊圖像,計(jì)算掃描過程中相鄰像素的差值得到灰度差值直方圖。根據(jù)分塊圖像差值直方圖最大、次大峰值點(diǎn)個(gè)數(shù)情況動態(tài)選擇每塊分塊圖像的掃描方式,從而獲得最大數(shù)量的峰值點(diǎn)個(gè)數(shù)。除此之外,對每一個(gè)峰值選取相鄰最近的多位零值進(jìn)行多位信息嵌入。大量實(shí)驗(yàn)結(jié)果表明,該算法實(shí)現(xiàn)了根據(jù)圖像質(zhì)量分布動態(tài)調(diào)節(jié)掃描方式的差值直方圖算法,提高了隱寫容量與隱寫質(zhì)量,并且在信息提取后能無損地恢復(fù)載體圖像。
[1]Ni Zhicheng,Shi Yunqing,Ansari N,et al.Reversible Data Hiding[J].IEEE Transactions on Circuits and Systems for Video Technology,2006,16(3):354-362.
[2]Shih F Y,Wu Yita.Robust Watermarking and Compression for Medical Images Based on Genetic Algorithms[J].Information Sciences,2005,175(3):200-216.
[3]Ni Zhicheng,Celik M U,Sharma G,et al.Reversible Data Hiding[C]//Proceedings of IEEE International Conference on Image Processing.New York,USA:IEEE Press,2002:127-160.[4]Tian J.Reversible Data Embedding Using a Difference Expansion[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(8):890-896.
[5]Tsai P,Hu Yuchen,Yeh Hsiu-Lien.Reversible Image Data Hiding Scheme Using Predictive Coding and Histogram Shifting[J].Signal Process,2009,89(6):1129-1143.
[6]Lin Chia-Chen,Tai Weiliang,Chang Chin-Chen,et al.Multilevel Reversible Data Hiding Based on Histogram Modification of Difference Images[J].The Journal of Pattern Recognition Society,2008,41(12):3582-3591.
[7]Chang Chin-Chen,Tai Weiliang,Lin Minhui.A Reversible Data Hiding Scheme with Modified Side Match Vector Quantization[C]//Proceedings of the 19th International Conference on Advanced Information Networking and Applications.Berlin,Germany:Springer,2005:947-952.
[8]Zhao Yantao,Li Zhiquan,Dong Yuqing.Reversible Data Hiding Based on Sorting and Histogram Modification[J].Journal of Optoelectronics,2010,21(1):102-106.
[9]高鐵杠,顧巧論.一種大容量的圖像可逆信息隱藏算法[J].光電子·激光,2008,19(5):663-666.
[10]顧巧論,高鐵杠.基于直方圖修改的圖像可逆信息隱藏算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(15):4083-4085.
[11]Hong Wien,ChenTung-Shou,ChiuChih-Wei.Reversible Data Hiding for High Quality Images Using Modification of Prediction Errors[J].Journal of Systems and Software,2009,82(11):1833-1842.
[12]Li Yu-Chiang,Yeh Chia-Ming,Chang Chin-Chen.Data Hiding Based on the Similarity Between Neighboring Pixels with Reversibility[J].Digital Signal Processing, 2010,20(4):1116-1128.
[13]Zhao Zhenfei,Luo Hao,Lu Zheming,et al.Reversible Data Hiding Based on Multilevel Histogram Modification and SequentialRecovery[J].InternationalJournalof Electronics and Communications,2011,65(10):814-826.
[14]李曉博,周 詮.基于圖像塊像素差的大容量無損信息隱藏算法[J].計(jì)算機(jī)工程,2012,38(17):102-105.
[15]Tai Weiliang,YehChia-Ming,ChangChin-Chen.Reversible Data Hiding Based on Histogram Modification of Pixel Differences[J].IEEE Transactions on Circuits and Systems for Video Technology,2009,19(6):906-909.
編輯 顧逸斐
Reversible Information Hiding Algorithm Based on Difference Value of Different Scanning Order
LIU Jun1a,2,YANG Ren’er1a,1b,WAN Xudong1a
(1a.College of Information Science and Engineering;1b.Institute of Communication Technology,Ningbo University, Ningbo 315211,China;2.Key Laboratory of Mobile Internet Application Technology of Zhejiang Province,Ningbo 315211,China)
In order to achieve high capacity reversible sensitive image information hiding,this paper presents a lossless hiding algorithm of high capacity based on the difference between adjacent pixels for image.By the image block,and difference value of each block is calculated by different scanning order,choosing the difference value histogram of best scan order by comparing difference value sequence.Select the two largest peak points from the differerce histogram,and the nearest multiple zero points in each peak point,and insert several bit secret information in pixel of peak point,which achieves high capacity reversible image lnformation hiding.The results of simulation experiment show that the algorithm can select the best scan order by pixels distribution of each block image dynamically and using two peaks and multiple zero to embed secrets.It improves capacity of embedding secret information greatly,besides PSNR is ideal after embedding secret information.
block image;double peak and multi-zero value;scan order selection;adjacent pixel difference;histogram modification;reversible information hiding
劉 俊,楊任爾,萬旭東.基于不同掃描順序差值的可逆信息隱藏算法[J].計(jì)算機(jī)工程,2015, 41(3):269-272,277.
英文引用格式:Liu Jun,Yang Ren’er,Wan Xudong.Reversible Information Hiding Algorithm Based on Difference Value of Different Scanning Order[J].Computer Engineering,2015,41(3):269-272,277
1000-3428(2015)03-0269-04
:A
:TP301.6
10.3969/j.issn.1000-3428.2015.03.050
國家科技重大專項(xiàng)基金資助項(xiàng)目(2011ZX03002-004-02);浙江省重點(diǎn)科技創(chuàng)新團(tuán)隊(duì)基金資助項(xiàng)目(2012R10009-04);浙江省杰出青年科學(xué)基金資助項(xiàng)目(R1110416);教育部高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(20113305110002);浙江省信息與通信工程重中之重學(xué)科開放基金資助項(xiàng)目(XKXL1302);寧波市科技創(chuàng)新團(tuán)隊(duì)基金資助項(xiàng)目(2011B81002)。
劉 俊(1991-),男,碩士研究生,主研方向:信息隱藏算法;楊任爾,副教授;萬旭東,學(xué)士。
2014-04-17
:2014-05-14E-mail:422145402@qq.com