Canon EOS R5 firmware update coming soon, RAW light to be added? [CR2]

I'm not entirely sure Canon is using a 14 bit ADC. Their raw file might be 14 bit, but I've been mapping out their sensor response for the last couple of generations of their cameras (starting with the 80D) and even though it's raw, there appears to be a bit of a toe where exposure gently rolls off a little before settling into the noise floor. There's a couple of extra stops of visible information down there, though it's really noisy. The same goes for the upper end. The sensor stops being linear at ~10,000, and there's more tonal information encoded all the way up to 16383 that isn't linear. It appears that the ADC might actually be 16 bit and they're smooshing it into a 14 bit container.
It must be a 14-bit ADC, it wouldn't make any sense to convert to 16 bit but only write 14 bits. Also 16-bit reading takes much longer than 14-bit.

Canon RAW files are know to contain that additional, "extra bit" of recoverable highlights despite the red channel showing its full capacity utilisation. (255).

In 14-bit raw files, the red channel, roughly speaking, will be between [0..16383]. There will also be a white point and black point values specified in the raw file that indicate where exactly the clipping occurs. The range of [blackPoint .. whitePoint] is then mapped to RGB, sRGB or whatever colour space you have in the editor and monitor.

So what you see in the initial jpeg preview or in the editor (including the red at 255) is a cconverted value into a much narrower colour space. Any so called 'highlight recovery' is just an application of a different conversion curve.
 
Upvote 0
Lot of pages here and most seem concerned with video.
I am interested in what a FW update might do for stills.
The first thing I think of is enabling a multi-shot high res mode. That would be nice and bring them into parity with the competition that offers it already.
As they are coming later to the party maybe they could do something special such as a high bit depth quasi-HDR high res mode.
 
  • Like
Reactions: 1 users
Upvote 0
It must be a 14-bit ADC, it wouldn't make any sense to convert to 16 bit but only write 14 bits. Also 16-bit reading takes much longer than 14-bit.

they already don’t write the sample data into the 14 bit container in a completely linear fashion because they add a bias that limits the range of discrete values that they can write, so to even write 14 stops of information into the CR2/CR3 with the bias they put in there, they’re already not linear just to get it to fit. Besides, I’m talking about stills mode, not video mode. Having a 16 bit readout for stills could result in less noise on the bottom end, even if writing it into 14 bit container. With a 14 bit container, you have more than enough discrete sample data that you’ll never see banding or tonal artifacts, so how many bits your ADC is, is somewhat less of an issue.

you can even see this with other camera manufacturers. How are they getting more than 14 stops of dynamic range in a 14 bit raw file? At least part of the tonal range isn’t being written linearly if they have more than 14 stops of tonal data to write.

this is part of the reason why I started to spend a little time mapping out the sensor response of every new camera that I get. The container size isn’t necessarily indicative of the ADC bit depth, and the metadata in the raw file doesn’t necessarily tell the whole story of what’s happening during an actual exposure. That and it was a good excuse to use my sensitometer for something besides determining film speed In my lab.
 
Upvote 0
they already don’t write the sample data into the 14 bit container in a completely linear fashion because they add a bias that limits the range of discrete values that they can write, so to even write 14 stops of information into the CR2/CR3 with the bias they put in there, they’re already not linear just to get it to fit.

Clamping doesn't make linear data non-linear. The raw values come from ADC, then there's white point threshold which is very close to the upper limit of 16383 and black point which is near 0 and indicates where the noise floor is.

Besides, I’m talking about stills mode, not video mode. Having a 16 bit readout for stills could result in less noise on the bottom end

For stills, it would've been very easy to produce 16-bit raw files had it been the actual 16-bit ADC. It would have been a huge selling point.
With the noise, they do some strange in-camera noise reduction in the shadows on raw data - they wouldn't need that had they had very clean 14-bit values downsampled from 16-bit ADC.
 
Upvote 0
Clamping doesn't make linear data non-linear. The raw values come from ADC, then there's white point threshold which is very close to the upper limit of 16383 and black point which is near 0 and indicates where the noise floor is.



For stills, it would've been very easy to produce 16-bit raw files had it been the actual 16-bit ADC. It would have been a huge selling point.
With the noise, they do some strange in-camera noise reduction in the shadows on raw data - they wouldn't need that had they had very clean 14-bit values downsampled from 16-bit ADC.

Using the EOS 80D as an example (I haven't done the R5 yet, waiting for official raw reader support in my toolset) The CR2 file metadata indicates that the non-linear portion starts at 10,000. If I create an exposure that nets a raw sample data value of 10,000 in the green channel, then increase the number of photons hitting the sensor by a third of a stop, if it were writing the values to the raw file out in a linear fashion, it should net a raw sample value of 13,334. It doesn't. Instead, it nets a raw sample value of 12,727. If I increase the number of photons hitting the sensor by 2/3rds of a stop over 10,000, if it was being written out in a linear fashion, it should net a raw sample value of 16,667, which is basically clipping at 16383, but it doesn't. Instead, it writes a raw sample value of 15,870. If I double the number of photons hitting the sensor over 10,000, it should net a raw sample value of 20,000, also way over 16383. What it actually nets in the file is 15872, or once you take the bias of 511 into account, 16383.

Going the other way, if I cut the number of photons hitting the sensor in half from the original 10,000 exposure, it should net a raw sample value of 5000. It does. Wash, rinse, repeat until you start getting near the bottom, then you see similar non-linear again where it doesn't reduce by quite as much as half for each full stop exposure until it settles into the noise floor.

In short, if you can make the controlled exposures and count the actual unique exposure steps in the resulting raw file, there's more than 14 steps of visible tonal information, and this is on the 80D, a camera a couple of generations back. I should note that this doesn't take into account what people consider useful tonal information in terms of noise levels as those bottom couple of steps are pretty noisy. I should also point out that I'm straight up ignoring the black point and white point values in the raw file meta data simply because I've found that those values are there to provide easy consistency over every ISO setting and are very conservative when it comes to a single ISO setting like ISO 100. If you spend the time to really characterize your sensors tonal response, you can usually get more tonal data than those limits would otherwise suggest.
 
Upvote 0
First of all, any non-linearity doesn't imply the sensor has a 16-bit ADC. It can be just physical characteristics of the sensor.

Second, I'm afraid you got the calculations wrong. 1/3 of a stop isn't 33% and you don't get it by multiplying the original value by 1.33.
It's 2^(1/3) ~= 1.259.
2/3 of a stop is 2^(2/3) ~= 1.587.
That roughly matches increments in ISO and shutter speed: 100, 125, 160, 200. Not 100, 130, 170, 200.

So I'm not surprised you got 10000, 12727 and 15870. They look perfectly linear to me.
10000 * 1.259 = 12590 which is close to your 12727 value.
10000 * 1.587 = 15870 which is exactly your 15870 value.


Using the EOS 80D as an example (I haven't done the R5 yet, waiting for official raw reader support in my toolset) The CR2 file metadata indicates that the non-linear portion starts at 10,000. If I create an exposure that nets a raw sample data value of 10,000 in the green channel, then increase the number of photons hitting the sensor by a third of a stop, if it were writing the values to the raw file out in a linear fashion, it should net a raw sample value of 13,334. It doesn't. Instead, it nets a raw sample value of 12,727. If I increase the number of photons hitting the sensor by 2/3rds of a stop over 10,000, if it was being written out in a linear fashion, it should net a raw sample value of 16,667, which is basically clipping at 16383, but it doesn't. Instead, it writes a raw sample value of 15,870. If I double the number of photons hitting the sensor over 10,000, it should net a raw sample value of 20,000, also way over 16383. What it actually nets in the file is 15872, or once you take the bias of 511 into account, 16383.

Going the other way, if I cut the number of photons hitting the sensor in half from the original 10,000 exposure, it should net a raw sample value of 5000. It does. Wash, rinse, repeat until you start getting near the bottom, then you see similar non-linear again where it doesn't reduce by quite as much as half for each full stop exposure until it settles into the noise floor.

In short, if you can make the controlled exposures and count the actual unique exposure steps in the resulting raw file, there's more than 14 steps of visible tonal information, and this is on the 80D, a camera a couple of generations back. I should note that this doesn't take into account what people consider useful tonal information in terms of noise levels as those bottom couple of steps are pretty noisy. I should also point out that I'm straight up ignoring the black point and white point values in the raw file meta data simply because I've found that those values are there to provide easy consistency over every ISO setting and are very conservative when it comes to a single ISO setting like ISO 100. If you spend the time to really characterize your sensors tonal response, you can usually get more tonal data than those limits would otherwise suggest.
 
Upvote 0
First of all, any non-linearity doesn't imply the sensor has a 16-bit ADC. It can be just physical characteristics of the sensor.

Second, I'm afraid you got the calculations wrong. 1/3 of a stop isn't 33% and you don't get it by multiplying the original value by 1.33.
It's 2^(1/3) ~= 1.259.
2/3 of a stop is 2^(2/3) ~= 1.587.
That roughly matches increments in ISO and shutter speed: 100, 125, 160, 200. Not 100, 130, 170, 200.

So I'm not surprised you got 10000, 12727 and 15870. They look perfectly linear to me.
10000 * 1.259 = 12590 which is close to your 12727 value.
10000 * 1.587 = 15870 which is exactly your 15870 value.

I agree that it could just be a physical characteristic of the sensor, though oddly, almost every Canon camera I've looked at has a tag that indicates non-linearity starts at 10,000. A few have deviated from that, but most of them are that number exactly. I'd half expect every new sensor to be a bit different.

The math you're presenting is technically correct, though, strangely enough, if I shoot a scene at the camera's native white balance (on the 80D it's 5200K), if the exposure is high enough that the green channel is above 10,000, but hasn't yet hit full saturation or clipped (like 11,000 for example) but the red and blue channels aren't, after white balance, the color in that upper range shows a magenta shift unless I correct the green channel to the values I previously mentioned, then once the raw samples are white balanced, the magenta shift is gone. So for values above 10,000 there's definitely something wonky going on.

Here's the limits for the 80D that are reported in the CR2 file:

"AverageBlackLevel": "512 512 512 512",
"PerChannelBlackLevel": "511 511 512 512",
"NormalWhiteLevel": 11435,
"SpecularWhiteLevel": 11892,
"LinearityUpperMargin": 10000,
"ColorTemperature": 5200,
"ISO": 100,
"RedBalance": 1.738281,
"BlueBalance": 1.720703

If you go purely by those numbers when processing raw files, you're leaving a solid extra 1/3 or more of a stop on the table just on the high end alone.
 
Upvote 0
The math you're presenting is technically correct, though, strangely enough, if I shoot a scene at the camera's native white balance (on the 80D it's 5200K), if the exposure is high enough that the green channel is above 10,000, but hasn't yet hit full saturation or clipped (like 11,000 for example) but the red and blue channels aren't, after white balance, the color in that upper range shows a magenta shift unless I correct the green channel to the values I previously mentioned, then once the raw samples are white balanced, the magenta shift is gone. So for values above 10,000 there's definitely something wonky going on.

It might be something related to how the values get combined from sub-pixels in dual pixel sensors (on 80D and other dual pixel ones). I don't know what 'LinearityUpperMargin = 10000' means exactly, tried to google it but couldn't find anything useful. If it's the same value with different sensors, it's unlikely to be bound to the h/w part of the sensor, e.g. physical photon/electron counting. It could also be related to how the jpeg/preview was generated, like white balance, which can be corrected later on.
 
Upvote 0
It might be something related to how the values get combined from sub-pixels in dual pixel sensors (on 80D and other dual pixel ones). I don't know what 'LinearityUpperMargin = 10000' means exactly, tried to google it but couldn't find anything useful. If it's the same value with different sensors, it's unlikely to be bound to the h/w part of the sensor, e.g. physical photon/electron counting. It could also be related to how the jpeg/preview was generated, like white balance, which can be corrected later on.

yeah, I don’t know either. All I can go on is what I observe when mapping out the tonal response.
 
Upvote 0
for the R6, why can we not remove the card immediately as mentioned in the manual?

"If [
Overheating restriction
] or a red [
Temperature warning red
] icon appears during movie recording, the card may be hot, so stop recording the movie and let the camera cool down before removing the card. (Do not remove the card immediately.)"
 
Upvote 0

SecureGSM

2 x 5D IV
Feb 26, 2017
2,360
1,231
for the R6, why can we not remove the card immediately as mentioned in the manual?

"If [
Overheating restriction
] or a red [
Temperature warning red
] icon appears during movie recording, the card may be hot, so stop recording the movie and let the camera cool down before removing the card. (Do not remove the card immediately.)"
So you do not get your fingers burned. You still can remove card, but at your own risk. You have been warned though ;)
 
Upvote 0

SteveC

R5
CR Pro
Sep 3, 2019
2,678
2,592
So you do not get your fingers burned. You still can remove card, but at your own risk. You have been warned though ;)

