88

我知道 JPEG 是一种有损压缩标准,并且“质量”因素控制压缩程度,从而控制数据丢失量。

但是当质量数设置为100时,生成的jpeg是无损的吗?

4

4 回答 4

67

正如上面正确回答的那样,使用质量为 100 的“典型”JPEG 编码器不会为您提供无损压缩。无损 JPEG 编码存在,但性质不同,很少使用。

我只是发布说为什么质量 100 并不意味着无损

在 JPEG 中,压缩信息在 DCT 系数量化步骤中大部分丢失(8×8 系数块除以 8×8 量化表,因此它们变得更小 --> '更可压缩')。当您将 JPEG 质量设置为 100 时,不会发生真正的量化(因为量化表将全为 1,至少对于标准 IJG-JPEG 表而言),所以实际上您不会在这里丢失信息。

然而,即使没有进行量化,也主要有两个因素导致信息丢失:

  1. 通常,JPEG 压缩会减少颜色信息(因为人类视觉系统对颜色信息的敏感度低于对亮度的敏感度)。因此,即使在质量 100 下,您也可能正在执行色度二次采样(这意味着,减少一半或更多的 Cb 和 Cr 系数)。发生这种情况时,即使没有发生量化,信息也会丢失。但是,您可以告诉编码器保留完整的色度(所谓的 4:4:4 颜色采样)。
  2. 然而,JPEG 编码意味着进入 DCT 域,这会导致系数四舍五入。四舍五入会丢弃一些信息。无论所有其他选项如何,都会发生这种情况。
于 2018-02-02T08:43:08.363 回答
65

无论设置如何,JPEG 都是有损的。在 100 时,您只会得到尽可能少的损失。

这很容易测试。制作一个简单的 .bmp,将其压缩为 aq=100 jpeg,然后重新提取回 .bmp。使用 Gimp/Photoshop 对两个位图进行“差异”处理,您会看到损失——它比 aq=50 或 q=1 转换要少得多,但仍然存在。

于 2011-11-02T14:58:38.500 回答
23

JPEG有一种无损形式,但它并未得到广泛支持,而且您无法通过调整质量设置来获得它——这是一个完全不同的过程。

于 2011-11-07T16:57:52.070 回答
0

根据维基百科,没有。

jpeg 100 的压缩比为 2.6:1。压缩方式通常是有损的,意味着一些原始图像信息丢失并且无法恢复,可能会影响图像质量。

JPEG标准中定义了一种可选的无损模式;但是,这种模式在产品中并未得到广泛支持。

于 2011-11-02T15:04:26.193 回答