但是根據JPEG的標準, 又有許多延伸的格式, 像JFIF, JPEG Exif1,2,等等. 這些都是JPEG家族的影像格式. 要如何區分呢, 其實在JPEG檔案的最前面, 就可以分辨.
1. JPEG前三個byte 為 0xFF 0xD8 0xFF, 0xD8表示SOI.
2. 第四個byte,是Segement marker. 合法範圍是0xC0 - 0xFF.
JFIF 1.02 (JPEG File Interchange Format)
0xFF 0xD8 0xFF 0xE0 0x00 0xXX 0xXX 0x4A 0x46 0x49 0x46 0x00
SOI APP0 skip 2 bytes "J" "F" "I" "F"
Exif file
0xFF 0xD8 0xFF 0xE1 0x00 0xXX 0xXX 0x45, 0x78, 0x69, 0x66, 0x00, 0x00
SOI APP1 "Length field" "E" "x" "i" "t"
Marker Segement :
Marker Name Marker Code Description
SOI Start of Image FFD8.H Start of compressed data
APP1 Application Segment 1 FFE1.H Exif attribute information
APP2 Application Segment 2 FFE2.H Exif extended data
DQT Define Quantization Table FFDB.H Quantization table definition
DHT Define Huffman Table FFC4.H Huffman table definition
DRI Define Restart Interoperability FFDD.H Restart Interoperability definition
SOF Start of Frame FFC0.H Parameter data relating to frame
SOS Start of Scan FFDA.H Parameters relating to components
EOI End of Image FFD9.H End of compressed data
沒有留言:
張貼留言