一种基于运动矢量一致性的视频多域隐写分析方法与流程

专利2022-06-29  107


本发明涉及多媒体安全和数字媒体处理
技术领域
,特别涉及一种判别数字视频是否经过秘密信息嵌入的隐写分析
技术领域

背景技术
:现代隐写术是一门利用数字媒体进行秘密通信的技术,而隐写分析是隐写术的反向检测技术,其目标是判断图像、音频、视频等数字媒体中是否隐藏有秘密信息。随着视频采集设备的普及和互联网视频应用的流行,数字视频成为极易获取的隐藏载体;视频载体体积较大,能为秘密信息提供足够的隐藏空间。近年来基于数字视频的隐写技术和工具逐渐增多,这对数字视频的隐写分析提出了严峻的挑战。由于h.264/avc是目前使用最为广泛的视频编码标准[1],在实际应用中极有可能成为视频信息隐藏载体,因此本发明主要考虑基于h.264/avc的视频隐写方法和视频隐写分析方法。在各类视频隐写方法中,基于分割模式的隐写方法和基于运动矢量的隐写方法是典型代表,因为这两类方法的嵌入位置位于视频帧内(inter-frame)类型,嵌入容量大,安全性高。分割模式(partitionmode,pm)和运动矢量(motionvector,mv)是视频压缩编码中的重要参数。h.264/avc视频编码块的最大尺寸固定为16×16,称之为宏块。为了达到更加精确和细致的压缩效果,宏块往往需要进一步被分割成多个子块,这种子块的分割类型称之为分割模式。h.264/avc规定一个16×16的宏块可以被划分成一个16×16子块,两个16×8子块,两个8×16子块或四个8×8子块,这些子块的分割被称作宏块分割(mbpartitions)。8×8子块也叫子宏块,它还可以继续被划分成一个8×8子块,两个8×4子块,两个4×8子块或四个4×4子块,这些分割被称作子宏块分割(submbpartitions)。上述分割模式如图1所示。运动矢量是帧间编码中预测块与当前编码块之间的相对坐标距离。由于相邻视频帧之间具有较高的相似性,通过运动矢量为当前帧中的编码块在参考帧中寻找相似的预测块,可以去除帧间冗余来提高压缩率。视频编码器采用运动估计(motionestimation,me)来搜索最优的运动矢量,使得预测更加精准。这个搜索过程通常由率失真优化模型来实现,即使得一定的拉格朗日代价函数达到最小,最常见的拉格朗日代价函数如下式[2]:jmotion=sad λmotion·rmotion(式1)其中sad是预测块与编码块之间的像素残差的绝对误差和,rmotion代表编码运动矢量残差(运动矢量与预测运动矢量的差值)所需的比特数,是拉格朗日乘子,qp是量化参数(quantizationparameter,qp)。视频编码器对宏块的每一种分割模式都寻找最优的运动矢量,然后再比较每一种分割模式的编码代价,从中得到最优的分割模式。这个过程被称为模式决策(modedecision),它同样也由率失真优化模型来实现[2]:jmode=ssd λmode·rmode(式2)其中ssd是预测块与编码块之间的像素残差的误差平方和,rmode代表编码整个宏块所需的比特数,也是拉格朗日乘子。基于分割模式的视频隐写方法利用宏块的分割模式来表达要嵌入的秘密信息,在隐写过程中,最优的分割模式被修改为非最优的分割模式。以宏块分割为例,分割模式与秘密信息之间的关系如下表所示:表1分割模式与秘密信息的映射关系分割模式16×1616×88×168×8秘密信息00011011以16×16分割模式为例,其原本表达的秘密信息是00;如果要嵌入秘密信息01,则原来的一个16×16子块就要被修改为两个16×8子块。基于运动矢量的视频隐写方法利用运动矢量的最低有效位(leastsignificantbit,lsb)来表达要嵌入的秘密信息,它通过直接修改运动矢量的数值( 1或-1)来实现嵌入秘密信息。分割模式和运动矢量属于不同的嵌入域,不同的嵌入域往往具有不同的统计分布特性,这使得当前的隐写分析方法[3][4][5][6]只对某一种嵌入域有效,无法同时检测多种嵌入域的隐写方法。而在实际的隐写分析检测中,检测者是不知道隐写者使用哪一种嵌入域的。因此,如何构造多域隐写分析特征,实现通用的多域隐写分析检测,对于隐写分析具有重要的意义。技术实现要素:本发明针对现有视频隐写分析只能对单个嵌入域进行检测的问题,实现一种通用性强、准确率高、复杂度低的视频多域隐写分析方法。一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,定义运动矢量一致性:h.264/avc视频中的块组中至少有两个水平相邻块或垂直相邻块的运动矢量完全相同,则称该块组具有运动矢量的一致性,且运动矢量的一致性个数为块组中运动矢量相同的块的个数,分析方法包括:步骤1,解析视频码流,得到多个视频帧;步骤2,对于每一个帧间视频帧,得到可分割的视频宏块;步骤3,定义运动矢量表示为其中p=1,2,3,4是块组类型16×8/8×16、8×8、8×4/4×8和4×4的索引,l=1,…,lp是第p种块组类型中块组的索引,i=1,…,np是第l个块组中运动矢量的索引;对于16×8/8×16、8×8、8×4/4×8和4×4四种块组类型,np的值分别是2、4、2和4;第p种块组类型中的第l个块组具有的相同运动矢量的个数表示为对于每一个可分割的视频宏块,根据运动矢量一致性定义计算块组中相同运动矢量的个数步骤4,对于每一个可分割的视频宏块,计算块组中各个小块的码流和对应的大块的码流步骤5,重复步骤3-4,计算视频帧的隐写分析特征f1p(k)和步骤6,重复步骤2-5,提取整个视频的特征,用于训练和测试。本发明面向视频多个嵌入域的隐写方法的检测,针对目前视频隐写分析只能检测单个嵌入域的通用性受限的问题,利用视频宏块中子块的运动矢量一致性原理,构造能够同时检测视频分割模式域和运动矢量域的隐写分析特征,实现视频多域的通用隐写分析检测。在上述的一种基于运动矢量一致性的视频多域隐写分析方法,步骤2中,视频宏块定义如下:一个固定大小的宏块在模式决策过程中被划分成多个子块,每个子块还有可能被继续划分成更小的子块;如果一个子块不能被继续划分,该子块被称为小块;多个相同的小块组成的块被称为大块;每个大块对应的小块组成一个块组。在上述的一种基于运动矢量一致性的视频多域隐写分析方法,步骤4具体包括:步骤4.1,得到块组中具有相同值的运动矢量从码流中提取对应的运动矢量残差步骤4.2,根据公式(3)计算对应的码流步骤4.3,把赋值给对应的大块的运动矢量vlp步骤4.4,利用运动矢量预测算法得到大块的预测运动矢量plp;步骤4.5,计算大块的运动矢量残差步骤4.6,根据公式(3)计算对应的大块的码流rlp。在上述的一种基于运动矢量一致性的视频多域隐写分析方法,隐写分析特征f1p(k)和基于以下公式计算:在上述的一种基于运动矢量一致性的视频多域隐写分析方法,步骤6中,训练和测试的具体方法是:步骤6.1,输入yuv格式的视频样本,如果视频是h.264压缩格式,需要先转换成yuv格式;利用h.264/avc视频编码器和隐写工具分别生成数量相同的cover样本和对应的stego样本;步骤6.2,把步骤6.1得到的成对的视频样本随机分成数量相同两部分,一部分作为训练集,另一部分作为测试集来验证分类模型的效果;步骤6.3,按照步骤2-5中的方法提取训练集和测试集样本的隐写分析特征;步骤6.4,利用训练集中的cover样本特征和对应的stego样本特征,并结合libsvm分类器来训练通用的隐写分析模型;步骤2.5,用测试集样本的特征来验证隐写分析模型的准确性。本发明具有如下优点:目前还未出现检测视频多个嵌入域的隐写分析方法,本发明首次提出视频多域的隐写分析特征,具有较强的通用性,且检测准确性仍高于传统的单域隐写分析方法。另外,本发明提出的方法具有计算复杂度低的特点,有利于实时环境的视频隐写分析。附图说明图1为视频宏块的分割模式的示意图。图2a至图e为具有运动矢量一致性的块组的示意图,其中,图2a为16×8块组或8×4块组,图2b为8×16块组或4×8块组,图2c、图2d和图2e为8×8块组或4×4块组。图3为本发明的隐写分析特征构造流程图。图4为本发明的运动矢量残差的码流计算流程图。具体实施方式本发明利用视频宏块中子块的运动矢量一致性来构造隐写分析特征,并结合svm分类器来训练隐写分析模型和测试视频样本。一、首先介绍本发明涉及的方法原理。1、特征构造方法1.1、运动矢量的一致性一个固定大小的宏块在模式决策过程中被划分成多个子块,每个子块还有可能被继续划分成更小的子块。如果一个子块不能被继续划分,该子块被称为小块;多个相同的小块组成的块被称为大块。每个大块对应的小块组成一个块组。例如,一个16×16的宏块被分割成四个8×8子块,如果8×8子块不再继续划分,则8×8子块被称为小块,对应的16×16的宏块被称为大块,并且四个8×8小块组成一个8×8块组。如果其中的一个8×8子块被继续分割成两个8×4子块,则8×4子块被称为小块,对应的8×8子块被称为大块,并且两个8×4小块组成一个8×4块组。h.264/avc视频中一共有4种块组,按照块大小分别是16×8/8×16、8×8、8×4/4×8和4×4块组,其中块面积相同的子块被归入统一类子块,例如16×8子块与8×16子块、8×4子块与4×8子块。每个子块都有一个运动矢量,对于正常的视频宏块,块组中的运动矢量基本都是不相同的。这是因为子块往往位于视频的纹理复杂区域或物体边界区域,所以具有不同的运动矢量。从另一方面来说,如果块组中的所有运动矢量都相同,那么这些小块很有可能会被编码器合并成一个大块,毕竟对大块进行编码比对多个子块进行编码更加节省码流。这是因为码流主要由运动矢量残差决定,每个子块有一个运动矢量残差,运动矢量残差的数值大多为零,因此一个大块的运动矢量残差通常比多个子块的运动矢量残差之和具有更少的码流。但是也有极少的例外情况,当大块的运动矢量残差的数值较大时,大块有可能比多个子块需要更多的码流,此时正常视频中也会出现块组中的运动矢量相同的情形。为了衡量块组中运动矢量的相似性,本发明定义运动矢量一致性的概念:如果一个块组中至少有两个水平相邻块或垂直相邻块的运动矢量完全相同,则称该块组具有运动矢量的一致性。具有运动矢量一致性的块组如图2所示,其中灰色的子块表示其运动矢量都相同。在正常视频中,运动矢量通常具有较低的一致性。这表现为,同一个块组中的运动矢量的数值互不相同,大多相差数值 1或-1。1.2、不同隐写域的隐写嵌入对运动矢量一致性的影响1.21、分割模式域基于分割模式的隐写方法根据嵌入的秘密信息来修改分割模式,如表1所示。在模式决策过程中,许多具有相同运动矢量的小块被合并成一个大块;而基于分割模式的隐写方法可能会把该大块的分割模式重新修改为原来舍弃掉的小块的分割模式,这样就使得修改而来的小块具有相同的运动矢量,即隐写嵌入提高了视频的运动矢量一致性。以16×16子块和16×8子块为例,在运动估计过程中,假设两个16×8子块都搜索得到各自最优的运动矢量,其值都为(-24,-5),其中-24和-5分别是运动矢量的水平分量和垂直分量。那么在模式决策阶段,两个16×8子块由于具有相同的运动矢量,会被合并成运动矢量值为(-24,-5)的16×16子块。如果在隐写嵌入过程中,该16×16子块又被修改为两个16×8子块,那么修改得到的16×8块组会出现相同的运动矢量。1.22、运动矢量域在基于运动矢量的隐写嵌入过程中,分割模式保持不变,而运动矢量的水平分量或垂直分量会进行 1或-1的修改。由于在正常视频中,同一个块组内的运动矢量虽不相同,却具有相近的数值,则±1修改操作可能会把原来相差为±1的运动矢量变成相同的运动矢量。以16×8块组为例,假设两个16×8子块的运动矢量分别是(-24,-5)和(-23,-5),则对第一个运动矢量的水平分量-24进行 1操作或是对第二个运动矢量的水平分量-23进行-1操作,都会使得两个16×8子块的运动矢量变得相同。综上所述,虽然分割模式和运动矢量属于不同的嵌入域,并且修改方式也不同,但在这两个嵌入域的修改操作会导致相同的结果,即提高了原有视频中运动矢量的一致性。因此,可以利用运动矢量一致性作为两个嵌入域共同的隐写分析特征,实现对视频多域的隐写分析。1.2、不同隐写域的隐写嵌入对运动矢量一致性的影响设运动矢量表示为其中p=1,2,3,4是块组类型16×8/8×16、8×8、8×4/4×8和4×4的索引,l=1,…,lp是第p种块组类型中块组的索引,i=1,…,np是第l个块组中运动矢量的索引。对于16×8/8×16、8×8、8×4/4×8和4×4四种块组类型,np的值分别是2、4、2和4。第p种块组类型中的第l个块组具有的相同运动矢量的个数表示为的数值通过统计图2中相同运动矢量的数目而得到。设运动矢量对应的运动矢量残差表示为的码流大小表示为的计算方式如下式所示[1]:其中是下取整运算,codenum是指数哥伦布码字的索引值,其计算方式为:其中d是运动矢量残差的水平分量或垂直分量。同理,块组对应的大块的运动矢量、运动矢量残差和码流分别表示为vlp、和rlp。由于大块的运动矢量无法在解码端获得,这里把小块的相同的运动矢量赋值给大块,作为大块的运动矢量vlp。运动矢量预测算法同时用于视频编码端和解码端,因此利用运动矢量预测算法在解码段得到大块的预测运动矢量plp,然后计算vlp和plp的差值即可得到大块的运动矢量残差的码流rlp同样通过公式(3)得到。正常视频(cover)中,只有极少块组具有运动矢量一致性;而隐写之后的视频(stego)中,则有较多的块组具有运动矢量一致性。因此,隐写分析特征可以用具有运动矢量一致性的块组的概率来表示,如果该概率较低,则可能是正常视频,否则是隐写视频。另外,为了提高隐写分析特征的分类能力,需要进一步区分这两类视频中的运动矢量一致性。在正常视频中,既然存在运动矢量的一致性,那么其对应的分割模式和运动矢量肯定是最优的,即其对应的码流较小。而在隐写视频中,运动矢量的一致性通常由隐写修改造成,其对应的分割模式和运动矢量是非最优的,即其码流也会较大。因此,本发明采用运动矢量残差的码流大小来进一步区分正常视频和隐写视频中的一致性。隐写分析特征有两类,第一类隐写分析特征是块组具有运动矢量一致性且小块的码流之和小于或等于大块码流的联合概率:而第二类隐写分析特征是块组具有运动矢量一致性且小块的码流之和大于大块码流的联合概率:传统的隐写分析方法[3][4][5][6]通过估计运动矢量的局部最优性来设计特征,需要在解码段模拟编码端的编码过程,或是直接进行重压缩的操作,计算复杂度较高。本发明提出的方法只需要在视频码流中提取运动矢量与运动矢量残差,并计算它们的低阶统计特征即可,具有较低的计算复杂度。2、隐写分析检测步骤2.1,输入yuv格式的视频样本,如果视频是h.264压缩格式,需要先转换成yuv格式。利用h.264/avc视频编码器和隐写工具分别生成数量相同的cover样本和对应的stego样本。步骤2.2,把2.1得到的成对的视频样本随机分成数量相同两部分,一部分作为训练集,另一部分作为测试集来验证分类模型的效果。步骤2.3,按照1中的方法提取训练集和测试集样本的隐写分析特征。步骤2.4,利用训练集中的cover样本特征和对应的stego样本特征,并结合libsvm分类器来训练通用的隐写分析模型。步骤2.5,用测试集样本的特征来验证隐写分析模型的准确性。二、下面是本发明的具体实施方法步骤,本发明是一种面向视频多个隐写域的隐写分析特征构造方法,但是特征只需从运动矢量一个嵌入域中提取,隐写分析特征的具体构造过程包括以下步骤:步骤1,解析视频码流,得到多个视频帧。步骤2,对于每一个帧间视频帧,得到可分割的视频宏块。步骤3,对于每一个可分割的视频宏块,根据图2计算块组中相同运动矢量的个数步骤4,对于每一个可分割的视频宏块,计算块组中各个小块的码流和对应的大块的码流rlp。步骤5,重复步骤3-4,根据公式(5)和公式(6)计算视频帧的隐写分析特征f1p(k)和步骤6,重复步骤2-5,提取整个视频的特征,用于训练和测试。其中步骤4又可详细分解为如下步骤:步骤4.1,得到块组中具有相同值的运动矢量从码流中提取对应的运动矢量残差步骤4.2,根据公式(3)计算对应的码流步骤4.3,把赋值给对应的大块的运动矢量vlp步骤4.4,利用运动矢量预测算法得到大块的预测运动矢量plp。步骤4.5,计算大块的运动矢量残差步骤4.6,根据公式(3)计算对应的大块的码流rlp。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属
技术领域
的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。当前第1页1 2 3 
技术特征:

