VCIP2020:相同主观质量下基于学习的UGC短视频低码率编码

Posted Dillon2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VCIP2020:相同主观质量下基于学习的UGC短视频低码率编码相关的知识,希望对你有一定的参考价值。

本文来自VCIP2020文章《Learning to encode user-generated short videos with lower bitrate and the same perceptual quality》

对于用户生成内容(UGCuser-generated content )平台需要将用户上传的视频转码后再分发。UGC视频有以下几个特点,1)视频非常短,大部分都在一个场景,没有场景切换。2)由于创作者缺乏专业设备和摄影技巧,视频质量通常不好。3)视频通常经过后处理。为了优化UGC视频,文中构建了一个数据集用于UGC视频的感知编码优化。

数据集构建

CRF是常用的码率控制方法,它根据复杂度调整QP使得视频质量保持稳定。如果对所有的短视频都使用相同的CRF值可以使这些视频保持同样的质量水平,编码器根据需要去分配码率。对于短视频来说,大部分都没有场景切换,相比于长视频(例如电影)码率波动没那么重要。因此CRF很适合短视频场景,但是CRF是针对客观指标进行优化的,设定相同的CRF值不能保证主观质量稳定。

观察发现,对于一些UGC视频调高CRF(例如从24调到32)会导致PSNR或VMAF大幅下降,但是并没有引起主观质量下降。如果能识别出这类视频,并对它们使用较大的CRF值则可以在不影响主观质量的情况下大幅节省码率。因此文中提出基于学习的方法来判断这类视频。

数据集构建过程

从抖音选择1000条视频,其中一半是热门视频,一半是随机选择。视频大致分为以下几类(Fig.1是一些示例):

1)自拍视频:这类视频人脸占据了画面的大部分,而且通常会使用美颜滤镜进行处理。

2)室内外场景:室外场景包括自然景观、街景等。室内场景包含动物、日常物品等。

3)SCC内容:如动漫、录屏等。

对每个视频使用x264进行编码,preset为slow,每个视频使用CRF为24和32编码为两个版本记为CRF24、CRF32。根据CRF24和CRF32的主观质量是否相同,给每个视频打标签(label)"SAEM"或"NOT SAME"。

这1000个视频都是720x1280,帧率涵盖15fps,30fps,60fps,90fps。视频时长4-59秒,大部分是15秒。最终375个视频被标记为"SAME",625个视频被标记为"NOT SAME"。

将1000个视频都按crf等于24编码平均码率为1889.59kbps,如果将其中的375个视频crf改为32则平均码率为1486.66kbps,节省了21.3%的码率。

为了能在相同主观质量下节省码率,需要训练模型对视频进行正确分类(二分类)。

模型

为了解决这个二分类问题,文中尝试了深度学习方法和SVM等方法。

深度学习模型

文中尝试了典型的深度学习模型进行视频分类,它们将视频帧作为输入,输出一个二元标签。尝试了三种网络结构:1)3D ConvNets。2)LRCN。3)Inception-v3 Features+LSTM。

三种模型效果如表1所示。

其中数据集按照80/20划分为训练集和测试集。可以看见validation accuracy都不高,主要是因为训练集不充足导致模型过拟合。

使用编码数据作为高层特征

编码的bitrate、PSNR、SSIM、VMAF等能反映视频的特点,基于这个假设可以将视频进行编码使用编码结果作为高层特征对视频进行分类。

根据计算复杂度可以构建三个特征集,特征集1包括CRF24编码的bitrate、PSNR、SSIM。特征集2在特征集1的基础上加上CRF24编码的VMAF。特征集3包括CRF24和CRF32的编码结果。使用这些特征训练SVM,结果如表2。

可以看见随着特征集中特征数量增多,模型表现越来愈好,尤其是加入VMAF特征之后。与深度学习模型相比,SVM模型的表现更好。

感兴趣的请关注微信公众号Video Coding

以上是关于VCIP2020:相同主观质量下基于学习的UGC短视频低码率编码的主要内容,如果未能解决你的问题,请参考以下文章

VCIP2020:不同尺寸块基于神经网络的帧内预测

VCIP2020:面向机器视觉的HEVC码率控制

VCIP2020:SCC编码工具的优化实现

VCIP2020:VVC中的ACT

短视频竞争仍然激烈,UGC内容也迎来井喷

大中型 UGC 平台的反垃圾(anti-spam)工作