YJKJCulture

介绍
你会教照明吗?
很多可能性
一个小行业
结论与链接
图文展示
Filmic Blender
标签8
标签9

引言


我经常想起 Doug Walker 在一次 OpenColorIO (OCIO) 会议上提出的这个好问题: 您想要解决什么问题? 因此,就我们而言,这篇文章是关于什么的?


在过去的一年(2021 年)里,我在网上发表了几次关于 OCIO 和 学院色彩编码系统 (ACES) 的演讲。我认为将这些幻灯片放到网上会很有用,原因有二 :


  • 如果有任何不准确的地方,任何人都可以指正我,我将 非常乐意更新本页。
  • 通过这些在线幻灯片,我希望能让更多人了解某些主题,并提高人们对这些主题的认识。


我不认为自己是专家。我不再相信这个词。我们只是人类,尽力去理解事物。我们会犯错误,希望能从中吸取教训,继续前进。所以,不, 我不是任何方面的专家!。


我唯一能提供的是艺术家对色彩管理的观点 。谈到 OCIO 和 ACES,我常常不知从何说起。因此,通过撰写本篇文章,我希望能够与您分享一些有用的信息。


我的书中有两章是关于色彩管理的,这是有原因的。 它将为您提供创建精美图像的基础。 因此,我认为通过一系列可视化示例来比较各种 OCIO 配置以研究其优缺点是非常有趣的。


真正的想法是回顾过去,但 不是评判这些历史悠久的 OCIO 配置。 完全不是! 向十多年前开发并与社区共享这些配置的所有人致以崇高的敬意。


一个伟大的社区


有些人可能会觉得这个帖子太明显、无聊或过时了。也许吧!但我真的很想回到过去,写下这篇关于 OCIO 和显示转换的历史分析。这篇文章主要是 关于我自己的误解 ,但希望它也能帮助其他人!


请注意, 我在这里只讨论 OCIOv1 配置 。


首先,我要感谢美国电影艺术与科学学院 (AMPAS),因为没有他们,我可能永远不会发现色彩管理这个疯狂而奇妙的世界。ACES 是我进入色彩管理领域的起点,对此我感激不尽。


多亏了他们,我才发现了这个由色彩书呆子和色彩科学家组成的神奇社区,在此我要对以下人士表示衷心的感谢,感谢他们的慷慨、分享和对我问题的耐心解答:





有这样一群对色彩和显示转换充满热情的人,他们能够在午夜时分在网上就 sRGB 或场景参考调色问题展开辩论,实在令人感动。


这是一个热情好客的社区,大家的意见并不完全一致,还有很多事情需要去探索......这确实令人兴奋!


好了,废话少说,我们开始吧!耶!


术语的重要性


我怀着无比谦卑的心情写下这些文字,因为 我过去曾经大错特错 ,而且我可能仍然对许多事情不甚了解......但我正在学习,我认为我唯一的优势就是简单地解释事情,希望 CG 艺术界的同行们能够理解我。


首先,我将介绍一些首席信息官的词汇,以便我们都 站在同一起跑线上 :


  • 显示器 :显示器及其特性(基色、白点、EOTF、尼特......)。
  • 视图 :我们查看图像的方式(ACES、Raw、Log、Un-tone-mapped...)。
  • Look :创意偏好或分级(LMT ACES 术语)。


这三个词听起来可能很基础,但对接下来的工作却至关重要。你们可能知道,我是一个相当务实的人。我喜欢用形象具体的例子来支持我的解释。因此,我们将从这两个 OCIO配置 资源库开始,研究我们的不同选项:


  • nuke-default
  • spi-anim /spi-vfx
  • Filmic Blender
  • ACES

配置示例


nuke-默认预设

nuke 默认配置说明


为什么我们要从 2011 年 Nuke 6.3 附带的 OCIO 配置开始呢?首先,因为我相信一些学校和小商店仍在使用它。其次,因为它包含一个误导了我很久的选项。


displays:
default:
- !<View> {name: None, colorspace: raw}
- !<View> {name: sRGB, colorspace: sRGB}
- !<View> {name: rec709, colorspace: rec709}
- !<View> {name: rec1886, colorspace: Gamma2.4}
active_displays: [default]

active_views: [sRGB, rec709, rec1886, None]


我不想在这里提及 "显示"是默认的(什么?),"视图 "实际上是传输功能...

——让我们把注意力放在其他事情上吧


Revelation #1 : 在此配置中,重要的是要注意 Rec.709 传输函数 是摄像机编码 OETF !它 不是显示标准!我花了好长时间才弄明白这个问题!因此,大家所说的"Rec.709 显示 "实际上是"BT.1886 EOTF with BT.709 primaries"显示。


这种摄像机编码设计用于直接驱动 CRT 广播显示器上的输出,EOTF 约为 2.4。其设计目的是在后来的 BT.1886 和 sRGB 2.2 上看起来都很合适。

