SVT-AV1 4.2.0 (Scalable Video Technology AV1) номын сан гарсан бөгөөд энэ нь x1_86 болон ARM процессоруудад байдаг техник хангамжийн зэрэгцээ тооцоолох өргөтгөлүүдийн тусламжтайгаар хурдасгасан AV64 видео кодчилолын форматын кодлогч болон декодчилогчийн хэрэгжилтийг агуулсан. Энэхүү төслийг Intel компани Netflix-тэй хамтран видео бичлэгийн кодыг шууд хөрвүүлэх, видео эрэлт хэрэгцээнд (VOD) үйлчилгээнд ашиглахад тохиромжтой гүйцэтгэлийн түвшинд хүрэхийн тулд бүтээсэн. Одоогоор энэхүү хөгжүүлэлт нь AV1 видео кодчилолын форматыг боловсруулахад хяналт тавьдаг Open Media Alliance (AOMedia)-ийн ивээл дор явагдаж байна. Төслийг өмнө нь SVT-HEVC болон SVT-VP9 кодлогчийг хөгжүүлдэг OpenVisualCloud төслийн хүрээнд боловсруулсан. Энэ кодыг BSD лицензийн дагуу түгээдэг.
SVT-AV1-ийг C99 стандартыг дэмждэг хөрвүүлэгчтэй ямар ч архитектур дээр суурилсан системд зориулж хөрвүүлж болох боловч хамгийн сайн гүйцэтгэлийг SIMD зааварт суурилсан ассемблерийн оновчлолыг ашигладаг x86_64 системүүд дээр олж авдаг (CPU-д AVX2 дэмжлэг илүүд үздэг боловч SSE2 нь хамгийн багадаа хангалттай). Санах ойн хэрэглээ нь кодчилолд ашигласан процессорын цөмийн тооноос хамаардаг бөгөөд үүнийг "--lp" сонголтоор хянадаг. AV1-д ашигласан алгоритмуудын нарийн төвөгтэй байдлаас шалтгаалан энэ форматыг кодлох нь бусад форматаас хамаагүй илүү их нөөц шаарддаг.
Шинэ SVT-AV1 хувилбарын өөрчлөлтүүдийн дунд:
- Хүний ойлголтыг үнэлдэг VMAF метрикийн дагуу харааны чанарын түвшинг хадгалахын зэрэгцээ 15% хүртэл битийн хурдыг хэмнэх, мөн пикселийн түвшинд анхны өгөгдлийг хуулбарлах нарийвчлалыг үнэлдэг PSNR метрикийн дагуу чанарыг бага зэрэг бууруулах боломжийг олгодог шинэ TUNE-VMAF оновчлолын горимыг хэрэгжүүлсэн.
- Санамсаргүй хандалтын горимд ашиглаж болох нэг урсгалтай кодчилолын горимыг хэрэгжүүлсэн.
- M3-M5 урьдчилан тохируулсан тохиргоонд санамсаргүй хандалтын горимд кодлох үед чанар/хурдны хоорондох зөрүүг оновчтой болгосон.
- Шинэ команд мөрийн сонголтуудыг нэмсэн: --cqp, --enable-intrabc, --hbd-mds, --enable-kf-tf.
- Өмнө нь дэмжиж байсан IVF форматаас гадна түүхий OBU форматаар гаралтыг дэмжих дэмжлэгийг нэмсэн.
- "—rtc" (Бодит цагийн харилцаа холбоо) горимд кодлох үед чанар/хурдны зөрүүг оновчтой болгож, шахалтын үр ашгийг нэмэгдүүлж, бага нягтралтайгаар кодлох үед санах ойн хэрэглээг бууруулсан. "—max-intra-bitrate-pct" болон "—max-inter-bitrate-pct" параметрүүдийг нэмсэн.
- Бодит цагийн тогтмол битийн хурдтай кодчилолын горим нэмэгдсэн—CBR (Тогтмол битийн хурд), Калман шүүлтүүр ашиглан хэрэгжүүлсэн бөгөөд хэд хэдэн фрэйм дээр нарийн төвөгтэй өөрчлөлтүүдийг түрхэж, заасан битийн хурдад тохирохгүй бол чанар муутай фрэймүүдийг дахин кодчилдог циклийн шинэчлэлтийг дэмждэг.
- "--rtc" горимд битийн хурдны тохиргоо болон урьдчилан тохируулгыг динамикаар өөрчлөх дэмжлэг нэмэгдсэн.
- Түлхүүр фрэймүүдийг удирдах, LTR (Урт хугацааны лавлагаа) болон лавлагааны зургийн багцын хоёр түвшний бүтцийг (RPS) дэмжих API нэмсэн.
- Энтропийн кодчилолын хэрэгжилтийг плитаны буфер руу шууд бичих, арифметик кодлогчийг хялбарчлах, квантжуулалтын дараа үлдэгдэл өгөгдлийг тайрах зорилгоор дахин боловсруулсан.
- Шинэ оновчлолуудыг нэмсэн: Контраст өөрчлөгдөж буй хэсгүүдийн бүдгэрлийг арилгах CDEF (Хязгаарлагдмал чиглэлтэй сайжруулалтын шүүлтүүр), статик объектуудыг хурдан боловсруулах MD (Горимын шийдвэр) болон ME (Хөдөлгөөний тооцоолол) зэрэг шинэ оновчлолууд.
- Текстийн тодорхой байдлыг хадгалахын тулд тодорхой кодчилолын аргуудыг хэрэглэхийн тулд видеонд дэлгэцийн агуулгатай зураг байгаа эсэхийг илрүүлэх оновчтой болгосон.
- Стекийн халих шалгалтын нэмэлт ачааллыг арилгадаг "-fstack-protector" тугийг идэвхгүй болгохын тулд ENABLE_STACK_PROTECTOR бүтээх сонголтыг нэмсэн.
- ARM архитектурт нэмэлт оновчлолуудыг нэмж, тооцооллыг хурдасгахын тулд өргөтгөсөн NEON заавруудыг ашигласан.
Эх сурвалж: opennet.ru
