Acerca de Productos Asistencia Blog

Implementación temprana del envío MPEG del reproductor EVC móvil en tiempo real en octubre de 2020

image

 

  By Olga Krovyakova - November, 3 2020

button

Abstracto

Esta contribución describe una implementación temprana de un reproductor de video móvil en tiempo real diseñado para decodificar y reproducir flujos de bits de conformidad con MPEG-5/Parte 1: Estándar internacional de codificación de video esencial (EVC) en proceso de publicación. El reproductor se basa en la versión 6.1 del software de referencia ETM y está optimizado para la arquitectura ARM. El reproductor se desarrolló y probó en el teléfono inteligente Huawei P40 Pro y demuestra una reproducción en tiempo real de 1080p a 24 fps en un subconjunto de herramientas de perfil principal de EVC.

 

1. Introducción

La implementación inicial actual tiene como objetivo demostrar la viabilidad de la reproducción en tiempo real de flujos de bits EVC en los principales dispositivos móviles disponibles en el mercado. Se eligió como dispositivo objetivo el smartphone Huawei P40 Pro con Kirin 990 SoC. Funciona bajo EMUI 10.1 basado en Android 10 y tiene en total 8 núcleos de CPU, entre los cuales:

  • 2 núcleos Cortex-A76 de alta gama con frecuencia de 2,86 GHz;
  • 2 núcleos Cortex-A76 de gama media con frecuencia de 2,36 GHz;
  • 4 núcleos Cortex-A55 de gama baja con frecuencia de 1,95 GHz.

Como material de entrada se seleccionaron las secuencias de prueba “Kimono1” y “ParkScene” del conjunto de pruebas JVT-VC. Ambas secuencias de prueba tienen resolución 1080p a 24 fps con formato de color 4:2:0 y 10 segundos de duración.

Como configuración predeterminada del codificador, se seleccionó la configuración de acceso aleatorio de la condición de prueba común (CTC) de EVC. Se eligió el parámetro de cuantificación (QP) 32 como QP objetivo.

 

2. Herramientas EVC compatibles

Para lograr una velocidad de reproducción en tiempo real en el dispositivo de destino, se seleccionó un subconjunto de herramientas EVC en función de la información de creación de perfiles recopilada por Android Profiler en las secuencias de prueba codificadas y decodificadas con el software de referencia ETM6.1. La Figura 1 y la Figura 2 demuestran los datos de perfil obtenidos en el dispositivo objetivo para estas dos secuencias correspondientemente.

Kimono bitstream decoding profiling  

Figura 1. Perfiles de decodificación de flujo de bits de Kimono ETM6.1

ParkScene bitstream decoding profiling

Figura 2. Perfiles de decodificación de flujo de bits de ETM6.1 ParkScene

 

Con base en los datos de perfil, se seleccionó un subconjunto de herramientas EVC como se resume en la Tabla 1. Los nombres y abreviaturas de las herramientas en la tabla siguen las connotaciones estándar definidas en la especificación EVC.

 

Tabla 1. Conjunto de herramientas seleccionado para la implementación temprana del reproductor en tiempo real

Nombre corto de la herramienta Nombre completo de la herramienta ETM6.1 CTC RA
configuración predeterminada
Conjunto de herramientas seleccionado
ADMVP Predicción avanzada de vectores de movimiento 1 1
AFINO Predicción afín 1 1
Htdf Filtro de dominio de transformación de Hadamard 1 1
DMVR Derivación de vectores de movimiento del lado del decodificador 1 1
ADCC Codificación de coeficientes avanzados 1 1
ADDB Desbloqueo avanzado 1 1
ALFA Filtro de bucle adaptativo 1 0
AMVR Resolución de vectores de movimiento adaptativos 1 1
ETA Selección de transformaciones adaptativas 1 1
BTT Árboles binarios y ternarios 1 0
CM_INIT Inicialización del modelado de contexto 1 1
DBF Filtro de desbloqueo 1 1
EIPD Direcciones de intra predicción mejoradas 1 0
HMVP Historia Vectores de movimiento Predicción 1 1
iQT Cuantización y transformaciones avanzadas 1 1
MMVD Fusionar con la diferencia de vectores de movimiento 1 1
POCS Recuento avanzado de orden de imágenes 1 1
RPL Lista de imágenes de referencia 1 1
SUCO Orden de codificación de unidades divididas 1 0
IBC Copia intrabloque 0 0

 

