关于 产品 支持 Blog

移动实时EVC解码器和播放器的改进

image

 

  By Olga Krovyakova - May, 26 2021

button

抽象的

本文介绍了自 2020 年 10 月起对 实时移动视频播放器 项目第一阶段的改进,该项目实现了播放器的早期版本,能够进行  EVC 比特流实时播放。 该播放器基于 ETM 参考软件版本 6.1 并针对 ARM 架构进行了优化。 该播放器是在华为 P40 Pro 智能手机上开发和测试的,并演示了使用 EVC Main 配置文件工具的子集以 24 FPS 的速度实时播放 1080p 测试文件.

1.结果

总结已经提出的解决方案的第一阶段,该解决方案允许实时回放编码序列,但具有以下限制: 

  • 量化参数值:32; 
  • 编码工具集:Affine、DMVR、HTDF、ADMVP、ADCC、AMVR、ATS、IQT、CM_INIT、ADDB、DBF、HMVP、MMVD、POCS、RPL(Stage1 集). 

所展示的 EVC 播放器在 “ParkScene” 中展示了 25.07 FPS,在 “Kimono1” 序列中展示了 26.02 FPS.

第二阶段的优化结果表明,BTT 工具可以安全地添加到工具集中,并且 QP 可以减少到 27,这将提高图像质量,条件是:

  • 量化参数值:27;
  • 编码工具集:Affine、DMVR、HTDF、ADMVP、ADCC、AMVR、ATS、IQT、CM_INIT、ADDB、DBF、HMVP、MMVD、POCS、RPL、BTT(进一步称为 Stage2 集).

 

表 1 - 在 QP=27 的测试移动设备上使用所选工具集实现的平均最大播放速度 

测试顺序

解码速度

第一阶段解码器 (fps)

解码速度

第 2 阶段解码器 (fps)

性能增益超过

第一阶段解码器 (%)

公园场景

21.36

32.99

53,2

和服1

22.85

35.02

54,4

经过优化,解码器在专为华为 P40 Pro 智能手机设计的 EVC 播放器应用程序中显示出 53-54% 的性能增益. 

 

表 2. 用于改进实时播放器的精选工具集

工具简称

工具全名

ETM6.1 CTC RA

默认配置

选定的工具集,第 1 阶段

选定的工具集,阶段  2

ADMVP

高级运动矢量预测

1

1

1

仿射

仿射预测

1

1

1

HTDF

Hadamard 变换域滤波器

1

1

1

DMVR

解码器端运动向量推导

1

1

1

ADCC

高级系数编码

1

1

1

亚德数据库

高级解块

1

1

1

阿尔法

自适应环路滤波器

1

0

0

AMVR

自适应运动矢量分辨率

1

1

1

苯丙胺类兴奋剂

自适应变换选择

1

1

1

BT

二叉树和三叉树

1

0

1

CM_INIT

上下文建模初始化

1

1

1

数据库文件

去块效应滤波器

1

1

1

EIPD

增强的帧内预测方向

1

0

0

HMVP

历史 运动矢量 预测

1

1

1

iQT

高级量化和转换

1

1

1

MMMVD

与运动矢量差异合并

1

1

1

POCS

高级图片订单计数

1

1

1

RPL

参考图片列表

1

1

1

苏科

分割单元编码顺序

1

0

0

中型散装容器

块内复制

0

0

0

2.支持的EVC工具

BTT 工具被认为是最具潜力的工具,因此我们对 Stage1 集额外启用的 BTT 工具进行测试(表 2). 

下图 1-3 显示了使用和不使用 BTT64 工具时使用 QP 值 27-32 编码的 ParkScene 和 Kimono1 文件的 EVC 编码、解码性能和 PSNR 值。 为方便起见,图中包含了针对不带 BTT64 和带 BTT64 的流测量的组合值.

image

图 1. 在启用和未启用 BTT64 工具的 Windows 10 x64 操作系统上,配备 i7-9700 CPU 的 PC 上的 ETM 6.1 编码性能

image

图 2. 在启用和不启用 BTT64 工具的情况下,通过 EMUI 10.1 运行的 HUAWEI P40 Pro 上的第 1 阶段解码器性能

image

图 3. 在启用和未启用 BTT64 工具的情况下,由 ETM 6.1 编码器编码的文件的 PSNR 值.

 

图 3 显示启用 BTT64 不会显着降低解码器性能,并且还提高了输出文件’的质量。 因此我们可以安全地将其作为额外的 EVC 工具启用.

