IM电竞·(中国)首页

IM电竞平台一文详解ISP的工作原理、内部架构设计|IM电竞
全国IM电竞服务热线:0510-86179338
产品展示 PRODUCTS
联系我们 CONTACT US
手机:
0510-86179338
电话:
0510-86179338
邮箱:
adminIM@eyoucms.com
地址:
江阴市南闸街道开南路8号
公司动态
当前位置: 首页 > 新闻动态 > 公司动态
IM电竞平台一文详解ISP的工作原理、内部架构设计
添加时间:2023-06-01

  而DSP功能就比较多了,它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号了。

  关于DSP的知识点,可以参考我们之前的文章:科普:什么是DSP?。本文就不展开了,主要聊一聊ISP。

  ISP 的主要功能包括 AE(自动曝光)、AF(自动对焦)、AWB(自动白平衡)、去除图像噪声、LSC(Lens Shading Correction)、BPC(BadPixelCorrection),最后把 Raw Data 保存起来,传给 videocodec 或 CV 等。通过 ISP 可以得到更好的图像效果,因此在智能手机特别是在高端手机上对 ISP 的要求很高,比如开始集成双通道甚至三通道的 ISP。

  一般来说 ISP 是集成在 AP 里面(对很多 AP芯片厂商来说,这是差异化竞争的关键部分),但是随着需求的变化也出现了独立的 ISP,主要原因是可以更灵活的配置,同时弥补及配合 AP 芯片内 ISP 功能的不足。

  如下图所示,ISP内部包含CPU、SUP IP、IF 等设备,事实上,可以认为 ISP 是一个 SoC(system of chip),可以运行各种算法程序,实时处理图像信号。

  SUB IP:SUB IP 是各种功能模块的通称,对图像进行各自专业的处理。常见的 SUB IP 如 DIS、CSC、VRA 等。

  图像传输接口:图像传输接口主要分两种,并口 ITU 和串口CSI。CSI 是 MIPI CSI 的简称,鉴于 MIPI CSI 的诸多优点,在手机相机领域,已经广泛使用 MIPI-CSI 接口传输图像数据和各种自定义数据。外置 ISP 一般包含 MIPI-CSIS 和 MIPI-CSIM 两个接口。内置 ISP 一般只需要 MIPI-CSIS 接口。

  通用外围设备:通用外围设备指I2C、SPI、PWM、UART、WATCHDOG 等。ISP 中包含 I2C 控制器,用于读取 OTP 信息,控制 VCM 等。对于外置 ISP,ISP 本身还是 I2C 从设备。AP 可以通过 I2C 控制 ISP 的工作模式,获取其工作状态等。

  如图所示,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这个过程中,ISP通过运行在其上的firmware(固件)对ISP逻辑,从而对lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,firmware的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。

  ISP 由ISP逻辑及运行在其上的firmware组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到自动调节图像质量的目的。

  ISP 的firmware包含三部分,一部分是ISP 控制单元和基础算法库,一部分是AE/AWB/AF 算法库,一部分是sensor 库。firmware 设计的基本思想是单独提供3A算法库,由ISP控制单元调度基础算法库和3A 算法库,同时sensor 库分别向ISP 基础算法库和3A 算法库注册函数回调,以实现差异化的sensor 适配。ISP firmware 架构如图所示。

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

  外置 ISP 架构是指在 AP 外部单独布置 ISP 芯片用于图像信号处理。外置 ISP 的架构图一般如下所示:

  能够提供更优秀的图像质量:在激烈的市场竞争下,能够存活到现在的外置 ISP 生产厂商在此领域一般都有很深的造诣,积累了丰富的影像质量调试经验,能够提供比内置 ISP 更优秀的性能和效果。因此,选用优质的外置 ISP 能提供专业而且优秀的图像质量。

  能够支援更丰富的设计规划:外置 ISP 的选型基本不受 AP 的影响,因此魅族可以从各个优秀 ISP 芯片供应商的众多产品中甄选最合适的器件,从而设计出更多优秀的产品。

  能够实现产品的差异化:内置 ISP 是封装在 AP 内部的,是和 AP 紧密的联系在一起,如果 AP 相同,那么 ISP 也就是一样的。因此基于同样 AP 生产出来的手机,其 ISP 的性能也是一样的,可供的条件也是固定的,这样就不利于实现产品的差异化。而如果选择外置 ISP,那么同一颗 AP,可以搭配不同型号的 ISP,这样可以实现产品的差异化,为给用户提供更丰富和优质的产品。

  成本价格高:外置 ISP 需要单独购买,其售价往往不菲,而且某些特殊功能还需要额外支付费用。使用外置 ISP,需要进行额外的原理图设计和 LAYOUT,需要使用额外的元器件。

  开发周期长:外置 ISP 驱动的设计需要多费精力和时间。使用外置 ISP 时,AP 供应商提供的 ISP 驱动就无法使用,需要额外设计编写外置 ISP 驱动。另外,为了和 AP 进行完美的搭配,将效果最大化,也往往需要付出更多的调试精力。上文也提到,使用外置 ISP,需要进行额外的原理图设计和 LAYOUT,需要使用额外的元器件,这也是需要花费时间进行处理的。

  内置 ISP 架构是指在 AP 内部嵌入了 ISP IP,直接使用 AP 内部的 ISP 进行图像信号处理。内置 ISP 的架构图一般如下所示:

  能降低成本价格:内置 ISP 内嵌在 AP 内部,因此无需像外置 ISP 一样需要额外购买,且不占PCB空间,无需单独为其设计外围电路,这样就能节省 BOM,降低成本。鉴于大多数用户在选购手机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场。

  能提高产品的上市速度:内置 ISP 和 AP 紧密结合,无需进行原理图设计和 LAYOUT 设计,因此可以减小开发周期,加快产品上市的速度。

  能降低开发难度:如果使用内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发人员可以有充足的时间熟悉相关资料,而且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使用外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码/资料,而且一般都存在软件版本兼容问题,这就需要驱动开发人员付出额的经历和时间。

  使用内置 ISP 当然也有相应的不足之处,具体见上文的分析,这里就不赘述了。

  事实上,鉴于 ISP 的重要性,为了推广其 AP,提高其 AP 竞争力,现在 AP 内置的 ISP 也越来越强大,其性能足以满足手机市场的需求。再加上其一系列优点,现在使用内置 ISP 方案的手机越来越多。

  图像产生过程:景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号, 再送到数字信号处理芯片( DSP) 中加工处理。

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

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

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

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

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

  在实际的应用中,小波去噪比较合适,而且在整个pipeline中的各个分段,都会或多或少的应用到DNS的操作,在ISP的整个过程中特别重要,几乎存在于其各个部分。

  当光线通过 Bayer型 CFA(Color Filter Arrays) 阵列之后, 光线打在传感器上,分别得到了BGR数据,在这里,BGR的数据采样比为11,是因为人眼对绿色光(550nm)更为敏感,其中G也称作亮度信息,BR为色度信息。可以看出,在上面的Bayer图中,每一个pixel都只有BGR数据中的一个,所以就需要利用CIP插值来补充其他两个通道的颜色信息。才能形成一幅正常的全彩色image。

  自动白平衡的基本原理是在任意环境下, 把白色物体还原成白色物体, 也就是通过找到图像中的白块, 然后调整R/G/B 的比例, 如下关系:R’= R * R_Gain,G’ = G * G_Gain,B’ = B * B_Gain,R’ = G’= B’

  AWB 算法通常包括的步骤如下:(1)色温统计:根据图像统计出色温;(2)计算通道增益:计算出R 和B 通道的增益;(3)进行偏色的矫正:根据给出的增益, 算出偏色图像的矫正。

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

  现在常用的伽马校正是利用查表法来实现的,即首先根据一个伽马值,将不同亮度范围的理想输出值在查找表中设定好,在处理图像的时候,只需要根据输入的亮度,既可以得到其理想的输出值。在进行伽马校正的同时,可以一定范围的抑制图像较暗部分的噪声值,并提高图像的对比度。还可以实现图像现显示精度的调整,比如从l0bit精度至8bit精度的调整。上图分别是未做Gamma校正的,下图是做了Gamma校正的。

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

  YUV 是一种基本色彩空间, 人眼对亮度改变的敏感性远比对色彩变化大很多, 因此, 对于人眼而言, 亮度分量Y 要比色度分量U、V 重要得多。所以, 可以适当地抛弃部分U、V分量, 达到压缩数据的目的。

  YCbCr 其实是YUV 经过缩放和偏移的改动版,Y 表示亮度,Cr、Cb 表示色彩的色差,RGB信号亮度值之间的差异,分别是红色和蓝色的分量。在YUV 家族中,YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG 均采用此格式。一般人们所讲的YUV 大多是指YCbCr。YCbCr有许多取样格式,如 4∶4∶4,4∶2∶2, 4∶1∶1和 4∶2∶0。

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

  声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。侵权投诉

  个非常微妙的设计领域,它是完全建立在形而上的逻辑上的,它是抽象的,非具象的。但这种抽象必须要以可以实施为底线,否则就沦为纸上谈兵了。

  不如OpenISP,但是有几个算法是OpenISP没有的,可以综合两者看下,主要实现的算法如下

  (in-system programming,在系统编程)PC 机通过串口把 bin/hex 文件直接烧录到单片机

  计的意义(1)应用代码逻辑清晰,且避免代码冗余;(2)代码通用性,方便软件高速、有效的移植;(3)各功能独立,低耦合高内聚;2、总体

  是相似的,不同点在于传输功率以及距离的区别。无线充电也是现在生活中比较常用的

  种充电方式,除了手机以外,还有很多电器是支持无线充电的,比如电动牙刷等等。

  计的定义是识别系统的组成部分; 2)系统需求被分配到系统的要素中; 3)定义了各系统要素的接口; 4)定义了系统要素的动态行为; 5)在系统需求和系统

  计,识别哪些软件需求应该分配给软件的哪些要素,并根据已定义的标准评估软件

  硬盘是电脑重要的储存媒介,是电脑必不可少的组成部分,但很多人并不知道硬盘的

  系列的内容:当我们完成前三期(链接见文末)提到的安全机制规范后,我们就要开始整理好所有的安全需求并在系统

  计方法。通过整车需求定义、原子逻辑单元搭建实现整车功能逻辑的实体化,然后利用模型设计分析方法,将功能需求分配到各个电子控制单元,利用

  主要用于头发的干燥和整形,但也可供实验室、理疗室及工业生产、美工等方面作局部干燥、加热和理疗之用。用于头发吹干和整型的整容电器。电吹风-构造组成电吹风主要由外壳、电动机、风叶和电热元电吹风构造和

  种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机和手机系统中。本文首先介绍了红外遥控模块的基本原理,其次

  直线步进电机可以直线运动或直线往复运动。旋转电动机作为动力源,要转变成直线运动,需要借助齿轮、凸机轮构及皮带或钢丝。本文主要

  种典型的逐次逼近型模数转换器,包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有

  功能由三部分组成:逻辑输入;电平平移及输出保护。具有独立的低端和高端输入通道,悬浮电源采用自举电路,

  结构及应用电路,L9110S是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性。

  结构及应用电路。ADC0809是采用CMOS工艺制造的双列直插式单片8位A/D转换器。A/D转换后得到的数据应及时传送给单片机进行处理。

  结构及应用电路),cd4069是6反相器电路,由六个COS/MOS反相器电路组成。介绍了经典的应用电路有:精确长延时

  本文参考ISO26262的要求,同时考虑AUTOSAR代码生成的兼容性,给出使用Simulink实现软件

  角,更多的是实践中去体会。这篇文章主要介绍面向对象OO、面向方面AOP和面向服务SOA这三个要素在IM电竞首页IM电竞首页

  产品展示 PRODUCTS