I recently got into a very interesting conversation online on the Canon EOS Digital Photography forum around Manual mode and auto-ISO. Interesting as this discussion may, be turned out there was an even more technical discussion from that one on how “This ISO thing” actually works and how a modern DSLR processes this data into digital data. In this blog post I’ll try to shed some light on this stuff.
The history of ISO: Analog film
So where does the ISO terminology come from? Originally, it comes from analog film. Different types of analog film had different sensitivity. In the analog world, this was indicated on the film by a DIN, ASA or ISO number. Nowadays I think we only use the ISO value.
So when digital cameras came around (not just DSLRs – any camera with a digital sensor) their sensors needed a sensitivity rating as well – and so the ISO value entered the digital world. The idea is really simple – Take a digital sensor, measure how sensitive to light this sensor is, and calculate an ISO value from there. Then you can amplify the sensor data to get other sensitivities like 100, 200, 400 and 800 ISO. That’s it. Nothing more. Except for all of the dirty details of course 🙂
From light to digital bits: Different stages of the signal captured
So how does the information “stream” inside a digital camera? It all starts with light of course. Light enters the camera, and bombards the electronic (analog) sensor with light. This light is captured by the many cells on the chips surface. The sensor is almost like a sea of buckets: When light falls onto a bucket, it “slowly” fills up. As you may have guessed, every bucket is really a pixel. To make things more complex, for a color camera there are red, green and blue sensitive buckets.
After the light has bombarded the sensor, all the buckets contain a certain value (or charge if you will). We could now use an analog-to-digital converter (commonly known as an A/D converter) to convert all of these analog values into digital numbers.
At this point we’ve made a digital picture at a certain sensitivity. If we put ISO values in the mix, we’d optimally want to amplify the analog signals from the buckets before we digitize them using the A/D converter. The amount of amplification is basically determined by the ISO value we have set in the camera.
With this understanding, we can now see how light bombards the sensor, how the analog data is amplified, digitized and finally stored in a digital file.
Some ISO terminology
There seem to be some different terminologies going round for ISO values at different stages in the camera. I’ll use the ones that make most sense to me.
First, we have the sensitivity of the sensor without any amplification. I’ll call this the native ISO. This is actually the most accurate term I could think of, as it is the sensitivity of the native (non amplified) sensor.
Next we will always amplify this native ISO value to get our first calibrated ISO value. For a lot of cameras this is set at 100 ISO, for cameras with less sensitive sensors this may be 50 ISO. I will refer to this ISO as the base ISO, because it is the lowest, calibrated value that gives you a sane sensitivity (in ISOs). For most DSLRs the base ISO thus becomes 100 ISO (or 21 DIN for the true analog film fans 🙂 ). So why do we need to amplify at all? Because when a sensor gets produced, it has a certain sensitivity, and creating a sensor that does exactly 100 ISO out of the box is much harder than producing a sensor that does anything between 80 and 90 ISO and then amoplify the signal to be an exact 100 ISO.
But if we build this amplifier to also be able to amplify more, it would render higher ISO values of 200, 400, 800, 1600 and so on. I will call this set of values full-stop ISOs, because in this series each one doubles from the one before, and this indicates a doubling of the sensitivy of the system (which is according to the ISO system).
Does the signal gain more noise when amplifying? Certainly. It is like taking a stereo set, not playing a song but turning up the value to the max. What do you hear? Noise. Because the analog signal is so very much amplified, at some point noise creeps in to an audible level. For image sensors it is very much like this.
Modern digital cameras often have ISO values in between the full-stop ISOs. Values like 125, 160, 250 and 320 ISO are well known. I heard the term “tweener ISOs” from a fellow poster (thanks Brett Dunbar!) and I kind of like the name, so I’ll stick to it as I’m not able to come up with a better one 🙂
Finally we have (a least what Canon calls) expanded ISOs. These are the ISO values that go beyond to actual maximum of a sensor’s amplifier. Values in the range of 6400, 12800 and 25600 ISO often fall into this category. These ISO values are purely cheating: At some point the signal from the sensor is not amplified any further, and these expanded ISOs will boost the image further up digitally, so after the A/D converter has made a digital interpretation of the analog data. This is, like for example digital zoom on compact cameras, pure cheating. When you do post-processing on your images, you might just as well adjust the exposure of the image in post (just like you just as well might crop in post instead of using digital zoom).
The intriguing part: How Canon handles “tweener” ISO values
When looking at noise levels in DSLRs, you can often see this weird “zig-zag” effect as you move up the ISO ladder. It seems some ISOs are just less noisy than others, but not in a linear fashion as you may think. Why is that? The answer lies in the way Canon (and probably others as well) create these tweener ISOs.
First a funny detail: There is NOTHING stopping a designer from building an analog amplifier that would deliver 160, 180 or even 198.5 ISO. It is analog, you can amplify to any level you want before digitizing.
Interestingly, according to several sources it would appear that most Canon DSLRs use an amplifier that can amplify to base and full-stop ISO values, but not to the tweener ISO values. This is very a interesting detail, and yes it explains the “zig zag shape” in noise levels as you raise the ISO.
It appears to work like this: If the DSLR needs to work with a tweener ISO value, it will program the amplifier to amplify to the NEAREST full-stop ISO value. Then its shoots the picture, and finally the digital values are adjusted to match the tweener ISO that was requested.
Some examples to show how it works:
- If 125 ISO is requested, the camera will program the amplifier to shoot at 100 ISO (base ISO). After the shot, it will digitally amplify the image to obtain 125 ISO;
- If 160 ISO is requested, the camera will program the amplifier to shoot at 200 ISO, then after the shot tune it down digitally to obtain 160 ISO;
- If 320 ISO is requested, the camera will program the amplifier to shoot at 400 ISO, then after the shot tune it down digitally to obtain 320 ISO.
… And so on. Because these tweener ISOs are constructed in different ways across the ISO ladder, it perfectly explains why some higher ISO values can be less noisy than some lower ISO values.
16.384 shades of grey
Whenever the camera performs these actions in the digital realm, it actually throws away valid A/D converted data when amplifying. Also will it loose some data if the image is tuned down instead of amplified.
So why do we loose data while doing this? The answer lies in the binary world. Most modern sensors operate at 14 bits. That is 14 ones and zeros. These bits determine a value of a pixel from black all the way up to white. For a 14 bit sensor, you could get 2^14 = 16.384 shades of grey (well, actually shades of red, green or blue).
If I had a perfectly lighted picture, the darkest area in the picture would just hit 00.000.0000.0000 (perfect black). The highlights would juuuust touch 11.1111.1111.1111 (perfect white). Any light source brighter would still encode to 11.1111.1111.1111, meaning I loose al brighter details (we call this “blowing out the highlights”).
So optimally I have 16.384 shades I can determine with a 14 bit A/D converter. The moment I digitally amplify the image, I would need to be able to encode more than the 14 bits I have. The result is: Data is lost in the process.
Technically these conversions also introduce something that is called “digital noise”. IT goes beyond the scope of this blog post, as it is not visible in the end picture as far as I know.
The “Overexpose & Reduce in post” trick
Who has heard of this? It is actually a great tip which works very well in most digital cameras. Given the fact that modern cameras have a very high dynamic range, it helps to shoot your images slightly overexposed (as long as nothing blows out; check your histogram!), then reduce it back in post.
This actually helps for most digital cameras. My 7D is particularly sensitive to this. For a properly exposed image, you will not get too close to the maximum value of the A/D converter. I will record the image at a certain ISO value, not using part of the range of the A/D converter.
Now if I turn up the amplification, I will use a higher amplification (meaning more noise), but in post I will reduce the lighting of the image again. This means that even though I may have introduced a little more noise by choosing a higher ISO value, the reduction in post will actually reduce both image levels but also the noise levels.
Most modern DSLRs will actually introduce less noise by raising the ISOs than you gain when you reduce in post. And that is where the “Overexpose & Reduce” trick comes from.
Why the Canon 1D-X is different
Now on to the Canon 1D-X sensor and converter. Like said, there is no real technical barrier that would stop you from amplifying an analog signal to any set of ISO values, even 198,5 ISO if you’d really want to. I have seen reports of the new Canon flagship body, and apparently it does not suffer from the “zig zag effect” described above. My guess is that the amplifier for the 1DX was modified to carry more programmable analog amplification values, eliminating the need to “fake” the tweener ISOs digitally like for example the 7D does. So now you know another factor why pro bodies cost more money 🙂
Lighting in the digital area
I very often use my camera set to M (Manual) with auto-ISO. Is this truly a manual mode? No it is not. The camera is metering light in this mode and it will adjust the ISO value to get a properly lit frame.
A lot of people from the analog days cannot get their heads around this, even stating Canon should remove the option from their digital cameras. For them it’s like the camera is constantly changing film to get to the correct sensitivity; it just “isn’t done” in their view.
My take on this is that I find the M mode with auto ISO very useable. The technology is there, so why not use it. ISO in the modern world is just the volume knob on your stereo; you can adjust it for every song you listen to.
A very good use case is me shooting wildlife in bad lighting. I will use my 7D, a 100-400L lens. Given the lighting, I will never be able to shoot at 100 ISO. But when I set the ISO to higher values, I will introduce more and more noise. With this, ISO becomes the only variable for lighting: I need to shoot at the slowest speed of 1/800th handheld (to get a clean shot). I will use my 100-400L as wide open as I can accept (maybe f/6.3 or f/7.1 for image quality). Now I want the camera to find the lowest ISO value possible (equals lowest noise!) to get proper lighting. Makes perfect sense to me.