本文将简要介绍编码优化领域的成员 — Mux 在CAE (Content Aware Encoding) for ABR领域的技术动态。

转载声明:本文转载自公众号【媒矿工厂】

什么是自适应比特率?

自适应比特率(ABR)流媒体是目前在线视频业务的关键技术。由于不同用户的带宽和设备差异很大,因此无法将同一个视频码流数据发送给所有用户(并非每个用户都有8Mbps的可用带宽来观看1080p视频,而且有些设备不支持1080p)。十年前通常采用的策略是让用户自己选择合适的视频流,如YouTube播放器中的质量选择器(下图左):

但这种方法表现不佳,因为用户并不总是知道他们可以播放什么样的视频而不会出现卡顿。 但ABR技术可通过让视频播放器根据用户端可用带宽和设备分辨率等因素自动决定要使用的播放格式来解决此问题。如果带宽状况较好,视频播放器可以选择播放更高质量的节目。如果带宽降低,播放器可以自动切换到较低质量的节目。例如,YouTube播放器上的“自动”选项设置(上图右)。

通常,编码时选择的分辨率和比特率称为比特率阶梯(bitrate ladder)。Apple提供了一种常用的分辨率比特率组合阶梯,作为其iOS设备视频编码推荐配置的一部分。下表是Apple推荐的静态(或固定)比特率阶梯。其中,第一列是推荐的分辨率,第二列是推荐的比特率,第三列是推荐的帧率。

静态的比特率阶梯其实是比较低效的。原因在于,不同视频内容在复杂度方面差异很大,因此针对不同类型的视频所采用的编码配置需要作出相应的调整。例如,家庭剧、动作片、游戏节目和足球比赛等需要完全不同的编码配置。此外,即使是对于同一类型的视频也可能会需要截然不同的编码配置。

什么是Per-Title Encoding?

如上所述,实际中如果对每个同类型的输入视频使用相同的比特率和分辨率配置,编码效率会很糟糕。在2015年,Netflix率先推出了Per-Title Encoding编码方案。其主要处理步骤如下:

1.    使用不同的比特率和分辨率组合对每个输入视频进行数十次测试编码

2.    采用新的质量测量工具(VMAF)对编码结果进行评估比较

3.    根据用户实际网络带宽和设备状况,选择最优的比特率和分辨率组合以提供最佳的视觉质量

Netflix以不同比特率和分辨率组合对输入视频进行编码测试,以便在比特率集合中的每个点上找到对应的比较合适的分辨率大小。对于一个视频,在1Mbps带宽下,最好的质量可能在编成720p时达到。类似地,对于其他视频,在相同的带宽下,360p或1080p可能会更好。可以预计这样做会有一定的提升效果。Netflix预估使用该方法后比特率可以降低20%(30%,如果能达到per-scene级优化)。较低的比特率意味着用户可以获得更佳的视觉质量、更快的启动时间(startup time)和更少的重新缓冲(rebuffering)。同时,可以减少流媒体成本开销。有关Netflix Per-Title Encoding的细节详见本系列之前的帖子。

这种方法在实际中确实取得了一定的效果,但也存在一些问题。Netflix提出的这种方法需要对工程时间和视频编码团队进行重大投资。大多数公司没有一个非常专业的视频编码专家团队,他们可能需要花费几个月的时间来构建Per-Title Encoding编码优化系统。在资源开销方面,Netflix的这种编码方式要比普通方法消耗20倍左右的资源成本。此外,Per-Title Encoding编码优化处理过程比较缓慢。使用标准方法进行完整的Per-Title Encoding编码优化需要几个小时。

目前,Mux 推出的Instant Per-Title Encoding编码技术改变了这一状况,可以在较短的时间内为每个输入视频提供较好的per-title ABR编码配置组合。下面将简要介绍Mux 的Instant Per-Title Encoding编码优化技术。

Instant Per-Title Encoding

