解析JPEG文件,SOS标记。

7
我在解析jpeg文件时遇到了问题。当我遇到SOS(扫描开始)标记时,有几个字节的含义我不理解。在下面的图片中,在SOS标记后,有2个字节用于头部长度(图片上的Ls部分)。但是图片中其余的数据(例如Ns,Cs1等)是什么意思,纯数据从哪里开始呢?
1个回答

6
Cs1是组件选择指标,它指的是SOF段(其中指定了水平和垂直采样因子)。
Td1是当前组件(Cs1)的DC表选择器。
Ta1是当前组件(Cs1)的AC表选择器。
Ss、Se和Ah、Al定义了当前扫描数据的频谱选择(这用于渐进位图。在第一轮渲染中,只显示较低频率,在最后一轮中,显示更详细的频率)。
扫描数据从Al后开始。
简而言之,
SOS (2 bytes)
Ls (2 Bytes)
Ns (1 byte)
Component Specific Parameters (Ns * 2 bytes)
Ss (1 byte)
Se (1 byte)
Ah,AL (1 byte)
... scan data ...

谢谢您的回答,但除了组件规范参数之外,我还需要其他字节来生成原始图片(我已经生成了哈夫曼表和代码,并读取了量化表)。 - MrD
对于一个简单的JPEG图像,你需要高度、宽度、水平和垂直采样因子、哈夫曼表、量化表、重启标记(可选)、Cs1、Cs2、Cs3以及扫描数据本身。对于渐进式JPEG图像,你将会有多个帧。 - Jimmy
如何确定JPEG图像是否为渐进式,简单JPEG和渐进JPEG有什么区别? - MrD
你手头的规格说明会比我更好地解释渐进式JPEG - 简而言之,你有多个扫描部分。 - Jimmy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接