已知尺寸的JPEG图像的最大文件大小

问题描述 投票:0回答:2

我将让用户上传使用 JPEG 压缩的 300x300 图像。有没有办法确定此类图像的最大文件大小是多少?

我可以想象这可以通过以 100 质量压缩随机噪声来尝试,但是有理论上的最大值吗?

假设图像是完全不可压缩的随机噪声,它可以是每个像素 3 字节(24 位颜色)和元数据的边距吗?或者这样的图像在压缩后会比原始图像大吗?

jpeg max
2个回答
23
投票

来自维基百科:

对于最高质量的图像 (Q=100),每个颜色像素大约需要 8.25 位 http://en.wikipedia.org/wiki/JPEG#Sample_photographs

因此,对于

Q=100
图像上的
300x300
,这将导致
(300 * 300) px * 8.25 bits/px = 742,500 bits = ~ 93 kB

还有无损

JPEG
编码模式,实际上用不到最后一句,第二段。但他们会有典型的 RGB
24 bits/pixel

警告

正如 geoff 所提到的,没有官方引用此说法。创建将在此响应中理论上尺寸增加一倍的图像非常容易。此外,某些 JPEG 格式支持更高的位深度(最高

48 bits/pixel
)。另请注意,该文件将包含可能污染文件的元数据,而没有理论限制

总之,提供的估计值是一个很好的平均值,但噪声图像很容易超过它,并且尽管尺寸已知,但有意制作的图像可能会大得多。


7
投票

jpeg 元数据大小没有限制,这意味着 jpeg 文件的大小没有限制。请参阅我链接的这个答案,了解原因的解释以及元数据可能变大的实际情况的示例:JPEG 元数据的最大大小是多少?

因此,如果假设最大实用/现实尺寸适合您的目的,那么您应该将该示例考虑到您的计算中。在许多情况下,最好拒绝超出该最大值的事物,因为它超出了程序的预期用途范围。

但是如果你绝对必须依赖理论,那么不幸的是这是一个很大的大胆

注意:我对 jpeg 规范没有大量的个人经验,因此我将不再讨论人们所说的允许重复字段以及多个注释字段。如果您发现相反的证据,请纠正我。

© www.soinside.com 2019 - 2024. All rights reserved.