NEC算法以及数字水印的攻击

      该算法由NEC实验室的Cox等人提出,该算法在数字水印算法中占有重要地位,

其实现方法是: 

          首先以密钥为种子来产生伪随机序列(m序列),该序列具有高斯N(0,1)分布,具有高斯白躁声的随机性质.

          密钥一般由作者的标识码和图象的哈希值组成,由于采用特殊的密钥,因此可防止IBM攻击

          其次对图象做DCT变换,

          最后用伪随机高斯序列来调制(叠加)该图象除直流(DC)分量外的1000个最大的DCT系数。

       该算法具有较强的鲁棒性、安全性、透明性等。而且该算法还提出了增强水印鲁棒性和抗攻击算法的重要原则,即水印信号应该嵌入源数据中对人感觉最重要的部分,这种水印信号由独立同分布随机实数序列构成,且该实数序列应该具有高斯分布N(0,1)的特征。  

 

关于DCT变换..

         离散余弦变换(DCT-Discrete Cosine Transform)压缩算法,降低视频信号的空间冗余度。
DCT将运动补偿误差或原画面信息块转换成代表不同频率分量的系数集,这有两个优点:其一,信号常将其能量的大部分集中于频率域的1个小范围内,这样一来,描述不重要的分量只需要很少的比特数;其二,频率域分解映射了人类视觉系统的处理过程,并允许后继的 量化过程满足其灵敏度的要求。

       视频信号的频谱线在0-6MHz范围内,而且1幅视频图像内包含的大多数为低频频谱线,只在占图像区域比例很低的图像边缘的视频信号中才含有高频的谱线。因此,在视频信号数字处理时,可根据频谱因素分配比特数:对包含信息量大的低频谱区域分配较多的比特数,对包含信息量低的高频 谱区域分配较少的比特数,而图像质量并没有可察觉的损伤,达到码率压缩的目的。然而,这一切要在低熵(Entropy)值的情况下,才能达到有效的编码。能否对一串数据进行有效的编码,取决于每个数据出现的概率。每个数据出现的概率差别大,就表明熵值低, 可以对该串数据进行高效编码。反之,出现的概率差别小,熵值高,则不能进行高效编码。视频信号的数字化是在规定的取样频率下由A/D转换器对视频电平转换而来的,每个像素的视频信号幅度随着每层的时间而周期性地变化。每个像素的平均信息量的总和为总平均信息量,即熵值。由于每个视频电平发生几乎具有相等的概率,所以视频信号的熵值很高。 熵值是一个定义码率压缩率的参数,视频图像的压缩率依赖于视频信号的熵值,在多数情况下视频信号为高熵值,要进行高效编码,就要将高熵值变为低熵值。怎样变成低熵值呢?这就需要分析视频频谱的特点。大多数情况下,视频频谱的幅度随着频率的升高而降低。其中 低频频谱在几乎相等的概率下获得0到最高的电平。与此相对照,高频频谱通常得到的是低电平及稀少的高电平。显然,低频频谱具有较高的熵值,高频频谱具有较低的熵值。据此,可对视频的低频分量和高频分量分别处理,获得高频的压缩值。

   

关于离散余弦变换(DCT)
离散余弦变换DCT(Discrete Cosine Transform)是数码率压缩需要常用的一个变换编码方法。任何连续的实对称函数的付立叶变换中只含余弦项,因此余弦变换与付立叶变换一样有明确的物理意义。DCT是先将整体图像分成N*N像素块,然后对N*N像素块逐一进行DCT变换。由于大多数图像的高频分量较小,相应于图像高频分量的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可用更粗的量化。因此,传送变换系数的数码率要大大小于传送图像像素所用的数码率。到达接收端后通过反离散余弦变换回到样值,虽然会有一定的失真,但人眼是可以接受的。二维正反离散余弦变换的算式:

其中N是像块的水平、垂直像素数,一般取N=8。N大于8时效率增加不多而复杂性大为增加。8*8的二维数据块经DCT后变成8*8个变换系数,这些系数都有明确的物理意义。譬如当U=0,V=0时F(0,0)是原64个样值的平均,相当于直流分量,随着U,V值增加,相应系数分别代表逐步增加的水平空间频率和垂直空间频率分量的大小。当我们先只考虑水平方向上一行数据(8个像素)的情况时,如图1所示:

 

 

 可见图像信号被分解成为直流成分;以及从低频到高频的各种余弦成分;而DCT系数只是表示了该种成分所占原图像信号的份额大小;显然,恢复图像信息可以表示为这样一个矩阵形式:F(n)=C(n)*E(n)

  式中E(n)是一个基底 ,C(n)是DCT系数,F(n)则是图像信号。

  如果再考虑垂直方向上的变化,那么,就需要一个二维的基底,即该基底不仅要反映水平方向频率的变化;而且要反映垂直空间频率的变化;对应于8*8的像素块;其空间基底如图2所示:它是由64个像素值所组成的图像,通常也称之为基本图像。把它们称为基本图像是因为在离散余弦变换的反变换式中,任何像块都可以表示成64个系数的不同大小的组合。既然基本图像相当于变换域中的单一的系数,那么任何像元也可以看成由64个不同幅度的基本图像的组合。这与任何信号可以分解成基波和不同幅度的谐波的组合具有相同的物理意义。

