微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一种基于整数变换的数据隐藏新算法

一种基于整数变换的数据隐藏新算法

时间:11-30 来源:互联网 点击:
1 引言

信息隐藏就是利用人类感觉器官的不敏感性感觉冗余,以及多媒体数字信号本身存在的冗余数据特性冗余,将秘密信息隐藏于一个宿主信号护体中而不被觉察,它对外表现的只是宿主信号的外部特征,并不改变基本特性及使用价值。无损图像隐藏算法是一种以可逆的方式把信息秘密嵌入载体媒介以保护知识产权和版权的方法。

近年来有很多无损可逆数据压缩方法被提出来,Hon—singer等(2001年)第一次提出了这个概念,Honsinger的方法被用来无损鉴定。Fridrich等(2001年)提出了一种可逆的数据隐藏算法,这种方法无损压缩载体图像的ISB位平面,并将压缩结果与秘密数据连接起来,以此代替载体位平面以嵌入数据。Celik等(2002年,2003年,2005年)设计了一种没有显著位的嵌入方式(G—LSB),这种方法第一次将像素对分成L层次,Celik的这种算法的负载取决于嵌入的水平L。TiarI(2003年)扩展了G—LSB算法,提出了一种基于差值扩展的数据隐藏算法,这种算法在相同的负载条件下,图像质量要明显优于以上几种方法。

整数Haar小波变换所得到的差值图像,最大能够提供的嵌入率是0.5 bpp。文献的算法不得不依赖多次嵌入以获得超过0.5 bpp或更高的嵌入率,通常的做法:如果第一次利用横向的差值图像,则第二次利用纵向的差值图像,第三次再利用横向的差值图像,交叉进行,直到达到负载所要求的嵌入率。但每一次单层嵌入后所得到的差值图像,其差值间的相关性显著下降,使得第二次嵌入的容量大大低于前一次嵌入的容量。由于前一重嵌入用到了很大的差值,使得在第二重嵌入开始之前图像的质量已被破坏。这里对Tian算法进行改进,在二次嵌入时,采用与第一次嵌入不同的像素配对方式。避免了两次嵌入的差值相关性,使得可供嵌入的差值显著增加,从而使得负载能力显著增强。

在相同负载条件下,对于给定的负载,以试探的方式确定一个差值选择门限,先在一重差值图像中寻找嵌入空间。若嵌入点不够,则在二重差值图像中寻找嵌入空间作为补充。若嵌入点还不够,则退回到原来的横向差值图像.加大选择门限值,进行新一‘轮寻找过程。此过程持续到满足负载容量为止还可以利用,这种双重嵌入方式,使嵌入数据合理分配到不同的嵌入层中,从而提高嵌入图像的质量。

2 DDE双重差值扩展算法

2.1可逆整数变换

介绍一个简单的可逆整数变换,以8位的灰度图像为例,(x,y)为一个像素对,x,y∈Z,0≤x,y≤255定义它的整数均值l和差值h:



(1)式和(2)式又称作Harr小波变换或S变换,这样(x,y)和(h,l)之间就建立起了一一对应的关系。为了保证x,y在[0,255]的范围,防止出现上溢和下溢,h,l必须满足条件:

简化后得:


可扩展与可变差值:如果给差值h用插值扩展算法嵌入一位数据b,扩展后的差值h′=2h+b。如果|h′1=|2h+b|≤min(2(255一l),2l+1)。当b=O或b=1都得到满足时,那么h就是可扩展的差值。

如果差值h满足|2×[h/2]+b|≤min(2(255一l),2l+1),b=O或b=1,那么h就是可变差值。

一个可扩展差值当其LSB位被修改后,就变成是可变的,可扩展的差值一定可变,如果差值为0或者一1那么可变与可展是等价的。

2.2 双重差值配对方式

图1(a)是Tian算法中采用的差值配对方法.按照顺序依次进行差值配对,图1(b)是提出的改进配对方法.把第一个像素跟最后一个像素相配对,其他像素按顺序相配对.由图1可以看出,用图l(b)所示方法计算出的差值与图1(a)不存在相关性,因此二重嵌入中可用差值不受一重嵌入的影响,另外为了获取更大的隐藏容量,图1(a)还可用纵向选取方式,图1(b)也可相应的有纵向选取方式。


2.3 DDE隐藏算法


第一步:按照图1(a)的方法对图像逐行配对,然后按照(1)式进行整数变换,把计算出的差值按顺序排列成一维数组{hl,h2,…hn}。


第二步:把差值分成4个不相交的部分,EZ,EN,CN,NC。其中EZ包括所有h=O,h=1;EN包括所有可扩展的差值且h不属于EZ;CN包括所有可变的差值,且h不属于EZ与EN的交集;NC包括所有不可变的差值。


第三步:创建一个定位图,用于差值定位,选择一个阈值T将EN分为ENl和EN2,ENl={h∈EN:|h|≤T},EN2={h∈EN:|h|>T},EZ和ENl是用于扩展差值,则分别为1和EN2,以赋值CN和NC为O。这样就建立一个定位.图,然后对定位图进行JBIG2压缩,压缩以后的位流记为L,L的末尾代表信息结束。


第四步:收集EN2和CN中差值的最低位(LSB(h)),但是h=land一2inEN2UCN不会被收集,所有的这些LSB(h)将组成位流C。


第五步:将位流L,C,P合并成位流B=LUCUP=b1…bkbk+1…bLb

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top