高通 ISP pipeline

目录

ISP理解:

1. IFE : Image front-end engine(图像前端引擎)

1.1 相关特点

1.2 IFE作用

2. BPS : Bayer processing segment(拜耳加工段)

2.1 相关特点

2.2 BPS基本概念

2.3 BPS与IFE区别:

3. IPE : Image processing engine(图像处理引擎)

3.1 相关特点

3.2 IPE基本概念


ISP理解:

IPS是图像信号处理,是对CMOS图像传感器输出的信号做后期处理的芯片。主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等。

ISP处理主要有三个流preview、snapshot、video:分别对应IFE、BPS、IPE。

高通ISP大致流程图

名词解释:

  • CSID: Camera Serial Interface Decoder Module,摄像机串行接口解码器模块

  • IFE(x 2):Image Front End,图像前端

  • IFE_Lite(x 5): Image Front End Lite,图像前端Lite(轻量级?)

  • BPS: Bayer Processing Segment (for snapshot),拜耳处理器(用于快照)

  • IPE: Image Processing Engine,图像处理引擎

  • VPU: Video Processing Unit (CODEC),视频处理单元(编解码器)

  • DPU: Display Processing Unit,显示处理单元

基础拓扑图

1. IFE : Image front-end engine(图像前端引擎)

1.1 相关特点

  1. 只对preview、vedio做bayer域的处理

  2. 3A的处理

  3. IEF模块提供多级pass的输出(1:1,1:4,1:16)供给IPE

  4. 与以前的相比,主要是把luma和color(CAC,LTM,CV,SCE,CS)移到了IPE

  5. IEF为ideal raw dump 提供3条路径

    1. 来自CAMIF(Bayer 格式),CAMIF(Camera Interface Hardware,照相机接口上的硬件)

    2. 来自Lens shading correction(LSC)的输出(Bayer 格式)

    3. 来自Global tone mapping(GTM)的输出(RGB 14-bit格式)

IFE原理图
IFE的域处理

名词解释:

1.CSID:

  • CSI Decoder:CSI解码器

  • IFE_lite 与 IFE 分开(有 4 个 RDI)

  • 3/4 RDI (Raw Data Interface) output to DDR:3/4 RDI(原始数据接口)输出到 DDR

  • 12MP@120 each:12MP代表的是1200w像素摄像头,后面“@120”是什么意思不是很明白。

  • Bayer processing for video/preview:视频/预览的拜耳处理

  • 3A 的统计数据(拜耳网格/直方图、拜耳焦点等)

  • HVX 流媒体的 4 个分接点

  • PD 校正(包括 2x1/2x2 OCL)、zzHDR、QCFA binning

  • 3A 的统计数据(拜耳网格/直方图、拜耳焦点等)

  • 用于 2PD 和稀疏 PD(AF 改进)的 PDLib

  • 单独的预览和视频输出

2.IFE(Image Front End) x 2

1.2 IFE作用

数据分流和格式转换。

2. BPS : Bayer processing segment(拜耳加工段)

2.1 相关特点

  1. IFE的CSID可以直接输出“补偿过pd像素点的raw Bayer”,作为Snapshot数据供后续BSP操作。

  2. IFE的CAMIF可以直接输出PD像素点的raw Bayer,以供PDAF算法使用;

  3. IFE经过一些处理产生的拜尔图像可以供IFE内部的3A 使用但不是输出

  4. IFE经过进一步处理,可以产生自动逸尺寸的YUV数据,作为preview和video的数据供给IPE使用

  5. BPS,在Bayer处理阶段用于快照(snapshot)的拜尔阵列处理单元(例如,去马赛克、zzHDR、PDAF 像素校正(包括 2x1/2x2 OCL)、镜头阴影校正等)

  6. 用于特殊离线处理简单的数据(BG 和 HDR列表)统计

  7. BPS模块提供多级pass的输出(1:1,1:4,1:16,1:64)供给IPE

  8. BPS 中没有 HNR

BPS原理图
BPS域处理

2.2 BPS基本概念

一个Feature通常会使用一个usecase来定义

一个usecase通常会包含几个pipeline来描述一个流程

一个pipeline通常是几个nodelist以及portlink组成的一个串联结构

而Node通常分为ChiNode(也就是用户Node,例如hdr的com.arcsoft.node.hdr.so这个Node),或者IFE/BPS/IPE/AWB这样的系统Node

在Node中,一般都直接链接了处理算法和逻辑,其中BPS Node也是一些算法的组成以及一个算法处理的逻辑

一个usecase中,通常会包含一个BPS和一个IPE的部分或者所有算法处理

