高清視頻加密抽取算法

為了解決正版高清視頻節(jié)目的網(wǎng)絡(luò)授權(quán)問題,對(duì)高清視頻文件的網(wǎng)絡(luò)傳輸實(shí)現(xiàn)常規(guī)加密設(shè)計(jì),并提出一種以網(wǎng)絡(luò)為信息加密密文載體,以密鑰和部分視頻內(nèi)容為服務(wù)器管理對(duì)象的新型視頻加密保護(hù)技術(shù)。針對(duì)目前廣泛使用的H.264高清視頻編碼格式,通過分析編碼層數(shù)據(jù),設(shè)計(jì)了一種視頻關(guān)鍵幀的抽取算法,經(jīng)實(shí)驗(yàn)驗(yàn)證,算法可有效提高高清視頻的加密保護(hù)。

一、網(wǎng)絡(luò)認(rèn)證系統(tǒng)總體框架

網(wǎng)絡(luò)認(rèn)證系統(tǒng)主要分為抽取模塊和后期處理模塊2個(gè)部分。抽取模塊的主要功能是采用文件內(nèi)容抽取算法對(duì)視頻數(shù)據(jù)進(jìn)行抽取,產(chǎn)生主文件和抽取數(shù)據(jù)。然后再由后期處理模塊對(duì)其產(chǎn)生的主文件進(jìn)行加密,并將抽取數(shù)據(jù)存放到遠(yuǎn)程服務(wù)器上。最后將加密產(chǎn)生的主文件和相關(guān)配置文件進(jìn)行壓制,最終制作成可供免費(fèi)下載的高清視頻文件。

版權(quán)保護(hù)模塊中有效地利用互聯(lián)網(wǎng)的高速傳輸能力為用戶提供主文件的免費(fèi)下載,而且用戶下載的信息為抽取數(shù)據(jù)的密文,密鑰和抽取數(shù)據(jù)存放在版權(quán)服務(wù)器數(shù)據(jù)庫(kù)中,以網(wǎng)絡(luò)為物理載體。這樣運(yùn)用網(wǎng)絡(luò)將數(shù)據(jù)的主體與抽取部分在空間上實(shí)行分離,以增加視頻被破譯的難度,安全度比較高,提供可靠的安全性,能很好地適應(yīng)現(xiàn)行視頻網(wǎng)絡(luò)點(diǎn)播模式。網(wǎng)絡(luò)認(rèn)證系統(tǒng)示意圖如圖1所示。

二、抽取算法的設(shè)計(jì)

視頻數(shù)據(jù)抽取算法的核心目標(biāo)是在抽取數(shù)據(jù)盡量少的情況下,對(duì)原始文件的破壞性比較大,影響文件的正常播放。利用H.264編碼后音視頻文件的特性數(shù)據(jù)進(jìn)行分析,進(jìn)而設(shè)計(jì)抽取算法。

1、H.264編碼分析

在H.264壓縮視頻流的足由一個(gè)一個(gè)的序列組成的,每個(gè)序列有一系列的I圖像、P圖像和B圖像組成??梢圆捎脦瑑?nèi)編碼和幀間編碼,其中H.264的幀間編碼能夠使用已經(jīng)編碼的幀作為參考值,參考幀的數(shù)目最多可達(dá)32個(gè)。幀間編碼結(jié)構(gòu)如圖2所示。

H.264每個(gè)序列開始都有一個(gè)參考圖像,IDR圖像也叫立即刷新圖像,其他的圖像為非IDR圖像。每當(dāng)解碼器遇到IDR圖像時(shí),即知道這為一個(gè)新的序列,需要馬上將舊參考隊(duì)列清空,并將解碼后的數(shù)據(jù)拋棄或輸出,然后開啟一個(gè)新的序列。如果將IDR圖像抽墩出來(lái),填入隨機(jī)值來(lái)實(shí)現(xiàn)編碼層的版權(quán)保護(hù),由于IDR圖像數(shù)據(jù)量所占比例比較大,一般為襤個(gè)視頻大小的1O%一15%,目前高清節(jié)目碼率大小一般可以達(dá)到20Mbps,如果抽取所有IDR圖像蹬于服務(wù)器上,實(shí)現(xiàn)邊下載邊播放,至少需要帶寬為2—3 Mbps,一方面給現(xiàn)有家庭的網(wǎng)絡(luò)帶來(lái)很大壓力,另一方面抽取的數(shù)據(jù)量達(dá)到1200 ~1800 MB之多,播放器終端進(jìn)行數(shù)據(jù)還原的復(fù)雜度也比較大,耗時(shí)比較長(zhǎng),而且隨著高消視頻碼率的提高,問題會(huì)變得更加嚴(yán)重。因此,結(jié)合現(xiàn)有家庭帶寬的實(shí)際情況和播放器還原問題,需要設(shè)計(jì)算法,在抽取更少數(shù)據(jù)量的前提下,達(dá)到更好的抽取效果。

