目录

  • BLC简介
  • 黑电平校正的原因
  • 黑电平校正的代码
  • 黑电平校正对图像的影响

BLC简介

BLC(Black Level Correction),即黑电平校正。

首先我们先介绍一下黑电平(Black Level),黑电平即是当图像数据为0时对应的信号电平,不同位深数据的黑电平也不同。目前手机上主流的是raw10数据,即数据范围为0到1023,对应的OB值(Optical Black)一般为64.当raw图数据为12bit时,对应的OB值为256.

黑电平校正的原因

理论上的camera sensor输出电平值和环境的亮度成正比,环境亮度越大sensor输出电压越高,电流越大。但是实际上因为sensor电路本身会存在暗电流,导致没有光线输入的时候也有一定的输出电压,所以需要把这部分的输出减掉,使sensor的输出电压与输入的亮度成正比。
       目前主流的sensor会有几行完全遮黑的dark row用来计算处理暗电流,如下图。sensor输出的是已经减过black level的数据。

       既然sensor已经减去了black level,那手机ISP流程减去的是什么呢?其实是sensor统一做出来的offset,主要的作用是保留sensor输出的负信号,sensor是不能输出负信号的,如下是有offset的数据分布和没有offset的数据分布:

       可以看出如果sensor不做这个offset的话,暗处的负信号放不出来,影响了pixel信息的分布,从而导致图像(主要是噪声)的效果不好。
       理论上这个offset值应该不会改变,但实际上因为dark row和正常曝光的pixel的暗电流稍微有些差别,在低倍gain的情况下不明显,高倍gain下差距就会进一步拉开,一般高倍gain的OB值会更高,OB值如果暗处过高会导致暗处偏红等效果问题,一般手机项目对芯片的OB值都会有个范围的要求。

黑电平校正的代码

黑电平校正一般处于ISP pipepline很靠前的位置,代码如下:

def ob_correction(data,black_level,bit_depth):data = np.float32(data)data[::2,::2] = (data[::2,::2] - black_level[0])/(2**bit_depth - black_level[0])data[1::2,::2] = (data[1::2,::2] - black_level[1])/(2**bit_depth - black_level[1])data[::2, 1::2] = (data[::2, 1::2] - black_level[2]) / (2 ** bit_depth - black_level[2])data[1::2, 1::2] = (data[1::2, 1::2] - black_level[3]) / (2 ** bit_depth - black_level[3])data = data * 2 ** bit_depthdata = np.clip(data,0,2**bit_depth)return data

黑电平校正对图像的影响

对于黑白图像,如果不做BLC的话,即把本来没有信号输出的pixel当成有信号输出,体现在图像上即纯黑的物体不够黑,图像看上去发蒙、发白。

       对于彩色图像,因为sensor对R/G/B响应不同以及手机后续ISP处理的原因,如果不做BLC或者扣除的OB值有问题的话会导致比较明显的偏色问题,OB值减多了整体画面会偏绿,减少了会偏红。具体原因后面的ISP流程会讲到。

       有些设计不好的camera sensor会有强光特定角度照射、芯片输出图片偏绿的问题,也和BLC有关。对产生原因感兴趣的同学可以关注一下微信公众号 “有如念夏“”,后续会更新手机ISP的其他流程。
       码字不易,如果感觉这篇文章对您有帮助的话,麻烦点赞、关注一下,谢谢!

