用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
用AI搞视频编解码器,现在路子有点“野”。
插帧、过拟合、语义感知、GAN……你想过这些“脑洞”或AI算法,也能被用到编解码器上面吗?
例如,原本的算法每帧压缩到16.4KB后,树林开始变得无比模糊:
但在用上GAN后,不仅画面更清晰,每帧图像还更小了,只需要14.5KB就能搞定!
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s4.51cto.com/oss/202110/08/50d93dda374c090bc6afabe2ac86899a.jpg)
又例如,用插帧的思路结合神经编解码器,能让最新压缩算法效果更好……
这一系列算法的思路,背后究竟是什么原理,用AI搞编解码器,潜力究竟有多大?
我们采访了高通工程技术副总裁、高通AI研究方向负责人侯纪磊博士,了解了高通一些AI编解码器中的算法细节和原理。
编解码器标准逐渐“内卷”
当然,在了解AI算法的原理之前,需要先了解视频到底是怎么压缩的。
如果不压缩,1秒30帧、8bit单通道色深的480p视频,每秒就要传输80+Mbps数据,想在网上实时看高清视频的话,几乎是不可能的事情。
目前,主要有色度子采样、帧内预测(空间冗余)和帧间预测(时间冗余)几个维度的压缩方法。
色度子采样,主要是基于我们眼睛对亮度比对颜色更敏感的原理,压缩图像的色彩数据,但视觉上仍然能保持与原图接近的效果。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/1b13a7d130042b157e27a8eb5e0b9640.jpg)
帧内预测,利用同一帧中的大片相同色块(下图地板等),预测图像内相邻像素的值,得出的结果比原始数据更容易压缩。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/0f3a2edf1071013308bfbd1711cdbb97.jpg)
帧间预测,用来消除相邻帧之间大量重复数据(下图的背景)的方法。利用一种名叫运动补偿的方法,用运动向量(motion vector)和预测值计算两帧之间像素差:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s4.51cto.com/oss/202110/08/7c2a1d04c0d07db5a1beb97f75ede267.jpg)
这些视频压缩的方法,具体到视频编解码器上,又有不少压缩工作可以进行,包括分区、量化、熵编码等。
然而,据侯纪磊博士介绍,从H.265到H.266,压缩性能虽然提升了30%左右,但这是伴随着编码复杂度提高30倍、解码复杂度提高2倍达成的。
这意味着编解码器标准逐渐进入了一个“内卷”的状态,提升的压缩效果,本质上是用编解码器复杂度来交换的,并不算真正完成了创新。
因此,高通从已有压缩方法本身的原理、以及编解码器的构造入手,搞出了几种有意思的AI视频编解码方法。
3个方向提升压缩性能
具体来说,目前的AI研究包括帧间预测方法、降低解码复杂度和提高压缩质量三个方向。
“预判了B帧的预判”
从帧间预测来看,高通针对B帧编解码提出了一种新思路,论文已经登上ICCV 2021。
I帧:帧内编码帧(intra picture)、P帧:前向预测编码帧(predictive-frame)、B帧:双向预测内插编码帧(bi-directional interpolated prediction frame)
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s5.51cto.com/oss/202110/08/5e16fd3bc2c0f3f9ef4c53205825898f.jpg)
目前的编解码大多集中在I帧(帧内预测)和P帧上,而B帧则是同时利用I帧和P帧的双向运动补偿来提升压缩的性能,在H.265中正式支持(H.264没有)。
虽然用上B帧后,视频压缩性能更好,但还是有两个问题:
一个是视频需要提前加载(必须提前编码后面的P帧,才能得到B帧);另一个是仍然会存在冗余,如果I帧和P帧高度相关,那么再用双向运动补偿就显得很浪费。
打个比方,如果从I帧→B帧→P帧,视频中只有一个球直线运动了一段距离,那么再用双向运动补偿的话,就会很浪费:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s4.51cto.com/oss/202110/08/e52119bbe46bc2dcfbd006c12de712cb.jpg)
这种情况下,用插帧似乎更好,直接通过时间戳就能预测出物体运动的状态,编码计算量也更低。
但这又会出现新的问题:如果I帧和P帧之间有个非常大的突变,例如球突然在B帧弹起来了,这时候用插帧的效果就很差了(相当于直接忽略了B帧的弹跳)。
因此,高通选择将两者结合起来,将基于神经网络的P帧压缩和插帧补偿结合起来,利用AI预测插帧后需要进行的运动补偿:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/7281d32d0509d5decbc10b51b4b6ed27.jpg)
别说,效果还确实不错,比谷歌之前在CVPR 2020上保持的SOTA纪录更好,也要好于当前基于H.265标准实现开源编解码器的压缩性能。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/ce5a975f6e2192195f398b9cdb8bbc14.jpg)
除此之外,高通也尝试了一些其他的AI算法。
用“过拟合”降低解码复杂度
针对编解码器标准内卷的情况,高通也想到了用AI做自适应算法,来像“过拟合”一样根据视频比特流更新一个模型的权重增量,已经有相关论文登上ICLR 2021。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s3.51cto.com/oss/202110/08/a9b9763bb5341fcb4a3edd2ad8f6ec94.jpg)
这种方法意味着针对单个模型进行“过拟合”,对比特流中的权重增量进行编码,再与原来的比特流进行一个比较。如果效果更好的话,就采用这种传输方式。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/8085fc862d3f38db9b7dd31d57b22b17.jpg)
事实证明,在不降低压缩性能的情况下,这种方法能将解码复杂度降低72%,同时仍然保持之前B帧模型达到的SOTA结果。
当然,除了视频压缩性能以外,单帧图像被压缩的质量也需要考虑,毕竟视觉效果也是视频压缩追求的标准之一。
用语义感知和GAN提高压缩质量
用语义感知和GAN的思路就比较简单了。
语义感知就是让AI基于人的视觉来考虑,选出你在看视频时最关注的地方,并着重那部分的比特分配情况。
例如你在看网球比赛时,往往并不会关注比赛旁边的观众长什么样、风景如何,而是更关注球员本身的动作、击球方法等。
那么,就训练AI,将更多的比特放到目标人物身上就行,像这样:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s6.51cto.com/oss/202110/08/94bfb41903605d081b95245f5cbb9260.jpg)
从结构上来讲也比较简单,也就是我们常见的语义分割Mask(掩膜):
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s2.51cto.com/oss/202110/08/7ec291ac65fe12a93a56417d07f65b15.jpg)
这种方法能很好地将受关注的局部区域帧质量提升,让我们有更好的观看效果,而不是在视频被压缩时,看到的整幅图像都是“打上马赛克”的样子。
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s2.51cto.com/oss/202110/08/3b4117f7b3a520b49c796ffcc292eefd.jpg)
据高通表示,这种语义感知的图像压缩,目前已经在扩展到视频压缩上了,同样是关注局部的方法,效果也非常不错。
而基于GAN的方法,则更加致力于用更少的比特数生成视觉效果同样好的图像质量:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s2.51cto.com/oss/202110/08/526841a94bcd3522336e8b07715331b2.jpg)
据高通表示,数据集来自CVPR中一个针对图像压缩的Workshop CLIC,提供了大约1600张的高清图片,利用自研的模型,能在上面训练出很好的效果:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s4.51cto.com/oss/202110/08/8418ea2163256117cccf96fe94728cbd.jpg)
也就是开头的图片效果,即使在大小被压缩后,基于GAN的图像还是能取得更好的视觉质量:
![用AI打破编解码器内卷,高通最新几篇顶会论文脑洞有点大](https://s4.51cto.com/oss/202110/08/5baa9a699162ab8e0dc2bc3e225f71cb.jpg)
期待这些技术能马上应用到手机等设备上,让我们看视频的时候真正变得不卡。
相关论文:
[1]https://arxiv.org/abs/2104.00531
[2]https://arxiv.org/abs/2101.08687
相关文章
- 一篇运维老司机的大数据平台监控宝典(2)-联通大数据集群平台监控体系详解
- 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解
- 空中换引擎 博时基金数字化转型经验谈
- 如何高效地学习编程语言
- 作为一名阿里巴巴数据分析大牛,送给学弟学妹的经验积分
- 为什么要学习R语言
- Hadoop大数据分析平台的介绍性讨论
- 最全面的Spring学习笔记
- 16个用于数据科学和机器学习的顶级平台
- 给有抱负的数据科学家的六条建议
- 如何做一枚合格的数据产品经理
- 除Kaggle外,还有哪些顶级数据科学竞赛平台
- 一个鲜为人知却可以保护隐私的训练方法:联合学习
- 干货 :送你12个关于数据科学学习的关键提示(附链接)
- 大数据行业有多少种工作岗位,各自的技能需求是什么?
- 中国移动研究院常耀斌:商用大数据平台的研发之路
- 这些数据科学家必备的技能,你拥有哪些?
- 自学成才的开发者有何优势和劣势?
- Gartner报告:正处于数据科学与机器学习工具 “大爆炸”的时代
- Ready Computing借助InterSystems IRIS医疗版为医疗机构提供具有高度互操作性和可扩展性的解决方案