[题外话]近期申请了一个微信公众号:平凡程式人生。有兴趣的朋友可以关注,那里将会涉及更多更新图像处理方面的文章。
美国高通公司(Qualcomm)创立于1985年,总部设于美国加利福尼亚州圣迭戈市,33,000多名员工遍布全球。高通公司是全球3G、4G与5G技术研发的领先企业,目前已经向全球多家制造商提供技术使用授权,涉及了世界上所有电信设备和消费电子设备的品牌。
高通旗下骁龙处理器(Qualcomm Snapdragon)产品线覆盖了高端、中端和入门市场。2013年1月7日,美国高通技术公司(QTI)宣布在2013年为骁龙处理器引入全新命名方式和层级——包括骁龙800系列、600系列、400系列和200系列处理器,在此之前,骁龙处理器分为S1,S2,S3,S4四个层级,以区分不同的四代产品。其中800系列作为高端旗舰芯片,600系列面向中高端市场,400系列则定位于低端市场,200系列面向入门级智能设备。如今,骁龙200系列已逐渐走下历史舞台。
巴塞罗那时间2018年2月27日,高通在MWC2018展会上正式推出全新高通骁龙700系列移动平台。骁龙700定位于高端800与中端600系列之间,满足并超越当下高端智能手机所带来的移动体验。骁龙700系列高端移动平台旨在通过此前仅在*骁龙800系列移动平台才支持的特性和性能,骁龙700系列的先进性能预计包括:由Qualcomm人工智能引擎AI Engine支持的终端侧人工智能,以及由*特性的异构计算能力支持的拍照、终端性能和功耗方面的提升。
2019年12月4日,高通每年的骁龙技术峰会在美国夏威夷举行,在首日峰会上高通宣布5G将在2020年扩展至主流层级同时全面布局5G市场正式发布高通骁龙865与骁龙765移动平台。当日,圈内人翘首以待的骁龙865移动处理平台芯片终于正式发布了。
12月12日,高通骁龙™5G 移动平台芯赏会在北京金隅喜来登大酒店如期召开。芯赏会上,高通产品市场高级总监秦牧云分享了骁龙865的camera特性,其中2亿像素拍照,每秒20亿像素处理能力,以及960fps慢录等功能,让当场观众大为震惊。如此高端camera性能史无前例,每一个camera从业者都会为之兴奋,尽管那可能是别人家孩子。
现在网上有不少介绍骁龙865的文章,几乎每篇文章对camera性能都大加赞赏。骁龙865的camera到底有多么强大呢?笔者带您一探究竟。
追根溯源,我们先看看主人怎么说。
在高通骁龙865芯片的白皮书中,对camera IP描述如下:
- Qualcomm® Spectra™ 480 Image Signal Processor
- Dual 14-bit ISPs
- Up to 2 Gigapixels per Second
- Hardware accelerator for computer vision (CV-ISP)
- Up to 200 Megapixel Photo Capture
- Up to 25 MP dual camera @ 30 FPS with Zero Shutter Lag
- Up to 64 MP single camera @ 30 FPS with Zero Shutter Lag
- Rec. 2020 color gamut video capture
- Up to 10-bit color depth video capture
- 4K Video Capture + 64 MP Photo
- 8K Video Capture @ 30 FPS
- Slow-mo video capture at 720p @ 960 FPS
- HEIF: HEIC photo capture, HEVC video capture
- Video Capture Formats: HDR10+, HDR10, HLG, Dolby Vision
- 4K Video Capture @ 120 FPS
- 4K HDR Video Capture with Portrait Mode (Bokeh)
- Multi-frame Noise Reduction (MFNR)
- Real-time object classification, segmentation and replacement
作为手机camera设计者,笔者对这十八条特性极感兴趣。接下来就给客官逐一解析,如能做到庖丁解牛,大家就给个赞;如若不能,就鼓鼓掌,鼓励一下笔者的勇气。言归正传,我们开始解牛之旅。
1、Qualcomm® Spectra™ 480 Image Signal Processor
高通骁龙系列,几乎每个系列都有自己ISP代号,除了骁龙400系列和骁龙200系列。
骁龙600系列为ISP 250L,700系列为ISP 350,800系列为ISP 380,即使800系列上一款新品骁龙855+也都是ISP 380。但骁龙865将ISP直接升级为480。
ISP 480,这是怎么回事?笔误?开个玩笑,嘿嘿!莫非骁龙800系列后续产品不再遵循之前定义的系列特性?
笔者得知,骁龙865中ISP与之前800系列ISP相比较,有一个明显的升级,那就是一拍四点。高通产品市场高级总监秦牧云在介绍骁龙865移动平台时,着重提到了骁龙865中ISP像素处理效率。以往芯片都是每一个时钟周期处理一个像素,即一拍一点,而骁龙865的ISP在一个时钟周期内可以处理四个像素,即一拍四点。
这是一个里程碑式的升级!
从一拍一点直接升级到一拍四点,简单计算,同样ISP频率下,其处理效率提升至四倍。不过考虑到功耗及一些overlap,ISP整体性能应该是达不到原来四倍,但提升力度还是相当大的。后面还会涉及到这点特性介绍。
2、Dual 14-bit ISPs
双核ISP,支持14bit bayer RAW数据处理。
手机上一般用到的camera sensor都是输出10bit bayer RAW数据,特别是大分辨率的sensor,比如24M、32M、64M等。但手机上也有一些sensor是12bit,14bit,甚至更宽bit位,这类sensor专用于视频录制,分辨率都比较小,比如2M。
顺便提一下,这类宽bit位的camera sensor多用于安防或者工业相机,本文侧重于手机camera,在此其他camera领域不做过多介绍,请客官海涵。
有些小友可能会问:10bit sensor,使用14bit ISP,算不算硬件性能浪费?
当然不算!笔者认为,14bit ISP就是为10bit sensor而生。一般做法都是在ISP IP接收到sensor输出的10bit bayer RAW数据后,会将其左移4bit,升级为14bit,然后进入ISP流水线,经过后续模块处理。14bit可以保留算法模块计算精度,提高图像质量。
如今三摄四摄已经成为旗舰手机标配,手机厂商和用户都在追求广角镜头+超广角镜头+长焦镜头的“无缝切换”流畅体验。秦牧云介绍,骁龙865采用了Spectra ISP+第五代AI Engine引擎的方式,通过AI的引入,可以做到平滑的光学变焦。这里双核ISP居功至伟。
3、Up to 2 Gigapixels per Second
骁龙865双核ISP支持每秒处理20亿像素。平均来算,每个核每秒处理10亿像素。按照一拍四点,每个ISP核工作频率大概为256MHz,这个频率值比较低,一拍四点对硬件模块设计要求相当高。这是高性能ISP IP的基石,也是IP设计者的竞技场。
4、Hardware accelerator for computer vision (CV-ISP)
骁龙865支持计算机视觉的硬件加速。
计算机视觉是一门研究如何使机器“看”的科学,指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。这样就给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环境。
计算机视觉所涉及的学科,除了计算机科学,还包括模式识别、图形处理、心理物理学、神经生物学,以及人工智能。其中,在人工智能赋能下,计算机视觉初步具备了类似人类对图像的特征进行提取、分类识别等的感知和认知机理。
如果用软件实现计算机视觉算法,将非常耗费CPU资源,而且也不一定能满足算法的实时性要求。高通骁龙800系列芯片对计算机视觉算法实现了硬件加速。
骁龙855内建高通Qualcomm Spectra 380 ISP,它集成了大量硬件加速的计算机视觉(CV)能力,官方称其为全球首个推出的CV-ISP。它能够支持最尖端的计算摄影和视频拍摄功能,同时功耗降低高达4倍。
后续骁龙800系列芯片都具有硬件加速CV-ISP,当然骁龙865也不例外。
这款CV-ISP包括基于硬件的深度感测,支持在4K [email protected]的状态下实时进行视频拍摄、对象分类和对象分割。这意味着用户可以拍摄一段视频并且精准地对选定的对象或背景进行实时替换,而这一切操作都可以在能够表现超过10亿色的4K HDR分辨率下实现。
5、Up to 200 Megapixel Photo Capture
骁龙865支持将近2亿像素的拍照,具体可拍摄分辨率为192M的照片。这种拍照是non-ZSL(Zero Shutter Lag),即非零延迟拍照。与ZSL拍照相比较,non-ZSL对ISP IP压力大大减小。
所谓零延迟拍照(ZSL capture),是指所见即所得,你点击拍照按钮,获得的JPEG照片与当时在手机屏幕上看到的图像完全匹配,仅仅分辨率不同而已。
一般情况下,零延迟拍照速度很快,这由它的流程所决定。
以32M零延迟拍照为例,笔者简单介绍一下它的流程。为了获取32M图像,camera sensor必须输出32M图像,而预览图像最高帧率为30fps,这就意味着camera sensor得按照30fps的帧率输出32M bayer RAW图像。ISP IP每33毫秒接收到一帧32M图像,需要在33毫米内完成处理,包括各种格式转换、亮度色度去噪、边缘增强、坏点处理、3A统计等,最终输出预览图像(1080P YUV420图像)和拍照图像(32M YUV420图像)。在用户点击拍照按钮时,软件只需要选择当前预览图像对应的32M拍照图像进行JPEG编码就可以完成拍照过程,大大缩短拍照时间。该场景下,所需ISP IP的处理能力为32M*30=960M像素每秒。为了节省功耗和带宽,芯片厂商对32M大图处理会选择接收30fps bayer RAW图像或者只做RAW域处理,当用户点击拍照按钮时再做后续处理。
如果要做192M零延迟拍照,ISP IP处理能力需要提升到192M*30=5760M像素每秒,即将近58亿像素处理能力。这对ISP IP来说简直是灭顶之灾,所以对于超大分辨率拍照,一般都采用非零延迟拍照。
对于192M非零延迟拍照,流程应该是这样的:预览阶段,9in1的192M sensor输出9in1的21M bayer RAW,所需ISP IP处理能力为21M*30=630M像素每秒,比58亿像素处理能力降低了好几个数量级。当用户点击拍照按钮时,camera系统会停止当前预览,将192M sensor配置输出192M 9C RAW图像,只需要一帧图像即可。然后软件将192M 9C RAW图像转换为192M bayer RAW,ISP IP离线对其进行处理,最终完成JPEG编码。这种处理流程,导致192M拍照速度慢了许多,但为了IP成本,这个是值得的。
6、Up to 25 MP dual camera @ 30 FPS with Zero Shutter Lag
骁龙865支持两个25M sensor同时工作,帧率为30fps。为了支持ZSL,双核ISP需要全分辨率处理两个25M sensor数据,ISP IP整体处理能力需求为25M*30*2=1500M,1.5亿,小于2亿最高处理性能。
(未完待续)
注:如需获得更多内容,敬请关注我的微信公众号:平凡程式人生。