2011-09-02 60 views
2

在GIF规范,在这里: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代码?如果是这样,我该如何解读?

对不起所有的问题。感谢您的时间。

作为一个侧面说明:即使是部分答案或任何问题的答案将不胜感激。

回答

2
  1. GIF适用LZW算法与Wikipedia LZW描述码作为 的变量(增加)的大小。 “初始位数”是代码的初始大小 。

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

  3. 这是有文件中(第30页;-)接近尾声时,只需搜索 “可变长度编码LZW压缩”)

  4. “数据分块”是实际图像数据的块数为255(或更少字节)。 也许由图像数据和扩展块中使用的

链接的列表由一系列子块组成,每个子块开始与给在子的随后的数据字节的数目的字节 - 块(1到255),由空子块(一个0字节)终止的序列。 [Wikipedia GIF]

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

  2. 见上。

+0

非常感谢。 – SSight3