H.264碼流數(shù)據(jù)圖如圖3所示。分析H.264碼流序列時(shí)圖,在每個(gè)序列中,不僅有開始的IDR圖像,而且有大量的P圖像和B圖像,它們均包含序列參數(shù)集、圖像參數(shù)集、基本圖像和冗余信息等數(shù)據(jù)單元。

使用工具查看H.264視頻流發(fā)現(xiàn),IDR圖像數(shù)據(jù)量比較大,而非IDR圖像數(shù)據(jù)量一般比較小,如圖4所示,白色條帶為IDR圖像,其大小為42014,黑色條帶為非IDR圖像,選取其中一條P圖像,其大小為138940非IDR圖像的數(shù)量比例比較大,而數(shù)據(jù)量比IDR圖像小得多,而且數(shù)據(jù)信息的重要性比較強(qiáng),一旦缺失便無(wú)法正確的解碼,因此可以考慮抽取非IDR圖像中為抽取算法的基礎(chǔ)。

2、抽取算法規(guī)則

抽取非IDR圖像為基礎(chǔ),具體抽取其中的哪些數(shù)據(jù),還需要進(jìn)一步分析,如果將非IDR圖像全部抽取,數(shù)據(jù)量依然很大,不滿足實(shí)際需求,因此還需要考慮3個(gè)問題:總抽取的數(shù)據(jù)量的大小、抽取哪些非IDR圖像和抽取非IDR圖像中的哪些數(shù)據(jù)。鑒于此,設(shè)計(jì)的抽取算法主要抽取非IDR圖像中針對(duì)上面提出的3個(gè)問題,并且為了確保抽取后破壞效果最佳,對(duì)抽取算法設(shè)定以下規(guī)則:

①抽取內(nèi)容應(yīng)該要覆蓋視頻的各個(gè)部分,即整個(gè)視頻的前面部分、中間部分和后面部分都抽取一定數(shù)目的非IDR圖像。

②由于人眼對(duì)視頻的分辨最低為24幀/s,一般視頻為25幀/s,因此可以采取對(duì)每一個(gè)非IDR圖像抽取一次的方式。

③整個(gè)非IDR圖像的數(shù)據(jù)量比較大,如果僅按規(guī)則①和規(guī)則②的方式進(jìn)行抽取,得到的數(shù)據(jù)量會(huì)比抽IDR圖像還多,不夠現(xiàn)實(shí)。由上面的分析可知,當(dāng)高清節(jié)目碼率為20 Mbps,家庭帶寬為2 Mbps時(shí),為了實(shí)現(xiàn)正常播放設(shè)定抽取比例的上限為整個(gè)視頻大小的10%。

④根據(jù)每個(gè)需要抽取的圖像大小占所有要抽取圖像大小的比重不同,對(duì)每幅圖像抽取的大小也不同,比重大的抽取的字節(jié)數(shù)多,比重小的抽取的字節(jié)數(shù)少。

⑤針對(duì)抽取非IDR圖像中的哪些數(shù)據(jù)的問題,由上面的H.264碼流數(shù)據(jù)圖可知,一幅圖像中包含分界符、序列參數(shù)集、圖像參數(shù)集、基本圖像和冗余信息等數(shù)據(jù)單元,如果從每幅圖像的開頭抽取,理論上會(huì)破壞其基本的結(jié)構(gòu),解碼器無(wú)法解碼該圖像。由上面幾條規(guī)則可以計(jì)算出每幅圖像抽取的大小,然后進(jìn)行實(shí)際抽取發(fā)現(xiàn)會(huì)出現(xiàn)以下2種情況:①在播放過程中會(huì)直接跳過該圖像,出現(xiàn)明顯的停頓,但是馬賽克現(xiàn)象不明顯,基本可以正常觀看;②破壞整個(gè)文件的結(jié)構(gòu),無(wú)法播放。這樣效果不穩(wěn)定,為了達(dá)到穩(wěn)定的效果,從其中的基本圖像信息部分開始抽取,一方面由于沒有破壞圖像的結(jié)構(gòu),可以解碼,另一方面基本圖像信息缺失導(dǎo)致無(wú)法正確解碼,視頻觀看效果會(huì)比較差。