Maybe someone can sell card pliers, the exact size and shape necessary to pull the hot card out of the camera, with a stop so you can't crunch the edge of the card with them. That and a metal pan to drop the card into would solve the problem.
 
Upvote 0

FrenchFry

Wildlife enthusiast!
Jun 14, 2020
484
603
Lot of pages here and most seem concerned with video.
I am interested in what a FW update might do for stills.
The first thing I think of is enabling a multi-shot high res mode. That would be nice and bring them into parity with the competition that offers it already.
As they are coming later to the party maybe they could do something special such as a high bit depth quasi-HDR high res mode.

Hi,

If you get a chance, please post your firmware improvement ideas here: https://www.canonrumors.com/forum/t...-firmware-upgrade-and-feature-requests.38815/

Thanks!
 
  • Like
Reactions: 1 user
Upvote 0
D

Deleted member 384473

Guest
Hmmm...are acutal users stating it is too hot to touch?
CFExpress can get pretty hot from my experience with the C500 MII. Probably explicitly stated for legal reasons to prevent lawsuits from people claiming to get burned. Better safe than sorry

*But you were talking R6... probably same sentiment for SD.
 
Upvote 0
CFExpress can get pretty hot from my experience with the C500 MII. Probably explicitly stated for legal reasons to prevent lawsuits from people claiming to get burned. Better safe than sorry

