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

在本系列前面的帖子中,我们连续梳理了Netflix、YouTube、Beamr、EuclidIQ、Bitmovin、Harmonic、V-Nova及Cisco在CAE(Content Aware Encoding) for ABR方面的一些进展,本文将简要介绍一下编码优化领域的另一位成员—MediaMelon在这方面的技术动态。

本文所要介绍的视频编码技术公司,MediaMelon,总部位于旧金山。它在CAE领域的解决方案,QBR(Quality Bit Rate)技术,通过快速的场景分析、感知质量映射以及缓冲管理等技术可以实现高质量的实时流媒体服务,能够有效降低ABR Streaming的带宽成本,显著改善解码视频的视觉质量,减少视频播放期间的缓冲时间和次数。MediaMelon的QBR技术简单来说就是服务端的per-title码流传输机制。在本系列刚开始的帖子中我们介绍过Netflix的per-title encoding,per-title encoding就是在编码前对源视频文件进行分析预处理以确定最优的bitrate ladder,即分辨率和码率组合。而QBR相当于per-title encoding的后处理,即对per-title码流在分发传输前进行分析处理,使得最终传输的码流片段在码率尽量低的情况下具有最佳的视觉质量。下面将简要介绍QBR技术的大体情况(尚未获得技术细节资料)。

据官网资料介绍,MediaMelon QBR技术具有如下特点:

1. 节省带宽

QBR将视觉质量分析算法与自适应流媒体算法有机结合,以便在简单场景和复杂场景之间更加高效地进行比特分配,而且仅在需要时才使用较高的比特率。在不影响原有观看体验的情况下,MediaMelon宣称可使流媒体的带宽传输成本降低高达35%。

2. 改善视觉质量

QBR中的自适应码率算法将简单场景节省的码率用以改善复杂场景的视觉质量。在播放端,QBR通过获得的内容感知相关信息以及缓冲预测算法,能够减少缓冲时间和次数,提高解码视频整体的视觉质量和用户QoE。

3. 易于集成

使用QBR不需要复杂的系统升级。QBR能够直接利用已有的编码器和播放器,通过添加新的SDK和元数据就能对现有的流媒体应用框架和系统进行升级,进而优化ABR Streaming性能。

4. 标准兼容

QBR能在现有的流媒体传输协议(如MPEG-DASH、HLS以及Smooth Streaming)框架下兼容H.264以及最新的HEVC等主流视频编码标准。

5. 应用广泛

QBR能够在服务端或播放端分别对码流进行优化处理,增强了适用性。以下是两种常见的应用场景:

  • Video on Demand

如图1所示,在编码端,QBR对编码的视频流进行分析产生Smart Data,随后与码流一同传输到用户终端。在解码端,QBR利用这些数据指导播放器选择更合适的码流,帮助播放器更好地规划和使用缓冲区,并对码流进行视觉质量优化,有效改善用户的观看体验。

图1 使用QBR技术的VOD应用框架

  • Live TV

如图2所示,在编码端,QBR直接对编码后的码流做后处理操作,以提高视频直播的带宽传输性能。

图2 使用QBR技术的Live TV应用框架

如上所述,QBR技术同时适用于VOD和实时直播应用,并且有多种集成模式。图3所示的是一种典型的QBR应用系统。具体而言,首先在服务端添加QBR插件SDK,然后用QBR分析每个编码后的视频文件,并基于视觉内容复杂度创建每个视频流的metadata。同样,在解码端通过SDK的形式将QBR功能集成到播放器中。在视频播放期间,播放器首先请求metadata文件,然后将其解析并集成到播放决策树中。而播放决策树则会根据当前的带宽状况,指导播放器请求对应质量等级的视频流。通过与播放器进行交互,QBR能跟踪并监控整体的性能数据。

图3 常见的QBR应用系统

图4给出了QBR在播放端的应用示意图。其中,左下角为当前码流的场景复杂度随时间变化图,右上角(或图5)为典型的ABR策略播放器依据带宽状况请求码流的示意图,可以看出码流大部分为Medium码率级的码流,播放器并没有根据场景复杂度做出适应性调整。而采用QBR技术的播放器能够根据复杂度变化进行内容自适应调整,如右下角所示,因而整体的带宽性能以及视觉质量更佳。

