麒麟9000全球首创ISP+NPU 融合架构背后的难度

导读 【影像飞跃:麒麟9000彪悍的另一面】这两年 手机SoC领域群雄逐鹿、精彩纷呈 2020年我们陆续见证了华为麒麟9000、苹果A14、高通骁龙888

【影像飞跃:麒麟9000彪悍的另一面】

这两年 手机SoC领域群雄逐鹿、精彩纷呈 2020年我们陆续见证了华为麒麟9000、苹果A14、高通骁龙888等一众“好汉”的轮番登场 其中华为麒麟9000可以说是最特殊 也是最值得研究的一个。

作为全球第一款5nm工艺的5G SoC完整解决方案 麒麟9000在性能、连接、AI、影像、安全等各个方面都实现了创新式的突破 尤其是在影像领域大杀四方 其赋能的华为Mate 40 Pro+、Mate 40 Pro两款手机在DxOMark榜单上分别以139分、136分傲居第一、第二!

不过 以往谈论一款手机影像能力的高低 我们往往会把目光都集中在CMOS传感器、摄像头的配置上 却很容易忽视在幕后默默贡献的ISP(图像信号处理器)。事实上在手机影像系统中 ISP在很多场景的重要性更甚于摄像头。

打个形象的比方 如果把摄像头视作能打仗的士兵 ISP就是指挥战斗和战争的军官——没有合理的指挥 再强的士兵也是无头苍蝇;如果摄像头是看清世界的“眼睛” ISP就是掌控一切的“大脑”。

而在另一方面 我们刚才一直说“影像”而非“拍照” 是因为用户追求越来越多的 不仅仅是要把照片拍好 更要把视频拍好 毕竟这是一个视频的时代 动起来才更精彩。

麒麟9000其中一项独到之处 恰恰就是将ISP提升到了一个全新的层次 尤其是业界首次实现ISP+NPU的融合架构 不但拍照强悍无与伦比 更让视频捕捉焕然一新。

比如超强的细节还原 比如显著的降噪能力 比如极高的能效 尤其是在暗光环境下堪称升级版的“夜视仪” 再次走在了时代的最前沿 只留给友商一个远去的背影。

正是有了这样强悍的根基 华为Mate 40 Pro系列不但拍照水平一骑绝尘 视频捕捉更是独领风骚 双双霸占DxOMark榜单前两名。

【低调的劳模:ISP要干的事儿太多了】

要想理解麒麟9000 ISP+NPU融合架构的精妙之处 我们需要把时钟往回拨一下 先了解几个基本概念术语 看看ISP是多么不容易。

众所周知图像传感器(Image Sensor)是数码相机、智能手机拍照、拍视频的“眼睛”(相机里是CCD/手机里是CMOS) 最终呈现的色彩、细节都取决于它 其原理是通过一个一个的感光点 对光进行采样和量化。

但很多人可能并不知道 图像传感器其实是“色盲” 如果只用它拍出来的照片就是黑白的 需要搭配色彩滤波器(CFA)才能获得色彩信息。

1976年 柯达的拜耳发明了RGB CFA 也就是色彩滤波器 如上图可理解为双层结构:上层红(R)绿(G)蓝(B)三色的色块就是色彩滤波器 白光透过滤波器后分离出红绿蓝三原色;下层灰色的色块则是感光光电二极管(PD)部分 负责将滤波器送来的光信号转换为电信号 再由后续各种算法进一步处理 并最终成像。

可以说 滤波器的表现如何 是照片、视频色彩、细节还原的基础。

当然 从滤波器滤出的RGB色彩 到最终照片上的精彩 需要经过各种复杂算法、技术的处理 这其中有三个是起着决定性因素的。

一是Demosaic插值算法。

RGB拜耳阵列中的每一个像素只能采集一个颜色通道信息 另外两种颜色信息需要通过插值算法 结合相邻其他颜色的像素信息计算出来 这样一个像素的色彩才是完整的。

这个过程有点“去马赛克”的味道。

二是自动白平衡(AWB)。

由于色温的影响 白色并不是一直纯白无瑕 在低色温下会偏黄 高色温下则会偏蓝。如果不进行校准使之恢复平衡 色彩就会完全混乱 毕竟白色是三原色和任何色彩的基础。

于是就有了白平衡 可以让任何色温下白色物体的RGB三原色比例关系都是标准的1:1:1 呈现准确的白色。

白平衡算法很多 最常见得有灰度世界算法、完美反射算法、动态阈值算法这么三种。

三是色彩校正矩阵(CCM)。

相机或者说图像传感器是机械式的 而人眼是生物式的 二者的感光曲线截然不同 或者说RGB响应曲线并不一致。

白平衡只能处理白色 其他颜色的准确度则需要CCM来校准 也可以用来调节色彩风格 就是各种不同的“滤镜”。

CCM的原理和过程很复杂 这里就不展开了 具体算法大致可以分为模型法、经验法这么两类。

说了这么多 其实无论插值算法还是AWB、CCM 都需要一颗强大、优秀的ISP 才能越做越好 让最终呈现的色彩更贴近大自然 或者看起来更养眼。

