AOMedia Video 1 (AV1) è un codec video con licenza royalty-free e aperto pensato per la trasmissione video online (streaming).

L'AV1, la cui prima versione è stata pubblicata dall'Alliance for Open Media nel 2018, è pensato per essere il successore di VP9 ed è studiato per essere integrato nel contenitore WebM insieme al codec audio Opus, per poter essere usato nell'HTML5 video e nel WebRTC.

Storia Nel 2015 fu fondato l'Alliance for Open Media, consorzio no profit comprendente le industrie e organizzazioni di semiconduttori, fornitori video on demand, produttori di contenuti video, società di sviluppo software e i fornitori di browser web, riunitesi allo scopo di sviluppare degli standard video da sottoporre all'Internet Engineering Task Force per la standardizzazione e per competere con il Moving Picture Experts Group, creatore del formato HEVC. Il primo progetto del consorzio fu di implementare un formato video libero dalle royalty.

La prima versione 0.1.0 del codec di riferimento AV1 venne resa pubblica il 7 aprile 2016 insieme a nuovi strumenti di codifica testati, discussi e ripetuti nei gruppi di lavoro AOMedia. Quindi per la fine di ottobre 2017, data nella quale vigeva un blocco di diverse funzionalità software, era anche prevista la finalizzazione della prima versione. Dopo un rinvio al congelamento del formato bitstream, destinato per gennaio 2018, proseguì lo sviluppo di diverse funzionalità significative a causa nonché dei bug critici irrisolti, le ulteriori modifiche ai transform, alla previsione dei vettori di movimento, della sintassi e il completamento dell'analisi legale.

Il 25 giugno 2018 fu convalidata la prima versione 1.0.0 della specifica. L'8 gennaio 2019 AOMedia pubblicò la versione validata 1.0.0 con Errata 1 della specifica. Mozilla immediatamente iniziò con dei test ed integrò la prima implementazione del decoder libaom sul browser Firefox, alla versione 65 (gennaio 2019) e alla versione 67 (maggio 2019) esso fu sostituito con dav1d.

Il 21 gennaio 2021 AV1 fu incluso nello standard mail MIME col nome video/AV1, limitatamente per il Real-time Transport Protocol.

Il 9 novembre 2021 Netflix annunciò di aver iniziato lo streaming dei contenuti AV1 sui numerosi televisori con la decodifica di AV1.

YouTube iniziò le prime sperimentazioni dell'AV1 nel 2018. L'adozione è avvenuta in modo molto graduale, annunciando nel maggio 2023 il supporto per il live streaming 4K a 60 fps.

Nel luglio 2022 l'Unione Europea avviò ad un'indagine preliminare nei confronti dell'alleanza, in vista di segnalazioni di violazioni di brevetti, conclusa nel maggio 2023 senza l'adozione di misure.

Sempre a maggio 2023, la AOM ha annunciato che è in studio lo standard del codec successivo, l'AV2.

Obiettivi Lo sviluppo del codec AV1 costituisce una risposta ai consorzi delle grandi aziende del settore che stabiliscono degli standard proprietari che impongono le royalties per l'utilizzo: come ad esempio il più conosciuto H.265/HEVC sviluppato da MPEG, Video Coding Experts Group e ITU-T. Il minore bitrate contribuisce a ridurre la quantità di bandwidth globale richiesta per lo streaming video, la quale rappresenta una criticità delle infrastrutture di trasmissione: già alla costituzione dell'alleanza si prevedeva che il traffico internet globale sarebbe triplicato tra il 2017 e il 2022, ossia l'82% della larghezza globale di bandwidth. Al fine di ridurre l'impatto sulle infrastrutture di trasmissione, l'alleanza si è concentrata sullo sviluppo di nuovi formati video che definiscono lo standard delle prestazioni di compressione video. In un documento congiunto, tre Stati membri dell'UE affermano che i principali attori nel settore dei media (contenuti multimediali) rappresentino il 55% di traffico su Internet, un fattore chiave nella spinta all'adozione del formato AV1.