基于以上規(guī)則,最終得出設(shè)計(jì)的抽取算法為:采取對(duì)每一個(gè)非IDR圖像抽取一次的方式,抽取其中的基本圖像信息,抽取的總數(shù)據(jù)量可以由用戶指定,其上限為計(jì)算得出的抽取總量上限,而每幅圖像抽取的多少根據(jù)該圖像大小占所有要抽取圖像大小的比重計(jì)算得出,然后根據(jù)計(jì)算的抽取大小對(duì)非IDR圖像進(jìn)行抽取,并將抽取過的部分用隨機(jī)數(shù)進(jìn)行填充。

三、抽取算法的測(cè)試分析

為了進(jìn)一步從理論上分析驗(yàn)證所設(shè)計(jì)算法的有效性,做了以下實(shí)驗(yàn):將設(shè)計(jì)的算法和原有的算法進(jìn)行比較,分別采用2種算法對(duì)同一文件Fls.mp4進(jìn)行抽取,其中抽取的比例相同,均為5%,然后對(duì)比抽取后MP4文件的峰值信噪比(Peak Signal-to-Noise Ratio.PSNR)值。

原有抽取算法為:根據(jù)一定的抽取比例,對(duì)整個(gè)文件進(jìn)行均勻抽取,抽取數(shù)據(jù)塊的大小為2 KB(2*1024+1024),抽取時(shí)不涉及到H.264編碼層結(jié)構(gòu)。

PSNR是最常剛的平面圖像的客觀評(píng)價(jià)方法,通常被用作處理后視頻質(zhì)量的測(cè)量標(biāo)準(zhǔn)。用PSNR值衡量被測(cè)圖像的質(zhì)量是通過計(jì)算被測(cè)圖像偏離原始圖像的誤差來(lái)實(shí)現(xiàn)的。對(duì)于給定的一幅大小為W*H的數(shù)字圖像f(x,y)和抽取后的圖形f(x,y),

式中,(2n-1)2是圖像中最大可能信號(hào)值的平方,n為每一個(gè)像素的比特?cái)?shù),由于圖像RGB色彩模式中每個(gè)像素RGB分量有效值在0—255,因此測(cè)試中取該值為255 *255;MSE為抽取后圖像與原始圖像之間的均方誤差:

首先分別求出R、G、B三色的MSE值,便可以得到MSE的平均值,然后代人式(3),即可求得PSNR值。實(shí)驗(yàn)測(cè)試在PC機(jī)上進(jìn)行,所使用的操作系統(tǒng)為Windows 7。經(jīng)2種算法處理后視頻的PSNR值,以及最后一幀原始圖像和抽取后圖像如圖5和圖6所示。

圖5和圖6中,位于左邊的是原始視頻中的圖形,右邊的為抽取后視頻中的圖形。其中抽取算法處理后視頻的PSNR值為7.846379,均勻抽取算法處理后視頻的PSNR值為10.661 0690PSNR值越小,說明同一個(gè)視頻點(diǎn)抽取后圖像與原始圖像之間的差異越大,抽取后圖像所保留的原始圖像質(zhì)量成分也就越低,得到的圖像質(zhì)量也就越差,抽取達(dá)到的效果就越好,而且算法抽取后視頻的播放效果也更差,因此在客觀上所設(shè)計(jì)的算法更優(yōu)。

小知識(shí)之H.264

H.264是國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電信聯(lián)盟(ITU)共同提出的繼MPEG4之后的新一代數(shù)字視頻壓縮格式。H.264是ITU-T以H.26x系列為名稱命名的視頻編解碼技術(shù)標(biāo)準(zhǔn)之一。H.264是ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(活動(dòng)圖像編碼專家組)的聯(lián)合視頻組(JVT:joint video team)開發(fā)的一個(gè)數(shù)字視頻編碼標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)最早來(lái)自于ITU-T的稱之為H.26L的項(xiàng)目的開發(fā)。H.26L這個(gè)名稱雖然不太常見,但是一直被使用著。H.264是ITU-T以H.26x系列為名稱命名的標(biāo)準(zhǔn)之一,AVC是ISO/IEC MPEG一方的稱呼。