难以预测的 SDR

按下 HDR 按钮后,Lightroom 就进入了 HDR 工作流,这是一套无论是工具,内部的颜色管理还是调色手感都与以往 SDR 很不相同的调色方式。理想的情况下,图片也将以 HDR 格式输出,并在 HDR 屏幕上观看,形成完整的 HDR 流程。

但照片总是会在各种地方被观看,由于兼容性问题,其中大部分可能仍是以 SDR 形式呈现。此时,观看的体验变得未知且难以预测,这主要来自于两方面因素:

  1. 该图片是否包含了足够的 SDR 信息?比如 Gainmap,直接包含了一份完整的 SDR 图片,不支持 HDR 的设备直接观看该版本。或者通过 ICC 等方式携带了一份指导如何从 HDR 下变换得到 SDR 的元数据,帮助终端设备获得 SDR 版本。
  2. 如果图片没有携带 SDR 信息,或是终端设备不支持这部分信息。那么终端设备是否有能力自己将图片转成 SDR 并播放,还是毫无管理的错误播放。

由于以上两方面因素,HDR 流程制作出的图片在 SDR 环境播放的体验是难以预测的,最稳妥的办法当属 Gainmap,直接传递完整的 SDR 版本。Lightroom 提供的各种选项在一定程度上也支持这种看法,比如导出的时候选择 HDR JPEG,则输出 ISO 21496-1 标准的双层 JPEG(JPEG 仅支持这一种 HDR 方式),或是选择 HDR AVIF(最大兼容),此时也是以 Gainmap 方式输出。

新的问题是:Gainmap 所需的 SDR 从何而来?

摄影师在后期制作的时候专注于 HDR,SDR 版本通常由 Lightroom 自动计算,但这个 SDR 版本的效果不是太理想,Adobe 使用的算法会提亮一部分暗部,并大幅压缩高亮,使得 SDR 版本的对比度以一种奇怪的状态变低,常常偏离摄影师调的 HDR 的意图,很多时候甚至不如裁切或简单的滚降。

Lightroom 调整 SDR 的工具

点击选框,即可查看 Lightroom 生成的 SDR 效果,这个 SDR 效果一定程度上也受到使用的调色工具的影响,比如随样性颜色。Lightroom 提供了几个专门单独控制 SDR 版本的滑块,但能调的很有限。

这是本文使用的例子,这架“东方宝石”彩绘涂装的吉祥航空 A320 正由深圳宝安机场起飞,执飞前往上海的 HO 1886 次航班。该图片在 HDR 流程下完成后期处理。

HDR 版本的例图

该图片实际上只有几处机身上的高光反光,和几处机身灯光真正超过了 SDR 名义亮度,需要 HDR 来编码。如果将这部分超过 SDR 亮度的像素裁切到白色,获得一个 SDR 图片,效果为下图所示。

裁切获得的 SDR 图片

由于天空背景也微微超过了 SDR,因此天空颜色出现了些许偏移,但整体上和 HDR 版本是十分接近的。而 Lightroom 自动生成的 SDR 则出现了大幅变化。

Lightroom 自动生成的 SDR

不仅亮度整体下降,在关键的暗部,天空等区域都做了提亮或压暗。使得它可能在某些视觉效果上还不如裁切的版本。这也是很多时候,将这样的输出文件交给别人看时,得到很负面的反馈的原因。因为他们在看一个没有被摄影师审核和调整过的,可能低质量的 SDR 图片。

替换 Baseline

由于 Lightroom 没有提供足够的,在 HDR 流程中操作 SDR 版本的工具,有时候会创建一个副本,专门调出 SDR 图片,再分别分发。而 Gainmap 这种格式,恰好可以根据 HDR 和指定的 SDR 图片重新生成新的 Gainmap 再编码,得到 HDR 效果不变,SDR 层又替换成理想效果的文件。

这个操作是完全符合 ISO 21496-1 用法的,因此 HDR-Conversion 或者别的工具都可以轻松实现。

有些细节可以做得更好:

HDR-Conversion 在完成这个任务的时候,必须要先解码,再编码。对于 JPEG 来说,重复的编码和解码会导致图像质量下降,误差累计。替换 Baseline 这个任务中,只需要解码原图的 Baseline 和 Gainmap 获得 HDR,然后计算新的 Gainmap 并编码,不需要将新的 Baseline 也重新解码后编码。

借助一些设计给库内部使用的函数,可以实现 Baseline 的字节直接替换。由于不能保证未来版本中这些内部函数不会发生变化,最好指定为 0.1.6 版本,一个 Vibe 的脚本可以在这里获得(AI 代码可能出错,不保证结果正确)。

在不传入目标 SDR 的情况下,会使用裁切来创建新的 SDR。

比如刚才那个例子,原本的 Gainmap 长这样:

原本的 Gainmap

能看出操作了大量本就处于 SDR 亮度内的像素。

而新的 Gainmap 则只操作了高亮的像素:

新的 Gainmap

新的 Baseline 和新的 Gainmap 可以算出与原本一样的 Alternate,HDR 效果不会变化。

思考 HDR 工作流

进入 HDR 后,获得了更大的操作空间和可能更好的视觉效果,损失的是对其他设备的兼容性。兼容性损失的后果是难以预知在那些设备上的显示效果,这对于摄影师来说是比较难受的,明明自己看的很满意,却完全不知道别人可能在看什么。

即使按照上述流程重新制作了 SDR 版本,对摄影师来说,工作量至少是翻倍。而且也难以保证显示能力在 SDR 和摄影师设备的 HDR 之间这些 HDR 设备的显示效果。

归根结底,是没有一种可靠和稳定的下变换方法,也许也不可能存在这样的方法,因为每个人对于一个 HDR 该对应什么样的 SDR 有不同的理解,即使一个摄影师调两次,结果也可能不同。

相比完全重调,在下变换的基础上微调显然是更加轻松的做法,比如 Lightroom 提供的那些滑块。杜比视界也提供了这样的操作,通过名为 Trim 的方式,可以让创作者微调下变换的效果,不过是收费项目。

所以我自己也反复思索了很久,对我自己拍的图片来说,是否要切换到 HDR 工作流?

至少目前,我觉得大部分图片还是停留在 SDR 比较好:

  • 我可以继续使用大部分的调色软件与工具(它们还没有支持 HDR)
  • 不需要担心设备之间显示效果过于不一致
  • Lightroom 在 HDR 模式下的调色手感很差(仿佛完全没有 DRT)
  • 多数图片进入 HDR 模式没有取得与投入匹配的视觉效果收益

期待未来某一天,能够有一个足够强大可靠的下变换算法,甚至是革命性的新 HDR 格式或工作流来解决这些问题。