Avaldus SVT-AV1 4.3.0 (Scalable Video Technology AV1) teegi vÀljalaskmisest koos video kodeerimise ja dekodeerimise vormingute rakendustega, mille kiirus on suurendatud x86_64 ja ARM protsessorites olevate riistvaraliste paralleelsete töötluse laiendustega. Projekt on loodud ettevÔtte Intel ja Netflixi partnerluses, et saavutada jÔudlus, mis sobib videote reenkodeerimiseks reaalajas ja voogedastusteenustes (VOD). Praegu toimub arendus Open Media (AOMedia) juhtimise all, mis kureerib AV1 video kodeerimise vormingu arengut. Varasemalt töötati projekt OpenVisualCloud raames, mis arendab ka SVT-HEVC ja SVT-VP9 kodeerijaid. Kood on levitatud BSD litsentsi alusel.
SVT-AV1 saab olla kokku pandud mistahes arhitektuuride sĂŒsteemide jaoks, millel on C99 standardit toetav kompilaator, kuid parim jĂ”udlus saavutatakse x86_64 sĂŒsteemides, kus kasutatakse SIMD instruktsioonide pĂ”hiseid assembleri optimeerimisi (soovitav on, et CPU toetaks AVX2, kuid vĂ€hemalt piisab ka SSE2 toest). MĂ€lutarbimine sĂ”ltub kodeerimisel kasutatavate protsessorituumade arvust, mida reguleeritakse valiku ââlpâ abil. AV1 algoritmide keerukuse tĂ”ttu nĂ”uab selle formaadi kodeerimine oluliselt rohkem ressursse kui teised formaadid.
Uues SVT-AV1 vÀljaandes on muutused:
- On tehtud kvaliteedi/kiirusnĂ”uete kompromisside optimeerimine kĂ”igi esitusfailide jaoks, mis vĂ€hendab CPU koormust 5-8% vĂ”rra sĂ€ilitades sama kvaliteeditaseme ning lĂŒhendab kodeerimisaega 10-11% ulatuses mitme lĂ”ime reĆŸiimis. Operatsioonide, milleks on ebaefektiivsete kodeerimisreĆŸiimide vĂ€ljaarvamine (MD â Mode Decision), liikumisvektorite (MV â Motion Vector) arvutamine ja filtreerimisparameetrite mÀÀramine kodeerimise ajal, sageduskoefitsiendi suuruse arvutamine, alampikseliste nihkete otsimine, plokkide kopeerimine ja ĂŒleliigse detailide filtreerimine RDOQ (Rate-Distortion Optimized Quantization) algoritmi abil, kiirus on suurenenud. Mitme lĂ”ime reĆŸiimis, et ressursse sÀÀsta, rakendatakse ekraani sisu mÀÀramise algoritmi nĂŒĂŒd ainult I-kaadrite korral.
- Lisatud eksperimentaalne lipp ââfast-decode 3â, et kiirendada staatiliste piltide dekodeerimist.
- Lisatud lipp ââfgs-tableâ, mis aktiveerib teravuse tabelite (film grain) toe, ja API FILM_GRAIN_EVENT teravuse parameetrite mÀÀramiseks kaadrite seotuse kaudu.
- Kaduvata kaotuse kodeerimise kiirus on suurenenud.
- Madala viivitusega kodeerimise reĆŸiimis on pakkuda blokki (tile) töötlemise paralleelsust.
- Lisatud valik âmax_allowed_consecutive_frames_skipsâ kaadrite vahelesegumise seadmiseks pĂŒsi bittide mÀÀramise (CBR) reĆŸiimis.
- Lisatud parameeter âmax_hierarchical_levelsâ, et hallata puhvrigaitse, mida kasutatakse vahekaadrite rĂŒhmade (mini-GOP â Group of Pictures) suuruse muutmisel.
- Lisatud koostamise valik ââmobile-buildâ (CMake'is â MOBILE_BUILD) 8-bitise raamatukogu genereerimiseks RTC, VOD ja AVIF jaoks. Lisatud valikud CONFIG_ENABLE_* mittetöötavate kodeerimisvahendite koostamise keelamiseks.
- X86 sĂŒsteemidele on rakendatud 8-bitised CDEF töötlejad AVX2 ja SSE4.1 instruktsioonide pĂ”hjal, samuti 16-bitised otseĂŒlekanded AVX2 ja AVX-512 instruktsioonide pĂ”hjal. Optimeeritud SSE4.1 instruktsioonide abil kood vahekaadri ennustamiseks, palettide töötlemiseks ja teisendamiseks. Optimeeritud töötlejad kvantimise, plokkide kopeerimise, moonutuste arvutamise ja osasubpiksli erinevuste hindamise jaoks.
- ARM sĂŒsteemidele on lisatud töötleja valikud, mis on kiiremad tĂ€nu protsessori Neon instruktsioonidele.
Allikas: opennet.ru
