深度学习赋能视频编码

简介: 深度学习赋予了诸如计算机视觉等领域新的研究契机,其应用也获得了视频编码领域的诸多关注。在LiveVideoStack线上分享中北京大学信息技术学院 助理研究员王苫社详细介绍了当下深度学习在视频编码中的应用,以及其在视频编码标准中的前景。

文 / 王苫社


整理 / LiveVideoStack


直播回放


https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=edc99c13b9a24a2093486239dbac8785


大家好,我是来自北京大学的王苫社,本次带来的分享主要是从神经网络视频编码历史和基于深度学习的视频编码进展两方面来与大家探讨关于深度学习与视频编码中的一些问题。


1. 神经网络视频编码历史


1.1 起源

image.png


基于神经网络来做视频编码相关的内容最早可以追溯到上世纪八十年代,那时已经有人将三层人工神经网络用于图像变换编码,甚至有人在尝试神经网络硬件电路的实现。


image.png


到上世纪九十年代初,学界已经出现了基于多层感知机的图像编码,他们使用多层感知机的结构来做DPCM编码,这也是预测技术使用网络结构的第一篇Paper。


image.png


到九十年代中期的时候已经有了自适应预测编码,当时主要采用的是将图像划分为小块进行编码,同时也出现了利用空域临近像素作为辅助预测的方式。


image.png


到2000年左右关于编码出现了端到端的多层感知机编码和有图像扩展到视频编码两个主要问题。


image.png


自编码器在2006年开启了深度学习时代。


2. 基于深度学习的视频编码进展


image.png


接下来我将从预测增强、环路滤波和深度学习与视频编码标准三个方面来为大家介绍基于深度学习的视频编码到目前为止的进展。


image.png


首先为大家描述一下深度学习在视频编码框架中都应用到了哪些环节。早期在VVC的前身JEM中就已经有人提出了帧内预测的方案,帧间编码里需要重点关注分像素的插值、预测增强和参考帧质量提升三个方面,环路滤波无论在哪一代标准里使用基于深度学习的方式都能提升预测性能,模式决策在编码优化中能够通过牺牲一定性能来获得很好的编码加速,基于神经网络的部分也有人提出由神经网络直接决策RDO中的一系列划分和模式选择的问题。


2.1 帧内预测

image.png


帧内预测基本可以总结为是一种数据驱动的帧内预测方法,工作中是使用对应块周围的左侧一列和上面一行,甚至可能使用周围左侧两列或者上面两行来对当前所对应的块进行预测,这其中的工作是基于网络复杂度较高的全卷积网络,分为低复杂度和全复杂度两种情况。低复杂度是将网络参数减半,从数据中分析可以得出网络参数减半对性能没有明显地下降,复杂度却降低了很多,一般情况下可以认为性能提升的空间和复杂度的降低之间能够寻找到非常好的treat off。对于帧内预测而言,DC和planar在双模型的结构里是比较特殊的模式,所以要为DC和planar训练专门的模型,其余的帧内预测在使用相同的网络结构后可以使性能得到进一步的提升。从数据当中可以知道,无论怎样使用数据网络和降低参数量,网络复杂度依旧不能达到预期。


image.png


关于帧内预测还可以对Intra 8x8 PU 做进一步的残差去除。


image.png


如上图所示,右下角如果是一个8x8 PU,在获取到HEVC最右的Intra mode之后,再使用它周围的残差空间相关性进一步对产生的残差进行学习,残差结合已经获取到的重建值最终得到输出结果。


2.2 基于深度学习的分像素插值

image.png


基于深度学习的分像素插值分为针对1/2和1/4像素设计神经网络两个工作。上图左侧是只针对1/2像素设计神经网络,右侧是结合图像的超分辨率技术把1/4像素涉及神经网络也考虑在内。传统技术在视频编码获得3%的增益十分困难,但基于深度学习的插值方式可以做到这一点。


image.png


帧间预测增强的技术需要利用空域和时域的联合信息去构建网络结构,通过周围重建像素和时域参考像素结合输入,输出是对当前帧间提升的预测。时域参考往往在应用中有一些方式技巧,比如对当前块在参考帧上做粗略的运动估计,对应块和当前块相关性更强,更有利于帧间预测的工作。


image.png