【麒麟990系列:ISP+NPU初步联手、RYYB物尽其用】

多年来 华为一直在全力提升手机的影像水平 尤其是近几年始终处于行业最前列 这其中不仅有摄像头的贡献 更有ISP层面的创新。

2015年 华为第一次完成自研ISP 应用于麒麟950 此后每一代都经历一次蜕变 逐渐成为华为手机拍照登顶世界的根基。

到了麒麟990系列 已经内置全新ISP 5.0 吞吐率提升15% 能效提升15% 照片和视频降噪能力提升30%、20% 手机端首发单反级降噪技术BM3D 全球首发双域联合视频降噪技术。

同时还有创新的华为自研达芬奇架构NPU(神经处理单元) 两个大核加一个微核的特殊架构 兼顾高性能与高能效 并且ISP、NPU已经开始初步联合 探索全新的AI摄影。

而基于麒麟990 5G的华为P30系列创新引入了RYYB CFA超感光图像传感器 其中Y代表黄色 取代传统的RGGB格式中的G绿色 光谱响应更宽、光谱覆盖更广、能感应更多光子 总体进光量因此提升了30-40% 暗光场景信噪比更佳 夜拍效果更上一层楼。

不过 RYYB作为新生事物并不容易驾驭 传统ISP的插值算法、AWB、CCM很难处理Y黄色像素的丰富色彩信息 精准还原难度非常大。

为此 华为一方面在后续的Mate 30系列上采用了RYYB、RGGB相搭配平衡的设计 另一方面引入基于AI神经网络的插值算法、AWB、CCM 并整合在麒麟990 ISP流水线的图像处理过程中 为传统ISP流程增加了计算摄影处理 再经过大量的RYYB传感器RAW数据训练之后 可以有效找到物体细节、色彩分量之间的复杂映射关系。

可以说 如果只是单纯地变革图像传感器 而不能在硬件、算法上同步革新 不但不能提升手机的影像水平 反而会陷入混乱。

麒麟990正是凭借强劲的NPU性能 逐步完善了对于全新复杂RYYB CFA的支持 释放了其对色彩处理的强大潜力 尤其是在视频实时处理方面迈出了一大步 提升了4K视频的暗光细节表现、色彩还原效果。

【麒麟9000:ISP+NPU深度融合、超越人眼极限】

在最新一代的麒麟9000处理器上 华为更进一步 全球首创实现了ISP+NPU的融合架构 没有像友商那样单纯地追求堆积更多ISP 而是通过精密设计的融合架构 将ISP处理流水线、NPU矩阵计算有机地融合在一起 不但拍照更加游刃有余 更是实现了实时视频的像素级处理。

这样的融合架构对于静态照片处理已经不费吹灰之力 这里不再赘述 重点看看视频处理。

毕竟 照片都是单独的一帧 视频则是连续变化的静态帧组成的 处理24FPS的视频相当于每秒处理24张照片 而对视频进行像素级的实时处理 无论对于硬件设计还是软件算法都提出了空前的考验。

在传统的ISP视频流处理过程中 受制于ISP性能有限、硬件模块相互隔离、处理带宽不充分等因素 ISP只能老老实实地逐帧处理 一切排队进行。

加入NPU助力之后 可以加速处理这一过程 但处理过程中以帧为单位 依然需要排队。比如当ISP处理第一帧时 NPU需要等待ISP处理完成后才能接替。

麒麟9000改变了这一切 不但集成最新的ISP 6.0 还支持四流水线并行 吞吐量提升50% 视频降噪能力提升48% 3A(自动对焦/自动曝光/自动白平衡)处理能力提升100% 而最大亮点当属首创了ISP+NPU融合架构。

ISP+NPU融合后 直接将数据、信息完全打通 使用硬件直连的方式 将原本独立的NPU计算直接融合ISP的处理流水线中 再结合大容量、高带宽的智能缓存SmartCache 2.0 使得输入数据流、输出数据流都连续不断 整个过程中没有任何停顿和等待 数据可以无缝缓冲、实时处理 效率提高了不止一个档次。

同时 ISP+NPU融合架构改变了逐帧排队处理的传统方式 对每一帧进行切片(Slice) 也就是拆分成更小的单元 处理的基本单元不再是一整帧 而是一个个小的切片 从而将每一帧内部、不同帧之间完全打通 加速数据的传输与处理。

这样一来 ISP+NPU联合就实现了基于帧内分块的视频流智能处理。

如上图 假设每个视频帧都拆分成四个切片 ISP可以先处理其中两个切片 快速处理完之后交给NPU进一步加工 此时ISP就可以同时处理该帧的剩余两个切片 以及下一帧的头两个切片 如此往复循环 从而大大缩短等待时间 提高处理效率。

当然 每个视频帧拆分成几个切片、NPU/ISP每次处理几个切片 都是极其灵活的 可以根据每一帧的不同数据量、处理难度来智能切割 还可以在同一帧内应用多种不同算法 流水线效率不可同日而语的同时 还可以得到更丰富的处理效果。

