【视频编码】Content Aware ABR技术(八)

在本系列前面的帖子中,我们连续梳理了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技术提出了智能码率控制,在提高视频质量的同时可以优化带宽节省,同时显著降低了成本。

原文发布于微信公众号 - 媒矿工厂(media_tech)

原文发表时间:2018-02-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏鹅厂网事

服务器硬盘故障预测实践

故障预测类似于临震预报,最重要的意义是给用户一个从容的时间段进行数据和业务的迁移或处理,改善用户体验。

8299
来自专栏奇点大数据

Pytorch神器(10)

今天聊一聊IT工程师如何转型深度学习工程师的话题。其实这个话题已经不是第一次聊了,也是很多IT工程师朋友比较关心的。毕竟在新一代的IT工作环境中,AI思维几乎是...

752
来自专栏非著名程序员

为什么程序媛比程序猿写的代码更好?

? 导语:最近看到有新闻说:科学表明女性更适合当程序员,研究显示女性“程序媛”写的代码更好。我感觉说的挺对的,女生的心思就是比男生缜密,男生你还别不服气,谁让...

17910
来自专栏牛客网

迟来的面经,回馈牛客

写个总结,回馈牛客~ 给自己也给未来面试的同学,少走弯路,命中率更高点~ 祝大家满意的offer多多(迟来的总结 [算法岗-机器学习方向]) 直接上干货 前期...

48914
来自专栏MixLab科技+设计实验室

我的全栈开发日记之色彩app

第一款应用, 把全栈开发的各个环节都摸了个遍, 接下来就可以轻车熟路的开发 第二款app啦~ 在2.25号我开始构思产品原型。 出发点是要做一套[设计师工具],...

2245
来自专栏玉树芝兰

文科生如何高效学数据科学?

看似无边无际、高深难懂而又时刻更新的数据科学知识,该怎样学才更高效呢?希望读过本文后,你能获得一些帮助。

681
来自专栏媒矿工厂

【视频编码】 Content Aware ABR技术(六)

在本系列前面的帖子中,我们连续梳理了Netflix、YouTube、Beamr、EuclidIQ及Bitmovin在ABR方面的一些进展,本文将简要介绍一下编码...

3069
来自专栏华章科技

黄骞:我们是如何在一张地图上表现86万个数据的

作为一名数据工作者,我每天会接触到很多的数据可视化成果,美好的可视化作品简洁明快炫酷非常,让人心情舒畅。

621
来自专栏人工智能头条

泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索

1227
来自专栏顾宇的研习笔记

记武汉2016年第一期学习力提升工作坊——MVP设计篇

我在加入 ThoughtWorks 的第一年间完成了8门 Coursera 课程的学习并获得了认证。但是,如果让我来讲授这11门课的任何一门,我能讲授的课程数量...

552

扫描关注云+社区