首页IT科技高通adreno(保姆级高通AEC9调试指南(看完可解决80%AE相关问题))

高通adreno(保姆级高通AEC9调试指南(看完可解决80%AE相关问题))

时间2025-07-29 23:33:10分类IT科技浏览11501
导读:Initial Tuning...

Initial Tuning

默认ISO 100相当于1倍gain,有的2倍                 ,可自行设置                 。

Exposure table

Vertical Blanking Time=1/max_fps/FrameLengthLinesverticaloffset10^9

首行曝光时间=1/max_fps/FrameLengthLinesminlinecount10^9

相关参数在客户给的sensor.XML文件中有

Eg:Max fps=30 FrameLengthLines=2492 veticaloffset=6 minliencout=1

Vertical Blanking Time=1/30/2492610^9=80256

首行曝光时间=1/30/2492110^9=13408

最后一个IncremenPriority设置为Gain                          ,其他都是Exp Time(避免极暗环境下存在拖影)

首行曝光时间得到之后

后面的index gain依次按照1/2/4/8/16/32/64进行配置 在硬件条件差别不大的情况下

曝光时间参照对比机进行 拍摄不同iso段 查看详细信息得到帧率         ,曝光时间=1/帧率

即可得到调试机的曝光时间(单位为:ns,1s=10^9ns)

Luma target

AEC Triger配置:

默认情况下         ,Chromatix工具生成两个触发点                          ,三个区域                          。

测试TL84 400lux条件光源下的照度指数:lux_index_400

Trigger[0].start=lux_index_400-100

Trigger[0].end=lux_index_400-60

Trigger[1].start=lux_index_400+90

Trigger[1].end=lux_index_400+160

eg:lux_index_400=267

Trigger[0].start=lux_index_400-100=167

Trigger[0].end=lux_index_400-60=207

Trigger[1].start=lux_index_400+90=357

Trigger[1].end=lux_index_400+160=427

luma Target:55-50 52-45 40-25

Bright & Dark Regions

(这个地方一般不用)

根据设置的bright和dark region的范围                  ,对bright和dark区域         ,要么做一个丢弃                          ,要么做一个权重的重新分配         。

一般camera HAL会下发center weighted的配置                  ,tuning参数无法控制         。

一张图片会划分成很多个像素格,在这张图片中找到对应的像素点所在的像素格                          ,和它的weight表去做一个乘积                           ,然后得到最终的一个权重,来调整它的亮度

Histogram(重点)

在初始调试时                 ,首先 ADRC 和dark boost的关闭的                          。

尤其是前摄                           ,可以不开ADRC         ,直接用histogram条件亮度                  。

Dark boost用ISP dgain补的亮度                 ,噪声会很多                          ,去噪会去不掉         。

ISP gain 可以根据AE table设置结果         ,平台来动态计算ISP GAIN的值                          。

主要调试下面这6个值                  。

Safe target ——used to control the luma of main part of image.

1.Safe target的计算:

(1)先计算

Bright_low_target          ,Bright_high_target                           ,Dark_low_target                  ,Dark_high_target

(2)按照大小排序         ,取中间两个值作为low_target,hight_target

(3)按照大小排序low_target,hight_target                          ,Reference_Target                  ,取中间值作为safe_target

(4)排序MinTargetAdjRatioreference_Target,MaxTargetAdjRatioreference_Target

和(3)中所得的safe_Target进行比较,选择中间的数值作为最终的safe_Target

2.safe_target调试思路:

Safe target控制图片主要亮度,target越大                          ,画面越亮                           ,但是会受到MaxTargetAdjRatio[1,2],MinTargetAdjRatio[0.6,1]的限制。

AdjRatio=target/luma,AdjRatio会被限制在MaxTargetAdjRatio                 ,MinTargetAdjRatio之间

目的:画面整体变亮

则要Safe target变大                           ,倒过来回退到1中的(4)

因为MinTargetAdjRatio

所以有以下三种情况:

Safe_target

MinTargetAdjRatioreference_Target

MinTargetAdjRatioreference_Target<Safe_target<MaxTargetAdjRatioreference_Target

最简单直接的方法就是增加中间的那个值:

MinTargetAdjRatioreference_Target         ,

MaxTargetAdjRatioreference_Target                 ,

