温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何理解JPEG图片格式

发布时间:2021-11-23 16:00:56 来源:亿速云 阅读:286 作者:柒染 栏目:大数据

今天就跟大家聊聊有关如何理解JPEG图片格式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

JPEG简介

JPEG是一种比较成熟的图像有损压缩格式,经过JPEG压缩,图像质量会有所损失,但是,人眼是很不容易分辨出来这种差别的。jpeg图像在质量和存储空间得到了一个相对平衡的状态。不过jpeg文件在组织方式上略显复杂,详细请向下看。

     

JPEG文件的存储方式

jpeg文件是按照段的格式来组织存储的,每一个文件由多个段组成,每个段代表不同的信息。同时,每个段也有自己唯一的标识符。标识符是由两个字节所组成,格式如0x FF XX,其中XX代表的是不同的类型。例如,SOI(start of image),表示图像的开始,其段头的标识符为 0X FF D8。而整个jpeg图片的组织便是由诸多这些不同类型的段和经过JPEG压缩后的数据而组成。如果解析,同样也就需要根据这些段不同的头类型来做相应的处理。      
如何理解JPEG图片格式   如何理解JPEG图片格式  
主要的JPEG段  

1SOI

SOI(start of image):值 0xFF D8,标记图像的开始。

2APP0(应用程序标记)

APP0:值 0x FF E0,应用程序标记。组织结构如下:

如何理解JPEG图片格式

3SOF

SOF(start of frame):值0x FF C0,图像帧开始标记。

字段及名称字节长度说明
数据段标志位2 bytes固定值: 0x FF C0
数据段长度2 bytes 不包含标志位长度
精度(每像素比特数)
1 bytes 一般为8
图像高度
2 bytes以像素为单位
图像宽度2 bytes以像素为单位
颜色分量数
1 bytes灰度:1 YCbCr:3 CMYK:4
颜色分量信息颜色分量数 * 3

每个颜色分量:

1bytes:  分量ID

1bytes: 水平垂直采样因子

1bytes:当前分量使用的量化表ID 

4SOS

字段及名称字节数说明
数据段标志位
2 bytes值: 0x FF DA, 表示图
数据长度
2 bytes不包含标志位长度
颜色分量数
1 bytes

灰度图:1

YCbCr :  3

CMYK:   4

颜色分量信息2 * 颜色分量数

1bytes:  id

1bytes: DC/AC系数表id

谱选择开始1 bytes0x 00
谱选择结束1 bytes0x 3F
谱选择1 bytes0x 00

在SOS之后,便是具体的按照jpeg编码的压缩数据。该部分内容需要使用jpeg相应的解码库去实现解码。

在jpeg文件中,如果遇到了0xFF D9 , 那就表明整个文件读取结束了。该字段也有个名称叫做EOI(end of image),占用两个字节。

当然了,整个jpeg文件还有其他的段,仿照上述便同样可以分析。

看完上述内容,你们对如何理解JPEG图片格式有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI