艾巴生活网

您现在的位置是:主页>科技 >内容

科技

常见的码率控制模式CBR、VBR、CRF和Capped-CRF

2024-02-20 20:32:02科技帅气的蚂蚁
每次使用面向分发的编解码器(如H 264、HEVC、VP9或AV1)对文章文件进行编码时,都要选择一种码率控制机制来控制码率、整体质量、瞬态质量和

常见的码率控制模式CBR、VBR、CRF和Capped-CRF

每次使用面向分发的编解码器(如H.264、HEVC、VP9或AV1)对文章文件进行编码时,都要选择一种码率控制机制来控制码率、整体质量、瞬态质量和编码成本。常见的速率控制模式包括CBR、VBR、CRF和Capped-CRF。本文将介绍这些模式的工作原理,各自的优缺点,以及如何和何时实现。

我们将讨论的前两种模式,CBR(恒定比特率编码)和VBR(可变比特率编码),几乎可以用于所有分布式编码器。FFmpeg中的x264、 x265、 lib vpx-vp9和libaom-AV1可以使用后两种模式CRF(恒定比特率系数)和Capped CRF(上限恒定比特率系数),但本文只讨论x264。

在本文的讨论中,我将使用三个文件:

测试文件:这个两分钟的短片包括一个30秒的角色对着镜头说话的文章和一个30秒的芭蕾舞文章,文章重复播放两次。

足球文章:这是一个两分钟的足球测试文章,动作很多(高帧率),既有高帧率区域,也有低帧率区域。

人的文章 Close Talk:这是一个两分钟的文章人慢动作近距离说话(低帧率)。

每当您出于文章分发的目的(而不是为了存档或转码)对文章文件进行编码时,您应该考虑五个因素:兼容性、整体质量、瞬态质量、可传输性和编码成本。以下是对这五个因素的简要描述:

兼容性:文章传输到播放器时,能否解码播放文件?这里说的是H.264,几乎兼容任何播放器。而HEVC、VP9和AV1可能都存在兼容性问题。

整体质量:是指文章文件的整体质量。本文采用VMAF测量来计算谐波平均值。

瞬态质量:指文章文件显示时可能出现的瞬时质量问题。在本文中,它是通过低帧VMAF或文件中任何帧的最低VMAF分数来测量的。

可传播性:就是你把不间断的文章传输给远方观众的能力。通常,具有高带宽连接的观众不会不用担心,但使用3G或类似的网络连接传输文章时肯定会有问题。

编码:涉及多重编码的技术显著增加了编码时间。如果你需要支付编码农场的费用,或者使用很多云厂商的编码基础设施(比如AWS Elemental Media Convert),那么两次编码会显著增加成本。

最后,在FFmpeg中,大多数编码工具都部署了x264和x265编解码器,其中有三个开关控制比特率。它们是:

B:v:设置整体码率。

Maxrate:设置最大码率。

Bufsize:设置VBV(文章缓冲验证器)的大小。

让让我们从案例推理开始。

恒定比特率编码

顾名思义,当你使用CBR(恒定比特率编码)编码时,意味着你对所有文件使用恒定的比特率(不管文章文件中场景的复杂程度)。使用FFmpeg编码时,可以通过对b:v、maxrate和bufsize使用相同的数据速率来实现CBR,如下所示:

-b:v 5000k-maxrate 5000k-bufsize 5000k

在测试文件中,30秒字符的文章内容的亲密对话和30秒的芭蕾舞交替播放。CBR编码文件如图1所示(在比特率查看器中)。如果你仔细观察,你会看到蓝色波浪线跟踪平均比特率徘徊在5000kbps左右。

右边可以看到平均比特率为4938kbps,峰值比特率为6013kbps,比平均比特率高出20%左右。在大多数编码器软件中,CBR的显示不是一条直线,但其可变性明显小于下面的其他控制技术。

图1 CBR编码的测试文件

稍后我们将回顾CBR对质量的影响。

从可移植性的角度来看,CBR的优势是显而易见的。

如果通过固定比特率的连接将文章文章上传到云端,或者通过受限的连接发送给远处的观众,文章流的可变性不足将确保它不会被中断。CBR也是一种单程(single-Pass)技术,这意味着它的成本比VBR接下来讨论的要低。

VBR:可变速率编码

