海思 ISP 3A开发技术

  • 1.概述
    • 1.1 概述
    • 1.2 功能描述
      • 1.2.1 设计思路
      • 1.2.2 文件组织
      • 1.2.3 开发模式
      • 1.2.4 内部流程
  • 2. 使用者指南
    • 2.1 软件流程
    • 2.2 Sensor 对接
      • 2.2.1 Sensor 注册 ISP 库
      • 2.2.2 Sensor 注册 3A 算法库
        • 2.2.2.1 Sensor 注册 AE 算法库
        • 2.2.2.2 Sensor 注册 AWB 算法库
        • 2.2.2.3 Sensor 注册 AF 算法库
  • 3.开发者指南
    • 3.1 概述
    • 3.2 AE 算法注册 ISP 库
    • 3.3 AWB 算法注册 ISP 库
    • 3.4 开发用户 AF 算法

1.概述

1.1 概述

Hi3519v101/Hi3519v100 ISP3A 版本依赖于相应的 SDK 大版本,通过一系列数字图像处理算法完成对数字图像的效果处理。主要包含 Firmware 框架海思 3A 库Firmware 提供算法的基本框架,处理统计信息,驱动数字图像处理算法,并包含坏点校正、去噪、色彩增强、镜头阴影校正等处理3A 库以注册的方式,添加到 Firmware 中,完成曝光、白平衡、色彩还原等处理

1.2 功能描述

1.2.1 设计思路

ISP 的 Firmware 包含三部分:

  1. ISP 控制单元和基础算法单元,即 ISP 库;
  2. AE/AWB/AF 算法库;
  3. sensor 库;
    Firmware 设计的基本思想是单独提供 3A 算法库,由 ISP 控制单元调度基础算法单元 和 3A 算法库,同时 sensor 库分别向 ISP 库 和 3A 算法库注册函数回调,以实现差异化的 sensor 适配。

    不同的 sensor 都向 ISP 库 和 3A 算法库注册控制函数,这些函数都以回调函数的形式存在。 ISP 控制单元调度基础算法单元 和 3A 算法库时,将通过这些回调函数获取初始化参数,并控制 sensor, 如调节曝光时间、模拟增益、数字增益,控制 lens 步进聚焦或旋转光圈等。

1.2.2 文件组织

ISP Firmware 的文件组织结构如下图所示,ISP 库和 3A 库、sensor 库、iniparser 库、defog 库 分别独立。 Firmware 中的 drv 生成的驱动程序向用户态上报 ISP 中断,并以该中断驱动 Firmware 的 ISP 控制单元运转。ISP 控制单元从驱动程序中获取统计信息,并调度基础算法单元 和 3A 算法库,最后通过驱动程序配置寄存器。

Src 文件夹中包含 ISP 控制单元和基础算法单元,编译后生成 libisp.a,即 ISP 库。3A 文件夹中包含 AE/AWB/AF 算法库,用户也可以基于统一的接口界面开发自己的 3A 算法。 Sensor 文件夹中包含了各个 sensor 的驱动程序。hi_cmoscfg 文件夹中包含解析 ini 文件所需的公共程序。iniparser 文件夹包含 ini 解析函数库,也可用于其他应用开发。defog 文件对应去雾算法程序。

1.2.3 开发模式

SDK 中给出的形式支持用户的多种开发模式,用户可以使用海思的 3A 算法库,也可以根据 ISP 库提供的 3A 算法注册接口,实现自己的 3A 算法库开发,或者可以部分使用海思的 3A 算法库,部分实现自己的 3A 算法。

用户需要根据 ISP 基础算法单元给出的 sensor 适配接口去适配不同的 sensor ,用户开发的 3A 算法库需要自定义数据接口和 回调函数去适配和控制不同的 sensor。用户自行开发 3A 算法后,可以调用 mpi_isp.h 中的接口,不能调用 mpi_ae.h 和 mpi_awb.h 中的接口。

1.2.4 内部流程

Firmware 内部流程,如下图所示。

首先完成 Firmware 控制单元的初始化、基础算法单元的初始化、3A 算法库的初始化,包括调用 sensor 的回调获取 sensor 差异化的初始化参数。当初始化完成后,Firmware 由中断驱动,每帧从内核态获取统计信息,并驱动基础算法单元和 3A 算法库完成计算,并反馈计算结果,配置 ISP 寄存器 和 sensor 寄存器。

同时用户可以通过 ISP 的 MPI,控制和改变 Firmware 中包含的基础算法单元的内部数据和状态,定制自己的图像质量效果。如果用户使用海思提供的 3A 算法库,可以通过 3A 算法库的 MPI ,改变 3A 算法库的内部数据和状态,调节曝光、白平衡和色彩还原。

如下所示为 ISP Fireware 软件结构图:

2. 使用者指南

2.1 软件流程

ISP 作为前端采集部分,需要和视频采集单元(VIU)协同工作。ISP 初始化和基本配置完成后,需要 VIU 进行接口时序匹配。一是为了匹配不同 sensor 的输入时序,而是为 ISP 配置正确的输入时序。待时序配置完成后,ISP 就可以启动 Run 来进行动态图像质量调节。此时输出的图像被 VIU 采集,进而送去显示或编码,软件使用流程如下图所示:

PQ Tools 工具主要完成在 PC 端进行动态图像质量调节,可以调节多个影响图像质量的因子,如 去噪强度、色彩转换矩阵、饱和度等。
如果用户调试好图像效果后,可以使用 PQ Tools 工具提供的配置文件保存功能进行配置参数保存。在下次启动时系统可以使用 PQ Tools 工具提供的配置文件加载功能加载已经调节好的图像参数。

