视频的编码与解码

概述

参考:

视频编码其实就是 图像编码 与 音频编码 的结合体。 毕竟视频就是一幅幅图像叠加在一起而已,只不过在每时每刻又要附加上声音。

视频 编码 与 压缩

可能有小伙伴不太清楚编码器是干嘛的,差评君先花点时间给大家解释下: ( 很快的啊,不用担心内容劝退。。懂的小伙伴可以直接往下划 )

我们平常在爱奇艺、 B 站看的视频,它们原本的体量十分巨大。

有多大呢,我们就拿 1080p 分辨率的视频举例吧,一秒钟视频流大概有 149 MB 那么大( 1920 x 1080 x 8bit x 三个 RGB 通道 x 24 帧 / 8 )。

相当于说我们的网速至少需要达到 149 MB/s,才能够保证看 1080p 视频不卡。

提醒一下,149 MB/s 约合 1194 Mbps,比千兆宽带( 1000 Mbps )还快一点。

但是估计得有小伙伴说了,你这是在扯淡——我家里的宽带才一百兆,网上的视频不也照样看?

不但能实时看,还能顺手缓冲个一两分钟的量。

你们啊,Too Young~

这其实是因为,我们平常看到的视频已经是被压缩过的了。

压缩视频的原理细讲起来有点儿复杂,但要是抽简单的说主要就是干了三件事 —— 跳帧、划块、抽色。

就好比说,前一秒和后一秒都是黑屏,那么这两秒就可以当作一秒处理。( 跳帧 )

又或者,某一秒的画面是一张天空风景图,里面很大一片区域的颜色都是相同的。

那么这一大片区域的像素就可以直接当成一个大像素来处理。( 划块 )

再比如说,原始大小的视频里包含了 1760 万种色彩,可我寻思着人眼看不出来这么多色儿。

那么我就可以偷偷抽出来几百万个色,这样又节省了不少空间。( 抽色 )

经过这么一套操作之后,原始视频的大小通常可以被压缩到一个挺夸张的地步,就算是 3G 网络也能流畅观看。

无非就是感觉画面卡了一点儿、糊了一点、颜色绿了一点。。。

而编码器就是那个用来压缩原始视频的玩意 —— 编码器好,视频小的同时画质高;编码器不好,视频大、画质烂。

了解了这一点之后,我们再接着往下看。

按照阿里的说法,奇点编码器能把视频压缩千倍不影响画质,那么其他编码器呢?

差评君来给大家做个简单的实验。

首先,我们在浏览器里输入 http://bilibili.com,打开 B 站。

然后直奔窑子区然后随便打开一个视频,把分辨率调整到 1080p 之后,在上面右键统计信息。

这样子我们就拿到了这段视频的技术向信息。

差评君帮大家解释一下,B 站这段视频使用了一个名叫 H.264 ( AVC )的编码 —— 这是个十七年前的编码。

分辨率 1080p,码率 1086 Kbps,相当于把原始视频压缩了 1099 倍。( 1194 Mbps / 1.086 Mbps )

也就是说,一款十七年前发明的编码器,就能做到压缩千倍不影响画质( 肉眼看起来 )。

阿里这时候再吹这个,就好比有人在 2020 年宣布自己发明了汽车轮子。。。

这延迟,上网用的 Internet Explorer 6.0 吧。

当然了,差评君这么说也不完全对 —— 虽然都是压缩千倍,但奇点编码器的画质肯定要比 H.264 好。

不过这里面还有猫腻。

是这样的,目前常用的视频编码器有这么几个方案:

前面提到 B 站在用的 H.264,它的继任者 H.265;谷歌的 VP9,以及开放媒体联盟研发的 AV1。

从性能上讲,谷歌的 VP9 与 H.264 接近,H.265 相比 H.264 的压缩能力提高了 50%,AV1 则略强于 H.265。

VP9 ≈ H.264 « H.265 < AV1,差不多是这么一个意思。

而阿里的奇点编码器(英文名 S265 ),其实是 H.265 的一个派生版本。

在这里差评君得补充说明一下,编码器这个行当和显卡行业其实有点儿像。

就好比说,同样是 RTX3080 显卡,我们可以直接从 NVIDIA 手上购买拉风的 FE 公版,也可以购买华硕、技嘉、微星提供的非公版。

虽然芯都是老黄 GA106,但是各家的供电、散热设计,以及显卡最终出来的性能表现都会有些细微的区别。

编码器也是一样。

ISO ( 国际标准化组织 )发了个 H.265 的规格和标准之后,各家都可以照着这个规格做一个。

百度有 BD265,腾讯有 V265;阿里则有 S265。

然而阿里的 S265 在一众基于 H.265 标准的编码器里并没什么优势。

事情是这样的 —— 奇点编码器参加的这个 “ MSU 世界视频编码器大赛 ” 其实有四个比拼项目。

但是根据主办方的说法,YUY-SSIM 维度才是最重要的指标,其他三个比拼项目只具有 “ 参考意义 ”。

所以我们可以把它们理解成主擂台,以及分擂台 1、2、3。

然而,主擂台获胜的是一款来自国外的编码器,第二名是字节跳动的 BVC,第三名是爱奇艺的 QAV1,第四名是腾讯的 V265。

阿里的奇点编码器,排。。。第七。

至于另外三个分擂台,阿里拿了其中两个第一是没错,但也是和字节、腾讯并列的。。。

然后阿里发了个通稿,我们的视频编码器包揽了两项世界冠军。。。

话说的倒都是实话,可就是没说全。

这个说法的确没什么错,况且近期阿里的负面有点儿多,宣传奇点编码器得奖是个冲喜的好办法。

但是这件事翻车就翻车在了,通稿把奇点编码器渲染的有点神 —— 压缩上千倍画质无损,两项世界第一。

稍微对这方面技术不太了解的小伙伴看着都会发懵,这个就有点儿误导人了。。。

小明考试拿了 100 分,可喜可贺。

小明和同班十几个人一起考出了 100 分的好成绩,势均力敌。

小明和同班十几个人一起考出了 100 分的好成绩,但只有小明家张灯结彩、走街串巷,仿佛完成了一件前无古人后无来者的壮举。。。

也不知道最后尴尬的会是谁。


最后修改 October 4, 2023: 合并 commit (98ba273b)