[发明专利]一种快速检测JPEG图片文件是否正确的嵌入式装置及方法在审
申请号: | 201410798857.2 | 申请日: | 2014-12-18 |
公开(公告)号: | CN104536843A | 公开(公告)日: | 2015-04-22 |
发明(设计)人: | 陈淮琰;钟辉;刘刚 | 申请(专利权)人: | 无敌科技(西安)有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 倪金荣 |
地址: | 710075 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 检测 jpeg 图片 文件 是否 正确 嵌入式 装置 方法 | ||
技术领域
本发明涉及一种快速检测JPEG图片文件是否正确的嵌入式装置及方法。
背景技术
嵌入式装置多媒体资料的使用,很多情况下会使用JPEG图片,而JPEG格式因为规格书定义的各种版本,虽然有少数容错设计,但并不像PNG格式那样专门有了防错的设计的格式的那么容易容错(PNG格式关键数据块(critical chunk)都有CRC(循环冗余检测)以判断存储的数据块内数据是否有错误发生)。而嵌入式设备存储介质存储或网络传送等原因,可能数据内容发生破坏或变化。如iNand介质存储擦写或读取一定次数后,其存储的内容可能就发生变化,虽然NAND里头Page内有ECC能校验和纠正出一定Bit的数据错误,但依然无法保证100%的无变化内容。JPEG图片内容如果内容发生错误,只能依靠解码软件或硬体的对JPEG异常的处理容错处理,而不同硬体解码芯片或解码库软体对错误处理并不周全,即使用内容不正确的JPEG图片进行显示,往往因为容错处理的不周全,而发生解码异常(exception)的情况。而如果要对软体解码容错处理周全,往往要话费大量人力进行解码库的修改,而硬体修改容错也是需要更大的硬体开发成本。
产品应用场景有很多时候用户是需要显示自己的JPEG格式图片,因为用户手头的JPEG文件并不只是某些封闭式嵌入式设备单独特定使用的JPEG图形数据,所以并不合适自行约定修改JPEG文件格式(如增加CRC或其它校验信息)。
可见针对软硬件解码部分对JPEG格式正确性检查存在弊端和不足,如何能快速的验证JPEG的格式是否正确,并且能在做JPEG检查时对产品使用解码速度的影响要越小越好。
如何使用最小的开发代价而能支持在开放平台的嵌入式设备能很好的处理好数据内容有可能损坏的JPEG格式的图形能不发生异常。
发明内容
为了解决背景技术中所存在的技术问题,本发明提出了一种快速检测JPEG图片文件是否正确的嵌入式装置及方法,极快速度就能判断出来JPEG文件是否格式正确,针对内容有误的JPEG文件,不需要修改硬件解码或软件解码库。
本发明的技术解决方案是:一种快速检测JPEG图片文件是否正确的嵌入式装置,其特征在于:所述嵌入式装置包括依次连接的初始SIO/DQT/SOF/DHT/SOS五个Marker段计数器的初始化单元、获取JPEG文件大小并读取JPEG流文件的获取单元、Marker段扫描的扫描单元以及处理单元。
一种快速检测JPEG图片文件是否正确的方法,其特征在于:所述方法包括以下步骤:
1)初始化SIO/DQT/SOF/DHT/SOS五个Marker段计数器都为0;
2)流文件打开JPEG文件,并获得JPEG文件大小;
3)读取JPEG流文件内容,并逐字符进行扫描,即Marker段扫描;
4)针对SIO、DQT、SOF、DHT、SOS、DRI、COM、APP段后面紧跟着2个字节的段长度,判断当前位置偏移此记录的长度后是否会超出步骤2)中获得的JPEG文件大小,如超出判断JPEG图片NG;如果没有超出,则往后Seek文件Marker段length位置后;如Seek万之后并非JPEG文件结尾处,则判断读取的字符如果不是Marker段标记0xFF值,如不是0xFF码值,则判断JPEG文件NG;
5)统计SIO、DQT、SOF、DHT、SOS段是否至少出现过1次,如果有1种类型出现次数少于1次则判断为JPEG文件NG。
上述步骤5)之后还包括步骤6)如果步骤1)—步骤5)没有把JPEG图片文件判为NG,则JPEG图片文件为OK。
上述步骤6)具体是:
6.1)以流文件的方式打开待检查的JPEG文件,从文件开头往后扫描,JPEG文件Maker段都是以0xFF开头,直接检索0xFF的内容;
6.2)扫描过程中统计标记码(0xFF)后面的SIO(0xD8)、DQT(0xDB)、SOF(0xC0-0xC3、0xC5-0xCB、0xCD-0xCF)、DHT(0xC4)、SOS(0xDA)关键Maker段出现的次数,如JPEG文件缺少他们中任何一个Marker段,则直接将JPEG图片文件判断为NG;
6.3)扫描过程中对有段长度信息的Marker段:SIO(0xD8)、DQT(0xDB)、SOF(0xC0-0xC3、0xC5-0xCB、0xCD-0xCF)、DHT(0xC4)、SOS(0xDA)、DRI(0xDD)、COM(0xFE)、APP(0xE0-0xEF)做验算;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无敌科技(西安)有限公司;,未经无敌科技(西安)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410798857.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:固件恢复方法、装置和终端
- 下一篇:提高虚拟机迁移效率的方法