combatentropy
07-23-2007, 02:56 PM
Warning: This is a long, technical post that means something only to cases like me who often (1) shoot at around ISO 2000, for dimly lit documentaries, and yet (2) want to edit the image in post into a high-contrast, film-like picture.
Summary: I petiition that a Red Two has a 16-bit analog-to-digital converter, as opposed to the Red One's 12-bit.
Here's why . . .
A week or so ago, someone asked whether a camera with 16 bits had any practical advantage over the Red, which uses 12 bits. I chimed in that 12 bits was plenty. The human eye is only about 8 or 9 bits, so, not only is 12 bits enough, but it gives room to play with.
We said that not only is it enough for the human eye, but it is enough to fully capture the dynamic range of the sensor, which last reported was just under 12 f-stops. We have said that 12 bits covers a sensor with 12 f-stops of range. If you had a 10-f-stop sensor, 10 bits is enough. If you had a 16-f-stop sensor, you need 16 bits -- at least to capture it perfectly. It's so easy to remember: one bit for every f-stop. Such a simple formula, it's no wonder it caught on so easily.
Then I read this article: http://www.normankoren.com/digital_tonality.html#Human_vision. It debunks the simple maxim that you just need as many bits as you have f-stops of dynamic range.
Here's how I understand the basics (Correct me if I'm wrong)
A digital camera can be split into two pieces: (1) an image sensor, and (2) an analog-to-digital converter. (There is also of course a lens and a recorder, but by "digital camera" let's just think of the utterly basic parts of the box between the lens and any recording medium.)
Image Sensor
The image sensor is the "chip." In the case of the Red, it is the part with the specification "4520 x 2540." It is that flat rectangle that is divided into 12 million little squares. Like a solar panel, its job is to convert light into electricity. You all by now know the part of the camera I'm talking about.
Analog-to-digital converter
As many of you realize, when the image sensor converts light into electricity, those little electrical voltages are analog. Fie! Analog! Be gone, you insufferable relic from the 1980's! To the relief of us all, this is where the analog-to-digital converter quickly takes over, and dispenses with that nasty analog signal.
As you might guess, an analog-to-digital converter converts analog signals to, uh, digits. Twenty-four times a second (if you're shooting 24 frames per second) the ADC calls on each of the 12 million photodiodes in the image sensor.
EXAMPLE:
Analog-to-digital converter: "Hey, pixel 10,768,282. What's your reading?"
Pixel: Uh, right now I'm holding 2,304 photons. So that's about 0.234 volts. And why am I just a number to you? My name is "Larry."
Analog-to-digital converter: "Shut up, and drop those photons. And now start catching them again. I'll be coming back around again in 1/24 of a second to see how many you've got this time . . . .(to himself) Let's see, let's see 0.234 volts on my little chart here is, hmm . . . 812! (to pixel) Okay, pixel 10,768,232, I'm marking you down as "812." (to next pixel) Okay, pixel 10,768,233, what's your reading . . ."
In the above scenario, which plays out millions of times a second, and is very boring, you saw that the ADC gave a certain pixel a value of 812. For each frame, each of the 12 million pixels is given a number. This is the analog-to-digital conversion.
12 bits or 14 bits or 16 bits refers to how high the ADC can count. 12 bits means it can count to 4,096 (2 to the 12th power). And 16 bits means it can count to 65,536 (2 to the 16th power). When the projector gets a hold of it, "0" is black. And the highest number -- in our case "4096" -- will be pure white. All the numbers in between are shades. So, a 12-bit ADC can render 4,096 shades. That's enough isn't it? Especially when you consider this fact, that the human eye can discern only, even in ideal circumstances, about 70 shades per f-stop. And we've got . . . let's see, 4,096 divided by the 11 or 12 f-stops (let's round to 12) reported by the Red team is . . . 341 shades per f-stop. Plenty.
This is where I got it wrong, because -- as some of you understand -- the shades are not evenly distributed across f-stops. In fact, they are grossly unevenly distributed, worse than the wealth in New York City.
The ADC spends its digits like the prodigal son spent his inheritance. Let's say a pixel overflows at 4.096 volts (I have no idea what the real number is, not being an electrical engineer, so I am greatly simplifying for illustration). This is as white as it gets. So the ADC, in his little chart, maps 4.096 volts to his highest number, "4,096." Zero volts is, like, no light at all, so he maps 0 volts to the digital value "0". Every voltage in between maps to some number in between. As you can see I made it very clean. 4.095 volts maps to the number 4,095. 4.094 volts maps to 4,094. 2.048 volts maps to 2,048, right smack in the middle.
(It is here I see I've made a mistake. A 12-bit ADC can count only to 4,095, if it starts at 0, not 1. "0" counts as one of its 4,096 numbers, leaving only 4,095 left. This doesn't affect the point of my illustration, though.)
Anyway, if we're at the number 2,048, we should also be in the middle (the fifth or sixth f-stop) in our 12-stops, right? Wrong. When the ADC has counted down to 2,048, he's only down from pure white by one f-stop. There are 11 f-stops to go, and he's already used half of his bits!
Why? Because the ADC maps volts to digits in a linear way, while f-stops are exponential, not linear. One f-stop is twice as bright, twice as much voltage. Two f-stops is four times as much voltage. Three f-stops is eight times the voltage. Four f-stops is 16 times the voltage.
Things start to improve, however. Because of the linear-to-logarithmic relationship, the ADC only uses one quarter -- instead of half -- of his bits for the next f-stop down. And for the third f-stop down, he spreads only another eighth (512 values) of his palette across it.
Here's how it all maps out.
F-stop Digital value
--------+--------------
12 4,096
11 2,048
10 1,024
9 512
8 256
7 128
6 64
5 32
4 16
3 8
2 4
1 2
So, the brighter regions, like f-stop 12 and 11, have thousands of shades -- well beyond the human threshold of about 70. At worst, we're just wasting some bandwidth.
But at the darker areas, we're way below 70, even so far as to single digits. For the area of the picture at the darkest f-stop, we have only three shades (0, 1, and 2).
Now, I said 70 is the human ability in ideal circumstances: like if you were looking at a picture with only one f-stop of brightness range. In a picture with several stops of brightness range, that number gets smaller, like 30. And in dark areas it's a little less, like maybe 15 is acceptable. Still, 8 or 4 shades for the darker areas is pushing a little for me, especially if I'm going to be boosting the whole picture two to four f-stops.
That is why I propose the ADC have 16 bits instead of 12. Then, the lower f-stops would be:
F-stop Digital value
--------+--------------
4 64
3 32
2 16
1 8
The lowest f-stop has only 8 shades, but at least the next one up has 16.
At this point, some of you might be thinking, "Yeah, but even if we finally got 16 bits, that will quadruple the bandwidth of the whole thing, and we would need four times the storage."
That's what's so great about 10-bit log. 10-bit log (correct me if I'm wrong, I may be misunderstanding this) records the values evenly, as you might have guessed in the first place. Even though 10 bits is only 1,024 shades, they are evenly distributed into chunks of 85 steps (1,024/12 = 85).
F-stop Digital value
--------+--------------
12 1,024
11 939
10 853
9 768
8 683
7 598
6 512
5 427
4 342
3 256
2 171
1 85
The brighter f-stops get a lot of shades thrown out. F-stop 12 goes from 2,048 shades to only 85. But 85 is still higher than the human eye. In fact, all of the f-stops still retain shades well above the threshold of the human eye.
10-bit log is so efficient, it may surprise you that the 10-bit log "unrolled" or "linearized" isn't 12-bit or even 14-bit but 19-bit!
Summary
I suggest a 16-bit ADC and immediately rolling that up into a 10-bit logarithmic space (still RAW though, the Bayer not interpolated into RGB yet) before recording.
I am not a chip designer. This is just what I've come to after studying the subject of bit depth and dynamic range over the past few days. My math, or understanding of the matter, may be wrong.
And this probably is not an issue for people shooting movies with -- yes -- lighting, so you don't have to dig into those darker f-stops. There is also the issue of gamma conversion, which is always a step in the process, that helps even out the shades.
Summary: I petiition that a Red Two has a 16-bit analog-to-digital converter, as opposed to the Red One's 12-bit.
Here's why . . .
A week or so ago, someone asked whether a camera with 16 bits had any practical advantage over the Red, which uses 12 bits. I chimed in that 12 bits was plenty. The human eye is only about 8 or 9 bits, so, not only is 12 bits enough, but it gives room to play with.
We said that not only is it enough for the human eye, but it is enough to fully capture the dynamic range of the sensor, which last reported was just under 12 f-stops. We have said that 12 bits covers a sensor with 12 f-stops of range. If you had a 10-f-stop sensor, 10 bits is enough. If you had a 16-f-stop sensor, you need 16 bits -- at least to capture it perfectly. It's so easy to remember: one bit for every f-stop. Such a simple formula, it's no wonder it caught on so easily.
Then I read this article: http://www.normankoren.com/digital_tonality.html#Human_vision. It debunks the simple maxim that you just need as many bits as you have f-stops of dynamic range.
Here's how I understand the basics (Correct me if I'm wrong)
A digital camera can be split into two pieces: (1) an image sensor, and (2) an analog-to-digital converter. (There is also of course a lens and a recorder, but by "digital camera" let's just think of the utterly basic parts of the box between the lens and any recording medium.)
Image Sensor
The image sensor is the "chip." In the case of the Red, it is the part with the specification "4520 x 2540." It is that flat rectangle that is divided into 12 million little squares. Like a solar panel, its job is to convert light into electricity. You all by now know the part of the camera I'm talking about.
Analog-to-digital converter
As many of you realize, when the image sensor converts light into electricity, those little electrical voltages are analog. Fie! Analog! Be gone, you insufferable relic from the 1980's! To the relief of us all, this is where the analog-to-digital converter quickly takes over, and dispenses with that nasty analog signal.
As you might guess, an analog-to-digital converter converts analog signals to, uh, digits. Twenty-four times a second (if you're shooting 24 frames per second) the ADC calls on each of the 12 million photodiodes in the image sensor.
EXAMPLE:
Analog-to-digital converter: "Hey, pixel 10,768,282. What's your reading?"
Pixel: Uh, right now I'm holding 2,304 photons. So that's about 0.234 volts. And why am I just a number to you? My name is "Larry."
Analog-to-digital converter: "Shut up, and drop those photons. And now start catching them again. I'll be coming back around again in 1/24 of a second to see how many you've got this time . . . .(to himself) Let's see, let's see 0.234 volts on my little chart here is, hmm . . . 812! (to pixel) Okay, pixel 10,768,232, I'm marking you down as "812." (to next pixel) Okay, pixel 10,768,233, what's your reading . . ."
In the above scenario, which plays out millions of times a second, and is very boring, you saw that the ADC gave a certain pixel a value of 812. For each frame, each of the 12 million pixels is given a number. This is the analog-to-digital conversion.
12 bits or 14 bits or 16 bits refers to how high the ADC can count. 12 bits means it can count to 4,096 (2 to the 12th power). And 16 bits means it can count to 65,536 (2 to the 16th power). When the projector gets a hold of it, "0" is black. And the highest number -- in our case "4096" -- will be pure white. All the numbers in between are shades. So, a 12-bit ADC can render 4,096 shades. That's enough isn't it? Especially when you consider this fact, that the human eye can discern only, even in ideal circumstances, about 70 shades per f-stop. And we've got . . . let's see, 4,096 divided by the 11 or 12 f-stops (let's round to 12) reported by the Red team is . . . 341 shades per f-stop. Plenty.
This is where I got it wrong, because -- as some of you understand -- the shades are not evenly distributed across f-stops. In fact, they are grossly unevenly distributed, worse than the wealth in New York City.
The ADC spends its digits like the prodigal son spent his inheritance. Let's say a pixel overflows at 4.096 volts (I have no idea what the real number is, not being an electrical engineer, so I am greatly simplifying for illustration). This is as white as it gets. So the ADC, in his little chart, maps 4.096 volts to his highest number, "4,096." Zero volts is, like, no light at all, so he maps 0 volts to the digital value "0". Every voltage in between maps to some number in between. As you can see I made it very clean. 4.095 volts maps to the number 4,095. 4.094 volts maps to 4,094. 2.048 volts maps to 2,048, right smack in the middle.
(It is here I see I've made a mistake. A 12-bit ADC can count only to 4,095, if it starts at 0, not 1. "0" counts as one of its 4,096 numbers, leaving only 4,095 left. This doesn't affect the point of my illustration, though.)
Anyway, if we're at the number 2,048, we should also be in the middle (the fifth or sixth f-stop) in our 12-stops, right? Wrong. When the ADC has counted down to 2,048, he's only down from pure white by one f-stop. There are 11 f-stops to go, and he's already used half of his bits!
Why? Because the ADC maps volts to digits in a linear way, while f-stops are exponential, not linear. One f-stop is twice as bright, twice as much voltage. Two f-stops is four times as much voltage. Three f-stops is eight times the voltage. Four f-stops is 16 times the voltage.
Things start to improve, however. Because of the linear-to-logarithmic relationship, the ADC only uses one quarter -- instead of half -- of his bits for the next f-stop down. And for the third f-stop down, he spreads only another eighth (512 values) of his palette across it.
Here's how it all maps out.
F-stop Digital value
--------+--------------
12 4,096
11 2,048
10 1,024
9 512
8 256
7 128
6 64
5 32
4 16
3 8
2 4
1 2
So, the brighter regions, like f-stop 12 and 11, have thousands of shades -- well beyond the human threshold of about 70. At worst, we're just wasting some bandwidth.
But at the darker areas, we're way below 70, even so far as to single digits. For the area of the picture at the darkest f-stop, we have only three shades (0, 1, and 2).
Now, I said 70 is the human ability in ideal circumstances: like if you were looking at a picture with only one f-stop of brightness range. In a picture with several stops of brightness range, that number gets smaller, like 30. And in dark areas it's a little less, like maybe 15 is acceptable. Still, 8 or 4 shades for the darker areas is pushing a little for me, especially if I'm going to be boosting the whole picture two to four f-stops.
That is why I propose the ADC have 16 bits instead of 12. Then, the lower f-stops would be:
F-stop Digital value
--------+--------------
4 64
3 32
2 16
1 8
The lowest f-stop has only 8 shades, but at least the next one up has 16.
At this point, some of you might be thinking, "Yeah, but even if we finally got 16 bits, that will quadruple the bandwidth of the whole thing, and we would need four times the storage."
That's what's so great about 10-bit log. 10-bit log (correct me if I'm wrong, I may be misunderstanding this) records the values evenly, as you might have guessed in the first place. Even though 10 bits is only 1,024 shades, they are evenly distributed into chunks of 85 steps (1,024/12 = 85).
F-stop Digital value
--------+--------------
12 1,024
11 939
10 853
9 768
8 683
7 598
6 512
5 427
4 342
3 256
2 171
1 85
The brighter f-stops get a lot of shades thrown out. F-stop 12 goes from 2,048 shades to only 85. But 85 is still higher than the human eye. In fact, all of the f-stops still retain shades well above the threshold of the human eye.
10-bit log is so efficient, it may surprise you that the 10-bit log "unrolled" or "linearized" isn't 12-bit or even 14-bit but 19-bit!
Summary
I suggest a 16-bit ADC and immediately rolling that up into a 10-bit logarithmic space (still RAW though, the Bayer not interpolated into RGB yet) before recording.
I am not a chip designer. This is just what I've come to after studying the subject of bit depth and dynamic range over the past few days. My math, or understanding of the matter, may be wrong.
And this probably is not an issue for people shooting movies with -- yes -- lighting, so you don't have to dig into those darker f-stops. There is also the issue of gamma conversion, which is always a step in the process, that helps even out the shades.