一种基于缩略图的jpg图片碎片重组方法及装置的制作方法

文档序号:6572651阅读:174来源:国知局
专利名称:一种基于缩略图的jpg图片碎片重组方法及装置的制作方法
技术领域
本发明涉及信息安全与计算机应用技术领域,尤其涉及一种基于缩略图的JPG图片碎片重组方法及装置。
背景技术
传统的数据恢复技术依赖于文件系统的元信息,如文件分配表、目录结构等,但在很多情况下,这些元信息可能因为被覆盖或者人为操作而丢失,这时传统的数据恢复技术将恢复不出文件。文件重组技术作为对传统数据恢复的进一步发展,在近几年内得到了广泛的关注。图片作为最有力的电子证据之一,其重组技术往往是数据恢复专家的重点研究对象,而JPG图片压缩格式作为最流行的图片格式之一,其重组技术更是研究的重点。JPG图片重组技术里面最难的问题是碎片重组问题。JPG图片的碎片重组,如果只是通过枚举所有的组合类型,那将是一个特别难的问题。目前,JPG图片碎片的重组技术主要是通过图片的边沿像素匹配以及解码验证来实现的,但由于图片的边沿像素匹配方法是通过已知图片碎片的边沿像素去预测下一块碎片的起始边沿像素,因此存在着误差。所以,现有的边沿像素匹配算法的局限性导致采用现有的JPG图片碎片重组技术重组JPG图片碎片时,即使找到了所有的JPG图片碎片但却经常重组不出正确的图片。例如,采用国外比较出名的JPG图片碎片重组软件Adroit Recovery重组JPG图片经常会出现这样的状况用缩略图查看图片重组结果时,图片是正确的,但是打开该图片时,图片却是错误的(不是一幅完整的原图片)。有鉴于此,需要一种能够更为准确的判断当前图片碎片的下一块碎片的JPG图片碎片重组方法,以提高JPG图片碎片重组的准确率。

发明内容
本发明提供一种基于缩略图的JPG图片碎片重组方法及装置,用于解决现有的JPG图片碎片重组技术的重组准确率低的问题,本发明提供的基于缩略图的JPG图片碎片重组技术的重组准确度高、速度快,且重组过程无需人工介入,自动化程度高。本发明提供的一种基于缩略图的JPG图片碎片重组方法,包括步骤I :根据JPG图片的头部签名,从待恢复的存储介质上获取JPG图片的头部碎片并组成头部碎片集合,同时从所述待恢复的存储介质上得到JPG图片的非头部碎片并组成非头部碎片集合;步骤2 :判断所述头部碎片集合或所述非头部碎片集合是否为空集?若是则结束流程,否则继续执行步骤3;步骤3 :从所述头部碎片集合中任取一个头部碎片并将所取的头部碎片从所述头部碎片集合中删除;从当前头部碎片中获取原JPG图片的缩略图,并根据当前头部碎片中所记录的原JPG图片的大小信息,将所述原JPG图片的缩略图放大成和所述原JPG图片相同大小的图片,得到原JPG图片的缩略图的放大图;步骤4 :根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i行的像素值以及原JPG图片的缩略图的放大图的第(i+1)行的像素值预测当前头部碎片的下一个碎片第I行的图片像素值;其中,所述i为当前头部碎片所在扇区结尾部分所记录的原JPG图片行在所述原JPG图片中的行数,Ι^ ^Η, 为正整数,H为当前头部碎片所对应的原JPG图片的高度;步骤5 :在所述非头部碎片集合中选择一个第I行的像素值与上一步骤所预测的当前头部碎片的下一个碎片第I行的像素值的差异最小的非头部碎片作为当前头部碎片的下一个碎片;步骤6 :将当前头部碎片与当前头部碎片的下一个碎片合并,并将所述当前头部碎片的下一个碎片从所述非头部碎片集合中删除;判断当前头部碎片与当前头部碎片的下一个碎片合并后所得到的文件是否为一个完整的JPG图片文件?若是,则输出所述完整的JPG图片文件,并返回执行步骤2 ;否则,采用合并后所得到的文件替换当前头部碎片并返 回执行步骤4。优选地,步骤4所述根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i行的像素值以及原JPG图片的缩略图的放大图的第(i+1)行的像素值预测当前头部碎片的下一个碎片第I行的图片像素值,包括采用当前头部碎片所在扇区结尾部分所记录的原JPG图片的第i行第j列的像素值P(i,j)和原JPG图片的缩略图的放大图的第(i+1)行第j列的像素值P’(i+1,j)的加权平均值作为当前头部碎片的下一个碎片第I行第j列的像素值P (i+1,j);其中,I彡j彡W,j为正整数,W为当前头部碎片所对应的原JPG图片的宽度;像素值P(i,j)的权重为Qi,像素值P’ (i+1, j)的权重为Pi, ^和的计算方法为