VBR(可变比特率编码)编码的目的是实现码率目标,但在播放期间可以根据文章内容的复杂性调整码率。VBR通常要求2关:第一遍扫描文章,识别不同区域的复杂程度;第二次执行实际编码。

VBR通常通过描述目标比特率下最大比特率的变化来进一步定义。低于200%的受限VBR可以调用第一个例子,因为最大比特率是目标比特率的两倍;第二个例子是150%受限VBR,因为最大比特率是目标比特率的150%;第三个例子是110%受限的VBR。

-b:v 5000k-maxrate 10000k-bufsize 10000k-b:v 5000k-maxrate 7500k-bufsize 7500k-b:v 5000k-maxrate 5500k-bufsize 5500k

图2用200%受限VBR编码的测试文件

图2显示了用200%受限VBR编码的测试文件的码率配置。在交替的慢动作短距离语音文章和高速芭蕾之间,数据波动明显。即使平均比特率与CBR相似(分别为5041kbps和4938kbps),最大比特率也有显著提高(分别为11137kbps和6013kbps)。50%受限VBR文章具有相似的平均比特率(5036kbps)和20%降低的峰值比特率(9090kbps)。

从传输速率的角度来看,VBR显然更具挑战性,但这只会发生在受限连接接近文章流比特率的情况下。如果你正在以50 mbps或更高的网速向美国、欧洲和斯堪的纳维亚的观众传输5000kbps和1080p的文章,你很可能赢了没有任何传输问题。但是,如果8K文章以40mbps的速度传输给同一地区的观众,那么使用200%受限VBR就有点吓人了。当然,如果是3G连接上500kbps 200%受限VBR,那么用CBR(或者110%受限VBR)听起来要好得多。

所有这些对质量有什么影响?

表1显示了现实世界足球文章剪辑中使用的四种模式的得分。平均比特率非常相似,峰值比特率明显不同。整体VMAF评分非常接近。CBR和最高VBR之间的差异小于0.7。

平均编码率峰值编码率VMAF低帧vmafcbr 4938601395 . 1779 . 76200% cvbr 50411113795

表1速率控制技术的质量影响

最大的区别在于帧分低(reviewer s注:VMAF评分是基于帧的粒度的最低单帧VMAF评分),是瞬态质量问题的指标,其中CBR比200%受限VBR低5.5分左右。意味着有些观众可能会注意到瞬间出现的问题。有趣的是,200%受限的VBR和150%受限的VBR之间只有一点区别以及150%受限的VBR和110%受限的VBR之间的两点差异。

为了进一步探索,我在莫斯科国立大学比较了CBR和200%受限的VBR档案的文章质量测量工具(图3)。

上图显示了整个文章文件播放期间,CBR和200%受限VBR文件的VMAF评分,其中CBR为红色,200%受限VBR为绿色。

下图是上图中高亮区域的放大图(大概2100帧到3400帧)。以红色钟乳石为代表的画面CBR质量明显低于VBR。

图3用200%受限VBR编码的测试文件

在图中,您可以看到右下角的“显示帧”按钮。在这个文章中,使用了相当保守的编码参数,CBR帧和VBR帧的差别几乎可以忽略不计,因为最明显的差别只有1~2帧。

在其他文章剪辑中,如果使用较低的码率,瞬变问题会更加明显。因此,大多数VOD制造商选择使用VBR(而不是CBR)来避免这些问题,尤其是在向高带宽观众分发1080p文章时。

有趣的是,苹果在HLS创作规范中支持200%受限VBR,解释如下:1.30.对于VOD内容,峰值比特率不应超过平均比特率的200%。"但200%受限VBR是否适合高帧率的8K内容(可能需要40mbps才能达到可接受的质量)还有待观察。

现在,让综上,CBR在成本和可移植性上胜出,VBR在整体质量上扳回一局。然而,由CBR引起的短暂质量问题的风险是真实的。

恒定码率系数

在使用CBR和VBR时,您需要选择一个目标比特率,编码器将调整文章质量来实现这一目标。这种方法的问题是,如果对所有文章剪辑使用相同的码率阶梯,会在易于编码的文章(如短程语音文章)上浪费大量不必要的带宽。

图4示出了使用200%受限VBR编码的近距离角色的语音文章,并且目标比特率是5mbps(与足球文章相同)。平均比特率和峰值比特率与上述足球文章一致,但VMAF得分为97.61。

