惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
欢迎来到 HDR 照片时代:增益图 HDR 与 HDR 工作流 - 少数派
2024-12-18 · via 少数派

HDR 视频大家都很熟悉了,因为视频,特别是电影,引入 HDR 技术的商业价值更高。iPhone 能拍摄杜比视界的视频,而其他品牌手机能拍摄 HDR10 兼容的视频。直播一般使用的是 HLG HDR 视频。这些都是成熟、且在各自领域已被被广泛兼容的标准。

然而照片并没有这么好的待遇,直到 2023 年 Adobe 和 Apple 才联合发布了第一版 HDR 照片标准 (ISO/TS 22028-5:2023),在后文中这一标准称为 ISO HDR

HDR 与 SDR 的区别

ISO HDR的标准实际上照抄了影视行业的做法。HDR 的全称是高动态范围 (High Dynamic Range),也就是说图像中暗部和亮部细节都要完好保留。一张图来解释之:

对 HDR 与 SDR 的直观解释。素材 ©Mircea Iancu on Pixabay

在 SDR 屏幕上直接不做处理查看 HDR 照片,看到的效果如上图的左 1。本文使用张家界天门山的一张照片作为演示,左1的实际效果如下:

不经过处理查看HDR的效果和照片过曝一致

该如何解决?方法被称为色调映射 (tone mapping),也就是将 HDR 信息压缩进 SDR 的高度,有很多种不同的方案,得到的结果也不同。类似于左 2 的压缩方式效果为:

看起来正常很多了的SDR照片

那真正的 HDR 照片是什么样子的?我也附了一张在下方。但你看到它的时候已经不是 HDR 了,因为有三个阶段可能出现问题:

真正的 HDR 照片,但它已经被服务器转换了,所以你看不出来
  • 服务器端的压缩:一张照片上传到网上,服务端可能会为了节约空间将其压缩为其他格式以减少体积,在这个过程中可能会丢失 HDR 信息,属于传输问题;
  • 设备对 HDR 内容进行解码:要求设备能将该照片识别为 HDR,例如对于浏览器:桌面版的 Chrome 和 Edge 支持显示增益图 HDR,但 Safari 全系不支持。Windows 11 的图库对 HDR 有限支持,而 Apple 平台在 iOS/iPad OS 18.1 以及 macOS 15.1之后,基本支持主流的 HDR 格式。此外,App 客户端需要额外参数才能实现 HDR 显示。这些属于软件问题;
  • 兼容的显示器:要求设备屏幕支持 HDR 。属于硬件问题。

我们暂且不考虑问题 1 ,而问题 3 是钱就能解决的(买新硬件)。问题 2 是普及 HDR 照片的关键。

回到 ISO HDR 上来,我们知道,每个像素点可用四个整型 (Int) 来表示,即 R、G、B 以及透明度 A。为方便其见,我们只考虑一个通道(即只考虑 R)。在 8 bit 下的照片中,最亮的亮度记为 255 (2^8−1),而最暗的像素记为 0。

从0到255的灰度图

我们把 255 对应的亮度记为 SDR 下的最大亮度,其标准为 200 nit。超过 200 nit 的部分就属于 HDR 的范畴了:

超过 200 nit 就进入到 HDR 的范围(此图片已转化为 SDR)

最简单的处理办法,就是声明该图片是 HDR 的。超过 SDR 范围的像素用大于 255 的数值去储存之。照片的位数也需要从 8 bit 增加到至少 10 bit。在 10 bit 下,亮度最大为 1023,相当于是 255 的  3.11 倍。

为什么不是 4 倍而是 3.11 倍?这涉及到伽马这个参数。简单来说就是人的眼睛对光的感受是对数的不是线性的。如果四个图像看起来的亮度依次为 1、2、3、4,那实际光强为10:43:106:200。一般来说显示器的伽马为 2.2,4^(1/2.2) = 3.11。

所以继续沿用 2.2 的伽马,10 bit 并不够用!对于一个亮度最高 6400 nit 的物体(相当于 SDR 的 32 倍),我们需要 8+14 = 22 bit 才能储存,这一开销(接近 3 倍的文件体积)是不合算的。PQ 和 HLG HDR 定义了一个映射方式,对高亮度数据占用的信息进行压缩。因为人眼对光的敏感性是指数的,比如说只有亮度差大于 2% 才能肉眼看出来。因此记录数据时,没必要从亮度 500 至 600 每隔 1 就记录一下,完全可以 500、510、520、531、541、552…… 大幅减少所需的数据量。选择合适的映射方式,使用 10 bit 就能在不丢失肉眼精度的情况下,将数据映射到最高 10,000 nit 的亮度。

伽马 2.2 的曲线(红)与某种 HLG 的曲线(蓝色)

我们把整型映射到 0-1 范围的浮点中。在 SDR 空间中,200 nit 的亮度以 1.00 储存。而在上图对应的 HLG 中,这一亮度大约以 0.55 进行储存。1000 nit 的亮度将以约 0.75 进行储存(横坐标 5),而 1.00 的数据会对应 2400 nit 的亮度。我们把这个照片最高支持的余量 (headroom) 称为 12,即表示 HDR 亮度最大为 SDR 的 12 倍。

现在来考虑该如何解码这一图像。如果软件知道你使用的是 PQ 或者 HLG ,那它将正确的把 0.55 映射到 200 nit、0.75 映射到 1000 nit、1.00 映射到 2400 nit。但如果软件并不知道,仍然以错误的伽马 2.2 对其进行处理,那么这些亮度将变成 110、150 以及 200nit,即出现了色调映射(好在 HLG HDR 考虑了这一问题,这种映射不能说是错误的,因为 SDR 部分得到了正确呈现,只不过亮度有所降低):

这是一个以 HLG 曲线储存的照片,如果你用浏览器查看能看到 HDR 效果

第二个问题在于,创作者可能使用的是最高 1600 nit 的显示器,并创作了在这个范围内的作品,但观众使用的是最高 400 nit 的显示器,其只能显示比 SDR 亮一倍的内容。这个时候,有两种办法进行处理。第一个称为滚降 (roll-off),第二个被称为硬切 (hard-clipping)。

滚降和硬切的解释

滚降本质上也是一种色调映射,且这种操作是软件(甚至是显示器本身)进行的,不可控。那有没有办法做到最大的兼容性?最简单的做法就是:我把 SDR 和 HDR 照片打包一块,支持你就看 HDR,不支持就 SDR。

这一方法最大的缺点就是——文件体积翻倍。有没有优雅一些的方案?这时候增益图 HDR 就出来了。

增益图HDR

早在 2020 年,Apple 发布 iPhone 12 后,就引入了私有的一套 HDR 储存、显示流程,被称为 Apple HDR。简单来说,我们只记录 SDR 图片本身(称为基本图),以及 SDR 与 HDR 之间的亮度差异作为增益图:

增益图 HDR 的图示 ©Google

上图左侧为 HDR 照片,中间为 SDR 照片。两个照片的亮度差异可用单色的右图表示。单色照片储存所需的空间要小得多,因此整体文件大小不会比 SDR 多多少。

天门山照片的增益图,其信息量很少因此占用空间不多

Apple HDR 是私有的,后来 Adobe 申请了一系列专利,并拉上 Apple 一块推出了增益图 HDR 的国际标准 (ISO/DIS 21496-1),在本文中称之为 ISO 增益图

在 ISO 增益图标准中,增益图通道数量可选单色或者 RGB。RGB 增益图包含三个通道,其体积也相应地会有增加。比如 iOS 18 开始,iPhone 15、16 系列拍摄得到的是 RGB 增益图的 HEIC 或 JPG,iPhone 14 及之前得到的是单色增益图的 HEIC 或 JPG。

通过上变换获得 Adaptive HDR(Apple 平台的 ISO 增益图 HDR)©Apple

增益图每个通道的每个像素,取值范围会映射到 [−1, 1]。正数表示在基本图的基础上增加亮度,负数表示在基本图的基础上降低亮度。因此 ISO 增益图,可以用 HDR 照片作为基本图,SDR 照片通过 HDR 和增益图计算出来。

ISO 增益图 HDR 支持的格式包括:JPEG、HEIC、AVIF、JXL、TIFF 等。理论上每个格式都有单色和 RGB 增益图两个选项。HEIC、AVIF、JXL、TIFF 等格式可选下变换(HDR 作为基本图)或者上变换(SDR 作为基本图),下变换还可以选择 PQ 或者 HLG 作为 HDR 基本图的曲线。粗略来看,一共有超过 34 种可能的组合

