前两篇写了JPEG图像数据的处理,这一篇写一下JPEG文件中各种信息的组织。JPEG文件中有各种命令标志文件的各种信息,各命令的开头 8bit是11111111既0xff,例如图像开始是FFD8(start of image命令),图像结束是FFD9(end of image命令)。
文件中的内容应该是:
1、FF D8(SOI:start of image)
2、FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00(APP0 :定义JPEG文件用JFIF)
3、FF DB 00 43 00......(DQT:定义量化表 第5BYTE的00表示是亮度表,其后的是64BYTE的量化表的Zigzag数据)
4、FF DB 00 43 01......(DQT:定义量化表 第5BYTE的01表示是色度表,其后的是64BYTE的量化表的Zigzag数据)
5、FF C0 00 11 08 HH HL WH WL 03 01 22 00 02 11 01 03 11 01(SOF:一帧图像的开始,HH是图像高度的高字节,HL是图像高度的低字节,WH是图像宽度的高字节,WL是图像宽度的低字节)
6、FF C4 00 1F 00 ......(DHT:使用标准huffman表的值,第5BYTE的00表示DC的亮度,其后是DC亮度表的bit表和val表)
7、FF C4 00 B5 10 ......(DHT:使用标准huffman表的值,第5BYTE的10表示AC的亮度,其后是AC亮度表的bit表和val表)
8、FF C4 00 1F 01 ......(DHT:使用标准huffman表的值,第5BYTE的10表示DC的色度,其后是DC色度表的bit表和val表)
9、FF C4 00 B5 11 ......(DHT:使用标准huffman表的值,第5BYTE的11表示AC的色度,其后是AC色度表的bit表和val表)
10、FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00(SOS:start of scan )
11、处理后的图像数据
12、FF D9(end of image)