WebP无损格式概述

时间:2012-12-02 21:38:01

标签: c++ compression codec webp

我正在阅读官方WebP lossless bitstream spec.,我有一种感觉,该文件缺少一些解释。

让我描述一下规范的一些片段:

1。简介 - 明确

2。 Riff标题 - 清除

第3。转型

  

转换仅用于主级ARGB图像:   子分辨率图像没有变换,甚至没有0位指示   转型结束。

之前没有提到过,容器中装有一些亚分辨率图像。这些是什么?它们在哪里描述,如果不在规范中?如何将它们添加到最终图像中?

然后,在预测变换段落中:

  

我们将图像分成正方形......

..什么形象? 图像或亚分辨率图像?如果图像不能分成正方形(除了像素大小的方块)怎么办?

  

预测数据的前4位定义块宽度和高度   位数。使用块列的数量block_xsize   在二维索引中。

这是否意味着图像宽度为block_xsize * block_width?

  

变换数据包含图像的每个块的预测模式。

以什么方式,什么格式?

我不知道为什么我很难理解这一点。也许是因为我不是英语母语人士,或者因为描述过于简洁。

我很感激解码此规范的任何帮助:)

1 个答案:

答案 0 :(得分:3)

前面提到过。在文档的顶部,它说:

  

格式使用子分辨率图像,递归嵌入到   格式本身,用于存储有关图像的统计数据,例如   使用的熵代码,空间预测器,颜色空间转换,   和颜色表。

这些是数据的数组(或颜色表中的矢量),其中每个元素应用于实际图像中的像素块,例如, 16x16块。这些“子分辨率图像”本身不是被压缩图像的子样本。

格式描述称它们为图像,因为它们的存储方式与主图像的格式完全相同。变换是解码器应用于解压缩的主图像数据的指令。熵图像用于解压缩主图像,因为它为每个块提供了霍夫曼码。