Раннее внедрение мобильного EVC-плеера реального времени. Представление MPEG в октябре 2020 г
Автор: Ольга Кровякова - 3 ноября 2020 г.
Абстрактный
В этом вкладе описывается ранняя реализация мобильного видеоплеера в реальном времени, предназначенного для декодирования и воспроизведения битовых потоков в соответствии с публикуемым международным стандартом MPEG-5/Part 1: Essential Video Coding (EVC). Плеер основан на эталонном программном обеспечении ETM версии 6.1 и оптимизирован для архитектуры ARM. Плеер разработан и протестирован на смартфоне Huawei P40 Pro и демонстрирует воспроизведение в реальном времени с разрешением 1080p и частотой 24 кадра в секунду с помощью набора инструментов основного профиля EVC.
1. Введение
Текущая ранняя реализация призвана продемонстрировать возможность воспроизведения битовых потоков EVC в реальном времени на ведущих мобильных устройствах, доступных на рынке. В качестве целевого устройства был выбран смартфон Huawei P40 Pro с процессором Kirin 990 SoC. Он работает под управлением EMUI 10.1 на базе Android 10 и имеет в общей сложности 8 ядер процессора, среди которых:
- 2 высокопроизводительных ядра Cortex-A76 с тактовой частотой 2,86 ГГц;
- 2 ядра Cortex-A76 среднего класса с тактовой частотой 2,36 ГГц;
- 4 младших ядра Cortex-A55 с тактовой частотой 1,95 ГГц.
В качестве входного материала были выбраны тестовые последовательности “Kimono1” и “ParkScene” из тестового набора JVT-VC. Обе тестовые последовательности имеют разрешение 1080p, частоту 24 кадра в секунду, цветовой формат 4:2:0 и продолжительность 10 секунд.
В качестве конфигурации энкодера по умолчанию была выбрана конфигурация произвольного доступа EVC Common Test Condition (CTC). Параметр квантования (QP) 32 был выбран в качестве целевого QP.
2. Поддерживаемые инструменты EVC
Для достижения скорости воспроизведения в реальном времени на целевом устройстве был выбран набор инструментов EVC на основе информации профилирования, собранной Android Profiler на тестовых последовательностях, закодированных и декодированных с помощью эталонного программного обеспечения ETM6.1. На рисунках 1 и 2 показаны полученные данные профилирования на целевом устройстве для этих двух последовательностей соответственно.
Рисунок 1. Профилирование декодирования битового потока ETM6.1 Kimono
Рисунок 2. Профилирование декодирования битового потока ETM6.1 ParkScene
На основе данных профилирования было выбрано подмножество инструментов EVC, представленное в таблице 1. Имена и сокращения инструментов в таблице соответствуют стандартным значениям, определенным в спецификации EVC.
Таблица 1. Выбранный набор инструментов для ранней реализации проигрывателя в реальном времени
Краткое название инструмента | Полное название инструмента | ЭТМ6.1 ЦТК РА конфигурация по умолчанию |
Выбранный набор инструментов |
АДМВП | Расширенное прогнозирование векторов движения | 1 | 1 |
АФФИННЫЙ | Аффинное предсказание | 1 | 1 |
ХТДФ | Фильтр домена преобразования Адамара | 1 | 1 |
ДМВР | Вывод векторов движения на стороне декодера | 1 | 1 |
ADCC | Расширенное кодирование коэффициентов | 1 | 1 |
АДДБ | Расширенная разблокировка | 1 | 1 |
Альф | Адаптивный петлевой фильтр | 1 | 0 |
АМВР | Разрешение адаптивных векторов движения | 1 | 1 |
АТС | Выбор адаптивных преобразований | 1 | 1 |
БТТ | Двоичные и троичные деревья | 1 | 0 |
CM_INIT | Инициализация контекстного моделирования | 1 | 1 |
ДБФ | Деблокирующий фильтр | 1 | 1 |
EIPD | Расширенные направления внутреннего прогнозирования | 1 | 0 |
ХМВП | История Векторы движения Прогноз | 1 | 1 |
iQT | Расширенное квантование и преобразования | 1 | 1 |
ММВД | Слияние с разницей векторов движения | 1 | 1 |
POCS | Расширенный счетчик порядка изображений | 1 | 1 |
РПЛ | Список эталонных изображений | 1 | 1 |
СУКО | Порядок кодирования разделенных единиц | 1 | 0 |
МДС | Внутриблочное копирование | 0 | 0 |
Как видно из таблицы 1, большинство инструментов EVC вошли в выбранный набор инструментов.
3. Детали реализации и воспроизведение
Чтобы добиться воспроизведения в реальном времени с помощью выбранного набора инструментов, в верхнем эталонном ПО ETM 6.1 были внесены следующие основные изменения:
- ARM SIMD реализация наиболее важных функций в части MC
- Параллельная обработка строк CTU внутри одного кадра, как на набережной.
- Параллельная реализация фильтра деблокирования
Для простоты реализации для использования в плеере были выбраны только 4 самых мощных (hi-end и middle-end) ядра Kirin SoC.
В результате Плеер демонстрирует на устройстве скорость воспроизведения 24+ кадров в секунду. Средняя скорость декодирования за 10 секунд воспроизведения представлена в Таблице 2.
Таблица 2. Средние результаты воспроизведения выбранного набора инструментов на устройстве
Последовательность испытаний | Скорость декодирования (кадров в секунду) |
ПаркСцена | 24.39 |
Кимоно1 | 25 |
Чтобы объективно и субъективно проверить скорость воспроизведения, плеер был развернут и протестирован на смартфоне Huawei P40 Pro.
На рисунке 3 показано изображение плеера во время воспроизведения битового потока Kimono на устройстве.
Рисунок 3. Изображение плеера, работающего на Huawei P40 Pro
4. Профилирование оптимизированного декодера
Рисунок 4. Оптимизированное профилирование битового потока декодера Kimono
Рисунок 5. Оптимизированное профилирование битового потока декодера ParkScene
5. Загрузка ЦП
Текущая реализация плеера оптимизирована для мобильного телефона Huawei P40 Pro с точки зрения использования ядер ЦП. Более конкретно, ПО работает только с 4 самыми мощными ядрами ЦП Kirin 990 (высокого и среднего класса). На рисунках 6 и 7 показан процент использования ЦП для каждого из 4 мощных ядер во время 10-секундного воспроизведения.
Рисунок 6. Использование ядер ЦП высшего и среднего класса. Воспроизведение кимоно.
Рисунок 7. Использование ядер ЦП высшего и среднего класса. Воспроизведение ParkScene.
6. Потребляемая мощность
Для оценки энергопотребления при 100% заряженном устройстве запускался бесконечный цикл воспроизведения тестовых битовых потоков и процесс работал до тех пор, пока устройство не выключилось из-за недостаточности энергии. В результате Плеер проработал более 4,5 часов с постоянной скоростью 24 кадра в секунду. На рисунках 10 и 11 суммированы полученные результаты.
Рисунок 10. Энергопотребление и скорость воспроизведения при бесконечном воспроизведении кимоно
Рисунок 11. Энергопотребление и скорость воспроизведения при бесконечном воспроизведении ParkScene
7. Заключение
Ранняя версия программного обеспечения EVC Player, реализованная Solveig Multimedia, демонстрирует, что воспроизведение битовых потоков EVC в реальном времени возможно и может использоваться на современных мобильных устройствах с разумным энергопотреблением.
- https://www.solveigmm.com/en/howto/improvements-of-mobile-real-time-evc-decoder-and-player/
Ольга Кровякова - менеджер технической поддержки в комании Solveig Multimedia с 2010 года.
Она является автором многих текстовых и видео инструкций по программным продуктам компании: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ и TriMP4.
Посколько она работает с программами каждый день, то хорошо знает как они работают. Свяжитесь с Ольгой по почте support@solveigmm.com, если у вас возникнут вопросы и она с радостью вам поможет!