|
|
|
|
|
by jncraton
1461 days ago
|
|
Guetzli was already mentioned and roughly does what you are talking about. MozJPEG [1] includes several quantization tables that are optimized for different contexts (see the quant-table flag and source code for specific tables[2]), and the default quantization table has been optimized to outperform the recommended quantization tables in the original JPEG spec (Annex K). It's also worth noting that MozJPEG uses Trellis quantization [3] to help improve quality without a per-image quantization table search. Basically rather than determining an optimal quantization table for the image, it minimizes rate distortion on a per-block level by tuning the quantized coefficients. Both the SSIM and PSNR tuned quantization tables (2 and 4) provided by MozJPEG use a lower value in the first position of the quantization just like this article suggests (9 and 12 vs the libjpeg default of 16). [1] https://github.com/mozilla/mozjpeg [2] https://github.com/mozilla/mozjpeg/blob/5c6a0f0971edf1ed3cf3... [3] https://en.wikipedia.org/wiki/Trellis_quantization |
|
It has lower value in the first position of the base table, i.e. the table which is used for q=50. With lower qualities this value scales up. This delays color banding from q=50 to roughly say q=40, after that the same effect is appears.