Հրապարակվել է SVT-AV1 4.2.0 գրադարանի թողարկումը (Scalable Video Technology AV1) 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-ի եղանակները կիրառվում են որպես ավելի բարդ, քան մյուս ձևաչափերով կոդավորելը, ուստի այս ձևաչափի համար պահանջվում է զգալիորեն ավելի շատ ռեսուրսներ, քան մյուս ձևաչափերի համար։
Նոր թողարկման փոխադարձություններում են.
- Ստեղծվել է նոր TUNE-VMAF օպտիմիզացիայի ռեժիմ, որը թույլ է տալիս խնայել մինչև 15% բիթռեյթ նույն կատարման մակարդակում, համաձայն VMAF մեթոդների, որոնք գնահատում են մարդու զգացողությունը, և վնաս չլինելով PSNR մեթոդի նշման տերմինում, որը գնահատում է սկզբնական տվյալների վերարտադրության հանգամանքը:
- Հ реализован однопоточный режим кодирования, который можно использовать с режимом случайного доступа (Random Access).
- M3-M5 պրեսեթներում գնային/արագության կոմպրոմիսի օպտիմизация է իրականացվել պատահական հասանելիության ռեժիմով կոդավորելու ժամանակ։
- Ավելացվեցին նոր հրամանների տողերի տարբերակներ: —cqp, —enable-intrabc, —hbd-mds, —enable-kf-tf.
- Ավելացվեց OBU raw ֆորմատի դուրսգրման աջակցություն, նախկինում աջակցվող 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
