Netflix将VP9应用于移动视频流编码

A.采用的两种编码标准:

1. VP9:

VP9是一款由Google开发的免费开源的视频编解码器,与最优的H.264编码器相比具有将近50%的性能增益。VP9在Web浏览器和移动设备具有广泛的支持(支持Android设备,大多数浏览器以及越来越多的消费类电子设备)。VP9编解码器早已用于YouTube,而且最近被Netflix用于编码低比特率的移动视频流。近期,Ittiam与Google,Netflix合作解决vp9开源实现libvpx的一些关键问题。这些改进将为更大的视频流社区带来显著的改善。与广泛使用的H.264相比,先期的改进使得在最高质量设置下对视频文件进行编码的turnaround时间大幅减少。改进后的编码器在16核机器上编码1080p视频时可以减少50-70%的编码时间。

相比于H.264/AVC,VP9具有许多提高压缩性能的工具,包括:

1. 运动预测块的尺寸最大为64x64

2. 八分之一像素精度运动矢量

3. 三个可切换的8抽头亚像素插值滤波器

4. 更优的运动矢量编码

5. 更大块的DCT变换(16x16, 32x32)

6. 非对称DST变换(ADST)

7. 适应新的块大小的环路滤波

8. 分割图

2. H.264/AVC High Profile:

许多Netflix-ready设备接收的视频流依然使用H.264/AVC Main profile(AVCMain)编码,H.264/AVC解码器在Web浏览器、电视、移动设备和其他电子设备上具有广泛支持。Netflix为移动视频流采用了两种压缩格式:H.264/AVC High Profile和VP9(profile 0)。与Main profile类似,H.264/AVC的High Profile同样具有广泛的解码支持。H.264/AVC High Profile的总体结构与Main profile一致,并加入了其他一些提高压缩效率的特性和工具:

1. 8x8变换和8x8帧内预测

2. 量化缩放矩阵

3. Cb和Cr分开控制

B. 更优的编码器配置:

除了上述两种编码标准外,Netflix为移动视频流编码提供了优化的编码器配置:

1. 增加了Random Access图像周期:平衡了编码效率和随机接入点粒度大小

2. 更多连续的B帧或更长的Alt-ref距离:允许编码器灵活选择更多的B帧(H.264/AVC)或更长的Alt-ref距离(VP9),对缓慢的场景变换更为有效

3. 更大的运动搜索范围:带来更好的运动估计以及更少的帧内编码块

4. 更多的模式选择:允许编码器评估更多的编码选项

C. Per-chunk编码优化:

在并行编码流水线中,视频源被分割成若干chunk,每个块被单独处理和编码,并为每个单独的chunk基于其复杂性(运动,细节,质地等)优化了比特率分配。这样做减少了不同chunk之间的质量波动,避免了将太多比特分配给复杂度较低的块。

D. 编码结果比较:

三种编码方式:

  1. AVCMain:H.264/AVC Main profile,使用per-title优化,作为anchor
  2. AVCHi-Mobile:H.264/AVC High Profile,使用更优的编码器配置和per-chunk编码优化
  3. VP9-Mobile:VP9,使用更优的编码器配置和per-chunk编码优化

图1给出了基于PSNR和VMAF的BD-rate结果,AVCHi-Mobile相比AVCMain能达到15%的PSNR增益和19%的VMAF增益,而VP9-Mobile的增益更是高达36%。Netflix新的两种移动视频流编码方案在相同视频质量的情况下能够节省更多的比特率,为带宽较低以及网络费用昂贵的用户带来福音。

图1 AVCHi-Mobile和VP9-Mobile相对AVCMain的BD-rate增益

此外,图2给出了不同码率点处的平均VMAF值,增益也比较明显。例如,在1Mbps下,AVCHi-Mobile和VP9-Mobile的平均VMAF值分别增加了7和10,对于移动用户而言在有限的带宽下可以体验到更高的视觉质量效果。

图2 AVCHi-Mobile和VP9-Mobile相对AVCMain的VMAF提升

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

原文发表时间:2017-08-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

小菜学Chromium开发系列:OpenGL学习

风雨送春归,飞雪迎春到。已是悬崖百丈冰,犹有花枝俏。俏也不争春, 只把春来报。待到山花烂漫时,她在丛中笑。 这首《毛泽东诗词》·卜算子·咏...

2605
来自专栏互联网杂技

2017 年,谷歌开源了这些超酷炫的项目

在开源和贡献开源方面,Google 一直是行业的典范。2017年,Google 在 GitHub 上大约有 900 名活跃用户,共推送约 1100 个顶级库。

972
来自专栏量子位

摄像头训练的吃豆人,我还是没活几集 | TensorFlow.js

上个周末,面向JavaScript开发者的TensorFlow.js在TF开发者峰会上发布。

642
来自专栏WOLFRAM

用Mathematica提高英语写作水平

1242
来自专栏有趣的django

Django+xadmin打造在线教育平台(六)

代码 github下载 九、课程章节信息 9.1.模板和urls  拷贝course-comments.html 和 course-video.html放入 ...

4429
来自专栏老九学堂

谷歌最新开源酷炫项目集,前端、算法、机器学习都有了

2017年,Google 在 GitHub 上大约有 900 名活跃用户,共推送约 1100 个顶级库。 ? Google 开源了许多非常有价值的项目比如十分流...

4565
来自专栏程序你好

微软发布开源跨平台机器学习框架ML.NET 0.2版本

上个月在Build 2018年微软发布了ML.NET 0.1,一个跨平台的开源机器学习框架。今天又发布了ML.NET 0.2。这个版本侧重于添加新的ML任务,比...

602
来自专栏生信宝典

高颜值可定制在线绘图工具-第三版

生信宝典推出之前推出了一系列画图相关文章,包括多种形式的热图、线图、柱状图、箱线图、泡泡图、韦恩图、进化树、火山图、生存分析、共表达分析聚类如等,都是基于R代码...

3325
来自专栏机器之心

资源 | OpenAI开源机器人模拟Python库mujoco-py:可高效处理并行模拟

选自OpenAI 机器之心编译 参与:黄小天 OpenAI 宣布开源一个高性能的 Python 库,它可用于使用 MuJoCo 引擎(在上年的机器人研究中开发出...

3194
来自专栏ATYUN订阅号

使用Unity3D和TensorFlow教AI投篮

在本文中,我们将深入探讨如何使用Unity3D和TensorFlow来教AI执行简单的游戏任务:投篮。完整的源代码可以在文末访问Github链接。

1093

扫码关注云+社区