Fu progettato per essere integrato nel contenitore WebM insieme al codec audio Opus, per essere usato nell'HTML5 video e offrire una codifica video con il supporto alle risoluzioni fino a 8K pixel orizzontali, offre una maggiore efficienza di compressione rispetto ai codec esistenti, come H.264, HEVC e VP9, riducendo la quantità di dati necessari per trasmettere un video di alta qualità.

Caratteristiche tecniche AV1 usa una serie di tecniche avanzate di codifica come la predizione intra-frame, la trasformazione adattiva, il filtraggio in loop, il controllo del tasso di errore e il super-resolution. Comprende il filtro di Wiener, loop restoration e guided filter ed infine il supporto alla funzionalità di grain synth - che nei contenuti compressi AV1 questo rumore può essere generato in overlay dal decoder, in base a un parametro che indica la quantità di rumore da aggiungere e non è quindi codificato insieme al contenuto per evitare un eccesso di artefatti. Un'altra caratteristica principale è il deringing avanzato, che viene utilizzato per rimuovere gli artefatti di ringing.

Profili e livelli AV1 definisce 3 profili per i decoder: Main, High e Professional.

Il profilo Main consente una profondità di 8 o 10 bit per campione con campionamento cromatico 4:0:0 (scala di grigi) e 4:2:0. Il profilo High aggiunge il supporto per il campionamento cromatico 4:4:4. Il profilo Professional estende le funzionalità al supporto completo per il sottocampionamento della crominanza 4:0:0, 4:2:0, 4:2:2 e 4:4:4 a profondità di colore di 8, 10 e 12 bit.

Livelli AV1 definisce i livelli per i decoder con variabili massime per livelli compresi tra 2.0 e 6.3. Le risoluzioni di esempio sarebbero 426×240 a 30 fps per il livello 2.0, 854×480 a 30 fps per il livello 3.0, 1920×1080 a 30 fps per il livello 4.0, 3840×2160 a 60 fps per il livello 5.1, 3840 × 2160 a 120 fps per il livello 5.2 e 5.3 e 7680×4320 a 120 fps per il livello 6.2 Il livello 7 non è stato ancora definito.

Formati contenitore supportati

Standardarizzati Formato file multimediale di base ISO: la specifica del contenitore ISOBMFF di AOMedia fu la prima ad essere completata e la prima a essere adottata. Questo è il formato utilizzato da YouTube.

In elaborazione Matroska la versione 1 della specifica Matroska Containers è stata pubblicata a settembre 2018. Tuttavia, si può dire che le modifiche sostanziali siano continuate in ottobre e una nuova versione, o finalizzazione, deve ancora essere annunciata da dicembre.

Standard incompiuti Flusso di trasporto MPEG.

Non standardizzati WebM: Per una questione di forma, AV1 non è stato approvato nel sottoinsieme Matroska, noto come WebM nella fine del 2019.

On2 IVF: questo formato è stato ereditato dalla prima versione pubblica di VP8: dove fungeva da semplice contenitore di sviluppo. Rav1e supporta anche questo formato.

Pre-standard WebM: libaom ha offerto il supporto iniziale per WebM, prima che fosse specificata la containerizzazione Matroska, ma è stata modificata per conformarsi ad essa.

Tecnologia interna

Partizione Qui il contenuto del frame è suddiviso in blocchi alternati adiacenti della stessa dimensione, chiamati superblocchi. Simile al concetto di macroblocco, un superblocco è quadrato e può avere una dimensione di 128×128 o di 64×64 pixel. I superblocchi possono essere divisi in blocchi più piccoli in base a diverse modalità di partizione. Il modello di suddivisione a quattro vie è l'unico modello in grado di suddividere le partizioni in modo ricorsivo. Ciò consente la divisione dei superblocchi dei blocchi grandi a partizioni piccole come 4x4 pixel.

La modalità di partizione a forma di T è una nuova funzione sviluppata dal VP10, che suddivide il superblocco orizzontalmente o verticalmente nelle partizioni a strisce 4:1 e 1:4. L'utilizzo della modalità di partizione è limitato dalla dimensione del superblocco. Né il superblocco 128 × 128 né il superblocco 8 × 8, possono utilizzare la suddivisione della partizione a strisce 4: 1 o 1: 4, ma solo la segmentazione a forma di T del superblocco 8 × 8 non può essere adoperata.

