You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JPEG头中量化表信息字节的位序及字段对应关系确认

正确的JPEG量化表(DQT)字节解析规则

别纠结啦,我来给你明确这个容易搞混的点——正确的对应关系是高4位为精度等级,低4位为量化表标识编号,这是完全符合JPEG官方规范(ITU-T T.81 | ISO/IEC 10918-1)的标准定义。

给你拆解下这个关键字节的结构(就是你代码里的jpegData[i + 4]:毕竟i是紧邻0xDB前的0xFF索引,所以i+1是DQT标记0xDB,i+2、i+3是标记的长度字段,i+4就是咱们要解析的目标字节):

  • 高4位(二进制的第7到第4位):代表量化表的精度(P),取值0或1——0对应8位量化表,1对应16位量化表
  • 低4位(二进制的第3到第0位):代表量化表的标识编号(Tq),取值范围是0到3,用来对应JPEG图像里的不同分量(比如亮度Y、色度Cb/Cr等)

回到你的代码,正确获取量化表编号的写法是:

qTableID = (jpegData[i + 4] & 0x0F); // 提取低4位,得到0-3的合法编号

如果需要获取精度等级,应该这么写:

qTablePrecision = (jpegData[i + 4] & 0xF0) >> 4; // 提取高4位后右移4位,得到0或1

至于为什么会有资料冲突,大概率是有些非官方资料或者早期的小众实现搞反了位序,但认准官方规范就不会错啦。

内容的提问来源于stack exchange,提问作者IAmJersh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:28:46