一种基于RS和汉明码的跨平台抗压缩彩色图像信息隐藏算法的制作方法

文档序号:11710224阅读:362来源:国知局
一种基于RS和汉明码的跨平台抗压缩彩色图像信息隐藏算法的制作方法与工艺

本发明涉及图像处理领域,特别是一种基于rs和汉明码的跨平台抗压缩彩色图像信息隐藏算法。



背景技术:

随着网络和多媒体的快速发展,信息隐藏技术成为信息安全领域的一个研究热点。数字图像作为社交网络(微信、qq、微博、email等)中广为应用的一个方式,自然成为信息隐藏中很好的传播载体。

目前信息隐藏算法主要有两种:空间域隐藏算法和变换域隐藏算法。空间域隐藏算法易于实现且隐藏容量大,但鲁棒性不强;变换域隐藏算法鲁棒性较强,但嵌入信息量小、算法复杂。如tamimi[1]等人提出的方法数据嵌入率太低,李柳等人[2]提出的算法主要在载体图像中隐藏水印图,且不能很好解决图像在网络传输过程中压缩的问题。

[1]tamimiaa,abdallaam,al-allafo.hidinganimageinsideanotherimageusingvariable-ratesteganography[j].internationaljournalofadvancedcomputerscience&application,2013,4(10):18-21。

[2]李柳,杨卫民.基于ycbcr色彩空间和dct的彩色图像水印算法[j].电脑与信息技术,2016,24(1):10-13。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于rs和汉明码的跨平台抗压缩彩色图像信息隐藏算法,具有稳定的抗压性能,即隐藏信息后的图片经各平台分享、转发后,仍能正确地提取到隐藏信息。

本发明采用以下方案实现:一种基于rs和汉明码的跨平台抗压缩彩色图像信息隐藏算法,具体包括以下步骤:

步骤s1:将隐藏信息利用特定的编码方式加密成二进制隐藏数据流,通过rs码和汉明码双重编码得到校验位形成隐藏数据;

步骤s2:进行信息隐藏:提取jpeg载体图像的dct系数并量化其系数,通过k-means分析统计噪声阈值,调整每8*8块中两个中频系数的大小;

步骤s3:将编码处理后的信息嵌入jpeg图像中得到jpeg隐密图。

进一步地,步骤s1中,所述特定的编码方式为采用数字字母混合编码方式,待隐藏信息分成两个字符一组,每组第一个字符通过字符索引表格数值乘45,加第二个字符索引数据并转为11bit的二进制码,如果字符个数只有一个,则用6bit二进制表示。

进一步地,所述rs码的编码过程采用“刘延海,张亮.rs编解码的基本方法[j].科技资讯信息技术,2011,(32):3-5”中提到的,具体步骤如下:

步骤s101:根据gf域的本原多项式g(x):x8+x4+x3+x2+1,求出域中所有元素;

步骤s102:校验码生成多项式为:xn-1=g(x)h(x),校验多项式h(x)根据伽罗华域中的运算规则求得;其中k为总校验码位数,k0的取值通常为0或者1,α为本原多项式g(x)的根;

步骤s103:依次求出校验元:cn-k-1,cn-k-2,...,c1,c0;其中,所述校验元即为所求的纠错数据;

所述rs码的解码过程采用“刘延海,张亮.rs编解码的基本方法[j].科技资讯信息技术,2011,(32):3-5”中提到的,具体步骤如下:

步骤s111:接收数据码r(x)求得伴随多项式sj;

步骤s112:检查sj,若全为0,则接收码字为有效码字,转到步骤s118;

步骤s113:初始化:ω0=1+s(x),t-1=0,t0=1;

其中,dmin表示信息多项式最低次幂,s(x)表示伴随多项式x的值;

步骤s114:迭代:

ωk=αk-1ωk-2+αk-2xmωk-1,

tk=αk-1tk-2+αk-2xmtk-1;

