0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅述Pixe手机上多曝光序列的HDR+拍摄功能

谷歌开发者 来源:谷歌开发者 作者:谷歌开发者 2021-06-18 09:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

文 / 软件工程师 Manfred Ernst 和 Bartlomiej Wronski,Google Research

我们从未停止对 Pixel 进行优化,并会通过定期更新,让它变得更实用、更有趣以及更多的功能,如最近对相机应用的 V8.2 更新。其中一项优化(已于十月份在 Pixel 5 和 Pixel 4a 5G 中推出)便是这一“底层”功能:基于曝光序列的 HDR+ 拍摄。此功能会通过融合以不同曝光时间拍摄的图像来提高图像质量(特别是光影部分),从而产生更自然的色彩、更丰富的细节和纹理,并降低噪声。

HDR 场景为何难以拍摄?

原始的 HDR+ 连拍系统是高质量手机拍照成像的关键:快速拍摄一组故意曝光不足的连续图像,然后将融合、渲染,使图像在色调范围内保留细节。但这个系统有一个不足之处,那就是在高动态范围 (HDR) 场景中的阴影部分噪声较大,这是因为所有拍摄的图像都曝光不足。

图像传感器自身的物理限制,以及阴影部分的信号较弱,共同导致 HDR 场景拍摄困难。无论是针对阴影还是高光场景,我们都有办法正确曝光,但无法在单次曝光中兼顾两者。

摄影师有时会拍摄两张不同程度的曝光,然后将其融合来克服这些限制。这种方法称为曝光融合 (exposure bracketing),可以实现两全其美的拍摄效果,但通过手动调整参数来完成这个过程非常耗时。此外,它在计算成像方面也非常具有挑战性,因为它需要做到以下几点:

在保持 Pixel 相机快速、可预测的拍摄体验的同时,拍摄额外的长曝光帧。

利用长曝光帧,同时避免帧间物体运动产生的鬼影。

为了克服这些困难,原始的 HDR+ 系统采用了一种不同的方法来处理高动态范围场景。

HDR+ 的不足

HDR+ 所用的拍摄策略是建立在曝光不足基础上的,这可以避免高光部分的细节丢失。虽然这种策略以牺牲阴影部分的成像质量为代价,但 HDR+ 通过使用连续拍摄抵消了增加的噪声。

此方法适用于具有中度动态范围的场景,对于 HDR 场景却无任何帮助。如要究其原因,我们需要更深入地了解这两种噪声是如何在图像中出现的。

连拍中的噪声

一种重要的噪声叫做散粒噪声 (shot noise),它仅取决于拍摄时获得的总进光量,也就是 N 个帧的进光量之和。每个曝光时间为 E 秒的帧,其散粒噪声与一个曝光时间为 N × E 秒的单个帧相同。如果这是所拍摄图像中唯一的噪声类型,那么连续拍摄可以达到和长时间曝光一样的效果。

遗憾的是,在拍摄每一帧时,传感器都会带入第二种噪声:读出噪声 (read noise)。读出噪声与拍摄时的进光量无关,而是取决于所拍摄的帧数,也就是说,每拍摄一帧,就会额外增加固定量的读出噪声。

这就是为什么用连拍方法来减少总噪声不如简单地长时间曝光来得有效:多帧拍摄虽然可以减少散粒噪声,但也会增加读出噪声。虽然读出噪声随帧数的增加而升高,但我们仍然可以通过连拍降低整体噪声,但这样做会降低效率。如果将一个长曝光分解成 N 个短曝光,则最终图像中的信噪比会因为读出噪声的增加而降低。

在这种情况下,要获得单次长曝光的信噪比,我们则需要合并 N2 个短曝光帧。在下面的例子中,如果一个长曝光被分成 12 个短曝光,我们必须拍摄 144 (12 × 12) 个短帧来匹配阴影部分的信噪比!

拍摄和处理这些帧会花费更多时间,连拍和处理连拍可能需要一分钟以上,从而导致糟糕的用户体验。相反,采用包围式曝光则使我们能够在兼具高光保护和降噪功能的情况下,同时拍摄短曝光帧和长曝光帧。

基于多曝光融合的解决方案

多曝光融合带来的挑战使得原始的 HDR+ 系统无法使用它,但我们在之后不断改进,加上最近的不懈努力,终于让它在相机应用中得到实现。首先,为 HDR+添加多曝光融合需要重新设计拍摄策略。

使用零秒延时(ZSL) 技术使拍摄变得复杂, 这项技术可为 Pixel 上的快速拍摄体验提供支持。在 ZSL 的助力下,按下快门前,取景器中显示的帧均是用于 HDR+ 连拍融合的帧。在使用多曝光融合的情况下,我们会在按下快门后拍摄一个额外的长曝光帧,而此帧不会显示在取景器中。