手机影像ISP流程:BLC相关推荐

  1. 手机影像内卷几时休?

    当一个词被滥用时,就说明它的内涵已经随着扩大化而变形了,比如YYDS,比如内卷."内卷"一词由美国人类学家格尔茨在<农业的内卷化>一书中提出,本意是发展到一定程度之后, ...

  2. 为什么说vivo V1是引领手机影像的变革之作

    9月6日,vivo在题为"芯之所像"的技术分享会上,宣布推出自主研发的专业影像芯片vivo V1,将手机影像技术带入了极具变革意义的硬件级算法时代. 一.全面开启手机硬件级算法时代 ...

  3. 手机影像二十载,AI多摄会是终极答案吗?

    上世纪20年代,拉兹洛·莫霍利·纳吉曾说,"不懂得摄影的人,便是将来的文盲".如今大规模普及的手机摄影,正好说明了这句话惊人的预见性.自拍.合影.短视频--按下手机拍照键记录生活, ...

  4. “影像新物种”小米11Ultra:手机影像超车传统相机,小米突破影像天花板

    作为国产手机厂商的佼佼者,小米在今年春季新品发布会,一举发布了三款旗舰手机--小米11Ultra.小米11Pro.小米MIX FOLD.在发布会上,小米创始人雷军喊出了"拐点之战" ...

  5. 开创手机影像全新时代的微云台要来了!vivo X系列夏季新品发布会今晚高能来袭...

    [TechWeb]今日晚间19:30分,vivo X系列夏季新品发布会即将召开,预热已久的vivo X50系列旗舰级影像手机即将正式与广大消费者见面. 伴随着5G时代的来临,手机拍视频已经成为了大家的 ...

  6. 民生证券手机网上开户流程

    民生证券手机网上开户流程 开户前请注意准备好: (1)身份证:在有效期内的本人二代居民身份证原件(暂不支持临时居民身份证:要求年满18周岁) (2)智能手机一部(Iphone或者安卓系统手机,具有前后 ...

  7. 华安证券手机网上开户流程

    华安证券手机网上开户流程 开户前请注意准备好: (1)身份证:在有效期内的本人二代居民身份证原件(暂不支持临时居民身份证:要求年满18周岁) (2)智能手机一部(Iphone或者安卓系统手机,具有前后 ...

  8. Android 手机灭屏流程分析详解

    参考地址:https://www.jianshu.com/p/9241f3a91095 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 1.前言 2.Pow ...

  9. ISP流程Gamma校正思路

    ISP流程Gamma校正思路 这两天一直在做一个工作关于调整Gamma曲线使得图像在高曝光区域可以良好适应. 遇到有一个难题,是如何将我们在PQtool工具中调试的gamma对应的数值写入到设备程序当 ...

最新文章

  1. 就是这么牛逼,利用Python绘制炫酷专业插图就是这么简单
  2. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
  3. python那么慢为什么还有人用-为什么大家都说python编程的效率速度慢呢?
  4. Computer:计算机测试理论(开发/测试/上线)之DEV、SIT、UAT、PRD四套环境详细介绍之详细攻略
  5. js基础练习题 二次封装函数
  6. python3 cgi传数据
  7. 鸿蒙os 2.0跑分,预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000、8GB内存
  8. 每天一小时python官方文档学习(四)————数据结构之列表
  9. C++ —— 初识C++
  10. The Two Routes CodeForces - 601A(水最短路)
  11. java综合案例_综合实例 - Java House - BlogJava
  12. dijkstra算法matlab程序_Dijkstra算法例子
  13. [DC]学习design compiler
  14. 将数学模型用matlab,matlab课件第3章_控制系统的数学模型及其转换.ppt
  15. sift计算效率优化_【计算机视觉】9. 小结
  16. 数据全生命周期管理,华为FusionData一个方案搞定
  17. 2019利兹大学计算机排名,2019软科世界大学学术排名利兹大学排名第101-150
  18. php批量导入多个excel,php的excel数据批量导入
  19. IC中LDO电路的DRC验证问题
  20. Python爬虫之string、strings、stripped_strings、get_text和text用法区别

热门文章

  1. 数据库总结之基础知识篇
  2. SOFA Weekly|SOFANews、issue 精选
  3. linux清理网卡流量,Linux实时显示网卡流量的工具nload
  4. 《图解HTML》第四节 HTML标签分类与实践
  5. 如何用纯 CSS 创作一个失落的人独自行走的动画
  6. 进销存设计与分析_成本核算(7)
  7. ASDL宽带自动连接程序。解决每次手动连接之忧。
  8. N5K VPC功能配置及测试
  9. 故事・ことわざ・四字熟語a
  10. SpringBoot 之 Tomcat 与 Undertow 容器性能对比