CMOS/ADTG/Digic register investigation on ISO

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

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

a1ex

Quote from: Audionut on January 17, 2014, 08:53:58 PM
Why is this?  14bits should give 16384 with a black level set at 2048?

The 14-bit limit is 16383. Since our white level is way too close to this limit, it's quite likely that the real white level may be above that.

I can't get this white level on my camera though (it varies with the aperture, but not that much).

SpcCb

Quote from: Audionut on January 17, 2014, 08:53:58 PM
Why is this?  14bits should give 16384 with a black level set at 2048?
16384 - 2048 does not give usable 14 bits.
And in fact the ADU range is (16383 - ?*) - (2048 - RON) with 5D3.

Like a1ex I never get 16383 ADU with 5D2 too. The most high value I can reach is 15600 ADU.

Audionut

Quote from: SpcCb on January 17, 2014, 09:38:49 PM
The most high value I can reach is 15600 ADU.

Aperture effects white level.

f/1.4  16382
f/1.6  16316
f/1.8  16182
f/2.0  15950
f/2.2  15769
f/2.5  15655
f/2.8  15463
f/3.2  15440
f/3.5  15383
f/4.0  15330

After this point, WL remains the same.

SpcCb

???
Maybe a 5D3 special feature (?).
I'll try with f/0 to see that...

Audionut

Quote from: SpcCb on January 17, 2014, 09:44:46 PM
Maybe a 5D3 special feature (?).

I can use larger negative gain values for ADTG then a1ex before WL changes.

Quote from: SpcCb on January 17, 2014, 09:44:46 PM
I'll try with f/0 to see that...

On my 5D3, detaching the lens didn't effect the register that adjusts the gain.  It needs an electronic link from the lens.

a1ex

I think it's a trick to adjust the brightness in the jpeg previeew. It's done by adjusting the digital gain registers, and as a side effect it changes the recorded range and the roundoff errors.

If it's only at f1.4, and has a safety margin at 1.6 and below, it's probably not overflowing (or if it is, it's only a tiny amount).

So, it should not affect our highlight recovery trick in any way other than round-off errors.

Greg

500D (raw_diag)
F1.4   16382
F1.6   15788
F1.8   14918
F2.0   14173
F22    13431

SpcCb

Quote from: Audionut on January 17, 2014, 09:48:48 PM
(...)
On my 5D3, detaching the lens didn't effect the register that adjusts the gain.  It needs an electronic link from the lens.
Indeed, I use a custom chip where I can define f/whatIwant.

I can get on the 5D2:
f/5.6 -> 15764 ADU
f/1 -> 16383 ADU
f/0 -> 16383 ADU

Update: It depends of the ISO setting too, not only the f/stop.

a1ex

Now, if my theory is right, the sensor saturation point (where detail gets clipped) should be the same in all these cases. Can you confirm or infirm?

Audionut

Quote from: Greg on January 17, 2014, 09:55:46 PM
500D (raw_diag)

Make sure you are getting sensor saturation Greg.

Quote from: SpcCb on January 17, 2014, 09:56:36 PM
Update: It depends of the ISO setting too, not only the f/stop.

Not here.  If you are changing exposure settings with ISO, make sure you are getting sensor saturation.


Quote from: a1ex on January 17, 2014, 10:03:06 PM
Now, if my theory is right, the sensor saturation point (where detail gets clipped) should be the same in all these cases. Can you confirm or infirm?

I'll check tomorrow.

Greg

Quote from: Audionut on January 17, 2014, 10:11:09 PM
Make sure you are getting sensor saturation Greg.

Do you have it in mind?

500D (RawDigger) :
F1.4 (Black Level 1018, Max value 15365) 15365 + 1018 = 16383
F1.6 (Black Level 1019, Max value 14770) 14770 + 1019 = 15789

ISO :
F2.2 ISO100 (Black Level 1020, Max value 12782) 12782 + 1020 = 13802
F2.2 ISO200 (Black Level 1018, Max value 15181) 15181 + 1018 = 16199

SpcCb

Quote from: Audionut on January 17, 2014, 10:11:09 PM
(...)
Not here.  If you are changing exposure settings with ISO, make sure you are getting sensor saturation.
Of course I'm sure to get sensor saturation. ;)
But with 5D2 and with just some quick tests I see it only depends of the ISO, f/stop doesn't affect RAW max value for a equivalent light intensity and same ISO.
I need to investigate about this to confirm relations..

Quote from: Audionut on January 17, 2014, 10:11:09 PMI'll check tomorrow.
+1

Audionut

Quote from: Greg on January 17, 2014, 10:27:27 PM
Do you have it in mind?

Point it at the sun  :o 

If you think you have saturation @whatever aperture, increase exposure by 1 stop with shutter to confirm.

Greg

Quote from: Audionut on January 17, 2014, 10:48:11 PM
Point it at the sun  :o 

If you think you have saturation @whatever aperture, increase exposure by 1 stop with shutter to confirm.

Pictures are OvExp. In the background I put the flashlight, the exposure time 1s ;)

