VersionsutgÄvan av SVT-AV1 4.3.0 (Scalable Video Technology AV1) har publicerats, med implementationer av kodare och dekodare för videoformatet AV1, vilket accelereras av de hÄrdvarugrÀnssnitt som finns i x86_64- och ARM-processorer för att parallellisera berÀkningar. Projektet har skapats av Intel i partnerskap med Netflix för att uppnÄ en prestandanivÄ som Àr lÀmplig för realtidsomkodning av video och anvÀndning i tjÀnster för video pÄ begÀran (VOD). För nÀrvarande pÄgÄr utvecklingen under ledning av Open Media Alliance (AOMedia), som har hand om utvecklingen av videoformatet AV1. Tidigare utvecklades projektet inom ramen för OpenVisualCloud, som ocksÄ utvecklar SVT-HEVC och SVT-VP9-kodare. Koden distribueras under BSD-licensen.
SVT-AV1 kan byggas för system baserade pĂ„ alla arkitekturer för vilka det finns en kompilator som stöder C99-standarden, men bĂ€sta prestanda uppnĂ„s pĂ„ x86_64-system, dĂ€r assembleroptimeringar baserade pĂ„ SIMD-instruktioner tillĂ€mpas (det Ă€r önskvĂ€rt att processorn stöder AVX2, men som minimum Ă€r SSE2 tillrĂ€ckligt). Minnesförbrukningen beror pĂ„ antalet processortrĂ„dar som anvĂ€nds vid kodning, vilket regleras av alternativet "âlp". PĂ„ grund av komplexiteten hos de algoritmer som anvĂ€nds i AV1 krĂ€vs avsevĂ€rt mer resurser för att koda detta format Ă€n för andra format.
Bland förÀndringarna i den nya versionen av SVT-AV1:
- Optimeringarna av kompromissen mellan kvalitet/hastighet har genomförts för alla förinstĂ€llningar, vilket har möjliggjort en minskning av CPU-belastningen med 5-8 % samtidigt som samma kvalitetsnivĂ„ bibehĂ„lls, samt en minskning av kodningstiden med 10-11 % i flertrĂ„dad lĂ€ge. Utförandet av operationer för att utesluta ineffektiva kodningslĂ€gen (MD â Mode Decision), berĂ€kning av rörelsevektorer (MV â Motion Vector) och filterparametrar under kodning, berĂ€kning av storleken pĂ„ frekvenskoefficienter, sökning efter subpixel-offsets, kopiering av block och uteslutning av överflödig detaljering med hjĂ€lp av RDOQ-algoritmen (Rate-Distortion Optimized Quantization) har ocksĂ„ accelererats. I flertrĂ„dad lĂ€ge anvĂ€nds algoritmen för att bestĂ€mma innehĂ„llet i skĂ€rmen nu endast för I-nyckelbilder för att spara resurser.
- En experimentell flagga "âfast-decode 3" har lagts till för att pĂ„skynda dekodningen av statiska bilder.
- Flaggan «âfgs-table» har lagts till, vilket inkluderar stöd för filmkorn (film grain) och API FILM_GRAIN_EVENT för att ange parametrar för filmkorn kopplade till bilder.
- Hastigheten för förlustfritt kodning har ökat.
- I lÀget för kodning med lÄga fördröjningar har parallell bearbetning av block (tile) implementerats.
- Alternativet «max_allowed_consecutive_frames_skips» har lagts till för att justera bildöverspringningar i lÀget för konstant bithastighet (CBR).
- Parametern «max_hierarchical_levels» har lagts till för att hantera buffertpoolen som anvĂ€nds vid storleksĂ€ndring av grupper av bildintervall (mini-GOP â Group of Pictures).
- Byggalternativet «âmobile-build» (i CMake â MOBILE_BUILD) har lagts till för att skapa ett 8-bitarsbibliotek för RTC, VOD och AVIF. Alternativen CONFIG_ENABLE_* har lagts till för att inaktivera byggandet av oanvĂ€nda kodningsverktyg.
- För x86-system har 8-bitars CDEF-hanterare implementerats baserat pÄ AVX2- och SSE4.1-instruktioner, samt 16-bitars direkttransformationer baserat pÄ AVX2- och AVX-512-instruktioner. Optimerad kod med hjÀlp av SSE4.1-instruktioner för mellanbildsförutsÀgelse, arbete med paletter och transformationer har lagts till. Hanterare för kvantisering, blockkopiering, berÀkning av förvrÀngningar och bedömning av subpixel-differenser har optimerats.
- För ARM-system har varianter av hanterare lagts till som Àr acceleratorerade med processtekniker frÄn Neon.
KĂ€lla: opennet.ru
