我知道JPEG是一种“有损”压缩算法,该算法会丢弃信息以节省空间。这在视觉上有什么影响?我听说过“ JPEG伪像”。这些看起来像什么?
是否存在相同级别的压缩会产生更多伪像且看起来更糟的情况?图像的内容是否重要?该算法处理得很好,有什么问题呢?
假设需要JPEG,是否有减少伪影的方法?如果我要上传到将在控件之外应用其自身压缩的Web服务,那么我可以对图像进行任何预先处理以使其更好地生存吗?
我知道JPEG是一种“有损”压缩算法,该算法会丢弃信息以节省空间。这在视觉上有什么影响?我听说过“ JPEG伪像”。这些看起来像什么?
是否存在相同级别的压缩会产生更多伪像且看起来更糟的情况?图像的内容是否重要?该算法处理得很好,有什么问题呢?
假设需要JPEG,是否有减少伪影的方法?如果我要上传到将在控件之外应用其自身压缩的Web服务,那么我可以对图像进行任何预先处理以使其更好地生存吗?
Answers:
使用当前的一周照片。这是高质量的JPEG:
重新以JPEG品质80(低)保存在Gimp中;请注意一般清晰度的损失,高对比度边缘周围的“点”,低对比度区域的细节损失:
并以JPEG质量30(非常低)重新保存在GIMP中;请注意明显的8x8块以及锐度和色彩细节的严重损失:
JPEG倾向于引入两种三种失真:
可见的块结构和边缘周围的光晕通常称为JPEG伪像。让我们放大示例以更好地查看它们。从左到右,从原始JPEG Q80和JPEG Q30图像中裁剪。我将伪像标记为绿色(圆圈表示光晕,点表示8x8块):
由于任何信息丢失,您实际上无法恢复。锐化可能有助于恢复丢失的边缘对比度,但会使“光晕”更明显。去噪可能有助于消除“光晕”,但会进一步降低清晰度。如果块结构可见,则可能为时已晚。只需保留原始的高分辨率,高质量图像即可,不要覆盖它们。
如果您控制JPEG压缩参数并希望最大化图像质量,请执行以下操作:
如果您上传到第三方服务,并且不控制压缩参数,那么您将无法做很多事情:
JPEG实际上使用两种压缩方式:有损压缩和无损压缩。无损压缩不会造成伪影,因此我们可以忽略该部分。JPEG中的特殊类型的有损压缩(称为数学余量的离散余弦变换)允许在压缩率和保真度之间进行权衡。大多数软件都将其称为“质量”值,通常在0-100范围内,其中100实际上没有损失或损失很小,并且从那里开始下降。
之所以采用这种特殊的压缩算法,是因为它可以很好地排除人类视觉系统不如其他场景组件注意到的那种东西。这部分是为什么看起来相当不错的图片可以具有令人印象深刻的高压缩率的原因。这也是为什么它在真实的连续色调照片上效果很好,而在合成图像和艺术线条上效果不佳的原因。
这是一张较大照片的200 x 300区域,其中像素被复制了2倍以更好地看到它们。这使用JPEG压缩“质量” 100:
质量80,文件大小减少了79%:
质量60,降低86%:
质量40,降低90%:
文件大小的减少是基于整个文件的JPEG压缩,因此标头结构和其他固定开销只是数据的一小部分。
请注意,即使原始信息中的近4/5被扔掉了,您也必须在第二张图片中找到工件。JPEG压缩伪影通常在锐利边缘和缓慢变化的平坦区域中最明显。由于线条艺术都是尖锐的边缘,因此JPEG压缩不适合这种情况。
您会看到,压缩率越高,压缩伪影会越差。请记住,尽管底部图片保留了惊人的可视信息量,但原始信息却被删除了9/10。
JPEG有损压缩所特有的伪像类型为缓慢变化的平坦区域中的“块状”和高对比度边缘周围的“污垢”。例如,请参见上图的右下区域。这包含焦点不清晰的背景,因此值变化缓慢。块状性很明显。有关“污垢”的示例,请环顾山羊的左角。通常,这两种伪像是涉及JPEG压缩的有力线索。还要在上面的其他图片中查找这些内容,以了解它们刚开始出现时的外观,以及在各种情况下您可以承受的压缩率。
JPG压缩以像素块进行。在高度压缩的JPG图像中,可以看到这些块的边缘:在原始图像中,两个像素的亮度和颜色可能非常接近,但是如果它们位于不同的块中,则在压缩和解压缩(查看时)后,每个像素它们的值可能与原始值不同,因此您会逐渐失去这种融合,并开始看到这种“块状感”。
这是天空中的典型示例-以0质量保存的JPG。
如果您上传到使用JPG压缩的网站,则在做两件事时可能会获得更好的结果(您需要对该网站进行实验以查看其效果):
将图片的尺寸调整为网站允许的最大高度/宽度,因此网站不会为您调整图片的尺寸
自己进行压缩,以获得质量更好的较小文件。根据站点的工作方式,如果图像已经足够小,它可能不会做进一步的压缩,或者即使压缩了,效果也会变差。
就从图像中去除JPG伪像而言,JPG伪像看起来可能类似于正常的传感器噪声。降噪软件在去除一些较小的JPG伪影方面会取得一定的成功,但会丢失细节。
这是一个JPG质量为50%,有块状但又较暗和较亮的像素(类似于噪点)的示例。
Topaz Labs有一个名为DeJpeg的产品,该产品专门作用于JPG工件。它在没有太多细节损失的情况下做得很好。该插件还可以进行一些锐化和总体降噪。该插件与Photoshop CS,Photoshop Elements和Paint Shop Pro兼容。我认为它不适用于Lightroom或Aperture。
对于压缩文件直到达到特定目标文件大小的网站,有一种方法可以在某些情况下提高图像质量。
JPEG通过将图像转换为[一系列]频率空间表示来工作(其中X和Y代表水平和垂直频率,“亮度”代表频率的幅度)。低于特定幅度的频率将被忽略,从而减少了存储的数据量,从而实现了压缩。
噪声具有JPEG无法压缩的广泛频率范围。这就是为什么您可以拥有两张图像,应用相同级别的压缩并在JPEG压缩后获得两个不同的文件大小的原因。
如果您拍摄图像并故意模糊不重要的背景区域,则会减少信息总量并实现这些区域更高的压缩率,从而留出更多千字节来编码对细节至关重要的区域。这对于背景已经不清晰的图像特别有效。
这是一个放大的jpeg的示例:
维基百科用户FelixH的图片。该图像已根据知识共享署名-相同方式共享3.0未移植许可证获得许可。
在此图像中,您可以清楚地看到蓝色区域中的所谓“工件”。请注意,图像看起来如何分成块,并且块边界不匹配。
为了避免或减少此问题,可以采取许多措施:
最明显的是:不要使用jpeg。您可能需要使用无损压缩格式(例如RAW,PNG或无损TIFF)处理图像。当您要将图片上传到网络,电子邮件等时,仅在最后一步将其降级为jpeg。
jpeg格式允许配置压缩级别。如果需要,可以减少工件,但是文件会更大。
避免一遍又一遍地保存jpeg,因为每一代都会进一步降低质量。
伪影是处理图像的不良副作用。在这种情况下,它们是由JPEG算法压缩数据的方式导致的。
通常,人们希望能够以数字方式存储照片,而无需使用过多的存储空间。结果,大多数照片都以JPEG格式存储。这种格式将压缩构成图像的数据,并尝试保留尽可能多的细节。创建文件时可以更改压缩级别。但是,这是一种“有损”算法,这意味着它会丢弃一些数据-无法从压缩的JPEG文件返回到原始数据。
数据丢失是以图像质量为代价的。压缩的目的是使对整体图像的影响降到最低,但是在高压缩级别下可以明显看到。
JPEG伪像最通常看起来像是块状的彩色部分。可以看到它们在大量的颜色变化中存在细微的渐变颜色变化-例如在蓝天或有雾的场景中。这些伪像看起来像是特定颜色的锯齿状轮廓,而不是平滑的混合色。
在压缩程度更高的场景中,还可以在被摄对象的边界附近看到伪影-例如,树木在天空映衬下的树枝。这些看起来像对象周围的斑点。
减少伪像的最佳方法是:
有关更多信息,请参见http://photo.net/learn/jpeg/