Über uns Produkte Support FAQ Bloggen

Frühe Implementierung des mobilen Echtzeit-EVC-Players MPEG-Einreichung Oktober 2020

image

 

   Von Olga Krovyakova - 3. November 2020

button

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.

Kimono bitstream decoding profiling  

Abbildung 1. ETM6.1 Kimono-Bitstream-Dekodierungsprofilierung

ParkScene bitstream decoding profiling

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:

  1. ARM SIMD-Implementierung der kritischsten Funktionen im MC-Teil
  2. Waterfront-ähnliche Parallelverarbeitung von CTU-Linien innerhalb eines Frames.
  3. 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.

Picture of the Player working on Huawei P40 Pro

Abbildung 3. Bild des Players, der auf dem Huawei P40 Pro läuft

 4. Profilierung des optimierten Decoders

Optimized decoder Kimono bitstream profiling

Abbildung 4. Optimiertes Decoder-Kimono-Bitstream-Profiling

Optimized decoder ParkScene 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.

Hi-end and mid-end CPU cores utilization. Kimono playback.

Abbildung 6. Auslastung der CPU-Kerne der oberen und mittleren Preisklasse. Kimono-Wiedergabe.

Hi-end and mid-end CPU cores utilization. ParkScene playback.

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.

Power consumption and playback speed during infinite playback of Kimono

Abbildung 10. Stromverbrauch und Wiedergabegeschwindigkeit während der unendlichen Wiedergabe von Kimono

Power consumption and playback speed during infinite playback of ParkScene

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/

 

Über den Autor

imageOlga 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!