论文核心简述Reversible Watermarking Algorithm Using Sorting and Prediction比较经典的PEE算法

文章提炼

本篇的误差扩展算法(prediction error expanding,PEE)使用了菱形预测模式(rhombus pattern)、直方图转换(histogram shift)双嵌入方案(double embedding scheme),排序选定嵌入顺序(sorting),讨论了该算法中的越界问题(overflow/underflow question),在性能上比近来研究得到了很大的提升。

1.用四个临近像素进行预测

× 代表被预测像素,构成的集合为Cross set

● 代表预测 × 的临近像素,构成的集合为Dot set

此即菱形预测模式(rhombus pattern)。

预测公式:

预测误差:

对误差进行扩展,此即difference expansion:

原始图像被改变为:

恢复时,扩展误差为:

嵌入信息为:

原始预测误差为:

原始像素值为:

直方图按如下公式转换

解码时如下:

此即直方图转换(histogram shift)。

2.利用方差选择插入顺序

 用像素相邻4个像素进行方差的计算:

此即排序选定嵌入顺序(sorting)。

3.越界问题(Overflow and Underflow Problem)

由于部分像素需要插入两次,存在越界判定的问题。

预测两次都没出现越界问题的像素不需要位图。

预测第一次不越界,第二次越界的像素,位图标为"0",分类为

预测第一次就越界的,位图标为"1",分类为

4.双嵌入方案(double embedding scheme),提高嵌入质量

Cross集,即×集,插入完了后,我们可以用Dot集,即●集再插入。

算法全流程,嵌入、提取流程示意图

嵌入的具体步骤:

先对Cross集嵌入,再对Dot集嵌入。

对Cross集:

1.通过计算方差得出排序好的Cross集

2.判断越界问题,生成位图。

3.中前34位留给阈值大小还有阈值大小,用34位后进行嵌入。前面34位的预测误差同样需要作为数据嵌入到34位后。

嵌入具体细节:

1)第一次嵌入正常嵌入bit大小的秘密信息。

2)第二次嵌入在第一次嵌入的基础上,对能够再次进行嵌入而不出现越界问题像素进行位图嵌入。

对Dot集的嵌入方法和Cross集一样,只不过这次用来产生预测值的是经过修改后的Cross集。这样之后就得到了修改后的Dot集

提取的具体步骤:

1.扫描前面34bit信息得到阈值大小还有阈值大小

2.根据越界问题的处理原理,反向推导,先判断像素是否能够扩展,

①能扩展,则直接提取

②不能扩展,根据位图,位图中该位置标记为0,则应该提取,为1则不能提取

用此种方法提取位图信息、之前的34位LSB、秘密信息。

首先根据对修改后的Dot集进行提取复原,得到集。然后根据复原后的Dot集对修改过的Cross集进行复原。

最终得到完整的原始图像和秘密信息。

作者:zrc007007 原文地址:https://blog.csdn.net/m0_46948660/article/details/128525589

%s 个评论

要回复文章请先登录注册