CN115297218B - 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法 - Google Patents

基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法 Download PDF

Info

Publication number
CN115297218B
CN115297218B CN202210934144.9A CN202210934144A CN115297218B CN 115297218 B CN115297218 B CN 115297218B CN 202210934144 A CN202210934144 A CN 202210934144A CN 115297218 B CN115297218 B CN 115297218B
Authority
CN
China
Prior art keywords
label
pixel
value
pixels
map
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
CN202210934144.9A
Other languages
English (en)
Other versions
CN115297218A (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.)
Xian University of Technology
Original Assignee
Xian University of Technology
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 Xian University of Technology filed Critical Xian University of Technology
Priority to CN202210934144.9A priority Critical patent/CN115297218B/zh
Publication of CN115297218A publication Critical patent/CN115297218A/zh
Application granted granted Critical
Publication of CN115297218B publication Critical patent/CN115297218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • 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
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32347Reversible embedding, i.e. lossless, invertible, erasable, removable or distorsion-free embedding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,具体为:对原始图像第一行第一列像素预测做特殊处理,使用MED预测器计算原始图像中除第一行第一列像素外的每个像素的预测值;将每个像素和每个像素的预测值均转换成8位二进制序列,得到每个像素的标签值及可嵌入信息的长度,得到原始图像的标签图;创建位置图标记标签值为0的位置,压缩位置图;进行哈夫曼编码,得到新的标签图;对于标签值0和1的像素进行二次处理,生成标签图;根据生成的标签图,定义哈夫曼码对标签图中的标签进行表示;对原始图像进行加密;将新的标签图、标签图嵌入加密图像中;对秘密数据的隐藏、提取、图像恢复。

Description