其中,其中αk-1和αk-2分别是ωk-1和ωk-2的最高次项系数,m是ωk-1和ωk-2的度数之差,执行步骤s114的迭代过程直到deg(ωk)≤t;

步骤115:由sj求得错误位置多项式a(x);求解a(x)的根,得到错误位置数,确定错误位置;如果根的数目小于a(x)的度数,说明有重根或在扩域上有根,则译码失败,转到步骤s119;其中,

a(x)=en-1xn-1+en-2xn-2+...+e0;

其中,e表示错误位置;

步骤116:由forney算法,求错误值,如果分母为0,则译码失败,转到步骤s119;

步骤117:接收码字对应位置减去错误值,进行纠错;

步骤118:输出正确码字的信息位;

步骤119:输出接收码字中的信息位,至译码失败标志。

进一步地,所述汉明码的编码规则包括以下步骤:

步骤s121:计算校验位:用n表示添加校验码的数据长度,k表示有效信息位数,r表示添加校验码位,满足关系:n=k+r≤2r-1;

步骤s122:由校验码位置都在2n次方位置,可得校验位分别在:1、2、4、8、16号位置上,其中,从最左边位数起算;

步骤s123:将k+r位汉明码中的每一位分到r个奇偶组中,根据分组结果,每一组按照奇或偶校验求出校验位,形成汉明校验码。

进一步地,所述步骤s2具体为:采用k-means聚类算法,在最小误差函数的基础上将数据划分为预定的类数k,由于载体图像的纹理复杂度和色彩亮度不同,将图像区分为若干层次,引用合理的调节因子进行信息隐藏,达到均衡图像的透明性和稳健性;采用人眼视觉掩蔽模型,计算图像块的噪声敏感度大小进行信息隐藏。

进一步地,所述步骤s3具体包括以下步骤:

步骤s31:隐密信息m通过编码方式生成二进制数据m1;

步骤s32:m1数据依次通过rs和汉明编码得到含有纠错位和校验位的数据m2,即为最终的待隐藏内容;

步骤s33:对载体图像s提取绿色通道g,分成8*8不重叠块,分别对每块进行dct变换并对dct系数做量化;

步骤s34:计算每块可视噪声的阈值jnd;

步骤s35:在中频系数中选取两个系数,设两个系数为a和b,嵌入过程如下描述:

当要嵌入0时,判断a和b的关系,当a-b<jnd时,a=a+jnd,b=b-jnd;否则a、b值不变;

当要嵌入1时,判断a和b的关系,当b-a<jnd时,a=a-jnd,b=b+jnd;否则a、b值不变;

步骤s36:dct分块逆变换并反量化,保存为rgb色彩空间。

进一步地,还包括步骤s4:对隐藏信息进行提取,具体包括以下步骤:

步骤s41:提取含有隐藏信息的彩色rgb图像g通道,分成8*8不重叠块,分别对每块进行dct变换并对dct系数做量化;

步骤s42:从每块选取相应的中频系数对fij(r1,r2)和fij(l1,l2),提取公式如下:

其中,v表示提取的信息数据;

步骤s43:v通过汉明解码和rs解码得到二进制字符串;

步骤s44:对该二进制字符串做反编码方式得到最终的隐藏信息。

与现有技术相比,本发明有以下有益效果:

1、本发明的隐密信息利用自有的编码方式加密成二进制隐藏数据流,通过rs和汉明的编码方式得到校验位形成隐藏数据;

2、本发明对载体图像的预处理,通过jpeg的压缩性质提取量化的dct系数,通过g通道的像素值聚类分析分割最优调节因子,达到良好的图像不可见性和鲁棒性。结合调节因子和量化后的dct系数做信息隐藏。

3、本发明基于rs码具有很好的突发纠错能力;采用k-means聚类统计计算噪声因子,对不同亮度和纹理复杂度的图像有良好的嵌入效果。本发明具有稳定的抗压性能,即隐藏信息后的图片经各平台分享、转发后,仍能正确地提取到隐藏信息。

附图说明

图1为本发明的方法原理流程图。

