Udgivelse af SVT-AV1 4.3.0, en encoder til videoformatet AV1

Udgivelsen af SVT-AV1 biblioteket 4.3.0 (Scalable Video Technology AV1) med implementeringer af en encoder og en decoder til video codec formatet AV1, der accelereres ved brug af de x86_64 og ARM processorer med hardware-baseret parallelisering af beregninger. Projektet er skabt af Intel i partnerskab med Netflix for at opnå en ydeevne, der er egnet til realtids videotranskodning og anvendelse i video-on-demand (VOD) tjenester. Udviklingen foregår nu under aegis af Open Media Alliance (AOMedia), som overvåger udviklingen af AV1 video codec formatet. Tidligere blev projektet udviklet under OpenVisualCloud, som også udvikler SVT-HEVC og SVT-VP9 encoderne. Koden distribueres under BSD licensen.

SVT-AV1 kan bygges til systemer baseret på enhver arkitektur, hvor der er en compiler, der understøtter C99 standarden, men den bedste ydeevne opnås på x86_64 systemer, hvor der bruges assembleroptimeringer baseret på SIMD instruktioner (det er ønskeligt, at CPU'en understøtter AVX2, men som minimum er SSE2 tilstrækkeligt). Hukommelsesforbruget afhænger af antallet af anvendte processor kerner under kodning, reguleret af indstillingen "—lp". På grund af kompleksiteten i de anvendte algoritmer i AV1, kræver kodning i dette format betydeligt flere ressourcer end til andre formater.

Blandt ændringerne i den nye udgave af SVT-AV1:

  • Der er udført optimering af kompromiser mellem kvalitet/hastighed for alle presets, hvilket har reduceret CPU-belastningen med 5-8% ved at bevare samme kvalitetsniveau, samt forkortet kodningstiden med 10-11% i multitrådet tilstand. Udførelsen af operationer til undtagelse af ineffektive kodningsmetoder (MD - Mode Decision), beregning af bevægelsesvektorer (MV - Motion Vector) og filtreringsparametre under kodningen, beregning af størrelsen af frekvenskoefficienter, søgning af subpixel offset, blokkopiering og fjernelse af overflødig detaljer ved hjælp af RDOQ algoritmen (Rate-Distortion Optimized Quantization) er blevet accelereret. I multitrådet tilstand anvendes algoritmen til bestemmelse af skærmoverførsel nu kun på I-frames for at spare ressourcer.
  • En eksperimentel flag "—fast-decode 3" er blevet tilføjet for at accelerere dekodningen af statiske billeder.
  • Tilføjet flaget «—fgs-table», der inkluderer understøttelse af filmkorn (film grain), samt API FILM_GRAIN_EVENT til at angive filmkornparametre i forbindelse med frames.
  • Forbedret hastighed for tabsløs kodning.
  • I kodningsmodus med lav latens er der implementeret parallel behandling af blokke (tile).
  • Tilføjet indstillingen «max_allowed_consecutive_frames_skips» til at justere frame-spring i konstant bitrate (CBR) tilstand.
  • Tilføjet parameteren «max_hierarchical_levels» til at styre bufferpuljen, der anvendes ved ændring af størrelsen på grupper af mellemrammer (mini-GOP — Group of Pictures).
  • Tilføjet byggeoptionen «—mobile-build» (i CMake — MOBILE_BUILD) til opbygning af 8-bit biblioteket til RTC, VOD og AVIF. Tilføjet indstillinger CONFIG_ENABLE_* for at deaktivere bygningen af ubrugte kodningsværktøjer.
  • For x86-systemer er der implementeret 8-bit CDEF-behandlere baseret på AVX2 og SSE4.1 instruktioner, samt 16-bit direkte transformationer baseret på AVX2 og AVX-512 instruktioner. Optimeret kode til mellemrammesprediktion, paletarbejde og transformationer ved hjælp af SSE4.1 instruktioner. Behandlere til kvantisering, blokkopiering, beregning af forvrængninger og vurdering af sub-pixel forskelle er optimeret.
  • For ARM-systemer er der tilføjet varianter af behandlere, accelereret af processorinstruktioner fra Neon.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster