Спосіб ентропійного кодування відео на базі розширеного набору інструкцій SIMD AVX-512

Автор(и)

DOI:

https://doi.org/10.18372/2073-4751.70.16841

Ключові слова:

SIMD, AV1, AVX-512, ентропійне кодування, відео, кодек, стиснення відео

Анотація

Метою даної роботи є зменшення часу ентропійного кодування відео з використанням можливостей процесорів із розширеним набором інструкцій типу AVX-512 за рахунок розпаралелювання і використання додаткових SIMD  інструкцій у порівнянні з AVX2 та SSE.

У роботі досліджуються алгоритм ентропійного декодування відео AV1, як існуюча скалярна версія, так і векторизована версія на базі SIMD SSE та AVX2. Проаналізовані недоліки наведених алгоритмів, які призводять до зайвих витрат часу процесорів і як наслідок до зниження їх продуктивності.

Дані версії не використовують усі можливостей сучасної мікроархітектури із підтримкою набору SIMD AVX-512. У роботі показано, що за допомогою набору інструкцій SIMD AVX-512 можна ефективно вирішити проблеми, зокрема лівостороннього пакування, та зменшити кількість векторних та загального призначення регістрів, що використовує програма, уникнути зайвих спеціалізацій функцій, що потребує додаткових витрат ресурсів, а саме стек-памяті.

Наведені позитивні результати, отримані під час тестування запропонованого способу ентропійного декодування на базі SIMD AVX-512 у порівнянні зі скалярною та векторизованою версіями SIMD SSE та AVX2. Розглянуті недоліки мікроархітектури із розширеним набором інструкцій AVX512 та шляхи їх вирішення. Вказано, що наведенітнедоліки можливо виправити при виборі правильних параметрів ентропійного енкодування. Відносне прискорення частини ентропійного декодування, що відповідає за оновлення ймовірностей працює значно швидше, оскільки не залежить від значень декодованого символу.

Посилання

Videolan. Репозиторій dav1d. [Електронний ресурс]. – Режим доступу: https://code.videolan.org/videolan/dav1d.

Gottschlag, Mathias et al. Fair Scheduling for AVX2 and AVX-512 Workloads. USENIX Annual Technical Conference (2021). – Р. 745-758.

Teh, J. Hadarmard transform and sum of absolute difference improvement on high efficiency video coding using intel advanced vector extension-512. – 2018. – 22 р.

Gottschlag, Mathias and Frank Bellosa. Mechanism to Mitigate AVX-Induced Frequency Reduction. – 2018. – 12 р.

Lemire D. Avx-512: when and how to use these new instructions. [Електронний ресурс]. – Режим доступу: https://lemire.me/blog/2018/09/07/avx512-when-and-how-to-use-these-newinstructions/.

Kinsella R., MacNamara C., G. Tkachuk G. TECHNOLOGY GUIDE Intel Corporation. Intel® AVX-512 – Instruction Set for Packet Processing. [Електронний ресурс]. – Режим доступу: https://builders.intel.com/docs/networkbuilders/intel-avx-512-instruction-set-for-packet-processing-technology-guide-1617440657.pdf

Google. Репозиторій libaom. [Електронний ресурс]. – Режим доступу: https://aomedia.googlesource.com/aom/

Han, Jingning, Bohan Li, Debargha Mukherjee, Chiang Ching-Han, Cheng Chen, Hui Su, Sarah Parker, Urvang Joshi, Yue-Meng Chen, Yunqing Wang, Paul Wilkins, Yaowu Xu and Jim Bankoski. A Technical Overview of AV1. Proceedings of the IEEE 109 (2021). – Р. 1435-1462.

Stackoverflow. AVX2 what is the most efficient way to pack left based on a mask. [Електронний ресурс]. – Режим доступу: https://stackoverflow.com/questions/36932240/avx2-what-is-the-most-efficient-way-to-pack-left-based-on-a-mask

##submission.downloads##

Опубліковано

2022-06-24

Номер

Розділ

Статті