ISPpipeline流程图及功能模块简述

ISP(imagesignalprocessing),图像信号处理芯片,在手机摄像头和车载摄像头等领域有着广泛应用,是图像信号处理的核心芯片。

ISPpipeline流程图如下:

光线经过lens镜头,投射到sensor上,经过光电转换成模拟电信号,再由A/D转换成数字信号,交给ISP芯片进行一系列的处理,在LENS部分也需要进行镜头校正、颜色矫正等一些操作。然后,得到的bayerpattern的image,再经过BLC(blacklevelcompensation,黑电平补偿)、lensshading(lensshadingcorrection,镜头阴影矫正)、BPC(badpixelcorrection,去坏点)、CIP(demosaic,去马赛克插值)、DNS(denoise,去噪)、AWB(自动白平衡)、colorcorrection(颜色矫正)、gamma矫正、色彩空间转换(RGB转换YUV),然后输出YUV(或者RGB)格式的数据,再通过I/O接口传输到CPU中处理。

各个模块功能简述如下:

Bayerpattern:

通常把图像传感器表面覆盖的滤波称为彩色滤波阵列(ColorFilterArrays,CFA)。目前最常用的滤镜阵列是棋盘格式的,已经有很多种类的,其中绝大多数的摄像产品采用的是原色贝尔模板彩色滤波阵列(BayerPatternCFA)R、G、B分别表示红色、绿色和蓝色的滤镜阵列单元,比较形象地展示了此过程。由于人的视觉对绿色最为敏感,所以在BayerCFA中G分量是R和B的二倍,在每个像素点上只能获取一种色彩分量的信息,然后根据该色彩分量的信息通过插值算法得到全色彩图像。

BLC(BlacklevelCorrection):

物理器件不可能是理想的,由于杂质、受热等其他原因的影响,即使没有光照射到pixel,象素单元也会产生电荷,这些电荷产生了暗电流。而且,暗电流与光照产生的电荷很难进行区分。BlackLevel是用来定义图像数据为0时对应的信号电平。由于暗电流的影响,传感器出来的实际原始数据并不是我们需要的黑平衡(数据不为0)。所以,为减少暗电流对图像信号的影响,可以采用的有效的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下,在传感器中,实际像素要比有效像素多,像素区头几行作为不感光区,实际上这部分区域也做了RGB的colorfilter,用于自动黑电平校正,其平均值作为校正值,然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。做了blacklevel矫正与没做blacklevel矫正对比,没做blacklevel矫正的图片会比较亮。

LSC(LensShadingCorrection)

由于镜头本身的物理性质,造成图像四周亮度相对中心亮度逐渐降低,图像光照在透过镜头照射到pixel上时,边角处的焦点夹角大于中心焦点夹角,造成边角失光。表现在图像上的效果就是亮度从图像中心到四周逐渐衰减,且离图像中心越远亮度越暗。为了补偿四周的亮度,需要进行LensShading的矫正。LensShading的矫正的方法是根据一定的算法计算每个像素对应的亮度矫正值,从而补偿周边衰减的亮度。

BPC(BadPixelCorrection)

一般情况下,RGB信号应与景物亮度呈线性响应关系,但由于Senor部分pixel不良导致输出的信号不正常,出现白点或黑点。坏点为全黑环境下输出图像中的白点,高亮环境下输出图像中的黑点。坏点修复方法通常有两种:一种是自动检测坏点并自动修复,另一种是建立坏点像素链表进行固定位置的坏像素点修复,这种方式是OTP的方式。其实坏点有时候是故意放进去的,为的就是作为一个参考标尺。

DNS:

使用cmossensor获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时,当信号经过ADC时,又会引入其他一些噪声。这些噪声会使图像整体变得模糊,而且丢失很多细节,所以需要对图像进行去噪处理,空间去噪传统的方法有均值滤波、高斯滤波等。但是,一般的高斯滤波在进行采样时主要考虑了像素间的空间距离关系,并没有考虑像素值之间的相似程度,因此这样得到的模糊结果通常是整张图片一团模糊。所以,一般采用非线性去噪算法,例如双边滤波器,在采样时不仅考虑像素在空间距离上的关系,同时加入了像素间的相似程度考虑,因而可以保持原始图像的大体分块,进而保持边缘。在实际的应用中,小波去噪比较合适,而且在整个pipeline中的各个分段,都会或多或少的应用到DNS的操作,在ISP的整个过程中特别重要,几乎存在于其各个部分。

