视频帧插入和帧删除检测方法与流程

文档序号:12279739阅读:401来源:国知局
视频帧插入和帧删除检测方法与流程

本发明总体来说涉及多媒体信息安全领域,更具体地讲,涉及一种视频帧插入和帧删除检测方法。



背景技术:

随着数字多媒体技术的迅速发展,视频在社会生活的各个方面特别是监控领域中发挥着越来越重要的作用。由于视频可以对过去发生的事实进行高度一致的复现,其在公共安全领域的作用越来越大。

然而,由于专业的视频编辑软件(例如,Adobe Premiere、Adobe After Effects等)的日益发展使得篡改视频数据变得轻而易举,普通用户也能够篡改视频的内容而不留下视觉痕迹,从而掩盖甚至歪曲事实的真相。这些虚假的视频一旦被用于司法取证将严重妨害社会的正常秩序。

因此,如何准确检测一个视频是否被篡改,已经成为多媒体信息安全领域的一个重要课题。



技术实现要素:

本发明的示例性实施例在于提供一种视频帧插入和帧删除检测方法,以解决现有的视频数据易被篡改而难以检测的技术问题。

根据本发明示例性实施例的一方面,提供一种视频帧插入和帧删除的检测方法,所述方法包括:(A)读入视频数据,并提取该视频数据的附加数据,其中,所述附加数据指示针对该视频数据的预设视频哈希值;(B)计算所述视频 数据的视频哈希值;(C)将所述附加数据所指示的所述预设视频哈希值与计算得到的视频哈希值进行相似度计算;(D)如果所述预设视频哈希值与计算得到的视频哈希值的相似度满足条件,则判定所述视频数据未被篡改;(E)如果所述预设视频哈希值与计算得到的视频哈希值的相似度不满足条件,则判定所述视频数据被篡改。

可选地,所述方法在步骤(A)之前可还包括:(F)计算所述视频数据的所述预设视频哈希值;(G)将计算得到的所述预设视频哈希值作为附加数据保存在所述视频数据中。

可选地,步骤(A)可包括:基于所述视频数据中的两个相邻视频帧之间的速度向量场来计算所述视频数据的视频哈希值。

可选地,步骤(A)可包括:(A1)将所述视频数据解码为独立的视频帧序列;(A2)对解码得到的视频帧序列,提取每两个相邻视频帧之间的速度向量场;(A3)计算每两个相邻视频帧之间的速度向量场的哈希比特;(A4)将所有速度向量场的哈希比特串联排列,以形成所述视频数据的视频哈希值。

可选地,步骤(A2)可包括:从解码得到的视频帧序列中按预定规则抽取视频帧,然后再提取所述抽取的视频帧中每两个相邻视频帧之间的速度向量场。

可选地,任意两个相邻视频帧之间的速度向量场包括水平方向速度分量和垂直方向速度分量,其中,在步骤(A2)中,提取任意两个相邻视频帧之间的速度向量场的步骤可包括:(A21)将解码得到的视频帧序列中的所述两个相邻视频帧分块,并且划分的分块没有重叠部分;(A22)对所述两个相邻视频帧按每个分块计算水平方向速度分量和垂直方向速度分量。

可选地,在步骤(A3)中,计算任意两个相邻视频帧之间的速度向量场的哈希比特的步骤可包括:(A31)对提取的速度向量场按每个分块对水平方向速 度分量和垂直方向速度分量进行向量合成,得到速度合成向量;(A32)基于速度合成向量的幅值对各分块对应的速度合成向量进行降序排序,选取预设个数前的速度合成向量,并计算选取的速度合成向量的方向与水平方向的夹角;(A33)对计算得到的夹角进行量化处理,得到量化后的夹角值;(A34)统计各量化后的夹角值分别出现的次数,并形成原始次数序列;(A35)将所述原始次数序列中的所有次数进行顺序排序,并确定排序后的次数序列的中位数;(A36)基于所述原始次数序列和确定的排序后的次数序列的中位数来确定所述速度向量场的哈希比特。

可选地,步骤(A36)可包括:(A361)将所述原始次数序列中的任一次数与确定的排序后的次数序列的中位数进行比较,并基于比较结果确定出所述任一次数所对应的哈希特比;(A362)将所述原始次数序列中的所有次数所对应的哈希特比串联排列,形成所述速度向量场的哈希比特。

