【问题标题】:Which is slower, jpeg or png? [closed]哪个更慢,jpeg 还是 png? [关闭]
【发布时间】:2012-02-20 02:12:24
【问题描述】:

想知道这两种图像的解压过程是否存在显着差异,JPEG或PNG哪个更慢?

【问题讨论】:

  • 玩扑克和下棋哪个慢?这取决于播放器 - 就像哪种压缩方法较慢取决于软件一样。
  • 好吧,JPEG 质量 100 几乎是即时的,因为实际上没有任何东西被压缩!您需要进一步完善您的问题。实际上,您可能应该把它扔掉。为什么? JPEG 和 PNG 压缩适用于不同类型的输入。有类似现实生活中的图像(即自己的照片)吗?使用 JPEG,这就是它的用途。然而,计算机生成的图像不应使用 JPEG 压缩,PNG 是更好的选择。这个问题本身就表明对该主题缺乏了解。
  • 哇,难缠的人群。显然,您不知道的第一件事(并且您应该通过提出问题来意识到)是它取决于某些事情。 Ed 的回答是告诉您它取决于什么的良好开端。不过,我不认为国际象棋和扑克的答案太有帮助。 ;~)
  • 这不是真实世界的场景,我不会更改性能格式,这只是我想知道的事情,尽管与社区讨论这将是一个好问题.. .
  • @EdS.,即使 100% JPEG 仍然使用 DCT 编码。我认为压缩质量根本不重要,只是质量低意味着文件更小,这意味着要读取的字节更少!

标签: c++ c libjpeg libpng


【解决方案1】:

这里的许多评论者说“这取决于”是错误的。在已报告的每项研究中,PNG 解压总是比 JPG 解压慢。另外,我个人已经在几个不同的项目中验证了这一点。

尽管 greg 断言相反,但没有未压缩的 PNG 这样的东西。所有PNG都是压缩的,所有PNG的压缩都是无损的。与可比较的 JPG 相比,解压缩所有 PNG 的速度有点慢。

所有 JPG 也都经过压缩,但 JPG 压缩总是有损的。特别是,质量为 100 的 JPEG 不是未压缩的。尽管 Ed S. 断言相反,质量 100 仍然具有有损压缩。请停止支持他的评论。

【讨论】:

  • “所有 PNG 都被压缩”——没错,IDAT 块的唯一格式是“压缩”。但是使用的算法(zlib deflate)允许“不”压缩:“0 级实际上根本不压缩,实际上稍微扩展了数据”(zlib.net/zlib_how.html)。这是我用来从原始数据轻松创建有效 PNG 图像的事实。
【解决方案2】:

这里有太多因素在起作用。考虑这两种格式。 PNG 图像如果压缩使用zlib 压缩,这是一种无损压缩。因此,可以根据zlib的解压率来衡量PNG解压的性能。但是,PNG 不必进行压缩(不执行 zlib 压缩)。

JPEG 是一种完全不同的野兽。 JPEG 有几十种不同的编码,更不用说 JPEG-Lossless。有 JPEG 算术编码(以前获得专利)和更常见的 JPEG Huffman 编码,以及每种编码的数十种组合。 JPEG 图像中的变量太多了。

很遗憾,这个问题不会有很好的答案。只是没有足够的信息来给出明确的答案。即使有,它也将是非常特定于应用程序的,或者更糟的是,与您的应用程序特定的交互

【讨论】:

  • Re: “PNGs not 必须被压缩,这是无损 PNG 的概念”:这听起来像是你选择 either i> 压缩无损;但实际上,PNG 通常(总是?)使用无损压缩。
  • 好区分,这是正确的。 PNG 中的数据压缩是无损的,但并非所有(大多数)JPEG 编码都是如此。我只是说数据不必进行任何压缩。
猜你喜欢
  • 2011-11-05
  • 2021-06-09
  • 2010-10-12
  • 2011-03-05
  • 2014-12-07
  • 2011-04-15
  • 2011-10-22
  • 1970-01-01
相关资源
最近更新 更多