YJKJCulture

介绍
ACES概述
转换
ACES的局限性
结论与资料来源


前言


细心的读者会注意到,在我的网站运营的两年里,我对 ACES 的分析发生了很大变化,从“ACES 很棒”变成了“ACES 存在问题和局限性”。别误会:ACES(一个帮助专业人士进行色彩管理的实际框架)的理念很棒,ACES 一直是我进入色彩管理领域的切入点。在过去的两年里(自 2018 年 9 月发表我的第一篇文章以来),我学到了很多东西,也结识了一些对色彩着迷的优秀人士,这在一定程度上要归功于 ACES


但实际上,这在第 5 次会议(输出变换 VWG)上已经指出:“ACES 的两大成功是 IDT 概念和对色彩管理必要性的理解。”输出变换(我们用来显示渲染的模块)是 ACES 的弱点,这是一个问题,因为它们可能是“图像形成链”中最关键的部分。


总的来说,最重要的一点是,许多对色彩管理感到不适应的图像制作者(说实话,这是一个可怕而复杂的话题)已经完全放弃了学习,甚至不再真正相信自己的技能或眼睛。这就像是一种心理效应:“如果某个方案是由学院完成的,并且用在了乐高电影里,那它就一定很棒。一定很棒。” 你不相信我?看看这个:


第 1.5 章:学院色彩编码系统 (ACES) - Chris Brejon --- Chapter 1.5 Academy Color E.jpg


第 1.5 章:学院色彩编码系统 (ACES) - Chris Brejon --- Chapter 1.5 Academy Color E (2).jpg


为什么蓝色的兔子会变成品红色?这里发生了什么奇怪的事情吗?我们能做得更好吗?这两张图片分别来自 Redshift 和 Unreal 的文档,这两个都是备受尊敬的渲染引擎。这再次印证了一个流行趋势(我的网站也参与了其中):“如果 ACES 被广泛实施,那它必须是完美的。必须如此。”那么,让我们看看这里到底发生了什么……



介绍


上一章主要介绍2014年之前的色彩管理。现在,我将介绍ACES,这是由美国电影艺术与科学学院主持的数十位专业人士开发的色彩管理系统(CMS)。


如果您想了解色彩管理系统 (CMS) 和色彩管理工作流程 (CMW) 之间的区别,请查看 Daniele Siragusano 的解释和建议



ACES 的理念是制定一个标准,帮助专业人士进行色彩管理。许多视觉特效工作室,例如 ILM、Framestore、Double Negative 和 Animal Logic,都使用它来交换文件,目前已有超过 300 部电影正式使用 ACES 制作。


经过一番调查,我尝试谨慎对待之前的声明。在一次 TAC 会议(1:02:28)上,已确认列出的部分电影并未使用 ACES 输出转换。


——一切都归结为一个问题:哪些要求使得项目符合 ACES 标准?


ACES 可通过 OCIO 免费获取(此处是ACES 1.2 配置的链接),就像spi-anim 配置一样。ACES 也已在Resolve的 CTL 中以及UnrealUnity的 GLSL / HLSL 中实现。


如果你不想再看下一章技术内容,我也不怪你。你可以直接跳到第二章

——否则,我们开始深入探讨吧。

ACES 概述


2016 年我到 Animal Logic 时,真正让我震撼的是他们的色彩范围。艺术家们正在制作一部色彩鲜艳、非常饱和的电影《乐高蝙蝠侠》。那是我第一天上班,我在显示器上看到了这个镜头(我记得是 Nick Cross 为这个镜头打光的)。