对相机算法的tuning,其实就是对BPS/IFE/IPE这些节点中含有的算法的参数进行调整,以使整个Feature达到比较好的效果

2.3 BPS与IFE区别:

  1. BPS与IFE主要区别就是BPS多了Green Imbalance Correction 和Hybrid Noise Reduction两个模块。

  2. GIC:Green Imbalance Correction,主要是由于sensor中多是GR和GB两个G的值不一样,因此需要做一个绿平衡使结果更平滑。

  3. HNR:主要是做的高频降噪,其图像利用DCT转化到频域,HNR主要去除的是luma信道的高频噪声,不能去除Cr和Cb的噪声。

3. IPE : Image processing engine(图像处理引擎)

3.1 相关特点

  1. IPE由两个部分组成,分别是NPS(Noise processing segment,噪声处理段)和 PPS(Post processing segment,后处理段)

  2. NPS(Noise processing segment,噪声处理段)

    1. ICA1用于内联EIS和图像畸变

    2. ICA2和时间滤波器(TF)用于运动补偿时间滤波器(MCTF)

    3. 用于空间降噪的先进降噪技术(Advance noise reduction(ANR)for Spatial noise reduction(SNR))

  3. PPS(Post processing segment,后处理段)

    1. 主要用于luma和color(CAC,LTM,2DLU,CV,SCE,CS)

    2. Qualcomm Spectra 2xx主要的变化之一就是将以上模块移动到降噪后处理

    3. 由于细节增强的ASF(Adaptive Spatial Filter,自适应空间滤波器)

    4. Scaler(No rotator)

    5. 单输入多输出(SIMO,Single input multiple outputs)

IPE原理图

IPE域处理

3.2 IPE基本概念

IFE和BPS的处理更倾向于前端,一般指刚拿到图像,需要最根本的校准补偿等。

IPE处理包括Noise processing segment(NPS,噪声处理)和Post processing segment(PPS),主要包括去噪、滤波等对于图片的初步加工

IPE可以输出YUV图像到preview和video,以及输出JEPG到snapshot,所以无论是那种输出都要经过IPE。

  • Preview/video的数据处理流程为:Sensor Raw Bayer ——> IFE——> IPE ——> YUV

  • SnapShot的数据处理流程为:Sensor Raw Bayer ——> IFE ——> BPS ——> IPE ——> JPEG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/943590.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux知识点回顾(期末提分篇)

前言:本篇文章为WK学子量身打造,其余读者也可根据题目进行巩固提升。 目录 前言:本篇文章为WK学子量身打造,其余读者也可根据题目进行巩固提升。 一、Linux的内核版本每一部分的含义 二、查看当前系统中所有用户的详细信息的文…

【图像处理lec10】图像压缩

目录 一、图像压缩基础 1、图像压缩的基本概念 2、数据冗余与压缩比 3、三种主要的数据冗余类型 4、保真度评估标准(Fidelity Criteria) 5、应用与实践 二、图像压缩模型 1、图像压缩模型概述 (1)压缩系统的结构 &#…

Java和Go语言的优劣势对比

文章目录 Java和Go语言的优劣势对比一、引言二、设计哲学与语法特性1、设计哲学2、语法特性 三、性能与内存管理1、性能2、内存管理和垃圾回收 四、并发编程模型五、使用示例1、Go语言示例代码2、Java语言示例代码 六、对比表格七、总结 Java和Go语言的优劣势对比 一、引言 在…

CH340系列芯片驱动电路·CH340系列芯片驱动!!!

目录 CH340基础知识 CH340常见类型 CH340引脚功能讲解 CH340驱动电路 CH340系列芯片数据手册 编写不易,仅供学习,请勿搬运,感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路降压芯片驱动电路详解-CSDN博客 ME62…

[Python3] Sanic中间件

在 Sanic 中,中间件(middleware)是指在请求和响应之间执行的代码。它们是一个非常强大的工具,用于处理请求的预处理、响应的后处理、全局错误处理、日志记录、认证、权限校验、跨域资源共享(CORS)等任务。中…

pikachu靶场搭建详细步骤