解决上述这些问题的方法是利用机器学习。视频基础架构服务公司Mux(包含Mux Data和Mux Video等产品服务)在今年四月份宣布推出了Instant Per-Title Encoding编码优化技术。该技术提供了一种基于AI的视频编码方法,通过利用神经网络的强大功能,Instant Per-Title Encoding宣称能够最快在毫秒级的时间内为输入视频创建单独的自适应编码配置阶梯(encoding ladders)。Mux 的Instant Per-Title Encoding编码优化技术宣称相比其他Per-Title Encoding编码方法可将编码后的视频文件大小减少多达30%,视频质量提高约15%,有效降低各类成本开销,处理速度加快至少1000倍(数据来源于官网介绍)。对于Mux Video而言,这个处理速度至关重要,它使用的即时转码工具可以在数秒内发布新的视频流,而传统的Per-Title Encoding编码优化的方法通常需要几个小时的处理时间。

目前,视频数据已占网络流量的70%左右,而且到2021年在线视频数据流量预计将翻一番。随着互联网技术的发展和智能移动终端的普及,高性能的视频压缩技术变得越来越重要。Accel Partners的风险投资家Daniel Levine表示:“由于成本和复杂度的原因,到目前为止Netflix之前提出的Per-Title Encoding编码方案已经远远不能满足视频服务提供商的需求。目前利用机器学习的方法使得Per-Title Encoding编码方案适用于大规模视频编码处理是备受青睐的。”

Mux的联合创始人兼首席执行官 Jon Dahl表示,“Per-Title Encoding编码是过去几年视频编码应用领域比较重要的进展之一,我们所推出的Instant Per-Title Encoding成为了Per-Title Encoding编码方案第一个真正意义上对视频进行实时编码处理的方法。目前,观看视频已经是大多数网络用户上网的首要选项,因此高效实时的视频编码技术具有非常重要的意义。”

对于Instant Per-Title Encoding,Mux创建了数以万计的编码测试集,以便找到质量、比特率和分辨率的凸包。然后在这个数据集上训练了一系列神经网络。当一个新的视频输入到Mux Video时,它会通过AI模型进行快速分析,并输出最佳的编码阶梯。那么Instant Per-Title Encoding的AI模型准确度如何呢?Mux已经在该模型上测试了一些新的视频集,结果显示要比Apple的静态比特率阶梯更加准确。随着输入到训练模型的视频越来越多,模型精度和编码质量也会越来越高。

Instant Per-Title Encoding的处理步骤

Instant Per-Title Encoding编码通常由两个步骤组成:预测步骤和训练步骤。

第一步,每当有新视频输入Mux Video时,Instant Per-Title Encoding编码工具会提取一组视频帧作为一个序列并解码为RGB arrays。这些RGB arrays之后会送入Mux的基于AI的凸包生成器(convex hull generator)- Halfpipe。Halfpipe主要通过一个多层神经网络将这些帧数据进行处理,输出其per-title比特率配置阶梯,该配置遵循对应的最优分辨率、比特率和质量的凸包。所有这些处理操作都能最快在毫秒级的时间内完成,这意味着在Mux Video读入新视频时可以同步进行内容自适应编码处理。

第二步,输入到Mux Video中的新视频将会被用作训练集数据。Mux Video会对之前未接触过的具有新特性的视频应用完整的、高质量的Per-Title Encoding编码过程,并在此结果上训练Halfpipe模型。这意味着Mux的Instant Per-Title Encoding编码系统会随着时间的推移性能会变得更好,并能自动适应它所处理的视频内容。

测试结果