研究表明,一旦VMAF值超过93,观众就我察觉不到。那这就是为什么我建议制造商将VMAF目标值设置为95作为上限。如下图所示,有了这个文章,你至少可以降低60%的码率,但仍然可以达到VMAF 95的目标。

图4中VBR编码的问题是,即使文章的数据速率和质量水平太高,它也会达到目标比特率。

因此,当使用CBR和VBR编码时,编码器将调整所需的文章质量以达到目标比特率。相比之下,使用CRF(恒定速率因子编码),您选择一个目标质量,编码器将通过调整比特率来达到该质量水平。CRF值从0到51分布,值越低,质量越高。使用CRF和FFmpeg的编码如下:

ffmpeg -i输入文件-crf 23输出文件

CRF适用于归档或生成需要上传和转码的夹层文件。但是,从可转让性的角度来看,它并不是最理想的方法:因为你不在对文件进行编码之前,我们不知道将会产生的数据速率。

在短距离语音文章中,CRF值为22生成的文件平均比特率为1878kbps,VMAF评分为96.29,比VBR编码低60%以上,质量无明显影响。

但是在足球文章中,CRF值为22产生的平均码率为10650,对于1080p的编码阶梯来说太高了。

如何在保证合理速率限制的同时,节省可用带宽?结合码率上限即封顶CRF使用CRF就足够了。

上限CRF:上限恒定码率系数

顾名思义,Capped CRF是CRF值和码率上限的组合。相关命令如下:

-CRF 22-maxrate 5000k-bufsize 10000k

图5显示了该命令在文章中生成的结果,其中角色近距离说话,芭蕾交替出现。同样,虽然最大比特率不是水平直线,但芭蕾GOP已经非常接近5000kbps的线,峰值比特率为6302kbps。在操作中,编码器使用CRF值来编码人的近距离语音区域,并将封顶的CRF应用于芭蕾区域。

这与200%受限的VBR相比如何?

200%受限VBR编码产生97.30的平均VMAF分数(以及5041 kbps的码率)。因此,封顶CRF编码节省了大约30%的带宽,并且产生了96.55的平均VMAF值。与200%受限VBR编码相比,它们之间的差别肉眼是察觉不到的。但是,如您所见,码率变化很大,因此在使用受限网络连接时,很可能会影响传输容量。

图5带帽CRF与字符交替的文章亲密交谈和芭蕾

在动作量大的文章中,比如足球测试文章,文章中很多区域的CRF值生成的码率都高于上限。在这些区域,码率由上限控制,而不是由CRF值控制。在这种情况下,封顶的CRF赢了因为由编码器生成的具有特定质量的文章区域很少不超过上限。

表2显示了分别使用200%受限VBR编码和上限CRF(CRF 22/5上限)的足球文章的码率数据和VMAF得分。可以看出,它们的平均比特率相似,但使用Capped CRF的文章的峰值比特率要低得多。平均VMAF分数也很相似。

表2足球文章;200%限制性VBR对上限CRF

而使用CBR,主要区别是瞬态质量问题的指标:——低帧VMAF。图6显示了来自VQMT的比较结果。同样,当我观察主钟乳石所代表的框架位置时,也没有发现明显的区别。

但CBR只是提高了可移植性,Capped CRF应用于易于编码的文件,可以提高可移植性,节省带宽。本质上,这使得Capped CRF成为一种按标题编码的技术,你可以通过几乎所有基于FFmpeg(文章和点播)的编码工具来实现。

图6 200%限制性VBR和上限通用报告格式之间的比较

封顶的CRF也不是银弹。您应该运行自己的测试文件,然后确定文章中的瞬态问题是否比我在足球文章中看到的更明显。如果短暂的问题很少发生,并且您正在考虑使用Capped CRF,此时您应该尝试不同的CRF水平(参见:

https://streaminglearningcenter . com/learning/choose-the-optimal-CRF-value-for-capped-CRF-encoding . html).

类似地,不是所有编码器和编解码器都可以使用CRF和Capped CRF;如果您使用的是第三方编码器(不是基于FFmpeg,并且不使用X264、 X265、 libvpx-VP9或libaom-AV1编解码器),则CRF和Capped CRF可能不可用。

表3总结了上述四种编码方法的优缺点。

表3四种速率控制模式的比较

编辑:李倩