相机动态范围的原理是什么?
7260 263
[115 楼] james3721 [泡菜]
19-7-9 11:08
娲姝 发表于 2019-7-9 10:09
我不知道你是否懂得什么是量化,下面绿色的 8 位量化(当作是 jpg 吧)和红色的 16 位量化,表示的动态范围不同吗?


物理上的动态范围当然是一样的,但8位和16位可以记录的动态范围确实是不同的。因为微小的亮度变化8位是记录不下来的。
[114 楼] iZaZaD [泡菜]
19-7-9 10:58
rivershaw 发表于 2019-7-9 10:15
14位采样,最大信号是16383,如果不考虑噪声,最小信号是0,动态范围是16383除以0,

有了噪声,一个像素输出1,另一个像素是0,统计均值为0.5,所以对应噪声的统计标准差小于1是完全可能的,结果动态范围就会大于14EV。

即使没有CMOS固定噪声,因为量化噪声的存在,14位采样的动态范围也不太可能超过15EV,


假设如果我有个理想的手电筒,能发出亮度是1-16383 (什么单位我就先不去学习了)均匀光照射到传感器表面。传感器有10个像素。 分两次照射,第一次亮度是1,第二次光的亮度是16383 。

第一次光照射,传感器上的读数得到:1,0,0,0,1,0,1,0,0,1   统计平均值0.4
第二次光照射,传感器上的读数得到:16383,16380,16383,16381,16382,16382,16380,16383,16380,16383, 统计平均值16381.7

那么我说统计出来的这个光线的亮度动态范围是 20log(16381.7/0.4)=92.2dB /6 =15.4EV  

这个计算过程,对吗? 本帖最后由 iZaZaD 于 2019-7-9 11:01 编辑
[113 楼] iZaZaD [泡菜]
19-7-9 10:44
娲姝 发表于 2019-7-9 10:09
我不知道你是否懂得什么是量化,下面绿色的 8 位量化(当作是 jpg 吧)和红色的 16 位量化,表示的动态范围不同吗?


我是这么想的:

首先动态范围是一个可观存在的量,与用什么办法测量无关的,即使不去测量它也存在。

但是不去测量,就不会知道它到底是多少。

那么测量手段不同,会不会导致不同的读出结果? 会不会因为测量手段的局限导致不能完整观测到完整的动态范围?

101楼那个参数表,102Ke- 我理解为是这个像素最大能装下102000个单位的光电子数, 3e- 是能观测到的有效光电子数的下限, 不管用什么量化手段,这个都是传感器本身的固有属性。 20log(102000/3 ) =90.6dB  /6 =15.1EV   , 那么用14位的ADC采样,如果是完全线性的对应关系, 那么14位的数据0-16383,就不足以表达出来这个传感器的全部动态范围了。

[112 楼] 无际 [泡菜]
19-7-9 10:16
iZaZaD 发表于 2019-7-9 09:43
我就是迷糊在14位的采样精度怎么表示出来14位以上的动态范围这个问题上。

不是一个单位

1、现实中的场景,有最亮,有最暗
2、光圈控制进光量在传感器规定的阈值范围内,太亮了比如激光会击穿传感器,太暗了传感器输出电平太低会淹没在传感器底噪音中
3、放大器放大传感器电平信号,并控制在模/数转换器能够采样的电平范围,比如最暗的是0V电压,最亮的是5V电压,当然你规定4.9V也行,反正不能高于集成电路的工作电压
4、模/数转换器可以是14bit规格,也可以是16bit;模/数转换器也有精度,指的是线性误差,比如不是等分16384值,有的等分大一点有的小一点
5、转换后,比如黑色(也就是最暗的地方)映射到14bit的最低值0,白色(也就是最亮的地方)转换成14bit的16383(备注14bit模拟信号转换为数字信号的值,共计2的14次方,也就是16384,实际值为0-16383,注意0也是一个有用值,就是黑)
6、传感器、放大器、模/数转换器处理的都是亮度信号,亮度对应电平,电平模拟值变为数字值。这个转换不见得是线性的,因为实际场景的光比很大,也许在20EV,我不展开了,自己理解
7、如果你保存为raw格式,照片中的最亮与最暗就有16384等分,如果你保存为jpg就只有256等分。
8、相机的动态范围或宽容度指的是一次曝光下,不管是raw还是jpg能够记录的有细节的最暗与有层次的最亮的范围宽度,也可以用范围高度的区间说事
9、这个范围高度区间,受很多影响,电路的噪声大会降低暗部的细节,把有效最暗值提高降低动态范围;也会受算法影响,比如楼上贴的图片,最亮部的因为内容少,曲线向下弯曲就是降低高亮的局部区域的动态,如果不降低拍有天空的景物,地面会处在很低的位置,导致地面景物一片黑。所以高光的电平会进行动态压缩,给暗部腾出足够的范围区间。
10、不管是动态大还是动态小,最后都会映射到0-255这个范围

如果按你的思维 场景亮度范围为0EV-20EV 动态大的可以记录0-14EV的细节 动态小的只记录了 2EV-14EV的细节或者理解成0EV-10EV也行 动态是范围 你也可以理解为宽度 但实际值是大小高低 高度的区间

如果不进行高光的动态压缩 暗部动态范围就很小 就会导致暗部细节或者层次的减少

如果动态很大 同理中间调的层次也会减少

如果动态很小 就如同放大镜 单独看暗部 或者高亮 或者中间调 所以说动态大的中间调必然层次会减少 人物的亮度范围(人物最亮和最暗的范围)一般很小 只有减少动态 不但压缩高光动态 还要压缩暗部动态 中间调的动态也就有层次 才会最丰富

为什么胶片的实际动态很大 因为胶片在感应高亮的时候 即便是激光 洗出来的胶片的 该处也不会是全白

拍静物 可以用多重曝光合成的方式 来提高动态范围 当然静物的场景动态范围也不是很大 最大的动态场景 就是有天空有阴影的大风景场景 比如山峦的暗部与天空的巨大光比 本帖最后由 无际 于 2019-7-9 10:35 编辑
[111 楼] rivershaw [泡菜]
19-7-9 10:15
iZaZaD 发表于 2019-7-9 09:43
我就是迷糊在14位的采样精度怎么表示出来14位以上的动态范围这个问题上。


14位采样,最大信号是16383,如果不考虑噪声,最小信号是0,动态范围是16383除以0,

有了噪声,一个像素输出1,另一个像素是0,统计均值为0.5,所以对应噪声的统计标准差小于1是完全可能的,结果动态范围就会大于14EV。

即使没有CMOS固定噪声,因为量化噪声的存在,14位采样的动态范围也不太可能超过15EV,
[110 楼] 娲姝 [泡菜]
19-7-9 10:09
iZaZaD 发表于 2019-7-9 09:43
我就是迷糊在14位的采样精度怎么表示出来14位以上的动态范围这个问题上。


我不知道你是否懂得什么是量化,下面绿色的 8 位量化(当作是 jpg 吧)和红色的 16 位量化,表示的动态范围不同吗?
[109 楼] rivershaw [泡菜]
19-7-9 10:00
iZaZaD 发表于 2019-7-9 08:55
光子散弹噪声,在这里是不是指各个像素受加工工艺限制导致的性能不均衡? 比如相同的一个光照条件,像素A感应转换出来的量化值是5,像素B可能是7  ,C可能是3  ,是不是这个?


光子散弹噪声是每个像素接受到的光子数不同产生的噪声,与光强、单个像素的面积、光电转化效率有关。
[108 楼] iZaZaD [泡菜]
19-7-9 09:43
无际 发表于 2019-7-9 09:11
有些同好瞎扯 采样精度与动态范围是不同慨念

比如我们常用的8bit的jpg


我就是迷糊在14位的采样精度怎么表示出来14位以上的动态范围这个问题上。
[107 楼] 无际 [泡菜]
19-7-9 09:11
有些同好瞎扯 采样精度与动态范围是不同慨念

比如我们常用的8bit的jpg
[106 楼] iZaZaD [泡菜]
19-7-9 08:55
rivershaw 发表于 2019-7-9 04:47
目前16bit对CPU的处理速度可能还有瓶颈。比如sony,要保证连拍速度,会用12bit。增加量化bit数,对CPU、功耗、存储速度都是压力。

实际上,12EV以上的动态范围足够用了,很多人只盯住指标,并不会实际使用。比如欠曝5档后期提亮观察噪点,即使欠曝5档,仔细计算一下就会发现,噪点还不是读出噪声,还主要是与像素密度有关的光子散弹噪声。


光子散弹噪声,在这里是不是指各个像素受加工工艺限制导致的性能不均衡? 比如相同的一个光照条件,像素A感应转换出来的量化值是5,像素B可能是7  ,C可能是3  ,是不是这个?
[105 楼] camson [禁言中]
19-7-9 08:35
rivershaw 发表于 2019-7-9 04:47
目前16bit对CPU的处理速度可能还有瓶颈。比如sony,要保证连拍速度,会用12bit。增加量化bit数,对CPU、功耗、存储速度都是压力。

实际上,12EV以上的动态范围足够用了,很多人只盯住指标,并不会实际使用。比如欠曝5档后期提亮观察噪点,即使欠曝5档,仔细计算一下就会发现,噪点还不是读出噪声,还主要是与像素密度有关的光子散弹噪声。
是这个理. 专业人士一针见血呀!
[104 楼] 娲姝 [泡菜]
19-7-9 08:34
行摄大葱 发表于 2019-7-8 21:43
动态范围 zV 你都加了单位了

话说 游标卡尺 还有动态范围呢


所以我说这是经典题目,为什么说动态范围 zV,不说动态范围 akHZ?因为这个不叫作动态范围,调频就是输出为频率变化的信号,输出信号的频率变化范围,我刚才就故意不说。它叫做频偏,有专业的术语。而在所有调频系统中,动态范围还是指幅度的变化范围。

游标卡尺当然也有动态范围,因为它测量的是长度,这是一种幅度。

[103 楼] rivershaw [泡菜]
19-7-9 04:47
camson 发表于 2019-7-8 20:58
蓝色部分, 象D850这些动态范围能力优秀的机器, 已经14.8EV, 那意味着135全幅采用16-BIT很快会提上议事日程了吧?


目前16bit对CPU的处理速度可能还有瓶颈。比如sony,要保证连拍速度,会用12bit。增加量化bit数,对CPU、功耗、存储速度都是压力。

实际上,12EV以上的动态范围足够用了,很多人只盯住指标,并不会实际使用。比如欠曝5档后期提亮观察噪点,即使欠曝5档,仔细计算一下就会发现,噪点还不是读出噪声,还主要是与像素密度有关的光子散弹噪声。

[102 楼] rivershaw [泡菜]
19-7-9 04:18
iZaZaD 发表于 2019-7-8 21:32
拿一个实际的传感器的参数来说说吧:


比如这个传感器,最大满阱容量102ke- ,读出噪声3e- ,可以算出来它的动态范围DR=20log(102000/3 ) =90.6dB   =15.1EV  ,那么14位的采样,怎么线性的表示这个传感器所能感应的光线强度范围呢? 我只能想到,光电转换是非线性的。。还有别的思路不?

@rivershaw


不知道它这里的最大满阱容量、读出噪声是怎么估算的。可以把15.1EV的0.1,看成是计算误差,

又仔细看来一下你那个芯片说明,90.6dB(15.1EV)的动态范围是HDR下的,单幅的是77dB,就是12.8EV,
本帖最后由 rivershaw 于 2019-7-9 04:22 编辑
[101 楼] rivershaw [泡菜]
19-7-9 04:13
iZaZaD 发表于 2019-7-8 21:12
看完这段,更糊涂了。。

如果这个图是对的:
那么从图上看很明显PixelValue是明显大于DR的,量化输出最小值=0 而噪声>0  ,一次读出来数据中的动态范围怎么会比量化最大值大呢?


采用像素统计平均的方法计算最大信号与噪声,对14bit来说,最大信号如果是16383,读出噪声可能是0.5,这样计算,动态范围就是15EV,

[100 楼] 行摄大葱 [注销用户]
19-7-8 22:41
用户已注销,历史内容不予显示
[99 楼] ioboy [泡菜]
19-7-8 22:24
因为单个像素点的宽容度高,不只是8bit,而是16bit、32bit、64bit表示一个像素,所以动态范围大。
[98 楼] 行摄大葱 [注销用户]
19-7-8 21:52
用户已注销,历史内容不予显示
[97 楼] 行摄大葱 [注销用户]
19-7-8 21:45
用户已注销,历史内容不予显示
[96 楼] iZaZaD [泡菜]
19-7-8 21:44
行摄大葱 发表于 2019-7-8 21:27
所以说DXO是玄学

正常的图像采集系统,采样位数/位深一定是大于传感器动态范围的,即量化噪声一定要小于最小基底噪声,否则就浪费了传感器动态范围。相机实际的动态范围如红线所示,怎么可能还大于14比特呢?


所以我是这样想的: 传感器本身确实有14.6的动态范围可能不假,但是用14位采样只能浪费一点点动态范围。所以超出的部分在某一张RAW文件可能没有意义了,但是一旦曝光不非常准确,偏差个0.5EV,那么就有意义了。
[95 楼] 行摄大葱 [注销用户]
19-7-8 21:43
用户已注销,历史内容不予显示
[94 楼] 娲姝 [泡菜]
19-7-8 21:34
行摄大葱 发表于 2019-7-8 21:23
带宽也是动态范围,动态范围是指某特定变量的最大取值范围,可以是频率、电压、电流、温度、场强等任何参数。
传感器输出的模拟量也可以是频率、电压、电流等各种都有。


经典题目

载波频率 nMHZ,调制信号 u=sin(pi*xt)V,调频灵敏度 ykHZ/V,动态范围 zV,求带宽

请问动态范围指什么
[93 楼] iZaZaD [泡菜]
19-7-8 21:32
拿一个实际的传感器的参数来说说吧:


比如这个传感器,最大满阱容量102ke- ,读出噪声3e- ,可以算出来它的动态范围DR=20log(102000/3 ) =90.6dB   =15.1EV  ,那么14位的采样,怎么线性的表示这个传感器所能感应的光线强度范围呢? 我只能想到,光电转换是非线性的。。还有别的思路不?

@rivershaw
[92 楼] 行摄大葱 [注销用户]
19-7-8 21:27
用户已注销,历史内容不予显示
[91 楼] 行摄大葱 [注销用户]
19-7-8 21:23
用户已注销,历史内容不予显示
[90 楼] 行摄大葱 [注销用户]
19-7-8 21:18
用户已注销,历史内容不予显示
[89 楼] iZaZaD [泡菜]
19-7-8 21:12
rivershaw 发表于 2019-7-8 20:48
1、动态范围是最大信号与最小信号的比值,最小信号一般确定为信噪比1:1时的信号,DxO就是这样计算动态范围的。

2、对数码照相机,小信号时,一般来说,主要是读出噪声,信噪比1:1,最小信号就等于读出噪声,所以也有用最大信号除以读出噪声计算动态范围的。

3、14bit量化,能不能有14.6EV的动态范围?计算动态范围时,采用像素统计平均的方法计算最大信号与噪声,所以计算出多少EV的动态范围都是可能的,超过14EV完全可能。但是,量化会有一个量化噪声,如果CMOS的固定噪声(读出噪声)非常小、比量化噪声小得多,那么动态范围就变成最大信号除以量化噪声,14bit的量化,动态范围理论最大值约为15EV。


看完这段,更糊涂了。。

如果这个图是对的:
那么从图上看很明显PixelValue是明显大于DR的,量化输出最小值=0 而噪声>0  ,一次读出来数据中的动态范围怎么会比量化最大值大呢?
[88 楼] 娲姝 [泡菜]
19-7-8 21:12
iZaZaD 发表于 2019-7-8 20:29
那我得先用傅立叶变换变到频域上的“幅度”,是不是就对了?


服你也变换是食欲到频域的变换,但不管是食欲还是频域,都是 X 轴,Y 轴还是幅度

一个 0dBV(1Vrms)的正弦波,从食欲变换到频域,幅度还是 0dBV
[87 楼] camson [禁言中]
19-7-8 21:10
行摄大葱 发表于 2019-7-8 21:06
不客气,数字图像处理比较熟悉,照相刚刚入门,还要各位学习
向专业人士学习! 谢谢.
[86 楼] 行摄大葱 [注销用户]
19-7-8 21:06
用户已注销,历史内容不予显示