基于图像压缩与弹性分辨率的缩略图图像隐私保护方法与流程

文档序号:15925289发布日期:2018-11-14 01:04阅读:433来源:国知局

本发明属于数字图像加密、数字图像隐私保护及信息安全技术领域,具体涉及一种基于图像压缩与弹性分辨率的缩略图图像隐私保护方法。

【背景技术】

数字图像因其内容生动、形象,相较于声音、文本信息,克服了存储空间大的困难,并可以传达更多的信息,从而成为传播信息最重要的方式之一[1]。随着互联网应用的快速发展,各种各样的云存储设备开始作为数字图像的管理工具,它可以异步轻松共享大文件,而不需点对点传输,即使丢失或者损坏了移动设备,也可以从云上访问和恢复,而且成本低,为用户传输和管理数据节约了大量费用,因此,每周几乎近十亿的新照片被上传至云应用上。

但云存储带来便利的同时也对用户的隐私带来了威胁,因为任何有意义的图像上传至云应用上,都相当于在不可信的第三方服务器上做了备份,那么用户的隐私很可能遭到泄露,这种隐患的原因在于:一是服务提供商会因某些商业利益将用户的照片泄露给合作方;二是用户的账户可能会遭到攻击者的攻击,这会使得用户的照片流落到攻击者的手中,导致用户的人脸信息、生活信息等遭到泄露。

解决这一问题的方法就是实行“端到端”的加密,即在发送端需要在图像上传到服务器之前就对其进行加密,这样服务器端获得的图像就是经过加密的图像,没有授权的第三方在没有密钥的情况下无法将密文图像还原到原始图像,这样便大大提高了图像内容不被窃取的安全性,对涉及到个人隐私的数字图像起到了很好的保护作用。这方面的技术包括基于矩阵变换像素置换的图像加密技术、基于秘密分割与共享的图像加密技术和基于现代密码体制的图像加密技术等[2]。

然而传统的经典图像加密算法虽然已经很好地解决了图像隐私保护问题,但却因格式不兼容或加密后的图像极度混乱,用户无法对图像进行在线预览等,使得图像检索起来非常困难。参考文献[3]、[4]中解决了格式不兼容的问题,但仍没有解决图像预览的问题,[5]中wright等人在信息隐藏和多媒体安全会议上提出了缩略图图像隐私保护算法(tpe),选择为每个图像提供一个低分辨率的jpeg缩略图,这样提供了可兼容的图像格式,又隐藏了图像的细节内容,能够在一定程度上保护用户的隐私,又可以在线预览。

但无论是传统的图像加密算法还是最新的缩略图图像隐私保护算法,都改变了图像的空间相关性,使得加密后的图像文件存储开销大大增加,并且tpe算法的图像重建之后有明显的块效应,视觉质量并不能达到人眼接受的效果。参考文献[6]中提出的缩略图隐私保护算法在图像安全性、文件大小和图像重建质量上都有所提高,但总体效果还是差强人意。

参考文献

[1]gonzalez,rafaelc.,andricharde.woods."digitalimageprocessing."(2012).

[2]李昌刚,韩正之,and张浩然."图像加密技术综述."计算机研究与发展39.10(2002):1317-1324.

[3]tierney,matt,etal."cryptagram:photoprivacyforonlinesocialmedia."proceedingsofthefirstacmconferenceononlinesocialnetworks.acm,2013.

[4]ra,moo-ryong,rameshgovindan,andantonioortega."p3:towardprivacy-preservingphotosharing."nsdi.2013.

[5]wright,charlesv.,wu-chifeng,andfengliu."thumbnail-preservingencryptionforjpeg."proceedingsofthe3rdacmworkshoponinformationhidingandmultimediasecurity.acm,2015.

[6]marohn,byron,etal."approximatethumbnailpreservingencryption."proceedingsofthe2017onmultimediaprivacyandsecurity.acm,2017.



技术实现要素:

本发明目的是解决如下的关键技术问题:

第一、提出一种保存原始图像格式的图像加密方法,解决加密图像格式不兼容的问题。

