999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于H.265的高效選擇性加密算法

2019-07-05 03:36:50趙春暉
沈陽大學學報(自然科學版) 2019年3期
關鍵詞:符號

趙春暉, 高 陽

(哈爾濱工程大學 信息與通信工程學院, 黑龍江 哈爾濱 150001)

H.265,又稱高效視頻編碼(high efficiency video coding, HEVC)[1],是最新的視頻編碼標準,相比它的前身H.264/AVC[2],H.265在相同視頻質量的技術上可以提供2倍的數據壓縮率,或是以同樣的比特率大幅提高視頻質量.H.265還支持超高清分辨率的視頻.鑒于此,越來越多的多媒體視頻應用或系統采用H.265作為其視頻編碼解碼的標準.

信息爆炸的時代,互聯網技術日新月異,視頻作為重要的信息載體與媒介,廣泛存在于社會生活的每一個角落,在視頻的用途越來越廣泛的同時,視頻信息的隱私性與安全性也越來越受人重視,視頻加密技術應運而生.視頻加密算法可以分為全部加密算法與選擇性加密算法[3].全部加密算法即將視頻文件看作數據,使用傳統加密算法,如高級加密標準(advanced encryption standard,AES)[4]加密完整的視頻流.這種算法計算數據量大,耗時長,且完全不考慮視頻格式,加密完畢后無法正常播放,必須設計專門的解碼器.選擇性加密算法則是在保證視頻格式規范的同時,通過對視頻數據中的某些對視頻質量敏感的語法元素進行加密來保證安全性,目前已逐漸成為視頻加密算法的主流研究方向.

對H.265的視頻比特流而言,為保證符合碼流兼容性,并非所有語法元素都能被加密.我們必須選擇那些對碼流兼容性沒有影響的元素進行加密[5].H.265編碼過程的最后一步是熵編碼,它利用統計特性對數據進行無損壓縮,即用幾個比特表示出現頻率高的數據,更長的比特表示出現頻率低的數據.在熵編碼過程中,H.265使用的是基于上下文的自適應二進制算術編碼(context based adaptive binary arithmetic coding, CABAC)框架.

絕大多數的H.265選擇性加密算法都是通過研究H.265的編碼框架,對H.265編碼比特流的部分語法元素進行加密.Z.Shahid和W.Puech使用AES算法加密了CABAC碼流中的量化參數變化量的截斷萊斯碼[6],對兼容性造成一定影響.G.Van Wallendael加密了運動矢量殘差的符號、殘差系數的符號、運動矢量預測候選的索引和運動矢量索引[7],可以達到較好的視覺加密效果.A.I.Sallam等人使用RC6算法對編碼過程中的運動矢量差和DCT系數的符號位及幅值殘差后綴進行了加密[8],比大多數AES算法更快.楊明宣對編碼后的H.265格式的視頻中的幀內預測模式、運動矢量差和量化參數變化量的符號位和幅值后綴進行了AES加密[9],計算復雜度低且加密效果好.

本文提出了一種低計算復雜度、碼流兼容且高效的H.265選擇性加密算法,使用RC6-CFB算法對量化參數變化量的符號位及殘差后綴、MVD的符號位和絕對值后綴以及DCT系數符號位和幅值絕對值殘差后綴進行加密,保證了對幀內和幀間的編碼過程的加密,且符號位本身的取值范圍為{0,1}比特,相當于省略了二值化步驟,量化參數的殘差后綴和DCT系數幅值殘差后綴使用0階指數哥倫布編碼進行二值化,MVD絕對值后綴使用1階指數哥倫布編碼進行二值化,易于加密且保證了碼流兼容性.使用RC6算法的CFB模式,可以保證數據量不變,從而使壓縮率不變,且與AES算法相比,提高了加密速度.

1 加密算法