我真的心想:“哇! 这看起来不错! 他们是怎么得到这些疯狂的颜色的? 颜色的范围确实比我以前的工作室更广:


  • 我们在前一章中已经看到,许多工作室和学校sRGB使用线性传递函数sRGB通过 1D LUT(或简单的 sRGB OETF

  • Animal Logic 使用 P3 监视器,这是电影院的行业标准。正如我们在前一章中看到的,它提供了更广泛的颜色来显示。 Grant Freckelton 惊人的艺术指导也帮助实现了这一惊人的结果。

为什么选择ACES?

ACES 由美国电影艺术与科学学院开发,得到了摄像机制造商(Arri、Red、Sony 等)和一些视觉特效工作室(ILM、Animal Logic 等)的支持。


您可以在此处查看贡献者和 TAC 成员(在 CONTRIBUTORS 标签页中)。


当摄像机还是模拟设备时,情况很简单。只有几种格式:35 毫米和 70 毫米。拍摄于胶片上的原始拷贝可以永久保存。


但随着数字革命的到来,出现了多种摄像机和格式。这些用于数字源母带(DSM)的专有系统可能很快过时,甚至更糟的是,文档资料不足。


问题在于,当这些电影需要为新媒介重新制作时,DSM 已不再适用,原始的创作意图也随之丧失。因此,ACES 最初的理念是将这些档案编码为一种“标准”格式,以减少歧义。ACES 的第一个名称确实是“图像交换框架”(Image Interchange Framework,IIF)。


这篇文章已经相当清楚地解释了:


ST2065-1 文件格式远非明确无误。[…] 如果我给你一个 ST2065-1 文件,你无法知道它是用 ut33、0.1.1、0.2.1、0.71、1.03 还是 1.1 版本的 ACES 制作的。这些版本都会产生相当不同的电影版本。[…] 我们有一个模糊的归档文件格式,这难道是坏事吗?我不这么认为。

拥有 ST2065 并确定编码的几个参数是件好事。它是一个更好的 DSM(数字源母带),仅此而已,而且非常棒。

—所以看起来 ACES 的唯一目的尚未实现……


什么是ACES?

ACES 是一个包含一系列色彩空间和变换的色彩管理工作流程,允许你对它们进行操作。由学院开发的参考色彩空间称为 ACES2065-1(AP0 原色)。其特点如下:

  • 超宽色域(非物理可实现的原色)

  • 线性

  • 高动态范围

  • 标准化

  • RGB

ACES2065-1 包括所有这些色彩空间。


ACES2065-1 也称为 ACES 颜色空间。 但我宁愿使用它的全名。

——术语准确性在色彩管理中至关重要。

ACES——图解

ACES 由下图中描述的三个主要过程组成:


  • A. IDT 是纹理/图像/渲染到ACEScg

  • B.ACEScg是渲染/工作空间。

  • C. RRT + ODT 输出变换显示器或视频投影仪

我们过去常说 RRT(渲染参考变换)和 ODT(输出设备变换)。我将统称它们为输出变换。

——在 ACES 1.1 中,RRT 和 ODT 被合并为 HDR 输出变换。


ACES 背后的理念是处理你可能需要的任何颜色变换:


  • 你的纹理是来自互联网的 sRGB 吗?还是在 sRGB 色域内的线性空间?ACES 提供了所有矩阵和查找表(LUT),通过 IDT(输入设备变换)将一种色彩空间转换为另一种。

  • 你的显示器是 Rec.709 还是 P3?ACES 提供了所有的 LUT,以便使用适当的输出转换查看你的渲染结果。

这就是色彩管理中一个重要的方面:你必须了解每个流程(输入、工作空间和输出)的色彩空间(基色、传输函数和白点)。

——ACES 试图对此进行澄清。


以下是五个 ACES 色彩空间的列表:

  • ACES 2065-1 是采用 AP0 原色的场景线性空间。它仍然是 ACES 的核心,也是唯一的交换和存档格式(用于 DCDM)。

  • ACEScg 是采用 AP1 原色的场景线性空间(计算机图形的较小“工作”色彩空间)。

  • ACEScc、ACEScct 和 ACESproxy 都采用 AP1 原色,并具有各自指定的对数传输函数。



初选

白点

传递函数

用法

ACES2065-1

AP0(不可物理实现)

~D60

线性

交换和档案空间

ACEScc

AP1(不可物理实现)

~D60

对数

工作空间(颜色分级)

ACEScct

AP1(不可物理实现)

~D60

对数(类似 Cineon

工作空间(颜色分级)

ACEScg

AP1(不可物理实现)

~D60

线性

工作空间(渲染、合成)

Acesproxy

AP1(不可物理实现)

~D60

对数

运输空间(已弃用)

ACES 的白点并不完全是 D60(实际上很多人对此有误解)。选择它是为了避免让人误以为 ACES 只兼容在 CIE 日光条件下拍摄、色温为 6000K 的场景。

——这里都有详细说明。


如果你想深入了解这个话题,还有一篇关于不同 ACES 色彩空间的有趣文章


请注意,不建议使用 ACES2065-1 色彩空间进行渲染。你应该使用 ACEScg(AP1 基色)。

——更多解释见下文。

为什么选择 ACEScg?

那么计算机图形呢?ACES 如何改变我们的渲染?Steve Agland(Animal Logic)和 Anders Langlands(Weta Digital)也进行了一些在 ACES2065-1 中渲染的测试。


在 ACES2065-1 色彩空间渲染时出现了一个意想不到的问题:数值过大导致出现了一些负值,破坏了能量守恒。这个问题在这篇文章中解释得非常清楚。一些色彩专家将此事件称为“大发现”。



此外,在 ACES2065-1 上进行调色并不感觉“自然”。来自ACEScentral 的 Nick Shaw 解释道:


AP1 原色是一种折衷方案,能够用正值编码大多数可能出现在真实相机图像中的颜色。

因为即使是最饱和的 ACEScg 颜色仍然是“真实”的,这意味着调色操作的数学计算方式对调色师来说“感觉”更好。

—ACEScg 更加适合艺术家使用。


因此,为计算机图形创建了另一种色彩空间:ACEScgAP1 原色)类似于Rec. 2020)。我将加粗并强调这一点,因为这非常关键:你绝不应该在 ACES2065-1 中进行渲染。


ACEScg:我们的工作/渲染空间


为什么我们要在一个色彩空间中渲染,却在另一个色彩空间中显示?这样做的意义何在?还记得 1 中的渲染空间和显示空间吗?我们已经看到,它们不必是相同的。


但如果我告诉你,在不同的基色空间中渲染不会得到相同的结果呢?我再重复一遍以示清楚:在线性空间——sRGB 或 ACEScg 中渲染,得到的“美观”exr 文件不会相同。光照计算因此会不同,结果也会不同。


乐高蝙蝠侠和忍者神龟是在线性 – P3-D60 色彩空间中渲染的,这完全取决于表面处理所使用的空间。彼得兔之后的作品则是在 ACEScg 中渲染的。

—渲染基色的选择绝对不是一个简单的决定……


首先,我们都应该同意,与光谱渲染相比,RGB 渲染从根本上来说有些缺陷。因此,我们希望使用一个能让渲染不那么“破碎”的色彩空间,而 ACEScg 是一个很好的候选。通过从线性 – sRGB 切换到 ACEScg,你将能够实现宽色域渲染。我们如何知道哪个特定的色彩空间适合我们的需求?一如既往,通过做一些测试!


要对渲染色彩空间进行正确的比较,我们需要一个称为“真实值”的参考。在我们的案例中,这将是一个无偏差的图像,比如光谱渲染引擎 Mitsuba 允许你生成的图像。否则,我们无法客观地比较渲染结果!