在帧间预测提升预测准确性方面还有两个工作分别是帧间双向预测(BIP)和虚拟参考帧生成,双向预测对于B帧编码块来说有前向和后向预测,双向预测在average之后就可以拿到块对应的预测值。对于双向预测部分,我们基于前后向预测的权重分配设计了一个网络结构,利用前向后向生成当前所预测块的预测值,性能提升接近3%,在LDB情况下最高也可以获得1.7%的增益,虽然对性能的提升效果非常明显,但同时也提高了编解码的复杂度。对于RA结构下,最高层帧的前向参考集合和后向参考集合会出现重复的参考帧,采用预定的方式拿掉之后使用前向和后向的参考帧生成虚拟参考帧,使当前参考帧的前向参考集合和后向参考集合都是完全不同的帧,对性能的提升也非常可观。但在运动剧烈的情况下会导致性能下降,在此方法基础上进行改进之后可以不直接替换参考帧,而是将虚拟参考帧直接放到尾端,同时编码新的Reference index,这样做也可以在性能上获得比较明显的增益,最终在HEVC上性能增益达到4.6%,而JEM7.1上性能增益不到1%,这是由于JEM本身对于帧间预测的提升技术做了很多工作,预测准确性有很大的提高。


2.3 环路滤波


2.3.1 基于整帧的处理


image.png


环路滤波基于整帧的处理是整帧拿到网络结构里进行滤波之后再使用网络结构进行一遍滤波,这时会收到很明显的增益,对于网络结构的设计也要有一定技巧。整帧本身帧内内容相关性很强,不同内容会在滤波方式选择上存在差异。


image.png


帧内编码不会用于后续的参考,所以用网络结构可以提升当前帧所对应的质量。在不同QP下需要训练不同的网络结构,完成所有编码之后可以得到残差,再使用滤波处理对残差进一步降低。


image.png


2.3.2 基于内容特性的神经网络环路滤波


image.png


整帧是比较大的粒度,在实验中不得不考虑到其对应的内容差异性,针对不同内容特性的视频图像训练CNN模型,在考虑到内容的自适应特性情况下,我们将CTU分为不同的内容类别,不同的类别使用不同的CNN模型,这样做在RA情况下可以获得6%的增益。网络结构设计考虑到受到复杂度约束,层数限制在9-10层,有人在此基础做了些拓展,层数增加到十几层甚至三十几层,最终会收获接近10%的增益甚至更高。


2.3.3 智能编码与VVC(JVET-N0110)


image.png


JVET-N0110这个提案在ALF之后放了一个浅层的神经网络,为了降低复杂度使亮度分量与色度分量共享网络,又为了进一步提升性能且考虑到比较小的内容自适应特性,在帧级、CTU和32x32块上都放了开关。对于编码端来讲它的复杂度没有发生改变,这是因为在测试中经常会遇到CPU太差但GPU很好的情况,这时运行VVC的参考软件GPU的速度相比CPU就显得不是很慢了。1.36%的性能增益在解码端只有47%的复杂度增加,大体还是在允许范围内的。


2.3.4 智能编码与VVC(JVET-N0133)


image.png


JVET-N0133这个提案里也提到了网络结构,但它是将所有滤波包括Deblock、SAO、ALF全部替换,在设计之中充分考虑到了块划分结构和QP。


2.3.5 智能编码与VVC(JVET-N0169)


image.png


JVET-N0169提案表示不同位置下神经网络获取的性能的差异还是存在的,QP和块划分结构必须作为很重要的辅助信息输入,本提案为了进一步提速而分块进行滤波,这样就可以充分利用GPU上的并行资源提升并行化程度。


2.3.6 智能编码与VVC(JVET-N0254)

image.png


在JVET-N0254网络结构里提出了一种深度可分离卷积,它可以有效减少网络结构的参数量,降低网络复杂度的提升,编码端编码复杂度没有太多改变,但解码复杂度提升幅度很大。


2.3.7 智能编码与AVS3

image.png


在国内的AVS3标准中对于深度学习与视频编码的探索也有很多提案,其中代表性的提案内容是对QP进行分段,一段QP使用一个网络结构。同样在替换所有滤波之后发现深度学习的方式依然可以带来非常可观的性能增益。


3. 帧内编码模式决策


