Implementazione anticipata della presentazione MPEG del lettore EVC mobile in tempo reale ottobre 2020
By Olga Krovyakova - November, 3 2020
Astratto
Questo contributo descrive una prima implementazione di un lettore video mobile in tempo reale progettato per decodificare e riprodurre bitstream in conformità con MPEG-5/Parte 1: standard internazionale Essential Video Coding (EVC) in fase di pubblicazione. Il lettore è basato sulla versione 6.1 del software di riferimento ETM ed è ottimizzato per l'architettura ARM. Il lettore è sviluppato e testato sullo smartphone Huawei P40 Pro e dimostra la riproduzione in tempo reale 1080p a 24 fps su un sottoinsieme di strumenti del profilo principale EVC.
1. Introduzione
L'attuale implementazione iniziale ha lo scopo di dimostrare la fattibilità della riproduzione in tempo reale dei bitstream EVC sui principali dispositivi mobili disponibili sul mercato. Come dispositivo target è stato scelto lo smartphone Huawei P40 Pro con SoC Kirin 990. Funziona con EMUI 10.1 basato su Android 10 e ha in totale 8 core CPU, tra cui:
- 2 core Cortex-A76 hi-end con clock a 2,86 GHz;
- 2 core Cortex-A76 di fascia media con clock a 2,36 GHz;
- 4 core Cortex-A55 di fascia bassa con clock a 1,95 GHz.
Come materiale di input sono state selezionate le sequenze di test “Kimono1” e “ParkScene” dal set di test JVT-VC. Entrambe le sequenze di test hanno una risoluzione di 1080p a 24 fps con formato colore 4:2:0 e durata di 10 secondi.
Come configurazione dell'encoder è stata selezionata la configurazione di accesso casuale predefinita della condizione di test comune EVC (CTC). Il parametro di quantizzazione (QP) 32 è stato scelto come QP target.
2. Strumenti EVC supportati
Per ottenere una velocità di riproduzione in tempo reale sul dispositivo di destinazione è stato selezionato un sottoinsieme di strumenti EVC in base alle informazioni di profilazione, raccolte da Android Profiler sulle sequenze di test codificate e decodificate con il software di riferimento ETM6.1. La Figura 1 e la Figura 2 dimostrano i dati di profilazione ottenuti sul dispositivo di destinazione per queste due sequenze corrispondentemente.
Figura 1. Profili di decodifica bitstream ETM6.1 Kimono
Figura 2. Profili di decodifica bitstream ETM6.1 ParkScene
Sulla base dei dati di profilazione è stato selezionato un sottoinsieme di strumenti EVC, come riepilogato nella Tabella 1. I nomi e le abbreviazioni degli strumenti nella tabella seguono le connotazioni standard definite nelle specifiche EVC.
Tabella 1. Set di strumenti selezionati per l'implementazione iniziale del player in tempo reale
Nome breve dello strumento | Nome completo dello strumento | ETM6.1 CTC RA configurazione predefinita |
Set di strumenti selezionato |
ADMVP | Previsione avanzata dei vettori di movimento | 1 | 1 |
AFFINE | Previsione affine | 1 | 1 |
HTDF | Filtro dominio trasformazione Hadamard | 1 | 1 |
DMVR | Derivazione dei vettori di moto lato decodificatore | 1 | 1 |
ADCC | Codifica avanzata dei coefficienti | 1 | 1 |
AGGIUNGI | Deblock avanzato | 1 | 1 |
ALFA | Filtro ad anello adattivo | 1 | 0 |
AMVR | Risoluzione dei vettori di movimento adattivi | 1 | 1 |
ATS | Selezione delle trasformazioni adattive | 1 | 1 |
BTT | Alberi binari e ternari | 1 | 0 |
CM_INIT | Inizializzazione della modellazione del contesto | 1 | 1 |
DBF | Filtro di sblocco | 1 | 1 |
EIPD | Direzioni di previsione intra migliorate | 1 | 0 |
HMVP | Previsione dei vettori di movimento della storia | 1 | 1 |
iQT | Quantizzazione e trasformazioni avanzate | 1 | 1 |
MMVD | Unisci con la differenza dei vettori di movimento | 1 | 1 |
POCS | Conteggio avanzato dell'ordine delle immagini | 1 | 1 |
RPL | Elenco delle immagini di riferimento | 1 | 1 |
SUCO | Ordine di codifica dell'unità divisa | 1 | 0 |
IBC | Copia intrablocco | 0 | 0 |
Come si può vedere dalla Tabella 1, la maggior parte degli strumenti EVC sono stati inclusi nel set di strumenti selezionato.
3. Dettagli di implementazione e riproduzione
Per ottenere la riproduzione in tempo reale sul set di strumenti selezionato, sono state apportate le seguenti modifiche principali al software di riferimento ETM 6.1 principale:
- Implementazione ARM SIMD delle funzioni più critiche nella parte MC
- Elaborazione parallela simile al lungomare delle linee CTU all'interno di un frame.
- Deblock dell'implementazione parallela del filtro
Per semplicità di implementazione, sono stati selezionati gli unici 4 core più potenti (hi-end e mid-end) del SoC Kirin per essere utilizzati nel Player.
Di conseguenza, il lettore mostra una riproduzione a 24+ fps sul dispositivo. La velocità di decodifica media su una riproduzione di 10 secondi è riepilogata nella Tabella 2.
Tabella 2. Risultati medi della riproduzione del set di strumenti selezionato sul dispositivo
Sequenza di prova | Velocità di decodifica (fps) |
ParkScene | 24.39 |
Kimono1 | 25 |
Per verificare oggettivamente e soggettivamente la velocità di riproduzione, il lettore è stato utilizzato e testato sullo smartphone Huawei P40 Pro.
La Figura 3 mostra un'immagine del lettore durante la riproduzione del bitstream Kimono sul dispositivo.
Figura 3. Immagine del lettore in funzione su Huawei P40 Pro
4. Profilazione del decoder ottimizzato
Figura 4. Profilazione bitstream Kimono del decoder ottimizzata
Figura 5. Profilazione bitstream ParkScene del decoder ottimizzata
5. Utilizzo della CPU
L'attuale implementazione del lettore è ottimizzata per il telefono cellulare Huawei P40 Pro in termini di utilizzo dei core della CPU, più specificatamente il SW funziona solo con i 4 core CPU Kirin 990 più potenti (hi-end e mid-end). La Figura 6 e la Figura 7 forniscono la percentuale di utilizzo della CPU per ciascuno dei 4 potenti core durante la riproduzione di 10 secondi.
Figura 6. Utilizzo dei core della CPU di fascia alta e media. Riproduzione del kimono.
Figura 7. Utilizzo dei core della CPU di fascia alta e media. Riproduzione ParkScene.
6. Consumo energetico
Per stimare il consumo energetico, è stato avviato un ciclo di riproduzione infinito di flussi di bit di prova con il dispositivo carico al 100% e il processo ha funzionato fino allo spegnimento del dispositivo per insufficienza energetica. Di conseguenza, il lettore ha funzionato per più di 4,5 ore con una velocità costante di 24 fps. Le Figure 10 e 11 riassumono i risultati ottenuti.
Figura 10. Consumo energetico e velocità di riproduzione durante la riproduzione infinita di Kimono
Figura 11. Consumo energetico e velocità di riproduzione durante la riproduzione infinita di ParkScene
7. Conclusione
La prima versione del software Player EVC implementata da Solveig Multimedia dimostra che la riproduzione in tempo reale dei bitstream EVC è fattibile e può essere utilizzata sui moderni dispositivi mobili con un consumo energetico ragionevole.
Olga 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!