本發(fā)明總體來(lái)說(shuō)涉及多媒體信息安全領(lǐng)域,更具體地講,涉及一種視頻幀插入和幀刪除檢測(cè)方法。
背景技術(shù):
隨著數(shù)字多媒體技術(shù)的迅速發(fā)展,視頻在社會(huì)生活的各個(gè)方面特別是監(jiān)控領(lǐng)域中發(fā)揮著越來(lái)越重要的作用。由于視頻可以對(duì)過(guò)去發(fā)生的事實(shí)進(jìn)行高度一致的復(fù)現(xiàn),其在公共安全領(lǐng)域的作用越來(lái)越大。
然而,由于專業(yè)的視頻編輯軟件(例如,Adobe Premiere、Adobe After Effects等)的日益發(fā)展使得篡改視頻數(shù)據(jù)變得輕而易舉,普通用戶也能夠篡改視頻的內(nèi)容而不留下視覺(jué)痕跡,從而掩蓋甚至歪曲事實(shí)的真相。這些虛假的視頻一旦被用于司法取證將嚴(yán)重妨害社會(huì)的正常秩序。
因此,如何準(zhǔn)確檢測(cè)一個(gè)視頻是否被篡改,已經(jīng)成為多媒體信息安全領(lǐng)域的一個(gè)重要課題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的示例性實(shí)施例在于提供一種視頻幀插入和幀刪除檢測(cè)方法,以解決現(xiàn)有的視頻數(shù)據(jù)易被篡改而難以檢測(cè)的技術(shù)問(wèn)題。
根據(jù)本發(fā)明示例性實(shí)施例的一方面,提供一種視頻幀插入和幀刪除的檢測(cè)方法,所述方法包括:(A)讀入視頻數(shù)據(jù),并提取該視頻數(shù)據(jù)的附加數(shù)據(jù),其中,所述附加數(shù)據(jù)指示針對(duì)該視頻數(shù)據(jù)的預(yù)設(shè)視頻哈希值;(B)計(jì)算所述視頻 數(shù)據(jù)的視頻哈希值;(C)將所述附加數(shù)據(jù)所指示的所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算;(D)如果所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度滿足條件,則判定所述視頻數(shù)據(jù)未被篡改;(E)如果所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度不滿足條件,則判定所述視頻數(shù)據(jù)被篡改。
可選地,所述方法在步驟(A)之前可還包括:(F)計(jì)算所述視頻數(shù)據(jù)的所述預(yù)設(shè)視頻哈希值;(G)將計(jì)算得到的所述預(yù)設(shè)視頻哈希值作為附加數(shù)據(jù)保存在所述視頻數(shù)據(jù)中。
可選地,步驟(A)可包括:基于所述視頻數(shù)據(jù)中的兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)來(lái)計(jì)算所述視頻數(shù)據(jù)的視頻哈希值。
可選地,步驟(A)可包括:(A1)將所述視頻數(shù)據(jù)解碼為獨(dú)立的視頻幀序列;(A2)對(duì)解碼得到的視頻幀序列,提取每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng);(A3)計(jì)算每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)的哈希比特;(A4)將所有速度向量場(chǎng)的哈希比特串聯(lián)排列,以形成所述視頻數(shù)據(jù)的視頻哈希值。
可選地,步驟(A2)可包括:從解碼得到的視頻幀序列中按預(yù)定規(guī)則抽取視頻幀,然后再提取所述抽取的視頻幀中每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)。
可選地,任意兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)包括水平方向速度分量和垂直方向速度分量,其中,在步驟(A2)中,提取任意兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)的步驟可包括:(A21)將解碼得到的視頻幀序列中的所述兩個(gè)相鄰視頻幀分塊,并且劃分的分塊沒(méi)有重疊部分;(A22)對(duì)所述兩個(gè)相鄰視頻幀按每個(gè)分塊計(jì)算水平方向速度分量和垂直方向速度分量。
可選地,在步驟(A3)中,計(jì)算任意兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)的哈希比特的步驟可包括:(A31)對(duì)提取的速度向量場(chǎng)按每個(gè)分塊對(duì)水平方向速 度分量和垂直方向速度分量進(jìn)行向量合成,得到速度合成向量;(A32)基于速度合成向量的幅值對(duì)各分塊對(duì)應(yīng)的速度合成向量進(jìn)行降序排序,選取預(yù)設(shè)個(gè)數(shù)前的速度合成向量,并計(jì)算選取的速度合成向量的方向與水平方向的夾角;(A33)對(duì)計(jì)算得到的夾角進(jìn)行量化處理,得到量化后的夾角值;(A34)統(tǒng)計(jì)各量化后的夾角值分別出現(xiàn)的次數(shù),并形成原始次數(shù)序列;(A35)將所述原始次數(shù)序列中的所有次數(shù)進(jìn)行順序排序,并確定排序后的次數(shù)序列的中位數(shù);(A36)基于所述原始次數(shù)序列和確定的排序后的次數(shù)序列的中位數(shù)來(lái)確定所述速度向量場(chǎng)的哈希比特。
可選地,步驟(A36)可包括:(A361)將所述原始次數(shù)序列中的任一次數(shù)與確定的排序后的次數(shù)序列的中位數(shù)進(jìn)行比較,并基于比較結(jié)果確定出所述任一次數(shù)所對(duì)應(yīng)的哈希特比;(A362)將所述原始次數(shù)序列中的所有次數(shù)所對(duì)應(yīng)的哈希特比串聯(lián)排列,形成所述速度向量場(chǎng)的哈希比特。
可選地,步驟(A361)可包括:將所述原始次數(shù)序列中的任一次數(shù)與確定的排序后的次數(shù)序列的中位數(shù)進(jìn)行比較;如果所述原始次數(shù)序列中的任一次數(shù)不小于確定的排序后的次數(shù)序列的中位數(shù),則所述任一次數(shù)所對(duì)應(yīng)的哈希比特為1;如果所述原始次數(shù)序列中的任一次數(shù)小于確定的排序后的次數(shù)序列的中位數(shù),則所述任一次數(shù)所對(duì)應(yīng)的哈希比特為0。
可選地,步驟(C)可包括:確定所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的歸一化漢明距,并基于確定的歸一化漢明距來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算,其中,步驟(D)可包括:如果確定的歸一化漢明距不大于預(yù)設(shè)值,則判定所述視頻數(shù)據(jù)未被篡改,其中,步驟(E)可包括:如果確定的歸一化漢明距大于預(yù)設(shè)值,則判定所述視頻數(shù)據(jù)被篡改。
采用上述視頻幀插入和幀刪除檢測(cè)方法,可有效防止視頻數(shù)據(jù)被惡意篡改。
附圖說(shuō)明
圖1示出根據(jù)本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法的流程圖;
圖2示出根據(jù)本發(fā)明示例性實(shí)施例的圖1中的計(jì)算視頻數(shù)據(jù)的視頻哈希值的步驟的流程圖;
圖3示出根據(jù)本發(fā)明示例性實(shí)施例的圖2中的計(jì)算的所有分塊對(duì)應(yīng)的速度合成向量的步驟的流程圖;
圖4示出采用本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法來(lái)檢測(cè)視頻數(shù)據(jù)是否被篡改的示例;
圖5示出根據(jù)本發(fā)明示例性實(shí)施例的與圖3所示的示例對(duì)應(yīng)歸一化漢明距的示意圖。
具體實(shí)施方式
現(xiàn)將詳細(xì)描述本發(fā)明的示例性實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中,相同的標(biāo)號(hào)始終指的是相同的部件。
圖1示出根據(jù)本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法的流程圖。
參照?qǐng)D1,在步驟S10中,讀入視頻數(shù)據(jù),并提取該視頻數(shù)據(jù)的附加數(shù)據(jù)。這里,所述附加數(shù)據(jù)指示針對(duì)該視頻數(shù)據(jù)的預(yù)設(shè)視頻哈希值。也就是說(shuō),提取讀入的視頻數(shù)據(jù)中保存的指示針對(duì)該視頻數(shù)據(jù)的預(yù)設(shè)視頻哈希值的附加數(shù)據(jù)。
根據(jù)本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法在步驟S10之前可還包括:生成含有以附加數(shù)據(jù)形式存儲(chǔ)指示針對(duì)該視頻數(shù)據(jù)的所述預(yù)設(shè)視頻 哈希值的視頻數(shù)據(jù)的步驟。具體說(shuō)來(lái),生成含有以附加數(shù)據(jù)形式存儲(chǔ)指示針對(duì)該視頻數(shù)據(jù)的所述預(yù)設(shè)視頻哈希值的視頻數(shù)據(jù)的步驟可包括:計(jì)算所述視頻數(shù)據(jù)的所述預(yù)設(shè)視頻哈希值;將計(jì)算得到的所述預(yù)設(shè)視頻哈希值作為附加數(shù)據(jù)保存在所述視頻數(shù)據(jù)中。例如,所述視頻數(shù)據(jù)可為MKV格式的視頻文件,相應(yīng)地,可以MKV多媒體封裝格式將計(jì)算得到的所述預(yù)設(shè)視頻哈希值封裝到MKV格式的視頻文件中。
作為示例,將計(jì)算得到的所述預(yù)設(shè)視頻哈希值作為附加數(shù)據(jù)保存在所述視頻數(shù)據(jù)中的步驟可包括:對(duì)計(jì)算得到的所述預(yù)設(shè)視頻哈希值進(jìn)行加密,將加密后的所述預(yù)設(shè)視頻哈希值作為附加數(shù)據(jù)保存在所述視頻數(shù)據(jù)中。這里,可采用現(xiàn)有的各種加密算法來(lái)對(duì)所述預(yù)設(shè)視頻哈希值進(jìn)行加密。例如,可采用置亂加密方法或分組加密方法來(lái)對(duì)所述預(yù)設(shè)視頻哈希值進(jìn)行加密。這里,置亂加密方法或分組加密方法為本領(lǐng)域的公知常識(shí),本發(fā)明對(duì)此部分的內(nèi)容不再贅述。
可選地,如果在生成視頻數(shù)據(jù)的過(guò)程中,對(duì)以附加數(shù)據(jù)形式存儲(chǔ)在該視頻數(shù)據(jù)中的所述預(yù)設(shè)視頻哈希值進(jìn)行了加密,則在步驟S10中可采用與該加密方法相應(yīng)的解密方法來(lái)對(duì)提取的附加數(shù)據(jù)進(jìn)行解密,以獲得所述附加數(shù)據(jù)中存儲(chǔ)的針對(duì)該視頻數(shù)據(jù)的所述預(yù)設(shè)視頻哈希值。這里,生成視頻數(shù)據(jù)的設(shè)備與檢測(cè)該視頻數(shù)據(jù)的設(shè)備之間需根據(jù)預(yù)先約定的秘鑰對(duì)所述預(yù)設(shè)視頻哈希值進(jìn)行相應(yīng)的加密、解密。
在步驟S20中,計(jì)算所述視頻數(shù)據(jù)的視頻哈希值。
這里,應(yīng)理解,需采用與步驟S10中計(jì)算讀入的視頻數(shù)據(jù)的所述預(yù)設(shè)視頻哈希值相同的方法來(lái)計(jì)算該視頻數(shù)據(jù)的視頻哈希值。作為示例,可采用現(xiàn)有的各種方法來(lái)計(jì)算視頻數(shù)據(jù)的視頻哈希值。
作為示例,可基于所述視頻數(shù)據(jù)中的兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)來(lái) 計(jì)算所述視頻數(shù)據(jù)的視頻哈希值。
具體說(shuō)來(lái),基于所述視頻數(shù)據(jù)中的兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)來(lái)計(jì)算所述視頻數(shù)據(jù)的視頻哈希值的步驟可包括:將所述視頻數(shù)據(jù)解碼為獨(dú)立的視頻幀序列;對(duì)解碼得到的視頻幀序列,提取每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng);計(jì)算每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)的哈希比特;將所有速度向量場(chǎng)的哈希比特串聯(lián)排列,以形成所述視頻數(shù)據(jù)的視頻哈希值。
可選地,對(duì)解碼得到的視頻幀序列,提取每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)的步驟可包括:從解碼得到的視頻幀序列中按預(yù)定規(guī)則抽取視頻幀,然后再提取所述抽取的視頻幀中每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)。這里,一般認(rèn)為相鄰視頻幀之間的變化不明顯,因此,在本發(fā)明中僅計(jì)算抽取的視頻幀中的每?jī)蓚€(gè)相鄰視頻幀之間的速度向量場(chǎng)的哈希比特,可有效減少計(jì)算所述視頻數(shù)據(jù)的視頻哈希值的計(jì)算量。
例如,從解碼得到的視頻幀序列中抽取所述預(yù)定個(gè)數(shù)的視頻幀的步驟可包括:以預(yù)設(shè)的幀間隔從解碼得到的視頻幀序列中等間隔地抽取視頻幀,或者從解碼得到的視頻幀序列中隨機(jī)抽取預(yù)定個(gè)數(shù)的視頻幀。
在步驟S30中,判斷所述附加數(shù)據(jù)所指示的所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值是否相似,即,將所述附加數(shù)據(jù)所指示的所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算。
在步驟S30的第一實(shí)施例中,可確定所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的歸一化漢明距,并基于確定的歸一化漢明距來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算。
在步驟S30的第二實(shí)施例中,可確定所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的歐式距離,并基于確定的歐式距離來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算 得到的視頻哈希值進(jìn)行相似度計(jì)算。
如果所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值相似,則執(zhí)行步驟S40:判定輸入的視頻數(shù)據(jù)未被篡改。
在上述步驟S30的基于歸一化漢明距來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算的第一實(shí)施例的情況下,如果確定的歸一化漢明距不大于預(yù)設(shè)值(即,所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度滿足條件),則執(zhí)行步驟S40。
在上述步驟S30的基于歐式距離來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算的第二實(shí)施例的情況下,如果確定的于歐式距離不大于設(shè)定值(即,所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度滿足條件),則執(zhí)行步驟S40。
如果所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值不相似,則執(zhí)行步驟S50:判定輸入的視頻數(shù)據(jù)被篡改。
在上述步驟S30的基于歸一化漢明距來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算的第一實(shí)施例的情況下,如果確定的歸一化漢明距大于預(yù)設(shè)值(即,所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度不滿足條件),則執(zhí)行步驟S50。
在上述步驟S30的基于歐式距離來(lái)對(duì)所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值進(jìn)行相似度計(jì)算的第二實(shí)施例的情況下,如果確定的于歐式距離大于設(shè)定值(即,所述預(yù)設(shè)視頻哈希值與計(jì)算得到的視頻哈希值的相似度不滿足條件),則執(zhí)行步驟S50。
下面參照?qǐng)D2來(lái)詳細(xì)描述計(jì)算視頻數(shù)據(jù)的視頻哈希值的步驟。應(yīng)理解,可采用圖2所示的方法來(lái)計(jì)算視頻數(shù)據(jù)的視頻哈希值和所述預(yù)定視頻哈希值。
圖2示出根據(jù)本發(fā)明示例性實(shí)施例的圖1中的計(jì)算視頻數(shù)據(jù)的視頻哈希值的步驟的流程圖。
參照?qǐng)D2,在步驟S101中,將所述視頻數(shù)據(jù)解碼為獨(dú)立的視頻幀序列。這里,可利用現(xiàn)有的各種解碼方法來(lái)將所述視頻數(shù)據(jù)解碼為獨(dú)立的視頻幀序列。
在步驟S102中,將解碼得到的視頻幀序列中的第i視頻幀和第i+1視頻幀分塊。這里,第i視頻幀和第i+1視頻幀為相鄰的視頻幀,i的初值為1。具體說(shuō)來(lái),可將第i視頻幀和第i+1視頻幀分別劃分為m個(gè)分塊,且針對(duì)一視頻幀劃分的m個(gè)分塊沒(méi)有重疊部分。應(yīng)理解,這里對(duì)第i視頻幀和第i+1視頻幀分塊的方法相同,且每個(gè)分塊的大小也相同。
在步驟S103中,計(jì)算所有分塊對(duì)應(yīng)的速度合成向量。
下面參照?qǐng)D3來(lái)詳細(xì)描述任一兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)中包括的所有分塊對(duì)應(yīng)的速度合成向量。
圖3示出根據(jù)本發(fā)明示例性實(shí)施例的圖2中的計(jì)算的所有分塊對(duì)應(yīng)的速度合成向量的步驟的流程圖。
參照?qǐng)D3,在步驟S301中,計(jì)算m個(gè)分塊中的第j分塊對(duì)應(yīng)的水平方向速度分量和垂直方向速度分量。這里,可利用現(xiàn)有的各種方法來(lái)計(jì)算m個(gè)分塊中的第j分塊對(duì)應(yīng)的水平方向速度分量和垂直方向速度分量。
在步驟S302中,對(duì)第j分塊對(duì)應(yīng)的水平方向速度分量和垂直方向速度分量進(jìn)行向量合成,得到第j分塊對(duì)應(yīng)的速度合成向量。這里,對(duì)水平方向速度分量和垂直方向速度分量進(jìn)行向量合成的方法為本領(lǐng)域的公知常識(shí),本發(fā)明對(duì)此部分的內(nèi)容不再贅述。
在步驟S303中,判斷j是否等于m,j的初值為1。這里,1≤j≤m,m為將第i視頻幀和第i+1視頻幀之間的速度向量場(chǎng)劃分的分塊的個(gè)數(shù),m為大于0 的自然數(shù)。
如果j不等于m,則執(zhí)行步驟S304:使得j=j(luò)+1,并返回執(zhí)行步驟S301。
如果j等于m,則執(zhí)行步驟S305:得到任一兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)中包括的所有分塊對(duì)應(yīng)的速度合成向量(這里,得到的是速度合成向量的幅值和速度合成向量的方向)。
返回圖2,在步驟S104中,基于速度合成向量的幅值對(duì)所有分塊對(duì)應(yīng)的速度合成向量進(jìn)行降序排序,選取Q個(gè)(即,預(yù)設(shè)個(gè)數(shù))前的速度合成向量,并分別計(jì)算選取的速度合成向量的速度合成向量的方向與水平方向的夾角。這里,基于速度合成向量的幅值來(lái)產(chǎn)生所述視頻數(shù)據(jù)的視頻哈希值,保證了產(chǎn)生視頻哈希值所使用的速度合成向量能很好地代表該視頻數(shù)據(jù)的內(nèi)容。
在步驟S105中,對(duì)計(jì)算得到的Q個(gè)夾角進(jìn)行量化處理,得到各夾角量化后的夾角值。例如,可利用預(yù)設(shè)的量化步長(zhǎng)來(lái)對(duì)計(jì)算得到的Q個(gè)夾角進(jìn)行量化處理。
例如,可利用下面的公式對(duì)任一夾角進(jìn)行量化處理,
公式(1)中,New_Angle(p)表示任一夾角對(duì)應(yīng)的量化后的夾角值,Angle(p)表示計(jì)算得到的所述任一夾角對(duì)應(yīng)的夾角的值,1≤p≤Q,S表示預(yù)設(shè)的量化步長(zhǎng),[]表示對(duì)的計(jì)算結(jié)果進(jìn)行取整(例如,按照四舍五入的原則進(jìn)行取整)。
例如,可假設(shè)所述預(yù)設(shè)的量化步長(zhǎng)S=45°,則可利用公式(1)將各夾角量化為45度的整數(shù)倍,此時(shí),對(duì)任一夾角量化后的夾角值可能的取值為所示集合{-135°,-90°,-45°,0,45°,90°,135°,180°}中的一個(gè)。
在步驟S106中,統(tǒng)計(jì)所述速度向量場(chǎng)對(duì)應(yīng)的各量化后的夾角值分別出現(xiàn)的 次數(shù),并形成原始次數(shù)序列。
在步驟S107中,將所述原始次數(shù)序列中的所有次數(shù)進(jìn)行順序排序,并確定排序后的次數(shù)序列的中位數(shù)。這里,可對(duì)所有次數(shù)按照次數(shù)的數(shù)值大小進(jìn)行正序排序或逆序排序。應(yīng)理解,如果所述次數(shù)序列中包含的次數(shù)的個(gè)數(shù)為奇數(shù),則將位于該次數(shù)序列中間的次數(shù)作為排序后的次數(shù)序列的中位數(shù);如果所述次數(shù)序列中包含的次數(shù)的個(gè)數(shù)為偶數(shù),則計(jì)算位于該次數(shù)序列中間的兩個(gè)次數(shù)所的平均值,將計(jì)算得到的平均值作為排序后的次數(shù)序列的中位數(shù)。
優(yōu)選地,可在步驟S106中繪制各量化后的夾角值分別出現(xiàn)的次數(shù)對(duì)應(yīng)的直方圖,然后在步驟S107中對(duì)繪制出的直方圖進(jìn)行順序排序,以確定出排序后的次數(shù)序列的中位數(shù)。
在步驟S108中,判斷所述原始次數(shù)序列中的第x個(gè)次數(shù)的值是否小于確定的排序后的次數(shù)序列的中位數(shù)的值。
如果第x個(gè)次數(shù)的值小于確定的排序后的次數(shù)序列的中位數(shù)的值,則執(zhí)行步驟S109:確定第x個(gè)次數(shù)所對(duì)應(yīng)的哈希比特為0。
如果第x個(gè)次數(shù)的值不小于確定的排序后的次數(shù)序列的中位數(shù)的值,則執(zhí)行步驟S110:確定第x個(gè)次數(shù)所對(duì)應(yīng)的哈希比特為1。
在步驟S111中,判斷x是否等于W,x的初值為1。這里,1≤x≤W,W為原始次數(shù)序列中包括的次數(shù)的個(gè)數(shù),W為大于0的自然數(shù)。
如果x不等于W,則執(zhí)行步驟S112:使得x=x+1,并返回執(zhí)行步驟S108。
如果x等于W,則執(zhí)行步驟S113:確定出第i視頻幀和相鄰第i+1視頻幀之間的速度向量場(chǎng)的哈希比特。
在步驟S114中,判斷i是否等于n-1。這里,1≤i≤n-1,n為解碼得到的視頻幀序列中視頻幀的個(gè)數(shù),n為大于0的自然數(shù)。
如果i不等于n-1,則執(zhí)行步驟S115:使得i=i+1,并返回執(zhí)行步驟S102。
如果i等于n-1,則執(zhí)行步驟S116:將所有速度向量場(chǎng)的哈希比特串聯(lián)排列,以形成所述視頻數(shù)據(jù)的視頻哈希值。
除圖2所示的計(jì)算視頻數(shù)據(jù)的視頻哈希值的方法之外,在另一示例中,還可在步驟S107中計(jì)算原始次數(shù)序列中的各次數(shù)的平均值,然后在步驟S108中判斷原始次數(shù)序列中的第x個(gè)次數(shù)的值是否小于計(jì)算得到的平均值,如果第x個(gè)次數(shù)的值小于該平均值,則執(zhí)行步驟S109,如果第x個(gè)次數(shù)的值不小于該平均值,則執(zhí)行步驟S110。
這里,由于本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法基于兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)中的各量化后的夾角值出現(xiàn)的次數(shù)的中位數(shù)或平均值來(lái)獲得所述兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)的哈希比特,保證了獲得的所述速度向量場(chǎng)的哈希比特中“0”和“1”的值出現(xiàn)的概率大致相等,使計(jì)算得到的哈希比特的隨機(jī)性更佳,因此,可具有更高的安全性。
圖4示出采用本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法來(lái)檢測(cè)視頻數(shù)據(jù)是否被篡改的示例。
圖5示出根據(jù)本發(fā)明示例性實(shí)施例的與圖4所示的示例對(duì)應(yīng)歸一化漢明距的示意圖。在圖5中,橫坐標(biāo)為該段視頻數(shù)據(jù)的視頻幀的數(shù)量與預(yù)設(shè)的幀間隔的比值,縱坐標(biāo)為歸一化漢明距的值。
如圖4所示,以一段持續(xù)時(shí)間為3分28秒的地鐵監(jiān)控視頻為例進(jìn)行檢測(cè)實(shí)驗(yàn)。在本示例中,利用本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法計(jì)算出該段視頻數(shù)據(jù)的預(yù)設(shè)視頻哈希值為比特,并將該預(yù)設(shè)視頻哈希值以附加數(shù)據(jù)的形式保存在該段視頻數(shù)據(jù)中。假設(shè),人為刪除該段視頻數(shù)據(jù)中的第25秒至40秒的視頻幀,得到篡改后的視頻數(shù)據(jù)。采用相同 的計(jì)算方法來(lái)計(jì)算篡改后的視頻數(shù)據(jù)的視頻哈希值,此時(shí),計(jì)算得到篡改后的視頻數(shù)據(jù)的視頻哈希值為16072比特。將計(jì)算得到的篡改后的視頻數(shù)據(jù)的視頻哈希值與從視頻數(shù)據(jù)的附加數(shù)據(jù)中提取的所述預(yù)設(shè)視頻哈希值進(jìn)行比對(duì),從圖5中示出的歸一化漢明距的示意圖可以看出,發(fā)現(xiàn)該段視頻數(shù)據(jù)的25秒之前的兩個(gè)視頻哈希值完全匹配(即,歸一化漢明距為0),而25秒以后的兩個(gè)視頻哈希值匹配不佳(即,歸一化漢明距為1),在本示例中,針對(duì)歸一化漢明距的預(yù)設(shè)值為0.1,因此25秒以后的兩個(gè)視頻哈希值的歸一化漢明距遠(yuǎn)大于預(yù)設(shè)值,則表明該段視頻數(shù)據(jù)從25秒開(kāi)始出現(xiàn)異常,從而判斷出該段視頻數(shù)據(jù)從25秒開(kāi)始已被篡改。也就是說(shuō),根據(jù)本發(fā)明示例性實(shí)施例的基于視頻數(shù)據(jù)中相鄰兩個(gè)視頻幀之間的速度向量場(chǎng)的視頻幀插入和幀刪除檢測(cè)方法可準(zhǔn)確確定出視頻數(shù)據(jù)被篡改的起始時(shí)間點(diǎn)。
應(yīng)注意,在本示例中,采用幀刪除方式對(duì)該段視頻數(shù)據(jù)進(jìn)行篡改,并根據(jù)本發(fā)明所述的方法檢測(cè)出該段視頻數(shù)據(jù)被篡改,然而,本發(fā)明不限于此,本發(fā)明所述的視頻幀插入和幀刪除檢測(cè)方法還可針對(duì)幀插入、幀篡改等視頻數(shù)據(jù)篡改方式進(jìn)行檢測(cè),只要對(duì)視頻數(shù)據(jù)的篡改涉及到改變了視頻數(shù)據(jù)中的兩個(gè)相鄰視頻幀的運(yùn)動(dòng)特征(即,速度向量場(chǎng)),本發(fā)明所述的視頻幀插入和幀刪除檢測(cè)方法均適用。
采用本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法,能夠有效檢測(cè)視頻數(shù)據(jù)是否被篡改。
此外,根據(jù)本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法,由于將視頻數(shù)據(jù)預(yù)設(shè)的視頻哈希值以附加數(shù)據(jù)的形式保存到該視頻數(shù)據(jù)中,使得本發(fā)明示例性實(shí)施例所述的視頻幀插入和幀刪除檢測(cè)方法可實(shí)現(xiàn)與現(xiàn)有的能夠播放該視頻數(shù)據(jù)的各種視頻播放器相兼容。
此外,采用本發(fā)明示例性實(shí)施例的視頻幀插入和幀刪除檢測(cè)方法,最終計(jì)算得到的視頻數(shù)據(jù)的視頻哈希值的長(zhǎng)度較小,可有效減少視頻數(shù)據(jù)本身的文件大小,有助于節(jié)省視頻數(shù)據(jù)的存儲(chǔ)空間。
此外,由于在計(jì)算視頻數(shù)據(jù)的視頻哈希值時(shí),將視頻數(shù)據(jù)中兩個(gè)相鄰視頻幀之間的速度向量場(chǎng)中的速度方向(即,水平方向速度分量和垂直方向速度分量)量化為不同的角度,并將不同角度出現(xiàn)的次數(shù)作為該視頻數(shù)據(jù)的運(yùn)動(dòng)特征,因此可提高對(duì)視頻數(shù)據(jù)的篡改檢測(cè)的敏感性,同時(shí)也可保證本發(fā)明所述的方法對(duì)視頻數(shù)據(jù)的篡改檢測(cè)具有一定的魯棒性。
此外,由于基于速度合成向量來(lái)產(chǎn)生視頻哈希值,且速度合成向量可在視頻壓縮編碼過(guò)程中被獲得而無(wú)需額外計(jì)算,因此與現(xiàn)有壓縮編碼體系更為兼容,視頻哈希值的計(jì)算速度更快。
上面已經(jīng)結(jié)合具體示例性實(shí)施例描述了本發(fā)明,但是本發(fā)明的實(shí)施不限于此。在本發(fā)明的精神和范圍內(nèi),本領(lǐng)域技術(shù)人員可以進(jìn)行各種修改和變型,這些修改和變型將落入權(quán)利要求限定的保護(hù)范圍之內(nèi)。