——来自一位色彩书呆子


BT.709 和 BT.1886


这也是我发现 ACES 后的第一个疑问。因为 Rec.709 (ACES) 输出变换比 sRGB (ACES) 输出变换" 对比度低 "(没有更好的说法), 与 nuke-default 相反。以下是近似伽马值:


  • BT.709 是相机编码 OETF(~伽马 1.95)。
  • BT.1886 是一种 EOTF 输出显示(~伽玛 2.4),用于 Rec.709 (ACES) 输出变换。


[......]在提及显示 CCTF 时,使用转折号已成为区分纯幂函数和片断函数的常用速记符号,如果作者没有明确使用 "幂 "或"片断",有时这也是区分两者的唯一方法。
例如,Baselight 区分了"sRGB Display (2.2) "和 "sRGB (~2.2)"。[...] 在用于 OCIO 的 context 传输函数 LUT 中,BT.1886 正是伽玛 2.4。

——感谢扎克-刘易斯提供的精确信息。


老派与新派


关于这一点,有几件事需要了解:


  • 在查看器中使用"rec709"(" 老派 "意图),您将 永远无法获得所有值的 1:1。因为一般的幂函数差异是一种松散的 "环绕/耀斑补偿"!
  • 如果在纯 BT.1886 显示屏上使用"rec1886"(" 新学校 "意向),它就是 EOTF 的理想化倒数。我们称之为无操作 。


通过适当的 2.2 幂函数转储BT.709/sRGB 分片编码,也会出现完全相同的问题。关于这个问题,Daniele Siragusano 有一个非常有趣的演讲。虽然有点技术性,但绝对值得一看!




在 2020 年,耀斑补偿是显示渲染转换的一部分,不应出现在分发管道中。

—Daniele Siragusano.   达尼埃莱-西拉古萨诺


我们还可以补充两点:在使用 "Rec.709 "或 "BT.709 "时,绝对不能不加限定词。因为"Rec.709 "既可以指一个传输函数,也可以指一组基元。 为了清晰起见,我们需要将传输函数与基元分开 。


我还想快速提及的是,"伽马"一词的使用是含糊不清的:它是一个希腊字母!它被用于许多不同的场合。我现在尝试在适当的时候使用" 幂函数 /定律 "或 "转移函数"。

nuke-default 可视化示例


现在,我们将使用此配置对 sRGB/BT.709 原色进行扫描。它将显示一个有趣的现象,即 "Notorious 6"。设置非常简单:在 Nuke 中,我纵向设置了一系列 sRGB/BT.709 主色调,然后每列(横向)增加一个色阶。让我们来看看


nuke-default 可视化示例


现在,我们将使用此配置对 sRGB/BT.709 原色进行扫描。它将显示一个有趣的现象,即 "Notorious 6"。设置非常简单:在 Nuke 中,我纵向设置了一系列 sRGB/BT.709 主色调,然后每列(横向)增加一个色阶。让我们来看看







Revelation #2 : 使用此配置后,无论您使用多少值,您都将 ALWAYS 最终在显示时使用这六个值:红色、绿色、蓝色、青色、洋红色和黄色。 请注意这种行为 ,因为我们将在几个色彩管理工作流程中观察到这种行为。


CGI 工作中应尽量避免使用此配置 。它在某些边缘情况下可能有用,例如反照率纹理。但仅此而已!
—友情提醒



spi-anim / spi-vfx


Spi-anim 说明


在 OCIO 文档中有关于 spi-vfx配置的非常完整的描述 (它就像是 spi-anim 的" 姐妹 "配置)。需要说明的是,这两个配置都来自 Sony Picture Imageworks (spi)。

由于本篇文章的重点是显示变换,因此我们将从 spi-anim OCIO 配置中查看"Film (sRGB)"视图。下面是一段简短的引语:


vd 空间是线性图像数据到显示空间的映射。转换的主要部分被定义为一条单一曲线,在概念上由两部分组成。第一部分是 ln 到 lg(线性到对数)的转换。第二部分是 lg 到 sRGB 的转换。

这是以配置文件中使用的 sRGB 胶片模拟图的中性通道响应为基础的。


spi-anim OCIO 配置的"Film"视图使用 1D LUT。对于 sRGB 显示屏,使用的 LUT 文件名为"vd16.spi1d"。下面是配置中的一个示例,我认为它使用了正确的 OCIO 术语:


displays:
DCIP3:
- !<View> {name: Film, colorspace: p3dci8}
- !<View> {name: Log, colorspace: lm10}
- !<View> {name: Raw, colorspace: nc10}
sRGB:
- !<View> {name: Film, colorspace: vd16}
- !<View> {name: Log, colorspace: lm10}

- !<View> {name: Raw, colorspace: nc10}


