动态信息隐写方法及计算机可读存储介质与流程

文档序号:16791260发布日期:2019-02-01 19:38阅读:191来源:国知局
动态信息隐写方法及计算机可读存储介质与流程

本发明涉及数据隐藏技术领域,尤其涉及一种动态信息隐写方法及计算机可读存储介质。



背景技术:

信息隐写,是将机密信息隐藏在大量的宿主信息中而不让别人轻易发现的一种方法。例如常见的信息隐写方式是将需要保密的数据隐藏在图片中,而不影响图片原有的视觉效果,从而达到机密信息隐藏的目的。

现有的基于图片的信息隐写方法主要有利用高空间频率的图像数据隐藏信息、采用最低有效位方法将信息隐藏到图片像素中、在数字图像的像素亮度的统计模型上隐藏信息的方法等等。

其中最低有效位方法处理起来简单快速,且由于只改变像素值的最低位,因此人眼视觉无法查觉图像像素色彩的细小变化,所以能比较好的保留原始图像的显示质量,不易被人查觉。但是最低有效位方法也有其缺陷,首先是隐藏信息容量有限,每个像素的颜色分量中,只有最低位才能插入要隐藏的信息;其次是这是种静态的隐藏方式,每个像素的数据隐藏位置固定在最低位,因此也比较容易让人破解,安全性较低。



技术实现要素:

本发明所要解决的技术问题是:提供一种动态信息隐写方法及计算机可读存储介质,可提高隐藏信息的数据量和安全性。

为了解决上述技术问题,本发明采用的技术方案为:一种动态信息隐写方法,包括:

获取图像中各像素的三个颜色分量;

将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;

计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度;

根据所述平均主色彩强度和预设的富裕系数,计算得到所述图像的色彩富裕指数;

遍历所述图像中的各像素;

计算一像素的三个第一分量的平均值,得到所述一像素的分量均值;

根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数;

根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息。

本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取图像中各像素的三个颜色分量;

将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;

计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度;

根据所述平均主色彩强度和预设的富裕系数,计算得到所述图像的色彩富裕指数;

遍历所述图像中的各像素;

计算一像素的三个第一分量的平均值,得到所述一像素的分量均值;

根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数;

根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息。

本发明的有益效果在于:基于图像全局色彩富裕指数和单像素色彩基尼指数,判断出像素的色彩强弱,从而在一些颜色分量中嵌入较多信息而不影响视觉效果;本发明扩展了传统最低有效位方法只能在最低位嵌入信息的限制,使得最大可在低四位进行嵌入,因此隐藏信息的容量有了很大的提升;同时,由于每个像素所能嵌入信息的位数是不同的,可随图像内容的不同而变化,因此不是固定位置的信息隐藏方法,具有变化的动态性,信息嵌入和读取的复杂度比静态方法高的多,所隐藏的信息更不易被人猜测破解,提高了隐藏信息的安全性。

附图说明

图1为一种动态信息隐写方法的流程图;

图2为本发明实施例一的方法流程图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:根据每个像素的色彩强弱,在颜色分量的低四位或最低位嵌入待隐藏的信息。

请参阅图1,一种动态信息隐写方法,包括:

获取图像中各像素的三个颜色分量;

将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;

计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度;

根据所述平均主色彩强度和预设的富裕系数,计算得到所述图像的色彩富裕指数;

遍历所述图像中的各像素;

计算一像素的三个第一分量的平均值,得到所述一像素的分量均值;

根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数;

根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息。

从上述描述可知,本发明的有益效果在于:提升了隐藏信息的容量,提高了隐藏信息的安全性。

进一步地,所述“计算得到所述图像的色彩富裕指数”之后,进一步包括:

若所述色彩富裕指数大于255,则将所述色彩富裕指数设置为255。

由上述描述可知,限制色彩富裕指数的最大值不能超过像素颜色分量的最大值255。

进一步地,所述“根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数”具体为:

计算所述一像素的三个第一分量的总和;

分别计算三个第一分量占所述总和的比重,并将计算得到的三个比重从小到大进行排序,得到第一比重、第二比重和第三比重;

根据所述第一比重,计算得到第一累加和比重;

根据所述第一比重和第二比重,计算得到第二累加和比重;

根据所述第一累加和比重以及第二累加和比重,计算得到所述一像素的基尼系数。

