周怡釗 王曉東 章聯(lián)軍 蘭瓊瓊
摘 要:為了有效地保護(hù)視頻信息,根據(jù)H.265/高效視頻編碼(HEVC)的特點(diǎn),提出一種變換系數(shù)置亂和語(yǔ)法元素加密相結(jié)合的方案。針對(duì)變換單元(TU),利用Arnold變換對(duì)4×4大小的TU進(jìn)行置亂,同時(shí)設(shè)計(jì)了一種移位加密器,根據(jù)TU的直流電(DC)系數(shù)近似分布規(guī)律對(duì)加密器進(jìn)行初始化,并用Arnold變換生成加密映射對(duì)8×8、16×16、32×32大小TU的DC系數(shù)進(jìn)行移位加密。針對(duì)熵編碼過(guò)程中部分采用旁路編碼的語(yǔ)法元素,利用Logistic混沌序列進(jìn)行加密。加密后的視頻峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)分別平均下降了26.1dB和0.51,壓縮率僅降低了1.126%,也僅帶來(lái)0.170%的編碼時(shí)間增長(zhǎng)。實(shí)驗(yàn)結(jié)果表明,在保證較好的加密效果、對(duì)比特率影響較小的前提下,所提方案具有較小的額外編碼開(kāi)銷(xiāo),適用于實(shí)時(shí)視頻應(yīng)用。
關(guān)鍵詞:高效視頻編碼;Logistic;Arnold變換;選擇性加密;變換單元;語(yǔ)法元素
中圖分類(lèi)號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
Abstract:? In order to effectively protect video information, according to the characteristics of H.265/HEVC (High Efficiency Video Coding), a scheme combining transform coefficient scrambling and syntax element encryption was proposed. For Transform Unit (TU), the TU with the size of 4×4 was scrambled by Arnold transform. At the same time, a shift cipher was designed, and the cipher was initialized according to the approximate distribution rule of the Direct Current (DC) coefficient of the TU, and the DC coefficients of TU with the size of 8×8, 16×16 and 32×32 were shifting encrypted using encryption map generated by Arnold transform. For some of the syntax elements with bypass coding used in the entropy coding process, the Logistic chaotic sequence was used for encryption. After encryption, the Peak Signal-to-Noise Ratio (PSNR) and Structual Similarity (SSIM) of the video were decreased by 26.1 dB and 0.51 respectively on average, while the compression ratio was only decreased by 1.126% and the coding time was only increased by 0.17%. Experimental results show that under the premise of ensuring better encryption effect and less impact on bit rate, the proposed scheme has less extra coding overhead and is suitable for real-time video applications.
Key words:? High Efficiency Video Coding (HEVC); Logistic; Arnold transform; selective encryption; Transform Unit (TU); syntax element
0 引言
視頻應(yīng)用快速發(fā)展,包括數(shù)字電視、網(wǎng)絡(luò)直播、在線會(huì)議、視頻監(jiān)控等,這些應(yīng)用已經(jīng)涵蓋我們?nèi)粘I畹母鱾€(gè)領(lǐng)域。由于網(wǎng)絡(luò)的匿名性和開(kāi)放性,視頻數(shù)據(jù)在傳輸過(guò)程中經(jīng)常遭到惡意地攻擊,同時(shí)還有一些重要的視頻數(shù)據(jù)會(huì)被不法分子竊取,一些重要的視頻信息也會(huì)被泄露。因此,就有必要設(shè)計(jì)出一些高效、高安全性的視頻加密技術(shù)來(lái)保護(hù)這些視頻數(shù)據(jù)。
新一代高效視頻編碼(High Efficiency Video Coding, HEVC)[1]是視頻編碼聯(lián)合工作組(Joint Collabora tive Team on Video Coding, JCT-VC)推出的新興的視頻編碼標(biāo)準(zhǔn),采用混合視頻編碼架構(gòu),引進(jìn)了幾種新的編碼結(jié)構(gòu),如編碼樹(shù)單元(Coding Tree Unit, CTU)、編碼單元(Coding Unit, CU)、預(yù)測(cè)單元(Prediction Unit, PU)和變換單元(Transform Unit, TU),采用基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(Context-based Adaptive Binary Airthmetic Coding, CABAC)[2]方法,相對(duì)于H.264/AVC(Advanced Video Coding),節(jié)省了約50%的比特率,同時(shí)其主觀評(píng)價(jià)結(jié)構(gòu)優(yōu)于H.264/AVC,因此HEVC標(biāo)準(zhǔn)將可能成為下一代主流的視頻編碼標(biāo)準(zhǔn),基于HEVC的加密研究也具有很高的價(jià)值和意義。HEVC相對(duì)于H.264而言,提高了壓縮率,同時(shí)也增加了復(fù)雜度,原先適用于H.264標(biāo)準(zhǔn)的視頻加密算法已不適用于當(dāng)前的HEVC標(biāo)準(zhǔn),因此本文將提出一種基于HEVC的視頻加密方案。
由于視頻圖像具有信息量大、冗余度高、相鄰像素相關(guān)性強(qiáng)等特點(diǎn),傳統(tǒng)的加密算法如AES(Advanced Encryption Standard)、DES(Data Encryption Standard)等在面對(duì)此類(lèi)信息源時(shí)存在計(jì)算量大、效率低等[3]問(wèn)題,很多時(shí)候無(wú)法滿足信息傳輸?shù)膶?shí)時(shí)性要求。而混沌非線性動(dòng)力學(xué)系統(tǒng)具有對(duì)初始條件的極端敏感性、非周期定常態(tài)性、內(nèi)在隨機(jī)性等特點(diǎn),同時(shí)加密序列能夠快速實(shí)現(xiàn),因此本文的加密密鑰通過(guò)Logistic[4]混沌發(fā)生器來(lái)生成,同時(shí)結(jié)合Arnold變換[5]對(duì)TU進(jìn)行置亂來(lái)實(shí)現(xiàn)視頻資源的保護(hù)。
現(xiàn)有的基于HEVC的選擇性加密算法,主要選擇熵編碼階段能滿足格式兼容需求的語(yǔ)法元素進(jìn)行加密。文獻(xiàn)[6]提出在CABAC階段,利用混沌序列對(duì)非零QTC(Quantization Transform Coefficient)剩余部分的絕對(duì)值進(jìn)行加密,為保證萊斯參數(shù)加密前后不變,只對(duì)部分區(qū)間內(nèi)的絕對(duì)值進(jìn)行加密。文獻(xiàn)[7]中利用自適應(yīng)設(shè)備對(duì)殘差信息的符號(hào)、MVD(Motion Vector
Difference)符號(hào)、MVP(Motion Vector Prediction)索引和MV(Motion Vector)參考索引四個(gè)元素進(jìn)行適當(dāng)?shù)慕M合加密,通過(guò)實(shí)驗(yàn)對(duì)比得出單獨(dú)加密MV參考索引的效果最好。這兩種方案都具有較低的計(jì)算復(fù)雜度,同時(shí)滿足格式兼容的需求;但只對(duì)單一元素進(jìn)行加密,存在加密空間較低、安全性不高的問(wèn)題。文獻(xiàn)[8]相對(duì)于文獻(xiàn)[6-7]增加了加密的語(yǔ)法元素,有更高的加密空間。加密方式采用先提取出語(yǔ)法元素需要加密的部分,組成子碼流,利用AES算法進(jìn)行加密,再拆分置回碼流原位置,具有很好的加密效果;但拆分和置回的方式會(huì)帶來(lái)較大的編碼時(shí)間增長(zhǎng),不適合于實(shí)時(shí)視頻應(yīng)用。文獻(xiàn)[9]和文獻(xiàn)[10]中均利用RC6(Rivest Cipher 6)算法產(chǎn)生密鑰來(lái)對(duì)編碼過(guò)程中高敏感度的數(shù)據(jù)進(jìn)行加密,有較好的加密效果,同時(shí)文獻(xiàn)[10]中還和AES加密方式進(jìn)行了對(duì)比,結(jié)果表明較低復(fù)雜度的RC6算法能降低3%到14%的編碼時(shí)間。文獻(xiàn)[11]中利用RC4通過(guò)調(diào)整“1”“0”符號(hào)的概率產(chǎn)生可控的密鑰流,根據(jù)MVD符號(hào)、MVD幅值、亮度和色度殘差系數(shù)的符號(hào)四個(gè)語(yǔ)法元素在加密過(guò)程中的敏感性差異來(lái)進(jìn)行感知加密,實(shí)現(xiàn)了無(wú)損壓縮和較好的加密性能,同時(shí)編碼時(shí)間基本保持不變。上述方案為了保證加密前后格式兼容和壓縮效率不變,只對(duì)部分語(yǔ)法元素進(jìn)行加密,很難在加密效果、加密空間和計(jì)算復(fù)雜度之間作出較好的權(quán)衡。
HEVC的編碼框架最主要的三部分為:預(yù)測(cè)編碼、變換量化和熵編碼。預(yù)測(cè)編碼主要是為了降低幀內(nèi)和幀間的信息冗余,在這個(gè)信息冗余度高的階段加密效率很差,還可能會(huì)影響后續(xù)的上下文編碼,導(dǎo)致碼流格式不兼容;變換量化將信息的分布從原本空間域的相對(duì)離散變換到頻率域的相對(duì)集中,對(duì)變換后系數(shù)相對(duì)集中的區(qū)域進(jìn)行加密處理,加密的效率高。HEVC中8×8、16×16、32×32的TU能量主要集中在DC系數(shù),根據(jù)TU的特點(diǎn),對(duì)4×4和非4×4的TU進(jìn)行不同的加密處理,能進(jìn)一步增加加密的效率。為了在保證一定的加密效果的同時(shí)盡可能小地改變壓縮率,對(duì)變換系數(shù)的加密采用置亂的方式,保持整體信息熵基本不變,只改變局部信息熵,對(duì)后續(xù)熵編碼影響較小;熵編碼中對(duì)二元化后的碼流采用常規(guī)編碼和旁路編碼[2]兩種方式,其中旁路編碼不會(huì)改變上下文模型,對(duì)采用旁路編碼模式的語(yǔ)法元素進(jìn)行加密不會(huì)導(dǎo)致碼流格式不兼容。因此基于HEVC標(biāo)準(zhǔn),考慮在犧牲較小壓縮效率的前提下,本文方案將離散余弦變換(Discrete Cosine Transform, DCT)系數(shù)置亂和CABAC過(guò)程語(yǔ)法元素加密相結(jié)合,利用簡(jiǎn)單的、易于生成密鑰和較大加密空間,在保證加密性能的同時(shí)幾乎不產(chǎn)生額外的編碼時(shí)間,滿足實(shí)時(shí)應(yīng)用的需求。實(shí)驗(yàn)結(jié)果表明,本文算法安全性高、抗攻擊能力強(qiáng)、計(jì)算復(fù)雜度低、碼流格式兼容。
1 加密方案
根據(jù)前面的分析,本文的加密方案為兩個(gè)部分:語(yǔ)法元素的加密和DCT系數(shù)的置亂,其中4×4的TU采用Arnold變換進(jìn)行置亂,而8×8、16×16、32×32的TU只對(duì)DC系數(shù)進(jìn)行置亂,密鑰為L(zhǎng)ogistic混沌序列,
整個(gè)方案具體步驟如下:
步驟1 根據(jù)加密器大小,利用Arnold變換生成對(duì)應(yīng)的映射替換規(guī)則。利用Logistic混沌發(fā)生器產(chǎn)生語(yǔ)法元素加密密鑰,并根據(jù)非零DC系數(shù)分布規(guī)律對(duì)加密器進(jìn)行初始化。
步驟2 輸入視頻序列,按照HEVC編碼流程執(zhí)行預(yù)測(cè)編碼和變換量化。
步驟3 判斷TU大小是否為4×4,是則轉(zhuǎn)步驟4;否則轉(zhuǎn)步驟5。
步驟4 利用Arnold變換對(duì)TU右下角3×3塊進(jìn)行置亂,然后轉(zhuǎn)步驟6。
步驟5 利用加密器對(duì)原DC系數(shù)進(jìn)行映射替換,并存儲(chǔ)到加密器中,然后轉(zhuǎn)步驟6。
步驟6 利用Logistic混沌序列對(duì)CABAC過(guò)程中部分采用旁路編碼的語(yǔ)法元素進(jìn)行加密。
步驟7 進(jìn)行熵編碼等后續(xù)操作,最后輸出加密后的碼流。
1.1 語(yǔ)法元素加密
為了保證加密后碼流的格式兼容,能夠用標(biāo)準(zhǔn)的解碼器進(jìn)行解碼,需要選擇采用旁路編碼模式的語(yǔ)法元素進(jìn)行加密處理。本文選擇加密的語(yǔ)法元素為非零QTC符號(hào)、非零QTC絕對(duì)值剩余部分、CU劃分方式、merge索引、MVD編碼后綴和符號(hào)。
語(yǔ)法元素的加密采用Logistic混沌序列產(chǎn)生的密鑰進(jìn)行異或加密,Logistic混沌映射是一種拋物線映射,其定義如下:
由混沌動(dòng)力學(xué)系統(tǒng)研究表明,當(dāng)μ≥3.5699456…且μ≤4時(shí),系統(tǒng)為混沌狀態(tài)。x0表示初始值,由Logistic混沌映射生成的序列{xn|n=0,1,…}非周期且不收斂,對(duì)系統(tǒng)參數(shù)和初始值的變化十分敏感。
在熵編碼過(guò)程中,非零QTC的符號(hào)和剩余部分均采用旁路編碼,對(duì)其進(jìn)行加密不會(huì)改變碼流的格式兼容特性,不會(huì)對(duì)壓縮碼率產(chǎn)生影響,而且該語(yǔ)法元素加密空間大,對(duì)加密安全性的提高比較有利。
非零QTC的符號(hào)的二元化過(guò)程采用定長(zhǎng)(Fixed Length, FL)碼,符號(hào)位的編碼是以CG(Coefficient Group)為單位的,即該語(yǔ)法元素最長(zhǎng)為16位,因此可由前面提到的二進(jìn)制序列{kn|n=0,1,…,15}先按照當(dāng)前CG的非零系數(shù)個(gè)數(shù)來(lái)進(jìn)行截?cái)?,再進(jìn)行異或加密,得到加密后的語(yǔ)法元素值。
非零QTC的剩余部分采用截?cái)嗳R斯(Truncated Rice, TR)碼和K階指數(shù)哥倫布(Kth Exp-Golomb, EGK)碼的聯(lián)合二元化方案,本文選擇對(duì)后綴進(jìn)行加密。非零QTC的剩余部分:
時(shí)才存在后綴,其中P為當(dāng)前非零QTC的萊斯參數(shù),而下一個(gè)非零QTC的萊斯參數(shù)Pnext=min(4, P+1),為了保證格式兼容,要保持加密前后Pnext不變,因此具體的加密規(guī)則如表1所示。
一個(gè)CU可以劃分為多個(gè)PU,其中幀內(nèi)預(yù)測(cè)單元PU只有兩種劃分模式:2N×2N和N×N,而幀間預(yù)測(cè)單元PU采用8種劃分模式:2N×2N、2N×N、N×2N、N×N、2N×nU、2N×nD、nL×2N、nR×2N。它們分別對(duì)應(yīng)的二元化序列如表2所示,其中只有2N×nU、2N×nD、nL×2N、nR×2N的最后一個(gè)比特位(表2中帶框的部分)采用了旁路編碼模式,而其余比特位均為常規(guī)編碼模式。因此文本只對(duì)這4種劃分模式的最后一個(gè)比特利用Logistic序列產(chǎn)生的密鑰進(jìn)行加密,使得CU分割出現(xiàn)錯(cuò)誤達(dá)到視頻畫(huà)面的置亂。
Merge[12]模式是HEVC新引入的運(yùn)動(dòng)矢量預(yù)測(cè)技術(shù),通過(guò)創(chuàng)建候選列表來(lái)選取最優(yōu)MV,它包含了5個(gè)候選運(yùn)動(dòng)信息。Merge索引采用了萊斯參數(shù)cRiceParam=0的TR碼進(jìn)行二元化,索引(0,1,2,3,4)二元化后的結(jié)果為(0,10,110,1110,1111),其算術(shù)編碼方式采用常規(guī)編碼和旁路編碼相結(jié)合的方式,除二元化后的第一位采用常規(guī)編碼外,其余位均采用旁路編碼,可進(jìn)行加密操作。加密規(guī)則如表3所示。
為了便于操作的進(jìn)行,需要將可加密位轉(zhuǎn)換成FL碼利用Logistic產(chǎn)生的密鑰加密,因此本文先將旁路編碼位進(jìn)行重編碼成2比特的FL碼進(jìn)行加密,加密完成后再映射回原旁路編碼。如原來(lái)的merge index為4,編碼后為1111,旁路編碼位111重編碼后為11,若加密后為01,映射回對(duì)應(yīng)的旁路編碼位為10,對(duì)應(yīng)的編碼為110,同時(shí)滿足加密和格式兼容的需求。
MVD代表了視頻中的運(yùn)動(dòng)信息,其絕對(duì)值和符號(hào)部分均采用了旁路編碼,并且分別采用了EG1和FL二元化方案,其中其后綴部分可看成FL碼,因此可對(duì)后綴和符號(hào)位進(jìn)行加密。MV信息的加密會(huì)對(duì)幀間預(yù)測(cè)產(chǎn)生較大的影響,隨著編碼的進(jìn)行,錯(cuò)誤的運(yùn)動(dòng)信息還會(huì)擴(kuò)散,使視頻出現(xiàn)更嚴(yán)重的失真,從而達(dá)到保護(hù)視頻信息的目的。
1.2 DCT系數(shù)的加密處理
變換編碼將以空間域中的像素形式描述的圖像轉(zhuǎn)換至變換域,以變換系數(shù)的形式加以表示,變換使圖像的能量在空間域的分散分布轉(zhuǎn)為在變換域相對(duì)集中的分布。在HEVC中,對(duì)于灰度值緩慢變化的塊經(jīng)過(guò)DCT后絕大部分能量都集中在變換塊(TU)左上角的低頻系數(shù)中;相反,如果像素塊包含較多的紋理信息,則較多能量分散在高頻區(qū)域。
HEVC中變換塊(TU)的大小有4×4、8×8、16×16、32×32四種形式,在對(duì)大量視頻序列進(jìn)行編碼實(shí)驗(yàn)的過(guò)程中,發(fā)現(xiàn)對(duì)于4×4的塊,非零變換系數(shù)的分布較為分散;而其他三種大小的塊,能量主要集中在DC系數(shù)上,其他位置系數(shù)普遍為0。因此,為了避免編碼加密后的碼流的比特率過(guò)分地提高,對(duì)于4×4的塊,利用Arnold變換進(jìn)行系數(shù)置亂,Arnold變換如下:
其中:N為方塊的大小;(xn+1, yn+1)為(xn, yn)位置的系數(shù)經(jīng)過(guò)變換后的位置。Arnold變換具有周期性。TU塊在掃描成CG的過(guò)程中,有三種掃描方式:水平、垂直、對(duì)角[13]。對(duì)于4×4的TU,能量一般集中在掃描順序靠前的8個(gè)系數(shù)中,圖1是對(duì)于4×4的TU的CG掃描方式及組合,三種掃描方式中前8個(gè)系數(shù)用填充表示,三種掃描方式組合成圖1下方的形式。對(duì)于4×4TU來(lái)說(shuō),如果采用全部置亂的方式,會(huì)大幅度改變系數(shù)的分布,使非零系數(shù)不再集中于掃描順序的前8位,會(huì)帶來(lái)一定程度的壓縮率的下降。
從圖1可以看出粗線表示的3×3塊(后面都稱為加密塊)中,除了左上角的系數(shù),其余系數(shù)均處在三種掃描方式之一的前8位。而對(duì)掃描的前8位系數(shù)進(jìn)行置亂,能量仍然集中,不會(huì)改變壓縮率??紤]到Arnold變換不會(huì)改變(0,0)位置數(shù)值的特點(diǎn),對(duì)加密塊系數(shù)進(jìn)行置亂,置亂的大部分是處于3種掃描方式之一的前8位的系數(shù),能很大程度保證壓縮率。對(duì)于N=3,a=b=1的Arnold變換周期為4,即經(jīng)過(guò)四次變換會(huì)恢復(fù)成原來(lái)的系數(shù)矩陣。對(duì)于4×4的TU塊中的加密塊置亂方案如下:
從第一幀開(kāi)始到編碼結(jié)束,為4×4塊按編碼順序從0開(kāi)始排序,排序數(shù)為U。對(duì)每個(gè)加密塊執(zhí)行Arnold變換即可恢復(fù)原系數(shù)塊。相對(duì)于所有塊都進(jìn)行相同的置亂操作,這樣最少能將安全性提高到原來(lái)的2倍。
而對(duì)于其他三種大小的塊,只對(duì)DC系數(shù)進(jìn)行加密,為了保證壓縮率不會(huì)顯著降低,加密過(guò)程中DC系數(shù)的統(tǒng)計(jì)分布不宜出現(xiàn)過(guò)大的變化,因此DC系數(shù)采用置亂的方案來(lái)進(jìn)行加密。傳統(tǒng)的置亂方案需要對(duì)HEVC按塊進(jìn)行編碼寫(xiě)出碼流的操作進(jìn)行修改,所有塊需要先全部進(jìn)行變換提取出DC系數(shù),置亂后再置回原位置的三步操作,最后再進(jìn)行熵編碼寫(xiě)出碼流。這種方案計(jì)算復(fù)雜度較大,不適用于實(shí)時(shí)傳輸?shù)膽?yīng)用,因此本文在不改變編碼結(jié)構(gòu)的情況下設(shè)計(jì)了如圖2所示的DC系數(shù)置亂方案。
設(shè)加密單位為Q:Q太小加密效果不佳,Q太大所帶來(lái)的額外開(kāi)銷(xiāo)也會(huì)增大??紤]到實(shí)時(shí)性和加密效果兩方面的需求,本文實(shí)驗(yàn)最終選取的Q=64,并以此為例進(jìn)行說(shuō)明。64位進(jìn)行加密映射需要128位的加密器(每位為十進(jìn)制),前64位由Logistic混沌發(fā)生器產(chǎn)生隨機(jī)加密序列{Ek|k=0,1,…,63},后64位用于存儲(chǔ)置亂前的DC系數(shù),初始化為0。如果原來(lái)的非零DC系數(shù)置亂后變成0,可能會(huì)出現(xiàn)全0的TU塊,造成編碼錯(cuò)誤,因此本文置亂操作只處理非零的DC系數(shù)。大量實(shí)驗(yàn)發(fā)現(xiàn)視頻中DC系數(shù)取值中[-15,15]的值占了99%,因此Ek的取值區(qū)間為[-15,15]中的非零值,加密序列中各值的分布規(guī)律遵循實(shí)驗(yàn)統(tǒng)計(jì)的DC系數(shù)值分布,這樣可以近似模擬出一組包含64位非零DC系數(shù)的序列。然后對(duì)編碼過(guò)程中的非零DC系數(shù)按照某種映射關(guān)系從64位序列中選取值進(jìn)行替換,同時(shí)將原非零DC系數(shù)順序存入寄存器后64位。處理完64個(gè)非零DC系數(shù)后,對(duì)寄存器后64位進(jìn)行向前移位填空到前64位,同時(shí)將加密器后64位置0,繼續(xù)進(jìn)行映射加密操作。處理完最后一位非零DC系數(shù)后輸出此時(shí)的128位序列{Pk|k=0,1,…,127}作為解密密鑰。加密操作只會(huì)對(duì)原來(lái)的DC系數(shù)分布產(chǎn)生很小的影響,分布規(guī)律的改變僅為{Pk}和{Ek,0,…,0}
的取值差異,{Ek}是模擬{Pk}生成的,進(jìn)一步縮小了差異,相對(duì)于所有非零DC系數(shù)的數(shù)量可忽略不計(jì)。因此該方法能較好地實(shí)現(xiàn)非零DC系數(shù)的加密操作,在不改變其分布規(guī)律的同時(shí)保證了較低的計(jì)算復(fù)雜度。
2 實(shí)驗(yàn)結(jié)果與分析
本實(shí)驗(yàn)采用的硬件配置為Intel Core i3-4150 CPU @ 3.50GHz,8.00GB RAM,在HEVC參考平臺(tái)HM16.0上進(jìn)行,編譯軟件為Visual Studio 2013,采用randomaccess的配置模式。為了充分驗(yàn)證加密算法的有效性,本文采用分辨率從416×240到1920×1080的12個(gè)測(cè)試序列進(jìn)行實(shí)驗(yàn),QP取值范圍為{20,24,28,32,36},加密幀數(shù)為50幀,Logistic混沌序列發(fā)生器閾值T取0.5,DC系數(shù)置亂單位為64,64位替換映射利用8×8的矩陣按左上到右下依次對(duì)應(yīng)0到63進(jìn)行三次Arnold變換產(chǎn)生(8×8的矩陣Arnold變換周期為6)。
2.1 主觀質(zhì)量分析
圖3顯示了QP=32的情況下,加密前后部分視頻序列的主觀質(zhì)量。從圖3可以看出,無(wú)論是運(yùn)動(dòng)劇烈還是緩慢的視頻序列,加密后的視頻都出現(xiàn)了嚴(yán)重的失真,幾乎無(wú)法識(shí)別,同時(shí)視頻的色彩混亂,帶來(lái)特別差的觀感,滿足視頻加密主觀感知的安全性需求。
2.2 客觀質(zhì)量分析
為了分析加密后視頻圖像的視覺(jué)安全性,本文采用了峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結(jié)構(gòu)相似度(Structural SIMilarity,SSIM)兩個(gè)客觀質(zhì)量評(píng)價(jià)指標(biāo),將所有
測(cè)試序列加密后和未加密的序列進(jìn)行質(zhì)量評(píng)價(jià)對(duì)比,其中QP=32時(shí)的結(jié)果如表4所示。從表4可以看出,所有視頻序列加密后的PSNR和SSIM相比未加密時(shí)均有大幅度降低,PSNR平均降低了26.10dB,SSIM平均降低了0.5141,同時(shí)由于加密了MVD的后綴和符號(hào)位,對(duì)運(yùn)動(dòng)估計(jì)產(chǎn)生了影響,隨著視頻幀數(shù)的增加,加密后的錯(cuò)誤擴(kuò)散更嚴(yán)重,視頻的質(zhì)量下降更多,很好地保護(hù)了視頻信息。
表5是不同QP下BasketballDrill序列和FourPeople序列加密前后客觀質(zhì)量對(duì)比。從表5可以看出,PSNR和SSIM受QP的影響較小,表明即使采用較小的量化步長(zhǎng),該算法仍能保證很好的加密效果,加密性能不受編碼過(guò)程中失真的影響。
2.3 加密前后編碼時(shí)間、比特?cái)?shù)對(duì)比和加密空間
為了滿足實(shí)時(shí)應(yīng)用的需求,加密算法所帶來(lái)的額外開(kāi)銷(xiāo)不能過(guò)大,算法應(yīng)該具有較低的計(jì)算復(fù)雜度,算法的這項(xiàng)特征可通過(guò)對(duì)比加密前后所需的編碼時(shí)間來(lái)反映。比特率反映了編碼的壓縮特性,加密空間(Encryption Space, ES)表示可加密的比特占原始視頻比特流大小的比例,與視頻內(nèi)容和加密對(duì)象有關(guān)。表6列出來(lái)加密前后編碼時(shí)間、比特?cái)?shù)的對(duì)比和加密空間,4×4TU和DC系數(shù)的置亂比特?cái)?shù)計(jì)算較麻煩,表中ES只為語(yǔ)法元素的加密空間。
由表6可以看出,加密前后編碼時(shí)間平均僅上升0.17%,算法具有很低的計(jì)算復(fù)雜度,能滿足實(shí)時(shí)需求。而加密前后視頻比特率平均上升了1.126%,主要是加密過(guò)程中置亂了4×4TU和改變了DC系數(shù)的分布,對(duì)熵編碼過(guò)程產(chǎn)生了一定影響,但比特率的提高較小,在可接受的范圍內(nèi)。從表6可以看出,平均ES達(dá)到29.53%,并且運(yùn)動(dòng)越劇烈的序列ES越大,而對(duì)于運(yùn)動(dòng)緩慢的幾個(gè)人物序列,雖然ES均不足7%,但本文算法還同時(shí)置亂了4×4TU和DC系數(shù),仍然能保證足夠的安全性。
3 加密性能分析
3.1 抗攻擊性能分析
由第2章可知,ES最低的Johnny序列語(yǔ)法元素加密空間約為4.67%,平均每幀約為64558位,因此每一幀的窮舉攻擊空間為264558,破解的可能性極低。本文加密方案的密鑰空間由三部分組成:對(duì)語(yǔ)法元素進(jìn)行加密的Logistic混沌發(fā)生器產(chǎn)生的16×N(N為一幀中CG塊的數(shù)量)位二進(jìn)制序列;對(duì)4×4TU塊進(jìn)行置亂的3×3的Arnold變換產(chǎn)生的8位映射;對(duì)DC系數(shù)置亂后生成的128位解密序列,每位的取值范圍最小為[-15,15]中的非零數(shù)。因此綜合來(lái)看,密鑰空間大于等于216×N×(8?。?0128,采用窮舉攻擊破解的可能性也極低。同時(shí)本文加密方案將語(yǔ)法元素加密和DCT階段置亂相結(jié)合,單方面的已知明文分析無(wú)法同時(shí)破解兩部分的加密,并且DC系數(shù)置亂所采用的加密密鑰64位初始序列和最后生成的128位解密序列為非對(duì)稱的加密方式,進(jìn)一步增加了破解的難度,因此本文算法具有很高的安全性。
3.2 對(duì)比分析
表7綜合性對(duì)比了本文與其他基于HEVC的選擇性加密方案的性能。文獻(xiàn)[6]只加密了非零QTC后綴,加密后的客觀質(zhì)量評(píng)價(jià)下降較低,同時(shí)加密空間較小,抗攻擊性能有限;文獻(xiàn)[8]采用提取語(yǔ)法元素加密后置回的方式,有很好的加密效果,但有一定的編碼時(shí)間增長(zhǎng),不適用于實(shí)時(shí)傳輸?shù)囊曨l應(yīng)用;
文獻(xiàn)[14]利用HEVC編碼結(jié)構(gòu)中的變換跳變信號(hào)和符號(hào)位,對(duì)其進(jìn)行加密不改變二值化的上下文,選擇加密的語(yǔ)法元素為MVD和AC系數(shù)的符號(hào),但加密效果有限,只適合于高清視頻的感知加密;文獻(xiàn)[15]采用提取二值化過(guò)程中截?cái)嗳R斯碼和指數(shù)哥倫布碼后綴利用AES-CFB進(jìn)行加密后置回原碼流的方式,具有很好的加密效果,但同樣帶來(lái)較多的額外編碼時(shí)間。而本文方案將DCT系數(shù)置亂和語(yǔ)法元素加密相結(jié)合,對(duì)不同大小的TU塊的特點(diǎn)進(jìn)行不同的加密操作,在進(jìn)一步增大加密空間的同時(shí),利用混沌密鑰易生成的特點(diǎn),減少了加密所需的額外開(kāi)銷(xiāo),具有良好的加密性能,同時(shí)也適用于實(shí)時(shí)傳輸?shù)囊曨l信息保護(hù)。
4 結(jié)語(yǔ)
面向如今視頻實(shí)時(shí)傳輸?shù)陌踩孕枨?,本文根?jù)H.265/HEVC的熵編碼特性和TU結(jié)構(gòu),將語(yǔ)法元素加密和TU系數(shù)置亂的方法相結(jié)合,利用Logistic混沌序列和Arnold變換產(chǎn)生相應(yīng)的加密密鑰。實(shí)驗(yàn)結(jié)果表明,在視頻的壓縮率降低不明顯的情況下,有效地降低了PSNR和SSIM,同時(shí)加密后的視頻保證了格式兼容性,并且該方案的計(jì)算復(fù)雜度低,適用于實(shí)時(shí)傳輸?shù)囊曨l應(yīng)用。下一步的研究可結(jié)合感興趣區(qū)域,結(jié)合HEVC中Tile的并行處理機(jī)制來(lái)提高加密的效率,同時(shí)擴(kuò)展到可分級(jí)視頻編碼中,針對(duì)不同的需求,進(jìn)行不同程度的加密處理。
參考文獻(xiàn)(References)
[1] SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the High Efficiency Video Coding (HEVC) standard[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1649-1668.
[2] SZE V, BUDAGAVI M. High throughput CABAC entropy coding in HEVC[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2013, 22(12): 1778-1791.
[3] 楊明宣. 基于HEVC碼流的壓縮域視頻加密技術(shù)研究[D]. 北京: 北京工業(yè)大學(xué), 2016: 10-21. (YANG M X. Research on video encryption in compressed domain based on HEVC bitstream [D]. Beijing: Beijing University of Technology, 2016: 10-21.)
[4] 陳志剛, 梁滌青, 鄧小鴻, 等. Logistic混沌映射性能分析與改進(jìn)[J]. 電子與信息學(xué)報(bào), 2016, 38(6): 1547-1551. (CHEN Z G, LIANG D Q, DENG X H, et al. Performance analysis and improvement of Logistic chaotic mapping[J]. Journal of Electronics & Information Technology, 2016, 38(6): 1547-1551.)
[5] 鄒建成, 鐵小勻. 數(shù)字圖像的二維Arnold變換及其周期性[J]. 北方工業(yè)大學(xué)學(xué)報(bào), 2000, 12(1): 10-14. (ZOU J C, TIE X S. Arnold transformation of digital image with two domensions and its periodicity[J]. Journal of North China University of Technology, 2000, 12(1): 10-14.)
[6] LI J, WANG C, CHEN X, et al. A selective encryption scheme of CABAC based on video context in high efficiency video coding[J]. Multimedia Tools & Applications, 2018, 77(10): 12837-12851.
[7] van WALLENDAEL G, de COCK J, van LEUVEN S, et al. Format-compliant encryption techniques for high efficiency video coding[C]// Proceedings of the 2014 IEEE International Conference on Image Processing. Piscataway: IEEE, 2014: 4583-4587.
[8] YANG M, ZHUO L, ZHANG J, et al. An efficient format compliant video encryption scheme for HEVC bitstream[C]// Proceedings of the 2015 IEEE International Conference on Progress in Informatics and Computing. Piscataway: IEEE, 2015: 374-378.
[9] SALLAM A I, EL-RABAIE E S M, FARAGALLAH O S. CABAC-based selective encryption for HEVC using RC6 in different operation modes[J]. Multimedia Tools & Applications, 2018, 77(21): 28395-28416.
[10] SALLAM A I, FARAGALLAH O S, EL-RABIE E S M. HEVC selective encryption using RC6 block cipher technique[J]. IEEE Transactions on Multimedia, 2018, 20(7): 1636-1642.
[11] CHEN J, PENG F. A perceptual encryption scheme for HEVC video with lossless compression[J]. International Journal of Digital Crime & Forensics, 2017, 10(1): 67-78.
[12]
HELLE P, OUDIN S, BROSS B, et al. Block merging for quadtree-based partitioning in HEVC[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1720-1731.
[13] SOLE J, JOSHI R, KARCZEWICZ M. Non-CE11: diagonal sub-block scan for HE residual coding, ITU-T/ISO/IEC JCT-VC Document JCTVC-G323[R]. Geneva:ITU, 2011.
[14] TEW Y, MINEMURA K, WONG K. HEVC selective encryption using transform skip signal and sign bin[C]// Proceedings of the 2015 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference. Piscataway: IEEE, 2015: 963-970.
[15] SHAHID Z, PUECH W. Investigating the structure preserving encryption of High Efficiency Video Coding (HEVC) [J]. Proceedings of SPIE, 2013, 8656: No. 86560N.