Parsing JPEG节放置规范

Parsing JPEG节放置规范,parsing,jpeg,Parsing,Jpeg,我的目标是正确解析任何有效的JPEG文件。然而,在谷歌搜索之后,我还没有找到我的问题的答案:JPEG标准文档是分区定位的方式吗 澄清 在JPEG中,有大量具有各种签名的部分,但是在实践中,每个JPEG图像都有第一部分APP0和之后的相应部分APPX。我想知道是否有其他部分以随机方式开始文件或混合部分的可能情况。这是否会违反标准,或者由于实施依赖于部分位置,该行为是否正常 下面是我的JPEG文件部分的一个示例,说明了我正在谈论的部分 有一些订购要求,但JPEG对于块出现的位置是灵活的 前面必须有S

我的目标是正确解析任何有效的JPEG文件。然而,在谷歌搜索之后,我还没有找到我的问题的答案:JPEG标准文档是分区定位的方式吗

澄清

在JPEG中,有大量具有各种签名的部分,但是在实践中,每个JPEG图像都有第一部分APP0和之后的相应部分APPX。我想知道是否有其他部分以随机方式开始文件或混合部分的可能情况。这是否会违反标准,或者由于实施依赖于部分位置,该行为是否正常

下面是我的JPEG文件部分的一个示例,说明了我正在谈论的部分


有一些订购要求,但JPEG对于块出现的位置是灵活的

前面必须有SOI标记。 末端必须有一个EOI标记

除此之外,它是相当宽松的

SOF标记必须位于SOS标记之前

SOS标记将使用哈夫曼表和量化表,在使用之前,这些表必须由DHT和DQT标记定义。然而,你可以 像这样的序列:

DHT DQT 紧急求救信号 DHT DQT 紧急求救信号 求救

APP0和COM标记几乎总是会出现。
大多数JPEG文件格式都要求在SIO标记之后有某种类型的APPn标记。

这些部分称为标记,几乎可以按任何顺序排列。它们包含对解码图像和元数据至关重要的信息,可以选择删除这些信息。解析它们很简单,因为它们由一个2字节的标记组成,格式为FFxx,后跟一个2字节的长度。使用长度,您可以跳过它们或解释它们的数据。