10月底发布的 Shield TV Pro (2019) 相对于老版来说,在硬件上进行了一大波更新。它用上了新的 Tegra X1+ 芯片,这块更先进的芯片也带来了很多新的功能,比如 AI Upscaling. 类似的这个功能你能在很多高端电视上看到,主要的能力就是把低画质的内容变得更清晰(大概就是类似于那些大家早有耳闻的 1080p 转 4k 的算法和工具)。除此之外,更重要的是带来了 Dolby Vision 和 Atmos 的支持。由于这次的发售日期前几个月就公布了,所以我也算是期待了很久,一发售就入手(结果一个月不到黑五直接便宜了 500 块……)。下面会从几个方面讲一下我这段时间以来的使用心得,期间有和家里各种其他器件例如 NAS、路由器、电视的大量问题探索(非常揪心了)。
首先想感叹一句,本来以为现代电子设备的使用会越来越傻瓜化,但至少在家庭影音设备上我得到的一个感受是,要让这些设备完全发挥他们的能力,不是一个小白用户能够开箱就享受到的。基本上需要他们学习很多东西,这个对于年纪大一点的人来说就非常不友好了。比如,前些日子回到家,发现爸妈家里的 Sony 4k 电视观看广播电视时很模糊,明显达不到 4k,即便高清频道也是。后来网上搜了电信机顶盒的管理员账号密码,登进去一看,默认输出的是 720p……
首先,从播放视频相关讲起吧。
Dolby Vision 和 Atmos
Shield 启动的时候会问你要不要开启 Dolby Vision,选择开启之后就会进入 422 12bit 59.94hz (这里很有意思,下文会将会讨论一下) HDR 10 + Dolby Vision 的输出模式。然后进入 Netflix 在支持的片源上就能看到 Dolby Vision 或者 Atmos 的标志了,播放的时候我的 Sony 电视也能够将图像模式正确切换到杜比明亮视界。另外你的音响支持杜比音效的话,使用 Kodi 时记得在设置里面开启 Audio pass-through.
AI Upscaling
AI Upscaling 有三种模式:Basic,AI,和 AI Enhanced. 名字听起来只有后面两个用到了机器学习的能力,AI Enhanced 下面有从低到高 3 个强度可以选择。下面这张图展示了 Basic 和 AI Enhanced (Medium) 在同一帧视频上的显示区别,可以注意人物额头的纹理、眉毛等细节(当然,其实这个场景的选取比较取巧)。经过我的使用发现,AI Enhanced 模式对亮的东西情有独钟:反光的发丝、人物眼里的光点、地面上反光的水坑。之前有一个场景拍了黑夜中湿漉的地面,被 AI 增强得有种满天繁星的感觉……
整体来讲,AI Upscaling 的效果还是不错的,在 1080p 的动画番剧上的体验感受也比较明显。在开启 AI Upscaling 之后,建议把电视自带的同类功能关闭(比如 Sony 电视里的 “精密显示”),至于他们两个哪个效果更好,我直接放弃做这样的比较……
Match Content Color Space 和 Match Frame Rate
Shield TV 升级到 Android 9 后,有了一些新的功能。比如 Match Content Color Space, 这个功能的原意是根据播放的内容在 Rec.2020 和 Rec.709 上进行切换。按照我的理解(不一定专业),这个功能要解决的问题是在 Rec.2020 的输出上播放 Rec.709 内容时,由于电视本身不能完全覆盖 Rec.2020 的色域范围所以基本上都会做 mapping,而一些糟糕的电视处理得不好同样对 Rec.709 的内容也做了mapping 的话结果就有问题了。但实际使用下来,在我的 Sony A9G 上开启这个功能有种灾难性的体验……实际的效果是,当播放非 HDR 内容的时候,感觉所有的 Rec.709 被错误映射到了 Rec.2020 上,例如所有的红色变得非常的过饱和……深夜食堂东京故事里的人脸都快成了褐色……估计是和电视本身的自动调节色彩空间有了冲突。但鉴于这个功能在这几个月内被持续的 "hotfix",所以最终是什么样的就不得而知了,至少暂时在我的电视上,我并不会选择开启它。如果你遇到在你的电视上播放 HDR 内容的时候发现颜色偏灰白,可以尝试开启这个功能。
另一个功能 Match Frame Rate (Beta) 就是一个非常有用的功能了,你可能在 Apple TV 上听过这个功能。不过在 Shield 上需要你每次手动启动。你可以把这个功能绑定到遥控器的菜单按键上一键开启,在每一次播放视频的时候都得按一下来进行一下匹配. 这个功能主要的作用顾名思义,就是让 Shield 的输出刷新率和内容匹配,会带来什么效果以及为什么要用这个效果在接下来会详细介绍。
刷新率和运动设置
默认情况下,Shield 的刷新率被设置在了 59.94Hz 而不是 60Hz. 这里有一个非常复杂的故事,简单地解释一下:电视主要有2个制式,一个是 NTSC 另一个是 PAL,在帧率上这两个制式可以简单理解为 NTSC 是每秒 29.97 帧 (30/1.001),PAL 是每秒 25 帧。由于大部分欧美国家都采用了 NTSC 制式,所以 Shield 默认把刷新率设置在了 59.94Hz 以能和这部分的影视资源更匹配。如果不匹配,你可能会感受到掉帧。
显而易见带来的问题是,原来显示时间一样的两个帧,现在显示出来的时间不一样了。一个不恰当的比喻,就好比一个本来走一步停一步匀速移动的人,现在变成了有时走一步停两步,有时走两步停一步。这在视觉上带来的感受就是不够流畅,被称作 "judder"。rtings 曾经出过一个详细解释的视频解释 "judder",有条件的同学可以了解一下:https://www.youtube.com/watch?reload=9&v=CuEZIJDEQyo 。里面介绍了 3:2 pull down 带来的 judder 和掉帧带来的 judder. 常见的高端电视都会提供消除 3:2 pull down 带来的 judder 的能力,比如,如果你的电视盒子设置为了 60Hz,而片源是 24Hz 的,就会采用 3:2 pulldown 把片源拉到 60Hz 输出给电视,而这个时候好的电视就能够正确识别到输入来的信号做过 3:2 pulldown 转换,于是做一个逆操作,把视频还原成 24Hz,再进行优化处理。关于优化处理也有很多操作,比如在 Sony 电视上有 BFI(插入黑帧,以减少运动模糊) 或者运动插针来实现让视频看起来更流畅。
我按照 rtings 之前给出的设置 A9G 消除 judder 的方式进行了设置(https://www.rtings.com/tv/reviews/sony/a9g-oled/settings#make-hdr-brighter),结果在 Shield 上很快就发现了问题。当我观看 His Dark Material (英剧,英国是 PAL 制式,视频是 25fps 的) 的时候,发现画面有掉帧的情况出现(掉帧可比 3:2 pull down 的 judder 明显太多,基本上绝大部分人都能体感到),当关掉优化 3:2 pull down 功能或者将 Shield 的输出分辨率设置成 60Hz 的时候,掉帧消失。于是我接下来在 Kodi 和 Netflix 等软件上做了一系列的测试发现:
在 59.94Hz 的输出上播放 25fps 的视频源,会出现掉帧。
在 59.94Hz 的输出上播放 24fps 的视频源,会出现掉帧。
在 60Hz 的输出上播放 23.976fps 的视频源,会出现掉帧。
简单讲,视频源的帧率不是整数时,你的输出刷新率也应该不是整数才能避免掉帧发生。另一种情况同理。
人工每次改帧率是非常麻烦的,特别是 Kodi 这样的软件还没办法让你查看视频编码相关信息。Shield 有一个 beta 中的功能:match frame rate, 能够自动根据播放的视频内容调整输出帧率。但是这个功能也很有局限性,目前发现,这个功能在以下几个环境中无效(或者不能正常工作):
1. Kodi
2. Netflix 的 Dolby Vision 影片
对于 Kodi 来说,可以直接在应用内开启自动调整视频帧率,让 Kodi 自己调系统 API 改帧率,估计也是这个原因导致了和 match frame rate 功能的冲突(但不管你开不开这个功能,match frame rate 都是无法生效的)。而在对于情况 2 来讲我没发现一个好的解决办法,目前只能发现掉帧后手动切换刷新率,或者,懒一点的方法,直接关闭电视的 pull down 优化。
至此得出的一个结论是:
如果要用到 Sony 电视的运动相关的功能让画面更流畅(motionflow / cinemotion / film mode),需要控制使 Shield 的输出分辨率和视频源匹配:帧率非整数的视频源要用相应的非整数刷新率,整数帧视频源用相应的整数帧刷新率。为了达到这个目的,可以使用 match frame rate 功能来自动切换。