基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法
技术领域
本发明属于数字图像加密技术领域,涉及基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法。
背景技术
随着云存储和隐私保护的发展,加密图像中的可逆数据隐藏(RDHEI)作为一种能够在图像加密域中嵌入额外数据、确保嵌入数据可以无错误提取、原始图像可以无损恢复的技术,受到了越来越多的关注。因此,许多研究人员致力于开发加密图像中的可逆数据隐藏(RDHEI),它可以同时实现可逆数据隐藏和图像内容保护。RDHEI方法首先使用图像加密算法对原始图像进行加密,然后在图像加密域中嵌入额外数据,同时确保嵌入的数据可以无误提取,原始图像可以无损恢复。而目前现有的可逆数据隐藏图像加密方案,存在着诸如:算法随机特性不够好、加密系统密钥空间不够大以及原始载体无法完全无损复原等弱点。故此,综合改进并有所创新的提出一套更为完善且安全性更强的可逆数据隐藏图像加密方法,是非常迫切与必要的。
发明内容
本发明的目的是提供基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,解决了现有方法中加密系统密钥空间不够大、原始载体无法完全无损复原以及隐秘信息无法完整提取的问题。
本发明所采用的技术方案是,基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,具体按照以下步骤实施:
步骤1,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,计算原始图像中第一行像素、第一列像素及非第一行与第一列像素的每个像素的预测值;
步骤2,将步骤1中原始图像中的每个像素和每个像素的预测值px(i,j)均转换成8位二进制序列,并进行比较,得到每个像素的标签值t及每个像素可嵌入信息的长度,从而得到原始图像的标签图;
步骤3,创建位置图M标记标签值t=0的位置,重排列和压缩位置图M;
步骤4,将步骤2得到的原始图像的标签图中的标签值t=0位置用步骤3重排和压缩后的位置图进行表示,剩余标签值保持不变,得到新的标签图Label1,并将新的标签图Label1中的标签值t用哈夫曼码表示;
步骤5,对于标签值t=0、t=1的像素进行二次处理,生成标签图Label2;
步骤6,根据步骤5生成的标签图Label2,定义8种哈夫曼码对标签图Label2中的标签进行表示,并计算标签图Label2的长度;
步骤7,对原始图像进行加密,得到加密图像Ie
步骤8,将新的标签图Label1、标签图Label2嵌入步骤8得到的加密图像Ie中,得到包含标签映射的加密图像Ie’;
步骤9,秘密数据的隐藏;
步骤10,秘密数据的提取、图像恢复。
本发明的特征还在于,
步骤1的具体过程为:
步骤1.1,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,将第一行像素的左侧像素的像素值作为第一行像素的预测值,将第一列像素的上方像素的像素值作为第一列像素的预测值;
第一行像素、第一列像素的预测值px(i,j)的表达式为:
步骤1.2,对于非第一行与第一列像素,基于原始图像中当前像素x(i,j)周围的三个像素,使用中值边缘检测器(MED)计算当前像素的预测值px(i,j),其中1<i≤m、1<j≤n,公式如下:
式(2)中,x1表示当前像素x(i,j)的左上方像素;x2表示当前像素x(i,j)的上方像素;x3表示当前像素x(i,j)的左侧像素;
步骤2的具体过程为:
步骤2.1,将当前像素x(i,j)和当前像素的预测值px(i,j)均转换成8位二进制序列,分别表示为xk(i,j)和pxk(i,j),表达式如下:
步骤2.2,从最高有效位到最低有效位依次比较二进制序列xk(i,j)和pxk(i,j)的每个位,直到某个位不同,则停止比较,则当前像素的标签等于二进制序列xk(i,j)和pxk(i,j)相同位的长度;
由于二进制序列xk(i,j)和pxk(i,j)均具有8位,因此像素的标签具有9种情况,即从0到8,假设标签值用t表示,即t=0,1,2,...,8并且根据公式(5)获得的最大值是当前像素x(i,j)的标签,则当前像素可嵌入信息的长度(t+1):
arg max t
式(5)中,x(i,j)tMSB表示当前像素x(i,j)的t-MSB值;px(i,j)tMSB表示当前像素的预测值px(i,j)的t-MSB值;
步骤2.3,通过对当前像素的预测值px(i,j)的相应位置的值求反,得到当前像素x(i,j)的第(t+1)个MSB值,具体表达式为:
式(6)中,pxt+1(i,j)表示当前像素预测值px(i,j)的第(t+1)个MSB值;
步骤2.4,重复步骤2.1-2.3,得到原始图像中除参考像素以外的所有像素的标签值t及对应的可嵌入信息的长度(t+1),即得到原始图像的标签图。
步骤3的具体过程为:
步骤3.1,创建位置图
根据当前像素的预测值px(i,j)的标签值t,若原始图像中当前像素的预测值px(i,j)的标签值t=0,则标记为1,若标签值t≠0,则标记为0,得到位置图M,表达式为:
式(7)中,m(i,j)表示位置图M中元素;
步骤3.2,对步骤3.1得到的位置图M进行重排列,得到重新排列的比特流;
将位置图M划分为相同大小为2×2的块,使用四种类型重新排列位置图M,得到四个重新排列的比特流;
四种类型包括:块内先行后列、块间先行后列进行扫描;块内先行后列、块间先列后行进行扫描;块内先列后行、块间先行后列进行扫描;块内先列后行、块间先列后行进行扫描;
步骤3.3,对步骤3.2得到的四种重新排列的比特流进行压缩;
步骤3.3.1,在步骤3.2得到的任意一个重新排列的比特流中提取相邻且重复的比特,若遇到相邻且不重复的比特则停止提取,再从该相邻且不重复的比特为起点继续提取与其相邻且重复的比特,记相邻且重复的比特的长度为L;
步骤3.3.2,将步骤3.3.1得到的长度L编码为码字;
(1)若L<4,对于连续相同序列长度L<4的序列C1由两部分组成,Lpre=0,Lmid的值是从当前位向后截取的长度Lfix的重新排列的位流;
(2)若L≥4,对于连续相同序列长度L≥4的序列C1由三部分组成,Lpre由l-1个1组成以0结尾,Ltail是0或者1,代表该段相同序列的重复值;
Lmid=(L-2l)2 (9)
式(9)中,Lpre、Lmid、Ltail表示序列C1的前缀、中间和尾部;Lfix表示一个参数;
步骤3.3.3,对剩余的三个重新排列的比特流重复步骤3.3.1-3.3.2,得到四种压缩比特流;
步骤3.3.4,将步骤3.3.3得到的四种压缩比特流进行对比,记录最短压缩比特流所对应的重新排列所采用的类型,用以标记t=0的位置。
步骤4中,哈夫曼码表示具体过程为:
预定义8种哈夫曼编码来表示标签值t,t=1,2,...8,则哈夫曼码具体为00,01,100,101,1100,1101,1110,1111,根据新的标签图Label1得到每个标签值t所对应的像素数,按像素数对标签值t进行排序,使用较短的哈夫曼码表示像素数较大的标签值t,即8个哈夫曼码,“00”表示像素数最大的标签,“1111”表示像素数最小的标签。
步骤5的具体过程为:
二进制序列xk(i,j)和pxk(i,j)不一致位的下一位t+2位至第8位做取反操作,得到二进制序列再依次比较二进制序列xk(i,j)和/>的t+2~8位,直到某个位不同,则当前像素的标签值tr等于二进制序列xk(i,j)和/>相同位的长度Lr,根据当前像素的标签值tr生成标签图Label2,
当前像素的标签值tr的表达式为:
arg max tr
式(11)中,表示预测值作如上所述反转操作后的trMSB的值,其中下标r代表取反操作。
步骤6的具体过程为:
根据步骤5生成的标签图Label2,预定义8种哈夫曼码来表示这8种标签,即00,01,100,101,1100,1101,1110,1111,按像素数对8种标签进行排序,使用较短的代码表示像素数较大的标签值。
步骤7的具体过程为:
通过密钥Ke生成一个大小为m×n的伪随机矩阵r(i,j),根据公式(3),将当前像素x(i,j)转换为8位二进制序列xk(i,j),将随机矩阵r(i,j)转换为8位二进制序列rk(i,j),将二进制序列xk(i,j)与对应的二进制序列rk(i,j)进行异或操作,表达式为:
式(15)中,表示加密的8位二进制序列,/>表示异或(XOR)操作;
计算加密像素xe(i,j),得到加密图像Ie
加密像素xe(i,j)表达式为:
步骤8的具体过程为:
步骤8.1,通过哈夫曼编码将新的标签图Label1、标签图Label2转换为二进制序列,并将哈夫曼码按照他们所代表的标签值以0到8的顺序排列,再将哈夫曼编码规则、二进制序列及二进制序列的长度作为辅助信息;
步骤8.2,将部分辅助信息存储在参考像素中,因为我们在提取辅助信息时需要提前知道当前像素的标签,而当前像素的标签只能从前一个像素提取的辅助信息中获得,也就是说,我们不能直接从当前像素中获得其标签值;
步骤8.3,将剩余的辅助信息和存储辅助信息后的参考像素嵌入到加密图像Ie中,得到包含标签映射的加密图像Ie';
嵌入公式如下:
式(17)中,te是指加密图像Ie中当前像素xe(i,j)的标记值,bs是要嵌入的辅助信息。
步骤9的具体过程为:
步骤9.1,提取第一行第一列参考像素中的部分辅助信息,得到哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取t+1位辅助信息,在获得所有辅助信息后,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤9.2,根据公式(17)将秘密数据嵌入至包含标签映射的加密图像Ie’中除参考像素外的其他像素中,得到标记的加密图像Iew
步骤10的具体过程为:
步骤10.1,合法接收者从标记的加密图像Iew中提取哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取t+1位辅助信息,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤10.2,根据步骤10.1恢复的新的标签图Label1、标签图Label2,Label1中t=-1即为参考像素,从而提取参考像素,将参考像素放回第一行第一列,再除去根据Label1、Label2中可以得到像素,即得到嵌入的额外数据;
步骤10.3,采用公式(15)根据密钥Ke生成伪随机矩阵r(i,j)对图像进行解密,并按照公式(18)进行处理,得到解密后的图像Iew';
步骤10.4,从上到下和从左到右扫描除参考像素外的解密后的图像Iew'中的像素xew',通过MED预测器计算当前像素xew'的预测值pxew(i,j),根据标签值t和预测值pxew(i,j)恢复原始像素x(i,j),得到原始图像,
恢复原始像素x(i,j)的表达式为;
式(18)中,pxew(i,j)tMSB是预测值pxew(i,j)的t-MSB的值由公式(4)得到;bt+1是原始像素的第t+1位二进制;
式(19)中,pxt+1(i,j)是由公式(5)获得的px(i,j)的第(t+1)个二进制位。
本发明的有益效果是
(1)本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,具有更高的嵌入容量,因为哈夫曼编码的可压缩性,根据标签映射可计算出可嵌入空间,通过进一步挖掘对应标签值像素的可嵌入空间,减小了空间冗余,可嵌入更多秘密信息;
(2)本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,通过多MSB预测可以做到无损恢复,嵌入信息的像素位通过参考像素就可以还原出原来的信息,因此能够完整恢复出原始图像。
附图说明
图1是本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法的流程图;
图2是本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法中灰度图像“Lena”图原始图像;
图3是本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法中像素预测值计算的相邻像素图;
图4是本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法中像素预测值与原始值八位二进制对比图;
图5是本发明基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法中位置图重排列方法图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明提供一种基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,如图1所示,具体按照以下步骤实施:
步骤1,如图2所示,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,计算原始图像中第一行像素、第一列像素及非第一行与第一列像素的每个像素的预测值px(i,j);
步骤1.1,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,将第一行像素的左侧像素的像素值作为第一行像素的预测值,将第一列像素的上方像素的像素值作为第一列像素的预测值;
第一行像素、第一列像素的预测值的表达式为:
步骤1.2,对于非第一行与第一列像素,如图3所示,基于原始图像中当前像素x(i,j)周围的三个像素,使用中值边缘检测器(MED)计算当前像素的预测值px(i,j),其中1<i≤m、1<j≤n,公式如下:
式(2)中,x1表示当前像素x(i,j)的左上方像素;x2表示当前像素x(i,j)的上方像素;x3表示当前像素x(i,j)的左侧像素;
步骤2,将当前像素x(i,j)和当前像素的预测值px(i,j)均转换成8位二进制序列,并进行比较,得到当前像素的标签值及当前像素可嵌入信息的长度,从而得到原始图像的标签图;
步骤2.1,将当前像素x(i,j)和当前像素的预测值px(i,j)均转换成8位二进制序列,分别表示为xk(i,j)和pxk(i,j),表达式如下:
步骤2.2,从最高有效位(MSB)到最低有效位(LSB)依次比较二进制序列xk(i,j)和pxk(i,j)的每个位,直到某个位不同,则停止比较,则当前像素的标签等于二进制序列xk(i,j)和pxk(i,j)相同位的长度;
由于二进制序列xk(i,j)和pxk(i,j)均具有8位,因此像素的标签具有9种情况,即从0到8,假设标签值用t表示,即t=0,1,2,...,8并且根据公式(5)获得的最大值是当前像素x(i,j)的标签,则当前像素可嵌入信息的长度(t+1):
arg max t
式(5)中,x(i,j)tMSB表示当前像素x(i,j)的t-MSB(当前像素的前t MSB)值;px(i,j)tMSB表示当前像素的预测值px(i,j)的t-MSB(当前像素的前t MSB)值;
如表1所示,label表示标签值t,Distribution表示不同标签值t对应的像素数量,其中标签值t=-1的像素为参考像素,即第一行第一列的唯一像素x(1,1)。
Label Distribution
-1 1
0 9867
1 9751
2 15328
3 33303
4 44679
5 53612
6 41944
7 24453
8 29206
步骤2.3,通过对当前像素的预测值px(i,j)的相应位置的值求反,得到当前像素x(i,j)的第(t+1)个MSB值,具体表达式为:
式(6)中,pxt+1(i,j)表示当前像素预测值px(i,j)的第(t+1)个MSB值;
步骤2.4,重复步骤2.1-2.3,得到原始图像中除参考像素以外的所有像素的标签值t及对应的可嵌入信息的长度(t+1),即得到原始图像的标签图;
如图4所示,假设当前像素值x等于156,其预测值px等于150。然后将x和px转换为8位二进制序列,分别表示xk和pxk(k=1,2,…,8),即xk='10011100',pxk='10010110',通过比较,则xk(i,j)和pxk(i,j)的第五个二进制位不同,即前四位相同,则标签label值为t=4,该像素可嵌入信息的长度为5bit,最后,通过上述方法扫描原始图像中的所有像素,得到原始图像的标签图;
步骤3,创建位置图标记标签值t=0的位置,重排列和压缩位置图;
由于在标签值t=0的时候,其嵌入容量为1bit,而哈夫曼编码的最短长度为2bit,故其有效载荷最大为-1bit。为了提高标签值t=0的嵌入容量,更好的压缩数据,我们创建一个位置图M标记标签值t=0的位置,再对该位置图进行重排列和压缩;
步骤3.1,创建位置图
根据当前像素的预测值px(i,j)的标签值t,若原始图像中当前像素的预测值px(i,j)的标签值t=0,则标记为1,若标签值t≠0,则标记为0,得到位置图M,表达式为:
式(7)中,m(i,j)表示位置图M中元素;
步骤3.2,对步骤3.1得到的位置图M进行重排列,得到重新排列的比特流;
如图5所示,将位置图M划分为相同大小为2×2的块,使用四种类型重新排列位置图M,得到四个重新排列的比特流;
四种类型包括:块内先行后列、块间先行后列进行扫描;块内先行后列、块间先列后行进行扫描;块内先列后行、块间先行后列进行扫描;块内先列后行、块间先列后行进行扫描;
使用位置图重排列后,重新排列的比特流将具有大量相邻的“0”或“1”;
步骤3.3,对步骤3.2得到的四种重新排列的比特流进行压缩;
步骤3.3.1,在步骤3.2得到的任意一个重新排列的比特流中提取相邻且重复的比特,若遇到相邻且不重复的比特则停止提取,再从该相邻且不重复的比特为起点继续提取与其相邻且重复的比特,记相邻且重复的比特的长度为L;
步骤3.3.2,将步骤3.3.1得到的长度L编码为码字;
(1)若L<4,对于连续相同序列长度L<4的序列C1由两部分组成,Lpre=0,Lmid的值是从当前位向后截取的长度Lfix的重新排列的位流;
(2)若L≥4,对于连续相同序列长度L≥4的序列C1由三部分组成,Lpre由l-1个1组成以0结尾,Ltail是0或者1,代表该段相同序列的重复值;
Lmid=(L-2l)2 (9)
式(9)中,Lpre、Lmid、Ltail表示序列C1的前缀、中间和尾部;Lfix表示一个参数;
步骤3.3.3,对剩余的三个重新排列的比特流重复步骤3.3.1-3.3.2,得到四种压缩比特流;
步骤3.3.4,将步骤3.3.3得到的四种压缩比特流进行对比,记录最短压缩比特流所对应的重新排列所采用的类型,用以标记t=0的位置;
步骤4,将步骤2得到的原始图像的标签图中的标签值t=0位置用步骤3重排和压缩后的位置图进行表示,剩余标签值保持不变,得到新的标签图Label1,并将新的标签图Label1中的标签值t用哈夫曼码表示;
由于步骤3中位置图M记录了t=0的位置信息,故t=0的像素不需要哈夫曼编码来记录,只需要考虑t=1,2,...8,预定义8种哈夫曼编码来表示8种标签值t,具体为00,01,100,101,1100,1101,1110,1111,根据新的标签图Label1,能够计算可以嵌入到图像中的数据总量,能够得到标签值t所对应的像素数,由于标签值t的像素数不同(即相同标签值t的像素数),按像素数对8种标签进行排序,使用较短的代码表示像素数较大的标签值,即对于8个哈夫曼码,“00”表示像素数最大的标签,“1111”表示像素数最小的标签,哈夫曼编码与标签值t一一对应,共有8种情况,通过哈夫曼编码记录标签图,可以有效压缩辅助信息量,从而增加图像的有效载荷;
如表2所示,新的标签图Label1,对应标签值t净有效载荷;
表2
label表示标签值t,Distribution表示不同标签值t像素的数量,Code表示对应哈夫曼编码,Code length表示哈夫曼编码长度,即表示对应标签值t的像素所需要的空间,Capacity表示载荷容量,值为t+1,Payload表示净有效载荷,Payload=Capacity-Codelength;
哈夫曼编码的过程如下:
一开始所有节点都是叶子节点,包含一个标签值和对应的权重,权重代表该标签值的像素数在整个图像中出现的频率,出现频率最高的标签值,距离树的根节点最近。两个最小权重的节点创建一个新节点,新节点的权重为其子节点的权重之和,然后再在这个新节点和剩余节点上应用此过程,直到剩下最后一个节点,而这就是哈夫曼树的根节点;
从根节点开始,然后沿着哈夫曼树像要编码的字符前进,如果走了左侧路径,则标记为0,走了右侧路径,则标记为1,这样就完成了整个哈夫曼树的构建;
根据哈夫曼编码规则,生成的哈夫曼树,左侧为0,右侧为1,从根节点自上而下寻找任一节点所遍历的节点,即为该节点的哈夫曼编码。
根据哈夫曼编码计算新的标签图Label1的长度,表达式为:
式(10)中,LM1表示新的标签图Label1的长度,nt表示原始图像的标签图中标签值为t的数量,ct表示原始图像的标签图中标签值为t的哈夫曼编码的长度;
哈夫曼编码总长约小,越能压缩空间;
步骤5,对于标签值t=0、t=1的像素进行二次处理,生成标签图Label2;
由于标签值t=0、t=1的可嵌入位分别为1bit、2bit,较八位二进制表示较少,考虑到其后序序列可能产生更多的嵌入位,我们将标签值t=0、t=1的预测值做二次处理,具体为:
二进制序列xk(i,j)和pxk(i,j)不一致位的下一位(t+2位)至第8位做取反操作,得到二进制序列再依次比较二进制序列xk(i,j)和/>的t+2~8位,直到某个位不同,则当前像素的标签值tr等于二进制序列xk(i,j)和/>相同位的长度Lr,根据当前像素的标签值tr生成标签图Label2;/>
当前像素的标签值tr的表达式为:
arg max tr
式(11)中,表示预测值作如上所述反转操作后的trMSB的值,其中下标r代表取反操作;
由于比较的二进制序列xk(i,j)和具有(8-(t+1))位,即(7-t)位,因此像素的标签具有8种情况,即从0到7,有8种标签;
步骤6,根据步骤6生成的标签图Label2,预定义8种哈夫曼码来表示这8种标签,即00,01,100,101,1100,1101,1110,1111,按像素数对8种标签进行排序,使用较短的代码表示像素数较大的标签值,即对于8个哈夫曼码,“00”表示像素数最大的标签,“1111”表示像素数最小的标签;
根据哈夫曼编码计算标签图Label2的长度,表达式为:
式(12)中,LM2表示标签图Label2的长度,表示标签图Label2中标签值为tr的数量,/>表示标签图Label2中标签值为tr的哈夫曼编码的长度;
且有
即Label2是Label1中t=0和t=1的部分二次处理的结果;
哈夫曼编码总长约小,越能压缩空间;
如表3所示,标签值t=0、t=1的像素进行二次处理,生成标签图Label2;
表3标签图Label2
/>
步骤7,对原始图像进行加密,得到加密图像Ie
通过密钥Ke生成一个大小为m×n的伪随机矩阵r(i,j),根据公式(3),将当前像素x(i,j)转换为8位二进制序列xk(i,j),将随机矩阵r(i,j)转换为8位二进制序列rk(i,j),将二进制序列xk(i,j)与对应的二进制序列rk(i,j)进行异或操作,表达式为:
式(15)中,表示加密的8位二进制序列,/>表示异或(XOR)操作;
计算加密像素xe(i,j),得到加密图像Ie
加密像素xe(i,j)表达式为:
步骤8,将新的标签图Label1、标签图Label2嵌入步骤8得到的加密图像Ie中,得到包含标签映射的加密图像Ie’;
步骤8.1,通过哈夫曼编码将新的标签图Label1、标签图Label2转换为二进制序列,并将哈夫曼码按照他们所代表的标签值以0到8的顺序排列,再将哈夫曼编码规则、二进制序列及二进制序列的长度作为辅助信息;
步骤8.2,将部分辅助信息存储在参考像素中,因为我们在提取辅助信息时需要提前知道当前像素的标签,而当前像素的标签只能从前一个像素提取的辅助信息中获得,也就是说,我们不能直接从当前像素中获得其标签值;
步骤8.3,将剩余的辅助信息和存储辅助信息后的参考像素嵌入到加密图像Ie中,得到包含标签映射的加密图像Ie';
嵌入公式如下:
式(17)中,te是指加密图像Ie中当前像素xe(i,j)的标记值,bs是要嵌入的辅助信息;
步骤9,秘密数据的隐藏
步骤9.1,提取第一行第一列参考像素中的部分辅助信息,得到哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取(t+1)位辅助信息,在获得所有辅助信息后,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤9.2,根据公式(17)将额外秘密数据嵌入至包含标签映射的加密图像Ie’中除参考像素外的其他像素中,得到标记的加密图像Iew,剩余像素是用于将数据嵌入包含标签映射的加密图像Ie’中的保留空间;
步骤10,嵌入数据的提取、图像恢复
步骤10.1,合法接收者从标记的加密图像Iew中提取哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取(t+1)位辅助信息,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤10.2,根据步骤10.1恢复的新的标签图Label1、标签图Label2,新的标签Label1中t=-1即为参考像素,从而可以提取参考像素,将参考像素放回第一行第一列,再除去根据Label1、Label2中可以得到像素,即得到嵌入的额外秘密数据;
步骤10.3,采用公式(15)根据密钥Ke生成伪随机矩阵r(i,j)对图像进行解密,并按照公式(18)进行处理,得到解密后的图像Iew',除参考像素外,每个像素中的前(t+1)位与原始像素不同,因为这些像素根据其标记值嵌入了(t+1)位的秘密数据;
步骤10.4,从上到下和从左到右扫描除参考像素外的解密后的图像Iew'中的像素xew',通过MED预测器计算当前像素xew'的预测值pxew(i,j),根据标签值t和预测值pxew(i,j)恢复原始像素x(i,j),得到原始图像,
恢复原始像素x(i,j)的表达式为;
式(18)中,pxew(i,j)tMSB是预测值pxew(i,j)的t-MSB的值由公式(5)得到;bt+1是原始像素的第t+1位二进制;
式(19)中,pxt+1(i,j)是由公式(4)获得的px(i,j)的第(t+1)个二进制位;
因为x(i,j)的t-MSB与对应的px(i,j)相同,并且x(i,j)的第(t+1)MSB可以通过对x(i,j)的第(t+1)MSB求反得到,如果标记值等于8,则原始像素等于其预测值。

