Log in

View Full Version : Psnr


NeonMan
24th February 2008, 13:01
Hi!

I've got a program to compute the PSNR btween two images and I want to know which is the average value for almost imperceptible compression.

For example, an original lossless image coded with JPEJ (100% quality) the quality loss is imperceptible and gives a PSNR of 31.309 dB
Similar tests give:
85% -> 29.137
25% -> 24.049 (blocky on edges)
0% -> 17.936 (garbage)

Manao
24th February 2008, 16:23
In the YV12 colorspace, 31.3 dB is definitely perceptible, so your figures seems (more than) a bit off. Usually, 50 dB is considered transparent (though on some pictures and/or with some encoders, you can notice the difference). Under 40 dB, the picture becomes noticably softer, and ringing/blocking begins to appear. Under 30 dB, it's worthless.

Those figures must be adapted if the encoder uses heavy psychovisual schemes (35 dB can look almost transparent if the distorsion is placed where it can't be seen).

*.mp4 guy
25th February 2008, 13:49
In my experience still images also need significantly fewer db PSNR to look transparent then video, imo, part of it is the differences in compression schemes, and part of it is the lack of a "dimension" (time is sometimes considered a 3rd dimension for purposes of signal processing).

For instance, a high quality Jpeg at ~38 db is transparent to me, but If I look at a high quality mjpeg video stream at ~38 db I see artifacts easily (ringing, it looks a bit like added noise). Note that the 38 db I sighted above is not a very precise measurment,on different content it could be +- 3, maybe even 4 or more db, this is because psnr does not correlate very well with subjective perception.

NeonMan
25th February 2008, 15:58
The measurements are on RGB colorspace, so 31dB are fine (with jpeg), for any other compression I think I'll use the good old try-and-fail method to get 'average' psnr on other situations.

as a reference I could use the 40-50 dB as the transparent limit

Thanx for all ;)