第二、提出一种缩略图图像隐私保护方法,加密图像不仅能够保护用户的隐私,也能通过缩略图进行在线预览。

第三、提出一种基于图像压缩的图像加密方法,使得加密后的图像尽可能地节省文件存储空间和传输带宽。

第四、提出一种弹性分辨率的缩略图图像加密方法,图像的缩略图分辨率可以通过用户控制。

为了解决上述问题,本发明读取原始图像的格式,在进行图像加密处理后依然存储为原始图像的格式,使得加密后的图像可用性更强。

为了解决上述问题,本发明提出了建立原始图像的低分辨缩略图。缩略图中丢弃了图像的细节部分,只保留图像的大致轮廓,并且从缩略图中很难恢复到近似的原始图像。这种方式既保护了图像中的隐私信息,又可以通过加密图像进行在线预览。

为了解决上述问题,本发明使用图像压缩技术,控制图像加密后带来的额外存储开销,并通过合理的图像量化,去除图像的冗余,尽可能地降低原始文件的大小。并且结合图像压缩技术的特点,将加密后的图像分为公共部分和私密部分。公共部分为体积很小的缩略图,通过缩略图进行在线预览时仅仅加载公共部分,可以大幅度节省带宽。

为了解决上述问题,本发明提供了一种弹性分辨率的缩略图图像加密技术,图像的细节暴露程度由用户自己控制。与此同时,图像的安全性不仅依赖算法的安全性,同样依赖缩略图分辨率的大小。图像的分辨率越高,图像的细节暴露程度就越少,图像的安全性就越高。

为了解决上述问题,本发明还提供了一种原型系统,用于缩略图加密的图片存储。支持弹性选择图片加密等级及相应分辨率等级的图片上传,下载时将在终端解密为高清图像。

本发明的技术方案:

一种基于图像压缩与弹性分辨率的缩略图图像隐私保护方法,该方法包括缩略图加密方法和缩略图解密方法两部分;

一、缩略图加密方法

第1、在空间域上将图像分块:先读取位图图像文件中的图像信息,假设该图像的图像大小为n×n,对原始图像按照n×n进行分块,n<n,下同;

第1.1、对每个n×n的块进行二次划分块,每个子块的大小为b×b,b<n,下同;

第1.2、对每n×n块中若干个子块进行随机置乱,考虑到jpeg压缩的性质,为了更好地获得图像恢复质量,采取nmod8≡0,bmod8≡0,参与置乱的b×b子块的个数由子密钥k0决定,以此来弹性地控制缩略图图像的分辨率,而参与置乱的子块的随机位置由伪随机数发生器产生;

假设每个n×m的块中包含m个b×b的子块,那么图像的置乱程度分为5个等级:level=0时,图像不置乱也不压缩,完全保留原图;level=1,m/4子块参与置乱;level=2,m/2的子块参与置乱;level=3,3m/4的子块参与置乱;level=4,m个子块都参与置乱;level将作为伪随机数发生器的“种子”,决定子块的随机置乱位置;

第2、借鉴jpeg压缩方法将图像通过正向离散余弦变换(dct)变换至频域,这里对图像进行dct变换应遵循如下规则:

第2.1、将图像每个像素数据减去128,使得像素值的范围落入-128至127之间的范围,这样可以大大降低dct变换后十进制数为3位的概率,便于使用vil编码时,降低编码的位数;

第2.2、结合jpeg压缩的性质,对每个8×8的图像块应用dct变换,得到1个dc系数和63个ac系数,同时将dc系数称为低频系数,ac系数称作高频系数;