Safe_target

对于前面两种情况                          ,可增加MinTargetAdjRatio         ,MaxTargetAdjRatio(reference_Target在图片信息中无法修改)

最后这种情况需要回退到1中的(3)         ,根据low_target,safe_target,hight_target的排序中间值                          ,增加对应的

hist_sat_low_ref                  ,hist_sat_high_ref         ,hist_dark_low_ref                          ,hist_dark_high_ref从而达到增加final_safe_Target的目的                          。

以上都是基于你调试的中间值没有超过右边的最大值

例子:Safe_target

当你增加MinTargetAdjRatioreference_Target的时候                  ,会不会有超过MaxTargetAdjRatioreference_Target的情况发生呢?

答案是必然的

当原本的中间值超过右边的值的时候,右边的值即为最终的safe_target                          ,这就是我们接下来要讲的间接调试                           。

思路:对于1(4)中的排序                           ,可以增加左边最小值直到最小值超过中间值,从而互换了最小值和中间值的位置

例子:Safe_target

这个时候我们增加Safe_target                 ,直到safe_target大于MinTargetAdjRatioreference_Target                           ,

这个时候的排序是:MinTargetAdjRatioreference_Target

之前的final_safe_target==MinTargetAdjRatioreference_Target

现在final_safe_target==Safe_target

而Safe_target>MinTargetAdjRatio*reference_Target

所以达到了通过增加safe_target,从而增加整体亮度的目的!

3 总结:

根据1(4)中的公式:

例子:Safe_target

要增加亮度:

(1)可以增加中间值(中间值不超过右边最大值的情况下)

(2)增加中间值超过右边最大值(中间值超过右边最大值         ,从而导致原来的右边最大值取代中间值)

(3)增加左边最小值超过中间值(左边最小值增加后取代原来的中间值)

最终目的都是增加final_safe_target

降低亮度同理!

Short target

——used to suppress the luma of high bright area of image,

and calculate sensor exposure info.Smaller target, less the over-exposure area.

1.Short Target的计算:

short target=safe target

If (adrc_enable==0)

short target==safe target

Else if

Bright_low_Target

Short Target=min(Bright_high_Target ,Safe_Target)

Else if

Bright_low_Target

Bright_low_Target=Bright_high_Target

Short Target=min(Bright_low_Target ,Safe_Target)

Adrcgain1=safe_Target/Max(1,short_Target)

Adrcgain=Min(adrcgain1,Maxdrcgain)

Short_Target=safe_target/Max(1,adrcgain)

2.调试思路:

Short Target主要控制图片中的高光区域                 ,高光压制可以通过降低short target来操作。

目的:高光压制                          ,即降低short target

(1)adrc_enable==0时 short target=safe target

可以通过降低safe target的方法来         ,具体可以参考safe target上面

(2)adrc_enable!==0

Adrcgain1=safe_Target/Max(1,short_Target)

Adrcgain=Min(adrcgain1,Maxdrcgain)

Short_Target=safe_target/Max(1,adrcgain)

降低safe_target或者提高adrcgain

Bright_high_Target

Bright_low_Target

Safe_Target

选择最小的值作为short_Target

可根据公式直接把最小值调小         ,当然也可以间接调试另外两个大的                          ,使得比最小值更小(影响较大                  ,不建议间接)

减小hist_sat_low_ref或者hist_sat_high_ref

再然后就是减小safe target了 (看实际情况)

Long target —— used to control dark boost. Bigger target, less too-dark area.

1.Long Target的计算:

Long_Target=safe_Target

if(Adrc_enable=1&&Dark_boost_enable=1&&Dark_low_target>safe_target&&Adrc_gain<Maxdrcgain)

Long_Target=safe_Target

Else

Darkboost=Min(MaxDarkboostgain,Dark_low_Target/safe_target         ,MaxDRCgain/adrcgain)

Long target=darkboost*safe_target

2.调试思路:

Long target主要控制图片中的暗部                          ,long target越大                  ,暗处提升越高,作用就是提升暗部                 。

目的:暗处提升                          ,即增加long target

(1)直接提升safe target

(2)提升darkboost

因为

Darkboost=Min(MaxDarkboostgain,Dark_low_Target/safe_target                           ,MaxDRCgain/adrcgain)

可以根据实际情况DMaxDarkboostgain提高,

或者根据Dark_low_Target/safe_target提高Dark_low_Target                 ,降低safe_target                           ,

或者根据MaxDRCgain/adrcgain提高MaxDRCgain         ,降低adrcgain

取决于最小值

Short_taget,safe_target,long_target之间的关系

DRC Gain=Safe/Short(Max DRC Gain 可以控制亮度比例 DRC 越大                 ,short越小                          ,高光压制越强烈         ,画面越暗)

Dark boost Gain=Long/Safe

Sensitivity Ratio=Long/Short

Extreme color

Enable Extrm Clr:开关

Thres Luma low:如果Exstrme color区域的亮度小于该值         ,则该区域是Extrme Color的权重较小                           。

Thres Luma Hight:如果Exstrme color区域的亮度大于该值                          ,则该区域是Extrme Color的权重较小         。

Color stats pct low:每帧图像中极端颜色的最小百分比

Color stats pct hight:每帧图像中极端颜色的最大百分比

Adj_ratio:

极端色改亮度                  ,可以考虑打开extreme color                 。在主观测试的时候         ,可以在实验室搭建红绿蓝三色背景布来调整                          。

每个lux trigger范围下                          ,都对应三个channel Adj ratio                  ,R/G/B         。值越小,压制效果越明显

比如                          ,拍摄绿植                           ,G分量很多,就可以通过减小G分量                 ,来改变它的亮度         。还是通过改变target的方式来调整的                          。

若是extreme color被触发了                           ,则target adjustment中三个参数的值不会都是1                  。会取个最小值做最终权重的计算         。

Lux-based safe target:设置的luma target                          。

Color-based safe target: 若是触发了extreme color 计算         ,则得出的基于histogram计算和extreme color计算得出的target                  。

Three items in extreme percentages and target adjustments: 0: red, 1: green, 2: blue.

Final adjust ratio = min(adjust[0], adjust[1], adjust[2]).

Color-based safe target = lux-based safe target * final adjust ratio = 52 * 0.9981506 = 51.90384(base on this example exif info).

History-base target: 通过histogram计算出来的target。

Final target: 基于按照luma target                 ,histogram target                          ,Color-based safe target顺序         ,最后算出来的target                          。

Three items, 0: short, 1: long, 2: safe.

Final targets[i] = histogram-based targets[i] * (color-based safe target / lux-based safe target), i = 0/1/2.

Flash

1.Flash一般要修改曝光表         ,若是对预闪要求很高的情况下                           。

2.Flash target                          ,若是打开的话                  ,在打开flash打开的情况下         ,就不会去调luma target                          ,而是调用flash target。

3.smart flash:3A > AEC > Flash > Flash Mtr > Smart Flash                  ,可以用来调整闪光灯过曝                 。

Smart_flash_est_strength:

用于控制 AEC ROI 估算将在多大程度上对焦前景物体,值越大越关注前景                           。

左边smart flash0 右边smart flash10

Sat_prevention_Strength:值越大                          ,越防止过曝

4.FD flash :在开着闪光灯                           ,并且有人脸的时候,会针对人脸重新做个调整         。

enableFDFlash:FD闪光灯开关

LED Face Weight:人脸权重

FD Flash FrameCount :

如果为使 FD 在预闪光期间运行而提供了额外

延迟                 ,调整此参数可控制帧增量大小                 。需考虑

FD 进程在当前平台上的性能以及扩展预闪光

序列对用户体验的影响程度                          。

FD Flash LumaTarget:

增大/减小亮度目标可分别使人脸变亮/变暗         。

5.Flash lux trigger                           ,闪光灯触发条件         ,满足条件才会打闪                 ,否则不会打闪         。

6.CCT Tables                          ,[0]:预闪         ,[1]:主闪                          。针对预闪和主闪去改电流值         ,加大的话                          ,会增加功耗                  。

Face

Enable Face ROI:启用人脸区域

Enable lux face target一般不打开                  ,不打开的情况下         ,主要调试Face weight ,Face size         。

Face Size:人脸区域大小范围 size越大                          ,人脸权重越大                  ,越亮

左边size0.2-0.3 右边size0.8-0.9

Face Weight:权重越大,画面越亮                          。

Enable lux face target一般不打开                          ,打开了之后                           ,face会依据lux face target进行划分                  。

也就是会根据lux index 区间调试ace luma target, Face Weight,Face Size,

Lux Face luma Target: Enable lux face target打开之后,根据lux face进行triger                 ,face luma target设置                           ,

Face luma weight lux index trigger:根据lux face进行trigger         ,weight设置

Face size weight lux index trigger:根据lux face进行trigger                 ,size设置

专门针对逆光场景:

Backlit Weight Adj Settings:start越大 画面越亮;Thres Back Lit Luma Ratio:逆光场景调整比率                          ,越大越亮 在拍摄视频的时候         ,忽然遇到人脸         ,但是很快又灭了                          ,导致人脸会有个震荡。这个时候可以把stat update delay time Enter 加大一些                          。让人脸保持的时间长一些                           。

GTM(global tone mapping)

GTM会影响全局的值。GTM一般不动                  ,影响比较大                 。主要就是调试下面两个框

LTM(local tone mapping)

LTM也是分为室内         ,室外                          ,暗处

LTM Strength: LTM 强度                  ,不建议开大,开大的话                          ,副作用很大                           。

可能会有闪烁                           ,色泽溢出,来回跳变         。所以这块强度不建议太大                 。

Lowlight情况下                 ,开的很大的话                           ,会引起红噪问题                          。

Dark Boost:提升暗处细节         。

Bright Suppress: 抑制高亮         ,但是通常室外的高亮通过LTM的bright suppress                 ,抑制的力度是很小的         。还是要通过ADRC去调试                          。

点击region data                          ,Lce Strength可以用来调节黑色字体的对比度                  。

其他参数基本上是不动的         。

LTM需要在histogram调试完毕之后         ,再调试                          。

TMC

只有当historgram 调试的差不多时候         ,才会去调试TMC                  。

HDR:

HDR点检:需要关闭AE高级模块以及关闭 LTM img Process 。如果HDR出问题                          ,首先查看HDR dump                  ,若输入图没有问题         ,输出图合成有问题                          ,转给算法分析                          。

HDR合成算法:通过EV- EV0 EV+的顺序合成                  ,用EV-帧压制高光,EV+帧提亮暗处                          ,达成正常的曝光                           。

参数EVvalue                           ,EV table。

备注:

1.EV table不需要根据stepsPerEV和minEVValue去计算,保留默认参数即可                 。

6

-2

2

0.25 0.2806 0.315 0.3536 0.3969 0.4454 0.5 0.5612 0.6299 0.7071 0.7937 0.8909 1 1.1225 1.2599 1.4142 1.5874 1.7818 2 2.2449 2.5198 2.8284 3.1748 3.5636 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2.EV table需要根据stepsPerEV和minEVValue去计算                 ,计算公式如下:

比如stepsPerEV为6                           ,minEVValue为-4         ,maxEVValue为4                 ,则EV范围为[EV-24,EV+24]

EVCompTableElements[0]=2(EV-24/6)=2(-24/6)=0.0625                           。

EVCompTableElements[48]= 2^(24/6)=16

如果EVCompTableElements 的值实际不匹配                          ,会出现HDR拍照完成后预览整体画面暗下来         。

ADRC

ADRC可防止图像背景过度曝光         ,而不会导致整个图像变暗                 。

使用100%GTM可提升对比度         ,但是导致褪色                          ,使用100%LTM可导致部分区域对比度下降但色彩效果更佳                          。

一般GTM 2,LTM 8

边缘增强可增强边界局部对比度                  ,从而增强图像的清晰度         ,CPP硬件中的ASF模块使用高通滤波器增强边缘                          ,平滑处理可应用到非纹理区域来抑制噪声         。

ASF逻辑模块包含新的ASF结构                  ,其中包括用于检测边缘和实现锐化的独立组件ASF模块使用基于边缘定向的锐化,由四个边缘检测器                  、四个定向锐化滤波器以及一个对称锐化滤波器                          ,边缘定向结果决定使用哪个锐化滤波         。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ai智能生成作文(探索AI一键生成文章网页版,释放创作潜能) 预测预言的英语怎么说(预测“叫停GPT-4后续AI大模型”后续:这是一个囚徒困境)