问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我想问jpg的数据结构谁有

发布网友 发布时间:2022-04-25 23:11

我来回答

2个回答

热心网友 时间:2022-06-18 13:54

jpg的结构:
JFIF文件格式即JPEG文件交换格式(JPEG File Interchonge Format)。
一般的JFIF文件由下面的9个部分组成:
(字段偏移量 字段长度(若未说明“长度不定”则表明在任何情况下长度均为所写的值) 字段内容(若未说明“内容不定”则在任何情况下内容均为所写的值,为方便表示还可以把内容设为某值))
(1) 图像开始SOI(Start of Image)标记
0h 2字节 0xFFD8
(2) APP0标记(Marker)
0h 2字节 0xFFE0
① APP0长度(length)(①~⑨九个字段的总长度)
2h 2字节 内容不定(①~⑨九个字段的总长度)
② 标识符(identifier)
4h 5字节 0x4A46494600 即“JFIF0”
③ 版本号(version)
9h 2字节 0x0102 JFIF的版本号目前基本上都是1.2
④ X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)
bh 1字节 只有0,1,2三个值可选,其分别代表的意义如上
⑤ X方向像素密度(X density)
ch 2字节 取值范围未知
⑥ Y方向像素密度(Y density)
eh 2字节 取值范围未知
⑦ 缩略图水平像素数目(thumbnail horizontal pixels)
10h 1字节 取值范围未知
⑧ 缩略图垂直像素数目(thumbnail vertical pixels)
11h 1字节 取值范围未知
⑨ 缩略图RGB位图(thumbnail RGB bitmap)
12h 长度可能是3的倍数 内容不定
本段(APP0)可以包含图像的一个微缩版本,存为24位的RGB像素。如果没有微缩图像
(这种情况更常见),则⑦“缩略图水平像素数目”和⑧“缩略图垂直像素数目”的值均为0。
(3) APPn标记(Markers),其中n=1~15(任选)
① APPn长度(length)(①②两个字段的总长度)
② 详细信息(application specific information)
对每个APP:
若为APPN(N=1~F(以16进制表示,N任选其中一个))
标记
mh 2字节 0xFFEN
长度
(m+2)h 2字节 内容不定(设为n(10进制))(本字段与下一字段的总长度)
详细信息
(m+4)h n-2字节(即长度减2) 内容不定
(4) 一个或者多个量化表DQT(Difine Quantization Table)
0h 2字节 0xFFDB
① 量化表长度(quantization table length)(①~②两个字段的总长度)
2h 2字节 内容不定(①~②两个字段的总长度)
② 量化表(quantization table)
a) P/T(高四位:精度,低四位:表ID)
b) 表项
对每个量化表:
P/T(高四位:精度,低四位:表ID)
mh 1字节 精度, 0 表示 8 bit, 1表示 16 bit;ID取值范围为0~3, 否则错误
表项
(m+1)h (64×(精度+1))字节 内容长,故略
(5) 帧图像开始SOF0(Start of Frame)
0h 2字节 0xFFC0
① 帧开始长度(start of frame length) (①~⑥六个字段的总长度)
2h 2字节 内容不定(①~⑥六个字段的总长度)
② 精度(precision),每个颜色分量每个像素的位数(bits per pixel per color component)
4h 1字节 每个样本位数, 通常是 8 (大多数软件不支持 12 和 16)
③ 图像高度(image height)
5h 2字节 内容不定(如果不支持 DNL 就必须 >0)
④ 图像宽度(image width)
7h 2字节 内容不定(如果不支持 DNL 就必须 >0)
⑤ 颜色分量数(number of color components)
9h 1字节 内容不定(灰度图是 1, YCbCr/YIQ 彩色图是 3, CMYK 彩色图是 4,我们
这里讨论的JFIF使用的是YCbCr,故这里颜色分量数为3)
⑥ 对每个颜色分量(for each component)
a) ID
b) 垂直方向的样本因子(vertical sample factor)
c) 水平方向的样本因子(horizontal sample factor) (b) c)共占用1字节,b)占用低4
位,c)占用高4位)
d) 量化表号(quantization table#)
JFIF格式使用的是YCbCr所以有3个分量(这里特别要注意的是颜色分量的ID号是有
含义的,1代表Y,2代表Cb,3代表Cr,4代表I,5代表Q):
1) ID
ah 1字节 0x01
(高四位)水平(低四位)垂直样本因子
bh 共1字节 0x22
量化表号
ch 1字节 内容不定(本分量使用的量化表的ID号)
2) ID
dh 1字节 0x02
(高四位)水平(低四位)垂直样本因子
eh 共1字节 0x11
量化表号
fh 1字节 内容不定(本分量使用的量化表的ID号)
3) ID
10h 1字节 0x03
(高四位)水平(低四位)垂直样本因子
11h 共1字节 0x11
量化表号
12h 1字节 内容不定(本分量使用的量化表的ID号)
(6) 一个或者多个霍夫曼表DHT(Difine Huffman Table)
0h 2字节 0xFFC4
① 霍夫曼表的长度(Huffman table length) (①~②两个字段的总长度)
2h 2字节 内容不定(①~②两个字段的总长度)
② 对每个霍夫曼表(一般情况下,霍夫曼表不止一个,但是绝对不多于4个)
a) 表号
b) 类型:AC或者DC(Type, AC or DC。其中0为DC表,1为AC表)(a) b)共占用1字
节,a)占用低4位,b)占用高4位)
c) 长16个字节的编码,其代码代数和为接下来的编码的长度
d) 内容编码
对每个霍夫曼表:
(高四位)类型和(低四位)表号
mh 共1字节 内容不定(有四个可能:0x00表示第0个DC表,0x01表示第1
个DC表,0x10表示第0个AC表,0x11表示第1个AC表)
长16个字节的编码
(m+1)h 16字节 内容不定(设这16个字节上数据之和为n)
内容编码
(m+17)h n字节 内容长,故略
(7) 定义重新开始间隔DRI(Difine Restart Interval)(在没有DRI标记,或间隔为零时,就不存在重
开始间隔和重开始标记)
0h 2字节 0xFFDD
① 长度
2h 2字节 0x0004(①~②两个字段的总长度)
② MCU 块的单元中的重新开始间隔
4h 2字节 内容不定(设为n,则意思是说,每n个MCU块就有一个RSTn标记。第一个标记
是RST0,然后是RST1等,RST7后再从RST0重复)
(8) 扫描开始SOS(Start of Scan)
0h 2字节 0xFFDA
① 扫描开始长度(start of scan length)
2h 2字节 内容不定(①~③再加上④的a) b) c)的总长度)
② 颜色分量数(number of color components)
4h 1字节 应该和⑸⑤的值相同(灰度图是1, YCbCr/YIQ 彩色图是3, CMYK 彩色图是4)
③ 每个颜色分量
a) ID
b) 交流系数表号(AC table #)
c) 直流系数表号(DC table #)(b) c)共占用1字节,b)占用低4位,c)占用高4位)
由②得到这里的颜色分量数为3(这里的颜色分量的ID号的含义和⑸⑥的一样,1代表
Y,2代表Cb,3代表Cr,4代表I,5代表Q):
1) ID
5h 1字节 0x01
(高四位)直流(低四位)交流数表号
6h 共1字节 0x00
2) ID
7h 1字节 0x02
(高四位)直流(低四位)交流数表号
8h 共1字节 0x11
3) ID
9h 1字节 0x03
(高四位)直流(低四位)交流数表号
ah 共1字节 0x11
④ 压缩图像数据(compressed image data)
a) 谱选择开始
bh 1字节 0x00
b) 谱选择结束
ch 1字节 0x3F
c) 两个4位字段,高位和低位的谱选择
dh 1字节 在基本JPEG中总为00
d) 数据
eh 长度不定 内容长,故略
(9) 图像结束EOI(End of Image)
0h 2字节 0xFFD9

