HDR sensor 原理介绍

一. HDR sensor 原理介绍

1. 什么是sensor的动态范围(dynamic range):

sensor的动态范围就是sensor在一幅图像里能够同时体现高光和阴影部分内容的能力。

用公式表达这种能力就是:

DR = 20log10(i_max / i_min);//dB

i_max 是sensor的最大不饱和电流----也可以说是sensor刚刚饱和时候的电流

i_min是sensor的底电流(blacklevel) ;

2. 为什么HDR在成像领域是个大问题:

在自然界的真实情况,有些场景的动态范围要大于100dB。

人眼的动态范围可以达到100dB。

Sensor 的动态范围:

高端的>78 dB;

消费级的 60 dB 上下;

所以当sensor的动态范围小于图像场景动态范围的时候就会出现HDR问题----不是暗处看不清,就是亮处看不清,有的甚至两头都看不清。

上图暗处看不清--前景处的广告牌和树影太暗看不清。

上图亮处看不清--远处背景的白云变成了一团白色,完全看不清细节。

3. 解决HDR问题的数学分析

根据前边动态范围公式

DR = 20log10(i_max / i_min); //dB

所以从数学本质上说要提高DR,就是提高i_max,减小 i_min;

对于10bit输出的sensor,从数学上来说,i_max =1023,i_min =1;

动态范围DR = 60;

对于12bit输出的sensor, DR = 72;

所以从数学上来看,提高sensor 输出的bit width就可以提高动态范围,从而解决HDR问题。

可是现实上却没有这么简单。

提高sensor的bit width导致不仅sensor的成本提高,整个图像处理器的带宽都得相应提高,消耗的内存也都相应提高,这样导致整个系统的成本会大幅提高。所以大家想出许多办法,既能解决HDR问题,又可以不增加太多成本。

二.HDR Imaging Digital Overlap

Digital Overlap是目前比较流行的sensor HDR 技术,在监控与车载相机等领域的应用非常广泛。Sony于2012年在监控相机市场首先推出基于DOL(digital overlap) HDR技术的图像传感器,之后OV与Onsemi也都推出了与DOL类似的HDR技术的图像传感器,而且应用领域不局限于监控这种传统HDR imaging的市场,而且扩展到了Automotive camera市场。现在Sony已经推出了第二代支持虚拟通道DOL HDR技术的sensor。

1.什么是时域多帧HDR技术

相机在时间上连续输出由欠曝到过曝的图像,然后做图像融合,得到HDR图像。

融合后HDR图像

比较典型的一种融合方法是根据luminance,contrast,motion等条件,对第K帧图像的像素[i,j]给出权重。Wij,k 是第K帧,位置i,j像素的权重,Xk((i,j)是原始像素值,Xf(i,j)是融合后的像素值。公式如下

对彩色图像,权重的计算会考虑色彩的饱和度等因素。

2.传统时域多帧HDR技术存在的局限

由于传统时域多帧是基于连续曝光的整帧图像(Frame Based)进行融合,所以图像之间的间隔时间就是一帧图像的周期,由此会产生很多artefacts:

场景内物体增减

近距离物体快速移动形成拖影

Color artefact

Frame based的多曝光HDR技术常用于still image 的capture,也有视频HDR 采用这种技术,比如sensor以60fps的帧率交替输出长短曝光,融合后输出30fps的HDR图像。

早期的HDR video有采用这种技术,自从DOL技术出现后,这种Frame based Video HDR技术就逐渐退出历史舞台了。

3.什么是DOL HDR

DOL HDR 也叫做line interleaving HDR 技术。以两曝光DOL为例,sensor每行会以长短曝光两次先后输出,从readout角度来看,就是长曝光帧与短曝光帧 line interleaving 依次输出,如下图,第一行L输出,第一行S输出,第二行L输出,第二行S输出,以此类推。

frame based HDR,长短曝光帧的间隔是一个帧周期,也就是必须一整帧(长)曝光结束,再开始一整帧(短)曝光,如下图

对于DOL HDR而言,由于line interleaving(行的交织),存在两帧的overlap,等于一帧输出没结束,下一帧就来了,长短曝光帧的间隔大大缩小了。

从下图可见,长曝光帧与短曝光帧overlap了一部分,所以这种技术叫digital overlap。

4.DOL长短曝光帧的时间间隔

前边说过,Frame based HDR的长短曝光帧的间隔是一帧的时间,那么DOL HDR的长短曝光帧的时间间隔是多大呢?

如果先输出长曝光的话

如果先输出短曝光的话

T= long exposure 的时间

所以当然是先输出长曝光,这样T(时间间隔)会更小。。

5.DOL长短曝光时间比与动态范围扩展

以两曝光DOL 为例

Exposure ratio = Long exposure time/ short exposure time

假设Exposure ratio = 16,假设在xinhao 没有饱和的条件下,相当于曝光最大值增大了16倍:2^4。也就是动态范围扩大了4个bit。

以此类推,每增加一个曝光帧,如果exposure ratio =16,动态范围就可以扩大4bit。

按照一般HDR sensor 单曝光为12bit来算的话,4曝光就可以让sensor输出的动态范围扩大到24bit(12+4+4+4)。

exposure ratio 也不是越大越好,exposure ratio会受到三方面的制约,图像质量,sensor设计以及isp line delay buffer。

从图像质量上来说,短曝光时间越短,图像噪声越高,长曝光越长,motion的影响越大。Exposure Ratio越大,在图像融合后的SNR drop也越大。

从sensor设计上来说,长短曝光之比受到读出电路的限制,sony的DOL第二代采用虚拟通道技术一定程度改善了这个限制。

从ISP的角度来说line delay buffer 也限制了最大曝光时间。在短曝光行出来之前,第一个长曝光行应该还在delay buffer里,这样才能两者对齐好给后面的frame stitch操作。而长短曝光比越大,需要的line delay buffer就越大。

对于sensor做hdr融合case而言,line delay buffer size就是固定的,所以ISP倾向于在isp这端做HDR融合,这样可以更灵活的设计。(Maver注:对于车载而言,带宽是个主要关注点,所以大部分用户不会选择在ISP侧做HDR融合)

6.DOL的局限

Sony在推出DOL的时候,宣传DOL是‘准同时’输出长短曝光。既然是‘准同时’,那就还不是同时,所以也会有一些典型时域多帧HDR的图像质量问题,同时DOL也有一些特有的IQ问题。

HDR Transition Artefacts

可以从下左图看到composition noise造成的edge,这种edge有时候会误导机器视觉。

从DOL hdr的noise profile可以看出来,如下图,在HDR拼接处,可以看到SNR的显著变化,叫做snr drop,当SNR drop大的时候,就会出现明显的edge,如上图所示。

曝光比越小,SNR drop就越小, 可以想见,如果曝光比为1,也就没有snr drop了。反之,曝光比越大,动态范围越大,snr drop也越大,如下图所示。

Flicker

交流电供电光源造成的flickering,如下图:

交流电供电光源造成的flickering,如下图:

为了避免banding,就得让最小曝光时间是半周期的整数倍。

这样就不会出现banding了。但是由于最小曝光时间变大了,动态范围就损失了。所以有时候为了保证不损失动态范围,就得容忍Flickering。这就得看应用场景了。

类似的问题发生在PWM供电的Led光源上,尤其是交通信号灯以及汽车信号灯,如下图所示

sensor的长曝光帧能catch到led 的light pulse,但是短曝光帧就没catch到,这样也会造成flickering甚至信号灯图像的丢失。

这种flicker或者信号灯信息丢失的问题在车载成像系统上是致命的,所以车载HDR现在更倾向采用spatial based HDR技术,比如Sony采用的sub pixel技术或者OV 采用的split pixel技术。

三.HDR imaging split/sub pixel 技术

我们在上一期讲了时域多帧HDR技术--Digital Overlap. 现在在监控领域的WDR sensor主要采用这种技术,如下图,利用不同的sensor曝光(蓝色线所示)覆盖不同的动态范围,再把多曝光图像stitching起来(红色线所示),达到最大的动态范围输出。Sony的imx290,OV的ov4689都是这个类型典型sensor。

车载领域也广泛使用Temporal domain HDR技术,但是随着车载相机在ADAS与自动驾驶领域的迅速发展,对图像质量有着特别的需求,导致Temporal domain HDR技术不能满足需要。车载比较典型的两个IQ需求是不能有motion artefact 和 LED flickering。

motion artefact

LED flickering

Temporal
 HDR 在原理上就存在这些缺陷,所以要解决这个问题就需要使用其他的HDR体制:Spatial HDR技术是现在车载领域的主流解决方案。

比较典型的是Sony sensor(imx390/490)采用的Subpixel技术与OV sensor(ovx1a)采用的split pixel技术,他们都属于SpatialHDR技术范畴,其基本原理是一致的。

1.大小pixel的分离结构

与普通CFA的不同,大小pixel技术的sensor在相邻位置有一大一小两个pixel,他们空间上非常接近,可以认为对空间采样相同。

由于pixel的大小不同,物理上的sensitivity不同,FWC也不同,会产生与时域HDR一样的不同曝光效果,形成了对不同动态范围的覆盖。如下图可以看到LPD(Large Pixel Diode)与SPD(Small Pixel Diode)是如何扩展动态范围的。

2.大小分离pixel的电路设计

典型的大小分离pixel的电路如下图所示

SPD和LPD分别用黄色的二极管标出。CGC(conversion gain control)与TG(transfer gate)控制了photo diode 向FD充电,当TGs使能时,FD接收SPD来的电荷,RS会使能让FD的电荷转存出来。然后当TGL使能时,FD接收LPD来的电荷,RS会再一次使能让FD的电荷转存出来。RST负责在每一次转存后把FD电容清空。这样的电路结构就实现了LPD和SPD的分别读出。这个部分的电路时钟非常快,所以可以认为大小像素是同时曝光的。后面的读出电路也会把大小像素同时读出,由下图可见,T_lpd与T_spd是同时的。

3.大小像素HDR与时域HDR在motion artefact上的比较

由下图可以看出基于大小像素的HDR与时域HDR在拍摄运动物体上的motion artefact比较。

左图是基于大小像素的图像,完全没有motion artefact,右图是时域HDR,可以看到明显的motion artefact。

对于这种更挑战的场景,舞厅的旋转光球,左图是大小像素HDR,右图是时域HDR,可以看到时域HDR的图像把小的运动光点都混到了一起。

4.大小像素与Dual conversion gain的结合

单独靠大小像素只能形成两个曝光的图像,再结合之前介绍过的DCG技术,在大小pixel分别配合HCG,LCG,就可以形成4曝光。

假设单曝光输出12bit,曝光比是16,那总共的动态范围可以达到24bit输出。

5.两种场景的切换

如下图,横轴是场景的光亮度,纵轴是SNR,红色曲线是LPD像素的SNR曲线,蓝色曲线是LPD像素的SNR曲线。

SPD的饱和点更高,而LPD的低光SNR更高。这两条曲线说明了大小像素这种设计可以很灵活的适配场景的变化,当场景非常亮的情况,就用大小像素融合输出,这样可以扩大动态范围。

当场景非常暗的情况,就完全切换到LPD像素,因为它的SNR更高。

HDR sensor 原理介绍的更多相关文章

  1. 03 Yarn 原理介绍

    Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理   Hadoop的1.X架构的介绍   在1.x中的NameNodes只可能有一个,虽然可以通过Se ...

  2. 04 MapReduce原理介绍

    大数据实战(上) # MapReduce原理介绍 大纲: * Mapreduce介绍 * MapReduce2运行原理 * shuffle及排序    定义 * Mapreduce 最早是由googl ...

  3. Android Animation学习(一) Property Animation原理介绍和API简介

    Android Animation学习(一) Property Animation介绍 Android Animation Android framework提供了两种动画系统: property a ...

  4. [转]MySQL主从复制原理介绍

    MySQL主从复制原理介绍 一.复制的原理 MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等等).每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以 ...

  5. 分布式文件系统FastDFS原理介绍

    在生产中我们一般希望文件系统能帮我们解决以下问题,如:1.超大数据存储:2.数据高可用(冗余备份):3.读/写高性能:4.海量数据计算.最好还得支持多平台多语言,支持高并发. 由于单台服务器无法满足以 ...

  6. 内存分析_.Net内存原理介绍

    内存原理介绍 1.       .Net应用程序中的内存 1.1.Net内存类型 Windows使用一个系统:虚拟寻址系统.这个系统的作用是将程序可用的内存地址映射到硬件内存中的实际地址上.其实际结果 ...

  7. 液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

    液晶常用接口“LVDS.TTL.RSDS.TMDS”技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国国家半导体公司提出之 ...

  8. 淘宝JAVA中间件Diamond详解(2)-原理介绍

    淘宝JAVA中间件Diamond详解(二)---原理介绍 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本次为大家带来的是diamond核心原理的介绍,主要包括server ...

  9. Traceroute原理介绍

    一.路由追踪 路由跟踪,就是获取从主机A到达目标主机B这个过程中所有需要经过的路由设备的转发接口IP. 二.ICMP协议 Internet控制报文协议(internet control message ...

随机推荐

  1. 1. APP移动端性能测试基础知识入门

    本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期

  2. SLAM导航及控制部分,源码公布

    欢迎Fork,觉得不错就点个小星星吧 ROS源码 https://github.com/ShieldQiQi/TX2_StereoSLAM STM32驱动板源码 https://github.com/ ...

  3. Xposed框架中XSharePreference的使用

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/81194406 在Xposed框架的模块编写中,通常希望我们自己写的Android ...

  4. Windows域的管理

    目录 域的管理 默认容器 组织单位的管理 添加额外域控制器 卸载域控服务器 组策略应用 域的管理 域用户账户的管理 创建域用户账户 配置域用户账户属性 验证用户的身份 授权或拒绝对域资源的访问 组的管 ...

  5. Thinking in UML 笔记(一) -- 面向对象

    一.UML 中最重要的就是面向对象. 面向对象的认识论可以构建更为复杂的系统来解释复杂的世界. 1. 面向过程,一切都是相互紧密地联系在一起,互相作用,互相影响. 2.面向对象, 世界是分割开的,只有 ...

  6. 我写了一个简单的JSON序列化和反序列化的工具

    背景 互联网上有许多可用的Json序列化和反序列化的工具,例如fastjson,jackson,Gson等等,那么,我为什么还要自己写一个? 项目不方便依赖其他第三方库.比如有时候我们编写SDK,考虑 ...

  7. [MySQL数据库之记录的详细操作:增、改、删、单表查询、多表查询]

    [MySQL数据库之记录的详细操作:增.改.删.单表查询.多表查询] 记录详细操作 增.删.改 增: insert t1(字段1,字段2,字段3) values (值1,值2,值3), (值1,值2, ...

  8. select执行顺序

    先from 找到表on过滤 找到两张表有对应关系的记录按join的方式添加外部行where 过滤group by分组having 过滤select 从having 过滤出来的字段中选择需要的字段dis ...

  9. Java集合,扑克牌的小项目练习

    Java集合,扑克牌的小项目练习 2小时学完了类与集合,一直二倍加跳过,集合和类的学习我觉得得多实践中去记住,光靠背,永远也背不完,学的时候记一下常用的,特殊的就行了,用的时候再查,多写代码才能会,哈 ...

  10. Java集合详解(五):Hashtable原理解析

    概述 本文是基于jdk8_271版本进行分析的. Hashtable与HashMap一样,是一个存储key-value的双列集合.底层是基于数组+链表实现的,没有红黑树结构.Hashtable默认初始 ...