1.一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,定义运动矢量一致性:h.264/avc视频中的块组中至少有两个水平相邻块或垂直相邻块的运动矢量完全相同,则称该块组具有运动矢量的一致性,且运动矢量的一致性个数为块组中运动矢量相同的块的个数,分析方法包括:

步骤1,解析视频码流,得到多个视频帧;

步骤2,对于每一个帧间视频帧,得到可分割的视频宏块;

步骤3,定义运动矢量表示为其中p=1,2,3,4是块组类型16×8/8×16、8×8、8×4/4×8和4×4的索引,l=1,…,lp是第p种块组类型中块组的索引,i=1,…,np是第l个块组中运动矢量的索引;对于16×8/8×16、8×8、8×4/4×8和4×4四种块组类型,np的值分别是2、4、2和4;第p种块组类型中的第l个块组具有的相同运动矢量的个数表示为对于每一个可分割的视频宏块,根据运动矢量一致性定义计算块组中相同运动矢量的个数

步骤4,对于每一个可分割的视频宏块,计算块组中各个小块的码流和对应的大块的码流rlp

步骤5,重复步骤3-4,计算视频帧的隐写分析特征f1p(k)和

步骤6,重复步骤2-5,提取整个视频的特征,用于训练和测试。

2.根据权利要求1所述的一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,步骤2中,视频宏块定义如下:一个固定大小的宏块在模式决策过程中被划分成多个子块,每个子块还有可能被继续划分成更小的子块;如果一个子块不能被继续划分,该子块被称为小块;多个相同的小块组成的块被称为大块;每个大块对应的小块组成一个块组。

