Contents

Embedded:RV1126 camera驱动相关阅读笔记

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

文档地址:/rv1126_rv1109_linux_201230/docs/RV1126_RV1109/Camera

ISP20应用开发参考

文档:Rockchip_Instruction_Linux_Application_ISP20_CN.pdf

ISP20 源码路径: camera_engine_rkaiq/hwi/isp20

介绍如何获取Camera数据流以及RkAiq 3A Server独立进程。

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302101001178.png

ISP20可以输出四路数据流

entity name video id max width support output fmt
rkispp_m_bypass /dev/video13 不支持设置分辨率,不支持缩放 NV12/NV16/YUYV/FBC0/FBC2/
rkispp_scale0 /dev/video14 max width: 3264, 最大支持 8 倍缩放 NV12/NV16/YUYV
rkispp_scale1 /dev/video15 max width: 1280, 最大支持 8 倍缩放 NV12/NV16/YUYV
rkispp_scale2 /dev/video16 max width: 1280, 最大支持 8 倍缩放 NV12/NV16/YUYV

RKISP 驱动

文档:

视频:

RKISP驱动主要是依据v4l2 / media framework实现硬件的配置、中断处理、控制 buffer轮转,以及控制subdevice(如 mipi dphy及sensor)的上下电等功能。

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302101001951.png

CIS(cmos image sensor)驱动

多sensor 注册

sensor0->csi_dphy0->csi2->cif->isp0->ispp0 sensor1->csi_dphy1->isp1->ispp1

实例参考arch/arm/boot/dts/rv1109-evb-ddr3-v12-facial-gate.dts gc2053->csi_dphy0->csi2->cif->isp1->ispp1 ov2718->csi_dphy1->isp0->ispp0

VCM驱动

VCM: 即音圈电机,利用法拉第定律,通过改变马达线圈电流的大小,改变产生的电磁力大小,来控制弹簧片的拉伸位置,从而带动LENSE的运动。

FlashLight驱动

闪光灯

FOCUS ZOOM P-IRIS驱动

P-IRIS是通过控制P-IRIS镜头中的步进电机动态精确的控制光圈大小。

DC-IRIS驱动

自动光圈能够根据光线亮度的变化自动调节光圈孔。

RK-IRCUT驱动

IR-CUT双滤镜是指在摄像头镜头组里内置了一组滤镜,当镜头外的红外感应点侦测到光线的强弱变化后,内置的IR-CUT自动切换滤镜能够根据外部光线的强弱随之自动切换,使图像达到最佳效果。

ISP 系统调优

文档 :Rockchip_Tuning_Guide_ISP2x_CN_v1.5.0.pdf

ISP模块支持标准的Sensor图像数据处理,包括自动白平衡,自动曝光,Demosaic,坏点矫正及镜头阴影矫正等基本功能,也支持HDR、去雾、降噪等高级处理功能。

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302092106863.png

Demosaic模块

Sensor输出RAW数据后,需要经过Demosaic模块(ISP中)将其转成RGB图像。

线性模式图像质量调优

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302101001271.png

HDR 模式图像质量调优

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302092106267.png

其他

ISP(Image Signal Process)

  • (1)BLC(Black Level Correction)/ Black Level Compensate (OBC) :黑电平校正。

  • (2)DPC/BPD(Defect Pixel Correction/Bad Pixel Detect):坏点校正/坏点检测。

  • (3)FPN(Fix Pattern Noise):固定模式噪声。

  • (4)LSC(Lens Shading Correction)/Color Shading :阴影校正。

  • (5)Flare offset:光学上称Flare也叫stray light,耀斑补偿。

  • (6)AE(Auto Exposure):自动曝光。

  • (7)AF(Auto Focus):自动对焦。

  • (8)AWB(Auto White Balance ):自动白平衡。解决环境光不同色温导致整幅图片偏色的情况。

  • (9)DM(Demosaicing/Color Filter Array Interpolation/CFA插值):CMOS Sensor出来的RawData是Bayer格式的图像,每个像素只有一个通道的信息。DM是将Bayer格式的图像恢复成每个像素用RGB三通道表示的方式。

  • (10)CCM(Color Correction Matrix/ DSC color calibration):颜色校正矩阵。

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

  • (12)EE(Edge Enhancement/Edge Sharpening):锐化,边缘增强。通过滤波器获取图像的高频分量,按照一定的比例将高频部分和原图进行加权求和获取锐化后的图像。

  • (13)DRC/HDR(Dynamic Range Compression/ High-Dynamic Range):宽动态。高动态图像的拍摄出来的结果通常会有,亮部太亮,暗部太暗的问题。DRC是调整图像暗部亮度使之变亮,调整亮部亮度使之变暗,而且保持图像的对比度。

  • (14)PCA/VDE:Hue,Saturation,Contrast,Brightness调试。单独针对Hue,Saturation,Contrast,Brightness各图像分量进行调节。

  • (15)Histogram:直方图均衡化。重新分布图片的亮度。使图片的亮度分布更加均匀。

  • (16)FlashLight Control:闪光灯控制

  • (17)Cross talk:Optical cross-talk是当主光线进光角度过大,导致光线不能有效地进入本像素的Microlens内,而是进入相邻像素单元或其他无效区域内的现象。

  • (18)Gradation Control(GDC):可能是对图像数据精度进行的操作

  • (19)Scaler:对图像进行缩放,缩放的过程中采样和插值直接影响图像的细节质量。

  • (20)Adaptive tone scale:(这个没有办法处理多种场景)进来的影像,根据histogram,可以调节,让其明暗亮度的曲线比较好看。

  • (21)Dynamic Range Compression:就是把暗的地方变亮一些,亮的地方变暗一些。AE的主要目的是避免亮度饱和的pixels,其余exposure的pixel可以通过DRC校准回来。