Como puede verse en la Tabla 1, la mayoría de las herramientas EVC se incluyeron en el conjunto de herramientas seleccionado.  

3. Detalles de implementación y reproducción

Para lograr la reproducción en tiempo real en el conjunto de herramientas seleccionado, se realizaron las siguientes modificaciones principales en el software de referencia superior ETM 6.1:

  1. Implementación ARM SIMD de las funciones más críticas en la parte MC
  2. Procesamiento paralelo similar al de un frente marítimo de líneas CTU dentro de un marco.
  3. Implementación paralela del filtro de desbloqueo

Para simplificar la implementación, se seleccionaron los únicos 4 núcleos más potentes (gama alta y media) de Kirin SoC para su uso en el Reproductor.

Como resultado, el reproductor demuestra una reproducción de más de 24 fps en el dispositivo. La velocidad de decodificación promedio durante una reproducción de 10 segundos se resume en la Tabla 2.

 

Tabla 2. Resultados promedio de la reproducción del conjunto de herramientas seleccionado en el dispositivo 

Secuencia de prueba Velocidad de decodificación (fps)
Parqueescena 24.39
Kimono1 25

Para verificar la velocidad de reproducción de manera objetiva y subjetiva, el reproductor se implementó y probó en el teléfono inteligente Huawei P40 Pro.

La Figura 3 muestra una imagen del reproductor durante la reproducción de flujo de bits de Kimono en el dispositivo.

Picture of the Player working on Huawei P40 Pro

Figura 3. Imagen del reproductor funcionando en Huawei P40 Pro

 4. Perfilado del decodificador optimizado

Optimized decoder Kimono bitstream profiling

Figura 4. Perfilado de flujo de bits Kimono del decodificador optimizado

Optimized decoder ParkScene bitstream profiling

Figura 5. Perfilado de flujo de bits de ParkScene del decodificador optimizado

 

5. Utilización de la CPU

La implementación actual del reproductor está optimizada para el teléfono móvil Huawei P40 Pro en términos de uso de núcleos de CPU; más específicamente, el software funciona solo con los 4 núcleos de CPU Kirin 990 más potentes (gama alta y media). La Figura 6 y la Figura 7 muestran el porcentaje de utilización de la CPU para cada uno de los 4 potentes núcleos durante una reproducción de 10 segundos.

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

Figura 6. Utilización de núcleos de CPU de gama alta y media. Reproducción de kimono.

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

Figura 7. Utilización de núcleos de CPU de gama alta y media. Reproducción de ParkScene.

 

6. Consumo de energía

Para estimar el consumo de energía, se lanzó un bucle de reproducción infinito de flujos de bits de prueba con un dispositivo cargado al 100% y el proceso estuvo funcionando hasta que el dispositivo se apagó debido a una insuficiencia de energía. Como resultado, el reproductor estuvo trabajando durante más de 4,5 horas a una velocidad constante de 24 fps. Las Figuras 10 y 11 resumen los resultados obtenidos.

Power consumption and playback speed during infinite playback of Kimono

Figura 10. Consumo de energía y velocidad de reproducción durante la reproducción infinita de Kimono

Power consumption and playback speed during infinite playback of ParkScene

Figura 11. Consumo de energía y velocidad de reproducción durante la reproducción infinita de ParkScene

 

7. Conclusión

La primera versión del software EVC Player implementada por Solveig Multimedia demuestra que la reproducción en tiempo real de flujos de bits EVC es factible y se puede utilizar en dispositivos móviles modernos con un consumo de energía razonable.

  • https://www.solveigmm.com/es/howto/mejoras-de-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!