Navigation

Showing posts with label noise. Show all posts
Showing posts with label noise. Show all posts

April 7, 2012

LumoLabs: Nikon D800 video function demystified

Nikon D800 FX mode 1080p video frame (click for original size)
The Nikon D800 full frame SLR camera has created a lot of buzz recently. Some would call it hype. While it is clear that its 36 MP still resolution is pretty much unparalled in the 35mm camera class, the final verdict about its video subsystem is still out. Esp. in comparison with Canon's 5DmkIII.

One point of interest has been how either camera actually creates its video frames. I now had a chance to apply LumoLabs' testing methology to a loaner D800 camera and figure it out for 1080p video in FX mode. I am having a look at live view performance too.

You may jump to the conclusion at the end if you just want to read what we found, igoring how we did it :)


Nikon D800 FX mode FullHD 1080p video

The title image shows one frame from a 1080p video taken with the Nikon D800 (in FX mode, it supports a number of crop video modes too). It shows a zone plate test chart which can be used to perform a sampling error frequency analysis.

Please, read falklumo.blogspot.de/2009/10/lumolab-welcome-and-testing-methodology.html to learn more about the testing methodology incl. access to the original of the test chart allowing everybody to replicate my analysis.

There is a bit of (gray colored) moiré from the printing process. This is because scaling and printing of zone plates is a non-trivial art in itself ;) You can actually measure the printer's native resolution by inspecting the printed zone plate chart. Below, you find a photograph of the print (in 14.6 MP resolution) allowing you to determine what moiré patterns are from the printing process actually.

Printed zone plate chart (still shot with a 14.6 MP camera, for reference)

However, all colorful moiré patterns are artefacts introduced by the D800 video system. It allows us to precisely measure how it works. Let's have a close look at the one of the two center discs:

Analyzed region of interest in the D800 video frame

The big discs are constructed such that the 1080p Nyquist frequency emerges at its outer circle. The two center discs have their edge at twice this Nyquist frequency and the four tiny discs at four times this frequency. Therefore, the false color moiré disc emerges at (149px/258px x2) or 1.155x the 1080p Nyquist frequency (1247 px). This means that the Nikon D800 samples ~1247 horizontal lines from its sensor.

Now, let's make a back-of-the envelope calculation:

An FX frame in video mode is taken from a 6720 x 3780 px region (which actually is a 1.095x crop from the full 7360 x 4912 px frame (this information is from the Nikon user guide, translating physical dimensions into pixels). Because 3780 / 1247 = 3.03 and because 1% is our measurement error, we have proof that the Nikon D800 samples every third horizontal line from its sensor.

A second result is that the ever so slightly color moiré for horizontal frequencies disappears at the Nyquist frequency. The D800's AA filter is effective here, the remaining moiré is from the printing. The D800E would have a bit of additional color moiré here, but by far not as strong as in the vertical direction. So, I believe that the Nikon D800 samples every vertical row from its sensor.

Below is what I believe how Nikon implemented line skipping:

Likely D800 sensel sampling matrix

and here is a slightly more symmetrical scheme which I cannot entirely exclude although I think it isn't used in this mode:
Unlikely sensel sampling matrix
If you look at the likely sensel sampling matrix, you'll see that all sensels which are read out (the ones with a color) result in a new RGGB Bayer matrix of sensels. Which has the advantage that a standard demosaicing algorithm is applicable to create an RGB frame.

This is similiar to what the Canon 5DmkII did actually. However, there is one important aspect where the D800 is different:

A native 1080p video frame is 6720 x 1260 px, demosaiced to a 2240 x 1260 px RGB frame.

And the final 1080p video frame is further downsampled 7:6 to 1960 x 1080 px which gives the D800 a slight edge in resolution and edge flicker behaviour over a 5DmkII.


High ISO noise in video

What we found has one important consequence: High ISO noise in video! Because of the FX video crop and skipping two thirds of sensels, the ISO performance in video is shifted by a factor 3.60. E.g., At ISO 12,800, the noise looks (as bad) as at ISO 46,000 from a camera using all available sensors for video (except for the 16:9 ratio crop of course).

You may note however, that the D800 still samples 6720 x 1260 sensels for a 1920 x 1080 frame or 4.08 sensels per pixel. For this reason, at ISO 12,800, the noise looks (as good) as at ISO 3,200 from a still image when pixel peeping at a 100% (1:1) level. So, pixel noise in D800 video is 2 stops less compared to still while it could have been 3.85 stops less when reading out a maximum of sensels. If you consider this bad or good is up to you.

Below, I have extracted frames from the ISO comparison performed by crisislab.com:

Video noise comparison D800 vs. 5DmkIII -- original frames (c) 2012 crisislab.com
On the left hand stripe, I have shifted the D800 samples two stips down and I think, it is a good match for the 5DmkIII performance then.

From that, I can already conclude that the 5DmkIII reads out all its sensels, i.e., does no line skipping. However, I didn't run a resolution analysis for the 5DmkIII. However, hearing about resolution complaints for 5DmkIII video, I think they bin pixels before read out. This improves noise and aliasing performance but unlike downsampling, doesn't help the resolution.


Nikon D800 Live View implementation notes

I have applied our testing methodology to Nikon's live view implementation too.

D800 live view, photograph of the rear LCD (no zoom level)
You see the same false color moiré discs which we have analyzed already. Of course, there is some strong additional moiré from the LCD rasterization. I.e., the D800 only reads every third line when activating live view (in the example, it is FX video live view).

If we zoom in, we get a result as follows.

D800 live view, photograph of the rear LCD (high zoom level)
You now different false color moiré disc, they have moved outwards. The sampling frequency is  (1692px/1935px x2) or 1.749x the 1080p Nyquist frequency (1889 px). Because 3780 / 1889 = 2.00, we have proof that the Nikon D800 samples every second horizontal line from its sensor when zooming enough in live view.

In live view, the D800 switches from third line to second line skipping when zooming in!

Lessons for manual focusing: (1) zoom in and (2) focus onto vertical structures which have twice the resolution in live view! Focus on trees, edges of buildings rather than horizon or roof top.


Conclusion

The D800 creates FX 1080p video in the following way:
  1. Crop a region of 6720 x 3780 sensels (crop factor 1.095).
  2. Read only every third line out of this region, but all sensels in a line. The result is an 6720 x 1260 sensel RGGB Bayer pattern which can be demosaiced.
  3. The resulting 2240 x 1260 RGB image is downsampled 7:6 to the final 1920 x 1080 px resolution.
  4. Compared to an optimum architecture, only 1/3.6 of sensels are read which makes the D800 loose up to 1.8 stops in high ISO video performance.
  5. When zooming into a live view image, the D800 switches line skipping from 3x to 2x.
  6. Manual forcus should use zoomed live view focusing vertical edges.
Overall, I am personally pleased with the implementation Nikon has chosen. It refines an idea originally used in the 5DmkII which is more difficult to implement due to the higher overall number of pixels. Because of downsampling from 1260p to 1080p, I actually expect slightly better resolution than from a 5DmkII or a camera which bins sensels prior to demosaicing.

On the other hand, there will be no more excuses for line skipping in the future. Not after Nokia got rid of it in their 41 MP 808 mobile phone ...


Enjoy your read :)
Falk

December 11, 2009

Lumolabs: Sensors of Nikon D700, D5000 and Pentax K-x


(Photo ©2009 Karsten Pawlik.)

After the interesting findings about the relatively good dynamic range properties of the Pentax K-x (cf. Lumolabs: Pentax K-x sensor quality), many have requested to publish a comparison with some other well known camera models.

Well, I am happy to announce that a great photographer and dear friend of mine, Karsten Pawlik (kafenio.org) shares my passion and we could spend some time in studio together in order to compile this comparison.

Most of the photos (e.g., all Nikon photos) presented in this article are © Karsten Pawlik. The opening photo shows two Pentax K-x with the gorgeous Pentax FA 31/1.8 Limited lens, in both black and silver color.

It is interesting to compare the K-x with these two cameras from Nikon for the following reasons:


  1. Nikon D5000 and Pentax K-x may share the same Sony Exmor sensor which is supposed to be found in the Sony A500 too. (well, maybe not: DxO measures that the A500 has a different sensor)
  2. Nikon D700 is a full frame camera and captures 1.2 stops more light than both the Nikon D5000 and Pentax K-x which are both APS-C only. It is interesting to see if this advantage shows in images.



1. ISO Noise


(please click on the photo above (and all others) for better readable versions)

The above chart summarizes the noise levels for 18% gray patches (2800 °K tungsten) at various values for ISO: 100, 1600 and 12800, measured as a signal to noise ratio (SNR [dB]). Please read Lumolabs: Welcome and testing methodology for details about how we measure these values. Towards the end of this article, you'll find links to all original test shots suitable for further examination.

Within this article, I will ignore the fact that the D5000 delivered the best SNR at ISO 100. AT ISO1600, we see the expected result: About 3dB or 1 f-stop (1EV) advantage for the full frame D700 with respect to both D5000 and K-x.

