---
title: hi_isp_ae_attr
description: "定义自动曝光属性。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0196.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0196.html
indexId: dd5f09bdf27fd6fba811a9b4f0421343ec57994dc625a5c267afb461dd7dd3ab65
---
# hi_isp_ae_attr

#### 说明

定义自动曝光属性。


#### 定义

```
typedef struct {
hi_isp_ae_range
exp_time_range;
hi_isp_ae_range
a_gain_range;
hi_isp_ae_range
d_gain_range;
hi_isp_ae_range
ispd_gain_range;
hi_isp_ae_range
sys_gain_range;
hi_u32
gain_threshold;
hi_u8
speed;
hi_u16
black_speed_bias;
hi_u8
tolerance;
hi_u8
compensation;
hi_u16
ev_bias;
hi_isp_ae_strategy
ae_strategy_mode;
hi_u16
hist_ratio_slope;
hi_u8
max_hist_offset;
hi_isp_ae_mode
ae_mode;
hi_isp_antiflicker
antiflicker;
hi_isp_subflicker
subflicker;
hi_isp_ae_delay
ae_delay_attr;
hi_bool
manual_exp_value;
hi_u32
exp_value;
hi_isp_fswdr_mode
fswdr_mode;
hi_bool
wdr_quick;
hi_u16
iso_cal_coef;
} hi_isp_ae_attr;
```


#### 成员

| 成员名称 | 描述 |
| --- | --- |
| exp\_time\_range | 曝光时间范围，设置最大值和最小值，以微秒(us)为单位。取值范围：[0x0, 0xFFFFFFFF]，具体范围与sensor相关。 |
| a\_gain\_range | sensor模拟增益范围，设置最大值和最小值，10bit小数精度。取值范围：[0x400, 0xFFFFFFFF]，具体范围与sensor相关。 |
| d\_gain\_range | sensor数字增益范围，设置最大值和最小值，10bit小数精度。取值范围：[0x400, 0xFFFFFFFF]，具体范围与sensor相关。 |
| ispd\_gain\_range | ISP数字增益范围，设置最大值和最小值，10bit小数精度。取值范围：[0x400, 0x40000]。 |
| sys\_gain\_range | 系统增益范围，设置最大值和最小值，10bit小数精度。 取值范围：[0x400, 0xFFFFFFFF]，具体范围与sensor相关。 |
| gain\_threshold | 自动降帧时的系统增益门限值，10bit小数精度。取值范围：[0x400, 0xFFFFFFFF]。 |
| speed | 自动曝光调整时的速度。 取值范围：[0x0, 0xFF]，默认值为 0x40。 |
| black\_speed\_bias | 画面由暗到亮AE调节速度的偏差值，该值越大，画面从暗到亮的速度越快。 取值范围：[0x0, 0xFFFF]，默认值为 0x90。 |
| tolerance | 自动曝光调整时对画面亮度的容忍偏差。取值范围：[0x0, 0xFF]，默认值为 0x2。 |
| compensation | 自动曝光调整时的目标亮度。 取值范围：[0x0, 0xFF]，默认值为 0x38。 |
| ev\_bias | 自动曝光调整时的目标亮度偏差值，10bit小数精度。取值范围：[0x0, 0xFFFF]，默认值为0x400。 |
| ae\_strategy\_mode | 自动曝光策略，高光优先或低光优先。 |
| hist\_ratio\_slope | 感兴趣区域的权重。 取值范围：[0x0, 0xFFFF]，默认值为 0x80。 |
| max\_hist\_offset | 感兴趣区域对统计平均值影响的最大程度。 取值范围：[0x0, 0xFF]，默认值为 0x10。 |
| ae\_mode | 自动曝光模式，自动降帧模式或固定帧率模式。 |
| antiflicker | 抗闪属性设置。默认抗闪不使能。 |
| subflicker | 亚抗闪属性设置。默认亚抗闪不使能。 |
| ae\_delay\_attr | 延时属性设置。默认black\_delay\_frame=8， white\_delay\_frame=0。 |
| manual\_exp\_value | 手动曝光量使能，该值为HI\_TRUE时，AE算法采用exp\_value作为当前曝光量进行曝光时间和增益等的分配，为HI\_FALSE时采用自动计算的曝光量进行分配。默认为HI\_FALSE。 |
| exp\_value | 手动曝光量值，等于曝光时间\*系统增益，其中曝光时间的单位为微秒(us)。 取值范围：(0x0, 0xFFFFFFFF]。 |
| fswdr\_mode | FSWDR运行模式。默认为HI\_ISP\_FSWDR\_NORMAL\_MODE。 |
| wdr\_quick | WDR模式下，AE算法从稳定状态（亮度误差小于等于容忍偏差值tolerance）重新调整时，默认前50帧调整会进行时域滤波，以调整更加平滑。该值为HI\_TRUE时，取消50帧时域滤波，使AE收敛速度更快。默认为HI\_FALSE。 |
| iso\_cal\_coef | ISO标定系数，用于保证拍照所需DCF信息中显示的ISO是标准的，8bit精度。 取值范围：[0x0, 0xFFFF]，默认值为 0x100。 |