我们可以使用两种显示器:"sRGB" 和 "DCIP3" 。还有三种不同的" 查看 "我们渲染的方式:" 电影 "、" 日志 "和" 原始 "。这是一个简单、 正确的 OCIO 设置 ,非常清晰易懂。


Spi-anim 可视化示例


现在让我们来看看一些渲染图!


同样的行为...我们最终被列入"声名狼藉的 6 人组"。




spi-vfx 说明


为完整起见,我还通过 spi-vfx OCIO 配置中的"srgb8"视图使用了相同的渲染。下面是来自 OCIO 文档的描述


  • srgb8 包含 film3d 仿真表。此表可用于生成 QuickTime 或输出到 sRGB 显示屏。

  • 转换是一个带有灰度平衡补偿的 3D 胶片模拟表,因此 lg10 空间中的 445,445,445 值会被修改为 sRGB 中相等的 RGB 值。
  • 此外,LUT 会进行缩放,以便最大白色显示屏上至少有一个颜色通道使用最大显示值。转换分为三个部分。首先,将线性数据转换为显示对数空间。然后应用胶片模拟表。
  • 然后进行灰度平衡和白平衡补偿。本表设计用于在光线昏暗的办公环境中,在 sRGB 显示器上进行评估。


spi-vfx 可视化示例


下面是我们常用的渲染图,以作比较:





颜色看起来与之前的显示变换有很大不同但我们最终还是得到了这六个值!










请注意,我在渲染时没有使用任何合成技巧。光剑周围的 "光晕 "实际上是一个体积着色器,受到网格光的影响。直接来自 Guerilla Render。


当我看到这些图像时,我真的非常非常惊讶 ......我没想到名为"Film"的显示变换会有这样的表现!我的两个主要惊喜是 :


  • sRGB/BT.709 主色调不转为白色 !
  • 我们最终得到的是"Notorious 6"值,就像简单的 sRGB EOTF 一样!


这让我得出了这个震撼人心的结论...... Revelation #3 :S 曲线与"Filmic" 行为毫无关系。当然,它可以为图像添加漂亮的" 对比度 ",并执行某种亮度查找。但这真的符合"Filmic" 的要求吗?我不确定...


在我看来," 电影色调映射 "是指视觉上的" 白色路径 "(有些人称之为" 不饱和高光 ")。在我看来,"film3d emulation lut"(desaturate highlight)并不能使 sRGB/BT.709 初阶光剑变白。它告诉我, 这里可能有其他原因 !所以,是的,S 曲线与" 从白色到白色的路径 "无关。


《我确实找了一个" 电影 "的例子来说明我的想法。星球大战》是我能想到的最好的例子。这就是我所期望的光剑的 "外观":白色的"核心 "散发着彩色的光芒。


OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (16).jpg

我用光剑做效果图是有原因的...蓝色体积前的轮廓很美......"!


我同意,这些 OCIO 配置虽然有些老旧,但一些小型工作室仍在使用。我喜欢对 OCIO 进行考古研究,因为在研究过程中我们学到了很多东西。


边缘情况?


也许有人会说,我的例子只是边缘情况:" 克里斯,你真笨,只要用 0.001 代替 0 就可以了!"事实的确如此。限制输入颜色的范围,以获得某种"path-to-white",是一种常见且众所周知的做法。 但是,这难道不能说明一些问题吗 ?


OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (17).jpg

在扫频的数值中使用 0.001 而不是0,确实存在一条通往白色的路径。但我们仍然要经过 "臭名昭著的 6 个"...

OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (18).jpg


OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (19).jpg


OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (20).jpg


OCIO、显示转换与误区 - Chris Brejon --- OCIO, Display Transforms and Misconcep (21).jpg


要说明的是,我在这些例子中甚至没有使用任何广色域渲染。而是使用最低公分母:sRGB/BT.709 基色,通过若干显示变换。由于激光是 BT.2020 主色调,我认为使用 sRGB/BT.709 主色调并非边缘情况。


完全没有!


我认为,任何人都不应该为了避免错误而去克服刺激编码。

— 色彩书呆子


当然,我们需要将事情放回背景中。早在 2011 年,索尼的这两项配置就发挥了巨大作用,为《Cloudy with a chance of meatballs》等影片提供了出色的色彩管理。我再次强调,我只是试图挖掘历史,以了解 我自己的误解来自何处 。仅此而已。



VFX 配置是基于胶片扫描的Cineon......而 Anim 则是在显示渲染转换(DRT) 中使用每个通道的 1D LUT。
spi-vfx 已经过了保质期......spi-anim 仍能为简单的动画制作提供有用信息,但天真无邪的 RGB 色调曲线会让它们在多重交付场景中过得很不愉快。

—肖恩-库珀的总结非常精彩。


