jpeg压缩 - 有损或无损

时间:2014-08-06 06:15:45

标签: compression jpeg

关于JPEG压缩我的问题很少。

在我的Windows系统中,我有一些图像处理应用程序。例如,Windows msPaint:提供了将BMP图像转换为JPEG格式的选项。

任何人都可以告诉我,这里使用的JPEG压缩是什么 - 有损耗还是无损耗。

如果有人指的是“JPEG标准压缩”,它在内部使用哪种压缩:有损还是无损?

提前致谢。 阿尔文

2 个答案:

答案 0 :(得分:2)

JPEG是一系列相关的压缩技术。有无损JPEG,但它通常被降级到12位医疗应用程序。

您可能使用的任何JPEG都会造成损失。这发生在几个步骤。

  1. 从RGB到YCbCR的转换。两个颜色空间相交但不具有相同的色域。 YCbCr外部的RGB颜色被限制在范围内。从RGB到YCbCr的转换是一个浮点运算,它创建整数值,因此存在舍入误差。

  2. 通常使用缩放整数对数据执行离散余弦变换。这引入了小的舍入误差。即使你以浮点形式执行此操作,也会出现一些小错误,并且必须将值四舍五入为最终输出的整数。

  3. 量化是最重要的。这将DCT输出除以整数值。您可以通过生成所有量化值1来消除此步骤的舍入。

答案 1 :(得分:1)

JPEG压缩被认为是有损压缩,因为无法通过解压缩从原始源构建精确的二进制文件。

即使是最高质量,JPEG也可以通过丢弃数据来实现。您可以控制质量来权衡您认为可接受的损失,以便仍然能够公平地表现您的形象。虽然数据丢失,但可以看到的可能仍然与未经训练的眼睛相同 - 这就是重点。与minidisc用于音频的内容相同。

JPEG的目的是使摄影图像的文件大小更小,以便进行互联网传输,你可以决定它的尺寸,但是如果你想要绝对的质量,像TIFF这样的格式更适合。

很明显,TIFF提供无损压缩,但文件大小仍然庞大!

还有一件事......如果您使用300 x 500位图并将其转换为JPEG,则将其转换回来。文件大小仍然相同,因为位图通过存储每个像素的公共位数来工作。但是文件的内容会有很大不同。在这方面,它可能被天真地视为无损,但实际上它远非如此。