我的目标是正确解析任何有效的JPEG文件。然而,在谷歌搜索之后,我没有发现我的问题的答案:JPEG标准文档是区段定位的方式吗?
澄清
在JPEG中,有大量具有各种签名的部分,但实际上每个JPEG图像都有第一部分APP0和相应部分APP X 。我想知道是否有可能出现其他部分以随机方式混合文件或部分的情况。这会违反标准还是由于“依赖于实现”部分位置而导致此行为正常?
以下是我的JPEG文件部分示例,说明了我正在谈论的部分。
答案 0 :(得分:0)
有一些排序要求,但JPEG可以灵活地确定块的位置。
前面必须有一个SOI标记。 最后必须有一个EOI标记。
除此之外它还很松散。
SOF标记必须位于SOS标记之前。
SOS标记将使用Huffman表和量化表。这些表必须在使用之前由DHT和DQT标记定义。但是,你可以拥有 像这样的序列:
DHT DQT SOS DHT DQT SOS SOS
几乎总是会出现APP0和COM标记。 大多数JPEG文件格式都需要在SIO标记之后的某种类型的APPn标记。