Claims (5)

1.基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,其特征在于,具体按照以下步骤实施:
步骤1,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,计算原始图像中第一行像素、第一列像素及非第一行与第一列像素的每个像素的预测值;
步骤1的具体过程为:
步骤1.1,对于大小为m×n的原始图像,取第一行第一列的像素做参考像素,将第一行像素的左侧像素的像素值作为第一行像素的预测值,将第一列像素的上方像素的像素值作为第一列像素的预测值;
第一行像素、第一列像素的预测值的表达式为:
步骤1.2,对于非第一行与第一列像素,基于原始图像中当前像素x(i,j)周围的三个像素,使用中值边缘检测器(MED)计算当前像素的预测值px(i,j),其中1<i≤m、1<j≤n,公式如下:
式(2)中,x1表示当前像素x(i,j)的左上方像素;x2表示当前像素x(i,j)的上方像素;x3表示当前像素x(i,j)的左侧像素;
步骤2,将步骤1中原始图像中的每个像素和每个像素的预测值px(i,j)均转换成8位二进制序列,并进行比较,得到每个像素的标签值t及每个像素可嵌入信息的长度,从而得到原始图像的标签图;
步骤2的具体过程为:
步骤2.1,将当前像素x(i,j)和当前像素的预测值px(i,j)均转换成8位二进制序列,分别表示为xk(i,j)和pxk(i,j),表达式如下:
步骤2.2,从最高有效位到最低有效位依次比较二进制序列xk(i,j)和pxk(i,j)的每个位,直到某个位不同,则停止比较,则当前像素的标签等于二进制序列xk(i,j)和pxk(i,j)相同位的长度;
由于二进制序列xk(i,j)和pxk(i,j)均具有8位,因此像素的标签具有9种情况,即从0到8,假设标签值用t表示,即t=0,1,2,...,8并且根据公式(5)获得的最大值是当前像素x(i,j)的标签,则当前像素可嵌入信息的长度(t+1):
式(5)中,x(i,j)tMSB表示当前像素x(i,j)的t-MSB值;px(i,j)tMSB表示当前像素的预测值px(i,j)的t-MSB值;
步骤2.3,通过对当前像素的预测值px(i,j)的相应位置的值求反,得到当前像素x(i,j)的第(t+1)个MSB值,具体表达式为:
式(6)中,pxt+1(i,j)表示当前像素预测值px(i,j)的第(t+1)个MSB值;
步骤2.4,重复步骤2.1-2.3,得到原始图像中除参考像素以外的所有像素的标签值t及对应的可嵌入信息的长度(t+1),即得到原始图像的标签图;
步骤3,创建位置图M标记标签值t=0的位置,重排列和压缩位置图M;
步骤3的具体过程为:
步骤3.1,创建位置图
根据当前像素的预测值px(i,j)的标签值t,若原始图像中当前像素的预测值px(i,j)的标签值t=0,则标记为1,若标签值t≠0,则标记为0,得到位置图M,表达式为:
式(7)中,m(i,j)表示位置图M中元素;
步骤3.2,对步骤3.1得到的位置图M进行重排列,得到重新排列的比特流;
将位置图M划分为相同大小为2×2的块,使用四种类型重新排列位置图M,得到四个重新排列的比特流;
四种类型包括:块内先行后列、块间先行后列进行扫描;块内先行后列、块间先列后行进行扫描;块内先列后行、块间先行后列进行扫描;块内先列后行、块间先列后行进行扫描;
步骤3.3,对步骤3.2得到的四种重新排列的比特流进行压缩;
步骤3.3.1,在步骤3.2得到的任意一个重新排列的比特流中提取相邻且重复的比特,若遇到相邻且不重复的比特则停止提取,再从该相邻且不重复的比特为起点继续提取与其相邻且重复的比特,记相邻且重复的比特的长度为L;
步骤3.3.2,将步骤3.3.1得到的长度L编码为码字;
(1)若L<4,对于连续相同序列长度L<4的序列C1由两部分组成,Lpre=0,Lmid的值是从当前位向后截取的长度Lfix的重新排列的位流;
(2)若L≥4,对于连续相同序列长度L≥4的序列C1由三部分组成,Lpre由l-1个1组成以0结尾,Ltail是0或者1,代表该段相同序列的重复值;
Lmid=(L-2l)2 (9)
式(9)中,Lpre、Lmid、Ltail表示序列C1的前缀、中间和尾部;Lfix表示一个参数;
步骤3.3.3,对剩余的三个重新排列的比特流重复步骤3.3.1-3.3.2,得到四种压缩比特流;
步骤3.3.4,将步骤3.3.3得到的四种压缩比特流进行对比,记录最短压缩比特流所对应的重新排列所采用的类型,用以标记t=0的位置;
步骤4,将步骤2得到的原始图像的标签图中的标签值t=0位置用步骤3重排和压缩后的位置图进行表示,剩余标签值保持不变,得到新的标签图Label1,并将新的标签图Label1中的标签值t用哈夫曼码表示;
步骤4中,哈夫曼码表示具体过程为:
预定义8种哈夫曼编码来表示标签值t,t=1,2,...8,则哈夫曼码具体为00,01,100,101,1100,1101,1110,1111,根据新的标签图Label1得到每个标签值t所对应的像素数,按像素数对标签值t进行排序,使用较短的哈夫曼码表示像素数较大的标签值t,即8个哈夫曼码,“00”表示像素数最大的标签,“1111”表示像素数最小的标签;
步骤5,对于标签值t=0、t=1的像素进行二次处理,生成标签图Label2;
步骤5的具体过程为:
二进制序列xk(i,j)和pxk(i,j)不一致位的下一位t+2位至第8位做取反操作,得到二进制序列再依次比较二进制序列xk(i,j)和/>的t+2~8位,直到某个位不同,则当前像素的标签值tr等于二进制序列xk(i,j)和/>相同位的长度Lr,根据当前像素的标签值tr生成标签图Label2,
当前像素的标签值tr的表达式为:
式(11)中,表示预测值作如上所述反转操作后的trMSB的值,其中下标r代表取反操作;
步骤6,根据步骤5生成的标签图Label2,定义8种哈夫曼码对标签图Label2中的标签进行表示,并计算标签图Label2的长度;
步骤7,对原始图像进行加密,得到加密图像Ie
步骤8,将新的标签图Label1、标签图Label2嵌入步骤8得到的加密图像Ie中,得到包含标签映射的加密图像Ie′;
步骤9,秘密数据的隐藏;
步骤10,秘密数据的提取、图像恢复。
2.根据权利要求1所述的基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,其特征在于,步骤6的具体过程为:
根据步骤5生成的标签图Label2,预定义8种哈夫曼码来表示这8种标签,即00,01,100,101,1100,1101,1110,1111,按像素数对8种标签进行排序,使用较短的代码表示像素数较大的标签值。
3.根据权利要求2所述的基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,其特征在于,步骤7的具体过程为:
通过密钥Ke生成一个大小为m×n的伪随机矩阵r(i,j),根据公式(3),将当前像素x(i,j)转换为8位二进制序列xk(i,j),将随机矩阵r(i,j)转换为8位二进制序列rk(i,j),将二进制序列xk(i,j)与对应的二进制序列rk(i,j)进行异或操作,表达式为:
式(15)中,表示加密的8位二进制序列,/>表示异或(XOR)操作;
计算加密像素xe(i,j),得到加密图像Ie
加密像素xe(i,j)表达式为:
4.根据权利要求3所述的基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,其特征在于,步骤8的具体过程为:
步骤8.1,通过哈夫曼编码将新的标签图Label1、标签图Label2转换为二进制序列,并将哈夫曼码按照他们所代表的标签值以0到8的顺序排列,再将哈夫曼编码规则、二进制序列及二进制序列的长度作为辅助信息;
步骤8.2,将部分辅助信息存储在参考像素中,因为我们在提取辅助信息时需要提前知道当前像素的标签,而当前像素的标签只能从前一个像素提取的辅助信息中获得,也就是说,我们不能直接从当前像素中获得其标签值;
步骤8.3,将剩余的辅助信息和存储辅助信息后的参考像素嵌入到加密图像Ie中,得到包含标签映射的加密图像Ie';
嵌入公式如下:
式(17)中,te是指加密图像Ie中当前像素xe(i,j)的标记值,bs是要嵌入的辅助信息。
5.根据权利要求4所述的基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法,其特征在于,步骤9的具体过程为:
步骤9.1,提取第一行第一列参考像素中的部分辅助信息,得到哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取t+1位辅助信息,在获得所有辅助信息后,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤9.2,根据公式(17)将秘密数据嵌入至包含标签映射的加密图像Ie′中除参考像素外的其他像素中,得到标记的加密图像Iew
步骤10的具体过程为:
步骤10.1,合法接收者从标记的加密图像Iew中提取哈夫曼编码规则、二进制序列及二进制序列的长度,再根据哈夫曼编码规则、二进制序列及二进制序列的长度,得到当前像素的标签值t,并提取t+1位辅助信息,根据哈夫曼编码规则恢复新的标签图Label1、标签图Label2;
步骤10.2,根据步骤10.1恢复的新的标签图Label1、标签图Label2,Label1中t=-1即为参考像素,从而提取参考像素,将参考像素放回第一行第一列,再除去根据Label1、Label2中可以得到像素,即得到嵌入的额外数据;
步骤10.3,采用公式(15)根据密钥Ke生成伪随机矩阵r(i,j)对图像进行解密,并按照公式(18)进行处理,得到解密后的图像Iew';
步骤10.4,从上到下和从左到右扫描除参考像素外的解密后的图像Iew'中的像素xew',通过MED预测器计算当前像素xew'的预测值pxew(i,j),根据标签值t和预测值pxew(i,j)恢复原始像素x(i,j),得到原始图像,
恢复原始像素x(i,j)的表达式为;
式(18)中,pxew(i,j)tMSB是预测值pxew(i,j)的t-MSB的值由公式(4)得到;bt+1是原始像素的第t+1位二进制;
式(19)中,pxt+1(i,j)是由公式(5)获得的px(i,j)的第(t+1)个二进制位。
CN202210934144.9A 2022-08-04 2022-08-04 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法 Active CN115297218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210934144.9A CN115297218B (zh) 2022-08-04 2022-08-04 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210934144.9A CN115297218B (zh) 2022-08-04 2022-08-04 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法