#### 注意事项

- 自动模式下，更改手动曝光属性的值不会生效。
- 自动曝光的最大最小时间及增益。
  可根据不同的场景对曝光时间及增益进行限定，如有高速运动物体场景可限定最大曝光时间值为较小值，这样可减轻运动物体拖影现象。

  为了防止图像过曝区域颜色不饱和，ISP内部会根据sensor黑电平自动修正Isp_dgain值，因此即使限制Isp_dgain最大值为 1024，Isp_dgain实际生效值仍会大于1024。如果需要强制ISPDGain为1024，可以通过手动模式实现，但是此时图像可能会出现亮区偏粉的问题。

- 自动曝光的系统增益
  非扩展路径下，若(sensor模拟增益最小值*sensor数字增益最小值*ISP数字增益最小值)小于系统增益最小值，则AE算法内部计算时最小增益会被限制到系统增益的最小值。若(sensor模拟增益最大值*sensor数字增益最大值*ISP数字增益最大值)大于系统增益最大值，则AE算法内部计算时最大增益会被限制到系统增益的最大值。推荐通过设置系统增益的最大、最小值进行增益限制，分别限制sensor模拟增益、sensor数字增益和ISP数字增益时，若把较高精度的ISP数字增益限制到 1 倍，容易导致闪烁。

  扩展路径下，采用系统增益的最大/最小值结合曝光时间的范围来限制曝光量的范围，sensor模拟增益、sensor数字增益及ISP数字增益不直接受系统增益的影响。实际上，AE算法内部利用系统增益来计算最大/最小曝光量，而并不是直接限制某项增益的值。比如说系统增益最大值限制为1倍，但sensor模拟增益的最小值限制为2倍，则实际生效的结果以sensor模拟增益的限制为准，sensor数字增益及ISP数字增益的限制也同理。手动模式下，系统增益不起作用，不对某项增益的值进行限制。

- 自动降帧时的系统增益门限值
  在SLOW_SHUTTER模式下，当系统增益达到所设置的门限值时，系统将自动进入SLOW_SHUTTER模式。

- speed用于设定自动曝光时的收敛速度，该值越大曝光的收敛速度越快，但也会导致收敛过程中出现反复震荡。对于Panasonic mn34220这款sensor，受sensor性能限制，在2帧合成WDR模式下，建议speed设置不能超过64，否则在光线剧烈变化场景时可能出现闪烁。
- black_speed_bias用于设定画面由暗到亮AE调节速度的偏差值。默认speed下，画面从亮到暗的速度会快于画面从暗到亮的速度，若想双方向的AE调节速度差不多，可以调高black_speed_bias。
- 亮度补偿属性compensation用于调节曝光的目标亮度。曝光亮度补偿值越大则图像亮度越高。
- 曝光偏差属性ev_bias用于在特殊场景下对画面的目标亮度进行微调，也可认为是更高精度的亮度补偿值，通过调节该值来改变画面目标亮度，真实生效的AE目标亮度为compensation * ev_bias /1024。compensation不变时，该值越大则图像亮度越高。
- 曝光容忍偏差属性tolerance用于调节曝光对环境的灵敏度，曝光容忍偏差值越大则曝光越不敏感，且可能导致同一目标亮度值多次调节得到的亮度差异越大，所以该属性推荐不能设定过大。尤其当目标亮度较低时，tolerance较大，最终画面收敛亮度可能会有明显差异。通过改变ev_bias对画面目标亮度进行微调时，若tolerance较大，过小的ev_bias变化量可能会看不出调整效果。
- 曝光策略属性ae_strategy_mode用于选择对高光优先或低光优先的曝光策略。高光优先意味着对高光敏感，尽量避免画面过曝。低光优先意味着对低光敏感，尽量看清楚暗处区域，不管画面是否过曝。默认的曝光策略是高光优先，用户可根据场景需要进行调整。
- hist_ratio_slope用于设定感兴趣区域的权重。若是高光优先曝光模式，则该值设置的是高光区域的权重，该值越大，则意味着对高光区域越敏感。反之，若是低光优先模式，则该值设置的是低光区域的权重，该值越大，则意味着对暗处区域越敏感，建议hist_ratio_slope的值设置不要超过0x100。高光优先曝光模式下，如果该值过大，只要画面中有一小部分过曝区域，AE算法就会认为画面亮度远大于目标亮度，这样曝光量就会不断往下调，导致画面变得很黑，同时画面中的过曝区域也在快速变小，达到某个程度的话AE算法又会认为画面亮度比目标亮度小了，曝光量又会往上调，如此反复出现来回调的现象，看起来像是画面闪烁。类似的，在低光优先模式下，如果AE目标亮度设置得比较低，若画面中有黑色物体来回移动，对画面亮度也会有较大影响，此时调低曝光调整速度和提高容忍偏差tolerance能够缓解该问题。
- 自动曝光时，可设定感兴趣区域对统计平均值影响的最大程度max_hist_offset。
  该值相当于对提高hist_ratio_slope时增加的权重做限制，若该值为0，无论hist_ratio_slope多大，也不会对高光或低光区域做特殊处理，此时的统计平均值就是原始值。通过合理设置该值，可以保证任何场景AE稳定后画面平均亮度都在一定范围内，在高光优先曝光模式下，如果该值设置较大，在对比度稍高一些的场景，如晴天室外场景，有天空有树木，则可能导致整体画面亮度偏低，因为此时优先保证了亮区天空的效果，通过限制该值从而限制对亮区的倾斜程度可以解决该问题。