请注意,在按下快门后保持相机静止半秒钟来适应长曝光,有助于改善图像质量,即使正常手抖也不会对此造成影响。

在夜视模式下,此拍摄策略则不受取景器的限制,因为所有帧都是在按下快门之后拍摄的,此时取景器已关闭,此模式能够很好地适应长曝光帧拍摄。本例中,我们拍摄了三个长曝光帧,以进一步去噪。

融合算法

在融合多曝光图像序列时,将一个短帧选作参考帧,以避免可能发生的高光部分过曝和运动模糊。在合并所有其他帧之前,先将其与此帧对齐。这就带来了一个挑战:对于复杂的场景运动或遮挡区域,无法找到精确匹配的区域,此时使用朴素融合算法将会造成鬼影 (Ghosting Artifacts)。

为解决此问题,我们设计了一个新的空间融合算法,其与超分辨变焦(Super Res Zoom) 所用的算法类似,会逐个判断像素的内容,决定是否应该合并图像内容。这一去鬼影过程在处理不同曝光程度的帧时将会更加复杂。

长曝光帧会产生不同的噪声特征,高光部分会出现过曝或不同程度的运动模糊,这使得与短曝光参考帧的对比更加困难。此外,所拍摄曝光序列中的鬼影更明显,因为遮掩这些错误的噪声减少了。

尽管存在这些挑战,我们的算法和原始的 HDR+ 及超分辨变焦一样,能够很好地解决上述问题,并不会产生鬼影。同时,它的图像合并速度较之前提升 40%。

这是因为在成像过程初期就对裸格式图像进行了融合,所以我们能够在保持其余成像步骤和 HDR+ 的标志性效果不变的同时,实现所有这些好处。此外,喜欢使用计算成像中的裸格式图像的用户也能从这些图像质量和性能改进中获益。

Pixel 上的多曝光融合

多曝光融合的 HDR+ 功能目前已在 Pixel 4a (5G) 及 Pixel 5 上推出,用户可以在使用默认相机时,在夜视和人像模式下使用这一功能。Pixel 4 及 4a 用户则可以通过 Google 相机应用在夜视模式下使用多曝光融合功能。

用户无需采取任何操作,即可激活基于多曝光融合的 HDR+ 功能。基于多曝光融合的 HDR+ 功能将根据场景的动态范围和运动存在与否,选择最佳曝光度,以拍摄出优质的图像(示例)。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像传感器
    +关注

    关注

    68

    文章

    2087

    浏览量

    132468
  • HDR
    HDR
    +关注

    关注

    4

    文章

    291

    浏览量

    33326
  • Pixel
    +关注

    关注

    1

    文章

    238

    浏览量

    11044

