hi_isp_awb_cbcr_track_attr
说明
定义Bayer域统计信息的联动参数。
定义
typedef struct { hi_bool enable; hi_u16 cr_max[HI_ISP_AUTO_ISO_NUM]; hi_u16 cr_min[HI_ISP_AUTO_ISO_NUM]; hi_u16 cb_max[HI_ISP_AUTO_ISO_NUM]; hi_u16 cb_min[HI_ISP_AUTO_ISO_NUM]; } hi_isp_awb_cbcr_track_attr;
成员
成员名称 |
描述 |
---|---|
enable |
Bayer域统计信息参数与环境照度、色温的联动使能开关。 取值范围:
|
cr_max[HI_ISP_AUTO_ISO_NUM] |
不同照度下的cr_max取值,取值范围:[0x0,0xFFF] #define HI_ISP_AUTO_ISO_NUM 16 |
cr_min[HI_ISP_AUTO_ISO_NUM] |
不同照度下的cr_min取值,取值范围:[0x0, cr_max] |
cb_max[HI_ISP_AUTO_ISO_NUM] |
不同照度下的cb_max取值,取值范围:[0x0,0xFFF] |
cb_min[HI_ISP_AUTO_ISO_NUM] |
不同照度下的cb_min取值,取值范围:[0x0, cb_max] |
注意事项
- 统计参数联动使能后,AWB算法会根据环境照度、色温、用户设置的cr_max数组等实时计算cr_max、cr_min、cb_max和cb_min四个参数,并配置相应的逻辑寄存器,此时用户通过PQ Tools设置以上四个统计参数不生效。
- 统计参数联动使能,AWB算法计算的cr_max等统计参数在根据ISO插值的基础上还和环境色温相关。低色温时,白点范围较宽;中高色温时,白点范围较窄。
- 用户手动配置cr_max、cr_min、cb_max、cb_min四个参数时,需要先关闭联动功能。
- cr_max[0]、cr_min[0]、cb_max[0]、cb_min[0]的取值可在AWB参数标定时确定。用户确定了支持的色温范围后,捕获高低色温的RAW图片,计算白色区域的
R/G、B/G 值。cr_max[0]和 cb_min[0]分别对应低色温的R/G、B/G;cr_min[0] 和 cb_max[0]分别对应高色温的R/G、B/G。推荐用户设置的Cr、Cb范围稍大于
RAW图统计的R/G、B/G取值范围。
- AWB算法计算的cr_max等统计参数在根据ISO插值的时候,会基于cr_max[0]、cr_min[0]、cb_max[0]、cb_min[0]的值。所以不同ISO下的取值设定应以ISO100的值为基础,单调递增或递减。
- 建议在低色温(钠灯)环境标定cr_max、cb_min数组。用户统计不同照度下白色区域的R/G、B/G值,设置cr_max、cb_min 数组。推荐用户设置的Cr、Cb范围稍大于RAW图片统计的R/G、B/G取值范围。
- 因低照度下环境色温多在5000K以下,cr_min、cb_max两个数组的取值可设为常数。
- 当AWB统计信息配置在DRC后的时候,hi_isp_awb_cbcr_track_attr参数不生效,cr_min、cb_min固定为128,cr_max、cb_max固定为512。
表cr_max[16]在不同的增益情况下的设置值(仅供参考)
cr_max |
Again*Dgain*ISPDgain(倍数) |
设置值 |
---|---|---|
cr_max [0] |
1 |
0x150 |
cr_max [1] |
2 |
0x150 |
cr_max [2] |
4 |
0x150 |
cr_max [3] |
8 |
0x160 |
cr_max [4] |
16 |
0x170 |
cr_max [5] |
32 |
0x180 |
cr_max [6] |
64 |
0x190 |
cr_max [7] |
128 |
0x1A0 |
cr_max [8] |
256 |
0x1B0 |
cr_max [9] |
512 |
0x1C0 |
cr_max [10] |
1024 |
0x1D0 |
cr_max [11] |
2048 |
0x1E0 |
cr_max [12] |
4096 |
0x1F0 |
cr_max [13] |
8192 |
0x1F0 |
cr_max [14] |
16384 |
0x1F0 |
cr_max [15] |
32768 |
0x1F0 |
表 cr_min [16]在不同的增益情况下的设置值(仅供参考)
cr_min |
Again*Dgain*ISPDgain(倍数) |
设置值 |
---|---|---|
cr_min [0] |
1 |
0x30 |
cr_min [1] |
2 |
0x30 |
cr_min [2] |
4 |
0x30 |
cr_min [3] |
8 |
0x30 |
cr_min [4] |
16 |
0x30 |
cr_min [5] |
32 |
0x2C |
cr_min [6] |
64 |
0x2A |
cr_min [7] |
128 |
0x28 |
cr_min [8] |
256 |
0x26 |
cr_min [9] |
512 |
0x24 |
cr_min [10] |
1024 |
0x22 |
cr_min [11] |
2048 |
0x20 |
cr_min [12] |
4096 |
0x1F |
cr_min [13] |
8192 |
0x1E |
cr_min [14] |
16384 |
0x1D |
cr_min [15] |
32768 |
0x1C |
表cb_max[16]在不同的增益情况下的设置值(仅供参考)
cb_max |
Again*Dgain*ISPDgain(倍数) |
设置值 |
---|---|---|
cb_max [0] |
1 |
0x130 |
cb_max [1] |
2 |
0x130 |
cb_max [2] |
4 |
0x130 |
cb_max [3] |
8 |
0x130 |
cb_max [4] |
16 |
0x140 |
cb_max [5] |
32 |
0x150 |
cb_max [6] |
64 |
0x160 |
cb_max [7] |
128 |
0x170 |
cb_max [8] |
256 |
0x180 |
cb_max [9] |
512 |
0x190 |
cb_max [10] |
1024 |
0x1A0 |
cb_max [11] |
2048 |
0x1B0 |
cb_max [12] |
4096 |
0x1B0 |
cb_max [13] |
8192 |
0x1B0 |
cb_max [14] |
16384 |
0x1B0 |
cb_max [15] |
32768 |
0x1B0 |
表cb_min[16]在不同的增益情况下的设置值(仅供参考)
cb_min |
Again*Dgain*ISPDgain(倍数) |
设置值 |
---|---|---|
cb_min [0] |
1 |
0x30 |
cb_min [1] |
2 |
0x30 |
cb_min [2] |
4 |
0x30 |
cb_min [3] |
8 |
0x30 |
cb_min [4] |
16 |
0x30 |
cb_min [5] |
32 |
0x2C |
cb_min [6] |
64 |
0x2A |
cb_min [7] |
128 |
0x28 |
cb_min [8] |
256 |
0x26 |
cb_min [9] |
512 |
0x24 |
cb_min [10] |
1024 |
0x22 |
cb_min [11] |
2048 |
0x20 |
cb_min [12] |
4096 |
0x1F |
cb_min [13] |
8192 |
0x1E |
cb_min [14] |
16384 |
0x1D |
cb_min [15] |
32768 |
0x1C |