音视频生产关键指标:视频质量优化丨音视频工业实战

2023-01-08  本文已影响0人  关键帧Keyframe

这个公众号会路线图 式的遍历分享音视频技术音视频基础音视频工具音视频工程示例音视频工业实战关注一下成本不高,错过干货损失不小 ↓↓↓

这篇文章是音视频工业实战主题专栏中关于视频质量优化的思路探讨。

随着音视频内容日趋成为主要的内容消费载体,用户们对视频清晰度画质的要求也在不断提高,我们在这里把视频清晰度、画质都统称为视频质量,来聊一聊如何对其进行优化。

1、视频质量评估标准

要对视频质量进行优化,首先需要确定评估视频质量的标准,用来评价视频质量的标准通常有以下几种:

下图是以上各种视频质量评估标准的具体参数:

图片

几种视频质量评估标准

可以看到视频质量评估分为主观评估方式(如 MOS)和客观评估方式(如 PSNR、SSIM、VMAF)。通常主观质量评估方式依赖人眼观看并打分,这种得到的分数比较精确,但是很耗时间和人力,不方便大规模部署。所以在工程上比较通用的还是客观评估方式。

在安装相关插件后,我们可以通过 FFmpeg 来使用 PSNR、SSIM、VMAF 这几种评估标准,相关命令如下:

// PSNR
ffmpeg -i src.mp4  -i dst.mp4 -lavfi psnr="stats_file=psnr1.log" -f null -

// SSIM
ffmpeg -i src.mp4 -i dst.mp4 -lavfi ssim=stats_file=ssim_logfile.txt -f null -

// VMAF
ffmpeg -i src.mp4  -i dst.mp4 -filter_complex libvmaf -f null -

2、编码优化

通过上面的描述我们基本了解了视频质量的评价标准以及评估方法,如果要提升视频质量,我们还需要了解一下视频的基本属性,以及这些属性可以在多大程度上影响视频的质量。

我们首先使用 MediaInfo 来查看一下视频的属性:

图片

视频属性

我们可以把视频看作在一组经过编码后的图像序列,所以影响视频最终呈现质量的最关键的因素有编码质量画面质量。我们先来看看编码方面的优化。

2.1、选择合适的视频码率

视频码率是指存储单位时间视频需要的数据大小,单位是 kbps,码率越大,单位时间填充的数据就越多,通常视频质量就越高。

但是码率并不是越大就越好,码率设置超过一定的大小,对视频画质的提升已不太明显,肉眼已经看不出区别,但是视频大小会增加很多。所以设置合适的码率就行。

得物视频清晰度优化一文中给出过一种码率设置方式是:

Bitrate = width * height * frameRate * factor
factor = 0.15

但上面这种计算方法也不是万能的,对于同一分辨率同一帧率的视频,当画面较为复杂时,则需要加大码率因子。更精准的方法则是通过抽帧进行图片识别,根据画面的复杂度配置不同码率。比如,腾讯云在如何实现好画质[1]的文档中就根据不同游戏的画面复杂情况给出过码率和分辨率设置的推荐:

针对具体的情况,我们可以测试手机的编码质量来选择指定分辨率、帧率时对应的码率甜点

在这种测试中我们一般需要分场景进行,比如:

测试指标我们可以采用上面提过的 PSNR、SSIM、VMAF 进行综合考量。

比如,我们可以测试 iOS 硬编,使用 540P,15 帧推流时,设置不同的码率(800kbps-1300kbps)分别测试各场景下的各指标值,找出 R-D(码率-失真)曲线拐点出现的区间,这就是我们要找的码率甜点

在测试 iOS 硬编时需要注意的是:可以不采用 PSNR 指标来参考,原因是 iOS 硬编自带前处理模块对亮度分量进行了大幅修改。

下面是一组粗略的测试结果示例:

2.2、选择合适的码率分配模式

码率分配模式是指在对视频进行编码时如何针对画面情况来进行码率的分配。码率分配模式一般有 CBR、VBR、ABR、CRF 等几种方式,他们的特点和适用性如下:

2.3、设置 B 帧优化码率

视频由 I、P、B 帧三种类型的视频帧组成的,P 帧是前向预测图像帧,P 帧大小相当于 I 帧大小的 1/10 ~ 1/20。B 帧是双向预测图像帧,B 帧大小约是 I 帧大小的 1/50。

这样一来,如果设置了 B 帧了,并不会降低清晰度,但是可以大大降低视频的大小,这样我们就有更大的操作空间来调高码率,实现提升清晰度的目标。设置 B 帧的缺点是双向预测会带来一些延迟。

2.4、调整 GOP 长度优化码率

GOP 表示两个 I 帧之间的图像帧序列,GOP = 2s,表示两个 I 帧之间的间隔是 2s。

