• Remosaic技术学习


    demosaic算法相信大家一定都有所耳闻,那么什么是remosaic算法呢?首先就得从Quadra CFA或4 in 1技术讲起。

    1、Quadra CFA介绍

    我们熟悉的CFA,如RGGB这种排列方式,称为Bayer阵列。但是随着拍照效果的要求越来越高,这种Quadra CFA阵列被制造出来,他可以提升在弱光条件下的性能和信噪比,提供更加明亮和清晰的图像,而在正常光照条件下也能提供更高分辨率的图像。这种功能是通过两种工作模式来实现的,以16MP的 Quadra CFA sensor为例,在弱光条件或者预览模式下,启动Binning mode,这时16MP被转换成4MP,即所谓的4 in 1,这样相当于将四个像素点的光照集中到一个super pixel内,故能够得到更加明亮清晰的图像或更快的处理速度;而在正常光照下,启动Non-binning mode,仍然是16MP,但是注意到此时的CFA必须转换为传统的Bayer阵列才能送入ISP pipeline处理,此时就需要remosaic算法技术来将Quadra CFA处理成Bayer CFA。如图所示:

    从上面的介绍的可以知道,remosaic算法是做在sensor output和ISP pipeline之间的,因此这部分可以通过stack sensor中的ISP自行处理(硬件),也可以通过在平台pipeline前通过软件算法实现。但是,由于算力的限制,一般软件算法仅适用于拍照模式,预览模式实时的remosaic还不能实现;硬件比软件的remosaic在处理速度上会快很多,硬件Remosaic可以支持full size Bayer预览,然而手机端是否要用full size去预览还需要综合考虑功耗等其他因素。

    2、remosaic算法

    remosaic算法流程大致分为三步:1.首先利用Quadra CFA的插值算法,转换Quad Bayer Raw数据变为RGB数据,类似我们平时看到的Jpeg 2.得到的RGB Image再使用RGB Image转Bayer的算法,将其分解成Bayer Raw Image 3.送回正常ISP进行下一步处理。

    在整个转换过程中,还会涉及到PD补偿、坏点补偿和Crosstalk补偿等一些优化,主要是优化可能在remosaic转换中产生的False Color/Color Noise/解析度丢失等常见问题。这里稍微讲一下Crosstalk补偿。

    对于Quadra CFA的芯片像素,由于所处位置的不同,实际上每个像素点的crosstalk不同导致感光能力有一定差别,通常就需要引入Crosstalk校准来消除这种差异。Crosstalk校准工具,通常将全图分成多个ROI方块,计算各像素通道的能量并确定其补偿数据,芯片再使用这些校准数据让原本不均匀状态的能量分布变得更为平衡。Crosstalk校准补偿在实际图像上的反映主要是去除由于信号差别造成的格子,锯齿状等的色块干扰,这种干扰现象通常在拍摄单一色块的画面会表现得更为明显。

    3、预览高动态3HDR算法

    HDR即High Dynamic Range,高动态范围,动态范围可以简单理解为同一张图片中可以分辨的最暗和最亮部分的比。HDR的实现方式有很多种,3-HDR是Quadra CFA芯片特有的HDR,给每种颜色group配置高中低三种曝光,以实现不同的亮度,最后合成HDR图片。不同于普通HDR技术,3-HDR实时分级曝光技术就是让组成1个大像素的4个基础像素能够实时采集不同的曝光信息,并且同步将这些信息一次处理实现硬件实时分级曝光,不仅前面主体和背景都清晰,而且还能做到预览效果与实际成像完全一致,真正做到所见即所得。

    如图所示,其中T1代表短曝光,T2代表中曝光,T3代表长曝光,流程如下:

    1.将T1、T2、T3以一定的比例设置;

    2.全尺寸出图到Stack Sensor的ISP中;

    3.ISP将三个曝光合成,进行处理,拼接为全尺寸的1/4大小的图像;

    4.输出平台进行后续ISP处理;

    经过合成,48M生成的12M具有比普通12M更改的Dynamic Range,从而为用户带来实时预览HDR和实时录像HDR两个重要功能,大大提升了消费者的使用体验。

    参考:

    https://www.sohu.com/a/334007842_237916

    《Quad-bayer及其相关ISP讨论》-CIS杂谈

  • 相关阅读:
    标准C程序设计七---17
    标准C程序设计七---16
    标准C程序设计七---15
    标准C程序设计七---14
    标准C程序设计七---13
    标准C程序设计七---12
    标准C程序设计七---11
    标准C程序设计七---10
    标准C程序设计七---07
    java常见文件操作
  • 原文地址:https://www.cnblogs.com/zhiming-huang/p/15266887.html
Copyright © 2020-2023  润新知