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修订历史记录

图像流水线软件架构概述

本节概述了 AM6xA 上的 ISP 和图像流水线软件架构,有助于理解后面介绍的调优过程。

AM6xA 器件上的 ISP 提供通用视觉基元功能,用于在像素级执行的图像数据处理。ISP 中有三个子模块:视觉成像子系统 (VISS)、镜头失真校正 (LDC) 和多标量 (MSC)。

  • 视觉成像子系统 (VISS):VISS 对原始数据进行图像处理,其中包括宽动态范围 (WDR) 合并、缺陷像素校正 (DPC)、镜头阴影校正 (LSC)、全局和局部亮度和对比度增强 (GLBCE)、去马赛克、颜色转换和边缘增强 (EE)。该块采用原始图像作为输入并生成 YUV 输出。
  • 镜头失真校正 (LDC):LDC 引擎是一款 YUV 域处理器,设计用于执行透视和几何转换。此引擎可用于创建多种效果,例如镜头失真校正、对极校正和通用透视变换。
  • 多标量 (MSC):MSC 可以根据给定输入以各种缩放比例(1 × 和 0.25 × 之间)生成最多 10 个缩放输出。10 个缩放操作均可配置为执行金字塔缩放或倍频程间的缩放生成。

在这三个子模块中,需要对 VISS 和 LDC 进行调优,而 VISS 包含多个需要单独调优的处理块。

图 5-1 展示了 AM6xA 的图像处理流水线软件架构,包括摄像头捕捉子系统和 ISP。摄像头捕捉驱动程序在 Linux 中 A53 或 A72 内核上运行,ISP 驱动程序在 RTOS 中 R5 内核上运行。尽管在不同的 CPU 内核上运行,摄像头捕捉和 ISP 可以通过与 GStreamer 或 TIOVX 的相同框架连接和集成。

 AM6xA 图像处理流水线图 5-1 AM6xA 图像处理流水线

在本报告中,提供了用于集成图像流水线组件的 GStreamer 示例。摄像头捕捉子系统可通过 GStreamer 插件 v4l2src 访问。可通过相应的 GStreamer 插件访问这三个 ISP 子模块:tiovxisp、tiovxldc 和 tiovxmsc。