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

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ SVT-AV1 4.2.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:

  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ TUNE-VMAF, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π΄ΠΎ 15% Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ качСства Π² соотвСтствии с ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΎΠΉ VMAF, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ чСловСчСскоС восприятиС, ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ качСства ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ PSNR, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ воспроизвСдСния исходных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ пиксСлСй.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ кодирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ случайного доступа (Random Access).
  • Π’ прСсСтах M3-M5 ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация компромиссов качСство/ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ случайного доступа.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки: β€”cqp, β€”enable-intrabc, β€”hbd-mds, β€”enable-kf-tf.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π² raw-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ OBU Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ IVF.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация компромиссов качСство/ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«β€”rtcΒ» (Real-Time Communications), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сТатия ΠΈ сниТСно ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π½ΠΈΠ·ΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Β«β€”max-intra-bitrate-pctΒ» ΠΈ Β«β€”max-inter-bitrate-pctΒ».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ кодирования Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с постоянным Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π°ΠΎΠΌ β€” CBR (Constant Bitrate), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ с использованиСм Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Калмана ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ с Ρ€Π°Π·ΠΌΠ°Π·Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ слоТных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ нСскольким ΠΊΠ°Π΄Ρ€Π°ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π΄Ρ€ΠΎΠ² с Ρ…ΡƒΠ΄ΡˆΠΈΠΌ качСством, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚.
  • Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«β€”rtcΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° динамичСского измСнСния настроСк Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° ΠΈ прСсСтов Π½Π° Π»Π΅Ρ‚Ρƒ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ API для управлСния ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ LTR (Long-Term Reference) ΠΈ Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ структуру Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² (RPS, Reference Picture Set).
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° рСализация энтропийного кодирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ обСспСчСна прямая запись Π² Π±ΡƒΡ„Π΅Ρ€ сСгмСнтов (tile-buffer), ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½ арифмСтичСский ΠΊΠΎΠ΄Π΅Ρ€ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ отсСчСниС остаточных Π΄Π°Π½Π½Ρ‹Ρ… послС квантования.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ CDEF (Constrained Directional Enhancement Filter) для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ размытия Π² областях смСны контраста, MD (Mode Decision) ΠΈ ME (Motion Estimation) для быстрой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ статичных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ наличия Π½Π° Π²ΠΈΠ΄Π΅ΠΎ изобраТСния с содСрТимым экрана для примСнСния спСцифичных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² кодирования для сохранСния чёткости тСкста.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сборочная опция ENABLE_STACK_PROTECTOR для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π»Π°Π³Π° Β«-fstack-protectorΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ пСрСполнСния стСка.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM ΠΈ задСйствованы Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ инструкции NEON для ускорСния вычислСний.

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

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