基于喷泉编码的灵活数字图像自恢复方法与流程

文档序号:12367033阅读:188来源:国知局
基于喷泉编码的灵活数字图像自恢复方法与流程

本发明涉及一种用于图像真实性和完整性认证的数字图像自恢复方法,其基本特征是对图像进行变长度编码和变容量嵌入并将参考数据应用喷泉编码嵌入到整幅图像中。



背景技术:

数字图像自恢复技术,作为图像认证技术的一个重要分支,是图像保护的一种有效手段,将原始图像的自身信息作为参考信息嵌入到原始图像中,当数字图像被篡改时,通过从图像中提取自身信息,可以验证图像内容的真实性并近似恢复原始图像的内容。开展这一研究,对于确保公共信任秩序、维护司法公正、打击犯罪等具有十分重要的意义。

目前,常见的自恢复方法多采用最低有效位(LSB)位平面替换法进行参考数据嵌入。将图像进行分块后,对每个图像块进行定长编码,用编码后的数据替换图像的(LSB)位平面,得到含密图像。该类方法中,每个图像块的嵌入容量都是固定的,通常采用三个(LSB)位平面替换法进行信息隐藏。各种方法的编码和嵌入过程不尽相同,可参阅如下论文:

1. Fridrich J, Goljan M. Protection of digital images using self embedding [C] //Symposium on Content Security and Data Hiding in Digital Media. Newark, NJ, USA, 1999.

2. Qian Z, Feng G. Inpainting assisted self recovery with decreased embedding data [J]. Signal Processing Letters, IEEE, 2010, 17(11): 929-932.

3. Zhang X, Wang S, Qian Z, et al. Reference sharing mechanism for watermark self-embedding [J]. Image Processing, IEEE Transactions on, 2011, 20(2): 485-495.

4. Korus P, Dziech A. Efficient method for content reconstruction with self-embedding [J]. IEEE Transaction on Image Processing, 2012, 22(3):1134-1147.

然而这些方法通常采用统一编码和均匀嵌入的方式,当嵌入容量较低时,对篡改图像进行恢复时会丢掉很多细节,重建图像质量较低,最大可恢复比例也较小,达不到实际应用的需求;当嵌入容量增加时,重建图像质量和最大可恢复比例有所提高,但含密图像的质量下降明显,并可能产生伪轮廓现象。



技术实现要素:

本发明的目的,在于提供一种基于喷泉编码的灵活数字图像自恢复方法,该方法根据图像纹理对图像块进行分类,并为每类分配不同的编码长度和嵌入容量,最后经过喷泉编码将参考数据非均匀的嵌入到整幅图像中,可保证图像整体恢复质量,有效避免含密图像质量严重下降的缺陷,并能获得较大的最大可恢复比例。

为达到以上目的,本发明采用如下方案:

基于喷泉编码的灵活数字图像自恢复方法,首先,根据图像纹理复杂度,对图像块进行分类,获得分类数据,并为每类分配不同的编码长度和嵌入容量;其次,对图像进行离散余弦变换(DCT),获得的图像每块的(DCT)变换系数,根据分配的编码表编码生成恢复数据;再次,将恢复数据和分类数据经过喷泉编码生成参考数据,将参考数据和图像原始信息通过哈希函数生成认证数据,将参考数据和认证数据嵌入到原始图像中生成含密图像;最后,认证过程中,根据认证数据进行篡改鉴定,通过恢复数据重建原始图像,实现步骤如下:

(1).将原始图像I进行分块,应用边缘检测算法,得到边缘强度信息集合E;通过对E设置阈值,将图像块划分为8种类型,为每种类型分配特定的编码长度和嵌入容量,获得相应的编码表;并用3比特表示每块的分类信息,得到分类数据;

(2).对每一图像分块作离散余弦(DCT)变换,得到(DCT)系数;根据步骤(1)获得的编码长度和编码表,将(DCT)系数编码成二值序列,生成恢复数据;

(3).将步骤(1)得到的分类数据和步骤(2)得到的恢复数据经过喷泉码进行编码,将编码后的分类数据、恢复数据和图像块的原始信息通过哈希函数生成认证数据,将分类数据、恢复数据和认证数据嵌入到原始图像中,生成含密图像;

(4).认证过程,首先提取步骤(3)嵌入的认证数据和分类数据,接着重新计算认证数据,与提取的认证数据进行比较,如果不同则表示被篡改;经一般模型下的喷泉解码得到分类数据,根据分类提取恢复数据,经过Korus[4]提出的自恢复模型下的喷泉码,解码恢复数据,重建原始图像。

上述步骤(1)所述的将原始图像I进行分块,应用边缘检测算法,得到边缘强度信息集合E;通过对E设置阈值,将图像块划分为8种类型,为每种类型分配特定的编码长度和嵌入容量,获得相应的编码表;并用3比特表示每块的分类信息,得到分类数据。假设原始图像大小为W1×W2,共有N 个8×8块,其具体步骤如下:

(1-1).将原始图像I进行sobel边缘提取,得到边缘强度集合E,通过设置阈值,将图像块按纹理复杂度进行分类,具体如下:

采用sobel提取原始图像块各边缘强度信息,记为集合E,将所有块分成8个子集C1~C8,对于某个图像块B(i)(1≤iN ),任意一个像素的边缘强度F ,若FT1记为B (i)∈C1,若T1FT2记为B (i)∈C2,若T2FT3记为B (i)∈C3,若T3FT4记为B (i)∈C4,若T4FT5记为B (i)∈C5,若T5FT6记为B (i)∈C6,若T6FT7记为B (i)∈C7,若FT7记为B (i)∈C8

(1-2).为每个子集分配嵌入容量L1~L8、编码长度M1~M8和编码表Z1~Z3

集合C1采用三个(LSB)位平面替换法,L1=192,M1=176,编码表如下式:

集合C2采用三个(LSB)位平面替换法,L2=192,M2=144,编码表为公式(1)中按Z字形排列的前144比特;

集合C3采用三个(LSB)位平面替换法,L3=192,M3=112,编码表为公式(1)中按Z字形排列的前112比特;

集合C4采用两个(LSB)位平面替换法,L4=128,M4=80,编码表如下式:

集合C5采用两个(LSB)位平面替换法,L5=128,M5=64,编码表为公式(2)中按Z字形排列的前64比特;

集合C6采用两个(LSB)位平面替换法,L6=128,M6=48,编码表为公式(2)中按Z字形排列的前48比特;

集合C7采用一个(LSB)位平面替换法,L7=64,M7=32,编码表如下式:

集合C8采用一个(LSB)位平面替换法,L8=64,M8=16,编码表为公式(3)中按Z字形排列的前16比特;

(1-3).采用三个比特表示每块的分类信息:{C1:000},{C2:001},{C3:010},{C4:011},{C5:100},{C6:101},{C7:110},{C8:111},分类数据共3N 比特,记为P。

上述步骤(2)所述的对每一图像分块作离散余弦(DCT)变换,得到(DCT)系数;根据步骤(1)获得的编码长度和编码表,将(DCT)系数编码成二值序列,生成恢复数据,其具体步骤如下:

(2-1).首先根据嵌入容量将C1~C3的三个(LSB)位平面置零,C4~C6的两个(LSB)位平面置零,C7~C8的一个(LSB)位平面置零;然后将每个像素除8四舍五入取整后减16,对每一图像块作离散余弦(DCT)变换并取整,得到离散余弦(DCT)变换系数;

(2-2).按照每块的编码长度M1~M8和编码表Z1~Z3选定需要编码的(DCT)系数,将每个选中的(DCT)系数编码成T 比特的二值序列,如公式:

其中Q 表示选中的(DCT)系数,T 为该系数在编码表中相应位置的数值,若Q >2T-1Q=2T-1,若Q <-2T-1Q =-2T-1

(2-3)集合C1~C8块的个数分别为N1~N8,共生成N1×176+N2×144+N3×112+N4×80+N5×64+N6×48+N7×32+N8×16比特恢复数据,记为R。

上述步骤(3)所述的将步骤(1)得到的分类数据和步骤(2)得到的恢复数据经过喷泉码进行编码;将编码后的分类数据、恢复数据和图像块的原始信息通过哈希函数生成认证数据;将分类数据、恢复数据和认证数据嵌入到原始图像中,生成含密图像,其具体步骤如下:

(3-1).将3N 比特分类信息P经过喷泉编码生成15N 比特信息PS,PS共N 个符号,每个符号15比特,记为PSi,其中i =1,2...N

(3-2).将N1×176+N2×144+N3×112+N4×80+N5×64+N6×48+N7×32+N8×16比特的恢复数据R,经过喷泉编码生成(N1+N2+N3)×160+(N4+N5+N6)×96+(N7+N8)×32比特信息RF,RF共(N1+N2+N3)×10+(N4+N5+N6)×6+(N7+N8)×2个符号,每个符号含16比特,记为RFi ,其中i =1,2... (N1+N2+N3)×10+(N4+N5+N6)×6+(N7+N8)×2;根据每个块的嵌入容量,将符号RFi分成N 个组RGjj =1, 2...N ,每个组的符号个数不同,如对应集合C1~C3的组含10个符号,对应集合C4~C6的组含6个符号,对应集合C7~C8的组含2个符号;

(3-3).将密钥k 、块位置数据i 、分类数据PSi、恢复数据RGj和原始图像的最高有效位(MSB)位平面,通过哈希函数生成17比特的认证数据HSi

(3-4).嵌入过程中,原始图像的(MSB)位平面保持不变,(LSB)位平面替换成所要嵌入的信息,将分类数据PSi、恢复数据RGj、认证数据HSi嵌入到第i 块当中,i =1,2...N ,最终生成含密图像S。

上述步骤(4)所述的认证过程,首先提取步骤(3)嵌入的认证数据和分类数据,接着重新计算认证数据,与提取的认证数据进行比较,如果不同则表示被篡改;经一般模型下的喷泉解码得到分类数据,根据分类提取恢复数据,经过Korus[4]提出的自恢复模型下的喷泉码解码恢复数据,重建原始图像,其具体步骤如下:

(4-1).首先将接收到的图像进行8×8分块,提取出每块的认证数据HSi和分类数据PSi,将密钥k 、位置数据i 和每块中除认证数据之外的所有数据输入哈希函数中,重新生成认证数据JSi,若JSi与HSi不同,则表示该块被篡改,否则表示该块没有被篡改;

(4-2).通过一般模型下的喷泉码,解码得到3N 比特的分类数据P,根据分类数据从未被篡改的图像块中提取并重新生成恢复数据,经过自恢复模型下的喷泉解码得到恢复数据R,将篡改块的恢复数据进行(DCT)反变换,加16乘8取整后,即可恢复原始图像块的大致信息,最终重建原始图像。

本发明与现有技术相比,具有如下评价性质和显著优点:本发明根据图像自身的特点对图像进行变长度编码和变容量嵌入,纹理越复杂的块,编码长度越长,能够保证图像整体的恢复质量;采用非均匀的方式嵌入参考数据,可保证含密图像的质量,避免出现伪轮廓现象;经过喷泉码将参考信息嵌入到整幅图像中,能保证图像具有较大的最大可恢复比例。

附图说明

图1为本发明的基于喷泉编码的灵活数字图像自恢复方法的流程框图;

图2为图像是512×512的原始灰度图像;

图3为原始图像块分类映射图;

图4为采用本发明的方法生成的含密图像;

图5为采用本发明的方法生成的参考图像。

具体实施方式

本发明的实例详述如下:

图1是本发明的总体流程框图,其中步骤4为步骤1、2、3的逆过程,图2是大小为512×512原始灰度图像,以下结合附图对本实例作进一步的描述。

本发明的基于喷泉编码的灵活数字图像自恢复方法,其具体步骤如下:

(1).将原始图像I进行8×8分块,共N =4096块,应用边缘检测算法,得到边缘强度信息集合E;通过对E设置阈值,将图像块划分为8种类型,为每种类型分配特定的编码长度和嵌入容量,获得相应的编码表;并用3比特表示每块的分类信息,得到分类数据,其具体步骤如下:

(1-1).将原始图像I进行sobel边缘提取,得到边缘强度集合E,通过设置阈值,将图像块按纹理复杂度进行分类,具体如下:

采用sobel提取原始图像块各边缘强度信息,记为集合E,设定阈值T1~T7:0.02,0.03,0.04,0.05,0.06,0.07,0.08,将所有块分成8个子集C1~C8,对于某个图像块B(i)(1≤iN),任意一个像素的边缘强度F,若FT1记为B (i)∈C1,若T1FT2记为B (i)∈C2,若T2FT3记为B (i)∈C3,若T3FT4记为B (i)∈C4,若T4FT5记为B (i)∈C5,若T5FT6记为B (i)∈C6,若T6FT7记为B (i)∈C7,若FT7记为B (i)∈C8,分类映射图如图3所示;

(1-2).为每个子集分配嵌入容量L1~L8、编码长度M1~M8和编码表Z1~Z3

集合C1采用三个(LSB)位平面替换法,L1=192,M1=176,编码表如下式:

集合C2采用三个(LSB)位平面替换法,L2=192,M2=144,编码表为公式(1)中按Z字形排列的前144比特;

集合C3采用三个(LSB)位平面替换法,L3=192,M3=112,编码表为公式(1)中按Z字形排列的前112比特;

集合C4采用两个(LSB)位平面替换法,L4=128,M4=80,编码表如下式:

集合C5采用两个(LSB)位平面替换法,L5=128,M5=64,编码表为公式(2)中按Z字形排列的前64比特;

集合C6采用两个(LSB)位平面替换法,L6=128,M6=48,编码表为公式(2)中按Z字形排列的前48比特;

集合C7采用一个(LSB)位平面替换法,L7=64,M7=32,编码表如下式:

集合C8采用一个(LSB)位平面替换法,L8=64,M8=16,编码表为公式(3)中按Z字形排列的前16比特;

(1-3).采用三个比特表示每个块的分类信息,{C1:000},{C2:001},{C3:010},{C4:011},{C5:100},{C6:101},{C7:110},{C8:111},分类数据共3N 比特,记为P。

(2).对每一图像分块作离散余弦(DCT)变换,得到(DCT)变换系数;根据步骤(1)获得的编码长度和编码表,将(DCT)系数编码成二值序列,生成恢复数据,其具体步骤如下:

(2-1).首先根据嵌入容量将C1~C3的三个(LSB)位平面置零,C4~C6的两个(LSB)位平面置零,C7~C8的一个(LSB)位平面置零;然后将每个像素除8四舍五入取整后减16,对每一图像块作离散余弦(DCT)变换并取整,得到离散余弦(DCT)变换系数;

(2-2).按照每块的编码长度M1~M8和编码表Z1~Z3选定需要编码的(DCT)系数,将每个选中的(DCT)系数编码成T 比特的二值序列,如公式:

其中Q 表示选中的(DCT)系数,T 为该系数在编码表中相应位置的数值,若Q >2T-1Q=2T-1,若Q < -2T-1Q =-2T-1

(2-3)集合C1~C8块的个数分别为N1~N8:899,200,232,216,281,330,611,1327,则共生成N1×176+N2×144+N3×112+N4×80+N5×64+N6×48+N7×32+N8×16比特恢复数据,记为R。

(3).将步骤(1)得到的分类数据和步骤(2)得到的恢复数据经过喷泉码进行编码;将编码后的分类数据、恢复数据和图像块的原始信息通过哈希函数生成认证数据;将分类数据、恢复数据和认证数据嵌入到原始图像中,生成含密图像,其具体步骤如下:

(3-1).将3N 比特分类信息P经过喷泉编码生成15N 比特信息PS,PS共N 个符号,每个符号15比特,记为PSi,其中i =1,2...N

(3-2).将N1×176+N2×144+N3×112+N4×80+N5×64+N6×48+N7×32+N8×16比特的恢复数据R,经过喷泉编码生成(N1+N2+N3)×160+(N4+N5+N6)×96+(N7+N8)×32比特信息RF,RF共(N1+N2+N3)×10+(N4+N5+N6)×6+(N7+N8)×2个符号,每个符号含16比特,记为RFi,其中i =1,2...N1+N2+N3)×10+(N4+N5+N6)×6+(N7+N8)×2;根据每个块的嵌入容量,将符号RFi分成N 个组RGjj =1,2...N ,每个组的符号个数不同,如对应集合C1~C3的组含10个符号,对应集合C4~C6的组含6个符号,对应集合C7~C8的组含2个符号;

(3-3).将密钥k 、块位置数据i 、分类数据PSi、恢复数据RGj和原始图像的最高有效位(MSB)位平面,通过哈希函数生成17比特的认证数据HSi

(3-4).嵌入过程中,原始图像的(MSB)位平面保持不变,(LSB)位平面替换成所要嵌入的信息,将分类数据PSi、恢复数据RGj、认证数据HSi嵌入到第i 块当中,i =1,2...N ,最终生成含密图像S,如图4所示,含密图像峰值信噪比(PSNR)为42dB,。

(4).认证过程,首先提取步骤(3)嵌入的认证数据和分类数据,接着重新计算认证数据,与提取的认证数据进行比较,如果不同则表示被篡改;经一般模型下的喷泉解码得到分类数据,根据分类提取恢复数据,经过Korus[4]提出的自恢复模型下的喷泉码解码恢复数据,重建原始图像,其具体步骤如下:

(4-1).首先将接收到的图像进行8×8分块,提取出每块的认证数据HSi和分类数据PSi,将密钥k 、位置数据i 和每块中除认证数据之外的所有数据输入哈希函数中,重新生成认证数据JSi,若JSi与HSi不同,则表示该块被篡改,否则表示该块没有被篡改;

(4-2).通过一般模型下的喷泉码,解码得到3N 比特的分类数据P,根据分类数据从未被篡改的图像块中提取并重新生成恢复数据,经过自恢复模型下的喷泉解码得到恢复数据R,将篡改块的恢复数据进行(DCT)反变换,加16乘8取整后,即可恢复原始图像块的大致信息,最终重建原始图像,如图5所示,参考图像峰值信噪比(PSNR)为36dB。

从图4可以看出本发明生成的含密图像质量较高,峰值信噪比(PSNR)为42dB,避免了含密图像质量严重下降的缺陷;图5显示了本发明生成的参考图像,峰值信噪比(PSNR)为36dB,由于纹理越复杂的块编码长度越长,保证了图像的整体重建质量;采用自恢复模型下的喷泉码进行编解码,对于Lena图像最大可恢复比例平均值为0.47;因此,本发明在含密图像质量、重建图像质量和最大可恢复比例方面都具有优越性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1