JPEG图像格式解析
参考链接:jpeg图片格式详解_460833359的博客-CSDN博客_jpg文件通常是什么
一、JPEG图像介绍
jpg/jpeg是24位的图像文件格式,也是一种高效率的压缩格式,文件格式是JPEG(联合图像专家组)标准的产物,是面向连续色调静止图像的一种压缩标准
二、winhex打开4*4的JPEG图像
三、JPEG文件头 2byte
FF D8 标识JPEG文件头
四、APP0图像识别信息
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文件一般有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
七、SOF0图像基本信息(帧图像起始块)
标记码: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表
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扫描行开始
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图像格式Jphide隐写
最近在看JPEG格式的LSB隐写,看到一篇很不错的博客.来自4ido10n's Blog文章<深入理解JPEG图像格式Jphide隐写> 0x00 隐写原理 Jphide是基于最低有效位L ...
- JPEG图像格式Jphide隐写
0x00 隐写原理 Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像作为载体是因为相比其他图像格式更不容易发现隐藏信息,因为JPEG图像在DCT变换域上进行隐藏比空间域隐 ...
- GIF 89a图像格式解析
参考链接:音视频入门-17-GIF文件格式详解_460833359的博客-CSDN博客_gif 格式解析 一.GIF 89a图像介绍 89a是针对87a的升级版本,相比于后者增加了一些额外的控制块更加 ...
- 解析JPEG文件的GPS信息
作者:中科大鹏 1 前言 因为最近有个项目开发,需要通过读取JPEG图片文件的GPS位置信息,显示到相应的地图界面中.这两天,查询了相关资料,发现这方面科普性的文章挺多,但适合项目应用开发的示例代码有 ...
- 【数据压缩-实验5】JPEG原理分析及JPEG解码器的调试
目录 JEPG原理 简述 优点 缺点 JPEG文件格式 常用标记码 编解码原理 编码原理 Level offset-零偏置 DCT变换 量化 DC系数差分编码 AC系数的之字形扫描+游程编码 解码原理 ...
- 基于JPEG压缩编码的数据压缩算法的研究与实现(转)
基于JPEG压缩编码的数据压缩算法的研究与实现(转) 编辑器加载中... JPEG压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法.它采用一种特殊的有损压缩算法,将不易被人眼 ...
- 数据压缩第七周作业——JPEG编解码
目录 一.实验目的 二.实验原理 1.JPEG编码器:编辑 2.JPEG解码器 3.JPEG文件解析 三.实验内容 (1)调试和理解JPEG解码器程序 (2)理解程序设置 1.结构体理解 2.梳理代 ...
- 【数据压缩】实验五——JPEG原理分析及JPEG解码器的调试
(一)实验目的 掌握JPEG编解码系统的基本原理.初步掌握复杂的数据压缩算法实现,并能根据理论分析需要实现所对应数据的输出. JPEG( Joint Photographic Experts Grou ...
- 基于JPEG压缩编码的数据压缩算法的研究与实现
JPEG压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法.它采用一种特殊的有损压缩算法,将不易被人眼察觉 的图像颜色删除,从而能够将图像压缩在很小的储存空间.JPEG压缩 ...
- FFmpeg将Jpeg 编码到视频中
这个不能直接发h264,需要先解码,再编码 利用FFmpeg将Jpeg图片转为任意视频容器格式 原文: https://blog.csdn.net/oHanTanYanYing/article/det ...
最新文章
- 做好网站SEO优化都需要坚持什么?
- 面向对象理论(6)-Interface Programming-[A]
- 私有云的优缺点_2019年中国云计算行业竞争格局与发展趋势分析「图」
- Coding Interview Guide -- 数组的partition调整
- 用keras作CNN卷积网络书本分类(书本、非书本)
- Android_(控件)使用自定义控件在屏幕中绘制一条虚线
- 弃用微软 C++ 编译器,Win 版 Chrome 改用 Clang
- 推荐背单词最有效的方法:使用艾宾浩斯记忆曲线背单词
- linux apache php.ini,Linux Apache的.htaccess控制php.ini 与MIME类型
- c语言程序的书写格式,C语言基础教程:C语言程序书写格式
- 手把手教你开发-滚动效果号码抽奖(QT)
- udp push java ddpush_DDPush首页、文档和下载 - 任意门推送 - OSCHINA - 中文开源技术交流社区...
- SQL注入基础语句大全
- 前端实习一个多月总结
- 曾经用过的书生配置文档
- OPNsense - 多功能高可靠易使用的防火墙(四)
- mysql获取汉字首字母拼音,包括复杂字
- 资深营销团队管理专家——文彬
- 软件工程结构化建模的方法和工具_系统架构师之——软件开发方法
- JS CSS 超出字符省略号,获取字符串实际所占长度,显示文字提示tooltip
热门文章
- 【FTP】错误描述:200 Switching to ASCII mode,227 Entering Passive Mode
- vue 前端获取用户登录地址 ip 设备型号
- 上海电力学院计算机组成与结构试卷,数据结构
- 相机标定(笔记本摄像头和usb相机)
- 怎样开启无线热点服务器,Win7开启无线WIFI热点
- UBuntu安装CGI环境
- MFC中资源视图不能打开
- 仿小米官网首页 动态交互(HTML+css+jq)1.通栏以及logo部分
- 什么是初效过滤器_初效过滤器作用与原理
- LearnOpenGL从入门到入魔(3):绘制纹理