一种基于整数变换的自适应可逆数字水印方法与流程

文档序号:13761143阅读:236来源:国知局
本发明属于数字水印
技术领域
,尤其涉及一种基于整数变换的自适应可逆数字水印方法。
背景技术
:近些年来,在军事、医学、遥感图像处理等领域中,学者对于原始图像进行分析和研究,通过调整人眼对于图像中不敏感区域的信息,提出了可逆水印技术;在提取水印之后,原始图像可以被准确无误的恢复。传统整数变换的可逆数字水印无法根据图像的具体情况,灵活选择嵌入块的大小和嵌入方式。技术实现要素:本发明的目的在于提供一种基于整数变换的自适应可逆数字水印方法,旨在解决传统整数变换的可逆数字水印无法根据图像的具体情况,灵活选择嵌入块的大小和嵌入方式的问题。本发明是这样实现的,一种基于整数变换的自适应可逆数字水印方法,所述基于整数变换的自适应可逆数字水印方法包括水印嵌入和水印提取;所述水印嵌入通过图片分块、选块的双层自适应水印嵌入;通过分析图像不同区域的纹理复杂度,将图像分为平滑区域和不平滑区域,在平滑区域以较大的块作为嵌入单元,嵌入更多数据;在不平滑区域以较小块作为嵌入单元。进一步,所述水印嵌入的方法包括以下步骤:步骤一,将原图片分块,子块分为阴影集合和空白集合两部分,先嵌入阴影集合;步骤二,每一个阴影块中的像素X看作一个嵌入单元,计算每一个阴影块的局部方差,阴影块分类,判断阴影块的光滑度;步骤三,阴影集嵌入完成后,用嵌入过的像素对空白集的像素进行预测,完成空白点层的水印嵌入;步骤四,阴影集和空白集嵌入完成后的图片合并,得到嵌入水印后的灰度图像IW,水印的嵌入过程完成。进一步,所述局部方差的计算公式:其中a(X)为X的平均值四舍五入为整数后的近似值;每一个阴影块的局部方差v(X)和vh(X),每一个阴影块中的像素序列X=(x1,...,xn)看作一个嵌入单元。进一步,所述阴影块分类中阴影块的像素点嵌入水印后的像素值计算公式:y1=2x1-2f(a(X))+w1...yn-1=2xn-1-2f(a(X))+wn-1yn=2xn-a(X)---(1);]]>其中,w={0,1}为要嵌入的数据,xi为嵌入之前的像素值,yi为嵌完之后的像素值,进一步,所述阴影集和空白集嵌入方法的嵌入方法包括:对于属于集合Et且位于平滑区域的块,使用变换公式(1)直接嵌入;对于属于集合Et且位于不平滑区域的块,将4×4块进一步分为四个大小为2×2的块;对于每一个2×2的小块,使用公式(1)直接嵌入;对于属于集合Ct且位于平滑区域的块,将原始像素值的最低有效位修改为要嵌入的数据w={0,1},并将原始像素的最低有效位的值保存,作为水印信息的一部分嵌入到图像中,以供后期提取水印后恢复图像;对于属于集合Ct且位于不平滑区域的块,将4×4块进一步分为四个大小为2×2的块。对于每一个2×2的小块,使用修改最低有效位的方式嵌入水印信息。进一步,所述水印提取的方法包括:步骤一,对嵌入水印后的灰度图像分块;步骤二,根据嵌入时的分集方式,将子块分为阴影集合和空白集合两部分,阴影块属于阴影集;空白块属于空白集;步骤三,计算空白块的局部方差,将每一个空白块中的像素Y看作一个嵌入单元,根据嵌入时的公式计算每一个空白块的局部方差vh(Y);步骤四,判断空白块嵌入时使用的块大小:步骤五,按照嵌入块大小的不同提取空白水印数据,读取像素值的LSB获取嵌入数据,并根据嵌入过程的逆过程恢复出空白集中的原始像素值;步骤六,提取阴影集,用恢复出的空白集预测阴影集,提取阴影块中嵌入的水印数据,并恢复出阴影集中的原始像素值;步骤七,将阴影集和空白集提取的有效信息合并,得到嵌入的完整信息;将恢复出的阴影集和空白集合并,得到恢复出的原灰度图像,提取过程完成。进一步,所述步骤四进一步包括:第一步,根据步骤三中的计算结果,与附加信息t作比较,区分嵌入信息的块和没有嵌入信息的块;当vh(Y)≤t时,则嵌入之前该块属于局部方差较小的块,属于可嵌入的块Et或可改变的块Ct,嵌入了水印信息;读取位图L,当标记为0时,块属于Et集合;否则属于Ct集合;当vh(Y)>t时,表示嵌入之前该块属于局部方差较大的块,属于不可改变的块Ot,没有嵌入信息,因此提取端保持不变;第二步,按照嵌入时的方法计算每一个空白块所处位置的平滑度,与读取的参数T比较;当空白块为平滑块时,嵌入时的块为原始的4×4大小;当空白块不属于平滑块时,嵌入时使用的是2×2的小块。本发明提供的基于整数变换的自适应可逆数字水印方法,采用了双层自适应嵌入的方法,一定程度上避免了图像的失真感,并在保证了嵌入容量的基础上提高了图像的PSNR(峰值信噪比);与Wangetal提出的EfficientGeneralizedIntegerTransformforReversibleWatermarking中的方案相比,在相同嵌入容量下,该方案可以获得更高的PSNR。例如,对于灰度图Lean来说,在Wangetal的方案中,当嵌入容量为0.5bpp时,PSNR约为41.07;同样的,本发明在嵌入容量为0.5bpp时,PSNR约为44.51。本发明可用于秘密信息的隐藏,通过不同以往的将图片分块、选块的方法,实现了在相同嵌入容量的下获得更少的图像失真,提高了图像的PSNR(峰值信噪比),即减少图像失真;通过分析图像不同区域的纹理复杂度,将图像分为平滑区域和不平滑区域。我们在平滑区域以较大的块作为嵌入单元,嵌入更多数据;在不平滑区域以较小块作为嵌入单元,降低嵌入带来的失真。附图说明图1是本发明实施例提供的基于整数变换的自适应可逆数字水印方法流程图。图2是本发明实施例提供的子块分开的示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例的基于整数变换的自适应可逆数字水印方法包括以下步骤:S101:将原图片分块,子块分为阴影集合和空白集合两部分,先嵌入阴影集合;S102:每一个阴影块中的像素X看作一个嵌入单元,计算每一个阴影块的局部方差,阴影块分类,判断阴影块的光滑度;S103:阴影集嵌入完成后,用嵌入过的像素对空白集的像素进行预测,完成空白点层的水印嵌入;S104:阴影集和空白集嵌入完成后的图片合并,得到嵌入水印后的灰度图像IW,水印的嵌入过程完成。下面结合具体实施例对本发明的应用原理作进一步的描述。本发明实施例的基于整数变换的自适应可逆数字水印方法包括水印嵌入和水印提取;在本发明中,根据图片不同位置的平滑程度,灵活的选择嵌入时使用的块大小,使算法在保证嵌入率的情况下获得较好的图像质量。这里,以原始块大小为4×4,拆分成小块后大小为2×2为例,更清楚的描述算法的嵌入与提取恢复过程。本发明的具体步骤如下:1.水印的嵌入过程步骤1,将原始灰度图像分块。将原图片(例:Lena,大小512×512)分块,每个子块大小为4×4,一共得125×125个子块;步骤2,将子块分为阴影集合和空白集合两部分,如图2所示,阴影块属于阴影集;空白块属于空白集。以先嵌入阴影集合为例,作为嵌入过程的第一层嵌入。步骤3,计算块的局部方差。将每一个阴影块中的像素序列X=(x1,...,xn)看作一个嵌入单元,根据公式计算每一个阴影块的局部方差v(X)和vh(X)。其中a(X)为X的平均值四舍五入为整数后的近似值;每一个阴影块的局部方差v(X)和vh(X),每一个阴影块中的像素序列X=(x1,...,xn)看作一个嵌入单元。步骤4,将阴影块分类。第1步,根据嵌入公式计算每一个阴影块中的像素点嵌入水印后的像素值。找到没有像素点发生溢出的阴影块,其中,w={0,1}为要嵌入的数据,yi为嵌完之后的像素值。y1=2x1-2f(a(X))+w1...yn-1=2xn-1-2f(a(X))+wn-1yn=2xn-a(X)---(1)]]>其中,w={0,1}为要嵌入的数据,xi为嵌入之前的像素值,yi为嵌完之后的像素值,第2步,为保证图像视觉质量,选择局部方差小的单元嵌入水印信息,设置阈值t>0。根据块的溢出情况和步骤3中计算的局部方差将阴影块分为三类:A、对于不会发生溢出的阴影块,当v(X)≤t时,称之为可嵌入的块Et;B、对于可能会发生溢出的阴影块,当vh(X)≤t时,称之为可变的块Ct;C、对于可能会发生溢出的阴影块,当vh(X)>t时,称之为不可改变的块Ot;第3步,可以根据阈值t来区分EtUCt和Ot,要进一步区分Et和Ct,需要建立位图L。如果该阴影块属于集合Et,则位图L的相应位置上标记0;如果该阴影块属于集合Ct,则位图L的相应位置上标记1;集合Ot不做标记。步骤5,判断阴影块的光滑度,计算每一个阴影块所处位置的光滑程度,用空白集预测阴影集。选取阈值T>0;第1步,将每一个阴影块与它周围上、下、左、右四个空白块看作一个嵌入组;第2步,分别计算周围四个空白块局部方差LCi,然后计算四个局部方差平均值avg(LCi)。第3步,当avg(LCi)>T时,认为该阴影块不平滑,否则认为该阴影块平滑;步骤6,第一层水印嵌入。阴影集的嵌入称为第一层水印嵌入。只在局部方差较小的块嵌入水印,局部方差较大的块不做改变以降低图像的失真。将水印的分情况嵌入阴影块中:A、对于属于集合Et且位于平滑区域的块,使用变换公式直接嵌入。B、对于属于集合Et且位于不平滑区域的块,将4×4块进一步分为四个大小为2×2的块。对于每一个2×2的小块,使用变换公式直接嵌入。C、对于属于集合Ct且位于平滑区域的块,使用修改最低有效位的方式嵌入水印信息。D、对于属于集合Ct且位于不平滑区域的块,将4×4块进一步分为四个大小为2×2的块。对于每一个2×2的小块,使用修改最低有效位的方式嵌入水印信息。步骤7,第二层水印嵌入。空白集的嵌入称为第二层水印嵌入。阴影集嵌入完成后,用嵌入过的像素对空白集的像素进行预测。采用同样的方法完成空白点层的水印嵌入。步骤8,完成水印嵌入。将阴影集和空白集嵌入完成后的图片合并,得到嵌入水印后的灰度图像IW。水印的嵌入过程完成。2.水印的提取过程由于在嵌入过程中,先嵌入阴影集后嵌入空白集。所以提取时要先提取空白集,后提取阴影集。步骤1,对嵌入水印后的灰度图像(IW)分块。将图像IW(例:Lena,大小512×512)分块,每个子块大小为4×4,一共得125×125个子块;步骤2,根据嵌入时的分集方式,将子块分为阴影集合和空白集合两部分,阴影块属于阴影集;空白块属于空白集;步骤3,计算空白块的局部方差,将每一个空白块中的像素Y看作一个嵌入单元,根据嵌入时的公式计算每一个空白块的局部方差vh(Y)。步骤4,判断空白块嵌入时使用的块大小:第1步,根据步骤3中的计算结果,与附加信息t作比较,区分嵌入信息的块和没有嵌入信息的块。A、当vh(Y)≤t时,则嵌入之前该块属于局部方差较小的块,属于可嵌入的块Et或可改变的块Ct,嵌入了水印信息。读取位图L,当标记为0时,块属于Et集合;否则属于Ct集合。B、当vh(Y)>t时,表示嵌入之前该块属于局部方差较大的块,属于不可改变的块Ot,没有嵌入信息,因此提取端保持不变。第2步,按照嵌入时的方法计算每一个空白块所处位置的平滑度,与读取的参数T比较。当空白块为平滑块时,嵌入时的块为原始的4×4大小;当空白块不属于平滑块时,嵌入时使用的是2×2的小块。步骤5,提取第二层水印(提取空白集)。按照嵌入块大小的不同提取空白水印数据。读取像素值的LSB获取嵌入数据,并根据嵌入过程的逆过程恢复出空白集中的原始像素值。步骤6,提取第一层水印(提取阴影集)。用恢复出的空白集预测阴影集,使用相同的步骤提取阴影块中嵌入的水印数据,并恢复出阴影集中的原始像素值。步骤7,完成水印提取及图片恢复。将阴影集和空白集提取的有效信息合并,得到嵌入的完整信息;将恢复出的阴影集和空白集合并,得到恢复出的原灰度图像。提取过程完成。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1