Publications (2)

Publication Number Publication Date
CN115297218A CN115297218A (zh) 2022-11-04
CN115297218B true CN115297218B (zh) 2024-02-02

Family

ID=83826755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210934144.9A Active CN115297218B (zh) 2022-08-04 2022-08-04 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法

Country Status (1)

Country Link
CN (1) CN115297218B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097905B (zh) * 2023-10-11 2023-12-26 合肥工业大学 一种无损图像分块压缩方法、设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018419A (zh) * 2017-04-26 2017-08-04 安徽大学 一种基于ambtc的图像压缩编码方法
CN109151486A (zh) * 2018-09-06 2019-01-04 西南交通大学 大容量的jpeg图像比特流加密域可逆数据隐藏方法
JP2019035850A (ja) * 2017-08-15 2019-03-07 公立大学法人会津大学 秘密データの隠蔽方法、これを実施するプログラム、及び秘密データ通信システム
CN111311474A (zh) * 2020-02-04 2020-06-19 太原科技大学 一种大容量的图像加密域信息隐藏方法
CN113852822A (zh) * 2021-09-23 2021-12-28 长春理工大学 一种基于哈夫曼编码的加密域图像隐写方法及系统
CN113938691A (zh) * 2021-09-28 2022-01-14 西南交通大学 一种加密图像可逆信息隐藏方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018419A (zh) * 2017-04-26 2017-08-04 安徽大学 一种基于ambtc的图像压缩编码方法
JP2019035850A (ja) * 2017-08-15 2019-03-07 公立大学法人会津大学 秘密データの隠蔽方法、これを実施するプログラム、及び秘密データ通信システム
CN109151486A (zh) * 2018-09-06 2019-01-04 西南交通大学 大容量的jpeg图像比特流加密域可逆数据隐藏方法
CN111311474A (zh) * 2020-02-04 2020-06-19 太原科技大学 一种大容量的图像加密域信息隐藏方法
CN113852822A (zh) * 2021-09-23 2021-12-28 长春理工大学 一种基于哈夫曼编码的加密域图像隐写方法及系统
CN113938691A (zh) * 2021-09-28 2022-01-14 西南交通大学 一种加密图像可逆信息隐藏方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
High-capacity reversible data hiding in encrypted images based on extended run-length coding and block-based MSB plane rearrangement;Kaimeng Chen;Journal of Visual Communication and Image Representation;2.2-2.3节 *
Reversible Data Hiding in Encrypted Images Based on Multi-MSB Prediction and Huffman Coding;Zhaoxia Yin;IEEE Transactions on Multimedia;第3节、第2节C *
Zhaoxia Yin.Reversible Data Hiding in Encrypted Images Based on Multi-MSB Prediction and Huffman Coding.IEEE Transactions on Multimedia .2021,第3节、第2节C. *
大容量的密文域图像可逆信息隐藏算法;何志红;秦川;周青;;应用科学学报(04);全文 *

