鄧海濤,鄧家先,鄧小梅
(海南大學(xué)信息科學(xué)技術(shù)學(xué)院,海南 海口 570228)
隨著信息技術(shù)的發(fā)展和信息社會的來臨,網(wǎng)絡(luò)信息交換逐步已成為人們獲取和交換信息的主要形式,信息安全變得越來越重要。利用密碼對各類電子信息進行加密,以保證在其處理、存儲、傳送和交換過程的安全性,是保證信息安全的有效措施。同時,由于信道資源極其寶貴,在帶寬或容量受限的情況下,圖像的感興趣區(qū)域(Region Of Interest,ROI)編碼可以很好地解決圖像壓縮應(yīng)用中圖像質(zhì)量與壓縮比之間的矛盾,使之在低比特率和甚低比特率的傳輸中獲得高質(zhì)量乃至無損的ROI重構(gòu)圖像成為可能?;贒WT平臺的比特平面編碼,如內(nèi)嵌零樹小波編碼(Embedded Zerotree Wavelet,EZW)[1]和 JPEG2000 標(biāo)準(zhǔn)[2]已被證實能夠獲得好的圖像壓縮效果,這兩種方法都能夠?qū)崿F(xiàn)ROI的圖像壓縮[3],即實現(xiàn)在進行圖像編解碼時,使得重構(gòu)ROI圖像獲得相對背景圖像(BG)更好的質(zhì)量。JPEG2000標(biāo)準(zhǔn)把支持ROI圖像壓縮作為一個重要特性[4-5],并給出了兩種 ROI編碼技術(shù):最大位移法(Maxshift Method)[6]和一般移位法(General Scaling Based Method)[7]。它們都是按比例提升ROI的小波系數(shù),使ROI小波系數(shù)位于較高的比特平面上,進而實現(xiàn)ROI的優(yōu)先編碼。前一種方法的主要缺點是對于ROI和BG的相對重要性沒有控制,導(dǎo)致BG重構(gòu)質(zhì)量很差[8-9]。后一種方法的主要缺點是需要對ROI的形狀信息進行編碼,導(dǎo)致其只適用于具有規(guī)則形狀的ROI,如矩形、橢圓等。另外,提升小波系數(shù)的方法擴大了小波系數(shù)編碼的動態(tài)范圍,降低了編碼效率[10]。
當(dāng)前加密領(lǐng)域的研究主要立足于單純的數(shù)據(jù)加密[11-12]或基于簡單的非自適應(yīng)的熵編碼器進行加密[13-16]。因其所使用的熵編碼器模型簡單,算法復(fù)雜度較低,很容易受到攻擊[14],本文提出了一種新的簡單且有效的基于EZW的ROI圖像聯(lián)合壓縮加密算法。該方法不需要對ROI的形狀信息進行編碼,并可對ROI和BG重構(gòu)質(zhì)量靈活調(diào)整。采用MQ自適應(yīng)算術(shù)編碼器,使其更具有適用性和通用性。在加密的過程中,充分利用了編碼的樹形結(jié)構(gòu),對ROI和BG采用不同的加密方案。對ROI圖像,結(jié)合位平面編碼特點,應(yīng)用不同密鑰對不同子帶的小波系數(shù)分別加密,實現(xiàn)按分辨力選擇性加密,以達到對不同用戶的使用權(quán)限控制。對BG采用按樹形結(jié)構(gòu)加密,進一步提高通信的安全性。通過對壓縮加密的綜合考慮使得加密對壓縮效率的影響幾乎可以忽略,并在算術(shù)編碼中進行輸入數(shù)據(jù)的置換或者密文置換,從而保證了加密過程具有更高的安全性。這種將圖像壓縮算法和加密算法融合的方法稱為聯(lián)合壓縮加密(Joint Compression-Encryption)。
Shapiro提出的內(nèi)嵌零樹小波編碼算法(EZW)[1]利用子帶系數(shù)之間的相似性,取得了高效壓縮效率,即將小波變換后各級HLK,LHK,HHK子帶系數(shù)構(gòu)成一棵樹,稱之為零樹,如圖1所示。編碼每次都從最低分辨力系數(shù)開始掃描,如果一棵樹的根與其子孫的小波系數(shù)的絕對值小于某個給定的閾值T(threshold),那么可以用一個預(yù)定義的符號代表整棵樹,從而提高壓縮比。
圖1 零樹結(jié)構(gòu)
采用一種簡單有效且不依賴所用的小波濾波器類型的小波域ROI模板建立方法[17]。以矩形感興趣區(qū)為例,設(shè)原始圖像的感興趣區(qū)域由左上角和右下角兩個對角頂點坐標(biāo)表示 {(x1,y1),(x2,y2)},如圖2所示。由于各子帶系數(shù)在空間上和方向上的相似性,只需計算最低頻子帶LL中的感興趣區(qū)域即可。設(shè)DWT變換后在小波域中的最低頻子帶的ROI的矩形為{(x'1,y'1),(x'2,y'2)},如圖3所示,對應(yīng)關(guān)系由式(1)確定,其他高頻子帶中所對應(yīng)的ROI區(qū)域與LL子帶的ROI區(qū)域構(gòu)成樹形結(jié)構(gòu)[18]。
圖2 原始圖像圖
圖3 小波系數(shù)的ROI
在進行EZW編碼之前將圖3的小波域系數(shù)分割成ROI和BG兩部分,如圖4、圖5所示。保持它們的大小與原始圖像一致,剩余部分用零值填充,如圖中黑色部分所示。
采用加權(quán)系數(shù)α來靈活分配ROI區(qū)域與BG區(qū)域的編碼量,實現(xiàn)ROI與BG重構(gòu)質(zhì)量的可調(diào)性。
設(shè)原始圖像大小為H×W,ROI大小為H1×W1(其中H >0,W >0,H >H1>0,W > W1>0),壓縮倍數(shù)為c,ROI占原始圖像的比例為β,β=(H1×W1)/(H×W),總的輸出碼流長度為Len。ROI的輸出碼長為Len1=Len×α,BG的輸出碼長為Len2=Len×(1-α),則有如下關(guān)系
當(dāng)滿足1>α>β時,c1=βc/α<c,即ROI的壓縮倍數(shù)c1小于總的圖像壓縮倍數(shù)c,可以保證ROI的傳輸質(zhì)量好于BG。EZW解碼后將兩幅圖像進行簡單的系數(shù)相加,便可恢復(fù)小波域系數(shù),再進行小波逆變換,最終得到解碼圖像。既避免了對小波系數(shù)的提升,又避免了對ROI區(qū)域形狀的編碼。
提出基于EZW的聯(lián)合壓縮加密原理如圖6所示。原始圖像經(jīng)DWT變換后將原圖數(shù)據(jù)的相關(guān)冗余映射成為小波系數(shù)的統(tǒng)計冗余,再分割為ROI小波系數(shù)和BG小波系數(shù)兩部分,對它們分別進行EZW編碼,在比特平面編碼過程中產(chǎn)生原始上下文CX(context)和原始判決D(decision),用密鑰Key對CX和D進行修正,產(chǎn)生修正上下文CX1和修正判決D1,并送往MQ編碼器,從而分別實現(xiàn)ROI圖像按分辨力的聯(lián)合壓縮加密和BG圖像按樹形結(jié)構(gòu)的聯(lián)合壓縮加密。
為使MQ編碼器獲得良好的編碼效率,在位平面編碼過程中,按所使用的是相鄰系數(shù)或相鄰集合的重要性對產(chǎn)生的判決進行了分類,并形成上下文。由于位平面編碼的判決有兩種(即集合判決和系數(shù)判決),與之相應(yīng)的將上下文也分為集合上下文和系數(shù)上下文兩種。
圖6 基于EZW的ROI圖像聯(lián)合壓縮加密原理框圖
集合上下文的計算,本文采用簡單的同分辨力相鄰集合重要性產(chǎn)生。如圖7所示,A表示當(dāng)前集合重要性,D0,D1,D2,D3表示對角相鄰集合重要性,H0,H1表示水平方向相鄰集合重要性,V0,V1表示垂直方向相鄰集合重要性,它們的取值為{0,1}(其中0代表集合不重要,1代表集合重要)。8個周邊集合形成256種上下文,經(jīng)合并形成4種集合上下文。集合上下文CXset的計算公式為
式中:“| ”表示或運算。顯然 CXset取值為{0,1,2,3}。
圖7 集合A的相鄰集合
系數(shù)上下文的計算采用EBCOT中的方法[19-22]進一步細化為零編碼上下文、幅值上下文、符號編碼上下文,其原理較為復(fù)雜,這里不再贅述。相對基于信源概率統(tǒng)計特性的固定編碼模式的區(qū)間分裂算術(shù)編碼器,MQ編碼器是一種基于位置信源概率模型的自適應(yīng)模式的算術(shù)編碼器。因為MQ編碼器需要使用上下文和判決,故使用密鑰對上下文或判決進行修正都可以實現(xiàn)聯(lián)合壓縮加密。對于給定序列,如果上下文不同,對應(yīng)的概率子空間也不相同,編碼輸出的碼字也不相同。如果改變給定序列中的任何一個上下文或判決,就會導(dǎo)致概率子空間的不同,并會對后續(xù)判決的條件概率分布產(chǎn)生影響,在解密過程中將導(dǎo)致連鎖反應(yīng),出現(xiàn)連續(xù)解密錯誤,相對區(qū)間分裂算術(shù)編碼器而言,可獲得更好的加密效果及更好的安全性。
基于判決修正的算術(shù)加密原理如下:
利用密鑰對位平面編碼產(chǎn)生的二進制判決進行某種運算,使得修正后的判決與原始判決不同,如果系統(tǒng)解碼使用的密鑰與編碼的密鑰不同,則解碼出錯,便實現(xiàn)了判決加密。
設(shè)key表示加密密鑰,D=(d1,d2,…,dN)表示編碼產(chǎn)生的原始二進制判決矢量,長度為N,定義一種運算
式中:D1=(d11,d12,…,d1N)為修正后的二進制判決矢量,長度也為N。
設(shè)key1表示解密密鑰=(表示解碼后的判決矢量,當(dāng)key1=key時,則D^=D。即當(dāng)解密使用密鑰正確時,將正確重建原始判決序列,式(6)成立
式中:f-1為式(5)對應(yīng)的逆運算,所以式(5)定義的運算對正確密鑰應(yīng)是可逆的。
基于上下文修正的加密方法如下:
設(shè)MQ編碼器的上下文范圍為(m,m+1,…,m+Lm),設(shè)key表示加密密鑰,CX表示比特平面編碼產(chǎn)生的原始上下文,對應(yīng)取值范圍為(m,m+1,…,m+L),修正后上下文為CX1,對應(yīng)取值范圍為 (m,m+1,…,m+L'),上下文修正可以表示為
式中:g(·)表示定義的某種運算;n表示該類上下文出現(xiàn)的順序;L與L'分別表示原始上下文和修正上下文的種類,且有L < Lm,L'< Lm。
上下文修正的算術(shù)加密算法需要滿足如下要求:
1)加密、解密過程中,對應(yīng)比特平面編解碼產(chǎn)生的上下文相同,且使用相同密鑰,修正上下文使用相同的變換,則送往MQ編碼器和MQ解碼器的上下文也相同,則不會產(chǎn)生上下文引起的解密錯誤。即加密、解密使用相同的運算,所以式(7)不需要是可逆的。
2)對應(yīng)給定的一種上下文,不同時刻修正算法不能是一種一一映射關(guān)系,也就是說,給定CX和key,對于不同的n,式(7)運算的修正上下文不能總是固定值,即CX1不是CX和key的線性運算,否則不能實現(xiàn)算術(shù)加密。
3)修正上下文不能超過算術(shù)編碼所對應(yīng)類型的范圍,否則可能會導(dǎo)致壓縮的效率下降。
4)上下文的運算可以是不可逆的,算術(shù)編碼和解碼使用相同的運算規(guī)則便可保證解密不會產(chǎn)生上下文引起的解密錯誤。
在本文中,判決修正采用簡單的異或運算,對密鑰key進行循環(huán)移位得到密鑰key1,即首先利用key的最低位與原始判決進行異或運算,然后密鑰循環(huán)移位一次得到key1,供下一次判決修正使用。
上下文修正算法是,對密鑰key進行循環(huán)移位,取移位后的最低若干位二進制數(shù)據(jù)dk與原始上下文(范圍為(m,m+1,…,m+L))按照式(8)運算
式中:mod(·)表示模運算。修正后的上下文范圍為(m,m+1,…,m+Lm)。該方法可以滿足上文提出的上下文修正規(guī)則。
結(jié)合EZW的比特平面編碼,在ROI中,對每個小波域子帶的系數(shù)分別獨立進行聯(lián)合壓縮加密,LL子帶使用單獨密鑰,其他同級別子帶使用相同密鑰,這樣就可以實現(xiàn)分辨力選擇性加密。在BG子圖像中,對整個小波域系數(shù)按樹形結(jié)構(gòu)掃描順序進行加密,進一步滿足客戶安全性需要,原理上可以為每一棵樹分配一個密鑰以提高安全性,但過多的密鑰將占用大量的存儲空間,故文中對BG采用同一密鑰進行編碼以驗證其正確性。
選用Lena灰度圖像進行聯(lián)合壓縮加密測試,如圖8所示(其中白框內(nèi)為感興趣區(qū)域)。小波變換后進行ROI與BG的分割,如圖9、圖10所示。
通過選取適當(dāng)?shù)募訖?quán)因子α來靈活分配ROI區(qū)域與BG區(qū)域的編碼量,實現(xiàn)感興趣區(qū)域與背景區(qū)域重構(gòu)質(zhì)量的可調(diào)性。圖11中顯示當(dāng)圖像壓縮8倍,碼率為0.2 bit/pixel,β =0.11 ,α 分別取值為0.75,0.60,0.40,0.20,0.11,0.06時的重構(gòu)圖像,從圖中可以看到,隨著加權(quán)因子的增大ROI的重構(gòu)質(zhì)量越好,BG的重構(gòu)質(zhì)量相對越差。
圖11 碼率為0.2 bit/pixel時的重構(gòu)圖像
通過仿真,對Lena圖像的感興趣區(qū)域(ROI)驗證按分辨力選擇性加密的效果和背景區(qū)域(BG)驗證桉樹形結(jié)構(gòu)加密的效果。與小波變換的子帶相對應(yīng),在ROI中相同分辨力的三個子帶使用相同的密鑰,分別稱為一級子帶密鑰、二級子帶密鑰、三級子帶密鑰,而LL3子帶使用單獨的密鑰。在式(8)中取L=LM,ROI占原始圖像的比例為β=0.11,取加權(quán)因子α =0.3,表1中列出了本文算法ROI和BG與原始EZW算法的ROI和BG在不同碼率的重建質(zhì)量的對比,可以看出本文算法的ROI重建質(zhì)量要好于原始算法,而BG重建質(zhì)量比原始算法略差。表2中列出了當(dāng)取不同碼率(單位為bit/pixel)時聯(lián)合壓縮加密重建質(zhì)量(PSNR/dB)與原始算法重建質(zhì)量(PSNR/dB)對比??梢钥闯觯瑑烧咧亟ㄙ|(zhì)量基本相同。這就表明,只要參數(shù)選擇合理,聯(lián)合壓縮加密算法與原始壓縮算法具有相同的壓縮效果。
表1 聯(lián)合壓縮加密算法ROI和BG與原始算法ROI和BG的重建質(zhì)量對比
表2 聯(lián)合壓縮加密算法與原始算法重建圖像質(zhì)量比較
下面分析當(dāng)解碼密鑰與加密密鑰不一致,即解碼密鑰錯誤時,重建圖像質(zhì)量(PSNR)隨碼流的變化情況。表3中顯示了ROI各分辨力密鑰出錯時上下文修正算法的重建圖像質(zhì)量在不同碼率下的變化情況;表4中顯示了ROI各分辨力密鑰出錯時判決修正算法的重建圖像質(zhì)量在不同碼率下的變化情況;表5中顯示了ROI各分辨力密鑰出錯時上下文和判決聯(lián)合修正算法的重建圖像質(zhì)量在不同碼率下的變化情況。同時中給出了BG密鑰出錯時的重建質(zhì)量。觀察表3~表5可以得到一些共同特點:當(dāng)無密鑰出錯時,重建圖像質(zhì)量隨著碼率增加而增加;當(dāng)ROI密鑰錯誤而BG密鑰正確時,因為ROI所占比例很小(β=0.11),故重建質(zhì)量隨碼率的增加而增大。當(dāng)ROI密鑰和BG密鑰均錯誤時,重建質(zhì)量隨碼率的增加而幾乎保持不變,這是因為當(dāng)密鑰出錯時,隨著碼率的增加,盡管更高分辨力子帶重建數(shù)據(jù)質(zhì)量增加,但密鑰出錯對應(yīng)的低分辨力子帶系數(shù)產(chǎn)生的錯誤更加嚴(yán)重,經(jīng)小波逆變換,錯誤系數(shù)引起的圖像數(shù)據(jù)錯誤也更加嚴(yán)重,從而導(dǎo)致重建圖像質(zhì)量隨碼率增加幾乎保持不變。
表3 密鑰出錯對重建圖像質(zhì)量(PSNR)影響(上下文修正加密算法)
表4 密鑰出錯對重建圖像質(zhì)量(PSNR)影響(判決修正加密算法)
表5 密鑰出錯對重建圖像質(zhì)量(PSNR)影響(上下文、判決修正加密算法)
從表中還可以看出,在感興趣區(qū)域(ROI)中不同分辨力子帶密鑰錯誤對重建圖像質(zhì)量的影響不同。其中三級子帶系數(shù)對重建圖像質(zhì)量的貢獻最多,二級子帶次之,一級子帶最少。當(dāng)一級子帶出現(xiàn)密鑰錯誤時,從表3~表5中可以看出,重建圖像質(zhì)量在36 dB左右。二級子帶密鑰錯誤時,二級子帶重建系數(shù)錯誤,重建圖像質(zhì)量下降到32 dB左右。三級子帶密鑰錯誤時,重建圖像質(zhì)量約為18 dB,質(zhì)量下降更為嚴(yán)重。同時,由于背景區(qū)域(BG)在整幅圖像中所占的比例相對較大,當(dāng)其密鑰出錯時,會導(dǎo)致重建質(zhì)量的急劇下降,約為9 dB。圖12中列出了各分辨力子帶密鑰出錯時的重建圖像視覺效果。
圖12 聯(lián)合壓縮加密后的重建圖像
從重建圖像中可以看出,在感興趣區(qū)域中,當(dāng)二級、三級子帶密鑰錯誤時,重建圖像視覺效果嚴(yán)重下降;而一級子帶密鑰出錯時,盡管圖像質(zhì)量有所下降,但視覺效果并不是特別明顯;當(dāng)LL級子帶密鑰出錯時,從重建圖像中無法得到原始圖像的信息;在背景區(qū)域中,因其按樹形結(jié)構(gòu)加密,當(dāng)密鑰錯誤時,將無法得到原始圖像背景區(qū)域信息。
通過上文的理論分析和實驗結(jié)果可以得出如下結(jié)論:
1)使用上下文修正可以實現(xiàn)圖像聯(lián)合壓縮加密;
2)通過適當(dāng)?shù)膮?shù)選擇,可以保證聯(lián)合壓縮加密的重建圖像質(zhì)量相對原始壓縮算法的質(zhì)量基本不變;
3)通過加權(quán)系數(shù)α(1>α>β)靈活分配ROI區(qū)域與BG區(qū)域的編碼量,從而實現(xiàn)了ROI與BG重構(gòu)質(zhì)量的可調(diào)性。當(dāng)α增大時,圖像ROI重構(gòu)質(zhì)量將更好,同時BG重構(gòu)質(zhì)量相對將更差;
4)對EZW編碼算法進行改進,并引入自適應(yīng)算術(shù)編碼,能夠?qū)崿F(xiàn)圖像的分辨力加密(對感興趣區(qū)域)和按樹形結(jié)構(gòu)加密(對背景);
5)由于采用自適應(yīng)算術(shù)編碼,相對區(qū)間分裂算術(shù)加密,其概率的復(fù)雜度更高,因此密碼安全性更高。
[1]SHAPIRO J M.Embedded image coding using zerotrees of wavelet coefficients[J].IEEE Trans.on Signal Processing,1993,41(12):3445-3462.
[2]TAUBMAN D S,MARCELLIN M W.JPEG2000 image compression fundamentals,standards and practice[M].Boston:Kluwer Academic Publishers,2001.
[3]PENEDO M,PEARLMAN W A,TAHOCES P G,et al.Region-based wavelet coding methods for digital mammography[J].IEEE Trans.Med.Imaging,2003,22(10):1288-1296.
[4]CHRISTOPOULOS C,ASKEL F J,LARSSON M.Efficient methods for encoding regions of interest in the upcoming JPEG2000 still image coding standard[J].IEEE Signal Processing Letters,2000,7(9):247-249.
[5]蔣正偉,谷源濤,唐昆.基于分?jǐn)?shù)比特面提升的感興趣區(qū)域編碼[J].電視技術(shù),2005,29(3):19-21.
[6]ISO/IEC JTC 1/SC 29/WG 1(ITU-T SG8),JPEG 2000 part I final committee draft[S].2000.
[7]ISO/IEC JTC 1/SC 29/WG 1(ITU-T SG8),JPEG2000 part II final committee draft[S].2000.
[8]WANG Z,BANERJEE S,EVANS B L,et al.Generalized bitplaneby- bitplane shift method for JPEG2000 ROI coding[C]//Proc.2002 IEEE Conf.on Image Processing.Rochester,US:IEEE Press,2002:81-84.
[9]WANG Z,BOVIK A C.Bitplane-by-bitplane shift(BbBShift)—a suggestion for JPEG 2000 region of interest coding[J].IEEE Signal Process.Lett.,2002,9(5):160-162.
[10]XU Ping,ZHU Shanan.A new method for arbitrary shape ROI coding based on ISA-DWT[C]//Proc.ICCA 2005.Piscataway,US:IEEE Press,2005:1018-1021.
[11]李曄,姜競賽,樊燕紅.一種混沌加密算法的改進[J].電視技術(shù),2011,35(2):37-47.
[12]劉亮,吳懷宇.隨機數(shù)列在數(shù)字圖像加密中的應(yīng)用[J].電視技術(shù),2006,30(8):115-120.
[13]KATTI R S,SRINIVASAN SK,VOSOUGHI A.On the security of randomized arithmetic codes against ciphertext-only attacks[J].IEEE Trans.Information Forensics and Security,2011,6(1):19-27.
[14]KIM H,WEN J T,VILLASENOR J D.Secure arithmetic coding[J].IEEE Trans.Signal Process.,2007,55(5):2263-2272.
[15]WEN J T,KIM H,VILLASENOR J D.Binary arithmetic coding with key-based interval splitting[J].IEEE Signal Process.Lett.,2006(13):69-72.
[16]BOSE R,PATHAK S.A novel compression and encryption scheme using variable model arithmetic coding and couple chaotic system[J].IEEE Trans.Circuits Syst.I,2006,53(4):848-857.
[17]陳軍,吳成柯,李云松.基于零樹結(jié)構(gòu)的感興趣區(qū)圖形內(nèi)嵌編碼方法[J].西安電子科技大學(xué)學(xué)報:自然科學(xué)版,2002,29(3):343-346.
[18]SWELDENS W.The lifting scheme:a custom-design construction of biorthogonal wavelets[J].Appl.Comput.Harmon.Anal.,1996,3(2):186-200.
[19]ISO/IEC JTC 1/SC 29/WG1 FCD 14495 public draft[EB/OL].[2012-10-09].http://www.jpeg.org/public/jpeglinks.htm.
[20]TAUBMAN D.High performance scalable image compression with EBCOT[J].IEEE Trans.Image Processing,2000,9(7):1151-1170.
[21]TAUBMAN D,ORDENTLICH E,WEINBERGER M,et al.Embedded block coding in JPEG2000[J].Signal Processing-Image Communication,2002,17(1):49-72.
[22]鄧家先,吳成柯,陳軍.基于率失真斜率提升的干涉多光譜圖像壓縮[J].光學(xué)學(xué)報,2004,24(3):299-303.