降低文件增长和失真的零系数JPEG图像可逆信息隐藏

2023-02-13 03:48和红杰原长琦
铁道学报 2023年1期
关键词:增量秘密编码

苏 童,和红杰,原长琦,陈 帆

(1.西南交通大学 信息科学与技术学院,四川 成都 611756;2.北京电子技术应用研究所, 北京 100091;3.西南交通大学 计算机与人工智能学院,四川 成都 611756)

数字图像常受到攻击、恶意篡改等威胁,可能会对个人甚至社会造成严重影响,因此确保图像的真实性和完整性非常有必要[1]。可逆信息隐藏(Reversible Data Hiding,RDH)是信息隐藏[2]的重要分支,它将秘密信息嵌入载体图像产生含密图像(本文中提及的“信息嵌入”均指“秘密信息嵌入”),用户能从含密图像中准确提取嵌入的信息,并能无损地恢复原始图像[3]。RDH主要用作对图像进行完整性保护,可用于医学图像、军事图像、法律取证等对载体图像的数据完整性要求较高的领域[4-6]。

JPEG[7]是目前最常用的图像格式之一,具有文件小、利于网络传输等优点[8],且JPEG图像包含较少的冗余信息,基于JPEG图像的RDH受到广泛关注。嵌入容量、视觉失真、文件增长是衡量JPEG图像RDH算法性能的3个主要指标,嵌入容量越大、视觉失真和文件增长越小,算法性能越好。现有JPEG图像RDH主要分为3种方法:基于量化表修改的RDH[9-10]、基于霍夫曼表修改的RDH[11-13]和基于量化离散余弦变换(Discrete Cosine Transform,DCT)系数修改的RDH[14-25]。其中,前两种方法对视觉失真、文件增长兼顾的较好,不过嵌入容量较小;第3种方法选择特定的DCT系数嵌入秘密信息,具有较高的嵌入容量,而且类拉普拉斯分布的量化DCT系数直方图[26]是RDH的理想载体,利用直方图平移(Histogram Shifting,HS)在值为±1的交流(Alternating Current,AC)系数中嵌入秘密信息,可有效提高嵌入容量,同时通过块、频率选择策略可平衡视觉失真和文件增长。下面概述现有的基于HS在AC系数中嵌入信息的块选择策略和频率选择策略[16-25]。

块选择的主要目的是优先选择HS导致视觉失真较小的图像块嵌入信息,以保证图像的视觉质量。现有块选择策略研究可分为基于平滑度和基于模拟失真两类:①对于基于平滑度的块选择策略,Huang等[16]提出利用块内零系数个数来评价图像块平滑度,零系数个数越多代表图像块越平滑,优先选择平滑块嵌入信息,文献[20-22]即采用此类块选择策略。此外,王洋洋等[17]提出了基于直流(Direct Current,DC)系数波动的平滑度判定准则。②对于基于模拟失真的块选择策略,Hou等[18]提出平滑度以定性的角度分析视觉失真,但为进一步提高含密图像的视觉质量,还需计算在每个块中模拟嵌入“1”所导致的失真,优先在失真小的图像块中嵌入信息。由于实际的秘密信息服从{0,1}上的均匀分布,因此Hou等计算的模拟失真不一定准确。He等[19]发现图像视觉失真与DCT系数的分布有关,将分布函数代入失真函数中能更准确地估计图像块失真。不过,基于模拟失真的块选择仅适用于在非零系数中嵌入秘密信息,而在零系数嵌入方案中不适用。

频率选择主要是通过选择特定的AC系数嵌入信息,以降低视觉失真和文件增长。Wedaj等[20]提出一种容量/失真的频率选择策略,优先在容量大、失真小的频率中嵌入信息,文献[18-19,25]均制定了基于容量与失真关系的频率选择策略。为综合考虑图像的视觉失真和文件增长,He等[21]建立了信息嵌入的负面影响模型,用户根据对图像失真和文件大小的需求调整权重因子α,在频率选择的同时考虑信息嵌入对视觉失真和文件增长的影响。不过,现有频率选择策略尚未见到零系数嵌入对文件增长的研究报道。许多文献还通过使用二维直方图平移[22]、多目标优化[23]、多直方图平移[24]等方案,并与频率选择、块选择策略相结合,以实现文件增长与视觉质量之间的平衡。

