我用数码相机拍摄了一些照片。所有照片都使用相同的设置(相同的分辨率等)拍摄。但是这些照片的文件大小都不同。这是为什么?可能是因为颜色还是其他原因?
答案1
JPEG 和许多其他格式使用压缩算法来优化文件大小,这将导致它依赖于内容。
即使使用相同的分辨率和压缩级别,具有更多渐变、颜色和细节的图片也会比包含更简单形式的图片生成更大的文件。
与 JPEG 不同,BMP 和 TGA 等文件格式不使用压缩,其大小仅取决于像素的分辨率和色彩深度。
答案2
JPEG 压缩利用了颜色区域,即文件中的相似信息块。用最简单的方式描述,如果相邻的两个像素颜色完全相同(或足够接近以至于 JPEG 认为人眼无法分辨),它只会将像素 2 的值映射到像素 1 的值,而不是唯一地存储它(从非常简单的层面上讲,这就是所有类型的文件压缩的工作原理)。
这就是为什么有时在查看(解压)低质量 JPEG 文件时,您会看到无法很好地表示渐变的奇怪色块,或者有时您会在日落或其他图片中看到渐变“条带”。这些被称为伪影,它们是在以低质量设置保存 JPEG 时造成的,因此需要采取更极端的尺寸优化方法。
您可能听过论坛上有人在发布低质量图片时说“需要更多 JPEG”。这已经成为互联网上一段时间以来的一个笑话,甚至导致了以下网站http://needsmorejpeg.com/