Выпуск SVT-AV1 4.3.0, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²ΠΈΠ΄Π΅ΠΎ AV1

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ SVT-AV1 4.3.0 (Scalable Video Technology AV1) c рСализациями ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° кодирования Π²ΠΈΠ΄Π΅ΠΎ AV1, для ускорСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задСйствованы ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² процСссорах x86_64 ΠΈ ARM Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ распараллСливания вычислСний. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создан ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Intel Π² партнёрствС с Netflix с Ρ†Π΅Π»ΡŒΡŽ достиТСния уровня ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ для пСрСкодирования Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π»Π΅Ρ‚Ρƒ ΠΈ примСнСния Π² сСрвисах, ΠΎΡ‚Π΄Π°ΡŽΡ‰ΠΈΡ… Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ запросу (VOD). Π’ настоящСС врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдётся ΠΏΠΎΠ΄ эгидой альянса Open Media (AOMedia), ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° кодирования Π²ΠΈΠ΄Π΅ΠΎ AV1. Π Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ развивался Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenVisualCloud, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ SVT-HEVC ΠΈ SVT-VP9. Код распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

SVT-AV1 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ собран для систСм Π½Π° Π±Π°Π·Π΅ Π»ΡŽΠ±Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся компилятор с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ стандарта C99, Π½ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ достигаСтся Π½Π° систСмах x86_64, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ассСмблСрныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ инструкций SIMD (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² CPU ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ AVX2, Π½ΠΎ Π² качСствС ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° достаточно ΠΈ SSE2). ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти зависит ΠΎΡ‚ числа задСйствованных ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ процСссорных ядСр, Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β«β€”lpΒ». Из-Π·Π° услоТнСния примСняСмых Π² AV1 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², для кодирования Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° трСбуСтся сущСствСнно большС рСсурсов, Ρ‡Π΅ΠΌ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΌ выпускС SVT-AV1:

  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация компромиссов качСство/ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ для всСх прСсСтов, позволившая ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU Π½Π° 5-8% ΠΏΡ€ΠΈ сохранСнии Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня качСства, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя кодирования Π½Π° 10-11% Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. УскорСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ нСэффСктивных Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² кодирования (MD β€” Mode Decision), расчёта Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² двиТСния (MV β€” Motion Vector) ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π²ΠΎ врСмя кодирования, вычислСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° частотных коэффициСнтов, поиска ΡΡƒΠ±ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… смСщСний, копирования Π±Π»ΠΎΠΊΠΎΠ² ΠΈ отсСивания лишнСй Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RDOQ (Rate-Distortion Optimized Quantization). Π’ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ для экономии рСсурсов Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ опрСдСлСния трансляции содСрТимого экрана Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ I-ΠΊΠ°Π΄Ρ€Π°ΠΌ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ Β«β€”fast-decode 3Β» для ускорСния дСкодирования статичных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ Β«β€”fgs-tableΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ† зСрнистости (film grain), ΠΈ API FILM_GRAIN_EVENT для задания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² зСрнистости Π² привязкС ΠΊ ΠΊΠ°Π΄Ρ€Π°ΠΌ.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ кодирования Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ.
  • Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ кодирования с Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ распараллСливаниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ² (tile).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«max_allowed_consecutive_frames_skipsΒ» для настройки пропуска ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ поддСрТания постоянного Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° (CBR).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«max_hierarchical_levelsΒ» для управлСния ΠΏΡƒΠ»ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ², примСняСмым ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π³Ρ€ΡƒΠΏΠΏ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² (mini-GOP β€” Group of Pictures).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сборочная опция Β«β€”mobile-buildΒ» (Π² CMake β€” MOBILE_BUILD) для формирования 8-Π±ΠΈΡ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для RTC, VOD ΠΈ AVIF. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ CONFIG_ENABLE_* для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ cΠ±ΠΎΡ€ΠΊΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… инструмСнтов кодирования.
  • Для систСм x86 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ CDEF Π½Π° Π±Π°Π·Π΅ инструкций AVX2 ΠΈ SSE4.1, Π° Ρ‚Π°ΠΊΠΆΠ΅ 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ прямыС прСобразования Π½Π° Π±Π°Π·Π΅ инструкций AVX2 ΠΈ AVX-512. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструкций SSE4.1 ΠΊΠΎΠ΄ для ΠΌΠ΅ΠΆΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСдсказания, Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°ΠΌΠΈ ΠΈ трансформаций. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для квантования, копирования Π±Π»ΠΎΠΊΠΎΠ², расчёта искаТСний ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ cΡƒΠ±ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ.
  • Для систСм ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ускорСнныС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ процСссорных инструкций Neon.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster