基于数据隐藏的可逆图像视觉变换算法*

2018-09-11 02:09唐洪祥吴昊天
传感器与微系统 2018年9期
关键词:直方图灰度加密

唐洪祥, 吴昊天

(1.江南大学 数字媒体学院,江苏 无锡 214122; 2.华南理工大学 计算机科学与工程学院,广东 广州 510006)

0 引 言

可逆图像视觉变换技术是图像加密技术中重要的研究方向,可将原始图像转换成加密图像,并在加密图像中嵌入相应的变换信息,以便在恢复图像时能够根据变换信息无失真地恢复出原始图像。文献[1]提出了一种基于影像镶嵌的图像视觉变换方法(secret-fragment-visible mosaic images),可以生成视觉上和参考图像相似的加密图像,并能够无失真地恢复原始图像,但只能从特定的图像数据库中选取参考图像。文献[2]对此进行改进,分割后的图像块可以作0°,90°,180°或者270°旋转,每个原始图像块能够通过近可逆的颜色变换算法[3],使得产生的结果图像和原始图像的相似程度更高,但该方法仍不可逆。

为了让用户能较好地对图像信息加密,并将加密图像无失真地还原出原始图像,本文提出了一种可逆图像视觉变换算法,利用可逆数据隐藏算法[4~9]将图像变换信息嵌入到加密图像中,按照变换过程逆序操作,即可无失真地恢复出原始图像。

1 可逆图像视觉变换算法

1.1 基本构想

提出方法的流程如图1,包括两个阶段:图像视觉变换[10]操作及将图像视觉变换信息嵌入到加密图像;恢复阶段,利用可逆数据隐藏算法从加密图像中提取出图像视觉变换信息,利用变换信息即可无失真地还原出原始图像[11,12],且算法更简单。

图1 可逆图像视觉变换算法流程

1.2 彩色图像可逆图像视觉变换算法

1)选定一幅彩色图像,将其三原色(RGB)三个通道的灰度图像,作为原始图像。如LenaRGB.bmp,其RGB通道灰度图像的像素值通常情况下都需要8 bit存储,每1 bit中存储0或者1,并且像素值MSB对像素灰度影响最大。通过改变像素值MSB位平面可以达到视觉上图像信息掩饰的效果。

2)选定一幅参考图像,如F16-grey.bmp,分别将LenaRGB.bmp产生的3幅灰度图像MSB位平面替换成F16-grey.bmp的MSB位平面。

3)按照以上操作,产生3幅加密图像,分别作为RGB3个通道的灰度图像,可以合成一幅彩色图像,得到原始图像的加密图像,其视觉上更接近参考图像,达到较好的保密效果。

2 嵌入数据的可逆数据隐藏算法

本文采用基于直方图变换的可逆数据隐藏算法[13,14]嵌入图像视觉变换信息,通常应用于灰度图像,利用该算法,图像视觉变换数据可以嵌入到上述的三幅加密图像中。其原理如下:给定一幅8位灰度图像I,首先生成其像素直方图hI,hI(j)表示像素值为j的像素数目,j∈{0,1,2,…,254,255}。称直方图中像素数目最多的两个像素值为峰值,选取直方图中两个峰值,按照位置的左右次序分别被指定为IL和IR。例如在Lena图像中,IL=155,IR=156。位于直方图中IL左侧的像素值和IR右侧的像素值分别向左和向右平移一个单位,位于中间的像素值保持不变。通过以上操作,在直方图中j=154和j=157的位置产生2个空缺,可以满足数据嵌入的目的。以上方法可归纳为式(1)

(1)

式中bk为第k个嵌入的二进制数据位(取值0或1);I′为变换后的像素。经过式(1),共嵌入hI(IL)+hI(IR)个数据位。

经过上述嵌入处理,可以观察到,峰值IL变成IL或IL-1,峰值IR变成IR或IR+1。对于新生成的直方图,利用这两个变换后的峰值,再次经过式(1)进行数据嵌入,重复执行多次之后,数据全部嵌入图像中。

在上述直方图嵌入数据的过程中,如果h1中存在像素值为0或者255的边界,则会发生溢出。例如Lena图像,其最大像素值为245,经过10次处理后,原始图像中最大像素值会变成255,再次嵌入会出现溢出。为了避免溢出,需要对直方图进行预处理。根据式(1),像素值的变动范围是±1,进行L次变换,最大变动范围是±L,因此,在预处理时,像素值处于[0,L-1]区间的像素点加上L,处于[256-L,255]区间的像素点减去L。以上方法可归纳式(2)

(2)

在进行上述预处理的同时,需要生成一幅二值图像,该二值图像与原始图像大小相同,如果处理过程中某像素被修改,则对应二值图像中像素标记为1,否则,标记为0,然后根据JBIG2[15]算法对这幅二值图像进行压缩,最后嵌入到图像中,以便恢复原始图像。

3 算法描述

根据上述讨论,选定一幅原始图像,应用基于信息隐藏的可逆图像视觉变换算法详细流程如下:

输入原始图像S和参考图像T。

1)将原始图像S通过RGB三个通道获得SR,SG和SB三幅灰度图像;

4)计算预处理后直方图的峰值点ML和MR,选择直方图中两边的峰值进行数据嵌入,对于直方图中每个像素值采用式(1)进行变换操作;

输出 加密图像I′。

恢复原始图像的算法步骤如下:

输入 加密图像I′。

1)将I′通过RGB三个通道获得携带有嵌入信息的三幅灰度图像。

2)分别获取三幅灰度图像的像素直方图,并计算像素直方图的峰值ML和MR。

3)应用式(6)提取嵌入信息

(3)

(4)

重复运用式(3)和式(4)可提取出所有嵌入的信息。

5)将SR,SR和SB通过RGB重新合成彩色图像,即原始图像。

输出 原始图像I。

4 实验与结果分析

本文的实验环境为Windows 7 64 bit和4 GB内存,CPU为G3240(3.10 GHz),编程环境为Visual Studio 2010。实验图像是从USC-SIPI图像数据库中抽取的3张尺寸为 512像素×512像素的图像,其中2张为灰度图像,2张为彩色图像。

如图2所示,“LenaRGB.bmp”和“F16-grey.bmp”分别作为原始图像课参考图像进行可逆图像视觉变换的实验结果,可以看出,加密图像对原始图像的信息具有较好的隐藏效果,且外观上更接近于参考图像。

图2 LenaRGB.bmp可逆变换测试

对于还原出原始图像,需要先将加密图像图2(i)通过RGB通道得到三幅单通道的灰度图,之后对每幅单通道灰度图应用可逆数据隐藏的提取算法提取出变换过程中生成的二值标记图、预处理区间信息、标记图长度以及峰值等信息,根据提取信息进行恢复操作,可以恢复得到三幅RGB通道灰度图,合成之后即为原始图像。从视觉效果来看,图像经过可逆变换后能够较好地完成原始图像的信息隐藏,并且能够无损地还原出原始图像。

利用文献[2]提出的可逆图像视觉变换算法对图2中的原始图像和参考图像分割成不同的图像块大小的实验结果如图3所示。可见,算法分割的图像块越大,加密图像的视觉效果越差。

图3 文献[2]中LenaRGB.bmp可逆变换测试

图4给出了BaboonRGB.bmp和F16-grey.bmp分别作为原始图像和参考图像,经过可逆图像视觉变换算法产生加密图像,图4(a)的纹理要比图4(a)的复杂的多,因此对图4(a)进行可逆图像视觉变换所需要的时间复杂度也相应增加。

图4 BaboonRGB.bmp可逆变换测试

为进一步评估算法的变换效果,实验对该算法进行图像视觉变换得到的每一幅加密图像,计算其3个评估值:峰值信噪比(peak signal to noise ratio,PSNR),嵌入数据的有效载荷(pure payload)和嵌入率,bpp。其中,PSNR值越大表示和参考图像的相似度越高,但也存在局限性,PSNR的值无法和人眼看到的视觉品质完全一致,计算如下

(5)

式中M和N分别为图像的长和宽,I0(i,j)和I1(i,j)分别为RGB通道灰度图像和嵌入信息后图像的第i行第j列像素值,MSE为均方误差。

表1中上下部分分别是图2(a)和图4(a)采用本文算法的可逆变换数据统计,可以看出,图3中的可逆图像视觉变换算法的数据嵌入量大幅增加,且PSNR也随之变低。但对于同一幅原始图像,不同通道对于PSNR影响并不明显。由此可见,原始图像纹理复杂度对可逆图像视觉变换算法有较大影响,图像纹理越复杂,修改的像素数目就越多,需要嵌入的数据量越大,会造成峰值像素扩展的次数增多,但并不稳定,导致有效数据的嵌入率受到影响。

表1 采用本文算法LenaRGB.bmp和BaboonRGB.bmp可逆变换数据统计

表2是文献[2]算法进行图3中可逆图像视觉变换所产生的可逆变换数据,可以看出,随着分割的图像块的变大,PSNR随之变小,且变小趋势明显,加密图像的视觉效果越差,嵌入率变小,所需嵌入的图像变换信息越少。通过图3,当块大小为16×16时,虽然文献[2]实验中PSNR的值比较大,但由于PSNR的局限性,加密图像的视觉效果明显变差。和本文算法实验结果相比,文献[2]在加密图像视觉效果要求较高时,所需嵌入的图像变换数据量大幅增加,导致还原的原始图像出现失真。而本文算法的PSNR比较稳定,所需嵌入的图像变换数据量也相对较小,能够无失真地还原出原始图像。

表2 文献[2]算法LenaRGB.bmp可逆变换数据统计

5 结束语

本文针对数字图像的像素值在计算机存储中的特点,改进已有文献中的可逆数据隐藏算法,并将其应用到可逆图像视觉变换中,实现了将原始图像以修改像素最高存储位的方式,并利用可逆数据隐藏算法嵌入修改信息,可以无损地恢复原始图像,图像变换信息量也更小。

猜你喜欢
直方图灰度加密
符合差分隐私的流数据统计直方图发布
采用改进导重法的拓扑结构灰度单元过滤技术
一种新型离散忆阻混沌系统及其图像加密应用
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
一种基于熵的混沌加密小波变换水印算法
用直方图控制画面影调
基于最大加权投影求解的彩色图像灰度化对比度保留算法
中考频数分布直方图题型展示
基于灰度线性建模的亚像素图像抖动量计算
基于空间变换和直方图均衡的彩色图像增强方法