基于纹理合成的鲁棒隐写方法与流程

文档序号:11520626阅读:534来源:国知局
基于纹理合成的鲁棒隐写方法与流程

本发明涉及一种基于纹理合成的鲁棒隐写方法,它是利用信号处理和计算机技术分解数字图像内容,以便在纹理图像合成的过程中嵌入秘密信息,从而提出一种稳健的隐写算法。



背景技术:

隐写术以图像、音频等数字媒体作为掩护,把要发送的秘密消息嵌入到载体信号内部,以不引起外界注意的方式,通过公共信道特别是互联网进行传递。传统的隐写方法是通过重写载体的最不重要位来隐藏秘密数据,载体失真度越高,截收者使用隐写分析工具分析出秘密信息的风险越高。而基于纹理合成的隐写方法,在秘密信息嵌入前不需要载体,因此具有更好的鲁棒性。

目前基于纹理合成提出的隐写方法较少。首创者通过从纹理样本中抽出彩色点,点状图像的特征值和嵌入数据相对应,将秘密信息嵌入彩色点状图像中。将点状图像填入空白画布,并用纹理样本点填补空空白区域,完成纹理合成。另一种方法通过重采样纹理图像,在纹理合成过程中将候选块映射到秘密位,以构造新的纹理图像。何种方法不尽相同,可参阅如下文献:

1.h.otoriands.kuriyama,data-embeddabletexturesynthesis,inproc.ofthe8thinternationalsymposiumonsmartgraphics,kyoto,japan,2007,pp.146-157.

2.h.otoriands.kuriyama,texturesynthesisformobiledatacommunications,ieeecomput.graph.appl.,vol.29,no.6,pp.74-81,2009.

3.k-cwuandc-mwang,steganographyusingreversibletexturesynthesis,ieeetrans.imagrprocess.,24(1):130-139,2015.

上述的隐写方法构造出的隐写纹理图像在样式和嵌入数据率都较为可观,然而隐写图像一旦经过jpeg图像压缩,秘密信息提取的错误率也随之提高,隐写纹理图像的鲁棒性较差。



技术实现要素:

1.本发明的目的在于针对已有技术存在的不足,提供一种基于纹理合成的鲁棒隐写,本隐写算法能够抵抗jpeg图像压缩,提高隐写图像的鲁棒性。

为达到以上目的,本发明的构想是:

首先将源纹理图像分为重叠的候选块,通过分析它们的纹理将候选块映射到多个分类。其次数据隐藏者使用密钥将所选候选块伪随机分布于空白画布,候选块根据信息的一段进行选择。其余空白区域由所有候选块中最为匹配块进行合成。在接收端,密钥用于识别包含秘密比特的候选块,提取的候选块进行纹理分析,重建多个分类。最终从块中提取秘密信息。

根据上述发明构想,本发明采用下述技术方案:

一种基于纹理合成的鲁棒隐写,其特征在于操作步骤如下:

(一)实现信息隐藏的具体步骤如下:

(1)使用的源纹理图像大小为sr×sc,根据光栅扫描顺序移动每个像素,将纹理图像分为(sr-tr+1)·(sc-tc+1)个重叠块。每一个块的大小为tr×tc。我们将每一个候选块进一步分为内核区域和边界区域,内核区域包含kr×kc像素,边界长度在矩形长宽方向分别为bc和br。因此,共有(sr-tr+1)·(sc-tc+1)个内核区域对应于所有的候选块。

(2)定义候选块为{p1,p2,...,pn},其相对应内核区域为{r1,r2,...,rn},n=(sr-tr+1)·(sc-tc+1)。我们使用标准偏差评估内核区域的复杂度:

[·]为取整操作符,k=1,2,...,n,其中ak表达式为:

(3)通过步骤(2)中得出的复杂度{d1,d2,...,dn},取出dmax和dmin。根据dmax和dmin,由公式(3-1)生成m个值{v1,v2,...,vm}:

根据公式(3-1)所生成的值,构造包含候选块的m组分类{π1,π2,...,πm}:

πi={pk|dk∈(vi-δ,vi+δ)}(3-2)

其中i=1,2,...,m,k=1,2,...,n,δ为满足0≤δ<(dmax-dmin)/2m区间的任意数。我们使用每个分类来表示多个秘密比特。m组分类中的一组包含信息,表示向下取整。

