一、为什么要客制化
客制化能够让工程师,根据不同场景的差异去更好的区分不同场景,根据更细致的分区去调试,让调整更加精准。
例如,在如下target设置中,通过两级设置,动态范围和lux去区分不同的场景。
二、怎么分析客制化参数
2.1 理清full control - Scene Analyzers
每一个场景分析器是由下面的六个模块组成的
Luma Calculation(亮度计算):用于不同的SA的测光值
Target Calculation(目标计算):用于设置当前SA想要把该场景的提亮目标值
Confidence Calculation(置信度计算):用于在最终计算最终SA提升adj中当前SA的提升力度
Arithmetic Operators(算术运算符):提供运算的“积木块”。这是一套预设好的基础运算单元,比如加、减、乘、除、取最大值(MAX)、取最小值(MIN)、逻辑比较(IF/ELSE)等
Operators Sequence(运算符序列):定义SA的计算流程,“先算哪个,后算哪个”。它决定了上述
Arithmetic Operators的执行流水线顺序Reserved Parameter(保留参数)
2.2 计算方式
在每一个SA的每一个步骤里面有Calculation Method,他是用于决定数据来源
- Trigger System Method (触发系统方法):该SA的参数并非固定不变,而是由系统根据预设的触发条件(Trigger) 来动态切换的。
- Data Bank Method (数据库方法):表示使用预设的、静态的参数数据库。
2.3 Arithmetic Operators与Operators Sequence设置
2.3.1 AdjRatioSat
2.3.1.1 Priority(???)
决定了“在什么时机”以及“以多大力度”去调整亮度
- Beginning Of Analysis(分析开始时):在AE核心计算开始前,对原始数据进行“预处理”干预
- End Of Analysis(分析结束时):在AE核心计算得出“理论曝光量”之后,进行“安全微调”和“平滑输出
- Adjustment Ratio(调整比率):控制单次调整的“力度”或“步长比例”
2.3.2.1 Method
该部分是用于设置计算的方式的,一般有下面的几个计算公式:
- Division:
- CondSmaller:
- Multiplication:操作数0 * 操作数1 * 操作数2 * 操作数3
- Cond Equal:if(操作数0 == 操作数1) 操作数2 else 操作数3
- Linear lnterpolation:操作数1 + (操作数0 - 操作数1) × 操作数2(????)
- Max / Min:(Op0 × Op1) 与 (Op2 × Op3) 这两对乘积之间的取大/取小
- Subtraction: (操作数0 × 操作数1) - (操作数2 × 操作数3)
- Addition: (操作数0 × 操作数1) + (操作数2 × 操作数3)
2.3.2 Operand Trigger
A,B,C,D为计算的算子,四个算子的来源是受到于Input Method的选择来决定。四个算子的计算方式受到 Method 的设置来决定
2.3.4 Output
定义该SA在完成所有计算后,向外部“输出”的结果后走向,Output Data Bank为上方计算完成后数据的名称。
2.4 图片3A数据的分析
2.4.1 在什么地方看,看什么地方
从下方可以进入到图片内某一个SA的计算流程,绿色框内的数据对应Operators Sequence内的计算流程
2.4.2 分析案例示例
对于Opertion Method的计算设置如下:
该SA的最终运算的结果和流程如下:
下面使用satprev做例子,Operators Sequence的最终值为Satconfidence
经过上面的分析就可以知道,当前场景中,该SA下的某一步计算中该值是怎么走的,结果又是如何,是否是这个值影响了最终的结果,应该怎么去调整这个值。