Jump to content
Andrew Reid

Sigma Fp review (part 1) and interview - Cinema DNG RAW internal recording!

Recommended Posts

EOSHD Pro Color for Sony cameras EOSHD Pro LOG for Sony CamerasEOSHD C-LOG and Film Profiles for All Canon DSLRs

 

1 hour ago, Lars Steenhoff said:

Could it be that the shot is just too sharp?

the lens is sharp + no antialias filter.

This wil be hard for any sensor, It would have been good if there was also a full resolution still image to compare it with.

It could be that the artifacts are also in there, further testing is needed

So I just did that - but I had no resolution chart at hand, but used a fine-pattern silver synthetic fabric to provoke moiré in the camera. 

With the Sigma 45mm/2.8, I did two shots, both at f8 and 11 degree shutter:

- one UltraHD CinemaDNG shot;
- one 24MP still DNG shot.

I processed both in RawTherapee (but without False Color suppression filter):

_SDI2324-1.thumb.jpg.25f5c660ac2fa538059476fb3a7931d2.jpg
6K (24MP) still DNG

A001_007_20200116_000027-1.thumb.jpg.19115ec6b3d8d37e241d0e397bf2ae2c.jpg
4K (12MP) CinemaDNG

The difference becomes already visible here, but for 1:1 comparison, I opened the 24MP still in The Gimp, scaled it to 3840 horizontal pixel (using cubic scale) and cropped it from 3:2 to 16:9 aspect ratio:

1557537726__SDI2324-1-4k_scalecrop.thumb.jpg.4330715282ab1333757bf282b8dda9f0.jpg
still DNG, scaled & cropped to 4K 3840x2160


Now let's compare the 4K still DNG and the 4K CinemaDNG in a 1:1 center crop:

A001_007_20200116_000027-1-center-crop.jpg.211f38302464e25071d0d75fd54530b5.jpg
CinemaDNG

_SDI2324-1-center-crop.jpg.699d39aadac16a748959b2bfe7fc52cf.jpg
still DNG, downsampled to 4K

 

While there's visible moiré also on the still DNG, the result in 4K CinemaDNG is much worse, very obviously because of a problematic scaling method. (Scaling an undebayered 6K/24MP Bayer matrix into an undebayerd 4K/12MP Bayer matrix, and probably not using the best algorithm for that.) 

The result is both an excessive pronunciation of moiré and (compared to the downscaled 6K) a blurry image - much like in the good' old Canon video DSLR times... 

 

 

One more test:

center crop from the still DNG, this time downscaled in the Gimp from 6K to 4K without any pixel downsampling, but with line skipping ("Interpolation off") -


_SDI2324-1-center_crop_no_interpolation.jpg.43c95c567fdc5a060cf1e1113107860f.jpg
still DNG, line-skipped from 6K to 4K

 

Moiré is more pronounced than in the downsampled still, but still not as bad as in the CinemaDNG. So I really suspect the culprit in the transformation of the undebayered 6K to undebayered 4K, probably through crude line skipping/heuristics.

 

Share this post


Link to post
Share on other sites
45 minutes ago, rawshooter said:

Moiré is more pronounced than in the downsampled still, but still not as bad as in the CinemaDNG. So I really suspect the culprit in the transformation of the undebayered 6K to undebayered 4K, probably through crude line skipping/heuristics.

Can you upload the 6k still?

Share this post


Link to post
Share on other sites
10 hours ago, paulinventome said:

I think the Rs are good for photography because they tend to show two different renders wide open (glowing) and stopped down, especially the Mandler designed ones (the lux's you quote). I found the 90 summicron very poor with flare, almost unusable. The 24 is not a Leica design and it shows. And the 28mm f2.8 Mark II is excellent. The last version of the 19 pretty good too, much better than the contax 18. 

Yes, i have focus gears for the M lenses. Studio AFS make some aluminium gears that you can twist on, like the Zeiss gears but they do them with scalloped inserts that will hold around the smaller barrels of the Ms. The Zeiss versions don't go small enough. They're really good and easy to twist on and off when needed.

Thanks, these gears look really nice.

I don't think there is a single Leica R that can hold a candle to the Contaxes in terms of flare resistance. The luxes also flare a lot (here is the 50), but I haven't found this to be a problem in controlled shoots.

7 minutes ago, rawshooter said:

I did. It's the 24MP still above (24MP = 6K, just edited the captions to clarify).

Sorry, I meant the DNG file.

Share this post


Link to post
Share on other sites
17 minutes ago, rawshooter said:

Since the forum won't me let upload it, here's an external link.

Thanks.

Here is the same file scaled down to 3000x2000 Bayer in four different ways (lineskipping, two types of binning and a bit more fancy interpolation). Not the same as 6K-to-4K Bayer, but it might be interesting anyway.

_SDI2324_bin.DNG _SDI2324_interp.DNG _SDI2324_skip.DNG _SDI2324_wbin.DNG

Share this post


Link to post
Share on other sites

Why scaled down to 3000x2000/3K Bayer (i.e. exactly 50%)?

The issue of the Sigma fp is that it scales 6K Bayer to 4K Bayer, i.e. onto a non-matching matrix (simulating a smaller Bayer sensor that doesn't actually exist), which by definition must involve some weird interpolation/shifting of RGGB values. Which IMHO also explains the artifacts in 4K CinemaDNG.

Share this post


Link to post
Share on other sites
10 minutes ago, rawshooter said:

Why scaled down to 3000x2000/3K Bayer (i.e. exactly 50%)?

The issue of the Sigma fp is that it scales 6K Bayer to 4K Bayer, i.e. onto a non-matching matrix (simulating a smaller Bayer sensor that doesn't actually exist), which by definition must involve some weird interpolation/shifting of RGGB values. Which IMHO also explains the artifacts in 4K CinemaDNG.

Only because I have code lying around that does this in multiple ways, and it shows various ways of producing artifacts without doing weird things. :) It is not necessary to do crazy weird things to break the image. Even the fanciest way of Bayer donwscale will produce an image that's noticeably worse than debayering in full res and then downscaling to the target resolution, there's no way around it even in the conceptually easiest case of 50% downscale.

Share this post


Link to post
Share on other sites

Some interesting experiments @rawshooter and @cpc

Sigma has said that the 6k image is scaled to UHD. Not binned or skipped. The reasoning is that by scaling then the lack of OLPF can be mitigated a bit.

I think what we might be seeing and saying is that the scaling algorithm used could be improved. There are all sorts of issues sharpening in scaling - you get negative lobes around edges which can result in black (NaN) pixels (Sony had some issues with this). I'm wondering if the black pixels in the resultant image were just clipped but actually in these images the raw data is doing odd things. The worst colourspace to scale in is Linear which is the sensors native space. In Nuke often we'd change an image to log, scale and then back to linear.

The question is naively i am assuming each of the RGGB layers is scaled, then written out in bayer format - does that sound likely? Does that work okay with bayer reconstruction?

One of my wish lists to sigma is more choices over the image size - 2:1 at the same data rates would be useful. If they are taking the whole 6K image (and no reason to say they're not) then i wonder whether the camera can actually dump out the data fast enough to SSD. I believe sigma are obviously keen to keep the SDXC card as a main source but just getting *all* the raw data would be useful.

7 hours ago, cpc said:
7 hours ago, rawshooter said:

The issue of the Sigma fp is that it scales 6K Bayer to 4K Bayer, i.e. onto a non-matching matrix (simulating a smaller Bayer sensor that doesn't actually exist), which by definition must involve some weird interpolation/shifting of RGGB values. Which IMHO also explains the artifacts in 4K CinemaDNG.

 

Could you elaborate on how you think the scale is done?

cheers
Paul

 

Share this post


Link to post
Share on other sites
2 hours ago, paulinventome said:

Sigma has said that the 6k image is scaled to UHD. Not binned or skipped. The reasoning is that by scaling then the lack of OLPF can be mitigated a bit.

I think what we might be seeing and saying is that the scaling algorithm used could be improved. There are all sorts of issues sharpening in scaling - you get negative lobes around edges which can result in black (NaN) pixels (Sony had some issues with this). I'm wondering if the black pixels in the resultant image were just clipped but actually in these images the raw data is doing odd things. The worst colourspace to scale in is Linear which is the sensors native space. In Nuke often we'd change an image to log, scale and then back to linear.

The question is naively i am assuming each of the RGGB layers is scaled, then written out in bayer format - does that sound likely? Does that work okay with bayer reconstruction?

One of my wish lists to sigma is more choices over the image size - 2:1 at the same data rates would be useful. If they are taking the whole 6K image (and no reason to say they're not) then i wonder whether the camera can actually dump out the data fast enough to SSD. I believe sigma are obviously keen to keep the SDXC card as a main source but just getting *all* the raw data would be useful.

Could you elaborate on how you think the scale is done?

cheers
Paul

Binning is also scaling. Hardware binning will normally just group per-channel pixels together without further spatial considerations, but a weighted binning techique is basically bilinear interpolation (when halving resolution).

Mathematically, scaling should be done in linear, assuming samples are in an approximately linear gamut, which may or may not be the case. Digital sensors, in general, have good linearity of light intensity levels (certainly way more consistent than film), but native sensor gamut is not a clean linear tri-color space. If you recall the rules of proper compositing, scaling itself is very similar -- you do it in linear to preserve the way light behaves. You sometimes may get better results with non-linear data, but this is likely related to idiosyncrasies of the specific case and is not the norm.

 

re: Sigma's downscale

I assume, yes, they simply downsample per channel and arrange into a Bayer mosaic.

Bayer reconstruction itself is a process of interpolation, you need to conjure samples out of thin air. No matter how advanced the method, and there are some really involved methods, it is really just that, divination of sample values. So anything that loses information beforehand, including channel downsample, will hinder reconstruction. Depending on the way the downscale is done, you can obstruct reconstruction of some shapes more than others, so you might need to prioritize this or that. A simple example of tradeoffs: binning may have better SNR than some interpolation methods but will result in worse diagonal detail.

Share this post


Link to post
Share on other sites
3 hours ago, paulinventome said:

Could you elaborate on how you think the scale is done?

cheers
Paul

 

Just to make the matter less abstract, the problem of scaling a 6K Bayer pattern into a 4K Bayer pattern is that this...

bayer-2.png.3b33c8906467001460691b83e72e9f4b.png

...needs to be turned into this:

bayer-1.png.3a2fc4bdb2ed0a3c9c5bf8bf4ef5b7f3.png

Which is only possible with weird interpolations.

Or, on a larger scale, if you have 3x3 of the above four pixel groups....

bayer-3.png.1205b693ab0addfabf1d1b82b7f8ad0a.png

....how to scale them into 2x2:

bayer-4.png.a91afc5f13010dc248fe03d49a01ebbe.png

However you do it, it will result in weirdness, since you're not actually interpolating adjacent color values (as you would do in an undebayered image).

 

 

Share this post


Link to post
Share on other sites

sorry, I meant: as you would do in a debayered image
(can no longer edit my posting above)

@paulinventome, you wrote:

Quote

The question is naively i am assuming each of the RGGB layers is scaled, then written out in bayer format - does that sound likely? Does that work okay with bayer reconstruction?

The point is that a Bayer sensor doesn't have RGB layers (a Foveon sensor does!), but RGGB pixel patterns, as posted above.

Share this post


Link to post
Share on other sites
On 1/16/2020 at 11:20 AM, cpc said:

Mathematically, scaling should be done in linear, assuming samples are in an approximately linear gamut, which may or may not be the case. Digital sensors, in general, have good linearity of light intensity levels (certainly way more consistent than film), but native sensor gamut is not a clean linear tri-color space. If you recall the rules of proper compositing, scaling itself is very similar -- you do it in linear to preserve the way light behaves. You sometimes may get better results with non-linear data, but this is likely related to idiosyncrasies of the specific case and is not the norm.

Beg to differ on this one ?

If you have a high contrast edge and use various scaling algorithms, Lanczon, Sinc, etc,. Often the scale results in negative lobes (like a curve overshoot). It's quite easy to see this. Happens in compositing all the time. It's exacerbated by working Linear as we always do (i suspect because of the dynamic range). So it's a well established trick to cover to log, scale, and convert back to linear. I suspect some apps do this automatically (maybe resolve does, i don't know)

https://www.sciencedirect.com/topics/computer-science/ringing-artifact

It's a bit geeky but there's a diagram of a square pulse and lobes that extend beyond it.

Sony had this issue in camera on the FS700, very bright edges would give black pixels as the scale went negative.

My gut tells me in the case of a bayer sensor it could be even worse - partly because of the negative signal but also the tendancy to have stronger edges because of missing bits of image?

Kindest
Paul

 

On 1/16/2020 at 11:38 AM, rawshooter said:

Just to make the matter less abstract, the problem of scaling a 6K Bayer pattern into a 4K Bayer pattern is that this...

 

Cool.

But are they not just taking each RGGB into a separate greyscale image, so you have 4 grey images roughly 3000x1250. Scale those to 1920x1080. Then create bayer data for 3840x2160 by just alternating pixels to build up the RGGB again?

So we are maybe seeing artefacts in the scale process based on algorithm used. It might even be nearest neighbour which is what i think you're demonstrating - when you take an existing pixel and alternate to make up the UHD image.

But if that scale is done properly - is it not going to improve the image OR is the fact that scaling those 4 layers, which are already missing pixels in-between actually makes it worse?

The Ideal is take each RGGB layer then do an interpolation, so that instead of going from 3K (one channel) you interpolate that up to the full 6K by interpolating the missing pixels and *then* scale it down to to 1920 and then the resulting bayer image might actually look really good....?

cheers
Paul 

Share this post


Link to post
Share on other sites

This topic is fairly interesting to me.  Let me pretend to know what you guys are talking about and summarize the issue.  When the sigma FP is debayering the raw footage; it seems to be causing artifacts because of the algorithm it is using - a firmware update is needed to cleanup the out of camera video by using a better algorithm.  Also, since RAW is RAW, davinci resolve needs an update to better read the sigma fp raw footage because it too is adding artifacts to the footage. 

If those two things were fixed.  Most importantly, the better support of FP raw within davinci, than for $1.8k, this is a really good camera for the price.  Am I seeing everything correctly? ?

Share this post


Link to post
Share on other sites
11 hours ago, paulinventome said:

But are they not just taking each RGGB into a separate greyscale image, so you have 4 grey images roughly 3000x1250. Scale those to 1920x1080. Then create bayer data for 3840x2160 by just alternating pixels to build up the RGGB again?

So we are maybe seeing artefacts in the scale process based on algorithm used. It might even be nearest neighbour which is what i think you're demonstrating - when you take an existing pixel and alternate to make up the UHD image.

But if that scale is done properly - is it not going to improve the image OR is the fact that scaling those 4 layers, which are already missing pixels in-between actually makes it worse?

How about we manually separate the RGGB channels from a 24 mpix raw photo, and try various scaling algorithms to make a better scaled bayer image? That would be fun.

Share this post


Link to post
Share on other sites
20 hours ago, eleison said:

This topic is fairly interesting to me.  Let me pretend to know what you guys are talking about and summarize the issue.  When the sigma FP is debayering the raw footage; it seems to be causing artifacts because of the algorithm it is using - a firmware update is needed to cleanup the out of camera video by using a better algorithm.  Also, since RAW is RAW, davinci resolve needs an update to better read the sigma fp raw footage because it too is adding artifacts to the footage. 

If those two things were fixed.  Most importantly, the better support of FP raw within davinci, than for $1.8k, this is a really good camera for the price.  Am I seeing everything correctly? ?

Actually not... ? When the Sigma fp records CinemaDNG, it doesn't debayer the image, since a raw image is undebayered. But at the same time, I doesn't record the actual raw sensor image, but downscales the 6K undebayered sensor data to a 4K undebayered image - whose pixels no longer correspond to the sensor pixels and are a fake sensor pattern. 

Or, in less abstract language: the camera downscales the 6K raw sensor data into simulated raw sensor data of a virtual, software-made 4K sensor. Which creates all kinds of weird artifacts, as demonstrated above in the visual comparisons of the camera's 6K stills with the camera's 4K video.

Share this post


Link to post
Share on other sites
11 hours ago, KnightsFan said:

How about we manually separate the RGGB channels from a 24 mpix raw photo, and try various scaling algorithms to make a better scaled bayer image? That would be fun.

The only part of that i would have issues doing is writing out a DNG, i can do the rest. Unless i can make my own debayer in Nuke but ideally we'd want to match like for like. I suspect @cpc might be able to write out DNGs though...

cheers
Paul

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...