被重新编码JPEG图像等幂操作?(Is re-encoding JPEG images an ide

2019-07-19 19:06发布

据我所知,JPEG压缩是有损耗的。 我有2个问题:

鉴于操作T:
1.使用JPEG-80图像
2.它解码为字节缓冲
3.编码给定的字节缓冲液作为JPEG-80

为T在视觉质量方面的幂等操作? 或者将图像的质量保持降解为我重复T' 是否同为JPEG-XR编解码器保持为真?

谢谢!

编辑 :既然有过相互矛盾的答案,这将是巨大的,如果你能提供参考!

Answer 1:

它不能保证,但它可能发生。 特别是如果你重复编码 - >解码 - >编码 - >解码过程足够的时间,它最终将定居在一个固定点,并停止进一步失去质量(只要你坚持相同的质量和相同的编码器)。

JPEG编码在几个步骤来完成:

  1. RGB到YUV转换
  2. DCT(变化为频域的)
  3. 量化(扔掉DCT的位)
  4. 无损压缩

和解码是相同的过程倒退。

步骤1和2具有的舍入误差(特别是在速度优化的编码器使用整数运算),所以对于重新编码幂等你需要幸运地得到编码和解码的舍入误差是小的或相互抵消。

步骤3,这是主要的损耗一步,实际上是幂等。 如果您的解码像素转换成类似-DCT足以将它量化到相同的数据了!

JPEG XR还采用YUV,所以它可能会受到一些舍入误差,但OTOH,而不是DCT的它采用了不同的变换,可以计算没有舍入误差,所以应该更容易往返JPEG-XR比其他格式。



Answer 2:

根据定义,有损操作通过的方式,(理想地)是不显着到终端用户简化表示丢弃的数据。 然而,编码器有没有神奇的方法来确定哪些像素是重要的,哪些不是,所以它同样编码的所有像素,即使他们是神器!

换言之,编码器将把有损地压缩的图像相同的无损图像。 有损图像将被进一步简化,在此过程中丢弃的附加数据,因为对于所有的编码器都知道,用户打算表示的工件。

下面是JPEG代损失的一些例子:

http://vimeo.com/3750507

http://en.wikipedia.org/wiki/File:JPEG_Generarion_Loss_rotating_90_(stitch_of_0,100,200,500,900,2000_times).png



文章来源: Is re-encoding JPEG images an idempotent operation?