*But you were talking R6... probably same sentiment for SD.
OK, I seriously wasn't sure why. In that case thought they would have also added "You may get seriously burnt". I thought maybe it would cause camera or card damage. Similar to damage my friend caused to my home theater projector when he pulled the power plug after I turned it off (where after doing so, a cooling fan kicks up in speed and stays on for 30 seconds before it auto powers off completely).
 
Upvote 0
D

Deleted member 384473

Guest
OK, I seriously wasn't sure why. In that case thought they would have also added "You may get seriously burnt". I thought maybe it would cause camera or card damage. Similar to damage my friend caused to my home theater projector when he pulled the power plug after I turned it off (where after doing so, a cooling fan kicks up in speed and stays on for 30 seconds before it auto powers off completely).
Oh, I have no idea if that’s the real reason or not, I was just guessing but it does get hot. I would worry more if the card finished writing or not because I’m paranoid like that. I definitely won’t be pulling out power plugs from my projectors like that any time soon after reading that. Lol.
 
  • Like
Reactions: 1 user
Upvote 0
When you shoot 5minutes of 8k RAW and eject the CFexpress card, and its too hot to hold, it becomes quite obvious that limits are not marketing ploys to sell more cinema cams. For those of us working in serious cinema, its crazy to even consider using the R5 or any of the other hybrids as an A-Cam. There is far too much at stake cost and time wise for each setup. Cinema cams have their target use. I'm very excited though, to be able to supplement them with the R5, which opens up possibilities.


Could it be that it is the CFexpress card itself that overheats?
 
Upvote 0