JPEG noise, a comparison study
Posted: 2011-07-25T11:24:42-07:00
Since the use of JPEG as a proper method of transmission for high quality image evaluation recently arose I think it would be interesting to share some results I got in the past concerning JPEG noise under various quality settings and chroma subsampling settings:
Above is the JPEG noise to signal ratio as a function of quality and chroma subsampling.
The scale is linear and the values are calculated as the standard deviation of module of the difference of the encoded signal versus a 16bit tiff "master".
A multiplicity of natural images were used. The jpeg encoder was the one on cjpeg.
A few values are also added for comparison:
25ke- -- the shot noise in a sensor with a well depth of 25000 electrons. Gamma 2.0 encoding was used.
25ke- Bayer -- the shot noise in a sensor with a well depth of 25000 electrons, considering there is Bayer color interpolation. Gamma 2.0 encoding was used.
EffectiveDither -- the minimum dithering necessary for correct 8 bit per channel color encoding. Adding dither noise is only necessary if the source signal noise is below this one. OTOH this is the minimum noise a properly encoded 8bit image will contain.
16_bit_to_8bit -- error caused by 8 bit coding itself.
PS: 25ke- and 25ke- Bayer does not take into consideration that conversion from native sensor RGB color space into sRGB or Adobe RGB adds noise.
PPS: 25000 electrons per pixel is a typical value in a large sensor camera (DSLR) as of 2010.
Above is the JPEG noise to signal ratio as a function of quality and chroma subsampling.
The scale is linear and the values are calculated as the standard deviation of module of the difference of the encoded signal versus a 16bit tiff "master".
A multiplicity of natural images were used. The jpeg encoder was the one on cjpeg.
A few values are also added for comparison:
25ke- -- the shot noise in a sensor with a well depth of 25000 electrons. Gamma 2.0 encoding was used.
25ke- Bayer -- the shot noise in a sensor with a well depth of 25000 electrons, considering there is Bayer color interpolation. Gamma 2.0 encoding was used.
EffectiveDither -- the minimum dithering necessary for correct 8 bit per channel color encoding. Adding dither noise is only necessary if the source signal noise is below this one. OTOH this is the minimum noise a properly encoded 8bit image will contain.
16_bit_to_8bit -- error caused by 8 bit coding itself.
PS: 25ke- and 25ke- Bayer does not take into consideration that conversion from native sensor RGB color space into sRGB or Adobe RGB adds noise.
PPS: 25000 electrons per pixel is a typical value in a large sensor camera (DSLR) as of 2010.