权利要求
1.一种基于缩略图的JPG图片碎片重组方法,其特征在于,包括 步骤I :根据JPG图片的头部签名,从待恢复的存储介质上获取JPG图片的头部碎片并组成头部碎片集合,同时从所述待恢复的存储介质上得到JPG图片的非头部碎片并组成非头部碎片集合; 步骤2 :判断所述头部碎片集合或所述非头部碎片集合是否为空集?若是则结束流程,否则继续执行步骤3; 步骤3 :从所述头部碎片集合中任取一个头部碎片并将所取的头部碎片从所述头部碎片集合中删除;从当前头部碎片中获取原JPG图片的缩略图,并根据当前头部碎片中所记录的原JPG图片的大小信息,将所述原JPG图片的缩略图放大成和所述原JPG图片相同大小的图片,得到原JPG图片的缩略图的放大图; 步骤4 :根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i行的像素值以及原JPG图片的缩略图的放大图的第(i+1)行的像素值预测当前头部碎片的下一个碎片第I行的图片像素值;其中,所述i为当前头部碎片所在扇区结尾部分所记录的原JPG图片行在所述原JPG图片中的行数,I ^ i ^ H, i为正整数,H为当前头部碎片所对应的原JPG图片的高度; 步骤5 :在所述非头部碎片集合中选择一个第I行的像素值与上一步骤所预测的当前头部碎片的下一个碎片第I行的像素值的差异最小的非头部碎片作为当前头部碎片的下一个碎片; 步骤6 :将当前头部碎片与当前头部碎片的下一个碎片合并,并将所述当前头部碎片的下一个碎片从所述非头部碎片集合中删除;判断当前头部碎片与当前头部碎片的下一个碎片合并后所得到的文件是否为一个完整的JPG图片文件?若是,则输出所述完整的JPG图片文件,并返回执行步骤2;否则,采用合并后所得到的文件替换当前头部碎片并返回执行步骤4。
2.如权利要求I所述的一种基于缩略图的JPG图片碎片重组方法,其特征在于,步骤4所述根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i行的像素值以及原JPG图片的缩略图的放大图的第(i+1)行的像素值预测当前头部碎片的下一个碎片第I行的图片像素值,包括 采用当前头部碎片所在扇区结尾部分所记录的原JPG图片的第i行第j列的像素值P(i,j)和原JPG图片的缩略图的放大图的第(i+1)行第j列的像素值P’ (i+1, j)的加权平均值作为当前头部碎片的下一个碎片第I行第j列的像素值P (i+1,j); 其中,I < j < W,j为正整数,W为当前头部碎片所对应的原JPG图片的宽度;像素值P(i,j)的权重为a i;像素值P’ (i+1, j)的权重为Pi, a i和的计算方法为
3.如权利要求2所述的一种基于缩略图的JPG图片碎片重组方法,其特征在于,当所述当前头部碎片中没有原JPG图片的第I行像素信息时,将当前头部碎片所对应的原JPG图片的缩略图的放大图第I行的像素预测为原JPG图片第I行的像素。
4.如权利要求3所述的一种基于缩略图的JPG图片碎片重组方法,其特征在于,步骤5所述在所述非头部碎片集合中选择一个第I行的像素值与上一步骤所预测的当前头部碎片的下一个碎片第I行的像素值的差异最小的非头部碎片作为当前头部碎片的下一个碎片,包括 计算所述非头部碎片集合中的第η个非头部碎片的第I行的像素值和步骤4中所预测
5.如权利要求I至4任一项所述的一种基于缩略图的JPG图片碎片重组方法,其特征在于,步骤6中所述判断当前头部碎片与当前头部碎片的下一个碎片合并后所得到的文件是否为一个完整的JPG图片文件,包括 判断合并后所得到的文件的最后两个字节是否为0xFFD9 若是,则所述合并后所得到的文件是一个完整的JPG图片文件,否则,所述合并后所得到的文件不是一个完整的JPG图片文件。
6.一种基于缩略图的JPG图片碎片重组装置,其特征在于,包括碎片获取及存储模块、判断模块、选择模块、预测模块、匹配模块和合并模块; 所述碎片获取及存储模块,用于根据JPG图片的头部签名,从待恢复的存储介质上获取JPG图片的头部碎片并组成头部碎片集合存储,同时从所述待恢复的存储介质上得到JPG图片的非头部碎片并组成非头部碎片集合存储;还用于向所述判断模块和匹配模块提供所述头部碎片集合和非头部碎片集合,并向所述选择模块提供所述头部碎片集合;此外,所述碎片获取及存储模块还用于根据所述合并模块的删除请求,将当前头部碎片的下一个碎片从所述非头部碎片集合中删除,并将新的非头部碎片集合重新发送给所述判断模块和匹配模块; 所述判断模块,用于判断所述碎片获取及存储模块提供的头部碎片集合或所述非头部碎片集合是否为空集,若否时,通知所述选择模块进行头部碎片选择; 所述选择模块,用于根据所述判断模块发来的头部碎片选择通知,从所述碎片获取及存储模块提供的头部碎片集合中任取一个头部碎片并将所取的头部碎片从所述头部碎片集合中删除;并从当前头部碎片中获取原JPG图片的缩略图,根据当前头部碎片中所记录的原JPG图片的大小信息,将所述原JPG图片的缩略图放大成和所述原JPG图片相同大小的图片,并将当前头部碎片以及原JPG图片的缩略图的放大图提供给所述预测模块;所述预测模块,用于接收所述选择模块或合并模块提供的当前头部碎片以及所述选择模块提供的原JPG图片的缩略图的放大图,根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i行的像素值以及原JPG图片的缩略图的放大图的第(i+Ι)行的像素值预测当前头部碎片的下一个碎片第I行的图片像素值,并将所述当前头部碎片以及当前头部碎片的下一个碎片第I行的图片像素值提供给所述匹配模块;其中,所述i为所述当前头部碎片所在扇区结尾部分所记录的原JPG图片行在所述原JPG图片中的行数,i为正整数,I彡i彡H,H为当前头部碎片所对应的原JPG图片的高度; 所述匹配模块,用于从所述碎片获取及存储模块提供的非头部碎片集合中选择一个第I行的像素值与所述预测模块预测的当前头部碎片的下一个碎片第I行的像素值的差异最小的非头部碎片作为当前头部碎片的下一个碎片,并将所述当前头部碎片的下一个碎片以及所述预测模块发来的当前头部碎片一起提供给所述合并模块;所述合并模块,用于将所述匹配模块提供的当前头部碎片和当前头部碎片的下一个碎片合并,并向所述碎片获取及存储模块发送将所述当前头部碎片的下一个碎片从所述非头部碎片集合中删除的删除请求;此外,还用于输出合并后所得到的完整的JPG图片文件,或者采用合并后所得到的非完整的JPG图片文件替换当前头部碎片并将替换后的当前头部碎片提供给所述预测模块。
7.如权利要求6所述的一种基于缩略图的JPG图片碎片重组装置,其特征在于,所述预测模块采用当前头部碎片所在扇区结尾部分所记录的原JPG图片的第i行第j列的像素值P(i,j)和原JPG图片的缩略图的放大图的第(i+Ι)行第j列的像素值P’ (i+1, j)的加权平均值作为当前头部碎片的下一个碎片第I行第j列的像素值P (i+1,j);其中,I彡j彡W,j为正整数,W为当前头部碎片所对应的原JPG图片的宽度;像素值P(i,j)的权重为a i,像素值P’ (i+1, j)的权重为:
8.如权利要求7所述的一种基于缩略图的JPG图片碎片重组装置,其特征在于,所述匹配模块计算所述非头部碎片集合中的第η个非头部碎片的第I行的像素值和所述预测模块所预测的当前头部碎片的下一个碎片第I行的像素值的差异Cn,并将C1, C2, . . . , Cn中最小的一个所对应的非头部碎片作为当前头部碎片的下一个碎片; 其中,
全文摘要
本发明提供一种基于缩略图的JPG图片碎片重组方法,该方法将当前获取的头部碎片中的原JPG图片的缩略图放大成和原JPG图片相同的大小;根据当前头部碎片所在扇区结尾部分所记录的原JPG图片第i(i为当前头部碎片所在扇区结尾部分所记录的原JPG图片行在原JPG图片中的行数)行的像素值以及原JPG图片的缩略图的放大图的第(i+1)行的像素值预测当前头部碎片的下一个碎片第1行的图片像素值;并在非头部碎片集合中选择一个第1行的像素值与上一步骤所预测的当前头部碎片的下一个碎片第1行的像素值的差异最小的非头部碎片作为当前头部碎片的下一个碎片。该JPG图片碎片重组方法的重组准确度高、重组速度快。
文档编号G06T5/00GK102890818SQ201210277280
公开日2013年1月23日 申请日期2012年8月6日 优先权日2012年8月6日
发明者沈长达, 钱镜洁, 林艺滨 申请人:厦门市美亚柏科信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1