QBR有两种应用模式 : bitrate和quality,在将QBR SDK集成到播放器后可以进行选择控制。在bitrate模式下,如图4 QBR(a)所示,QBR会在给定带宽下最大限度地提供可接受的视觉质量同时降低带宽的消耗。在简单场景下使用低码率的码流,但在场景复杂度更高时并没有切换到High级别的码流。与传统ABR算法相比,QBR的bitrate模式自适应性增强,能有效节省带宽成本。在quality模式下,如图4 QBR(b)(或图6)所示,播放端在降低码率消耗的同时使得码流的质量最佳。具体来看,QBR既降低了简单场景的码率,又为高复杂度的视频场景选择了较高码率的码流,因此码流整体的视觉质量更高。(注:图4所示的QBR SDK仅能在同一分辨率下选择不同码率的码流,如果有不同分辨率版本的码流:360p,720p和1080p,这项技术将无法正常工作。目前,多分辨率切换处于Beta测试阶段。)

图4 QBR在播放端的应用示意图

图5 传统ABR工作示例

图6 QBR工作示例

下面给出MediaMelon QBR相关测试。测试的关注点在于:QBR是否能有效节省带宽,以及简单场景的码流节省的码率是否会转移到复杂场景。为了便于后续QBR测试,测试前准备了类似如下bitrate ladder:360p@(500/900/1300)Kbps,720p@(1.8/2.6)Mbps,1080p@(4.3/5.7/8.1)Mbps。

  • Best Case-Bandwidth Savings

该测试使用的是一个时长2分钟的简单谈话场景片段(1080p),测试QBR是否在比较理想的环境下节省带宽。MediaMelon提供的测试界面如图7所示,可以看到,与ABR default模式相比,QBR在quality模式下获取的码流大小为62.24MB,比ABR default模式117.56MB节省了47.06%。在下方的码率时间曲线中,黄色表示ABR,蓝色表示QBR,QBR所用的码率明显低于ABR模式。由于该视频场景较为简单,码率整体较为平稳。

图7 Best Case测试

另外,使用限流工具Charles Web Debugging Proxy测试并记录在不同带宽条件下请求的码流片段,部分测试结果如表1所示。在15Mbps带宽下,ABR主要请求的是1080p@8.1Mbps片段,而QBR两种模式主要请求的是1080p@4.3Mbps片段。QBR在两种模式下的码率节省均达到了40%多。由于两种模式的结果近似一样,因此在4Mbps带宽下只测试了quality模式。在4Mbps带宽下,ABR主要请求的是720p@2.6Mbps片段,而QBR quality模式主要请求的是720p@1.8Mbps片段,QBR的码率节省达到了29%。此外,VMAF的计算结果显示,8.1Mbps码流的VMAF值为97.09,4.3Mbps码流的VMAF值为96.07,2.6Mbps码流的VMAF值为91.66,1.8Mbps码流的VMAF值为90.88。由于VMAF值相差6以上才会出现可察觉的图像差异,因此ABR和QBR所请求的码流质量基本相同。

表1 使用Charles Proxy的测试结果(Talking Head)

  • Worst Case-Bandwidth Savings

该测试选取了场景复杂度较高的电影Zoolander片段,时长为5分钟,测试结果如表2所示。在15Mbps带宽下,QBR在两种模式下的码率节省均达到了18%左右。而在5Mbps带宽下,QBR与ABR的码流大小基本持平。另外,可以看到QBR根据场景复杂度的变化频繁地切换所需要的码流,这样可以保证码流整体质量的平稳一致。

表2 使用Charles Proxy的测试结果(Zoolander)

下面的测试主要关注QBR是否会为高复杂度的场景使用高于平均水平的码率(uplift)。图8给出了MediaMelon测试结果的截图,可以看到在4Mbps带宽下,QBR为高复杂度场景使用的码率相比平均码率增加了24.84%,码率波动较为明显。

图8 MediaMelon测试结果

