CN110855850B - 一种基于矩阵编码的数据隐藏方法 - Google Patents

一种基于矩阵编码的数据隐藏方法 Download PDF

Info

Publication number
CN110855850B
CN110855850B CN201911048958.7A CN201911048958A CN110855850B CN 110855850 B CN110855850 B CN 110855850B CN 201911048958 A CN201911048958 A CN 201911048958A CN 110855850 B CN110855850 B CN 110855850B
Authority
CN
China
Prior art keywords
data
pixel
bits
group
steganographic
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.)
Active
Application number
CN201911048958.7A
Other languages
English (en)
Other versions
CN110855850A (zh
Inventor
余湛
吴红霞
翁韶伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Polytechnic Normal University
Original Assignee
Fujian Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Normal University filed Critical Fujian Normal University
Priority to CN201911048958.7A priority Critical patent/CN110855850B/zh
Publication of CN110855850A publication Critical patent/CN110855850A/zh
Application granted granted Critical
Publication of CN110855850B publication Critical patent/CN110855850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明提供的一种基于矩阵编码的数据隐藏方法,通过获取原始图像的像素列表,并进行划分,得到若干个分组;生成私密数据,并根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像;根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像,提高了嵌入容量和视觉质量,还扩展了矩阵编码的应用范围。

Description

一种基于矩阵编码的数据隐藏方法
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于矩阵编码的数据隐藏方法。
背景技术
随着科学技术的发展,在互联网上传输文字信息或数字媒体变得越来越方便。如果被传输的信息或媒体是预先加密的,传输过程可能会引起一些安全问题,因为加密的信息是不可读的,可能会引起攻击者的注意。此外,由于数字媒体的获取、复制和修改相对容易,也造成了一系列的安全问题,如数字媒体可能被篡改、被窃取等,因此多媒体信息安全技术的发展变得越来越重要。许多文献提出将图像作为载体,利用数据隐写技术将信息秘密地藏入图像中,从而降低数据泄露的风险。相关的数据隐写技术有很多,如最小有效位替换法(LSB替换)、利用修改方向法(EMD方法)、矩阵编码的方法等。矩阵编码法最早是由Crandall在1998年提出,在该方案中,只需要在原始图像中选择连续2k-1个像素,通过修改其中一个的像素值,使之加减1或者保持不变来隐藏k比特的秘密信息。上面方法的原理是数据通讯中使用的(7,4)汉明码技术,这个技术是1950年由贝尔实验室Richard Hamming首先提出,一个由4位原始数据和3位校验数据组成的代码组合可以在校验矩阵的帮助下发现并校正1位的错误。由于该方法操作简单,并且可以取得令人满意的图像视觉效果,如今被广泛的应用于数据隐藏领域。具体说明如下,4比特原始数据d1,d2,d3,d4通过(7,4)汉明生成矩阵G产生奇偶校验数据p1,p2,p3,因此一个7比特的代码C是由4位原始数据和3奇偶校验数据组成的,具体的过程可以用一下公式表示:
Figure GDA0002337504890000021
三个奇偶校验数据p1,p2,p3可以通过下列公式获得,其中
Figure GDA0002337504890000022
表示异或操作符:
Figure GDA0002337504890000023
下面通过一个例子解释代码C的详细产生过程。假设原始数据(d1,d2,d3,d4)=(0101)2,那么根据公式(2)得到奇偶校验数据(p1,p2,p3)=(010)2,因此代码C=(0100101)2
在解码端,数据的接收者可以使用相同的奇偶校验矩阵H去侦测是否数据被篡改。假设接收到的数据是R,公式(3)可以用来计算z来判断R是否被篡改。
z=H×RT. (3)
这里z被称为标志向量,具体来说,当z=0表明数据R没有被篡改,即R=C;否则,R被篡改。以C=(0100101)2为例,如果C的第7位被翻转,那么R=(0100100)2。本发明可以计算出z=(111)2=7,根据公式(3),当z≠0意味着1比特错误发生在R的第7位,因此,原始数据可以通过翻转R的第7位来恢复,最后原始数据C=(0100101)2
矩阵编码的具体描述如下,利用一个随机数生成器产生一个十进制数组S代表秘密信息,例如S={sj|j=1,2,…,n},这里sj表示数组S的第j个元素,并且sj∈{0,1,…,7}。为了简单起见,在剩余部分的描述中将忽略sj的下标,直接使用s表示。根据(7,4)汉明码的原理,发送端,信息发送者收集n个原始像素的LSBs组成7比特的二进制数x,然后通过保持x不变或者翻转其中一位来产生新的二进制数y,这里x和y分别代表为原始和标记的7位二进制数。矩阵编码最大的优点是可以在原始数据x中嵌入3比特的数据而只改变其中的一位。在嵌入完成后,再用y替换n个原始像素的对应的LSBs,得到隐写像素。在接收端,信息接受者从n个隐写像素中提取7个LSBs构成二进制数y,然后s的提取可以通过以下公式进行:
s=conv(mod(H×yT,2))10. (4)
这里上标T表示转置符,mod(·,2)表示模2操作,用来获得3比特秘密数据,conv(·)表示一个将二进制数转换为十进制数的函数。矩阵编码的嵌入和提取流程如图3和4所示。当n=7时,矩阵编码可以取得令人满意的嵌入表现,因为对原始图像来说,每7个像素只需要修改1像素值就可以嵌入3比特的数据。但是当n≠7时,可能会引起原始像素值较大的改变。以n=3为例,假设二进制数x通过分别抽取第一个像素的2LSBs(即第7、8位),第二个像素的2LSBs(即第7、8位)和第三个像素的3LSBs(即第6、7、8位)产生。如果第三个像素的第6位发生了翻转,对原始图像造成失真将会是不可接受的。
当时上述方法仍存在一下缺点:
(1)当n=7时,虽然,隐写图像的视觉质量有一些优势,但是,图像的藏量较低,嵌入率为
Figure GDA0002337504890000031
(2)当n≤3时,虽然,图像的藏量增加,但是,隐写图像的视觉质量下降得比较多,相同藏量下的PSNR不如其他现有方法。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于矩阵编码的数据隐藏方法,能够提高嵌入容量和视觉质量。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
一种基于矩阵编码的数据隐藏方法,其特征在于,包括步骤:
S1、获取原始图像的像素列表,并进行划分,得到若干个分组;
S2、生成私密数据,并根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像;
S3、根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像。
(三)有益效果
本发明的有益效果在于:通过获取原始图像的像素列表,并进行划分,得到若干个分组;生成私密数据,并根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像;根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像,提高了嵌入容量和视觉质量,还扩展了矩阵编码的应用范围。
附图说明
图1为本发明实施例的基于矩阵编码的数据隐藏方法流程图;
图2为本发明实施例的九副灰度测试图像;
图3为本发明实施例的当ER=1时测试图像的PSNR;
图4为本发明实施例的通过四幅测试图像比较本发明的方法和其它方法在相同隐藏容量下的图像视觉质量;
图5为本发明实施例的高平面组的数据隐藏方法;
图6为本发明实施例的中等平面组的数据隐藏方法;
图7为本发明实施例的低平面组的数据隐藏方法。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例一
请参照图1至7,一种基于矩阵编码的数据隐藏方法,包括步骤:
S1、获取原始图像的像素列表,并进行划分,得到若干个分组;
步骤S1具体包括:
S11、通过光栅扫描原始图像I得到像素列表{pi|i=1,2,...,H×W},其中H表示原始图像I的横向像素的最大值,W表示原始图像I的纵向像素的最大值;
S12、根据所述参考数据集对所述像素列表进行划分,得到高平面组、中等平面组和低平面组。
S2、生成私密数据,并根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像;
步骤S2中所述的生成私密图像具体为:
在[0,7]范围内随机生成一个十进制数组S={si|i=1,2,...,H×W}为私密数据,其中si表示待嵌入的第i个数据。
步骤S2还包括:
所述的创建参考数据集;
创建参考数据集具体包括:
将128个7位二进制数组合Y平均的分为8个组;
Figure GDA0002337504890000051
并通过
Figure GDA0002337504890000061
生成参考数据集Gs
步骤S2还包括:
所述的根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像具体为:
分组为高平面组时,根据
Figure GDA0002337504890000062
获得相应的参考数据集Gs
将所述像素列表{pi|i=1,2,...,N1}中每个像素pi转换为8比特的二进制数,并获取后7比特数据记为xi
根据公式ds,k=|xi-ys,k|计算绝对值,得到{ds,1,ds,2,…,ds,16};
其中k∈{1,2,...,16},并从{ds,1,ds,2,…,ds,16}中选择最小差值ds,min对应的ys,min;并使用ys,min替换像素pi的后7位,得到标记像素pi';
通过所述标记像素pi'构建得到与所述高平面组对应的隐写图像。
分组为中等平面组时,根据
Figure GDA0002337504890000063
获得相应的参考数据集Gs
将所述像素列表{pi|i=N1+1,N1+3,...,N1+2N2-1}中每两个像素组成像素对(p2j-1,p2j),然后将像素对转换为8比特的二进制数形式(b2j-1,b2j);
用ys,k的前4位替换b2j-1的后4位将其变为b′2j-1,k,同时用ys,k的后3位替换b2j的后3位将其变为b′2j,k,然后将二进制像素对(b′2j-1,k,b′2j,k)转换为它的十进制形式(p′2j-1,k,p′2j,k);
根据公式ds,min=|p2j-1-p2j-1'|+|p2j-p2j'|选出ys,min,并将ys,min按照4和3比特分为前后两个部分,且前一部分替换p2j-1最后四位,得到标记像素p'2j-1,后一部分替换p2j的最后三位,得到标记像素p'2j
通过所述标记图像p'2j-1和p'2j构建得到与所述中等平面组对应的隐写图像。
分组为低平面组时,根据
Figure GDA0002337504890000071
获得相应的参考数据集Gs
将所述像素列表{pi|i=N1+2N2+1,N1+2N2+4,...,N1+2N2+3N3-2}中每三个像素构成一个三元组(p3j-2,p3j-1,p3j),然后将三元组转换为8比特的二进制数形式(b3j-2,b3j-1,b3j);
用ys,k的前3位替换b3j-2的后3位得到b′3j-2,k,用ys,k的第4和3最小有效位替换b3j-1的第2和1最小有效位得到b′3j-1,k,同时用ys,k第2和1最小有效位替换b3j的第2和1最小有效位得到b′3j,k,然后将三元组(b′3j-2,k,b′3j-1,k,b′3j,k)转换为对应的十进制形式(p′3j-2,k,p′3j-1,k,p′3j,k);
根据公式ds,min=(|p3j-2-p3j-2'|+|p3j-1-p3j-1'|+|p3j-p3j'|)选出ys,min,并将ys,min按照3、2和2比特分为第一部分、第二部分和第三部分,且所述第一部分替换p3j-2的后三位,得到标记像素p'3j-2,第二部分替换p3j-1的后两位,得到标记像素p'3j-1,第三部分替换p3j的后两位得到标记像素p'3j
通过所述标记像素p'3j-2、p'3j-1和p'3j构建得到与所述低平面组对应的隐写图像。
S3、根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像。
步骤S3具体为:
根据高平面组对应的隐写图像、中等平面组对应的隐写图像和低平面组对应的隐写图像共同生成与所述原始图像对应的隐写图像。
实施例二
本实施例和实施例一的区别在于,本实施例将结合具体的应用场景进一步说明本发明上述基于矩阵编码的数据隐藏方法是如何实现的:
1)准备阶段
所有128个7位二进制数组合范围从0000000到1111111在奇偶校验矩阵的帮助下被划分为8个组,每个组包含16个数,例如,Gm={y1,m,…,yk,m,…,y16,m},这里Gm代表第m组,yk,m代表第m组的第k个元素,并且m∈{0,…,7},k∈{1,…,16}。所有128个7位二进制数的组合被定义为Y,它可以用以下公式构成。
Figure GDA0002337504890000081
公式(5)表示如果要利用矩阵编码嵌入数据s到x,首先需要知道s是属于以上哪一个组。通常,s被分到Gs组,然后,x和Gs组中的每一个元素的差值被计算出来。假设,x和yk,s之间的差值最小,因此可以认为x和yk,s具有很强的相关性。当y被yk,s代替时,不但可以把数据s嵌入到x里得到隐写图像,而且可以获得最优的图像视觉质量。
2)数据隐藏阶段
在这个阶段中,本发明以自适应的方式提供可变的负载。具体可以分为以下5个部分:
a)计算三个平面组的值
本发明的方法目标集中在给定的嵌入率下获得最优的图像视觉质量。在介绍如何计算三个平面组的值之前,需要给嵌入率ER一个详细的定义。具体来说,嵌入率是原始图像的一个非常重要的参数,它用来评估一个嵌入算法的表现,指的是总负载L占图像大小H×W的比例:
Figure GDA0002337504890000082
这里bpp表示原始图像的单位嵌入容量,即比特/像素。
在本发明的方法中,原始图像I的像素被划分为三种类型:高平面、中等平面和低平面,比例分别为N1,N2和N3,并且N1+N2+N3=1。因此需要通过实验得到最优比例
Figure GDA0002337504890000092
Figure GDA0002337504890000093
在给定的嵌入率ER下该方法可以获得最高的峰值信噪比PSNR。在高平面中一个像素可以藏3比特数据,中等平面中一对像素可以藏3比特数据和低平面中三个像素可以藏3比特数据,因此,总的嵌入率ER可以通过以下公式计算:
3×N1+1.5×N2+N3=ER, (7)
对任意给定的ER对所有的像素来说存在一个最优比例的组合。例如,当ER=1,简单得到N1=0,N2=0,N3=1满足公式(7)。N3=1意味着所有的像素分割为低平面,因为每三个像素最多修改了1比特,原始图像可以提供最高的图像视觉质量同时保持最低的失真。当ER=3,本发明选择N1=1,N2=0,N3=0,这表明所有的像素被划分为高平面。因此,封面像素可以提供最高的嵌入容量,同时引入最小的嵌入失真。当ER=1.5,N1,N2和N3存在多种可能的组合。实验结果表明当所有的像素被划分为中等平面时本发明的方法相比其它基于矩阵编码的方法可以取得最优的视觉质量。这三种情况可以用以下公式表示:
Figure GDA0002337504890000091
b)高平面组的数据隐藏
根据2-a)小节的描述,当N1=1时,数据隐藏的平面为高平面而且数据隐藏过程是以逐个像素嵌入的方式进行。因此,每个像素可以嵌入3比特的数据,可以获得最大纯负载量。下面详细介绍数据隐藏的过程。
输入:大小为H×W的原始图像I和参考数据集合{G0,G1,…,G7}。
输出:隐写图像I′。
步骤1:光栅扫描原始图像I得到像素列表{pi|i=1,2,…,H×W};
步骤2:利用伪随机数生成器生成一个范围在0到7的十进制数组S={si|i=1,2,…,H×W},这里si定义为待嵌入的第i个3比特数据;
步骤3:将pi转换为8比特的二进制数,然后抽取后7比特数据并指派为xi,这里i属于{1,H×W}范围;
步骤4:利用公式(5)获得参考数据集Gs
步骤5:根据公式ds,k=|xi-ys,k|计算差值,其中k∈{1,2,…,16},|·|表示求绝对值;
步骤6:从{ds,1,ds,2,…,ds,16}中选择最小差值ds,min对应的ys,min,将其替换pi的后7位得到标记像素p′i
步骤7:重复步骤4到6直到最后一个像素(例如xH×W)被嵌入秘密数据,最后得到隐写图像I′。
c)中等平面组的数据隐藏
根据2-a)小节描述,N2=1意味着数据隐藏平面是中等平面,而且每两个像素组成像素对可以被嵌入3比特数据。同N1=1的情况类似,本发明将会详细介绍数据的嵌入过程。
输入:大小为H×W的原始图像I和参考数据集合{G0,G1,…,G7}。
输出:隐写图像I′。
步骤1:光栅扫描原始图像I得到像素列表{pi|i=1,2,…,H×W},并且每两个像素组成像素对(p2j-1,p2j),这里
Figure GDA0002337504890000101
步骤2:利用伪随机数生成器生成一个范围在0到7的十进制数组
Figure GDA0002337504890000102
这里si定义为待嵌入的第i个3比特数据;
步骤3:将像素对(p2j-1,p2j)转换为8比特的二进制数形式(b2j-1,b2j);
步骤4:利用公式(5)获得参考数据集Gs
步骤5:用ys,k的前4位(即第7、6、5和4最小有效位)替换b2j-1的后4位(即第4、3、2和1最小有效位)将其变为b′2j-1,k,同时用ys,k的后3位(即第3、2和1最小有效位)替换b2j的后3位(即第3、2和1最小有效位)将其变为b′2j,k,这里k∈{1,…,16}。接下来二进制像素对(b′2j-1,k,b′2j,k)被转换为它的十进制形式(p′2j-1,k,p′2j,k),然后根据公式ds,k=|p2j-1-p′2j-1,k|+|p2j-p′2j,k|计算出(p2j-1,p2j)和(p′2j-1,k,p′2j,k)的绝对差值ds,k
步骤6:从{ds,1,ds,2,…,ds,16}中选择最小差值ds,min对应的ys,min,将ys,min按照4和3比特分为两部分,前一部分替换p2j-1最后四位产生p′2j-1,同时后一部分替换p2j的最后三位产生p′2j
步骤7:重复步骤4到6直到最后一个像素对被嵌入秘密数据,最后得到隐写图像I′。
d)低平面组的数据隐藏
根据2-a)小节描述,N3=1意味着数据隐藏平面是低平面,并且每三个像素构成的三元组可以嵌入3比特数据。换句话说,因为一个三元组被嵌入了3比特数据,相较于N1=1和N2=1失真最小。同N1=1和N2=1相似,本发明将给出嵌入过程的详细介绍。
输入:大小为H×W的原始图像I和参考数据集合{G0,G1,…,G7}。
输出:隐写图像I′。
步骤1:光栅扫描原始图像I得到像素列表{pi|i=1,2,…,H×W},并且每三个像素构成一个三元组(p3j-2,p3j-1,p3j),这里
Figure GDA0002337504890000111
步骤2:利用伪随机数生成器生成一个范围在0到7的十进制数组
Figure GDA0002337504890000112
这里si定义为待嵌入的第i个3比特数据;
步骤3:将三元组(p3j-2,p3j-1,p3j)转换为8比特的二进制数形式(b3j-2,b3j-1,b3j);
步骤4:利用公式(5)获得参考数据集Gs
步骤5:用ys,k的前3位(即第7、6和5最小有效位)替换b3j-2的后3位(即第3、2和1最小有效位)得到b′3j-2,k,用ys,k的第4和3最小有效位替换b3j-1的第2和1最小有效位得到b′3j-1,k,同时用ys,k第2和1最小有效位替换b3j的第2和1最小有效位得到b′3j,k,这里k∈{1,2,…,16};接着三元组(b′3j-2,k,b′3j-1,k,b′3j,k)被转换为对应的十进制形式(p3′j-2,k,p3′j-1,k,p3′j,k);然后根据公式ds,k=|p3j-2-p′3j-2,k|+|p3j-1-p′3j-1,k||p3j-p′3j,k|计算出(p′3j-2,k,p′3j-1,k,p′3j,k)和(p3j-2,p3j-1,p3j)的绝对差值ds,k
步骤6:从{ds,1,ds,2,…,ds,16}中选择最小差值ds,min对应的ys,min,将ys,min按照3、2和2比特的顺序分为三个部分,第一部分替换p3j-2的后三位得到p′3j-2,第二部分替换p3j-1的后两位得到p′3j-1,第三部分替换p3j的后两位得到p′3j
步骤7:重复步骤4到6直到原始图像最后一个三元组对被嵌入秘密数据,最后得到隐写图像I′。
e)提出基于上述三种数据隐藏策略的数据隐藏过程的总体框架
基于三种数据隐藏策略,如果N1较大会导致更高的嵌入容量和嵌入失真。N1=1意味着嵌入容量是最高的,因此失真也是最高的。相比高平面和中等平面,在低平面嵌入数据可以保证更好的图像视觉质量,因为像素的修改更轻微。为了在保证图像视觉质量的同时提供最大的嵌入容量,N3必须要减少,相应地N1和N2要增大。需要根据公式(7)预先定义合适的N1、N2和N3。原始图像I相应地按照N1、N2和N3的比例被分为三个部分:I1、I2和I3。也就是说,I1、I2和I3中所有的像素分别属于高、中和低平面。详细的数据隐藏过程已经在b),c)和d)小节中详细描述过了。在每个部分的数据隐藏完成之后,隐写图像就产生了。
S3、根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像。
步骤S3具体为:
根据高平面组对应的隐写图像、中等平面组对应的隐写图像和低平面组对应的隐写图像共同生成与所述原始图像对应的隐写图像。
3)提取阶段
数据提取过程即嵌入过程的逆操作,这个过程非常简单,可以进一步划分为:预备和提取两个阶段。
假设已知隐写图像I′以及三类像素的比例N1、N2和N3。根据相应的比例,本发明把隐写图像分成I′1,I′2和I′3三个部分。公式(9)被用来从y中提取藏入的数据s:
s=H×yT (9)
这里y有三个可能的值,取决于它是属于哪一部分。具体说,如果y∈I′1,本发明可以通过提取一个标记像素的后7比特产生y;如果y∈I′2,对于一个标记像素对(p′1,p′2),y可以通过抽取p′1的后4比特和p′2的后3比特构成;如果y∈I′3,对一个标记像素三元组(p′1,p′2,p′3),y可以通过抽取p′1的后3比特,p′2的后2比特和p′3的后2比特构成。数据提取过程一直进行到每一个隐藏数据被一个接一个的提取出来,具体的提取过程如下:
输入:隐写图像I′及N1、N2和N3的比例。
输出:秘密数据S。
步骤1:扫描隐写图像I′,并根据N1、N2和N3的值将I′分为I′1,I′2和I′3三份部分;
步骤2:对I′1的一个标记像素p′,通过抽取后7比特得到y;对I′2的一个标记像素对(p′1,p′2),通过抽取p′1的后4比特和p′2的后3比特得到y;对I′3的一个标记像素三元组(p′1,p′2,p′3),通过抽取p′1的后3比特,p′2的后2比特和p′3的后2比特得到y;
步骤3:根据公式(9)计算秘密数据s;
步骤4:重复步骤2-3,直到所有的秘密数据都被提取出来;
步骤5:串联所有的秘密数据重构数组S。
结果比对
为了验证提出的本发明方法的有效性和优越性,本发明对矩阵编码、“汉明加一”方法、曹等人提出的方法、Shukla等人提出的方法和本发明的方法从嵌入容量和图像视觉质量两个方面进行了比较。实验采用的灰度测试图像如图2所示,软件测试平台为MATELABR2017a。
嵌入容量CAP通常使用每个像素可以承载多少比特的数据作为衡量标准,定义为bpp,它也可以反映封面图像的嵌入容量。另外隐写图像通常看起来与原始图像非常相似,峰值信噪比(PSNR)作为一种常用的图像质量客观评价指标被用来测量隐写图像的视觉质量,如公式(10)所示。
Figure GDA0002337504890000141
这里
Figure GDA0002337504890000142
为封面图像与对应的隐写图像之间的差异程度。MSE的值越大,PSNR的值就越小,反之亦然。通常当PSNR值大于30dB的时候,人眼就很难分辨出因数据隐藏造成的原始图像的改变。本发明的方法可以在数据嵌入过程中取得很好的视觉质量,因此那些细微的改变无法被人眼察觉。实验一的结果表明当ER=1时测试图像的平均PSNR值超过51.22dB,也就是说所有的测试图像都可以保持很高的视觉质量即使本发明已经在图像里面嵌入了262144比特的数据,详细的结果如图3所示。
实验二对比了我们的方案和其它现有方案在最大的嵌入容量CAP(或者嵌入率ER)下的表现,具体如表1所示。从其中的实验数据来看,我们的方法综合表现要优于其它的方法,即在嵌入容量可比的情况下,实现了最高的图像视觉质量即PSNR。例如,Shukla等人的方案中当ER=3.11时PSNR=37.32,而我们的方案在ER=3时PSNR=38.59。为了使比较更直观,我们固定了隐藏容量只比较相同隐藏容量(或嵌入率)下不同方法的性能。
表1最大藏量CAP(或嵌入率ER)下,我们的方案和其它相关方案对比
Figure GDA0002337504890000151
表2当嵌入率分别为(ER=1,1.5,2和3)时,我们的方案和其它四种方案的视觉质量(PSNR)表
Figure GDA0002337504890000161
实验三的结果如表2所示,其中展示了本发明的方法和其它基于矩阵编码方法的PSNR对比。本发明仍旧选择图2的测试图像,并且根据嵌入率(例如:ER=1,ER=1.5,ER=2和ER=3)来调整嵌入容量。实验结果显示PSNR和ER是一种权衡,随着ER增大,PSNR值则减小。在藏量相同的情况下,本发明的方法的PSNR值是最优的(例如:当ER=1时,PSNR值分别超过4dB,7dB,0.12dB和8.01dB)。并且随着ER值增加,PSNR值的优势也更加明显(例如:当ER=2时,PSNR值分别超过9dB,22dB,0.6dB和2.88dB)。从表1还可以发现本发明的方法不受封面图像复杂度的影响,即不同的封面图像实验结果的PSNR值几乎相同,误差在0.04范围内,并且只受嵌入率的影响。换句话说,本发明可以利用这种特性通过调整ER值来扩展本发明方法的应用场景。
在实验四中使用包括平滑图像“Lena”和“Airplane”和高纹理图像“Baboon”和“Peppers”在内的四幅典型的灰度测试图像比较本发明的方法和其它四种代表性的方法在相同藏量下的表现,例如扩展的矩阵编码(方法一),扩展的汉明加一的方法(方法二),曹等人提出的方法(方法三)和Shukla等人提出的方法(方法四)。实验结果用折线图绘制在平面坐标上,如图4所示:x坐标表示嵌入率ER,y坐标表示隐写图像的视觉质量PSNR,坐标平面上的点代表一组实验数据。本发明的结果用一条带圆形标记的曲线表示,扩展的矩阵编码的用一条带十字标记的曲线表示,扩展的汉明加一的方法用一条带三角标记的曲线表示,曹等人提出的方法用带交叉标记的曲线表示,Shukla等人提出的的方法用一条带正方形标记的曲线表示。
其中,方法一为R.Crandall.,“Some notes on steganography,”Posted onsteganography mailing http://os.inf.tu-dresden.de/west-feld/crandall.pdf,1998;
方法二为W.Zhang,S.Wang,and X.Zhang.,“Improving embedding efficiencyof covering codes for applications in steganography,”IEEE CommunicationsLetters.,vol.11,no.8,pp.680-682,Aug.2007;
方法三为Z.K.Cao,Z.X.Yin,H.H.Hu,X.P.Gao,and L.M Wang.,“High capacitydata hiding scheme based on(7,4)Hamming code,”SpringerPlus.,vol.5,no.1,pp.175-187,Feb.2016;
方法四为A.K.Shukla,A.Singh,B.Singh andA.Kumar.,“A secure and high-capacity data-hiding method using compression,encryption and optimized pixelvalue differencing,”IEEEAccess.,vol 6,pp.51130-51139,Sep.2018;
从图4(a)-(d)可以看出本发明的方法要优于其它的方法,例如当ER=0.1时,PSNR=61.26;当ER=3时,PSNR=38.67。虽然当ER≤0.5时扩展矩阵编码和汉明加一的方案略微高于本发明的方法,但是随着隐藏容量增加图像品质也急剧下降,例如当ER>0.5时它们已经落后于本发明的结果,而当ER>2时扩展的汉明加一方案无效。Shukla等人的方案虽然有较好的表现,例如PSNR>34,而且随着隐藏容量增加图像品质变化的也不是很明显,但是相比曹等人和本发明的方法仍然有一些差距。曹等人的方案和本发明的方案在不同的隐藏容量下有良好的视觉效果如PSNR>38,并且随着藏量的增加下降也较为平缓。与其它两种方案相比,曹等人的方案和本发明的方案具有比较优势,特别是当隐藏容量比较大时。当ER≥1时本发明的方案又比曹等人的方案PSNR在相同的藏量下平均高出0.6dB,而当ER<1时本发明的方案也有比较优势。
实验五采用RS隐写分析法验证我们方法的安全性,它为一个判别函数并包含两个参数M和-M的,分别对应两个矩阵[0,1;1,0]和[0,-1;-1,0],进而我们可以根据函数的结果RM,R-M,SM和S-M来发现是否一个图像包含有隐藏的内容。如果这些结果满足RM≈R-M>SM≈S-M,那么图像就是一幅普通的图像;反之亦然,图像就是一幅隐藏了秘密信息的隐写图像。当ER=1和ER=3时RS隐写分析的结果如图3所示,统计结果表明我们的方法中RM和R-M,SM和S-M两两的值都很接近,当ER=1时,|RM-R-M|和|SM-S-M|的平均值分别等于0.08%和0.06%;当ER=3时,|RM-R-M|和|SM-S-M|的平均值分别等于0.20%和0.19%。虽然当嵌入容量增大时差值有轻微地增加,但仍然有很好的表现。换句话说,我们的方法可以抵抗RS隐写分析。
表3当ER=1和ER=3时,RS隐写分析的结果
Figure GDA0002337504890000181
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种基于矩阵编码的数据隐藏方法,其特征在于,包括步骤:
S1、获取原始图像的像素列表,并进行划分,得到若干个分组;
S2、生成私密数据,并根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像;
S3、根据各个分组对应的隐写图像生成与所述原始图像对应的隐写图像;
步骤S1具体包括:
S11、通过光栅扫描原始图像I得到像素列表{pi|i=1,2,...,H×W},其中H表示原始图像I的横向像素的最大值,W表示原始图像I的纵向像素的最大值;
S12、根据预定义的嵌入率ER对所述像素列表进行划分,得到高平面组、中等平面组和低平面组,所述高平面组、中等平面组和低平面组,比例分别为N1,N2和N3,并且N1+N2+N3=1,所述嵌入率ER可以通过以下公式计算:
3×N1+1.5N2+N3=ER
步骤S2中所述的生成私密数据 具体为:
在[0,7]范围内随机生成一个十进制数组S={si|i=1,2,...,H×W}为私密数据,其中si表示待嵌入的第i个数据;
步骤S2还包括:
将128个7位二进制数组合范围从0000000到1111111通过奇偶校验矩阵划分为8个组,所有128个7位二进制数的组合定义为Y;
Figure FDA0003299095700000011
并通过
Figure FDA0003299095700000012
生成第i个数据的参考数据集
Figure FDA0003299095700000021
其中,Gm代表第m组,yk,m代表第m组的第k个元素,并且m∈{0,…,7},k∈{1,…,16}。
2.根据权利要求1所述的基于矩阵编码的数据隐藏方法,其特征在于,所述的根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像具体为:
分组为高平面组时,根据
Figure FDA0003299095700000022
获得相应的第i个数据的参考数据集
Figure FDA0003299095700000023
将所述像素列表{pi|i=1,2,...,N1}中每个像素pi转换为8比特的二进制数,并获取后7比特数据记为xi
根据公式
Figure FDA0003299095700000024
计算绝对值,得到
Figure FDA0003299095700000025
并从
Figure FDA0003299095700000026
中选择最小差值
Figure FDA0003299095700000027
对应的
Figure FDA0003299095700000028
并使用
Figure FDA0003299095700000029
替换像素pi的后7位,得到标记像素pi';
通过所述标记像素pi'构建得到与所述高平面组对应的隐写图像。
3.根据权利要求1所述的基于矩阵编码的数据隐藏方法,其特征在于,所述的根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像具体为:
分组为中等平面组时,根据
Figure FDA00032990957000000210
获得相应的第i个数据的参考数据集
Figure FDA00032990957000000211
将所述像素列表{pi|i=N1+1,N1+3,...,N1+2N2-1}中每两个像素组成像素对(p2j-1,p2j),然后将像素对转换为8比特的二进制数形式(b2j-1,b2j);
Figure FDA00032990957000000212
的前4位替换b2j-1的后4位将其变为b′2j-1,k,同时用
Figure FDA00032990957000000213
的后3位替换b2j的后3位将其变为b′2j,k,然后将二进制像素对(b′2j-1,k,b′2j,k)转换为它的十进制形式(p′2j-1,k,p′2j,k);
根据公式
Figure FDA0003299095700000031
选出最小差值
Figure FDA0003299095700000032
对应的
Figure FDA0003299095700000033
并将
Figure FDA0003299095700000034
按照4和3比特分为前后两个部分,且前一部分替换p2j-1最后四位,得到标记像素p'2j-1,后一部分替换p2j的最后三位,得到标记像素p'2j
通过所述标记像素 p'2j-1和p'2j构建得到与所述中等平面组对应的隐写图像。
4.根据权利要求1所述的基于矩阵编码的数据隐藏方法,其特征在于,所述的根据所述私密数据对每个分组进行相应的数据隐藏处理,得到每个分组对应的隐写图像具体为:
分组为低平面组时,根据
Figure FDA0003299095700000035
获得相应的第i个数据的参考数据集
Figure FDA0003299095700000036
将所述像素列表{pi|i=N1+2N2+1,N1+2N2+4,...,N1+2N2+3N3-2}中每三个像素构成一个三元组(p3j-2,p3j-1,p3j),然后将三元组转换为8比特的二进制数形式(b3j-2,b3j-1,b3j);
Figure FDA0003299095700000037
的前3位替换b3j-2的后3位得到b′3j-2,k,用
Figure FDA0003299095700000038
的第4和3最小有效位替换b3j-1的第2和1最小有效位得到b′3j-1,k,同时用
Figure FDA0003299095700000039
第2和1最小有效位替换b3j的第2和1最小有效位得到b′3j,k,然后将三元组(b′3j-2,k,b′3j-1,k,b′3j,k)转换为对应的十进制形式(p′3j-2,k,p′3j-1,k,p′3j,k);
根据公式
Figure FDA00032990957000000310
选出最小差值
Figure FDA00032990957000000311
对应的
Figure FDA00032990957000000312
并将
Figure FDA00032990957000000313
按照3、2和2比特分为第一部分、第二部分和第三部分,且所述第一部分替换p3j-2的后三位,得到标记像素p'3j-2,第二部分替换p3j-1的后两位,得到标记像素p'3j-1,第三部分替换p3j的后两位得到标记像素p'3j
通过所述标记像素p'3j-2、p'3j-1和p'3j构建得到与所述低平面组对应的隐写图像。
5.根据权利要求1所述的基于矩阵编码的数据隐藏方法,其特征在于,步骤S3具体为:
根据高平面组对应的隐写图像、中等平面组对应的隐写图像和低平面组对应的隐写图像共同生成与所述原始图像对应的隐写图像。
CN201911048958.7A 2019-10-31 2019-10-31 一种基于矩阵编码的数据隐藏方法 Active CN110855850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911048958.7A CN110855850B (zh) 2019-10-31 2019-10-31 一种基于矩阵编码的数据隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911048958.7A CN110855850B (zh) 2019-10-31 2019-10-31 一种基于矩阵编码的数据隐藏方法

