[0006] 本发明的目的是针对现有技术的不足,而提供一种基于权重的多备份图像隐藏及恢复方法。这种方法恢复的隐藏图像像素高位较多,恢复的隐藏图像具有较高的峰值信噪比。
[0007] 实现本发明目的的技术方案是:
[0008] 一种基于权重的多备份图像隐藏及恢复方法,与现有技术不同的是,包括如下步骤:
[0009] 1)图像信息隐藏:所述图像信息隐藏包括:
[0010] (1)按多备份信息进行图像信息隐藏:将隐藏图像分为m个大小相同的图像块,每个图像块作为一组隐藏信息,共m组隐藏信息,按顺序遍历图像块中的像素,将每个像素从低位到高位排列得到图像块隐藏信息,记m组隐藏信息为s1,s2,…,sm,设每组隐藏信息的备份数为h,根据每组隐藏容量l、隐藏组数m、备份数h和载体图像的隐藏位数选择个像素的载体图像,其中 表示上取整,将载体图像分为m×h个载体块,每个载体块为大小相同的正方形区域,正方形区域能够隐藏一组隐藏信息,选择模板矩阵,将隐藏信息si(1≤i≤m)隐藏到模板矩阵元素i对应的h个载体块中,完成多备份图像隐藏;
[0011] (2)根据权重确定隐藏份数:由于隐藏信息是图像,载体图像中每个载体块都隐藏一组信息,在这个载体块中高位信息和低位信息均匀分布且数量都相同,由于高低位信息的权重不同,因此通过权重确定高低位的隐藏份数,增加重要的隐藏信息隐藏的备份数,进一步提高隐藏图像的安全性,隐藏图像像素值由8个二进制比特位来计算,第n位的权重为2n-1,隐藏图像高低位具有不同的权重,高位权重大对图像的影响大,低位权重小对图像的影响小,因此可减少低位隐藏数量,增加高位的隐藏数量,由于同一份信息隐藏在多个不同载体块中,首先找出隐藏相同信息距离最远的两个载体块,设kn(n=1,2,3,4,5,6,7,8)为两个载体块中像素第n位隐藏信息的备份数,则有:
[0012]
[0013] 如果不考虑权重问题,隐藏信息均匀分布,则有:
[0014] kn=2(n=1,2,3,4,5,6,7,8) (2)
[0015] 由于像素位的权重不同,高位权重大,低位权重小,为了提高隐藏图像安全性,高位隐藏信息的备份数多,低位隐藏信息的备份数小,因此每位的备份数满足:
[0016] k1≤k2≤k3≤k4≤k5≤k6≤k7≤k8 (3)
[0017] 高低位隐藏信息的总备份数为16,根据权重确定隐藏份数时,要增加高位隐藏信息的备份数,就要相应减少低位隐藏信息的备份数,由于隐藏信息像素第1位、第2位和第3位权重小,对像素值的影响也就小,因此令k1=k2=k3=1,对像素低3位只留1份信息,增加高位隐藏数量,因此对于kn(n=4,5,6,7,8)需要满足如下条件:
[0018]
[0019] k8、k7的值越大,抗高强度噪声效果较好;若k4≥2,对较低噪声强度效果较好,因此,k4,k5,k6,k7,k8的取值范围是:k4∈{1,2},k5∈{2,3},k6∈{2,3},k7∈{3,4},k8∈{3,4},在kn(n=4,5,6,7,8)的取值范围内,选择一组k4,k5,k6,k7,k8的值确定隐藏份数;
[0020] (3)按权重进行隐藏:
[0021] a:像素的多备份隐藏:每个像素隐藏在多个不同的块中,设像素p隐藏在A和B两个块中的8个位分别为 和根据权重确定高低位的隐藏份数为kn(n=1,
2,3,4,5,6,7,8),若 则低s位只保留1份数据,增加s比特高位信息;若
表示要增加第t位到第8位的s比特高位信息,通过替换低s位来增加高位隐藏
份数,实现权重的多备份隐藏,为了使高位分布均匀在两个不同的块中,若s为偶数,则低s位载体为 若s为奇数时,则低s位载体为
[0022] 根据高位的备份数kn确定隐藏信息,设高位隐藏信息为b1,b2,…,bs,从第8位开始,到第t位结束 ,每位取kn-2(n=t ,t+1 ,...,7 ,8)份 ,因此令:其中
这样可得到高位隐藏信息,
[0023] 将s比特高位隐藏信息用替换方式进行隐藏,若s为偶数,b1,b2,…,bs依次替换若s为奇数,b1,b2,…,bs依次替换完成像素p基于权重的信息隐藏;
[0024] b:多备份隐藏:由于每个载体块有四个顶点,计算一个载体块的每个顶点到另一载体块4个顶点的欧式距离,设这16个距离分别是d1,d2,...,d16,令:
[0025] d=min(d1,d2,...,d16) (5)
[0026] 则称d为两个载体块距离,每一组隐藏信息隐藏在h个载体块中,按距离对这h个载体块进行分组,依次计算行坐标为1的载体块与行坐标为2,3,…,h的载体块的距离,行坐标为1的载体块与距离其最远且行坐标较小的载体块分为一组,即第1组载体块,在余块中求行坐标最小的载体块与距离其最远且行坐标较小的载体块为第2组,这样可得 组,其中 表示下取整,若h为奇数,分组后剩余一个单独的块不作处理;
[0027] 从第1组隐藏信息s1开始,设隐藏s1对应的组为 找出所有在 和 中隐藏的对应像素,根据高低位像素的隐藏份数kn,采用步骤a实现隐藏信息s1基于权重的多备份隐藏;
[0028] 重复步骤(3),对其他组隐藏信息进行处理得到载密图像,完成基于权重的多备份图像隐藏;
[0029] 最后将每组隐藏信息大小l、隐藏信息组数m、备份数h、载体图像隐藏位数、模板矩阵和隐藏像素位的份数kn形成的密钥key,用于提取和恢复被隐藏图像;
[0030] 2)隐藏图像恢复:如果载密图像被剪切或被噪声等破坏,导致信息丢失,利用权重的多备份进行恢复,包括,
[0031] (1)检测载密图像:标记被剪切或被椒盐噪声破坏的像素,设隐藏像素q的8个位为q1,q2,…,q8,若像素位qn(1≤n≤8)隐藏的载体像素未被破坏,则令f(qn)=1表明qn是真实的;若像素位qn从被破坏的载密像素中提取,则令f(qn)=0表明qn不可信;
[0032] (2)根据密钥key中的隐藏信息组数m和备份数h,将载密图像分成m×h个载体块,依据密钥key中的模板矩阵,找出隐藏第t组信息st(1≤t≤m)的所有载体块,并对这些载体块进行两两分组,记作 若h为奇数,剩余一个单独的块记作Ct,在Ct中隐藏一份st;
[0033] (3)根据密钥key中载体图像隐藏位数和每组隐藏信息大小l,按照多备份信息隐藏的先后顺序,从所有隐藏有st的载体块中提取隐藏信息,对提取的每份隐藏信息8位为一组进行分组,对应每组隐藏信息为同一个隐藏像素的8个位,根据密钥key中高低位隐藏份数kn,对隐藏图像素进行恢复,令r=(j-1)×8(1≤j≤l/8),设从 和 中提取的第j个隐藏像素的8个位分别为 和隐藏像素第n位的kn个备份位为
zu,n(1≤u≤kn),根据像素隐藏位数的权重kn,可得zu,n的值,令:
[0034]
[0035]
[0036] 设从 和 中提取第j个隐藏像素第n位未被破坏且值为1的个数为 第n位未被破坏且值为0的个数为 则:
[0037]
[0038]
[0039] 若h为奇数,在Ct中提取的第j个像素8个位为,令:
[0040]
[0041]
[0042] 设隐藏信息st中第j个隐藏像素第n位未被破坏且为1的个数为 第n位未被破坏且为0的个数 则:
[0043]
[0044]
[0045] 设隐藏信息st中第j个像素的第n位为 若 或 令:
[0046]
[0047] 通过公式(14)实现像素位 的恢复,若 则在所有提取信息中第j个像素第n位全部被破坏,由于像素位的取值为0和1,因此对 随机赋值0或1,设st中第j个像素恢复值为f‘t,j,则
[0048]
[0049] 这样实现了st中第j个像素恢复,同理可以恢复st中的其他像素;
[0050] 按照相同的方法,对m组隐藏信息中所有的隐藏像素进行恢复,得到隐藏信息s1,s2,s3,…,sm,实现基于权重的多备份隐藏信息恢复,将恢复的隐藏信息每8位分为1组,按照隐藏时的顺序,计算出每个隐藏像素的像素值;
[0051] 若恢复后的像素值与其3×3邻域像素均值的差值绝对值大于T,则该像素可能是孤立点,需要对其进行处理,与恢复后的像素值相比,若邻域像素均值较小,则修改像素中随机赋值位为0;否则,修改像素中随机赋值位为1,完成隐藏图像恢复。
[0052] 步骤(1)中所述的模板矩阵为4阶拉丁方阵或8阶拉丁方阵或16拉丁方阵。
[0053] 本技术方案根据隐藏图像像素高低位的权重确定高低位的隐藏份数,然后将隐藏信息嵌入到载体图像中,再依据高低位隐藏份数,用像素高位替换像素低位,得到载密图像,载密图像在信道中进行传输可能受到剪切或噪声污染,根据密钥key,按照基于权重的隐藏图像恢复方法,提取并恢复载密图像中的隐藏信息,进而得到恢复的隐藏图像。采用本技术方案方法恢复的隐藏图像像素高位较多,恢复的隐藏图像具有较高的峰值信噪比。