Sobre Produtos Suporte Blog

Implementação antecipada de envio de MPEG do player EVC em tempo real móvel, outubro de 2020

image

 

  By Olga Krovyakova - November, 3 2020

button

Abstrato

Esta contribuição descreve uma implementação inicial de um reprodutor de vídeo móvel em tempo real projetado para decodificar e reproduzir fluxos de bits em conformidade com o padrão internacional MPEG-5/Parte 1: Essential Video Coding (EVC) em publicação. O Player é baseado no software de referência ETM versão 6.1 e otimizado para arquitetura ARM. O Player foi desenvolvido e testado no smartphone Huawei P40 Pro e demonstra reprodução em tempo real de 1080p a 24 fps em um subconjunto de ferramentas de perfil principal EVC.

 

1. Introdução

A atual implementação inicial tem como objetivo demonstrar a viabilidade da reprodução em tempo real de fluxos de bits EVC nos principais dispositivos móveis disponíveis no mercado. O smartphone Huawei P40 Pro com Kirin 990 SoC foi escolhido como dispositivo alvo. É operado sob EMUI 10.1 baseado em Android 10 e possui no total 8 núcleos de CPU, entre os quais:

  • 2 núcleos Cortex-A76 de última geração com clock de 2,86 GHz;
  • 2 núcleos Cortex-A76 intermediários com clock de 2,36 GHz;
  • 4 núcleos Cortex-A55 de baixo custo com clock de 1,95 GHz.

Como material de entrada “Kimono1” e “ParkScene” foram selecionadas sequências de teste do conjunto de testes JVT-VC. Ambas as sequências de teste têm resolução de 1080p a 24 fps com formato de cores 4:2:0 e duração de 10 segundos.

Como configuração padrão do encoder, a configuração de acesso aleatório da condição de teste comum (CTC) do EVC foi selecionada. O Parâmetro de Quantização (QP) 32 foi escolhido como QP alvo.

 

2. Ferramentas EVC suportadas

Para atingir a velocidade de reprodução em tempo real no dispositivo alvo, um subconjunto de ferramentas EVC foi selecionado com base nas informações de perfil, coletadas pelo Android Profiler nas sequências de teste codificadas e decodificadas com o software de referência ETM6.1. A Figura 1 e a Figura 2 demonstram dados de perfil obtidos no dispositivo alvo para estas duas sequências correspondentemente.

Kimono bitstream decoding profiling  

Figura 1. Perfil de decodificação de bitstream do Kimono ETM6.1

ParkScene bitstream decoding profiling

Figura 2. Perfil de decodificação de fluxo de bits ETM6.1 ParkScene

 

Com base nos dados de perfil, um subconjunto de ferramentas EVC foi selecionado conforme resumido na Tabela 1. Os nomes e abreviações das ferramentas na tabela seguem as conotações padrão definidas na especificação EVC.

 

Tabela 1. Conjunto de ferramentas selecionado para a implementação inicial do player em tempo real

Nome abreviado da ferramenta Nome completo da ferramenta ETM6.1 CTC RA
configuração padrão
Conjunto de ferramentas selecionado
ADMVP Previsão avançada de vetores de movimento 1 1
AFINO Previsão afim 1 1
HTML Filtro de domínio de transformação Hadamard 1 1
DMVR Derivação de vetores de movimento do lado do decodificador 1 1
ADCC Codificação de Coeficientes Avançados 1 1
ADDB Desbloqueio Avançado 1 1
ALF Filtro de Loop Adaptativo 1 0
AMVR Resolução de vetores de movimento adaptativos 1 1
ATS Seleção de transformações adaptativas 1 1
BTT Árvores Binárias e Ternárias 1 0
CM_INIT Inicialização de modelagem de contexto 1 1
DBF Filtro de desbloqueio 1 1
EIPD Direções de previsão intra-aprimoradas 1 0
HMVP História Vetores de movimento Previsão 1 1
qT Quantização e Transformações Avançadas 1 1
DMVM Mesclar com diferença de vetores de movimento 1 1
POCS Contagem avançada de pedidos de imagens 1 1
RPL Lista de imagens de referência 1 1
SUCO Ordem de codificação de unidade dividida 1 0
IBC Cópia intrabloco 0 0

 

