写点什么

机器学习在视频编解码中的探索(一)

  • 2019-11-30
  • 本文字数:2058 字

    阅读完需:约 7 分钟

机器学习在视频编解码中的探索(一)

在 RTC 2018 实时互联网大会上,Visionular Inc 联合创始人兼首席科学家 Zoe Liu 进行了主题演讲,与大家一起分享了一场视频编解码的前沿探索。

1 Why Video Codec Matters?

大家都知道,从技术复杂度来讲,视频的编码和解码并不对称,编码器要比解码器复杂很多。那么,机器学习对编码可以做哪些优化呢?


大家目前讨论的比较多的是 3 个编码标准:一个是 MPEG 组织的,一个是从 VP9 到 AV1 的开源、免除版权税的,另外一个是我们自己在国内研发的从 AVS 到 AVS2、AVS3 系列。


编码的标准日新月异,一直在向前发展。而大家都会问,为什么视频编码那么重要?


以 JPEG 为例,它是一个图像标准,经历了几十年的发展。那么为什么几十年来 JPEG 没有被打败,反而被广为应用呢?很大程度上受益于它的广泛的商业用途和易实现性。接下来,我希望通过下图,和大家解释为什么视频编解码这么重要。


2013 年时,为了取代 H.264 编码器,谷歌推出了 VP9。海外用户看 YouTube,一般是两类手机,Android 上看到的是 VP9 的码流。由于 Apple 不支持 VP9 硬件解码,因此 iPhone 用户看到的是 H.264 码流。


谷歌曾做过一个统计,对比了世界范围内(不包含中国), VP9 和 H.264 的播放时长。从上图中我们可以看到,在印度、非洲等网络带宽不佳的市场,由于 VP9 的应用,大大优化了用户体验,首屏时间大幅缩短,并且卡顿大幅减少。


与此同时,采用新一代 codec 的应用,带来了用户体验的提升和新业务推进的可能性,这正印证了 Video codec 的重要性。


在编码器中,不论是 HEVC 或 AV1,都有 partition 的概念。熟悉编码的朋友都知道,HEVC 和 AV1 中都有一个四叉树的 partition。


比如,它的 superblock 在 AV1 中的大小是 128128,它可以继续向下做四叉树的划分,每个 128128 的图像块可以分成 4 个 6464,每个 6464 又可以分成 4 个 3232。以此类推,例如在 AV1 中可以分解到最小为 44 的图像块。


对于图像宏块而言,要做出一个 partition 的 map。统计表明,Video encoder 端 partition RDO 评估的计算会占到编码器复杂度的 80% 以上。


那么此时如何利用机器学习来尝试做优化呢?


如上图所示,第一行四张图是帧内压缩,第二行四张图是帧间压缩的实例。它展示了对于不同的图像块需要有不同的 partition。


原因就在于,每个图像块内容不同。对于帧内压缩,细节、纹理越多的地方,分块就越细致。对于帧间压缩,主要是对残差分块,主要是要看帧间的预测是如何进行的。从这个角度来讲,分块本身是由内容和预测模式决定的。


那么,对任一图像块,我们可以在内容上提取一定的 feature。大家都知道,当 QP 取值比较大时,即失真度比较高时,整块的内容就趋于平滑,那就会选择比较大一些的分块。QP 比较小时,会选择比较细致的分块。从这些方面可以看出,从块的角度,在 partition 的情况下,可以从内容、编码模式中提取相应的 feature,通过离线训练可以从机器学习中获得决策结果。


上图中这篇论文是北航的徐迈老师与他的学生们所做的一项工作。他们基于神经网(这里主要用卷积神经网)做出的对 partition 的基本分类。


在真正做 partition 时,一般的做法是分级进行的,比如块的大小是 6464,此时需决策是否要往下走,做 4 个 3232,到 32 再往下做决策是否继续划分,即决策是一层一层向下推进的。


这篇论文做了一个初步的尝试,经过神经网的训练学习,输出的是图像块最终的完整的划分结果,将多级的决策结果一次性输出为最终的划分图。这种方法的优势在于,能够最大限度地降低神经网本身带来的复杂度,一次性导出结果。


另外,它在采用卷积神经网络决策的过程中,包含了 early termination 的决策。因为当网路深度和每层节点数增加的情况下,神经网本身也会引入一些新的复杂度。这篇论文的结果是跟 HM 比对的,在 encoder 端的速度大约提升了 50%。


AV1 是开放的标准,是一个开源的 codec。我们和谷歌合作一起贡献了 libaom 开源代码。上图是我们的截屏。由于采用了机器学习的方法,使得 encoder 进一步优化。


从图中可以看到,这个 CL 中不是深度学习,而是采用了一个非常简捷的神经网。一般 CL 中的神经网构造是一层到两层,每一层的节点在 128 个左右。所以这里并不是深度学习,是采用了一个比较简捷的网络结构。


