基于Logistic映射的混沌實時視頻加密技術(shù)

由于缺少安全措施來保證多媒體數(shù)據(jù)的安全性,多媒體用戶間傳遞的信息是有風(fēng)險的,尤其是通過公用網(wǎng)絡(luò)(如Internet)處理敏感信息時,那么提供可靠的安全措施是必須的、十分迫切的。近年來,隨著混沌理論在安全通信方面得到了廣泛的研究,接下來,我給大家介紹一種基于混沌理論的H.264編碼的實時加密技術(shù)。

一、Logistic原理說明

Logistic映射是一維離散混沌系統(tǒng),運算速度快,方程反復(fù)迭代可以產(chǎn)生較好的混沌序列。產(chǎn)生的混沌序列對初始狀態(tài)和系統(tǒng)參數(shù)極其敏感。Logistic映射的定義為:

基于Logistic映射的混沌實時視頻加密技術(shù)

其中,控制參數(shù)u介于(0,4),x(n)在(0,1)之間,Logistic映射的大量研究已經(jīng)表明,當(dāng)u達(dá)到極限值,即u=3.5699456時,系統(tǒng)的穩(wěn)態(tài)解周期為∞。當(dāng)3.5699456<u≤4時,Logistic映射呈現(xiàn)混沌狀態(tài),所以為了實現(xiàn)混沌態(tài),在實際應(yīng)用時,u的取值范圍應(yīng)設(shè)定為:

基于Logistic映射的混沌實時視頻加密技術(shù)

二、H.264編碼原理說明

H.264編碼器的實現(xiàn)如圖所示。

基于Logistic映射的混沌實時視頻加密技術(shù)

H.264編碼器仍然使用變換域預(yù)測的混合編碼。輸入的幀或場Fn以宏塊為單位被編碼器處理。首先按幀內(nèi)或幀間預(yù)測編碼的方法進(jìn)行處理。采用幀內(nèi)編碼時,其預(yù)測值PRED是由當(dāng)前片中前面已編碼的參考圖像經(jīng)MC,運動補(bǔ)償,后得出的,其中參考圖像用Fn-1’表示。預(yù)測值PRED與當(dāng)前塊相減,產(chǎn)生的殘差塊Dn經(jīng)量化、變化后產(chǎn)生一組量化后的變換系數(shù)X,再經(jīng)熵編碼(與解碼所需的一些頭信息)如預(yù)測模式量化參數(shù)、運動矢量等,一起組成一個壓縮后的碼流,經(jīng)NAL,網(wǎng)絡(luò)提取層,供傳輸與存儲使用。

三、加密算法設(shè)計

1、Logistic混沌序列的產(chǎn)生

用Logistic映射公式對x(n)進(jìn)行m次迭代,生成混沌序列。

序列產(chǎn)生:

1)取x(i)=0.x(i)1x(i)2x(i)3x(i)4…x(i)k-2x(i)k-1x(i)k,取初值i=0。

2)令m(i)=∑x(i)j,m_av(i)=m(i)/k。

3)對x(i)進(jìn)行Logistic映射,迭代m(i)次,記錄x_record(i)=x(m(i)),令x_record(i)小數(shù)點后的位序列為x_record(i)1x_record(i(2))x_record(i)k。在(1)k,范圍內(nèi),對任意i,若(i-1)%m_av(i)=0成立,記錄x_seq,16*i-16+j,= x_record(i)j,令m(i+1)=∑x_record(i)k(m_av(1)=m(1)/(k/m_av(0))i=i+1。

4)重復(fù)上述步驟3,至n=128止。

2、視頻加密實現(xiàn)

輸入YUV,亮度和色差信號,測試序列,把視頻圖像分成若干N×N大小的塊,對每塊進(jìn)行DCT,離散余弦變換,變換和量化,得到DCT量化系數(shù)矩陣分別為DCT_COEFF_DC和DCT_COEFF_AC,在輸入到輸出碼流前,用混沌序列對預(yù)測模式進(jìn)行加密,在本文中,選擇的加密部分為:

(1)對亮度塊預(yù)測模式進(jìn)行加密。

(2)對運動矢量差分值進(jìn)行加密。

(3)對色度塊預(yù)測模式進(jìn)行加密。

(4)對殘差塊相關(guān)信息進(jìn)行加密。

基于Logistic映射的混沌實時視頻加密技術(shù)