上面我们提到了:P 帧大小相当于 I 帧大小的 1/10 ~ 1/20,B 帧大小约是 I 帧大小的 1/50。

也就是说,由于 I 帧较大,当设置 GOP 长度越长时,I 帧就较少,占用码率就越少,这样我们也可以获得更多的空间来相应地调大码率提升清晰度。目前在短视频场景很多视频的 GOP 长度已经设置到了 10s 左右,当然 GOP 太长也有缺点,比如在直播场景会增大延迟。

2.5、选择合适的 Profile

H.264 有四种画质级别,分别是 BaselineExtendedMainHigh

BaselineExtendedMain 都是针对 8 位样本数据、YUV 4:2:0 格式的视频序列。在相同配置情况下,High Profile 可以比 Main Profile 降低 10% 的码率。根据应用领域的不同,Baseline Profile 多应用于实时通信领域,Main ProfileHigh Profile 多应用于流媒体领域。

所以我们可以根据编码器的情况和应用场景,尽量选择更高的 Profile 来优化码率使用效率,从而达到用同样的码率编码出更好画质的目的。

2.6、尽量使用 HEVC 编码

比起 H.264/AVC,H.265/HEVC 提供了更多不同的工具来降低码率。以编码单位来说,最小的 8x8 到最大的 64x64。信息量不多的区域划分的宏块较大,编码后的码字较少,而细节多的地方划分的宏块就相应的小和多一些,编码后的码字较多,这样就相当于对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高了。同时,H.265 的帧内预测模式支持 33 种方向(H.264只支持 8 种),并且提供了更好的运动补偿处理和矢量预测方法。HEVC 对比 H.264 可降低 30% 以上码率:

图片

H.265 与 H.264 码率对比表

通过尽量使用 HEVC 编码,也能够为我们创造更多的空间来提高码率优化画面。使用 HEVC 编码,可以保证在不增加文件大小的情况下,大大提升视频的清晰度。

2.7、合理使用软编和硬编优化编码

软编码相对于硬件编码画质更好,设备适配更好,但性能较差。

基于软编码硬件编码的对比,对于性能要求不高的场景更适合软件编码,例如短视频录制(具体还要参考 APP 业务);性能要求较高的场景则选择硬件编码。

3、画质增强

除了上面讲到的在编码质量上的优化,我们还可以从画质方面入手优化视频质量。

3.1、锐化

图像锐化是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。

常用的图像锐化的方法有:

3.2、降噪

图像降噪的方式有很多中,最常见的是对图像做滤波:

此外还有诸如:时域降噪算法、基于统计模型的降噪、基于深度学习的降噪等等,这里就不细讲了。

3.3、防抖

对视频做防抖也能在一定程度优化画质,防抖技术有这些:

现在很多采集设备是从硬件和系统层面支持防抖技术的,一般来讲我们只需要开启设备的防抖即可。

3.4、超分

超分,即超分辨率,是指通过机器学习地方式重建图像,达成提升图像分辨率的效果。

目前比较成熟的超分技术是 Real-ESRGAN,基于 BasicSR,采用 ESRGAN 算法,利用机器学习的优势对图片和视频进行去模糊、Resize、降噪、锐化等处理,重建图片,实现对图片的超分辨率处理。

在生产端,一般可以直接设置高分辨率,所以超分的实现一般可以做在服务端或观看端。尤其是观看端,如果设备性能跟得上,可以在不增加带宽消耗的情况下通过超分提升画质。

3.5、对焦优化

对焦优化是视频质量优化中比较容易忽略的一个点,但是如果对焦不合理又会对视频清晰度造成很大的影响。下面是可供参考的一套对焦策略:

3.6、颜色优化

通过调整视频画面的颜色参数,综合调整亮度、对比度、色温、饱和度、锐度等颜色参数,进而优化整体的视频画面,让视频画面看上去更舒适,这也是提升用户主观观看感受的一种方式。

尤其是当 HDR 视频逐渐流行,而一些旧设备不支持 HDR 时,还需要正确的实现 HDR 视频向 SDR 视频的转换来解决色差问题从而提升用户的观看感受。

3.7、模糊检测

在图像或视频采集的过程中可能由于镜头不干净、对焦不准等因素导致采集的图像模糊,这时候可以做一下模糊检测来提醒用户清洗镜头或做好对焦,从而尽可能排查外部因素导致的图像源模糊的情况。

小结

以上便是对视频质量优化的一些思路,我从编码质量和画面质量等方面给出了一些技术和策略上的优化建议,希望对大家有帮助。

参考资料

[1]

如何实现好的画质: https://cloud.tencent.com/document/product/454/7955

- 完 -

推荐阅读

视频发布优化

视频编辑优化

视频录制优化

采集预览优化

上一篇 下一篇

猜你喜欢

热点阅读