大家都在发泄情绪,我就来聊点实际的,顺便说一下技术方面吧。
熟悉我的朋友知道,我之前在快手工作,当时我们组就是音视频部门的编解码和图像算法组,做的就是编码压缩视频的工作,这还真是我的专业领域。Tim 视频里也只是浅浅的说明了现象,毕竟太专业太深入的话观众也云里雾里了。
从技术的角度,一代一代编码器,从 AVC(h.264) 到 HEVC(h.265) 到 AV1,算法复杂度越来越高,压缩的效率也越来越高。说人话就是,可以用同样的码率、呈现出更好的质量;或者在达到同样质量的情况下,节约更多的码率。
技术的迭代是好事吗?我没法说,在我看来,技术是无关乎好坏的,而决定好坏的,是人。
如果能保持高质量,同时能用比以前更少的带宽来服务观众,这当然是好事呀!
可是,视频创作者有创作者的立场和视角、观众有观众的立场和视角、平台也有平台的立场和视角。在国内的互联网环境下,视频网站的带宽成本是绝对的大头,这是不争的事实。B 站、快手都上市了,大家可以去看看公司的财报。在如今连支付宝都开直播的大趋势下,哪个 app 不带点视频?而视频占用的带宽比区区文字和图片也是大好多数量级的。
就像古罗马的马屁股决定了现代火箭的直径一样,国内网络运营商在逐步建设网络基础设施的时候也有很多历史路径依赖。我不打算深入讨论为什么如今国内运营商带宽费用这么高,而国外(其实基本上只有美国,欧洲日本的运营商带宽费用也不低)却很便宜。只是希望大家了解一个前提,也是 Tim 在视频里提到的:视频网站的带宽成本是大头,占了公司整个成本支出的很大比例。
过去的十年是中国投资环境非常宽松的十年,尤其是 2016~2020 这段期间,互联网公司钱多得不知道放哪里去。大家都忙着跑马圈地,在用户规模几何级数增长的背景下,带宽成本被刻意忽略了,大家都喜欢听未来的故事。就好比说,有人不停鼓吹说未来可控核聚变就要实现了,现在浪费电不算什么,所以家里空调开 19 度晚上盖大棉被睡觉,图的就是一个爽快。
可是突然之间,核聚变实现不了了,眼瞅着每个月几千上万的电费,地主家的傻儿子也得琢磨琢磨了。
由于各种各样的原因,2021 年之后大环境走了下坡路,各大公司不约而同喊起了「降本增效」的口号。老板拿起报表一看,带宽成本赤裸裸摆在上面。你是老板你怎么想?每个月你的家庭支出 2w,可是空调用电就用了 1w,你会怎么想?
很简单,空调温度调高一点,不行就不盖被子了,吹吹风扇将就将就,不吹空调不会死人的。
- 可是,我真的很怕热啊,我就是要吹空调啊。- 别人都没死,你忍忍就得了。
还记得前半段我说的吗?创作者、观众、平台,三者有各自的屁股和视角,三者的利益并不是一致的。我自己也是摄影师,周围圈子里更是大佬云集,很多视频给大佬们看绝对是一眼看出来画质差异,可是普通观众们呢?他们会在意吗?而看得出画质差异的大佬们,占用户的比例是多少呢?
平台当然考虑过这个问题,我还在快手的时候,我们做了无数的 AB 实验,观察线上实际观众对画质变化的感知。这无数的实验全都表面了一点:观众对画质的感知是很弱的,画质的变化对 QoE 指标影响几乎等于没有,小到在实验数据上都看不出来,远不如 up 主个人魅力、或者视频本身内容差异 带来的影响大。
这叫什么?这叫观众用脚投票,观众用实际行动告诉你,【我们不关心画质】。就像今天晚上我在一个群里打趣说的
满朝公卿,夜哭到明,明哭到夜,能哭死董卓否?
说实话,我作为一个图像算法工程师,看到这个结论是有点心累的。我工作的意义到底在哪里?
再继续说说画质,顺便矫情一下。
既然从线上 QoE 数据反映不出来(当然了这也可以理解,毕竟从画质到 QoE 指标之间环节太多,太过于间接了),那我们就不看这些数据了,能不能单独来评价一下画质,在「保持画质的前提下,通过迭代更优秀的编码器、更优秀的算法,来降低码率」呢?
经常和图像算法、视频编解码打交道的朋友知道,画质评价我们有主观评价和客观评价,还可以分为有参考评价和无参考评价。花样很多,可是说到底,观众用脚投票这个事实,表明最终决定的还是【人】。不管我们用主观评价还是客观评价算法、不管用有参考评价还是无参考评价算法,终究是希望拟合出一个和【人类】评价一致的分数。
这真的是一个浩大而繁复的目标,我们甚至连问题定义都很难清晰地说出来,而人本身也是多样的,同一个画面给不同人看也会得到不同的结论。所以我们甚至不应该拟合一个【分数】,而应该拟合一个【分布】。这也是早期著名的无参考美学评价方面的项目 Google Research: NIMA 的初衷。
从我 2018 年加入快手开始,当时我们的 leader 就有这样的想法,希望在画质评价方面做一些长期而持续的工作。我们从简单的边角开始做起,一些可以明确定义的画质方面,比如模糊、噪声、亮度/色彩分布等等,逐渐都有了比较稳定可靠的算法可以评估。
后来有关编码压缩相关的画质损失,比如马赛克块、色阶断裂、毛刺等,也都逐渐有了评估算法。这个时候,结合客观指标(例如 SSIM、VMAF 等),已经可以比较方便地评估画面质量了,内部的测试同学也经常参考。
经过长年累月的标注、清洗,算法组和测试组反复沟通交流,甚至利用内测版的程序对刷到的线上视频随手打上标记,我们在画质评估方面已经积累了非常多高质量的数据。在这些数据帮助下,各个算法性能也提升很快,随后在新的算法辅助下又可以得到更多高质量的数据。这个飞轮逐渐运转起来了。
现在快手已经提供了画面质量评估的 SaaS 服务,做这个方向的朋友应该能体验到这个服务背后算法的实力。我可以很放心地说,目前公开的算法中,快手这个画质评价算法,是最稳定、最可解释、最接近人类的。前两年快手还支持了 NTIRE 的比赛,公开了一批数据集,大家也可以去看看。
我现在已经不在快手,但作为曾经参与其中的一员,我感到很自豪,也为我的同事们感到高兴。
抒情了一小段,我们再回到前面的问题。我们可以用这个算法来单独评估画质,从而做到「画质相当的情况下,降低码率」吗?
理论上可行,可惜,虽然我前面说了好多个「最」,但这个算法距离人类的实际评价还是有偏差,也能找出很多算法结论与人类测试人员结论差别较大的例子。内部确实有用算法来帮助做评价,但也并非完全只依赖算法的结果。
算法不够完美是一方面,而公司降本增效的压力又是另一方面。没有哪个领导可以顶住这样的压力的,毕竟【什么都不变】的前提下一下子给你省 10% 的成本,你干不干?
可是,真的【什么都不变】吗?
一切只是悄悄的变,等蓦然回首,发现我们再也回不去 2020 年了。
作者:章佳杰