最近,这部名为《 我的小马 》的电影就是使用 spi-anim OCIO 配置完成的:



Filmic Blender
Filmic Blender 描述
这并不是最简单的 OCIO 配置,但实际上超级简单。而且是一个相当不错的选择!我强烈建议您阅读 GitHub上的 README ,因为其中确切描述了"Filmic" 的作用。
它将场景参考的线性辐射能量值压缩到显示/输出参考范围内。这被称为 传递函数或色调映射 。具有对比度美感的胶片基对数的形状大致模仿了摄影胶片的曲线。
它压缩了高强度值的色域 。随着色彩比强度的增加,高饱和度的色彩比往往会抵制传递函数压缩,从而导致图像产生奇特的感觉,一些区域感觉曝光过度,而另一些区域则 "徘徊 "在后面。
Filmic 认为所有色值都是公平的,并试图将色彩混合成一致的输出,以符合我们从类似胶片乳剂的介质中学到的期望。
—特洛伊-索博特卡的描述非常精彩。
胶片混合器显示屏和视图
不用说,"Filmic" OCIO 配置可以在任何支持 OCIO 的 DCC 软件中使用 。让我们快速了解一下配置中可用的显示和视图:
displays:
sRGB:
- !<View> {name: sRGB OETF, colorspace: sRGB OETF}
- !<View> {name: Non-Colour Data, colorspace: Non-Colour Data}
- !<View> {name: Linear Raw, colorspace: Linear}
- !<View> {name: Filmic Log Encoding Base, colorspace: Filmic Log Encoding}
BT.1886:
- !<View> {name: BT.1886 EOTF, colorspace: BT.1886 EOTF}
- !<View> {name: Non-Colour Data, colorspace: Non-Colour Data}
- !<View> {name: Linear Raw, colorspace: Linear}
- !<View> {name: Filmic Log Encoding Base, colorspace: BT.1886 Filmic Log Encoding}
Apple Display P3:
- !<View> {name: sRGB OETF, colorspace: AppleP3 sRGB OETF}
- !<View> {name: Non-Colour Data, colorspace: Non-Colour Data}
- !<View> {name: Linear Raw, colorspace: Linear}
- !<View> {name: Filmic Log Encoding Base, colorspace: AppleP3 Filmic Log Encoding}
# VRay users should uncomment the Filmic views below as VRay doesn't permit Looks
# - !<View> {name: Filmic Very High Contrast, colorspace: Filmic Log Encoding, look: +Very High Contrast}
# - !<View> {name: Filmic High Contrast, colorspace: Filmic Log Encoding, look: +High Contrast}
# - !<View> {name: Filmic Medium High Contrast, colorspace: Filmic Log Encoding, look: +Medium High Contrast}
# - !<View> {name: Filmic Very Low Contrast, colorspace: Filmic Log Encoding, look: +Very Low Contrast}
# - !<View> {name: Filmic Medium Low Contrast, colorspace: Filmic Log Encoding, look: +Medium Low Contrast}
# - !<View> {name: Filmic Low Contrast, colorspace: Filmic Log Encoding, look: +Low Contrast}
# - !<View> {name: Filmic Base Contrast, colorspace: Filmic Log Encoding, look: +Base Contrast}
# - !<View> {name: Filmic False Colour, colorspace: Filmic Log Encoding, look: +False Colour}
# - !<View> {name: Debug, colorspace: Debug}
就像 spi-anim/vfx OCIO 配置一样,根据OCIO术语,"显示"和 "视图 "的设置是正确的。但还有一个可用的元素:Looks 。如果您不习惯使用它们,可能会感到不安。让我们再次查看文档 :
该基本视图(Filmic Log Encoding Base)旨在 与其中一个对比外观结合使用。
但这里有一个小问题。只有几款 DCC 软件允许交互式"Look Overrides":BlenderRenderman 24。因此,大多数用户修改 OCIO 配置,将"Look" 与"View" 结合起来,作为一种变通办法。
首席信息官查看经验和角色
这篇文章发表后,下面的启示引起了一些波澜。因此,我对其进行了更新,使其尽可能准确。
如今,OCIO 本身确实在我所知的所有DCC 中都有相同的表现,而且至少从 2017 年开始就是如此--也就是说,在不同的 DCC 中,查看是一种一致的体验。
对于大多数人来说,这是 OCIO 最重要的一点--一旦为节目或设施设置了 OCIO 配置,就可以依靠 OCIO 的 DCC 实现在整个管道中提供一致的观看体验,而无需任何额外的技术干预。
—扎克-刘易斯的正确解释。
Revelation #4 : OCIO 在所有软件中的 NOT 实现方式完全相同。是的,这是一个大问题!虽然 OCIOv2 正在努力将其规范化。但是,以"color_picking"角色为例,它在 Maya 和其他任何 DCC 软件中的表现并不相同!


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