阳 溢,柏 森,郭 雨,王 敏
(1.重庆通信学院,重庆400035;2应急通信重庆市重点实验室,重庆400035)
责任编辑:时 雯
当今世界信息科技迅猛发展,推动了数字视频的广泛应用。而数字视频易于复制的特点导致了不法分子的盗版和侵权行为时有发生,数字视频的版权保护面临严峻挑战[1]。数字视频水印应运而生,成为多媒体信息安全领域的一个研究热点。
数字视频水印是指将一个数据信息嵌入到视频媒体中,该嵌入信息使视频媒体的所有者建立对视频的所有权。目前已提出的数字视频水印算法根据水印嵌入位置的不同可分为基于原始视频的水印方法和基于压缩视频的水印方法[2-3]。Haitsma提出了通过调制每一帧的平均亮度,按帧嵌入水印信息的水印算法[4],该算法可以较好地抵抗空间同步失真,但其抗有损压缩的能力较弱。Niu等人提出的沿时间轴嵌入的水印可以抵抗一定频率的丢帧攻击,同时对于有损压缩的抵抗力也较好[5],但该算法对于选择水印嵌入点过于复杂。文献[6]提出在帧的亮度分量中固定位置嵌入标志水印,再选取若干图像块在DCT直流系数中嵌入水印的方法。文献[7]提出一种基于HVS的DCT域稳健视频水印算法,该算法对丢帧、加噪等攻击具有较强的鲁棒性。另外,Shang等人提出了一种用于MPEG压缩视频的可逆水印算法,通过选取合适的DCT系数来提高水印的不可见性,并标记DCT系数的修改用于无损还原原始视频[8]。文献[9]提出了一种在H.264压缩视频中嵌入灰度图像的水印算法,水印嵌入通过修改4×4 DCT对角线系数的符号来实现。
数字视频水印的特点在于:视频的信息量庞大,提取水印不应该用到原始视频信息,即视频水印应实现盲提取;另外,原始视频在传输和存储前往往要经过压缩编码,因此视频水印必须能够抵抗主流的压缩处理或其他各类攻击。将水印嵌入到原始视频的方法比较多,但缺点是算法往往比较复杂,而且对于已压缩的视频,需要先进行解码,然后嵌入水印后再重新编码;压缩视频水印方法的复杂度较低,容易满足实时性要求,但是很难做到对各种针对视频的攻击都具有较好的鲁棒性。作为视频的所有者,在拥有未压缩的视频的情况下,要使水印能够抵抗各种格式的压缩以及其他常见的针对视频的攻击,应该选择在未压缩的视频中嵌入水印。
本文从降低运算复杂度的角度出发,提出了一种基于帧DCT变换的视频水印算法。该方法通过计算视频帧不同位置的嵌入强度来平衡水印不可见性和鲁棒性之间的关系,在视频帧亮度分量分块DCT系数中嵌入经预处理后的水印信息,并且采用多次嵌入等措施增强水印的鲁棒性。其嵌入和提取的流程如图1所示。
图1 视频水印嵌入与提取流程
在视频帧中嵌入水印信息时,提高嵌入强度有利于增强水印鲁棒性,但是与此同时势必会造成视觉质量的下降。为了平衡水印嵌入对视频质量的影响和鲁棒性之间的关系,有必要针对视频帧的不同位置选择不同的嵌入强度。
1)基于纹理的嵌入强度
视频帧8×8分块DCT变换后的交流分量可以用来反映视频帧的纹理平滑程度。设每帧的第k个分块DCT变换后的63个交流分量和值为ACk,则该值越大表明分块的纹理越复杂。基于纹理的嵌入强度q1与分块的纹理复杂度有关,其值已由实验确定。q1取值与ACk的关系如表1所示。
表1 q1的取值
2)基于边缘的嵌入强度
对视频帧进行边缘检测,当分块处于明显的边缘时,可以认为其纹理也比较复杂,人眼对其不敏感,可以加大该分块的嵌入强度。设Edge是分块中处于边缘的像素数量,Edge∈{0,1,…,64},则基于边缘的嵌入强度q2按式(1)取值
3)基于亮度的嵌入强度
当视频帧分块的亮度较大时,人眼对其不敏感,可以加大嵌入强度。设第k个分块的DCT变换后对应的直流分量为DCk,可用其反映第k个分块的平均亮度的强弱。则基于亮度的嵌入强度q3为
式中:h是视频帧亮度分量所有分块DC系数的平均值。
最后,总的水印嵌入强度为
视频通常是以25 f/s(帧/秒)的速率进行播放的。在1 s的时间内,播放了25帧画面相似的图像,所以相邻帧之间的差异并不明显。计算出视频的第1帧各分块的嵌入强度之后,其后一定范围内的帧都可以参照此嵌入强度,而不用对嵌入强度重新计算,这样就大大减少了算法的复杂度。对于画面快速运动的视频,则可以对不同邻域的帧重新计算新的嵌入强度,使嵌入强度的选择更加准确。
人类视觉系统(HVS)对图像的低频分量比高频分量敏感,因此在视频帧的高频分量嵌入水印比在低频分量嵌入能达到更好的视觉效果。但是在高频分量嵌入的水印鲁棒性较差。因此,考虑在视频帧的中频分量中嵌入水印。
在实际应用中,为了节约传输带宽和存储空间,原始视频往往要经压缩后才会送入信道传输。此外,视频在传输过程中也面临各种噪声的干扰,导致在接收端接收的视频出现各种失真。因此,是否抗压缩和其他各类攻击是衡量水印实用价值的重要指标。为了使嵌入的水印能够具有较高的鲁棒性,本文采取了多次嵌入的措施。在第1次水印嵌入完成后,未嵌入水印的邻近视频帧使用相同的方法将水印重复嵌入2次。在水印提取时,当相同位置的提取水印值不同时,取多次提取结果中出现次数较多的值。
PSNR(峰值信噪比)是一个衡量噪声对图像质量影响的常用指标,可用其衡量视频中的每一帧相对原始视频帧的客观差异,其定义为
式中:M和N是载体视频帧的长和高;Iij是原始视频帧的像素值;是含水印视频帧的像素值。当PSNR≥30 dB时,可认为水印具有较好的不可见性。
NC(归一化相关系数)是一个用来衡量提取的水印信息和原始水印信息相似程度的常用指标,其定义为
式中:wij为原始水印值;w'ij为提取的水印值;i和j为水印图像中像素的坐标。当NC=1时,认为实现了水印的完全提取。
水印通常是版权信息,为了保护其不受破坏和减小水印嵌入对原始宿主信号能量的改变,有必要在嵌入前对水印进行预处理,使水印的像素值分布趋于均衡化和随机化,从而提高其安全性。
设水印为正方形的二值图像,对其进行如下预处理:
1)利用一个密钥种子key来生成置乱矩阵A,A中元素为伪随机的0,1构成。
式中:⊕表示异或运算。
1)按下式计算视频每帧的嵌入量
式中:p为视频每帧可嵌入比特数;m和n分别是视频帧的高度和宽度;⎿·」为下取整。
3)按1.2节描述的方法计算每一分块的嵌入强度,构成嵌入强度矩阵Q。
4)对视频每帧做8×8分块DCT,将水印的第i个子矩阵与第i个视频帧的亮度分量对应。按式(8)得到g,再同时令d(4,5)和d(5,4)等于g,d(x,y)为对应视频帧亮度分量每一分块DCT系数,x,y∈{1,2,…,8},表示系数坐标。
倪二泉的双手像树根一样插进土里。他拧紧眉头,一使劲,终于将一只脚迈上了岩顶,然后一翻身,伏在日本鬼子交织的火力网下,滚到一块岩石下下。
式中:a=(d(1,8)+d(2,7)+d(3,6)+d(6,3)+d(7,2)+d(8,1))/6;(r,s)为的第i个子水印;i∈{1,2,…,「l/p⏋},r∈{1,2,…,18},s∈{1,2,…,22}。
5)将嵌入了水印后的视频帧做8×8分块逆DCT。
6)重复步骤4)~5),将水印再嵌入到未嵌水印视频帧中2次,以增强水印的鲁棒性,最终得到含水印视频。
1)在水印嵌入帧做8×8分块DCT。
2)在每一帧中按式(9)所示规则提取水印信息
3)对未提取帧重复步骤2)~3),得到第2次和第3次提取的水印信息,然后按相同位置的值由多次出现值确定的原则,得到分段子水印。
本文采用了3个QCIF格式的原始视频(Foreman,News和Coastguard)作为宿主。利用上述算法完成了水印信息的预处理、嵌入和提取实验,并在含水印视频的峰值信噪比和算法鲁棒性方面做了相关实验分析工作。
实验采用的水印信息如图2a所示,为一标有“版权所有”字样的二值图像。结合图2和表2可知,在对水印做预处理前,水印图像中白色像素值(1值)明显多于黑色像素值(0值),这容易引起视频帧能量的改变,引起攻击者的注意。预处理之后水印图像已被置乱,0值点和1值点的百分比已经相当接近,具有较好的随机分布性质,增强了水印的安全性。
图2 原始水印与置乱后的水印
表2 水印预处理对水印值的影响 %
将水印信息嵌入到3个原始视频中,每个视频分别需要33帧来完成水印的嵌入。如图3所示,图3a~图3c为3个原始视频的第10帧,图3d为待嵌入的水印信息,图3e~3g为3个含水印视频的第10帧,可以看出它们都具有较好的不可见性,其峰值信噪比分别为38.371 5 dB,37.161 8 dB和38.610 9 dB,图3h为提取的水印信息。从3个含水印视频中均能实现水印信息的完全提取,NC都为1.000 0。
3个视频含水印帧的平均峰值信噪比如表3所示。可以看出,嵌入水印后平均峰值信噪比都在30 dB以上,具有较好的不可见性。
图3 嵌入提取实验前后的视频及水印对比
表3 3个视频含水印帧的平均峰值信噪比
对含水印视频进行各类攻击,然后将提取的水印与原始水印比较,通过计算其NC值来对算法的鲁棒性做出评价。本实验分别对3个含水印视频进行丢帧、帧平均、帧重组、亮度提升、亮度减弱和H.264压缩编码等攻击,得出提取水印的NC值如表4所示。由此可知本文算法对于各类攻击具有较强的鲁棒性。各类攻击方法具体如下:
1)丢帧,每10帧丢失1帧;
2)帧平均,每5帧中随机抽取1帧F,与它相邻的两帧(F-1,F+1)求平均,用平均帧F'代替原始帧F;
3)帧重组,每10帧中随机调换两帧;
4)亮度提升,将视频的亮度分量整体提升15%;
5)加噪,在视频帧中加入椒盐噪声;
6)H.264压缩,将含水印视频进行H.264压缩编码后再解码重建视频,平均码率控制在25 kbyte/s。
表4 含水印视频提取的水印NC值
将本文算法与文献[6]算法和文献[7]算法做鲁棒性比较实验,实验中宿主统一采用Foreman,结果如表5所示。可以看出,本文算法抗丢帧、加噪攻击的能力优于文献[6]算法和文献[7]算法,抗H.264压缩的能力优于文献[7]算法。
表5 不同算法的鲁棒性比较
本文结合了数字图像和视频的相关理论,根据人眼对视频帧不同区域的敏感性大小选择了不同的嵌入强度,提出一种在视频帧亮度分量分块DCT系数中嵌入水印的算法。实验表明本算法具有较好的不可见性和较强的鲁棒性,在数字视频版权保护方面具有较广阔的应用前景。
[1]COX I,MILLER M,BLOOM J.Digital watermarking[M].San Francisco:Elsevier Science,2002.
[2]唐松生,董颖.数字视频水印技术综述[J].计算机安全,2007(9):31-33.
[3]SIMITOPOULOS D,TSAFTARIS S,BOULGOURIS N,et al.Compresseddomain video watermarking of MPEG streams[C]//Proc.2002 IEEE International Conference on Multimedia and Expo.[S.l.]:IEEE Press,2002:569-572.
[4]HAITSMA J,KALKER T.A watermarking scheme for digital cinema[C]//Proc.2001 International Conference on Image Processing.New York:IEEE Press,2001:487-489.
[5]NIU X,SCHMUCKER M,BUSCH C.Video watermarking resisting to rotation,scaling,and translation[C]//Proc.SPIE Security Watermarking of Multimedia Contents IV.San Jose:SPIE ,2002:512-519.
[6]高琦,李人厚,刘连山.基于帧间相关性的盲视频数字水印算法[J].通信学报,2006,27(6):43-48.
[7]谢斌,任克强,肖玲玲.一种基于HVS的DCT域稳健视频水印算法[J].电视技术,2011,35(9):30-32.
[8]SHANG Y.A new invertible data hiding in compressed videos or images[C]//Proc.the 3rd International Conference on Natural Computation.Washington DC,USA:IEEE Computer Society,2007:576-580.
[9]ZHANG Jing.Robust digital image in video watermarking for the emerging H.264/AVC Standard[C]//Proc.IEEE Workshop on Signal Processing Systems Design and Implementation.Singapore:IEEE Press,2005:657-662.