根據加密和解密過程中使用的密鑰是否相同,加密算法可分為對稱加密算法(symmetric cipher)和非對稱加密算法(asymmetric cipher).對稱加密算法計算復雜度低,加密速度快,且加密安全性也很好,能夠抵抗多種攻擊,因此在信息安全領域得到了廣泛應用.對稱加密算法根據對待加密數據的處理手段不同,又分為分組密碼(block cipher)和流密碼(stream cipher).其中的分組密碼將明文分為固定長度的比特組,稱為“塊”,對每個塊通過對稱密鑰進行固定的加密變換.確定性算法分組密碼是將明文消息編碼表示后的數字序列劃分成固定大小的組后,在密鑰的控制下對各組分別進行加密變換,從而獲得輸出數字序列.目前常用的分組密碼有AES、數據加密標準(data encryption standard, DES)[10]、RC6等.分組密碼由于其分塊加密的特性,特別適用于大容量數據加密.

1.1 AES加密算法

高級加密標準AES,是在2001年由美國國家標準與技術研究所(NIST)提出的電子數據加密規范.

AES算法作為Rijndael算法的一個變體,其明文分組塊固定為128位,密鑰長度可以是128、192或256位.密鑰長度決定加密輪數,128位密鑰的加密輪數為10輪,192位密鑰的加密輪數為12輪,256位密鑰的加密輪數為14輪[11].隨著加密輪數的增大,加密強度增強,安全性提高,計算的復雜度亦提高.

圖1為128位AES算法的加密流程框圖.首先將待加密的明文按每128位分成明文塊,并將每個明文塊按列主序組成一個 4×4 的矩陣;每輪加密包括4個步驟:字節替換(sub bytes)、行左移(shift rows) 、列混合(mix columns)以及輪密鑰加(add round key),其中第一輪只進行輪密鑰加,最后一輪沒有列混合.每一輪加密得到的結果,稱為狀態(state).

圖1 128位AES算法加密流程框圖Fig.1 Flow diagram of 128-bit AES encryption algorithm

1.2 RC6加密算法

RC6加密算法是1998年作為AES標準的候選算法提交給NIST的一種分組密碼[12].RC6的加密輪數、塊大小、密鑰大小均可修改,完整定義為RC6-w/r/b,其中w為字長,r為加密輪數,b為密鑰字節長度.對于128位加密算法,定義為RC6-32/20/128,即使用32位加密塊,每塊加密20輪,加密密鑰為128位.

RC6繼承了RC5的循環移位思想,同時將AES的要求結合,使用了4個32位寄存器對128比特的字塊進行加密.由于不需使用S盒,故計算復雜度比AES算法低,速度更快.長度為b的加密密鑰被分為子密鑰并加載到數組S[0,…,2r+3]中.明文存入A,B,C,D四個寄存器中.加密過程的偽代碼如下:

Input(A,B,C,D)

B=B+S[0]D=D+S[1]

fori=1 tordo

t=(B×2B+1)<<

u=(D×2D+1)<<

A=(A+t)<<

C=(C+u)<<

(A,B,C,D)=(B,C,D,A)

A=A+S[2i+2]

C=C+S[2i+3]

Output(A,B,C,D)

其中輸入的A,B,C,D為字長為w的明文段,S為子密鑰,r為加密輪數,輸出的A,B,C,D為加密后數據.

2 加密語法元素選擇

2.1CABAC

CABAC作為H.265編碼標準中的熵編碼方式[13],編碼過程分為3部分:二值化、上下文建模、二進制算術編碼,如圖2所示.

熵編碼器首先將輸入的非二值化的語法元素進行二值化,得到比特流.比特流按照H.265的規則,選擇常規編碼模式或旁路編碼模式進行算數編碼.由于二進制算術編碼本身對錯誤敏感,加密后很可能導致碼流不兼容,故選擇二值化后的比特流進行加密.又由于常規編碼模式下需要進行上下文模型的更新,若對采取常規編碼的語法元素加密,會進一步影響后續編碼,從而影響壓縮性能,故本算法僅對旁路編碼模式的語法元素進行加密.表1為二值化編碼方式的示例[14].