(4)为隐藏秘密信息,我们将秘密信息转化为二进制比特流,并将秘密信息分为l段{b1,b2,...,bl},每段包含同时我们计算出每段信息十进制值ei(i=1,2,...,l)。构造大小为[(kr+br)·wr]×[(kc+bc)·wc]的空白画布,wr和wc为满足公式(4-1)的整数:

(5)我们伪随机产生l个整数对作为密钥{(p1,q1),(p2,q2),...,(pl,ql)},其中1≤pi≤wr,1≤qj≤wc。整数对需要满足以下两个条件,首先,每组整数对互不相同;其次,对于任意两组整数对,应满足pi-pj>1或者qi-qj>1。

(6)对于任意一段秘密信息bi(i=1,2,...,l),我们选择分类中任意一个候选块,将候选块所有tr×tc个像素画入空白画布中,其所处位置范围为从((kr+br)·(pi-1)+1,(kc+bc)·(qi-1)+1)到((kr+br)·pi+br,(kc+bc)·qi+bc)。

(7)画布其余空白区域通过从(sr-tr+1)·(sc-tc+1)个候选块中选出最合适候选块进行纹理合成。纹理合成所采用的算法是在“最小误差边界”法基础上做轻微改变。通过迭代填充的方式来选择候选块填入空白区域,因和画布已有块具有重叠区域,计算重叠区域部分的最小均方差(mse)来确定填补候选块。其具体步骤如下:

(7-1)对已有候选块“c”进行纹理合成。分别计算“c”和其上部候选块“a”之间重叠区域的mse,以及“c”和其左部候选块“b”之间重叠区域的mse。

(7-2)同时我们加入右部或者下部重叠区域的mse,进行最佳候选块的选择。例如我们计算“c”和其下部候选块“d”之间重叠区域的mse。

(7-3)计算重叠区域的最小成本路径来确定缝合线,从“c”候选块三个方向重叠区域的mse值找到最佳候选块,来进行画布空白区域填补,完成纹理合成。

(8)重复步骤(7)完成画布空白区域填补,最终生成所需隐写纹理图像。有上述步骤可知,本发明嵌入容量ce(bits)为:

(二)在数据接收端,接收者通过密钥确定包含秘密信息候选块所在画布的位置。实现信息提取具体步骤如下:

(1)接收者从隐写纹理图像中提取出l个候选块{q1,q2,...,ql},同时分离出相应的l个内核区{u1,u2,...,ul},由公式(2-1)和公式(2-2)计算出标准偏差评估内核区域的复杂度,定义其复杂度值为{g1,g2,...,gl},取值范围由gmin到gmax。

(2)由于隐写纹理图像经过jpeg图像压缩,接收者需重新构建包含m个值的序列{v1′,v2′,...,vm′}:

(3)重新构造包含候选块的m组分类{λ1,λ2,...,λl}:

λi={qk|vk′∈[vi′-δ/2,vi′+δ/2]}

其中i=1,2,...,m,k=1,2,...,l,δ=(gmax-gmin)/m。

(4)对于每一个提取的候选块qk(k=1,2,...,l),我们可以从候选块中提取出的秘密信息。如果qk∈λi(i=1,2,...,m),则秘密信息即为(i-1)的二进制值。

通过以上步骤,的秘密信息可从接收图像中提取出来。

本发明与现有技术相比,具有如下评价性质和显著有点:本发明合成纹理图像的大小可根据嵌入信息的容量成比例调整,从而实现高嵌入率;由于纹理块的复杂度,经图像压缩后,纹理图像所包含的秘密信息轻微的发生改变,秘密信息能够从隐写图像中提取出来,本发明的隐写算法能够抵抗jpeg图像压缩,因此该发明能提高隐写图像的鲁棒性。

附图说明

图1为本发明“基于纹理分析的鲁棒隐写”的流程框图;

图2为一个候选块内核区域以及边界区域分布图;

图3为在空白画布上画入选中的候选块。(a)为画布中一个候选块所在位置;(b)为一个包含100个候选块,嵌入200bits秘密信息的画布;

图4为纹理合成画布空白区域。(a)“最小误差边界”算法原理图;(b)为本发明所提出的改进算法原理图。

图5为实验所用源纹理图像以及实验后隐写纹理结果图像。(a)~(f)为源纹理图像;(g)~(l)为包含秘密信息的纹理合成图像。

图6为使用不同质量因子进行jpeg图像压缩后的信息提取错误率曲线。

