本發(fā)明屬于計算機圖像技術(shù)領(lǐng)域,涉及視頻檢索、圖像檢索、圖像相似度匹配等技術(shù),具體涉及一種針對h.264壓縮域的視頻感知哈希算法。
背景技術(shù):
視頻感知哈希是指視頻數(shù)據(jù)集到感知摘要集的一種單向映射,其中,具有相同感知內(nèi)容的視頻數(shù)據(jù)可映射為相同或相似的數(shù)字摘要,具有不同感知內(nèi)容的視頻數(shù)據(jù)可映射為完全不同的數(shù)字摘要。視頻感知哈希為視頻數(shù)據(jù)的檢索、標識、認證等應(yīng)用提供了安全可靠的技術(shù)支撐。
與密碼學(xué)hash函數(shù)類似,視頻感知哈希也具有單向性與摘要性等特征。除此之外,視頻感知哈希算法還應(yīng)滿足魯棒性、可區(qū)分性、安全性等屬性,其中,魯棒性是指對于感知內(nèi)容相同或相似的多媒體數(shù)據(jù),感知哈希能夠得到相同或相似的摘要序列;可區(qū)分性是指對于感知內(nèi)容完全不同的多媒體信息,感知哈希能夠得到完全不同或差異巨大的摘要序列;安全性則要求算法能否有效地抵抗非法模擬攻擊。
當前的視頻感知哈希相關(guān)研究,主要集中在基于空域特征感知哈希、壓縮域視頻特征的感知哈希、基于時空域聯(lián)合特征感知哈希等方面。
但是,現(xiàn)有的視頻感知哈希算法沒有顧及到h.264編碼格式的特殊性。h.264是目前應(yīng)用最為廣泛、最為成功的視頻編解碼標準。h.264編碼標準之前的視頻編碼標準,如h.261、h.263、mpeg-4等,預(yù)測編碼過程主要采用幀間預(yù)測的方式,消除的是時間上的冗余性。除了幀間預(yù)測,h.264編碼標準添加了幀內(nèi)預(yù)測編碼,亦即h.264之前的視頻編碼標準并不包含幀內(nèi)預(yù)測。此外,現(xiàn)有視頻感知哈希算法需要獨立進行關(guān)鍵幀的檢測,沒有十分有效地利用h.264編碼中已有的關(guān)鍵幀信息。所以,h.264編碼的視頻感知哈希算法需要依據(jù)h.264編碼格式的特殊性進行分析與設(shè)計。
h.264編碼流程仍然主要包括幀內(nèi)預(yù)測(或幀間預(yù)測)、殘差變換、量化和熵編碼。具體如下:對輸入視頻幀以16*16像素大小的宏塊為單位執(zhí)行預(yù)測編碼、變換(離散余弦變換)、量化以及摘編碼的過程;重建過程是對量化后的結(jié)果執(zhí)行反量化、反dct變換的過程,將重建得到的數(shù)據(jù)作為下一個宏塊的參考數(shù)據(jù)。
h.264編碼標準中幀間預(yù)測是根據(jù)參考傾的數(shù)據(jù)來消除時間冗余性,幀內(nèi)預(yù)測則主要利用了宏塊與宏塊間的數(shù)據(jù)相關(guān)性,當對當前宏塊進行幀內(nèi)預(yù)測編碼編碼時,需要用到相鄰塊(包括左鄰塊、上鄰塊、右上鄰塊)的信息。另一方面,特征提取是感知哈希的關(guān)鍵步驟,而dct變換是經(jīng)典的感知哈希特征提取方法。也就是說,h.264編碼與解碼過程中包含了提取視頻幀的感知特征的步驟,這就為h.264編碼的視頻感知哈希算法的視頻解碼和特征提取過程的結(jié)合進行提供了可能性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提出一種針對h.264壓縮域的視頻感知哈希算法,實現(xiàn)高效的h.264視頻數(shù)據(jù)感知哈希序列的生成。解決了現(xiàn)有感知哈希技術(shù)少有針對h.264壓縮域的情況;解決了現(xiàn)有技術(shù)安全性較低的問題。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為一種針對h.264壓縮域的視頻感知哈希算法,包含以下步驟:
(1)讀取h.264視頻數(shù)據(jù):設(shè)置歐氏范數(shù)閾值k、信息熵的閾值t,設(shè)定歸一化參數(shù)m1和m2,m1>m2;
(2)判斷一幀是否為i幀:將所有i幀無條件地視為關(guān)鍵幀,如果是i幀則轉(zhuǎn)到步驟6,否則,進行步驟3;
(3)計算多維向量:假設(shè)當前視頻幀由n個宏塊組成,每個宏塊由4個8×8大小的子宏塊組成,另設(shè)mvni表示第n個8×8子宏塊中第i(i=1,2,3,4)個4*4子宏塊的運動向量值,得到4個運動向量歐氏范數(shù),選取mvni中最大值表示第n個8×8子宏塊的運動偏移量xn,即
xn=max(mvni),i=1,2,3,4公式(1)
當前視頻幀內(nèi)每個8×8的子宏塊運動偏移量xn作為向量fm中的1維,得到多維向量fm,即
fm=max(x1,x2,…,xn-1,xn);公式(2)
(4)確定歐氏范數(shù):向量fm表示視頻幀中所有變化宏塊的運動情況,其歐氏范數(shù)‖fm‖表達式為
(5)比較‖fm‖與k的大?。喝绻琭m‖≥k,當前視頻幀為關(guān)鍵幀,進行步驟6;反之,如果‖fm‖<k,當前幀為非關(guān)鍵幀,跳轉(zhuǎn)到步驟1,重新進行下一幀計算;
(6)進行基于信息熵的關(guān)鍵幀自適應(yīng)歸一化:如果信息熵大于或等于t,通過雙線性插值將視頻幀分辨率調(diào)整為m1×m1;如果信息熵小于t,則將視頻幀的分辨率調(diào)整為m2×m2;
(7)特征提取:對分辨率調(diào)整后的視頻幀進行dct變換,選取ac系數(shù)和dc系數(shù)作為視頻幀的內(nèi)容特征;
(8)特征量化:量化提取的系數(shù)為二值序列,確定ac系數(shù)和dc系數(shù)的量化規(guī)則;
(9)量化序列加密:量化后的二值序列,采用rc4算法進行加密,得到序列就是該關(guān)鍵幀感知哈希序列;
(10)加密序列串聯(lián):重復(fù)步驟1~9,將視頻所有視頻幀的感知哈希序列串聯(lián)起來,就構(gòu)成了視頻數(shù)據(jù)最終的感知哈希序列。
進一步,上述步驟7中,所述選取ac系數(shù)和dc系數(shù)作為視頻幀的內(nèi)容特征具體為選取變換后每個分塊的一個dc系數(shù)和15個低頻ac系數(shù)作為視頻幀的內(nèi)容特征。
進一步,上述步驟8中,所述ac系數(shù)的量化規(guī)則為:系數(shù)為正,置為1;系數(shù)為負,置為0。
同樣,步驟8中,所述dc系數(shù)的量化規(guī)則為:大于各分塊dc系數(shù)的均值,置為1,否則置為0。
與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果:
(1)本發(fā)明充分利用了h.264編碼的壓縮域信息,顯著提高了感知哈希序列和感知原始視頻信息的能力;
(2)本發(fā)明既可以用于視頻檢索,也可以用于視頻認證、視頻拷貝檢測,取決于發(fā)明實現(xiàn)過程中的i幀歸一化的過程,具有很好的靈活性;
(3)通過閾值k的設(shè)定,調(diào)節(jié)關(guān)鍵幀判別的強度,有利于本發(fā)明方法計算效率和特征提取強度之間的調(diào)節(jié);
(4)本發(fā)明充分顧及了h.264視頻數(shù)據(jù)的整體內(nèi)容特征,偽造感知哈希序列的可能性大大降低;而且本發(fā)明采用的rc4是主流的流密碼,安全性有充足保障。
附圖說明
圖1為本發(fā)明針對h.264壓縮域的視頻感知哈希算法的流程圖。
具體實施方式
現(xiàn)結(jié)合附圖對本發(fā)明做進一步詳盡的說明。
如圖1所示,本發(fā)明提出一種針對h.264壓縮域的視頻感知哈希算法主要包含具體步驟如下:
(1)讀取視頻數(shù)據(jù);設(shè)置歐氏范數(shù)閾值k;設(shè)定信息熵的閾值t;設(shè)定歸一化參數(shù)m1和m2(m1>m2);
(2)判斷一幀是否為i幀,將所有i幀無條件地視為關(guān)鍵幀,如果是i幀則轉(zhuǎn)到步驟6,否則,進行步驟3。這里將所有i幀作為關(guān)鍵幀進行特征提取,顧及到了h.264編碼中i幀的重要性。
(3)假設(shè)當前視頻幀由n個宏塊組成,每個宏塊由4個8×8大小的子宏塊組成,另設(shè)mvni表示第n個8×8子宏塊中第i(i=1,2,3,4)個4*4子宏塊的運動向量值,得到4個運動向量歐氏范數(shù),選取mvni中最大值表示第n個8×8子宏塊的運動偏移量xn,即
xn=max(mvni),i=1,2,3,4公式(1)
當前視頻幀內(nèi)每個8×8的子宏塊運動偏移量xn作為向量fm中的1維,得到多維向量fm,即
fm=max(x1,x2,…,xn-1,xn)公式(2)
利用h.264幀內(nèi)預(yù)測的特點,通過運動矢量歐氏范數(shù)判斷非i幀是否為關(guān)鍵幀。
(4)向量fm表示視頻幀中所有變化宏塊的運動情況,其歐氏范數(shù)‖fm‖表達式為
(5)如果‖fm‖較大,說明視頻幀運動較為劇烈,其內(nèi)容與前幀的差別較大,可以認為該幀為關(guān)鍵幀,因此,通過比較判斷歐氏范數(shù)‖fm‖與閾值k的大小來判斷當前視頻幀是否為關(guān)鍵幀,即:如果‖fm‖≥k,當前視頻幀為關(guān)鍵幀,進行步驟6;反之,如果‖fm‖<k,當前幀為非關(guān)鍵幀,跳轉(zhuǎn)到步驟1,重新進行下一幀計算。
(6)基于信息熵的關(guān)鍵幀自適應(yīng)歸一化。于或等于t,通過雙線性插值將視頻幀分辨率調(diào)整為m1×m1;如果信息熵小于t,則將視頻幀的分辨率調(diào)整為m2×m2。即根據(jù)格網(wǎng)單元的信息熵,可以自適應(yīng)地決定該格網(wǎng)單元的特征點聚類的參數(shù)。
(7)分辨率調(diào)整后的視頻幀進行dct變換(離散余弦變換),并選取變換后每個分塊的一個dc系數(shù)和15個低頻ac系數(shù)作為視頻幀的內(nèi)容特征。
(8)量化提取的系數(shù)為二值序列。ac系數(shù)的量化規(guī)則為:系數(shù)為正,置為1;系數(shù)為負,置為0。dc系數(shù)的量化規(guī)則:大于各分塊dc系數(shù)的均值,置為1,否則置為0。
(9)量化后的二值序列,采用rc4算法進行加密,得到序列就是該關(guān)鍵幀感知哈希序列。
(10)重復(fù)步驟(1)~(9),視頻所有視頻幀的感知哈希序列串聯(lián)起來,就構(gòu)成了視頻數(shù)據(jù)最終的感知哈希序列。
本發(fā)明基于h.264編碼的感知哈希技術(shù),針對現(xiàn)有技術(shù)很少有針對h.264編碼的缺陷解決了h.264編碼的視頻檢索相關(guān)技術(shù)空白。本發(fā)明充分顧及了h.264視頻數(shù)據(jù)的整體內(nèi)容特征,偽造感知哈希序列的可能性大大降低;而且,本發(fā)明采用的rc4是主流的流密碼,安全性有充足保障。