版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Hi3516A/Hi3516D_ISP_3A文档版本03发布日期2015-06-15i2014-2015。保留一切权利。非经本公司形式。,任何和个人不得擅自摘抄、本文档内容的部分或全部,并不得以任何商标、海思和其他海思商标均为市海思半导体的商标。本文档提及的其他所有商标或商标,由各自的所有人拥有。注意您的产品、服务或特性等应受海思公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的或使用范围之内。除非合同另有约定,海思公司对本文档内容不做任何明示或默示的或保证。由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈
2、述、信息和建议不任何明示或暗示的担保。市海思半导体市龙岗区坂田:518129地址:电气生产中心:http:/客户服务:客户服务传真:客户服务邮箱:supiiHi3516A/Hi3516D_ISP_3A前 言前言概述本文档描述 Hi3516A/Hi3516D_ISP_3A 的功能、如何使用与开发。3A 功能包括 AE、 AWB、AF。本文未做特殊说明,Hi3516D 与 Hi3516A 完全一致产品版本与本文档相对应的产品版本如下。读者对象本文档(本指南)主要适用于以下工程师:技术支持工程师单板硬件开发工程师符号约定在本文中可能出现下列标志,它们所代表的含义如下。i符号说明表示有高度潜在,如果不
3、能避免,会导致或严重。产品名称产品版本Hi3516A_ISP_3A-Hi3516D_ISP_3A-Hi3516A/Hi3516D_ISP_3A前 言修订修订累积了每次文档更新的说明。内容。版本的文档包含以前所有文档版本的更新2.2 节,表 2-5 有更新3.2 节,表 3-4 有修改;3.3 节有更新文档版本 02 (2015-02-10)2.2.1 和 2.2.2 有修改,新增表 2-3表 3-3、表 3-4、表 3-7、表 3-8 均有修改;3.3 节中内容有新增文档版本 01 (2014-12-10)第 1 次正式发布,并添加 Hi3516D 的相关内容ii符号说明表示有中度或低度潜在,
4、如果不能避免,可能导致人员轻微或中等。表示有潜在风险,如果忽视这些文本,可能导致设备损坏、数据丢失、设备性能降低或不可预知的结果。表示能帮助您解决某个问题或节省您的时间。表示是正文的附加信息,是对正文的强调和补充。Hi3516A/Hi3516D_ISP_3A目 录目录前 言i1概述1概述1功能描述..4设计思路1文件组织2开发模式2流程32使用者指南52.1流程52.2 Sensor 对接9SensorSensorISP 库93A 算法库163开发者指南213.1 概述21AE 算法AWB 算法AF 算法ISP 库21ISP 库26ISP 库314附录344
5、.1函数的关系34扩展性的设计考虑343A 架构的设计思路35外部寄存器的说明35iiiHi3516A/Hi3516D_ISP_3A插图目录插图目录图 1-1 ISP firmware设计思路1图 1-2 ISP firmware文件组织2图 1-3 ISP firmware流程4图 1-4 ISP firmware结构4图 2-1 ISP firmware 使用流程6图 2-2 Sensor 适配示意图9图 2-3 Sensor 向 ISP 库的回调函数9图 2-4 Sensor 向 AE 库的回调函数16图 2-5 Sensor 向 AWB 库的回调函数19图 3-1 AE 算法向 ISP
6、 库的回调函数21图 3-2 AWB 算法向ISP 库的回调函数26图 3-3 统计信息参数示意图31图 3-4 AF 算法向 ISP 库的回调函数32ivHi3516A/Hi3516D_ISP_3A表格目录表格目录表 2-1 Sensor 向 ISP 库的回调函数10表 2-2 ISP_CMOS_DEFAULT_S 的成员变量11表 2-3 ISP_SNS_REGS_INFO_S 的成员变量15表 2-4 Sensor 向 AE 库的回调函数17表 2-5 AE_SENSOR_DEFAULT_S 的成员变量18表 2-6 Sensor 向 AWB 库的回调函数20表 2-7 AWB_SENS
7、OR_DEFAULT_S 的成员变量20表 3-1 AE 算法向 ISP 库的回调函数22表 3-2初始化参数ISP_AE_PARAM_S 的成员变量23表 3-3统计信息 ISP_AE_INFO_S 的成员变量23表 3-4运算结果 ISP_AE_RESULT_S 的成员变量24表 3-5 AWB 算法向ISP 库的回调函数26表 3-6初始化参数 ISP_AWB_PARAM_S 的成员变量27表 3-7统计信息 ISP_AWB_INFO_S 的成员变量27表 3-8运算结果 ISP_AWB_RESULT_S 的成员变量29表 3-9 AF 算法向 ISP 库的回调函数32表 3-10 初始
8、化参数ISP_AF_PARAM_S 的成员变量32表 3-11 统计信息 ISP_AF_INFO_S 的成员变量32表 3-12 运算结果 ISP_AF_RESULT_S 的成员变量33vHi3516A/Hi3516D_ISP_3A1 概述1概述1.1 概述Hi3516A_ISP_3A 版本依赖于相应的 SDK 大版本,通过一系列数字图像处理算法完成对数字图像的效果处理。主要包含 Firmware 框架及海思 3A 库,Firmware 提供算法的基本框架,处理统计信息,驱动数字图像处理算法,并包含坏点校正、去噪、色彩增强、镜头阴影校正等处理。3A平衡、色彩还原等处理。的方式,添加到 Firm
9、ware 中,完成、白功能描述设计思路ISP 的 Firmware 包含三部分,一部分是 ISP 控制单元和基础算法单元,即 ISP 库,一部分是 AE/AWB/AF 算法库,一部分是 sensor 库。Firmware 设计的基本是单独提供 3A 算法库,由 ISP 控制单元调度基础算法单元和 3A 算法库,同时 sensor 库分别向ISP 库和 3A 算法库路如图 1-1 所示。函数回调,以实现差异化的 sensor 适配。ISP firmware 设计思图1-1 ISP firmware 设计思路ISP CTRL & BASE ALG LIB不同的 sensor 都向 ISP 库和 3
10、A 算法库控制函数,这些函数都以回调函数的形式存在。ISP 控制单元调度基础算法单元和 3A 算法库时,将通过这些回调函数获取初始化参数,并控制 sensor,如调节旋转光圈等。时间、模拟增益、数字增益,控制 lens 步进聚焦或1RegisterRegisterSENSOR 3ASENSOR ISPRegister3A LIBHi3516A/Hi3516D_ISP_3A1 概述1.2.2 文件组织ISP Firmware 的文件组织结构如图 1-2 所示,ISP 库和 3A 库、sensor 库、iniparser 库、 defog 库分别独立。Firmware 中的 drv 生成的驱动程序
11、向用户态上报 ISP 中断,并以该中断驱动 Firmware 的 ISP 控制单元运转。ISP 控制单元从驱动程序中获取统计信息,并调度基础算法单元和 3A 算法库,最后通过驱动程序配置寄存器。Src 文件夹中包含 ISP 控制单元和基础算法单元,编译后生成 libisp.a,即 ISP 库。3a文件夹中包含 AE/AWB/AF 算法库,用户也可以基于的接口界面开发自己的 3a 算法。Sensor 文件夹中包含了各个 sensor 的驱动程序,该部分代码开源。hi_cmoscfg 文件夹中包含ini 文件所需的公共程序,该部分代码开源。iniparser 文件夹包含 ini函数库,也可用于其它
12、应用开发。defog 文件对应去雾算法程序,该部分代码不开源。图1-2 ISP firmware 文件组织1.2.3 开发模式SDK 中给出的形式支持用户的多种开发模式,用户可以使用海思的 3A 算法库,也可以根据 ISP 库提供的 3A 算法接口,实现自己的 3A 算法库开发,或者可以部分使用海思 3A 算法库,部分实现自己的 3A 算法库,例如 AE 使用 lib_hiae.a,AWB 使用自己的 3A 算法库。SDK 提供了灵活多变的支持方式。2Hi3516A/Hi3516D_ISP_3A1 概述 使用海思 3A 算法库用户需要根据 ISP 基础算法单元和海思 3A 算法库给出的 sen
13、sor 适配接口去适配不同的sensor。Sensor 文件夹中包含两个主要文件:sensor_cmos.c该文件中主要实现 ISP 需要的回调函数,这些回调函数中包含了 sensor 的适配算法,不同的 sensor 可能有所不同。sensor_ctrl.csensor 的底层控制驱动,主要实现 sensor 的读写和初始化动作。用户可以根据 sensor 的datasheet 进行这两个文件的开发,必要的时候可以向 sensor 厂家寻求支持。 开发 3A 算法库用户需要根据 ISP 基础算法单元给出的 sensor 适配接口去适配不同的 sensor,用户开发的 3A 算法库需要自定义数
14、据接口和回调函数去适配和控制不同的 sensor。用户自行开发 3A 算法后,可以调用 mpi_isp.h 中的接口,不能调用 mpi_ae.h 和 mpi_awb.h 中的接口。高级用户可以基于Firmware 提供的统计信息进行自己的算法库开发,当然这需要对统计信息比较熟悉,同时具有算法开发能力。1.2.4流程Firmware流程,如图 1-3 所示。首先完成 Firmware 控制单元的初始化、基础算法单元的初始化、3A 算法库的初始化,包括调用 sensor 的回调获取 sensor 差异化的初始化参数。当初始化完成之后,Firmware 由中断驱动,每帧从内核态获取统计信息,并驱动基
15、础算法单元和 3A 算法库完成计算,并反馈计算结果,配置 ISP 寄存器和 sensor寄存器。同时用户可以通过 ISP 的 MPI,控制和改变 Firmware 中包含的基础算法单元的数据和状态,定制自己的图像质量效果。如果用户使用海思提供的 3A 算法库,可以通过3A 算法库的MPI,改变 3A 算法库的原。数据和状态,调节、白平衡和色彩还3Hi3516A/Hi3516D_ISP_3A1概述图1-3 ISP firmware流程中断处理计算结果Firmware 的结构如如图 1-4 所示。图1-4 ISP firmware结构4驱动算法库完成计算获取统计信息初始化任务Hi3516A/Hi3
16、516D_ISP_3A2 使用者指南2使用者指南2.1流程ISP 作为前端部分,需要和单元(VIU)协同工作。ISP 初始化和基本配置完成后,需要 VIU 进行接口时序匹配。一是为了匹配不同 sensor 的输入时序,二是为 ISP 配置正确的输入时序。待时序配置完成后,ISP 就可以启动 Run 来进行动态图像质量调节。此时输出的图像被 VIU 2-1 示。,进而送去显示或编码。使用流程如图PQ Tools 工具主要完成在 PC 端进行动态图像质量调节,可以调节多个影响图像质量的因子,如去噪强度、色彩转换矩阵、饱和度等。5Hi3516A/Hi3516D_ISP_3A2使用者指南图2-1 IS
17、P firmware 使用流程启动系统配置MIPI3A算法向ISP回调函数初始化ISP外部寄存器配置ISP宽动态模式配置图像公共属性运行ISP配置VI退出?启动VI捕获图像退出ISP退出系统如果用户调试好图像效果后,可以使用 PQ Tools 工具提供的配置文件保存功能进行配置参数保存。在下次启动时系统可以使用 PQ Tools 工具提供的配置文件加载功能加载已经调节好的图像参数。代码示例:HI _S32 s 32Re t; ALG_L IB_S s t L i b ;I SP_PUB_ATTR_Sp t h r ea d_ t i s p_s t PubAtt r ;* / *s e n s
18、 o r库s 32Re t = s e n s o r _ r e g i s t e r _ ca ll b ac k () ;6编码显示使用MPI调优图像使用PQ Tools工具调优图像初始化ISPSensor向3A算法和ISP回调函数Hi3516A/Hi3516D_ISP_3A2使用者指南i f (HI _SUCS ! = s 32Re t )p rf( ” r e g i s t e r s e n s o r f a il e d ! n ” ) ;r e t u r n s 32Re t; / *海思AE算法库 * /s t L i b . s 32 I d = 0 ;s t r
19、c py ( s t L i b . acL i bName , HI _AE_L IB_NAME ) ; s 32Re t = HI _MP I _AE_Re g i s t e r(&s t L i b ) ;i f (HI _SUCS ! = s 32Re t )p rf( ” r e g i s t e r ae li b f a il e d ! n ” ) ;r e t u r n s 32Re t; / *海思AWB算法库 * /s t L i b . s 32 I d = 0 ;s t r c py ( s t L i b . acL i bName , HI _AWB_L I
20、B_NAME ) ; s 32Re t = HI _MP I _AWB_Re g i s t e r(&s t L i b ) ;i f (HI _SUCS ! = s 32Re t )p rf( ” r e g i s t e r awb li b f a il e d ! n ” ) ;r e t u r n s 32Re t; / *海思AF算法库 * /s t L i b . s 32 I d = 0 ;s t r c py ( s t L i b . acL i bName , HI _AF_L IB_NAME ) ; s 32Re t = HI _MP I _AF_Re g i s
21、 t e r(&s t L i b ) ;i f (HI _SUCS ! = s 32Re t )p rf( ” r e g i s t e r a f li b f a il e d ! n ” ) ;r e t u r n s 32Re t; / * 初始化I SP外部寄存器 * /s 32Re t = HI _MP I _ I SP_MemI n it (I s pDe v ) ;i f ( s 32Re t ! = HI _SUCS )p rf( %s : HI _MP I _ I SP_ I n it f a il e d ! n ,_FUNCT ION_ ) ;r e t u r
22、n s 32Re t; 7Hi3516A/Hi3516D_ISP_3A2 使用者指南/ * 配置I SP宽动态模式 * /I SP_WDR_MODE_S srMod e ;= e nWDRMod e ;srMod e . e nWDRMod es 32Re t = HI _MP I _ I SP_SeRMod e ( 0 , &srMod e ) ;i f (HI _SUCS ! = s 32Re t )p rf( s t a r t I SP WDR f a il e d ! n ) ;r e t u r n s 32Re t; / * 配置图像公共属性 * /s 32Re t = HI _
23、MP I _ I SP_Se t PubAtt r(I s pDe v , &s t PubAtt r) ;i f ( s 32Re t ! = HI _SUCS )p rf( %s : HI _MP I _ I SP_Se t PubAtt r f a il e d wit h %#x ! n ,_FUNCT ION_ ,s 32Re t ) ;r e t u r n s 32Re t; / * 初始化I SP F i rmwa r e * /s 32Re t = HI _MP I _ I SP_ I n it () ;i f(HI _SUCS ! = s 32Re t )p rf( ” i
24、 s p i n it f a il e d ! n ” ) ;r e t u r n s 32Re t; / *i fHI _MP I _ I SP_Run单独启动线程运行( 0 ! = p t h r ea d_ c r ea t e (&i s p_* /, 0 , I SP_Run , NULL ) p rf( c r ea t e i s p r unn i ngt h r ea d f a il e d ! n ) ;r e t u r n HI _FAI LURE ;/ *启动VI / VO等业务 * / * 停止VI / VO等业务 * /s 32Re t = HI _MP I
25、 _ I SP_Ex it () ;i f (HI _SUCS ! = s 32Re t )p rf( ” i s p e x it f a il e d ! n ” ) ;8Hi3516A/Hi3516D_ISP_3A2 使用者指南return s32Ret;pthread_join(isp_, 0);return HI_SUCS;AE 库有用到标准C 库的数学库,请使用者在Makefile 中增加 lm 编译条件。2.2 Sensor 对接Sensor 库主要是为了提供差异化的 sensor 适配,里面的内容可以分为两部分:Sensor向 ISP 库定;Sensor的差异化适配,这些差异化
26、适配主要由 Firmware 中的基础算法单元决思 3A 库的差异化适配。Sensor 的适配包括算法的初始化默认值,及 sensor 控制接口,sensor 的适配是通过接口回调的形式图 2-2 表示了 Sensor 与 ISP 库和 3A 算法库之间的关系。给 ISP 库和 3A 算法库。图2-2 Sensor 适配示意图2.2.1 SensorISP 库ISP 库调用 HI_MPI_ISP_SensorRegCallBack,如图 2-3 所示,详细说明参Sensor见HiISP 开发参考。图2-3 Sensor 向 ISP 库的回调函数【举例】ISP_SENSOR_REGISTER_S
27、 stIspRegister;ISP_SENSOR_EXP_FUNC_S *pssorExpFunc = &stIspRegister.stSnsExp;memset(pssorExpFunc, 0, sizeof(ISP_SENSOR_EXP_FUNC_S);9Hi3516A/Hi3516D_ISP_3A2 使用者指南p s p s p s p s p s p sp ss o r ExpFun c - p f n_ cmo s _ s e n s o r _ i n it = s e n s o r _ i n it; s o r ExpFun c - p f n_ cmo s _ s e
28、n s o r _ e x it = s e n s o r _ e x it; s o r ExpFun c - p f n_ cmo s _ s e n s o r _g l ob a l _ i n it = s e n s o r _g l ob a l _ i n it; s o r ExpFun c - p f n_ cmo s _ s e t _ ima g e _mod e = cmo s _ s e t _ ima g e _mod e ;s o r ExpFun c - p f n_ cmo s _ s e t _wd r _mod e = cmo s _ s e t _w
29、d r _mod e ;s o r ExpFun c - p f n_ cmo s _g e t _ i s p_d e f a u lt = cmo s _g e t _ i s p_d e f a u lt; s o r ExpFun c - p f n_ cmo s _g e t _ i s p_b l ac k_ l e v e l=cmo s _g e t _ i s p_b l ac k_ l e v e l; p sp ss o r ExpFun c - p f n_ cmo s _ s e t _p i x e l _d e t ec t =s o r ExpFun c - p
30、 f n_ cmo s _g e t _ s n s _ r e g_ i n f o =cmo s _ s e t _p i x e l _d e t ec t; cmo s _g e t _ s n s _ r e g s _ i n f o ;I SP_DEV I s pDe v = 0 ; HI _S32 s 32Re t; s 32Re t = HI _MP I _ I SP_Se n s o r Re gCa ll Bac k (I s pDe v , &s t I s pRe g i s t e r) ;i f ( s 32Re t )IMX178_ ID,p rf( s e n
31、 s o r r e g i s t e r ca ll b ac kf un c ti onf a il e d ! n ) ;r e t u r n s 32Re t; 需要在_cmos.c 中实现以下回调函数:表2-1 Sensor 向 ISP 库的回调函数如果回调函数暂不实现,可以实现空函数,或者将回调函数指针置为 NULL 即可。10成员名称描述pfn_cmos_sensor_init初始化 sensor 的回调函数指针。pfn_cmos_sensor_exit退出 sensor 的回调函数指针。pfn_cmos_sensor_global_init初始化全局变量的回调函数指针。pf
32、n_cmos_set_image_mode设置图像模式的回调函数指针。pfn_cmos_set_wdr_mode设置 wdr 模式和线性模式切换的回调函数指针。pfn_cmos_get_isp_default获取 ISP 基础算法的初始值的回调函数指针。pfn_cmos_get_isp_black_level获取 sensor 的黑电平值的回调函数指针。pfn_cmos_set_pixel_detect设置坏点校正开关的回调函数指针。pfn_cmos_get_sns_reg_info设置 sensor与增益延时的回调函数指针。Hi3516A/Hi3516D_ISP_3A2 使用者指南一般情况下
33、,cmos sensor时间相关寄存器从配置到生效的时间延迟最大。若能够在消隐区完成对 sensor 的配置,sensor时间通常会在配置后的第 2 帧生效,增益会在配置后的第 1 帧生效。pfn_cmos_get_sns_reg_info 用于保证AE 计算出来的每帧 sensor时间和增益配置同步以避免闪烁现象。pfn_cmos_get_sns_reg_info 调用参数 ISP_SNS_REGS_INFO_S 支持I2C 和SPI接口,成员变量具体含义请参考表 2-3,其中u8Cfg2ValidDelayMax 可用于保证ISP 寄存器与sensor 寄存器同步生效,如ISPDgain
34、和比。举例来说,若 sensor时间在配置后的第 2帧生效,增益在配置后的第 1 帧生效,那么u8Cfg2ValidDelayMax 需设置为 2,表示所有 sensor寄存器从配置到生效延迟的帧数最大值为 2,时间的 u8DelayFrmNum 需设置为 0 表示时间不需延迟配置,增益的 u8DelayFrmNum 需设置为 1 表示增益需延迟 1 帧配置,如此正好保证配置下去后 AE 计算出来的结果是同时生效的;若 sensor时间和增益都在配置后的第 2 帧生效,则 u8Cfg2ValidDelayMax 需设置为 2,时间和增益的 u8DelayFrmNum 都需设置为 0。除了(以时
35、间和增益外,可以通过增加变量个数,同步配置 sensor 每帧最大时间 VMAX行数为)或每行最大时间 HMAX(以每行对应的时钟个数为),如此时间的在切换帧率时就不会出现闪烁现象,VMAX 或 HMAX 的 u8DelayFrmNum 一般与u8DelayFrmNum 相同。对于不同 sensor,具体的参数配置需参考 sensor datasheet。在检验间与增益是否同步时,可以打开抗闪,如果不同步在抗闪时间改变时容易出现画面闪烁。时表2-2 ISP_CMOS_DEFAULT_S 的成员变量11成员名称子成员名称描述stDrcbEnableHI_FALSE:关闭 DRC 功能;HI_TR
36、UE:使能 DRC 功能。线性模式默认值为 HI_FALSE,WDR 模式默认值为 HI_TRUE,且必须设置为 HI_TRUE。u32BlackLevelDRC 算法的下限值,低于 u32Blacklevel的像素点不经过 DRC 算法处理。取值范围:0, 0 x。默认值为 0。u32WhievelDRC 算法的上限值,高于 u32Whievel的像素点不经过 DRC 算法处理。取值范围:0, 0 x。线性模式默认值为 0 x4FF,WDR 模式默认值为 0 x。u32SlopeMaxDRC tone curve 控制参数,用于限制DRC 曲线暗区斜率(增益)的最大值。取值范围:0, 0 x
37、FF。线性模式默认值为 0 x30,WDR 模式默认值为 0 x38。u32SlopeMinDRCtone curves 控制参数,用于限制DRC 曲线亮区斜率(增益)的最小值。Hi3516A/Hi3516D_ISP_3A2使用者指南12成员名称子成员名称描述取值范围:0, 0 xFF。线性模式默认值为 0 x0,WDR 模式默认值为 0 xC0。u32VarianpaceDRC 算法的空间敏感度。该值越大,表示每个像素生成自己的 tone_curve 时会参考越多周围的像素。取值范围:0 x0, 0 xF。线性模式默认值为 0 x4,WDR 模式默认值为 0 xA。u32Varianceen
38、sityDRC 算法的亮度敏感度。该值越大,表示每个像素的 tone_curve 与周围像素的差异越小。取值范围:0 x0, 0 xF。线性模式默认值为 0 x1,WDR 模式默认值为 0 x4。stAgcTblbValid该结构体的数据是否有效,取值范围为0,1。au8SharpenA根据增益动态调节图像大边缘锐度的插值数组,取值范围为0,255。au8SharpenAltUd根据增益动态调节图像小纹理锐度的插值数组,取值范围为0,255。au8SnrThresh根据增益动态设置图像去噪强度的插值数组,取值范围为0,255。au8DemosaicLumThresh该数组用来设置图像的大边缘锐
39、度的亮度门限值,建议用户使用默认参数值,取值范围为0,255。pOffset该数组用来设置图像的噪声参数,建议用户使用默认参数值,取值范围为 0,255。au8GeStrength该数组用来设置绿色平衡模块的参数,建议用户使用默认参数值,取值范围为 0,255。stNoiseTblbValid该结构体的数据是否有效,取值范围为0,1。au8NoiseProfileWeightLut该数组用来设置与 sensor 特性相关的噪声型式,作为去噪模块的输入,建议用户使用默认参数值,取值范围为 0,255。au8DemosaicWeightLut该数组用来设置与 sensor 特性相关的噪Hi3516
40、A/Hi3516D_ISP_3A2使用者指南13成员名称子成员名称描述声型式,作为 demosaic 模块的输入,建议用户使用默认参数值,取值范围为 0,255。stDemosaicbValid该结构体的数据是否有效,取值范围为0,1。u8VhSlope垂直/水平混合的斜率门限,使用默认值,取值范围为0,255。u8AaSlope角度混合的斜率门限,使用默认值,取值范围为0,255。u8VaSlopeVH-AA 混合的斜率门限,使用默认值,取值范围为0,255。u8UuSlope未定义的混合的斜率门限,使用默认值,取值范围为0,255。u8SatSlope饱和度混合的斜率门限,使用默认值,取值
41、范围为0,255。u8AcSlope高频分量滤波斜率门限,使用默认值,取值范围为0,255。u16VhThresh垂直/水平混合的门限,使用默认值,取值范围为0,0 xF。u16AaThresh角度混合门限,使用默认值,取值范围为0, 0 xF。u16VaThreshVA 混合门限,使用默认值,取值范围为0, 0 xF。u16UuThresh未定义的混合门限,使用默认值,取值范围为0, 0 xF。u16SatThresh饱和度混合门限,使用默认值,取值范围为0, 0 xF。u16AcThresh高频分量滤波门限,使用默认值,取值范围为0, 0 xF。stGammafebValid该结构体的数据
42、是否有效,取值范围为0,1。WDR 模式必须配置。au16Gammafe0GammaFe 表 0,用于减小查找表插值时出现的误差,与 au16Gammafe1 共同完成图像压缩的功能,由校正工具生成取值范围为0,0 x F。au16Gammafe1GammaFe 表 1,与 au16Gammafe0 共同完成图像压缩的功能,由校正工具生Hi3516A/Hi3516D_ISP_3A2使用者指南14成员名称子成员名称描述成,取值范围为0,0 xF。stGammabValid该结构体的数据是否有效,取值范围为 0,1。如果使用默认 gamma 曲线,可以配置为无效。au16GammaGamma 表,
43、取值范围为0,0 xF。stShadingbValid该结构体的数据是否有效,取值范围为 0,1。如果不需要 shading 校正,可以配置为无效。u16RCenterXR 分量中心点的 X 轴坐标。取值范围为0 x0, 0 xFu16RCenterYR 分量中心点的 Y 轴坐标。取值范围为0 x0, 0 xFu16GCenterXG 分量中心点的 X 轴坐标。取值范围为0 x0, 0 xFu16GCenterYG 分量中心点的 Y 轴坐标。取值范围为0 x0, 0 xFu16BCenterXB 分量中心点的 X 轴坐标。取值范围为0 x0, 0 xFu16BCenterYB 分量中心点的 Y
44、 轴坐标。取值范围为0 x0, 0 xFau16RShadingTblR 分量的校正表。取值范围为0 x0, 0 xFau16GShadingTblG 分量的校正表。取值范围为0 x0, 0 xFau16BShadingTblB 分量的校正表。取值范围为0 x0, 0 xFu16ROffCenterR 分量中心点与最远的角的距离。距离越大,数值越小。取值范围为0 x0, 0 xFu16GOffCenterG 分量中心点与最远的角的距离。距离越大,数值越小。取值范围为0 x0, 0 xFu16BOffCenterB 分量中心点与最远的角的距离。距离越大,数值越小。Hi3516A/Hi3516D_
45、ISP_3A2使用者指南表2-3 ISP_SNS_REGS_INFO_S 的成员变量15成员名称子成员名称描述enSnsTypeISP_SNS_I2C_TYPESensor 与 ISP 使用 I2C 接口通信。ISP_SNS_SSP_TYPESensor 与 ISP 使用 SSP 接口通信。u32RegNum结果写到 sensor 时需要配置的寄存器个数,不支持动态修改。u8Cfg2ValidDelayMax所有 Sensor 寄存器从配置到生效延迟的帧数的最大值,为帧,用于保证 sensor 寄存器和 ISP 寄存器的同步。一般情况下,cmos sensor 的曝光时间寄存器的延迟最大,为
46、12 帧,因此配置一般为 1 或 2。成员名称子成员名称描述取值范围为0 x0, 0 xFu16TblNodeNum每个分量校正表中使用到的节点个数。取值范围为0 x0, 0 x81,默认值为 0 x81。stRgbSharpenbValid该结构体的数据是否有效,取值范围为 0,1。如果使用默认 SharpenRGB 曲 线,可以配置为无效。u8Lore主要影响 SharpenRGB 曲线最小边缘幅值到曲线峰值对应边缘幅值的曲线斜 率;同时影响峰值对应边缘幅值到最大边缘幅值的曲线斜率。取值范围为0, 255。u8LutStrengthSharpen 曲线的强度调节参数,取值范围为0, 127
47、。u8LutMagnitude主要影响 SharpenRGB 曲线峰值对应边缘幅值到最大边缘幅值的曲线斜率;同时影响最小边缘幅值到曲线峰值对应边缘幅值的曲线斜率。取值范围为0,31。ssorMax Resolutionu32MaxWidthSensor 支持的最大宽度,防止分辨率切换时配置超过 sensor 支持的宽度。u32MaxHeighsor 支持的最大高度,防止分辨率切换时配置超过 sensor 支持的高度。Hi3516A/Hi3516D_ISP_3A2使用者指南SensorSensor3A 算法库AE 算法库AE 算法库调用 HI_MPI_AE_SensorRegCallBack,如
48、图 2-4 所示,详细说明Sensor参见HiISP 开发参考。16成员名称子成员名称描述astI2cDatabUpdateHI_TRUE:数据会配置 sensor 寄存器;HI_FALSE:数据不会配置 sensor 寄存器。u8DelayFrmNumsensor 寄存器延迟配置的帧数。此变量的目的是保证 时间和增益同时生效。u8DevAddrSensor 设备地址。u32RegAddrSensor 寄存器地址。u32AddrByteNumSensor 寄存器地址位宽。u32DataSensor 寄存器数据。u32DataByteNumSensor 寄存器数据位宽。astSspDatabUp
49、dateHI_TRUE:数据会配置 sensor 寄存器;HI_FALSE:数据不会配置 sensor 寄存器。u8DelayFrmNumsensor 寄存器延迟配置的帧数。此变量的目的是保证 时间和增益同时生效。u32DevAddrSensor 设备地址。u32DevAddrByteNumSensor 设备地址位宽。u32RegAddrSensor 寄存器地址。u32AddrByteNumSensor 寄存器地址位宽。u32DataSensor 寄存器数据。u32DataByteNumSensor 寄存器数据位宽。Hi3516A/Hi3516D_ISP_3A2 使用者指南图2-4 Senso
50、r 向 AE 库的回调函数【举例】ALG_LIB_S stLib;AE_SENSOR_REGISTER_S stAeRegister;AE_SENSOR_EXP_FUNC_S *pstExpFuncs = &stAeRegister.stSnsExp; pstExpFuncs-pfn_cmos_get_ae_default= cmos_get_ae_default;pstExpFuncs-pfn_cmos_fps_set= cmos_fps_set;pstExpFuncs-pfn_cmos_slow_framerate_set= cmos_slow_framerate_set;pstExpFu
51、ncs-pfn_cmos_time_update= cmos_time_update;pstExpFuncs-pfn_cmos_gains_update pstExpFuncs-pfn_cmos_again_calc_tablepstExpFuncs-pfn_cmos_dgain_calc_table= cmos_gains_update;= cmos_again_calc_table;= cmos_dgain_calc_table;pstExpFuncs-pfn_cmos_get_ ISP_DEV IspDev = 0;stLib.s32Id = 0;time_max= cmos_get_t
52、ime_max;strncpy(stLib.acLibName, HI_AE_LIB_NAME, sizeof(HI_AE_LIB_NAME); s32Ret = HI_MPI_AE_SensorRegCallBack(IspDev, &stLib, IMX178_ID,&stAeRegister);if (s32Ret)prf(sensor register callback function to ae lib failed!n);return s32Ret;需要在_cmos.c 中实现以下回调函数:表2-4 Sensor 向 AE 库的回调函数17成员名称描述pfn_cmos_get_a
53、e_default获取 AE 算法库的初始值的回调函数指针。pfn_cmos_fps_set设置 sensor 的帧率的回调函数指针。pfn_cmos_slow_framerate_set降低 sensor 的帧率的回调函数指针。Hi3516A/Hi3516D_ISP_3A2 使用者指南如果回调函数暂不实现,可以实现空函数,或者将回调函数指针置为 NULL 即可。多帧WDR 模式,需要调用pfn_cmos_get_ time_max 计算短帧的最大时间,AE算法根据短帧的限制和比计算得到长、短帧的时间和增益,其余流程与线性模式一致。为了保证多帧WDR 模式在正常场景的效果,海思 AE 算法可以
54、根据直方图统计信息计算实现自动比,在正常场景时设置长、短帧比为 1:1,如此WDR 融合时只采用一帧数据,可以避免正常场景出现运动拖尾,同时也可减弱正常室内场景的工频闪现象。表2-5 AE_SENSOR_DEFAULT_S 的成员变量18成员名称描述au8HistThresh五段直方图的分割门限值数组,取值范围为0,255。使用默认值,线性模式为0 xd,0 x28,0 x60,0 x80,BUILT_IN WDR 模式为0 x20,0 x40,0 x60,0 x80,帧WDR 模式为0 xc,0 x18,0 x60,0 x80。pensationAE 亮度目标值,取值范围为0,255,建议用
55、 0 x380 x40。u32LinesPer500ms每 500ms 的总行数。u32FlickerFreq抗闪频率,数值为当前电源频率的 256 倍。f32Fps基准帧率。u32InitExure默认初始量,等于时间(行数)*系统增益(6bit 小数精度)。AE 算法采用该值作为初始 5 帧的量,可用于运动 DV 加速启动。u32FullLinesStd基准帧率时 1 帧的有效行数。u32MaxTime最大时间,以行为。u32MinTime最小时间,以行为。u32MaxTime最大时间目标值,以行为。u32MinTime最小时间目标值,以行为。pfn_cmos_time_update设置
56、sensor 的时间的回调函数指针。pfn_cmos_gains_update设置 sensor 的模拟增益和数字增益的回调函数指针。pfn_cmos_again_calc_table查表方式计算 AE 模拟增益的回调函数指针。pfn_cmos_dgain_calc_table查表方式计算 AE 数字增益的回调函数指针。pfn_cmos_get_time_max2To1_LINE 或 2To1_FRAME WDR 模式计算短曝光帧的最大时间的回调函数指针。Hi3516A/Hi3516D_ISP_3A2使用者指南19成员名称描述stTimeAccu时间精度。u32MaxAgain最大模拟增益,以
57、倍为。u32MinAgain最小模拟增益,以倍为。u32MaxAgaarget最大模拟增益目标值,以倍为。u32MinAgaarget最小模拟增益目标值,以倍为。stAgainAccu模拟增益精度。u32MaxDgain最大数字增益,以倍为。u32MinDgain最小数字增益,以倍为。u32MaxDgaarget最大数字增益目标值,以倍为。u32MinDgaarget最小数字增益目标值,以倍为。stDgainAccu数字增益精度。u32MaxISPDgaarget最大 ISP 数字增益目标值,以倍为。u32MinISPDgaarget最小 ISP 数字增益目标值,以倍为。u32ISPDgain
58、ShiftISP 数字增益精度。stAERouteAttrAE 默认分配路线。bAERouteExValidAE 扩展分配路线是否生效开关,该值为 HI_TRUE 时使用扩展分配路线,否则使用普通 AE 分配路线。stAERouteAttrExAE 默认扩展分配路线,合理配置可用于优化 WDR 模式图像效果。u16ManRatioEnable两帧WDR 手动比使能,该值为 HI_TRUE 时,曝光比固定,不会根据场景自动更新。u32Ratio两帧WDR 默认比。当 u16ManRatioEnable 为 HI_TRUE 时,采用 u32Ratio 作为默认比。6bit 小数精度。取值范围:0
59、x40, 0 x。enIrisType默认镜头类型,DC-Iris 或 P-Iris。默认镜头类型与实际对接镜头类型不一致时,AI 算法无法正常工作。stPirisAttrP-Iris 参数,与具体镜头相关。只有默认镜头类型是 P-Iris时,才需要用该结构体参数。Hi3516A/Hi3516D_ISP_3A2 使用者指南 SensorAWB 算法库AWB 算法库调用 HI_MPI_AWB_SensorRegCallBack,如图 2-5 所示,详细Sensor说明参见HiISP 开发参考。图2-5 Sensor 向 AWB 库的回调函数Register:AWB LIBpfn_cmos_get
60、_awb_default;【举例】ALG_LIB_S stLib; AWB_SENSOR_REGISTER_S stAwbRegister;AWB_SENSOR_EXP_FUNC_S *pstExpFuncs = &stAwbRegister.stSnsExp;memset(pstExpFuncs, 0, sizeof(AWB_SENSOR_EXP_FUNC_S);pstExpFuncs-pfn_cmos_get_awb_default = cmos_get_awb_default;ISP_DEV IspDev = 0; stLib.s32Id = 0;strncpy(stLib.acLibN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026芯片分析面试题及答案
- 2026亚马逊销售面试题及答案
- 2026医生义诊面试题及答案
- 2026应用商店推广面试题及答案
- 2026汽车智能驾驶系统技术行业核心竞争分析及产业投资规划报告
- 2026中国运动生物力学分析仪器产学研用协同发展报告
- 2026生物医用陶瓷材料行业市场深度分析及创新趋势与未来市场前景预测报告
- 思想建设自查报告2026(3篇)
- 不良反应监测工作考核制度
- 2027届揭阳市榕城区四上数学期末检测模拟试题含解析
- DB11T 1080-2014 硬泡聚氨酯复合板现抹轻质砂浆外墙外保温工程施工技术规程
- (正式版)DB65∕T 4174-2018 《橡胶草膜下滴灌栽培技术规程》
- 城市管理的面试题及答案
- 2025年医院三基三严试题题库(附答案)
- 《热泵技术与应用》课件(共八章)
- 第三章物质的性质与转化论证重污染天气“汽车限行”的合理性探讨社会性科学议题教学设计-高一上学期化学鲁科版
- 翻转课堂培训课件
- 死亡病例讨论病例汇报
- 2025年度企业破产重整法律服务合同范例
- 《JJG1036-2022电子天平检定规程》
- 企业管理咨询服务协议模板
评论
0/150
提交评论