又回到兼容性上来,毕竟 ISO 增益图是 2024 年才推出的标准,并不是所有的组合在目前都能被广泛兼容。

谷歌负责 JPG 格式的增益图的实际应用,并制定了 UltraHDR 库(即 JPG 格式的增益图 HDR)。UltraHDR 有两种可能的方式:单色增益图或 RGB 增益图。即使 UltraHDR 种类只有两种,但兼容性也存在问题。

UltraHDR 的文件结构 ©Google

例如在 iOS 18.1之前,Apple 设备(macOS 除外)无法识别 Adobe 输出的 RGB 增益图 JPG 文件。现在支持分享 HDR 图片的社区(例如 Instagram、酷安),也都会先把任何格式的 HDR 转化为单色增益图 JPG,并可能导致亮度的一些变化。

所以,并不建议直接分享 ISO HDR 或者 RGB 增益图 HDR,而是需要将他们转化为单色增益图 HDR。在考虑这个问题之前,我先总结了获得 ISO 增益图 HDR 的方法:

  • Android 手机直接拍摄:获得的是单色增益图的 UltraHDR,UltraHDR 在 Android 14 引入;
  • Adobe 的 ACR 输出:获得 RGB 增益图的 JPG、TIFF、PNG、AVIF 和 JXL。其中 JPG、AVIF 和 TIFF是上变换,JXL 是下变换;
  • iPhone 拍摄:15 和 16 获得 RGB 增益图的 HEIC 或 JPG,14 以及之前获得单色增益图的 HEIC 或 JPG;
  • 使用 libultrahdr 库:可输出单色或 RGB 增益图的 JPG;
  • 使用 Apple 平台的 ciimage api:可输出 RGB 增益图的 HEIC 或 JPG。

HDR照片工作流

软件:

桌面端,处理 RAW 文件首选使用 Lightroom(收费),Darktable (开源软件)支持输出EXR、AVIF (PQ HDR) 格式的照片,Photomator(收费)支持输出 ISO HDR 文件。

移动端仍然建议使用 Lightroom(收费)。Photomator(收费)等软件也支持输出 ISO HDR 文件。

显示器:

桌面端你需要一个 HDR1000 认证的显示器获得最佳效果,最低也要 HDR600。推荐使用 m1 pro 芯片以后的 14 或 16 寸MacBook pro,最高支持 1600 nit 亮度。其余 MacBook 在中低亮度下可提供最高 1 档的余量 (headroom = 2)。

HDR1000 的显示器在保证 SDR 200nit 的情况下还有 2 档以上的 HDR 空间

移动端建议 iPhone12+(不包括 SE3)或 Android 14+ 系统且支持 HDR 显示的安卓。iPad 只建议最新的 m4 pro 或者 miniLED 款 12.9寸 pro,否则只能提供最高 1 档的余量:

Apple 设备的 HDR 兼容性,最高 5x SDR 才有较好效果 ©Apple

输出与储存

处理完成后,照片以 HDR 的格式进行输出,LR 可直接输出 AVIF、JPG 或 JXL 等小体积格式。或者输出 16 bit 的 ISO HDR(如 PNG、TIFF)、EXR 作为中间文件进行后续压缩。

目前 LR 支持输出 5 种 HDR 格式

根据需求,对照片进行压缩。如果不需要兼容性(例如只储存在本地,不分享不上云),可采用 ISO HDR 进行储存。建议使用 10bit HEIC、AVIF 或 JXL,曲线可选 PQ 或 HLG。

如果需要兼容性,例如社交软件分享,云储存,可选单色增益图 HDR,或者使用 RGB 增益图 HDR,等未来普及(比如目前 Google Photos 不支持识别 RGB 增益图 HEIC)。

不推荐以 UltraHDR 储存,JPEG 压缩效率低质量相比较差。但可以将其用于照片分发。

macOS平台生成HEIC HDR的CLi工具

在 macOS 平台,我写了一个命令行工具用于将 HDR 照片转化为 ISO 增益图或 ISO HDR 格式的 HEIC 文件。支持生成单色增益图获得最大兼容性。软件以 MIT 协议开源。

> 关注 少数派小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