以上研究[16-24]多在非零AC系数中嵌入秘密信息,信息嵌入后零系数不发生改变,能较好地控制文件增长,但也限制了嵌入容量,尤其是质量因子较小的JPEG图像。实际上,在JPEG图像中零系数个数远多于非零系数,且某些零系数对应的量化步长更小,修改导致的视觉失真会更小。Di等[25]提出了基于零系数的JPEG图像RDH,通过计算在每个频率位置值为0、1的AC系数嵌入信息导致的模拟单位失真代价函数,优先选择失真代价小的位置嵌入信息。零系数嵌入有效提高了JPEG图像的嵌入容量,失真代价函数保证了含密JPEG图像的视觉质量[25]。不过,文献[25]的频率选择策略没有考虑对文件增长的影响,含密JPEG图像的文件增长较大,而且对纹理比较复杂的图像,该算法生成的含密图像的视觉失真较大。

为提高JPEG图像的嵌入容量,同时兼顾含密图像的文件增长和视觉失真,本文提出一种降低文件增长和失真的零系数JPEG图像可逆信息隐藏算法。由于现有频率选择、块选择策略不适用于零系数嵌入方案,故本文重点研究零系数嵌入的频率选择策略和块选择策略,从而降低文件增长和视觉失真。

1 基于频率和块选择的零系数JPEG图像RDH

本文采用文献[25]的方法在AC系数为0、1处采用HS嵌入秘密信息,重点研究适用于零系数嵌入的频率、块选择策略。

1.1 零系数嵌入的频率选择策略

Di等[25]在选择频率时仅考虑了视觉失真,没有考虑零系数嵌入引起的文件大小变化,导致文件增长较大。为更好控制零系数嵌入产生的文件增长,本文提出一种零系数嵌入的频率选择策略。首先在熵编码之前对图像块进行Zigzag扫描,将扫描后的DCT系数序列转换成中间符号(Intermediate Symbol,IS),然后对该IS进行编码,得到相应的比特流。

在JPEG图像中共有三类中间符号:

Type1(R/C,V)。(R/C,V)为非零系数V的中间符号。其中R(0≤R≤15)为V之前连续零的个数(即零游程长度);C(0≤C≤10)为V的编码长度,也称为V的类别。用霍夫曼编码R/C,用变长整数编码V,(R/C,V)的编码长度为R/C与V的编码长度之和。

Type2ZRL。在扫描序列中非零系数前的连续零系数个数可能超过15,使用符号(15,0)表示扫描序列中的16个连续零系数,记为ZRL。根据JPEG图像头文件中的霍夫曼编码段可知ZRL编码长度为11 bit。

Type3EOB。使用符号(0,0)表示扫描序列尾部所有系数均为零,记为EOB。根据JPEG图像头文件中的霍夫曼编码段可知EOB编码长度为4 bit。

三类中间符号编码长度lIS(单位为bit)为

(1)

式中:hclt为交流系数霍夫曼编码长度表[22],见图1;hclt[R,C]为R/C的霍夫曼编码长度。

图1 交流系数霍夫曼编码长度表

一个量化DCT块经过Zigzag扫描后的AC系数及编码长度见图2(a);修改其中3个频率位置的零系数为-1后见图2(b)。其中,第1个零系数的修改为将原来的中间符号(5/2,3)变为(4/1,-1)和(0/2,3),文件增长-2 bit;第2个零系数的修改为将原来的中间符号ZRL、(1/3,4)变为(14/1,-1)、(2/3,4),文件增长9 bit;第3个零系数的修改为在原始中间符号的EOB前增加一个(0/1,-1),文件增长3 bit。显然修改这3个频率位置的零系数产生的文件增量差别很大,因此使用零系数嵌入信息,在频率选择时需要考虑零系数嵌入对文件增量的影响。文献[21]定义平均单位文件增量为在该频率嵌入信息引起的文件增量与该频率嵌入容量的比值,但其使用值为±1的AC系数承载秘密信息,文件增量仅由非零系数平移引起,因此,该平均单位文件增量计算公式不能用于零系数嵌入算法。

