CMOS/ADTG/Digic register investigation on ISO

Started by a1ex, January 10, 2014, 12:11:01 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Audionut

Some new graphs with calibrated ML ISOs and fixed DR calculation.


ISO Canon ML

100 7.18 5.48
200 7.58 5.58
400 8.25 6.01
800 9.45 6.98
1600 12.8 9.3
3200 19.4 13.9
6400 37.2 25.1
12800 63.4 42.6





ISO Canon ML

100 11.16 11.55
200 11.08 11.52
400 10.96 11.41
800 10.76 11.2
1600 10.32 10.78
3200 9.72 10.2
6400 8.78 9.35
12800 8.01 8.59



ML ISO 800 has greater DR then Canon ISO 100  8)  As a1ex points out on the next page though, this doesn't consider noise through the exposure (ie: your midtones).

Removed the inaccurate SNR graph.

hjfilmspeed


a1ex

I would plot all these graphs on logarithmic scale (convert the units to EV). In linear plots, the differences appear much larger than they really are in practice.

How did you measure the SNR?

Audionut

Quote from: a1ex on January 17, 2014, 07:56:48 AM
I would plot all these graphs on logarithmic scale (convert the units to EV). In linear plots, the differences appear much larger than they really are in practice.

Do you have an easy equation for doing that?

Quote from: a1ex on January 17, 2014, 07:56:48 AM
How did you measure the SNR?

saturation/std.dev

a1ex


Audionut

For DR I was

log2(saturation) - log2(std.dev)

a1ex

...which is identical to log2(saturation/stdev)

Audionut

So SNR would be the sqaure root of saturation/std.dev?

And I convert saturation and std.dev to EV?

a1ex

SNR can be computed at any input (signal) level. Take a look at DxO's Full SNR graphs.

DR is about deep shadows, but it doesn't tell much about the midtones. The reason is that noise stdev also varies with signal level (it usually increases). Here's a SNR curve for 5D3 at ISO 100 (notice how SNR goes below the straight line, because noise gets higher):



If you compare 60D and 5D3 on DxO for example, you will see the DR is identical at ISO 100, but the SNR curves are not. So, in shadows, both cameras are comparable, but in midtones you can see a difference.

In ETTR, I measure SNR at median signal value from the entire image (midtone SNR) and at 5th percentile (shadow SNR). This is not quite correct for bright images, but at low signal values (say under 7 stops, where ETTR normally works), the approximation is very good, as you can see on my graph.

Audionut

I'll leave that for you (or someone else) to plot.  All this maths is making my head hurt!

a1ex

Here's how to read the SNR from DxO:

1) Go to Full SNR graph, e.g. http://www.dxomark.com/Cameras/Canon/EOS-5D-Mark-III#measuretabs-6

2) Choose a reference level (say 18%) and read the SNR (in this example, 39.7 dB)

3) Remember the modified ISOs will let you expose a little more to the right, let's say by 0.4 stops. That means, your reference level on DxO graph will now be 18 * 2^0.4 = 23.75. Note that in your image, the reference level will be still 18% relative to your new white point (but this new white point just got higher than Canon default with 0.4 stops). New SNR: 40.9 dB.

4) SNR improvement at 18% level will be 1.2 dB = 0.2 stops if you shift the exposure to the right (so you keep the same amount of highlight detail). If you keep the same shutter speed and aperture, same scene, and develop at the same brightness in post, noise will not change (except for maybe some round-off errors).

So, the improvement in midtones is pretty small, but these midtones have little noise to begin with.

And here's a module that does a *rough* estimation of the SNR curve from a defocused image, and also computes the dynamic range:
raw_diag.mo (source: raw_diag.c)

