为什么JPEG图像可以包含多个量化表?

Why can JPEG images contain several quantization tables?

我从wiki页面查了大概了解了JPEG编码算法

  1. 转换为 YCbCr,下采样
  2. 分成 8x8 块
  3. 对块应用 DCT
  4. 将结果矩阵除以量化 table 个条目
  5. 熵编码

我知道文件中的量化 table 取决于创建图像的内容,例如相机制造商可能有自己专有的 QT 算法,photoshop 等有自己的 QT,有 public 个,等等。 现在,如果打开 'real' JPEG 文件,它们可能包含 多个 量化 table。怎么会这样?我假设解码算法是这样的:

  1. 解码熵编码,接收块
  2. 通过量化乘以块 table 个条目
  3. 还原其他操作

second/third/...QTdo/when有什么用? JPEG 文件中的 QT 数量是否有上限?何时将第二个 QT 添加到 JPEG 文件?

量化表用于不同的颜色分量。

如您所知,第一步图像被转换为​​ YCbCr 颜色 Space。在这种颜色 space 中,您有三种颜色:亮度 (Y)、色度蓝色 (Cb) 和色度红色 (Cr)。由于人眼对颜色的敏感度较低,但对亮度非常敏感,因此针对不同的分量使用了多个量化表。

用于亮度的量化表由“较低”值组成,因此除法和舍入不会丢失太多关于该组件的信息。另一方面,蓝色和红色具有“更高”的价值,因为不需要那么多信息。