将质量设置为100时JPEG是否无损?


74

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

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

Answers:


52

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

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

在JPEG中,压缩信息大部分在DCT系数量化步骤中丢失(8×8系数块被8×8量化表划分,因此它们变得更小->“更可压缩”)。将JPEG质量设置为100时,不会进行真正的量化(因为量化表至少为标准IJG-JPEG表将为全1),因此实际上您在这里不会丢失任何信息。

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

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

极好的答案。谢谢。
Sugrue

64

无论设置如何,Jpeg都是有损的。在100,您将获得最小损失。

测试起来很容易。打包一个简单的.bmp,将其压缩为aq = 100 jpeg,然后重新提取回.bmp。使用Gimp / Photoshop对两个位图进行“区别”,您将看到有损-与aq = 50或q = 1转换相比,它的吸引力要小得多,但仍然存在。


9
作为替代,JPEG2000支持无损模式。
schnaader

3
@MarcB,您将如何“使用Gimp / Photoshop对两个位图进行“区别””
Pacerier,2015年

13
@Pacerier,使用gimp,打开参考图像,然后第二个“作为图层打开”。在“图层”工具箱中,可以选择“差异”叠加方法。如果以此来展平图像并扩大对比度,等等!
yota

23

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


2
那么为什么叫JPEG?
Pacerier '17

4
@Pacerier好问题。这是因为它是由联合图像专家组(与原始JPEG相同的人)开发的。我不知道为什么他们试图在早期的规范中搭载它,而不是像在JPEG-2000中那样创建一个新的规范。
Mark Ransom

1
此外,我们知道的JPEG图像标准名称实际上是JFIF。相关:stackoverflow.com/questions/1427623/are-all-jpeg-files-jfif
Glen Davies

-2

根据维基百科,没有。

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

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


15
仅因为它具有压缩比并不会使其有损。您可以压缩而不会失去质量... PNG / GIF?
IAmGroot 2012年

3
压缩方法通常是有损的,这意味着某些原始图像信息会丢失并且无法恢复,从而可能影响图像质量。JPEG标准中定义了一个可选的无损模式。但是,该模式在产品中并未得到广泛支持。
Mark Price

2
您应该将其添加到答案中。关于它为什么有损的信息,这是一个更好的解释-而不是仅仅说明它具有压缩率:)
IAmGroot 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.