由上述描述可知,利用基尼系数的计算原理,计算像素颜色分量的基尼系数,用来表明色彩分配的公平程度指标。

进一步地,所述“根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息”具体为:

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的低四位嵌入待隐藏信息;

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,则在所述一像素的最弱的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,在所述一像素的最强的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息。

由上述描述可知,对人眼视觉的影响主要是由某个较强色彩决定的,因此可以在一些颜色分量中嵌入较多信息而不影响视觉效果。

本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取图像中各像素的三个颜色分量;

将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;

计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度;

根据所述平均主色彩强度和预设的富裕系数,计算得到所述图像的色彩富裕指数;

遍历所述图像中的各像素;

计算一像素的三个第一分量的平均值,得到所述一像素的分量均值;

根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数;

根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息。

进一步地,所述“计算得到所述图像的色彩富裕指数”之后,进一步包括:

若所述色彩富裕指数大于255,则将所述色彩富裕指数设置为255。

进一步地,所述“根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数”具体为:

计算所述一像素的三个第一分量的总和;

分别计算三个第一分量占所述总和的比重,并将计算得到的三个比重从小到大进行排序,得到第一比重、第二比重和第三比重;

根据所述第一比重,计算得到第一累加和比重;

根据所述第一比重和第二比重,计算得到第二累加和比重;

根据所述第一累加和比重以及第二累加和比重,计算得到所述一像素的基尼系数。

进一步地,所述“根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息”具体为:

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的低四位嵌入待隐藏信息;

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,则在所述一像素的最弱的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,在所述一像素的最强的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息。

实施例一

请参照图2,本发明的实施例一为:一种动态信息隐写方法,所述方法基于图像全局色彩富裕指数和单像素色彩基尼指数,包括如下步骤:

s1:获取图像中各像素的三个颜色分量,即r、g、b三个颜色通道的强度值,每个颜色分量的值的范围为0-255,可用八位的二进制数表示。

s2:将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;其中,一个像素的三个第一分量分别与该像素的三个颜色分量一一对应,例如一颜色分量为10101010,则对应该颜色分量的第一分量为10100000。

进一步地,为了方便下述步骤的计算,可先将各像素的三个第一分量都先转换为十进制。

s3:计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度m;

s4:根据所述平均主色彩强度m和预设的富裕系数,计算得到所述图像的色彩富裕指数t;将平均主色彩强度m乘以预设的富裕系数,即为色彩富裕指数t,其中,所述预设的富裕系数为1.5,则色彩富裕指数t=1.5×m。

进一步地,限制色彩富裕指数t的最大值不能超过颜色分量的最大值255,即若所述色彩富裕指数大于255,则将所述色彩富裕指数设置为255。

s5:依序获取所述图像的一像素;

s6:计算一像素的三个第一分量的平均值,得到所述一像素的分量均值v;例如,假设所述一像素的三个第一分量分别为r4、g4、b4,则该像素的分量均值v=(r4+g4+b4)/3。

s7:根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数g;

具体地,该步骤包括如下步骤:

s701:计算所述一像素的三个第一分量的总和s=r4+g4+b4;

s702:分别计算三个第一分量占所述总和的比重,并将计算得到的三个比重从小到大进行排序,得到第一比重、第二比重和第三比重;当然,也可先将三个第一分量从小到大进行排序,将排序后的值标记为p1、p2、p3,然后计算p1、p2、p3分别占总和s的比重ui=pi/s,得到第一比重u1、第二比重u2、第三比重u3;

s703:根据所述第一比重,计算得到第一累加和比重;具体地,第一累加和比重w1=u1;

s704:根据所述第一比重和第二比重,计算得到第二累加和比重;具体地,第二累加和比重w2=u1+u2。

s705:根据所述第一累加和比重以及第二累加和比重,计算得到所述一像素的基尼系数。具体地,根据下述的第一公式计算得到基尼系数g。

第一公式:

s8:判断所述一像素的分量均值是否大于或等于色彩富裕指数,即判断v≥t是否成立,若是,则执行步骤s9,若否,则执行步骤s12。

s9:判断所述一像素的基尼系数是否大于预设的阈值,本实施例中,预设的阈值为0.4,即判断g>0.4是否成立,若是,则执行步骤s10,若否,则执行步骤s11。