Mux使用Instant Per-Title Encoding在三个视频评估集上进行测试运行,并比较了基于AI的结果与实际测试得到的凸包的接近程度。其中,“Trailers”数据集由31个较短的电影预告片组成,“Broadcast”数据集是由4个较长的广播电视节目的片段组成,“Xiph”数据集是由Xiph.org Video Test Media [derf’s collection](https://media.xiph.org/video/derf/)的9个视频片段组成。根据Apple推荐的静态比特率配置阶梯,每个视频片段会被编码8次得到8种码率版本,总共有352个编码输出。以下两个表分别给出了Instant Per-Title Encoding和Static bitrate ladder各自得到的凸包与真正凸包的接近程度,以及两者编码质量的比较。可以看出,Mux Instant Per-Title Encoding的测试结果明显更好。

Root Mean Square Error: Mux and Static vs. full convex hull (lower is better)

Mux vs. Static: Quality (in VMAF)

随着时间的推移,测试结果会有一定的提高。在没有输入“Broadcast”数据集中的任何视频内容之前,AI方法的RMSE为0.73,比静态比特率阶梯的结果(0.94)好一些,但没有达到2倍。然而在读入“Broadcast”视频的几分钟后,RMSE下降到了0.50。随着更多训练数据的加入,可以预期Halfpipe的输出能够接近真正的凸包。

从以上结果的分析中可以知道,与使用静态比特率阶梯编码的视频相比,Instant Per-Title Encoding编码的视频效果更佳,并且为每个输入视频都能提供此优化。由于Instant Per-Title Encoding的优化几乎是实时的,Mux Video可以以更快的速度发布大多数视频(minutes of video in seconds, hours of video in minutes)。除了对视觉质量的提升外,也会影响流媒体传输性能的其他因素,如重新缓冲、启动时间等。由于 per-title optimization可以在较低比特率下获得更好的质量,加上视频加载速度更快、播放不会出现停顿,因而视频观看的整体体验会更佳。

关于Mux

Mux是一家为在线视频的开发者和发布者开发基础架构和监控工具的软件公司,总部位于加州旧金山。Mux最初由一些在线视频方面的专家于2015年创立,其中不乏互联网Web端最大的开源视频播放器(Video.js)、最大的视频云转码服务(Zencoder)以及视频技术工程师社区(Demuxed)的创建者和技术开发人员。Mux Data是Mux推出的一种QoE分析工具,可以衡量对用户观看体验有实际影响的视频性能指标,包括重新缓冲、启动时间、视频质量和解码错误等。Mux Data通过仪表板可以显示出一些重要的特征数据,包括性能分数,基于机器学习的预警以及对视频源的深入分析等功能。Mux Video是一种数据驱动的视频托管和流媒体API,由Mux Data提供支持,可针对大多数终端设备和网络带宽状况创建合适的视频格式,并为视频流提供实时性能分析。

参考资料

  • http://www.streamingmedia.com/PressRelease/Mux-Launches-Instant-Per-Title-Encoding-Improving-Video-Quality-For-Everyone_47002.aspx

  • https://medium.com/netflix-techblog/per-title-encode-optimization-7e99442b62a2

  • https://mux.com/blog/instant-per-title-encoding/

  • https://mux.com/per-title-encoding/

  • http://www.streamingmedia.com/Sourcebook/Mux-6056.aspx

LiveVideoStackCon 2018讲师招募

LiveVideoStackCon 2018是音视频技术领域的综合技术大会,今年是在10月19-20日在北京举行。大会共设立16个专题,预计邀请超过80位技术专家。如果你在某一领域独当一面,欢迎申请成为LiveVideoStackCon 2018的讲师,让你的经验帮到更多人,你可以通过speaker@livevideostack.com 提交演讲信息。了解大会更多详情,请点击『阅读原文』访问LiveVideoStackCon 2018官网,即刻享受6折优惠。

Content Aware ABR技术相关推荐

  1. Content Aware ABR技术(二)

    上次我们回顾了Content Aware ABR的使用场景和基本原理,并梳理了Netflix的per-title和per-chunk技术相关研究进展.本文将主要介绍YouTube关于ABR的一些研究进 ...

  2. Content Aware ABR技术(九)

    什么是自适应比特率? 自适应比特率(ABR)流媒体是目前在线视频业务的关键技术.由于不同用户的带宽和设备差异很大,因此无法将同一个视频码流数据发送给所有用户(并非每个用户都有8Mbps的可用带宽来观看 ...

  3. Content Aware ABR技术(三)

    1 Beamr的视频质量工具 编码失真是每个视频编码专业人员重点关注的对象.对于大部分互联网用户来说,当下能获得的视频码率平均在3Mbps左右.在这个码率下,规模化压缩视频文件时需要一套有效的度量工具 ...

  4. Content Aware ABR技术(七)

    本文所要介绍的视频编码技术公司,MediaMelon,总部位于旧金山.它在CAE领域的解决方案,QBR(Quality Bit Rate)技术,通过快速的场景分析.感知质量映射以及缓冲管理等技术可以实 ...

  5. web网站加速之CDN(Content Delivery Network)技术原理

    2019独角兽企业重金招聘Python工程师标准>>> 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度.优化现有Internet中信息的流动,需要在用户和服务 ...

  6. content 内容生成技术2

    计数器效果可是说是content的重中之重, 此功能非常强大.实用, 且不具有可替代性, 甚至可以实现连js都不好实现的效果. 这个地方放慢节奏, 细细品味. 先来个例子体验一下: .reset {c ...

  7. 淘系音视频技术的演进之路

    随着社会的发展,音视频技术在电商运营中占据的位置越来越重要.不仅时代在进步,音视频技术也在前进.本次LiveVideoStackCon 2021 上海站中,我们邀请到了淘系技术的陈颖老师为我们分享淘系 ...

  8. 李大龙:音视频技术是互联网品质生活的连接器

    结识李大龙源于LiveVideoStackCon 2017,忙碌的工作让我们在会场擦肩而过,并相约一场采访.通过采访,我深深的感受到他对行业的执着与热情,他将音视频技术定义为互联网品质生活的连接器,而 ...

  9. 论文翻译3-视频流SR技术分析

    CoNEXT 2020 题目:内容交付系统中的神经增强:最新技术和未来方向 Neural Enhancement in Content Delivery Systems: The State-of-t ...

最新文章

  1. 干货!Java 学习路线指南,看这文就够了!
  2. 借助C/C++进行Android开发:NDK的配置与使用
  3. Matplotlib实例教程(十)边缘直方图
  4. DTCC 2020 | 阿里云程实:云原生时代的数据库管理
  5. 手写自己的MyBatis框架-支持注解配置SQL
  6. 第四话 想不到办法,就研究规律 ver1.0
  7. mysql禁用历史命令_如何禁止mysql记录历史命令
  8. 从零开始,教初学者如何征战全球最大机器学习竞赛社区Kaggle竞赛
  9. 阿里面试算法题(一)
  10. Java的LocalDateTime与mysq的datatime数据类型匹配不了
  11. Audio:Android-TinyAlsa架构 Mixer API
  12. dataframe 查找的isin()用法
  13. 2022年餐具行业市场分析
  14. 广西工业职业技术学院计算机宿舍,广西工业职业技术学院2021年宿舍条件
  15. 程序识别验证码图片(一)
  16. 四川夏季避暑好去处,十大清凉景点大推荐哦~
  17. 认识计算机课件小游戏,2013年小学信息技术教案《认识计算机二》教案
  18. 图灵机是什么?一起来看看它的工作原理
  19. WDK10编译出最适合申请WHQL认证的驱动
  20. 【王阳明心学语录】-001

热门文章

  1. open-falcon的邮件报警
  2. zabbix启动无效,无法监听10051
  3. 细数非对称加密与对称加密的区别
  4. ASP.NET WEBAPI设计(文摘)
  5. StreamTokenizer输入中的用法
  6. C#使用post提交http请求
  7. MyEclipse移动开发教程:移动Web模拟器指南(一)
  8. 侠客博客v1.0 正式版版本发布
  9. Silverlight Expression[转]
  10. 在WEB自定义控件中实现自动回传功能