图2 修改不同位置的零AC系数产生文件增长示意

为找到用于零系数嵌入的频率位置,本文在平均单位文件增量公式[21]的分子部分增加了零系数嵌入的文件增量,定义用于零系数嵌入的模拟文件增量函数U(u,v)。U(u,v)越小,在该频率位置嵌入信息可能导致的文件增长越小,优先选择U(u,v)小的频率位置嵌入信息以降低含密图像的文件增长。U(u,v)为频率(u,v)处所有图像块非零系数平移和零系数嵌入产生的文件增量之和与该频率嵌入容量的比值,即

(2)

式中:n为图像块总数,对大小为M×N的JPEG图像,n=M/8×N/8;j为图像块编号;(u,v)为交流频率的位置,(1≤u≤8,1≤v≤8,且u≠1,v≠1)。

Ej(u,v)为第j块频率(u,v)处的DCT系数是否为0或1,即

(3)

Sj(u,v)为第j块频率(u,v)处的非零系数平移产生的文件增量,若第j块频率(u,v)处值为VS的非零系数对应的中间符号为(RS/CS,VS),则使用He等[21]提出的非零系数平移产生的文件增量Sj(u,v),否则为0,即

(4)

Tj(u,v)为在第j块频率(u,v)处零系数嵌入产生的文件增量,这是本文计算零系数嵌入的频率选择策略的关键步骤。为方便讨论,设一个频率位置上所有零系数均修改为-1,其余频率位置的DCT系数保持不变。

图像块中最后一个非零系数前的所有零系数(图2(a)中蓝色标记的零系数)称为EOB前零系数,最后一个非零系数后的所有零系数(图2(a)中绿色标记的零系数)称为属于EOB的零系数。修改EOB前零系数会改变原始图像块中间符号的零游程长度,图2(b)中AC系数为3的原始中间符号的零游程长度由5变为了0,AC系数为4的零游程长度由1变为了2。修改属于EOB的零系数不会改变原始图像块非零系数的零游程长度,仅增加新的中间符号,图2(b)中的(0/1,-1)。因此,下面分别讨论零系数为EOB前和属于EOB的模拟文件增量。

(1)EOB前的模拟文件增量

若第j块频率(u,v)处的零系数在EOB之前,则它后面一定存在着一个值为VT的非零系数,在该零系数中嵌入信息会改变VT对应的中间符号中的零游程长度。

(5)

在嵌入信息后,第j块频率(u,v)处的零系数修改为-1,将原始连续N0个零系数拆分成了两部分: (u,v)前N1个连续零系数和(u,v)后N2个连续零系数,易知N0、N1、N2关系为

N1+N2+1=N0

(6)

hclt(R1,1)+1+hclt(R2,CT)+CT

(7)

在第j块频率(u,v)处嵌入信息的文件大小变化Tj(u,v)为fe与fo的差值,即

(8)

式中:Ri=Nimod 16 ,i=0,1,2。

(2)属于EOB的模拟文件增量

若零系数属于EOB,则该零系数后面不存在非零系数,在该类零系数中嵌入信息不会改变原始中间符号的零游程长度,只会增加新的中间符号,即文件增量仅由S1导致。因此属于EOB的零系数嵌入产生的文件增量Tj(u,v)为

(9)

下面以图2为例,通过计算在不同频率位置产生的模拟单位文件增量,验证式(8)、式(9)的正确性。

图2(b)中第1个灰色频率位置处嵌入产生的文件增量:由于该位置后存在值为3的非零系数,容易得到N1=4,N2=0,N0=5;R1=4,R2=0,R0=5;CT=2;结合图1的交流系数霍夫曼编码长度表,并将它们代入式(8),得到文件增量为-2 bit。第2个灰色频率位置处嵌入产生的文件增量:由于该位置后面存在值为4的非零系数,容易得到N1=14,N2=2,N0=17;R1=14,R2=2,R0=1;CT=3;代入式(8)得到文件增长为9 bit。第3个灰色频率位置处嵌入产生的文件增量:由于该位置后不存在非零系数,将N1=0,R1=0代入式(9)得到文件增长为3 bit。将式(8)、式(9)整合,得到在第j块频率(u,v)处零系数嵌入信息产生的文件增量Tj(u,v)为