s10:在所述一像素的最弱的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息;执行步骤s15。

s11:在所述一像素的三个颜色分量的低四位嵌入待隐藏信息;执行步骤s15。

s12:判断所述一像素的基尼系数是否大于预设的阈值,即判断g>0.4是否成立,若是,则执行步骤s13,若否,则执行步骤s14。

s13:在所述一像素的最强的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息;执行步骤s15。

s14:在所述一像素的三个颜色分量的最低位嵌入待隐藏信息;执行步骤s15。

s15:判断待隐藏信息是否嵌入完毕,若否,则获取所述图像的下一像素,即执行步骤s5。

对于步骤s8-s14,若v≥t,则表示该像素色彩强烈,可以在较多颜色分量的低四位嵌入隐藏信息,由于高四位强烈色彩的覆盖,低四位嵌入隐藏信息不会对人的视觉感受造成明显的影响。若此时基尼系数g<0.4,则表示该像素的r、g、b同为强度近似的强色彩,都可在低四位嵌入信息,而不会明显的影响视觉效果;若此时基尼系数g≥0.4,则表示该像素的r、g、b中至少存在一个相对不平衡的弱色彩,由于此时视觉效果主要由其它强色彩决定,因此此时可以在色彩最弱的颜色分量的低四位嵌入4位信息,其它颜色分量只在最低位嵌入1位信息。

若v<t,则表示该像素的色彩不强烈,此时不一定所有颜色分量都能在低四位嵌入信息。若此时基尼系数g<0.4,则表示该像素的r、g、b同为强度近似的弱色彩,都只能在最低1位嵌入信息,才能保证不影响视觉效果。若此时基尼系数g≥0.4,则表示该像素的r、g、b中至少存在一个相对不平衡的强色彩,由于此时视觉效果主要由这个强色彩的高四位和弱色彩共同决定,因此此时可以在色彩最强的颜色分量的低四位嵌入4位信息,其它颜色分量只在最低位嵌入1位信息。

其中,需先将待隐藏信息转换为二进制数,且各像素所嵌入的信息是依序从待隐藏信息中获取的。

本实施例所用到经济学指标基尼(gini)系数,是用来表示社会收入分配公平程度的指标。本实施例利用基尼系数的计算原理,计算像素颜色分量的基尼系数,用来表明色彩分配的公平程度指标。在色彩分配不公平的像素内,说明存在较强的色彩和较弱的色彩,对人眼视觉的影响主要是由其中某个较强色彩决定的,因此可以在一些颜色分量中嵌入较多信息而不影响视觉效果。

本实施例扩展了传统最低有效位方法只能在最低位嵌入信息的限制,实现最大可在低四位进行信息的嵌入,因此隐藏信息的容量有了很大的提升;同时,由于每个像素所能嵌入信息的位数是不同的,可随图像内容的不同而变化,因此不是固定位置的信息隐藏方法,具有变化的动态性,信息嵌入和读取的复杂度比静态方法高的多,所隐藏的信息更不易被人猜测破解,提高了隐藏信息的安全性。

实施例二

本实施例为实施例一的一具体应用场景。

假设需要隐藏的信息为011111001000111001。

假设作为信息隐藏载体的图像有两个像素,其中,第一个像素的三个颜色分量分别为00011001(r)、00001000(g)和00000111(b),第二个像素的三个颜色分量分别为11110001(r)、11100000(g)和11110011(b)。

提取两个像素的第一分量,即将颜色分量的低四位置0,第一个像素的三个第一分量分别为00010000、00000000和00000000,第二个像素的三个第一分量分别为11110000、11100000和11110000。

上述六个第一分量对应十进制数值分别为:16,0,0,240,239,240;则该图像的平均主色彩强度m=(16+0+0+240+239+240)/6=122;该图像的色彩富裕指数t=1.5×m=183。

计算第一个像素的三个第一分量的平均值v1=(16+0+0)/3=5.33。

将第一个像素的三个第一分量从小到大进行排序后计算比重,分别为u1=0/(0+0+16)=0,u2=0/(0+0+16)=0,u3=16/(0+0+16)=1;然后计算第一累加和比重w1=u1=0,第二累加和比重w2=u1+u2=0;将w1、w2代入第一公式,得到第一个像素的基尼系数g1=0.667。