可选地,步骤(A361)可包括:将所述原始次数序列中的任一次数与确定的排序后的次数序列的中位数进行比较;如果所述原始次数序列中的任一次数不小于确定的排序后的次数序列的中位数,则所述任一次数所对应的哈希比特为1;如果所述原始次数序列中的任一次数小于确定的排序后的次数序列的中位数,则所述任一次数所对应的哈希比特为0。

可选地,步骤(C)可包括:确定所述预设视频哈希值与计算得到的视频哈希值的归一化汉明距,并基于确定的归一化汉明距来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算,其中,步骤(D)可包括:如果确定的归一化汉明距不大于预设值,则判定所述视频数据未被篡改,其中,步骤(E)可包括:如果确定的归一化汉明距大于预设值,则判定所述视频数据被篡改。

采用上述视频帧插入和帧删除检测方法,可有效防止视频数据被恶意篡改。

附图说明

图1示出根据本发明示例性实施例的视频帧插入和帧删除检测方法的流程图;

图2示出根据本发明示例性实施例的图1中的计算视频数据的视频哈希值的步骤的流程图;

图3示出根据本发明示例性实施例的图2中的计算的所有分块对应的速度合成向量的步骤的流程图;

图4示出采用本发明示例性实施例的视频帧插入和帧删除检测方法来检测视频数据是否被篡改的示例;

图5示出根据本发明示例性实施例的与图3所示的示例对应归一化汉明距的示意图。

具体实施方式

现将详细描述本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。

图1示出根据本发明示例性实施例的视频帧插入和帧删除检测方法的流程图。

参照图1,在步骤S10中,读入视频数据,并提取该视频数据的附加数据。这里,所述附加数据指示针对该视频数据的预设视频哈希值。也就是说,提取读入的视频数据中保存的指示针对该视频数据的预设视频哈希值的附加数据。

根据本发明示例性实施例的视频帧插入和帧删除检测方法在步骤S10之前可还包括:生成含有以附加数据形式存储指示针对该视频数据的所述预设视频 哈希值的视频数据的步骤。具体说来,生成含有以附加数据形式存储指示针对该视频数据的所述预设视频哈希值的视频数据的步骤可包括:计算所述视频数据的所述预设视频哈希值;将计算得到的所述预设视频哈希值作为附加数据保存在所述视频数据中。例如,所述视频数据可为MKV格式的视频文件,相应地,可以MKV多媒体封装格式将计算得到的所述预设视频哈希值封装到MKV格式的视频文件中。

作为示例,将计算得到的所述预设视频哈希值作为附加数据保存在所述视频数据中的步骤可包括:对计算得到的所述预设视频哈希值进行加密,将加密后的所述预设视频哈希值作为附加数据保存在所述视频数据中。这里,可采用现有的各种加密算法来对所述预设视频哈希值进行加密。例如,可采用置乱加密方法或分组加密方法来对所述预设视频哈希值进行加密。这里,置乱加密方法或分组加密方法为本领域的公知常识,本发明对此部分的内容不再赘述。

可选地,如果在生成视频数据的过程中,对以附加数据形式存储在该视频数据中的所述预设视频哈希值进行了加密,则在步骤S10中可采用与该加密方法相应的解密方法来对提取的附加数据进行解密,以获得所述附加数据中存储的针对该视频数据的所述预设视频哈希值。这里,生成视频数据的设备与检测该视频数据的设备之间需根据预先约定的秘钥对所述预设视频哈希值进行相应的加密、解密。

在步骤S20中,计算所述视频数据的视频哈希值。

这里,应理解,需采用与步骤S10中计算读入的视频数据的所述预设视频哈希值相同的方法来计算该视频数据的视频哈希值。作为示例,可采用现有的各种方法来计算视频数据的视频哈希值。

作为示例,可基于所述视频数据中的两个相邻视频帧之间的速度向量场来 计算所述视频数据的视频哈希值。

具体说来,基于所述视频数据中的两个相邻视频帧之间的速度向量场来计算所述视频数据的视频哈希值的步骤可包括:将所述视频数据解码为独立的视频帧序列;对解码得到的视频帧序列,提取每两个相邻视频帧之间的速度向量场;计算每两个相邻视频帧之间的速度向量场的哈希比特;将所有速度向量场的哈希比特串联排列,以形成所述视频数据的视频哈希值。