以往在优化编码器时,常常采用 empirical 的想法,即做 partition 时,从一级、二级到三级,可以提取当前 block 层的方差,也可以将当前的 block 一分为四,提取每一个 subblock 的方差,对其进行一些分析,然后做出决策,给出 hard-coded 阈值。当块参数的大小低于某个阈值或高于某个阈值时,继续往下做 partition。所有这些决策可以用神经网代替,因为此时可以通过积累大量数据对一个简单的网络进行训练,同时再用这个网络生成决策,判断是否需要四叉树继续下分。


从上图可以看出,用一个简单的神经网就可以把 encoder 速度提升 10 - 20%。所以,我们在采用机器学习的方法时,不一定是深度学习,因为神经网的概念已经存在很久了,主要是用大数据做训练,从数据集中设计网络,对相对复杂的非线性关系建模,从而使得 encoder 的速度以及编码效率进一步提升。


2019-11-30 22:46924

评论

发布
暂无评论
发现更多内容

tidb-loadbalance 客户端方式软负载均衡配置实践

TiDB 社区干货传送门

数据库架构设计 数据库连接

TiDB迁移、升级与案例分享(TiDB v4.0.11 → v6.5.1)

TiDB 社区干货传送门

迁移 版本升级 安装 & 部署 扩/缩容 6.x 实践

maya软件在建模上有什么优势?

Finovy Cloud

maya 3D软件

Neuron 2.4.0发布:体验下一代工业物联网连接和管理

EMQ映云科技

UI 物联网 IoT neuron 企业号 4 月 PK 榜

迁移prometheus数据

TiDB 社区干货传送门

迁移 实践案例 集群管理

Parallels Desktop PD 18虚拟机关闭、停止、中止和暂停操作的区别

理理

pd虚拟机 Parallels Desktop PD18虚拟机操作

谷歌 Chrome 正式发布 WebGPU!Orillusion开源倒计时!

Orillusion

开源 WebGL 元宇宙 web3d #WebGPU

4 月 25 日直播预告 | 深入解读 Flink 1.17

Apache Flink

大数据 flink 实时计算

AIGC的阿克琉斯之踵

华为云开发者联盟

人工智能 AI 华为云 华为云开发者联盟 企业号 4 月 PK 榜

Mac人工智能图像降噪 Topaz Photo AI 安装激活教程

理理

Topaz Photo AI下载 图像降噪 苹果mac软件下载 Topaz Photo AI mac Topaz Photo AI破解

面试官:Redis有什么持久化策略?

做梦都在改BUG

Java redis 缓存 面试 持久化

微服务 - 注册中心和配置中心(Consul)

做梦都在改BUG

Java 微服务 注册中心 配置中心

超强版干货投递!Milvus 的部署心得、运维秘籍都在这里了!

Zilliz

Milvus Zilliz ChatGPT LLM zillizcloud

物联网常见协议之Amqp协议及使用场景解析

华为云开发者联盟

后端 物联网 华为云 华为云开发者联盟 企业号 4 月 PK 榜

新特性解析丨TiDB 资源管控的设计思路与场景解析

TiDB 社区干货传送门

版本测评

GitHub星标48k!蚂蚁金服开源的这份SpringBoot笔记

做梦都在改BUG

Java spring Spring Boot 框架

景区共享电单车如何投放?投放意义?

共享电单车厂家

共享电动车厂家 景区共享电单车 共享电单车投放

迁移PD坑-cdc任务全部stop

TiDB 社区干货传送门

实践案例 集群管理 故障排查/诊断

WordPress 使用 TiDB Cloud 替换 MySQL

TiDB 社区干货传送门

迁移 实践案例 版本测评 应用适配

阿里大牛纯手写的微服务入门笔记,从基础到进阶直接封神

做梦都在改BUG

Java 微服务 spring cloud alibaba

用数据分析的方法去做dba,维护好tidb数据库。

TiDB 社区干货传送门

6.x 实践

【Linux】之创建普通用户并禁止root用户远程登陆

A-刘晨阳

Linux 三周年连更 用户名

python正则 | python小知识

AIWeker

Python python小知识 三周年连更

PCB阻焊桥存在的DFM(可制造性)问题,华秋一文告诉你

华秋电子

免费领取 | ONES 联合中国信通院发布《中国企业软件研发管理白皮书》

万事ONES

OneNote 2019 for Mac 中文版附激活工具

真大的脸盆

Mac Mac 软件 笔记应用

国内外主流的8款 IT 项目管理平台

爱吃小舅的鱼

项目管理工具 PingCode 项目研发管理软件

即时通讯技术文集(第13期):Web端即时通讯技术精华合集 [共15篇]

JackJiang

网络编程 即时通讯 IM

从零到跑通TPC-H:如何快速实现查询计划

MatrixOrigin

分布式数据库 MatrixOrigin MatrixOne TPC-H

2023年全互联网最新版Java面试突击手册PDF版开源,押题率高达97%

开心学Java

Java 面试 java; 八股文 Java八股文

多元融合成为音视频技术发展新风向

中关村科金

实时音视频 监管合规

机器学习在视频编解码中的探索(一)_文化 & 方法_声网_InfoQ精选文章