并不是说 BT2020 或 ACEScg 是终极色彩空间,实际上没有哪个是,声明是它们通常比其他色彩空间更能减少误差。它们恰好具有一种定位,成为所有主要 RGB 色彩空间中的多面手。

—Thomas Mansencal.   托马斯·曼森卡尔。


SpectralRec.709 Rec. 之间的比较 2020

Anders Langlands和 Thomas Mansencal 进行了非常有趣的测试和研究。它们在这篇文章中有详细说明。进行了三种不同的渲染:


  • sRGB/Rec.709,所有色域中最小的。

  • 光谱,使用波长进行计算的真实标准。

  • Rec. 2020,与 ACEScg 相似。

然后,你将它们相互相减。颜色越暗,越接近光谱色!所以如果你看看最底行,平均值整体更暗。这意味着 Rec. 2020 让我们“更接近”光谱渲染。

ACEScg和 Rec. 2020 有什么区别?ACEScg 的三个基色位于 CIE 图之外有什么优势?为了主要涵盖 P3,ACEScg 是一个接近 BT.2020 但涵盖 P3 的色域。这需要非物理可实现的基色。

——由 Thomas Mansencal 解释。值得注意的是,ACEScg 基色的选择曾引发争议。

ACEScg 说明

这一差异背后的技术原因在一系列帖子中有所说明:


来自 Thomas Mansencal:从严格的技术角度来看,渲染引擎确实对色彩空间是不可知的。它们只是处理你输入的任何数据,而不会考虑数据存储的色彩空间。

然而,色彩空间及其基色的选择对于实现忠实的渲染至关重要。[…]


如果你使用的是 sRGB 纹理,默认情况下你将会在这个特定的色域中进行渲染。只有使用输入设备转换(IDT)才能让你在 ACEScg 中渲染(或事先进行转换)。


来自 Thomas Mansencal:大多数 CG 艺术家所称的线性实际上是当前的 sRGB / BT.709 / Rec. 709 色彩空间,带有线性传递函数。ACEScg 本质上是线性的,这使其非常适合渲染。[…] 一些 RGB 色彩空间的色域更适合 CG 渲染,整体上能获得更接近真实全光谱渲染的结果。ACEScg / BT.2020 在这方面已被证明能产生更忠实的结果。


如果这还不够清楚:


是的,基向量不同,BT.2020 / ACEScg 产生了更好的结果,可能是因为基色更锐利,同时基向量以一种减少误差的方式旋转。几年前有几个人(我也是其中之一)写过相关内容。[…] 每个 RGB 色彩空间都有不同的基向量,因此诸如乘法、除法和幂运算等数学操作并不等价。[…] 通常,你应该避免使用 ACES2065-1 进行渲染,因为它远非计算机图形渲染的最佳选择,[…]。


仔细研究虚拟基色


我在 ACESentral 上最喜欢的帖子之一包含了一些有趣的信息:


不真实基色的原因是,为了仅使用正值编码 CIE “马蹄形”内的所有颜色,这是必要的。AP0 基色形成了包含所有真实颜色的最小三角形。

这导致了一个连锁反应,即大量编码值被“浪费”在不真实颜色上。[…] AP1 基色是一种折衷方案,能够用正值编码大多数[…]可能出现在真实相机图像中的颜色。

因为即使是最饱和的 ACEScc/ACEScct/ACEScg 颜色仍然是真实的,这意味着调色操作的数学运算方式让调色师感觉更自然。

—Nick Shaw.   尼克·肖。


AP1 的设计目的是产生更合理的“RGB”调色(使调节旋钮朝向 R、G 和 B 的方向移动),捕捉光谱轨迹上的关键黄色和金色(覆盖轨迹的整个边缘),并且仅略微超出 Rec.2020 的基色范围。

[…] 消除 AP0 中负蓝色基色位置也是一个目标。

—Jim Houston.  


你也可以查看同一讨论串中 Scott Dyer 的回答。根据我的个人经验,我可以分享在 ACEScg 中渲染:


  • 并不比在线性 sRGB 中渲染“更好”。它只是不同,你应该自己测试,看看宽色域渲染是否适合你的需求。

  • 给出的结果更接近光谱渲染,但这并不一定适用于所有项目,尤其是全 CG 项目。

  • 无法获得更明亮和更饱和的颜色。这是关于它的最大误解。这些数值并不会直接显示出来!


所以,宽色域渲染既有优点也有缺点。和往常一样,你应该自己进行测试。



输入设备变换 (IDT)

IDT 是将纹理/图像导入你的工作/渲染空间的过程,这个空间很可能是 ACEScg。

康奈尔盒子示例

以下是在 Guerilla Render 中渲染的两个 Cornell Box。我为两个渲染都使用了相同的 sRGB 纹理,具体数值如下:

  1. sRGB 的绿色 (0, 1, 0)

  2. sRGB 的红色基色(1, 0, 0)

  3. sRGB 的中间灰色(0.18, 0.18, 0.18)


我实际上已经为这些渲染使用了一些 sRGB 纹理。 纯绿色 (0,1,0)、纯红色 (1,0,0) 和中灰色 (0.18)


两种渲染的唯一区别是渲染空间的切换。


这是两个渲染之间的区别。


之间可以观察到类似的差异..


青色和粉红色的纹理。


同样的事情...


蓝色和黄色。


但在线性 sRGB 和 ACEScg 中,中灰色是 0.18。


没有区别,因为无彩色不受原色变化的影响。


这些康奈尔盒子之间唯一的区别是渲染空间:

  • 在第一个中,渲染空间是许多软件所称的“线性”。实际上这意味着使用线性传递函数的 sRGB 色域(“Utility – Linear – sRGB”)。

  • 在第二个中,渲染空间是 ACEScg。我正确设置了 IDT,以便正确测试宽色域渲染。


