本發(fā)明涉及視頻的雙重壓縮檢測領(lǐng)域,具體地,涉及一種基于預測殘差異常模式的視頻雙重壓縮檢測方法。
背景技術(shù):
隨著電子產(chǎn)業(yè)與多媒體技術(shù)的不斷發(fā)展,數(shù)字視頻采集設(shè)備也在不斷普及。與此同時,市面上出現(xiàn)了許多功能強大的視頻編輯軟件,借助于這些軟件可以輕松地實現(xiàn)對原始視頻的篡改,從而對視頻司法取證帶來困難。因此,視頻篡改取證技術(shù)成為一項非常重要的研究課題。
數(shù)字視頻篡改取證的目的是為了分析鑒定視頻內(nèi)容的原始性與真實性,相關(guān)研究包括視頻幀間篡改取證,視頻幀內(nèi)篡改取證等等。其中,大部分篡改方式都需要經(jīng)歷視頻雙重壓縮的過程,因此視頻雙重壓縮檢測是視頻篡改取證領(lǐng)域中的有效方法之一。近年來許多學者都在視頻篡改檢測領(lǐng)域取得了很多有價值的研究成果。
經(jīng)過對現(xiàn)有的視頻雙重壓縮檢測技術(shù)的檢索發(fā)現(xiàn),中國專利文獻號CN104837028A,公開日2015-08-12,記載了一種“視頻同比特率雙重壓縮檢測方法”,該技術(shù)對訓練視頻提取各幀的首位數(shù)字概率分布函數(shù),并與Benford近似對數(shù)定律擬合后得到12維特征,利用分類器進行特征學習,進而對測試視頻各幀進行分類,并判斷測試視頻是否經(jīng)過雙重壓縮。
上述專利提出的視頻雙重壓縮檢測方法利用的是視頻各幀的首位數(shù)字概率分布特征,本發(fā)明提出一種新的視頻雙重壓縮檢測方法,使用的是視頻每幀的預測殘差異常模式特征。所采用的特征與上述專利存在本質(zhì)上的區(qū)別,是一種對視頻雙重壓縮檢測新的有效檢測方法。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于預測殘差異常模式的視頻雙重壓縮檢測方法。
根據(jù)本發(fā)明提供的基于預測殘差異常模式的視頻雙重壓縮檢測方法,包括如下步驟:
步驟1:提取視頻每一幀的預測殘差;
步驟2:計算每一幀的預測殘差分布;
步驟3:利用Jensen-Shannon散度,計算相鄰兩幀預測殘差分布的差異,獲得Jensen-Shannon散度序列;
步驟4:通過中值濾波法,對Jensen-Shannon散度序列進行去噪,得到特征序列;
步驟5:對特征序列進行時域分析,判斷對應視頻是否遭受到視頻雙重壓縮,若遭受雙重壓縮,則推測該視頻第一次壓縮時的GOP長度;若未遭受雙重壓縮,則結(jié)束流程。
優(yōu)選地,所述步驟1中提取每一幀視頻預測殘差的步驟如下:
步驟A1:將每一視頻幀劃分為相互不重疊的4x4塊;
步驟A2:計算每一個4x4塊的視頻預測殘差均值,計算公式如下:
式中:表示第t幀中第(i,j)個4x4塊的預測殘差均值;rm,n表示在對應4x4塊中,位于(m,n)位置的像素點的預測殘差值,(m,n)位置是指第m行第n列位置。
優(yōu)選地,所述步驟2中計算每一幀的預測殘差分布的步驟如下:
步驟B1:將每一個4x4塊的預測殘差均值進行取整計算,計算公式如下:
式中:表示對取整后的值;
步驟B2:利用幀內(nèi)每個4x4塊的平均預測殘差取整值,計算該幀的預測殘差分布,計算公式如下:
式中:表示第t幀的預測殘差分布;Ct(n)表示在第t幀內(nèi),4x4塊值等于n的塊的個數(shù);表示在t幀內(nèi)不重疊4x4塊的個數(shù)。
優(yōu)選地,所述步驟3中,利用Jensen-Shannon散度,計算相鄰兩幀預測殘差分布的差異,并獲得Jensen-Shannon散度序列,具體計算公式如下:
式中:SJSD(t)表示得到的Jensen-Shannon散度序列,t為函數(shù)的自變量表示第t幀;JSD(·)代表Jensen-Shannon散度算子;表示第t幀的預測殘差分布;表示第t-1幀的預測殘差分布;表示第t+1幀的預測殘差分布。
優(yōu)選地,所述步驟4中,通過中值濾波法,對Jensen-Shannon散度序列進行去噪,得到特征序列,包括如下步驟:
步驟C1:在Jensen-Shannon散度序列的基礎(chǔ)上,計算出中值序列SMF(t),計算公式如下:
SMF(t)=median{SJSD(t-1),SJSD(t),SJSD(t+1)}
式中:SMF(t)為得到的中值序列,SJSD(t-1)表示第t-1幀所對應的JSD散度序列值,SJSD(t)表示第t幀所對應的JSD散度序列值,SJSD(t+1)表示第t+1幀所對應的JSD散度序列值,median{.}表示取中值運算;
步驟C2:對Jensen-Shannon散度序列進行中值濾波,計算公式如下:
SPRED(t)=max(SJSD(t)-SMF(t),0)
式中:SPRED(t)為最終得到的特征序列,max(·)算子用于取括號內(nèi)輸入?yún)?shù)的最大值。
優(yōu)選地,所述步驟5中,對特征序列進行時域分析,包括如下步驟:
步驟D1:獲取特征序列中,值大于0的點的序號集合定義如下:
其中T為視頻幀數(shù);
步驟D2:計算潛在單次壓縮GOP長度集合定義為:
式中:GCD(·)表示最大公約數(shù)算子,為步驟D1中定義的集合,T為視頻幀數(shù),L為設(shè)定的系數(shù)參數(shù);
步驟D3:對集合中的每一個元素c,計算時域特征值,計算公式如下:
式中:為對應于元素c的時域特征值,的計算公式如下:
式中:為步驟D1中定義的集合,T為視頻幀數(shù),kc表示自變量c的整數(shù)k倍,且k的取值范圍為
的計算公式為:
其中,為步驟D1中定義的集合,T為視頻幀數(shù),β=α×max{SPRED(t)},式中α能夠設(shè)定為任意系數(shù)參數(shù),×表示乘法運算;max{·}為取最大值算子;
的計算公式為:
式中:kz表示z的整數(shù)k倍,其中z∈[1,c-1]。
優(yōu)選地,所述步驟5中判斷對應視頻是否遭受到視頻雙重壓縮的步驟如下:
步驟E1:對于單次壓縮GOP長度集合中的所有元素c,計算出的最大值
步驟E2:對視頻進行雙壓縮判定,具體地:設(shè)定一個閾值參數(shù)Tdouble,若則認為視頻為雙重壓縮視頻,反之,則視頻為單詞壓縮視頻;
步驟E3:若視頻遭受雙重壓縮,則推測該視頻第一次壓縮時的GOP長度,計算公式如下:
其中,為第一次壓縮時的GOP長度預測值。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
本發(fā)明能夠針對于H.264視頻編碼標準,而現(xiàn)有技術(shù)則只能針對于MPEG視頻編碼標準;本發(fā)明除了可對視頻是否遭受二次壓縮進行判定之外,還可對疑似遭受二次壓縮的視頻,估計起首次壓縮時的GOP長度。
附圖說明
通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本發(fā)明的整體框架圖;
圖2為視頻預測殘差提取流程圖;
圖3為預測殘差分布計算流程圖;
圖4為中值濾波流程圖;
圖5為特征序列時域分析流程圖。
具體實施方式
下面結(jié)合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領(lǐng)域的技術(shù)人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應當指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進。這些都屬于本發(fā)明的保護范圍。
根據(jù)本發(fā)明提供的基于預測殘差異常模式的視頻雙重壓縮檢測方法,包括如下步驟:
步驟1:提取視頻每一幀的預測殘差;
步驟2:計算每一幀的預測殘差分布;
步驟3:利用Jensen-Shannon散度,計算相鄰兩幀預測殘差分布的差異,獲得Jensen-Shannon散度序列;
步驟4:通過中值濾波法,對Jensen-Shannon散度序列進行去噪,得到特征序列;
步驟5:對特征序列進行時域分析,判斷對應視頻是否遭受到視頻雙重壓縮,若遭受雙重壓縮,則推測該視頻第一次壓縮時的GOP長度;若未遭受雙重壓縮,則結(jié)束流程。
所述步驟1中提取每一幀視頻預測殘差的步驟如下:
步驟A1:將每一視頻幀劃分為相互不重疊的4x4塊;
步驟A2:計算每一個4x4塊的視頻預測殘差均值,計算公式如下:
式中:表示第t幀中第(i,j)個4x4塊的預測殘差均值;rm,n表示在對應4x4塊中,位于(m,n)位置的像素點的預測殘差值。
所述步驟2中計算每一幀的預測殘差分布的步驟如下:
步驟B1:將每一個4x4塊的預測殘差均值進行取整計算,計算公式如下:
式中:表示對取整后的值;
步驟B2:利用幀內(nèi)每個4x4塊的平均預測殘差取整值,計算該幀的預測殘差分布,計算公式如下:
式中:表示第t幀的預測殘差分布;Ct(n)表示在第t幀內(nèi),4x4塊值等于n的塊的個數(shù);表示在t幀內(nèi)不重疊4x4塊的個數(shù)。
所述步驟3中,利用Jensen-Shannon散度,計算相鄰兩幀預測殘差分布的差異,并獲得Jensen-Shannon散度序列,具體計算公式如下:
式中:SJSD(t)表示得到的Jensen-Shannon散度序列;其中t為函數(shù)的自變量,代表第t幀;JSD(·)代表Jensen-Shannon散度算子,其計算公式展開后為:
其中,輸入的P和Q各為一概率密度函數(shù),另外,表示第t幀的預測殘差分布;表示第t-1幀的預測殘差分布;表示第t+1幀的預測殘差分布。
所述步驟4中,通過中值濾波法,對Jensen-Shannon散度序列進行去噪,得到特征序列,包括如下步驟:
步驟C1:在Jensen-Shannon散度序列的基礎(chǔ)上,計算出中值序列SMF(t),計算公式如下:
SMF(t)=median{SJSD(t-1),SJSD(t),SJSD(t+1)}
式中:SMF(t)為得到的中值序列,其中:SJSD(t-1)表示第t-1幀所對應的JSD散度序列值,SJSD(t)表示第t幀所對應的JSD散度序列值,SJSD(t+1)表示第t+1幀所對應的JSD散度序列值,median{.}表示取中值運算。
步驟C2:對Jensen-Shannon散度序列進行中值濾波,計算公式如下:
SPRED(t)=max(SJSD(t)-SMF(t),0)
式中:SPRED(t)為最終得到的特征序列,max(·)算子用于取括號內(nèi)輸入?yún)?shù)的最大值。
所述步驟5中,對特征序列進行時域分析,包括如下步驟:
步驟D1:獲取特征序列中,值大于0的點的序號集合定義如下:
其中T為視頻幀數(shù);
步驟D2:計算潛在單次壓縮GOP長度集合定義為:
式中:GCD(·)表示最大公約數(shù)算子,為步驟D1中定義的集合,T為視頻幀數(shù),L為設(shè)定的系數(shù)參數(shù);
步驟D3:對集合中的每一個元素c,計算時域特征值,計算公式如下:
式中:為對應于元素c的時域特征值,的計算公式如下:
式中:為步驟D1中定義的集合,T為視頻幀數(shù),表示自變量c的整數(shù)k倍,且k的取值范圍為
的計算公式為:
其中,為步驟D1中定義的集合,T為視頻幀數(shù),β=α×max{SPRED(t)},式中α能夠設(shè)定為任意系數(shù)參數(shù),×表示乘法運算;max{·}為取最大值算子;
的計算公式為:
式中:kz表示z的整數(shù)k倍,其中z∈[1,c-1]。
所述步驟5判斷對應視頻是否遭受到視頻雙重壓縮的步驟如下:
步驟E1:對于單次壓縮GOP長度集合中的所有元素c,計算出的最大值
步驟E2:對視頻進行雙壓縮判定,具體地:設(shè)定一個閾值參數(shù)Tdouble,若則認為視頻為雙重壓縮視頻,反之,則視頻為單詞壓縮視頻;
步驟E3:若視頻遭受雙重壓縮,則推測該視頻第一次壓縮時的GOP長度,計算公式如下:
其中,為第一次壓縮時的GOP長度預測值。
下面結(jié)合附圖對本發(fā)明中的技術(shù)方案做更詳細的說明。
本發(fā)明提供的基于預測殘差異常模式的視頻雙重壓縮檢測方法包括如下步驟:首先,提取視頻每一幀的預測殘差,再計算每一幀的預測殘差分布,之后利用Jensen-Shannon散度,計算相鄰兩幀預測殘差分布的差異,并由此計算出Jensen-Shannon散度序列,再通過中值濾波法,對Jensen-Shannon散度序列進行去噪,得到最終的特征序列,最后對特征序列進行時域分析,判斷對應視頻是否遭受到視頻雙重壓縮,若遭受雙重壓縮,則進一步推測其第一次壓縮時的GOP長度。
如圖2所示,提取視頻每一幀的預測殘差的步驟如下:
第一步劃分預測殘差塊;對每一視頻幀劃分出相互不重疊的4x4塊;
第二步計算預測殘差均值;對每一個4x4塊,計算其視頻預測殘差均值,其公式如下:
式中,表示第t幀中第(i,j)個4x4塊的預測殘差均值;rm,n表示在對應4x4塊中,位于(m,n)位置的像素點的預測殘差值。
如圖3所示,計算每一幀的預測殘差分布的步驟如下:
第一步數(shù)值取整;將每一個4x4塊的預測殘差均值進行取整計算,其公式如下:
式中,表示對取整后的值;
第二步計算預測殘差分布;利用幀內(nèi)每個4x4塊的平均預測殘差取整值,計算該幀的預測殘差分布,其公式如下:
式中,表示第t幀的預測殘差分布;Ct(n)代表在第t幀內(nèi),4x4塊值等于n的塊的個數(shù);代表在t幀內(nèi)不重疊4x4塊的個數(shù)。
Jensen-Shannon散度序列的計算,利用的公式如下:
式中,SJSD(t)表示得到的Jensen-Shannon散度序列;JSD(·)表示Jensen-Shannon散度算子;表示第t幀的預測殘差分布。
如圖4所示,通過中值濾波法,對Jensen-Shannon散度序列進行去噪的步驟如下:
第一步:計算中值序列;在Jensen-Shannon散度序列的基礎(chǔ)上,計算出中值序列,其計算公式如下:
SMF(t)=median{SJSD(t-1),SJSD(t),SJSD(t+1)}
式中,SMF(t)為得到的中值序列。
第二步:中值濾波;對Jensen-Shannon散度序列進行中值濾波,其計算公式如下:
SPRED(t)=max(SJSD(t)-SMF(t),0)
式中:SPRED(t)為最終得到的特征序列,max(·)算子用于取括號內(nèi)輸入?yún)?shù)的最大值。
如圖5所示,對特征序列進行時域分析的步驟如下:
第一步:獲取正數(shù)值索引集合;獲取特征序列中,值大于0的點的序號集合其定義如下:
其中T為視頻幀數(shù)。
第二步:計算GOP長度集合;計算潛在單次壓縮GOP長度集合其定義為:
式中,GCD(·)為最大公約數(shù)算子,為步驟D1中定義的集合,T為視頻幀數(shù),L為設(shè)定的系數(shù)參數(shù)。
第三步:計算時域特征值;對集合中的每一個元素c,計算其時域特征值,其計算公式如下:
式中,為對應于元素c的時域特征值,的計算公式為:
式中,為步驟D1中定義的集合,T為視頻幀數(shù),的計算公式為:
式中,為步驟D1中定義的集合,T為視頻幀數(shù),β=α×max{SPRED(t)},式中α可設(shè)定為任意系數(shù)參數(shù),的計算公式為:
其中,max{·}為取最大值算子。
第四步:獲取時域特征最大值;對于中的所有元素c,計算出的最大值
第五步:雙壓縮判定;對視頻進行雙壓縮判定,其方法為:設(shè)定一個閾值參數(shù)Tdouble,若則視頻為雙重壓縮視頻,反之,則視頻為單詞壓縮視頻。
第六步:估計第一次壓縮GOP長度;若視頻遭受雙重壓縮,則進一步推測其第一次壓縮時的GOP長度,其公式如下:
其中,為第一次壓縮時的GOP長度預測值。
以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。在不沖突的情況下,本申請的實施例和實施例中的特征可以任意相互組合。