At ISO 12800, the K-x manages to match the result of the D700 while the D5000 behaves as expected. However, the SNR should decrease by at least 9dB when going from ISO 1600 to 12800 while it only decreases by only about 6dB for the K-x. This is a sign for raw file noise reduction at work for the Pentax and I believe that all SNR values for Pentax K-x should be reduced by 3dB for ISO values of 3200 or higher.

(Note: The D5000 has no native setting of ISO 12800. It was emulated using ISO 6400 and exposing like for ISO 12800, pushing 1 stop in postprocessing.)

In summary, we confirm the 1 stop advantage for the full frame sensor as far as high iso gray level noise is concerned.


2. Dynamic range

The situation turns out to be more complicated when we study the respective dynamic ranges. Let's start with the full SNR curves for all cameras.


Look first at the three red (D700 full frame), blue (D5000) and green (K-x) curves in the middle of the graph: These are the ISO 1600 curves for the three camera models and the red line lying above the others shows the full frame advantage we have been talking about above. The curves show how the signal-to-noise ratio decreases (relative noise increases) towards the shadows (the lower luminosities towards the left). At ISO 1600, the full frame advantage remains significant throughout all luminosities spanning 7 stops (1%). Note that the curves at ISO12800 may be "polluted" by noise reduction tricks for the APS-C sensors.

Most important for the determination of dynamic range are the SNR curves at lowest ISO (i.e., ISO 100). In order to measure deepest shadow noise, we made three shots at ISO100: normal, underexposed by -5EV and underexposed by -10EV! Patches from all three shots were analyzed to compile an SNR curve spanning 13 stops (down to 0.02% luminosity (which is RGB 0.05/255 and sRGB 0.6/255 aka perfect black)).

The surprising result is that at deepest shadows, the D5000 outperform the D700 by 2 dB and the K-x by even 5 dB. This should translate to about 0.5 EV more dynamic range for the D5000, and about 1.5 EV more dynamic range for the K-x, when compared to the D700. DxO does indeed confirm more dynamic range for the D5000 (12.5EV) compared to D700 (12.2EV). In combination, this is a confirmation for the "13EV or better" dynamic range claim I made in my earlier blog article.


3. Dynamic range (revisited)

I decided that this isn't the full story. Numeric results of measurements of noise are one thing. Plausibility checks are another.

(you must click the image and then select "O" (original size) to use this chart!)

The above chart contains various (small) noise patches from all cameras and ISO values. I even added some Pentax K-7 patches for comparison (Note: the K-7 has more pixels). Towards the end of this article, you'll find links to all original test shots suitable for further examination.

A quick examination of the patches at ISO 100 and -10EV shows that the D700 wins hands-down: better color accuracy, better readability of letters and better contrast. It sure looks slightly more busy (more noise) but the noise looks more fine grain too. More fine grain? Yes, the noise from the D5000 and K-x look coarser than the noise from the D700 or K-7. But noise should be statistically uncorrelated and look always fine grain (except for pattern noise).

Good detail note: all three cameras have no visible pattern noise.

Obviously, the sensor of the Nikon D5000 and Pentax K-x (and I guess it is the sensor rather than the firmware) plays some tricks with the signal in deepest shadows: there seems to be some sort of deep shadow noise reduction at work (like binning dark pixels) which leads to softer detail and a lower noise measurement.

Therefore, I conclude that the excellent dynamic range measurements of the D5000 and K-x are partly due to sophisticated signal processing, possibly on the sensor itself.

However, even taking this disclaimer into account, we can say that the deepest shadow reproduction of all three cameras play in one league: e.g., look at the 153 letters in the -10EV samples and compare to the K-7 (-9EV only) where the letters aren't legible anymore.

