È stata pubblicata la versione 4.0.0 della libreria SVT-AV1 (Scalable Video Technology AV1) con implementazioni del codificatore e del decodificatore del formato video AV1. Per accelerare queste operazioni, vengono sfruttate le estensioni per la parallelizzazione hardware presenti nei processori x86_64 e ARM. Il progetto è stato creato da Intel in collaborazione con Netflix per raggiungere livelli di prestazione idonei alla ricodifica video in tempo reale e per l'uso in servizi di streaming video on demand (VOD). Attualmente, lo sviluppo è sotto l'egida dell'alleanza Open Media (AOMedia), che supervisiona l'evoluzione del formato di codifica video AV1. In precedenza, il progetto si è sviluppato all'interno di OpenVisualCloud, che sviluppa anche i codificatori SVT-HEVC e SVT-VP9. Il codice è distribuito con licenza BSD.
SVT-AV1 può essere compilato per sistemi basati su qualsiasi architettura per la quale sia disponibile un compilatore che supporta lo standard C99, ma le migliori prestazioni si ottengono sui sistemi x86_64, dove vengono applicate ottimizzazioni in assembly basate su istruzioni SIMD (è preferibile che la CPU supporti AVX2, ma come minimo è sufficiente SSE2). Il consumo di memoria dipende dal numero di core della CPU utilizzati per la codifica, regolato dall'opzione "—lp". A causa della complessità degli algoritmi utilizzati in AV1, la codifica di questo formato richiede risorse significativamente maggiori rispetto ad altri formati; ad esempio, il codificatore standard del progetto AV1 richiede rispettivamente 5721, 5869 e 658 volte più calcoli rispetto ai codificatori x264 (profilo "main"), x264 (profilo "high") e libvpx-vp9.
Tra le novità della nuova versione di SVT-AV1:
- Sono state ottimizzate le modalità di codifica di fotogrammi singoli e immagini nel formato AVIF. Per i preset M0-M11, attivando il parametro MS-SSIM (—tune 4), si è registrato un aumento della velocità di codifica da 5 a 8 volte, mantenendo un buon livello di qualità. Grazie allo strumento BD-Rate (Bjontegaard-Delta), si segnala un miglioramento dell'efficienza di compressione del 5-8% a parità di complessità.
- Ottimizzazione dei compromessi qualità/velocità per la codifica in modalità «—rtc» (Real-Time Communications). Per i preset M7-M11 si osserva un incremento della velocità del 5-15% mantenendo i livelli di qualità.
- Ottimizzazione dei compromessi qualità/velocità nella codifica in modalità accesso casuale (Random Access). Per i preset M0-M7, si è registrato un'accelerazione del 10-25% senza perdita di qualità, utilizzando l'opzione «—fast-decode=1|2).
- Sui sistemi ARM sono state implementate ulteriori ottimizzazioni basate sulle estensioni Neon e SVE2, consentendo un incremento del 5% nella performance di codifica dei flussi a bassa risoluzione con alta profondità di colore.
- Dalla fork SVT-AV1-PSY, il cui supporto è stato interrotto, è stata completata la migrazione delle capacità avanzate per la modalità di alta qualità visiva, attivabile con le impostazioni «—tune 0» (VQ, Video Quality) per i video e «—tune 3» (IQ, Image Quality) per le immagini Avif.
- È stato realizzato un metodo di modellazione psicovisituale AC Bias, che migliora la preservazione dei dettagli e del rumore proveniente dal sensore della camera.
- Migliorato il supporto per i S-frame (Switch Frames), utilizzati per il passaggio tra flussi di diversa qualità. È stata aggiunta la supporto per i S-frame nelle opzioni di configurazione dei parametri di quantizzazione (QP, Quantization Parameter) e nell'ordine di decodifica.
- È stata aggiunta la possibilità di applicare le modalità IQ (Image Quality) e MS-SSIM (Multi-Scale Structural Similarity Index) nella codifica di immagini e fotogrammi singoli.
- Sono state apportate modifiche all'API, tra cui alcune che compromettono la retrocompatibilità.
Fonte: opennet.ru
