Friday, September 25, 2015

简明屏幕校色及色彩管理

这个教程是给对屏幕校色完全不懂的“普通人”写的,内容力求傻瓜化,不讨论技术细节,简单直接达到目的,免得折腾和纠结。

校色仪买哪款

1. 首选 x-rite i1 Display Pro,精确性与速度俱佳(x-rite 的官方网店也提供出租服务);

2. 嫌上面那个贵的话,可以考虑 x-rite ColorMunki Display,速度比上面那个略慢;

3. 想尽可能便宜的话,可以买 Datacolor Spyder5EXPRESS,速度更慢,精确性也略差,但非专业用途也完全可胜任。

校色软件选哪个

请无视校色仪厂家自带的软件,直接上 DisplayCAL:https://displaycal.net/

校色步骤

0. 先是一点准备工作,恢复你的显示器设置为出厂默认,并且保证在下面步骤 6 开始前亮屏时间超过 30 分钟;

1. 点上面 DisplayCAL 官网链接,打开后点击“Get DisplayCAL”,然后在“Get DisplayCAL standalone”标题下,根据你的操作系统选择“For Mac OS X”或者“For Windows”下载相应文件并安装(Mac 下直接运行加载镜像即可);

2. 运行 DisplayCAL,软件会提示你安装 Argyll CMS,按提示下载并安装即可;

3. 如果你用的是 Spyder 系列校色仪并且使用的是 Windows,点击 Tools 菜单下的“Install Argyll CMS instrument drivers...”,并按照提示操作(过程需要重启)来禁用系统的驱动程序证书验证;

4. 把你的校色仪通过 USB 接口连接到你的电脑上,在 DisplayCAL 中选择你要校准的显示设备,然后点击右边的蓝色小按钮,随后按钮右侧会显示你连接的校色仪名称,并会弹出提示让你加载校色仪的修正文件,按照提示安装相应的修正文件,然后在显示的校色仪右边的“Mode”(如果你用的是 Spyder 系列)中,或是在下方的“Correction”(如果你用的是 x-rite 产品)中根据你使用屏幕的类型选择对应的项目,例如现在最常见的屏幕是白色 LED 背光的 LCD;

5. 在界面顶部的“Settings”中选择“Office & Web (D65, Gamma 2.2)”,然后点最下面的“Calibrate & profile”按钮;

6. 参考校色仪附带的说明书,把校色仪挂在屏幕上,测量部位大约对准新弹出的窗口中心,然后点击“Start measurement”,如果你校正的是台式显示器并且提供了分别调节红绿蓝三色的功能的话,按照实时返回的测量结果把三色调节平衡,否则只需要把屏幕亮度调节到你觉得合适的水平即可(一般以 100-150 cd/m2 为宜);

7. 调整完成后点击“Stop measurement”按钮,然后点击右边的“Continue on to calibration”按钮,接下来的过程会持续 30- 150 分钟不等,期间请保持周围环境光强度没有大的变化;

8. 校色过程完成后会弹出窗口提示结果,点击“Install profile”,取下校色仪,收工。

浏览器设置

1. Chrome 从 62 版本开始已经支持并默认启用完整的色彩管理,不需要额外设置,然而 Chrome 的色彩管理和 macOS 上有非常相似的 bug,即不能正确处理除 single curve+matrix 以外形式的 profile,所以如果你是在 Windows 下使用 Chrome 浏览器,请在上面校色步骤 5 中切换到“Profiling”一栏,把“Amount of patches”滑块移动到最左端;

2. Firefox 目前不支持视频的色彩管理,只能正确处理图片,并且需要一点设置。方法是打开 about:config,搜索“color_management”,将“gfx.color_management.enablev4 ”改为“true”,将“gfx.color_management.mode”改为“1”,然后重启即可;

3. Safari(macOS)支持并默认启用完整的色彩管理,不需要额外设置。

看图应用设置

看图软件太多啦,我没有一一测试过。这里只把 XnView MP 作为例子来说一下:打开 XnView MP 的 Settings - General - ICC,勾选 “Use ICC profile for monitor (slower)”,选择“System”,然后下方的“Default profile of picture”选择“sRGB”。

Photoshop 自带完整的色彩管理系统,一般情况下不需要进行额外设置。

顺便说,Windows 10 自带的“Photos”应用,可以识别图片中的 profile,但只会将其转换到 sRGB,而不会理会我们通过校色得到的 profile ;macOS 下的 Preview 应用支持色彩管理,但图片暗部细节和其他应用(Photoshop、Safari 以及正确配置后的 XnView MP)有轻微差异,原因不明,怀疑是 bug。

mpv/IINA

1. mpv 只需要在配置文件(mpv.conf)中增加一行“icc-profile-auto”即可;

2. IINA 需要打开 Preferences - Advanced,在“Additional MPV options”中添加一行,Name 为 “icc-profile”,value 为你的 icc profile 所在位置,不出意外的话应该是类似“~/Library/ColorSync/Profiles/xxx.icc”的形式。

madVR

1. 在 DisplayCAL 界面顶部的“Settings”中选择之前校色得到的 icc 文件名,然后在 Options 菜单中勾选“Enable 3D LUT tab”和“Show advanced options”;

2. 下面切换到 3D LUT 一栏,取消勾选“Apply calibration (vcgt)”,“3D LUT file format”选择“madVR (.3dlut)”,其他选项不需要更改;

3. 点击最下方的“Create 3D LUT...”按钮,开始生成 3dlut 文件,完成后点击“Install 3D LUT”按钮,完成;

4. 如果因为某些原因导致 3D LUT 没有正常自动安装,手动安装的方法是进入 madVR 设置,在 devices - 你的屏幕设备名 - calibration 中,选择“calibrate this display by using external 3DLUT files”,确保“disable GPU gamma ramps”未勾选,然后点击下方“BT.709”那一行右侧的黄色文件夹图标,指定为刚才得到的 3dlut 文件的位置。

Q&A

Q:我不想折腾,直接把别人在同型号显示器上的校色文件拿来用可以么?

A:可以试试,但不要指望准确,得到更差的结果也完全不奇怪。

Q:为什么不使用光度计?

A:x-rite i1 Display Pro 足以满足普通人的需要,包括目前各种常见的广色域屏幕。

Q:为什么不推荐其他更高级的蜘蛛(Spyder)型号?

A:所有同代 Spyder 的型号 sensor 都是一样的,更高级的型号只是在配套软件上有区别;我们这里已经直接放弃了配套软件,使用功能全面且免费的 DisplayCAL 了,所以更高级的 Spyder 没有意义。

Q:我不喜欢 DisplayCAL 的 profile loader 随 Windows 开机启动并一直运行,能不用它么?

A:可以,但是不推荐。如果不是因为 Windows 自带的色彩管理程序垃圾到了匪夷所思的地步,估计 DisplayCAL 的作者也不至于非要蛋疼单独写个 profile loader 出来。Windows 自带色彩管理程序的问题主要在于当屏幕数量大于一个时,只有在扩展桌面模式下能把不同的 profile 正确应用在对应的屏幕上,其他模式下的颜色都是错误的,而且在模式间切换时几乎总是会导致颜色错误;此外在加载校正曲线时的算法也有错误。如果你只有单个屏幕且不在乎精度损失,可以在安装 DisplayCAL 时选择“Let the operating system handle calibration loading”,如已经安装则打开 Windows Color Management - Advanced,点击最下方的“Change system defaults”,新窗口中的 Advanced - Display Calibration 下勾选“Use Windows display calibration”,并在 Windows Task Scheduler 中禁用 DisplayCAL Loader Launcher。

Q:为何在创建 3D LUT 时要取消勾选默认的“Apply calibration (vcgt)”?

A: 原因详见下面 20170915 更新说明。DisplayCAL 默认选择将此选项勾上的原因是为了利用 madVR 更高精度的内部运算和抖动处理,避免显卡 gamma table 校正造成的精度损失。如果你不在意我说的几点使用体验上的不足,一定要追求尽可能高的画质,请按照 DisplayCAL 默认那样勾选“Apply calibration (vcgt)”,甚至不嫌麻烦的话,从上面校色步骤的第 5 步开始,选择“Video 3D LUT for madVR (D65, Rec. 709 / Rec. 1886)”重新挂上校色仪测量一遍,获得一个精度更高的 profile。

===========================================================================

20180516 更新:为了避免 macOS 上的 bug,DisplayCAL 3.5 开始在 macOS 上默认设置即为 single curve+matrix,所以这里去掉了这个步骤。

20171114 更新:更新了关于 Chrome 的色彩管理部分,本想说可喜可贺 Chrome 终于支持色彩管理了,结果发现和 macOS 一样的 bug,这到底是 bug 还是 feature……此外添加了 Photoshop 和 Windows、macOS 自带默认图片查看应用的情况。

20171024 更新:修改了部分在 macOS 上的校色步骤。macOS 系统的色彩管理(ColorSync)在处理非 single curve + matrix profile 时存在严重的 bug,会导致很多地方(尤其是 macOS 自带的 Preview)暗部颜色被挤压(crushed)。这个 bug 应该是自从 10.11(El Capitan)开始出现,目前在 10.13(High Sierra)上仍然存在。如果你已经按照以前的方法创建了 icc profile 不想重新跑一遍,可以按照新增的校色步骤 5.2 中进行调整之后,在 File 菜单中选择“Create profile from measurement data...”,然后选择你目前的 icc 文件,保存为一个不同的文件名,然后安装新的 icc profile 即可。此外,增加了一条关于 3D LUT 的 Q&A。

20171022 更新:修改了浏览器和看图软件部分中和 macOS 相关的内容。macOS 系统的色彩管理颇有点微妙,我会另外撰文细说。

20170915 更新:重写了关于 madVR 的 3D LUT 设置方法,改为直接由前面得到的 icc profile 生成,且 3D LUT 中不包含 vcgt 信息;增加了一条 Q&A 。前思后想之后,我还是觉得默认的用 madVR 的 pattern generator 重跑一遍的方式太冗长了,所以改成了直接由 icc 文件生成。至于为什么要打开高级选项,取消掉 DisplayCAL 默认勾选的包含 vcgt,原因如下:1. 3D LUT 中包含 vcgt 的话,madVR 启动时就必须将已加载的曲线重置,这会导致在 madVR 启动打开视频的瞬间屏幕颜色突变(特别是如果屏幕本身在加载校正曲线前后差别较大时),同样,在播放视频结束后两秒左右,DisplayCAL profile loader 会再次加载校正曲线,屏幕颜色再次突变,使用体验不好;2. 并不是所有人、所有时候都使用全屏幕观看视频,因此当 3D LUT 中包含 vcgt 时,校正状态被重置,此时视频的颜色是正确的,但其他部分的颜色就都是错误的了。3D LUT 中不包含 vcgt 信息的话,校正曲线始终保持(也必须保持)加载状态,开始和结束播放视频时不会有颜色突变,而且能保证视频和其他桌面部分的颜色都是正确的。

20170914 更新:增加了关于浏览器、看图应用和 mpv/IINA 的设置,增加了 Q&A 部分。

20161022 更新:修订了关于加载校色仪修正文件的部分(我之前的理解有误);增加了为 madVR 制作 3D LUT 的步骤。

20160821 更新:更新了 displaycalGUI 的名称(改名为 DisplayCAL)和官网地址,以及安装过程按照最新版做了一点点简化。