一种基于分块自适应直方图平移的可逆信息隐藏方法
【技术领域】
[0001] 本发明涉及多媒体信息安全领域,具体涉及一种基于分块自适应直方图平移的可 逆信息隐藏方法。
【背景技术】
[0002] 图像数据隐藏是将有用的信息隐藏于公开的图像中进行发送和传播。多数数据隐 藏算法都会使图像产生不可逆失真,但在某些实际应用中,因嵌入信息而导致的图像改变 是不可接受的。譬如在军事、医疗等领域中,不仅所嵌入信息具有重大意义,原始载体图像 同样也是不可或缺的。可逆信息隐藏技术的目的在于,使用者不仅能够完整地提取嵌入的 信息,同时能够无损的恢复原始图像。不仅在军事和医疗领域,可逆信息隐藏技术拥有广阔 的发展空间,在司法领域,用户权限多级管理领域,其同样具有很好的发展前景。
【发明内容】
[0003] 本发明方法的目的在于提出一种基于分块自适应的直方图平移可逆信息隐藏方 法,相较于现有的直方图平移方法,本发明方法能够在保持较高的图像质量情况下进行信 息的嵌入,并能无损的提取信息并恢复原始图像,实现无损可逆信息隐藏,为医疗和军事提 供帮助,并且本发明方法非常适用于高精度图像。
[0004] 为解决上述技术问题,本发明的技术方案如下:
[0005] -种基于分块自适应的直方图平移可逆信息隐藏方法,包括以下步骤:
[0006] (1)对载体图像分块、自适应的选择嵌入块,包括以下几个步骤:
[0007] (11)将载体图像分为Μ个N*N大小的子块,并将其置乱,将所有子块分为两类S和A, S类子块用于嵌入有效信息,A类子块用于嵌入附加信息;
[0008] (12)在嵌入有效信息之前,先计算每个子块的嵌入容量,依据有效信息的长度计 算嵌入容量门限值R,以此来确定待嵌入信息块;
[0009] (13)对于选定的用来嵌入信息的子块,为防止嵌入信息后溢出,需对子块进行预 处理,做溢出调整,即:按照从上到下从左到右的顺序逐一扫描各像素点,对像素值为〇、1、 254、255的像素点做标记(像素值为1或254的不做调整,标记为0;像素值为0的调整为1、像 素值为255的调整为254,并标记为1),此0、1标记构成定位图LM1;
[0010] (14)在选定嵌入块时注意,如若当前子块中峰值像素值(子块直方图的峰值是指h (X)取得最大值时的像素值X,也就是在子块中像素点最多的像素值)在本子块直方图有效 宽度的左边界上且嵌入的比特信息全为0时,为避免提取出错,采用〇、1序列标记,出现此类 特殊情况的子块标记为1,否则标记为〇,此〇、1序列构成定位图LM2;
[0011] (15)用0、1序列来标记各子块是否嵌入了信息,嵌入了有效信息的子块标记为1, 否则标记为0,此0、1序列构成定位图LM3。
[0012] (2)自适应的选择嵌入信息时直方图平移的方向,具体为:
[0013]先得出子块的直方图,直方图横轴X为像素值,取值范围[0,255],纵轴h(x)为各像 素值对应的像素点个数,设从0左起第一个非零h(x)对应像素值为a,从255右起第一个非零 h(x)对应像素值为b,那么直方图对应的有效像素值取值范围为[a,b],比较直方图中峰值 像素值max与a、b的距离,若max距b较近,则直方图向右平移,反之,直方图向左平移。
[0014] (3)为了能提取出发送方嵌入到载体图像中的有效信息并恢复原始图像,发送方 还需要将嵌入了信息的子块的峰值像素值等附加信息也嵌入到图像中传送给接收方,自适 应选择比特长度减少附加信息,具体步骤如下:
[0015] (31)根据子块的直方图分布,计算其有效宽度range;
[0016] (32)确定表示(range+1)所需的最少二进制位数k,加1是因为考虑到直方图平移 可能会使有效宽度增加,超出k位二进制数所能表示的范围;
[0017] (33)将峰值在直方图中的位置用k位二进制数表示,位置数从0开始计。
[0018] (4)有效信息嵌完后,采用直方图平移的方法将附加信息嵌入到预留的A类子块 中,附加信息包括定位图、各个子块峰值的边信息等。
[0019] (5)接收方在收到携带有嵌入信息的图像后,提取信息、恢复原始图像的过程为:
[0020] (51)同样将携带嵌入信息的图像分块并置乱,先提取出A类子块中的附加信息,得 出定位图、以及嵌入块直方图的峰值的位置信息,并恢复对A类子块的溢出调整;
[0021] (52)扫描子块,依据定位图LM3可以找出携带了信息的子块,依据子块的直方图计 算像素分布范围range,再依据提取出的峰值位置信息以及特殊情况标记图LM2来确定峰值 点的像素值;
[0022] (53)若峰值在直方图中的位置大于等于[,可推断出信息在嵌入时直方 图是向右平移的,则在提取时,直方图向左平移;反之,提取信息时直方图向右平移;最后再 依据溢出校正定位图LM1对提取信息后的图像做溢出调整;由此,可以提取出嵌入的信息, 并无损的恢复出原始图像。
[0023] 与现有技术相比,本发明技术方案的有益效果是:本发明是一种新型的直方图平 移方法,能够高效的嵌入信息并能无损的提取所嵌入信息、恢复原始图像,采用分块的方法 使得嵌入信息更加安全、提高整体嵌入率,自适应选择直方图平移方向则能有效提高图像 的峰值信噪比,进一步改善图像质量。从而可以为医疗、军事等应用提供帮助,本发明方法 对精度越高的图像的可逆信息隐藏效果越好。
【附图说明】
[0024]图1是采用本发明方法进行可逆信息隐藏的流程图;
[0025] 图2是在lena图像嵌入信息的统计实验结果图。
【具体实施方式】
[0026] 附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附 图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0027] 对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解 的。下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0028] 如图1,为本发明方法中基于分块自适应直方图平移的可逆信息隐藏方法的流程 图,其具体步骤如下:
[0029] (1)对载体图像分块、自适应的选择嵌入块,具体为:
[0030] (11)将载体图像分为Μ个N*N大小的子块,并将其置乱;
[0031] (12)将被置乱的子块分为两类S和A,S类子块用于嵌入有效信息,A类子块用于嵌 入附加ig息;
[0032] (13)对于用来嵌入有效信息的S类子块,先计算每个子块的直方图,得出其嵌入容 量;
[0033] (14)根据各子块的嵌入容量将其按降序排列,计算出使用最少数量的子块完整嵌 入有效信息所要求的嵌入容量门限值R;
[0034] (15)扫描被置乱后的子块,计算其嵌入容量,若嵌入容量2 R,则该子块用来嵌入 有效信息,否则跳过,直到所有有效信息完全嵌入为止;
[0035] (16)对于选定的用来嵌入有效信息的子块,为防止嵌入有效信息后溢出,需对S类 子块进行预处理,即:按照从上到下从左到右的顺序逐一扫描各像素点,对像素值为〇、1、 254、255的像素点做标记(像素值为1或254的不做调整,标记为0;像素值为0的调整为1、像 素值为255的调整为254,并标记为1),此0、1标记构成定位图LM1;
[0036] (17)在选定嵌入块时注意,如若当前子块中峰值像素值在本子块直方图有效宽度 的左边界上且嵌入的比特信息全为〇时,为避免提取出错,采用〇、1序列标记,出现此类特殊 情况的子块标记为1,否则标记为〇,此〇、1序列构成定位图LM2;
[0037] (18)用0、1序列来标记各子块是否嵌入了信息,嵌入了有效信息的子块标记为1, 否则标记为0,此0、1序列构成定位图LM3。
[0038] (2)自适应的选择嵌入信息时直方图平移的方向,具体为:
[0039] (21)对符合嵌入要求的子块,先得到其直方图,然后计算直方图分布的像素值范 围[a, b],找出峰值像素值;
[0040] (22)计算峰值像素值与a、b两端点间的距离length (a)、length (b),假若length (aH length(b),则嵌入信息时直方图向右平移,反之,直方图向左平移;
[0041] (23)若判定直方图向右平移,扫描子块的像素点p,嵌入比特为b(b为0或1),嵌入 信息后的像素值为P'则:
[0042]
[0043]反之,若判定直方图向左平移,则:
[0044]
[0045] (3)为了能提取出发送方嵌入到载体图像中的有效信息并恢复原始图像,发送方 还需要将嵌入了信息的子块的峰值像素值等附加信息也嵌入到图像中传送给接收方,自适 应选择比特长度减少附加信息,具体步骤如下:
[0046] (31)根据子块的直方图分布,计算其有效宽度range;
[0047] (32)确定表示(range+1)所需的最少二进制位数k,加1是因
为考虑到直方图平移 可能会使有效宽度增加,超出k位二进制数所能表示的范围;
[0048] (33)将峰值在直方图中的位置用k位二进制数表示,位置数从0开始计。
[0049] (4)有效信息嵌完后,采用直方图平移的方法将附加信息嵌入到预留的A类子块 中,附加信息包括定位图、各个子块峰值的边信息等,具体步骤为:
[0050] (41)为防止直方图平移后溢出,先对A类子块进行溢出校正,即:按照从上到下从 左到右的顺序逐一扫描各像素点,对像素值为0、1、254、255的像素点做标记(像素值为1或 254的不做调整,标记为0;像素值为0的调整为1、像素值为255的调整为254,并标记为1 ),将 此标记图LM4也置于附加信息中;
[0051] (42)计算所有附加信息的长度,将长度信息置于附加信息之前连同附加信息一并 嵌入到A类子块中。
[0052] (5)接收方在收到携带有嵌入信息的图像后,提取信息、恢复原始图像的步骤如 下:
[0053] (51)同样将携带嵌入信息的图像分块并置乱,先在A类子块中提取出附加信息的 内容,得出定位图、以及嵌入块直方图的峰值的位置信息mpNum,并且依据提取出的标记图 LM4恢复对A类子块的溢出调整;
[0054] (52)扫描S类子块,依据定位图LM3可以找出携带了信息的子块,依据子块的直方 图计算像素分布范围range,再依据提取出的峰值位置信息以及特殊情况标记图LM2来确定 峰值点的像素值;
[0055] 若依据LM2当前小块不属于特殊情况,那么峰值点的像素值为:
[0056] mp = startP+mpNum+1
[0057] 反之,若属于特殊情况,则有:
[0058] mp = startP+mpNum
[0059]其中startP为当前小块中第一个像素点个数非零的像素值;
[0060] (53)若峰值在直方图中的位置乏可推断出信息在嵌入时直方图是向 右平移的,则在提取时,峰值max,扫描像素点P'提取比特信息b,恢复的像素点为?°,有:
[0061]
[0062]
[0063]反之,若峰值在直方图中的位置.< lj有:
[0064]
[0065]
[0066] (54)在提取信息时,同时依据溢出校正定位图LM1恢复对嵌入信息子块的溢出调 整:按从上到下从左到右的顺序扫描子块中各个像素点,对像素值为1或254的像素点,依据 LM1判断该像素点是否进行过校正,若是,则将其像素值调整为0或255,否则不变。
[0067] 由此,在提取出嵌入信息的同时无损的恢复出了原始图像。
[0068]本发明方法的原理如下:
[0069] 本发明方法采用了分块的方法,相较于现有的直方图平移的方法来说,嵌入容量 有明显增加;依据各子块的嵌入容量来自适应的选择嵌入块、以及依据子块直方图平移的 无效移动数量来自适应的选择子块嵌入信息时的移动方向,能有效提高图像的PSNR(Peak Signal to Noise Ratio)值;另外,依据各子块直方图的有效宽度来自适应的确定用于表 示峰值信息的二进制的位数,能有效减少附加信息的长度。
[0070] 下面给出利用本发明方法的一些实验结果:
[0071]以512*512的lena灰度图像为例,将图像分为32*32大小的子块,那么总共有256个 子块。将图像的子块进行置乱,将1-192子块用来嵌入有效信息,193-256子块用来嵌入附加 信息。计算不同嵌入率下所获得图像与原始图像之间的PSNR值。实验结果显示,本发明方法 能有效提高图像的嵌入率以及PSNR值,并且能无损的提取出嵌入信息、恢复原始载体图像。 图2为取20次不同的key来置乱图像,做统计平均所得的实验结果。由实验结果可知,本发明 方法可以有效提高图像的嵌入率并改善图像质量。
[0072]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对 本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可 以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求 的保护范围之内。
【主权项】
1. 一种基于分块自适应直方图平移的可逆信息隐藏方法,其特征在于,包括以下步骤: (1) 对载体图像分块、自适应的选择待嵌入有效信息子块,其具体过程为: (11) 将载体图像分为M个N*N大小的子块,并将其置乱,将所有子块分为两类S和A,S类 子块用于嵌入有效信息,A类子块用于嵌入附加信息; (12) 在嵌入有效信息之前,先计算每个子块的嵌入容量,依据待嵌入有效信息的长度 计算嵌入容量门限值R,以此来选定对应的待嵌入有效信息子块; (13) 为防止嵌入信息后直方图溢出,需对所有子块进行预处理,做溢出调整; (2) 自适应的选择嵌入信息时直方图平移的方向,具体为: 先得出子块的直方图,直方图横轴X为像素值,取值范围[〇,255],纵轴h(x)为各像素值 对应的像素点个数,设从O左起第一个非零h(x)对应像素值为a,从255右起第一个非零h(x) 对应像素值为b,那么直方图对应的有效像素值取值范围为[a,b],比较该直方图中峰值像 素值max与a、b的距离,若max距b较近,则该直方图向右平移,反之,该直方图向左平移; (3) 将嵌入了有效信息的子块的附加信息嵌入到图像中传送,自适应选择附加信息的 比特长度,具体为: (31)根据子块的直方图分布,计算其有效宽度range; (3 2)确定有效宽度表示为(range+1)的直方图所需的最少二进制位数k; (33)将峰值在直方图中的位置用k位二进制数表示,位置数从O开始计; (4) 有效信息嵌完后,采用直方图平移的方法将附加信息嵌入到预留的A类子块中; (5) 在收到携带有嵌入信息的图像后,提取信息、恢复原始图像的过程为: (51) 将携带嵌入信息的图像分块并置乱,先提取出A类子块中的附加信息,得出定位 图、以及嵌入块直方图峰值的位置信息,并恢复对A类子块的溢出调整; (52) 扫描子块,找出携带了有效信息的子块,依据子块的直方图计算像素分布范围 range,并确定峰值点的像素值; (53) 若峰值在直方图中的位置大于等于·即信息在嵌入时直方图是向右平 移的,则在提取时,直方图向左平移;反之,提取信息时直方图向右平移;最后对提取信息后 的图像做溢出调整;由此,能够提取出嵌入的信息,并无损的恢复出原始图像。2. 根据权利要求1所述的基于分块自适应直方图平移的可逆信息隐藏方法,其特征在 于,对选定的待嵌入有效信息子块进行预处理,具体为: 按照从上到下从左到右的顺序逐一扫描各像素点,对像素值为0、1、254、255的像素点 做标记;其中像素值为1或254的不做调整,标记为O ;其中像素值为O的调整为1、像素值为 255的调整为254,并标记为1,此0、1标记构成定位图LMl; 若当前子块中峰值像素值在本子块直方图有效宽度的左边界上且嵌入的比特信息全 为O时,标记为1,否则标记为O,该0、1标记构成定位图LM2; 用〇、1序列来标记各子块是否嵌入了信息,嵌入了有效信息的子块标记为1,否则标记 为0,此〇、1序列构成定位图LM3。3. 根据权利要求2所述的基于分块自适应直方图平移的可逆信息隐藏方法,其特征在 于,所述步骤(52)扫描子块后,依据定位图LM3找出携带了有效信息的子块,依据子块的直 方图计算像素分布范围range,再依据提取出的峰值位置信息以及特殊情况标记图LM2来确 定峰值点的像素值。4.根据权利要求3所述的基于分块自适应直方图平移的可逆信息隐藏方法,其特征在 于,所述步骤(53)中,若峰值在直方图中的位置大于等于即信息在嵌入时直方 图是向右平移的,则在提取时,直方图向左平移;反之,提取信息时直方图向右平移;最后再 依据溢出校正定位图LMl对提取信息后的图像做溢出调整;由此,能够提取出嵌入的信息, 并无损的恢复出原始图像。
【专利摘要】本发明涉及多媒体信息安全领域,具体涉及一种基于分块自适应直方图平移的可逆信息隐藏方法,包括如下步骤:(1)将载体图像分块,计算各子块直方图的峰值;(2)依据各子块的嵌入容量,自适应的选择用于嵌入信息的子块;(3)在嵌入信息时,采用一种自适应选择直方图平移方向的方法。本发明是一种新型的直方图平移方法,能够高效的嵌入信息并能无损的提取所嵌入信息、恢复原始图像,采用分块的方法使得嵌入信息更加安全、提高整体嵌入率,自适应选择直方图平移方向则能有效提高图像的峰值信噪比,进一步改善图像质量。从而可以为医疗、军事等应用提供帮助,本发明方法对精度越高的图像的可逆信息隐藏效果越好。
【IPC分类】G06T5/40, G06T5/00
【公开号】CN105488773
【申请号】CN201510855770
【发明人】黄丹, 黄方军
【申请人】中山大学
【公开日】2016年4月13日
【申请日】2015年11月27日