图2为本发明实施例中的字符对照表。

图3为不同图像和不同量化因子图像对比结果1。

图4为不同图像和不同量化因子图像对比结果2。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1所示,本实施例提供了一种基于rs和汉明码的跨平台抗压缩彩色图像信息隐藏算法,具体包括以下步骤:

步骤s1:将隐藏信息利用特定的编码方式加密成二进制隐藏数据流,通过rs码和汉明码双重编码得到校验位形成隐藏数据;

步骤s2:进行信息隐藏:提取jpeg载体图像的dct系数并量化其系数,通过k-means分析统计噪声阈值,调整每8*8块中两个中频系数的大小;

步骤s3:将编码处理后的信息嵌入jpeg图像中得到jpeg隐密图。

在本实施例中,步骤s1中,所述特定的编码方式为采用数字字母混合编码方式,待隐藏信息分成两个字符一组,每组第一个字符通过字符索引表格数值乘45,加第二个字符索引数据并转为11bit的二进制码,如果字符个数只有一个,则用6bit二进制表示。图2为本实施例的数字字母对照表。

例如输入:beika#

十进制:be:10*45+13=463,ik:17*45+19=784,a#:9*45+3=408;

二进制:00111001111;01100010000;00110011000;

解码方式即编码方式的逆过程,获取11bit的二进制转换为相应的10进制,与45相除向下取整得到十位上的数字,与45求模得到个位上的数字,再通过字符对照表得到相应的字符。

在本实施例中,关于rs编解码,jpeg图片在跨平台传输过程中出现被强压缩的情况,而影响隐藏信息的正确提取,本实施例采用rs码和汉明码双重编码用以抵抗图片因被强压缩而无法正确提取到信息的问题。rs码可以纠正随机错误和突发错误,具有很强的纠错能力。

rs纠错码的生成即rs的编码过程,码字多项式的第n-1到n-k次系数是信息位,其余是校验位。信息多项式:m(x)=mk-1xk-1+mk-2xk-2+m1x+m0;信息位表示:mk-1,...,m1,m0;校验多项式表示为:r(x)=rn-k-1xn-k-1+...+r1x+r0;数据码多项式为:c(x)=cn-1xn-1+cn-2xn-2+...+cn-kxn-k+cn-k-1xn-k-1+...+c1x+c0;

在本实施例中,所述rs码的编码过程采用“刘延海,张亮.rs编解码的基本方法[j].科技资讯信息技术,2011,(32):3-5”中提到的,具体步骤如下:

步骤s101:根据gf域的本原多项式g(x):x8+x4+x3+x2+1,求出域中所有元素;

步骤s102:校验码生成多项式为:xn-1=g(x)h(x),校验多项式h(x)根据伽罗华域中的运算规则求得;其中k为总校验码位数,k0的取值通常为0或者1,α为本原多项式g(x)的根;

步骤s103:依次求出校验元:cn-k-1,cn-k-2,...,c1,c0;其中,所述校验元即为所求的纠错数据;

所述rs码的解码过程采用“刘延海,张亮.rs编解码的基本方法[j].科技资讯信息技术,2011,(32):3-5”中提到的,具体步骤如下:

步骤s111:接收数据码r(x)求得伴随多项式sj;

步骤s112:检查sj,若全为0,则接收码字为有效码字,转到步骤s118;

步骤s113:初始化:ω0=1+s(x),t-1=0,t0=1;

其中,dmin表示信息多项式最低次幂,s(x)表示伴随多项式x的值;

步骤s114:迭代:

ωk=αk-1ωk-2+αk-2xmωk-1,

tk=αk-1tk-2+αk-2xmtk-1;

其中,其中αk-1和αk-2分别是ωk-1和ωk-2的最高次项系数,m是ωk-1和ωk-2的度数之差,执行步骤s114的迭代过程直到deg(ωk)≤t;

