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?
-
1$\begingroup$ Are you certain that that pattern is not present in the original image? $\endgroup$– MBazMar 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$– dumaMar 14, 2016 at 16:38
-
$\begingroup$ Here's another set of photos, before corruption and after: take.ms/bfKuX $\endgroup$– dumaMar 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$– Laurent DuvalJan 2, 2017 at 22:58
1 Answer
JPEG projects $8\times 8$ blocks of images onto $64$ 2D cosine patterns:
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.