刘内美
(内江职业技术学院,四川 内江641000)
近年来,移动设备和网络的广泛应用,使得视频内容极易拷贝或经网络传播,然而该优点衍生出多媒体内容的安全问题,如版权保护、非法传播等[1]。
为了保护数字产品的版权,许多保护技术得到研究,数字水印[2-3]是其中应用广泛且实现较简单的方案,其优点有控制拷贝、用户身份验证和叛逆者追踪等。数字水印将水印嵌入图片或视频,同时该嵌入水印不影响媒体观看质量且可由检测算法提取。通过检测水印可获得视频的版权所有者信息。
然而,部分攻击方案可对水印产生有效攻击,其中,几何攻击[4]最难抵抗。几何攻击通过破坏水印嵌入和提取的同步性,使作者无法正确提取水印,从而验证失败。
基于已有研究,总结了视频水印的3 个难点:
1)水印提取过程同步性。保证水印提取过程同步性是一大难点。
2)同步过程的鲁棒性。为使得水印提取过程同步,应使恢复过程具有鲁棒性。通常,使用一系列鲁棒性特征点为秘密特征,从而回复目标图像。因此,恢复过程鲁棒性为另一难点。
3)版权纠纷与非法传播追踪问题。通常,仅在媒体内容中嵌入一个水印信息保护作品版权。如一个合法用户,并无传播授权,但利用网络或拷贝将数字内容进行传播,作者将无法追踪。更甚者,如合法用户与非法用户发生财产纠纷,作者将无法根据水印进行判断。因此,版权纠纷与非法传播追踪为另一重要难点。
1)针对第1 个难点,提出帧块匹配同步方案。
帧块算法为本文重要创新点,基于合法用户信息为其产生唯一的秘钥,基于秘钥,随机截取视频某帧的部分矩形块作为帧块。水印嵌入区域由帧块与视频帧匹配得到,因此,各合法用户所提取水印位置不一样。因此,尽管一个媒体内容发给不同用户,但为各用户创建了不同的帧块,从而区分了用户。
2)针对第2 个难点,利用KAZE 特征点匹配。
为使同步提取水印过程具鲁棒性,特征点选取为关键,本算法利用KAZE 特征点做本地特征,其对缩放、平移、旋转、局部光照变化等攻击均有鲁棒性。本算法从视频帧提取KAZE特征点,并与帧块特征点匹配来检测匹配区域。利用匹配区域,产生水印信息的嵌入和提取区域。嵌入水印时,首先,本算法基于DCT 域将水印嵌入匹配区域;然后,作者为用户发送许可证号以证明其为合法用户。提取水印时,首先,使用KAZE 特征匹配获得匹配区域;然后,通过计算仿射参数,可几何回复视频帧,并可轻松提取水印。
3)针对第3 个难点,利用用户注册机制。
合法用户注册其基本信息作为水印。基于用户信息,作者产生秘钥并为每位用户创建帧块,然后将用户信息嵌入媒体内容。由于用户信息嵌入了媒体内容,即使合法用户改变了媒体内容格式,作者亦可提取并准确检测非法用户。如果发生财产纠纷,作者可利用用户许可证获得秘钥,然后恢复目标内容并提取水印。
本算法基于帧块实现,随机截取视频某一帧的一块矩形区域作为帧块,选择帧块是本算法中的关键过程。总体流程如图1 所示。
图1 帧块提取算法
准备帧块阶段:首先,用户需注册其信息,该信息作为水印信息W;然后,基于用户信息,作者产生相应秘钥Ki;之后,基于Ki为其随机产生帧块;最后,将帧块存入数据库。
水印嵌入与提取:作者为各合法用户分配唯一帧块,并基于后文3.1 节内容实现水印嵌入。将用户信息嵌入媒体内容后,作者将许可证号Li发给合法用户。通过帧块,作者同步嵌入区域和提取区域,水印区域使用KAZE 特征点匹配实现。本算法适用于视频帧序列,水印提取同步过程将在3.2 节中详细描述。
由于仅作者有帧块数据库,作者可准确检测水印区域,然而,攻击者需要极高的计算成本来寻找视频帧序列中的嵌入区域,从而使本算法水印信息的安全性得到提高。
当作者检测媒体数据时,利用帧块数据库提取水印信息,将水印信息(即用户信息)与用户数据库比较。如果水印与用户数据库匹配,即为合法用户;反之,为非法用户。
另外,将用户信息作为水印,目的是将水印存在的信息通知用户,从而可预防部分非法传播。
解决数字财产纠纷为本算法目标之一,假设若干用户争论财产。为判断合法用户,作者申请纠纷用户提供其许可证号Li,并获得秘钥Ki。根据Ki,作者可获得帧块并提取出水印信息,根据水印可判断出非法用户。
图2 描述了本算法嵌入水印信息的过程。
图2 嵌入水印流程
步骤1:从原始视频V 提取一帧F,并提取帧F 和帧块Fp的KAZE 特征点。然后,利用特征点匹配得到嵌入区域。KAZE 匹配算法见后文3.3 节。
步骤2:将匹配区域的RGB 帧转换成YCbCr 颜色空间。
步骤3:采用离散余弦变换(DCT)将Y-分量转换成频率域。
步骤4:将W(i,j)∈{0,1},1≤i,j≤L 嵌入Y-分量的频率域空间,其中L×L 为水印大小。W(i,j)转换成线性序列Wl(k)=W(i,j),k=i+jL,1≤i,j≤L。将Wl(k)嵌入DCT 系数。步骤详细解释见3.4 节。
步骤5:计算逆DCT 来获得修改后的Y-分量,并将其与Cb 和Cr 分量融合。
步骤6:转换修改后的YCbCr 帧,获得修改后的RGB 帧。
将视频所有帧重复步骤1 至步骤6,可获得水印视频。
图3 描述了从水印视频提取嵌入信息的方法,通过对帧块使用KAZE 特征点匹配实现。
步骤1:从水印视频V'提取一帧F',然后提取其KAZE 特征点。之后,使用帧块Fp的特征点匹配F'特征点来检测嵌入区域。
步骤2:根据匹配的特征点,计算恢复视频的旋转,缩放和平移等参数。然后,恢复扭曲视频。
步骤3:将匹配区域的RGB 帧图像转换为YCbCr 颜色空间。
步骤4:使用DCT 将Y-分量转换为频率域。
步骤5:可从匹配区域提取嵌入信息Wi(k)。详细步骤见3.4 节。
图3 水印提取流程
为使嵌入和提取过程同步,必须找到原视频和扭曲视频的共同特征并匹配。使用KAZE 特征点可实现这一要求。
首先,从目标帧F 提取KAZE 特征点,并从帧块Fp提取KAZE 特征点,利用文献[5]提出的方案进行匹配。假设F 和Fp的特征点分别为pl和qk
式中:xl,yl,λl和ol分别为帧F 第l 个特征点的x 坐标,y 坐标,缩放尺度和方向值;fl为第l 点64 维或128 维局部边缘方向直方图。本算法使用128 维局部边缘方向直方图;符号“'”表示该参数为帧块Fp的参数。
利用匹配区域的DCT 频率域实现嵌入和提取算法。
首先,将DCT 系数分段成(8×8)块状。每个块中,从低频域中根据秘钥随机选择两组系数:(xi,yi)和(yi,xi)。其DCT 系数f(xi,yi)和f(yi,xi),随着水印强度a(a >0)变化。
式中,xi≠yi。提取水印时,比较f'(xi,yi)和f'(yi,xi)可提取嵌入数据,其中f'表示相应逆DCT 系数:如果f'(xi,yi)>f'(yi,xi),那么W'l(k)=1,否则W'l(k)=0。
水印强度a 影响水印化视频的质量。本试验中,设a 基准值为0.15,a 随着局部区域特征的变化而变化。提取水印W'l(k)后,可得二维水印
视频共有FN帧,所提取水印数量必为FN,由此FN个水印可融合成最终水印Wv。本文使用投票机制做融合算法,对所有比特位值(0 或1)做统计,选择数量多的作最终值
Wv(i,j)即为扭曲视频最终提取出的水印信息。本算法对几何攻击具鲁棒性,详见4.2.2 节。
根据KAZE 特征点匹配算法,旋转、缩放和平移参数可由几何M 估算得到。首先,估算帧和帧块间的缩放参数
其中,λi和λ'i分别为帧F 和帧块Fp匹配特征点的缩放,且M=。
然后,估算旋转角度
式中:αi表示所在帧块匹配特征点i 的中心角度;α'i表示扭曲视频帧匹配特征点i 的中心角度。
最后,调整缩放和旋转后,可计算平移参数δx(宽度平移)和δy(高度平移)
为公平地评价本算法,从(http://media.xiph.org/video/derf/)选4 个标准视频(“Akiyo:300frames,25fps”;“Coastguard:300frames,25fps”;“Carphone:382 frames,12fps”;“Mobile:300frames,25fps”)做试验,均为QCIF 格式(宽×高=176×144)。试验在ubuntu 10.04 系统上进行,水印大小为L×L=64×64,GCC 版本为4.0.1,利用MPlayer(版本为1.1-4.2.1)转换和播放视频。
将水印的透明度和鲁棒性作为算法性能评价的关键参数,并做性能试验:
1)使用峰值信噪比(PSNR)和结构相似性指数(SSIM)作为评估水印隐蔽性标准。本实验中,计算每个视频的PSNR和SSIM,同时使用视频质量标准(VQM)衡量视频的观感质量。VQM 值在0 至1 之间,0 表示无失真,1 表示视频最大损坏。
2)鲁棒性是水印算法另一个重要参数。利用归一化互相关分析(NCC)衡量提取水印和原水印的差别。
4.2.1 水印化视频质量评价
如表1 所示,4 个水印化视频的平均PSNR 值为37.14 dB,36.46 dB,36.93 dB 和36.18 dB。所有值均高于36 dB。另外,其平均SSIM 值分别为0.95,0.98,0.96 和0.99,所有值均接近1.0。原视频和水印化视频视觉上无感官差异(均接近0),透明度优异。
表1 4 个水印化视频的平均PSNR,SSIM,VQM 值
4.2.2 鲁棒性评价
利用VirtualDub 软件对水印化视频进行攻击修改,利用Vidmark Benchmark 仿真时间域去同步攻击。如果NCC 值高于0.9,认为水印方案是鲁棒的。因同类型文献[6]算法性能很好,将本算法与文献[6]算法进行对比试验。
通常,视频的旋转角度较小,小于5°。本实验旋转角度设为-20°~+20°。实验中NCC 值均大于0.9。实验对水印化视频进行不同比例的缩放(0.3 ~1.2)。
表2 为鲁棒性试验结果,共计分别为旋转、缩放、丢帧、插入帧、帧交换、帧平均、模糊化、高斯化和压缩。将本算法与文献[6]比较(本算法NCC 值/文献[6]NCC 值),当缩放比例为0.3 时,文献[6]方案无法检测匹配区域,而本算法可成功检测。且大部分攻击下,本算法都比文献[6]算法性能优秀。同时,本算法具有半盲性、非法用户追踪的优点,综合性能较文献[6]及其他算法优秀,且具有很高的应用价值。
表2 鲁棒性试验结果
Akiyo 水印化视频提取实例如图4 所示,本算法可提取出清晰的水印图像。
图4 akiyo 视频水印提取实例
本算法旨在解决视频水印鲁棒性低或需较多先验信息实现高鲁棒性的问题。本文利用帧块匹配及KAZE 特征匹配实现了性能全面的视频水印算法,在具有优于已有算法的高鲁棒性的同时,具有半盲特性,且实现提取过程的同步性,可保护版权及非法传播的追踪。
[1]廖虹娟,李乔良.改进的数字版权保护模型[J].计算机工程与设计,2011,32(1):24-27.
[2]谢斌,任克强,肖玲玲.一种基于HVS 的DCT 域稳健视频水印算法[J].电视技术,2011,35(9):30-32.
[3]朱光,张军亮.基于SVD 和小波包分解的自适应鲁棒水印算法[J].计算机应用研究,2013,30(4):1230-1233.
[4]任娜,朱长青,王志伟.抗几何攻击的高分辨率遥感影像半盲水印算法[J].武汉大学学报:信息科学版,2011(3):329-332.
[5]FERNáNDEZ P,BARTOLI A,DAVISON A J. KAZE features[M].[S.l.]:Springer Berlin Heidelberg,2012.
[6]WANG C,LIU S,JIANG F,et al. A robust scalable spatial spreadspectrum video watermarking scheme based on a fast downsampling method[J].Journal of Computers,2012,7(9):2256-2261.