另外,使用一段由时长30秒的talking head(低复杂度)和时长30秒的ballet(高复杂度)前后组成的混合序列进行测试,测试结果如表3所示。在15Mbps带宽下,QBR相比ABR有38.8%的带宽节省。其中,talking head片段的码率为4.3Mbps,ballet片段的码率为5.7Mbps,由于带宽充足,没有出现uplift。而在ABR中,码率均为8.1Mbps。在4Mbps带宽下,QBR的talking head片段的码率为1.8Mbps,ballet片段的码率为2.6Mbps,而ABR均为1.8Mbps,使得QBR的码率比ABR高出20%左右,此时仍然没有出现uplift。但仔细观察MediaMelon(图8)和之前测试准备的bitrate ladder,MediaMelon给出的都是720p@(0.5-3.8)Mbps,而之前测试使用的是更传统的bitrate ladder,在720p只有1.8和2.6Mbps两个配置,因此提供给QBR的选择太少限制了它的发挥。(注:QBR目前只工作在同一分辨率)

表3 使用Charles Proxy的测试结果(混合序列)

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

Why you shouldn`t use Preact, Fast-React, etc. to replace React today

本文作者:IMWeb nixzheng 原文出处:IMWeb社区 未经同意,禁止转载 生命在于折腾,Coder的折腾就在于造各种轮子。React在前端...

1848
来自专栏IT大咖说

换个角度提升APP性能和质量

摘要 结合当下火热的移动性能话题和 APM 系统,围绕移动应用性能质量,谈谈如何避开传统解决方案,将其他技术领域的概念如回流重绘,节流防抖、优雅降级以及渐进增强...

34811
来自专栏转载gongluck的CSDN博客

FFmpeg_3.2.4+SDL_2.0.5学习(2)视频同步基础

一般来说,视频同步指的是视频和音频同步,也就是说播放的声音要和当前显示的画面保持一致。想象以下,看一部电影的时候只看到人物嘴动没有声音传出;或者画面是激烈的战斗...

3178
来自专栏腾讯移动品质中心TMQ的专栏

【探索式测试基础系列】生活协奏曲

前文讲过,探索式测试能为平常的生活带来浪漫因子,在浪漫一段时间后,新奇感消失,但效果仍在,探索式测试与日常测试真正融为一体,深刻作用于产品质量保证,共同演奏出协...

2707
来自专栏灯塔大数据

塔荐 | 号称最快的 Node.js 应用框架来了

前 言 一个号称目前最快的 Node.js 应用框架横空出世,高度专注于以最少开销和强大的插件架构为开发者提供最佳的体验。 作为开发者,让项目跑得更快一直是坚...

43110
来自专栏WeTest质量开放平台团队的专栏

多 “维” 优化:前端高并发策略的更深层思考

本文笔者从前端高并发优化这一具体点出发,逐步向大家阐述笔者在优化的“术”之上思维层面的一些思考。希望能给各位带来共鸣和感悟。

4280
来自专栏SDNLAB

SDN实战团分享(三十九):我的SDN入坑之路

首先介绍一下自己的来路,我是一个纯粹的开发出身,比较熟悉的开发语言是Java和Python。之前的工作也基本上都是和开发相关,对于云计算仅仅懂得“调用调用API...

3476
来自专栏机器学习算法与Python学习

Python:10篇不可错过的~热文~》》真的很热》》

以下是精选了“ Python开发者” 5月份的10篇 Python 热文。其中有基础知识,项目实战等。 《Python 爬虫建站入门手记(1):环境搭建》 本文...

3043
来自专栏腾讯移动品质中心TMQ的专栏

探索式测试基础系列——生活协奏曲

前文讲过,探索式测试能为平常的生活带来浪漫因子,在浪漫一段时间后,新奇感消失,但效果仍在,探索式测试与日常测试真正融为一体,深刻作用于产品质量保证,共同演奏出...

18410
来自专栏人工智能

使用Botkit和Rasa NLU构建智能聊天机器人

我们每天都会听到关于有能力涉及旅游、社交、法律​​、支持、销售等领域的新型机器人推出的新闻。根据我最后一次查阅的数据,单单Facebook Messenger就...

9799

扫描关注云+社区