Como pode ser visto na Tabela 1, a maioria das ferramentas EVC foram incluídas no conjunto de ferramentas selecionado.  

3. Detalhes de implementação e reprodução

Para obter reprodução em tempo real no conjunto de ferramentas selecionado, as seguintes modificações principais foram realizadas no SW de referência ETM 6.1 superior:

  1. Implementação ARM SIMD das funções mais críticas na parte MC
  2. Processamento paralelo semelhante ao Waterfront de linhas CTU dentro de um quadro.
  3. Implementação paralela de filtro de desbloqueio

Para simplicidade de implementação, os únicos 4 núcleos mais poderosos (hi-end e mid-end) do Kirin SoC foram selecionados para serem usados no Player.

Como resultado, o Player demonstra reprodução de mais de 24 fps no dispositivo. A velocidade média de decodificação em uma reprodução de 10 segundos está resumida na Tabela 2.

 

Tabela 2. Resultados médios da reprodução do conjunto de ferramentas selecionado no dispositivo 

Sequência de teste Velocidade de decodificação (fps)
ParkScene 24h39
Quimono1 25

Para verificar a velocidade de reprodução de forma objetiva e subjetiva o Player foi implantado e testado no smartphone Huawei P40 Pro.

A Figura 3 demonstra uma imagem do Player durante a reprodução de bitstream do Kimono no dispositivo.

Picture of the Player working on Huawei P40 Pro

Figura 3. Imagem do Player funcionando no Huawei P40 Pro

 4. Perfil do decodificador otimizado

Optimized decoder Kimono bitstream profiling

Figura 4. Perfil de fluxo de bits Kimono do decodificador otimizado

Optimized decoder ParkScene bitstream profiling

Figura 5. Perfil de fluxo de bits ParkScene do decodificador otimizado

 

5. Utilização da CPU

A implementação atual do Player é otimizada para o celular Huawei P40 Pro em termos de uso de núcleos de CPU, mais especificamente o SW funciona apenas com 4 núcleos de CPU Kirin 990 mais poderosos (hi-end e mid-end). A Figura 6 e a Figura 7 fornecem a porcentagem de utilização da CPU para cada um dos 4 núcleos poderosos durante a reprodução de 10 segundos.

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

Figura 6. Utilização de núcleos de CPU de ponta e de ponta. Reprodução de quimono.

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

Figura 7. Utilização de núcleos de CPU de ponta e de ponta. Reprodução ParkScene.

 

6. Consumo de energia

Para estimar o consumo de energia, um loop infinito de reprodução de fluxos de bits de teste foi iniciado no dispositivo 100% carregado e o processo funcionou até o dispositivo ser desligado por falta de energia. Como resultado, o Player funcionou por mais de 4,5 horas com velocidade constante de 24 fps. As Figuras 10 e 11 resumem os resultados obtidos.

Power consumption and playback speed during infinite playback of Kimono

Figura 10. Consumo de energia e velocidade de reprodução durante reprodução infinita do Kimono

Power consumption and playback speed during infinite playback of ParkScene

Figura 11. Consumo de energia e velocidade de reprodução durante reprodução infinita do ParkScene

 

7. Conclusão

A versão inicial do software EVC Player implementada pela Solveig Multimedia demonstra que a reprodução em tempo real de fluxos de bits EVC é viável e pode ser usada em dispositivos móveis modernos com consumo de energia razoável.

  • https://www.solveigmm.com/en/howto/improvements-of-mobile-real-time-evc-decoder-and-player/

 

 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!