(10)

1.2 零系数嵌入的块选择策略

为降低含密图像的视觉失真,借鉴文献[16-17]的块选择方案,定义零系数嵌入块选择的平滑度函数P(i,j),用于选择零系数嵌入的图像块顺序,优先选择平滑度大的图像块隐藏信息。

对大小为M×N的JPEG图像,为保证算法的可逆性,本文使用图像块剩余频率(未被选择的频率位置)的零系数个数sur1(i,j)和DC系数波动sur2(i,j)作为衡量图像块平滑度的2个恒定特征,同时为更准确计算图像块平滑度,将这2个特征进行正归一化处理得到f1(i,j)、f2(i,j),并分别乘以各自对应的权重w1、w2再求和,得到图像块(i,j)的平滑度P(i,j)为

(11)

式中:(i,j)为图像块在图像中的位置,1≤i≤M/8,1≤j≤N/8。P(i,j)越大,图像块越平滑,并优先选择P(i,j)大的图像块嵌入信息。

本文仅在选择的频率位置嵌入信息,未被选择的频率位置的DCT系数在嵌入前后不会改变,因此sur1(i,j)在嵌入前后不变;本文使用AC系数携带秘密信息,DC系数不随秘密信息的嵌入而改变,即sur2(i,j)在嵌入前后不变;f1(i,j)、f2(i,j)是对sur1(i,j)、sur2(i,j)正归一化得到的,因此f1(i,j)、f2(i,j)嵌入前后也不会改变;权重w1、w2仅与剩余频率的个数有关,在嵌入前后不会改变。综上所述,P(i,j)在嵌入前后不改变,根据P(i,j)排序的图像块顺序也不会改变,因此能够按照嵌入时的图像块顺序提取出秘密信息,保证了算法的可逆性。下文从特征选取及处理、权重选取两个方面对图像块平滑度进行阐述。

(1)特征选取及处理

首先对2个恒定特征选取及处理进行说明,然后进一步分析使用剩余频率的零系数个数和DC系数波动来衡量基于零系数嵌入的图像块平滑度的合理性,以及采用特征处理的原因。

Feature1图像块剩余频率的零系数个数sur1(i,j)。由于仅在选择的频率位置处嵌入信息,图像块中未选择的频率位置的零系数个数在嵌入前后不改变,因此可以保证信息嵌入的可逆性。块中零系数个数越多,图像块越平滑[16],利用图像块(i,j)剩余频率的零系数个数sur1(i,j)来判断图像块的平滑度,sur1(i,j)越大,图像块越平滑。

Feature2图像块DC系数波动sur2(i,j)。剩余频率位置越少,sur1(i,j)相同的图像块越多,仅使用sur1(i,j)无法区分这些图像块。若63个频率位置均用于信息嵌入,则不存在剩余频率,因此使用sur1(i,j)无法实现块排序。为解决无法区分零系数个数相同的图像块和剩余频率不存在的问题,引入DC系数波动sur2(i,j)。王洋洋等[17]研究发现,经DCT变换后,图像块大部分能量集中在左上角的DC系数中,相邻图像块的DC系数常具有较大相关性。因此,DC系数波动也反映了图像块平滑度,DC系数波动越小,图像块越平滑。

为使本文所提出的方案可逆,需将秘密信息长度和选择的频率位置作为辅助信息嵌入在DC系数的最低有效位(Least Significant Bit,LSB)中。由于DC系数的LSB用于嵌入辅助信息,因此在计算DC系数波动时,需将DC系数的LSB置零,以保证sur2(i,j)不随辅助信息的嵌入而改变。sur2(i,j)的计算式为

(12)

式中:DC*(i,j)为置零DC系数LSB后的DC系数值;A为与位置为(i,j)的图像块相邻的图像块个数,A=2,3,4;A(i,j)为(i-1,j)、(i,j+1)、(i+1,j)、(i,j-1) 4个DCT块的位置坐标。sur2(i,j)越小,该图像块与其相邻图像块越相近,图像块越平滑。