Publications (2)

Publication Number Publication Date
CN110855850A CN110855850A (zh) 2020-02-28
CN110855850B true CN110855850B (zh) 2021-11-16

Family

ID=69599080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911048958.7A Active CN110855850B (zh) 2019-10-31 2019-10-31 一种基于矩阵编码的数据隐藏方法

Country Status (1)

Country Link
CN (1) CN110855850B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887504B (zh) * 2021-01-20 2022-08-23 南昌航空大学 一种基于可重叠汉明码的信息隐藏方法及提取方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005051395A1 (de) * 2005-10-25 2007-05-03 Giesecke & Devrient Gmbh Sicherheitselement und Verfahren zu seiner Herstellung
CN104008521B (zh) * 2014-05-29 2017-04-05 西安理工大学 基于灰度共生矩阵统计特征的lsb替换隐写分析方法
CN106875324B (zh) * 2017-02-05 2019-08-09 西南大学 基于sbde的无损图像信息隐藏方法
CN107146192A (zh) * 2017-05-02 2017-09-08 湖北工程学院 一种图像安全保护方法和装置
CN109922227B (zh) * 2019-01-22 2020-09-22 华南理工大学 一种可逆元胞自动机图像加密的相似性度量方法

Also Published As

Publication number Publication date
CN110855850A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
Baluja Hiding images in plain sight: Deep steganography
Chang et al. A high payload steganographic scheme based on (7, 4) hamming code for digital images
Sun et al. High performance reversible data hiding for block truncation coding compressed images
CN110855850B (zh) 一种基于矩阵编码的数据隐藏方法
Chang et al. A data embedding scheme for color images based on genetic algorithm and absolute moment block truncation coding
Chang et al. Joint coding and embedding techniques for multimedia images
Hiary et al. A hybrid steganography system based on LSB matching and replacement
CN107146191B (zh) 一种引入辅助像素的高效信息隐藏方法
Hsieh et al. A two-codebook combination and three-phase block matching based image-hiding scheme with high embedding capacity
Kim et al. Data hiding using sequential hamming+ k with m overlapped pixels
CN114499852A (zh) 基于矩阵编码的秘密共享方法及装置
Diop et al. Using of polar codes in steganography
Molaei et al. Steganography scheme based on Reed-Muller Code with improving payload and ability to Retrieval of Destroyed data for digital images
Rodrigues et al. Reversible image steganography using cyclic codes and dynamic cover pixel selection
Kimoto Error-correction coding of spatial image watermarks in gray code
Hong et al. An AMBTC authentication scheme with recoverability using matrix encoding and side match
Chu et al. Error-Resilient Triple-Watermarking with Multiple Description Coding.
Al-Dmour et al. An efficient hybrid steganography method based on edge adaptive and tree based parity check
Jana et al. An efficient data hiding scheme using hamming error correcting code
Shawkat et al. Evolved algorithm to secure communication with steganography
Liu et al. An Improved Steganographic Method Based on Least-Significant-Bit Substitution and Modulus Pixel-Value Difference
CN115396676B (zh) 一种加密域卫星图像信息隐藏方法
Wu et al. Enhance the image sharing with steganography and authentication
Liang et al. A blind data hiding technique with error correction abilities and a high embedding payload
Wang et al. A greedy steganographic SMVQ approach of greedy-USBIRDS using secret bits for image-block repairing based on differences

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: No.1 campus new village, Rongcheng Town, Fuqing City, Fuzhou City, Fujian Province

Patentee after: Fujian Normal University of Technology

Address before: No.1 campus new village, Rongcheng Town, Fuqing City, Fuzhou City, Fujian Province

Patentee before: FUQING BRANCH OF FUJIAN NORMAL University