RRBE
仅用作论文阅读笔记使用~如有侵权,联系立删。
二、方法概括
利用图像的空间相关性为加密前的数据嵌入预留空间。
MED预测器用于找到每个像素的预测值。然后,像素的预测值和实际值之间的差作为预测误差。每个像素的容量基于预测误差来决定。图像被划分为不重叠的块,每个块的容量被计算为块中像素的最小容量。将2 × 2块的容量进一步划分为互不重叠的2× 2块,建立容量矩阵。每个块被标记有使用霍夫曼编码生成的唯一代码。辅助信息包括霍夫曼编码规则、标签序列和长度信息,沿着秘密数据一起被嵌入到加密图像中。在接收器侧,提取辅助信息,随后提取秘密数据。使用恢复算法,从解密的图像重建的封面图像。
减小了辅助信息随秘密数据沿着隐藏在加密图像中的大小。
三、方法流程
A计算预测误差
在原始图像上利用中值边缘检测器(MED)进行像素预测,基于预测像素和实际值得到预测误差值,
,MED的计算方法如下:
a | b |
c | x |
B加密前预留空间
得到预测像素误差后,就可以计算出嵌入容量。计算容量如下:
在计算得到之后,可以得到误差的绝对值
,如果
,则
表示不可嵌入;
如果,
,则
的计算公式如下:
,此时
,
;
,此时
,3个值,误差需用2位二进制表示,
;
,此时
,7个值,误差需用3位二进制表示,
;
,此时
,15个值,误差需用4位二进制表示,
;
,此时
,31个值,误差需用5位二进制表示,
;
,此时
,63个值,误差需用6位二进制表示,
;
,此时
,127个值,误差需用7位二进制表示,
;
,此时
,253个值,误差需用8位二进制表示,
,不可嵌;
根据和
的计算公式可以得到,嵌入容量总共有8种情况(8、6、5、4、3、2、1、0)。
C图像分块
现将图像划分成大小为的不重叠块,块嵌入容量(
)是每个块中四个像素之间最小的
,块嵌入容量表示为
。 然后再将
形成的矩阵划分为大小为
的不重叠块。
对ABC的操作举个例子,黄色为参考像素,白色区域为预测位置。
160 | 159 | 160 | 161 | 161 |
154 | 152 | 153 | 154 | 152 |
153 | 145 | 142 | 140 | 134 |
113 | 113 | 122 | 130 | 127 |
102 | 102 | 109 | 117 | 119 |
154 | 153 | 154 | 154 |
152 | 146 | 143 | 140 |
113 | 113 | 122 | 130 |
102 | 111 | 117 | 117 |
5 | 8 | 8 | 5 |
4 | 4 | 5 | 4 |
8 | 3 | 3 | 5 |
8 | 5 | 8 | 5 |
4 | 4 |
3 | 3 |
此时.
D使用霍夫曼编码的像素标签
通过C的步骤,每一个Block Embedding包含四个值,代表四个不同块的,四个值可以得到不同的组合,根据组合出现的频率通过霍夫曼进行编码。如例子中的4、4、3、3就是一个可编码的霍夫曼序列。
这里有些歧义。
E图像加密
使用伪随机生成器生成伪随机矩阵,并通过原始图像与伪随机矩阵
的逐位异或执行加密。
F嵌入辅助信息和秘密数据
辅助信息序列:第一块的、霍夫曼编码规则的长度、标签序列的长度、霍夫曼编码规则、标签序列和参考像素值。
辅助信息序列先嵌入到参考像素的所有比特中,然后再嵌入到图像的其他像素中。在其他像素中,通过位替换将辅助信息嵌入到每个像素的位中。每个像素的
取决于其嵌入容量而变化。在隐藏辅助信息之后,隐藏秘密数据。
G数据提取和图像恢复
从标记的加密图像中的第一参考像素提取第一块的。从接下来的两个参考像素提取霍夫曼编码规则的长度,随后从随后的三个像素提取标签序列的长度。依次提取霍夫曼编码规则、标签序列、参考像素值和秘密数据。根据嵌入容量,从每个非参考像素的
比特中提取嵌入数据。
拥有图像加密密钥的接收者拿到stego-image后,首先根据参考像素和MED计算得到当前位置的预测像素。由于stego-image的前
位是秘密信息,所以如果恢复原始图像的话需要得到前
位的MSB值。具体做法是,用
的前
位MSB值替换stego-image的前
位MSB值,得到
,进一步计算
。
进一步根据下列算法回复图像的像素值
当 时,不用来嵌入信息,当
时,不存在预测误差,所以
;
剩下三种情况描述如下:
【理论部分就此结束了,but最后这儿完全没看懂】