从上面的分析可以得出sur1(i,j)越大,sur2(i,j)越小,图像块越平滑。因此,sur1(i,j)与P(i,j)正相关,是一个正指标;sur2(i,j)与P(i,j)负相关,是一个负指标。由于sur1(i,j)、sur2(i,j)的量纲不同,不能将sur1(i,j)与sur2(i,j)直接加权求和计算图像块平滑度,为更准确计算P(i,j),将这两个特征处理成归一的正指标f1(i,j)、f2(i,j),即

(13)

经过处理后,sur1(i,j)、sur2(i,j)分别转换为f1(i,j)、f2(i,j)(0≤f1(i,j)≤1,0≤f2(i,j)≤1),且f1(i,j)、f2(i,j)越大,图像块越平滑。

(2)权重选取

图像块平滑度为剩余频率的零系数个数与DC系数波动的加权和。设w1、w2分别代表f1(i,j)、f2(i,j)的权重,权重越大表示其对应特征更能够代表图像块的平滑度。w1、w2的约束条件为

(14)

当剩余频率个数为0时,P(i,j)完全由DC系数波动决定,此时w1= 0,w2= 1;随着剩余频率个数的增加,图像块平滑度由2个特征共同决定,w1逐渐增大,w2逐渐减小,可得到w1与剩余频率个数呈正相关关系。考虑到线性的简单性并结合w1、w2与剩余频率个数的关系,得到w1、w2的计算式为

(15)

式中:x为剩余频率个数。

1.3 信息嵌入、信息提取与图像恢复过程

信息嵌入时,首先解码原始JPEG图像,根据模拟单位文件增量和图像块平滑度分别对频率和图像块排序,确定嵌入的频率和图像块,然后通过HS在值为0、1的AC系数中嵌入信息,最后熵编码得到含密JPEG图像。信息提取与图像恢复时,首先解码含密JPEG图像,从含密图像DC系数的LSB中提取辅助信息,再利用HS实现信息提取和原始DCT块恢复,最后熵编码得到恢复的JPEG图像。下面,详细说明这两个过程的具体实现步骤。

(1)信息嵌入过程

Step1原始JPEG图像解码。解码大小为M×N的原始JPEG图像,得到m×n个量化DCT块Do(i,j),其中,i=1,2,…,m;j=1,2,…,n;m=M/8,n=N/8。

Step2频率排序和块排序。通过式(2)计算每个频率的模拟单位文件增量U(u,v),按U(u,v)从小到大的顺序对63个频率排序,得到频率序列Fq。通过式(11)计算所有图像块平滑度P(i,j),按P(i,j)从大到小的顺序对图像块排序,得到图像块序列Bq。

Step3最优频率选择和块选择。①选择频率序列Fq中满足秘密信息数量的前k个频率,拟在该k个频率中嵌入信息;②按照图像块序列Bq依次选择图像块,直至信息完全嵌入;③令k=k+1,重复①和②,直到k=63,找到使图像视觉失真最小的前kopt个频率,记为所选取的频率Fkq。

Step4记录辅助信息。将秘密信息数量L和选取的频率Fkq作为辅助信息,记录在JPEG图像DC系数的LSB中,记录L所需位数为log2(M×N),记录Fkq所需位数为63位。对于512×512的图像,所需的辅助信息总位数为81位,将它们嵌入在前81个图像块DC系数的LSB中。为无损恢复原始DC系数的LSB,需在嵌入数据前将这81个块的原始LSB作为秘密信息的一部分,在信息嵌入过程中进行嵌入。

Step5信息嵌入。将秘密信息通过式(16)嵌入在选择的频率位置Fkq和图像块中,得到含密DCT块Dm(i,j)。

(16)

式中:V(u,v)为频率位置(u,v)处的原始AC系数;b为需要嵌入的秘密信息,b∈{0,1};V′(u,v)为嵌入信息后(u,v)处的AC系数。

