探究一下iSize的编码预处理魔法!

本文为媒矿工厂编译的技术文章

原标题:Review: iSize BitSave Video Preprocessing

原作者:Jan Ozer

原文链接:https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Review-iSize-BitSave-Video-Preprocessing-139985.aspx

翻译整理:武国庆

介绍

iSize BitSave是一种视频预处理技术,旨在提高制作的视频的质量。本文将从摘要开始,然后进行深入的探讨。

TL / DR

iSize的网站声称它可以降低40%到60%的比特率,因此Jan以其他测试方法的60%的数据速率进行了测试。由于“hack” VMAF的结果可能与主观不相关,因此Jan创建了自己的基于FFmpeg的算法来与BitSave进行比较。

Jan使用17个20秒的测试文件制作了三组文件,包括电影,动画,体育和游戏。一组文件是未经处理编码的源文件(Baseline)。第二个是使用FFmpeg方法处理的文件(FFmpeg Filters),第三个是通过BitSave处理的(BitSave)。Jan使用相同的FFmpeg参数编码所有文件,并测量了VMAF,SSIM和PSNR。Jan没有针对PSNR或SSIM进行调整,因为Jan使用相同的编解码器和编码器执行了所有测试。

图1显示了所得的指标得分,PSNR平均值乘以2.5,SSIM平均值乘以100,以在与VMAF相同的图中显示它们。需要明确的是,Baseline和FFmpeg Filters的目标数据率为100%,而BitSave的目标数据率为60%。

图1 BitSave与Baseline和FFmpeg Filters指标分数

如图所示,FFmpeg Filters(以100%的数据速率)提供了最好的VMAF改进,但PSNR和SSIM得分却最差。未经处理的Baseline文件在PSNR和SSIM方面得分最高,其次是BitSave和FFmpeg Filters。BitSave(实际上是所有视频预处理公司)将SSIM和PSNR得分的下降归因于“我们正在改变编码器的输入,从而使我们的视频信号朝着人类的感知调整”。换句话说,我们已经声明了多年,PSNR和SSIM分数与主观分数不相关,因此不应该期望能够改善感知质量的预处理算法来改善这些分数。

图2显示了使用11个5秒测试序列进行的相同分析,其中BitSave以相同的数据速率编码。在这里,BitSave的 VMAF评分最高,并获得了比FFmpeg滤波方法更高的SSIM和PSNR分数。

图2 BitSave(100%的数据速率)与Baseline和FFmpeg Filters指标分数

Jan得到如下结论:

  • VMAF确实很容易被hack,在比较预处理方法时,应该对VMAF分数有所了解;
  • 尽管BitSave显然受益于VMAF的“hack”,因为它可以改善大多数视频的对比度,但它是一种合法的处理技术,而不是hack;
  • 合理比较预处理算法的唯一方法是主观测试;
  • 应用Jan制定的FFmpeg滤波器可以提高VMAF得分并改善大多数视频的对比度,但是不应该考虑将其普遍部署,尤其是高级内容,因为它会使某些视频变暗。不过,如果要处理低质量的输入视频,那么值得一试。

该公司网站上宣称的关键性能指标是:当iSize Technology与MPEG H.264 / AVC结合使用时,它可以在一系列编码器(AVC / H.264,HEVC,VP9 ,AV1,VVC)比使用相同的基准编码器和编码配置时减少40-60%的比特率。

完成测试后,Jan与iSize分享了他的结果,iSize回答说:“为澄清起见,我们声明在一系列编码标准(AVC / H.264,HEVC,AV1,VVC和更高版本)上,在编解码器中使用“相同的编码方式而无任何其他感知预处理”时,可节省40%-60%比特率。” 一周后,iSize仍然没有在他们的网站上澄清这一点,所以Jan假设其他人在他们的网站上读到这个声明会得出同样的结论。

BitSave工作方式

从工作流的角度来看,Jan通过将测试文件上传到公司的网站,然后下载高比特率的HEVC文件来代替原始源来使用该技术。当然,这对于大批量使用来说很麻烦,因此iSize提供了许多许可和集成选项。