可选地,对解码得到的视频帧序列,提取每两个相邻视频帧之间的速度向量场的步骤可包括:从解码得到的视频帧序列中按预定规则抽取视频帧,然后再提取所述抽取的视频帧中每两个相邻视频帧之间的速度向量场。这里,一般认为相邻视频帧之间的变化不明显,因此,在本发明中仅计算抽取的视频帧中的每两个相邻视频帧之间的速度向量场的哈希比特,可有效减少计算所述视频数据的视频哈希值的计算量。

例如,从解码得到的视频帧序列中抽取所述预定个数的视频帧的步骤可包括:以预设的帧间隔从解码得到的视频帧序列中等间隔地抽取视频帧,或者从解码得到的视频帧序列中随机抽取预定个数的视频帧。

在步骤S30中,判断所述附加数据所指示的所述预设视频哈希值与计算得到的视频哈希值是否相似,即,将所述附加数据所指示的所述预设视频哈希值与计算得到的视频哈希值进行相似度计算。

在步骤S30的第一实施例中,可确定所述预设视频哈希值与计算得到的视频哈希值的归一化汉明距,并基于确定的归一化汉明距来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算。

在步骤S30的第二实施例中,可确定所述预设视频哈希值与计算得到的视频哈希值的欧式距离,并基于确定的欧式距离来对所述预设视频哈希值与计算 得到的视频哈希值进行相似度计算。

如果所述预设视频哈希值与计算得到的视频哈希值相似,则执行步骤S40:判定输入的视频数据未被篡改。

在上述步骤S30的基于归一化汉明距来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算的第一实施例的情况下,如果确定的归一化汉明距不大于预设值(即,所述预设视频哈希值与计算得到的视频哈希值的相似度满足条件),则执行步骤S40。

在上述步骤S30的基于欧式距离来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算的第二实施例的情况下,如果确定的于欧式距离不大于设定值(即,所述预设视频哈希值与计算得到的视频哈希值的相似度满足条件),则执行步骤S40。

如果所述预设视频哈希值与计算得到的视频哈希值不相似,则执行步骤S50:判定输入的视频数据被篡改。

在上述步骤S30的基于归一化汉明距来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算的第一实施例的情况下,如果确定的归一化汉明距大于预设值(即,所述预设视频哈希值与计算得到的视频哈希值的相似度不满足条件),则执行步骤S50。

在上述步骤S30的基于欧式距离来对所述预设视频哈希值与计算得到的视频哈希值进行相似度计算的第二实施例的情况下,如果确定的于欧式距离大于设定值(即,所述预设视频哈希值与计算得到的视频哈希值的相似度不满足条件),则执行步骤S50。

下面参照图2来详细描述计算视频数据的视频哈希值的步骤。应理解,可采用图2所示的方法来计算视频数据的视频哈希值和所述预定视频哈希值。

图2示出根据本发明示例性实施例的图1中的计算视频数据的视频哈希值的步骤的流程图。

参照图2,在步骤S101中,将所述视频数据解码为独立的视频帧序列。这里,可利用现有的各种解码方法来将所述视频数据解码为独立的视频帧序列。

在步骤S102中,将解码得到的视频帧序列中的第i视频帧和第i+1视频帧分块。这里,第i视频帧和第i+1视频帧为相邻的视频帧,i的初值为1。具体说来,可将第i视频帧和第i+1视频帧分别划分为m个分块,且针对一视频帧划分的m个分块没有重叠部分。应理解,这里对第i视频帧和第i+1视频帧分块的方法相同,且每个分块的大小也相同。

在步骤S103中,计算所有分块对应的速度合成向量。

下面参照图3来详细描述任一两个相邻视频帧之间的速度向量场中包括的所有分块对应的速度合成向量。

图3示出根据本发明示例性实施例的图2中的计算的所有分块对应的速度合成向量的步骤的流程图。

参照图3,在步骤S301中,计算m个分块中的第j分块对应的水平方向速度分量和垂直方向速度分量。这里,可利用现有的各种方法来计算m个分块中的第j分块对应的水平方向速度分量和垂直方向速度分量。

