高通平台ISP中的LSC模块分析
更新记录:
V1 2020.10.26 高通平台ISP中的LSC模块分析
关键字:
高通,Qualcomm,ISP,LSC,镜头阴影校正,lens shading correction,luma shading,color shading,rolloff,tintless,DXO,Imatest
本文内容:
一、基本概述
二、LSC算法和golden原理
三、调试方法
四、测试方法
一、基本概述:
Lens Shading Correction即镜头阴影校正,是为了解决由于lens的光学特性,究其原因是镜头对于光线打到镜头表面,而发生折射不均匀,导致的镜头周围出现阴影的情况。
镜头阴影(Shading)可以细分为luma shading(亮度阴影)和color shading(色彩阴影)
luma shading是由于镜头的光学特性,其Sensor边缘区域接受到的光线强度比sensor中心弱,而导致的中心和四角边缘亮度不一致现象,也就是中心亮四角暗;再通俗点说,镜头本身是个凸透镜,根据凸透镜原理,中心光强肯定比边缘的多很多,会造成图像边角偏暗,就是所谓的暗角;DXO测试中将其称为Vignetting,中文翻译是”渐晕“。
color shading或chroma shading,是由于大自然有无数波长的光源,不同颜色的入射光中波长不同,不同波长的光的折射率也不同,打到镜头表面上时,经过了透镜的折射,其折射角度也是不一样的,这就导致入射光中不同的波长的光落在sensor表面的的位置不同,造成照片的色彩不均匀的现象。称为color shading现象,我们经常看到的彩虹也就是因为自然光不同波长折射不同,呈现出来的现象;这里color shaidng的根本原因一般来说,sensor大小和lens的设计匹配,以及镜头和sensor的CRA不匹配有关。
注意:
1.这里在分析lsc的时候,要先排除点OB和sensor线性化以及layout排线不良导致的OB异常现象,都是需要提前找sensor厂或者模组厂提前解决掉;
2.还得排除由于模组COB制作工艺差,以及组装挤压带来的tilt等原因,导致的shading,要第一时间找硬件去沟通解决规避改进;
二、LSC算法和golden原理:
高通平台采用的17*13的等分大小的grid,同一个grid中的的lsc gain是一样的,表现的趋势是中心gain补偿数值小,四角数值大,这也会带来四角的降噪强度要加大。
将图像分四个通道,每个通道分成17*13个块进行矫正,用chromatix工具生成。
golden原理,是以调试的时候,导入golden模组在工厂的校准数据,然后校准golden的lsc数据,normal模组其在工厂校准的数据和golden模组的进行比值,normal模组的lsc补偿就是golden模组校准的lsc数据乘以比值系数,做到尽量和golden一样的校准结果表现;
Tintless是高通的一种动态LSC的机制,针对color shading的改善是很大的帮助,tintless不能只能设置7,经过算法输出之后超过7.99可能会报错,这里需要在出现color shading时,和高通一起去分析tintless的强度要在多少合适。
校准光源有:D65、A、TL84、H、以及弱光下对应的光源、闪光灯,根据色温所线性差值apply;
三、调试方法:
LSC由于会导致边角偏色,测试都会认为是AWB的问题,因此这个模块,都是调试AWB的同事在调试;
调试方法比较简单,根据平台所需抓取的chromatix中的raw,导入其中配置校准半径和强度点击校准即可生产参数,但是其中有一些细节关键需要注意,这是决定lsc校准的好与坏的关键:
1.镜头位置:
拍摄LSC的raw照片时需要将lens推到无限远距离再去拍;
这里可以设置手动设置AF位置推到无限远的逻辑值;
2.抓取的raw图:
使用毛玻璃盖住手机镜头,
raw图的G通道中心平均亮度要在70%~80%之间,一般可以设置EV+1的亮度;
闪光灯的raw图,需要用另一台机器,打开手电筒模式对着镜头去拍raw,这里的打开的机器的灯,建议是golden闪光灯的灯,尽可能做到色温处于中间,减少闪光灯的lsc偏差;
将Golden灯的机器固定放在一个高度上稳定,对准lsc golden模组,然后拍raw,计算,查看四角rolloff参数是否尽可能一致,
3.千万不能有水波纹:
anti-banding设置50HZ,且要注意在A或H的时候由于曝光时间过小,极易产生水波纹或者叫flicker,需要调整曝光策略或AE亮度。
4.校准参数强度:
针对outdoor的光源,一般设置半径是90%,强度是85%
针对indoor的光源,一般设置半径是90%,强度是88%或90%
针对lowlight的光源,一般设置半径是60%,强度是50%甚至0%,既不做lowlight校准,这里需要去权衡暗角和噪声过大的问题,强度可调,但是过大的强度lsc gain会很大,导致在很高的gain场景下,四角的噪声会非常大,导致画质效果变差;
闪光灯:的强度和lowlight配置一样;
这里的的配置也仅仅是建议值,一般也要看模组硬件,光圈大小,要做适当调整;光圈大,衰减就严重,强度需要加大,光圈小,衰减小,强度可以适当降低;
5.查看校准的数值:
点击校准之后,我们要查看gain值四角是否一致,在这里一定要尽可能保持一致,如果不一致说明组装有问题,或者模组有tilt,先拆除重新组装试试看;
注:带有sensor OTP的模组要做到LSC target 在模组厂校准的时候要在控制60%以下,不然tintless可能会出现问题;
四、测试方法:
1.客观测试
imatest测试:
1.测试光源:D75、D65、TL84、A等可多光源验证,使用灯箱下或者同样光源的DNP
2.使用毛玻璃盖住手机镜头,对着光源,去拍JPG
3.使用imatest测试color shading和亮度均匀性
DXO测试:
1.灰卡上的客观测试
2.DXO mark上的color shanding测试
3.Dot图卡上的vignetting测试
2.主观测试
1.拍摄白墙或者实验的灰墙,主观查看四角是否有暗角情况,同时观察四角的颜色以及噪声现象
2.纯天空,查看shading
3.一半室内,一半天空,有高亮场景,逆光搞动态,
4.弱光下,观测四角噪声和暗角是否可以接受
5.闪光灯情况对着白墙或者灰墙;