JPG文件结构分析解析.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JPG 文件结构分析 一、简述 JPEG 是一个压缩标准,又可分为标准 JPEG、渐进式JPEG 及JPEG2000 三种: ①标准JPEG :以24 位颜色存储单个光栅图像,是与平台无关的格式,支持最高级 别的压 缩,不过,这种压缩是有损耗的。此类型图片在网页下载时只能由上而下依序显示图片,直 到图片资料全部下载完毕,才能看到全貌。 ②渐进式 JPEG :渐进式JPG 为标准JPG 的改良格式,支持交错,可以在网页下载时,先 呈现出图片的粗略外观后,再慢慢地呈现出完整的内容,渐进式JPG 的文件 比标准JPG 的文件要来得小。 ③JPEG2000 :新一代的影像压缩法,压缩品质更好,其压缩率比标准JPEG 高约30 %左 右,同时支持有损 和无损压缩。一个极其重要的特征在于它能实现渐进传输,即先传输图 像的轮廓,然后逐步传输数据,让图像由朦胧到清晰显示。 以一幅24 位彩色图像为例,JPEG 的压缩分为四个步骤: ①颜色转换:在将彩色图像进行压缩之前,必须先对颜色模式进行数据转换。转换完成之后 还需要进行数据采样。 ②DCT 变换:是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程,然 后再对图像的高频部分(即图像细 节)进行压缩。首先以象素为单位将图像划分为多个8×8 的矩阵,然后对每一个矩阵作DCT 变换。把8×8 的象素矩阵变成8×8 的频率系数矩阵(所 谓频率 就是颜色改变的速度),频率系数都是浮点数。 ③量化:由于下面第四步编码过程中使用的码本都是整数,因此要对频率系数进行量化,将 之转换为整 数。数据量化后,矩阵中的数据都是近似值,和原始图像数据之间有了差异, 这一差异是造成图像压缩后失真的主要原因。这一过程中,质量因子的选取至为重要。 值 选得大,可以大幅度提高压缩比,但是图像质量就比较差,质量因子越小图像重建质量越好, 但是压缩比越低。 ④编码:编码是基于统计特性的方 法。 四个步骤都完成后的JPEG 文件,其基本数据结构为两大类型:“段”和经过压缩编码的图像 数据。 二、数 据结构 1.段的一般结构如下表所示: 表 1:段的一般结构 名 称 字节数 数据 说明 段 标识 1 FF 每个新段的开始标识 段类型 1 类型编码(称作“标记码” ) 段长 度 2 包括段内容和段长度本身,不包括段标识和段类型 段内容 ≤65533 字节 说明: ①JPG 文件中所有关于宽度高度长度间隔这一类数据,凡是>1字节的,均采用Motorola 格式,即:高位在前,低位在后。 ② 有些段没有长度描述也没有内容,只有段标识和段类型。文件头和文件尾均属于这种段。 ③段与段之间无论有多少FF 都是合法的,这些FF 称为“填充字节” ,必须被忽略掉。 2.段类型有30 种,但只有 10 种是必须被所有程序识别的,其它的类型都可以忽略。所以 下面只列出这 10 种类型。 表2 :段类型 名称 标 记码 说明 SOI D8 文件头 EOI D9 文 件尾 SOF0 C0 帧开始(标准 JPEG ) SOF1 C1 同上 DHT C4 定 义 Huffman 表(霍夫曼表) SOS DA 扫描行开始 DQT DB 定义量化表 DRI DD 定 义重新开始间隔 APP0 E0 定义交换格式和图像识别信息 COM FE 注释 说明:有的文章也将 DNL 段(标记码=DC,定义扫描行数)列为必须段。 3. 以下按一般JPEG 文件的段排列顺序详细介绍 各种段的结构: 表3 :SOI (文件头) 名称 字节数 值 段 标识 1 FF 段类型 1 D8 说明:这两个字节构成了 JPEG 文件头。 表4 :APP0 (图像识别信息) 名 称 字节数 值 说明 段 标识 1 FF 段类型 1 E0 段长度 2 0010 如果有 RGB 缩略图就=16+3n (以下为段内容) 交换格式 5 4“JFIF” 的ASCII 码 主 版本号 1 次版本号 1 密度单位 1 0=无单位;1=点数/英 寸;2 =点数/厘米 X 像素密度 2 水平方向的密度 Y 像素密 度 2 垂直方向的密度 缩略图X 像素 1 缩略图水平像素数目 缩 略图Y 像素 1 缩略图垂直像素数目 (如果“缩略图X 像素”和“缩略图Y 像素” 的值均>0,那么才有下面的数据) RGB 缩略图 3×n n =缩略图像素总数=缩略图X 像素×缩略图Y 像素 说明: ①JFIF 是JPEG File In

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档