关于 产品 支持 Blog

莫斯科国立大学的 HEVC 编解码器比较。 如何改善结果

image

 

  By Olga Krovyakova - modified October 6, 2023, created April 3, 2019.

 

免费试用 ZOND 265

 

2015年10月莫斯科国立大学计算机科学系图形 & 媒体实验室视频组(CS MSU图形 & 媒体实验室)发布了另一篇 编解码器对比评论,这次包括几种HEVC格式编解码器.

 

这项研究的出发点是我们注意到 AVC 和 HEVC 测试预设的差异。 对于 AVC,使用具有单个 GOP 的未修改的快速配置文件,而用于 HEVC 测试则采用具有多个 GOP 的修改配置文件。 此外 – ,无论 “Apple Tree”(公开报告中描述的唯一文件)的编码速度如何,x264 编码器在 SSIM/比特率相关图的快速转码方面都显示出比 x265 更好的结果。 立即出现了一个问题:如果这些或其他一些明显的选择可以改变情况怎么办?

该报告比较了预设,但’不建议任何相关改进。 在本文中,我们进行了类似的审查并提出了修改 x265 编码器预设的建议。 对于与报告免费版本中分析的视频序列相同的视频序列,我们建议的编码参数更改有助于提高压缩效率,并恢复 x265 编码器的报告图构建.

修改后的预设不具有任何通用性,因为对多个视频序列的测试超出了本研究的范围。 但是,可以建议将它们作为寻找提高 x265 编码效率的机会的出发点.

 

关于该项目

多媒体处理过程中的视频编码任务,无论是传输、剪切、编辑还是存储,在运行过程中的应用/服务开发和配置中无所不在。 由于有大量可用的流行视频编解码器(通常是同一类型),’选择最好的一个然后应用正确的设置并不容易。’这些考虑很可能鼓励了 CMC MSU 计算机图形和多媒体实验室于 2000 年启动和运营的视频比较项目。2015 年 10 月,他们发布了一份编解码器比较报告,其中收录了几种 HEVC 格式 编解码器和其他正在积极开发的编解码器。 在他们的报告中选择 x264 作为模型压缩器。 其中提到的其他有趣的压缩器之一是 x265。 正是这种格式将构成我们研究的主要主题.

分析工具是 SolveigMM Zond 265,这是一款 HEVC/H.265 和 AVC/H.264 分析仪.

image

编解码器比较和参数选择的方法


让’描述该方法。 比较是根据以下标准进行的:比特率 – 质量(SSIM、PSNR) – 性能。 比较比特率/度量质量相关性的方法(参见 C4 点)如下.
我们选择几个比特率值(例如,7 个值:1、2、4、6、8、10 和 12 Mbps),并计算每个编解码器的所有必要的质量指标.

我们将输出值放在图表上:质量指标(横轴) – 比特率(纵轴).

  1. 我们进行线性插值.
  2. 我们选择定义所有图表的最大范围,并检测其中所有图表下的区域.
  3. 作为特定编解码器(或预设)的 质量度量 ,我们采用其面积与模型编解码器面积的关系。 收到的值越小,编解码器越有效.

作为模型,我们选择 x265 以及报告中选择的预设(表 1)。 该报告使用了以前版本的压缩器,可以在此处找到: x265 1.5+460-ac85c775620f。 然而,最新版本’并没有带来任何根本性的变化.
使用的压缩器预设如表 1 所示(针对桌面平台).

表 1. MSU HEVC 视频编解码器比较报告中 x265 压缩器的设置.
 
翻录 x265 -p veryslow --比特率%BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
通用编码 x265 -p 中 --比特率 %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
快速转码 x265 -p 超快 --ref 3 --比特率 %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
 

为了提出预设修改建议,我们对所有预设形成设置进行测试,以评估它们对质量和性能的影响。 这是行动计划:

  1. 我们对文件进行编码,改变每个预设参数:从快速转码到通用,从通用到翻录,同时节省编码时间.
  2. 我们计算质量度量(与上述区域相同)和 参考编码时间 (文件“预设修改参数”的FPS编码相对于所有选定比特率值的最小值).
  3. 从包含可变参数、质量测量和最小 FPS 的表中,我们选择可用于改进预设的参数.


我们将自己限制为通用编码和翻录的预设(表 2),解锁参数“-p 中”和“-p 超快”。 我们还添加了报告中省略的两个内容:“--keyint -1 --tune ssim”。 我们分别用上述参数补充预设,以实现快速和通用转码.

表 2. 用于修改 MSU HEVC 视频编解码器比较报告预设的候选参数 &ndash.

 
通用编码 --rc-lookahead 20 --scenecut 40 --ctu 64 --min-cu-size 8 --bframes 4 --b-adapt 2 --subme 1 --me 十六进制 --early-skip --sao -- Signhide --weightp --rd 3 --aq-strength 1.0 --aq-mode 1 --cutre --no-fast-intra
"“撕裂”" --weightb --amp --rect --rc-lookahead 40 --bframes 8 --tu-inter-深度 3 --tu-intra-深度 3 --rd 6 --rdoq 2 --psy-rdoq 1.0 - -subme 4 --max-merge 4 --me star --ref 5 --b-intra --lookahead-slices 0

 

测试


报告免费版本中使用的测试序列“Apple Tree”(图 1)没有可用的下载链接。 我们’将选择一个类似的,使用其主要特征 – 特写,大量的小细节。 例如“big_buck_bunny_1080p_h264.mov”,从第24秒开始的338帧间隔:

ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 00:00:24 -frames:v 338 -c:v rawvideo -pix_fmt yuv420p 样本.yuv

image

