一种基于内容的图像文件雕复方法技术

技术编号:10320121 阅读:231 留言:0更新日期:2014-08-13 20:20
本发明专利技术一种基于内容的图像文件雕复方法属于信息安全与计算机应用技术领域,涉及到一种JPEG图像文件恢复方法,尤其是一种对数据存储设备中已经删除、相关文件系统元信息遭到破坏时的JPEG图像文件恢复方法。雕复方法首先使用操作系统提供的相关接口,获取需要进行雕复操作的存储设备的全部数据块的有序集合;然后进行预处理,获得待雕复数据块集合;最后,在待雕复数据块集合中进行雕复。本发明专利技术适用于包括NAND闪存设备在内的数据存储设备,并且不受文件系统的存在与否影响,准确率较高。能在传统算法无法工作的非连续存储的数据存储设备上正常工作,可以在刑事侦查、数据恢复领域帮助相关人员恢复重要的JPEG图像数据。

【技术实现步骤摘要】
一种基于内容的图像文件雕复方法
本专利技术属于信息安全与计算机应用
,涉及到一种JPEG图像文件恢复方法,尤其是一种对数据存储设备中已经删除、相关文件系统元信息遭到破坏时的JPEG图像文件恢复方法。
技术介绍
在刑事侦查过程以及数据恢复中,从数据存储设备中恢复出原有的文件是一项重要步骤,这个过程称为雕复。其中数据存储设备是指计算机系统中存储二进制数据的外部存储器。现代计算机使用最广泛的数据存储设备是硬盘。在硬盘上,操作系统倾向于将文件数据块连续存放,因此,在文件系统损坏或者文件被误删除后,通过硬盘的连续的逻辑地址可以恢复出原有的文件数据。JPEG是当前世界上使用最广泛的计算机图像压缩和存储格式。由于文件在硬盘上是近似于连续存储的,目前的JPEG图像雕复方法通过JPEG文件的文件头标志SOI和文件尾标志EOI能够轻易地定位到其起始位置和结束位置,然后通过一定的方法排除掉两个位置中间的异常数据块,将剩余的数据块按顺序组合在一起,即可得到雕复完成的JPEG图像文件。随着技术的发展,基于与非门(NAND)闪存的存储设备得到了快速发展。NAND闪存是一种电子可擦除程序化只读存储器,是一种能够多次擦写的存储器。相对硬盘,其具有读写速度快、耗电低、噪音小、抗震性能好的优势,必将成为未来的主流存储设备。限于NAND闪存设备的物理特性,在其之上的文件存储并不是连续的,而是碎片化的,这将使现有的雕复方法无法正常工作。迄今为止,针对该设备上的文件雕复方法的研究还很少。
技术实现思路
本专利技术要解决的技术问题是如何在包括NAND闪存设备在内的数据存储设备上雕复JPEG图像文件。通过本方法,在连续和不连续存储的存储设备上,即使文件系统损坏或是文件被删除,仍然可以雕复出原始的JPEG图像文件。本专利技术能满足数据恢复和计算机取证工作的需要,对用户计算机中的JPEG图像进行雕复。本专利技术采用的技术方案是一种基于图像内容的JPEG文件雕复方法,雕复方法首先通过操作系统获取需要雕复的存储设备的全部数据块,然后经过预处理方法对其进行筛选得到待雕复数据块集合,最后经过雕复过程得到雕复完成的JPEG图像文件。方法的具体步骤如下:1.获取需要进行雕复操作的存储设备的全部数据使用操作系统提供的相关接口,获取需要进行雕复操作的存储设备的全部数据。这里的存储设备是指需要在其中进行雕复工作的整个存储设备或者单个分区。这些数据以数据块的形式存在,数据块的大小和顺序与原始存储设备上的簇一致。将所有数据块组成一个集合。获得的集合称为原始数据块集合。2.预处理为了降低上一步获得的原始数据块集合的规模,需要进行预处理。根据JPEG图像标准,JPEG图像文件由标记和标记段分割。将原始数据块集合分为JPEG图像头数据块集合和非JPEG图像头数据块集合。分类依据为:若某个数据块和它之后毗邻的若干个数据块能够按原有顺序组成满足JPEG图像标准规定的、不间断的、从SOI标记到SOS标记段的二进制数据流,则该数据流中字节所属的数据块全部属于JPEG图像头数据块集合;否则,数据块属于非JPEG图像头数据块集合。然后,从非JPEG图像头数据块集合中排除掉满足以下任一条件的数据块:(a)数据流包含JPEG图像标准保留的标记:0xFFF0~0xFFED、0xFF02~0xFFBF;(b)不包含EOI标记,且熵值低于某个阈值。其中,数据块的熵值定义如公式(1):pi为该数据块中,值为i的字节的出现的频率。最后,将两个集合合并,生成的集合称为待雕复数据块集合。3.雕复在待雕复数据块集合中进行雕复。在YCbCr色彩空间中,定义两像素P1(Y1,Cb1,Cr1)和P2(Y2,Cb2,Cr2)之间的距离如公式(2):根据JPEG图像标准,JPEG图像数据是以最小编码单元为单位进行编码的。对于JPEG图像文件的第i个数据块,定义其前向匹配距离如式(3):其中Pi,j是第j个满足以下任一条件的像素:(1)该像素所在的最小编码单元的数据完全来自于第i个数据块,且该像素与在对第i个数据块解码之前已经获得的某一像素P′i,j相邻;(2)该像素所在的最小编码单元的数据来自于第i个数据块和第i-1个数据块,且该像素与已经获得的某一像素P′i,j相邻。雕复算法流程如下:步骤一:在待雕复数据块集合中寻找一个由SOI标记开始的数据块。若找不到这样的数据块,算法结束,否则转入步骤二。步骤二:将该数据块从待雕复数据块中排除。使用JPEG解码器对该数据块以及与其毗邻的若干后续数据块进行解码,直至解出完整的一行最小编码单元为止。若这一过程无法完成,放弃当前图像的雕复,转入步骤一,否则继续解码到当前数据块结束,转入步骤三。步骤三:保存此时解码器的工作情况,即解码状态和相关内存区域,称为断点,k=1。转入步骤四。步骤四:恢复解码器的工作情况至断点。从待雕复数据块集合中取第k个数据块,拼接到断点处继续解码至该数据块结束。此时计算并保存该数据块的前向匹配距离。如果解码过程触发解码器的异常,则认为该数据块的前向匹配距离为无穷大。转入步骤五。额外的,如果一个数据块包含的数据未能成功解出一个完整的最小编码单元,放弃当前图像的雕复,转入步骤一。步骤五:若k等于待雕复数据块集合的元素个数,即对该集合的遍历已经结束,在已经保存的所有前向匹配距离中寻找最小值,将该值对应的数据块作为下一个正确的数据块,拼接到断点后,解码至该数据块结束,转入步骤六;否则,k=k+1,转入步骤四。步骤六:若达到了雕复结束的条件,将当前获得的所有数据块按顺序输出成为雕复完成的JPEG图像文件,转入步骤一;否则,转入步骤三。最终,得到的全部输出文件即雕复完成的JPEG图像。本专利技术的有益效果是根据JPEG图像的内容特征,专利技术了一种基于图像内容的JPEG文件雕复方法,该方法在寻找每个数据块时对整个集合进行遍历,挑选与已经解码完成的图像最匹配的数据块作为正确的数据块,能够在传统的硬盘和新式的NAND闪存设备上雕复被删除的JPEG图像,具有很高的准确率。附图说明图1是本专利技术雕复过程的流程图。图2是计算数据块的前向匹配距离的示意图。其中,右侧图形是一幅JPEG图像,1、2、3、4、5、6、7、8、9—9个方格为最小编码单元。具体实施方式以下结合技术方案和附图详细叙述本专利技术的具体实施方式。附图1是本专利技术雕复过程的流程图,附图2是计算数据块的前向匹配距离的示意图,其中,右侧图形代表一幅JPEG图像,该图像由上下两个数据块组成,9个方格代表9个最小编码单元。两个数据块的边界发生在5号最小编码单元中,即解码得到5号最小编码单元需要上下两个数据块的数据。左侧图形是右侧图形的放大图,每个最小编码单元中的小方格代表一个像素。要根据公式(3),计算下方数据块的前向匹配距离包含的像素是图中用深色标记出的像素。实验设本文档来自技高网...
一种基于内容的图像文件雕复方法