这是我在 Maya 中使用的设置。 请注意,我为这个康奈尔盒子使用了一些 sRGB 纹理。


这是我在 Guerilla 中使用的设置。幸运的是,这些设置在软件之间非常相似。


在 Nuke 中也是如此。您可以看到读取节点正在使用 IDT 的角色。


这次测试的主要注意事项是我使用了一些纹理。如果你在软件中直接使用颜色,可能不会得到相同的结果。这也取决于 color_picking 功能的实现方式。因此,请谨慎使用以下数值:




sRGB 原色sRGB 原色转换为 ACEScg
红色基色1, 0, 00.61312, 0.07020, 0.02062
绿色基色0, 1, 00.33951, 0.91636, 0.10958
蓝色基色0, 0, 10.04737, 0.01345, 0.86980
中灰0.18, 0.18, 0.180.18, 0.18, 0.18


你还必须小心你的 mipmap 生成(tex 文件)。如果你切换了渲染空间,最好删除现有的 tex 文件。否则你可能会得到一些不正确的结果。

为什么我们会得到不同的全局光照?

OCIO 允许我们将场景的色彩空间设置为 ACEScg,并在渲染中获得更接近光谱的全局光照。我们可以在 Nuke 中做同样的过程来分析实际发生了什么:


  • 左边是一个纯绿色常量,值为 0,1,0。

  • 我们使用 OCIOColorSpace 节点将其从 sRGB 转换为 ACEScg。

  • 用 ACEScg 表示的相同颜色在红色和蓝色通道中包含一些信息。这实际上只是一次转换:ACES 并没有“添加”任何东西。


转换不会改变颜色。它提供了相同的色度,但表达方式不同。


我正在将绿色原色从 sRGB 色域转换为 ACEScg


在这种特殊情况下,sRGB - Texture 和 Linear-sRGB 给出相同的结果。但您必须格外小心设置正确的 IDT。


这里是另一种解释方式:

  • 左侧是 sRGB/Rec.709 色彩空间中的绿色主色。

  • 使用 3×3 矩阵从 sRGB 转换到 ACEScg,这个具有唯一 XY 坐标的色度被转换了。

  • 在 ACEScg 色彩空间中(右图),该颜色不再是纯绿色。


由于转换过程,光线在某些通道(本例中为红色和蓝色)不再被零值阻断。因此,光线路径不太可能被零通道阻止。


IDT 概述

ACES 提供了处理这些变换所需的所有 3D LUT 和矩阵。计算机图形中最常见的 IDT 有:

  • Utility – sRGB – Texture:如果你的纹理来自 Photoshop 或互联网。仅适用于使用 sRGB OETF 编码的显示相关纹理,如反照率贴图。

  • Utility – Linear – sRGB:如果你的纹理在线性 sRGB 色域内,且你想将其转换为 ACEScg,比如 exr 文件。

  • Utility – Raw:如果你不希望对纹理应用任何变换,比如法线贴图。

请注意,如果您的渲染空间是 ACEScg,在这种特定情况下,Utility – Raw 和 ACEScg 在上下文中是“相同”的 IDT。两种选项都不会应用任何变换。


绘制色域


绘制图像的色域可以让你将其像素映射到 CIE 1931 色度图上。此功能由 Thomas Mansencal 开发的colour-science库提供。

  • 在第一张图中,我们绘制了一个使用 sRGB 渲染的图像。像素位于 sRGB 色域内。

  • 在第二张图中,我们绘制了一个使用 ACEScg 渲染的图像。像素覆盖了更广泛的色域。



如果你想绘制图像的色域,也有一个名为 Color Spaatioplotter 的应用程序,适用于 Windows 和 Mac。我自己还没试过,但根据收到的反馈,它似乎运行良好,且价格非常实惠。


关于这个 IDT / ACEScg 部分,作为总结,我想补充一点:

  • 康奈尔盒子示例是最佳情况。在实际制作中,面对更复杂的刺激,差异并没有那么显著。

  • 更接近光谱渲染应理解为“间接反弹后的色度更接近”,这同样不一定看起来“更好”(如图所示)。

  • 宽色域渲染在显示这些图像时增加了另一层复杂性,因为需要适当的色域压缩(而 ACES 并不具备)。

再次提醒,自己动手测试,相信你的眼睛,比较优缺点。


输出变换

ACES 输出变换由两个独立的步骤组成,称为参考渲染变换(RRT)和输出设备变换(ODT)。这在 ACES 1.0.X 的所有输出变换中都是如此,并且至今仍然如此。ACES 1.1 的发布引入了一些新的HDR 输出变换,作为单一步骤,称为单级色调映射(SSTS)。


色调映射是 ACES 术语,通常人们称之为色调映射。


两个步骤输出变换(RRT+ODT)的起源可以在Ed Giorgianni 的这份文档中找到。其背后的理念如下:


  • RRT:中间渲染到一个理想化且假设的参考显示器。这就是“ACES 外观”,类似于虚拟胶片。

  • ODT:针对特定真实显示设备的最终渲染(包括基色、EOTF 和白点)。它还考虑了观看环境(暗环境、昏暗或正常环境)和亮度(尼特)。


如果你直接在 P3 色域上显示你的 sRGB 渲染而不进行转换,我会说这就是“缺乏色彩管理”。

—Thomas Mansencal.


在接下来的段落中,你将看到对 ACES 1.X 输出变换的描述。这不是深入分析,而是从 ACESCentral 收集的信息和一些简单的视觉示例。


我们现在知道了(截至 2022 年 1 月),部分归功于 ACES2.0 输出变换虚拟工作组,他们的局限性和问题。我在下面稍作描述,并在这篇文章中有更详细的阐述。请注意!


