视频数字水印 一.目前状况: 由于视频序列是由一系列连续静止图像组成,图像水印技术可以直接应用于视频序列,然而图像与视频之间的重要区别也表明了针对视频会有特殊的方法。 近年来,学术界对数字水印的研究主要集中在静止图像,提出了各种图像水印的算法,使之日趋成熟。由于视频信号本身所具有的复杂性和特殊性,目前提出针对视频信号的水印方案还比较少,已有的视频水印仅将图像水印简单推广,在视频领域中的应用能力较差。 二.视频数字水印算法分类及其典型算法:
1.在原始视频中嵌入水印:即讲水印嵌入到原始码流中,形成含有水印信息的原始视频码流,然后再进行压缩,形成带有水印信息的原始压缩码流。提取时需对压缩码流进行解码。 优点:可以充分利用静止图像的水印技术,且算法比较成熟。 缺点:会增加视频码流的数据比特率,影响视频速率的恒定性; 对已压缩的视频,需要先进行解码,然后嵌入水印后在重新编码(增加了计算的复杂性并降低了视频的质量)。
分两种: 空域算法即是直接在原始视频码流中加人水印信息,一般是将水印信号添加在亮度分量或颜色分量上: ① 将视频信号视为一维信号,将水印信号扩展,放大和调制为一拟随机序列,直接加入到视频信号中。 ②将视频看作为一系列的静止图像,在整个连续的帧图像中加人相同的水印。由于各个图像不尽相同,可通过局部缩放因子为不同区域嵌人不同强度的水印。 频域算法是指先将原始视频进行某种变换,然后在其变换域(如DCT域、DFT域、DWT域等)嵌入水印: ①将视频看作为静止图像序列,利用一些比较成熟的静止图像频域算法嵌人水印。 ②将视频视为三维信号(其中二维表示空间上的图像,一维表示图像在时间上的连续),先进行三维变换(目前研究三维DWT和三维DFT的比较多),然后在其变换域中添加水印。 ③与各种视频编码器相适应,按照相应的块进行频域变换,然后在其变换域中添加水印。 2.在压缩视频中嵌入水印:是将水印接嵌人到编码压缩后的比特流中 优点:没有解码和再编码的过程,因而不会造成视频质量的下降,同时计算复杂度较低。 缺点:由于压缩比特率的限制而限定了嵌人水印数据量的大小,嵌人水印的强度受视频解码误差的约束,嵌人后的效果可能出现可察觉的变化 典型算法: Hartung等提出利用扩频的思想在MPEG一2压缩视频中嵌人水印的方法。水印信号经过扩展、放大和调制,得到一个拟随机序列,然后对其进行8x8的DCT变换,并将DCT系数叠加到MPEG一 2码 流的8x8的DCT系数上。这里需要考虑两个问题:(1)由于MPEG - 2的DCT系数是用变长码进行编码的,系数在添加水印前后的编码长度会发生变化,因此,如果要求不增加视频码流的长度,那么,在出现添加水印后DCT系数的编码比特数增加了的情况时,则仍保留原有的系数。(2) MPEG一2编码方式中,帧间编码帧(P帧和B帧)是从其它帧预测得到的,用一个运动补偿向量来从其它帧重建当前帧,P帧本身也可能作为其它帧的预测参考,一个帧内的微小变化,会在时间、空间上传播开来。因此,在水印信号之外,需要添加一个偏移补偿信号,来补偿前一帧的水印信号。 Simitopoulos等提出了一种在MPEG流压缩域嵌人水印的算法,把视觉分析和块分类技术结合起来,自适应地选择I帧亮度模块DCT域的量化交流(AC)系数,嵌人水印。水印系数W (m, n)是伪随机序列(+1) 。W(m,n)和对应的量化嵌人标志MQ (m,n)、分类标志C(m,n)分别由视觉分析和块分类过程产勿的乘积加到每个被选量化参数上。加入水印后的系数 X'Q(m,n)=XQ(m,n)+C(m,n) xMQ(m,n) xW(m,n)
也有些算法提出在运动矢量中嵌人水印,将水印嵌人在幅度值大且相角变换小的运动矢
量中,在压缩视频序列中,大部分的帧是运动补偿编码帧,所以在运动矢量中隐藏水印信息可以更加有效地利用视频比特流中的信息。
Jordan等在提出了一种直接针对MPEG -4编码视频流的水印方法,并通过修改运动向量来嵌人信息。其水印嵌人算法为在一个运动向量的某个分量。
Zhang等提出了一种对Jordan方案的修正算法,只在运动矢量的幅值较大的宏块中嵌人水印,并且水印嵌人在运动矢量相角变化较小的分量上。
3.在编码压缩时嵌入水印:在编码压缩时嵌人水印,可以将水印处理算法与视频编码结合成一个整体。 优点:嵌人和提取处理可以比较简单,能够实现水印嵌入和提取的实时处理。在编码压缩时嵌人水印时,由于水印嵌入在变换域的量化系数中,因此不会增加视频流的数据比特率。 缺点:需要修改编码器和解码器,而且存在GOP(Group of Picture)的误差积累,会降低视频的质量。
Chung等率先开发了一种在编码压缩时嵌人水印,水印嵌人过程是在MPEG2编码系统中的I帧所有的8 x 8DCT变换系数块上进行,输出含水印信息的压缩比特流。由于视频的I帧上DCT变换的直流系数DC是一个始终在视频流中存在而且很鲁棒的参数,所以该算法嵌人的水印的鲁棒性强。 Linnart:等提出修改MPEG编码过程将水印信息嵌人到VOP (Video Object Plane)的方法,其基本思想如下:在MPEG中图像类型分为I帧,B帧和P帧,从一个I帧开始,直到但不包括下一I帧的一系列帧称为一个图像组(GOP),如果将每个GOP的长度固定为12,即I个I帧,3个P帧和8个B帧,并且用B帧表示比特1, P帧表示比特0,则每个GOP和一个二元序列存在一个一一对应关系。将i元序列编码为Hamming码,并排除掉一些不常见的序列,可以得到一个有62个码字的码表,也就是说,每个GOP可以携带近6个比特的信息,嵌人的信息量比较少,但对嵌人版权所有者信息等应用还是能满足要求的。 朱仲杰等提出了一种在MOEG2压缩域的运动运动矢量中嵌人水印的方法,在每个GOP嵌人一幅水印图像,也就是每隔12帧图像进行一次水印嵌人操作。水印信息是一幅二值图像,为了增强算法的安全性和嵌人水印信号的鲁棒性,在嵌人之前对水印图像作伪随机置乱。水印信息不是加到所有的运动矢量上,而是选择其中的部分运动矢量来嵌人水印。 三.本学期所做工作: l 实现了一个简单的数字水印嵌入的程序,但嵌入的水印信息太简单,所以并不实用。 l 阅读了相关文献,了解在视频特别是压缩后的视频中嵌入水印的相关算法。 l 阅读了关于视频压缩技术的一些相关文献,了解MPEG压缩标准 四.下一步打算: l 算法方面 更深一步的了解关于在压缩后的MPEG-4视频流中嵌入水印的算法。并且深入研究并改进相关算法。 l 实现方面 对改进的算法加以实现,并且详细分析改进后的效果。 |