网速那么快、屏幕那么好,为什么爱奇艺、优酷、腾讯的「高清」还是那么糊
经常有朋友问我为什么国外的流媒体视频平台的画质看起来要好很多,比如 Netflix、YouTube 这些。这确实是个关系到很多层面复杂的问题远不是「爱优腾垃圾」,「国外的月亮就是圆」能敷衍回答的,这也是我写这篇文章的目的:希望让更多的人了解我们每天都在看的视频的画质是由何决定的。
▍分辨率是表象
现在视频的显示规格我们通常用「数字 + p 」来表示,比如通常 1080p 的画面分辨率为1920×1080,p 则指的是「progressive scan」逐行扫描;与之对应的是 1080i 字母 i 则指代「interlaced scan」隔行扫描,隔行扫描主要存在于广播电视为了节省带宽而提升画面分辨率,因为效果太差在各大视频网站已经基本不存在了,如果对这个感兴趣可以参看影视飓风这期视频[1]。
爱优腾播放规格
「爱优腾」对视频清晰度的描述从「标清」「高清」「超清」把「清」都用光后还加上了「蓝光」。用蓝光来描述视频规格是不准确规范的做法,因为蓝光光碟可以是 720p、1080p、或是 4k 2160p,对蓝光更感兴趣的可以参看这篇[2]。
YouTube 和 bilibili 播放规格
相比之下 bilibili 则克制规矩了很多,基本和 YouTube 看齐。
SD、FHD、4K UHD、8K UHD 示意
我们通常会把
480p 称作 SD(Standard Definition)标清 720p 称作 HD(High Definition) 高清 1080p 称作 HD 或者 FHD (Full High Definition)高清或者全高清 2160p 我们称作 4k UHD(Ultra High Definition)超高清 4320p 我们则称作 8k UHD 超高清。
随着时代的发展高清视频定义其实也在改变,比如去年 YouTube 就取消了 720P HD 为高清视频的标志。
YouTube 540p 截图
YouTube 1080p 截图
这是来自 YouTube 的视频截图,540p 到 1080p 的视频画面确实清晰锐利了不少,因为有效的像素大大增多,对于其它平台也是一样选择更高的视频规格你自然会得到更清晰的视频。
答案确实就这么简单,每个平台你选择播放的视频规格越高,画质自然也越好,但这里只是第一层。
▍码率决定质量
什么是码率
视频的码率和网速的表示方法差不多,我们一般用 Mbps 或是 kbps 表示这一秒钟视频的数据量(1 Mbps = 1000 kbps),我们不直接以整个视频的大小来衡量主要是视频有时间这个单位。
对于一个视频从码率角度也区分为「可变码率」(Variable Bit-Rate,简称 VBR)和「固定码率」(Constant bitrate,简称 CBR)两种。可变码率可以根据视频内容复杂度自适应的调整,能节省存储空间传输也能节省很多流量,也是目前网络视频的绝对主流;固定码率则是一个视频一直维持一个相对固定的码率,在直播和广播电视中比较普遍。
码率越高画质越高
Sony 相机录制设置
码率越高视频的画质当然越高,比如我们普通相机录制 4k 视频的时候,为了追求画面的质量码率就高达 100Mbps。但是如果以这个码率在网络上发布视频,一部电影就会高达几百G,绝大部分用户都不能正常观看;再者网络视频公司流量、带宽都是成本的大头,码率提升会直接增加成本。所以我们必须得通过压缩码率、降低分辨率来降低成本让用户也能流畅播放,如何平衡好画质、码率、分辨率三者的关系就变得尤为重要。
如何描述画质的好坏
WikiPedia PSNR 注解
对于画质一般使用 PSNR(Peak signal-to-noise ratio)「峰值信噪比」 来表述,压缩后越接近 50dB 则越接近原视频画质越好,保持 35dB 以上压缩失真就不会很明显。PSNR 是个很好的参考标准但不能完全体现视频真实的观看质量,Netflix 和南加州大学联合开发的 VMAF(Video Multimethod Assessment Fusion)视频质量指标表现要更好一点,也是 Netflix 目前主要使用的参考标准。
视频内容不同所需码率不同
横坐标代表码率,纵坐标代表视频质量,不同颜色线代表不同类型视频
不同类型的视频达到基本相同的画质所需要的码率差距很大。比如动画片有很多大的色块,运动也相对简单,所以对码率的需求其实很低,如 Netflix 上动画类型的内容在 4k 规格下播放,码率也常常会在 1-2 Mbps 之间;对于动作电影这些有大量运动镜头或者是画面有很多胶片颗粒、水汽、灰尘的内容 4k 规格下常常就得需要 16Mbps 甚至更高才能保证画质。
另外从上图也可以看出,随着码率的提升画质的提升是逐渐递减的,一味的追求高码率意义并不大。
Netflix 是如何优化码率的
红色线:优化后 | 黄色线:优化前
Netflix 目前会根据具体每一部片子的内容在维持高画质的情况下来压缩到合适的码率,这样可以保证用户无论看什么内容都能达到很高的质量。
Netflix 甚至已经针对每一个自然镜头进行优化,因为即使在同一部电影或者剧集里,每个镜头的画面的复杂程度,运动属性都差异很大,针对每个镜头进行压缩优化就能在相同或者更低一点的码率下提供更好的画质。
Netflix 视频截图
截图放大:优化后低码率和优化前高码率对比
从实测也可以看出,针对具体的内容和针对镜头进行优化,能保持更低的码率的同时提供更好的画质。
码率决定分辨率
横坐标代表码率,纵坐标代表视频质量,不同颜色线代表各分辨率
分辨率其实是码率决定的结果,比如图上的 C 点和 D 点表示了相同码率下 720p 和 480p 的画面质量,很明显该码率下 480p 的画质会更好,而 720p 在该码率下压缩失真就非常厉害,所以该码率下应该选择的则是 480p。
码率、分辨率、画质对应关系
按照这个思路理论上我们的分辨率应该是针对不同码率不断的改变,但是现实不允许我们把同一个视频压缩为成千上万种的分辨,这对视频压制、存储、到适配都不现实。最终我们是 「帕累托最优」 的选择,像是 480p、720p、1080p、4k 这些,一个阶梯图形码率和分辨率对应的结果。
Netflix 针对一些边界情况还会增加额外的选项,比如你的设备最高支持 1080p 不支持 4k,但你的网速足够快,Netflix 则在 1080p 档位还会给你更高的码率。
这里其实也回答了为什么 Netflix、YouTube 会自动选择播放规格,甚至在 Netflix 等流媒体上为了保证流畅的观看你甚至不能选择。网络是不稳定的因素,用户基本不可能判断自己在什么规格下能流畅播放高画质的内容。
▍编码是效率
横坐标代表码率,纵坐标代表视频质量,不同颜色线代表不同编码
之前我写的视频与编码[3],也基本介绍了目前比较主流的视频编码,这部分大家可以参考看一下。
如果保证同样的画质采用更先进的编码,就能很大程度降低传输视频的码率,特别是在高码率、高分辨率的情况下。所以很多视频平台都在 4k、1080p 这些更高的视频规格都采用了 H265、AV1、VP9 这些高效率编码,代价则是兼容性变差、压缩和播放过程都是数倍的硬件性能要求。
▍还有更多的因素
比如 HDR 相比传统的 SDR 带来了数倍的亮度、色彩信息,让我们亮度更高,色彩更丰富的显示屏得到更好的利用。 认证和规范化是准确显示的保障 :各家流媒体为了保护自己的内容也都采用了「数字版权管理」DRM(Digital rights management)让设备必须遵循才能正常播放;想播放 HDR、4k 这更些高规格的内容设备往往得拿到国际对应的认证,这样能保证内容方的权益,也可以让用户享受到高标准的体验。 版权也是决定性因素:很多影视剧集内容虽然多个平台都有,但往往只有持有版权的平台才有最高规格的视频。比如 Disney+ 上漫威的电影基本都是 4K HDR,而国内的平台基本都是普通的 1080p。
▍总结
这是华为 2017 年的研究报告——视频趋势大数据分析 ,虽然有点老,但也是目前我找到最精确的各平台码率和分辨率的一些数据,国内平台的画质不怎么好的体现也在这里。
从 2G 到 3G 让我们在移动设备上在线播放视频成为了可能,3G - 4G 时代又让我们能更流畅播放更高画质的视频。最近二十年正是网络的基础建设让我们有更好更快的移动网络覆盖,更多的人家光纤入户装上了百兆甚至千兆的宽带,正是网速的提升让我们享受高画质的视频成为了可能。
经常有人批评「爱优腾」画质差的原因当然是我们的网速已经够快了,我们的屏幕也已经够好了,但是我们却不能得到与之匹配的高码率高画质的内容。客观一点说提高码率就会大大增加他们的成本,我们网络服务的流量、宽带的价格其实要比海外高很多,如何解决这个矛盾可能是现在最大问题。
[1] 影视飓风这期视频:
https://www.bilibili.com/video/av98054105
[2] 参看这篇:
https://sspai.com/post/58750
[3] 视频与编码:
https://sspai.com/post/59174