CN113032813B - 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 - Google Patents
基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 Download PDFInfo
- Publication number
- CN113032813B CN113032813B CN202110458883.0A CN202110458883A CN113032813B CN 113032813 B CN113032813 B CN 113032813B CN 202110458883 A CN202110458883 A CN 202110458883A CN 113032813 B CN113032813 B CN 113032813B
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- embedding
- target pixel
- calculating
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0203—Image watermarking whereby the image with embedded watermark is reverted to the original condition before embedding, e.g. lossless, distortion-free or invertible watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法,包括:对原始图像进行上溢/下溢预处理;将图像分为Blue和Blank两个子图像,对各子图像的像素位置进行划分,使用菱形预测器计算目标像素的预测误差;计算Blue/Blank子图像的像素纹理度,得到目标像素的邻接像素的纹理度,然后利用邻接像素的纹理度计算目标像素的局部复杂度;根据每个子图像的预测误差直方图,分别选择三个峰值点,和两个分别距离最大峰值点和最小峰值点最近的零点,然后根据秘密信息长度自适应选择峰值点,优先对每个子图像中局部复杂度低的像素进行信息嵌入;进行秘密信息提取和图像恢复。本发明实现了提高图像嵌入容量的同时,减少嵌入失真。
Description
技术领域
本发明属于信息安全和数字通讯技术领域,尤其涉及一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法。
背景技术
如今,大量的信息通过分布式计算机网络以数字形式进行传输。互联网上的数字通讯取得了巨大的进步,防止隐私信息被篡改或窃取成为政府和行业特别关注的热点问题之一。因此迫切需要解决信息安全问题,而信息隐藏技术就是保证数字化信息安全的有效途径之一。数字水印、隐写术等都是保护数字化信息(也可称为水印)安全的有效的信息隐藏技术。对于大多数的信息隐藏算法来说,仅仅关注秘密信息的提取和恢复,忽略了载体图像的恢复,造成载体图像的永久失真。然而,对于某些敏感领域来说,是不能容忍任何失真的,比如医疗、法律或者军事等领域。为了满足既实现秘密信息的隐藏和提取,又无损地恢复原始载体图像的特殊需求,可逆信息隐藏应运而生。
随着可逆信息隐藏技术研究的不断深入,基于空域的明文域可逆信息隐藏技术一直致力于追求图像视觉质量和嵌入能力之间的良好平衡,因此得到了研究者的广泛关注,并将许多经典的算法应用其中,例如无损压缩,差值扩展,直方图平移等等。2019年Yin等人(Y.Jia,Z.Yin,X.Zhang,Y.Luo,Reversible data hiding based on reducing invalidshifting of pixels in histogram shifting,Signal Processing.163(2019):238-246)提出了基于减少直方图平移中无效平移像素的可逆信息隐藏算法,算法中指出图像失真与嵌入过程中的无效平移像素密切相关,通过各种处理操作优先在平滑像素中嵌入秘密信息来减少像素的无效移位,并采用双峰嵌入的方法进行信息嵌入,在嵌入能力和图像视觉质量之间得到较好的平衡。但是,这种方法没有充分利用像素之间的相关性,使得像素复杂度的计算结果不够精确,从而导致图像失真没有明显降低,并且图像冗余度的利用率低,嵌入容量有待进一步的提高。
因此,亟需设计一种充分利用像素空间相关性的局部复杂度计算方法和多峰嵌入的直方图修改映射策略,以进一步保证图像视觉质量和嵌入能力之间的良好平衡,从而满足实际应用需求。
发明内容
本发明针对现有基于减少直方图平移中无效平移像素的可逆信息隐藏算法没有充分利用像素之间的相关性,使得像素复杂度的计算结果不够精确,从而导致图像失真没有明显降低,并且图像冗余度的利用率低,嵌入容量有待进一步的提高的问题,提出一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法,旨在提高图像嵌入容量的同时,减少嵌入失真,以达到图像视觉质量和嵌入容量之间的良好平衡,更好地满足实际应用需求。
为了实现上述目的,本发明采用以下技术方案:
一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法,包括:
步骤1:对原始图像I进行上溢/下溢预处理;
步骤2:采用传统的棋盘法对上溢/下溢预处理后的图像I进行处理,图像被分为Blue和Blank两个子图像,每个子图像与原始图像大小相等;对Blue/Blank 子图像的像素位置进行划分,然后使用菱形预测器计算目标像素的预测误差,得到预测误差矩阵,然后根据目标像素的预测误差矩阵生成预测误差直方图;
步骤3:计算Blue/Blank子图像的像素纹理度,得到目标像素的邻接像素的像素纹理度,然后利用邻接像素的像素纹理度计算目标像素的局部复杂度;
步骤4:根据每个子图像中的目标像素的预测误差直方图,分别选择三个峰值点,和两个分别距离最大峰值点和最小峰值点最近的零点,然后,根据秘密信息长度自适应选择峰值点,优先对每个子图像中局部复杂度低的像素进行信息嵌入;
步骤5:进行秘密信息提取和图像恢复。
进一步地,所述步骤1包括:
按顺序遍历大小为m×n的原始图像I中的像素,将原始图像I中像素值为“0”和“255”的像素分别修改为“1”和“254”,并在位图中标记“1”;将由于嵌入或者平移操作而被修改为“0”和“255”的像素,在相同的位图上标记“0”,得到图像J,将图像J赋值给I;然后采用无损压缩的方法将位图进行压缩,并作为有效载荷的一部分嵌入图像中。
进一步地,所述步骤2包括:
将Blue子图像的像素位置划分为七类:P1位置、P2位置、Q类位置、M类位置、R类位置、N类位置、A类位置,其中,P1位置为Blue子图像的左上角, P2位置为Blue子图像的右下角,Q类位置为除P1位置外、Blue子图像的上边界, M类位置为除P1位置外、Blue子图像的左边界,R类位置为除P1位置外、Blue 子图像的下边界,N类位置为除P1位置外、Blue子图像的右边界,A类位置为除P1位置外、P2位置、Q类位置、M类位置、R类位置、N类位置外、Blue子图像的像素位置;
Case1:计算目标像素在P1位置上的预测像素值:
Case2:计算目标像素在P2位置上的预测像素值:
Case3:计算目标像素在Q类的位置上的预测像素值:
Case4:计算目标像素在M类的位置上的预测像素值:
Case5:计算目标像素在R类的位置上的预测像素值:
Case6:计算目标像素在N类的位置上的预测像素值:
Case7:计算目标像素在A类的位置上的预测像素值:
根据上述七种像素位置,可计算预测误差e,如下式所示:
进一步地,所述步骤3包括:
Case1:计算目标像素在P1位置上的像素局部复杂度,公式如下:
Case2:计算目标像素在P2位置上的像素局部复杂度,公式如下:
Case3:计算目标像素在Q类的位置上的像素局部复杂度,公式如下:
Case4:计算目标像素在M类的位置上的像素局部复杂度,公式如下:
Case5:计算目标像素在R类的位置上的像素局部复杂度,公式如下:
Case6:计算目标像素在N类的位置上的像素局部复杂度,公式如下:
Case7:计算目标像素在A类的位置上的像素局部复杂度,公式如下:
公式(9)~(15)中,ver表示垂直方向上两两相邻的像素差的绝对值之和的平均值,hor表示水平方向上两两相邻像素差的绝对值之和的平均值,fP表示目标像素纹理度,ΩP表示像素局部复杂度,表示向下取整函数;a2为目标像素的右下角相邻像素,a4为目标像素的左下角相邻像素,a6为目标像素的左上角相邻像素,a8为目标像素的右上角相邻像素; 分别为a1,a2,a3,a4,a5,a6,a7,a8对应的像素纹理度。
进一步地,所述步骤4还包括:
低嵌入需求时,优先选择距离零点最近的两个峰值点进行信息嵌入,建立位置索引序列L,大小为用于记录未嵌入秘密信息的中间峰值点的位置索引;高嵌入需求时,距离零点最近的两个峰值点用完后,调用位置索引序列L 继续选择中间峰值点进行信息嵌入。
进一步地,所述信息嵌入具体包括:
步骤4.1:根据局部复杂度和预测误差的计算方法,将计算得到的Blue子图像的所有像素的预测误差值和局部复杂度分别存储在两个m×n的矩阵中,然后以光栅扫描法扫描局部复杂度矩阵和预测误差值矩阵,生成局部复杂度序列F 和预测误差序列E,大小均为再用两个大小为的序列E_x和E_y 来存储预测误差的横、纵坐标;
步骤4.2:将局部复杂度序列F按照升序排列得到F',然后按照F'的顺序对三个序列E,E_x和E_y进行排序,得到序列E',E_xx和E_yy,从而使得预测误差与其位置坐标一一对应;
步骤4.3:将一半的秘密信息分配给Blue子图像,按照预测误差序列E'的顺序依次扫描并修改预测误差值,进行信息嵌入操作,具体嵌入过程如下: Case1:q≤(numA1+numA11)
Case2:q>(numA1+numA11)
相应的原始像素的值被修改为:
P′i=Pi+e′i (18)
公式(16)~(18)中,q是阈值,ω是秘密信息,ω∈{0,1},PK1A,PK2A,PK3A 分别为Blue子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2 是Blue子图像中距离峰值点最近的两个零点;ei是原始预测误差值,Pi是原始像素值,e′i是被标记的预测误差值,P′i表示被标记的像素值;numA1和numA11分别是Blue子图像中距离零点最近的两个峰值点的个数;
步骤4.4:通过步骤4.1至4.3完成对原始图像中Blue子图像秘密信息的嵌入,得到中间载密图像Stego_I1;Blank子图像进行信息嵌入时,在Stego_I1的基础上,对Blank子图像执行步骤4.1至4.3,完成另一半秘密信息的嵌入,最终完成对整个图像的嵌入,得到最终的载密图像Stego_I2。
进一步地,所述步骤5包括:
步骤5.1:首先提取载密图像Stego_I2中Blank子图像的秘密信息,调用信息嵌入过程中建立的位置索引序列E_xx和E_yy,按顺序扫描位置索引序列 E_xx和E_yy,在Stego_I2中找到与索引对<X,Y>相对应的像素位置,其中X、Y分别表示预测误差的横、纵坐标,即找到无效移位和被嵌入秘密信息的像素;提取秘密信息的方式如下所示:
Case1:q<(numB1+numB11)
Case2:q≥(numB1+numB11)
公式(19)~(22)中,q是阈值,ω是秘密信息,ω∈{0,1},ei是被恢复的预测误差值,e′i表示被标记的预测误差值,PK1B,PK2B,PK3B分别为Blank子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2是Blank子图像中距离峰值点最近的两个零点;numB1和numB11分别是Blank子图像中距离零点最近的两个峰值点的数量;
步骤5.2:按照如下公式恢复原始像素,得到原始图像:
Pi=P′i+ei (23)
其中,P′i表示被标记的像素值,Pi表示被恢复的像素值;
步骤5.3:载密图像Stego_I2中Blank子图像的秘密信息提取后,得到中间恢复图像Re_I1,用同样的方法在Re_I1基础上对Blue子图像进行信息提取和图像恢复,然后利用解压缩的位图,恢复被修改的像素,最终得到被恢复的原始图像Re_I2。
与现有技术相比,本发明具有的有益效果:
第一,本发明首先对像素位置准确划分为七种情况,确定每种情况下目标像素的邻接像素,再利用相邻像素的空间相关性计算单个像素的纹理度,然后使用单个像素的纹理度来计算目标像素的局部复杂度,这样不仅仅考虑到目标像素的邻接像素的空间相关性,还利用了邻接像素的邻接像素的空间相关性,即目标像素周围的两层像素均被利用,使得计算结果更加精确,从而准确找到平滑像素的位置,减少无效移位产生的失真;
第二,本发明在预测误差的计算过程中,首先精确划分七种目标像素的位置,确定目标像素的邻接像素,然后采用菱形预测器来计算目标像素的预测误差,充分利用了每一个像素,弥补了Yin等人算法中边缘像素未被利用的缺点,从而增加了图像嵌入容量;
第三,本发明提出了一种多峰嵌入的直方图修改映射策略。在信息嵌入过程中,采用多峰嵌入的方法,结合像素局部复杂度优先将秘密信息嵌入到距离两侧零点最近的两个峰值点中,当不满足嵌入需求时,再将秘密信息嵌入到中间峰值点,大大增加了嵌入容量;同时建立两种位置索引序列L、E_xx和E_yy,索引序列L是为了防止丢失可以携带秘密信息的中间峰值点,索引序列E_xx和 E_yy是保证多峰嵌入方法可逆的关键因素;
第四,本发明利用信息嵌入过程中建立位置索引序列E_xx和E_yy,准确找到无效移位和被嵌入秘密信息的像素位置,然后采用预测误差直方图平移的逆过程来进行信息提取和图像恢复,这种方法不再完全依靠传统嵌入方法的逆过程来实现信息提取和图像恢复,降低了信息提取过程的计算复杂度;
综上所述,本发明实现了提高图像嵌入容量的同时,减少嵌入失真,以达到图像视觉质量和嵌入容量之间的良好平衡,更好地满足实际应用需求,使得数字通讯在互联网中更加安全可靠。
附图说明
图1为本发明实施例一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法的基本流程图;
图2为本发明的原始图像预处理结果示意图;
图3为本发明中计算目标像素局部复杂度的上下文像素组成示意图;
图4为本发明的目标像素的邻接像素示意图;
图5为本发明中目标像素的邻接像素的像素纹理度示意图;
图6为本发明的秘密信息嵌入流程图;
图7为本发明的像素局部复杂度和预测误差的计算示例图;
图8为本发明的信息提取和图像恢复流程图;
图9为本发明的信息嵌入示例图;
图10为本发明的信息提取示例图;
图11为本发明实施例采用的测试图像;
图12为采用本发明方法的实验结果示例图;
图13为本发明方法和Yin等人所提算法像素无效移位比较图;
图14为本发明方法和Yin等人所提算法嵌入能力比较图;
图15为本发明方法和Yin等人所提算法性能比较图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
如图1所示,一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法,包括:
步骤S101:对原始图像I进行上溢/下溢预处理;
步骤S102:像素预测误差的计算:如图2所示,采用传统的棋盘法对上溢/ 下溢预处理后的图像I进行处理,图像被分为Blue和Blank两个子图像,每个子图像与原始图像大小相等;在预测过程中,对Blue/Blank子图像的像素位置进行划分,然后使用菱形预测器计算目标像素的预测误差,得到预测误差矩阵,然后根据目标像素的预测误差矩阵生成预测误差直方图;
步骤S103:图3给出了计算目标像素局部复杂度的上下文像素组成示例图,即上下文像素H={B1,B2,B3,…,B24}。首先计算Blue/Blank子图像的像素纹理度,得到目标像素的邻接像素的像素纹理度,然后利用邻接像素的像素纹理度计算目标像素的局部复杂度;
步骤S104:根据每个子图像中的目标像素的预测误差直方图,分别选择三个峰值点,和两个分别距离最大峰值点和最小峰值点最近的零点,然后,根据秘密信息长度自适应选择峰值点,优先对每个子图像中局部复杂度低的像素进行信息嵌入;
步骤S105:进行秘密信息提取和图像恢复。
进一步地,所述步骤S101包括:
按顺序遍历大小为m×n的原始图像I中的像素,将原始图像I中像素值为“0”和“255”的像素分别修改为“1”和“254”,并在位图中标记“1”;将由于嵌入或者平移操作而被修改为“0”和“255”的像素,在相同的位图上标记“0”,得到图像J,将图像J赋值给I;然后采用无损压缩的方法将位图进行压缩,并作为有效载荷的一部分嵌入图像中。
进一步地,所述步骤S102包括:
图4给出了目标像素P及其相邻像素,图4中目标像素P的相邻像素为: {a1,a2,a3,a4,a5,a6,a7,a8},而目标像素P的预测上下文C由其相邻像素来组成,更具体地,C={a1,a2,a3,a4,a5,a6,a7,a8}。因为Blue和Blank子图像的预测误差计算方法类似,接下来以Blue子图像为例,结合图2所示,按照目标像素P的位置,具体可将Blue子图像的像素位置划分为七类:P1位置、P2位置、Q类位置、 M类位置、R类位置、N类位置、A类位置,其中,P1位置为Blue子图像的左上角,P2位置为Blue子图像的右下角,Q类位置为除P1位置外、Blue子图像的上边界,M类位置为除P1位置外、Blue子图像的左边界,R类位置为除P1位置外、Blue子图像的下边界,N类位置为除P1位置外、Blue子图像的右边界,A 类位置为除P1位置外、P2位置、Q类位置、M类位置、R类位置、N类位置外、 Blue子图像的像素位置;
Case1:计算目标像素在P1位置上的预测像素值:
Case2:计算目标像素在P2位置上的预测像素值:
Case3:计算目标像素在Q类的位置上的预测像素值:
Case4:计算目标像素在M类的位置上的预测像素值:
Case5:计算目标像素在R类的位置上的预测像素值:
Case6:计算目标像素在N类的位置上的预测像素值:
Case7:计算目标像素在A类的位置上的预测像素值:
根据上述七种像素位置,可计算预测误差e,如下式所示:
进一步地,所述步骤S103包括:
图2和图4分别给出了目标像素P的位置的精确划分及其相邻像素 {a1,a2,a3,a4,a5,a6,a7,a8}。由于两个子图像的计算方法类似,接下来以Blue子图像的计算为例加以说明。首先计算Blue和Blank两个子图像的像素纹理度,得到目标像素P的邻接像素的像素纹理度,如图5所示,然后利用邻接像素的像素纹理度计算目标像素P的局部复杂度。根据目标像素的不同位置划分为七种情况,具体计算过程如下所示:
Case1:计算目标像素在P1位置上的像素局部复杂度,公式如下:
Case2:计算目标像素在P2位置上的像素局部复杂度,公式如下:
Case3:计算目标像素在Q类的位置上的像素局部复杂度,公式如下:
Case4:计算目标像素在M类的位置上的像素局部复杂度,公式如下:
Case5:计算目标像素在R类的位置上的像素局部复杂度,公式如下:
Case6:计算目标像素在N类的位置上的像素局部复杂度,公式如下:
Case7:计算目标像素在A类的位置上的像素局部复杂度,公式如下:
公式(9)~(15)中,ver表示垂直方向上两两相邻的像素差的绝对值之和的平均值,hor表示水平方向上两两相邻像素差的绝对值之和的平均值,fP表示目标像素纹理度,ΩP表示像素局部复杂度,表示向下取整函数;a2为目标像素的右下角相邻像素,a4为目标像素的左下角相邻像素,a6为目标像素的左上角相邻像素,a8为目标像素的右上角相邻像素; 分别为a1,a2,a3,a4,a5,a6,a7,a8对应的像素纹理度。
进一步地,所述步骤S104还包括:
低嵌入需求时,优先选择距离零点最近的两个峰值点进行信息嵌入,建立位置索引序列L,大小为用于记录未嵌入秘密信息的中间峰值点的位置索引;高嵌入需求时,距离零点最近的两个峰值点用完后,调用位置索引序列L 继续选择中间峰值点进行信息嵌入。
进一步地,如图6所示,所述信息嵌入具体包括:
步骤S104.1:根据局部复杂度和预测误差的计算方法,将计算得到的Blue 子图像的所有像素的预测误差值和局部复杂度分别存储在两个m×n的矩阵中,然后以光栅扫描法扫描局部复杂度矩阵和预测误差值矩阵,生成局部复杂度序列 F和预测误差序列E,大小均为再用两个大小为的序列E_x和 E_y来存储预测误差的横、纵坐标;
步骤S104.2:将局部复杂度序列F按照升序排列得到F',然后按照F'的顺序对三个序列E,E_x和E_y进行排序,得到序列E',E_xx和E_yy,从而使得预测误差与其位置坐标一一对应;以Lena图像为例,图7给出了4×4子块的计算过程的示例;
步骤S104.3:将一半的秘密信息分配给Blue子图像,按照预测误差序列E'的顺序依次扫描并修改预测误差值,进行信息嵌入操作,具体嵌入过程如下: Case1:q≤(numA1+numA11)
Case2:q>(numA1+numA11)
相应的原始像素的值被修改为:
P′i=Pi+e′i (18)
公式(16)~(18)中,q是阈值,ω是秘密信息,ω∈{0,1},PK1A,PK2A,PK3A 分别为Blue子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2 是Blue子图像中距离峰值点最近的两个零点;ei是原始预测误差值,Pi是原始像素值,e′i是被标记的预测误差值,P′i表示被标记的像素值;numA1和numA11分别是Blue子图像中距离零点最近的两个峰值点的个数;
步骤S104.4:通过步骤S104.1至S104.3完成对原始图像中Blue子图像秘密信息的嵌入,得到中间载密图像Stego_I1;Blank子图像进行信息嵌入时,在 Stego_I1的基础上,对Blank子图像执行步骤S104.1至S104.3,完成另一半秘密信息的嵌入,最终完成对整个图像的嵌入,得到最终的载密图像Stego_I2。
值得注意的是,信息嵌入过程中,需要建立两种位置索引序列L、E_xx和 E_yy,长度均为L用于记录未被嵌入信息的中间峰值点的位置索引, E_xx和E_yy用于记录无效移位和被嵌入秘密信息的预测误差的横、纵坐标。在Case1情况下扫描预测误差序列E'用于信息嵌入时,用L记录扫描到的中间峰值点的位置索引,此时中间峰值点尚未被用来携带秘密信息;在Case2情况下再次扫描预测误差序列E'用于信息嵌入时,调用位置索引序列L,找到尚未嵌入信息的中间峰值点,进行第二次信息嵌入。
进一步地,如图8所示,所述步骤S105包括:
Blue子图像与Blank子图像的信息提取和图像恢复过程类似,接下来以 Blank子图像为例加以说明,具体过程如下所示:
步骤S105.1:首先提取载密图像Stego_I2中Blank子图像的秘密信息,调用信息嵌入过程中建立的位置索引序列E_xx和E_yy,按顺序扫描位置索引序列 E_xx和E_yy,在Stego_I2中找到与索引对<X,Y>相对应的像素位置,其中X、Y分别表示预测误差的横、纵坐标,即找到无效移位和被嵌入秘密信息的像素;提取秘密信息的方式如下所示:
Case1:q<(numB1+numB11)
Case2:q≥(numB1+numB11)
公式(19)~(22)中,q是阈值,ω是秘密信息,ω∈{0,1},ei是被恢复的预测误差值,e′i表示被标记的预测误差值,PK1B,PK2B,PK3B分别为Blank子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2是Blank子图像中距离峰值点最近的两个零点;numB1和numB11分别是Blank子图像中距离零点最近的两个峰值点的数量;
步骤S105.2:按照如下公式恢复原始像素,得到原始图像:
Pi=P′i+ei (23)
其中,P′i表示被标记的像素值,Pi表示被恢复的像素值;
步骤S105.3:载密图像Stego_I2中Blank子图像的秘密信息提取后,得到中间恢复图像Re_I1,用同样的方法在Re_I1基础上对Blue子图像进行信息提取和图像恢复,然后利用解压缩的位图,恢复被修改的像素,最终得到被恢复的原始图像Re_I2。
为了便于理解本发明方法,图9和图10给出了信息嵌入和提取过程中的预测误差直方图平移的示例图,其中PK2>PK1>PK3,Z2>Z1,PK1、PK2、PK3 分别为图像的三个峰值点,(a)为Case1信息嵌入过程示例,(b)为Case1信息嵌入完成示例,(c)为Case2信息嵌入过程示例,(d)为Case2信息嵌入完成示例。
为验证本发明效果,进行如下实验:
实验仿真平台:Intel(R)Core(TM)i5-7500H,3.40GHz;Memory:8GB;Operatingsystem:Windows10;Coding tool:Matlab2016a。测试图像如图11所示,大小均为 512×512,其中,(a)为Lena,(b)为Man,(c)为Baboon,(d)为Elaine,(e)为 Barbara,(f)为Boat,(g)为Airplane,(h)为Lake,(i)为Peppers。以Lena图像为例,图12是本发明的实验结果,其中,(a)为原始图像,(b)为载密图像,(c) 为恢复图像。
(1)无效平移像素的比较
为了评估本发明减少像素无效平移(invalid shifting of pixels,ISPs)的性能,将本发明与Yin等人的方案进行实验对比。图13给出当嵌入10000bits秘密信息时,在随机选取的六张测试图像上比较了本发明方法与Yin等人方案中的像素无效平移数量。可以很直观地看出,无论是纹理复杂的图像或者是平滑的图像,本发明方法的像素无效移位数量都要远远小于Yin等人的方法。
(2)嵌入容量的比较
图14给出了本发明方法与Yin等人的方案在随机选取的六张测试图像上嵌入容量的比较,从柱状图中可以直观看到,本发明方法的嵌入容量要远高于Yin 等人的方案。
(3)图像PSNR(Peak Signal to Noise Ratio,峰值信噪比)的比较
众所周知,基于空域的明文图像可逆信息隐藏都致力于嵌入能力和失真之间的良好平衡,但是嵌入的秘密信息越多,PSNR的值就越小,EC(Embedding Capacity,嵌入容量)与PSNR之间彼此是相互约束的。为了评价本发明方法在平衡图像PSNR与嵌入容量上的性能,通过随机选取的六张测试图像,将本发明方法与Yin等人的方案进行对比,如图15所示。从图15中可以非常直观地看出,本发明方法的性能远远优于Yin等人的方案。
通过上述技术方案,可以得出:
第一,本发明首先对像素位置准确划分为七种情况,确定每种情况下目标像素的邻接像素,再利用相邻像素的空间相关性计算单个像素的纹理度,然后使用单个像素的纹理度来计算目标像素的局部复杂度,这样不仅仅考虑到目标像素的邻接像素的空间相关性,还利用了邻接像素的邻接像素的空间相关性,即目标像素周围的两层像素均被利用,使得计算结果更加精确,从而准确找到平滑像素的位置,减少无效移位产生的失真;
第二,本发明在预测误差的计算过程中,首先精确划分七种目标像素的位置,确定目标像素的邻接像素,然后采用菱形预测器来计算目标像素的预测误差,充分利用了每一个像素,弥补了Yin等人算法中边缘像素未被利用的缺点,从而增加了图像嵌入容量;
第三,本发明提出了一种多峰嵌入的直方图修改映射策略。在信息嵌入过程中,采用多峰嵌入的方法,结合像素局部复杂度优先将秘密信息嵌入到距离两侧零点最近的两个峰值点中,当不满足嵌入需求时,再将秘密信息嵌入到中间峰值点,大大增加了嵌入容量;同时建立两种位置索引序列L、E_xx和E_yy,索引序列L是为了防止丢失可以携带秘密信息的中间峰值点,索引序列E_xx和E_yy是保证多峰嵌入方法可逆的关键因素;
第四,本发明利用信息嵌入过程中建立位置索引序列E_xx和E_yy,准确找到无效移位和被嵌入秘密信息的像素位置,然后采用预测误差直方图平移的逆过程来进行信息提取和图像恢复,这种方法不再完全依靠传统嵌入方法的逆过程来实现信息提取和图像恢复,降低了信息提取过程的计算复杂度;
综上所述,本发明实现了提高图像嵌入容量的同时,减少嵌入失真,以达到图像视觉质量和嵌入容量之间的良好平衡,更好地满足实际应用需求,使得数字通讯在互联网中更加安全可靠。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法,其特征在于,包括:
步骤1:对原始图像I进行上溢/下溢预处理;
步骤2:采用传统的棋盘法对上溢/下溢预处理后的图像I进行处理,图像被分为Blue和Blank两个子图像,每个子图像与原始图像大小相等;对Blue/Blank子图像的像素位置进行划分,然后使用菱形预测器计算目标像素的预测误差,得到预测误差矩阵,然后根据目标像素的预测误差矩阵生成预测误差直方图;
步骤3:计算Blue/Blank子图像的像素纹理度,得到目标像素的邻接像素的像素纹理度,然后利用邻接像素的像素纹理度计算目标像素的局部复杂度;
步骤4:根据每个子图像中的目标像素的预测误差直方图,分别选择三个峰值点,和两个分别距离最大峰值点和最小峰值点最近的零点,然后,根据秘密信息长度自适应选择峰值点,优先对每个子图像中局部复杂度低的像素进行信息嵌入;
步骤5:进行秘密信息提取和图像恢复;
所述步骤1包括:
按顺序遍历大小为m×n的原始图像I中的像素,将原始图像I中像素值为“0”和“255”的像素分别修改为“1”和“254”,并在位图中标记“1”;将由于嵌入或者平移操作而被修改为“0”和“255”的像素,在相同的位图上标记“0”,得到图像J,将图像J赋值给I;然后采用无损压缩的方法将位图进行压缩,并作为有效载荷的一部分嵌入图像中;
所述步骤2包括:
将Blue子图像的像素位置划分为七类:P1位置、P2位置、Q类位置、M类位置、R类位置、N类位置、A类位置,其中,P1位置为Blue子图像的左上角,P2位置为Blue子图像的右下角,Q类位置为除P1位置外、Blue子图像的上边界,M类位置为除P1位置外、Blue子图像的左边界,R类位置为除P1位置外、Blue子图像的下边界,N类位置为除P1位置外、Blue子图像的右边界,A类位置为除P1位置外、P2位置、Q类位置、M类位置、R类位置、N类位置外、Blue子图像的像素位置;
Case1:计算目标像素在P1位置上的预测像素值:
Case2:计算目标像素在P2位置上的预测像素值:
Case3:计算目标像素在Q类的位置上的预测像素值:
Case4:计算目标像素在M类的位置上的预测像素值:
Case5:计算目标像素在R类的位置上的预测像素值:
Case6:计算目标像素在N类的位置上的预测像素值:
Case7:计算目标像素在A类的位置上的预测像素值:
根据七种位置上的预测像素值,按照公式(8)计算预测误差e:
所述步骤3包括:
Case1:计算目标像素在P1位置上的像素局部复杂度,公式如下:
Case2:计算目标像素在P2位置上的像素局部复杂度,公式如下:
Case3:计算目标像素在Q类的位置上的像素局部复杂度,公式如下:
Case4:计算目标像素在M类的位置上的像素局部复杂度,公式如下:
Case5:计算目标像素在R类的位置上的像素局部复杂度,公式如下:
Case6:计算目标像素在N类的位置上的像素局部复杂度,公式如下:
Case7:计算目标像素在A类的位置上的像素局部复杂度,公式如下:
公式(9)~(15)中,ver表示垂直方向上两两相邻的像素差的绝对值之和的平均值,hor表示水平方向上两两相邻像素差的绝对值之和的平均值,fP表示目标像素纹理度,ΩP表示像素局部复杂度,表示向下取整函数;a2为目标像素的右下角相邻像素,a4为目标像素的左下角相邻像素,a6为目标像素的左上角相邻像素,a8为目标像素的右上角相邻像素; 分别为a1,a2,a3,a4,a5,a6,a7,a8对应的像素纹理度;
所述步骤4还包括:
低嵌入需求时,优先选择距离零点最近的两个峰值点进行信息嵌入,建立位置索引序列L,大小为用于记录未嵌入秘密信息的中间峰值点的位置索引;高嵌入需求时,距离零点最近的两个峰值点用完后,调用位置索引序列L继续选择中间峰值点进行信息嵌入;
所述信息嵌入具体包括:
步骤4.1:根据局部复杂度和预测误差的计算方法,将计算得到的Blue子图像的所有像素的预测误差值和局部复杂度分别存储在两个m×n的矩阵中,然后以光栅扫描法扫描局部复杂度矩阵和预测误差值矩阵,生成局部复杂度序列F和预测误差序列E,大小均为再用两个大小为的序列E_x和E_y来存储预测误差的横、纵坐标;
步骤4.2:将局部复杂度序列F按照升序排列得到F',然后按照F'的顺序对三个序列E,E_x和E_y进行排序,得到序列E',E_xx和E_yy,从而使得预测误差与其位置坐标一一对应;
步骤4.3:将一半的秘密信息分配给Blue子图像,按照预测误差序列E'的顺序依次扫描并修改预测误差值,进行信息嵌入操作,具体嵌入过程如下:
Case1:q≤(numA1+numA11)
Case2:q>(numA1+numA11)
相应的原始像素的值被修改为:
Pi′=Pi+e′i (18)
公式(16)~(18)中,q是阈值,ω是秘密信息,ω∈{0,1},PK1A,PK2A,PK3A分别为Blue子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2是Blue子图像中距离峰值点最近的两个零点;ei是原始预测误差值,Pi是原始像素值,e′i是被标记的预测误差值,Pi′表示被标记的像素值;numA1和numA11分别是Blue子图像中距离零点最近的两个峰值点的个数;
步骤4.4:通过步骤4.1至4.3完成对原始图像中Blue子图像秘密信息的嵌入,得到中间载密图像Stego_I1;Blank子图像进行信息嵌入时,在Stego_I1的基础上,对Blank子图像执行步骤4.1至4.3,完成另一半秘密信息的嵌入,最终完成对整个图像的嵌入,得到最终的载密图像Stego_I2;
所述步骤5包括:
步骤5.1:首先提取载密图像Stego_I2中Blank子图像的秘密信息,调用信息嵌入过程中建立的位置索引序列E_xx和E_yy,按顺序扫描位置索引序列E_xx和E_yy,在Stego_I2中找到与索引对<X,Y>相对应的像素位置,其中X、Y分别表示预测误差的横、纵坐标,即找到无效移位和被嵌入秘密信息的像素;提取秘密信息的方式如下所示:
Case1:q<(numB1+numB11)
Case2:q≥(numB1+numB11)
公式(19)~(22)中,q是阈值,ω是秘密信息,ω∈{0,1},ei是被恢复的预测误差值,e′i表示被标记的预测误差值,PK1B,PK2B,PK3B分别为Blank子图像的三个峰值点,MD表示三个峰值点的中间峰值点;Z1,Z2是Blank子图像中距离峰值点最近的两个零点;numB1和numB11分别是Blank子图像中距离零点最近的两个峰值点的数量;
步骤5.2:按照如下公式恢复原始像素,得到原始图像:
Pi=Pi′+ei (23)
其中,Pi′表示被标记的像素值,Pi表示被恢复的像素值;
步骤5.3:载密图像Stego_I2中Blank子图像的秘密信息提取后,得到中间恢复图像Re_I1,用同样的方法在Re_I1基础上对Blue子图像进行信息提取和图像恢复,然后利用解压缩的位图,恢复被修改的像素,最终得到被恢复的原始图像Re_I2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458883.0A CN113032813B (zh) | 2021-04-27 | 2021-04-27 | 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458883.0A CN113032813B (zh) | 2021-04-27 | 2021-04-27 | 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032813A CN113032813A (zh) | 2021-06-25 |
CN113032813B true CN113032813B (zh) | 2022-09-30 |
Family
ID=76454712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110458883.0A Active CN113032813B (zh) | 2021-04-27 | 2021-04-27 | 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032813B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114630006B (zh) * | 2022-01-18 | 2023-05-26 | 中国人民解放军战略支援部队信息工程大学 | 基于一致最优势检验的隐秘信息提取方法 |
CN114827380B (zh) * | 2022-06-30 | 2022-09-02 | 智联信通科技股份有限公司 | 一种基于人工智能的网络安全检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489152A (zh) * | 2013-10-10 | 2014-01-01 | 宁波大学 | 一种可逆秘密信息隐藏及提取方法 |
CN107944282A (zh) * | 2017-11-08 | 2018-04-20 | 安徽大学 | 一种基于非对称预测误差直方图修改的可逆信息隐藏方法 |
CN109523453A (zh) * | 2018-11-02 | 2019-03-26 | 中山大学 | 基于菱形预测与图像像素排序的可逆信息隐藏及提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074495B2 (en) * | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
-
2021
- 2021-04-27 CN CN202110458883.0A patent/CN113032813B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489152A (zh) * | 2013-10-10 | 2014-01-01 | 宁波大学 | 一种可逆秘密信息隐藏及提取方法 |
CN107944282A (zh) * | 2017-11-08 | 2018-04-20 | 安徽大学 | 一种基于非对称预测误差直方图修改的可逆信息隐藏方法 |
CN109523453A (zh) * | 2018-11-02 | 2019-03-26 | 中山大学 | 基于菱形预测与图像像素排序的可逆信息隐藏及提取方法 |
Non-Patent Citations (3)
Title |
---|
Reversible data hiding using increased peak histogram;Thanuja,T,C etc.;《2008 11th International Conference on Computer and Information Technology》;20081227;全文 * |
基于像素值排序的可逆信息隐藏算法;李天雪等;《计算机应用》;20180411(第08期);全文 * |
基于直方图修改的可逆数据隐藏算法研究;杨玉琴;《硕士电子期刊》;20140515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113032813A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Reversible image watermarking on prediction errors by efficient histogram modification | |
Zhao et al. | Reversible data hiding based on multilevel histogram modification and sequential recovery | |
Zeng et al. | A lossless robust data hiding scheme | |
CN111898136A (zh) | 一种基于预测误差值排序的高保真可逆信息隐藏方法和装置 | |
Yao et al. | High-fidelity dual-image reversible data hiding via prediction-error shift | |
Mandal et al. | High capacity reversible and secured data hiding in images using interpolation and difference expansion technique | |
CN113032813B (zh) | 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 | |
Peng et al. | Reversible data hiding based on RSBEMD coding and adaptive multi-segment left and right histogram shifting | |
Lu et al. | Reversible data hiding using local edge sensing prediction methods and adaptive thresholds | |
Naskar et al. | Reversible watermarking utilising weighted median-based prediction | |
Pakdaman et al. | A prediction based reversible image watermarking in Hadamard domain | |
CN114399419B (zh) | 基于预测误差扩展的可逆图像水印算法 | |
Sahu et al. | Multi-directional PVD steganography avoiding PDH and boundary issue | |
CN117150456B (zh) | 矢量地理数据交换密码水印方法、装置及介质 | |
Su et al. | Reversible data hiding using the dynamic block-partition strategy and pixel-value-ordering | |
CN110533569B (zh) | 基于二次差值扩展的水印处理方法 | |
Bhardwaj et al. | An enhanced reversible data hiding algorithm using deep neural network for e-healthcare | |
CN107292803B (zh) | 一种符合人眼观察规律的可逆鲁棒数字图像水印方法 | |
CN108510425B (zh) | 基于ippvo和优化mhm的可逆水印方法 | |
CN108230226B (zh) | 自适应分块像素值排序数字可逆水印方法、医学图像系统 | |
CN115690014A (zh) | 一种基于纹理度交叉嵌入的医学图像篡改检测及自恢复方法 | |
Naskar et al. | Reversible image watermarking through coordinate logic operation based prediction | |
Ren et al. | Reversible Data Hiding in Encrypted Images Based on Adaptive Predictionerror Label Map. | |
Gao et al. | Reversible image authentication based on combination of reversible and LSB algorithm | |
CN111816195A (zh) | 一种音频可逆隐写方法、秘密信息提取及载体音频恢复方法 |
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 |