相机史诗级智商税:色彩位深/bit数

相机史诗级智商税:色彩位深/bit数

色彩位深这个东西,我在之前有很多讨论了。先放结论,后面我来详细展开。

我快期末考试了,没时间引入太多复杂模型来评估(而且引入残差并傅里叶展开会牵扯更多的感知评价,偏离【一切情况下、科研情况下均无意义】的讨论),但是证据强度还算够用。

你会发现,网络时代如此几十年,还从没有过一个人发过视频对比出【16bit相机单张经过某种调色流程,比采样到14bit后进行同样的流程更好】。

1,对于你能买到的一切市售相机,16bit毫无价值——无论在调色上,还是在信噪比上,还是在一切后期的输出流程、科研需求中,都毫无价值。

2,对于一切夸张调色以及严苛的天文摄影、严苛的胶片反相/后处理,严苛的文物恢复工作,14bit及以上的相机输出位深毫无价值。

3,在iso400以上,一切市售相机从14bit截为12bit,pdr损失都低于0.1档。

ps:缩图流程以及堆栈流程,出于oversampling gain,你应当把位深进行相应提高,或者在浮点上做运算。但这和相机本身的bit数毫无关系——相机8bit也不耽误你在16bit上堆栈。

有点数学直觉但不多的人可能会持有两个看法:1,起码要分配到1e/dn吧?2,16bit下总归会有多的两位信息吧?

那么我针对这两种的评价是:1,在噪声的影响下,某个电子数根本不会跑到一个确定的dn值,他的随机幅度是极大的,做不做到1e/dn并无实质含义;2,16bit下最后两位信息你可以认为是14bit左移两位,后面两位加纯随机数。

本文结构如下:

1,信噪比分析(低协方差情况)。

1.1,对gfx100,16bit采样到14bit的动态在一切tgtsnr下差异小于0.04档;

1.2,对14->12bit的列举:iso400以上,14bit转12bit的pdr损失都低于0.1档。

2,调色下banding分析(高协方差情况)。

2.1,期望下并不存在周期结构;

2.2,单张下,任意码值点的噪声已经充分高,导致14bit下一切相机根本不存在任何banding,这与调色程度无关,就是不存在banding;对市售相机,在高位深堆栈后,低bit与高bit回归到高信噪比高位深原图的效率相同。

我们先说信噪比分析,再来讲调色。

总领

1.1,对gfx100,16bit采样到14bit不会导致pdr可观变化;
1.2,对14->12bit的列举:iso400以上,14bit转12bit的pdr损失都低于0.1档。

首先是16bit转14bit的情况,这是一个简单问题,快速讲完。gfx100s的表现如下,我们只看ptcfitdr,也就是我三参数建模后:

12.49ev->12.46ev,根本没有变化。

@Tianxi 提示给出取tgtsnr趋近于零:

\Delta DR_{\max} = \log_2\frac{4.8766}{4.7378} = \mathbf{0.04164\ stops}\\ 也就是,你把14bit下的少提亮0.04档,他的信噪比就会与16bit相同并在大部分区间更高。因此从信噪比的角度来说,严格没有区别。

然后我们说一般相机把14bit采样为12bit后信噪比的变化:

关于对一切相机在14->12bit的情况,我在

14bit RAW ΔPDR Critical ISO Curves

这个网页中已经给得非常完备了。根据我在

y-g-jiang/paper_IIARPTC

这篇论文中所指出的,0.5DN以上的读出噪声下,量化误差建模为均匀量化噪声。即低位深量化步长在 14-bit ADU 单位中为:

 \Delta_b = 2^{14-b}

均匀量化噪声的方差为:

 \sigma_{q,b}^2 = \frac{\Delta_b^2}{12}

RMS 为:

 \sigma_{q,b} = \frac{\Delta_b}{\sqrt{12}}

读出噪声变为:

 N_b(I) = k_{14}(I) \sqrt{ R_{14}(I)^2 + \frac{2^{2(14-b)}}{12} }

