在本系列前面的帖子中,我们连续梳理了Netflix、YouTube、Beamr、EuclidIQ、Bitmovin、Harmonic及V-Nova在CAE(Content Aware Encoding) for ABR方面的一些进展,本文将简要介绍一下编码优化领域的另一位成员—思科(Cisco)在这方面的技术动态。
前言
如今,视频行业正在经历着前所未有的变化,随着IP连接设备逐渐具备了传输处理高质量视频的能力,更多优质的视频直播内容得以分发和传播,视频直播也越来越受到大众的青睐。同时,使用了ABR技术并通过HTTP协议进行传输的在线视频的增加也带来了新的挑战,那就是如何在有限带宽的条件下为用户提供同等的高质量的视频体验。通常使用的ABR技术会产生恒定码率的视频流,从视频质量的角度而言往往会造成带宽预分配过多的情况。另外,由于实际带宽会随着波动的网络环境而变化,使用传统的ABR技术无法传输恒定质量的视频。
业内人士越来越关注产生恒定质量而不是恒定码率视频流的ABR编码新方法,这些方法有望优化带宽利用率,减少视频流的存储成本,提高视频图像质量,方法的核心在于指导ABR编码的Content Awareness。
Cisco®智能码率控制技术使得Cisco Virtual DCM编码器(如图1所示)可以编码传输恒定质量的ABR直播视频流。该智能码率控制算法利用了基于Cisco专利技术的Content Awareness来生成度量视频质量的客观指标SVQ(Stream Video Quality)。思科宣称其SVQ是行业领先的无参考视频质量基准指标(具体技术细节有待进一步调研)。
图1 Cisco Virtual DCM编码器
无论是有线传输还是移动网络传输,Cisco的智能码率控制都能起到优化带宽传输性能和降低成本的作用,特别是对于带宽成本消耗更高的移动网络传输而言,它的作用会更加显著。
恒定码率的ABR存在的问题
当前使用的ABR技术基于的前提是编码器的输出配置文件设置为恒定的码率和变化的图像质量,当图像内容不是太复杂的时候,这种方法会导致带宽的过度消耗,因为我们可以使用更低的码率来实现相似的图像质量。以图1中的情况为例,使用CBR配置文件的传统ABR技术对一个场景简单的序列进行编码,码率设置为4 Mbps,编码器可能无法充分利用可用的带宽资源,因此需要用数据填充码率偏小的点以生成恒定码率的视频流。
图2 传统的ABR编码示例
Cisco的SVQ指标
Cisco Virtual DCM编码器平台上的Cisco智能码率控制功能在保持一致的视频质量的同时实现了带宽的节省,智能码率控制使用了Cisco的专利---SVQ指标,用于表征编码配置文件中的质量等级。
从实用角度来看,将SVQ作为智能码率控制算法的组成部分使得在视频处理链的任一点处实施智能码率控制都很简单,SVQ具有以下的特点:
- 无参考测量:计算处理后的视频质量时只需要用到经过处理的输出信号,简化了视频质量的测量。
- 简洁并且计算量小:只需要有限的处理资源,是实时/直播流中限制开销的理想选择。
- 在使用了不同数据库的大量测试中,与主观质量的测量结果高度相关。
为了与行业中常用的客观评价指标进行对比,Cisco对SVQ指标的性能进行了评估,使用的测试对象为编码研究中常用的测试数据库,即德克萨斯大学LIVE数据库中的AVC和MPEG-2部分视频序列。表1给出了不同客观评价指标的SROCC(Spearman Rank Oder Correlation)值,我们知道SROCC值的大小可以表示与主观评价结果的相关程度。从与主观评价结果相关性的角度来看,对于所有格式(MPEG-2,AVC,HEVC)的视频,SVQ在上述数据库上展示了比较理想的性能。
表1 在LIVE数据库上各视频质量指标的SROCC值
SVQ的范围为[1,10],值越小表示视频质量越差,反之亦然。图3展示了在不同质量配置下编码得到的一帧图像以及与每一个质量等级相对应的SVQ值。从图中可以看出,SVQ值与每一帧的主观质量匹配程度较高。
图3 不同的SVQ分数设置的示例
Cisco的SVQ指标已经集成到了Cisco Virtual DCM中,为了方便视频质量的监控,Virtual DCM提供了编码后的每一帧图像或每一片段的SVQ分数,如图4所示,使用开源监控工具Grafana在仪表盘上进行了直观展示。
图4 Virtual DCM输出监控的SVQ
智能码率控制在ABR中的应用
在一个典型的ABR框架中,单一视频源会提供给ABR客户端多个CBR编码配置文件。在Virtual DCM ABR编码器中集成的智能码率控制部分会输出包含了每一个片段的SVQ分数的恒定质量配置文件。集成了智能码率控制的编码器为每一个配置文件设置了一个最大的码率(cap bit rate),作为编码器的码率上限,此外还为每一个配置文件指定了对应的质量等级指标。
在ABR传输中使用智能码率控制后,ABR客户端播放器会接收到一个文件,它描述了用于视频解码的配置,然后客户端播放器就可以根据网络环境和缓冲区充盈度从相关的配置文件中下载所需要的视频段。
在ABR流式传输环境中,应用智能码率控制功能有两个主要的用例:第一,智能码率控制在视频的传输和存储中可以节省带宽;第二,在维持当前的码率预算(传统ABR技术中使用的码率)下,智能码率控制可以提供更好的用户观看体验。在这两种用例中,与传统的ABR技术相比,智能码率控制实现了更加一致的视频质量体验。
在带宽节省的用例中,目标是使每一个配置文件的最高码率相同并把它作为码率的上限,同时依赖场景简单的内容来节省比特数,基于指定的SVQ指标,解码视频的感知质量相对于传统的ABR技术保持不变。图5展示了一个智能码率控制优于CBR配置的例子,CBR配置文件中的码率为4 Mbps,当两种方法传输的码流的SVQ分数非常相近时,使用智能码率控制可以达到52%的带宽节省,平均码率大约为2.0 Mbps左右。
图5 带宽优化的示例
智能码率控制也可以在不增加带宽的条件下提供更好的视频质量体验,在处理偶尔出现的复杂场景时,可以适当放宽码率的上限,示例如图6所示,为了在复杂场景下也能维持一致的SVQ分数,码率的上限提升到了6 Mbps。最后,智能码率控制的最小SVQ质量值大于CBR情况下的最小SVQ质量值,同时带宽还节省了14%。
图6 视频质量优化的示例
图7展示了分别使用传统CBR和智能码率控制编码得到的同一帧图像,注意到在智能码率控制情况下,图像细节有所增加,整体图像质量得到了改善。
图7 视频质量优化用例中解码图像比较
智能码率控制得到一致的视频质量
为了证明使用智能码率控制的码流具有一致的视频质量(SVQ分数),Cisco计算了连续视频段之间的SVQ的波动情况,如图8所示,三条曲线分别对应了三种用例:码率上限为6 Mbps的智能码率控制、码率上限为4 Mbps的智能码率控制以及码率为4 Mbps的CBR。从图中可以看出,CBR的SVQ分数波动最大,表明在视频段之间视频质量的变化较大,而码率上限为4 Mbps的智能码率控制表现出了更好的性能,因为SVQ分数的波动几乎接近0,只在4 Mbps的码率上限处,复杂场景导致了SVQ分数的变化,不过这个问题在码率上限为6 Mbps的智能码率控制用例中得到了解决,由于复杂场景处分配了更大的带宽,该处的SVQ分数波动减小。
图8 视频质量的波动
真实性能
为了测试智能码率控制方法的真实性能,Cisco使用了不同的视频内容来评估它在直播频道中可以实现的码率节省。这些频道使用码率上限为5 Mbps的单一ABR配置文件720p50进行编码,目标SVQ分数设置为9.3,如图9所示,码率节省随着视频内容的不同而不同,电影频道实现了最高48%的码率节省,4个频道码率平均节省了36%。
图9 在直播频道上的智能码率控制
智能码率控制产生的码率优化可以显著降低有线传输和移动网络传输的成本,另外,带宽优化也能够降低用于磁盘存储和播放的基础设施成本。
结论
随着人们对ABR传输中优化带宽利用率和改善用户质量体验这两个问题的关注度日益增加,Cisco基于其专利SVQ技术提出了智能码率控制,在提高视频质量的同时可以优化带宽节省,同时显著降低了成本。