基于廣義貓映射和H. 264的視頻加密
引言
隨著寬帶網(wǎng)和無線網(wǎng)的發(fā)展,分布式多媒體廣泛應(yīng)用在視頻點(diǎn)播系統(tǒng)、視頻廣播系統(tǒng)、視頻會(huì)議系統(tǒng)和監(jiān)視系統(tǒng)等方面,這對(duì)多媒體信息提出了不同程度的安全要求⑴。其圖像和視頻信息有固定的格式、海量數(shù)據(jù)特點(diǎn)和播放或傳輸?shù)膶?shí)時(shí)性要求,都使得釆用通用的數(shù)據(jù)加密方法遇到了巨大的困難,特別是對(duì)于視頻信息,目前的加密方案還有待進(jìn)一步提高。
早期的安全方法主要依賴于對(duì)媒體訪問者的身份認(rèn)證,而視頻數(shù)據(jù)本身并沒有被加密,因此,存在著傳輸過程中易被竊取、解碼、播放的問題。針對(duì)這種情況,尤其是軍事、政治、經(jīng)濟(jì)等敏感場(chǎng)合對(duì)保密性和安全性的特殊要求,促進(jìn)了對(duì)視頻加密算法的研究。
本文提出了一種基于廣義貓映射和H.264的視頻加密方案,利用貓映射的拉抻與折疊和具有初值敏感的特性,實(shí)現(xiàn)對(duì)每一幀原始視頻圖像進(jìn)行置亂,然后對(duì)加密后的視頻流進(jìn)行H.264編碼,從而獲得了在較低比特率下的高質(zhì)量視頻。
1 H.264算法
1.1 算法特點(diǎn)
H.264在1997年ITU的視頻編碼專家組(Vid-eoCodingExpertsGroup)提出時(shí)被稱為H.26L,在ITU與ISO合作研究后被稱為MPEG4Parti0(MPEG4AVC)或H.264(JVT)。該算法既保留了以往壓縮技術(shù)的優(yōu)點(diǎn)和精華,又具有其他壓縮技術(shù)無法比擬的許多優(yōu)點(diǎn):其中低碼流(LowBitRate)是其優(yōu)點(diǎn)之一,與MPEG2和MPEG4ASP等壓縮技術(shù)相比,在同等圖像質(zhì)量下,采用H.264技術(shù)壓縮后的數(shù)據(jù)量只有MPEG2的1/8和MPEG4的1/3;其次是高質(zhì)量的圖像,H.264能提供連續(xù)、流暢的高質(zhì)量圖像(DVD質(zhì)量);另外,H.264的容錯(cuò)能力強(qiáng),H.264提供有解決在不穩(wěn)定網(wǎng)絡(luò)環(huán)境下容易發(fā)生的丟包等錯(cuò)誤的必要工具;而且網(wǎng)絡(luò)適應(yīng)性強(qiáng),H.264提供有網(wǎng)絡(luò)適應(yīng)層(NetworkAdaptationLayer),該特點(diǎn)使得H.264的文件能容易地在不同的網(wǎng)絡(luò)上傳輸。
1.2 H.264編碼器
H.264編碼模塊的結(jié)構(gòu)如圖1所示。編碼器采用的是預(yù)測(cè)和變換的混合編碼方式。編碼器處理輸入的幀或場(chǎng)F.以宏塊編碼為單位來進(jìn)行幀內(nèi)編碼或幀間編碼。采用幀間預(yù)測(cè)編碼的預(yù)測(cè)值PREDC圖中用P表示)是由當(dāng)前片中已編碼的參考圖像經(jīng)運(yùn)動(dòng)補(bǔ)償(MC)后得出的。
為了提高預(yù)測(cè)精度,以提高壓縮比,實(shí)際的參考圖像可在過去或未來(指顯示次序上)已編碼解碼重建和濾波的幀中進(jìn)行選擇。預(yù)測(cè)值F和當(dāng)前塊相減后,可產(chǎn)生一個(gè)殘差塊D,經(jīng)塊變換、量化后產(chǎn)生一組量化后的變換系數(shù)”,再經(jīng)嫡編碼與解碼所需的一些邊信息(預(yù)測(cè)模式量化參數(shù)、運(yùn)動(dòng)矢量等)一起組成一個(gè)壓縮后的碼流,經(jīng)NAL(網(wǎng)絡(luò)自適應(yīng)層)后供傳輸和存儲(chǔ)用。采用幀內(nèi)預(yù)測(cè)編碼的預(yù)測(cè)值可由已編碼的宏塊得到。
1.3 H.264解碼器
H.264的解碼模塊結(jié)構(gòu)圖如圖2所示,圖中,由編碼器的NAL輸出一個(gè)壓縮后的H.264壓縮比特流,經(jīng)嫡解碼得到量化后的一組變換系數(shù)X,再經(jīng)反量化、反變換,得到殘差D”。利用從該比特流中解碼出的頭信息,解碼器就可產(chǎn)生一個(gè)預(yù)測(cè)塊PRED,它和編碼器中的原始PRED是相同的。當(dāng)該解碼器產(chǎn)生的PRED與殘差D”相加后,就會(huì)產(chǎn)生uFn,再經(jīng)濾波,最后得到重建的F”,這個(gè)F?就是最后的解碼輸出圖像。
2 貓映射
貓映射最早是由Arnold引入的,因?yàn)榻?jīng)常用一張貓臉演示而得名,其方程如下:
(1)式中,行列式C的值為1,即該映射是一個(gè)二維保面積、可逆映射,沒有吸引子「町。實(shí)際上,貓映射包括拉伸和折疊兩個(gè)過程,乘以矩陣C,使*、了變大,相當(dāng)于拉伸,取模使了、J又折回單位矩陣內(nèi),相當(dāng)于折疊,矩陣C的特征值為:
相應(yīng)的李氏指數(shù)為:
因此,該系統(tǒng)是混沌的。
從幾何方面考慮,可將貓映射作以推廣,稱為廣義貓映射。首先將相空間推廣為:
{0,l,2,?“,N—l}X{0,l,2,“?,N—l}
即只取0到N-1的正整數(shù),其次將方程推廣為最一般的二維可逆保面積方程,如式(2)所示:
式中a,b,c,d為正整數(shù),其保面積性要求
是:ad-bc=1
廣義貓映射實(shí)際上是對(duì)一個(gè)最一般的二維可逆保面積映射加了取正整數(shù)的限制,這樣,其很可能不再是混沌的,因?yàn)闋顟B(tài)空間變成有限的了。但從幾何上看,仍然具有貓映射的拉伸和折疊的性質(zhì),這個(gè)性質(zhì)導(dǎo)致原來相鄰的兩點(diǎn)(i,j)和(i,j+1)經(jīng)迭代幾次后不再相鄰了,即仍然具有一定程度的初值敏感性,利用這一點(diǎn),一幅圖像經(jīng)迭代若干次之后,就可達(dá)到保密效果。
廣義貓映射的逆映射如下式所示:
需要注意的是,只要正映射的系統(tǒng)取整數(shù),則逆映射的系數(shù)也取整數(shù),這是一個(gè)明顯的優(yōu)點(diǎn)。它保證了加、解密都是整數(shù)運(yùn)算,因而不會(huì)引入誤差,只需要把加密了的圖像按逆映射迭代相應(yīng)次數(shù)就可以解密。
3 貓映射視頻加密、解密流程
貓映射的視頻加密流程如圖3所示。加密時(shí),首先獲取YUV420視頻流;然后將其分解成幀數(shù)據(jù);再通過加密算法得到加密后的幀數(shù)據(jù);最后把加密后的幀數(shù)據(jù)送往H,264編碼器,得到H.264碼流。解密流程是個(gè)相反的過程:即先將H.264碼流通過H.264解碼器得到加密后的幀數(shù)據(jù);再將加密后的幀數(shù)據(jù)通過解密算法得到解密后的幀數(shù)據(jù);最后將得到的每一幀數(shù)據(jù)組合成YUV420數(shù)據(jù)。
加密算法采用的是廣義貓映射,根據(jù)公式(2),可對(duì)每一幀圖像進(jìn)行像數(shù)點(diǎn)置亂,(xn,yn)代表著像數(shù)點(diǎn)坐標(biāo),而(xn+1,yn+1)代表著(xn,yn)貓映射后的新坐標(biāo)。解密算法則采用廣義貓映射的逆映射。
4 實(shí)驗(yàn)結(jié)果及分析
實(shí)驗(yàn)平臺(tái)可以在linuxFedora13操作系統(tǒng)下,H.264編碼器采用開源代碼x264,H.264解碼器采用開源代碼ffmpeg-O.6,測(cè)試序列采用的是akiyo_qcif.yuv,根據(jù)公式(2)要求,其相空間為{0,1,2,…,N—1}X{0,1,2,…,N~1},所以,用工具把a(bǔ)kiyo_qcif.yuv裁剪為y空間,大小為128X128,“、p空間都為64X64。設(shè)定x64幀率25f/s,碼率為256kb/s,幀數(shù)為300幀,a=l,b=19a
原始視頻流可以直接由H.264編碼器編碼得到H.264視頻流,文件大小為316.5KB,編碼時(shí)間為5.497s。原始視頻流第一幀圖像y分量圖像如圖4所示。原始視頻流經(jīng)過加密后得到的H.264視頻流文件大小為316.5KB,編碼時(shí)間為5.5s,直接送入解碼器得到的第一幀了分量圖像如圖5所示,通過解密流程后的第一幀y分量圖像如圖6所示,當(dāng)參數(shù)失配時(shí)(如a=l,b=l),則通過解密流程后的第一幀夕分量圖
從實(shí)驗(yàn)結(jié)果得知,解密算法可以很好的解密原始圖像,在錯(cuò)誤密鑰的情況下(即參數(shù)失配的情況下),從圖7可以看出,不能正確解密原始圖像。從H.264文件大小上看,在相同碼流情況下,通過加密算法并沒有加大文件大小,從而保證了壓縮比。而且編碼時(shí)間接近,算法簡(jiǎn)單。但由于H.264編碼算法是基于消除空間相關(guān)性和時(shí)間相關(guān)性的算法,而貓映射打亂了原來圖像的時(shí)間和空間的相關(guān)性,因此,不可避免地會(huì)帶來圖像更大的失真。為了客觀地評(píng)價(jià)解密圖像的性能,設(shè)計(jì)引入了均方誤差MSE,定義如下:
式⑷中,p(x,y)代表原始圖像在(z,y)處的灰度值”(w)代表解密圖像在3以)處的灰度值,M,N代表圖像大小,對(duì)上述密鑰的實(shí)驗(yàn)結(jié)果是:MSE=20。
5 結(jié)語(yǔ)
在信息高速流通的時(shí)代,不僅要大量存儲(chǔ)和傳輸圖像,而且往往要求在保證質(zhì)量和安全性的前提下,以較小的空間存儲(chǔ)圖像,并以較少的比特率傳輸圖像。本文將H.264協(xié)議和貓映射結(jié)合起來實(shí)現(xiàn)視頻壓縮,不但可以實(shí)現(xiàn)視頻加密,而且加密算法十分簡(jiǎn)單。