这里只谈零协方差量化行为。因此方差相加。

也就是12bit下你比14bit多曝光0.2档,对于iso800以上、除了a7s3之外的一切索尼机器(大概率是一切相机,因为索尼已经是噪声表现很好的一批了),12bit下信噪比上都完全领先14bit模式。

然后我们计算snrbased dr(tgtsnr~16,000/PH):

 \mathrm{SNR} = \frac{S}{\sqrt{S + N^2}} 令:

 \frac{S}{\sqrt{S+N^2}} = T

 S_T(N) = \frac{T^2 + \sqrt{T^4 + 4T^2N^2}}{2}

14-bit 达到目标 SNR 所需信号:

 S_{14}(I)=S_T(N_{14}(I))

低位深达到目标 SNR 所需信号:

 S_b(I)=S_T(N_b(I))

PDR 损失定义为:

  \Delta \mathrm{PDR}_b(I) = \log_2 \left( \frac{S_b(I)}{S_{14}(I)} \right) \\

单位是 stop。


因此可见,iso400以上,一切市售相机在14bit转12bit时的pdr损失都低于0.1档。

但相机adc的设计,在原生12bit下adc噪声会稍微增加。不过出于这点噪声是在后端adc处增加的,在高模拟层增益下不会干扰上述结论。

然后我们再来看下为什么我说14bit提供了充分优秀的调色基础。

总领:

第一点,单张下,任意码值点的噪声已经充分高,导致banding并不存在 ;
第二点,在高位深堆栈后,低bit与高bit回归到高信噪比高位深原图的效率基本相同。

首先我们说明白,当讨论断层的时候,哪一段最容易断层?我们不可能关心全部码值区间的。

我们引入一个量,噪声均方差比上量化阶梯,这样一个无量纲值,就是σ/Δ。

在纯线性缩放下,这个比值保持严格不变;另在对码值连续可微的调色变换中,旧量化台阶和量化前噪声由同一局部导数传播,因此该比值对既有量化结构保持一阶不变。通道拉伸、片基归一、HDR 、密度转换/反转,都是连续可微的,而且这个东西在不可微的工况下噪声也会使其没有差异。

我们引入PTC来进行分析,比如松下s52在无镜头情况下的噪声随输入信号的变化图,你会发现因为读出噪声的单位是adu,纵轴也恰好就是σ/Δ:

很明显可以看出,随着信号的上升,量化步长没有改变,但是噪声增加了,这个噪声比量化步长的比值也是在低码值部分最小。

当σ/Δ相同,且亮度、空间频率、观察条件、tone curve 局部导数、CSF 都相同时,Δ越大,断层越容易被看出。极低码值处σ/Δ最小(如上述PTC),他提亮到相同目标感知范围后也不变,因此我们可以说,暗部最低码值处的表现决定了相机系统的断层性能的最保守瓶颈。

下面我们引入gfx100作为模型。

我们可以用dpr标版艰难建模出噪声曲线,其中至少前两项是极低协方差的:

\sigma_{\mathrm{DN}}(m)=\sqrt{44.37+1.408m+4.9\times10^{-5}m^2}\\

那么我就gfx100而言,给一个比较直观的例子,在相同的码值跨度上,显然高码值区域的总噪声是更加夸张的,因此高码值的banding更容易被噪声盖过。

那么现在问题转化为:对于这个低bit下最保守的低码值处的理想渐变,是否会被看出任何情况的banding,在任何程度的调色下?

首先我们可以看他的期望。也就是如果我们采样充分多次但是采样精度维持不变,他有什么残存的周期性结构?

根据Zaman, 2004(引用在文章最后) 对正态随机变量小数部分分布的 Fourier 展开,若

 X=s+N,\qquad N\sim\mathcal N(0,\sigma^2),

并以量化步长 \Delta 作最近邻量化 Q_\Delta,则量化期望偏置为

 b_\Delta(s) = \mathbb E[Q_\Delta(X)]-s = \frac{\Delta}{\pi} \sum_{k=1}^{\infty} \frac{(-1)^k}{k} \exp\!\left[ -2\pi^2 k^2 \left(\frac{\sigma}{\Delta}\right)^2 \right] \sin\!\left( 2\pi k\frac{s}{\Delta} \right).

正如前面所言,量化偏置由  \frac{\sigma}{\Delta} 决定,并随该比值指数衰减。首谐波给出的主导项为

 |b_\Delta(s)| \lesssim \frac{\Delta}{\pi} \exp\!\left[ -2\pi^2 \left(\frac{\sigma}{\Delta}\right)^2 \right]. 这里我把16-bit 输出写作

 Q_1(X),

将 16→14-bit 输出写作

 Q_4(X),

其中单位均为 DN16。因此,二者期望差值的确定性偏置为

 b_D(s) = \mathbb E[Q_4(X)-Q_1(X)] = b_4(s)-b_1(s).

由上式可得

 |b_D(s)| \le |b_4(s)|+|b_1(s)|.

\sigma 以 DN16 计时,主导项来自 14-bit 量化步长 \Delta=4,因此

 |b_D(s)| \lesssim \frac{4}{\pi} \exp\!\left[ -\frac{\pi^2\sigma^2}{8} \right].

如果确定性量化偏置低于0.01DN16,我认为他是充分小的:

 \frac{4}{\pi} \exp\!\left[ -\frac{\pi^2\sigma^2}{8} \right] \le 0.01

解得

 \sigma \ge \frac{2\sqrt 2}{\pi} \sqrt{ \ln\!\left( \frac{4}{0.01\pi} \right) } = 1.982073445\ \mathrm{DN16}.

所以我取

 \mathrm{RNDN}\ge 2.0\ \mathrm{DN16}

作为进入充分随机抖动区的判据。

一个例子是s1m2在16bit输出,我的预期是他大致会在这个量级。考虑到如今低像素机身越来越少,这个2.0DN作为下限会保持很长时间——此条件下,14-bit 与 16-bit 之间由量化相位造成的确定性偏置已低于 0.01\ \mathrm{DN16},其平均差异主要由随机项而非固定量化台阶决定。

对于本文采用的 GFX100S 黑位噪声模型,

 \sigma(m) = \sqrt{ 4.729^2+1.408m+4.9\times10^{-5}m^2 } \ \mathrm{DN16},

显著高于上述 2\ \mathrm{DN16} 阈值,因此属于充分随机抖动区。

当然,与其引入评价模型,作为视觉量我希望我们还是用直观的图像来观察。

我们来直接做一组对比吧:我这里的对比使用的是最低码值的gfx100s,是σ/Δ最小处。

这里我取了一行作为采样。因为如果你多行一齐来看的话,人眼的最小可辨识圆本身就是相当于自由位深超采了,这甚至更强于跨帧平均的效果。你不要看他就在几个台阶上下蹦就觉得他会有断层。一个极端的例子比如下面的图像完全由纯白和纯黑组成:

你要能指出他在哪一个地方上了下一个台阶,他才是有断层。很明确来说他远高于人可以发现台阶的阈值,即便是在最保守的个位数码值的极暗部。

在单行的情况下,噪声本身的dithering就已经让你怎么拉都看不出阶梯了。

如果牵扯到人眼的自动超采(当然人眼自动超采稍微复杂一点),那么14比16会产生更显著的阶梯吗?或者说在多帧平均的情形下会出现任何14比16的劣势吗?我们在前面已经讨论过了,这里只是给出具体的图像。

此时对比图中你不要比较信噪比,关于信噪比我们前面已经讨论过了,不要在此使用并不利于讨论信噪比的图像重复讨论。我们只看断层。实际上已经毫无差别。

以上


参考文献

Zaman, A. (2004). The Density of the Fractional Part of a Normal Distribution. PDF

编辑于 2026-06-21 · 著作权归作者所有