2.2 Sensor 对接

Sensor 库主要是为了提供差异化的 sensor 适配,里面的内容可以分为两部分:

  1. Sensor 向 ISP 库注册的差异化适配,这些差异化适配主要由 Fireware 中的基础算法单元决定;
  2. Sensor 向海思 3A 库注册的差异化适配。
    Sensor 的适配包括算法的初始化默认值,及 sensor 控制接口,sensor 的适配是通过接口回调的形式注册给 ISP 库 和 3A 算法库。

2.2.1 Sensor 注册 ISP 库

2.2.2 Sensor 注册 3A 算法库

2.2.2.1 Sensor 注册 AE 算法库
2.2.2.2 Sensor 注册 AWB 算法库
2.2.2.3 Sensor 注册 AF 算法库

3.开发者指南

3.1 概述

3.2 AE 算法注册 ISP 库

3.3 AWB 算法注册 ISP 库

3.4 开发用户 AF 算法

节选自:《hi3519 ISP 3A开发指南.pdf》

海思 ISP 3A开发技术相关推荐

  1. 海思SD3403/SS928开发(一)简介

    海思SD3403/SS928开发(一):简介 一:简介 SD3403/SS928是一颗面向监控市场推出的专业 ultra-HD Smart IP Camera SOC. 二:性能介绍 SD3403/S ...

  2. 传海思为 PC 开发 CPU/GPU ;小米将发布第二款 5G 手机;Firefox 68.0.2 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  3. 关于华为海思Hi35XX系列开发的思考与总结

    前言 自认为是搞嵌入式方向的一名小菜鸡,本科时借着竞赛学习了STM32,后续又开了51单片机的课程,也做了几个课程项目.当然啦,也画过PCB板子.不过也都是皮毛而已.所以说,在刚拿到这块Hi3516D ...

  4. 海思HI3751_Android解决方案 开发指南

    本文档主要介绍海思HI3751 Android 智能电视解决方案的功能和使用方法. 1.1 Android 开发环境要求操作系统:64 位 Ubuntu 10.04 或 Ubuntu 12.04  硬 ...

  5. 雄迈信息联合华为海思发布H.265AI技术,安防视频更智能

    在安防行业急速发展的今天,随着对图像分辨率.帧率.图像智能检测等方面需求的不断提高,进而在编码.传输.存储.解码等一系列过程中,迫使对算法和芯片也提出了更高的要求. 海思在算法和芯片方面有着多年的行业 ...

  6. 海思OMX代码分析---技术片段

    一.引言: 海思stb产品omx框架中使用的一些不错的代码技术,这个博客分析这些代码片段. 二.具体分析: 1.字符串衔接: 海思在通过组件名加载动态库的时候,将组件名与前后缀衔接使用的是strnca ...

  7. 雄迈信息联合华为海思发布H.265AI技术,让安防视频更智能

    在安防行业急速发展的今天,随着对图像分辨率.帧率.图像智能检测等方面需求的不断提高,进而在编码.传输.存储.解码等一系列过程中,迫使对算法和芯片也提出了更高的要求. 海思在算法和芯片方面有着多年的行业 ...

  8. 海思isp图像处理芯片_基于海思芯片的高清IP芯片级解决方案

    --------------------------------------------------------- 精品 文档 ------------------------------------ ...

  9. 华为海思芯片嵌入式开发相关

    华为海思3516DV300芯片嵌入式 Linux系统人脸识别门禁系统套件开发说 https://blog.csdn.net/linshengfu1989/article/details/9103798 ...

最新文章

  1. BERT中的黑暗秘密
  2. 正态分布随机数 C语言,C语言产生满足正态分布的随机数
  3. 聚类(三)FUZZY C-MEANS 模糊c-均值聚类算法——本质和逻辑回归类似啊
  4. PHP执行批量mysql语句
  5. 面试和人生目标(转)
  6. 滤波器的优点_声光可调谐滤波器
  7. movielens推荐系统_案例|推荐系统的评估指标
  8. VS Code 终端窗口无法输入命令的解决方案
  9. Automated Feature Engineering Basics
  10. 2021年最新超火外卖侠cps小程序,三级分销返利外卖领劵小程序源码,带电影票分销积分商城
  11. java 强制声明为引用_JAVASERIPT高级程序设计35~45页
  12. 完全背包问题 c语言
  13. http keepalive原理
  14. 第33期:蓝桥杯-第十二届蓝桥杯省赛A组题解
  15. IE无法打开internet网站已终止操作的解决的方法
  16. 外显子测序数据分析流程
  17. 关于内网和外网 区别
  18. OA流程 工作流设计
  19. cern ROOT 读取TXT文件数据并画一个简单的直方图
  20. 手把手教你做一个天气时钟,推荐收藏

热门文章

  1. 暨大计算机学硕考研,暨南大学有几个校区计算机的研究生在哪个校区这个..._考研_帮考网...
  2. kali Linux sqlmap安装遇到的问题
  3. cas多系统集成统一认证
  4. Linux Shell 脚本交互输入
  5. [MVP] 热烈祝贺!您已经获得 Microsoft MVP 奖励!
  6. 另辟蹊径,在小程序中获取是否关注公众号
  7. CLion在Linux环境下中文输入待选框跟随问题解决方案
  8. 【密码学笔记】代替技术
  9. 到底什么是444天线?
  10. U-Boot移植与总结 P2020篇