颜色插值

当光线通过Bayer型CFA(ColorFilterArrays)阵列之后,光线打在传感器上,分别得到了BGR数据,在这里,BGR的数据采样比为11,是因为人眼对绿色光(550nm)更为敏感,其中G也称作亮度信息,BR为色度信息。可以看出,在上面的Bayer图中,每一个pixel都只有BGR数据中的一个,所以就需要利用CIP插值来补充其他两个通道的颜色信息。才能形成一幅正常的全彩色image。下图即为采集到的Bayerpattern格式的图片实际效果图,可以看出,整体显示出暗绿色,这也是绿色分量占了一半的原因造成的。另外附有最近邻和双线性插值的效果图。

AWB(AutomaticWhiteBalance)

自动白平衡的基本原理是在任意环境下,把白色物体还原成白色物体,也就是通过找到图像中的白块,然后调整R/G/B的比例,如下关系:R’=R*R_Gain,G’=G*G_Gain,B’=B*B_Gain,R’=G’=B’AWB算法通常包括的步骤如下:(1)色温统计:根据图像统计出色温;(2)计算通道增益:计算出R和B通道的增益;(3)进行偏色的矫正:根据给出的增益,算出偏色图像的矫正。

其中,灰度世界法和完美反射法等都是比较常用且有效的方法。

GammaCorrection

人眼对外界光源的感光值与输入光强不是呈线性关系的,而是呈指数型关系的。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。而摄像机感光与输入光强呈线性关系,为方便人眼辨识图像,需要将摄像机采集的图像进行gamma矫正。Gamma矫正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系,这个指数就是Gamma,横坐标是输入灰度值,纵坐标是输出灰度值,蓝色曲线是gamma值小于1时的输入输出关系,红色曲线是gamma值大于1时的输入输出关系。可以观察到,当gamma值小于1时(蓝色曲线),图像的整体亮度值得到提升,同时低灰度处的对比度得到增加,更利于分辩低灰度值时的图像细节。

ColorCorrection

由于人类眼睛可见光的频谱响应度和半导体传感器频谱响应度之间存在差别,还有透镜等的影响,得到的RGB值颜色会存在偏差,因此必须对颜色进行校正,通常的做法是通过一个3x3的颜色变化矩阵来进行颜色矫正。

色彩空间转换:

UV是一种基本色彩空间,人眼对亮度改变的敏感性远比对色彩变化大很多,因此,对于人眼而言,亮度分量Y要比色度分量U、V重要得多。所以,可以适当地抛弃部分U、V分量,达到压缩数据的目的。Laplacian算子:YCbCr其实是YUV经过缩放和偏移的改动版,Y表示亮度,Cr、Cb表示色彩的色差,分别是红色和蓝色的分量。在YUV家族中,YCbCr是在计算机系统中应用最多的成员,其应用领域很广泛,JPEG、MPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。YCbCr有许多取样格式,。

如4∶4∶4,4∶2∶2,4∶1∶1和4∶2∶0。RGB转换为YCbCr的公式如下:r0.50.41780.0813128b0.16780.331130.51280.2990.5870.114CRGBCRGGYRGB

色彩空间转换这个模块,是将RGB转换为YUV444,然后在YUV色彩空间上进行后续的彩色噪声去除、边缘增强等,也为后续输出转换为jpeg图片提供方便。