步骤115:由sj求得错误位置多项式a(x);求解a(x)的根,得到错误位置数,确定错误位置;如果根的数目小于a(x)的度数,说明有重根或在扩域上有根,则译码失败,转到步骤s119;其中,

a(x)=en-1xn-1+en-2xn-2+...+e0;

其中,e表示错误位置;

步骤116:由forney算法,求错误值,如果分母为0,则译码失败,转到步骤s119;

步骤117:接收码字对应位置减去错误值,进行纠错;

步骤118:输出正确码字的信息位;

步骤119:输出接收码字中的信息位,至译码失败标志。

在本实施例中,关于汉明编码,汉明码(hammingcode)有多个校验位,具有检测并纠正一位错误代码的纠错码,本实施例运用汉明码纠错因传输过程中出错的rs码,与rs编码合并达到更好的纠错能力。

所述汉明码的编码规则包括以下步骤:

步骤s121:计算校验位:用n表示添加校验码的数据长度,k表示有效信息位数,r表示添加校验码位,满足关系:n=k+r≤2r-1;在本实施例中,k=16,r=5;

步骤s122:由校验码位置都在2n次方位置,可得校验位分别在:1、2、4、8、16号位置上,其中,从最左边位数起算;

步骤s123:将k+r位汉明码中的每一位分到r个奇偶组中,根据分组结果,每一组按照奇或偶校验求出校验位,形成汉明校验码。本实施例采用奇校验计算,规则:每一组中“1”的个数为奇数。

在本实施例中,所述步骤s2具体为:采用k-means聚类算法,在最小误差函数的基础上将数据划分为预定的类数k,由于载体图像的纹理复杂度和色彩亮度不同,将图像区分为若干层次,引用合理的调节因子进行信息隐藏,达到均衡图像的透明性和稳健性;采用人眼视觉掩蔽模型,计算图像块的噪声敏感度大小进行信息隐藏。具体步骤如下:

1、载体图像分块并计算各个块的均值;

2、k值的确定,根据图像的复杂度确定合理的k值;

3、初始质心选取,使用arthur&vassilvitskii(2007)k-means++:theadvantagesofcarefulseeding[5]里面提出的算法,得出初始中心值;

其中,[5]为arthurd,vassilvitskiis.k-means++:theadvantagesofcarefulseeding[c]//eighteenthacm-siamsymposiumondiscretealgorithms,soda2007,neworleans,louisiana,usa,january.2015:1027-1035.

4、利用k-means划分k类层次,计算不同层次选取不同数值。(数值范围见下文实验数据)。

其中,人眼视觉掩蔽模型采用“夏贝贝.鲁棒数字水印及加密数字水印相关技术研究[d].武汉:武汉科技大学,2005”中提到的,具体计算步骤如下:

1、对载体图像进行8*8分块并dct变换:

正向离散余弦变换公式如下:

反向离散余弦变换公式如下:

2、计算每个子块的对比灵敏度:

c(u,v)=5.05e-0.178(u+v)(e0.1(u+v)-1);

3、各个子块对噪声的视觉敏感性

其中,u,v∈{0,1,2,...,n-1},fdct(u,v)为分块进行dct变换后的值。sdct表明了人眼对图像块的视觉灵敏度,其值越大表明人眼对图像中的噪声越不灵敏,可隐藏信息强度值越大。若计算得到sdct=0,在信息隐藏时,则需用到经验值对sdct进行赋值。

4、计算图像的可视噪声阈值:jnd=βlog2(sdct)/0.30103;

在本实施例中,关于信息的载入过程,采用载体图像为640*640的彩色图像,隐藏信息是任意长度字符串,将待隐藏信息嵌入量化后的dct系数中,量化因子由α控制。假设s表示原始rgb真彩图像,m表示待隐藏字符或字符串。在dct域中分为低频、中频、高频区域,低频对视觉最为敏感,修改低频可以增加算法鲁棒性,却降低算法的不可见性;修改高频系数则图像鲁棒性很差,故本实施例采取修改中频系数。

所述步骤s3具体包括以下步骤:

