本發(fā)明屬于多媒體信息安全技術(shù)領(lǐng)域,更為具體地講,涉及一種基于h264/svc(scalablevideocoding,即可伸縮視頻編碼)視頻流的可伸縮認證方法。
背景技術(shù):
視頻流認證方法是多媒體信息安全領(lǐng)域中一個重要的研究熱點,其目的在于保證視頻流在發(fā)送方與接收方之間安全地傳輸。通常視頻流認證過程需要發(fā)送方在所要發(fā)送的視頻中加入認證信息,并且將認證信息與視頻內(nèi)容同時傳輸至接收方;接收方對獲得的視頻內(nèi)容,采用接收的認證信息進行完整性驗證。視頻流認證方法特點在于接收方能夠在重構(gòu)視頻內(nèi)容之前,實現(xiàn)對獲得的視頻數(shù)據(jù)包進行安全驗證,從而保證恢復(fù)出的視頻內(nèi)容具有認證性即視頻內(nèi)容的完整性。
現(xiàn)有的視頻流認證方法,根據(jù)認證過程中視頻流的數(shù)據(jù)包哈希附著方式與解碼關(guān)系之間聯(lián)系,分為基于解碼無關(guān)的視頻流認證方法和基于解碼相關(guān)的視頻流認證方法。
基于解碼無關(guān)的視頻流認證方法,通常將視頻流中的數(shù)據(jù)包視為相互獨立的單元,不考慮數(shù)據(jù)包解碼之間的依賴關(guān)系,如基于鏈式、樹型、蝴蝶型的流認證方法。此類認證方法由于不考慮視頻解碼過程,在網(wǎng)絡(luò)丟包情況下認證效率較差,如接收方獲得的視頻數(shù)據(jù)包的認證比例較低,恢復(fù)的視頻質(zhì)量較差,并且認證負載過大,認證導(dǎo)致的延遲較大。
而基于解碼相關(guān)的視頻流認證方法,在構(gòu)造哈希值附著方式時,考慮視頻流數(shù)據(jù)包之間的解碼次序,提高了認證方法在網(wǎng)絡(luò)丟包情況下的認證效率。如文獻[shintaroueda.h264/avcstreamauthenticationatthenetworkabstractionlayer[c].proceedingsofthe2007ieeeworkshoponinformationassurance,newyork,2007,ieee:302-308]提出一種基于h264/avc的抽象層nal流認證方法,根據(jù)流中的序列參數(shù)集、圖像參數(shù)集和圖像片數(shù)據(jù)包之間的解碼依賴關(guān)系進行哈希附著。對于h264/svc視頻流的認證,文獻[kianooshmokhtarian.authenticationofscalablevideostreamswithlowcommunicationoverhead[j].ieeetransactionsonmultimedia,2010,12(7):730-742]提出具有較低通信負載的認證方法,將svc流中g(shù)op的時域、空域的高層數(shù)據(jù)單元的哈希序列,經(jīng)過fec編碼后分別附著到較低一層相應(yīng)的數(shù)據(jù)單元之上,而在質(zhì)量層,采用最小化認證負載方法,尋找對質(zhì)量層數(shù)據(jù)單元的分組認證方法;文獻[yifanzhao.techniqueforauthenticatingh264/svcanditsperformanceevaluationoverwirelessmobilenetworks[j].journalofcomputerandsystemsciences,2014,80(2014):520-532]提出對h264/svc流中g(shù)op的質(zhì)量層、空域?qū)痈邔訑?shù)據(jù)單元的哈希直接附著在較低一層數(shù)據(jù)單元上,而對于時域?qū)?,單個時域?qū)觾?nèi)將所有該層內(nèi)au(accessunit)即訪問單元哈希值進行ecc編碼后,分別附著在該層每個au上,再將所有時域?qū)拥墓?gòu)成序列進行簽名。
雖然在h264/svc視頻流的認證方面,現(xiàn)有基于解碼相關(guān)的視頻流認證方法能夠提供一定的可伸縮認證,即提取后的子流仍然能夠?qū)崿F(xiàn)認證性。但由于現(xiàn)有方法在處理h264/svc的時域、空域高層數(shù)據(jù)單元哈希附著方法時,均將其直接附著在較低一層的所有數(shù)據(jù)單元,這樣,在認證負載上消耗較多,且若較低一層某些數(shù)據(jù)單元若被丟棄,較高層的數(shù)據(jù)單元將無法實現(xiàn)完整性驗證,h264/svc流中數(shù)據(jù)單元的解碼依賴關(guān)系沒有被充分利用;其次,h264/svc質(zhì)量層數(shù)據(jù)mgs中的較低層存放幀圖像變換系數(shù)的直流和低頻分量,較高層存放高頻分量,因而較低層中數(shù)據(jù)對于接收方視頻恢復(fù)質(zhì)量影響較大,需要采用較小的分組長度進行認證,以提高對網(wǎng)絡(luò)丟包的抵抗性,而現(xiàn)有方法沒有考慮不同質(zhì)量層分組數(shù)據(jù)對接收方視頻恢復(fù)質(zhì)量的影響,因此認證效率有待提高。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有h264/svc視頻流認證技術(shù)的不足,提出一種基于h264/svc視頻流的可伸縮認證方法,對gop(groupofpictures,即圖像組)中的時域?qū)印⒖沼驅(qū)訑?shù)據(jù)單元建立基于解碼依賴關(guān)系圖拓撲排序的哈希附著方式,同時,對于質(zhì)量層,提供不均等保護約束的最優(yōu)分組,以提高視頻流在認證比、認證負載帶寬消耗、延遲時間、恢復(fù)視頻質(zhì)量方面的認證效率。
為實現(xiàn)上述發(fā)明目的,本發(fā)明基于h264/svc視頻流的可伸縮認證方法,其特征在于,包括以下步驟:
(1)、建立時域?qū)?、空域?qū)咏獯a關(guān)系圖并進行拓撲排序
1.1)、根據(jù)h264/svc視頻流的編碼規(guī)則,建立gop(groupofpicturs)中時域?qū)拥慕獯a關(guān)系圖:
定義時域?qū)拥慕獯a關(guān)系圖為一個有向圖g(v,e),其中頂點集合v表示時域?qū)觓u(accessunit,即訪問單元)集合即一個訪問單元為一個頂點,邊集合e表示時域?qū)觓u之間的解碼依賴關(guān)系;頂點集合v中的頂點{v1,v2,…,vn}的序號即下標與訪問單元的解碼次序一致;采用有向邊vi→vj表示頂點vj解碼依賴于頂點vi,即只有當頂點vi正確接收后,頂點vj才能實現(xiàn)解碼用于恢復(fù)視頻幀圖像;
采用鄰接表存儲時域?qū)拥慕獯a關(guān)系圖:定義鄰接表為l,將頂點集合v中的每一個頂點表示為一個表頭結(jié)點,表頭結(jié)點中{outdegree,*edgefirst}分別表示該頂點的出度值和鏈接邊域,表結(jié)點{vertexid,*next}為所有指向該頂點邊對應(yīng)的頂點序號和指針域,即表結(jié)點是該頂點解碼所依賴的頂點,并且所有指向該頂點邊對應(yīng)的頂點的序號即表結(jié)點序號構(gòu)成一個鏈表;
1.2)、根據(jù)鄰接表l中元素取值,對時域?qū)拥慕獯a關(guān)系圖中頂點進行拓撲排序,以獲取相應(yīng)的認證哈希值附著方式:
1.2.1)、定義拓撲排序輸出序列為sort,定義存放表結(jié)點序號的集合為p,sort與p初始值均為空;
通過遍歷鄰接表表頭結(jié)點,將所有出度值為0的表頭結(jié)點對應(yīng)的頂點序號入棧;
1.2.2)、拓撲排序:若棧為空,則輸出sort;否則從當前棧出棧一個頂點序號,并賦值到i;
1.2.3)、將鄰接表中第i個表頭節(jié)點l[i]的鏈表中所有的表結(jié)點中的頂點序號(即鏈接邊域*edgefirst所指向的鏈表中的表結(jié)點中的頂點序號vertexid)存放于集合q,若集合q為空,執(zhí)行1.2.4);否則從集合q中選擇最大值,將其賦值到j(luò)中;
將哈希值附著關(guān)系添加至sort中,即sort=sort||i<j,關(guān)系i<j表示頂點vi的哈希值應(yīng)附著在頂點vj之后;
對集合q中,將所有表結(jié)點序號對應(yīng)表頭節(jié)點的出度值減1,若某一表結(jié)點序號q,其對應(yīng)表頭節(jié)點的出度值l[q].outdegree減1等于0,則將表結(jié)點序號q入棧,最后置集合q為空,返回到步驟1.2.2);
1.2.4)、執(zhí)行sort=sort||i,即所處理的是最后一個頂點,將對其直接進行哈希并簽名;
對于空域?qū)拥慕獯a關(guān)系圖的建立與拓撲排序,除頂點集合v為不同分辨率視頻幀的集合外,其他過程與時域?qū)拥慕獯a關(guān)系圖相同;
(2)、對質(zhì)量層數(shù)據(jù)單元進行不均等保護約束的最優(yōu)分組認證
在對質(zhì)量層mgs(mediumgrainscalability,中等粒度可伸縮)數(shù)據(jù)分組優(yōu)化采用迭代過程進行求解時,迭代過程采用代價函數(shù)為:
其中,cost(i,n)表示對長度為n的質(zhì)量層mgs數(shù)據(jù)進行i個分組時所帶來的代價,cost(i-1,n-xk)表示對去除掉第k個分組的質(zhì)量層mgs數(shù)據(jù)進行i-1個分組時所帶來的代價;
其中,
其中,s表示認證單個分組所需要的哈希大小;xk表示第k個分組的長度;參數(shù)b表示傳輸質(zhì)量層mgs數(shù)據(jù)一個字節(jié)所需要的帶寬消耗,其計算公式為:
b=size/d(f)
d(f)表示傳輸時域?qū)觓u所需的時間,取值為視頻編碼的幀率的倒數(shù);size表示1個字節(jié)的大小,p(x)表示網(wǎng)絡(luò)信道帶寬分布概率密度函數(shù);參數(shù)bi-1表示為前i-1個質(zhì)量層mgs數(shù)據(jù)分組所需要的帶寬,即:
其中,xt表示第t個分組的長度;
(3)、對h264/svc進行邏輯單元哈希附著
對步驟(1)獲得的gop中時域?qū)印⒖沼驅(qū)油負渑判蚣垂UJ證附著方式,以及步驟(2)獲得的質(zhì)量層mgs數(shù)據(jù)分組大小集合,首先對gop中的質(zhì)量層的分組數(shù)據(jù)進行認證,再對空域?qū)訑?shù)據(jù)進行認證,最后對時域?qū)訑?shù)據(jù)進行認證,并且對時域?qū)又械幕A(chǔ)層哈希進行簽名;簽名數(shù)據(jù)包、認證信息數(shù)據(jù)包根據(jù)質(zhì)量層、時域?qū)?、空域?qū)泳幪柗謩e添加至h264/svc視頻流的相應(yīng)位置中;
接收方對獲得的h264/svc視頻流或子流,首先從簽名數(shù)據(jù)包獲得合并簽名gop所有的哈希;對于單個gop,按照已獲得的哈希對后續(xù)的時域?qū)?、空域?qū)雍唾|(zhì)量層數(shù)據(jù)進行完整性驗證,其過程與認證信息添加過程相反;若認證信息的哈希值與計算數(shù)據(jù)單元得到的哈希值相等,則采用該數(shù)據(jù)單元進行解碼,否則丟棄該數(shù)據(jù)單元。
本發(fā)明的目的是這樣實現(xiàn)的。
本發(fā)明基于h264/svc視頻流的可伸縮認證方法,通過建立時域?qū)?、空域?qū)咏獯a關(guān)系圖,然后采用鄰接表進行存儲,并利用鄰接表進行拓撲排序,這樣重復(fù)利用視頻邏輯單元(訪問單元、不同分辨率的幀)之間的解碼依賴關(guān)系,能夠?qū)⒁曨l流中邏輯單元的認證關(guān)系與解碼依賴關(guān)系充分耦合起來,提高了認證的效率。同時,對于在h264/svc視頻流的質(zhì)量層,采用不均等保護約束的最優(yōu)分組認證,獲得具有最小化代價函數(shù)值的分組方案,在提高視頻流的質(zhì)量層可伸縮性認證的同時,認證方法具有最小的通信負載。
附圖說明
圖1是本發(fā)明基于h264/svc視頻流的可伸縮認證方法一種具體實施方式流程圖;
圖2是接收方用戶信道帶寬分布情況;
圖3是視頻流發(fā)送方延遲時間比較結(jié)果;
圖4是視頻流認證負載帶寬消耗比較結(jié)果;
圖5是視頻流認證比與丟包率關(guān)系比較結(jié)果;
圖6是視頻流psnr與丟包率關(guān)系比較結(jié)果。
具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施方式進行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當已知功能和設(shè)計的詳細描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。
本發(fā)明的目的在于針對現(xiàn)有h264/svc視頻流認證技術(shù)的不足,提供一種可伸縮視頻流認證方法:對gop(groupofpictures即圖片組)中的時域?qū)印⒖沼驅(qū)訑?shù)據(jù)單元(時域?qū)訛樵L問單元,空域?qū)訛椴煌直媛实囊曨l幀)建立基于解碼依賴關(guān)系圖拓撲排序的哈希附著方式;對于質(zhì)量層數(shù)據(jù)單元,提供不均等保護約束的最優(yōu)分組認證方法,以提高視頻流在認證比、認證負載帶寬消耗、延遲時間、恢復(fù)視頻質(zhì)量方面的認證效率。
圖1是本發(fā)明基于h264/svc視頻流的可伸縮認證方法一種具體實施方式流程圖。
在本實施例中,如圖1所示,本發(fā)明基于h264/svc視頻流的可伸縮認證方法包括以下步驟:
步驟s1:建立時域?qū)?、空域?qū)咏獯a關(guān)系圖并進行拓撲排序
步驟s1.1:根據(jù)h264/svc視頻流的編碼規(guī)則,建立gop(groupofpicturs)中時域?qū)拥慕獯a關(guān)系圖:
首先,定義時域?qū)拥慕獯a關(guān)系圖為一個有向圖g(v,e),其中頂點集合v表示時域?qū)觓u(accessunit,即訪問單元)集合即一個訪問單元為一個頂點,邊集合e表示時域?qū)觓u之間的解碼依賴關(guān)系;頂點集合v中的頂點{v1,v2,…,vn}的序號即下標與訪問單元的解碼次序一致;采用有向邊vi→vj表示頂點vj解碼依賴于頂點vi,即只有當頂點vi正確接收后,頂點vj才能實現(xiàn)解碼用于恢復(fù)視頻幀圖像;
然后,采用鄰接表存儲時域?qū)拥慕獯a關(guān)系圖:定義鄰接表為l,將頂點集合v中的每一個頂點表示為一個表頭結(jié)點,表頭結(jié)點中{outdegree,*edgefirst}分別表示該頂點的出度值(outdegree)和鏈接邊域(*edgefirst),表結(jié)點{vertexid,*next}分別為所有指向該頂點(表頭結(jié)點對應(yīng)的頂點)邊對應(yīng)的頂點序號(vertexid)和指針域(*next),即表結(jié)點是該頂點解碼所依賴的頂點,并且所有指向該頂點邊對應(yīng)的頂點的序號即表結(jié)點序號構(gòu)成一個鏈表(其中,鏈表的第一個表結(jié)點由*edgefirst所指向,其余表結(jié)點分別由前一個表結(jié)點的*next所指向);
步驟s1.2:根據(jù)鄰接表l中元素取值,對時域?qū)拥慕獯a關(guān)系圖中頂點進行拓撲排序,以獲取相應(yīng)的認證哈希值附著方式:
步驟s1.2.1):定義拓撲排序輸出序列為sort,定義存放表結(jié)點序號的集合為p,sort與p初始值均為空;
通過遍歷鄰接表表頭結(jié)點,將所有出度值為0的表頭結(jié)點對應(yīng)的頂點序號入棧;為提高算法處理效率,本發(fā)明采用棧數(shù)據(jù)結(jié)構(gòu)存放當前所有出度值為0的頂點序列需要,用于認證時使用。
步驟s1.2.2):拓撲排序:若棧為空,則輸出sort;否則從當前棧出棧一個頂點序號,并賦值到i;
步驟s1.2.3):將鄰接表中第i個表頭節(jié)點l[i]的鏈表中所有的表結(jié)點中的頂點序號(即鏈接邊域*edgefirst所指向的鏈表中的表結(jié)點中的頂點序號vertexid)存放于集合q,若集合q為空,執(zhí)行步驟s1.2.4);否則從集合q中選擇最大值,將其賦值到j(luò)中;
將哈希值附著關(guān)系添加至sort中,即sort=sort||i<j,關(guān)系i<j表示頂點vi的哈希值應(yīng)附著在頂點vj之后;
對集合q中,將所有表結(jié)點序號對應(yīng)表頭節(jié)點的出度值減1,若某一表結(jié)點序號q,其對應(yīng)表頭節(jié)點的出度值l[q].outdegree減1等于0,則將表結(jié)點序號q入棧,最后置集合q為空,返回到步驟s1.2.2);
步驟s1.2.4:執(zhí)行sort=sort||i,即所處理的是最后一個頂點,將對其直接進行哈希并簽名;
對于空域?qū)拥慕獯a關(guān)系圖的建立與拓撲排序,除頂點集合v為不同分辨率幀的集合外,其他過程與時域?qū)拥慕獯a關(guān)系圖相同。
步驟s2:對質(zhì)量層數(shù)據(jù)單元進行不均等保護約束的最優(yōu)分組認證
在本發(fā)明中,對于h264/svc視頻流中質(zhì)量層,采用分組認證方法以降低由于添加認證哈希值而引入的通信負載:考慮到不同質(zhì)量層數(shù)據(jù)對于接收方恢復(fù)視頻質(zhì)量的影響,提供不均等的保護約束策略,即構(gòu)建目標優(yōu)化函數(shù)時,對于不同影響性的mgs數(shù)據(jù)的分組,將其認證長度作為一個目標優(yōu)化項,以提高分組認證的有效性。
在本發(fā)明中,質(zhì)量層mgs(mediumgrainscalability,中等粒度可伸縮)分組認證時,所使用的代價函數(shù)cost為:
其中,參數(shù)i表示分組數(shù)目,s表示認證單個分組所需要的哈希大小,xk表示第k個分組的長度,l為分組長度值,參數(shù)b表示傳輸mgs數(shù)據(jù)分組一個字節(jié)所需要的帶寬消耗,其計算公式為:
b=size/d(f)
d(f)表示傳輸au所需的時間,取值為視頻編碼的幀率的倒數(shù);size表示1個字節(jié)的大小,p(x)表示網(wǎng)絡(luò)信道帶寬分布概率密度函數(shù);參數(shù)bk-1表示為前k-1個質(zhì)量層mgs分組數(shù)據(jù)所需要的帶寬,即
cost函數(shù)的第三項即:
表示對不同重要性mgs數(shù)據(jù)分組長度的限制,即若所該分組位于較低層次mgs分組數(shù)據(jù)部分,則相應(yīng)的分組長度應(yīng)該較小,反之若對于較高層次mgs數(shù)據(jù),分組長度可以較大,這是本發(fā)明創(chuàng)新所在,即采用不均等保護約束的最優(yōu)分組認證,獲得具有最小化代價函數(shù)值的分組,在提高視頻流的質(zhì)量層可伸縮性認證的同時,具有最小的通信負載。
通過尋找合適的分組數(shù)目i,以及每組大小集合{x1,x2,...,xi},獲取代價函數(shù)的極小值,則基于質(zhì)量層的認證負載最優(yōu)問題為:
mincost
其中n為質(zhì)量層mgs分組數(shù)據(jù)總的長度;
具體而言,在本發(fā)明中,在對質(zhì)量層mgs(mediumgrainscalable,中等粒度可伸縮)數(shù)據(jù)分組優(yōu)化采用迭代過程進行求解時,迭代過程采用代價函數(shù)為:
其中,cost(i,n)表示對長度為n的質(zhì)量層mgs數(shù)據(jù)進行i個分組時所帶來的代價,cost(i-1,n-xk)表示對去除掉第k個分組的質(zhì)量層mgs數(shù)據(jù)進行i-1個分組時所帶來的代價;
其中,
其中,s表示認證單個分組所需要的哈希大??;xk表示第k個分組的長度;參數(shù)b表示傳輸質(zhì)量層mgs數(shù)據(jù)一個字節(jié)所需要的帶寬消耗,其計算公式為:
b=size/d(f)
d(f)表示傳輸時域?qū)觓u所需的時間,取值為視頻編碼的幀率的倒數(shù);size表示1個字節(jié)的大小,p(x)表示網(wǎng)絡(luò)信道帶寬分布概率密度函數(shù);參數(shù)bi-1表示為前i-1個質(zhì)量層mgs數(shù)據(jù)分組所需要的帶寬,即:
其中,xt表示第t個分組的長度。
步驟s3:對h264/svc進行邏輯單元哈希附著
對步驟s1獲得的gop中時域?qū)?、空域?qū)油負渑判蚣垂UJ證附著方式,以及步驟s2獲得的質(zhì)量層的mgs數(shù)據(jù)分組大小集合,首先對gop中的質(zhì)量層的分組數(shù)據(jù)進行認證,再對空域?qū)訑?shù)據(jù)進行認證,最后對時域?qū)訑?shù)據(jù)進行認證,并且對時域?qū)又械幕A(chǔ)層哈希進行簽名;簽名數(shù)據(jù)包、認證信息數(shù)據(jù)包根據(jù)質(zhì)量層、時域?qū)?、空域?qū)泳幪柗謩e添加至h264/svc視頻流的相應(yīng)位置中;
接收方對獲得的h264/svc視頻流或子流,首先從簽名數(shù)據(jù)包獲得合并簽名gop所有的哈希;對于單個gop,按照已獲得的哈希對后續(xù)的時域?qū)?、空域?qū)雍唾|(zhì)量層數(shù)據(jù)進行完整性驗證,其過程與認證信息添加過程相反;若認證信息的哈希值與計算數(shù)據(jù)單元得到的哈希值相等,則采用該數(shù)據(jù)單元進行解碼,否則丟棄該數(shù)據(jù)單元。
本步驟屬于現(xiàn)有技術(shù),在此不再贅述。
為了說明本發(fā)明的有益效果,下面設(shè)計了一組對比仿真實驗,用于比較本發(fā)明發(fā)明提供的h264/svc視頻流可伸縮認證方法與其它兩種類似方法的認證性能,其它兩種方法分別是文獻[kianooshmokhtarian.authenticationofscalablevideostreamswithlowcommunicationoverhead[j].ieeetransactionsonmultimedia,2010,12(7):730-742]提出的fec方法和文獻[yifanzhao.techniqueforauthenticatingh264/svcanditsperformanceevaluationoverwirelessmobilenetworks[j].journalofcomputerandsystemsciences,2014,80(2014):520-532]提出的eec方法。
實驗仿真平臺基于開源代碼jsvm9.19,從jvt測試視頻集中選取了三個不同內(nèi)容、且編碼后碼率變化較大的視頻作為本實驗測試使用,視頻名分別為:“bus”、“city”和“mobile”;采用jsvm對這些視頻進行h264/svc編碼,編碼時幀率為15;選取gop中幀數(shù)目為8;空域?qū)訑?shù)目為2,分別為cif(352×288)與qcif(176×144)的解析度,其中cif表示層對應(yīng)各個視頻的碼率分別為1.11mbps、2.05mbps和3.05mbps,qcif表示層對應(yīng)的碼率分別為0.28mbps、0.58mbps和0.78mbps;質(zhì)量層數(shù)目為4,即每個空域?qū)又匈|(zhì)量層的基礎(chǔ)層標識為0,增強層標識為1、2、3。采用sha-1算法進行哈希計算,生成20字節(jié)的哈希值;對視頻流gop單元進行簽名時,采用rsa簽名算法,生成128字節(jié)的簽名數(shù)據(jù)值。網(wǎng)絡(luò)中mtu大小為1500字節(jié),rtp數(shù)據(jù)包頭部大小約40字節(jié),考慮到哈希附著時需要占用一定字節(jié)數(shù),實驗中nal數(shù)據(jù)單元大小設(shè)置為1200字節(jié)。實驗仿真中采用重傳機制提高接收方獲得認證信息概率,重復(fù)傳輸次數(shù)為2。
在模擬互聯(lián)網(wǎng)中網(wǎng)絡(luò)數(shù)據(jù)包丟包情況方面,假定碼流中每個nal數(shù)據(jù)單元丟包情況滿足獨立同分布。根據(jù)數(shù)據(jù)包丟包模擬結(jié)果,對傳輸?shù)囊曨l流中一定數(shù)量的nal數(shù)據(jù)包進行丟棄。在對每個au中質(zhì)量層分組優(yōu)化認證時,需要預(yù)先設(shè)定網(wǎng)絡(luò)通信帶寬情況。結(jié)合所測試視頻的碼流,采用多模態(tài)高斯分布模擬網(wǎng)絡(luò)帶寬分布,并假設(shè)接收方所能獲得的帶寬集中在0.8mbps、2.5mbps和4mbps,如圖2所示。接收方共有三個,分別對應(yīng)不同帶寬的子信道,且接收方pc計算機硬件配置分別為:3ghz處理器、2g內(nèi)存容量;3.3ghz處理器、4g內(nèi)存容量;3.6ghz處理器、8g內(nèi)存容量,系統(tǒng)軟件為win7操作系統(tǒng)。發(fā)送方由于需要對視頻碼流進行解析、分組優(yōu)化認證等,采用處理速度較高的硬件計算機,配置為:3.2ghz處理器、16gb內(nèi)存容量。
圖3是視頻流發(fā)送方延遲時間比較結(jié)果。
本發(fā)明提供的方法采用“ts”表示。ts與fec方法均需要要對n個gop進行緩存,而ecc方法僅需要緩存1個gop數(shù)據(jù)。如n=5時,ts方法對于“bus”、“city”和“mobile”三個視頻碼流的延遲分別為1.8s、2.5s和3.1s,而fec方法則需要延遲時間分別為6.7s、7.1s和7.7s,后者需要更多的時間用于fec信道編碼和質(zhì)量層優(yōu)化算法中更大的搜索復(fù)雜度。eec方法對于單個圖片組的延遲分別為1.5s、2.1s和2.5s,而ts方法此時需要的延遲時間分別為1s、1.4s和1.8s;可見ts方法在用于質(zhì)量層優(yōu)化分組時的時間小于ecc算法帶來的延遲時間,且eec方法無法提供質(zhì)量層的可伸縮性。
對于接收方的延遲時間,ts方法當接收方當獲得簽名nal數(shù)據(jù)包后,根據(jù)其中所包含的n個gop的哈希值,可以直接對后續(xù)n個gop進行驗證,因此無需設(shè)置單獨的緩沖區(qū)用于驗證;而fec方法若n=5,至少需要緩存1個、最多需要緩存4個完整的gop數(shù)據(jù)才能對該gop進行認證;ecc方法則需要緩存1個完整gop數(shù)據(jù)。實驗仿真中若接收方需要接收gop中所有的時域幀,則該gop播放所需時間為0.53s;若采用5個gop組合并簽名認證,fec方法接收與播放“mobile”svc碼流時,驗證每個圖片組平均需要1.15s,大于圖片組的播放時間,需要約6.45mb大小的緩沖區(qū)。
從以上結(jié)果分析可知,三種方法對于svc碼流認證時在發(fā)送方所產(chǎn)生的延遲時間區(qū)別較大,ts方法與fec方法延遲比較,至少小于3.8s、最多小于5.2s,與eec方法相比,延遲時間小于0.5s~0.7s;對于接收方延遲情況,ts方法可以對獲取的gop數(shù)據(jù)直接驗證,而其它兩種方法則需要相應(yīng)的緩存區(qū)存放圖片組數(shù)據(jù)才能對其進行驗證。
圖4是視頻流認證負載帶寬消耗比較結(jié)果。
該圖是三種認證方法對三個視頻碼流認證時平均所消耗的帶寬情況比較結(jié)果。從該結(jié)果可以看出,ts方法帶寬消耗最低。fec方法的帶寬損耗最多,這是因為fec方法對于時域?qū)又械拿總€層均采用了信道編碼;eec方法因為不提供質(zhì)量層的可伸縮性,所以對于每個質(zhì)量層僅有一個哈希值認證負載,但在計算信道編碼、每個gop單獨進行簽名部分消耗帶寬較多。
圖5是視頻流認證比與丟包率關(guān)系比較結(jié)果。
在圖5中,符號“noauth”表示在沒有進行認證信息添加時,碼流的認證比情況。從該圖中可以看出,當網(wǎng)絡(luò)中不存在丟棄情況下,三種方法的認證比都可以達到1;而隨著網(wǎng)絡(luò)丟包概率增大,三種認證方法的認證比都有所下降,其中ecc方法下降最多,其次是fec認證方法,而ts認證方法與“noauth”認證比降低最小。
圖6是視頻流psnr與丟包率關(guān)系比較結(jié)果。
在圖6中,符號“noauth”表示在沒有進行認證信息添加時,碼流的psnr情況。psnr恢復(fù)視頻質(zhì)量研究的是視頻幀的亮度信息的質(zhì)量對比,并且對每個視頻在所有子信道接收端的psnr求取平均值。從圖中可以看出,當網(wǎng)絡(luò)丟包率逐漸增大時,三種方法的psnr值相比較于“noauth”情況下都逐漸下降,fec與ecc認證方法下降速度較快,減小值在0.7db~4.5db之間;而ts認證方法在接收端psnr減小值最小,最大的減小值為0.4db。從上面的分析可知,相較于其它兩種認證方法而言,ts認證方法所帶來的視頻幀質(zhì)量影響,可以忽略。
通過以上的實驗仿真與結(jié)果分析,說明本發(fā)明發(fā)明提供的方法具有很好的實施性,能夠提供較好的認證性能,在視頻流的延遲時間、負載帶寬消耗、認證比以及視頻流恢復(fù)質(zhì)量方面,均優(yōu)于現(xiàn)有的h264/svc視頻流認證方法。本發(fā)明發(fā)明取得的視頻流認證性能,主要受益于在哈希附著方式上,充分利用了視頻流邏輯單元的解碼依賴關(guān)系,使得解碼依賴關(guān)系與哈希附著方式充分耦合;且在質(zhì)量層的認證過程中,提供不均等保護約束的最優(yōu)分組認證,使得認證負載引入的代價最小。本發(fā)明發(fā)明應(yīng)用于h264/svc視頻流認證時,在提供流安全認證的同時,對視頻實時播放、視頻恢復(fù)質(zhì)量的影響最小。本發(fā)明方法對于研究實時網(wǎng)絡(luò)視頻流的安全傳輸具有一定的參考價值。
盡管上面對本發(fā)明說明性的具體實施方式進行了描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實施方式的范圍,對本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。