一、靶场下载 点我去下载 二、靶场安装 需要的环境: mysqlApaches(直接使用小皮面板Phpstudy:https://www.xp.cn/),启动他们 设置网站,把靶场的路径对应过来 对应数据库的信息 由于没有核对数据库的信…

Goland 安装与使用

GoLand安装 官方网址: JetBrains GoLand:不只是 Go IDE 1. 进入官网,点击下载: ​ 2. 如下图一步步安装 ​ ​ ​ ​ ​ 3. 如下图一步步安装

计算属性 简写和 完整写法

计算属性渲染不加上括号 methods方法和computed属性区别: computed只计算一次,然后缓存,后续直接拿出来使用,而methods每次使用每次计算,不会缓存 计算属性完整写法: 既获取又设置 slice 截取 成绩案例 …

2024最新鸿蒙开发面试题合集(二)-HarmonyOS NEXT Release(API 12 Release)

上一篇面试题链接:https://mp.csdn.net/mp_blog/creation/editor/144685078 1. 鸿蒙简单介绍和发展历程 HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁,流畅,连续&#xff0…

【C++】——精细化哈希表架构:理论与实践的综合分析

先找出你的能力在哪里,然后再决定你是谁。 —— 塔拉韦斯特弗 《你当像鸟飞往你的山》 目录 1. C 与哈希表:核心概念与引入 2. 哈希表的底层机制:原理与挑战 2.1 核心功能解析:效率与灵活性的平衡 2.2 哈希冲突的本质&#x…

修改 ssh 默认访问端口

Linux 最小化安装后默认带有 ssh 服务并正常运行,服务默认端口为“22”。为了确保访问网络的安全,很多用户的网络设备对“22”端口做了限制,这时我们需要修改 ssh 服务默认的端口。 此步骤建议直接在服务器上通过鼠标键盘操作 修改配置文件 …

HCIA-Access V2.5_6_3_GPON组网保护

Type B单归属保护 在PON网络中,从OLT到ONU,整个链路上只有一根光纤,如果光纤出现断裂,业务就会中断,如果断的是分支链路一般主要影响个别用户,一旦主干光纤出现问题,PON口下所有的用户都会造成中断&#xf…

Mybatis-Plus中的Page方法出现Records的值大于0但是total的值一直是0

最近在学习mybatis-plus的时候,做分页查询,出现了一个诡异的情况,就是 Records的值大于0但是total的值一直是0,经过一顿百度之后发现,是缺少了一个分页的bean 加上这个配置类就好了,网上说这是个分页的插件…

Docker 安装mysql ,redis,nacos

一、Mysql 一、Docker安装Mysql 1、启动Docker 启动:sudo systemctl start dockerservice docker start 停止:systemctl stop docker 重启:systemctl restart docker 2、查询mysql docker search mysql 3、安装mysql 3.1.默认拉取最新版…

从 Coding (Jenkinsfile) 到 Docker:全流程自动化部署 Spring Boot 实战指南(简化篇)

前言 本文记录使用 Coding (以 Jenkinsfile 为核心) 和 Docker 部署 Springboot 项目的过程,分享设置细节和一些注意问题。 1. 配置服务器环境 在实施此过程前,确保服务器已配置好 Docker、MySQL 和 Redis,可参考下列链接进行操作&#xff1…

python脚本:批量提取excel数据

这是一个脚本,用于提取文件夹下所有excel文件中的特定数据,并保存到一个新的excel文件。由于我的数据不多,就没有使用多线程。 要提取的数据如图中的检测项目 代码 import os import openpyxl## 第一步提取文件夹中的所有excle文件 # 1 设置…

绝美的数据处理图-三坐标轴-散点图-堆叠图-数据可视化图

clc clear close all %% 读取数据 load(MyColor.mat) %读取颜色包for iloop 1:25 %提取工作表数据data0(iloop) {readtable(data.xlsx,sheet,iloop)}; end%% 解析数据 countzeros(23,14); for iloop 1:25index(iloop) { cell2mat(table2array(data0{1,iloop}(1,1)))};data(i…

设计模式的主要分类是什么?请简要介绍每个分类的特点。

大家好,我是锋哥。今天分享关于【设计模式的主要分类是什么?请简要介绍每个分类的特点。】面试题。希望对大家有帮助; 设计模式的主要分类是什么?请简要介绍每个分类的特点。 1000道 互联网大厂Java工程师 精选面试题-Java资源分…

V-Ray 来到 Blender:为艺术家提供专业级渲染

Chaos 正式宣布将其行业领先的渲染引擎 V-Ray 集成到 Blender 中。这一备受期待的开发为 Blender 用户带来了专业级渲染功能,使他们能够直接在他们最喜欢的 3D 平台中制作令人惊叹的、逼真的图像和动画。 渲染 强大的可缩放渲染 使用 V-Ray 将您的渲染提升到一个…

三层交换原理及图示

大概 三层交换原理 需要提前掌握的(VLAN基础知识) 【Info-Finder 参考链接:什么是VLAN】 三层是IP层,即网络层。为了方便记忆的:“先有网络,才有传输”、“传输是为了验证有网络”、“IP不是Transfer”…