主权项 |
一种能同时抵抗多种攻击的数字水印方法,其特征在于,依次包括水印嵌入过程以及水印提取过程,具体过程如下:水印嵌入过程:(1)载体图像预处理:载体图像预处理分为三个步骤来完成,分别是:第一步:对原始载体图像大小进行重新调整,转变为大小为M*N的中间载体图像,其中M和N不是固定的;第二步:对中间载体图像进行分块,每个图像块大小为m*n,共计(M/m)*(N/n)块,其中M、N如果不是m、n的整倍数,行末尾大小不足n的和列末尾大小不足m的均舍去不计;第三步:对(M/m)*(N/n)个图像块进行图像块分割,将图像块分成T1行T2列,其中T1=M/m,T2=N/n;(2)水印预处理:水印预处理分为四个步骤来完成,分别是:第一步:对原始水印进行编码,得到L1位二进制水印信息,此二进制水印信息经过纠错编码,得到L2位水印信息;第二步:L2位水印信息经过加水印头,得到WT位伪水印信息;第三步:对WT位伪水印信息进行分块,每块大小为a位,共分成WT/a块,此处在选取a的时候,尽量使其满足WT为a的倍数,分块作用是在水印嵌入时将一个水印块对应嵌入到一个图像块中,相当于一个图像块中嵌入a位伪水印信息;第四步:再对水印信息块分割,分成WT1行WT2列,即:WT1*WT2=WT/a,从中提取出WT1行WT2列伪水印信息;(3)嵌入:将每一个水印信息块按照以下嵌入规则嵌入到相应的每个载体图像块中,具体的嵌入规则是:第一行图像块,第一个图像块嵌入第一个水印信息块,随后增加一循环嵌入,直到行末尾;第二行图像块,第一个图像块嵌入第1+WT2个水印信息块,其他同第一行一样增加一循环嵌入,直到行末尾;在随后的每行中首位嵌入的水印信息块初始为前一行首位嵌入的水印信息块加WT2,直到WT1行;第n*WT1+1行和第一行一样,第n*WT1+2行和第二行一样……第n*WT1+WT1‑1行和第WT1‑1行一样,直到第T1行;循环嵌入直到每个图像块中都嵌入一个水印信息块;将全部图像块按照原来的顺序重新排列组合,得到带水印图像;水印提取过程:(1)图像块选取:图像块提取分为三个步骤来完成,分别是:第一步:对经攻击后图像大小进行重新调整,变为M*N,这里的M、N和之前的M、N大小相同;第二步:对调整后图像进行分块,每个图像块大小为m*n,这里的分块大小m、n与载体图像预处理中的分块大小m、n相等;第三步:选择WT/a个图像块,图像块选取规则是:选取连续的未被攻击的WT1行WT2列图像块,共计WT1*WT2=WT/a个;(2)提取水印:依次从每个图像块中提取出嵌入的一个a位水印信息块,则WT/a个图像块就能得到WT/a个a位的伪水印信息块,将WT/a个伪水印信息块排列在一行上,就能得到WT位乱序的伪水印信息;(3)水印处理:水印处理分为四个步骤来完成,分别是:第一步:从WT位乱序的伪水印信息中查找水印头,;第二步:找到水印头以后,按照水印头进行排序,将水印头前面的水印信息转移到末尾,从而得到了顺序的伪水印信息;第三步:完成了排序后,将水印头信息去掉,得到L2位水印信息;第四步:纠错编码,进而得到L1位二进制水印信息,进行解码后得到原始水印。 |