JPEG图像格式解析

一、JPEG图像介绍

jpg/jpeg是24位的图像文件格式,也是一种高效率的压缩格式,文件格式是JPEG(联合图像专家组)标准的产物,是面向连续色调静止图像的一种压缩标准

二、winhex打开4*4的JPEG图像

JPEG图像格式解析

三、JPEG文件头 2byte

FF D8 标识JPEG文件头

四、APP0图像识别信息

JPEG图像格式解析

JPEG图像格式解析

APP0 标识:FF E0

数据段长度标识:00 10 16byte(包含数据段长度标识2byte)

交换格式:4A 46 49 46 00,对应ASCII “JFIF”

主版本号:01 次版本号:01 版本号:1.1

密度单位:01 对应单位 点数/英寸

X方向像素密度:00 60

Y方向像素密度:00 60

缩略图水平像素数目:00

缩略图垂直像素数目:00

五、APP1 ——-> APPN (N=1~15)

含义:应用程序保留标记x

标记码:0xFFE1~0xFF..(手机照片通常包含APP1,内容由地点,时间等)

解析APP0同上(我们这里使用JPEG没有APP0,略过)

六、DQT定义量化表

JPEG图像格式解析

JPEG图像格式解析

备注:JPEG文件一般有2个DQT段,为Y值(亮度)定义1个, 为C值(色度)定义1个

DQT标识:FF DB

数据长度:00 43 (段长度2个字节,QT信息1个字节)+QT量化表的长度,此处QT量化表的长度是64)

QT信息:00 QT号为0 QT精度8bit

QT量化表:这个长度是根据QT信息确定的,上面QT精度为8bit,所以此处是64×1byte = 64byte

JPEG图像格式解析

JPEG图像格式解析

标记码:FF C2(JPG) FF C0(JPEG)

数据段长度:00 11 =》17 = 8 + 3*3,说明组件数量有3个

样本精度:08,每个样本的信息是8bit

样本高度:00 04 样本宽度:00 04 图像宽高4*4

组件数量:03 代表YCbCr 彩色图,有3个组件分别是Y、Cb、Cr

组件id+采样系数+量化表号(3组):

01 22 00 => Y组件,垂直采样系数和水平采样系数都是2,量化表号是0

02 11 01 => Cb组件,垂直采样系数和水平采样系数都是1,量化表号是1

03 11 01 => Cr组件,垂直采样系数和水平采样系数都是1,量化表号是1

此处可知此处Y采样是逐点采样,CbCr都是隔点采样,这就是标准的YUV422的数据

八、DHT定义huffman表

JPEG图像格式解析

JPEG图像格式解析

Huffman表标识:FF C4

段长度: 00 15 ==>1F 31(段长度2个字节+HT信息1个字节+HT位表16个字节) + 12(这个数代表HT表有3个字节)

00 ==> HT号是0,DC表

HT表 ==> 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 => 共16个字节,加起来是12(此处和段长度是相匹配的),说明HT表有12个字节

HT值表:00 01 02 03 04 05 06 07 08 09 0A 0B

九、SOS扫描行开始

JPEG图像格式解析

JPEG图像格式解析

SOS扫描开始标识:FF DA

SOS扫描块长度:00 0C => 12 = (2个字节的扫描行开始头+1个字节扫描行内组件数量)+ 2×3(扫描行内组件数量,每个组件2个字节)+(3个字节的剩余位)

03 => 代表组件数量数3

01 00 => Y组件,AC表号是0,DC表号是0

02 11 => Cb组件,AC表号是1,DC表号是1

03 11 => Cr组件,AC表号是1,DC表号是1

十、EOI文件尾

JPEG图像格式解析

JPEG图像格式解析

Original: https://blog.csdn.net/QQ135102692/article/details/124828301
Author: linux_dafei
Title: JPEG图像格式解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/632000/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球