[Camera]Tuning简介

如题所述

第1个回答  2022-07-06
影响camera最终效果有以下几个方面:
1、硬件
image sensor:供应商有Sony、OV、Samsung等,决定摄像头的像素、感光能力等;
镜头:决定摄像头的光圈、解析度;
ISP:决定数据处理速度,会对帧率有影响;
2、算法
由AP供应商提供,一般的手机公司不会动;
3、Tuning
修改算法的参数,让画质达到最优。

选定了硬件之后,能提升画质的工作就只有tuning了,通过不断的权衡tuning参数,让camera在主观效果和客观效果方面都有较好的表现,tuning的工作就完成了。

黑电平(Black Level Correction)也就是黑色的最低点,以8bit数据来说,指在经过一定校准的显示装置上,没有一行光亮输出的视频信号电平。定义图像数据为0时对应的信号电平。

那么为什么要进行黑电平校正呢?原因如下:

​ 现在的主流cmos sensor都是自己把black level已经处理完了。在isp部分减掉的其实不是black level,而是sensor统一做出来的pedestal。sensor端不会将bl减完,因为sensor输出不能为负数,若将bl减完,就等于小于0的部分直接就丢掉了,这样做会改变noise的分布。

一般BLC模块会放在ISP比较靠前的位置,因为我们希望图像在进入其他模块之前能够还原最为真实的图像。有些sensor会在sensor内部集成BLC的模块,那么此时ISP里的BLC模块只做微调即可。

由于硬件设计人员在设计BLC模块时需要考虑效果和成本,因此目前市场上使用的ISP一般采用的方法是在sensor输出的图像上减去一个数值。

BLC各个通道均需要校正,目前比较常用的方法有:

镜头阴影校正(Lens Shading Correction)是为了解决由于lens的光学特性,由于镜头对于光学折射不均匀导致的镜头周围出现阴影的情况。

shading可以细分为luma shading和color shading:

此外,还有CRA的原因会导致shading现象的出现。

lens shading的校正是分别对于bayer的四个通道进行校正,每个通道的校正过程是相对独立的过程。

考虑到芯片设计的成本,因此一般情况下不会存储整幅图像的lut,目前主流的都是存储128*128个点的增益,利用双线性插值的方法计算每个pixel的增益。

拍摄color checker24色板,将相机拍摄图片值与色板标准值之间进行对比(RGB颜色空间),得出一组能将拍摄值校正到最接近标准值的3x3矩阵。通过这个矩阵对所有相机拍摄的图片进行颜色校正

去噪。采用特定的LPF(Low Pass Filter)对图片进行滤波,滤除图像的噪声成分,而Bilateral filtering即双边滤波器,它是一种保护边缘的平滑滤波器,这样既可以滤除噪声,edge又可以保留下来。

​ 上面只是列举了很少一部分的tuning项,实际上有非常多的tuning项目。camera tuning是由专门的tuning工程师来调试的。下图是一张tuning 工程师大概需要掌握的知识和技能。

​ 作为android驱动或者系统工程师,只需要大概了解这些校正项的成因,现象就可以了。这样在调试摄像头出现问题时有助于我们快速定位属于那一类问题,并了解大致的原因和解决方法。

个人博客: https://www.letcos.top/
相似回答