基于预测误差位平面压缩的密文图像可逆信息隐藏
2022-09-03吴友情马文静殷赵霞彭银银张新鹏
吴友情,马文静,殷赵霞,彭银银,张新鹏
(1.合肥师范学院计算机学院,安徽 合肥 230601;2.安徽大学多模态认知计算安徽省重点实验室,安徽 合肥 230601;3.华东师范大学通信与电子工程学院,上海 200241;4.合肥工业大学计算机与信息学院,安徽 合肥 230031;5.复旦大学计算机科学与技术学院,上海 200433)
0 引言
不断发展的网络技术使远程沟通和信息共享更加便利。用户可以在社交软件分享所见所闻,极大丰富了娱乐及生活方式。但科技的飞速发展也带来了部分隐患,隐私泄露、信息滥用、版权侵犯等事件的频繁发生,不仅损害公民个人合法权益,甚至危及社会进步以及国家安全。近年来,随着公民隐私保护[1]意识的逐渐提升,在信息安全领域担任重要角色的信息隐藏技术[2]日益完善。
根据应用场景不同,信息隐藏主要包括数字水印[3]、隐写术[4-5]以及可逆信息隐藏技术[6]。前两者或多或少都会对载体造成不可逆的失真,可逆信息隐藏则可确保原始载体信号能够完全恢复。除了面向视频[7]、音频[8]、3D 点云[9]等数字信号外,数字图像是研究最广泛的载体格式[10]。
根据数字图像的编码情况,图像可逆信息隐藏又可分为压缩域和空间域两大类,其中压缩域以JPEG(joint photographic experts group)压缩标准为代表,主要通过修改图像不同压缩阶段的编码来嵌入信息[11-15]。由于压缩编码导致数据冗余空间下降,因此面向图像压缩编码算法的嵌入容量也相对较低。
与压缩图像中的可逆信息隐藏相比,面向空间域图像的算法在嵌入容量上有很大优势,成果也相对丰富。早期工作主要面向明文信号,核心技术包括无损压缩[16]、插值扩展[17]和直方图修改[18]三类。明文算法中载密图像与原始图像极其相似,无法保护图像内容隐私;而加密算法能将载体信号转换为无意义的密文信号,实现将包含隐私信息的载体进行脱敏保护的作用。随着隐私保护需求日益被重视,密文图像可逆信息隐藏(RDHEI,reversible data hiding in encrypted image)[19]被提出并被首先应用到图像数据中。密文图像可逆信息隐藏[20]能够有效地结合图像加密算法与可逆信息隐藏技术,即图像所有者利用加密算法保护原始载体信号,信息隐藏者在密文信号中嵌入信息,实现信息隐藏,最后,接收者根据需求提取信息或恢复图像。密文图像可逆信息隐藏技术有效解决了载体中的隐私泄露问题,是密文信号处理与信息隐藏技术交叉领域的研究热点之一,在隐私保护方面发挥着重要作用。
近年来,随着云存储技术的普及,RDHEI 技术不断发展和完善,在近年CCF A/B/C 类国际期刊发表的267 篇可逆信息隐藏论文中占比32%[21]。按照图像加密与腾出空间的先后顺序,密文图像可逆信息隐藏技术主要包括加密后腾出空间(VRAE,vacating room after encryption)[22-34]以及加密前预留空间(RRBE,reserving room before encryption)[35-53]算法。
早期的RDHEI 算法利用加密图像的冗余嵌入信息,多属于VRAE 类算法。且算法中信息提取和图像恢复操作耦合[22-24],难以分离,而在实际应用中,部分用户可能只被授予一种操作权限。文献[25]介绍一种可分离方案,分别使用图像加密密钥和信息隐藏密钥加密原始图像和待嵌入信息,信息隐藏者压缩加密图像,创建可嵌入信息的稀疏空间。接收者获取载密图像后,可直接从其对应稀疏空间中提取信息。由于该算法未压缩图像的多位最高有效位(MSB,most significant bit),接收者直接解密载密图像后即可恢复图像的多位MSB,然后解压缩最低有效位(LSB,least significant bit)信息,从而恢复原始图像,即该算法能够分别完成信息提取和图像恢复操作。
为进一步降低信息提取或图像恢复时的误码率,提升嵌入容量,文献[26]利用分块置乱操作加密图像,保留各分块内原始像素分布,结合像素块平滑度,在像素块中利用直方图移位的方法隐藏信息。在接收端,能够可分离地执行图像解密和信息提取操作。由于直方图移位过程中可能存在多个峰值点,因此同一像素块内可嵌入多比特信息,提升了嵌入容量。文献[31-34]利用分块加密保留块内像素冗余进一步提升了嵌入性能。
上述基于VRAE 的RDHEI 算法中,图像所有者仅需加密图像内容。然而,由于加密图像像素间相关性较低,难以探索其中规律进行信息嵌入,导致该类算法的嵌入容量存在限制,甚至部分算法在追求提升嵌入容量的同时会导致无法可逆地提取信息或恢复图像,造成图像永久失真。
为解决上述问题,RRBE 类密文图像可逆信息隐藏算法被提出。在该类算法中,图像所有者预处理原始载体以预留可嵌入空间。文献[35]首次提出基于RRBE 类的算法思想,将原始图像按照平滑度划分为A、B 两部分,图像所有者利用B 中像素进行预测误差直方图移位,将A 中像素部分信息位保存在B 中,以此实现在A 中预留空间。与以往的VRAE 类算法相比,该算法不仅能可逆地提取信息和恢复图像,还极大地提升了嵌入容量。
考虑到相邻像素间的强相关性,与低位平面相比,高位平面中相邻比特位相同的概率更大,因此,利用像素MSB 预留空间的操作在理论上可以获得更理想的嵌入性能。文献[37]是首次提出利用像素 MSB 预测来预留空间的 RRBE 类RDHEI 算法。由于RDHEI 算法在图像加密域中不考虑图像质量损失,因此选择比LSB 更易预测的MSB 来嵌入信息,显著提升了RDHEI 算法的嵌入容量。文献[38-39]提出2 种无损压缩图像高位平面的RDHEI 算法,利用相邻像素间的强相关性,压缩图像的MSB 能够获得更佳的压缩效果,预留出更多的可嵌入空间。
除上述算法外,近年来致力于探索高容量的RDHEI 算法层出不穷。文献[48-49]利用像素标记的思想,在标记后像素或位平面中嵌入信息。文献[50]介绍一种基于多位平面重排的RDHEI 算法,通过位平面的分割和重新排列实现信息嵌入。文献[51]则引入一种分层嵌入思想,按照预测误差范围进行分层嵌入,即使预测误差较大的像素也能用于嵌入信息,进一步提升了图像嵌入性能。
上述算法表明,与VRAE 类RDHEI 算法相比,基于RRBE 框架的算法能获得更高的嵌入性能,从而满足多位信息隐藏的需求。此外,由于可嵌入空间在图像加密前已经获得,信息隐藏者嵌入信息和图像接收者提取信息的操作更加便捷,且提取信息与嵌入信息完全一致,恢复图像也与原始图像相同,实现了真正的可逆性。
与直接基于载体图像 MSB 位平面压缩的RDHEI 算法不同,文献[53]提出一种基于载体图像的预测误差位平面无损压缩的RDHEI 算法,采用扩展的游程编码压缩预测误差图像以预留空间。因预测误差图像的像素分布更加集中,相邻像素间的相关性更强,与已有成果相比,该算法的嵌入性能大大提升。然而,文献[53]中采用的压缩算法未充分考虑预测误差位平面的分布特性。基于此,本文在预测误差位平面上采用一种更适应位平面分布特性的联合编码算法,提出一种基于预测误差位平面压缩的RDHEI 算法,在实现可逆的同时进一步提升了嵌入容量。
本文主要研究贡献如下。
1)与直接基于载体图像MSB 位平面压缩的RDHEI 算法不同,本文提出在载体图像的预测误差位平面上采用一种充分利用位平面分布特性的联合编码算法来无损压缩比特流以预留空间。
2)与文献[53]相比,本文压缩算法利用预测误差位平面自身分布特性,将哈夫曼编码和游程编码有效结合,能更充分地压缩位平面,从而预留更多的可嵌入空间。
3)利用像素分布更加集中,相邻像素间相关性更强的预测误差,本文提出一种基于预测误差位平面压缩的高容量RDHEI 算法,在满足分离并无损提取信息和恢复图像的同时能进一步提升嵌入容量。
1 联合编码算法
文献[53]算法采用扩展的游程编码压缩图像,获得了较好的压缩效果,但该算法未充分利用位平面自身的分布特性。为此,本文在预测误差位平面上采用一种联合编码算法,适应性地生成适合不同图像位平面的压缩编码。此外,为获取包含更多重复位的位平面比特流,进一步提高压缩效果,需对位平面进行重排[38]。
1.1 位平面重排
灰度图像像素可用8 位二进制数表示,对应图像由8 个位平面构成。为充分利用图像相邻像素间相关性,文献[38]提出一种位平面重排算法。在该算法中,位平面被划分为尺寸为t×t的无重叠块,根据块内和块间不同的排列方式,生成4 种位平面排列顺序,并用两位二进制数记录。第一位数表示块内排列方式,“0”和“1”分别表示块内逐行和逐列排列;第二位数表示块间排列方式,“0”和“1”分别表示块间逐行和逐列排列。以图1 为例,当分块大小t=2 时,位平面有相应4 种重排序后的比特流。由于相邻像素之间具有相关性,因此重排后比特流中相邻位往往相同,这为位平面的压缩创造了条件。
图1 t=2 时对应的位平面重排示例
1.2 编码规则
位平面重排后,可得到包含多个相同相邻位的比特流。将每个相同相邻位的比特流定义为一个比特串,其对应长度为L。比较比特串长度L与参数Lfix(Lfix的选择在3.2 节中说明),若L≥Lfix,则视其为长比特串;否则为短比特串。2 种比特串对应编码规则描述如下。
1)当L≥Lfix时,由于长比特串中重复位较多,因此可借助游程编码完成压缩,其对应编码包含前缀Lpre、中间部分Lmid以及后缀Ltai。Lpre代表比特串编码类型,为“0”代表当前为长比特串编码;Lmid用当前比特串长度L的二进制表示,其长度由预定义参数Lrun(Lrun的选择在3.2 节中说明)决定。例如,当Lrun=5、L=17时,中间部分为Lmid=(10001)2,即比特串长度L=17 时对应的5 位二进制数;后缀Ltai由“0”或“1”组成,表示当前比特串的重复位数值。最后,连接三部分即获得编码后比特串。
2)当L 由于联合编码算法充分利用了位平面分布特性,将哈夫曼编码和游程编码有效结合,能够取得更好的压缩效果,预留出更多可嵌入空间。以部分截取的比特流为例,当Lfix=4、Lrun=3时,联合编码算法的执行过程如图2 所示。首先,计算下划线处比特串的长度L,然后比较L和Lfix的长度,按照比较结果选择相应的编码规则。若L≥Lfix,代表当前为长比特串,按照编码规则获取编码前缀Lpre、中间部分Lmid以及后缀Ltai,以此完成编码;反之,当前为短比特串,按照对应编码规则从短比特串首位截取长度为Lfix的比特串,然后遍历比特流,记录每个短比特串对应截取比特串的出现概率,根据其出现概率自适应生成哈夫曼码字,用对应的哈夫曼码字完成编码。最后,连接所有编码后比特串,生成压缩后比特流。通过上述操作,图2 中对应的原始比特流“1000111111100010000000”被压缩编码为“100011111111001110”,压缩后比特流长度小于原始比特流长度。编码过程中产生的辅助信息有预定义参数Lfix、Lrun和哈夫曼编码规则,其占用的存储空间较小,根据压缩后比特流,结合辅助信息,可逆向解压缩恢复原始比特流。 图2 联合编码算法的执行过程 为充分利用图像冗余性,进一步提高图像嵌入性能,本文设计一种基于预测误差位平面压缩的RDHEI 算法。 本文提出一种基于预测误差位平面压缩的RDHEI 算法,实现了可逆性、可分离性以及高嵌入率。图3 给出了基于预测误差位平面压缩的RDHEI算法框架。首先,图像所有者计算整幅图像的预测误差,并将其划分为相同大小的非重叠块;然后,利用第1 节介绍的联合编码算法对预测误差的每个位平面进行重新排列和压缩,以预留空间;最后,加密压缩后的图像以保护图像内容。信息隐藏者接收加密图像后,能够定位预留空间并将加密后的信息对象嵌入其中。在接收端,结合不同的密钥,合法的图像接收者能够从载密图像中可分离地提取信息或恢复图像。 图3 基于预测误差位平面压缩的RDHEI 算法框架 为获得更高的嵌入容量,图像所有者加密图像前会预留可嵌入空间。预留空间主要包含两步操作,首先,图像所有者结合中值边缘预测器[54]计算整幅图像的预测误差并对其进行预处理。然后,利用联合编码算法压缩预测误差的位平面,压缩剩余位为可嵌入空间。经过上述操作,可获得预留空间的压缩图像Ic。将压缩图像Ic采用流密码进行加密,即获得预留空间的加密图像。 对于尺寸为M×N的灰度图像,本文采用中值边缘预测方法[54]计算其像素的预测值。一方面,中值边缘预测器利用像素的邻近像素计算其预测值,计算复杂度较低且预测较为准确;另一方面,采用中值边缘预测方法便于逆向恢复图像像素值。假设x(i,j)为原始图像的任一像素值,(i,j)表示像素坐标且1≤i≤M,1≤j≤N。在预测过程中,图像的首行和首列像素,即i=1 或j=1 对应像素充当参考像素,不进行任何操作。从图像的第二行和第二列开始,选取像素x(i,j)左上方、左方以及上方3 个像素x1、x2以及x3为参考值,计算x(i,j)的预测值px(i,j)为 依次扫描图像剩余像素,计算其预测值。结合像素值x(i,j)和其预测值px(i,j),计算像素预测误差e(i,j)为 随后,图像所有者将预测误差按照式(3)转换成8 位二进制数。 由于预测误差超出[−127,127]的像素不能用8 位二进制数表示,因此将这些溢出像素记录为辅助信息,其对应处理后预测误差仍用原始像素值表示。 对于预处理后的所有预测误差,将其划分为t×t(t的选择在3.2 节中说明)大小的非重叠块,采用第1 节介绍的联合编码算法压缩其位平面。在位平面压缩过程中,哈夫曼编码可以有效地压缩短比特串,而游程编码对长比特串的压缩效果更好。因此,该联合编码算法能够获得更好的压缩效率。此外,与原始图像相比,处理后预测误差的分布更加集中,对预测误差位平面进行压缩可以取得更好的效果。预测误差位平面压缩的具体步骤如下。 1)首先,将预处理后预测误差的每个位平面按照1.1 节的4 种重排类型,生成4 种位平面重排比特流。然后,图像所有者使用联合编码算法压缩各个位平面的4 种比特流,选择并记录压缩效果最佳的重排后位平面比特流(P1,P2,P3,P4,P5,P6,P7,P8),同样记录下对应的位平面重排类型。 2)压缩位平面后即可获得对应压缩后比特流,比较压缩后位平面和原始位平面对应比特流的长度,若压缩后的长度更大,则不执行压缩;反之,则图像所有者压缩位平面并记录压缩后位平面信息。如图4(a)所示,压缩后位平面信息由压缩标记位、位平面重排类型、压缩后位平面比特流及其长度共4 个部分构成。压缩标记位被用于判断当前位平面是否被压缩,为“0”代表当前位平面能够被压缩;否则,位平面无法压缩。如图4(b)所示,未压缩位平面信息由压缩标记位和原始位平面比特流组成。依次遍历所有重排后位平面比特流(P1,P2,P3,P4,P5,P6,P7,P8),得到相应的压缩后或未压缩的位平面信息。最后,统一记录为处理后的位平面比特流(Pc1,Pc2,Pc3,Pc4,Pc5,Pc6,Pc7,Pc8)。 图4 处理后的位平面比特流 3)结合用于解压缩编码的辅助信息A,并连接所有处理后的位平面比特流(Pc1,Pc2,Pc3,Pc4,Pc5,Pc6,Pc7,Pc8),可重建得到压缩图像Ic。辅助信息A由分块大小t,预定义参数Lfix、Lrun,哈夫曼编码规则以及溢出像素和参考像素信息构成。此外,为便于图像恢复操作,辅助信息A的长度和所有处理后位平面比特流的总长度分别用lb(MN)以及lb(8MN)位记录。压缩图像的简要构成如图5 所示,压缩图像从最高位平面开始存储信息,低位平面中的空白位则代表预留空间,可用于嵌入信息。 图5 压缩图像的简要构成 为防止图像内容泄露,图像所有者预留空间后需要对压缩图像Ic执行加密操作。在图像加密阶段,首先,利用图像加密密钥生成一个与压缩图像尺寸相同的M×N的伪随机矩阵H。然后,压缩图像像素xc(i,j)和H中元素h(i,j)并转换成8 位二进制表示,转换式为 其中,xe(i,j)为像素值。此外,为了便于信息隐藏者嵌入信息,在加密图像最低位平面的第M行,即预留空间的末lb(8MN)位中存储净嵌入容量c。 完成预留空间操作后,结合重排位平面比特流(P1,P2,P3,P4,P5,P6,P7,P8)、辅助信息A,以及处理后位平面比特流(Pc1,Pc2,Pc3,Pc4,Pc5,Pc6,Pc7,Pc8),在加密图像中可计算出图像净嵌入容量c。由于加密图像中辅助信息长度以及处理后位平面比特流长度分别占lb(MN)以及lb(8MN)位,且预留空间的末lb(8MN)位被用于存储净嵌入容量,因此,净嵌入容量c为 其中,l(*)代表信息对应长度。由于联合编码算法能够取得较好的位平面压缩效果,且辅助信息A的长度相对较小,因此所提算法最终能获得较高的净嵌入容量c。如2.2 节所述,净嵌入容量c存储在加密图像的最低位平面中,当信息隐藏者接收到加密图像后,可以首先获取最低位平面中存储的净嵌入容量,定位加密图像中的预留空间。然后,使用信息隐藏密钥对嵌入对象完成加密操作,操作过程与图像加密过程类似。最后,以位替换的方式在加密图像的预留空间中嵌入信息,获得载密图像Iee。 在信息提取和图像恢复阶段,图像接收者可从载密图像Iee中提取嵌入的信息对象并借助辅助信息恢复图像。在信息提取阶段,图像接收者首先提取载密图像最低位平面中存储的净嵌入容量以定位嵌入信息的坐标,然后提取出加密的信息对象并结合信息隐藏密钥完成解密操作,即可提取原始的嵌入信息;在图像恢复阶段,图像接收者解密图像,截取其中包含的辅助信息和处理后的位平面比特流,进而解压缩恢复原始图像。根据图像接收者持有的密钥,可分为以下3 种情况。 1)当仅持有信息隐藏密钥时,能够提取原始的信息对象。首先,图像接收者从载密图像的最低位平面中提取净嵌入容量c,根据净嵌入容量定位并提取加密的信息对象。然后,使用信息隐藏密钥解密提取的信息,即可获得原始的信息对象。 2)当仅持有图像加密密钥时,能够可逆地恢复图像。首先,图像接收者利用图像加密密钥对载密图像进行解密,结合辅助信息长度和处理后位平面比特流长度,提取其中的辅助信息和处理后的位平面比特流信息。然后,利用辅助信息解压缩处理后的位平面比特流,并将其恢复为预测误差的位平面,获取原预测误差。最后,利用辅助信息恢复首行首列的参考像素值,从第二行第二列像素开始,顺次遍历计算剩余像素的预测值,结合原预测误差恢复原像素值,从而恢复原始图像。 3)当同时持有图像加密密钥和信息隐藏密钥时,按照上述操作,能够可逆、可分离地提取原始的信息对象并恢复原始图像。 为证明所提算法的有效性和可行性,本节设计了大量仿真实验并进行分析。首先分析了算法的可逆性和可分离性,并将所提算法与目前性能较好的算法进行定性比较。然后对联合编码算法的3 个相关参数进行优化,以获得更好的性能。最后,将所提算法与已有经典算法的嵌入率进行定量比较。在加密操作方面,由于加密是密文信号处理固有框架的一部分,本文采用多数密文图像可逆信息隐藏文献[22-25]中普遍使用的流密码加密算法,且其安全性已被充分讨论[55]。在实验设置方面,如图6 所示,使用3 幅常见灰度图像Lena、Baboon 以及Airplane展示实验结果,其中Lena 图像既包含纹理平滑区域,又包含纹理复杂区域;Baboon 是典型的纹理复杂图像;Airplane 是典型的纹理平滑图像。为降低图像纹理复杂度对实验结果的影响,在各有10 000 幅灰度图像的BOSSbase[56]和BOWS-2[57]图像集中进一步完成实验验证,且选取均方误差(MSE,mean square error)作为评价指标来检验算法的可逆性。 图6 常见灰度测试图像 其中,MN为图像尺寸,x′和x分别为恢复图像和原始图像的像素值。MSE 值越小,表示2 幅图像之间的差异越小,当其为0 时,代表2 幅图像完全相同。此外,选取嵌入率(ER,embedding rate)作为衡量算法嵌入性能的关键指标,图像尺寸MN以及净嵌入容量c被用于计算图像嵌入率,即ER=,表示平均每像素所嵌入的比特数(BPP,bit per pixel)。 图7 为不同状态下的Lena 图像。图7(a)为原始图像,图7(b)和图7(c)分别为加密状态和载密状态的Lena 图像,图7(d)为恢复图像。从图7 可以看出,恢复图像与原始图像一致。经实验验证,图7(a)和图7(d)间的MSE 值为0,表明2 幅图像完全相同,证明了图像恢复的可逆性。为进一步证明这种可逆性与图像纹理复杂度无关,实验还计算了图像集BOSSbase[56]和BOWS-2[57]中恢复图像和原始图像间的MSE。实验结果同样显示,图像集中原始图像与恢复图像间的MSE 均为0,说明所提算法能可逆地恢复图像。此外,实验对提取信息与嵌入信息内容进行了对比,结果表明信息对象能够可逆地提取。而且,在实际操作中,所提算法的信息提取和图像恢复步骤互不影响,均能独立完成,进一步证实了所提算法的可分离性。 图7 不同状态下的Lena 图像 表1 定性分析了所提算法与几种代表算法[28-30,33-34,39,52]的特性,其中将嵌入率在1 bpp 以下的视为低嵌入率,在1 bpp 和3.5 bpp 之间的视为中嵌入率,而大于3.5 bpp 的则视为高嵌入率。由表1可知,文献[28,30,33-34]中算法采取不同的加密方法加密图像,利用加密图像的冗余性嵌入信息,能够可逆、可分离地提取信息和恢复图像,但难以获得理想的嵌入性能。文献[29]则通过创建图像插值空间嵌入信息,能够获得较高的嵌入性能,但同时也使数据产生了扩展,降低了载体传输效率。文献[33,52]中算法采用秘密共享的思想加密图像,均存在数据扩展,其中文献[52]在加密图像前对图像预处理,因此获得了较高的嵌入性能。文献[39]中算法压缩图像的高位平面,而本文提出的基于RRBE的算法则利用联合编码算法压缩分布更为集中的预测误差位平面,并采用操作便捷的流密码完成加密操作,在实现可逆性、可分离性的同时获得了比当前算法更高的嵌入率。此外,所提算法在信息隐藏过程中不存在数据扩展,不会造成额外的载体传输压力。 表1 所提算法与文献[28-30,33-34,39,52]中算法的定性比较 所提算法中主要包含3 个与联合编码算法相关的参数:分块大小t,用于判定比特串类型的Lfix,以及表示游程编码长度的Lrun。上述3 个参数的选择会影响预测误差位平面的压缩效果,进而影响图像嵌入率。为提升所提算法的嵌入性能,参数优化步骤必不可少。在参数优化过程中,保持2 个相关参数不变,观察嵌入性能随第3 个参数变化的波动情况,选择能够获取最佳嵌入性能的参数。理论上,对每幅图像均采用参数优化的方法可自适应地获得适合每幅图像纹理特性的最优参数,但考虑到算法的计算代价,本节随机选取图像集BOSSbase[56]和BOWS-2[57]中200 幅图像进行测试,获取对应的能取得最高平均嵌入率的参数。 表2 描述了当t=4、Lfix为3~6、Lrun为3~6时测试图像的平均嵌入率。结果表明,当Lfix=6、Lrun=5时测试图像的平均嵌入率最高,超出这个范围平均嵌入率则呈下降趋势。为探究分块大小t对嵌入性能的影响,表3 描述了当Lfix=6,Lrun=5,分块大小t分别取2、3、4 和8 时测试图像对应的平均嵌入率。实验结果表明,当t=4 时,平均嵌入率能够达到最佳水平。 表2 当t=4、Lfix 为3~6、Lrun 为3~6 时200 幅测试图像的平均嵌入率 表3 当Lfix=6,Lrun=5,t 分别取2、3、4、8 时200 幅测试图像的平均嵌入率 结合表2 和表3 可知,当选取参数t=4、Lfix=6、Lrun=5时,所提算法能获得较高的平均嵌入率。当然,选取更多图像进行参数优化能获得更优的参数,或对每幅图像分别优化以自适应获取适合每幅图像纹理特性的最优参数,可以根据实际需求灵活选择,以平衡参数选择代价和性能。考虑到计算代价,本文后续实验均采用该参数。 为进一步说明所提算法的性能,下面定量比较所提算法与多种基于RRBE 类经典算法[37-38,41,48-51,53]的嵌入率。图8 比较了不同算法在Lena、Baboon 和Airplane 图像上的嵌入率。 图8 测试图像的嵌入率 由图8(a)可知,在Lena 图像上,大多数算法都能取得较高的嵌入率,但所提算法利用适应位平面分布特性的联合编码无损压缩波动范围较小的预测误差位平面,获得了较其他算法更高的嵌入率;在图8(b)中,由于Baboon 图像纹理比较复杂,现存的RDHEI 算法都难以获得理想的嵌入率,但所提算法仍然取得了较其他算法更高的嵌入率;在图8(c)中,Airplane 是典型的纹理平滑图像,所有算法的嵌入率均有进一步提升,所提算法的嵌入率仅略逊于文献[51],仍能取得较好的性能。 此外,为说明所提算法的普适性,图9 比较了所提算法与相关算法在BOSSbase[56]和BOWS-2[57]图像集中的平均嵌入率。由图9 可知,所提算法均获得了最佳性能,在BOSSbase[56]和BOWS-2[57]图像集中平均嵌入率分别达到3.763 bpp和3.642 bpp,与文献[53]相比分别提高了0.138 bpp 和0.147 bpp,即使与当前性能最佳算法[49,51]相比,所提算法在2 个图像集中的平均嵌入率仍然提高了0.081 bpp 和0.058 bpp。 图9 测试图像集的平均嵌入率 本文在预测误差位平面上采用一种充分利用位平面分布特性的联合编码算法来压缩比特流,与文献[53]算法相比,能更充分地压缩各个预测误差位平面以预留空间,图8 与图9 均说明了所提算法在实现可逆、可分离的同时获得了比当前算法更好的性能。 为充分利用图像冗余,提升RDHEI 算法的嵌入率,本文提出一种基于预测误差位平面压缩的高容量RDHEI 算法。该算法在波动范围较小的预测误差位平面上采用一种联合编码的压缩算法,联合编码算法将游程编码和哈夫曼编码有效结合,能更充分地利用预测误差位平面的分布特性,从而预留更多可嵌入空间。经实验验证,所提算法能够可逆、可分离地实现信息提取和图像恢复。与当前性能较好的算法相比,所提算法能够获得更高的图像嵌入率。2 算法设计
2.1 研究框架
2.2 预留空间
2.3 信息嵌入
2.4 信息提取和图像恢复
3 实验结果与分析
3.1 性能分析
3.2 参数优化
3.3 嵌入率对比
4 结束语