Jan通过将原始源文件和BitSave预处理文件都编码为相同的编码参数来开始测试。这证实了VMAF分数的显着提高,尽管PSNR分数通常较低,而SSIM分数大致相同。当Jan直接研究这些视频时,注意到一些用BitSave源编码的视频比用原始源编码的视频显示出更好的对比度,就好像它们是由调色师在一轮单独的调色中处理过的。

这就提出了几个问题,例如是否可以通过改善编码视频文件的对比度来提高VMAF分数,或者是否可以对VMAF进行hack。对“ Hacking VMAF”进行搜索找到了名为“用视频色彩和对比度失真对VMAF进行hack”的白皮书,该白皮书是由与莫斯科国立大学,视频质量测量工具和视频质量开发人员合作的几位研究人员共同撰写的。

论文指出:“在本文中,我们描述了视频颜色和对比度转换,这些转换可以增加VMAF分数,同时保持SSIM分数相同或更好。在对失真图像添加任何转换后,可以提高全参考指标分数,这意味着该指标在某些情况下会被欺骗。” 在白皮书中,研究人员测试了非锐化蒙板和直方图均衡化的不同值如何影响VMAF和SSIM得分。正如文章标题所暗示的那样,他们得出结论认为VMAF可能被“hack”。

Jan的测试

Jan以此为挑战,开始尝试使用几个FFmpeg命令来了解是否可以提高VMAF分数,甚至可以提高视频的实际质量。具体来说,Jan应用了对比度和非锐化蒙板滤镜,并添加了以下命令字符串:-vf eq=brightness=0.0:contrast=1.075,unsharp=5:5:1.05:5:5:0.0。Jan调整的唯一两个数字是对比度和第三个非锐化蒙版配置,它们的默认值为1.0。

然后,Jan将对比度调整为下表中的值,从而得出所示的指标得分。从表1中可以看到,对比度使VMAF分数提高了14点,尽管SSIM遭受了损失。显然,VMAF可以被hack。

Basketball

Football

Metric

VMAF

SSIM

VMAF

SSIM

Contrast 1.25

85.93

0.672

86.87

0.858

Contrast 1.1

80.95

0.853

78.79

0.892

Contrast 1.075

79.36

0.880

77.77

0.897

Contrast 1.05

78.03

0.894

76.23

0.901

Baseline (no adjustment)

74.27

0.907

72.65

0.906

表1 调整对比度来Hacking VMAF。

在这些值的极端值下,VMAF得分很高,但是对视频的暗化效果远大于实际会使用的效果,并且远远超出了在BitSave视频中看到的效果。由于Jan的目标是找到任何人可以随时使用的一组值,因此Jan放弃了对比度,最终选择了这些设置:-vf eq=brightness=0.0:contrast=1.015,unsharp=5:5:1.025:5:5:0.0。

正如任何FFmpeg爱好者所知,这些类型的优化实验非常耗时,不能断言这些设置是最佳方法。但是,正如将在下面的结果部分中看到的那样,它们确实提高了VMAF分数,并且在大多数情况下,它们似乎也提高了实际的视频质量。

Bitsave测试

因此,为了测试BitSave技术,Jan使用了17个序列,每个序列长约20秒,其中包含四个动画,四个游戏,四个体育序列以及六个其他序列,包括一些电影和其他内容。Jan通过BitSave网站进行了处理,并使用简单的两遍FFmpeg命令字符串进行了编码。

ffmpeg -y -i input.mp4 -c:v libx264 -b:v 6000k -maxrate 12000k -bufsize 12000k -g 50 -keyint_min 50 -sc_threshold 0 -pass 1 -an -f mp4 NUL &&

ffmpeg -y -i input.mp4 -c:v libx264 -b:v 6000k -maxrate 12000k -bufsize 12000k -g 50 -keyint_min 50 -sc_threshold 0 -an -pass 2 input_x264_baseline.mp4

Jan为每个测试生成了三个文件:

  • 使用原始源文件上的脚本的_baseline文件;
  • 使用BitSave处理的中间文件上的脚本的_BS文件;
  • 使用上述脚本的_both文件以及原始源文件上显示的两个视频filter。该文件对应于FFmpeg Filters输出。

