Rav1e 0.3 arriva con una maggiore velocità di codifica e altro ancora

Pochi giorni fa lo era ha rilasciato la nuova versione di Rav1e 0.3, che è un codificatore AV1 scritto in Rust e che è posizionato come uno ad alte prestazioni. Rav1e lo è progettato per coprire tutti i casi d'uso, sebbene nella sua forma attuale sia più adatto per i casi in cui libaom.

Supporta tutte le principali funzionalità di AV1, inclusi fotogrammi vnutrenne e codificati esternamente (intra e inter-frame) 64 × 64 superblocchi, 4: 2: 0, 4: 2: 2 e 4: 4: 4, 8 sottocampionamento colore, codifica profondità colore 10 e 12 bit, RDO (Velocity Distortion Optimization) ottimizzazione della distorsione, varie modalità per prevedere i cambiamenti tra i fotogrammi e rilevare le trasformazioni, controllare la velocità di flusso e rilevare il troncamento della scena.

Il formato AV1 è notevolmente superiore a H.264 e VP9 nelle capacità di compressione, ma a causa della complessità degli algoritmi che li implementano, richiede molto più tempo per la codifica (in termini di velocità di codifica, libaom è centinaia di volte dietro libvpx-vp9 e migliaia di volte dietro x264).

L'encoder rav1e fornisce 11 livelli di prestazioni, il più alto dei quali consente velocità vicine alla codifica in tempo reale. Il codificatore è disponibile sia come utilità della riga di comando che come libreria.

Cosa c'è di nuovo Rav1e 0.3?

Con il rilascio di questa nuova versione, una delle caratteristiche che risalta di più è che la modalità di codifica è stata migliorata, con cui è molto più veloce delle sue versioni precedenti.

a parte quello la dimensione dei binari è stata ridotta (sulla piattaforma x86_64 per Linux la libreria occupa circa 3 MB), con la quale il lavoro svolto è stato ottimizzato in modo migliore.

Per l'architettura x86_64, vengono implementate ulteriori ottimizzazioni utilizzando le istruzioni SIMD e l'uso dell'autovettorizzazione è esteso.

Un altro cambiamento importante è quello aggiunto il supporto per la build per la piattaforma wasm32-wasi (Interfaccia di sistema WebAssembly), nonché l'opzione "-S" (–switch-frame-interval) per determinare l'intervallo tra i frame di commutazione.

Tra gli altri cambiamenti che si distinguono di questa nuova versione di Rav1e 0.3:

  • Aggiunto filtro multi-thread per rimuovere gli artefatti di blocco dal video.
  • Si è lavorato per ridurre i tempi di assemblaggio di circa il 14%.
  • Si è lavorato per ridurre di 1/6 il numero di operazioni di allocazione della memoria.
  • In RDO (Rate Distortion Optimization), la logica è migliorata per sopprimere le distorsioni intraframe.
  • Alcune operazioni sono state convertite da calcoli aritmetici a virgola mobile a calcoli interi.
  • La qualità della codifica dell'1-2% è stata migliorata al secondo livello di velocità.
  • Aggiunto un nuovo filtro per prevedere la direzione del movimento (Intra edge).

Come installare rav1e su Ubuntu e derivati?

Per coloro che sono interessati a poter installare questo codificatore AV1 nel proprio sistema, dovrebbero saperlo attualmente rav1e è disponibile per essere compilato su Linux sebbene per Windows sia disponibile un exe.

In questo caso ci interessa poterlo installare in Ubuntu e nelle sue derivate, quindi per fare ciò, devono avere Rust installato sul proprio sistema.

Se non ce l'hai, quello che dovresti fare è apri un terminale sul tuo sistema (puoi farlo con la scorciatoia Ctrl + Alt + T) e in esso digiterai i seguenti comandi:

sudo apt install curl

curl https://sh.rustup.rs -sSf | sh

Successivamente dobbiamo solo digitare l'opzione 1 e verrà installata. Fatto ciò, configureremo l'ambiente per il compilatore Rust con:

source $HOME/.cargo/env

Ora per installare rav1e, digiteremo:

sudo apt -y install cargo git perl nasm cmake clang pkg-config

Cloniamo il codice rav1e:

git clone https://github.com/xiph/rav1e.git

mv rav1e rav1e-git

cd rav1e-git

E iniziamo con la compilation:

git submodule update –init

cmake aom_build/aom -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=0 -DENABLE_TESTS=0 -DENABLE_DOCS=0 -DCONFIG_LOWBITDEPTH=1

make -j$(nproc)

cargo build --release

cp target/

E pronto, puoi lavorare con questo codificatore.

Se vuoi conoscere l'utilizzo di rav1e puoi consultare il seguente collegamento.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.