- 曝光策略切换时，最好同时更新hist_ratio_slope和max_hist_offset的值，否则这2个值会采用默认配置，效果可能与预期不符。
- 在做强光抑制方案时，例如在RGBIR模式下，建议设置成高光优先曝光，通过降低AE目标亮度，同时适当设置hist_ratio_slope和max_hist_offset为较大值来抑制强光，暗区则可以通过使能DRC来看清楚。低光优先则可以用于实现非指定区域的背光补偿。
- AE曝光控制类型为自动时，可设定曝光模式ae_mode。该值可设定为慢快门模式(SLOW_SHUTTER)或固定帧率模式。慢快门模式通常用于低照度场景下进行自动降帧，以减少画面噪声。
- 抗闪属性结构体antiflicker可用于设定抗闪使能，抗闪频率和抗闪模式等属性。FSWDR模式下，长帧抗闪有效，在优先帧为短帧且增益分开配置时，长短帧抗闪都有效。由于随着曝光比的变化，短帧曝光时间的最大值会受到限制，建议FSWDR模式使用自动抗闪模式。
  注意：OV2718 WDR模式下只曝光一次，曝光时间只有短帧有效，因此抗闪及亚抗闪效果并不能达到预期。

- 亚抗闪属性结构体subflicker可用于设定亚抗闪使能及抗闪程度属性。若有自动光圈，建议关闭亚抗闪功能。
- AE曝光控制类型为自动时，可设定AE延时生效属性结构体ae_delay_attr。该值的合理设置可提高画面亮度的稳定性，防止快速运动物体经过导致画面亮度发生变化。低码率设置时可适当增加该值，以避免AE调节时出现块效应。
- 用户可以通过将manual_exp_value置为HI_TRUE，手动设置曝光量exp_value来屏蔽AE算法的曝光量调整部分，只用到曝光量分配部分。exp_value的值会受到最大、最小曝光量的限制。最大、最小曝光量分别对应最大、最小曝光时间与增益的乘积。
- WDR模式下，优先帧为长帧时，exp_time_range设置的是长帧的曝光时间范围，优先帧为短帧时，exp_time_range设置的是短帧的曝光时间范围。
- FSWDR运行模式改变时，需要相应修改cmos.c中的以下回调函数：cmos_long_frame_mode_set，cmos_get_ae_default，cmos_fps_set，cmos_get_inttime_max，以保证长、短帧曝光时间在合理范围内。正常WDR和长帧模式切换时，会回调cmos_get_ae_default，更新曝光时间最大/最小值，增益最大/最小值，光圈最大/最小值和compensation等参数，同时，AE内部会将hist_ratio_slope和max_hist_offset更新为算法默认值。需要注意的是，此时曝光比相关设置不会更新，仍会保持上一次的值。另外，长帧模式打开时，DRC强度会逐渐收敛至Auto目标值。客户可以根据需要，在切换完成后调用MPI接口修改参数。
  平滑切换的前提是切换前/后短帧曝光量与长帧曝光量相等。当曝光比较大时，由于正常WDR模式会限制增益，而长帧模式为了保证低照度效果会放开增益限制，可能会导致切换前/后短帧曝光量与长帧曝光量不等，这样切换就会有几帧突然之间变亮或者变暗，属于正常现象。若要避免这种现象，可以在切换完成之后再放开增益限制。 长帧模式仅在行模式WDR下才有效，帧模式WDR把曝光比设置为1：1，关闭运动检测，即可达到与行模式WDR长帧模式一样的效果。建议非行模式WDR统一将fswdr_mode设置为HI_ISP_FSWDR_NORMAL_MODE。 行模式WDR只曝光一次的sensor不支持长帧模式，如OV2718。
