I’ve had a couple of questions about the long exposure noise reduction (LENR, aka dark-frame subtraction) in the a7RII. I’ve had to do some research, since I never have used this function in any alpha 7 camera. It’s not that LENR is useless, just that its usefulness is limited, and that the kind of photography that I do doesn’t fit what LENR is good at.
What is LENR? The camera makes a picture when you snap the shutter. Immediately afterwards, it goes through the same sensor reset/wait/sensor readout operation that it performed for the exposure, but with the shutter closed. The second image is called the dark frame. Then the camera subtracts the dark frame from the real image and stored the result in the raw file.
What’s the point of all this? For long exposures — and what’s a long exposure in this context depends on the camera model and the temperature of the sensor — the dark-field noise is dominated by something that sensor engineers call “dark current” leakage in the back-biased photodiodes in the sensor that leads to an accumulation of electrons that are not due to light. The leakage current of the photodiodes is not constant across the sensor, and tends to be more-or-less the same for each pixel; in other words, it’s correlated from frame to frame.
Thus, subtracting a dark frame from the real frame can come close to eliminating the dark current noise that’s the same from frame to frame. It works best to subtract the mosaiced images, which is the way the camera sees them, so it’s not hard to do in-camera.
Sounds great, huh? Not so fast.
- Done in camera the way I’ve described, LENR increases uncorrelated noise by the square root of two, or 1.414.
- The time between successive exposures is doubled.
- If the dark current for any pixel is so high that it saturates, dark frame subtraction will yield a value of zero for that pixel. A smart dark-frame subtraction algorithm could detect those pixels and do something else besides subtraction for them, but I don’t know what’s actually done in cameras.
For exposures that are into the dark current dominated region, but not really long, I prefer to clean up the images in post.
I don’t do many exposures that really need LENR to look clean enough, but if I did, I’d do the dark frame subtraction in post, forming the dark frame to be subtracted by averaging 16 or 32 dark exposures, and thus eliminating the 1.414 times penalty for uncorrelated noise. I have used astronomical programs like ImagesPlus for this kind of thing in the past, and that’s what I recommend if you want to try it at home. I just write little Matlab scripts when I need to do similar things now.
How well does LENR work? Pretty well at really long exposures, but you actually take a step backwards at one second. Here’s a series of dark field exposures from 1/125 to 25 seconds with LENR on. By the way, LENR only works in single shot mode.
Here’s how to interpret the graph. The horizontal axis is exposure time in seconds, with 1/125 second at the leftmost point, and 30 seconds (more or less) as the rightmost part of the graph. It’s a log scale, with each vertical line one stop apart. The vertical axis is the standard deviation of a 400×400 pixel central sample. This corresponds to the root-mean-square value of the noise, which is the most widely accepted, but not the only measure of noise. This is a fairly easy measurement to make in RawDigger if the camera does not subtract the black level before writing the raw file, which is the case with the a7x cameras. You need to tell RawDigger not to subtract off the black level, though.
The vertical axis is also a log scale, and shows how many stops the noise level is from saturation of the sensor/ADC system. Since less noise is better, you want the noise level as many stops below full scale as possible. Thus, values of the lines towards the top of the graph are better.
You can see an immediate half-stop increase in noise when LENR kicks in at 1 second.
Let’s compare it to a similar series without LENR:
By the 25 or 30 seconds, LENR has reduced the noise by about a stop over what you’d get if you didn’t use LENR.
Does LENR affect bit depth? Yes, indeedy. Here’s the histogram of a one second exposure:
Only every fourth bucket is populated, indicating 12 bits of precision.
What if you turn LENR on and use a shutter speed faster than a second, so the camera doesn’t actually do dark frame subtraction?
Here’s a 0.8 second histogram:
Now every other bucket is occupado, indicating 13-bit precision.
Now let’s look at a 30 second exposure with LENR.
And one without:
This is weird. Look at the bell shaped curve of the LENR exposure, and compare non-LENR exposure. The spread is substantially larger for the exposure that has LENR applied. But, if you look at the graphs above, you’ll see that the LENR exposure has a lower standard deviation than thenon-LENR exposure. How can that be?
The answer, I believe, lies in the outliers, the “hot pixels” which don’t show up on either histogram. You can get an idea of what they are by looking at the max values in both histograms, although that’s an imprecise and uncertain measure. There are pixels that are at fullscale in all four channels in the non-LENR exposure, and the maxima are substantially below that in the LENR exposure.
Remember what I said about the beginning about dark frame subtraction reducing the frame to frame correlated noise but increasing the uncorrelated noise by 1.414? I think that why we’re seeing the histogram spread even as the LENR is switched in.
LENR: use with caution.
Rishi Sanyal says
Hi Jim – excellent work as always.
From your analysis, it seems to me that LENR is also kicking in a mode that reduces hot pixels (the very high values that are resulting in max pixel values of 16,372 in the non-LENR file). It’s bringing those down to a very small value around the black point, but not quite at the black point. That might explain the spread of the histogram with LENR on, don’t you think?
If so, perhaps that’s the very ‘star eater’ that folks are complaining about. Just that in previous firmware, it only kicked in with LENR on, but now it’s kicking in all the time, even if you’ve set LENR to off.
Does that make sense?
Also, do you have an idea why the camera drops to 12-bit precision with LENR? It seems unnecessary to me, unless it’s because LENR is essentially ‘triggering’ a continuous drive mode (for the second shot which is the dark frame). But it really needn’t do that.
Thanks,
Rishi
Technical Editor, dpreview.com
JimK says
I’m not sure about that.
In previous firmware, it also kicked on in bulb, even with LENR off.
No, but with long exposures, there’s more noise, and you don’t need 14 bits of precision.
Rishi Sanyal says
“No, but with long exposures, there’s more noise, and you don’t need 14 bits of precision.”
At all longer shutter speeds? Or are there some shutter speeds that would benefit from greater than 12 bit precision, particularly with LENR on (dark frame subtraction)?
I’m also slightly confused why at best your noise floor is 10.5 EV below saturation – isn’t the EDR of the a7R II higher? Thanks.
JimK says
Those curves are at ISO 3200.
JimK says
Take a look at this curve:
http://blog.kasson.com/the-last-word/a7rii-read-noise-vs-shutter-speed/
The curve at ISO 100 would be the same general shape, but shifted downwards. I would have to rerun the test at that ISO to answer your question. The answer would depend on the definition of “long”.