图。 1. 序列“苹果树”的特征"

为了实现上述计划的三个步骤,并节省从 Zond 265 界面复制所需数字的时间’,可以方便地使用命令行操作功能(表 3):


zond265_x64 %COMPRESSED_FILE% -iref %REFERENCE_420P_FILE% -nowait -report t=质量,statstream qm=SSIM o=%TARGET_CSV_FILE%


您可以在 Zond 265 页面查看所有参数的列表及其完整说明.

表 3. 脚本编译所需的 Zond 265 命令行参数.

范围 描述
-iref 设置参考YUV文件
-报告 在命令行中指示 Zond 265 操作模式
t=质量,统计流 生成选定的两个报告:质量和视频流统计数据.
qm=SSIM 计算质量指标
CSV 格式的报告文件的路径
-不等等 无暂停。 Zond 265 自动无延迟地从一个文件导航到另一个文件.
 

以下是 Python 2.7 的两个脚本:一个用于 编码 266 文件(第一个预设 20 个设置,第二个预设 18 个设置,7 个比特率值:1、2、4、6、8 , 10, 12 Mbps),另一个用于 以CSV格式编译报告 (文件 – FPS编码与模型配置的关系 – SSIM指标与模型配置的关系). 

正如您在文件片段“big_buck_bunny_1080p_h264.mov” (表 5 和 6)的报告表中看到的,可以修改配置,例如,如表 4 中所示’所示。 提醒一下,为了获得更好的结果 ,“质量测量”值应小于 1,并且“相对编码时间”值 – 大于 1.

测试使用以下硬件配置进行:Intel Core i7-2600@3.4 GHz、16 GB RAM。 配置快速编码的最大质量改进是通过“--min-cu-size 8”参数实现的,在通用编码的情况下,它’是“--rdoq-level 2”参数(但是,它会减慢速度) 编码最多).

表 4. 修改 MSU HEVC 视频编解码器比较报告的预设,以在相同编码速度下提高编码效率.

快速转码 x265 -p 超快 --ref 3 --rc-lookahead 20 --min-cu-size 8 --bframes 4 --early-skip --cuttree --tune ssim --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
通用编码 x265 -p 中 --weightb --bframes 8 --tu-intra-深度 3 --psy-rdoq 1.0 --b-intra --lookahead-slices 0 --tune ssim --bitrate % BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
 
 
表5 快速转码预设修改报告
image

表6. 修改通用编码预设的报告.

image
您可以通过使用修改后的预设 启动 编码脚本来轻松检查选项是否正确选择(表 7).
 
表 7. 与 MSU HEVC 视频编解码器比较报告的预设相关的使用修改预设的编码效率.
 
配置 质量衡量 相对编码时间
快速转码(模型) 1 1
快速转码(修改)  0.69  0.97
通用转码(模型)  1  1
通用转码(修改)  0.85  0.94
 

让’评估Zond 265中选项修改  – 的影响 我们以快速转码模式 打开使用修改后的预设编码的文件,比特率为8 Mbps,并将其与 进行比较 使用未修改的预设编码的文件。 最大编码单元的大小保持不变,等于 32x32(字段“--ctu 32”)。 然而,最小单元的大小从 16 降低到 8(字段“--min-cu-size 8”)。 正是这个参数带来了最大的质量改进。 B 帧的数量从 3 个增加到 4 个(字段“—bframes”),但是参考帧的最大数量(字段“--ref 4”)也增加了。 “SSIM”字段标记了图表 SSIM/PSNR 三个分量的两个最大值:亮度(Luma)和两个颜色分量(Cb、Cr)。 它们的值从 0.9623-0.9966 增加到 0.9771-0.9991。 其余附加参数(--rc-lookahead 20 --early-skip --cuttree)影响编码算法,但不影响输出视频的类型,这主要体现在编码速度上(见表5)。’值得一提的是,解码帧的图片在视觉上发生了变化 – 编码伪影不再显示.

 
image

图。 2. 使用修改后的快速编码配置编码的 Zond 265 文件的屏幕截图

您同样可以使用 修改的 和 未修改的 通用编码预设检查编码文件的参数(图3)。 最小 TU 分区的大小’t 没有改变,仍然等于 4x4(字段“--tu-intra-深度 3”),B 帧的数量也保持不变,等于 3(字段“--bframes”) 3”)。 SSIM从0.9789-0.9994增加到0.9811-0.9992。 与快速转码配置相比,最大单元的大小已增加,现在等于 64x64(字段“--ctu 64”),已添加 SAO 滤波器(字段“--sao”).

image

图。 3. 使用修改后的通用编码配置编码的 Zond 265 文件的屏幕截图

根据执行的测试结果,我们建议了一系列用于提高编码效率(在相同比特率和编码速度下提高 SSIM 度量值)的选项,以实现快速且通用的编码配置。 使用对包含大量小细节的文件的建议更改,MSU HEVC 视频编解码器比较报告的整体“质量度量”值在快速转码方面提高了 31%,在通用转码方面提高了 15%,但影响不大。 编码速度的变化。 由于测试是针对每个选项单独进行的,因此实际上只选择几个方便的选项而不是整个建议列表才有意义.

参考

  1. HEVC 视频编解码器比较
  2. 搅拌机基金会| www.blender.org
  3. Zond 265 主页

 

免费试用 ZOND 265

 

 

 About the author

imageOlga Krovyakova is the Technical Support Manager in Solveig Multimedia since 2010.

She is the author of many text and video guidelines of company's products: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ and TriMP4.

She works with programs every day and therefore knows very well how they work. Сontact Olga via support@solveigmm.com if you have any questions. She will gladly assist you!