论文部分内容阅读
摘 要:由于H.264标准视频提供了极高的压缩效率和更好的视觉质量,很快在数字视频格式中流行起来,因此基于H.264的视频版权保护和认证在不断增加。本文提出了一种基于H.264视频标准的视频盲水印算法,算法针对H.264码流中I帧,通过读取码流数据得到原始宏块图像信息,在8*8的DCT块里选取中频的四个系数,以量化这四个系数的相对大小作为水印嵌入。这样的嵌入方式对系数的改动幅度小;同时系数之间关系相对稳定。这样不仅提高了不可见性,又保证了很强的鲁棒性。实验结果表明:本算法对多种攻击有很好的鲁棒性,同时能保持很高的视觉质量。
关键字:数字水印;视频水印;量化;相对大小
中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.016
本文著录格式:[1]蒋敏,周亚建,张斌.一种基于量化的H.264视频水印算法[J].软件,2013,34(8):46-51
0 引言
随着互联网以及网络技术的飞速发展,网络带宽的不断拓宽,用户越来越容易地在网络上获取、传播不同形式的多媒体数字作品。但同时,盗版者可以很便利地进行盗版制作和传播[1]。视频在多媒体数字作品中扮演了重要角色,所以视频产品在的版权保护问题变得越来越重要。
传统的保护多媒体的技术是密码学,在研究方面,密码学被广泛的研究并取得了很好的发展。密码学的原理是在传输过程对需要保护的内容进行加密,用户需要获得密钥来解密文件。但是,这样的系统无法监控用户解密之后的文件,从而无法防止文件的非法复制和传播,也无法追踪数字媒体的知识产权问题[2]。
作为密码学的一个重要补充,数字水印技术[3]是一种能将版权信息嵌入到数字多媒体作品中的新兴的信息隐藏技术。自1993年Tirkel等人提出了“watermark”以来[4],数字隐藏和水印技术的研究引起了学术界广泛关注,随后数字水印在数字图像、视频和音频等领域得到了迅速的发展,作为版权保护的重要手段而得到了广泛的研究和应用。
采用了多项新压缩技术的H.264视频压缩标准,编码效率比以往发布的视频压缩标准有了很大提高,并且提供了更高的压缩效率,更好的视觉质量以及更优质的压缩、传输和存储标准。因此,H.264视频压缩标准越来越多的运用在视频产品领域,研究基于H.264标准的数字水印技术也越来越迫切。
数字视频水印按照嵌入过程和嵌入载体的不同,可以把数字视频水印的嵌入模式分为三种不用的嵌入方式,分别是基于原始视频的水印方案、基于视频编码的水印方案以及基于压缩视频的水印方案。王龙[5]等人提出了一种基于H.264视频编码的水印算法,该算法在编码中选择I帧中的残差 DCT 系数和参考的 DCT 系数之和作为嵌入载体,同时通过4*4DCT的HVS(Human Visual System)系统控制嵌入强度,修改中频系数中的相对大小的嵌入算法。Mansouri[6]等人提出了一种利用H.264视频码流的压缩域视频水印算法,在该算法中,部分解码视频码流,经过一个比较简单的时空域的分析之后,选择合适的子块作为嵌入对象,提高了算法的鲁棒性和对视觉质量的影响,最终在视频的I帧的4*4子块中做嵌入。
但是现在所提出的数字视频水印算法与视频压缩编码的结合方面研究还不成熟,这些和视频压缩编码结合的算法在鲁棒性或者在不可见性上的表现还有待提升。
本文所提出的是一种基于压缩视频的DCT域水印方案。首先,对水印图像信息进行置乱、增加帧同步信息以及扩频等预处理;然后对H.264码流解码,得到原始的帧信息,通过片头信息确定是否为I帧,在I帧中选取8*8的块嵌入水印。实验结果表明,本文所述的算法具有透明性好,对各种常见的视频分辨率攻击、码率攻击以及帧率攻击抵抗性强等特点。
1 基于多系数量化的视频水印算法
1.1 水印信息生成
图像水印信息在嵌入之前通常需要进行预处理,首先将图像置乱,去除水印信息的相关性,增强水印安全性和鲁棒性。所谓图像置乱就是,利用数字图像具有数字阵列的特点,把图像的像素空间位置重置,把原始有规则的图像变换成杂乱的、无法辨认的原图的新图像。本文采用Arnold变换[7],基于位置的Arnold变换用公式可表示为:
其中:N是图像矩阵的阶数,mod N表示模N运算,x、y是Arnold变换前的坐标,是Arnold变换后的坐标。
我们预先将设计的水印图片放入MATLAB中进行Arnold 置乱变换,二值化后得到所需要的水印二值序列。本文中采用23*23的二值图像“邮”,在进行了三次Arnold变换后得到的图像作为嵌入的水印图像。
图1中显示了置乱前后的图像水印对比,图1(a)代表了原始的水印图像,图1(b)代表了经过三次置乱之后的水印图像。
水印图像经过置乱处理后,将图像信息转换成0、1的比特流。在视频水印嵌入中,为了增强隐藏信息的安全性经常对水印先分块,然后再在每个分块中加入头信息用来标识分块的编码。添加头信息不仅可以用来区分不同的分块,而且可以是用来标识这一帧里有没有嵌入水印。当视频遭遇转码攻击时,可能原来的I帧被编码成了P帧或者B帧,同样原来的P帧或者B帧被编码成I帧,所以如果提取时候还是只提取I帧,水印提取就会出现严重错误。在本文中,通过计算每一帧所能嵌入的水印容量将水印信息分割成若干个分块,在每个分块的头部分别添加一个不同M序列[8]作为头信息。在提取过程中,对每一帧先检测这个头信息,如果检测到头信息,则说明这一帧里是嵌入了水印的,就继续处理从这一帧提取的水印信息;如果检测不到头信息,就可以认为这一帧是没有嵌入水印的。
最后把添加了头信息的水印信息,通过直接序列扩展的方式进行扩频。扩频技术既让水印信息的能量均匀的分布对原始信号进行简单的扩充,又增强了算法容错能力,只要错误在一定限度下,都可以还原出正确的水印比特信息,大大的增加水印算法的鲁棒性。本文采用了15位的位扩展方式,其中:用 ={-1,-1, 1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1}代表水印序列中的“1”,用 ={1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,-1}代表水印序列中的“0”。 1.2 水印嵌入框架
本文提出的水印算法是嵌入在H.264视频的I帧的DCT变换系数里。因为I帧H.264视频编码的关键,并且编码相对稳定,能够抵抗一些常规编码处理,经常用于嵌入鲁棒性水印。在压缩视频中嵌入水印的大致思路是:先读取H.264码流的片头信息,确定片类型、预测类型和量化参数等信息;然后对宏块数据熵解码、反量化和反整数DCT变换后,得到该宏块的残差,再加上该宏块的预测值,得到原始的宏块图像信息;之后运用水印算法在宏块中嵌入水印信息,把嵌入后的图像信息减去预测值后等到新的残差;最后把新的残差值进行DCT变换、量化和熵编码,得到新的宏块数据后,把它写入原始的码流中,嵌入流程如图2所示。
在H.264编码标准中,每一帧都是分成单个宏块来处理。对于每个16*16的宏块,本文把它分成4个8*8的子块,对每个子块进行整数DCT变换,选择其中的一组2*2块中的4的DCT系数作为水印嵌入。
选择中频的一组DCT系数作为嵌入位置。考虑到不可见性和鲁棒性的要求,本文结合嵌入算法对不同位置的系数进行测试,最终选择了4个位置中频系数 作为嵌入位置,如图3所示。
1.3 基于多系数量化的嵌入算法
假设待量化的系数为 ,在本文中,;量化步长为;为水印信息,分别为1、-1。
按照量化步长把坐标轴分为A区间和B区间, A区间内的所有数值除以 的商向下取整为偶数,代表水印信息1,B区间内的所有数值除以的商向下取整为奇数,代表水印信息-1。 分别为A、B区间的第n段的中间坐标, 和 的关系如图4所示。
实现水印嵌入的步骤如下:
1、把宏块分成4个8*8的子块后,每个子块就行整数DCT变换,然后计算 ,对待量化的系数 计算量化值 。
其中:round为舍入取整函数。
2、构建嵌入水印信息后的量化系数。当水印信息为1时,重新构造的值,使重新构造的为距离最近的一个A区间的中间坐标值;当水印信息为-1时,重新构造的值,使重新构造的为距离最近的一个B区间的中间坐标值。该过程可表示如下:
3、构建完后,需要分别修改的值,使
考虑到在这4个系数中嵌入水印的不可见性和鲁棒性有细微区别,本文通过多次测试比较这4个点在这两方面的性能。结果发现4个点嵌入水印后在视觉质量上基本没有区别,只是在鲁棒性上略有差异,这4个点在鲁棒的性能上所以本文修改的权重也是。根据这4个系数修改点的权重大小,分别计算各个系数点的需要修改的大小,并将水印嵌入到分块中。
其中:为截尾取整函数。
1.4 提取水印
提取水印是通过读取上文中已经嵌入水印的H.264码流。首先,和嵌入过程一样,通过解码H.264码流得到原始帧图像;然后将每一帧分成若干个16*16大小的宏块,将每个宏块分成4个8*8的子块,并对每个8*8的子块作整数DCT变换;最后利用上文所述的四个嵌入位置的DCT系数值,计算判定水印的值,提取过程如图5所示。判定方法如下:
其中:为高斯取整函数。
2 水印算法性能测试
2.1 算法测试参数
本文使用H.264/AVC的官方参考软件JM10.2版,采用Visual Studio 2008和Matlab2010对算法进行仿真和测试。
在本次测试中,本算法中的量化步长参数取值为4。
实验中选用2个CIF格式(352*288)的测试视频序列(foreman,soccer)进行水印信息的嵌入和提取,参考软件的编码设置为:CAVLC,初始量化步长QP=28,50帧/秒;GOP采用“IPPP”的结构。
2.2 视频不可见性测评
为了客观评价水印算法的好坏,我们采用PSNR(Peak Signal to Noise Ratio,峰值信噪比)来评价含水印视频的视觉效果,数值越高,视觉效果越好[10]。定义如下:
其中,I和分别表示原始图像和嵌入水印后的图像, i、j为图像内某一像素的坐标,M、N分别是视频帧的宽和高。
图6-7分别列出了各个视频系列随机选取的原始视频图像和嵌入水印的视频图像对比效果图,从图中可以看出,水印嵌入后对图像的在视觉上的影响很小,在视频序列连续播放时,人眼基本无法察觉。
图8-9是所选取的2个测试视频水印嵌入前后所提取的前10帧PSNR值的对比情况。其中横轴代表视频的帧号,纵轴代表PSNR(单位为dB)。
从图中可以看出水印嵌入后的图像和嵌入水印之前相比,PSNR的值变化很小,基本上下降了不到1dB,而[5]中所述的算法水印嵌入给视频的视觉质量带来的下降大概的均值在2dB相比有了一定的提高。显然,本文所提出的视频水印算法在不可见性方面表现得非常好,保证了很好的透明性。
2.3 安全与鲁棒性测评
为了测试水印算法的鲁棒性,在测试过程中对嵌入水印后视频分别进行了分辨率攻击、比特率攻击和帧率攻击的测试。
本文采用ffmpeg.exe作为视频攻击工具,并用BER(Bit Error Rate)来衡量提取出来的水印和原始水印的误码程度[11],数值越小,误码越少,抗攻击性能就越好。定义如下:
其中,表示了原始水印和提取水印值不同的位数,N表示嵌入的原始水印的位数。
1、分辨率攻击结果
将嵌入水印后的测试视频通过5种不同分辨率攻击后提取水印,计算出的BER如表1中所示。
从表1中可以看到,176*144和704*576这两个级别的攻击相当于将原始视频(352*288)压缩到1/4和放大了4倍。在这样高强度的攻击下,本文算法仍然可以准确地提取水印。只是在720*576和1280*720这两个级别攻击下时,提取出现了一定错误,这是因为在这种不同比例放大的攻击下,视频恢复到原尺寸大小时,会产生较大失真;而且720*576和1280*720的攻击强度太大,对视频质量产生了很大影响。综合数据分析,本文所述的算法在抵抗分辨率攻击方面的鲁棒性是极好的。 2、比特率攻击结果
在网络传输中,视频会经常发生比特率改变,所以本文又将嵌入水印后的测试视频经过4种不同比特率攻击后提取水印,计算出的BER如表2中所示。
嵌入水印后的视频中,fireman和soccer的比特率分别为1479.5kbps、1426.6 kbps。从表2中可以看出,在1000kps和2000kps两种攻击强度不高比特率攻击时,BER一直为0,水印可以完全正确的提取出来,保持了很好的鲁棒性。但是在比特率压缩1/2和放大超过2倍的500kbps和3000kbps时,水印提取造成了一定错误,不过水印图像仍可以正确识别。说明本文算法在比特率攻击是鲁棒的。
3、帧率攻击结果
本文将嵌入水印后的测试视频经过3种不同帧率攻击后提取水印,计算出的BER如表3中所示。
如表3中所示,在不同帧率的攻击下,测试的结果BER都为0,说明帧率攻击对水印提取的准确性没有造成影响。这足以证明本文中提出的算法在遭受帧率攻击时的鲁棒性是优秀的。
2.4 测评结果分析
从测试结果中可以看出,本算法抵抗分辨率攻击、比特率攻击和帧率攻击的性能是出色的,保持了很好的鲁棒性,同时嵌入水印后的视频质量较高。
3 结论
本文提出了一种基于多系数相对大小量化的视频图像水印算法,利用四个系数的和差值嵌入比特信息,把需要修改的量化总值按照权重的不同分配到这四个系数中,在保证了图像质量的同时,拥有较出色的鲁棒性。
对多个系数相对大小量化水印嵌入的方式和一般基于单个系数的量化的方法相比,对系数的改动大幅度减小;同时系数之间关系相对稳定。这样不仅提高了不可见性,又保证了很强的鲁棒性。
在今后的研究中可以从以下几方面对算法改进:(1)量化步长和原始视频有密切关系,可以根据视频的特征自适应确定量化步长;(2)优化算法,对嵌入位置、嵌入系数个数等进s行专门研究,降低嵌入水印后对视频质量的影响并提高抵抗各类攻击的鲁棒性。
参考文献
[1] Langelaar G C, Setyawan I, Lagendijk R L. Watermarking digital image and video data. A state-of-the-art overview[J]. Signal Processing Magazine, IEEE, 2000, 17(5): 20-46.
[2] Chan P W, Lyu M R, Chin R T. A novel scheme for hybrid digital video watermarking: approach, evaluation and experimentation[J]. Circuits and Systems for Video Technology, IEEE Transactions on, 2005, 15(12): 1638-1649.
[3] 孙圣和,陆哲明,牛夏牧. 数字水印技术及应用[M].北京:科学出版社,2004.
Sun Shenghe, Lu Zheming, Niu Xiamu. Digital watermarking technology and application[M].Beijing: Science Press,2004. (in Chinese)
[4] Tirkel A Z, Rankin G A, Van Schyndel R M, et al. Electronic watermark[J]. Digital Image Computing, Technology and Applications (DICTA’93), 1993: 666-673.
[5] 王龙,伍淳华,袁开国,等. 一种基于H. 264的鲁棒视频水印算法[J].软件,2012,33(11):181-185.
Wang Long,Wu Chunhua,Yuan Kaiguo,et al. A video watermarking algorithm based on H.264[J].Software,2012,33(11):181-185. (in Chinese)
[6] Mansouri A, Aznaveh A M, Torkamani-Azar F, et al. A low complexity video watermarking in H. 264 compressed domain[J]. Information Forensics and Security, IEEE Transactions on, 2010, 5(4): 649-657.
[7] 张俊萍,谭月辉,梁欣,等. Arnold 变换的置乱恢复研究[J]. 军械工程学院学报,2006,18(4): 52-55.
Zhang Junping, Tanyue Hui, Liang Xin,et al. Research on the Scrambling Resumption of Arnold Transformation[J]. Journal of Ordnance Engineering College, 2006, 18(4):52-55.(in Chinese)
[8] 茹国宝,杨锐,张永强,等. 一种改进的数字图像扩频水印技术[J]. 信息与电子工程, 2003,1(2):22-25.
Ru Guobao, Yang Rui, Zhang Yongqiang, et al. A Improved Spread Spectrum Digital Image Watermarking Technology. Information and Electronic Engineering, 2003, 1(2):22-25.(in Chinese)
[9] 李旭东. 基于分块 DCT 和量化的图像盲水印算法[J]. 计算机工程, 2006,32(21):139-140.
Li Xudong. Blocked DCT and Quantization Based Blind Image Watermark Algorithm[J]. Computer Engineering, 2006, 32(21):139-140. (in Chinese)
[10] Cox I J, Kilian J, Leighton F T, et al. Secure spread spectrum watermarking for multimedia[J]. Image Processing, IEEE Transactions on, 1997, 6(12): 1673-1687.
[11] 杜鹏超,唐通林. 数字水印研究中常用的测试指标(上)[J]. 电子质量,2002,11:7-10.
Du Pengchao,Tang Tonglin. Common benchmarks used in digital watermarking research(I)[J]. Electronics Quality, 2002, 11:7-10. (in Chinese)
关键字:数字水印;视频水印;量化;相对大小
中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.016
本文著录格式:[1]蒋敏,周亚建,张斌.一种基于量化的H.264视频水印算法[J].软件,2013,34(8):46-51
0 引言
随着互联网以及网络技术的飞速发展,网络带宽的不断拓宽,用户越来越容易地在网络上获取、传播不同形式的多媒体数字作品。但同时,盗版者可以很便利地进行盗版制作和传播[1]。视频在多媒体数字作品中扮演了重要角色,所以视频产品在的版权保护问题变得越来越重要。
传统的保护多媒体的技术是密码学,在研究方面,密码学被广泛的研究并取得了很好的发展。密码学的原理是在传输过程对需要保护的内容进行加密,用户需要获得密钥来解密文件。但是,这样的系统无法监控用户解密之后的文件,从而无法防止文件的非法复制和传播,也无法追踪数字媒体的知识产权问题[2]。
作为密码学的一个重要补充,数字水印技术[3]是一种能将版权信息嵌入到数字多媒体作品中的新兴的信息隐藏技术。自1993年Tirkel等人提出了“watermark”以来[4],数字隐藏和水印技术的研究引起了学术界广泛关注,随后数字水印在数字图像、视频和音频等领域得到了迅速的发展,作为版权保护的重要手段而得到了广泛的研究和应用。
采用了多项新压缩技术的H.264视频压缩标准,编码效率比以往发布的视频压缩标准有了很大提高,并且提供了更高的压缩效率,更好的视觉质量以及更优质的压缩、传输和存储标准。因此,H.264视频压缩标准越来越多的运用在视频产品领域,研究基于H.264标准的数字水印技术也越来越迫切。
数字视频水印按照嵌入过程和嵌入载体的不同,可以把数字视频水印的嵌入模式分为三种不用的嵌入方式,分别是基于原始视频的水印方案、基于视频编码的水印方案以及基于压缩视频的水印方案。王龙[5]等人提出了一种基于H.264视频编码的水印算法,该算法在编码中选择I帧中的残差 DCT 系数和参考的 DCT 系数之和作为嵌入载体,同时通过4*4DCT的HVS(Human Visual System)系统控制嵌入强度,修改中频系数中的相对大小的嵌入算法。Mansouri[6]等人提出了一种利用H.264视频码流的压缩域视频水印算法,在该算法中,部分解码视频码流,经过一个比较简单的时空域的分析之后,选择合适的子块作为嵌入对象,提高了算法的鲁棒性和对视觉质量的影响,最终在视频的I帧的4*4子块中做嵌入。
但是现在所提出的数字视频水印算法与视频压缩编码的结合方面研究还不成熟,这些和视频压缩编码结合的算法在鲁棒性或者在不可见性上的表现还有待提升。
本文所提出的是一种基于压缩视频的DCT域水印方案。首先,对水印图像信息进行置乱、增加帧同步信息以及扩频等预处理;然后对H.264码流解码,得到原始的帧信息,通过片头信息确定是否为I帧,在I帧中选取8*8的块嵌入水印。实验结果表明,本文所述的算法具有透明性好,对各种常见的视频分辨率攻击、码率攻击以及帧率攻击抵抗性强等特点。
1 基于多系数量化的视频水印算法
1.1 水印信息生成
图像水印信息在嵌入之前通常需要进行预处理,首先将图像置乱,去除水印信息的相关性,增强水印安全性和鲁棒性。所谓图像置乱就是,利用数字图像具有数字阵列的特点,把图像的像素空间位置重置,把原始有规则的图像变换成杂乱的、无法辨认的原图的新图像。本文采用Arnold变换[7],基于位置的Arnold变换用公式可表示为:
其中:N是图像矩阵的阶数,mod N表示模N运算,x、y是Arnold变换前的坐标,是Arnold变换后的坐标。
我们预先将设计的水印图片放入MATLAB中进行Arnold 置乱变换,二值化后得到所需要的水印二值序列。本文中采用23*23的二值图像“邮”,在进行了三次Arnold变换后得到的图像作为嵌入的水印图像。
图1中显示了置乱前后的图像水印对比,图1(a)代表了原始的水印图像,图1(b)代表了经过三次置乱之后的水印图像。
水印图像经过置乱处理后,将图像信息转换成0、1的比特流。在视频水印嵌入中,为了增强隐藏信息的安全性经常对水印先分块,然后再在每个分块中加入头信息用来标识分块的编码。添加头信息不仅可以用来区分不同的分块,而且可以是用来标识这一帧里有没有嵌入水印。当视频遭遇转码攻击时,可能原来的I帧被编码成了P帧或者B帧,同样原来的P帧或者B帧被编码成I帧,所以如果提取时候还是只提取I帧,水印提取就会出现严重错误。在本文中,通过计算每一帧所能嵌入的水印容量将水印信息分割成若干个分块,在每个分块的头部分别添加一个不同M序列[8]作为头信息。在提取过程中,对每一帧先检测这个头信息,如果检测到头信息,则说明这一帧里是嵌入了水印的,就继续处理从这一帧提取的水印信息;如果检测不到头信息,就可以认为这一帧是没有嵌入水印的。
最后把添加了头信息的水印信息,通过直接序列扩展的方式进行扩频。扩频技术既让水印信息的能量均匀的分布对原始信号进行简单的扩充,又增强了算法容错能力,只要错误在一定限度下,都可以还原出正确的水印比特信息,大大的增加水印算法的鲁棒性。本文采用了15位的位扩展方式,其中:用 ={-1,-1, 1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1}代表水印序列中的“1”,用 ={1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,-1}代表水印序列中的“0”。 1.2 水印嵌入框架
本文提出的水印算法是嵌入在H.264视频的I帧的DCT变换系数里。因为I帧H.264视频编码的关键,并且编码相对稳定,能够抵抗一些常规编码处理,经常用于嵌入鲁棒性水印。在压缩视频中嵌入水印的大致思路是:先读取H.264码流的片头信息,确定片类型、预测类型和量化参数等信息;然后对宏块数据熵解码、反量化和反整数DCT变换后,得到该宏块的残差,再加上该宏块的预测值,得到原始的宏块图像信息;之后运用水印算法在宏块中嵌入水印信息,把嵌入后的图像信息减去预测值后等到新的残差;最后把新的残差值进行DCT变换、量化和熵编码,得到新的宏块数据后,把它写入原始的码流中,嵌入流程如图2所示。
在H.264编码标准中,每一帧都是分成单个宏块来处理。对于每个16*16的宏块,本文把它分成4个8*8的子块,对每个子块进行整数DCT变换,选择其中的一组2*2块中的4的DCT系数作为水印嵌入。
选择中频的一组DCT系数作为嵌入位置。考虑到不可见性和鲁棒性的要求,本文结合嵌入算法对不同位置的系数进行测试,最终选择了4个位置中频系数 作为嵌入位置,如图3所示。
1.3 基于多系数量化的嵌入算法
假设待量化的系数为 ,在本文中,;量化步长为;为水印信息,分别为1、-1。
按照量化步长把坐标轴分为A区间和B区间, A区间内的所有数值除以 的商向下取整为偶数,代表水印信息1,B区间内的所有数值除以的商向下取整为奇数,代表水印信息-1。 分别为A、B区间的第n段的中间坐标, 和 的关系如图4所示。
实现水印嵌入的步骤如下:
1、把宏块分成4个8*8的子块后,每个子块就行整数DCT变换,然后计算 ,对待量化的系数 计算量化值 。
其中:round为舍入取整函数。
2、构建嵌入水印信息后的量化系数。当水印信息为1时,重新构造的值,使重新构造的为距离最近的一个A区间的中间坐标值;当水印信息为-1时,重新构造的值,使重新构造的为距离最近的一个B区间的中间坐标值。该过程可表示如下:
3、构建完后,需要分别修改的值,使
考虑到在这4个系数中嵌入水印的不可见性和鲁棒性有细微区别,本文通过多次测试比较这4个点在这两方面的性能。结果发现4个点嵌入水印后在视觉质量上基本没有区别,只是在鲁棒性上略有差异,这4个点在鲁棒的性能上所以本文修改的权重也是。根据这4个系数修改点的权重大小,分别计算各个系数点的需要修改的大小,并将水印嵌入到分块中。
其中:为截尾取整函数。
1.4 提取水印
提取水印是通过读取上文中已经嵌入水印的H.264码流。首先,和嵌入过程一样,通过解码H.264码流得到原始帧图像;然后将每一帧分成若干个16*16大小的宏块,将每个宏块分成4个8*8的子块,并对每个8*8的子块作整数DCT变换;最后利用上文所述的四个嵌入位置的DCT系数值,计算判定水印的值,提取过程如图5所示。判定方法如下:
其中:为高斯取整函数。
2 水印算法性能测试
2.1 算法测试参数
本文使用H.264/AVC的官方参考软件JM10.2版,采用Visual Studio 2008和Matlab2010对算法进行仿真和测试。
在本次测试中,本算法中的量化步长参数取值为4。
实验中选用2个CIF格式(352*288)的测试视频序列(foreman,soccer)进行水印信息的嵌入和提取,参考软件的编码设置为:CAVLC,初始量化步长QP=28,50帧/秒;GOP采用“IPPP”的结构。
2.2 视频不可见性测评
为了客观评价水印算法的好坏,我们采用PSNR(Peak Signal to Noise Ratio,峰值信噪比)来评价含水印视频的视觉效果,数值越高,视觉效果越好[10]。定义如下:
其中,I和分别表示原始图像和嵌入水印后的图像, i、j为图像内某一像素的坐标,M、N分别是视频帧的宽和高。
图6-7分别列出了各个视频系列随机选取的原始视频图像和嵌入水印的视频图像对比效果图,从图中可以看出,水印嵌入后对图像的在视觉上的影响很小,在视频序列连续播放时,人眼基本无法察觉。
图8-9是所选取的2个测试视频水印嵌入前后所提取的前10帧PSNR值的对比情况。其中横轴代表视频的帧号,纵轴代表PSNR(单位为dB)。
从图中可以看出水印嵌入后的图像和嵌入水印之前相比,PSNR的值变化很小,基本上下降了不到1dB,而[5]中所述的算法水印嵌入给视频的视觉质量带来的下降大概的均值在2dB相比有了一定的提高。显然,本文所提出的视频水印算法在不可见性方面表现得非常好,保证了很好的透明性。
2.3 安全与鲁棒性测评
为了测试水印算法的鲁棒性,在测试过程中对嵌入水印后视频分别进行了分辨率攻击、比特率攻击和帧率攻击的测试。
本文采用ffmpeg.exe作为视频攻击工具,并用BER(Bit Error Rate)来衡量提取出来的水印和原始水印的误码程度[11],数值越小,误码越少,抗攻击性能就越好。定义如下:
其中,表示了原始水印和提取水印值不同的位数,N表示嵌入的原始水印的位数。
1、分辨率攻击结果
将嵌入水印后的测试视频通过5种不同分辨率攻击后提取水印,计算出的BER如表1中所示。
从表1中可以看到,176*144和704*576这两个级别的攻击相当于将原始视频(352*288)压缩到1/4和放大了4倍。在这样高强度的攻击下,本文算法仍然可以准确地提取水印。只是在720*576和1280*720这两个级别攻击下时,提取出现了一定错误,这是因为在这种不同比例放大的攻击下,视频恢复到原尺寸大小时,会产生较大失真;而且720*576和1280*720的攻击强度太大,对视频质量产生了很大影响。综合数据分析,本文所述的算法在抵抗分辨率攻击方面的鲁棒性是极好的。 2、比特率攻击结果
在网络传输中,视频会经常发生比特率改变,所以本文又将嵌入水印后的测试视频经过4种不同比特率攻击后提取水印,计算出的BER如表2中所示。
嵌入水印后的视频中,fireman和soccer的比特率分别为1479.5kbps、1426.6 kbps。从表2中可以看出,在1000kps和2000kps两种攻击强度不高比特率攻击时,BER一直为0,水印可以完全正确的提取出来,保持了很好的鲁棒性。但是在比特率压缩1/2和放大超过2倍的500kbps和3000kbps时,水印提取造成了一定错误,不过水印图像仍可以正确识别。说明本文算法在比特率攻击是鲁棒的。
3、帧率攻击结果
本文将嵌入水印后的测试视频经过3种不同帧率攻击后提取水印,计算出的BER如表3中所示。
如表3中所示,在不同帧率的攻击下,测试的结果BER都为0,说明帧率攻击对水印提取的准确性没有造成影响。这足以证明本文中提出的算法在遭受帧率攻击时的鲁棒性是优秀的。
2.4 测评结果分析
从测试结果中可以看出,本算法抵抗分辨率攻击、比特率攻击和帧率攻击的性能是出色的,保持了很好的鲁棒性,同时嵌入水印后的视频质量较高。
3 结论
本文提出了一种基于多系数相对大小量化的视频图像水印算法,利用四个系数的和差值嵌入比特信息,把需要修改的量化总值按照权重的不同分配到这四个系数中,在保证了图像质量的同时,拥有较出色的鲁棒性。
对多个系数相对大小量化水印嵌入的方式和一般基于单个系数的量化的方法相比,对系数的改动大幅度减小;同时系数之间关系相对稳定。这样不仅提高了不可见性,又保证了很强的鲁棒性。
在今后的研究中可以从以下几方面对算法改进:(1)量化步长和原始视频有密切关系,可以根据视频的特征自适应确定量化步长;(2)优化算法,对嵌入位置、嵌入系数个数等进s行专门研究,降低嵌入水印后对视频质量的影响并提高抵抗各类攻击的鲁棒性。
参考文献
[1] Langelaar G C, Setyawan I, Lagendijk R L. Watermarking digital image and video data. A state-of-the-art overview[J]. Signal Processing Magazine, IEEE, 2000, 17(5): 20-46.
[2] Chan P W, Lyu M R, Chin R T. A novel scheme for hybrid digital video watermarking: approach, evaluation and experimentation[J]. Circuits and Systems for Video Technology, IEEE Transactions on, 2005, 15(12): 1638-1649.
[3] 孙圣和,陆哲明,牛夏牧. 数字水印技术及应用[M].北京:科学出版社,2004.
Sun Shenghe, Lu Zheming, Niu Xiamu. Digital watermarking technology and application[M].Beijing: Science Press,2004. (in Chinese)
[4] Tirkel A Z, Rankin G A, Van Schyndel R M, et al. Electronic watermark[J]. Digital Image Computing, Technology and Applications (DICTA’93), 1993: 666-673.
[5] 王龙,伍淳华,袁开国,等. 一种基于H. 264的鲁棒视频水印算法[J].软件,2012,33(11):181-185.
Wang Long,Wu Chunhua,Yuan Kaiguo,et al. A video watermarking algorithm based on H.264[J].Software,2012,33(11):181-185. (in Chinese)
[6] Mansouri A, Aznaveh A M, Torkamani-Azar F, et al. A low complexity video watermarking in H. 264 compressed domain[J]. Information Forensics and Security, IEEE Transactions on, 2010, 5(4): 649-657.
[7] 张俊萍,谭月辉,梁欣,等. Arnold 变换的置乱恢复研究[J]. 军械工程学院学报,2006,18(4): 52-55.
Zhang Junping, Tanyue Hui, Liang Xin,et al. Research on the Scrambling Resumption of Arnold Transformation[J]. Journal of Ordnance Engineering College, 2006, 18(4):52-55.(in Chinese)
[8] 茹国宝,杨锐,张永强,等. 一种改进的数字图像扩频水印技术[J]. 信息与电子工程, 2003,1(2):22-25.
Ru Guobao, Yang Rui, Zhang Yongqiang, et al. A Improved Spread Spectrum Digital Image Watermarking Technology. Information and Electronic Engineering, 2003, 1(2):22-25.(in Chinese)
[9] 李旭东. 基于分块 DCT 和量化的图像盲水印算法[J]. 计算机工程, 2006,32(21):139-140.
Li Xudong. Blocked DCT and Quantization Based Blind Image Watermark Algorithm[J]. Computer Engineering, 2006, 32(21):139-140. (in Chinese)
[10] Cox I J, Kilian J, Leighton F T, et al. Secure spread spectrum watermarking for multimedia[J]. Image Processing, IEEE Transactions on, 1997, 6(12): 1673-1687.
[11] 杜鹏超,唐通林. 数字水印研究中常用的测试指标(上)[J]. 电子质量,2002,11:7-10.
Du Pengchao,Tang Tonglin. Common benchmarks used in digital watermarking research(I)[J]. Electronics Quality, 2002, 11:7-10. (in Chinese)