Step6熵编码得到含密JPEG图像。对所有秘密信息嵌入后的DCT块Dm(i,j)熵编码得到含密JPEG图像。

(2)信息提取与图像恢复过程

Step1含密JPEG图像解码。解码大小为M×N的含密JPEG图像,得到m×n个量化DCT块Dm(i,j),其中,i=1,2,…,m;j=1,2,…,n;m=M/8,n=N/8。

Step2提取辅助信息。从含密图像DC系数的LSB中提取辅助信息,得到秘密信息数量L和嵌入的频率位置Fkq。

Step3图像块排序。根据Dm(i,j)计算图像块平滑度P(i,j),根据P(i,j)从大到小的顺序对图像块排序得到序列Bq。

Step4提取秘密信息和恢复原始DCT块。按照图像块排列Bq的顺序,依次在图像块的频率Fkq处按照式(16)的逆过程提取信息,并恢复原始DCT系数Do(i,j)。

Step5熵编码恢复原始JPEG图像。对Do(i,j)熵编码得到恢复的原始JPEG图像。

2 实验与结果

下面通过实验验证分析本文算法的性能。实验中秘密信息随机生成,测试图像为图像库[27]中3幅大小为512×512的JPEG灰度图像,见图3,以及取自UCID图像库[28]的100幅JPEG灰度图像,统计测试结果为平均值,质量因子分别取30、50、70,使用IJG工具箱[29]编解码JPEG图像。从嵌入容量、视觉失真、文件增长三个方面测试算法性能,选择He[21]算法(α=0.5)、Li[22]算法 、Yin[23]算法、Xiao[24]算法、Di[25]算法与本文算法Proposed进行对比分析。

图3 3幅测试图像

2.1 嵌入容量

嵌入容量是衡量JPEG图像RDH的重要指标之一,测试图像在不同质量因子QF下的最大嵌入容量MEC对比见表1。质量因子越大,量化表的量化步长越小,根据JPEG量化原理可知,量化DCT系数中的零系数越少,非零系数越多。

表1 测试图像在不同质量因子下的最大嵌入容量对比 bit

由表1可见,He[21]、Li[22]、Yin[23]、Xiao[24]算法均在非零系数中利用HS嵌入信息,MEC随质量因子增大而增大;本文采用Di[25]算法在AC系数为0、1处使用HS嵌入信息,两者的MEC相等,且随质量因子的增大而减小。本文算法的MEC,在质量因子=30时可达到非零系数嵌入算法的13~17倍;在质量因子=50时可达到非零系数嵌入算法的10~13倍;在质量因子=70时可达到非零系数嵌入算法的8~10倍。因此,零系数嵌入算法在嵌入容量方面具有显著优势。

频率选择策略和块选择策略的有效性与嵌入容量有关。秘密信息越少,较少频率位置和图像块即可满足秘密信息的数量要求,此时频率、块选择策略有效。但随着秘密信息的增加,需要的频率位置和图像块增多,当秘密信息数量接近MEC时,几乎需要所有频率位置和图像块才能完全嵌入秘密信息,此时频率、块选择失效。因此,当秘密信息数量达到非零系数嵌入算法的MEC时,其他算法的频率、块选择策略失效,但该秘密信息数量仍远小于本文算法的MEC,本文算法的频率、块选择策略仍有效,依然可实现文件增长和视觉失真的平衡。

2.2 文件增长

文件增长是衡量JPEG图像RDH的重要指标之一,本文使用单位文件增量UIFS[17]来衡量含密图像文件增长,即嵌入1 bit信息含密图像的平均文件增量。

(17)

式中:Sm为嵌入L比特秘密信息后的含密图像文件大小,bit;So为原始载体图像文件大小,bit。UIFS越小,表示嵌入前后图像变化越小,利于网络传输的同时也提高了信息隐藏的安全性,对应算法性能越好。

测试图像在不同质量因子和秘密信息数量下的UIFS对比见表2。由表2可以看出,零系数嵌入以较高文件增长为代价换取嵌入容量极大提升,本文算法的UIFS始终大于非零系数嵌入的算法[21-24],但本文算法能够达到其他算法无法嵌入的秘密信息数量,且UIFS均小于Di[25]算法,降低了零系数嵌入产生的文件增长。

表2 测试图像UIFS的秘密信息数量对比 bit

为显示本文频率选择策略在降低文件增长上的性能,对Di[25]算法和本文算法的UIFS进行对比。不同秘密信息数量下含密图像的UIFS对比见图4。由图4可看出,Di[25]算法的UIFS不稳定,这是因为其频率选择策略仅从视觉失真角度出发,但失真小的频率位置不一定文件增长小;本文算法得到的UIFS更稳定,UIFS比Di[25]算法平均降低0.22~0.36,这是因为本文在选择频率时模拟了信息嵌入的单位文件增量,并能优先选择导致文件增长小的频率嵌入,而Di[25]算法在选择频率时仅考虑视觉失真,没有考虑零系数嵌入引起的文件大小变化,导致文件增长较大。本文算法在文件增长方面优于Di[25]算法。

图4 不同秘密信息数量下含密图像的UIFS对比

2.3 视觉失真

含密图像的视觉失真是衡量JPEG图像RDH性能的重要指标,常使用原始图像与含密图像之间的峰值信噪比PSNR来度量,单位为dB。PSNR越大,嵌入信息后载体图像的视觉失真越小,信息隐藏安全性越高,算法性能越好。在不同质量因子、不同秘密信息数量下的PSNR对比见图5。

由图5可以看出,本文算法在质量因子越小、载体图像越平滑、秘密信息数量越多的情况下,在视觉质量上的优势越明显,在相同秘密信息数量下,本文算法得到的PSNR比非零系数嵌入算法平均增加1.2~2.5 dB。这是因为载体图像越平滑、质量因子越小,其零系数个数越多,与He[21]、Li[22]、Yin[23]、Xiao[24]算法相比,本文可选择嵌入秘密信息的位置越多,并根据本文零系数嵌入的频率、块选择策略,能更好地找到造成视觉失真较小的DCT系数。且随着秘密信息数量的增加,逐渐接近非零系数嵌入算法的MEC,其他算法的频率、块选择策略逐渐失效,而对于本算法,该秘密信息数量仍远小于本文算法的MEC,本文采用的频率、块选择策略更有效,可获得较小的视觉失真。

图5 不同质量因子、不同秘密信息数量下含密图像的PSNR对比

在相同秘密信息数量下,由本文算法得到的含密图像的PSNR比Di[25]算法平均增加1.8~2.3 dB,有效降低了含密图像的视觉失真。这是因为Di[25]算法没有使用块选择策略,可能优先使用了较纹理图像块嵌入信息,造成了更多未承载秘密信息的无效移位,从而引起了较大的视觉失真。本文算法的视觉失真性能优于Di[25]算法。

3 结论

(1)为提高JPEG图像的嵌入容量,同时兼顾文件增长和视觉失真,本文提出降低文件增长和失真的零系数JPEG图像可逆信息隐藏算法,利用直方图平移在值为0、1的AC系数中嵌入秘密信息。

(2)为降低文件增长,研究给出了零系数嵌入的频率选择策略,根据中间符号的零游程长度是否改变,得到了在EOB前和EOB中的零系数嵌入的模拟文件增量。

(3)利用块选择策略以降低视觉失真,借鉴现有基于平滑度的块选择方案,使用图像块剩余频率的零系数个数和DC系数波动作为计算平滑度的两个恒定特征,并通过正归一化处理和权重选取策略,实现了更准确计算图像块平滑度。

(4)实验结果表明:与同类非零系数嵌入算法相比,本文算法嵌入容量显著提升,在质量因子越小、载体图像越平滑、秘密信息越多的情况下,在视觉质量上的优势显著;与零系数嵌入算法相比,本文算法的文件增长和视觉失真均优于现有零系数嵌入算法,降低了零系数嵌入的文件增量和视觉失真。

猜你喜欢
增量秘密编码
提质和增量之间的“辩证”
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
“价增量减”型应用题点拨
Genome and healthcare
愿望树的秘密(二)
基于均衡增量近邻查询的位置隐私保护方法
我心中的秘密
第十三章 进化的秘密!