Frühe Implementierung des mobilen Echtzeit-EVC-Players MPEG-Einreichung Oktober 2020
Von Olga Krovyakova - 3. November 2020
Abstrakt
Dieser Beitrag beschreibt eine frühe Implementierung eines Echtzeit-Videoplayers für Mobilgeräte, der für die Dekodierung und Wiedergabe von Bitströmen entwickelt wurde, die dem in Veröffentlichung befindlichen internationalen Standard MPEG-5/Teil 1: Essential Video Coding (EVC) entsprechen. Der Player basiert auf der ETM-Referenzsoftware Version 6.1 und ist für die ARM-Architektur optimiert. Der Player wurde auf dem Huawei P40 Pro-Smartphone entwickelt und getestet und demonstriert die 1080p-Echtzeitwiedergabe mit 24 fps auf einer Teilmenge der EVC-Hauptprofiltools.
1. Einleitung
Die aktuelle frühe Implementierung zielt darauf ab, die Machbarkeit der Echtzeitwiedergabe von EVC-Bitströmen auf den am Markt erhältlichen Mobilgeräten der Spitzenklasse zu demonstrieren. Als Zielgerät wurde das Huawei P40 Pro Smartphone mit Kirin 990 SoC ausgewählt. Es wird unter EMUI 10.1 auf Basis von Android 10 betrieben und verfügt über insgesamt 8 CPU-Kerne, darunter:
- 2 high-End-Cortex-A76-Kerne, getaktet mit 2,86 GHz;
- 2 cortex-A76-Kerne der Mittelklasse, getaktet mit 2,36 GHz;
- 4 low-End-Cortex-A55-Kerne, getaktet mit 1,95 GHz.
Als Eingabematerial “Kimono1” und “ParkScene” wurden Testsequenzen aus dem JVT-VC-Testset ausgewählt. Beide Testsequenzen haben eine 1080p-Auflösung bei 24 fps mit 4:2:0-Farbformat und 10 Sekunden Dauer.
Als Encoder-Konfiguration wurde standardmäßig die Random Access-Konfiguration von EVC Common Test Condition (CTC) ausgewählt. Als Ziel-QP wurde der Quantisierungsparameter (QP) 32 gewählt.
2. Unterstützte EVC-Tools
Um eine Echtzeit-Wiedergabegeschwindigkeit auf dem Zielgerät zu erreichen, wurde eine Untergruppe von EVC-Tools basierend auf Profilierungsinformationen ausgewählt, die von Android Profiler in den mit der ETM6.1-Referenzsoftware kodierten und dekodierten Testsequenzen gesammelt wurden. Abbildung 1 und Abbildung 2 zeigen entsprechend die erhaltenen Profilierungsdaten auf dem Zielgerät für diese beiden Sequenzen.
Abbildung 1. ETM6.1 Kimono-Bitstream-Dekodierungsprofilierung
Abbildung 2. ETM6.1 ParkScene-Bitstream-Dekodierungsprofilierung
Basierend auf den Profilierungsdaten wurde eine Teilmenge der EVC-Tools ausgewählt, wie in Tabelle 1 zusammengefasst. Die Namen und Abkürzungen der Tools in der Tabelle folgen den Standardkonnotationen, wie sie in der EVC-Spezifikation definiert sind.
Tabelle 1. Ausgewähltes Toolset für die frühe Echtzeit-Player-Implementierung
Kurzname des Werkzeugs | Vollständiger Name des Werkzeugs | ETM6.1 CTC RA standardkonfiguration |
Ausgewähltes Toolset |
ADMVP | Erweiterte Vorhersage von Bewegungsvektoren | 1 | 1 |
AFFIN | Affine Vorhersage | 1 | 1 |
HTDF | Hadamard-Transformationsdomänenfilter | 1 | 1 |
DMVR | Decoderseitige Ableitung von Bewegungsvektoren | 1 | 1 |
ADCC | Erweiterte Koeffizientenkodierung | 1 | 1 |
ADDB | Erweiterte Deblockierung | 1 | 1 |
ALF | Adaptiver Schleifenfilter | 1 | 0 |
AMVR | Adaptive Motion Vectors-Auflösung | 1 | 1 |
ATS | Auswahl adaptiver Transformationen | 1 | 1 |
BTT | Binäre und ternäre Bäume | 1 | 0 |
CM_INIT | Initialisierung der Kontextmodellierung | 1 | 1 |
DBF | Deblocking-Filter | 1 | 1 |
EIPD | Verbesserte Intra-Vorhersagerichtungen | 1 | 0 |
HMVP | Geschichte Bewegungsvektoren Vorhersage | 1 | 1 |
iQT | Erweiterte Quantisierung und Transformationen | 1 | 1 |
MMVD | Mit Bewegungsvektordifferenz verschmelzen | 1 | 1 |
POCS | Erweiterte Bildreihenfolgezählung | 1 | 1 |
RPL | Referenzbildliste | 1 | 1 |
SUCO | Kodierungsreihenfolge der geteilten Einheiten | 1 | 0 |
IBC | Intra-Block-Kopie | 0 | 0 |
Wie aus Tabelle 1 hervorgeht, waren die meisten EVC-Tools im ausgewählten Toolset enthalten.
3. Implementierungsdetails und Wiedergabe
Um eine Echtzeitwiedergabe auf dem ausgewählten Toolset zu erreichen, wurden die folgenden Hauptänderungen an der oberen ETM 6.1-Referenz-SW durchgeführt:
- ARM SIMD-Implementierung der kritischsten Funktionen im MC-Teil
- Waterfront-ähnliche Parallelverarbeitung von CTU-Linien innerhalb eines Frames.
- Parallele Implementierung des Deblocking-Filters
Zur Vereinfachung der Implementierung wurden nur die vier leistungsstärksten (Hi-End- und Mid-End-)Kerne des Kirin SoC für die Verwendung im Player ausgewählt.
Als Ergebnis zeigt der Player eine Wiedergabe von 24+ fps auf dem Gerät. Die durchschnittliche Dekodierungsgeschwindigkeit bei einer Wiedergabe von 10 Sekunden ist in Tabelle 2 zusammengefasst.
Tabelle 2. Durchschnittliche Ergebnisse der ausgewählten Toolset-Wiedergabe auf dem Gerät
Testsequenz | Dekodierungsgeschwindigkeit (fps) |
ParkSzene | 24.39 |
Kimono1 | 25 |
Um die Wiedergabegeschwindigkeit objektiv und subjektiv zu überprüfen, wurde der Player auf dem Huawei P40 Pro-Smartphone bereitgestellt und getestet.
Abbildung 3 zeigt ein Bild des Players während der Kimono-Bitstream-Wiedergabe auf dem Gerät.
Abbildung 3. Bild des Players, der auf dem Huawei P40 Pro läuft
4. Profilierung des optimierten Decoders
Abbildung 4. Optimiertes Decoder-Kimono-Bitstream-Profiling
Abbildung 5. Optimiertes Decoder-ParkScene-Bitstream-Profiling
5. CPU-Auslastung
Die aktuelle Implementierung des Players ist hinsichtlich der CPU-Kernauslastung für das Mobiltelefon Huawei P40 Pro optimiert. Genauer gesagt funktioniert die SW nur mit den 4 leistungsstärksten Kirin 990-CPU-Kernen (Hi-End und Mid-End). Abbildung 6 und Abbildung 7 zeigen den Prozentsatz der CPU-Auslastung für jeden der vier leistungsstarken Kerne während einer 10-sekündigen Wiedergabe.
Abbildung 6. Auslastung der CPU-Kerne der oberen und mittleren Preisklasse. Kimono-Wiedergabe.
Abbildung 7. Auslastung der CPU-Kerne der oberen und mittleren Preisklasse. ParkScene-Wiedergabe.
6. Stromverbrauch
Um den Stromverbrauch abzuschätzen, wurde eine unendliche Wiedergabeschleife von Testbitströmen bei einem zu 100 % geladenen Gerät gestartet und der Prozess funktionierte, bis sich das Gerät aufgrund von Energiemangel abschaltete. Infolgedessen arbeitete der Player mehr als 4,5 Stunden lang mit einer konstanten Geschwindigkeit von 24 fps. Die Abbildungen 10 und 11 fassen die erzielten Ergebnisse zusammen.
Abbildung 10. Stromverbrauch und Wiedergabegeschwindigkeit während der unendlichen Wiedergabe von Kimono
Abbildung 11. Stromverbrauch und Wiedergabegeschwindigkeit bei unendlicher Wiedergabe von ParkScene
7. Fazit
Die von Solveig Multimedia implementierte frühe Version des EVC-Software-Players zeigt, dass die Echtzeitwiedergabe von EVC-Bitströmen möglich ist und auf modernen Mobilgeräten mit angemessenem Stromverbrauch verwendet werden kann.
- https://www.solveigmm.com/en/howto/improvements-of-mobile-real-time-evc-decoder-and-player/
Olga Krovyakova ist seit 2010 Technical Support Manager bei Solveig Multimedia.
Sie ist Autorin zahlreicher Text- und Video-Richtlinien für Produkte: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ und TriMP4.
Sie arbeitet jeden Tag mit Programmen und weiß daher sehr gut, wie sie funktionieren. Wenden Sie sich bei Fragen an Olga über support@solveigmm.com.
Sie hilft Ihnen gerne weiter!