3.根据权利要求1所述的一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,步骤4具体包括:

步骤4.1,得到块组中具有相同值的运动矢量从码流中提取对应的运动矢量残差

步骤4.2,根据公式(3)计算对应的码流

步骤4.3,把赋值给对应的大块的运动矢量vlp

步骤4.4,利用运动矢量预测算法得到大块的预测运动矢量plp

步骤4.5,计算大块的运动矢量残差

步骤4.6,根据公式(3)计算对应的大块的码流rlp

4.根据权利要求1所述的一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,隐写分析特征f1p(k)和基于以下公式计算:

5.根据权利要求1所述的一种基于运动矢量一致性的视频多域隐写分析方法,其特征在于,步骤6中,训练和测试的具体方法是:

步骤6.1,输入yuv格式的视频样本,如果视频是h.264压缩格式,需要先转换成yuv格式;利用h.264/avc视频编码器和隐写工具分别生成数量相同的cover样本和对应的stego样本;

步骤6.2,把步骤6.1得到的成对的视频样本随机分成数量相同两部分,一部分作为训练集,另一部分作为测试集来验证分类模型的效果;

步骤6.3,按照步骤2-5中的方法提取训练集和测试集样本的隐写分析特征;

步骤6.4,利用训练集中的cover样本特征和对应的stego样本特征,并结合libsvm分类器来训练通用的隐写分析模型;

步骤2.5,用测试集样本的特征来验证隐写分析模型的准确性。

技术总结
本发明公开一种基于运动矢量一致性的视频多域隐写分析方法,首先,通过分析视频宏块内部中子块的运动矢量的统计规律,得出运动矢量一致性的定义;其次,分析视频分割模式域和运动矢量域的隐写嵌入过程,总结出隐写嵌入导致运动矢量一致性增强的统计特性;最后,根据视频中的子块类型及其运动矢量的数值分布,提出一种运动矢量一致性隐写分析特征,并通过训练分类器模型,实现对视频分割模式域和运动矢量域的通用而精准的隐写分析。本发明首次提出视频多域的隐写分析特征,具有较强的通用性,且检测准确性仍高于传统的单域隐写分析方法。另外,本发明提出的方法具有计算复杂度低的特点,有利于实时环境的视频隐写分析。

技术研发人员:王丽娜;翟黎明
受保护的技术使用者:武汉大学
技术研发日:2020.02.27
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-16376.html

最新回复(0)