ISP Pipeline典型场景要点SAT、Bokeh、MFNR、HDR
目录
一、概述
二、通用流程
三、典型场景
1. SAT
2. Bokeh背景虚化 + MFNR
3. HDR(DOL、DCG等)
一、概述
本文解释isp pipeline的一些非常典型的场景,不同厂商对pipeline的连接及node的port口设计可能不同,但核心的思想相同。纯干货!
二、通用流程
一般走向都是sensor,FE0/1/2/..., BE,PE。CVE在旁路进行特征点提取、匹配、映射,各种H矩阵求取等计算,输出给PE或NPU(Face Detection或Motion Detection)等。
FE输出Ideal Raw图给BE,几帧的Ideal Raw图一般存于ZSL队列。
BE进行RAW2YUV处理,输出FULL size图 + DS4图的YUV图给PE经过分时复用实现多pass降噪。
PE输出的就是最终的预览图,给DPU送显。
FE一般会额外输出一路Y图给CVE,用于计算TNR H Matrix,CVE输出的TNR H matrix会作用于PE的TNR warp模块,TNR降噪。当然,这与SAT关系不大,而是预览正常处理。
ZSL队列用于拍照瞬间获取多帧合成still image。
FE\BE\PE\CVE的概念请自己对应,不同厂商不一样。
三、典型场景
1. SAT
SAT一般在普通拍照预览和录像预览下开启,至少两个sensor。
- Main sensor输出:Main Stream + SAT专用Y图
- Slave sensor输出:SAT专用Y图
master sensor输出几张IdealRaw图存于ZSL队列,这个是主图,经过BE、PE处理后用于预览。master sensor和slave sensor分别连接的FE0和FE1会输出SAT专用小Y图给CVE计算SAT H matrix,作用于PE的EIS warp模块,将main图的FOV对齐到slave图。
- 当master为大fov,slave为小fov,上面正常的SAT处理。
- 当master为小fov,slave为大fov,只有当slave切换为master时SAT H matrix才会作用于EIS warp。
对于SAT,只有master sensor的FE会输出用于TNR的Y图给CVE,因为预览图来源于master sensor,slave sensor主要是用于配合计算SAT H matrix。
2. Bokeh背景虚化 + MFNR
至少需要两个Sensor。
对于预览,Main sensor的PE和Sub sensor的PE均会输出YUV小图给CVE,计算Main-sub H Matrix,生成depth map小图Y格式。depth map作用于Main sensor的PE输出的预览流,进行Bokeh处理。
对于拍照,前面会多一步。FE0和FE1的Ideal RAW输出都会经过RAW MFNR处理,MFNR需要FE0/1输出的Y小图经过CVE,CVE计算MFNR H matrix,该矩阵用于MFNR计算。MFNR后的Bayer RAW图像经过BE、PE、CVE Bokeh就一样了。
3. HDR(DOL、DCG等)
第一个讲2DOL Stagger HDR。
即以“行”为输出单位“长短帧”曝光,以“帧”为单位因为间隔时间太长会有伪影产生,早已过时。
FE接受来自sensor的2DOL图像(Ev0和Ev-),CVE分时读取Ev0长曝光图像和Ev-短曝光图像,求取特征点(FTPT),根据特征点进行match,输出H矩阵,传给BE的HDR warp。
BE读取长短帧图像,利用H矩阵对Ev-图像配准,然后进行HDR融合。可硬件融合或AI融合。
第二个讲DCG HDR。
对于DCG HDR,Sensor只曝光一次,通过不同的AD转换增益获取Ev0和Ev-,其他步骤没有特别的区别。这种方式Sensor有可能直接对两者图像融合。
不断更新...
相关文章:
ISP Pipeline典型场景要点SAT、Bokeh、MFNR、HDR
目录 一、概述 二、通用流程 三、典型场景 1. SAT 2. Bokeh背景虚化 MFNR 3. HDR(DOL、DCG等) 一、概述 本文解释isp pipeline的一些非常典型的场景,不同厂商对pipeline的连接及node的port口设计可能不同,但核心的思想相同…...
计算机视觉(CV)技术
是一种将数字图像或视频进行处理和分析的技术,旨在使计算机能够模拟人类视觉系统。该领域涉及到图像处理、模式识别、机器学习等多个领域,主要涵盖以下几方面: 图像处理:对图像进行去噪、增强、分割、特征提取等处理。图像分类&a…...
vue3项目使用TypeIt打字机
官网: TypeIt | The most versatile JavaScript typewriter effect library on the planet. 下载: npm i typeit 使用方法: 正常打字 多行打字机 input输入框实现打字机效果 打字机颜色变化 删除,光标移动,最全面的打字机效果 官网最下面还可以输入你想有的打字效果,然后生…...
Linux基础命令1——Linux的命令格式与命令分类
目录 Linux命令格式 Linux命令分类 如何判断命令的类型——Type命令 内置命令 外部命令 alias命令 命令的执行效率与过程 Linux命令格式 命令格式 完整的命令格式分为三部分:命令、参数、对象 其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做…...
SystemVerilog Assertions应用指南 Chapter 11.5SVA检验器的时序窗口
11.5SVA检验器的时序窗口 到目前为止,带延迟的例子使用的都是固定的正延迟。在下面几个例子中,我们将讨论几种不同的描述延迟的方法属性p12检查布尔表达式“a&&b”在任何给定的时钟上升沿为真。如果表达式为真,那么在接下去的1-~3周期内,信号“c”应该至少在一个时钟周…...
内衣洗衣机有必要买吗?口碑好的小型洗衣机测评
在近年以来,由于人们对健康的认识和生活质量的不断改善,使得内衣洗衣机这一类的产品在近年来得到了飞速的发展,洗烘一体机、洗烘套装的价格总体下降,功能和性能都得到了改善,往往更多的用户会选择一台或者多台洗衣机来…...
Mac风扇控制电脑降温软件Macs Fan Control Pro 简体中文
Macs Fan Control Pro是一款功能强大的Mac风扇控制软件,旨在帮助用户更好地管理和控制Mac电脑的风扇速度和温度传感器。以下是该软件的主要特色介绍: 监测和调整Mac电脑的风扇速度和温度传感器,帮助用户控制设备温度,提高电脑性能…...
OPENCHAT: ADVANCING OPEN-SOURCE LANGUAGE MODELS WITH MIXED-QUALITY DATA
本文是LLM系列文章,针对《OPENCHAT: ADVANCING OPEN-SOURCE LANGUAGE MODELS WITH MIXED-QUALITY DATA》的翻译。 OPENCHAT:利用混合质量数据推进开源语言模型 摘要1 引言2 前言3 OpenChat4 实验5 分析6 相关工作7 结论与未来工作 摘要 如今࿰…...
【React】编程式路由,push 与 replace,withRouter,BrowserRouter 和 HashRouter 的区别
push 与 replace 模式 默认情况下,开启的是 push 模式,也就是说,每次点击跳转,都会向栈中压入一个新的地址,在点击返回时,可以返回到上一个打开的地址 有时候页面不需要这么繁琐的跳转,我们可以…...
测试老鸟总结,Allure测试报告-自动化测试详解,惊险避坑...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Allure安装教程…...
大模型开发06:LangChain 概述
大模型开发06:LangChain 概述 LangChain 是一个基于语言模型开发应用程序的框架。它可以实现以下功能: 上下文感知: 将语言模型与上下文源相连接(提示词、示例、用于支撑响应的内容等)推理能力: 依赖语言模型进行推理(如何根据提供的上下文来回答问题或采取哪些行动等)La…...
unity save load系统 快速搭建
我的最终目标是快读建立一个关卡数据自动读入储存功能: 1. 每个关卡有自己的编号,如果没有自定义该关卡,则读取默认编号的初始布局,如果有自定义该关卡,则读取新定义的关卡。 2.在游戏中如果对布局做出了更改&#x…...
前端 TS 快速入门之四:函数
1. 为函数定义类型 一般使用中,我们可以不必完整写出函数类型,因为 TypeScript 会为我们自动推断出类型,需要注意的是:类型中的参数名称可以不必和值中的参数名称匹配,只要它们类型是兼容的便可。 // 书写完成函数类型…...
Linux 救援模式
Linux突然坏了 第三次坏了 第一次是找不到盘,修复好了 第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用 第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘…...
HOT100自查题集
前言 遗忘是人类的本能,经常自查是必不可少的。现在面试手撕已经是必备项目,手撕题目大部分来自于力扣 HOT100 以及对应方向的一些编码题。我对 HOT 100 的题目以及Java相关的一些编码题目进行了分类整理,并提供解题思路,用作复习…...
Post-Process1-水下
一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…...
通过pipeline配置sonar自动化实现过程解析
这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.sonar配置webhooks, 2.url填写jenkins的地址:http://jenkinsurl/sonarqu…...
Spring framework Day 23:容器事件
前言 容器事件是 Spring Framework 中的一个重要概念,它提供了一种机制,使我们能够更好地了解和响应 Spring 容器中发生的各种事件。通过容器事件,我们可以在特定的时间点监听和处理容器中的各种状态变化、操作和事件触发,以实现…...
【Dockerfile】基于openjdk镜像添加常用命令工具
背景 官方openjdk镜像是Red Hat操作系统,可以使用microdnf命令安装 bash-4.4# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa)拉取openjdk镜像 docker pull openjdk:17.0.2 编写Dockerfile touch Dockerfile-openjdk-utilsFROM openjd…...
目录内图片转PDF(多图片打印助手)
最近同事经常找我帮她打印试卷,很奇葩的是,她的试卷都是*红书上下载的图片,一张张打印不好看,而且可能打印不完全,大小也不协调,所以有了这个脚本。 【需要给小孩打印图片格式的试卷时也比较实用】 -----…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