Also Published As

Publication number Publication date
CN115297218A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
Yin et al. Reversible data hiding in encrypted images based on multi-MSB prediction and Huffman coding
Jo et al. A digital image watermarking scheme based on vector quantisation
CN112311954B (zh) 一种基于补码标记与位图嵌入的密文域可逆信息隐藏方法
CN113194213B (zh) 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法
CN112911290B (zh) 一种基于预测差值压缩编码的密文图像可逆数据隐藏方法
Kumar et al. Reversible data hiding: A contemporary survey of state-of-the-art, opportunities and challenges
CN110110535B (zh) 一种基于像素矩阵的低失真隐写方法
Wang et al. A novel high-performance reversible data hiding scheme using SMVQ and improved locally adaptive coding method
CN111464717B (zh) 利用直方图平移的具有对比度拉升的可逆信息隐藏方法
CN111277831B (zh) 一种基于分类编码的图像压缩方法及系统
CN116546201A (zh) 基于块的自适应编码和比特流压缩的可逆数据隐藏方法
CN115297218B (zh) 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法
Rahmani et al. An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images
CN114745475B (zh) 一种鲁棒的加密图像可逆信息隐藏方法
Zhang Efficient data hiding with plus-minus one or two
Gao et al. High-performance reversible data hiding in encrypted images with adaptive Huffman code
Lee et al. Information hiding based on block match coding for vector quantization-compressed images
CN115190216B (zh) 基于预测误差图的加密图像可逆数据隐藏及解密方法
Mittal et al. Interpolative AMBTC based reversible data hiding in encrypted images using rhombus mean
CN114697671B (zh) 一种建筑工程质量管理系统
CN116437019A (zh) 一种全0行和全0列编码的密文域可逆信息隐藏方法
CN113378186B (zh) 一种基于编码的图像加密隐藏信息的方法及装置
Xia et al. Reversible data hiding for VQ indices using hierarchical state codebook mapping
CN115379066A (zh) 基于自适应压缩编码的加密图像可逆数据加密解密方法
AU2021102700A4 (en) A system for reversible data hiding in encrypted images

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