`3、对第2步中的dct变换结果进行量化,即将图像每8×8的块除以jpeg压缩中的缺省量化表,结果四舍五入保留整数;这样dct系数中的大部分高频系数变为“0”,一些没有被置为“0”的系数也会在精度上有些损失;量化的目的在于过滤图像中的高频系数,图像的主要信息集中在图像的低频部分,这样可以起到压缩的作用,又不会对图像的主要信息产生大的影响。

第4、对第3步量化后的每8×8的dct系数进行zigzag扫描,这样对于8×8块的dct系数将得到1×64的一维序列;

第4.1、将高频系数ac与低频系数dc分离,高频系数作为私密部分存储,并将高频系数的位置替换为“0”;

第4.2、对分离的高频系数进行零游程编码和哈夫曼编码,进一步压缩数据的序列编码长度,得到二进制序列w0,w1,...,wi;

第4.3、对经过第4.2步的高频系数进行流密码加密;

流密码加密的具体方法为:使用子密钥k1通过流密码发生器产生二进制的密钥流r0,r1,...,ri,并对第4.2步中的二进制wi序列按如下公式得到加密后的wi′序列:

wi′将作为私密部分保存;

第5、由此对高频系数置“0”后的系数进行izigzag扫描并反量化,反量化的结果丢弃了图像的细节部分,只保留了图像粗糙特征;

第6、对经过第5步处理的dct系数进行逆向离散余弦变换(idct)变换至空间域;

第7、在第2.1步中将所有的像素值减去128,在此将会加上128,将像素值恢复到0-255的范围,这样便得到了相应置乱等级的缩略图;

第8、再次将第7步中的缩略图进行分块加密,每个块大小为8×8;

第8.1、此时缩略图的每个块中的像素值都是该块的平均值,因而需要对每个块中的像素低六位进行随机置乱,使得该块的像素值不是精确的平均值,但却接近于平均值;

第8.2、为了保证图像的压缩效果,对于同一个块内的64个像素使用同一子密钥k2进行像素值低六位置乱;

虽然在第1步中对每个块中的子块进行了一定程度的置乱,给攻击者暴力破解图像带来了一定的难度。但是在第3-第4.1步中,对每8×8的块进行dct变换,并将所有的ac置“0”,由于dct变换的特性,使得图像进行idct变换后,每个8×8块中像素点的值都是该块的平均值,这样便精确地暴露了块间置乱后的每个8×8块的平均值。因而在第8.2步中采取子密钥k2作为随机数生成器的“种子”,对每个8×8块中的每个像素值的低六位进行随机置乱;为了保持块中像素的相关性,便于压缩,每个块中的子密钥相同,这样不仅在一定程度上隐藏了块的平均值,而且使得每个块都跟原图有一定的相似度。

二、缩略图解密方法

第9、将加密后的缩略图图像按照8×8进行分块,并使用子密钥k2对每个块中的像素值进行低六位还原解密操作;

第10、根据子密钥k1按如下公式解密出第4步中分离的高频系数ac;

第11、对缩略图进行如第2-第3步中的dct变换并量化;

第11.1、dct系数中的高频系数由第10步中解密的高频系数替换;

第11.2、对缩略图进行反量化和idct变换得到稍高分辨率的缩略图;

第12、使用子密钥k0将置乱的块恢复到原始图像的位置,还原到高清的原始图像。

可以发现,最终恢复的图像不是原始图像,是因为在本发明的加密算法中压缩算法中的有损模式,对变换后的系数进行了量化操作,换句话说本发明的算法是有损的,但最终的图像恢复质量是可以接受的。

本发明的优点和有益效果:

1、本发明提供了弹性分辨率的隐私保护方案,在实际应用中可以由用户自己控制图像的分辨率。同时弹性的分辨率也伸缩性地控制了缩略图的安全性,对于安全性要求不是很高的图像可以采取较高的分辨率,便于在线预览;安全性要求很强的图像采用低分辨率,便于图像隐私保护;

2、除此之外,将图像的公共部分和私密部分分开保存,保存这两部分的任何一方都无法独自解密图像,这给攻击者破解加密图像增加了难度;

3、比起之前的缩略图图像隐私保护方案,本发明结合jpeg图像压缩算法,不仅去除了图像中的细节信息部分,而且更高效率地降低了图像加密后的存储开销,又因为本发明方案中的分辨率是弹性的,因而当选择的分辨率较高时,节省加密后图像的存储开销的优势会更明显,不论是高分辨率还是低分辨率加密后的图像大小都明显小于原图,这是以前的方案都没有做到的;

4、在本发明的算法中,为了降低存储开销,使用了dct变换,并对系数进行量化,这使得原始图像不可恢复地丢失了一些信息,换句话说,本发明的方案是有损的,但却在保证图像安全及压缩效率的前提下,提供了可以接受的图像恢复质量。

以下结合附图说明以及具体实施方式对本发明的最佳实施例进行详细说明,本发明的这些以及其他优点将更加明显。

【附图说明】

图1给出了本发明中对于n×n大小的图像分块的示例图;

图2是根据本发明的实施例,对图像进行弹性分辨率缩略图加密的m200流程图;

图3给出了本发明中分块并对子块进行置乱的m300流程图。

图4是根据本发明的一个实施例中32×32分块,置乱等级为1-4时,子块间随机置乱的示例;

图5给出了不同置乱等级下图像子块间置乱的效果图;

图6中展示了对dct变换后ac系数置0的示意图,其中最小单位的块代表一个像素。

图7是块间置乱后dct变换后ac系数置0的一个具体实例;

图8给出了本发明中像素值低六位随机置乱的示意图;

图9给出了加密图像公共部分与原始图像文件大小的对比,数据单位为kb;

图10给出了加密图像整体与原始图像文件大小的对比,数据单位为kb;

图11列出了不同置乱级别时,对缩略图进行边缘检测的结果;

图12为缩略图图像解密算法m1200流程图;

图13使用psnr值衡量解密后图像的重建质量,数据单位为db;

图14给出了3种不同分辨率图像的图像重建效果图。

【具体实施方式】

下面将结合附图介绍本发明的具体实施方式。

为了方便起见,图1给出了本发明中分块的示例图,对于n×n大小的图像分成若干个n×n的块,并对每个n×n的块进行二次划分,分成b×b个子块的示例图。

实施例1:

图2给出了本发明算法加密过程的一个m200实施例的流程图。

如图2所示,缩略图加密过程在步骤s210开始。

s220将图像进行分块,对于图像大小为256×256的图像分成64个32×32的块,对每个32×32的块划分8×8的子块,s230对每个块中的子块进行随机置乱,在此过程中子块间置乱的程度由置乱等级level决定,level不同,子块间置乱程度不同,这直接决定了最终图像的分辨率的高低,子块的随机置乱位置由子密钥k0决定(详细的子块间置乱过程参见m300)。

图4给出了块间随机置乱具体示例图,对于32×32的图像块,进行二次划分,每个子块的大小为8×8,因而32×32的块中包含16个子块,图4中每一个单元中左图为原始块,右图则是左图子块经过随机置乱后的结果,带阴影的块为随机挑选的需要置乱的块。根据缩略图加密算法第1.2步中的定义,当置乱等级为0时,不进行置乱,置乱等级为1时随机选择4个需要置乱的块,…,以此类推置乱等级为4时,所有的16个子块中都进行随机置乱,如图4所示。

图5中依次给出了不同置乱等级下图像子块间置乱效果图,可以看出这种局部块置乱的效果依然可以看出图像的大致轮廓。当level=0时图像保持原图,随着置乱等级的增加,图像会变得越来越模糊,这为本发明算法中弹性分辨率缩略图奠定了基础。

图2中的s240是根据jpeg压缩中的方法对图像每8×8的块进行dct变换,并量化,得到高频系数dc和低频系数ac,并将dc保留下来,ac分离出去。

图2中的s250则将s240中原始ac系数的部分置0,并实施反量化和idct变换,得到分辨率更低的缩略图图像。

图6中展示了对每8×8块做dct变换后ac系数置0的示意图,左图中左上角为dc系数,剩下的为ac系数,右图中显示了ac被分离后其原来的位置被置为0。

图7是根据置乱等级为3,将置乱后的图像进行dct变换并ac置0后的一个图像示意图,dc集中图像中最重要的能量,因而当ac被分离后,图像的大部分信息被保存下来,细节部分更少,所以图像的分辨率将会更低。

图2中的s260是使用zigzag扫描s240的dct系数得到一维的块序列,并将其中的ac系数分离出来,并使用子密钥k1进行流密码加密,作为私密部分保存。

图2中的s270则对于s250生成的缩略图重新划分块,每个块的大小为8×8,对每一个块中的像素值低六位使用同一种子密钥进行置乱,该部分作为公共部分保存。

图8给出了256个灰度级的像素值进行低六位置乱的示意图,置乱后像素值不再是原始图像精确的平均值,但因为高2位没有发生变化,因而像素值还是接近于平均值。

缩略图加密过程至s280结束;

由此得到了公共部分的弹性分辨率缩略图加密图像及私密部分的加密序列,为了衡量图像加密后消耗存储空间的成本,本发明比较了密文和明文消耗的存储空间。

图9比较了不同置乱级别下,加密后图像公共部分与明文之间的文件大小(单位:kb)。其中level=0时表示原图,其文件大小为39.7kb,当置乱级别为1以上时,公共部分则在0.5kb左右,也就是说,本发明保存在服务器上提供图片管理和预览的缩略图部分相比于原始图像大大减小了,这样会大幅度节省公共部分服务器的存储开销,同时能更大程度地节省带宽,提高服务器工作的性能。

图10给出了加密后文件总体(公共部分+私密部分)与原图的文件大小对比,从图中可以看出,本发明的方案不仅没有额外的开销,反而比原始图像的存储空间降低了很多,这相比于之前的缩略图图像隐私保护算法有了很大的提升。

边缘检测是现今攻击隐私的一种常用方法,因为在图像的边界部分包含了图像中最重要的信息。本发明使用matlab工具箱中最常用的canny算子边缘检测方法来评估缩略图图像的安全性。

图11显示了原图及level0-level4不同级别下,使用边缘检测可以检测到一些特征点,其中level0和level1-level4分别表示对原图和不同分辨率缩略图进行边缘检测的结果。可见随着置乱级别的增加,图像边缘检测的效果越来越差,对于计算机视觉领域或者信号处理方面的专家来说,因为他们也收集了各种各样的数据集,也许能够从这些暴露的特征点分析一些信息,但是如果图片不在任何数据集中,那么是无法辨别图像中的内容的,或者对一个外行人来说,无法从图中的结果中获取任何的信息。

图12是缩略图图像的解密方法m1200的流程图,方法从s1210开始,s1220步中会通过子密钥k2将所有像素值的低六位还原。s1230将使用子密钥k1解密私密部分数据,得到解密ac序列。

s1240步中根据jpeg压缩对缩略图应用dct变换并量化,步骤s1250使用s1230中解密的ac系数替换步骤s1240中得到的ac系数,并进行反量化和idct变换得到恢复的图像。

s1260根据子密钥k0对图像实施逆置乱操作,得到恢复的高清原始图像,缩略图图像解密算法在s1270结束。

需要注意的是,最终恢复的图像不是原始图像,是因为在加密算法中使用了jpeg压缩中的有损模式,对dct变换后的系数进行了量化操作,丢失了一部分原始图像的信息,换句话说本发明的算法是有损的,但最终的图像恢复质量是可以接受的。

图13中列出了本发明图像的恢复质量数据,有研究表明,当重建后图像与原图的psnr值在28db以上时,达到人眼可以接受的图像质量。

从图13中可以看出,图像的恢复质量都在人眼可以接受的范围内,并且图像的重建质量几乎不会因分块的大小和置乱级别的变化而变化,这是因为图像的损失仅仅体现在dct变换后量化的过程中,虽然本发明划分了不同的块,但每个块中的子块都为8×8的倍数,每个子块中的像素点位置并没有改变,因而图像分块的大小和子块间置乱程度都不是图像质量的影响因素。

图14给出了不同分辨率的图像在置乱级别level=4时图像重建后的示意图。其中第一列至第三列的图像分辨率分别为256×256,512×512和1024×1024。不难发现,当图像的分辨率越高时,从人眼的角度发现不了任何图像损失的痕迹。因而本发明算法的重建质量效果是非常可观的。

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