Leer en español: Binning en la Leica M11-P
Does the Leica M11-P’s Triple Resolution Technology really reduce noise and improve dynamic range, or is it downsampling with marketing? We measured it quantitatively: SNR by image differencing, comparison against Lanczos resampling, and engineering dynamic range, at three different ISO settings.
1. The question
The Leica M11 and its M11-P variant use a 60-megapixel full-frame BSI CMOS sensor whose stated peculiarity is that the DNG file can be stored at three resolutions: L-DNG (60 MP), M-DNG (36 MP) and S-DNG (18 MP). Leica describes the mechanism as “pixel binning” and credits the reduced versions with better noise and dynamic range behavior.
The technical clues, however, raise doubts. The dimensions of the three formats do not have integer ratios: the factor between L and M is 1.28, and between L and S it is 1.81. That rules out clean 2×2 or 3×3 pixel groupings, which are the only physically simple configurations for true binning. Most likely it is software downsampling performed by the Maestro III processor on data that has already been digitized.
We want to know whether there is a real, measurable advantage of M and S over L and, if there is, how large it is and under what conditions.
2. The method: SNR by image differencing
The naive way to measure signal-to-noise on a supposedly uniform patch is to compute the mean μ and the standard deviation σ and apply 20·log₁₀(μ/σ). It only works if the patch is free of any texture. If the chosen area has real detail (wood grain, the micro-relief of a wall, a subtle gradient), σ ends up measuring that texture instead of sensor noise, and the SNR comes out absurdly low.
The robust procedure is to capture two identical shots of a static scene on a tripod and subtract them pixel by pixel:
D(x,y) = I₁(x,y) − I₂(x,y)
The signal cancels exactly because it is the same in both shots. What remains in D is the sum of the independent noises of the two captures, and assuming similar variances:
σnoise = σD / √2
This allows large patches and reliable SNR values even if the area has detail. It is the technique used in professional sensor analysis, and the one we will use.
2.1 Prediction for ideal binning
If combining N independent pixels were perfect (true analog binning or ideal mathematical averaging), the theoretical SNR improvement would be 10·log₁₀(N) dB. For the M11-P formats:
- L → M (60 → 36 MP), N ≈ 1.67: theoretical gain +2.2 dB
- L → S (60 → 18 MP), N ≈ 3.33: theoretical gain +5.2 dB
Any systematic deviation from these values is informative: it tells us whether Leica does real binning, merely downsamples, or adds denoising.
3. Experimental procedure
Captures with a Leica M11-P on a sturdy tripod, 2 s self-timer, fixed manual focus, identical manual white balance for all shots. For each of three ISO settings (64, 1600 and 6400) nine successive shots were taken: three in L-DNG, three in M-DNG and three in S-DNG, with the same scene and equivalent exposure.
The DNGs are processed in Python with rawpy in linear mode (no gamma, no auto-brightness, AHD demosaicing, 16-bit output normalized to [0,1]). Three blocks of metrics are computed on the resulting images:
- SNR at native resolution with the image-differencing method, on a patch in relative coordinates covering the same area of the scene at all three resolutions. Averaged over the three possible pairs of shots.
- SNR at a common size: L and M are reduced in software (Lanczos with anti-aliasing) to the size of S, and the resulting SNR is compared with that of native S. This is the key test to distinguish pure downsampling from active processing.
- Engineering dynamic range on a deep-shadow patch, where σ directly measures read noise.
4. Results
4.1 SNR at native resolution
| ISO | L-DNG (60 MP) | M-DNG (36 MP) | S-DNG (18 MP) |
|---|---|---|---|
| 64 | 33.42 dB | 31.54 dB | 32.53 dB |
| 1600 | 20.66 dB | 23.86 dB | 23.92 dB |
| 6400 | 14.48 dB | 17.47 dB | 17.77 dB |
4.2 Gain of M and S over L, vs theoretical prediction
| ISO | M − L | S − L | Theory M | Theory S |
|---|---|---|---|---|
| 64 | −1.88 dB | −0.89 dB | +2.2 dB | +5.2 dB |
| 1600 | +3.20 dB | +3.26 dB | +2.2 dB | +5.2 dB |
| 6400 | +2.99 dB | +3.29 dB | +2.2 dB | +5.2 dB |
Three immediate observations. First, and contrary to expectation, at ISO 64 the reduced versions have more noise per pixel than the native image. Second, at high ISO the gains are positive (~3 dB), but M and S get practically the same improvement, when ideal binning theory predicts a 3 dB difference between them. Third, the magnitude falls between the predictions for M and S without matching either.
4.3 SNR at a common size: the decisive test
We reduce all images to 18 MP in software and measure the SNR of the G channel to see whether the native S-DNG is better than taking an L-DNG and reducing it ourselves.
| ISO | L → S Lanczos | M → S Lanczos | Native S |
|---|---|---|---|
| 64 | 35.81 dB | 32.10 dB | 32.53 dB |
| 1600 | 23.05 dB | 25.57 dB | 23.92 dB |
| 6400 | 16.86 dB | 19.07 dB | 17.77 dB |
The native S-DNG is not the best option at any ISO tested. At ISO 64, reducing the L-DNG ourselves in software wins by 3.3 dB (a full stop of SNR). At ISO 1600 and 6400, the best option is to shoot M-DNG and reduce in software, with gains of 1.6 and 1.3 dB respectively over the native S-DNG.
4.4 Engineering dynamic range
| ISO | L-DNG | M-DNG | S-DNG | M − L | S − L |
|---|---|---|---|---|---|
| 64 | 39.43 dB | 39.15 dB | 39.57 dB | −0.28 | +0.14 |
| 1600 | 37.21 dB | 38.90 dB | 38.92 dB | +1.69 | +1.71 |
| 6400 | 32.57 dB | 34.96 dB | 35.31 dB | +2.39 | +2.74 |
At ISO 64 the three resolutions offer equivalent DR. At high ISO, M and S gain an advantage (1.7 to 2.7 dB), but, as with SNR, they stay very close to each other, without reflecting the 3 dB difference that real binning would predict between them.
5. Discussion
5.1 There is no real physical binning
Three lines of evidence converge to rule out the true-binning interpretation:
(a) the file dimensions are not integer ratios,
(b) the observed gains do not scale with √N as averaging N independent pixels would require, and
(c) M-DNG and S-DNG give practically the same SNR despite differing by a factor of 2 in pixel count. If it were analog binning, S should beat M by about 3 dB, and it does not.
What we observe fits software downsampling followed by gentle denoising applied in the processor, all on data that has already been digitized.
5.2 The bimodal behavior across ISO
The most interesting finding is the transition between ISO 64 and the medium-high ISO settings. At base ISO the sensor’s SNR is already very high (>33 dB) and there is practically no noise to reduce. Any resampling introduces numerical errors with no compensating benefit: that is why M and S come out worse than L. From ISO 1600 upward, where there is appreciable noise, the internal processing provides a consistent ~3 dB improvement.
The constancy of that improvement (~3 dB for both M and S, at both ISO 1600 and 6400) suggests that Leica applies denoising calibrated to a fixed level, neither too aggressive (so as not to destroy detail) nor absent. It is a processing decision that does not depend on any emergent property of the sensor.
5.3 The practical question: which resolution should you shoot?
At base ISO (64 to 200): always shoot L-DNG. If you need a smaller file, reduce it during raw development: the result has 3 dB more SNR than the native S-DNG.
At medium and high ISO (1600 and above): if you are going to deliver at 18 MP, shoot M-DNG and reduce during development. It is the combination with the best SNR in the study.
S-DNG is not the best option in any scenario tested. Its real usefulness lies in burst speed and file size. For image quality there are better options.
5.4 Limitations
The uniform patch falls in a somewhat underexposed area (μ ≈ 0.08 in G), so the absolute SNR values are lower than would be obtained in a midtone area. The relative differences between L, M and S are not affected, but the absolute values should not be taken as representative of the sensor’s optimal performance.
Only three ISO settings have been characterized. The exact transition between the regime where processing degrades (ISO 64) and where it improves (ISO 1600 and above) could be refined by measuring intermediate ISOs. Nor has the loss of detail (real spatial resolution, MTF) that the processing might introduce been measured; that would be the natural complement to this study.
6. Conclusion
The Leica M11-P’s “Triple Resolution Technology” is not a physical binning system. The three DNG resolutions share the same 60 MP sensor readout; the M and S versions are the product of software downsampling with gentle noise filtering applied afterwards in the Maestro III.
The real SNR advantage is approximately 3 dB at medium-high ISO (without scaling with the reduction factor) and zero or slightly negative at base ISO. In photographic terms, the maximum improvement observed is equivalent to about half a stop of apparent SNR.
“Triple Resolution Technology” has a real use, though a different one from what its name suggests. Its value lies in workflow (file size, burst buffer depth), and the user can get the same noise improvement in post-production with a good resampling algorithm.
Appendix: core of the Python code
import numpy as npimport rawpyfrom skimage.transform import resizedef cargar_raw_lineal(ruta): with rawpy.imread(ruta) as raw: rgb = raw.postprocess( gamma=(1, 1), no_auto_bright=True, output_bps=16, use_camera_wb=True, demosaic_algorithm=rawpy.DemosaicAlgorithm.AHD, ) return rgb.astype(np.float32) / 65535.0def ruido_por_diferencia(img_a, img_b, parche): """SNR limpia por método de imagen-diferencia. parche: tupla (x, y, w, h) en coordenadas relativas [0,1].""" h, w = img_a.shape[:2] x, y, pw, ph = (int(parche[0]*w), int(parche[1]*h), int(parche[2]*w), int(parche[3]*h)) pa = img_a[y:y+ph, x:x+pw] pb = img_b[y:y+ph, x:x+pw] diff = pa - pb out = {} for idx, canal in enumerate("RGB"): mu = float(pa[..., idx].mean()) sigma = float(diff[..., idx].std()) / np.sqrt(2) snr_db = 20 * np.log10(mu / sigma) if sigma > 0 else float("nan") out[canal] = {"mu": mu, "sigma": sigma, "snr_db": snr_db} return outdef downsample(img, h_obj, w_obj): return resize(img, (h_obj, w_obj), anti_aliasing=True, preserve_range=True).astype(np.float32)

Quantitative analysis performed on a Leica M11-P. All values in dB, G channel of the AHD demosaic, image-differencing method with three shots per resolution, averaged over the three possible pairs.
Deja una respuesta