Utilizzando due previsioni indipendenti sulle parti di diversi spazi di blocco, è possibile utilizzare delle linee di transizione inclinate lisce (previsioni di partizione a cuneo). Ciò consente di segmentare gli oggetti con precisione senza le varie linee di passaggio lungo i contorni quadrati e consente un parallelismo maggiore del codificatore basato su dipendenze prevedibili tra i ranghi delle tessere.

Previsione AV1 esegue l'elaborazione interna in una precisione maggiore (frequenza di campionamento di 10 o 12 bit), con conseguente miglioramento delle prestazioni della compressione grazie a dei minori errori di arrotondamento nell'immagine dovuti alla maggiore risoluzione.

Le previsioni possono essere combinate in delle previsioni composte in un modo più avanzato in un blocco, comprese le previsioni di partizione a forma di cuneo lisce e nitide in diverse direzioni e maschere implicite basate sull'utilizzo di due predittori per esplorare la differenza tra i due, Questo sarà meglio di facendo la media. Ciò consente l'uso di due previsioni inter o una combinazione di previsioni interframe ed intra all'interno dello stesso superblocco.

Nella previsione inter-frame, un frame può accedere a 6 degli 8 frame buffer disponibili invece di 3, e può essere una previsione bidirezionale allo stesso tempo, ovvero la previsione combinata della previsione inter-frame e intra-frame:

Gli strumenti di analisi del movimento globale in AV1 vengono utilizzati per ridurre le informazioni ridondanti nei vettori di movimento identificando i modelli generati dal movimento della telecamera; come rumore è un'informazione ridondante: ciò consente ciò che è stato tentato ma non raggiunto in formati precedenti come MPEG-4 ASP nonostante un nuovo approccio al 3D. Il frame fornito nel bitstream ha una serie di parametri di curvatura e i parametri della regione implicita possono essere calcolati dai blocchi circostanti e utilizzati nel blocco. I fotogrammi di commutazione (S-frame) sono un nuovo tipo di interframe che può essere previsto utilizzando un frame di riferimento decodificato a risoluzione più elevata dalla stessa immagine, per consentire il passaggio a risoluzioni inferiori, nel caso di streaming di bit adattivo senza avviare con un frame completo clip immagine fotogramma chiave.

Previsione intraframe Intra Prediction usa le informazioni disponibili nel fotogramma corrente per prevedere i pixel del blocco di destinazione. Nella maggior parte dei casi la previsione intra viene costruita dai pixel vicini sopra la sinistra, del blocco target da prevedere. Il predittore DC effettua previsioni calcolando la media dei pixel sinistro e superiore del blocco.

In base all'angolo specificato, il predittore di direzione può estrapolare i pixel vicini. In AV1 comincia in un angolo di 45 gradi, con uno spazio di 22,5 gradi ciascuna volta, ed aumenta gradualmente fino a 203 gradi; con un totale di otto modalità. Per ogni modalità di direzione al blocco più grande possono essere assegnati 3 gradi ciascuno, su un totale di 6 serie di segnali di offset, tre serie sopra e tre serie sotto il protagonista: per un totale di 56 angoli.

Tra questi, il predittore di movimento reale è sostituito dal predittore di Paeth, che distinguerà la differenza tra il pixel noto nell'angolo in alto a sinistra e il pixel a sinistra e sopra il nuovo pixel, quindi selezionerà il pixel nella direzione di il gradiente più piccolo come predittore. Inoltre il predittore della tavolozza potrebbe essere utilizzato per i vari blocchi con meno colori e fino a 8 colori, come alcuni contenuti dello schermo del computer, e il predittore del blocco cromatico basato sui campioni del piano di luminanza può essere utilizzato per sfruttare la correlazione tra luminanza e colore informazioni.

Per ridurre i bordi visibili lungo i confini dei blocchi predetti, è possibile utilizzare le tecniche di Overlapping Block Motion Compensation (OBMC) per sovrapporre blocchi adiacenti da 2 a 32 pixel e fondere le parti sovrapposte.