0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析基于差分扩展的可逆水印算法

冬至子 来源:吟游风者 作者:吟游风者 2023-08-09 11:33 次阅读

一、差分扩展

数字水印已经逐渐成为了一种有效的版权保护手段,它通过嵌入几乎不可感知的水印信号到图像、音频视频数据中来保护这些媒体文件的版权不被非法利用、来认证来源或者增强其价值。水印化前后的作品之间的失真通常在视觉上是不可感知。但在一些特殊场合,即使是这些无法被感知的失真也是不能容忍的。因此就出现了可逆水印,其要求不能能抽取出水印,还能够无损的将水印化作品恢复成原来的作品。

早期的可逆水印算法都是基于算数模的加法扩频水印算法;另一种可逆水印是对图像的某些特征进行无损压缩,然后将水印加入由压缩所留出来的空间中以达到可逆的目的。而基于差分扩展的可逆水印是通过对一对像素值的差值进行扩展来进行可逆变换的水印算法。该算法的主体思想是对相邻两个像素值的差值进行扩展或变换形成新的像素对以达到水印嵌入的目的,然后再从新的像素对的差值反变换即可还原出原始图像和嵌入的水印。为了保证不可察觉性和图像的质量,该算法将所有的像素对分为可扩展的、可改变的及不可改变的这三种类型,其中可扩展的也一定是可改变的。而只有可扩展的和可改变的像素对可以用于数字水印的嵌入。该算法的特点在于通过利用相邻两个像素对的差在不需要增加存储空间消耗的情况下,将数字水印的信息码流不可察觉的嵌入到载体图像中;然后在通过相似的方法将嵌入的信息码流从载体图像中提取出来并将载体图像无损的恢复以达到完整和可逆的效果。

为了更好的理解差分扩展的变换和还原,这里我们举个例子:假设有一对像素对(x, y),其中x=206,y=201.我们想要嵌入的信息比特b=1.那么这个像素对的平均值l和差h为:

图片

我们把b添加到到h的二进制表示1012的最低有效位(LSB)中得到了一个新差h’=10112=11.用数学表达为:

图片

最后根据这个新差可以得到这个像素对的新值作为嵌入之后的像素值:

图片

图片

通过以上的这些步骤我们可以得到嵌入信息之后的像素对(x’, y’). 如果我们想要恢复原始的像素对和嵌入的信息,我们可以根据上述公式再次计算嵌入信息之后像素对的平均值l’和差h’:

图片

根据上述公式得出的像素对差h’可以计算出嵌入的信息b及原始的像素对差:

图片

从公式(4)中和公式(5)中得到的l’和h就能恢复出原始的像素对:

图片

在这个例子中我们将信息比特b嵌入到像素对差h的最低有效位上使得h的位数从三位扩展到四位,这种可逆信息嵌入的操作就叫做差分扩展(DE).

二、可逆数据转换及限制

从1中我们可以了解到差分扩展的一些基本操作,不难想到可以将这种操作扩展到可逆水印的算法中。对于一副8比特的灰度图像来说,其所包含的像素对可以得出它们的平均值l和差h为:

图片

其反变换为:

图片

由于x,y的区间范围是[0, 255],因此我们有:

图片

当使用差分扩展将一个信息比特b嵌入到差值h中时,新的、可被扩展的差值h’将变成:

图片

为了避免像素对超出取值范围,也即溢出,h’必须满足以下条件:

图片

图片

满足上述条件的像素对的差称之为可扩展的,因为该像素对可以使用差分扩展进行信息的嵌入且不会导致数据的溢出。由此同时,我们也可以不对像素值的差进行差分扩展,而是改为对其最低有效位进行直接修改。通过将其最低有效位直接修改成信息比特也可以达到信息嵌入的目的。这时的新差h’为:

图片

同时为了满足嵌入之后的数据不发生溢出,h’也必须满足以下条件:

图片

满足上述条件的像素对的差称之为可改变的,因为该像素对可以使用直接修改的方法进行信息的嵌入且不会导致数据的溢出。不难得出,可拓展的和可改变的像素值的差经过差分扩展或者直接修改后其新差仍然是可修改的,并且可扩展的差值一定也是可改变的。因此我们可以得出以下差值h的分类:

  • 可扩展的差值h:可以对其最低有效位进行差分扩展而不会导致数据溢出。其应该满足:
    图片
  • 可改变的差值h:可以对其最低有效位进行直接修改而不会导致数据溢出。其应该满足:
    图片
  • 不可改变的差值h:既不可扩展也不可改变的差值h.