Audionut

ML vs Canon


















edit:  I performed the Canon exposures first, so any temperature influence should be in Canons favour.

SpcCb

Nice!

Do you see a stdev difference between 1/12s and 1/8000s @3200 ISO?


Audionut

Quote from: a1ex on January 17, 2014, 10:03:06 PM
Now, if my theory is right, the sensor saturation point (where detail gets clipped) should be the same in all these cases. Can you confirm or infirm?

Well this was a lesson in frustration.  Between waiting for the light to warm up (60 mins) and trying to account for the inaccurate (not saturated) WL reading from ML (which I keep forgetting is not accurate when it's not saturated), I think I finally got some decent test images.

4 images @ f/1.4









4 images @ f/4.0









Taking a mean of all my previous saturated ML ISO 100 results, looks like DR is being reduced with increased aperture.  stdev is not being reduced enough to compensate for the lowered WL.  Also looks like f/4.0 is clipping more highlights.  Whether this falls into round off errors, I'll leave that for you to decide a1ex.

Of course, it's entirely possible that the aperture blades weren't closing a full 3 stops either.  Or they were closing slightly more then 3 stops.  I left aperture in electronic mode to increase deviation.

a1ex

I'd say it's because of different DOF, vignette at wide aperture, and the difference in how much light gets captured at f1.4 and f4.0 may not be exactly 3 stops.

You can try something like a gradient (e.g. point a lamp to a white wall) and see where the clipping point is (like you would read it on a ruler). Take the test shots exposed at -0.5, 0 (both f1.4 and f4.0) and +0.5, to see the scale of our clipping point ruler. I expect the difference between f4 and f1.4 to be around 0.1 stops.

Marsu42

Quote from: a1ex on January 18, 2014, 08:36:20 AM
I'd say it's because of different DOF, vignette at wide aperture, and the difference in how much light gets captured at f1.4 and f4.0 may not be exactly 3 stops.

Starting with f2.8, Canon (and other manufacturers) secretly raise the sensor iso behind your back because unlike film, digital sensors cannot capture light from large angles - this effect gets very strong with fast lenses so that for example a f1.2 lens isn't able to gather much more light than f1.4. This effect might be one of the reason why Canon starts releasing slower primes with IS.

a1ex

From looking at the registers, they only raise the ISO in the JPEG previews, not in RAW. This is what we are trying to confirm experimentally.

* note that by ISO I mean DxO definition, not overall brightness. They are trying to change overall brightness in RAW by faking the white level.

Marsu42

Quote from: a1ex on January 18, 2014, 08:44:23 AM
From looking at the registers, they only raise the ISO in the JPEG previews, not in RAW. This is what we are trying to confirm experimentally. * note that by ISO I mean DxO definition, not overall brightness. They are trying to change overall brightness in RAW by faking the white level.

Ok, thanks for the explanation - it would be interesting to know how they actually do this, the current theory at least from all people I've read from on CR is that they raise iso, but then again few photogs have the in-depth tech knowledge to really tell.

Audionut









Pretty sure I got it all right, been a while since I've slept.  I've got all the files uploading now if you want to take a better look.

a1ex

Just fixed a typo in raw_diag (the sampling area for optical black was too small). Black level, noise stdev and dynamic range should be more accurate now.

Also added aperture on the graphs, since it affects the white level.

raw_diag.mo (source: raw_diag.c)

Audionut

Yeah, that's better.  I'll post some updated graphs tomorrow if someone doesn't beat me to it.

Is there a specific reason why the screenshot is limited to 10s?  PITA when trying to pump out heaps of them quickly.