索 巖,崔智勇
(1. 河南師范大學(xué)新聯(lián)學(xué)院,河南 新鄉(xiāng) 453000;2. 河南師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453000)
如今網(wǎng)絡(luò)不斷發(fā)展,日常生活與互聯(lián)網(wǎng)緊密相連?;ヂ?lián)網(wǎng)具有精準(zhǔn)、便利優(yōu)勢(shì)的同時(shí)也面臨數(shù)據(jù)信息被竊取的危險(xiǎn),數(shù)據(jù)安全越來(lái)越重要。由于數(shù)據(jù)隱藏在多媒體文件中很難被竊取,且隱秘?cái)?shù)據(jù)雖然被隱藏但是仍然可完整地恢復(fù)[1],因此可逆數(shù)據(jù)隱藏技術(shù)廣泛應(yīng)用于軍事、法律和醫(yī)學(xué)等領(lǐng)域[2]。數(shù)字圖像是可逆數(shù)據(jù)隱藏技術(shù)主要的考察對(duì)象,記錄真實(shí)場(chǎng)景的高動(dòng)態(tài)圖像格式是多媒體技術(shù)發(fā)展的必然要求,高動(dòng)態(tài)圖像結(jié)構(gòu)比傳統(tǒng)圖像結(jié)構(gòu)復(fù)雜,顏色信息與亮度信息可以同時(shí)記錄[3]。
由于高動(dòng)態(tài)圖像在傳輸過(guò)程中的安全性和傳輸效率無(wú)法保障,因此在進(jìn)行高動(dòng)態(tài)圖像可逆數(shù)據(jù)隱藏之前,需要對(duì)高動(dòng)態(tài)圖像進(jìn)行加密和壓縮。傳統(tǒng)高動(dòng)態(tài)圖像壓縮和隱藏兩個(gè)過(guò)程往往不能同步進(jìn)行,既增加高動(dòng)態(tài)圖像加密壓縮過(guò)程的復(fù)雜度,也降低運(yùn)算效率[4]。為提高高動(dòng)態(tài)圖像加密壓縮性能,保證高動(dòng)態(tài)圖像質(zhì)量,能夠?qū)嚎s和加密兩個(gè)過(guò)程同步進(jìn)行的方法研究成為目前高動(dòng)態(tài)圖像可逆數(shù)據(jù)隱藏研究的核心內(nèi)容[5]。通過(guò)加密和壓縮兩個(gè)過(guò)程同步進(jìn)行在提高高動(dòng)態(tài)圖像傳輸所使用帶寬的利用率的同時(shí),還改善高動(dòng)態(tài)圖像傳輸中的安全性能[6]?;诖耍岢龌谥袊?guó)剩余定理的高動(dòng)態(tài)圖像可逆數(shù)據(jù)隱藏研究,通過(guò)NTICE方法對(duì)高動(dòng)態(tài)圖像進(jìn)行同步加密、壓縮,在加密壓縮后的圖像中通過(guò)對(duì)數(shù)據(jù)提取與圖像恢復(fù)的過(guò)程分析實(shí)現(xiàn)隱秘?cái)?shù)據(jù)嵌入過(guò)程逆向操作,完成高動(dòng)態(tài)動(dòng)向可逆數(shù)據(jù)隱藏。
因?yàn)榛谥袊?guó)剩余定理的高動(dòng)態(tài)圖像壓縮和加密同步進(jìn)行的方法(NTICE方法)不僅提高高動(dòng)態(tài)圖像傳輸所使用帶寬的利用率[7],還可改善高動(dòng)態(tài)圖像傳輸中的安全性能。因此本文主要采用NTICE方法對(duì)高動(dòng)態(tài)圖像進(jìn)行加密與壓縮。
中國(guó)剩余定理可以對(duì)同余方程組進(jìn)行計(jì)算,以下為計(jì)算過(guò)程:
假設(shè)通用同余方程組為
(1)
假設(shè)有f1,f2,…fd(d≥1)為d個(gè)正整數(shù),且任意兩個(gè)之間沒(méi)有更多的公約數(shù),設(shè)置
q=f1f2…fd=f1q1=f2q2=fdqd
(2)
m=b1h`1q1+b2h2q2+…+bzhzqz(modq)
(3)
qim=1(modq)
(4)
且i=1,2,…,d。
NTICE方法是中國(guó)剩余定理應(yīng)用的一部分,同余方程組余數(shù)可看成是高動(dòng)態(tài)圖像像素,同余方程組模數(shù)可以看成是沒(méi)有公約數(shù)的密匙,可獲取同余方程組通用解[8]。所以高動(dòng)態(tài)圖像像素值集經(jīng)過(guò)同余方程組求解的過(guò)程后變成正整數(shù)的通解,實(shí)現(xiàn)壓縮過(guò)程。當(dāng)通解應(yīng)用在式(1)中就可獲取原始高動(dòng)態(tài)圖像像素值,實(shí)現(xiàn)高動(dòng)態(tài)圖像還原過(guò)程。當(dāng)模數(shù)值不正確,將無(wú)法對(duì)像素值進(jìn)行還原,即實(shí)現(xiàn)高動(dòng)態(tài)圖像加密。
基于上述高動(dòng)態(tài)圖像加密與壓縮同步進(jìn)行的原理,實(shí)現(xiàn)高動(dòng)態(tài)圖像加密與壓縮的同步進(jìn)行[9]。圖1為基于NTICE方法的高動(dòng)態(tài)圖像加密壓縮同步方法示意圖。
圖1 基于NTICE方法的高動(dòng)態(tài)圖像加密壓縮同步方法示意圖
1)假設(shè)L為e×f大小的初始高動(dòng)態(tài)圖像,對(duì)該初始高動(dòng)態(tài)圖像進(jìn)行讀取,并將高動(dòng)態(tài)圖像分成1×d個(gè)單元格,并設(shè)置d取值為高動(dòng)態(tài)圖像列數(shù)的倍數(shù),公式表示為:f≡0(modd)。
(5)
(6)
4)對(duì)該同余方程組進(jìn)行求解,并對(duì)各一次同余式qim=1(modfi)求特解,設(shè)該特解為hi??赏ㄟ^(guò)中國(guó)剩余定理對(duì)與qi和fi相關(guān)聯(lián)、但與像素值不相關(guān)聯(lián)的一次同余式進(jìn)行計(jì)算,得到高4比特位特解值等于低4比特位特解值[10]。特解不隨高動(dòng)態(tài)圖像像素變化而變化,因此在所有計(jì)算中只要獲取一次特解h1,可對(duì)該特解反復(fù)使用,無(wú)需第二次計(jì)算,縮短計(jì)算時(shí)間,使計(jì)算更簡(jiǎn)單。
通過(guò)使高動(dòng)態(tài)圖像像素值高4比特位數(shù)值不變,設(shè)置高動(dòng)態(tài)圖像像素值低4比特位數(shù)值為0同樣能夠?qū)崿F(xiàn)高動(dòng)態(tài)圖像顯示[11]。無(wú)損壓模式是一種對(duì)壓縮后高動(dòng)態(tài)圖像質(zhì)量損害最小的方法,既將高動(dòng)態(tài)圖像高4比特位加密數(shù)值和低4比特位加密數(shù)值進(jìn)行同步輸送;而有損壓縮模式是一種對(duì)壓縮后高動(dòng)態(tài)圖像質(zhì)量損害稍小的方法,既只對(duì)高動(dòng)態(tài)圖像高4比特位加密數(shù)值進(jìn)行輸送。通過(guò)NTICE方法對(duì)高動(dòng)態(tài)圖像實(shí)施同步加密與壓縮后,得到的高動(dòng)態(tài)圖像用L表示。
利用NTICE方法實(shí)現(xiàn)高動(dòng)態(tài)圖像同步加密與壓縮后,將得到的高動(dòng)態(tài)圖像L分為兩個(gè)區(qū)域,分別是ROI(感興趣)區(qū)域和RONI(非感興趣)區(qū)域,利用數(shù)據(jù)嵌入,數(shù)據(jù)提取與圖像恢復(fù)兩個(gè)過(guò)程實(shí)現(xiàn)可逆數(shù)據(jù)隱藏。
2.3.1 隱秘?cái)?shù)據(jù)嵌入
1)將不同加密和壓縮后的高動(dòng)態(tài)圖像L分成兩個(gè)區(qū)域,分別為ROI和RONI區(qū)域,并對(duì)ROI區(qū)域坐標(biāo)信息進(jìn)行標(biāo)記;
2)將RONI區(qū)域分割成m×n個(gè)單元格,且這些單元格并不重疊,X=m×n,則X為單元格數(shù)量;
3)求解X個(gè)單元格中的像素方差,確定塊嵌入強(qiáng)度為s,如果塊嵌入過(guò)程中發(fā)生溢出現(xiàn)象,則s當(dāng)前取值為1,并對(duì)s值的變動(dòng)進(jìn)行標(biāo)記;
4)對(duì)s值變動(dòng)進(jìn)行標(biāo)記后對(duì)該變動(dòng)值集合進(jìn)行編碼獲取Bs,采用Huffman編碼方法獲取H_Bs,并利用無(wú)損壓模式獲取無(wú)損壓縮后映射信息LC_H_Bs,塊嵌入強(qiáng)度變動(dòng)值集合編碼長(zhǎng)度Length(LC_H_Bs)表示;
5)在ROI區(qū)域內(nèi)最低有效位集合可用SLSB表示,使用無(wú)損壓模式對(duì)該有效位集合長(zhǎng)度Length(LC_SLSB)進(jìn)行獲??;
6)設(shè)置M為隱秘?cái)?shù)據(jù),由嵌入在ROI區(qū)域中的數(shù)據(jù)M2和嵌入在RONI區(qū)域中的數(shù)據(jù)M1兩部分組成。嵌入在RONI中的數(shù)據(jù)M2長(zhǎng)度是通過(guò)ROI區(qū)域像素個(gè)數(shù)減去Length(LC_H_Bs)獲取的;
7)使用最低有效位方法,即LSB方法在ROI區(qū)域中對(duì)無(wú)損壓模式獲取的RONI區(qū)域中塊嵌入強(qiáng)度變動(dòng)值集合編碼長(zhǎng)度Length(LC_H_Bs)及數(shù)據(jù)M2進(jìn)行嵌入;
8)將數(shù)據(jù)M1及ROI區(qū)域內(nèi)最低有效集合無(wú)損壓縮后的映射信息LC_SLSB,都嵌入到RONI區(qū)域內(nèi);
9)獲取數(shù)據(jù)隱藏后的圖像LW。
從方法的安全性角度考慮,隱秘?cái)?shù)據(jù)長(zhǎng)度M、ROI區(qū)域坐標(biāo)、單元格尺寸m×n、無(wú)損壓模式獲取RONI區(qū)域塊嵌入強(qiáng)度變動(dòng)值集合編碼長(zhǎng)度Length(LC_H_Bs),以及ROI區(qū)域有效集合長(zhǎng)度Length(LC_SLSB)都可以看成是密鑰。
2.3.2 數(shù)據(jù)提取與圖像恢復(fù)
總的來(lái)說(shuō)數(shù)據(jù)提取與圖像恢復(fù)是上文數(shù)據(jù)嵌入的一種逆向操作過(guò)程,以下是對(duì)數(shù)據(jù)獲取以及圖像恢復(fù)過(guò)程分析:
1)得到秘鑰,如隱秘?cái)?shù)據(jù)長(zhǎng)度M、ROI區(qū)域坐標(biāo)、單元格尺寸m×n、無(wú)損壓模式獲取RONI區(qū)域塊嵌入強(qiáng)度變動(dòng)值集合編碼長(zhǎng)度Length(LC_H_Bs),以及ROI區(qū)域有效集合長(zhǎng)度Length(LC_SLSB)等;
2)通過(guò)最低有效位方法對(duì)包含隱秘?cái)?shù)據(jù)的圖像LW內(nèi)ROI區(qū)域進(jìn)行分析,獲取RONI區(qū)域塊嵌入強(qiáng)度變動(dòng)值集合無(wú)損壓縮后映射信息LC_H_Bs和數(shù)據(jù)M2;
3)對(duì)RONI區(qū)域塊嵌入強(qiáng)度變動(dòng)值集合無(wú)損壓縮后映射信息LC_H_Bs進(jìn)行解壓處理,使用Huffman編碼方法對(duì)解壓后的塊嵌入強(qiáng)度變動(dòng)值集合進(jìn)行解碼,并獲取Bs數(shù)據(jù);
4)對(duì)RONI區(qū)域進(jìn)行分割,分割成m×n個(gè)單元格,Y=m×n,則Y是劃分的單元格數(shù)量;
5)通過(guò)同步加密與壓縮后高動(dòng)態(tài)圖像像素塊恢復(fù)與隱秘信息提取過(guò)程對(duì)高動(dòng)態(tài)圖像像素進(jìn)行恢復(fù)并提取隱秘?cái)?shù)據(jù)[12],使同步加密與壓縮后高動(dòng)態(tài)圖像RONI區(qū)域單元格數(shù)量X得到恢復(fù),并獲取LC_SLSB與數(shù)據(jù)M1;
6)對(duì)LC_SLSB實(shí)施解壓,獲取SLSB;
7)恢復(fù)ROI區(qū)域需通過(guò)最低有效位方法實(shí)現(xiàn);
8)將ROI區(qū)域和RONI區(qū)域合并到一起,實(shí)現(xiàn)高動(dòng)態(tài)圖像恢復(fù)。
嵌入數(shù)據(jù)值與ROI區(qū)域最低有效位數(shù)量值為同一數(shù)值,設(shè)置P×V表示ROI區(qū)域面積,當(dāng)進(jìn)行無(wú)損壓模式Huffman編碼時(shí)獲取的有效集合長(zhǎng)度Length(LC_SLSB)比ROI區(qū)域尺寸長(zhǎng)度Length(P×V)要小很多,而ROI區(qū)域坐標(biāo)信息、Huffman字母表信息、單元格尺寸m×n信息決定密鑰大小。假設(shè)隱秘?cái)?shù)據(jù)長(zhǎng)度M取值為33bit、無(wú)損壓模式獲取RONI區(qū)域塊嵌入強(qiáng)度變動(dòng)值集合編碼長(zhǎng)度Length(LC_H_Bs)取值為21bit,ROI區(qū)域有效集合長(zhǎng)度Length(LC_SLSB)取值21bit,對(duì)通信負(fù)載沒(méi)有大影響。
為驗(yàn)證本文方法的有效性,對(duì)4幅高動(dòng)態(tài)圖像進(jìn)行測(cè)試,實(shí)驗(yàn)平臺(tái)為Matlab2012b,嵌入數(shù)據(jù)可以是0或1。表1為測(cè)試圖像在一定嵌入量下各通道相關(guān)系數(shù)表。
表1 高動(dòng)態(tài)圖像在一定嵌入量下各通道相關(guān)系數(shù)
表1表明對(duì)原始高動(dòng)態(tài)圖像與含隱秘?cái)?shù)據(jù)的高動(dòng)態(tài)圖像(水印圖像)彩色通道間的相關(guān)程度進(jìn)行測(cè)試,當(dāng)嵌入量較大時(shí)顏色通道間的相關(guān)系數(shù)無(wú)限接近1,由此得到,嵌入量越大,水印圖像與原始高動(dòng)態(tài)圖像的相關(guān)性越明顯。本文方法、整體變換方法、自然圖像載體方法高動(dòng)態(tài)圖像數(shù)據(jù)隱藏性能對(duì)比結(jié)果如表2所示。
表2 不同方法下高動(dòng)態(tài)圖像數(shù)據(jù)隱藏性能對(duì)比
由表2可知,本文方法為了保證嵌入量和圖像質(zhì)量,在確保失真較低的情況下,數(shù)據(jù)嵌入量仍然保持在2.25-2.80bpp之間,達(dá)到隱藏?cái)?shù)據(jù)與載體高動(dòng)態(tài)圖像完全可逆恢復(fù)的目的。
以隱藏?cái)?shù)據(jù)可逆性為基礎(chǔ),對(duì)水印圖像質(zhì)量進(jìn)行測(cè)試,將本文方法、整體變換方法、自然圖像載體方法三者相對(duì)比,本次使用均方根誤差法對(duì)三種方法下的水印圖像質(zhì)量進(jìn)行比較,圖2為不同嵌入量下水印圖像的均方根誤差曲線。
圖2 不同嵌入量下的均方根誤差曲線圖
均方根誤差越小水印圖像失真率也就越小。圖2表明,在嵌入量相同的前提下,本文方法獲取的水印圖像質(zhì)量最好。
為了說(shuō)明本文方法的有效性,對(duì)1號(hào)、2號(hào)、3號(hào)、4號(hào)高動(dòng)態(tài)圖像的數(shù)據(jù)嵌入量進(jìn)行對(duì)比。首先獲取4個(gè)實(shí)驗(yàn)圖像單元格劃分尺寸:3×3,6×6, 8×8,9×9,圖3為1號(hào)圖像不同單元格劃分尺寸下的嵌入量,圖4為四幅高動(dòng)態(tài)圖像在不同嵌入量下的峰值信噪比。
圖3 1號(hào)圖像不同單元格劃分尺寸下的嵌入量
圖4 四幅載體圖像在不同嵌入量下的峰值信噪比
由圖3可知,在峰值信噪比相同的條件下,當(dāng)單元格劃分尺寸由3×3提升至8×8時(shí),嵌入量隨著單元格劃分尺寸的增大而呈遞增趨勢(shì),嵌入量及圖像質(zhì)量最佳.但是當(dāng)單元格劃分尺寸提升至9×9時(shí),嵌入量顯著降低。因此本文方法同步加密壓縮后的高動(dòng)態(tài)圖像RONI區(qū)域單元格劃分尺寸取8*8時(shí)數(shù)據(jù)隱藏效果最佳。
由圖4可知,高動(dòng)態(tài)圖像像素越高,圖像嵌入量越小,且四幅載體高動(dòng)態(tài)圖像的峰值信噪比都不小于43dB,因此本文方法對(duì)四幅高動(dòng)態(tài)圖像進(jìn)行數(shù)據(jù)隱藏不會(huì)損壞圖像質(zhì)量。表3是三種方法嵌入量和峰值信噪比性能對(duì)比結(jié)果。
由表3可知,本文方法獲取的四幅高動(dòng)態(tài)圖像的圖像嵌入量平均值達(dá)到1.2bpp以上,三種方法中圖像嵌入量最高;且峰值信噪比一直維持在43dB-44dB之間,波動(dòng)平穩(wěn),因此本文方法數(shù)據(jù)隱藏效果最佳。
為解決高動(dòng)態(tài)圖像傳輸過(guò)程中安全性低,傳輸效率差的問(wèn)題,本文提出一種基于中國(guó)剩余定理的高動(dòng)態(tài)圖像可逆數(shù)據(jù)隱藏方法,該方法首先通過(guò)NTICE方法對(duì)高動(dòng)態(tài)圖像實(shí)施同步加密與壓縮,然后通過(guò)數(shù)據(jù)嵌入,將隱秘?cái)?shù)據(jù)信息嵌入到加密與壓縮后的高動(dòng)態(tài)圖像中,最后通過(guò)數(shù)據(jù)提取和圖像恢復(fù),實(shí)現(xiàn)隱秘?cái)?shù)據(jù)嵌入過(guò)程的逆向操作,達(dá)到隱藏?cái)?shù)據(jù)與高動(dòng)態(tài)圖像完全可逆恢復(fù)的目的。
1)本文方法可以提高圖像傳輸?shù)陌踩浴?/p>
2)通過(guò)改善無(wú)損性、增大嵌入量等提高圖像質(zhì)量。
3)在43dB-44dB之間的峰值信噪比保持平穩(wěn),本文方法的數(shù)據(jù)隱藏效果好。
表3 不同方法嵌入量和峰值信噪比性能對(duì)比