镜头的结构

https://cdn.jsdelivr.net/gh/zhangyuhu/share_images/images/202302092106290.jpg

Lens->VCM音圈马达->底座支架->Sensor->Driver IC->output interface

AF模组通常由镜头,VCM,Sensor,底座,驱动IC以及电源构成。

  1. 镜头: 由几片透镜组成,通常有玻璃透镜和塑料透镜
  2. VCM: 即音圈电机,利用法拉第定律,通过改变马达线圈电流的大小,改变产生的电磁力大小,来控制弹簧片的拉伸位置,从而带动LENSE的运动。
  3. Sensor:一般有CCD和CMOS两种,CMOS和CCD相比在制造工艺,能耗水平和成本方面都有优势,业内使用的比较多,CCD在低ISO时对图像细节的刻画比较好,但只有少数厂家生产使用。
  4. 底座:用于固定模组;
  5. 驱动芯片:用于控制和通信;
  6. 电源:常用的有3.3V和2.5V,在使用AF模组时要注意根据说明提供电源。

IR-CUT双滤镜(Infrared-CUT)

IR-CUT双滤镜是指在摄像头镜头组里内置了一组滤镜,当镜头外的红外感应点侦测到光线的强弱变化后,内置的IR-CUT自动切换滤镜能够根据外部光线的强弱随之自动切换,使图像达到最佳效果。也就是说,在白天或黑夜下,双滤光片能够自动切换滤镜,因此不论是在白天还是黑夜下,都能得到最佳成像效果。

IR CUT双滤光片切换器的驱动方式和机构多种多样,主要分电感线圈式和电机式:

A、电感线圈式又分线圈运动或磁铁运动。线圈驱动方式的体积小,造价低,但驱动力小,自锁能力差,线圈运动的寿命很短,而磁铁运动的寿命很长,钟摆运动方式的相对自锁能力较好,但不能驱动大尺寸滤光片的。

B、电机式又分齿轮齿条式、蜗轮蜗杆式和螺旋副式等。螺旋副式的结构紧凑,动力大,自锁力强,是一种较好的选择。

DC-IRIS 和 P-IRIS

DC-IRIS原理及问题:   自动光圈能够根据光线亮度的变化自动调节光圈孔。早期的DC-IRIS只是单纯的根据光线亮度来调节光圈,并没有考虑光圈对其他图像因素(光圈)的影响。DC-IRIS只知道根据光线亮度来打开或关闭光圈,不能提供给摄像机光圈的位置,因此无法有效控制光圈大小以优化图像质量。 P-IRIS工作原理:   P-IRIS是通过控制P-IRIS镜头中的步进电机动态精确的控制光圈大小。与DC-IRIS的主要任务是不停的调节光圈大小不同,P-IRIS的主要目的是设置最佳光圈位置,以便大部分镜头中心及效果最佳的部分得到使用,在此位置光学误差大大减小,从而提高图像质量。   P-IrIS需要与增益曝光时间相配合来管理光线的微小变化从而进一步优化图像质量,使最佳光圈位置保留尽可能长的时间。但超过增益和曝光时间的调节能力时,P-IRIS再调节光圈到不同位置。

HDR模式

HDR是指高动bai态光照渲染(High-Dynamic Range,简称HDR)图像du,相zhi比普通的图像,可以dao提供更多的动态范围zhuan和图像细节,利shu用每个曝光时间相对应最佳细节的LDR图像来合成最终HDR图像,能够更好地反映出真实环境中的视觉效果。