Noise – living with it.

Let’s carry on with one of the most ranted discussed subjects of digital photography: noise. What is it, where does it come from and what to do about it?

Did you notice that no matter how great / expensive / featured a new camera body is, you will always have some smart mind complaining about its “noise” or asking for “less noise at high ISO”? I am not even sure that the new Nikon D3 which allows to shoot up to 25600 ISO (!) will give us peace for very long.

In the film days, 800 ISO was considered the maximum useable (unless you were shooting in Black & White) and changing ISO meant changing your film roll. Great. Same applied for white balance, by the way. Digital has brought incredible progresses in most areas of photography and better quality at higher ISO is definitely one of them – while it probably is a human thing to always ask for more (and that drives progress), let’s also remember where we come from: changing ISO or color temperature by turning a dial or accessing a sensibility of 1600 ISO have been a photographer’s dreams for decades.

Noise: what is it?

In digital photography, noise is described as “random, usually unwanted, fluctuation of pixel values in an image” (wiki). There are two types of noise:

  • Chroma noise: a color fluctuation by stains of several contiguous pixels
  • Luminance noise: an intensity fluctuation different on a per pixel basis

If you want to know more, cambridgeincolour.com has two interesting tutorials with more details on noise.

Noise, where does it come from?

Digital photography noise has two main causes:

1) Digital sensor

Like every signal capture equipment, the sensor has an incompressible level of parasite noise. The signal captured (light) is not 100% pure. While this noise level is very low at nominal sensitivity (usually 100 or 200 ISO), amplifying the signal (augmenting ISO) also means amplifying the noise – the higher the ISO the higher the noise level as you know.

One workaround is to allow the sensor to capture more signal: increasing the pixel size means increasing the quantity of signal captured so hitting later the limit in amplification where results are acceptable. That is what Nikon did with the D3: big sensor (24x36mm) + few pixel count (12 million pixels) = better signal / noise ratio so higher amplification potential; and a record of ISO 25600.

In a sense, less megapixels should mean better noise performance (hard time for marketers…). However, 2 more things need to be taken into account:

  1. More megapixels doesn’t automatically means smaller pixels. A digital sensor is more than just pixels, it also contains a fair amount of circuitry to capture signal from the pixels and bring it to the processor. So gaining room on the circuitry is a way to put more pixels on the same sensor size without decreasing the actual pixel size. It is an area where CMOS digital sensors have an advantage on CCD, so even if the native signal / noise ratio of CMOS is not as good as CCD, the capacity to put circuitry “behind” pixels instead of on their side means a potential for bigger pixels (and better signal / noise ratio).
  2. An image with more megapixels doesn’t need to be as much enlarged as one with less pixel count for the same print size: noise will be less perceptible. So more megapixels and the same printsize mean that you don’t see noise as much on the final print.

2) Eletronic circuitry between sensor and Analogic / Digital converter

When captured on the sensor, light is an analogic signal that needs to be converted into a digital value before being processed. During this “journey” from the pixel to the converter, the signal is vulnerable to noise being added to it. This can be due to heat or proximity of perturbing elements. That is why “liveview” was not a trivial addition to SLR cameras – asking the sensor to deliver 20 images / seconds means generating heat and potentially damaging the signal quality (the Fuji S2 had liveview limited to 30 seconds for that reason).

Here again, CMOS sensors have an advantage: the analogic / digital converter can be put on the sensor itself cutting down the “signal journey” to a bare minimum. It can even include some denoising feature at that very early stage. Noise is a powerful argument why all new generation cameras include CMOS sensors.

Noise: what to do about it?

No matter how much is invested in R&D by camera and sensor makers, there will always be the case where you end up with a noisy image. Available light was very poor so you had to shoot at high ISO, lenses maximum aperture do have (pricey) limits (generally 2.8 for zooms, a bit less for a fix focal), and even with anti-shake (in-body or in-lens) there are limits to hand-held exposure times. Plus subjects do move. So what to do about noise?

On Christmas day, we had a family gathering (as you would) and I decided to take advantage to take some pics. To make it challenging, I went for a Pentax 28mm K lens (manual focus). So I was shooting at 800ISO, manual focus and 1/50 of a sec for all day, hoping to get a couple of acceptable pics. And there was one which I like a lot (I will use it as an example for this entry). Problem: here is what the histogram looks like without any correction.

historgram_noise1.jpg

Guess what? Although I did shoot in RAW, there is quite a bit of underexposition to correct and as a result, quite a bit of noise to take care of. Indeed, here is an extract from 100% zoom of my image after exposure / curves correction. Yuck!

noise1.jpg

Now I don’t want to carry exhaustive testing of all noise reduction software available because there are quite a few different approaches. I just tried to get the best result from each tool and comment briefly.

Ufraw – it has wavelets denoising algorithm where you can only adjust the intensity. It tries to get rid of noise altogether, giving this typical watercolored detailwashed look:

noise2_ufraw.jpg

The Gimp – it has a “despeckle” filter which basically blurs the image a bit. Not very conclusive either:

noise3_gimp.jpg

RawTherapee – there is a different setting for luminance and chroma noises which allow for a finer control. Color noise looks very unnatural while luminance noise has an aspect closer to film grain. Strong luminance denoising tends to wash out details, too. So I took maximum action on chroma noise and none on luminance:

noise4_rt1.jpg

LightZone – since my evaluation version of LightZone is still working, I had a go at it; same setup as RawTherapee (maximum chroma denoising, untouched luminosity). The outcome is very similar:

noise5_lz.jpg

NoiseNinja – since this famous denoising software is available on Linux, I tried downloading the demo version to see if there would be a “magic touch” that would make a difference. Here is the result – again with maximum chroma denoising and nothing on the luminance front:

noise6_nn.jpg

I like the result a lot: grain is very fine and all color variations are gone. Looks like there is some magic in NoiseNinja.

Final words

A few dot points as a conclusion:

  • Trying to completly hide noise from an image is not a good idea. If an image is noisy, better play with the noise than try to get rid of it: it will never look as good as a noiseless image, it will not support as much sharpening and you will end up frustrated. Go for a soft image with a nice noise – what I did here by removing all the chroma noise and accept luminance noise. Don’t hesitate to experiment, like always.
  • If you shoot a lot in difficult light situation, I think investing in NoiseNinja is a good idea. BibbleLab (available for Linux) includes NoiseNinja as its denoising plugin. So if you need top notch denoising included in RAW workflow this could be also an option (I don’t have stock in any of these companies…)
  • The latest version of DXO (version 5) has an interesting approach to remove noise before demosaicing the RAW file; the closer to the source, the better the results…

Oh and here is the complete picture from which this entry’s example is taken from. I like this image loooaaads.

bm.jpg

12 Responses to Noise – living with it.

  1. Jarno Suni says:

    Thanks for the interesting article and the nice noise test. But changing white balance does not mean you have to change film. You can use filters in front of lens. Same applies to digital cameras. You can also change color balance in making prints, especially if your original is color negative. Correcting white balance in camera or in raw conversion software digitally may be handy and easy, but I am not convinced that you can get tones recorded as well by post-processing as by changing filter or film. Isn’t changing white balance in digital camera effectively post-processing, too?

    Output of Ufraw looks most natural to me, but not as high resolution as the grainy looking alternatives.
    How do you activate wavelets denoising in Ufraw?

    I would like to introduce Rawstudio, though it is not a noise reduction tool, as I find it fast, simple and intuitive, except that I can not make full resolution export of my DNG files by version 0.6. It has batch processing feature in its graphical user interface, too.

  2. meetthegimp says:

    Denoising in UFRaw is a feature only in the newest plugin. It is not yet in the repositories – you have to get it from the homepage or getdeb.
    Then thre is a slider on the first tab.

  3. meetthegimp says:

    Joel, that is a nice writeup again! I will have to steal from it.😉

    I found out that raising the ISO to get a more decent histogram gets less noise than pushing the raw file later. But your strategie for shooting with a fixed ISO/exposure and hoping the best is very good for such a situation. You could concentrate on social interaction and shooting images and were not distracted by “chimping” and changing the settings all the time.

  4. Jarno Suni says:

    meetthegimp, thanks, it is the slider labeled Threshold.

  5. Rolf says:

    Now with updated profile….. 😉

    I remember shooting black and white film with ASA 3200 in a theatre. Processed in very diluted warm developer for hours. It worked. But a lot of noise, that was called grain in that age.

  6. jcornuz says:

    @Jarno: thanks for your comment. I had completely forgotten about filters – I have no experience with them. White balance is an adjustment that is either done in camera (JPEG) or in post-processing (RAW).
    I am a great fan of RawStudio. The CVS version has full size dematricing and it works really well. If you know how to compile…

    @Rolf: always a pleasure to read from you – feel free to take inspiration, of course. On that occasion, I went for acceptable settings and concentrated on framing and focus – with lots of rejects.
    I never had my own B&W lab so not many opportunities to try my own “soup”. But beautiful B&W grain is something that (I think) is dearly missed in digital…

    Take care,

    Joel

  7. Rolf says:

    Chris from Tips from the Top Floor made something about getting grain into digital images.

    http://www.tipsfromthetopfloor.com/psc/psc13.php

    It’s for “this other program”, but can be used also with GIMP or other programs with layers. When I am finished with stealing your content, I’ll do that in my video.😉 Talk to you in next week!

    Rolf

  8. maeva says:

    Hi,
    Nice roundup of denoising tools. Have you tried GREYCstoration (standalone and/or GIMP plug-in) or DcamNoise2 (only GIMP plug-in)? Both are free, and the first one is quite impressive, however both needs some experiments and tweaking.
    I find not so new, but interesting comparison of noise reduction tools: http://www.michaelalmond.com/Articles/noise.htm – unfortunately they are for MS Win… except NoiseNinja.
    Personally, I hope that in a few years the hardware noise reduction built in digital cameras will be effective enough to say “by-by” to software tools.
    maeva

  9. Rolf says:

    I played a bit around with GREYCstoration. Quite a tool and can reach the level of Noise Ninja. But that is either for the background or the ear and shirt. They must do different things to different parts of the image.

  10. jcornuz says:

    @Rolf: I came across Chris’s method for grain but I am not too convinced – I’d rather try to “exploit” digital noise the best I can. DXO (again) has a way to digitally generate the grain from several films which apparently gives good result but I start to wonder why would we digitally imitate film rendering ?!

    @Maeva & Rolf: I came across GREYCstoration just before completing this entry. Since the entry was long enough already and I didn’t want to do a sloppy job about GREYCstoration, I am keeping it for my next entry to be announced soon🙂

    Take care

    Joel

  11. Jarno Suni says:

    One old trick to ged rid of color (or chroma) noise is to apply Gaussian Blur and then apply Fade Gaussian Blur (in Edit menu) using Color mode. This works in Gimp, but if I remember right, I got even better results in Photoshot. Maybe there is some difference in the algorithms in them.

  12. jcornuz says:

    Hi Jarno,

    Interesting trick (didn’t know about it). I think you get a result very close to what GREYCstoration does when keeping Luma (Y) noise. However, I still prefer my version (see the entry on GREYCstoration) where noise is finer – very close to NoiseNinja output.

    Take care,

    Joel

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: