海思AE模块Lines_per_500ms参数的意义

 基础知识

1秒(S)=1000毫秒(ms)=1000_000微妙(µs)=1000_000_000纳秒(ns)

1GHz=1000Mhz=1000_000KHz=1000_000_000Hz

1Hz=1/s

抗频闪原理

海思AE模块参数中有一个LinesPer500ms的参数,意思为500ms对应的曝光行数。此个参数和抗频闪有关。

我们知道:

50HZ交流电能量周期:T = 1/(50*2)s

sensor曝光一行 line_time = line_length/pclk=HTS*(1/pclk),

line_length = pclk * line_time;

fps=pclk/(VTS*HTS)

= pclk/(frame_length*line_length)


line_time = 1/(frame_length *fps ) = 1/(VTS *fps )

为了避免flicker,必须满足每一行获取的能量是交流电能量周期的整数倍,否则会应为获取的能量不一致,导致水波纹现象的产生。即:

line_time* Step = n * T

故:

Step= n*T/line_time=n*T/(1/(VTS *fps ))=n*T*VTS*FPS=n*VTS*FPS/100       (n取正整数)

Fps为一秒内的帧数,因此line_time应该以秒为单位。或者说是pclk 以MHZ为单位需要转换为Hz为单位,才与50Hz在同一个度量水平。而1Hz=1/s,所以line_time参数也是以s为单位。

linesPer500ms参数主要是进行以曝光行为单位的曝光时间和微妙为单位的曝光时间的转换。AE自动曝光算法内部还是以曝光行为单位进行AE的调整,而调试工具界面除了曝光时间上下限是以曝光行为单位,其他时间相关的都是以微妙为单位。

https://i-blog.csdnimg.cn/direct/324194f1fb9f4b3e863218486456f48b.png

海思抗频闪方式描述如下:

https://i-blog.csdnimg.cn/direct/7999ed23d2be4d819431d47942587bf3.png

Lines_per_500ms=pclk/(Picture_width+Width of the horizontal blanking region)/2=pclk/HTS/2

上述公式怎么得到的呢?

我们知道sensor一行的曝光时间为line_time=HTS/pclk,那么500ms需要对应曝光多少曝光行呢?

1/line_time=x/0.5   注意等式两边时间单位是以s为单位

x=0.5/line_time=pclk/HTS/2

即500ms对应的需要曝光pclk/HTS/2曝光行才行。

抗频闪参数(Lines_per_500ms)定义的问题

以50HZ抗频闪为例,50HZ抗频闪每行需要曝光10ms,也即是pclk/HTS/100,也即VTS*fps/100

那为什么不直接定义一个linesPer10ms(10ms对应的曝光行数)的参数去进行抗闪时间计算呢?如果定义linesPer500ms的参数,那还需要再此参数的基础上再除以50才能以转换为以每10ms为步进进行曝光。本质上linesPer10ms和linesPer500ms在此情景中是一样的作用。实际内部计算中用linesPer10ms去计算曝光时间根据方便些。

抗频闪参数(Lines_per_500ms)定义的问题

原因1

再继续思考定位。发现海思内部计算工频闪烁类型的时候有用到Lines_per_500ms参数。如下图描述:

https://i-blog.csdnimg.cn/direct/b01754d3f94847f9aded5d920b755f5b.png

https://i-blog.csdnimg.cn/direct/f2fdda6ab6064f10b5d889f2599448d8.png

https://i-blog.csdnimg.cn/direct/097a48646a194084be4bfed3f603e086.png

大概意思是利用获取到的3帧图像数据根据LinePerSecond变量,计算出当前环境是有无工频闪。有工频闪时候,是50HZ还是60Hz工频闪,亦或是未知类型的工频闪。

计算工频闪烁的时候需要LinePerSecond,即1秒的最大总曝光行数。

我们知道1s=0.01*100s=0.5*2s。

假设当前帧率为8帧,VTS等于1124为偶数

我们以Lines_per_500ms=VTS*fps/2,Lines_per_10ms=VTS*fps/100分别计算得到:

Lines_per_500ms = 1124*8/2=4496

Lines_per_10ms =  1124*8/100=89

然后以Lines_per_500ms 、Lines_per_10ms分别计算LinePerSecond,

分别得到4496*2=8992,、89*100=8900。
以上以Lines_per_10ms计算得到的LinePerSecond存在误差,而以Lines_per_500ms计算得到的LinePerSecond无误差



假设当前帧率为8帧,VTS等于1125为奇数

我们以Lines_per_500ms=VTS*fps/2,Lines_per_10ms=VTS*fps/100分别计算得到:

Lines_per_500ms = 1125*8/2=4500

Lines_per_10ms =  1125*8/100=90
以上以Lines_per_10ms计算得到的LinePerSecond无误差,而以Lines_per_500ms计算得到的LinePerSecond无误差