【技术保护点】
一种基于内容的图像文件雕复方法,其特征在于:首先使用操作系统提供的相关接口,获取需要进行雕复操作的存储设备的全部数据块的有序集合;然后进行预处理,获得待雕复数据块集合;最后,在待雕复数据块集合中进行雕复;所述预处理包括以下步骤:分类:将原始数据块集合分为JPEG图像头数据块集合和非JPEG图像头数据块集合;分类依据为:若某个数据块和它之后毗邻的若干个数据块能够按原有顺序组成满足JPEG图像标准规定的、不间断的、从SOI标记到SOS标记段的二进制数据流,则该数据流中字节所属的数据块全部属于JPEG图像头数据块集合;否则,数据块属于非JPEG图像头数据块集合;然后,从非JPEG图像头数据块集合中排除掉满足以下任一条件的数据块:(a)数据流包含JPEG图像标准保留的标记:0xFFF0~0xFFED、0xFF02~0xFFBF;(b)不包含EOI标记,且熵值低于某个阈值;其中,数据块的熵值定义如公式(1):E=-Σi=0255pilog2pi---(1)]]>其中,pi为该数据块中,值为i的字节的出现的频率;最后,将两个集合合并,生成的集合称为待雕复数据块集合;所述在待雕复数据块集合中进行雕复的过程:在YCbCr色彩空间中定义两像素P1(Y1,Cb1,Cr1)和P2(Y2,Cb2,Cr2)之间的距离如公式(2):Distance(P1,P2)=(Y1-Y2)2+(Cb1-Cb2)2+(Cr1-Cr2)2---(2)]]>对于JPEG图像文件的第i个数据块,定义其前向匹配距离如式(3):ForwardDistance(i)=1nΣi=1nDistance(pi,j,Pi,j′)---(3)]]>其中,Pi,j是第j个满足以下任一条件的像素:(a)该像素所在的最小编码单元的数据完全来自于第i个数据块,且该像素与在对第i个数据块解码之前已经获得的某一像素P′i,j相邻;(b)该像素所在的最小编码单元的数据来自于第i个数据块和第i‑1个数据块,且该像素与已经获得的某一像素P′i,j相邻;步骤一:在待雕复数据块集合中寻找一个由SOI标记开始的数据块;若找不到这样的数据块,算法结束,否则转入步骤二;步骤二:将该数据块从待雕复数据块中排除;使用JPEG解码器对该数据块以及与其毗邻的若干后续数据块进行解码,直至解出完整的一行最小编码单元为止;若这一过程无法完成,放弃当前图像的雕复,转入步骤一,否则继续解码到当前数据块结束,转入步骤三;步骤三:保存此时解码器的工作情况,即解码状态和相关内存区域,称为断点,k=1;转入步骤四;步骤四:恢复解码器的工作情况至断点;从待雕复数据块集合中取第k个数据块,拼接到断点处继续解码至该数据块结束;此时计算并保存该数据块的前向匹配距离;如果解码过程触发解码器的异常,则认为该数据块的前向匹配距离为无穷大;转入步骤五;额外的,如果一个数据块包含的数据未能成功解出一个完整的最小编码单元,放弃当前图像的雕复,转入步骤一;步骤五:若k等于待雕复数据块集合的元素个数,即对该集合的遍历已经结束,在已经保存的所有前向匹配距离中寻找最小值,将该值对应的数据块作为下一个正确的数据块,拼接到断点后,解码至该数据块结束,转入步骤六;否则,k=k+1,转入步骤四;步骤六:若达到了雕复结束的条件,将当前获得的所有数据块按顺序输出成为雕复完成的JPEG图像文件,转入步骤一;否则,转入步骤三;最终,得到的全部输出文件即雕复完成的JPEG图像。...