原文标题:Pixel 手机上基于多曝光序列的 HDR+ 拍摄功能

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADM1064 超序列器:电源系统的理想解决方案

    ADM1064 超序列器:电源系统的理想解决方案 在电子设备的设计中,电源系统的监控和排序是一个关键问题。ADM1064 超序列器作为一款高度集成的设备,为
    的头像 发表于 02-28 13:45 203次阅读

    极简代码,搞定JSON序列化与反序列

    LuatOS开发中,使用以下两个函数高效处理JSON数据。 1.1  两个关键函数 1)json.encode(obj,t) 功能是将Lua对象序列化为
    的头像 发表于 02-23 21:46 433次阅读
    极简代码,搞定JSON<b class='flag-5'>序列</b>化与反<b class='flag-5'>序列</b>化

    如何在Google Pixel 10智能手机上评估信道探测功能

    今年早些时候发布的Android 16系统首次引入了支持蓝牙信道探测的公共API,实现了智能手机的精准测距功能。然而直到近期,市面上仍未出现支持蓝牙6.0及信道探测技术的手机硬件。这一局面在2025
    的头像 发表于 11-25 16:10 2658次阅读
    如何在Google Pixel 10智能<b class='flag-5'>手机上</b>评估信道探测<b class='flag-5'>功能</b>

    实战指南:用摄像头模块实现场景智能拍摄全流程!

    想通过摄像头模块实现场景智能拍摄?本指南为你提供全流程实战指引。从前期准备、模块集成,到场景拍摄测试与优化,每一步都结合实际操作细节展开,让你清晰掌握摄像头模块在不同场景(如安防监
    的头像 发表于 11-21 17:59 416次阅读
    实战指南:用摄像头模块实现<b class='flag-5'>多</b>场景智能<b class='flag-5'>拍摄</b>全流程!

    场景智能拍摄实战:摄像头模块集成与调试指南!

    、高效的场景智能拍摄系统。 一、演示功能概述   摄像头拍照功能通过光学传感器与图像处理算法,实现将现实场景转化为数字图像数据的技术。它允许设备捕捉静态画面,并支持实时预览、参数调节
    的头像 发表于 11-21 17:58 582次阅读
    <b class='flag-5'>多</b>场景智能<b class='flag-5'>拍摄</b>实战:摄像头模块集成与调试指南!

    can_sample例程,rxmsg.hdr = -1;语句报错如何解决?

    使用官方CAN_sample例程编译,cubemx已经配置好CAN引脚,menuconfig也已经打开相关接口,但编译时报错,显示结构体 rt_can_msg结构体中没有hdr这个成员。请问如何解决?
    发表于 09-24 07:05

    索尼新旗舰IMX09E曝光:1/1.12英寸、100dB++超高动态范围

    为 OPPO Find X9 Ultra的主摄传感器。从曝光信息来看,IMX09E采用 22nm先进工艺打造,传感器尺寸达 1/1.12 英寸,像素规格 0.7μm;更关键的是搭载 HF-HDR混合帧
    的头像 发表于 09-14 09:17 5670次阅读

    用于下一代 GGE 和 HSPA 手机模式/频段功率放大器模块 skyworksinc

    电子发烧友网为你提供()用于下一代 GGE 和 HSPA 手机模式/频段功率放大器模块相关产品参数、数据手册,更有用于下一代 GGE 和 HSPA 手机
    发表于 09-08 18:33
    用于下一代 GGE 和 HSPA <b class='flag-5'>手机</b>的<b class='flag-5'>多</b>模式/<b class='flag-5'>多</b>频段功率放大器模块 skyworksinc

    适用于下一代 GGE 和 HSPA 手机模/频段 PAM skyworksinc

    电子发烧友网为你提供()适用于下一代 GGE 和 HSPA 手机模/频段 PAM相关产品参数、数据手册,更有适用于下一代 GGE 和 HSPA 手机
    发表于 09-05 18:34
    适用于下一代 GGE 和 HSPA <b class='flag-5'>手机</b>的<b class='flag-5'>多</b>模/<b class='flag-5'>多</b>频段 PAM skyworksinc

    TPS38700S-Q1通道电压序列发生器技术解析

    Texas Instruments TPS38700S-Q1集成式通道电压序列发生器配有窗口看门狗、I^2^C可编程,采用24引脚4mm x 4mm VQFN封装。该通道电压序列
    的头像 发表于 08-18 15:50 1110次阅读
    TPS38700S-Q1<b class='flag-5'>多</b>通道电压<b class='flag-5'>序列</b>发生器技术解析

    TPS38700-Q1 电源供应序列器总结

    计,可与通道电压监控器连接。该器件默认为预编程的OTP选项,但I2C可以根据需要对上电和断电序列、看门狗设置和序列时序选项进行重新编程。
    的头像 发表于 08-18 15:17 1018次阅读
    TPS38700-Q1 电源供应<b class='flag-5'>序列</b>器总结

    富捷科技电子元件助力拍摄技术持续革新

    当下拍摄领域热点频出:苹果 iOS 26 推出镜头清洁提示功能,三星 Galaxy 新品搭载 "最佳面孔" 智能拍摄,"用 iPhone 拍摄" 广告斩获戛纳大奖。从
    的头像 发表于 07-02 10:10 979次阅读

    想用K230放在无人机上做图像识别,加装一个4G模块把识别结果和画面同时传输的地面站或者手机上,怎么操作?

    我想用K230放在无人机上做图像识别,然后想加装一个4G模块把识别结果和画面同时传输的地面站或者手机上,这个目前可以如何处理? 你好,目前底层是支持4G模块得驱动,参考https
    发表于 06-16 07:08

    VirtualLab Fusion应用:反射系统的非序列建模

    序列光学系统,特别是那些非序列性来自组件内部多次内部反射的系统,具有一系列特定的挑战。将这样的系统分解成一个顺序等价的系统通常非常不方便,而且总是不切实际的。因此,拥有一个稳定的非序列建模策略
    发表于 06-12 08:49

    如何修改cycx3_uvcdscr.c以便 Amcap可以调整我的曝光时间?

    我需要能够使用 Windows 功能来控制 Cypress 连接的传感器的曝光时间。 使用IID_IAMVideoProcAmp函数,但是这个前提好像需要摄像头本身支持这个控制。 当我
    发表于 05-14 07:06