即使是帧率为奇数帧,VTS为奇数,根据Lines_per_500ms 、Lines_per_10ms分别计算LinePerSecond时,以Lines_per_500ms计算得到的LinePerSecond也会比以Lines_per_10ms计算得到LinePerSecond误差要小些。

通过图像帧数据和LinePerSecond判断当前是否有误频闪的时候,LinePerSecond参数越精确越好。如果以Lines_per_10ms为抗闪参数,在计算LinePerSecond时会有些许误差。最后将导致判断频闪类型的时候可能会出现误判或者漏判的情况。所以海思的抗闪参数定义为Lines_per_500ms。

原因2:

基于同样精度的原因,在下述海思曝光行转换为微秒的关系式中,由于Lines_per_10ms计算的值相对比Lines_per_500ms 计算得到的值误差要大些,再按照下述关系转换为微秒的时候误差也较大;相反的,由微秒为单位的曝光时间转换为对应以曝光行为单位的曝光时间的时候,前者转换后的结果所带来的误差也比后者大。

在应用层面上,由于带来的误差可能将导致一些应用逻辑失效或者出错。

https://i-blog.csdnimg.cn/direct/68d673f840e14b668091c5e3606d54cb.png

​所以,以Lines_per_500ms 为抗频闪参数,为的是尽量减小精度保证相应逻辑正确的的前提下所设计的参数值。

其他原因:?? 欢迎讨论补充

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 海思IVE_SVP_IVS开发手册.zip是一本关于海思芯片相关开发的手册。海思是华为公司的芯片子公司,致力于推动人工智能与云计算技术在各行业的应用。IVE(Intelligent Video Engine)是其推出的一种高性能、低功耗、高效率的视频处理引擎。SVP(Smart Video Platform)是基于IVE开发的一种智能视频处理平台。IVS(Intelligent Video Surveillance)则是海思针对视频监控行业推出的一种解决方案。 海思IVE_SVP_IVS开发手册为开发者提供了详细的技术规格和应用案例,让其更好地理解和应用IVE、SVP和IVS技术。手册中包含了海思芯片的硬件架构、软件架构、接口介绍、软件开发环境的设置和使用方法等内容。此外,手册还介绍了IVE、SVP和IVS的常见应用场景,如人脸识别、车辆识别、行为分析等。 总之,海思IVE_SVP_IVS开发手册.zip是一本非常有价值的技术手册,对于研究和开发基于海思芯片的视频处理技术的人员来说具有很大的帮助。无论是从理论知识方面,还是从技术应用方面,它都将使开发者更加熟练地应用IVE、SVP和IVS技术,进一步提升其研发能力和技术水平。 ### 回答2: 海思ive_svp_ivs开发手册.zip是一份关于海思SVP平台上的智能视频分析算法开发的手册。该手册详细介绍了SVP平台的各种算法框架,以及如何使用SVP平台上的工具进行开发和调试。手册中包含了很多实用的示例和代码,可以帮助开发人员快速掌握SVP平台上的开发技巧。 此外,该手册也提供了一些使用建议,包括如何进行代码管理、测试和调试、代码优化等方面。这些内容对于开发人员们在开发中会遇到许多问题,提供了一些建议和指导。手册还详细说明了SVP平台上的优势和应用场景,这可以让开发人员更好地理解SVP平台的特点和优势,并为实际应用场景做出相应的开发和调试更好地。 总的来说,海思ive_svp_ivs开发手册.zip是一份非常有价值的开发指南,它不仅提供了相关的开发工具和示例代码,还提供了许多实用的应用建议和优化技巧,非常适合SVP平台上开发智能视频分析算法的开发人员使用。 ### 回答3: 海思ive_svp_ivs开发手册.zip是一份开发手册,专为海思公司旗下的IVE(SVP)智能视频引擎及IVS(智能视频分析)服务而设计的。使用这份手册,开发人员可以掌握IVE和IVS系列产品的开发流程以及使用方法。该手册除了介绍IVE和IVS的理论知识外,还提供了具体的开发指导和实例代码,从而有助于开发人员快速准确地实现相关功能。 该手册主要分为以下几个部分:首先是IVE和IVS的基础知识介绍,包括相关术语解释、工作原理、功能分类等。其次是IVE和IVS的安装与配置,包括软件和硬件环境的配置、IVE SDK的安装等。接着是IVE和IVS的开发指南,包括IVS算法开发指南、IVE应用开发指南等。最后是附录部分,包含了相关技术规范、开发示例、API参考文档等。 综上所述,海思ive_svp_ivs开发手册.zip是一份非常实用的开发指南,对于想要开发和应用IVE和IVS产品的开发人员来说非常有用。通过阅读手册中的内容,开发人员可以更好地理解和掌握IVE和IVS的工作原理,有助于提升开发效率和开发质量,同时也能够推动智能视频领域的发展和创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值