3.1 基于CNN的CU模式决策

image.png


image.png


基于CNN的CU模式决策是一个相当系统性的工作,首先它需要实现FastCUMode,并且应用在HEVC Intra硬件编码器的实现里。


3.2 HEVC Intra硬件编码器实现


image.png


image.png


HEVC Intra硬件编码器的实现使用类似LeNet结构,QP在其中作为必要考虑因素。关于模式决策是将编码模式决策建模为二分类问题,预测当前编码单元是否划分直接当做分类问题对待。


3.3 VLSI设计CNN加速模块


image.png


image.png


通过硬件设计的加速模块可以看到63%的时间节省,同时降低2.7%的编码性能,相对传统技术来讲性价比不是特别高,但考虑到这种方法已经在硬件化世界做了一些实现,综合各方面还是比较好的选择。


4. 帧内编码模式决策


4.1 CTU级处理


 image.png


对于视频编码而言,有时直接采用下采样编码然后对于重构部分直接上采样返回的质量也很可观,CTU级处理思路是指采用全分辨率编码,上采样模块使用DCT插值或CNN,首先用RDO决策上采样方式,之后再做一次RDO来决定是否采用下采样方式。


image.png


下采样-上采样编码中有很多技巧性的设计,比如亮度分量网络和色度分量处理,其中色度分量网络处理是使用亮度作为引导,这一切都是为了提升编码效率。


image.png


对当前块做了下采样之后对应QP便不再适用,此时需要对QP进行调整,通过拟合的方式可以得到原始QP与下采样QP之间存在着线性关系,这种线性关系可以保证在下采样之后的编码效率。


image.png


上图所述,不同QP情况下所对应的编码效率提升非常明显,其中特别给出的UHD超高清分辨率下的性能增益是9%,对于大分辨序列来讲,先下采样之后再上采样返回,对码率的节省至少在某些区域上看来是非常明显的,这点也可以在classes A和E上的到证实。


image.png


在算法命中率方面,相当大比例的区域都和传统方式差不多,与深度学习的方式吻合。


image.png


从个人的角度,就目前看来,借助深度学习将视频编码的性能提升10%,甚至更多还是非常有可能的,但于此同时整体的复杂度也必然是需要重点关注与研究的问题。目前,基于深度学习的端到端的视频编码也已经有了一些新的成果。而对于为什么深度学习能够带来明显的视频编码性能提升?这个问题迄今为止尚未有人能够提供细致、清楚的理论依据。虽然深度学习为视频编码性能的提升提供了许多的思路,但距离其在视频编码标准当中的应用,仍需要很长的一段时间来进行探索。

————————————————

版权声明:本文为CSDN博主「LiveVideoStack_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/96472461


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

阿里云视频云@凡科快图.png

