[Camera]Tuning简介
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Camera]Tuning简介相关的知识,希望对你有一定的参考价值。
参考技术A 影响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/
以上是关于[Camera]Tuning简介的主要内容,如果未能解决你的问题,请参考以下文章
android6.0源码分析之Camera API1.0框架简介
android6.0源码分析之Camera API2.0简介