下载
中文
注册

hi_isp_exp_info

说明

定义ISP曝光内部状态信息。

定义

typedef struct {
    hi_u32  exp_time;  
    hi_u32  short_exp_time; 
    hi_u32  median_exp_time;  
    hi_u32  long_exp_time; 
    hi_u32  a_gain;  
    hi_u32  d_gain;  
    hi_u32  a_gain_sf;  
    hi_u32  d_gain_sf;  
    hi_u32  isp_d_gain;  
    hi_u32  exposure; 
    hi_bool exposure_is_max; 
    hi_s16  hist_error;  
    hi_u32  ae_hist1024_value[HI_ISP_HIST_NUM];  
    hi_u8  ave_lum; 
    hi_u32 lines_per500ms; 
    hi_u32 piris_fno; 
    hi_u32 fps;
    hi_u32 iso; 
    hi_u32 isosf; 
    hi_u32 iso_calibrate; 
    hi_u32 ref_exp_ratio; 
    hi_u32 wdr_exp_coef;
    hi_u32 first_stable_time;  
    hi_u32 quick_star_iso; 
    hi_isp_ae_route ae_route; 
    hi_isp_ae_route_ex ae_route_ex;
    hi_isp_ae_route ae_route_sf; 
    hi_isp_ae_route_ex ae_route_sf_ex;
} hi_isp_exp_info;

成员

成员名称

描述

exp_time

当前曝光时间,单位为微秒(us)。

取值范围:[0x0, 0xFFFFFFFF]

short_exp_time

FSWDR模式下,表示当前短帧(S)曝光时间,单位为微秒(us)。线性模式不用关注该值。

取值范围:[0x0, 0xFFFFFFFF]

median_exp_time

FSWDR模式下,表示当前中帧(M)曝光时间,单位为微秒(us)。线性模式不用关注该值。

取值范围:[0x0, 0xFFFFFFFF]

long_exp_time

FSWDR模式下,表示当前长帧曝光时间,单位为微秒(us)。

取值范围:[0x0, 0xFFFFFFFF]

a_gain

当前sensor模拟增益,10bit小数精度。

取值范围:[0x400, 0xFFFFFFFF]

d_gain

当前sensor数字增益,10bit小数精度。

取值范围:[0x400, 0xFFFFFFFF]

a_gain_sf

当前sensor短帧模拟增益,10bit小数精度。

取值范围:[0x400, 0xFFFFFFFF]

d_gain_sf

当前sensor短帧数字增益,10bit小数精度。

取值范围:[0x400, 0xFFFFFFFF]

isp_d_gain

当前ISP数字增益,10bit小数精度。

取值范围:[0x400, 0xFFFFFFFF]

exposure

当前曝光量,等于曝光时间与曝光增益的乘积,其中曝光时间的单位为微秒(us)。

取值范围:[0x0, 0xFFFFFFFF]

exposure_is_max

0:ISP未达到最大曝光水平;

1:ISP达到最大曝光水平。

hist_error

统计信息,AE的目标亮度值与实际值的差,该值为正表示当前期望的亮度信息大于实际的亮度信息,该值为负表示期望的亮度信息小于实际的亮度信息。

取值范围:[-0x8000, 0x7FFF]

ae_hist1024_value [HI_ISP_HIST_NUM]

全局1024段直方图统计信息

取值范围:[0x0, 0xFFFFFFFF]

#define HI_ISP_HIST_NUM  1024

ave_lum

平均亮度信息

取值范围:[0x0, 0xFF]

lines_per500ms

当前每500ms对应的曝光行数,可用于将曝光时间的单位由us转换成行数。

取值范围:[0x0, 0xFFFFFFFF]

piris_fno

当前P-Iris光圈 F 值对应的等效增益。

取值范围:[0x0, 0x400]

fps

实际图像帧率 * 100。

取值范围:[0x0, 0xFFFFFFFF]

iso

当前sensor模拟增益*sensor数字增益*ISP数字增益 *100,其中增益的精度都为 10bit。

取值范围:[0x64, 0xFFFFFFFF]

isosf

当前sensor短帧模拟增益*sensor 短帧数字增益*ISP短帧数字增益*100,其中增益的精度都为10bit。

取值范围:[0x64, 0xFFFFFFFF]

