Cos’è il codec AV1, come funziona, vantaggi e hardware supportato

Negli ultimi anni è apparso un codec video che è diventato estremamente popolare. Ci riferiamo ad AV1, che ha recentemente ottenuto il pieno supporto sulle schede grafiche di ultima generazione di AMD, NVIDIA e Intel. Ecco perché ti sveleremo tutti i suoi segreti e come si differenzia dal resto.

Quando si tratta di streaming su Internet o di distribuzione di video, la scelta del codec giusto è estremamente importante. Si cercano sempre le massime prestazioni in termini di qualità dell’immagine e con il bit rate più basso di tutti e in entrambi gli aspetti l’AV1 si distingue dagli altri.

Prima di tutto, cos’è un codec?

Bisogna partire dal fatto che un codec video non è altro che un formato di file che ci permette di codificare una sequenza di immagini e audio con uno specifico algoritmo di compressione in modo che il file occupi molto meno spazio. Da qui il nome codec, poiché è necessario codificare il file per salvarlo per poi decodificarlo per poterlo riprodurre.

Nel corso della storia della riproduzione video in formato digitale abbiamo avuto diversi codec video, molti dei quali sono scomparsi per essere meno efficienti in termini di qualità dell’immagine e rapporto di compressione, poiché dobbiamo presumere che questi sono nati come modi per archiviare video su supporti ottici dischi come CD, DVD e Blu-Ray, e poi con l’avvento di Internet a banda larga per servire cose come lo streaming di video su Internet o il cloud gaming.

Oggi la grande preoccupazione per i creatori di codec video come AV1 è ottenere una qualità dell’immagine e del suono sufficientemente buona con il bitrate più basso possibile. Vale a dire che il file occupa poco e utilizza poca larghezza di banda della rete. Non solo perché l’utente finale possa riprodurre il contenuto senza problemi, ma anche perché i costi di distribuzione non siano troppo elevati. Tutto ciò favorisce la creazione di nuovi formati video sempre più avanzati che consentono di ottenere risoluzioni più elevate con il bit rate più basso possibile.

Ok, e chi è incaricato di eseguirlo?

Quando codifichi o decodifichi un file con un codec video, non lavori per interi fotogrammi, ma per blocchi di pixel. Quindi è molto importante avere la massima capacità di base possibile per eseguirlo. Il motivo è semplice, distribuendo il lavoro tra più unità di elaborazione simmetricamente, il lavoro è finito molto prima. Ma dove viene eseguito il codec AV1?

La CPU lo fa?

Questo è il motivo per cui la codifica e la decodifica video vengono spesso eseguite in modo più efficiente sulle schede grafiche che sulle CPU. Tuttavia, quando uno viene rilasciato per la prima volta sul mercato, è come un programma che dipende dal processore centrale.

E’ la scheda grafica?

Il secondo passaggio è eseguirlo su una scheda grafica, ciò significa che assume la forma di un programma shader generico, quello che di solito chiamiamo Compute Shaders, e con questo la CPU viene liberata dalla necessità di codificare il video. e questo è importante perché con il passare del tempo il carico computazionale dei nuovi formati cresce. Ora, sebbene le risorse consumate dalla GPU e il consumo di energia siano inferiori a quelli della CPU che fa lo stesso lavoro, le cose possono essere migliorate.

No, è una parte specializzata

Questo ci porta al terzo passo, il codec video hardware, questo è un processore a funzione fissa totale o parziale, progettato per eseguire l’algoritmo di decodifica dei blocchi video ad alta velocità. Cioè, nel caso di AV1, il file diviso in blocchi viene inviato a questo pezzo che svolge questo compito, liberando la GPU e permettendole di creare i frame del nostro gioco preferito senza doversi preoccupare di codificare e riprodurre i flussi video.

Soprattutto, occupano una parte molto piccola del chip e svolgono il loro lavoro con un consumo fino a 100 volte inferiore rispetto ai due precedenti. E dove si trova? Ebbene, possiamo trovarlo in tutte le GPU e nelle CPU con grafica integrata.

HardwareriproduzioneCodificarisoluzione massimagradi
AMD RX6000NO8K 10 bit 60FPSLe RX 6400 e 6500 (XT) mancano di supporto.
AMD Ryzen 6000NO4K 10 bit 60FPS
AMDRyzen 7000NO4K 10 bit 60FPS
AMD RX70008K 10 bit 60FPS
Intel Core 11, 12 e 13NO4K 10 bit 60FPS
Intel ARC Alchimista8K 10 bit 60FPS
NVIDIA RTX 30NO8K 10 bit 60FPS
NVIDIA RTX 402 x 8K 10 bit 60FPS

