sorry, my english is not good.
Hello, I compress a lot of non-photographic images, image type is Japanese Anime and Japanese Manga,
png rgb24 using mozjpeg jpeg lossy q95~q99, png rgba32 using cwebp webp near-lossless 60,80,
and pingo png lossy pngfilter=100, get some problem in cwebp webp lossy.
I using butteraugli check compressed image quality, but had some question with butteraugli distance,
i need some hint or suggest for those question, thanks you very much.
my image set like this image set, Tab Anime, AW, Manga, Pixiv,
1. butteraugli and butteraugli jpeg xl assessment difference butteraugli distance
I using butteraugli and butteraugli xl to check image, in *Reference 01,
butteraugli's xyb is likely more accurate,
but some image butteraugli assessment good distance(1.3), butteraugli xl assessment bad distance(near 2.0),
and some image butteraugli reject butteraugli xl good distance(1.3),
how to correct understand butteraugli distance and butteraugli xl 3-norm?
2. butteraugli safe area or great area
Compress png rgba32 image, my process is using near-lossless 60 and pngfilter=100 to first compress,
if compressed image not below safe butteraugli distance, using near-lossless 80 to second compress.
I collect Jyrki Alakuijala Comment and create a table, in *Reference 02
'1.0 ~ 1.3 definitely works as designed', '1.0 ~ 1.6 A value below 1.6 is great',
if i want my compressed image have a great quality, i should choose area 1.0 ~ 1.3 or area 1.0 ~ 1.6?, if i made a mistake please let me know.
pngfilter=100 butteraugli distance => [0.6 ~ 1.0, 1.3 ~ 1.6], [1.7]
webp near-lossless 60 butteraugli distance => [0.4 ~ 1.0, 1.3 ~ 1.6], [2.1]
,near-lossless 60 [2.1] => near-lossless 80 [1.3]
cwebp & pingo_rc3 command:
pingo_rc3.exe -pngfilter=100 -noconversion -nosrgb -nodate -sa "%%A"
cwebp.exe -mt -m 6 -af -near_lossless 60 -alpha_filter best -progress "%%A" -o "%%~nA.webp"
3. non-photographic image and jpeg encoder quality suggest
Compress png rgb24 image, my process is using quality 95 to first compress,
if compressed image not below safe butteraugli distance, increase quality to second compress.
In my png rgb24 image set, butteraugli assessment jpeg quality 95 doesn't get good butteraugli distance,
jpeg quality 95 butteraugli distance => [1.5 ~ 1.6], [1.7 ~ 2.5]
jpeg quality 95 butteraugli xl distance => [1.2 ~ 1.6], [1.7 ~ 2.2]
but in cjpeg usage.txt :
If i compress non-photographic image to jpeg and want near psychovisual lossless, it is necessary using
above quality 95 to compress those image?
or in *Reference 03, possibly butteraugli is too sensitive in some non-photographic image?
mozjpeg command:
cjpeg.exe -optimize -progressive -quality 95 -quant-table 3 -sample 1x1 -outfile "mozjpeg\%%~nA.jpg" "%%A"
Update 20200929:
I using jpeg xl sjpeg features, sjpeg can get great butteraugli distance in quality 96,
but look like sjpeg features doesn't using jpeg xl vardct or modular mode?
Size:
png - 12mb
mozjpeg -q 97 + jpegtran progressive 4.46mb
jpegxl sjpeg -q 96 + jpegtran progressive 4.0mb
cjpegxl command:
cjpegxl.exe" "%%A" "xl\%%A" --jpeg1 --jpeg_quality=96 --progressive
4. webp lossy q100 and butteraugli distance
I test another non-photographic image set in webp lossy q100, but some image get larger butteraugli distance,
it possibly webp lossy 420 subsampling and fancy upsampling will make some larger errors in some area?
and i test webp lossy alpha(alpha_q) features, this features will increase butteraugli distance,
but i don't understand, why lossy alpha will effect butteraugli distance?
webp lossy q100 and lossy_alpha:
q100.png 2.013666
q100_lossy_alpha 80.png 2.035022
q100_lossy_alpha 50.png 2.099735
webp lossy q100 butteraugli distance => [1.2 ~ 1.6], [1.8 ~ 2.3], [3.1, 4.4, 5.5, 10.8]
dssim => [0.000150 ~ 0.000749]
cwebp command:
cwebp.exe -mt -m 6 -q 100 -sharp_yuv -pre 4 -af -alpha_filter best -progress "%%A" -o "%%~nA.webp"
I creating some table and quality test data, i will upload later, thanks you very much.
================================================== ===============================================
Reference Area (From Jyrki Alakuijala Comment)
*Reference 01
From Jyrki Alakuijala Comment:
Butteraugli vs Butteraugli(jpeg xl)
butteraugli's xyb is likely more accurate,
because of asymptotic log behaviour for high intensity values (instead of raising to a power),
jpeg xl's xyb modeling is going to be substantially faster to computer,
because gamma is exactly three there.
*Reference 02
From Jyrki Alakuijala Comment:
0.6 ~ 0.7 // most critical use
1.0 // normal use
1.0 ~ 1.3 // definitely works as designed
1.0 ~ 1.6 // A value below 1.6 is great
1.6 ~ 2.1 // a value below 2.1 okayish
2.1+ // Above 2.1 there is likely a noticeable artefact in an inplace flip test.
2.5+ // not necessarily psychovisually relevant and fair
4.0+ /* The non-linearities near the just-noticeable-boundary in scale At larger errors (4.0+)
butteraugli becomes less useful. Current versions of butteraugli only extrapolate these values
as multiples of just-noticeable-difference, but the human visual system is highly non-linear and
large extrapolationdoesn't bring much value. */
https://github.com/google/butteraugli/issues/22
*Reference 03
From Jyrki Alakuijala Comment:
Butteraugli is a lot more sensitive for lines (displaced, emerging or removed) than any other visual measure,