3
$\begingroup$

I have an image that has gone through an unknown number of jpeg and webp conversions (at least one but more likely 2+). Currently this image is a JPEG and contains corruptions in single color or mild gradient backgrounds. What could cause this?

hmbrgr

$\endgroup$
5
  • 1
    $\begingroup$ Are you certain that that pattern is not present in the original image? $\endgroup$
    – MBaz
    Mar 14, 2016 at 16:09
  • $\begingroup$ I suspect that the corruption is there in the original image, but that conversions back-and-forth exacerbate the issue and make the color jump in the palette table. $\endgroup$
    – Peter K.
    Mar 14, 2016 at 16:16
  • $\begingroup$ I suspect you're both correct. Thanks for confirming. Getting ahold of original $\endgroup$
    – duma
    Mar 14, 2016 at 16:38
  • $\begingroup$ Here's another set of photos, before corruption and after: take.ms/bfKuX $\endgroup$
    – duma
    Mar 14, 2016 at 16:58
  • $\begingroup$ SE.DSP wishes you a happy new year 2017, with a kind reminding signal that your question or its answers may require some action (update, votes, acceptance, etc.) $\endgroup$ Jan 2, 2017 at 22:58

1 Answer 1

5
$\begingroup$

JPEG projects $8\times 8$ blocks of images onto $64$ 2D cosine patterns:

enter image description here

The one in column $1$ and row $5$, once quantized, may look like your hamburger. Luminance and chroma components may get different subsampling patterns. I suspect that the low varying background is nearly horizontal, and due to the different processing steps, it ends up with a mid-frequency non-zero component. My main issue is its $10\times 10$ apparent size. Apparently, WebP also does some prediction on blocks.

You might be interested in compression forencics, that try to recover the history of compression. For JPEG, JPEG CHEst (JPEG Compression History Estimation for Color Images) does the job, based on paper JPEG Compression History Estimation for Color Images.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.