前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用基于分层深度学习的分块预测加速VP9帧内编码

使用基于分层深度学习的分块预测加速VP9帧内编码

作者头像
用户1324186
发布2019-12-23 16:25:05
6660
发布2019-12-23 16:25:05
举报
文章被收录于专栏:媒矿工厂

本文是来自AOMedia 2019 Research Symposium的演讲,演讲者是来自得克萨斯大学奥斯汀分校的Somdyuti Paul,题目是”Speeding up VP9 IntraEncoder with Hierarchical Deep Learning Based Partition Prediction”,主题是使用基于分层深度学习的分块预测加速VP9帧内编码。

演讲者首先简介了VP9中的分块策略,即将64x64的大块递归地分到最小4x4的块,每次分块有四种方法,分别是不分、横向或纵向分成两个长方形或分成4个子正方形。因为分块搜索中组合的复杂性,基于分块决策的率失真优化(RDO)是一个较慢的过程,这严重限制了编码器的速度。他们工作的目标就是通过将此RDO过程替换为基于深度学习的分块预测来加速VP9帧内模式。

然后演讲者介绍了他们方法总的流程,如下图,其中包括使用分层全卷积神经网络(H-FCN)的自底向上的块合并预测。

下面演讲者介绍了数据集的制作。第一是内容选择,内容是来自Netflix的89个电影和17个电视剧,在三种不同的分辨率(1080p,720p,540p)下使用VP9参考编码器libvpx编码,配置文件使用Profile0,速度等级为1,质量为好。第二是分块树的表示,表示方法是用一系列矩阵,如下图所示。

VP9参考编码器被修改成可以提取出编码码流的分块树和QP值,从而可以获得数据集的标签;把原视频降采样到编码分辨率,然后从亮度通道提取无重叠的64x64块作为原始像素值,这些也就是数据集的具体数据;数据集含有帧内QP为8到105的数据。

然后演讲者介绍了H-FCN模型的结构,如下图。训练中使用的损失函数是交叉熵。预测的准确率在在Level0和3达到了90%以上,在Level1和2也达到了85%左右。

由于在每个Level中模型的预测是独立的,因此可能存在同一块的不同Level有不一致的情况,这时候需要使用一种自上而下的修正方法,使得每个Level的分块方案具有一致性,如下图所示。

之后演讲者介绍了引入他们的方法后的编码性能。将训练好的模型使用Tensorflow的C接口集成到VP9参考编码器,用预测的编码结果替代RDO,在三种分辨率下测试了编码性能。总的来看,他们的方法在BD-rate上增加1.71%的前提下,时间上节省了69.7%。将他们的方法和VP9参考编码器的速度等级4进行比较,在增加较少BD-rate的代价下,获得了更多的速度提升。在不同的QP值下,他们的方法在各种分辨率下节省的时间都要多于速度等级4。并且,在将此方法迁移到AV1编码器之后可能或获得更多的好处。

最后演讲者还列出了一些参考文献,对他们的工作感兴趣的读者可以在这些文献中获得更具体的细节。

附上演讲视频:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档