参考渲染变换(RRT)


在实际操作中,RRT + ODT 过程对用户来说是合并的,但我认为这里值得描述一下 RRT 的一些组成部分。我特别感兴趣的是臭名昭著的“调味剂”:辉光模块、红色修饰器和全局去饱和。


RRT 的输出称为输出色彩编码规范(OCES)。


这些“调味剂”引发了关于它们应归属何处以及是否应成为外观修改变换(LMT)一部分的广泛争论。它们也导致了可逆性的问题。以下是关于它们历史的一些引用


[它们] 最初源于早期想要达到“伪电影感”的目标。[..] 光晕来自于对电影感外观的感知。[…] 红色修饰器和光晕是不同的。光晕是美学上的。

—Scott Dyer


我不认为[红色修饰器]是“调味剂”。它是在补偿 RGB 色调尺度的饱和度效应。[…] 它是在补偿“过热”的红色。

—Doug Walker 和 Alex Forsythe


值得注意的是,在未来的某个时间点,ACES 2.0 的整个输出转换架构可能会被修改。关于“遵循”三个 OCIO 步骤:Look、Display、View,有一个讨论线程

输出设备变换 (ODT)

ODT 是将参考(OCES)显示在你的显示器上的过程。学院建议使用适合你屏幕的 ODT。它应基于你的项目需求:


  • 你是为电视和互联网工作吗?你应该使用 sRGB 或 Rec.709 进行显示。

  • 你是在制作故事片吗?你应该使用 P3 进行显示。


Rec. 2020 显然是未来的发展方向,但目前还没有投影仪能够覆盖该色域的 100%。技术尚未成熟。但也许十年后,它将成为新的标准。

据我所知,到 2022 年,Rec.2020 实际上只是作为 P3 交付的容器使用。

——还没到那一步,除非你拥有一台 Christie


输出转换的示例和比较

以下是一些将 nuke 默认 OCIO 设置与 ACES 1.1 进行比较的示例。请注意,Nuke 在其 OCIO 配置中存在错误:

  • 正如它在 Nuke 中的实现,rec709(大约是伽马值 1.95)实际上是一个摄像机编码的 OETF!

  • Rec.709 (ACES) 使用BT.1886EOTF(等效于 2.4 的幂函数),并参考 EOTF 输出显示。

使用 Nuke 的查看器在 rec709 中显示的线性渲染。这是错误的。


来自 Jeremy Selan:“朋友不要让朋友在没有 S 形观看变换的情况下观看线性场景”。


如果我们增加一站...


差异更加明显。


有两站...


过度曝光的外观效果更好......但开始歪斜! 两面墙都偏向黄色!


我还对 MacBeth 色卡进行了测试,比较了 spi-anim 配置中的“Film (sRGB)”与 ACES 配置。



我一直在 Nuke 中进行的一个小测试。


左侧是通过 spi-anim 配置通过 Film sRGB 看到的 MacBeth 图表。


在右侧,通过 ACES 配置的 Rec.709 转换看到的 MacBeth 图表。


我们将每帧的曝光增加 1 档。


观察差异很有趣......


特别是在两个特定的样本上......


黄色(颜色值为 16)在使用 spi-anim 配置时遇到了问题。


青色(颜色 18)甚至不存在于 sRGB 色域中!


青色只是在视觉上被夹住了。有趣的是它是如何卡在那里的。


想想看,青色(颜色 18)在 sRGB 色域中不可用。太疯狂了!


我直接说清楚:如果你的显示器只支持 sRGB,那么使用 P3D65 ACES ODT 是没有意义的。它不会让你的渲染效果更好看。

——你的 ODT 基本上应该与你的显示器特性相匹配。


输出变换说明


许多艺术家对 Nuke 的默认显示变换感到困惑:


  • 为什么 sRGB 显示变换和 sRGB(ACES)不匹配?

  • 因为 sRGB(ACES)输出转换包含了一些色调映射!


在 ACES 中,我们称这一步为“渲染”步骤。从 ACEScg(场景参考)到你的显示设备,并不是简单的色彩空间转换。它实际上是一个“复杂的”(色彩和色调)渲染操作。

——大多数艺术家将这个过程称为“色调映射”。


来自   ACEScentral,Nick Shaw 解释道:


ACES Rec.709 输出转换是一种更为复杂的显示转换,包含了从 ACEScg 工作空间到 Rec.709 的色彩空间映射,以及扩展中间调对比度和压缩阴影与高光的色调映射。其目的是在 Rec.709/BT.1886 显示器上生成与原始场景感知上高度匹配的图像。


输出转换概述


有些人抱怨输出变换中包含的色调映射。这里有几点需要了解:



RRT 和 ODT 样条曲线,因此 ACES 系统的色调曲线(RRT+ODT)是通过专家观众对大量测试图像进行视觉测试得出的[…]。所以,这些数值并非随意设定。

——摘自 ACES 导师 Scott Dyer


关于 RRT/ODT 过程的更多解释,见此文章


  • ACES RRT 是为影院放映设计的,观看环境为黑暗。电影内容通常会以更高的对比度进行创作,以补偿黑暗的环境。

  • 尽管存在环境补偿过程(暗 <–> 昏暗),但驱动该过程的数值是主观获得的,可能并不适用于所有情况。

  • RRT + ODT 也是由专业观众观看图像的结果,因此不可否认其中包含一定的主观性。

  • 一些公司如 Epic Games 正在使用 1.45 的增益对场景参考值进行预曝光(这大致相当于灯光曝光增加 0.55)。


关于 ODT 色调曲线的另一种描述可以在这里找到。


整形器