在步骤S302中,对第j分块对应的水平方向速度分量和垂直方向速度分量进行向量合成,得到第j分块对应的速度合成向量。这里,对水平方向速度分量和垂直方向速度分量进行向量合成的方法为本领域的公知常识,本发明对此部分的内容不再赘述。

在步骤S303中,判断j是否等于m,j的初值为1。这里,1≤j≤m,m为将第i视频帧和第i+1视频帧之间的速度向量场划分的分块的个数,m为大于0 的自然数。

如果j不等于m,则执行步骤S304:使得j=j+1,并返回执行步骤S301。

如果j等于m,则执行步骤S305:得到任一两个相邻视频帧之间的速度向量场中包括的所有分块对应的速度合成向量(这里,得到的是速度合成向量的幅值和速度合成向量的方向)。

返回图2,在步骤S104中,基于速度合成向量的幅值对所有分块对应的速度合成向量进行降序排序,选取Q个(即,预设个数)前的速度合成向量,并分别计算选取的速度合成向量的速度合成向量的方向与水平方向的夹角。这里,基于速度合成向量的幅值来产生所述视频数据的视频哈希值,保证了产生视频哈希值所使用的速度合成向量能很好地代表该视频数据的内容。

在步骤S105中,对计算得到的Q个夹角进行量化处理,得到各夹角量化后的夹角值。例如,可利用预设的量化步长来对计算得到的Q个夹角进行量化处理。

例如,可利用下面的公式对任一夹角进行量化处理,

公式(1)中,New_Angle(p)表示任一夹角对应的量化后的夹角值,Angle(p)表示计算得到的所述任一夹角对应的夹角的值,1≤p≤Q,S表示预设的量化步长,[]表示对的计算结果进行取整(例如,按照四舍五入的原则进行取整)。

例如,可假设所述预设的量化步长S=45°,则可利用公式(1)将各夹角量化为45度的整数倍,此时,对任一夹角量化后的夹角值可能的取值为所示集合{-135°,-90°,-45°,0,45°,90°,135°,180°}中的一个。

在步骤S106中,统计所述速度向量场对应的各量化后的夹角值分别出现的 次数,并形成原始次数序列。

在步骤S107中,将所述原始次数序列中的所有次数进行顺序排序,并确定排序后的次数序列的中位数。这里,可对所有次数按照次数的数值大小进行正序排序或逆序排序。应理解,如果所述次数序列中包含的次数的个数为奇数,则将位于该次数序列中间的次数作为排序后的次数序列的中位数;如果所述次数序列中包含的次数的个数为偶数,则计算位于该次数序列中间的两个次数所的平均值,将计算得到的平均值作为排序后的次数序列的中位数。

优选地,可在步骤S106中绘制各量化后的夹角值分别出现的次数对应的直方图,然后在步骤S107中对绘制出的直方图进行顺序排序,以确定出排序后的次数序列的中位数。

在步骤S108中,判断所述原始次数序列中的第x个次数的值是否小于确定的排序后的次数序列的中位数的值。

如果第x个次数的值小于确定的排序后的次数序列的中位数的值,则执行步骤S109:确定第x个次数所对应的哈希比特为0。

如果第x个次数的值不小于确定的排序后的次数序列的中位数的值,则执行步骤S110:确定第x个次数所对应的哈希比特为1。

在步骤S111中,判断x是否等于W,x的初值为1。这里,1≤x≤W,W为原始次数序列中包括的次数的个数,W为大于0的自然数。

如果x不等于W,则执行步骤S112:使得x=x+1,并返回执行步骤S108。

如果x等于W,则执行步骤S113:确定出第i视频帧和相邻第i+1视频帧之间的速度向量场的哈希比特。

在步骤S114中,判断i是否等于n-1。这里,1≤i≤n-1,n为解码得到的视频帧序列中视频帧的个数,n为大于0的自然数。

如果i不等于n-1,则执行步骤S115:使得i=i+1,并返回执行步骤S102。

如果i等于n-1,则执行步骤S116:将所有速度向量场的哈希比特串联排列,以形成所述视频数据的视频哈希值。

除图2所示的计算视频数据的视频哈希值的方法之外,在另一示例中,还可在步骤S107中计算原始次数序列中的各次数的平均值,然后在步骤S108中判断原始次数序列中的第x个次数的值是否小于计算得到的平均值,如果第x个次数的值小于该平均值,则执行步骤S109,如果第x个次数的值不小于该平均值,则执行步骤S110。