相关文章
|
1月前
|
机器学习/深度学习 边缘计算 监控
基于深度学习的图像识别技术在智能监控领域的应用
【2月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已成为推动计算机视觉领域进步的关键力量。特别是在图像识别任务中,深度神经网络通过模仿人类大脑处理信息的方式,显著提升了对复杂场景的理解能力。本文旨在探讨基于深度学习的图像识别技术在智能监控系统中的应用,重点分析了卷积神经网络(CNN)的结构优化、训练策略以及在实际视频流分析中的效能表现。同时,讨论了该技术在实时监控数据处理、异常行为检测和多目标跟踪等方面的创新应用,并对未来发展趋势进行展望。
|
1月前
|
机器学习/深度学习 监控 算法
基于深度学习的图像识别技术在智能监控中的应用
【2月更文挑战第23天】 随着人工智能技术的迅猛发展,尤其是深度学习在图像处理领域的突破,基于深度学习的图像识别技术已经被广泛应用于智能监控系统中。本文将探讨深度学习技术如何提升监控系统的智能化水平,包括实时目标检测、异常行为识别以及人脸识别等功能。同时,文章也将分析当前所面临的挑战和潜在的解决方案,为未来智能监控系统的发展提供参考。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能(AI)之计算机视觉和自然语言训练文件
人工智能(AI)之计算机视觉和自然语言训练文件
45 0
|
2天前
|
机器学习/深度学习 人工智能 监控
深度学习赋能智能监控:图像识别技术的革新与应用
【4月更文挑战第23天】 随着人工智能的迅猛发展,尤其是深度学习在图像处理领域的突破性进展,智能监控系统已经迎来了一场技术革命。本文旨在探讨基于深度学习的图像识别技术在智能监控中的实际应用,并分析其对提高监控效率、确保公共安全和推动智慧城市建设的重要性。我们将重点讨论卷积神经网络(CNN)和循环神经网络(RNN)等模型在实时视频分析和异常行为检测中的应用,并展示如何通过这些技术实现高效准确的监控。
|
3天前
|
机器学习/深度学习 人工智能 监控
深度学习赋能智能监控:图像识别技术的进阶应用
【4月更文挑战第22天】 随着人工智能的飞速发展,特别是深度学习技术的突破,图像识别在智能监控系统中扮演着日益重要的角色。本文旨在探讨基于深度学习的图像识别技术如何革新现代智能监控系统,提升其准确性和效率。首先,文中将介绍深度学习在图像处理领域的基础原理及其关键算法。接着,分析当前智能监控面临的挑战及深度学习提供的解决方案。最后,通过案例研究,展示深度学习在实际智能监控中的应用成效,并讨论其对未来监控技术发展的影响。
|
2天前
|
机器学习/深度学习 监控 算法
探索深度学习在图像识别领域的创新应用
【4月更文挑战第23天】 随着人工智能技术的飞速发展,深度学习在图像识别领域已取得显著进展。本文旨在探讨深度学习技术如何革新现有的图像识别方法,并分析其对行业应用产生的深远影响。通过引入先进的卷积神经网络(CNN)架构、增强学习算法和优化的数据处理流程,我们展示了深度学习模型在提高准确率、处理速度及应对复杂环境变化方面的卓越性能。此外,文章还讨论了目前面临的挑战和未来的发展趋势,为该领域的研究者和实践者提供参考。
|
7天前
|
机器学习/深度学习 算法 安全
揭秘深度学习在图像识别中的创新应用
【4月更文挑战第18天】 随着人工智能技术的飞速发展,深度学习已成为推动其进步的核心动力之一。特别是在图像识别领域,深度学习技术的应用不仅突破了传统算法的局限,还极大地拓展了计算机视觉的边界。本文将深入探讨深度学习在图像识别中的创新应用,包括最新的网络架构设计、数据增强技巧、迁移学习策略以及优化算法等。我们将分析这些技术如何共同作用,提升模型的识别精度和泛化能力,同时也会讨论当前面临的挑战与未来的发展趋势。
|
17天前
|
机器学习/深度学习 监控 算法
深度学习赋能现代智能监控:图像识别技术的突破与应用
【4月更文挑战第8天】 在数字时代,智能监控系统作为城市安全和高效管理的关键组成部分,其发展受到了广泛关注。本文聚焦于基于深度学习的图像识别技术在智能监控领域的应用,探讨了该技术如何提升监控系统的自动化和智能化水平。通过对卷积神经网络(CNN)、循环神经网络(RNN)等深度学习模型的研究,分析了其在实时目标检测、行为识别和异常行为分析中的具体应用。文章还讨论了这些技术在实际部署中遇到的挑战,如数据隐私保护、算法优化和系统集成等问题,并提出了相应的解决策略。
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
利用深度学习进行自然语言处理的最新进展
自然语言处理(NLP)是人工智能领域的一个重要分支,近年来,深度学习技术的发展为NLP带来了革命性的进步。本文将介绍最新的深度学习技术在NLP领域的应用,包括文本分类、情感分析、语义理解等方面的进展和实践经验。
|
1月前
|
机器学习/深度学习 自然语言处理
基于深度学习的自然语言处理技术在智能客服系统中的应用
【2月更文挑战第21天】随着人工智能技术的不断发展,自然语言处理(NLP)技术在各个领域得到了广泛应用。本文主要探讨了基于深度学习的自然语言处理技术在智能客服系统中的应用。首先介绍了深度学习和自然语言处理的基本概念,然后分析了智能客服系统的工作原理和技术要求,接着详细阐述了基于深度学习的自然语言处理技术在智能客服系统中的具体应用,包括语义理解、情感分析和问答系统等。最后对基于深度学习的自然语言处理技术在智能客服系统中的优势和挑战进行了总结。
46 1