视频播放器的色彩管理:MPC-HC & madVR & 3D LUT

  • 色彩管理
  • 视频的色彩管理流程和照片不一样,情况更加复杂,所幸作为普通用户接触到的只是观看并不涉及制作,让我可以省去大半笔墨。本文主角MPC-HC和madVR都是Windows限定,所以Linux和OS X用户可参考的部分只有生成3D LUT的设置。
    两种方法都能实现视频的色彩管理,选一种即可…

    目录
    [hide]

    视频的色彩管理流程和照片不一样,情况更加复杂,所幸作为普通用户接触到的只是观看并不涉及制作,让我可以省去大半笔墨。本文主角MPC-HC和madVR都是Windows限定,所以Linux和OS X用户可参考的部分只有生成3D LUT的设置。

    两种方法都能实现视频的色彩管理,选一种即可。

     

    1.Simple is the best: MPC-HC


    不用任何插件就能实现色彩管理的视频播放器,同时对性能要求很低。

    MPC-HC是一款开源媒体播放器,轻量、全能、易用、高效,用过之后甚至会失去尝试其它播放器的欲望……咳,就不多安利了,今天主要说的是色彩管理,MPC-HC从2010年的v1.4.2499.0版就开始完整支持ICC profile的色彩管理了,设置方法也十分简单。

     

    1.1.开启色彩管理

    output-evrcp render-settings-color-management

    打开MPC-HC,选项→输出→选EVR(CP),确定,右键菜单→渲染器设置→色彩管理→开启,就可以读取显示器的profile并正确显示颜色了。

    不过EVR的色彩管理还是有缺点的,一是开启后暗部对比较强,黑位有一点crush;二是不识别Rec. 601(EBU/SMPTE C)和Rec. 709以外的色彩空间,比如以后会越来越多的Rec. 2020(UHD色彩空间)和DCI-P3。

    如果想要更准确的暗部表现或者为4K内容提前准备,madVR就是你所需要的。

     

    2.Can’t get enough of quality: madVR


    一款以高质量闻名的视频渲染器,不计性能追求最高画质。madVR提供了各种自定义功能以及图像算法,色彩管理也是直接支持3D LUT(不支持显示器的profile),下面介绍的就是利用DisplayCAL生成madVR可用的3D LUT,让视频的色彩也够准确。

    需要madVR、一款支持madVR的播放器(比如MPC-HC)、DisplayCAL(包括ArgyllCMS)。

     

    2.1.安装madVR

    官网左上角找最新版的zip下载,解压到想要安装的位置,双击install.bat安装。

     

    2.2.用DisplayCAL生成3D LUT

    打开DisplayCAL(我假设你的显示器已经做过profile并且已经有DisplayCAL了)

    choose-profile

    下拉菜单选要使用的profile(或点document-open读取其它profile)。

    工具栏Options,Show advanced options和Enable 3D LUT tab打勾,再切到3D LUT标签页

    3d-lut

    Create 3D LUT after profiling: 校色完自动生成3D LUT,打算顺便校个色的话可以勾。
    Source colorspace: 任选。这些都是视频的色彩空间,个人建议选大于等于显示器色域的,比如显示器接近sRGB的选BT.709,接近Adobe RGB/DCI-P3的选DCI-P3,大于Adobe RGB/DCI-P3的选BT.2020。直接选ACES我也没意见😃,应该没什么影响。
    Tone curve: 我的设定和校色的一致,实际并不需要一致,这里的设定仅用于3D LUT,不会影响校色结果。Gamma的设定还是根据观看环境来(可参考之前的校色设定),之后madVR里调节很方便,不必纠结。两个SMPTE 2048的预设是给HDR内容准备的,然而我没有支持HDR显示设备,就不深入了。
    Apply calibration (vcgt): 不勾。打勾的话播放视频时会重置显卡gamma table使校准失效,影响其它程序的颜色。
    Gamut mapping mode: 不知道为什么是单选,反正Inverse device to PCS精度更高。
    Rendering intent: 指定不同色彩空间之间的转换方式,除了常见的Perceptual, Saturation, Relative colorimetric, Absolute colorimetric外还有好几个选项,有兴趣的可以去官网或谷歌了解,一一介绍要疯。
    3D LUT file format: 选madVR的专用格式。
    Input encoding: TV RGB 16-235 (clip WTW)的选项我懒得试了,不确定有神马效果。

    设定完成,Create 3D LUT…

    install-3d-lut

    完成后点Install 3D LUT。

     

    2.3.设置播放器和解码器

    ※用MPC-HC和内部LAV滤镜演示,其它播放器可能有所不同

    output-madvr

    打开MPC-HC,选项→输出→选madVR

    lav-video-settings

    然后设置LAV的视频解码器,还是在选项→内部滤镜→视频解码器,Output Formats下面的色彩编码都打勾,直接给madVR渲染。其余设置供参考,不多解释了。

     

    2.4.设置madVR

    播放任意视频(或者进安装目录打开madHcCtrl.exe),右下角会出现madvr图标,双击打开madVR设置

    devices-pa238

    指定显示设备的类型。

    devices-properties

    根据显示器面板来设置色深(不包括抖动)。8bit以上的输出需要Direct3D 11的全屏独占模式,默认是Direct3D 9,要在rendering→general settings里启用use Direct3D 11 for presentation。

    devices-calibration

    madVR支持三种色彩管理方式:
    this display is already calibrated: 如果你的显示器已经是目标色域(比如Rec. 709或DCI-P3)就可以选这个。也就是说,支持硬件校色的显示器要先通过内置的3D LUT或外接LUT box校准、不支持硬件校色的显示器通过LUT box校准至目标色域后,不需要系统的色彩管理就能正确转换颜色。
    calibrate this display by using yCMS: yCMS也是一套色彩管理系统,不懂。
    calibrate this display by using external 3DLUT files: 这是我们需要的,通过3D LUT在渲染阶段转换颜色,对硬件没有特殊要求,笔记本屏幕也可以,唯一的开销是播放视频会额外占用一点GPU效能和100+MB显存。有正确安装3D LUT的话能自动识别路径。

    disable GPU gamma ramps: 重置显卡gamma table,会影响整个显示器的校准,不勾。

    devices-color-gamma

    这里的gamma设置是一个额外的gamma补偿,用于平衡环境光或者根据个人喜好调整。enable gamma processing启用后默认值pure power curve 2.20和禁用的效果是一样,改变数值可以调节明暗分布,另外BT.709/601 curve的低对比感觉也不错。

     

    和色彩管理有关的设置大致是这些,madVR能做的还有很多。比如各种放大采样算法,玩下来Jinc给我的感觉最好,不过遇到一些片源质量比较差的还是会换回双线性;比如各种画质增强、降噪算法,有些效果还不错;还有刚说到的gamma控制非常有用;传说中对性能的影响也可以控制。总之效果很好,可玩性高,仅对3D LUT的支持就值得大力推荐了。

     

    3.截图对比


    3.1.黑位

    EVR(CP) CM offEVR(CP) CM on
    madVR no calibrationmadVR 3D LUT
    EVR(CP) CM onmadVR 3D LUT

    3.2.白点

    EVR(CP) CM offEVR(CP) CM on
    madVR no calibrationmadVR 3D LUT
    EVR(CP) CM onmadVR 3D LUT

    3.3.其它

    EVR(CP) CM offEVR(CP) CM on
    madVR no calibrationmadVR 3D LUT
    EVR(CP) CM onmadVR 3D LUT

     

    EVR(CP) CM offEVR(CP) CM on
    madVR no calibrationmadVR 3D LUT
    EVR(CP) CM onmadVR 3D LUT

    3.4.补充说明

    这些对比图本来应该带显示器profile的,结果发现体积大了不少而且Chrome不能识别gamma补偿(Firefox可以),只好指定sRGB了,虽然和我看到的视频播放效果(gamma是2.4)有所区别,不过用来横向比较是没问题的。由于PA238本身是非广色域屏,经过三年多的使用现在sRGB覆盖只有88%,启用色彩管理的效果不是非常明显(虽然我觉得也挺明显了),如果你用的是广色域屏幕效果应该很明显,大部分视频的颜色会变淡,回到应有的Rec. 709/601色域。

    因为网页背景过亮尤其是黑位的对比不容易看清,附上打包好的原图(OneDrive),可下载后用看图软件比较。


    muyunfengliu

    「九州生氣恃風雷 萬馬齊喑究可哀」

    You may also like...

    Leave a Reply

    Your email address will not be published. Required fields are marked *