ACES 输出变换包含一个 shaper,它是一个对数色彩空间,用于优化数据。这是一个透明的过程,仅仅是数据的中间状态,具有纯粹的技术目标。


当我们使用 OCIO 配置在 sRGB(ACES)中显示时,究竟发生了什么?为了转换到 sRGB(ACES),OCIO 首先将颜色转换到 ACES2065-1(AP0 基色)。然后从 AP0 通过一个 1D LUT 转换到一个称为 Shaper 的色彩空间,最后通过一个 3D LUT 转换到 sRGB。


来自 ACES 1.2 OCIO 配置:



需要一个整形器,因为 3D LUT(即使是 64^3)并不适合应用于像 ACEScg 这样的线性数据。否则这将只是数据的浪费。


交付


一旦你对渲染结果满意,项目基本完成,就可以准备交付你的帧。在动画工作室,我们通常会将场景线性 exr 文件交付给数字实验室,比如这个。


使用 ACES 时,概念基本相同,但有几个重要注意事项。对于最终交付到数字中间片,建议交付符合 ACES 标准的 EXR 文件。


这是学院制定的在不同设施之间交换文件的标准。这一点非常重要。你的渲染输出将是 ACEScg(AP1),但你的合成输出必须是 ACES2065-1(AP0),并带有正确的元数据。


在 ACEScg 中渲染使用的色彩基色更接近实际设备——比 Rec2020 稍大一些,但 AP0 是文件输出(存档和交换)的目标。

当完全在自己的设施内工作且不共享文件时,ACEScg 有时会出于方便而使用,但会在文件名中使用该格式以区别于 ACES 标准(在 EXR 中标明 ACEScg 及其基色——设备基色或 AP1——意味着这不是一个 ACES 文件)。

头文件中的 ACES 标志不应被设置。

——Jim Houston的解释。



交换和归档文件应以符合 SMPTE 2065-4 标准的 OpenEXR 格式写入。在 Nuke 中,应将 Write 节点的色彩空间设置为 ACES2065-1,并勾选“写入符合 ACES 标准的 EXR”选项,以获得正确的元数据。


来自 ACEScentral,Doug Walker 解释道:


SMPTE ST 2065-4 规范《ACES 图像容器文件布局》目前要求使用无压缩文件。此外,还有其他限制,比如仅支持 16 位浮点数和特定的通道布局(RGB、RGBA 以及立体声 RGB/RGBA)。

这些限制对于涉及归档或实时播放的使用场景来说是合理的。

ACES 的局限性


ACES 回顾和改进


2017年3月,一项研究列出了一些针对ACES的可能改进方案ACES回顾与改进。这是一份有趣的文件,促使ACES组织进行了多项变革。以下是ACES领导层的官方回应链接。


论坛上还发布了一份 48 点需要改进的清单,几个虚拟工作组的创建已经带来了一些解决方案。不要犹豫,加入这个过程!


这篇有趣的文章还描述了 ACES 的问题以及解决这些问题的建议。


色相偏斜和色域裁剪


我在使用 ACES 时遇到的两个最大问题是色相偏移和色域裁剪。一些影像创作者认为观众已经习惯了这些问题,并不介意;而另一些人则觉得这些问题非常可怕。就由你们自己来判断吧。


一个 ACEScg 红色初级体积聚光灯...注意影响是如何变成粉红色和怪异的。


sRGB 红色原色在曝光过度时会变成 Dorito 橙色。


一个 ACEScg 蓝色初级体积聚光灯...注意影响是如何变成紫色和怪异的。


sRGB 蓝色原色在曝光过度时会变小。


在这些幻灯片中,我将该问题描述为“色阶分离”。该问题已在 ACESCentral 上讨论,并被称为“色域裁剪”。


这类问题有不同的原因。它们相当技术性,超出本章范围,但我在此列出(并在这篇文章中有更详细的说明):


一个 3×3 矩阵只能模拟线性变换,这可能会引起 Abney效应,因为它们是直线(就像强制色域裁剪一样)。

离散的每通道查找(也称为 RGB 色调映射)会扭曲意图。任何在 1.0 处渐近的美学传递函数都会受到此影响。

美学传递函数最终会将许多不同的数值压缩到相同的值,因此出现了色域裁剪。ACEScg 中非物理可实现的基色也可能是原因之一。


ODT 会裁剪数值


这些概念大多最终都与我们所说的色域映射有关。这是 ACES 中缺失的关键元素。我曾长时间认为 ODT 会以智能的方式重新映射色域。不幸的是,事实并非如此,它只是做了一个 3×3 矩阵变换、一个色调缩放和一个限制!


三种不同的坡道...


从左到右 sRGB 原色与 sRGB (spi-anim)、sRGB 原色与 sRGB (ACES) 和 ACEScg 原色与 sRGB (ACES)。


我们将每一帧的曝光量增加一档……


ACES 的第一个问题是中间坡道是 Dorito 橙色。


ACES 中的第二期:右侧坡道变为粉红色。


这些变化称为色相偏差。


您还可以在右侧坡道中看到一些剪裁。


这也可能部分来自 LUT 中的 OCIO 插值间隙。


右侧的 ACEScg 初级只能通过激光(窄带光源)到达。


如果没有色域映射,就不可能正确显示它。


有趣的是,spi-anim 显示不会变白。它完全卡住了。


正如您在下面的代码中看到的那样,ODT 通过 3x3 矩阵和钳位将值带回其色域,这会导致一些色域裁剪。这是我们在值非常饱和时面临的问题之一:



所有 ODT 都会将数值夹紧到目标色域内,因此不可能出现色域外的数值。经过此过程后,所有数值都假定在 0 到 1 之间,这是传输函数之前的倒数第二步(传输函数不会改变这个结果)。


