1 引言
摄像头是工业和汽车市场中基于视觉系统的关键元件。在机器视觉、机器人技术、视频监控、高级驾驶辅助系统(ADAS) 等工业和汽车应用中,摄像头的数量、帧速率和分辨率一直都在显著增加。对于此类应用中使用的应用处理器来说,捕捉和处理包括原始输入在内的这些摄像头输入至关重要。基于 Jacinto 7 的高性能异构应用处理器,包括 TDA4VM 和 DRA829 [1] 和 [2],能够提供捕捉和处理多个摄像头输入的功能,以便优化性能、功耗和内存吞吐量。
1.1 Jacinto 7 成像子系统概述
Jacinto 7 摄像头捕捉系统是德州仪器 (TI) 的第 7 代成像子系统 (ISP),它是在 20 多年来将多个 SoC 系列部署到上百万产品的创新实践摸索中构建的。一些差异化特性包括:
• 低功耗、更高的性能、全图像流水线以及经过优化的内存吞吐量
– 镜头阴影校正、噪声滤波器、WDR、去马赛克、色彩空间转换、图像金字塔
• 两个用于高分辨率多摄像头捕捉的高速接口
– 每个接口多达 16 个虚拟通道。多达 32 个摄像头捕捉。
• 同时进行人类 + 机器视觉输出
– 人类视觉 ISP 特性:
• 140dB WDR
• 局部自适应色调映射
• 双噪声滤波器
• 8b 输出
– 机器视觉 ISP 特性:
• 高级 CFA 插值支持所有 2x2 CFA 格式
2 摄像头捕捉子系统
TDA4VM/DRA829 摄像头捕捉子系统包括 2 个 MIPI CSI-2 接口和视频处理前端 (VPFE),如图 2-1 所示。
图 2-1. TDA4VM/DRA829 摄像头捕捉子系统
2.1 MIPI-CSI2
TDA4VM/DRA829 MIPI-CSI2 接口支持以下特性:
• 2 个 4 通道 MIPI D-PHY(2.5Gbps/通道)
• 支持 8 个带解串器集线器的传感器
• 2 个摄像头适应层 (CAL)
– MIPI CSI2 的协议栈
– 支持所有 MIPI 支持的格式
• RAW/DPCM/YUV
• RAW 8、10、12、14、16 位
– 经过压缩扩展或线性
• 从 SDRAM 并行读取像素流
– I/F 端口流量的实时优先级
2.2 视频处理前端
视频处理前端 (VPFE) 是一个输入接口模块,用于从图像传感器等外部成像外设接收原始图像/视频数据或 YUV 数
字视频数据。VPFE 支持以下特性:
• 支持传统的拜耳阵列和 Foveon 传感器格式。
– 为外部时序发生器生成 HD/VD 时序信号和字段 ID,也可以同步到外部时序发生器
– 支持逐行扫描(非隔行扫描)和隔行扫描传感器
– 支持高达 110MHz 的传感器时钟。
– 支持 REC656/CCIR-656 标准(YCbCr 422 格式,8 位或 16 位)。
– 支持带有离散 HSYNC 和 VSYNC 信号的 8 位或 16 位 YCbCr 422 格式。
– 支持多达 16 位的输入。
3 视觉预处理加速器
视觉预处理加速器 (VPAC) 子系统是一组常见的视觉基元功能,用于执行像素数据处理任务,例如:色彩处理和增强、噪声滤波、宽动态范围 (WDR) 处理、镜头失真校正、用于去扭曲的像素重映射、动态缩放生成和动态金字塔生成。VPAC 从主 SoC 处理器(ARM、DSP 等)卸载这些常见任务,以便这些 CPU 可用于差异化的高级算法。VPAC 用于通过在时分复用模式下工作来支持多个摄像头。VPAC 可用作视觉处理流水线的前端,供 SoC 内的其他视觉加速器或处理器内核进行进一步的处理。
图 3-1 展示了 VPAC 简要方框图。
图 3-1. VPAC 方框图
VPAC 由以下主要部分组成:
• 视频成像子系统 (VISS)
• 镜头失真校正 (LDC)
• 双线性噪声滤波器 (BNF)
• 多标量 (MSC)
3.1 视频成像子系统 (VISS)
VISS 对原始数据进行图像处理,然后输出 RGB 和/或 YUV 图像。视频成像子系统 (VISS) 包括以下组成部分:
• 原始前端 (Raw FE),用于实现:
– 宽动态范围 (WDR) 合并
– 缺陷像素校正 (DPC)
– 镜头阴影校正 (LSC)
– 分解
– 3A 统计
– 白平衡
• 噪声滤波器 (NSF)
– 拜耳域空间噪声滤波器
• 用于自适应局部色调映射的全局和局部亮度对比度增强 (GLBCE)
• Flex 颜色处理 (FCP),它支持
– 去马赛克、色彩校正、色彩空间转换和伽马转换
VISS 流水线能够以每周期 1 个像素的速度来处理数据。在 TDA4VM 上,VISS 系统的时钟频率可以达到720Mhz,从而实现 72000 万像素/秒的处理能力。
3.2 镜头失真校正 (LDC)
LDC 模块通过应用透视变换/单应矩阵,将像素从失真的输入空间重新映射到未失真的输出空间。LDC 支持以下特性:
• 镜头失真校正、立体整流、通用像素重映射
– 可提高图像质量的多区域模式
– 高级校正模式 - 基于查找表的反映射方法
– 使用双三次插值的亚像素精度
– DDR 黑白优化的架构
• 支持的格式:
– YUV 420 (NV12/NV21)
– 高达 12 位/元件
• 插值类型:
– 双三次(2 个周期/像素)
– 双线性(1 个周期/像素)
3.3 多标量 (MSC)
MSC 可使用多种缩放比例,从给定输入生成多达 10 个经过缩放的输出。MSC 支持以下特性:
• 多缩放能力:来自 1 个或 2 个输入平面的 10 个同时缩放的输出
• 每个缩放引擎都可以配置为执行金字塔或倍频程间的缩放生成
• 支持 1 至 0.25 倍之间的缩放比例
• 每个倍频程之间有 7 个缩放比例 → 1.09 倍
• 单个周期/像素性能
3.4 双边噪声滤波 (BNF)
BNF 采用了双边滤波,以去除噪声,它支持以下功能:
• 双边和通用滤波
• 滤波器尺寸高达 5x5
• 真正的 2D 双边滤波
• 可编程静态权重的滤波器尺寸高达 5x5
• 1 个周期/像素性能
• 支持的格式:
– YUV 42,12 位
– 可以使用 LDC/定标器支持 8 位格式
– 基于线路的输入和输出
3.5 摄像头传感器的软件可用性
有关可用的摄像头传感器驱动程序,请参阅 Jacinto 7 Processor SDK 成像发行说明
4 用例示例
下面显示了一些常见的摄像头用例示例,假设原始摄像头输入为每像素 12 位。
4.1 使用 MIPI 聚合器的 4 摄像头用例
图 4-1 展示了一个简要方框图,其中 4 个 200 万像素 @30fps 摄像头输入通过使用 MIPI CSI-2 聚合器和数据流直接连接至 TDA4VM。
图 4-1. 使用 MIPI CSI-2 聚合器和数据流的 4 摄像头用例
表 4-1 总结了此用例的总利用率。
表 4-1. 此用例的总利用率
4.2 通用 8 摄像头用例
图 4-2 展示了通过 FPDLink 串行器和解串器远程连接的 8 个 200 万像素 @30fps 摄像头输入的简要方框图及数据流。
图 4-2. 8 个 200 万像素摄像头方框图及数据流
有关基于 FDPLink 的多摄像头设置,请参阅 [5]。
表 4-2 总结了此用例的总利用率。
表 4-2. 此用例的总利用率
4.3 ADAS 用例
图 4-3 展示了常见 ADAS 用例的简要方框图,其中
• 1 个 800 万像素 @30fps 摄像头用于前置摄像头
• 1 个 100 万像素摄像头用于 DMS,以及
• 4 个 200 万像素 @30fps 摄像头用于 3D SRV。
这些摄像头通过 FPDLink 串行器和解串器远程连接。
图 4-3. ADAS 用例和数据流示例
有关基于 FDPLink 的多摄像头设置,请参阅 [5]。
表 4-3 显示了此用例的总利用率。
表 4-3. 此用例的总利用率
5 参考文献
1. TDA4VM 产品页面
2. DRA829V 产品页面
3. 德州仪器 (TI):DRA829/TDA4VM/AM752x
技术参考手册
4. 适用于 TDA4VM/DRA829 Jacinto 处理器的软件开发套件
5. TDA4VM/DRA829 评估模块