视频编解码技术系列一:高清低码研究方向简介
高清低码,顾名思义“高清”即为根据人眼主观感受来提升画质,“低码”即为降低码率以节省带宽及存储成本。通过AI降噪、去压缩块儿效应、色彩增强、细节生成、超分辨率、插帧等技术、显著性检测、场景检测等技术,智能增强画质、带来主观感受的提升的同时有效的降低码率。高清低码可以有效提升视频播放平台终端用户视频打开速度,并且减少视频分发在带宽成本的上的消耗。
高清低码的技术研究方向,可以概括成如下六部分:
1)JND(Just Noticeable Distortion)/PVC
2)AI图像增强
3)AI图像分类及显著性检测
4)编码器感知
5)编码器+AI
6)端到端AI编码器
从上图我们可以看到,其中前三种方法不涉及编码器的改动,属于前后处理的范畴。技术较为成熟,不需要研发人员对编码器有深入理解,是各大厂商实现高清低码必备的一环。后三种方法涉及到了编码器内部的优化,其中编码器+AI以及编码器感知的方法是在标准的编码器上进行修改,需要遵循编码器的标准的前提下提升质量和降低码率。端到端的编码器这种方法其生产出来的是非标的视频压缩二进制流,属于较为前沿的研究方向,目前各大视频编码标准组织暂时还未针对AI编码器制定标准。我们需要对这几种方法进行研究,将不同的方法组合成工具集,根据用户的终端设备以及时延要求等,进行搭配组合。
1)JND(Just Noticeable Distortion)/PVC
人类视觉系统(HVS)是一切解压后视频信号的最终接收器,因此对视频编码考虑了人是否能查觉的因素后,可以容许视频中存在更多的噪声而不影响其主观质量。传统的保真度法则MSE、PSNR并不能准确地反映内容的主观质量。由于人类对像素空间和时间上的敏感度和掩蔽特性,人们无法感知在JND阈值以下的变化,显然,不可查觉的变化也就不需要再编码来浪费成本了。
目前对于JND/PVC的研究主要集中在以数据驱动、多通道建模和自上而下的估计上。常见的JND/PVC方法主要有时域和频域两种,其利用了人眼对于亮度、纹理掩蔽特性,某点像素低于对应的JND阈值,在计算中排除在外或者使用较大的量化值,这个变化人眼感觉不到,所以在提高压缩率的同时保存了主管质量。
2)AI图像增强
AI图像增强是通过卷积网络改善图像质量提升人眼主观感受,例如改善图像的颜色、亮度和对比度等,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,提高图像的视觉效果。卷积神经网络在很多低层次的计算机视觉任务中取得了巨大突破,包括图像超分辨、去模糊、去雾、去噪、图像增强等。对比于传统方法,基于CNN的一些方法极大地改善了图像增强的质量。业界基于深度学习的图像增强技术目前研究火热,效果提升大但同时占用资源较多,一般需要借助GPU/NPU等才能达到实时推理。
在实际落地中,往往是在发送端降噪、去块效应或者下采样等以降低码率。在接受端进行HDR、锐化、细节生成等以增强质量。目前一般通过GAN、AUTOML网络搜索、数据集预处理、剪枝、量化和蒸馏等模型压缩和加速技术、模型结构轻量化设计、重参数化等技术进行实现。当然要实际落地也存在一些挑战:基于GAN的图像增强技术可能会造成前后两帧效果不一致,从而导致画面闪烁,影响视觉效果。需要利用帧间信息进行约束,同时借鉴视频增强。移动端运算资源有限,不同于分类及检测问题,图像增强需要重建全图,所以耗费极大计算量。
3)AI图像分类及显著性ROI
视觉显著性(Visual Attention Mechanism,VA,即视觉注意机制)是指面对一个场景时,人类自动地对感兴趣区域进行处理而选择性地忽略不感兴趣区域,这些人们感兴趣区域被称之为显著性区域。视觉显著性包括从下而上和从上往下两种机制。从下而上也可以认为是数据驱动,即图像本身对人的吸引,从上而下则是在人意识控制下对图像进行注意。计算机视觉领域主要做的是从下而上的视觉显著性,而从上而下的视觉显著性由于对人的大脑结构作用不够了解,无法深刻的揭示作用原理,在计算机视觉领域的研究也相应很少。
我们可以利用人的这种注意力机制对不同区域的编码参数或者有选择性的增强进行调整,如果说之前的AI图像是一种通过卷积神经网络对低级特征的表述,那么AI图像分类及显著性ROI是从高层次特征对图像进行表征。通过图像分类我们可以从帧的层面上对不同场景采取不同的编码参数。利用图像显著性检测算法检测出最能引起人的视觉注意的物体区域,对该区域采用不同编码参数。
4)编码器感知
在编码过程中会产生诸如运动矢量MV、量化信息QP、码率控制信息等,我们可以通过编码器关键部位插入Probe进行信息提取,融合编码器编码过程中产生的各类信息进行图像增强,利用编码器编码过程中产生的信息指导图像增强。
该方法的一个好处是,利用这些编码过程的“副产品”,我们可以不用消耗额外的计算量,对后续的图像增强等进行指导。
5)编码器+AI
业界基于深度学习的图像增强技术目前研究火热。但目前还处于发展阶段,还未达到成熟,有很多方面值得探索。编码器的组件使用深度学习方法进行优化,比如基于CNN的H265/HEVC 帧内编码快速CTU分区。编码器的组件也可以使用强化学习或者深度循环神经网络进行优化。
基于深度学习的视频编码分为两种:
(1)采用深度学习替代传统视频编码中部分模块
(2)端到端采用深度学习编码压缩
一般来说,传统的视频编码方案都是用的混合编码策略。上面图中那么多的模块,都可以用深度网络来做的:图片内预测、图片间预测、跨通道预测、概率分布建模、变换、循环后/循环内滤波、下采样和上采样。
该方法需要遵循编码器标准的情况下,使用AI进行组件的优化,并且需要优化推理网络的速度。另外,该方法的通用性需要得到验证,防止在特殊场景下的性能恶化。
6)端到端AI编码器
过去的几十年,有若干传统视频压缩算法提出,比如H.264和H.265,大多数算法遵循预编码结构。尽管提供了高效的压缩性能,他们依然需要人工设计并且无法端到端的联合优化。端到端的AI编码器将视频压缩的所有组件,如运动估计、运动补偿、残差压缩、运动压缩、量化和比特率估计、均应用到了端到端的神经网络中。通过一个损失函数进行基于RDO的联合优化,目的是更高的压缩性能。
传统和基于 AI 的编解码技术将在未来相当长的一段时间里呈现出并行发展的态势。以往的混合编码方法依赖于像素空间操作来减少时空冗余,这可能存在不准确的运动估计或效率较低的运动补偿。端到端深度学习视频压缩框架利用深度神经网络强大的非线性表示能力来解决这个问题。基于学习的视频压缩技术目前处于发展中,其产生的码流大概率是非标的,未来将会有更多的团队来共同来对神经编码去制定一些统一的标准。
这个领域目前研究火热,但目前也遇到了一些挑战,如何解决诸多挑战达到商业落地,值得思考:
(1)由于神经编码后续模块的不断增加,如何更好地对多模块进行端到端训练是一个需要解决的问题。
(2)神经编码目前性能比较的基准没有一个比较好的统一标准。
(3)多帧间的率失真优化和码率分配问题在训练过程中往往很难解决,一个模型很难在所有序列上达到整体的最优性能,模式选择以及训练多模型对于性能来说也尤其重要。
- 点赞
- 收藏
- 关注作者
评论(0)