An Improved Reversible Data Hiding in Encrypted Images Using Parametric Binary Tree Labeling
一种基于参数二叉树标记改进的加密图像可逆数据隐藏方案 [Paper]
Youqing Wu , Youzhi Xiang , Yutang Guo, Jin Tang, and Zhaoxia Yin , Member, IEEE
IEEE Transactions on Multimedia (Volume: 22, Issue: 8, Aug. 2020) Pages: 1929 - 1938
摘要 - 这项工作提出了一种基于参数二叉树标记改进的加密图像中的可逆数据隐藏方案(IPBTL-RDHEI),该方案利用了整个原始图像中的空间相关性,而非小图像块中的空间相关性来为数据隐藏留出空间。然后,使用加密密钥对原始图像进行加密,并使用参数二叉树将加密后的像素标记为两个不同的类别。最后,两类加密像素之一可以通过位替换嵌入秘密信息。实验结果表明,与现有的几种方法相比,本文提出的 IPBTL-RDHEI 方法具有更高的嵌入率,并优于同类方法。由于 IPBTL-RDHEI 具有可逆性,因此原始的明文图像和秘密信息可以分别被无损地恢复和提取。
索引词 - 分别进行图像加密,可逆数据隐藏,参数二叉树标记
I. 介绍
在明文域中的可逆数据隐藏(RDH)是一种修改原始封面图像以隐藏秘密信息(秘密数据)的技术[1] – [4]。在提取秘密信息后,原始封面图像可以完全恢复。在过去几十年中,由于其在图像不被干扰的前提下的潜在应用,可逆数据隐藏已引起了信息隐藏社区的广泛研究兴趣。到目前为止,已经设计出了许多方法,这些方法主要可以分为三类:基于无损压缩的方法[5],[6],基于差分展开的方法[7] – [9]和基于直方图移位的方法[10],[11]。这些方法旨在确保密码信息不被检测到并且图像的变化不可察觉。
随着对云存储上用户隐私保护的需求不断增长,自Puech提出的开拓性工作以来,已发布了许多加密图像中的可逆数据隐藏方案(RDHEI)[12]。RDHEI 技术将秘密信息嵌入加密的图像而不是明文图像[13] – [16],这涉及三个方面:内容所有者,数据隐藏者和接收者。原始图像提供者(内容所有者)在将原始图像发送到云之前对其进行加密。云管理者(数据隐藏者)将秘密信息嵌入到加密的映像中,而无需知道原始的明文图像和加密密钥。对于接收者,可以恢复原始的明文图像,并可以提取秘密信息。图1准确显示了 RDHEI 方法的框架.
一般而言,所报告的 RDHEI(加密图像中的可逆数据隐藏) 技术可以主要分为三类:1)加密后腾出空间(VRAE)[13],[17]; 2)通过加密腾出空间(VRBE)[18]; 3)加密前预留空间(RRBE)[19]-[21]。由于加密操作破坏了原始明文图像的空间相关性,因此 VRAE 方法很难获得令人满意的嵌入能力。VRBE 方法使用一些特殊的加密方案对原始的明文图像进行加密,同时在加密后保留图像中的部分空间相关性。由于在 VRBE 方法中没有充分利用空间冗余,因此嵌入能力也受到限制。与 VRBE 和 VRAE 不同,已经提出的RRBE方法来利用原始明文图像中的空间相关性,该方法在图像加密之前保留空间以便获得更高的嵌入能力。
在以前的 RDHEI(加密图像中的可逆数据隐藏) 方法中,图像恢复和秘密信息提取需要进行共同处理[13]。为了分离图像恢复和秘密信息提取的过程,加密域中的可分离 RDH(可逆数据隐藏) 被研究了出来[17] – [21]。Zhang [17]提出了一种可分离的 RDHEI 方案,通过压缩最低有效位来释放稀疏空间以容纳秘密信息。Yi等人[18]提出了一种利用参数二叉树标记的VRBE(通过加密腾出空间)可分离RDHEI方法,通过利用小图像块内的局部相关性来嵌入秘密信息。Puteaux等人[19]提出使用 MSB(最高有效位) 替代来嵌入秘密信息。由于明文图像中的空间相关性,可以基于 MSB 预测恢复原始图像,并可以从 MSB 平面提取秘密信息。但是[19]中的方法仅用一个 MSB 来嵌入秘密信息,因此嵌入率低于每像素一位(bpp)。基于[19],在[20]中提出了一种改进的方法,该方法通过两个MSB(MSB和第二MSB)平面替换嵌入秘密信息,从而使嵌入速率可以超过1 bpp。Chen等[21]将原始明文图像的基于块的 MSB 平面转换为比特流,并采用游程编码对比特流进行压缩以嵌入秘密信息,但是嵌入率也不是很理想。
由于Yi等[18]仅在小的图像块中使用了冗余,而没有在整个图像中使用,因此没有充分利用空间冗余。基于Yi等人的方法[18],本文提出了一种改进的使用参数二叉树标记的加密图像的可逆数据隐藏方案(IPBTL-RDHEI),这是一种大容量RRBE(加密前预留空间)可分离 RDHEI 方法。首先,内容所有者在加密之前在明文图像中保留嵌入空间,并使用参数二叉树将加密像素做标签为两个不同的类别,以隐藏秘密信息。第二,数据隐藏者通过位替换将秘密信息嵌入到两类加密像素之一中。第三,接收者可以根据不同的权限获得原始的明文图像,秘密信息或两者。与Yi等人的方法[18]相比,所提出的 IPBTL-RDHEI 方法充分利用了图像冗余性,并实现了更高的嵌入率。
本文的主要贡献如下:
1)提出的 IPBTL-RDHEI 方法在加密之前在明文图像中保留空间,这充分利用了整个原始图像中的空间相关性,而不是小图像块中的空间相关性来嵌入数据。
2)我们提出了在加密域中的一种使用参数二叉树标记的 RDH(可逆数据隐藏) 有效方法,并且比最新方法具有更高的嵌入率。所提出的IPBTL-RDHEI方法在图像恢复和数据提取中是可分离的并且没有错误。
本文其余部分的结构如下: 第二节介绍参数二叉树标记方案。第三节详细介绍了 IPBTL-RDHEI 方法。第四部分显示了实验结果和分析。第五节总结了本论文以及未来的相关工作。
II. 参数二叉树标记方案
图像中的像素可以通过参数二叉树标记方案(PBTL)[18]分为两个不同的类别,图2是一个完整的二叉树,用于说明二进制码的分布。
对于具有8位深度图像的像素,完整的二叉树有7层,第
i
t
h
i^{th}
ith 层有
2
i
2^i
2i 个节点,其中
i
=
1
,
2
,
.
.
.
,
7
i = 1, 2,...,7
i=1,2,...,7。在给定两个参数
α
\alpha
α 和
β
\beta
β(其中
1
≤
α
,
β
≤
7
1\leq\alpha,\beta\leq7
1≤α,β≤7)的情况下,假定为 G1 和 G2 的两个不同类别的像素做如下标签。对于G2,所有像素都用相同的 β 位标签为 ‘0 … 0’ ,这是第
β
t
h
\beta^{th}
βth 层的第一个节点。对于G1,所有像素都分为
n
α
n_\alpha
nα 个不同的子类别,我们使用以下方程式Eq.(1)计算正整数
n
α
n_\alpha
nα[18]:
n α = { 2 α − 1 , α ⩽ β ( 2 β − 1 ) ∗ 2 α − β , α > β (1) n_{\alpha }= \left\lbrace \begin{array}{ll}2^{\alpha }-1, &\quad \alpha \leqslant \beta \\ \left(2^{\beta }-1 \right) \ast 2^{\alpha -\beta }, &\quad \alpha > \beta \end{array}\right. \tag{1} nα={2α−1,(2β−1)∗2α−β,α⩽βα>β(1)
当
α
≤
β
\alpha\leq\beta
α≤β 时,选择第
α
t
h
\alpha^{th}
αth 层从右到左的
2
α
−
1
2^\alpha-1
2α−1 个节点,以标签G1中的
n
α
n_\alpha
nα 个不同的子类别。当
α
>
β
\alpha>\beta
α>β 时,选择第α层从右到左的
(
2
β
−
1
)
∗
2
α
−
β
(2^\beta-1)*2^{\alpha-\beta}
(2β−1)∗2α−β 节点以标签G1中的
n
α
n_\alpha
nα 个不同的子类别,即,当
α
>
β
\alpha>\beta
α>β 时,选择不是从第 β 层第一个节点 ‘0 … 0’ 派生的
n
α
n_\alpha
nα 个二进制节点。此外,同一子类别中的像素被标以相同的 α 位二进制码,而不同子类别中的像素被标以不同的 α 位二进制码。表I和表II是当 β=1到2 和 α= 1到7 时标签位选择的两个说明性示例。
从 表I–II 中可以看出,例如,当 α= 3,β= 2 时,G2中的所有像素都做标签为 ‘00’ ,并且在第
3
t
h
3^{th}
3th 层从右到左的
(
2
β
−
1
)
∗
2
α
−
β
=
6
(2^\beta-1)*2^{\alpha-\beta}=6
(2β−1)∗2α−β=6 个节点被选择以对 G1 中的6个不同的子类别做标签。选择的6个节点是 ‘111’, ‘110’, ‘101’, ‘100’, ‘011’ 和 ‘010’,它们不是从节点 ‘00’ 派生的, 也就是说, 从 ‘00’ 派生的 ‘000’ 和 ‘001’ 被忽略,而第三层中的其余节点被保留。
III. 提出的方案
提出的 IPBTL-RDHEI(一种基于参数二叉树标记改进的加密图像中的可逆数据隐藏方案) 方法包括三个主要阶段:1)由内容所有者完成带有标签的加密图像的生成,2)由数据隐藏者完成标记的加密图像的生成,以及3)由接收者完成数据提取/图像恢复。在第一阶段,内容所有者检测原始明文图像的预测误差,并使用加密密钥对原始明文图像进行加密。然后,PBTL(参数二叉树标记) 用于将加密的像素做标签为可嵌入像素集和不可嵌入像素集。在第二阶段中,在使用数据隐藏密钥之后,秘密信息可以通过对可替换像素集的像素进行位替换来隐藏。在第三阶段中,秘密信息必须能在仅使用数据隐藏密钥的情况下从标记的加密图像中正确提取,并且原始明文图像必须能在仅利用加密密钥下利用空间相关性来无损地重建。当使用两个密钥时,原始明文图像必须能被无损地恢复, 而秘密信息也能被无损地提取。图3说明了所提出的 IPBTL-RDHEI 方法的框架。
A. 带有标签的加密图像的生成
此阶段包括四个步骤:预测误差检测,图像加密,使用PBTL(参数二叉树标记) 进行像素分组和像素标签,这些步骤介绍如下:
1)预测误差检测:对于原始的明文图像,第一行和第一列上的像素保留为参考像素。如图4所示的中值边缘检测器(median edge detector, MED)预测因子[8]可以利用左、上以及左上的邻近像素来预测图像像素:
p
x
=
{
max
(
b
,
c
)
,
a
⩽
min
(
b
,
c
)
min
(
b
,
c
)
,
a
⩾
max
(
b
,
c
)
b
+
c
−
a
,
o
t
h
e
r
w
i
s
e
(2)
px = \left\lbrace \begin{matrix}\max (b,c), &\quad a\leqslant \min (b,c) \\ \min (b,c), &\quad a\geqslant \max (b,c) \\ b+c-a, &\quad otherwise \end{matrix}\right. \tag{2}
px=⎩
⎨
⎧max(b,c),min(b,c),b+c−a,a⩽min(b,c)a⩾max(b,c)otherwise(2)
其中 px 是 x 的预测值。因此,预测误差 e 由以下公式计算:
e
=
x
−
p
x
\begin{equation*} e = x-px \tag{3} \end{equation*}
e=x−px(3)
2)图像加密:在获得8位深度原始图像 I 的所有预测误差后,我们使用以下公式将原始图像 I 中的每个像素转换为8位二进制序列:
x
k
(
i
,
j
)
=
⌊
x
(
i
,
j
)
/
2
k
−
1
⌋
m
o
d
2
,
k
=
1
,
2
,
…
,
8
(4)
x^{k}(i,j)=\left\lfloor x(i,j)/2^{k-1} \right\rfloor mod \;2,\quad k=1,2,{\ldots },8 \tag{4}
xk(i,j)=⌊x(i,j)/2k−1⌋mod2,k=1,2,…,8(4)
其中 k 是二进制序列的相应位,
1
≤
i
≤
m
1\leq i\leq m
1≤i≤m 和
1
≤
j
≤
n
1\leq j\leq n
1≤j≤n,
m
∗
n
m*n
m∗n 是原始图像 I 的大小,
⌊
∗
⌋
\lfloor * \rfloor
⌊∗⌋ 是向下运算。通过加密密钥生成与原始图像 I 大小相同的伪随机矩阵 R。类似地,使用等式 Eq.(4) 将 R 中的每个像素
r
(
i
,
j
)
r(i,j)
r(i,j) 转换为8位二进制序列。然后可以通过按位异或(XOR)操作获得加密的8位二进制序列:
x
e
k
(
i
,
j
)
=
x
k
(
i
,
j
)
⊕
r
k
(
i
,
j
)
,
k
=
1
,
2
,
…
,
8
(5)
x_{e}^{k}(i,j) =x^{k}(i,j) \oplus r^{k}(i,j),\quad k=1,2,{\ldots },8 \tag{5}
xek(i,j)=xk(i,j)⊕rk(i,j),k=1,2,…,8(5)
其中
⊕
\oplus
⊕ 是按位 XOR(异或) 运算,而
x
e
k
(
i
,
j
)
x^k_e(i,j)
xek(i,j) 表示加密后的8位二进制序列。最后,等式 Eq.(6) 用于计算加密像素
x
e
(
i
,
j
)
x_e(i,j)
xe(i,j):
x
e
(
i
,
j
)
=
∑
k
=
1
8
x
e
k
(
i
,
j
)
×
2
k
−
1
,
k
=
1
,
2
,
…
,
8
(6)
x_{e}(i,j) =\sum _{k=1}^{8}x_{e}^{k}(i,j)\times 2^{k-1},\quad k=1,2,{\ldots },8 \tag{6}
xe(i,j)=k=1∑8xek(i,j)×2k−1,k=1,2,…,8(6)
这样,就生成了加密图像
I
e
I_e
Ie。图5显示了预测误差检测和图像加密的示例。图5(a)作为原始图像,其中 m = 4, n =5。图5(a)的相应预测值如图5(b)所示,第一行和第一列的像素保留作为参考像素。图5©显示了从图5(a)和图5(b)作差得到的预测误差。不失一般性,假定图5(d)是通过加密密钥
k
e
k_e
ke 对图5(a)的加密图像。
3)像素分组:我们将加密图像
I
e
I_e
Ie 中的所有像素分成参考像素集(
P
r
P_r
Pr),特殊像素集(
P
s
P_s
Ps),可嵌入像素集(
P
e
P_e
Pe)和不可嵌入像素集(
P
n
P_n
Pn)。第一行和第一列上的像素属于
P
r
P_r
Pr,在生成标记的加密图像期间,它们将保持不变。我们可以选择任意一个像素为
P
s
P_s
Ps,它将用于存储参数 α 和 β。然后,对于每个剩余像素
I
e
i
(
i
=
1
,
2
,
.
.
.
,
m
∗
n
−
(
m
+
n
−
1
)
−
1
)
I_{e_i}(i = 1, 2, ..., m * n - (m + n - 1) -1)
Iei(i=1,2,...,m∗n−(m+n−1)−1),根据由公式 Eq.(3) 计算的相应的预测误差
e
i
(
i
=
1
,
2
,
.
.
.
,
m
∗
n
−
(
m
+
n
−
1
)
−
1
)
e_i (i = 1, 2, ..., m * n - (m + n-1) -1)
ei(i=1,2,...,m∗n−(m+n−1)−1) 。如果
e
i
e_i
ei 满足等式 Eq.(7) 的条件[18],像素
I
e
i
I_{e_i}
Iei 属于
P
e
P_e
Pe;否则,它属于
P
n
P_n
Pn。
P
e
P_e
Pe 中的像素可以嵌入秘密信息,而
P
n
P_n
Pn 则不能。
⌈
−
n
α
2
⌉
⩽
e
i
⩽
⌊
n
α
−
1
2
⌋
(7)
\left\lceil -\frac{n_{\alpha }}{2} \right\rceil \leqslant e_{i}\leqslant \left\lfloor \frac{n_{\alpha }-1}{2} \right\rfloor \tag{7}
⌈−2nα⌉⩽ei⩽⌊2nα−1⌋(7)
其中
n
α
n_\alpha
nα 由等式 Eq.(1) 计算。
⌈
∗
⌉
\lceil*\rceil
⌈∗⌉ 是取上操作,
⌊
∗
⌋
\lfloor*\rfloor
⌊∗⌋ 是取下操作。令
n
r
,
n
e
n_r, n_e
nr,ne 和
n
n
n_n
nn 分别表示
P
r
P_r
Pr,
P
e
P_e
Pe 和
P
n
P_n
Pn 中的像素数。因此,
m
∗
n
=
n
r
+
n
e
+
n
n
+
1
m * n = n_r + n_e + n_n + 1
m∗n=nr+ne+nn+1,而
n
r
=
m
+
n
−
1
n_r = m + n − 1
nr=m+n−1。
图6是当 α=3, β=2 时图5的像素分组。根据前述,我们选择第一行和第一列上的像素作为
P
r
P_r
Pr。在不失一般性的情况下,最后一个像素被选为
P
s
P_s
Ps。由等式 Eq.(1) 和等式 Eq.(7)。如果预测误差
e
i
e_i
ei 满足条件:
−
3
≤
e
i
≤
2
-3\leq e_i\leq 2
−3≤ei≤2,则像素
I
e
i
I_{e_i}
Iei 属于
P
e
P_e
Pe; 否则,它属于
P
n
P_n
Pn。
4)使用PBTL标记像素:由于
P
r
P_r
Pr 和
P
s
P_s
Ps 的位置是预先定义的,因此我们只需要使用 PBTL(参数二叉树标记方案) 方案对
P
e
P_e
Pe 和
P
n
P_n
Pn 中的像素做标签。给定两个参数 α 和 β,
P
n
P_n
Pn 中的所有像素都用相同的 β 位做标签为 ‘0 … 0’,并且每个像素的其余(8-β)位应保持不变。对于
P
e
P_e
Pe,根据不同的预测误差将所有像素分为
n
α
n_\alpha
nα 个不同的子类别。此外,同一子类别中的像素被标记为相同的 α 位二进制码,而不同子类别中的像素被标记为不同的 α 位二进制码。注意,由于原始图像的空间相关性,相邻像素的预测误差很可能是相同的,然后相邻像素很可能用相同的二进制码做标签。如果使用每个像素的最高有效位通过位替换来做标签,则可能会显示原始图像内容。为避免此问题,采用每个像素的最低有效位代替最高有效位做标签,即对于
P
e
P_e
Pe 和
P
n
P_n
Pn,在使用 PBTL 进行像素标签之前,我们以相反的顺序排列每个像素的8位二进制序列。
B. 标记加密图像的生成
首先将参数 α 和 β 存储在
P
s
P_s
Ps 中,由于
1
≤
α
,
β
≤
7
1\leq\alpha,\beta\leq 7
1≤α,β≤7,
P
s
P_s
Ps 足以通过位替换存储它们,因此,原始的8位
P
s
P_s
Ps 被存储为辅助信息。另外,对于
P
n
P_n
Pn 中的所有像素,其每个像素替换前的原 β 位也需要被记录为辅助信息。因此,辅助信息包含两部分:
P
s
P_s
Ps 的原始8位和
P
n
P_n
Pn 中每个像素的替换前的原始 β 位。有效负载包括辅助信息和秘密信息。
P
e
P_e
Pe 中的每个像素在像素标记期间都用 α 位二进制码标记,然后保留其余的(8-α)位以通过位替换隐藏有效载荷位。因此,数据隐藏者可以成功地嵌入
(
8
−
α
)
∗
n
e
(8-\alpha)*n_e
(8−α)∗ne 位的有效载荷,其中包括
8
+
β
∗
n
n
8 +\beta* n_n
8+β∗nn 位的辅助信息和
(
8
−
α
)
∗
n
e
−
(
8
+
β
∗
n
n
)
(8-\alpha)* n_e-(8 +\beta* n_n)
(8−α)∗ne−(8+β∗nn) 位的秘密信息。为了数据安全,在嵌入操作之前,需要首先使用数据隐藏密钥
k
d
k_d
kd 对秘密信息进行加密。通过上述方式,便生成了标记的加密图像。
给定不同的参数 α 和 β,净嵌入率
r
α
,
β
r_{\alpha,\beta}
rα,β(bpp) [18]可计算为:
r
α
,
β
=
(
8
−
α
)
∗
n
e
−
(
8
+
β
∗
n
n
)
m
∗
n
(8)
r_{\alpha, \beta }=\frac{(8-\alpha) *n_{e}-(8+\beta *n_{n})}{m*n} \tag{8}
rα,β=m∗n(8−α)∗ne−(8+β∗nn)(8)
实际上,我们进一步获得最大净嵌入率
r
max
r_{\max}
rmax(bpp) [18]为:
r
max
=
max
(
r
α
,
β
)
α
=
1
,
β
=
1
7
(9)
r_{\max }=\max (r_{\alpha, \beta })_{\alpha =1,\beta =1}^{7} \tag{9}
rmax=max(rα,β)α=1,β=17(9)
图7显示了当 α=3, β=2 时像素标记和有效载荷嵌入的示例。图7(a) 指示了
P
e
P_e
Pe 和
P
n
P_n
Pn 的标签位选择。在这里,‘00’ 用于标记
P
n
P_n
Pn 中的每个像素,当预测误差等于 2, 1, 0, -1, -2, -3 时,‘111’, ‘110’, ‘101’, ‘100’, ‘011’, ‘010’ 分别用于标记
P
e
P_e
Pe 中的像素。图7(b) 表示图5(d) 的8位二进制序列。图7© 表示
P
e
P_e
Pe 和
P
n
P_n
Pn 中每个像素的相反顺序。图7(d) 显示了对像素做标签之后的像素位。图7(e) 是带有标签的加密图像,图7(f) 是有效载荷嵌入之后的标记加密图像。可以看出,
P
r
P_r
Pr 中的像素保持不变,然后利用
P
s
P_s
Ps 的前 4 位存储 α,利用
P
s
P_s
Ps 的后 4 位存储 β。根据不同的预测误差,
P
n
P_n
Pn 中的每个像素都标记有 ‘00’,
P
e
P_e
Pe 中的每个像素都标有3位二进制码。图7(f) 中的 ‘-----’ 表示已嵌入有效载荷的位。请注意,有效负载包含辅助信息 ‘00000001’, ‘00’, ‘10’ 和 ‘01’。
C. 数据提取和图像恢复
数据提取和图像恢复的过程是有效载荷嵌入的逆过程。在接受者端,秘密信息必须能在仅使用数据隐藏密钥
k
d
k_d
kd 的情况下从标记的加密图像中准确无误地提取,并且原始的明文图像必须能在仅使用加密密钥
k
e
k_e
ke 的情况下被无损恢复。根据不同的权限,接收者可以获得原始的明文图像,秘密信息或两者。
1)数据提取:接收者获得标记的加密图像后,可以提取秘密信息。首先,我们保持
P
r
P_r
Pr 中的像素不变,并从
P
s
P_s
Ps 中提取参数 α 和 β。其次,对于其余像素,我们检查反向8位二进制序列中其 α 或 β 位的标签,并将它们分类为
P
e
P_e
Pe 和
P
n
P_n
Pn 集。第三,可以从
P
e
P_e
Pe 中每个像素的剩余(8-α)位中提取有效载荷,然后获得加密的秘密信息。最后,可以通过使用数据隐藏密钥
k
d
k_d
kd 解密来获得秘密信息的明文。
2)图像恢复:另一方面,可以同提取有效载荷中的辅助信息来恢复
P
n
P_n
Pn 中每个像素替换的 β 位和
P
s
P_s
Ps 中像素的8位。然后,必须通过加密密钥
k
e
k_e
ke 解密来获得
P
n
P_n
Pn 和
P
s
P_s
Ps 的原始值。此外,由于
P
r
P_r
Pr 中的像素保持不变,因此必须通过直接使用加密密钥
k
e
k_e
ke 解密来获得
P
r
P_r
Pr 的原始值。到目前为止,我们恢复了除
P
e
P_e
Pe 中的像素以外的所有像素。对于
P
e
P_e
Pe 中的每个像素,根据其恢复的左、上和左上的相邻像素,我们可以通过等式 Eq.(2) 获得相应的预测值 px。并根据其 α 位标签位,获得相应的预测误差 e。然后,可以通过以下等式 Eq.(10) 获得
P
e
P_e
Pe 中每个像素的原始值 x。至此,图像的原始内容已完全恢复。
x
=
p
x
+
e
(10)
x = px + e \tag{10}
x=px+e(10)
由于上述每个步骤的可逆性,因此所提出的 IPBTL-RDHEI 方法在数据提取和图像恢复中是可分离且无错误的。
IV. 实验结果与分析
通过进行一些实验来评估所提出的 IPBTL-RDHEI 方法的性能。如图8所示,使用了五个普通的8位深度图像。此外,为了减少由随机选择测试图像引起的影响,包括 UCID(An uncompressed color image database,一个未压缩的彩色图像数据库) [22],BOSSBase [23]和 BOWS-2(Image database of bows-2) [24]的三个数据集也分别进行了测试。我们使用 PSNR(峰值信噪比) 和 SSIM(结构相似性) 的这两个指标来评估两个图像之间的相似性。嵌入率(embedding rate, ER) 以bpp表示,是关键指标,期望其尽可能的大。
A. 性能和安全性分析
在本节中,我们将分别在测试图像上评估提出的 IPBTL-RDHEI 方法的性能。表III–V显示了当 β=2~4 和 α=1~7 时测试图像的最大嵌入率。我们可以看到,当 α 较小时,例如 α=1或2,提出的 IPBTL-RDHEI 方法不能或仅能嵌入少量的秘密信息。表III–V中的 ‘/’ 表示辅助信息大于保留的空间,因此不能嵌入任何秘密信息。从表III–V中,我们还可以观察到应为不同的图像选择不同的参数设置,以达到最大嵌入率。此外,图像纹理复杂度对嵌入率的影响也很明显。相对平滑的图像具有较高的嵌入率,因为存在更多属于
P
e
P_e
Pe 的像素。例如,当 α=4, β=3 时,图像 Jetplane 可以达到 3.0589 bpp 的最大嵌入率。
图9以 Lena 为例,显示了通过提出的 IPBTL-RDHEI 方法生成的不同相位的不同图像。图9(a) 是原始图像。图9(b) 示出了通过加密密钥
k
e
k_e
ke 获得的加密图像。带标签的加密图像如图9© 所示。图9(d) 显示了标记的加密图像。图9(e) 给出了恢复的图像,其与图9(a) 相同。图9(f) 是图9(a) 和图9(e) 之间的差值,其中所有像素均为0。图9(b)、© 和 (d) 是图9(a) 的三个加密版本, 并且很难从图9(b)、©和 (d) 中检测到图9(a) 的内容,这意味着所提出的 IPBTL-RDHEI 方法具有较高的感知安全性。
为了进一步测试我们方法的安全性,表VI-VIII列出了每个加密版本图像以及相应的原始图像的 PSNR(峰值信噪比) 和SSIM(结构相似性) 的值。从表VI–VIII中,我们可以看到每个加密版本图像的 PSNR 值非常低,每个加密版本图像的 SSIM 值几乎为0。因此,无法从这些加密版本图像中获得任何信息,这意味着提出的 IPBTL-RDHEI 方法可以安全地保护原始图像的隐私,并且可以应用于加密域中的 RDH(可逆数据隐藏)。
B. 与相关方法的比较和分析
在本节中,我们将提出的 IPBTL-RDHEI 方法的嵌入率与几种最新方法进行比较。在提出的 IPBTL-DHEI 方法中,参数 α 和 β 设置为 5 和 2。为了获得更好的性能,我们在[21]中将固定长度码字的长度设置为3,块大小设置为4×4。在[18]中,参数 α 和 β 也设置为 5 和 2 ,块大小设置为3×3。
图10显示了测试图像与[18], [19], [20]和[21]四个竞争者相比的最大嵌入率。我们可以看到,所提出的 IPBTL-RDHEI 方法实现了更高的嵌入率,并且性能优于竞争者。
此外,为了减少随机选择测试图像所造成的影响,表IX给出了所提出的 IPBTL-RDHEI 方法在这三个数据集上的详细嵌入率。在最佳情况下,嵌入速率分别为2.9759 bpp,2.9883 bpp和2.9883 bpp。由于将 α 设置为 5,也就是说,
P
e
P_e
Pe 中的每个像素都用5位标记,其余3位可以通过位替换来嵌入有效载荷位,因此在最佳情况下,嵌入率接近3 bpp。在 UCID 数据集中,最差的嵌入率为0 bpp,这意味着辅助信息大于保留的空间,因此,当α=5, β=2 时,不会嵌入任何秘密信息。原始的明文图像可以无错误地恢复(
P
S
N
R
→
+
∞
,
S
S
I
M
=
1
PSNR\rightarrow +\infty,\ SSIM = 1
PSNR→+∞, SSIM=1)。
图11比较了所提出的 IPBTL-RDHEI 方法和这四种最新方法之间的三个数据集的平均嵌入率。在 EPE-HCRDH 方法中,三个数据集的平均嵌入率接近1 bpp,但不超过1 bpp [19]。[20]中的两个 MSB 平面替换方法比EPE-HCRDH [19]具有更高的嵌入率。此外,Chen等人的方法[21]的平均嵌入率更高,在 UCID 数据集中达到1.8768 bpp,在 BOSSBase 数据集中达到2.3226 bpp,在 BOWS-2 数据集中达到 2.2447 bpp。Yi等人的方法[18]和我们的方法都是基于 PBTL。图11的结果表明,与Yi等人的方法相比[18],所提出的 IPBTL-RDHEI 方法显著提高了嵌入率。造成这种情况的主要原因有两个:首先,提出的 IPBTL-RDHEI 方法在加密之前在明文图像中保留了空间,可以充分利用图像冗余。其次,我们利用了整个原始图像中的空间相关关系,而不是利用较小的图像块来为嵌入数据保留空间,这减少了
P
r
P_r
Pr 的数量,从而减少了辅助信息。基于以上分析,我们可以看到所提出的 IPBTL-RDHEI 方法具有更好的性能。
V. 结论
本文提出了一种使用参数二叉树标记的加密域中 RDH(可逆数据隐藏) 的有效方法,它是基于Yi等人的工作的改进方法[18]。提出的 IPBTL-RDHEI 方法提供了良好的安全性,可用于保护原始明文图像的隐私。此外,与最新技术相比,所提出的 IPBTL-RDHEI 方法充分利用了图像冗余,不仅图像恢复和数据提取是可分离的且无错误的,还具有更高的嵌入率。在进一步的研究中,我们将测试其他误差预测变量,以使更多像素进入可嵌入像素集,然后可以利用更多像素嵌入秘密信息。