前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >探究一下iSize的编码预处理魔法!

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

作者头像
用户1324186
发布于 2020-04-02 08:21:54
发布于 2020-04-02 08:21:54
1.2K0
举报
文章被收录于专栏:媒矿工厂媒矿工厂

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

原标题: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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
宝塔 Linux 面板命令大全
魏艾斯博客一直在介绍宝塔 Linux 面板,对于众多新手来说可视化 Linux 面板真的是福音,而对于进阶的老手来说有时候也需要命令行来辅助操作。今天转载一下官方的宝塔 Linux 面板命令大全,给有需要的朋友也给自己留一个可以快速查找的记录。 安装宝塔 Centos 安装脚本 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install.sh && sh install.sh Ubuntu/Deepin 安
魏艾斯博客www.vpsss.net
2018/06/01
6.2K3
宝塔面板 linux命令大全
(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 start)
用户1700948
2018/10/10
4.5K0
宝塔面板管理命令
查看宝塔日志:cat /tmp/panelBoot.pl 查看软件安装日志:cat /tmp/panelExec.log 站点配置文件位置:/www/server/panel/vhost 删除域名绑定面板:rm -f /www/server/panel/data/domain.conf 清理登陆限制:rm -f /www/server/panel/data/*.login 查看面板授权IP:cat /www/server/panel/data/limitip.conf 关闭访问限制:rm -f /www/server/panel/data/limitip.conf 查看许可域名:cat /www/server/panel/data/domain.conf 关闭面板SSL:rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart 查看面板错误日志:cat /tmp/panelBoot 查看数据库错误日志:cat /www/server/data/*.err 站点配置文件目录(nginx):/www/server/panel/vhost/nginx 站点配置文件目录(apache):/www/server/panel/vhost/apache 站点默认目录:/www/wwwroot 数据库备份目录:/www/backup/database 站点备份目录:/www/backup/site 站点日志:/www/wwwlogs
用户9131103
2023/08/23
7150
宝塔常用软件服务命令
宝塔工具箱(包含下列绝大部分功能 直接ssh中执行bt命令 仅限6.x以上版本面板)
华创信息技术
2020/05/25
5360
宝塔命令
原文地址:https://blog.ascv.cn/archives/112.html
傲绝
2023/03/08
8390
宝塔命令
Linux VPS安装5.9宝塔面板并免费升级到专业版
5.9版本的宝塔面板相比最新版更加适用,没有过多臃肿的依赖,而且需要使用的功能基本都有; 5.9版本对于内存占用小,纯面板大约50M左右,对小内存的机器就更加合适了; 5.9版本因为官方已经停止更新,所以使用专业版基本无风险;
骤雨重山
2022/01/17
4.3K0
Linux VPS安装5.9宝塔面板并免费升级到专业版
宝塔面板安装使用常见问题收集
使用 SSH 连接工具,如 堡塔SSH终端连接到您的 Linux 服务器后, 挂载磁盘,根据系统执行相应命令开始安装(大约2分钟完成面板安装):
用户7146828
2021/08/09
2.6K0
OneinStack——PHP多版本共存
我事先安装的是LNMP环境,PHP版本为7.2,但是现在环境需要一个PHP5.6,所以就准备安装个上版本,顺带写个安装教程,写完后我发现了原来有直接安装的命令!所以后面的内容大家可以忽略了!从配置nginx文件看就好了!
思索
2024/08/16
2060
OneinStack——PHP多版本共存
CentOS7安装lnmpa
lnmp.conf配置文件,可以修改lnmp.conf自定义下载服务器地址、网站/数据库目录及添加nginx模块和php编译参数;不论安装升级都会调用该文件里的设置(如果修改了默认的参数建议备份此文件);
孤鸿
2022/10/04
5580
如何在 CentOS 8 服务器上安装 ISP Config 3.2?
本教程将介绍在 CentOS 8(64 位)服务器上安装 ISPConfig 3.2。ISPConfig 是一个网络托管控制面板,允许您通过网络浏览器配置以下服务:Apache 网络服务器、PHP、Postfix 邮件服务器、MySQL、BIND 名称服务器、PureFTPd、SpamAssassin、ClamAV、Mailman 等等。
网络技术联盟站
2021/12/17
2.6K0
如何在 CentOS 8 服务器上安装 ISP Config 3.2?
Oneinstack安装与配置PHP 8.1和MySQL 8.0-Oneinstack建站新手教程
Oneinstack是一个优秀的一键建站脚本,可以快速帮助你安装与配置Linux + Nginx+ MySQL/MongoDB+ PHP或者Linux + Apache+ MySQL/MongoDB+ PHP,可以根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator以及php加解密工具ionCube、ZendGuardLoader。
用户9022575
2022/07/21
3.7K0
CyberPanel:基于OpenLiteSpeed的WEB虚拟主机控制面板
CyberPanel是一款近期刚出炉的WEB面板,由外国人开发,从最初的版本到现在不断更新成熟的1.6版本,其功能已经非常强大,其次稳定性也越来越好,另外作者还在不断尝试修复现有问题和添加更多新的功能,总而言之是一款潜力很大的面板。
小俊是我
2018/05/11
5.2K2
CyberPanel:基于OpenLiteSpeed的WEB虚拟主机控制面板
如何安装宝塔国际版 aapanel(宝塔海外版)
这是一款宝塔Linux面板的国际版,给我的感觉就是与中文版宝塔Linux面板完全一样,只不过换成了英文界面,更加适合老外使用,其它的功能都是一样的。
暮城
2022/02/23
31K1
CyberPanel WEB虚拟主机控制面板安装教程评论(0)
Cyber​​Panel目前只支持CentOS7,其他系统一律不支持。也许在不久的将来会支持Ubuntu,Debian。
用户1673664
2018/08/31
1.9K0
轻量云 & 宝塔,拿捏自建博客
由于OpenCloudOS是CentOS的替代,所以使用官网提供CentOS的命令。
花花Binki
2024/09/09
2450
轻量云 & 宝塔,拿捏自建博客
LNMP相关软件安装
PHPMyAdmin目录 : 0.9版本为/home/wwwroot/phpmyadmin/ 1.0及以后版本为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
PM吃瓜
2019/08/12
7810
LEMP Stack(oneinstack 英文版)安装过程记录
早就听网友说 oneinstack 出了英文版,叫 LEMP Stack,今天有时间终于可以安装一下。LEMP Stack 是面向国外的 php 环境包,包内提供了 lnmp,lamp,lnmpa,lnmt,lnpp,lapp 和 lnmh 等 php 环境组合方式,按需取用。LEMPStack 支持的系统有:CentOS 6~7,Debian 6~8,Ubuntu 12~16,能够满足大多数网友的需要。
魏艾斯博客www.vpsss.net
2018/08/10
1.1K0
LEMP Stack(oneinstack 英文版)安装过程记录
【玩转服务器】CentOS安装Pure-FTPd
Pure-FTPd是一款免费FTP服务器软件,优势在于其安全性与灵活性,可自定义权限、创建虚拟用户、配置主目录等操作。
参谋带个长
2023/12/14
1.8K0
pure-ftpd 开启 Passive Mode
pure-ftpd.conf 找到 ForcePassiveIP ,取消注释,修改 ip 地址为所在公网IP。
yiyun
2022/04/01
1.9K0
pure-ftpd 开启 Passive Mode
CyberPanel免费开源面板-高速LSCache免费SSL证书-可自建DNS和企业邮局
CyberPanel是一个基于OpenLiteSpeed开发的服务器控制面板,支持LSCache高性能缓存,提供免费letsencrypt SSL证书,可以一键签发SSL证书,CyberPanel支持自建DNS服务器,可以一键安装PowerDNS,你可以用它搭建DNS服务器。
用户9022575
2022/07/21
2.4K0
相关推荐
宝塔 Linux 面板命令大全
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档