当标准谈到ECS时,它并没有将它称为像SOS这样的段类型,带有头部和大小组件; 它实际上是表示构成图像数据的MCU的原始霍夫曼压缩比特流.它被填充以填充整数个字节,并且可以选择与RST头交错(正式地,RST头与ECS分开).
当标准表示ECS 0时,它表示第0次(第一次)ECS运行,而不是像SOF0/SOF1/SOF2 /等不同类型的特定ECS类型.
基线DCT的示例:
FF DA // SOS header
00 08 // 8 bytes
01 // 1 channel
01 00 // channel 1 QT 0 HT 0
00 3F 00 // start/end spectral selector, successive approximation bit high/low
12 34 56 78 ... // Huffman-compressed MCU raw data
(sequence of Fuffman codes looked-up in AC/DC Huffman tables)
FF D9 // EOI
Run Code Online (Sandbox Code Playgroud)
一个方便的免费程序,帮助解释JFIF的结构是JPEGsnoop(http://www.impulseadventure.com/photo/jpeg-snoop.html).菜单中有一个"Full Decode"选项,显示原始Huffman比特流,它如何映射到Huffman符号,进行去量化,然后映射到DCT组件.