Tuttavia, la codifica non è la stessa cosa della decodifica. Ecco perché ti abbiamo lasciato una tabella di varie CPU e GPU con queste unità in modo che tu conosca le loro capacità rispetto al codec AV1 che hanno i diversi prodotti disponibili per PC.

Storia del codec video AV1

Tablet Youtube

Come già saprete, sono comparsi molti codec video, alcuni con maggior successo di altri, ma quelli che sono stati i più utilizzati sono sempre stati i cosiddetti H.26x o meglio conosciuti come quelli creati dal consorzio MPEG, che hanno stato usato per codificare film commerciali. Purtroppo sono carichi di royalties che sebbene non paghiamo agli utenti, lo facciamo sotto forma di compenso per ogni dispositivo venduto in grado di riprodurli. L’altro problema è che si tratta di formati pensati per la riproduzione di film commerciali e, quindi, non tengono conto del funzionamento di alcuni media.

La gestazione di AV1 avviene nel 2015 quando l’Alliance for Open Media, d’ora in poi AOM, viene creata da aziende come Amazon, Apple, ARM, Cisco, Google, Huawei, Intel, Meta, Microsoft, Mozilla, Netflix, NVIDIA, Samsung e Tencent. L’obiettivo? La creazione di un codec video con specifiche uguali o superiori a H.265, ma completamente gratuito da usare, senza brevetti e, quindi, senza dover pagare royalties per il suo utilizzo in dispositivi e applicazioni software.

Il codec è stato terminato nella sua prima versione nel 2018 e il suo utilizzo è cresciuto fino all’ultima generazione di schede grafiche di NVIDIA e AMD, RTX 40 e RX 7000, nonché ARC Alchemist di Intel. Tutte queste schede grafiche hanno un codec video hardware

Cosa rende AV1 diverso dagli altri codec video?

Abbiamo già visto che ogni codec si basa sulla codifica o decodifica dei diversi blocchi di pixel che compongono i fotogrammi di ogni video. Tuttavia, diventare sempre più piccoli richiede algoritmi avanzati che a loro volta richiedono molta potenza di elaborazione. Come regola generale, più un dato è compresso rispetto alla sua dimensione originale, più complesso è l’algoritmo e maggiore è la potenza a cui fa riferimento.

previsione del movimento

Previsione AV1

La prima tecnica è la previsione del movimento, in cui le informazioni del fotogramma precedente vengono utilizzate per prevedere il fotogramma corrente. Non è la stessa tecnica utilizzata nei giochi in tecniche come Temporal AntiAliasing, DLSS 2 o FSR 2. Ma quasi, ciò che viene fatto è contrassegnare quale parte di ogni fotogramma non cambia da uno all’altro successivo e quale fanno il livello rispetto al precedente.

Questo perché nelle scene le inquadrature durano solitamente diversi secondi e sono, quindi, centinaia di fotogrammi con informazioni quasi identiche o con pochissima variabilità in termini di valore cromatico. Ciò consente di risparmiare notevoli quantità di informazioni quando si tratta di generare il file video e trasmetterlo, su Internet o su una rete locale.

trasformazione a blocchi

codifica AV1

L’altra tecnica che utilizza è quella di poter dividere i blocchi video in blocchi più piccoli, questo è fondamentale quando si tratta di utilizzare schede grafiche ad alta potenza e dobbiamo presumere che i componenti hardware specializzati nella codifica o decodifica video abbiano un limite sulla sua capacità. Quindi se parliamo di un gran numero di stream simultanei, ad alta risoluzione e con un alto frame rate al secondo, allora è possibile che il povero pezzo crolli e dobbiamo tirare i core che rendono quella grafica così bella in 3D .

Il problema arriva quando hai una GPU molto potente e scopri che non fa buon uso della sua potenza. La ragione? Gran parte del chip non fa nulla ed è qui che entra in gioco la trasformazione dei blocchi, che consente di dividere i blocchi (fino a 128 x 128 pixel) in blocchi più piccoli (fino a 4 x 4 pixel) in tempo reale.

In questo modo, la capacità delle schede grafiche di fascia alta viene utilizzata molto meglio. Ciò è estremamente utile nei sistemi di transcodifica professionali, così come nel cloud gaming, dove vengono utilizzate intere schede grafiche per generare i flussi video.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *