1、信息隐藏技术信息隐藏技术第第5章章 基于混沌与细胞自动机的数基于混沌与细胞自动机的数字水印结构字水印结构孙晓玲孙晓玲第五章第五章 基于混沌与细胞自动机的数字水印结构基于混沌与细胞自动机的数字水印结构目录目录5.1 细胞自动机细胞自动机 p细胞自动机的定义细胞自动机的定义:细胞自动机是能和其它细胞相互:细胞自动机是能和其它细胞相互作用、具有相同的可计算功能的细胞的数组。这个数作用、具有相同的可计算功能的细胞的数组。这个数组可以是一维的串,二维的格子,三维的立体。组可以是一维的串,二维的格子,三维的立体。p大部分细胞自动机被设计为简单的方行的格子大部分细胞自动机被设计为简单的方行的格子,也有一也有
2、一些设计成蜂窝状。些设计成蜂窝状。p描述细胞自动机必要的特征包括:描述细胞自动机必要的特征包括:状态状态、邻居关系邻居关系和和规则规则。细胞自动机基本概念细胞自动机基本概念p细胞细胞(CellCell):组成细胞自动机的基本单元;组成细胞自动机的基本单元;p状态状态(StateState):描述每个细胞自动机不同状态的变量,最描述每个细胞自动机不同状态的变量,最简单的情况下,每个细胞自动机有两个状态,即简单的情况下,每个细胞自动机有两个状态,即0 0或者或者1 1,在复杂的模拟情况下有更多的不同状态,状态可以是数字在复杂的模拟情况下有更多的不同状态,状态可以是数字也可以是描述的特征;也可以是描
3、述的特征;p邻居关系邻居关系(NeighbourhoodNeighbourhood):是定义的能和具体细胞发生):是定义的能和具体细胞发生作用的细胞集,我们可以这样理解,这些邻居对这个细胞作用的细胞集,我们可以这样理解,这些邻居对这个细胞有影响,不同的细胞自动机有不同的邻居关系;有影响,不同的细胞自动机有不同的邻居关系;p规则规则(RulesRules):规则定义了每个细胞根据当前状态和邻居):规则定义了每个细胞根据当前状态和邻居的状态来改变自己的状态。规则也是设计者自己定义的,的状态来改变自己的状态。规则也是设计者自己定义的,一些细胞自动机规则如一些细胞自动机规则如Life,Brain,Au
4、rora,Axon,VoteLife,Brain,Aurora,Axon,Vote等。等。5.1 细胞自动机细胞自动机 细胞自动机基本概念细胞自动机基本概念5.1 细胞自动机细胞自动机 细胞自动机基本概念细胞自动机基本概念pFabric patternsFabric patterns:设想此细胞自动机由一串细胞组成。:设想此细胞自动机由一串细胞组成。描述如下:描述如下:n(1)(1)状态状态:0:0 或或 1 1n(2)(2)邻居邻居:两个相邻的细胞两个相邻的细胞 N C NN C Nn(3)(3)规则规则 :下面的列表显示每个可能的局部配置的细下面的列表显示每个可能的局部配置的细胞的新的状态
5、。如细胞和它的两个邻居的状态排列。胞的新的状态。如细胞和它的两个邻居的状态排列。因为对每个细胞有可能的状态为因为对每个细胞有可能的状态为0 0或或1 1,对,对3 3 个细胞有个细胞有8 8 条所需要的规则,分别列出如下:条所需要的规则,分别列出如下:5.1 细胞自动机细胞自动机 细胞自动机基本概念细胞自动机基本概念细胞自动机有很多好的特性,包括自组织性、行为像人性等。细胞自动机有很多好的特性,包括自组织性、行为像人性等。0 0 0 -0 1 0 0 -1 0 0 1 -1 1 0 1 -1 0 1 0 -1 1 1 0 -0 0 1 1 -0 1 1 1 -0 假设开始只有一个细胞状态为假设
6、开始只有一个细胞状态为1 1,下面给出这个串随时间的变化情况,下面给出这个串随时间的变化情况,这里这里“.”.”表示表示0 0。5.1 细胞自动机细胞自动机 细胞自动机基本概念细胞自动机基本概念5.2 混沌细胞自动机混沌细胞自动机p所谓所谓“混沌细胞自动机混沌细胞自动机”实际上就是指水印最初的随机实际上就是指水印最初的随机数矩阵不是用一般的随机数发生器获得的数矩阵不是用一般的随机数发生器获得的,而是用具有混而是用具有混沌特性的随机数发生器获得的。沌特性的随机数发生器获得的。p以混合光学双稳模型为例以混合光学双稳模型为例,将生成的随机数模板按照特定将生成的随机数模板按照特定的判定规则调整为二值模
7、板的判定规则调整为二值模板,接下来的步骤就与使用线性接下来的步骤就与使用线性同余发生器的步骤一样了。同余发生器的步骤一样了。p下面的方程为混合光学双稳模型的迭代方程:下面的方程为混合光学双稳模型的迭代方程:)(sin21BnnXXAX5.2 混沌细胞自动机混沌细胞自动机p随着参数随着参数A,XB的变化,系统将从固定点失稳,经倍周期的变化,系统将从固定点失稳,经倍周期分岔进入混沌。分岔进入混沌。p取取A=4,XB=2,此时方程处于混沌状态。,此时方程处于混沌状态。p给定该给定该初值初值X0,进行迭代运算,判断迭代值,进行迭代运算,判断迭代值Xi的大小,当的大小,当Xi 2A/3时取时取1,否则取
8、,否则取0。5.2 混沌细胞自动机混沌细胞自动机5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机 基于投票规则的细胞自动机基于投票规则的细胞自动机:n状态状态:0 或或 1n邻居邻居:中心的中心的3*3 邻居邻居n规则规则:计数计数p表示中心的表示中心的3*3 邻居中邻居中1 的个数(包括中心本的个数(包括中心本身)身),if P5,中心设置为中心设置为0,否则设置为否则设置为 15.3 基于投票规则的细胞自动机基于投票规则的细胞自动机 p我们以投票规则我们以投票规则(Vote Rule)为例为例,简要地说明利简要地说明利用细胞自动机生成水印的方法。水印模板的生成用细胞自动机生成水印的
9、方法。水印模板的生成分为以下几个步骤分为以下几个步骤:产生产生随机数模板随机数模板。根据一定的判定规则根据一定的判定规则,将将随机矩阵转化为二值矩阵随机矩阵转化为二值矩阵。将二值矩阵代入到细胞自动机将二值矩阵代入到细胞自动机,得到经细胞自动机得到经细胞自动机处理的水印模板处理的水印模板“凝聚模式凝聚模式”。将将“凝聚模式凝聚模式”的模板经过的模板经过平滑处理平滑处理,得到最终得到最终的的水印模板水印模板。5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机细胞自动机水印各阶段形态细胞自动机水印各阶段形态5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机(1)投票规则的运作投票规则的运
10、作 我们以一个我们以一个5 5 的矩阵的矩阵A来具体观察一下该细胞自动机来具体观察一下该细胞自动机运作一次的情况。运作一次的情况。矩阵矩阵A如下如下:5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机生成一个临时矩阵生成一个临时矩阵temp,temp 的中心部分就是原始矩阵的中心部分就是原始矩阵A。5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机将将temp 的边界进行补充的边界进行补充,得到如下矩阵得到如下矩阵:5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机以下是分别从经过边界补充的以下是分别从经过边界补充的temp 矩阵中截取的矩阵中截取的9 个子矩个子矩阵阵:5.
11、3 基于投票规则的细胞自动机基于投票规则的细胞自动机5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机将这将这9 9 个子矩阵相加个子矩阵相加,得到一个和矩阵得到一个和矩阵:将这个和矩阵的各将这个和矩阵的各元大于元大于4 4 的写成的写成1,1,小于等于小于等于4 4 的写成的写成0,0,就完成了就完成了1 1 次细胞次细胞自动处理。自动处理。5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机p事实上事实上,细胞自动机的运作规则有很多种细胞自动机的运作规则有很多种,比如比如Life,Brain,Aurora 和和Vote 等等。等等。p仅就投票规则而言仅就投票规则而言,除了我们上面
12、提供的一种方式外除了我们上面提供的一种方式外,我们我们再给出一种常用的基于投票原理的细胞自动机运作算法再给出一种常用的基于投票原理的细胞自动机运作算法(Vote2),供大家参考。供大家参考。算法算法Vote2 以一个计数值以一个计数值p 记录二值矩阵中每记录二值矩阵中每3 3 邻邻域内域内1 的个数的个数,如果如果p 小于小于5,则将这个则将这个3 3 邻域中心的邻域中心的数值设置为数值设置为0,否则设置为否则设置为1。假设二值矩阵。假设二值矩阵old 为为n n,则相应的经过细胞自动机则相应的经过细胞自动机Vote2 处理得到新二值矩阵处理得到新二值矩阵的每一个数值的每一个数值new(i,j
13、)。5.3 基于投票规则的细胞自动机基于投票规则的细胞自动机5.4 信号分析和图像处理信号分析和图像处理p空域过滤及过滤器的定义空域过滤及过滤器的定义:使用空域模板进行的图像:使用空域模板进行的图像处理,被称为空域过滤。处理,被称为空域过滤。p模板本身被称为模板本身被称为空域过滤器空域过滤器,图像的空域滤波就是二,图像的空域滤波就是二维卷积,即对每个像素的输出都是其自身灰度与其邻维卷积,即对每个像素的输出都是其自身灰度与其邻域像素灰度的加权组合,不同的线性滤波器对应着不域像素灰度的加权组合,不同的线性滤波器对应着不同的灰度加权方式。同的灰度加权方式。5.4 信号分析和图像处理信号分析和图像处理
14、利用利用7x7的均值滤波器的均值滤波器(均值滤波是指在图像上对目标像素给均值滤波是指在图像上对目标像素给一个模板,以目标象素为中心的周围一个模板,以目标象素为中心的周围8个象素,构成一个滤个象素,构成一个滤波模板,再用模板中的全体像素的平均值来代替原来像素波模板,再用模板中的全体像素的平均值来代替原来像素值。值。)来平滑(来平滑(Smoothing)经过细胞自动机处理后的模式,)经过细胞自动机处理后的模式,均值滤波器的卷积模扳为:均值滤波器的卷积模扳为:5.4 信号分析和图像处理信号分析和图像处理5.5 基于混沌与细胞自动机数字转化为灰度图像基于混沌与细胞自动机数字转化为灰度图像p数字作为混沌
15、迭代的初值,产生随机序列,然后转化为二数字作为混沌迭代的初值,产生随机序列,然后转化为二维矩阵,经过细胞自动机处理,平滑以后得到灰度图像。维矩阵,经过细胞自动机处理,平滑以后得到灰度图像。5.5 基于混沌与细胞自动机数字转化为灰度图像基于混沌与细胞自动机数字转化为灰度图像种子为种子为3.4经过以上处理,种子不一样,所得的灰度图像完全不一样。经过以上处理,种子不一样,所得的灰度图像完全不一样。根据混沌的初值敏感性,每个初值所产生的随机序列不同,根据混沌的初值敏感性,每个初值所产生的随机序列不同,细胞自动机处理以后不同的种子所产生的黑白图像也不同,细胞自动机处理以后不同的种子所产生的黑白图像也不同,而且以上两步都是不可逆的。而且以上两步都是不可逆的。5.6 水印算法水印算法嵌入模型嵌入模型数字水印模型数字水印模型5.6 水印算法水印算法我们使用模型我们使用模型5.1的嵌入算法时,的嵌入算法时,把得到的灰度图像灰度级降到把得到的灰度图像灰度级降到16,把每个像素的灰度值减去,把每个像素的灰度值减去8,然后在空域下加到要嵌入水印的原图像,这样对没有加,然后在空域下加到要嵌入水印的原图像,这样对没有加入水印图像每个像素的修改不超过入水印图像每个像素的修改不超过8个灰度级。个灰度级。5.6 水印算法水印算法水印检测算法水印检测算法本章完!谢谢大家的合作!本章完!谢谢大家的合作!