I conclude that by dynamic range, taking all information into account, the cameras rank as follows:


  1. Nikon D700 (#3 by lab test)
  2. Pentax K-x (#1 by lab test) and
    Nikon D5000 (#2 by lab test)

and are all very close.

The ISO12800 patches roughly confirm the numeric lab results. A K-x at ISO12800 and a K-7 at ISO6400 do roughly have the same noise while the K-7 keeps a slight resolution advantage even at such high ISO values.


4. Conclusion

Traditionaly, there is a one stop difference between full frame and APS-C. Temporarily, this sensor (Nikon D5000, Pentax K-x, supposed to be a Sony Exmor sensor) fills the gap (towards a Nikon D700) with respect to dynamic range while the difference remains with respect to high ISO noise.

This means that the D5000/K-x sensor has the same sensitivity to light as usual (as the D700) but has significantly reduced read-out noise.

The Pentax K-x may have a slight advantage over the Nikon D5000, esp. at very high ISO values. At the same time, this sensor (or firmware library) seems to include raw data alteration which makes the numerical analysis even more difficult, even when done in the DxO way. The time for true signal measurements has come, defining random noise as the sample variations of the signal and fixed pattern noise as the difference of the mean value with the ideal signal.

Lab tests (our own and the ones published by DxO) make the D5000/K-x have better dynamic range than the D700. But this is due to the limited testing methodology. D700 still has the better dynamic range, but by a small margin only.


5. Further reading

Access to full sample shot material:


Enjoy! :)

June 18, 2009

Comparative noise study K-7 vs. K20D


Today, I found the time to shoot images from a K-7 and a K20D side by side. In this article, I will highlight the differences in noise between the two cameras.

This is particularly interesting because Pentax used a 2nd generation version of the sensor used in the K20D, a 14.6 MPixel APS-C sensor now famous for its beautiful images when used with an excellent lens.

I am not interested to compare the advances in the camera's built-in JPG engine and its noise reduction (NR) algorithms. I am sure they are significant. I am interested in the best quality I can get from the camera, i.e. from RAW.

Test methodology:

- Almost constant lighting, although not perfect (indirect sun light)
- Constant setup:
- My "special" 400% ISO test chart on a wall.
- Constant exposure at EV 9.
- Again, underexposed by ~ -0.7 EV to exhibit more visible noise (to make it "gray").
- Second image underexposed by ~ -1.7 EV (EV 10).
- Tripod, K-7 MLU and K20D 3s timer, both via remote control.
- Zeiss 50mm/1.4 at f/4.0, manually focussed using magnified live view. (The Zeiss 50 is sharper in the center at f/4.0 than f/5.6.)
- Focus series for a resolution test (pending).
- Late sun and wood floor made a nice 3900 Kelvin color temperature.
- Shot in RAW (K20D: PEF, K-7: DNG) and exported by Lightroom using default settings.

Caveats:

- No colors.
- Focus was only almost perfect in the noise test.
- Only one camera of each type tested.
- My camera is a preproduction unit (with final firmware) which may give slightly inferior results to a production camera. Therefore, subtle differences may not be significant.

-- Begin of update --
Clarification:
The interpretation as authorized by Pentax is as follows: Tests carried out with preproduction units and final firmware are allowed to be taken representative of final quality. There won't be a noticeable difference when just inspecting photographs. However, there may be numeric differences when tests are carried out by a quantitative lab test, and if so, in favour of the production cameras. Therefore and because I didn't publish test figures, this blog article must not be considered premature.
-- End of update --

Results:

All results are presented as 100% crops prepared for easy inspection here:

Resolution and Noise of K-7 vs. K20D

Please, have a look before joing my conclusion (note that you'll see snippets magnified by 15x!).


Verdict:

The noise from the K-7 and the K20D almost look the same. If there is a slight advantage, then it would go to the K20D. But the difference is so marginal that I say:

There is no significant difference in noise from black & white subjects in raw files from the K-7 and the K20D.

The K-7 produces excellent results up to ISO 1600, and ISO 6400 remains reserved for smaller image sizes. It is however remarkable how much detail is preserved in even ISO 6400!
This is what Pentax is known for: Details rule over noise!

June 17, 2009

K-7 final firmware and tungsten high iso noise

I have just received the final firmware v1.00 and wanted to make available some samples shot at ISO 400-6400 in tungsten light (2900/2950 K, using Auto WB). Shot with the kit lens and AF focussing onto the SD card in the center.

This is a preliminary article and my evaluation of noise is pending. Also, the subject is not ideal (colors missing, no gray card). I was in a hurry. The ball's surface has a subtle texture looking like noise but not being noise (in iso 400)! So, this may be used to compare denoising artifacts.

The camera was set to "natural" (default is "bright") and default settings otherwise (i.e., sharpness -1, NR medium, NR start iso800).

The images are here (out of camera or Lightroom standard settings):

K-7 Tungsten high iso noise


And the DNG raw files are here:

http://www.file-upload.eu/download-1709906/IMGP0006.DNG.html
http://www.file-upload.eu/download-1709919/IMGP0007.DNG.html
http://www.file-upload.eu/download-1709926/IMGP0008.DNG.html
http://www.file-upload.eu/download-1709937/IMGP0009.DNG.html
http://www.file-upload.eu/download-1709948/IMGP0010.DNG.html



Disclaimer:
Preliminary test, firmware is final but the sensor in my preproduction camera is said by Pentax to be different from the final one!

This is very warm tungsten (below 3000 Kelvin). In daylight, the noise would be much less. Also, ISO6400 is not a fully advertized feature.