圖2 CABAC編碼框圖Fig.2 CABAC encoding diagram

序號一元碼截斷一元碼cmax=7截斷萊斯碼cmax=7k階指數哥倫布碼k=0定長編碼cmax=7000000000110100101000121101101000110103111011101010010001141111011110110000101100511111011111011010011010161111110111111011100001111107111111101111111111010001000111

H.265使用的二值化方式一共有5種:一元碼、截斷一元碼、截斷萊斯碼、k階指數哥倫布碼和定長編碼.一元碼和截斷一元碼對每個輸入值的編碼長度不同,故不能達到加密前后比特率相同的條件[15].定長編碼長度固定,故只要加密后的值仍在碼表范圍內,就可保證兼容性.k階指數哥倫布碼雖然為變長編碼,二值化后的碼字格式為“前綴+‘1’+后綴”,其中后綴部分長度固定,故也可進行加密,同樣可以保證兼容性和壓縮率不變.綜合以上幾點分析,最終選擇了幀內預測模式、DCT系數符號位和幅值絕對值殘差后綴以及MVD的符號位和絕對值后綴作為加密語法元素.圖3為加密算法的流程圖.

2.2 語法元素加密步驟

因為上下文模型的重置在片內實現,所以本文提出的算法在片的熵編碼階段獨立完成.每個語法元素的具體加密步驟如下.

(1) 量化參數

① 量化參數符號位.由于符號位取值范圍為{0,1},不需要特別進行二值化,故將符號位比特提取出來后寫為字符串,直接用RC6算法進行加密,把符號位用密文替代,進入旁路編碼.

② 量化參數變化量殘差后綴.量化系數絕對值后綴使用0階指數哥倫布編碼進行二值化,故將其后綴比特及長度提取出來,將后綴內容寫為字符串,使用RC6進行加密,加密完畢后按比特長度替換原內容,進入旁路編碼.

(2) MVD

① MVD符號位.與量化系數符號位加密步驟相同.

② MVD幅值絕對值后綴.MVD的幅值絕對值的后綴部分使用1階指數哥倫布編碼進行二值化.對該部分二值化后的碼字后綴進行RC6加密,按比特長度替代后進入旁路編碼.

圖3 H.265選擇性RC6加密算法流程圖Fig.3 RC6 H.265 partial encryption flow diagram

(3) DCT系數

① DCT系數符號位.與DCT系數符號位加密步驟相同.

② DCT幅值絕對值殘差后綴.DCT的幅值絕對值殘差的后綴部分使用0階指數哥倫布編碼進行二值化.對該部分二值化后的碼字后綴進行RC6加密,按比特長度替代后進入旁路編碼.

3 實驗分析

本算法選取了4個不同分辨率和幀率的YUV視頻序列進行驗證,如表2所示.

表2 YUV視頻序列Table 2 YUV video sequences

本文的實驗平臺為Microsoft Visual Studio 2017集成開發環境上運行的HM16.14標準測試模型,編碼檔次為基本(main profile),采用的配置文件為encoder_lowdelay_main.cfg.測試序列的實驗平臺的內存為4.00GB,CPU為Inter(R) Core(TM) i7-6560U CPU@2.20GHz.

本文對4個標準測試序列的加密效果從視覺效果、峰值信噪比(peak signal-to-noise ratio,PSNR)和結構相似性(structural similarity index,SSIM)、直方圖、RC6算法的破解性及加密效率進行分析,驗證算法的兼容性、安全性和實時性.

3.1 視覺效果

