CN107369186A - 一种信息隐藏方法及装置 - Google Patents
一种信息隐藏方法及装置 Download PDFInfo
- Publication number
- CN107369186A CN107369186A CN201710579206.8A CN201710579206A CN107369186A CN 107369186 A CN107369186 A CN 107369186A CN 201710579206 A CN201710579206 A CN 201710579206A CN 107369186 A CN107369186 A CN 107369186A
- Authority
- CN
- China
- Prior art keywords
- mrow
- pixel
- value
- turtle shell
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 241000270666 Testudines Species 0.000 claims abstract description 197
- 239000011159 matrix material Substances 0.000 claims abstract description 179
- 229910002056 binary alloy Inorganic materials 0.000 claims abstract description 16
- 230000004087 circulation Effects 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 7
- 230000007423 decrease Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 241001504519 Papio ursinus Species 0.000 description 1
- 241000758706 Piperaceae Species 0.000 description 1
- 241000270708 Testudinidae Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种信息隐藏方法及装置,涉及图像处理技术领域。用以解决现有技术中单一龟壳矩阵存在因N值增大而造成载秘图像质量下降过快,且单一龟壳矩阵结构易泄露而引发安全问题。该方法包括:确定分类图像块在空矩阵内对应的N进制数值以及第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,将多个载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从二进制秘密比特流中依此取出g个未被处理的比特序列转换成待嵌入秘密数据;在两个连续的像素对内依此嵌入两个N进制数值,分别以两个连续的像素对在龟壳矩阵中的定位值隐藏两个N进制数值。
Description
技术领域
本发明涉及图像处理技术领域,更具体的涉及一种信息隐藏方法及装置。
背景技术
计算机网络和多媒体技术的迅猛发展,使得图像、声音、文本、视频等多种媒体信息在网络中快速传输。然而,网络在提供信息共享,带来便携的同时也存在很多安全隐患。信息隐藏作为网络信息安全的一项重要技术,已成为近些年来研究的热点话题。信息隐藏是将秘密信息通过某种方式隐藏于另一公开载体的信息中,通过公开载体的传输来传递秘密信息,非法者不知道这个公开载体的信息中是否隐藏了秘密信息,即使知道也难以提取或去除隐藏的信息,从而确保了秘密信息的安全性。信息隐藏技术的研究在信息安全领域中具有重要的地位,它对于军事、情报、国家安全方面有着重要意义。
2006年,Zhang等人提出了一种基于修正方向(英文为:Exploiting ModificationDirection,中文简称EMD)的信息隐藏算法,该算法能够通过像素单元中一个像素的修改,将任意一个2n+1进制的秘密数据嵌入到n个载体像素中,从而获得较大的隐藏容量以及较好的载秘图像质量。之后,大量的基于EMD方案的研究成为了信息隐藏领域内研究的热点。2010年,Kim等人改进了EMD信息隐藏方案,在获得相同载秘图像质量的情况下,大幅地提高了嵌入容量。2014年,Chang等人受到EMD方案的启发,提出了一种基于龟壳矩阵的信息隐藏方案。这一方案充分地利用了全方向的修正,将一个8进制的秘密数据隐藏到一对像素中,不仅获得了1.5bpp的嵌入容量,而且载秘图像的视觉质量,即PSNR,达到了52dB左右。2016年,Liu等人改进了Chang等人的方案,在不降低载秘图像质量的前提下,将嵌入容量提高到2bpp。虽然以上两种方案在嵌入容量和载秘图像质量方面均获得了较好的性能,但是龟壳矩阵结构的单一也削弱了方案的安全性。因此,Liu和Wang扩展了龟壳矩阵结构,将原本单一的8进制龟壳矩阵结构扩展到N进制,并将其运用到信息隐藏中,进一步提高了方案的安全性。然而,在这一方案中,依然存在着2个方面的问题:(1)随着龟壳矩阵结构的扩展,嵌入容量会不断增加,但同时载秘图像的质量会迅速下降;(2)虽然龟壳矩阵结构扩展到N进制,但是如果单一的N值被泄露,非法者能够很容易地构建龟壳矩阵,从而提取载秘图像中的秘密信息,因此,方案的安全性需要进一步改善。
发明内容
本发明实施例提供一种信息隐藏方法及装置,用以解决现有技术中单一龟壳矩阵存在因N值增大而造成载秘图像质量下降过快,且单一龟壳矩阵结构易泄露而引发安全问题。
本发明实施例提供一种信息隐藏方法,包括:
设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,N为参数值;
从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
优选地,所述龟壳矩阵包括龟壳边数据和龟壳背数据;
所述分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值,具体包括:
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳背数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在所述第一龟壳内确定与所述第一个N进制数值相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳边数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在与所述第一个像素对相邻的多个龟壳内确定与所述第一个N进制数据相等的多个第一像素对,从多个所述第一像素对中确定与所述第一个像素对距离最小的第二像素对,并以所述第二像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对不属于龟壳矩阵内的龟壳数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在包括所述第一个像素对的龟壳尺寸范围内确定与所述第一个N进制数据相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值。
优选地,所述第一图像块分别包括平滑块,边缘块和纹理块;
所述设置一个空矩阵,确定第一图像块在所述空矩阵内对应的参数值之前,还包括:
根据载体图像包括的互不重叠且具有相同大小的图像块,采用公式(1)确定每个所述图像块的熵值,将熵值小于等于第一阈值的所述图像块确定为平滑块,采用公式(2)确定熵值大于第一阈值的所述图像块的方差,将熵值大于第一阈值且方差大于等于第二阈值的所述图像块确定为边缘块,将熵值大于第一阈值且方差小于第二阈值所述图像块确定为纹理块;
公式(1)如下所示:
公式(2)如下所示:
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
优选地,所述以所述参数值确定与所述参数值对应的第一变量值,第二变量值和第三变量值如下所示:
其中,n为第一变量,n1为第二变量,n2为第三变量。
本发明实施例还提供一种信息隐藏装置,包括:
矩阵生成单元,用于设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
转换单元,用于将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,N为参数值;
隐藏单元,用于从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
优选地,所述龟壳矩阵包括龟壳边数据和龟壳背数据;
所述隐藏单元具体用于:若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳背数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在所述第一龟壳内确定与所述第一个N进制数值相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳边数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在与所述第一个像素对相邻的多个龟壳内确定与所述第一个N进制数据相等的多个第一像素对,从多个所述第一像素对中确定与所述第一个像素对距离最小的第二像素对,并以所述第二像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对不属于龟壳矩阵内的龟壳数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在包括所述第一个像素对的龟壳尺寸范围内确定与所述第一个N进制数据相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值。
优选地,所述第一图像块分别包括平滑块,边缘块和纹理块;
所述矩阵生成单元还用于:
根据载体图像包括的互不重叠且具有相同大小的图像块,采用公式(1)确定每个所述图像块的熵值,将熵值小于等于第一阈值的所述图像块确定为平滑块,采用公式(2)确定熵值大于第一阈值的所述图像块的方差,将熵值大于第一阈值且方差大于等于第二阈值的所述图像块确定为边缘块,将熵值大于第一阈值且方差小于第二阈值所述图像块确定为纹理块;
公式(1)如下所示:
公式(2)如下所示:
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
优选地,所述以所述参数值确定与所述参数值对应的第一变量值,第二变量值和第三变量值如下所示:
其中,n为第一变量,n1为第二变量,n2为第三变量。
本发明实施例中,提供了一种信息隐藏方法,包括:设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,N为参数值;从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。上述方法中,针对不同的图像块分类,可以构建不同的N进制龟壳矩阵,通过构建的龟壳矩阵可以将载秘图像嵌入龟壳矩阵中,避免了现有技术中单一龟壳矩阵结构容易泄露而引发安全问题;进一步地,使用多龟壳矩阵结构缓解了单一龟壳矩阵或者因N值增大而造成载秘图像质量下降过快的问题。同时,采用N进制构建的龟壳矩阵可以任意组合,从而增加了信息隐藏的灵活性和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种信息隐藏方法流程示意图;
图2为本发明实施例提供的当N=12时的龟壳矩阵结构示意图;
图3为本发明实施例提供的当N=23时的龟壳矩阵结构示意图;
图4为本发明实施例提供的一种信息隐藏装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的一种信息隐藏方法流程示意图,如图1所示,该方法主要包括以下步骤:
步骤101,设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
步骤102,将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,N为参数值;
步骤103,从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
需要说明的是,在步骤101之前,需要先对图像块进行分类。具体地,图像块分类包括:
读入一幅M×N的载体图像X;将载体图像分割为互不重叠的,且大小相同的图像块,比如,将图像X分割为a×b大小的图像块,即X={x1,x2,...,xk,...,xl},xk表示第k个图像块,l=(M×N)/(a×b)表示图像块的总数量。
设置三个权值参数ωs,ωt,ωe,分别表示图像的平滑块、纹理块和边缘块的权重,并使用公式(3)计算相应的值:
其中,u和v分别表示平滑块和边缘块的数量,表示向上取整,表示向下取整。
使用公式(1),确定每一个图像块的熵值:
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值。
将所有图像块的熵值Hk按从小到大的顺序排列,并存入熵值序列H′中,H′={(H′1,H′2,...,H′k,...,H′l)|H′1<H′2<…<H′k<…<H′l}记录th1=H′u的值,并将该值作为判断平滑块的第一阈值,将小于第一阈值的图像块确定为平滑块。
除去熵值小于第一阈值th1的图像块,使用公式(2)计算剩余图像块的方差:
其中,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
将所有剩余块的方差按照从大到小的顺序排列,并存入方差序列V′中,V′={(V′1,V′2,...,V′l-u)|V′1>V′2>…>V′l-u}记录th2=Vv′的值,并将该值作为判断边缘块的第二阈值,使用下列公式(4)对每个图像块进行类别判断:
其中,Hc和Vc分别表示当前图像块的熵值和方差。
在步骤102中,设置一个空矩阵,比如,尺寸为256×256的空矩阵M,确定分类图像块在空矩阵内对应的N进制数值。需要说明的是,在本发明实施例中,分类图像块主要包括有平滑块,边缘块和纹理块,而N进制数值主要包括有8进制,12进制,17进制,23进制和38进制。在实际应用中,分类图像块和N进制数值没有具体的对应关系,但是N进制数值和该N进制数值包括的第一变量值,第二变量值和第三变量值之间有严格的对应关系。
表1为本发明实施例提供的N进制数值和第一变量,第二变量和第三变量之间的对应关系:
表1 N进制数值
在表1中,n为第一变量,n1为第二变量,n2为第三变量。需要说明的是,第二变量和第三变量之间具有n2=2n1-1的关系,且第二变量和第三变量依此表示同一个矩阵中同一列相邻元素之间的差值,第一变量表示第三变量的重复次数。比如,8进制中,n为1,n1为2,n2为3,则表示在同一个矩阵中,同一列相邻元素之间的差值依此为2个3,且在上述过程中,3只重复1次,具体地,矩阵的第一列第一行元素为0,则矩阵的第一列中第二行的起始元素为2,第一列第三行的起始元素为5,第一列第四行的起始元素为7,第一列第五行的起始元素为2,第一列第六行的起始元素为4。即第一列第二行和第一行元素之间的差值为2,第三行和第二行元素之间的差值为3,由于3只重复一次,则可以确定第三行和第四行元素之间的差值为2;同理,可以确定第四行和第五行元素之间的差值为3,若采用10进制,则第一列第五行的起始元素应该是10,由于在这个例子中,采用的是8进制,则应该将10进制的数值10通过取模的方法转换为8进制的数值2。
具体地,在本发明实施例中,构建一个龟壳矩阵主要包括以下:
第一步,定义一个尺寸为256×256的空矩阵M;
第二步,参照表1选择参数值N,并确定相应的变量值,其中,n1、n2(n2=2n1-1)分别表示矩阵M中同一列相邻元素之间的差值,n表示n2重复的次数;
第三步,使用以下约束条件,在矩阵M中填入每一个元素值:
(1)、第一行第一列的元素为0,且矩阵中所有元素均为0到N-1的整数;
(2)、同一行,相邻元素之间的差值为1,即:0到N-1的整数循环填入每一行;
(3)、同一列,相邻元素之间的差值为(n1,n2,…,n2)的交替,这里n2重复出现n次,即遵循如下公式(5)所示规则:
在公式(5)中,mi,j为矩阵M中,第i行、第j列的元素值,mod表示取模;
第四步,龟壳矩阵构建完成。在本发明实施例中,龟壳矩阵中龟壳边缘的数据为边数据,在一般情况下,边数据通常可属于多个龟壳;龟壳矩阵中龟壳内部的数据为背数据,在通常情况下,背数据仅属于当前龟壳。
在实际应用中,可以为上述图像划分的平滑块,纹理块和边缘块选取的N进制数值,并将其分别记为N1,N2,N3,且N1<N2<N3,并根据上述构建龟壳矩阵的方法,为平滑块,纹理块和边缘块分别构建龟壳矩阵。
在步骤102中,在将载秘图像划分成多个载秘图像块之前,先判断图像块分类,并将图像块划分为互不重叠的像素对。比如,读入a×b大小的图像块xk(k={1,2,...,l}),判断图像块分类,并将其划分为互不重叠的像素对(xr,xr+1),其中,r∈{1,3,...,a×b-1}。
根据一个像素对,随机生成长度为g(a×b)/4的二进制秘密比特流,从二进制秘密比特流中依此取出g个未被处理的比特序列,并将取出的比特序列转换成具有两个N进制数值的待嵌入秘密数据。比如,将取出的g个未被处理的比特序列转换为两个N进制数{s1s2}。
在步骤103中,从步骤102确定的多个像素对中依此选取两个连续的像素对,在两个连续的像素对内依此嵌入两个N进制数值,分别以两个连续的像素对在龟壳矩阵中的定位值来隐藏两个N进制数值。比如,依此选择两个连续的像素对(xr,xr+1)和(xr+2,xr+3),这两个像素对(xr,xr+1)和(xr+2,xr+3)分别用来嵌入两个N进制秘密数s1和s2。
需要说明的是,在本发明实施例中,以两个连续的像素对在龟壳矩阵中的定位值来隐藏两个N进制数值,主要包括以下方法:
1)、若两个连续的像素对内包括的第一个像素对是龟壳矩阵内第一龟壳的龟壳背数据,且第一个像素对在龟壳矩阵中的定位值与第一个像素对对应的第一个所述N进制数值不相等,则在第一龟壳内确定与第一个N进制数值相等的第一像素对,并以第一像素对在龟壳矩阵中的定位隐藏第一个N进制数值。
比如,若第一个像素对M(xr,xr+1)是龟壳内的背数据,且M(xr,xr+1)≠s1,则在当前龟壳内搜索满足M(p,q)=s1的元素值,并将像素对(xr,xr+1)修改为(p,q)以达到嵌入s1的目的。
2)、若两个连续的像素对内包括的第一个像素对是龟壳矩阵内第一龟壳的龟壳边数据,且第一个像素对在龟壳矩阵中的定位值与第一个像素对对应的第一个所述N进制数值不相等,则在与第一个像素对相邻的多个龟壳内确定与第一个N进制数据相等的多个第一像素对,从多个第一像素对中确定与第一个像素对距离最小的第二像素对,并以第二像素对在龟壳矩阵中的定位隐藏第一个N进制数值。
比如,如果M(xr,xr+1)是龟壳的边数据,且M(xr,xr+1)≠s1,则元素M(xr,xr+1)的所属龟壳不唯一,因此,可在包含该元素的多个龟壳内搜索满足M(p,q)=s1的元素值,并选择距离元素M(xr,xr+1)最近的点(p,q)来修改像素对(xr,xr+1)的值,从而完成秘密数据s1的嵌入。
3)、若两个连续的像素对内包括的第一个像素对不属于龟壳矩阵内的龟壳数据,且第一个像素对在龟壳矩阵中的定位值与第一个像素对对应的第一个所述N进制数值不相等,则在包括第一个像素对的龟壳尺寸范围内确定与第一个N进制数据相等的第一像素对,并以第一像素对在龟壳矩阵中的定位隐藏所述第一个N进制数值。
比如,如果M(xr,xr+1)不属于任何龟壳数据,且M(xr,xr+1)≠s1,则在包括该元素的类似于龟壳尺寸的范围内搜索满足M(p,q)=s1的元素值,并选择距离元素M(xr,xr+1)最近的点(p,q)来修改像素对(xr,xr+1),以完成s1的嵌入。
4)、若两个像素对内包括的第一个像素对在龟壳矩阵中的定位值与第一个N进制数值相等,则将第一个像素对在龟壳矩阵中的定位隐藏第一个N进制数值。
比如,如果M(xr,xr+1)=s1,则像素对不做任何修改,直接将s1嵌入到像素对M(xr,xr+1)在龟壳矩阵中定位位置。
需要说明的是,上述步骤103对比特序列转换中两个N进制数值进行秘密信息嵌入。而在实际应用中,需要对载秘图像包括的全部N进制数值进行秘密信息嵌入,即只要重复执行步骤103,就可以将载秘图像全部嵌入到龟壳矩阵中。
以下选择4幅512×512的标准测试图像“Lena”、“Baboon”、“Peppers”、“Tiffany”作为载体图像,图像块的尺寸为8×8,权值参数ωs,ωt,ωe分别设置为0.25,0.1,0.65为例,来详细介绍本发明实施例提供的一种信息隐藏方法,具体包括:
Ⅰ.图像块分类,选择测试图像“Lena”为例,包括下列步骤:
第一步,读入一幅512×512的载体图像“Lena”,记为X。
第二步,将载体图像分割为互不重叠的、8×8大小的图像块,即X={x1,x2,...,xk,...,x4096},xk表示第k个图像块,l=(512×512)/(8×8)=4096表示图像块的总数量。
第三步,设置权值参数ωs,ωt,ωe分别为0.25,0.1,0.65,并使用公式(3)计算相应的值:
公式(3)中,u和v分别表示平滑块和边缘块的数量,表示向上取整,表示向下取整。
第四步,使用公式(1),计算每一个图像块的熵值:
公式(1)中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值。
第五步,将所有图像块的熵值Hk按从小到大的顺序排列,并存入熵值序列H′中,H′={(H′1,H′2,...,H′k,...,H′4096)|H′1<H′2<…<H′k<…<H′4096}记录th1=H′1024=3.5168,并将该值作为判断平滑块的门限值。
第六步,除去熵值小于3.5168的图像块,使用公式(2)计算剩余图像块的方差:
其中,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
第七步,将所有剩余块的方差按照从大到小的顺序排列,并存入方差序列V′中,V′={(V′1,V′2,...,V′3072)|V′1>V′2>…>V′3072}记录th2=V′2662=17.7279,并将该值作为判断边缘块的门限值。
第八步,使用公式(4)对每一个图像块进行类别判断:
同时Vc≥17.7279
其中,Hc和Vc分别表示当前图像块的熵值和方差。
Ⅱ.龟壳矩阵构建,即根据选择的参数N构建龟壳矩阵结构,主要包括下列步骤:
第一步,定义一个尺寸为256×256的空矩阵M。
第二步,参照表1选择参数值N,图2为本发明实施例提供的当N=12时的龟壳矩阵结构示意图,图3为本发明实施例提供的当N=23时的龟壳矩阵结构示意图;以选择N=12为例,则相应变量的取值n1=3、n2=5分别表示矩阵M中同一列相邻元素之间的差值,n=1,即同一列相邻元素之间的差值以(3,5)循环出现,如图2所示;同时,以选择N=23为例,则n1=4、n2=7分别表示矩阵M中同一列相邻元素之间的差值,n=2,即同一列相邻元素之间的差值以(4,7,7)循环出现,如图3所示;
第三步,使用以下约束条件,在矩阵M中填入每一个元素值,以N=12为例,如图2所示:
(1)第一行第一列的元素为0,且矩阵中所有元素均为0到11的整数;
(2)同一行,相邻元素之间的差值为1,即:0到11循环填入每一行;
(3)同一列,相邻元素之间的差值为(3,5)的交替,这里n2=5出现1次,即
其中,mi,j为矩阵M中,第i行、第j列的元素值,mod表示取模。
第四步,龟壳矩阵构建完成,如图2和图3所示,每一个龟壳都是一个六边形,红色标注的数据为边数据,龟壳内未标注数据为背数据。
Ⅲ.秘密信息嵌入,包括下列步骤:
第一步,为平滑块、纹理块和边缘块选取合适的N值,以平滑块N1=12,纹理块N2=23,边缘块N3=38为例,构建3个龟壳矩阵。
第二步,读入8×8大小的图像块xk(k={1,2,...,4096}),判断图像块分类,以当前图像块为平滑块为例,则N=12;并将其划分为互不重叠的像素对(xr,xr+1),其中,r∈{1,3,...,63}。
第三步,随机生成长度为g(a×b)/4=112的二进制秘密比特流S={1001101 1011000 0...},其中,
第四步,依次取出7个未被处理的比特序列,以{1001101}为例,并将其转换为两位12进制数{65}作为待嵌入的秘密数据。
第五步,依次选取两个连续的像素对,以(1,3)和(6,4)为例,分别用来嵌入12进制秘密数据s1=6和s2=5,见图2所示,具体步骤如下:
1)、以1为横坐标,3为纵坐标在12进制龟壳矩阵M中定位其相应的元素值M(1,3)=6,图2中画圈所示,并判断:M(1,3)=6为背数据,且M(1,3)=s1=6,符合情况4,则该像素对的值(1,3)不做任何;
2)、以6为横坐标,4为纵坐标在龟壳矩阵M中定位其相应的元素值M(6,4)=4,图2中方框所示,并判断:M(6,4)=4为边数据,且M(6,4)=4≠s2,符合情况2,则在M(6,4)所属的3个龟壳中寻找元素值为5的点,即:M(6,5)=5、M(7,2)=5,选择距离M(6,4)最近的点M(6,5)来修改像素对的值,因此,像素对(6,4)被修改为(6,5)以实现秘密数据5的嵌入;
第六步,重复第四步和第五步,将所有的秘密比特嵌入到图像块的所有像素对中。
第七步,重复执行第二步到第六步,完成所有图像块的嵌入,并产生载秘图像Y。
为了说明本发明实施例所提供的信息隐藏方法的性能,在相同的实验条件及参数设置下做了两组实验,第一组实验选取5种单一N值龟壳矩阵结构实现信息隐藏,表2给出了实验结果;第二组实验根据图像块分类选取3组不同N值龟壳矩阵结构组合实现秘密信息的嵌入过程,其中,表3为不同龟壳矩阵的组合,表4为实验结果。
表2第一组实验结果
从表2可以看出,随着N值的增大,载秘图像的质量急剧下降。当N值从12增加到17时,载秘图像的PSNR仅下降了1.84dB;当N值从17增加到23时,载秘图像的PSNR下降了2.36dB;当N值继续增加到38时,载秘图像的PSNR竟下降了3.36dB,PSNR仅为41dB左右。
表3给出了本发明实施例中多龟壳矩阵结构的3种组合,可以看到,组合I的N值选择相对较小,组合III的N值选择相对较大;从表4给出的实验数据,可以很明显地看出,本发明实施例提供的信息隐藏方法能有效缓解单一龟壳矩阵结构中因N值增大造成的载秘图像质量下降过快的问题。
表3不同龟壳矩阵的组合
表4第二组实验结果
在安全性方面,使用单一N值龟壳矩阵结构,一旦N值被泄露,恶意攻击者能够很容易地构建出龟壳矩阵,进而从载秘图像中提取秘密信息;但是本发明实施例提供的信息隐藏方法中,针对每一幅载体图像均可选择3种不同的N值构建龟壳矩阵来辅助完成秘密信息的嵌入,因此,本发明实施例例存在种可能的组合,恶意攻击者很难猜中正确的组合,进而增加了获取秘密信息的难度,提高了信息隐藏的安全性。
表5本发明实施例提供的信息隐藏方法和现有方案的比较
从表5可以看出,与现有的其它方案相比较,本发明实施例提供的信息隐藏方法无论在嵌入容量还是在载秘图像质量方面,均有着较好的性能。
基于同一发明构思,本发明实施例提供了一种信息隐藏装置,由于该装置解决技术问题的原理与一种信息隐藏方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图4为本发明实施例提供的一种信息隐藏装置结构示意图,如图4所述,该装置包括矩阵生成单元401,转换单元402和隐藏单元403。
矩阵生成单元401,用于设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
转换单元402,用于将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,N为参数值;
隐藏单元403,用于从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
优选地,所述龟壳矩阵包括龟壳边数据和龟壳背数据;
所述隐藏单元403具体用于:若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳背数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在所述第一龟壳内确定与所述第一个N进制数值相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳边数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在与所述第一个像素对相邻的多个龟壳内确定与所述第一个N进制数据相等的多个第一像素对,从多个所述第一像素对中确定与所述第一个像素对距离最小的第二像素对,并以所述第二像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对不属于龟壳矩阵内的龟壳数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在包括所述第一个像素对的龟壳尺寸范围内确定与所述第一个N进制数据相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值。
优选地,所述第一图像块分别包括平滑块,边缘块和纹理块;
所述矩阵生成单元402还用于:
根据载体图像包括的互不重叠且具有相同大小的图像块,采用公式(1)确定每个所述图像块的熵值,将熵值小于等于第一阈值的所述图像块确定为平滑块,采用公式(2)确定熵值大于第一阈值的所述图像块的方差,将熵值大于第一阈值且方差大于等于第二阈值的所述图像块确定为边缘块,将熵值大于第一阈值且方差小于第二阈值所述图像块确定为纹理块;
公式(1)如下所示:
公式(2)如下所示:
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
优选地,所述以所述参数值确定与所述参数值对应的第一变量值,第二变量值和第三变量值如下所示:
其中,n为第一变量,n1为第二变量,n2为第三变量。
应当理解,以上一种信息隐藏装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种信息隐藏装置所实现的功能与上述实施例提供的一种信息隐藏方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种信息隐藏方法,其特征在于,包括:
设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,
从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
2.如权利要求1所述的方法,其特征在于,所述龟壳矩阵包括龟壳边数据和龟壳背数据;
所述分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值,具体包括:
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳背数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在所述第一龟壳内确定与所述第一个N进制数值相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳边数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在与所述第一个像素对相邻的多个龟壳内确定与所述第一个N进制数据相等的多个第一像素对,从多个所述第一像素对中确定与所述第一个像素对距离最小的第二像素对,并以所述第二像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对不属于龟壳矩阵内的龟壳数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在包括所述第一个像素对的龟壳尺寸范围内确定与所述第一个N进制数据相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值。
3.如权利要求1所述的方法,其特征在于,所述第一图像块分别包括平滑块,边缘块和纹理块;
所述设置一个空矩阵,确定第一图像块在所述空矩阵内对应的参数值之前,还包括:
根据载体图像包括的互不重叠且具有相同大小的图像块,采用公式(1)确定每个所述图像块的熵值,将熵值小于等于第一阈值的所述图像块确定为平滑块,采用公式(2)确定熵值大于第一阈值的所述图像块的方差,将熵值大于第一阈值且方差大于等于第二阈值的所述图像块确定为边缘块,将熵值大于第一阈值且方差小于第二阈值所述图像块确定为纹理块;
公式(1)如下所示:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>H</mi>
<mi>k</mi>
</msub>
<mo>=</mo>
<mo>-</mo>
<munder>
<mo>&Sigma;</mo>
<mi>i</mi>
</munder>
<munder>
<mo>&Sigma;</mo>
<mi>j</mi>
</munder>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mi>log</mi>
<mi> </mi>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>,</mo>
<mi>i</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>a</mi>
<mo>&rsqb;</mo>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>b</mi>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>a</mi>
</munderover>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>b</mi>
</munderover>
<msub>
<mi>x</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>l</mi>
</mrow>
公式(2)如下所示:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>V</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mi>a</mi>
<mo>&times;</mo>
<mi>b</mi>
</mrow>
</mfrac>
<munder>
<mi>&Sigma;</mi>
<mi>i</mi>
</munder>
<munder>
<mi>&Sigma;</mi>
<mi>j</mi>
</munder>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
<mo>(</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
<mo>-</mo>
<msub>
<mover>
<mi>x</mi>
<mo>&OverBar;</mo>
</mover>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>x</mi>
<mo>&OverBar;</mo>
</mover>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mi>a</mi>
<mo>&times;</mo>
<mi>b</mi>
</mrow>
</mfrac>
<munder>
<mi>&Sigma;</mi>
<mi>i</mi>
</munder>
<munder>
<mi>&Sigma;</mi>
<mi>j</mi>
</munder>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mi>l</mi>
<mo>-</mo>
<mi>u</mi>
</mrow>
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
4.如权利要求1所述的方法,其特征在于,所述以所述参数值确定与所述参数值对应的第一变量值,第二变量值和第三变量值如下所示:
其中,n为第一变量,n1为第二变量,n2为第三变量。
5.一种信息隐藏装置,其特征在于,包括:
矩阵生成单元,用于设置一个空矩阵,确定分类图像块在所述空矩阵内对应的N进制数值以及与所述N进制数值对应的第一变量值,第二变量值和第三变量值;根据所述第一变量,所述第二变量和所述第三变量构建龟壳矩阵,其中,所述空矩阵的第一列第一行元素为0,所述空矩阵中以所述第二变量和所述第三变量的依此为同一列相邻元素之间的差值进行循环,且根据所述第一变量确定所述第三变量在一次所述循环中出现的次数;
转换单元,用于将载秘图像划分为多个载秘图像块,将多个所述载秘图像块分为多个像素对,根据一个所述像素对生成长度为g(a×b)/4的二进制秘密比特流,从所述二进制秘密比特流中依此取出g个未被处理的比特序列,将所述比特序列转换成具有两个N进制数值的待嵌入秘密数据;其中,a×b为所述载秘图像的大小,
隐藏单元,用于从多个所述像素对中依此选择两个连续的所述像素对,在两个连续的所述像素对内依此嵌入两个所述N进制数值,分别以两个连续的所述像素对在所述龟壳矩阵中的定位值隐藏两个所述N进制数值。
6.如权利要求5所述的装置,其特征在于,所述龟壳矩阵包括龟壳边数据和龟壳背数据;
所述隐藏单元具体用于:若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳背数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在所述第一龟壳内确定与所述第一个N进制数值相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对是龟壳矩阵内第一龟壳的龟壳边数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在与所述第一个像素对相邻的多个龟壳内确定与所述第一个N进制数据相等的多个第一像素对,从多个所述第一像素对中确定与所述第一个像素对距离最小的第二像素对,并以所述第二像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值;或者
若两个连续的所述像素对内包括的第一个所述像素对不属于龟壳矩阵内的龟壳数据,且所述第一个像素对在所述龟壳矩阵中的定位值与所述第一个像素对对应的第一个所述N进制数值不相等,则在包括所述第一个像素对的龟壳尺寸范围内确定与所述第一个N进制数据相等的第一像素对,并以所述第一像素对在所述龟壳矩阵中的定位隐藏所述第一个N进制数值。
7.如权利要求5所述的装置,其特征在于,所述第一图像块分别包括平滑块,边缘块和纹理块;
所述矩阵生成单元还用于:
根据载体图像包括的互不重叠且具有相同大小的图像块,采用公式(1)确定每个所述图像块的熵值,将熵值小于等于第一阈值的所述图像块确定为平滑块,采用公式(2)确定熵值大于第一阈值的所述图像块的方差,将熵值大于第一阈值且方差大于等于第二阈值的所述图像块确定为边缘块,将熵值大于第一阈值且方差小于第二阈值所述图像块确定为纹理块;
公式(1)如下所示:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>H</mi>
<mi>k</mi>
</msub>
<mo>=</mo>
<mo>-</mo>
<munder>
<mo>&Sigma;</mo>
<mi>i</mi>
</munder>
<munder>
<mo>&Sigma;</mo>
<mi>j</mi>
</munder>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mi>log</mi>
<mi> </mi>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>,</mo>
<mi>i</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>a</mi>
<mo>&rsqb;</mo>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>b</mi>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>a</mi>
</munderover>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>b</mi>
</munderover>
<msub>
<mi>x</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>l</mi>
</mrow>
公式(2)如下所示:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>V</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mi>a</mi>
<mo>&times;</mo>
<mi>b</mi>
</mrow>
</mfrac>
<munder>
<mi>&Sigma;</mi>
<mi>i</mi>
</munder>
<munder>
<mi>&Sigma;</mi>
<mi>j</mi>
</munder>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
<mo>(</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
<mo>-</mo>
<msub>
<mover>
<mi>x</mi>
<mo>&OverBar;</mo>
</mover>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>x</mi>
<mo>&OverBar;</mo>
</mover>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mi>a</mi>
<mo>&times;</mo>
<mi>b</mi>
</mrow>
</mfrac>
<munder>
<mi>&Sigma;</mi>
<mi>i</mi>
</munder>
<munder>
<mi>&Sigma;</mi>
<mi>j</mi>
</munder>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mi>l</mi>
<mo>-</mo>
<mi>u</mi>
</mrow>
其中,xk(i,j)表示第k个图像块中,第i行、j列的像素灰度值;表示该灰度值的概率分布;Hk表示图像块的熵值,表示当前图像块的平均像素值;Vt表示当前图像块的方差。
8.如权利要求5所述的装置,其特征在于,所述以所述参数值确定与所述参数值对应的第一变量值,第二变量值和第三变量值如下所示:
其中,n为第一变量,n1为第二变量,n2为第三变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710579206.8A CN107369186B (zh) | 2017-07-17 | 2017-07-17 | 一种信息隐藏方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710579206.8A CN107369186B (zh) | 2017-07-17 | 2017-07-17 | 一种信息隐藏方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107369186A true CN107369186A (zh) | 2017-11-21 |
CN107369186B CN107369186B (zh) | 2019-09-20 |
Family
ID=60307586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710579206.8A Expired - Fee Related CN107369186B (zh) | 2017-07-17 | 2017-07-17 | 一种信息隐藏方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107369186B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380551A (zh) * | 2020-11-18 | 2021-02-19 | 厦门理工学院 | 一种基于双图像的可逆数据隐藏方法与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7688993B2 (en) * | 2005-10-21 | 2010-03-30 | Nanyang Technological University | Software and method for embedding data in two color images |
CN104599226A (zh) * | 2015-02-14 | 2015-05-06 | 安徽大学 | 一种大容量隐写方法 |
CN105447808A (zh) * | 2015-11-12 | 2016-03-30 | 华北电力大学(保定) | 可逆数据隐藏方法以及恢复方法 |
-
2017
- 2017-07-17 CN CN201710579206.8A patent/CN107369186B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7688993B2 (en) * | 2005-10-21 | 2010-03-30 | Nanyang Technological University | Software and method for embedding data in two color images |
CN104599226A (zh) * | 2015-02-14 | 2015-05-06 | 安徽大学 | 一种大容量隐写方法 |
CN105447808A (zh) * | 2015-11-12 | 2016-03-30 | 华北电力大学(保定) | 可逆数据隐藏方法以及恢复方法 |
Non-Patent Citations (2)
Title |
---|
LI LIU等: "Data hiding based on extended turtle shell matrix construction method", 《MULTIMED TOOLS APPL》 * |
王聪丽等: "矩阵编码的实现及其在图像信息隐藏中的应用", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380551A (zh) * | 2020-11-18 | 2021-02-19 | 厦门理工学院 | 一种基于双图像的可逆数据隐藏方法与系统 |
CN112380551B (zh) * | 2020-11-18 | 2022-07-08 | 厦门理工学院 | 一种基于双图像的可逆数据隐藏方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107369186B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214973B (zh) | 针对隐写分析神经网络的对抗安全载体生成方法 | |
Lee et al. | Detecting handcrafted facial image manipulations and GAN-generated facial images using Shallow-FakeFaceNet | |
CN108346125A (zh) | 一种基于生成对抗网络的空域图像隐写方法及系统 | |
CN108717680B (zh) | 基于全稠密连接网络的空域图像隐写分析方法 | |
Ning et al. | Invisible poison: A blackbox clean label backdoor attack to deep neural networks | |
CN105389770B (zh) | 基于bp和rbf神经网络的图像水印嵌入、提取方法与装置 | |
CN109829391B (zh) | 基于级联卷积网络和对抗学习的显著性目标检测方法 | |
CN113077377B (zh) | 一种基于生成对抗网络的彩色图像隐写方法 | |
CN110610082A (zh) | 一种基于dnn用于护照抵御模糊攻击的系统与方法 | |
CN107240061A (zh) | 一种基于动态bp神经网络的水印嵌入、提取方法与装置 | |
Singh et al. | Steganalysis of digital images using deep fractal network | |
CN104636764B (zh) | 一种图像隐写分析方法以及其装置 | |
CN115189878B (zh) | 一种基于秘密分享的共享数据排序方法及电子设备 | |
CN104217388A (zh) | 一种基于fssvm的图像水印嵌入、提取的方法与装置 | |
CN111914617B (zh) | 一种基于平衡栈式生成式对抗网络的人脸属性编辑方法 | |
CN109388959A (zh) | 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法 | |
CN116486244A (zh) | 基于细节增强的水下目标检测方法 | |
Liu et al. | Deep learning and its application to general image classification | |
CN107369186A (zh) | 一种信息隐藏方法及装置 | |
Zhao et al. | Making generated images hard to spot: a transferable attack on synthetic image detectors | |
Nataraj et al. | Seam carving detection and localization using two-stage deep neural networks | |
Aminy et al. | A Reversible Data Hiding Approach in Medical Images Using Difference Expansion | |
CN112785478B (zh) | 基于生成嵌入概率图的隐藏信息检测方法和系统 | |
Kingra et al. | Siamlbp: exploiting texture discrepancies for deepfake detection | |
CN105389769B (zh) | 一种优化决策面的改进隐写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190920 |