现在让我们看看 3×3 矩阵和色域映射之间的区别。可以说,ACES 中的色域映射非常“粗糙”或者完全缺失,这取决于你如何看待这个问题。


关于 3×3 矩阵的一点说明


Thomas Mansencal 分享了一些关于矩阵及其在 ACES 中应用的知识。矩阵目前被用于超过 50 个“环节”,例如 IDTs、BlueLightArtifactFix LMT、RRT 和 ODTs。它们主要用于颜色空间转换、色度适应和饱和度调整的定义中。


其优点在于矩阵建模的是线性变换,应用速度非常快,数值上非常稳定,大多数情况下可逆,易于实现,并且不受曝光变化的影响。这个优点同时也是它的局限,因为矩阵只能建模线性变换。

——一个用于 RGB 颜色空间变换矩阵的在线应用。


处理立方体


为了更好地理解 3×3 矩阵的工作原理,Thomas 用了一个与立方体的比较。我喜欢简单的例子!


想象你有两个旋转和缩放不同的立方体。一个 3×3 矩阵可以让一个立方体完美地适配另一个。现在想象你有一个立方体和一个球体,你想把它们配合在一起?

3×3 矩阵可以让球体和立方体共享同一空间,但它们不会有相同的形状。这时你需要一个非线性变换,基本上它能做的不仅仅是旋转和缩放你的空间。你需要局部扭曲它!3×3 矩阵基本上是在你的空间周围放置两个大手柄,并对其进行全局扭曲,注意 4×4 矩阵还允许平移,而 3×3 矩阵按惯例通常只进行缩放和旋转(在三维空间中)。

——关于矩阵的更多信息可以在此处找到。


矩阵是进行色彩空间转换的良好工具,例如在 IDT 和实用工具中使用的矩阵,但在显示转换方面则不尽理想。在这种情况下,更复杂的色域映射过程会更为合适。


色域映射

什么是色域映射?一个合适的输出变换(也称为显示渲染变换)应由两个主要元素组成:


  • 色调映射(或强度/亮度映射),用于将无限范围(HDR)压缩到有限范围(SDR)内。

  • 色域映射,用于将宽色域(ACEScg)压缩到较小色域(P3),尽可能保持场景的意图。


Jed Smith 实际上对我们可能需要的输出转换“模块”做了更为完整的描述


ACES ODT 出现有趣的色调偏差。


而在 RED IPP2 ODT 中则根本不存在这些问题。但我们在过程中失去了一些饱和度。


署名的 Arri KISI 也表现得相当出色。


TCAMv2 也带来了有趣的结果。


我使用了这个实验性 OCIO 配置来比较不同的输出变换。


这个过程实际上相当复杂,近年来已经有许多尝试来解决这个难题:AMD Fidelity FXAMD 可变动态范围、AMD FreeSync HDR 色域映射、Frostbite……成功与否各有不同。

除了 ICC 之外,实际上没有真正的系统能进行[色域映射]。这类问题通常由调色师负责处理,通过稍微降低红色的饱和度来解决。但这不一定是 ACES 的限制,恰恰相反。该系统允许你使用极端的数值,因此强大的能力伴随着巨大的责任。这正是色域映射派上用场的地方。现实情况是,所有技术变化都非常非常快,而构建工具需要大量时间。事实上,相关研究甚至还未完成:例如,LED 起始照明技术就非常新颖。

——托马斯·曼森卡尔的一些建议。


Rec.2020 颜色使用了发光着色器,就像它们是 LED 灯一样。


我认为这有助于更好地比较 ODT,特别是在对地面影响方面。


有趣的是,Arri KSI 在处理红色和青色调时表现得很吃力。


最后是 TCAM / 2...


一个经常被注意到的问题是我们称之为蓝光伪影(Blue Light Artifact)。在 ACEScentral 这篇文章中对此有非常详细的描述。文中还提供了一个临时解决方案,直到找到更长期的解决方法,比如Jed Smith 的色域压缩算法

结论



ACES 具备以下特点:

  • 通过 OCIO 与多种软件的兼容性。

  • ACEScentral上获得免费的支持和社区帮助。

然而,为了使 ACES 2.0 更加稳健和可靠,需解决以下几个方面的问题:

  • 由于每通道(RGB)查找导致的色相偏移。

  • 由于缺乏信号压缩(即色域映射)导致的色域裁剪(或色阶分离)。

  • 当前的输出转换并非“中性”/色度线性/色相保持(工作空间中的光混合未被尊重)。

  • 通向白色的路径只是一个“意外的巧合”,颜色汇聚到基色及其互补色。

  • SDR 和 HDR 输出转换之间缺乏可预测性。

  • ACES 交付仍然存在模糊之处,应通过 ACES 元数据文件(AMF)加以修正。

理论上,ACES 的理念很有趣:为专业人士提供一个帮助他们进行色彩管理的标准。实际上,它是一个过于复杂的系统,实际上并不真正被色彩专业人士推荐或使用(除了用于文件交换)。


这里是一个线性 - sRGB 渲染,显示在 sRGB 色彩空间中。我使用了 sRGB 纹理。请注意红色球体上的裁剪是由于缺乏色调映射造成的。


这是使用 spi-anim OCIO 配置中的 Film(s-RGB)显示的相同渲染。



这又是同一渲染图,但以 sRGB(ACES)显示。请注意色调向臭名昭著的 6 号偏移!


这是同一场景的 ACEScg 渲染。红色球体上的全局光照有所不同。


概括


以下是本章我们所看到的关键点:


ACES 是试图建立一个标准色彩管理工作流程的尝试。

  • 它围绕三个重要步骤设计:输入转换(用于输入/导入)、ACEScg(工作/渲染空间)和输出转换(用于显示)。

  • 理想情况下,你应该了解并标注每个步骤所使用的色彩空间。ACES 通过 OCIO 提供了实现这一点所需的转换。

  • ACES 允许你操作大多数(甚至全部?)色彩空间,但它本身由四种不同的色彩空间组成:ACES2065-1、ACEScc、ACEScct 和 ACEScg。

  • 访问宽色域渲染功能允许进行有趣的实验,但应谨慎研究。

ACES 不幸存在一些问题,比如色相偏移和色域裁剪,在我看来这些问题调色师是无法解决的:“带有波动的 DRT 的 LMT 很难处理。”(摘自第 36次会议)。这实际上阻止了你在显示设备上达到某些颜色:



最初来自这个帖子。几乎不可能补偿这种行为。


这些限制可能源自于 ACES 本身的历史。我尝试根据我在 ACESCentral 和 VWG 会议上收集到的信息,将其总结如下。


ACES历史


ACES 有着复杂的历史:

  • 它起初是作为一个“交换框架”开始的,拥有一个单一的色彩空间 ACES2065-1(AP0 基色)。

  • 然后,如果我理解正确的话,调色师和视觉特效工作室的反馈并不理想。因此,创建了 AP1 基色以诞生 ACEScg、ACEScc、ACEScct 和 ACESproxy。这四个色彩空间中有两个现在已经被弃用(或几乎被弃用)。

  • 为工作空间选择非物理可实现的基色(AP1)是一个有争议的决定。它们位于光谱轨迹之外!

  • 白点也是同样的情况,几乎是~D60!如果使用 Rec.2020(具有实际物理基色和 D65 白点)作为工作空间,会是一个更好的选择吗?

  • 最后,输出转换是在“矛盾的设计需求”下创建的,其核心技术(逐通道查找表)已被证明既不充分又过于复杂(SSTS 代码超过一千行)。


我实际上在我最新的文章(2021 年 9 月)中尝试解释和详细说明了所有这些要点。读完本章后,我建议你阅读那篇文章。或者你现在可以转向较少技术性的章节,专注于电影摄影。由你决定!


来源

  • Alex Fry presentation at Siggraph 2015. There is an article as well.

  • Alex Fry 在 Siggraph 2015 的演讲。还有一篇相关文章。

  • Thesearticles from Autodesk were helpful to me.

  • 这些来自 Autodesk 的文章对我很有帮助。

  • If you want to read more about ACEScg (here are the slides and the pdf).

  • 如果你想了解更多关于 ACEScg 的内容(这里有幻灯片和 PDF)。

  • If you need a reminder about wide gamut rendering, theseposts are interesting.

  • 如果你需要回顾宽色域渲染,这些帖子很有趣。

  • Steve Agland also did some interesting tests. And Thomas as well.

  • Steve Agland 也做了一些有趣的测试。Thomas 也是如此。


文章与博客


我删除了大部分文章的链接,因为它们大多只是浅尝辄止,或者只是盲目赞美 ACES。


  • Two Blender posts where I explain my point of view : here and here.

  • 两篇 Blender 文章,我在其中阐述了我的观点:这里和这里。

  • If you are curious about the ODT, check these twoposts from ACEScentral.

  • 如果你对 ODT 感兴趣,可以查看 ACEScentral 的这两篇文章。

  • If you want to get technical about ACES, this document is made for you.

  • 如果你想深入了解 ACES 的技术细节,这份文档正适合你。

  • Nothing impeaches you to render in spectral like this example in Octane.

  • 没有什么阻止你像 Octane 中的这个例子那样进行光谱渲染。

  • Siggraph 2017 has this interesting but quite technical paper about spectral and ACES rendering.

  • Siggraph 2017 有一篇关于光谱和 ACES 渲染的有趣但相当技术性的论文。

  • The ACES 1.0 OCIO Config.

  • ACES 1.0 OCIO 配置。

  • Unreal Engine accidentally shows the ACES hue Skews in their documentation.

  • 虚幻引擎在其文档中意外展示了 ACES 色调偏移。

  • Birds of a feather Siggraph 2019 about ACES 2.0. ACES 2.0 roadmap.

  • 志同道合者 Siggraph 2019 关于 ACES 2.0。ACES 2.0 路线图。

  • Two videos in French : représentation de la couleur and Academy Color Encoding Specifications.

  • 两段法语视频:颜色表示和学院色彩编码规范。

  • ACES & Associated Workflows by Light Illusion.

  • ACES 及其相关工作流程,由 Light Illusion 提供。

  • You can find a list of IDT here and some explanation about LMT there.

  • 您可以在此处找到 IDT 列表,并在此处了解有关 LMT 的一些解释。

  • Kevin Wheatley ACES presentation.

  • Kevin Wheatley 的 ACES 演讲。




商家服务
广告服务
商家服务
地址:湖南省长沙市XXX县XXX路XXX号
电话:19311570906 
传真:000-000000
QQ
联络商务
联络商务
培训中心
服务市场
培训中心
关于我们
发展历程
联系我们
企业文化
——————————————————————————————————————————————————
关注我们
艺匠空间影视文化有限公司为众多国内外客户提供了专业且高品质的影片后期制作服务。无论是商业广告、院线电影、OTT平台影音内容、电视台节目、纪录片还是电影类节目,甚至是学生作品,我们都能提供完整的影像后期流程规划。 我们的服务内容包括调光、转档、套片、输出,并且拥有超过10年经验的专业调光师。我们的目标,是让您的作品以最完美的状态呈现给观众。
登录
登录
其他账号登录:
回到顶部