四個視頻序列經加密均滿足H.265的視頻編解碼標準,可以由標準解碼器正常解碼播放,滿足了兼容性,其視覺效果如圖4所示.圖4a~圖4d的上排圖像分別為BasketballDrill,Soccer,Foreman,Bus的原始視頻圖像的第10幀,下排圖像為經過加密后標準解碼器播放出來的第10幀圖像.從圖中可以看出,解碼后的視頻內容基本無法辨認,視覺加密效果良好.

3.2 PSNR與SSIM

PSNR是最常用的圖像質量客觀評價標準,PSNR值越小,視頻質量越差,加密算法安全性越好.其公式見式(1).

(1)

其中:I表示原始視頻圖像;I′表示加密后視頻圖像;M,N表示圖像尺寸;I(i,j)表示原始圖像中任意一點,max(I2)表示信號的峰值,取對數,可將PSNR值換算成標準單位(dB).

SSIM是一種基于人眼視覺特性(human visual system,HVS)的圖像質量客觀評價準則.SSIM提供了一種基于圖像結構失真的方法來評價圖像質量,綜合考慮了亮度、對比度和結構3個因素,簡化后的公式見式(2).

(2)

其中:x,y為原始視頻圖像和待測視頻圖像的子圖像;C1,C2為常數;μ和σ分別表示均值和方差.SSIM系數通常可以表征兩幅圖像的主觀視覺相似度,取值范圍是[-1,1],相似度越高的兩幅圖像的系數越接近于1,否則其值越小.

表3為4個測試序列加密前后的PSNR均值和SSIM均值,從中可以看出,加密后的PSNR均值在10 dB左右,SSIM均值在0.3左右,加密效果良好.

圖4 測試序列加密前后第10幀圖像Fig.4 Frame #10 of test sequences before and after encryption(a)—BasketballDrill; (b) Soccer; (c)—Foreman; (d)—Bus.

表3 測試序列加密前后PSNR均值與SSIM均值

3.3 直方圖

視頻幀直方圖是視頻幀內像素在每個顏色強度級別上的分布的圖形表示.原始視頻幀的灰度直方圖和加密視頻幀的灰度直方圖是不同的[16].圖5為Bus原始與加密視頻序列第10幀的RGB分量的灰度直方圖,左側為原始序列,右側為加密序列.從圖5可以看出,RGB分量的直方圖均存在很大差異,說明加密效果良好.

3.4 破解性分析

RC6算法作為AES候選算法的一種,它的密鑰為128位,密鑰空間為2128,這就保證了在現有技術下,RC6不會被暴力攻擊破解.而本文算法還可以對語法元素空間進行窮舉,各符號位的窮舉空間為2,量化參數變化量絕對值殘差窮舉空間為2k+1,MVD幅值絕對值殘差窮舉空間為2l+1,其中k為量化參數變化量后綴的長度,l為MVD殘差后綴的長度,此處未考慮DCT的符號位和量化參數的符號位以便計算.對于一個W×H分辨率的視頻,假設有m個幀內編碼單元和n個幀間編碼單元(PU尺寸為32×32),則一幀圖像的窮舉空間的計算公式為

其中k,l,m,n均大于0,故S的取值范圍應大于2WH/1024,對于一個352×288的視頻序列,它的每一幀的窮舉空間S≥299,也很難通過窮舉將加密語法元素破解.

3.5 加密效率

表3為4個視頻序列每一幀的原始編碼時間和使用本算法后的加密編碼時間,并計算得出了加密時間與編碼時間的比值(encryption compression time ratio, ECTR).從中可以看出,視頻序列的分辨率越高,加密數據量越大,時間越長,而且由于HM16.14作為一個非商用的參考軟件,本身的編碼速度就不高,所以加密編碼時間長.但算法的ECTR在2%~3%,說明加密時間占比很低,基本滿足了實時性的要求.

表3 測試序列每幀原始耗時、加密耗時與ECTR