图片

图1 差值h的分类

同时还可以发现当h=0或者-1时,可扩展条件和可改变条件是相同的。因此我们可以按照上述对差值h的分类将像素对分成四个集合:

  • EZ:包含了差值h为0或-1的所有可扩展像素对。
  • EN:包含了差值h不为0或者-1的所有可扩展像素对。
  • CN:包含了不是可扩展像素对的所有可改变像素对。
  • NC:包含了所有不可改变的像素对。

由上文可得EZ、EN、CN是可以嵌入信息的像素对,而NC是不可以嵌入信息的像素对。因此我们首先应该先将可嵌入信息的像素对找出来形成一个location map信息集。并且为了无损的恢复出原始图像,我们也应该记录下可改变差值的那些被直接修改掉的最低有效位信息并形成一个最低有效位信息集。Location map信息集(L)、最低有效位信息集(C)以及想要嵌入的数字水印payload(P)共同构成了信息流(B)一并嵌入到了载体图像中完成了可逆水印的嵌入。为了保证数据被有效嵌入而不发生信息的溢出,其B的体积必须满足:

图片

三、信息的嵌入和提取

按照2所述的基于差分扩展的数字水印的知识,我们可以得到数据嵌入的步骤,该步骤如下所示:

  1. 将原始载体图像分成一个像素对集合,再对每个像素对求平均值l和差值h。
  2. 将差值h按照分类规则进行分组并形成四个不同的子集EZ、EN、CN、NC集,其中EN集还可以再分成EN1集(可二次扩展)和EN2集(不可二次扩展)。
  3. 根据差值h四个不同子集的状态对图像的位置进行标记并形成location map信息集,再对该信息集进行压缩存储成L比特流。
  4. 提取可改变差值h的最低有效位形成最低有效位集,然后再进行压缩储存形成C比特流。
  5. 对有效负载(数字水印)进行压缩储存形成P比特流。
  6. 将L、C、P比特流进行合并形成B比特流并按照差值h的状态进行差分扩展或修改LSB以完成数据嵌入。

这些数据嵌入的算法步骤的流程图如下所示:

图片

图2 基于差分扩展的水印嵌入的流程图

通过以上步骤我们可以将水印嵌入到载体图像上。如果我们想要提取出水印和复原出原始的图像,可以逆着上述步骤进行数据的提取即可得到水印和原始的图像。因此,其提取数据的方法和步骤如下所示:

  1. 将新图像进行像素对分组并求新像素对的差值h’和平均值l.
  2. 提取出差值h’的最低有效位形成B比特流并将L比特流分离出来。
  3. 将L比特流进行解压还原成location map数据集。
  4. 根据location map对差值h’进行筛选并分离出C比特流和P比特流。
  5. 将P比特流进行解压缩后恢复出水印信息。
  6. 将C比特流解压后得到的最低有效数据集并根据location map将其最低有效数据恢复到最低有效位上去。
  7. 根据差值h’和location map恢复出原始的差值h,再根据差值h和平均值l得到原始的像素对数据并恢复出原始图像。

这些水印的提取和原始图像的恢复步骤可以用以下流程图表示(见图3):

图片

图3 基于差分扩展的水印提取的流程图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3437

    浏览量

    128234
  • 变换器
    +关注

    关注

    17

    文章

    2027

    浏览量

    108399
  • 压缩机
    +关注

    关注

    11

    文章

    638

    浏览量

    78595
  • LSB算法
    +关注

    关注

    0

    文章

    7

    浏览量

    5778