这里,由于本发明示例性实施例的视频帧插入和帧删除检测方法基于两个相邻视频帧之间的速度向量场中的各量化后的夹角值出现的次数的中位数或平均值来获得所述两个相邻视频帧之间的速度向量场的哈希比特,保证了获得的所述速度向量场的哈希比特中“0”和“1”的值出现的概率大致相等,使计算得到的哈希比特的随机性更佳,因此,可具有更高的安全性。

图4示出采用本发明示例性实施例的视频帧插入和帧删除检测方法来检测视频数据是否被篡改的示例。

图5示出根据本发明示例性实施例的与图4所示的示例对应归一化汉明距的示意图。在图5中,横坐标为该段视频数据的视频帧的数量与预设的帧间隔的比值,纵坐标为归一化汉明距的值。

如图4所示,以一段持续时间为3分28秒的地铁监控视频为例进行检测实验。在本示例中,利用本发明示例性实施例的视频帧插入和帧删除检测方法计算出该段视频数据的预设视频哈希值为比特,并将该预设视频哈希值以附加数据的形式保存在该段视频数据中。假设,人为删除该段视频数据中的第25秒至40秒的视频帧,得到篡改后的视频数据。采用相同 的计算方法来计算篡改后的视频数据的视频哈希值,此时,计算得到篡改后的视频数据的视频哈希值为16072比特。将计算得到的篡改后的视频数据的视频哈希值与从视频数据的附加数据中提取的所述预设视频哈希值进行比对,从图5中示出的归一化汉明距的示意图可以看出,发现该段视频数据的25秒之前的两个视频哈希值完全匹配(即,归一化汉明距为0),而25秒以后的两个视频哈希值匹配不佳(即,归一化汉明距为1),在本示例中,针对归一化汉明距的预设值为0.1,因此25秒以后的两个视频哈希值的归一化汉明距远大于预设值,则表明该段视频数据从25秒开始出现异常,从而判断出该段视频数据从25秒开始已被篡改。也就是说,根据本发明示例性实施例的基于视频数据中相邻两个视频帧之间的速度向量场的视频帧插入和帧删除检测方法可准确确定出视频数据被篡改的起始时间点。

应注意,在本示例中,采用帧删除方式对该段视频数据进行篡改,并根据本发明所述的方法检测出该段视频数据被篡改,然而,本发明不限于此,本发明所述的视频帧插入和帧删除检测方法还可针对帧插入、帧篡改等视频数据篡改方式进行检测,只要对视频数据的篡改涉及到改变了视频数据中的两个相邻视频帧的运动特征(即,速度向量场),本发明所述的视频帧插入和帧删除检测方法均适用。

采用本发明示例性实施例的视频帧插入和帧删除检测方法,能够有效检测视频数据是否被篡改。

此外,根据本发明示例性实施例的视频帧插入和帧删除检测方法,由于将视频数据预设的视频哈希值以附加数据的形式保存到该视频数据中,使得本发明示例性实施例所述的视频帧插入和帧删除检测方法可实现与现有的能够播放该视频数据的各种视频播放器相兼容。

此外,采用本发明示例性实施例的视频帧插入和帧删除检测方法,最终计算得到的视频数据的视频哈希值的长度较小,可有效减少视频数据本身的文件大小,有助于节省视频数据的存储空间。

此外,由于在计算视频数据的视频哈希值时,将视频数据中两个相邻视频帧之间的速度向量场中的速度方向(即,水平方向速度分量和垂直方向速度分量)量化为不同的角度,并将不同角度出现的次数作为该视频数据的运动特征,因此可提高对视频数据的篡改检测的敏感性,同时也可保证本发明所述的方法对视频数据的篡改检测具有一定的鲁棒性。

此外,由于基于速度合成向量来产生视频哈希值,且速度合成向量可在视频压缩编码过程中被获得而无需额外计算,因此与现有压缩编码体系更为兼容,视频哈希值的计算速度更快。

上面已经结合具体示例性实施例描述了本发明,但是本发明的实施不限于此。在本发明的精神和范围内,本领域技术人员可以进行各种修改和变型,这些修改和变型将落入权利要求限定的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1