MJPEG格式和码流分析
来源:互联网 发布:模拟学生选课java代码 编辑:程序博客网 时间:2024/06/05 17:25
JFIF 是 JPEG File Interchange Format 的缩写,也即 JPEG 文件交换格式。JFIF 是一个图片文件格式标准,它是一种使用 JPEG 图像压缩技术存储摄影图像的方法。JFIF 代表了一种"通用语言"文件格式,它是专门为方便用户在不同的计算机和应用程序间传输 JPEG 图像而设计的语言。
JFIF 文件格式定义了一些内容是 JPEG 压缩标准未定义的,如 resolution/aspect ratio,color space 等。
我们可以打开 JPEG 文件查看里面的内容,即可看到上面的各个标记段:
从图上可以看出:
在头部有 FFD8 ,表示图像的开始;结束部分有 FFD9 ,表示图像的结束。
在中间有两个量化表 DQT 对应的标记 FFDB ;
还有图像大小信息对应的 FFC0
再后面有四个 Haffman 表对应的 FFC4 ;
一般一个 JPG 文件里会有 2 类 Haffman 表:一个用于 DC 一个用于 AC ,也即实际有 4个表,亮度的 DC,AC 两个,色度的 DC,AC 两个。
然后是图像数据段标记 FFDA;
我们再来看看各个标记的细部,具体分析一下各个部分的含义。
1、图片的识别信息
上面的内容,在标记 FFE0 后,即为长度16。然后是5字节的 JFIF 标识符号,说明这是一个 JPEG 压缩的文件。然后是主/次版本号码。下一个为 XY 像素的单位,这里为1,表示单位为点数/英寸。然后是 XY 方向的像素密度,这里是 96DPI,最后是缩略图有关信息,这里为0。
2、量化表的实例
上面这个内容,FFDB 标记后的长度值为67,接下来的是 QT 信息,占一个字节;这里是0,表示这个 QT 表编号为0,并且精度是8bit。然后后面就是64个8x8的 QT 表的各个 item 了。
也即第一个 DQT 量化表的内容表示为十进制是:
这个表即为 JPEG 亮度量化表。
第二个量化表的内容为:
- MJPEG格式和码流分析
- MJPEG格式和码流分析
- mjpeg stream 和FFmpeg视频图像读取分析
- Mjpeg-streamer源码分析2
- 获取mjpeg视频流
- MJPEG
- ffmpeg解码mjpeg格式数据接口介绍
- mjpeg的解码和播放
- Mjpeg-streamer源码分析(一)
- Mjpeg-streamer源码分析(二)
- Mjpeg-streamer源码分析(三)
- Mjpeg-streamer源码分析(一)
- Mjpeg-streamer源码分析(一)
- Mjpeg-streamer源码分析(二)
- Mjpeg-streamer源码分析(一)
- Mjpeg-streamer源码分析(二)
- Mjpeg-streamer源码分析(一)
- Mjpeg-streamer源码分析(二)
- 彻底讲清楚Python的Pip 与 Virtualenv
- python中的缩进问题
- const常类型定义与使用
- DWZ (JUI)表格Table多选selectedTodo功能扩展
- 我也来谈微服务(一)
- MJPEG格式和码流分析
- Android Studio的logcat是只好猫
- 求职网站
- Win10配置ADB工具
- Unity中的网络编程
- netty基础入门(一)定义理解
- 哈希函数
- 排序算法学习(2)
- nosetests