SVT-AV1 4.2.0 (Scalable Video Technology AV1) kitabxanasının buraxılışı yayımlandı. Bu, x86_64 və ARM prosessorlarında mövcud olan hesablama işlərini paralelləşdirmək üçün cihazların dəstəklədiyi kodlayıcı və dekodlayıcıdan istifadə etməklə video kodlaşdırma formatı AV1-in həyata keçirilmələrini ehtiva edir. Layihə Intel və Netflix-in tərəfdaşlığı ilə yaradılmışdır və video xizək xidmətlərində (VOD) video şifrələmənin həyata keçirilməsini mümkün edəcək səviyyədə performans əldə etmək məqsədini güdür. Hazırda, AV1 video kodlaşdırma formatını inkişaf etdirən Open Media (AOMedia) ittifaqının himayəsi altında inkişaf etdirilir. Layihə əvvəllər OpenVisualCloud layihəsi çərçivəsində inkişaf etdirilib, burada SVT-HEVC və SVT-VP9 kodlayıcıları da hazırlanır. Kod BSD lisenziyası altında yayılır.
SVT-AV1, C99 standartını dəstəkləyən bir kompilyatorun olduğu istənilən arxitekturaya sahib sistemlər üçün tərtib edilə bilər, lakin ən yaxşı performans x86_64 sistemlərində əldə edilir. Bunun üçün SIMD təlimatları əsasında assembler optimizasiyaları tətbiq olunur (AVX2-nin CPU dəstəyi arzuolunandır, lakin minimum olaraq SSE2 kifayətdir). Yaddaş istehlakı, kodlaşdırmada istifadə olunan prosessor nüvələrinin sayına bağlıdır və «—lp» parametri ilə tənzimlənir. AV1 algoritmlərinin mürəkkəbləşməsi nəticəsində, bu formatın kodlaşdırılması digər formatlardan daha çox resurs tələb edir.
Yeni SVT-AV1 buraxılışında dəyişikliklər arasında:
- TUNE-VMAF yeni optimizasiya rejimi reallaşdırılmışdır ki, bu da VMAF metrikasına görə eyni səviyyədə vizual keyfiyyətdə 15%-ə qədər bitrate qənaət etməyə imkan verir, eyni zamanda PSNR metrikasına görə piksel səviyyəsində orijinal məlumatların təkrarı keyfiyyətinin az miqdarda azaltılmasına səbəb olur.
- Təsadüfi çıxış rejimi (Random Access) ilə istifadə oluna bilən bir iplik kodlaşdırma rejimi reallaşdırılmışdır.
- M3-M5 presetlərində təsadüfi çıxış rejimində kodlaşdırma zamanı keyfiyyət/sürət kompromislərinin optimizasiyası həyata keçirilmişdir.
- Yeni komanda xətti seçimləri əlavə olunub: —cqp, —enable-intrabc, —hbd-mds, —enable-kf-tf.
- IVF formatında əvvəlki dəstəklənən formatın əlavə olaraq OBU raw formatında çıxışı üçün dəstək əlavə olunmuşdur.
- «—rtc» (Real-Time Communications) rejimində keyfiyyət/sürət kompromislərinin optimizasiyası həyata keçirilib, aşağı həllərdə kodlaşdırma zamanı sıxma effektivliyi artırılıb və yaddaş istehlakı azaldılıb. «—max-intra-bitrate-pct» və «—max-inter-bitrate-pct» parametrləri əlavə olunub.
- Daimi bitrate (CBR - Constant Bitrate) ilə real vaxtda kodlaşdırma rejimi əlavə olunub ki, burada Kalman filtri istifadə olunur və mürəkkəb dəyişikliklərin bir neçə kadr arasında yayılmasını təmin edir, worst keyfiyyətdə keyfiyyətin təmin edilmədiyi kadrların yenidən kodlaşdırılması həyata keçirilir.
- «—rtc» rejimində bitrat tənzimləmələrinin və presetlərin dinamik dəyişdirilməsini dəstəkləyən funksiya əlavə edilib.
- LTR (Uzunmüddətli Referans) və iki səviyyəli referans çərçivələri (RPS, Reference Picture Set) dəstəkləyən əsas çərçivələri idarə etmək üçün API əlavə edilib.
- Məzmunun sıxma metodlarını sadələşdirən və kvantizasiyadan sonra qalıq məlumatları kəsməyi həyata keçirən birbaşa segment buferinə (tile-buffer) yazma təmin edən entropiya kodlaşdırma reallaşdırması təkmilləşdirilib.
- Kontrast dəyişmələri olan sahələrdə bulanıqlığı aradan qaldırmaq üçün CDEF (Məhdud İstiqamətli Təkmilləşdirmə Filtri), MD (Rejim Qərarı) və ME (Hərəkət Təxmini) üçün yeni optimizasiyalar əlavə edilib.
- Ekran məzmununun mövcudluğunu videoda müəyyənləşdirmə işlərinin optimallaşdırılması, mətni aydın saxlamaq üçün spesifik kodlaşdırma metodlarının tətbiqi ilə həyata keçirilib.
- Stack overflow yoxlama surətini aradan qaldırmağa imkan verən ENABLE_STACK_PROTECTOR yığma opsiyası əlavə edilib.
- ARM arxitekturası üçün əlavə optimizasiyalar əlavə edilib və hesablamaları sürətləndirmək üçün NEON genişləndirilmiş instruktorları işə salınıb.
Mənbə: opennet.ru