Jan更改了关键帧间隔以匹配每个文件的帧速率,范围从24到60 fps。Jan通过在每个源文件上运行CRF 27编码来定制每个测试的数据速率,以识别将产生约93-95的VMAF值的数据速率。Jan以该速率对_baseline和_both文件进行了编码。以低40%的比特率对BitSave文件进行了编码,这是一个非常苛刻的测试,尽管可以合理地测试iSize。

由于Jan在所有编码中都使用相同的编解码器,没有对编码中的PSNR或SSIM进行调整,因此发现指标分数的影响是均匀的,还强烈感觉到视觉比较将是最重要的,并且调整可能会脱离主观结果。

基准测试结果

表2显示了VMAF,PSNR和SSIM的单独列的基准测试结果(表2的总平均得分是上面图1的基础)。橙色背景表示三者中最低的分数,绿色表示最高分数。使用VMAF,FFmpeg Filter方法无疑是赢家。使用PSNR和SSIM,Baseline表现最佳,BitSave在PSNR和SSIM中胜过FFmpeg Filter。

表2 Baselin和FFmpeg文件与BitSave比较(BitSave的比特率是另两个文件的60%)

为了说明这一点,表3显示了一些初步测试,这些测试是使用相同的编码字符串但以单个数据速率针对所有技术以每秒1.75 Mbps的速率在一组单独的5秒文件上运行的(表3中的总平均得分是上面图2的基础)。在这里,BitSave显然在所有三个指标上都击败了基于滤波器的FFmpeg方法。

表3 Baselin和FFmpeg文件与BitSave比较(BitSave的比特率与另两个文件相同)

主观质量

主观质量始终很难,尤其是因为使用基于滤波器的方法具有“游戏中的皮肤”的功能。Jan认为,至少与FFmpeg Filter方法甚至可能与基准视频相比,BitSave都无法实现H.264编码所承诺的40%的带宽节省。

我们可以下载三个PDF文档,以帮助我们得出自己的结论。第一个标题为BitSave1_Contrast and Overview。这个演示文稿包括显示差异最大的序列,其中一些用圈起来的区域来引导你的注意力。最好的方法是全屏打开PDF,将灯光调暗,并在图像之间来回切换页面,这些图像先显示FFmpeg Filter,然后显示Baseline,然后显示BitSave,以使将基线与两种方法进行比较变得简单。除最终的足球剪序列外,所有图像均以其他两个文件的60%的数据速率显示BitSave。

深入研究与60%的BitSave进行比较的细节,发现了一些巨大的差异,包括图4中的侠盗猎车手框架。Jan询问了BitSave有关游戏的结果,他们说:“我们是第一个承认我们需要针对游戏等某些用例进一步改进我们的模型,实际上,我们正计划发布新版本。”

下图显示了莫斯科国立大学视频质量测量工具中VMAF分数的帧图的序列。

图4 FFmpeg Filter方法与BitSave的比较

结论

最重要的是,VMAF的可hack性使评估预处理技术变得复杂。尽管我们希望相信客观指标的简单性,以及它可以生成的精美图表和BD-Rate统计数据,但VMAF并不是对预处理技术的准确衡量。

另外,Jan的医师妻子喜欢说关联不是因果关系。这里的相似之处在于,仅仅因为我们在查看BitSave时发现VMAF是可hack的,并不意味着BitSave在hack VMAF。经过数小时的测试,发现BitSave的技术是有效和有价值的,尽管测试的结果将取决于它在你的测试序列的主观测试中的表现。

最后,对比度和清晰度在编码文件的主观外观上产生了巨大的差异,这两种预处理方法改进了Jan的许多测试文件。任何曾经在Adobe Premiere Pro或其他编辑器中调整过剪辑的颜色,亮度或对比度的人都知道,大多数未经专业调色的剪辑都可以在短时间内得到大幅改善。如果您负责剪辑,那么花额外的时间绝对值得。如果您是负责编码的压缩人员,在编码器中尽量减少不必要的调整。

参考链接

[1] https://www.isize.co/bitsave/

[2] http://ceur-ws.org/Vol-2485/paper12.pdf

[3] http://forpub.s3.amazonaws.com/BitSave1_Contrast_and_overview.pdf

[4] http://forpub.s3.amazonaws.com/BitSave_at60percent.pdf

[5] http://forpub.s3.amazonaws.com/BitSave_Analysis-Same_Data_Rate.pdf