具体实施方式

本发明发优选实施例详述如下:

实施例一:参见图1~图4,本基于纹理合成的鲁棒隐写,实现信息隐藏的具体步骤图。

实施例二:

图5(a)~(f)为128×128大小的源纹理图像,每幅图像由具有不同的纹理,图(g)~(l)为653×653大小的包含秘密信息的纹理合成图像。

参见图5,本基于纹理合成的鲁棒隐写,其具体步骤如下:

(1)使用的源纹理图像大小为128×128,根据光栅扫描顺序移动每个像素,将纹理图像分为多个重叠块。每一个块的大小为16×16。将每一个候选块进一步分为内核区域和边界区域,内核区域包含3×3像素。

(2)定义候选块为{p1,p2,...,pn},其相对应内核区域为{r1,r2,...,rn},n=113×113。使用标准偏差评估内核区域的复杂度:

[·]为取整操作符,k=1,2,...,n,其中ak表达式为:

(3)通过步骤(2)中得出的复杂度{d1,d2,...,dn},取出dmax和dmin。根据dmax和dmin,由公式(3-1)生成m个值{v1,v2,...,v16},m=16:

根据公式(3-1)所生成的值,构造包含候选块的m组分类{π1,π2,...,πm}:

πi={pk|dk∈(vi-δ,vi+δ)}(3-2)

其中i=1,2,...,m,k=1,2,...,n,δ为满足0≤δ<(dmax-dmin)/2m区间的任意数。我们使用每个分类来表示多个秘密比特。m组分类中的一组包含信息,表示向下取整。

(4)为隐藏秘密信息,将秘密信息转化为二进制比特流,并将秘密信息分为l段{b1,b2,...,bl},l=400。每段包含即4bits的秘密信息,最终我们纹理合成所生成的隐写图像共包含1600bits的秘密信息。同时计算出每段信息十进制值ei(i=1,2,...,l)。构造大小为[(kr+br)·wr]×[(kc+bc)·wc]的空白画布,wr和wc为满足公式(4-1)的整数:

(5)伪随机产生l个整数对作为密钥{(p1,q1),(p2,q2),...,(pl,ql)},其中1≤pi≤wr,1≤qj≤wc。整数对需要满足以下两个条件,首先,每组整数对互不相同;其次,对于任意两组整数对,应满足pi-pj>1或者qi-qj>1。

(6)对于任意一段秘密信息bi(i=1,2,...,l),选择分类中任意一个候选块,将候选块所有tr×tc个像素画入空白画布中,其所处位置范围为从((kr+br)·(pi-1)+1,(kc+bc)·(qi-1)+1)到((kr+br)·pi+br,(kc+bc)·qi+bc)。

(7)画布其余空白区域通过从113×113个候选块中选出最合适候选块进行纹理合成。纹理合成所采用的算法是在“最小误差边界”法基础上做轻微改变。通过迭代填充的方式来选择候选块填入空白区域,因和画布已有块具有重叠区域,计算重叠区域部分的最小均方差mse来确定填补候选块。其具体步骤如下:

(7-1)对已有候选块“c”进行纹理合成。分别计算“c”和其上部候选块“a”之间重叠区域的mse,以及“c”和其左部候选块“b”之间重叠区域的mse。

(7-2)同时我们加入右部或者下部重叠区域的mse,进行最佳候选块的选择。例如我们计算“c”和其下部候选块“d”之间重叠区域的mse。

(7-3)计算重叠区域的最小成本路径来确定缝合线,从“c”候选块三个方向重叠区域的mse值找到最佳候选块,来进行画布空白区域填补,完成纹理合成。

为了验证使用本发明可有力抵抗jpeg图像压缩,对图像5中的纹理图像所生成的隐写图像进行质量评估。纹理合成的隐写纹理图像大小为653×653,候选块大小为16×16,内核区域为3×3,l=400。我们分别取m=2,4,8,16来构造隐写图像,并对隐写图像进行jpeg压缩,其质量因子取值为10,30,50,70,90。从压缩后的隐写图像中提取秘密信息,计算提取信息的平均错误率。如图6所示。图中,横坐标代表不同质量因子对应的图像,纵坐标代表平均错误率,不同标记的曲线为m取值不同的隐写图像所对应的平均错误率曲线。从图6可以看出,随之质量因子的增加,平均错误率趋近于0,同时m的取值越小,其平均错误率也随之减小。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1