为了坚持第一阶段提出的解码概念,建议为 BTT 启用 64x64 CU 大小(为方便起见,进一步称为 BTT64). 

为了在目标设备上实现实时播放速度,在解码时了解 EVC 工具分析信息非常重要。 此类信息是由 Android Profiler 在使用 Stage 1 解码器进行解码的测试中收集的。 图 4 和图 5 显示了在目标设备上获得的使用第 2 阶段工具集编码的 ParkScene 和 Kimono1 比特流的分析数据,QP 值等于 27.

image

图 4. 使用第 2 阶段工具集编码的 ParkScene 比特流的解码器分析 (QP=27)

image

图 5. 使用第 2 阶段工具集编码的 Kimono1 比特流的解码器分析 (QP=27)

最耗时的功能与 DMVR、运动补偿 (MC)、解块和重建相关。 这些工具消耗大约 77% 的解码时间,是 SIMD 优化的最佳候选工具. 

3. 实现细节及回放

为了在所选工具集上实现实时播放,在 ETM 6.1 参考软件之上进行了以下主要修改:

  1. ARM SIMD 实现解块和重构部分中最关键的功能
  2. 类似 Waterfront 的并行处理 (WPP),用于解块和解码过程、线程拉取和基于行的启动

作为多线程功能优化的准备,与去块相关的功能进行了一些额外的重构和优化。 最终确定多线程实现后,解码器’的 FPS 增益相对于第 1 阶段解码器而言,Kimono1 的 FPS 增益为 40%,ParkScene 序列的 FPS 增益为 42%,并且播放器能够在设备上演示 24 fps 播放. 

为了客观和主观地检查播放速度,播放器在华为 P40 Pro 智能手机上进行了部署和测试.

图 6 展示了设备上 Kimono 比特流播放期间播放器的图片.

image

图 6. 在华为 P40 Pro 上运行的播放器图片

4. 优化解码器的分析

image

图 7. 使用第 2 阶段工具集编码的 ParkScene 比特流的优化解码器分析 (QP=27)

image

图 8. 使用第 2 阶段工具集编码的 Kimono1 比特流的优化解码器分析 (QP=27)

5.CPU利用率

该解码器针对华为 P40 Pro 手机在 CPU 内核使用方面进行了优化,更具体地说,该软件仅适用于 4 个最强大的 Kirin 990 CPU 内核(高端和中端)。 图 9 和图 10 显示了解码过程中 4 个强大核心中每个核心的 CPU 利用率.

image

(a) 

 image

(二)

图 9. 高端和中端 CPU 核心利用率。 和服回放,(a) 第 1 阶段,(b) 第 2 阶段

image(a)

image

(二)

图 10. 高端和中端 CPU 核心利用率。 公园场景回放,(a) 阶段 1,(b) 阶段 2

 

图 9-10 显示第 2 阶段优化解码器更有效地使用了高端和中端内核.

6. 功耗

为了估计功耗,在 100% 充电的测试移动设备的播放器中启动了测试比特流的无限播放循环,并且该过程一直持续到设备由于能量不足而关闭为止。 结果,播放器使用 Kimono1 文件工作了 4h 25m,使用 ParkScene 文件以 24 fps 的速度工作了 4h 07m。 图 11 和 12 总结了获得的结果.

image

(a)

image

(二)

图 11. Kimono 无限播放期间的功耗和播放速度,(a) 第 1 阶段,(b) 第 2 阶段

image

(a)

image

(二)

图 12. ParkScene 无限播放期间的功耗和播放速度,(a) 阶段 1,(b) 阶段 2

 

图 11-12 显示,与 第 1 阶段 相比, 第 2 阶段中的电池消耗略有增加.

七、结论

Solveig Multimedia继续对第一阶段引入的WPP算法以及函数的SIMD优化进行相关优化.

经过优化,解码器在专为华为 P40 Pro 智能手机设计的 EVC 播放器应用程序中显示出 53-54% 的性能增益. 

优化的解码器显示建议的工具集为 33-35 FPS,其中还包含 BTT 工具,因此超额实现了第 2 阶段的所有目标。 这意味着 QP 值也可以降低到 23。对于 QP=23,解码器显示 Kimono1 的帧率为 31.52 FPS,Parkscene 文件的帧率为 28.37 FPS,这足以为这两个文件提供实时 24 FPS 播放.

button
  • https://www.solveigmm.com/en/howto/early-implementation-of-mobile-real-time-evc-player-mpeg-submission-october-2020/

 

 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!