在如图3所示的实例中,可以看出:经过一次DCT变换计算后,64个样值仍然得到64个系数,本身码率并没有压缩;但是,经DCT变换后,比特数却增加了。原样值是8比特,数据从0~255;得到的F10即直流分量的最大值是原来256的64/8份,即0~2047,交流分量的范围是-1024~1023;但经过第2个步骤,即量化之后(图中△:4),大多数高频分量的系数变为0,一般说来,人眼对低频分量比较敏感,对高频分量则不太敏感;因而量化的结果是去掉了不太重要的高频分量,降低了码率。再通过“之”字型(Zig-Zag)方式读出数据,这样读出也可以减少码率。因为经DCT变换以后,系数大多数集中在左上角,即低频分量区,因此“之”字型读出实际上是按二维频率的高低顺序读出系数的。这样就便于采用游程长度编码(Run Length Encoding),所谓游程长度编码是指一个码可以同时表示码的值和前面有几个零。这样就发挥了“之”字型读出的优点,因为“之”字型读出,出现连零的机会比较多,特别到最后,如果都是零,在读到最后一个数后,只要给出“块结束”(EOB)码,就可以结束输出,因此节省了很多码率。

DCT在WIKI中的定义解释::http://wiki.ccw.com.cn/DCT#.E8.AE.A1.E7.AE.97

数字水印的鲁棒性问题和攻击行为
数字水印必须很难(希望不可能)被清除。当然从理论上讲,只要具有足够的知识,任何水印都可以去掉。但是如果只能得到部分信息,如水印在图像中的精确位置未知,那么破坏水印将导致图像质量的严重下降。特别的,一个实用的水印算法应该对信号处理、通常的几何变形(图像或视频数据),以及恶意攻击具有鲁棒性。它们通常包括:

(1)图像压缩:图像压缩算法是去掉图像信息中的冗余量。水印的不可见性要求水印信息驻留于图像不重要的视觉信息中,通常为图像的高频分量。而一般图像的主要能量均集中于低频分量上。经过图像压缩后,高频分量被当作冗余信息清除掉,因此有的文献将水印嵌入图像的最显著的低频分量中或使用带低通特性的水印,虽然这可能会降低图像的质量。目前的一些水印算法对现有的图像压缩标准(如JPEG 、MPEG )具有较好的鲁棒性,但对今后有更高压缩比的压缩算法则不能保证也具有同样好的鲁棒性。

(2)滤波:图像中的水印应该具有低通特性,即低通滤波(如均值滤波和中值滤波)应该无法删掉图像中的水印,事实上当前很多针对水印的攻击行为是用滤波完成的。

(3)图像量化与图像增强:一些常规的图像操作,如图像在不同灰度级上的量化、亮度与对比度的变化、直方图修正与均衡,均不应对水印的提取和检测有严重影响。

(4)几何失真:几何失真包括图像尺寸大小变化、图像旋转、裁剪、删除或增加图像线条以及反射等等。很多水印算法对这些几何操作都非常脆弱,容易被去掉。因此研究水印在图像几何失真的鲁棒性也是人们所关注的。
与鲁棒性问题密切相关的一个方面就是水印的攻击行为。水印攻击与鲁棒性可以说是一对矛和盾,目前的文献已经陆续描述了很多水印攻击方法。我们在这里将水印攻击方法归为四大类。在将水印分类的过程中,我们只考虑那些并不严重导致图像失真的方法。因为如果没有这个假设,那么总是可以寻找到某种成功的攻击方法,包括完全删除水印图像。

(1)简单攻击:(也可称为波形攻击或噪声攻击)即只是通过对水印图像进行某种操作,削弱或删除嵌入的水印,而不是试图识别水印或分离水印。这些攻击方法包括线性或非线性滤波、基于波形的图像压缩(JPEG 、MPEG )、添加噪声、图像裁减、图像量化、模拟数字转换及图像的鉢
矫正等。

(2)同步攻击:(也称检测失效攻击)即试图使水印的相关检测失效或使恢复嵌入的水印成为不可能。这种攻击一般是通过图像的集合操作完成的,如图像仿射变换、图像放大、空间位移、旋转、图像修剪、图像裁减、象素交换、重采样、象素的插入和抽取以及一些几何变换等等。这类攻击的一个特点是水印实际上还存在于图像中,但水印检测函数已不能提取水印或不能检测水印的存在。

(3)迷惑攻击:即试图通过伪造原始图像和原始水印来迷惑版权保护,由于最早由IBM 的Craver 等人提出,又称IBM 攻击。这种攻击实际上使数字水印的版权保护功能受到了挑战,如何有效地解决这个问题正引起研究人员的极大兴趣。

(4)删除攻击:即针对某些水印方法通过分析水印数据,估计图像中的水印,然后将水印从图像中分离出来并使水印检测失效。


 


  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值