【问题标题】:GIF Data Storage specification questionGIF 数据存储规范问题
【发布时间】:2011-11-09 04:02:50
【问题描述】:

在 GIF 规范中,这里:

http://www.w3.org/Graphics/GIF/spec-gif89a.txt

我无法理解其中的两个部分:

它为“LZW 最小代码大小”指定:

该字节决定了图像数据中 LZW 码使用的初始位数,如附录 F 中所述。

  1. “用于 LZW 码的初始位数”是什么意思?
  2. LZW 代码在 GIF 环境中如何工作? (我知道它指的是 Lempel-Ziv-Welch)。
  3. 它所指的难以捉摸的“appexdix F”在哪里? (它不在体内)。

它还规定在“LZW最小码大小”的单字节之后,有一个称为“图像数据”的块,其实际大小未指定,仅称为“数据子块”。

  • “数据子块”是什么意思?
  • 如何计算数据子块的大小?
  • 这是否与 LZW 代码有关?如果是这样,我应该如何解释?

抱歉所有问题。感谢您的宝贵时间。

作为旁注:即使是部分答案或任何问题的答案,也将不胜感激。

【问题讨论】:

    标签: gif animated-gif


    【解决方案1】:
    1. GIF 应用 LZW 算法,代码大小可变(增加)为 在Wikipedia LZW 中描述。 “初始位数”是初始 代码的大小。

    2. 这在您参考的文档中有描述。颜色代码列表 像素是 LZW 压缩的(“a”段就在您引用的部分上方)。

    3. 它在文件中(在第 30 页 ;-) 接近结尾处,只需搜索 “可变长度代码 LZW 压缩”)

    4. “数据子块”是 255 个(或更少字节)块中的实际图像数据。 也许是

    图像数据和扩展块使用的链表由一系列子块组成,每个子块以一个字节开始,给出子块中后续数据字节的数量(1到255),系列由空子块(0字节)终止。 [Wikipedia GIF]

    1. “如何计算数据子块的大小?”往上看。它是第一个字节 每个块。

    2. 见上文。

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2011-11-04
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 2018-04-22
      相关资源
      最近更新 更多