对于第一个像素,由于v1<t,且g1>0.4,因此在强色彩低四位,及2个弱色彩的最低一位嵌入信息。用下划线表示嵌入的值,则信息嵌入隐藏后的第一个像素的三个颜色分量分别为:00010111,00001001,00000111;也就是说,将00011001的低四位置为待隐藏信息的前四位0111,将00001000的最低位置为待隐藏信息的第五位1,将00000111的最低位置为待隐藏信息的第六位1。

此时信息没有全部嵌入完成,因此继续遍历下一个像素。

计算第二个像素的三个第一分量的平均值v2=(240+239+240)/3=239.67。

将第二个像素的三个第一分量从小到大进行排序后计算比重,分别为u1=239/(240+239+240)=0.332,u2=240/(240+239+240)=0.334,u3=0.334;然后计算第一累加和比重w1=u1=0.332,第二累加和比重w2=u1+u2=0.666;将w1、w2代入第一公式,得到第二个像素的基尼系数g2=0.0013。

对于第二个像素,由于v2>t,且g2<0.4,因此该像素是均衡的强色彩,每个颜色分量低四位都可嵌入信息。用下划线表示嵌入的值,则信息嵌入隐藏后第二个像素的三个颜色分量分别为:11110010,11100011,11111001;也就是说,将11110000的低四位置为待隐藏信息的第七位至第十位0010,将11100000的低四位置为待隐藏信息的第十一位至第十四位0011,将11110000的低四位置为待隐藏信息的第十五位至十八位1001。

此时信息011111001000111001已全部嵌入隐藏到图像像素中,完成本次信息隐写流程。

实施例三

本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取图像中各像素的三个颜色分量;

将所述各像素的三个颜色分量的低四位置零,得到各像素的三个第一分量;

计算所述图像中所有像素的三个第一分量的平均值,得到所述图像的平均主色彩强度;

根据所述平均主色彩强度和预设的富裕系数,计算得到所述图像的色彩富裕指数;

遍历所述图像中的各像素;

计算一像素的三个第一分量的平均值,得到所述一像素的分量均值;

根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数;

根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息。

进一步地,所述“计算得到所述图像的色彩富裕指数”之后,进一步包括:

若所述色彩富裕指数大于255,则将所述色彩富裕指数设置为255。

进一步地,所述“根据所述一像素的三个第一分量,计算得到所述一像素的基尼系数”具体为:

计算所述一像素的三个第一分量的总和;

分别计算三个第一分量占所述总和的比重,并将计算得到的三个比重从小到大进行排序,得到第一比重、第二比重和第三比重;

根据所述第一比重,计算得到第一累加和比重;

根据所述第一比重和第二比重,计算得到第二累加和比重;

根据所述第一累加和比重以及第二累加和比重,计算得到所述一像素的基尼系数。

进一步地,所述“根据所述一像素的分量均值与所述色彩富裕指数的比较结果以及所述一像素的基尼系数与预设的阈值的比较结果,在所述一像素的三个颜色分量的低四位或最低位嵌入待隐藏信息”具体为:

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的低四位嵌入待隐藏信息;

若所述一像素的分量均值大于或等于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,则在所述一像素的最弱的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数小于或等于预设的阈值,则在所述一像素的三个颜色分量的最低位嵌入待隐藏信息;

若所述一像素的分量均值小于所述色彩富裕指数且所述一像素的基尼系数大于预设的阈值,在所述一像素的最强的颜色分量的低四位嵌入待隐藏信息,在所述一像素的其他颜色分量的最低位嵌入待隐藏信息。

综上所述,本发明提供的一种动态信息隐写方法及计算机可读存储介质,基于图像全局色彩富裕指数和单像素色彩基尼指数,判断出像素的色彩强弱,从而在一些颜色分量中嵌入较多信息而不影响视觉效果;本发明扩展了传统最低有效位方法只能在最低位嵌入信息的限制,使得最大可在低四位进行嵌入,因此隐藏信息的容量有了很大的提升;同时,由于每个像素所能嵌入信息的位数是不同的,可随图像内容的不同而变化,因此不是固定位置的信息隐藏方法,具有变化的动态性,信息嵌入和读取的复杂度比静态方法高的多,所隐藏的信息更不易被人猜测破解,提高了隐藏信息的安全性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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