☰
AE/AWB Engine 窗口参数 WINHC / WINVC 技术说明文档
2026/10/1 23:49:51 网站建设 项目流程

目录

1 概述

2 寄存器定义

3 硬件工作机制

4 WINHC / WINVC 参数对系统性能的影响

4.1 统计空间分辨率(算法侧)

4.2 片上 SRAM 资源约束

4.3 软件与总线开销

4.4 对传感器像素读出与帧率的影响

5 边界约束与工程注意事项

6 选型参考

7 总结


1 概述

本文档基于 ISP 硬件手册 AE/AWB Engine 章节,对WINHC、WINVC窗口参数原理、硬件行为、系统影响进行规范描述,用于算法调试、固件开发参考。

模块简述:AE/AWB 引擎作为像素旁路硬件统计单元,在像素流水并行完成图像分区统计,输出色彩、亮度、饱和相关统计信息,供给 AE 自动曝光、AWB 自动白平衡算法使用。引擎采用两级采样架构:图像先划分为网格统计窗口,每个窗口内部再稀疏抽取 2×2 像素块做统计运算。

2 寄存器定义

寄存器定义
WINSH窗口阵列水平起始坐标
WINSV窗口阵列垂直起始坐标
WINW单个统计窗口像素宽度
WINH单个统计窗口像素高度
WINHC水平方向窗口总数:统计网格在水平方向包含的窗口数量
WINVC垂直方向窗口总数:统计网格在垂直方向包含的窗口数量
AEWINCH单个窗口内部,2×2 采样块之间的水平步距
AEWINCV单个窗口内部,2×2 采样块之间的垂直步距

窗口阵列特性:

  1. 阵列内所有网格窗口尺寸统一为WINW × WINH;不支持对阵列内某一个窗口单独设置不同宽高。窗口阵列整体的位置与尺寸可通过 WINSH/WINSV/WINW/WINH 统一配置。
  2. 阵列左上角起点由WINSH/WINSV统一配置。
  3. 窗口总数量 =WINHC × WINVC。

3 硬件工作机制

  1. 像素流进入 AE/AWB 引擎后,首先根据WINSH/WINSV/WINW/WINH/WINHC/WINVC划分网格窗口。
  2. 在每个窗口内部,按照AEWINCH/AEWINCV步距稀疏选取 2×2 像素块。
  3. 对每一组 2×2 像素块执行饱和判断:块内任意像素大于等于 limit 阈值时,超限像素值钳位至 limit,钳位后像素继续参与 RGB 累加;该 2×2 块不计入本窗口的非饱和块计数器。
  4. 硬件对每个窗口独立累加 R/G1/G2/B 像素和;可选同步计算像素平方和、窗口内像素最大值 / 最小值、非饱和块计数。
  5. 硬件架构:流水线加法器、比较器为固定实例化的时分复用运算单元;窗口数量不会改变运算单元规模。片上 SRAM 用于缓存所有窗口的累加中间结果,窗口越多,所需 SRAM 深度越大。

4 WINHC / WINVC 参数对系统性能的影响

4.1 统计空间分辨率(算法侧)

WINHC与WINVC决定统计网格的疏密程度:

  • WINHC/WINVC增大:统计网格更密,AWB/AE 算法可获取画面空间分布信息。可识别局部高光、大面积单色区域,支持区域加权、色温聚类、异常区域过滤,提升逆光、多色温复杂场景下 AE/AWB 鲁棒性。
  • WINHC/WINVC减小:统计网格稀疏,仅能获得粗粒度亮度与色彩信息;WINHC=1且WINVC=1即为全局单窗口统计模式,仅输出整统计区域合并后的一组统计结果,丢失空间位置信息,对局部异常场景抗干扰能力弱。

⚠️ 区分两组独立参数:

  • WINHC/WINVC:空间分区数量,决定画面切分成多少个统计窗口;
  • AEWINCH/AEWINCV:窗口内部采样稀疏度,决定单个窗口内隔多少像素取一组 2×2 块。 总有效采样 2×2 块数量由两套参数共同决定。多窗口搭配窗口内大步距稀疏采样,可以保留空间分区能力,同时控制单窗口内采样点数,避免单窗口统计信噪比劣化。

