Google rilascia il codec audio open source Lyra V2

Google ha introdotto il codec audio Lyra V2, che utilizza metodi di apprendimento automatico per ottenere la massima qualità vocale su canali di comunicazione molto lenti. La nuova versione presenta una nuova architettura di rete neurale, supporto per piattaforme aggiuntive, capacità di controllo del bitrate estese, prestazioni migliorate e una qualità audio superiore. L'implementazione di riferimento del codice è scritta in C++ ed è distribuita con licenza Apache 2.0.

In termini di qualità dei dati vocali trasmessi a bassa velocità, Lyra supera significativamente i codec tradizionali che utilizzano metodi di elaborazione digitale del segnale. Per ottenere una trasmissione vocale di alta qualità in condizioni di quantità limitata di informazioni trasmesse, oltre ai metodi convenzionali di compressione audio e conversione del segnale, Lyra utilizza un modello vocale basato su un sistema di apprendimento automatico, che consente di ricreare le informazioni mancanti in base alle caratteristiche tipiche del parlato.

Il codec include un codificatore e un decodificatore. L'algoritmo del codificatore si riduce all'estrazione dei parametri dei dati vocali ogni 20 millisecondi, alla loro compressione e alla loro trasmissione al destinatario tramite la rete con un bit rate da 3.2 kbps a 9.2 kbps. Dal lato del destinatario, il decodificatore utilizza un modello generativo per ricreare il segnale vocale originale in base ai parametri audio trasmessi, che includono spettrogrammi mel logaritmici che tengono conto delle caratteristiche dell'energia vocale in vari intervalli di frequenza e sono preparati tenendo conto del modello di percezione uditiva umana.

Lyra V2 utilizza un nuovo modello generativo basato sulla rete neurale convoluzionale SoundStream, che richiede un basso carico computazionale e consente la decodifica in tempo reale anche su sistemi a basso consumo. Il modello utilizzato per la generazione del suono è stato addestrato utilizzando diverse migliaia di ore di registrazioni vocali in oltre 90 lingue. Per eseguire il modello viene utilizzato TensorFlow Lite. Le prestazioni dell'implementazione proposta sono sufficienti per la codifica e la decodifica del parlato su smartphone di fascia bassa.

Oltre a utilizzare un diverso modello generativo, la nuova versione si distingue anche per l'inclusione di collegamenti con un quantizzatore RVQ (Residual Vector Quantizer) nell'architettura del codec, che viene eseguito sul lato mittente prima della trasmissione dei dati e sul lato ricevitore dopo la ricezione. Il quantizzatore converte i parametri in uscita dal codec in set di pacchetti, codificando le informazioni in relazione al bit rate selezionato. Per garantire diversi livelli di qualità, i quantizzatori sono disponibili per tre bit rate (3.2 kbps, 6 kbps e 9.2 kbps); maggiore è il bit rate, migliore è la qualità, ma maggiori sono i requisiti di larghezza di banda.

 Google rilascia il codec audio open source Lyra V2

La nuova architettura ha ridotto i ritardi di trasmissione del segnale da 100 a 20 millisecondi. A titolo di confronto, il codec Opus per WebRTC ha mostrato ritardi di 26.5 ms, 46.5 ms e 66.5 ms ai bitrate testati. Anche le prestazioni del codificatore e del decodificatore sono aumentate significativamente, fino a 5 volte più veloci rispetto alla versione precedente. Ad esempio, sullo smartphone Pixel 6 Pro, il nuovo codec codifica e decodifica un campione di 20 millisecondi in 0.57 ms, ovvero 35 volte più velocemente di quanto richiesto per la trasmissione in tempo reale.

Oltre alle prestazioni, siamo riusciti a ottenere un aumento della qualità del ripristino del suono: secondo la scala MUSHRA, la qualità del parlato a bitrate di 3.2 kbps, 6 kbps e 9.2 kbps quando si utilizza il codec Lyra V2 corrisponde a bitrate di 10 kbps, 13 kbps e 14 kbps quando si utilizza il codec Opus.

Fonte: opennet.ru