The module does 3 types of analysis:
- optical black (it draws the noise histograms as the ones I've posted earlier in this thread)
- dark frame (same, but analyzes the entire image - very slow)
- SNR curve (take a defocused picture and it plots an approximation of SNR as a function of signal level)

I'd like you to run some tests with the raw_diag module and check the repeatability of the measurements (maybe compare it with DxO, RawDigger or whatever, or just review the math). For dynamic range, make sure you have something overexposed in the frame (e.g. point the camera to a light bulb). You may also post tables with dynamic range at each ISO from your camera (which should be comparable, since they will be computed with the same algorithm).

Audionut

A quick play.

Canon vs ML - Last stop before Canon saturation.



Rawdigger results.
Canon ML
White 14907 11223  <---Highest recorded white pixel
Std.Dev 9.04 6.78  <---Worse case measuring entire left optical black area
Std.Dev 7.32 5.49  <---Worse case cropping pixels either side of measuring area
DR 10.687 10.693  <---Measuring entire left OB
DR 10.992 10.997  <---Measuring cropped OB






Canon saturated.


Canon vs ML - Last stop before ML saturation.  I could have reduced ML negative gain here to push the white point.


ML Saturated.


Canon vs ML.




fiveservice


a1ex

To measure DR, you should have something overexposed in the image.

Also, white level of 16382 is likely a Canon bug (overflow in digital gain) and it will prevent a fair side-by-side comparison.

SpcCb

Quote from: a1ex on January 17, 2014, 05:42:53 AM
May I see a single dark frame minus the averaged one?
(...)
Here is the frames, with respective distributions and same screen range (960 - 1088 ADU):

Single frame @ 1250 ISO


Master offset @ 1250 ISO (average of 101 offset frames)


(Single frame @ 1250 ISO) - (Master offset @ 1250 ISO)

Audionut

The DR measurement was just to compare ML vs RawDigger.  Nothing serious.

Reducing negative gain (yes I was past calibrated result) fixed the WL, but here is a standard Canon ISO where ML reports a different WL to RawDigger.

https://dl.dropboxusercontent.com/u/34113196/ML/ADTG/_46A6566.CR2



Rawdigger
White 13956
Std.Dev 7.2

a1ex

This image is not overexposed, so I don't consider the white level relevant. As long as there's nothing overexposed in the frame, the DR reported is plain wrong.

ML doesn't just take the max value because there are hot pixels.

Audionut

Quote from: a1ex on January 17, 2014, 04:56:23 PM
ML doesn't just take the max value because there are hot pixels.

Of course.  You explained that back on the first page  :(

Steve Kahn

Quote from: Audionut on January 16, 2014, 11:23:15 PM

Indeed there is.  I'll post some other comparisons and updated SNR graphs after sleep.

When you do this test Audionut it would be beneficial if the camera were locked down on a tripod.  That way we can watch the noise in the blacks disappear as we go from Canon DR, to ML DR, to ML DR + Dual ISO.

Audionut

ML vs Canon / 0EV settings



Imported into ACR, exposure levels for the 0EV frames were measured from the white patch, and all remaining frames were adjusted from these 0EV frames.  White balance set from 0EV ML frame.  dual ISO had it's white balance set separately and there was slight movement forward of the camera between dual ISO frames and all other frames.

ML spotmeter reads the grey patches at top of each image as being -4.7EV, -3.2EV, -2.2EV, -1.3EV, -0.6EV, 0EV, left to right.  Which puts the far left black patch in the -6EV shots @ -10.7EV below sensor saturation.

ML vs Canon / -1EV



ML vs Canon vs Dual_ISO 100/1600 / -2EV



-3EV



-4EV



-5EV


-6EV  -   Images slightly underexposed due to lack of latitude in ACR.

Levas

Quote from: Audionut on January 17, 2014, 04:52:40 PM
The DR measurement was just to compare ML vs RawDigger.  Nothing serious.

Reducing negative gain (yes I was past calibrated result) fixed the WL, but here is a standard Canon ISO where ML reports a different WL to RawDigger.

https://dl.dropboxusercontent.com/u/34113196/ML/ADTG/_46A6566.CR2



Rawdigger
White 13956
Std.Dev 7.2


Found this thread after a lot of searching after the Tweet "Psst..." etc.
Looks promising, 1/3 or 1/2 stop of extra dynamic range (and less noise).

But this material raises a lot of questions to me ?

How is the dynamic range calculated with the black level, white level and st.dev (I know what St.dev means, but can it in this context literally be seen as a noise indicator ?)
In the example above the black level is 2049 and the white level is 13919 and a Stdev. of 9,3.
Does this mean that the sensor at that moment can roughly measure from values 2049=black and 13919= white which results in 11870 usable values (and are these number literally counted photons?)
What is the formula for the dynamic range with these numbers ?

Does anyone know already if this stuff is related to the temperature of the sensor ?






Levas

Looking at the latest pictures of Audionut.

Looks to me  ??? that there's more chroma noise in the ML pictures, but there should be less noise in the ML pictures according to the numbers in this topic ?

Sorry, the first ones are the ML picture and the second ones are the canons  ::)
Clearly less chroma noise in the ML pictures  ;D

Audionut

Quote from: Levas on January 17, 2014, 08:22:01 PM
How is the dynamic range calculated with the black level, white level and st.dev (I know what St.dev means, but can it in this context literally be seen as a noise indicator ?)........................What is the formula for the dynamic range with these numbers ?

Quote from: Audionut on January 17, 2014, 08:56:33 AM
For DR I was

log2(saturation) - log2(std.dev)

Quote from: a1ex on January 17, 2014, 08:59:40 AM
...which is identical to log2(saturation/stdev)


Quote from: Levas on January 17, 2014, 08:22:01 PM
(and are these number literally counted photons?)

http://en.wikipedia.org/wiki/Color_depth


Quote from: Levas on January 17, 2014, 08:39:21 PM
Looks to me  ??? that there's more chroma noise in the ML pictures, but there should be less noise in the ML pictures according to the numbers in this topic ?

This tweak reduces read noise only.

http://www.cambridgeincolour.com/tutorials/image-noise.htm

Audionut

Quote from: a1ex on January 17, 2014, 04:33:24 PM
Also, white level of 16382 is likely a Canon bug (overflow in digital gain) and it will prevent a fair side-by-side comparison.

Why is this?  14bits should give 16384 with a black level set at 2048?

Levas

http://en.wikipedia.org/wiki/Color_depth

Of course photons are measured through analoge signal... :-[ ::) stupid me, these are numbers after AD conversion, 14 bits so maximum of 16384.