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

Sug*_*rue 62 jpeg lossless-compression

据我所知,JPEG是一种有损压缩标准,"质量"因素控制着压缩程度,从而控制数据丢失量.

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

Mar*_*c B 63

无论设置如何,Jpeg都是有损的.在100,您可以获得最低损失.

这很容易测试.掀起一个简单的.bmp,压缩到aq = 100 jpeg,然后重新提取回.bmp.使用Gimp/Photoshop来做两个位图的"差异",你会看到损失 - 它比aq = 50或q = 1转换更不明显,但仍然存在.

  • @Pacerier,用gimp,你打开参考图像,然后"打开一层"第二个.从"图层"工具箱中,您可以选择"差异"叠加方法.如果你像这样展平图像,并拉伸对比度,那么瞧! (12认同)
  • 作为替代方案,JPEG2000支持无损模式. (9认同)
  • @MarcB,你会如何"使用Gimp/Photoshop来做两个位图的"差异"*? (2认同)

小智 36

正如上面正确回答的那样,使用质量为100的"典型"JPEG编码器并不能为您提供无损压缩.存在无损JPEG编码,但它本质上不同并且很少使用.

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

在JPEG压缩中,信息在DCT系数量化步骤期间大部分丢失(8乘8系数块被8乘8量化表划分,因此它们变得更小 - >'更可压缩').当您将JPEG质量设置为100时,不会发生实际量化(因为量化表将全部为1,至少使用标准IJG-JPEG表),因此实际上您不会丢失信息.

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

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


Mar*_*som 22

有一种无损形式的JPEG,但它没有得到广泛支持,你不会通过调整质量设置得到它 - 这是一个完全不同的过程.

  • @Pacerier好问题.这是因为它是由联合图像专家组开发的,与制作原始JPEG的人相同.我不知道为什么他们试图在早期的规范上搭载它,而不是像JPEG-2000那样创建一个新版本. (4认同)
  • 那为什么叫做JPEG呢? (2认同)
  • 此外,我们所知的 JPEG 图像标准的名称实际上是 JFIF。相关:/sf/ask/99933641/ (2认同)