iso_calibrate

标准ISO, 用于拍照DCF信息显示。 iso_calibrate = iso * 256 / iso_cal_coef。

取值范围:[0x0,0xFFFFFFFF]

ref_exp_ratio

参考曝光比,用于估计当前场景的动态范围,会受到hi_isp_wdr_exposure_attr中 tolerance和speed等值的影响。

取值范围:[0x40, 0x4000]

wdr_exp_coef

基于原始亮度目标值调整的曝光系数,仅在使能advance ae时有效,值越小,图像整体亮度越低。AE实际亮度目标值为compensation * wdr_exp_coef /1024。

取值范围:[0x0, 0x400]

quick_star_iso

不带光敏AE启动快速收敛模式下,AE快速计算出当前亮度环境下,收敛完成后大致的 ISO值,用户可根据此ISO值决定是否要打开IR CUT和IR LED。

取值范围:[0x64, 0xFFFFFFFF]

first_stable_time

首次AE收敛稳定的时间,单位为微秒(us)。

取值范围:[0x0, 0xFFFFFFFF]

ae_route

实际生效的AE route,各个节点中的曝光时间以us为单位,增益为10bit精度,光圈取值范围为[HI_ISP_IRIS_F_NO_32_0, HI_ISP_IRIS_F_NO_1_0]。光圈类型为DC-Iris时,节点光圈值不会对曝光量分配产生影响。

ae_route_ex

实际生效的扩展AE route,各个节点中的曝光时间以us为单位,增益为10bit精度,光圈取值范围为[HI_ISP_IRIS_F_NO_32_0, HI_ISP_IRIS_F_NO_1_0]。光圈类型为DC-Iris 时,节点光圈值不会对曝光量分配产生影响。

ae_route_sf

实际生效的短帧AE route,各个节点中的曝光时间以us为单位,增益为10bit精度,光圈取值范围为[HI_ISP_IRIS_F_NO_32_0, HI_ISP_IRIS_F_NO_1_0]。光圈类型为DC-Iris 时,节点光圈值不会对曝光量分配产生影响。

ae_route_sf_ex

实际生效的短帧扩展AE route,各个节点中的曝光时间以us为单位,增益为10bit精度,光圈取值范围为[HI_ISP_IRIS_F_NO_32_0, HI_ISP_IRIS_F_NO_1_0]。光圈类型为DC-Iris时,节点光圈值不会对曝光量分配产生影响。

注意事项

  • 曝光量的计算未考虑光圈状态,为曝光时间、sensor模拟增益、sensor数字增益、ISP数字增益4者乘积,其中曝光时间的单位为曝光行数,曝光增益为6bit小数精度。若该值的精度不足以满足需求,可以根据高精度的曝光时间(us)和增益(10bit小数精度)重新计算一个曝光量。
  • ISP是否达到最大曝光水平的计算未考虑光圈状态。如果当前曝光时间大于等于最大目标曝光时间,当前增益大于等于最大目标增益,那么就认为ISP达到最大曝光水平,否则就未达到最大曝光水平。
  • 图像平均亮度经过归一化处理,取值范围为0~255。
  • fps可用于查询自动降帧状态下的实际帧率。
  • iso和ref_exp_ratio都可作为FSWDR模式下切换到长帧模式的参考量。不过需要注意的是,若以iso作为参考量,需要考虑到曝光比对于切换阈值的影响,避免来回在长帧模式和正常WDR模式之间切换;若以ref_exp_ratio作为参考量,长帧模式下亮区可能是过曝的,ref_exp_ratio已不能正确表示场景动态范围,这会影响到长帧模式切换回正常WDR模式的判别。线性模式下ref_exp_ratio值可作为场景动态范围参考,当前场景动态范围越小,ref_exp_ratio越小;当前场景动态范围越大,ref_exp_ratio越大。
  • a_gain_sf、d_gain_sf、isosf在线性模式下默认为1024、1024、100,但从其他模式切换到线性模式时保留上一次的值不更新。
  • 当长短帧增益分开配置时,iso、isosf的结果还包含对应帧的WDRGain。
  • WDR模式下,优先帧为长帧时,exposure_is_max表示长帧是否达到最大曝光量,优先帧为短帧时,exposure_is_max表示短帧是否达到最大曝光量。