热心网友 时间:2022-06-18 13:55

对你无语,你想得太多了
你是不是没学过数据结构,哪种格式的文件,在写入文件信息的时候,都是以流方式写入的,会在文件头部标记一段为数据的格式信息,在文件写入完成,关闭流保存之后,信息就固定了,你所指的图片式压缩包,也是jpg/jpeg格式,只是用winrar隐藏成rar了,如果不信可以去查一下图片式压缩包的介绍
至于你说将JPG转为一首歌,你也不要想了,根本不可以, 就算有这种软件转,出没有对应的解码器可以解码,还有楼上所说的,.rm直接把后缀改成.avi可以播放的问题,是你的音频/视频解释器,有对音频进行头信息校验,才可以读取,如果对视频进行写保护,以及加壳的话,就算还必须脱壳,才能运行,那也要依靠你的播放器能力,不是单纯的改改后缀名就可以的了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长沙到西昌。坐火车先从长沙到成都、成都东,再到西昌,哪个方便一些 S先生与P先生谜题的题面 为什么首都设在襄阳 改姓可以不随父母性吗 韩艺瑟怎么改姓? 纸、墨、笔、砚是中国传统的文房四宝,墨的使用最早在 [ ] A.商代后期... 想问下创维光伏E企赢模式有哪些优势,到底值不值得投资啊?有没有合作... 太平洋太享e保百万医疗值得入手吗?每年花多少钱? 爱e满分适合哪些人买?注意哪些问题? 太平洋太享e保百万医疗适合哪些人买?价格多少? 如何评价刘柏辛在《歌手》中的表现? 同样是来自奇袭的歌手,为什么刘柏辛好评高于黄云霄? 皮肤烫伤起水泡如何正确处理 白举纲奇袭我是歌手,为什么他不怎么出现在大家面前了? 手被烫红起泡应该如何处理? 歌手刘柏辛奇袭成功了吗? 黄霄云被全网黑,她的唱功究竟如何? 同是奇袭失败的歌手,为什么刘柏辛会大受好评呢? 让毛不易离开的女歌手 同样是奇袭歌手,为什么刘柏辛被夸黄霄云被骂? 长期喝可蓝矿泉水好不好? 《歌手·当打之年》里,为什么这么多人奇袭萧敬腾? 胡夏作为奇袭歌手,是否能摆脱“过气男歌手”的标签? 纯蓝色大瓶商标纸也是蓝色的矿泉水叫什么牌子 《歌手》三组奇袭王者:华晨宇遇同门师弟,萧敬腾或遭两次奇袭... 最近电视剧里面的蓝色瓶子矿泉水叫什么名字有在卖嘛。 如何查看歌手当打之年奇袭歌手名单? 请问康师傅矿泉水(蓝色的)的材料是什么? 《歌手》第五期歌单曝光:奇袭歌手获刘欢肯定,你怎么看? 《我是歌手》第十期里面,为什么没有人敢奇袭周深? 家人想吃鱼和虾了,鱼和虾可以做出什么样的美食? 今年《歌手》奇袭的歌手是不是太过于自大? 为什么在《歌手当打之年》总决赛之前,没有人奇袭周深? 红烧鱼和虾的家常做法大全怎么做好 周深是位技术嗓音俱佳的歌手,为何《歌手·当打之年》十期中没人奇袭周深? 鱼和虾一起炖的做法 鱼和虾怎么烧好吃 皮肤烫伤起水泡如何处理 鱼和虾能一起煮吗 不能说的游戏_不能说的游戏高清网盘在线观看 虾和鱼能一起炖吗 鱼虾汤的做法大全 烫伤水泡如何处理 鱼和虾一起做法大全窍门 虾炖鱼怎么做 已经持有美国F1签证,想在开学前去其他城市游玩,入关时要说游玩还是说继续学业? 男子带孩子去游乐园被绝收现金后情绪激动,致其生气的主要原因是什么? 水煮鱼虾的做法,水煮鱼虾怎么做好吃,水煮鱼虾 旅游目的地如何通过延长旅游者停留时间增加旅游花费的改善目的的旅游经济 shift delete删除u文件怎样恢复