本发明涉及视频的双重压缩检测领域,具体地,涉及一种基于预测残差异常模式的视频双重压缩检测方法。
背景技术:
随着电子产业与多媒体技术的不断发展,数字视频采集设备也在不断普及。与此同时,市面上出现了许多功能强大的视频编辑软件,借助于这些软件可以轻松地实现对原始视频的篡改,从而对视频司法取证带来困难。因此,视频篡改取证技术成为一项非常重要的研究课题。
数字视频篡改取证的目的是为了分析鉴定视频内容的原始性与真实性,相关研究包括视频帧间篡改取证,视频帧内篡改取证等等。其中,大部分篡改方式都需要经历视频双重压缩的过程,因此视频双重压缩检测是视频篡改取证领域中的有效方法之一。近年来许多学者都在视频篡改检测领域取得了很多有价值的研究成果。
经过对现有的视频双重压缩检测技术的检索发现,中国专利文献号CN104837028A,公开日2015-08-12,记载了一种“视频同比特率双重压缩检测方法”,该技术对训练视频提取各帧的首位数字概率分布函数,并与Benford近似对数定律拟合后得到12维特征,利用分类器进行特征学习,进而对测试视频各帧进行分类,并判断测试视频是否经过双重压缩。
上述专利提出的视频双重压缩检测方法利用的是视频各帧的首位数字概率分布特征,本发明提出一种新的视频双重压缩检测方法,使用的是视频每帧的预测残差异常模式特征。所采用的特征与上述专利存在本质上的区别,是一种对视频双重压缩检测新的有效检测方法。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于预测残差异常模式的视频双重压缩检测方法。
根据本发明提供的基于预测残差异常模式的视频双重压缩检测方法,包括如下步骤:
步骤1:提取视频每一帧的预测残差;
步骤2:计算每一帧的预测残差分布;
步骤3:利用Jensen-Shannon散度,计算相邻两帧预测残差分布的差异,获得Jensen-Shannon散度序列;
步骤4:通过中值滤波法,对Jensen-Shannon散度序列进行去噪,得到特征序列;
步骤5:对特征序列进行时域分析,判断对应视频是否遭受到视频双重压缩,若遭受双重压缩,则推测该视频第一次压缩时的GOP长度;若未遭受双重压缩,则结束流程。
优选地,所述步骤1中提取每一帧视频预测残差的步骤如下:
步骤A1:将每一视频帧划分为相互不重叠的4x4块;
步骤A2:计算每一个4x4块的视频预测残差均值,计算公式如下:
式中:表示第t帧中第(i,j)个4x4块的预测残差均值;rm,n表示在对应4x4块中,位于(m,n)位置的像素点的预测残差值,(m,n)位置是指第m行第n列位置。
优选地,所述步骤2中计算每一帧的预测残差分布的步骤如下:
步骤B1:将每一个4x4块的预测残差均值进行取整计算,计算公式如下:
式中:表示对取整后的值;
步骤B2:利用帧内每个4x4块的平均预测残差取整值,计算该帧的预测残差分布,计算公式如下:
式中:表示第t帧的预测残差分布;Ct(n)表示在第t帧内,4x4块值等于n的块的个数;表示在t帧内不重叠4x4块的个数。
优选地,所述步骤3中,利用Jensen-Shannon散度,计算相邻两帧预测残差分布的差异,并获得Jensen-Shannon散度序列,具体计算公式如下:
式中:SJSD(t)表示得到的Jensen-Shannon散度序列,t为函数的自变量表示第t帧;JSD(·)代表Jensen-Shannon散度算子;表示第t帧的预测残差分布;表示第t-1帧的预测残差分布;表示第t+1帧的预测残差分布。
优选地,所述步骤4中,通过中值滤波法,对Jensen-Shannon散度序列进行去噪,得到特征序列,包括如下步骤:
步骤C1:在Jensen-Shannon散度序列的基础上,计算出中值序列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(·)算子用于取括号内输入参数的最大值。
优选地,所述步骤5中,对特征序列进行时域分析,包括如下步骤:
步骤D1:获取特征序列中,值大于0的点的序号集合定义如下:
其中T为视频帧数;
步骤D2:计算潜在单次压缩GOP长度集合定义为:
式中:GCD(·)表示最大公约数算子,为步骤D1中定义的集合,T为视频帧数,L为设定的系数参数;
步骤D3:对集合中的每一个元素c,计算时域特征值,计算公式如下:
式中:为对应于元素c的时域特征值,的计算公式如下:
式中:为步骤D1中定义的集合,T为视频帧数,kc表示自变量c的整数k倍,且k的取值范围为
的计算公式为:
其中,为步骤D1中定义的集合,T为视频帧数,β=α×max{SPRED(t)},式中α能够设定为任意系数参数,×表示乘法运算;max{·}为取最大值算子;
的计算公式为:
式中:kz表示z的整数k倍,其中z∈[1,c-1]。
优选地,所述步骤5中判断对应视频是否遭受到视频双重压缩的步骤如下:
步骤E1:对于单次压缩GOP长度集合中的所有元素c,计算出的最大值
步骤E2:对视频进行双压缩判定,具体地:设定一个阈值参数Tdouble,若则认为视频为双重压缩视频,反之,则视频为单词压缩视频;
步骤E3:若视频遭受双重压缩,则推测该视频第一次压缩时的GOP长度,计算公式如下:
其中,为第一次压缩时的GOP长度预测值。
与现有技术相比,本发明具有如下的有益效果:
本发明能够针对于H.264视频编码标准,而现有技术则只能针对于MPEG视频编码标准;本发明除了可对视频是否遭受二次压缩进行判定之外,还可对疑似遭受二次压缩的视频,估计起首次压缩时的GOP长度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的整体框架图;
图2为视频预测残差提取流程图;
图3为预测残差分布计算流程图;
图4为中值滤波流程图;
图5为特征序列时域分析流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的基于预测残差异常模式的视频双重压缩检测方法,包括如下步骤:
步骤1:提取视频每一帧的预测残差;
步骤2:计算每一帧的预测残差分布;
步骤3:利用Jensen-Shannon散度,计算相邻两帧预测残差分布的差异,获得Jensen-Shannon散度序列;
步骤4:通过中值滤波法,对Jensen-Shannon散度序列进行去噪,得到特征序列;
步骤5:对特征序列进行时域分析,判断对应视频是否遭受到视频双重压缩,若遭受双重压缩,则推测该视频第一次压缩时的GOP长度;若未遭受双重压缩,则结束流程。
所述步骤1中提取每一帧视频预测残差的步骤如下:
步骤A1:将每一视频帧划分为相互不重叠的4x4块;
步骤A2:计算每一个4x4块的视频预测残差均值,计算公式如下:
式中:表示第t帧中第(i,j)个4x4块的预测残差均值;rm,n表示在对应4x4块中,位于(m,n)位置的像素点的预测残差值。
所述步骤2中计算每一帧的预测残差分布的步骤如下:
步骤B1:将每一个4x4块的预测残差均值进行取整计算,计算公式如下:
式中:表示对取整后的值;
步骤B2:利用帧内每个4x4块的平均预测残差取整值,计算该帧的预测残差分布,计算公式如下:
式中:表示第t帧的预测残差分布;Ct(n)表示在第t帧内,4x4块值等于n的块的个数;表示在t帧内不重叠4x4块的个数。
所述步骤3中,利用Jensen-Shannon散度,计算相邻两帧预测残差分布的差异,并获得Jensen-Shannon散度序列,具体计算公式如下:
式中:SJSD(t)表示得到的Jensen-Shannon散度序列;其中t为函数的自变量,代表第t帧;JSD(·)代表Jensen-Shannon散度算子,其计算公式展开后为:
其中,输入的P和Q各为一概率密度函数,另外,表示第t帧的预测残差分布;表示第t-1帧的预测残差分布;表示第t+1帧的预测残差分布。
所述步骤4中,通过中值滤波法,对Jensen-Shannon散度序列进行去噪,得到特征序列,包括如下步骤:
步骤C1:在Jensen-Shannon散度序列的基础上,计算出中值序列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(·)算子用于取括号内输入参数的最大值。
所述步骤5中,对特征序列进行时域分析,包括如下步骤:
步骤D1:获取特征序列中,值大于0的点的序号集合定义如下:
其中T为视频帧数;
步骤D2:计算潜在单次压缩GOP长度集合定义为:
式中:GCD(·)表示最大公约数算子,为步骤D1中定义的集合,T为视频帧数,L为设定的系数参数;
步骤D3:对集合中的每一个元素c,计算时域特征值,计算公式如下:
式中:为对应于元素c的时域特征值,的计算公式如下:
式中:为步骤D1中定义的集合,T为视频帧数,表示自变量c的整数k倍,且k的取值范围为
的计算公式为:
其中,为步骤D1中定义的集合,T为视频帧数,β=α×max{SPRED(t)},式中α能够设定为任意系数参数,×表示乘法运算;max{·}为取最大值算子;
的计算公式为:
式中:kz表示z的整数k倍,其中z∈[1,c-1]。
所述步骤5判断对应视频是否遭受到视频双重压缩的步骤如下:
步骤E1:对于单次压缩GOP长度集合中的所有元素c,计算出的最大值
步骤E2:对视频进行双压缩判定,具体地:设定一个阈值参数Tdouble,若则认为视频为双重压缩视频,反之,则视频为单词压缩视频;
步骤E3:若视频遭受双重压缩,则推测该视频第一次压缩时的GOP长度,计算公式如下:
其中,为第一次压缩时的GOP长度预测值。
下面结合附图对本发明中的技术方案做更详细的说明。
本发明提供的基于预测残差异常模式的视频双重压缩检测方法包括如下步骤:首先,提取视频每一帧的预测残差,再计算每一帧的预测残差分布,之后利用Jensen-Shannon散度,计算相邻两帧预测残差分布的差异,并由此计算出Jensen-Shannon散度序列,再通过中值滤波法,对Jensen-Shannon散度序列进行去噪,得到最终的特征序列,最后对特征序列进行时域分析,判断对应视频是否遭受到视频双重压缩,若遭受双重压缩,则进一步推测其第一次压缩时的GOP长度。
如图2所示,提取视频每一帧的预测残差的步骤如下:
第一步划分预测残差块;对每一视频帧划分出相互不重叠的4x4块;
第二步计算预测残差均值;对每一个4x4块,计算其视频预测残差均值,其公式如下:
式中,表示第t帧中第(i,j)个4x4块的预测残差均值;rm,n表示在对应4x4块中,位于(m,n)位置的像素点的预测残差值。
如图3所示,计算每一帧的预测残差分布的步骤如下:
第一步数值取整;将每一个4x4块的预测残差均值进行取整计算,其公式如下:
式中,表示对取整后的值;
第二步计算预测残差分布;利用帧内每个4x4块的平均预测残差取整值,计算该帧的预测残差分布,其公式如下:
式中,表示第t帧的预测残差分布;Ct(n)代表在第t帧内,4x4块值等于n的块的个数;代表在t帧内不重叠4x4块的个数。
Jensen-Shannon散度序列的计算,利用的公式如下:
式中,SJSD(t)表示得到的Jensen-Shannon散度序列;JSD(·)表示Jensen-Shannon散度算子;表示第t帧的预测残差分布。
如图4所示,通过中值滤波法,对Jensen-Shannon散度序列进行去噪的步骤如下:
第一步:计算中值序列;在Jensen-Shannon散度序列的基础上,计算出中值序列,其计算公式如下:
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(·)算子用于取括号内输入参数的最大值。
如图5所示,对特征序列进行时域分析的步骤如下:
第一步:获取正数值索引集合;获取特征序列中,值大于0的点的序号集合其定义如下:
其中T为视频帧数。
第二步:计算GOP长度集合;计算潜在单次压缩GOP长度集合其定义为:
式中,GCD(·)为最大公约数算子,为步骤D1中定义的集合,T为视频帧数,L为设定的系数参数。
第三步:计算时域特征值;对集合中的每一个元素c,计算其时域特征值,其计算公式如下:
式中,为对应于元素c的时域特征值,的计算公式为:
式中,为步骤D1中定义的集合,T为视频帧数,的计算公式为:
式中,为步骤D1中定义的集合,T为视频帧数,β=α×max{SPRED(t)},式中α可设定为任意系数参数,的计算公式为:
其中,max{·}为取最大值算子。
第四步:获取时域特征最大值;对于中的所有元素c,计算出的最大值
第五步:双压缩判定;对视频进行双压缩判定,其方法为:设定一个阈值参数Tdouble,若则视频为双重压缩视频,反之,则视频为单词压缩视频。
第六步:估计第一次压缩GOP长度;若视频遭受双重压缩,则进一步推测其第一次压缩时的GOP长度,其公式如下:
其中,为第一次压缩时的GOP长度预测值。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。