首页 > 解决方案 > 为什么JPEG图像可以包含多个量化表?

问题描述

我从关于它的 wiki 页面检查并大致了解了 JPEG 编码算法。

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

我知道文件中的量化表取决于创建图像的内容,例如相机制造商可能有自己的专有 QT 算法,Photoshop 等有自己的 QT,有公共的等等。现在,如果打开“真实” JPEG 文件可能包含多个量化表。怎么会这样?我假设解码算法如下所示:

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

第二个/第三个/... QT 做什么/什么时候使用?JPEG文件中QT的数量有上限吗?什么时候会在 JPEG 文件中添加第二个 QT?

标签: jpeg

解决方案


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

就像您已经知道的那样,第一步将图像转换为 YCbCr 颜色空间。在这个色彩空间中,您拥有三种颜色:亮度 (Y)、色度蓝 (Cb) 和色度红 (Cr)。由于人眼对颜色不太敏感,但对亮度非常敏感,因此对不同的分量使用多个量化表。

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


推荐阅读