![]() |
|
HOME
FORUMS
NEWS
FAQ
SEARCH
|
|
#1
|
|||
|
|||
|
Hi folks,
This is the first in a series of technical analyses I performed as based on my 1Ds3. One of the useful (for analysis purposes) key figures in the analysis of a camera/sensor array performance is; Read Noise. Read noise is the lowest amount of noise that a camera will produce, it can't get better than this (unless one resorts to (postprocessing) tricks). It is the (electronic) noise that is generated while reading data from the sensor, and as recorded in the Raw data as a noise floor. It is an important parameter in the determination of Dynamic Range. The data was collected from so-called Black frames. Black frames are Raw files that received no exposure, by recording 'images' without lens but with bodycap in place, viewfinder covered, and the shortest possible 'exposure' time (1/8000th second) selected. The frames were shot in pairs, at 4 second intervals (to avoid potential noise from the writing action to the CF card), thus allowing to reduce the potential effects of hot pixels and pattern noise by calculating the standard deviation of the difference between the files, divided by Sqrt(2). All available ISO settings were tested in the same manner, and all files were shot at approx. 20 degrees Celcius ambient temperature. The actual sensor elements used were a central crop of the same 400x400 sensels as would be later used for other (actual exposure) analyses. That means that for each of the G/R/G/B Bayer CFA filtered sensels, 40,000 samples were available (a quantity which should be enough for statistically relevant sample populations). To allow comparisons with data collected by others, the frequently used IRIS software (version 5.51) was used to read the Raw (non-color balanced, non-demosaiced) 14-bit data from the files. The 14-bit quantized data was scaled to 16-bit to facilitate comparison with other bit depths, divide by 4 to compare with other 14-bit results, or by 16 to compare with 12-bit quantization results. Here are the results: ![]() Several things can be learned from looking at the data. With the exception of ISO 500, only the 'regular' ISOs (100, 200, 400, 800, 1600) are useful for lowest read noise performance. The 'intermediate' ISOs have more read-noise than their next higher 'regular' ISO. There is also no read noise benefit to using the special 'L' and 'H' settings, other than allowing for more extreme exposure levels. Unlike with the 1Ds2, ISO 'L' doesn't improve the read noise performance and the associated dynamic range. ISO 'H' is clearly a simple multiplication result of an (underexposed) ISO 1600 sensitivity. Given the fact that the maximum clipping level of all sensels appears to be 15,280 data numbers (plus or minus 1 DN or ADU) in 14-bit quantization space, one can also conclude that the theoretically maximum Dynamic range, according to the common engineering definition, is Log(15280 / 5.7625) / Log(2) =~ 11.3 stops. While that is not an improvement when compared to the 1Ds2, it is almost the same. A higher DR would have been welcomed, but Canon made a different quality trade-off in favor of resolution at the expense of DR improvement. Bart |
|
#2
|
|||
|
|||
|
Hi Bart,
What am I missing? It looks like that 1000 & 1250 have the same advantage that 500 does. Later, Johnny
__________________
______________ Johnny Johnson White County, GA |
|
#3
|
|||
|
|||
|
Quote:
Bart |
|
#4
|
|||
|
|||
|
Hi, Bart,
Thanks for the very interesting report. I need to contemplate your results for a while to be sure I grasp their significance. Quote:
Is it essentially the same as the definition of dynamic range defined by the ISO standard? For reference, that definition is essentially: The ratio of (a) the luminance* implied by the maximum digital output number to (b) the RMS noise (on the basis of the variation in luminance that would cause the observed random variation in digital output) experienced at a base luminance of 0.01 the luminance in (a). *Precisely, photometric exposure, but that essentially corresponds to relative luminance since f/number, shutter speed, and the like would be constant between the two parts of the comparison. Again, thanks for this nice report and the clear presentation of the data. |
|
#5
|
|||
|
|||
|
Bart, thanks very much for posting your test results.
Regards, Joe Kurkjian |
|
#6
|
|||
|
|||
|
Quote:
It would be nice to know to what extent noise increased by extending exposure to 1/1,000 1/250, 1/50 sec. Might it not be that on a hot day, for example, just going to 1/30 sec from 1/8,000 sec might be worse than going from ISO 200 to 500. After all there would be more time for the noise to accumulate. Thanks Asher
__________________
Follow us on Twitter at @opfweb Our purpose is getting to an impressive photograph. So we encourage browsing and then feedback. Consider a link to your galleries annotated, C&C welcomed. Images posted within OPF are assumed to be for Comment & Critique, unless otherwise designated. |
|
#7
|
|||
|
|||
|
Thanks very much for having taken the time and gone to the trouble to do this testing, as well as allowing us to benefit from your results.
__________________
Ralph |
|
#8
|
|||
|
|||
|
Quote:
A slightly more detailed way of defining it is given by: http://www.ccd.com/ccd111.html. Quote:
In the particular case of the 1Ds3, which is intended as a studio camera (where lighting conditions can be controlled) just like the 1Ds2 was/is, it is clear that optimal exposure (ETTR) is very important for the best results. For critical outdoor work, one therefore might want to consider more exposure bracketing if the best image quality is needed. The 1Ds3 allows to bracket up to 7 shots in a little over 1 second (depending on shutter time of course). Bart |
|
#9
|
|||
|
|||
|
do you think Canon had a choice? my impression is das DR hasnt improved for a while now because they dont know how to do so ...
|
|
#10
|
|||
|
|||
|
The 15280 (+/- 1) is the highest data number that can be found in the raw 14-bit image data. It can be found in overexposed and clipped images. It follows from another test that I'll share, where a series of increasing exposures of a uniform surface is used for the determination of the 'gain' and 'unity gain' parameters (the latter is important if one wants to control noise in highlight areas).
The 5.7625 is just the simple average of the read noise at ISO 'L' in its native 14-bit data. You can also average the 16-bit equivalents shown in the chart table (23.05) and divide by 4 to scale to 14-bit values. Quote:
Quote:
Bart |
|
#11
|
|||
|
|||
|
Quote:
Read noise is pretty low as it is. We're talking about something like 23 electrons amidst noisy (camera) electronics and cosmic rays. I don't expect (but one can only hope for) revolutionary improvements there, evolutionary at best. The saturation level is governed by ADC bit depth and sensel size. Just increasing the ADC bit depth alone doesn't necessarily improve the situation by much. Increasing the sensel size (storage capacity, 'well depth') does make a difference in dynamic range, but then one has to sacrifice resolution if one is restricted to a given physical sensor array dimension. So Canon clearly chose for resolution in the 1Ds3, and offers more dynamic range in the 1D3 with its larger sensels but otherwise same chip technology. Bart |
|
#12
|
|||
|
|||
|
Hi, Bart,
Quote:
By the way (and if I read your stuff throughly enough I would probably know!), is the metric of read noise RMS-based? Quote:
If the ratio is 2650, does that imply that we can get a "useful" image that has a ratio between the base luminance of the highlight areas to the base luminance of the shadow areas in which we are interested of 2650? And if so, why does that follow? There is little question that the better the SNR, the greater ("all other things being equal") will be the "dynamic range" of the system (under several, but not all, reasonable definitions). But I think we have to be careful in suggesting that the saturation luminance SNR is a tells us the maximum of some metric for dynamic range. By the way, I haven;'t yet read the reference you cite (which I plan to do shortly). None of the above is to any way demean the value of your report. I'm just trying to make sure that we don't draw equivalences that may not follow some particular definition. Best regards, Doug |
|
#13
|
|||
|
|||
|
Thanks for the effort on this. Will you also be measuring the "gain"?
|
|
#14
|
|||
|
|||
|
Quote:
I'm a bit puzzled by the small read noise difference between ISO 'L' and 100, but it seems to be confirmed by the preliminary gain figures (around 4 electrons/ADU for 'L' and 100 in 14 bit terms). I'll probably post details tomorrow. Bart |
|
#15
|
|||
|
|||
|
Thanks Bart.
__________________
Regards, Steve Saunders. Steve Saunders Goldwing Page is at; www.goldwingfacts.com |
|
#16
|
|||
|
|||
|
Just for grins, I analyzed the 1Ds3 read noise data. I assumed a two-stage amplification, with the first stage responsible for the main ISO's of 100,200,400,800, and 1600; and a second stage amplification of G2 = 1, 1.26, or 1.59 depending on whether one wants the 100-200-400 etc ISO series, the 125-250-500 etc ISO series, or the 160-320-640 etc series (1.26 and 1.59 are the slightly more accurate 1/3 stop amplifications). Then I assumed noises adding in quadrature as
N^2 = (G2 G1 N0)^2 + (G2 N1)^2 + N2^2 (*) where roughly N0 would be the read noise of the sensel, which then gets amplified by both gains; N1 would be the noise of the on-chip amplifier for the main ISO's, which then gets further amplified by the second stage amplifier whose gain is G2 and whose noise is N2 (or perhaps more precisely N2 is the combined noise of the second stage amplifier and everything downstream of it, eg the ADC). In another thread here is reported a gain of 16.12 electrons/14-bit ADU at ISO 100, so we can take G1 = (1/16.12) x (ISO/100) (so long as we remember that N0 is measured in electrons, while N1 and N2 are in ADU). Doing best fit parabolas for the three separate ISO series from the noise data and then backing out the various parameters (here I did a bit quick and dirty analysis by analysing pairs of ISO series and taking the average; probably one could do a bit better), I get N0^2 = 410 electron^2 (about 1.6 ADU^2 at ISO 100) N1^2 = 23 ADU^2 N2^2 = 12 ADU^2 and plotting the three series of N^2 vs ISO, I get ![]() Here the horizontal axis is ISO/100, and the vertical axis is (noise)^2 in ADU^2; the points are Bart's data, the curves are equation (*) evaluated on the fit parameters. ISO 1600 data seems a little off from the curve, not sure why at the moment; but the rest fits remarkably well, IMO. It would be interesting to work this out for other bodies. |
|
#17
|
|||
|
|||
|
Quote:
As far as DR is concerned, With the exception of one camera, the K10D (4500:1), the engineer's DR of individual pixels really doesn't get any better than 2500:1 to 3000:1 for current DSLRs. The resolution makes a big difference for practical DR, though. I'd rather have 100M pixels with 2000:1 than 4M pixels with 2500:1; the former would have far more DR in practice; not just better resolution. If DR of the image was strictly determined by the DR of the pixel, then any tiny crop from a sensor would have the same DR as the full sensor. |
|
#18
|
|||
|
|||
|
A stringent cross-check of the model of two-stage amplification is that curves of the two gains for fixed values of the other gain properly intersect the data.
The noise squared vs gain for two stages of amplification is N^2 = (G2 G1 N0)^2 + (G2 N1)^2 + N2^2 where G2=1, 1.26, 1.59 is the gain that generates the intermediate ISO's, and G1=100, 200, 400, 800, 1600 are the main ISO gains. There are only three independent parameters -- the noises N0, N1, and N2 of the various stages of sensor readout and amplification. An approximate best fit for these curves is N^2 = .0487 x^2 + 2^(2 n/3) 2.55 + .9 and N^2 = (.0487 + 2.55/2^(2 n) ) x^2 + .9 for n=0,1,2,..., and x=ISO/100. Thus N0^2=.0487, N1^2=2.55, and N2^2=.9 (all in ADU squared). Plotting these curves together with the data yields ![]() for which all data fits the curves rather well, apart from the ISO 1600 data (note that the intersection of the two curves predicts where the read noise should lie, above the measured point, but correctly at ISO 1600). That both sets of curves intersect the data using the same parameters N0,N1, and N2, is a rather nontrivial check of the model against the read noise data. It would be interesting to understand what is responsible for this anomaly at ISO 1600. A couple of conclusions may immediately be drawn: 1) The dominant source of noise at low ISO is the noise N1 of the main ISO amplification. If Canon is to improve dynamic range, it needs this amplifier to be quieter. 2) There is a noise advantage to using intermediate ISO's, vs underexposing and pushing in raw conversion (the latter has an advantage in highlight headroom though). Pushing an underexposure amplifies the noise N2 as well as N1 and N0, whereas using the intermediate ISO's amplify N1 and N0 but not N2. Last edited by Emil Martinec; March 25th, 2008 at 08:31 PM. |
|
#19
|
|||
|
|||
|
Sorry, that last post was for data from the 5D. Here is the revised plot for Bart's 1Ds3 data:
![]() Again the two sets of curves represent holding one of the two gains fixed and varying the other. The parameters in the noise model N^2 = (G2 G1 N0)^2 + (G2 N1)^2 + N2^2 for the 1Ds3 are N0^2=1.64, N1^2=24.5, and N2^2=7, all in 14-bit ADU squared. The pattern for the 5D and 1Ds3 is basically the same -- the noise model is a good fit to all but ISO 1600. Referred to 12-bit units, these are N0^2=.103, N1^2=1.53, and N2^2=.44; compared to the values for the 5D of N0^2=.0487, N1^2=2.55, and N2^2=.9. A tentative conclusion is that the amplifier noises have been roughly halved in going from the 5D to the 1Ds3 (actually, N2 includes not just the noise of the second stage of amplification, but also any noise in the ADC, etc); the noise N0 from the sensor readout is roughly double for the 1Ds3, perhaps this is inversely correlated to the size of the photosite -- the 5D pixels are 1.64 times the area of the 1Ds3 pixels. Last edited by Emil Martinec; March 26th, 2008 at 08:55 AM. |
|
#20
|
|||
|
|||
|
Hi Emil,
This thread is already one year old, but hopefully you are still there. I have read several of your publications, and they were amongst the best to shed light on the issues of noise. Reading this thread I have two questions: 1) You describe the total (digital) read noise as being: N^2 = (G2 G1 N0)^2 + (G2 N1)^2 + N2^2, where N0 is the Sensel Noise, N1 the onboard amplifier noise and N2 all the noise behind the second amplifier. The onboard amplifier however has a certain input noise, that remains almost the same independent of its amplification. When defining N1 as output noise of G1 as you did, makes this noise component N1 dependent on the ISO setting. When having N1 presented as input noise of the onboard amplifier, it results in G1 G2 N1, where N1 is independent of ISO setting. The input noise of the external amplifier G2 is probably neglectable to the rest of the noise behind G2 (if available at all, see below point 2) and can probably be disregarded, the most obvious one here being the ADC noise. So when redefining N1 as the input noise of the onboard amplifier, one could rewrite the formula as: N^2 = (G2 G1 N0)^2 + (G2 G1 N1)^2 + N2^2 . or N^2 = (N0^2 + N1^2)(G2 G1)^2 + N2^2 Here N0, N1 and N2 all independent of ISO. In this presentation, it is more obvious that it is probably impossible to asses the individual values of N0 and N1. If so, it hard to say if the onboard read amplifier is the more dominant noise source of or the read out circuitry of the sensel. Anyhow, you have tried to fit a parabolum through the points measused by Bart, and found that the 1600 ISO point is a bit off. But If you take the formula Sqrt(y)= (ax)^2 + b^2, then for higher ISO values where (ax)^2 is much larger as b^2, then the formula reduces to y = ax as an asymtote, and ISO 1600 is no longer an exception. Solving a and b in Barts case, gives me approx ax=sqrt((N0^2 + N1^2)(G1 G2))=77*ISO/1600 and b=N2=22.5 (all based on 16 bit words) All points measured by Bart fit perfectly on the curve, icluding ISO 1600. As from ISO 470, the Sensol plus Read amplifier are the dominant noise producers. Do you agree on this ? 2) A second question is, that looking at Barts noise figures, it seems as if there is no second amplifier at all, but that the intermediate ISO values are made AFTER A/D conversion. Else I see no reason why the Noise is going up from100 to 125 and 160 with exactly the mathematical factor 1.25 and 1.6, and then going down again at 200 ISO. The same goes on between ISO 200 / 400 and ISO 400 / 800, where 320 is higher as 400, and 640 has the same noise as ISO 800. This cannot be explained with a noisy amplifier G2 as far as I see it. Hans Last edited by Hans Polak; March 20th, 2009 at 04:20 AM. |
|
#21
|
||||||
|
||||||
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|