5.4 眩光与鬼影 (Flare)

由强光造成的照片发白、形成光晕的现象称作眩光(Flare)。当光源在画面上移动时,光晕也会在画面上漂浮游动,忽上忽下,忽左忽右,有如幽灵一般,所以称之为鬼影。我们知道镜头是由多枚镜片构成的,而镜片则是采用玻璃或塑料等材料制造,如果不进行特殊处理,镜片表面会反射大约5%左右的入射光线。当强光进入镜头时,各枚镜片的表面反射的光线会在镜头和摄像机内部多次反射,最终在sensor上映射出一连串的光晕,这就是眩光和鬼影产生的原因。


v2-f4937ff08351b682289e12f93972c359_1440w.jpg



5.5 面纱眩光 (Veiling glare)

实际的镜头内总会存在一些杂散光。所谓杂散光就是那些不是按照设计路径传播的光线,它们在镜片和镜筒内部多次反射和散射,最终会扩散到sensor上形成光晕。

当镜头面向大面积强光的时候,杂散光的强度迅速提高,其作用范围也不再局限于图像的局部,而是像洪水一样扩散到整个sensor面积上,整体抬升了像素值,造成全局性的对比度下降,图像看起来像是蒙上了一层纱,所以这种现象称为面纱眩光,下图是一些实际的例子。


v2-78c359b15b784112b953e60a1c02ff31_1440w.jpg
v2-4dc9f63fd0f60c17b69f45327416dc4f_1440w.jpg
v2-0f20518396e61ac31d8e6ffc775dfa20_1440w.jpg


下面的英文解释总感觉更加清晰一些。

Veiling glare is a global illumination effect that arises from multiplescattering of light inside the camera’s body and lens optics.

Veiling glare is light that's not intended to be part of the image, but ends up on the recording medium (film or sensor) anyway. It's caused by reflections and scattering of light by optical elements and the lens barrel. This produces an overlay of general brightness, which raises what should be the darkest parts, reducing overall image contrast.

导致杂散光的因素有如下几个:

第一,镜头光学表面的反射。按照菲涅尔定律,凡是存在折射系数突变的地方就会存在反射,也就是只要镜头材料的折射系数不等于1(也就是空气的折射系数)就会存在一定程度的反射,反射的程度与入射光线的角度有关。在镜片上镀增透膜可以降低反射系数,一般来说多层镀膜的效果要优于单层镀膜,但是镀膜会提高镜片的成本,同时也存在收益边界,即使是最优秀的镀膜技术也无法完全抑制菲涅尔反射

第二,镜片侧面的反射。在镜头设计过程中,设计师往往只是考虑镜片前后两个光学表面对光线的折射,很少考虑镜片的侧面(也就是圆柱面)对光的影响。有些设计精良的镜头会把镜片侧面涂成全黑,阻断杂散光在镜头内传播的路径。因为世界上没有反射系数等于0的全黑材料,所以也只能部分阻断。

第三,光学表面的瑕疵。如划痕,微粒,边角处的崩碎,都会反射/折射额外的光线。

第四,镜筒内部的散射。尽管大多数镜头内部都采用黑色消光材料制作,有些还在内表面上加工了消光螺纹,但是仍旧无法完全消除杂散光的影响。

由于以上原因,当画面中存在强光源的时候,杂散光的影响会变得非常明显,会极大地降低图像质量。

关于杂散光的更多内容可参考知友的主题文章


5.6 条纹伪影 (Streaking Artifact)

Streak 原意是裸奔的意思,这里特指一些像素值溢出到相邻区域形成的伪影。CCD sensor 存在blooming/smearing现象会引发streak,但是这种机制在CMOS sensor 中并不存在。


v2-18eb160fec8506e6c7555f1d228da572_1440w.jpg




如果CMOS 图像中出现streak伪影,则多半是由算法原因引起的(滤波器、编码器等),比如下图的例子。


v2-e4711056b19c469287c853f1f62bf755_1440w.jpg



5.7 等高线效应 (Contouring)

8 位二进制数最多可以表示256个不同的灰度等级。当sensor的精度低于8位时,sensor的输出不能很好地表示渐变的颜色,就会出现下图所示的等高线效应。这种效应在拍摄白墙等单色背景时尤其明显。


v2-1c62773267b0d9bce1f63875b21e1f53_1440w.jpg


另一方面,虽然现在的主流sensor都是10位或者12位的,但是最终图像的存储格式仍然是以8位为基础的,比如H.264/H.265图像编码器需要YUV420作为输入格式,其中亮度分量Y用8位数据表示,这就会不可避免地导致contour效应。

为了缓解contour效应,一种常用的办法是在量化过程中人为地施加随机噪声,噪声的作用是模糊原本清晰的量化边界,使灰度渐变显得更加平滑,这种技术叫做抖动(dithering),可以有效地缓和contour。另一种办法则更加简单直接,即用10~12位数表示YUV,从源头上避免精度损失。这种方法涉及到编解码、存储、传输、显示整个链条的设备升级,因此必然是一个缓慢的过程。

参考资料


转自:https://zhuanlan.zhihu.com/p/100777121