【问题标题】:What is JPEG marker 0xb9?什么是 JPEG 标记 0xb9?
【发布时间】:2019-05-07 16:54:15
【问题描述】:

我是 JPEG 新手,我正在尝试解码(可能已损坏)JPEG(或者更确切地说,JFIF)文件。

我的图像查看器程序抱怨非法的 0xb9 标记。

文件没有 SOF(帧开始)标记,而是有这个 APP1 段

ff e1 00 0b 50 49 43 00 02 28 3c 01 00

此段后跟一个 0xb9 标记:

ff b9 00 11 08 06 4c 04 d3 03 01 22 00 02 11 01 03 11 01

我在看什么?

编辑

有人问我文件来自哪里。故事是这样的:

大约 20 年前,我在 CD-ROM 上购买了一系列杂志。但是,这些杂志只能在旧的 Windows 计算机上阅读,因此我正在尝试寻找另一种阅读方式——最好是在我的 Linux 计算机上运行的方式。据我所知,杂志页面存储为许多简单连接在一起的 JFIF 文件。

首先,我提取了一个 JFIF 文件,现在我正试图找到一种查看它的方法。

编辑 2

有人要求我分享图片文件。我不确定这样做是否侵犯了版权,因此我会在几天后再次删除该文件。反正有问题的图片文件之一可以从这里下载:

https://www.dropbox.com/s/9da72gdri8c9xwp/f1000.jpg

我不知道该文件包含什么,只知道它可能是 MAD 杂志的一页。

ff b9 段看起来很像 SOF0 段,将其更改为 ff c0 (SOF0) 会使图片可见,但仅作为随机像素的集合。

上面提到的 APP1 段包含字符串 PIC,它不是我所知道的任何 APP1 段类型的一部分。

编辑 3

由于这个问题现已得到解答,我将从 Dropbox 中删除该文件以避免任何版权问题。感谢所有为此做出贡献的人。

【问题讨论】:

  • 您的 FFB9 标记看起来很像 SOF 标记。不过显然有些事情搞砸了。
  • @haraldK:我已经编辑了我的帖子以包含指向文件的链接。
  • 标记 X'FF02' 到 X'FFBF' 在 ITU T.81 中保留。
  • 在进行FF B9 -> FF C0 更改后,我尝试在 GIMP 中打开您的示例图像,但出现错误提示“未定义 Huffman 表 0x00”。我假设您使用的任何查看器都忽略了该错误并最终输出随机垃圾。 (FWIW,我也在文件中尝试了injecting the standard JPEG Huffman tables,但我得到的只是一堆 RGB 色拉和图像中途出现的“损坏的 JPEG 数据:糟糕的 Huffman 代码”错误。)
  • Apparently APP1/PIC 段包含“Accusoft Pegasus 自定义字段”。仍然不确定 FFB9 段是什么,尽管我确实发现 this source file 声称它可能表示“残留扫描,ac coded”(无论这实际上意味着什么)。

标签: jpeg


【解决方案1】:

根据ITU T.86 Amendment 1,标识符为“PIC”的APP1段包含“Accusoft Pegasus自定义字段”。这表明该文件可能是使用 Accusoft 工具创建的,并且它们也可能能够对其进行解码。

(确实,在your comment above 中,您说您成功地使用Accusoft 的“Apollo”图片查看器的demo version 打开了文件。)

至于 FFB9 段标记,我仍然不确定它是什么意思。我确实设法在 JPEG XT reference implementation 中找到了 some code(称为“libjpeg”;不要与独立 JPEG 组广泛使用的 library of the same name 混淆)似乎可以识别它,并包含一条评论说它表示“残差扫描,ac 编码”。然而,无论 那个 是什么意思,我都不能 100% 确定。

Apparently 它与支持每个像素超过 8 位动态范围的图像有关,“残差扫描”存储额外的高精度像素数据,可以与基本的 8 位 JPEG 图像数据相结合重建完整的 HDR 图像。但如果是这样,那么只有这样一个残留扫描标记而没有任何正常 SOI 标记的文件似乎很奇怪。鉴于according to jakub_d,JPEG XT 库实际上无法解析您的文件,可能是它以某种非标准方式使用标记。

【讨论】:

    猜你喜欢
    • 2012-01-31
    • 2012-05-07
    • 2012-10-15
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多