Hacker News new | ask | show | jobs
by JyrkiAlakuijala 3388 days ago
Three main methods:

1) YUV420 vs YUV444. Guetzli practically always goes for YUV444.

2) Choosing quantization matrices.

3) After normal quantization, choose even more zeros. JPEG encodes zeros very efficiently.

When doing the above, increase the errors where it matters least (certain RGB values hide errors in certain components, and certain types of visual noise hides other kind of noise).

1 comments

Step 3), choosing more zeros, can be generalized with trellis quantization, which does a search for the best values to encode for each block for the best distortion-per-rate score, where distortion can be any metric (edit: apparently guetzli does some sort of whole frame search for this). mozjpeg does trellis with effectively the PSNR-HVS metric. Because the other two steps are only one setting that affects the entire picture, I do wonder how Guetzli would perform if it was just a wrapper around mozjpeg.