毕业设计外文翻译H264编码视频的水印检测机制.docx
《毕业设计外文翻译H264编码视频的水印检测机制.docx》由会员分享,可在线阅读,更多相关《毕业设计外文翻译H264编码视频的水印检测机制.docx(28页珍藏版)》请在冰豆网上搜索。
毕业设计外文翻译H264编码视频的水印检测机制
南京理工大学
毕业设计(论文)外文资料翻译
学院(系):
专业:
姓名:
学号:
(用外文写)
外文出处:
IEEETRANACTIONSONINFORMATIONFORENSICSANDSECURITY,
VOL.2,NO.1,MARCH2007.
附件:
1.外文资料翻译译文;2.外文原文。
指导教师评语:
签名:
年月日
注:
请将该封面与附件装订成册。
附件1:
外文资料翻译译文
一种针对H.264编码视频具有可控检测性能的鲁棒性水印机制
摘要
随着H.264格式的数字视频逐渐普及,对该标准版权保护方法和鉴定方法的需求也将出现。
本文提出了一种为H.264视频添加鲁棒性水印的算法。
在限制视觉失真的同时,采用适合于4×4离散余弦变换域的人类视觉模型,提高算法的有效载荷和鲁棒性。
利用与密匙相关的算法选择具有视觉水印容量的系数的一个子集,使水印遍布各频率并在区域内传播以避免误差合并,这样,在不显著改变感知质量的情况下,有效载荷和鲁棒性得到提高。
该算法在编码残差中嵌入水印,避免了视频压缩;在解码视频序列中检测水印,可用于确定帧内编码模型改变时算法的鲁棒性。
然后,本文为视频水印检测建立了基于似然比检验的理论框架,用于获得性能可控的最佳水印检测机制。
仿真结果表明,蒙特卡罗实验达到了预期的检测性能。
最后,本文证实了该算法对若干不同攻击均具有鲁棒性。
索引词
压缩域,误差合并,广义高斯分布,人类视觉模型,H.264,似然比检验,视频水印检测,视频水印
一、引言
数字电视的出现、数字化视频光盘(DVDs)的产生及视频文件的网络传输,无一不显示出数字视频的重要性。
虽然MPRG-2在视频编码上已取得显著成就,但H.264以其更高的压缩效率正在逐渐取代MPRG-2。
随着H.264数字视频越来越普及,对该标准版权保护方法和鉴定方法的需求也将出现。
本文提出的H.264水印算法恰好满足了这种需求。
视频信号通常以压缩格式存储和传输,所以先解码视频序列、再嵌入水印、最后重新编码的做法是不切实际的。
相反,在压缩域嵌入水印是一种复杂度较低的视频水印算法。
然而,由于两种标准间的差异,MPEG-2庞大的水印算法不能直接运用于H.264。
H.264标准的详细描述见参考文献[1]和[2]。
部分近期出版的文献探讨了在H.264码流序列中嵌入水印的方法。
参考文献[3]中,作者提出一种混合水印机制,即在离散余弦变换(DCT)中嵌入鲁棒性水印,在运动矢量中嵌入脆弱性水印。
参考文献[4]给出一种复杂度较低的机制,即在每个I帧宏块中选中一个已量化的交流系数,给这个系数嵌入一位水印码。
参考文献[5]中,作者描述了一种在H.264I-帧中嵌入水印的盲水印算法,但它也要求解压视频以嵌入水印。
[3]和[4]所述算法均是在视频压缩格式下嵌入水印,这些算法的鲁棒性不足以抵挡一般的水印攻击。
因为水印是嵌入在I-帧残差并且从I-帧残差中提取的,所以一些简单的处理就可以改变宏块内的预测模式,使得残差无法恢复,比如,先滤波,再用H.264编码器重新编码。
本文旨在描述一种针对H.264标准的鲁棒性水印算法。
该算法在残差中嵌入水印,避免解压视频的同时降低了算法复杂度;在解码视频序列中提取水印,从而可以确定帧内编码模型改变时算法的鲁棒性。
H.264具有高压缩率,空余给待嵌入微信号的空间极小,所以在限制视觉失真的同时,采用人类视觉模型来提高有效载荷和鲁棒性。
沃森等人[7]为感知失真的8×8离散余弦变换域推导出一种模型[6],[7],文献[8]和[9]中运用该感知模型设计出静止图像和MPEG-2视频的水印算法,但H.264使用的是4×4域变换,不是8×8域变换,4×4域变换[10]是对DCT的整数正交逼近,这种变换由精确的整数运算定义,避免了反变换不匹配的问题。
本文将人类视觉模型扩展到4×4离散余弦变换域,当所有可用于水印嵌入、具有视觉容量的系数都被使用时,视频的视觉质量将会下降。
本文使用与密匙相关的算法在具有视觉水印容量的系数中选择一个子集,并将水印嵌入这一子集,从而使算法在对抗恶意攻击时具有更强的鲁棒性,此外,该算法的设计使水印遍布各频率并在区域内传播,减小了沃森[7]所述的误差合并的影响。
此前的感知水印算法从未考虑过误差合并[8],[9]。
假设DCT交流系数符合广义高斯概率分布,本文建立了基于似然比检验的水印检测理论框架。
我们证实,所产生水印码的总和及选中的DCT系数是两个水印检测的充分统计量,而选中的DCT系数是由原始视频的量化步长来测量的。
同时,如果DCT的系数中存在水印,那么水印检测器的性能由这些充分统计量的条件均值决定。
这一均值取决于三个参数:
所选中DCT系数量化步长大小的方均值、所选中DCT系数的标准偏差和计算充分统计量所用到的DCT系数的个数N。
DCT系数的标准偏差和H.264的量化步长大小是无法控制的,在检测视频水印时,我们能控制用于计算充分统计量的水印系数的个数。
但这并不适用于图像,因为即使每幅图像中嵌入的水印码个数达到其上限值,图像的水印仍不可见,因此,对于给定的虚警概率PF,本文的视频水印算法通过计算N来获得检测值的期望概率PD。
蒙特卡罗实验的仿真结果显示,理论选择的N值确实可以计算得到PD和PF的预期值。
仿真结果同样显示,本文提出的水印方案对3×3的高斯滤波、50%的削去攻击,N(0,0.001)的白噪声和寻常蓄意攻击都具有鲁棒性。
本文按如下方式行文。
第二部分讲述从8×8DCT域得到4×4DCT域的人类视觉模型。
第三部分描述所提出的水印方案。
第四部分讨论水印的嵌入过程。
第五部分建立水印检测的理论框架并提出基于此框架的视频水印检测算法。
仿真结果在第六部分中给出。
二、4×4DCT域的人类视觉模型
Xi,j是M×M区域的DCT系数,该区域中的像素点x(n1,n2)按式
(1)的DCT基函数分布:
(1)
其中
(2)
人类视觉灵敏度随DCT基函数中频率的变化而变化。
参考文献[11]中,测量了8×8DCT域中,不同DCT频率下的量化误差阈值。
这里,我们将扩大8×8DCT域的量化误差视觉阈值,以使其适用于4×4DCT域。
4×4DCT域的基函数定义为:
(3)
8×8DCT域的基函数定义为:
(4)
比较(3)、(4)两式可得,
当
(5)
成立时,4×4DCT域基函数中的i4j4与8×8DCT域基函数中的i8j8有相同的频率。
因为对于满足0≤i4,j4≤3的所有i4j4,总存在一组i8j8满足0≤i8,j8≤7,所以可以从已知的8×8DCT基函数的视觉阈值得到4×4DCT基函数的视觉阈值。
因数ci和cj使得4×4DCT的误差幅度是8×8DCT的两倍,因此,为获得不可见性,用8×8DCT基函数的视觉阈值2i42j4除以2得到4×4DCT基函数的视觉阈值i4j4,参考文献[11]中给出了颜色空间中8×8DCT域的量化矩阵,我们用它得到4×4DCT域的量化矩阵。
实际的视觉阈值ti,j是量化步长qi,j大小的一半。
利用亮度掩蔽和对比度掩蔽这两个方面的影响,获得依赖图像的量化矩阵[7]。
如下所示的幂函数是亮度掩蔽的简单近似解:
(6)
式中,
0,0是显示亮度均值所对应的直流系数,
0,0,k是k区域的直流系数,aT控制掩蔽的发生程度。
按照参考文献[7]中令aT=0.649,最终,区域k(Xi,j,k)DCT系数Xi,j的掩蔽阈值mi,j,k由对比度阈值决定
(7)
式中ωi,j在0,1之间,按照参考文献[7]令ωi,j=0.7。
这种依赖图像的方式保证了每个误差都在阈值之内。
此外,沃森指出误差的能见度不单基于最大误差的能见度,而是反映了区域内不同频率的各种误差。
水印在不同的频率和区域内传播以减小误差合并,之前的感知水印算法[8],[9]从未考虑这点。
三、算法的提出
本文计算了区域k中每个系数Xi,j的掩蔽误差视觉阈值mi,j,k,这一阈值除以该区域的H.264量化步长Qk得到一值,该值决定了系数Si,j,k的水印码容量
(8)
我们将用于水印嵌入的具有视觉容量的系数集(即容量大于0)表示为
(9)
在CV中所有系数均插入水印码将产生明显的伪影。
参考文献[8]、[9]的算法是在CV中大于视觉阈值mi,j,k的系数中嵌入水印,但这在很大程度上限制了嵌入水印的比特数。
若要在视频帧中嵌入更多水印码,则要增加视觉模型中规定的掩蔽影响的参数(aT和wi,j)[7]。
危险的是,这可能需要从掩蔽中承担比实际更大的收益,进而导致可见的视觉伪影,并且水印码的位置将更容易确定,从而导致该算法应对攻击的鲁棒性降低。
本文的算法选择了CV系数集的一个子集,密匙控制该选择过程。
该算法产生一个包含水印码真实位置信息的控制板,它将被用于水印检测,这个控制板可以看作自动生成的确认号码或密码。
由于该系数选择算法被一个密匙控制,所以攻击者无法知道CV中水印系数的真实位置,如果要确信水印被消除,攻击者需要修改CV中的大多数系数,但这也将导致可见的伪影。
本文设计的系数选择算法可以在不同频率和区域中传播水印。
密匙对每个4×4区域中的所有系数进行排名,为使水印码在频率上传播,通常给嵌入系数越少的水印以更高的排名,并且只在幅值大于阈值Tcof的系数中嵌入水印。
这种算法通过限制嵌入每个区域的水印码个数Tblock实现在不同区域中水印码的传播。
该策略的一个优势是,通过提高Tblock或降低Tcof可以容易地提高水印有效载荷。
实验表明,由于误差合并的影响得到限制,所以适当放宽这些阈值,可以在不影响视觉质量的同时增加所嵌入水印码的数目。
此外,依赖于纹理和时域掩蔽,Tblock和Tcof可以做出调整来控制一帧中水印码的个数。
本算法初步尝试获得大有效载荷的同时减小误差合并,为发展出更理想、更安全的技术,依然需要深入研究。
图1为本文所提出算法的架构。
图1本文所述水印系统架构
若忽略框图中最上方的通路,则成为H.264编码器结构。
当前帧中的每个宏块都由帧内或帧间预测模式预测所得,当前宏块和预测信号间的差异就是残差,残差经变换、量化、重新排序和熵编码,最终写入码流。
编码器中有一条重建当前帧的反向路径,本文所述算法在编码器中嵌入水印,感知模型运用原始视频帧找到具有水印容量的CV系数位置,系数选择算法从这些系数中选出一个子集,水印码叠加在这些位置量化后的DCT残差上。
在压缩视频中嵌入水印有两种不同方案。
一种是在编码器中嵌入水印,此时,水印引起的误差可以在之后的预测中校正,并且误差不会在I-帧和P-帧中传播。
保证高感知质量的同时,该方案可以在压缩视频中嵌入更多水印码。
但是从已添加水印的视频帧预测得到的视频帧,其比特率将增加。
本文所讨论的就是这种方案。
另一种方案是在码流中嵌入水印。
这种方案中,误差将在I-帧和P-帧中传播,相对于视频比特率的增加来说,维持高的视觉质量难度更大。
传播中的误差可以用漂移补偿信号来弥补[12]。
四、水印的嵌入
本文提出在I-帧量化残差中嵌入水印信息。
因此只有熵编码需要嵌入水印,使得水印嵌入算法的计算复杂度有所降低。
我们使用一个具有均值为0、方差为1的双极水印W∈{-1,1}。
若已解码视频或重新编码过程受到简单攻击,则随着I-宏块预测模式的改变,残差将改变。
但DCT的线性特性保证了水印依然呈现在已解码的视频序列中,而且仍有很高的概率可以检测到它。
若用iijk表示原始像素值,pijk表示预测值,rijk表示残差,所对应的DCT值分别用Iijk、Pijk和Rijk表示。
假定s是一个DCT系数,则
,s'和
分别表示量化、加水印和受到攻击时的系数。
预测值和残差之和等于原始像素值,以式(10)表示:
(10)
由DCT线性特性可得:
(11)
水印嵌入到已量化的残差中有:
(12)
和
(13)
所以
(14)
水印叠加到已量化的DCT残差上,类似于将量化步长大小叠加在原始DCT系数上。
受到常见视频信号处理操作的攻击或受到改变区域预测模式的攻击时,残差和预测值将发生改变,即、。
但如果视频质量仍可以接受,就有,并且依然可以从解码视频序列中提取出水印。
五、水印检测
水印检测是一个经典的检测问题[13],一种假说认为水印存在,另一种假说认为水印不存在。
检测水印需要在这两个假说中选择其一。
两种假说下的观察如下:
(15)
(16)
式中,Ie表示所选中视频帧的DCT系数;Qe是视频编码器为该系数选中的H.264量化步长大小;We是从双极水印序列W∈{-1,1}选择出的水印码,均值为零、方差为1。
为简便起见,本部分中使用下标i和j,下标e表示第e个水印码或第e个DCT系数。
DCT直流系数符合广义高斯分布[14],[15],可以表示为:
(17)
其中
(18)
(19)
Γ(.)是Gamma函数。
当c=0.8时,恰好成为直流系数。
当c=2时,为标准高斯分布。
理想检测器与似然比相比较可得阈值:
(20)
式中η控制漏检和虚警之间的平衡[13]。
假设嵌入水印的DCT系数具有统计独立性,以联合概率密度代替式(20)中的似然比可得:
(21)
化简后得:
(22)
式中,N表示从视频中选择的DCT系数的个数,。
所产生的水印码和按照H.264量化步长大小等比例缩小的DCT系数,两者之和是一个充分统计量,确定结论时,已知充分统计量的值等同于已知Ye。
因此,首先用原始水印码WeQe对解码帧Ye中选中的DCT系数进行加倍,再计算其总和,最后将该结果与阈值比较,即可实现水印检测。
返回式(22),可得广义随机变量Y是广义高斯分布随机变量的加权和。
假设DCT系数具有独立性,中心极限定律表明该总和接近于高斯分布的均值
和方差
。
因此,假说H0中Y服从
,假说H1中Y服从
。
式(22)乘以
可使高斯分布归一化,再替换b可得:
(23)
其中,阈值
(24)
图2
与
的概率密度
H0中,ψ服从N(0,1)。
H1中,ψ服从
。
注意,ψ也是一个充分统计量。
上述两个概率分布如图2所示。
两个概率密度均值间的距离
。
为评估水印检测器的性能,需计算检测概率PD和虚警概率PF。
对DCT系数应用广义高斯概率模型(而对充分统计量运用高斯模型),PD和PF分别为:
(25)
(26)
为得到PD和PF的精确值,检测器选择阈值来匹配PF,选择d来达到PD的目标值。
如上文所述,d是三个参数的函数,定义为:
(27)
式中
2由编码器选择,其值为所选DCT系数的H.264量化步长大小的平方均值。
б是视频DCT系数的标准偏差,也是视频的性质,因此,水印检测器并不能改变这两个参数。
但是,第三个参数N表示嵌入水印的DCT系数个数,用来计算充分统计量。
检测算法能够通过选择N以获得期望的d值,解式(27)即可得到N值,然后用N个选中的DCT系数计算充分统计量ψ。
N个选中的DCT系数形成的流,可扩展到多个I-帧或被包含在一个I-帧的一部分中,如果对所有选中的DCT系数都有Qe=Q成立,那么式(27)可以简化为
。
本文水印检测机制有如下优点。
一是,若视频较长并且应用中检测器响应时间可以是任意的,那么无论视频序列格式,检测器的误码率都可以保持。
充分统计量ψ具有相同的概率分布,而与视频序列无关,但是,计算ψ的变化除要求已知N值和I-帧中已嵌入水印的DCT系数的个数外,还需要知道I-帧的数目。
这也说明,对一些视频,检测器可以更频繁地产生结果。
因为几乎每段视频都有足够的可添加水印的DCT系数,用以产生充分统计量和检测结果,所以我们相信这点是可以接受的。
下一部分给出了在不同检测情形和不同攻击中,计算一个充分统计量所需的QCIF(四分之一通用中间格式,176×144)I-帧的数目。
第二个优点是,N值完全由检测器选择,而与水印嵌入系统无关。
例如,若水印检测器发现视频序列中的水印由于受到攻击而进行了移动,检测器就将提高N值来获得更多可靠的充分统计量。
需要注意的是,由于视频序列比图像有更大数据量,所以可以获得更多鲁棒性水印检测。
第三个优点是,充分统计量ψ的计算复杂度低于相关性度量[16]。
回想,ψ的定义为:
(28)
水印序列是双极序列{-1.1},充分统计量由DCT系数的子集计算得到,Qe通常是该子集中恒定的一个,因此计算充分统计量只需要对DCT系数进行加减法及很少的乘法运算。
但是,选择N值需要计算视频序列的标准差,这一过程具有较高的计算复杂度,下一部分中将证明视频序列的标准差变化范围很小,所以如果视频帧б的计算复杂度是不可取的,那么可以假定б的上限值,从而设置相应的N值。
六、仿真结果
图3本文水印算法与参考文献[8]中算法的感知质量比较
(a)本文算法嵌入水印后的I-帧;(b)本文算法嵌入水印后的P-帧;
(c)参考文献[8]算法嵌入水印后的I-帧;(d)参考文献[8]算法嵌入水印后的P-帧
本文提出的水印算法在H.264参考软件JM10.2版本[17]中实现。
为比较本文与参考文献[8]中两种水印算法的感知质量,图3展示了由标准视频序列(QCIF,176×144)得到的I-帧和P-帧图像,上方两帧按照本文算法嵌入水印,下方两帧按照参考文献[8]中算法嵌入水印。
需要注意的是,虽然只对I-帧嵌入水印,但添加水印的I-帧会影响依赖于其的P-帧图像。
图3显示,用这两种不同算法嵌入水印,视频帧的感知质量是相当的。
然而,本文算法在I-帧中嵌入了929个水印码,而参考文献[8]中算法只在I-帧中嵌入了642个水印码。
表1加水印系数占具有视觉水印能力的系数集的百分比和I-帧的平均水印码数
六个标准的QCIF视频序列(176×144)进行仿真。
令Tblock=2,Tcof=10.表1对比了本文与参考文献[8]两种算法的两个方面,分别是加水印系数占视觉水印容量CV的比例,以及每个视频序列的所有I-帧中嵌入水印码个数的平均值。
结果显示,除MOBILE和TABLE外,本文的水印算法增加了其它视频序列中嵌入水印码的个数。
这些视频序列具有高质感,包含大量具有水印容量的DCT系数。
然而,本文算法限制每帧中可嵌入的水印码数上限Tblock=2,这减少了视频序列中嵌入水印码的数目,检测算法的性能取决于每个时间间隔中嵌入的水印码数,由于这些视频序列的每帧中已经有很多水印码,所以该限制并不影响检测算法的性能。
一些视频序列中只有少数DCT系数具有水印容量,提高这类视频序列中嵌入的水印码数非常重要,平均而言,用本文算法嵌入水印可以将视频水印率提高5.6%,而参考文献[8]中算法只能提高4.5%。
由于这些算法利用人类视觉模型,所以峰值性噪比(PSNR)不适合作为比较视觉质量的度量,但是本文算法使得视频的PSNR在加水印后比压缩后(加水印前)降低了0.58dB,相比于参考文献[8]算法降低的0.48dB,仍可说明一些问题。
将实验结果与上一部分推导出的理论框架比较,多次计算充分统计量需要大量水印系数,因此,H.264编码器在一个周期内对每个视频序列进行80次编码和水印嵌入(组图:
IBI),充分统计量越多,估计得到的分布就越平稳。
H.264编码器对I-帧使用的量化步长Q=16。
实验一的目标是获得PD=0.99和PF=0.01。
用分析法解式(25)、式(26)可得,当T=2.325,d=4.65时达到此概率。
将解码视频中的水印系数与加水印前该系数的值相比,由于编码过程是有损的,所以该差值并不等于量化步长大小,。
平均而言,系数加水印后和加水印前的差值是
而不是Q,
通常小于但接近于Q。
因此,需要解式(29)得到N
(29)
等式表明,为获得理想的性能,量化参数值越小时,N值必须越大;同样,б值越大时,N值也必须越大。
表2目标为PD=0.99和PF=0.01时的实验结果
图4CARPHONE视频序列达到PD=0.99和PF=0.01时,充分统计量的概率分布
表2显示了,计算80个水印码序列时,每个视频
和б的平均值,以及达到d=4.65时的N值,用每个视频中的N个水印系数计算充分统计量,进而检测水印。
设阈值为T=d/2=2.325,计算检测概率和虚警概率。
PD和PF是充分统计量mψ的平均值,可在实验中获得,同样也呈现在表2中。
实验结果表明,对所有视频序列都有PD接近于0.99,PF接近于0.01,mψ接近于d=4.65。
图4为视频序列CARPHONE在H0和H1下充分统计量的概率分布,该视频序列的80次编码共使用31978个充分统计量,符号〇和◇代表以其为中心的间隔内充分统计量的个数,测量每段间隔内充分统计量的数目,可得其最大值与方差为1的高斯分布的峰值相同。
图4显示,实验测定p(Ψ|H0)和p(Ψ|H1)的分布近似与方差为1的正态分布。
从而证明充分统计量具有正常高斯分布这一假设。
表3目标为PD=0.999和PF=0.001时的实验结果
图5CARPHONE视频序列达到PD=0.990和PF=0.001时,充分统计量的概率分布
实验二的目标是获得PD=0.999和PF=0.001。
分析法解式(25)、式(26)可得,T=3.09和d=6.18时,达到此概率。
表3显示了为得到d=6.18,
和б的平均值及相应的N值。
实验中获得的PD值、PF值和充分统计变量mψ的平均值,也都呈现在表3中。
实验结果同样显示,对所有视频序列PD趋近于0.999,PF趋近于0.001。
图5绘制了视频序列CARPHONE在H0和H1下充分统计量的概率分布,p(Ψ|H0)、p(Ψ|H1)曲线与图4相比产生了进一步分离。
表4目标为PD=0.99和PF=0.001时的实验结果
图6CARPHONE视频序列达到PD=0.99和PF=0.001时,充分统计量的概率分布
实验三的目标是PD=0.99,PF=0.001。
解式(26)可得T=3.09时PF=0.001;解式(25)可得d=5.416时PD=0.99;解式(29)可得每个视频序列要求的N值。
表4列出了每个视频序列的PD值、PF值和充分统计变量mψ的平均值,图6为p(Ψ|H0)、p(Ψ|H1)曲线和此情形下视频序列CARPHONE的阈值T,由于虚警概率小于漏警概率,所以p(Ψ|H0)与p(Ψ|H1)曲线交叉处恰为阈值。
表5目标为PD=0.999和PF=0.001时,受到3×3高斯滤波攻击后的实验结果
最后,测试不同攻击对检测性能的影响。
首先讨论3×3高斯滤波攻击。
同实验二,无攻击情况下接近PD=0.999,PF=0.001,从而选择N值及阈值T=3.09,表5给出高斯滤波攻击后
、б、PD及PF的值。
表5与表3相比可得,视频序列的方差保持大致相同,但
明显减小。
因此,若N仍取原值,则p(Ψ|H1)曲线将向p(Ψ|H0)曲线运动,因为假说H1下ψ的平均值mψ有所减小。
如果按原值设定阈值T,仍旧可获得预期的PF=0.001,但PD将小于0.999。
表5与表2相比可得,每个视频序列获得的mψ值都相近,因此,与表2选择相同的T值,仍可达到PD=0.99和PF=0.01。
表6受到3×3高斯滤波攻击后,为达到PD=0.999和PF=0.001目标的实验结果
进一步增加N值,仍可达到PD=0.999和PF=0.001。
假设高斯滤波攻击后
值减小至9,假设视频序列的方差保持相同,利用这些已知值来计算每段视频序列要求的N值。
表6显示该假设下N、PD、PF在3×