收藏 人收藏

    评论

    相关推荐

    一种基于量化DCT域音频水印算法

    本帖最后由 luna 于 2011-3-3 14:38 编辑 提出一种新的基于量化DCT域的音频水印算法,根据DC分量和AC分量在水印的鲁棒性和不可听性中起着不同的影响来设计水印
    发表于 03-03 00:31

    基于音频统计特性的数字水印嵌入算法

    结合数字音频时频域统计特性及同步码技术,提出了一种可有效抵抗去同步攻击的混合域数字音频水印嵌入算法.该算法首先结合数字水印与同步码(大小),对原始音频载体进行分段处理,并将每个音频数据
    发表于 03-03 22:38

    水印算法怎么在LV平台实现 求大大帮忙

    小波域水印算法具体怎么在平台实现具体的 百度基于LabVIEW平台的彩色图像数字水印系统的设计与实现 里面有提到这算法
    发表于 05-19 17:24

    怎么使用基于可逆对比度映射与verilog或vhdl编码的可逆水印

    任何人都可以帮助我使用基于可逆对比度映射与verilog或vhdl编码的可逆水印。以上来自于谷歌翻译以下为原文can anyone helpme with reversible
    发表于 04-22 10:42

    多功能双水印算法

    该文针对单水印算法往往存在功能单一的问题,利用奇异值的稳定性,提出一种多功能双水印算法。先在图像分块的奇异值上嵌入鲁棒水印,然后在含鲁棒
    发表于 11-21 11:34 9次下载

    基于Blakley方案的音频水印分存算法

    摘要:提出了一种基于Blakley密钥共享方案的音频水印分存算法算法将密钥分存的思想引入到音频水印算法中,将
    发表于 09-01 19:16 21次下载

    基于整数小波变换的鲁棒零水印算法

    基于整数小波变换的鲁棒零水印算法_曾文权
    发表于 01-03 15:24 0次下载

    基于分块的DCT域和DWT域的双水印算法

    水印算法在图像保护中功能较为单一,文中提出了一种基于分块的离散余弦变换DCT和离散小波变换DWT相结合的双水印算法。小波域水印
    发表于 11-14 10:27 11次下载
    基于分块的DCT域和DWT域的双<b class='flag-5'>水印</b><b class='flag-5'>算法</b>

    基于同态加密系统的图像鲁棒可逆水印算法

    同态加密技术可用于保护数据隐私并允许对密文数据进行算术操作,在云计算安全上有着很好的应用前景.针对云计算中的隐私保护和数据安全等问题,本文提出了一种基于同态加密系统的图像鲁棒可逆水印算法,主要思想
    发表于 12-15 11:15 0次下载

    基于FOA的小波域数字水印算法

    为了平衡水印的透明性和鲁棒性,提出了基于果蝇优化算法( FOA)的小波域数字水印算法。该算法利用果蝇优化
    发表于 01-04 15:02 1次下载

    基于纹理方向的鲁棒视频水印算法

    针对现有基于高效视频编码的视频水印算法鲁棒性不足的问题,提出一种基于纹理方向的鲁棒视频水印算法算法根据
    发表于 01-04 16:53 0次下载

    迭代自适应可逆图像水印算法

    现有的均值调整整数变换可逆水印算法的阈值需人工选择,位置图生成策略不完备可能导致压缩后位置图数据过大,对嵌入矢量强制划分可能导致容量足够却无法嵌入。针对以上问题,提出一种结合均值调整整数变换的迭代
    发表于 01-07 10:23 0次下载

    如何使用LASSO的可逆图像水印算法说明

    对于采用差值扩展一直方图平移的可逆水印算法,提高预测的准确度有利于减小预测误差,从而在同等嵌入失真时获得更大的嵌入容量。为了进一步提高图像像素预测的准确度,构造了一种基于LASSO( Least
    发表于 01-18 14:32 11次下载
    如何使用LASSO的<b class='flag-5'>可逆</b>图像<b class='flag-5'>水印</b><b class='flag-5'>算法</b>说明

    如何进行差分展开可逆水印的详细方法说明

    可逆水印最近引起了人们的广泛关注。与其他类型的数字水印不同,可逆水印具有原始数字内容可以完全还原的特殊功能。本文介绍了一种基于差分展开的高容量高质量可逆水印方法。我们的方法和其他方法之
    发表于 03-04 08:00 5次下载

    基于LSB算法的数字水印技术解析

    本文是该系列的第20篇。数字水印是一种将标识信息嵌入到载体当中,且不影响载体使用的一种技术,主要分为时域水印嵌入算法(将水印嵌入到时域采样数据中)和变换域
    的头像 发表于 12-30 16:47 5042次阅读
    基于LSB<b class='flag-5'>算法</b>的数字<b class='flag-5'>水印</b>技术解析