THE END
1.zua教务系统功能模块图简约清晰完整zua教务系统功能模块图项目管理简约清晰完整 使用模版 企业公司管理彩色SMART原则 会员免费 使用模版 公司简约清晰组织结构图 会员免费 使用模版 英文组织结构图蓝色简约 免费 使用模版 制造业简约组织结构图 免费 使用模版 swot,pest与五力分析简约 会员免费 https://imiaoban.com/pic/29152.html
2.如何绘制流程图,一文详解流程图规范b:为什么要画用例图--用户并不关心系统的实现和内部结构,只关心产品所呈现出来的外部特征动态。而用例图恰好就是描述软件产品外部特性的视图,它从用户的角度而不是从开发者的角度来描述需求,分析产品的功能和动态行为。 c:用例图包括三方面内容:参与者(Actor); 参与者、用例之间的关系,用例(Use Case);。用例图模...https://www.niaogebiji.com/article-106090-1.html
3.『软件工程11』结构化系统设计:解决软件“怎么做”问题(下...如下图所示: (7)混合结构 变换分析是软件系统结构设计的主要方法。 一般来说,一个大型的软件系统是变换型结构和事务型结构的混合结构。 所以,我们通常利用以变换分析为主,事务分析为辅的方式进行软件结构设计。 如下图所示: (8)软件模块结构的改进 1)模块功能的完善化 ...https://developer.aliyun.com/article/897400
4.功能模块图业务流程图处理流程图ER图,数据库表图(概念模型和物理...图1-1我的不符合计算机规范的业务流程图 于是搜资料,查书,问同学,同事终于写了一版能通过老师审阅的(老师是有某理工大学计算机系教授) 整理出来如下(由于明天要早起上班,概念性的东西我抽时间补全,今天晚上先贴图救急) 1.系统业务流程图 2.系统功能模块图 ...https://www.cnblogs.com/yingwo/p/5153984.html
1.系统功能模块图用什么软件画:探索最佳工具和技术本文旨在探讨用于绘制系统功能模块图的最佳软件工具。功能模块图是系统设计的关键部分,它帮助设计师和开发者可视化软件的结构和功能。文章将介绍几种流行的绘图软件,包括它们的特点、优势以及如何使用它们来创建清晰、有效的功能模块图。本文适合软件开发者、系统架构师以及对系统设计感兴趣的专业人士。 https://www.yingxiongyun.com/news/post/13919.html
2....服装进销存软件与网络版有什么区别3.优化系统性能:通过研究系统数据输入输出流程,可以发现系统中存在的流程瓶颈和性能不足的问题,针对性地进行优化和改进。 二、系统数据输入与输出流程图的要素 1.数据流:指从一个处理模块到另一个处理模块的数据流向,通常用箭头表示。 2.处理过程:指对数据进行处理或转换的模块或功能,通常用圆圈表示。 http://www.hanson.cn/wap/industrytrends/2147.html
3.怎么画功能模块的数据流图?秋之川(16)怎么画功能模块的数据流图? 【背景】 昨天小密圈的铅笔同学提问: 昨天经理给了我一个任务,整理需求分析,要用到一种方法:结构化分析方法,但是数据流图我搞不明白。说明一下,就是一个系统里面有一个大的查询订单模块,里面细分了各种订单的查询模块。怎么去画数据流图,而且还是一个模块的数据流图? https://www.jianshu.com/p/4c24cb5866d4
4.erp蓝图用什么软件画图1、首先,你可以使用MicrosoftVisio等流程图软件来绘制ERP蓝图。 2、其次,打开软件后选择相应的流程图模板。 3、然后,根据ERP系统的需求,添加流程、数据表、功能模块等元素。 4、保存并导出蓝图,方便后续的分享和使用。 erp蓝图用什么软件画图 △好业财产品截图 ...https://h.chanjet.com/ask/d293e4ba7047a.html
5.多媒体会议系统会议中控系统接线图和使用方法内嵌红外学习功能模块中控系统主机具备有8路独立可编程IR红外发射口,无需配置专业的红外学习器。可从网上下载各种常用的电器设备的红外代码库。通过红外学习,即可摒弃复杂、繁多的遥控器,将遥控控制功能集成在中控移动控制端,可编程一键场景、一键切换等。摄像联动自动跟踪可自动跟踪会议发言人员画面,并把图像输出给投影机...https://www.yoojia.com/ask/17-11966416244097574639.html
6.如何绘制逻辑图—5.要素的属性:系统与模块系统逻辑图我们知道,“系统、“模块”等都是“功能”集合体的名称,那么将一些功能集合成为一个整体时需要遵循什么原则?这个集合体有什么特点?用图形表达有什么标准要求呢?在绘制逻辑图时,任何一个“框”都代表着一个系统或是模块,因此,搞清楚系统、模块的概念、特点、原则等对于正确绘制逻辑图、传递逻辑意图是非常重要的。 https://blog.csdn.net/lihognjun/article/details/111304340
7.盘点那些具有特色的电子白板软件设计软件 Figma 出品的优秀白板软件 BoardMix 博思白板 Teamind 会议桌 来画白板 Fabrie 文档 希沃白板——专注教育领域互动的在线白板 介于白板和笔记之间的可视化知识管理工具 可视化的信息图谱工具:氢图 可视化的卡片笔记:Heptabase 可视化的知识管理工具:蜘蛛笔记 内置白板模块的笔记软件 支持白板功能的在线图形工具 ...https://sspai.com/post/75934
8.CTO也糊涂的常用术语:功能模块业务架构用户需求文档从图4得知,“商品销售管理系统”有很多功能,其中一部分是给用户使用的,另一部分是给管理员使用的,所以很多人会说“本系统分为两大功能模块——用户模块和管理员模块”,但是这样的说法在意识里不知不觉犯了从外直接映射内部的错误,如图5。 图5 不知不觉从外部映射到内部 ...https://cloud.tencent.com/developer/article/1510594
9.用Visio画软件(模块)功能图一个小技巧:图框不用一次画那么多,先画出一个并填充好文字,其余的只要按住Ctrl同时拖拽图框就可以复制出任意个相同图框,后续只要改改文字调调位置连上线就OK了。 再下层的的子模块操作和上面步骤一样,一步步操作就好,然后我写的最后结果如下: 因为找了蛮久没有看到比较详细的教程,所以就写了这篇文章,给像我有...http://www.360doc.com/content/23/1012/14/83117468_1099925537.shtml
10.程序流程图的绘制软件Top9盘点,第1款超好用!在现代软件开发和项目管理中,程序流程图作为一种重要的可视化工具,能够帮助团队清晰地展示系统架构、工作流程以及各个模块之间的关系。无论是软件开发人员、项目经理,还是数据分析师,选择一款合适的流程图绘制软件都能大大提升工作效率。那么程序流程图用什么软件画呢?本文为大家盘点了9款热门好用的程序流程图软件,他们各...https://boardmix.cn/article/program-flowchart-softwares/
11.项目中使用的微前端架构图怎么画微前端架构是一种将前端应用程序拆分为独立的功能模块,每个模块可以独立开发、部署和运行的架构。在项目中使用微前端架构可以带来诸多益处,比如提高开发效率、降低维护成本、实现团队间的独立开发和部署等。 要画项目中使用的微前端架构图,我们可以通过使用Mermaid语法中的erDiagram来绘制关系图。以下是一个简单的微前端架...https://blog.51cto.com/u_16213447/10758563
12.思域五门两厢智导互联系统3.0东风本田智导互联系统设置功能为您提供网络设置、语音助手设置、增值服务、版本信息、法律信息、数据管理、恢复出厂设置功能。 网络设置 网络设置包含4G网络和Wi-Fi热点两个功能,4G为您提供车机上网流量,Wi-Fi热点功能可以分享您车内的流量以供联网设备连接热点。4G网络和WiFi热点流量的流量包需要单独在各自的模块内购买...https://www.dongfeng-honda.com/car/civic/manual/2023/42T40C010/html/c065ffe0c724.html
13.超全面!交互设计师的工作流程指南优设网当你有了编号系统,相当于对你的流程图都赋予了唯一识别身份证号。 负责流程规则审核和优化的部分能够清楚地在邮件里传达:H5.1流程优化,大家就更明确指的是什么。 路径符号应避免互相交叉。 3. 功能结构图 功能结构图就是按照功能的从属关系画成的图表,在该图表中的每一个框都称为一个功能模块。功能模块可以根据...https://www.uisdc.com/interaction-design-process