圖5 Bus第10幀加密前后RGB直方圖Fig.5 The RGB histogram of the tenth frame of the Bus video before and after encryption(a)—Bus第10幀R分量直方圖; (b)—Bus 第10幀G分量直方圖; (c)—Bus 第10幀B分量直方圖.

4 結 論

本文提出一種基于H.265編碼的高效選擇性加密算法,該算法在編碼流程的熵編碼片內實現,通過RC6算法加密量化變換系數的符號位和幅值絕對值后綴、MVD的符號位與幅值絕對值殘差以及DCT系數的符號位和幅值絕對值殘差后綴,在保證了碼流兼容性的前提下,實現了壓縮率不變且近實時的效果.通過對4個分辨率不同YUV測試序列進行加密實驗,證明算法加密的效果良好,加密視頻序列的PSNR值與SSIM值下降明顯,加密后的PSNR值在10左右,SSIM值在0.3左右,直方圖差異明顯,RC6算法的安全性可靠,且計算復雜度較低,加密速度快,進一步滿足了視頻加密的實時性需求.

猜你喜歡
符號
幸運符號
符號神通廣大
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
靈魂的符號
散文詩(2017年17期)2018-01-31 02:34:20
怎樣填運算符號
變符號
倍圖的全符號點控制數
圖的有效符號邊控制數
草繩和奇怪的符號
主站蜘蛛池模板: 日本成人不卡视频| 午夜人性色福利无码视频在线观看| 97影院午夜在线观看视频| 性做久久久久久久免费看| 91精品啪在线观看国产91| 91成人在线免费观看| 国产福利小视频高清在线观看| 老司机午夜精品视频你懂的| 中字无码av在线电影| 久久香蕉国产线看观看式| 国产91色在线| 人妻中文久热无码丝袜| 狠狠色综合网| 国产美女一级毛片| 日韩国产综合精选| 日韩午夜片| 青青草原国产免费av观看| 欧美a√在线| 无码aⅴ精品一区二区三区| 国产精品无码影视久久久久久久| 一级高清毛片免费a级高清毛片| 国产黑丝一区| 亚洲无码不卡网| 在线精品自拍| 国语少妇高潮| 18禁影院亚洲专区| 国产黑丝一区| 成人福利在线免费观看| 国产三区二区| 国产香蕉在线| 老司机精品一区在线视频| 久久国产高清视频| 一区二区三区毛片无码| 五月天久久综合国产一区二区| 香蕉久人久人青草青草| 国产成人精彩在线视频50| 波多野结衣一级毛片| 亚洲首页国产精品丝袜| 国产国模一区二区三区四区| 亚洲久悠悠色悠在线播放| 亚洲精品动漫| 一级全免费视频播放| 极品性荡少妇一区二区色欲| 日本午夜三级| 国产永久在线视频| 亚洲色图在线观看| 亚洲高清中文字幕| 亚洲swag精品自拍一区| jizz在线观看| 亚洲电影天堂在线国语对白| 亚洲欧洲日韩综合色天使| 尤物成AV人片在线观看| 999精品视频在线| 伊人久热这里只有精品视频99| 亚洲AV永久无码精品古装片| 美女内射视频WWW网站午夜 | 亚洲三级成人| 色综合久久综合网| 亚洲国产成熟视频在线多多| 免费无遮挡AV| 亚洲手机在线| 2021国产在线视频| 欧美啪啪网| 四虎永久免费地址| 久久综合九色综合97婷婷| 欧洲av毛片| 亚洲人成网18禁| 全免费a级毛片免费看不卡| 亚洲水蜜桃久久综合网站| 免费一极毛片| 91视频精品| 久久精品国产在热久久2019| 中文字幕欧美成人免费| 91极品美女高潮叫床在线观看| 91在线激情在线观看| 国产成在线观看免费视频| 亚洲久悠悠色悠在线播放| 国产精品手机视频一区二区| 9cao视频精品| 无码专区国产精品第一页| 久久这里只精品热免费99| 大陆国产精品视频|