【技术特征摘要】
1.一种基于内容的图像文件雕复方法,其特征在于:首先使用操作系统提供的相关接口,获取需要进行雕复操作的存储设备的全部数据块的有序集合;然后进行预处理,获得待雕复数据块集合;最后,在待雕复数据块集合中进行雕复;所述预处理包括以下步骤:分类:将原始数据块集合分为JPEG图像头数据块集合和非JPEG图像头数据块集合;分类依据为:若某个数据块和它之后毗邻的若干个数据块能够按原有顺序组成满足JPEG图像标准规定的、不间断的、从SOI标记到SOS标记段的二进制数据流,则该数据流中字节所属的数据块全部属于JPEG图像头数据块集合;否则,数据块属于非JPEG图像头数据块集合;然后,从非JPEG图像头数据块集合中排除掉满足以下任一条件的数据块:(a)数据流包含JPEG图像标准保留的标记:0xFFF0~0xFFED、0xFF02~0xFFBF;(b)不包含EOI标记,且熵值低于阈值5.0;其中,数据块的熵值定义如公式(1):其中,pi为该数据块中,值为i的字节的出现的频率;最后,将两个集合合并,生成的集合称为待雕复数据块集合;所述在待雕复数据块集合中进行雕复的过程:在YCbCr色彩空间中定义两像素P1(Y1,Cb1,Cr1)和P2(Y2,Cb2,Cr2)之间的距离如公式(2):对于JPEG图像文件的第i个数据块,定义其前向匹配距离如式(3):

【专利技术属性】
技术研发人员:孔祥维张博
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1