ZHCACD0A March   2023  – May 2024 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM67A , AM68A , AM69A

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. 调优概述
  6. 硬件要求
  7. 软件要求
    1. 4.1 Processor SDK Linux
    2. 4.2 TI 的参考成像软件
    3. 4.3 ISP 调优工具
  8. 传感器软件集成
    1. 5.1 图像流水线软件架构概述
    2. 5.2 向 SDK 添加传感器驱动程序
    3. 5.3 更新 TIOVX 模块
      1. 5.3.1 源代码更改
      2. 5.3.2 重新编译模块
    4. 5.4 更新用于 VISS 的 GStreamer 插件
      1. 5.4.1 更新 VISS 插件属性
      2. 5.4.2 添加 2A 算法的曝光设置
        1. 5.4.2.1 增益
        2. 5.4.2.2 曝光时间
        3. 5.4.2.3 其他参数
      3. 5.4.3 重新编译插件
      4. 5.4.4 在 GStreamer 插件中验证新传感器
  9. 调优过程
    1. 6.1 验证摄像头捕捉是否能够正常运行
    2. 6.2 使用初始 VPAC 配置启用摄像头流式传输
      1. 6.2.1 生成配置文件
      2. 6.2.2 生成 DCC 二进制文件
      3. 6.2.3 使用初始配置流式传输视频
    3. 6.3 调整摄像头安装
  10. 执行基本调优
    1. 7.1 启动调优工具并创建工程
    2. 7.2 调优顺序
    3. 7.3 黑电平消减
    4. 7.4 硬件 3A (H3A)
    5. 7.5 PCID
    6. 7.6 自动白平衡 (AWB)
      1. 7.6.1 捕获不同照明条件下的原始图像
      2. 7.6.2 AWB 调优
    7. 7.7 颜色校正
  11. 执行微调
    1. 8.1 边缘增强 (EE)
    2. 8.2 噪声滤波器 4 (NSF4)
  12. 实时调优
    1. 9.1 要求
    2. 9.2 支持的功能
      1. 9.2.1 RAW 捕捉
      2. 9.2.2 YUV 捕捉
      3. 9.2.3 实时 DCC 更新
      4. 9.2.4 曝光控制
      5. 9.2.5 白平衡控制
      6. 9.2.6 传感器寄存器读取/写入
  13. 10总结
  14. 11修订历史记录

生成配置文件

转到 TI 的参考成像软件 imaging/tools/default_DCC_profile_gen/configs,并创建默认摄像头属性的配置文件。此文件夹中的现有配置文件可以作为参考。

在此配置文件中指定以下参数:

  • 摄像头传感器信息
    • SENSOR_ID:传感器的 DCC ID(这必须与 tiovx_sensor_module.c 中的硬编码“dccID”值匹配,如更新用于 VISS 的 GStreamer 插件中所述)
    • SENSOR_NAME:传感器的名称(仅供参考,该工具并不使用)
    • SENSOR_DCC_NAME:对应的 DCC 名称(仅供参考,该工具并不使用)
  • XML 输出文件夹
    • PRJ_DIR:用于存储所生成 .xml 文件的文件夹。此文件夹必须位于 imaging/sensor_srv/src 下,例如,../../../sensor_drv/src/<传感器名称>。
  • 原始图像格式信息
    • SENSOR_WIDTH:传感器图像宽度
    • SENSOR_HEIGHT:传感器图像高度
    • COLOR_PATTERN:Bayer 图形,其中 0=RGGB,1=GRBG,2=GBRG,3=BGGR,4=MONO,10=RGGI,11=GRIG,12=BGGI,13=GBIG,14=GIRG,15=IGGR,16=GIBG,17=IGGB
    • WDR_MODE:传感器模式。0=线性,1=WDR
    • BIT_DEPTH:传感器像素位深度
    • WDR_BIT_DEPTH:解析后 WDR 原始传感器图像位深度,通常为 20 或 24
    • WDR_KNEE_X 和 WDR_KNEE_Y:WDR 解析拐点(必须用逗号分隔并且两者之间没有空格)
    • BLACK_PRE:解析前要消减的传感器黑电平
    • BLACK_POST:解析后要消减的传感器黑电平
    • GAMMA_PRE:将 20 位和 24 位 WDR 原始图像压缩为 16 位 ISP 内部位宽度的伽马值。24 位 WDR 传感器通常约为 50 (0.5),20 位传感器通常约为 70 (0.7)
    • H3A_INPUT_LSB:H3A 输入位范围的 LSB 位置(从 bit-H3A_INPUT_LSB 到 bit-H3A_INPUT_LSB+9)
注: 上述配置信息必须与实际的传感器格式匹配。

下面是 IMX219 的配置示例。不使用与 WDR 相关的参数,但必须包含这些参数,脚本才能运行。

SENSOR_ID 219
SENSOR_NAME IMX219
SENSOR_DCC_NAME SENSOR_IMX219_RPI
PRJ_DIR ../../../sensor_drv/src/imx219_output
SENSOR_WIDTH 1920
SENSOR_HEIGHT 1080

COLOR_PATTERN 0
WDR_MODE 0

BIT_DEPTH 10

WDR_BIT_DEPTH 20

WDR_KNEE_X 0,512
WDR_KNEE_Y 0,2048 

BLACK_PRE  0
BLACK_POST  0

GAMMA_PRE 70

H3A_INPUT_LSB 0

创建配置文件后,运行 imaging/tools/default_DCC_profile_gen/scripts 中的 ctt_def_xml_gen.py Python 脚本,如下所示:

imaging/tools/default_DCC_profile_gen/scripts$ python ctt_def_xml_gen.py ../configs/<configuration file>

生成的 xml 文件位于 $PRJ_DIR/dcc_xml 文件夹中。xml 文件夹中还会生成一个脚本文件 generate_dcc.sh。例如,以下是 IMX219(线性模式下)的 xml 文件夹内容:

$PRJ_DIR/dcc_xmls/linear$ ls -l generate_dcc.sh imx219_awb_alg_ti3_tuning.xml imx219_cfa_dcc.xml imx219_h3a_aewb_dcc.xml imx219_h3a_mux_luts_dcc.xml imx219_linear_decompand_dcc.xml imx219_mesh_ldc_dcc.xml imx219_rgb2rgb_dcc.xml imx219_viss_blc.xml imx219_viss_nsf4.xml