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 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

手把手教你学习R语言

随着分析数据的方式在近两年发生了翻天覆地的变化,随着互联网在人们的生活中广泛的普及,人手一部智能机的时代,人们的衣食住行都接上的互联网,这使得数据的获取量得以指...

4418
来自专栏机器之心

资源 | 一文盘点10大移动端机器学习框架

选自hopinfirst.com 作者:James Tredwell 机器之心编译 参与:路雪、黄小天 本文介绍了适用于移动端的 10 个机器学习框架,包括针对...

3454
来自专栏何俊林

Android Multimedia框架总结(十七)音频开发基础知识

近年来,唱吧,全民K歌,QQ音乐,等成为音频软件的主流力量,音频开发一直是多媒体开发中不可或缺的部分,如为什么这个声音这么不清楚,为什么耳机里有电流声,为什么录...

2285
来自专栏吉浦迅科技

TensorRT

作为Inference(推理)端的SDK的工具,TensorRT是可编程的处理加速器,主要是用来部署神经网络到Inference端之前,对于网络进行优化加速,来...

50710
来自专栏大数据文摘

日处理数亿次请求的工作推荐引擎是如何演化的?

1546
来自专栏林浩威的专栏

使用机器学习算法打造一个简单的“微博指数”

写这篇文章的契机,是我在某天看完腾讯指数的推送后,突发奇想,想自己实现类似这样的一个东西,感觉蛮好玩的。然后就在上周末,利用了一些空余时间,写了一个简单的舆情监...

5623
来自专栏机器学习人工学weekly

机器学习人工学weekly-2018/8/5

视频列表链接:https://www.youtube.com/playlist?list=PLBgogxgQVM9v0xG0QTFQ5PTbNrj8uGSS-

601
来自专栏新智元

【自动编译代码】陈天奇团队TVM重磅更新:直接在浏览器使用GPU

【新智元导读】华盛顿大学陈天奇团队的深度学习自动优化代码生成器TVM发布更新,不需要写一行Javascprit代码,直接就能将深度学习模型编译到WebGL,然后...

2955
来自专栏新智元

百度开源移动端深度学习框架MDL,手机部署CNN支持iOS GPU

【新智元导读】百度开源了其移动端深度学习框架Mobile Deep Learning (MDL)的全部代码和脚本。MDL是一个基于卷积的神经网络,支持iOS g...

3557
来自专栏腾讯Bugly的专栏

【MIG专项测试组】如何准确评测Android应用的流畅度?

叶方正,2008年加入腾讯,就职于无线研发部【专项测试组】。曾经负责多个产品的性能优化工作,积累大量的移动终端平台优化以及评测经验。 怎样获取SM值? 前文我们...

4195

扫描关注云+社区