3、亮度塊預(yù)測模式加密

本文中主要對幀內(nèi)預(yù)測模式進(jìn)行加密,對亮度信號而言,預(yù)測塊P用4×4子塊或者16×16宏塊的相關(guān)操作,4×4亮度子塊有9種可選預(yù)測模式,獨立預(yù)測每個4×4的亮度子塊,16×16亮度塊有4種預(yù)測模式,用以預(yù)測整個16×16亮度塊,色度塊也有4種預(yù)測模式,類似于16×16亮度塊預(yù)測模式。

在H.264碼流中,對于每個4×4塊,用1比特prev_intra4×4_pred_mode標(biāo) 志 和3比 特rem_intra4×4_pred_mode信息表示預(yù)測信息,當(dāng)pred_intra4×4_pred_mode=1時表示使用最可能的預(yù)測模式,pred_intra4×4_pred_mode=0,表示使用參數(shù)rem_intra4×4_pred_mode指明的信息,在這里我們對rem_intra4×4_pred_mode為3的比特信息直接進(jìn)行加密。

對于16×16的亮度模塊,其幀內(nèi)預(yù)測模式分別用0~3表示,故可知,在寫入H.264比特流中的信息中,其包含2比特的信息,我們可以用Logistic映射產(chǎn)生的位序列元素直接對其進(jìn)行加密。

4、色度塊預(yù)測模式加密

對于色度塊的預(yù)測模式intra_chroma_pred_mode,也有四種情況分別用0~3表示,其采用Exp-golomb的ue(v)方式進(jìn)行編碼,鑒于ue(v)編碼的特殊性,為保證格式的兼容,我們不對整個碼字進(jìn)行加密而只是加密其模式1和模式2。由于模式1和模式2的變長碼字分別為:010和011,因此在用Logistic映射產(chǎn)生的位序列元素對其進(jìn)行加密時直接加密其最后一位。

5、MVD(運動矢量差分)的加密實現(xiàn)

MVD采用Exp-golomb的se(v)方式進(jìn)程編碼,代表實際信息的k bit后綴對于任意k個bit的組合都是有效的。在本文中我們用Logistic映射序列直接對該碼字的后綴suffix進(jìn)行加密。

6、CAVLC熵編碼加密

CAVLC(基于上下文的自適應(yīng)的可變長編碼),用于亮度和色度殘差數(shù)據(jù)的編碼。在CAVLC中,上下文模型的選擇主要體現(xiàn)在兩個方面,非零系數(shù)編碼所需表格的選擇及拖尾系數(shù)后綴的更新。CAVLC編碼涉及到,對非零系數(shù)數(shù)目,TotalCoeffs,以及拖尾系數(shù)數(shù)目(TrailingOnes)的編碼,每個拖尾系數(shù)的符號的編碼,除拖尾系數(shù)之外的非零系數(shù)的幅值(Levels)的編碼,最后一個非零系數(shù)的前零數(shù)目的編碼,每個非零系數(shù)的前零個數(shù)的編碼。

本文根據(jù)H.264 CAVLC加密算法及特征提出了一種基于Logistic混沌映射的實時加密算法。通過基于混沌映射提供的巨大的加密序列,基于編碼特征有選擇地對編碼進(jìn)行加密,滿足了一定的安全性和實時性的要求,且本文提出的算法簡單,對視頻的壓縮比并沒有影響。

小知識之H.264

H.264是ITU-T以H.26x系列為名稱命名的視頻編解碼技術(shù)標(biāo)準(zhǔn)之一。國際上制定視頻編解碼技術(shù)的組織有兩個,一個是“國際電聯(lián)(ITU-T)”,它制定的標(biāo)準(zhǔn)有H.261、H.263、H.263+等,另一個是“國際標(biāo)準(zhǔn)化組織(ISO)”它制定的標(biāo)準(zhǔn)有MPEG-1、MPEG-2、MPEG-4等。而H.264則是由兩個組織聯(lián)合組建的聯(lián)合視頻組(JVT)共同制定的新數(shù)字視頻編碼標(biāo)準(zhǔn),所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高級視頻編碼(Advanced Video Coding,AVC),而且它將成為MPEG-4標(biāo)準(zhǔn)的第10部分。因此,不論是MPEG-4 AVC、MPEG-4 Part 10,還是ISO/IEC 14496-10,都是指H.264。