一种图片处理方法和装置制造方法及图纸

技术编号:8161895 阅读:211 留言:0更新日期:2013-01-07 19:43
本申请提供了一种图片处理方法和装置,其中的方法具体包括:获取图片的二进制数据,所述二进制数据包括若干个数据段;根据图像格式规范对各数据段进行匹配;若某一数据段的匹配结果为失败,则认为该图片为非法格式,结束该图片的处理;若某一数据段的匹配结果为成功,则根据图像格式规范判断所述某一数据段是否为展现无关数据段,若是,则丢弃所述某一数据段,否则,保留所述某一数据段;其中,所有被保留的数据段组成处理后的图片。本申请能够在占用少量系统资源和存储资源的前提下,快速地将图片处理为具有更高安全性的图片。

【技术实现步骤摘要】

本申请涉及图片数据处理
,特别是涉及ー种图片处理方法和装置
技术介绍
目前随着互联网技术应用的发展,大量的多媒体信息通过互联网进行传输,其中,这些多媒体信息中,又包含着大量的图片信息。例如,交易网站、论坛、博客等很多网络应用都支持用户上传图片。但是,用户上传的图片有时会含有ー些额外信息如注释、EXIF(可交换图像文件,Exchangeable ImageFile)信息甚至恶意代码、病毒等,或者,用户上传的图片根本就不是浏览器支持的图片。对于ー些未严格按照图像格式规范生成的图片,浏览器通常会有一定的容错机制 以保证这些图片能够正常显示。在用户浏览上述含有恶意代码、病毒的图片时,容易导致缓冲区溢出,诱发系统漏洞,进而执行病毒代码。为了提高用户上传图片的安全性,并过滤图片中的病毒和恶意代码,通过使用第三方图像处理工具包,比如ImageMagicK、各种编程自带的图像处理函数等,把图片载入内存后重新保存一遍,可以达到去除恶意代码、病毒的目的。但是,由于现有技术对图片的像素进行处理,具体而言,将图片数据按照对应的图像格式进行解码,在内存中还原出图片的所有像素点,然后再对图片进行重新编码并保存,其具有如下缺点I、占用大量的系统资源;一幅不到IMB的图片,可能由于图像压缩率较高而有着极高的分辨率,如10000X6000,这种情况下,如果这幅图片是32位真彩图片,则它就至少需要占用(10000X6000X4)Byte = 240MB 的内存空间。另外,由于图像解码编码需要使用大量的CPU资源,这样,在服务器并发量比较高的情况下,很容易造成服务器处理占用资源过多、超时,甚至导致应用服务器进程崩溃。2、有些时候,图像处理技术熟练的用户往往上传的是经过专业图像处理软件优化的高质量高压缩的图片,此时,第三方图像处理工具包在重新保存时,很可能由于算法的差距而导致重新保存后的图片比原图片更大,这样都会造成大量的服务器存储浪费。总之,本领域技术人员需要迫切解决的ー个技术问题就是如何能够降低上述情形下的系统资源和存储资源的占用。
技术实现思路
本申请所要解决的技术问题是提供ー种图片处理方法和装置,能够在占用少量系统资源和存储资源的前提下,快速地将图片处理为具有更高安全性的图片。为了解决上述问题,本申请公开了ー种图片处理方法,包括获取图片的ニ进制数据,所述ニ进制数据包括若干个数据段;根据图像格式规范对各数据段进行匹配;若某一数据段的匹配结果为失败,则认为该图片为非法格式,结束该图片的处理;若某一数据段的匹配结果为成功,则根据图像格式规范判断所述某ー数据段是否为展现无关数据段,若是,则丢弃所述某ー数据段,否则,保留所述某ー数据段;其中,所有被保留的数据段组成处理后的图片。优选的,所述数据段包括文件头和图像数据段;所述根据图像格式规范对各数据段进行匹配的步骤,包括依据图像格式规范对图片的文件头进行校验;若校验未通过,则认为该图片为非法格式,结束该图片的处理; 若校验通过,则获取该图片的文件格式,并依据所述该图片的文件格式的图像格式规范,对各图像数据段进行匹配。优选的,所述图像数据段的格式包括数据段开始标志;所述对各图像数据段进行匹配的步骤,包括判断某一图像数据段的数据段开始标志是否以所述该图片的文件格式的图像格式规范中规定的格式开头,若是,则得到成功的匹配结果,否则,得到失败的匹配結果。优选的,所述图像数据段的格式包括数据段长度;所述对各图像数据段进行匹配的步骤,包括判断某一图像数据段的数据段长度是否等于所述该图片的文件格式的图像格式规范中规定的长度,若是,则得到成功的匹配结果,否则,得到失败的匹配結果。优选的,所述图像数据段的格式包括数据段开始标志;所述展现无关数据段包括注释数据段和/或自定义数据段;通过以下步骤判断某一图像数据段是否为展现无关数据段判断某一图像数据段的数据段开始标志,是否以所述该图片的文件格式的图像格式规范中规定的展现无关数据段的格式开头,若是,则认为所述某一图像数据段为展现无关数据段,否则,认为所述某ー图像数据段不是展现无关数据段。优选的,所述图像数据段的格式包括图像结束标志;所述展现无关数据段包括附加数据段;通过以下步骤判断某一图像数据段是否为展现无关数据段判断所述某ー图像数据段是否位于所述该图片的文件格式的图像格式规范中规定的图像结束标志所在数据段的后面,若是,则认为所述某ー图像数据段为附加数据段,否贝U,认为所述某ー图像数据段不是附加数据段。优选的,所述方法还包括将所述ニ进制数据保存至第一数组;所述根据图像格式规范对各数据段进行匹配的步骤,包括依次读取所述第一数组中的数据段,井根据图像格式规范对各数据段进行匹配;所述保留所述某ー数据段的步骤,包括在所述某ー数据段不是展现无关数据段吋,将所述某一数据段复制至第二数组,最終第二数组中存储的数据段组成处理后的图片。另ー方面,本申请还公开了ー种图片处理装置,包括匹配模块,用于根据图像格式规范对当前待处理的图片的ニ进制数据的各数据段进行匹配;当某一数据段的匹配结果为失败时,结束该图片的处理;当某一数据段的匹配结果为成功时,通知处理模块;处理模块,用于在所述某ー数据段为展现无关数据段时,丢弃所述某ー数据段;以及,在所述某ー数据段不是展现无关数据段时,保留所述某ー数据段;输出模块,用于将所有被保留的数据段组成处理后的图片,并加以输出。优选的,所述数据段包括文件头和图像数据段;所述匹配模块,包括校验子模块,用于依据图像格式规范对图片的文件头进行校验;当校验未通过时, 认为该图片为非法格式,结束该图片的处理;当校验通过时,通知匹配子模块;第一匹配子模块,用于获取该图片的文件格式,并依据所述该图片的文件格式的图像格式规范,对各图像数据段进行匹配;当某一图像数据段的匹配结果为失败时,结束该图片的处理;当某一图像数据段的匹配结果为成功时,通知所述处理模块。优选的,所述图像数据段的格式包括数据段开始标志;所述第一匹配子模块,包括第一判断単元,用于判断某一图像数据段的数据段开始标志是否以所述该图片的文件格式的图像格式规范中规定的格式开头,若是,则得到成功的匹配结果,否则,得到失败的匹配結果。与现有技术相比,本申请具有以下优点本申请不是类似现有技术对图片像素本身进行处理,而是将图片视为普通的ニ进制数据,井根据图像格式规范对所述ニ进制数据中的各个数据段进行匹配;由于本申请的图片处理仅涉及ニ进制数据的匹配和简单的计算,故相对于现有技术分辨率越大,处理的像素点就越多,导致占用大量的系统资源和存储资源的缺点,本申请不仅能够提高处理效率,而且能够大大減少占用的系统资源。一方面,在某一数据段的匹配结果为失败时,可以认为所述某ー数据段不符合图像格式规范,从而确定所述某ー数据段所在的图片为非法格式,;因此,可以完全抛弃匹配失败的、非法格式的图片;另ー方面,本申请还可以对匹配结果为成功、但可能会在将来被利用于隐藏病毒或恶意代码的展现无关数据段进行丢弃处理,所述展现无关数据段具体可以包括注释数据段、自定义数据段或者附加数据段等,它们与图像展现本身相关的数据段,比如分辨率、样本精度等元数据、JPEG中的Huffman表、量化表等数据段毫无关联,故不会对图像展现造成影响;因此,所述丢弃处理不影响本文档来自技高网
...

【技术保护点】
一种图片处理方法,其特征在于,包括:获取图片的二进制数据,所述二进制数据包括若干个数据段;根据图像格式规范对各数据段进行匹配;若某一数据段的匹配结果为失败,则认为该图片为非法格式,结束该图片的处理;若某一数据段的匹配结果为成功,则根据图像格式规范判断所述某一数据段是否为展现无关数据段,若是,则丢弃所述某一数据段,否则,保留所述某一数据段;其中,所有被保留的数据段组成处理后的图片。

【技术特征摘要】

【专利技术属性】
技术研发人员:叶茗
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1