很自然的 这种联合处理对于ISP、NPU的协同效率提出了极高的要求 毕竟稍有不慎反而会影响整个流程的顺畅性。麒麟9000凭借丰富的ISP研发经验、自研华为达芬奇架构2.0 NPU的强劲AI算力 一切都搭配得天衣无缝。

数据显示 麒麟9000在处理器4K视频的时候 可以在33毫秒甚至更低的时间间隔内完成计算任务 尤其是在夜景等会产生海量数据的复杂环境下 可以充分发挥ISP+NPU融合架构的极高处理效率 实现丰富细节的精准色彩还原。

如果你觉得这些理论分析有些难以理解 这里我们来看一个实际例子 感受下ISP+NPU融合架构的神奇魅力。

如上动图 圆圈中的愿景物体是一个迷你风车 四个叶片又长又细还是深色调 又处在偏暗的环境中 一般情况下即便只是拍照 也很难清晰捕捉到其色彩细节 甚至可能根本就看不清对象本身 更不用说拍视频。

但是在麒麟9000平台上 得益于ISP+NPU融合架构一整套方案的智能化处理 可以看到在捕捉的视频中 风车扇叶异常清晰 色彩清晰 衔接过渡自然 和背景区分明显 运转动作也是如行云流水一般的顺畅 甚至连扇叶头部、尾部因为运动快慢不同而导致的模糊程度不同 都展现得淋漓尽致 可能连人眼都捕捉不到这么逼真、翔实的细节。

【ISP+NPU融合:干活更多 功耗控制更好】

那么 ISP+NPU融合架构之后 要干的活儿更多了 会不会更加耗电?这里就体现了融合架构的另一个好处 计算性能上去了 功耗还能很好地得到控制 更好地完成更多任务。

众所周知 手机拍摄视频的时候是相当耗电的 远高于静态拍照 但是麒麟9000经过多重努力 实现了“马儿跑得快、马儿不多吃”的神奇效果。

一是针对大量数据输入场景进行智能切块处理 从而大幅降低网络中间层对计算内存的需求;

二是切片级的数据交互 有效控制算法时延 再结合SmartCache缓存 有效控制视频场景的功耗。

【融合架构背后的难度 超出你的想象】

你可能会说 这一切看起来似乎也没什么难的 但是芯片层面的创新 从来和简单二字无关 ISP+NPU融合的难度和技术挑战也是常人难以想象的 简单来说主要是如何达成算法效果、计算性能、计算能耗三者的平衡。

为此 在设计硬件融合架构的同时 为了释放硬件潜力 华为也在软件算法上花费了大量心思 做出了大量创新 比如说IPS链路的像素级别(pixel level)的AI算法 搭档算力强悍的AI芯片 实现高能效的端侧软硬结合完整方案。

同时 如今的影像场景下 数据处理都是海量级别的 而且极为复杂 这就需要整个流程方案具备很强的鲁棒性(稳健性) 而且为了提高处理大数据量的效率 模型结构也要满足一定的计算约束 必须利用网络结构搜索、混合量化等技术 让模型结构与加速硬件高效配合。

特别是在4K超清分辨率下捕捉视频 流水线中的图像数据量比以往多了几个数量级 毕竟单帧4K图像处理就已经对AI提出了很高的要求 更何况视频场景下需要实时进行多帧处理。

举例来说 4K 30fps的视频捕捉场景下 整个ISP链路必须在33ms内完成单个帧的计算工作 其中留给AI算法进行计算处理的时间就更短 真正的电光火石之间就要处理到位 而一旦计算效率、性能不能满足 视频处理过程的效率就会急剧下降 反应在用户体验上就是严重的卡顿 这自然是无论如何不能接受的。

另外 任何硬件设计、算法设计都要考虑功耗 必须在可控范围内 否则就会导致明显的手机发热。相信大家都有感触 日常连续拍照、拍视频的时候 手机会明显发热 更何况加入如此复杂的计算流程。

因此 为了达成最佳的影像效果和用户体验 突破性的算法效果、快速高效的计算性能、优秀可控的计算能耗 三者是缺一不可的 而麒麟9000 ISP+NPU融合架构 恰恰几乎完美地做到了这一点 才有了最终呈现在我们眼中的精彩影像。

【一路坐强的麒麟:未来可期】

总的来说 华为手机这几年在影像能力上持续稳居世界最前列 拿第一拿到手软 坐榜首坐到寂寞 不但来自于精妙的摄像头系统 更离不开麒麟芯片、ISP处理器、NPU神经处理单元的鼎力支持。

正是源于这持续不断的革新 我们才通过小小的手机 越发清晰地看清、记录整个世界的精彩 留下那一个个令人难以忘怀的瞬间。

从整个行业来看 目前做到从芯到端协同升级的 也只有苹果、华为这两家顶级巨头 而苹果陶醉在自己的封闭生态内 华为则呈现的是一个开放的世界。

眼下 华为麒麟的发展遇到了前所未有的桎梏 原本无限光明的前景蒙上了厚厚的阴影 但打铁还需自身硬 经过多年来的一步步稳扎稳打 相信华为麒麟有实力面对任何艰难险阻。

期待麒麟的下一站更精彩!

责任编辑:PSY

免责声明:本文由用户上传,如有侵权请联系删除!