Opublikowano wydanie biblioteki SVT-AV1 3.0 (Scalable Video Technology AV1) z implementacjami kodera i dekodera formatu kodowania wideo AV1, dla których zwiększono wydajność poprzez wykorzystanie dostępnych w nowoczesnych procesorach Intel sprzętowych metod równoległego przetwarzania. Projekt został stworzony przez firmę Intel we współpracy z Netflix w celu osiągnięcia poziomu wydajności odpowiedniego do transkodowania wideo w czasie rzeczywistym i użycia w usługach oferujących wideo na żądanie (VOD). Obecnie rozwój odbywa się pod auspicjami sojuszu Open Media (AOMedia), który nadzoruje rozwój formatu kodowania wideo AV1. Wcześniej projekt rozwijał się w ramach projektu OpenVisualCloud, który również opracowuje kodeki SVT-HEVC i SVT-VP9. Kod jest rozpowszechniany na licencji BSD.
SVT-AV1 może być kompilowany dla systemów opartych na dowolnych architekturach, dla których dostępny jest kompilator zgodny ze standardem C99, jednak najlepsza wydajność osiągana jest na systemach x86_64, dla których zastosowano optymalizacje assemblerowe oparte na instrukcjach SIMD (zalecane jest, aby procesor obsługiwał AVX2, jednak minimalnym wymaganiem jest SS2). Zużycie pamięci zależy od liczby rdzeni procesora używanych podczas kodowania, co regulowane jest opcją „—lp”. Z powodu skomplikowania algorytmów stosowanych w AV1, do kodowania tego formatu wymagane są znacznie większe zasoby niż dla innych formatów, na przykład wbudowany kodek projektu AV1 wymaga odpowiednio 5721, 5869 i 658 razy więcej obliczeń w porównaniu do kodeków x264 (profil „main”), x264 (profil „high”) oraz libvpx-vp9.
Wśród zmian w nowym wydaniu SVT-AV1:
- Przeprowadzono optymalizację kompromisów jakość/wydajność dla presetów ustawiających średni i wysoki poziom jakości. W trybie „fast-decode 2” dla presetów M3-M10 prędkość wzrosła o 15-25% przy zachowaniu poziomu jakości. Dla presetów M0-M2 poziom jakości zwiększył się o około 1% w ocenie za pomocą metody BD-Rate (Bjontegaard-Delta).
- W trybie „fast-decode 1” w porównaniu do „fast-decode 0” liczba cykli dekodowania została zmniejszona o około 10% przy jednoczesnym wzroście strat jedynie o 1% według metryki BD-Rate.
- Na systemach ARM zastosowano optymalizacje z wykorzystaniem rozszerzeń Neon i SVE2, co pozwoliło na zwiększenie wydajności kodowania strumieni z wysoką głębią kolorów i rozdzielczościami 480p-1080p o 10-25%.
- Zmiany przeniesione z forka SVT-AV1-SPY poprawiają percepcję jakości w trybie „tune 0”.
- Dodano tryb „avif”, który zużywa mniej zasobów podczas kodowania statycznych obrazów.
- Ulepszono testy jednostkowe dla kodu wykorzystującego instrukcje Arm Neon i SVE2.
Źródło: opennet.ru
