Chi siamo Prodotti Supporto FAQ Blog

Implementazione anticipata della presentazione MPEG del lettore EVC mobile in tempo reale ottobre 2020

image

 

  By Olga Krovyakova - November, 3 2020

button

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.

Kimono bitstream decoding profiling  

Figura 1. Profili di decodifica bitstream ETM6.1 Kimono

ParkScene bitstream decoding profiling

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:

  1. Implementazione ARM SIMD delle funzioni più critiche nella parte MC
  2. Elaborazione parallela simile al lungomare delle linee CTU all'interno di un frame.
  3. 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.

Picture of the Player working on Huawei P40 Pro

Figura 3. Immagine del lettore in funzione su Huawei P40 Pro

 4. Profilazione del decoder ottimizzato

Optimized decoder Kimono bitstream profiling

Figura 4. Profilazione bitstream Kimono del decoder ottimizzata

Optimized decoder ParkScene bitstream profiling

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.

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

Figura 6. Utilizzo dei core della CPU di fascia alta e media. Riproduzione del kimono.

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

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.

Power consumption and playback speed during infinite playback of Kimono

Figura 10. Consumo energetico e velocità di riproduzione durante la riproduzione infinita di Kimono

Power consumption and playback speed during infinite playback of ParkScene

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.

 

 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!