首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新编码JPEG图像是一种幂等运算吗?

重新编码JPEG图像是一种幂等运算吗?
EN

Stack Overflow用户
提问于 2013-02-12 21:06:37
回答 2查看 1.2K关注 0票数 11

我知道JPEG压缩是有损的。我有两个问题:

给定一次行动T:

  1. 拍摄JPEG-80图像。
  2. 将其解码为字节缓冲区。
  3. 将给定的字节缓冲区编码为JPEG-80。

就视觉质量而言,T是一种幂等运算吗?或者,当我重复T时,图像的质量会继续下降吗?JPEG-XR编解码器也是如此吗?

谢谢!

编辑:既然有相互矛盾的答案,如果你能提供参考的话,那就太好了!

EN

回答 2

Stack Overflow用户

发布于 2014-07-27 21:17:31

这不是保证,但它可能会发生。特别是,如果您重复编码->解码->编码->解码过程足够多次,它最终将固定在一个不动点上,并停止质量进一步下降(只要您坚持相同的质量和相同的编码器)。

JPEG编码分几个步骤完成:

  1. RGB到YUV转换
  2. 变换为频域
  3. 量化(丢弃DCT的比特)
  4. 无损压缩

而解码也是同样的过程。

步骤1和步骤2有舍入错误(特别是在使用整数数学的速度优化编码器中),因此对于幂等重编码,您需要幸运地获得编码和解码舍入误差小或相互抵消。

第三步,这是主要的有损步骤,实际上是幂等的。如果您的解码像素转换为相似-足够的DCT,它将量化到相同的数据再次!

JPEG XR也使用YUV,因此它可能会遇到一些舍入错误,但是OTOH代替DCT使用一种可以在不舍入错误的情况下计算的不同的变换,因此它应该比其他格式更容易往返JPEG-XR。

票数 5
EN

Stack Overflow用户

发布于 2013-09-19 13:43:33

根据定义,有损操作通过简化表示方式(理想情况下)不会引起最终用户的注意而丢弃数据。然而,编码器没有神奇的方法来确定哪些像素是重要的,哪些不重要,所以它对所有像素都进行了同样的编码,即使它们是伪影!

换句话说,编码器将把丢失压缩的图像与无损图像一样处理.有损图像将进一步简化,在处理过程中丢弃额外的数据,因为所有编码器都知道,用户打算表示工件。

以下是JPEG生成丢失的一些示例:

http://vimeo.com/3750507

times).png

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14841834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档