步骤s31:隐密信息m通过编码方式生成二进制数据m1;

步骤s32:m1数据依次通过rs和汉明编码得到含有纠错位和校验位的数据m2,即为最终的待隐藏内容;

步骤s33:对载体图像s提取绿色通道g,分成8*8不重叠块,分别对每块进行dct变换并对dct系数做量化;

步骤s34:计算每块可视噪声的阈值jnd;

步骤s35:在中频系数中选取两个系数,设两个系数为a和b,嵌入过程如下描述:

当要嵌入0时,判断a和b的关系,当a-b<jnd时,a=a+jnd,b=b-jnd;否则a、b值不变;

当要嵌入1时,判断a和b的关系,当b-a<jnd时,a=a-jnd,b=b+jnd;否则a、b值不变;

步骤s36:dct分块逆变换并反量化,保存为rgb色彩空间。

在本实施例中,还包括步骤s4:对隐藏信息进行提取,本实施例的算法是一个盲提取的隐藏技术,而信息的提取过程与嵌入过程互为逆过程;具体包括以下步骤:

步骤s41:提取含有隐藏信息的彩色rgb图像g通道,分成8*8不重叠块,分别对每块进行dct变换并对dct系数做量化;

步骤s42:从每块选取相应的中频系数对fij(r1,r2)和fij(l1,l2),提取公式如下:

其中,v表示提取的信息数据;

步骤s43:v通过汉明解码和rs解码得到二进制字符串;

步骤s44:对该二进制字符串做反编码方式得到最终的隐藏信息。

较佳的,下面为本实施例的实验结果与分析。

本实施例采用原始图像大小640*640的24位的彩色图像,隐藏信息为字符串:ceshi0123456789abcdefghijklmnopqrstuvwxyz$%*+-./。

以vs2010和调用opencv2.4.9库为实验工具。图像攻击工具用matlab2014a,分块大小为8*8。

本实施例采用了峰值信噪比(psnr)用以衡量隐藏信息后图像和原始图像之间的相似度因主观因素产生的影响,通常psnr≥30时,视觉上就感受不到隐藏信息之后图像的差异。psnr定义如下:

计算rgb三个通道,每个通道的mse的值,取平均值再计算psnr的值:

其中,量化因子的实验如下:

量化因子α的大小决定了信息隐藏图片的透明性和稳健性,也影响量化矩阵的选取,过大会降低载体图像的透明性,过小会降低图像的稳健性。在大量的实验中,α的取值最优在:0.01到3之间,在本实验中选取的值在1之下,实现结果如下:

在实验过程中,当α=0.01时,无法提取正确的隐藏信息;当α=0.5或者更大时,图像失真严重,故本文选取的量化因子α的值在:0.05—0.15之间。图3、图4为选取两个量化因子为0.05和0.1的不同图像进行对比的结果。

其中,k-means聚类分析调节因子选取实验如下:

图像在信息隐藏时,因载体图之间纹理复杂度或者亮度差值过大,依据调节因子的取值经验值进行选取,对隐藏信息的提取正确率产生影响。故本实施例根据的图片不同层次的亮度采用不同的调节因子进行试验。,结果如下表所示:

综合两个实验结果可知,本实施例以下的测试选取α=0.1和β∈[0.4,1.0]来进行图像的跨平台抗压缩测试。

其中,抗压缩测试结果如下:

跨平台抗压缩测试方法如下:微信点对点(双方互相转发或者下载转发)、qq点对点、qq空间、微博分享等主流交互平台测试,测试机选取是市面上主流手机不同型号,测试系统分为安卓和ios;测试所选用的图像:640*640的24位彩色图像100幅、量化因子α=0.1;调节因子:β∈[0.4,1.0]。如果所有的测试图均能够正确提取到信息,则具有稳定的抗压性能。下表的测试是品质因素(quantityfactor)为20-100时抵抗jpeg/jpeg2000攻击的鲁棒性性能;

下表的测试是多次跨平台抗压缩的测试。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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