注意:像素流水线的硬件处理开销不受总采样块数量影响,采样属于旁路并行操作。

4.2 片上 SRAM 资源约束

片上 SRAM 用于存储每个窗口的统计结果。单窗口占用存储位宽由使能的统计项决定:

  • 使能全部统计项:R/G1/G2/B 累加和 + 平方和 + min/max + 非饱和块计数 → 单窗口占用 bit 多,硬件可支持的最大WINHC变小。
  • 仅使能累加和输出:减少每个窗口存储的数据项,单窗口占用 bit 减少;手册说明该条件下水平窗口 WINHC 上限可达 56(垂直方向 WINVC 上限由硬件单独约束,不等于 56)。

窗口数量不会增加流水线加法器、比较器等运算硬件资源,仅增加用于保存窗口统计结果的 SRAM 深度。

4.3 软件与总线开销

帧结束中断触发后,CPU 需要通过寄存器读取每一个窗口的统计结果:

  • WINHC × WINVC越大:寄存器读取次数越多,AXI 总线访问量增大,中断服务子程序耗时增加。
  • WINHC=1,WINVC=1全局模式:仅读取一组寄存器,CPU 和总线开销最低。

4.4 对传感器像素读出与帧率的影响

AE/AWB 统计为像素旁路并行流水处理,WINHC/WINVC 不会改变传感器 MIPI 带宽、像素时钟以及图像输出帧率。 窗口数量带来的开销仅存在于帧尾 CPU 读取统计寄存器阶段,不影响像素流读出链路。

5 边界约束与工程注意事项

  1. 网格窗口为统一尺寸的矩形阵列,阵列内所有窗口宽高一致;不支持自由 ROI 不规则窗口,不能单独修改阵列内单个窗口的尺寸。
  2. 饱和处理发生在 2×2 采样块粒度:像素超过阈值执行钳位,钳位像素继续参与 RGB 累加;硬件不会丢弃像素,也不会自动丢弃窗口统计结果。软件依靠每个窗口的不饱和块占比,自行评估窗口可信度并做加权 / 剔除。
  3. 参数上限依赖统计项配置:开启 min/max、平方和会占用更多存储,降低最大支持窗口数量;仅传输累加值可将水平窗口上限提升至 56。56 仅为水平方向窗口上限,不是总窗口上限。
  4. 单窗口统计噪声由窗口内部有效 2×2 采样块数量决定(由 WINW/WINH/AEWINCH/AEWINCV 决定),和窗口总数 WINHC×WINVC 无直接关系。同一个窗口尺寸下,AEWINCH/AEWINCV 步距越大,窗口内采样块越少,RGB 累加噪声越高。

6 选型参考

配置模式适用场景特点
全局单窗口WINHC=1,WINVC=1低功耗扫码相机、简易门禁相机,场景色彩均匀、无明显局部强光 / 大面积单色SRAM、CPU 开销最低;丢失空间信息,复杂光照下 AWB/AE 易受局部区域干扰
多网格窗口WINHC>1,WINVC>1手机、车载、安防摄像机,逆光、多色温、存在人脸 / 主体优先需求具备空间色彩分布信息,可过滤高光、单色干扰;SRAM 与帧尾 CPU 读取开销更高,算法逻辑更复杂

7 总结

WINHC与WINVC用于配置 AE/AWB 硬件统计网格行列数,阵列内所有窗口尺寸统一。硬件采用固定流水线运算单元搭配片上 SRAM 存储各窗口统计结果。 增大WINHC、WINVC可以提升 AE/AWB 空间分区能力,增强复杂光照场景算法稳定性,但会消耗更多片上 SRAM,增加帧尾 CPU 读取寄存器的开销;当关闭 min/max、平方和等可选统计项,减少每个窗口存储的数据量,水平窗口WINHC最大可支持到 56。窗口数量不会增加硬件流水线运算资源,也不会影响传感器像素读出帧率与 MIPI 带宽。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询