【问题标题】:JPEG section placement specificationJPEG 部分放置规范
【发布时间】:2018-02-27 22:14:16
【问题描述】:

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


澄清

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

这是我的 JPEG 文件部分的示例,它说明了我正在谈论的部分。

【问题讨论】:

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

标签: parsing jpeg


【解决方案1】:

有一些排序要求,但 JPEG 可以灵活地确定块可能出现的位置。

前面必须有一个 SOI 标记。 最后必须有一个EOI标记。

除此之外它还很松散。

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

SOS 标记将使用 Huffman 表和量化表。在使用之前,这些标记必须由 DHT 和 DQT 标记定义。但是,您可以拥有 像这样的序列:

双氢睾酮 DQT 求救 双氢睾酮 DQT 求救 求救

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2011-11-16
    • 2014-01-04
    • 2015-09-24
    • 1970-01-01
    相关资源
    最近更新 更多